(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-04-10
(45)【発行日】2023-04-18
(54)【発明の名称】通信システム、情報処理装置、及び、情報処理プログラム
(51)【国際特許分類】
H04L 67/00 20220101AFI20230411BHJP
H04L 12/66 20060101ALI20230411BHJP
【FI】
H04L67/00
H04L12/66
(21)【出願番号】P 2019113028
(22)【出願日】2019-06-18
【審査請求日】2021-12-08
【国等の委託研究の成果に係る記載事項】(出願人による申告)平成30年度、総務省、「IoT共通基盤技術の確立・実証 II効率的かつ安定的なIoTデバイス接続・エリアネットワーク運用管理技術の確立」研究開発委託契約に基づく開発項目「エリアネットワーク運用管理技術に関する研究開発」委託研究、産業技術力強化法第17条の適用を受ける特許出願
(73)【特許権者】
【識別番号】000005223
【氏名又は名称】富士通株式会社
(74)【代理人】
【識別番号】100107766
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【氏名又は名称】伊東 忠彦
(72)【発明者】
【氏名】西口 侑希
(72)【発明者】
【氏名】川上 健太郎
(72)【発明者】
【氏名】松倉 隆一
【審査官】岩田 玲彦
(56)【参考文献】
【文献】特開2014-225857(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04L 67/00
H04L 12/66
(57)【特許請求の範囲】
【請求項1】
機能を有するデバイスと、
前記デバイスとネットワークを介して接続される情報処理装置と、
前記情報処理装置を通じて前記デバイスに機能を実行させる指令を出力する処理部と
を含み、
前記情報処理装置は、
前記デバイスが実行可能な機能を取得する機能取得部と、
前記機能取得部によって取得される前記デバイスが実行可能な機能のうち、所定の事象が生じていない状況下では実行を許可しない機能を選択する機能選択部と、
前記所定の事象が生じている状況下において、前記機能取得部によって取得される前記デバイスが実行可能な機能について制限される属性を取得する制限取得部と、
前記所定の事象が生じていない状況下では、前記機能取得部によって取得される前記デバイスが実行可能な機能から前記機能選択部によって選択される実行を許可しない機能を除いた残りの機能を前記処理部に通知し、前記所定の事象が生じている状況下では、前記機能取得部によって取得される前記デバイスが実行可能な機能を前記処理部に通知する、通知処理部と
を有
し、
前記通知処理部は、前記所定の事象が生じている状況下では、前記機能取得部によって取得される前記デバイスが実行可能な機能から、前記制限取得部によって取得される前記制限される属性を除いた情報を前記処理部に通知する、通信システム。
【請求項2】
機能を有するデバイスと、
前記デバイスとネットワークを介して接続される情報処理装置と、
前記情報処理装置を通じて前記デバイスに機能を実行させる指令を出力する処理部と
を含み、
前記情報処理装置は、
前記デバイスが実行可能な機能を取得する機能取得部と、
前記機能取得部によって取得される前記デバイスが実行可能な機能のうち、所定の事象が生じていない状況下では実行を許可しない機能を選択する機能選択部と、
前記所定の事象が生じていない状況下では、前記機能取得部によって取得される前記デバイスが実行可能な機能から前記機能選択部によって選択される実行を許可しない機能を除いた残りの機能を前記処理部に通知し、前記所定の事象が生じている状況下では、前記機能取得部によって取得される前記デバイスが実行可能な機能を前記処理部に通知する、通知処理部と
を有
し、
前記所定の事象は、前記デバイス又は前記ネットワークの障害である、通信システム。
【請求項3】
前記情報処理装置は、前記デバイスに所定状態が生じているかどうかを検出するデバイス状態検出部をさらに有し、
前記機能選択部は、前記所定の事象が生じている状況下において、前記デバイス状態検出部によって前記所定状態が生じていることが検出された場合に実行を許可しない機能をさらに選択し、
前記通知処理部は、前記所定の事象が生じている状況下において前記所定状態が生じている場合には、前記機能取得部によって取得される前記デバイスが実行可能な機能から、前記機能選択部によって選択される、前記デバイス状態検出部によって前記所定状態が生じていることが検出された場合に実行を許可しない機能を除いた残りの機能を前記処理部に通知する、請求項1又は2記載の通信システム。
【請求項4】
前記情報処理装置は、前記デバイスに所定状態が生じているかどうかを検出するデバイス状態検出部をさらに有し、
前記制限取得部は、前記機能取得部によって取得される前記デバイスが実行可能な機能から、前記機能選択部によって選択される前記所定の事象が生じていない状況下では実行を許可しない機能を除いた残りの機能について、前記所定の事象が生じている状況下において前記所定状態が生じている場合に属性が制限される機能をさらに取得し、
前記通知処理部は、前記所定の事象が生じている状況下において前記所定状態が生じている場合には、前記機能取得部によって取得される前記デバイスが実行可能な機能のうち、前記制限取得部によって取得される属性が制限される機能については、制限される属性を前記処理部に通知する、請求項
1記載の通信システム。
【請求項5】
機能を有するデバイスとネットワークを介して接続され、処理部から出力される前記デバイスに機能を実行させる指令を、前記デバイスに送信する情報処理装置であって、
前記デバイスが実行可能な機能を取得する機能取得部と、
前記機能取得部によって取得される前記デバイスが実行可能な機能のうち、所定の事象が生じていない状況下では実行を許可しない機能を選択する機能選択部と、
前記所定の事象が生じていない状況下では、前記機能取得部によって取得される前記デバイスが実行可能な機能から前記機能選択部によって選択される実行を許可しない機能を除いた残りの機能を前記処理部に通知し、前記所定の事象が生じている状況下では、前記機能取得部によって取得される前記デバイスが実行可能な機能を前記処理部に通知する、通知処理部と
を含
み、
前記所定の事象は、前記デバイス又は前記ネットワークの障害である、情報処理装置。
【請求項6】
機能を有するデバイスとネットワークを介して接続され、処理部から出力される前記デバイスに機能を実行させる指令を前記デバイスに送信するコンピュータに実行させる情報処理プログラムであって、
前記デバイスが実行可能な機能を取得することと、
前記取得される前記デバイスが実行可能な機能のうち、所定の事象が生じていない状況下では実行を許可しない機能を選択することと、
前記所定の事象が生じている状況下において、前記取得される前記デバイスが実行可能な機能について制限される属性を取得することと、
前記所定の事象が生じていない状況下では、前記取得される前記デバイスが実行可能な機能から前記選択される実行を許可しない機能を除いた残りの機能を前記処理部に通知し、前記所定の事象が生じている状況下では、前記取得される前記デバイスが実行可能な機能を前記処理部に通知することと
を含
み、
前記所定の事象が生じている状況下では、前記取得される前記デバイスが実行可能な機能から、前記取得される前記制限される属性を除いた情報を前記処理部に通知する処理を前記コンピュータに実行させる、情報処理プログラム。
【請求項7】
機能を有するデバイスとネットワークを介して接続され、処理部から出力される前記デバイスに機能を実行させる指令を前記デバイスに送信するコンピュータに実行させる情報処理プログラムであって、
前記デバイスが実行可能な機能を取得することと、
前記取得される前記デバイスが実行可能な機能のうち、
前記デバイス又は前記ネットワークの障害が生じていない状況下では実行を許可しない機能を選択することと、
前記デバイス又は前記ネットワークの障害が生じていない状況下では、前記取得される前記デバイスが実行可能な機能から前記選択される実行を許可しない機能を除いた残りの機能を前記処理部に通知し、
前記デバイス又は前記ネットワークの障害が生じている状況下では、前記取得される前記デバイスが実行可能な機能を前記処理部に通知することと
を含む処理を前記コンピュータに実行させる、情報処理プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、通信システム、情報処理装置、及び、情報処理プログラムに関する。
【背景技術】
【0002】
従来より、コマンドを実行可能であるかについての権限情報を有するコマンド権限情報を格納するメモリを備える情報処理装置がある。入力コマンドがユーザコマンドまたはシステムコマンドのどちらから呼び出されたコマンドであるかに基づき、入力コマンドがコマンド実行可否判定の対象であるか判定し、入力コマンドがコマンド実行可否判定の対象の場合、コマンド権限情報を参照して、入力コマンドが実行可能か判定するコマンド判定部をさらに備える(例えば、特許文献1参照)。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
ところで、従来は、ネットワークを介して情報処理装置に接続される端末等と情報処理装置とを含むシステムの運用状況に応じてコマンドの実行可否を変化させるようなことは行っていない。
【0005】
例えば、ネットワークを介して情報処理装置に接続されるデバイスは、ネットワークに通信障害等のような所定の事象が生じた場合に、復旧を行うための機能(復旧機能)を有する。このような復旧機能は、所定の事象が生じた場合には実行可能であることが必要であるが、所定の事象が生じていない場合には実行不能にしておいた方が、情報処理装置とデバイスを含むシステムの安定的な運用に繋がる。
【0006】
そこで、運用状況に応じて所定の機能の実行可否を変更できる通信システム、情報処理装置、及び、情報処理プログラムを提供することを目的とする。
【課題を解決するための手段】
【0007】
本発明の実施の形態の通信システムは、機能を有するデバイスと、前記デバイスとネットワークを介して接続される情報処理装置と、前記情報処理装置を通じて前記デバイスに機能を実行させる指令を出力する処理部とを含み、前記情報処理装置は、前記デバイスが実行可能な機能を取得する機能取得部と、前記機能取得部によって取得される実行可能な機能のうち、所定の事象が生じていない状況下では実行を許可しない機能を選択する機能選択部と、前記所定の事象が生じている状況下において、前記機能取得部によって取得される前記デバイスが実行可能な機能について制限される属性を取得する制限取得部と、前記所定の事象が生じていない状況下では、前記機能取得部によって取得される実行可能な機能から前記機能選択部によって選択される実行を許可しない機能を除いた残りの機能を前記処理部に通知し、前記所定の事象が生じている状況下では、前記機能取得部によって取得される実行可能な機能を前記処理部に通知する、通知処理部とを有し、前記通知処理部は、前記所定の事象が生じている状況下では、前記機能取得部によって取得される前記デバイスが実行可能な機能から、前記制限取得部によって取得される前記制限される属性を除いた情報を前記処理部に通知する。
【発明の効果】
【0008】
運用状況に応じて所定の機能の実行可否を変更できる通信システム、情報処理装置、及び、情報処理プログラムを提供することができる。
【図面の簡単な説明】
【0009】
【
図1】実施の形態1の通信システム300を示す図である。
【
図2】PC200を実現するコンピュータシステム20の斜視図である。
【
図3】コンピュータシステム20の本体部21のブロック図である。
【
図4】通信システム300の特徴を説明する図である
【
図5】実施の形態1のGW100の構成を示す図である。
【
図10】GW100の制御装置110が実行する処理を表すフローチャートである。
【
図11】デバイス50のThing Descriptionの一例を示す図である。
【
図12】実行を失敗した原因と原因を表すステータスコードとを関連付けたテーブル形式のデータを示す図である。
【
図13】実施の形態2のGW100Mの構成を示す図である。
【
図16】GW100Mの制御装置110Mが実行する処理を表すフローチャートである。
【発明を実施するための形態】
【0010】
以下、本発明の通信システム、情報処理装置、及び、情報処理プログラムを適用した実施の形態について説明する。
【0011】
<実施の形態1>
図1は、実施の形態1の通信システム300を示す図である。通信システム300は、デバイス50と、GW(Gateway:ゲートウェイ)100と、PC(personal Computer)200とを含む。デバイス50とGW100とはネットワーク10Aによってデータ通信可能に接続されており、GW100とPC200は、ネットワーク10Bによってデータ通信可能に接続されている。
図1には1つのデバイス50を示すが、デバイス50は複数あってよい。このような通信システム300は、一例としてIoT(Internet of Things)システムに利用可能なシステムである。
【0012】
ネットワーク10A、10Bは、データ通信が可能であればどのような形式のものであってもよい。ここでは、一例として、ネットワーク10AはZigBeeによる通信網であり、ネットワーク10Bはインターネット又は公衆回線網であることとする。ネットワーク10Aでは、デバイス50とGW100は、データパケットを送受信することでデータ通信を行う。データパケットには、送信元のデバイスを識別できる送信元アドレスが含まれる。 デバイス50は、PC200からGW100を介して操作可能な機能を有しているものであれば、どのような装置又は機器等であってもよく、ここでは一例としてランプデバイスであることとする。デバイス50の機能は、ランプ(照明)であり、PC200からGW100を介してオン/オフの切り替えを行うことができる。また、デバイス50は、一例として、バッテリによって駆動されるデバイスである。
【0013】
GW100は、情報処理装置の一例であり、ネットワーク10Bを介してPC200から受信したデータのプロトコルを変換してネットワーク10Aを介してデバイス50に転送する。また、GW100は、ネットワーク10Aを介してデバイス50から受信したデータのプロトコルを変換してネットワーク10Aを介してPC200に転送する。
【0014】
PC200は、デバイス50を操作するためのアプリケーションプログラムがインストールされている。PC200の利用者は、アプリケーションプログラムを利用して、デバイス50を操作することができる。PC200がアプリケーションプログラムを実行することによって、PC200の一つの機能としてアプリケーション処理部200Aが実現される。アプリケーション処理部200Aは、GW100を通じてデバイス50に機能を実行させる指令を出力する。アプリケーション処理部200Aは、処理部の一例である。
【0015】
図2は、PC200を実現するコンピュータシステム20の斜視図である。
図2に示すコンピュータシステム20は、本体部21、ディスプレイ22、キーボード23、マウス24、及びモデム25を含む。
【0016】
本体部21は、CPU(Central Processing Unit:中央演算装置)、HDD(Hard Disk Drive:ハードディスクドライブ)、及びディスクドライブ等を内蔵する。ディスプレイ22は、本体部21からの指示により画面22A上に処理結果等を表示する。ディスプレイ22は、例えば、液晶モニタであればよい。キーボード23は、コンピュータシステム20に種々の情報を入力するための入力部である。マウス24は、ディスプレイ22の画面22A上の任意の位置を指定する入力部である。モデム25は、外部のデータベース等にアクセスして他のコンピュータシステムに記憶されているプログラム等をダウンロードする。また、モデム25は、ネットワーク10Bを介してGW100に接続し、データ通信を行う。
【0017】
コンピュータシステム20にPC200としての機能を持たせるプログラムは、ディスク27等の可搬型記録媒体に格納されるか、モデム25等の通信装置を使って他のコンピュータシステムの記録媒体26からダウンロードされ、コンピュータシステム20に入力されてコンパイルされる。
【0018】
コンピュータシステム20にPC200としての機能を持たせるプログラムは、コンピュータシステム20をPC200として動作させる。このプログラムは、例えばディスク27等のコンピュータ読み取り可能な記録媒体に格納されていてもよい。コンピュータ読み取り可能な記録媒体は、ディスク27、ICカードメモリ、フロッピー(登録商標)ディスク等の磁気ディスク、光磁気ディスク、CD-ROM、USB(Universal Serial Bus)メモリ等の可搬型記録媒体に限定されるものではない。コンピュータ読み取り可能な記録媒体は、モデム25又はLAN等の通信装置を介して接続されるコンピュータシステムでアクセス可能な各種記録媒体を含む。
【0019】
なお、ここではPC200を実現するコンピュータシステム20について説明したが、GW100を実現するコンピュータシステムも同様の構成を有する。このため、以下では、GW100も
図2に示すコンピュータシステム20によって実現されるものとして説明する。
【0020】
図3は、コンピュータシステム20の本体部21内の要部の構成を説明するブロック図である。本体部21は、バス30によって接続されたCPU31、RAM又はROM等を含むメモリ部32、ディスク27用のディスクドライブ33、及びハードディスクドライブ(HDD)34を含む。
【0021】
なお、コンピュータシステム20は、
図2及び
図3に示す構成のものに限定されず、各種周知の要素を付加してもよく、又は代替的に用いてもよい。
【0022】
図4は、通信システム300の特徴を説明する図である。デバイス50は様々な機能を有しており、例えば、ランプデバイスであれば、オン/オフを切り替える機能、明るさ(照度)を調整する機能、GW100との間の通信チャネルを変更する機能、及び、リブート(reboot)する機能等を有する。
【0023】
これらのうち、オン/オフを切り替える機能、明るさ(照度)を調整する機能は、通信システム300の内部で障害が生じていない通常時に利用する機能である。また、リブートする機能は、通信システム300の内部で障害が発生したときにデバイス50を復旧させる際に利用する機能であり、GW100との間の通信チャネルを変更する機能は、通信システム300の内部で障害が発生したときにデバイス50とGW100との間の通信を復旧させる際に利用する機能である。
【0024】
デバイス50にはランプデバイス以外の種々のデバイスがあるため、通信システム300の内部で障害が生じていない通常時に利用する機能、及び、通信システム300の内部で障害が発生したときに利用する機能には、上述した機能以外の種々の機能がある。なお、通信システム300の内部で障害が発生することは、所定の事象が生じていることの一例である。
【0025】
ここで、障害は、例えば、複数のデバイス50が発生する電波同士が干渉して、GW100との間でデータが欠落すること、デバイス50とGW100との間の複数の通信チャネルのうちの一部が利用不能になること、及び、いずれかのデバイス50のバッテリの残量の低下によってGW100との通信が不能になること等である。
【0026】
IoTシステムの運用環境には、一般には上述のような障害による不安定さが発生しうるため、通信システム300は、このような不安定さの発生を抑制し、安定的な運用を実現するものである。
【0027】
例えば、障害が発生したときに利用するデバイス50のリブート機能及び通信チャネルの変更機能等の障害から復旧させる機能は、障害が生じていない通常時には利用しない機能であり、認証が破られて権限を持たない利用者によって実行されると、そのデバイス50とGW100とが通信不能になるという重大な影響を与えうる機能である。
【0028】
また、正当な権限を持った利用者であっても誤操作等で実行するおそれがあり、デバイス50とGW100とが通信不能になるという重大な影響を与えうる機能である。
【0029】
そこで、通信システム300では、
図4の上側に示すように、通常時はデバイス50のすべての機能をGW100に通知し、GW100は、デバイス50の機能をフィルタリングし、障害が発生したときに利用する復旧機能以外の通常時に必要な機能のみをアプリケーション処理部200Aに通知する。
【0030】
なお、通常時に必要な機能とは、障害が生じていない通常時に、デバイス50が有するすべての機能から復旧機能を除いたすべての動作を行わせるために求められる機能である。また、通常時に必要な機能のみとは、通常時に必要な機能に限られることであり、復旧機能を含まないことを意味する。
【0031】
また、通信システム300では、
図4の下側に示すように、障害発生時はデバイス50のすべての機能をGW100に通知し、GW100は、デバイス50の機能をフィルタリングせずに、障害が発生したときに利用する復旧機能を含むすべての機能をアプリケーション処理部200Aに通知する。
【0032】
これにより、障害が生じていない通常時に復旧機能が実行されることを抑制する。このために、GW100は、アプリケーション処理部200Aに通知するデバイス50の機能をフィルタリングする機能を有し、通信システム300の運用状況に応じて復旧機能の実行可否を変更する。
【0033】
図5は、実施の形態1のGW100の構成を示す図である。GW100は、制御装置110及び通信部120を有する。
【0034】
制御装置110は、CPU、RAM又はROM等を含むメモリ部、及び、ハードディスクドライブ(HDD)等を含むコンピュータシステムによって実現される。制御装置110のコンピュータシステムとしての構成は、
図3に示すコンピュータシステム20と同様である。
【0035】
制御装置110は、主制御部111、プロトコル変換部112、機能取得部113、障害検出部114、機能選択部115、制限取得部116、通知処理部117、及びメモリ118を有する。主制御部111、プロトコル変換部112、機能取得部113、障害検出部114、機能選択部115、制限取得部116、通知処理部117は、制御装置110が実行するプログラムの機能(ファンクション)を機能ブロックとして示したものである。また、メモリ118は、制御装置110のメモリを機能的に表したものである。
【0036】
主制御部111は、GW100の制御を統括する処理部であり、プロトコル変換部112、機能取得部113、障害検出部114、機能選択部115、制限取得部116、及び通知処理部117が実行する処理以外の処理を実行する。
【0037】
プロトコル変換部112は、デバイス50からネットワーク10A(
図1参照)及び通信部120を介して受信するデータのプロトコル(一例として、Bluetooth(登録商標)のプロトコル)をGW100とPC200との間のネットワーク10B(
図1参照)を介して通信するデータのプロトコル(一例として、HTTP(Hypertext Transfer Protocol))に変換する。
【0038】
また、プロトコル変換部112は、PC200からネットワーク10Bを介して受信するデータのプロトコルをデバイス50とGW100との間でネットワーク10Aを介して通信するデータのプロトコルに変換する。
【0039】
機能取得部113は、ネットワーク10Aを介してデバイス50が実行可能なすべての機能を取得し、取得した機能の種類を判定する。機能取得部113は、取得した機能を表すデータをメモリ118に格納する。
【0040】
障害検出部114は、GW100とデバイス50との間の通信状況等に基づいて、障害が発生していることを検出し、発生している障害の種類を分析する。障害検出部114は、分析することで障害の種類を特定する。障害検出部114は、障害が発生している箇所、発生時刻、及び障害の種類をメモリ118に格納する。
【0041】
ここで、GW100とデバイス50との間の通信状況から分かる障害とは、例えば、パケットロスが生じたこと、GW100とデバイス50との間のチャネル占有率が所定値を超えたこと、及び、特定の通信チャネルが使用不能になったこと等である。
【0042】
障害検知部114は、通信システム300内で生じる障害を検知する。以下では、一例として、障害検知部114は、GW100とデバイス50との間の通信チャネルのチャネル占有率に基づいて通信障害が生じたことを検知することとする。このため、以下では障害とは、一例として通信障害であることとする。障害検知部114は、通信障害を検知した場合は、どの通信チャネルで何時に通信障害が生じたかを検知する。
【0043】
なお、ここでは障害検知部114がGW100とデバイス50との間の通信チャネルにおける通信障害が生じたかを検知する形態について説明するが、通信障害以外の障害を検知してもよい。
【0044】
機能選択部115は、通信障害が生じていない状況下ではデバイス50に実行を許可しない機能を選択し、選択した機能の実行を許可する実行許可条件を設定する。機能選択部115は、選択した実行を許可しない機能をメモリ118に格納する。
【0045】
通信障害が生じていない状況下は、所定の事象が生じていない状況下の一例である。また、実行を許可しない機能の一例は、復旧機能である。また、実行許可条件は、通信障害が生じていない状況下ではデバイス50に実行を許可しない機能の実行を、通信障害が生じたときに許可する際の通信障害に関する条件である。復旧機能と実行許可条件の詳細については後述する。
【0046】
制限取得部116は、機能取得部113によって取得される、通信障害が生じている状況下においてデバイス50が実行可能な機能について制限される属性があるかどうかを判定し、そのような属性がある場合には取得してメモリ118に格納する。デバイス50が実行可能な機能について制限される属性については後述する。
【0047】
通知処理部117は、通信障害が生じていない状況下では、機能取得部113によって取得される実行可能な機能から機能選択部115によって選択される実行を許可しない機能を除いた残りの機能をPC200のアプリケーション処理部200Aに通知する。このように、通知処理部117が機能取得部113によって取得される実行可能な機能から、実行を許可しない機能を除く処理は、フィルタリングである。
【0048】
また、通知処理部117は、通信障害が生じている状況下では、機能取得部113によって取得される実行可能なすべてのデバイス50の機能から、機能選択部115によって選択される通信障害が生じている状況下においてデバイス50に実行を許可しない機能を除いた残りの機能をPC200のアプリケーション処理部200Aに通知する。このように、通知処理部117がデバイス50の実行可能なすべての機能から、通信障害が生じている状況下においてデバイス50に実行を許可しない機能を除く処理は、フィルタリングである。
【0049】
また、通知処理部117は、通信障害が生じている状況下では、制限取得部116によって取得されるデバイス50が実行可能な機能について制限される属性を除いた機能をPC200のアプリケーション処理部200Aに通知する。このように、通信障害が生じている状況下で、通知処理部117が制限取得部116によって取得されるデバイス50が実行可能な機能について制限される属性を除く処理は、フィルタリングである。
【0050】
メモリ118は、GW100が処理を行うために必要なプログラム及びデータを格納するとともに、上述のように機能取得部113、機能選択部115、及び制限取得部116によって取得又は選択されるデータを格納する。また、メモリ118は、GW100が処理を行うために必要なその他のデータ等を格納する。
【0051】
通信部120は、モデム25(
図2参照)を介してデバイス50及びPC200との間でデータの送受信を行う処理部である。
【0052】
図6は、デバイス50が実行可能な機能を表すデータ400Aを示す図である。デバイス50が実行可能な機能を表すデータ400AをGW100に通知することによって、GW100がデータ400Aをデバイス50から取得する。
【0053】
デバイス50が実行可能な機能を表すデータは、機能、機能実行によるプロパティ変化、及びプロパティ値の範囲の3つの項目を有する。ここで、プロパティは、属性の一例である。
【0054】
デバイス50がランプデバイスの場合、機能は、一例として、ランプデバイスをオンにするonlamp、ランプデバイスをオフにするofflamp、ランプデバイスの輝度を設定するbrightness、GW100とランプデバイスとの間の通信チャネルを設定するsetChannel、及び、ランプデバイスをリブートするrebootの5つがある。onlamp、offlamp、brightness、setChannel、rebootは、各機能の名称(機能名)でもある。
【0055】
また、デバイス50がランプデバイスの場合、機能実行によるプロパティ変化は、一例として、ランプデバイスをオンにすることによるlampstatus = ON、ランプデバイスをオフにすることによるlampstatus = OFF、ランプデバイスの輝度を設定することによるbrightness = bがある。また、GW100とランプデバイスとの間の通信チャネルを設定することによるchannel = c、及び、ランプデバイスをリブートすることによるdevstatus = OFFの5つがある。
【0056】
また、デバイス50がランプデバイスの場合、プロパティ値の範囲は、一例として、ランプデバイスをオンにする機能の場合はON、ランプデバイスをオフにする機能の場合はOFF、ランプデバイスの輝度を設定する機能の場合は{0,…,255}の256段階の値である。また、GW100とランプデバイスとの間の通信チャネルを設定する機能の場合は{11,…,26}の16チャネル、ランプデバイスをリブートする機能の場合はOFF,ONである。
【0057】
GW100は、デバイス50が実行可能な機能を表すデータ400Aをデバイス50から取得し、メモリ118に格納する。
【0058】
図7は、データ400Bを示す図である。データ400Bは、
図6に示すデバイス50が実行可能な機能を表すデータ400Aに、各機能が復旧機能であるかどうかを表す項目(復旧)と、実行を許可する際の通信障害に関する条件を表す項目(実行許可条件)と、プロパティの制限が可能な機能であるかどうかを表す項目(制限可能機能)と、制限されるプロパティを表す項目(制限プロパティ)とを追加したデータである。
【0059】
復旧機能であるかどうかを表す項目(復旧)は、項目値が‘1’であれば復旧機能であることを表し、項目値が‘0’であれば復旧機能ではないことを表す。また、実行を許可する際の通信障害に関する条件を表す項目(実行許可条件)は、復旧機能の実行が許可される場合の通信障害の内容を表し、setChannelについてはチャネル占有率がx%を超えていることであり、rebootについては、どのような通信障害であっても発生していれば復旧機能の実行を許可する意味のanyに設定されている。
【0060】
また、プロパティの制限が可能な機能であるかどうかを表す項目(制限可能機能)は、プロパティの制限が可能な復旧機能であるかどうかを表し、項目値が‘1’であれば制限可能な復旧機能であることを表し、項目値が‘0’であれば制限不可能な復旧機能であることを表す。
【0061】
また、制限されるプロパティを表す項目(制限プロパティ)は、プロパティの制限が可能な復旧機能について通信障害が発生しているときに制限されるプロパティ(又はプロパティ値)を表す。例えば、
図7に示すように制限されるプロパティを表す項目(制限プロパティ)が通信障害発生チャネルである場合には、通信障害が発生している通信チャネルの使用が制限される。
【0062】
復旧機能であるかどうかを表す項目(復旧)と、実行を許可する際の通信障害に関する条件を表す項目(実行許可条件)とは、GW100の機能選択部115がデータ400Aに追加する項目である。機能選択部115は、機能名に基づいて復旧機能を選択し、選択した機能の実行を許可する実行許可条件を設定する。
【0063】
復旧機能であるかどうかの判定は、一例として、機能名に基づいて行えばよい。例えば、復旧機能を表す機能名としてsetChannel及びrebootをメモリ118に格納しておき、機能選択部115がメモリ118に格納された復旧機能を表す機能名と照合することによって、復旧機能であるかどうかの判定を行えばよい。
【0064】
また、実行許可条件の設定については、例えば、各復旧機能について実行許可条件をメモリ118に格納しておき、機能選択部115がメモリ118に格納された実行許可条件をデータ400B内で各復旧機能に割り当てることによって設定すればよい。
【0065】
プロパティの制限が可能な機能であるかどうかを表す項目(制限可能機能)と、制限されるプロパティを表す項目(制限プロパティ)とは、GW100の制限取得部116がデータ400Bに追加する項目である。制限取得部116は、機能名に基づいてプロパティの制限が可能な機能であるかどうかを判定し、プロパティの制限が可能と判定した機能について制限されるプロパティをデータ400Bに追加する。
【0066】
プロパティの制限が可能な機能であるかどうかの判定は、一例として、機能名に基づいて行えばよい。例えば、プロパティの制限が可能な機能を表す機能名としてsetChannelをメモリ118に格納しておき、制限取得部116がメモリ118に格納されたプロパティの制限が可能な機能を表す機能名と照合することによって、プロパティの制限が可能な機能であるかどうかの判定を行えばよい。
【0067】
また、プロパティの制限が可能と判定した機能について制限されるプロパティは、例えば、プロパティの制限が可能な機能について制限されるプロパティをメモリ118に格納しておき、制限取得部116がメモリ118に格納された制限されるプロパティを読み出してデータ400Bに追加すればよい。
【0068】
なお、ここでは、一例として、復旧機能であるかどうかの判定と、プロパティの制限が可能な機能であるかどうかの判定とを機能名に基づいて行うとともに、復旧機能についての実行許可条件と、制限されるプロパティとをメモリ118から読み出す形態について説明する。しかしながら、復旧機能であるかどうかを表す項目(復旧)と、実行を許可する際の通信障害に関する条件を表す項目(実行許可条件)と、プロパティの制限が可能な機能であるかどうかを表す項目(制限可能機能)と、制限されるプロパティを表す項目(制限プロパティ)とをデバイス50が保持していてGW100がデバイス50から取得してもよい。また、GW100がインターネット等のネットワークを介してデバイス50の販売供給元(ベンダ)のウェブサイトにアクセスし、ウェブサイト上で公開されているレポジトリから取得してもよい。
【0069】
図8は、通常時にアプリケーション処理部200Aに通知されるデバイス50の機能を表すデータ400Cを示す図である。通常時とは、通信障害が発生していないときのことである。
【0070】
通常時には、GW100の通知処理部117は、
図7に示すデータ400Bの復旧機能であるかどうかの項目を参照し、
図6に示すデータ400Aから復旧機能を除いた残りの機能を表すデータ400Cを生成する。
【0071】
通常時にアプリケーション処理部200Aに通知されるデバイス50の機能を表すデータ400Cでは、データ400Aと比べると、復旧機能である通信チャネルの設定(setChannel)とランプデバイスのリブート(reboot)が削除されている。通知処理部117は、生成したデータ400Cをアプリケーション処理部200Aに通知する。
【0072】
アプリケーション処理部200Aは、データ400Cを参照して、通常時にランプデバイスのオン(onlamp)、ランプデバイスのオフ(offlamp)、ランプデバイスの輝度設定(brightness)の機能を実行することができる。
【0073】
図9は、通信障害時にアプリケーション処理部200Aに通知されるデバイス50の機能を表すデータ400Dを示す図である。通信障害時とは、通信障害が発生しているときのことである。データ400Dは、一例として、チャネル占有率がx%を超える通信障害が通信チャネル11で生じていることが障害検知部114によって検知された場合に、通知処理部117によって生成されるデータである。
【0074】
通信チャネル11でチャネル占有率がx%を超える通信障害が生じた場合には、
図7に示すデータ400Bにおいて、通信チャネルの設定(setChannel)とランプデバイスのリブート(reboot)との両方の許可条件を満たす。このため、データ400Dには、データ400A(
図6参照)と同様に、復旧機能として通信チャネルの設定(setChannel)とランプデバイスのリブート(reboot)とが含まれる。
【0075】
また、通信チャネルの設定(setChannel)については、チャネル占有率がx%を超える通信障害が生じている通信チャネル11が除かれ、{12,…,26}の15チャネルに制限されている。この点が、データ400Dとデータ400A(
図6参照)との違いである。
【0076】
通信チャネル11でチャネル占有率がx%を超える通信障害が生じたときには、GW100の通知処理部117は、
図7に示すデータ400Bの復旧機能であるかどうかの項目を参照し、復旧機能を含めたデバイス50の実行可能なすべての機能から、通信チャネルの設定(setChannel)の機能について通信チャネル11を除くことによって、データ400Dを生成する。通知処理部117は、データ400Dをアプリケーション処理部200Aに送信する。
【0077】
アプリケーション処理部200Aは、データ400Dを参照して、通信チャネルの設定(setChannel)及びランプデバイスのリブート(reboot)の復旧機能を実行することができる。このときに、通信障害が生じた通信チャネル11は、通信チャネルの設定(setChannel)のプロパティから除かれているため、通信チャネル12~26のいずれかで通信が再開することになる。
【0078】
なお、通信チャネル11以外の通信チャネルで通信障害が生じた場合は、通信障害が生じた通信チャネルが通信チャネルの設定(setChannel)のプロパティから除かれる。例えば、通信チャネル26で通信障害が生じた場合は、通信チャネル26が通信チャネルの設定(setChannel)のプロパティから除かれる。
【0079】
図10は、GW100の制御装置110が実行する処理を表すフローチャートである。ここでは、デバイス50からGW100が受信するデータは、プロトコル変換部112によってプロトコルが変換されているものとして説明する。また、ここでは、実行を許可しない機能が一例として復旧機能である形態について説明する。
【0080】
主制御部111は、一連の処理をスタートする。
【0081】
機能取得部113は、ネットワーク10Aを介してデバイス50が実行可能なすべての機能を取得し、メモリ118に格納する(ステップS1)。ステップS1では、ある1つのデバイス50が実行可能なすべての機能が取得され、メモリ118に格納される。
【0082】
機能選択部115は、ステップS1で取得された機能の機能名に基づいて、復旧機能と実行許可条件を選択し、メモリ118に格納する(ステップS2)。ステップS2の処理により、
図7に示すデータ400Bのように、ステップS1で取得された機能を表すデータに対して復旧機能と実行許可条件の項目が追加される。
【0083】
なお、実行許可条件が存在しない場合には、実行許可条件の欄のみがあり、実行許可条件を表すデータは存在しないことになる(空欄になる)。また、ステップS2の段階では、
図7に示すデータ400Bにおける制限可能機能と制限プロパティの項目は設けられていない。
【0084】
通知処理部117は、機能取得部113によって取得される実行可能なすべての機能から機能選択部115によって選択される復旧機能を除いた残りの機能をアプリケーション処理部200Aに通知する(ステップS3)。ステップS3では、通知処理部117は、デバイス50から取得されてメモリ118に格納されたデータ400A(
図6参照)から復旧機能を除いた残りの機能を表すデータ400C(
図8参照)をアプリケーション処理部200Aに通知する。
【0085】
なお、ステップS3の処理は、一連の処理が開始された直後に行われるため、通信障害が発生していない状況下で行われている。
【0086】
障害検出部114は、GW100とデバイス50との間の通信状況等に基づいて、通信障害が生じているかどうかを判定する(ステップS4)。障害検出部114は、通信障害が生じていない(S4:NO)と判定すると、通信障害が生じていると判定するまでステップS4の処理を繰り返し実行する。なお、ステップS4では、通信障害が生じている通信チャネルが特定される。
【0087】
障害検出部114が通信障害が生じている(S4:YES)と判定すると、次のステップS5からステップS9までの各復旧機能についての処理((開始)から(終了)まで)が行われる。
【0088】
障害検出部114は、生じている通信障害が、復旧機能についての実行可能条件を満たすかどうかを判定する(ステップS5)。通信障害が実行可能条件を満たすとは、実行可能条件が表す条件を、生じている通信障害が満たすかどうかということである。
【0089】
障害検出部114が実行可能条件を満たす(S5:YES)と判定すると、制限取得部116は、復旧機能がプロパティの制限が可能な機能であるかどうかを判定する(ステップS6)。
【0090】
制限取得部116は、プロパティの制限が可能な機能である(S6:YES)と判定すると、復旧機能について、プロパティの制限が可能な機能であるかどうかを表す情報と、制限されるプロパティを表す情報とを取得できたかどうかを判定する(ステップS7)。
【0091】
制限取得部116は、情報を取得できた(S7:YES)と判定すると、プロパティの制限が可能な機能であるかどうかを表す項目(制限可能機能)と、制限されるプロパティを表す項目(制限プロパティ)とをメモリ118に格納するとともに、生じている通信障害と制限プロパティの内容とに応じてプロパティ値の範囲を制限する(ステップS8)。
【0092】
ステップS8の処理により、例えば、
図7のデータ400BにおけるsetChannelのように、プロパティの制限が可能な機能であるかどうかを表す項目(制限可能機能)と、制限されるプロパティを表す項目(制限プロパティ)とが追加され、制限可能機能の項目値が‘1’に設定され、制限プロパティの項目に制限されるプロパティを表すデータが入力される。
【0093】
また、例えば、生じている通信障害が通信チャネル11でのチャネル占有率がx%を超えたことである場合には、ステップS8の処理により、さらにsetChannelのプロパティ値が{12,…,26}に制限される。
【0094】
また、ステップS6において、制限取得部116は、プロパティの制限が可能な機能ではない(S6:NO)と判定すると、プロパティの制限が可能な機能であるかどうかを表す項目(制限可能機能)と、制限されるプロパティを表す項目(制限プロパティ)とを空欄にしてメモリ118に格納する(ステップS9)。これにより、
図7のデータ400Bにおけるrebootのように、制限可能機能の項目値が‘0’に設定され、制限プロパティの項目値は無し(空欄)にされる。
【0095】
また、制限取得部116は、復旧機能について制限されるプロパティの情報を取得できていない(S7:NO)と判定すると、ステップS9の処理を行う。
【0096】
通知処理部117は、ステップS8又はS9で得られたデータ400B(
図7参照)から、復旧、実行許可条件、制限可能機能、及び、制限プロパティの項目を除いたデータ400D(
図9参照)を生成し、アプリケーション処理部200Aに通知する(ステップS10)。
【0097】
主制御部111は、一連の処理を終了する(エンド)。
【0098】
以上のように、通信システム300では、通信障害が生じていない通常時には、デバイス50が実行可能なすべての機能から復旧機能を除いた、復旧機能以外の機能のみをアプリケーション処理部200Aに通知する。
【0099】
また、通信システム300では、通信障害が生じているときは、デバイス50のすべての機能をGW100からアプリケーション処理部200Aに通知する。このため、通信障害が生じていない通常時に復旧機能が実行されることを抑制することができる。
【0100】
したがって、運用状況に応じて所定の機能の実行可否を変更できる通信システム300、GW100、及び、情報処理プログラムを提供することができる。
【0101】
また、通信障害が生じているときは、通信障害の内容と、制限プロパティが表す内容とに基づいて、制限プロパティに該当するプロパティに制限を与えることができる。これは、例えば、通信チャネル11でチャネル占有率がx%を超える通信障害が生じている場合に、setChannelのプロパティ値を{12,…,26}に制限することである。
【0102】
このように、通信障害の内容に対応するプロパティを制限できるので、通信障害が生じているときに、利用可能な復旧機能を効率的に利用することができる。
【0103】
なお、以上では、アプリケーション処理部200AがGW100とネットワーク10Bを介して接続されるPC200にある形態について説明したが、アプリケーション処理部200Aは、GW100にあってもよい。
【0104】
また、以上では、アプリケーション処理部200AがPC200にある形態について説明したが、PC200の代わりに、スマートフォン端末機、タブレットコンピュータ、又はサーバ等に設けられていてもよい。
【0105】
また、以上では、通信障害が生じているときは、通信障害の内容と、制限プロパティが表す内容とに基づいて、制限プロパティに該当するプロパティに制限を与える形態について説明したが、プロパティに制限を与えなくてもよい。
【0106】
この場合には、制限取得部116は、ステップS8において、プロパティの制限が可能な機能であるかどうかを表す項目(制限可能機能)と、制限されるプロパティを表す項目(制限プロパティ)とをメモリ118に格納すればよい。
【0107】
また、以上では、通信チャネル11でチャネル占有率がx%を超える通信障害が生じている場合に、setChannelのプロパティ値を{12,…,26}に制限する形態について説明したが、通信チャネル11でGW100と通信しているデバイス50が1つのみである場合には、復旧機能として、GW100からデータパケットを送信する際の電波の強度を増大させる機能を用いてもよい。通信チャネル11でGW100と通信しているデバイス50が1つのみであるかどうかは、GW100が通信チャネル11でデバイス50から受信するデータパケットの送信元アドレスに基づいて判定すればよい。
【0108】
また、このようなデータパケットを送信する際の電波の強度を増大させる復旧機能は、通信障害が生じた通信チャネルで通信しているデバイス50が複数ある場合には、利用不可能な復旧機能にすればよい。通信障害が生じた通信チャネル以外の通信チャネルでの通信に影響を与えるおそれがあるからである。
【0109】
また、例えば、GW100が通信チャネル11を通じてデータAを収集するとともに、通信チャネル15を通じてデータAよりも優先度の高いデータBを収集しているとする。優先度とは、GW100の内部でのデータ処理における優先度である。
【0110】
このような場合に通信チャネル11で通信障害が生じたときに、復旧機能としてのsetChannelのプロパティの範囲から通信チャネル15を除外するようにしてもよい。この場合には、setChannelのプロパティの範囲は、{12,13,14,16,…,26}になる。このように優先度の高いデータBを収集する通信チャネル15を除外することにより、通信チャネル15以外の通信チャネルで通信障害が生じた場合でも、データBを収集する通信チャネル15を確保することができ、通信障害が生じる前と同様の状態で引き続きデータBを収集することができる。
【0111】
また、デバイス50がWoT(Web of Things)に対応したデバイスであり、Thing Description(TD)に自身のメタデータ(自身についての付加的なデータ)を記載してあるとする。メタデータは、例えば、デバイス50の属性、機能、プロパティ等である。また、ここでいうデバイス50の属性は、上述した実行可能な機能について制限される属性(プロパティの上位概念)とは異なり、デバイス50の名称、又は、デバイス50の種類を表す値等である。
【0112】
図11は、デバイス50のThing Descriptionの一例を示す図である。
図11に示すように、TDには、id、name、action(デバイスの機能と、機能を実行するためにアクセスするURL)、properties(動作状態又は照度等のデバイスの状態)のデータ形式、及び、各データの値が取りうる範囲等が記載されている。 このようなメタデータを記載したTDを用いると、GW100及びアプリケーション処理部200Aは、TDを取得することで、デバイス50のすべての機能(復旧機能を含む)を取得することができる。
【0113】
また、GW100は、復旧機能の種別、実行許可条件、制限可能機能、制限プロパティ等については、例えば、インターネット等のネットワークを介してデバイス50の販売供給元(ベンダ)のウェブサイトにアクセスし、ウェブサイト上で公開されているレポジトリから取得すればよい。 また、アプリケーション処理部200AがGW100を通じてデバイス50を操作する際に、権限が与えられていない機能を操作しようとした場合、禁止若しくは制限されているプロパティ値に設定しようとした場合、又は、通常時に復旧機能を実行しようとした場合に、実行を失敗した原因をGW100からアプリケーション処理部200Aに通知し、PC200のディスプレイ22に表示させるようにしてもよい。このような処理は、例えば、主制御部111が行えばよい。主制御部111は、原因通知部として失敗原因をアプリケーション処理部200Aに通知する。
【0114】
ここで、権限が与えられていない機能とは、アプリケーション処理部200Aに通知されるデータ400C(
図8参照)又はデータ400D(
図9参照)に含まれない機能である。例えば、PC200のディスプレイ22に表示の更新が遅れて、データ400C又は400Dに含まれない機能が表示されているような場合には、PC200の利用者が権限が与えられていない機能を選択して実行しようとする場合が有り得る。
【0115】
また、禁止されているプロパティ値とは、例えば、GW100が通信チャネル11を通じてデータAを収集するとともに、通信チャネル15を通じてデータAよりも優先度の高いデータBを収集していて、通信チャネル15以外の通信チャネルで通信障害が生じた場合に、復旧機能としてのsetChannelのプロパティの範囲から除外される通信チャネル15のことである。
【0116】
また、制限されているプロパティ値は、通信チャネルで通信障害が生じたときの復旧機能としてのsetChannelのプロパティの範囲から除外される、通信障害が生じた通信チャネルのことである。
【0117】
また、通常時に復旧機能を実行しようとした場合とは、例えば、通信障害から復旧した後に、PC200のディスプレイ22に表示の更新が遅れて復旧機能を含むデータ400Dが表示されているような場合に、PC200の利用者が復旧機能を選択して実行しようとする場合である。
【0118】
図12は、実行を失敗した原因と、原因を表すステータスコードとを関連付けたテーブル形式のデータを示す図である。
図12では、実行失敗原因とステータスコードとが関連付けられている。
【0119】
図12には、実行失敗原因の一例として、実行権限がない(権限が与えられていない)、禁止若しくは制限されているプロパティ値に設定しようとした、及び、通常時に復旧機能を実行しようとした、の3つの実行失敗原因になる操作がある。
【0120】
これらの実行失敗原因になる操作が行われた場合にはステータスコードに記載されているように、それぞれ、403 Forbidden、404 Not Found(禁止されているプロパティ値に設定しようとした場合)、400 Bad Request(制限されているプロパティ値に設定しようとした場合)、404 Not FoundがPC200のディスプレイ22に表示される。
【0121】
これにより、PC200の利用者は、実行を失敗した原因を理解することができる。
【0122】
なお、ここでは、禁止若しくは制限されているプロパティ値を選択して実行に失敗した場合について説明したが、禁止若しくは制限されている機能を選択して実行に失敗した場合に同様にステータスコードを表示してもよい。
【0123】
また、
図12に示すような実行失敗原因と原因を表すステータスコードとを関連付けたテーブル形式のデータを用いて、実行失敗原因になる操作が行われた場合にステータスコードをPC200のディスプレイ22に表示する代わりに、次のようにしてもよい。
【0124】
PC200のアプリケーション処理部200AからGW100にデバイス50の機能を実行させるコマンドが送信され、実行失敗原因になる操作が行われた場合に、GW100からアプリケーション処理部200Aに送信するレスポンスのボディにTDを格納してもよい。このTDには、その時点で利用可能なデバイス50の最新の機能を記載しておけばよい。GW100からアプリケーション処理部200Aに送信するレスポンスのステータスコードは、404 Not Foundでよい。
【0125】
このようにすれば、アプリケーション処理部200Aに、デバイス50の最新の機能を通知することができる。なお、レスポンスのステータスコードは、
図12に示すように、実行失敗原因に応じて異なるコードを用意してもよい。
【0126】
また、GW100からアプリケーション処理部200Aに送信するレスポンスのボディにTDを格納してデバイス50の最新の機能を通知する代わりに、アプリケーション処理部200Aからデバイス50へのアクセスを、TDに記載されたリソースにリダイレクトさせてもよい。
【0127】
例えば、レスポンスのステータスコードをSee Otherにして、TDに記載されたリソースにリダイレクトさせてもよい。また、レスポンスにおけるContent-Dispositionレスポンスヘッダを用いてファイルを保存させるようにリダイレクトしてもよい。
【0128】
<実施の形態2>
図13は、実施の形態2のGW100Mの構成を示す図である。GW100Mは、制御装置110M及び通信部120を有する。以下では、実施の形態1と同様の構成要素には同一符号を付し、その説明を省略する。また、以下では実施の形態1との相違点を中心に説明する。
【0129】
制御装置110Mは、主制御部111、プロトコル変換部112、機能取得部113、障害検出部114、デバイス状態検出部119、機能選択部115、制限取得部116、通知処理部117、及びメモリ118を有する。制御装置110Mは、実施の形態1の制御装置110にデバイス状態検出部119を追加した構成を有する。デバイス状態検出部119は、制御装置110Mが実行するプログラムの機能(ファンクション)を機能ブロックとして示したものである。
【0130】
デバイス状態検出部119は、デバイス50とGW100との間で通信障害が生じている通信チャネルにおけるチャネル占有率を表すデータを受信し、通信障害が生じている状況下においてチャネル占有率がy%を超えているかどうかを判定する。
【0131】
すなわち、デバイス状態検出部119は、デバイス50とGW100との間で通信障害が生じている通信チャネルと同一の通信チャネルにおけるチャネル占有率を表すデータを受信し、通信障害が生じている通信チャネルでのチャネル占有率がy%を超えているかどうかを判定する。y%は、一例として実施の形態1におけるx%よりも大きな値である。チャネル占有率がy%を超えていることは、所定の状態が生じていることの一例である。
【0132】
デバイス状態検出部119は、通信障害が生じている状況下においてチャネル占有率がy%を超えている場合に、デバイス50の所定の機能に制限を課す。通信チャネルで生じている通信障害を抑制するためである。
【0133】
デバイス状態検出部119は、通信障害が生じている状況下において、デバイス50の状態が制限条件を満たすかどうかを判定する。制限条件は、通信障害が生じている通信チャネルでのチャネル占有率がy%を超えていることである。
【0134】
デバイス状態検出部119は、通信障害が生じている状況下において、デバイス50の状態が制限条件を満たすかどうかを判定し、制限条件を満たす場合にデバイス50の復旧機能以外の所定の機能に制限を課す。
【0135】
デバイス状態検出部119は、チャネル占有率と、通信障害が生じている状況下においてデバイス50の状態が制限条件を満たすかどうかを判定した判定結果とを表すデータをメモリ118に格納する。
【0136】
次に、制御装置110Mのうちの機能選択部115、制限取得部116、通知処理部117における実施の形態1との相違点について説明する。
【0137】
機能選択部115は、実施の形態1における処理に加えてさらに、通信障害が生じている状況下において、デバイス状態検出部119によってチャネル占有率がy%を超えていることが検出された場合に実行を許可しない機能をさらに選択する。機能選択部115は、選択した実行を許可しない機能をメモリ118に格納する。
【0138】
通信障害が生じている状況下においてチャネル占有率がy%を超えている状態でデバイス50に実行を許可しない機能とは、復旧機能以外の機能であって、通信障害が生じている状況下においてチャネル占有率がy%を超えている状態で、通信チャネルで生じている通信障害を抑制するために、実行が許可されなくなる機能である。
【0139】
制限取得部116は、機能取得部113によって取得されるデバイス50が実行可能な機能から、機能選択部115によって選択される通信障害が生じていない状況下では実行を許可しない復旧機能を除いた残りの機能について、通信障害が生じている状況下においてチャネル占有率がy%を超えている場合にプロパティが制限される機能を取得する。
【0140】
通知処理部117は、通信障害が生じている状況下においてチャネル占有率がy%を超えている場合には、機能取得部113によって取得されるデバイス50が実行可能な機能から、機能選択部115によって選択される、チャネル占有率がy%を超えている場合に実行を許可しない機能を除いた残りの機能をアプリケーション処理部200Aに通知する。このように通知処理部117が実行を許可しない機能を除く処理は、フィルタリングである。
【0141】
また、通知処理部117は、通信障害が生じている状況下においてチャネル占有率がy%を超えている場合には、機能取得部113によって取得されるデバイス50が実行可能な機能のうち、制限取得部116によって取得される属性が制限される機能については、制限される属性をアプリケーション処理部200Aに通知する。より具体的には、機能取得部113によって取得されるデバイス50が実行可能な機能を表すデータから、制限される属性を除いたデータがGW100Mからアプリケーション処理部200Aに通知される。このように通知処理部117が属性を除く処理は、フィルタリングである。
【0142】
図14は、データ400Eを示す図である。ここでは、デバイス50がビデオカメラデバイスである場合のデータについて説明する。
【0143】
データ400Eは、機能、機能実行によるプロパティ変化、プロパティ値の範囲、復旧、実行許可条件、制限機能、制限条件、及び制限内容の項目を有する。これらのうち、機能、機能実行によるプロパティ変化、及び、プロパティ値の範囲の3つの項目は、デバイス50から通知されるデータに含まれる。
【0144】
ビデオカメラの機能には、一例として、電源をオンにするon、静止画(写真)を撮影するtakePhoto、静止画(写真)をGW100経由でアプリケーション処理部200Aに送信するsendPhoto、動画を撮影するtakeMovie、動画をGW100経由でアプリケーション処理部200Aに送信するsendMovie、及び、再起動するrebootがある。
【0145】
また、機能実行によるプロパティ変化は、電源をオンにする機能の場合はstatus = ONになり、静止画を送信する機能の場合はsize=sになり、動画を送信する機能の場合はsize=sになり、再起動する機能の場合はstatus = OFFになる。なお、静止画を撮影する場合と動画を撮影する場合の機能実行によるプロパティ変化は空欄である。
【0146】
また、プロパティ値の範囲は、電源をオンにする機能の場合はOFF,ONであり、静止画を送信する機能の場合は1-8であり、動画を送信する機能の場合は1-8であり、再起動する機能の場合はOFF,ONである。なお、静止画を撮影する機能の場合と動画を撮影する場合のプロパティ値の範囲は空欄である。
【0147】
復旧の項目は、機能選択部115が機能名に基づいて復旧機能であるかどうかを判定することで設定すればよい。実行許可条件の項目は、機能選択部115がメモリ118に格納された実行許可条件を割り当てることによって設定すればよい。なお、復旧と実行許可条件の項目は、実施の形態1と同様に、その他の手法で設定されてもよい。
【0148】
制限機能の項目は、通信障害が生じている状況下において、通信障害が生じている通信チャネルでのチャネル占有率がy%を超えている場合にプロパティが制限される機能であるかどうかを表す。
【0149】
制限機能の項目は、項目値が‘0’であることは、通信障害が生じている状況下において、通信障害が生じている通信チャネルでのチャネル占有率がy%を超えている場合にプロパティが制限される機能ではないことを表す。また、項目値が‘1’であることは、通信障害が生じている状況下において、通信障害が生じている通信チャネルでのチャネル占有率がy%を超えている場合にプロパティが制限される機能であることを表す。
【0150】
制限機能の項目は、電源をオンにする機能については‘0’であり、静止画を撮影する場合の機能については‘0’であり、静止画を送信する機能については‘1’であり、動画を撮影する場合の機能については‘0’であり、動画を送信する機能については‘1’であり、再起動する機能については‘0’である。通信チャネルで通信障害が生じている状態では、通信障害を抑制するために静止画と動画の送信に関連する機能に制限をかける趣旨であり、一例として、静止画と動画の送信に制限が設けられる。
【0151】
制限条件の項目は、通信障害が生じている状況下において、通信障害が生じている通信チャネルでのチャネル占有率がy%を超えている場合にプロパティが制限される機能について、機能が制限される際の条件(制限条件)を表す。制限条件を満たすかどうかの判定は、デバイス状態検出部119によって行われる。静止画と動画の送信が制限されるのは、ともに、通信障害が生じている通信チャネルでのチャネル占有率がy%を超えている(チャネル占有率>y%)ときである。
【0152】
制限内容の項目は、通信障害が生じている状況下において、通信障害が生じている通信チャネルでのチャネル占有率がy%を超えている場合にプロパティが制限される機能について、具体的に制限される内容を表す。
【0153】
静止画の送信サイズの設定についての制限内容は、プロパティ値の範囲を1-4 (s:1-4)に制限することである。ここで、プロパティ値が大きいほど送信サイズが大きいことを表す。すなわち、通信障害が生じている状況下においてチャネル占有率がy%を超えている場合には、静止画の送信サイズは小さいサイズに限られることになる。また、動画の送信についての制限内容は、実行禁止である。すなわち、動画の送信はできない状態になる。
【0154】
図15は、データ400Fを示す図である。データ400Fは、通信障害が生じている状況下において、通信障害が生じている通信チャネルでのチャネル占有率がy%を超えている場合に、通知処理部117によって生成され、アプリケーション処理部200Aに通知されるデータである。
【0155】
通信障害が生じている状況下において、通信障害が生じている通信チャネルでのチャネル占有率がy%を超えている場合には、動画の送信は実行禁止であり、静止画の送信サイズの設定はプロパティ値の範囲が1-4 (s:1-4)に制限される。
【0156】
このため、データ400Fでは動画の送信の機能(sendMovie:
図14参照)は削除され、静止画の送信サイズの設定はプロパティ値の範囲が1-4 (s:1-4)に制限されている。また、電源をオンにするon、及び、静止画と動画を撮影するtakePhoto、takeMovieは制限機能ではないため、データ400Fに含まれている。また、復旧機能であり、かつ、制限機能ではない再起動rebootもデータ400Fに含まれている。
【0157】
図16は、GW100Mの制御装置110Mが実行する処理を表すフローチャートである。
図16に示すフローでは、実施の形態1のGW100の制御装置110が実行する処理(
図10参照)と同様の処理には同一のステップ番号を記し、その説明を省略する。具体的には、
図16に示すフローでは、ステップS1~S4は、実施の形態1と同様である。また、各復旧機能についての処理は、開始から終了までの間に
図10に示すステップS5~S9の処理が行われる。ここでは、ステップS5~S9の処理として簡略化して示すが、
図10に示す各復旧機能についての処理(開始)から各復旧機能についての処理(終了)までが行われる。その後、フローはステップS23に進行する。
【0158】
また、実施の形態2では、ステップS4において障害検出部114が通信障害が生じている(S4:YES)と判定すると、各復旧機能についての処理(開始)から各復旧機能についての処理(終了)までの処理と並列に、復旧機能以外の各機能についての処理(開始)から復旧機能以外の各機能についての処理(終了)が行われる。
【0159】
復旧機能以外の各機能についての処理(開始)から復旧機能以外の各機能についての処理(終了)は、次のステップS21及びステップS22の処理、又は、ステップS21の処理を含む。
【0160】
デバイス状態検出部119は、デバイス50の状態が制限条件を満たすかどうかを判定する(ステップS21)。
【0161】
デバイス状態検出部119は、デバイス50の状態が制限条件を満たす(S21:YES)と判定すると、デバイス50の状態が制限条件を満たすことを通知処理部117に通知する(ステップS22)。ステップS22の処理が完了すると、フローはステップS23に進行する。
【0162】
また、ステップS21においてデバイス状態検出部119がデバイス50の状態が制限条件を満たさない(S21:NO)と判定すると、フローはステップS22を経ずにステップS23に進行する。
【0163】
通知処理部117は、各復旧機能についての処理(ステップS5~S9)での判定結果と、復旧機能以外の各機能についての処理におけるステップS21でのデバイス状態検出部119の判定結果とを反映させたデバイス50の機能を表すデータを生成し、アプリケーション処理部200Aに通知する(ステップS23)。
【0164】
ステップS23において、通知処理部117が各復旧機能についての処理(ステップS5~S9)での判定結果を反映させたデバイス50の機能を表すデータを生成する処理は、
図10のステップS10の処理と同様である。
【0165】
また、ステップS23において、復旧機能以外の各機能についての処理におけるステップS21でのデバイス状態検出部119の判定結果を反映させたデバイス50の機能を表すデータを生成する処理は、具体的には次の通りである。
【0166】
通知処理部117は、デバイス状態検出部119からデバイス50の状態が制限条件を満たすことが通知されている場合は、機能の削除(
図15では画像の送信の機能の削除)及びプロパティ値の範囲の制限(
図15では画像の送信サイズの設定の制限)を行ったデータを生成する。
【0167】
そして、この場合は、通知処理部117は、各復旧機能についての処理(ステップS5~S9)での判定結果と、復旧機能以外の各機能についての処理におけるステップS21でのデバイス状態検出部119の判定結果とを反映させた、機能の削除及びプロパティ値の範囲の制限を行ったデータを生成し、アプリケーション処理部200Aに通知する。ここで生成されるデータの一例は、データ400Fである。
【0168】
また、通知処理部117は、デバイス状態検出部119からデバイス50の状態が制限条件を満たすことが通知されていない場合は、各復旧機能についての処理(ステップS5~S9)での判定結果に基づいて機能の削除及びプロパティ値の範囲の制限を行うとともに、復旧機能以外の各機能についての処理におけるステップS21でのデバイス状態検出部119の判定結果を反映させて機能の削除及びプロパティ値の範囲の制限を行っていないデータを生成し、アプリケーション処理部200Aに通知する。
【0169】
この場合のデータは、
図15に示すデータ400Fにおける画像の送信の機能を含むとともに、画像の送信サイズの設定のプロパティ値の範囲が1-8に設定されたデータになる。
【0170】
以上のように、実施の形態2によれば、通信障害が生じている状況下において、通信チャネルでの通信障害を抑制するためにチャネル占有率がy%を超えているかどうかを判定する。そして、チャネル占有率がy%を超えている場合には、制限機能に該当するデバイス50の機能に対して、実行禁止又はプロパティ値の範囲の制限を課す。
【0171】
このため、運用状況に応じて所定の機能の実行可否を変更できる通信システム300、GW100、及び、情報処理プログラムを提供することができる。また、さらに、通信障害が生じている通信チャネルでの通信障害を抑制できるので、システム全体を安定的に運用することができる。
【0172】
なお、以上では、制限条件に含まれるチャネル占有率のy%が、実施の形態1のx%よりも大きい形態について説明したが、y%とx%は等しくてもよい。
【0173】
また、以上では、制限条件がチャネル占有率がy%を超えていることに設定された形態について説明したが、制限条件はこのような条件に限られない。例えば、デバイス50のバッテリの残存量が所定量以下であることを制限条件にしてもよく、このような制限条件を満たす場合に、所定の機能の実行禁止、又は、プロパティ値の範囲の制限を課してもよい。
【0174】
また、制限条件は複数あってもよい。
図17は、実施の形態3の変形例におけるデータ400Gを示す図である。
図17では、
図14に示すデータ400Eに対して、静止画を送信する機能(sendPhoto)が2つに増やされている。データ400Eに対して、静止画を送信する2つの機能(sendPhoto)のうちの下の行の機能が増やされており、制限条件(第2制限条件)は、GW100のCPU使用率が閾値TH以上であることである。
【0175】
通信障害が生じている状況下において、第2制限条件が満たされると、制限内容として画像の送信サイズのプロパティ値の範囲が1-4に制限される。CPU使用率が高い状況では、画像の送信サイズを小さくしてCPUの処理能力に余裕を持たせるためである。
【0176】
以上、本発明の例示的な実施の形態の通信システム、情報処理装置、及び、情報処理プログラムについて説明したが、本発明は、具体的に開示された実施の形態に限定されるものではなく、特許請求の範囲から逸脱することなく、種々の変形や変更が可能である。
【0177】
以上の実施の形態に関し、さらに以下の付記を開示する。
(付記1)
機能を有するデバイスと、
前記デバイスとネットワークを介して接続される情報処理装置と、
前記情報処理装置を通じて前記デバイスに機能を実行させる指令を出力する処理部と
を含み、
前記情報処理装置は、
前記デバイスが実行可能な機能を取得する機能取得部と、
前記機能取得部によって取得される前記デバイスが実行可能な機能のうち、所定の事象が生じていない状況下では実行を許可しない機能を選択する機能選択部と、
前記所定の事象が生じていない状況下では、前記機能取得部によって取得される前記デバイスが実行可能な機能から前記機能選択部によって選択される実行を許可しない機能を除いた残りの機能を前記処理部に通知し、前記所定の事象が生じている状況下では、前記機能取得部によって取得される前記デバイスが実行可能な機能を前記処理部に通知する、通知処理部と
を有する、通信システム。
(付記2)
前記所定の事象が生じている状況下において、前記機能取得部によって取得される前記デバイスが実行可能な機能について制限される属性を取得する制限取得部をさらに含み、
前記通知処理部は、前記所定の事象が生じている状況下では、前記機能取得部によって取得される前記デバイスが実行可能な機能から、前記制限取得部によって取得される前記制限される属性を除いた情報を前記処理部に通知する、付記1記載の通信システム。
(付記3)
前記情報処理装置は、前記デバイスに所定状態が生じているかどうかを検出するデバイス状態検出部をさらに有し、
前記機能選択部は、前記所定の事象が生じている状況下において、前記デバイス状態検出部によって前記所定状態が生じていることが検出された場合に実行を許可しない機能をさらに選択し、
前記通知処理部は、前記所定の事象が生じている状況下において前記所定状態が生じている場合には、前記機能取得部によって取得される前記デバイスが実行可能な機能から、前記機能選択部によって選択される、前記デバイス状態検出部によって前記所定状態が生じていることが検出された場合に実行を許可しない機能を除いた残りの機能を前記処理部に通知する、付記1又は2記載の通信システム。
(付記4)
前記情報処理装置は、前記デバイスに所定状態が生じているかどうかを検出するデバイス状態検出部をさらに有し、
前記制限取得部は、前記機能取得部によって取得される前記デバイスが実行可能な機能から、前記機能選択部によって選択される前記所定の事象が生じていない状況下では実行を許可しない機能を除いた残りの機能について、前記所定の事象が生じている状況下において前記所定状態が生じている場合に属性が制限される機能をさらに取得し、
前記通知処理部は、前記所定の事象が生じている状況下において前記所定状態が生じている場合には、前記機能取得部によって取得される前記デバイスが実行可能な機能のうち、前記制限取得部によって取得される属性が制限される機能については、制限される属性を前記処理部に通知する、付記2記載の通信システム。
(付記5)
前記所定の事象は、前記デバイス又は前記ネットワークの障害である、付記1乃至4のいずれか一項記載の通信システム。
(付記6)
前記情報処理装置は、前記処理部から出力される指令に基づく処理の実行に失敗すると、失敗原因を通知する原因通知部をさらに有する、付記1乃至5のいずれか一項記載の通信システム。
(付記7)
機能を有するデバイスとネットワークを介して接続され、処理部から出力される前記デバイスに機能を実行させる指令を、前記デバイスに送信する情報処理装置であって、
前記デバイスが実行可能な機能を取得する機能取得部と、
前記機能取得部によって取得される前記デバイスが実行可能な機能のうち、所定の事象が生じていない状況下では実行を許可しない機能を選択する機能選択部と、
前記所定の事象が生じていない状況下では、前記機能取得部によって取得される前記デバイスが実行可能な機能から前記機能選択部によって選択される実行を許可しない機能を除いた残りの機能を前記処理部に通知し、前記所定の事象が生じている状況下では、前記機能取得部によって取得される前記デバイスが実行可能な機能を前記処理部に通知する、通知処理部と
を含む、情報処理装置。
(付記8)
機能を有するデバイスとネットワークを介して接続され、処理部から出力される前記デバイスに機能を実行させる指令を前記デバイスに送信するコンピュータに実行させる情報処理プログラムであって、
前記デバイスが実行可能な機能を取得することと、
前記取得される前記デバイスが実行可能な機能のうち、所定の事象が生じていない状況下では実行を許可しない機能を選択することと、
前記所定の事象が生じていない状況下では、前記取得される前記デバイスが実行可能な機能から前記選択される実行を許可しない機能を除いた残りの機能を前記処理部に通知し、前記所定の事象が生じている状況下では、前記取得される前記デバイスが実行可能な機能を前記処理部に通知することと
を含む処理を前記コンピュータに実行させる、情報処理プログラム。
【符号の説明】
【0178】
10A、10B ネットワーク
50 デバイス
100、100M GW
110、110M 制御装置
113 機能取得部
114 障害検出部
115 機能選択部
116 制限取得部
117 通知処理部
119 デバイス状態検出部
200 PC
200A アプリケーション処理部
300 通信システム