Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP4862553B2 - Update information distribution system, update information distribution method, and update information distribution program - Google Patents
[go: Go Back, main page]

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 PDF

Info

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
Application number
JP2006222263A
Other languages
Japanese (ja)
Other versions
JP2008046888A (en
Inventor
大志 加藤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP2006222263A priority Critical patent/JP4862553B2/en
Publication of JP2008046888A publication Critical patent/JP2008046888A/en
Application granted granted Critical
Publication of JP4862553B2 publication Critical patent/JP4862553B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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 information transmission server 100 is distributed to the update information receiving client 200 via the communication network 700.

図11は、更新情報発信サーバ100と更新情報受信クライアント200との接続を示す説明図である。図11に示すように、更新情報は、ウェブページの配信経路と同様に、更新情報発信サーバ100から更新情報受信クライアント200に直接配信される。しかし、この基本的な接続形態による更新情報の配信の効率は低い。   FIG. 11 is an explanatory diagram showing the connection between the update information transmission server 100 and the update information receiving client 200. As shown in FIG. 11, the update information is directly distributed from the update information transmission server 100 to the update information receiving client 200 in the same manner as the distribution path of the web page. However, the efficiency of distribution of update information by this basic connection form is low.

図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 information transmission server 100 is distributed to the update information receiving client 200 via the update information distribution means 300. Such systems include a system having an aggregator type update information distribution unit and a system having a peer-to-peer type update information distribution unit. Non-Patent Document 1 describes a conventional system having peer-to-peer update information distribution means.

まず、アグリゲータ型の更新情報配信手段を持つ従来のシステムについて説明する。アグリゲータ型の更新情報配信手段を持つ従来のシステムは、更新情報配信手段が、更新情報加工手段と、更新情報再発信手段とを有する。   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 information transmission servers 100 transmit update information, the update information processing unit combines the update information into one. The update information retransmitting means distributes the collected update information to all the update information receiving clients 200 by unicast.

次に、ピアツーピア型の更新情報配信手段を持つ従来のシステムについて説明する。ピアツーピア型の更新情報配信手段を持つ従来のシステムは、アグリゲータ型の更新情報配信手段を持つシステムの構成に加えて、配信ツリー作成手段を含む。そして、ピアツーピア型の更新情報配信手段を持つシステムは、アグリゲータ型の更新情報配信手段を持つ従来のシステムの動作に加えて、次の動作を行う。   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 information receiving client 200 at the apex of the distribution tree. Each update information receiving client 200 constituting the distribution tree distributes update information to the lower update information receiving clients 200 in a chained manner, whereby the update information is distributed to all the update information receiving clients 200.

特許文献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.

特開2005−284334号公報(段落0009〜0032、図1)Japanese Patent Laying-Open No. 2005-284334 (paragraphs 0009 to 0032, FIG. 1) 特開2003−150486号公報(段落0007〜0044、図1)Japanese Unexamined Patent Publication No. 2003-150486 (paragraphs 0007 to 0044, FIG. 1) 特開2006−99341号公報(段落0027〜0069、図1)Japanese Patent Laying-Open No. 2006-99341 (paragraphs 0027 to 0069, FIG. 1) 特開2004−246790号公報(段落0047〜0056、図2)JP 2004-246790 A (paragraphs 0047 to 0056, FIG. 2) 特開2004−348290号公報(段落0021〜0064、図1、図5)JP 2004-348290 A (paragraphs 0021 to 0064, FIGS. 1 and 5) ディー・サンドラー(D.Sandler)、外3名,「シェアリング ウェブマイクロニュース ウィズ ピア−トゥ−ピア イベント ノーティフィケーション(Sharing Web micronews with peer−to−peer event notification)」,ピア−トゥ−ピアシステムズ4第4回インターナショナルワークショップ、アイピーティーピーエス2005、米国ニューヨーク州イサカ、2005年2月24日〜25日、リバイストセレクテッドペーパーズ(Peer−to−Peer Systems IV 4th International Workshop、IPTPS 2005、 Ithaca、NY、USA、February 24−25、2005、Reviced Selected Papers),(米国),Springer(スプリンガー),2005年,シリーズ:レクチャーノーツインコンピュータサイエンス(Series:Lecture Notes in Computer Science)、ボリューム3640(Vol.3640),p.141−151D. Sandler, 3 others, “Sharing Web micronews with peer-to-peer event notification”, Peer-to-Peer Systems 4 4th International Workshop, IPPS 2005, Ithaca, NY, February 24-25, 2005, Peer-to-Peer Systems IV 4th International Workshop, IPTPS 2005, Ithaca, NY, USA, February 24-25, 2005, Revised Secret ed Papers), (the United States), Springer (Springer), 2005, Series: Lecture No Twin Computer Science (Series: Lecture Notes in Computer Science), volume 3640 (Vol.3640), p. 141-151

上述したアグリゲータ型の更新情報配信手段を持つ従来のシステム、およびピアツーピア型の更新情報配信手段を持つ従来のシステムは、図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 information transmission server 100 is the product of the frequency F of transmission of update information and the number N of distribution destinations, in the most basic connection form shown in FIG. Although the conventional system having F × N and having the above-described aggregator-type update information distribution unit and the conventional system having the peer-to-peer type update information distribution unit has a distribution load C = F × 1.

しかし、上述したアグリゲータ型の更新情報配信手段を持つ従来のシステム、およびピアツーピア型の更新情報配信手段を持つ従来のシステムには以下に示す問題がある。第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 information distribution unit 300 increases as the number of update information transmission servers 100 and update information reception clients 200 increases. The reason will be described.

まず、上述したアグリゲータ型の更新情報配信手段を持つ従来のシステムの更新情報配信手段300において、更新情報加工手段301は、すべての更新情報発信サーバ100から配信される更新情報をまとめる処理を行う。ここで、更新情報を受信する頻度をF、一つの更新情報を処理する負荷をP、更新情報発信サーバ100の数をMとすると、更新情報加工手段301の処理負荷Dは、D=F×P×Mである。従って、特に更新情報を受信する頻度Fの値が大きい場合に、更新情報発信サーバ100の数Mの値が大きいと、更新情報配信手段300が含む更新情報加工手段301の加工処理の負荷が重くなる。   First, in the update information distribution unit 300 of the conventional system having the aggregator-type update information distribution unit described above, the update information processing unit 301 performs a process of collecting update information distributed from all update information transmission servers 100. Here, assuming that the frequency of receiving update information is F, the load of processing one update information is P, and the number of update information transmission servers 100 is M, the processing load D of the update information processing means 301 is D = F × P × M. Therefore, particularly when the value F of the update information reception server 100 is large and the number M of the update information transmission servers 100 is large, the processing load of the update information processing unit 301 included in the update information distribution unit 300 is heavy. Become.

また、更新情報を再発信する頻度を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 information receiving clients 200 is N, the distribution load C ′ of the update information retransmitting means 302 is C ′ = F ′ × N. Accordingly, especially when the value F ′ for retransmitting update information is large and the number N of update information receiving clients 200 is large, the retransmit processing of the update information retransmitting unit 302 included in the update information distributing unit 300 The load becomes heavy.

次に、上述したピアツーピア型の更新情報配信手段を持つ従来のシステムの更新情報配信手段300において、配信ツリー作成手段303は、それぞれの更新情報発信サーバ100に対応した配信ツリーを作成する。作成される配信ツリーの数は更新情報発信サーバ100の数Mと同じである。そして、配信ツリーは、クライアント端末の参加時や離脱時に再構築される必要があり、クライアント端末の参加や離脱を検知するために、クライアント端末間で定期的な存在確認を行うことが必要である。この再構築や存在確認には通信が伴い、配信ツリーの維持負荷になる。配信ツリーあたりの維持負荷をGとすると、配信ツリーの総維持負荷Eは、E=G×Mである。従って、更新情報発信サーバ100の数Mの値が大きいと、配信ツリー作成手段303の維持処理の負荷が重くなる。   Next, in the update information distribution unit 300 of the conventional system having the above-described peer-to-peer type update information distribution unit, the distribution tree creation unit 303 creates a distribution tree corresponding to each update information transmission server 100. The number of distribution trees created is the same as the number M of update information transmission servers 100. The distribution tree needs to be reconstructed when the client terminal joins or leaves, and it is necessary to periodically check the existence of the client terminal in order to detect the participation or withdrawal of the client terminal. . This reconstruction and presence confirmation involves communication, and becomes a maintenance load on the distribution tree. If the maintenance load per distribution tree is G, the total maintenance load E of the distribution tree is E = G × M. Therefore, if the value M of the number of update information transmission servers 100 is large, the load of the maintenance process of the distribution tree creation unit 303 becomes heavy.

第2の問題点は、特に、ピアツーピア型の更新情報配信手段300において、更新情報受信クライアント200が購読(更新情報を受信することをいう。)を登録していない更新情報発信サーバ100の更新情報を、その更新情報受信クライアント200に容易に配信する方法がないことである。その理由は、ピアツーピア型の更新情報配信手段300の場合は、更新情報は配信ツリー作成手段303が作成した配信ツリーによって配信されるため、その配信ツリーを構成しているクライアント以外には更新情報は配信されないからである。   The second problem is, in particular, update information of the update information transmission server 100 in which the update information receiving client 200 does not register for subscription (refers to receiving update information) in the peer-to-peer update information distribution means 300. Is not easily distributed to the update information receiving client 200. The reason for this is that, in the case of the peer-to-peer type update information distribution means 300, the update information is distributed by the distribution tree created by the distribution tree creation means 303. It is because it is not delivered.

特許文献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 information storage unit 400, a server client connection aggregation unit 500, and an update information distribution unit allocation unit 600. The update information distribution unit 300 is a computer such as a server, and includes an update information processing unit 301 and an update information retransmitting unit 302. Server client connection aggregation means 500 and update information distribution means allocation means 600 are computers such as servers. The update information distribution system includes a plurality of update information distribution means 300.

更新情報加工手段301は、1つまたは複数の更新情報発信サーバ100から更新情報を受け取り、受け取った更新情報のフォーマットの変更や、フィルタリング、複数の更新情報を1つにまとめるなどの処理を行い、更新情報を加工する。   The update information processing means 301 receives update information from one or a plurality of update information transmission servers 100, performs processing such as changing the format of the received update information, filtering, and combining a plurality of update information into one, Process update information.

更新情報加工手段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 information processing unit 301 will be described. The update information format change performed by the update information processing unit 301 is, for example, by parsing an XML (Extensible Markup Language) document in the RSS version 1.0 format and replacing the node name and namespace. This refers to conversion to an XML document in the RSS version 2.0 format. In addition, the filtering of update information means, for example, extracting only an entry including a certain keyword from RSS format update information including a plurality of entries (for example, articles in a web log). Further, combining the plurality of update information into one means generating one update information including information included in the plurality of update information based on the plurality of update information. For example, a plurality of RSS format update information including a plurality of time information-added entries are rearranged based on the time information, and all the entries are grouped into one RSS format update information in time order. That means.

更新情報再発信手段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 information receiving clients 200.

サーバクライアント接続集約手段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 information transmission server 100 to each update information receiving client 200, and the generated matrix is aggregated information. Store in the storage means 400. The update information transmission server 100 and the update information re-transmission means 302 acquire the matrix stored in the aggregate information storage means 400.

配信状況について説明する。配信状況とは、更新情報が、更新情報発信サーバ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 information transmission server 100 to the update information receiving client 200. FIG. 2 is an explanatory diagram illustrating an example of a matrix indicating a distribution status of update information from each update information transmission server 100 to each update information receiving client 200.

図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 unit allocating unit 600 refers to the matrix stored in the aggregate information storage unit 400 and determines the update information distribution unit 300 to which each update information transmission server 100 transmits update information.

更新情報配信手段300であるコンピュータは、コンピュータに、複数のウェブサーバ(更新情報発信サーバ100)から送信された更新情報を受信して、受信した更新情報を加工する更新情報加工処理と、更新情報の送信元と配信先とを集約して示す集約情報にもとづいて、更新情報加工処理で加工した更新情報を集約情報が示す配信先(更新情報受信クライアント200)に配信する更新情報再発信処理とを実行させるための更新情報配信プログラムを搭載している。   The computer that is the update information distribution unit 300 receives update information transmitted from a plurality of web servers (update information transmission server 100) to the computer, updates the received update information, and updates information. Update information re-transmission processing for distributing the update information processed by the update information processing processing to the distribution destination (update information receiving client 200) indicated by the aggregate information based on the aggregate information indicating the transmission source and the distribution destination An update information distribution program is installed.

次に、本発明の第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 connection aggregating unit 500 displays a matrix indicating which update information transmission server 100 distributes update information to which update information reception client 200, information registered in each update information transmission server 100, and each It is created based on information registered in the update information receiving client 200, or obtained from a database holding the matrix.

具体的には、例えば、更新情報受信クライアント200は、予めどの更新情報発信サーバ100から更新情報が配信されるのかを示す更新情報登録リストを記憶しており、サーバクライアント接続集約手段500は、各更新情報受信クライアント200が記憶している更新情報登録リストにもとづいて、図2に例示したマトリックスを作成する。なお、マトリックスの作成は、更新情報発信サーバ100が行ってもよいし、図示しない他のサーバが行ってもよい。   Specifically, for example, update information receiving client 200 stores the update information registration list that indicates beforehand what the update information transmission server 100 of the update information is distributed, server-client connection aggregation means 500, each The matrix illustrated in FIG. 2 is created based on the update information registration list stored in the update information receiving client 200. The creation of the matrix may be performed by the update information transmission server 100 or may be performed by another server (not shown).

サーバクライアント接続集約手段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 connection aggregation unit 500 generates a matrix indicating the aggregation information. FIG. 4 is an explanatory diagram showing a matrix generated by the server client connection aggregation unit 500.

図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 connection aggregation unit 500 extracts the top Q rows that are close to P and inserts them immediately after P (step S203). The server client connection aggregation means 500 randomly selects one arbitrary column of the matrix and sets it as R (step S204). The server client connection aggregation unit 500 calculates the distance between R and each of the other columns (step S205). The server / client connection aggregation means 500 extracts the top S rows that are close to R and inserts them immediately after R (step S206). The server client connection aggregation unit 500 repeats step S201 to step S206 N times (step S207).

ここで、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 connection aggregation unit 500 selects one row that is close to the first row. Specifically, the server client connection aggregation unit 500 selects the fourth row (client X row) that is the closest to the first row (client U row). The server client connection aggregation means 500 inserts the selected client X row below the client U row.

次に、サーバクライアント接続集約手段500は、マトリックスのいずれかの列を選択して、行を入れ替えた場合と同様に、列を入れ替える。そして、サーバクライアント接続集約手段500は、行の入れ替えと列の入れ替えとをN回繰り返して、図4に示すマトリックスを生成して、生成したマトリックスを集約情報記憶手段400に格納する。   Next, the server client connection aggregation unit 500 selects any column of the matrix and switches the columns in the same manner as when the rows are switched. Then, the server client connection aggregation unit 500 repeats row replacement and column replacement N times, generates the matrix shown in FIG. 4, and stores the generated matrix in the aggregation information storage unit 400.

更新情報配信手段割当手段600は、集約情報記憶手段400に格納されたマトリックスを参照して、各更新情報発信サーバ100が更新情報を送信する更新情報配信手段300を決定する。つまり、更新情報配信手段割当手段600は、集約情報記憶手段400に格納されたマトリックスが含む集約情報にもとづき、集約された単位で各更新情報発信サーバ100が更新情報を送信する更新情報配信手段300を決定する。なお、更新情報配信手段割当手段600が、各更新情報発信サーバ100が更新情報を送信する更新情報配信手段300を決定することを、各更新情報発信サーバ100に更新情報を送信する更新情報配信手段300を割り当てるともいう。   The update information distribution unit allocating unit 600 refers to the matrix stored in the aggregate information storage unit 400 and determines the update information distribution unit 300 to which each update information transmission server 100 transmits update information. That is, the update information distribution unit allocating unit 600 updates the update information distribution unit 300 in which each update information transmission server 100 transmits update information in an aggregated unit based on the aggregate information included in the matrix stored in the aggregate information storage unit 400. To decide. The update information distribution unit allocating unit 600 determines that the update information distribution unit 300 to which each update information transmission server 100 transmits the update information, and the update information distribution unit that transmits the update information to each update information transmission server 100. 300 is also assigned.

なお、更新情報配信手段割当手段600は、例えば、集約情報記憶手段400に格納されたマトリックスの左上から、ある程度の大きさの矩形であって、90%以上が○の要素である矩形を集約された単位(集約単位ともいう。)として逐次的に選択する。   The update information distribution unit allocating unit 600 aggregates, for example, rectangles having a certain size and 90% or more of the circles from the upper left of the matrix stored in the aggregate information storage unit 400. Units are also selected sequentially.

なお、ある程度の大きさの矩形とは、行列(マトリックス)の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 unit allocating unit 600 sequentially selects the aggregation units, the update information distribution unit allocation unit 600 selects the aggregation units so as not to include the elements of the circles already included in the other aggregation units. That is, the update information distribution unit allocating unit 600 sequentially selects the aggregation units so that the circle element is not included in a plurality of aggregation units. Then, the update information distribution unit allocating unit 600 ends the selection of the aggregation unit when all the elements of ○ are included in the aggregation unit.

1つまたは複数の更新情報発信サーバ100は、集約情報記憶手段400からマトリックスを取得し、取得したマトリックスにもとづいて、集約された単位で更新情報配信手段割当手段600に割り当てられた更新情報配信手段300に更新情報を発信する(ステップS102)。更新情報加工手段301は発信された複数の更新情報を、1つの更新情報にまとめるなどの加工を行う(ステップS103)。   One or a plurality of update information transmission servers 100 acquires a matrix from the aggregate information storage unit 400, and based on the acquired matrix, the update information distribution unit allocated to the update information distribution unit allocation unit 600 in an aggregated unit. Update information is transmitted to 300 (step S102). The update information processing unit 301 performs processing such as collecting a plurality of transmitted update information into one update information (step S103).

更新情報再発信手段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 information receiving client 200 based on the acquired matrix (step S104).

本実施の形態によれば、配信状況を集約したマトリックスを生成し、生成したマトリックスを更新情報発信サーバ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 information transmission server 100 and the update information distribution unit 300, the update information transmission server According to 100, the update information distribution means 300 of the distribution destination of update information can be distributed (assigned). Therefore, even when the number of update information transmission servers 100 increases, it is possible to avoid a load from being concentrated on one update information distribution unit 300.

なお、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 information processing unit 301 is aggregated by F, the frequency of receiving update information, P, the load of processing one update information, and M, the number of update information transmission servers 100. If the number of distribution statuses is Q, the average processing load of one update information processing unit 301 is D = F × P × M ÷ Q. That is, the processing of the update information processing unit 301 can be distributed based on the matrix generated in step S101.

また、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 information receiving clients 200. 302 average distribution load C ′ = F ′ × N ÷ Q. That is, the processing of the update information retransmitting means 302 can be distributed based on the matrix generated in step S101.

本実施の形態によれば、更新情報発信サーバ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 information transmission server 100 and the update information reception client 200, FIG. As shown in FIG. 5, the update information distribution means 300 can be distributed for each aggregated connection relationship. FIG. 6 is an explanatory diagram showing connections between each update information transmission server 100, update information distribution means 300 assigned for each aggregated connection relationship, and each update information receiving client 200.

また、集約された接続関係は、更新情報発信サーバ100同士や更新情報受信クライアント200同士の関連性を示しているものであり、集約された接続関係を利用して、更新情報発信サーバ100が、接続関係がない更新情報受信クライアント200に更新情報を配信することができる。具体的には、図2に例示したマトリックスを参照すると、サーバDとクライアントVとに接続関係はないが、図4に例示したマトリックスを用いた場合、サーバDが配信した更新情報は、クライアントVにも配信される。従って、更新情報発信サーバ100に更新情報の購読の登録をしていない更新情報受信クライアント200に、関連性がある更新情報を配信して、更新情報受信クライアント200の利用者の趣向に応じたサービス(更新情報)を提供することができる。   Further, the aggregated connection relationship indicates the relationship between the update information transmission servers 100 and between the update information reception clients 200. Using the aggregated connection relationship, the update information transmission server 100 Update information can be distributed to the update information receiving client 200 having no connection relationship. Specifically, referring to the matrix illustrated in FIG. 2, there is no connection relationship between the server D and the client V, but when the matrix illustrated in FIG. 4 is used, the update information distributed by the server D is the client V Also delivered. Accordingly, the update information receiving client 200 that has not registered the update information subscription to the update information transmission server 100 is distributed to the update information receiving client 200 and the service according to the user's preference of the update information receiving client 200 (Update information) can be provided.

実施の形態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 information distribution unit 300 includes a distribution tree creation unit 303 in addition to the components of the first exemplary embodiment shown in FIG. Different from the configuration of the first embodiment. Since the other components are the same as those of the first embodiment, the same reference numerals as those in FIG.

配信ツリー作成手段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 connection aggregation unit 500 and stored in the aggregate information storage unit 400, and includes a part or all of the update information receiving client 200 Create a distribution tree with groups organized in a tree structure. Accordingly, the distribution tree creation unit 303 creates a distribution tree based on the aggregated connection relationship. Specifically, when the connection relationships are aggregated as in the matrix illustrated in FIG. 4, the distribution tree creation unit 303 includes a distribution tree including the client U, the client Z, and the client X as components, the client Y, A distribution tree having the client V and the client W as components is created.

図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 information receiving client 200 transmits update information received from the upper update information receiving client 200 to a plurality of lower update information receiving clients 200. Yes.

配信ツリー作成手段303は、例えば、更新情報受信クライアント200から配信ツリーに参加する問い合わせを受信した順番で、ツリー構造の上位から順番に、上位の更新情報受信クライアント200に所定の数(図13に示す例では、所定の数は2)の更新情報受信クライアント200が従属して接続されるように、配信ツリーを構成する。   For example, the distribution tree creating unit 303 receives a predetermined number (see FIG. 13) from the update information receiving client 200 in order from the top of the tree structure in the order received from the update information receiving client 200. In the example shown, the distribution tree is configured such that the predetermined number 2) of update information receiving clients 200 are subordinately connected.

また、配信ツリー作成手段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 information receiving client 200, in order of wide communication network bandwidth, or lexicographic order of client names. The distribution tree may be configured so that the clients 200 are connected to each other.

なお、配信ツリー作成手段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 information receiving client 200, for example, the update information receiving client connected to the lower order among the update information receiving clients 200 constituting the distribution tree. The number of 200 is smaller than a predetermined number (in the example shown in FIG. 13, the predetermined number is 2), and a reply is made so that the update information receiving client 200 is connected to a lower level of the apex update information receiving client 200. To do.

また、その管理サーバは、配信ツリーから離脱する問い合わせを受信した場合に、例えば、離脱する更新情報受信クライアント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 information receiving client 200 connected to a lower level of the leaving update information receiving client 200 causes the update information receiving client 200 to leave. The distribution tree is changed so as to be connected to the upper update information receiving client 200, and the update information receiving client 200 that is higher than the update information receiving client 200 that leaves the message is connected, and the lower update information receiving client 200 that is leaving is connected. The update information receiving client 200 is notified.

その後、管理サーバは、更新情報受信クライアント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 information receiving client 200, the management server moves the new update information receiving client 200 to the position where the detached update information receiving client 200 is connected in the distribution tree. May participate. In such a configuration, a state in which a predetermined number or more of the update information receiving clients 200 are subordinate to the upper update information receiving client 200 of the detached update information receiving client 200 is indicated as a higher rank of the detached update information receiving client 200. The update information receiving client 200 can be modified to a state in which a predetermined number of update information receiving clients 200 are subordinate.

更新情報再発信手段302は、配信ツリー作成手段303が作成した配信ツリーにもとづいて、更新情報を配信ツリーの頂点の更新情報受信クライアント200に配信する。配信ツリーを構成する各更新情報受信クライアント200は、連鎖的に下位の各更新情報受信クライアント200に更新情報を送信することにより、すべての更新情報受信クライアント200に更新情報が配信される。   The update information retransmitting means 302 distributes update information to the update information receiving client 200 at the top of the distribution tree based on the distribution tree created by the distribution tree creating means 303. Each update information receiving client 200 constituting the distribution tree transmits the update information to each of the lower update information receiving clients 200 in a chain, whereby the update information is distributed to all the update information receiving clients 200.

次に、本発明の第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 connection aggregating unit 500 generates a matrix in which distribution statuses are aggregated based on a matrix indicating which update information transmission server 100 distributes update information to which update information receiving client 200 (step S301). The matrix thus stored is stored in the aggregate information storage means 400.

配信ツリー作成手段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 unit allocating unit 600 refers to the aggregated connection relation of the matrix stored in the aggregate information storage unit 400 and allocates the update information distribution unit 300 to each update information transmission server 100.

1つまたは複数の更新情報発信サーバ100は、集約情報記憶手段400からマトリックスを取得し、取得したマトリックスにもとづいて、集約された単位で更新情報配信手段割当手段600に割り当てられた更新情報配信手段300に更新情報を発信する(ステップS303)。更新情報加工手段301は配信された複数の更新情報を、1つの更新情報にまとめるなどの加工を行う(ステップS304)。   One or a plurality of update information transmission servers 100 acquires a matrix from the aggregate information storage unit 400, and based on the acquired matrix, the update information distribution unit allocated to the update information distribution unit allocation unit 600 in an aggregated unit. Update information is transmitted to 300 (step S303). The update information processing unit 301 performs processing such as combining a plurality of distributed update information into one update information (step S304).

更新情報再発信手段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 information receiving client 200 at the vertex in the distribution tree created by the distribution tree creating means 303 is processed. Information is distributed (step S305). Each update information receiving client 200 constituting the distribution tree transmits update information to each lower update information receiving client 200 in a chain.

本実施の形態によれば、配信状況を集約したマトリックスを生成し、そのマトリックスにもとづいて配信ツリー作成手段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 information transmission servers 100 by the matrix generated in step S201, the distribution tree maintenance load by the distribution tree creation unit 303 is reduced. Can be reduced.

本発明の第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 information transmission server 100 is a web server that transmits update information such as RSS. The update information receiving client 200 is a client terminal that receives update information. The update information distribution means 300 is a computer that provides an aggregator service for collecting (processing) the update information transmitted by the plurality of update information transmission servers 100 and distributing the update information to the update information receiving client 200.

更新情報受信クライアント200は、更新情報を受信するために、更新情報発信サーバ100のURL(Uniform Resource Locator)等の情報を登録する更新情報登録リストを保持している。   The update information receiving client 200 holds an update information registration list for registering information such as a URL (Uniform Resource Locator) of the update information transmission server 100 in order to receive the update information.

具体的には、例えば、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 connection aggregation unit 500 creates a matrix indicating which update information transmission server distributes update information to which update information reception client based on the update information registration list held by each update information reception client. . FIG. 9 is an explanatory diagram illustrating an example of a matrix created by the server client connection aggregation unit 500.

図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 information transmission servers 100 and the number of update information reception clients 200 are small, the load of distributing update information from any update information transmission server 100 to any update information reception client 200 is not so large. The update information distribution means 300 that provides an aggregator service can be realized by a conventional method, that is, a single server. However, when the number of update information transmitting servers 100 and the number of update information receiving clients 200 are large, that is, when the matrix is large, it is difficult for a single server to provide an aggregator service, and a plurality of servers It is necessary to distribute the load using

このとき、マトリックスの行と列とをそれぞれ入れ替えて、○の要素を可能なかぎり集約し、かつ、更新情報配信手段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 information transmission server 100 and the update information reception client 200. By making them as independent as possible, the amount of communication between the update information distribution unit 300 and the update information transmission server 100 and the amount of communication between the update information distribution unit 300 and the update information receiving client 200 are increased. Can be prevented.

なお、更新情報配信手段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 information transmission server 100 and the update information receiving client 200. That is, the server that realizes each update information distribution unit 300 has a total number of the update information transmission server 100 and the number of update information reception clients 200 that are in charge of all the servers that realize each update information distribution unit 300. Installed to minimize.

具体的には、図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 information distribution unit 300 may be different. In such a case, even if the total number of update information transmission servers 100 is k and the total number of update information reception clients 200 is 1, the number of update information transmission servers 100 in charge and the number of update information reception clients 200 are The total number of all servers that realize each update information distribution unit 300 is greater than k + 1. This is because the server that implements the two update information distribution means 300 is in charge of the server B. Therefore, the server B transmits update information to the server that realizes the update information distribution unit 300 that handles the client Z and the server that implements the update information distribution unit 300 that handles the client Y, the client V, and the client W. There must be.

つまり、担当する更新情報発信サーバ100の数と更新情報受信クライアント200の数とを、各更新情報配信手段300を実現する全サーバについて合計した数が多いと、更新情報配信手段300と更新情報発信サーバ100との間の通信量、および更新情報配信手段300と更新情報受信クライアント200との間の通信量が増大する。そのような通信量の増大を防ぐため、各更新情報配信手段300を実現するサーバは、担当する更新情報発信サーバ100の数と更新情報受信クライアント200の数とを、各更新情報配信手段300を実現する全サーバについて合計した数が最小になるように設置される。   That is, if the total number of update information transmission servers 100 in charge and the number of update information receiving clients 200 for all the servers realizing each update information distribution unit 300 is large, the update information distribution unit 300 and the update information transmission unit The amount of communication between the server 100 and the amount of communication between the update information distribution unit 300 and the update information receiving client 200 increases. In order to prevent such an increase in communication volume, the server that implements each update information distribution unit 300 determines the number of update information transmission servers 100 and the number of update information reception clients 200 that are in charge of each update information distribution unit 300. It is installed so that the total number of all realized servers is minimized.

ここで、更新情報配信手段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 information transmission server 100 and the update information reception client 200. In general, the number of servers is limited by physical constraints. When the number of update information distribution means 300 is larger than the number of servers that implement the update information distribution means 300, one server plays the role of a plurality of update information distribution means 300. In this case, the aggregation unit to which the update information distribution unit 300 corresponds (in this example, the set of update information transmission server 100 of the update information transmission source and update information reception client 200 of the distribution destination of update information) is displayed on the matrix. It is preferable to overlap in rows or columns because the connection destination is limited.

このようなマトリックスの変形の方法として、図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 connection aggregation unit 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 connection aggregation unit 500 extracts the top Q rows that are close to P and inserts them immediately after P (step S203). The server client connection aggregation means 500 randomly selects one arbitrary column of the matrix and sets it as R (step S204). The server client connection aggregation unit 500 calculates the distance between R and each of the other columns (step S205). The server / client connection aggregation means 500 extracts the top S rows that are close to R and inserts them immediately after R (step S206). The server client connection aggregation unit 500 repeats step S201 to step S206 N times (step S207).

ここで、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)+(0−1)+(1−0)+(0−1)+(0−1)+(1−0)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)+(0−0)+(1−1)+(0−0)+(0−1)+(1−1)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)/((1+0+1+0+0+11/2×(0+1+0+1+1+01/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)/((1+0+1+0+0+11/2×(1+0+1+0+1+11/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 information distribution unit 300, the distribution process of update information is distributed to each server that realizes the update information distribution unit 300. Note that when distributing the update information distribution process to each server, the process can be more uniformly distributed by considering the performance of each server and the size of the aggregation unit.

また、集約単位の数が更新情報配信手段300を実現するサーバの数より少ない場合には、大きい集約単位を分割することで、集約単位の数を増やすことができる。具体的には、例えば、集約単位のサーバの数が4つであり、クライアント端末の数が3つである場合に、サーバの数がクライアント端末の数よりも多いので、その集約単位を、サーバの数が2つであり、クライアント端末の数が3つである2つの集約単位に分割する。   Further, when the number of aggregation units is smaller than the number of servers that implement the update information distribution unit 300, the number of aggregation units can be increased by dividing a large aggregation unit. Specifically, for example, when the number of servers in the aggregation unit is four and the number of client terminals is three, the number of servers is larger than the number of client terminals. Is divided into two aggregation units each having two client terminals and three client terminals.

上述した方法で変形されたマトリックスは、更新情報発信サーバ100と更新情報再発信手段302とで共有される。そして、更新情報発信サーバ100が更新情報配信手段300に更新情報の配信する際の宛先、および更新情報配信手段300が更新情報受信クライアント200へ更新情報を配信する際の宛先は、必要最少限に絞られることが好ましい。そのようにすることで、マトリックスを使った更新情報配信手段300の負荷分散を行うことができる。   The matrix modified by the above-described method is shared by the update information transmission server 100 and the update information re-transmission means 302. The destination when the update information distribution server 100 distributes update information to the update information distribution unit 300 and the destination when the update information distribution unit 300 distributes update information to the update information receiving client 200 are the minimum necessary. It is preferable to squeeze. By doing so, the load distribution of the update information distribution means 300 using the matrix can be performed.

ところで、変形する前のマトリックスは、更新情報発信サーバ100の数、更新情報受信クライアント200の数、および更新情報の登録状況によって変化する。そのため、マトリックスの変形は、定期的またはマトリックスの変化度合いに応じて行われることが好ましく、最新のマトリックスを用いて更新情報が配信されることが好ましい。なお、マトリックスの変形をマトリックスの変化度合いに応じて行うとは、例えば、マトリックスの変形のステップ毎に要素の集約を試み、集約した要素の数が一定以上であればマトリックスの変形を継続し、集約した要素の数が一定未満であればマトリックスの変形を終了することである。   By the way, the matrix before transformation changes depending on the number of update information transmitting servers 100, the number of update information receiving clients 200, and the update information registration status. Therefore, the matrix is preferably deformed periodically or according to the degree of change of the matrix, and the update information is preferably distributed using the latest matrix. Note that performing matrix deformation according to the degree of matrix change means, for example, trying to aggregate elements at each step of matrix deformation, and if the number of aggregated elements exceeds a certain value, continue matrix deformation. If the number of aggregated elements is less than a certain value, the transformation of the matrix is terminated.

本発明の第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 information distribution unit 300 includes a distribution tree creation unit 303. According to the FeedTree system described in Non-Patent Document 1, the distribution tree creation unit 303 creates a distribution tree for each update information identifier such as the URL of the update information transmission server 100, and the update information includes a plurality of update information. It is efficiently distributed to the receiving client 200.

しかし、各配信ツリーを維持するために、定期的な通信等を行うための維持負荷が発生する。そこで、第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 information transmission server 100 and the distribution tree creation unit 303. Then, it is preferable that the update information transmission server 100 narrows down the destination when the update information is distributed to the update information distribution unit 300 to the minimum necessary. The update information distribution unit 300 receives the update information at the apex of the corresponding distribution tree. It is preferable to distribute update information to the client 200. By doing so, it is possible to prevent an increase in the maintenance load of the distribution tree even when the number of update information transmission servers 100 is increased while taking advantage of FeedTree.

また、本実施例の配信ツリーを使うと、更新情報受信クライアント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 information transmission server 100 is not registered in the update information registration list of the update information receiving client 200, the update information transmission server 100 is aggregated. If it is included in the unit, that is, in the matrix illustrated in FIG. 4, it is registered in the update information registration list of another update information receiving client 200 if it is an element of × but is included in the aggregation unit. Update information of the update information transmission server 100 is also distributed. Specifically, in the example illustrated in FIG. 4, the update information transmitted by the server D is distributed to the client V. The update information is expected to be highly related to the update information distributed to other update information receiving clients 200 by the matrix configuration method, and the update information receiving client 200 that is not registered for subscription (this example) Then, the client V) may be meaningful.

本発明の第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 information transmission server 100 that is the transmission side of the update information and the update information distribution means 300 on the reception side. Instead of distributing the update information to a certain update information distribution means 300 and the update information reception client 200 in the push type, the update information distribution means 300 on the reception side and the update information reception client 200 are each the transmission side. A method of requesting transmission of update information to the update information transmission server 100 and the update information distribution means 300 and distributing it in the PULL type is adopted.

具体的には、本発明の第1の実施例、および第2の実施例では、更新情報発信サーバ100が更新情報配信手段300に更新情報をPUSH型で配信し、更新情報配信手段300が更新情報受信クライアント200に更新情報をPUSH型で配信している。   Specifically, in the first embodiment and the second embodiment of the present invention, the update information transmission server 100 distributes update information to the update information distribution means 300 in the PUSH type, and the update information distribution means 300 updates. Update information is distributed to the information receiving client 200 in the push type.

それに対して、本発明の第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 information transmission server 100 to transmit the update information, the update information is distributed in the PULL type, and the update information receiving client 200 The update information distribution means 300 is requested to transmit the update information, and the update information is distributed in the PULL type.

従って、更新情報受信クライアント200に、更新情報配信手段300がPUSH型で配信した更新情報を受信するためのソフトウェアをインストールすることなく、他の用途で用いているウェブブラウザのソフトウェアを用いて更新情報を受信することができるので、容易に本発明による更新情報配信システムを導入することができる。   Therefore, the update information receiving client 200 does not install the software for receiving the update information distributed by the update information distribution unit 300 in the push type, and the update information is used by using the software of the web browser used for other purposes. Therefore, the update information distribution system according to the present invention can be easily introduced.

本発明は、通信ネットワークを介して複数のウェブサーバから複数のクライアント端末に情報を配信するシステムに適用することができる。また、クライアント端末の利用者の趣向に応じたサービスを提供するシステムにも適用することができる。   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.

更新情報配信システムの第1の実施の形態の構成例を示すブロック図である。It is a block diagram which shows the structural example of 1st Embodiment of an update information delivery system. それぞれの更新情報発信サーバからそれぞれの更新情報受信クライアントへの更新情報の配信状況を示すマトリックスの一例を示す説明図である。It is explanatory drawing which shows an example of the matrix which shows the delivery condition of the update information from each update information transmission server to each update information receiving client. 更新情報配信システムの第1の実施の形態の動作を説明するフローチャートである。It is a flowchart explaining operation | movement of 1st Embodiment of an update information delivery system. サーバクライアント接続集約手段が生成したマトリックスを示す説明図である。It is explanatory drawing which shows the matrix which the server client connection aggregation means produced | generated. マトリックスの変形の方法を説明するフローチャートである。It is a flowchart explaining the deformation | transformation method of a matrix. 各更新情報発信サーバと、集約された接続関係毎に割り当てられた更新情報配信手段と、各更新情報受信クライアントとの接続を示す説明図である。It is explanatory drawing which shows the connection with each update information transmission server, the update information delivery means allocated for every aggregated connection relationship, and each update information receiving client. 更新情報配信システムの第2の実施の形態の構成例を示すブロック図である。It is a block diagram which shows the structural example of 2nd Embodiment of an update information delivery system. 更新情報配信システムの第2の実施の形態の動作を説明するフローチャートである。It is a flowchart explaining operation | movement of 2nd Embodiment of an update information delivery system. 第1の実施例において、サーバクライアント接続集約手段が作成したマトリックスの一例を示す説明図である。It is explanatory drawing which shows an example of the matrix which the server client connection aggregation means produced in the 1st Example. 更新情報の配信経路を示す説明図である。It is explanatory drawing which shows the delivery path | route of update information. 更新情報発信サーバと更新情報受信クライアントとの接続を示す説明図である。It is explanatory drawing which shows the connection of an update information transmission server and an update information receiving client. 更新情報配信手段を用いた従来のシステムを示す説明図である。It is explanatory drawing which shows the conventional system using an update information delivery means. 配信ツリーの構成を示す説明図である。It is explanatory drawing which shows the structure of a delivery tree.

符号の説明Explanation of symbols

100 更新情報発信サーバ
200 更新情報受信クライアント
300 更新情報配信手段
301 更新情報加工手段
302 更新情報再配信手段
303 配信ツリー作成手段
400 集約情報記憶手段
500 サーバクライアント接続集約手段
600 更新情報配信手段割当手段
700 通信ネットワーク
DESCRIPTION OF SYMBOLS 100 Update information transmission server 200 Update information receiving client 300 Update information delivery means 301 Update information processing means 302 Update information redistribution means 303 Distribution tree creation means 400 Aggregation information storage means 500 Server client connection aggregation means 600 Update information distribution means allocation means 700 Communication network

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つ選択し、前記選択した行と距離が近い所定の数の行を抜き出して、前記抜き出した行を前記選択した行の直後に挿入して前記マトリックスの行を入れ替え、前記マトリックスの任意の列を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項記載の更新情報配信システム。
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.
JP2006222263A 2006-08-17 2006-08-17 Update information distribution system, update information distribution method, and update information distribution program Expired - Fee Related JP4862553B2 (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

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