JP2014160901A - Communication system, device, communication method, communication program, and server - Google Patents

Communication system, device, communication method, communication program, and server Download PDF

Info

Publication number
JP2014160901A
JP2014160901A JP2013029788A JP2013029788A JP2014160901A JP 2014160901 A JP2014160901 A JP 2014160901A JP 2013029788 A JP2013029788 A JP 2013029788A JP 2013029788 A JP2013029788 A JP 2013029788A JP 2014160901 A JP2014160901 A JP 2014160901A
Authority
JP
Japan
Prior art keywords
data
identifier
aggregate
entry
received
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2013029788A
Other languages
Japanese (ja)
Other versions
JP5852028B2 (en
Inventor
Makoto Takizawa
允 滝澤
Koji Yada
浩二 矢田
Takashi Utahara
崇 歌原
Satoshi Sakuma
聡 佐久間
Tatsumi Yamada
辰美 山田
Ryuji Yamamoto
隆二 山本
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.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2013029788A priority Critical patent/JP5852028B2/en
Publication of JP2014160901A publication Critical patent/JP2014160901A/en
Application granted granted Critical
Publication of JP5852028B2 publication Critical patent/JP5852028B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

PROBLEM TO BE SOLVED: To enable a server and devices to efficiently collect data.SOLUTION: A server 2 outputs to respective devices, path table data which associates entry identifiers (Entry) from 0 to m-1, identifiers of transfer destination devices generated by adding 2to the identifiers (Entry) of the corresponding devices, and addresses of the transfer destination devices. A device 1 comprises: path table control means 22 which receives the path table data 11 of the device from the server 2, and stores the path table data 11 of the device; and control means 21 which, when the device 1 receives request data from the server 2 or another device, sets the received request data and transmits the request data to another device according to the path table data 11, and also transmits response data to the received request data to the other device or the server 2 having transmitted the request data.

Description

本発明は、サーバと、当該サーバに接続する相互に通信可能な複数の装置とを備える通信システム、装置、通信方法、通信プログラムおよびサーバに関する。   The present invention relates to a communication system, a device, a communication method, a communication program, and a server including a server and a plurality of devices that can communicate with each other and are connected to the server.

近年、大量のデータを収集し、収集したデータを利用したサービスが注目を集めている。インターネットなどの通信ネットワーク上に配置されたウェブサーバなどからのデータ収集が主流である。また将来的には、家庭内やオフィスに設置される家電機器やセンサなどの多種多様な機器が、データ発信源となると考えられる。これらの機器は、数が多い上に、定期的にその情報をサーバ等に送信する。   In recent years, services that collect large amounts of data and use the collected data have attracted attention. Data collection from a web server or the like arranged on a communication network such as the Internet is the mainstream. In the future, a variety of devices such as home appliances and sensors installed in homes and offices will be considered as data transmission sources. These devices are large in number and periodically transmit information to a server or the like.

そこでこれらの機器からデータを収集するサーバ側設備は、膨大な機器からの高頻度なデータをロスなく収集する必要がある。従ってサーバには、大規模なリソースが要求されることが予想される。また、新しい機器が出現する度に、サーバにかかる負担は飛躍的に増大し、さらに、その負担に対応するべくさらにサーバを大規模化させるための投資が必要となる。   Therefore, a server-side facility that collects data from these devices needs to collect high-frequency data from enormous devices without loss. Therefore, it is expected that a large-scale resource is required for the server. Further, each time a new device appears, the load on the server increases dramatically, and further, it is necessary to make an investment for further increasing the scale of the server to cope with the load.

これに対し、膨大な機器からデータを効率良く収集する技術が期待されている。一般的に、家電機器やセンサなどからのデータは、家庭内やオフィスに設置される一台以上のゲートウェイ装置を介して、サーバに送信されることが一般的である。このゲートウェイ装置を利用して、サーバの低コスト化およびデータの収集性能の向上が期待される。   On the other hand, a technique for efficiently collecting data from an enormous amount of equipment is expected. In general, data from home appliances, sensors, and the like is generally transmitted to a server via one or more gateway devices installed in a home or office. By using this gateway device, it is expected to reduce the cost of the server and improve the data collection performance.

一般的に、リング構造のネットワークの装置に、効率的にデータをブロードキャストする方式を提案する(非特許文献1参照。)。また非特許文献1は、データに対する応答を送信する際、ブロードキャストの送信元に直接応答を送信する方法、あるいはブロードキャストの経路を逆に辿って応答を送信する方法を開示する。   In general, a method for efficiently broadcasting data to a ring network device is proposed (see Non-Patent Document 1). Non-Patent Document 1 discloses a method of transmitting a response directly to a broadcast transmission source when transmitting a response to data, or a method of transmitting a response by tracing the broadcast route in reverse.

El-Ansary, Sameh and Brand, Per and Haridi, Seif, et al. (2003) Efficient broadcast in structured P2P networks. 2nd International Workshop On Peer-To-Peer Systems (IPTPS'03), 20-21 Feb 2003, Berkeley, CA, USA.El-Ansary, Sameh and Brand, Per and Haridi, Seif, et al. (2003) Efficient broadcast in structured P2P networks. 2nd International Workshop On Peer-To-Peer Systems (IPTPS'03), 20-21 Feb 2003, Berkeley , CA, USA.

しかしながら、ブロードキャストの送信元のサーバと、応答を送信するゲートウェイ装置間との通信において、非特許文献1に記載の方法を用いることができない問題がある。   However, there is a problem that the method described in Non-Patent Document 1 cannot be used in communication between a broadcast transmission source server and a gateway device that transmits a response.

ゲートウェイ装置からサーバに直接応答を送信する場合、サーバに、各ゲートウェイ装置からの応答が集中して発生するため、サーバが大量の応答を処理しなければならない問題がある。   When the responses are directly transmitted from the gateway device to the server, the responses from the respective gateway devices are concentrated on the server, which causes a problem that the server has to process a large number of responses.

仮に、上記の問題を解決するためにゲートウェイ装置が、ブロードキャストの経路を逆に辿って応答を送信するとした場合にも2つの問題がある。1つ目はサーバにより近いゲートウェイ装置に負荷が偏って集中し続ける問題である。ツリー構造で表されるブロードキャストの経路が変更されない限り、そのゲートウェイ装置に負荷が偏り続けてしまう。一般的に、家庭内やオフィスに設置されるゲートウェイ装置は、サーバや一般的なパーソナルコンピュータと比べ、大量の通信を扱うことは現実的に困難であるため、このような大量のデータを処理することは現実的に困難であると考えられる。   In order to solve the above problem, there are also two problems when the gateway device transmits a response by tracing back the broadcast route. The first problem is that the load continues to be concentrated on the gateway device closer to the server. Unless the broadcast path represented by the tree structure is changed, the load continues to be biased to the gateway device. Generally, gateway devices installed in homes and offices handle such a large amount of data because it is practically difficult to handle a large amount of communications compared to servers and general personal computers. This is considered difficult in practice.

2つ目は、待ち時間の問題である。ツリー状のトポロジにおいて、各ゲートウェイ装置からサーバまで、ブロードキャスト送信と同じ数のゲートウェイ装置を経由することになる。そのため、サーバがすべての応答を受信するための待ち時間が大きくなってしまう。 The second is a problem of waiting time. In the tree-like topology, each gateway device goes through the same number of gateway devices as the broadcast transmission from the server. This increases the waiting time for the server to receive all responses.

そこで、サーバおよび各装置がデータを効率的に収集することが可能な通信方法が期待されている。   Therefore, a communication method that allows the server and each device to efficiently collect data is expected.

従って本発明の目的は、サーバおよび各装置がデータを効率的に収集することのできる通信システム、装置、通信方法、通信プログラムおよびサーバを提供することである。   Accordingly, an object of the present invention is to provide a communication system, a device, a communication method, a communication program, and a server in which the server and each device can efficiently collect data.

上記課題を解決するために、本発明の第1の特徴は、サーバと、当該サーバに接続する相互に通信可能な複数の装置とを備える通信システムに関する。本発明の第1の特徴において、複数の装置は、それぞれ、0から2−1までのいずれかの整数値の識別子が付与される。サーバは、複数の装置のそれぞれに、0からm−1までのエントリ識別子(Entry)と、当該装置の識別子に2Entryを加えた転送先装置の識別子と、当該転送先装置のアドレスとを対応づけた経路表データを出力する経路表出力手段と、複数の装置のうち、代表装置とする1つの装置に、データの収集のためのリクエストデータを送信するリクエスト送信手段と、装置から、データを受信するデータ受信手段とを備える。装置は、サーバから、当該装置の経路表データを受信し、サーバまたは他装置からリクエストデータを受信すると、経路表データに従って、受信したリクエストデータを変更して、他装置に送信するとともに、受信したリクエストデータに対する応答データを、他装置またはサーバに送信する制御手段を備える。サーバが代表装置に送信するリクエストデータは、代表装置がデータを集約する装置の識別子の下限値および上限値を指定する、集約割当範囲と、装置間において当該リクエストデータを拡散する範囲を示す、0からmまでの値をとる転送深度と、代表装置のアドレスを設定した集約送信先アドレスと、を含む。装置の制御手段は、(1)リクエストデータを受信すると、受信したリクエストデータの集約送信先アドレスと、集約割当範囲とを格納し、(2)受信したリクエストデータの転送深度が0の場合、当該装置が集約した自装置集約データを含む応答データを生成して、集約送信先アドレスに送信し、(3)応答データを受信すると、受信した応答データに含まれる集約データを、自装置集約データにマージし、マージ後の自装置集約データが、受信したリクエストデータの集約割当範囲をすべて満たす場合、当該自装置集約データを含む応答データを、集約送信先アドレスに送信し、(4)受信したリクエストデータの転送深度が0でない場合、経路表データを参照して、0以上転送深度未満の各エントリ識別子について、エントリ識別子の降順に、当該装置が受信した集約割当範囲内の装置の識別子を持つエントリ識別子について、受信したリクエストデータのうち、集約送信先アドレスを、当該装置が受信した集約割当範囲の上限値に最も近い装置の識別子を持つエントリ識別子について、当該装置が受信した集約送信先アドレスを引き継いで設定し、それ以外のエントリ識別子について、経路表データにおいて、当該エントリ識別子をインクリメントしたエントリ識別子に対応づけられた装置のアドレスに設定し、集約割当範囲を、経路表データにおいてエントリ識別子0の装置の識別子から当該エントリ識別子に対応する装置の識別子の範囲に設定し、転送範囲を、当該エントリ識別子に変更した、変更後のリクエストデータを、経路表データにおいて当該エントリ識別子に対応する装置のアドレスに送信する処理を、繰り返す。 In order to solve the above-described problem, a first feature of the present invention relates to a communication system including a server and a plurality of mutually communicable devices connected to the server. In the first feature of the present invention, each of the plurality of devices is assigned an identifier of any integer value from 0 to 2 m −1. The server corresponds to each of a plurality of devices with an entry identifier (Entry) from 0 to m−1, an identifier of the transfer destination device obtained by adding 2 Entry to the identifier of the device, and an address of the transfer destination device. Route table output means for outputting the attached route table data, request transmission means for sending request data for data collection to one of the plurality of devices as a representative device, and data from the device Data receiving means for receiving. When the device receives the routing table data of the device from the server and receives the request data from the server or another device, the device changes the received request data according to the routing table data, and transmits the received request data to the other device. Control means for transmitting response data to the request data to another apparatus or server is provided. The request data transmitted by the server to the representative device indicates an aggregation allocation range in which the representative device specifies the lower limit value and upper limit value of the identifier of the device that aggregates the data, and indicates a range in which the request data is spread between the devices. To m, and the aggregated transmission destination address in which the address of the representative device is set. When the control means of the device receives (1) the request data, it stores the aggregated transmission destination address of the received request data and the aggregate allocation range, and (2) when the transfer depth of the received request data is 0, Response data including the own device aggregated data aggregated by the device is generated and transmitted to the aggregate transmission destination address. (3) When the response data is received, the aggregated data included in the received response data is converted into the own device aggregated data. When the merged self-device aggregate data satisfies all the aggregate allocation ranges of the received request data, response data including the self-device aggregate data is transmitted to the aggregate transmission destination address, and (4) the received request When the data transfer depth is not 0, with reference to the routing table data, for each entry identifier of 0 or more and less than the transfer depth, the entry identifier In order, for an entry identifier having an identifier of a device within the aggregate allocation range received by the device, the aggregate transmission destination address of the received request data is the device closest to the upper limit value of the aggregate allocation range received by the device. For the entry identifier having an identifier, the aggregated transmission destination address received by the device is set, and for the other entry identifiers, the address of the device associated with the entry identifier incremented in the entry identifier in the routing table data The aggregate allocation range is set to the range of the device identifier corresponding to the entry identifier from the device identifier of the entry identifier 0 in the routing table data, and the transfer range is changed to the entry identifier. The request data is the entry identifier in the routing table data. The process of transmitting the address of the corresponding device repeats.

ここで制御手段が、受信したリクエストデータから、変更後のリクエストデータを生成する際、当該装置が代表装置の場合、集約送信先アドレスを、当該代表装置のアドレスに設定し、集約割当範囲を、経路表データにおいて当該エントリ識別子−1の装置の識別子から当該エントリ識別子に対応する装置の識別子の範囲に設定し、転送範囲を、当該エントリ識別子に設定しても良い。   Here, when the control unit generates the changed request data from the received request data, if the device is a representative device, the aggregate transmission destination address is set to the address of the representative device, and the aggregate allocation range is In the routing table data, the device identifier corresponding to the entry identifier-1 may be set within the range of the device identifier corresponding to the entry identifier, and the transfer range may be set as the entry identifier.

本発明の第2の特徴は、サーバと、当該サーバに相互に通信可能な複数の装置とを備える通信システムにおける装置に関する。本発明の第2の特徴に係る装置には、0から2−1のうちいずれかの整数値の識別子が付与される。装置は、0からm−1までのエントリ識別子(Entry)と、当該装置の識別子に2Entryを加えた転送先装置の識別子と、当該転送先装置のアドレスとを対応づけた経路表データを、受信し、サーバまたは他装置からリクエストデータを受信すると、経路表データに従って、受信したリクエストデータを変更して、他装置に送信するとともに、受信したリクエストデータに対する応答データを、他装置またはサーバに送信する制御手段を備える。サーバが装置に送信するリクエストデータは、当該装置がデータを集約する装置の識別子の下限値および上限値を指定する、集約割当範囲と、当該装置が当該リクエストデータを拡散する範囲を示す、0からmまでの値をとる転送深度と、応答データの送信先である集約送信先アドレスと、を含む。制御手段は、(1)リクエストデータを受信すると、受信したリクエストデータの集約送信先アドレスと、集約割当範囲とを格納し、(2)受信したリクエストデータの転送深度が0の場合、当該装置が集約した自装置集約データを含む応答データを生成して、集約送信先アドレスに送信し、(3)応答データを受信すると、受信した応答データに含まれる集約データを、自装置集約データにマージし、マージ後の自装置集約データが、受信したリクエストデータの集約割当範囲をすべて満たす、当該自装置集約データを含む応答データを、集約送信先アドレスに送信し、(4)受信したリクエストデータの転送深度が0でない場合、経路表データを参照して、0以上転送深度未満の各エントリ識別子について、エントリ識別子の降順に、当該装置が受信した集約割当範囲内の装置の識別子を持つエントリ識別子について、受信したリクエストデータのうち、集約送信先アドレスを、当該装置が受信した集約割当範囲の上限値に最も近い装置の識別子を持つエントリ識別子について、当該装置が受信した集約送信先アドレスを引き継いで設定し、それ以外のエントリ識別子について、経路表データにおいて、当該エントリ識別子をインクリメントしたエントリ識別子に対応づけられた装置のアドレスに設定し、集約割当範囲を、経路表データにおいてエントリ識別子0の装置の識別子から当該エントリ識別子に対応する装置の識別子の範囲に設定し、転送範囲を、当該エントリ識別子に変更した、変更後のリクエストデータを、経路表データにおいて当該エントリ識別子に対応する装置のアドレスに送信する処理を、繰り返す。 A second feature of the present invention relates to an apparatus in a communication system including a server and a plurality of apparatuses that can communicate with the server. The device according to the second aspect of the present invention is given an integer identifier of 0 to 2 m −1. The device stores route table data in which an entry identifier (Entry) from 0 to m−1, an identifier of a transfer destination device obtained by adding 2 Entry to the identifier of the device, and an address of the transfer destination device are associated with each other. When the request data is received from the server or other device, the received request data is changed according to the routing table data and transmitted to the other device, and the response data for the received request data is transmitted to the other device or server. The control means to perform is provided. The request data transmitted from the server to the device indicates an aggregation allocation range that specifies the lower limit value and the upper limit value of the identifier of the device for which the device aggregates data, and indicates a range in which the device spreads the request data from 0 It includes a transfer depth that takes values up to m and an aggregate transmission destination address that is a transmission destination of response data. When the control means receives (1) the request data, it stores the aggregated transmission destination address of the received request data and the aggregate allocation range. (2) If the transfer depth of the received request data is 0, the control device Generate response data including the aggregated own device aggregated data, send it to the aggregated transmission destination address, and (3) upon receiving the response data, merge the aggregated data included in the received response data into the own device aggregated data Then, the merged own device aggregated data satisfies the aggregate allocation range of the received request data, and transmits response data including the own device aggregated data to the aggregate transmission destination address. (4) Transfer of received request data If the depth is not 0, the routing table data is referenced, and for each entry identifier that is 0 or more and less than the transfer depth, the entry identifiers are assigned in descending order. For the entry identifier having the identifier of the device within the aggregate allocation range received by the device, the aggregate transmission destination address in the received request data has the identifier of the device closest to the upper limit value of the aggregate allocation range received by the device. The entry identifier is set by taking over the aggregated transmission destination address received by the device, and the other entry identifier is set in the routing table data to the address of the device associated with the incremented entry identifier. The aggregated allocation range is set to the range of the device identifier corresponding to the entry identifier from the device identifier of the entry identifier 0 in the routing table data, and the transfer range is changed to the entry identifier. Corresponding to the entry identifier in the routing table data The process of transmitting the location of the address is repeated.

ここで当該装置が、サーバからリクエストデータを受けた代表装置の場合、制御手段は、受信したリクエストデータから、変更後のリクエストデータを生成する際、集約送信先アドレスを、当該装置のアドレスに設定し、集約割当範囲を、経路表データにおいて当該エントリ識別子−1の装置の識別子から当該エントリ識別子に対応する装置の識別子の範囲に設定し、転送範囲を、当該エントリ識別子に設定しても良い。   Here, if the device is a representative device that has received request data from the server, the control means sets the aggregated transmission destination address to the address of the device when generating changed request data from the received request data. Then, the aggregate allocation range may be set in the route table data from the device identifier of the entry identifier-1 to the device identifier range corresponding to the entry identifier, and the transfer range may be set in the entry identifier.

本発明の第3の特徴は、サーバと、当該サーバに接続する相互に通信可能な複数の装置とを備える通信システムにおける装置に用いられる通信方法に関する。本発明の第3の特徴において、当該装置には、0から2−1のうちいずれかの整数値の識別子が付与され、0からm−1までのエントリ識別子(Entry)と、当該装置の識別子に2Entryを加えた転送先装置の識別子と、当該転送先装置のアドレスとを対応づけた経路表データを、受信するステップを備える。サーバが装置に送信するリクエストデータは、当該装置がデータを集約する装置の識別子の下限値および上限値を指定する、集約割当範囲と、当該装置と他装置間において当該リクエストデータを拡散する範囲を示す、0からmまでの値をとる転送深度と、応答データの送信先である集約送信先アドレスと、を含む。通信方法は、(1)装置が、リクエストデータを受信すると、受信したリクエストデータの集約送信先アドレスと、集約割当範囲とを格納するステップと、(2)装置が、受信したリクエストデータの転送深度が0の場合、当該装置が集約した自装置集約データを含む応答データを生成して、集約送信先アドレスに送信するステップと、(3)装置が、応答データを受信すると、受信した応答データに含まれる集約データを、自装置集約データにマージし、マージ後の自装置集約データが、受信したリクエストデータの集約割当範囲をすべて満たす場合、当該自装置集約データを含む応答データを、集約送信先アドレスに送信するステップと、(4)装置が、受信したリクエストデータの転送深度が0でない場合、経路表データを参照して、0以上転送深度未満の各エントリ識別子について、エントリ識別子の降順に、当該装置が受信した集約割当範囲内の装置の識別子を持つエントリ識別子について、受信したリクエストデータのうち、集約送信先アドレスを、当該装置が受信した集約割当範囲の上限値に最も近い装置の識別子を持つエントリ識別子について、当該装置が受信した集約送信先アドレスを引き継いで設定し、それ以外のエントリ識別子について、経路表データにおいて、当該エントリ識別子をインクリメントしたエントリ識別子に対応づけられた装置のアドレスに設定し、集約割当範囲を、経路表データにおいてエントリ識別子0の装置の識別子から当該エントリ識別子に対応する装置の識別子の範囲に設定し、転送範囲を、当該エントリ識別子に変更した、変更後のリクエストデータを、経路表データにおいて当該エントリ識別子に対応する装置のアドレスに送信する処理を、繰り返すステップを備える。 A third feature of the present invention relates to a communication method used for an apparatus in a communication system including a server and a plurality of apparatuses capable of communicating with each other connected to the server. In the third feature of the present invention, the device is given an identifier having an integer value of 0 to 2 m −1, and an entry identifier (Entry) from 0 to m−1, A step of receiving routing table data in which the identifier of the transfer destination device obtained by adding 2 Entry to the identifier and the address of the transfer destination device are associated with each other. The request data transmitted from the server to the device includes an aggregate allocation range that specifies the lower limit value and upper limit value of the identifier of the device that the device aggregates data, and a range in which the request data is spread between the device and another device. The transfer depth that takes a value from 0 to m and the aggregated transmission destination address that is the transmission destination of the response data are included. The communication method includes (1) when the device receives the request data, storing an aggregate transmission destination address of the received request data and an aggregate allocation range; and (2) a transfer depth of the received request data by the device. Is 0, a step of generating response data including own device aggregated data aggregated by the device and transmitting it to the aggregated transmission destination address; and (3) when the device receives the response data, When the aggregated data included is merged with the aggregated data of the own device and the aggregated data of the own device satisfies all the aggregate allocation ranges of the received request data, the response data including the aggregated data of the own device is And (4) when the transfer depth of the received request data is not 0, the device refers to the route table data, For each entry identifier less than the above transfer depth, for the entry identifier having the identifier of the device within the aggregate allocation range received by the device in descending order of the entry identifier, the aggregate transmission destination address of the received request data for the entry identifier For the entry identifier having the identifier of the device closest to the upper limit value of the aggregate allocation range received by the device, taking over the aggregated transmission destination address received by the device and setting the entry in the routing table data for the other entry identifiers. Set the identifier to the address of the device associated with the incremented entry identifier, and set the aggregate allocation range from the device identifier of entry identifier 0 to the range of device identifiers corresponding to the entry identifier in the routing table data; Change the transfer range to the entry identifier The request data, the process of transmitting the address of the device corresponding to the entry identifier in the path table data, comprising the step of repeating.

ここで、当該装置が、サーバからリクエストデータを受けた代表装置の場合、制御手段は、受信したリクエストデータから、変更後のリクエストデータを生成する際、集約送信先アドレスを、当該代表装置のアドレスに設定し、集約割当範囲を、経路表データにおいて当該エントリ識別子−1の装置の識別子から当該エントリ識別子に対応する装置の識別子の範囲に設定し、転送範囲を、当該エントリ識別子に設定しても良い。   Here, if the device is a representative device that has received request data from the server, the control means uses the aggregated transmission destination address as the address of the representative device when generating changed request data from the received request data. The aggregation allocation range may be set to the range of the device identifier corresponding to the entry identifier from the device identifier of the entry identifier-1 in the routing table data, and the transfer range may be set to the entry identifier. good.

本発明の第4の特徴は、コンピュータに、本発明の第2の特徴に係る装置の各手段として機能させるための通信プログラムに関する。   A fourth feature of the present invention relates to a communication program for causing a computer to function as each unit of the device according to the second feature of the present invention.

本発明の第5の特徴は、サーバと、当該サーバに接続する代表装置を含み相互に通信可能な複数の装置とを備える通信システムのサーバに関する。本発明の第5の特徴に関するサーバにおいて、複数の装置は、それぞれ、0から2−1までのいずれかの整数値の識別子が付与され、複数の装置のそれぞれに、0からm−1までのエントリ識別子(Entry)と、当該装置の識別子に2Entryを加えた転送先装置の識別子と、当該転送先装置のアドレスとを対応づけた経路表データを出力する経路表出力手段と、複数の装置のうち、代表装置とする1つの装置に、データの収集のためのリクエストデータを送信するリクエスト送信手段と、装置から、データを受信するデータ受信手段とを備える。サーバが代表装置に送信するリクエストデータは、代表装置がデータを集約する装置を特定する、集約割当範囲と、装置間において当該リクエストデータを拡散する範囲を示す、0からmまでの値をとる転送深度と、代表装置のアドレスを設定した集約送信先アドレスと、を含む。 A fifth feature of the present invention relates to a server of a communication system including a server and a plurality of devices including a representative device connected to the server and capable of communicating with each other. In the server relating to the fifth aspect of the present invention, each of the plurality of devices is assigned an identifier of any integer value from 0 to 2 m −1, and each of the plurality of devices from 0 to m−1. A route table output means for outputting route table data in which the entry identifier (Entry) of the device, the identifier of the transfer destination device obtained by adding 2 Entry to the identifier of the device, and the address of the transfer destination device are associated with each other; Among the devices, one device as a representative device includes request transmission means for transmitting request data for data collection, and data reception means for receiving data from the device. The request data transmitted from the server to the representative device is a transfer that takes a value from 0 to m indicating the aggregate allocation range that identifies the device that the representative device aggregates data and the range in which the request data is diffused between the devices. A depth, and an aggregate transmission destination address in which the address of the representative device is set.

本発明によれば、サーバおよび各装置がデータを効率的に収集することのできる通信システム、装置、通信方法、通信プログラムおよびサーバを提供することができる。   According to the present invention, it is possible to provide a communication system, a device, a communication method, a communication program, and a server that enable the server and each device to efficiently collect data.

本発明の実施の形態に係る通信システムのシステム構成を説明する図である。It is a figure explaining the system configuration | structure of the communication system which concerns on embodiment of this invention. 本発明の実施の形態に係る通信システムの装置のID空間を説明する図である。It is a figure explaining ID space of the apparatus of the communication system which concerns on embodiment of this invention. 本発明の実施の形態に係る通信システムのリクエストデータのデータ構造の一例を説明する図である。It is a figure explaining an example of the data structure of the request data of the communication system which concerns on embodiment of this invention. 本発明の実施の形態に係る通信システムの応答データのデータ構造の一例を説明する図である。It is a figure explaining an example of the data structure of the response data of the communication system which concerns on embodiment of this invention. 本発明の実施の形態に係るサーバのハードウェア構成と機能ブロックを説明する図である。It is a figure explaining the hardware constitutions and functional block of the server which concern on embodiment of this invention. 本発明の実施の形態に係るサーバの装置リストデータのデータ構造の一例を説明する図である。It is a figure explaining an example of the data structure of the apparatus list data of the server which concerns on embodiment of this invention. 本発明の実施の形態に係るサーバが生成する経路表データのデータ構造とデータの一例である。It is an example of the data structure and data of the routing table data which the server which concerns on embodiment of this invention produces | generates. 本発明の実施の形態に係る装置のハードウェア構成と機能ブロックを説明する図である。It is a figure explaining the hardware constitutions and functional block of the apparatus which concern on embodiment of this invention. 本発明の実施の形態に係る装置のシーケンス設定データのデータ構造の一例を説明する図である。It is a figure explaining an example of the data structure of the sequence setting data of the apparatus which concerns on embodiment of this invention. 本発明の実施の形態に係る装置の制御手段による制御処理を説明する図である。It is a figure explaining the control processing by the control means of the apparatus which concerns on embodiment of this invention. 本発明の実施の形態に係る装置の拡散手段による拡散処理を説明する図である。It is a figure explaining the spreading | diffusion process by the spreading | diffusion means of the apparatus which concerns on embodiment of this invention. 本発明の実施の形態に係る装置の集約手段による集約処理を説明する図である。It is a figure explaining the aggregation process by the aggregation means of the apparatus which concerns on embodiment of this invention. 本発明の実施の形態に係る通信方法のデータの流れを説明する図である。It is a figure explaining the data flow of the communication method which concerns on embodiment of this invention. 本発明の実施の形態に係る通信方法の第1フェーズにおけるデータの流れを説明する図である。It is a figure explaining the flow of data in the 1st phase of the communication method concerning an embodiment of the invention. 本発明の実施の形態に係る通信方法の第2フェーズにおけるデータの流れを説明する図である。It is a figure explaining the flow of the data in the 2nd phase of the communication method which concerns on embodiment of this invention. 本発明の実施の形態に係る通信方法の第3フェーズにおけるデータの流れを説明する図である。It is a figure explaining the flow of the data in the 3rd phase of the communication method which concerns on embodiment of this invention. 本発明の実施の形態に係る通信方法の第4フェーズにおけるデータの流れを説明する図である。It is a figure explaining the flow of data in the 4th phase of the communication method concerning an embodiment of the invention. 本発明の実施の形態に係る通信方法の第5フェーズにおけるデータの流れを説明する図である。It is a figure explaining the flow of data in the 5th phase of the communication method concerning an embodiment of the invention. 本発明の実施の形態に係る通信方法において、IDが欠番した場合のデータの流れを説明する図である。It is a figure explaining the flow of data when ID is missing in the communication method concerning an embodiment of the invention. 本発明の第1の変形例に係る通信方法のデータの流れを説明する図である。It is a figure explaining the data flow of the communication method which concerns on the 1st modification of this invention. 本発明の第1の変形例に係る装置の拡散手段による拡散処理を説明する図である。It is a figure explaining the spreading | diffusion process by the spreading | diffusion means of the apparatus which concerns on the 1st modification of this invention. 本発明の実施の形態に係る通信方法と、第1の変形例に係る通信方法の効果を説明する図である。It is a figure explaining the effect of the communication method which concerns on embodiment of this invention, and the communication method which concerns on a 1st modification. 従来の通信方法のデータの流れを説明する図である。It is a figure explaining the data flow of the conventional communication method.

次に、図面を参照して、本発明の実施の形態を説明する。以下の図面の記載において、同一または類似の部分には同一または類似の符号を付している。   Next, embodiments of the present invention will be described with reference to the drawings. In the following description of the drawings, the same or similar parts are denoted by the same or similar reference numerals.

本発明の実施の形態において、[a,b]の表記は、「a以上b以下」であることを示し、[a,b)の表記は、「a以上b未満」であることを示す。   In the embodiment of the present invention, the notation [a, b] indicates “a or more and b or less”, and the notation [a, b) indicates “a or more and less than b”.

また本発明の実施の形態において、「拡散」は、サーバが送信したリクエストデータを、サーバが特定した複数の装置に行き渡らせることをいう。「集約」は、各装置が有するデータを、装置同士で、あるいは特定の装置にデータを集めることをいう。「収集」は、サーバが送信したリクエストデータに対して、このサーバが特定した複数の装置が収集したデータを、サーバが受信することをいう。   In the embodiment of the present invention, “spreading” refers to distributing the request data transmitted by the server to a plurality of devices specified by the server. “Aggregation” refers to collecting data held by each device between devices or in a specific device. “Collecting” means that the server receives data collected by a plurality of devices specified by the server in response to request data transmitted by the server.

(通信システム)
本発明の実施の形態に係る通信システム3は、サーバ2と、複数の装置1a、1b、1c、…を備える。複数の装置1a、1b、1c、…を特に区別しない場合、単に装置1と記載する場合がある。本発明の実施の形態に係る通信システム3において、データの「拡散」、「集約」、および「収集」がなされる。
(Communications system)
The communication system 3 according to the embodiment of the present invention includes a server 2 and a plurality of devices 1a, 1b, 1c,. When there is no particular distinction between the plurality of devices 1a, 1b, 1c,... In the communication system 3 according to the embodiment of the present invention, “spreading”, “aggregation”, and “collection” of data are performed.

本発明の実施の形態において、装置1は例えば、家庭やオフィス等に設置されるゲートウェイ装置である。装置1は、家庭やオフィスに設置される家電機器やセンサなどの機器(図示せず)に接続する。装置1は、これらの機器から受信したデータを、直接サーバ2に送信したり、ほかの装置を介して間接的にサーバ2に送信したりする。本発明の実施の形態において、サーバ2からリクエストを受信する装置1を、特に、代表装置と称する場合がある。代表装置は、サーバ2によって定められる。代表装置は、常に同じ装置であっても良いし、リクエストの度に変更されても良い。代表装置を含む複数の装置は、互いに接続可能であり、かつ、サーバ2とも互いに接続可能である。   In the embodiment of the present invention, the device 1 is, for example, a gateway device installed in a home or office. The device 1 is connected to devices (not shown) such as home appliances and sensors installed in a home or office. The device 1 transmits data received from these devices directly to the server 2 or indirectly to the server 2 via other devices. In the embodiment of the present invention, the device 1 that receives a request from the server 2 may be particularly referred to as a representative device. The representative device is determined by the server 2. The representative device may always be the same device, or may be changed at every request. A plurality of devices including the representative device can be connected to each other, and can also be connected to the server 2.

サーバ2は、各装置1にデータの送信をリクエストするとともに、そのリクエストに応じて収集されたデータを受信する。   The server 2 requests each device 1 to transmit data and receives data collected in response to the request.

図1に示す通信システム3において、サーバ2および装置1は、インターネット、NGNなどのIPネットワークにより接続される。各装置1は、少なくともIP層レベルで相互に通信可能で、IPネットワーク上で、オーバレイ(P2P)ネットワークを構築する。   In the communication system 3 shown in FIG. 1, the server 2 and the apparatus 1 are connected by an IP network such as the Internet or NGN. The devices 1 can communicate with each other at least at the IP layer level, and construct an overlay (P2P) network on the IP network.

各装置1は、少なくとも一以上のグループに分けられている。図1に示す例では、装置1a、1bおよび1cは、第1グループG1に属し、それ以外の装置は、第2グループG2に属する。サーバ2は、各グループに属する装置のリストと、各グループの大きさに対応するグループサイズmを保持する。各グループに属する複数の装置は、それぞれ、0から2−1までのいずれかの整数値の装置IDが、他装置と重複しないように付与される。 Each device 1 is divided into at least one or more groups. In the example shown in FIG. 1, the devices 1a, 1b, and 1c belong to the first group G1, and the other devices belong to the second group G2. The server 2 holds a list of devices belonging to each group and a group size m corresponding to the size of each group. A plurality of devices belonging to each group are assigned a device ID of any integer value from 0 to 2 m −1 so that they do not overlap with other devices.

サーバ2は、グループごとに、独立してリクエストデータを送信し、そのグループに属する装置1のデータを収集する。サーバ2は、特定のグループの装置に対しリクエストデータを送信する際、そのグループの代表装置に送信する。その代表装置は、リクエストデータを、直接的または間接的にそのグループ内のほかの装置に送信する。この代表装置は、常に同じ装置であっても良いし、リクエストを送信する度に変更しても良い。代表装置は、各装置が送信したデータを、サーバ2あるいはサーバが指定するサーバに送信する。   The server 2 transmits request data independently for each group, and collects data of the devices 1 belonging to the group. When the server 2 transmits request data to a specific group of devices, the server 2 transmits the request data to the representative device of the group. The representative device transmits the request data directly or indirectly to other devices in the group. This representative device may always be the same device or may be changed each time a request is transmitted. The representative device transmits the data transmitted by each device to the server 2 or a server designated by the server.

本発明の実施の形態において、各グループは、図2に示すように、0から、2−1までの整数値を、装置1のID空間とする。各装置1は、論理的に、リング状のトポロジに配置される。各装置1は、論理的に、リング状のトポロジに配置されれば良く、実際には、IP層レベルで相互に通信可能なツリー状のトポロジに配置されても良い。 In the embodiment of the present invention, each group uses an integer value from 0 to 2 m −1 as the ID space of the device 1 as shown in FIG. Each device 1 is logically arranged in a ring topology. Each device 1 may be logically arranged in a ring topology, and may actually be arranged in a tree topology capable of communicating with each other at the IP layer level.

図2に示すグループは、m=4に対応する16の装置を有しているので、各装置には、0から15までのIDが付与される。図2に示す例において、IDの昇順方向を順方向とし、この順方向において、ID=2−1の次は、ID=0に戻る。 Since the group shown in FIG. 2 has 16 devices corresponding to m = 4, IDs from 0 to 15 are assigned to each device. In the example illustrated in FIG. 2, the ascending direction of the ID is a forward direction, and in this forward direction, ID = 2 m −1 returns to ID = 0.

本発明の実施の形態においてサーバ2は、代表装置にリクエストデータを送信する。代表装置は、受信したリクエストメッセージを適宜変更したリクエストデータをほかの装置1に送信したり、サーバ2に応答データを送信したりする。   In the embodiment of the present invention, the server 2 transmits request data to the representative device. The representative device transmits request data obtained by appropriately changing the received request message to another device 1 or transmits response data to the server 2.

図3を参照して、本発明の実施の形態に係るリクエストデータを説明する。リクエストデータは、シーケンス番号、集約割当範囲、転送深度、収集先アドレス、集約送信元、経路更新情報および収集対象リストの各項目を備える。   With reference to FIG. 3, request data according to the embodiment of the present invention will be described. The request data includes items of a sequence number, an aggregation allocation range, a transfer depth, a collection destination address, an aggregation transmission source, route update information, and a collection target list.

シーケンス番号は、サーバ2が送信するリクエストを識別する。シーケンス番号は、本明細書等において、”Sequence”で表記される場合がある。サーバ2は、リクエストを発する度に、シーケンス番号を単純増加する。シーケンス番号の増加方法としては、インクリメントする方法、シーケンス番号に、送信時刻やサーバ2のクロック値を設定する方法などが考えられる。シーケンス番号は、装置1がリクエストを拡散する際に書き換えられることはなく、一つのシーケンス番号に対して集約された各装置1の集約データは、最終的に、そのシーケンス番号に対応づけられた一つの応答データに含まれて、サーバ2に送信される。   The sequence number identifies the request transmitted by the server 2. The sequence number may be expressed as “Sequence” in this specification and the like. Each time the server 2 issues a request, it simply increments the sequence number. As a method of increasing the sequence number, a method of incrementing, a method of setting the transmission time or the clock value of the server 2 to the sequence number, and the like can be considered. The sequence number is not rewritten when the device 1 spreads the request, and the aggregated data of each device 1 aggregated for one sequence number is finally associated with the sequence number. It is included in one response data and transmitted to the server 2.

集約割当範囲は、リクエストを受信した装置1がデータを集約装置について、装置IDの下限値および上限値を指定する。集約割当範囲は、本明細書等において、”Allot”で表記される場合がある。また、集約対象の装置1のIDの範囲を、図2に示すリングの一部に限定する場合、集約割当範囲は、任意の下限値sから順方向に任意の上限値tまでを示す[s、t]となる。このとき、サーバ2は装置IDがsである装置を代表装置として、代表装置にリクエストデータを送信する。リクエストデータにおいて、集約割当範囲には、サーバ2がデータを収集したい装置1のIDが設定される。リクエストデータを受信した各装置1は、リクエストデータを拡散する際、リクエストデータの拡散先の装置が集約するべき装置1のIDの範囲を設定する。サーバ2がグループに属するすべての装置1からデータを集約する場合、サーバ2は、集約割当範囲として、代表装置のIDと、代表装置のIDに2−1を足した値を設定する。但し、代表装置のIDに2m−1を足した後の値が2以上の場合、代表装置のIDに2−1を足した値から2を引いた値、すなわち、代表装置のID−1の値とする。また、図2に示すような2のID空間において、集約割当範囲[13,2]と設定された場合、下限値13から順方向に上限値2までの範囲を表し、装置ID=13、14、15、0、1、2の各装置を指すことになる。 The aggregation allocation range specifies the lower limit value and the upper limit value of the device ID for the device that receives the request and the device 1 that aggregates the data. The aggregate allocation range may be expressed as “Allot” in this specification and the like. Further, when the range of IDs of the aggregation target devices 1 is limited to a part of the ring shown in FIG. 2, the aggregation allocation range indicates from an arbitrary lower limit value s to an arbitrary upper limit value t in the forward direction [s. , T]. At this time, the server 2 transmits request data to the representative device with the device whose device ID is s as the representative device. In the request data, the ID of the device 1 that the server 2 wants to collect data is set in the aggregate allocation range. Each device 1 that has received the request data sets the ID range of the device 1 to be aggregated by the device to which the request data is to be spread when the request data is spread. When the server 2 aggregates data from all the devices 1 belonging to the group, the server 2 sets the ID of the representative device and a value obtained by adding 2 m −1 to the ID of the representative device as the aggregation allocation range. However, if the value after adding 2m-1 to ID of the representative device is not less than 2 m, a value obtained by subtracting 2 m from the value obtained by adding 2 m -1 in ID of the representative device, i.e., the ID of the representative apparatus The value is -1. Further, in the 2 4 ID space as shown in FIG. 2, when it is set aggregate allocation range [13, 2] represents the range from the lower value 13 to the upper limit value 2 in the forward direction, device ID = 13, 14, 15, 0, 1, and 2 are indicated.

転送深度は、リクエストを転送する深さを示す。転送深度は、本明細書等において、”Degree”で表記される場合がある。転送深度は、集約割当範囲に応じて決定される。例えば、集約割当範囲が[s、t]の場合、転送深度は、log(t−s+1)の切り上げ数となる。また、集約割当範囲がグループに属するすべての装置1の場合、転送深度は、mとなる。 The transfer depth indicates the depth at which the request is transferred. The transfer depth may be expressed as “Degree” in this specification and the like. The transfer depth is determined according to the aggregate allocation range. For example, when the aggregate allocation range is [s, t], the transfer depth is a round-up number of log 2 (t−s + 1). Further, in the case of all the devices 1 whose aggregate allocation range belongs to the group, the transfer depth is m.

収集先アドレスは、リクエストの送信元のサーバ2が、自身以外のサーバに集約されたデータを収集させたい場合に指定する、収集先となるサーバのアドレスである。収集先アドレスは、本明細書等において、”Collector”で表記される場合がある。収集先アドレスは、IPアドレスまたは、FQDN(Fully Qualified Domain Name)形式で、任意に指定される。   The collection destination address is an address of a server that is a collection destination that is designated when the server 2 that transmitted the request wants to collect data collected by a server other than itself. The collection destination address may be expressed as “Collector” in this specification and the like. The collection destination address is arbitrarily designated in the IP address or FQDN (Fully Qualified Domain Name) format.

集約送信先は、集約データの送信先アドレスである。集約送信先は、本明細書等において、”Nexthop”で表記される場合がある。サーバ2が送信したリクエストデータにおいて、集約送信先として、代表装置のIPアドレスが設定される。装置1がほかの装置にリクエストデータを拡散する際、拡散する装置1が、集約送信先を適宜設定する。   The aggregate transmission destination is a transmission destination address of the aggregate data. The aggregate transmission destination may be described as “Nexthop” in this specification and the like. In the request data transmitted by the server 2, the IP address of the representative device is set as the aggregate transmission destination. When the device 1 spreads request data to other devices, the spreading device 1 appropriately sets the aggregate transmission destination.

経路更新情報は、グループの新たな装置1の加入や、装置1の離脱に伴って、任意に設定される。経路更新情報は、本明細書等において、”Updates”で表記される場合がある。経路更新情報は、後に詳述する。   The route update information is arbitrarily set as a new device 1 joins the group or the device 1 leaves the group. The route update information may be described as “Updates” in this specification and the like. The route update information will be described later in detail.

収集対象リストは、各装置1が収集するべきデータの項目などである。収集対象リストは、例えば、収集対象のセンサの種別や、センサが取得したデータの項目などである。収集対象リストは、サーバ2が適宜設定する。   The collection target list includes items of data to be collected by each device 1. The collection target list includes, for example, the types of sensors to be collected and items of data acquired by the sensors. The collection target list is appropriately set by the server 2.

図4を参照して、本発明の実施の形態に係る応答データを説明する。応答データは、シーケンス番号、集約範囲および集約データの各項目を備える。   With reference to FIG. 4, the response data according to the embodiment of the present invention will be described. The response data includes items of a sequence number, an aggregation range, and aggregated data.

シーケンス番号は、集約データに対応するリクエストデータで設定されたシーケンス番号と同一の番号が付与される。シーケンス番号は、本明細書等において、”Sequence”で表記される場合がある。   The sequence number is given the same number as the sequence number set in the request data corresponding to the aggregated data. The sequence number may be expressed as “Sequence” in this specification and the like.

集約範囲は、応答データに含まれる集約データを集約した装置の識別子を含む。集約範囲は、本明細書等において、”Range”で表記される場合がある。   The aggregation range includes an identifier of a device that aggregates the aggregation data included in the response data. The aggregation range may be expressed as “Range” in this specification and the like.

集約データは、リクエストを送信したサーバ2に向けて送信するべき集約データである。集約データは、リクエストデータの収集対象リストに基づいて、各装置1が、収集対象のセンサなどから取得したデータである。集約データは、機器から取得した装置1のIDに対応して、設定されても良い。集約データにおいて、装置IDと、この装置が機器から取得したデータとを対応づけて保持することにより、応答データを受信した装置は、集約範囲(”Range”)の設定データに依らずとも、応答データに含まれる集約データを集約した装置の識別子を特定することができる。   The aggregated data is aggregated data to be transmitted toward the server 2 that transmitted the request. The aggregated data is data acquired by each device 1 from a collection target sensor or the like based on a collection target list of request data. The aggregated data may be set corresponding to the ID of the device 1 acquired from the device. In the aggregated data, the device ID and the data acquired from the device by this device are stored in association with each other, so that the device that has received the response data responds regardless of the aggregated range ("Range") setting data. It is possible to specify the identifier of the device that aggregates the aggregated data included in the data.

(サーバ)
図5を参照して、本発明の実施の形態に係るサーバ2を説明する。サーバ2は、記憶装置210、中央処理制御装置220および通信制御装置230などを備える一般的なコンピュータである。サーバ2は所定のプログラムを実行することにより、図5に示す各機能を実現する。
(server)
With reference to FIG. 5, the server 2 which concerns on embodiment of this invention is demonstrated. The server 2 is a general computer including a storage device 210, a central processing control device 220, a communication control device 230, and the like. The server 2 implements each function shown in FIG. 5 by executing a predetermined program.

記憶装置210は、装置リストデータ211、更新データ212、経路表データ213a、213b、…を記憶する。   The storage device 210 stores device list data 211, update data 212, route table data 213a, 213b,.

装置リストデータ211は、所定のグループに属する装置の装置IDとの、その装置のIPアドレスとを対応づけたデータである。装置リストデータ211は、図6に示すように、サーバ2がリクエストデータの送信対象とするグループ単位で、そのグループに属する装置1の装置IDと、その装置のIPアドレスとを対応づける。装置リストデータ211における装置IDは、連続して採番されていなくとも良く、欠番していても良い。   The device list data 211 is data in which a device ID of a device belonging to a predetermined group is associated with an IP address of the device. As illustrated in FIG. 6, the device list data 211 associates the device ID of the device 1 belonging to the group with the IP address of the device in units of groups that the server 2 transmits request data. The device IDs in the device list data 211 may not be consecutively numbered or may be missing.

更新データ212は、グループの新たな装置1の加入や、装置1の離脱に関する情報を記憶する。   The update data 212 stores information related to joining a new device 1 and leaving the device 1 in the group.

経路表データ213a、213b、…は、所定のグループに属する複数の装置1のそれぞれに出力され、各装置がリクエストデータの送信先を決定する際に参照される。図7に示すように、経路表データ213a、213b、…は、装置1ごとに用意される。経路表データ213a、213b、…は、それぞれ、0からm−1までのエントリ識別子(Entry)と、当該装置の装置IDに2Entryを加えた転送先装置のID(ID(Entry))と、当該転送先装置のIPアドレス(IP(Entry))とを対応づけたデータである。経路表データ213a、213b、…は、サーバ2が装置1に送信した後は、記憶装置210に記憶されていなくとも良く、例えば、RAM(Random Access Memory)などの作業用の記憶装置に記憶されても良い。 The route table data 213a, 213b,... Is output to each of a plurality of devices 1 belonging to a predetermined group, and is referred to when each device determines a transmission destination of request data. 7, the route table data 213a, 213b,... Are prepared for each device 1. The route table data 213a, 213b,... Are respectively an entry identifier (Entry) from 0 to m−1, an ID (ID (Entry)) of a transfer destination device obtained by adding 2 Entry to the device ID of the device, This data is associated with the IP address (IP (Entry)) of the transfer destination device. The route table data 213a, 213b,... Does not have to be stored in the storage device 210 after the server 2 transmits to the device 1, and is stored in a storage device for work such as a RAM (Random Access Memory), for example. May be.

中央処理制御装置220は、装置リスト制御手段221、経路表出力手段222、リクエスト送信手段223およびデータ受信手段224を備える。   The central processing control device 220 includes device list control means 221, route table output means 222, request transmission means 223, and data reception means 224.

装置リスト制御手段221は、装置1やサーバ2自身が取得した、離脱した装置1や加入した装置1の情報を、更新データ212として記憶するとともに、装置リストデータ211を逐次更新する。   The device list control means 221 stores the information of the detached device 1 and the subscribed device 1 acquired by the device 1 and the server 2 itself as the update data 212 and sequentially updates the device list data 211.

経路表出力手段222は、所定のグループに属する各装置について、経路表データ213a、213b、…を生成し、各装置に出力する。   The routing table output means 222 generates routing table data 213a, 213b,... For each device belonging to a predetermined group, and outputs it to each device.

経路表出力手段222は、装置リストデータ211を参照して、以下の手順で経路表を生成する。ここで経路表出力手段222は、装置リストデータ211の装置IDについて、2−1の次は、最も小さいIDである0に戻るように循環して参照する。 The routing table output unit 222 refers to the device list data 211 and generates a routing table according to the following procedure. Here, the routing table output unit 222 circulates and refers to the device ID of the device list data 211 so as to return to 0 which is the smallest ID after 2 m −1.

まず、経路表出力手段222は、装置1から接続通知を受信すると、この装置1の装置IDをxに決定し、装置リストデータ211に記憶する。ここで装置1の装置IDは、装置1が決定して、サーバ2に送信しても良い。次に経路表出力手段222は、この装置ID=xの経路表を、エントリ数0として作成し、変数Entryに”0”を設定する。   First, when receiving a connection notification from the device 1, the routing table output unit 222 determines the device ID of the device 1 as x and stores it in the device list data 211. Here, the device ID of the device 1 may be determined by the device 1 and transmitted to the server 2. Next, the routing table output unit 222 creates the routing table with the device ID = x with the number of entries 0, and sets “0” in the variable Entry.

経路表出力手段222は、装置リストデータ211の線形探索の開始箇所を、装置ID=xとする。装置リストデータ211は、装置IDの昇順にソートされた状態で、装置IDの最小値から最大値の方向を順方向とし、装置IDの最大値から装置IDの最小値へと循環させて参照される。   The routing table output unit 222 sets the device ID = x as the start point of the linear search of the device list data 211. The device list data 211 is referred to in a state in which the device ID is sorted in ascending order of the device ID, with the direction from the minimum value to the maximum value of the device ID as the forward direction and circulated from the maximum value of the device ID to the minimum value of the device ID. The

経路表出力手段222は、装置リストデータ211を順方向に線形探索し、装置ID=x+2Entryの値を持つ装置を特定する。ここで、装置ID=x+2Entryの値を持つ装置が存在しない場合、順方向にx+2Entryを通り越して探索された装置IDを持つ装置を特定する。経路表出力手段222は、特定した装置について、Entry、装置IDおよびこの装置のIPアドレスを対応づけて、経路表データのエントリに追加する。 The routing table output unit 222 linearly searches the device list data 211 in the forward direction, and identifies a device having a value of device ID = x + 2 Entry . Here, if there is no device having the value of device ID = x + 2 Entry , the device having the device ID searched through x + 2 Entry in the forward direction is specified. The routing table output unit 222 associates the specified device with the entry, the device ID, and the IP address of this device and adds them to the routing table data entry.

経路表データのエントリの追加の処理は、Entryが0から開始し、一つずつインクリメントしながら、Entry=m−1まで繰り返される。また、経路表出力手段222は、グループに属するすべての装置について、この処理を繰り返し、各装置の経路表データ213a、213b、…を生成すると、生成した経路表データ213a、213b、…を、それぞれの装置に送信する。   The process of adding entries in the routing table data is repeated until Entry = m−1 while Entry starts from 0 and increments by one. Further, the routing table output unit 222 repeats this process for all devices belonging to the group, and generates the routing table data 213a, 213b,... For each device, and the generated routing table data 213a, 213b,. To the device.

図7において、3種類の経路表データ213a、213bおよび213nを示す。図7(a)の経路表データ213aは、m=4で装置ID=0の装置に送信される。経路表データ213aは、0から3までのEntryを有し、各EntryのID欄には、この装置の装置ID=0に、2Entryを足した値が設定される。図7(b)の経路表データ213bは、m=4で装置ID=1の装置に送信される。経路表データ213bは、0から3までのEntryを有し、各EntryのID欄には、この装置の装置ID=1に、2Entryを足した値が設定される。図7(c)の経路表データ213nは、m=4で装置ID=nの装置に送信される。経路表データ213aは、0から3までのEntryを有し、各EntryのID欄には、この装置の装置ID=nに、2Entryを足した値が設定される。 In FIG. 7, three types of routing table data 213a, 213b and 213n are shown. The route table data 213a in FIG. 7A is transmitted to the device with m = 4 and device ID = 0. The routing table data 213a has entries from 0 to 3, and a value obtained by adding 2 entries to the device ID = 0 of this device is set in the ID column of each entry. The routing table data 213b in FIG. 7B is transmitted to the device with device ID = 1 at m = 4. The routing table data 213b has entries from 0 to 3, and a value obtained by adding 2 entries to the device ID = 1 of this device is set in the ID column of each entry. The routing table data 213n in FIG. 7C is transmitted to the device with device ID = n at m = 4. The routing table data 213a has entries from 0 to 3, and in the ID column of each entry, a value obtained by adding 2 entries to the device ID = n of this device is set.

本発明の実施の形態において、任意の装置ID=nの装置IDは、図7(c)に示すように、IDまたはIDnと表記される場合がある。装置ID=nのIPアドレスは、IPまたはIPnと表記される場合がある。また、このIDの経路表データ213nにおいて、Entry=iのレコードで対応づけられる装置IDが、ID(i)と表記され、この装置のIPアドレスが、IP(i)と表記される場合がある。 In the embodiment of the present invention, a device ID of an arbitrary device ID = n may be expressed as ID n or IDn as shown in FIG. The IP address of device ID = n may be expressed as IP n or IPn. Further, in the path table data 213n of this ID n, Entry = i correlated is the device ID in the record is labeled as ID n (i), IP address of the device is denoted as IP n (i) There is a case.

リクエスト送信手段223は、グループ内の複数の装置のうち、代表装置とする1つの装置に、データの収集のためのリクエストデータを送信する。リクエスト送信手段223は、代表装置をランダムに選定しても良い。また、図2に示すグループにおいて、ID=0の装置、ID=1の装置…など、時計回りに順に選定しても良い。リクエスト送信手段223は、図3を参照して説明したリクエストデータに各データを設定して、代表装置に送信する。   The request transmission unit 223 transmits request data for data collection to one of the plurality of devices in the group as a representative device. The request transmission unit 223 may select a representative device at random. Further, in the group shown in FIG. 2, devices with ID = 0, devices with ID = 1, etc. may be selected in order clockwise. The request transmission unit 223 sets each data in the request data described with reference to FIG. 3, and transmits the data to the representative device.

リクエスト送信手段223は、シーケンス番号(Sequence)に、前回送信したリクエストのシーケンス番号よりも大きい番号を設定する。リクエスト送信手段223は、集約割当範囲(Allot)に、代表装置がデータを集約する装置を特定する情報を設定する。リクエスト送信手段223は、転送深度(Degree)に装置間において当該リクエストデータを拡散する範囲を示す、0からmまでの値を設定する。リクエスト送信手段223は、集約送信先アドレス(Nexthop)に、代表装置のアドレスを設定する。このほかリクエスト送信手段223は、適宜必要なデータを設定する。   The request transmission means 223 sets a sequence number (Sequence) larger than the sequence number of the previously transmitted request. The request transmission unit 223 sets information for identifying a device for which the representative device aggregates data in the aggregation allocation range (Allot). The request transmission unit 223 sets a value from 0 to m indicating a range in which the request data is diffused between apparatuses in the transfer depth (Degree). The request transmission unit 223 sets the address of the representative device as the aggregate transmission destination address (Nexthop). In addition, the request transmission unit 223 sets necessary data as appropriate.

データ受信手段224は、グループ内の装置から、データを受信する。データ受信手段224は、図4を参照して説明した応答データを受信し、この応答データに設定された収集データを取得する。   The data receiving unit 224 receives data from the devices in the group. The data receiving unit 224 receives the response data described with reference to FIG. 4 and acquires the collection data set in the response data.

(装置)
図8を参照して、本発明の実施の形態に係る装置1を説明する。装置1は、記憶装置10、中央処理制御装置20および通信制御装置30などを備える一般的なコンピュータである。装置1は所定の通信プログラムを実行することにより、図8に示す各機能を実現する。
(apparatus)
With reference to FIG. 8, the apparatus 1 which concerns on embodiment of this invention is demonstrated. The device 1 is a general computer including a storage device 10, a central processing control device 20, a communication control device 30, and the like. The apparatus 1 implements each function shown in FIG. 8 by executing a predetermined communication program.

記憶装置110は、経路表データ11、シーケンス設定データ12、自装置集約データ16を記憶する。   The storage device 110 stores route table data 11, sequence setting data 12, and own device consolidated data 16.

経路表データ11は、図7に示すように、0からm−1までのエントリ識別子(Entry)と、当該装置の識別子に2Entryを加えた転送先装置の識別子(ID(Entry))と、当該転送先装置のアドレス(IP(Entry))とを対応づけたデータである。経路表データ11は、サーバ2で生成され、サーバから送信される。 As shown in FIG. 7, the routing table data 11 includes an entry identifier (Entry) from 0 to m−1, an identifier of the transfer destination device (ID (Entry)) obtained by adding 2 Entry to the identifier of the device, This data is associated with the address (IP (Entry)) of the transfer destination device. The route table data 11 is generated by the server 2 and transmitted from the server.

シーケンス設定データ12は、サーバ2またはほかの装置から受信したリクエストデータに関連するデータを含む。シーケンス設定データ12は、図9に示すように、リクエストデータに含まれるシーケンス番号ごとに設けられ、集約送信先アドレス13、収集先アドレス14および集約割当範囲データ15を含む。   The sequence setting data 12 includes data related to request data received from the server 2 or another device. As shown in FIG. 9, the sequence setting data 12 is provided for each sequence number included in the request data, and includes an aggregate transmission destination address 13, a collection destination address 14, and aggregate allocation range data 15.

集約送信先アドレス13は、受信したリクエストデータの”Nexthop”で設定されるデータである。収集先アドレス14は、受信したリクエストデータの”Collector”で設定されるデータである。集約割当範囲データ15は、受信したリクエストデータの”Allot”で設定されるデータに基づいて設定される。集約割当範囲データ15は、集約割当範囲”Allot”で指定されるほかの装置の識別子と、このほかの装置から集約データを受信したか否かを示す受信フラグを対応づけたデータである。集約割当範囲データ15は、リクエストデータの受信時、受信フラグが「未受信」に設定されて生成され、装置1がほかの装置から集約データを受信する度に、集約データの送信元の装置の装置IDに対応づけられた受信フラグが「受信済」に更新される。   The aggregate transmission destination address 13 is data set in “Nexthop” of the received request data. The collection destination address 14 is data set in “Collector” of the received request data. The aggregate allocation range data 15 is set based on data set in “Allot” of the received request data. The aggregate allocation range data 15 is data in which an identifier of another device specified by the aggregate allocation range “Allot” is associated with a reception flag indicating whether aggregate data has been received from another device. The aggregate allocation range data 15 is generated when the request data is received and the reception flag is set to “not received”, and each time the apparatus 1 receives aggregate data from another apparatus, the aggregate allocation range data 15 of the aggregate data transmission source apparatus. The reception flag associated with the device ID is updated to “Received”.

自装置集約データ16は、装置1が接続する、家電機器やセンサなどから受信したデータである。自装置集約データ16は、ほかの装置から集約データを受信すると、その集約データもマージされる。   The own device consolidated data 16 is data received from home appliances or sensors connected to the device 1. When the own device aggregated data 16 receives aggregated data from another device, the aggregated data is also merged.

中央処理制御装置20は、本発明の実施の形態に係るリクエストデータ、応答データなどの処理を制御する制御手段21およびデータ取得手段25を備える。   The central processing control device 20 includes a control unit 21 and a data acquisition unit 25 that control processing of request data, response data, and the like according to the embodiment of the present invention.

データ取得手段25は、装置1が接続する家電機器やセンサなどの機器からデータを取得する。データ取得手段25は、リクエストデータの収集対象リストで設定された情報に従って、装置1が接続する機器にデータをリクエストし、取得する。データ取得手段25は、取得したデータを自装置集約データ16として記憶装置10に記憶する。データ取得手段25は、データの取得の元となったリクエストデータのシーケンス番号と対応づけて、自装置集約データ16を記憶しても良い。   The data acquisition unit 25 acquires data from devices such as home appliances and sensors to which the device 1 is connected. The data acquisition unit 25 requests and acquires data from a device to which the apparatus 1 is connected according to information set in the request data collection target list. The data acquisition unit 25 stores the acquired data in the storage device 10 as the own device consolidated data 16. The data acquisition unit 25 may store the own device aggregated data 16 in association with the sequence number of the request data from which data is acquired.

制御手段21は、サーバ2から、当該装置の経路表データ11を受信し、記憶装置10に記憶する処理を制御する。制御手段21は、サーバ2または他装置からリクエストデータを受信すると、経路表データ11に従って、受信したリクエストデータを変更して、他装置に送信するとともに、受信したリクエストデータに対する応答データを、他装置またはサーバ2に送信する処理を制御する。   The control means 21 receives the routing table data 11 of the device from the server 2 and controls processing to be stored in the storage device 10. When the control means 21 receives the request data from the server 2 or another device, the control means 21 changes the received request data according to the routing table data 11 and transmits the request data to the other device. Alternatively, processing to be transmitted to the server 2 is controlled.

制御手段21は、リクエストデータを受信すると、受信したリクエストデータの集約送信先アドレス(Nexthop)と、集約割当範囲(Allot)とを格納し、シーケンス設定データ12に記憶する。また制御手段21は、経路表制御手段22、拡散手段23および集約手段24を備え、受信したデータの種別や設定値によって、経路表制御手段22、拡散手段23および集約手段24のいずれかに処理させる。   When receiving the request data, the control unit 21 stores the aggregate transmission destination address (Nexthop) and the aggregate allocation range (Allot) of the received request data, and stores them in the sequence setting data 12. The control unit 21 includes a routing table control unit 22, a spreading unit 23, and an aggregating unit 24. Depending on the type and setting value of the received data, the control unit 21 processes the routing table control unit 22, the spreading unit 23, and the aggregating unit 24. Let

経路表制御手段22は、サーバ2から、当該装置の経路表データを受信し、記憶装置10に記憶する。また経路表制御手段22は、リクエストデータに経路更新情報”Updates”が含まれている場合、必要に応じて経路表データ11を更新する。経路表データ11の更新処理は、後に詳述する。   The routing table control means 22 receives the routing table data of the device from the server 2 and stores it in the storage device 10. Further, the route table control means 22 updates the route table data 11 as necessary when the route update information “Updates” is included in the request data. The update process of the routing table data 11 will be described in detail later.

拡散手段23は、サーバ2や他装置から受信したリクエストデータを、ほかの装置に転送する。拡散手段23は、受信したリクエストデータの転送深度”Degree”が0の場合、新たに応答データを生成させるため、集約手段24に処理させる。また拡散手段23は、受信したリクエストデータの転送深度”Degree”が0でない場合、経路表データ11を参照して、リクエストデータを変更して、変更後のリクエストデータを他装置に送信する。   The spreading means 23 transfers the request data received from the server 2 or another device to another device. When the transfer depth “Degree” of the received request data is 0, the spreading unit 23 causes the aggregation unit 24 to process new response data. If the transfer depth “Degree” of the received request data is not 0, the spreading means 23 refers to the routing table data 11, changes the request data, and transmits the changed request data to another device.

拡散手段23は、0以上かつ、受信したリクエストデータの転送深度(Degree)未満の各エントリ識別子((0≦Entry<Degreeを満たす各Entry=i))について、エントリ識別子の降順に、受信したリクエストデータから変更後のリクエストデータを生成する。また拡散手段23は、変更後のリクエストデータを、経路表データ11において当該エントリ識別子(i)に対応する装置のアドレス(IP (i))に送信する処理を繰り返す。このとき、エントリ識別子が転送深度−1のエントリから降順に、処理する。拡散手段23は、集約割当範囲外の装置IDを持つエントリに関する処理をスキップする。例えば、エントリ識別子が転送深度−1の装置IDが8のとき、集約割当範囲が[0,7]であれば、当該エントリに関する処理をスキップする。また、エントリ識別子が転送深度−2の装置IDが4であれば、集約割当範囲内であるため、当該エントリについて拡散手段23を実行する。   The spreading means 23 receives the received requests in descending order of the entry identifiers for each entry identifier (each entry = i satisfying 0 ≦ Entry <Degree) that is 0 or more and less than the transfer depth (Degree) of the received request data. Generate changed request data from the data. Further, the spreading means 23 repeats the process of transmitting the changed request data to the address (IP (i)) of the device corresponding to the entry identifier (i) in the routing table data 11. At this time, processing is performed in descending order from an entry whose entry identifier is transfer depth -1. The spreading unit 23 skips the process related to the entry having the device ID outside the aggregate allocation range. For example, when the device identifier having the transfer identifier of transfer depth −1 is 8 and the aggregate allocation range is [0, 7], the processing related to the entry is skipped. Also, if the device ID with the entry identifier of transfer depth −2 is 4, since it is within the aggregate allocation range, the spreading means 23 is executed for the entry.

ここで拡散手段23は、リクエストデータの集約送信先アドレス(Nexthop)、集約割当範囲(Allot)および転送範囲(Degree)の各項目を設定する。拡散手段23は、集約送信先アドレス(Nexthop)を、受信したAllotの範囲内で、かつAllotの上限値に最も近い装置ID(i)を持つエントリ識別子について、集約送信先アドレスに、受信した集約送信先アドレスをそのまま引き継ぎいで設定する。拡散手段23は、それ以外のエントリ識別子について、集約送信先アドレスを当該エントリ識別子(i)をインクリメントしたエントリ識別子(i+1)に対応づけられた装置のアドレス(IP(i+1))に設定する。拡散手段23は、集約割当範囲(Allot)を、経路表データ11においてエントリ識別子0の装置の識別子(ID(0))から当該エントリ識別子に対応する装置(ID(i))の識別子の範囲に設定する。拡散手段23は、転送範囲(Degree)を、当該エントリ識別子(i)に設定する。   Here, the spreading means 23 sets each item of the aggregate transmission destination address (Nexthop), aggregate allocation range (Allot), and transfer range (Degree) of request data. The spreading means 23 receives the aggregated destination address (Nexthop) as the aggregated destination address for the entry identifier having the device ID (i) closest to the upper limit of Allot within the range of the received Allot. Set the destination address as it is. For the other entry identifiers, the spreading means 23 sets the aggregate destination address to the address (IP (i + 1)) of the device associated with the entry identifier (i + 1) obtained by incrementing the entry identifier (i). Set. The spreading means 23 changes the aggregate allocation range (Allot) from the identifier (ID (0)) of the device with the entry identifier 0 in the routing table data 11 to the identifier range of the device (ID (i)) corresponding to the entry identifier. Set. The spreading means 23 sets the transfer range (Degree) to the entry identifier (i).

集約手段24は、拡散先のないリクエストデータを受信した場合や、応答データを受信した場合、自装置集約データ16とあわせて、応答データを他装置やサーバ2に送信する。   The aggregation unit 24 transmits the response data to the other device and the server 2 together with the own device aggregation data 16 when the request data without the spreading destination is received or when the response data is received.

集約手段24は、受信したリクエストデータの転送深度”Degree”が0の場合、新たに応答データを生成する。集約手段24は、受信したリクエストデータの転送深度(Degree)が0の場合、装置1が集約した自装置集約データ16を含む応答データを生成して、集約送信先アドレス(Nexthop)に送信する。   When the transfer depth “Degree” of the received request data is 0, the aggregation unit 24 newly generates response data. When the transfer depth (Degree) of the received request data is 0, the aggregating unit 24 generates response data including the own device aggregated data 16 aggregated by the device 1 and transmits the response data to the aggregated transmission destination address (Nexthop).

また集約手段24は、他装置から応答データを受信すると、受信した応答データに含まれる集約データを、自装置集約データ16にマージする。集約手段24は、マージ後の自装置集約データ16が、受信したリクエストデータの集約割当範囲(Allot)で特定された装置の集約データを含む場合、当該自装置集約データ16を含む応答データを、集約送信先アドレス(Nexthop)に送信する。   Further, when receiving the response data from the other device, the aggregation unit 24 merges the aggregated data included in the received response data into the own device aggregated data 16. The aggregation unit 24, when the merged own device aggregated data 16 includes aggregated data of the devices specified in the aggregated allocation range (Allot) of the received request data, the response data including the own device aggregated data 16 is Sent to the aggregate destination address (Nexthop).

ここで、図10ないし図12を参照して、制御手段21の処理を説明する。図10ないし図12の処理の順序は一例であって、これに限られない。   Here, the processing of the control means 21 will be described with reference to FIGS. The order of processing in FIGS. 10 to 12 is an example, and is not limited to this.

図10を参照して、制御手段21による制御処理を説明する。制御手段21は、受信したデータの種別に応じて、経路表制御手段22、拡散手段23および集約手段24のいずれかに処理をさせる。   With reference to FIG. 10, the control process by the control means 21 is demonstrated. The control unit 21 causes the route table control unit 22, the diffusion unit 23, and the aggregation unit 24 to perform processing according to the type of received data.

ステップS1において制御手段21は、受信したデータの種別がリクエストデータの場合、ステップS2に進む。ステップS2において制御手段21は、新たに受信したシーケンス番号が、前回受信したシーケンス番号より大きいか否かを判定する。新たに受信したシーケンス番号が、前回受信したシーケンス番号以下の場合、制御手段21は、既にこのリクエストデータについては処理をしているので、受信したリクエストデータを破棄して処理を終了する。   In step S1, the control means 21 proceeds to step S2 when the type of received data is request data. In step S2, the control means 21 determines whether or not the newly received sequence number is larger than the previously received sequence number. If the newly received sequence number is less than or equal to the previously received sequence number, the control means 21 has already processed this request data, so the received request data is discarded and the processing ends.

一方、新たに受信したシーケンス番号が、前回受信したシーケンス番号より大きい場合、ステップS3に進む。ステップS3において制御手段21は、受信したリクエストデータの経路更新情報”Updates”欄に、経路更新の内容が設定されている場合、ステップS4において、経路表データ11を更新し、ステップS4に進む。この処理は、後に詳述する。   On the other hand, if the newly received sequence number is larger than the previously received sequence number, the process proceeds to step S3. In step S3, when the content of the route update is set in the route update information “Updates” field of the received request data, the control means 21 updates the route table data 11 in step S4, and proceeds to step S4. This process will be described later in detail.

次に、受信したリクエストデータのシーケンス番号に対応して、シーケンス設定データ12を生成する。具体的にはステップS5において制御手段21は、受信したリクエストデータの集約送信先”Nexthop”の設定値を、集約送信先アドレス13に設定する。ステップS6において制御手段21は、受信したリクエストデータの収集先アドレス”Collector”が設定されている場合、収集先アドレス”Collector”の設定値を、収集先アドレス14に設定する。ステップS7において制御手段21は、受信したリクエストデータの集約割当範囲”Allot”に基づいて、集約割当範囲データ15を生成する。ここで制御手段21は、集約割当範囲”Allot”で特定される各装置1の識別子と、この装置から集約データを受信したか否かを示す受信フラグを対応づけたテーブルを生成するとともに、受信フラグを「未受信」に初期設定する。   Next, sequence setting data 12 is generated corresponding to the sequence number of the received request data. Specifically, in step S <b> 5, the control unit 21 sets the set value of the aggregated transmission destination “Nexthop” of the received request data in the aggregated transmission destination address 13. In step S <b> 6, when the collection destination address “Collector” of the received request data is set, the control unit 21 sets the collection destination address “Collector” to the collection destination address 14. In step S7, the control means 21 generates aggregate allocation range data 15 based on the aggregate allocation range “Allot” of the received request data. Here, the control means 21 generates a table in which the identifier of each device 1 specified by the aggregate allocation range “Allot” is associated with the reception flag indicating whether or not the aggregated data has been received from this device. The flag is initially set to “not received”.

次にステップS8において制御手段21は、受信したリクエストデータの転送深度”Degree”が、0であるか否かを判定する。0でない場合、ステップS9に進む。ステップS9において拡散手段23が、受信したリクエストを処理する。   Next, in step S8, the control means 21 determines whether or not the transfer depth “Degree” of the received request data is zero. If it is not 0, the process proceeds to step S9. In step S9, the spreading means 23 processes the received request.

ステップS8において、制御手段21が受信したリクエストデータの転送深度”Degree”が0と判定された場合、または、ステップS1において、制御手段21が受信したデータが応答データである場合、ステップS10に進む。ステップS10において、集約手段24が、受信したリクエストデータまたは応答データを処理する。   If it is determined in step S8 that the transfer depth “Degree” of the request data received by the control means 21 is 0, or if the data received by the control means 21 is response data in step S1, the process proceeds to step S10. . In step S10, the aggregation unit 24 processes the received request data or response data.

一方ステップS1において、制御手段21が受信したデータが経路表データの場合、ステップS11において制御手段21は、受信した経路表データ11を記憶装置10に記憶する。   On the other hand, if the data received by the control means 21 is route table data in step S1, the control means 21 stores the received route table data 11 in the storage device 10 in step S11.

図11を参照して、本発明の実施の形態に係る拡散手段23による拡散処理を説明する。ここで装置1は、ID=nであり、図7(c)に示す経路表データを保持しているとする。拡散手段23は、受信したリクエストの所定の項目を設定して、ほかの装置にリクエストデータを送信する。   With reference to FIG. 11, the diffusion process by the diffusion means 23 according to the embodiment of the present invention will be described. Here, it is assumed that the device 1 has ID = n and holds the route table data shown in FIG. The spreading means 23 sets predetermined items of the received request and transmits request data to other devices.

拡散手段23は、経路表データ11に基づいて、i=Degree−1から、0までの各iについて、iの降順で、ステップS101ないしステップS105の処理を繰り返す。ここで”Degree”は、受信したリクエストデータの転送深度の設定値である。また、あるEntryに対応する装置が、そのEntryより1大きいEntryに対応する装置と同一の場合、IP(i)=IP(i+1)の場合、このEntry=iに関しては処理がスキップされ、重複リクエストが送信されない。 Based on the routing table data 11, the diffusing unit 23 repeats the processing from step S101 to step S105 in the descending order of i for each i from i = Degree-1 to 0. Here, “Degree” is a set value of the transfer depth of the received request data. If the device corresponding to an Entry is the same as the device corresponding to an Entry that is one larger than that Entry, if IP n (i) = IP n (i + 1), the processing for this Entry = i is skipped, Duplicate requests are not sent.

まずステップS101において拡散手段23は、当該エントリ識別子に対応する装置のID(i)が、集約割当範囲”Allot”の範囲内であるか否かを判断する。ID(i)が、集約割当範囲”Allot”の範囲外である場合、当該エントリ識別子iに関する処理を終了し、次のi−1について処理する。ID(i)が、集約割当範囲”Allot”の範囲内の場合、ステップS102に進む。 First, in step S101, the spreading means 23 determines whether or not the ID n (i) of the device corresponding to the entry identifier is within the range of the aggregate allocation range “Allot”. When ID n (i) is outside the range of the aggregate allocation range “Allot”, the process for the entry identifier i is terminated, and the next i−1 is processed. If ID n (i) is within the range of the aggregate allocation range “Allot”, the process proceeds to step S102.

ステップS102において拡散手段23は、当該エントリ識別子iのID(i)が、集約割当範囲”Allot”の上限値に最も近い場合、集約送信先”Nexthop”を変更しない。一方、それ以外の場合、集約送信先”Nexthop”に、IP(i+1)を設定する。ステップS103において拡散手段23は、集約割当範囲”Allot”に、[ID(0),ID(i)]を設定する。さらに、ステップS104において拡散手段23は、転送深度”Degree”に、iの値を設定する。 In step S102, when the ID n (i) of the entry identifier i is closest to the upper limit value of the aggregate allocation range “Allot”, the spreading means 23 does not change the aggregate transmission destination “Nexthop”. On the other hand, in other cases, IP n (i + 1) is set to the aggregate transmission destination “Nexthop”. In step S < b> 103, the spreading unit 23 sets [ID n (0), ID n (i)] in the aggregate allocation range “Allot”. In step S104, the diffusing unit 23 sets the value of i to the transfer depth “Degree”.

ステップS105において拡散手段23は、ステップS102ないしステップS104の処理によって書き換えられたリクエストデータを、IP(i)の装置に転送する。ここで、シーケンス番号”Sequence”、収集先アドレス”Collector”、経路更新情報”Updates”および収集対象リストの各項目は、書き換えられていない。 In step S105, the diffusing unit 23 transfers the request data rewritten by the processing in steps S102 to S104 to the IP n (i) device. Here, the sequence number “Sequence”, the collection destination address “Collector”, the route update information “Updates”, and each item of the collection target list are not rewritten.

i=Degree−1から、0までの各iについて、デクリメントしながらステップS101ないしステップS105の処理が終了すると、拡散手段23は処理を終了する。   When the processing from step S101 to step S105 is completed while decrementing each i from i = Degree-1 to 0, the diffusing unit 23 ends the processing.

図12を参照して、本発明の実施の形態に係る集約手段24による集約処理を説明する。ここで装置1は、ID=nであり、図7(c)に示す経路表データを保持しているとする。集約手段24は、受信した応答データを自装置集約データ16にマージしつつ、集約割当範囲のすべての装置の集約データを受信すると、応答データの所定の項目を設定して、ほかの装置に応答データを送信する。   With reference to FIG. 12, the aggregation process by the aggregation means 24 which concerns on embodiment of this invention is demonstrated. Here, it is assumed that the device 1 has ID = n and holds the route table data shown in FIG. When the aggregation means 24 merges the received response data with its own device aggregated data 16 and receives aggregated data of all devices within the aggregate allocation range, it sets a predetermined item of response data and responds to another device. Send data.

まずステップS201において集約手段24は、リクエストデータ受信後の処理であるか否かを判定する。集約手段24は、リクエストデータ受信後の処理の場合、具体的には、受信したリクエストデータの転送深度”Degree”に0が設定され、図10のステップS8の判定により集約処理をする場合、ステップS202に進む。   First, in step S201, the aggregation unit 24 determines whether or not the process is after the request data is received. In the case of processing after reception of request data, the aggregation means 24 is specifically set to 0 when the transfer depth “Degree” of the received request data is set, and the aggregation processing is performed according to the determination in step S8 of FIG. The process proceeds to S202.

ステップS202ないしステップS204の処理において集約手段24は、応答データを生成する。具体的にはステップS202において集約手段24は、受信したリクエストデータのシーケンス番号”Sequence”の設定値を、応答データのシーケンス番号”Sequence”に設定する。ステップS203において集約手段24は、集約範囲”Range”の設定値として、[n,ID(0))を設定する。ステップS204において集約手段24は、集約データ項目に、自装置が機器から取得したデータを設定する。 In the processing from step S202 to step S204, the aggregation unit 24 generates response data. Specifically, in step S202, the aggregation unit 24 sets the setting value of the sequence number “Sequence” of the received request data to the sequence number “Sequence” of the response data. In step S203, the aggregation unit 24 sets [n, ID n (0)) as the set value of the aggregation range “Range”. In step S <b> 204, the aggregation unit 24 sets the data acquired from the device by the own device in the aggregation data item.

その後、ステップS211に進む。ステップS211において集約手段24は、シーケンス設定データ12の集約送信先アドレス13で設定された値、具体的には、リクエストデータの”Nexthop”項目で設定されたアドレスに、ステップS202ないしステップS204で生成した応答データを送信する。   Then, it progresses to step S211. In step S211, the aggregation unit 24 generates the value set in the aggregate transmission destination address 13 of the sequence setting data 12, specifically, the address set in the “Nexthop” item of the request data in steps S202 to S204. Response data sent.

一方、ステップS201において、リクエストデータ受信後の処理でないと判定された場合、集約手段24は、ステップS205に進む。ステップS205ないしステップS212の処理において集約手段24は、ほかの装置で生成され、送信された応答データを処理する。   On the other hand, if it is determined in step S201 that the process is not after receiving request data, the aggregation unit 24 proceeds to step S205. In the processing from step S205 to step S212, the aggregation unit 24 processes the response data generated and transmitted by another device.

まずステップS205において集約手段24は、ステップS205において、自装置集約データ16に、受信した応答データに含まれる集約データをマージする。さらにステップS206において集約手段24は、受信した応答データに含まれるシーケンス番号”Sequence”の値に対応する集約割当範囲データ15を更新する。具体的には集約手段24は、受信した応答データの集約範囲”Range”で設定された装置の識別子に対応づけられた受信フラグを「受信済」に変更する。   First, in step S205, the aggregation unit 24 merges the aggregated data included in the received response data with its own apparatus aggregated data 16 in step S205. Further, in step S206, the aggregation unit 24 updates the aggregate allocation range data 15 corresponding to the value of the sequence number “Sequence” included in the received response data. Specifically, the aggregating unit 24 changes the reception flag associated with the device identifier set in the aggregation range “Range” of the received response data to “Received”.

ステップS207において集約手段24は、集約割当範囲データ15を参照して、集約割当範囲データ15の受信フラグがすべて「受信済」に設定されているか否かを判定する。受信済に設定されていない場合、「未受信」の装置からの応答データを待機するため、そのまま処理を終了する。   In step S207, the aggregation unit 24 refers to the aggregate allocation range data 15 and determines whether or not all the reception flags of the aggregate allocation range data 15 are set to “Received”. If it is not set to have been received, the process ends as it is in order to wait for response data from the “unreceived” device.

一方、ステップS207において、集約割当範囲データ15の受信フラグがすべて「受信済」に設定されていると判定された場合、ほかの装置に送信する応答データを生成する。具体的には、ステップS208において、受信した応答データの集約範囲”Range”を、ステップS205で生成した自装置集約データに対応する装置の範囲に更新する。例えば、受信した応答データの集約範囲”Range”が、[s,n)の場合、[s,ID(0))に修正する。ステップS209において集約手段24は、受信した応答データの集約データに、自装置集約データ16を設定する。換言すると、この装置1が送信する応答データの集約データとして、この装置1が集約するべきすべての装置の集約データが設定される。 On the other hand, if it is determined in step S207 that all the reception flags of the aggregate allocation range data 15 are set to “Received”, response data to be transmitted to another device is generated. Specifically, in step S208, the aggregation range “Range” of the received response data is updated to the device range corresponding to the own device aggregation data generated in step S205. For example, when the aggregation range “Range” of the received response data is [s, n), it is corrected to [s, ID n (0)). In step S209, the aggregating unit 24 sets the own apparatus aggregated data 16 in the aggregated data of the received response data. In other words, aggregated data of all devices that should be aggregated by this device 1 is set as aggregated data of response data transmitted by this device 1.

次にステップS210において、自装置が、代表装置であるか否かを判定する。代表装置でない場合、ステップS211において集約手段24は、シーケンス設定データ12の集約送信先アドレス13で設定されたアドレスに、ステップS208ないしステップS209で更新した応答データを送信する。一方、代表装置の場合、ステップS212において集約手段24は、収集先アドレス14が設定されている場合はその収集先アドレスに、設定されていない場合はサーバ2に、ステップS208ないしステップS209で更新した応答データを送信する。   Next, in step S210, it is determined whether the own apparatus is a representative apparatus. If it is not a representative device, the aggregation unit 24 transmits the response data updated in steps S208 to S209 to the address set in the aggregate transmission destination address 13 of the sequence setting data 12 in step S211. On the other hand, in the case of a representative device, in step S212, the aggregation unit 24 updates the collection destination address 14 when the collection destination address 14 is set, or updates the server 2 when the collection destination address 14 is not set, in steps S208 to S209. Send response data.

(具体例)
次に図13ないし図18を参照して、本発明の実施の形態に係る通信方法を説明する。この通信方法では、m=4で、アドレス空間がID=0からID=15までの、それぞれの装置を備えるグループを前提として説明する。ここで、代表装置はID=0の装置である。
(Concrete example)
Next, a communication method according to an embodiment of the present invention will be described with reference to FIGS. This communication method will be described on the premise of a group including each device having m = 4 and an address space of ID = 0 to ID = 15. Here, the representative device is a device with ID = 0.

図13ないし図18に示す例において、一つの装置1の拡散処理または集約処理を、一つのフェーズで示す処理単位として説明する。例えば、一つの装置1が、拡散処理において複数のほかの装置にデータを送信する場合も、一つのフェーズ内での処理とする。また、一つの装置の処理と、ほかの装置の処理とを、並行して実施可能であれば、これらの装置の処理も一つのフェーズ内での処理とする。また図13ないし図18に示す例において、(a)は、拡散におけるデータの流れを示し、(b)は、集約におけるデータの流れを示す。図13は、第1フェーズから第5フェーズまでのデータの流れを示す。図14ないし図18は、それぞれ、第1フェーズから第5フェーズまでの各フェーズにおける装置間のデータの流れを示し、当該フェーズでのデータの流れを実線で、当該フェーズ以前のデータの流れを破線で示す。また、図14ないし図18の(b)において、黒丸は、リクエストデータを受信済の装置を示す。   In the example shown in FIG. 13 to FIG. 18, the diffusion processing or aggregation processing of one device 1 will be described as a processing unit indicated by one phase. For example, when one apparatus 1 transmits data to a plurality of other apparatuses in the spreading process, the process is performed within one phase. If processing of one device and processing of another device can be performed in parallel, the processing of these devices is also processing within one phase. In the examples shown in FIGS. 13 to 18, (a) shows the data flow in spreading, and (b) shows the data flow in aggregation. FIG. 13 shows the data flow from the first phase to the fifth phase. FIG. 14 to FIG. 18 show the flow of data between devices in each phase from the first phase to the fifth phase, respectively. The data flow in the phase is a solid line, and the data flow before the phase is a broken line. It shows with. In FIG. 14 to FIG. 18B, black circles indicate devices that have received request data.

<第1フェーズ>
まず第1フェーズを説明する。
<First phase>
First, the first phase will be described.

IDの装置は、サーバ2からリクエストデータを受信する。リクエストデータの集約割当範囲”Allot”=[ID,ID15]、転送深度”Degree”=m=4、集約送信先アドレス”Nexthop”=IPが設定される。ここでIDの装置は、集約送信先アドレス”Nexthop”が、自身のIPアドレスであるため、自身が代表装置であると把握する。これにより、IDの装置は、IDの装置からID15の集約データを、サーバ2または収集先アドレス14に送信することになる。 The device with ID 0 receives request data from the server 2. The aggregate allocation range of request data “Allot” = [ID 0 , ID 15 ], the transfer depth “Degree” = m = 4, and the aggregate transmission destination address “Nexthop” = IP 0 are set. Here, the device with ID 0 grasps that it is the representative device because the aggregated transmission destination address “Nexthop” is its own IP address. Thus, device ID 0 is, the aggregate data ID 15 from the apparatus ID 0, it will be transmitted to the server 2 or collecting destination address 14.

IDの装置は、受信したリクエストデータから、シーケンス設定データ12を抽出し、自身の記憶装置10に記憶する。またIDの装置は、受信したリクエストデータのDegreeが0でないので、図11の拡散処理を実行する。 The device with ID 0 extracts the sequence setting data 12 from the received request data and stores it in its storage device 10. Further, since the device with ID 0 has a received request data whose Degree is not 0, the spreading process of FIG. 11 is executed.

IDの装置は、0≦i<Degreeの各iについて、降順に図11のステップS101ないしステップS104の処理を繰り返す。これにより、図13(a)の第1フェーズおよび図14(a)に示すように、IDの装置は、受信したリクエストデータを、IDの装置、IDの装置、IDの装置およびIDの装置に送信する。この時点では、Degree=0のリクエストデータを受信した装置はないので、図13(b)の第1フェーズおよび図14(b)には、何ら示されない。 The device with ID 0 repeats the processing from step S101 to step S104 in FIG. 11 in descending order for each i of 0 ≦ i <Degree. As a result, as shown in the first phase of FIG. 13A and FIG. 14A, the device of ID 0 converts the received request data into the device of ID 8 , the device of ID 4 , the device of ID 2 , and Sent to device with ID 1 . At this time, since no device has received the request data with Degree = 0, nothing is shown in the first phase of FIG. 13B and FIG. 14B.

ここで、第1フェーズで送信されるリクエストデータを詳述する。   Here, the request data transmitted in the first phase will be described in detail.

(1−1)IDの装置は、i=3の処理により、ID(3)=IDの装置に、Degree=3、Allot=[ID(0),ID(3)]=[ID,ID]、Nexthop=IPを設定したリクエストデータを送信する。これにより、IDの装置は、IDの装置に、IDの装置からIDの装置の集約データを、IDの装置に送信するよう、リクエストする。ここで、i=受信したリクエストデータのDegree−1のエントリにある装置IDは受信した集約割当範囲[ID,ID15]内で、かつ集約割当範囲の上限値であるID15に最も近いIDであるため、Nexthopは受信したアドレスIPを引き継いで設定する。 (1-1) The device of ID 0 performs the processing of i = 3, the device of ID 0 (3) = ID 8 , and Degree = 3, Allot = [ID 0 (0), ID 0 (3)] = Request data in which [ID 1 , ID 8 ] and Nexthop = IP 0 are set is transmitted. Accordingly, device ID 0 is, the device ID 8, the aggregate data for device ID 8 from the apparatus of ID 1, to transmit to the device ID 0, request. Here, i = the device ID 8 in the Degree-1 entry of the received request data is closest to ID 15 that is the upper limit value of the aggregate allocation range within the received aggregate allocation range [ID 0 , ID 15 ]. Since it is an ID, Nexthop takes over the received address IP 0 and sets it.

(1−2)IDの装置は、i=2の処理により、ID(2)=IDの装置に、Degree=2、Allot=[ID(0),ID(2)]=[ID,ID]、Nexthop=IP(2+1)=IPを設定したリクエストデータを送信する。これにより、IDの装置は、IDの装置に、IDの装置からIDの装置の集約データを、IDの装置に送信するよう、リクエストする。 (1-2) The device with ID 0 performs processing of i = 2 to the device with ID 0 (2) = ID 4 , and Degree = 2, Allot = [ID 0 (0), ID 0 (2)] = Request data in which [ID 1 , ID 4 ] and Nexthop = IP 0 (2 + 1) = IP 8 is transmitted. Accordingly, device ID 0 is, the device ID 4, the aggregate data for device ID 4 from device ID 1, to transmit to the device ID 8, request.

(1−3)IDの装置は、i=1の処理により、ID(1)=IDの装置に、Degree=1、Allot=[ID(0),ID(1)]=[ID,ID]、Nexthop=IP(1+1)=IPを設定したリクエストデータを送信する。これにより、IDの装置は、IDの装置に、IDの装置からIDの装置の集約データを、IDの装置に送信するよう、リクエストする。 (1-3) The device with ID 0 performs processing of i = 1 to the device with ID 0 (1) = ID 2 , and Degree = 1, Allot = [ID 0 (0), ID 0 (1)] = Request data in which [ID 1 , ID 2 ], Nexthop = IP 0 (1 + 1) = IP 4 is transmitted. Accordingly, device ID 0 is, the device ID 2, the aggregate data for device ID 2 from device ID 1, to transmit to the device ID 4, request.

(1−4)IDの装置は、i=0の処理により、ID(0)=IDの装置に、Degree=0、Allot=[ID(0),ID(0)]=[ID,ID]、Nexthop=IP(0+1)=IPを設定したリクエストデータを送信する。これにより、IDの装置は、IDの装置に、IDの装置の集約データを、IDの装置に送信するよう、リクエストする。 (1-4) The device with ID 0 performs processing of i = 0 to the device with ID 0 (0) = ID 1 , and Degree = 0, Allot = [ID 0 (0), ID 0 (0)] = Request data in which [ID 1 , ID 1 ], Nexthop = IP 0 (0 + 1) = IP 2 is transmitted. Accordingly, device ID 0 is, the apparatus ID 1, the aggregate data for device ID 1, to transmit to the device ID 2, requests.

<第2フェーズ>
第2フェーズを説明する。
<Second phase>
The second phase will be described.

第1フェーズで、リクエストデータを受信したIDの装置、IDの装置、IDの装置およびIDの装置は、受信したリクエストデータから、シーケンス設定データ12を抽出し、自身の記憶装置10に記憶する。このうち、Degree>0のリクエストデータを受信したIDの装置、IDの装置およびIDの装置が、それぞれ拡散処理をし、Degree=0のリクエストデータを受信したIDの装置が、集約処理をする。 In the first phase, the device of ID 8 , the device of ID 4 , the device of ID 2 , and the device of ID 1 that received the request data extract the sequence setting data 12 from the received request data, and store their own storage devices 10 To remember. Of these, the ID 8 device, the ID 4 device, and the ID 2 device that have received the request data with Degree> 0 perform the spreading process, and the ID 1 device that has received the request data with Degree = 0 is aggregated. Process.

IDの装置は、(1−3)の処理により、集約割当範囲”Allot”=[ID,ID]、転送深度”Degree”=1、集約送信先アドレス”Nexthop”=IPが設定されたリクエストデータを受信する。IDの装置は、0≦i<Degreeの各iについて、降順に図11のステップS101ないしステップS104の処理を繰り返す。これにより、図13(a)および図15(a)に示すように、IDの装置は、受信したリクエストデータを、IDの装置に送信する。 The apparatus of ID 2 sets the aggregate allocation range “Allot” = [ID 1 , ID 2 ], the transfer depth “Degree” = 1, and the aggregate transmission destination address “Nexthop” = IP 4 by the process (1-3). Received request data. The apparatus of ID 2 repeats the processing from step S101 to step S104 in FIG. 11 in descending order for each i of 0 ≦ i <Degree. As a result, as shown in FIGS. 13A and 15A, the ID 2 device transmits the received request data to the ID 3 device.

IDの装置は、(1−2)の処理により、集約割当範囲”Allot”=[ID,ID]、転送深度”Degree”=2、集約送信先アドレス”Nexthop”=IPが設定されたリクエストデータを受信する。IDの装置は、0≦i<Degreeの各iについて、降順に図11のステップS101ないしステップS104の処理を繰り返す。これにより、図13(a)および図15(a)に示すように、IDの装置は、受信したリクエストデータを、IDの装置およびIDの装置に送信する。 The apparatus of ID 4 sets the aggregate allocation range “Allot” = [ID 1 , ID 4 ], the transfer depth “Degree” = 2, and the aggregate transmission destination address “Nexthop” = IP 8 by the process of (1-2). Received request data. The apparatus of ID 4 repeats the processing from step S101 to step S104 in FIG. 11 in descending order for each i of 0 ≦ i <Degree. As a result, as shown in FIGS. 13A and 15A, the device with ID 4 transmits the received request data to the device with ID 6 and the device with ID 5 .

IDの装置は、(1−1)の処理により、集約割当範囲”Allot”=[ID,ID]、転送深度”Degree”=3、集約送信先アドレス”Nexthop”=IPが設定されたリクエストデータを受信する。IDの装置は、0≦i<Degreeの各iについて、降順に図11のステップS101ないしステップS104の処理を繰り返す。これにより、図13(a)および図15(a)に示すように、IDの装置は、受信したリクエストデータを、ID12の装置、ID10の装置、およびIDの装置に送信する。 The apparatus of ID 8 sets the aggregate allocation range “Allot” = [ID 1 , ID 8 ], the transfer depth “Degree” = 3, and the aggregate transmission destination address “Nexthop” = IP 0 by the process (1-1). Received request data. The device of ID 8 repeats the processing from step S101 to step S104 in FIG. 11 in descending order for each i of 0 ≦ i <Degree. Accordingly, as shown in FIGS. 13A and 15A, the device of ID 8 transmits the received request data to the device of ID 12 , the device of ID 10 , and the device of ID 9 .

一方、IDの装置は、(1−4)の処理により、集約割当範囲”Allot”=[ID,ID]、転送深度”Degree”=0、集約送信先アドレス”Nexthop”=IPが設定されたリクエストデータを受信する。ここで、受信したリクエストデータのDegree=0なので、図12のステップS202ないしステップS204、およびステップS211の処理により、IDの装置は、自装置集約データ16を含む応答データを生成し、IDの装置に送信する。 On the other hand, the device of ID 1 performs the processing of (1-4), the aggregate allocation range “Allot” = [ID 1 , ID 1 ], the transfer depth “Degree” = 0, and the aggregate destination address “Nexthop” = IP 2. Receives request data set with. Here, since Degree = 0 the request data received, step S202 to step S204 of FIG. 12, and the processing of step S211, device ID 1 generates the response data including the self apparatus aggregated data 16, ID 2 To the device.

ここで、第2フェーズで送信されるリクエストデータを詳述する。   Here, the request data transmitted in the second phase will be described in detail.

(2−1)IDの装置は、(1−3)の処理を受けて、i=0の処理により、ID(0)=IDの装置に、Degree=0、Allot=[ID(0),ID(0)]=[ID,ID]、Nexthop=IPを設定したリクエストデータを送信する。これにより、IDの装置は、IDの装置に、IDの装置の集約データを、IDの装置に送信すよう、リクエストする。 (2-1) The device of ID 2 receives the processing of (1-3) and performs processing of i = 0 to the device of ID 2 (0) = ID 3 to Degree = 0, Allot = [ID 2 Request data in which (0), ID 2 (0)] = [ID 3 , ID 3 ] and Nexthop = IP 4 is transmitted. Accordingly, device ID 2 is the device of ID 3, the aggregate data for device ID 3, as to send the device ID 4, request.

(2−2)IDの装置は、(1−2)の処理を受けて、i=1の処理により、ID(1)=IDの装置に、Degree=1、Allot=[ID(0),ID(1)]=[ID,ID]、Nexthop=IPを設定したリクエストデータを送信する。これにより、IDの装置は、IDの装置に、IDの装置からIDの装置の集約データを、IDの装置に送信するよう、リクエストする。 (2-2) The device of ID 4 receives the processing of (1-2), and the processing of i = 1 makes the device of ID 4 (1) = ID 6 Degree = 1, Allot = [ID 4 Request data in which (0), ID 4 (1)] = [ID 5 , ID 6 ], Nexthop = IP 8 is transmitted. Accordingly, device ID 4 is the device of ID 6, the aggregate data for device ID 6 from a device ID 5, to transmit to the device ID 8, request.

(2−3)IDの装置は、(1−2)の処理を受けて、i=0の処理により、ID(0)=IDの装置に、Degree=0、Allot=[ID(0),ID(0)]=[ID,ID]、Nexthop=IP(0+1)=IPを設定したリクエストデータを送信する。これにより、IDの装置は、IDの装置に、IDの装置の集約データを、IDの装置に送信するよう、リクエストする。 (2-3) The device of ID 4 receives the processing of (1-2) and performs processing of i = 0 to the device of ID 4 (0) = ID 5 to Degree = 0, Allot = [ID 4 Request data in which (0), ID 4 (0)] = [ID 5 , ID 5 ], Nexthop = IP 4 (0 + 1) = IP 6 is transmitted. Accordingly, device ID 4 is the device of ID 5, the aggregate data for device ID 5, to transmit to the device ID 6, request.

(2−4)IDの装置は、(1−1)の処理を受けて、i=2の処理により、ID(2)=ID12の装置に、Degree=2、Allot=[ID(0),ID(2)]=[ID,ID12]、Nexthop=IPを設定したリクエストデータを送信する。これにより、IDの装置は、ID12の装置に、IDの装置からID12の装置の集約データを、IDの装置に送信するよう、リクエストする。 (2-4) The device of ID 8 receives the processing of (1-1), and the processing of i = 2 makes the device of ID 8 (2) = ID 12 Degree = 2, Allot = [ID 8 Request data in which (0), ID 8 (2)] = [ID 9 , ID 12 ] and Nexthop = IP 0 are transmitted. Accordingly, device ID 8 is the device ID 12, the aggregate data for device ID 12 from the apparatus ID 9, to transmit the device ID 0, request.

(2−5)IDの装置は、(1−1)の処理を受けて、i=1の処理により、ID(1)=ID10の装置に、Degree=1、Allot=[ID(0),ID(1)]=[ID,ID10]、Nexthop=IP(1+1)=IP12を設定したリクエストデータを送信する。これにより、IDの装置は、ID10の装置に、IDの装置からID10の装置の集約データを、ID12の装置に送信するよう、リクエストする。 (2-5) The device of ID 8 receives the processing of (1-1), and the processing of i = 1 makes the device of ID 8 (1) = ID 10 have Degree = 1, Allot = [ID 8 Request data in which (0), ID 8 (1)] = [ID 9 , ID 10 ], Nexthop = IP 8 (1 + 1) = IP 12 is transmitted. Accordingly, device ID 8 is the apparatus ID 10, the aggregate data for device ID 10 from the apparatus ID 9, to transmit the device ID 12, request.

(2−6)IDの装置は、(1−1)の処理を受けて、i=0の処理により、ID(0)=IDの装置に、Degree=0、Allot=[ID(0),ID(0)]=[ID,ID]、Nexthop=IP(0+1)=IP10を設定したリクエストデータを送信する。これにより、IDの装置は、IDの装置に、IDの装置の集約データを、ID10の装置に送信するよう、リクエストする。 (2-6) The device of ID 8 receives the processing of (1-1), and the processing of i = 0 makes the device of ID 8 (0) = ID 9 Degree = 0, Allot = [ID 8 Request data in which (0), ID 8 (0)] = [ID 9 , ID 9 ], Nexthop = IP 8 (0 + 1) = IP 10 is transmitted. Accordingly, device ID 8 is the apparatus ID 9, the aggregate data for device ID 9, to transmit the device ID 10, request.

ここで、第2フェーズで送信される応答データを詳述する。   Here, the response data transmitted in the second phase will be described in detail.

(2−7)IDの装置は、(1−4)において、Nexthop=IPを設定したリクエストデータを受信する。そこでIDの装置は、(1−4)の処理を受けて、Nexthop=IPの装置に、集約範囲”Range”=[ID(0),ID(0))=[ID,ID)を設定し、このRangeの範囲の集約データを設定した応答データを送信する。これにより、(1−4)でリクエストされたように、IDの装置は、IDの装置の集約データを、IDの装置に送信する。 (2-7) The device with ID 1 receives the request data in which Nexthop = IP 2 is set in (1-4). Therefore, the device of ID 1 receives the processing of (1-4), and the device of Nexthop = IP 2 has the aggregation range “Range” = [ID 0 (0), ID 1 (0)) = [ID 1 , ID 2 ) is set, and response data in which aggregate data in the range of this range is set is transmitted. Thus, as requested by (1-4), the ID 1 apparatus, the aggregate data for device ID 1, and transmits the device ID 2.

<第3フェーズ>
第3フェーズを説明する。
<Third phase>
The third phase will be described.

第2フェーズで、リクエストデータを受信したID12の装置、ID10の装置、IDの装置、IDの装置、IDの装置およびIDの装置は、受信したリクエストデータから、シーケンス設定データ12を抽出し、自身の記憶装置10に記憶する。このうち、Degree>0のリクエストデータを受信したID12の装置、ID10の装置およびIDの装置が、それぞれ拡散処理をする。Degree=0のリクエストデータを受信したIDの装置、IDの装置、およびIDの装置が、それぞれ新たに応答データを生成して、集約処理をする。また、第2フェーズで応答データを受信したIDの装置も、集約処理をする。 In the second phase, the device of ID 12 , the device of ID 10 , the device of ID 9 , the device of ID 6 , the device of ID 5 , and the device of ID 3 that received the request data receive the sequence setting data from the received request data. 12 is extracted and stored in its own storage device 10. Among these, the device of ID 12 , the device of ID 10 , and the device of ID 6 that have received the request data of Degree> 0 each perform a spreading process. The device of ID 9 , the device of ID 5 , and the device of ID 3 that have received the request data of Degree = 0 newly generate response data and perform aggregation processing. In addition, the ID 2 device that has received the response data in the second phase also performs aggregation processing.

IDの装置は、(2−2)の処理により、集約割当範囲”Allot”=[ID,ID]、転送深度”Degree”=1、集約送信先アドレス”Nexthop”=IPが設定されたリクエストデータを受信する。IDの装置は、0≦i<Degreeの各iについて、降順に図11のステップS101ないしステップS104の処理を繰り返す。これにより、図13(a)および図16(a)に示すように、IDの装置は、受信したリクエストデータを、IDの装置に送信する。 The apparatus of ID 6 sets the aggregate allocation range “Allot” = [ID 5 , ID 6 ], the transfer depth “Degree” = 1, and the aggregate destination address “Nexthop” = IP 8 by the process of (2-2). Received request data. The apparatus of ID 6 repeats the processing from step S101 to step S104 in FIG. 11 in descending order for each i of 0 ≦ i <Degree. As a result, as shown in FIGS. 13A and 16A, the device with ID 6 transmits the received request data to the device with ID 7 .

ID10の装置は、(2−5)の処理により、集約割当範囲”Allot”=[ID,ID10]、転送深度”Degree”=1、集約送信先アドレス”Nexthop”=IP12が設定されたリクエストデータを受信する。ID10の装置は、0≦i<Degreeの各iについて、降順に図11のステップS101ないしステップS104の処理を繰り返す。これにより、図13(a)および図16(a)に示すように、ID10の装置は、受信したリクエストデータを、ID11の装置に送信する。 The apparatus of ID 10 sets the aggregate allocation range “Allot” = [ID 9 , ID 10 ], the transfer depth “Degree” = 1, and the aggregate transmission destination address “Nexthop” = IP 12 by the processing of (2-5). Received request data. The apparatus of ID 10 repeats the processing from step S101 to step S104 in FIG. 11 in descending order for each i of 0 ≦ i <Degree. As a result, as shown in FIGS. 13A and 16A, the device with ID 10 transmits the received request data to the device with ID 11 .

ID12の装置は、(2−4)の処理により、集約割当範囲”Allot”=[ID,ID12]、転送深度”Degree”=2、集約送信先アドレス”Nexthop”=IPが設定されたリクエストデータを受信する。ID12の装置は、0≦i<Degreeの各iについて、降順に図11のステップS101ないしステップS104の処理を繰り返す。これにより、図13(a)および図16(a)に示すように、ID12の装置は、受信したリクエストデータを、ID13の装置、およびID14の装置に送信する。 The apparatus of ID 12 sets the aggregate allocation range “Allot” = [ID 9 , ID 12 ], the transfer depth “Degree” = 2, and the aggregate transmission destination address “Nexthop” = IP 0 by the processing of (2-4). Received request data. The apparatus of ID 12 repeats the processing from step S101 to step S104 in FIG. 11 in descending order for each i of 0 ≦ i <Degree. As a result, as shown in FIGS. 13A and 16A, the device of ID 12 transmits the received request data to the device of ID 13 and the device of ID 14 .

一方、IDの装置は、(2−1)の処理により、集約割当範囲”Allot”=[ID,ID]、転送深度”Degree”=0、集約送信先アドレス”Nexthop”=IPが設定されたリクエストデータを受信する。ここで、受信したリクエストデータのDegree=0なので、図12のステップS202ないしステップS204、およびステップS211の処理により、IDの装置は、自装置集約データ16を含む応答データを生成し、IDの装置に送信する。 On the other hand, the apparatus of ID 3 performs the process of (2-1), the aggregate allocation range “Allot” = [ID 3 , ID 3 ], the transfer depth “Degree” = 0, and the aggregate transmission destination address “Nexthop” = IP 4. Receives request data set with. Here, since Degree = 0 the request data received, step S202 to step S204 of FIG. 12, and the processing of step S211, device ID 3 generates response data including the self apparatus aggregated data 16, ID 4 To the device.

IDの装置は、(2−3)の処理により、集約割当範囲”Allot”=[ID,ID]、転送深度”Degree”=0、集約送信先アドレス”Nexthop”=IPが設定されたリクエストデータを受信する。ここで、受信したリクエストデータのDegree=0なので、図12のステップS202ないしステップS204、およびステップS211の処理により、IDの装置は、自装置集約データ16を含む応答データを生成し、IDの装置に送信する。 The apparatus of ID 5 sets the aggregate allocation range “Allot” = [ID 5 , ID 5 ], the transfer depth “Degree” = 0, and the aggregate transmission destination address “Nexthop” = IP 6 by the process of (2-3). Received request data. Here, since Degree = 0 the request data received, step S202 to step S204 of FIG. 12, and the processing of step S211, device ID 5 generates response data including the self apparatus aggregated data 16, ID 6 To the device.

IDの装置は、(2−6)の処理により、集約割当範囲”Allot”=[ID,ID]、転送深度”Degree”=0、集約送信先アドレス”Nexthop”=IP10が設定されたリクエストデータを受信する。ここで、受信したリクエストデータのDegree=0なので、図12のステップS202ないしステップS204、およびステップS211の処理により、IDの装置は、自装置集約データ16を含む応答データを生成し、ID10の装置に送信する。 The apparatus of ID 9 sets the aggregate allocation range “Allot” = [ID 9 , ID 9 ], the transfer depth “Degree” = 0, and the aggregate transmission destination address “Nexthop” = IP 10 by the processing of (2-6). Received request data. Here, since Degree = 0 the request data received, step S202 to step S204 of FIG. 12, and the processing of step S211, device ID 9 generates response data including the self apparatus aggregated data 16, ID 10 To the device.

またIDの装置は、(2−7)の処理により、IDの装置から、IDの装置の集約データを含み、集約範囲”Range”=[ID,ID)が設定された応答データを受信する。ここでIDの装置は、(1−3)の処理により、IDの装置からIDの装置の集約データを、IDの装置に送信するようリクエストされている。従って、IDの装置は、(2−7)の処理で受信したIDの装置の集約データと、自身の集約データとあわせて、IDの装置からIDの装置の集約データを、IDの装置に送信する。 In response to the processing of (2-7), the ID 2 device includes the aggregated data of the ID 1 device from the ID 1 device, and a response in which the aggregation range “Range” = [ID 1 , ID 2 ) is set. Receive data. Here, the device of ID 2 is requested to transmit the aggregated data of the device of ID 2 from the device of ID 1 to the device of ID 4 by the process (1-3). Accordingly, the ID 2 device combines the aggregated data of the ID 1 device received in the process (2-7) and the aggregated data of the ID 1 device with the aggregated data of the ID 2 device from the ID 1 device. 4 device.

ここで、第3フェーズで送信されるリクエストデータを詳述する。   Here, the request data transmitted in the third phase will be described in detail.

(3−1)IDの装置は、(2−2)の処理を受けて、i=0の処理により、ID(0)=IDの装置に、Degree=0、Allot=[ID(0),ID(0)]=[ID,ID]、Nexthop=IPを設定したリクエストデータを送信する。これにより、IDの装置は、IDの装置に、IDの装置の集約データを、IDの装置に送信するようリクエストする。 (3-1) The device of ID 6 receives the processing of (2-2) and performs processing of i = 0 to the device of ID 6 (0) = ID 7 to Degree = 0, Allot = [ID 6 Request data in which (0), ID 6 (0)] = [ID 7 , ID 7 ], Nexthop = IP 8 is transmitted. Accordingly, device ID 6 is the device ID 7, the aggregate data for device ID 7, to request to transmit the device ID 8.

(3−2)ID10の装置は、(2−5)の処理を受けて、i=0の処理により、ID10(0)=ID11の装置に、Degree=0、Allot=[ID10(0),ID10(0)]=[ID11,ID11]、Nexthop=IP12を設定したリクエストデータを送信する。これにより、ID10の装置は、ID11の装置に、ID11の装置の集約データを、ID12の装置に送信するようリクエストする。 (3-2) The device of ID 10 receives the processing of (2-5), and the processing of i = 0, the device of ID 10 (0) = ID 11 is changed to Degree = 0, Allot = [ID 10 Request data in which (0), ID 10 (0)] = [ID 11 , ID 11 ], Nexthop = IP 12 is transmitted. Accordingly, device ID 10 is the device ID 11, the aggregate data for device ID 11, to request to transmit the device ID 12.

(3−3)ID12の装置は、(2−4)の処理を受けて、i=1の処理により、ID12(1)=ID14の装置に、Degree=1、Allot=[ID12(0),ID12(1)]=[ID13,ID14]、Nexthop=IPを設定したリクエストデータを送信する。これにより、ID12の装置は、ID14の装置に、ID13の装置からID14の装置の集約データを、IDの装置に送信するよう、リクエストする。 (3-3) The device of ID 12 receives the processing of (2-4), and the processing of i = 1 makes the device of ID 12 (1) = ID 14 have Degree = 1, Allot = [ID 12 Request data in which (0), ID 12 (1)] = [ID 13 , ID 14 ], Nexthop = IP 0 is transmitted. Accordingly, device ID 12 is the device ID 14, the aggregate data for device ID 14 from the apparatus ID 13, to transmit the device ID 0, request.

(3−4)ID12の装置は、(2−4)の処理を受けて、i=0の処理により、ID12(0)=ID13の装置に、Degree=0、Allot=[ID12(0),ID12(0)]=[ID13,ID13]、Nexthop=IP12(0+1)=IP14を設定したリクエストデータを送信する。これにより、ID12の装置は、ID13の装置に、ID13の装置の集約データを、ID14の装置に送信するようリクエストする。 (3-4) The device of ID 12 receives the processing of (2-4) and performs processing of i = 0 to the device of ID 12 (0) = ID 13 to Degree = 0, Allot = [ID 12 Request data in which (0), ID 12 (0)] = [ID 13 , ID 13 ], Nexthop = IP 12 (0 + 1) = IP 14 is transmitted. Accordingly, device ID 12 is the device ID 13, the aggregate data for device ID 13, to request to transmit the device ID 14.

ここで、第3フェーズで送信される応答データを詳述する。   Here, the response data transmitted in the third phase will be described in detail.

(3−5)IDの装置は、(2−7)の処理により、IDの装置の集約データを含む応答データを受信する。ここでIDの装置は、(1−3)の処理により、IDの装置からIDの装置の集約データを、IDの装置に送信するようリクエストされている。従って、IDの装置は、(2−7)で受信したIDの装置の集約データと、自身の集約データとあわせて、IDの装置からIDの装置の集約データを、IDの装置に送信する。 (3-5) The device of ID 2 receives the response data including the aggregated data of the device of ID 1 by the process of (2-7). Here, the device of ID 2 is requested to transmit the aggregated data of the device of ID 2 from the device of ID 1 to the device of ID 4 by the process (1-3). Thus, the device of the ID 2 is (2-7) together and aggregate data for device ID 1 received, with their aggregate data, from a device ID 1 aggregated data devices ID 2, the ID 4 Send to device.

(3−6)IDの装置は、(2−1)において、Nexthop=IPを設定したリクエストデータを受信する。そこでIDの装置は、(2−1)の処理を受けて、Nexthop=IPの装置に、集約範囲”Range”=[ID(0),ID(0))=[ID,ID)を設定し、このRangeの範囲の集約データを設定した応答データを送信する。これにより、(2−1)でリクエストされたように、IDの装置は、IDの装置の集約データを、IDの装置に送信する。 (3-6) The device of ID 3 receives the request data in which Nexthop = IP 4 is set in (2-1). So device ID 3 receives the process (2-1), the apparatus Nexthop = IP 4, aggregate range "Range" = [ID 2 ( 0), ID 3 (0)) = [ID 3, ID 4 ) is set, and response data in which aggregate data in the range of this range is set is transmitted. Thus, as requested by (2-1), device ID 3 is the aggregate data for device ID 3, and transmits the device ID 4.

(3−7)IDの装置は、(2−3)において、Nexthop=IPを設定したリクエストデータを受信する。そこでIDの装置は、(2−3)の処理を受けて、Nexthop=IPの装置に、集約範囲”Range”=[ID(0),ID(0))=[ID,ID)を設定し、このRangeの範囲の集約データを設定した応答データを送信する。これにより、(2−3)でリクエストされたように、IDの装置は、IDの装置の集約データを、IDの装置に送信する。 (3-7) The device of ID 5 receives the request data in which Nexthop = IP 6 is set in (2-3). Therefore, the device of ID 5 receives the processing of (2-3), and the nexthop = IP 6 device receives the aggregation range “Range” = [ID 4 (0), ID 5 (0)) = [ID 5 , ID 6 ) is set, and response data in which aggregate data in the range of this range is set is transmitted. Thus, as requested by (2-3), device ID 5 is the aggregate data for device ID 5, and transmits to the device ID 6.

(3−8)IDの装置は、(2−6)において、Nexthop=IP10を設定したリクエストデータを受信する。そこでIDの装置は、(2−6)の処理を受けて、Nexthop=IP10の装置に、集約範囲”Range”=[ID(0),ID(0))=[ID,ID10)を設定し、このRangeの範囲の集約データを設定した応答データを送信する。これにより、(2−6)でリクエストされたように、IDの装置は、IDの装置の集約データを、ID10の装置に送信する。 (3-8) The device of ID 9 receives the request data in which Nexthop = IP 10 is set in (2-6). Therefore, the device of ID 9 receives the processing of (2-6), and the nexthop = IP 10 device receives the aggregation range “Range” = [ID 8 (0), ID 9 (0)) = [ID 9 , ID 10 ) is set, and response data in which aggregate data in the range of this range is set is transmitted. Thus, as requested by (2-6), device ID 9 are aggregated data devices ID 9, and transmits the device ID 10.

<第4フェーズ>
第4フェーズを説明する。
<Fourth phase>
The fourth phase will be described.

第3フェーズで、リクエストデータを受信したID14の装置、ID13の装置、ID11の装置およびIDの装置は、受信したリクエストデータから、シーケンス設定データ12を抽出し、自身の記憶装置10に記憶する。このうち、Degree>0のリクエストデータを受信したID14の装置が、拡散処理をする。Degree=0のリクエストデータを受信したID13の装置、ID11の装置、およびIDの装置が、それぞれ新たに応答データを生成して、集約処理をする。また、第3フェーズで応答データを受信したIDの装置、IDの装置およびID10の装置も、集約処理をする。 In the third phase, the device of ID 14 , the device of ID 13 , the device of ID 11 , and the device of ID 7 that have received the request data extract the sequence setting data 12 from the received request data, and their own storage device 10 To remember. Among these, the device of ID 14 that has received the request data of Degree> 0 performs the spreading process. The ID 13 device, the ID 11 device, and the ID 7 device that have received the request data for Degree = 0 newly generate response data and perform aggregation processing. The ID 4 device, the ID 6 device, and the ID 10 device that have received the response data in the third phase also perform aggregation processing.

ID14の装置は、(3−3)の処理により、集約割当範囲”Allot”=[ID13,ID14]、転送深度”Degree”=1、集約送信先アドレス”Nexthop”=IPが設定されたリクエストデータを受信する。ID14の装置は、0≦i<Degreeの各iについて、降順に図11のステップS101ないしステップS104の処理を繰り返す。これにより、図13(a)および図17(a)に示すように、ID14の装置は、受信したリクエストデータを、ID15の装置に送信する。 The apparatus of ID 14 sets the aggregate allocation range “Allot” = [ID 13 , ID 14 ], the transfer depth “Degree” = 1, and the aggregate transmission destination address “Nexthop” = IP 0 by the processing of (3-3). Received request data. The device of ID 14 repeats the processing from step S101 to step S104 in FIG. 11 in descending order for each i of 0 ≦ i <Degree. Thereby, as shown in FIG. 13A and FIG. 17A, the device of ID 14 transmits the received request data to the device of ID 15 .

一方、IDの装置は、(3−1)の処理により、集約割当範囲”Allot”=[ID,ID]、転送深度”Degree”=0、集約送信先アドレス”Nexthop”=IPが設定されたリクエストデータを受信する。ここで、受信したリクエストデータのDegree=0なので、図12のステップS202ないしステップS204、およびステップS211の処理により、IDの装置は、自装置集約データ16を含む応答データを生成し、IDの装置に送信する。 On the other hand, the device of ID 7 performs the processing of (3-1), the aggregate allocation range “Allot” = [ID 7 , ID 7 ], the transfer depth “Degree” = 0, and the aggregate transmission destination address “Nexthop” = IP 8. Receives request data set with. Here, since Degree = 0 the request data received, step S202 to step S204 of FIG. 12, and the processing of step S211, device ID 7 generates response data including the self apparatus aggregated data 16, ID 8 To the device.

ID11の装置は、(3−2)の処理により、集約割当範囲”Allot”=[ID11,ID11]、転送深度”Degree”=0、集約送信先アドレス”Nexthop”=IP12が設定されたリクエストデータを受信する。ここで、受信したリクエストデータのDegree=0なので、図12のステップS202ないしステップS204、およびステップS211の処理により、ID11の装置は、自装置集約データ16を含む応答データを生成し、ID12の装置に送信する。 The apparatus of ID 11 sets the aggregate allocation range “Allot” = [ID 11 , ID 11 ], the transfer depth “Degree” = 0, and the aggregate transmission destination address “Nexthop” = IP 12 by the process of (3-2). Received request data. Here, since Degree = 0 the request data received, step S202 to step S204 of FIG. 12, and the processing of step S211, device ID 11 generates response data including the self apparatus aggregated data 16, ID 12 To the device.

ID13の装置は、(3−4)の処理により、集約割当範囲”Allot”=[ID13,ID13]、転送深度”Degree”=0、集約送信先アドレス”Nexthop”=IP14が設定されたリクエストデータを受信する。ここで、受信したリクエストデータのDegree=0なので、図12のステップS202ないしステップS204、およびステップS211の処理により、ID13の装置は、自装置集約データ16を含む応答データを生成し、ID14の装置に送信する。 The apparatus of ID 13 sets the aggregate allocation range “Allot” = [ID 13 , ID 13 ], the transfer depth “Degree” = 0, and the aggregate transmission destination address “Nexthop” = IP 14 by the processing of (3-4). Received request data. Here, since Degree = 0 the request data received, step S202 to step S204 of FIG. 12, and the processing of step S211, device ID 13 generates response data including the self apparatus aggregated data 16, ID 14 To the device.

またIDの装置は、(3−5)の処理により、集約範囲”Range”=[ID,ID)が設定された応答データを受信するとともに、(3−6)の処理により、集約範囲”Range”=[ID,ID)が設定された応答データを受信する。ここでIDの装置は、(1−2)の処理により、IDの装置からIDの装置の集約データを、IDの装置に送信するようリクエストされている。従って、図12のステップS205からステップS211の処理により、IDの装置は、(3−5)および(3−6)で受信したIDの装置からIDの装置の集約データと、自身の集約データとあわせて、IDの装置からIDの装置の集約データを、IDの装置に送信する。 The device of ID 4 receives the response data in which the aggregation range “Range” = [ID 1 , ID 3 ) is set by the processing of (3-5), and aggregates by the processing of (3-6). Response data in which the range “Range” = [ID 3 , ID 4 ) is set is received. Here, the device of ID 4 is requested to transmit the aggregated data of the device of ID 4 from the device of ID 1 to the device of ID 8 by the process (1-2). Accordingly, by the processing from step S205 to step S211 in FIG. 12, the device of ID 4 receives the aggregated data of the device of ID 3 from the device of ID 1 received in (3-5) and (3-6), and its own Together with the aggregated data, the aggregated data of the apparatus with ID 4 is transmitted from the apparatus with ID 1 to the apparatus with ID 8 .

IDの装置は、(3−7)の処理により、集約範囲”Range”=[ID,ID)が設定された応答データを受信する。ここでIDの装置は、(2−2)の処理により、IDの装置からIDの装置の集約データを、IDの装置に送信するようリクエストされている。従って、図12のステップS205からステップS211の処理により、IDの装置は、(3−7)で受信したIDの装置の集約データと、自身の集約データとあわせて、IDの装置からIDの装置の集約データを、IDの装置に送信する。 Device ID 6 is (3-7) by treatment with, for receiving the aggregate range "Range" = [response data ID 5, ID 6) is set. Here, the device of ID 6 is requested to transmit the aggregated data of the device of ID 6 from the device of ID 5 to the device of ID 8 by the process (2-2). Accordingly, by the processing from step S205 to step S211 in FIG. 12, the device of ID 6 adds the aggregated data of the device of ID 5 received in (3-7) and the aggregated data of itself to the device of ID 5 . The aggregated data of the device with ID 6 is transmitted to the device with ID 8 .

ID10の装置は、(3−8)の処理により、集約範囲”Range”=[ID,ID10)が設定された応答データを受信する。ここでID10の装置は、(2−5)の処理により、IDの装置からID10の装置の集約データを、ID12の装置に送信するようリクエストされている。従って、図12のステップS205からステップS211の処理により、ID10の装置は、(3−8)で受信したIDの装置の集約データと、自身の集約データとあわせて、IDの装置からID10の装置の集約データを、ID12の装置に送信する。 Device ID 10 is (3-8) by treatment with, receives the response data intensive range "Range" = [ID 9, ID 10) is set. Here, the device of ID 10 is requested to transmit the aggregated data of the device of ID 10 from the device of ID 9 to the device of ID 12 by the process (2-5). Accordingly, by the processing from step S205 to step S211 in FIG. 12, the device of ID 10 adds the aggregated data of the device of ID 9 received in (3-8) and its aggregated data from the device of ID 9 together. The aggregated data of the device with ID 10 is transmitted to the device with ID 12 .

ここで、第4フェーズで送信されるリクエストデータを詳述する。   Here, the request data transmitted in the fourth phase will be described in detail.

(4−1)ID14の装置は、(3−3)の処理を受けて、i=0の処理により、ID14(0)=ID15の装置に、Degree=0、Allot=[ID14(0),ID14(0)]=[ID15,ID15]、Nexthop=IP0を設定したリクエストデータを送信する。これにより、ID14の装置は、ID15の装置に、ID15の装置の集約データを、IDの装置に送信するようリクエストする。 (4-1) The device of ID 14 receives the processing of (3-3) and performs processing of i = 0 to the device of ID 14 (0) = ID 15 to Degree = 0, Allot = [ID 14 Request data in which (0), ID 14 (0)] = [ID 15 , ID 15 ], Nexthop = IP 0 is transmitted. Accordingly, device ID 14 is the device ID 15, the aggregate data for device ID 15, to request to transmit the device ID 0.

ここで、第4フェーズで送信される応答データを詳述する。   Here, the response data transmitted in the fourth phase will be described in detail.

(4−2)IDの装置は、(3−5)の処理により、IDの装置からIDの装置の集約データを含む応答データを受信するとともに、(3−6)の処理により、IDの装置の集約データを含む応答データを受信する。ここでIDの装置は、(1−2)の処理により、IDの装置からIDの装置の集約データを、IDの装置に送信するようリクエストされている。従って、IDの装置は、(3−5)および(3−6)で受信したIDの装置からIDの装置の集約データと、自身の集約データとあわせて、IDの装置からIDの装置の集約データを、IDの装置に送信する。 (4-2) The device of ID 4 receives the response data including the aggregated data of the device of ID 2 from the device of ID 1 by the processing of (3-5), and the processing of (3-6) Response data including aggregated data of the device with ID 3 is received. Here, the device of ID 4 is requested to transmit the aggregated data of the device of ID 4 from the device of ID 1 to the device of ID 8 by the process (1-2). Therefore, the device with ID 4 receives the ID from the device with ID 1 together with the aggregated data of the device with ID 3 from the devices with ID 1 received in (3-5) and (3-6), and its own aggregated data. The aggregated data of the device of 4 is transmitted to the device of ID 8 .

(4−3)IDの装置は、(3−7)の処理により、IDの装置の集約データを含む応答データを受信する。ここでIDの装置は、(2−2)の処理により、IDの装置からIDの装置の集約データを、IDの装置に送信するようリクエストされている。従って、IDの装置は、(3−7)で受信したIDの装置の集約データと、自身の集約データとあわせて、IDの装置からIDの装置の集約データを、IDの装置に送信する。 (4-3) The device of ID 6 receives the response data including the aggregated data of the device of ID 5 by the process of (3-7). Here, the device of ID 6 is requested to transmit the aggregated data of the device of ID 6 from the device of ID 5 to the device of ID 8 by the process (2-2). Thus, the device of the ID 6 is (3-7) together and aggregate data for device ID 5 received, its own aggregated data, from the device ID 5 aggregated data devices ID 6, the ID 8 Send to device.

(4−4)IDの装置は、(3−1)において、Nexthop=IPを設定したリクエストデータを受信する。そこでIDの装置は、(3−1)の処理を受けて、Nexthop=IPの装置に、集約範囲”Range”=[ID(0),ID(0))=[ID,ID)を設定し、このRangeの範囲の集約データを設定した応答データを送信する。これにより、(3−1)でリクエストされたように、IDの装置は、IDの装置の集約データを、IDの装置に送信する。 (4-4) The device with ID 7 receives the request data in which Nexthop = IP 8 is set in (3-1). So device ID 7 receives the process (3-1), the apparatus Nexthop = IP 8, aggregate range "Range" = [ID 6 ( 0), ID 7 (0)) = [ID 7, ID 8 ) is set, and response data in which aggregate data in the range of this range is set is transmitted. Thus, as requested by (3-1), device ID 7 is the aggregate data for device ID 7, and transmits the device ID 8.

(4−5)ID10の装置は、(3−8)の処理により、IDの装置の集約データを含む応答データを受信する。ここでID10の装置は、(2−5)の処理により、IDの装置からID10の装置の集約データを、ID12の装置に送信するようリクエストされている。従って、ID10の装置は、(3−8)で受信したIDの装置の集約データと、自身の集約データとあわせて、IDの装置からID10の装置の集約データを、ID12の装置に送信する。 (4-5) The device of ID 10 receives the response data including the aggregated data of the device of ID 9 by the process of (3-8). Here, the device of ID 10 is requested to transmit the aggregated data of the device of ID 10 from the device of ID 9 to the device of ID 12 by the process (2-5). Thus, apparatus ID 10 is (3-8) together and aggregate data for device ID 9 received, its own aggregated data, from the device ID 9 aggregated data devices ID 10, the ID 12 Send to device.

(4−6)ID11の装置は、(3−2)において、Nexthop=IP12を設定したリクエストデータを受信する。そこでID11の装置は、(3−2)の処理を受けて、Nexthop=IP12の装置に、集約範囲”Range”=[ID10(0),ID11(0))=[ID11,ID12)を設定し、このRangeの範囲の集約データを設定した応答データを送信する。これにより、(3−2)でリクエストされたように、ID11の装置は、ID11の装置の集約データを、ID12の装置に送信する。 (4-6) The device with ID 11 receives the request data in which Nexthop = IP 12 is set in (3-2). Accordingly, the device of ID 11 receives the processing of (3-2), and the device of Nexthop = IP 12 receives the aggregation range “Range” = [ID 10 (0), ID 11 (0)) = [ID 11 , ID 12 ) is set, and response data in which aggregate data in the range of this range is set is transmitted. Thus, as requested by (3-2), device ID 11 is the aggregate data for device ID 11, and transmits the device ID 12.

(4−7)ID13の装置は、(3−4)において、Nexthop=IP14を設定したリクエストデータを受信する。そこでID13の装置は、(3−4)の処理を受けて、Nexthop=IP14の装置に、集約範囲”Range”=[ID12(0),ID13(0))=[ID13,ID14)を設定し、このRangeの範囲の集約データを設定した応答データを送信する。これにより、(3−4)でリクエストされたように、ID13の装置は、ID13の装置の集約データを、ID14の装置に送信する。 (4-7) The device of ID 13 receives the request data in which Nexthop = IP 14 is set in (3-4). Therefore, the device of ID 13 receives the processing of (3-4), and the device of Nexthop = IP 14 receives the aggregation range “Range” = [ID 12 (0), ID 13 (0)) = [ID 13 , ID 14 ) is set, and response data in which aggregated data in the range of this range is set is transmitted. Thus, as requested by (3-4), device ID 13 is the aggregate data for device ID 13, and transmits the device ID 14.

<第5フェーズ>
第5フェーズを説明する。
<Fifth phase>
The fifth phase will be described.

第4フェーズで、リクエストデータを受信したID15の装置は、受信したリクエストデータから、シーケンス設定データ12を抽出し、自身の記憶装置10に記憶する。Degree=0のリクエストデータを受信したID15の装置は、新たに応答データを生成して、集約処理をする。また、第4フェーズで応答データを受信したIDの装置、ID12の装置およびID14の装置も、集約処理をする。 In the fourth phase, the device of ID 15 that has received the request data extracts the sequence setting data 12 from the received request data and stores it in its own storage device 10. The device of ID 15 that has received the request data with Degree = 0 newly generates response data and performs aggregation processing. Further, the ID 8 device, the ID 12 device, and the ID 14 device that received the response data in the fourth phase also perform aggregation processing.

ID15の装置は、(4−1)の処理により、集約割当範囲”Allot”=[ID15,ID15]、転送深度”Degree”=0、集約送信先アドレス”Nexthop”=IPが設定されたリクエストデータを受信する。ここで、受信したリクエストデータのDegree=0なので、図12のステップS202ないしステップS204、およびステップS211の処理により、ID15の装置は、自装置集約データ16を含む応答データを生成し、IDの装置に送信する。 The apparatus of ID 15 sets the aggregate allocation range “Allot” = [ID 15 , ID 15 ], the transfer depth “Degree” = 0, and the aggregate transmission destination address “Nexthop” = IP 0 by the process of (4-1). Received request data. Here, since Degree = 0 the request data received, step S202 to step S204 of FIG. 12, and the processing of step S211, device ID 15 generates response data including the self apparatus aggregated data 16, ID 0 To the device.

またIDの装置は、(4−2)の処理により、集約範囲”Range”=[ID,ID)が設定された応答データを受信するとともに、(4−3)の処理により、集約範囲”Range”=[ID,ID)が設定された応答データを受信し、(4−4)の処理により、集約範囲”Range”=[ID,ID)が設定された応答データを受信する。ここでIDの装置は、(1−1)の処理により、IDの装置からIDの装置の集約データを、IDの装置に送信するようリクエストされている。従って、図12のステップS205からステップS211の処理により、IDの装置は、(4−2)、(4−3)および(4−4)で受信したIDの装置からIDの装置の集約データと、自身の集約データとあわせて、IDの装置からIDの装置の集約データを、IDの装置に送信する。 The device of ID 8 receives the response data in which the aggregation range “Range” = [ID 1 , ID 5 ) is set by the process (4-2), and aggregates by the process (4-3). The response data in which the range “Range” = [ID 5 , ID 7 ) is set is received, and the response data in which the aggregation range “Range” = [ID 7 , ID 8 ) is set by the process (4-4) Receive. Here, the device of ID 8 is requested to transmit the aggregated data of the device of ID 8 from the device of ID 1 to the device of ID 0 by the process (1-1). Accordingly, by the processing from step S205 to step S211 in FIG. 12, the device of ID 8 changes from the device of ID 1 received in (4-2), (4-3) and (4-4) to the device of ID 7 . and aggregated data, together with their aggregate data, the aggregate data for device ID 8 from the apparatus of ID 1, and transmits the device ID 0.

ID12の装置は、(4−5)の処理により、集約範囲”Range”=[ID,ID11)が設定された応答データを受信するとともに、(4−6)の処理により、集約範囲”Range”=[ID11,ID12)が設定された応答データを受信する。ここでID12の装置は、(2−4)の処理により、IDの装置からID12の装置の集約データを、IDの装置に送信するようリクエストされている。従って、図12のステップS205からステップS211の処理により、ID12の装置は、(4−5)および(4−6)で受信したIDの装置からID11の装置の集約データと、自身の集約データとあわせて、IDの装置からID12の装置の集約データを、IDの装置に送信する。 The apparatus of ID 12 receives the response data in which the aggregation range “Range” = [ID 9 , ID 11 ) is set by the process (4-5), and the aggregation range by the process (4-6). Response data in which “Range” = [ID 11 , ID 12 ) is set is received. Here, the device of ID 12 is requested to transmit the aggregated data of the device of ID 12 from the device of ID 9 to the device of ID 0 by the process (2-4). Accordingly, through the processing from step S205 to step S211 in FIG. 12, the device of ID 12 receives the aggregated data of the device of ID 11 from the device of ID 9 received in (4-5) and (4-6), and its own Together with the aggregated data, the aggregated data of the apparatus with ID 12 is transmitted from the apparatus with ID 9 to the apparatus with ID 0 .

ID14の装置は、(4−7)の処理により、集約範囲”Range”=[ID13,ID14)が設定された応答データを受信する。ここでID14の装置は、(3−3)の処理により、ID13の装置からID14の装置の集約データを、IDの装置に送信するようリクエストされている。従って、図12のステップS205からステップS211の処理により、ID14の装置は、(4−7)で受信したID13の装置の集約データと、自身の集約データとあわせて、ID13の装置からID14の装置の集約データを、IDの装置に送信する。 Device ID 14 is (4-7) by treatment with, for receiving the aggregate range "Range" = [response data ID 13, ID 14) is set. Here, the device of ID 14 is requested to transmit the aggregated data of the device of ID 14 from the device of ID 13 to the device of ID 0 by the process of (3-3). Accordingly, by the processing from step S205 to step S211 in FIG. 12, the device of ID 14 adds the aggregated data of the device of ID 13 received in (4-7) and the aggregated data of ID 13 from the device of ID 13 . The aggregated data of the device with ID 14 is transmitted to the device with ID 0 .

ここで、第5フェーズで送信される応答データを詳述する。   Here, the response data transmitted in the fifth phase will be described in detail.

(5−1)IDの装置は、(4−2)、(4−3)および(4−4)の処理により、IDの装置からIDの装置の集約データを含む応答データを受信する。ここでIDの装置は、(1−1)の処理により、IDの装置からIDの装置の集約データを、IDの装置に送信するようリクエストされている。従って、IDの装置は、(4−2)、(4−3)および(4−4)で受信したIDの装置からIDの装置の集約データと、自身の集約データとあわせて、ID1の装置からIDの装置の集約データを、IDの装置に送信する。 (5-1) The device of ID 8 receives response data including aggregated data of the device of ID 7 from the device of ID 1 through the processes of (4-2), (4-3) and (4-4). To do. Here, the device of ID 8 is requested to transmit the aggregated data of the device of ID 8 from the device of ID 1 to the device of ID 0 by the process (1-1). Therefore, the device of ID 8 combines the aggregated data of the device of ID 7 from the device of ID 1 received in (4-2), (4-3) and (4-4) with its own aggregated data. The aggregated data of the device of ID 8 is transmitted from the device of ID 1 to the device of ID 0 .

(5−2)ID12の装置は、(4−5)および(4−6)の処理により、IDの装置からID11の装置の集約データを含む応答データを受信する。ここでID12の装置は、(2−4)の処理により、IDの装置からID12の装置の集約データを、IDの装置に送信するようリクエストされている。従って、ID12の装置は、(4−5)および(4−6)で受信したIDの装置からID11の装置の集約データと、自身の集約データとあわせて、IDの装置からID12の装置の集約データを、IDの装置に送信する。 (5-2) The device of ID 12 receives response data including aggregated data of the device of ID 11 from the device of ID 9 by the processes of (4-5) and (4-6). Here, the device of ID 12 is requested to transmit the aggregated data of the device of ID 12 from the device of ID 9 to the device of ID 0 by the process (2-4). Accordingly, the device of ID 12 receives the ID data from the device of ID 9 together with the aggregated data of the device of ID 11 from the devices of ID 9 received in (4-5) and (4-6) and its own aggregated data. The aggregated data of 12 devices is transmitted to the device with ID 0 .

(5−3)ID14の装置は、(4−7)の処理により、ID13の装置の集約データを含む応答データを受信する。ここでID14の装置は、(3−3)の処理により、ID13の装置からID14の装置の集約データを、IDの装置に送信するようリクエストされている。従って、ID13の装置は、(4−7)で受信したID13の装置の集約データと、自身の集約データとあわせて、ID13の装置からID14の装置の集約データを、IDの装置に送信する。 (5-3) The device of ID 14 receives the response data including the aggregated data of the device of ID 13 by the process of (4-7). Here, the device of ID 14 is requested to transmit the aggregated data of the device of ID 14 from the device of ID 13 to the device of ID 0 by the process of (3-3). Thus, apparatus ID 13 is (4-7) together and aggregate data for device ID 13 received, its own aggregated data, aggregated data devices ID 14 from the apparatus ID 13, the ID 0 Send to device.

(5−4)ID15の装置は、(4−1)において、Nexthop=IPを設定したリクエストデータを受信する。そこでID15の装置は、(4−1)の処理を受けて、Nexthop=IPの装置に、集約範囲”Range”=[ID14(0),ID15(0))=[ID15,ID)を設定し、このRangeの範囲の集約データを設定した応答データを送信する。これにより、(4−1)でリクエストされたように、ID15の装置は、ID15の装置の集約データを、IDの装置に送信する。 (5-4) The device of ID 15 receives the request data in which Nexthop = IP 0 is set in (4-1). Therefore apparatus ID 15 receives the process (4-1), the apparatus Nexthop = IP 0, the aggregation range "Range" = [ID 14 ( 0), ID 15 (0)) = [ID 15, ID 0 ) is set, and response data in which aggregate data in the range of this range is set is transmitted. Thus, as requested by (4-1), device ID 15 is the aggregate data for device ID 15, and transmits the device ID 0.

このように、IDの装置は、第1のフェーズから第5のフェーズの処理により、IDの装置からID15の装置にリクエストデータを行き渡らせ、これらの装置の集約データを取得する。ここで、IDの装置は、代表装置であるので、図12のステップS205ないしステップS210およびステップS212の処理により、IDの装置は、(5−1)、(5−2)、(5−3)および(5−4)で受信したIDの装置からID15の装置の集約データと、自身の集約データとあわせて、IDの装置からID15の装置の集約データを、サーバ2に送信する。ここで、IDの装置がサーバ2から受信したリクエストデータに、収集先アドレス”Collect”が設定されている場合、IDの装置は、収集先アドレス”Collect”で指定されたアドレスに、IDの装置からID15の装置の集約データを送信する。 In this way, the device with ID 0 distributes request data from the device with ID 1 to the device with ID 15 by the processing from the first phase to the fifth phase, and acquires aggregated data of these devices. Here, since the device with ID 0 is a representative device, the device with ID 0 becomes (5-1), (5-2), (5) by the processing of step S205 to step S210 and step S212 in FIG. −3) and the aggregated data of the device of ID 15 received from the devices of ID 1 and the aggregated data of the device of ID 15 received from (5-4) and the aggregated data of the device of ID 15 from the device of ID 0 Send to. Here, the request data received device ID 0 from the server 2, if the collection destination address "Collect" is set, device ID 0 is, at the address specified by the collection destination address "Collect", ID The aggregated data of the device of ID 15 is transmitted from the device of 0 .

(装置の加入および離脱)
上記においては、グループ内において、装置1に連続したIDが付与され、すべての装置が正常に通信した場合について説明したが、通信途中に電源断などにより、装置1が離脱した場合を説明する。
(Join and withdraw equipment)
In the above description, a case has been described in which a continuous ID is assigned to the device 1 and all devices communicate normally in the group. However, a case will be described in which the device 1 is disconnected due to a power cut or the like during communication.

例えば、集約中に装置1が離脱した場合、以下のように動作する。ある装置1が応答データの送信に失敗した場合、送信先の装置が離脱したと判断、それまでに集約した集約データをサーバ2に送信する。このとき装置1は、サーバ2に、離脱したと判断された送信先の情報を通知する。   For example, when the device 1 is disconnected during aggregation, the operation is as follows. When a certain device 1 fails to transmit response data, it is determined that the transmission destination device has left, and the aggregated data aggregated up to that point is transmitted to the server 2. At this time, the apparatus 1 notifies the server 2 of information on the transmission destination determined to have left.

ここで、ある装置1が、集約割当範囲の集約データが揃った後、集約データの送信前に離脱した場合、通信システム3はこの装置1の離脱を検知することができない。これに対し各装置1はリクエストデータを受信すると、応答データを送信するまでの間、タイムアウトを設定する。各装置1は、タイムアウトすると、集約割当範囲の集約データが揃っているか否かを問わず、それまでの集約データをサーバ2に送信する。同様にサーバ2は、リクエストデータを代表装置に送信してから、ある一定時間、応答データの受信を待機する。当該時間経過後、サーバ2は、受信できていない範囲を判断するとともに、欠損している範囲をAllotに当該範囲を設定して、新たなリクエストデータを送信する。   Here, when a certain device 1 leaves before the aggregated data is transmitted after the aggregated data of the aggregate allocation range is prepared, the communication system 3 cannot detect the separation of this device 1. On the other hand, when each device 1 receives the request data, it sets a timeout until the response data is transmitted. When each device 1 times out, the aggregated data up to that time is transmitted to the server 2 regardless of whether aggregated data in the aggregate allocation range is available. Similarly, the server 2 waits for reception of response data for a certain fixed time after transmitting the request data to the representative device. After the time has elapsed, the server 2 determines a range that cannot be received, sets the missing range to Allot, and transmits new request data.

新たな装置がネットワークに接続され、新たにグループに加入する際、サーバ2は、この装置に装置IDを付与するとともに、この装置の経路表データを生成し、この新たな装置に送信する。例えば、新たな装置が、サーバ2へ接続した旨を通知すると、サーバ2は新たな装置の装置IDを決定し、当該装置IDに対応する経路表データを構築して、この新たな装置に送信する。   When a new device is connected to the network and newly joins a group, the server 2 assigns a device ID to the device, generates route table data for the device, and transmits the route table data to the new device. For example, when a new device notifies that it has connected to the server 2, the server 2 determines the device ID of the new device, constructs routing table data corresponding to the device ID, and transmits it to the new device. To do.

また、サーバ2は、離脱した装置1の情報や、グループに新たに加入する装置1の情報を取得すると、その次に送信するリクエストデータにおいて、各装置1に加入および離脱の装置1の情報を更新するよう経路更新情報を設定する。具体的にはサーバ2の装置リスト制御手段221は、離脱した装置の情報や加入する装置の情報を、更新データ212に記憶するとともに、装置リストデータ211を更新する。さらに、経路表出力手段222は、更新データ212を考慮して、リクエストデータの経路更新情報”Updates”に、データを設定して、グループに属する装置1に、装置1の加入及び離脱を周知する。   In addition, when the server 2 acquires the information of the disconnected device 1 or the information of the device 1 that newly joins the group, the server 2 stores the information of the device 1 that has joined and withdrawn in each device 1 in the next request data to be transmitted. Set route update information to update. Specifically, the device list control means 221 of the server 2 stores the information of the detached device and the information of the device to join in the update data 212 and updates the device list data 211. Further, the route table output unit 222 sets the data in the route update information “Updates” of the request data in consideration of the update data 212 and informs the devices 1 belonging to the group of the joining and leaving of the device 1. .

新たに装置が加入した場合、”Updates”フィールドは、新規加入装置のID、新規加入装置のIPアドレスおよび新規加入装置のIDから順方向に存在する最初の隣接装置のIDを設定する。また装置が離脱した場合、”Updates”フィールドは、離脱装置のID、離脱装置のIDから順方向に存在する最初の隣接装置のIDおよびIPアドレスを設定する。   When a new device joins, the “Updates” field sets the ID of the new subscribing device, the IP address of the new subscribing device, and the ID of the first neighboring device existing in the forward direction from the ID of the new subscribing device. When the device leaves, the “Updates” field sets the ID of the leaving device, the ID of the first neighboring device existing in the forward direction from the ID of the leaving device, and the IP address.

各装置は、リクエストデータを受信すると、”Updates”フィールドを参照して、経路表データを更新する必要があるか否かを判定する。   When each device receives the request data, each device refers to the “Updates” field to determine whether or not the routing table data needs to be updated.

新たに装置が加入した場合、隣接装置に関連するレコードを経路表データ11が有し、かつ隣接装置の経路表データにおけるEntry番号について新規加入装置のIDがリクエスト受信装置のIDから2Entryの距離以上離れている場合、当該Entryの経路表データ11のレコードについて、新規加入装置の情報に置き換える。一方、この条件を満たさない場合、経路表データ11は更新されない。 When a new device joins, the routing table data 11 has a record related to the neighboring device, and the ID of the new joining device is 2 Entry distances from the ID of the request receiving device with respect to the entry number in the routing table data of the neighboring device. When the distance is more than the above, the record of the routing table data 11 of the entry is replaced with information of the new joining device. On the other hand, when this condition is not satisfied, the routing table data 11 is not updated.

一方装置が離脱した場合、離脱装置に関するレコードを経路表データ11が有している場合、隣接装置の情報で、当該レコードを置き換える。これは、実施の形態に係る通信方法が、ID空間のサイズより装置数が少ない場合でも同様のツリー状を構成するため、ID空間以下の任意の数の装置に対応することに基づく。   On the other hand, when the device leaves, if the routing table data 11 has a record relating to the leaving device, the record is replaced with information on the neighboring device. This is based on the fact that the communication method according to the embodiment forms a similar tree shape even when the number of devices is smaller than the size of the ID space, and therefore corresponds to an arbitrary number of devices below the ID space.

例えば、ID4の装置が存在しない場合を考える。図19に示す例では、図13に示す例と比べて、ID4の装置の欠番により、ID0の装置は、ID4の装置に送信するべきところ、ID5の装置に送信するので、ツリー状に変更はない。これは、各装置の経路表データにおいて、各エントリに一致するIDを持つ装置が存在しない場合、時計回りに最も近い装置を保持することから成り立つ。このとき、ID8の装置は、ID0の装置およびID7の装置から、重複してリクエストを受信する。しかしながら、図10のステップS2で示したように、同一シーケンス番号のリクエストデータは、単純に破棄される。各装置は、経路表データを降順に検索してリクエストを転送するので、重複と判断されるべきリクエストが先に到着することはない。   For example, consider a case where there is no ID4 device. In the example shown in FIG. 19, compared to the example shown in FIG. 13, the ID0 device should be sent to the ID4 device due to the missing number of the ID4 device. Absent. This is achieved by holding the device closest in the clockwise direction when there is no device having an ID that matches each entry in the routing table data of each device. At this time, the device of ID8 receives requests from the device of ID0 and the device of ID7 redundantly. However, as shown in step S2 of FIG. 10, request data having the same sequence number is simply discarded. Since each device searches the routing table data in descending order and forwards the request, the request that should be determined to be duplicate never arrives first.

また、ID1の装置が存在しない場合、ID0の経路表データのEntry=0およびEntry=1はともにID2の装置を示す。従って、Entry=0の示す装置は、Entry=0+1の示す装置と同じであるため、Entry=0における処理はスキップされる。   When there is no ID1 device, Entry = 0 and Entry = 1 in the ID0 routing table data both indicate the ID2 device. Accordingly, since the device indicated by Entry = 0 is the same as the device indicated by Entry = 0 + 1, the processing at Entry = 0 is skipped.

本発明の実施の形態に係る通信方法は、サーバ2からリクエストデータを受信した代表装置がリクエストデータを拡散させつつ、非対称の経路でデータを集約することができる。これにより、図13に示すように、第2フェーズないし第4フェーズにおいて、リクエストデータの拡散とデータの集約の同時並列実行数を増やすことができる。これに対し、図23に示すように、拡散処理を逆に辿ってデータを集約する場合と比べて、m−1回実行フェーズ数を削減し、処理時間を短縮することができる。   In the communication method according to the embodiment of the present invention, the representative device that has received the request data from the server 2 can aggregate the data through an asymmetric path while spreading the request data. Thereby, as shown in FIG. 13, in the second phase to the fourth phase, it is possible to increase the number of simultaneous executions of request data spreading and data aggregation. On the other hand, as shown in FIG. 23, the number of execution phases m-1 times can be reduced and the processing time can be shortened as compared with the case where the data is collected by reversing the diffusion process.

このように、本発明の実施の形態に係る通信システム3は、例えばゲートウェイ装置などの装置を利用して、各装置が機器情報を集約し、かつ装置同士がP2Pネットワークを構築してデータを集約する。これにより、サーバ2のデータの収集の効率化およびサーバ2の収集負荷の低減を実現する。   As described above, the communication system 3 according to the embodiment of the present invention uses devices such as gateway devices, for example, each device aggregates device information, and devices construct a P2P network to collect data. To do. As a result, the data collection efficiency of the server 2 and the collection load of the server 2 are reduced.

(変形例)
本発明の変形例において、本発明の実施の形態に係る通信方法と比べて、さらに処理効率を向上させる通信方法を説明する。本発明の変形例に係る通信方法のデータの流れを図20に示す。図20に示すデータの流れは、図13を参照して説明した本発明の実施の形態に係る通信方法と比べて、(b)の集約の処理において、代表装置ID0からリクエストデータを受信した装置ID1、2、4および8の各装置の振る舞いが異なる。代表装置(ID0の装置)からリクエストデータを受信した装置ID1、2、4および8の各装置は、集約データを直接代表装置に送信する。
(Modification)
In the modification of the present invention, a communication method that further improves the processing efficiency as compared with the communication method according to the embodiment of the present invention will be described. FIG. 20 shows a data flow of the communication method according to the modification of the present invention. Compared with the communication method according to the embodiment of the present invention described with reference to FIG. 13, the data flow illustrated in FIG. 20 is a device that has received request data from the representative device ID 0 in the aggregation processing of (b). The behaviors of the devices with IDs 1, 2, 4 and 8 are different. Receiving the request data from the representative apparatus (ID0 apparatus), each of the apparatus IDs 1, 2, 4, and 8 transmits the aggregated data directly to the representative apparatus.

第2フェーズについて、図13に示す例において、ID1の装置はID2の装置に応答データを送信する。これに対し、図20に示す例において、ID1の装置は、ID1の装置の集約データを含む応答データを、代表装置に送信する。   Regarding the second phase, in the example illustrated in FIG. 13, the ID1 device transmits response data to the ID2 device. On the other hand, in the example illustrated in FIG. 20, the ID1 device transmits response data including aggregated data of the ID1 device to the representative device.

第3フェーズについて、図13に示す例において、ID2の装置は、ID1の装置からの応答データの受信後、ID1の装置からID2の装置の集約データを含む応答データを、ID4の装置に送信する。これに対し図20に示す例において、ID2の装置は、ID1の装置の集約データを待つことなく、ID2の装置の集約データを含む応答データを、代表装置に送信する。   In the example shown in FIG. 13 for the third phase, after receiving the response data from the ID1 device, the ID2 device sends response data including aggregated data of the ID2 device from the ID1 device to the ID4 device. . On the other hand, in the example illustrated in FIG. 20, the ID2 device transmits response data including the aggregated data of the ID2 device to the representative device without waiting for the aggregated data of the ID1 device.

第4フェーズについて図13に示す例において、ID4の装置は、ID2の装置およびID3の装置からの応答データの受信後、ID1の装置からID4の装置の集約データを含む応答データを、ID8の装置に送信していた。図20に示す例において、ID4の装置は、ID2の装置の応答データの受信を待つことなく、ID3の装置からID4の装置の集約データを含む応答データを、代表装置に送信する。   In the example shown in FIG. 13 for the fourth phase, after receiving the response data from the ID2 device and the ID3 device, the ID4 device sends the response data including the aggregated data of the ID4 device to the ID8 device from the ID1 device. Had been sent to. In the example illustrated in FIG. 20, the ID4 device transmits response data including aggregated data of the ID4 device from the ID3 device to the representative device without waiting for reception of response data from the ID2 device.

第5フェーズについて図13に示す例において、ID8の装置は、ID4の装置、ID6の装置およびID7の装置からの応答データの受信後、ID1の装置からID8の装置の集約データを含む応答データを、ID0の装置に送信していた。図20に示す例において、ID8の装置は、ID4の装置の応答データの受信を待つことなく、ID5の装置からID8の装置の集約データを含む応答データを、代表装置に送信する。   In the example shown in FIG. 13 for the fifth phase, the ID8 device receives response data including aggregated data of the ID8 device from the ID1 device after receiving response data from the ID4 device, the ID6 device, and the ID7 device. , It was transmitted to the device of ID0. In the example illustrated in FIG. 20, the ID8 device transmits response data including aggregated data of the ID8 device from the ID5 device to the representative device without waiting for reception of the response data of the ID4 device.

このような変形例に係る通信方法おいて、各装置のAllotの範囲が、代表装置を除いて小さくなるので、各集約データのサイズは、本発明の実施の形態に係る通信方法と比べて小さくなる。これにより、通信システム全体として、総送出データ量を削減し、処理負荷を低減することができる。   In the communication method according to such a modification, the range of allot of each device is small except for the representative device, so the size of each aggregated data is smaller than that of the communication method according to the embodiment of the present invention. Become. Thereby, as a whole communication system, the total amount of data to be transmitted can be reduced, and the processing load can be reduced.

このような通信方法を実現するために、本発明の実施の形態と比べて、代表装置は、リクエストデータの拡散において、受信したリクエストデータの各項目の集約送信先アドレス(Nexthop)および集約割当範囲(Allot)の各項目の設定方法が異なる。代表装置の拡散手段23は、受信したリクエストデータの集約送信先アドレス(Nexthop)を、当該代表装置のIPアドレスに設定する。代表装置の拡散手段23は、受信したリクエストデータの集約割当範囲(Allot)を、経路表データ11において当該エントリ識別子−1の装置の識別子(ID(i-1))から当該エントリ識別子に対応する装置(ID(i))の識別子の範囲に設定する。代表装置の拡散手段23は、受信したリクエストデータの転送範囲(Degree)を、当該エントリ識別子(i)に設定する。   In order to realize such a communication method, compared to the embodiment of the present invention, the representative apparatus, in spreading the request data, collects the aggregated transmission destination address (Nexthop) and aggregated allocation range of each item of the received request data. The setting method of each item of (Allot) is different. The spreading means 23 of the representative device sets the aggregated transmission destination address (Nexthop) of the received request data to the IP address of the representative device. The spreading means 23 of the representative device corresponds to the entry allocation identifier (ID (i-1)) from the device identifier (ID (i-1)) of the entry identifier-1 in the routing table data 11 for the aggregate allocation range (Allot) of the received request data. Set to the identifier range of the device (ID (i)). The spreading means 23 of the representative device sets the transfer range (Degree) of the received request data to the entry identifier (i).

図21を参照して、変形例に係る拡散処理を説明する。変形例に係る拡散手段23は、経路表データ11に基づいて、i=Degree−1から、0までの各iについて、ステップS301ないしステップS308の処理を繰り返す。   With reference to FIG. 21, the diffusion process according to the modification will be described. Based on the routing table data 11, the diffusing unit 23 according to the modified example repeats the processing from step S301 to step S308 for each i from i = Degree-1 to 0.

まず、ステップS301において拡散手段23は、当該エントリ識別子に対応する装置のID(i)が、集約割当範囲”Allot”の範囲内であるか否かを判断する。ID(i)が、集約割当範囲”Allot”の範囲外である場合、当該エントリ識別子iに関する処理を終了し、次のi−1について処理する。ID(i)が、集約割当範囲”Allot”の範囲内の場合、ステップS302に進む。 First, in step S301, the spreading means 23 determines whether or not the ID n (i) of the device corresponding to the entry identifier is within the aggregate allocation range “Allot”. When ID n (i) is outside the range of the aggregate allocation range “Allot”, the process for the entry identifier i is terminated, and the next i−1 is processed. If ID n (i) is within the range of the aggregate allocation range “Allot”, the process proceeds to step S302.

ステップS302において拡散手段23は、自装置が代表装置であるか否かを判定する。代表装置でない場合、ステップS303、ステップS304およびステップS307の処理によって変更後のリクエストデータを生成し、ステップS308において、変更後のリクエストデータを、他装置に送信する。この処理は、図11のステップS102ないしステップS105の処理に対応する。   In step S302, the diffusing unit 23 determines whether or not the own device is a representative device. If it is not the representative device, the changed request data is generated by the processing of step S303, step S304, and step S307, and the changed request data is transmitted to another device in step S308. This processing corresponds to the processing in steps S102 to S105 in FIG.

一方、自装置が代表装置である場合、ステップS305ないしステップS307の処理によって変更後のリクエストデータを生成し、ステップS308において、変更後のリクエストデータを、他装置に送信する。   On the other hand, when the own device is a representative device, the request data after the change is generated by the processing from step S305 to step S307, and the request data after the change is transmitted to another device in step S308.

これにより、代表装置からリクエストを受信した装置は、ステップS305で特定される装置の集約データのみを集約し、ステップS306で特定される代表装置のIPアドレスに、その集約データを送信することができる。   As a result, the device that has received the request from the representative device can aggregate only the aggregated data of the device identified in step S305, and can transmit the aggregated data to the IP address of the representative device identified in step S306. .

(検証)
本発明の実施の形態に係る通信方法の効果を検証する。
(Verification)
The effect of the communication method according to the embodiment of the present invention will be verified.

収集に要するトータル時間T’を以下の項目の和で表す。このとき、Sを1台の装置あたりのデータ量、2を1グループ内の装置数、cを装置の内部処理時間、dを装置間の転送遅延、Bを装置間および装置とサーバ間の使用帯域とする。トータル時間T’を図20のメッセージフローにおいて、実線で囲った範囲に要する時間として算出する。なお、枠外は並列の処理されるため、枠内の収集時間時間を左右しない。 The total time T g ′ required for collection is represented by the sum of the following items. At this time, S is the amount of data per device, 2 m is the number of devices in one group, c is the internal processing time of the device, d is the transfer delay between devices, B is between the devices and between the devices and the server. Use bandwidth. The total time T g ′ is calculated as the time required for the range surrounded by the solid line in the message flow of FIG. In addition, since the processing outside the frame is performed in parallel, the collection time in the frame is not affected.

(1)逐次行うデータ送信の総量の帯域Bにおける送出時間
図20(b)の枠内の丸付き数字は、装置あたりのデータ量を示すとする。実線で囲った範囲のメッセージで送信されるデータ総量、具体的には図20(b)における丸数字の合計を求める。丸数字の合計は以下の式で、N’で表す。実際のデータ量にするためにSを乗算し、ビットに直すために8を乗算する。これを帯域で除算して総送出時間とする。
(1) Sending time in bandwidth B of the total amount of data transmission performed sequentially The circled numbers in the frame of FIG. 20B indicate the data amount per device. The total amount of data transmitted by the message in the range surrounded by the solid line, specifically, the sum of the circled numbers in FIG. The sum of the circled numbers is represented by N g ′ in the following formula. Multiply by S to get the actual amount of data, and multiply by 8 to convert it to bits. Divide this by the bandwidth to make the total transmission time.

(2)逐次で行うデータ送信遅延の合計
送信回数の合計、具体的には図20の実線で囲った範囲の矢印の数を、Nで表し、これに各装置間の転送遅延dを乗算する。これを総送信遅延とする。
(2) Sequential total sum of transmission times of the data transmission delay performed in, the number of arrows in the range in particular surrounded by the solid line in FIG. 20, expressed in N r, multiplied by the transfer delay d between the respective devices to this To do. This is the total transmission delay.

(3)データ送信に伴う装置内部処理時間の合計
’に対して内部処理時間cを乗算し、これを総内部処理時間とする。
(3) The total internal processing time N g ′ associated with the data transmission is multiplied by the internal processing time c to obtain the total internal processing time.

(4)装置(同一グループ内)の集約データのサーバへの送信時間
以上の前提に基づくと、T’は以下のように算出される。
(4) Transmission time of aggregated data of devices (within the same group) to server Based on the above assumption, T g ′ is calculated as follows.

Tg’=Ng’*8*S/B+Nr*d+Ng’*c+S*2*8/B+d+c
このとき、Ng=2−1,Nr=m*(m+1)/2とする。
Tg ′ = Ng ′ * 8 * S / B + Nr * d + Ng ′ * c + S * 2 m * 8 / B + d + c
At this time, Ng = 2 m -1, Nr = m * (m + 1) / 2.

本発明の実施の形態における収集時間Tと、変形例における収集時間T’との比較結果を図22に示す。ここで、横軸をmの値、縦軸を収集時間とする。またパラメータをそれぞれ、Sを1KB、mを10、cを100ミリ秒、dを1秒、Bを128kbpsとする。グループサイズ(m)が大きくなるにつれ、変形例における効果が顕著になる。より多くの装置を対象にする場合、変形例に係る通信方法が、より有効である。なお、m=10の場合、3分弱ほどの短縮効果が期待できる。 FIG. 22 shows a comparison result between the collection time T g in the embodiment of the present invention and the collection time T g ′ in the modification. Here, the horizontal axis is the value of m, and the vertical axis is the collection time. The parameters are S for 1 KB, m for 10, c for 100 milliseconds, d for 1 second, and B for 128 kbps. As the group size (m) increases, the effect in the modified example becomes more prominent. When targeting a larger number of devices, the communication method according to the modification is more effective. When m = 10, a shortening effect of about 3 minutes can be expected.

(その他の実施の形態)
上記のように、本発明の実施の形態および変形例によって記載したが、この開示の一部をなす論述および図面はこの発明を限定するものであると理解すべきではない。この開示から当業者には様々な代替実施の形態、実施例および運用技術が明らかとなる。
(Other embodiments)
As described above, the embodiments and modifications of the present invention have been described. However, it should not be understood that the descriptions and drawings constituting a part of this disclosure limit the present invention. From this disclosure, various alternative embodiments, examples, and operational techniques will be apparent to those skilled in the art.

例えば本発明の実施の形態において、サーバが複数の装置にリクエストデータを拡散し、各装置のデータを集約する場合を説明したが、これに限られない。サーバのリクエストデータの拡散ロジックを、サーバから複数の端末へのデータの送信に転用しても良い。   For example, in the embodiment of the present invention, the case where the server spreads request data to a plurality of devices and aggregates the data of each device has been described. However, the present invention is not limited to this. The server request data spreading logic may be diverted to data transmission from the server to a plurality of terminals.

本発明はここでは記載していない様々な実施の形態等を含むことは勿論である。従って、本発明の技術的範囲は上記の説明から妥当な特許請求の範囲に係る発明特定事項によってのみ定められるものである。   It goes without saying that the present invention includes various embodiments not described herein. Therefore, the technical scope of the present invention is defined only by the invention specifying matters according to the scope of claims reasonable from the above description.

1 装置
2 サーバ
3 通信システム
10、210 記憶装置
11、213 経路表データ
12 シーケンス設定データ
13 集約送信先アドレス
14 収集先アドレス
15 集約割当範囲データ
16 自装置集約データ
20、220 中央処理制御装置
21 制御手段
22 経路表制御手段
23 拡散手段
24 集約手段
25 データ取得手段
30、230 通信制御装置
211 装置リストデータ
212 更新データ
221 装置リスト制御手段
222 経路表出力手段
223 リクエスト送信手段
224 データ受信手段
DESCRIPTION OF SYMBOLS 1 apparatus 2 server 3 communication system 10,210 memory | storage device 11,213 routing table data 12 sequence setting data 13 aggregation transmission destination address 14 collection destination address 15 aggregation allocation range data 16 own apparatus aggregation data 20, 220 central processing control apparatus 21 control Means 22 Route table control means 23 Spreading means 24 Aggregation means 25 Data acquisition means 30, 230 Communication control device 211 Device list data 212 Update data 221 Device list control means 222 Route table output means 223 Request transmission means 224 Data reception means

Claims (8)

サーバと、当該サーバに接続する相互に通信可能な複数の装置とを備える通信システムであって、
前記複数の装置は、それぞれ、0から2−1までのいずれかの整数値の識別子が付与され、
前記サーバは、
前記複数の装置のそれぞれに、0からm−1までのエントリ識別子(Entry)と、当該装置の識別子に2Entryを加えた転送先装置の識別子と、当該転送先装置のアドレスとを対応づけた経路表データを出力する経路表出力手段と、
前記複数の装置のうち、代表装置とする1つの装置に、データの収集のためのリクエストデータを送信するリクエスト送信手段と、
前記装置から、前記データを受信するデータ受信手段とを備え、
前記装置は、
前記サーバから、当該装置の経路表データを受信し、
前記サーバまたは他装置からリクエストデータを受信すると、前記経路表データに従って、受信したリクエストデータを変更して、他装置に送信するとともに、受信したリクエストデータに対する応答データを、他装置またはサーバに送信する制御手段を備え、
前記サーバが前記代表装置に送信するリクエストデータは、
前記代表装置がデータを集約する装置の識別子の下限値および上限値を指定する、集約割当範囲と、
前記装置間において当該リクエストデータを拡散する範囲を示す、0からmまでの値をとる転送深度と、
前記代表装置のアドレスを設定した集約送信先アドレスと、を含み、
前記装置の制御手段は、
(1) 前記リクエストデータを受信すると、
受信したリクエストデータの集約送信先アドレスと、集約割当範囲とを格納し、
(2) 受信したリクエストデータの転送深度が0の場合、
当該装置が集約した自装置集約データを含む応答データを生成して、前記集約送信先アドレスに送信し、
(3) 応答データを受信すると、
受信した応答データに含まれる集約データを、自装置集約データにマージし、
マージ後の前記自装置集約データが、前記受信したリクエストデータの集約割当範囲をすべて満たす場合、当該自装置集約データを含む応答データを、前記集約送信先アドレスに送信し、
(4) 受信したリクエストデータの転送深度が0でない場合、前記経路表データを参照して、
0以上前記転送深度未満の各エントリ識別子について、エントリ識別子の降順に、当該装置が受信した集約割当範囲内の装置の識別子を持つエントリ識別子について、受信したリクエストデータのうち、
前記集約送信先アドレスを、当該装置が受信した集約割当範囲の上限値に最も近い装置の識別子を持つエントリ識別子について、当該装置が受信した集約送信先アドレスを引き継いで設定し、それ以外のエントリ識別子について、前記経路表データにおいて、当該エントリ識別子をインクリメントしたエントリ識別子に対応づけられた装置のアドレスに設定し、
前記集約割当範囲を、前記経路表データにおいてエントリ識別子0の装置の識別子から当該エントリ識別子に対応する装置の識別子の範囲に設定し、
前記転送範囲を、当該エントリ識別子に設定した、
変更後のリクエストデータを、前記経路表データにおいて当該エントリ識別子に対応する装置のアドレスに送信する処理を、繰り返す
ことを特徴とする通信システム。
A communication system comprising a server and a plurality of mutually communicable devices connected to the server,
Each of the plurality of devices is assigned an identifier of any integer value from 0 to 2 m −1,
The server
Each of the plurality of devices is associated with an entry identifier (Entry) from 0 to m−1, an identifier of the transfer destination device obtained by adding 2 Entry to the identifier of the device, and an address of the transfer destination device. Routing table output means for outputting routing table data;
Request transmission means for transmitting request data for data collection to one of the plurality of devices as a representative device;
Data receiving means for receiving the data from the device;
The device is
Receiving routing table data of the device from the server;
When request data is received from the server or another device, the received request data is changed according to the routing table data and transmitted to the other device, and response data for the received request data is transmitted to the other device or server. With control means,
Request data that the server sends to the representative device is:
An aggregation allocation range that specifies a lower limit value and an upper limit value of an identifier of a device from which the representative device aggregates data; and
A transfer depth taking a value from 0 to m indicating a range in which the request data is diffused between the devices;
An aggregate transmission destination address in which the address of the representative device is set,
The control means of the device is:
(1) Upon receiving the request data,
Stores the aggregate destination address of the received request data and the aggregate allocation range,
(2) If the transfer depth of the received request data is 0,
Generate response data including the own device aggregated data aggregated by the device, and transmit it to the aggregated transmission destination address.
(3) When response data is received,
Merge the aggregated data included in the received response data into the aggregated data of own device,
When the own device aggregated data after merging satisfies all the aggregate allocation ranges of the received request data, response data including the own device aggregated data is transmitted to the aggregate transmission destination address,
(4) If the transfer depth of the received request data is not 0, refer to the routing table data,
For each entry identifier of 0 or more and less than the transfer depth, for the entry identifier having the identifier of the device within the aggregate allocation range received by the device in descending order of the entry identifier,
For the entry identifier having the identifier of the device closest to the upper limit value of the aggregate allocation range received by the device, the aggregate transmission destination address is set by taking over the aggregate transmission destination address received by the device, and other entry identifiers. For the routing table data, set the entry identifier to the address of the device associated with the incremented entry identifier,
Setting the aggregate allocation range to the range of the identifier of the device corresponding to the entry identifier from the identifier of the device of the entry identifier 0 in the routing table data;
The transfer range is set to the entry identifier,
A communication system, wherein the process of transmitting the changed request data to the address of the device corresponding to the entry identifier in the routing table data is repeated.
前記制御手段が、受信したリクエストデータから、前記変更後のリクエストデータを生成する際、当該装置が代表装置の場合、
前記集約送信先アドレスを、当該代表装置のアドレスに設定し、
前記集約割当範囲を、前記経路表データにおいて当該エントリ識別子−1の装置の識別子から当該エントリ識別子に対応する装置の識別子の範囲に設定し、
前記転送範囲を、当該エントリ識別子に設定する
ことを特徴とする請求項1に記載の通信システム。
When the control unit generates the changed request data from the received request data, when the device is a representative device,
Set the aggregate destination address to the address of the representative device,
The aggregate allocation range is set from the device identifier of the entry identifier-1 to the device identifier range corresponding to the entry identifier in the routing table data;
The communication system according to claim 1, wherein the transfer range is set to the entry identifier.
サーバと、当該サーバに相互に通信可能な複数の装置とを備える通信システムにおける装置であって、
当該装置には、0から2−1のうちいずれかの整数値の識別子が付与され、
0からm−1までのエントリ識別子(Entry)と、当該装置の識別子に2Entryを加えた転送先装置の識別子と、当該転送先装置のアドレスとを対応づけた経路表データを、受信し、
前記サーバまたは他装置からリクエストデータを受信すると、前記経路表データに従って、受信したリクエストデータを変更して、他装置に送信するとともに、受信したリクエストデータに対する応答データを、他装置またはサーバに送信する制御手段を備え、
前記サーバが前記装置に送信するリクエストデータは、
当該装置がデータを集約する装置の識別子の下限値および上限値を指定する、集約割当範囲と、
当該装置が当該リクエストデータを拡散する範囲を示す、0からmまでの値をとる転送深度と、
応答データの送信先である集約送信先アドレスと、を含み、
前記制御手段は、
(1) 前記リクエストデータを受信すると、
受信したリクエストデータの集約送信先アドレスと、集約割当範囲とを格納し、
(2) 受信したリクエストデータの転送深度が0の場合、
当該装置が集約した自装置集約データを含む応答データを生成して、前記集約送信先アドレスに送信し、
(3) 応答データを受信すると、
受信した応答データに含まれる集約データを、自装置集約データにマージし、
マージ後の前記自装置集約データが、前記受信したリクエストデータの集約割当範囲をすべて満たす場合、当該自装置集約データを含む応答データを、前記集約送信先アドレスに送信し、
(4) 受信したリクエストデータの転送深度が0でない場合、前記経路表データを参照して、
0以上前記転送深度未満の各エントリ識別子について、エントリ識別子の降順に、当該装置が受信した集約割当範囲内の装置の識別子を持つエントリ識別子について、受信したリクエストデータのうち、
前記集約送信先アドレスを、当該装置が受信した集約割当範囲の上限値に最も近い装置の識別子を持つエントリ識別子について、当該装置が受信した集約送信先アドレスを引き継いで設定し、それ以外のエントリ識別子について、前記経路表データにおいて、当該エントリ識別子をインクリメントしたエントリ識別子に対応づけられた装置のアドレスに設定し、
前記集約割当範囲を、前記経路表データにおいてエントリ識別子0の装置の識別子から当該エントリ識別子に対応する装置の識別子の範囲に設定し、
前記転送範囲を、当該エントリ識別子に設定した、
変更後のリクエストデータを、前記経路表データにおいて当該エントリ識別子に対応する装置のアドレスに送信する処理を、繰り返す
ことを特徴とする装置。
A device in a communication system comprising a server and a plurality of devices capable of communicating with each other,
The device is given an identifier of any integer value from 0 to 2 m −1,
Receiving route table data in which an entry identifier (Entry) from 0 to m−1, an identifier of the transfer destination device obtained by adding 2 Entry to the identifier of the device, and an address of the transfer destination device are associated;
When request data is received from the server or another device, the received request data is changed according to the routing table data and transmitted to the other device, and response data for the received request data is transmitted to the other device or server. With control means,
The request data that the server sends to the device is:
An aggregation allocation range that specifies a lower limit value and an upper limit value of an identifier of a device for which the device aggregates data; and
A transfer depth taking a value from 0 to m, indicating a range in which the device spreads the request data;
An aggregate destination address that is a destination of response data, and
The control means includes
(1) Upon receiving the request data,
Stores the aggregate destination address of the received request data and the aggregate allocation range,
(2) If the transfer depth of the received request data is 0,
Generate response data including the own device aggregated data aggregated by the device, and transmit it to the aggregated transmission destination address.
(3) When response data is received,
Merge the aggregated data included in the received response data into the aggregated data of own device,
When the own device aggregated data after merging satisfies all the aggregate allocation ranges of the received request data, response data including the own device aggregated data is transmitted to the aggregate transmission destination address,
(4) If the transfer depth of the received request data is not 0, refer to the routing table data,
For each entry identifier of 0 or more and less than the transfer depth, for the entry identifier having the identifier of the device within the aggregate allocation range received by the device in descending order of the entry identifier,
For the entry identifier having the identifier of the device closest to the upper limit value of the aggregate allocation range received by the device, the aggregate transmission destination address is set by taking over the aggregate transmission destination address received by the device, and other entry identifiers. For the routing table data, set the entry identifier to the address of the device associated with the incremented entry identifier,
Setting the aggregate allocation range to the range of the identifier of the device corresponding to the entry identifier from the identifier of the device of the entry identifier 0 in the routing table data;
The transfer range is set to the entry identifier,
A device that repeats the process of transmitting the changed request data to the address of the device corresponding to the entry identifier in the routing table data.
当該装置が、前記サーバからリクエストデータを受けた代表装置の場合、前記制御手段は、受信したリクエストデータから、前記変更後のリクエストデータを生成する際、
前記集約送信先アドレスを、当該装置のアドレスに設定し、
前記集約割当範囲を、前記経路表データにおいて当該エントリ識別子−1の装置の識別子から当該エントリ識別子に対応する装置の識別子の範囲に設定し、
前記転送範囲を、当該エントリ識別子に設定する
ことを特徴とする請求項3に記載の装置。
In the case where the device is a representative device that has received request data from the server, the control means generates the changed request data from the received request data.
Set the aggregate destination address to the address of the device,
The aggregate allocation range is set from the device identifier of the entry identifier-1 to the device identifier range corresponding to the entry identifier in the routing table data;
The apparatus according to claim 3, wherein the transfer range is set to the entry identifier.
サーバと、当該サーバに接続する相互に通信可能な複数の装置とを備える通信システムにおける装置に用いられる通信方法であって、
当該装置には、0から2−1のうちいずれかの整数値の識別子が付与され、
0からm−1までのエントリ識別子(Entry)と、当該装置の識別子に2Entryを加えた転送先装置の識別子と、当該転送先装置のアドレスとを対応づけた経路表データを、受信するステップを備え、
前記サーバが前記装置に送信するリクエストデータは、
当該装置がデータを集約する装置の識別子の下限値および上限値を指定する、集約割当範囲と、
当該装置と前記他装置間において当該リクエストデータを拡散する範囲を示す、0からmまでの値をとる転送深度と、
応答データの送信先である集約送信先アドレスと、を含み、
前記通信方法は、
(1) 前記装置が、前記リクエストデータを受信すると、
受信したリクエストデータの集約送信先アドレスと、集約割当範囲とを格納するステップと、
(2) 前記装置が、受信したリクエストデータの転送深度が0の場合、
当該装置が集約した自装置集約データを含む応答データを生成して、前記集約送信先アドレスに送信するステップと、
(3) 前記装置が、応答データを受信すると、
受信した応答データに含まれる集約データを、自装置集約データにマージし、
マージ後の前記自装置集約データが、前記受信したリクエストデータの集約割当範囲をすべて満たす場合、当該自装置集約データを含む応答データを、前記集約送信先アドレスに送信するステップと、
(4) 前記装置が、受信したリクエストデータの転送深度が0でない場合、前記経路表データを参照して、
0以上前記転送深度未満の各エントリ識別子について、エントリ識別子の降順に、当該装置が受信した集約割当範囲内の装置の識別子を持つエントリ識別子について、受信したリクエストデータのうち、
前記集約送信先アドレスを、当該装置が受信した集約割当範囲の上限値に最も近い装置の識別子を持つエントリ識別子について、当該装置が受信した集約送信先アドレスを引き継いで設定し、それ以外のエントリ識別子について、前記経路表データにおいて、当該エントリ識別子をインクリメントしたエントリ識別子に対応づけられた装置のアドレスに設定し、
前記集約割当範囲を、前記経路表データにおいてエントリ識別子0の装置の識別子から当該エントリ識別子に対応する装置の識別子の範囲に設定し、
前記転送範囲を、当該エントリ識別子に設定した、
変更後のリクエストデータを、前記経路表データにおいて当該エントリ識別子に対応する装置のアドレスに送信する処理を、繰り返すステップ
を備えることを特徴とする通信方法。
A communication method used for a device in a communication system including a server and a plurality of devices that can communicate with each other connected to the server,
The device is given an identifier of any integer value from 0 to 2 m −1,
A step of receiving route table data in which an entry identifier (Entry) from 0 to m−1, an identifier of a transfer destination device obtained by adding 2 Entry to the identifier of the device, and an address of the transfer destination device are associated with each other With
The request data that the server sends to the device is:
An aggregation allocation range that specifies a lower limit value and an upper limit value of an identifier of a device for which the device aggregates data; and
A transfer depth taking a value from 0 to m indicating a range in which the request data is diffused between the device and the other device;
An aggregate destination address that is a destination of response data, and
The communication method is:
(1) When the device receives the request data,
Storing the aggregated transmission destination address of the received request data and the aggregated allocation range;
(2) When the transfer depth of the received request data is 0,
Generating response data including the own device aggregated data aggregated by the device and transmitting the response data to the aggregated transmission destination address;
(3) When the device receives response data,
Merge the aggregated data included in the received response data into the aggregated data of own device,
When the merged self-device aggregate data satisfies all the aggregate allocation ranges of the received request data, the response data including the self-device aggregate data is transmitted to the aggregate transmission destination address;
(4) When the transfer depth of the received request data is not 0, the device refers to the route table data,
For each entry identifier of 0 or more and less than the transfer depth, for the entry identifier having the identifier of the device within the aggregate allocation range received by the device in descending order of the entry identifier,
For the entry identifier having the identifier of the device closest to the upper limit value of the aggregate allocation range received by the device, the aggregate transmission destination address is set by taking over the aggregate transmission destination address received by the device, and other entry identifiers. For the routing table data, set the entry identifier to the address of the device associated with the incremented entry identifier,
Setting the aggregate allocation range to the range of the identifier of the device corresponding to the entry identifier from the identifier of the device of the entry identifier 0 in the routing table data;
The transfer range is set to the entry identifier,
A communication method comprising the step of repeating the process of transmitting the changed request data to the address of the device corresponding to the entry identifier in the routing table data.
当該装置が、前記サーバからリクエストデータを受けた代表装置の場合、前記制御手段は、受信したリクエストデータから、前記変更後のリクエストデータを生成する際、
前記集約送信先アドレスを、当該代表装置のアドレスに設定し、
前記集約割当範囲を、前記経路表データにおいて当該エントリ識別子−1の装置の識別子から当該エントリ識別子に対応する装置の識別子の範囲に設定し、
前記転送範囲を、当該エントリ識別子に設定する
ことを特徴とする請求項5に記載の通信方法。
In the case where the device is a representative device that has received request data from the server, the control means generates the changed request data from the received request data.
Set the aggregate destination address to the address of the representative device,
The aggregate allocation range is set from the device identifier of the entry identifier-1 to the device identifier range corresponding to the entry identifier in the routing table data;
The communication method according to claim 5, wherein the transfer range is set to the entry identifier.
コンピュータに、請求項3または請求項4に記載の装置の各手段として機能させるための通信プログラム。   A communication program for causing a computer to function as each unit of the apparatus according to claim 3. サーバと、当該サーバに接続する代表装置を含み相互に通信可能な複数の装置とを備える通信システムのサーバであって、
前記複数の装置は、それぞれ、0から2−1までのいずれかの整数値の識別子が付与され、
前記複数の装置のそれぞれに、0からm−1までのエントリ識別子(Entry)と、当該装置の識別子に2Entryを加えた転送先装置の識別子と、当該転送先装置のアドレスとを対応づけた経路表データを出力する経路表出力手段と、
前記複数の装置のうち、代表装置とする1つの装置に、データの収集のためのリクエストデータを送信するリクエスト送信手段と、
前記装置から、前記データを受信するデータ受信手段とを備え、
前記サーバが前記代表装置に送信するリクエストデータは、
前記代表装置がデータを集約する装置を特定する、集約割当範囲と、
前記装置間において当該リクエストデータを拡散する範囲を示す、0からmまでの値をとる転送深度と、
前記代表装置のアドレスを設定した集約送信先アドレスと、を含む
ことを特徴とするサーバ。
A server of a communication system comprising a server and a plurality of devices capable of communicating with each other including a representative device connected to the server,
Each of the plurality of devices is assigned an identifier of any integer value from 0 to 2 m −1,
Each of the plurality of devices is associated with an entry identifier (Entry) from 0 to m−1, an identifier of the transfer destination device obtained by adding 2 Entry to the identifier of the device, and an address of the transfer destination device. Routing table output means for outputting routing table data;
Request transmission means for transmitting request data for data collection to one of the plurality of devices as a representative device;
Data receiving means for receiving the data from the device;
Request data that the server sends to the representative device is:
An aggregation allocation range that identifies a device for which the representative device aggregates data; and
A transfer depth taking a value from 0 to m indicating a range in which the request data is diffused between the devices;
And a consolidated transmission destination address in which an address of the representative device is set.
JP2013029788A 2013-02-19 2013-02-19 Communication system, apparatus, communication method, communication program, and server Expired - Fee Related JP5852028B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013029788A JP5852028B2 (en) 2013-02-19 2013-02-19 Communication system, apparatus, communication method, communication program, and server

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013029788A JP5852028B2 (en) 2013-02-19 2013-02-19 Communication system, apparatus, communication method, communication program, and server

Publications (2)

Publication Number Publication Date
JP2014160901A true JP2014160901A (en) 2014-09-04
JP5852028B2 JP5852028B2 (en) 2016-02-03

Family

ID=51612320

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013029788A Expired - Fee Related JP5852028B2 (en) 2013-02-19 2013-02-19 Communication system, apparatus, communication method, communication program, and server

Country Status (1)

Country Link
JP (1) JP5852028B2 (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0576183U (en) * 1992-03-16 1993-10-15 サンテレホン株式会社 Wireless data collection device
JP2010045680A (en) * 2008-08-15 2010-02-25 Nippon Telegr & Teleph Corp <Ntt> Node, packet transfer method and program therefor
JP2010521093A (en) * 2007-03-09 2010-06-17 テレフオンアクチーボラゲット エル エム エリクソン(パブル) Distributed allocation of network management tasks in distributed communication networks
US20110137971A1 (en) * 2009-12-07 2011-06-09 International Business Machines Corporation Data collection method and system

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0576183U (en) * 1992-03-16 1993-10-15 サンテレホン株式会社 Wireless data collection device
JP2010521093A (en) * 2007-03-09 2010-06-17 テレフオンアクチーボラゲット エル エム エリクソン(パブル) Distributed allocation of network management tasks in distributed communication networks
JP2010045680A (en) * 2008-08-15 2010-02-25 Nippon Telegr & Teleph Corp <Ntt> Node, packet transfer method and program therefor
US20110137971A1 (en) * 2009-12-07 2011-06-09 International Business Machines Corporation Data collection method and system
JP2011120122A (en) * 2009-12-07 2011-06-16 Internatl Business Mach Corp <Ibm> Data collection method and system

Also Published As

Publication number Publication date
JP5852028B2 (en) 2016-02-03

Similar Documents

Publication Publication Date Title
CN111345012B (en) System and method for DNS resolution using link-level capacity of destination system
CN101873358B (en) Method and device for balancing link load on basis of domain name resolution
US9110884B2 (en) Message publishing and subscribing method and apparatus
CN103731487A (en) Download method, device, system and router for resource file
CN102077189A (en) Request routing using network computing components
US20140244609A1 (en) System, Method and Device for Internet Search Based on Peer-to-Peer Network
CN102404387B (en) A kind of for carrying out the method for synchronizing information, device and equipment with other nodes
CN101345628B (en) Source node selection method
CN103731753A (en) Personal live video stream routing system and method
WO2012095386A4 (en) Peer node and method for improved peer node selection
CN101335681B (en) Method for acquiring thru resource, peer-to-peer network node and peer-to-peer network
CN103916253A (en) Information transmission method and system on basis of information center network
CN106899639A (en) The acquisition methods of data resource, index server and communication system
JP5526015B2 (en) Gateway system, gateway device, and load balancing method
JP4815547B2 (en) Data synchronization system, data synchronization method, and synchronization management server
CN102377826B (en) Method for optimal placement of unpopular resource indexes in peer-to-peer network
JP2016116087A (en) Network design device and program
CN105681249A (en) Network access method and network conversion equipment
JP5818263B2 (en) Data distributed management system, apparatus, method and program
CN105357253A (en) Network data request processing device and method
JP5852028B2 (en) Communication system, apparatus, communication method, communication program, and server
WO2012029248A1 (en) Data transfer system
CN105282231A (en) Data drainage method, device, and system based on application types
CN113315704B (en) Message forwarding method, SDN controller, switch and system
Zhao et al. On peer-assisted data dissemination in data center networks: Analysis and implementation

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150224

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20151117

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20151203

R150 Certificate of patent or registration of utility model

Ref document number: 5852028

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees