JP5434558B2 - Node, asynchronous message relay method, and program - Google Patents
Node, asynchronous message relay method, and program Download PDFInfo
- Publication number
- JP5434558B2 JP5434558B2 JP2009286073A JP2009286073A JP5434558B2 JP 5434558 B2 JP5434558 B2 JP 5434558B2 JP 2009286073 A JP2009286073 A JP 2009286073A JP 2009286073 A JP2009286073 A JP 2009286073A JP 5434558 B2 JP5434558 B2 JP 5434558B2
- Authority
- JP
- Japan
- Prior art keywords
- node
- relay
- message
- update information
- information distribution
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Description
本発明はノード、子ノード、非同期メッセージ中継方法、及び、プログラムに関する。 The present invention relates to a node, a child node, an asynchronous message relay method, and a program.
近年、携帯電話、PDA、及び車載端末などの移動端末が普及し、移動しながら音声や映像などの大容量コンテンツをネットワークを利用して交換したいという要望がユーザの間で高まっている。また、街角監視カメラや、各種センサが生成した情報なども合わせてネットワークに流通させて活用したいといった要望もある。 In recent years, mobile terminals such as mobile phones, PDAs, and in-vehicle terminals have become widespread, and there is an increasing demand among users for exchanging large-capacity content such as voice and video while moving. In addition, there is a demand for distributing and utilizing a street corner monitoring camera and information generated by various sensors through a network.
このような要望に対応するには、特に、様々な種類かつ多量のコンテンツが流通する中において、コンテンツの鮮度を損なわずに、コンテンツの情報をユーザにリアルタイムで届けることが重要となる。 In order to meet such demands, it is important to deliver content information to users in real time without losing the freshness of the content, especially when various types and a large amount of content are distributed.
そこで、コンテンツが今どうなっているのか、どう更新されたか、という情報をメタデータとして流通させる更新情報配信システムが重要になる。この更新情報配信システムはコンテンツの更新情報を小さいメッセージに含め、ユーザが利用する利用者装置を論理ツリー構造にして、そのコンテンツの情報を所望するユーザへリアルタイムに配信する。 Therefore, an update information distribution system that distributes information about how the content is now and how it was updated as metadata becomes important. This update information distribution system includes content update information in a small message, makes the user device used by the user a logical tree structure, and distributes the content information to the desired user in real time.
ところで、昨今、上記のようなメッセージ配信者からユーザへの下り情報流通に加えて、ユーザからメッセージ配信者への上り情報流通も重要となっている。この上り情報流通としては、例えば、現在のコンテンツ情報の配信依頼に関するものや、コンテンツ更新情報の配信の遅延量の報告に関するもの、その他の各種コミュニケーションのためのものなどが考えられる。そして、これらの上り情報流通は、上記の下り情報流通とは非同期に行われるのが実情としてある。 By the way, in recent years, in addition to the downstream information distribution from the message distributor to the user as described above, the upstream information distribution from the user to the message distributor is also important. As the upstream information distribution, for example, a request for distribution of current content information, a report on a delay amount of distribution of content update information, and other various communication can be considered. In fact, the upstream information distribution is performed asynchronously with the downstream information distribution described above.
このような上り情報流通と下り情報流通の双方は、一般に、ユーザが利用する複数のクライアントと、メッセージ配信者が利用するサーバと、を例えば特許文献1に開示のようにオーバーレイネットワーク上に構築されたツリー型トポロジや公知のスター型トポロジで接続することで実現されている。 In both such upstream information distribution and downstream information distribution, generally, a plurality of clients used by a user and a server used by a message distributor are constructed on an overlay network as disclosed in Patent Document 1, for example. This is realized by connecting with a tree topology or a known star topology.
しかし、クライアントからサーバーに非同期に送信されるメッセージとしての非同期メッセージの送信頻度は、非同期であるが故、変動することがある。従って、上記のスター型トポロジで複数のクライアントとサーバーを接続すると、短時間で大量の非同期メッセージがサーバーに送信された場合、非同期メッセージを一時的に蓄積しておくバッファが溢れ、この結果、所謂メッセージ落ちが発生してしまう虞がある。 However, the transmission frequency of an asynchronous message as a message transmitted asynchronously from the client to the server may vary because it is asynchronous. Therefore, when a plurality of clients and servers are connected in the star topology described above, if a large number of asynchronous messages are sent to the server in a short time, the buffer for temporarily storing the asynchronous messages overflows. There is a risk of message dropping.
一方、上記のツリー型トポロジでは、そのツリーの構造に従って非同期メッセージがクライアントからサーバーに向かって順々に転送されるようになっている。そして、各ノードは、サーバーを含む上位のノードのバッファが溢れそうになると、そのバッファ溢れを抑えるように、転送する非同期メッセージをバッファリングするようになっており、もって、各ノードのバッファ溢れが効果的に抑制されるようになっている。しかし、上記のツリー型トポロジでは、ツリーの下位に位置するクライアントからサーバー宛に非同期メッセージを送信しようとすると、ホップ数が大きいので、非同期メッセージがクライアントから発信され、実際にサーバーに到達するまでの時間が長くなってしまう。 On the other hand, in the above tree-type topology, asynchronous messages are sequentially transferred from the client to the server according to the structure of the tree. And each node is designed to buffer the asynchronous message to be transferred so that the buffer of the upper node including the server is about to overflow, so that the buffer overflow is suppressed. It is designed to be effectively suppressed. However, in the above tree-type topology, when an asynchronous message is sent from a client located at the bottom of the tree to the server, the number of hops is large, so the asynchronous message is sent from the client until it actually reaches the server. The time will be longer.
本願発明の目的は、子ノードからルートノードへの非同期メッセージの送信に要する時間を短縮することができる、ノード、子ノード、非同期メッセージ中継方法、及び、プログラムを提供することにある。 An object of the present invention is to provide a node, a child node, an asynchronous message relay method, and a program that can reduce the time required for transmitting an asynchronous message from a child node to a root node.
本願発明の第一の観点によれば、ルートノードから複数の子ノードに情報を配信するためにオーバーレイネットワーク上でツリー状に構築されたネットワークに参加可能なノードは、以下のように構成される。即ち、前記ノードは、中継ノードとして機能させる子ノードを前記ネットワークに参加可能な前記複数の子ノードの中から選出する中継ノード選出部を備える。ここで、中継ノードとは、前記複数の子ノードのうち何れかから前記ルートノード宛に発信された非同期メッセージを受信し、受信した前記非同期メッセージを、上記ツリーを順々に遡って前記ルートノードへ向けて中継する場合と比較して少ないホップ数となるように前記ルートノードへ向けて中継するものである。 According to the first aspect of the present invention, nodes that can participate in a network constructed in a tree shape on an overlay network in order to distribute information from a root node to a plurality of child nodes are configured as follows. . That is, the node includes a relay node selection unit that selects a child node that functions as a relay node from the plurality of child nodes that can participate in the network. Here, the relay node receives an asynchronous message transmitted from any one of the plurality of child nodes to the root node, and the received asynchronous message is traced back in the tree in order. Relaying toward the root node so that the number of hops is smaller than when relaying toward the root.
本願発明の第二の観点によれば、ルートノードから複数の子ノードに情報を配信するためにオーバーレイネットワーク上でツリー状に構築されたネットワークにおいて、前記複数の子ノードから前記ルートノード宛に発信された非同期メッセージを前記ルートノードへ向けて中継する、非同期メッセージの中継は、以下のような方法で行われる。即ち、前記複数の子ノードのうち何れかから前記ルートノード宛に発信された非同期メッセージを受信し、受信した前記非同期メッセージを、上記ツリーを順々に遡って前記ルートノードへ向けて中継する場合と比較して少ないホップ数となるように前記ルートノードへ向けて中継する、中継ノードとして機能させる子ノードを、前記ネットワークに参加可能な前記複数の子ノードの中から、選出する、中継ノード選出ステップを含む。 According to a second aspect of the present invention, in a network constructed in a tree shape on an overlay network for distributing information from a root node to a plurality of child nodes, transmission from the plurality of child nodes to the root node The asynchronous message is relayed by relaying the asynchronous message to the root node in the following manner. That is, when an asynchronous message sent to the root node from any of the plurality of child nodes is received, and the received asynchronous message is relayed back to the root node in the order of the tree Relay node selection that selects a child node that functions as a relay node that relays toward the root node so as to have a smaller number of hops than the plurality of child nodes that can participate in the network Includes steps.
本願発明の第三の観点によれば、ルートノードから複数の子ノードに情報を配信するためにオーバーレイネットワーク上でツリー状に構築されたネットワークに参加可能なノードに、以下の機能を発揮させるプログラムが提供させる。即ち、前記ノードに、前記複数の子ノードのうち何れかから前記ルートノード宛に発信された非同期メッセージを受信し、受信した前記非同期メッセージを、上記ツリーを順々に遡って前記ルートノードへ向けて中継する場合と比較して少ないホップ数となるように前記ルートノードへ向けて中継する、中継ノードとして機能させる、子ノードを、前記ネットワークに参加可能な前記複数の子ノードの中から、選出する、中継ノード選出部としての機能を発揮させる。 According to the third aspect of the present invention, a program for causing a node that can participate in a network constructed in a tree shape on an overlay network to exhibit the following functions to distribute information from a root node to a plurality of child nodes. To provide. That is, the node receives an asynchronous message transmitted to the root node from any one of the plurality of child nodes, and directs the received asynchronous message back to the root node in order from the tree. Relay from the plurality of child nodes that can participate in the network to relay to the root node so that the number of hops is smaller than the relay node, to function as a relay node And function as a relay node selection unit.
本願発明によれば、子ノードからルートノードへの非同期メッセージの送信に要する時間を短縮することができる。 According to the present invention, the time required for transmitting an asynchronous message from a child node to a root node can be reduced.
以下、本発明の一実施形態を、図面を参照して説明する。 Hereinafter, an embodiment of the present invention will be described with reference to the drawings.
図1は、本実施に係る更新情報配信システム1の構成例を示す概念図である。図1において、更新情報配信システム1は、複数の利用者装置100、100、…(子ノード)と、更新情報配信サーバ200(ルートノード)とを有し、論理ネットワーク(オーバーレイネットワーク)を構成している。ある1つのコンテンツに付き1つの更新情報配信システム1が構成されており、複数のコンテンツが存在する場合には、コンテンツ毎に、それぞれ別の更新情報配信システム1が論理ネットワーク上に構成される。
FIG. 1 is a conceptual diagram illustrating a configuration example of an update information distribution system 1 according to the present embodiment. 1, the update information distribution system 1 includes a plurality of
すなわち、更新情報配信システム1を論理ネットワーク上で複数組み合わせることにより、多種多様なコンテンツの更新情報(情報)を、利用者装置100に配信する大規模なシステムを構築することができる。図1の下の更新情報配信システム1の構成例では、更新情報配信サーバ200(ノードn10)を頂点とし、更新情報配信サーバ200の配下に利用者装置100であるノードn8、ノードn11があり、ノードn8の配下にノードn3及びノードn44、ノードn11の配下にノードn22があるというような、ツリー構造の状態で接続されている。
That is, by combining a plurality of update information distribution systems 1 on a logical network, a large-scale system that distributes update information (information) of various contents to the
利用者装置100は、更新情報配信サーバ200、もしくは1つまたは複数の利用者装置100と接続する。各利用者装置100は、接続している更新情報配信サーバ200、もしくは1つまたは複数の利用者装置100から更新情報を受信した場合に、更新情報配信システム1での下流にある利用者装置100に更新情報を転送する。論理ネットワーク上にある利用者装置100は、所望するコンテンツを論理ネットワーク上で検索し、そのコンテンツを有する更新情報配信サーバ200または、そのコンテンツを有する更新情報配信サーバ200が構成するツリーに接続している利用者装置100に接続することによって更新情報配信システム1に参加することができる。
The
さらに利用者装置100(子ノード)は、更新情報配信サーバ200(ルートノード)に対して非同期にメッセージを送信することができる。この非同期メッセージは、例えば、ユーザが現在のコンテンツ情報の通知を依頼したり、メッセージ配信システムのリアルタイム性を保証するためにユーザからメッセージ配信の遅延量を通知してもらったり、ユーザからメッセージ配信者へのコミュニケーションのために利用され、更新情報配信サーバ200へ直接、または、他の利用者装置100を中継装置(中継ノード)として利用した上で送信される。更新情報配信サーバ200は、自身へ送られてくる非同期メッセージの傾向を判断して、適宜ひとつまたは複数の利用者装置100を中継装置として選出する。中継装置として選出された利用者装置100は、他の利用者装置100からの非同期メッセージを中継して、更新情報配信サーバ200へ非同期メッセージを送信する。
Further, the user device 100 (child node) can asynchronously transmit a message to the update information distribution server 200 (root node). This asynchronous message is, for example, a user requesting notification of the current content information, a message delivery delay notification from the user to guarantee the real-time property of the message delivery system, or a message distributor from the user. Is transmitted to the update
図2は、本実施形態の利用者装置100の構成を示すブロック図である。図2において、利用者装置100は、主制御部110と、ネットワークインターフェイス120と、中継装置情報データベース121と、利用者装置情報データベース122と、コンテンツ情報データベース123と、を有する。主制御部110は、CPU(Central Processing Unit)、RAM(Random Access Memory)、及びOS(OperatingSystem)などで構成されたコンピュータの主要部であり、主制御部110の中に、動作するプログラムとして構成されている送受信部160と、更新情報配信システムクライアント部130と、非同期通信クライアント部140と、中継装置機能部150と、を有する。更新情報配信システムクライアント部130は、更新情報配信システム1のツリー構造の管理および更新情報メッセージの送受信を実施する機能部で、ツリー管理機能部131と、コンテンツクライアント部132と、を有する。非同期通信クライアント部140は、非同期メッセージの送受信を実施する機能部で、非同期通信機能部141と、中継装置選択部142と、を有する。中継装置機能部150は、更新情報配信サーバ200から中継装置として選出された場合に中継装置の機能を実施する機能部で、非同期メッセージ集約部151と、集約タイマ152と、バッファ153と、バッファ監視部154と、バッファ状況通知部155と、を有する。
FIG. 2 is a block diagram illustrating a configuration of the
ここで、まず、中継装置情報データベース121と、利用者装置情報データベース122と、コンテンツ情報データベース123と、のデータ構成について説明する。
Here, first, the data structure of the relay
図3は、本実施形態の中継装置情報データベース121のデータ構成を示す概念図である。中継装置情報データベース121は、自装置が参加している更新情報配信システム1における中継装置情報を保存する。中継装置情報とは、中継装置を一意に識別するクライアントID、IPアドレス、ポート番号など中継装置へ非同期メッセージを送信するために必要な情報である。この中継装置情報には更新情報配信システム1のツリー構造の頂点にある更新情報配信サーバ200の情報もルートノードとして含まれる。
FIG. 3 is a conceptual diagram showing a data configuration of the relay
図4は、本実施形態の利用者装置情報データベース122のデータ構成を示す概念図である。利用者装置情報データベース122は、コンテンツ情報データベース123に保存しているコンテンツ毎に、更新情報配信システム1における利用者装置情報を保存する。利用者装置情報とは、利用者装置100を一意に識別するクライアントID、IPアドレス、ポート番号など他の利用者装置100とメッセージを送受信するために必要な情報であり、更新情報配信システム1のツリー構造において自装置より上及び下にある利用者装置100の情報である。
FIG. 4 is a conceptual diagram showing a data configuration of the user
図5は、本実施形態のコンテンツ情報データベース123のデータ構成を示す概念図である。コンテンツ情報データベース123は、自装置が参加している更新情報配信システム1のコンテンツに関するメタデータを保存している。メタデータとは、コンテンツに付随する情報であって、例えば、コンテンツID、URI、タイトル、作成者、作成場所、作成時間、キーワードなどである。さらにメタデータに加えてコンテンツ本体の情報を保持することもできる。
FIG. 5 is a conceptual diagram showing the data configuration of the
送受信部160は、ネットワークインターフェイス120を介して、更新情報配信サーバ200、または他の利用者装置100からのメッセージを受信して処理する。送受信部は、受信したメッセージがツリー管理メッセージであった場合には、ツリー管理メッセージをツリー管理機能部131へ送る。
The transmission /
また、送受信部160は、受信したメッセージが更新情報メッセージであった場合には、更新情報メッセージをコンテンツクライアント部132へ送る。
In addition, when the received message is an update information message, the transmission /
さらに、送受信部160は、受信したメッセージが中継装置周知メッセージであった場合には、中継装置周知メッセージを非同期通信機能部141へ送る。
Furthermore, when the received message is a relay device known message, the transmission /
さらに、送受信部160は、受信したメッセージが非同期メッセージであった場合には、非同期メッセージを非同期メッセージ集約部151へ送る。
Furthermore, when the received message is an asynchronous message, the transmission /
さらに、送受信部160は、ツリー管理機能部131、コンテンツクライアント部132、非同期通信機能部141、非同期メッセージ集約部151、バッファ状況通知部155からメッセージを受け取り、メッセージに記載されている宛先である更新情報配信サーバ200、または、他の利用者装置100にネットワークインターフェイス120を介してメッセージを送信する。
Further, the transmission /
ツリー管理機能部131は、更新情報配信サーバ200または、ひとつまたは複数の利用者装置100とツリー管理メッセージを送受信することによって更新情報配信システム1を管理する。ツリー管理メッセージを受信した場合には、ツリー管理メッセージに記載の更新情報配信サーバ200または利用者装置100の利用者装置情報を参照し、利用者装置情報データベース122を更新する。また、図2に記載はないが、タイマを利用して定期的に利用者装置情報データベース122を参照して、ツリー管理メッセージを作成し、更新情報配信サーバ200または利用者装置100に対しツリー管理メッセージを送信する。
The tree
コンテンツクライアント部132は、更新情報配信サーバ200または利用者装置100から更新情報メッセージを受信すると、更新情報メッセージに記載されたメタデータを参照し、コンテンツ情報データベース123を更新する。さらに、利用者装置情報データベース122を参照し、更新情報配信システム1のツリー構造において自装置より下の利用者装置がひとつまたは複数存在する場合、更新情報メッセージを該当するひとつまたは複数の利用者装置100に転送する。
When the
非同期通信機能部141は、中継装置周知メッセージを受信すると、中継装置周知メッセージに記載の中継装置情報を参照し、中継装置情報データベース121を更新する。さらに、利用者装置情報データベース122を参照し、更新情報配信システム1のツリー構造において自装置より下の利用者装置100がひとつまたは複数存在する場合、中継装置周知メッセージを該当するひとつまたは複数の利用者装置100に転送する。
When receiving the relay device known message, the asynchronous
さらに、非同期通信機能部141は、利用者から非同期通信を実行するように操作されると、中継装置選択部142を起動し、非同期メッセージを送信するあて先とする中継装置情報を得る。そして、その中継装置をあて先として非同期メッセージを作成し、非同期メッセージを送信する。
Furthermore, when the asynchronous
中継装置選択部142は、非同期通信機能部141からの呼び出しを契機に起動する。中継装置選択部142は、中継装置情報データベース121を参照し、非同期メッセージを転送すべき中継装置を選択する。中継装置を選択するに際しては、自利用者装置100の更新情報配信システム1のツリー構造における位置と、中継装置情報データベース121に記載のひとつまたは複数の中継装置の位置と、更新情報配信サーバ200の位置と、を比較することによって中継装置を選択する。例えば、更新情報配信システム1のツリー構造において自利用者装置100から見て最もホップ数の少ない位置にある中継装置、または更新情報配信サーバ200を選択し、あるいは更新情報配信システム1のツリー構造において、更新情報配信サーバ200からのホップ数が極力少ない中継装置を選択する、などがある。
The relay
非同期メッセージ集約部151は、非同期メッセージを受信すると非同期メッセージを集約処理する。集約処理とは、非同期メッセージを最終的に受信する更新情報配信サーバ200の負荷を軽減する目的で、例えば、非同期メッセージのヘッダを統一する、統計情報を事前計算する、などがある。この集約処理中に非同期メッセージを受信した場合は、バッファ153にメッセージを保存しておき、集約処理が終了次第、バッファ153に保存しておいた非同期メッセージの集約処理を実施する。
When receiving the asynchronous message, the asynchronous
非同期メッセージ集約部151は、集約タイマ152からのアラームを契機に、更新情報配信サーバ200へ集約済みの非同期メッセージを直接的に、換言すれば1ホップで送信する。更に換言すれば、非同期メッセージ集約部151は、更新情報配信サーバ200へ集約済みの非同期メッセージを、ツリーを順々に遡って更新情報配信サーバ200に中継するよりも少ないホップ数となるように更新情報配信サーバ200へ向けて中継する。要するに、非同期メッセージ集約部151は、更新情報配信サーバ200へ集約済みの非同期メッセージを更新情報配信サーバ200へ中継する際、ツリー構造における位置の如何に拘わらず、他の利用者装置100を一切経由することなく、ダイレクトに更新情報配信サーバ200へ中継する。
The asynchronous
また、非同期メッセージ集約部151は、非同期メッセージを送信してきた利用者装置100の情報を、予め定められた量だけリスト化しておく。このリストはバッファ状況通知部155からの呼び出しを受けてリストをバッファ状況通知部155に渡す。
Further, the asynchronous
バッファ153は、非同期メッセージの中継に利用可能なものであって、有限のメッセージ一時保存機能を提供し、非同期メッセージ集約部151から、非同期メッセージを受け取り保存する。また非同期メッセージ集約部151からの呼び出しを受けて保存していた非同期メッセージを非同期メッセージ集約部151へ渡す。
The
バッファ監視部154は、バッファ153の利用状況を監視する。バッファ153が溢れそうになった場合、具体的には、バッファ153の利用量が予め定められた閾値を超えた場合、バッファ状況通知部155へその旨を知らせるアラームを出す。また、予め定められた時間(一定時間)中、常にバッファ153の利用がなかった場合、バッファ状況通知部155へその旨を知らせるアラームを出す。
The buffer monitoring unit 154 monitors the usage status of the
バッファ状況通知部155は、バッファ監視部154からの2種のアラームを受けて、バッファ状況通知メッセージにアラーム情報を記載して、更新情報配信サーバ200へバッファ状況通知メッセージを送信する。ここで、通知されたアラームが、バッファ153の利用量が予め定められた閾値を超えた場合のアラームであった場合、バッファ状況通知部は、非同期メッセージ集約部151から予め定められた量の直近の非同期メッセージを送信してきた利用者装置100のリストを受けてバッファ状況通知メッセージに併せて記載する。
The buffer
図6は、本実施形態の更新情報配信サーバ200の構成を示すブロック図である。図6において、更新情報配信サーバ200、主制御部210と、ネットワークインターフェイス220と、中継装置情報データベース221と、利用者装置情報データベース222と、コンテンツ情報データベース223と、を有する。主制御部210は、CPU、RAM、及びOSなどで構成されたコンピュータの主要部であり、主制御部210の中に、CPU上で実行可能なプログラムによって実現される送受信部260と、更新情報配信システムサーバ部230と、非同期通信サーバ部240と、を有する。更新情報配信システムサーバ部230は、更新情報配信システム1のツリー構造の管理および更新情報メッセージの送信を実施する機能部で、ツリー管理機能部231と、コンテンツサーバ部232と、を有する。非同期通信サーバ部240は、非同期メッセージの受信、および中継装置を選出する機能を実施する機能部で、非同期通信処理部241と、中継装置管理部246と、バッファ242と、バッファ監視部243と、中継装置タイマ244と、中継装置選出部245(中継ノード選出部)と、を有する。
FIG. 6 is a block diagram showing the configuration of the update
更新情報配信サーバ200における、中継装置情報データベース221と、利用者装置情報データベース222と、コンテンツ情報データベース223は、利用者装置100の中継装置情報データベース121と、利用者装置情報データベース122と、コンテンツ情報データベース123と同一のデータ構造であるため詳細は説明を省略する。
In the update
送受信部260は、ネットワークインターフェイス220を介して、利用者装置100からのメッセージを受信して処理する。送受信部260は、受信したメッセージがツリー管理メッセージであった場合には、ツリー管理メッセージをツリー管理機能部231へ送る。
The transmission /
また、送受信部260は、受信したメッセージが非同期メッセージであった場合には、非同期メッセージを非同期通信処理部241へ送る。
In addition, when the received message is an asynchronous message, the transmission /
さらに、送受信部260は、受信したメッセージがバッファ状況通知メッセージであった場合には、バッファ状況通知メッセージを中継装置管理部246へ送る。
Furthermore, when the received message is a buffer status notification message, the transmission /
さらに、送受信部260は、ツリー管理機能部231、中継装置管理部246からメッセージを受け取り、メッセージに記載されている宛先である利用者装置100にネットワークインターフェイス220を介してメッセージを送信する。
Further, the transmission /
ツリー管理機能部231は、利用者装置100のツリー管理機能部131と同じであるため、詳細な説明を省略する。
Since the tree
コンテンツサーバ部232は、利用者からのコンテンツ情報データベース223の更新操作を契機として、利用者装置情報データベース222を参照し、更新情報配信システム1のツリー構造において自装置より下の利用者装置100がひとつまたは複数存在する場合、コンテンツ情報データベース223を参照し、更新情報メッセージを作成し、更新情報メッセージを該当するひとつまたは複数の利用者装置100に送信する。
The
非同期通信処理部241は、非同期メッセージを受信すると非同期メッセージの目的に応じて処理する。非同期メッセージを目的に応じて処理するとは、例えば、更新情報配信サーバ200の管理者へのメッセージであった場合は、管理者へディスプレイなどのユーザインタフェースを通してメッセージを表示する、あるいは遅延量などの統計情報収集を目的としていた場合は、統計処理を実行する、などがある。この処理中に非同期メッセージを受信した場合は、バッファ242にメッセージを保存しておき、処理が終了次第、バッファ242に保存しておいた非同期メッセージの処理を実施する。
When receiving the asynchronous message, the asynchronous
また、非同期通信処理部241は、非同期メッセージを送信してきた利用者装置100の情報を、予め定められた量だけリスト化しておく。このリストは中継装置選出部からの呼び出しを受けて、リストを中継装置選出部245に渡す。
In addition, the asynchronous
バッファ242は、利用者装置100のバッファ153と同じであるため、詳細な説明を省略する。
Since the
バッファ監視部243は、バッファ242の利用状況を監視する。バッファ242が溢れそうになったら、具体的には、バッファ242の利用量が予め定められた閾値を超えた場合、中継装置選出部245へその旨を知らせるアラームを出す。
The
中継装置タイマ244は、中継装置選出部245が動作してから、予め定められた時間が経過した場合、即ち、一定時間毎に、中継装置選出部245へその旨を知らせるアラームを出す。
The
中継装置選出部245は、バッファ監視部243からのアラームを受信した場合、または中継装置タイマ244からのアラームを受信した場合、または中継装置管理部246からバッファ状況通知メッセージを受信した場合、中継装置選出動作を実施する。
When the relay
中継装置選出部245は、まず、非同期通信処理部241から非同期メッセージを送信してきた利用者装置100の情報のリストを得る。また、利用者装置100からのバッファ状況通知メッセージを受信していて、そのバッファ状況通知メッセージに同様のリストが記載されていた場合は、リストを統一して、ある一定時間に非同期メッセージを発信した利用者装置100のリストを作成する。このリストには非同期メッセージを送信してきた利用者装置100の更新情報配信システム1のツリー構造における位置、および非同期メッセージを送信してきた時刻が記載されている。このリストを非同期メッセージ管理リストと呼ぶ。非同期メッセージ管理リストから、中継装置選出動作の直近における更新情報配信システム1全体の非同期メッセージの発信された頻度(発信頻度)が分かる。更新情報配信サーバ200および利用者装置100におけるバッファ量は有限長のための、中継装置選出部245は、非同期メッセージの発信頻度に基づいて中継装置の数を決定する。詳しくは、中継装置選出部245は、非同期メッセージの発信頻度と、非同期通信処理部241の非同期メッセージの処理効率と、から中継装置の数を決定する。例えば、中継装置選出動作の直近における非同期メッセージの発信頻度をa個/sec、非同期通信処理部241が非同期メッセージを処理する効率をb個/secとすると、中継装置数mは、
m=β×a/b
と計算する。βは余裕度を表すパラメータである。続いて、中継装置選出部245は、非同期メッセージ管理リストから中継装置をm個、選出する。中継装置選出部は、決定した中継装置の情報を中継装置管理部246に通知する。
The relay
m = β × a / b
And calculate. β is a parameter representing the margin. Subsequently, the relay
中継装置選出部245が中継装置を選出する方法は、上記のものに限られず、例えば以下のような方法も考えられる。即ち、中継装置選出部245は、先ず、更新情報配信システム1のツリー構造を利用者装置100から受信する利用者装置情報に基づいて把握する。次に、上記の非同期メッセージ管理リストに記載された利用者装置100のツリー構造における位置に基づいて、利用者装置100を中継装置数m個分のグループに分ける。ここで、「上記の非同期メッセージ管理リストに記載された利用者装置100のツリー構造における位置に基づいて」とは、非同期メッセージ管理リストに記載の利用者装置100が各グループに可及的に均等に所属するように、という意味である。各グループからの非同期メッセージの発信頻度のバラツキを抑えるためである。次に、中継装置選出部245は、各グループで中心となる利用者装置100を選出する。即ち、中継装置選出部245は、各グループ内で中継装置として動作させる利用者装置100を選出する。このとき、中継装置選出部245は、同一グループ内に属する複数の利用者装置100のツリー構造における位置の重心に最も近い利用者装置100を中継装置として選出する。なお、同一グループ内に属する複数の利用者装置100のツリー構造における位置に選出の直近における非同期メッセージの発信頻度で重み付けした上で、上記の重心を求めることとしてもよい。このように、同一グループに属する複数の利用者装置100のツリー構造における位置の重心に最も近い利用者装置100を中継装置として選出することで、そのグループに属する複数の利用者装置100から発信された非同期メッセージが中継装置に至るまでのホップ数を効果的に抑えることができる。更に、上記のように重み付けを実施した場合は、非同期メッセージを特に多く発信する利用者装置100と中継装置との間のホップ数を重点的に抑えることができる。
The method by which the relay
中継装置管理部246は、利用者装置100からバッファ状況通知メッセージを受信した場合、中継装置選出部245にバッファ状況通知メッセージを渡す。
When receiving the buffer status notification message from the
また、中継装置管理部246は、中継装置選出部245から、中継装置の情報を得た場合、中継装置情報データベース221を更新する。さらに、中継装置管理部246は、利用者装置情報データベース222を参照し、更新情報配信システム1のツリー構造において自装置より下の利用者装置100がひとつまたは複数存在する場合、中継装置の情報を記載した中継装置周知メッセージを作成し、中継装置周知メッセージを該当するひとつまたは複数の利用者装置100に送信する。
When the relay
次に、本実施形態の動作について説明する。 Next, the operation of this embodiment will be described.
図7は、本実施形態による利用者装置100がツリー管理メッセージを受信した場合の動作を示すフローチャートである。動作を開始すると、まず送受信部160が他の利用者装置100、更新情報配信サーバ200、もしくは利用者装置100内の主制御部110からの通信を待つ状態(以後、アイドル状態という)となる(S300)。
FIG. 7 is a flowchart showing an operation when the
利用者装置100は、アイドル状態(S300)中に、ツリー管理メッセージを受信すると(S301)、ツリー管理メッセージに記載の更新情報配信サーバ200または利用者装置100の利用者装置情報を参照し、利用者装置情報データベース122を更新し(S302)、アイドル状態に戻る(S300)。
When the
図8は、本実施形態による利用者装置100が定期的にツリー管理メッセージを送信する場合の動作を示すフローチャートである。利用者装置100は、アイドル状態から(S300)、タイマを利用して定期的に利用者装置情報データベース122を参照して、ツリー管理メッセージを作成し(S311)、更新情報配信サーバ200または利用者装置に対しツリー管理メッセージを送信し(S312)、アイドル状態に戻る(S300)。
FIG. 8 is a flowchart showing an operation when the
図9は、本実施形態による利用者装置100が更新情報メッセージを受信した場合の動作を示すフローチャートである。利用者装置100は、アイドル状態から(S300)、更新情報配信サーバ200または利用者装置100から更新情報メッセージを受信すると(S321)、更新情報メッセージに記載されたメタデータを参照し、コンテンツ情報データベース123を更新し(S322)、利用者装置情報データベース122を参照し(S323)、更新情報配信システム1のツリー構造において自装置より下の利用者装置100がひとつまたは複数存在するかどうかを確認する(S324)。S324において、更新情報配信システム1のツリー構造において自装置より下の利用者装置100がひとつまたは複数存在した場合、更新情報メッセージを該当するひとつまたは複数の利用者装置100に転送し(S325)、アイドル状態に戻る(S300)。S324において、更新情報配信システム1のツリー構造において自装置より下の利用者装置100がひとつも存在しなかった場合、アイドル状態に戻る(S300)。
FIG. 9 is a flowchart showing an operation when the
図10は、本実施形態による利用者装置100が中継装置周知メッセージを受信した場合の動作を示すフローチャートである。利用者装置100は、アイドル状態から(S300)、中継装置周知メッセージを受信すると(S331)、中継装置周知メッセージに記載の中継装置情報を参照し、中継装置情報データベース121を更新し(S332)、利用者装置情報データベース122を参照し(S333)、更新情報配信システム1のツリー構造において自装置より下の利用者装置100がひとつまたは複数存在するかどうかを確認する(S334)。S334において、更新情報配信システム1のツリー構造において自装置より下の利用者装置100がひとつまたは複数存在した場合、中継装置周知メッセージを該当するひとつまたは複数の利用者装置100に転送し(S335)、アイドル状態に戻る(S300)。S334において、更新情報配信システム1のツリー構造において自装置より下の利用者装置100がひとつも存在しなかった場合、アイドル状態に戻る(S300)。
FIG. 10 is a flowchart showing an operation when the
図11は、本実施形態による利用者が非同期メッセージを送信するよう操作した場合の動作を示すフローチャートである。利用者装置100は、アイドル状態から(S300)、利用者から非同期メッセージ作成動作を実行するよう操作されると(S341)、中継装置情報データベース121を参照し(S342)、非同期メッセージを転送すべき中継装置を選択し(S343)、その中継装置をあて先として非同期メッセージを作成し(S344)、非同期メッセージを送信し(S345)、アイドル状態に戻る(S300)。
FIG. 11 is a flowchart illustrating an operation when the user operates to transmit an asynchronous message according to the present embodiment. When the
図12は、本実施形態による利用者装置100が定期的に集約済みの非同期メッセージを送信する場合の動作を示すフローチャートである。利用者装置100は、アイドル状態から(S300)、集約タイマ152が動作すると(S351)、更新情報配信サーバ200へ、集約済みの非同期メッセージを送信し(S352)、アイドル状態に戻る(S300)。
FIG. 12 is a flowchart showing an operation when the
図13は、本実施形態による利用者装置100が非同期メッセージを受信した場合の動作を示すフローチャートである。利用者装置100は、アイドル状態から(S300)、非同期メッセージを受信すると(S361)、非同期メッセージを送信してきた利用者装置100の情報を、予め定められた量だけリスト化する(S362)。続いて、利用者装置100は、集約処理中かどうか確認する(S363)。集約処理中であった場合は(S363:YES)、非同期メッセージをバッファ153に保存し(S364)、アイドル状態に戻る(S300)。集約処理中でなかった場合は(S363:YES)、非同期メッセージを集約処理する(S365)。集約処理が終了した後、バッファを確認し、バッファ153に処理待ちメッセージが存在するかどうかを確認する(S366)。バッファ153に処理待ちメッセージが存在する場合は(S366:YES)、S365に移行する。バッファ153に処理待ちメッセージが存在しない場合は(S366:NO)、アイドル状態に戻る(S300)。
FIG. 13 is a flowchart showing an operation when the
図14は、本実施形態による利用者装置100が定期的にバッファ153の使用量を確認する場合の動作を示すフローチャートである。利用者装置100は、アイドル状態から(S300)、定期的にバッファ153の使用量を確認し(S371)、バッファ153が溢れそうかどうか確認する(S372)。バッファ153の利用量が予め定められた閾値を超えた場合(S372:YES)、非同期メッセージを送信してきた利用者装置100のリストを含むバッファ状況通知メッセージを作成し(S373)、バッファ状況通知メッセージを更新情報配信サーバ200へ送信し(S374)、アイドル状態に戻る(S300)。
FIG. 14 is a flowchart showing an operation when the
図15は、本実施形態による利用者装置100において予め定められた時間中、常にバッファ153の利用がなかった場合の動作を示すフローチャートである。利用者装置100は、アイドル状態から(S300)、予め定められた時間中、常にバッファ153の利用がなかった場合にアラームが動作し(S381)、予め定められた時間中、常にバッファ153の利用がなかったという情報を含むバッファ状況通知メッセージを作成し(S382)、バッファ状況通知メッセージを更新情報配信サーバ200へ送信し(S383)、アイドル状態に戻る(S300)。
FIG. 15 is a flowchart showing an operation when the
図16は、本実施形態による更新情報配信サーバ200内でコンテンツ情報データベース223が更新された場合の動作を示すフローチャートである。動作を開始すると、まず送受信部260が他の利用者装置100、もしくは更新情報配信サーバ200内の主制御部210からの通信を待つ状態(以後、アイドル状態という)となる(S400)。
FIG. 16 is a flowchart showing an operation when the
更新情報配信サーバ200が、ツリー管理メッセージを受信する動作、および定期的にツリー管理メッセージを送信する動作は、図7及び図8に示す利用者装置100の動作を同じであるため、詳細な説明は省略する。
The operation of the update
更新情報配信サーバ200は、アイドル状態から(S400)、利用者からのコンテンツ情報データベース223の更新操作を受けると(S401)、コンテンツ情報データベースを更新し(S402)、利用者装置情報データベース222を参照し(S403)、更新情報配信システム1のツリー構造において自装置より下の利用者装置がひとつまたは複数存在するかどうか確認する(S404)。更新情報配信システム1のツリー構造において自装置より下の利用者装置100がひとつまたは複数存在する場合(S404:YES)、更新情報メッセージ作成し(S405)、更新情報メッセージを該当するひとつまたは複数の利用者装置100に送信し(406)、アイドル状態に戻る(S400)。更新情報配信システム1のツリー構造において自装置より下の利用者装置100がひとつも存在しなかった場合(S404:NO)、アイドル状態に戻る(S400)。
When the update
図17は、本実施形態による更新情報配信サーバ200が非同期メッセージを受信した場合の動作を示すフローチャートである。更新情報配信サーバ200は、アイドル状態から(400)、非同期メッセージを受信すると(S411)、非同期メッセージを送信してきた利用者装置100の情報を、予め定められた量だけリスト化する(S412)。続いて、利用者装置100は、処理中かどうか確認する(S413)。処理中であった場合は(S413:YES)、非同期メッセージをバッファ242に保存し(S414)、アイドル状態に戻る(S400)。処理中でなかった場合は(S413:NO)、非同期メッセージを処理する(S415)。処理が終了した後、バッファ242を確認し、バッファ242に処理待ちメッセージが存在するかどうかを確認する(S416)。バッファ242に処理待ちメッセージが存在する場合(S416:YES)、S415に移行する。バッファ242に処理待ちメッセージが存在しない場合(S416:NO)、アイドル状態に戻る(S400)。
FIG. 17 is a flowchart showing an operation when the update
図18は、本実施形態による更新情報配信サーバ200が定期的にバッファ242の使用量を確認する場合の動作を示すフローチャートである。更新情報配信サーバ200は、アイドル状態から(S400)、定期的にバッファ242の使用量を確認し(S421)、バッファ242が溢れそうかどうか確認する(S422)。バッファ242の利用量が予め定められた閾値を超えた場合(S422:YES)、中継装置選出処理S423に移行する。バッファ242の利用量が予め定められた閾値を超えていない場合(S422:NO)、アイドル状態に戻る(S400)。
FIG. 18 is a flowchart showing an operation when the update
図19は、本実施形態による更新情報配信サーバ200が定期的に中継装置タイマ244を動作させる動作を示すフローチャートである。更新情報配信サーバ200は、アイドル状態から(S400)、前回の中継装置選出動作から、予め定められた時間が経過した場合、中継装置タイマ244を動作させ(S431)、中継装置選出処理S423に移行する。
FIG. 19 is a flowchart illustrating an operation in which the update
図20は、本実施形態による更新情報配信サーバ200がバッファ状況通知メッセージを受信した場合の動作を示すフローチャートである。更新情報配信サーバ200は、アイドル状態から(S400)、バッファ状況通知メッセージを受信すると(S441)、中継装置選出処理S423に移行する。
FIG. 20 is a flowchart showing an operation when the update
図21は、本実施形態による中継装置選出の動作を示すフローチャートである。更新情報配信サーバ200は、S422、S431、S441から中継装置選出動作に移行する(S423)。更新情報配信サーバ200は、自サーバへ非同期メッセージを送信した利用者装置100のリストと、他の中継装置へ非同期メッセージを送信した利用者装置100のリストと、を統合したリストとなる非同期メッセージ管理リストを作成し(S451)、非同期メッセージの発信頻度(および処理効率)から中継装置の数を決定する(S452)。さらに更新情報配信サーバ200は、非同期メッセージ管理リストに記載された利用者装置100の中から利用者装置100を中継装置として選出し(S453)、中継装置情報データベースを更新し(S454)、利用者装置情報データベース222を参照し(S455)、更新情報配信システム1のツリー構造において自装置より下の利用者装置がひとつまたは複数存在するかどうかを確認する(S456)。S456において、更新情報配信システム1のツリー構造において自装置より下の利用者装置100がひとつまたは複数存在した場合(S456:YES)、中継装置の情報を記載した中継装置周知メッセージを作成し(S457)、中継装置周知メッセージを該当するひとつまたは複数の利用者装置100に送信し(S458)、アイドル状態に戻る(S400)。S456において、更新情報配信システム1のツリー構造において自装置より下の利用者装置がひとつも存在しなかった場合(S456:NO)、アイドル状態に戻る(S400)。
FIG. 21 is a flowchart showing an operation of selecting a relay device according to this embodiment. The update
なお、図7〜21で説明したフローチャートに係る各ステップの動作内容は、利用者装置100と更新情報配信サーバ200とが予め備えるコンピュータ(主制御部)で動作するプログラムとして実行させるように構成することができる。
7 to 21 is configured to be executed as a program that operates on a computer (main control unit) provided in advance in the
ここで、上述したフローチャートの動作を具現化した例を図1に基づいて説明する。図1において、中継装置選出部245は、n23、n44、n11を中継装置として選出したとする。この場合、n9で発信された非同期メッセージは、最寄りの中継装置であるn23に送信され、n23は、受信した非同期メッセージを更新情報配信サーバ200であるn10にダイレクトに送信する。従って、n9で生成された非同期メッセージがn10に至るまでのホップ数は、ツリーをn23、n3、n8と順々に遡って中継される場合よりも少なくなり、即ち、2となる。
Here, an example in which the operation of the above-described flowchart is embodied will be described with reference to FIG. In FIG. 1, it is assumed that the relay
同様に、n18で生成された非同期メッセージは、最寄りの中継装置であるn23にダイレクトに送信され、n23は、受信した非同期メッセージをn10にダイレクトに送信する。従って、n18で生成された非同期メッセージがn10に至るまでのホップ数は、ツリーをn3、n8と順々に遡って中継される場合よりも少なく、即ち、2となる。 Similarly, the asynchronous message generated at n18 is transmitted directly to the nearest relay device n23, and n23 transmits the received asynchronous message directly to n10. Therefore, the number of hops until the asynchronous message generated at n18 reaches n10 is smaller than that when the tree is relayed back to n3 and n8 in order, that is, two.
(まとめ:1、9、10)
以上説明したように上記実施形態において、更新情報配信サーバ200(ルートノード)から複数の利用者装置100(子ノード)にコンテンツ更新情報(情報)を配信するためにオーバーレイネットワーク上でツリー状に構築された更新情報配信システム1(ネットワーク)に参加可能なノードの一例としての更新情報配信サーバ200は、以下のように構成されている。更新情報配信サーバ200は、中継装置選出部245を備える。中継装置選出部245は、中継装置(中継ノード)として機能させる利用者装置100を、前記更新情報配信システム1に参加可能な前記複数の利用者装置100の中から選出する。中継装置は、前記複数の利用者装置100のうち何れかから前記更新情報配信サーバ200宛に発信された非同期メッセージを受信し、受信した前記非同期メッセージを前記更新情報配信サーバ200へ向けて中継する。詳しくは、中継装置は、受信した前記非同期メッセージを、上記ツリーを順々に遡って前記更新情報配信サーバ200へ向けて中継する場合と比較して少ないホップ数となるように前記更新情報配信サーバ200へ向けて中継する。以上の構成によれば、利用者装置100から更新情報配信サーバ200への非同期メッセージの送信に要する時間を短縮することができる。
(Summary: 1, 9, 10)
As described above, in the above embodiment, the update information distribution server 200 (root node) is constructed in a tree shape on the overlay network in order to distribute content update information (information) to a plurality of user devices 100 (child nodes). The update
なお、更新情報配信サーバ200から利用者装置100に配信する情報としては、例示のコンテンツ更新情報に限られず、コンテンツ内容そのものであってもよいし、コンテンツに関する他の情報であってもよい。更に言えば、上記の情報は、コンテンツに関連のない情報であってもよい。
Note that the information distributed from the update
(2)また、中継装置選出部245は、上記選出の直近において非同期メッセージを発信した利用者装置100の中から、前記中継装置として機能させる利用者装置100を選出する。以上の構成によれば、上記選出前後に非同期メッセージを発信する傾向にある利用者装置100を前記中継装置とすることができるので、発信元自体が中継装置となるという点で、ホップ数の削減に寄与する。
(2) Moreover, the relay
(3)また、中継装置として機能可能な利用者装置100は、非同期メッセージの中継に利用可能なバッファ153を有する。中継装置選出部245は、前記中継装置として機能させる利用者装置100の数を、上記選出の直近における非同期メッセージの更新情報配信システム1全体の発信頻度に基づいて決定する。以上の構成によれば、非同期メッセージの更新情報配信システム1全体の発信頻度が変動した場合、前記中継装置の数も同様に変動する。一方、各中継装置は、上記の中継に利用可能なバッファを有している。従って、上記受信頻度が変動した場合、ネットワーク全体のバッファの量が増減することとなり、この結果、前記更新情報配信サーバ200及び各中継装置のバッファ溢れを強力に抑制することできるようになる。
(3) In addition, the
(4)また、中継装置選出部245は、前記更新情報配信サーバ200のバッファ242が溢れそうになったら、上記の選出を実行する。以上の構成によれば、更新情報配信サーバ200のバッファ溢れをダイレクトに抑制することが可能となる。
(4) Further, the relay
(5)また、中継装置選出部245は、前記中継装置として機能させる利用者装置100の上記バッファ153が溢れそうになったら、上記の選出を再実行する。以上の構成によれば、前記中継装置として機能させる利用者装置100の上記バッファ溢れをダイレクトに抑制することが可能となる。
(5) The relay
(6)また、中継装置選出部245は、前記中継装置として機能させる利用者装置100の上記バッファ153が一定時間、利用されなかったら、上記の選出を再実行する。
(6) Further, the relay
(7)また、中継装置選出部245は、一定時間毎に、上記の選出を実行する。以上の構成によれば、非同期メッセージの更新情報配信システム1全体の発信頻度の変動に対して、更新情報配信システム1全体の非同期メッセージのために利用されるバッファの量が一層敏感に変動することとなる。
(7) Moreover, the relay
(8)また、中継装置として機能する利用者装置100は、前記複数の利用者装置100のうち何れかから前記更新情報配信サーバ200宛に発信された非同期メッセージを受信し、受信した前記非同期メッセージを、集約した上で、前記更新情報配信サーバ200へ向けて中継する。以上の構成によれば、更新情報配信サーバ200の処理負荷を軽減することができる。
(8) In addition, the
また、上述した説明では、主に利用者装置100に対する接続を用いて説明したが、ルートノードとなる更新情報配信サーバ200も利用者装置100と同様の子ノードとして動作してもよい。
In the above description, the connection to the
また、上述した説明では、利用者装置100の中継装置選択部142において、中継装置選択の際に、自利用者装置100の更新情報配信システム1のツリー構造の位置と中継装置情報データベース121に記載のひとつまたは複数の中継装置と更新情報配信サーバ200の位置を比較することによって、中継装置を選択する、としたが、中継装置選択において、中継装置選択部142における中継装置選択の方法を、利用者装置100のクライアントIDの相関値を利用するようにすることもできる。例えば、中継装置情報データベース121に記載のひとつまたは複数の中継装置と更新情報配信サーバ200のIDと自利用者装置100のIDの相関値を計算し、最も小さいまたは最も大きい値となる中継装置を選択する、などである。
In the above description, the relay
また、上述した説明では、更新情報配信サーバ200の中継装置選出部245において、中継装置選択は、バッファ監視部243からのアラームを受信した場合、または中継装置タイマ244からのアラームを受信した場合、または中継装置管理部246からバッファ状況通知メッセージを受信した場合、中継装置選出動作を実施する、としたが、予め非同期メッセージの受信状況が予測できる場合は、非同期メッセージの増減を予測して、事前に中継装置選出を実施することもできる。予め非同期メッセージの受信状況が予測できる場合とは、例えば、夜間には非同期メッセージが増える、特定の利用者装置100が定期的に非同期メッセージを送信してくる、などがある。
In the above description, in the relay
また、上述した説明では、利用者装置100のバッファ状況通知部155において、バッファ監視部154からの2種のアラームを受けて、バッファ状況通知メッセージにアラーム情報を記載して、更新情報配信サーバ200へバッファ状況通知メッセージを送信することによって、更新情報配信サーバ200における中継装置選出動作を実施させる、としたが、利用者装置100内に更新情報配信サーバ200の中継装置選出部245相当の機能を追加し、利用者装置100で中継装置の選出を実施することもできる。換言すれば、更新情報配信サーバ200が中継装置の選出を実行することに代えて、利用者装置100が中継装置の選出を実行するようにしてもよい。また、更新情報配信サーバ200に加えて利用者装置100も中継装置の選出を実行できるようにしてもよい。この場合は、利用者装置による中継装置選出動作の後、選出されたひとつまたは複数の中継装置の情報を更新情報配信サーバ200へ通知する。選出されたひとつまたは複数の中継装置の情報を通知された更新情報配信サーバ200は、中継装置情報データベース221を更新し、利用者装置情報データベース222を参照し、更新情報配信システム1のツリー構造において自装置より下の利用者装置100がひとつまたは複数存在する場合、中継装置の情報を記載した中継装置周知メッセージを作成し、中継装置周知メッセージを該当するひとつまたは複数の利用者装置100に送信する。
In the above description, the buffer
また、上述した説明では、更新情報配信サーバ200の中継装置選出部245において、中継装置を選出する際に、リストに記載された利用者装置100の更新情報配信システム1のツリー構造における位置から、利用者装置100を中継装置数m分のグループに分け、そのグループそれぞれで中心となる利用者装置100を選出する、と例示したが、中継装置選出を、利用者装置100のクライアントIDを利用するようにすることもできる。例えば、中継装置選出動作開始時間と、非同期メッセージ管理リストに記載の利用者装置100のIDとのハッシュ計算結果をソートし、下からまたは上からm個の利用者装置100を中継装置として選出する、などである。このように、中継装置選出動作開始時間と、非同期メッセージ管理リストに記載の利用者装置100のIDとのハッシュ計算結果を用いることで、特定の利用者装置を何度も選出するような偏りをなくし、選出動作の度にランダムに利用者装置100を中継装置として選出することができる。
In the above description, when the relay
また、上述した説明では、更新情報配信サーバ200の中継装置選出部245において、中継装置を選出する際に、リストに記載された利用者装置100の更新情報配信システム1のツリー構造における位置から、利用者装置を中継装置数m分のグループに分け、そのグループそれぞれで、更新情報配信システム1のツリー構造における位置を座標として、重心を計算する、と例示したが、この計算において、前述したように、中継装置候補となっている利用者装置100のリソース利用状況、ツリー参加経過時間、中継装置稼動経験・時間などで重み付けして計算することもできる。
In the above description, when the relay
また、上述した説明では、更新情報配信サーバ200の中継装置選出部245において、中継装置を選出する際に、リストに記載された利用者装置100の中から中継装置を選出する、としたが、リストに記載された利用者装置100ではなく、バッファ溢れを起こしそうになった中継装置の更新情報配信システム1のツリー構造における子にあたる利用者装置100を新たな中継装置として選出することもできる。
In the above description, when the relay
また、上述した説明では、中継装置となった利用者装置100は、集約タイマ152からのアラームを契機に、更新情報配信サーバ200へ、集約済みの非同期メッセージを送信する、としたが、更新情報配信サーバ200のさらなる負荷軽減のために、中継装置を階層化し、更新情報配信サーバ200が、集約済みの非同期メッセージを中継する別種の中継装置を選出し、中継装置となった利用者装置100は、集約タイマ152からのアラームを契機に、別種の中継装置へ、集約済みの非同期メッセージを送信する、とすることもできる。即ち、必ずしも、中継装置は、受信した非同期メッセージをダイレクトに更新情報配信サーバ200に送信する必要はない、ということである。
In the above description, the
以上説明したように、更新情報配信サーバ200または中継装置として選出された利用者装置100のバッファ153が溢れそうになった場合、中継装置として選出された利用者装置のバッファ153が一定時間利用されなかった場合、定期的な中継装置見直しの場合に、非同期メッセージを送信してきたノードの更新情報配信システム1のツリー構造における位置と、非同期メッセージを送信した時間と、非同期メッセージを処理する効率から、中継装置として動作させる利用者装置100を選出し、中継装置として選出された利用者装置100が、他の利用者装置100からの非同期メッセージを中継する構成とすることで、利用者装置100から更新情報配信サーバ200への非同期メッセージ通信において、複数の利用者装置100からのメッセージ頻度が大きく変化する場合においても、更新情報配信サーバのバッファ242溢れを抑え、かつ少ない転送回数で利用者装置100から更新情報配信サーバ200へメッセージを送信できる。
As described above, when the
これまで本発明について図面に示した特定の実施の形態をもって説明してきたが、本発明は図面に示した実施の形態に限定されるものではなく、本発明の効果を奏する限り、これまで知られたいかなる構成であっても採用することができることは言うまでもないことである。 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)
複数の利用者装置と更新情報配信サーバとをノードとしてコンテンツ毎の論理ネットワークを構成するコンテンツ配信システムであって、利用者装置から更新情報配信サーバへの非同期メッセージを送信する場合において、利用者装置は中継装置として選出された他の利用者装置または更新情報配信サーバを宛先として非同期メッセージを送信し、更新情報配信サーバまたは中継装置として選出された利用者装置の非同期メッセージのためのバッファが溢れそうになった場合、または中継装置として選出された利用者装置のバッファが一定時間利用されなかった場合、または定期的な中継装置見直しの場合に、非同期メッセージを送信してきたノードの更新情報配信システムのツリー構造における位置、非同期メッセージを送信した時間と、非同期メッセージを処理する効率から、中継装置として動作させる利用者装置を選出し、中継装置として選出された利用者装置が、他の利用者装置からの非同期メッセージを中継する、ことを特徴とするメッセージ配信システム。
(Appendix 1)
A content distribution system that configures a logical network for each content using a plurality of user devices and an update information distribution server as nodes, and in the case of transmitting an asynchronous message from the user device to the update information distribution server, the user device Sends asynchronous messages destined for other user devices or update information distribution servers elected as relay devices, and the buffer for asynchronous messages of user devices elected as update information distribution servers or relay devices is likely to overflow Of the update information distribution system of the node that sent the asynchronous message when the buffer of the user device selected as the relay device has not been used for a certain period of time, or when the relay device is periodically reviewed The position in the tree structure, the time the asynchronous message was sent, A message characterized by selecting a user device to be operated as a relay device from the efficiency of processing a synchronous message, and the user device selected as the relay device relays an asynchronous message from another user device. Distribution system.
(付記2)
コンテンツ毎に論理ネットワークを構成する複数の利用者装置と更新情報配信サーバとを含むノードであって、中継装置として選出されたノードは、非同期メッセージを受信すると非同期メッセージを集約処理し、集約処理中に非同期メッセージを受信した場合は、バッファに非同期メッセージを保存しておき、集約処理が終了次第、バッファに保存しておいた非同期メッセージの集約処理を実施し、定期的に更新情報配信サーバへ、集約済みの非同期メッセージを送信することを特徴とするノード。
(Appendix 2)
A node that includes multiple user devices and an update information distribution server that constitute a logical network for each content, and the node selected as a relay device aggregates asynchronous messages when it receives asynchronous messages, and is in the process of aggregating When an asynchronous message is received, the asynchronous message is stored in the buffer, and as soon as the aggregation process is completed, the aggregation process of the asynchronous message stored in the buffer is performed and periodically sent to the update information distribution server. A node characterized by sending aggregated asynchronous messages.
(付記3)
コンテンツ毎に論理ネットワークを構成する複数の利用者装置と更新情報配信サーバとを含むノードであって、中継装置として選出されたノードは、バッファを監視し、バッファ利用量が予め定められた閾値を超えた場合、非同期メッセージを送信してきたノードのリストを含むバッファ状況通知メッセージを更新情報配信サーバに送信し、予め定められた時間中、常にバッファ利用がなかった場合、その旨を知らせるバッファ状況通知メッセージを更新情報配信サーバに送信することを特徴とするノード。
(Appendix 3)
A node including a plurality of user devices and an update information distribution server constituting a logical network for each content, and a node selected as a relay device monitors a buffer and sets a predetermined threshold value for the buffer usage amount. If exceeded, a buffer status notification message including a list of nodes that sent the asynchronous message is sent to the update information distribution server, and if there is no buffer usage for a predetermined time, a buffer status notification is sent to that effect. A node characterized by transmitting a message to an update information distribution server.
(付記4)
コンテンツ毎に論理ネットワークを構成する複数の利用者装置と更新情報配信サーバとを含むノードであって、ノードは非同期メッセージを受信すると非同期メッセージの目的に応じて処理し、処理中に非同期メッセージを受信した場合は、バッファにメッセージを保存しておき、処理が終了次第、バッファに保存しておいた非同期メッセージの処理を実施することを特徴とするノード。
(Appendix 4)
A node that includes multiple user devices and update information distribution servers that make up a logical network for each content. When an asynchronous message is received, the node processes it according to the purpose of the asynchronous message, and receives the asynchronous message during processing. In this case, the node stores the message in the buffer, and executes the processing of the asynchronous message stored in the buffer as soon as the processing is completed.
(付記5)
コンテンツ毎に論理ネットワークを構成する複数の利用者装置と更新情報配信サーバとを含むノードであって、ノードは非同期メッセージ処理のためのバッファを監視し、バッファ利用量が予め定められた閾値を超えた場合、または予め定められた時間が経過した場合、または他の中継装置からバッファ状況通知メッセージを受信した場合において、非同期メッセージを送信してきたノードの更新情報配信システムのツリー構造における位置、非同期メッセージを送信した時間と、非同期メッセージを処理する効率から、中継装置として動作させる利用者装置を選出し、中継装置情報データベースを更新し、利用者装置情報データベースを参照し、更新情報配信システムのツリー構造において自ノードより下のノードがひとつまたは複数存在する場合、中継装置の情報を記載した中継装置周知メッセージを作成し、中継装置周知メッセージを該当するひとつまたは複数のノードに送信することを特徴とするノード。
(Appendix 5)
A node including a plurality of user devices and an update information distribution server that constitute a logical network for each content, and the node monitors a buffer for asynchronous message processing, and the buffer usage exceeds a predetermined threshold. In the tree structure of the update information distribution system of the node that sent the asynchronous message when a predetermined time has passed, or when a buffer status notification message is received from another relay device, the asynchronous message The user device to be operated as a relay device, update the relay device information database, refer to the user device information database, and the tree structure of the update information distribution system There is one or more nodes below this node in That case, the node and transmits create a relay device known message containing information about a relay device, to one or more nodes to the appropriate repeater known message.
(付記6)
コンテンツ毎に論理ネットワークを構成する複数の利用者装置と更新情報配信サーバとを含むノードであって、中継装置を選出する際に、予め非同期メッセージの受信状況が予測できる場合は、非同期メッセージの増減を予測して、事前に中継装置選出を実施することを特徴とする、請求項5に記載のノード。
(Appendix 6)
Increase / decrease of asynchronous messages if a node containing multiple user devices and an update information distribution server that constitute a logical network for each content and the reception status of asynchronous messages can be predicted in advance when selecting a relay device The node according to claim 5, wherein the relay device selection is performed in advance by predicting.
(付記7)
コンテンツ毎に論理ネットワークを構成する複数の利用者装置と更新情報配信サーバとを含むノードであって、非同期メッセージを送信してきたノードの更新情報配信システムのツリー構造における位置、非同期メッセージを送信した時間と、非同期メッセージを処理する効率から、中継装置として動作させるノードを選出する際に、非同期メッセージを受信する頻度をa個/sec、非同期メッセージを処理する効率をb個/secとし、余裕度を表すβを用いて、中継装置数mを、
m=β*a/b
と計算し、中継装置数を決定ことを特徴とする、請求項5に記載のノード。
(Appendix 7)
A node that includes a plurality of user devices and an update information distribution server that constitute a logical network for each content, and the position in the tree structure of the update information distribution system of the node that transmitted the asynchronous message, the time when the asynchronous message was transmitted From the efficiency of processing asynchronous messages, when selecting a node to operate as a relay device, the frequency of receiving asynchronous messages is a / sec, the efficiency of processing asynchronous messages is b / sec, and the margin is Using β to represent the number of relay devices m,
m = β * a / b
The node according to claim 5, wherein the number of relay apparatuses is determined.
(付記8)
コンテンツ毎に論理ネットワークを構成する複数の利用者装置と更新情報配信サーバとを含むノードであって、m個の中継装置を選出する際に、非同期メッセージを送信してきたノードの更新情報配信システムのツリー構造における位置からノードを中継装置数m分のグループに分け、そのグループそれぞれで、更新情報配信システムのツリー構造における位置を座標として、中継装置候補となっているノードのリソース利用状況、ツリー参加経過時間、中継装置稼動経験・時間などで重み付けして、重心を計算することによって中心となるノードを選出することを特徴とする、請求項5に記載のノード。
(Appendix 8)
An update information distribution system of a node that includes a plurality of user devices and an update information distribution server constituting a logical network for each content, and has transmitted an asynchronous message when selecting m relay devices. Nodes are divided into groups for the number of relay devices from the position in the tree structure, and the resource usage status of nodes that are relay device candidates and tree participation in each group using the position in the tree structure of the update information distribution system as coordinates 6. The node according to claim 5, wherein a node as a center is selected by calculating a center of gravity by weighting with elapsed time, relay device operation experience / time, and the like.
(付記9)
コンテンツ毎に論理ネットワークを構成する複数の利用者装置と更新情報配信サーバとを含むノードであって、m個の中継装置を選出する際に、非同期メッセージを送信してきたノードのIDと中継装置選出動作開始時間とのハッシュ計算結果をソートし、下からまたは上からm個のノードを中継装置として選出することを特徴とする、請求項5に記載のノード。
(Appendix 9)
Node selection that includes multiple user devices and update information distribution servers that make up a logical network for each content, and when selecting m relay devices, the ID of the node that sent the asynchronous message and the relay device selection The node according to claim 5, wherein the hash calculation results with the operation start time are sorted, and m nodes from the bottom or the top are selected as relay devices.
(付記10)
コンテンツ毎に論理ネットワークを構成する複数の利用者装置と更新情報配信サーバとを含むノードであって、ノードは非同期メッセージ処理のためのバッファを監視し、バッファ利用量が予め定められた閾値を超えた場合において、バッファ利用量が予め定められた閾値を超えたノードの更新情報配信システムのツリー構造における子にあたるノードを新たな中継装置として選出するることを特徴とするノード。
(Appendix 10)
A node including a plurality of user devices and an update information distribution server that constitute a logical network for each content, and the node monitors a buffer for asynchronous message processing, and the buffer usage exceeds a predetermined threshold. In this case, a node that selects a node corresponding to a child in the tree structure of the update information distribution system of a node whose buffer usage exceeds a predetermined threshold as a new relay device.
(付記11)
コンテンツ毎に論理ネットワークを構成する複数の利用者装置と更新情報配信サーバとを含むノードであって、更新情報配信サーバへの非同期メッセージを送信する場合に、中継装置情報データベースを参照し、ひとつまたは複数の中継装置または更新情報配信サーバの中から非同期メッセージを転送すべき中継装置または更新情報配信サーバを選択し、その選択した中継装置または更新情報配信サーバをあて先として非同期メッセージを作成し、非同期メッセージを送信することを特徴とするノード。
(Appendix 11)
A node including a plurality of user devices and an update information distribution server constituting a logical network for each content, and when transmitting an asynchronous message to the update information distribution server, refer to the relay device information database, and Select a relay device or update information distribution server to which an asynchronous message should be transferred from among multiple relay devices or update information distribution servers, create an asynchronous message with the selected relay device or update information distribution server as the destination, and create an asynchronous message A node characterized by transmitting.
(付記12)
コンテンツ毎に論理ネットワークを構成する複数の利用者装置と更新情報配信サーバとを含むノードであって、非同期メッセージを転送すべき中継装置または更新情報配信サーバを選択する際に、自利用者装置の更新情報配信システムのツリー構造の位置とひとつまたは複数の中継装置と更新情報配信サーバの位置を比較し、更新情報配信システムのツリー構造においてもっともホップ数の少ない位置にある中継装置、または更新情報配信サーバを中継装置として選択することを特徴とする、請求項11に記載のノード。
(Appendix 12)
A node including a plurality of user devices and an update information distribution server constituting a logical network for each content, and when selecting a relay device or an update information distribution server to which an asynchronous message is to be transferred, Compare the position of the tree structure of the update information distribution system with the position of one or more relay devices and the update information distribution server, and the relay device or update information distribution at the position with the smallest number of hops in the tree structure of the update information distribution system The node according to claim 11, wherein a server is selected as a relay device.
(付記13)
コンテンツ毎に論理ネットワークを構成する複数の利用者装置と更新情報配信サーバとを含むノードであって、非同期メッセージを転送すべき中継装置または更新情報配信サーバを選択する際に、自利用者装置の更新情報配信システムのツリー構造の位置とひとつまたは複数の中継装置と更新情報配信サーバの位置を比較し、更新情報配信システムのツリー構造において、更新情報配信サーバからのホップ数が近い利用者装置を中継装置として選択することを特徴とする、請求項11に記載のノード。
(Appendix 13)
A node including a plurality of user devices and an update information distribution server constituting a logical network for each content, and when selecting a relay device or an update information distribution server to which an asynchronous message is to be transferred, Compare the position of the tree structure of the update information distribution system with the position of one or more relay devices and the update information distribution server, and in the tree structure of the update information distribution system, select a user device that has a close hop count from the update information distribution server. The node according to claim 11, wherein the node is selected as a relay device.
(付記14)
コンテンツ毎に論理ネットワークを構成する複数の利用者装置と更新情報配信サーバとを含むノードであって、非同期メッセージを転送すべき中継装置または更新情報配信サーバを選択する際に、中継装置情報データベースに記載のひとつまたは複数の中継装置と更新情報配信サーバのIDと自ノードのIDの相関値を計算し、最も小さいまたは最も大きい値となる継装置情報データベースに記載のひとつまたは複数の中継装置と更新情報配信サーバを中継装置として選択することを特徴とする、請求項11に記載のノード。
(Appendix 14)
When selecting a relay device or update information distribution server to which an asynchronous message is to be transferred, a node including a plurality of user devices and an update information distribution server constituting a logical network for each content, the relay device information database Calculate the correlation value between the ID of one or more relay devices and update information distribution server described above and the ID of the own node, and update with one or more relay devices described in the relay device information database that has the smallest or largest value The node according to claim 11, wherein the information distribution server is selected as a relay device.
(付記15)
複数の利用者装置と更新情報配信サーバとをノードとしてコンテンツ毎の論理ネットワークを構成するコンテンツ配信方法であって、利用者装置から更新情報配信サーバへの非同期メッセージを送信する場合において、利用者装置は中継装置として選出された他の利用者装置または更新情報配信サーバを宛先として非同期メッセージを送信するステップと、更新情報配信サーバまたは中継装置として選出された利用者装置の非同期メッセージのためのバッファが溢れそうになった場合、または中継装置として選出された利用者装置のバッファが一定時間利用されなかった場合、または定期的な中継装置見直しの場合に、非同期メッセージを送信してきたノードの更新情報配信システムのツリー構造における位置、非同期メッセージを送信した時間と、非同期メッセージを処理する効率から、中継装置として動作させる利用者装置を選出するステップと、中継装置として選出された利用者装置が、他の利用者装置からの非同期メッセージを中継するステップとを含むこと、を特徴とするメッセージ配信方法。
(Appendix 15)
A content distribution method for configuring a logical network for each content by using a plurality of user devices and an update information distribution server as nodes, and when transmitting an asynchronous message from the user device to the update information distribution server, the user device Includes a step of transmitting an asynchronous message destined for another user device or update information distribution server selected as a relay device, and a buffer for the asynchronous message of the user device selected as the update information distribution server or relay device. Distributing update information of the node that sent the asynchronous message when it overflowed, or when the buffer of the user device selected as the relay device was not used for a certain period of time, or when the relay device was periodically reviewed Position in system tree structure, sent asynchronous message And a step of selecting a user device to be operated as a relay device from the efficiency of processing an asynchronous message, and a step of relaying an asynchronous message from another user device by a user device selected as a relay device; A message delivery method characterized by comprising:
(付記16)
コンテンツ毎に論理ネットワークを構成する複数の利用者装置と更新情報配信サーバとを含むノードを制御するコンピュータに、ノードは更新情報配信サーバから中継装置周知メッセージ受信すると、中継装置周知メッセージに記載の中継装置情報を参照する機能と、中継装置情報データベースを更新する機能と、利用者装置情報データベースを参照する機能と、更新情報配信システムのツリー構造において自ノードより下のノードがひとつまたは複数存在する場合、中継装置周知メッセージを該当するひとつまたは複数のノードに転送する機能と、利用者から非同期通信を実行するように操作されると、中継装置情報データベースを参照する機能と、自ノードの更新情報配信システムのツリー構造の位置と中継装置情報データベースに記載のひとつまたは複数の中継装置と更新情報配信サーバの位置を比較することによって、中継装置を選択する機能と、その中継装置をあて先として非同期メッセージを作成する機能と、非同期メッセージを送信する機能と、を実行させることを特徴とするプログラム。
(Appendix 16)
When a node receives a relay device known message from the update information distribution server to a computer that controls a node including a plurality of user devices and an update information distribution server that constitute a logical network for each content, the relay described in the relay device known message When there is one or more nodes below the own node in the tree structure of the update information distribution system, the function to refer to the device information, the function to update the relay device information database, the function to refer to the user device information database , A function of transferring a relay device well-known message to one or a plurality of corresponding nodes, a function of referring to the relay device information database when operated by a user to perform asynchronous communication, and distribution of update information of the own node System tree structure location and relay device information database A function of selecting a relay device by comparing the position of one or a plurality of relay devices and an update information distribution server, a function of creating an asynchronous message with the relay device as a destination, and a function of transmitting an asynchronous message A program characterized by being executed.
(付記17)
コンテンツ毎に論理ネットワークを構成する複数の利用者装置と更新情報配信サーバとを含むノードを制御するコンピュータに、中継装置として選出された場合に、非同期メッセージを受信すると非同期メッセージを集約処理する機能と、集約処理中に非同期メッセージを受信した場合は、バッファに非同期メッセージを保存しておく機能と、集約処理が終了次第、バッファに保存しておいた非同期メッセージの集約処理を実施する機能と、定期的に更新情報配信サーバへ、集約済みの非同期メッセージを送信する機能と、を実行させることを特徴とするプログラム。
(Appendix 17)
A function that aggregates asynchronous messages when an asynchronous message is received when it is selected as a relay device by a computer that controls a node including a plurality of user devices and an update information distribution server that constitute a logical network for each content; When an asynchronous message is received during the aggregation process, the function to save the asynchronous message in the buffer, the function to perform the aggregation process of the asynchronous message saved in the buffer as soon as the aggregation process is completed, And a function of transmitting an aggregated asynchronous message to an update information distribution server.
(付記18)
コンテンツ毎に論理ネットワークを構成する複数の利用者装置と更新情報配信サーバとを含むノードを制御するコンピュータに、中継装置として選出された場合に、バッファを監視する機能と、バッファ利用量が予め定められた閾値を超えた場合、非同期メッセージを送信してきたノードのリストを含むバッファ状況通知メッセージを更新情報配信サーバに送信する機能と、予め定められた時間中、常にバッファ利用がなかった場合、その旨を知らせるバッファ状況通知メッセージを更新情報配信サーバに送信する機能と、を実行させることを特徴とするプログラム。
(Appendix 18)
A function for monitoring a buffer and a buffer usage amount are predetermined when a computer that controls a node including a plurality of user devices and an update information distribution server constituting a logical network for each content is selected as a relay device. If the specified threshold is exceeded, the buffer status notification message including the list of nodes that sent the asynchronous message is sent to the update information distribution server, and if there is no buffer usage for a predetermined time, And a function of transmitting a buffer status notification message to notify the update information distribution server.
(付記19)
コンテンツ毎に論理ネットワークを構成する複数の利用者装置と更新情報配信サーバとを含むノードを制御するコンピュータに、非同期メッセージを受信すると非同期メッセージの目的に応じて処理する機能と、処理中に非同期メッセージを受信した場合は、バッファにメッセージを保存しておく機能と、処理が終了次第、バッファに保存しておいた非同期メッセージの処理を実施する機能と、を実行させることを特徴とするプログラム。
(Appendix 19)
A computer that controls a node including a plurality of user devices and an update information distribution server that constitute a logical network for each content, a function that processes according to the purpose of the asynchronous message when an asynchronous message is received, and an asynchronous message during processing When receiving the message, a program for executing a function of storing a message in a buffer and a function of executing processing of an asynchronous message stored in the buffer upon completion of processing.
(付記20)
コンテンツ毎に論理ネットワークを構成する複数の利用者装置と更新情報配信サーバとを含むノードを制御するコンピュータに、非同期メッセージ処理のためのバッファを監視する機能と、バッファ利用量が予め定められた閾値を超えた場合、または予め定められた時間が経過した場合、または他の中継装置からバッファ状況通知メッセージを受信した場合において、非同期メッセージを送信してきたノードの更新情報配信システムのツリー構造における位置と、非同期メッセージを送信した時間と、非同期メッセージを処理する効率から、中継装置として動作させる利用者装置を選出する機能と、中継装置情報データベースを更新する機能と、利用者装置情報データベースを参照する機能と、更新情報配信システムのツリー構造において自装置より下のノードがひとつまたは複数存在する場合、中継装置の情報を記載した中継装置周知メッセージを作成する機能と、中継装置周知メッセージを該当するひとつまたは複数のノードに送信する機能と、を実行させることを特徴とするプログラム。
(Appendix 20)
A function for monitoring a buffer for asynchronous message processing in a computer that controls a node including a plurality of user devices and an update information distribution server that constitute a logical network for each content, and a threshold for which a buffer usage amount is predetermined. In the tree structure of the update information distribution system of the node that sent the asynchronous message when the predetermined time has passed, or when the buffer status notification message is received from another relay device The function of selecting a user device to be operated as a relay device, the function of updating the relay device information database, and the function of referring to the user device information database from the time when the asynchronous message is transmitted and the efficiency of processing the asynchronous message In the tree structure of the update information distribution system. If there is one or more nodes below the device, execute the function to create a relay device well-known message describing the information of the relay device and the function to send the relay device well-known message to the corresponding one or more nodes A program characterized by letting
(付記21)
コンテンツ毎に論理ネットワークを構成する複数の利用者装置と更新情報配信サーバとを含むノードを制御するコンピュータに、更新情報配信サーバへの非同期メッセージを送信する場合に、中継装置情報データベースを参照する機能と、ひとつまたは複数の中継装置または更新情報配信サーバの中から非同期メッセージを転送すべき中継装置または更新情報配信サーバを選択する機能と、その選択した中継装置または更新情報配信サーバをあて先として非同期メッセージを作成する機能と、非同期メッセージを送信する機能と、を実行させることを特徴とするプログラム。
(Appendix 21)
A function for referring to a relay device information database when an asynchronous message to an update information distribution server is transmitted to a computer that controls a node including a plurality of user devices and an update information distribution server constituting a logical network for each content. And a function for selecting a relay device or update information distribution server to which an asynchronous message is to be transferred from one or more relay devices or update information distribution servers, and an asynchronous message with the selected relay device or update information distribution server as a destination. A program for executing a function for generating a message and a function for transmitting an asynchronous message.
1 更新情報配信システム
100 利用者装置
110 主制御部
120、220 ネットワークインタフェース
121、221 中継装置情報データベース
122、222 利用者装置情報データベース
123、223 コンテンツ情報データベース
130 更新情報配信システムクライアント部
131、231 ツリー管理機能部
132 コンテンツクライアント部
140 非同期通信クライアント部
141 非同期通信機能部
142 中継装置選択部
150 中継装置機能部
151 非同期メッセージ集約部
152 集約タイマ
153、242 バッファ
154、243 バッファ監視部
155 バッファ状況通知部
160、260 送受信部
200 更新情報配信サーバ
210 主制御部
230 更新情報配信システムサーバ部
232 コンテンツサーバ部
240 非同期通信サーバ部
241 非同期通信処理部
244 中継装置タイマ
245 中継装置選出部
246 中継装置管理部
1 Update
Claims (9)
前記複数の子ノードのうち何れかから前記ルートノード宛に発信された非同期メッセージを受信し、
受信した前記非同期メッセージを、上記ツリーを順々に遡って前記ルートノードへ向けて中継する場合と比較して少ないホップ数となるように前記ルートノードへ向けて中継する、中継ノードとして機能させる、
子ノードを、
前記ネットワークに参加可能な前記複数の子ノードの中から、
選出する、
中継ノード選出部を備える、ノード。 A node that can participate in a network constructed in a tree shape on an overlay network to distribute information from a root node to a plurality of child nodes,
Receiving an asynchronous message sent to the root node from any of the plurality of child nodes;
The received asynchronous message is relayed toward the root node so as to have a smaller number of hops than when the tree is relayed back to the root node in order, function as a relay node.
Child nodes
Among the plurality of child nodes that can participate in the network,
elect,
A node comprising a relay node selection unit.
前記中継ノード選出部は、上記選出の直近において前記非同期メッセージを発信した子ノードの中から、前記中継ノードとして機能させる上記子ノードを選出する、
ノード。 The node according to claim 1, wherein
The relay node selection unit selects the child node that functions as the relay node from among the child nodes that have transmitted the asynchronous message in the immediate vicinity of the selection.
node.
前記中継ノードとして機能可能な前記子ノードは、前記非同期メッセージの中継に利用可能なバッファを有し、
前記中継ノード選出部は、前記中継ノードとして機能させる上記子ノードの数を、上記選出の直近における前記非同期メッセージの前記ネットワーク全体の発信頻度に基づいて決定する、
ノード。 The node according to claim 1 or 2, wherein
The child node that can function as the relay node has a buffer that can be used to relay the asynchronous message;
The relay node selection unit determines the number of the child nodes to function as the relay node based on the frequency of transmission of the asynchronous message in the entire network immediately after the selection;
node.
前記中継ノード選出部は、前記ルートノードのバッファが溢れそうになったら、上記の選出を実行する、
ノード。 The node according to claim 3, wherein
The relay node selection unit executes the selection when the buffer of the root node is likely to overflow.
node.
前記中継ノード選出部は、前記中継ノードとして機能させる上記子ノードの上記バッファが溢れそうになったら、上記の選出を再実行する、
ノード。 The node according to claim 3 or 4, wherein
The relay node selection unit re-executes the selection when the buffer of the child node that functions as the relay node is about to overflow.
node.
前記中継ノード選出部は、前記中継ノードとして機能させる上記子ノードの上記バッファが一定時間、利用されなかったら、上記の選出を再実行する、
ノード。 A node according to any one of claims 3 to 5,
The relay node selection unit re-executes the selection if the buffer of the child node that functions as the relay node is not used for a certain period of time.
node.
前記中継ノード選出部は、一定時間毎に、上記の選出を実行する、
ノード。 The node according to any one of claims 3 to 6, wherein
The relay node selection unit performs the above selection at regular intervals.
node.
前記複数の子ノードのうち何れかから前記ルートノード宛に発信された非同期メッセージを受信し、受信した前記非同期メッセージを、上記ツリーを順々に遡って前記ルートノードへ向けて中継する場合と比較して少ないホップ数となるように前記ルートノードへ向けて中継する、中継ノードとして機能させる子ノードを、前記ネットワークに参加可能な前記複数の子ノードの中から、選出する、中継ノード選出ステップを含む、
非同期メッセージ中継方法。 In a network constructed in a tree shape on an overlay network to distribute information from a root node to a plurality of child nodes, asynchronous messages transmitted from the plurality of child nodes to the root node are directed to the root node. An asynchronous message relay method for relaying,
Compared with a case where an asynchronous message transmitted to the root node is received from any of the plurality of child nodes, and the received asynchronous message is relayed to the root node by going back in the tree in order. A relay node selection step of selecting, from among the plurality of child nodes that can participate in the network, a child node that functions as a relay node that relays toward the root node so as to reduce the number of hops. Including,
Asynchronous message relay method.
前記複数の子ノードのうち何れかから前記ルートノード宛に発信された非同期メッセージを受信し、受信した前記非同期メッセージを、上記ツリーを順々に遡って前記ルートノードへ向けて中継する場合と比較して少ないホップ数となるように前記ルートノードへ向けて中継する、中継ノードとして機能させる、子ノードを、前記ネットワークに参加可能な前記複数の子ノードの中から、選出する、中継ノード選出部としての機能を発揮させる、
プログラム。 To nodes that can participate in a network constructed in a tree on the overlay network to distribute information from the root node to multiple child nodes,
Compared with a case where an asynchronous message transmitted to the root node is received from any of the plurality of child nodes, and the received asynchronous message is relayed to the root node by going back in the tree in order. A relay node selection unit that relays toward the root node so that the number of hops is small, functions as a relay node, and selects a child node from the plurality of child nodes that can participate in the network To demonstrate its function as
program.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009286073A JP5434558B2 (en) | 2009-12-17 | 2009-12-17 | Node, asynchronous message relay method, and program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009286073A JP5434558B2 (en) | 2009-12-17 | 2009-12-17 | Node, asynchronous message relay method, and program |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2011130144A JP2011130144A (en) | 2011-06-30 |
JP5434558B2 true JP5434558B2 (en) | 2014-03-05 |
Family
ID=44292251
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009286073A Expired - Fee Related JP5434558B2 (en) | 2009-12-17 | 2009-12-17 | Node, asynchronous message relay method, and program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5434558B2 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6503945B2 (en) * | 2015-07-13 | 2019-04-24 | 富士通株式会社 | INFORMATION PROCESSING APPARATUS, PARALLEL COMPUTER SYSTEM, FILE SERVER COMMUNICATION PROGRAM, AND FILE SERVER COMMUNICATION METHOD |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3461493B2 (en) * | 2000-11-01 | 2003-10-27 | 日本電気株式会社 | Network system and relay station device |
JP3550349B2 (en) * | 2000-03-29 | 2004-08-04 | 日本電信電話株式会社 | Broadcast communication system and method for feeding back statistical information |
JP2006033115A (en) * | 2004-07-13 | 2006-02-02 | Brother Ind Ltd | Distribution apparatus, receiver, tree type distribution system, and information processing method or the like |
-
2009
- 2009-12-17 JP JP2009286073A patent/JP5434558B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2011130144A (en) | 2011-06-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101305559B (en) | Route selection in wireless network | |
JP5557840B2 (en) | Distributed database monitoring mechanism | |
JP5438225B2 (en) | Systems and methods using frameworks for information routing in large scale distributed systems utilizing swarm intelligence | |
JP2015191451A (en) | Information processing device, control method, and control program | |
JP2007066161A (en) | Cache system | |
CN103475566A (en) | Real-time message exchange platform and distributed cluster establishment method | |
CN104142896A (en) | Cache control method and system | |
CN101399746A (en) | Packet routing method, system, device and method, system for selecting backup resource | |
JP5845877B2 (en) | Information processing apparatus, data control method, and data control program | |
CN115328579B (en) | Scheduling method and system for neural network training and computer readable storage medium | |
CN105940717A (en) | Node device and communication method used in disruption/delay/disconnect tolerant network | |
Chatzidrossos et al. | Delay and playout probability trade-off in mesh-based peer-to-peer streaming with delayed buffer map updates | |
JP5434558B2 (en) | Node, asynchronous message relay method, and program | |
CN103152191A (en) | Processing method and system of service gateway data of internet of things | |
JPWO2010109767A1 (en) | Data synchronization system, data synchronization method, and synchronization management server | |
CN113326100A (en) | Cluster management method, device and equipment and computer storage medium | |
Guidec et al. | Causal and Δ-causal broadcast in opportunistic networks | |
CN108418863B (en) | Management method of controller cluster, SDN controller and storage medium | |
KR100435985B1 (en) | Nonstop service system using voting and, information updating and providing method in the same | |
WO2010125791A1 (en) | Content distribution system, node, content distribution method, and program | |
CN111600958B (en) | Service discovery system, service data management method, server, and storage medium | |
JP2009165070A (en) | Ad hoc network communication system, method therefor, and communication terminal | |
Baldoni et al. | A self-organizing crash-resilient topology management system for content-based publish/subscribe | |
CN109286642A (en) | A kind of method of Push active push speed-optimization | |
JP5376155B2 (en) | Communication system, node, communication method, and program |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20121107 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20130909 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20130917 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20131022 |
|
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: 20131112 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20131125 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |