JP2010050815A - Aggregation server, distribution server, reception client, distribution system, method thereof, and program - Google Patents

Aggregation server, distribution server, reception client, distribution system, method thereof, and program Download PDF

Info

Publication number
JP2010050815A
JP2010050815A JP2008214122A JP2008214122A JP2010050815A JP 2010050815 A JP2010050815 A JP 2010050815A JP 2008214122 A JP2008214122 A JP 2008214122A JP 2008214122 A JP2008214122 A JP 2008214122A JP 2010050815 A JP2010050815 A JP 2010050815A
Authority
JP
Japan
Prior art keywords
information
distribution
update information
update
server
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.)
Granted
Application number
JP2008214122A
Other languages
Japanese (ja)
Other versions
JP5062098B2 (en
Inventor
Takayuki Shizuno
隆之 静野
Toshiya Okabe
稔哉 岡部
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 JP2008214122A priority Critical patent/JP5062098B2/en
Publication of JP2010050815A publication Critical patent/JP2010050815A/en
Application granted granted Critical
Publication of JP5062098B2 publication Critical patent/JP5062098B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Transfer Between Computers (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To make compatible high efficiency in distribution of update information and high availability of a system even when a relationship between a server and a client is frequently varied. <P>SOLUTION: An aggregation server includes: a receiving means for receiving, from each distribution server, topology information representing a plurality of distribution routes for update information from the distribution server to a plurality of reception clients corresponding to contents inside the distribution server; and a control means for selecting a selection distribution route so as to partially overlap a part of at least two selection distribution routes when selecting one selection distribution route from among the plurality of distribution routes for each of received topology information, for transmitting a result of the selection to a plurality of distribution servers, and for transmitting a combination instruction indicating a reception client that becomes a starting point of the part and a plurality of update information items to be combined by the reception client to each distribution server that has transmitted the topology information representing the selection distribution route including the part. <P>COPYRIGHT: (C)2010,JPO&INPIT

Description

本発明は、多数のサーバから発信される様々なコンテンツについて、端末から更新情報の要求があった場合に、そのコンテンツの更新情報を、その端末に提供する、配信システムに関する。   The present invention relates to a distribution system that provides update information of a content to the terminal when a request for update information is made from the terminal for various contents transmitted from a large number of servers.

特には、本発明は、アグリゲーションサーバ、配信サーバ、受信クライアント、配信システム、アグリゲーション方法、配信方法、受信方法およびプログラムに関する。   In particular, the present invention relates to an aggregation server, a distribution server, a reception client, a distribution system, an aggregation method, a distribution method, a reception method, and a program.

近年、携帯電話、PDAまたは車載端末などの移動端末においても、移動しながら、音声や映像などの大容量コンテンツをネットワークを利用して交換したい、という要望が、ユーザの間で高まってきている。   In recent years, there is an increasing demand among users for mobile terminals such as mobile phones, PDAs, and in-vehicle terminals to exchange large-capacity content such as voice and video using a network while moving.

さらに、街角監視カメラまたは各種センサが生成した情報などのコンテンツも、ネットワークに流通させ、活用したい、といった要望もある。   Furthermore, there is a demand for distributing and utilizing contents such as information generated by street corner monitoring cameras or various sensors over a network.

そのような要望に対応する技術が検討されている。特に、様々で多量のコンテンツが流通する中で、コンテンツの鮮度を損なわずに、コンテンツの情報を、ユーザへ、リアルタイムに届けることが重要となる。   Technologies that meet such demands are being studied. In particular, while various and large amounts of content are distributed, it is important to deliver content information to users in real time without losing the freshness of the content.

このような要望に対して、コンテンツが更新されたことを表す更新情報を端末に配信するシステムが検討されている。   In response to such a demand, a system that distributes update information indicating that content has been updated to a terminal has been studied.

このシステムにおいて、コンテンツ毎に、更新情報の配信のためのトポロジ(配信経路を示した機器の接続形態)が作成され、そのトポロジに従って更新情報が配信されると、更新情報の配信効率が悪くなってしまう。   In this system, when a topology for distributing update information (apparatus connection form indicating a distribution route) is created for each content, and update information is distributed according to the topology, the distribution efficiency of update information deteriorates. End up.

そこで、特許文献1には、更新情報の配信頻度を少なくするために、更新情報を合成すなわちアグリゲーションする手法が記載されている。   Therefore, Patent Document 1 describes a method of synthesizing, that is, aggregating update information in order to reduce the distribution frequency of update information.

特許文献1に記載の手法では、更新情報が、更新情報配信システムで一旦集約される。また、クライアントがどのコンテンツの更新情報を要求しているかを表す情報も、更新情報配信システムで集約される。そして、更新情報配信システムが、更新情報をアグリゲーションできるクライアントの配信ツリーすなわちトポロジを設定し、更新情報をアグリゲーションし、アグリゲーションされた更新情報を、トポロジに従って配信することによって、更新情報の配信効率を高めている。
特開2008−46888号公報
In the method described in Patent Document 1, update information is once aggregated by an update information distribution system. Information indicating which content update information the client requests is also collected by the update information distribution system. Then, the update information distribution system sets the distribution tree of clients that can aggregate the update information, that is, topology, aggregates the update information, and distributes the aggregated update information according to the topology, thereby improving the distribution efficiency of the update information. ing.
JP 2008-46888 A

しかしながら、上記手法は、ユビキタスネットワーク社会において通信機器間の接続が頻繁に改変する状況に十分対応できない。   However, the above method cannot sufficiently cope with a situation where the connection between communication devices is frequently changed in the ubiquitous network society.

例えば、特許文献1に記載の手法では、サーバとクライアントの関係が頻繁に変化した場合、トポロジの組み換えが頻繁になり、可用性が悪くなるという課題があった。   For example, in the method described in Patent Document 1, when the relationship between the server and the client frequently changes, there is a problem that the topology is frequently recombined and the availability is deteriorated.

本発明の目的は、上記課題を解決することが可能な、アグリゲーションサーバ、配信サーバ、受信クライアント、配信システム、アグリゲーション方法、配信方法、受信方法およびプログラムを提供することにある。   An object of the present invention is to provide an aggregation server, a distribution server, a reception client, a distribution system, an aggregation method, a distribution method, a reception method, and a program capable of solving the above problems.

本発明のアグリゲーションサーバは、複数の配信サーバと通信可能なアグリゲーションサーバであって、各配信サーバから、当該配信サーバから当該配信サーバ内のコンテンツに対応づけられた複数の受信クライアントへの前記コンテンツの更新情報についての複数の配信経路を表すトポロジ情報を受信する受信手段と、前記受信手段にて受信されたトポロジ情報毎に当該トポロジ情報が表す複数の配信経路の中から1つの選択配信経路を選択する際に、少なくとも2つの前記選択配信経路の少なくとも一部が重なるように、前記選択配信経路を選択し、当該選択の結果を前記複数の配信サーバに送信し、かつ、前記一部の始点となる受信クライアントと、当該受信クライアントが合成する複数の更新情報と、を示した合成指示を、前記複数の配信サーバのうち、少なくとも、前記一部を含む選択配信経路を表すトポロジ情報を送信した実行配信サーバのそれぞれに送信する制御手段と、を含む。   The aggregation server of the present invention is an aggregation server that can communicate with a plurality of distribution servers, and each content server transmits the content from the distribution server to the plurality of receiving clients associated with the content in the distribution server. Receiving means for receiving topology information representing a plurality of delivery paths for update information, and selecting one selected delivery path from the plurality of delivery paths represented by the topology information for each topology information received by the receiving means When selecting, the selected delivery route is selected so that at least a part of at least two of the selected delivery routes overlaps, the result of the selection is transmitted to the plurality of delivery servers, and the start point of the part And a plurality of update information to be combined by the reception client. Of delivery server, at least, and a control means for transmitting to each of the execution distribution server that sent the topology information representing the selected delivery path including said portion.

本発明の配信サーバは、上記アグリゲーションサーバと通信可能であり、また、自己内のコンテンツの更新情報を当該コンテンツに対応づけられた複数の受信クライアントに配信する配信サーバであって、自サーバから前記複数の受信クライアントへの前記更新情報についての複数の配信経路を表すトポロジ情報を作成し、当該トポロジ情報を前記アグリゲーションサーバに送信し、前記アグリゲーションサーバから、前記複数の配信経路の中から選択された選択配信経路を示す選択結果を受信すると、前記複数の配信経路の中から前記選択配信経路を選択し、当該アグリゲーションから、前記合成指示を受信すると、当該合成指示を前記選択配信経路に関連づけて記憶する管理手段と、前記管理手段にて選択された選択配信経路に前記合成指示が関連づけられている場合、前記更新情報に、前記選択配信経路を示す配信経路情報と前記合成指示とを付し、前記配信経路情報と合成情報とが付された更新情報を、前記選択配信経路に従って配信し、前記選択配信経路に前記合成指示が関連づけられていない場合、前記更新情報に前記配信経路情報を付し、前記配信経路情報が付された更新情報を、前記選択配信経路に従って配信する配信手段と、を含む。   The distribution server of the present invention is a distribution server that is communicable with the aggregation server, and distributes update information of content within itself to a plurality of receiving clients associated with the content. Create topology information representing a plurality of distribution paths for the update information to a plurality of receiving clients, transmit the topology information to the aggregation server, and are selected from the plurality of distribution paths from the aggregation server When the selection result indicating the selected distribution route is received, the selected distribution route is selected from the plurality of distribution routes, and when the combination instruction is received from the aggregation, the combination instruction is stored in association with the selected distribution route. Managing means, and combining the selected delivery route selected by the managing means When the indication is associated, the update information is added with the delivery route information indicating the selected delivery route and the synthesis instruction, and the update information with the delivery route information and the synthesis information is added to the selected delivery. When the distribution instruction is associated with the selected distribution route, the distribution route information is attached to the update information, and the update information with the distribution route information is distributed according to the selected distribution route. And distribution means.

本発明の受信クライアントは、複数の上記配信サーバ、および、他の受信クライアントと、通信可能な受信クライアントであって、更新情報格納手段と、各配信サーバまたは他の受信クライアントから、前記選択配信経路を示す配信経路情報が付された更新情報を受信する更新情報受信手段と、前記更新情報に付された配信経路情報に、自受信クライアントが終端として示されている場合には、当該更新情報の転送を中止し、当該配信経路情報に自受信クライアントが中継箇所として示されており、かつ、当該更新情報に前記合成指示が付されており、かつ、当該合成指示に自受信クライアントが示されている場合には、当該更新情報を、前記更新情報格納手段に格納する中継管理手段と、前記配信経路情報に自受信クライアントが中継箇所として示されており、かつ、当該更新情報に前記合成指示が付されており、かつ、当該合成指示に自受信クライアントが示されていない場合、または、当該配信経路情報に自受信クライアントが中継箇所として示されており、かつ、当該更新情報に前記合成指示が付されていない場合には、当該更新情報を、前記配信経路情報に従って、他の受信クライアントに転送し、また、前記更新情報格納手段内に、前記合成指示に示された複数の更新情報が格納されている場合、当該複数の更新情報を合成し、当該合成された更新情報を、前記配信経路情報に従って、他の受信クライアントに転送する転送管理手段と、を含む。   The receiving client of the present invention is a receiving client capable of communicating with the plurality of distribution servers and other receiving clients, and the selected distribution route from the update information storage means and each of the distribution servers or other receiving clients. Update information receiving means for receiving update information to which distribution route information is attached, and the distribution route information attached to the update information, when the own reception client is indicated as a termination, The transfer is stopped, the own receiving client is indicated as a relay location in the distribution route information, the combining instruction is added to the update information, and the own receiving client is indicated in the combining instruction. A relay management unit that stores the update information in the update information storage unit; If the update instruction is added to the update information and the own reception client is not indicated in the combination instruction, or the own reception client relays the distribution route information. If the update instruction is not attached to the update information, the update information is transferred to another receiving client according to the distribution route information, and the update information is stored. When a plurality of update information indicated in the combination instruction is stored in the means, the plurality of update information is combined, and the combined update information is transmitted to other receiving clients according to the distribution route information. Transfer management means for transferring.

本発明の配信システムは、上記アグリゲーションサーバと、複数の上記配信サーバと、複数の上記受信クライアントと、を含む。   The distribution system of the present invention includes the aggregation server, the plurality of distribution servers, and the plurality of reception clients.

本発明のアグリゲーション方法は、複数の配信サーバと通信可能なアグリゲーションサーバが行うアグリゲーション方法であって、各配信サーバから、当該配信サーバから当該配信サーバ内のコンテンツに対応づけられた複数の受信クライアントへの前記コンテンツの更新情報についての複数の配信経路を表すトポロジ情報を受信する受信ステップと、前記受信されたトポロジ情報毎に当該トポロジ情報が表す複数の配信経路の中から1つの選択配信経路を選択する際に、少なくとも2つの前記選択配信経路の少なくとも一部が重なるように、前記選択配信経路を選択し、当該選択の結果を前記複数の配信サーバに送信し、かつ、前記一部の始点となる受信クライアントと、当該受信クライアントが合成する複数の更新情報と、を示した合成指示を、前記複数の配信サーバのうち、少なくとも、前記一部を含む選択配信経路を表すトポロジ情報を送信した実行配信サーバのそれぞれに送信する制御ステップと、を含む。   The aggregation method of the present invention is an aggregation method performed by an aggregation server that can communicate with a plurality of distribution servers, from each distribution server to a plurality of receiving clients associated with the contents in the distribution server. A receiving step of receiving topology information representing a plurality of delivery paths for the content update information, and selecting one selected delivery path from the plurality of delivery paths represented by the topology information for each received topology information When selecting, the selected delivery route is selected so that at least a part of at least two of the selected delivery routes overlaps, the result of the selection is transmitted to the plurality of delivery servers, and the start point of the part And a combination of a plurality of update information to be combined by the receiving client. The view, among the plurality of delivery servers, at least, and a control step of transmitting to each of the execution distribution server that sent the topology information representing the selected delivery path including said portion.

本発明の配信方法は、上記アグリゲーションサーバと通信可能であり、また、自己内のコンテンツの更新情報を当該コンテンツに対応づけられた複数の受信クライアントに配信する配信サーバが行う配信方法であって、自サーバから前記複数の受信クライアントへの前記更新情報についての複数の配信経路を表すトポロジ情報を作成し、当該トポロジ情報を前記アグリゲーションサーバに送信し、前記アグリゲーションサーバから、前記複数の配信経路の中から選択された選択配信経路を示す選択結果を受信すると、前記複数の配信経路の中から前記選択配信経路を選択し、当該アグリゲーションから、前記合成指示を受信すると、当該合成指示を前記選択配信経路に関連づけて記憶する管理ステップと、前記選択配信経路に前記合成指示が関連づけられている場合、前記更新情報に、前記選択配信経路を示す配信経路情報と前記合成指示とを付し、前記配信経路情報と合成情報とが付された更新情報を、前記選択配信経路に従って配信し、前記選択配信経路に前記合成指示が関連づけられていない場合、前記更新情報に前記配信経路情報を付し、前記配信経路情報が付された更新情報を、前記選択配信経路に従って配信する配信ステップと、を含む。   The distribution method of the present invention is a distribution method performed by a distribution server that is communicable with the aggregation server and that distributes update information of content in itself to a plurality of receiving clients associated with the content, Create topology information representing a plurality of distribution paths for the update information from the own server to the plurality of receiving clients, send the topology information to the aggregation server, and from the aggregation server, among the plurality of distribution paths When the selection result indicating the selected delivery route selected from the above is received, the selected delivery route is selected from the plurality of delivery routes, and when the synthesis instruction is received from the aggregation, the synthesis instruction is selected. A management step of storing in association with the When linked, the update information is attached with the delivery route information indicating the selected delivery route and the composition instruction, and the update information with the delivery route information and the composition information is added to the selected delivery route. If the composition instruction is not associated with the selected delivery route, the delivery route information is attached to the update information, and the update information with the delivery route information is delivered according to the selected delivery route. A delivery step.

本発明の受信方法は、複数の上記配信サーバ、および、他の受信クライアントと、通信可能な受信クライアントが行う受信方法であって、各配信サーバまたは他の受信クライアントから、前記選択配信経路を示す配信経路情報が付された更新情報を受信する更新情報受信ステップと、前記更新情報に付された配信経路情報に、自受信クライアントが終端として示されている場合には、当該更新情報の転送を中止し、当該配信経路情報に自受信クライアントが中継箇所として示されており、かつ、当該更新情報に前記合成指示が付されており、かつ、当該合成指示に自受信クライアントが示されている場合には、当該更新情報を、更新情報格納手段に格納する中継管理ステップと、前記配信経路情報に自受信クライアントが中継箇所として示されており、かつ、当該更新情報に前記合成指示が付されており、かつ、当該合成指示に自受信クライアントが示されていない場合、または、当該配信経路情報に自受信クライアントが中継箇所として示されており、かつ、当該更新情報に前記合成指示が付されていない場合には、当該更新情報を、前記配信経路情報に従って、他の受信クライアントに転送し、また、前記更新情報格納手段内に、前記合成指示に示された複数の更新情報が格納されている場合、当該複数の更新情報を合成し、当該合成された更新情報を、前記配信経路情報に従って、他の受信クライアントに転送する転送管理ステップと、を含む。   The reception method of the present invention is a reception method performed by a plurality of distribution servers and a reception client that can communicate with other reception clients, and indicates the selected distribution route from each distribution server or other reception client. An update information receiving step for receiving update information to which distribution route information is attached, and when the own reception client is indicated as a termination in the distribution route information attached to the update information, transfer the update information. When the self-receiving client is indicated as a relay location in the distribution route information, the combining instruction is attached to the update information, and the self-receiving client is indicated in the combining instruction Includes a relay management step of storing the update information in the update information storage means, and the self-reception client is indicated as a relay location in the distribution route information. And the update instruction is attached to the update information and the own reception client is not indicated in the combination instruction, or the own reception client is indicated as a relay location in the distribution route information. And the update instruction is not attached to the update information, the update information is transferred to another receiving client according to the delivery route information, and the update information storage means When a plurality of pieces of update information indicated in the combination instruction are stored, the plurality of pieces of update information are combined, and the combined update information is transferred to another receiving client according to the distribution route information. Steps.

本発明のプログラムは、複数の配信サーバと通信可能なコンピュータに、各配信サーバから、当該配信サーバから当該配信サーバ内のコンテンツに対応づけられた複数の受信クライアントへの前記コンテンツの更新情報についての複数の配信経路を表すトポロジ情報を受信する受信手順と、前記受信されたトポロジ情報毎に当該トポロジ情報が表す複数の配信経路の中から1つの選択配信経路を選択する際に、少なくとも2つの前記選択配信経路の少なくとも一部が重なるように、前記選択配信経路を選択し、当該選択の結果を前記複数の配信サーバに送信し、かつ、前記一部の始点となる受信クライアントと、当該受信クライアントが合成する複数の更新情報と、を示した合成指示を、前記複数の配信サーバのうち、少なくとも、前記一部を含む選択配信経路を表すトポロジ情報を送信した実行配信サーバのそれぞれに送信する制御手順と、を実行させる。   The program of the present invention relates to update information of the contents from each distribution server to a plurality of receiving clients associated with the contents in the distribution server from each distribution server to a computer that can communicate with the plurality of distribution servers. A receiving procedure for receiving topology information representing a plurality of delivery paths, and selecting at least two of the selected delivery paths from a plurality of delivery paths represented by the topology information for each received topology information; The selected delivery route is selected so that at least a part of the selected delivery route overlaps, the result of the selection is transmitted to the plurality of delivery servers, and the receiving client that is the starting point of the part, and the receiving client A plurality of update information to be combined with a combination instruction indicating at least a part of the plurality of distribution servers. And a control step of transmitting to each of the execution distribution server that sent the topology information representing the selected delivery routes including, to the execution.

本発明のプログラムは、上記アグリゲーションサーバと通信可能であり、また、自己内のコンテンツの更新情報を当該コンテンツに対応づけられた複数の受信クライアントに配信するコンピュータに、自コンピュータから前記複数の受信クライアントへの前記更新情報についての複数の配信経路を表すトポロジ情報を作成し、当該トポロジ情報を前記アグリゲーションサーバに送信し、前記アグリゲーションサーバから、前記複数の配信経路の中から選択された選択配信経路を示す選択結果を受信すると、前記複数の配信経路の中から前記選択配信経路を選択し、当該アグリゲーションから、前記合成指示を受信すると、当該合成指示を前記選択配信経路に関連づけて記憶する管理手順と、前記選択配信経路に前記合成指示が関連づけられている場合、前記更新情報に、前記選択配信経路を示す配信経路情報と前記合成指示とを付し、前記配信経路情報と合成情報とが付された更新情報を、前記選択配信経路に従って配信し、前記選択配信経路に前記合成指示が関連づけられていない場合、前記更新情報に前記配信経路情報を付し、前記配信経路情報が付された更新情報を、前記選択配信経路に従って配信する配信手順と、を実行させる。   The program of the present invention is communicable with the above aggregation server, and also distributes the update information of the content within itself to a plurality of receiving clients associated with the content from the own computer to the plurality of receiving clients. The topology information representing a plurality of distribution paths for the update information to the server is created, the topology information is transmitted to the aggregation server, and the selected distribution path selected from the plurality of distribution paths is selected from the aggregation server. A management procedure for selecting the selected delivery route from the plurality of delivery routes and receiving the composition instruction from the aggregation and storing the composition instruction in association with the selected delivery route when receiving a selection result indicating The combining instruction is associated with the selected delivery route. When the update information, the delivery information indicating the selected delivery route and the synthesis instruction are attached, and the update information with the delivery route information and the synthesis information is delivered according to the selected delivery route, A delivery procedure for attaching the delivery route information to the update information and delivering the update information to which the delivery route information is attached according to the selected delivery route when the combination instruction is not associated with the selected delivery route; Is executed.

本発明のプログラムは、複数の上記配信サーバ、および、他の受信クライアントと、通信可能なコンピュータに、各配信サーバまたは他の受信クライアントから、前記選択配信経路を示す配信経路情報が付された更新情報を受信する更新情報受信手順と、前記更新情報に付された配信経路情報に、自受信クライアントが終端として示されている場合には、当該更新情報の転送を中止し、当該配信経路情報に自受信クライアントが中継箇所として示されており、かつ、当該更新情報に前記合成指示が付されており、かつ、当該合成指示に自受信クライアントが示されている場合には、当該更新情報を、更新情報格納手段に格納する中継管理手順と、前記配信経路情報に自受信クライアントが中継箇所として示されており、かつ、当該更新情報に前記合成指示が付されており、かつ、当該合成指示に自受信クライアントが示されていない場合、または、当該配信経路情報に自受信クライアントが中継箇所として示されており、かつ、当該更新情報に前記合成指示が付されていない場合には、当該更新情報を、前記配信経路情報に従って、他の受信クライアントに転送し、また、前記更新情報格納手段内に、前記合成指示に示された複数の更新情報が格納されている場合、当該複数の更新情報を合成し、当該合成された更新情報を、前記配信経路情報に従って、他の受信クライアントに転送する転送管理手順と、を実行させる。   The program of the present invention is an update in which distribution route information indicating the selected distribution route is attached from each distribution server or another receiving client to a computer capable of communicating with the plurality of distribution servers and other receiving clients. When the update information reception procedure for receiving information and the distribution route information attached to the update information indicate that the client itself is terminated, the transfer of the update information is stopped and the distribution route information When the own receiving client is indicated as a relay location, the update instruction is attached to the combining instruction, and the combining instruction indicates the own receiving client, the update information is The relay management procedure stored in the update information storage means, and the self-reception client is indicated as a relay location in the distribution route information, and the update information includes If the combination instruction is attached and the own reception client is not indicated in the combination instruction, or the own reception client is indicated as a relay point in the distribution route information, and the update information includes When the combination instruction is not attached, the update information is transferred to another receiving client according to the distribution route information, and a plurality of pieces of information indicated in the combination instruction are stored in the update information storage unit. When the update information is stored, the plurality of update information is combined, and a transfer management procedure for transferring the combined update information to another receiving client according to the distribution route information is executed.

本発明によれば、サーバとクライアントの関係が頻繁に変化する場合においても、更新情報の配信の高効率と、システムの高可用を両立することが可能になる。   According to the present invention, even when the relationship between the server and the client frequently changes, it is possible to achieve both high efficiency of distribution of update information and high availability of the system.

以下、本発明の実施形態を図面を参照して説明する。   Hereinafter, embodiments of the present invention will be described with reference to the drawings.

(第1の実施形態)
図1は、本発明に係る第1の実施形態の更新情報配信システム(以下、単に「配信システム」と称する)1のネットワーク構成例を示す概念図である。
(First embodiment)
FIG. 1 is a conceptual diagram showing a network configuration example of an update information distribution system (hereinafter simply referred to as “distribution system”) 1 according to the first embodiment of the present invention.

配信システム1は、複数の更新情報配信サーバ(以下、単に「配信サーバ」と称する)100と、アグリゲーションサーバ200と、複数の更新情報受信クライアント(以下、単に「受信クライアント」と称する)300と、を含む。   The distribution system 1 includes a plurality of update information distribution servers (hereinafter simply referred to as “distribution servers”) 100, an aggregation server 200, and a plurality of update information reception clients (hereinafter simply referred to as “reception clients”) 300; including.

配信サーバ100は、例えば、コンピュータである。   The distribution server 100 is a computer, for example.

配信サーバ100は、1つまたは複数の他の配信サーバ100と、アグリゲーションサーバ200と、複数の受信クライアント300と、直接的または間接的に接続する。   The distribution server 100 is connected directly or indirectly to one or more other distribution servers 100, the aggregation server 200, and the plurality of receiving clients 300.

配信サーバ100は、自サーバが保有するコンテンツが更新されたことを表す更新情報を、複数の受信クライアント300のうち、その更新情報を希望する受信クライアント(以下「参加クライアント」と称する)300aのそれぞれへ送信する。   The distribution server 100 receives update information indicating that the content held by the server itself has been updated, among the plurality of reception clients 300, each of the reception clients (hereinafter referred to as “participating clients”) 300a who desire the update information. Send to.

参加クライアント300aのそれぞれは、自己に送信される更新情報に示されるコンテンツと対応づけられている。   Each participating client 300a is associated with the content indicated in the update information transmitted to itself.

更新情報は、更新メッセージに付加されて送信される。   The update information is added to the update message and transmitted.

本実施形態では、配信サーバ100は、コンテンツ毎に、コンテンツの更新メッセージの送信経路および送信先(参加クライアント300a)等を表す更新グラフを作成する。配信サーバ100は、コンテンツ毎に、更新グラフを保存する。   In the present embodiment, the distribution server 100 creates, for each content, an update graph that represents a transmission path of a content update message, a transmission destination (participating client 300a), and the like. The distribution server 100 stores an update graph for each content.

コンテンツの更新メッセージは、そのコンテンツに対応する更新グラフに従い転送されていく。   The content update message is transferred according to the update graph corresponding to the content.

各更新グラフは、トポロジ情報と、アグリゲーション指示と、更新グラフ参加クライアント情報(以下、単に「参加クライアント情報」と称する)と、を含む。   Each update graph includes topology information, an aggregation instruction, and update graph participation client information (hereinafter simply referred to as “participation client information”).

トポロジ情報は、参加クライアント300aの接続形態、すなわち、トポロジ情報に対応するコンテンツの更新メッセージの送信経路を表すトポロジを示す。   The topology information indicates a topology representing a connection form of the participating client 300a, that is, a transmission path of a content update message corresponding to the topology information.

トポロジ情報は、現在利用中のトポロジと、1つまたは複数のトポロジ候補と、を示す。つまり、トポロジ情報は、配信サーバ100からその配信サーバ100内のコンテンツに対応づけられた複数の受信クライアント300への更新情報の複数の配信経路を表す。   The topology information indicates the currently used topology and one or more topology candidates. That is, the topology information represents a plurality of distribution routes of update information from the distribution server 100 to a plurality of receiving clients 300 associated with the contents in the distribution server 100.

アグリゲーション指示は、アグリゲーション(合成)される複数の更新メッセージ(以下「被合成更新メッセージ」と称する)と、アグリゲーションを実行させる参加クライアント(以下「実行クライアント」と称する)300a1と、を表す。   The aggregation instruction represents a plurality of update messages (hereinafter referred to as “combined update messages”) to be aggregated (combined) and a participating client (hereinafter referred to as “execution client”) 300a1 that executes the aggregation.

つまり、アグリゲーション指示は、実行クライアント300a1に、複数の被合成更新メッセージをアグリゲーションすることを指示するための、情報である。   That is, the aggregation instruction is information for instructing the execution client 300a1 to aggregate a plurality of synthesized update messages.

なお、アグリゲーション指示は、アグリゲーションサーバ200によって作成され、アグリゲーションサーバ200から配信サーバ100に送信される。   Note that the aggregation instruction is created by the aggregation server 200 and transmitted from the aggregation server 200 to the distribution server 100.

参加クライアント情報は、参加クライアント300aにコンテンツの更新メッセージを送信する際に必要な情報である。   The participating client information is information necessary for transmitting a content update message to the participating client 300a.

例えば、参加クライアント300aのクライアントID、IPアドレス、ポート番号が、参加クライアント情報として、用いられる。   For example, the client ID, IP address, and port number of the participating client 300a are used as participating client information.

アグリゲーションサーバ200は、例えば、コンピュータである。   The aggregation server 200 is, for example, a computer.

アグリゲーションサーバ200は、1つまたは複数の配信サーバ100と、直接的または間接的に接続する。   The aggregation server 200 is directly or indirectly connected to one or a plurality of distribution servers 100.

アグリゲーションサーバ200は、配信サーバ100から、コンテンツ毎に、更新グラフのトポロジ情報を収集する。例えば、アグリゲーションサーバ200は、各配信サーバ100から、更新グラフのトポロジ情報を受信することによって、トポロジ情報を収集する。   The aggregation server 200 collects topology information of update graphs from the distribution server 100 for each content. For example, the aggregation server 200 collects the topology information by receiving the topology information of the update graph from each distribution server 100.

アグリゲーションサーバ200は、更新メッセージを効率よくアグリゲーション(合成)できるトポロジの組み合わせを、更新グラフのトポロジ情報に基づいて計算する。   The aggregation server 200 calculates a combination of topologies that can efficiently aggregate (synthesize) update messages based on the topology information of the update graph.

受信クライアント300は、例えば、コンピュータである。   The receiving client 300 is, for example, a computer.

受信クライアント300は、1つまたは複数の配信サーバ100と、1つまたは複数の他の受信クライアント300と、直接的または間接的に接続する。   The receiving client 300 is connected directly or indirectly to one or more distribution servers 100 and one or more other receiving clients 300.

受信クライアント300は、受信クライアント300の使用者(以下、単に「使用者」と称する)の操作に従って、使用者が希望するコンテンツ(以下「希望コンテンツ」と称する)を、配信システム1上で検索する。   The receiving client 300 searches the distribution system 1 for content desired by the user (hereinafter referred to as “desired content”) in accordance with the operation of the user of the receiving client 300 (hereinafter simply referred to as “user”). .

受信クライアント300は、希望コンテンツが発見された場合、希望コンテンツを所有する配信サーバ100に、使用者の操作に従って接続する。   When the desired content is found, the receiving client 300 connects to the distribution server 100 that owns the desired content according to the operation of the user.

図2は、配信サーバ100と、アグリゲーションサーバ200と、受信クライアント300(参加クライアント300a)と、の間でやり取りされる情報(メッセージ)と、配信システム1の動作の概要を示した説明図である。各メッセージには、宛先が記載されている。   FIG. 2 is an explanatory diagram showing an overview of the operation of the distribution system 1 and information (messages) exchanged among the distribution server 100, the aggregation server 200, and the receiving client 300 (participating client 300a). . Each message describes a destination.

図2において、受信クライアント300は、使用者の操作に従って、検索メッセージ1001を、配信サーバ100に送信する。   In FIG. 2, the receiving client 300 transmits a search message 1001 to the distribution server 100 in accordance with a user operation.

検索メッセージ1001には、希望コンテンツに関する1つまたは複数の情報が記載されている。   The search message 1001 describes one or more pieces of information regarding the desired content.

配信サーバ100は、検索メッセージ1001を受信すると、検索メッセージ1001に記載されたコンテンツに関する情報に該当するコンテンツを検索する。   When the distribution server 100 receives the search message 1001, the distribution server 100 searches for content corresponding to the information related to the content described in the search message 1001.

配信サーバ100は、その検索結果を、検索応答メッセージ1002に付加する。   Distribution server 100 adds the search result to search response message 1002.

配信サーバ100は、検索結果が付加された検索応答メッセージ1002を、検索メッセージ1001の送信元(受信クライアント300)に送信する。   The distribution server 100 transmits a search response message 1002 to which the search result is added to the transmission source (reception client 300) of the search message 1001.

受信クライアント300は、検索応答メッセージ1002を受信すると、検索応答メッセージ1002に付加されている検索結果を表示する。   When receiving the search response message 1002, the receiving client 300 displays the search result added to the search response message 1002.

受信クライアント300は、使用者から、検索結果に示されたコンテンツについての更新情報を希望する旨の指示を受け付けると、参加クライアント300aとして機能して、更新グラフ参加メッセージ(以下、単に「参加メッセージ」と称する)1003を、配信サーバ100に送信する。   Upon receiving an instruction from the user to request update information about the content indicated in the search result, the reception client 300 functions as a participation client 300a and functions as an update client participation message 300a (hereinafter simply referred to as “participation message”). 1003) is transmitted to the distribution server 100.

参加メッセージ1003には、希望コンテンツの識別情報(コンテンツID)と、参加クライアント300aの情報(クライアントID、IPアドレス、ポート番号)とが、記載されている。   In the participation message 1003, identification information (content ID) of the desired content and information (client ID, IP address, port number) of the participating client 300a are described.

配信サーバ100は、参加メッセージ1003を受信すると、参加メッセージ1003に記載されている希望コンテンツの識別情報にて識別される希望コンテンツを特定する。   When distribution server 100 receives participation message 1003, distribution server 100 specifies the desired content identified by the identification information of the desired content described in participation message 1003.

続いて、配信サーバ100は、その希望コンテンツに対応する更新グラフ(以下「対応更新グラフ」と称する)を、参加クライアント300aの情報に基づいて更新する。   Subsequently, the distribution server 100 updates an update graph (hereinafter referred to as “corresponding update graph”) corresponding to the desired content based on information of the participating client 300a.

このとき、配信サーバ100は、配信サーバ100と、既に更新情報の通知対象に参加している参加クライアント300aと、新たに参加した参加クライアント300aと、の複数の接続形態、すなわち、複数のトポロジを示すトポロジ情報を作成する。   At this time, the distribution server 100 has a plurality of connection forms, that is, a plurality of topologies, of the distribution server 100, the participating client 300a that has already participated in the update information notification target, and the newly participating participating client 300a. Create the topology information shown.

つまり、このトポロジ情報は、配信サーバ100から、既に更新情報の通知対象に参加している参加クライアント300aおよび新たに参加した参加クライアント300aへの、更新メッセージの複数の配信経路(トポロジ)を表す。   That is, this topology information represents a plurality of distribution paths (topologies) of update messages from the distribution server 100 to the participating client 300a already participating in the update information notification target and the newly participating participating client 300a.

配信サーバ100は、トポロジ情報にて示された複数のトポロジの中から、今後使用するトポロジを適宜選択し、その選択結果を、トポロジ情報に記載する。   The distribution server 100 appropriately selects a topology to be used in the future from among a plurality of topologies indicated by the topology information, and describes the selection result in the topology information.

配信サーバ100は、対応更新グラフ内のトポロジ情報を、その作成されたトポロジ情報に更新する。   The distribution server 100 updates the topology information in the correspondence update graph to the created topology information.

さらに、配信サーバ100は、参加クライアント300aの情報を、参加クライアント情報に追加する。   Further, the distribution server 100 adds the information of the participating client 300a to the participating client information.

配信サーバ100は、対応更新グラフを更新すると、更新グラフ参加応答メッセージ(以下、単に「参加応答メッセージ」と称する)1004を、参加クライアント300aに送信する。   When the distribution server 100 updates the corresponding update graph, the distribution server 100 transmits an update graph participation response message (hereinafter simply referred to as “participation response message”) 1004 to the participating client 300a.

参加応答メッセージ1004には、対応更新グラフ内のトポロジ情報が含まれる。   The participation response message 1004 includes topology information in the correspondence update graph.

また、各配信サーバ100は、予め設定された時間毎に、トポロジ報告メッセージ1005を、アグリゲーションサーバ200に送信する。   Further, each distribution server 100 transmits a topology report message 1005 to the aggregation server 200 every preset time.

各トポロジ報告メッセージ1005には、トポロジ報告メッセージ1005の送信元である配信サーバ100に保存されている、コンテンツ毎の更新グラフが含まれる。   Each topology report message 1005 includes an update graph for each content stored in the distribution server 100 that is the transmission source of the topology report message 1005.

なお、配信サーバ100は、自サーバ内の全ての更新グラフを、トポロジ報告メッセージ1005に含めてもよいし、自サーバ内の更新グラフのいずれかを、トポロジ報告メッセージ1005に含めてもよい。   The distribution server 100 may include all the update graphs in its own server in the topology report message 1005 or may include any of the update graphs in its own server in the topology report message 1005.

アグリゲーションサーバ200は、トポロジ報告メッセージ1005を受信する毎に、トポロジ報告メッセージ1005に含まれているコンテンツ毎の更新グラフを保存する。   Each time the aggregation server 200 receives the topology report message 1005, the aggregation server 200 stores an update graph for each content included in the topology report message 1005.

アグリゲーションサーバ200は、予め設定された時間毎に、各更新グラフに示されたトポロジのそれぞれの組み合わせの中で、更新メッセージをアグリゲーションすることができる組み合わせ(以下「推奨組み合わせ」と称する)を演算して求める。   The aggregation server 200 calculates combinations (hereinafter referred to as “recommended combinations”) that can aggregate update messages among the combinations of the topologies shown in the respective update graphs at preset time intervals. Ask.

本実施形態では、アグリゲーションサーバ200は、トポロジ情報毎にトポロジ情報が表す複数のトポロジの中から1つの選択トポロジ、つまり、選択配信経路を選択する際に、少なくとも2つの選択トポロジ(選択配信経路)の少なくとも一部が重なるように、選択トポロジを選択する。   In the present embodiment, the aggregation server 200 selects at least two selected topologies (selected distribution routes) when selecting one selected topology, that is, a selected distribution route, from a plurality of topologies represented by the topology information for each topology information. The selected topology is selected so that at least a part of each overlaps.

アグリゲーションサーバ200は、トポロジ情報ごとに選択された選択トポロジの組み合わせを、推奨組み合わせとして用いる。   The aggregation server 200 uses a combination of selected topologies selected for each topology information as a recommended combination.

アグリゲーションサーバ200は、推奨組み合わせを求めると、選択トポロジのうち重なる部分(上記一部)の始点となる受信クライアントを実行クライアントとして示すと共に、その実行クライアントがアグリゲーションする複数の更新メッセージを示したアグリゲーション指示を生成する。   When the aggregation server 200 obtains the recommended combination, the aggregation server 200 indicates the reception client that is the starting point of the overlapping portion (the above-described part) of the selected topology as an execution client, and an aggregation instruction that indicates a plurality of update messages that the execution client aggregates. Is generated.

アグリゲーション指示は、一般的に合成指示と呼ぶことができる。   The aggregation instruction can be generally called a synthesis instruction.

アグリゲーションサーバ200は、推奨組み合わせと、アグリゲーション指示とを、トポロジ指定メッセージ1006に付加する。   The aggregation server 200 adds the recommended combination and the aggregation instruction to the topology designation message 1006.

アグリゲーションサーバ200は、推奨組み合わせとアグリゲーション指示とが付加されたトポロジ指定メッセージ1006を、全ての配信サーバ100に送信する。   The aggregation server 200 transmits a topology designation message 1006 to which the recommended combination and the aggregation instruction are added to all the distribution servers 100.

各配信サーバ100は、トポロジ指定メッセージ1006を受信すると、自サーバ内のコンテンツ毎の更新グラフ内のトポロジ情報にて示された複数のトポロジのうち、トポロジ指定メッセージ1006に付加された推奨組み合わせに示された選択トポロジを、今後使用するトポロジとして選択し、その選択結果をトポロジ情報に記載する。   Upon receiving the topology designation message 1006, each distribution server 100 indicates the recommended combination added to the topology designation message 1006 among a plurality of topologies indicated by the topology information in the update graph for each content in its own server. The selected topology is selected as a topology to be used in the future, and the selection result is described in the topology information.

また、各配信サーバ100は、トポロジ指定メッセージ1006に付加されたアグリゲーション指示を、今後使用するトポロジに関連づけて記憶する。   Each distribution server 100 stores the aggregation instruction added to the topology designation message 1006 in association with the topology to be used in the future.

また、配信サーバ100内のコンテンツが更新されると、配信サーバ100は、更新のあったコンテンツに対応する更新フラグ内のトポロジ情報に記載されているトポロジのうち、今後使用するトポロジとして選択されたトポロジ(選択トポロジ)通りに更新メッセージ1007が転送されていくように、更新メッセージ1007に、コンテンツのメタデータの更新内容を示したメタデータ更新情報と、選択トポロジを示した選択トポロジ情報(配信経路情報)と、アグリゲーション指示と、を含め、その更新メッセージ1007を、選択トポロジに従った送信先(参加クライアント300a)に送信する。   When the content in the distribution server 100 is updated, the distribution server 100 is selected as the topology to be used in the future from the topologies described in the topology information in the update flag corresponding to the updated content. In order for the update message 1007 to be transferred in accordance with the topology (selected topology), the update message 1007 includes metadata update information indicating the update contents of the content metadata, and selected topology information (distribution route) indicating the selected topology. Information) and an aggregation instruction, the update message 1007 is transmitted to the transmission destination (participating client 300a) according to the selected topology.

参加クライアント300aは、更新メッセージ1007を受信すると、更新メッセージ1007に含まれるメタデータ更新情報を得る。   When the participating client 300a receives the update message 1007, the participating client 300a obtains metadata update information included in the update message 1007.

更新メッセージ1007内の選択トポロジに転送指示(次の送信先)が記載されていない(つまり、自己が終端として示されている)場合、参加クライアント300aは、更新メッセージ1007の転送を中止する。   When the transfer instruction (next transmission destination) is not described in the selected topology in the update message 1007 (that is, the self is indicated as a termination), the participating client 300a stops the transfer of the update message 1007.

更新メッセージ1007内の選択トポロジに転送指示が記載され(つまり、自己が中継箇所として示され)、かつ、アグリゲーション指示がない場合、または、更新メッセージ1007内の選択トポロジに転送指示があり、かつ、アグリゲーション指示があり、かつ、アグリゲーション指示に自己が実行クライアントとして記載されていない場合、参加クライアント300aは、更新メッセージ1007をコピーし、そのコピーを、転送先として指定された参加クライアント300aに送信する。   When the transfer instruction is described in the selected topology in the update message 1007 (that is, the self is indicated as a relay location) and there is no aggregation instruction, or there is a transfer instruction in the selected topology in the update message 1007, and If there is an aggregation instruction and the self is not described as an execution client in the aggregation instruction, the participating client 300a copies the update message 1007 and transmits the copy to the participating client 300a designated as the transfer destination.

更新メッセージ1007内の選択トポロジに転送指示があり、かつ、アグリゲーション指示があり、かつ、アグリゲーション指示に自己が実行クライアントとして記載されており、かつ、アグリゲーション指示に記載された更新メッセージの全てが、自己に存在していない場合、参加クライアント300aは、その更新メッセージ1007を保存し、続いて、その更新メッセージについての時間カウントを開始する。   There is a transfer instruction in the selected topology in the update message 1007, there is an aggregation instruction, self is described as an execution client in the aggregation instruction, and all of the update messages described in the aggregation instruction are self If not, the participating client 300a saves the update message 1007 and then starts counting the time for the update message.

なお、アグリゲーション指示に記載された更新メッセージの全てが、自己に存在する場合、参加クライアント300aは、時間カウントを停止し、アグリゲーション対象の更新メッセージをアグリゲーションして、アグリゲーションした更新メッセージを、選択トポロジに従い送信する。   When all of the update messages described in the aggregation instruction are present, the participating client 300a stops counting the time, aggregates the update message to be aggregated, and updates the aggregated update message according to the selected topology. Send.

なお、参加クライアント300aは、時間カウントの値が所定の時間を示すと、自己に保存中の、アグリゲーション指示に記載された各更新メッセージを読み出し、その更新メッセージをアグリゲーションし、選択トポロジに従い、アグリゲーションした更新メッセージ107を送信する。   When the time count value indicates a predetermined time, the participating client 300a reads each update message stored in the aggregation instruction stored in itself, aggregates the update message, and aggregates according to the selected topology. An update message 107 is transmitted.

また、参加クライアント300aは、使用者から希望コンテンツ本体を要求する旨の情報を受け付けると、コンテンツ要求メッセージ1008を、希望コンテンツに対応する配信サーバ100に送信する。   In addition, when the participating client 300a receives information indicating that a desired content body is requested from the user, the participating client 300a transmits a content request message 1008 to the distribution server 100 corresponding to the desired content.

コンテンツ要求メッセージ1008には、希望コンテンツの識別情報(コンテンツID)が記載されている。   The content request message 1008 describes identification information (content ID) of the desired content.

配信サーバ100は、コンテンツ要求メッセージ1008を受信すると、コンテンツ要求メッセージ1008内のコンテンツの識別情報にて識別されたコンテンツを、コンテンツ要求応答メッセージ1009に付加して、コンテンツ要求メッセージ1008の送信元(参加クライアント300a)に送信する。   Upon receiving the content request message 1008, the distribution server 100 adds the content identified by the content identification information in the content request message 1008 to the content request response message 1009, and sends the content request message 1008 from the transmission source (participation) To the client 300a).

また、参加クライアント300aは、使用者から、コンテンツの更新情報の通知の中止を希望する旨の指示を受け付けると、更新グラフ離脱メッセージ(以下、単に「離脱メッセージ」と称する)1010を、配信サーバ100に送信する。   In addition, when the participating client 300a receives an instruction from the user to request that the notification of content update information be canceled, an update graph leaving message (hereinafter simply referred to as “leaving message”) 1010 is sent to the distribution server 100. Send to.

離脱メッセージ1010には、更新情報の通知の中止を希望するコンテンツの識別情報(コンテンツID)と、参加クライアント300aの情報(クライアントID、IPアドレス、ポート番号)とが、記載されている。   In the leave message 1010, identification information (content ID) of content desired to be notified of update information and information (client ID, IP address, port number) of the participating client 300 a are described.

配信サーバ100は、離脱メッセージ1010を受信すると、離脱メッセージ1010に記載されているコンテンツの識別情報にて識別されるコンテンツを特定する。   Upon receiving the leave message 1010, the distribution server 100 specifies the content identified by the content identification information described in the leave message 1010.

続いて、更新グラフ管理部114は、その特定されたコンテンツに対応する更新グラフ(対応更新グラフ)を、離脱メッセージ1010に記載されている受信クライアント300(具体的には、参加クライアント300a)の情報に基づいて更新する。   Subsequently, the update graph management unit 114 displays the update graph (corresponding update graph) corresponding to the identified content as information on the receiving client 300 (specifically, the participating client 300a) described in the leave message 1010. Update based on.

このとき、配信サーバ100は、既に参加している参加クライアント300aから、離脱希望の参加クライアント300aを除いた参加クライアント300aと、配信サーバ100と、の複数の接続形態、すなわち、複数のトポロジを示すトポロジ情報を作成する。   At this time, the distribution server 100 shows a plurality of connection forms, that is, a plurality of topologies, between the participating client 300a excluding the participating client 300a desiring to leave from the participating client 300a that has already participated, and the distribution server 100. Create topology information.

このトポロジ情報は、配信サーバ100から、既に参加している参加クライアント300aから離脱希望の参加クライアント300aを除いた参加クライアント300aへの、更新メッセージの複数の配信経路を表す。   This topology information represents a plurality of distribution paths of update messages from the distribution server 100 to the participating clients 300a excluding the participating clients 300a that want to leave from the participating clients 300a that have already participated.

配信サーバ100は、トポロジ情報にて示された複数のトポロジの中から、今後使用するトポロジ(選択トポロジ)を選択し、その選択結果を、トポロジ情報に記載する。   The distribution server 100 selects a topology (selected topology) to be used in the future from among a plurality of topologies indicated by the topology information, and describes the selection result in the topology information.

配信サーバ100は、対応更新グラフ内のトポロジ情報を、その作成されたトポロジ情報に更新する。   The distribution server 100 updates the topology information in the correspondence update graph to the created topology information.

さらに、配信サーバ100は、離脱を希望する参加クライアント300aの情報を、参加クライアント情報から削除する。   Further, the distribution server 100 deletes the information of the participating client 300a who desires to leave from the participating client information.

配信サーバ100は、対応更新グラフを更新すると、更新グラフ離脱応答メッセージ(以下、単に「離脱応答メッセージ」と称する)1011を、離脱メッセージ1010の送信元(参加クライアント300a)に送信する。   When the distribution server 100 updates the corresponding update graph, the distribution server 100 transmits an update graph leave response message (hereinafter simply referred to as “leave response message”) 1011 to the transmission source (participating client 300a) of the leave message 1010.

次に、配信サーバ100と、アグリゲーションサーバ200と、受信クライアント300と、のそれぞれについて説明する。   Next, each of the distribution server 100, the aggregation server 200, and the reception client 300 will be described.

図3は、配信サーバ100の構成を示すブロック図である。   FIG. 3 is a block diagram illustrating a configuration of the distribution server 100.

配信サーバ100は、主制御部110と、更新グラフ参加クライアント情報データベース(以下「参加クライアント情報DB」と称する)121と、メタデータデータベース(以下「メタデータDB」と称する)122と、コンテンツデータベース(以下「コンテンツDB」と称する)123と、サーバ情報データベース(以下「サーバ情報DB」と称する)124と、ネットワークインターフェイス(以下「ネットワークIF」と称する)130と、を含む。   The distribution server 100 includes a main control unit 110, an update graph participation client information database (hereinafter referred to as “participating client information DB”) 121, a metadata database (hereinafter referred to as “metadata DB”) 122, and a content database ( Hereafter includes a server information database (hereinafter referred to as “server information DB”) 124, and a network interface (hereinafter referred to as “network IF”) 130.

主制御部110は、送受信部111と、トポロジ報告部112と、トポロジ報告タイマ113と、更新グラフ管理部114と、検索サーバ部115と、メタデータ配信サーバ部116と、メタデータ生成部117と、コンテンツサーバ部118と、を含む。   The main control unit 110 includes a transmission / reception unit 111, a topology report unit 112, a topology report timer 113, an update graph management unit 114, a search server unit 115, a metadata distribution server unit 116, a metadata generation unit 117, The content server unit 118 is included.

主制御部110は、CPU、RAM、およびOSなどで構成されたコンピュータの主要部である。主制御部110は、CD−ROM、ハードディスクまたはメモリに記録されたプログラムに従って動作する。CD−ROM、ハードディスクまたはメモリは、一般的に、コンピュータにて読み取り可能な記録媒体と呼ぶことができる。   The main control unit 110 is a main part of a computer that includes a CPU, a RAM, an OS, and the like. The main control unit 110 operates according to a program recorded on a CD-ROM, hard disk, or memory. A CD-ROM, hard disk, or memory can generally be called a computer-readable recording medium.

主制御部110は、そのプログラムを記録媒体から読み取り実行することによって、送受信部111、トポロジ報告部112、トポロジ報告タイマ113、更新グラフ管理部114、検索サーバ部115、メタデータ配信サーバ部116、メタデータ生成部117、および、コンテンツサーバ部118として機能する。   The main control unit 110 reads and executes the program from the recording medium, thereby transmitting / receiving unit 111, topology report unit 112, topology report timer 113, update graph management unit 114, search server unit 115, metadata distribution server unit 116, It functions as the metadata generation unit 117 and the content server unit 118.

トポロジ報告部112と、トポロジ報告タイマ113と、更新グラフ管理部114と、参加クライアント情報DB121とは、管理部100aに含まれる。   The topology report unit 112, the topology report timer 113, the update graph management unit 114, and the participating client information DB 121 are included in the management unit 100a.

メタデータ配信サーバ部116と、メタデータ生成部117と、メタデータDB122とは、配信部100bに含まれる。   The metadata distribution server unit 116, the metadata generation unit 117, and the metadata DB 122 are included in the distribution unit 100b.

メタデータ配信サーバ部116と、メタデータDB122とは、配信制御部100b1に含まれる。   The metadata distribution server unit 116 and the metadata DB 122 are included in the distribution control unit 100b1.

配信サーバ100は、自己内のコンテンツの更新情報を、そのコンテンツに対応づけられた複数の受信クライアント300、すなわち、複数の参加クライアント300aに配信する。   The distribution server 100 distributes the update information of the content in itself to a plurality of receiving clients 300 associated with the content, that is, a plurality of participating clients 300a.

管理部100aは、一般的に管理手段と呼ぶことができる。   Management unit 100a can generally be referred to as management means.

管理部100aは、自サーバから複数の参加クライアント300aへの更新情報の複数の配信経路(トポロジ)を表すトポロジ情報を作成する。   The management unit 100a creates topology information representing a plurality of distribution paths (topologies) of update information from the own server to the plurality of participating clients 300a.

管理部100aは、そのトポロジ情報を含むトポロジ報告メッセージ1005を、アグリゲーションサーバ200に送信する。   The management unit 100a transmits a topology report message 1005 including the topology information to the aggregation server 200.

管理部100aは、アグリゲーションサーバ200から、トポロジ指定メッセージ1006を受信すると、トポロジ情報が示す複数のトポロジの中から、トポロジ指定メッセージ1006に選択トポロジとして示されたトポロジを、今後使用するトポロジ(選択トポロジ)として選択し、その選択結果をトポロジ情報に記載する。   When the management unit 100a receives the topology designation message 1006 from the aggregation server 200, the topology indicated as the selected topology in the topology designation message 1006 from among the plurality of topologies indicated by the topology information (selected topology). ) And describe the selection result in the topology information.

管理部100aは、トポロジ指定メッセージ1006内のアグリゲーション指示を、その選択されたトポロジ(選択トポロジ)に関連づけて記憶する。   The management unit 100a stores the aggregation instruction in the topology designation message 1006 in association with the selected topology (selected topology).

配信部100bは、一般的に配信手段と呼ぶことができる。   Distribution unit 100b can be generally referred to as distribution means.

配信部100bは、選択トポロジにアグリゲーション指示が関連づけられている場合、更新メッセージ1007に、その選択トポロジを示す選択トポロジ情報とアグリゲーション指示とを付して、選択トポロジ情報とアグリゲーション指示とが付された更新メッセージ1007を、その選択トポロジに従って配信する。   When an aggregation instruction is associated with the selected topology, the distribution unit 100b adds the selected topology information and the aggregation instruction to the update message 1007 with the selected topology information indicating the selected topology and the aggregation instruction. The update message 1007 is distributed according to the selected topology.

一方、選択トポロジにアグリゲーション指示が関連づけられていない場合、配信部100bは、更新メッセージ1007に選択トポロジ情報を付して、選択トポロジ情報が付された更新メッセージ1007を、その選択トポロジに従って配信する。   On the other hand, when the aggregation instruction is not associated with the selected topology, the distribution unit 100b adds the selected topology information to the update message 1007 and distributes the update message 1007 with the selected topology information according to the selected topology.

参加クライアント情報DB121は、一般的に記憶手段と呼ぶことができる。   Participating client information DB 121 can generally be referred to as storage means.

図4は、参加クライアント情報DB121のデータ構成を示す概念図である。   FIG. 4 is a conceptual diagram showing the data structure of the participating client information DB 121. As shown in FIG.

参加クライアント情報DB121は、コンテンツDB123に保存されているコンテンツ毎に(図4では、コンテンツID毎に)、トポロジ情報と、アグリゲーション指示と、更新グラフ参加クライアント情報と、を保存する。   The participating client information DB 121 stores topology information, an aggregation instruction, and update graph participating client information for each content stored in the content DB 123 (for each content ID in FIG. 4).

トポロジ情報と、アグリゲーション指示と、更新グラフ参加クライアント情報とで、更新グラフが構成される。   An update graph is configured by the topology information, the aggregation instruction, and the update graph participation client information.

図4において、例えば、トポロジ情報の「n1−n10−n13」は、受信クライアントn1、n10およびn13が直列に接続され、受信クライアントn1が配信サーバ100に接続されていることを示す。   In FIG. 4, for example, “n1-n10-n13” in the topology information indicates that the reception clients n1, n10, and n13 are connected in series, and the reception client n1 is connected to the distribution server 100.

また、トポロジ情報の「n1−n10−n13」は、受信クライアントn1およびn10が中継箇所であり、受信クライアントn13が終端であることも示す。   The topology information “n1-n10-n13” also indicates that the receiving clients n1 and n10 are relay locations and the receiving client n13 is a termination.

一方、トポロジ情報の「n1、n10、n13」は、受信クライアントn1、n10およびn13が、スター型で配信サーバ100に接続されていることを示す。   On the other hand, the topology information “n1, n10, n13” indicates that the receiving clients n1, n10, and n13 are connected to the distribution server 100 in a star shape.

コンテンツC1に関連づけられているアグリゲーション指示「n10−n13:C10」は、受信クライアントn10が実行クライアントであり、コンテンツC1の更新メッセージとコンテンツC10の更新メッセージとが被合成更新メッセージであることを示す。   The aggregation instruction “n10-n13: C10” associated with the content C1 indicates that the receiving client n10 is an execution client, and the update message of the content C1 and the update message of the content C10 are combined update messages.

また、コンテンツC1に関連づけられているアグリゲーション指示「n10−n13:C10」は、受信クライアントn13が、合成された更新メッセージを合成前の更新メッセージのそれぞれに分離する分離クライアントであることも示す。   Further, the aggregation instruction “n10-n13: C10” associated with the content C1 also indicates that the receiving client n13 is a separation client that separates the synthesized update message into each of the update messages before synthesis.

コンテンツC1に関連づけられているアグリゲーション指示「n10−n13:C10」は、例えば、アグリゲーションサーバ200から、「n10−n13:C1、C10」の形式で送信される。   For example, the aggregation instruction “n10-n13: C10” associated with the content C1 is transmitted from the aggregation server 200 in the format “n10-n13: C1, C10”.

「n10−n13:C1、C10」は、n10が実行クライアントであり、コンテンツC1の更新メッセージとコンテンツC10の更新メッセージとが被合成更新メッセージであり、n13が分離クライアントであることを示す。   “N10-n13: C1, C10” indicates that n10 is an execution client, the update message of content C1 and the update message of content C10 are combined update messages, and n13 is a separation client.

更新グラフ管理部114が、その「n10−n13:C1、C10」から、自クライアントに格納されているコンテンツに対応するC1を検出すると、参加クライアント情報DB121において、コンテンツC1と関連づけて「n10−n13:C10」を保存する。なお、「n10−n13:C10」の代わりに、「n10−n13:C1、C10」が保存されてもよい。   When the update graph management unit 114 detects C1 corresponding to the content stored in the own client from the “n10-n13: C1, C10”, the update graph management unit 114 associates the content with the content C1 in the participating client information DB 121 and “n10-n13”. : C10 "is saved. Note that “n10-n13: C1, C10” may be stored instead of “n10-n13: C10”.

なお、トポロジ情報と、アグリゲーション指示と、更新グラフ参加クライアント情報と、更新グラフとについては、上述した通りである。   The topology information, the aggregation instruction, the update graph participation client information, and the update graph are as described above.

図5は、メタデータDB122のデータ構成を示す概念図である。   FIG. 5 is a conceptual diagram showing the data configuration of the metadata DB 122.

メタデータDB122は、コンテンツDB123に保存されているコンテンツのメタデータを保存している。   The metadata DB 122 stores content metadata stored in the content DB 123.

メタデータとは、コンテンツに付随する情報であって、例えば、コンテンツID、URI、タイトル、作成者、作成場所、作成時間、キーワードなどである。   The metadata is information accompanying the content, and includes, for example, a content ID, a URI, a title, a creator, a creation location, a creation time, a keyword, and the like.

コンテンツDB123は、配信サーバ100が受信クライアント300に更新情報を通知する対象としているコンテンツを保存している。   The content DB 123 stores content that is a target for which the distribution server 100 notifies the reception client 300 of update information.

コンテンツとは、例えば、テキスト、音声、写真、動画などである。コンテンツに更新があった場合、コンテンツDB123は、メタデータ生成部117に、更新があった旨を通知する。   The content is, for example, text, sound, photo, video, or the like. When the content is updated, the content DB 123 notifies the metadata generation unit 117 that the content has been updated.

図6は、サーバ情報DB124のデータ構成を示す概念図である。   FIG. 6 is a conceptual diagram illustrating a data configuration of the server information DB 124.

サーバ情報DB124は、検索サーバ部115が検索応答メッセージ1002を送信するときに利用するサーバ情報のデータベースである。サーバ情報DB124は、検索応答メッセージ1002を送信する際に必要となるサーバID、IPアドレス、ポート番号などの情報を保存する。   The server information DB 124 is a database of server information that is used when the search server unit 115 transmits the search response message 1002. The server information DB 124 stores information such as a server ID, an IP address, and a port number that are necessary when the search response message 1002 is transmitted.

送受信部111は、ネットワークIF130を介して、アグリゲーションサーバ200と、他の配信サーバ100と、受信クライアント300と、のそれぞれから、メッセージを受信し処理する。   The transmission / reception unit 111 receives and processes messages from the aggregation server 200, the other distribution server 100, and the reception client 300 via the network IF 130.

送受信部111は、受信したメッセージが参加メッセージ1003であった場合は、参加メッセージ1003を、更新グラフ管理部114へ送る。   When the received message is the participation message 1003, the transmission / reception unit 111 transmits the participation message 1003 to the update graph management unit 114.

さらに、送受信部111は、受信したメッセージが離脱メッセージ1010であった場合は、離脱メッセージ1010を、更新グラフ管理部114へ送る。   Further, when the received message is the leaving message 1010, the transmission / reception unit 111 sends the leaving message 1010 to the update graph management unit 114.

さらに、送受信部111は、受信したメッセージがトポロジ指定メッセージ1006であった場合は、トポロジ指定メッセージ1006を、更新グラフ管理部114へ送る。   Furthermore, when the received message is the topology designation message 1006, the transmission / reception unit 111 sends the topology designation message 1006 to the update graph management unit 114.

さらに、送受信部111は、受信したメッセージがコンテンツ要求メッセージ1008であった場合は、コンテンツ要求メッセージ1008を、コンテンツサーバ部118へ送る。   Furthermore, when the received message is the content request message 1008, the transmission / reception unit 111 sends the content request message 1008 to the content server unit 118.

さらに、送受信部111は、受信したメッセージが検索メッセージ1001であった場合は、検索メッセージ1001を、検索サーバ部115へ送る。   Furthermore, when the received message is the search message 1001, the transmission / reception unit 111 sends the search message 1001 to the search server unit 115.

さらに、送受信部111は、トポロジ報告部112と、更新グラフ管理部114と、検索サーバ部115と、メタデータ配信サーバ部116と、コンテンツサーバ部118と、のそれぞれから、メッセージを受け取る。   Further, the transmission / reception unit 111 receives a message from each of the topology report unit 112, the update graph management unit 114, the search server unit 115, the metadata distribution server unit 116, and the content server unit 118.

送受信部111は、そのメッセージに記載された宛先(例えば、アグリゲーションサーバ200、他の配信サーバ100、または、受信クライアント300)に、ネットワークIF130を介して、そのメッセージを送信する。   The transmission / reception unit 111 transmits the message to the destination (for example, the aggregation server 200, another distribution server 100, or the reception client 300) described in the message via the network IF 130.

更新グラフ管理部114は、一般的にトポロジ情報管理手段と呼ぶことができる。   The update graph management unit 114 can generally be referred to as topology information management means.

更新グラフ管理部114は、受信クライアント300から参加メッセージ1003を受信した場合、参加メッセージ1003に記載されている希望コンテンツの識別情報にて識別される希望コンテンツを特定する。   When the update graph management unit 114 receives the participation message 1003 from the reception client 300, the update graph management unit 114 specifies the desired content identified by the identification information of the desired content described in the participation message 1003.

続いて、更新グラフ管理部114は、その希望コンテンツに対応する更新グラフ(対応更新グラフ)を、参加メッセージ1003に記載されている受信クライアント300(具体的には、参加クライアント300a)の情報に基づいて更新する。   Subsequently, the update graph management unit 114 creates an update graph (corresponding update graph) corresponding to the desired content based on information of the reception client 300 (specifically, the participation client 300a) described in the participation message 1003. Update.

このとき、更新グラフ管理部114は、自サーバ100と、既に更新情報の通知対象に参加している参加クライアント300aと、新たに参加した参加クライアント300aと、の複数の接続形態、すなわち、複数のトポロジを示すトポロジ情報を作成する。   At this time, the update graph management unit 114 has a plurality of connection modes, that is, a plurality of connection forms of the own server 100, the participating client 300a that has already participated in the update information notification target, and the newly participating participating client 300a. Create topology information indicating the topology.

トポロジとしては、例えば、リングトポロジ、二分木トポロジ、など形態を指定するものや、ホップ数最小トポロジ、負荷最小トポロジといったトポロジ作成ポリシーを指定するものなどがある。   Examples of the topology include those that specify a form such as a ring topology and a binary tree topology, and those that specify a topology creation policy such as a minimum hop count topology and a minimum load topology.

更新グラフ管理部114は、トポロジ情報にて示された複数のトポロジの中から、今後使用するトポロジ(選択トポロジ)を適宜選択し、その選択結果を、トポロジ情報に記載する。   The updated graph management unit 114 appropriately selects a topology to be used in the future (selected topology) from the plurality of topologies indicated by the topology information, and describes the selection result in the topology information.

更新グラフ管理部114は、参加クライアント情報DB121に保存されている対応更新グラフ内のトポロジ情報を、その作成されたトポロジ情報に更新する。   The update graph management unit 114 updates the topology information in the corresponding update graph stored in the participating client information DB 121 to the created topology information.

さらに、更新グラフ管理部114は、参加クライアント300aの情報を、参加クライアント情報DB121内の参加クライアント情報に追加する。   Further, the update graph management unit 114 adds the information of the participating client 300a to the participating client information in the participating client information DB 121.

更新グラフ管理部114は、参加クライアント情報DB121内の対応更新グラフを更新すると、参加応答メッセージ1004を、参加クライアント300aに送信する。   When the update graph management unit 114 updates the corresponding update graph in the participation client information DB 121, the update graph management unit 114 transmits a participation response message 1004 to the participation client 300a.

参加応答メッセージ1004には、対応更新グラフ内のトポロジ情報が含まれる。   The participation response message 1004 includes topology information in the correspondence update graph.

さらに、更新グラフ管理部114は、受信クライアント300(参加クライアント300a)から離脱メッセージ1010を受信した場合、離脱メッセージ1010に記載されているコンテンツの識別情報に対応する更新グラフを、参加クライアント300aの情報に基づいて更新する。   Furthermore, when the update graph management unit 114 receives the leave message 1010 from the reception client 300 (participating client 300a), the update graph management unit 114 displays an update graph corresponding to the content identification information described in the leave message 1010 as information on the participating client 300a. Update based on.

このとき、更新グラフ管理部114は、既に参加している参加クライアント300aから、離脱を希望する参加クライアント300aを除いた、参加クライアント300aと、自サーバ100と、の複数の接続形態、すなわち、複数のトポロジを示すトポロジ情報を作成する。   At this time, the update graph management unit 114 excludes the participating client 300a that wants to leave from the participating client 300a that has already participated, and a plurality of connection forms of the participating client 300a and the own server 100, that is, a plurality of connection forms. Create topology information indicating the topology of the.

更新グラフ管理部114は、トポロジ情報にて示された複数のトポロジの中から、今後使用するトポロジを選択し、その選択結果を、トポロジ情報に記載する。   The updated graph management unit 114 selects a topology to be used in the future from among a plurality of topologies indicated by the topology information, and describes the selection result in the topology information.

更新グラフ管理部114は、参加クライアント情報DB121内の対応更新グラフ内のトポロジ情報を、その作成されたトポロジ情報に更新する。   The update graph management unit 114 updates the topology information in the corresponding update graph in the participating client information DB 121 to the created topology information.

さらに、更新グラフ管理部114は、離脱を希望する参加クライアント300aの情報を、参加クライアント情報DB121内の参加クライアント情報から削除する。   Furthermore, the update graph management unit 114 deletes the information of the participating client 300a who wishes to leave from the participating client information in the participating client information DB 121.

更新グラフ管理部114は、参加クライアント情報DB121内の対応更新グラフを更新すると、離脱応答メッセージ1011を、離脱メッセージ1010の送信元(参加クライアント300a)に送信する。   When the update graph management unit 114 updates the corresponding update graph in the participation client information DB 121, the update graph management unit 114 transmits a leave response message 1011 to the transmission source of the leave message 1010 (participating client 300a).

さらに、更新グラフ管理部114は、アグリゲーションサーバ200からトポロジ指定メッセージ1006を受信した場合、トポロジ指定メッセージ1006に記載されている推奨組み合わせ(コンテンツ毎のトポロジ)に合うように、参加クライアント情報DB121内のコンテンツ毎の更新グラフを更新する。   Further, when the update graph management unit 114 receives the topology designation message 1006 from the aggregation server 200, the update graph management unit 114 stores the topology designation message 1006 in the participating client information DB 121 so as to match the recommended combination (topology for each content) described in the topology designation message 1006. Update the update graph for each content.

具体的には、更新グラフ管理部114は、参加クライアント情報DB121内のコンテンツ毎のトポロジの中で、推奨組み合わせにて示されたコンテンツ毎のトポロジを、今後利用するトポロジ(選択トポロジ)として設定する。   Specifically, the update graph management unit 114 sets the topology for each content indicated by the recommended combination in the topology for each content in the participating client information DB 121 as a topology to be used in the future (selected topology). .

トポロジ報告タイマ113は、一般的に報告開始通知手段と呼ぶことができる。   Topology report timer 113 can be generally referred to as report start notification means.

トポロジ報告タイマ113は、予め設定された時間毎に、トポロジ報告部112に対しトポロジ報告契機を通知する。トポロジ報告契機は、一般的に報告開始通知と呼ぶことができる。   The topology report timer 113 notifies the topology report unit 112 of the topology report trigger at every preset time. The topology reporting opportunity can generally be called a report start notification.

トポロジ報告部112は、一般的に報告手段と呼ぶことができる。   Topology reporting unit 112 can generally be referred to as reporting means.

トポロジ報告部112は、トポロジ報告タイマ113からの通知を契機として、参加クライアント情報DB121の全てのトポロジ情報またはいくつかのトポロジ情報を、トポロジ報告メッセージ1005に含めて、アグリゲーションサーバ200へ送信する。   The topology reporting unit 112 includes all topology information or some topology information in the participating client information DB 121 in the topology report message 1005 and transmits it to the aggregation server 200 in response to the notification from the topology report timer 113.

メタデータ配信サーバ部116は、メタデータ生成部117からの通知を契機に、更新のあったコンテンツについて、参加クライアント情報DB121に記載されている受信クライアント300(参加クライアント300a)に対し、選択トポロジに記載されている通りに更新メッセージ1007が転送されていくように、メタデータ更新情報と、選択トポロジ情報と、その選択トポロジ情報に関連づけられているアグリゲーション指示とを、更新メッセージ1007に含めて送信する。   In response to the notification from the metadata generation unit 117, the metadata distribution server unit 116 sets the updated topology to the receiving client 300 (participating client 300a) described in the participating client information DB 121 with respect to the updated content. The update message 1007 is transmitted including the metadata update information, the selected topology information, and the aggregation instruction associated with the selected topology information so that the update message 1007 is transferred as described. .

なお、選択トポロジ情報にアグリゲーション指示が関連づけられていない場合、メタデータ配信サーバ部116は、メタデータ更新情報と、選択トポロジ情報とを、更新メッセージ1007に含めて送信する。   When the aggregation instruction is not associated with the selected topology information, the metadata distribution server unit 116 transmits the metadata update information and the selected topology information included in the update message 1007.

例えば、図4に示した選択トポロジが「n1−n10−n13」である状況下で、コンテンツC1に更新があった場合は、メタデータ配信サーバ部116は、受信クライアントn1に対し、選択トポロジ「n1−n10−n13」を示す選択トポロジ情報と、その選択トポロジに関連づけられているアグリゲーション指示「n10−n13:C10」と、が付された更新メッセージ1007を送信する。   For example, in the situation where the selected topology shown in FIG. 4 is “n1-n10-n13”, when the content C1 is updated, the metadata distribution server unit 116 sends the selected topology “ An update message 1007 with selected topology information indicating “n1-n10-n13” and an aggregation instruction “n10-n13: C10” associated with the selected topology is transmitted.

コンテンツサーバ部118は、受信クライアント300(具体的には、参加クライアント300a)からコンテンツ要求メッセージ1008を受信した場合、コンテンツ要求メッセージ1008で指定されたコンテンツを、コンテンツ要求応答メッセージ1009に付加して、受信クライアント300に送信する。   When the content server unit 118 receives the content request message 1008 from the receiving client 300 (specifically, the participating client 300a), the content server unit 118 adds the content specified by the content request message 1008 to the content request response message 1009, Transmit to the receiving client 300.

検索サーバ部115は、受信クライアント300から検索メッセージ1001を受信した場合、メタデータDB122と検索メッセージ1001に付加されたキーワードを照合して、検索メッセージ1001に適合するメタデータを検索応答メッセージ1002に付加して受信クライアント300に送信する。   When the search server 115 receives the search message 1001 from the receiving client 300, the search server unit 115 collates the metadata DB 122 with the keyword added to the search message 1001, and adds metadata that matches the search message 1001 to the search response message 1002. To the receiving client 300.

さらに、検索サーバ部115は、受信クライアント300から検索メッセージ1001を受信した場合、サーバ情報DB124に記載された配信サーバ100に対して、受信した検索メッセージ1001をコピーして送信する。   Further, when receiving the search message 1001 from the receiving client 300, the search server unit 115 copies and transmits the received search message 1001 to the distribution server 100 described in the server information DB 124.

メタデータ生成部117は、一般的に生成手段と呼ぶことができる。   The metadata generation unit 117 can be generally referred to as generation means.

メタデータ生成部117は、コンテンツDB123からコンテンツ更新の通知を受けた場合、コンテンツDB123内の該当するコンテンツの更新内容を確認し、メタデータDB122内の該当するメタデータを更新する。本実施形態では、更新されたメタデータが、更新情報として用いられる。   When the metadata generation unit 117 receives a content update notification from the content DB 123, the metadata generation unit 117 checks the update content of the corresponding content in the content DB 123 and updates the corresponding metadata in the metadata DB 122. In the present embodiment, the updated metadata is used as update information.

さらに、メタデータ生成部117は、コンテンツDB123からコンテンツ更新の通知を受けた場合、メタデータ配信サーバ部116に対し、該当するコンテンツについてコンテンツ更新を通知する。   Furthermore, when the metadata generation unit 117 receives a content update notification from the content DB 123, the metadata generation unit 117 notifies the metadata distribution server unit 116 of the content update for the corresponding content.

配信制御部100b1は、一般的に配信制御手段と呼ぶことができる。   Distribution control unit 100b1 can be generally referred to as distribution control means.

配信制御部100b1は、メタデータ生成部117からの通知を契機に、更新のあったコンテンツについて、メタデータ更新情報と、選択トポロジ情報と、その選択トポロジ情報に関連づけられているアグリゲーション指示とを、更新メッセージ1007に含めて、選択トポロジに従って送信する。   In response to the notification from the metadata generation unit 117, the distribution control unit 100b1 sends metadata update information, selected topology information, and an aggregation instruction associated with the selected topology information for the updated content. It is included in the update message 1007 and transmitted according to the selected topology.

なお、選択トポロジ情報にアグリゲーション指示が関連づけられていない場合、配信制御部100b1は、更新のあったコンテンツについて、メタデータ更新情報と、選択トポロジ情報とを、更新メッセージ1007に含めて、選択トポロジに従って送信する。   When the aggregation instruction is not associated with the selected topology information, the distribution control unit 100b1 includes the metadata update information and the selected topology information for the updated content in the update message 1007 according to the selected topology. Send.

図7は、アグリゲーションサーバ200の構成を示すブロック図である。   FIG. 7 is a block diagram showing the configuration of the aggregation server 200.

アグリゲーションサーバ200は、主制御部210と、トポロジ情報データベース(以下「トポロジ情報DB」と称する)221と、 ネットワークインターフェイス(以下「ネットワークIF」と称する)230と、を含む。   Aggregation server 200 includes a main controller 210, a topology information database (hereinafter referred to as “topology information DB”) 221, and a network interface (hereinafter referred to as “network IF”) 230.

主制御部210は、送受信部211と、アグリゲーションパタン演算部212と、アグリゲーションパタン演算タイマ213と、を含む。   The main control unit 210 includes a transmission / reception unit 211, an aggregation pattern calculation unit 212, and an aggregation pattern calculation timer 213.

主制御部210は、CPU、RAM、およびOSなどで構成されたコンピュータの主要部である。主制御部210は、CD−ROM、ハードディスクまたはメモリに記録されたプログラムに従って動作する。   The main control unit 210 is a main part of a computer configured with a CPU, a RAM, an OS, and the like. The main control unit 210 operates in accordance with a program recorded on a CD-ROM, hard disk or memory.

主制御部210は、そのプログラムを記録媒体から読み取り実行することによって、送受信部211、アグリゲーションパタン演算部212、および、アグリゲーションパタン演算タイマ213として機能する。   The main control unit 210 functions as the transmission / reception unit 211, the aggregation pattern calculation unit 212, and the aggregation pattern calculation timer 213 by reading and executing the program from the recording medium.

アグリゲーションパタン演算部212と、アグリゲーションパタン演算タイマ213と、トポロジ情報DB221とは、制御部200aに含まれる。   The aggregation pattern calculation unit 212, the aggregation pattern calculation timer 213, and the topology information DB 221 are included in the control unit 200a.

トポロジ情報DB221は、一般的に格納手段と呼ぶことができる。   The topology information DB 221 can be generally called storage means.

図8は、トポロジ情報DB221のデータ構成を示す概念図である。   FIG. 8 is a conceptual diagram showing the data configuration of the topology information DB 221. As shown in FIG.

トポロジ情報DB221は、配信サーバ100ごとに、配信サーバ100から送信されるコンテンツ毎の更新グラフを保存する。   The topology information DB 221 stores an update graph for each content transmitted from the distribution server 100 for each distribution server 100.

送受信部211は、一般的に受信手段と呼ぶことができる。   Transmitter / receiver 211 can be generally referred to as receiving means.

送受信部211は、ネットワークIF230を介して、配信サーバ100からのメッセージを受信し処理する。   The transmission / reception unit 211 receives and processes a message from the distribution server 100 via the network IF 230.

送受信部211は、受信したメッセージがトポロジ報告メッセージ1005であった場合は、トポロジ報告メッセージ1005を、アグリゲーションパタン演算部212へ送る。   If the received message is the topology report message 1005, the transmission / reception unit 211 sends the topology report message 1005 to the aggregation pattern calculation unit 212.

さらに、送受信部211は、アグリゲーションパタン演算部212からメッセージ(例えば、トポロジ指定メッセージ1006)を受け取り、そのメッセージに記載された宛先となる配信サーバ100に、ネットワークIF230を介して、そのメッセージを送信する。   Furthermore, the transmission / reception unit 211 receives a message (for example, topology designation message 1006) from the aggregation pattern calculation unit 212, and transmits the message to the distribution server 100 serving as the destination described in the message via the network IF 230. .

アグリゲーションパタン演算部212は、一般的に演算手段と呼ぶことができる。   Aggregation pattern calculation section 212 can be generally referred to as calculation means.

アグリゲーションパタン演算部212は、配信サーバ100からトポロジ報告メッセージ1005を受信した場合、トポロジ報告メッセージ1005に含まれるコンテンツ毎の更新グラフを、トポロジ情報DB221に登録する。   When the aggregation pattern calculation unit 212 receives the topology report message 1005 from the distribution server 100, the aggregation pattern calculation unit 212 registers an update graph for each content included in the topology report message 1005 in the topology information DB 221.

さらに、アグリゲーションパタン演算部212は、アグリゲーションパタン演算タイマ213からの通知を契機として、トポロジ情報DB221に保存された、配信サーバ100毎のトポロジ情報を全て読み出し、各更新グラフに示されたコンテンツ毎に、トポロジのそれぞれの組み合わせの中から、推奨組み合わせを演算して求める。   Further, the aggregation pattern calculation unit 212 reads all the topology information for each distribution server 100 stored in the topology information DB 221 triggered by the notification from the aggregation pattern calculation timer 213, and for each content shown in each update graph. Then, a recommended combination is calculated from each combination of topologies.

このとき、アグリゲーションパタン演算部212は、トポロジ情報毎に1つの選択トポロジを選択する際に、選択トポロジの組み合わせの中から、選択トポロジ内の受信クライアント間のリンクの重なり数の分散値が最大になる組み合わせを求め、その組み合わせを推奨組み合わせとして選択する。   At this time, when selecting one selected topology for each topology information, the aggregation pattern calculation unit 212 maximizes the dispersion value of the number of overlapping links between receiving clients in the selected topology from among the combinations of selected topologies. And a combination is selected as a recommended combination.

このように更新グラフのトポロジの組み合わせを選択することにより、配信サーバ100が許すトポロジ構成の組み合わせの中で、更新メッセージをアグリゲーションできるリンク数を最大化することができる。   By selecting the topology combination of the update graph in this way, the number of links that can aggregate the update message can be maximized among the topology configuration combinations permitted by the distribution server 100.

さらに、アグリゲーションパタン演算部212は、推奨組み合わせに応じたアグリゲーション指示を生成する。   Furthermore, the aggregation pattern calculation unit 212 generates an aggregation instruction according to the recommended combination.

さらに、アグリゲーションパタン演算部212は、推奨組み合わせと、アグリゲーション指示とを、トポロジ指定メッセージ1006に付加する。   Furthermore, the aggregation pattern calculation unit 212 adds the recommended combination and the aggregation instruction to the topology designation message 1006.

アグリゲーションパタン演算部212は、推奨組み合わせとアグリゲーション指示とが付加されたトポロジ指定メッセージ1006を、全ての配信サーバ100に送信する。   The aggregation pattern calculation unit 212 transmits the topology designation message 1006 to which the recommended combination and the aggregation instruction are added to all the distribution servers 100.

アグリゲーションパタン演算タイマ213は、一般的に動作開始通知手段と呼ぶことができる。   Aggregation pattern calculation timer 213 can generally be referred to as operation start notification means.

アグリゲーションパタン演算タイマ213は、予め設定された時間毎に、アグリゲーションパタン演算部212に対し、アグリゲーション組み合わせ演算の契機を通知する。この契機は、一般的に動作開始通知と呼ぶことができる。   The aggregation pattern calculation timer 213 notifies the aggregation pattern calculation unit 212 of the trigger of the aggregation combination calculation at every preset time. This opportunity can generally be called an operation start notification.

制御部200aは、一般的に制御手段と呼ぶことができる。   Control unit 200a can generally be referred to as control means.

制御部200aは、アグリゲーションパタン演算タイマ213からの通知を契機として、推奨組み合わせを演算し、さらに、その推奨組み合わせに応じたアグリゲーション指示を生成する。   The control unit 200a calculates a recommended combination triggered by the notification from the aggregation pattern calculation timer 213, and further generates an aggregation instruction according to the recommended combination.

制御部200aは、推奨組み合わせと、アグリゲーション指示とを、トポロジ指定メッセージ1006に付加する。   The control unit 200a adds the recommended combination and the aggregation instruction to the topology designation message 1006.

制御部200aは、推奨組み合わせとアグリゲーション指示とが付加されたトポロジ指定メッセージ1006を、全ての配信サーバ100に送信する。   The control unit 200a transmits the topology designation message 1006 to which the recommended combination and the aggregation instruction are added to all the distribution servers 100.

図9は、受信クライアント300の構成を示すブロック図である。   FIG. 9 is a block diagram illustrating a configuration of the reception client 300.

受信クライアント300は、主制御部310と、サーバ情報データベース(以下「サーバ情報DB」と称する)321と、ネットワークインターフェイス(以下「ネットワークIF」と称する)330と、を含む。   The reception client 300 includes a main control unit 310, a server information database (hereinafter referred to as “server information DB”) 321, and a network interface (hereinafter referred to as “network IF”) 330.

主制御部310は、送受信部311と、コンテンツクライアント部312と、検索クライアント部313と、更新グラフ参加離脱部314と、更新グラフクライアント部315と、アグリゲーション待ちバッファ316と、メッセージ作成部317と、バッファタイマ318と、を含む。   The main control unit 310 includes a transmission / reception unit 311, a content client unit 312, a search client unit 313, an update graph join / leave unit 314, an update graph client unit 315, an aggregation waiting buffer 316, a message creation unit 317, A buffer timer 318.

主制御部310は、CPU、RAM、およびOSなどで構成されたコンピュータの主要部である。主制御部310は、CD−ROM、ハードディスクまたはメモリに記録されたプログラムに従って動作する。   The main control unit 310 is a main part of a computer that includes a CPU, a RAM, an OS, and the like. The main control unit 310 operates according to a program recorded on a CD-ROM, hard disk, or memory.

主制御部310は、そのプログラムを記録媒体から読み取り実行することによって、送受信部311、コンテンツクライアント部312、検索クライアント部313、更新グラフ参加離脱部314、更新グラフクライアント部315、アグリゲーション待ちバッファ316、メッセージ作成部317、および、バッファタイマ318として機能する。   The main control unit 310 reads and executes the program from the recording medium, thereby transmitting / receiving unit 311, content client unit 312, search client unit 313, update graph joining / leaving unit 314, update graph client unit 315, aggregation waiting buffer 316, It functions as a message creation unit 317 and a buffer timer 318.

メッセージ作成部317と、バッファタイマ318とは、転送管理部300aに含まれる。   The message creation unit 317 and the buffer timer 318 are included in the transfer management unit 300a.

サーバ情報DB321は、図6に示した配信サーバ100内のサーバ情報DB124と同等のものであって、検索クライアント部313が検索メッセージ1001を送信するときに利用するデータベースである。   The server information DB 321 is equivalent to the server information DB 124 in the distribution server 100 illustrated in FIG. 6 and is a database used when the search client unit 313 transmits the search message 1001.

サーバ情報DB321は、検索メッセージ1001を送信する際に必要となるサーバID、IPアドレス、ポート番号などの情報を保存する。   The server information DB 321 stores information such as a server ID, an IP address, and a port number that are necessary when the search message 1001 is transmitted.

送受信部311は、一般的に更新情報受信手段と呼ぶことができる。   The transmission / reception unit 311 can be generally referred to as update information receiving means.

送受信部311は、ネットワークIF330を介して、配信サーバ100と受信クライアント300とのそれぞれから、メッセージを受信し処理する。   The transmission / reception unit 311 receives and processes a message from each of the distribution server 100 and the reception client 300 via the network IF 330.

送受信部311は、受信したメッセージがコンテンツ要求応答メッセージ1009であった場合は、コンテンツ要求応答メッセージ1009を、コンテンツクライアント部312へ送る。   When the received message is the content request response message 1009, the transmission / reception unit 311 sends the content request response message 1009 to the content client unit 312.

さらに、送受信部311は、受信したメッセージが検索応答メッセージ1002であった場合は、検索応答メッセージ1002を、検索クライアント部313へ送る。   Further, when the received message is the search response message 1002, the transmission / reception unit 311 sends the search response message 1002 to the search client unit 313.

さらに、送受信部311は、受信したメッセージが参加応答メッセージ1004であった場合は、参加応答メッセージ1004を、更新グラフ参加離脱部314へ送る。   Furthermore, when the received message is the participation response message 1004, the transmission / reception unit 311 sends the participation response message 1004 to the update graph participation / leaving unit 314.

さらに、送受信部311は、受信したメッセージが離脱応答メッセージ1011であった場合は、離脱応答メッセージ1011を、更新グラフ参加離脱部314へ送る。   Further, when the received message is the leaving response message 1011, the transmitting / receiving unit 311 sends the leaving response message 1011 to the update graph participation leaving unit 314.

さらに、送受信部311は、受信したメッセージが更新メッセージ1007であった場合は、更新メッセージ1007を、更新グラフクライアント部315へ送る。   Furthermore, when the received message is the update message 1007, the transmission / reception unit 311 sends the update message 1007 to the update graph client unit 315.

さらに、送受信部311は、コンテンツクライアント部312と、検索クライアント部313と、更新グラフクライアント部315と、メッセージ作成部317と、のそれぞれから、メッセージを受け取り、そのメッセージに記載された宛先となる配信サーバ100あるいは受信クライアント300に、ネットワークIF330を介して、そのメッセージを送信する。   Further, the transmission / reception unit 311 receives a message from each of the content client unit 312, the search client unit 313, the update graph client unit 315, and the message creation unit 317, and distributes the destination described in the message The message is transmitted to the server 100 or the receiving client 300 via the network IF 330.

コンテンツクライアント部312は、更新メッセージ1007を受信しているコンテンツについて、使用者からそのコンテンツ本体を要求する旨の情報を受け付けると、そのコンテンツを有する配信サーバ100に対し、コンテンツ要求メッセージ1008を送信する。   When the content client unit 312 receives information requesting the content body from the user for the content for which the update message 1007 has been received, the content client unit 312 transmits a content request message 1008 to the distribution server 100 having the content. .

コンテンツクライアント部312は、コンテンツ要求応答メッセージ1009を受信した場合、コンテンツ要求応答メッセージ1009に付加されたコンテンツを得る。   When the content client unit 312 receives the content request response message 1009, the content client unit 312 obtains the content added to the content request response message 1009.

検索クライアント部313は、使用者の操作に従って希望コンテンツを検索する場合、希望コンテンツに関する情報をひとつまたは複数記載した検索メッセージ1001を作成する。   The search client unit 313 creates a search message 1001 that describes one or more pieces of information related to the desired content when searching for the desired content according to the user's operation.

検索クライアント部313は、サーバ情報DB321に記載のあるひとつまたは複数の配信サーバ100に対し、検索メッセージ1001を送信する。   The search client unit 313 transmits a search message 1001 to one or a plurality of distribution servers 100 described in the server information DB 321.

ここで、コンテンツに関する情報とは、例えばコンテンツID、URI、タイトル、作成者、作成場所、作成時間、キーワードなどである。   Here, the information regarding the content includes, for example, a content ID, URI, title, creator, creation location, creation time, keyword, and the like.

検索クライアント部313は、検索応答メッセージ1002を受信すると、検索応答メッセージ1002に記載されているコンテンツのメタデータを表示する。   When the search client unit 313 receives the search response message 1002, the search client unit 313 displays content metadata described in the search response message 1002.

更新グラフ参加離脱部314は、検索クライアント部313が受信した検索応答メッセージ1002に記載されているコンテンツの配信対象に参加する場合、そのコンテンツを有する配信サーバ100に対し、参加メッセージ1003を送信する。   When participating in the content distribution target described in the search response message 1002 received by the search client unit 313, the update graph participation / leaving unit 314 transmits a participation message 1003 to the distribution server 100 having the content.

さらに、更新グラフ参加離脱部314は、参加応答メッセージ1004を受信した場合、以後、更新メッセージ1007を受理する。   Further, when the update graph participation / removal unit 314 receives the participation response message 1004, it accepts the update message 1007 thereafter.

さらに、更新グラフ参加離脱部314は、更新メッセージ1007の通知を中止する場合、その更新メッセージ1007の送信元の配信サーバ100へ、離脱メッセージ1010を送信する。   Further, when the update graph participation leaving unit 314 stops the notification of the update message 1007, the update graph participation / leave unit 314 transmits a leave message 1010 to the distribution server 100 that is the transmission source of the update message 1007.

さらに、更新グラフ参加離脱部314は、離脱応答メッセージ1011を受信した場合、あるいは、更新メッセージ1007の送信元の配信サーバ100へ離脱メッセージ1011を送信したのち一定時間経過後に、アグリゲーション待ちバッファ316内に、その更新メッセージに対応するバッファが存在していた場合は、そのバッファを削除する。   Furthermore, the update graph participation leaving unit 314 stores the leave response message 1011 in the aggregation waiting buffer 316 after a certain time has elapsed after sending the leave message 1011 to the distribution server 100 that is the transmission source of the update message 1007. If there is a buffer corresponding to the update message, the buffer is deleted.

更新グラフクライアント部315は、一般的に中継管理手段と呼ぶことができる。   The update graph client unit 315 can be generally called a relay management unit.

更新グラフクライアント部315は、更新メッセージ1007を受信した場合、更新メッセージ1007に含まれるメタデータ更新情報を得る。   When the update graph client unit 315 receives the update message 1007, the update graph client unit 315 obtains metadata update information included in the update message 1007.

このとき、更新メッセージ1007内の選択トポロジに転送指示が記載されていない場合、更新グラフクライアント部315は、更新メッセージ1007の転送を中止する。   At this time, if the transfer instruction is not described in the selected topology in the update message 1007, the update graph client unit 315 stops the transfer of the update message 1007.

更新メッセージ1007内の選択トポロジに転送指示があり、かつ、アグリゲーション指示があり、かつ、アグリゲーション指示に自クライアントが実行クライアントとして記載されている場合、更新グラフクライアント部315は、アグリゲーション待ちバッファ316に、そのアグリゲーション指示に対応するバッファを作成し、そのバッファに、更新メッセージ1007を保存する。なお、このバッファは、アグリゲーション指示の組み合わせ毎に作成される。   When there is a transfer instruction in the selected topology in the update message 1007, there is an aggregation instruction, and the own client is described as an execution client in the aggregation instruction, the update graph client unit 315 stores the aggregation waiting buffer 316 in the aggregation waiting buffer 316. A buffer corresponding to the aggregation instruction is created, and the update message 1007 is stored in the buffer. This buffer is created for each combination of aggregation instructions.

更新メッセージ1007内の選択トポロジに転送指示があり、かつ、アグリゲーション指示がない場合、または、更新メッセージ1007内の選択トポロジに転送指示があり、かつ、アグリゲーション指示があり、かつ、アグリゲーション指示に自己が実行クライアントとして記載されていない場合、更新グラフクライアント部315は、更新メッセージ1007をコピーし、そのコピーを、メッセージ作成部317に渡す。   When there is a transfer instruction in the selected topology in the update message 1007 and there is no aggregation instruction, or there is a transfer instruction in the selected topology in the update message 1007 and there is an aggregation instruction, and the self is in the aggregation instruction. When not listed as an execution client, the update graph client unit 315 copies the update message 1007 and passes the copy to the message creation unit 317.

アグリゲーション待ちバッファ316は、一般的に更新情報格納手段と呼ぶことができる。   The aggregation waiting buffer 316 can be generally referred to as update information storage means.

さらに、アグリゲーション待ちバッファ316は、作成済みのバッファへ更新メッセージ1007が保存されたとき、アグリゲーション対象となる他の更新メッセージ1007が他のバッファに存在していなかった場合は、更新メッセージ1007を保存したバッファ用のバッファタイマ318の時間カウントを開始させる。   Further, the aggregation waiting buffer 316 stores the update message 1007 when the update message 1007 is stored in the already created buffer and another update message 1007 to be aggregated does not exist in the other buffer. The time count of the buffer timer 318 for the buffer is started.

また、アグリゲーション待ちバッファ316は、作成済みのバッファへ更新メッセージ1007が保存されたとき、アグリゲーション対象となる他の更新メッセージ1007が他のバッファに存在している場合は、バッファタイマ318をリセットし、アグリゲーション対象の複数の更新メッセージ1007を、メッセージ作成部317へ渡す。   Also, the aggregation waiting buffer 316 resets the buffer timer 318 if another update message 1007 to be aggregated exists in another buffer when the update message 1007 is stored in the created buffer, A plurality of update messages 1007 to be aggregated are passed to the message creation unit 317.

さらに、アグリゲーション待ちバッファ316は、バッファタイマ318からタイマ切れ通知を受けると、そのバッファタイマ318に対応するバッファに保存されている更新メッセージ1007を、メッセージ作成部317へ渡す。   Further, when the aggregation waiting buffer 316 receives a timer expiration notification from the buffer timer 318, the aggregation waiting buffer 316 passes the update message 1007 stored in the buffer corresponding to the buffer timer 318 to the message creation unit 317.

メッセージ作成部317は、更新グラフクライアント部315から更新メッセージ315を得ると、選択トポロジに従い、受信クライアント300へ、更新メッセージ1007を送信する。   When the message creation unit 317 obtains the update message 315 from the update graph client unit 315, the message creation unit 317 transmits the update message 1007 to the reception client 300 according to the selected topology.

さらに、メッセージ作成部317は、アグリゲーション待ちバッファ316から得た複数の更新メッセージ1007をアグリゲーションして、選択トポロジに従い、受信クライアント300へ、その更新メッセージ1007を送信する。   Further, the message creation unit 317 aggregates a plurality of update messages 1007 obtained from the aggregation waiting buffer 316, and transmits the update messages 1007 to the reception client 300 according to the selected topology.

バッファタイマ318は、一般的にカウント手段と呼ぶことができる。   Buffer timer 318 can generally be referred to as counting means.

バッファタイマ318は、タイマをひとつまたは複数持ち、アグリゲーション待ちバッファ316からの通知により、アグリゲーション待ちバッファ316に作成されているバッファに一対一に対応するタイマを作動、またはリセットする。   The buffer timer 318 has one or a plurality of timers, and operates or resets the timer corresponding to the buffer created in the aggregation waiting buffer 316 on a one-to-one basis according to the notification from the aggregation waiting buffer 316.

さらに、バッファタイマ318は、予め定められた時間を経過したタイマがあった場合、そのタイマに対応するバッファの情報を、アグリゲーション待ちバッファ316に通知し、そのタイマをリセットする。   Further, when there is a timer that has passed a predetermined time, the buffer timer 318 notifies the aggregation waiting buffer 316 of the buffer information corresponding to the timer, and resets the timer.

転送管理部300aは、一般的に転送管理手段と呼ぶことができる。   Transfer management unit 300a can be generally referred to as transfer management means.

転送管理部300aは、バッファタイマ318が所定時間をカウントすると、アグリゲーション待ちバッファ316内に、アグリゲーション指示に示された全ての更新メッセージが格納されていなくても、アグリゲーション待ちバッファ316内の更新メッセージを合成し、その合成された更新メッセージを、選択トポロジに従って、受信クライアント300に転送する。   When the buffer timer 318 counts a predetermined time, the transfer management unit 300a transmits the update message in the aggregation wait buffer 316 even if all the update messages indicated in the aggregation instruction are not stored in the aggregation wait buffer 316. The combined update message is transferred to the receiving client 300 according to the selected topology.

次に、動作を説明する。   Next, the operation will be described.

図10は、配信サーバ100が受信クライアント300から参加メッセージ1003を受信した場合の、配信サーバ100の動作を示すフローチャートである。   FIG. 10 is a flowchart showing the operation of the distribution server 100 when the distribution server 100 receives the participation message 1003 from the receiving client 300.

配信サーバ100が動作を開始すると、まず、送受信部111が、アグリゲーションサーバ200、他の配信サーバ100、もしくは、受信クライアント300からの通信を待つ状態(以後「アイドル状態」と称する)となる(ステップ400)。   When the distribution server 100 starts to operate, first, the transmission / reception unit 111 is in a state of waiting for communication from the aggregation server 200, another distribution server 100, or the reception client 300 (hereinafter referred to as “idle state”) (step). 400).

配信サーバ100は、アイドル状態下で、受信クライアント300から参加メッセージ1003を受信すると(ステップ401)、参加メッセージ1003に対応するコンテンツの参加クライアント情報DB121内のトポロジ情報と参加クライアント情報とを更新する(ステップ402)。   When the distribution server 100 receives the participation message 1003 from the receiving client 300 in the idle state (step 401), the distribution server 100 updates the topology information and the participation client information in the participation client information DB 121 of the content corresponding to the participation message 1003 ( Step 402).

続けて、配信サーバ100は、トポロジ情報を含めた参加応答メッセージ1004を、参加メッセージ1003の送信元(受信クライアント300)に送信し(ステップ403)、その後、アイドル状態に戻る(ステップ400)。   Subsequently, the distribution server 100 transmits a participation response message 1004 including topology information to the transmission source (reception client 300) of the participation message 1003 (step 403), and then returns to the idle state (step 400).

図11は、配信サーバ100が受信クライアント300から離脱メッセージ1010を受信した場合の、配信サーバ100の動作を示すフローチャートである。   FIG. 11 is a flowchart showing the operation of the distribution server 100 when the distribution server 100 receives the leave message 1010 from the receiving client 300.

配信サーバ100は、アイドル状態下で、受信クライアント300から離脱メッセージ1010を受信すると(ステップ411)、離脱メッセージ1010に対応する参加クライアント情報DB121のトポロジ情報と参加クライアント情報とを更新する(ステップ412)。   When the distribution server 100 receives the leaving message 1010 from the receiving client 300 in the idle state (step 411), the distribution server 100 updates the topology information and the participating client information in the participating client information DB 121 corresponding to the leaving message 1010 (step 412). .

続けて、配信サーバ100は、離脱応答メッセージ1011を、離脱メッセージ1010の送信元(受信クライアント300)に送信し(ステップ413)、その後、アイドル状態に戻る(ステップ400)。   Subsequently, the distribution server 100 transmits a leave response message 1011 to the transmission source (reception client 300) of the leave message 1010 (step 413), and then returns to the idle state (step 400).

図12は、配信サーバ100がコンテンツを更新した場合の、配信サーバ100の動作を示すフローチャートである。   FIG. 12 is a flowchart showing the operation of the distribution server 100 when the distribution server 100 updates the content.

配信サーバ100は、アイドル状態下でコンテンツを更新すると(ステップ421)、更新のあったコンテンツについて、参加クライアント情報DB121に記載されている受信クライアント300に対し、選択トポロジ情報に記載されている通りに更新メッセージ1007が転送されていくように、更新メッセージ1007に、メタデータ更新情報と、トポロジ情報と、アグリゲーション指示と、を含めて、送信し(ステップ422)、その後、アイドル状態に戻る(ステップ400)。なお、トポロジ情報は、選択トポロジを示す。   When the distribution server 100 updates the content in the idle state (step 421), the updated content is transmitted to the receiving client 300 described in the participating client information DB 121 as described in the selected topology information. The update message 1007 is transmitted including the metadata update information, the topology information, and the aggregation instruction so that the update message 1007 is transferred (step 422), and then returns to the idle state (step 400). ). The topology information indicates the selected topology.

図13は、配信サーバ100内でトポロジ報告タイマ113が切れた場合の、配信サーバ100の動作を示すフローチャートである。   FIG. 13 is a flowchart showing the operation of the distribution server 100 when the topology report timer 113 expires in the distribution server 100.

配信サーバ100は、アイドル状態下で、トポロジ報告タイマ113が切れると(ステップ431)、参加クライアント情報DB121の内容の一部または全てを、トポロジ報告メッセージ1005に含めて、アグリゲーションサーバ200へ送信し(ステップ432)、その後、アイドル状態に戻る(ステップ400)。   When the topology report timer 113 expires in the idle state (step 431), the distribution server 100 includes a part or all of the contents of the participating client information DB 121 in the topology report message 1005 and transmits it to the aggregation server 200 ( Step 432) and then return to the idle state (step 400).

図14は、配信サーバ100がアグリゲーションサーバ200からトポロジ指定メッセージ1006を受信した場合の、配信サーバ100の動作を示すフローチャートである。   FIG. 14 is a flowchart showing the operation of the distribution server 100 when the distribution server 100 receives the topology designation message 1006 from the aggregation server 200.

配信サーバ100は、アイドル状態下で、アグリゲーションサーバ200からトポロジ指定メッセージ1006を受信すると(ステップ441)、トポロジ指定メッセージ1006に記載されている推奨組み合わせおよびアグリゲーション指示に基づいて、参加クライアント情報DB121を更新し(ステップ442)、その後、アイドル状態に戻る(ステップ400)。   When the distribution server 100 receives the topology designation message 1006 from the aggregation server 200 in the idle state (step 441), the distribution server 100 updates the participating client information DB 121 based on the recommended combination and the aggregation instruction described in the topology designation message 1006. (Step 442), and then returns to the idle state (Step 400).

図15は、配信サーバ100が受信クライアント300からコンテンツ要求メッセージ1008を受信した場合の、配信サーバ100の動作を示すフローチャートである。   FIG. 15 is a flowchart showing the operation of the distribution server 100 when the distribution server 100 receives the content request message 1008 from the receiving client 300.

配信サーバ100は、アイドル状態下で、受信クライアント300からコンテンツ要求メッセージ1008を受信すると(ステップ451)、コンテンツ要求メッセージ1008で指定されたコンテンツを、コンテンツ要求応答メッセージ1009に付加して、受信クライアント300に送信し(ステップ452)、その後、アイドル状態に戻る(ステップ400)。   When the distribution server 100 receives the content request message 1008 from the receiving client 300 in the idle state (step 451), the distribution server 100 adds the content specified by the content request message 1008 to the content request response message 1009, and receives the content request message 1008. (Step 452), and then returns to the idle state (step 400).

図16は、配信サーバ100が受信クライアント300から検索メッセージ1001を受信した場合の、配信サーバ100の動作を示すフローチャートである。   FIG. 16 is a flowchart showing the operation of the distribution server 100 when the distribution server 100 receives the search message 1001 from the receiving client 300.

配信サーバ100は、アイドル状態下で、受信クライアント300から検索メッセージ1001を受信すると(ステップ461)、メタデータDB122と検索メッセージに付加されたキーワードを照合し(ステップ462)、適合するメタデータを検索応答メッセージ1002に付加して受信クライアント300に送信する(ステップ463)。   When the distribution server 100 receives the search message 1001 from the receiving client 300 in the idle state (step 461), the distribution server 100 collates the metadata DB 122 with the keyword added to the search message (step 462), and searches for suitable metadata. It is added to the response message 1002 and transmitted to the receiving client 300 (step 463).

さらに、配信サーバ100は、サーバ情報DB124に記載されたサーバに対して、受信した検索メッセージ1001をコピーして送信し(ステップ464)、その後、アイドル状態に戻る(ステップ400)。   Further, the distribution server 100 copies and transmits the received search message 1001 to the server described in the server information DB 124 (step 464), and then returns to the idle state (step 400).

図17は、アグリゲーションサーバ200が配信サーバ100からトポロジ報告メッセージ1005を受信した場合の、アグリゲーションサーバ200の動作を示すフローチャートである。   FIG. 17 is a flowchart showing the operation of the aggregation server 200 when the aggregation server 200 receives the topology report message 1005 from the distribution server 100.

アグリゲーションサーバ200が動作を開始すると、まず、送受信部211が配信サーバ100からの通信を待つ状態(以後「アイドル状態」と称する)となる(ステップ500)。   When the aggregation server 200 starts operating, first, the transmission / reception unit 211 enters a state of waiting for communication from the distribution server 100 (hereinafter referred to as “idle state”) (step 500).

アグリゲーションサーバ200は、アイドル状態下で、配信サーバ100からトポロジ報告メッセージ1005を受信すると(ステップ501)、トポロジ報告メッセージ1005に含まれるコンテンツ毎の更新グラフを、トポロジ情報DB221に登録することによって、トポロジ情報DB221を更新し(ステップ502)、その後、アイドル状態に戻る(ステップ500)。   When the aggregation server 200 receives the topology report message 1005 from the distribution server 100 in the idle state (step 501), the aggregation server 200 registers the update graph for each content included in the topology report message 1005 in the topology information DB 221 to thereby change the topology. The information DB 221 is updated (step 502), and then returns to the idle state (step 500).

図18は、アグリゲーションサーバ200内のアグリゲーションパタン演算タイマ213が切れた場合の、アグリゲーションサーバ200の動作を示すフローチャートである。   FIG. 18 is a flowchart showing the operation of the aggregation server 200 when the aggregation pattern calculation timer 213 in the aggregation server 200 expires.

アグリゲーションサーバ200は、アイドル状態下で、アグリゲーションパタン演算タイマ213が切れると(ステップ511)、トポロジ情報DB221に保存された配信サーバ100毎の更新グラフを全て読み出し、一部または全てのコンテンツ毎の更新グラフのトポロジの組み合わせに対し、更新メッセージ1007がアグリゲーションできる推奨組み合わせを演算し(ステップ512)、その推奨組み合わせを、トポロジ指定メッセージ1006に付加して、全ての配信サーバ100に送信し(ステップ513)、その後、アイドル状態に戻る(ステップ500)。   When the aggregation pattern calculation timer 213 expires in the idle state (step 511), the aggregation server 200 reads all the update graphs for each distribution server 100 stored in the topology information DB 221 and updates some or all of the contents. For the combination of graph topologies, a recommended combination that can be aggregated by the update message 1007 is calculated (step 512), and the recommended combination is added to the topology designation message 1006 and transmitted to all the distribution servers 100 (step 513). Thereafter, the process returns to the idle state (step 500).

図19は、受信クライアント300が配信サーバ100に更新グラフへの参加を希望した場合の、受信クライアント300の動作を示すフローチャートである。   FIG. 19 is a flowchart showing the operation of the receiving client 300 when the receiving client 300 desires the distribution server 100 to participate in the update graph.

受信クライアント300が動作を開始すると、まず、送受信部311が、配信サーバ100もしくは受信クライアント300からの通信を待つ状態(以後「アイドル状態」と称する)となる(ステップ600)。   When the reception client 300 starts operation, first, the transmission / reception unit 311 enters a state of waiting for communication from the distribution server 100 or the reception client 300 (hereinafter referred to as “idle state”) (step 600).

受信クライアント300は、アイドル状態下で、配信サーバ100の更新グラフへ参加するために、参加メッセージ1003を送信する(ステップ601)。   The receiving client 300 transmits a participation message 1003 in order to participate in the update graph of the distribution server 100 in the idle state (step 601).

続いて、受信クライアント300は、配信サーバ100から参加応答メッセージ1004を受信し(ステップ602)、アイドル状態に戻る(ステップ600)。   Subsequently, the receiving client 300 receives the participation response message 1004 from the distribution server 100 (step 602), and returns to the idle state (step 600).

図20は、受信クライアント300が、参加している更新グラフからの離脱を希望した場合の、受信クライアント300の動作を示すフローチャートである。   FIG. 20 is a flowchart illustrating an operation of the receiving client 300 when the receiving client 300 desires to leave the participating update graph.

受信クライアント300は、アイドル状態下で、コンテンツの更新の通知を中止するために、そのコンテンツを有する配信サーバ100へ、離脱メッセージ1010を送信する(ステップ611)。   The receiving client 300 transmits a leave message 1010 to the distribution server 100 having the content in order to cancel the notification of the content update in the idle state (step 611).

続いて、受信クライアント300は、配信サーバ100から、離脱応答メッセージ1011を受信する(ステップ612)。   Subsequently, the receiving client 300 receives the withdrawal response message 1011 from the distribution server 100 (step 612).

さらに、離脱した更新の通知に関係するバッファ(関係バッファ)があった場合(ステップ613のYES)、受信クライアント300は、アグリゲーション待ちバッファ316に存在する関係バッファを削除し(ステップ614)、その後、アイドル状態に戻る(ステップ600)。   Further, when there is a buffer (related buffer) related to the notification of the updated update (YES in Step 613), the receiving client 300 deletes the related buffer existing in the aggregation waiting buffer 316 (Step 614), and then Returning to the idle state (step 600).

関係バッファがなかった場合(ステップ613のNO)、受信クライアント300は、アイドル状態に戻る(ステップ600)。   If there is no related buffer (NO in step 613), the receiving client 300 returns to the idle state (step 600).

図21は、受信クライアント300が配信サーバ100から更新メッセージ1007を受信した場合の、受信クライアント300の動作を示すフローチャートである。   FIG. 21 is a flowchart showing the operation of the receiving client 300 when the receiving client 300 receives the update message 1007 from the distribution server 100.

受信クライアント300は、アイドル状態下で、更新メッセージ1007を受信すると(ステップ621)、更新メッセージ1007に含まれるメタデータ更新情報を得る(ステップ622)。   When receiving the update message 1007 in the idle state (step 621), the receiving client 300 obtains the metadata update information included in the update message 1007 (step 622).

さらに、更新メッセージ1007内の選択トポロジに転送指示がなかった場合(ステップ623のNO)、受信クライアント300は、アイドル状態に戻る(ステップ600)。   Furthermore, when there is no transfer instruction in the selected topology in the update message 1007 (NO in step 623), the receiving client 300 returns to the idle state (step 600).

選択トポロジに転送指示があった場合(ステップ623のYES)、かつ、アグリゲーション指示がなかった場合、または、選択トポロジに転送指示があり、かつ、アグリゲーション指示があり、かつ、アグリゲーション指示に自己が実行クライアントとして記載されていない場合(ステップ624のNO)、受信クライアント300は、更新メッセージ1007をコピーし、そのコピーを、転送先として指定された受信クライアント300に送信し(ステップ625)、アイドル状態に戻る(ステップ600)。   When there is a transfer instruction in the selected topology (YES in step 623), and there is no aggregation instruction, or there is a transfer instruction in the selected topology, there is an aggregation instruction, and the aggregation instruction is executed by itself If not described as a client (NO in step 624), the receiving client 300 copies the update message 1007, transmits the copy to the receiving client 300 designated as the transfer destination (step 625), and enters the idle state. Return (step 600).

更新メッセージ1007内の選択トポロジに転送指示があり、かつ、アグリゲーション指示があり、かつ、アグリゲーション指示に自己が実行クライアントとして記載されており(ステップ624のYES)、かつ、アグリゲーション指示に記載された更新メッセージの全てが、自己内のバッファに存在していない場合(ステップ626のNO)、受信クライアント300は、そのバッファに対応するバッファタイマ318を開始させる(ステップ627)。   There is a transfer instruction in the selected topology in the update message 1007, there is an aggregation instruction, and the self is described as an execution client in the aggregation instruction (YES in step 624), and the update described in the aggregation instruction If all of the messages are not present in the buffer within the message (NO in step 626), the receiving client 300 starts the buffer timer 318 corresponding to the buffer (step 627).

その後、ステップ626の結果に関わらず、受信クライアント300は、更新メッセージ1007をアグリゲーション待ちバッファ316の該当するバッファへ保存する(ステップ628)。   Thereafter, regardless of the result of step 626, the receiving client 300 stores the update message 1007 in the corresponding buffer of the aggregation waiting buffer 316 (step 628).

このとき、バッファにおいてアグリゲーション対象の更新メッセージの全てが揃っていない場合(ステップ629のNO)、受信クライアント300は、アイドル状態に戻る(ステップ600)。   At this time, if all the update messages to be aggregated are not prepared in the buffer (NO in step 629), the receiving client 300 returns to the idle state (step 600).

バッファにおいてアグリゲーション対象の更新メッセージの全てが揃った場合(ステップ629のYES)、受信クライアント300は、バッファタイマ318をリセットし(ステップ630)、対象の更新メッセージをアグリゲーションして、アグリゲーションした更新メッセージを、選択トポロジに従い送信し(ステップ631)、アイドル状態に戻る(ステップ600)。   When all the update messages to be aggregated are gathered in the buffer (YES in Step 629), the receiving client 300 resets the buffer timer 318 (Step 630), aggregates the target update message, and displays the aggregated update message. Then, it transmits according to the selected topology (step 631) and returns to the idle state (step 600).

図22は、受信クライアント300においてバッファタイマ318が切れた場合の、受信クライアント300の動作を示すフローチャートである。   FIG. 22 is a flowchart showing the operation of the reception client 300 when the buffer timer 318 has expired in the reception client 300.

受信クライアント300は、アイドル状態下で、バッファタイマ318がきれると(ステップ641)、タイマに対応するアグリゲーション待ちバッファ316のバッファから更新メッセージを読み出してアグリゲーションし、アグリゲーションした更新メッセージを選択トポロジに従い送信し(ステップ642)、アイドル状態に戻る(ステップ600)。   When the buffer timer 318 expires in the idle state (step 641), the receiving client 300 reads and aggregates the update message from the buffer of the aggregation wait buffer 316 corresponding to the timer, and transmits the aggregated update message according to the selected topology. (Step 642), the state returns to the idle state (Step 600).

図23は、受信クライアント300において配信サーバ100に対してコンテンツ本体を要求した場合の、受信クライアント300の動作を示すフローチャートである。   FIG. 23 is a flowchart showing the operation of the receiving client 300 when the receiving client 300 requests the content body from the distribution server 100.

受信クライアント300は、アイドル状態下で、希望コンテンツを有する配信サーバ100に対し、コンテンツ要求メッセージ1008を送信し(ステップ651)、その返信としてコンテンツ要求応答メッセージ1009を受信することでコンテンツ本体を得て(ステップ652)、アイドル状態に戻る(ステップ600)。   In the idle state, the receiving client 300 transmits a content request message 1008 to the distribution server 100 having the desired content (step 651), and receives the content request response message 1009 as a reply to obtain the content body. (Step 652), the state returns to the idle state (Step 600).

図24は、受信クライアント300がコンテンツを検索する場合の、受信クライアント300の動作を示すフローチャートである。   FIG. 24 is a flowchart showing the operation of the receiving client 300 when the receiving client 300 searches for content.

受信クライアント300は、アイドル状態下で、希望コンテンツに関する情報をひとつまたは複数記載した検索メッセージ1001を作成し、ひとつまたは複数の配信サーバ100に対し、検索メッセージ1001を送信し(ステップ661)、その返信として配信サーバ100から検索応答メッセージ1002を受信すると、検索応答メッセージ1002に記載されているコンテンツのメタデータを表示し(ステップ662)、アイドル状態に戻る(ステップ600)。   In the idle state, the receiving client 300 creates a search message 1001 that describes one or more pieces of information about the desired content, transmits the search message 1001 to one or more distribution servers 100 (step 661), and returns the response. When the search response message 1002 is received from the distribution server 100, the content metadata described in the search response message 1002 is displayed (step 662), and the state returns to the idle state (step 600).

なお、図10〜24で説明したフローチャートに係る各ステップの動作内容は、配信サーバ100とアグリゲーションサーバ200と受信クライアント300とが予め備えるコンピュータ(主制御部110、主制御部210、主制御部310)で動作するプログラムにて規定することができる。   Note that the operation contents of each step according to the flowcharts described in FIGS. ).

本実施形態では、各配信サーバ100が、配信サーバ100が配信するコンテンツの更新情報を受信する受信クライアント300の更新グラフのトポロジを、予め複数作成する。   In the present embodiment, each distribution server 100 creates a plurality of update graph topologies in advance for the receiving client 300 that receives the update information of the content distributed by the distribution server 100.

アグリゲーションサーバ200が、配信サーバ100から、コンテンツ毎の更新グラフのトポロジ情報を収集する。   The aggregation server 200 collects the topology information of the update graph for each content from the distribution server 100.

アグリゲーションサーバ200が、トポロジ情報に基づいて、推奨組み合わせとアグリゲーション指示とを求める。   The aggregation server 200 obtains a recommended combination and an aggregation instruction based on the topology information.

アグリゲーションサーバ200が、推奨組み合わせとアグリゲーション指示とを、各配信サーバ100に送信する。   The aggregation server 200 transmits the recommended combination and the aggregation instruction to each distribution server 100.

このため、サーバとクライアントの関係が頻繁に変化する場合においても、更新情報の配信の高効率とシステムの高可用とを両立する配信システムを提供することができる。   For this reason, even when the relationship between the server and the client frequently changes, it is possible to provide a distribution system that achieves both high efficiency of distribution of update information and high availability of the system.

なお、この効果は、送受信部211と制御部200aとからなるアグリエーションサーバ、管理部100aと配信部100bとからなる配信サーバ、アグリゲーション待ちバッファ316と送受信部311と更新グラフクライアント部315と転送管理部300aとからなる受信クライアントでも奏することが可能である。   Note that this effect is that an aggregation server including the transmission / reception unit 211 and the control unit 200a, a distribution server including the management unit 100a and the distribution unit 100b, an aggregation waiting buffer 316, a transmission / reception unit 311, an update graph client unit 315, and a transfer management. It can also be played by a receiving client including the unit 300a.

また、本実施形態では、アグリゲーションサーバ200は、定期的に、推奨組み合わせとアグリゲーション指示とを求める。   In this embodiment, the aggregation server 200 periodically obtains a recommended combination and an aggregation instruction.

この場合、トポロジ情報が変化しても、定期的に、推奨組み合わせとアグリゲーション指示とを変更することが可能になる。   In this case, even if the topology information changes, it is possible to periodically change the recommended combination and the aggregation instruction.

また、本実施形態では、アグリゲーションサーバ200は、選択トポロジの組み合わせのうち、選択トポロジ内の受信クライアント間のリンクの重なり数の分散値が最大になる選択トポロジの組み合わせを、推奨組み合わせとする。   Further, in this embodiment, the aggregation server 200 sets a combination of selected topologies that has a maximum dispersion value of the number of overlapping links between receiving clients in the selected topology as a recommended combination.

この場合、更新メッセージのアグリゲーションに最適な選択トポロジを求めることが可能になる。   In this case, it is possible to obtain a selection topology that is optimal for aggregation of update messages.

また、配信サーバ100は、アグリゲーションサーバ200からの指示(選択トポロジやアグリゲーション指示)を、更新情報と共に、更新メッセージ1007に載せて、受信クライアント300に送信する。   In addition, the distribution server 100 transmits the instruction (selected topology or aggregation instruction) from the aggregation server 200 together with the update information in the update message 1007 and transmits it to the reception client 300.

また、受信クライアント300は、更新メッセージ1007に載せられた指示に従って、更新メッセージ1007を配信およびアグリゲーションする。   Further, the receiving client 300 distributes and aggregates the update message 1007 in accordance with the instruction placed on the update message 1007.

この場合、アグリゲーションサーバ200からの指示通りに、更新メッセージ1007を配信およびアグリゲーションすることが可能になる。   In this case, the update message 1007 can be distributed and aggregated as instructed from the aggregation server 200.

また、本実施形態では、配信サーバ100は、定期的に、トポロジ情報をアグリゲーションサーバ200に送信する。   In the present embodiment, the distribution server 100 periodically transmits topology information to the aggregation server 200.

この場合、トポロジ情報の変化を、定期的に、アグリゲーションサーバ200に知らせることが可能になる。   In this case, it becomes possible to notify the aggregation server 200 of changes in the topology information periodically.

また、本実施形態では、更新情報が生成されると、配信サーバ100は、アグリゲーションサーバ200からの指示を、更新情報と共に、更新メッセージ1007に載せて、受信クライアント300に送信する。   Further, in the present embodiment, when update information is generated, the distribution server 100 transmits an instruction from the aggregation server 200 together with the update information in an update message 1007 and transmits it to the reception client 300.

この場合、更新情報を、適切なタイミングで、アグリゲーションサーバ200からの指示と共に、更新メッセージ1007に載せて、受信クライアント300に送信することが可能になる。   In this case, the update information can be transmitted to the reception client 300 along with an instruction from the aggregation server 200 in an update message 1007 at an appropriate timing.

また、本実施形態では、配信サーバ100は、参加メッセージを受信した場合、または、離脱メッセージを受信した場合、参加クライアントの変更に伴って、トポロジ情報を更新する。   Further, in the present embodiment, the distribution server 100 updates the topology information in accordance with the change of the participating client when receiving the participation message or receiving the leaving message.

この場合、参加クライアントの変化に応じて、トポロジ情報を更新することが可能になる。   In this case, it becomes possible to update the topology information in accordance with changes in participating clients.

また、本実施形態では、受信クライアント300は、更新メッセージが、所定時間、バッファに格納され続けていると、バッファ内の更新メッセージをアグリゲーションして、選択トポロジに従って他の受信クライアント300に転送する。   In this embodiment, when the update message is stored in the buffer for a predetermined time, the reception client 300 aggregates the update message in the buffer and transfers the update message to another reception client 300 according to the selected topology.

(第2の実施形態)
次に、本発明の第2の実施形態を説明する。
(Second Embodiment)
Next, a second embodiment of the present invention will be described.

第2の実施形態では、アグリゲーションサーバ200において、図7に示したアグリゲーションパタン演算部212の代わりに、アグリゲーションパタン演算部212aが用いられる。第1の実施形態と同様なため、説明を省略する。   In the second embodiment, in the aggregation server 200, an aggregation pattern calculation unit 212a is used instead of the aggregation pattern calculation unit 212 shown in FIG. Since it is the same as that of 1st Embodiment, description is abbreviate | omitted.

アグリゲーションパタン演算部212aは、配信サーバ100からトポロジ報告メッセージ1005を受信した場合、トポロジ報告メッセージ1005に含まれるコンテンツ毎の更新グラフを、トポロジ情報DB221に登録する。   When the aggregation pattern calculation unit 212 a receives the topology report message 1005 from the distribution server 100, the aggregation pattern calculation unit 212 a registers an update graph for each content included in the topology report message 1005 in the topology information DB 221.

さらに、アグリゲーションパタン演算部212aは、アグリゲーションパタン演算タイマ213からの通知を契機として、トポロジ情報DB221に保存された、配信サーバ100毎のトポロジ情報を全て読み出し、各更新グラフに示されたコンテンツ毎に、トポロジのそれぞれの組み合わせの中から、推奨組み合わせを演算して求める。   Further, the aggregation pattern calculation unit 212a reads all the topology information for each distribution server 100 stored in the topology information DB 221 in response to the notification from the aggregation pattern calculation timer 213, and for each content shown in each update graph. Then, a recommended combination is calculated from each combination of topologies.

このとき、アグリゲーションパタン演算部212aは、トポロジ情報毎に1つの選択トポロジを選択する際に、選択トポロジの組み合わせの中から、選択トポロジの次数の分散値が最小にする組み合わせを求め、その組み合わせを推奨組み合わせとして選択する。   At this time, when selecting one selected topology for each topology information, the aggregation pattern calculation unit 212a obtains a combination that minimizes the variance value of the order of the selected topology from the combinations of the selected topologies, and determines the combination. Select as a recommended combination.

このように更新グラフのトポロジの組み合わせを選択することにより、配信サーバ100が許すトポロジ構成の組み合わせの中で、受信クライアント300のリンク負荷を分散することができる。   By selecting the topology combination of the update graph in this way, the link load of the receiving client 300 can be distributed among the topology configuration combinations allowed by the distribution server 100.

さらに、アグリゲーションパタン演算部212aは、推奨組み合わせに応じたアグリゲーション指示を生成する。   Furthermore, the aggregation pattern calculation unit 212a generates an aggregation instruction according to the recommended combination.

さらに、アグリゲーションパタン演算部212aは、推奨組み合わせと、アグリゲーション指示とを、トポロジ指定メッセージ1006に付加する。   Furthermore, the aggregation pattern calculation unit 212a adds the recommended combination and the aggregation instruction to the topology designation message 1006.

アグリゲーションパタン演算部212aは、推奨組み合わせとアグリゲーション指示とが付加されたトポロジ指定メッセージ1006を、全ての配信サーバ100に送信する。   The aggregation pattern calculation unit 212a transmits the topology designation message 1006 to which the recommended combination and the aggregation instruction are added to all the distribution servers 100.

本実施形態では、アグリゲーションサーバ200は、選択トポロジの組み合わせのうち、選択トポロジの次数の分散値が最小になる組み合わせ、すなわち、受信クライアント300の負荷を分散できる組み合わせを見つけ、その組み合わせを配信サーバ100へ送信する。   In the present embodiment, the aggregation server 200 finds a combination in which the distribution value of the order of the selected topology is the minimum among the combinations of selected topologies, that is, a combination that can distribute the load of the receiving client 300, and the combination is determined as the distribution server 100. Send to.

このため、サーバとクライアントの関係が頻繁に変化する場合においても、受信クライアント300の負荷を均一にできる配信システムを提供することができる。   For this reason, even when the relationship between the server and the client frequently changes, it is possible to provide a distribution system that can make the load on the receiving client 300 uniform.

これまで本発明について図面に示した特定の実施の形態をもって説明してきたが、本発明は図面に示した実施の形態に限定されるものではなく、本発明の効果を奏する限り、これまで知られたいかなる構成であっても採用することができることは言うまでもないことである。   Although the present invention has been described with the specific embodiments shown in the drawings, the present invention is not limited to the embodiments shown in the drawings, and is known so far as long as the effects of the present invention are achieved. It goes without saying that any configuration can be adopted.

本発明の第1の実施形態の配信システム1のネットワーク構成を示す概念図である。It is a conceptual diagram which shows the network structure of the delivery system 1 of the 1st Embodiment of this invention. 配信システム1の動作の概要を説明するためのシーケンス図である。It is a sequence diagram for demonstrating the outline | summary of operation | movement of the delivery system. 配信サーバ100の構成を示すブロック図である。2 is a block diagram illustrating a configuration of a distribution server 100. FIG. 参加クライアント情報DB121の構成を示す概念図である。It is a conceptual diagram which shows the structure of participating client information DB121. メタデータDB122の構成を示す概念図である。It is a conceptual diagram which shows the structure of metadata DB122. サーバ情報DB124の構成を示す概念図である。It is a conceptual diagram which shows the structure of server information DB124. アグリゲーションサーバ200の構成を示すブロック図である。2 is a block diagram showing a configuration of an aggregation server 200. FIG. トポロジ情報DB221の構成を示す概念図である。It is a conceptual diagram which shows the structure of topology information DB221. 受信クライアント300の構成を示すブロック図である。2 is a block diagram showing a configuration of a receiving client 300. FIG. 配信サーバ100が受信クライアント300から参加メッセージを受信した場合の配信サーバ100の動作を示すフローチャートである。6 is a flowchart illustrating an operation of the distribution server 100 when the distribution server 100 receives a participation message from the reception client 300. 配信サーバ100が受信クライアント300から離脱メッセージを受信した場合の配信サーバ100の動作を示すフローチャートである。6 is a flowchart showing an operation of the distribution server 100 when the distribution server 100 receives a leave message from the receiving client 300. 配信サーバ100がコンテンツを更新した場合の配信サーバ100の動作を示すフローチャートである。It is a flowchart which shows operation | movement of the distribution server 100 when the distribution server 100 updates a content. 配信サーバ100においてトポロジ報告タイマ113が切れた場合の配信サーバ100の動作を示すフローチャートである。6 is a flowchart showing an operation of the distribution server 100 when a topology report timer 113 expires in the distribution server 100. 配信サーバ100がアグリゲーションサーバ200からトポロジ指定メッセージを受信した場合の配信サーバ100の動作を示すフローチャートである。6 is a flowchart showing an operation of the distribution server 100 when the distribution server 100 receives a topology designation message from the aggregation server 200. 配信サーバ100が受信クライアント300からコンテンツ要求メッセージを受信した場合の配信サーバ100の動作を示すフローチャートである。6 is a flowchart showing an operation of the distribution server 100 when the distribution server 100 receives a content request message from the receiving client 300. 配信サーバ100が受信クライアント300から検索メッセージを受信した場合の配信サーバ100の動作を示すフローチャートである。6 is a flowchart showing an operation of the distribution server 100 when the distribution server 100 receives a search message from the receiving client 300. アグリゲーションサーバ200が配信サーバ100からトポロジ報告メッセージを受信した場合のアグリゲーションサーバ200の動作を示すフローチャートである。4 is a flowchart illustrating an operation of the aggregation server 200 when the aggregation server 200 receives a topology report message from the distribution server 100. アグリゲーションサーバ200においてアグリゲーションパタン演算タイマ213が切れた場合のアグリゲーションサーバ200の動作を示すフローチャートである。6 is a flowchart illustrating an operation of the aggregation server 200 when an aggregation pattern calculation timer 213 expires in the aggregation server 200. 受信クライアント300が配信サーバ100に更新グラフへの参加を希望した場合の受信クライアント300の動作を示すフローチャートである。6 is a flowchart illustrating an operation of the receiving client 300 when the receiving client 300 desires the distribution server 100 to participate in the update graph. 受信クライアント300が参加している更新グラフからの離脱を希望した場合の受信クライアント300の動作を示すフローチャートである。It is a flowchart which shows the operation | movement of the receiving client 300 when leaving | separating from the update graph which the receiving client 300 participates is desired. 受信クライアント300が配信サーバ100から更新メッセージを受信した場合の受信クライアント300の動作を示すフローチャートである。4 is a flowchart showing an operation of the receiving client 300 when the receiving client 300 receives an update message from the distribution server 100. 受信クライアント300においてバッファタイマ318が切れた場合の受信クライアント300の動作を示すフローチャートである。6 is a flowchart illustrating an operation of the reception client 300 when a buffer timer 318 expires in the reception client 300. 受信クライアント300において配信サーバ100に対してコンテンツ本体を要求した場合の受信クライアント300の動作を示すフローチャートである。6 is a flowchart showing an operation of the receiving client 300 when the receiving client 300 requests a content body from the distribution server 100. 受信クライアント300がコンテンツを検索した場合の受信クライアント300の動作を示すフローチャートである。It is a flowchart which shows operation | movement of the receiving client 300 when the receiving client 300 searches content.

符号の説明Explanation of symbols

1 更新情報配信システム1
100 更新情報配信サーバ
100a 管理部
100b 配信部
100b1 配信制御部
110 主制御部
111 送受信部
112 トポロジ報告部
113 トポロジ報告タイマ
114 更新グラフ管理部
115 検索サーバ部
116 メタデータ配信サーバ部
117 メタデータ生成部
118 コンテンツサーバ部
121 更新グラフ参加クライアント情報DB
122 メタデータDB
123 コンテンツDB
124 サーバ情報DB
130 ネットワークインターフェイス
200 アグリゲーションサーバ
200a 制御部
210 主制御部
211 送受信部
212 アグリゲーションパタン演算部
213 アグリゲーションパタン演算タイマ
221 トポロジ情報DB
230 ネットワークインターフェイス
300 更新情報受信クライアント
300a 転送管理部
310 主制御部
311 送受信部
312 コンテンツクライアント部
313 検索クライアント部
314 更新グラフ参加離脱部
315 更新グラフクライアント部
316 アグリゲーション待ちバッファ
317 メッセージ作成部
318 バッファタイマ
321 サーバ情報DB
330 ネットワークインターフェイス
1 Update information distribution system 1
100 update information distribution server 100a management unit 100b distribution unit 100b1 distribution control unit 110 main control unit 111 transmission / reception unit 112 topology report unit 113 topology report timer 114 update graph management unit 115 search server unit 116 metadata distribution server unit 117 metadata generation unit 118 Content server part 121 Update graph participation client information DB
122 Metadata DB
123 Content DB
124 Server information DB
130 Network Interface 200 Aggregation Server 200a Control Unit 210 Main Control Unit 211 Transmission / Reception Unit 212 Aggregation Pattern Calculation Unit 213 Aggregation Pattern Calculation Timer 221 Topology Information DB
230 Network interface 300 Update information reception client 300a Transfer management unit 310 Main control unit 311 Transmission / reception unit 312 Content client unit 313 Search client unit 314 Update graph join / leave unit 315 Update graph client unit 316 Aggregation wait buffer 317 Message creation unit 318 Buffer timer 321 Server information DB
330 Network interface

Claims (23)

複数の配信サーバと通信可能なアグリゲーションサーバであって、
各配信サーバから、当該配信サーバから当該配信サーバ内のコンテンツに対応づけられた複数の受信クライアントへの前記コンテンツの更新情報についての複数の配信経路を表すトポロジ情報を受信する受信手段と、
前記受信手段にて受信されたトポロジ情報毎に当該トポロジ情報が表す複数の配信経路の中から1つの選択配信経路を選択する際に、少なくとも2つの前記選択配信経路の少なくとも一部が重なるように、前記選択配信経路を選択し、当該選択の結果を前記複数の配信サーバに送信し、かつ、前記一部の始点となる受信クライアントと、当該受信クライアントが合成する複数の更新情報と、を示した合成指示を、前記複数の配信サーバのうち、少なくとも、前記一部を含む選択配信経路を表すトポロジ情報を送信した実行配信サーバのそれぞれに送信する制御手段と、を含むアグリゲーションサーバ。
An aggregation server that can communicate with a plurality of distribution servers,
Receiving means for receiving, from each distribution server, topology information representing a plurality of distribution paths for update information of the content from the distribution server to a plurality of receiving clients associated with the content in the distribution server;
When selecting one selected delivery route from among a plurality of delivery routes represented by the topology information for each topology information received by the receiving means, at least a part of at least two of the selected delivery routes is overlapped , Selecting the selected distribution route, transmitting the selection result to the plurality of distribution servers, and indicating the reception client that is the starting point of the part and a plurality of update information that the reception client combines. An aggregation server including: a control unit that transmits the combination instruction to each of the execution distribution servers that transmitted the topology information representing the selected distribution path including at least a part of the plurality of distribution servers.
請求項1に記載のアグリゲーションサーバにおいて、
前記制御手段は、
前記受信手段にて受信された各トポロジ情報を格納する格納手段と、
定期的に動作開始通知を発する動作開始通知手段と、
前記動作開始通知手段にて前記動作開始通知が発せられると、前記格納手段内のトポロジ情報毎に前記1つの選択配信経路を選択する際に、少なくとも2つの前記選択配信経路の少なくとも一部が重なるように、前記選択配信経路を選択し、当該選択の結果を前記複数の配信サーバに送信し、かつ、前記合成指示を、前記複数の配信サーバのうち、少なくとも前記実行配信サーバのそれぞれに送信する演算手段と、を含む、アグリゲーションサーバ。
In the aggregation server according to claim 1,
The control means includes
Storage means for storing each topology information received by the receiving means;
An operation start notification means for periodically issuing an operation start notification;
When the operation start notification is issued by the operation start notification unit, at least a part of at least two of the selected distribution routes overlap when selecting the one selected distribution route for each topology information in the storage unit. As described above, the selected distribution route is selected, the result of the selection is transmitted to the plurality of distribution servers, and the combination instruction is transmitted to at least each of the execution distribution servers among the plurality of distribution servers. An aggregation server, including an arithmetic means.
請求項2に記載のアグリゲーションサーバにおいて、
前記演算手段は、前記トポロジ情報毎に前記1つの選択配信経路を選択する際に、前記選択配信経路の組み合わせの中から、前記選択配信経路内の前記受信クライアント間のリンクの重なり数の分散値が最大になる組み合わせを求め、当該組み合わせに示された選択配信経路を選択する、アグリゲーションサーバ。
In the aggregation server according to claim 2,
When the computing unit selects the one selected delivery route for each topology information, a dispersion value of the number of overlapping links between the receiving clients in the selected delivery route from the combination of the selected delivery routes. An aggregation server that obtains a combination that maximizes and selects a selected delivery route indicated by the combination.
請求項1から3のいずれか1項に記載のアグリゲーションサーバと通信可能であり、また、自己内のコンテンツの更新情報を当該コンテンツに対応づけられた複数の受信クライアントに配信する配信サーバであって、
自サーバから前記複数の受信クライアントへの前記更新情報についての複数の配信経路を表すトポロジ情報を作成し、当該トポロジ情報を前記アグリゲーションサーバに送信し、前記アグリゲーションサーバから、前記複数の配信経路の中から選択された選択配信経路を示す選択結果を受信すると、前記複数の配信経路の中から前記選択配信経路を選択し、当該アグリゲーションから、前記合成指示を受信すると、当該合成指示を前記選択配信経路に関連づけて記憶する管理手段と、
前記管理手段にて選択された選択配信経路に前記合成指示が関連づけられている場合、前記更新情報に、前記選択配信経路を示す配信経路情報と前記合成指示とを付し、前記配信経路情報と合成情報とが付された更新情報を、前記選択配信経路に従って配信し、前記選択配信経路に前記合成指示が関連づけられていない場合、前記更新情報に前記配信経路情報を付し、前記配信経路情報が付された更新情報を、前記選択配信経路に従って配信する配信手段と、を含む配信サーバ。
A distribution server that is communicable with the aggregation server according to any one of claims 1 to 3, and that distributes update information of content in itself to a plurality of receiving clients associated with the content. ,
Create topology information representing a plurality of distribution paths for the update information from the own server to the plurality of receiving clients, send the topology information to the aggregation server, and from the aggregation server, among the plurality of distribution paths When the selection result indicating the selected delivery route selected from the above is received, the selected delivery route is selected from the plurality of delivery routes, and when the synthesis instruction is received from the aggregation, the synthesis instruction is selected. Management means for storing in association with
When the combination instruction is associated with the selected distribution route selected by the management unit, the update information is added with distribution route information indicating the selected distribution route and the combination instruction, and the distribution route information Update information to which composite information is added is distributed according to the selected distribution route, and when the combination instruction is not associated with the selected distribution route, the distribution route information is attached to the update information, and the distribution route information A distribution server that distributes the update information to which the information is attached according to the selected distribution route.
請求項4に記載の配信サーバにおいて、
前記管理手段は、
記憶手段と、
前記トポロジ情報を作成し、当該トポロジ情報を前記記憶手段に記憶するトポロジ情報管理手段と、
定期的に報告開始通知を発する報告開始通知手段と、
前記報告開始通知手段にて前記報告開始通知が発せられると、前記記憶手段内のトポロジ情報を前記アグリゲーションサーバに送信する報告手段と、を含み、
前記トポロジ情報管理手段は、前記アグリゲーションサーバから、前記選択結果を受信すると、前記複数の配信経路の中から前記選択配信経路を選択し、当該アグリゲーションから、前記合成指示を受信すると、当該合成指示を前記選択配信経路に関連づけて前記記憶手段に記憶する、配信サーバ。
In the delivery server according to claim 4,
The management means includes
Storage means;
Topology information management means for creating the topology information and storing the topology information in the storage means;
A report start notification means for periodically issuing a report start notification;
Reporting means for transmitting the topology information in the storage means to the aggregation server when the report start notification is issued by the report start notification means,
The topology information management means, when receiving the selection result from the aggregation server, selects the selected distribution path from the plurality of distribution paths, and receives the combination instruction when receiving the combination instruction from the aggregation. A distribution server that stores the storage means in association with the selected distribution route.
請求項4または5に記載の配信サーバにおいて、
前記配信手段は、
前記更新情報を生成する生成手段と、
前記生成手段にて前記更新情報が生成されると、前記選択配信経路に前記合成指示が関連づけられている場合、前記更新情報に前記配信経路情報と前記合成指示とを付し、前記配信経路情報と合成情報とが付された更新情報を、前記選択配信経路に従って配信し、前記選択配信経路に前記合成指示が関連づけられていない場合、前記更新情報に前記配信経路情報を付し、前記配信経路情報が付された更新情報を、前記配信経路に従って配信する配信制御手段と、を含む、配信サーバ。
In the delivery server according to claim 4 or 5,
The delivery means includes
Generating means for generating the update information;
When the update information is generated by the generation unit, if the combination instruction is associated with the selected distribution route, the distribution route information and the combination instruction are attached to the update information, and the distribution route information And the update information with the combined information distributed according to the selected distribution route, and when the combination instruction is not associated with the selected distribution route, the distribution route information is added to the update information, and the distribution route A distribution server comprising: distribution control means for distributing update information to which information is attached according to the distribution route.
請求項4から6のいずれか1項に記載の配信サーバにおいて、
前記管理手段は、新たな受信クライアントから、前記更新情報の通知を要求する旨の参加メッセージを受信した場合、当該新たな受信クライアントを前記コンテンツに対応づけて前記トポロジ情報を更新し、更新後のトポロジ情報を前記アグリゲーションサーバに送信する、配信サーバ。
In the delivery server according to any one of claims 4 to 6,
When the management means receives a participation message for requesting notification of the update information from a new receiving client, the management means associates the new receiving client with the content and updates the topology information. A distribution server that transmits topology information to the aggregation server.
請求項4から7のいずれか1項に記載の配信サーバにおいて、
前記管理手段は、既に前記コンテンツと対応づけられている受信クライアントのいずれかから、前記更新情報の通知を中止する旨の離脱メッセージを受信した場合、当該受信クライアントと前記コンテンツとの対応づけを解消して前記トポロジ情報を更新し、更新後のトポロジ情報を前記アグリゲーションサーバに送信する、配信サーバ。
In the delivery server according to any one of claims 4 to 7,
When the management unit receives a leave message indicating that the update information notification is to be stopped from any of the reception clients already associated with the content, the management unit cancels the association between the reception client and the content. Then, the distribution server updates the topology information and transmits the updated topology information to the aggregation server.
請求項4から8のいずれか1項に記載の複数の配信サーバ、および、他の受信クライアントと、通信可能な受信クライアントであって、
更新情報格納手段と、
各配信サーバまたは他の受信クライアントから、前記選択配信経路を示す配信経路情報が付された更新情報を受信する更新情報受信手段と、
前記更新情報に付された配信経路情報に、自受信クライアントが終端として示されている場合には、当該更新情報の転送を中止し、当該配信経路情報に自受信クライアントが中継箇所として示されており、かつ、当該更新情報に前記合成指示が付されており、かつ、当該合成指示に自受信クライアントが示されている場合には、当該更新情報を、前記更新情報格納手段に格納する中継管理手段と、
前記配信経路情報に自受信クライアントが中継箇所として示されており、かつ、当該更新情報に前記合成指示が付されており、かつ、当該合成指示に自受信クライアントが示されていない場合、または、当該配信経路情報に自受信クライアントが中継箇所として示されており、かつ、当該更新情報に前記合成指示が付されていない場合には、当該更新情報を、前記配信経路情報に従って、他の受信クライアントに転送し、また、前記更新情報格納手段内に、前記合成指示に示された複数の更新情報が格納されている場合、当該複数の更新情報を合成し、当該合成された更新情報を、前記配信経路情報に従って、他の受信クライアントに転送する転送管理手段と、を含む受信クライアント。
A plurality of distribution servers according to any one of claims 4 to 8, and a reception client capable of communicating with other reception clients,
Update information storage means;
Update information receiving means for receiving update information to which distribution route information indicating the selected distribution route is attached from each distribution server or other receiving client;
If the delivery route information attached to the update information indicates that the own reception client is the end, the transfer of the update information is stopped, and the delivery route information indicates the own reception client as a relay location. And, when the update instruction is attached to the update information and the own reception client is indicated in the combination instruction, the relay management stores the update information in the update information storage means. Means,
When the self-received client is indicated as a relay location in the distribution route information, the combining instruction is attached to the update information, and the self-receiving client is not indicated in the combining instruction, or When the self-reception client is indicated as a relay location in the distribution route information and the combining instruction is not attached to the update information, the update information is sent to another receiving client according to the distribution route information. And when the plurality of pieces of update information indicated in the combination instruction are stored in the update information storage means, the plurality of pieces of update information are combined, and the combined update information is Transfer management means for transferring to other receiving clients in accordance with the distribution route information.
請求項9に記載の受信クライアントにおいて、
前記転送管理手段は、前記更新情報格納手段内に前記更新情報が格納されてからの経過時間をカウントするカウント手段を含み、前記カウント手段が所定時間をカウントすると、前記更新情報格納手段内に、前記更新指示に示された全ての更新情報が格納されていなくても、前記更新情報格納手段内の前記更新情報を合成し、当該合成された更新情報を、前記配信経路情報に従って、他の受信クライアントに転送する、受信クライアント。
The receiving client according to claim 9,
The transfer management means includes a counting means for counting an elapsed time since the update information is stored in the update information storage means, and when the counting means counts a predetermined time, the update information storage means Even if not all the update information indicated in the update instruction is stored, the update information in the update information storage means is combined, and the combined update information is received according to the distribution route information. Inbound client to forward to client.
請求項1から3のいずれか1項に記載のアグリゲーションサーバと、
請求項4から8のいずれか1項に記載の複数の配信サーバと、
請求項9または10に記載の複数の受信クライアントと、を含む配信システム。
The aggregation server according to any one of claims 1 to 3,
A plurality of distribution servers according to any one of claims 4 to 8,
A distribution system comprising: a plurality of receiving clients according to claim 9.
複数の配信サーバと通信可能なアグリゲーションサーバが行うアグリゲーション方法であって、
各配信サーバから、当該配信サーバから当該配信サーバ内のコンテンツに対応づけられた複数の受信クライアントへの前記コンテンツの更新情報についての複数の配信経路を表すトポロジ情報を受信する受信ステップと、
前記受信されたトポロジ情報毎に当該トポロジ情報が表す複数の配信経路の中から1つの選択配信経路を選択する際に、少なくとも2つの前記選択配信経路の少なくとも一部が重なるように、前記選択配信経路を選択し、当該選択の結果を前記複数の配信サーバに送信し、かつ、前記一部の始点となる受信クライアントと、当該受信クライアントが合成する複数の更新情報と、を示した合成指示を、前記複数の配信サーバのうち、少なくとも、前記一部を含む選択配信経路を表すトポロジ情報を送信した実行配信サーバのそれぞれに送信する制御ステップと、を含むアグリゲーション方法。
An aggregation method performed by an aggregation server that can communicate with a plurality of distribution servers,
A receiving step of receiving, from each distribution server, topology information representing a plurality of distribution paths for the update information of the content from the distribution server to a plurality of receiving clients associated with the content in the distribution server;
The selected delivery so that at least a part of at least two of the selected delivery routes overlaps when selecting one selected delivery route from a plurality of delivery routes represented by the topology information for each received topology information A route is selected, a result of the selection is transmitted to the plurality of distribution servers, and a combination instruction indicating a reception client that is a part of the starting point and a plurality of update information that is combined by the reception client is displayed. An aggregation method including: a control step of transmitting topology information representing a selected distribution path including at least a part of the plurality of distribution servers to each of the execution distribution servers.
請求項12に記載のアグリゲーション方法において、
前記制御ステップは、
前記受信された各トポロジ情報を格納手段に格納する格納ステップと、
定期的に動作開始通知を発する動作開始通知ステップと、
前記動作開始通知が発せられると、前記格納手段内のトポロジ情報毎に前記1つの選択配信経路を選択する際に、少なくとも2つの前記選択配信経路の少なくとも一部が重なるように、前記選択配信経路を選択し、当該選択の結果を前記複数の配信サーバに送信し、かつ、前記合成指示を、前記複数の配信サーバのうち、少なくとも前記実行配信サーバのそれぞれに送信する送信制御ステップと、を含む、アグリゲーション方法。
The aggregation method according to claim 12,
The control step includes
A storage step of storing each received topology information in a storage means;
An operation start notification step for periodically issuing an operation start notification;
When the operation start notification is issued, the selected delivery route is selected such that at least a part of at least two of the selected delivery routes overlaps when selecting the one selected delivery route for each topology information in the storage means. And a transmission control step of transmitting the result of the selection to the plurality of distribution servers and transmitting the combination instruction to at least each of the execution distribution servers among the plurality of distribution servers. The aggregation method.
請求項1から3のいずれか1項に記載のアグリゲーションサーバと通信可能であり、また、自己内のコンテンツの更新情報を当該コンテンツに対応づけられた複数の受信クライアントに配信する配信サーバが行う配信方法であって、
自サーバから前記複数の受信クライアントへの前記更新情報についての複数の配信経路を表すトポロジ情報を作成し、当該トポロジ情報を前記アグリゲーションサーバに送信し、前記アグリゲーションサーバから、前記複数の配信経路の中から選択された選択配信経路を示す選択結果を受信すると、前記複数の配信経路の中から前記選択配信経路を選択し、当該アグリゲーションから、前記合成指示を受信すると、当該合成指示を前記選択配信経路に関連づけて記憶する管理ステップと、
前記選択配信経路に前記合成指示が関連づけられている場合、前記更新情報に、前記選択配信経路を示す配信経路情報と前記合成指示とを付し、前記配信経路情報と合成情報とが付された更新情報を、前記選択配信経路に従って配信し、前記選択配信経路に前記合成指示が関連づけられていない場合、前記更新情報に前記配信経路情報を付し、前記配信経路情報が付された更新情報を、前記選択配信経路に従って配信する配信ステップと、を含む配信方法。
Distribution performed by a distribution server that can communicate with the aggregation server according to any one of claims 1 to 3 and that distributes update information of content within itself to a plurality of receiving clients associated with the content. A method,
Create topology information representing a plurality of distribution paths for the update information from the own server to the plurality of receiving clients, send the topology information to the aggregation server, and from the aggregation server, among the plurality of distribution paths When the selection result indicating the selected delivery route selected from the above is received, the selected delivery route is selected from the plurality of delivery routes, and when the synthesis instruction is received from the aggregation, the synthesis instruction is selected. A management step to store in association with
When the combination instruction is associated with the selected distribution route, the distribution information indicating the selected distribution route and the combination instruction are attached to the update information, and the distribution route information and the combination information are attached. Update information is distributed according to the selected distribution route, and when the combination instruction is not associated with the selected distribution route, the distribution route information is attached to the update information, and the update information with the distribution route information is added. And a delivery step of delivering according to the selected delivery route.
請求項14に記載の配信方法において、
前記管理ステップは、
前記トポロジ情報を作成し、当該トポロジ情報を記憶手段に記憶するトポロジ情報管理ステップと、
定期的に報告開始通知を発する報告開始通知ステップと、
前記報告開始通知が発せられると、前記記憶手段内のトポロジ情報を前記アグリゲーションサーバに送信する報告ステップと、
前記アグリゲーションサーバから、前記選択結果を受信すると、前記複数の配信経路の中から前記選択配信経路を選択し、当該アグリゲーションから、前記合成指示を受信すると、当該合成指示を前記選択配信経路に関連づけて前記記憶手段に記憶管理ステップと、を含む、配信方法。
The distribution method according to claim 14,
The management step includes
A topology information management step of creating the topology information and storing the topology information in a storage means;
A report start notification step for periodically issuing a report start notification;
When the report start notification is issued, a reporting step of transmitting the topology information in the storage means to the aggregation server;
When the selection result is received from the aggregation server, the selected distribution route is selected from the plurality of distribution routes, and when the combination instruction is received from the aggregation, the combination instruction is associated with the selected distribution route. And a storage management step in the storage means.
請求項4から8のいずれか1項に記載の複数の配信サーバ、および、他の受信クライアントと、通信可能な受信クライアントが行う受信方法であって、
各配信サーバまたは他の受信クライアントから、前記選択配信経路を示す配信経路情報が付された更新情報を受信する更新情報受信ステップと、
前記更新情報に付された配信経路情報に、自受信クライアントが終端として示されている場合には、当該更新情報の転送を中止し、当該配信経路情報に自受信クライアントが中継箇所として示されており、かつ、当該更新情報に前記合成指示が付されており、かつ、当該合成指示に自受信クライアントが示されている場合には、当該更新情報を、更新情報格納手段に格納する中継管理ステップと、
前記配信経路情報に自受信クライアントが中継箇所として示されており、かつ、当該更新情報に前記合成指示が付されており、かつ、当該合成指示に自受信クライアントが示されていない場合、または、当該配信経路情報に自受信クライアントが中継箇所として示されており、かつ、当該更新情報に前記合成指示が付されていない場合には、当該更新情報を、前記配信経路情報に従って、他の受信クライアントに転送し、また、前記更新情報格納手段内に、前記合成指示に示された複数の更新情報が格納されている場合、当該複数の更新情報を合成し、当該合成された更新情報を、前記配信経路情報に従って、他の受信クライアントに転送する転送管理ステップと、を含む受信方法。
A plurality of distribution servers according to any one of claims 4 to 8, and a reception method performed by a reception client capable of communicating with other reception clients,
An update information receiving step for receiving update information to which distribution route information indicating the selected distribution route is attached from each distribution server or other receiving client;
If the delivery route information attached to the update information indicates that the own reception client is the end, the transfer of the update information is stopped, and the delivery route information indicates the own reception client as a relay location. And when the update instruction is attached to the update information and the own reception client is indicated in the combination instruction, the relay management step of storing the update information in the update information storage means When,
When the self-received client is indicated as a relay location in the distribution route information, the combining instruction is attached to the update information, and the self-receiving client is not indicated in the combining instruction, or When the self-reception client is indicated as a relay location in the distribution route information and the combining instruction is not attached to the update information, the update information is sent to another receiving client according to the distribution route information. And when the plurality of pieces of update information indicated in the combination instruction are stored in the update information storage means, the plurality of pieces of update information are combined, and the combined update information is A transfer management step of transferring to another receiving client in accordance with the distribution path information.
請求項16に記載の受信方法において、
前記転送管理ステップは、
前記更新情報格納手段内に前記更新情報が格納されてからの経過時間をカウントするカウントステップと、
前記経過時間が所定時間になると、前記更新情報格納手段内に、前記更新指示に示された全ての更新情報が格納されていなくても、前記更新情報格納手段内の前記更新情報を合成し、当該合成された更新情報を、前記配信経路情報に従って、他の受信クライアントに転送する転送ステップと、を含む、受信方法。
The reception method according to claim 16, wherein
The transfer management step includes:
A counting step of counting an elapsed time since the update information is stored in the update information storage means;
When the elapsed time reaches a predetermined time, even if not all the update information indicated in the update instruction is stored in the update information storage means, the update information in the update information storage means is combined, A transfer step of transferring the combined update information to another receiving client according to the distribution route information.
複数の配信サーバと通信可能なコンピュータに、
各配信サーバから、当該配信サーバから当該配信サーバ内のコンテンツに対応づけられた複数の受信クライアントへの前記コンテンツの更新情報についての複数の配信経路を表すトポロジ情報を受信する受信手順と、
前記受信されたトポロジ情報毎に当該トポロジ情報が表す複数の配信経路の中から1つの選択配信経路を選択する際に、少なくとも2つの前記選択配信経路の少なくとも一部が重なるように、前記選択配信経路を選択し、当該選択の結果を前記複数の配信サーバに送信し、かつ、前記一部の始点となる受信クライアントと、当該受信クライアントが合成する複数の更新情報と、を示した合成指示を、前記複数の配信サーバのうち、少なくとも、前記一部を含む選択配信経路を表すトポロジ情報を送信した実行配信サーバのそれぞれに送信する制御手順と、を実行させるためのプログラム。
To a computer that can communicate with multiple distribution servers,
A reception procedure for receiving, from each distribution server, topology information representing a plurality of distribution paths for update information of the content from the distribution server to a plurality of receiving clients associated with the content in the distribution server;
The selected delivery so that at least a part of at least two of the selected delivery routes overlaps when selecting one selected delivery route from a plurality of delivery routes represented by the topology information for each received topology information A route is selected, a result of the selection is transmitted to the plurality of distribution servers, and a combination instruction indicating a reception client that is a part of the starting point and a plurality of update information that is combined by the reception client is displayed. And a control procedure for transmitting to each of the execution distribution servers that have transmitted topology information representing the selected distribution route including at least a part of the plurality of distribution servers.
請求項18に記載のプログラムにおいて、
前記制御手順は、
前記受信された各トポロジ情報を格納手段に格納する格納手順と、
定期的に動作開始通知を発する動作開始通知手順と、
前記動作開始通知が発せられると、前記格納手段内のトポロジ情報毎に前記1つの選択配信経路を選択する際に、少なくとも2つの前記選択配信経路の少なくとも一部が重なるように、前記選択配信経路を選択し、当該選択の結果を前記複数の配信サーバに送信し、かつ、前記合成指示を、前記複数の配信サーバのうち、少なくとも前記実行配信サーバのそれぞれに送信する送信制御手順と、を含む、プログラム。
The program according to claim 18, wherein
The control procedure is:
A storage procedure for storing each received topology information in a storage means;
An operation start notification procedure for periodically issuing an operation start notification;
When the operation start notification is issued, the selected delivery route is selected such that at least a part of at least two of the selected delivery routes overlaps when selecting the one selected delivery route for each topology information in the storage means. And a transmission control procedure for transmitting a result of the selection to the plurality of distribution servers and transmitting the combination instruction to at least each of the execution distribution servers among the plurality of distribution servers. ,program.
請求項1から3のいずれか1項に記載のアグリゲーションサーバと通信可能であり、また、自己内のコンテンツの更新情報を当該コンテンツに対応づけられた複数の受信クライアントに配信するコンピュータに、
自コンピュータから前記複数の受信クライアントへの前記更新情報についての複数の配信経路を表すトポロジ情報を作成し、当該トポロジ情報を前記アグリゲーションサーバに送信し、前記アグリゲーションサーバから、前記複数の配信経路の中から選択された選択配信経路を示す選択結果を受信すると、前記複数の配信経路の中から前記選択配信経路を選択し、当該アグリゲーションから、前記合成指示を受信すると、当該合成指示を前記選択配信経路に関連づけて記憶する管理手順と、
前記選択配信経路に前記合成指示が関連づけられている場合、前記更新情報に、前記選択配信経路を示す配信経路情報と前記合成指示とを付し、前記配信経路情報と合成情報とが付された更新情報を、前記選択配信経路に従って配信し、前記選択配信経路に前記合成指示が関連づけられていない場合、前記更新情報に前記配信経路情報を付し、前記配信経路情報が付された更新情報を、前記選択配信経路に従って配信する配信手順と、を実行させるためのプログラム。
A computer that can communicate with the aggregation server according to any one of claims 1 to 3 and that distributes update information of content in itself to a plurality of receiving clients associated with the content,
Create topology information representing a plurality of distribution routes for the update information from the own computer to the plurality of receiving clients, send the topology information to the aggregation server, and from the aggregation server, among the plurality of distribution routes When the selection result indicating the selected delivery route selected from the above is received, the selected delivery route is selected from the plurality of delivery routes, and when the synthesis instruction is received from the aggregation, the synthesis instruction is selected. A management procedure to store in association with
When the combination instruction is associated with the selected distribution route, the distribution information indicating the selected distribution route and the combination instruction are attached to the update information, and the distribution route information and the combination information are attached. Update information is distributed according to the selected distribution route, and when the combination instruction is not associated with the selected distribution route, the distribution route information is attached to the update information, and the update information with the distribution route information is added. And a delivery procedure for delivering according to the selected delivery route.
請求項20に記載のプログラムにおいて、
前記管理手順は、
前記トポロジ情報を作成し、当該トポロジ情報を記憶手段に記憶するトポロジ情報管理手順と、
定期的に報告開始通知を発する報告開始通知手順と、
前記報告開始通知が発せられると、前記記憶手段内のトポロジ情報を前記アグリゲーションサーバに送信する報告手順と、
前記アグリゲーションサーバから、前記選択結果を受信すると、前記複数の配信経路の中から前記選択配信経路を選択し、当該アグリゲーションから、前記合成指示を受信すると、当該合成指示を前記選択配信経路に関連づけて前記記憶手段に記憶管理手順と、を含む、プログラム。
The program according to claim 20,
The management procedure is as follows:
A topology information management procedure for creating the topology information and storing the topology information in a storage means;
A report start notification procedure for periodically issuing a report start notification,
When the report start notification is issued, a reporting procedure for transmitting the topology information in the storage means to the aggregation server;
When the selection result is received from the aggregation server, the selected distribution route is selected from the plurality of distribution routes, and when the combination instruction is received from the aggregation, the combination instruction is associated with the selected distribution route. A storage management procedure in the storage means.
請求項4から8のいずれか1項に記載の複数の配信サーバ、および、他の受信クライアントと、通信可能なコンピュータに、
各配信サーバまたは他の受信クライアントから、前記選択配信経路を示す配信経路情報が付された更新情報を受信する更新情報受信手順と、
前記更新情報に付された配信経路情報に、自受信クライアントが終端として示されている場合には、当該更新情報の転送を中止し、当該配信経路情報に自受信クライアントが中継箇所として示されており、かつ、当該更新情報に前記合成指示が付されており、かつ、当該合成指示に自受信クライアントが示されている場合には、当該更新情報を、更新情報格納手段に格納する中継管理手順と、
前記配信経路情報に自受信クライアントが中継箇所として示されており、かつ、当該更新情報に前記合成指示が付されており、かつ、当該合成指示に自受信クライアントが示されていない場合、または、当該配信経路情報に自受信クライアントが中継箇所として示されており、かつ、当該更新情報に前記合成指示が付されていない場合には、当該更新情報を、前記配信経路情報に従って、他の受信クライアントに転送し、また、前記更新情報格納手段内に、前記合成指示に示された複数の更新情報が格納されている場合、当該複数の更新情報を合成し、当該合成された更新情報を、前記配信経路情報に従って、他の受信クライアントに転送する転送管理手順と、を実行させるためのプログラム。
A plurality of distribution servers according to any one of claims 4 to 8, and a computer capable of communicating with other receiving clients,
An update information reception procedure for receiving update information with distribution route information indicating the selected distribution route from each distribution server or other receiving client;
If the delivery route information attached to the update information indicates that the own reception client is the end, the transfer of the update information is stopped, and the delivery route information indicates the own reception client as a relay location. And, when the update instruction is attached to the update information and the own reception client is indicated in the combination instruction, the relay management procedure for storing the update information in the update information storage means When,
When the self-received client is indicated as a relay location in the distribution route information, the combining instruction is attached to the update information, and the self-receiving client is not indicated in the combining instruction, or When the self-reception client is indicated as a relay location in the distribution route information and the combining instruction is not attached to the update information, the update information is sent to another receiving client according to the distribution route information. And when the plurality of pieces of update information indicated in the combination instruction are stored in the update information storage means, the plurality of pieces of update information are combined, and the combined update information is A transfer management procedure for transferring to another receiving client according to the distribution route information.
請求項22に記載のプログラムにおいて、
前記転送管理手順は、
前記更新情報格納手段内に前記更新情報が格納されてからの経過時間をカウントするカウント手順と、
前記経過時間が所定時間になると、前記更新情報格納手段内に、前記更新指示に示された全ての更新情報が格納されていなくても、前記更新情報格納手段内の前記更新情報を合成し、当該合成された更新情報を、前記配信経路情報に従って、他の受信クライアントに転送する転送手順と、を含む、プログラム。
The program according to claim 22,
The transfer management procedure includes:
A counting procedure for counting an elapsed time since the update information is stored in the update information storage means;
When the elapsed time reaches a predetermined time, even if not all the update information indicated in the update instruction is stored in the update information storage means, the update information in the update information storage means is combined, A transfer procedure for transferring the synthesized update information to another receiving client in accordance with the distribution route information.
JP2008214122A 2008-08-22 2008-08-22 Aggregation server, distribution server, reception client, distribution system, method and program thereof Expired - Fee Related JP5062098B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008214122A JP5062098B2 (en) 2008-08-22 2008-08-22 Aggregation server, distribution server, reception client, distribution system, method and program thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008214122A JP5062098B2 (en) 2008-08-22 2008-08-22 Aggregation server, distribution server, reception client, distribution system, method and program thereof

Publications (2)

Publication Number Publication Date
JP2010050815A true JP2010050815A (en) 2010-03-04
JP5062098B2 JP5062098B2 (en) 2012-10-31

Family

ID=42067523

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008214122A Expired - Fee Related JP5062098B2 (en) 2008-08-22 2008-08-22 Aggregation server, distribution server, reception client, distribution system, method and program thereof

Country Status (1)

Country Link
JP (1) JP5062098B2 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011111848A2 (en) 2010-03-08 2011-09-15 National University Corporation Hokkaido University Method and apparatus for producing metal oxide particles
CN114827003A (en) * 2022-03-21 2022-07-29 浪潮思科网络科技有限公司 Topology election method, device, equipment and medium of distributed system

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004159230A (en) * 2002-11-08 2004-06-03 Digital Design Co Ltd Method and system for distributing data in network
JP2007251811A (en) * 2006-03-17 2007-09-27 Toyota Infotechnology Center Co Ltd Radio communication apparatus, radio communication method, and method of creating route information table
JP2008046888A (en) * 2006-08-17 2008-02-28 Nec Corp Updating information distribution system, updating information distribution method and updating information distribution program

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004159230A (en) * 2002-11-08 2004-06-03 Digital Design Co Ltd Method and system for distributing data in network
JP2007251811A (en) * 2006-03-17 2007-09-27 Toyota Infotechnology Center Co Ltd Radio communication apparatus, radio communication method, and method of creating route information table
JP2008046888A (en) * 2006-08-17 2008-02-28 Nec Corp Updating information distribution system, updating information distribution method and updating information distribution program

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011111848A2 (en) 2010-03-08 2011-09-15 National University Corporation Hokkaido University Method and apparatus for producing metal oxide particles
CN114827003A (en) * 2022-03-21 2022-07-29 浪潮思科网络科技有限公司 Topology election method, device, equipment and medium of distributed system
CN114827003B (en) * 2022-03-21 2024-05-14 浪潮思科网络科技有限公司 Topology election method, device, equipment and medium of distributed system

Also Published As

Publication number Publication date
JP5062098B2 (en) 2012-10-31

Similar Documents

Publication Publication Date Title
US8195764B2 (en) Information delivery system, delivery request program, transfer program, delivery program, and the like
CN100588172C (en) System and method for realizing network reserved storage
JP2007141103A (en) Information delivery system, information processor and information processing program
JP2002132613A (en) Download method, user terminal for executing the download method, and distributing server
JP2008052340A (en) Computer program for implementing peer-to-peer file exchange on overlay network
JP5960820B2 (en) Tree structure management method, information processing system, and program
JPH11313059A (en) Multicasting communication method/system and storage medium recording multicasting communication program
WO2017128713A1 (en) Method and device for publishing subscription message
JP5062098B2 (en) Aggregation server, distribution server, reception client, distribution system, method and program thereof
JP4635611B2 (en) Information processing apparatus, method, and program
JP2009230369A (en) Synchronization method for shared data, program for synchronizing shared data, and network system for synchronizing shared data to be held
JP2011130283A (en) Internetwork data distribution system, information communication terminal, and content distribution server
KR101598577B1 (en) - Method for constructing publish-subscribe network and supporting communication using hash function
JP2008219430A (en) Content distribution system, terminal device, and content distributing method and program used therefor
JP2011118593A (en) Data transfer server, data transfer system, data transfer method, and program
JP4095352B2 (en) Information processing apparatus, information processing apparatus control method, and computer program for executing the control method
JP2007207013A (en) Information processor and information sharing program
JP4146373B2 (en) Service selection method and service selection system in dynamic network
US20080215595A1 (en) Data distribution system, terminal apparatus, connection candidate introduction apparatus, information processing method and recording medium with program recorded thereon
JP4894838B2 (en) Karaoke network system and karaoke device
JP3964808B2 (en) ROUTING METHOD, ROUTING DEVICE, PROGRAM, AND RECORDING MEDIUM
JP2007148882A (en) Content distribution system
CN101399740A (en) Method and system for node elegant withdrawn in P2P network
JP5010390B2 (en) Information distribution system
JP4038406B2 (en) Event sharing system, host, event sharing method, and event sharing program

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110714

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120601

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120605

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120622

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: 20120710

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: 20120723

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150817

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees