JP4862553B2 - Update information distribution system, update information distribution method, and update information distribution program - Google Patents
Update information distribution system, update information distribution method, and update information distribution program Download PDFInfo
- Publication number
- JP4862553B2 JP4862553B2 JP2006222263A JP2006222263A JP4862553B2 JP 4862553 B2 JP4862553 B2 JP 4862553B2 JP 2006222263 A JP2006222263 A JP 2006222263A JP 2006222263 A JP2006222263 A JP 2006222263A JP 4862553 B2 JP4862553 B2 JP 4862553B2
- Authority
- JP
- Japan
- Prior art keywords
- update information
- distribution
- information
- client
- matrix
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims description 34
- 239000011159 matrix material Substances 0.000 claims description 142
- 230000005540 biological transmission Effects 0.000 claims description 116
- 230000002776 aggregation Effects 0.000 claims description 72
- 238000004220 aggregation Methods 0.000 claims description 72
- 230000010365 information processing Effects 0.000 claims description 29
- 238000012545 processing Methods 0.000 claims description 26
- 230000008569 process Effects 0.000 claims description 12
- 230000004931 aggregating effect Effects 0.000 claims description 9
- 239000000284 extract Substances 0.000 claims description 7
- 238000002716 delivery method Methods 0.000 claims 2
- 239000000470 constituent Substances 0.000 claims 1
- 238000010586 diagram Methods 0.000 description 13
- 238000012423 maintenance Methods 0.000 description 12
- 238000004891 communication Methods 0.000 description 11
- 238000007726 management method Methods 0.000 description 5
- 230000008859 change Effects 0.000 description 3
- 238000001914 filtration Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- 230000008901 benefit Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 239000002131 composite material Substances 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 238000011426 transformation method Methods 0.000 description 1
Images
Landscapes
- Information Transfer Between Computers (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
本発明は、更新情報配信システム、更新情報配信方法、および更新情報配信プログラムに関し、特にウェブページの更新情報を配信する更新情報配信システム、更新情報配信方法、および更新情報配信プログラムに関する。 The present invention relates to an update information distribution system, an update information distribution method, and an update information distribution program, and more particularly to an update information distribution system, an update information distribution method, and an update information distribution program for distributing update information of a web page.
近年、ウェブサーバは、情報が更新されたことを示すRSS(RDF(Resource Description Framework) Site Summary、Rich Site Summary、またはReally Sinple Syndication)と呼ばれる更新情報をクライアント端末に配信して、クライアント端末の利用者に短時間でウェブサーバの情報が更新されたことを知らせる。 In recent years, a web server distributes update information called RSS (RDF (Resource Description Framework) Site Summary, Rich Site Summary, or Really Simple Syndication) indicating that information has been updated to the client terminal. Inform the user that the web server information has been updated in a short time.
図10は、更新情報の配信経路を示す説明図である。図10に示すように、更新情報発信サーバ100が発信した更新情報は、通信ネットワーク700を介して更新情報受信クライアント200に配信される。
FIG. 10 is an explanatory diagram showing a distribution route of update information. As shown in FIG. 10, the update information transmitted by the update
図11は、更新情報発信サーバ100と更新情報受信クライアント200との接続を示す説明図である。図11に示すように、更新情報は、ウェブページの配信経路と同様に、更新情報発信サーバ100から更新情報受信クライアント200に直接配信される。しかし、この基本的な接続形態による更新情報の配信の効率は低い。
FIG. 11 is an explanatory diagram showing the connection between the update
図12は、更新情報配信手段300を用いた従来のシステムを示す説明図である。図12に示すように、更新情報発信サーバ100が発信した更新情報は、更新情報配信手段300を介して更新情報受信クライアント200に配信される。このようなシステムには、アグリゲータ型の更新情報配信手段を持つシステムと、ピアツーピア(Peer−to−Peer)型の更新情報配信手段を持つシステムとがある。非特許文献1には、ピアツーピア型の更新情報配信手段を持つ従来のシステムが記載されている。
FIG. 12 is an explanatory diagram showing a conventional system using the update information distribution means 300. As shown in FIG. 12, the update information transmitted by the update
まず、アグリゲータ型の更新情報配信手段を持つ従来のシステムについて説明する。アグリゲータ型の更新情報配信手段を持つ従来のシステムは、更新情報配信手段が、更新情報加工手段と、更新情報再発信手段とを有する。 First, a conventional system having an aggregator type update information distribution means will be described. In a conventional system having an aggregator-type update information distribution unit, the update information distribution unit includes an update information processing unit and an update information retransmitting unit.
1つまたは複数の更新情報発信サーバ100が更新情報を発信した場合に、更新情報加工手段は、それらの更新情報を1つにまとめる。更新情報再発信手段は、まとめられた更新情報を、すべての更新情報受信クライアント200にユニキャストで配信する。
When one or a plurality of update
次に、ピアツーピア型の更新情報配信手段を持つ従来のシステムについて説明する。ピアツーピア型の更新情報配信手段を持つ従来のシステムは、アグリゲータ型の更新情報配信手段を持つシステムの構成に加えて、配信ツリー作成手段を含む。そして、ピアツーピア型の更新情報配信手段を持つシステムは、アグリゲータ型の更新情報配信手段を持つ従来のシステムの動作に加えて、次の動作を行う。 Next, a conventional system having peer-to-peer update information distribution means will be described. A conventional system having a peer-to-peer type update information distribution unit includes a distribution tree creation unit in addition to the configuration of the system having an aggregator type update information distribution unit. The system having the peer-to-peer type update information distribution means performs the following operation in addition to the operation of the conventional system having the aggregator type update information distribution means.
配信ツリー作成手段は、更新情報受信クライアントの一部または全部を含むクライアント群をツリー構造に構成した配信ツリーを作成する。図13は、配信ツリーの一例を示す説明図である。更新情報再発信手段は、まとめられた更新情報を、配信ツリーの頂点の更新情報受信クライアント200に配信する。配信ツリーを構成する各更新情報受信クライアント200が連鎖的に下位の更新情報受信クライアント200に更新情報を配信することにより、更新情報は、すべての更新情報受信クライアント200に配信される。
The distribution tree creating means creates a distribution tree in which a client group including part or all of the update information receiving clients is configured in a tree structure. FIG. 13 is an explanatory diagram illustrating an example of a distribution tree. The update information retransmitting means distributes the collected update information to the update
特許文献1には、1つ以上のウェブサイトに繰り返しアクセスし、そのウェブサイトが更新された場合に、更新されたことを他のコンピュータに通知する更新通知装置が記載されている。 Patent Document 1 describes an update notification device that repeatedly accesses one or more websites and notifies other computers that the website has been updated when the website is updated.
特許文献2には、ウェブサイトを監視し、ウェブサイトが提供する情報が更新された場合に、更新された情報を取得してユーザに配信する情報取得システムが記載されている。 Patent Document 2 describes an information acquisition system that monitors a website and acquires updated information and distributes it to a user when information provided by the website is updated.
特許文献3には、ウェブサイトが提供する文書が更新された場合に、更新履歴を生成する更新履歴生成装置が記載されている。 Patent Document 3 describes an update history generation device that generates an update history when a document provided by a website is updated.
特許文献4には、コンテンツを配信するサーバと、コンテンツを受信するクライアント装置とでコンテンツ配信ツリーを形成するコンテンツ配信方法が記載されている。 Patent Document 4 describes a content distribution method in which a content distribution tree is formed by a server that distributes content and a client device that receives the content.
特許文献5には、サーバから受信した情報の形式および書式に応じたアプリケーションソフトウェアに情報を分配するクライアントが記載されている。 Patent Document 5 describes a client that distributes information to application software according to the format and format of information received from a server.
上述したアグリゲータ型の更新情報配信手段を持つ従来のシステム、およびピアツーピア型の更新情報配信手段を持つ従来のシステムは、図11に示す接続形態と比較すると、配信の効率は向上している。具体的には、更新情報発信サーバ100の配信負荷Cを更新情報を発信する頻度Fと配信先の数Nとの積とすると、図12に示す最も基本的な接続形態では、配信負荷C=F×Nであるが、上述したアグリゲータ型の更新情報配信手段を持つ従来のシステム、およびピアツーピア型の更新情報配信手段を持つ従来のシステムは、配信負荷C=F×1である。
The conventional system having the above-described aggregator-type update information distribution means and the conventional system having the peer-to-peer update information distribution means have improved distribution efficiency compared to the connection form shown in FIG. Specifically, assuming that the distribution load C of the update
しかし、上述したアグリゲータ型の更新情報配信手段を持つ従来のシステム、およびピアツーピア型の更新情報配信手段を持つ従来のシステムには以下に示す問題がある。第1の問題点は、更新情報発信サーバ100や更新情報受信クライアント200の数が増えると、更新情報配信手段300の負荷が増大することである。その理由について説明する。
However, the conventional system having the above-described aggregator-type update information distribution means and the conventional system having the peer-to-peer type update information distribution means have the following problems. The first problem is that the load on the update
まず、上述したアグリゲータ型の更新情報配信手段を持つ従来のシステムの更新情報配信手段300において、更新情報加工手段301は、すべての更新情報発信サーバ100から配信される更新情報をまとめる処理を行う。ここで、更新情報を受信する頻度をF、一つの更新情報を処理する負荷をP、更新情報発信サーバ100の数をMとすると、更新情報加工手段301の処理負荷Dは、D=F×P×Mである。従って、特に更新情報を受信する頻度Fの値が大きい場合に、更新情報発信サーバ100の数Mの値が大きいと、更新情報配信手段300が含む更新情報加工手段301の加工処理の負荷が重くなる。
First, in the update
また、更新情報を再発信する頻度をF’、更新情報受信クライアント200の数をNとすると、更新情報再発信手段302の配信負荷C’は、C’=F’×Nである。従って、特に更新情報を再発信する頻度F’の値が大きい場合に、更新情報受信クライアント200の数Nの値が大きいと、更新情報配信手段300が含む更新情報再発信手段302の再発信処理の負荷が重くなる。
Also, assuming that the frequency of retransmitting update information is F ′ and the number of update
次に、上述したピアツーピア型の更新情報配信手段を持つ従来のシステムの更新情報配信手段300において、配信ツリー作成手段303は、それぞれの更新情報発信サーバ100に対応した配信ツリーを作成する。作成される配信ツリーの数は更新情報発信サーバ100の数Mと同じである。そして、配信ツリーは、クライアント端末の参加時や離脱時に再構築される必要があり、クライアント端末の参加や離脱を検知するために、クライアント端末間で定期的な存在確認を行うことが必要である。この再構築や存在確認には通信が伴い、配信ツリーの維持負荷になる。配信ツリーあたりの維持負荷をGとすると、配信ツリーの総維持負荷Eは、E=G×Mである。従って、更新情報発信サーバ100の数Mの値が大きいと、配信ツリー作成手段303の維持処理の負荷が重くなる。
Next, in the update
第2の問題点は、特に、ピアツーピア型の更新情報配信手段300において、更新情報受信クライアント200が購読(更新情報を受信することをいう。)を登録していない更新情報発信サーバ100の更新情報を、その更新情報受信クライアント200に容易に配信する方法がないことである。その理由は、ピアツーピア型の更新情報配信手段300の場合は、更新情報は配信ツリー作成手段303が作成した配信ツリーによって配信されるため、その配信ツリーを構成しているクライアント以外には更新情報は配信されないからである。
The second problem is, in particular, update information of the update
特許文献1に記載されている更新通知装置には、アクセスするウェブサイトの数や、更新されたことを通知するコンピュータの数が多い場合に、負荷が重くなるという問題がある。 The update notification device described in Patent Document 1 has a problem that the load becomes heavy when the number of websites to be accessed and the number of computers that notify the update are large.
特許文献2に記載されている情報取得システムには、監視するウェブサイトの数や、情報を配信するユーザの数が多い場合に、負荷が重くなるという問題がある。特許文献3に記載されている更新履歴生成装置には、監視するウェブサイトの数が多い場合に、負荷が重くなるという問題がある。特許文献4に記載されているコンテンツ配信方法には、コンテンツを配信するサーバの数が多い場合に、コンテンツ配信ツリーの維持処理の負荷が重くなるという問題がある。 The information acquisition system described in Patent Document 2 has a problem that the load increases when the number of websites to be monitored and the number of users who distribute information are large. The update history generation device described in Patent Document 3 has a problem that the load increases when the number of websites to be monitored is large. The content distribution method described in Patent Document 4 has a problem that the load of the content distribution tree maintenance process becomes heavy when the number of servers that distribute content is large.
そこで、本発明は、更新情報を発信するサーバや、更新情報を受信するクライアント端末の数が増えた場合でも、更新情報を配信するコンピュータの負荷を分散することができる更新情報配信システム、更新情報配信方法、および更新情報配信プログラムを提供することを目的とする。 Therefore, the present invention provides an update information distribution system and update information that can distribute the load of a computer that distributes update information even when the number of servers that transmit update information and the number of client terminals that receive update information increases. It is an object to provide a distribution method and an update information distribution program.
また、本発明は、更新情報を受信するクライアント端末が購読を登録していないサーバの更新情報も、そのクライアント端末に配信することができる更新情報配信システム、更新情報配信方法、および更新情報配信プログラムを提供することも目的とする。 The present invention also provides an update information distribution system, an update information distribution method, and an update information distribution program that can also distribute update information of a server to which the client terminal that receives the update information has not registered a subscription. It is also intended to provide.
本発明による更新情報配信システムは、ウェブサーバおよびクライアント端末に接続される更新情報配信システムであって、ウェブサーバから、ウェブサーバが提供する情報が更新されたことを示す更新情報を受信して、更新情報をクライアント端末に配信する更新情報配信システムであって、更新情報の送信元と配信先とを集約して示す集約情報を記憶する集約情報記憶手段と、複数のウェブサーバから集約情報にもとづいて送信された更新情報を受信して、その更新情報を加工した情報をクライアント端末に配信する複数の更新情報配信手段と、更新情報の配信先のクライアント端末とその更新情報の送信元のウェブサーバとの関係をマトリックス形式で示す登録状況から、そのマトリックスの行と列とをそれぞれ入れ替えたマトリックスを生成することにより、その送信元の集合と配信先の集合との対に集約した集約情報を生成し、生成した集約情報を集約情報記憶手段に格納するサーバクライアント接続集約手段とを備え、更新情報配信手段が、受信した更新情報を加工する更新情報加工手段と、更新情報加工手段が加工した更新情報を集約情報が示す配信先に配信する更新情報再発信手段とを含むことを特徴とする。 An update information distribution system according to the present invention is an update information distribution system connected to a web server and a client terminal, and receives update information indicating that information provided by the web server has been updated from the web server, An update information distribution system for distributing update information to client terminals, based on aggregate information from a plurality of web servers and aggregate information storage means for storing aggregate information indicating the source and distribution destination of the update information. A plurality of update information distribution means for receiving the update information transmitted and distributing the processed information to the client terminal, a client terminal to which the update information is distributed, and a web server from which the update information is transmitted Matrix that replaces each row and column of the matrix from the registration status that shows the relationship between A server client connection aggregating unit that generates aggregated information that is aggregated into a pair of a set of transmission sources and a set of distribution destinations, and stores the generated aggregated information in an aggregated information storage unit. information distribution means, characterized in that it comprises updating information processing means for processing the received update information, the update information recall means updates the processing means delivers to the destination indicated by the aggregated information processing update information .
サーバクライアント接続集約手段が、マトリックスの任意の行を1つ選択し、選択した行と距離が近い所定の数の行を抜き出して、抜き出した行を選択した行の直後に挿入してマトリックスの行を入れ替え、マトリックスの任意の列を1つ選択し、選択した列と距離が近い所定の数の列を抜き出して、抜き出した列を選択した列の直後に挿入して、マトリックスの列を入れ替えてもよい。 The server client connection aggregation means selects an arbitrary row of the matrix, extracts a predetermined number of rows close to the selected row, and inserts the extracted rows immediately after the selected row. , Select an arbitrary column of the matrix, extract a predetermined number of columns that are close to the selected column, insert the extracted columns immediately after the selected column, and replace the columns of the matrix Also good.
更新情報配信システムが、更新情報の配信経路であって、更新情報の配信先を構成要素とするツリー構造の配信経路である配信ツリーを、集約情報にもとづいて配信先の集合毎に作成する配信ツリー作成手段を含み、更新情報再発信手段は、配信ツリー作成手段が作成した配信ツリーの頂点のクライアント端末に更新情報加工手段が加工した更新情報を配信してもよい。 Update information distribution system, a distribution route of the update information, the distribution tree is a distribution route of the tree structure as components delivery destination update information is created for each set of destination on the basis of the aggregated information delivery The update information retransmitting means may include the tree creation means, and the update information processed by the update information processing means may be distributed to the client terminal at the apex of the distribution tree created by the distribution tree creation means.
更新情報配信システムが、集約情報にもとづいて、送信元の集合と配信先の集合との対ごとに、ウェブサーバが更新情報を送信する更新情報配信手段を決定する更新情報配信手段割当手段を備え、サーバクライアント接続集約手段は、ウェブサーバが更新情報を送信する送信先の更新情報配信手段の数が、クライアント端末に登録されている更新情報の発信元のウェブサーバの数、およびウェブサーバに登録されている更新情報の配信先のクライアント端末の数よりも少ない数になるように更新情報の登録状況を集約してもよい。 Update information distribution system, based on the aggregated information, for each pair of the set of destination and the set of source comprises update information distribution unit allocating means for determining the update information distribution means for the web server sends update information The server client connection aggregating means is configured such that the number of update information distribution means of transmission destinations to which the web server transmits update information is registered in the number of web servers from which the update information is registered in the client terminal and the web server. The update information registration status may be aggregated so that the number is smaller than the number of client terminals to which update information is distributed.
本発明による更新情報配信方法は、ウェブサーバおよびクライアント端末に接続され、そのウェブサーバから、ウェブサーバが提供する情報が更新されたことを示す更新情報を受信して、更新情報をクライアント端末に配信する更新情報配信システムによる更新情報配信方法であって、更新情報配信システムの集約情報記憶手段が、更新情報の送信元と配信先とを集約して示す集約情報を記憶し、更新情報配信システムが、更新情報の配信先のクライアント端末とその更新情報の送信元のウェブサーバとの関係をマトリックス形式で示す登録状況から、そのマトリックスの行と列とをそれぞれ入れ替えたマトリックスを生成することにより、その送信元の集合と配信先の集合との対に集約した集約情報を生成し、生成した集約情報を集約情報記憶手段に格納し、更新情報配信システムが、複数のウェブサーバから集約情報にもとづいて送信された更新情報を受信してその更新情報を加工し、加工された更新情報を集約情報が示す配信先に配信することを特徴とする。 An update information distribution method according to the present invention is connected to a web server and a client terminal, receives update information indicating that information provided by the web server has been updated from the web server, and distributes the update information to the client terminal. An update information distribution method by the update information distribution system, wherein the aggregate information storage means of the update information distribution system stores aggregate information indicating the source and distribution destination of the update information , and the update information distribution system By generating a matrix in which the rows and columns of the matrix are respectively replaced from the registration status indicating the relationship between the client terminal to which the update information is distributed and the web server that is the transmission source of the update information in a matrix format, Aggregated information that is aggregated into a pair of a source set and a destination set is generated, and the generated aggregate information is aggregated information. Stored in憶means, update information distribution system, it receives update information transmitted on the basis of the aggregated information from the plurality of web servers and processing the update information, the delivery destination indicated by aggregating information processed updated information It is characterized by being delivered to.
本発明による更新情報配信プログラムは、ウェブサーバおよびクライアント端末に接続されるコンピュータに、ウェブサーバから、ウェブサーバが提供する情報が更新されたことを示す更新情報を受信させ、更新情報をクライアント端末に配信させるための更新情報配信プログラムであって、コンピュータに、更新情報の送信元と配信先とを集約して示す集約情報にもとづいて複数のウェブサーバから送信された更新情報を受信して、その更新情報を加工した情報をクライアント端末に配信する更新情報配信処理と、更新情報の配信先のクライアント端末とその更新情報の送信元のウェブサーバとの関係をマトリックス形式で示す登録状況から、そのマトリックスの行と列とをそれぞれ入れ替えたマトリックスを生成することにより、その送信元の集合と配信先の集合との対に集約した集約情報を生成し、生成した集約情報を集約情報記憶手段に格納するサーバクライアント接続集約処理とを実行させ、更新情報配信処理で、受信した更新情報を加工する更新情報加工処理と、更新情報加工処理で加工した更新情報を集約情報が示す配信先に配信する更新情報再発信処理とを実行させることを特徴とする。 An update information distribution program according to the present invention causes a computer connected to a web server and a client terminal to receive update information indicating that information provided by the web server has been updated from the web server, and sends the update information to the client terminal. and an update information distribution program to be delivered, the computer receives the update information transmitted on the basis of the aggregated information showing aggregates the source of update information and distribution destination from a plurality of web servers, their Update information distribution processing that distributes information that is processed update information to the client terminal, and the registration status that shows the relationship between the client terminal that is the update information distribution destination and the web server that is the transmission source of the update information in a matrix format, the matrix By generating a matrix with each row and column swapped, Generates aggregated information obtained by aggregating the pair of the original set and the destination set, the generated aggregated information to execute a server client connection aggregation processing to be stored in the aggregation information storage means, the update information distribution process, the received update information processing for processing the update information, characterized in that to execute the update information recall process for delivering processed updated information in the update information processing to the delivery destination indicated by the aggregation information.
本発明によれば、集約情報にもとづいて更新情報を加工し、加工した更新情報を、集約情報にもとづいてクライアント端末に配信するので、更新情報を発信するウェブサーバや、更新情報を受信するクライアント端末の数が増えた場合でも、更新情報を配信するコンピュータの負荷を分散することができる。 According to the present invention, the update information is processed based on the aggregate information, and the processed update information is distributed to the client terminal based on the aggregate information. Therefore, the web server that transmits the update information or the client that receives the update information Even when the number of terminals increases, the load on the computer that distributes update information can be distributed.
また、本発明によれば、集約された登録状況に含まれるクライアント端末であって、更新情報の購読を登録していないクライアント端末に、更新情報を配信することができる。 Also, according to the present invention, update information can be distributed to client terminals that are included in the aggregated registration status and that have not registered for subscription of update information.
サーバクライアント接続集約手段が、更新情報の配信先のクライアント端末と更新情報の配信元のウェブサーバとのマトリックス形式で示される更新情報の登録状況を、マトリックスの行と列とをそれぞれ入れ替えて集約し、集約情報を示すマトリックスを生成するように構成されている場合には、集約情報を容易に生成することができる。 The server client connection aggregation means aggregates the update information registration status shown in matrix format between the update information distribution destination client terminal and the update information distribution source web server by exchanging the matrix rows and columns respectively. In the case where the matrix indicating the aggregate information is generated, the aggregate information can be easily generated.
集約情報にもとづいて配信先の集合毎に配信ツリーを作成する配信ツリー作成手段を含むように構成されている場合には、配信ツリーの数を少なくして、配信ツリーの維持負荷を軽減することができる。 When configured to include a distribution tree creation means for creating a distribution tree for each set of distribution destinations based on aggregated information, reduce the number of distribution trees and reduce the maintenance load on the distribution tree Can do.
実施の形態1.
本発明の第1の実施の形態について、図面を参照して説明する。図1は、本発明の更新情報配信システムの第1の実施の形態の構成例を示すブロック図である。
Embodiment 1 FIG.
A first embodiment of the present invention will be described with reference to the drawings. FIG. 1 is a block diagram showing a configuration example of a first embodiment of an update information distribution system of the present invention.
図1に示す更新情報配信システムは、更新情報発信サーバ(ウェブサーバ)100が発信した更新情報を受信して、更新情報を更新情報受信クライアント(クライアント端末)200に配信する更新情報配信手段300と、集約情報記憶手段400と、サーバクライアント接続集約手段500と、更新情報配信手段割当手段600とを含む。更新情報配信手段300は、サーバ等のコンピュータであり、更新情報加工手段301と、更新情報再発信手段302とを含む。サーバクライアント接続集約手段500および更新情報配信手段割当手段600は、サーバ等のコンピュータである。なお、更新情報配信システムは、複数の更新情報配信手段300を含む。
The update information distribution system shown in FIG. 1 includes update information distribution means 300 that receives update information transmitted from an update information transmission server (web server) 100 and distributes the update information to an update information reception client (client terminal) 200. , An aggregate
更新情報加工手段301は、1つまたは複数の更新情報発信サーバ100から更新情報を受け取り、受け取った更新情報のフォーマットの変更や、フィルタリング、複数の更新情報を1つにまとめるなどの処理を行い、更新情報を加工する。
The update information processing means 301 receives update information from one or a plurality of update
更新情報加工手段301が行う更新情報の加工について説明する。更新情報加工手段301が行う更新情報のフォーマットの変更とは、例えば、RSS version1.0のフォーマットのXML(Extensible Markup Language)文書をパース(構文解析)し、ノード名や名前空間を置き換えることで、RSS version2.0のフォーマットのXML文書に変換することをいう。また、更新情報のフィルタリングとは、例えば、複数のエントリ(例えば、ウェブログにおける記事)を含むRSS形式の更新情報から、あるキーワードを含むエントリのみを抜き出すことをいう。また、複数の更新情報を1つにまとめるとは、複数の更新情報にもとづいて、当該複数の更新情報が含む情報を含む1つの更新情報を生成することをいう。例えば、時刻情報が付与された複数のエントリを含む複数のRSS形式の更新情報を、時刻情報にもとづいてエントリを並べ替えて、全てのエントリが時刻順に並んだ1つのRSS形式の更新情報にまとめることをいう。
The update information processing performed by the update
更新情報再発信手段302は、更新情報加工手段301が加工した更新情報を、1つまたは複数の更新情報受信クライアント200に配信する。
The update information retransmitting means 302 distributes the update information processed by the update information processing means 301 to one or a plurality of update
サーバクライアント接続集約手段500は、それぞれの更新情報発信サーバ100からそれぞれの更新情報受信クライアント200への配信状況を示すマトリックスにもとづいて、配信状況を集約したマトリックスを生成し、生成したマトリックスを集約情報記憶手段400に格納する。更新情報発信サーバ100、および更新情報再発信手段302は、集約情報記憶手段400に格納されたマトリックスを取得する。
The server client connection aggregation means 500 generates a matrix in which the distribution status is aggregated based on the matrix indicating the distribution status from each update
配信状況について説明する。配信状況とは、更新情報が、更新情報発信サーバ100から更新情報受信クライアント200に配信される状況をいう。図2は、それぞれの更新情報発信サーバ100からそれぞれの更新情報受信クライアント200への更新情報の配信状況を示すマトリックスの一例を示す説明図である。
The distribution status will be described. The distribution status refers to a status in which update information is distributed from the update
図2に示すマトリックスは、各更新情報発信サーバを列とし、各更新情報受信クライアントを行として、各更新情報発信サーバが発信した更新情報が各更新情報受信クライアントに配信されるか否かを要素として表している。具体的には、図2に示す例では、1列目のサーバAは、1行目のクライアントUに更新情報を配信しているので、マトリックスの1行1列の要素を○で表している。また、2列目のサーバBは、4行目のクライアントXに更新情報を配信していないので、マトリックスの4行2列の要素を×で表している。 The matrix shown in FIG. 2 indicates whether update information transmitted from each update information transmission server is distributed to each update information reception client with each update information transmission server as a column and each update information reception client as a row. It represents as. Specifically, in the example shown in FIG. 2, since the server A in the first column distributes update information to the client U in the first row, the element in the first row and the first column of the matrix is represented by ◯. . Further, since the server B in the second column does not distribute update information to the client X in the fourth row, the element in the fourth row and the second column of the matrix is represented by x.
図2に示す例では、サーバAは、クライアントU、クライアントX、およびクライアントZに更新情報を配信している。また、サーバBは、クライアントV、クライアントW、およびクライアントYに更新情報を配信している。また、サーバCは、クライアントU、クライアントX、およびクライアントZに更新情報を配信している。また、サーバDは、クライアントW、およびクライアントYに更新情報を配信している。また、サーバEは、クライアントV、クライアントW、クライアントY、およびクライアントZに更新情報を配信している。また、サーバFは、クライアントU、クライアントX、およびクライアントZに更新情報を配信している。 In the example illustrated in FIG. 2, the server A distributes update information to the client U, the client X, and the client Z. Server B distributes update information to client V, client W, and client Y. The server C distributes update information to the client U, the client X, and the client Z. The server D distributes update information to the client W and the client Y. The server E distributes update information to the client V, the client W, the client Y, and the client Z. The server F distributes update information to the client U, the client X, and the client Z.
また、図2に示すマトリックスでは、1行目はクライアントU、2行目はクライアントV、3行目はクライアントW、4行目はクライアントX、5行目はクライアントY、6行目はクライアントZである。そして、図2に示すマトリックスでは、1列目はサーバA、2列目はサーバB、3列目はサーバC、4列目はサーバD、5列目はサーバE、6列目はサーバFである。 In the matrix shown in FIG. 2, the first line is the client U, the second line is the client V, the third line is the client W, the fourth line is the client X, the fifth line is the client Y, and the sixth line is the client Z. It is. In the matrix shown in FIG. 2, the first column is server A, the second column is server B, the third column is server C, the fourth column is server D, the fifth column is server E, and the sixth column is server F. It is.
配信状況の集約について説明する。配信状況(登録状況、または接続関係ともいう。)の集約とは、更新情報発信サーバAと、更新情報受信クライアントXとの接続関係があり、別の更新情報発信サーバCと、同じ更新情報受信クライアントXとの接続関係がある場合に、集合{A,C}とXとの接続関係を1つにみなすこと、更新情報発信サーバAと、更新情報受信クライアントXとの接続関係があり、同じ更新情報発信サーバAと、別の更新情報受信クライアントZとの接続関係がある場合に、Aと集合{X,Z}との接続関係を1つにみなすこと、およびこれらの複合形、すなわち集合{A,C}から集合{X,Z}への接続関係を1つにみなすことである。ただし、集合の大きさは2に限られるものではない。 The distribution status aggregation will be described. Aggregation of distribution status (also referred to as registration status or connection relationship) refers to a connection relationship between the update information transmission server A and the update information reception client X, and reception of the same update information as another update information transmission server C. When there is a connection relationship with the client X, the connection relationship between the set {A, C} and X is regarded as one, there is a connection relationship between the update information transmission server A and the update information reception client X, and the same When there is a connection relationship between the update information transmission server A and another update information reception client Z, the connection relationship between A and the set {X, Z} is regarded as one, and a composite form thereof, that is, a set The connection relation from {A, C} to the set {X, Z} is regarded as one. However, the size of the set is not limited to 2.
そして、集約情報とは、更新情報発信サーバの集合と、更新情報受信クライアントの集合との対を示す情報である。従って、集約情報は、更新情報の送信元と配信先とを集約して示す。 The aggregate information is information indicating a pair of a set of update information transmission servers and a set of update information receiving clients. Accordingly, the aggregate information collectively indicates the transmission source and the distribution destination of the update information.
更新情報配信手段割当手段600は、集約情報記憶手段400に格納されたマトリックスを参照して、各更新情報発信サーバ100が更新情報を送信する更新情報配信手段300を決定する。
The update information distribution
更新情報配信手段300であるコンピュータは、コンピュータに、複数のウェブサーバ(更新情報発信サーバ100)から送信された更新情報を受信して、受信した更新情報を加工する更新情報加工処理と、更新情報の送信元と配信先とを集約して示す集約情報にもとづいて、更新情報加工処理で加工した更新情報を集約情報が示す配信先(更新情報受信クライアント200)に配信する更新情報再発信処理とを実行させるための更新情報配信プログラムを搭載している。
The computer that is the update
次に、本発明の第1の実施の形態の動作について、図面を参照して説明する。図3は、更新情報配信システムの第1の実施の形態の動作を説明するフローチャートである。 Next, the operation of the first exemplary embodiment of the present invention will be described with reference to the drawings. FIG. 3 is a flowchart for explaining the operation of the first embodiment of the update information distribution system.
まず、サーバクライアント接続集約手段500は、どの更新情報発信サーバ100がどの更新情報受信クライアント200に更新情報を配信するのかを示すマトリックスを、各更新情報発信サーバ100に登録されている情報、および各更新情報受信クライアント200に登録されている情報にもとづいて作成したり、当該マトリックスを保持するデータベースから取得したりする。
First, the server client
具体的には、例えば、更新情報受信クライアント200は、予めどの更新情報発信サーバ100から更新情報が配信されるのかを示す更新情報登録リストを記憶しており、サーバクライアント接続集約手段500は、各更新情報受信クライアント200が記憶している更新情報登録リストにもとづいて、図2に例示したマトリックスを作成する。なお、マトリックスの作成は、更新情報発信サーバ100が行ってもよいし、図示しない他のサーバが行ってもよい。
Specifically, for example, update
サーバクライアント接続集約手段500は、図2に例示したマトリックスの行と列との順番をそれぞれ入れ替えて、配信状況を集約したマトリックスを生成し、生成したマトリックスを集約情報記憶手段400に格納する(ステップS101)。従って、サーバクライアント接続集約手段500は、集約情報を示すマトリックスを生成する。図4は、サーバクライアント接続集約手段500が生成したマトリックスを示す説明図である。
The server client connection aggregation means 500 generates a matrix in which the distribution status is aggregated by changing the order of the rows and columns of the matrix illustrated in FIG. 2, and stores the generated matrix in the aggregation information storage means 400 (step). S101). Therefore, the server client
図4に示す例では、更新情報の配信状況に応じて、図2に例示したマトリックスの行と列との順番がそれぞれ入れ替えられ、配信状況が集約されている。具体的には、図4に示すマトリックスでは、1行目はクライアントU、2行目はクライアントZ、3行目はクライアントX、4行目はクライアントY、5行目はクライアントV、6行目はクライアントWである。そして、図4に示すマトリックスでは、1列目はサーバA、2列目はサーバF、3列目はサーバC、4列目はサーバD、5列目はサーバE、6列目はサーバBである。 In the example illustrated in FIG. 4, the order of the rows and columns of the matrix illustrated in FIG. 2 is changed according to the distribution status of the update information, and the distribution status is aggregated. Specifically, in the matrix shown in FIG. 4, the first line is the client U, the second line is the client Z, the third line is the client X, the fourth line is the client Y, the fifth line is the client V, and the sixth line. Is the client W. In the matrix shown in FIG. 4, the first column is server A, the second column is server F, the third column is server C, the fourth column is server D, the fifth column is server E, and the sixth column is server B. It is.
従って、図4に示すマトリックスでは、サーバA、サーバF、およびサーバCと、クライアントU、クライアントZ、およびクライアントXとの接続関係が集約されている。また、図4に示すマトリックスでは、サーバD、サーバE、およびサーバBと、クライアントY、クライアントV、およびクライアントWとの接続関係が集約され、サーバBとクライアントZとの接続関係が集約されている。図4では、集約された接続関係が破線で示されている。すなわち、図4に示す例において、破線で示された範囲が、それぞれ集約された単位である。 Therefore, in the matrix shown in FIG. 4, connection relationships among the server A, the server F, and the server C and the client U, the client Z, and the client X are collected. In the matrix shown in FIG. 4, the connection relationships between the server D, the server E, and the server B and the client Y, the client V, and the client W are aggregated, and the connection relationship between the server B and the client Z is aggregated. Yes. In FIG. 4, the aggregated connection relationships are indicated by broken lines. That is, in the example shown in FIG. 4, the ranges indicated by the broken lines are aggregated units.
更新情報の配信状況を集約する方法について説明する。図5は、更新情報の配信状況を集約する方法を説明するフローチャートである。 A method of collecting the distribution status of update information will be described. FIG. 5 is a flowchart for explaining a method of aggregating update information distribution statuses.
サーバクライアント接続集約手段500が、マトリックスの任意の行をランダムに1つ選択し、Pとする(ステップS201)。サーバクライアント接続集約手段500が、Pと他の各行との距離を計算する(ステップS202)。サーバクライアント接続集約手段500が、Pと距離が近い上位Q件の行を抜き出し、Pの直後に挿入する(ステップS203)。サーバクライアント接続集約手段500が、マトリックスの任意の列をランダムに1つ選択し、Rとする(ステップS204)。サーバクライアント接続集約手段500が、Rと他の各列との距離を計算する(ステップS205)。サーバクライアント接続集約手段500が、Rと距離が近い上位S件の列を抜き出し、Rの直後に挿入する(ステップS206)。サーバクライアント接続集約手段500が、ステップS201からステップS206をN回繰り返す(ステップS207)。
The server / client connection aggregation means 500 randomly selects one arbitrary row of the matrix and sets it to P (step S201). The server client connection aggregation means 500 calculates the distance between P and each other row (step S202). The server client
ここで、Q,S,Nはパラメータである。具体的には、例えば、Qは1、Sは1、Nは10000である。また、各パラメータ(特にN)を、マトリックスのサイズに応じて設定してもよい。具体的には、マトリックスの行数をj、列数をkとした場合に、例えば、Qを1〜j×0.01の間の値に設定し、Sを1〜k×0.01の間の値に設定し、Nを(j+k)×2〜(j+k)×100の間の値に設定する。 Here, Q, S, and N are parameters. Specifically, for example, Q is 1, S is 1, and N is 10,000. Each parameter (particularly N) may be set according to the size of the matrix. Specifically, when the number of rows of the matrix is j and the number of columns is k, for example, Q is set to a value between 1 and j × 0.01, and S is 1 to k × 0.01. And set N to a value between (j + k) × 2 and (j + k) × 100.
なお、これらのパラメータは固定値である必要はなく、ステップ毎のマトリックスの変化に応じて変化させてもよい。また、距離の公理(非負性、同一性、対象性、および三角不等式)を満たし、マトリックスの一方の行と他方の行とをそれぞれパラメータx1,y1とした関数f(x1,y1)の解(数値(実数))を、一方の行と他方の行との距離とする。同様に、距離の公理(非負性、同一性、対象性、および三角不等式)を満たし、マトリックスの一方の列と他方の列とをそれぞれパラメータx2,y2とした関数f(x2,y2)の解(数値(実数))を、一方の列と他方の列との距離とする。 Note that these parameters do not have to be fixed values, and may be changed according to changes in the matrix for each step. Also, a solution of a function f (x1, y1) that satisfies the distance axioms (non-negativeity, identity, objectivity, and triangular inequality) and takes one row and the other row of the matrix as parameters x1, y1, respectively A numerical value (real number) is a distance between one row and the other row. Similarly, the solution of the function f (x2, y2) satisfying the distance axioms (nonnegativeness, identity, subjectivity, and triangle inequality), with one column and the other column of the matrix as parameters x2, y2, respectively. Let (numerical value (real number)) be the distance between one column and the other column.
なお、本例では、ハミング距離を用いる。具体的には、一方の行を他方の行に一致させるために行う要素の変化回数をそれらの行の距離とする。つまり、一方の行を他方の行に一致させるために行う要素の変化回数が少ない場合、それらの行の距離は近い。同様に、一方の列を他方の列に一致させるために行う要素の変化回数をそれらの列の距離とする。つまり、一方の列を他方の列に一致させるために行う要素の変化回数が少ない場合、それらの列の距離は近い。 In this example, a Hamming distance is used. Specifically, the number of element changes performed to match one row with the other row is the distance between the rows. In other words, when the number of changes of elements performed to match one row with the other row is small, the distance between these rows is short. Similarly, the number of element changes performed to match one column with the other column is defined as the distance between the columns. That is, when the number of element changes performed to match one column with the other column is small, the distance between these columns is short.
ハミング距離を用いて行を入れ替えて図2に示すマトリックスを変形する場合について、サーバクライアント接続集約手段500が、図2に示すマトリックスの1行目を選択した場合を例に、具体的に説明する。 The case where the matrix shown in FIG. 2 is transformed by exchanging the rows using the Hamming distance will be specifically described by taking as an example the case where the server client connection aggregation means 500 selects the first row of the matrix shown in FIG. .
図2に示すマトリックスの1行目を選択したサーバクライアント接続集約手段500は、1行目と他の行との距離を計算する。具体的には、1行目は、○×○××○であり、2行目は×○××○×であり、3行目は×○×○○×であり、4行目は○×○××○であり、5行目は×○×○○×であり、6行目は○×○×○○であるので、2行目を1行目に一致させるためには要素を5回変更しなければならない。そこで、1行目と2行目との距離は5である。 The server client connection aggregation means 500 that has selected the first row of the matrix shown in FIG. 2 calculates the distance between the first row and other rows. Specifically, the first line is XXXXX, the second line is XXXXX, the third line is XXXXX, and the fourth line is XX. × ○ ×× ○, the fifth row is × ○ × ○○ ×, and the sixth row is ○ × ○ × ○○, so in order to match the second row to the first row, Must be changed 5 times. Therefore, the distance between the first row and the second row is 5.
また、3行目を1行目に一致させるためには要素を6回変更しなければならないので、1行目と3行目との距離は6である。また、4行目を1行目に一致させるためには要素を変更しなくてもよいので、1行目と4行目との距離は0である。また、5行目を1行目に一致させるためには要素を6回変更しなければならないので、1行目と5行目との距離は6である。また、6行目を1行目に一致させるためには要素を1回変更しなければならないので、1行目と6行目との距離は1である。 In order to make the third line coincide with the first line, the element must be changed six times, so the distance between the first line and the third line is 6. Further, since the elements do not need to be changed in order to make the fourth line coincide with the first line, the distance between the first line and the fourth line is zero. In order to make the fifth line coincide with the first line, the element must be changed six times, so the distance between the first line and the fifth line is 6. In order to make the sixth line coincide with the first line, the element must be changed once, so the distance between the first line and the sixth line is 1.
そして、サーバクライアント接続集約手段500は、1行目との距離が近い行を1つ選択する。具体的には、サーバクライアント接続集約手段500は、1行目(クライアントUの行)との距離が最も近い行である4行目(クライアントXの行)を選択する。サーバクライアント接続集約手段500は、選択したクライアントXの行をクライアントUの行の下に挿入する。
Then, the server client
次に、サーバクライアント接続集約手段500は、マトリックスのいずれかの列を選択して、行を入れ替えた場合と同様に、列を入れ替える。そして、サーバクライアント接続集約手段500は、行の入れ替えと列の入れ替えとをN回繰り返して、図4に示すマトリックスを生成して、生成したマトリックスを集約情報記憶手段400に格納する。
Next, the server client
更新情報配信手段割当手段600は、集約情報記憶手段400に格納されたマトリックスを参照して、各更新情報発信サーバ100が更新情報を送信する更新情報配信手段300を決定する。つまり、更新情報配信手段割当手段600は、集約情報記憶手段400に格納されたマトリックスが含む集約情報にもとづき、集約された単位で各更新情報発信サーバ100が更新情報を送信する更新情報配信手段300を決定する。なお、更新情報配信手段割当手段600が、各更新情報発信サーバ100が更新情報を送信する更新情報配信手段300を決定することを、各更新情報発信サーバ100に更新情報を送信する更新情報配信手段300を割り当てるともいう。
The update information distribution
なお、更新情報配信手段割当手段600は、例えば、集約情報記憶手段400に格納されたマトリックスの左上から、ある程度の大きさの矩形であって、90%以上が○の要素である矩形を集約された単位(集約単位ともいう。)として逐次的に選択する。
The update information distribution
なお、ある程度の大きさの矩形とは、行列(マトリックス)のT%(例えば10%)以内の大きさの矩形であって、できるだけ大きい矩形をいう。ここで、行列のT%の大きさの矩形とは、行数(行の長さ)および列数(列の長さ)が、それぞれ行列の行数および列数のT%である矩形をいう。なお、行列のT%の大きさの矩形を、要素の数が行列の要素の数のT%である矩形であるとしてもよい。本例では、行列のT%の大きさの矩形は、行数および列数が、それぞれ行列の行数および列数のT%の矩形であるとして説明する。 Note that a rectangle having a certain size is a rectangle having a size within T% (for example, 10%) of a matrix and is as large as possible. Here, a rectangle having a size of T% of the matrix means a rectangle in which the number of rows (row length) and the number of columns (column length) are T% of the number of rows and columns of the matrix, respectively. . Note that a rectangle whose size is T% of the matrix may be a rectangle whose number of elements is T% of the number of elements of the matrix. In this example, the description will be made assuming that a rectangle having a size of T% of the matrix is a rectangle having the number of rows and the number of columns of T% of the number of rows and the number of columns of the matrix, respectively.
例えば、マトリックスの行(または列)の数がT1であって、列(または行)の数がT2である場合に、矩形の縦の長さt1≦T1×T/100であって、矩形の横の長さt2≦T2×T/100である矩形を、ある程度の大きさの矩形という。具体的には、例えば、Tが10であり、マトリックスの行数が100であって、列数が100である場合に、100(T1)×10(T)/100=10であるので、ある程度の大きさの矩形の縦の長さt1は10以下である。また、100(T2)×10(T)/100=10であるので、ある程度の大きさの矩形の横の長さt2は10以下である。 For example, when the number of rows (or columns) of the matrix is T1 and the number of columns (or rows) is T2, the length of the rectangle t1 ≦ T1 × T / 100, A rectangle having a horizontal length t2 ≦ T2 × T / 100 is referred to as a rectangle having a certain size. Specifically, for example, when T is 10, the number of rows of the matrix is 100, and the number of columns is 100, 100 (T1) × 10 (T) / 100 = 10. The vertical length t1 of the rectangle of the size is 10 or less. Further, since 100 (T2) × 10 (T) / 100 = 10, the horizontal length t2 of the rectangle having a certain size is 10 or less.
なお、更新情報配信手段割当手段600は、集約単位を逐次的に選択する場合に、既に他の集約単位に含まれた○の要素を含まないように、集約単位を選択する。つまり、更新情報配信手段割当手段600は、○の要素が複数の集約単位に重複して含まれることがないようにして、集約単位を逐次的に選択する。そして、更新情報配信手段割当手段600は、すべての○の要素が集約単位に含まれた場合に、集約単位の選択を終了する。
When the update information distribution
1つまたは複数の更新情報発信サーバ100は、集約情報記憶手段400からマトリックスを取得し、取得したマトリックスにもとづいて、集約された単位で更新情報配信手段割当手段600に割り当てられた更新情報配信手段300に更新情報を発信する(ステップS102)。更新情報加工手段301は発信された複数の更新情報を、1つの更新情報にまとめるなどの加工を行う(ステップS103)。
One or a plurality of update
更新情報再発信手段302は、マトリックスを集約情報記憶手段400から取得し、取得したマトリックスにもとづいて、各更新情報受信クライアント200に加工された更新情報を配信(再発信)する(ステップS104)。
The update information retransmitting means 302 acquires the matrix from the aggregated information storage means 400, and distributes (retransmits) the processed update information to each update
本実施の形態によれば、配信状況を集約したマトリックスを生成し、生成したマトリックスを更新情報発信サーバ100と更新情報配信手段300とが共有(取得)するように構成したので、更新情報発信サーバ100に応じて、更新情報の配信先の更新情報配信手段300を振り分ける(割り当てる)ことができる。そのため、更新情報発信サーバ100の数が増えた場合でも、1つの更新情報配信手段300に負荷が集中することを回避することができる。
According to the present embodiment, since the matrix in which the distribution status is aggregated is generated and the generated matrix is configured to be shared (acquired) by the update
なお、1つの更新情報加工手段301の平均的な処理負荷Dは、更新情報を受信する頻度をF、1つの更新情報を処理する負荷をP、更新情報発信サーバ100の数をM、集約された配信状況の数をQとすると、1つの更新情報加工手段301の平均的な処理負荷D=F×P×M÷Qである。すなわち、ステップS101で生成されたマトリックスにもとづいて、更新情報加工手段301の処理を分散させることができる。
Note that the average processing load D of one update
また、1つの更新情報再発信手段302の平均的な配信負荷C’は、更新情報を再発信する頻度をF’、更新情報受信クライアント200の数をNとすると、1つの更新情報再発信手段302の平均的な配信負荷C’=F’×N÷Qである。すなわち、ステップS101で生成されたマトリックスにもとづいて、更新情報再発信手段302の処理を分散させることができる。
The average distribution load C ′ of one update information retransmitting means 302 is one update information retransmitting means, where F ′ is the frequency of retransmitting update information and N is the number of update
本実施の形態によれば、更新情報発信サーバ100と更新情報受信クライアント200との接続関係を集約した情報(サーバクライアント接続集約手段500が生成したマトリックスが含む集約情報)を用いることにより、図6に示すように、集約された接続関係毎に更新情報配信手段300を分散させることができる。図6は、各更新情報発信サーバ100と、集約された接続関係毎に割り当てられた更新情報配信手段300と、各更新情報受信クライアント200との接続を示す説明図である。
According to the present embodiment, by using information (aggregated information included in the matrix generated by the server client connection aggregation unit 500) that aggregates the connection relation between the update
また、集約された接続関係は、更新情報発信サーバ100同士や更新情報受信クライアント200同士の関連性を示しているものであり、集約された接続関係を利用して、更新情報発信サーバ100が、接続関係がない更新情報受信クライアント200に更新情報を配信することができる。具体的には、図2に例示したマトリックスを参照すると、サーバDとクライアントVとに接続関係はないが、図4に例示したマトリックスを用いた場合、サーバDが配信した更新情報は、クライアントVにも配信される。従って、更新情報発信サーバ100に更新情報の購読の登録をしていない更新情報受信クライアント200に、関連性がある更新情報を配信して、更新情報受信クライアント200の利用者の趣向に応じたサービス(更新情報)を提供することができる。
Further, the aggregated connection relationship indicates the relationship between the update
実施の形態2.
本発明の第1の実施の形態について、図面を参照して説明する。図7は、本発明の更新情報配信システムの第2の実施の形態の構成例を示すブロック図である。
Embodiment 2. FIG.
A first embodiment of the present invention will be described with reference to the drawings. FIG. 7 is a block diagram showing a configuration example of the second embodiment of the update information distribution system of the present invention.
本発明の第2の実施の形態の更新情報配信システムは、更新情報配信手段300が、図1に示す第1の実施の形態の構成要素に加えて、配信ツリー作成手段303を有する点が第1の実施の形態の構成と異なる。その他の構成要素は、第1の実施の形態の構成要素と同様なため、図1と同じ符号を付し、説明を省略する。
The update information distribution system according to the second exemplary embodiment of the present invention is that the update
配信ツリー作成手段303は、サーバクライアント接続集約手段500が生成し、集約情報記憶手段400に格納されたマトリックスが含む集約情報を参照して、更新情報受信クライアント200の一部、または全部を含むクライアント群をツリー構造に構成した配信ツリーを作成する。従って、配信ツリー作成手段303は、集約された接続関係にもとづいて、配信ツリーを作成する。具体的には、図4に例示したマトリックスのように接続関係が集約された場合、配信ツリー作成手段303は、クライアントU、クライアントZ、およびクライアントXを構成要素とする配信ツリーと、クライアントY、クライアントV、およびクライアントWを構成要素とする配信ツリーとを作成する。
The distribution tree creation unit 303 refers to the aggregate information included in the matrix generated by the server client
図13は、配信ツリー作成手段303が作成した配信ツリーの構成を示す説明図である。図13に示すように、配信ツリーは、各更新情報受信クライアント200が、上位の更新情報受信クライアント200から受信した更新情報を、下位の複数の更新情報受信クライアント200に送信するように構成されている。
FIG. 13 is an explanatory diagram showing a configuration of a distribution tree created by the distribution tree creation unit 303. As shown in FIG. 13, the distribution tree is configured such that each update
配信ツリー作成手段303は、例えば、更新情報受信クライアント200から配信ツリーに参加する問い合わせを受信した順番で、ツリー構造の上位から順番に、上位の更新情報受信クライアント200に所定の数(図13に示す例では、所定の数は2)の更新情報受信クライアント200が従属して接続されるように、配信ツリーを構成する。
For example, the distribution tree creating unit 303 receives a predetermined number (see FIG. 13) from the update
また、配信ツリー作成手段303は、例えば、更新情報受信クライアント200の情報処理能力が高い順番、通信ネットワーク帯域が広い順番、またはクライアント名の辞書式順序で、ツリー構造の上位から順番に更新情報受信クライアント200を互いに接続されるように、配信ツリーを構成してもよい。
Also, the distribution tree creation unit 303 receives update information in order from the top of the tree structure, for example, in order of high information processing capability of the update
なお、配信ツリー作成手段303は、配信ツリーの構造を把握して、配信ツリーを管理する管理サーバによって実現されてもよい。そして、その管理サーバは、更新情報受信クライアント200から配信ツリーに参加する問い合わせを受信した場合に、例えば、配信ツリーを構成する更新情報受信クライアント200のうち、下位に接続されている更新情報受信クライアント200の数が所定の数(図13に示す例では、所定の数は2)よりも少なく、かつ、頂点の更新情報受信クライアント200に近い更新情報受信クライアント200の下位に接続されるように返答する。
The distribution tree creation unit 303 may be realized by a management server that grasps the structure of the distribution tree and manages the distribution tree. When the management server receives an inquiry to participate in the distribution tree from the update
また、その管理サーバは、配信ツリーから離脱する問い合わせを受信した場合に、例えば、離脱する更新情報受信クライアント200の下位に接続されていた更新情報受信クライアント200が、離脱する更新情報受信クライアント200の上位の更新情報受信クライアント200に接続されるように配信ツリーを変更し、その旨を離脱する更新情報受信クライアント200の上位の更新情報受信クライアント200、および離脱する更新情報受信クライアント200の下位に接続されていた更新情報受信クライアント200に通達する。
In addition, when the management server receives an inquiry to leave the distribution tree, for example, the update
その後、管理サーバは、更新情報受信クライアント200から配信ツリーに参加する問い合わせを受信した場合に、配信ツリーにおける離脱した更新情報受信クライアント200が接続されていた位置に、新たな更新情報受信クライアント200を参加させてもよい。そのように構成した場合には、離脱した更新情報受信クライアント200の上位の更新情報受信クライアント200に所定の数以上の更新情報受信クライアント200が従属した状態を、離脱した更新情報受信クライアント200の上位の更新情報受信クライアント200に所定の数の更新情報受信クライアント200が従属した状態に修正することができる。
Thereafter, when the management server receives an inquiry to join the distribution tree from the update
更新情報再発信手段302は、配信ツリー作成手段303が作成した配信ツリーにもとづいて、更新情報を配信ツリーの頂点の更新情報受信クライアント200に配信する。配信ツリーを構成する各更新情報受信クライアント200は、連鎖的に下位の各更新情報受信クライアント200に更新情報を送信することにより、すべての更新情報受信クライアント200に更新情報が配信される。
The update information retransmitting means 302 distributes update information to the update
次に、本発明の第2の実施の形態の動作について、図面を参照して説明する。図8は、更新情報配信システムの第2の実施の形態の動作を説明するフローチャートである。 Next, the operation of the second exemplary embodiment of the present invention will be described with reference to the drawings. FIG. 8 is a flowchart for explaining the operation of the second embodiment of the update information distribution system.
サーバクライアント接続集約手段500は、どの更新情報発信サーバ100がどの更新情報受信クライアント200へ更新情報を配信するのかを示すマトリックスにもとづいて、配信状況を集約したマトリックスを生成し(ステップS301)、生成したマトリックスを集約情報記憶手段400に格納する。
The server client
配信ツリー作成手段303は、集約情報記憶手段400に格納されたマトリックスにおける集約された接続関係を参照して、配信ツリーを作成する(ステップS302)。 The distribution tree creating unit 303 creates a distribution tree with reference to the aggregated connection relationship in the matrix stored in the aggregate information storage unit 400 (step S302).
更新情報配信手段割当手段600は、集約情報記憶手段400に格納されたマトリックスの集約された接続関係を参照して、各更新情報発信サーバ100に更新情報配信手段300を割り当てる。
The update information distribution
1つまたは複数の更新情報発信サーバ100は、集約情報記憶手段400からマトリックスを取得し、取得したマトリックスにもとづいて、集約された単位で更新情報配信手段割当手段600に割り当てられた更新情報配信手段300に更新情報を発信する(ステップS303)。更新情報加工手段301は配信された複数の更新情報を、1つの更新情報にまとめるなどの加工を行う(ステップS304)。
One or a plurality of update
更新情報再発信手段302は、マトリックスを集約情報記憶手段400から取得し、取得したマトリックスにもとづいて、配信ツリー作成手段303が作成した配信ツリーにおける頂点の更新情報受信クライアント200に、加工された更新情報を配信する(ステップS305)。配信ツリーを構成する各更新情報受信クライアント200は、連鎖的に下位の各更新情報受信クライアント200に更新情報を送信する。
The update information retransmitting means 302 acquires the matrix from the aggregate information storage means 400, and based on the acquired matrix, the update information received by the update
本実施の形態によれば、配信状況を集約したマトリックスを生成し、そのマトリックスにもとづいて配信ツリー作成手段303が配信ツリーを作成するので、配信ツリーの数を少なくし、配信ツリーの維持負荷を全体で軽減することができる。 According to the present embodiment, a matrix in which the distribution status is aggregated is generated, and the distribution tree creation unit 303 creates a distribution tree based on the matrix. Therefore, the number of distribution trees is reduced, and the maintenance load of the distribution tree is reduced. It can be reduced overall.
なお、配信ツリーの総維持負荷Eは、配信ツリーあたりの維持負荷をG、集約された配信状況の数をQとすると、配信ツリーの総維持負荷E=G×Qである。つまり、ステップS201で生成されたマトリックスによって、集約された配信状況の数Qを更新情報発信サーバ100の数Mよりも小さい値にすることができるので、配信ツリー作成手段303による配信ツリーの維持負荷を軽減することができる。
The total maintenance load E of the distribution tree is G = Q × Q, where G is the maintenance load per distribution tree and Q is the number of aggregated distribution statuses. That is, since the number Q of the aggregated distribution statuses can be made smaller than the number M of the update
本発明の第1の実施例について説明する。本発明の第1の実施例は、図1に示す第1の実施の形態の更新情報配信システムに対応している。更新情報発信サーバ100はRSSなどの更新情報を発信するウェブサーバである。更新情報受信クライアント200は更新情報を受信するクライアント端末である。更新情報配信手段300は、複数の更新情報発信サーバ100が発信した更新情報をまとめて(加工して)、更新情報受信クライアント200に配信するアグリゲータサービスを提供するコンピュータである。
A first embodiment of the present invention will be described. The first embodiment of the present invention corresponds to the update information distribution system of the first embodiment shown in FIG. The update
更新情報受信クライアント200は、更新情報を受信するために、更新情報発信サーバ100のURL(Uniform Resource Locator)等の情報を登録する更新情報登録リストを保持している。
The update
具体的には、例えば、URLが「a」の更新情報発信サーバaと、URLが「b」の更新情報発信サーバbと、URLが「c」の更新情報発信サーバcとから更新情報を受信する更新情報受信クライアントAの更新情報登録リストには、(a,b,c)が登録されている。 Specifically, for example, update information is received from the update information transmission server a whose URL is “a”, the update information transmission server b whose URL is “b”, and the update information transmission server c whose URL is “c”. (A, b, c) are registered in the update information registration list of the update information receiving client A.
また、URLが「d」の更新情報発信サーバdと、URLが「e」の更新情報発信サーバeと、URLが「f」の更新情報発信サーバfとから更新情報を受信する更新情報受信クライアントBの更新情報登録リストには、(d,e,f)が登録されている。 An update information receiving client that receives update information from an update information transmission server d whose URL is “d”, an update information transmission server e whose URL is “e”, and an update information transmission server f whose URL is “f”. (D, e, f) is registered in the update information registration list of B.
また、URLが「g」の更新情報発信サーバgと、URLが「h」の更新情報発信サーバhと、URLが「i」の更新情報発信サーバiとから更新情報を受信する更新情報受信クライアントBの更新情報登録リストには、(g,h,i)が登録されている。 An update information receiving client that receives update information from the update information transmission server g having the URL “g”, the update information transmission server h having the URL “h”, and the update information transmission server i having the URL “i”. (G, h, i) is registered in the update information registration list of B.
サーバクライアント接続集約手段500は、各更新情報受信クライアントが保持している更新情報登録リストにもとづいて、どの更新情報発信サーバがどの更新情報受信クライアントに更新情報を配信するのかを示すマトリックスを作成する。図9は、サーバクライアント接続集約手段500が作成したマトリックスの一例を示す説明図である。
The server client
図9に例示したマトリックスにおいて、○の要素は、一方の軸の更新情報受信クライアントの更新情報登録リストに、他方の軸の更新情報発信サーバのURLが登録され、その更新情報発信サーバが発信する更新情報を、その更新情報受信クライアントが受信することを意味している。 In the matrix illustrated in FIG. 9, the element marked with ○ indicates that the URL of the update information transmission server of the other axis is registered in the update information registration list of the update information reception client of one axis, and the update information transmission server transmits It means that the update information receiving client receives the update information.
更新情報発信サーバ100の数や、更新情報受信クライアント200の数が少ない場合には、任意の更新情報発信サーバ100から任意の更新情報受信クライアント200に更新情報を配信する負荷はそれほど大きくないので、アグリゲータサービスを提供する更新情報配信手段300を、従来の方法、すなわち単一のサーバで実現することができる。しかし、更新情報発信サーバ100の数や、更新情報受信クライアント200の数が多い場合、すなわち、マトリックスが大きい場合には、単一のサーバがアグリゲータサービスを提供することは困難であり、複数のサーバを用いて負荷を分散させる必要がある。
When the number of update
このとき、マトリックスの行と列とをそれぞれ入れ替えて、○の要素を可能なかぎり集約し、かつ、更新情報配信手段300を実現するサーバが、更新情報発信サーバ100と更新情報受信クライアント200とに可能なかぎり独立になるようにすることで、更新情報配信手段300と更新情報発信サーバ100との間の通信量、および更新情報配信手段300と更新情報受信クライアント200との間の通信量の増大を防ぐことができる。
At this time, a server that replaces the rows and columns of the matrix, aggregates the elements of ○ as much as possible, and realizes the update information distribution means 300 is updated to the update
なお、更新情報配信手段300を実現するサーバは、更新情報発信サーバ100と更新情報受信クライアント200とに可能なかぎり独立になるように設置される。すなわち、各更新情報配信手段300を実現するサーバは、担当する更新情報発信サーバ100の数と更新情報受信クライアント200の数とを、各更新情報配信手段300を実現する全サーバについて合計した数が最小になるように設置される。
It should be noted that the server that implements the update information distribution means 300 is installed so as to be as independent as possible between the update
具体的には、図4に示すマトリックスでは、サーバBは、クライアントZに更新情報を送信する場合と、クライアントY、クライアントV、およびクライアントWに更新情報を送信する場合とで、送信先の更新情報配信手段300を実現するサーバが異なることがある。そのような場合に、更新情報発信サーバ100の総数がkであり、更新情報受信クライアント200の総数がlであっても、担当する更新情報発信サーバ100の数と更新情報受信クライアント200の数とを、各更新情報配信手段300を実現する全サーバについて合計した数はk+lより多くなる。2つの更新情報配信手段300を実現するサーバが、サーバBを担当することになるからである。そのため、サーバBは、クライアントZを担当する更新情報配信手段300を実現するサーバと、クライアントY、クライアントV、およびクライアントWを担当する更新情報配信手段300を実現するサーバとに更新情報を送信しなければならない。
Specifically, in the matrix shown in FIG. 4, the server B updates the transmission destination when the update information is transmitted to the client Z and when the update information is transmitted to the client Y, the client V, and the client W. Servers for realizing the
つまり、担当する更新情報発信サーバ100の数と更新情報受信クライアント200の数とを、各更新情報配信手段300を実現する全サーバについて合計した数が多いと、更新情報配信手段300と更新情報発信サーバ100との間の通信量、および更新情報配信手段300と更新情報受信クライアント200との間の通信量が増大する。そのような通信量の増大を防ぐため、各更新情報配信手段300を実現するサーバは、担当する更新情報発信サーバ100の数と更新情報受信クライアント200の数とを、各更新情報配信手段300を実現する全サーバについて合計した数が最小になるように設置される。
That is, if the total number of update
ここで、更新情報配信手段300を実現するサーバの数が更新情報配信手段300の数と同数であることが、更新情報配信手段300を実現するサーバが更新情報発信サーバ100と更新情報受信クライアント200とに最も独立であるのだが、一般に、サーバの数は物理的制約により制限される。そして、更新情報配信手段300を実現するサーバの数よりも更新情報配信手段300の数が多い場合には、1つのサーバが複数の更新情報配信手段300の役割を果たすことになる。この場合に、更新情報配信手段300が対応する集約単位(本例では、更新情報の送信元の更新情報発信サーバ100および更新情報の配信先の更新情報受信クライアント200の集合)が、マトリックス上の行または列で重なっていると、接続先が限定されるので好ましい。
Here, the number of servers that implement the update information distribution means 300 is the same as the number of update information distribution means 300. The servers that implement the update information distribution means 300 are the update
このようなマトリックスの変形の方法として、図5に例示したフローチャートを用いて第1の実施の形態で説明した方法がある。 As a method of deforming such a matrix, there is the method described in the first embodiment using the flowchart illustrated in FIG.
具体的には、図5に示すように、サーバクライアント接続集約手段500が、マトリックスの任意の行をランダムに1つ選択し、Pとする(ステップS201)。サーバクライアント接続集約手段500が、Pと他の各行との距離を計算する(ステップS202)。サーバクライアント接続集約手段500が、Pと距離が近い上位Q件の行を抜き出し、Pの直後に挿入する(ステップS203)。サーバクライアント接続集約手段500が、マトリックスの任意の列をランダムに1つ選択し、Rとする(ステップS204)。サーバクライアント接続集約手段500が、Rと他の各列との距離を計算する(ステップS205)。サーバクライアント接続集約手段500が、Rと距離が近い上位S件の列を抜き出し、Rの直後に挿入する(ステップS206)。サーバクライアント接続集約手段500が、ステップS201からステップS206をN回繰り返す(ステップS207)。
Specifically, as shown in FIG. 5, the server client
ここで、Q,S,Nはパラメータである。具体的には、例えば、Qは1、Sは1、Nは10000である。また、各パラメータ(特にN)を、マトリックスのサイズに応じて設定してもよい。具体的には、マトリックスの行数をj、列数をkとした場合に、例えば、Qを1〜j×0.01の間の値に設定し、Sを1〜k×0.01の間の値に設定し、Nを(j+k)×2〜(j+k)×100の間の値に設定する。 Here, Q, S, and N are parameters. Specifically, for example, Q is 1, S is 1, and N is 10,000. Each parameter (particularly N) may be set according to the size of the matrix. Specifically, when the number of rows of the matrix is j and the number of columns is k, for example, Q is set to a value between 1 and j × 0.01, and S is 1 to k × 0.01. And set N to a value between (j + k) × 2 and (j + k) × 100.
なお、これらのパラメータは固定値である必要はなく、ステップ毎のマトリックスの変化に応じて変化させてもよい。なお、第1の実施の形態では、ハミング距離を用いて行と列とをそれぞれ入れ替えてマトリックスを変形させたが、ユークリッド距離やコサイン距離等の他の方法を用いて行と列とをそれぞれ入れ替えてもよい。 Note that these parameters do not have to be fixed values, and may be changed according to changes in the matrix for each step. In the first embodiment, the matrix is deformed by replacing the rows and columns using the Hamming distance, but the rows and columns are replaced using other methods such as the Euclidean distance and the cosine distance. May be.
ユークリッド距離を用いて行を入れ替える方法について説明する。図2に例示したマトリックスにおいて、○を1に置き換え、×を0に置き換えると、4行目は101001である。同様に、5行目は010110である。そして、6行目は101011である。 A method of exchanging rows using the Euclidean distance will be described. In the matrix illustrated in FIG. 2, if ○ is replaced with 1 and × is replaced with 0, the fourth row is 101001. Similarly, the fifth line is 010110. The sixth line is 101011.
そして、4行目と5行目とのユークリッド距離は、
((1−0)2+(0−1)2+(1−0)2+(0−1)2+(0−1)2+(1−0)2)1/2=61/2である。
And the Euclidean distance between the 4th and 5th lines is
((1-0) 2 + (0-1) 2 + (1-0) 2 + (0-1) 2 + (0-1) 2 + (1-0) 2 ) 1/2 = 6 1 / 2 .
また、4行目と6行目とのユークリッド距離は、
((1−1)2+(0−0)2+(1−1)2+(0−0)2+(0−12)+(1−1)2)1/2=1である。
The Euclidean distance between the 4th and 6th lines is
((1-1) 2 + (0-0) 2 + (1-1) 2 + (0-0) 2 + (0-1 2 ) + (1-1) 2 ) 1/2 = 1 .
よって、4行目と5行目とのユークリッド距離よりも4行目と6行目とのユークリッド距離の方が近いので、サーバクライアント接続集約手段500は、4行目(クライアントXの行)の下に、6行目(クライアントZ)の行を挿入する。 Therefore, since the Euclidean distance between the 4th line and the 6th line is closer than the Euclidean distance between the 4th line and the 5th line, the server-client connection aggregation means 500 has the 4th line (client X line). The sixth line (client Z) is inserted below.
次に、コサイン距離を用いて行を入れ替える方法について説明する。4行目と5行目とのコサイン距離は、
(1×0+0×1+1×0+0×1+0×1+1×0)/((12+02+12+02+02+12)1/2×(02+12+02+12+12+02)1/2)=0である。
Next, a method for replacing rows using the cosine distance will be described. The cosine distance between the 4th and 5th lines is
(1 × 0 + 0 × 1 + 1 × 0 + 0 × 1 + 0 × 1 + 1 × 0) / ((1 2 +0 2 +1 2 +0 2 +0 2 +1 2 ) 1/2 × (0 2 +1 2 +0 2 +1 2 +1 2 +0 2 ) 1 / 2 ) = 0.
また、4行目と6行目とのコサイン距離は、
(1×1+0×0+1×1+0×0+0×1+1×1)/((12+02+12+02+02+12)1/2×(12+02+12+02+12+12)1/2)=3/(31/2×41/2)である。
The cosine distance between the 4th and 6th lines is
(1 × 1 + 0 × 0 + 1 × 1 + 0 × 0 + 0 × 1 + 1 × 1) / ((1 2 +0 2 +1 2 +0 2 +0 2 +1 2 ) 1/2 × (1 2 +0 2 +1 2 +0 2 +1 2 +1 2 ) 1 / 2 ) = 3 / (3 1/2 × 4 1/2 ).
よって、4行目と5行目とのコサイン距離よりも4行目と6行目とのコサイン距離の方が近いので、サーバクライアント接続集約手段500は、4行目(クライアントXの行)の下に、6行目(クライアントZ)の行を挿入する。なお、コサイン距離は、値が大きい方が、距離が近い。 Therefore, since the cosine distance between the 4th line and the 6th line is closer than the cosine distance between the 4th line and the 5th line, the server client connection aggregating means 500 has the 4th line (the line of the client X). The sixth line (client Z) is inserted below. The cosine distance is closer as the value increases.
この方法により、図4に示すような、○の要素が集約されたマトリックスを得ることができる。集約結果の最適性は必要ではない。集約結果が最適でなくても、本発明の目的を達成することができるからである。なお、最適な集約結果とは、○の要素が集約されたマトリックスにおいて、○の要素が集約された部分の数が少なく、大きさが均一になるように集約されたマトリックスをいう。 By this method, as shown in FIG. 4, a matrix in which the ◯ elements are aggregated can be obtained. The optimality of the aggregated result is not necessary. This is because the object of the present invention can be achieved even if the aggregation result is not optimal. The optimum aggregation result is a matrix in which the elements of the circles are aggregated so that the number of the parts in which the elements of the circle are aggregated is small and the size is uniform.
なお、図4に示すマトリックスの5行4列の要素のように、集約単位が少数の×の要素を含んでいてもよい。例えば、マトリックスの左上から、ある程度の大きさの矩形で囲まれるマトリックスの要素のうち90%以上が○であるものを、集約単位として逐次的に選択していく。 Note that the aggregation unit may include a small number of x elements, such as the 5 × 4 element of the matrix shown in FIG. 4. For example, from the upper left of the matrix, elements in which 90% or more of the elements of the matrix surrounded by a rectangle of a certain size are ◯ are sequentially selected as the aggregation unit.
そして、集約単位の数が、更新情報配信手段300を実現するサーバの数以上にすることで、更新情報の配信処理を更新情報配信手段300を実現する各サーバに振り分ける。なお、更新情報の配信処理を各サーバに振り分ける際に、各サーバの性能、および集約単位の大きさを考慮することで、より均一に処理を分散することができる。
Then, when the number of aggregation units is equal to or greater than the number of servers that realize the update
また、集約単位の数が更新情報配信手段300を実現するサーバの数より少ない場合には、大きい集約単位を分割することで、集約単位の数を増やすことができる。具体的には、例えば、集約単位のサーバの数が4つであり、クライアント端末の数が3つである場合に、サーバの数がクライアント端末の数よりも多いので、その集約単位を、サーバの数が2つであり、クライアント端末の数が3つである2つの集約単位に分割する。
Further, when the number of aggregation units is smaller than the number of servers that implement the update
上述した方法で変形されたマトリックスは、更新情報発信サーバ100と更新情報再発信手段302とで共有される。そして、更新情報発信サーバ100が更新情報配信手段300に更新情報の配信する際の宛先、および更新情報配信手段300が更新情報受信クライアント200へ更新情報を配信する際の宛先は、必要最少限に絞られることが好ましい。そのようにすることで、マトリックスを使った更新情報配信手段300の負荷分散を行うことができる。
The matrix modified by the above-described method is shared by the update
ところで、変形する前のマトリックスは、更新情報発信サーバ100の数、更新情報受信クライアント200の数、および更新情報の登録状況によって変化する。そのため、マトリックスの変形は、定期的またはマトリックスの変化度合いに応じて行われることが好ましく、最新のマトリックスを用いて更新情報が配信されることが好ましい。なお、マトリックスの変形をマトリックスの変化度合いに応じて行うとは、例えば、マトリックスの変形のステップ毎に要素の集約を試み、集約した要素の数が一定以上であればマトリックスの変形を継続し、集約した要素の数が一定未満であればマトリックスの変形を終了することである。
By the way, the matrix before transformation changes depending on the number of update
本発明の第2の実施例について説明する。本発明の第2の実施例は、図7に示す第2の実施の形態の更新情報配信システムに対応している。 A second embodiment of the present invention will be described. The second embodiment of the present invention corresponds to the update information distribution system of the second embodiment shown in FIG.
第2の実施例の更新情報配信システムは、更新情報配信手段300が配信ツリー作成手段303を有する点が、第1の実施例の更新情報配信システムと異なる。非特許文献1に記載されているFeedTreeというシステムによると、配信ツリー作成手段303は、更新情報発信サーバ100のURLなどの更新情報の識別子ごとに配信ツリーを作成し、更新情報は複数の更新情報受信クライアント200に効率的に配信される。
The update information distribution system according to the second embodiment is different from the update information distribution system according to the first embodiment in that the update
しかし、各配信ツリーを維持するために、定期的な通信等を行うための維持負荷が発生する。そこで、第2の実施例では、第1の実施例と同様な方法でマトリックスを作成および変形し、集約単位ごとに配信ツリーの作成して、配信ツリーの数を減らす。 However, in order to maintain each distribution tree, a maintenance load for performing regular communication or the like is generated. Therefore, in the second embodiment, a matrix is created and modified in the same manner as in the first embodiment, and a delivery tree is created for each aggregation unit, thereby reducing the number of delivery trees.
マトリックスの変形、およびグルーピング(要素の集約)の方法は、第1の実施例で述べた方法の他、図5に示すステップS204〜S206のみを繰り返して、列のみに注目してグルーピングする方法もある。 In addition to the method described in the first embodiment, the matrix deformation and grouping (element aggregation) method can be performed by repeating only steps S204 to S206 shown in FIG. is there.
変形されたマトリックスは、更新情報発信サーバ100と配信ツリー作成手段303とで共有される。そして、更新情報発信サーバ100が、更新情報配信手段300に更新情報の配信する際の宛先を必要最小限に絞ることが好ましく、更新情報配信手段300は、対応する配信ツリーの頂点の更新情報受信クライアント200に更新情報を配信することが好ましい。そのようにすることで、FeedTreeのメリットを生かしつつ、更新情報発信サーバ100の数が増えた場合でも、配信ツリーの維持負荷の増大を防ぐことができる。
The transformed matrix is shared by the update
また、本実施例の配信ツリーを使うと、更新情報受信クライアント200の更新情報登録リストに更新情報発信サーバ100のURL等が登録されていない場合であっても、その更新情報発信サーバ100が集約単位に含まれている場合、すなわち、図4に例示したマトリックスでは×の要素であるが集約単位に入っている場合には、他の更新情報受信クライアント200の更新情報登録リストに登録されている更新情報発信サーバ100の更新情報も配信されることになる。具体的には、図4に示す例では、サーバDが発信した更新情報が、クライアントVに配信される。この更新情報は、マトリックスの構成方法によって、他の更新情報受信クライアント200に配信されている更新情報と関連性が高いことが予想され、購読の登録をしていない更新情報受信クライアント200(本例では、クライアントV)にも意味がある場合がある。
Further, when the distribution tree of this embodiment is used, even if the URL of the update
本発明の第3の実施例は、第1の実施例、および第2の実施例において、更新情報の発信側である更新情報発信サーバ100と、更新情報配信手段300とから、それぞれ受信側である更新情報配信手段300と、更新情報受信クライアント200とへ更新情報をPUSH型で配信する代わりに、受信側である更新情報配信手段300と、更新情報受信クライアント200とから、それぞれ発信側である更新情報発信サーバ100と、更新情報配信手段300とへ更新情報の発信を要求してPULL型で配信する方式を採用する。
The third embodiment of the present invention is different from the first embodiment and the second embodiment in that the update information is transmitted from the update
具体的には、本発明の第1の実施例、および第2の実施例では、更新情報発信サーバ100が更新情報配信手段300に更新情報をPUSH型で配信し、更新情報配信手段300が更新情報受信クライアント200に更新情報をPUSH型で配信している。
Specifically, in the first embodiment and the second embodiment of the present invention, the update
それに対して、本発明の第3の実施例は、更新情報配信手段300が更新情報発信サーバ100に更新情報の発信を要求して、更新情報がPULL型で配信され、更新情報受信クライアント200が更新情報配信手段300に更新情報の発信を要求して、更新情報がPULL型で配信される。
On the other hand, in the third embodiment of the present invention, the update information distribution means 300 requests the update
従って、更新情報受信クライアント200に、更新情報配信手段300がPUSH型で配信した更新情報を受信するためのソフトウェアをインストールすることなく、他の用途で用いているウェブブラウザのソフトウェアを用いて更新情報を受信することができるので、容易に本発明による更新情報配信システムを導入することができる。
Therefore, the update
本発明は、通信ネットワークを介して複数のウェブサーバから複数のクライアント端末に情報を配信するシステムに適用することができる。また、クライアント端末の利用者の趣向に応じたサービスを提供するシステムにも適用することができる。 The present invention can be applied to a system that distributes information from a plurality of web servers to a plurality of client terminals via a communication network. Further, the present invention can also be applied to a system that provides a service according to the taste of the user of the client terminal.
100 更新情報発信サーバ
200 更新情報受信クライアント
300 更新情報配信手段
301 更新情報加工手段
302 更新情報再配信手段
303 配信ツリー作成手段
400 集約情報記憶手段
500 サーバクライアント接続集約手段
600 更新情報配信手段割当手段
700 通信ネットワーク
DESCRIPTION OF
Claims (6)
前記ウェブサーバから、前記ウェブサーバが提供する情報が更新されたことを示す更新情報を受信して、更新情報を前記クライアント端末に配信する更新情報配信システムにおいて、
更新情報の送信元と配信先とを集約して示す集約情報を記憶する集約情報記憶手段と、
複数のウェブサーバから前記集約情報にもとづいて送信された更新情報を受信して、当該更新情報を加工した情報をクライアント端末に配信する複数の更新情報配信手段と、
前記更新情報の配信先のクライアント端末と当該更新情報の送信元のウェブサーバとの関係をマトリックス形式で示す登録状況から、当該マトリックスの行と列とをそれぞれ入れ替えたマトリックスを生成することにより、当該送信元の集合と当該配信先の集合との対に集約した集約情報を生成し、生成した集約情報を前記集約情報記憶手段に格納するサーバクライアント接続集約手段とを備え、
前記更新情報配信手段は、
受信した前記更新情報を加工する更新情報加工手段と、
前記更新情報加工手段が加工した更新情報を前記集約情報が示す配信先に配信する更新情報再発信手段とを含む
ことを特徴とする更新情報配信システム。 An update information distribution system connected to a web server and a client terminal,
Wherein the web server, the information web server provides the received update information indicating that it has been updated, the update information distribution system for distributing the update information to the client terminal,
Aggregated information storage means for storing aggregated information indicating the source and distribution destination of update information in an aggregated manner;
A plurality of update information delivery means for receiving update information transmitted from a plurality of web servers based on the aggregated information, and delivering information obtained by processing the update information to a client terminal;
From the registration status indicating the relationship between the client terminal to which the update information is distributed and the web server that is the transmission source of the update information in a matrix format, by generating a matrix in which the rows and columns of the matrix are respectively replaced, Server client connection aggregation means for generating aggregate information aggregated into a pair of a set of transmission sources and a set of distribution destinations, and storing the generated aggregate information in the aggregate information storage means,
The update information distribution means includes:
Update information processing means for processing the received update information;
An update information distribution system, comprising: update information retransmitting means for distributing update information processed by the update information processing means to a distribution destination indicated by the aggregate information.
請求項1記載の更新情報配信システム。 The server client connection aggregation means selects one arbitrary row of the matrix, extracts a predetermined number of rows that are close to the selected row, and inserts the extracted rows immediately after the selected row. The rows of the matrix are exchanged, an arbitrary column of the matrix is selected, a predetermined number of columns close to the selected column are extracted, and the extracted column is inserted immediately after the selected column. to, update information distribution system according to claim 1, wherein the interchanging columns of the matrix.
前記更新情報再発信手段は、前記配信ツリー作成手段が作成した配信ツリーの頂点のクライアント端末に更新情報加工手段が加工した更新情報を配信する
請求項1または請求項2に記載の更新情報配信システム。 A distribution tree creation means for creating a distribution tree that is a distribution path of update information and is a distribution path of a tree structure having a distribution destination of update information as a constituent element for each set of distribution destinations based on aggregated information;
The update information distribution system according to claim 1 or 2, wherein the update information retransmitting unit distributes the update information processed by the update information processing unit to a client terminal at the apex of the distribution tree generated by the distribution tree generation unit. .
前記サーバクライアント接続集約手段は、ウェブサーバが更新情報を送信する送信先の更新情報配信手段の数が、クライアント端末に登録されている更新情報の発信元のウェブサーバの数、およびウェブサーバに登録されている更新情報の配信先のクライアント端末の数よりも少ない数になるように更新情報の前記登録状況を集約する
請求項1から請求項3のうちいずれか1項記載の更新情報配信システム。 Based on the aggregated information, for each pair of the set of destination and the set of source comprises update information distribution unit allocating means for determining the update information distribution means for the web server to send updates,
The server client connection aggregating means is configured such that the number of update information distribution means of transmission destinations to which the web server transmits update information is registered in the number of web servers of the update information registered in the client terminal and the web server. The update information distribution system according to any one of claims 1 to 3 , wherein the registration status of the update information is aggregated so that the number of update information distribution destination client terminals is smaller than the number.
前記更新情報配信システムの集約情報記憶手段が、更新情報の送信元と配信先とを集約して示す集約情報を記憶し、
前記更新情報配信システムが、前記更新情報の配信先のクライアント端末と当該更新情報の送信元のウェブサーバとの関係をマトリックス形式で示す登録状況から、当該マトリックスの行と列とをそれぞれ入れ替えたマトリックスを生成することにより、当該送信元の集合と当該配信先の集合との対に集約した集約情報を生成し、生成した集約情報を前記集約情報記憶手段に格納し、
前記更新情報配信システムが、複数のウェブサーバから前記集約情報にもとづいて送信された更新情報を受信して当該更新情報を加工し、加工された更新情報を前記集約情報が示す配信先に配信する
ことを特徴とする更新情報配信方法。 Is connected to the web server and the client terminal information which the web server from the web server provides the received update information indicating that it has been updated, the update information to update information by the update information distribution system for distributing to said client terminal In the delivery method,
Aggregated information storage means of the update information distribution system stores aggregated information indicating the update information transmission source and the distribution destination,
A matrix in which the update information distribution system replaces the rows and columns of the matrix from the registration status indicating the relationship between the client terminal that is the distribution destination of the update information and the web server that is the transmission source of the update information in a matrix format. Generating aggregated information aggregated into a pair of the set of transmission sources and the set of distribution destinations, storing the generated aggregated information in the aggregated information storage unit,
The update information distribution system receives update information transmitted from a plurality of web servers based on the aggregate information, processes the update information, and distributes the processed update information to a distribution destination indicated by the aggregate information An update information delivery method characterized by the above.
前記コンピュータに、
更新情報の送信元と配信先とを集約して示す集約情報にもとづいて複数のウェブサーバから送信された更新情報を受信して、当該更新情報を加工した情報をクライアント端末に配信する更新情報配信処理と、
前記更新情報の配信先のクライアント端末と当該更新情報の送信元のウェブサーバとの関係をマトリックス形式で示す登録状況から、当該マトリックスの行と列とをそれぞれ入れ替えたマトリックスを生成することにより、当該送信元の集合と当該配信先の集合との対に集約した集約情報を生成し、生成した集約情報を集約情報記憶手段に格納するサーバクライアント接続集約処理とを実行させ、
前記更新情報配信処理で、
受信した前記更新情報を加工する更新情報加工処理と
前記更新情報加工処理で加工した更新情報を前記集約情報が示す配信先に配信する更新情報再発信処理とを実行させる
ための更新情報配信プログラム。 A computer connected to the Web server and the client terminal, wherein the web server, the information web server provides is to receive the update information indicating that it has been updated, the update information for delivering the update information to the client terminal A distribution program,
In the computer,
Update information distribution that receives update information transmitted from a plurality of web servers based on aggregated information that indicates an aggregate of update information transmission sources and distribution destinations, and distributes the processed information to client terminals Processing,
From the registration status indicating the relationship between the client terminal to which the update information is distributed and the web server that is the transmission source of the update information in a matrix format, by generating a matrix in which the rows and columns of the matrix are respectively replaced, Generating aggregate information aggregated in pairs of a set of transmission sources and a set of distribution destinations, and executing server client connection aggregation processing for storing the generated aggregate information in an aggregate information storage unit;
In the update information distribution process,
Update information processing for processing the received update information;
Update information distribution program for executing the pre-Symbol the processed updated information in the update information processing is distributed to the distribution destination indicated by the aggregated information update information redialing process.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2006222263A JP4862553B2 (en) | 2006-08-17 | 2006-08-17 | Update information distribution system, update information distribution method, and update information distribution program |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2006222263A JP4862553B2 (en) | 2006-08-17 | 2006-08-17 | Update information distribution system, update information distribution method, and update information distribution program |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2008046888A JP2008046888A (en) | 2008-02-28 |
| JP4862553B2 true JP4862553B2 (en) | 2012-01-25 |
Family
ID=39180575
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2006222263A Expired - Fee Related JP4862553B2 (en) | 2006-08-17 | 2006-08-17 | Update information distribution system, update information distribution method, and update information distribution program |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP4862553B2 (en) |
Families Citing this family (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP5062098B2 (en) * | 2008-08-22 | 2012-10-31 | 日本電気株式会社 | Aggregation server, distribution server, reception client, distribution system, method and program thereof |
Family Cites Families (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP3884821B2 (en) * | 1997-03-27 | 2007-02-21 | 株式会社日立製作所 | Distributed information integration method and apparatus |
| JP2001229233A (en) * | 2000-02-14 | 2001-08-24 | Olympus Optical Co Ltd | System and method for data processing |
| JP3681625B2 (en) * | 2000-10-03 | 2005-08-10 | 日本電信電話株式会社 | Information distribution system, information distribution method, and recording medium recording information distribution program |
| JP4656780B2 (en) * | 2001-09-06 | 2011-03-23 | 日本電信電話株式会社 | Information input distribution system |
| JP2005284334A (en) * | 2004-03-26 | 2005-10-13 | Oki Electric Ind Co Ltd | Web page update notification method and apparatus |
-
2006
- 2006-08-17 JP JP2006222263A patent/JP4862553B2/en not_active Expired - Fee Related
Also Published As
| Publication number | Publication date |
|---|---|
| JP2008046888A (en) | 2008-02-28 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| AU2020325362B2 (en) | Messaging platform for delivering real-time messages | |
| US7822801B2 (en) | Subscription propagation in a high performance highly available content-based publish/subscribe system | |
| CN101854338B (en) | Subscriber equipment and its subscription management method, real-time communication method and system | |
| US20070143442A1 (en) | Scalable Publish/Subscribe Broker Network Using Active Load Balancing | |
| CN109194718A (en) | A kind of block chain network and its method for scheduling task | |
| CN102546564A (en) | Information pushing control method and system | |
| CN101149689A (en) | load distribution equipment | |
| CN104468838B (en) | A kind of P2P networkings and the web service selection method of publish-subscribe model | |
| CN111193789A (en) | Subscription information pushing method and device, computer equipment and readable storage medium | |
| CN101465796A (en) | Method, device and system for collecting and distributing P2P system metadata | |
| CN103186536A (en) | Method and system for scheduling data shearing devices | |
| JP4862553B2 (en) | Update information distribution system, update information distribution method, and update information distribution program | |
| Shivshankar et al. | Spatio-temporal multicast grouping for content-based routing in vehicular networks: A distributed approach | |
| CN104052723A (en) | Information processing method and server | |
| Yoneki et al. | Distributed multicast grouping for publish/subscribe over mobile ad hoc networks. | |
| Wang et al. | On node stability and organization in peer-to-peer video streaming systems | |
| Jafarpour et al. | Ccd: A distributed publish/subscribe framework for rich content formats | |
| Hassan et al. | A dynamic and fast event matching algorithm for a content-based publish/subscribe information dissemination system in Sensor-Grid | |
| Park et al. | A novel hybrid P2P and cloud storage system for retrievability and privacy enhancement | |
| CN109246487B (en) | Intelligent scheduling system | |
| Wei et al. | iRep: indirect reciprocity reputation based efficient content delivery in BT-like systems | |
| Li et al. | Fast and proximity-aware multi-source overlay multicast under heterogeneous environment | |
| Zhang et al. | A scalable publish/subscribe broker network using active load balancing | |
| JP6324304B2 (en) | Client apparatus, communication system, data processing method, and program | |
| Jafarpour et al. | Ccd: efficient customized content dissemination in distributed publish/subscribe |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20090717 |
|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20110629 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20110719 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20110825 |
|
| TRDD | Decision of grant or rejection written | ||
| A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20111011 |
|
| A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20111024 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20141118 Year of fee payment: 3 |
|
| R150 | Certificate of patent or registration of utility model |
Ref document number: 4862553 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
| LAPS | Cancellation because of no payment of annual fees |