JP4912451B2 - Communication system and communication method - Google Patents

Communication system and communication method Download PDF

Info

Publication number
JP4912451B2
JP4912451B2 JP2009255923A JP2009255923A JP4912451B2 JP 4912451 B2 JP4912451 B2 JP 4912451B2 JP 2009255923 A JP2009255923 A JP 2009255923A JP 2009255923 A JP2009255923 A JP 2009255923A JP 4912451 B2 JP4912451 B2 JP 4912451B2
Authority
JP
Japan
Prior art keywords
terminal device
node
unit
instruction
communication
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.)
Active
Application number
JP2009255923A
Other languages
Japanese (ja)
Other versions
JP2011100384A (en
Inventor
昌二 森
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Konami Digital Entertainment Co Ltd
Original Assignee
Konami Digital Entertainment Co Ltd
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 Konami Digital Entertainment Co Ltd filed Critical Konami Digital Entertainment Co Ltd
Priority to JP2009255923A priority Critical patent/JP4912451B2/en
Publication of JP2011100384A publication Critical patent/JP2011100384A/en
Application granted granted Critical
Publication of JP4912451B2 publication Critical patent/JP4912451B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、木構造のノードとなって通信をする際に通信に失敗すると、木構造の再編を効率良く行うのに好適な端末装置、通信システム、端末方法、ならびに、これらをコンピュータにて実現するプログラムに関する。   INDUSTRIAL APPLICABILITY The present invention realizes a terminal device, a communication system, a terminal method, and the like that are suitable for efficiently reorganizing a tree structure when communication fails when communicating as a tree-structured node, and these are realized by a computer Related to the program.

従来から、ネットワーク通信機能を持ったコンピュータやゲーム装置などの端末装置を木構造のノードとして、通信ネットワークを形成し、各ノード同士の通信を効率良く行う技術が提案されている。   2. Description of the Related Art Conventionally, a technique has been proposed in which a terminal device such as a computer or a game device having a network communication function is used as a tree-structured node to form a communication network, and each node communicates efficiently.

ここで、以下に掲げる特許文献1においては、木構造における親ノードとの通信ができない場合に、代替ノードとの通信を行うことにより、木構造の根ノードに向かう上り通信を可能とする技術が開示されている。   Here, in Patent Document 1 listed below, there is a technique that enables uplink communication toward a root node of a tree structure by performing communication with an alternative node when communication with a parent node in the tree structure is not possible. It is disclosed.

特許第3842251号公報Japanese Patent No. 3842251

ここで、木構造を用いて音声や動画像、ゲームのデータ等のマルチメディア情報を提供する場合等には、端末装置が通信から離脱したり再度参加したりすることがしばしばあり、端末装置が利用する通信経路の品質もさまざまである。   Here, when providing multimedia information such as sound, moving images, game data, etc. using a tree structure, the terminal device often leaves the communication or rejoins. The quality of the communication path used varies.

したがって、根ノードから中間ノードや葉ノードへ提供情報を伝播させ、各端末装置に同じ提供情報を提供する際に、親ノードとの通信ができない場合、適切に代替ノードを選択する技術が強く求められている。   Therefore, when the provision information is propagated from the root node to the intermediate node or leaf node and the same provision information is provided to each terminal device, if communication with the parent node is not possible, there is a strong demand for a technique for appropriately selecting an alternative node. It has been.

本発明は、上記のような課題を解決するもので、木構造のノードとなって通信をする際に通信に失敗すると、木構造の再編を効率良く行うのに好適な端末装置、通信システム、端末方法、ならびに、これらをコンピュータにて実現するプログラムを提供することを目的とする。   The present invention solves the problems as described above, and when communication fails when communicating as a tree-structured node, a terminal device, a communication system, and a communication system suitable for efficiently reorganizing the tree structure, It is an object of the present invention to provide a terminal method and a program for realizing these on a computer.

以上の目的を達成するため、本発明の原理にしたがって、下記の発明を開示する。   In order to achieve the above object, the following invention is disclosed in accordance with the principle of the present invention.

本発明の第1の観点に係る端末装置は、通信装置をノードとする木構造の根ノード以外のノードとなって、親ノードから送信された提供情報を受信して、当該受信された提供情報を子ノードに送信する。たとえば本発明の端末装置が、動画像や音声のストリーミング配信を受ける場合を考えると、木構造の根ノードは、ストリーミングサーバ装置に相当し、それ以外のノードが端末装置に相当する。各端末装置は、木構造の枝に沿って、根から葉の方向に、すなわち、親ノードから子ノードへ向かう方向に、ストリーミング情報を提供情報として伝達する。   The terminal device according to the first aspect of the present invention is a node other than the root node of the tree structure having the communication device as a node, receives the provision information transmitted from the parent node, and receives the received provision information To the child node. For example, considering the case where the terminal device of the present invention receives streaming distribution of moving images and audio, the root node of the tree structure corresponds to a streaming server device, and the other nodes correspond to terminal devices. Each terminal device transmits streaming information as provision information along the branches of the tree structure in the direction from the root to the leaf, that is, in the direction from the parent node to the child node.

そして、端末装置は、選択部、通知送信部、通知受信部、親設定部を備え、以下のように構成する。   The terminal device includes a selection unit, a notification transmission unit, a notification reception unit, and a parent setting unit, and is configured as follows.

ここで、選択部は、端末装置の子ノードの設定が変更されると、端末装置の子ノードからいずれかを代表ノードに選択し、他の子ノードを配下ノードに選択する。   Here, when the setting of the child node of the terminal device is changed, the selection unit selects any one of the child nodes of the terminal device as the representative node, and selects another child node as the subordinate node.

端末装置の子ノードが一つもない場合は、この選択は行われない。子ノードが一つだけである場合は、当該一つの子ノードが代表ノードとなり、配下ノードはない。子ノードが複数の場合には、通信性能が最も高いもの、たとえば、当該端末装置との通信における送受が高速なものやエラー発生率が最も低いものを選択するのが典型的である。   This selection is not performed when there is no child node of the terminal device. When there is only one child node, the one child node becomes a representative node and there is no subordinate node. When there are a plurality of child nodes, it is typical to select the one with the highest communication performance, for example, the one with the fast transmission / reception in the communication with the terminal device or the one with the lowest error rate.

さらに、通知送信部は、選択された代表ノードへ、端末装置の親ノードを代替ノードとすべき旨を指定する通知を送信し、選択された配下ノードへ、選択された代表ノードを代替ノードとすべき旨を指定する通知を送信し、通知受信部は、端末装置の親ノードから送信された通知を受信し、親設定部は、端末装置の親ノードとの通信に失敗すると、受信された通知に指定された代替ノードを、新たな親ノードに設定する。   Further, the notification transmission unit transmits a notification designating that the parent node of the terminal device should be the substitute node to the selected representative node, and sets the selected representative node as the substitute node to the selected subordinate node. The notification specifying that it should be transmitted is transmitted, the notification receiving unit receives the notification transmitted from the parent node of the terminal device, and the parent setting unit is received when communication with the parent node of the terminal device fails. The alternative node specified in the notification is set as a new parent node.

ここでの通知は、一定の時間間隔で周期的に行っても良いし、子ノードの設定が変更されるごとに行っても良い。また、子ノードからの要求に対する応答とともに通知することとしても良い。   The notification here may be performed periodically at regular time intervals, or may be performed each time the setting of the child node is changed. Moreover, it is good also as notifying with the response with respect to the request | requirement from a child node.

上記のように、代替ノードは、親ノードとの通信ができなくなった場合に、新たな親ノードとすべき端末装置である。   As described above, the alternative node is a terminal device that should become a new parent node when communication with the parent node becomes impossible.

ある端末装置Aの親ノードがGであり、Aの子ノードがP、Q、Xであり、その中からPが代表ノードに選択され、Q、Xが配下ノードに選択された場合を考えると、AからPには、Gが代替ノードとして通知される。AからQ、Xには、Pが代替ノードとして通知される。   Consider a case where the parent node of a terminal device A is G, the child nodes of A are P, Q, and X, P is selected as the representative node, and Q and X are selected as subordinate nodes. , A to P are notified of G as an alternative node. From A to Q and X, P is notified as an alternative node.

端末装置Aが正常に動作している場合は、Gは、Aに提供情報を配信し、Aは、P、Q、Xに提供情報を配信する。端末装置Aに故障が生じる等、何らかの不具合が生じた場合には、代替ノードを親ノードとすることによって木構造が変化するので、Gは、Pに提供情報を配信し、Pは、Q、Xに提供情報を配信するようになる。   When the terminal device A is operating normally, G distributes provision information to A, and A distributes provision information to P, Q, and X. In the event that some trouble occurs, such as a failure in the terminal device A, the tree structure changes by setting the alternative node as the parent node, so that G delivers the provided information to P, and P is Q, Provision information is distributed to X.

このように、本発明によれば、親ノードとの通信が不可能となった場合に、局所的に木構造を更新するだけで、情報の提供を効率良く継続することができるようになる。   Thus, according to the present invention, when communication with the parent node becomes impossible, provision of information can be continued efficiently only by locally updating the tree structure.

また、本発明の端末装置は、要求送信部、応答受信部、要求受信部、子設定部、応答送信部、をさらに備え、以下のように構成することができる。   The terminal device of the present invention further includes a request transmission unit, a response reception unit, a request reception unit, a child setting unit, and a response transmission unit, and can be configured as follows.

ここで、要求送信部は、端末装置の親ノードへ、提供情報を求める要求を送信し、応答受信部は、端末装置の親ノードから送信された提供情報を指定する応答を受信する。   Here, the request transmitting unit transmits a request for providing information to the parent node of the terminal device, and the response receiving unit receives a response specifying the providing information transmitted from the parent node of the terminal device.

上記の例では、要求は、当該端末装置において親ノードとして設定された他の端末装置、もしくは、ストリーミングサーバ装置に相当し、提供情報は、ストリーミング配信される動画情報に相当する。なお、後述するように、親ノードは適宜変更されうる。   In the above example, the request corresponds to another terminal device set as a parent node in the terminal device or a streaming server device, and the provided information corresponds to moving image information that is streamed. As will be described later, the parent node can be changed as appropriate.

また、親ノードに対して送信した要求に呼応して応答が返信され、当該応答に提供情報が含まれることになる。なお、後述する「通知」が、提供情報とともに送受されるような形態を採用しても良い。   In addition, a response is returned in response to the request transmitted to the parent node, and the provision information is included in the response. Note that a form in which “notification” described later is transmitted and received together with the provision information may be adopted.

なお、典型的には、受信された提供情報は、ユーザに提供される。上記の例では、ストリーミング配信された動画像を画面に表示し、音声をスピーカやヘッドホンから出力して、ユーザに視聴させることとなる。   Typically, the received provision information is provided to the user. In the above example, the streaming-distributed moving image is displayed on the screen, and the sound is output from the speaker or the headphone so that the user can watch it.

さらに、要求受信部は、他の端末装置から送信された提供情報を求める要求を受信し、子設定部は、受信された要求の送信元の端末装置を、端末装置の子ノードに設定し、応答送信部は、端末装置の子ノードであって、受信された要求の送信元の端末装置へ、提供情報を指定する応答を送信する。   Further, the request receiving unit receives a request for providing information transmitted from another terminal device, and the child setting unit sets the terminal device that is the source of the received request as a child node of the terminal device, The response transmission unit is a child node of the terminal device, and transmits a response specifying the provision information to the terminal device that is the transmission source of the received request.

前述の要求送信部および応答受信部は、端末装置が「子ノード」として機能するために動作するが、要求受信部、子設定部、応答送信部は、端末装置が「親ノード」として機能するために動作することになる。なお、設定される子ノードの数は、0個から所定の上限個までのいずれかとし、子ノードの設定は、後述するように、適宜解除されるのが典型的である。   The request transmission unit and the response reception unit described above operate so that the terminal device functions as a “child node”, but the request reception unit, the child setting unit, and the response transmission unit function as a “parent node”. Will work for. Note that the number of child nodes to be set is any number from 0 to a predetermined upper limit, and the setting of child nodes is typically canceled as will be described later.

そして、選択部は、端末装置の子ノードの設定が変更されると、選択を再度行う。   And a selection part will perform selection again, if the setting of the child node of a terminal device is changed.

本発明によれば、他の端末装置からの要求が到着したことを契機として子ノードを設定し、代表ノードの選択を最新の状況に合わせて適切に行うことができるようになる。   According to the present invention, a child node is set when a request from another terminal apparatus arrives, and a representative node can be appropriately selected according to the latest situation.

また、本発明の端末装置において、端末装置の子ノードとの通信に失敗すると、子設定部は、当該通信が失敗した子ノードの設定を解除するように構成することができる。このほか、ある子ノードとの通信が一定時間行われなかった場合には、当該子ノードの設定を解除するのが典型的である。   Further, in the terminal device of the present invention, when communication with the child node of the terminal device fails, the child setting unit can be configured to cancel the setting of the child node for which the communication has failed. In addition, when communication with a certain child node is not performed for a certain period of time, the setting of the child node is typically canceled.

本発明においては、提供情報の配信を求める側からの要求があって初めて、親子関係が成立するが、親ノードが子ノードに応答や通知を送信しようとして、ある程度失敗が連続した場合には、子ノードの設定を解除する。   In the present invention, the parent-child relationship is established only when there is a request from the side seeking distribution of the provided information, but when the parent node tries to send a response or notification to the child node and failure continues to some extent, Cancel the child node settings.

子ノードの設定が解除されると、子ノードの設定が変更されることとなるから、選択部は、代表ノードおよび配下ノードの選択をやり直すことになる。これによって、現在親ノードからの通信が可能な子ノードにおいて、代替ノードが再設定されることになる。   When the setting of the child node is canceled, the setting of the child node is changed, so that the selection unit re-selects the representative node and the subordinate node. As a result, the alternative node is reset in the child node that can currently communicate from the parent node.

本発明によれば、子ノードにおける代替ノードの設定を適切に行うことができるようになる。   According to the present invention, it is possible to appropriately set an alternative node in a child node.

また、本発明の端末装置において、他の端末装置との通信はコンピュータ通信網を介して行われ、コンピュータ通信網との間の通信が不可能となった後に再度確立された場合、子設定部は、既に設定された子ノードの設定をすべて解除し、親設定部は、選択された代表ノードを新たな親ノードに設定するように構成することができる。   Further, in the terminal device of the present invention, when communication with another terminal device is performed via a computer communication network and communication with the computer communication network is disabled, the child setting unit Cancels all the child node settings that have already been set, and the parent setting unit can be configured to set the selected representative node as a new parent node.

ここで、コンピュータ通信網との間の通信が不可能になった場合とは、当該端末装置の電源が切られた場合、当該端末装置のネットワーク通信ケーブルが切断された場合、無線LAN(Local Area Network)通信が輻輳や雑音などの影響で不可能となった場合、端末装置が利用するルータやファイアウォール、インターネットサービスプロバイダが動作しなくなった場合等を意味する。このような場合、当該端末装置は、親ノード、代替ノード、子ノードのいずれとも通信ができなくなる。そして、上記のような不具合が解消され、通信が再度確立されるには、ある程度の時間を要するのが一般的である。   Here, when communication with the computer communication network becomes impossible, when the terminal device is turned off, when the network communication cable of the terminal device is disconnected, the wireless LAN (Local Area Network) This means when communication becomes impossible due to congestion or noise, or when a router, firewall, or Internet service provider used by a terminal device stops operating. In such a case, the terminal device cannot communicate with any of the parent node, the alternative node, and the child node. In general, it takes a certain amount of time for the above-described problems to be resolved and communication to be established again.

そのような場合、当該端末装置を除いた新たな木構造がすでに形成されている可能性が極めて高い。そこで、コンピュータ通信網に復帰した端末装置は、かつて代表ノードに選択した端末装置を、新たな親ノードに設定する。   In such a case, it is highly likely that a new tree structure excluding the terminal device has already been formed. Therefore, the terminal device that has returned to the computer communication network sets the terminal device that was once selected as the representative node as a new parent node.

このような構成を採用することにより、木構造に安定して参加している時間が長い端末装置ほど、上流に配置されるように、自然に木構造が変化されることになる。   By adopting such a configuration, the tree structure is naturally changed so that the terminal devices that have been stably participating in the tree structure have a longer time and are arranged upstream.

本発明によれば、電源断などによって通信ができなくなった端末装置が復帰した場合にも、効率良く提供情報を配信することができるようになる。   According to the present invention, provided information can be distributed efficiently even when a terminal device that has become unable to communicate due to a power failure or the like is restored.

また、本発明の端末装置は、判定部、紹介送信部、紹介受信部をさらに備え、以下のように構成することができる。   The terminal device of the present invention further includes a determination unit, an introduction transmission unit, and an introduction reception unit, and can be configured as follows.

すなわち、判定部は、要求が端末装置の子ノードに設定されていない端末装置から受信されると、端末装置に既に設定された子ノードの数もしくは端末装置の通信量に基づいて新たな子ノードの設定をするか否かを判定する。   In other words, when the request is received from a terminal device that is not set as a child node of the terminal device, the determination unit creates a new child node based on the number of child nodes already set in the terminal device or the communication amount of the terminal device. It is determined whether or not to set.

すなわち、ある端末装置が子ノードにできる端末装置の数や現在の通信量に基づいて、その端末装置の通信負荷を予想し、この通信負荷に耐えられるか否かを判定するのである。   That is, based on the number of terminal devices that a certain terminal device can make as a child node and the current communication volume, the communication load of the terminal device is predicted and it is determined whether or not the communication load can be withstood.

そして、判定部により新たな子ノードの設定をしないと判定された場合、紹介送信部は、要求の送信元の端末装置に、端末装置の子ノードのいずれかを指定する紹介を送信し、紹介受信部は、要求の送信先の端末装置から送信された紹介を受信する。   When the determination unit determines that a new child node is not set, the introduction transmission unit transmits an introduction designating one of the child nodes of the terminal device to the request source terminal device, and the introduction The receiving unit receives the introduction transmitted from the terminal device to which the request is transmitted.

すなわち、提供情報を求める要求を送信してきた端末装置に対しては、提供情報を指定する応答を返信する場合と、他の端末装置を指定する紹介を送信する場合がある。   That is, there are cases where a response specifying the provision information is returned to the terminal apparatus that has transmitted the request for the provision information, and an introduction designating another terminal apparatus is transmitted.

ここで、判定部により新たな子ノードの設定をすると判定された場合、子設定部は、要求の送信元の端末装置を子ノードに設定する。これは、当該端末装置が通信負荷に耐えうる、と判断された場合であり、当該端末装置は、上記の発明と同様に機能する。   Here, when the determination unit determines to set a new child node, the child setting unit sets the terminal device that has transmitted the request to the child node. This is a case where it is determined that the terminal device can withstand the communication load, and the terminal device functions in the same manner as the above-described invention.

一方、紹介受信部により紹介が受信された場合、親設定部は、当該紹介に指定された端末装置を親ノードに設定する。   On the other hand, when the introduction is received by the introduction receiving unit, the parent setting unit sets the terminal device designated for the introduction as the parent node.

これは、要求の送信先の端末装置が通信負荷に耐えられない、と判断して、応答のかわりに紹介を送信してきた場合であり、当該端末装置は、他の端末装置を親ノードに再設定して、要求を送信し直すことになる。   This is a case where the terminal device to which the request is transmitted cannot determine the communication load and sends an introduction instead of a response. The terminal device retransmits the other terminal device to the parent node. Set and resend the request.

本発明によれば、木構造のノードを構成する端末装置の通信性能や通信状況に応じて、新たな端末装置を木構造内の適切な位置に配置することができるようになる。   According to the present invention, a new terminal device can be arranged at an appropriate position in the tree structure in accordance with the communication performance and communication status of the terminal devices constituting the tree-structured node.

本発明のその他の観点に係る通信システムは、上記の端末装置と、指示サーバ装置と、提供サーバ装置と、を備え、以下のように構成する。典型的には、提供サーバ装置は1台乃至複数台とし、これとは異なる通信機器を指示サーバ装置とする。   A communication system according to another aspect of the present invention includes the terminal device, the instruction server device, and the providing server device, and is configured as follows. Typically, one or a plurality of providing server devices are provided, and a different communication device is used as the instruction server device.

すなわち、端末装置は、代替ノードであった親ノードとの通信に失敗すると、指示サーバ装置に指示を求め、当該指示サーバ装置から指示された通信装置を親ノードに設定する。   That is, when communication with the parent node that has been an alternative node fails, the terminal device requests an instruction server device and sets the communication device instructed by the instruction server device as the parent node.

すなわち、端末装置は、親ノードとの通信に失敗し、代替ノードとの通信にも失敗した場合には、指示サーバ装置にいずれの通信装置を親ノードとすべきかの指示を求めるのである。   That is, when the communication with the parent node fails and the communication with the alternative node also fails, the terminal device asks the instruction server device for an instruction as to which communication device should be the parent node.

一方、指示サーバ装置は、端末装置から指示を求められると、提供サーバ装置もしくは既に指示を与えた端末装置からいずれかを選択し、当該選択された通信装置を親ノードとすべき旨の指示を当該端末装置に与える。   On the other hand, when the instruction server device requests an instruction from the terminal device, the instruction server device selects either the providing server device or the terminal device that has already given the instruction, and issues an instruction that the selected communication device should be the parent node. This is given to the terminal device.

指示サーバ装置は、提供情報の配信を受けるにあたって、いずれの通信装置を親ノードとすべきかの指示を与える装置である。通信装置としては、既に木構造に参加している端末装置を採用する場合もあるし、木構造の根ノードとなっている提供サーバ装置を採用する場合もある。   The instruction server device is a device that gives an instruction as to which communication device should be a parent node when receiving distribution of provided information. As the communication device, a terminal device that has already participated in the tree structure may be employed, or a providing server device that is a root node of the tree structure may be employed.

さらに、提供サーバ装置は、端末装置から提供情報を求める要求を受信すると、当該端末装置へ提供情報を指定する応答を送信する。   Further, when the providing server device receives a request for providing information from a terminal device, the providing server device transmits a response specifying the providing information to the terminal device.

すなわち、提供サーバ装置は、木構造の根ノードとして機能し、提供情報を各端末装置に提供する。   That is, the providing server device functions as a root node of the tree structure and provides providing information to each terminal device.

本発明によれば、木構造を用いて効率良く提供情報を端末装置に伝送する通信システムを提供することができる。   ADVANTAGE OF THE INVENTION According to this invention, the communication system which transmits provision information to a terminal device efficiently using a tree structure can be provided.

また、本発明の通信システムにおいて、指示サーバ装置は、端末装置から指示を求められると、現在から所定期間内に指示を与えた端末装置がなければ、提供サーバ装置を選択し、現在から所定期間内に指示を与えた端末装置があれば、その中からランダムに選択するように構成することができる。   Further, in the communication system of the present invention, when the instruction server device is requested for an instruction from the terminal device, if there is no terminal device that has given the instruction within a predetermined period from the present time, the instruction server device selects the providing server device, and starts the predetermined period from the present time. If there is a terminal device that gives an instruction, it can be configured to randomly select from the terminal device.

一般に、最近になってから新たに木構造に参加した端末装置と、以前に木構造に参加してそのまま参加し続けている端末装置と、では、現時点から考えると、前者の方が長い間木構造に参加するものと考えられる。   In general, for terminal devices that have recently joined a tree structure recently and terminal devices that have previously participated in the tree structure and have continued to participate, It is considered to participate in the structure.

そこで、現在から所定期間内に指示を与えた端末装置を長い間木構造に参加するものと想定して、これを親ノードとして指示するのである。   Therefore, assuming that a terminal device that has given an instruction within a predetermined period from now will participate in the tree structure for a long time, this is instructed as a parent node.

なお、現在から所定期間内に指示を与えた端末装置がない、という状況は、通信が順調に行われ、負荷も低く輻輳も発生していない、と考えられるから、提供サーバ装置をそのまま親ノードとして指示することとしている。   Note that the situation in which there is no terminal device that has given an instruction within a predetermined period from now is considered that communication is performed smoothly, the load is low, and congestion does not occur. I am going to tell you as.

本発明によれば、端末装置が親ノードの指示を求める状況に応じて、適切に木構造を構成することができるようになる。   According to the present invention, a tree structure can be appropriately configured according to a situation in which a terminal device requests an instruction of a parent node.

本発明のその他の観点に係る端末方法は、当該通信装置をノードとする木構造の根ノード以外のノードとなって、親ノードから送信された提供情報を受信して、当該受信された提供情報を子ノードに送信し、選択部、通知送信部、通知受信部、親設定部を備える端末装置が実行し、当該端末方法は、選択工程、通知送信工程、通知受信工程、親設定工程を備え、以下のように構成する。   The terminal method according to another aspect of the present invention is a node other than a root node of a tree structure having the communication device as a node, receives the provision information transmitted from the parent node, and receives the received provision information Is transmitted to a child node and executed by a terminal device including a selection unit, a notification transmission unit, a notification reception unit, and a parent setting unit, and the terminal method includes a selection step, a notification transmission step, a notification reception step, and a parent setting step. The configuration is as follows.

ここで、選択工程では、選択部が、端末装置の子ノードからいずれかを代表ノードに選択し、他の子ノードを配下ノードに選択する。   Here, in the selection step, the selection unit selects any one of the child nodes of the terminal device as a representative node, and selects another child node as a subordinate node.

一方、通知送信工程では、通知送信部が、選択された代表ノードへ、端末装置の親ノードを代替ノードとすべき旨を指定する通知を送信し、選択された配下ノードへ、選択された代表ノードを代替ノードとすべき旨を指定する通知を送信する。   On the other hand, in the notification transmission step, the notification transmission unit transmits a notification designating that the parent node of the terminal device should be an alternative node to the selected representative node, and the selected representative node is selected. Sends a notification specifying that the node should be an alternate node.

さらに、通知受信工程では、通知受信部が、端末装置の親ノードから送信された通知を受信する。   Further, in the notification receiving step, the notification receiving unit receives a notification transmitted from the parent node of the terminal device.

そして、端末装置の親ノードとの通信に失敗すると、親設定工程では、親設定部が、受信された通知に指定された代替ノードを、新たな親ノードに設定する。   When communication with the parent node of the terminal device fails, in the parent setting step, the parent setting unit sets the alternative node specified in the received notification as a new parent node.

本発明のその他の観点に係るプログラムは、コンピュータを上記の端末装置として機能させるように構成する。   A program according to another aspect of the present invention is configured to cause a computer to function as the terminal device.

また、本発明のプログラムは、コンパクトディスク、フレキシブルディスク、ハードディスク、光磁気ディスク、ディジタルビデオディスク、磁気テープ、半導体メモリ等のコンピュータ読取可能な情報記憶媒体に記録することができる。   The program of the present invention can be recorded on a computer-readable information storage medium such as a compact disk, flexible disk, hard disk, magneto-optical disk, digital video disk, magnetic tape, and semiconductor memory.

上記プログラムは、プログラムが実行されるコンピュータとは独立して、コンピュータ通信網を介して配布・販売することができる。また、上記情報記憶媒体は、コンピュータとは独立して配布・販売することができる。   The above program can be distributed and sold via a computer communication network independently of the computer on which the program is executed. The information storage medium can be distributed and sold independently from the computer.

本発明によれば、木構造のノードとなって通信をする際に通信に失敗すると、木構造の再編を効率良く行うのに好適な端末装置、通信システム、端末方法、ならびに、これらをコンピュータにて実現するプログラムを提供することができる。   ADVANTAGE OF THE INVENTION According to this invention, when communication fails when it becomes a tree-structured node, a terminal device, a communication system, a terminal method, and these suitable for efficiently reorganizing the tree structure are provided to a computer. Can be provided.

典型的な情報処理装置の概要構成を示す模式図である。It is a schematic diagram which shows schematic structure of a typical information processing apparatus. 本実施形態に係る通信システムの概要構成を示す模式図である。It is a mimetic diagram showing the outline composition of the communications system concerning this embodiment. 新たな端末装置が木構造に参加しようとする際の通信のセッション図である。It is a session diagram of communication when a new terminal device tries to participate in a tree structure. 本実施形態に係る端末装置の概要構成を示す説明図である。It is explanatory drawing which shows schematic structure of the terminal device which concerns on this embodiment. 本実施形態に係る端末装置にて実行される端末処理の制御の流れを示すフローチャートである。It is a flowchart which shows the flow of control of the terminal process performed with the terminal device which concerns on this embodiment. 本実施形態に係る端末装置にて実行される端末処理の制御の流れを示すフローチャートである。It is a flowchart which shows the flow of control of the terminal process performed with the terminal device which concerns on this embodiment. 本実施形態に係る端末装置にて実行される端末処理の制御の流れを示すフローチャートである。It is a flowchart which shows the flow of control of the terminal process performed with the terminal device which concerns on this embodiment. 木構造の状態を示す説明図である。It is explanatory drawing which shows the state of a tree structure. 木構造の状態を示す説明図である。It is explanatory drawing which shows the state of a tree structure. 指示サーバ装置の概要構成を示す説明図である。It is explanatory drawing which shows schematic structure of an instruction | indication server apparatus. 指示サーバ装置にて実行される指示処理の制御の流れを示すフローチャートである。It is a flowchart which shows the flow of control of the instruction | indication process performed in an instruction | indication server apparatus. 提供サーバ装置の概要構成を示す説明図である。It is explanatory drawing which shows schematic structure of a provision server apparatus. 提供サーバ装置にて実行される提供処理の制御の流れを示すフローチャートである。It is a flowchart which shows the flow of control of the provision process performed in a provision server apparatus.

以下に本発明の実施形態を説明する。以下では、理解を容易にするため、ゲーム用の情報処理装置を利用して本発明が実現される実施形態を説明するが、以下に説明する実施形態は説明のためのものであり、本願発明の範囲を制限するものではない。   Embodiments of the present invention will be described below. In the following, for ease of understanding, an embodiment in which the present invention is realized using a game information processing device will be described. However, the embodiment described below is for explanation, and the present invention is described. It does not limit the range.

したがって、当業者であればこれらの各要素もしくは全要素をこれと均等なものに置換した実施形態を採用することが可能であるが、これらの実施形態も本発明の範囲に含まれる。   Therefore, those skilled in the art can employ embodiments in which each or all of these elements are replaced with equivalent ones, and these embodiments are also included in the scope of the present invention.

図1は、プログラムを実行することにより、本実施形態の通信システムにおける端末装置、指示サーバ装置、提供サーバ装置等のサーバ装置として機能しうる典型的な情報処理装置の概要構成を示す模式図である。以下、本図を参照して説明する。   FIG. 1 is a schematic diagram illustrating a schematic configuration of a typical information processing apparatus that can function as a server apparatus such as a terminal apparatus, an instruction server apparatus, and a providing server apparatus in the communication system according to the present embodiment by executing a program. is there. Hereinafter, a description will be given with reference to FIG.

本図に示す情報処理装置100は、いわゆるコンシューマゲーム機に相当するもので、CPU(Central Processing Unit)101、ROM(Read Only Memory)102、RAM(Random Access Memory)103、インターフェース104、コントローラ105、外部メモリ106、画像処理部107、DVD−ROM(Digital Versatile Disc ROM)ドライブ108、NIC(Network Interface Card)109、音声処理部110、マイク111、ハードディスク(Hard Disk;HD)121を有する。各種の入出力装置は、適宜省略することができる。   An information processing apparatus 100 shown in the figure corresponds to a so-called consumer game machine, and includes a central processing unit (CPU) 101, a read only memory (ROM) 102, a random access memory (RAM) 103, an interface 104, a controller 105, An external memory 106, an image processing unit 107, a DVD-ROM (Digital Versatile Disc ROM) drive 108, a NIC (Network Interface Card) 109, an audio processing unit 110, a microphone 111, and a hard disk (HD) 121 are included. Various input / output devices can be omitted as appropriate.

情報処理装置100を典型的なコンシューマゲーム機として機能させる場合には、ゲーム用プログラムおよびデータを記憶したDVD−ROMをDVD−ROMドライブ108に装着し、電源を投入する。すると、当該ゲームプログラムが実行され、ゲームをプレイすることができるようになる。   When the information processing apparatus 100 is caused to function as a typical consumer game machine, a DVD-ROM storing a game program and data is mounted on the DVD-ROM drive 108 and the power is turned on. Then, the game program is executed and the game can be played.

ただし、本実施形態においては、典型的には、DVD−ROMドライブ108に装着されたDVD−ROMから、アプリケーションをHD 121にインストールする。そして、当該HD 121に記憶されたプログラムを実行することによって、ゲームを含む各種のアプリケーションを実行することとする。   However, in the present embodiment, typically, an application is installed in the HD 121 from a DVD-ROM attached to the DVD-ROM drive 108. Then, by executing the program stored in the HD 121, various applications including a game are executed.

また、後述するように、端末装置とサーバ装置とでは、実行する情報処理の規模や種類が異なるだけで、本質的には、いずれも、本図に示す情報処理装置100と同様の構成により、実現される。   Further, as will be described later, the terminal device and the server device differ only in the scale and type of information processing to be executed. Essentially, both have the same configuration as the information processing device 100 shown in FIG. Realized.

なお、携帯型のゲーム装置においては、携帯可能とするために、DVD−ROMドライブ108を利用するのではなく、ROMカセット用スロットにEEPROM(Electrically Erasable Programmable ROM)カセットを装着して、HD 121を省略したりすることも可能である。この場合、アプリケーション用プログラムをEEPROMカセットに書き込んだ上で、当該プログラムを実行することとなる。このほか、外部メモリ106にアプリケーション用プログラムをインストールすることも可能である。   In order to make the portable game device portable, the DVD-ROM drive 108 is not used, but an EEPROM (Electrically Erasable Programmable ROM) cassette is mounted in the ROM cassette slot and the HD 121 is mounted. It can also be omitted. In this case, the application program is written in the EEPROM cassette and then the program is executed. In addition, an application program can be installed in the external memory 106.

さて、CPU 101は、情報処理装置100全体の動作を制御し、各構成要素と接続され制御信号やデータをやりとりする。また、CPU 101は、レジスタ(図示せず)という高速アクセスが可能な記憶域に対してALU(Arithmetic Logic Unit)(図示せず)を用いて加減乗除等の算術演算や、論理和、論理積、論理否定等の論理演算、ビット和、ビット積、ビット反転、ビットシフト、ビット回転等のビット演算などを行うことができる。さらに、マルチメディア処理対応のための加減乗除等の飽和演算や、三角関数等、ベクトル演算などを高速に行えるように、CPU 101自身が構成されているものや、コプロセッサを備えて実現するものがある。   The CPU 101 controls the overall operation of the information processing apparatus 100 and is connected to each component to exchange control signals and data. Further, the CPU 101 uses arithmetic operations such as addition / subtraction / multiplication / division, logical sum, logical product, etc. using an ALU (Arithmetic Logic Unit) (not shown) for a storage area called a register (not shown) that can be accessed at high speed. , Logic operations such as logical negation, bit operations such as bit sum, bit product, bit inversion, bit shift, and bit rotation can be performed. In addition, the CPU 101 itself is configured so that saturation operations such as addition / subtraction / multiplication / division for multimedia processing, vector operations such as trigonometric functions, etc. can be performed at a high speed, and those provided with a coprocessor. There is.

ROM 102には、電源投入直後に実行されるIPL(Initial Program Loader)が記録され、これが実行されることにより、DVD−ROMに記録されたプログラムをRAM 103に読み出してCPU 101による実行が開始される。また、ROM 102には、情報処理装置100全体の動作制御に必要なオペレーティングシステムのプログラムや各種のデータが記録される。   The ROM 102 records an IPL (Initial Program Loader) that is executed immediately after the power is turned on, and when this is executed, the program recorded on the DVD-ROM is read out to the RAM 103 and execution by the CPU 101 is started. The The ROM 102 stores an operating system program and various data necessary for operation control of the entire information processing apparatus 100.

RAM 103は、データやプログラムを一時的に記憶するためのもので、HD 121やDVD−ROM等から読み出したプログラムやデータ、その他通信対戦ゲームの進行やチャット通信に必要なデータが保持される。また、CPU 101は、RAM 103に変数領域を設け、当該変数に格納された値に対して直接ALUを作用させて演算を行ったり、RAM 103に格納された値を一旦レジスタに格納してからレジスタに対して演算を行い、演算結果をメモリに書き戻す、などの処理を行う。   The RAM 103 is for temporarily storing data and programs, and retains programs and data read from the HD 121 and DVD-ROM, and other data necessary for the progress of the communication battle game and chat communication. Further, the CPU 101 provides a variable area in the RAM 103 and performs an operation by directly operating the ALU on the value stored in the variable, or temporarily stores the value stored in the RAM 103 in the register. Perform operations such as performing operations on registers and writing back the operation results to memory.

インターフェース104を介して接続されたコントローラ105は、ユーザがゲーム実行の際に行う操作入力を受け付ける。   The controller 105 connected via the interface 104 receives an operation input performed when the user executes the game.

なお、コントローラ105は、必ずしも情報処理装置100に対して外付けにされている必要はなく、一体に形成されていても良い。携帯可能な端末装置のコントローラ105は、各種のボタンやスイッチから構成され、これらの押圧操作を操作入力として扱う。このほか、タッチスクリーンを利用した情報処理装置100では、ユーザがペンや指を利用してタッチスクリーンをなぞった軌跡を操作入力として扱う。   The controller 105 does not necessarily have to be externally attached to the information processing apparatus 100, and may be formed integrally. The controller 105 of the portable terminal device includes various buttons and switches, and handles these pressing operations as operation inputs. In addition, in the information processing apparatus 100 using the touch screen, the user traces the trace of the touch screen using a pen or a finger as an operation input.

インターフェース104を介して着脱自在に接続された外部メモリ106には、ゲーム等のプレイ状況(過去の成績等)を示すデータ、ゲームの進行状態を示すデータ、ネットワーク対戦の場合のチャット通信のログ(記録)のデータなどが書き換え可能に記憶される。ユーザは、コントローラ105を介して指示入力を行うことにより、これらのデータを適宜外部メモリ106に記録することができる。   The external memory 106 detachably connected via the interface 104 stores data indicating game play status (past results, etc.), data indicating the progress of the game, and log of chat communication in a network battle ( Data) is stored in a rewritable manner. The user can record these data in the external memory 106 as appropriate by inputting an instruction via the controller 105.

上述の通り、アプリケーションプログラムを外部メモリ106にインストールして実行するような形態を採用することもできる。これは、外部メモリ106が大容量である場合に好適である。   As described above, it is possible to adopt a form in which the application program is installed in the external memory 106 and executed. This is suitable when the external memory 106 has a large capacity.

DVD−ROMドライブ108に装着されるDVD−ROMには、ゲームを実現するためのプログラムとゲームに付随する画像データや音声データが記録される。CPU 101の制御によって、DVD−ROMドライブ108は、これに装着されたDVD−ROMに対する読み出し処理を行って、必要なプログラムやデータを読み出し、これらはRAM 103等に一時的に記憶される。   A DVD-ROM mounted on the DVD-ROM drive 108 stores a program for realizing the game and image data and audio data associated with the game. Under the control of the CPU 101, the DVD-ROM drive 108 performs a reading process on the DVD-ROM loaded therein, reads out necessary programs and data, and these are temporarily stored in the RAM 103 or the like.

画像処理部107は、DVD−ROMから読み出されたデータをCPU 101や画像処理部107が備える画像演算プロセッサ(図示せず)によって加工処理した後、これを画像処理部107が備えるフレームメモリ(図示せず)に記録する。フレームメモリに記録された画像情報は、所定の同期タイミングでビデオ信号に変換され画像処理部107に接続されるモニタ(図示せず)へ出力される。これにより、各種の画像表示が可能となる。   The image processing unit 107 processes the data read from the DVD-ROM by an image arithmetic processor (not shown) included in the CPU 101 or the image processing unit 107, and then processes the processed data on a frame memory ( (Not shown). The image information recorded in the frame memory is converted into a video signal at a predetermined synchronization timing and output to a monitor (not shown) connected to the image processing unit 107. Thereby, various image displays are possible.

携帯可能な端末装置のモニタとしては、小型の液晶ディスプレイを利用するのが典型的であり、コントローラ105としてタッチスクリーンを利用する場合には、当該タッチスクリーンの表示パネルがモニタとして機能する。自宅で遊ぶための端末装置やサーバ装置のモニタとしては、CRT(Cathode Ray Tube)やプラズマディスプレイなどの表示装置を利用することも可能である。   As a monitor of a portable terminal device, a small liquid crystal display is typically used. When a touch screen is used as the controller 105, the display panel of the touch screen functions as a monitor. A display device such as a CRT (Cathode Ray Tube) or a plasma display can be used as a monitor for a terminal device or a server device for playing at home.

画像演算プロセッサは、2次元の画像の重ね合わせ演算やαブレンディング等の透過演算、各種の飽和演算を高速に実行できる。   The image calculation processor can execute a two-dimensional image overlay calculation, a transmission calculation such as α blending, and various saturation calculations at high speed.

また、仮想3次元空間に配置され、各種のテクスチャ情報が付加されたポリゴン情報を、Zバッファ法によりレンダリングして、所定の視点位置から仮想3次元空間に配置されたポリゴンを所定の視線の方向へ俯瞰したレンダリング画像を得る演算の高速実行も可能である。   Also, polygon information arranged in the virtual three-dimensional space and added with various texture information is rendered by the Z buffer method, and the polygon arranged in the virtual three-dimensional space from the predetermined viewpoint position is determined in the direction of the predetermined line of sight It is also possible to perform high-speed execution of operations for obtaining rendered images.

さらに、CPU 101と画像演算プロセッサが協調動作することにより、文字の形状を定義するフォント情報にしたがって、文字列を2次元画像としてフレームメモリへ描画したり、各ポリゴン表面へ描画することが可能である。   Further, the CPU 101 and the image arithmetic processor operate in a coordinated manner, so that a character string can be drawn as a two-dimensional image in a frame memory or drawn on the surface of each polygon according to font information that defines the character shape. is there.

NIC 109は、情報処理装置100をインターネット等のコンピュータ通信網(図示せず)に接続するためのものであり、LANを構成する際に用いられる10BASE−T/100BASE−T規格にしたがうものや、電話回線を用いてインターネットに接続するためのアナログモデム、ISDN(Integrated Services Digital Network)モデム、ADSL(Asymmetric Digital Subscriber Line)モデム、ケーブルテレビジョン回線を用いてインターネットに接続するためのケーブルモデム等と、これらとCPU 101との仲立ちを行うインターフェース(図示せず)により構成される。   The NIC 109 is used to connect the information processing apparatus 100 to a computer communication network (not shown) such as the Internet, and conforms to the 10BASE-T / 100BASE-T standard used when configuring a LAN. An analog modem for connecting to the Internet using a telephone line, an ISDN (Integrated Services Digital Network) modem, an ADSL (Asymmetric Digital Subscriber Line) modem, a cable modem for connecting to the Internet using a cable television line, etc. These are configured by an interface (not shown) that mediates between these and the CPU 101.

また、NIC 109経由でコンピュータ通信網から入手した情報を元に、HD 121等にアプリケーションプログラムをインストールすることも可能である。   An application program can be installed in the HD 121 or the like based on information obtained from the computer communication network via the NIC 109.

音声処理部110は、HD 121やDVD−ROMから読み出した音声データをアナログ音声信号に変換し、これに接続されたスピーカ(図示せず)から出力させる。また、CPU 101の制御の下、ゲームの進行の中で発生させるべき効果音や楽曲データを生成し、これに対応した音声をスピーカや、ヘッドホン(図示せず)、イヤフォン(図示せず)から出力させる。   The audio processing unit 110 converts audio data read from the HD 121 or DVD-ROM into an analog audio signal, and outputs the analog audio signal from a speaker (not shown) connected thereto. Further, under the control of the CPU 101, sound effects and music data to be generated during the progress of the game are generated, and the corresponding sound is output from a speaker, headphones (not shown), and earphones (not shown). Output.

音声処理部110では、HD 121やDVD−ROMに記録された音声データがMIDIデータである場合には、これが有する音源データを参照して、MIDIデータをPCMデータに変換する。また、ADPCM形式やOgg Vorbis形式等の圧縮済音声データである場合には、これを展開してPCMデータに変換する。PCMデータは、そのサンプリング周波数に応じたタイミングでD/A(Digital/Analog)変換を行って、スピーカに出力することにより、音声出力が可能となる。   When the audio data recorded on the HD 121 or the DVD-ROM is MIDI data, the audio processing unit 110 refers to the sound source data included in the audio data and converts the MIDI data into PCM data. If the compressed audio data is in ADPCM format or Ogg Vorbis format, it is expanded and converted to PCM data. The PCM data can be output by performing D / A (Digital / Analog) conversion at a timing corresponding to the sampling frequency and outputting it to a speaker.

さらに、情報処理装置100には、インターフェース104を介してマイク111を接続することができる。この場合、マイク111からのアナログ信号に対しては、適当なサンプリング周波数でA/D変換を行い、PCM形式のディジタル信号として、音声処理部110でのミキシング等の処理ができるようにする。   Furthermore, a microphone 111 can be connected to the information processing apparatus 100 via the interface 104. In this case, the analog signal from the microphone 111 is subjected to A / D conversion at an appropriate sampling frequency so that processing such as mixing in the sound processing unit 110 can be performed as a PCM format digital signal.

本実施形態で利用する情報処理装置100は、上述のように、HD 121等の大容量外部記憶装置を用いるのが典型的である。HD 121は、ROM 102、RAM 103、外部メモリ106、DVD−ROMドライブ108に装着されるDVD−ROM等と同じ機能を果たすこともできる。   As described above, the information processing apparatus 100 used in the present embodiment typically uses a large-capacity external storage device such as the HD 121. The HD 121 can also perform the same functions as a DVD-ROM or the like mounted on the ROM 102, RAM 103, external memory 106, DVD-ROM drive 108, and the like.

このほか、ユーザからの文字列の編集入力を受け付けるためのキーボードや、各種の位置の指定および選択入力を受け付けるためのマウスなどを接続する形態も採用することができる。また、本実施形態の情報処理装置100にかえて、汎用のパーソナルコンピュータやサーバ用コンピュータ等を利用することもできる。   In addition, it is possible to adopt a form in which a keyboard for accepting a character string editing input from a user, a mouse for accepting various position designations and selection inputs, and the like are connected. In addition, a general-purpose personal computer, a server computer, or the like can be used instead of the information processing apparatus 100 of the present embodiment.

さらに、本実施形態では、リアルタイムクロック(図示せず)もしくはNIC 109を介してNTP(Network Time Protocol)サーバに対して時刻を問い合わせる機能を採用して、情報処理装置100を利用している日時の情報を利用することとしている。   Further, in the present embodiment, a function for inquiring the time to an NTP (Network Time Protocol) server via a real-time clock (not shown) or the NIC 109 is adopted, and the date and time when the information processing apparatus 100 is used. We are going to use information.

以上で説明した情報処理装置100は、コンシューマ向けゲーム装置に相当するものであるが、各種の入出力処理が可能な電子機器であれば、本発明の端末装置やサーバ装置を実現することができる。したがって、携帯電話、携帯ゲーム機器、カラオケ装置、一般的なビジネス用コンピュータなど、種々の計算機上で本発明の端末装置やサーバ装置を実現することが可能である。   The information processing apparatus 100 described above corresponds to a consumer game apparatus, but the terminal apparatus and server apparatus of the present invention can be realized as long as the electronic apparatus can perform various input / output processes. . Therefore, the terminal device and server device of the present invention can be realized on various computers such as a mobile phone, a mobile game device, a karaoke device, and a general business computer.

たとえば、ビジネス用コンピュータは、上記情報処理装置100と同様に、CPU、RAM、ROM、DVD−ROMドライブ、および、NIC、HDを構成要素として有するほか、情報処理装置100よりも簡易な機能を備えた画像処理部を備え、外部記憶装置としてフレキシブルディスク、光磁気ディスク、磁気テープ等が利用できるようになっており、コントローラ105ではなく、キーボードやマウスなどを入力装置として利用するのが典型的である。   For example, similarly to the information processing apparatus 100, the business computer has a CPU, RAM, ROM, DVD-ROM drive, NIC, and HD as constituent elements, and has simpler functions than the information processing apparatus 100. In addition, a flexible disk, a magneto-optical disk, a magnetic tape, etc. can be used as an external storage device, and it is typical to use a keyboard or mouse as an input device instead of the controller 105. is there.

(通信システム)
図2は、本発明の実施形態に係る通信システムの概要構成を示す説明図である。以下、本図を参照して説明する。
(Communications system)
FIG. 2 is an explanatory diagram showing a schematic configuration of the communication system according to the embodiment of the present invention. Hereinafter, a description will be given with reference to FIG.

本実施形態の通信システム201は、端末装置221と、指示サーバ装置241と、提供サーバ装置261と、を備え、インターネット291内で適宜相互に通信を行う。   The communication system 201 of the present embodiment includes a terminal device 221, an instruction server device 241, and a providing server device 261, and appropriately communicates with each other within the Internet 291.

端末装置221は、コンシューマ向けゲーム装置やパーソナルコンピュータなど、一般ユーザが利用するものであり、指示サーバ装置241は、オンラインゲームにおけるロビーサーバ、マッチングサーバに類似するサーバ用コンピュータであり、提供サーバ装置261は、ストリーミング配信等、各種のデータ配信を行うサーバ用コンピュータである。   The terminal device 221 is used by general users such as consumer game devices and personal computers, and the instruction server device 241 is a server computer similar to a lobby server and matching server in an online game, and a providing server device 261 Is a server computer that performs various data distribution such as streaming distribution.

本実施形態では、提供サーバ装置261から、直接的に、あるいは、他の端末装置221を介して間接的に、各端末装置221へ動画像や音声等のストリーミング情報を提供する。端末装置221と提供サーバ装置261から構成される通信システム201は、いわゆる木構造をなす。木構造の根ノードが提供サーバ装置261に、それ以外の中間ノードおよび葉ノードが各端末装置221に相当し、木構造において各ノードを結ぶ枝は、ストリーミング情報を提供する際の通信経路に相当する。   In the present embodiment, streaming information such as a moving image and audio is provided to each terminal device 221 directly from the providing server device 261 or indirectly via another terminal device 221. The communication system 201 including the terminal device 221 and the providing server device 261 has a so-called tree structure. The root node of the tree structure corresponds to the providing server device 261, the other intermediate nodes and leaf nodes correspond to the terminal devices 221, and the branches connecting the nodes in the tree structure correspond to communication paths when providing streaming information. To do.

端末装置221は、自身が中間ノードであれば、親ノードからストリーミング情報を受信して、当該端末装置221のユーザにストリーミング情報を提示するとともに、その子ノードに対して、ストリーミング情報を送信する。   If the terminal device 221 is an intermediate node, the terminal device 221 receives streaming information from the parent node, presents the streaming information to the user of the terminal device 221, and transmits the streaming information to the child node.

また、自身が葉ノードである場合は、親ノードからストリーミング情報を受信して、当該端末装置221のユーザにストリーミング情報を提示する。   If the node itself is a leaf node, it receives streaming information from the parent node and presents the streaming information to the user of the terminal device 221.

本図においては、
(1)提供サーバ装置261(根ノードR)の子ノードに端末装置221(中間ノードG)が含まれ、
(2)端末装置221(中間ノードG)の子ノードに端末装置221(中間ノードA)が含まれ、
(3)端末装置221(中間ノードA)の子ノードに端末装置221(葉ノードP)、端末装置221(葉ノードQ)、端末装置221(葉ノードX)、が含まれる、
のように階層が構築されており、根ノードR→中間ノードG→中間ノードA→葉ノードP・葉ノードQ・葉ノードXの順に、ストリーミング情報が中継される。
In this figure,
(1) The terminal device 221 (intermediate node G) is included in the child nodes of the providing server device 261 (root node R),
(2) The terminal device 221 (intermediate node A) is included in the child nodes of the terminal device 221 (intermediate node G),
(3) Child devices of the terminal device 221 (intermediate node A) include the terminal device 221 (leaf node P), the terminal device 221 (leaf node Q), and the terminal device 221 (leaf node X).
In this order, streaming information is relayed in the order of root node R → intermediate node G → intermediate node A → leaf node P / leaf node Q / leaf node X.

なお、一般に、1つの端末装置221が親ノードとなった場合の子ノードの数には、当該親ノードの端末装置221の通信環境、通信性能によって、制限がある。そこで、本実施形態においては、新たな端末装置221(ノードX)が初めて木構造に参加しようとする場合には、以下のような手順をとることとなる。   In general, the number of child nodes when one terminal device 221 becomes a parent node is limited depending on the communication environment and communication performance of the terminal device 221 of the parent node. Therefore, in the present embodiment, when a new terminal device 221 (node X) tries to participate in the tree structure for the first time, the following procedure is taken.

なお、端末装置221に配信される提供情報は、上記のようなストリーミング情報に限られず、プログラム、データ、各種のマルチメディア情報等、種々の情報の配信に、本実施形態を適用することができる。   The provided information distributed to the terminal device 221 is not limited to the streaming information as described above, and the present embodiment can be applied to distribution of various information such as programs, data, and various types of multimedia information. .

図3は、新たな端末装置が木構造に参加しようとする際の通信のセッション図である。以下、本図を参照して説明する。   FIG. 3 is a communication session diagram when a new terminal device attempts to participate in the tree structure. Hereinafter, a description will be given with reference to FIG.

端末装置221(ノードX)は、親ノードとしていずれの機器を採用すべきかわからない場合に、指示サーバ装置241に指示を求める問合せを送信する(301)。したがって、一般には、指示サーバ装置241のホスト名もしくはIPアドレス(および、通信用ポートが可変な態様では、通信に利用しているポート番号)等により表現される通信識別子は固定されている。   When the terminal device 221 (node X) does not know which device should be adopted as the parent node, the terminal device 221 (node X) transmits an inquiry for an instruction to the instruction server device 241 (301). Therefore, generally, the communication identifier expressed by the host name or IP address of the instruction server device 241 (and the port number used for communication in the case where the communication port is variable) is fixed.

指示を求められた指示サーバ装置241は、提供サーバ装置261、もしくは、木構造の中で現在配信を受けていると予想される他の端末装置221の通信識別子を指定した指示を、問合せ元の端末装置221に送信する(302)。   The instruction server device 241 that has been requested to send an instruction specifies an instruction specifying the communication identifier of the providing server device 261 or another terminal device 221 that is expected to be currently distributed in the tree structure. It transmits to the terminal device 221 (302).

このような構成を採用するため、提供サーバ装置261は、1台に限られず、適宜台数を増減することができる。また、負荷が低い場合には、提供サーバ装置261と指示サーバ装置241を同じサーバ装置にて構成することも可能である。   Since such a configuration is adopted, the number of providing server devices 261 is not limited to one, and the number can be increased or decreased as appropriate. When the load is low, the providing server device 261 and the instruction server device 241 can be configured by the same server device.

以下の説明では、中間ノードGである端末装置221が、指示に指定されているものとする。   In the following description, it is assumed that the terminal device 221 that is the intermediate node G is specified in the instruction.

指示を受けた端末装置221(ノードX)は、指示された中間ノードGを親ノードとして木構造に参加するため、ストリーミング情報を求める要求を、中間ノードGに送信する(303)。   The terminal device 221 (node X) having received the instruction transmits a request for streaming information to the intermediate node G in order to participate in the tree structure with the instructed intermediate node G as a parent node (303).

以下の説明では、中間ノードGが、自身の子ノードの数や通信環境を考慮した結果、ノードXを自身の子ノードとすることができない、と判断したものとする。   In the following description, it is assumed that the intermediate node G determines that the node X cannot be its own child node as a result of considering the number of its own child nodes and the communication environment.

この場合、中間ノードGは、自身の子ノードのいずれかを指定する紹介を、ノードXに対して送信する(304)。子ノードからいずれを選択するかは、たとえば、ランダムに選択したり、自身の子ノードになった順に、巡回的に選択したり、各子ノードとの通信状況を確認して、現在の通信状況が最も良好なものを選択する等、種々の態様を採用することができる。以下の説明では、紹介には、中間ノードAが指定されているものとする。   In this case, the intermediate node G transmits an introduction designating one of its child nodes to the node X (304). Which one to select from the child nodes can be selected, for example, randomly or in the order of its own child nodes, or by checking the communication status with each child node, It is possible to adopt various modes such as selecting the best one. In the following description, it is assumed that the intermediate node A is designated for the introduction.

紹介を受けたノードXは、紹介に指定された中間ノードAに対して、ストリーミング情報を求める要求を送信する(305)。   The node X that has received the introduction transmits a request for streaming information to the intermediate node A designated for the introduction (305).

中間ノードAは、自身の子ノードの数や通信環境を考慮した結果、ノードXを自身の子ノードとすることができると判断したものとすると、中間ノードAから、ストリーミング情報を指定する応答が、ノードXに送信され(306)、これをもって、ノードXは、中間ノードAを親ノードとする葉ノードとなるのである。   Assuming that the intermediate node A determines that the node X can be its own child node as a result of considering the number of child nodes and the communication environment, the intermediate node A receives a response specifying streaming information. The node X becomes a leaf node having the intermediate node A as a parent node (306).

以降は、子ノードであるノードXから親ノードであるノードAに要求が送信され、ノードAからノードXに応答が送信されることを繰り返すことで、ストリーミング情報が、木構造の根ノードから葉ノードに向かって下るように、配信される。   Thereafter, by repeatedly transmitting a request from the child node X to the parent node A and transmitting a response from the node A to the node X, the streaming information is transmitted from the root node of the tree structure. Delivered down the node.

なお、本実施形態では、葉ノードが要求を受信した場合には、当該葉ノードは親ノード(すなわち、中間ノード)になり、要求の送信元が子ノードとなる。したがって、新たに木構造に参加しようとする端末装置221は、木構造内のどこかに必ず位置が定まることとなる。   In this embodiment, when a leaf node receives a request, the leaf node becomes a parent node (that is, an intermediate node), and the transmission source of the request becomes a child node. Therefore, the position of the terminal device 221 that intends to newly participate in the tree structure is always determined somewhere in the tree structure.

以下では、まず、本実施形態に係る端末装置221の詳細について説明し、ついで、指示サーバ装置241、提供サーバ装置261について説明することとする。   Hereinafter, first, details of the terminal device 221 according to the present embodiment will be described, and then the instruction server device 241 and the providing server device 261 will be described.

(端末装置)
図4は、本実施形態に係る端末装置221の概要構成を示す説明図である。以下、本図を参照して説明する。
(Terminal device)
FIG. 4 is an explanatory diagram showing a schematic configuration of the terminal device 221 according to the present embodiment. Hereinafter, a description will be given with reference to FIG.

端末装置221は、設定記憶部401、問合せ送信部402、指示受信部403、要求送信部404、応答受信部405、提供部406、要求受信部407、子設定部408、応答送信部409、選択部410、通知送信部411、通知受信部412、親設定部413、判定部415、紹介送信部416、紹介受信部417を備える。   The terminal device 221 includes a setting storage unit 401, an inquiry transmission unit 402, an instruction reception unit 403, a request transmission unit 404, a response reception unit 405, a provision unit 406, a request reception unit 407, a child setting unit 408, a response transmission unit 409, a selection Unit 410, notification transmission unit 411, notification reception unit 412, parent setting unit 413, determination unit 415, introduction transmission unit 416, and introduction reception unit 417.

ここで、設定記憶部401には、以下の情報が、典型的には不揮発に記憶される。
(a)端末装置221の親ノードの通信識別子。
(b)代替ノードの通信識別子。
(c)端末装置221の子ノードの通信識別子。
Here, the setting storage unit 401 typically stores the following information in a nonvolatile manner.
(A) The communication identifier of the parent node of the terminal device 221.
(B) The communication identifier of the alternative node.
(C) A communication identifier of a child node of the terminal device 221.

情報(a)(b)としては、1台分の通信識別子が記憶されるか、もしくは、未設定の状態のいずれかが判別できるようにし、情報(c)としては、0台以上の通信識別子が記憶されるようにするのが典型的である。   As information (a) and (b), it is possible to determine whether a communication identifier for one device is stored or whether it is in an unset state, and as information (c), there are zero or more communication identifiers. Is typically stored.

これらの情報(特に、親ノードの情報(a)、代替ノードの情報(b))は、端末装置221に電源を投入した際に、以前に設定された値が参照されるので、設定記憶部401は、外部メモリ106やハードディスクなどにより構成して、不揮発に情報が記憶できるようにすることが望ましい。ただし、通信状態が時々刻々と変化するような態様等では、設定記憶部401をRAM 103により構成するのであっても、十分な効果が得られる。   Since these pieces of information (particularly parent node information (a) and alternative node information (b)) refer to previously set values when the terminal device 221 is turned on, the setting storage unit 401 is preferably configured by an external memory 106 or a hard disk so that information can be stored in a nonvolatile manner. However, in an aspect where the communication state changes from moment to moment, even if the setting storage unit 401 is configured by the RAM 103, a sufficient effect can be obtained.

以下、各部の機能について、各部が実行する処理の手順を参照しながら説明する。図5、図6、図7は、本実施形態に係る端末装置221にて実行される端末処理の制御の流れを示すフローチャートである。   Hereinafter, the function of each unit will be described with reference to the procedure of processing executed by each unit. 5, 6 and 7 are flowcharts showing the flow of control of terminal processing executed by the terminal device 221 according to the present embodiment.

端末装置221に電源が投入されると、端末装置221は、設定記憶部401を参照して、親ノードの通信識別子が記憶されているか否かを調べる(ステップS501)。   When the terminal device 221 is powered on, the terminal device 221 refers to the setting storage unit 401 and checks whether or not the communication identifier of the parent node is stored (step S501).

過去に木構造に参加したことがあり、設定記憶部401が不揮発性である場合には、前回参加した際の親ノードの通信識別子がここで得られることになる。   If the user has participated in the tree structure in the past and the setting storage unit 401 is non-volatile, the communication identifier of the parent node at the previous participation is obtained here.

親ノードの通信識別子が記憶されていない場合(ステップS501;No)、問合せ送信部402は、固定された通信識別子を有する指示サーバ装置241に対して、いずれの通信機器を親ノードとすべきかの指示を求める問合せを送信し(ステップS502)、指示受信部403は、問合せに呼応して指示サーバ装置241から送信された指示を受信する(ステップS503)。   When the communication identifier of the parent node is not stored (step S501; No), the inquiry transmission unit 402 determines which communication device should be the parent node with respect to the instruction server device 241 having the fixed communication identifier. The inquiry requesting the instruction is transmitted (step S502), and the instruction receiving unit 403 receives the instruction transmitted from the instruction server device 241 in response to the inquiry (step S503).

したがって、CPU 101の制御の下、NIC 109が、問合せ送信部402、指示受信部403として機能する。   Therefore, the NIC 109 functions as the inquiry transmission unit 402 and the instruction reception unit 403 under the control of the CPU 101.

上記のように、指示サーバ装置241から送信された指示には、木構造に現在も参加している可能性が高い他の端末装置221もしくは提供サーバ装置261の通信識別子が指定されている。そこで、親設定部413は、設定記憶部401を更新して、親ノードの通信識別子として、指示において指定された通信識別子を記憶させ、端末装置221の親ノードに設定する(ステップS504)。   As described above, in the instruction transmitted from the instruction server device 241, the communication identifier of another terminal device 221 or the providing server device 261 that is highly likely to participate in the tree structure is specified. Therefore, the parent setting unit 413 updates the setting storage unit 401, stores the communication identifier specified in the instruction as the communication identifier of the parent node, and sets it as the parent node of the terminal device 221 (step S504).

したがって、CPU 101は、外部メモリ106等と共働して、親設定部413として機能する。なお、親設定部413は、後述する各種の処理を実行する機能も果たす。   Therefore, the CPU 101 functions as the parent setting unit 413 in cooperation with the external memory 106 and the like. The parent setting unit 413 also functions to execute various processes described later.

そして、CPU 101は、RAM 103内に用意されたバッファをクリアし(ステップS507)、画像処理部107、音声処理部110を当該バッファに記憶されるマルチメディア情報を再生する処理を並行に開始した後(ステップS508)、ステップS509に進む。   Then, the CPU 101 clears the buffer prepared in the RAM 103 (step S507), and the image processing unit 107 and the audio processing unit 110 start processing for reproducing multimedia information stored in the buffer in parallel. After (step S508), the process proceeds to step S509.

一方、親ノードの通信識別子が記憶されている場合(ステップS501;Yes)、ステップS509に進む。   On the other hand, when the communication identifier of the parent node is stored (step S501; Yes), the process proceeds to step S509.

このバッファは、ストリーミング情報を一時的に記憶するもので、バッファリングを行うことにより、ユーザに提示される動画像や音声が、できるだけ途切れないようにすることができる。バッファ内にある程度の情報が蓄積されてから、動画像等の再生が開始され、その後は、バッファ内に蓄積される情報が、順次ユーザに提供されることになる。また、ストリーミング情報は、バッファ内に一定期間保持され、端末装置221の子ノードからの要求に応じて、適宜子ノードに再配布される。   This buffer temporarily stores streaming information, and by performing buffering, it is possible to prevent the moving image and sound presented to the user from being interrupted as much as possible. After a certain amount of information is accumulated in the buffer, playback of a moving image or the like is started, and thereafter, information accumulated in the buffer is sequentially provided to the user. Further, the streaming information is held in the buffer for a certain period, and is appropriately redistributed to the child nodes in response to a request from the child node of the terminal device 221.

このように、CPU 101、RAM 103、画像処理部107、音声処理部110が共働して提供部406が実現され、提供部406は、バッファ内を監視して、ストリーミング情報をユーザに動画像や音声として提供する機能を果たす。   As described above, the CPU 101, the RAM 103, the image processing unit 107, and the audio processing unit 110 work together to realize the providing unit 406. The providing unit 406 monitors the buffer and sends streaming information to the user as a moving image. And serve as audio.

さて、CPU 101は、バッファに未だ再生されていないストリーミング情報が十分に残っているか否か、すなわち、バッファリングが十分にされているか否かを調べる(ステップS509)。バッファリングが十分である場合(ステップS509;Yes)、ステップS511に進む。   The CPU 101 checks whether or not the streaming information that has not been reproduced yet remains in the buffer, that is, whether or not the buffering is sufficient (step S509). If buffering is sufficient (step S509; Yes), the process proceeds to step S511.

バッファリングが十分でない場合(ステップS509;No)、要求送信部404は、現在設定されている親ノードへ、ストリーミング情報を求める要求を送信する(ステップS510)。   If the buffering is not sufficient (step S509; No), the request transmission unit 404 transmits a request for streaming information to the currently set parent node (step S510).

そして、端末装置221は、何らかのパケットがNIC 109において受信されるか、何らかのエラーが発生するか、バッファリングの状態が変化するまで待機する(ステップS511)。なお、この待機の間には、適宜他の処理、たとえば、RAM 103内のバッファに記憶された動画像や音声の再生に必要な情報のデコード処理や、音声処理部110、画像処理部107の制御等をコルーチン的に実行することができる。   Then, the terminal device 221 waits until some packet is received by the NIC 109, some error occurs, or the buffering state changes (step S511). During this standby, other processing is performed as appropriate, for example, decoding processing of information necessary for reproduction of moving images and audio stored in the buffer in the RAM 103, and processing of the audio processing unit 110 and the image processing unit 107. Control and the like can be executed in a coroutine manner.

したがって、CPU 101の制御の下、NIC 109は、要求送信部404として機能する。   Accordingly, the NIC 109 functions as the request transmission unit 404 under the control of the CPU 101.

ステップS511の待機が終了すると、CPU 101はその原因を調べる(ステップS512)。原因としては、以下のようなものが考えられる。   When the standby in step S511 ends, the CPU 101 checks the cause (step S512). Possible causes are as follows.

(1)端末装置221が親ノードへ送信した要求に呼応して、親ノードから送信された紹介が受信された場合(ステップS512;紹介)。この場合、NIC 109は、紹介受信部417として機能したことになる。    (1) When the introduction transmitted from the parent node is received in response to the request transmitted from the terminal device 221 to the parent node (step S512; introduction). In this case, the NIC 109 functions as the introduction receiving unit 417.

(2)端末装置221が送信した要求に呼応して、親ノードから送信された応答が受信された場合(ステップS512;応答)。この場合、NIC 109は、応答受信部405として機能したことになる。    (2) When a response transmitted from the parent node is received in response to the request transmitted by the terminal device 221 (step S512; response). In this case, the NIC 109 functions as the response reception unit 405.

(3)親ノードから送信された通知が受信された場合(ステップS512;通知)。この場合、NIC 109は、通知受信部412として機能したことになる。    (3) When a notification transmitted from the parent node is received (step S512; notification). In this case, the NIC 109 functions as the notification receiving unit 412.

(4)他の端末装置221から送信された要求が受信された場合(ステップS512;要求)。この場合、NIC 109は、要求受信部407として機能したことになる。    (4) When a request transmitted from another terminal device 221 is received (step S512; request). In this case, the NIC 109 functions as the request reception unit 407.

(5)エラーが生じた場合(ステップS512;エラー)。エラーが生じるのは、何らかのパケットを送信し、アクノリッジが返送されてくるのが期待されるにもかかわらず、当該送信に対するアクノリッジが受信されなかった場合や、アクノリッジを返送しないプロトコルを採用した場合であっても、相手からのパケットが長時間に渡って到達しない場合、等であり、送信先の通信機器が動作を停止している場合や、NIC 109が接続されているルータ、ファイアウォールやインターネット接続プロバイダに何らかの支障が生じた場合等が考えられる。また、通信相手からエラーが通知された場合も含まれる。    (5) When an error has occurred (step S512; error). An error occurs when a packet is sent and an acknowledgment is expected to be returned, but no acknowledgment is received for that transmission, or a protocol that does not return an acknowledge is used. Even if the packet from the other party does not reach for a long time, etc., such as when the destination communication device has stopped operating, the router to which the NIC 109 is connected, a firewall or Internet connection The case where some trouble occurs in the provider is considered. Moreover, the case where an error is notified from the communication partner is also included.

(6)バッファ内の情報が消費されて、その状態が変化した場合(ステップS512;バッファ)。    (6) When information in the buffer is consumed and its state changes (step S512; buffer).

なお、上記以外の種類のパケットが受信された場合には、適宜対応する処理が実行される(図示せず)。   When a packet of a type other than the above is received, a corresponding process is executed as appropriate (not shown).

さて、他の端末装置221に対して要求を送信したにもかかわらず紹介が受信された場合(ステップS512;紹介)とは、当該他の端末装置221との親子関係を作ることができない場合である。このとき、紹介には、親ノードとすべき別の端末装置221の通信識別子が指定されている。そこで、親設定部413は、紹介に指定されている通信識別子を設定記憶部401に親ノードとして記憶させることにより、親ノードを再設定して(ステップS513)、ステップS511に戻る。   The case where an introduction is received despite the transmission of a request to another terminal device 221 (step S512; introduction) is a case where a parent-child relationship with the other terminal device 221 cannot be created. is there. At this time, the communication identifier of another terminal device 221 to be the parent node is designated in the introduction. Therefore, the parent setting unit 413 resets the parent node by storing the communication identifier designated for introduction as the parent node in the setting storage unit 401 (step S513), and returns to step S511.

一方、親ノードから応答が受信された場合(ステップS512;応答)、当該応答に指定されるストリーミング情報をバッファに追加して(ステップS514)、ステップS509に戻る。このストリーミング情報は、提供部406によってユーザに提供されることとなる。   On the other hand, when a response is received from the parent node (step S512; response), the streaming information specified in the response is added to the buffer (step S514), and the process returns to step S509. This streaming information is provided to the user by the providing unit 406.

一方、バッファの状態が変化した場合(ステップS512;バッファ)、ステップS511に直ちに戻る。   On the other hand, if the buffer status has changed (step S512; buffer), the process immediately returns to step S511.

親ノードから通知が受信された場合(ステップS512;通知)は、当該通知には「将来親ノードとの通信ができなくなった場合に、新たに親ノードに設定すべき通信機器」の通信識別子が指定されている。そこで、CPU 101は、通知に指定された通信識別子を、設定記憶部401に代替ノードとして記憶させて(ステップS515)、ステップS511に戻る。なお、通知に指定される情報を決定する手法については、後述する。   When a notification is received from the parent node (step S512; notification), the notification includes a communication identifier of “a communication device to be newly set as a parent node when communication with the parent node becomes impossible in the future”. It is specified. Therefore, the CPU 101 stores the communication identifier designated in the notification in the setting storage unit 401 as an alternative node (step S515), and returns to step S511. A method for determining the information specified in the notification will be described later.

このほか、エラーが生じた場合(ステップS512;エラー)、その原因が親ノードとの通信のみにあるのか、ある子ノードとの通信のみにあるのか、その他通信ができなくなった理由があるのかを調べる(ステップS516)。   In addition, if an error occurs (step S512; error), whether the cause is only communication with the parent node, communication with a certain child node, or other reasons why communication is not possible. It investigates (step S516).

親ノードとの通信が原因である場合(ステップS516;親)、親設定部413は、設定記憶部401に代替ノードの情報が記憶されているか否かを調べ(ステップS517)、記憶されていれば(ステップS517;Yes)、設定記憶部401において、代替ノードの通信識別子を親ノードとして記憶させ(ステップS518)、代替ノードの情報を消去して(ステップS519)、ステップS509に戻る。   When communication with the parent node is the cause (step S516; parent), the parent setting unit 413 checks whether or not the information on the alternative node is stored in the setting storage unit 401 (step S517) and stores it. If this is the case (step S517; Yes), the setting storage unit 401 stores the communication identifier of the alternative node as the parent node (step S518), deletes the information of the alternative node (step S519), and returns to step S509.

上記の構成では、親ノードとの通信ができなくなった場合には、かつて親ノードに紹介された代替ノードが端末装置221の新たな親ノードとなり、木構造の形状が更新される。そして、新たな親ノードに対して、ストリーミング情報の要求を送信して応答を待つ処理が、繰り返されることとなる。   In the above configuration, when communication with the parent node becomes impossible, the alternative node once introduced to the parent node becomes a new parent node of the terminal device 221 and the shape of the tree structure is updated. Then, the process of transmitting a request for streaming information to the new parent node and waiting for a response is repeated.

一方、親ノードとの通信が原因で(ステップS516;親)、かつ、代替ノードの情報が記憶されていない場合(ステップS517;No)、ステップS502に戻る。これにより、端末装置221は、指示サーバ装置241から新たな親ノードの指示を受けることとなる。   On the other hand, if communication with the parent node is the cause (step S516; parent) and the information on the alternative node is not stored (step S517; No), the process returns to step S502. As a result, the terminal device 221 receives a new parent node instruction from the instruction server device 241.

この場合にも、木構造の形状が更新されるが、後述のように、代替ノードとして紹介される他の端末装置221として適切なものを選ぶことによって、指示サーバ装置241への問合せの集中をできるだけ防止することができる点にも、本発明の特徴がある。   In this case as well, the shape of the tree structure is updated. As will be described later, by selecting an appropriate terminal device 221 to be introduced as an alternative node, the inquiry server 241 can be concentrated. Another feature of the present invention is that it can be prevented as much as possible.

以下では、端末装置221が応答、紹介、通知を送信する状況について詳細に説明する。   Hereinafter, a situation in which the terminal device 221 transmits a response, introduction, and notification will be described in detail.

まず、NIC 109が、他の端末装置221からの要求を受信した場合(ステップS512;要求)、CPU 101は、当該要求の送信元の端末装置221が、設定記憶部401に子ノードとして記憶されているか否かを調べる(ステップS520)。   First, when the NIC 109 receives a request from another terminal device 221 (step S512; request), the CPU 101 stores the terminal device 221 that has transmitted the request as a child node in the setting storage unit 401. It is checked whether or not (step S520).

子ノードとして記憶されている場合(ステップS520;Yes)、応答送信部409が、当該要求に呼応して、必要なストリーミング情報をRAM 103内のバッファから取得して(ステップS521)、当該ストリーミング情報を指定する応答を、当該子ノードに送信し(ステップS522)、ステップS509に戻る。   When stored as a child node (step S520; Yes), the response transmission unit 409 acquires necessary streaming information from the buffer in the RAM 103 in response to the request (step S521), and the streaming information Is transmitted to the child node (step S522), and the process returns to step S509.

したがって、CPU 101の制御の下、RAM 103やNIC 109が共働して、応答送信部409として機能する。   Accordingly, under the control of the CPU 101, the RAM 103 and the NIC 109 work together to function as the response transmission unit 409.

なお、リアルタイム中継等の場合には、ステップS521において、必要なストリーミング情報がバッファ内に存在しない状況は稀にしか生じないが、その他のマルチメディア情報の配信等の場合には、その端末装置221と子ノードの端末装置221との間で提供される情報の時間差が大きくなってしまった場合等には、ストリーミング情報がバッファ内に存在しないこともありうる。   In the case of real-time relay or the like, a situation in which the necessary streaming information does not exist in the buffer rarely occurs in step S521. However, in the case of other multimedia information distribution or the like, the terminal device 221 is used. If the time difference between the information provided between the terminal device 221 and the child node terminal device 221 becomes large, the streaming information may not exist in the buffer.

このような場合は、子ノードに応答を返さないこととしても良いし、子ノードに「親ノードとの通信をこれ以上続けてもストリーミング情報は得られない」旨を表すエラーを返して、親ノードの再設定を子ノードに促すこととしても良い(図示せず)。これらの場合、子ノードは、親ノードの通信が原因でエラーが生じた場合(ステップS516;親)と同様の処理を実行することとなる。   In such a case, a response may not be returned to the child node, and an error indicating that “streaming information cannot be obtained even if communication with the parent node is continued” is returned to the child node. The child node may be prompted to reset the node (not shown). In these cases, the child node performs the same processing as when an error occurs due to communication of the parent node (step S516; parent).

受信された要求(ステップS512;要求)の送信元の端末装置221が設定記憶部401に子ノードとして記憶されていない場合(ステップS520;No)、判定部415は、当該送信元の端末装置221を子ノードとして追加するか否かを判定する(ステップS523)。   When the terminal device 221 of the received request (step S512; request) is not stored as a child node in the setting storage unit 401 (step S520; No), the determination unit 415 determines that the terminal device 221 of the transmission source Is determined as a child node (step S523).

すなわち、すでに設定記憶部401に記憶されている子ノードの数や、当該端末装置221のNIC 109における通信量、何らかのイベントが生じることを待機している時間と何らかの計算処理を現実に行っている時間の比などを考慮して、現在の通信負荷を推定し、この通信負荷に基づいて、判定を行う。   In other words, the number of child nodes already stored in the setting storage unit 401, the amount of communication in the NIC 109 of the terminal device 221 and the time waiting for some event to occur and some calculation processing are actually performed. The current communication load is estimated in consideration of the time ratio and the like, and the determination is performed based on this communication load.

なお、子ノードの数が0個である場合、すなわち、当該端末装置221が葉ノードである場合には、常に、要求の送信元の端末装置221を子ノードとして追加する、と判定するのが典型的である。   When the number of child nodes is 0, that is, when the terminal device 221 is a leaf node, it is always determined that the terminal device 221 that has transmitted the request is added as a child node. Typical.

なお、設定可能な子ノードの数に上限を設け、その上限までは子ノードとして追加する、と判定し、上限に至った後は追加しない、と判定する単純な手法を採用しても良い。   Note that a simple method may be adopted in which an upper limit is set for the number of child nodes that can be set, and it is determined that a child node is added up to the upper limit, and is not added after reaching the upper limit.

したがって、CPU 101がNIC 109や外部メモリ106、RAM 103等の状況を参照して、判定部415として機能する。   Therefore, the CPU 101 functions as the determination unit 415 with reference to the status of the NIC 109, the external memory 106, the RAM 103, and the like.

要求の送信元の端末装置221を子ノードとして追加しない、と判定された場合(ステップS523;No)、CPU 101は、設定記憶部401に記憶されている子ノードからいずれかを選択する(ステップS524)。たとえば、ランダムに選択したり、自身の子ノードになった順に、巡回的に選択したり、各子ノードとの通信状況を確認して、現在の通信状況が最も良好なものを選択する等、種々の態様を採用することができる。   When it is determined that the terminal device 221 that has transmitted the request is not added as a child node (step S523; No), the CPU 101 selects one of the child nodes stored in the setting storage unit 401 (step S523). S524). For example, select at random, select in a cyclic order in which it became its own child node, check the communication status with each child node, select the one with the best current communication status, etc. Various aspects can be employed.

そして、通知送信部411は、選択された子ノードを指定する通知を、要求の送信元の端末装置221に送信して(ステップS525)、ステップS509に戻る。   Then, the notification transmission unit 411 transmits a notification designating the selected child node to the terminal device 221 that has transmitted the request (step S525), and returns to step S509.

これにより、要求の送信元の端末装置221は、木構造を一段下ったノードを親ノードにしようと試みることになる。   As a result, the terminal device 221 that has transmitted the request attempts to use a node that is one step down the tree structure as a parent node.

一方、子ノードとして追加すると判定された場合(ステップS523;Yes)、子設定部408は、受信された要求の送信元の端末装置221の通信識別子を、設定記憶部401において子ノードとして追加する(ステップS526)。   On the other hand, when it is determined to be added as a child node (step S523; Yes), the child setting unit 408 adds the communication identifier of the terminal device 221 that has transmitted the received request as a child node in the setting storage unit 401. (Step S526).

したがって、CPU 101は、RAM 103や外部メモリ106、HD 121等と共働して、子設定部408として機能する。なお、子設定部408は、後述するように、通信できなくなった子ノードの通信識別子を、設定記憶部401から削除して、子ノードの設定を解除する機能も有する。   Therefore, the CPU 101 functions as a child setting unit 408 in cooperation with the RAM 103, the external memory 106, the HD 121, and the like. As will be described later, the child setting unit 408 also has a function of deleting the communication identifier of the child node that has become unable to communicate from the setting storage unit 401 and canceling the setting of the child node.

そして、応答送信部409が、当該要求に呼応して、必要なストリーミング情報をRAM 103内のバッファから取得して(ステップS527)、当該ストリーミング情報を指定する応答を、当該追加された子ノードに送信する(ステップS528)、   In response to the request, the response transmission unit 409 obtains necessary streaming information from the buffer in the RAM 103 (step S527), and sends a response specifying the streaming information to the added child node. Transmit (step S528),

上記の処理によって、子ノードの設定が変更されたこととなるので、選択部410は、現在の子ノードから、いずれかを代表ノードに選択し、他を配下ノードに選択する(ステップS529)。   Since the child node setting has been changed by the above processing, the selection unit 410 selects one of the current child nodes as a representative node and the other as a subordinate node (step S529).

代表ノードの選択には、ランダムに選択する手法、現在の通信状況が最も良好なものを選択する手法のほか、直前に代表ノードとして選択されたものをそのまま再度選択する手法などを採用することができ、CPU 101が、RAM 103や外部メモリ106等と共働して、選択部410として機能する。   For the selection of the representative node, in addition to the method of selecting at random, the method of selecting the best current communication status, the method of selecting again the one selected as the representative node immediately before can be adopted. The CPU 101 functions as the selection unit 410 in cooperation with the RAM 103, the external memory 106, and the like.

このように、要求送信部404および応答受信部405は、端末装置221が「子ノード」として機能するために動作するが、要求受信部407、子設定部408、応答送信部409は、端末装置221が「親ノード」として機能するために動作する。   In this way, the request transmission unit 404 and the response reception unit 405 operate in order for the terminal device 221 to function as a “child node”, but the request reception unit 407, the child setting unit 408, and the response transmission unit 409 221 operates to function as a “parent node”.

そして、通知送信部411は、当該端末装置221の親ノードを指定する通知を、代表ノードに送信し(ステップS530)、選択された代表ノードを指定する通知を、配下ノードに送信して(ステップS531)、ステップS509に戻る。   Then, the notification transmission unit 411 transmits a notification designating the parent node of the terminal device 221 to the representative node (Step S530), and transmits a notification designating the selected representative node to the subordinate node (Step S530). S531), the process returns to step S509.

なお、TCP/IP通信など、コネクション型通信で情報のやりとりを行っている場合には、各種の情報を送信すると、当該情報が到着した旨を表すアクノリッジが返答して送信されてくる。したがって、このような返答がない場合には、子ノードとの通信が原因でエラーが生じることがある。   When information is exchanged by connection-type communication such as TCP / IP communication, when various types of information are transmitted, an acknowledgment indicating that the information has arrived is returned and transmitted. Therefore, if there is no such response, an error may occur due to communication with the child node.

また、UDP通信などコネクションレス型通信で情報のやりとりを行っている場合には、アクノリッジの返答はない。   Further, when information is exchanged by connectionless communication such as UDP communication, there is no acknowledgment response.

そこで、問合せ、指示、要求、通知はコネクション型で、応答は、一旦はコネクション型で予告をし、その後にコネクションレス型でストリーミング情報をやりとりすることとするのが典型的である。   Therefore, inquiries, instructions, requests, and notifications are typically connection-type, and responses are typically sent once in connection-type, and then streaming information is exchanged in a connection-less type.

このような通信の結果、子ノードが原因でエラーが生じた場合(ステップS516;子)、子設定部408は、エラーの原因となった子ノードの通信識別子を、設定記憶部401から削除することによって親子関係を解除して(ステップS532)、ステップS509に戻る。   As a result of such communication, when an error occurs due to a child node (step S516; child), the child setting unit 408 deletes the communication identifier of the child node that caused the error from the setting storage unit 401. This cancels the parent-child relationship (step S532) and returns to step S509.

一方、端末装置221そのものがインターネット291から切り離されたためにエラーが発生した場合等(ステップS516;通信断)は、子設定部408は、子ノードの通信識別子をすべて設定記憶部401から削除して、全親子関係を解除する(ステップS533)。   On the other hand, when an error occurs because the terminal device 221 itself is disconnected from the Internet 291 (step S516; communication disconnection), the child setting unit 408 deletes all the communication identifiers of the child nodes from the setting storage unit 401. All parent-child relationships are canceled (step S533).

さらに、ステップS533の前に子ノードが1つ以上存在し、代表ノードが選択済みでる場合(ステップS534;Yes)には、代表ノードを親ノードに設定してから(ステップS535)、ステップS502に戻る。   Furthermore, when one or more child nodes exist before step S533 and the representative node has been selected (step S534; Yes), the representative node is set as the parent node (step S535), and the process proceeds to step S502. Return.

以下、たとえば図2の状況を例として考える。ノードAに注目すると、ノードAの子は、ノードP、Q、Xであり、ノードAの親は、ノードGである。   Hereinafter, for example, consider the situation of FIG. When attention is paid to node A, the children of node A are nodes P, Q, and X, and the parent of node A is node G.

ここで、選択部410がノードPを代表ノードに選択したとすると、ノードPにはGが、ノードQ、XにはPが、それぞれ代替ノードとして通知される。   Here, if the selection unit 410 selects the node P as a representative node, G is notified to the node P, and P is notified to the nodes Q and X as alternative nodes.

図8は、この状況下で、ノードAに不具合が生じて通信ができなくなったり、ノードAの電源が切られた後の木構造の状態を示す説明図である。   FIG. 8 is an explanatory diagram showing a state of the tree structure after a failure occurs in the node A and communication becomes impossible or the power of the node A is turned off under this situation.

本図に示すように、ノードP、Q、Xは、その親であるAとの通信が不可能となるので、代替ノードを親ノードとするように設定が更新される。   As shown in this figure, since the nodes P, Q, and X cannot communicate with their parent A, the settings are updated so that the alternative node is the parent node.

したがって、ノードAにかわって、ノードPの親が、ノードGとなり、ノードPの子は、ノードQ、Xとなる。   Therefore, instead of the node A, the parent of the node P is the node G, and the children of the node P are the nodes Q and X.

図9は、この状況下で、ノードAの不具合が解消したり、電源が再投入された後の、木構造の状態を示す説明図である。   FIG. 9 is an explanatory diagram showing a state of the tree structure after the trouble of the node A is solved or the power is turned on again under this situation.

ノードAは、通信ができなくなると、代表ノードを親ノードとして設定記憶部401に記憶する。したがって、ノードAの親ノードはノードPになる。   When the node A becomes unable to communicate, the node A stores the representative node in the setting storage unit 401 as a parent node. Therefore, the parent node of node A becomes node P.

このため、他のノードとの通信ができなくなった後に、通信が復旧すると、ノードAは、ノードPの子になろうとする。   For this reason, when communication is restored after communication with another node becomes impossible, node A tries to become a child of node P.

ノードGの子の数を考えると、図2の状態でノードAがいた位置に、図8、図9の状態ではノードPが配置されることとなり、子ノードの数は増加しない。したがって、ノードGの通信負荷は、ほぼ同じとなると期待され、通信品質が大幅に変化することを防止できるのである。   Considering the number of children of the node G, the node P is arranged in the state of FIGS. 8 and 9 at the position where the node A was in the state of FIG. 2, and the number of child nodes does not increase. Therefore, the communication load of the node G is expected to be almost the same, and the communication quality can be prevented from changing greatly.

また、この状況下では、ノードAよりも通信状況が安定していると考えられるノードPは、木構造の中で、一段根ノードに近付いたことになる。したがって、木構造に安定して参加している時間が長い端末装置221ほど、上流に配置されるように、自然に木構造が変化される。   In this situation, the node P, which is considered to have a more stable communication situation than the node A, is close to the first root node in the tree structure. Therefore, the tree structure is naturally changed so that the terminal device 221 that has been participating stably in the tree structure has a longer time and is arranged upstream.

このように、本実施形態によれば、端末装置221が自律的に親ノードを決定し、通知された代替ノードに基づいて、親ノードに支障が起きた場合であっても、木構造全体に影響が及ばないように、効率良くストリーミング情報を配信することができるようになる。   As described above, according to the present embodiment, the terminal device 221 autonomously determines a parent node, and even if a failure occurs in the parent node based on the notified alternative node, the entire tree structure is obtained. Streaming information can be distributed efficiently so as not to be affected.

(指示サーバ装置)
図10は、指示サーバ装置241の概要構成を示す説明図である。以下、本図を参照して説明する。
(Instruction server device)
FIG. 10 is an explanatory diagram showing a schematic configuration of the instruction server device 241. Hereinafter, a description will be given with reference to FIG.

指示サーバ装置241は、提供サーバ装置261と、現在木構造に参加している端末装置221と、を管理するサーバ装置であり、ゲームサーバにおけるロビーサーバやマッチングサーバ、アクセスの集中を防ぎ負荷分散を図るためのゲートウェイサーバのような機能を果たす。   The instruction server device 241 is a server device that manages the providing server device 261 and the terminal device 221 that is currently participating in the tree structure. The lobby server and the matching server in the game server prevent access concentration and distribute the load. It functions like a gateway server for planning.

ここで、指示サーバ装置241は、端末記憶部901、サーバ記憶部902、問合せ受信部903、識別子抽出部905、指示送信部906、端末更新部907を備える。   The instruction server device 241 includes a terminal storage unit 901, a server storage unit 902, an inquiry reception unit 903, an identifier extraction unit 905, an instruction transmission unit 906, and a terminal update unit 907.

図11は、指示サーバ装置241にて実行される指示処理の制御の流れを示すフローチャートである。以下、本図を参照して説明する。   FIG. 11 is a flowchart showing a flow of control of instruction processing executed by the instruction server device 241. Hereinafter, a description will be given with reference to FIG.

指示サーバ装置241において、問合せ受信部903は、新たに木構造に参加しようとする端末装置221から送信された問合せを受信する(ステップS951)。したがって、問合せ受信部903は、NIC 109により実現される。指示サーバ装置241を実現する情報処理装置100は、問合せが受信されるまで待機するが、この待機の間、情報処理装置100が有するCPU 101は、適宜他の処理をコルーチン的に実行するのが一般的である。   In the instruction server device 241, the inquiry reception unit 903 receives an inquiry transmitted from the terminal device 221 that is newly participating in the tree structure (step S951). Therefore, the inquiry reception unit 903 is realized by the NIC 109. The information processing apparatus 100 that implements the instruction server apparatus 241 waits until an inquiry is received. During this standby, the CPU 101 included in the information processing apparatus 100 appropriately executes other processes in a coroutine manner. It is common.

さて、問合せを受信すると、識別子抽出部905は、端末記憶部901を調べて、所定の条件に適合する通信識別子を抽出する(ステップS952)。   Now, when receiving an inquiry, the identifier extraction unit 905 checks the terminal storage unit 901 and extracts a communication identifier that meets a predetermined condition (step S952).

ここで、端末記憶部901には、問合せを送信してきた端末装置221の通信識別子と、当該問合せが受信された時刻と、の対が記憶されている。したがって、端末記憶部901はRAM 103やHD 121等によって、識別子抽出部905は、CPU 101等によって、それぞれ実現される。   Here, the terminal storage unit 901 stores a pair of the communication identifier of the terminal device 221 that has transmitted the inquiry and the time when the inquiry is received. Accordingly, the terminal storage unit 901 is realized by the RAM 103, the HD 121, and the like, and the identifier extraction unit 905 is realized by the CPU 101 and the like.

そこで、識別子抽出部905は、現在から所定の期間内だけ過去に遡った時点から、現在までの間に、問合せを送信してきた他の端末装置221、すなわち、最近問合せを行った他の端末装置221を所定の条件に適合するものとして、その通信識別子を抽出する。   Therefore, the identifier extraction unit 905 transmits another terminal device 221 that has transmitted the inquiry from the time point that has been traced back in the past within a predetermined period from the present time, that is, the other terminal device that has recently made the inquiry. The communication identifier is extracted assuming that 221 meets a predetermined condition.

抽出された通信識別子が1つである場合(ステップS953;1)、指示送信部906は、当該抽出された通信識別子を指定した指示を、その通信識別子の問合せの送信元に送信して(ステップS954)、ステップS959に進む。したがって、指示送信部906は、NIC 109により実現される。   If there is one extracted communication identifier (step S953; 1), the instruction transmission unit 906 transmits an instruction specifying the extracted communication identifier to the transmission source of the inquiry about the communication identifier (step S953; 1). S95), the process proceeds to step S959. Therefore, the instruction transmission unit 906 is realized by the NIC 109.

一方、抽出された通信識別子が複数である場合(ステップS953;複数)、CPU 101は、その中からいずれかを選択して(ステップS955)、指示送信部906は、選択された通信識別子を指定した指示を、その通信識別子の問合せの送信元に送信して(ステップS956)、ステップS959に進む。   On the other hand, when there are a plurality of extracted communication identifiers (step S953; plural), the CPU 101 selects one of them (step S955), and the instruction transmission unit 906 designates the selected communication identifier. Is transmitted to the transmission source of the inquiry about the communication identifier (step S956), and the process proceeds to step S959.

ステップS955における選択には、ランダムにいずれかを選ぶ手法や、古いものから順に選ぶ手法など、種々の態様を採用することができる。   For the selection in step S955, various modes such as a method of selecting one at random or a method of selecting from the oldest one can be employed.

また、通信識別子が抽出できなかった場合(ステップS953;0)、指示送信部906は、提供サーバ装置261の通信識別子を指定した指示を、その通信識別子の問合せの送信元に送信して(ステップS957)、ステップS959に進む。   When the communication identifier cannot be extracted (step S953; 0), the instruction transmission unit 906 transmits an instruction specifying the communication identifier of the providing server device 261 to the transmission source of the inquiry about the communication identifier (step S953; 0). S957), the process proceeds to step S959.

上記のように、サーバ記憶部902には当該指示サーバ装置241が管理する提供サーバ装置261の通信識別子が記憶され、RAM 103やHD 121等によって実現される。   As described above, the server storage unit 902 stores the communication identifier of the providing server device 261 managed by the instruction server device 241 and is realized by the RAM 103, the HD 121, and the like.

また、サーバ記憶部902に複数の通信識別子が記憶される場合には、巡回的な順序もしくはランダムな順序で通信識別子を選択して、これを指示に指定するものとすれば良い。   In addition, when a plurality of communication identifiers are stored in the server storage unit 902, the communication identifiers may be selected in a cyclic order or a random order and designated as an instruction.

このほか、条件に合う通信識別子が抽出できなかった場合(ステップS953;0)であっても、提供サーバ装置261に直結している端末装置221の数が所定数を超えている場合等は、ランダムにいずれかの端末装置221の通信識別子を選択して、これを指示することとしても良い。   In addition, even when the communication identifier that meets the conditions cannot be extracted (step S953; 0), when the number of terminal devices 221 directly connected to the providing server device 261 exceeds a predetermined number, It is also possible to select a communication identifier of one of the terminal devices 221 at random and instruct this.

さて、指示を送信した後は、問合せを受信した時刻と、問合せの送信元の通信識別子とを対応付けて、端末記憶部901に追加記憶して、これを更新し(ステップS959)、ステップS951に戻る。   After the instruction is transmitted, the time when the inquiry is received and the communication identifier of the inquiry transmission source are associated with each other and additionally stored in the terminal storage unit 901 to update it (step S959), and step S951. Return to.

なお、更新の際に、端末記憶部901内から、古い通信識別子、典型的には、問合せを送信してから平均的な視聴時間(あるいは、その定数倍)を経過した通信識別子を消去することとしても良い。   At the time of update, the old communication identifier, typically the communication identifier that has passed the average viewing time (or a multiple of the constant) from the transmission of the inquiry is deleted from the terminal storage unit 901. It is also good.

なお、指示に、複数の通信識別子を指定するような態様を採用することもできる。この場合には、通信識別子を最近のものから過去(昔)のものへ、順に所定個数抽出し、その順序をランダムにシャッフルしてから指示に指定する。   Note that a mode in which a plurality of communication identifiers are designated in the instruction can also be adopted. In this case, a predetermined number of communication identifiers are extracted sequentially from the latest to the past (old), and the order is randomly shuffled and specified in the instruction.

指示を受信した端末装置221では、指示に指定された通信識別子のそれぞれについて親ノードにできるかどうかを試行し、いずれかと通信が可能であればそのまま親ノードとし、すべてに失敗した場合には、再度指示サーバ装置241に問合せを行うこととすれば良い。   The terminal device 221 that has received the instruction tries to determine whether each of the communication identifiers specified in the instruction can be a parent node. If communication with any of the communication identifiers is possible, the terminal device 221 is used as a parent node. The instruction server device 241 may be inquired again.

このほか、指示サーバ装置241の端末更新部907は、問合せに対してどの通信識別子を指示に指定して返送したかの情報も端末記憶部901に記憶することとし、識別子抽出部905は、一定期間内に再度問合せがあった場合には、指示済みの通信識別子と重複しないものを優先的に抽出するようにすることとしても良い。   In addition, the terminal update unit 907 of the instruction server device 241 also stores in the terminal storage unit 901 information on which communication identifier has been designated and returned in response to the inquiry. When an inquiry is made again within the period, it is possible to preferentially extract those that do not overlap with the instructed communication identifier.

さて一般に、ストリーミング配信の場合に、同じコンテンツを同じ時期に視聴し始めたユーザは、同じ時期に視聴を完了する。   Now, in general, in the case of streaming distribution, a user who has started viewing the same content at the same time completes viewing at the same time.

したがって、同じ時期に問合せをしてきた端末装置221が活動する期間は、別の時期に問合せをしてきた端末装置221が活動する期間に比べて、重複する可能性が高い。上記の態様を採用することで、ある一定期間内に問合せをしてきた端末装置221は、木構造の中では比較的近くに配置される可能性が高くなる。   Therefore, there is a high possibility that the period in which the terminal device 221 that has made an inquiry at the same time is active is overlapped as compared to the period in which the terminal device 221 that has made an inquiry at another time is active. By adopting the above aspect, there is a high possibility that the terminal device 221 that has made an inquiry within a certain period of time is arranged relatively close in the tree structure.

また、抽出する際に参照する期間を平均的な利用時間とすれば、これを超過した端末装置221を指示する可能性が低くなるので、通信不可能な端末装置221を指示してしまう可能性が減少する。   Further, if the period to be referred to when extracting is an average usage time, the possibility of instructing a terminal device 221 that exceeds this time becomes low, and therefore, there is a possibility of instructing a terminal device 221 that cannot communicate Decrease.

また、混雑している場合には、他の端末装置221を親ノードとすべき旨の指示がなされ、混雑していない場合には、提供サーバ装置261を親ノードとすべき旨の指示がなされるので、混雑の度合に応じてデータの配信ポリシーが動的に変更される。   Further, when it is congested, an instruction is given to the other terminal device 221 as the parent node, and when it is not congested, an instruction is given to the providing server device 261 as the parent node. Therefore, the data distribution policy is dynamically changed according to the degree of congestion.

さらに、端末装置221が現在も動作しているか否かを指示サーバ装置241から問い合わせる必要がないため、ネットワーク内のトラフィックを抑えることができ、迅速な指示が可能となる。   Furthermore, since it is not necessary to inquire from the instruction server device 241 whether or not the terminal device 221 is still operating, traffic in the network can be suppressed and prompt instructions can be made.

このため、木構造全体での通信効率が向上することが期待されるのである。   For this reason, it is expected that the communication efficiency in the whole tree structure is improved.

(提供サーバ装置)
図12は、提供サーバ装置261の概要構成を示す説明図である。以下、本図を参照して説明する。
(Providing server device)
FIG. 12 is an explanatory diagram showing a schematic configuration of the providing server device 261. Hereinafter, a description will be given with reference to FIG.

提供サーバ装置261は、要求受信部931、情報記憶部932、応答送信部933を備える。   The providing server device 261 includes a request reception unit 931, an information storage unit 932, and a response transmission unit 933.

ここで提供サーバ装置261における要求受信部931および応答送信部933は、端末装置221における要求受信部407および応答送信部409と同様の機能を果たし、提供サーバ装置261における情報記憶部932は、端末装置221におけるバッファと同様の機能を果たす。   Here, the request receiving unit 931 and the response transmitting unit 933 in the providing server device 261 perform the same functions as the request receiving unit 407 and the response transmitting unit 409 in the terminal device 221, and the information storage unit 932 in the providing server device 261 is a terminal. It performs the same function as the buffer in device 221.

図13は、提供サーバ装置261にて実行される提供処理の制御の流れを示すフローチャートである。以下、本図を参照して説明する。   FIG. 13 is a flowchart showing a flow of control of the providing process executed by the providing server device 261. Hereinafter, a description will be given with reference to FIG.

提供サーバ装置261において、要求受信部931は、端末装置221から送信された要求を受信する(ステップS971)。したがって、要求受信部931は、NIC 109により実現される。提供サーバ装置261を実現する情報処理装置100は、要求が受信されるまで待機するが、この待機の間、情報処理装置100が有するCPU 101は、適宜他の処理をコルーチン的に実行するのが一般的である。   In the providing server device 261, the request receiving unit 931 receives the request transmitted from the terminal device 221 (step S971). Therefore, the request receiving unit 931 is realized by the NIC 109. The information processing apparatus 100 that implements the providing server apparatus 261 waits until a request is received. During this standby, the CPU 101 included in the information processing apparatus 100 appropriately executes other processes in a coroutine manner. It is common.

要求が受信されると、当該要求に応じて、CPU 101は、情報記憶部932から必要なストリーミング情報を取得する(ステップS972)。端末装置221のバッファの場合と異なり、提供サーバ装置261は、提供すべきストリーミング情報を、すべて情報記憶部932に保持している。したがって、ストリーミング情報が取得できないことはない。典型的には、情報記憶部932はHD 121等により実現される。   When the request is received, in response to the request, the CPU 101 acquires necessary streaming information from the information storage unit 932 (step S972). Unlike the buffer of the terminal device 221, the providing server device 261 holds all streaming information to be provided in the information storage unit 932. Therefore, there is no case where streaming information cannot be acquired. Typically, the information storage unit 932 is realized by the HD 121 or the like.

さらに、応答送信部933は、取得したストリーミング情報を指定する応答を、要求の送信元の端末装置221に送信して(ステップS973)、ステップS971に戻る。したがって、応答送信部933は、NIC 109により実現される。   Further, the response transmission unit 933 transmits a response designating the acquired streaming information to the terminal device 221 that is the transmission source of the request (step S973), and returns to step S971. Therefore, the response transmission unit 933 is realized by the NIC 109.

このように、提供サーバ装置261は、一般的なストリーミングサーバと同様の構成を採用しており、本実施形態においては、提供サーバ装置261からストリーミング配信がされた後の処理に工夫をこらすことで、通信効率の向上を図ることとしているのである。   As described above, the providing server device 261 adopts the same configuration as that of a general streaming server. In the present embodiment, the provision server device 261 is configured to devise the processing after the streaming delivery from the providing server device 261. Therefore, communication efficiency is improved.

以上説明したように、本発明によれば、木構造のノードとなって通信をする際に通信に失敗すると、木構造の再編を効率良く行うのに好適な端末装置、通信システム、端末方法、ならびに、これらをコンピュータにて実現するプログラムを提供することができる。   As described above, according to the present invention, a terminal device, a communication system, a terminal method, and a terminal device that are suitable for efficiently performing reorganization of a tree structure when communication fails when communicating as a tree-structured node. In addition, it is possible to provide a program that realizes these on a computer.

100 情報処理装置
101 CPU
102 ROM
103 RAM
104 インターフェース
105 コントローラ
106 外部メモリ
107 画像処理部
108 DVD−ROMドライブ
109 NIC
110 音声処理部
111 マイク
121 HD
201 通信システム
221 端末装置
241 指示サーバ装置
261 提供サーバ装置
291 インターネット
401 設定記憶部
402 問合せ送信部
403 指示受信部
404 要求送信部
405 応答受信部
406 提供部
407 要求受信部
408 子設定部
409 応答送信部
410 選択部
411 通知送信部
412 通知受信部
413 親設定部
415 判定部
416 紹介送信部
417 紹介受信部
901 端末記憶部
902 サーバ記憶部
903 問合せ受信部
905 識別子抽出部
906 指示送信部
907 端末更新部
931 要求受信部
932 情報記憶部
933 応答送信部
100 Information processing apparatus 101 CPU
102 ROM
103 RAM
104 Interface 105 Controller 106 External Memory 107 Image Processing Unit 108 DVD-ROM Drive 109 NIC
110 Audio processing unit 111 Microphone 121 HD
201 communication system 221 terminal device 241 instruction server device 261 providing server device 291 Internet 401 setting storage unit 402 inquiry transmission unit 403 instruction reception unit 404 request transmission unit 405 response reception unit 406 provision unit 407 request reception unit 408 child setting unit 409 response transmission Unit 410 selection unit 411 notification transmission unit 412 notification reception unit 413 parent setting unit 415 determination unit 416 introduction transmission unit 417 introduction reception unit 901 terminal storage unit 902 server storage unit 903 inquiry reception unit 905 identifier extraction unit 906 instruction transmission unit 907 terminal update Unit 931 Request reception unit 932 Information storage unit 933 Response transmission unit

Claims (5)

提供サーバ装置を根ノードとし、端末装置を中間ノードならびに葉ノードとする木構造を用いる通信システムであって、当該通信システムは、指示サーバ装置を有し、
(a)前記端末装置は、
前記端末装置の親ノードへ、提供情報を求める要求を送信する要求送信部、
前記端末装置の親ノードから送信された提供情報を指定する応答を受信する応答受信部、
前記受信された応答に指定される提供情報をユーザに視聴させる提供部、
他の端末装置から送信された提供情報を求める要求を受信する要求受信部、
前記要求が前記端末装置の子ノードに設定されていない端末装置から受信されると、前記端末装置に既に設定された子ノードの数もしくは前記端末装置の通信量に基づいて新たな子ノードの設定をするか否かを判定する判定部、
前記判定部により新たな子ノードの設定をすると判定された場合、前記受信された要求の送信元の端末装置を、前記端末装置の子ノードに設定する子設定部、
前記端末装置の子ノードであって、前記受信された要求の送信元の端末装置へ、前記提供情報を指定する応答を送信する応答送信部、
前記判定部により新たな子ノードの設定をしないと判定された場合、前記要求の送信元の端末装置に、前記端末装置の子ノードのいずれかを指定する紹介を送信する紹介送信部、
前記要求の送信先の端末装置から送信された紹介を受信する紹介受信部、
前記端末装置の子ノードのいずれかを代表ノードに選択し、他の子ノードを配下ノードに選択する選択部、
前記選択された代表ノードへ、前記端末装置の親ノードを代替ノードとすべき旨を指定する通知を送信し、前記選択された配下ノードへ、前記選択された代表ノードを代替ノードとすべき旨を指定する通知を送信する通知送信部、
前記端末装置の親ノードから送信された通知を受信する通知受信部、
前記紹介受信部により紹介が受信された場合、当該紹介に指定された端末装置を親ノードに設定し、前記端末装置の親ノードとの通信に失敗すると、前記受信された通知に指定された代替ノードを、新たな親ノードに設定する親設定部
代替ノードであった親ノードとの通信に失敗すると、前記指示サーバ装置に指示を求める問合せを送信する問合せ送信部
を備え、
前記選択部は、前記端末装置の子ノードの設定が変更されると、前記選択を再度行い、
(b)前記指示サーバ装置は、
前記端末装置から送信された問合せを受信する問合せ受信部、
前記問合せが受信されると、前記提供サーバ装置もしくは既に指示を与えた端末装置からいずれかを選択する抽出部、
当該選択された通信装置を指定する指示を前記受信された問合せの送信元の端末装置に送信する指示送信部、
前記指示の送信先の端末装置の識別子が、当該端末装置からの問合せを受信した時刻に対応付けられて、前記提供情報の平均的な視聴時間だけ、記憶される端末記憶部
を備え、
前記抽出部は、前記端末記憶部に識別子が記憶されていれば、当該識別子に対応付けられる時刻が最近のものから過去のものへ所定個数まで抽出して、当該抽出された識別子を有する端末装置を選択し、前記端末記憶部に識別子が記憶されていなければ、前記提供サーバ装置を選択し、
(c)前記端末装置は、
前記指示サーバ装置から送信された指示を受信する指示受信部
をさらに備え、
前記親設定部は、前記指示が受信されると、当該受信された指示において指定された通信装置のうち、通信可能な通信装置を親ノードに設定し、
(d)前記提供サーバ装置は、
前記端末装置から提供情報を求める要求を受信する要求受信部、
前記要求が受信されると、当該受信された要求の送信元の端末装置へ提供情報を指定する応答を送信する応答送信部
を備える
ことを特徴とする通信システム。
A communication system using a tree structure in which a providing server device is a root node and a terminal device is an intermediate node and a leaf node, the communication system includes an instruction server device,
(A) The terminal device
A request transmission unit for transmitting a request for providing information to a parent node of the terminal device;
A response receiver for receiving a response specifying the provision information transmitted from the parent node of the terminal device;
A providing unit that allows a user to view the provided information specified in the received response;
A request receiving unit for receiving a request for provision information transmitted from another terminal device;
When the request is received from a terminal device that is not set as a child node of the terminal device, a new child node is set based on the number of child nodes already set in the terminal device or the communication amount of the terminal device. A determination unit for determining whether or not
A child setting unit that sets a terminal device that is a transmission source of the received request as a child node of the terminal device, when the determination unit determines to set a new child node;
A response transmission unit that is a child node of the terminal device and transmits a response designating the provision information to the terminal device that is the transmission source of the received request;
If the determination unit determines not to set a new child node, an introduction transmission unit that transmits an introduction designating one of the child nodes of the terminal device to the terminal device that is the transmission source of the request;
An introduction receiving unit for receiving an introduction transmitted from the terminal device to which the request is transmitted;
A selection unit that selects any of the child nodes of the terminal device as a representative node and selects other child nodes as subordinate nodes,
A notification specifying that the parent node of the terminal device should be an alternative node is sent to the selected representative node, and the selected representative node should be an alternative node to the selected subordinate node A notification sending unit that sends a notification specifying
A notification receiving unit for receiving a notification transmitted from a parent node of the terminal device;
When the introduction is received by the introduction receiving unit, the terminal device designated in the introduction is set as a parent node, and when communication with the parent node of the terminal device fails, the alternative designated in the received notification A parent setting section for setting a node as a new parent node ;
An inquiry transmission unit that transmits an inquiry for an instruction to the instruction server device when communication with a parent node that was an alternative node fails
With
When the setting of the child node of the terminal device is changed, the selection unit performs the selection again,
(B) The instruction server device
An inquiry receiving unit for receiving an inquiry transmitted from the terminal device;
When the inquiry is received, an extraction unit that selects either the providing server device or the terminal device that has already given an instruction,
An instruction transmitting unit that transmits an instruction to specify the selected communication device to the terminal device that is the transmission source of the received inquiry;
A terminal storage unit in which the identifier of the terminal device to which the instruction is transmitted is associated with the time when the inquiry from the terminal device is received, and is stored only for the average viewing time of the provided information
With
If the identifier is stored in the terminal storage unit, the extraction unit extracts a predetermined number of times corresponding to the identifier from the latest to the past, and the terminal device having the extracted identifier If the identifier is not stored in the terminal storage unit, select the providing server device,
(C) The terminal device
An instruction receiving unit that receives an instruction transmitted from the instruction server device
Further comprising
When the instruction is received, the parent setting unit sets a communication device that can communicate among the communication devices specified in the received instruction as a parent node,
(D) The providing server device
A request receiving unit for receiving a request for providing information from the terminal device;
When the request is received, a response transmission unit that transmits a response designating provision information to the terminal device that is the transmission source of the received request
Communication system comprising: a.
請求項1に記載の通信システムであって、
前記抽出部により複数の端末装置が選択された場合、前記指示送信部は、当該選択された端末装置をシャッフルしてから前記指示に指定し、
前記親設定部は、前記指示が受信されると、当該受信された指示に指定された通信装置との通信を順に試み、当該通信が成功した通信装置を親ノードに設定する
ことを特徴とする通信システム。
The communication system according to claim 1 ,
When a plurality of terminal devices are selected by the extraction unit, the instruction transmission unit specifies the instruction after shuffling the selected terminal device,
When the instruction is received, the parent setting unit sequentially attempts communication with the communication device specified in the received instruction, and sets the communication device that has succeeded in communication as a parent node. Communications system.
請求項1または2に記載の通信システムであって、
前記端末装置において、前記端末装置の子ノードとの通信に失敗すると、前記子設定部は、当該通信が失敗した子ノードの設定を解除する
ことを特徴とする通信システム。
The communication system according to claim 1 or 2 ,
In the terminal device, when the communication with the child node of the terminal device fails, the child setting unit cancels the setting of the child node in which the communication has failed .
請求項1から3のいずれか1項に記載の通信システムであって、
前記端末装置同士の通信はコンピュータ通信網を介して行われ、
前記コンピュータ通信網との間の通信が不可能となった後に再度確立された場合、前記子設定部は、既に設定された子ノードの設定をすべて解除し、前記親設定部は、前記選択された代表ノードを新たな親ノードに設定する
ことを特徴とする通信システム。
The communication system according to any one of claims 1 to 3 ,
Communication between the terminal devices is performed via a computer communication network,
When re-established after communication with the computer communication network is disabled, the child setting unit cancels all of the child node settings that have already been set, and the parent setting unit selects the selected A communication system characterized by setting a representative node as a new parent node .
提供サーバ装置を根ノードとし、端末装置を中間ノードならびに葉ノードとする木構造を用いる通信システムが実行する通信方法であって、当該通信システムは、指示サーバ装置を有し、
前記端末装置は、要求送信部、応答受信部、提供部、要求受信部、判定部、子設定部、応答送信部、紹介送信部、紹介受信部、選択部、通知送信部、通知受信部、親設定部、問合せ送信部、指示受信部を備え、
前記指示サーバ装置は、問合せ受信部、抽出部、指示送信部、端末記憶部を備え、
前記提供サーバ装置は、要求受信部、応答送信部を備え、
(a)前記端末装置において、
前記要求送信部が、前記端末装置の親ノードへ、提供情報を求める要求を送信する要求送信工程、
前記応答受信部が、前記端末装置の親ノードから送信された提供情報を指定する応答を受信する応答受信工程、
前記提供部が、前記受信された応答に指定される提供情報をユーザに視聴させる提供工程、
前記要求受信部が、他の端末装置から送信された提供情報を求める要求を受信する要求受信工程、
前記要求が前記端末装置の子ノードに設定されていない端末装置から受信されると、前記判定部が、前記端末装置に既に設定された子ノードの数もしくは前記端末装置の通信量に基づいて新たな子ノードの設定をするか否かを判定する判定工程、
前記判定工程にて、新たな子ノードの設定をすると判定された場合、前記子設定部が、前記受信された要求の送信元の端末装置を、前記端末装置の子ノードに設定する子設定工程、
前記応答送信部が、前記端末装置の子ノードであって、前記受信された要求の送信元の端末装置へ、前記提供情報を指定する応答を送信する応答送信工程、
前記判定部により新たな子ノードの設定をしないと判定された場合、前記紹介送信部が、前記要求の送信元の端末装置に、前記端末装置の子ノードのいずれかを指定する紹介を送信する紹介送信工程、
前記紹介受信部が、前記要求の送信先の端末装置から送信された紹介を受信する紹介受信工程、
前記選択部が、前記端末装置の子ノードからいずれかを代表ノードに選択し、他の子ノードを配下ノードに選択する選択工程、
前記通知送信部が、前記選択された代表ノードへ、前記端末装置の親ノードを代替ノードとすべき旨を指定する通知を送信し、前記選択された配下ノードへ、前記選択された代表ノードを代替ノードとすべき旨を指定する通知を送信する通知送信工程、
前記通知受信部が、前記端末装置の親ノードから送信された通知を受信する通知受信工程、
前記紹介受信部により紹介が受信された場合、前記親設定部が、当該紹介に指定された端末装置を親ノードに設定し、前記端末装置の親ノードとの通信に失敗すると、前記親設定部が、前記受信された通知に指定された代替ノードを、新たな親ノードに設定する親設定工程
代替ノードであった親ノードとの通信に失敗すると、前記指示サーバ装置に指示を求める問合せを送信する問合せ送信部
を備え、
前記選択部は、前記端末装置の子ノードの設定が変更されると、前記選択を再度行い、
(b)前記指示サーバ装置において、
前記問合せ受信部が、前記端末装置から送信された問合せを受信する問合せ受信工程、
前記問合せが受信されると、前記抽出部が、前記提供サーバ装置もしくは既に指示を与えた端末装置からいずれかを選択する抽出工程、
前記指示送信部が、当該選択された通信装置を指定する指示を前記受信された問合せの送信元の端末装置に送信する指示送信工程、
前記端末記憶部に、前記指示の送信先の端末装置の識別子を、当該端末装置からの問合せを受信した時刻に対応付けて、前記提供情報の平均的な視聴時間だけ、記憶させる端末記憶工程
を備え、
前記抽出工程では、前記端末記憶部に識別子が記憶されていれば、当該識別子に対応付けられる時刻が最近のものから過去のものへ所定個数まで抽出して、当該抽出された識別子を有する端末装置を選択し、前記端末記憶部に識別子が記憶されていなければ、前記提供サーバ装置を選択し、
(c)前記端末装置において、
前記指示受信部が、前記指示サーバ装置から送信された指示を受信する指示受信工程
をさらに備え、
前記親設定工程では、前記指示が受信されると、当該受信された指示において指定された通信装置のうち、通信可能な通信装置を親ノードに設定し、
(d)前記提供サーバ装置において、
前記要求受信部が、前記端末装置から提供情報を求める要求を受信する要求受信工程、
前記要求が受信されると、前記応答送信部が、当該受信された要求の送信元の端末装置へ提供情報を指定する応答を送信する応答送信工程
を備えることを特徴とする通信方法。
A communication method executed by a communication system using a tree structure with a providing server device as a root node and a terminal device as an intermediate node and a leaf node, the communication system having an instruction server device,
The terminal device includes a request transmission unit, a response reception unit, a provision unit, a request reception unit, a determination unit, a child setting unit, a response transmission unit, an introduction transmission unit, an introduction reception unit, a selection unit, a notification transmission unit, a notification reception unit, It has a parent setting part , inquiry sending part, instruction receiving part,
The instruction server device includes an inquiry reception unit, an extraction unit, an instruction transmission unit, a terminal storage unit,
The providing server device includes a request receiving unit and a response transmitting unit,
(A) In the terminal device,
A request transmission step in which the request transmission unit transmits a request for providing information to a parent node of the terminal device;
A response receiving step in which the response receiving unit receives a response designating provision information transmitted from a parent node of the terminal device;
A providing step in which the providing unit causes a user to view provided information specified in the received response;
A request receiving step in which the request receiving unit receives a request for providing information transmitted from another terminal device;
When the request is received from a terminal device that is not set as a child node of the terminal device, the determination unit newly determines based on the number of child nodes already set in the terminal device or the communication amount of the terminal device. A determination step for determining whether or not to set a child node,
In the determination step, when it is determined to set a new child node, the child setting unit sets the terminal device that is the transmission source of the received request as a child node of the terminal device. ,
A response transmission step in which the response transmission unit is a child node of the terminal device and transmits a response designating the provision information to the terminal device that is the transmission source of the received request;
When the determination unit determines not to set a new child node, the introduction transmission unit transmits an introduction designating one of the child nodes of the terminal device to the terminal device that is the transmission source of the request. Referral transmission process,
An introduction receiving step in which the introduction receiving unit receives an introduction transmitted from a terminal device to which the request is transmitted;
A selection step in which the selection unit selects one of the child nodes of the terminal device as a representative node and selects another child node as a subordinate node;
The notification transmission unit transmits a notification designating that the parent node of the terminal device should be an alternative node to the selected representative node, and sends the selected representative node to the selected subordinate node. A notification transmission step of transmitting a notification designating that it should be an alternative node;
A notification receiving step in which the notification receiving unit receives a notification transmitted from a parent node of the terminal device;
When an introduction is received by the introduction receiving unit, the parent setting unit sets the terminal device designated for the introduction as a parent node, and when communication with the parent node of the terminal device fails, the parent setting unit but parent setting step the specified alternate node, sets a new parent node to the received notification,
An inquiry transmission unit that transmits an inquiry for an instruction to the instruction server device when communication with a parent node that was an alternative node fails
With
When the setting of the child node of the terminal device is changed, the selection unit performs the selection again,
(B) In the instruction server device,
The inquiry reception unit receives an inquiry transmitted from the terminal device,
When the inquiry is received, the extraction unit selects either the providing server device or the terminal device that has already given an instruction,
An instruction transmission step in which the instruction transmission unit transmits an instruction to specify the selected communication device to the terminal device that is the transmission source of the received inquiry;
A terminal storage step of storing, in the terminal storage unit, the identifier of the terminal device to which the instruction is transmitted in association with the time when the inquiry from the terminal device is received, for the average viewing time of the provided information
With
In the extraction step, if an identifier is stored in the terminal storage unit, the time associated with the identifier is extracted from the latest one to the past, and a terminal device having the extracted identifier If the identifier is not stored in the terminal storage unit, select the providing server device,
(C) In the terminal device,
An instruction receiving step in which the instruction receiving unit receives an instruction transmitted from the instruction server device
Further comprising
In the parent setting step, when the instruction is received, among communication devices specified in the received instruction, a communication device capable of communication is set as a parent node,
(D) In the providing server device,
A request receiving step in which the request receiving unit receives a request for providing information from the terminal device;
When the request is received, the response transmission unit includes a response transmission step of transmitting a response designating provision information to a terminal device that is a transmission source of the received request .
JP2009255923A 2009-11-09 2009-11-09 Communication system and communication method Active JP4912451B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009255923A JP4912451B2 (en) 2009-11-09 2009-11-09 Communication system and communication method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009255923A JP4912451B2 (en) 2009-11-09 2009-11-09 Communication system and communication method

Publications (2)

Publication Number Publication Date
JP2011100384A JP2011100384A (en) 2011-05-19
JP4912451B2 true JP4912451B2 (en) 2012-04-11

Family

ID=44191495

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009255923A Active JP4912451B2 (en) 2009-11-09 2009-11-09 Communication system and communication method

Country Status (1)

Country Link
JP (1) JP4912451B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10623244B2 (en) * 2014-12-19 2020-04-14 Emerson Process Management Lllp Data transfer on an industrial process network

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000049779A (en) * 1998-07-31 2000-02-18 Nippon Telegr & Teleph Corp <Ntt> Multicast information distribution method by end node on digital communication network
JP2008219097A (en) * 2007-02-28 2008-09-18 Brother Ind Ltd Content distribution system, connection managing device, terminal device, content distributing method, and program used therefor
JP4893533B2 (en) * 2007-08-24 2012-03-07 コニカミノルタホールディングス株式会社 Network connection management method and information processing apparatus

Also Published As

Publication number Publication date
JP2011100384A (en) 2011-05-19

Similar Documents

Publication Publication Date Title
US10645139B2 (en) Network protocol for switching between plain text and compressed modes
JP5520190B2 (en) Image processing system, image processing method, moving image transmitting apparatus, moving image receiving apparatus, program, and information storage medium
US8462700B2 (en) Terminal device, communication system, terminal method and information memory medium
JP5336338B2 (en) Communication system and communication method
JP2004348647A (en) Human communication system
KR20160146857A (en) Session-based device configuration
WO2012053274A1 (en) Image processing system, image processing method, information storage medium, and program
JP4912451B2 (en) Communication system and communication method
JP3916601B2 (en) COMMUNICATION SYSTEM, SERVER DEVICE, TERMINAL, SERVICE METHOD, TERMINAL METHOD, AND PROGRAM
JP2007207013A (en) Information processor and information sharing program
KR20210064222A (en) Techniques to improve video bitrate while maintaining video quality
JP5307064B2 (en) COMMUNICATION SYSTEM, SERVER DEVICE, GAME DEVICE, COMMUNICATION METHOD, AND PROGRAM
JP3930849B2 (en) Communication system, gateway device, data relay method, and program
JP4637145B2 (en) Network system, node device, data distribution method, and program
JP2012185601A (en) Distribution system, server device, terminal device, service method, terminal method and program
JP6074910B2 (en) Network system, terminal and terminal program
WO2009136905A1 (en) Communications prior to a scheduled event
JP2005130166A (en) Terminal equipment, terminal method, and program
JP5073793B2 (en) GAME TERMINAL, GAME TERMINAL CONTROL METHOD, AND PROGRAM
JP5940231B1 (en) Information processing system, information processing program, and information processing method
JP5817724B2 (en) Content distribution system, content distribution apparatus, content distribution method and program
JP2002318751A (en) Communication system
JP6637837B2 (en) Information processing system, information processing program and information processing method
JP2010062720A (en) Communication terminal, communication system, available band estimating method, and program
Griwodz et al. RELAY—On the Performance and Resource Utilisation of Time-Dependent Large-Scale Distributed Systems

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110914

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20111004

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20111201

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20111202

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

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

R150 Certificate of patent or registration of utility model

Ref document number: 4912451

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20150127

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250