(57)【要約】  障害が発生した状況においても、通信データを適切に転送可能とする情報通信装置を提供する。情報通信装置は、通信ネットワークを介して、デバイスから送信されたデータを受信する通信部と、通信部が受信したデータを含む送信データを情報処理装置である第１情報処理装置に対して送信するよう通信部を制御する制御部と、を備える。情報通信装置は、第１情報処理装置に対する送信データの送信に失敗した場合、第１情報処理装置に対して送信データを送信可能な他の情報処理装置である１以上の第２情報処理装置に関する情報である、各第２情報処理装置の配置に関する情報と、各第２情報処理装置における通信に関する統計情報に応じて決定される優先度を表す情報とに基づいて、送信データを送信する処理を移譲する第２情報処理装置を特定する。情報通信装置は、特定した第２情報処理装置に送信データを転送する。
2019054435.tif 000002
【特許請求の範囲】
【請求項１】
通信ネットワークを介して、デバイスから送信されたデータを受信する通信手段と、
前記通信手段が受信したデータを含む送信データを作成し、情報処理装置である第１情報処理装置に対して前記送信データを送信するよう前記通信手段を制御する制御手段と、を備え
前記制御手段は、前記第１情報処理装置に対する前記送信データの送信に失敗した場合、前記第１情報処理装置に対して前記送信データを送信可能な他の情報処理装置である１以上の第２情報処理装置に関する情報である、各前記第２情報処理装置の配置に関する情報と、各前記第２情報処理装置における通信に関する統計情報に応じて決定される優先度を表す情報と、に基づいて、前記送信データを送信する処理を移譲する前記第２情報処理装置を特定し、特定した前記第２情報処理装置に前記送信データを転送するよう前記通信手段を制御する
情報通信装置。
【請求項２】
前記第２情報処理装置は、自装置と同様の構成を備える他の情報通信装置であり、
前記優先度は、各前記第２情報処理装置における通信に関する統計情報である単位時間あたりの通信量と、単位時間あたりの通信頻度とに基づいて、通信に関する負荷がより小さい前記第２情報処理装置が、通信に関する負荷がより大きい前記第２情報処理装置より優先されるように、各前記第２情報処理装置について算出される
請求項１に記載の情報通信装置。
【請求項３】
前記第２情報処理装置は、自装置と同様の構成を備える他の情報通信装置であり、
前記制御手段は、前記第２情報処理装置の配置に関する情報に基づいて、自装置の近傍に存在する前記第２情報処理装置を、前記送信データを送信する処理を移譲する前記第２情報処理装置として特定する
請求項１又は請求項２に記載の情報通信装置。
【請求項４】
前記制御手段は、自装置と通信可能に接続された少なくとも１つの前記デバイスと通信可能な前記第２情報処理装置を、自装置の近傍に存在する前記第２情報処理装置として特定する、
請求項３に記載の情報通信装置。
【請求項５】
前記通信手段が、自装置と同様の構成を備える情報通信装置である他の前記第２情報処理装置から、前記送信データを受信した場合、
前記制御手段は、その前記第２情報処理装置が、自装置の近傍に存在する前記第２情報処理装置である場合、受信した前記送信データを前記第１情報処理装置に転送し、
その前記第２情報処理装置が、自装置の近傍に存在する前記第２情報処理装置ではない場合、受信した前記送信データの前記第１情報処理装置への転送を拒否する
請求項３又は４に記載の情報通信装置。
【請求項６】
第１情報処理装置であるバックエンドサーバと、
複数の、請求項２から請求項４のいずれか一項に記載の情報通信装置と、を備え、
前記バックエンドサーバは、
各前記情報通信装置から、それぞれの前記情報通信装置が通信可能な前記デバイスの一覧を取得し、取得した一覧に基づいて、同じ前記デバイスと通信可能な２以上の前記情報通信装置を、近傍に存在する情報通信装置として設定し、
各前記情報通信装置に対して、近傍に存在する他の情報通信装置を通知する
情報通信システム。
【請求項７】
第１情報処理装置であるバックエンドサーバと、
複数の、請求項２から請求項４のいずれか一項に記載の情報通信装置と、を備え、
前記情報通信装置が前記デバイスから受信したデータには、前記デバイスを特定可能な情報が記録され、
各前記情報通信装置は、前記デバイスから受信したデータと、その前記情報通信装置を特定可能な情報とを含む前記送信データを作成して前記バックエンドサーバに送信し、
前記バックエンドサーバは、
複数の前記情報通信装置から受信した前記送信データに含まれる、前記情報通信装置を特定可能な情報と、前記デバイスを特定可能な情報とに基づいて、同じ前記デバイスと通信可能な複数の前記情報通信装置を特定し、特定した前記情報通信装置を、近傍に存在する情報通信装置として設定し、
各前記情報通信装置に対して、近傍に存在する他の情報通信装置を通知する
情報通信システム。
【請求項８】
前記情報通信装置は、他の前記情報通信装置から前記送信データを受信した場合、前記送信データを送信する処理を移譲されたことを表す情報を前記送信データに記録し、その前記送信データを前記バックエンドサーバに送信し、
前記バックエンドサーバは、
各前記情報通信装置から前記送信データを受信した際、各前記情報通信装置に関する統計情報である単位時間あたりの通信量と、単位時間あたりの通信頻度とを算出し、
受信した前記送信データに、その前記送信データを送信する処理が１以上の前記情報通信装置により移譲されたことを表す情報が含まれている場合、他の前記情報通信装置に前記送信データを送信する処理を移譲した前記情報通信装置において通信障害が発生していると判定することで、各前記情報通信装置に関する単位時間あたりの通信障害の回数を算出し、
各前記情報通信装置について算出した単位時間あたりの通信量と、単位時間あたりの通信頻度と、単位時間あたりの通信障害の回数とに応じて、各前記情報通信装置に関する前記優先度を算出し、
算出した前記優先度を、各前記情報通信装置に通知する
請求項６又は請求項７に記載の情報通信システム。
【請求項９】
情報通信装置が、
通信ネットワークを介して、デバイスから送信されたデータを受信し、
受信したデータを含む送信データを作成し、情報処理装置である第１情報処理装置に対して前記送信データを送信することを含み、
更に、前記第１情報処理装置に対する前記送信データの送信に失敗した場合、前記第１情報処理装置に対して前記送信データを送信可能な他の情報処理装置である１以上の第２情報処理装置に関する情報である、各前記第２情報処理装置の配置に関する情報と、各前記第２情報処理装置における通信に関する統計情報に応じて決定される優先度を表す情報と、に基づいて、前記送信データを送信する処理を移譲する前記第２情報処理装置を特定し、特定した前記第２情報処理装置に前記送信データを転送することを含む、
情報通信方法。
【請求項１０】
通信ネットワークを介して、デバイスから送信されたデータを受信する処理と、
受信したデータを含む送信データを作成し、情報処理装置である第１情報処理装置に対して前記送信データを送信する処理と、
前記第１情報処理装置に対する前記送信データの送信に失敗した場合、前記第１情報処理装置に対して前記送信データを送信可能な他の情報処理装置である１以上の第２情報処理装置に関する情報である、各前記第２情報処理装置の配置に関する情報と、各前記第２情報処理装置における通信に関する統計情報に応じて決定される優先度を表す情報と、に基づいて、前記送信データを送信する処理を移譲する前記第２情報処理装置を特定し、特定した前記第２情報処理装置に前記送信データを転送する処理と、をコンピュータに実行させる
コンピュータ・プログラムを格納する記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信ネットワークを介して、複数の情報通信装置がデータを転送する技術に関する。
【背景技術】
【０００２】
多様なデバイス（例えば、センサ等）がネットワークを介して通信可能に接続されるＩｏＴ（Ｉｎｔｅｒｎｅｔ  ｏｆ  Ｔｈｉｎｇｓ）を活用したシステムが、社会基盤システムなどにおいて広く利用されている。これにともない、デバイスにより取得されたデータを、データロスト（消失）や、通信遅延等を発生させることなく、データを処理するサーバ（バックエンドサーバ）に送信する技術の需要が高まっている。【０００３】
複数のデバイスにより収集したデータを処理するシステムに関する技術が、例えば、以下の特許文献に記載されている。特許文献１には、複数のセンサからデータを収集するエントランスノードと、収集したデータを処理するインテリジェンスノードとを含むシステムにおいて、収集したデータの転送経路を制御することで、データの処理を実行するサーバを再設定する技術が記載されている。特許文献２には、ＩｏＴ装置が接続された複数のゲートウェイ装置が相互に動作状態を確認し、いずれかのゲートウェイ装置が故障した際に、故障したゲートウェイ装置を他のゲートウェイ装置に置き換える技術が記載されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特許５５４４００６号公報
【特許文献２】特開２０１７−７９４６５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ＩｏＴシステムにおいては、デバイスを集約するゲートウェイ装置や、通信ネットワークに何らかの障害が生じることがある。係る障害により、ゲートウェイ装置と、データを処理するバックエンドサーバとの間の通信が失敗した場合、故障したゲートウェイの管理下にあるデバイスからのデータがバックエンドサーバに送信されないという課題がある。【０００６】
これに対して、例えば、特許文献１に記載されたシステムにおいては、エントランスノードとインテリジェンスノードとの間の通信ネットワークに障害が発生した場合、これらの間の通信が確保されない可能性がある。また、特許文献２に記載されたシステムにおいては、故障したゲートウェイデバイスを置き換えたゲートウェイデバイスに処理（負荷）が集中する可能性がある。これにより、データロストや、通信遅延が発生するおそれがある。本開示は、このような事情を鑑みてなされたものである。【０００７】
即ち、本開示は、障害が発生した際、通信データを適切に転送可能な情報通信装置等を提供することを、その目的の一つとする。
【課題を解決するための手段】
【０００８】
上記目的を達成すべく、本開示の１態様に係る情報通信装置は、以下のように構成される。即ち、本開示の１態様に係る情報通信装置は、通信ネットワークを介して、デバイスから送信されたデータを受信する通信部と、通信部が受信したデータを含む送信データを作成し、情報処理装置である第１情報処理装置に対して送信データを送信するよう通信部を制御する制御部と、を備える。制御部は、第１情報処理装置に対する送信データの送信に失敗した場合、第１情報処理装置に対して送信データを送信可能な他の情報処理装置である１以上の第２情報処理装置に関する情報である、各第２情報処理装置の配置に関する情報と、各第２情報処理装置における通信に関する統計情報に応じて決定される優先度を表す情報と、に基づいて、送信データを送信する処理を移譲する第２情報処理装置を特定し、特定した第２情報処理装置に送信データを転送するよう通信部を制御する。【０００９】
本開示の他の１態様に係る通信処理方法は、情報通信装置が、通信ネットワークを介して、デバイスから送信されたデータを受信し、受信したデータを含む送信データを作成し、情報処理装置である第１情報処理装置に対して送信データを送信することを含み、更に、第１情報処理装置に対する送信データの送信に失敗した場合、第１情報処理装置に対して送信データを送信可能な他の情報処理装置である１以上の第２情報処理装置に関する情報である、各第２情報処理装置の配置に関する情報と、各第２情報処理装置における通信に関する統計情報に応じて決定される優先度を表す情報と、に基づいて、送信データを送信する処理を移譲する第２情報処理装置を特定し、特定した第２情報処理装置に送信データを転送することを含む。【００１０】
また、同目的は、上記構成を有する情報通信装置、通信処理方法等をコンピュータによって実現するコンピュータ・プログラム（画像解析プログラム）、及び、そのコンピュータ・プログラムが格納されているコンピュータ読み取り可能な記録媒体等によっても達成される。【００１１】
即ち、本開示の１態様に係るコンピュータ・プログラムは、通信ネットワークを介して、デバイスから送信されたデータを受信する処理と、受信したデータを含む送信データを作成し、情報処理装置である第１情報処理装置に対して送信データを送信する処理と、第１情報処理装置に対する送信データの送信に失敗した場合、第１情報処理装置に対して送信データを送信可能な他の情報処理装置である１以上の第２情報処理装置に関する情報である、各第２情報処理装置の配置に関する情報と、各第２情報処理装置における通信に関する統計情報に応じて決定される優先度を表す情報と、に基づいて、送信データを送信する処理を移譲する第２情報処理装置を特定し、特定した第２情報処理装置に送信データを転送する処理とを、情報通信装置を構成するコンピュータに実行させる。また、本開示の１態様に係る記録媒体には、上記したコンピュータ・プログラムが記録されてもよい。
【発明の効果】
【００１２】
本開示によれば、障害が発生した際、通信データを適切に転送することが可能である。
【図面の簡単な説明】
【００１３】
【図１Ａ】図１Ａは、本開示の第１実施形態における情報通信装置（ゲートウェイ）を含む情報通信システムの構成を例示する説明図である。
【図１Ｂ】図１Ｂは、本開示の第１実施形態におけるバックエンドサーバの機能的な構成を例示するブロック図である。
【図１Ｃ】図１Ｃは、本開示の第１実施形態におけるゲートウェイの機能的な構成を例示するブロック図である。
【図１Ｄ】図１Ｄは、本開示の第１実施形態におけるセンサデバイスの機能的な構成を例示するブロック図である。
【図２】図２は、本開示の第１実施形態において、センサデバイスからゲートウェイにデータを送信する動作の一例を示すフローチャートである。
【図３Ａ】図３Ａは、本開示の第１実施形態において、ゲートウェイからバックエンドサーバにデータを送信する動作の一例を示すフローチャート（その１）である。
【図３Ｂ】図３Ｂは、本開示の第１実施形態において、ゲートウェイからバックエンドサーバにデータを送信する動作の一例を示すフローチャート（その２）である。
【図４】図４は、本開示の第１実施形態において、バックエンドサーバがゲートウェイからデータを受信した際の動作の一例を示すフローチャートである。
【図５】図５は、本開示の第１実施形態において、バックエンドサーバが、処理の移譲に用いられる移譲ゲートウェイを設定する動作の一例を示すフローチャートである。
【図６】図６は、本開示の第１実施形態において、センサデバイスから送信されるデータの具体例を示す説明図である。
【図７】図７は、本開示の第１実施形態において、ゲートウェイからバックエンドサーバに送信されるデータの具体例を示す説明図である。
【図８Ａ】図８Ａは、本開示の第１実施形態において、処理が移譲されたゲートウェイ（データの送信を中継するゲートウェイ）から、バックエンドサーバに送信されるデータの具体例を示す説明図である。
【図８Ｂ】図８Ｂは、本開示の第１実施形態において、処理が移譲されたゲートウェイ（データの送信を中継するゲートウェイ）から、バックエンドサーバに送信されるデータの他の具体例を示す説明図である。
【図９Ａ】図９Ａは、本開示の第１実施形態におけるバックエンドサーバが管理する統計情報格納テーブルの具体例を例示する説明図である。
【図９Ｂ】図９Ｂは、本開示の第１実施形態におけるバックエンドサーバが管理する統計情報格納テーブルの他の具体例を例示する説明図である。
【図１０】図１０は、優先度が設定されたゲートウェイのリストの具体例を示す説明図である。
【図１１】図１１は、本開示の第２実施形態における情報通信装置の機能的な構成を例示するブロック図である。
【図１２】図１２は、本開示に係る各実施形態を実現可能なハードウェア構成の一例を示す説明図である。
【発明を実施するための形態】
【００１４】
以下、本開示に係る技術について、具体的な実施形態を用いて更に詳細に説明する。以下の具体的な実施形態（及びその変形例）の構成は例示であり、本開示に係る技術の範囲は、それらには限定されない。以下の各実施形態を構成する構成要素の分割（例えば、機能的な単位による分割）は、その実施形態を実現可能な一例である。各実施形態を実現可能な構成は、以下の例示に限定されず、様々な構成が想定され得る。以下の各実施形態を構成する構成要素は、更に分割されてもよく、また、以下の各実施形態を構成する１以上の構成要素が統合されてもよい。以下に例示する各実施形態が１以上の物理的装置、仮想的装置、及びその組合せを用いて実現される場合、１以上の構成要素が１以上の装置により実現されてもよく、１つの構成要素が複数の装置を用いて実現されてもよい。
【００１５】
なお、以下において、ある特定の意味を持つひとまとまりのデータを、データアイテムと記載することがある。また、複数のデータアイテムの集合を、データセットと記載することがある。
【００１６】
＜第１実施形態＞
以下、本開示に係る技術を実現可能な第１の実施形態（第１実施形態）について説明する。以下において説明する各装置は、単体の装置（物理的又は仮想的な装置）として実装されてもよく、複数の離間した装置（物理的又は仮想的な装置）を用いたシステムとして実装されてもよい。各装置がシステムとして実現される場合、システムを構成する構成要素の間は有線、無線、又はそれらを適切に組み合わせた通信ネットワークにより通信可能に接続されてもよい。以下において説明する各装置を実現可能なハードウェア構成については、後述する。
【００１７】
［構成］
本実施形態における情報通信システム１の構成について図１Ａから図１Ｄを参照して説明する。
【００１８】
図１Ａに例示するように、本実施形態における情報通信システム１は、バックエンドサーバ１００と、ゲートウェイ２００と、センサデバイス３００とを、含むシステムである。図１Ａには、Ｌ台（Ｌは正の整数）のバックエンドサーバ１００（バックエンドサーバ（１００−１）、・・・、バックエンドサーバ（１００−Ｌ）、Ｍ台（Ｍは２以上の自然数）のゲートウェイ２００（ゲートウェイ（２００−１）、ゲートウェイ（２００−２）、・・・、ゲートウェイ（２００−Ｍ））、及び、Ｎ個（Ｎは自然数）のセンサデバイス３００（センサデバイス（３００−１）、センサデバイス（３００−２）、センサデバイス（３００−３）、・・・、センサデバイス（３００−Ｎ））を含む、情報通信システム１の具体例が示されている。なお、情報通信システムに含まれるバックエンドサーバ１００、ゲートウェイ２００及びセンサデバイス３００の数は特に限定されず、適宜定められてよい。
【００１９】
情報通信システム１において、バックエンドサーバ１００は、例えば、複数の筐体に分散した物理的又は仮想的なシステムとして実現されてもよい。また、情報通信システム１には、２台以上のゲートウェイ２００が含まれ、各ゲートウェイ２００は、それらの近傍に存在する他のゲートウェイ２００と相互に通信可能に構成される。１つのゲートウェイ２００に、１以上のセンサデバイス３００が接続されてよく、一つのセンサデバイス３００が、複数のゲートウェイ２００に接続されてもよい。
【００２０】
センサデバイス３００とゲートウェイ２００との間は、通信ネットワーク４０１を用いて通信可能に接続され、バックエンドサーバ１００とゲートウェイ２００との間は、通信ネットワーク４０２を用いて通信可能に接続される。通信ネットワーク４０１及び通信ネットワーク４０２は、有線通信（例えばＩＥＥＥ８０２．３規格に準拠した通信）、無線通信（例えば、ＩＥＥＥ８０２．１１規格に準拠した通信）、及びその組合せにより構成されてよい。通信ネットワーク４０１及び通信ネットワーク４０２において使用される通信プロトコルは特に限定されず、適切な通信プロトコルを採用してよい。通信ネットワーク４０１及び通信ネットワーク４０２は、例えば、インターネット等のＩＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）ネットワークであってもよいが、これには限定されない。
【００２１】
以下、情報通信システム１を構成する各構成要素について説明する。
【００２２】
バックエンドサーバ１００は、センサデバイス３００を用いて収集されたデータに基づいて各種処理（データ解析処理等）を実行するサーバである。上記したように、バックエンドサーバ１００は、複数の物理的又は仮想的な情報処理装置（コンピュータ等）の組合せにより実現されてよく、現在では一般的なクラウド環境に配置されてもよい。クラウド環境は、例えば、ある特定の処理に用いられるコンピューティングリソースを、通信ネットワーク等を介して、サービスとして適宜利用可能な環境である。なお、クラウド環境にサーバを構築する具体的な方法は、周知の技術を適宜採用してよい。
【００２３】
図１Ｂは、本実施形態におけるバックエンドサーバ１００の機能的な構成を例示するブロック図である。図１Ｂに例示するように、バックエンドサーバ１００は、バックエンドサーバの動きを制御するサーバ制御部１０１と、ゲートウェイ２００との通信を行うゲートウェイ通信部１０２、各ゲートウェイ２００に関する通信状態の統計情報を計算する統計情報計算部１０３と、を含む。バックエンドサーバ１００は、また、ゲートウェイ２００から受信したデータを加工する受信データ加工部１０４と、近傍ゲートウェイを検出する近傍ゲートウェイ計算部１０７とを含む。バックエンドサーバ１００は、また、統計情報計算部１０３において計算された統計情報を記憶する統計情報格納部１０５と、受信データ加工部１０４において加工されたデータを記憶する受信データ格納部１０６とを含んでもよい。なお、統計情報格納部１０５及び受信データ格納部１０６は、各種データベースやファイルシステム等を用いて実現可能であり、バックエンドサーバ１００の外部（例えば、データベースサーバや、記憶領域を提供するストレージサーバ等）において提供されてもよい。
【００２４】
バックエンドサーバ１００は、センサデバイス３００が取得したデータを、ゲートウェイ２００を介して収集し、収集したデータを用いて各種処理（例えばデータ解析処理等）を実行する。バックエンドサーバ１００が、収集したデータを用いて実行する処理は特に限定されず、適宜設定可能である。この際、バックエンドサーバ１００における受信データ加工部１０４は、センサデバイス３００から収集したデータに対して、適切な加工処理（たとえば、統計処理等）を実行してもよい。
【００２５】
近傍ゲートウェイ計算部１０７は、あるゲートウェイ２００について、そのゲートウェイ２００の近傍に存在する他のゲートウェイ２００（以下「近傍ゲートウェイ２００」と記載する）を特定する処理を実行する。本実施形態における近傍ゲートウェイ計算部１０７は、例えば、あるゲートウェイ２００に接続されたセンサデバイス３００と通信可能な他のゲートウェイ２００を、あるゲートウェイ２００に対する近傍ゲートウェイ２００として特定してよい。即ち、同じセンサデバイス３００と通信可能なゲートウェイ２００が、近傍ゲートウェイ２００として特定される。
【００２６】
なお、本実施形態はこれに限定されず、近傍ゲートウェイ計算部１０７は、他の基準に従って近傍ゲートウェイを特定するよう構成されてもよい。近傍ゲートウェイ計算部１０７は、例えば、あるゲートウェイ２００とネットワーク上の距離（例えばホップ数など）が特定の基準値よりも近い他のゲートウェイ２００を、近傍ゲートウェイ２００として特定してもよい。また、近傍ゲートウェイ計算部１０７は、例えば、あるゲートウェイ２００と同一のネットワーク（例えば、同一のサブネット）上に存在する他のゲートウェイ２００を、近傍ゲートウェイ２００として特定してもよい。また、近傍ゲートウェイ計算部１０７は、各ゲートウェイ２００の物理的な配置が既知である場合、あるゲートウェイ２００と配置場所が近い（例えば、配置場所間の距離が基準値以下である）他のゲートウェイ２００を、近傍ゲートウェイ２００として特定してもよい。例えば、各ゲートウェイ２００が無線通信により接続される場合、各ゲートウェイ２００間の物理的な距離に応じて、各ゲートウェイ２００が通信可能な範囲が確定されてもよい。近傍ゲートウェイ計算部１０７の具体的な処理については、後述する。
【００２７】
ゲートウェイ２００は、センサデバイス３００からのデータを集約し、バックエンドサーバ１００に送信するよう構成される。ゲートウェイ２００は、物理的又は仮想的な通信装置として構成されてもよく、通信装置の機能が実装された物理的又は仮想的な情報処理装置（コンピュータ等）を用いて実現されてもよい。
【００２８】
図１Ｃは、本実施形態におけるゲートウェイ２００の機能的な構成を例示するブロック図である。図１Ｃに例示するように、ゲートウェイ２００は、ゲートウェイ２００自体の動きを制御するゲートウェイ制御部２０１と、バックエンドサーバ１００との通信を実行するサーバ通信部２０２（以下、第１通信部２０２と記載することがある）と、センサデバイス３００及び他のゲートウェイ２００との通信を実行するセンサ・ゲートウェイ通信部２０３（以下、第２通信部と記載することがある）とを含む。なお、第１通信部２０２及び第２通信部２０３は、個別に実装されてもよく、１つに統合して実装されてもよい。
【００２９】
ゲートウェイ２００は、また、自身の近傍に存在する他の近傍ゲートウェイ２００を特定可能な情報を記憶する、近傍ゲートウェイ格納部２０６を含む。ゲートウェイ２００は、また、センサデバイス３００から受信したデータを加工する受信データ加工部２０４と、受信したデータを格納する受信データ格納部２０５とを含んでもよい。
【００３０】
本実施形態におけるゲートウェイ２００は、例えば、センサデバイス３００から受信したデータを、受信データ格納部２０５に格納する。この際、必要に応じて、受信データ加工部２０４が、センサデバイス３００から受信したデータを適宜加工し、加工したデータを、受信データ格納部２０５に記憶してもよい。ゲートウェイ２００は、例えば、受信データ格納部２０５に記憶されている１以上の受信データをまとめて（集約して）、バックエンドサーバ１００に送信してもよい。ゲートウェイ２００から、バックエンドサーバ１００に送信されるデータの具体的な形式については、後述する。
【００３１】
本実施形態におけるゲートウェイ２００は、１以上のセンサデバイス３００と通信可能に接続されるとともに、他のゲートウェイ２００と通信可能に接続される。例えば、何らかの要因により、図１Ａに例示するゲートウェイ（２００−１）とバックエンドサーバ（１００−１）とが通信不能になった場合、ゲートウェイ（２００−１）は、他のゲートウェイ（２００−２）に、バックエンドサーバ（１００−１）に対するデータの転送を移譲することができる。これにより、本実施形態における情報通信システム１は、あるゲートウェイ２００と、バックエンドサーバ１００との間の通信に障害が発生した場合であっても、通信データを適切に転送することができる。なお、ゲートウェイ２００の間における通信処理の移譲に関する具体的な処理については、後述する。
【００３２】
本実施形態において、近傍ゲートウェイ格納部２０６には、データの転送処理を移譲することができる他の近傍ゲートウェイ２００を特定可能な情報が記憶される。近傍ゲートウェイ格納部２０６には、例えば、各ゲートウェイ２００について、近傍ゲートウェイ２００を特定可能な情報が予め設定されていてもよい。また、近傍ゲートウェイ格納部２０６には、バックエンドサーバ１００における近傍ゲートウェイ計算部１０７により特定された近傍ゲートウェイ２００を特定可能な情報が記憶されてもよい。
【００３３】
センサデバイス３００は、例えば、各種センサを用いて、実世界の情報を取得することが可能なデバイスである。図１Ｄは、本実施形態におけるセンサデバイス３００の機能的な構成を例示するブロック図である。図１Ｄに例示するように、センサデバイス３００は、ゲートウェイ２００との間の通信を実行するゲートウェイ通信部３０１を含む。センサデバイス３００は、また、各種センサを用いて実世界の情報を取得するデータ取得部３０２を含んでもよい。
【００３４】
本実施形態におけるセンサデバイス３００の種類は特に限定されず、各センサデバイス３００には、各種のセンサが実装されてよい。センサデバイス３００には、例えば、温度センサ、湿度センサ、照度センサ、流量センサ、イメージセンサ（カメラ）、音声センサ（マイクロホン）、振動センサ、ジャイロセンサ、赤外線センサ、等が実装されてよいが、これらには限定されない。なお、一つのセンサデバイス３００に、複数のセンサが実装されてもよい。
【００３５】
センサデバイス３００におけるデータ取得部３０２は、各種センサにより計測されたデータを取得する。この際、データ取得部３０２は、計測データを適切な形式に変換（例えば、アナログ・デジタル変換や、規定のフォーマットへの変換等）してもよい。ゲートウェイ通信部３０１は、データ取得部３０２により取得されたデータをゲートウェイ２００に送信する。センサデバイス３００から、ゲートウェイ２００に送信されるデータの具体的な形式については、後述する。
【００３６】
なお、本実施形態においては、一つのセンサデバイス３００が、複数のゲートウェイ２００に接続されてもよい。この場合、係るセンサデバイス３００は、例えば、それぞれのゲートウェイ２００に対して、データを並行して送信してもよく、シーケンシャルに送信してもよい。
【００３７】
［動作］
以下、上記のように構成された本実施形態におけるバックエンドサーバ１００、ゲートウェイ２００、及び、センサデバイス３００の動作を、図２から図８Ｂを参照して説明する。
【００３８】
なお、以下においては、ゲートウェイ２００の故障等により、ゲートウェイ２００とバックエンドサーバ１００との間の通信に故障が発生する以前は、センサデバイス３００において取得したデータが、バックエンドサーバ１００に正常に送信可能であることを想定する。
【００３９】
図２は、センサデバイス３００からゲートウェイ２００にデータを送信する動作の一例を説明するフローチャートである。
【００４０】
センサデバイス３００は、自装置に実装されたセンサを用いて、実世界から情報を取得する（即ち、実世界における計測対象から何らかの値を計測する）。センサデバイス３００は、取得した情報を含むデータを、ゲートウェイ通信部３０１を用いて、ゲートウェイ２００に送信する（ステップＳ２０１）。送信する情報は、例えば、図６のような形式（データフォーマット）により表されてもよい。即ち、図６に示す具体例の場合、送信する情報のデータフォーマットとして、ＪＳＯＮ（ＪａｖａＳｃｒｉｐｔ（登録商標）  Ｏｂｊｅｃｔ  Ｎｏｔａｔｉｏｎ）形式が用いられている。なお、送信する情報のデータフォーマットは、図６の具体例に限定されず、他の適切な形式（例えば、ＸＭＬ（Ｅｘｔｅｎｓｉｂｌｅ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）等）が用いられてもよい。
【００４１】
図６に示す具体例の場合、センサデバイス３００からゲートウェイ２００に送信されるデータには、例えば、計測日時（図６の”ｄａｔｅｔｉｍｅ”）、センサデバイス３００を特定可能な識別子（図６の”ｓｅｎｓｏｒ−ｉｄ”）、及び、計測対象から得られた計測値（図６の”ｔｅｍｐｅｒａｔｕｒｅ”）が含まれる。なお、”ｄａｔｅｔｉｍｅ”には、計測日時の代わりに、送信日時が設定されてもよい。図６は、センサデバイス３００が温度センサである場合の具体例であり、”ｔｅｍｐｅｒａｔｕｒｅ”には温度センサにより計測した温度が設定される。本実施形態はこれに限定されず、送信されるデータには、各センサデバイス３００に実装された具体的なセンサの種類に応じて、”ｔｅｍｐｅｒａｔｕｒｅ”以外の適切なデータが設定されてよい。
【００４２】
ゲートウェイ２００は、センサデバイス３００から送信されたデータを、第２通信部２０３により受信し、そのデータを受信データ格納部２０５に記憶する（ステップＳ２０２）。その際、センサデバイス３００から受信したデータを、受信データ加工部２０４が適宜加工してもよい。
【００４３】
図３Ａ、図３Ｂは、ゲートウェイ２００からバックエンドサーバ１００にデータを送信する動作の一例を説明するフローチャートである。
【００４４】
上記説明したように、ゲートウェイ２００がセンサデバイス３００から受信したデータは、受信データ格納部２０５に記憶されている。ゲートウェイ制御部２０１は、受信データ格納部２０５から、バックエンドサーバに送信するデータ（以下、「送信対象データ」と記載する）を取得する（ステップＳ３０１）。
【００４５】
ゲートウェイ制御部２０１は、例えば、受信データ格納部２０５に記憶された複数のデータをまとめて、送信対象データとして取得してもよい。即ち、送信対象データには、センサデバイス３００から受信したデータが複数含まれてもよい。
【００４６】
ゲートウェイ制御部２０１は、送信対象データに、自身を一意に識別可能な識別子（ＩＤ：Ｉｄｅｎｔｉｆｉｅｒ）を設定する（ステップＳ３０２）。
【００４７】
図７は、送信対象データの具体例を示す説明図である。図７に示す具体例の場合、センサデバイス３００から受信した複数のデータが、まとめて送信対象データに含まれている。具体的には、送信対象データには、例えば、その送信対象データを送信するゲートウェイ２００を特定可能な識別子（図７の”ｇａｔｅｗａｙ−ｉｄ”）が含まれる。図７に例示する送信対象データには、また、送信対象データを送信する日時（”ｄａｔｅｔｉｍｅ”）が設定される。図７に例示する、送信対象データには、また、２つのセンサデバイス（”ｓｅｎｓｏｒ−ｉｄ”が”ｔｅｍｐ−ｓｅｎｓｏｒ１”であるデバイスと、”ｔｅｍｐ−ｓｅｎｓｏｒ２”であるデバイス）から受信したデータが含まれる。
【００４８】
ゲートウェイ制御部２０１は、第１通信部２０２を用いて、送信対象データをバックエンドサーバ１００に送信する（ステップＳ３０３）。
【００４９】
バックエンドサーバ１００への送信対象データの送信が正常に終了した場合（ステップＳ３０４においてＹＥＳ）、ゲートウェイ制御部２０１は、受信データ格納部２０５から、送信した送信対象データを削除する（ステップＳ３０５）。
【００５０】
送信対象データの送信が失敗した場合（ステップＳ３０４においてＮＯ）、ゲートウェイ制御部２０１は、近傍ゲートウェイ格納部２０６から、データ送信を移譲するゲートウェイ２００（近傍ゲートウェイ２００）を特定し、その情報を取得する（ステップＳ３０６）。
【００５１】
ゲートウェイ制御部２０１は、特定した近傍ゲートウェイ２００に対して、送信対象データを転送する（ステップＳ３０７）。
【００５２】
例えば、図１Ａに示す具体例において、ゲートウェイ（２００−１）と、ゲートウェイ（２００−２）とが、互いに近傍ゲートウェイであり、ゲートウェイ（２００−１）から、バックエンドサーバ（１００−１）への送信対象データの送信が失敗した状況を想定する。この場合、ゲートウェイ（２００−１）は、ゲートウェイ（２００−２）に、送信対象データの送信処理を移譲し、送信対象データをゲートウェイ（２００−２）に転送する。
【００５３】
以下、あるゲートウェイ２００から送信処理を移譲された他のゲートウェイ２００における、送信対象データの送信処理（ステップＳ３０８）について、図３Ｂを参照して説明する。なお、以下において、あるゲートウェイ２００から送信処理を移譲された他のゲートウェイ２００を、中継ゲートウェイと記載することがある。この場合、あるゲートウェイ２００と、他のゲートウェイ２００とは、互いに近傍ゲートウェイ２００であってもよい。
【００５４】
送信対象データの送信処理を移譲された近傍ゲートウェイ２００は、移譲元のゲートウェイ２００が、自身の近傍ゲートウェイ格納部２０６に記録されているか否かを確認する（ステップＳ３０９）。より具体的には、近傍ゲートウェイ２００におけるゲートウェイ制御部２０１は、転送された送信対象データに含まれる、移譲元のゲートウェイ２００のＩＤ（”ｇａｔｅｗａｙ−ｉｄ”）が、近傍ゲートウェイ格納部２０６に記録されているか否かを確認する。
【００５５】
移譲元のゲートウェイ２００が、近傍ゲートウェイ格納部２０６に記憶されていない場合（ステップＳ３１０においてＮＯ）、ゲートウェイ制御部２０１は、不正なデータを受信したと判定し、送信処理の移譲を拒否する（ステップＳ３１１）。
【００５６】
また、移譲元のゲートウェイ２００が、近傍ゲートウェイ格納部２０６に記憶されている場合（ステップＳ３１０においてＹＥＳ）、ゲートウェイ制御部２０１は、自装置の負荷状況を確認し、自装置が送信処理の移譲を受け付けることができるか否かを判定する（ステップＳ３１２）。
【００５７】
自装置の負荷が高く、移譲を受け付けられない場合（ステップＳ３１３においてＮＯ）、ゲートウェイ制御部２０１は、移譲元のゲートウェイ２００以外の近傍ゲートウェイ（即ち、近傍ゲートウェイ格納部２０６に記憶されている他のゲートウェイ２００）に送信処理を更に移譲する（図３ＢにおけるステップＳ３０６からＳ３０８）。なお、図３ＢにおけるステップＳ３０６からＳ３０８は、図３ＡにおけるステップＳ３０６からＳ３０８と同様としてよい。
【００５８】
移譲を受け付け可能な場合（ステップＳ３１３においてＹＥＳ）、ゲートウェイ制御部２０１は、移譲を受け付け、移譲元のゲートウェイ２００から受信した送信対象データに、送信処理を中継したことを表す識別子（ＩＤ）を設定する（ステップＳ３１４）。
【００５９】
図８Ａは、近傍ゲートウェイ２００により中継される送信対象データの具体例を示す説明図である。図８Ａに例示するように、ゲートウェイ制御部２０１は、移譲元のゲートウェイ２００から受信した送信対象データに、識別子（図８Ａの”ｒｅｌａｙ−ｇａｔｅｗａｙ”）を設定する。図８Ａに例示する送信対象データのうち、”ｒｅｌａｙ−ｇａｔｅｗａｙ”以外の部分は、図７に例示する送信対象データと同様としてよい。
【００６０】
なお、送信対象データが複数のゲートウェイ２００により中継された場合（即ち、複数のゲートウェイ２００が送信処理を移譲した場合）、図８Ｂに例示するように、中継した各ゲートウェイ２００のＩＤが、”ｒｅｌａｙ−ｇａｔｅｗａｙ”に設定されてもよい。
【００６１】
近傍ゲートウェイ２００は、識別子を付与した送信対象データをバックエンドサーバ１００に送信する（ステップＳ３１５）。なお、バックエンドサーバ１００へのデータ送信に失敗した場合（ステップＳ３１６においてＮＯ）、ステップＳ３０６からステップＳ３０８の処理により、別の近傍ゲートウェイにデータ送信を移譲する。
【００６２】
例えば、図１Ａに示す具体例において、ゲートウェイ（２００−１）と、ゲートウェイ（２００−２）とが、互いに近傍ゲートウェイであり、ゲートウェイ（２００−１）から、バックエンドサーバ（１００−１）への送信対象データの送信が失敗した状況を想定する。ゲートウェイ（２００−１）から転送された送信対象データを受信した他のゲートウェイ（２００−２）は、移譲元のゲートウェイ（２００−１）が、自装置の近傍ゲートウェイ２００であるか否かを確認する（ステップＳ３０９）。この場合、移譲元のゲートウェイ（２００−１）は、ゲートウェイ（２００−２）の近傍ゲートウェイ２００である（ステップＳ３１０においてＹＥＳ）。ゲートウェイ（２００−２）は、自装置の負荷状況を確認し（ステップＳ３１２、Ｓ３１３）、送信処理を受け付け可能な場合、自装置のＩＤを送信対象データに設定する（ステップＳ３１４）。図８Ａに例示する具体例の場合、”ｒｅｌａｙ−ｇａｔｅｗａｙ”として”ｇａｔｅｗａｙ２”が設定される。ゲートウェイ（２００−２）は、ＩＤを設定した送信対象データをバックエンドサーバ（１００−１）に送信する（ステップＳ３１５）。
【００６３】
図４は、バックエンドサーバ１００が送信対象データを受信した際の動作の一例を説明するフローチャートである。
【００６４】
バックエンドサーバ１００（特には、サーバ制御部１０１）は、ゲートウェイ通信部１０２で送信対象データを受信し（ステップＳ４０１）、受信したデータを受信データ格納部１０６に記憶する（ステップＳ４０２）。なお、この際、受信データ加工部１０４が適宜加工したデータを、受信データ格納部１０６に記憶してもよい。
【００６５】
サーバ制御部１０１は、受信したデータに、そのデータの送信処理を移譲されたゲートウェイ２００のＩＤが含まれているか確認する（ステップＳ４０３）。
【００６６】
受信したデータに中継ゲートウェイのＩＤが含まれていない場合（ステップＳ４０４においてＮＯ）、サーバ制御部１０１は、受信したデータを統計情報計算部１０３に提供する。統計情報計算部１０３は、データを受信した日時、受信データサイズ等、受信したデータに関する情報を、統計情報格納部１０５に記録する（ステップＳ４０５）。
【００６７】
受信したデータに中継ゲートウェイのＩＤが含まれている場合（ステップＳ４０４においてＹＥＳ）、サーバ制御部１０１は、受信したデータから、送信元のゲートウェイ２００のＩＤ（図８Ａ、８Ｂの具体例における”ｇａｔｅｗａｙ−ｉｄ”）を取得する（ステップＳ４０６）。
【００６８】
受信したデータに中継ゲートウェイのＩＤが含まれている場合、送信対象データを送信した元のゲートウェイ２００と、バックエンドサーバ１００との間で、送信対象データの転送が失敗している。このため、サーバ制御部１０１は、送信元のゲートウェイ２００において通信エラーが発生したことを、統計情報格納部１０５に記憶する（ステップＳ４０７）。この際、サーバ制御部１０１は、統計情報計算部１０３に、通信エラーに関する記録を指示してもよい。
【００６９】
サーバ制御部１０１は、受信したデータに、中継ゲートウェイ２００のＩＤが複数含まれているか確認する（ステップＳ４０８）。即ち、サーバ制御部１０１は、受信したデータが、２台以上の中継ゲートウェイ２００により転送されているか否かを確認する。
【００７０】
中継ゲートウェイ２００のＩＤが複数含まれていた場合（ステップＳ４０９においてＹＥＳ）、サーバ制御部１０１は、途中の経路として記録されている中継ゲートウェイ２００についても、通信エラーが発生したことを統計情報格納部１０５に記憶する（ステップＳ４１０）。具体的には、サーバ制御部１０１は、例えば、受信したデータに含まれる”ｒｅｌａｙ−ｇａｔｅｗａｙ”に、複数の中継ゲートウェイ２００のＩＤが含まれる場合、最後に記録されたＩＤ以外のＩＤにより特定される中継ゲートウェイ２００について、バックエンドサーバ１００との間の通信エラーが生じたことを、統計情報格納部１０５に記憶する。
【００７１】
最後に中継した中継ゲートウェイ２００と、バックエンドサーバ１００との間の通信には問題が発生していない。このため、この中継ゲートウェイ２００を優先して利用するように、統計情報格納部１０５に記憶されたデータを更新する（ステップＳ４１１）。
【００７２】
受信したデータに含まれる中継ゲートウェイ２００のＩＤが一つである場合（ステップＳ４０９においてＮＯ）も同様に、その中継ゲートウェイ２００について、ステップＳ４１１の処理を実行してよい。
【００７３】
図９Ａ及び図９Ｂに示す具体例を用いて、上記処理について説明する。図９Ａ及び図９Ｂは、バックエンドサーバ１００における統計情報格納部１０５に記憶された、統計情報格納テーブルの具体例を示す説明図である。
【００７４】
図９Ａに例示するように、統計情報格納テーブルには、バックエンドサーバ１００と通信可能に接続されている各ゲートウェイ２００を特定可能なゲートウェイＩＤ（図９Ａの９０１）が記録される。また、統計情報格納テーブルには、ゲートウェイＩＤに関連付けて、最終データ受信時刻（９０２）、平均データサイズ（９０３）、エラー発生回数（９０４）、及び、中継優先度（９０５）が記録される。なお、図９Ｂに例示するように、統計情報格納テーブルには、更に、通信頻度（９０６）が記録されてもよい。
【００７５】
最終データ受信時刻は、ゲートウェイＩＤにより特定されるゲートウェイ２００から、最後にデータを受信した時刻を表す。また、通信頻度は、特定の期間（例えば、直近1時間等の単位時間）の間に、ゲートウェイＩＤにより特定されるゲートウェイ２００と、バックエンドサーバ１００との間で実行された通信の回数を表す。なお、係る通信には、中継ゲートウェイ２００により、通信処理の移譲が含まれてもよい。例えば、サーバ制御部１０１（又は統計情報計算部１０３）は、ゲートウェイ２００からデータを受信した際、ステップＳ４０５において、最終データ受信時刻及び通信頻度を更新してもよい。なお、本実施形態においては、例えば、サーバ制御部１０１は、ゲートウェイ２００からデータを受信したタイミングを特定可能な情報（例えば、受信時間等）を、時系列で記録してもよい。サーバ制御部１０１は、例えば、受信データ格納部１０６に、ゲートウェイ２００からデータを受信したタイミングを特定可能な情報を記憶してもよい。これにより、サーバ制御部１０１は、その情報に基づいて、通信頻度を算出することができる。
【００７６】
平均データサイズは、ゲートウェイＩＤにより特定されるゲートウェイ２００と、バックエンドサーバ１００との間で転送されたデータのサイズの平均を表す。この場合、平均データサイズは、ゲートウェイＩＤにより特定されるゲートウェイ２００と、バックエンドサーバ１００との間の通信量を表すと考えられる。平均データサイズは、例えば、ある特定の期間（例えば、直近の1時間等の単位時間）内に、ゲートウェイＩＤにより特定されるゲートウェイ２００と、バックエンドサーバ１００との間で転送されたデータのサイズの平均を表してもよい。サーバ制御部１０１（又は統計情報計算部１０３）は、例えば、ゲートウェイ２００からデータを受信した際に、ステップＳ４０５において、そのデータのサイズを算出し、平均データサイズを更新してもよい。平均データサイズが大きい場合、そのゲートウェイ２００における通信処理の負荷が高いと考えられる。
【００７７】
エラー発生回数は、特定の期間（例えば、直近の１時間等）の間にエラーが発生した回数を表す。具体的には、バックエンドサーバ１００は、ステップＳ４０７及びステップＳ４１０において、送信元のゲートウェイ２００、及び、最後に中継したゲートウェイ２００を除く他の中継ゲートウェイ２００について、エラー発生回数を更新（例えば、インクリメント）してよい。
【００７８】
中継優先度は、各ゲートウェイ２００を、中継ゲートウェイ２００として使用する際の優先度を表す。図９Ａ、９Ｂに例示する具体例の場合、優先度として「高」「低」が設定されている。本実施形態はこれに限定されず、中継優先度には、多段階の優先度（例えば、数値等）が設定されてよい。サーバ制御部１０１は、例えば、ステップＳ４１１において、バックエンドサーバ１００との間の通信に成功したゲートウェイ２００に関する中継優先度に、高い優先度の値（例えば「高」）を設定し、バックエンドサーバ１００との間の通信に失敗したゲートウェイ２００に関する中継優先度に、低い優先度の値（例えば「低」）を設定してもよい。
【００７９】
図５は、各ゲートウェイ２００について、近傍ゲートウェイ格納部２０６に記憶される情報の設定方法の具体例を説明するフローチャートである。図５に例示する処理は、図３Ａから図４に示したデータの送信処理とは非同期に（並行して）実行されてよい。なお、図５に例示するフローチャートの内、ステップＳ５０１からステップＳ５０５は、バックエンドサーバ１００において実行され、ステップＳ５０６は、各ゲートウェイ２００において実行される。
【００８０】
バックエンドサーバ１００の近傍ゲートウェイ計算部１０７が、各ゲートウェイ２００から、それぞれのゲートウェイ２００が通信可能なセンサデバイス３００の一覧（リスト）を取得する（ステップＳ５０１）。
【００８１】
図１Ａに例示する構成の場合、バックエンドサーバ（１００−１）は、ゲートウェイ（２００−１）から、センサデバイス（３００−１）及びセンサデバイス（３００−２）を含む一覧を取得できる。また、バックエンドサーバ（１００−１）は、ゲートウェイ（２００−２）から、センサデバイス（３００−２）及びセンサデバイス（３００−３）を含む一覧を取得できる。
【００８２】
近傍ゲートウェイ計算部１０７は、各ゲートウェイ２００から取得したセンサデバイス３００の一覧を比較し、同じセンサデバイス３００と通信可能なゲートウェイ２００を、それぞれ近傍ゲートウェイ２００として特定する（ステップＳ５０２）。
【００８３】
図１Ａに例示する構成の場合、センサデバイス（３００−２）は、ゲートウェイ（２００−１）、及び、ゲートウェイ（２００−２）の両方から通信可能なセンサデバイス３００であると判定される。これより、近傍ゲートウェイ計算部１０７は、ゲートウェイ（２００−１）と、ゲートウェイ（２００−２）とを、それぞれ近傍ゲートウェイ２００であると判定する。
【００８４】
近傍ゲートウェイ計算部１０７は、統計情報格納部１０５に記憶された統計情報格納テーブルを参照し、各ゲートウェイ２００について、自装置（バックエンドサーバ１００）との通信に関する統計情報を取得する（ステップＳ５０３）。
【００８５】
具体的には、近傍ゲートウェイ計算部１０７は、統計情報格納テーブルを参照し、通信エラー発生回数、平均送受信データサイズ等を取得する。統計情報格納テーブルに通信頻度が含まれる場合、近傍ゲートウェイ計算部１０７は、上記に加え、通信頻度を取得してもよい。
【００８６】
近傍ゲートウェイ計算部１０７は、取得した統計情報に基づいて、各ゲートウェイ２００について優先度を設定する（ステップＳ５０４）。近傍ゲートウェイ計算部１０７は、例えば、各ゲートウェイ２００について、自装置（バックエンドサーバ１００）との通信に成功する可能性と、各ゲートウェイ２００における通信の負荷とを考慮して、優先度を設定して良い。近傍ゲートウェイ計算部１０７は、例えば、各ゲートウェイ２００について、自装置（バックエンドサーバ１００）との通信に成功する可能性が高いほど、高い優先度を設定してよい（即ち、通信に成功する可能性が高いゲートウェイ２００の優先順位が高くなるよう、優先度を設定してよい）。また、近傍ゲートウェイ計算部１０７は、例えば、各ゲートウェイ２００について、通信の負荷が低いほど、高い優先度を設定してよい（即ち、通信負荷が低いゲートウェイ２００の優先順位が高くなるよう、優先度を設定してよい。）
近傍ゲートウェイ計算部１０７は、例えば、通信エラー発生回数、平均送受信データサイズ、及び、通信頻度のうちの、いずれか一つ以上に基づいて、各ゲートウェイ２００に関する優先度を設定する。
【００８７】
具体的には、近傍ゲートウェイ計算部１０７は、例えば、以下のような処理により、各ゲートウェイ２００に対する優先度を設定してもよい。
【００８８】
（１）近傍ゲートウェイ計算部１０７は、単位時間内に通信エラーが発生しているか否かを判定する。通信エラーが発生している場合は、通信エラーが発生しているゲートウェイ２００に対する優先度を下げる。
【００８９】
（２）通信エラーが発生していない場合、近傍ゲートウェイ計算部１０７は、単位時間内の通信頻度が大きいゲートウェイの優先度を下げる。具体的には、近傍ゲートウェイ計算部１０７は、単位時間内の通信頻度がある特定の閾値より大きいゲートウェイの負荷が高いと判定し、そのゲートウェイの優先度を下げる。なお、係る閾値は、予め設定されていてもよく、別途提供されてもよい。
【００９０】
（３）近傍ゲートウェイ計算部１０７は、通信頻度が低いゲートウェイについて、1回の通信で流れるデータのサイズから、各ゲートウェイ２００の負荷が高いか否かを判定する。近傍ゲートウェイ計算部１０７は、あるゲートウェイ２００の負荷が高い場合、そのゲートウェイ２００の優先度を下げる。
【００９１】
他の一例として、近傍ゲートウェイ計算部１０７は、通信エラー発生回数に着目し、各ゲートウェイ２００について、通信エラー発生回数が少ない順に、高い優先度を設定してもよい。
【００９２】
更に他の一例として、近傍ゲートウェイ計算部１０７は、平均送受信データサイズに着目し、各ゲートウェイ２００について、平均送受信データサイズが小さい順に、より高い優先度を設定してもよい。平均送受信データサイズは、各ゲートウェイ２００の通信処理の負荷に関連し得る。よって、近傍ゲートウェイ計算部１０７は、例えば、平均送受信データサイズが小さい（即ち、通信処理に関する負荷が比較的低い）ゲートウェイ２００について、高い優先度を設定してもよい。同様に、近傍ゲートウェイ計算部１０７は、通信頻度に着目し、通信頻度が低い（通信処理に関する負荷が比較的低い）ゲートウェイ２００について、より高い優先度を設定してもよい。
【００９３】
更に他の一例として、近傍ゲートウェイ計算部１０７は、通信頻度に着目し、通信頻度が低いゲートウェイ２００について、より高い優先度を設定してもよい。
【００９４】
更に他の一例として、近傍ゲートウェイ計算部１０７は、通信エラー発生回数、平均送受信データサイズ、及び、通信頻度から、特定の計算式を用いて優先度を算出してもよい。係る計算式として、例えば、通信エラー発生回数が低く、平均送受信データサイズが小さい程、高い優先度が算出されるような計算式を用いることができる。係る計算式の単純な例として、例えば、以下の式１及び式２を用いてもよい。
【００９５】
（各ゲートウェイ２００の優先度）＝（Ａ／（平均データサイズ））＋（Ｂ／（エラー発生回数））・・・（式１）。
【００９６】
ただし、式１において、Ａ、Ｂは、適宜選択可能な係数であり、”／”は除算記号である。
【００９７】
（各ゲートウェイ２００の優先度）＝（Ａ／（平均データサイズ））＋（Ｂ／（エラー発生回数））＋（Ｃ／（通信頻度））・・・（式２）。
【００９８】
ただし、式２において、Ａ、Ｂ、Ｃは適宜選択可能な係数であり、”／”は除算記号である。
【００９９】
近傍ゲートウェイ計算部１０７は、ゲートウェイ通信部１０２を介して、優先度付けされた近傍ゲートウェイ２００の一覧（リスト）を、各ゲートウェイ２００に通知（送信）する（ステップＳ５０５）。優先度付けされた近傍ゲートウェイ２００の一覧は、例えば、図１０に例示するような形式により表されてもよいが、本実施形態はこれに限定されるものではない。
【０１００】
各ゲートウェイ２００は、バックエンドサーバ１００から受信した近傍ゲートウェイ２００の一覧を用いて、近傍ゲートウェイ格納部２０６を更新する。これにより、各ゲートウェイ２００は、バックエンドサーバ１００との通信に失敗した際、各ゲートウェイの位置情報（近傍ゲートウェイか否か）、単位時間あたりの通信頻度、送受信データ量等の統計情報を用いて算出された優先度に応じて、通信処理を移譲する他のゲートウェイ２００を選択することができる。
【０１０１】
上記のように構成された本実施形態における情報通信システム１によれば、ゲートウェイ２００と、バックエンドサーバ１００と間の通信に障害が発生しても、他のゲートウェイ２００を経由して、センサデバイス３００において取得されたデータを、バックエンドサーバ１００に転送することができる。即ち、本実施形態における情報通信システム１は、障害が発生した状況においても、通信データを適切に転送することが可能である。その理由は以下の通りである。
【０１０２】
本実施形態におけるゲートウェイ２００は、バックエンドサーバ１００との間の通信に障害が発生した際、近傍のゲートウェイ２００を適切に特定することができる。即ち、ゲートウェイ２００は、各ゲートウェイの位置情報（例えば、近傍ゲートウェイか否か）、単位時間あたりの通信頻度、送受信データ量（通信量）等の統計情報を用いて算出された優先度に応じて、データの転送処理を移譲する他の近傍ゲートウェイ２００を特定できる。ゲートウェイ２００は、特定した近傍ゲートウェイ２００にデータを送信し、近傍ゲートウェイ２００が、そのデータをバックエンドサーバに転送する。また、仮にある近傍ゲートウェイ２００が、データの転送処理の移譲を受け付けられない場合、その近傍ゲートウェイ２００が、更に他の近傍ゲートウェイ２００に対して転送処理の移譲することができる。これにより、いずれかの近傍ゲートウェイ２００が、データをバックエンドサーバ１００に転送することで、センサデバイス３００において取得されたデータは、最終的に、バックエンドサーバ１００に転送されることになるからである。
【０１０３】
また、上記したように、バックエンドサーバ１００は、各ゲートウェイ２００について、各ゲートウェイ２００の位置情報、単位時間あたりの通信頻度、送受信データ量等の統計情報を用いて算出された優先度が設定された近傍ゲートウェイ２００の一覧を提供する。係る優先度には、各ゲートウェイ２００の負荷状況が反映されていると考えられる。これにより、ゲートウェイ２００は、稼働している他のゲートウェイ２００の中から、その負荷に応じて、適切な中継ゲートウェイ２００を選択することが可能である。
【０１０４】
［変形例］
以下、第１実施形態の変形例について説明する。本変形例においては、バックエンドサーバ１００における近傍ゲートウェイ計算部１０７の処理が、第１実施形態から変更されている。バックエンドサーバ１００、ゲートウェイ２００、及び、センサデバイス３００におけるその他の構成は、上記第１実施形態と同様としてよい。
【０１０５】
第１実施形態においては、バックエンドサーバ１００における近傍ゲートウェイ計算部１０７は、各ゲートウェイ２００から通信可能なセンサ一覧を直接的に取得する。これに対して本変形例における近傍ゲートウェイ計算部１０７は、受信データ格納部１０６に記憶された受信データに記録された、センサデバイス３００に関する情報と、ゲートウェイ２００（送信元のゲートウェイ２００、及び、中継ゲートウェイ２００）に関する情報とを取得する。センサデバイス３００から送信されたデータが、バックエンドサーバ１００に到達するまでに経由したゲートウェイ２００を特定可能な情報は、受信データ格納部に記憶された受信データに記録されている。これより、本変形例における近傍ゲートウェイ計算部１０７は、取得した情報を用いて、例えば、送信元のゲートウェイ２００と、センサデバイス３００とが通信可能であることを判定してもよい。
【０１０６】
＜第２実施形態＞
以下、本開示に係る技術の基本的な実施形態である、第２実施形態について説明する。
第２実施形態は、上記説明した第１実施形態及びその変形例の基礎となる実施形態である。
【０１０７】
図１１は、本実施形態におけるゲートウェイ１１００の機能的な構成を例示するブロック図である。図１１に例示するように、本実施形態におけるゲートウェイ１１００は、制御部１１０１と、通信部１１０２と、を含む。ゲートウェイ１１００を構成するこれらの構成要素の間は、適宜通信可能に接続されていてよい。本実施形態におけるゲートウェイ１１００は、例えば、コンピュータ等の情報処理装置を用いて実現されてもよく、専用のハードウェアの組合せにより実現されてもよい。なお、ゲートウェイ１１００を、情報通信装置１１００と記載することがある。
【０１０８】
以下、ゲートウェイ１１００の各構成要素について説明する。
【０１０９】
通信部１１０２（通信手段）は、通信ネットワークを介してデータを送受信可能に構成され、デバイスから送信されたデータを受信する。デバイスは、例えば、上記第１実施形態におけるセンサデバイス３００であってもよい。また、第１情報処理装置は、上記第１実施形態におけるバックエンドサーバ１００であってもよい。通信部１１０２は、例えば、上記第１実施形態におけるゲートウェイ２００を構成する第１通信部２０２及び第２通信部２０３と同様の機能を実現するよう実装されてもよい。
【０１１０】
制御部１１０１（制御手段）は、通信部１１０２が受信したデータを含む送信データを作成し、作成した送信データを第１情報処理装置に送信するよう、通信部１１０２を制御する。
【０１１１】
制御部１１０１は、第１情報処理装置に対する送信データの送信に失敗した場合、第１情報処理装置に対して送信データを送信可能な他の情報処理装置である１以上の第２情報処理装置に関する以下の情報に基づいて、送信データを送信する処理を移譲する第２情報処理装置を特定する。即ち、制御部１１０１は、各第２情報処理装置の配置に関する情報（位置情報）と、各第２情報処理装置における通信に関する統計情報に応じて決定される優先度とに応じて、送信データを送信する処理を移譲する第２情報処理装置を特定する。制御部１１０１は、特定した第２情報処理装置に送信データを転送するよう通信部１１０２を制御する。
【０１１２】
第２情報処理装置は、例えば、ゲートウェイ１１００と同様に構成された装置であってもよく、第１実施形態におけるゲートウェイ２００と同様に構成された装置であってもよい。制御部１１０１は、例えば、上記第１実施形態におけるゲートウェイ２００を構成するゲートウェイ制御部２０１と同様の機能を実現するよう実装されてもよい。
【０１１３】
ここで、第２情報処理装置の配置に関する情報（位置情報）は、例えば、自装置（ゲートウェイ１１００）と、第２情報処理装置とが、近傍に存在するか否かを判定可能な情報であってもよい。位置情報は、例えば、第１実施形態における「近傍ゲートウェイ２００」を特定可能な情報であってもよい。
【０１１４】
具体的には、位置情報には、自装置（ゲートウェイ１１００）と、第２情報処理装置と、の両方と通信可能なデバイスを特定する情報が含まれてもよい。この場合、ゲートウェイ１１００は、同じデバイスと通信可能な第２情報処理装置を、近傍に存在する第２情報処理装置と特定することができる。
【０１１５】
なお、本実施形態はこれに限定されず、位置情報は、他の基準に従って近傍の第２情報処理装置を特定可能な情報であってもよい。例えば、自装置（ゲートウェイ１１００）との間のネットワーク上の距離（例えばホップ数など）が位置情報に含まれてもよい。この場合、ゲートウェイ１１００は、ネットワーク上の距離が特定の基準値よりも近い他の第２情報処理装置を、近傍に存在する第２情報処理装置と特定することができる。また、例えば、第２情報処理装置のネットワークアドレスが、位置情報に含まれてもよい。この場合、ゲートウェイ１１００は、同一のネットワーク（例えば、同一のサブネット）上に存在する他の第２情報処理装置を、近傍に存在する第２情報処理装置と特定することができる。また、各第２情報処理装置の物理的な配置場所が既知である場合、その配置場所が位置情報に含まれてもよい。この場合、ゲートウェイ１１００は、自装置の物理的な配置場所と近い（例えば、配置場所間の距離が基準値以下である）他の第２情報処理装置を、近傍に存在する第２情報処理装置と特定することができる。
【０１１６】
ここで、優先度は、例えば、各第２情報処理装置における通信に関する統計情報に応じて決定される値である。具体的には、優先度は、例えば、各第２情報処理装置の位置情報（ゲートウェイ１１００と、第２情報処理装置の位置関係）、第２情報処理装置における送受信データ量、第２情報処理装置における単位時間あたりの通信頻度、第２情報処理装置と第１情報処理装置との間の通信障害の発生回数、等の統計情報のうち、いずれか１以上の情報に基づいて算出されてよい。例えば、これらの統計情報に基づいて、通信処理に関する負荷が比較的低い第２情報処理装置に対して、比較的高い優先度が設定されてもよい。また、例えば、これらの統計情報に基づいて、通信障害の発生頻度が比較的低い第２情報処理装置に対して、比較的高い優先度が設定されてもよい。
【０１１７】
第２情報処理装置の優先度は、例えば、ゲートウェイ１１００により算出されてもよい。この場合、ゲートウェイ１１００が、各第２情報処理装置から、その第２情報処理装置における通信に関する統計情報を取得し、その優先度を計算してもよい。また、第２情報処理装置の優先度は、例えば、第１情報処理装置等の外部の装置から適宜提供されてもよい。この場合、例えば、第１情報処理装置が、各第２情報処理装置から、その第２情報処理装置における通信に関する統計情報を取得し、その優先度を計算し、ゲートウェイ１１００に提供してもよい。
【０１１８】
第２情報処理装置及びその優先度のリストは、予めゲートウェイ１１００に設定されていてもよい。また、第２情報処理装置及びその優先度のリストは、第１情報処理装置等の外部の装置から適宜提供されてもよい。制御部１１０１は、例えば、データベースやファイル等の適切な記憶方法を用いて、優先度が設定された他の第２情報処理装置のリストを保持していてもよい。
【０１１９】
上記のように構成された、本実施形態におけるゲートウェイ１１００の動作について説明する。
【０１２０】
ゲートウェイ１１００は、デバイスからデータを受信する。例えば、デバイスがセンサを含む場合、受信したデータは、センサにより計測された計測値を含んでもよい。ゲートウェイ１１００は、受信したデータを複数記憶してもよい。
【０１２１】
ゲートウェイ１１００は、デバイスから受信したデータを、第１情報処理装置に送信する。この際、ゲートウェイ１１００は、受信したデータを複数まとめて、第１情報処理装置に送信してもよい。なお、この際、ゲートウェイ１１００は、自装置を特定可能なＩＤを追加するなど、受信したデータを適宜加工してから、第１情報処理装置に送信してもよい。
【０１２２】
ゲートウェイ１１００は、例えば、通信障害等により、第１情報処理装置との間の通信に失敗した場合、他の第２情報処理装置に設定された優先度に応じて、通信処理を移譲する第２情報処理装置を選択する。ゲートウェイ１１００は、例えば、他の第２情報処理装置及びその優先度のリストを参照し、最も優先度が高い第２情報処理装置を選択してもよい。
【０１２３】
ゲートウェイ１１００は、選択した第２情報処理装置に、デバイスから受信したデータを転送する。ゲートウェイ１１００からデータを転送された第２情報処理装置は、そのデータを、第１情報処理装置に転送してよい。
【０１２４】
上記のように構成された本実施形態におけるゲートウェイ１１００によれば、障害が発生した状況においても、通信データを適切に転送することが可能である。その理由は、ゲートウェイ１１００は、障害が発生した際、優先度に応じて適切な第２情報処理装置を選択し、選択した第２情報処理装置にデータの送信処理を移譲することができるからである。
【０１２５】
以上の各実施形態及び変形例を用いて説明した本開示に係る技術は、例えば、ＩｏＴを活用したシステムにおいて、センサデバイスからのデータを集約してバックエンドサーバに送信するゲートウェイが複数存在する場合に、好適に適用可能である。
【０１２６】
＜ハードウェア及びソフトウェア・プログラム（コンピュータ・プログラム）の構成＞  以下、各実施形態及び変形例におけるバックエンドサーバ１００、ゲートウェイ（２００、１１００）を実現可能なハードウェア構成について説明する。
【０１２７】
以下の説明においては、上記各実施形態において説明したバックエンドサーバ１００及びゲートウェイ（２００，１１００）を、まとめて単に「情報通信装置」と記載する。
【０１２８】
上記各実施形態において説明した情報通信装置は、それぞれ１つ又は複数の専用のハードウェア装置により構成されてもよい。その場合、上記各図（例えば、図１Ｂ、１Ｃ、図１１）に示した各構成要素は、一部又は全部を統合したハードウェア（処理ロジックを実装した集積回路等）として実現してもよい。即ち、例えば、情報通信装置をハードウェア装置により実現する場合、情報通信装置の構成要素は、それぞれの機能を提供可能な集積回路（例えば、ＳｏＣ（Ｓｙｓｔｅｍ  ｏｎ  ａ  Ｃｈｉｐ）等）として実装されてもよい。この場合、例えば、情報通信装置の構成要素が有するデータは、ＳｏＣに統合されたＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）領域やフラッシュメモリ領域に記憶されてもよい。
【０１２９】
この場合、バックエンドサーバ１００は、例えば、サーバ制御部１０１、ゲートウェイ通信部１０２、統計情報計算部１０３、受信データ加工部１０４、統計情報格納部１０５、受信データ格納部１０６、及び、近傍ゲートウェイ計算部１０７の機能を実現可能な、１以上の処理回路（ｐｒｏｃｅｓｓｉｎｇ  ｃｉｒｃｕｉｔｒｙ）、通信回路、及び記憶回路（記憶素子）等を用いて実現されてよい。ゲートウェイ２００は、例えば、ゲートウェイ制御部２０１、サーバ通信部２０２、センサ・ゲートウェイ通信部２０３、受信データ加工部２０４、受信データ格納部２０５、及び、近傍ゲートウェイ格納部２０６の機能を実現可能な、１以上の処理回路、通信回路、及び記憶回路（記憶素子）等を用いて実現されてよい。ゲートウェイ１１００は、制御部１１０１、通信部１１０２の機能を実現可能な、１以上の処理回路、通信回路、及び記憶回路（記憶素子）等を用いて実現されてよい。なお、各情報通信装置を実現する回路構成の実装においては、様々なバリエーションが想定される。
【０１３０】
情報通信装置を複数のハードウェア装置により構成する場合、それぞれのハードウェア装置の間は、適切な通信方法（有線、無線、またはそれらの組み合わせ）により通信可能に接続されていてもよい。
【０１３１】
また、上述した情報通信装置は、図１２に例示するような汎用のハードウェア装置１２００と、ハードウェア装置１２００によって実行される各種ソフトウェア・プログラム（コンピュータ・プログラム）とによって構成されてもよい。
【０１３２】
図１２におけるプロセッサ１２０１は、例えば、汎用のＣＰＵ（中央処理装置：Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）やマイクロプロセッサである。プロセッサ１２０１は、例えば、後述する不揮発性記憶装置１２０３に記憶された各種ソフトウェア・プログラムをメモリ１２０２に読み出し、そのソフトウェア・プログラムに従って処理を実行してもよい。この場合、上記各実施形態における情報通信装置の構成要素は、例えば、プロセッサ１２０１により実行されるソフトウェア・プログラムとして実現可能である。
【０１３３】
この場合、バックエンドサーバ１００は、例えば、サーバ制御部１０１、ゲートウェイ通信部１０２、統計情報計算部１０３、受信データ加工部１０４、統計情報格納部１０５、受信データ格納部１０６、及び、近傍ゲートウェイ計算部１０７の機能を実装した１以上のプログラムにより実現されてよい。ゲートウェイ２００は、例えば、ゲートウェイ制御部２０１、サーバ通信部２０２、センサ・ゲートウェイ通信部２０３、受信データ加工部２０４、受信データ格納部２０５、及び、近傍ゲートウェイ格納部２０６の機能を実装した１以上のプログラムにより実現されてよい。ゲートウェイ１１００は、制御部１１０１、通信部１１０２の機能を実装した１以上のプログラムにより実現されてよい。なお、係るプログラムの実装においては、様々なバリエーションが想定される。
【０１３４】
メモリ１２０２は、プロセッサ１２０１から参照可能な、ＲＡＭ等のメモリデバイスであり、ソフトウェア・プログラムや各種データ等を記憶する。なお、メモリ１２０２は、揮発性のメモリデバイスであってもよい。
【０１３５】
不揮発性記憶装置１２０３は、例えば磁気ディスクドライブや、半導体記憶装置（フラッシュメモリ等）のような、不揮発性の記憶装置である。不揮発性記憶装置１２０３は、各種ソフトウェア・プログラムやデータ等を記憶可能である。例えば、バックエンドサーバ１００における統計情報格納部１０５及び受信データ格納部１０６が記憶するデータは、不揮発性記憶装置１２０３に記憶されてもよい。同様に、ゲートウェイ２００における受信データ格納部２０５及び近傍ゲートウェイ格納部２０６が記憶するデータは、不揮発性記憶装置１２０３に記憶されてもよい。
【０１３６】
リーダライタ１２０４は、例えば、後述する記録媒体１２０５に対するデータの読み込みや書き込みを処理する装置である。
【０１３７】
記録媒体１２０５は、例えば光ディスク、光磁気ディスク、半導体フラッシュメモリ等、データを記録可能な記録媒体である。本開示において、記録媒体の種類及び記録方法（フォーマット）は、特に限定されず、適宜選択されてよい。
【０１３８】
ネットワークインタフェース１２０６は、通信ネットワークに接続するインタフェース装置であり、例えば、有線及び無線のＮＩＣ（Ｎｅｔｗｏｒｋ  Ｉｎｔｅｒｆａｃｅ  Ｃａｒｄ）等を採用してもよい。例えば、バックエンドサーバ１００におけるゲートウェイ通信部１０２は、ネットワークインタフェース１２０６を介して、ゲートウェイ２００と通信するよう構成されてよい。また、例えば、ゲートウェイ２００におけるサーバ通信部２０２は、ネットワークインタフェース１２０６を介して、バックエンドサーバ１００と通信するよう構成されてよい。また、ゲートウェイ２００におけるセンサ・ゲートウェイ通信部２０３は、ネットワークインタフェース１２０６を介して、センサデバイス３００及び他のゲートウェイ２００と通信するよう構成されてもよい。また、例えば、ゲートウェイ１１００における通信部１１０２は、ネットワークインタフェース１２０６を介して、第１情報処理装置、第２情報処理装置、及び、デバイスと通信するよう構成されてもよい。
【０１３９】
本開示に係る技術は、例えば、ハードウェア装置１２００に対して供給されたソフトウェア・プログラムを、プロセッサ１２０１が実行することによって、実現されてもよい。この場合、ハードウェア装置１２００で稼働しているオペレーティングシステムや、データベース管理ソフト、ネットワークソフト等のミドルウェアなどが、各処理の一部を実行してもよい。
【０１４０】
上述した各実施形態において、上記各図に示した各部は、上述したハードウェアにより実行されるソフトウェア・プログラムの機能（処理）の単位である、ソフトウェアモジュールとして実現されてもよい。例えば、上記各部をソフトウェアモジュールとして実現する場合、これらのソフトウェアモジュールは、不揮発性記憶装置１２０３に記憶されてもよい。そして、プロセッサ１２０１が、それぞれの処理を実行する際に、これらのソフトウェアモジュールをメモリ１２０２に読み出してもよい。また、これらのソフトウェアモジュールは、共有メモリやプロセス間通信等の適宜の方法により、相互に各種データを伝達できるように構成されてもよい。
【０１４１】
更に、上記各ソフトウェア・プログラムは、記録媒体１２０５に記録されてもよい。この場合、上記各ソフトウェア・プログラムは、適当な治具（ツール）を利用してハードウェア装置１２００内にインストールされてもよい。また、各種ソフトウェア・プログラムは、インターネット等の通信回線を介して外部からダウンロードされてもよい。ソフトウェア・プログラムを供給する方法として、各種の一般的な手順を採用することができる。
【０１４２】
このような場合において、本開示に係る技術は、ソフトウェア・プログラムを構成するコード、あるいはコードが記録されたところの、コンピュータ読み取り可能な記録媒体によって構成されてもよい。この場合、記録媒体は、ハードウェア装置１２００と独立した非一時的な記録媒体であってもよく、ＬＡＮやインターネットなどにより伝送されたソフトウェア・プログラムをダウンロードして記憶又は一時記憶した記録媒体であってもよい。
【０１４３】
また、上述した情報通信装置、あるいは、情報通信装置の構成要素は、図１２に例示するハードウェア装置１２００を仮想化した仮想環境と、その仮想環境において実行されるソフトウェア・プログラム（コンピュータ・プログラム）とによって構成されてもよい。この場合、図１２に例示するハードウェア装置１２００の構成要素は、仮想環境における仮想デバイスとして提供される。
【０１４４】
以上、本開示に係る技術を、上述した模範的な実施形態に適用した例として説明した。しかしながら、本開示に係る技術の範囲は、上述した各実施形態に記載した範囲には限定されない。当業者には、上記したような実施形態に対して多様な変更又は改良を加えることが可能であることは明らかである。そのような場合、変更又は改良を加えた新たな実施形態も、本開示に係る技術の範囲に含まれ得る。更に、上述した各実施形態、あるいは、係る変更又は改良を加えた新たな実施形態を組み合わせた実施形態も、本開示に係る技術の範囲に含まれ得る。そしてこのことは、請求の範囲に記載した事項から明らかである。
【０１４５】
この出願は２０１７年９月１４日に出願された日本出願特願２０１７−１７６８１０を基礎とする優先権を主張し、その開示の全てをここに取り込む。
【符号の説明】
【０１４６】
１００    バックエンドサーバ
１０１    サーバ制御部
１０２    ゲートウェイ通信部
１０３    統計情報計算部
１０４    受信データ加工部
１０５    統計情報格納部
１０６    受信データ格納部
１０７    近傍ゲートウェイ計算部
２００    ゲートウェイ
２０１    ゲートウェイ制御部
２０２    サーバ通信部（第１通信部）
２０３    センサ・ゲートウェイ通信部（第２通信部）
２０４    受信データ加工部
２０５    受信データ格納部
２０６    近傍ゲートウェイ格納部
３００    センサデバイス
３０１    ゲートウェイ通信部
３０２    データ取得部
１１００    ゲートウェイ
１１０１    制御部
１１０２    通信部
【図１Ａ】
2019054435.tif 000003
【図１Ｂ】
2019054435.tif 000004
【図１Ｃ】
2019054435.tif 000005
【図１Ｄ】
2019054435.tif 000006
【図２】
2019054435.tif 000007
【図３Ａ】
2019054435.tif 000008
【図３Ｂ】
2019054435.tif 000009
【図４】
2019054435.tif 000010
【図５】
2019054435.tif 000011
【図６】
2019054435.tif 000012
【図７】
2019054435.tif 000013
【図８Ａ】
2019054435.tif 000014
【図８Ｂ】
2019054435.tif 000015
【図９Ａ】
2019054435.tif 000016
【図９Ｂ】
2019054435.tif 000017
【図１０】
2019054435.tif 000018
【図１１】
2019054435.tif 000019
【図１２】
2019054435.tif 000020
【手続補正書】
【提出日】令和2年2月19日(2020.2.19)
【手続補正２】
【補正対象書類名】特許請求の範囲
【補正対象項目名】請求項１０
【補正方法】変更
【補正の内容】
【請求項１０】
通信ネットワークを介して、デバイスから送信されたデータを受信する処理と、
受信したデータを含む送信データを作成し、情報処理装置である第１情報処理装置に対して前記送信データを送信する処理と、
前記第１情報処理装置に対する前記送信データの送信に失敗した場合、前記第１情報処理装置に対して前記送信データを送信可能な他の情報処理装置である１以上の第２情報処理装置に関する情報である、各前記第２情報処理装置の配置に関する情報と、各前記第２情報処理装置における通信に関する統計情報に応じて決定される優先度を表す情報と、に基づいて、前記送信データを送信する処理を移譲する前記第２情報処理装置を特定し、特定した前記第２情報処理装置に前記送信データを転送する処理と、をコンピュータに実行させる
コンピュータ・プログラム。
【国際調査報告】
2019054435.tif 000021
2019054435.tif 000022
2019054435.tif 000023
2019054435.tif 000024