IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ KDDI株式会社の特許一覧

特許7193429デバイスシステム、デバイス、コンピュータプログラム及びデバイスシステム制御方法
<>
  • 特許-デバイスシステム、デバイス、コンピュータプログラム及びデバイスシステム制御方法 図1
  • 特許-デバイスシステム、デバイス、コンピュータプログラム及びデバイスシステム制御方法 図2
  • 特許-デバイスシステム、デバイス、コンピュータプログラム及びデバイスシステム制御方法 図3
  • 特許-デバイスシステム、デバイス、コンピュータプログラム及びデバイスシステム制御方法 図4
  • 特許-デバイスシステム、デバイス、コンピュータプログラム及びデバイスシステム制御方法 図5
  • 特許-デバイスシステム、デバイス、コンピュータプログラム及びデバイスシステム制御方法 図6
  • 特許-デバイスシステム、デバイス、コンピュータプログラム及びデバイスシステム制御方法 図7
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-12-12
(45)【発行日】2022-12-20
(54)【発明の名称】デバイスシステム、デバイス、コンピュータプログラム及びデバイスシステム制御方法
(51)【国際特許分類】
   G06F 9/50 20060101AFI20221213BHJP
   G06F 13/10 20060101ALI20221213BHJP
【FI】
G06F9/50 150C
G06F13/10 310D
【請求項の数】 7
(21)【出願番号】P 2019149076
(22)【出願日】2019-08-15
(65)【公開番号】P2021033370
(43)【公開日】2021-03-01
【審査請求日】2021-06-22
(73)【特許権者】
【識別番号】000208891
【氏名又は名称】KDDI株式会社
(74)【代理人】
【識別番号】100165179
【弁理士】
【氏名又は名称】田▲崎▼ 聡
(74)【代理人】
【識別番号】100175824
【弁理士】
【氏名又は名称】小林 淳一
(74)【代理人】
【識別番号】100114937
【弁理士】
【氏名又は名称】松本 裕幸
(72)【発明者】
【氏名】加須屋 悠己
【審査官】三坂 敏夫
(56)【参考文献】
【文献】特開平09-186718(JP,A)
【文献】特開2013-065957(JP,A)
【文献】特開2005-148911(JP,A)
【文献】特開2004-171123(JP,A)
【文献】特開2003-186765(JP,A)
【文献】特開2017-129921(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 9/50
G06F 13/00
(57)【特許請求の範囲】
【請求項1】
同じクラスタに属する複数のデバイスが通信により相互に情報を交換するデバイスシステムにおいて、
ユーザの要求に基づいたデバイス動作ポリシーを作成し、前記デバイス動作ポリシーを前記クラスタへ配布するデバイス管理部を備え、
前記デバイスは、デバイスエージェントを備え、
前記デバイス動作ポリシーは、データ収集ポリシーであって、データ収集条件項目として収集対象のデータ種別又はセンサ種別、収集間隔、収集期間及びデバイスの情報処理に使用される計算資源の計算資源使用量を示し、
前記デバイスエージェントは、前記収集対象のデータ種別に対応するセンサ又は前記収集対象のセンサ種別のセンサを利用して所定のデータを前記収集期間において前記収集間隔で収集する動作を自デバイスに実行させるか否かを、前記計算資源使用量と自デバイスの利用可能な空きの計算資源量との比較結果及び前記計算資源使用量と同じクラスタに属する他デバイスの利用可能な空きの計算資源量との比較結果から判断する、
デバイスシステム。
【請求項2】
前記デバイス動作ポリシーは、リソース割当ポリシーをさらに含み、
前記リソース割当ポリシーは、デバイスの情報処理に使用される計算資源を割り当てるときの割当規則を示し、
前記デバイスエージェントは、自デバイスの利用可能な空きの計算資源量と前記他デバイスの利用可能な空きの計算資源量とに基づいて、前記割当規則に最も当てはまるデバイスに前記計算資源を割り当てる、
請求項1に記載のデバイスシステム。
【請求項3】
複数の前記クラスタを備え、
前記デバイス管理部は、ユーザの要求と各前記クラスタの利用状況とに基づいて、当該ユーザの要求を依頼する依頼先の前記クラスタを前記複数の前記クラスタの中から決定する、
請求項1又は2のいずれか1項に記載のデバイスシステム。
【請求項4】
複数の前記デバイス管理部と、
ユーザの要求を受信し、受信したユーザの要求を、前記複数の前記デバイス管理部のうち少なくとも一つの前記デバイス管理部へ通知する中央管理部と、
を備える請求項に記載のデバイスシステム。
【請求項5】
同じクラスタに属する複数のデバイスが通信により相互に情報を交換するデバイスシステムに備わる前記デバイスであって、
デバイスエージェントを備え、
ユーザの要求に基づいたデバイス動作ポリシーがデバイス管理部から前記クラスタへ配布され、
前記デバイス動作ポリシーは、データ収集ポリシーであって、データ収集条件項目として収集対象のデータ種別又はセンサ種別、収集間隔、収集期間及びデバイスの情報処理に使用される計算資源の計算資源使用量を示し、
前記デバイスエージェントは、前記収集対象のデータ種別に対応するセンサ又は前記収集対象のセンサ種別のセンサを利用して所定のデータを前記収集期間において前記収集間隔で収集する動作を自デバイスに実行させるか否かを、前記計算資源使用量と自デバイスの利用可能な空きの計算資源量との比較結果及び前記計算資源使用量と同じクラスタに属する他デバイスの利用可能な空きの計算資源量との比較結果から判断する、
デバイス。
【請求項6】
同じクラスタに属する複数のデバイスが通信により相互に情報を交換するデバイスシステムに備わる前記デバイスのコンピュータに、
デバイスエージェント機能を実現させるためのコンピュータプログラムであって、
ユーザの要求に基づいたデバイス動作ポリシーがデバイス管理部から前記クラスタへ配布され、
前記デバイス動作ポリシーは、データ収集ポリシーであって、データ収集条件項目として収集対象のデータ種別又はセンサ種別、収集間隔、収集期間及びデバイスの情報処理に使用される計算資源の計算資源使用量を示し、
前記デバイスエージェント機能は、前記収集対象のデータ種別に対応するセンサ又は前記収集対象のセンサ種別のセンサを利用して所定のデータを前記収集期間において前記収集間隔で収集する動作を自デバイスに実行させるか否かを、前記計算資源使用量と自デバイスの利用可能な空きの計算資源量との比較結果及び前記計算資源使用量と同じクラスタに属する他デバイスの利用可能な空きの計算資源量との比較結果から判断する、
コンピュータプログラム。
【請求項7】
同じクラスタに属する複数のデバイスが通信により相互に情報を交換するデバイスシステムの制御方法であって、
デバイス管理部が、ユーザの要求に基づいたデバイス動作ポリシーを作成し、前記デバイス動作ポリシーを前記クラスタへ配布し、
前記デバイス動作ポリシーは、データ収集ポリシーであって、データ収集条件項目として収集対象のデータ種別又はセンサ種別、収集間隔、収集期間及びデバイスの情報処理に使用される計算資源の計算資源使用量を示し、
前記デバイスが備えるデバイスエージェントが、前記収集対象のデータ種別に対応するセンサ又は前記収集対象のセンサ種別のセンサを利用して所定のデータを前記収集期間において前記収集間隔で収集する動作を自デバイスに実行させるか否かを、前記計算資源使用量と自デバイスの利用可能な空きの計算資源量との比較結果及び前記計算資源使用量と同じクラスタに属する他デバイスの利用可能な空きの計算資源量との比較結果から判断する、
デバイスシステム制御方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、デバイスシステムデバイス、コンピュータプログラム及びデバイスシステム制御方法に関する。
【背景技術】
【0002】
近年、モノのインターネット(Internet of Things:IoT)を実現するための多数のデバイスからデータを取得して利用するサービスが検討されている。例えば、特許文献1に記載されるデータ収集基盤技術では、基盤管理部が、アプリケーションの要求条件と複数のデータ処理ノードの計算資源とネットワーク帯域情報とに基づいて、複数のデータ処理ノードで当該アプリケーションを実行するモジュールの配置計算を行ない、配置計算の結果に従ってデータ処理ノードにモジュールを配備している。
【先行技術文献】
【特許文献】
【0003】
【文献】特開2018-190124号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかし、上述した従来のデータ収集基盤技術では、中央管理サーバが多数のIoTデバイスについてその計算資源を集中管理する場合、IoTデバイスが追加されると中央管理サーバにおける計算資源管理処理の計算量が増加するがその増加した計算量を中央管理サーバの処理能力で賄うことができるか否かが問題となって、IoTデバイスの柔軟な追加を実施することができない可能性があった。また、複数の事業者に対してIoTデバイスを共同で利用するサービスを提供するデバイスシステムにおいて、複数の事業者が同じデータを利用する場合であっても、データを取得して処理するアプリケーションを各事業者が独自に配置する必要がある。
【0005】
本発明は、このような事情を考慮してなされたものであり、その目的は、複数のデバイスの計算資源の管理にかかる負担の軽減を図ることにある。
【課題を解決するための手段】
【0006】
本発明の一態様は、同じクラスタに属する複数のデバイスが通信により相互に情報を交換するデバイスシステムにおいて、ユーザの要求に基づいたデバイス動作ポリシーを作成し、前記デバイス動作ポリシーを前記クラスタへ配布するデバイス管理部を備え、前記デバイスは、デバイスエージェントを備え、前記デバイス動作ポリシーは、データ収集ポリシーであって、データ収集条件項目として収集対象のデータ種別又はセンサ種別、収集間隔、収集期間及びデバイスの情報処理に使用される計算資源の計算資源使用量を示し、前記デバイスエージェントは、前記収集対象のデータ種別に対応するセンサ又は前記収集対象のセンサ種別のセンサを利用して所定のデータを前記収集期間において前記収集間隔で収集する動作を自デバイスに実行させるか否かを、前記計算資源使用量と自デバイスの利用可能な空きの計算資源量との比較結果及び前記計算資源使用量と同じクラスタに属する他デバイスの利用可能な空きの計算資源量との比較結果から判断する、デバイスシステムである。
本発明の一態様は、上記のデバイスシステムにおいて、前記デバイス動作ポリシーは、リソース割当ポリシーをさらに含み、前記リソース割当ポリシーは、デバイスの情報処理に使用される計算資源を割り当てるときの割当規則を示し、前記デバイスエージェントは、自デバイスの利用可能な空きの計算資源量と前記他デバイスの利用可能な空きの計算資源量とに基づいて、前記割当規則に最も当てはまるデバイスに前記計算資源を割り当てる、デバイスシステムである。
本発明の一態様は、上記のデバイスシステムにおいて、複数の前記クラスタを備え、前記デバイス管理部は、ユーザの要求と各前記クラスタの利用状況とに基づいて、当該ユーザの要求を依頼する依頼先の前記クラスタを前記複数の前記クラスタの中から決定する、デバイスシステムである。
本発明の一態様は、上記のデバイスシステムにおいて、複数の前記デバイス管理部と、ユーザの要求を受信し、受信したユーザの要求を、前記複数の前記デバイス管理部のうち少なくとも一つの前記デバイス管理部へ通知する中央管理部と、を備えるデバイスシステムである。
【0008】
本発明の一態様は、同じクラスタに属する複数のデバイスが通信により相互に情報を交換するデバイスシステムに備わる前記デバイスであって、デバイスエージェントを備え、ユーザの要求に基づいたデバイス動作ポリシーがデバイス管理部から前記クラスタへ配布され、前記デバイス動作ポリシーは、データ収集ポリシーであって、データ収集条件項目として収集対象のデータ種別又はセンサ種別、収集間隔、収集期間及びデバイスの情報処理に使用される計算資源の計算資源使用量を示し、前記デバイスエージェントは、前記収集対象のデータ種別に対応するセンサ又は前記収集対象のセンサ種別のセンサを利用して所定のデータを前記収集期間において前記収集間隔で収集する動作を自デバイスに実行させるか否かを、前記計算資源使用量と自デバイスの利用可能な空きの計算資源量との比較結果及び前記計算資源使用量と同じクラスタに属する他デバイスの利用可能な空きの計算資源量との比較結果から判断する、デバイスである。
【0010】
本発明の一態様は、同じクラスタに属する複数のデバイスが通信により相互に情報を交換するデバイスシステムに備わる前記デバイスのコンピュータに、デバイスエージェント機能を実現させるためのコンピュータプログラムであって、ユーザの要求に基づいたデバイス動作ポリシーがデバイス管理部から前記クラスタへ配布され、前記デバイス動作ポリシーは、データ収集ポリシーであって、データ収集条件項目として収集対象のデータ種別又はセンサ種別、収集間隔、収集期間及びデバイスの情報処理に使用される計算資源の計算資源使用量を示し、前記デバイスエージェント機能は、前記収集対象のデータ種別に対応するセンサ又は前記収集対象のセンサ種別のセンサを利用して所定のデータを前記収集期間において前記収集間隔で収集する動作を自デバイスに実行させるか否かを、前記計算資源使用量と自デバイスの利用可能な空きの計算資源量との比較結果及び前記計算資源使用量と同じクラスタに属する他デバイスの利用可能な空きの計算資源量との比較結果から判断する、コンピュータプログラムである。
【0011】
本発明の一態様は、同じクラスタに属する複数のデバイスが通信により相互に情報を交換するデバイスシステムの制御方法であって、デバイス管理部が、ユーザの要求に基づいたデバイス動作ポリシーを作成し、前記デバイス動作ポリシーを前記クラスタへ配布し、前記デバイス動作ポリシーは、データ収集ポリシーであって、データ収集条件項目として収集対象のデータ種別又はセンサ種別、収集間隔、収集期間及びデバイスの情報処理に使用される計算資源の計算資源使用量を示し、前記デバイスが備えるデバイスエージェントが、前記収集対象のデータ種別に対応するセンサ又は前記収集対象のセンサ種別のセンサを利用して所定のデータを前記収集期間において前記収集間隔で収集する動作を自デバイスに実行させるか否かを、前記計算資源使用量と自デバイスの利用可能な空きの計算資源量との比較結果及び前記計算資源使用量と同じクラスタに属する他デバイスの利用可能な空きの計算資源量との比較結果から判断する、デバイスシステム制御方法である。
【発明の効果】
【0012】
本発明によれば、複数のデバイスの計算資源の管理にかかる負担の軽減を図ることができるという効果が得られる。
【図面の簡単な説明】
【0013】
図1】一実施形態に係るデバイスシステムの構成例を示す図である。
図2】一実施形態に係る基本デバイスポリシー配布段階の手順の例を示すシーケンス図である。
図3】一実施形態に係るデバイス情報共有段階の手順の例を示すシーケンス図である。
図4】一実施形態に係るユーザによるデバイス状態確認段階の手順の例を示すシーケンス図である。
図5】一実施形態に係るデータ収集要求段階の手順の例を示すシーケンス図である。
図6】一実施形態に係る計算資源要求段階の手順の例を示すシーケンス図である。
図7】一実施形態に係るデバイスシステムの拡張構成例を示す図である。
【発明を実施するための形態】
【0014】
以下、図面を参照し、本発明の実施形態について説明する。
図1は、一実施形態に係るデバイスシステムの構成例を示す図である。図1において、デバイスシステム1は、クラウドサーバ10と、IoTゲートウェイ(IoTGW)11と、複数のデバイス13,14,15,23,24,25とを備える。3個のデバイス13,14,15は、同じクラスタ301に属するデバイスである。デバイス13、14、15には、自己の所属クラスタがクラスタ301であることが設定されている。3個のデバイス23,24,25は、同じクラスタ302に属するデバイスである。デバイス23,24,25には、自己の所属クラスタがクラスタ302であることが設定されている。
【0015】
クラウドサーバ10とIoTGW11とは通信を行う。例えば、クラウドサーバ10とIoTGW11とは、インターネット等の通信ネットワークを介して通信を行う。IoTGW11は、自己の管理下のクラスタ301,302に各々属するデバイス13,14,15,23,24,25と通信を行う。例えば、IoTGW11は、有線又は無線の通信ネットワークを介して、デバイス13,14,15,23,24,25と通信を行う。
【0016】
[クラウドサーバ]
クラウドサーバ10は、クラスタ301,302を含む複数のクラスタを管理する。図1には、クラウドサーバ10が管理する複数のクラスタのうちクラスタ301,302を図示している。クラウドサーバ10は、中央管理エージェント101と、ブローカー501とを備える。
【0017】
クラウドサーバ10の機能は、クラウドサーバ10が備えるCPU(Central Processing Unit:中央演算処理装置)がコンピュータプログラムを実行することにより実現される。クラウドサーバ10として、汎用のコンピュータ装置を使用して構成してもよく、又は、専用のハードウェア装置として構成してもよい。本実施形態の一例として、クラウドサーバ10の各機能はクラウドコンピューティングにより実現されている。また、クラウドサーバ10として、例えばWWWシステム等を利用してウェブサイトを開設するように構成してもよい。
【0018】
中央管理エージェント101(中央管理部)は、ポリシー管理・配布機能(policy manager)と、GUI(Graphical User Interface)機能とを有する。
【0019】
ポリシー管理・配布機能は、クラウドサーバ10の管理下の複数のクラスタに対して配布する同じ基本デバイスポリシーを保持する。ポリシー管理・配布機能は、管理者からの指示に従って、基本デバイスポリシーの設定を行う。管理者は、管理端末(図示せず)を使用してクラウドサーバ10にアクセスし、基本デバイスポリシーをクラウドサーバ10に設定する。ポリシー管理・配布機能は、同じ基本デバイスポリシーを、クラウドサーバ10が管理する複数のクラスタに各々対応するIoTGWへ配布する。図1の例では、IoTGW11に対して、他のIoTGWに配布されるものと同じ基本デバイスポリシーが配布される。
【0020】
本実施形態の一例として、基本デバイスポリシーは、デバイスにおけるデータ収集及び計算資源割当に関する基本ポリシーである。計算資源は、情報処理に使用される例えばCPUやメモリや電源等のデバイスの構成要素である。
【0021】
GUI機能は、ユーザが端末を利用してユーザ要求等のユーザ情報を中央管理エージェント101との間でやり取りするためのグラフィックインタフェースである。図1には、ユーザの一例として事業者が示されている。
【0022】
ブローカー501は、クラウドサーバ10が通信を行う通信相手との間でメッセージを交換するためのメッセージ交換機能を有する。本実施形態に係るメッセージ交換機能の一例として、pub/subメッセージングモデルを使用する。具体的には、ブローカー501は、クラウドサーバ10(pub)から通信相手(sub)へ送信するメッセージを保持し、当該メッセージを通信相手(sub)に取得してもらう。また、ブローカー501は、通信相手(pub)からクラウドサーバ10(sub)へ送信されるメッセージを当該通信相手(pub)から受信して保持する。
【0023】
ブローカー501は、クラウドサーバ10が管理する複数のクラスタに各々対応するIoTGWとの間で、メッセージの交換を行う。図1の例では、ブローカー501は、クラウドサーバ10が管理する複数のクラスタのうちクラスタ301,302に対応するIoTGW11との間で、メッセージの交換を行う。
【0024】
[IoTGW]
IoTGW11は、ゲートウェイエージェント(GWエージェント)102と、ブローカー502とを備える。IoTGW11の機能は、IoTGW11が備えるCPUがコンピュータプログラムを実行することにより実現される。なお、IoTGW11として、汎用のコンピュータ装置を使用して構成してもよく、又は、専用のハードウェア装置として構成してもよい。
【0025】
GWエージェント102は、デバイス管理機能を有する。デバイス管理機能は、ユーザの要求に基づいたデバイス動作ポリシーを作成し、作成したデバイス動作ポリシーをIoTGW11の管理下のクラスタ301,302へ配布する。デバイス動作ポリシーは、クラウドサーバ10から配布された基本デバイスポリシーに基づいて作成される。
【0026】
ブローカー502は、IoTGW11が通信を行う通信相手との間でメッセージを交換するためのメッセージ交換機能を有する。ブローカー502は、IoTGW11(pub)から通信相手(sub)へ送信するメッセージを保持し、当該メッセージを通信相手(sub)に取得してもらう。また、ブローカー502は、通信相手(pub)からIoTGW11(sub)へ送信されるメッセージを当該通信相手(pub)から受信して保持する。ブローカー502は、IoTGW11の管理下のクラスタ301,302に各々属するデバイス13,14,15,23,24,25との間で、メッセージの交換を行う。
【0027】
[デバイス]
デバイスは、同じクラスタに属する他のデバイスとの間で通信により相互に情報を交換する。図1の例では、デバイス13,14,15は、同じクラスタ301に属する他のデバイスとの間で通信により相互に情報を交換する。また、デバイス23,24,25は、同じクラスタ302に属する他のデバイスとの間で通信により相互に情報を交換する。
【0028】
デバイスは、デバイスエージェントを備える。図1の例では、デバイス13はデバイスエージェント103を備え、デバイス14はデバイスエージェント104を備え、デバイス15はデバイスエージェント105を備える。また、デバイス23はデバイスエージェント203を備え、デバイス24はデバイスエージェント204を備え、デバイス25はデバイスエージェント205を備える。各デバイスエージェント103,104,105,203,204,205は同じ機能を有する。
【0029】
以下、デバイス13,14,15,23,24,25を特に区別しないときはデバイスxyと称する。また、デバイスエージェント103,104,105,203,204,205を特に区別しないときはデバイスエージェントx0yと称する。
【0030】
デバイスxyの機能は、デバイスxyが備えるCPUがコンピュータプログラムを実行することにより実現される。なお、デバイスxyとして、汎用のコンピュータ装置を使用して構成してもよく、又は、専用のハードウェア装置として構成してもよい。
【0031】
デバイスエージェントx0yは、IoTGW11から配布されたデバイス動作ポリシーと、自デバイスxyの計算資源の状態と、同じクラスタに属する他デバイスxyの計算資源の状態とに基づいて、当該デバイス動作ポリシーに基づいた動作を自デバイスxyに実行させるか否かを判断する。
【0032】
例えば、デバイス動作ポリシーがデバイスxyにおけるデータ収集に関するデータ収集ポリシーである場合、デバイスエージェントx0yは、当該データ収集ポリシーに基づいたデータ収集動作を自デバイスxyに実行させるか否かを判断する。例えば、デバイス動作ポリシーがデバイスxyにおける計算資源割当に関する計算資源割当ポリシーである場合、デバイスエージェントx0yは、当該計算資源割当ポリシーに基づいた計算資源の割当を自デバイスxyに実行させるか否かを判断する。
【0033】
各クラスタにはブローカーが設けらる。図1の例では、クラスタ301に対応するブローカー503と、クラスタ302に対応するブローカー504とが設けられる。ブローカー503は、クラスタ301に属するデバイスxy同士の間でメッセージを交換するためのメッセージ交換機能を有する。ブローカー503は、デバイスxy(pub)から他のデバイスxy(sub)へ送信するメッセージを保持し、当該メッセージを他のデバイスxy(sub)に取得してもらう。ブローカー504は、クラスタ302に属するデバイスxy同士の間でメッセージを交換するためのメッセージ交換機能を有する。ブローカー504は、デバイスxy(pub)から他のデバイスxy(sub)へ送信するメッセージを保持し、当該メッセージを他のデバイスxy(sub)に取得してもらう。
【0034】
次に本実施形態に係るデバイスシステム制御方法を説明する。
【0035】
[基本デバイスポリシー配布段階]
図2を参照して、本実施形態に係るデバイスシステム制御方法における基本デバイスポリシー配布段階を説明する。図2は、本実施形態に係るデバイスシステム制御方法における基本デバイスポリシー配布段階の手順の例を示すシーケンス図である。
【0036】
(ステップS1) 管理者は、管理端末を使用して基本デバイスポリシーをクラウドサーバ10(中央管理エージェント101)に設定する。中央管理エージェント101は、管理端末から設定された基本デバイスポリシーを保持する。
【0037】
(ステップS2) 中央管理エージェント101は、同じ基本デバイスポリシーを、クラウドサーバ10が管理する複数のクラスタに各々対応するIoTGWへ配布する。ここでは、クラウドサーバ10が管理するクラスタ301に対応するIoTGW11へ基本デバイスポリシーを配布するものを例に挙げて、以下の説明を行う。なお、クラウドサーバ10が管理するクラスタ301以外の他のクラスタに対応するIoTGWへ基本デバイスポリシーを配布するものも、以下の説明と同様である。
【0038】
中央管理エージェント101は、基本デバイスポリシーを含む基本デバイスポリシー配布メッセージをブローカー501へ送信する。ブローカー501は、基本デバイスポリシー配布メッセージを保持する。
【0039】
(ステップS3) IoTGW11のGWエージェント102は、一定の周期でブローカー501にアクセスし、自己が取得する対象のメッセージをブローカー501から取得するメッセージ取得処理を実行する。GWエージェント102は、メッセージ取得処理を実行して、基本デバイスポリシー配布メッセージをブローカー501から取得する。GWエージェント102は、基本デバイスポリシー配布メッセージに含まれる基本デバイスポリシーを保持する。
【0040】
(ステップS4) GWエージェント102は、最新の基本デバイスポリシーに基づいて、デバイス管理機能におけるデバイス動作ポリシー作成処理の設定変更を行う。この設定変更は、デバイス動作ポリシー作成処理を最新の基本デバイスポリシーに対応させるためのものである。
【0041】
(ステップS5) GWエージェント102は、最新の基本デバイスポリシーに基づいた初期デバイス動作ポリシーを作成し、作成した初期デバイス動作ポリシーを含むデバイス動作ポリシー配布メッセージをブローカー502へ送信する。ブローカー502は、デバイス動作ポリシー配布メッセージを保持する。
【0042】
(ステップS6) クラスタ301に属するデバイスxyのデバイスエージェントx0yは、一定の周期でブローカー502にアクセスし、自己が取得する対象のメッセージをブローカー502から取得するメッセージ取得処理を実行する。デバイスエージェントx0yは、メッセージ取得処理を実行して、デバイス動作ポリシー配布メッセージをブローカー502から取得する。デバイスエージェントx0yは、デバイス動作ポリシー配布メッセージに含まれる初期デバイス動作ポリシーを保持する。
【0043】
(ステップS7) デバイスエージェントx0yは、初期デバイス動作ポリシーに基づいて、自己のデバイスxyの設定を変更する。これにより、クラスタ301に属するデバイス13,14,15には、基本デバイスポリシーに基づいた初期設定が行われる。
【0044】
[デバイス情報共有段階]
図3を参照して、本実施形態に係るデバイスシステム制御方法におけるデバイス情報共有段階を説明する。図3は、本実施形態に係るデバイスシステム制御方法におけるデバイス情報共有段階の手順の例を示すシーケンス図である。ここでは、クラスタ301についてのものを例に挙げて、以下の説明を行う。なお、クラスタ301以外の他のクラスタについても、以下の説明と同様である。
【0045】
(ステップS11) クラスタ301において、デバイスエージェントx0yは、一定の周期で、自己のデバイスxyについて計算資源の状態を確認し、また、自己のデバイスxyについて動作の正常性を確認する。計算資源の状態の確認では、利用可能な空きの計算資源量(利用可能空き計算資源量)や計算資源の使用率(計算資源使用率)などが取得される。
【0046】
(ステップS12) デバイスエージェントx0yは、自己のデバイスxyについてのデバイス情報を含むデバイス情報共有メッセージを、ブローカー503へ送信する。デバイス情報は、計算資源の状態の確認結果である利用可能空き計算資源量や計算資源使用率と、動作の正常性の確認結果「正常又は異常あり」とを含む情報である。
【0047】
(ステップS13) デバイスエージェントx0yは、デバイス情報共有メッセージ取得処理を実行して、ブローカー503から、他のデバイスxyのデバイス情報共有メッセージを取得する。デバイスエージェントx0yは、他のデバイスxyのデバイス情報共有メッセージに含まれる当該他のデバイスxyのデバイス情報「計算資源の状態の確認結果」及び「動作の正常性の確認結果」を記録する。
【0048】
デバイスエージェントx0yは、他のデバイスxyのデバイス情報「計算資源の状態の確認結果」及び「動作の正常性の確認結果」に基づいて、クラスタ301に属する各デバイスxyについて計算資源の状態及び動作の正常性を認識する。
【0049】
特定のデバイスエージェントx0yは、クラスタ301に属する各デバイスxyについての計算資源の状態及び動作の正常性の認識結果に基づいて、クラスタ301において所定の利用可能空き計算資源量が存在するか否かを判断する。特定のデバイスエージェントx0yは、当該判断の結果の利用可能空き計算資源量の状況を、ブローカー502を介してGWエージェント102へ通知する。なお、特定のデバイスエージェントx0yは、クラスタ301において所定の利用可能空き計算資源量が存在しないと判断した場合に、その旨を、ブローカー502を介してGWエージェント102へ通知してもよい。
【0050】
GWエージェント102は、クラスタ301の特定のデバイスエージェントx0yから通知された利用可能空き計算資源量の状況に基づいて、クラスタ301における利用可能空き計算資源量の充足の度合いを認識する。GWエージェント102は、クラスタ301における利用可能空き計算資源量の充足の度合いの認識結果に基づいて、クラスタ301における利用可能空き計算資源量の充足度を、ブローカー501を介して、中央管理エージェント101へ通知する。これにより、中央管理エージェント101は、自己の管理下のクラスタ301における利用可能空き計算資源量の充足度を認識する。
【0051】
[ユーザによるデバイス状態確認段階]
図4を参照して、本実施形態に係るデバイスシステム制御方法におけるユーザによるデバイス状態確認段階を説明する。図4は、本実施形態に係るデバイスシステム制御方法におけるユーザによるデバイス状態確認段階の手順の例を示すシーケンス図である。ここでは、クラスタ301についてのものを例に挙げて、以下の説明を行う。なお、クラスタ301以外の他のクラスタについても、以下の説明と同様である。
【0052】
(ステップS21) 事業者(ユーザ)は、端末を使用して、デバイスを利用する要求(利用要求)をクラウドサーバ10(中央管理エージェント101)に行う。
【0053】
(ステップS22) 中央管理エージェント101は、事業者からの利用要求に応じて、クラウドサーバ10が既にデバイスから取得して保持するデバイス収集データの状況を取得する。デバイス収集データは、デバイスがセンサ等により収集したデータである。デバイス収集データとして、例えば、大気センサが検出した大気の状態を示す大気データや、ビデオカメラが撮影したビデオデータから取得されたデータなどが挙げられる。
【0054】
(ステップS23) 中央管理エージェント101は、事業者からの利用要求に応じて、デバイス利用状況要求メッセージをブローカー501へ送信する。ブローカー501は、デバイス利用状況要求メッセージを保持する。
【0055】
(ステップS24) IoTGW11のGWエージェント102は、一定の周期でブローカー501にアクセスし、自己が取得する対象のメッセージをブローカー501から取得するメッセージ取得処理を実行する。GWエージェント102は、メッセージ取得処理を実行して、デバイス利用状況要求メッセージをブローカー501から取得する。
【0056】
(ステップS25) GWエージェント102は、デバイス利用状況要求メッセージに基づいて、どのクラスタに対してデバイスの利用状況を要求するのかを確認する。GWエージェント102は、事業者の利用要求対象のデバイスが収集対象のデータ種別やデータ収集場所等により特定されている場合、該当するデバイスが属するクラスタを、デバイスの利用状況を要求する要求先に決定する。一方、事業者の利用要求対象のデバイスが特定されていない場合、GWエージェント102は、上述したデバイス情報共有段階で認識された最新の利用可能空き計算資源量の充足度に基づいて、充足度が比較的大きいクラスタを、デバイスの利用状況を要求する要求先に決定する。ここでは、クラスタ301が、デバイスの利用状況を要求する要求先に決定される。
【0057】
(ステップS26) GWエージェント102は、デバイス利用状況要求メッセージをブローカー502へ送信する。ブローカー502は、デバイス利用状況要求メッセージを保持する。
【0058】
(ステップS27) クラスタ301に属するデバイスxyのデバイスエージェントx0yは、一定の周期でブローカー502にアクセスし、自己が取得する対象のメッセージをブローカー502から取得するメッセージ取得処理を実行する。デバイスエージェントx0yは、メッセージ取得処理を実行して、デバイス利用状況要求メッセージをブローカー502から取得する。
【0059】
(ステップS28) ここでは、デバイスエージェント103がクラスタ301における特定のデバイスエージェントx0yである。デバイスエージェント103は、上述したデバイス情報共有段階で認識されたクラスタ301に属する各デバイスxyについての最新の計算資源の状態及び動作の正常性に基づいて、クラスタ301に属する各デバイスxyの利用状況を示す利用状況通知メッセージをブローカー502へ送信する。ブローカー502は、利用状況通知メッセージを保持する。
【0060】
(ステップS29) GWエージェント102は、一定の周期でブローカー502にアクセスし、自己が取得する対象のメッセージをブローカー502から取得するメッセージ取得処理を実行する。GWエージェント102は、メッセージ取得処理を実行して、利用状況通知メッセージをブローカー502から取得する。
【0061】
(ステップS30) GWエージェント102は、ブローカー502から取得した利用状況通知メッセージをブローカー501へ送信する。ブローカー501は、利用状況通知メッセージを保持する。
【0062】
(ステップS31) 中央管理エージェント101は、一定の周期でブローカー501にアクセスし、自己が取得する対象のメッセージをブローカー501から取得するメッセージ取得処理を実行する。中央管理エージェント101は、メッセージ取得処理を実行して、利用状況通知メッセージをブローカー501から取得する。
【0063】
(ステップS32) 中央管理エージェント101は、上記ステップS22で取得したクラウドサーバ10におけるデバイス収集データの保持状況と、ブローカー501から取得した利用状況通知メッセージに示されるクラスタ301に属する各デバイスxyの利用状況とを、GUI機能により事業者に提示する。
【0064】
(ステップS33) 事業者は、端末を使用して、クラウドサーバ10のGUI機能により提示された、クラウドサーバ10におけるデバイス収集データの保持状況と、クラスタ301に属する各デバイスxyの利用状況とを確認する。この確認の結果、利用要求に該当するデバイス収集データが既にクラウドサーバ10に保持されている場合、事業者は、クラウドサーバ10に保持されている当該デバイス収集データを取得する。
【0065】
一方、利用要求に該当するデバイス収集データがクラウドサーバ10に保持されていない場合、事業者は、利用要求に該当するデバイス収集データを取得するための要求をさらに行う。例えば、利用要求に該当するデバイス収集データが汎用的に収集可能なデータである場合には、当該データを収集することを要求する新規のデータ収集要求を行う。一方、利用要求に該当するデバイス収集データが、事業者が個別にデータ収集のためのデバイスアプリケーションを提供しないと収集することができないデータ(個別収集データ)である場合には、当該デバイスアプリケーションを実行するための計算資源を要求する新規の計算資源要求を行う。
【0066】
汎用的に収集可能なデータとして、例えば、大気センサが検出した大気の状態を示す大気データが挙げられる。個別収集データとして、例えば、ビデオカメラが撮影したビデオデータから取得される、個別の測定項目の測定データが挙げられる。個別の測定項目として、例えば、街中に設置されたビデオカメラが撮影したビデオデータから、人の交通量を測定する項目(測定項目例1)や、車両の交通量を測定する項目(測定項目例2)などが挙げられる。
【0067】
[データ収集要求段階]
図5を参照して、本実施形態に係るデバイスシステム制御方法におけるデータ収集要求段階を説明する。図5は、本実施形態に係るデバイスシステム制御方法におけるデータ収集要求段階の手順の例を示すシーケンス図である。ここでは、クラスタ301についてのものを例に挙げて、以下の説明を行う。なお、クラスタ301以外の他のクラスタについても、以下の説明と同様である。
【0068】
(ステップS41) 事業者(ユーザ)は、端末を使用して、データを収集することを要求するデータ収集要求をクラウドサーバ10(GUI機能)に行う。
【0069】
(ステップS42) GUI機能は、事業者のデータ収集要求を示すデータ収集要求メッセージをブローカー501へ送信する。ブローカー501は、データ収集要求メッセージを保持する。
【0070】
(ステップS43) IoTGW11のGWエージェント102は、一定の周期でブローカー501にアクセスし、自己が取得する対象のメッセージをブローカー501から取得するメッセージ取得処理を実行する。GWエージェント102は、メッセージ取得処理を実行して、データ収集要求メッセージをブローカー501から取得する。
【0071】
(ステップS44) GWエージェント102は、データ収集要求メッセージに示される事業者のデータ収集要求に基づいたデバイス動作ポリシーであるデータ収集ポリシーを作成する。また、GWエージェント102は、どのクラスタに対して当該事業者のデータ収集要求を依頼するのかを確認する。GWエージェント102は、事業者のデータ収集要求対象のデバイスが収集対象のデータ種別やデータ収集場所等により特定されている場合、該当するデバイスが属するクラスタを、当該事業者のデータ収集要求の依頼先に決定する。一方、事業者のデータ収集要求対象のデバイスが特定されていない場合、GWエージェント102は、上述したデバイス情報共有段階で認識された最新の利用可能空き計算資源量の充足度に基づいて、充足度が比較的大きいクラスタを、当該事業者のデータ収集要求の依頼先に決定する。ここでは、クラスタ301が、当該事業者のデータ収集要求の依頼先に決定される。
【0072】
(ステップS45) GWエージェント102は、データ収集ポリシーを含むデータ収集ポリシー配布メッセージをブローカー502へ送信する。ブローカー502は、データ収集ポリシー配布メッセージを保持する。
【0073】
(ステップS46) クラスタ301に属するデバイスxyのデバイスエージェントx0yは、一定の周期でブローカー502にアクセスし、自己が取得する対象のメッセージをブローカー502から取得するメッセージ取得処理を実行する。デバイスエージェントx0yは、メッセージ取得処理を実行して、データ収集ポリシー配布メッセージをブローカー502から取得する。デバイスエージェントx0yは、データ収集ポリシー配布メッセージに含まれるデータ収集ポリシーを保持する。
【0074】
(ステップS47) デバイスエージェントx0yは、当該データ収集ポリシーと、自デバイスxyの計算資源の状態と、同じクラスタに属する他デバイスxyの計算資源の状態とに基づいて、当該データ収集ポリシーに基づいたデータ収集動作を自デバイスxyに実行させるか否かを判断する。同じクラスタに属する他デバイスxyの計算資源の状態は、上述したデバイス情報共有段階により認識された最新の結果が使用される。ここでは、デバイスエージェント103が、当該データ収集ポリシーに基づいたデータ収集動作を自デバイス13に実行させると判断する。
【0075】
(ステップS48) デバイスエージェント103は、自己のデバイス13がデータ収集を開始することを通知するデータ収集開始通知メッセージを、ブローカー503へ送信する。ブローカー503は、デバイス13のデータ収集開始通知メッセージを保持する。
【0076】
(ステップS49) デバイスエージェントx0yは、一定の周期でブローカー503にアクセスし、他のデバイスxyからの通知メッセージをブローカー503から取得する通知メッセージ取得処理を実行する。デバイス14,15のデバイスエージェント104,105は、通知メッセージ取得処理を実行して、ブローカー503からデバイス13のデータ収集開始通知メッセージを取得する。これにより、デバイス13のデータ収集開始通知メッセージがデバイスエージェント104,105によってそれぞれ取得される。
【0077】
(ステップS50) デバイスエージェント104,105は、デバイス13のデータ収集開始通知メッセージによりデバイス13がデータ収集を開始することを認識すると、自己が保持するデータ収集ポリシーを破棄する。
【0078】
(ステップS51) デバイスエージェント103は、一定の周期で、データ収集ステップS511及びデータ送信ステップS512を繰り返し実行する。データ収集ステップS511では、デバイスエージェント103は、自己のデバイス13によりデータを収集する。次いで、データ送信ステップS512では、デバイスエージェント103は、自己のデバイス13により収集したデータ(デバイス収集データ)を含むデータ送信メッセージをブローカー502へ送信する。ブローカー502は、データ送信メッセージを保持する。
【0079】
次いで、停止命令ステップS513では、デバイスエージェント103は、データ収集ポリシーに記載されたデータ収集期限を超過したか否かを判断する。この判断の結果、データ収集期限を超過した場合にはステップS52に進み、データ収集ステップS511及びデータ送信ステップS512の繰り返し実行を中断する。一方、データ収集期限を超過していない場合には、データ収集ステップS511及びデータ送信ステップS512の繰り返し実行を継続する。
【0080】
(ステップS52) GWエージェント102は、一定の周期でブローカー502にアクセスし、自己が取得する対象のメッセージをブローカー502から取得するメッセージ取得処理を実行する。GWエージェント102は、メッセージ取得処理を実行して、データ送信メッセージをブローカー502から取得する。
【0081】
(ステップS53) GWエージェント102は、ブローカー502から取得したデータ送信メッセージをブローカー501へ送信する。ブローカー501は、データ送信メッセージを保持する。
【0082】
(ステップS54) クラウドサーバ10は、一定の周期でブローカー501にアクセスし、自己が取得する対象のメッセージをブローカー501から取得するメッセージ取得処理を実行する。クラウドサーバ10は、メッセージ取得処理を実行して、データ送信メッセージをブローカー501から取得する。クラウドサーバ10は、データ送信メッセージに含まれるデバイス収集データを保持する。
【0083】
(ステップS55) 事業者は、端末を使用して、クラウドサーバ10からデバイス収集データを取得する。
【0084】
[計算資源要求段階]
図6を参照して、本実施形態に係るデバイスシステム制御方法における計算資源要求段階を説明する。図6は、本実施形態に係るデバイスシステム制御方法における計算資源要求段階の手順の例を示すシーケンス図である。ここでは、クラスタ301についてのものを例に挙げて、以下の説明を行う。なお、クラスタ301以外の他のクラスタについても、以下の説明と同様である。また、以下の説明において、計算資源のことをリソースと称する場合がある。
【0085】
(ステップS61) 事業者(ユーザ)は、端末を使用して、データ収集のためのデバイスアプリケーションを実行するための計算資源(リソース)を要求するリソース要求をクラウドサーバ10(中央管理エージェント101)に行う。
【0086】
(ステップS62) 中央管理エージェント101は、事業者のリソース要求を示すリソース要求メッセージをブローカー501へ送信する。ブローカー501は、リソース要求メッセージを保持する。
【0087】
(ステップS63) IoTGW11のGWエージェント102は、一定の周期でブローカー501にアクセスし、自己が取得する対象のメッセージをブローカー501から取得するメッセージ取得処理を実行する。GWエージェント102は、メッセージ取得処理を実行して、リソース要求メッセージをブローカー501から取得する。
【0088】
(ステップS64) GWエージェント102は、リソース要求メッセージに示される事業者のリソース要求に基づいたデバイス動作ポリシーであるリソース割当ポリシーを作成する。
【0089】
(ステップS65) GWエージェント102は、リソース割当ポリシーを含むリソース割当ポリシー配布メッセージをブローカー502へ送信する。ブローカー502は、リソース割当ポリシー配布メッセージを保持する。
【0090】
(ステップS66) クラスタ301に属するデバイスxyのデバイスエージェントx0yは、一定の周期でブローカー502にアクセスし、自己が取得する対象のメッセージをブローカー502から取得するメッセージ取得処理を実行する。デバイスエージェントx0yは、メッセージ取得処理を実行して、リソース割当ポリシー配布メッセージをブローカー502から取得する。デバイスエージェントx0yは、リソース割当ポリシー配布メッセージに含まれるリソース割当ポリシーを保持する。
【0091】
(ステップS67) デバイスエージェントx0yは、当該リソース割当ポリシーと、自デバイスxyの計算資源の状態と、同じクラスタに属する他デバイスxyの計算資源の状態とに基づいて、当該リソース割当ポリシーに基づいた計算資源の割当を自デバイスxyに実行させるか否かを判断する。同じクラスタに属する他デバイスxyの計算資源の状態は、上述したデバイス情報共有段階により認識された最新の結果が使用される。ここでは、デバイスエージェント103が、当該リソース割当ポリシーに基づいた計算資源の割当を自デバイス13に実行させると判断する。
【0092】
(ステップS68) デバイスエージェント103は、自デバイス13に対して、当該リソース割当ポリシーに基づいた計算資源の割当を実行させる。
【0093】
(ステップS69) デバイスエージェント103は、デバイス13において計算資源の割当が完了したことを通知するリソース割当完了通知メッセージをブローカー502へ送信する。ブローカー502は、リソース割当完了通知メッセージを保持する。
【0094】
(ステップS70) デバイスエージェント103は、デバイス13において計算資源の割当が完了したことを通知するリソース割当完了通知メッセージを、ブローカー503へ送信する。ブローカー503は、デバイス13のリソース割当完了通知メッセージを保持する。
【0095】
(ステップS71) デバイスエージェントx0yは、一定の周期でブローカー503にアクセスし、他のデバイスxyからの通知メッセージをブローカー503から取得する通知メッセージ取得処理を実行する。デバイス14,15のデバイスエージェント104,105は、通知メッセージ取得処理を実行して、ブローカー503からデバイス13のリソース割当完了通知メッセージを取得する。これにより、デバイス13のリソース割当完了通知メッセージがデバイスエージェント104,105によってそれぞれ取得される。
【0096】
(ステップS72) デバイスエージェント104,105は、デバイス13のリソース割当完了通知メッセージによりデバイス13において計算資源の割当が完了したことを認識すると、自己が保持するリソース割当ポリシーを破棄する。
【0097】
(ステップS73) GWエージェント102は、一定の周期でブローカー502にアクセスし、自己が取得する対象のメッセージをブローカー502から取得するメッセージ取得処理を実行する。GWエージェント102は、メッセージ取得処理を実行して、リソース割当完了通知メッセージをブローカー502から取得する。
【0098】
(ステップS74) GWエージェント102は、ブローカー502から取得したリソース割当完了通知メッセージをブローカー501へ送信する。ブローカー501は、リソース割当完了通知メッセージを保持する。
【0099】
(ステップS75) クラウドサーバ10の中央管理エージェント101は、一定の周期でブローカー501にアクセスし、自己が取得する対象のメッセージをブローカー501から取得するメッセージ取得処理を実行する。中央管理エージェント101は、メッセージ取得処理を実行して、リソース割当完了通知メッセージをブローカー501から取得する。中央管理エージェント101は、リソース割当完了通知メッセージを保持する。
【0100】
(ステップS76) 事業者は、端末を使用して、クラウドサーバ10(中央管理エージェント101)に対してリソース割当の結果を確認する。中央管理エージェント101は、リソース割当完了通知メッセージに基づいて、デバイス13において計算資源の割当が完了したことを事業者の端末へ返答する。
【0101】
この返答により、事業者は、デバイス13において計算資源の割当が完了したことを認識する。事業者は、データ収集のためのデバイスアプリケーションをデバイス13に提供する。デバイス13は、割り当てられた計算資源により当該デバイスアプリケーションを実行する。これにより、事業者は、デバイス13を使用して個別にデータ収集を行うことができる。
【0102】
[データ収集ポリシーの例]
データ収集ポリシーには、収集対象のデータ種別又はセンサ種別、収集間隔、収集期間、デバイスの計算資源使用量などのデータ収集条件項目が記載される。例えば、センサAを利用してデータBをn秒間隔でYヶ月収集することがデータ収集ポリシーに記載される。
【0103】
データ収集ポリシーの作成方法の一例として、データ収集ポリシーに記載されるデータ収集条件項目は、基本デバイスポリシーに予め記載される。また、基本デバイスポリシーには、各データ収集条件項目の初期値が設定されてもよい。デバイス管理機能は、ユーザのデータ収集要求に基づいて、基本デバイスポリシーに記載された各データ収集条件項目にユーザのデータ収集要求の値を設定することにより、データ収集ポリシーを作成する。
【0104】
[リソース割当ポリシーの例]
リソース割当ポリシーには、上記したデータ収集条件項目と、計算資源を割り当てるときの割当規則とが記載される。割当規則として、例えば、最もプロセス数が少ないデバイスにリソースを割り当てる(割当規則例1)や、事業者αが利用しているプロセス数が最も多いデバイスに当該事業者α用の新規リソースを割り当てる(割当規則例2)などが挙げられる。
【0105】
リソース割当ポリシーの作成方法の一例として、リソース割当ポリシーに記載されるデータ収集条件項目は、基本デバイスポリシーに予め記載される。また、基本デバイスポリシーには、各データ収集条件項目の初期値が設定されてもよい。さらに、割当規則の複数の候補が基本デバイスポリシーに予め記載される。デバイス管理機能は、ユーザのリソース要求に基づいて、基本デバイスポリシーに記載された各データ収集条件項目にユーザのデータ収集要求の値を設定し、また、割当規則の複数の候補の中からユーザのデータ収集要求に最も適合する候補を選択することにより、リソース割当ポリシーを作成する。
【0106】
[デバイスシステムの拡張構成例]
図7は、一実施形態に係るデバイスシステムの拡張構成例を示す図である。図7に示されるデバイスシステム1は、クラウドサーバ10の配下に2台のIoTGW11-a(GWエージェント102-a),11-b(GWエージェント102-b)を備える。IoTGW11-aは、配下に2つのクラスタ301-a,302-aを備える。IoTGW11-bは、配下に2つのクラスタ301-b,302-bを備える。IoTGW11-aの配下のクラスタ301-a,302-aは、A地区に配置されたデバイス群から構成されるクラスタである。IoTGW11-bの配下のクラスタ301-b,302-bは、B地区に配置されたデバイス群から構成されるクラスタである。各クラスタ301-a,301-b,302-a,302-bに属する各デバイスは、例えば、大気センサを備え、大気センサが検出した大気の状態を示す大気データを収集するデバイスである。又は、各クラスタ301-a,301-b,302-a,302-bに属する各デバイスは、例えば、ビデオカメラを備え、ビデオカメラが撮影したビデオデータから、ユーザが提供したデバイスアプリケーションによりユーザ個別のデータを収集するデバイスである。
【0107】
IoTGW11-aのGWエージェント102-a(デバイス管理機能)は、ユーザの要求と各クラスタ301-a,302-aの利用状況とに基づいて、当該ユーザの要求を依頼する依頼先のクラスタを複数のクラスタ301-a,302-aの中から決定する。クラウドサーバ10の中央管理エージェント101は、ユーザの要求を受信し、受信したユーザの要求を、複数のGWエージェント102-a,102-b(デバイス管理機能)のうち少なくとも一つのGWエージェント(デバイス管理機能)へ通知する。
【0108】
上述した実施形態によれば、各デバイスにおいて、自律的に、デバイス動作ポリシーに基づいた動作を実行するか否かを判断することができる。これにより、複数のデバイスの計算資源の管理にかかる負担の軽減を図る効果が得られる。
【0109】
以上、本発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、本発明の要旨を逸脱しない範囲の設計変更等も含まれる。
【0110】
また、上述した各装置の機能を実現するためのコンピュータプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行するようにしてもよい。なお、ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものであってもよい。
また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、フラッシュメモリ等の書き込み可能な不揮発性メモリ、DVD(Digital Versatile Disc)等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。
【0111】
さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ(例えばDRAM(Dynamic Random Access Memory))のように、一定時間プログラムを保持しているものも含むものとする。
また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク(通信網)や電話回線等の通信回線(通信線)のように情報を伝送する機能を有する媒体のことをいう。
また、上記プログラムは、前述した機能の一部を実現するためのものであっても良い。さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル(差分プログラム)であっても良い。
【符号の説明】
【0112】
1…デバイスシステム、10…クラウドサーバ、11…IoTゲートウェイ、13,14,15,23,24,25…デバイス、101…中央管理エージェント、102…GWエージェント、103,104,105,203,204,205…デバイスエージェント、501,502,503,504…ブローカー
図1
図2
図3
図4
図5
図6
図7