(57)【要約】【課題】  中継装置のリソースを効率的に利用するようにセンサの中継装置を選択する中継装置の選択方法、中継装置の選択プログラム、及び、情報処理システムを提供する。【解決手段】  処理部が、１又は複数の機器から前記機器のセンサが検出したセンサデータを収集し、前記センサに応じて規定された１又は複数の処理を実行し処理結果を出力する複数の中継装置のうち、特定の中継装置が前記処理の対象とする特定のセンサを他の中継装置の前記処理の対象に変更する際に、該特定のセンサに応じて規定された１又は複数の処理のうち、前記中継装置が前記処理の対象とする、各センサに応じて規定された処理の集合に含まれない処理の数がより少ない前記中継装置を、前記他の中継装置の候補として選択する。【選択図】図４
2016171472.tif 000002
【特許請求の範囲】
【請求項１】
処理部が、１又は複数の機器から前記機器のセンサが検出したセンサデータを収集し、前記センサに応じて規定された１又は複数の処理を実行し処理結果を出力する複数の中継装置のうち、特定の中継装置が前記処理の対象とする特定のセンサを他の中継装置の前記処理の対象に変更する際に、該特定のセンサに応じて規定された１又は複数の処理のうち、前記中継装置が前記処理の対象とする、各センサに応じて規定された処理の集合に含まれない処理の数がより少ない前記中継装置を、前記他の中継装置の候補として選択する、
中継装置の選択方法。
【請求項２】
処理部が、１又は複数の機器から前記機器のセンサが検出したセンサデータを収集し、前記センサに応じて規定された１又は複数の処理を実行し処理結果を出力する複数の中継装置から、各センサの前記処理を実行する前記中継装置を選択する際に、前記中継装置が前記処理の対象とするセンサに応じて規定された処理の、前記複数の中継装置における合計数がより少ない前記各センサの前記中継装置を、前記中継装置の候補として選択する、
中継装置の選択方法。
【請求項３】
請求項１または２において、
前記選択は、前記中継装置内の前記処理の並列数が、前記処理に応じて規定された所定値を超えない前記中継装置を、前記候補として選択する、
中継装置の選択方法。
【請求項４】
請求項３において、
前記選択は、さらに、仮想マシンにしたがって構成する前記中継装置内の前記処理の前記並列数が、前記処理に応じて規定された所定値を超えない前記中継装置の配備数を算出し、算出した前記配備数の前記中継装置から前記中継装置の候補を選択する、
中継装置の選択方法。
【請求項５】
請求項１乃至４のいずれかにおいて、
前記選択は、選択した前記中継装置の候補が、前記中継装置の性能に関する条件、前記機器との接続数に関する条件のいずれか又は両方を満たしていない場合、さらに、選択した前記中継装置の候補が前記処理の対象とする一部のセンサの前記処理を代行する中継装置を選択する、
中継装置の選択方法。
【請求項６】
１又は複数の機器から前記機器のセンサが検出したセンサデータを収集し、前記センサに応じて規定された１又は複数の処理を実行し処理結果を出力する複数の中継装置のうち、特定の中継装置が前記処理の対象とする特定のセンサを他の中継装置の前記処理の対象に変更する際に、該特定のセンサに応じて規定された１又は複数の処理のうち、前記中継装置が前記処理の対象とする、各センサに応じて規定された処理の集合に含まれない処理の数がより少ない前記中継装置を、前記他の中継装置の候補として選択する、
処理をコンピュータに実行させる中継装置の選択プログラム。
【請求項７】
１又は複数の機器から前記機器のセンサが検出したセンサデータを収集し、前記センサに応じて規定された１又は複数の処理を実行し処理結果を出力する複数の中継装置から、各センサの前記処理を実行する前記中継装置を選択する際に、前記中継装置が前記処理の対象とするセンサに応じて規定された処理の、前記複数の中継装置における合計数がより少ない前記各センサの前記中継装置を、前記中継装置の候補として選択する、
処理をコンピュータに実行させる中継装置の選択プログラム。
【請求項８】
センサが検出したセンサデータをそれぞれ送信する複数の機器と、
１又は複数の機器から前記センサデータを収集し、前記センサに応じて規定された１又は複数の処理を実行し処理結果を出力する複数の中継装置と、
前記処理結果を受信する情報処理装置と、を有し、
前記情報処理装置は、前記複数の中継装置のうち、特定の中継装置が前記処理の対象とする特定のセンサを他の中継装置の前記処理の対象に変更する際に、該特定のセンサに応じて規定された１又は複数の処理のうち、前記中継装置が前記処理の対象とする、各センサに応じて規定された処理の集合に含まれない処理の数がより少ない前記中継装置を、前記他の中継装置の候補として選択する処理部、を有する、
情報処理システム。
【請求項９】
センサが検出したセンサデータをそれぞれ送信する複数の機器と、
１又は複数の機器から前記センサデータを収集し、前記センサに応じて規定された１又は複数の処理を実行し処理結果を出力する複数の中継装置と、
前記処理結果を受信する情報処理装置と、を有し、
前記情報処理装置は、前記複数の中継装置から、各センサの前記処理を実行する前記中継装置を選択する際に、前記中継装置が前記処理の対象とするセンサに応じて規定された処理の、前記複数の中継装置における合計数がより少ない前記各センサの前記中継装置を、前記中継装置の候補として選択する処理部、を有する、
情報処理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、中継装置の選択方法、中継装置の選択プログラム、及び、情報処理システムに関する。
【背景技術】
【０００２】
センサを備える複数のデバイスのそれぞれが取得したデータを、中継装置を経由して収集し、収集したデータに基づいて所定の処理を行う情報処理システムがある。情報処理システムは、携帯端末等の複数のデバイス、複数の中継装置、及び、情報処理装置を有する。
【０００３】
デバイスはセンサが検出したセンサデータを中継装置に送信し、中継装置は、受信したセンサデータに対してセンサに応じた処理を実行して処理結果を情報処理装置に送信する。中継装置は、センサデータの収集対象とする、センサに応じた処理を実行するアプリケーションを搭載する。
【０００４】
センサネットワークシステムの処理に関連する技術については特許文献１、２に開示される。また、仮想マシンを実行するコンピュータの通信に関する技術については特許文献３に、異なる機能を備える装置が混在するシステムについては、特許文献４に開示される。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特表２０１０−５２７４７３号公報
【特許文献２】特開２００６−３４４０１７号公報
【特許文献３】特表２００９−５４５２４４号公報
【特許文献４】特開２００５−１３５２１２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、ＩｏＴ（internet of things：ＩｏＴ）の発展によりデバイスの多様化が進み、情報処理システムが、様々な種類のセンサのセンサデータを収集するようになっている。また、種類が同一のセンサであっても、センサのバージョンやベンダー等が異なる場合がある。
【０００７】
中継装置がセンサデータに対して行う処理の内容は、センサの種類やバージョン、ベンダー等に応じて異なる。複数の異なるセンサのセンサデータを収集する場合、中継装置は、各センサに応じた処理を実行するアプリケーションを搭載する。したがって、収集対象のセンサに応じて、中継装置が搭載するアプリケーションの数が増加し、アプリケーションが使用するリソース量が大きくなる場合がある。
【０００８】
一方、中継装置は、デバイスの移動に応じて、当該デバイスのセンサデータを新たに収集する場合がある。当該デバイスのセンサに応じた処理を実行するアプリケーションを搭載していない場合、中継装置は新たに当該アプリケーションを搭載する。したがって、中継装置は、新たなアプリケーションの配備に備えて、空きリソースを有していることが望ましい。
【０００９】
１つの側面は、本発明は、中継装置のリソースを効率的に利用するようにセンサの中継装置を選択する中継装置の選択方法、中継装置の選択プログラム、及び、情報処理システムを提供することを目的とする。
【課題を解決するための手段】
【００１０】
第１の側面によれば、処理部が、１又は複数の機器から前記機器のセンサが検出したセンサデータを収集し、前記センサに応じて規定された１又は複数の処理を実行し処理結果を出力する複数の中継装置のうち、特定の中継装置が前記処理の対象とする特定のセンサを他の中継装置の前記処理の対象に変更する際に、該特定のセンサに応じて規定された１又は複数の処理のうち、前記中継装置が前記処理の対象とする、各センサに応じて規定された処理の集合に含まれない処理の数がより少ない前記中継装置を、前記他の中継装置の候補として選択する。
【発明の効果】
【００１１】
第１の側面によれば、中継装置のリソースを効率的に利用するように、センサのセンサデータを処理する中継装置を選択できる。
【図面の簡単な説明】
【００１２】
【図１】本実施の形態における情報処理システム１００のネットワーク構成を説明する図である。
【図２】本実施の形態におけるセンサの一例を示す図である。
【図３】各センサのセンサデータを収集する中継装置２０の第１の選択例を示す図である。
【図４】各センサのセンサデータを収集する中継装置２０の第２の選択例を示す図である。
【図５】本実施の形態における、移動したデバイス３０の中継装置２０の選択例を示す図である。
【図６】中継装置２０を仮想マシンにしたがって実現する場合の情報処理システム１００の構成を説明する図である。
【図７】図１、図６に示した中央サーバ１０のハードウェア構成図である。
【図８】図７に示した、センサ一覧情報１１１の一例を説明する図である。
【図９】図７に示した、アプリケーション一覧情報１１２の一例を説明する図である。
【図１０】図７に示した、中継装置一覧情報１１３の一例を説明する図である。
【図１１】図７に示した中央サーバ１０の仮想マシン配備プログラム１１０のソフトウェアブロック図である。
【図１２】図６に示した中継装置２０を有する物理マシン４０のハードウェア構成図である。
【図１３】図１２に示した仮想マシン１データ２３１のソフトウェアブロック図である。
【図１４】図１、図６に示したデバイス３０のハードウェア構成図である。
【図１５】図１、図６に示したデバイス３０のソフトウェアブロック図である。
【図１６】図１１に示した、中央サーバ１０の仮想マシン配備プログラム１１０の処理を説明するフローチャート図である。
【図１７】図１１に示した配備命令作成モジュール１２３の処理１（図１６のＳ１１）の流れを説明する第１のフローチャート図である。
【図１８】図１７の工程Ｓ２２〜Ｓ２４を説明する図である。
【図１９】図１１に示した配備命令作成モジュール１２３の処理１（図１６のＳ１１）の流れを説明する第２のフローチャート図である。
【図２０】図１１に示した配備命令作成モジュール１２３の処理１（図１６のＳ１１）の流れを説明する第３のフローチャート図である。
【図２１】図１１に示した配備命令作成モジュール１２３の処理２（図１６のＳ１３、図２０のＳ４４）の流れを説明する第１のフローチャート図である。
【図２２】本実施の形態における装置２〜４が処理対象とするセンサを示す図である。
【図２３】図１１に示した配備命令作成モジュール１２３の処理２（図１６のＳ１３、図２０のＳ４４）の流れを説明する第２のフローチャート図である。
【図２４】図１１に示した配備命令作成モジュール１２３の処理２（図１６のＳ１３、図２０のＳ４４）の流れを説明する第３のフローチャート図である。
【図２５】図１１に示した配備命令作成モジュール１２３の処理３（図１６のＳ１６）の流れを説明するフローチャート図である。
【発明を実施するための形態】
【００１３】
以下、図面にしたがって本発明の実施の形態について説明する。ただし、本発明の技術的範囲はこれらの実施の形態に限定されず、特許請求の範囲に記載された事項とその均等物まで及ぶものである。
【００１４】
［情報処理システム］
図１は、本実施の形態における情報処理システム１００の構成を説明する図である。図１の情報処理システム１００は、中央サーバ（情報処理装置）１０と、複数の中継装置２０−１〜２０−９（中継装置２０ともいう）と、複数のデバイス３０−１ａ〜３０−４ｅ（機器、デバイス３０ともいう）とを有する。情報処理システム１００は、実際には多数のデバイス３０を有する。
【００１５】
各デバイス３０は、ＬＴＥ（Long Term Evolution：ＬＴＥ）やブルートゥース（Bluetooth（登録商標））等の規格に基づく無線通信を介して、中継装置２０と接続する。また、中継装置２０は、例えば、有線通信を介して、中央サーバ１０と接続する。なお、中継装置２０は、無線通信を介して、中央サーバ１０と接続してもよい。
【００１６】
図１の例によると、領域ｅｒＡに位置するデバイス３０−１ａ〜３０−１ｈは、中継装置２０−１〜２０−３から所定の距離範囲内に位置し、中継装置２０−１〜２０−３と通信可能である。同様にして、領域ｅｒＢに位置するデバイス３０−２ａ〜３０−２ｈは、中継装置２０−４、２０−５から所定の距離範囲内に位置し、中継装置２０−４、２０−５と通信可能である。他の領域ｅｒＣ、ｅｒＤに位置するデバイス３０及び中継装置２０についても同様である。
【００１７】
図１に示すデバイス３０は、例えば、スマートフォン、ウェアラブルデバイス、携帯音楽機器等の機器である。各デバイス３０は、１つまたは複数のセンサを搭載する。また、デバイス３０は、互いに、同一または異なるセンサを搭載する。センサは、例えば、温度センサ、湿度センサ、加速度センサ、生体センサ、位置センサ等である。本実施の形態において、デバイス３０は、移動可能なデバイス３０を含む。なお、デバイス３０は、センシングする場所に固定的に位置するデバイス３０を含んでいてもよい。
【００１８】
各デバイス３０は、センサが検出したセンサデータを定期的に取得し、取得したセンサデータを、中継装置２０に送信する。センサデータは、例えば、温度データ、加速度データ、心拍数データ、血圧データ、位置データ等である。なお、デバイス３０は、中継装置２０や中央サーバ１０によるセンサデータの取得指示に応答して、センサデータを中継装置２０に送信してもよい。
【００１９】
図１に示す中央サーバ１０は、中継装置２０を介して収集した各デバイス３０のセンサデータの分析処理等を行う。また、図１に示す中継装置２０は、１つまたは複数のデバイス３０と中央サーバ１０との通信を中継する。中継装置２０は、１つまたは複数のデバイス３０からセンサデータを収集し、各デバイス３０が搭載するセンサに応じて規定される１または複数の処理をセンサデータに対して実行して、その処理結果を中央サーバ１０に出力する。中継装置２０は、センサデータを収集する対象の、センサに応じて規定された処理を実行するアプリケーションを搭載する。
【００２０】
センサに応じて規定された処理は、例えば、ＯＳ（Operating System：ＯＳ）やソフトウェアが備える機能による処理や、センサデータに固有の処理である。ＯＳやソフトウェアが備える機能による処理は、例えば、データベースへのデータの書き込み処理や、データの複製処理等である。また、センサデータに固有の処理は、例えば、センサデータに固有の形式の変換処理やセンサデータに固有の集計処理等を示す。
【００２１】
図１に示す情報処理システム１００は、例えば、医療施設や福祉施設等における利用者の生体情報や環境情報を分析するシステムである。中継装置２０は、温度センサや生体センサを搭載するスマートフォンやウェアラブルデバイスから温度データや心拍数データ等を収集し、データの変換処理やデータベースへの格納処理を行う。そして、中継装置２０は、処理後のデータをデータベースから読み出し、中央サーバ１０に送信する。中央サーバ１０は、収集したセンサデータに基づいて、利用者の健康状態の監視処理や、集計処理等を行う。
【００２２】
また、中継装置２０がセンサデータに対して行う処理の内容は、センサの種類に応じて異なる。そして、同一の種類のセンサであっても、センサを提供するベンダー（企業）や、センサのバージョンが異なる場合がある。したがって、中継装置２０がセンサデータに対して行う処理の内容は、センサの種類に加えて、センサを提供するベンダーやバージョンに応じて異なる。
【００２３】
図１に示す情報処理システム１００は、例えば、センサの種類やベンダー、バージョン等に応じた専用の中継装置２０を備える。つまり、１つの中継装置２０は、特定のセンサのセンサデータのみを収集する。各中継装置２０が特定のセンサのセンサデータのみを収集する場合、当該中継装置２０は、特定のセンサに応じて規定される処理を実行するアプリケーションのみを搭載すればよい。
【００２４】
しかしながら、多様なセンサが存在する場合、多数の中継装置２０を用意する必要が生じ、多くのリソースを要する。また、特定のセンサを搭載するデバイス３０が多量に存在する場合、中継装置２０が接続するデバイス３０の数が接続可能数を超える場合や、中継装置２０が処理するデータ量が許容量を超える場合がある。これにより、中継装置２０が、センサデータの処理を行えない場合が生じ得る。
【００２５】
または、例えば、情報処理システム１００は、多様なセンサのセンサデータを収集する汎用的な中継装置２０を備える。つまり、１つの中継装置２０は、複数の異なるセンサのセンサデータを収集する。中継装置２０が複数の異なるセンサのセンサデータを収集する場合、当該中継装置２０は、複数のセンサに応じて、センサデータの処理を実行するアプリケーションを搭載する。
【００２６】
汎用的な中継装置２０を備える場合、例えば、中央サーバ１０は、電波環境等に基づいて、各デバイス３０のセンサデータを収集する中継装置２０を選択する。図１の例によると、中央サーバ１０は、各デバイス３０−１ａ〜３０−１ｈが搭載する各センサのセンサデータを収集する中継装置２０を、中継装置２０−１〜２０〜３から選択する。他の領域ｅｒＢ〜ｅｒＤに位置するデバイス３０−２ａ〜３０−４ｅについても同様である。
【００２７】
中央サーバ１０は、例えば、デバイス３０から所定の距離範囲内に位置する複数の中継装置２０のうち、電波環境が良い中継装置２０を、当該デバイス３０のセンサデータを収集する中継装置２０として選択する。したがって、中継装置２０の選択に応じて、複数の中継装置２０の間の、同一の処理の冗長度が高くなる場合がある。処理の冗長度が高い場合、複数の中継装置２０の間で多数の同一アプリケーションが動作し、中継装置２０のリソースを効率的に利用できていないことを示す。
【００２８】
前述したとおり、本実施の形態におけるデバイス３０は、移動可能なデバイス３０を含む。図１に示すように、デバイス３０−３ｄが領域ｅｒＣから領域ｅｒＤに移動すると、中央サーバ１０は、デバイス３０−３ｄが搭載するセンサのセンサデータを収集する中継装置２０を、中継装置２０−７〜２０−９から選択する。そして、選択された中継装置２０が、デバイス３０−３ｄのセンサデータを処理するアプリケーションを搭載していない場合、当該中継装置２０は、新たにアプリケーションを搭載する。
【００２９】
選択された中継装置２０が新たなアプリケーションの搭載に要するリソースを有していない場合、当該中継装置２０は、アプリケーションをインストールできず、デバイス３０−３ｄのセンサデータを収集できない。これにより、中央サーバ１０は、各デバイス３０のセンサデータを的確に収集できない。したがって、デバイス３０の移動に備えて、各中継装置２０は、空きリソースを有していることが望ましい。つまり、中継装置２０のリソースを効率的に利用することにより、アプリケーションが使用するリソースの量が抑えられていることが望ましい。
【００３０】
［本実施の形態の概要１］
したがって、本実施の形態における中央サーバ１０は、各センサのセンサデータの処理を行う中継装置２０を複数の中継装置２０から選択する際に、各中継装置２０が収集対象とするセンサに応じて規定された処理に基づいて、中継装置２０を選択する。即ち、中央サーバ１０は、中継装置２０が処理の対象とするセンサに応じて規定された処理の、複数の中継装置２０における合計数がより少ない各センサの中継装置２０を候補として選択する。
【００３１】
つまり、本実施の形態における中央サーバ１０は、各センサのセンサデータの処理を行う中継装置２０を選択する際に、複数の中継装置２０の間でアプリケーションの集約度を高めるように、各センサの中継装置２０を選択する。これにより、情報処理システム１００が有する中継装置２０に搭載するアプリケーションの総数が低減し、中継装置２０のリソースを効率的に利用することが可能になる。
【００３２】
また、中央サーバ１０は、アプリケーションの総数を抑えることにより、新たなアプリケーションの搭載に備えて、中継装置２０の空きリソースを増加させることができる。これにより、新たなアプリケーションを配備可能になり、中央サーバ１０は、各センサのセンサデータをより確実に収集可能になる。また、リソースの不足による中継装置２０の増設や、リソースの不足に応じて発生する障害やメンテナンス等の発生等を抑制可能になる。
【００３３】
図２は、本実施の形態におけるセンサの一例を示す図である。図２は、４つのセンサ３０３ａ〜３０３ｄを例示する。第１のデバイス３０（図示せず）は温度センサ（１．０１）３０３ａを搭載し、第２のデバイス３０（図示せず）は温度センサ（２．１）３０３ｂを搭載する。また、第３のデバイス３０（図示せず）は湿度センサ（２．１）３０３ｃを搭載し、第４のデバイス３０（図示せず）は加速度センサ（２．２）３０３ｄを搭載する。
【００３４】
温度センサ（１．０１）３０３ａは、バージョン「１．０１」の温度センサを示す。温度センサ（２．１）３０３ｂは、バージョン「２．１」の温度センサを示す。つまり、温度センサ（１．０１）３０３ａと、温度センサ（２．１）３０３ｂとは、異なるバージョンの同一種類のセンサを示す。また、湿度センサ（２．１）３０３ｃは、バージョン「２．１」の湿度センサを、加速度センサ（２．２）３０３ｄは、バージョン「２．２」の加速度センサを示す。
【００３５】
図２に示すように、温度センサ（１．０１）３０３ａに応じて規定された処理を実行するアプリケーションは、アプリケーション１、８、９である。同様にして、温度センサ（２．１）３０３ｂに応じて規定された処理を実行するアプリケーションは、アプリケーション１−２、８、９である。さらに、湿度センサ（２．１）３０３ｃに規定された処理を実行するアプリケーションは、アプリケーション２、８、９であって、加速度センサ（２．２）３０３ｄに規定された処理を実行するアプリケーションは、アプリケーション５、８、１１である。
【００３６】
図２の例に示すセンサ３０３ａ〜３０３ｄの間で、それぞれのセンサに応じて規定された処理を実行するアプリケーションのうち、アプリケーション８が共通する。アプリケーション８が実行する処理は、例えば、センサデータのデータベースへの格納処理を示す。また、温度センサ（１．０１）３０３ａと温度センサ（２．１）３０３ｂの間で、アプリケーション９が共通する。アプリケーション９が実行する処理は、例えば、温度センサのセンサデータの形式の変換処理を示す。また、アプリケーション１、１−２の処理は、バージョンに応じて異なる、温度センサのセンサデータの加工処理等を示す。
【００３７】
図３は、各センサのセンサデータを収集する中継装置２０の第１の選択例を示す図である。中央サーバ１０は、温度センサ（１．０１）３０３ａ、温度センサ（２．１）３０３ｂ、湿度センサ（２．１）３０３ｃ、加速度センサ（２．２）３０３ｄの各センサデータを収集する中継装置２０を、第１、第２の中継装置２０−１１、２０−１２から選択する。
【００３８】
図３に示す第１の選択例によると、第１の中継装置２０−１１は、温度センサ（１．０１）３０３ａと湿度センサ（２．１）３０３ｃのセンサデータを収集する。また、第２の中継装置２０−１２は、温度センサ（２．１）３０３ｂと加速度センサ（２．２）３０３ｄのセンサデータを収集する。温度センサ（１．０１）３０３ａと湿度センサ（２．１）３０３ｃの処理は、共通してアプリケーション８、９を含む。また、温度センサ（２．１）３０３ｂと、加速度センサ（２．２）３０３ｄの処理は、共通してアプリケーション８を含む。
【００３９】
したがって、第１の中継装置２０−１１は、４つのアプリケーション１、２、８、９を実行し、第２の中継装置２０−１２は、５つのアプリケーション１−２、５、８、９、１１を実行する。第１の選択例によると、第１、第２の中継装置２０−１１、２０−１２が実行する処理の数の合計は、値「９（＝４＋５）」である。
【００４０】
図４は、各センサのセンサデータを収集する中継装置２０の第２の選択例を示す図である。図４において、図３で示したものと同一のものは、同一の記号で示す。
【００４１】
図４に示す第２の選択例によると、第１の中継装置２０−１１は、温度センサ（１．０１）３０３ａと温度センサ（２．１）３０３ｂのセンサデータを収集する。また、第２の中継装置２０−１２は、湿度センサ（２．１）３０３ｃと加速度センサ（２．２）３０３ｄのセンサデータを収集する。
【００４２】
本実施の形態において、アプリケーション１−２は、アプリケーション１の機能を含む。つまり、アプリケーション１−２は、アプリケーション１の処理を実行可能である。したがって、温度センサ（１．０１）３０３ａと温度センサ（２．１）３０３ｂの処理は、共通してアプリケーション１−２（アプリケーション１を含む）、８、９を含む。また、湿度センサ（２．１）３０３ｃと、加速度センサ（２．２）３０３ｄの処理は、共通してアプリケーション８を含む。
【００４３】
したがって、第１の中継装置２０−１１は、３つのアプリケーション１−２、８、９を実行し、第２の中継装置２０−１２は、５つのアプリケーション２、５、８、９、１１を実行する。第２の選択例によると、第１、第２の中継装置２０−１１、２０−１２が実行する処理の数の合計は、値「８（＝３＋５）」である。
【００４４】
本実施の形態の中央サーバ１０は、各中継装置２０が実行するアプリケーションの数の、第１、第２の中継装置２０−１１、２０−１２における合計数がより少ない、センサと中継装置２０の組合せを選択する。したがって、中央サーバ１０は、図４に示す第２の選択例を採用する。中継装置２０のアプリケーションの合計数が少なく抑えられることは、アプリケーションの集約度が高く、中継装置２０のリソースを効率的に利用していることを示す。このように、中央サーバ１０は、中継装置２０のリソースを効率的に利用するように各センサの中継装置２０を選択できる。
【００４５】
［本実施の形態の概要２］
また、デバイス３０の移動が生じると、中央サーバ１０は、移動したデバイス３０のセンサデータを収集する中継装置２０を選択し直す。本実施の形態における中央サーバ１０は、移動したデバイス３０のセンサに応じて規定された１または複数の処理と、各中継装置２０が処理対象とする各センサに応じて規定された処理とに基づいて、中継装置２０の候補を選択する。即ち、中央サーバ１０は、移動したセンサに応じて規定された処理のうち、中継装置２０が処理の対象とする、各センサに応じて規定された処理の集合に含まれない処理の数がより少ない中継装置２０を、移動したセンサの中継装置２０の候補として選択する。
【００４６】
つまり、本実施の形態における中央サーバ１０は、移動したデバイス３０が搭載するセンサのセンサデータの処理を行う中継装置２０を、複数の中継装置２０の間でアプリケーションの集約度が向上するように選択する。これにより、情報処理システム１００が有する中継装置２０に搭載するアプリケーションの総数が低減し、中継装置２０のリソースを効率的に利用することが可能になる。これにより、中央サーバ１０は、各センサのセンサデータを確実に収集可能になり、中継装置２０の増設や、障害やメンテナンス等の発生を抑制可能になる。
【００４７】
図５は、本実施の形態における、移動したデバイス３０の中継装置２０の選択例を示す図である。図５において、図３、図４で示したものと同一のものは、同一の記号で示す。図５に示す、各センサ３０３ａ〜３０３ｄのセンサデータの処理を実行する中継装置２０−１１、２０−１２の選択例は、図４に示した第２の選択例と同一である。
【００４８】
図５は、第３の中継装置２０−１３がセンサデータを収集していた輝度センサ（１．１）３０３ｆを搭載するデバイス３０が、第３の中継装置２０−１３の近辺から第１、第２の中継装置２０−１１、２０−１２の近辺に移動した場合を例示する。中央サーバ１０は、輝度センサ（１．１）３０３ｆのセンサデータを収集する中継装置２０を、第１、第２の中継装置２０−１１、２０−１２から選択する。
【００４９】
図４で前述したとおり、第１の中継装置２０−１１はアプリケーション１−２、８、９を実行し、第２の中継装置２０−１２はアプリケーション２、５，８、９、１１を実行する。一方、輝度センサ（１．１）３０３ｆに応じて規定された処理を実行するアプリケーションは、アプリケーション４、８、１１である。
【００５０】
第１の中継装置２０−１１は、輝度センサ（１．１）３０３ｆに応じて規定された処理を実行するアプリケーション４、８、１１のうち、アプリケーション４、１１を実行しない。即ち、アプリケーション４、８、１１のうち、第１の中継装置２０−１１が処理対象とするセンサに応じて規定された処理を実行するアプリケーション１−２、８、９に含まれないアプリケーションの数は２つである。
【００５１】
また、第２の中継装置２０−１２は、アプリケーション４、８、１１のうち、アプリケーション４を実行しない。即ち、アプリケーション４、８、１１のうち、第２の中継装置２０−１２が処理対象とするセンサに応じて規定された処理を実行するアプリケーション２、５，８、９、１１に含まれないアプリケーションの数は１つである。
【００５２】
したがって、中央サーバ１０は、アプリケーション４、８、１１のうち、自中継装置２０が実行するアプリケーションに含まれていないアプリケーションの数がより少ない第２の中継装置２０−１２を選択する。言い換えると、中央サーバ１０は、複数の中継装置２０のうち、実行するアプリケーションが、アプリケーション４、８、１１をより多く含んでいる第２の中継装置２０−１２を、移動したセンサの中継装置２０として選択する。第２の中継装置２０−１２は、追加してアプリケーション４を搭載する。
【００５３】
自中継装置２０が実行するアプリケーションに含まれていないアプリケーションの数がより少ないことは、移動したセンサの処理のために新たにインストールするアプリケーションの数を少なく抑えられることを示す。これは、アプリケーションの集約度が高く、中継装置２０のリソースを効率的に利用していることを示す。このように、中央サーバ１０は、中継装置２０のリソースを効率的に利用するように、移動したセンサの中継装置２０を選択できる。
【００５４】
なお、図１〜図５で説明した中継装置２０は、物理マシン、仮想マシンのいずれにしたがって実現されていてもよい。
【００５５】
図６は、中継装置２０を仮想マシンにしたがって実現する場合の情報処理システム１００の構成を説明する図である。図６において、図１で示したものと同一のものは、同一の記号で示す。図６は、図１に示した領域ｅｒＣ、ｅｒＤの図示を省略する。
【００５６】
図６に示す物理マシン４０−１、４０−２（物理マシン４０ともいう）はそれぞれ、中継装置２０を示す仮想マシン２０−１〜２０−５を有する。図６の例によると、物理マシン４０−１は３つの仮想マシン２０−１〜２０−３を実行し、物理マシン４０−２は２つの仮想マシン２０−４、２０−５を実行する。
【００５７】
図６の例によると、例えば、中央サーバ１０は、領域ｅｒＡに位置するデバイス３０−１ａ〜３０−１ｈが搭載するセンサのセンサデータを収集する中継装置２０を、仮想マシン２０−１〜２０−３から選択する。同様にして、中央サーバ１０は、領域ｅｒＢに位置するデバイス３０−２ａ〜２０−２ｈが搭載するセンサのセンサデータを収集する中継装置２０を、仮想マシン２０−４、２０−５から選択する。
【００５８】
また、中継装置２０を仮想マシンにしたがって実現する場合、中央サーバ１０は、処理対象のセンサに応じて規定された処理に基づいて、各物理マシン４０−１、４０−２に配備する仮想マシン２０−１〜２０−５の数を設定してもよい。中継装置２０を仮想マシンにしたがって実現することにより、中央サーバ１０は、処理対象のセンサに応じて規定された処理に基づいて、仮想マシンの数を最適な値に設定できる。これにより、物理マシン４０のリソースをより効率的に使用することが可能になる。詳細は、図１６のフローチャート図にしたがって後述する。
【００５９】
次に、図７〜図１１にしたがって、図１、図６に示した中央サーバ１０のハードウェア構成図、及び、ソフトウェアブロック図を説明する。なお、本実施の形態では、中継装置２０を仮想マシンにしたがって実現する場合を例示する。
【００６０】
［中央サーバのハードウェア構成］
図７は、図１、図６に示した中央サーバ１０のハードウェア構成図である。図７に示す中央サーバ１０は、例えば、ＣＰＵ１０１、メモリ１０２、通信インタフェース部１０３を有する。各部は、バス１０４を介して相互に接続する。メモリ１０２は、ＲＡＭ（Random Access Memory：ＲＡＭ）１３０や不揮発性メモリ１３１等を備える。
【００６１】
ＣＰＵ１０１は、バス１０４を介してメモリ１０２等と接続するとともに、中央サーバ１０全体の制御を行う。通信インタフェース部１０３は、中継装置２０や他の装置（図示せず）と有線通信または無線通信にしたがってデータの送受信等を行う。メモリ１０２のＲＡＭ１３０は、ＣＰＵ１０１が処理を行うデータ等を記憶する。
【００６２】
メモリ１０２の不揮発性メモリ１３１は、ＣＰＵ１０１が実行するＯＳ（Operating System：ＯＳ）のプログラムを格納する領域（図示せず）を備える。また、不揮発性メモリ１３１は、仮想マシン配備プログラム格納領域１１０、センサ一覧情報格納領域１１１、アプリケーション一覧情報格納領域１１２、中継装置一覧情報格納領域１１３を備える。不揮発性メモリ１３１は、例えば、不揮発性半導体メモリ等を示す。
【００６３】
仮想マシン配備プログラム格納領域１１０の仮想マシン配備プログラム（以下、仮想マシン配備プログラム１１０と称する）は、ＣＰＵ１０１の実行によって、仮想マシンの配備案の生成処理を行う。また、仮想マシン配備プログラム１１０は、作成した配備案にしたがって仮想マシンの配備を指示する。仮想マシン配備プログラム１１０の処理の詳細は、図１１にしたがって説明する。
【００６４】
センサ一覧情報格納領域１１１のセンサ一覧情報（以下、センサ一覧情報１１１と称する）は、中央サーバ１０がセンサデータを収集する対象のセンサの情報を有する。センサ一覧情報１１１は、例えば、データベースである。センサ一覧情報１１１の詳細については、図８にしたがって後述する。
【００６５】
アプリケーション一覧情報格納領域１１２のアプリケーション一覧情報（以下、アプリケーション一覧情報１１２と称する）は、センサデータの処理を行うアプリケーションの情報を有する。アプリケーション一覧情報１１２は、例えば、データベースである。アプリケーション一覧情報１１２の詳細については、図９にしたがって後述する。
【００６６】
中継装置一覧情報格納領域１１３の中継装置一覧情報（以下、中継装置一覧情報１１３と称する）は、中央サーバ１０が管理の対象とする中継装置２０に関する情報を有する。中継装置一覧情報１１３は、例えば、データベースである。中継装置一覧情報１１３の詳細については、図１０にしたがって後述する。
【００６７】
［センサ一覧情報］
図８は、図７に示した、センサ一覧情報１１１の一例を説明する図である。センサ一覧情報１１１は、中央サーバ１０がセンサデータを収集する対象のセンサに関する情報を有する。図７に示すセンサ一覧情報１１１は、センサの種類、センサのバージョン、センサが検出するセンサデータの処理を行うアプリケーションプログラム（以下、アプリケーションと称する）の識別名の情報を有する。アプリケーションは、前述したとおり、センサに応じて規定された処理を実行するアプリケーションを示す。なお、センサ一覧情報１１１は、さらに、センサのベンダー等の情報を有していてもよい。
【００６８】
図８の例に示すセンサ一覧情報１１１によると、図２で前述したとおり、バージョン「１．０１」の温度センサが検出するセンサデータの処理を行うアプリケーションは、アプリケーション１、８、９である。また、センサ一覧情報１１１によると、バージョン「２．１」の温度センサが検出するセンサデータの処理を行うアプリケーションは、アプリケーション１−２、８、９である。同様にして、バージョン「２．１」の湿度センサが検出するセンサデータの処理を行うアプリケーションは、アプリケーション２、８、９である。図８に示すセンサ一覧情報１１１は、他のセンサについても、同様に各情報を有する。
【００６９】
［アプリケーション一覧情報］
図９は、図７に示した、アプリケーション一覧情報１１２の一例を説明する図である。アプリケーション一覧情報１１２は、センサデータの処理を実行する各アプリケーションの情報を有する。図９に示すアプリケーション一覧情報１１２は、アプリケーションの識別名、並列稼働限界数、包含関係、ＣＰＵ性能指数、メモリの情報を有する。
【００７０】
アプリケーションの識別名は、図８に示したセンサ一覧情報１１１で示したとおりである。並列稼働限界数は、１つの中継装置２０内で同時に実行可能な同一アプリケーションの数を示す。また、ＣＰＵ性能指数は、アプリケーションの実行に要するＣＰＵの性能の指標を示す。メモリは、アプリケーションの実行に使用するメモリの容量（GigaByte：ＧＢ）を示す。包含関係は、同一の種別のアプリケーションのバージョン間の包含関係を示す。
【００７１】
図９に示す、アプリケーション１−２の包含関係「バージョン１.０〜２.０１」は、アプリケーション１−２が「バージョン１.０〜２.０１」を含むことを示す。即ち、アプリケーション１−２が、アプリケーション１の機能を含み、アプリケーション１の処理を実行可能であることを示す。
【００７２】
また、図９の例に示すアプリケーション一覧情報１１２によると、アプリケーション１の並列稼働限界数は、値「２」である。したがって、同一の中継装置２０内で、アプリケーション１を同時に２つ実行可能である。また、アプリケーション１の実行に要するＣＰＵの性能指数は値「２」であって、アプリケーション１の実行に「０．５ＧＢ」のメモリ容量を使用することを示す。
【００７３】
また、図９の例に示すアプリケーション一覧情報１１２によると、アプリケーション３の並列稼働限界数は、値「１」である。したがって、同一の中継装置２０内で、アプリケーション３を同時に２つ以上実行できない。一方、アプリケーション８の並列稼働限界数は、値「１０」である。したがって、同一の中継装置２０内で、アプリケーション８を１０個まで同時に実行可能である。図９に示すアプリケーション一覧情報１１２は、他のアプリケーションについても、同様に、各情報を有する。
【００７４】
［中継装置一覧情報］
図１０は、図７に示した、中継装置一覧情報１１３の一例を説明する図である。中継装置一覧情報１１３は、中央サーバ１０が管理の対象とする中継装置２０に関する情報を有する。図１０に示す、中継装置一覧情報１１３は、中継装置２０の識別名、範囲内センサ種別、位置情報（Location）、ＣＰＵ性能指数、メモリの情報を有する。なお、仮想マシンにしたがって中継装置２０を実現する場合、中継装置一覧情報１１３は、仮想マシンを搭載する物理マシン４０（図６の４０−１〜４０−５）の情報を有する。
【００７５】
範囲内センサ種別は、物理マシン４０（装置ともいう）が搭載する仮想マシン（中継装置２０）が処理の対象とするセンサの識別名を示す。センサの識別名は、図８に示したセンサ一覧情報１１１が有するセンサの種類及びバージョンを含む情報である。位置情報は、所定の位置を基点とした、装置の相対位置（ｘ，ｙ）を示す。ＣＰＵ性能指数は、装置が搭載するＣＰＵの性能の指標値を示し、メモリは装置が搭載するメモリの容量を示す。
【００７６】
図１０に示す中継装置一覧情報１１３によると、装置１の範囲内センサ種別は、温度センサ（１．０１）、温度センサ（２．１）、湿度センサ（２．１）、加速度センサ（２．２）である。即ち、装置１の位置（０，０）から所定の距離範囲内に、温度センサ（１．０１）、温度センサ（２．１）、湿度センサ（２．１）、加速度センサ（２．２）を搭載するデバイス３０が位置することを示す。また、装置１のＣＰＵ性能指数は値「１６」であって、メモリは値「８ＧＢ」である。
【００７７】
また、図１０に示す中継装置一覧情報１１３によると、装置２の位置（５０，０）から所定の距離範囲内に、温度センサ（２．１）、湿度センサ（２．３）、気圧センサ（２．１）を搭載するデバイス３０が位置する。また、装置２のＣＰＵ性能指数は値「６」であって、メモリ数は値「４ＧＢ」である。他の装置についても、同様にして、各情報を有する。
【００７８】
［中央サーバのソフトウェアブロック図］
図１１は、図７に示した中央サーバ１０の仮想マシン配備プログラム１１０のソフトウェアブロック図である。図１１において、図７で示したものと同一のものは、同一の記号で示す。
【００７９】
図１１に示すように、図７に示した仮想マシン配備プログラム１１０は、センサアプリケーション情報管理モジュール１２１、中継装置情報管理モジュール１２２、配備命令作成モジュール１２３、仮想マシン配備制御モジュール１２４を有する。各モジュール１２１〜１２４の処理の詳細は、図１６のフローチャート図にしたがって後述する。
【００８０】
センサアプリケーション情報管理モジュール１２１は、中央サーバ１０が管理の対象とするセンサの情報をセンサ一覧情報１１１（図８）に格納する。また、センサアプリケーション情報管理モジュール１２１は、中央サーバ１０が管理の対象とするアプリケーションの情報を、通信インタフェース部１０３にしたがってインターネット５０等を介して受信し、アプリケーション一覧情報１１２（図９）に格納する。また、センサアプリケーション情報管理モジュール１２１は、センサとアプリケーションの情報を関連付けるとともに、センサの移動等に応じて、センサ一覧情報１１１及びアプリケーション一覧情報１１２を更新する。
【００８１】
中継装置情報管理モジュール１２２は、中央サーバ１０が管理の対象とする中継装置２０の情報を中継装置一覧情報１１３（図１０）に格納する。中継装置情報管理モジュール１２２は、デバイス３０の移動や追加に応じて、中継装置一覧情報１１３を更新する。
【００８２】
配備命令作成モジュール１２３は、センサ一覧情報１１１、アプリケーション一覧情報１１２、及び、中継装置一覧情報１１３を参照して、仮想マシンの配備案を作成する。仮想マシンの配備案は、各物理マシン４０（装置）に配備する仮想マシンの数、及び、各仮想マシンに搭載するアプリケーションの情報を含む。また、配備命令作成モジュール１２３は、配備案に基づいて、仮想マシンの配備命令を生成し、仮想マシン配備制御モジュール１２４に出力する。
【００８３】
仮想マシン配備制御モジュール１２４は、配備命令に基づいて、物理マシン４０に、中継装置２０を示す仮想マシンを配備する。また、仮想マシン配備制御モジュール１２４は、配備案に基づいて、各中継装置２０に、当該中継装置２０がセンタデータの収集対象とするセンサの識別情報を通知する。
【００８４】
次に、図１２、図１３にしたがって、図６に示した、中継装置２０を有する物理マシン４０のハードウェア構成図及びソフトウェアブロック図を説明する。図１２、図１３は、１つの物理マシン４０の例を説明するが、他の物理マシン４０も同様である。
【００８５】
［中継装置のハードウェア構成図］
図１２は、図６に示した中継装置２０を有する物理マシン４０のハードウェア構成図である。図１２に示す物理マシン４０は、例えば、ＣＰＵ２０１、メモリ２０２、無線通信部２０３、通信インタフェース部２０４を有する。各部は、バス２０５を介して相互に接続する。メモリ２０２は、ＲＡＭ２２０や不揮発性メモリ２２１等を備える。
【００８６】
無線通信部２０３は、アンテナ２０６を介して、デバイス３０と無線通信にしたがってデータの送受信等を行う。また、通信インタフェース部２０４は、有線通信を介して、中央サーバ１０とデータの送受信等を行う。なお、無線通信部２０３は、無線通信にしたがって、中央サーバ１０とデータの送受信を行ってもよい。
【００８７】
ＣＰＵ２０１は、バス２０５を介してメモリ２０２等と接続するとともに、物理マシン４０全体の制御を行う。メモリ２０２のＲＡＭ２２０は、ＣＰＵ２０１が処理を行うデータ等を記憶する。メモリ２０２の不揮発性メモリ２２１は、ハイパ−バイザプログラム格納領域２３０、仮想マシン１データ格納領域２３１、仮想マシン２データ格納領域２３２を備える。不揮発性メモリ２２１は、ＨＤＤ（Hard disk drive：ＨＤＤ）、不揮発性半導体メモリ等を示す。
【００８８】
ハイパ−バイザプログラム格納領域２３０のハイパ−バイザプログラム（以下、ハイパ−バイザプログラム２３０と称する）は、ＣＰＵ２０１の実行によって、本実施の形態例におけるハイパ−バイザの処理を実現する。
【００８９】
仮想マシン１データ格納領域２３１の仮想マシン１データ（以下、仮想マシン１データ２３１と称する）は、ハイパ−バイザプログラム２３０によって参照または更新され、中継装置２０を示す第１の仮想マシンとして動作する。仮想マシン１データ２３１は、仮想マシン１が実行するアプリケーション（プログラム）を含む。仮想マシン２データ格納領域２３２の仮想マシン２データ（以下、仮想マシン２データ２３２と称する）は、ハイパ−バイザプログラム２３０によって参照または更新され、中継装置２０を示す第２の仮想マシンとして動作する。仮想マシン２データ２３２は、仮想マシン２が実行するアプリケーション（プログラム）を含む。
【００９０】
［中継装置のソフトウェアブロック図］
図１３は、図１２に示した仮想マシン１データ２３１のソフトウェアブロック図である。図１３において、図１２で示したものと同一のものは、同一の記号で示す。なお、図１２に示した仮想マシン２データ２３２のソフトウェアブロック図も、仮想マシン１データ２３１と同様である。
【００９１】
図１３に示すように、仮想マシン１データ２３１は、ＯＳ（オペレーションシステム）２４０、制御モジュール２４１、アプリケーションａ１〜ａ３を有する。一例として、アプリケーションａ１は、図２〜図４に例示したアプリケーション１−２に対応し、アプリケーションａ２はアプリケーション８に対応し、アプリケーションａ３はアプリケーション９に対応する。
【００９２】
図１３に示したハイパ−バイザプログラム２３０は、仮想マシン1データ２３１に基づいて、ＯＳ２４０を実行するとともに、ＯＳ２４０上で制御モジュール２４１及びアプリケーションａ１〜ａ３を動作させる。制御モジュール２４１は、自中継装置２０が収集対象とするセンサの識別情報に基づいて、デバイス３０が送信したセンサデータを受信し、対応するアプリケーションａ１〜ａ３に引き渡す。
【００９３】
次に、図１４、図１５にしたがって、図１、図６に示したデバイス３０のハードウェア構成図及びソフトウェアブロック図を説明する。なお、図１４、図１５は、１つのデバイス３０の例を説明するが、他のデバイス３０も同様である。図１４、図１５は、例えば、ウェアラブルデバイスの例を示す。
【００９４】
［デバイスのハードウェア構成図］
図１４は、図１、図６に示したデバイス３０のハードウェア構成図である。図１４に示すデバイス３０は、例えば、ＣＰＵ３０１、メモリ３０２、センサ３０３、無線通信部３０４を有する。各部は、バス３０６を介して相互に接続する。メモリ３０２は、ＲＡＭ４０１や不揮発性メモリ４０２等を備える。
【００９５】
ＣＰＵ３０１は、バス３０６を介してメモリ３０２等と接続するとともに、デバイス３０全体の制御を行う。センサ３０３は、温度、湿度、生体データ等の計測情報を検出する検出手段である。センサ３０３は、例えば、温度センサ、湿度センサ、生体センサ等である。無線通信部３０４は、アンテナ３０５を介して、中継装置２０と無線通信にしたがってデータの送受信等を行う。アンテナ３０５は、無線電波による各種データの送受信を行う。
【００９６】
メモリ３０２のＲＡＭ３１０は、ＣＰＵ３０１が処理を行うデータ等を記憶する。メモリ３０２の不揮発性メモリ３１１は、ＣＰＵ３０１が実行するＯＳのプログラムを格納する領域（図示せず）を備える。また、不揮発性メモリ３１１は、データ送信プログラム格納領域３２０を備える。不揮発性メモリ３１１は、例えば、不揮発性半導体メモリ等を示す。データ送信プログラム格納領域３２０のデータ送信プログラム（以下、データ送信プログラム３２０と称する）は、ＣＰＵ３０１の実行によって、センサデータの取得処理、及び、送信処理を実現する。
【００９７】
［デバイスのソフトウェアブロック図］
図１５は、図１４に示したデバイス３０のソフトウェアブロックの構成図である。図１５において、図１４で示したものと同一のものは、同一の記号で示す。図１５に示すように、図１４に示したデータ送信プログラム３２０は、制御モジュール３３０、センシングモジュール３３１、送信モジュール３３２を有する。
【００９８】
制御モジュール３３０は、定期的に、センシングモジュール３３１にセンサデータの取得指示を出力する。センシングモジュール３３１は、制御モジュール３３０の指示に応じて、センサ３０３（図１４）が検出したセンサデータを取得する。送信モジュール３３２は、センシングモジュール３３１が取得したセンサデータを、無線通信を介して中継装置２０に送信する。
【００９９】
次に、図１６にしたがって、図１１に示した、中央サーバ１０の仮想マシン配備プログラム１１０の処理の流れを説明する。本実施の形態は、中継装置２０を仮想マシンにしたがって実現する場合を説明する。
【０１００】
［仮想マシン配備プログラムの処理］
図１６は、図１１に示した、中央サーバ１０の仮想マシン配備プログラム１１０の処理を説明するフローチャート図である。
【０１０１】
Ｓ１１：仮想マシン配備プログラム１１０の配備命令作成モジュール１２３は、処理１にしたがって仮想マシンの配備案ＰＬを作成する。
【０１０２】
配備命令作成モジュール１２３は、処理１として、図３、図４で前述したとおり、処理対象とする１または複数のセンサに応じて規定された処理の、複数の中継装置（仮想マシン）２０における合計がより少ない各センサの中継装置２０を、候補として選択する。これにより、中継装置２０に配備するアプリケーションの合計数を最少にし、中継装置２０のリソースを効率的に利用することが可能になる。
【０１０３】
また、本実施の形態における配備命令作成モジュール１２３は、さらに、中継装置内の処理（アプリケーション）の並列数が、処理に応じた並列稼働限界数を超えない中継装置２０を、候補として選択する。アプリケーション一覧情報１１２（図９）で前述したとおり、各アプリケーションは、並列稼働限界数を有する。アプリケーションは、１つの中継装置内で、並列稼働限界数を超えて動作できない。したがって、中継装置内で動作するアプリケーションの数が並列稼働限界数を超える場合、センサ間でセンサデータの処理を実行するアプリケーションの競合（コンフリクト）が生じ、センサデータの処理を適切に実行できない場合が生じ得る。
【０１０４】
したがって、アプリケーションの並列稼働限界数を満たすように各デバイス３０の中継装置２０を選択することにより、中継装置内のリソースの競合を回避しながら、中継装置２０のリソースを効率的に利用するように、各センサの中継装置２０を選択可能になる。これにより、中継装置２０は、確実に、対象のセンサのセンサデータを処理できる。
【０１０５】
また、配備命令作成モジュール１２３は、アプリケーションの並列稼働限界数を満たす仮想マシンの配備数をさらに算出し、算出した配備数の複数の仮想マシンから中継装置２０の候補を選択してもよい。これにより、配備命令作成モジュール１２３は、アプリケーションを集約するにより、仮想マシンの配備数を、並列稼働限界数を満たす最少の値に設定することができる。したがって、アプリケーションの制限を満たしながら、仮想マシンを配備する物理マシン４０のリソースを効率的に利用することが可能になる。工程Ｓ１１の処理１の詳細は、図１７〜図２０にしたがって後述する。
【０１０６】
Ｓ１２：配備命令作成モジュール１２３は、工程Ｓ１１にしたがって作成した配備案ＰＬが、各中継装置２０の性能、及び、同時接続数の条件を満たしているか否かを判定する。中継装置２０の性能は、例えば、中継装置２０のハードウェアのリソースであって、ＣＰＵ性能指数やメモリを示す。同時接続数は、例えば、中継装置２０のリソースやハードウェアに応じて設定された、当該中継装置２０に同時に接続可能なデバイス３０の数を示す。
【０１０７】
Ｓ１３：条件を満たしていない場合（Ｓ１２のＮｏ）、配備命令作成モジュール１２３は、処理２にしたがって、一部のセンサの代行案を生成する。なお、条件を満たす場合（Ｓ１２のＹｅｓ）、配備命令作成モジュール１２３は、工程Ｓ１３の処理を行わない。
【０１０８】
図１０の中継装置一覧情報１１３で説明した、装置のＣＰＵ性能指数及びメモリの値を超えてアプリケーションが動作する場合、複数のアプリケーションによるリソースの競合（コンフリクト）や、デバイス間の中継装置２０のリソースの競合が生じる。これにより、アプリケーションが適切に動作せず、中継装置２０が一部のデバイス３０のセンサデータを処理できない状態が生じ得る。
【０１０９】
したがって、配備命令作成モジュール１２３は、工程Ｓ１３として、性能及び同時接続数の条件を満たしていない中継装置２０が処理対象とする一部のセンサの処理を、別の中継装置２０に代行させる。これにより、アプリケーション間、または、デバイス間のリソースの競合を回避し、各センサのセンサデータの処理を確実に実行することが可能になる。したがって、中継装置２０のリソースを効率的に利用しながら、中継装置２０の性能や同時接続数の条件を満たすように、各センサの中継装置２０を選択可能になる。工程Ｓ１３の処理２の詳細は、図２１〜図２４にしたがって後述する。
【０１１０】
Ｓ１４：仮想マシン配備制御モジュール１２４は、配備案にしたがって、物理マシンへの仮想マシンの配備を指示するとともに、仮想マシンに対するアプリケーションのインストールを指示する。これにより、中継装置２０は各デバイス３０のセンサデータを収集して処理し、中央サーバ１０に送信できる。
【０１１１】
Ｓ１５：仮想マシン配備制御モジュール１２４は、デバイス３０の移動が生じたか否かを判定する。
【０１１２】
Ｓ１６：デバイス３０の移動が生じると（Ｓ１５のＹｅｓ）、センサアプリケーション情報管理モジュール１２１は、センサ一覧情報１１１（図８）及びアプリケーション一覧情報１１２（図９）を更新する。そして、配備命令作成モジュール１２３は、センサ一覧情報１１１及びアプリケーション一覧情報１１２を参照し、処理３にしたがって、移動したデバイスが搭載するセンサの処理を行う中継装置２０を選択する。
【０１１３】
配備命令作成モジュール１２３は、処理３として、移動してきたセンサに応じて規定された処理のうち、中継装置２０が処理の対象とする、各センサに応じて規定された処理の集合に含まれない処理の数がより少ない中継装置２０を、候補として選択する。工程Ｓ１６の処理の詳細は、図２５にしたがって後述する。また、中継装置情報管理モジュール１２２は、中継装置２０が処理対象とするセンサの変更に応じて、中継装置一覧情報１１３を更新する。
【０１１４】
図１７〜図２０にしたがって、図１１に示した配備命令作成モジュール１２３の処理１（図１６のＳ１１）の流れを詳細に説明する。
【０１１５】
［処理１の流れ］
図１７は、図１１に示した配備命令作成モジュール１２３の処理１（図１６のＳ１１）の流れを説明する第１のフローチャート図である。
【０１１６】
Ｓ２１：配備命令作成モジュール１２３は、中継装置２０を選択する対象の各デバイス３０が搭載する各センサを検出する。また、配備命令作成モジュール１２３は、センサ一覧情報１１１（図８）を参照し、各センサに応じて規定された処理を実行するアプリケーションの一覧を取得（確認）する。
【０１１７】
Ｓ２２：配備命令作成モジュール１２３は、検出した各センサを１つのクラスタにまとめる。
【０１１８】
Ｓ２３：配備命令作成モジュール１２３は、工程Ｓ２２で生成したクラスタが含む同一のアプリケーションを、１つのアプリケーションに集約する。
【０１１９】
図１８は、図１７の工程Ｓ２２、Ｓ２３を説明する図である。図１８において、図３、図４で示したものと同一のものは、同一の記号で示す。本実施の形態は、図２に示した４つのセンサの中継装置２０を選択する場合を例示する。図２で前述したとおり、４つのセンサは、温度センサ（１．０１）３０３ａ、温度センサ（２．１）３０３ｂ、湿度センサ（２．１）３０３ｃ、加速度センサ（２．２）３０３ｄである。
【０１２０】
図１８に示すように、配備命令作成モジュール１２３は、４つのセンサを、１つのクラスタｃｌ１にまとめる（図１７のＳ２２）。また、配備命令作成モジュール１２３は、図１８に示すように、センサ間で共通のアプリケーション（図１８の例では、アプリケーション８、９）を、１つのアプリケーションとして集約する（図１７のＳ２３）。なお、アプリケーション１−２は、アプリケーション１を包含する。したがって、配備命令作成モジュール１２３は、アプリケーション１−２とアプリケーション１を、アプリケーション１−２に集約する（図１７のＳ２３）。図１７のフローチャート図に説明に戻る。
【０１２１】
Ｓ２４：配備命令作成モジュール１２３は、アプリケーション一覧情報１１２（図９）を参照し、工程Ｓ２３で生成したクラスタｃｌ１が有する各アプリケーションが、並列稼働限界数を満たすか否かを判定する。つまり、配備命令作成モジュール１２３は、図１８に示すクラスタｃｌ１が有する同一のアプリケーションの合計数が、当該アプリケーションの並列稼働限界数以下であるかを判定する。
【０１２２】
アプリケーション一覧情報１１２（図９）によると、アプリケーション８の並列稼働限界数は値「１０」、アプリケーション９の並列稼働限界数は値「２」、アプリケーション１−２の並列稼働限界数は値「２」である。図１８のクラスタｃｌ１によると、３つのセンサ（温度センサ（１．０１）、温度センサ（２．１）、湿度センサ（２．１））に共通して対応するアプリケーション９の並列稼働数は値「３」となり、並列稼働限界数「２」を満たさない（Ｓ２４のＮｏ）。並列稼働限界数を満たしていない場合（Ｓ２４のＮｏ）、配備命令作成モジュール１２３の処理は、図１９に遷移する（Ａ）。
【０１２３】
Ｓ２５：一方、並列稼働限界数を満たす場合（Ｓ２４のＹｅｓ）、配備命令作成モジュール１２３は、クラスタに基づく配備案を生成する。つまり、配備命令作成モジュール１２３は、１つのクラスタに対応する１つの仮想マシンを配備するとともに、当該仮想マシンにクラスタ内の各アプリケーションを配備する配備案を生成する。
【０１２４】
図１９は、図１１に示した配備命令作成モジュール１２３の処理１（図１６のＳ１１）の流れを説明する第２のフローチャート図である。
【０１２５】
Ｓ３１：並列稼働限界数を満たしていない場合（（Ａ）、図１７のＳ２４のＮｏ）、配備命令作成モジュール１２３は、クラスタの数を１つ増加させる。
【０１２６】
Ｓ３２：配備命令作成モジュール１２３は、増加させたクラスタに、既存のクラスタが含むセンサをランダムに割り当てる。例えば、配備命令作成モジュール１２３は、図３に示した第１の選択例に示すように、２つのクラスタにセンサを割り当てる。即ち、配備命令作成モジュール１２３は、第１のクラスタに温度センサ（１．０１）３０３ａと湿度センサ（２．１）３０３ｃを割り当て、第２のクラスタに温度センサ（２．１）３０３ｂと加速度センサ（２．２）３０３ｄを割り当てる。
【０１２７】
Ｓ３３：配備命令作成モジュール１２３は、図１７の工程Ｓ２３と同様に、各クラスタについて、同一のアプリケーションを１つのアプリケーションに集約する。また、配備命令作成モジュール１２３は、クラスタと当該クラスタに割り当てるアプリケーションの組合せを示す構成を記録する。
【０１２８】
Ｓ３４：配備命令作成モジュール１２３は、クラスタとアプリケーションとの組合せ全てを対象として、工程Ｓ３５の検証を行ったか否かを判定する。
【０１２９】
Ｓ３５：組合せ全ての検証が完了していない場合（Ｓ３４のＮｏ）、配備命令作成モジュール１２３は、工程Ｓ３３で記録した組合せが、アプリケーションの並列稼働限界数の条件を満たすか否かを判定する。
【０１３０】
Ｓ３６：並列稼働限界数の条件を満たす場合（Ｓ３５のＹｅｓ）、配備命令作成モジュール１２３は、クラスタとアプリケーションの組合せに対応する、各クラスタのアプリケーションと、複数のクラスタが含むアプリケーションの合計数を記録する。
【０１３１】
図３に示した第１の選択例によると、第１、第２のクラスタが含む各アプリケーションの並列数は、並列稼働限界数の条件を満たす（Ｓ３５のＹｅｓ）。したがって、配備命令作成モジュール１２３は、第１のクラスタにアプリケーション１、２、８、９が対応し、第２のクラスタにアプリケーション１−２、５、８、９、１１が対応する旨の組合せを記憶する（Ｓ３６）。また、配備命令作成モジュール１２３は、第１、第２のクラスタのアプリケーションの合計数「９（＝４＋５）」を記録する。
【０１３２】
並列稼働限界数を満たさない場合（Ｓ３５のＮｏ）、または、工程Ｓ３６の後、配備命令作成モジュール１２３の処理は、工程Ｓ３２に遷移し、複数のクラスタへのセンサの割り当てを再実行する。
【０１３３】
Ｓ３７：組合せ全ての検証が完了した場合（Ｓ３４のＹｅｓ）、配備命令作成モジュール１２３は、並列稼働限界数を満たすクラスタとアプリケーションとの組合せが存在したか否かを判定する。存在しない場合（Ｓ３７のＮｏ）、配備命令作成モジュール１２３は、工程Ｓ３１に遷移し、さらに、クラスタの数を１つ増加させる。つまり、配備命令作成モジュール１２３は、３つのクラスタに基づいて工程Ｓ３２〜Ｓ３７の処理を行う。
【０１３４】
配備命令作成モジュール１２３は、図４に示した第２の選択例にしたがって、２つのクラスタにセンサを割り当てる（Ｓ３２）。即ち、配備命令作成モジュール１２３は、第１のクラスタに温度センサ（１．０１）３０３ａと温度センサ（２．１）３０３ｂを割り当て、第２のクラスタに湿度センサ（２．１）３０３ｃと加速度センサ（２．２）３０３ｄを割り当てる。
【０１３５】
また、図４に示した第２の選択例によると、第１、第２のクラスタが含む各アプリケーションの並列数は、並列稼働限界数の条件を満たす（Ｓ３５のＹｅｓ）。したがって、配備命令作成モジュール１２３は、第１のクラスタにアプリケーション１−２、８、９が対応し、第２のクラスタにアプリケーション２、５、８、９、１１が対応する旨の組合せを記録する（Ｓ３６）。また、配備命令作成モジュール１２３は、第１、第２のクラスタのアプリケーションの合計数「８（＝３＋５）」を記録する。
【０１３６】
並列稼働限界数を満たす組合せが存在する場合（Ｓ３７のＹｅｓ）、配備命令作成モジュール１２３の処理は、図２０のフローチャート図に遷移する（Ｂ）。
【０１３７】
図２０は、図１１に示した配備命令作成モジュール１２３の処理１（図１６のＳ１１）の流れを説明する第３のフローチャート図である。
【０１３８】
Ｓ４１：配備命令作成モジュール１２３は、記録した複数の組合せから、アプリケーションの合計数がより小さい組合せを選択し、選択した組合せに基づいて配備案を生成する。
【０１３９】
図３に示した第１の選択例のアプリケーションの合計数は値「９」であって、図４に示した第２の選択例のアプリケーションの合計数は値「８」である。したがって、配備命令作成モジュール１２３は、第２の選択例に基づいて配備案を生成する。配備案は、装置１に２つの仮想マシンを配備するとともに、第１の仮想マシンにアプリケーション１−２、８、９を配備し、第２の仮想マシンにアプリケーション２、５、８、９、１１を配備する旨の情報を含む。
【０１４０】
このように、配備命令作成モジュール１２３は、各センサと中継装置２０の第１の組合せに基づいた、複数の中継装置２０が処理対象とするセンサに応じて規定された処理の合計数を算出する。また、配備命令作成モジュール１２３は、別の第２の組合せに基づいた、複数の中継装置２０が処理対象とするセンサに応じて規定された処理の合計数を算出する。そして、配備命令作成モジュール１２３は、第１、第２の組合せに基づく処理の合計数を比較し、合計数が少ない組合せに基づいて中継装置２０の候補を選択する。
【０１４１】
これにより、配備命令作成モジュール１２３は、中継装置２０に配備するアプリケーションの合計数を最少にすることができる。また、配備命令作成モジュール１２３は、配備する仮想マシンの数を、アプリケーションの並列稼働限界数を満たす最少の値に設定できる。したがって、アプリケーションの制約を満たしながら、アプリケーションの合計数、及び、配備する仮想マシンの数を最少に抑え、リソースを効率的に利用することが可能になる。
【０１４２】
Ｓ４２：配備命令作成モジュール１２３は、作成した配備案が、中継装置２０の性能の条件を満たしているか否かを判定する。なお、工程Ｓ４２、Ｓ４３の判定処理は、図１６のフローチャート図の工程Ｓ１２に対応する。
【０１４３】
具体的に、配備命令作成モジュール１２３は、中継装置一覧情報１１３を参照し、装置のリソース（ＣＰＵ性能指数、メモリ）を取得する。また、配備命令作成モジュール１２３は、アプリケーション一覧情報１１２（図９）を参照し、配備案に基づくアプリケーションの使用リソース量（ＣＰＵ性能指数、メモリ）を取得する。そして、配備命令作成モジュール１２３は、配備案に基づいて使用するリソース量の合計が、装置のリソースの範囲内に収まるか否かを判定する。
【０１４４】
図４に示した第２の選択例を示す配備案を例示して説明する。アプリケーション一覧情報１１２（図９）によると、第１の仮想マシンに配備するアプリケーション１−２、８、９が使用するＣＰＵ性能指数の合計は値「３（＝２＋０．５＋０．５）」である。また、第１の仮想マシンに配備するアプリケーション１−２、８、９が使用するメモリの合計は「０．７ＧＢ（＝０．５＋０．１＋０．１）」である。同様にして、第２の仮想マシンに配備するアプリケーション２、５、８、９、１１が使用するＣＰＵ性能指数の合計は値「７．５」であって、使用するメモリの合計は「３．３ＧＢ」である。
【０１４５】
したがって、装置１で動作するアプリケーションが使用するＣＰＵ性能指数の合計は値「１０．５（＝３＋７．５）」であって、使用するメモリの合計は「４．０（＝０．７＋３．３）ＧＢ」である。これに対し、中継装置一覧情報１１３（図１０）によると、装置１のＣＰＵ性能指数は値「１６」、メモリは値「８ＧＢ」である。したがって、装置１で動作するアプリケーションが使用するリソースの総量は、装置１のリソースの範囲内に収まる（Ｓ４２のＹｅｓ）。
【０１４６】
ここで、作成した配備案が、中継装置２０の性能の条件を満たしていない場合（Ｓ４２のＮｏ）を例示する。仮に、装置１のＣＰＵ性能指数が値「１６」ではなく値「１１」、メモリが値「８ＧＢ」ではなく値「４．５ＧＢ」であって、さらに輝度センサ（２．０１）を処理対象とする場合、配備案は装置の性能の条件を満たさない（Ｓ４２のＮｏ）。
【０１４７】
アプリケーション一覧情報１１２（図９）によると、輝度センサ（２．０１）のセンサデータを処理するアプリケーションは、アプリケーション４−１、８、１１である。例えば、第２の仮想マシンがさらに輝度センサ（２．０１）のセンサデータを処理する場合、第２の仮想マシンは、さらに、アプリケーション４−１を搭載する。アプリケーション４−１のＣＰＵ性能指数は値「１」であって、使用メモリは値「１ＧＢ」である。
【０１４８】
したがって、装置１で動作するアプリケーションが使用するＣＰＵ性能指数の合計は値「１１．５（＝１０．５＋１）」、使用するメモリの合計は「５．０（＝４．０＋１．０）ＧＢ」となる。したがって、配備案（ＣＰＵ性能指数「１１．５」、メモリ「５．０ＧＢ」）は、装置１の性能（ＣＰＵ性能指数「１１」、メモリ「４．５ＧＢ」）の条件を満たさない（Ｓ４２のＮｏ）。
【０１４９】
Ｓ４３：作成した配備案が、中継装置２０の性能の条件を満たす場合（Ｓ４２のＹｅｓ）、配備命令作成モジュール１２３は、作成した配備案が、中継装置２０の同時接続数の条件を満たしているか否かを判定する。具体的に、配備命令作成モジュール１２３は、配備案に基づいて接続するデバイス３０の数が、装置の同時接続数内に収まるか否かを判定する。
【０１５０】
中継装置２０の性能の条件を満たす場合（Ｓ４３のＹｅｓ）、配備命令作成モジュール１２３は、処理１を終了する。そして、配備命令作成モジュール１２３は、作成した配備案に基づく配備命令を、仮想マシン配備制御モジュール１２４に出力する。
【０１５１】
例えば、装置１の同時接続数が１００であって、装置１が配備案に基づいて処理の対象とするデバイス３０の数が１１０個である場合、装置１の同時接続数は、作成した配備案に基づく接続数を満たしていない（Ｓ４３のＮｏ）。
【０１５２】
Ｓ４４：作成した配備案が、中継装置２０の性能または同時接続数の条件を満たさない場合（Ｓ４２のＮｏ、Ｓ４３のＮｏ）、配備命令作成モジュール１２３は、処理２を行う。工程Ｓ４４の処理は、図１６のフローチャート図の工程Ｓ１３に対応する。
【０１５３】
［処理２の流れ］
次に、図２１〜図２４にしたがって、図１６、図２０に示した配備命令作成モジュール１２３の処理２（図１６のＳ１３、図２０のＳ４４）の流れを詳細に説明する。
【０１５４】
図２１は、図１１に示した配備命令作成モジュール１２３の処理２（図１６のＳ１３、図２０のＳ４４）の流れを説明する第１のフローチャート図である。
【０１５５】
Ｓ５１：配備命令作成モジュール１２３は、性能または同時接続数の条件を満たしていない中継装置２０が処理対象とするセンサから、性能要件が最も小さいセンサを選択する。
【０１５６】
性能の条件を満たしていない場合（図２０のＳ４２のＮｏ）、配備命令作成モジュール１２３は、アプリケーション一覧情報１１２（図９）を参照し、中継装置２０が処理対象とする各センサのうち、ＣＰＵ性能指数及びメモリが最も小さいセンサを選択する。図２０の工程Ｓ４２に示した例によると、装置１が処理対象とする５つのセンサのうち、ＣＰＵ性能指数及びメモリが最も小さいセンサは、例えば、輝度センサ（２．０１）である。
【０１５７】
一方、同時接続数の条件を満たしていない場合（図２０のＳ４３のＮｏ）、配備命令作成モジュール１２３は、デバイス３０の数が最も少ないセンサを選択する。図２０の工程Ｓ４３に示した例によると、装置１が処理対象とする５つのセンサのうち、輝度センサ（２．０１）を搭載するデバイス３０の数が最も少ない。例えば、輝度センサ（２．０１）を搭載するデバイス３０の数は１０個である。
【０１５８】
Ｓ５２：配備命令作成モジュール１２３は、中継装置一覧情報１１３（図１０）が有する位置情報を参照し、選択したセンサからより近い場所に位置する装置を順次、検出する。例えば、配備命令作成モジュール１２３は、輝度センサ（２．０１）を搭載するデバイス３０から最も近い場所に位置する装置２を検出する。なお、近い位置に複数の装置が存在する場合、配備命令作成モジュール１２３は、いずれかの装置を選択する。
【０１５９】
Ｓ５３：配備命令作成モジュール１２３は、検出した装置全てについて、選択したセンサのセンサデータの処理を代行できるか否かの検証（Ｓ５４、Ｓ５５）を完了したか判定する。検証が完了した場合（Ｓ５３のＹｅｓ）、即ち、処理を代行できる中継装置２０が見つからなかった場合、配備命令作成モジュール１２３の処理は、図２３のフローチャート図に遷移する（Ｄ）。
【０１６０】
Ｓ５４：配備命令作成モジュール１２３は、検出した装置が実行する各仮想マシン（中継装置２０）が、選択したセンサと同一のセンサを処理対象とするか否かを判定する。即ち、配備命令作成モジュール１２３は、選択したセンサと同一のセンサを処理の対象とする中継装置２０を、当該センサの処理を代行する中継装置２０として選択する。
【０１６１】
選択したセンサと同一のセンサを処理対象とする中継装置２０に、選択したセンサの処理を代行させることにより、代行させる中継装置２０に新たに当該センサの処理を実行するアプリケーションをインストールする必要がない。したがって、配備命令作成モジュール１２３は、中継装置２０のリソースを効率的に利用するようにセンサの中継装置２０を選択できる。
【０１６２】
Ｓ５５：同一のセンサのセンサデータを処理対象としない場合（Ｓ５４のＮｏ）、配備命令作成モジュール１２３は、抽出した仮想マシンが、選択したセンサに応じて規定された処理を実行するアプリケーションを実行するか否かを判定する。即ち、配備命令作成モジュール１２３は、選択したセンサに応じて規定された処理と同一の処理を実行する中継装置２０を、当該センサの処理を代行する中継装置２０として選択する。
【０１６３】
選択したセンサに応じて規定された処理と同一の処理を実行する中継装置２０に、選択したセンサの処理を代行させることにより、代行させる中継装置２０に新たに当該センサの処理を実行するアプリケーションをインストールする必要がない。したがって、配備命令作成モジュール１２３は、中継装置２０のリソースを効率的に利用するようにセンサの中継装置２０を選択できる。
【０１６４】
同一の処理を実行しない場合（Ｓ５５のＮｏ）、配備命令作成モジュール１２３の処理は、工程Ｓ５２に遷移する。即ち、配備命令作成モジュール１２３は、選択したセンサを搭載するデバイス３０から、次に近い場所に位置する別の装置を検出する。
【０１６５】
図２２は、本実施の形態における装置２〜４が処理対象とするセンサを示す図である。図２２に示すように、装置２（４０−１２）は、１つの仮想マシン２０−２２を実行し、温度センサ（２．１）３０３ｂ、湿度センサ（２．３）３０３ｊ、気圧センサ（２．１）３０３ｉのセンサデータを処理対象とする。即ち、装置２の仮想マシン２０−２２は、輝度センサ（２．０１）３０３ｅを処理対象としない（Ｓ５４のＮｏ）。また、装置２の仮想マシン２０−２２は、輝度センサ（２．０１）３０３ｅに応じて規定された処理を実行するアプリケーション４−１、８、１１のうち、アプリケーション４−１、１１を実行しない（Ｓ５５のＮｏ）。
【０１６６】
したがって、配備命令作成モジュール１２３は、次に、装置３（４０−１３）を検出する（Ｓ５２）。図２２の例によると、装置３（４０−１３）は、１つの仮想マシン２０−２３を実行し、磁場センサ（１．５１）３０３ｇ、方角センサ（１．１）３０３ｈを処理対象とする。したがって、装置３の仮想マシン２０−２３は、輝度センサ（２．０１）３０３ｅを処理対象としない（Ｓ５４のＮｏ）。また、装置３の仮想マシン２０−２３は、アプリケーション４−１、１１を実行しない（Ｓ５５のＮｏ）。
【０１６７】
次に、配備命令作成モジュール１２３は、装置４（４０−１４）を検出する（Ｓ５２）。図２２の例によると、装置４が実行する仮想マシン２０−２４は、輝度センサ（２．０１）３０３ｅを処理対象とする（Ｓ５４のＹｅｓ）。
【０１６８】
Ｓ５６：仮想マシンが同一のセンサを処理対象とする場合（Ｓ５４のＹｅｓ）、または、同一の処理を実行する場合（Ｓ５５のＹｅｓ）、配備命令作成モジュール１２３は、デバイス３０の接続数の判定処理を行う。配備命令作成モジュール１２３は、選択したセンサのセンサデータの処理を代行した場合における中継装置２０の接続数が、中継装置２０の同時接続数を満たすか否かを判定する。
【０１６９】
同時接続数を満たさない場合（Ｓ５６のＮｏ）、配備命令作成モジュール１２３は、工程Ｓ５２に遷移し、選択したセンサを搭載するデバイス３０から、次に近い場所に位置する別の装置を検出する。
【０１７０】
例えば、装置４の同時接続数が「１００」、装置４が処理対象とするデバイス３０の数が「８５」である場合を例示する。また、装置１が処理対象とする輝度センサ（２．０１）３０３ｅを搭載するデバイス３０の数は「１０」である。装置４の仮想マシン２０−２４が、装置１の輝度センサ（２．０１）３０３ｅの処理を代行する場合、装置４の接続数は「９５（＝８５＋１０）」となり、同時接続数を満たす（Ｓ５６のＹｅｓ）。
【０１７１】
Ｓ５７：同時接続数を満たす場合（Ｓ５６のＹｅｓ）、配備命令作成モジュール１２３は、抽出した仮想マシンに、選択したセンサのセンサデータの処理を代行させる。つまり、配備命令作成モジュール１２３は、装置４で動作する仮想マシン２０−２４に、装置１が処理対象としていた輝度センサ（２．０１）３０３ｅの処理を代行させる。また、配備命令作成モジュール１２３は、装置１の配備案から輝度センサ（２．０１）３０３ｅを削除する。そして、配備命令作成モジュール１２３の処理は、図２４のフローチャート図の処理に遷移する（Ｅ）。
【０１７２】
図２３は、図１１に示した配備命令作成モジュール１２３の処理２（図１６のＳ１３、図２０のＳ４４）の流れを説明する第２のフローチャート図である。図２３は、センサデータの処理を代行できる仮想マシン（中継装置２０）が見つからなかった場合（（Ｄ）、図２１のＳ５３のＹｅｓ）の処理を示す。例えば、いずれの装置も輝度センサ（２．０１）３０３ｅを処理対象とせず、アプリケーション４−１、８、１１を搭載していない場合、図２３のフローチャート図に遷移する。
【０１７３】
Ｓ６１：配備命令作成モジュール１２３は、図２１の工程Ｓ５２と同様にして、選択したセンサを搭載するデバイス３０から、距離が近い装置を順次、検出する。そして、配備命令作成モジュール１２３は、中継装置一覧情報１１３（図１０）を参照して、各装置のリソースを取得する。配備命令作成モジュール１２３は、装置２のリソースを取得する。
【０１７４】
Ｓ６２：配備命令作成モジュール１２３は、選択したセンサのセンサデータを処理するアプリケーションを、検出した装置に配備可能であるか否かを判定する。つまり、配備命令作成モジュール１２３は、検出した装置が、選択したセンサの処理を実行するアプリケーションを配備可能な空きリソースを有するか否かを判定する。
【０１７５】
中継装置一覧情報１１３（図１０）によると、装置２のＣＰＵ性能指数は値「６」、メモリは値「４ＧＢ」である。また、例えば、配備案に基づく装置２に配備予定のアプリケーションが使用するＣＰＵ性能指数は値「５．５」、メモリは値「３．３ＧＢ」である。装置２が輝度センサ（２．０１）３０３ｅを処理対象とする場合、図２２で説明したとおり、装置２は、新たにアプリケーション４−１、１１を搭載する。アプリケーション一覧情報１１２（図９）によると、アプリケーション４−１、１１が使用するＣＰＵ性能指数の合計は値「１．５」、メモリの合計は値「１．１ＧＢ」である。したがって、装置２は、輝度センサ（２．０１）３０３ｅの配備に必要なリソースを有していない（Ｓ６２のＮｏ）。
【０１７６】
配備可能ではない場合（Ｓ６２のＮｏ）、配備命令作成モジュール１２３は、工程Ｓ６１に遷移し、次に近い場所に位置する装置３のリソースを取得する。装置３のＣＰＵ性能指数は値「８」、メモリは値「４．０ＧＢ」である。また、例えば、配備案に基づく装置３に配備予定のアプリケーションが使用するＣＰＵ性能指数は値「６．５」、メモリは値「２．７ＧＢ」である。したがって、装置３は、アプリケーション４−１、１１の配備に必要なリソースを有する（Ｓ６２のＹｅｓ）。
【０１７７】
Ｓ６３：配備可能である場合（Ｓ６２のＹｅｓ）、配備命令作成モジュール１２３は、選択したセンサのセンサデータを処理するために、追加して配備するアプリケーションを検出する。例えば、配備命令作成モジュール１２３は、装置３に追加して配備するアプリケーション４−１、１１を検出する。
【０１７８】
Ｓ６４：配備命令作成モジュール１２３は、装置全てを対象として、工程Ｓ６２、Ｓ６３の処理を行ったか否かを判定する。
【０１７９】
本実施の形態では、配備命令作成モジュール１２３は、さらに、装置４のリソース（ＣＰＵ性能指数「１０」、メモリ「６．０ＧＢ」）を取得する。例えば、配備案に基づく装置４に配備予定のアプリケーションが使用するＣＰＵ性能指数は値「５」、メモリは値「２．２ＧＢ」である。装置４が輝度センサ（２．０１）を処理対象とする場合、装置４は、新たにアプリケーション４−１（ＣＰＵ性能指数「１」、メモリ「１ＧＢ」）を搭載すればよい。したがって、装置４は、アプリケーション４−１の配備に必要なリソースを有する（Ｓ６２のＹｅｓ）。
【０１８０】
Ｓ６５：装置全てを対象とした工程Ｓ６２、Ｓ６３の処理が完了すると（Ｓ６４のＹｅｓ）、配備命令作成モジュール１２３は、選択したセンサのセンサデータの処理を代行可能な装置を検出したか否かを判定する。
【０１８１】
Ｓ６６：装置を検出した場合（Ｓ６５のＹｅｓ）、配備命令作成モジュール１２３は、選択したセンサの処理を行うアプリケーションを、処理を代行する装置に追加して配備する。
【０１８２】
また、配備可能な複数の装置を検出した場合、配備命令作成モジュール１２３は、追加して配備するアプリケーションの数が少ない装置を選択する。したがって、配備命令作成モジュール１２３は、装置３、装置４のうち、配備するアプリケーションの数がより少ない装置４を選択する。これにより、中継装置２０に配備するアプリケーションの合計数を抑えることが可能になる。そして、配備命令作成モジュール１２３は、装置１の配備案からアプリケーション４−１、１１を削除するとともに、装置４の配備案にアプリケーション４−１を追加する。
【０１８３】
工程Ｓ６５またはＳ６６の後、配備命令作成モジュール１２３は、図２４のフローチャート図の処理に遷移する（Ｅ）。
【０１８４】
図２４は、図１１に示した配備命令作成モジュール１２３の処理２（図１６のＳ１３、図２０のＳ４４）の流れを説明する第３のフローチャート図である。
【０１８５】
Ｓ７１：配備命令作成モジュール１２３は、他の中継装置２０による代行により、中継装置２０の性能または同時接続数の条件を満たすようになったか否かを判定する。
【０１８６】
Ｓ７２：満たす場合（Ｓ７１のＹｅｓ）、配備命令作成モジュール１２３は、配備案と、他の中継装置２０による代行案とを出力する。
【０１８７】
Ｓ７３：一方、満たしていない場合（Ｓ７１のＮｏ）、配備命令作成モジュール１２３は、図２１の工程Ｓ５１と同様にして、次に、性能要件が小さいセンサを選択する。
【０１８８】
Ｓ７４：次に性能要件が小さいセンサが存在するか否かを判定する。
【０１８９】
Ｓ７５：存在しない場合（Ｓ７４のＹｅｓ）、配備命令作成モジュール１２３は、処理２を終了する。配備命令作成モジュール１２３は、配備案が中継装置２０の性能や同時接続数の条件を満たしていない状態であっても、配備案にしたがって配備を指示する。
【０１９０】
一方、センサが存在する場合（Ｓ７４のＮｏ）、配備命令作成モジュール１２３は、図２１の工程Ｓ５２に遷移し、新たに選択したセンサの処理を代行する中継装置２０を検出する（Ｆ）。
【０１９１】
このように、本実施の形態における配備命令作成モジュール１２３は、まず、アプリケーションを追加することなく代行が可能な中継装置２０を検出する。そして、アプリケーションを追加することなく代行が可能な中継装置２０がない場合に、配備命令作成モジュール１２３は、追加してアプリケーションを配備可能なリソースを有する中継装置２０を検出する。したがって、配備命令作成モジュール１２３は、中継装置２０のリソースを効率的に利用するように、センサの処理を代行する中継装置２０を選択できる。
【０１９２】
［処理３の流れ］
次に、図２５にしたがって、図１６に示した配備命令作成モジュール１２３の処理３（図１６のＳ１６）の流れを詳細に説明する。
【０１９３】
図２５は、図１１に示した配備命令作成モジュール１２３の処理３（図１６のＳ１６）の流れを説明するフローチャート図である。
【０１９４】
Ｓ８１：配備命令作成モジュール１２３は、デバイス３０の移動を検出すると、当該デバイス３０から所定の距離範囲内に位置する装置を抽出する。また、センサアプリケーション情報管理モジュール１２１は、センサ一覧情報１１１（図８）、アプリケーション一覧情報１１２（図９）を更新する。
【０１９５】
例えば、新たに、酸素濃度センサを搭載するデバイス３０が移動してきた場合、センサアプリケーション情報管理モジュール１２１は、酸素濃度センサの情報をセンサ一覧情報１１１に追加する。また、センサアプリケーション情報管理モジュール１２１は、酸素濃度センサに応じて規定された処理を実行するアプリケーションの情報をアプリケーション一覧情報１１２に追加する。
【０１９６】
一方、湿度センサ（２．１）を搭載するデバイス３０が移動して不在になった場合を例示する。センサアプリケーション情報管理モジュール１２１は、湿度センサ（２．１）を搭載するデバイス３０が他に存在しない場合、センサ一覧情報１１１から湿度センサ（２．１）の情報を削除する。また、センサアプリケーション情報管理モジュール１２１は、湿度センサ（２．１）のみに関連するアプリケーションの情報を、アプリケーション一覧情報１１２から削除する。具体的に、センサアプリケーション情報管理モジュール１２１は、アプリケーション２の情報を削除する。
【０１９７】
Ｓ８２：配備命令作成モジュール１２３は、抽出した、複数の中継装置２０から、移動したデバイス３０が搭載するセンサの中継装置２０を選択する。配備命令作成モジュール１２３は、移動したデバイス３０のセンサに応じて規定された処理のうち、中継装置２０が処理対象とする、各センサに応じて規定された処理の集合に含まれない処理数がより少ない中継装置２０を選択する。
【０１９８】
図５で前述した、輝度センサ（１．１）３０３ｆを搭載するデバイス３０が移動した場合を例示する。図５に示した第１、第２の中継装置２０−１１、２０−１２は、装置１に配備する第１、第２の仮想マシンに対応し、図５に示した第３の中継装置２０−１３は、装置４の仮想マシン２０−２４に対応する。配備命令作成モジュール１２３は、輝度センサ（１．１）３０３ｆの中継装置２０を、第１、第２の仮想マシンから選択する。
【０１９９】
図５の例によると、配備命令作成モジュール１２３は、アプリケーション４、８、１１のうち、第１の仮想マシンが処理対象とする各センサに応じて規定されたアプリケーション１−２、８、９に含まれない処理の数「２」を算出する。また、配備命令作成モジュール１２３は、アプリケーション４、８、１１のうち、第２の仮想マシンが処理対象とする各センサに応じて規定されたアプリケーション２、５、８、９、１１に含まれない処理の数「１」を算出する。そして、配備命令作成モジュール１２３は、第１の仮想マシンの処理集合に含まれない数「２」と第２の仮想マシンの処理集合に含まれない処理の数「１」を比較し、数がより少ない第２の仮想マシンを中継装置２０として選択する。
【０２００】
これにより、配備命令作成モジュール１２３は、中継装置２０のアプリケーションの合計数が最少になるように、移動したデバイス３０が搭載するセンサの中継装置２０を選択できる。したがって、配備命令作成モジュール１２３は、中継装置２０のリソースを効率的に利用するように、移動したデバイス３０の中継装置２０を選択できる。
【０２０１】
Ｓ８３：配備命令作成モジュール１２３は、移動したデバイス３０が搭載するセンサの処理を行う中継装置２０が、性能の条件を満たしているか否かを判定する。配備命令作成モジュール１２３は、選択した中継装置２０のアプリケーションが使用するリソースの合計が、装置のリソースの範囲内に収まるか否かを判定する。
【０２０２】
Ｓ８４：性能の条件を満たす場合（Ｓ８３のＹｅｓ）、配備命令作成モジュール１２３は、移動したデバイス３０が搭載するセンサの処理を行う中継装置２０が、同時接続数の条件を満たしているか否かを判定する。
【０２０３】
Ｓ８５：いずれかの条件を満たしていない場合（Ｓ８３のＮｏ、Ｓ８４のＮｏ）、配備命令作成モジュール１２３は、図２１〜図２４で説明した処理２を行う。
【０２０４】
Ｓ８６：いずれの条件も満たす場合（Ｓ８４のＹｅｓ）、配備命令作成モジュール１２３は、移動したデバイス３０が搭載するセンサの処理を行っていた中継装置２０から、当該センサのみに関連するアプリケーションの情報を削除する。
【０２０５】
例えば、図５の例によると、装置４の仮想マシン２０−２４が、他のデバイス３０から輝度センサ（１．１）３０３ｆのセンサデータを収集しない場合、配備命令作成モジュール１２３は、仮想マシン２０−２４からアプリケーション４を削除する。なお、仮想マシン２０−２４が、他のデバイス３０から輝度センサ（１．１）３０３ｆのセンサデータを収集する場合、配備命令作成モジュール１２３は、アプリケーション４を削除しない。また、中継装置情報管理モジュール１２２は、中継装置一覧情報１１３（図１０）の装置４の情報から輝度センサ（１．１）３０３ｆの情報を削除するとともに、装置１の情報に、輝度センサ（１．１）３０３ｆの情報を追加する。
【０２０６】
［他の実施の形態］
なお、上記の実施の形態は、中継装置２０を仮想マシンにしたがって実現する場合を例示した。ただし、中継装置２０を物理マシンで実現する場合についても、同様にして、中継装置２０のリソースを効率的に利用するように各センサの中継装置２０を選択可能になる。
【０２０７】
なお、配備命令作成モジュール１２３は、処理２において、センサの処理を代行する中継装置２０として、センサを搭載するデバイス３０が通信できない場所に位置する中継装置２０を選択してもよい。選択された中継装置２０は、例えば、別の中継装置２０や中央サーバ１０を経由してセンサデータを受信し処理を行う。これにより、中継装置２０に配備するアプリケーションの合計数をより低減させ、中継装置２０のリソースを効率的に利用することが可能になる。
【０２０８】
以上の実施の形態をまとめると、次の付記のとおりである。
【０２０９】
（付記１）
処理部が、１又は複数の機器から前記機器のセンサが検出したセンサデータを収集し、前記センサに応じて規定された１又は複数の処理を実行し処理結果を出力する複数の中継装置のうち、特定の中継装置が前記処理の対象とする特定のセンサを他の中継装置の前記処理の対象に変更する際に、該特定のセンサに応じて規定された１又は複数の処理のうち、前記中継装置が前記処理の対象とする、各センサに応じて規定された処理の集合に含まれない処理の数がより少ない前記中継装置を、前記他の中継装置の候補として選択する、
中継装置の選択方法。
【０２１０】
（付記２）
処理部が、１又は複数の機器から前記機器のセンサが検出したセンサデータを収集し、前記センサに応じて規定された１又は複数の処理を実行し処理結果を出力する複数の中継装置から、各センサの前記処理を実行する前記中継装置を選択する際に、前記中継装置が前記処理の対象とするセンサに応じて規定された処理の、前記複数の中継装置における合計数がより少ない前記各センサの前記中継装置を、前記中継装置の候補として選択する、
中継装置の選択方法。
【０２１１】
（付記３）
付記１または２において、
前記選択は、前記中継装置内の前記処理の並列数が、前記処理に応じて規定された所定値を超えない前記中継装置を、前記候補として選択する、
中継装置の選択方法。
【０２１２】
（付記４）
付記３において、
前記選択は、前記選択は、さらに、仮想マシンにしたがって構成する前記中継装置内の前記処理の前記並列数が、前記処理に応じて規定された所定値を超えない前記中継装置の配備数を算出し、算出した前記配備数の前記中継装置から前記中継装置の候補を選択する、
中継装置の選択方法。
【０２１３】
（付記５）
付記１乃至４のいずれかにおいて、
前記選択は、選択した前記中継装置の候補が、前記中継装置の性能に関する条件、前記機器との接続数に関する条件のいずれか又は両方を満たしていない場合、さらに、選択した前記中継装置の候補が前記処理の対象とする一部のセンサの前記処理を代行する中継装置を選択する、
中継装置の選択方法。
【０２１４】
（付記６）
付記５において、
前記選択は、選択した前記中継装置の候補が前記処理の対象とする一部のセンサと同一のセンサを前記処理の対象とする前記中継装置を、前記一部のセンサの処理を代行する中継装置として選択する、
中継装置の選択方法。
【０２１５】
（付記７）
付記５において、
前記選択は、選択した前記中継装置の候補が前記処理の対象とする一部のセンサに応じて規定された処理と同一の処理を実行する前記中継装置を、前記一部のセンサの処理を代行する中継装置として選択する、
中継装置の選択方法。
【０２１６】
（付記８）
付記１において、
前記選択は、前記特定のセンサに応じて規定された処理のうち、第１の中継装置が前記処理の対象とする各センサに応じて規定された処理の第１の集合に含まれない処理の数と、第２の中継装置が前記処理の対象とする各センサに応じて規定された処理の第２の集合に含まれない処理の数とを比較し、当該数がより少ない中継装置を前記他の中継装置の候補として選択する、
中継装置の選択方法。
【０２１７】
（付記９）
付記２において、
前記選択は、各センサと前記第１、第２の中継装置の第１の組合せに基づいた、第１、第２の中継装置が前記処理の対象とするセンサに応じて規定された処理の合計数と、第２の組合せに基づいた、第１、第２の中継装置が前記処理の対象とするセンサに応じて規定された処理の合計数とを比較し、前記合計数が少ない組合せに基づいて前記中継装置の候補を選択する、
中継装置の選択方法。
【０２１８】
（付記１０）
１又は複数の機器から前記機器のセンサが検出したセンサデータを収集し、前記センサに応じて規定された１又は複数の処理を実行し処理結果を出力する複数の中継装置のうち、特定の中継装置が前記処理の対象とする特定のセンサを他の中継装置の前記処理の対象に変更する際に、該特定のセンサに応じて規定された１又は複数の処理のうち、前記中継装置が前記処理の対象とする、各センサに応じて規定された処理の集合に含まれない処理の数がより少ない前記中継装置を、前記他の中継装置の候補として選択する、
処理をコンピュータに実行させる中継装置の選択プログラム。
【０２１９】
（付記１１）
１又は複数の機器から前記機器のセンサが検出したセンサデータを収集し、前記センサに応じて規定された１又は複数の処理を実行し処理結果を出力する複数の中継装置から、各センサの前記処理を実行する前記中継装置を選択する際に、前記中継装置が前記処理の対象とするセンサに応じて規定された処理の、前記複数の中継装置における合計数がより少ない前記各センサの前記中継装置を、前記中継装置の候補として選択する、
処理をコンピュータに実行させる中継装置の選択プログラム。
【０２２０】
（付記１２）
付記１０または１１において、
前記選択は、前記中継装置内の前記処理の並列数が、前記処理に応じて規定された所定値を超えない前記中継装置を、前記候補として選択する、
中継装置の選択プログラム。
【０２２１】
（付記１３）
付記１２において、
前記選択は、さらに、仮想マシンにしたがって構成する前記中継装置内の前記処理の前記並列数が、前記処理に応じて規定された所定値を超えない前記中継装置の配備数を算出し、算出した前記配備数の前記中継装置から前記中継装置の候補を選択する、
中継装置の選択プログラム。
【０２２２】
（付記１４）
付記１０乃至１３のいずれかにおいて、
前記選択は、選択した前記中継装置の候補が、前記中継装置の性能に関する条件、前記機器との接続数に関する条件のいずれか又は両方を満たしていない場合、さらに、選択した前記中継装置の候補が前記処理の対象とする一部のセンサの前記処理を代行する中継装置を選択する、
中継装置の選択プログラム。
【０２２３】
（付記１５）
付記１４において、
前記選択は、選択した前記中継装置の候補が前記処理の対象とする一部のセンサと同一のセンサを前記処理の対象とする前記中継装置を、前記一部のセンサの処理を代行する中継装置として選択する、
中継装置の選択プログラム。
【０２２４】
（付記１６）
付記１４において、
前記選択は、選択した前記中継装置の候補が前記処理の対象とする一部のセンサに応じて規定された処理と同一の処理を実行する前記中継装置を、前記一部のセンサの処理を代行する中継装置として選択する、
中継装置の選択プログラム。
【０２２５】
（付記１７）
センサが検出したセンサデータをそれぞれ送信する複数の機器と、
１又は複数の機器から前記センサデータを収集し、前記センサに応じて規定された１又は複数の処理を実行し処理結果を出力する複数の中継装置と、
前記処理結果を受信する情報処理装置と、を有し、
前記情報処理装置は、前記複数の中継装置のうち、特定の中継装置が前記処理の対象とする特定のセンサを他の中継装置の前記処理の対象に変更する際に、該特定のセンサに応じて規定された１又は複数の処理のうち、前記中継装置が前記処理の対象とする、各センサに応じて規定された処理の集合に含まれない処理の数がより少ない前記中継装置を、前記他の中継装置の候補として選択する処理部、を有する、
情報処理システム。
【０２２６】
（付記１８）
センサが検出したセンサデータをそれぞれ送信する複数の機器と、
１又は複数の機器から前記センサデータを収集し、前記センサに応じて規定された１又は複数の処理を実行し処理結果を出力する複数の中継装置と、
前記処理結果を受信する情報処理装置と、を有し、
前記情報処理装置は、前記複数の中継装置から、各センサの前記処理を実行する前記中継装置を選択する際に、前記中継装置が前記処理の対象とするセンサに応じて規定された処理の、前記複数の中継装置における合計数がより少ない前記各センサの前記中継装置を、前記中継装置の候補として選択する処理部、を有する、
情報処理システム。
【０２２７】
（付記１９）
付記１７または１８において、
前記処理部は、前記中継装置内の前記処理の並列数が、前記処理に応じて規定された所定値を超えない前記中継装置を、前記候補として選択する、
情報処理システム。
【０２２８】
（付記２０）
付記１７において、
前記処理部は、さらに、仮想マシンにしたがって構成する前記中継装置内の前記処理の前記並列数が、前記処理に応じて規定された所定値を超えない前記中継装置の配備数を算出し、算出した前記配備数の前記中継装置から前記中継装置の候補を選択する、
情報処理システム。
【符号の説明】
【０２２９】
１００：情報処理システム、１０：中央サーバ、１０１：ＣＰＵ、１０２：メモリ、１０３：通信インタフェース部、２０（２０−１〜２０−９）：中継装置、３０（３０−１ａ〜３０−４ｅ）：デバイス、３０１：ＣＰＵ、３０２：メモリ、３０３：センサ、３０４：無線通信部、３０５：アンテナ
【図１】
2016171472.tif 000003
【図２】
2016171472.tif 000004
【図３】
2016171472.tif 000005
【図４】
2016171472.tif 000006
【図５】
2016171472.tif 000007
【図６】
2016171472.tif 000008
【図７】
2016171472.tif 000009
【図８】
2016171472.tif 000010
【図９】
2016171472.tif 000011
【図１０】
2016171472.tif 000012
【図１１】
2016171472.tif 000013
【図１２】
2016171472.tif 000014
【図１３】
2016171472.tif 000015
【図１４】
2016171472.tif 000016
【図１５】
2016171472.tif 000017
【図１６】
2016171472.tif 000018
【図１７】
2016171472.tif 000019
【図１８】
2016171472.tif 000020
【図１９】
2016171472.tif 000021
【図２０】
2016171472.tif 000022
【図２１】
2016171472.tif 000023
【図２２】
2016171472.tif 000024
【図２３】
2016171472.tif 000025
【図２４】
2016171472.tif 000026
【図２５】
2016171472.tif 000027