JP2020167481A - Gateway device, information communication system, data processing method and program - Google Patents

Gateway device, information communication system, data processing method and program Download PDF

Info

Publication number
JP2020167481A
JP2020167481A JP2019064839A JP2019064839A JP2020167481A JP 2020167481 A JP2020167481 A JP 2020167481A JP 2019064839 A JP2019064839 A JP 2019064839A JP 2019064839 A JP2019064839 A JP 2019064839A JP 2020167481 A JP2020167481 A JP 2020167481A
Authority
JP
Japan
Prior art keywords
gateway
data
processing
delegation
unit
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
JP2019064839A
Other languages
Japanese (ja)
Other versions
JP7275758B2 (en
Inventor
晴輝 加藤
Haruki Kato
晴輝 加藤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP2019064839A priority Critical patent/JP7275758B2/en
Publication of JP2020167481A publication Critical patent/JP2020167481A/en
Application granted granted Critical
Publication of JP7275758B2 publication Critical patent/JP7275758B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Telephonic Communication Services (AREA)

Abstract

To provide a gateway which can request another gateway to perform proxy processing according to a processing load (data processing etc.) in the gateway.SOLUTION: The gateway device includes a communication unit, a data processing unit and a processing transfer unit. The communication unit receives data from the first device side to transmit the data to the second device side, and also grasps the processing load state of the self-device. The data processing unit processes the data received from the first device side to a predetermined form to transfer the data after processing to the communication unit so as to transfer to the second device side. Based on at least the processing load state of the self-device, if it is a predetermined state, the processing transfer unit transfers at least one of the processing to process the data and the processing to transmit the data to the second device side to another gateway device.SELECTED DRAWING: Figure 1

Description

本発明は、ゲートウェイ装置、情報通信システム、データ処理方法、およびプログラムに関する。 The present invention relates to gateway devices, information communication systems, data processing methods, and programs.

いわゆるIoT機器を活用したデータ通信ネットワークシステムが、社会インフラストラクチャー等として広く利用されるようになってきている。こういったシステムでは、センサーデバイスで取得した情報をバックエンドサーバー側で収集する形態が広く用いられている。上記のようなデータ通信ネットワークシステムを構成するIoT機器の数は膨大である。送信遅延やデータ欠落をできるだけ起こすことなく、IoT機器側で取得されたデータを、バックエンドサーバー側に送り届けることが強く求められる。 Data communication network systems that utilize so-called IoT devices are becoming widely used as social infrastructure and the like. In such a system, a form in which the information acquired by the sensor device is collected on the back-end server side is widely used. The number of IoT devices that make up the above data communication network system is enormous. It is strongly required to deliver the data acquired on the IoT device side to the back-end server side without causing transmission delay or data loss as much as possible.

データ収集を行うひとつのシステムモデルは、センサー等を備える多数のIoT機器から、ゲートウェイ装置にデータが送信される。ゲートウェイ装置は、例えば地域ごとなどといった単位で、IoT機器からのデータを集約し、上位のサーバーに対して送信する。ゲートウェイについては、故障したり、通信が切断されたりすることも考えられる。しかしながら、そのような不具合の状況が生じた場合にも、データが欠落することなく、データの収集が継続されることが望ましい。 In one system model for collecting data, data is transmitted from a large number of IoT devices equipped with sensors and the like to a gateway device. The gateway device aggregates data from IoT devices and transmits it to a higher-level server in units such as by region. It is possible that the gateway may break down or the communication may be disconnected. However, it is desirable that data collection be continued without data loss even when such a malfunction situation occurs.

特許文献1の第0025段落には、複数のセンサーと、複数のゲートウェイ装置を含んで、データを、データ管理サーバーに転送するシステムの構成が記載されている。また、特許文献1の第0135段落には、タイムスタンプおよび無線強度を基に、故障したゲートウェイ装置に所属するセンサーノードごとに、最適なゲートウェイ装置を選択することが記載されている。特許文献1の第0139段落には、代理センサーネットワーク開始情報に基づいて、センサーノードは、ゲートウェイ装置に対して、センサーネットワーク参加応答情報を送信して、無線センサーネットワークに接続することが記載されている。 Paragraph 0025 of Patent Document 1 describes a configuration of a system that includes a plurality of sensors and a plurality of gateway devices and transfers data to a data management server. Further, in paragraph 0135 of Patent Document 1, it is described that the optimum gateway device is selected for each sensor node belonging to the failed gateway device based on the time stamp and the radio strength. Paragraph 0139 of Patent Document 1 describes that the sensor node transmits sensor network participation response information to the gateway device to connect to the wireless sensor network based on the proxy sensor network start information. There is.

特許文献2の第0016段落には、通信ユニットは、電力系から収集された電力量を、ゲートウェイ(GW)経由でサーバーに送信する技術が記載されている。特許文献2の第0057段落には、ゲートウェイは、周辺ゲートウェイのなかで自ゲートウェイの負荷が最大で、且つ自ゲートウェイの負荷が負荷基準閾値を超えた場合に、分散対象ユニットに対してゲートウェイ切り替え要求をユニキャストで送信する技術が記載されている。 Paragraph 0016 of Patent Document 2 describes a technique in which a communication unit transmits an amount of electric power collected from an electric power system to a server via a gateway (GW). In paragraph 0057 of Patent Document 2, the gateway requests the distribution target unit to switch the gateway when the load of the own gateway is the largest among the peripheral gateways and the load of the own gateway exceeds the load reference threshold value. The technology for transmitting unicast is described.

なお、特許文献2の第0028段落には、ゲートウェイ一覧テーブルが、ゲートウェイの収容ユニット数および転送トラフィック量を管理するものであることが記載されている。また、特許文献2の第0048段落には、ゲートウェイの負荷は、上記の、ゲートウェイごとの収容ユニット数および転送トラフィック量に基づき算出されるものであることが記載されている。 In paragraph 0028 of Patent Document 2, it is described that the gateway list table manages the number of accommodated units of the gateway and the amount of forward traffic. Further, paragraph 0048 of Patent Document 2 describes that the load of the gateway is calculated based on the above-mentioned number of accommodated units and the amount of forward traffic for each gateway.

特許文献3の第0019段落には、検針データを収集するシステムに関して、ゲートウェイの処理負荷が高い状態にある場合に、業務通信に支障があると判断し、通信ユニットの参入先ゲートウェイを変更させる技術が記載されている。 Paragraph 0019 of Patent Document 3 describes a technique for changing the entry gateway of the communication unit by determining that there is a problem in business communication when the processing load of the gateway is high with respect to the system for collecting meter reading data. Is described.

特開2014−064121JP-A-2014-064121 特開2013−214835JP 2013-214835 国際公開第2013/094013号International Publication No. 2013/094013

しかしながら、先行技術を用いる場合、下記のような問題があった。 However, when the prior art is used, there are the following problems.

特許文献1に記載の技術を用いる場合、ゲートウェイの故障時に、センサーノードがデータの送信先を、故障中のゲートウェイからその隣接するゲートウェイに切り替えることができる。しかしながら、特許文献1に記載の技術を用いる場合、センサーノードの通信可能範囲に切り替え先のゲートウェイが存在していなければならないという制約があった。つまり、切り替え先のゲートウェイがセンサーノードの通信範囲外に存在する場合には、ゲートウェイの切り替えを行うことができないという問題があった。 When the technique described in Patent Document 1 is used, the sensor node can switch the data transmission destination from the failed gateway to the adjacent gateway when the gateway fails. However, when the technique described in Patent Document 1 is used, there is a restriction that the gateway to be switched to must exist in the communicable range of the sensor node. That is, there is a problem that the gateway cannot be switched when the gateway to be switched is outside the communication range of the sensor node.

特許文献2に記載の技術を用いる場合、ゲートウェイの負荷は、そのゲートウェイの収容ユニット数および転送トラフィック量に基づき算出されるものである。しかしながら、ゲートウェイが、センサーデバイスから取得されたデータを加工するためにデータ加工部を備える場合には、その加工処理の負荷は、上記の収容ユニット数および転送トラフィック量からは求められないという問題がある。つまり、特許文献2に記載の技術では、ゲートウェイ内部のデータ加工に基づく負荷に対応した切り替えを行うことができないという問題がある。 When the technique described in Patent Document 2 is used, the load of the gateway is calculated based on the number of accommodated units and the amount of forward traffic of the gateway. However, when the gateway is provided with a data processing unit for processing the data acquired from the sensor device, there is a problem that the processing load cannot be obtained from the above-mentioned number of accommodated units and the amount of forward traffic. is there. That is, the technique described in Patent Document 2 has a problem that switching corresponding to the load based on the data processing inside the gateway cannot be performed.

特許文献3では、ゲートウェイの負荷に基づく負荷分散について記載されているものの、ゲートウェイの負荷の具体的な内訳について何も言及されていない。 Although Patent Document 3 describes load distribution based on gateway load, nothing is mentioned about a specific breakdown of gateway load.

本発明は、上記の課題認識について行われたものであり、個々のゲートウェイ内の処理負荷(データ加工処理等の負荷)にも応じて、ゲートウェイから他のゲートウェイに、代理処理を依頼することのできる、ゲートウェイ装置、情報通信システム、データ処理方法、およびプログラムを提供しようとするものである。 The present invention has been made for recognizing the above-mentioned problems, and the gateway requests another gateway for proxy processing according to the processing load (load of data processing, etc.) in each gateway. It seeks to provide gateway devices, information communication systems, data processing methods, and programs that can be used.

上記の課題を解決するため、本発明の一態様によるゲートウェイ装置は、第1装置側からデータを受信し、第2装置側に前記データを送信するとともに、自装置の処理負荷状況を把握する通信部と、前記第1装置側から受信した前記データを所定の形式に加工して、加工後の前記データを前記第2装置側に送信するために前記通信部に渡すデータ加工部と、少なくとも自装置の処理負荷状況に基づいて、所定の状況の場合に、前記データを加工する処理と、前記データを前記第2装置側に送信する処理との、少なくともいずれかの処理を、他のゲートウェイ装置に委譲する処理委譲部と、を含む。 In order to solve the above problems, the gateway device according to one aspect of the present invention receives data from the first device side, transmits the data to the second device side, and communicates to grasp the processing load status of the own device. A unit, a data processing unit that processes the data received from the first device side into a predetermined format, and passes the processed data to the communication unit in order to transmit the processed data to the second device side, and at least itself. Based on the processing load status of the device, in a predetermined situation, at least one of the process of processing the data and the process of transmitting the data to the second device side is performed by another gateway device. Including the processing delegation department to be delegated to.

また、本発明の一態様による情報通信システムは、ゲートウェイ装置と、バックエンドサーバー装置と、センサーデバイスとを含む情報通信システムであって、前記ゲートウェイ装置は、第1装置側からデータを受信し、第2装置側に前記データを送信するとともに、自装置の処理負荷状況を把握する通信部と、前記第1装置側から受信した前記データを所定の形式に加工して、加工後の前記データを前記第2装置側に送信するために前記通信部に渡すデータ加工部と、少なくとも自装置の処理負荷状況に基づいて、所定の状況の場合に、前記データを加工する処理と、前記データを前記第2装置側に送信する処理との、少なくともいずれかの処理を、他のゲートウェイ装置に委譲する処理委譲部と、を含み、前記センサーデバイスは、センサーと、前記センサーから得られた情報を前記ゲートウェイ装置に送信する通信部と、を備える前記第1装置であって、前記バックエンドサーバー装置は、前記ゲートウェイ装置の前記通信部から送信される前記データを受信する通信部、を備える前記第2装置である、というものである。 Further, the information communication system according to one aspect of the present invention is an information communication system including a gateway device, a back-end server device, and a sensor device, and the gateway device receives data from the first device side. The data is transmitted to the second device side, the communication unit that grasps the processing load status of the own device, and the data received from the first device side are processed into a predetermined format, and the processed data is processed. A data processing unit to be passed to the communication unit for transmission to the second device side, a process for processing the data in a predetermined situation at least based on the processing load status of the own device, and the data being processed. The sensor device includes a sensor and information obtained from the sensor, including a processing delegation unit that delegates at least one of the processes of transmitting to the second device side to another gateway device. The first device including a communication unit for transmitting to a gateway device, wherein the back-end server device includes a communication unit for receiving the data transmitted from the communication unit of the gateway device. It is a device.

また、本発明の一態様によるデータ処理方法は、ゲートウェイ装置が、第1装置側から受信したデータを第2装置側へ送信するためのデータ処理方法であって、前記第1装置側からデータを受信する過程と、前記第1装置側から受信した前記データを所定の形式に加工して、加工後の前記データを前記第2装置側に送信する過程と、前記第2装置側に前記データを送信すると過程と、自装置の処理負荷状況を把握する過程と、少なくとも自装置の処理負荷状況に基づいて、所定の状況の場合に、前記データを加工する処理と、前記データを前記第2装置側に送信する処理との、少なくともいずれかの処理を、他のゲートウェイ装置に委譲する過程と、を含むものである。 Further, the data processing method according to one aspect of the present invention is a data processing method for the gateway device to transmit the data received from the first device side to the second device side, and the data is transmitted from the first device side. The process of receiving, the process of processing the data received from the first device side into a predetermined format, and transmitting the processed data to the second device side, and the process of transmitting the data to the second device side. The process of transmitting, the process of grasping the processing load status of the own device, the process of processing the data in a predetermined situation at least based on the processing load status of the own device, and the process of processing the data to the second device. It includes a process of delegating at least one of the processes of transmitting to the side to another gateway device.

また、本発明の一態様は、コンピューターを、第1装置側からデータを受信し、第2装置側に前記データを送信するとともに、自装置の処理負荷状況を把握する通信部と、前記第1装置側から受信した前記データを所定の形式に加工して、加工後の前記データを前記第2装置側に送信するために前記通信部に渡すデータ加工部と、少なくとも自装置の処理負荷状況に基づいて、所定の状況の場合に、前記データを加工する処理と、前記データを前記第2装置側に送信する処理との、少なくともいずれかの処理を、他のゲートウェイ装置に委譲する処理委譲部と、を含むゲートウェイ装置として機能させるためのプログラムである。 Further, one aspect of the present invention is a communication unit that receives data from the first device side, transmits the data to the second device side, and grasps the processing load status of the own device, and the first. The data processing unit that processes the data received from the device side into a predetermined format and passes the processed data to the communication unit in order to transmit the processed data to the second device side, and at least the processing load status of the own device. Based on this, in a predetermined situation, a processing delegation unit that delegates at least one of the processing of processing the data and the processing of transmitting the data to the second device side to another gateway device. It is a program for functioning as a gateway device including.

本発明によれば、ゲートウェイの処理の過負荷等の状況も考慮して、より適切なゲートウェイに対して処理を委譲することができる。 According to the present invention, processing can be delegated to a more appropriate gateway in consideration of a situation such as an overload of gateway processing.

第1実施形態による情報通信システムの、概略構成を示すブロック図である。It is a block diagram which shows the schematic structure of the information communication system by 1st Embodiment. 第1実施形態によるバックエンドサーバーの内部の概略機能構成を示すブロック図である。It is a block diagram which shows the schematic functional structure inside the back-end server by 1st Embodiment. 第1実施形態によるゲートウェイの内部の概略機能構成を示すブロック図である。It is a block diagram which shows the schematic functional structure inside the gateway by 1st Embodiment. 第1実施形態によるセンサーデバイスの内部の概略機能構成を示すブロック図である。It is a block diagram which shows the schematic functional structure inside the sensor device by 1st Embodiment. 第1実施形態によるゲートウェイ内の近傍ゲートウェイ格納部に格納されるデータの構成および例を示す概略図である。It is a schematic diagram which shows the structure and the example of the data stored in the neighborhood gateway storage part in the gateway by 1st Embodiment. 第1実施形態によるバックエンドサーバーが受信するデータの構成および例を示す概略図である。It is the schematic which shows the structure and the example of the data received by the back-end server by 1st Embodiment. 第1実施形態による情報通信システムの処理手順を示すフローチャートである。It is a flowchart which shows the processing procedure of the information communication system by 1st Embodiment. 第1実施形態による情報通信システムの処理手順(特に、ゲートウェイによる受信処理)を示すフローチャートである。It is a flowchart which shows the processing procedure (particularly, the reception processing by a gateway) of the information communication system by 1st Embodiment. 第1実施形態によるバックエンドサーバーがゲートウェイからデータを受信する際の処理の手順を示すフローチャートである。It is a flowchart which shows the procedure of processing when the back-end server according to 1st Embodiment receives data from a gateway. 第1実施形態によるゲートウェイ間での委譲に関する処理の、委譲元の処理手順を示すフローチャートである。It is a flowchart which shows the processing procedure of the delegation source of the process about delegation between gateways by 1st Embodiment. 第1実施形態によるゲートウェイ間での委譲に関する処理の、委譲先の処理手順を示すフローチャートである。It is a flowchart which shows the processing procedure of the delegation destination of the processing about delegation between gateways by 1st Embodiment. 第2実施形態による情報通信システムの、概略機能構成を示すブロック図である。It is a block diagram which shows the schematic functional structure of the information communication system by 2nd Embodiment.

次に、本発明を実施するための、複数の形態について説明する。 Next, a plurality of modes for carrying out the present invention will be described.

[第1実施形態]
図1は、本実施形態による情報通信システムの、概略構成を示すブロック図である。図示するように、情報通信システム1は、バックエンドサーバー100と、ゲートウェイ200と、センサーデバイス300とを、含むシステムである。情報通信システム1は、例えば、L台(Lは、1以上の整数)のバックエンドサーバー100と、M台(Mは、2以上の整数)のゲートウェイ200と、N個(Nは、1以上の整数)のセンサーデバイス300とを含むよう構成される。情報通信システム1を構成するバックエンドサーバー100やゲートウェイ200やセンサーデバイス300の台数は、例えば、動的に変更されてもよい。なお、バックエンドサーバー100や、ゲートウェイ200や、センサーデバイス300のそれぞれは、複数台存在する場合があるため、それぞれ、符号にサフィックスを付けて説明する場合がある。例えば、第2番目のバックエンドサーバーを「バックエンドサーバー100−2」と呼んだり、第3番目のゲートウェイを「ゲートウェイ200−3」と呼んだり、第4番目のセンサーデバイスを「センサーデバイス300−4」と呼んだりすることがある。
[First Embodiment]
FIG. 1 is a block diagram showing a schematic configuration of an information communication system according to the present embodiment. As shown in the figure, the information communication system 1 is a system including a back-end server 100, a gateway 200, and a sensor device 300. The information communication system 1 includes, for example, L back-end servers 100 (L is an integer of 1 or more), M gateways 200 (M is an integer of 2 or more), and N (N is 1 or more). Integer) and the sensor device 300. The number of back-end servers 100, gateways 200, and sensor devices 300 constituting the information communication system 1 may be changed dynamically, for example. Since there may be a plurality of back-end servers 100, gateways 200, and sensor devices 300, each of them may be described by adding a suffix to the code. For example, the second backend server is called "backend server 100-2", the third gateway is called "gateway 200-3", and the fourth sensor device is called "sensor device 300-". It may be called "4".

図示する例では、L台のバックエンドサーバー100−1から100−Lまでの各々は、サーバー型コンピューターを用いて実現される。L台のバックエンドサーバー100−1から100−Lまでは、例えば、相互に協調し、全体として1つの論理的なサーバー装置として機能する。また、バックエンドサーバー100は、いわゆるクラウドサーバーとして実現されていてもよい。バックエンドサーバー100は、「バックエンドサーバー装置」とも呼ばれる。 In the illustrated example, each of the L back-end servers 100-1 to 100-L is realized by using a server-type computer. The L back-end servers 100-1 to 100-L cooperate with each other, for example, and function as one logical server device as a whole. Further, the back-end server 100 may be realized as a so-called cloud server. The back-end server 100 is also referred to as a "back-end server device".

M台(M≧2)のゲートウェイ200のそれぞれは、近傍に存在する他のゲートウェイ200との間で相互に通信を行うことができるよう、ネットワークに接続されている。個々のセンサーデバイス300は、1個または複数のゲートウェイ200と、直接通信を行えるようにネットワークに接続されている。また、1台のゲートウェイ200の配下に複数のセンサーデバイスが存在していてもよい。ゲートウェイ200は、「ゲートウェイ装置」とも呼ばれる。 Each of the M units (M ≧ 2) of gateways 200 is connected to a network so that they can communicate with each other with other gateways 200 existing in the vicinity. Each sensor device 300 is connected to a network so that it can communicate directly with one or more gateways 200. Further, a plurality of sensor devices may exist under one gateway 200. The gateway 200 is also referred to as a "gateway device".

センサーデバイス300は、「IoT機器」とも呼ばれるものである。センサーデバイス300は、各種のセンサーを備えている。センサーデバイス300は、センサーで検知したデータを、ゲートウェイ200経由で、バックエンドサーバー100に送ることができる。ここで、センサーが検知するデータは、例えば物理量を表すものであったり、画像や映像や音声であったりする。センサーが検知するデータはここに列挙したものには限られない。 The sensor device 300 is also called an "IoT device". The sensor device 300 includes various sensors. The sensor device 300 can send the data detected by the sensor to the back-end server 100 via the gateway 200. Here, the data detected by the sensor may be, for example, a physical quantity, an image, a video, or a sound. The data detected by the sensor is not limited to those listed here.

センサーデバイス300とゲートウェイ200との間では、通信ネットワーク401を用いた双方向の通信が可能である。ゲートウェイ200とバックエンドサーバー100との間では、通信ネットワーク402を用いた双方向の通信が可能である。また、既述の通り、複数のゲートウェイ200の相互間でも、通信ネットワーク401または402等を用いた双方向の通信が可能である。通信ネットワーク401および402のそれぞれの通信方式は、有線通信あるいは無線通信のいずれかに限定されるものではない。通信ネットワーク401および402のそれぞれでは、適宜選択される、所定の通信方式が用いられる。 Bidirectional communication using the communication network 401 is possible between the sensor device 300 and the gateway 200. Two-way communication using the communication network 402 is possible between the gateway 200 and the back-end server 100. Further, as described above, bidirectional communication using the communication network 401 or 402 or the like is possible even between the plurality of gateways 200. The respective communication methods of the communication networks 401 and 402 are not limited to either wired communication or wireless communication. In each of the communication networks 401 and 402, a predetermined communication method selected as appropriate is used.

図2は、各々のバックエンドサーバー100の内部の概略機能構成を示すブロック図である。図示するように、バックエンドサーバー100は、サーバー制御部101と、ゲートウェイ通信部102と、統計情報計算部103と、受信データ加工部104と、統計情報格納部105と、受信データ格納部106とを含む。これらの各部の機能は、例えば、コンピューター内のCPU(中央処理装置)、メインメモリー、2次記憶装置等を用いて実現される。各部の機能は、CPU上で実行されるプログラムを用いて実現される。なお、各部の機能の少なくとも一部を、専用の回路(ハードウェア)で実現するようにしてもよい。各部の機能は、次の通りである。 FIG. 2 is a block diagram showing a schematic functional configuration inside each back-end server 100. As shown in the figure, the back-end server 100 includes a server control unit 101, a gateway communication unit 102, a statistical information calculation unit 103, a reception data processing unit 104, a statistical information storage unit 105, and a reception data storage unit 106. including. The functions of each of these parts are realized by using, for example, a CPU (central processing unit) in a computer, a main memory, a secondary storage device, and the like. The functions of each part are realized by using a program executed on the CPU. In addition, at least a part of the function of each part may be realized by a dedicated circuit (hardware). The functions of each part are as follows.

サーバー制御部101は、バックエンドサーバー100の全体の動きを制御する機能を有する。 The server control unit 101 has a function of controlling the overall movement of the back-end server 100.

ゲートウェイ通信部102は、ゲートウェイ200との間での通信を行うものである。つまり、ゲートウェイ通信部102は、ゲートウェイ200から送信されるデータを受信したり、ゲートウェイ200に対してデータを送信したりする機能を有する。 The gateway communication unit 102 communicates with the gateway 200. That is, the gateway communication unit 102 has a function of receiving data transmitted from the gateway 200 and transmitting data to the gateway 200.

統計情報計算部103は、各々のゲートウェイ200について、通信処理や通信状態に関する統計情報の計算を行うものである。具体的には、統計情報計算部103は、ゲートウェイ200から受信したデータから、ゲートウェイ間での委譲の際の中継の結果に関する情報を基に、ゲートウェイ200ごとの委譲優先度の情報を計算する。統計情報計算部103は、データ送信が成功した実績が特に直近において多いゲートウェイ200ほど、高い優先度となるように数値を算出する。 The statistical information calculation unit 103 calculates statistical information regarding communication processing and communication status for each gateway 200. Specifically, the statistical information calculation unit 103 calculates the delegation priority information for each gateway 200 from the data received from the gateway 200, based on the information on the relay result at the time of delegation between the gateways. The statistical information calculation unit 103 calculates the numerical value so that the gateway 200, which has a particularly large number of successful data transmissions in the latest, has a higher priority.

受信データ加工部104は、ゲートウェイ200側から受信したデータを加工する処理を行う。 The reception data processing unit 104 processes the data received from the gateway 200 side.

統計情報格納部105は、統計情報計算部103が算出した統計情報を記憶するものである。統計情報格納部105は、統計情報を記憶するための統計情報格納テーブルを内部に備える。 The statistical information storage unit 105 stores the statistical information calculated by the statistical information calculation unit 103. The statistical information storage unit 105 internally includes a statistical information storage table for storing statistical information.

受信データ格納部106は、受信データ加工部104によって加工されたデータを記憶するものである。 The reception data storage unit 106 stores the data processed by the reception data processing unit 104.

上記の統計情報格納部105や受信データ格納部106は、例えば、磁気ハードディスク装置や、半導体メモリー等を用いて実現される。統計情報格納部105や受信データ格納部106は、適宜、ファイルシステムやデータベース管理システム(DBMS)を用いて、データを管理する。なお、統計情報格納部105や受信データ格納部106のためのデータ記憶手段は、バックエンドサーバー100の外部に存在するデータベースサーバー装置やストレージサーバー装置等であってもよい。 The statistical information storage unit 105 and the reception data storage unit 106 are realized by using, for example, a magnetic hard disk device, a semiconductor memory, or the like. The statistical information storage unit 105 and the received data storage unit 106 manage data by appropriately using a file system or a database management system (DBMS). The data storage means for the statistical information storage unit 105 and the received data storage unit 106 may be a database server device, a storage server device, or the like existing outside the back-end server 100.

図3は、各々のゲートウェイ200の内部の概略機能構成を示すブロック図である。図示するように、ゲートウェイ200は、ゲートウェイ制御部201と、サーバー通信部202(「第1通信部」と呼ぶ場合がある)と、センサー・ゲートウェイ通信部203(「第2通信部」と呼ぶ場合がある)と、受信データ加工部204と、受信データ格納部205と、近傍ゲートウェイ格納部206と、近傍ゲートウェイ処理委譲部207とを含む。これらの各部の機能は、例えば、コンピューター内のCPU(中央処理装置)、メインメモリー、2次記憶装置等を用いて実現される。各部の機能は、CPU上で実行されるプログラムを用いて実現される。なお、各部の機能の少なくとも一部を、専用の回路(ハードウェア)で実現するようにしてもよい。各部の機能は、次の通りである。 FIG. 3 is a block diagram showing a schematic functional configuration inside each gateway 200. As shown in the figure, the gateway 200 includes a gateway control unit 201, a server communication unit 202 (sometimes referred to as a "first communication unit"), and a sensor gateway communication unit 203 (when referred to as a "second communication unit"). ), The received data processing unit 204, the received data storage unit 205, the proximity gateway storage unit 206, and the neighborhood gateway processing delegation unit 207. The functions of each of these parts are realized by using, for example, a CPU (central processing unit) in a computer, a main memory, a secondary storage device, and the like. The functions of each part are realized by using a program executed on the CPU. In addition, at least a part of the function of each part may be realized by a dedicated circuit (hardware). The functions of each part are as follows.

ゲートウェイ制御部201は、ゲートウェイ200の全体の動きを制御する機能を有する。ゲートウェイ制御部201は、ゲートウェイ200の全体や、各処理部の負荷状況を把握してもよい。この負荷状況に依り、ゲートウェイは、データの加工処理や送信処理を行うか否かを判断することができる。これらの判断の詳細については、フローチャートを参照しながら後で詳述する。また、ゲートウェイ制御部201は、他のゲートウェイ200からの委譲を受け付ける機能を有する。 The gateway control unit 201 has a function of controlling the overall movement of the gateway 200. The gateway control unit 201 may grasp the entire gateway 200 and the load status of each processing unit. Depending on this load condition, the gateway can determine whether or not to perform data processing or transmission processing. Details of these judgments will be described later with reference to the flowchart. Further, the gateway control unit 201 has a function of accepting delegation from another gateway 200.

サーバー通信部202は、バックエンドサーバー100との間での通信を行うものである。つまり、サーバー通信部202は、バックエンドサーバー100から送信されるデータを受信したり、バックエンドサーバー100に対してデータを送信したりする機能を有する。 The server communication unit 202 communicates with the back-end server 100. That is, the server communication unit 202 has a function of receiving data transmitted from the back-end server 100 and transmitting data to the back-end server 100.

センサー・ゲートウェイ通信部203は、センサーデバイス300や、他のゲートウェイ200との間で通信を行うものである。つまり、センサー・ゲートウェイ通信部203は、センサーデバイス300や他のゲートウェイ200から送信されるデータを受信したり、センサーデバイス300や他のゲートウェイ200に対してデータを送信したりする機能を有する。 The sensor / gateway communication unit 203 communicates with the sensor device 300 and another gateway 200. That is, the sensor / gateway communication unit 203 has a function of receiving data transmitted from the sensor device 300 or another gateway 200, or transmitting data to the sensor device 300 or another gateway 200.

受信データ加工部204は、センサーデバイス300から受信したデータを加工する処理を行う。受信データ加工部204は、センサーデバイス300から受信したデータを、例えば、バックエンドサーバー100側での収集に都合のよい形式等に加工する。 The reception data processing unit 204 processes the data received from the sensor device 300. The reception data processing unit 204 processes the data received from the sensor device 300 into, for example, a format convenient for collection on the back-end server 100 side.

受信データ格納部205は、センサーデバイス300から受信したデータを記憶する。受信データ格納部205は、受信データ加工部204による加工処理前のデータと、加工処理後のデータとの、いずれかまたは両方を格納してよい。 The reception data storage unit 205 stores the data received from the sensor device 300. The reception data storage unit 205 may store either or both of the data before the processing by the reception data processing unit 204 and the data after the processing.

近傍ゲートウェイ格納部206は、自装置(ゲートウェイ200)の、通信ネットワーク上における近傍に存在する他のゲートウェイ200に関する情報を記憶する。近傍ゲートウェイ格納部206は、具体的には、上記の他のゲートウェイ200の各々を識別するための識別情報(ゲートウェイID)と、各ゲートウェイ200の属性情報を記憶する。上記の識別情報により、各ゲートウェイ200を一意に特定可能である。また、近傍のゲートウェイ200の属性情報は、適宜、更新される情報であってもよい。近傍ゲートウェイ格納部206が保持するデータの構成等については、後で別の図を参照しながら説明する。 The proximity gateway storage unit 206 stores information about another gateway 200 existing in the vicinity of the own device (gateway 200) on the communication network. Specifically, the proximity gateway storage unit 206 stores identification information (gateway ID) for identifying each of the other gateways 200 described above and attribute information of each gateway 200. Each gateway 200 can be uniquely identified by the above identification information. Further, the attribute information of the gateway 200 in the vicinity may be updated as appropriate. The configuration of the data held by the neighboring gateway storage unit 206 will be described later with reference to another figure.

近傍ゲートウェイ処理委譲部207は、自装置に何らかの障害が発生した場合や自装置が高負荷の状態にある場合に、センサーデバイス300から受信したデータを加工する処理や、バックエンドサーバー100にデータを転送する処理を、近傍のゲートウェイ200に委譲するための処理を行うものである。 The proximity gateway processing delegation unit 207 processes the data received from the sensor device 300 when a failure occurs in the own device or the own device is in a high load state, and sends the data to the back-end server 100. This is a process for delegating the transfer process to a nearby gateway 200.

なお、実装の形態として、サーバー通信部202とセンサー・ゲートウェイ通信部203とがひとつの機能として統合されていてもよい。また、受信データ格納部205や近傍ゲートウェイ格納部206は、例えば、磁気ハードディスク装置や、半導体メモリー等を用いて実現される。 As an implementation form, the server communication unit 202 and the sensor / gateway communication unit 203 may be integrated as one function. Further, the received data storage unit 205 and the proximity gateway storage unit 206 are realized by using, for example, a magnetic hard disk device, a semiconductor memory, or the like.

図4は、センサーデバイス300の内部の概略機能構成を示すブロック図である。図示するように、センサーデバイス300は、ゲートウェイ通信部301と、データ取得部302とを含む。これらの各部の機能は、例えば、コンピューターおよびプログラム等を用いて実現可能である。なお、各部の機能の少なくとも一部を、専用の回路(ハードウェア)で実現するようにしてもよい。各部の機能は、次の通りである。 FIG. 4 is a block diagram showing a schematic functional configuration inside the sensor device 300. As shown in the figure, the sensor device 300 includes a gateway communication unit 301 and a data acquisition unit 302. The functions of each of these parts can be realized by using, for example, a computer and a program. In addition, at least a part of the function of each part may be realized by a dedicated circuit (hardware). The functions of each part are as follows.

ゲートウェイ通信部301は、ゲートウェイ200との間での通信を行うものである。つまり、ゲートウェイ通信部301は、ゲートウェイ200から送信されるデータを受信したり、ゲートウェイ200に対してデータを送信したりする機能を有する。ゲートウェイ通信部301が受信するデータとして、例えば、センサーデバイス300を設定したり制御したりするためのデータや、センサーデバイス300上で稼働するプログラム等が含まれてよい。 The gateway communication unit 301 communicates with the gateway 200. That is, the gateway communication unit 301 has a function of receiving data transmitted from the gateway 200 and transmitting data to the gateway 200. The data received by the gateway communication unit 301 may include, for example, data for setting or controlling the sensor device 300, a program running on the sensor device 300, and the like.

データ取得部302は、各種センサーを用いて実世界の情報を取得する。データ取得部302は、取得した情報を適宜、デジタルデータの形式で出力できるようにする。データ取得部302は、取得したデータを外部に送信するために、ゲートウェイ通信部301に渡す。 The data acquisition unit 302 acquires real-world information using various sensors. The data acquisition unit 302 enables the acquired information to be output in the form of digital data as appropriate. The data acquisition unit 302 passes the acquired data to the gateway communication unit 301 in order to transmit it to the outside.

図5は、ゲートウェイ200内の近傍ゲートウェイ格納部206に格納されるデータの構成および例を示す概略図である。近傍ゲートウェイに関するこのデータは、例えば、テーブルの形式で表現され得る。近傍ゲートウェイ格納部206が記憶するテーブルは、ゲートウェイIDと、委譲優先度と、委譲可否の各項目を有する。このテーブルの各行のデータが、1台の近傍のゲートウェイ200に対応する。各項目のデータの意味は、次の通りである。 FIG. 5 is a schematic diagram showing a configuration and an example of data stored in the neighboring gateway storage unit 206 in the gateway 200. This data about the neighbor gateway can be represented, for example, in the form of a table. The table stored in the neighboring gateway storage unit 206 has each item of gateway ID, delegation priority, and delegation availability. The data in each row of this table corresponds to one nearby gateway 200. The meaning of the data of each item is as follows.

ゲートウェイIDは、委譲先となり得る近傍のゲートウェイを一意に識別するための識別情報である。委譲優先度は、委譲が可能なゲートウェイ200が複数存在する場合において、どのゲートウェイ200が優先されるかを表す数値のデータである。一例として、委譲優先度の数値が高いほど、そのゲートウェイ200が優先される度合いが高い。委譲可否は、その時点においてゲートウェイ200が委譲可能なものであるか否かを表すものである。このテーブルが有するデータのうち、委譲優先度および委譲可否の項目は、ゲートウェイの負荷の状況や、実際の委譲処理の状況および結果等に応じて、適宜更新され得るものである。 The gateway ID is identification information for uniquely identifying a nearby gateway that can be a delegation destination. The delegation priority is numerical data indicating which gateway 200 is prioritized when there are a plurality of gateways 200 that can be delegated. As an example, the higher the delegation priority value, the higher the degree of priority given to the gateway 200. Whether or not delegation is possible indicates whether or not the gateway 200 is delegable at that time. Among the data in this table, the items of delegation priority and delegation availability can be updated as appropriate according to the status of the gateway load, the status and result of the actual delegation processing, and the like.

図5では、近傍ゲートウェイ格納部206のデータをテーブル形式で構成する例を示した。ただし、近傍ゲートウェイ格納部206は、代わりに、同等の情報を持つ他の形式で近傍のゲートウェイ200の情報を持つようにしてもよい。 FIG. 5 shows an example in which the data of the neighboring gateway storage unit 206 is configured in a table format. However, the proximity gateway storage unit 206 may instead have information on the proximity gateway 200 in another format having equivalent information.

図6は、バックエンドサーバー100が受信するデータの構成および例を示す概略図である。同図に示すデータは、JSON形式で記述されたデータである。なお、「JSON」は、JavaScript (登録商標) Object Notationの略である。JSON形式のデータでは、左右の中括弧(開くカーリーブレースおよび閉じるカーリーブレース)や、左右の大括弧(開く角括弧および閉じる角括弧)を用いたブロック構造が表されている。また、JSON形式のデータでは、基本的に、キーとキーバリュー(値)との対を用いて表現されている。なお、バックエンドサーバー100が受信するデータは、JSON形式に限らず、他の形式で記述されていてもよい。 FIG. 6 is a schematic diagram showing a configuration and an example of data received by the back-end server 100. The data shown in the figure is data described in JSON format. In addition, "JSON" is an abbreviation for Javascript (registered trademark) Object Notation. In the JSON format data, a block structure using left and right curly braces (open curly brace and close curly brace) and left and right brackets (open square bracket and close square bracket) is represented. Further, in the JSON format data, it is basically expressed by using a pair of a key and a key value (value). The data received by the back-end server 100 is not limited to the JSON format, and may be described in another format.

図示するデータにおける、第2行目から第7行目までは、データを転送した複数のゲートウェイ200の全体に関する情報を持つ。第2行目の「gateway−id」というキーワードは、データ取得元のセンサーデバイス300が最初に転送を依頼したゲートウェイの識別情報を表す。本例では、その値は「gateway1」というゲートウェイIDである。第3行目の「relay−gateway」(中継ゲートウェイ)というキーワードは、ゲートウェイID「gateway1」のゲートウェイ200から委譲された複数のゲートウェイの情報を表す。その値は、3対の、ゲートウェイIDと状況情報との対のリストである。具体的には、そのリストの第1から第3の要素は、次の通りである。第1要素として、ゲートウェイID「gateway2」に、状況情報「connection error」(通信接続エラー)が対応付いている。第2要素として、ゲートウェイID「gateway3」に、状況情報「High load」(高負荷)が対応付いている。第3要素として、ゲートウェイID「gateway4」に、状況情報「success」(通信成功)が対応付いている。上記の情報は、次に記載する経過を表す。 In the illustrated data, the second to seventh rows have information about the entire plurality of gateways 200 that have transferred the data. The keyword "gateway-id" in the second line represents the identification information of the gateway that the sensor device 300 of the data acquisition source first requested the transfer. In this example, the value is a gateway ID called "gateway1". The keyword "relay-gateway" (relay gateway) on the third line represents information on a plurality of gateways delegated from the gateway 200 of the gateway ID "gateway1". Its value is a list of three pairs of gateway IDs and status information. Specifically, the first to third elements of the list are as follows. As the first element, the gateway ID "gateway2" is associated with the status information "connection error" (communication connection error). As the second element, the gateway ID "gateway3" is associated with the status information "High load" (high load). As the third element, the gateway ID "gateway4" is associated with the status information "success" (communication success). The above information represents the process described below.

(1)即ち、データ取得元のセンサーデバイス300は、まず、ゲートウェイID「gateway1」のゲートウェイ200に、データの転送を依頼した。
(2)ゲートウェイID「gateway1」のゲートウェイ200は、ゲートウェイID「gateway2」のゲートウェイ200に、処理および転送を委譲した。
(3)委譲先であるゲートウェイID「gateway2」のゲートウェイ200では、「通信接続エラー」の状況が生じた。このため、ゲートウェイID「gateway2」のゲートウェイ200は、ゲートウェイID「gateway3」のゲートウェイ200に、処理および転送をさらに委譲した。
(4)委譲先であるゲートウェイID「gateway3」のゲートウェイ200では、「高負荷」の状況が生じた。このため、ゲートウェイID「gateway3」のゲートウェイ200は、ゲートウェイID「gateway4」のゲートウェイ200に、処理および転送をさらに委譲した。
(5)委譲先であるゲートウェイID「gateway4」のゲートウェイ200では、通信を行うために障害となる状況がなく、処理および転送が成功した。これにより、状況情報「success」が記録された。
(1) That is, the sensor device 300 of the data acquisition source first requests the gateway 200 of the gateway ID "gateway1" to transfer the data.
(2) The gateway 200 with the gateway ID “gateway1” delegates the processing and transfer to the gateway 200 with the gateway ID “gateway2”.
(3) In the gateway 200 of the gateway ID "gateway2" which is the delegation destination, the situation of "communication connection error" occurred. Therefore, the gateway 200 of the gateway ID "gateway2" further delegates the processing and the transfer to the gateway 200 of the gateway ID "gateway3".
(4) At the gateway 200 of the gateway ID "gateway3", which is the delegation destination, a "high load" situation occurred. Therefore, the gateway 200 of the gateway ID "gateway3" further delegates the processing and the transfer to the gateway 200 of the gateway ID "gateway4".
(5) In the gateway 200 of the gateway ID "gateway4", which is the delegation destination, the processing and the transfer were successful without any obstacles for communication. As a result, the situation information "success" was recorded.

第8行目は、キーワード「datetime」を有し、データの転送が行われた日時のタイムスタンプの情報を表す。図示する例では、タイムスタンプの形式は「YYYY−MM−DDTHH:MM:SS.tttZ」である。「YYYY−MM−DD」は、年・月・日を表す。「HH:MM:SS」は、時・分・秒を表す。「.ttt」は、秒未満の時刻を表し、千分の一秒単位の数値である。「Z」は協定世界時(UTC,Coordinated Universal Time)による表記であることを表す。このタイムスタンプは、例えば、通信が成功した日時を表す。本例では、このタイムスタンプは、ゲートウェイID「gateway4」のゲートウェイ200によって付与される。 The eighth line has the keyword "datetime" and represents the time stamp information of the date and time when the data was transferred. In the illustrated example, the format of the time stamp is "YYYY-MM-DDTHH: MM: SS.tttZ". "YYYY-MM-DD" represents the year, month, and day. "HH: MM: SS" represents hours, minutes, and seconds. ".Ttt" represents a time of less than a second and is a numerical value in units of one-thousandth of a second. "Z" indicates that it is a notation in Coordinated Universal Time (UTC). This time stamp represents, for example, the date and time when the communication was successful. In this example, this time stamp is given by the gateway 200 of the gateway ID "gateway4".

第9行目から第15行目までは、センサーデバイス300側で生成されたデータが引き継がれたものである。第9行目のキーワード「sensor−data」は、センサーデバイス300が生成したデータであることを表す。 From the 9th line to the 15th line, the data generated on the sensor device 300 side is inherited. The keyword "sensor-data" on the ninth line indicates that the data is generated by the sensor device 300.

第11行目から第13行目までは、3対の、キーワードと値の対のリストである。
第11行目の第1の対において、キーワード「sensor−id」は、センサーデバイス300を一意に識別するための識別情報であることを表す。そして、その値は「sensor1」である。第12行目の第2の対において、キーワード「datetime」は、日時のタイムスタンプであることを表す。タイムスタンプの形式については既に説明した通りである。タイムスタンプの値は「2018−08−01T12:25:00.000Z」(2018年08月01日12時25分00秒000 UTC)である。第13行目の第3の対において、キーワード「temperature」は、センサー値が温度であることを表す。値は「20」(単位は度、摂氏)である。
The eleventh to thirteenth lines are a list of three pairs of keywords and values.
In the first pair of the eleventh line, the keyword "sensor-id" indicates that it is identification information for uniquely identifying the sensor device 300. And the value is "senser1". In the second pair on the twelfth line, the keyword "datetime" indicates that it is a time stamp of the date and time. The format of the time stamp has already been explained. The value of the time stamp is "2018-08-01T12: 25: 00.000Z" (August 01, 2018 12:25:00 UTC). In the third pair on the thirteenth line, the keyword "temperature" indicates that the sensor value is temperature. The value is "20" (unit is degrees, degrees Celsius).

次に、情報通信システム1が動作する際の処理手順について説明する。なお、以下の説明における状況として、障害等が発生するよりも前には、センサーデバイス300が取得したデータが、ゲートウェイ200を介して、バックエンドサーバー100まで正常に送達されていた。ここで「障害等」には、通信接続段あるいはその他の理由による通信接続エラーの状況や、ゲートウェイ200等の装置の高負荷によって、バックエンドサーバーへのデータの送達を直接行うことができない状況を含む。障害等が発生した後には、ゲートウェイ200によって、他のゲートウェイ200への委譲が試みられる。他のゲートウェイ200への委譲は、複数の段階にわたって繰り返されてよい。つまり、委譲先であるゲートウェイ200は、障害等の事情に応じて、さらに他のゲートウェイ200への処理等の委譲を行うことができる。 Next, the processing procedure when the information communication system 1 operates will be described. As a situation in the following description, the data acquired by the sensor device 300 was normally delivered to the back-end server 100 via the gateway 200 before the failure or the like occurred. Here, "failure, etc." refers to a situation in which data cannot be delivered directly to the back-end server due to a communication connection error situation due to the communication connection stage or other reasons, or a heavy load on a device such as a gateway 200. Including. After a failure or the like occurs, the gateway 200 attempts to delegate to another gateway 200. The delegation to another gateway 200 may be repeated in multiple stages. That is, the gateway 200, which is the delegation destination, can further delegate the processing or the like to another gateway 200 depending on the circumstances such as a failure.

図7は、情報通信システム1の処理手順を示すフローチャートである。以下、このフローチャートに沿って説明する。 FIG. 7 is a flowchart showing a processing procedure of the information communication system 1. Hereinafter, the description will be given according to this flowchart.

ステップS11において、センサーデバイス300のデータ取得部302は、センサーを用いて、実世界の情報を取得する。データ取得部302が取得する情報の種類は、任意であるが、例えば、温度、湿度、圧力、流量等であり、また、静止画像や、動画や、音声等であってもよい。データ取得部302は、アナログセンサーあるいはデジタルセンサーを用いて取得した情報を、送信可能な形式のデジタルデータの形式に整える。また、データ取得部302は、センサーデバイスの属性情報(センサーデバイスの識別情報等)や、データを取得した日時の情報を、適宜、付加するようにしてもよい。 In step S11, the data acquisition unit 302 of the sensor device 300 acquires real-world information using the sensor. The type of information acquired by the data acquisition unit 302 is arbitrary, but may be, for example, temperature, humidity, pressure, flow rate, etc., and may be a still image, moving image, audio, or the like. The data acquisition unit 302 arranges the information acquired by using the analog sensor or the digital sensor into a format of digital data that can be transmitted. Further, the data acquisition unit 302 may appropriately add attribute information of the sensor device (identification information of the sensor device, etc.) and information on the date and time when the data was acquired.

ステップS12において、ゲートウェイ通信部301は、データ取得部302が取得し、整形したデータを、接続されている所定のゲートウェイ200に送信する。 In step S12, the gateway communication unit 301 transmits the data acquired and formatted by the data acquisition unit 302 to the predetermined gateway 200 to which the data acquisition unit 302 is connected.

ステップS13において、ゲートウェイ200は、センサーデバイス300から送信されたデータを受信する。ゲートウェイ200がデータを受信する処理の詳細については、次に図8を参照しながら説明する。 In step S13, the gateway 200 receives the data transmitted from the sensor device 300. The details of the process of receiving the data by the gateway 200 will be described next with reference to FIG.

図8は、情報通信システム1の処理手順を示すフローチャートである。このフローチャートは、特に、ゲートウェイ200による受信の処理を中心に示すものである。以下、このフローチャートに沿って説明する。 FIG. 8 is a flowchart showing a processing procedure of the information communication system 1. This flowchart particularly shows the processing of reception by the gateway 200. Hereinafter, the description will be given according to this flowchart.

ステップS21において、ゲートウェイ200のセンサー・ゲートウェイ通信部203は、センサーデバイス300から送信されるデータを受信する。受信されたデータは、受信データ加工部204にも渡される。 In step S21, the sensor gateway communication unit 203 of the gateway 200 receives the data transmitted from the sensor device 300. The received data is also passed to the received data processing unit 204.

ステップS22において、受信データ加工部204は、ステップS21で受信されたデータを加工する。加工処理の内容は様々であってよい。加工処理の内容の一つは、バックエンドサーバー100が期待するデータ形式に合うようにデータを加工することである。また、加工処理が、自装置(ゲートウェイ200)の識別情報(ゲートウェイID)を、データ内に付加する処理を含んでもよい。また、加工処理が、データの単位変換の処理を含むものでもよい。単位変換とは、例えば、温度の、摂氏から華氏への変換(あるいはその逆の変換)であってよい。また、単位変換とは、例えば、メートル法の系からヤード・ポンド法の系への変換(あるいはその逆の変換)であってよい。単位変換とは、例えば、外貨交換レートに基づく通貨単位の変換であってよい。また、ここに例示した変換以外の変換であってもよい。また、加工処理が、例えば複数のセンサーデバイス300から受信したデータを1本のデータに統合する処理を含むものでもよい。 In step S22, the received data processing unit 204 processes the data received in step S21. The content of the processing may vary. One of the contents of the processing process is to process the data so as to match the data format expected by the back-end server 100. Further, the processing process may include a process of adding the identification information (gateway ID) of the own device (gateway 200) to the data. Further, the processing process may include a process of unit conversion of data. The unit conversion may be, for example, the conversion of temperature from Celsius to Fahrenheit (or vice versa). The unit conversion may be, for example, a conversion from a metric system to an imperial system (or vice versa). The unit conversion may be, for example, a conversion of currency units based on a foreign currency exchange rate. Further, a conversion other than the conversion illustrated here may be used. Further, the processing process may include, for example, a process of integrating data received from a plurality of sensor devices 300 into one data.

ステップS23において、ゲートウェイ制御部201は、自装置(ゲートウェイ200)が、バックエンドサーバー100と通信可能であるか否かを調べ、判断する。具体的には、ゲートウェイ制御部201は、バックエンドサーバー100との通信が接続されている状態であるか否か、サーバー通信部202のその時点での処理負荷が充分に低いか否か。通信ネットワークのレイテンシーが充分に小さいか否か、通信に関するその他の障害が生じていないかどうか、といったことを判断する。これらに基づき、バックエンドサーバーと通信可能であるとゲートウェイ制御部201が判断する場合(ステップS23:YES)、次のステップS24に進む。何らかの理由で通信可能ではない場合(ステップS23:NO)、ステップS25の処理に進む。 In step S23, the gateway control unit 201 examines and determines whether or not its own device (gateway 200) can communicate with the back-end server 100. Specifically, the gateway control unit 201 determines whether or not communication with the back-end server 100 is connected, and whether or not the processing load of the server communication unit 202 at that time is sufficiently low. Determine if the latency of the communication network is low enough and if there are any other communication failures. Based on these, when the gateway control unit 201 determines that communication with the back-end server is possible (step S23: YES), the process proceeds to the next step S24. If communication is not possible for some reason (step S23: NO), the process proceeds to step S25.

ステップS24において、サーバー通信部202は、加工済みのデータを、バックエンドサーバー100に送信する。本ステップの処理が終わると、ステップS28に進む。 In step S24, the server communication unit 202 transmits the processed data to the back-end server 100. When the processing of this step is completed, the process proceeds to step S28.

ステップS25に進んだ場合、ステップS25において、ゲートウェイ制御部201の制御により、受信データ加工部204は、バックエンドサーバー100に送信するための加工済みのデータを、一旦、受信データ格納部205に書き込む。なお、他のゲートウェイ200に送信を委譲することが決まると、そのデータは、受信データ格納部205から読み出される。 When the process proceeds to step S25, in step S25, under the control of the gateway control unit 201, the reception data processing unit 204 once writes the processed data to be transmitted to the back-end server 100 to the reception data storage unit 205. .. When it is decided to delegate the transmission to another gateway 200, the data is read from the received data storage unit 205.

ステップS26において、近傍ゲートウェイ処理委譲部207は、処理委譲先のゲートウェイ200を選定する。この際、近傍ゲートウェイ処理委譲部207は、近傍ゲートウェイ格納部206を参照し、近傍のゲートウェイ200ごとに、委譲可否を判定する。また、近傍ゲートウェイ処理委譲部207は、近傍ゲートウェイ格納部206を参照し、近傍のゲートウェイ200ごとの委譲優先度を判断する。つまり、近傍ゲートウェイ処理委譲部207は、委譲可能であるゲートウェイ200のうち、最も優先度の高いゲートウェイ200を、処理委譲先として選定する。 In step S26, the proximity gateway processing delegation unit 207 selects the processing delegation destination gateway 200. At this time, the neighborhood gateway processing delegation unit 207 refers to the neighborhood gateway storage unit 206, and determines whether or not the delegation is possible for each of the neighboring gateways 200. Further, the proximity gateway processing delegation unit 207 refers to the neighborhood gateway storage unit 206 and determines the delegation priority for each of the proximity gateways 200. That is, the proximity gateway processing delegation unit 207 selects the gateway 200 having the highest priority among the delegable gateways 200 as the processing delegation destination.

ステップS27において、近傍ゲートウェイ処理委譲部207は、ステップS26で選定されたゲートウェイ200に、データの送信等の処理を委譲する。なお、処理の委譲の手順等の詳細については後で別の図を参照しながら説明する。 In step S27, the proximity gateway processing delegation unit 207 delegates processing such as data transmission to the gateway 200 selected in step S26. Details of the procedure for delegating processing will be described later with reference to another figure.

ステップS28において、バックエンドサーバー100は、当該ゲートウェイ200または委譲先のゲートウェイ200から送信されたデータを受信する。バックエンドサーバー100による受信の処理の詳細については、次の図9を参照しながら説明する。 In step S28, the back-end server 100 receives the data transmitted from the gateway 200 or the delegated gateway 200. The details of the reception process by the back-end server 100 will be described with reference to FIG. 9 below.

上の、フローチャートを参照した説明では、ゲートウェイ200は、受信したデータの加工処理を行った後で、バックエンドサーバー100へのデータ送信を委譲するか否かの判定を行うようにした。代わりに、次のようにしてもよい。即ち、ゲートウェイ200は、データを受信した後で且つそのデータの加工処理を行う前に、その時点での処理負荷等に基づいて、データの加工処理とバックエンドサーバー100へのデータ送信の処理とを、他のゲートウェイ200に委譲するか否かを判断すてもよい。判断の結果、ゲートウェイ200は、データの加工処理とバックエンドサーバー100へのデータ送信の処理とをまとめて、他のゲートウェイ200に委譲することもできる。 In the above description with reference to the flowchart, the gateway 200 determines whether or not to delegate the data transmission to the back-end server 100 after processing the received data. Alternatively, you may do the following: That is, after receiving the data and before processing the data, the gateway 200 processes the data and transmits the data to the back-end server 100 based on the processing load at that time. May be determined whether or not to delegate to another gateway 200. As a result of the determination, the gateway 200 can collectively transfer the data processing process and the data transmission process to the back-end server 100 to another gateway 200.

図9は、バックエンドサーバー100がゲートウェイ200からデータを受信する際の処理の手順を示すフローチャートである。以下、このフローチャートに沿って説明する。 FIG. 9 is a flowchart showing a processing procedure when the back-end server 100 receives data from the gateway 200. Hereinafter, the description will be given according to this flowchart.

ステップS31において、バックエンドサーバー100のゲートウェイ通信部102は、ゲートウェイ200から送信されたデータを受信する。 In step S31, the gateway communication unit 102 of the back-end server 100 receives the data transmitted from the gateway 200.

ステップS32において、サーバー制御部101は、ステップS31で受信したデータの内部を参照して、そのデータがゲートウェイ200間で委譲された記録を持つものであるか否かを判定する。言い換えれば、そのデータが複数のゲートウェイ200を経由して送信されたものであるか否かを確認する。バックエンドサーバー100が受信するデータの構造は、図6に示して説明した通りである。つまり、受信されたデータの中の、キーワード「relay−gateway」で表される部分を参照することにより、そのデータがゲートウェイ200間での委譲によって送信されてきたものであるか否かがわかる。データの委譲があった場合(ステップS32:YES)、次のステップS33に進む。データの委譲がなかった場合(ステップS32:NO)、ステップS36の処理に飛ぶ。 In step S32, the server control unit 101 refers to the inside of the data received in step S31 and determines whether or not the data has a record delegated between the gateways 200. In other words, it is confirmed whether or not the data is transmitted via the plurality of gateways 200. The structure of the data received by the back-end server 100 is as shown and described in FIG. That is, by referring to the portion of the received data represented by the keyword "relay-gateway", it can be determined whether or not the data has been transmitted by delegation between the gateways 200. If there is data delegation (step S32: YES), the process proceeds to the next step S33. If there is no data delegation (step S32: NO), the process of step S36 is skipped.

ステップS33において、統計情報計算部103は、ステップS31で受信したデータから、中継ゲートウェイの情報を抽出する。つまり、統計情報計算部103は、キーワード「relay−gateway」で表される部分を抽出する。統計情報計算部103が抽出する中継ゲートウェイの情報は、図6を参照しながら説明したように、ゲートウェイ200の識別情報と状況情報の対のリストとして表されている。そのリストのうちの最後の対においては、状況情報が「success」(通信成功)である。そのリストのうちの最後以外の対においては、状況情報は委譲理由を表している。 In step S33, the statistical information calculation unit 103 extracts the relay gateway information from the data received in step S31. That is, the statistical information calculation unit 103 extracts the portion represented by the keyword “relay-gateway”. The relay gateway information extracted by the statistical information calculation unit 103 is represented as a list of pairs of identification information and status information of the gateway 200, as described with reference to FIG. In the last pair of the list, the status information is "success" (communication success). In the non-last pair of the list, the status information represents the reason for the delegation.

図6に示した例においては、最後の対の、ゲートウェイIDは「gateway4」であり、状況情報は「success」(通信成功)である。その他の対は、次の通りである。即ち、ゲートウェイID「gateway2」に対応して、状況情報「connection error」(通信接続エラー)が格納されている。また、ゲートウェイID「gateway3」に対応して、状況情報「High load」(高負荷)が格納されている。 In the example shown in FIG. 6, the gateway ID of the last pair is "gateway4", and the status information is "success" (communication success). The other pairs are as follows. That is, the status information "connection error" (communication connection error) is stored corresponding to the gateway ID "gateway2". Further, the status information "High load" (high load) is stored corresponding to the gateway ID "gateway3".

ステップS34において、統計情報計算部103は、中継ゲートウェイの経路途中のゲートウェイ200(ただし、「通信成功」である最後のゲートウェイ200を除く)の委譲理由を抽出する。上記の例における、「gateway2」に対して、状況情報「connection error」(通信接続エラー)が委譲理由である。また、「gateway3」に対して、状況情報「High load」(高負荷)が委譲理由である。統計情報計算部103は、これらの委譲理由を、それぞれのゲートウェイIDと関連付ける形で、統計情報格納部105の、統計情報格納テーブルに書き込む。 In step S34, the statistical information calculation unit 103 extracts the reason for delegation of the gateway 200 (excluding the last gateway 200 which is “communication success”) in the middle of the route of the relay gateway. The status information "connection error" (communication connection error) is the reason for delegation to "gateway2" in the above example. In addition, the situation information "High load" (high load) is the reason for delegation to "gateway3". The statistical information calculation unit 103 writes these delegation reasons in the statistical information storage table of the statistical information storage unit 105 in the form of associating with each gateway ID.

ステップS35において、受信データ加工部104は、受信したデータから、中継ゲートウェイの情報を削除する。 In step S35, the reception data processing unit 104 deletes the relay gateway information from the received data.

ステップS36において、受信データ加工部104は、受信したデータを、受信データ格納部106に書き込む。 In step S36, the reception data processing unit 104 writes the received data to the reception data storage unit 106.

ステップS37において、統計情報計算部103は、データ送信元のゲートウェイ200に関する統計情報を、統計情報格納部105に書き込む。本ステップで記録される統計情報としては、例えば、次のようなものがある。即ち、所定期間内における当該ゲートウェイ200からのデータ受信回数や、当該ゲートウェイ200からのデータ受信間隔や、受信データサイズなどの情報が含まれる。ただし、その他の情報を統計情報として統計情報格納部105に書き込むようにしてもよい。 In step S37, the statistical information calculation unit 103 writes statistical information about the gateway 200 of the data transmission source to the statistical information storage unit 105. The statistical information recorded in this step includes, for example, the following. That is, information such as the number of times data is received from the gateway 200 within a predetermined period, the data reception interval from the gateway 200, and the received data size is included. However, other information may be written in the statistical information storage unit 105 as statistical information.

図10はおよび図11は、ゲートウェイ200による委譲の処理を中心とした処理手順を示すフローチャートである。ここで、委譲元のゲートウェイはゲートウェイ200−1である。また、委譲先のゲートウェイはゲートウェイ200−2である。図10は、委譲元のゲートウェイ200−1の処理の手順を示す。また、図11は、委譲先のゲートウェイ200−2の処理の手順を示す。これらの両図のフローチャートは、結合子(A,B,C)で結合されている。このフローチャートは、ゲートウェイ200−1で生じた、バックエンドサーバー100に送信すべき1件のデータの処理に対応するものである。以下、これらのフローチャートに沿って、処理手順を説明する。 10 and 11 are flowcharts showing a processing procedure centered on the delegation processing by the gateway 200. Here, the delegation source gateway is gateway 200-1. The gateway of the delegation destination is gateway 200-2. FIG. 10 shows a procedure for processing the delegation source gateway 200-1. Further, FIG. 11 shows a procedure for processing the gateway 200-2 of the delegation destination. The flowcharts of both figures are connected by a combiner (A, B, C). This flowchart corresponds to the processing of one piece of data to be transmitted to the backend server 100, which occurs at gateway 200-1. Hereinafter, the processing procedure will be described with reference to these flowcharts.

図10のステップS101において、ゲートウェイ制御部201は、バックエンドサーバー100に対してデータを送信する必要が生じた際に、バックエンドサーバー100との間の通信可否を調べ、判定する。 In step S101 of FIG. 10, when it becomes necessary to transmit data to the back-end server 100, the gateway control unit 201 examines and determines whether or not communication with the back-end server 100 is possible.

次にステップS102は、ステップS101での判定に基づく分岐の処理である。バックエンドサーバー100との間で通信が可能である場合には、ステップS103に進む。バックエンドサーバー100との間で通信が不可能である場合には、ステップS104に進む。 Next, step S102 is a branching process based on the determination in step S101. If communication with the back-end server 100 is possible, the process proceeds to step S103. If communication with the back-end server 100 is not possible, the process proceeds to step S104.

次にステップS103に進んだ場合、ゲートウェイ200−1は、他のゲートウェイ200への処理の委譲を行わない。この場合、ゲートウェイ200−1のサーバー通信部202は、データをバックエンドサーバー100に送信する。送信が完了すると、ゲートウェイ200−1は、本フローチャート全体の処理を終了する。 Next, when the process proceeds to step S103, the gateway 200-1 does not delegate the processing to another gateway 200. In this case, the server communication unit 202 of the gateway 200-1 transmits the data to the back-end server 100. When the transmission is completed, the gateway 200-1 ends the processing of the entire flowchart.

次にステップS104に進んだ場合、近傍ゲートウェイ処理委譲部207は、近傍ゲートウェイ格納部206から、近傍のゲートウェイの一覧リストの情報を読み出す。近傍ゲートウェイ格納部206が保持するデータについては、図5を参照しながら説明した通りである。 Next, when the process proceeds to step S104, the proximity gateway processing delegation unit 207 reads the information of the list of nearby gateways from the proximity gateway storage unit 206. The data held by the proximity gateway storage unit 206 is as described with reference to FIG.

次にステップS105において、近傍ゲートウェイ処理委譲部207は、ステップS104において取得したリスト内に、委譲先となり得るゲートウェイ200が存在するか否かを判断し、処理を分岐する。この判定は、近傍ゲートウェイ格納部が保持していた、ゲートウェイ200ごとの委譲可否の項目に基づいて行われる。委譲先のゲートウェイ200がある場合には、ステップS106に進む。委譲先のゲートウェイ200がない場合には、ステップS107に進む。 Next, in step S105, the neighborhood gateway processing delegation unit 207 determines whether or not the gateway 200 that can be the delegation destination exists in the list acquired in step S104, and branches the processing. This determination is made based on the item of whether or not delegation is possible for each gateway 200 held by the neighboring gateway storage unit. If there is a gateway 200 to be delegated, the process proceeds to step S106. If there is no gateway 200 to be delegated, the process proceeds to step S107.

次にステップS106に進んだ場合、近傍ゲートウェイ処理委譲部207は、ステップS104で取得したゲートウェイ200のリスト内から、委譲可否が「可」であり、且つ委譲優先度が最高である近傍のゲートウェイ200(これが、ゲートウェイ200−2)に、処理を委譲する。本ステップの処理の終了後、結合子Aにより、ゲートウェイ200−2側の、図11のステップS121の処理に移る。 Next, when the process proceeds to step S106, the proximity gateway processing delegation unit 207 indicates that the delegation is possible or not and the delegation priority is the highest from the list of gateways 200 acquired in step S104. (This delegates the processing to gateway 200-2). After the processing of this step is completed, the combiner A shifts to the processing of step S121 of FIG. 11 on the gateway 200-2 side.

次にステップS107に進んだ場合、即ち他のゲートウェイ200への委譲が不可である場合、受信データ加工部204は、受信データ格納部205にデータを格納する。このデータは、状況が変わったとき、つまりゲートウェイ200−1やゲートウェイ200―2からバックエンドサーバー100への通信が可能になったときに、改めて受信データ格納部205から取り出され得る。本ステップの処理の終了後、このフローチャート全体の処理を終了する。 Next, when the process proceeds to step S107, that is, when delegation to another gateway 200 is not possible, the reception data processing unit 204 stores the data in the reception data storage unit 205. This data can be retrieved from the received data storage unit 205 again when the situation changes, that is, when communication from the gateway 200-1 or the gateway 200-2 to the back-end server 100 becomes possible. After the processing of this step is completed, the processing of the entire flowchart is completed.

ステップS108に処理が移るのは、委譲先であるゲートウェイ200−2の処理で、図11のステップS128あるいはステップS134の処理が終わったときである。つまり、委譲先のゲートウェイ200でデータの送信が完了したときに、委譲元に制御が戻され、ステップS108に移る。ステップS108において、受信データ加工部204は、受信データ格納部205から、委譲先への委譲の対象であったデータを削除する。本ステップの終了後、ステップS109に移る。 The process shifts to step S108 when the process of the gateway 200-2, which is the delegation destination, is completed, and the process of step S128 or step S134 of FIG. 11 is completed. That is, when the data transmission is completed at the delegation destination gateway 200, control is returned to the delegation source, and the process proceeds to step S108. In step S108, the reception data processing unit 204 deletes the data that was the target of delegation to the delegation destination from the reception data storage unit 205. After the end of this step, the process proceeds to step S109.

ステップS109に処理が移るのは、(1)ステップS108の処理を終えたときと、(2)委譲先であるゲートウェイ200−2の処理で、図11のステップS133あるいはステップS135の処理が終わったときである。この(2)は、つまり、委譲先においてもデータの送信が完了しなかった場合である。ステップS109において、近傍ゲートウェイ処理委譲部207は、近傍ゲートウェイ格納部206の、委譲可否の情報を更新する。つまり、委譲先のゲートウェイ200からデータの送信ができたか否かの通知を受け、その通知に依り、ゲートウェイ200ごとの委譲可否の情報を最新の状態に設定する。また、近傍ゲートウェイ処理委譲部207は、近傍ゲートウェイ格納部206の、委譲優先度の情報を併せて更新してよい。本ステップの処理の終了後、このフローチャート全体の処理を終了する。 The processing shifts to step S109 when (1) the processing of step S108 is completed and (2) the processing of the gateway 200-2 which is the delegation destination, and the processing of step S133 or step S135 of FIG. 11 is completed. It's time. This (2) is a case where the data transmission is not completed even at the delegation destination. In step S109, the neighborhood gateway processing delegation unit 207 updates the information on whether or not the delegation is possible in the neighborhood gateway storage unit 206. That is, the transfer destination gateway 200 receives a notification as to whether or not data can be transmitted, and the information on whether or not the transfer is possible for each gateway 200 is set to the latest state based on the notification. Further, the neighborhood gateway processing delegation unit 207 may also update the delegation priority information of the neighborhood gateway storage unit 206. After the processing of this step is completed, the processing of the entire flowchart is completed.

図11のゲートウェイ200−2(委譲先)のフローチャートへの、委譲元側からのエントリーポイントは、ステップS121(結合子A)である。また、委譲元側への復帰のポイントは、ステップS128またはステップS134(結合子B)と、ステップS133またはステップS135(結合子C)とである。このフローチャートから、再委譲先のゲートウェイ200の処理に移るポイントは、ステップS132(結合子A)である。再委譲先からのこのフローチャートへの復帰のポイントは、S134(結合子B)と、S135(結合子C)とである。 The entry point from the delegation source side to the flowchart of the gateway 200-2 (delegation destination) of FIG. 11 is step S121 (combiner A). Further, the points of returning to the transfer source side are step S128 or step S134 (combiner B) and step S133 or step S135 (combiner C). From this flowchart, the point at which the process of the re-delegated gateway 200 is started is step S132 (combiner A). The points of returning to this flowchart from the re-delegation destination are S134 (combiner B) and S135 (combiner C).

なお、委譲先のゲートウェイ200から、再委譲先のゲートウェイ200への委譲が行われる場合の、再委譲先での処理の手順は、この図11と同じである。 The procedure for processing at the re-delegation destination when the delegation is performed from the delegation destination gateway 200 to the re-delegation destination gateway 200 is the same as in FIG.

図11のステップS121から始まる処理は、センサー・ゲートウェイ通信部203が、委譲元であるゲートウェイ200からデータ送信依頼を受信したことをトリガーとして実行される。ステップS121において、ゲートウェイ制御部201は、委譲を受け付けられるか否かを確認する。自装置(ゲートウェイ200)自身の重大な障害がない限りは、ゲートウェイ制御部201は、委譲を受け付ける。 The process starting from step S121 in FIG. 11 is executed with the sensor gateway communication unit 203 receiving a data transmission request from the gateway 200, which is the delegation source, as a trigger. In step S121, the gateway control unit 201 confirms whether or not the delegation can be accepted. Unless there is a serious failure of the own device (gateway 200) itself, the gateway control unit 201 accepts the delegation.

次に、ステップS122において、ゲートウェイ制御部201は、バックエンドサーバー100との間の通信可否を調べ、判定する。 Next, in step S122, the gateway control unit 201 examines and determines whether or not communication with the back-end server 100 is possible.

次のステップS123は、ステップS122での判定に基づく分岐の処理である。バックエンドサーバー100との間で通信が可能である場合には、ステップS124に進む。バックエンドサーバー100との間で通信が不可能である場合には、ステップS129に進む。 The next step S123 is a branching process based on the determination in step S122. If communication with the back-end server 100 is possible, the process proceeds to step S124. If communication with the back-end server 100 is not possible, the process proceeds to step S129.

次に、ステップS124に進んだ場合、ゲートウェイ制御部201は、自装置(ゲートウェイ200)の負荷状況を確認する。言い換えれば、ゲートウェイ制御部201は、委譲元から委譲された処理を実行しても問題がない程度の負荷状況であるか否かを、確認する。具体的な方法としては、ゲートウェイ制御部201は、自装置(ゲートウェイ200)における、全体の、あるいは各機能部(サーバー通信部202や、センサー・ゲートウェイ通信部203や、受信データ加工部204等の各々)の、負荷状況等を常にモニタリングする。負荷状況の指標は、CPU使用率、入出力チャネル使用率、磁気ディスク装置等を使用する場合にはその使用率や入出力待ち時間等、主記憶装置と補助記憶装置との間のページング等の発生率などを含む。ゲートウェイ制御部201は、その負荷状況をトータルに数値化する。例えば、ゲートウェイ制御部201は、負荷を表す数値が大きいほど高負荷であるような数値を算出できるようにする。そして、ゲートウェイ制御部201は、ステップS124に進んで時点で算出された負荷の数値が、予め定めた閾値以上であるか否かにより、負荷状況を確認する。 Next, when the process proceeds to step S124, the gateway control unit 201 confirms the load status of the own device (gateway 200). In other words, the gateway control unit 201 confirms whether or not the load status is such that there is no problem even if the processing delegated by the delegation source is executed. As a specific method, the gateway control unit 201 may include the entire or each functional unit (server communication unit 202, sensor / gateway communication unit 203, received data processing unit 204, etc.) in the own device (gateway 200). Always monitor the load status of each). Indicators of load status include CPU usage rate, I / O channel usage rate, usage rate when using a magnetic disk device, input / output waiting time, paging between the main storage device and auxiliary storage device, etc. Including the incidence and so on. The gateway control unit 201 totally quantifies the load status. For example, the gateway control unit 201 makes it possible to calculate a numerical value such that the larger the numerical value representing the load, the higher the load. Then, the gateway control unit 201 confirms the load status by proceeding to step S124 and checking whether or not the value of the load calculated at that time is equal to or greater than a predetermined threshold value.

次に、ステップS125において、ステップS124での確認の結果に基づく分岐を行う。自装置が低負荷(例えば、上記の負荷数値が閾値未満)である場合には、ステップS126に進む。自装置が高負荷(例えば、上記の負荷数値が閾値以上)である場合には、ステップS129に進む。 Next, in step S125, branching is performed based on the result of confirmation in step S124. If the own device has a low load (for example, the above load value is less than the threshold value), the process proceeds to step S126. If the own device has a high load (for example, the above load value is equal to or higher than the threshold value), the process proceeds to step S129.

次に、ステップS126に進んだ場合、即ちバックエンドサーバー100にデータを送信することが可能である場合、受信データ加工部204は、送信するデータ内に委譲情報を格納する。具体的には、受信データ加工部204は、図6で説明したデータ内のキーワード「relay−gateway」で表されるデータを、送信用のデータ内に正しく設定する。 Next, when the process proceeds to step S126, that is, when the data can be transmitted to the back-end server 100, the reception data processing unit 204 stores the delegation information in the data to be transmitted. Specifically, the reception data processing unit 204 correctly sets the data represented by the keyword "relay-gateway" in the data described with reference to FIG. 6 in the data for transmission.

次に、ステップS127において、サーバー通信部202は、ステップS126で設定した委譲情報を含むデータを、バックエンドサーバー100に送信する。 Next, in step S127, the server communication unit 202 transmits the data including the delegation information set in step S126 to the back-end server 100.

次に、ステップS128において、ゲートウェイ制御部201は、バックエンドサーバーへの送信が完了したことを、委譲元のゲートウェイ200に通知する。このときに、自装置のゲートウェイIDに関連付けて委譲元のゲートウェイ200に対して通知される状況情報は「success」(通信成功)である。本ステップの処理が終了すると、図10のステップS108に戻る。 Next, in step S128, the gateway control unit 201 notifies the transfer source gateway 200 that the transmission to the back-end server is completed. At this time, the status information notified to the transfer source gateway 200 in association with the gateway ID of the own device is "success" (communication success). When the processing of this step is completed, the process returns to step S108 of FIG.

なお、この「success」(通信成功)の通知を受けたゲートウェイ200側では、近傍ゲートウェイ処理委譲部207が、近傍ゲートウェイ格納部206内の情報を更新する。つまり、「success」(通信成功)の通知を行ったゲートウェイ200のゲートウェイIDに関連付けられた委譲可否は「可」に更新される。また、そのゲートウェイIDに関連付けられた委譲優先度が上げられる。これにより、バックエンドサーバー100へのデータの送信が成功したゲートウェイ200は、次回以後に、委譲先として選定されやすくなる。 On the gateway 200 side that has received the notification of "success" (communication success), the proximity gateway processing delegation unit 207 updates the information in the proximity gateway storage unit 206. That is, the transferability associated with the gateway ID of the gateway 200 that has notified "success" (communication success) is updated to "OK". Also, the delegation priority associated with the gateway ID is raised. As a result, the gateway 200 that has succeeded in transmitting data to the back-end server 100 can be easily selected as a delegation destination from the next time onward.

ステップS129に進んだ場合、即ち、自装置からバックエンドサーバー100へのデータ送信を行えなかった場合、近傍ゲートウェイ処理委譲部207は、再委譲先のゲートウェイ200を選定するための処理をする。 If the process proceeds to step S129, that is, if the data cannot be transmitted from the own device to the back-end server 100, the proximity gateway processing delegation unit 207 performs a process for selecting the gateway 200 to be re-delegated.

ステップS130において、近傍ゲートウェイ処理委譲部207は、近傍ゲートウェイ格納部206から、近傍のゲートウェイの一覧リストの情報を読み出す。このリストの情報については、図5を参照しながら説明した通りである。 In step S130, the neighborhood gateway processing delegation unit 207 reads the information of the list of nearby gateways from the neighborhood gateway storage unit 206. The information in this list is as described with reference to FIG.

次に、ステップS131において、近傍ゲートウェイ処理委譲部207は、ステップS130で取得したリスト内に、委譲先となり得る近傍のゲートウェイ200が存在するか否かを判定する。この判定は、近傍ゲートウェイ格納部が保持していた、ゲートウェイ200ごとの委譲可否の項目に基づいて行われる。委譲先のゲートウェイ200がある場合には、ステップS132に進む。委譲先のゲートウェイ200がない場合には、ステップS133に進む。 Next, in step S131, the proximity gateway processing delegation unit 207 determines whether or not there is a nearby gateway 200 that can be the delegation destination in the list acquired in step S130. This determination is made based on the item of whether or not delegation is possible for each gateway 200 held by the neighboring gateway storage unit. If there is a gateway 200 to be delegated, the process proceeds to step S132. If there is no gateway 200 to be delegated, the process proceeds to step S133.

次に、ステップS132に進んだ場合、委譲可能であるゲートウェイ200のうち、最も優先度の高いゲートウェイ200を処理委譲先として選定し、そのゲートウェイ200に処理を委譲する。再委譲先のゲートウェイ200での処理は、本フローチャートのステップS121(結合子Aによる結合)である。 Next, when the process proceeds to step S132, the gateway 200 having the highest priority among the delegable gateways 200 is selected as the processing delegation destination, and the processing is delegated to the gateway 200. The process at the gateway 200 of the re-delegation destination is step S121 (combination by the combiner A) of this flowchart.

次に、ステップS133に進んだ場合、ゲートウェイ制御部201は、委譲不可理由を委譲元のゲートウェイ200に通知する。ここで通知される委譲不可理由は、前記のステップS123での判断結果に基づく「connection error」(通信接続エラー)や、ステップS125での判断結果に基づく「High load」(高負荷)である。委譲不可理由は、自装置のゲートウェイIDと関連付ける形で、委譲元に通知される。 Next, when the process proceeds to step S133, the gateway control unit 201 notifies the transfer source gateway 200 of the reason why the transfer is not possible. The reasons for non-delegation notified here are "connection error" (communication connection error) based on the determination result in step S123 and "High load" (high load) based on the determination result in step S125. The reason for non-delegation is notified to the delegation source in the form of associating with the gateway ID of the own device.

ステップS134は、再委譲先の(あるいは、さらにその再委譲先等の)ゲートウェイ200において、バックエンドサーバー100へのデータの送信が完了した場合の、復帰ポイントである。ステップS134において、ゲートウェイ制御部201は、再委譲先のゲートウェイ200から通知された、単独の状況情報またはリスト化された状況情報に、自装置の状況情報を付加し、その情報を委譲元に通知する。自装置の状況情報は、「connection error」(通信接続エラー)や、「High load」(高負荷)等である(図6の「relay−gateway」も参照)。本ステップ終了後は、委譲元のゲートウェイ200の処理に戻る(結合子B)。 Step S134 is a return point when the transmission of data to the back-end server 100 is completed at the gateway 200 of the re-delegation destination (or the re-delegation destination or the like). In step S134, the gateway control unit 201 adds the status information of its own device to the single status information or the listed status information notified from the gateway 200 of the re-delegation destination, and notifies the delegation source of the information. To do. The status information of the own device is "connection error" (communication connection error), "High load" (high load), etc. (see also "relay-gateway" in FIG. 6). After the end of this step, the process returns to the processing of the transfer source gateway 200 (combiner B).

ステップS135は、再委譲先の(あるいは、さらにその再委譲先等の)ゲートウェイ200において、バックエンドサーバー100へのデータの送信が完了しなかった場合の、復帰ポイントである。ステップS135において、ゲートウェイ制御部201は、再委譲先のゲートウェイ200から通知された、単独の状況情報またはリスト化された状況情報に、自装置の状況情報を付加し、その情報を委譲元に通知する。自装置の状況情報は、「connection error」(通信接続エラー)や、「High load」(高負荷)等である(図6の「relay−gateway」も参照)。本ステップ終了後は、委譲元のゲートウェイ200の処理に戻る(結合子C)。 Step S135 is a return point when the transmission of data to the back-end server 100 is not completed at the gateway 200 of the re-delegation destination (or the re-delegation destination or the like). In step S135, the gateway control unit 201 adds the status information of its own device to the single status information or the listed status information notified from the gateway 200 of the re-delegation destination, and notifies the delegation source of the information. To do. The status information of the own device is "connection error" (communication connection error), "High load" (high load), etc. (see also "relay-gateway" in FIG. 6). After the end of this step, the process returns to the processing of the gateway 200 of the delegation source (combiner C).

なお、再委譲先でのデータ送信が成功したか否かに関わらず、ステップS133や、S134や、S135における、委譲元への通知の際には、ゲートウェイ制御部201は、自装置においてデータ送信できなかった理由を通知する。この通知は、委譲元のゲートウェイ200において、近傍ゲートウェイ格納部206内の、委譲可否および委譲優先度の項目に反映される。つまり、それ自身でもデータの送信を行えず、委譲先(再委譲先)のゲートウェイも存在しないようなゲートウェイ200に関しては、委譲可否が「不可」と設定される。また、それ自身ではデータの送信を行えないものの、データ送信を行える委譲先(再委譲先)のゲートウェイ200を持っているようなゲートウェイ200に関しては、委譲可否が「不可」と設定され、委譲優先度がそれまでよりも相対的に下げられる。これらにより、委譲先のゲートウェイ200を選定する際の選定精度が向上する。 In addition, regardless of whether or not the data transmission at the re-delegation destination is successful, the gateway control unit 201 transmits the data at its own device at the time of notification to the transfer source in steps S133, S134, and S135. Notify why it was not possible. This notification is reflected in the items of delegation availability and delegation priority in the neighboring gateway storage unit 206 in the delegation source gateway 200. That is, with respect to the gateway 200 in which data cannot be transmitted by itself and the gateway of the delegation destination (re-delegation destination) does not exist, the delegation permission / rejection is set to "impossible". In addition, for a gateway 200 that has a delegation destination (re-delegation destination) gateway 200 that cannot transmit data by itself, the delegation permission is set to "impossible" and delegation priority is given. The degree is relatively lower than before. As a result, the selection accuracy when selecting the gateway 200 to be delegated is improved.

大元(委譲元)のゲートウェイ200においても、委譲先であるゲートウェイ200であっても、そこからの委譲先であるゲートウェイ200から状況情報の通知を受けた場合には、近傍ゲートウェイ格納部206の情報は更新される。状況情報は、委譲先のゲートウェイ200から、ゲートウェイIDに関連付けられた形で通知される。その通知は、複数のゲートウェイ200に関する状況情報を含む場合がある(図6の「relay−gateway」を参照)。それらの状況情報が関連付けられたゲートウェイIDごとに、近傍ゲートウェイ処理委譲部207は、近傍ゲートウェイ格納部206内の情報を更新する。具体的には、近傍ゲートウェイ処理委譲部207は、委譲可否のデータを切り替えたり、委譲優先度の値を上げたり下げたりする。 Regardless of whether it is the gateway 200 of the origin (delegation source) or the gateway 200 of the delegation destination, when the status information is notified from the gateway 200 of the delegation destination, the proximity gateway storage unit 206 The information is updated. The status information is notified from the transferee gateway 200 in a form associated with the gateway ID. The notification may include status information about the plurality of gateways 200 (see "relay-gateway" in FIG. 6). The neighborhood gateway processing delegation unit 207 updates the information in the neighborhood gateway storage unit 206 for each gateway ID associated with the status information. Specifically, the proximity gateway processing delegation unit 207 switches the data of whether or not delegation is possible, and raises or lowers the value of the delegation priority.

なお、委譲可否が一旦「不可」となったゲートウェイ200の情報が永久に「不可」であり続けることを避けるために、近傍ゲートウェイ処理委譲部207が、所定時間間隔ごとに委譲可否を強制的に「可」にリセットするようにしてもよい。委譲可否を強制的に「可」にリセットすることにより、そのゲートウェイ200に対する委譲が試みられることとなる。ここでの所定時間は、適宜設定されるものであり、例えば、1分、10分、1時間、3時間、12時間、24時間等といった長さである。 In addition, in order to prevent the information of the gateway 200 whose delegation is once "impossible" from being permanently "impossible", the neighboring gateway processing delegation unit 207 forcibly forces the delegation at predetermined time intervals. You may want to reset it to "OK". By forcibly resetting the delegation permission or disapproval to "possible", the delegation to the gateway 200 will be attempted. The predetermined time here is set as appropriate, and is, for example, a length of 1 minute, 10 minutes, 1 hour, 3 hours, 12 hours, 24 hours, or the like.

[変形例]
ここまでに説明した実施形態では、近傍ゲートウェイ格納部206に格納されているゲートウェイ200ごとの情報は、委譲処理の結果を受けた場合にのみ更新されていた。変形例として、バックエンドサーバー100が情報を配信するととによって、ゲートウェイ200内の近傍ゲートウェイ格納部206の情報を更新するようにしてもよい。
[Modification example]
In the embodiment described so far, the information for each gateway 200 stored in the neighboring gateway storage unit 206 is updated only when the result of the delegation process is received. As a modification, the information of the neighboring gateway storage unit 206 in the gateway 200 may be updated when the back-end server 100 distributes the information.

具体的には、バックエンドサーバー100の統計情報格納部105の情報は、受信したデータに含まれるゲートウェイ200ごとの状況情報に基づいて、随時更新される。また、統計情報計算部103は、統計情報格納部105に蓄積される統計情報を基に、ゲートウェイ200ごとの委譲優先度を計算する。つまり、ここで計算される委譲優先度は、ゲートウェイ200ごとに、データ送信が成功しやすい度合いを表す数値である。ゲートウェイ通信部102は、統計情報計算部103が算出したゲートウェイ200ごとの委譲優先度の値の集合を、ゲートウェイ200に対して配信する。バックエンドサーバー100とゲートウェイ200との間の通信が障害等で接続できない場合には、バックエンドサーバー100からの配信データが、他のゲートウェイ200を経由して届けられるようにしてもよい。ゲートウェイ200は、バックエンドサーバー100からこの配信を受信する。そして、ゲートウェイ200の近傍ゲートウェイ処理委譲部207は、配信された委譲優先度のデータを用いて、自装置の近傍ゲートウェイ格納部206の情報を更新する。 Specifically, the information in the statistical information storage unit 105 of the back-end server 100 is updated at any time based on the status information for each gateway 200 included in the received data. Further, the statistical information calculation unit 103 calculates the delegation priority for each gateway 200 based on the statistical information stored in the statistical information storage unit 105. That is, the delegation priority calculated here is a numerical value indicating the degree to which data transmission is likely to succeed for each gateway 200. The gateway communication unit 102 distributes a set of delegation priority values for each gateway 200 calculated by the statistical information calculation unit 103 to the gateway 200. When the communication between the back-end server 100 and the gateway 200 cannot be connected due to a failure or the like, the distribution data from the back-end server 100 may be delivered via another gateway 200. The gateway 200 receives this delivery from the backend server 100. Then, the proximity gateway processing delegation unit 207 of the gateway 200 updates the information of the proximity gateway storage unit 206 of the own device by using the distributed delegation priority data.

この変形例を用いる場合には、より広い範囲のゲートウェイ200から収集された情報に基づいて、各ゲートウェイ200の情報を一斉に更新できるメリットが生じる。つまり、各ゲートウェイ200の状況に基づく学習効果が、比較的早く多くのゲートウェイ200に伝搬する。 When this modification is used, there is an advantage that the information of each gateway 200 can be updated all at once based on the information collected from the gateway 200 in a wider range. That is, the learning effect based on the situation of each gateway 200 propagates to many gateways 200 relatively quickly.

以上説明した本実施形態の機能の要点は、次に記載する通りである。なお、サーバー通信部202とセンサー・ゲートウェイ通信部203とゲートウェイ制御部201との機能を有する部分を、以下では、通信部と呼ぶ。また、受信データ加工部204と受信データ格納部205との機能を有する部分を、以下では、データ加工部と呼ぶ。また、近傍ゲートウェイ処理委譲部207と、近傍ゲートウェイ格納部206との機能を有する部分を、以下では、処理委譲部と呼ぶ。 The main points of the functions of the present embodiment described above are as described below. The portion having the functions of the server communication unit 202, the sensor / gateway communication unit 203, and the gateway control unit 201 will be referred to as a communication unit below. Further, the portion having the functions of the received data processing unit 204 and the received data storage unit 205 is hereinafter referred to as a data processing unit. Further, the portion having the functions of the proximity gateway processing delegation unit 207 and the neighborhood gateway storage unit 206 is hereinafter referred to as a processing delegation unit.

通信部は、第1装置側(センサーデバイス300側)からデータを受信し、第2装置側(バックエンドサーバー100側)に前記データを送信するとともに、自装置(ゲートウェイ200)の処理負荷状況を把握する。データ加工部は、前記第1装置側から受信した前記データを所定の形式に加工して、加工後の前記データを前記第2装置側に送信するために通信部に渡す。処理委譲部は、少なくとも自装置の処理負荷状況に基づいて、所定の状況の場合(故障や高負荷等の場合)に、前記データを加工する処理と、前記データを前記第2装置側に送信する処理との、少なくともいずれかの処理を、他のゲートウェイ200に委譲する。 The communication unit receives data from the first device side (sensor device 300 side), transmits the data to the second device side (backend server 100 side), and checks the processing load status of its own device (gateway 200). Grasp. The data processing unit processes the data received from the first device side into a predetermined format, and passes the processed data to the communication unit to transmit the processed data to the second device side. The processing delegation unit processes the data and transmits the data to the second device side in a predetermined situation (in the case of failure, high load, etc.), at least based on the processing load status of the own device. At least one of the processes to be performed is delegated to the other gateway 200.

通信部が把握する前記の処理負荷状況は、前記データ加工部(受信データ加工部204)による処理の処理負荷状況を含むものである。 The processing load status grasped by the communication unit includes the processing load status of processing by the data processing unit (received data processing unit 204).

処理委譲部は、前記他のゲートウェイ200を識別するためのゲートウェイ識別情報(ゲートウェイID)と関連付けて、前記他のゲートウェイ装置への委譲優先度の情報(例えば、数値情報)を管理する。処理委譲部は、前記他のゲートウェイ200ごとの前記委譲優先度の情報に基づいて、前記他のゲートウェイ200に処理を委譲する際の、委譲先のゲートウェイ装置200を選定する。 The processing delegation unit manages information on the delegation priority to the other gateway device (for example, numerical information) in association with the gateway identification information (gateway ID) for identifying the other gateway 200. The processing delegation unit selects the gateway device 200 of the delegation destination when delegating the processing to the other gateway 200 based on the information of the delegation priority for each of the other gateways 200.

処理委譲部は、処理を前記他のゲートウェイ200に委譲した結果として、他のゲートウェイ200から、前記ゲートウェイ識別情報と関連付けられた前記他のゲートウェイ200の状況情報を受け取り、前記他のゲートウェイ装置の状況情報に基づいて、前記委譲優先度の情報を更新する。 As a result of delegating the processing to the other gateway 200, the processing delegation unit receives the status information of the other gateway 200 associated with the gateway identification information from the other gateway 200, and receives the status information of the other gateway 200, and the status of the other gateway device. Based on the information, the delegation priority information is updated.

通信部が、委譲元のゲートウェイ200から、前記データを加工する処理と、前記データを前記第2装置側に送信する処理との、少なくともいずれかの処理を委譲するための委譲依頼を受信した場合に、前記データ加工部は、前記委譲依頼に含まれていた、ゲートウェイ識別情報と関連付けられた他のゲートウェイ装置の状況情報を抽出し、前記ゲートウェイ識別情報と関連付けられた前記他のゲートウェイ装置の前記状況情報を、前記データに付加する処理も行う(図6を参照)。 When the communication unit receives a delegation request for delegating at least one of the process of processing the data and the process of transmitting the data to the second device side from the delegation source gateway 200. In addition, the data processing unit extracts the status information of the other gateway device associated with the gateway identification information included in the delegation request, and the data processing unit of the other gateway device associated with the gateway identification information. The process of adding the status information to the data is also performed (see FIG. 6).

通信部は、前記ゲートウェイ識別情報と関連付けられた前記他のゲートウェイ装置の前記状況情報を前記データに付加した結果である前記データを受信した前記第2装置側から、前記ゲートウェイ識別情報と関連付けられた前記状況情報に基づく統計処理の結果として、前記他のゲートウェイ装置に関する前記委譲優先度の情報を受信する。処理委譲部は、前記第2装置から受信した前記委譲優先度の情報を用いて、前記処理委譲部が管理する前記委譲優先度の情報を更新する。これにより、第2装置から、多数のゲートウェイにおいて管理される委譲優先度の情報を一斉に更新することができる。つまり、システム内の全体に学習効果が早く伝搬する。 The communication unit was associated with the gateway identification information from the second device side that received the data, which is the result of adding the status information of the other gateway device associated with the gateway identification information to the data. As a result of the statistical processing based on the status information, the delegation priority information regarding the other gateway device is received. The processing delegation unit updates the delegation priority information managed by the processing delegation unit by using the delegation priority information received from the second device. As a result, the delegation priority information managed by a large number of gateways can be updated all at once from the second device. That is, the learning effect quickly propagates throughout the system.

[第2実施形態]
次に、第2実施形態について説明する。なお、前実施形態において既に説明した事項については以下において説明を省略する場合がある。ここでは、本実施形態に特有の事項を中心に説明する。
[Second Embodiment]
Next, the second embodiment will be described. The matters already described in the previous embodiment may be omitted below. Here, the matters peculiar to the present embodiment will be mainly described.

図12は、第2実施形態による情報通信システムの、概略機能構成を示すブロック図である。図示するように、本実施形態による情報通信システム2は、バックエンドサーバー150と、ゲートウェイ250と、センサーデバイス350とを含んで構成される。バックエンドサーバー150と、ゲートウェイ250と、センサーデバイス350とが通信ネットワークで接続され、3層の構成を成すことは、第1実施形態における構成と同様である。このブロック図内においては、バックエンドサーバー150と、ゲートウェイ250とには、符号のサフィックスを付けている。なお、ゲートウェイ250を「第1装置」と呼ぶ場合がある。また、バックエンドサーバー150を「第2装置」と呼ぶ場合がある。 FIG. 12 is a block diagram showing a schematic functional configuration of the information communication system according to the second embodiment. As shown in the figure, the information communication system 2 according to the present embodiment includes a back-end server 150, a gateway 250, and a sensor device 350. The back-end server 150, the gateway 250, and the sensor device 350 are connected by a communication network to form a three-layer configuration, which is the same as the configuration in the first embodiment. In this block diagram, the back-end server 150 and the gateway 250 are suffixed with a code. The gateway 250 may be referred to as a "first device". Further, the back-end server 150 may be referred to as a "second device".

バックエンドサーバー150と、ゲートウェイ250と、センサーデバイス350とは、それぞれ、第1実施形態におけるバックエンドサーバー100と、ゲートウェイ200と、センサーデバイス300と同様の機能を有する。 The back-end server 150, the gateway 250, and the sensor device 350 have the same functions as the back-end server 100, the gateway 200, and the sensor device 300 in the first embodiment, respectively.

ゲートウェイ250の各々は、通信部252と、データ加工部254と、処理委譲部257とを含んで構成される。これら各部と、第1実施形態におけるゲートウェイ200内の各部との機能の関係(対応付け)は、次の通りである。即ち、通信部252は、概ね、第1実施形態におけるサーバー通信部202と、センサー・ゲートウェイ通信部203と、ゲートウェイ制御部201との機能を有する。データ加工部254は、概ね、第1実施形態における受信データ加工部204と、受信データ格納部205との機能を有する。処理委譲部257は、概ね、第1実施形態における近傍ゲートウェイ処理委譲部207と、近傍ゲートウェイ格納部206との機能を有する。ただし、図12に示す各部への機能の配置のしかたが、上記の対応付けと異なっていてもよい。 Each of the gateways 250 includes a communication unit 252, a data processing unit 254, and a processing delegation unit 257. The functional relationship (association) between each of these parts and each part in the gateway 200 in the first embodiment is as follows. That is, the communication unit 252 generally has the functions of the server communication unit 202, the sensor / gateway communication unit 203, and the gateway control unit 201 in the first embodiment. The data processing unit 254 generally has the functions of the received data processing unit 204 and the received data storage unit 205 according to the first embodiment. The processing delegation unit 257 generally has the functions of the proximity gateway processing delegation unit 207 and the proximity gateway storage unit 206 in the first embodiment. However, the method of arranging the functions in each part shown in FIG. 12 may be different from the above-mentioned correspondence.

本実施形態の各部の機能要点は、次の通りである。 The functional points of each part of the present embodiment are as follows.

通信部252は、第1装置側(センサーデバイス350側)からデータを受信し、第2装置側(バックエンドサーバー100側)に前記データを送信するとともに、自装置(ゲートウェイ250)の処理負荷状況を把握する。 The communication unit 252 receives data from the first device side (sensor device 350 side), transmits the data to the second device side (back-end server 100 side), and has a processing load status of its own device (gateway 250). To grasp.

データ加工部254は、前記第1装置側から受信した前記データを所定の形式に加工して、加工後の前記データを前記第2装置側に送信するために通信部252に渡す。 The data processing unit 254 processes the data received from the first device side into a predetermined format, and passes the processed data to the communication unit 252 in order to transmit the processed data to the second device side.

処理委譲部257は、少なくとも自装置の処理負荷状況に基づいて、所定の状況の場合(故障や高負荷等の場合)に、前記データを加工する処理と、前記データを前記第2装置側に送信する処理との、少なくともいずれかの処理を、他のゲートウェイ250に委譲する。 The processing delegation unit 257 processes the data in a predetermined situation (in the case of a failure, a high load, etc.) at least based on the processing load status of the own device, and sends the data to the second device side. At least one of the transmission processes is delegated to the other gateway 250.

以上説明した複数の実施形態のいずれにおいても、各装置(バックエンドサーバー、ゲートウェイ、センサーデバイス等)の少なくとも一部の機能をコンピューターで実現することができる。その場合、この機能を実現するためのプログラムをコンピューター読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピューターシステムに読み込ませ、実行することによって実現しても良い。なお、ここでいう「コンピューターシステム」とは、OSや周辺機器等のハードウェアを含むものとする。また、「コンピューター読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD−ROM、DVD−ROM、USBメモリー等の可搬媒体、コンピューターシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピューター読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、一時的に、動的にプログラムを保持するもの、その場合のサーバーやクライアントとなるコンピューターシステム内部の揮発性メモリーのように、一定時間プログラムを保持しているものも含んでも良い。また上記プログラムは、前述した機能の一部を実現するためのものであっても良く、さらに前述した機能をコンピューターシステムにすでに記録されているプログラムとの組み合わせで実現できるものであっても良い。 In any of the plurality of embodiments described above, at least a part of the functions of each device (back-end server, gateway, sensor device, etc.) can be realized by a computer. In that case, a program for realizing this function may be recorded on a computer-readable recording medium, and the program recorded on the recording medium may be read by a computer system and executed. The term "computer system" as used herein includes hardware such as an OS and peripheral devices. The "computer-readable recording medium" is a portable medium such as a flexible disk, a magneto-optical disk, a ROM, a CD-ROM, a DVD-ROM, or a USB memory, or a storage device such as a hard disk built in a computer system. Say that. Furthermore, a "computer-readable recording medium" is a device that temporarily and dynamically holds a program, such as a communication line when a program is transmitted via a network such as the Internet or a communication line such as a telephone line. , In that case, a program that holds a program for a certain period of time, such as a volatile memory inside a computer system that serves as a server or a client, may be included. Further, the above program may be for realizing a part of the above-mentioned functions, and may be further realized for realizing the above-mentioned functions in combination with a program already recorded in the computer system.

以上説明した複数の実施形態のいずれかによれば、ゲートウェイが故障したり、高負荷であったり、通信不可である場合などに、他のゲートウェイにデータ送信を委譲することができる。つまり、ゲートウェイの処理の過負荷等の状況も考慮して、より適切なゲートウェイに対して処理を委譲することができる。そのとき、データ送信できた実績や、できなかった実績に基づいて、ゲートウェイごとの優先度の情報が更新される。これにより、ゲートウェイから他のゲートウェイに処理(加工処理や送信処理)を委譲する場合に、より成功しやすいゲートウェイに対して委譲することのできる度合いが高まる。また、これにより、委譲のためのオーバーヘッド処理が削減される。つまり、委譲先のゲートウェイの委譲可否および負荷状況等を、システム全体として学習することによって、無駄な委譲をなくす。これにより、ネットワークやゲートウェイの負荷をおさえながらデータ送信が可能となる。 According to any of the plurality of embodiments described above, data transmission can be delegated to another gateway when the gateway fails, has a high load, or cannot communicate. That is, the processing can be delegated to a more appropriate gateway in consideration of the situation such as an overload of the gateway processing. At that time, the priority information for each gateway is updated based on the results of data transmission and the results of failure. As a result, when processing (processing processing or transmission processing) is delegated from one gateway to another gateway, the degree of delegation to a gateway that is more likely to succeed is increased. This also reduces overhead processing for delegation. In other words, useless delegation is eliminated by learning the delegation availability and load status of the delegation destination gateway as a whole system. This makes it possible to transmit data while suppressing the load on the network and gateway.

言い換えれば、ゲートウェイが自身の負荷状況を他のゲートウェイに通知することで、データ送信処理の委譲先から除外し、ゲートウェイ、および、ネットワークに無駄な負荷をかけなくて済むようになる。 In other words, by notifying the gateway of its own load status to other gateways, it is possible to exclude the data transmission process from the delegation destination and to avoid putting unnecessary load on the gateway and the network.

以上、この発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。また、装置内の各部が有する機能を、他の部が有していてもよい。 Although the embodiments of the present invention have been described in detail with reference to the drawings, the specific configuration is not limited to this embodiment, and the design and the like within a range not deviating from the gist of the present invention are also included. Further, other parts may have the functions of each part in the apparatus.

本発明は、例えば、多数のIoT機器を用いたデータ収集に使用することができる。一例として、プラント制御システム、環境データ収集システム、社会インフラストラクチャーシステム等を含む幅広い分野に利用することができる。なお、本発明の利用範囲はここに例示したものには限られない。 The present invention can be used, for example, for data collection using a large number of IoT devices. As an example, it can be used in a wide range of fields including plant control systems, environmental data collection systems, social infrastructure systems, and the like. The scope of use of the present invention is not limited to those exemplified here.

1,2 情報通信システム
100 バックエンドサーバー(第2装置、バックエンドサーバー装置)
101 サーバー制御部
102 ゲートウェイ通信部
103 統計情報計算部
104 受信データ加工部
105 統計情報格納部
106 受信データ格納部
150 バックエンドサーバー(第2装置、バックエンドサーバー装置)
200 ゲートウェイ(ゲートウェイ装置)
201 ゲートウェイ制御部
202 サーバー通信部(第1通信部)
203 センサー・ゲートウェイ通信部(第2通信部)
204 受信データ加工部
205 受信データ格納部
206 近傍ゲートウェイ格納部
207 近傍ゲートウェイ処理委譲部
250 ゲートウェイ(ゲートウェイ装置)
300 センサーデバイス(第1装置)
301 ゲートウェイ通信部
302 データ取得部
350 センサーデバイス(第1装置)
401,402 通信ネットワーク
1, Information communication system 100 Back-end server (second device, back-end server device)
101 Server control unit 102 Gateway communication unit 103 Statistical information calculation unit 104 Received data processing unit 105 Statistical information storage unit 106 Received data storage unit 150 Back-end server (second device, back-end server device)
200 gateway (gateway device)
201 Gateway control unit 202 Server communication unit (1st communication unit)
203 Sensor / gateway communication unit (second communication unit)
204 Received data processing unit 205 Received data storage unit 206 Neighborhood gateway storage unit 207 Neighborhood gateway processing delegation unit 250 Gateway (gateway device)
300 sensor device (first device)
301 Gateway communication unit 302 Data acquisition unit 350 Sensor device (first device)
401,402 communication network

Claims (9)

第1装置側からデータを受信し、第2装置側に前記データを送信するとともに、自装置の処理負荷状況を把握する通信部と、
前記第1装置側から受信した前記データを所定の形式に加工して、加工後の前記データを前記第2装置側に送信するために前記通信部に渡すデータ加工部と、
少なくとも自装置の処理負荷状況に基づいて、所定の状況の場合に、前記データを加工する処理と、前記データを前記第2装置側に送信する処理との、少なくともいずれかの処理を、他のゲートウェイ装置に委譲する処理委譲部と、
を含むゲートウェイ装置。
A communication unit that receives data from the first device side, transmits the data to the second device side, and grasps the processing load status of the own device.
A data processing unit that processes the data received from the first device side into a predetermined format and passes the processed data to the communication unit in order to transmit the processed data to the second device side.
At least one of the processing of processing the data and the processing of transmitting the data to the second device side in a predetermined situation based on at least the processing load status of the own device is performed by another process. The processing delegation department that delegates to the gateway device,
Gateway device including.
前記通信部が把握する前記処理負荷状況は、前記データ加工部による処理の処理負荷状況を含むものである、
請求項1に記載のゲートウェイ装置。
The processing load status grasped by the communication unit includes the processing load status of processing by the data processing unit.
The gateway device according to claim 1.
前記処理委譲部は、前記他のゲートウェイ装置を識別するためのゲートウェイ識別情報と関連付けて、前記他のゲートウェイ装置への委譲優先度の情報を管理し、
前記処理委譲部は、前記他のゲートウェイ装置ごとの前記委譲優先度の情報に基づいて、前記他のゲートウェイ装置に委譲する際の、委譲先の前記他のゲートウェイ装置を選定する、
請求項1または2に記載のゲートウェイ装置。
The processing delegation unit manages information on the delegation priority to the other gateway device in association with the gateway identification information for identifying the other gateway device.
The processing delegation unit selects the other gateway device to be delegated when delegating to the other gateway device based on the information of the delegation priority for each of the other gateway devices.
The gateway device according to claim 1 or 2.
前記処理委譲部は、処理を前記他のゲートウェイ装置に委譲した結果として、前記他のゲートウェイ装置から、前記ゲートウェイ識別情報と関連付けられた前記他のゲートウェイ装置の状況情報を受け取り、前記他のゲートウェイ装置の状況情報に基づいて、前記委譲優先度の情報を更新する、
請求項3に記載のゲートウェイ装置。
As a result of delegating the processing to the other gateway device, the processing delegation unit receives the status information of the other gateway device associated with the gateway identification information from the other gateway device, and receives the status information of the other gateway device, and the other gateway device. Update the delegation priority information based on the status information of
The gateway device according to claim 3.
前記通信部が、委譲元のゲートウェイ装置から、前記データを加工する処理と、前記データを前記第2装置側に送信する処理との、少なくともいずれかの処理を委譲するための委譲依頼を受信した場合に、
前記データ加工部は、前記委譲依頼に含まれていた、ゲートウェイ識別情報と関連付けられた他のゲートウェイ装置の状況情報を抽出し、前記ゲートウェイ識別情報と関連付けられた前記他のゲートウェイ装置の前記状況情報を、前記データに付加する処理も行う、
請求項3または4に記載のゲートウェイ装置。
The communication unit receives a delegation request from the delegation source gateway device for delegating at least one of a process of processing the data and a process of transmitting the data to the second device side. In case,
The data processing unit extracts the status information of the other gateway device associated with the gateway identification information included in the delegation request, and the status information of the other gateway device associated with the gateway identification information. Is also added to the data.
The gateway device according to claim 3 or 4.
前記通信部は、前記ゲートウェイ識別情報と関連付けられた前記他のゲートウェイ装置の前記状況情報を前記データに付加した結果である前記データを受信した前記第2装置側から、前記ゲートウェイ識別情報と関連付けられた前記状況情報に基づく統計処理の結果として、前記他のゲートウェイ装置に関する前記委譲優先度の情報を受信し、
前記処理委譲部は、前記第2装置から受信した前記委譲優先度の情報を用いて、前記処理委譲部が管理する前記委譲優先度の情報を更新する、
請求項5に記載のゲートウェイ装置。
The communication unit is associated with the gateway identification information from the second device side that has received the data, which is the result of adding the status information of the other gateway device associated with the gateway identification information to the data. As a result of statistical processing based on the status information, the delegation priority information regarding the other gateway device is received, and the information is received.
The processing delegation unit updates the delegation priority information managed by the processing delegation unit by using the delegation priority information received from the second device.
The gateway device according to claim 5.
ゲートウェイ装置と、バックエンドサーバー装置と、センサーデバイスとを含む情報通信システムであって、
前記ゲートウェイ装置は、
第1装置側からデータを受信し、第2装置側に前記データを送信するとともに、自装置の処理負荷状況を把握する通信部と、
前記第1装置側から受信した前記データを所定の形式に加工して、加工後の前記データを前記第2装置側に送信するために前記通信部に渡すデータ加工部と、
少なくとも自装置の処理負荷状況に基づいて、所定の状況の場合に、前記データを加工する処理と、前記データを前記第2装置側に送信する処理との、少なくともいずれかの処理を、他のゲートウェイ装置に委譲する処理委譲部と、
を含み、
前記センサーデバイスは、
センサーと、
前記センサーから得られた情報を前記ゲートウェイ装置に送信する通信部と、
を備える前記第1装置であって、
前記バックエンドサーバー装置は、
前記ゲートウェイ装置の前記通信部から送信される前記データを受信する通信部、
を備える前記第2装置である、
ところの情報通信システム。
An information communication system that includes a gateway device, a back-end server device, and a sensor device.
The gateway device is
A communication unit that receives data from the first device side, transmits the data to the second device side, and grasps the processing load status of the own device.
A data processing unit that processes the data received from the first device side into a predetermined format and passes the processed data to the communication unit in order to transmit the processed data to the second device side.
At least one of the processing of processing the data and the processing of transmitting the data to the second device side in a predetermined situation based on at least the processing load status of the own device is performed by another process. The processing delegation department that delegates to the gateway device,
Including
The sensor device is
With the sensor
A communication unit that transmits information obtained from the sensor to the gateway device, and
The first device comprising
The back-end server device
A communication unit that receives the data transmitted from the communication unit of the gateway device,
The second device comprising
Information communication system.
ゲートウェイ装置が、第1装置側から受信したデータを第2装置側へ送信するためのデータ処理方法であって、
前記第1装置側からデータを受信する過程と、
前記第1装置側から受信した前記データを所定の形式に加工して、加工後の前記データを前記第2装置側に送信する過程と、
前記第2装置側に前記データを送信すると過程と、
自装置の処理負荷状況を把握する過程と、
少なくとも自装置の処理負荷状況に基づいて、所定の状況の場合に、前記データを加工する処理と、前記データを前記第2装置側に送信する処理との、少なくともいずれかの処理を、他のゲートウェイ装置に委譲する過程と、
を含むデータ処理方法。
A data processing method for the gateway device to transmit data received from the first device side to the second device side.
The process of receiving data from the first device side and
A process of processing the data received from the first device side into a predetermined format and transmitting the processed data to the second device side.
When the data is transmitted to the second device side, the process and
The process of grasping the processing load status of the own device and
At least one of the processing of processing the data and the processing of transmitting the data to the second device side in a predetermined situation based on at least the processing load status of the own device is performed by another process. The process of delegating to the gateway device and
Data processing method including.
コンピューターを、
第1装置側からデータを受信し、第2装置側に前記データを送信するとともに、自装置の処理負荷状況を把握する通信部と、
前記第1装置側から受信した前記データを所定の形式に加工して、加工後の前記データを前記第2装置側に送信するために前記通信部に渡すデータ加工部と、
少なくとも自装置の処理負荷状況に基づいて、所定の状況の場合に、前記データを加工する処理と、前記データを前記第2装置側に送信する処理との、少なくともいずれかの処理を、他のゲートウェイ装置に委譲する処理委譲部と、
を含むゲートウェイ装置として機能させるためのプログラム。
Computer,
A communication unit that receives data from the first device side, transmits the data to the second device side, and grasps the processing load status of the own device.
A data processing unit that processes the data received from the first device side into a predetermined format and passes the processed data to the communication unit in order to transmit the processed data to the second device side.
At least one of the processing of processing the data and the processing of transmitting the data to the second device side in a predetermined situation based on at least the processing load status of the own device is performed by another process. The processing delegation department that delegates to the gateway device,
A program to function as a gateway device including.
JP2019064839A 2019-03-28 2019-03-28 Gateway device, information communication system, data processing method, and program Active JP7275758B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2019064839A JP7275758B2 (en) 2019-03-28 2019-03-28 Gateway device, information communication system, data processing method, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019064839A JP7275758B2 (en) 2019-03-28 2019-03-28 Gateway device, information communication system, data processing method, and program

Publications (2)

Publication Number Publication Date
JP2020167481A true JP2020167481A (en) 2020-10-08
JP7275758B2 JP7275758B2 (en) 2023-05-18

Family

ID=72714162

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019064839A Active JP7275758B2 (en) 2019-03-28 2019-03-28 Gateway device, information communication system, data processing method, and program

Country Status (1)

Country Link
JP (1) JP7275758B2 (en)

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004247857A (en) * 2003-02-12 2004-09-02 Toshiba Corp Repeating device, authentication system, and program
JP2006115360A (en) * 2004-10-15 2006-04-27 Alpine Electronics Inc Information processor for vehicle, and communication system and method between vehicles
WO2013094013A1 (en) * 2011-12-20 2013-06-27 三菱電機株式会社 Communication system and automatic meter-reading system
JP2013214835A (en) * 2012-03-30 2013-10-17 Fujitsu Ltd Communication device, communication system, load balancing method, and load balancing program
JP2014203089A (en) * 2013-04-01 2014-10-27 日本電信電話株式会社 Interface device, interface device operation method, and computer program
WO2016056156A1 (en) * 2014-10-07 2016-04-14 日本電気株式会社 Communication-grouping system, control device, processing-load control method, and non-temporary computer-readable medium for storing program
JP2017103527A (en) * 2015-11-30 2017-06-08 Kddi株式会社 Communication device and communication method
WO2019054435A1 (en) * 2017-09-14 2019-03-21 日本電気株式会社 Information communicating device, information communicating method, information communicating system, and storage medium
JP2019046093A (en) * 2017-08-31 2019-03-22 キヤノンマーケティングジャパン株式会社 Information processing device, and processing method and program thereof

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004247857A (en) * 2003-02-12 2004-09-02 Toshiba Corp Repeating device, authentication system, and program
JP2006115360A (en) * 2004-10-15 2006-04-27 Alpine Electronics Inc Information processor for vehicle, and communication system and method between vehicles
WO2013094013A1 (en) * 2011-12-20 2013-06-27 三菱電機株式会社 Communication system and automatic meter-reading system
JP2013214835A (en) * 2012-03-30 2013-10-17 Fujitsu Ltd Communication device, communication system, load balancing method, and load balancing program
JP2014203089A (en) * 2013-04-01 2014-10-27 日本電信電話株式会社 Interface device, interface device operation method, and computer program
WO2016056156A1 (en) * 2014-10-07 2016-04-14 日本電気株式会社 Communication-grouping system, control device, processing-load control method, and non-temporary computer-readable medium for storing program
JP2017103527A (en) * 2015-11-30 2017-06-08 Kddi株式会社 Communication device and communication method
JP2019046093A (en) * 2017-08-31 2019-03-22 キヤノンマーケティングジャパン株式会社 Information processing device, and processing method and program thereof
WO2019054435A1 (en) * 2017-09-14 2019-03-21 日本電気株式会社 Information communicating device, information communicating method, information communicating system, and storage medium

Also Published As

Publication number Publication date
JP7275758B2 (en) 2023-05-18

Similar Documents

Publication Publication Date Title
JP5804054B2 (en) Communication system, control device, node, processing rule setting method and program
CN1925462B (en) Cache system
CN105634784B (en) Control data distributing method, apparatus and system
CN102045192A (en) Apparatus and system for estimating network configuration
TWI454917B (en) Access control method, access control device and access control program
JP6197795B2 (en) Information exchange method between communication terminals and communication terminals
JP5564661B2 (en) Relay node and relay processing program
JP5136238B2 (en) Service bus cooperation method and service bus
JP5721524B2 (en) Node device, wireless network system, and backup method
CN102546727B (en) Full-time on-line system and method of vehicle
US20130121208A1 (en) Route determination device, node device, and route determination method
JP2020167481A (en) Gateway device, information communication system, data processing method and program
CN111538772B (en) Data exchange processing method and device, electronic equipment and storage medium
JP5522801B2 (en) Receiving terminal and control program thereof
JP2001312434A (en) Information distribution system
JP5212292B2 (en) Information communication system, node device, node device confirmation method and program
WO2017141807A1 (en) Communication system, edge server, first broker, second broker, method and storage medium
CN101296108A (en) Method, network appliance and system for resource backup in structured P2P
JP2005252596A (en) P2p network construction method using physical reliability and connection state managing apparatus
JP5780601B2 (en) Data transfer method and wireless network system
JP4615396B2 (en) Location register and accommodation transfer control method
WO2012063324A1 (en) Communication network system, terminal, and constituting method
JP7163093B2 (en) Broker device, communication system, communication method, and program
WO2024004080A1 (en) Delay information collection device, delay control system, delay information collection method, and program
JP5545887B2 (en) Distributed recovery method and network system

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220207

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20221102

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20221220

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230125

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230417

R151 Written notification of patent or utility model registration

Ref document number: 7275758

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151