(57)【要約】【課題】センサーの再起動時でも、センサーデータの変化を適時に取得する。【解決手段】無線ネットワークと他のネットワークとに接続する通信装置は、該無線ネットワークに属していたセンサー装置が該無線ネットワークに再接続した際に、該センサー装置のアドレスが該無線ネットワークに属する他のセンサー装置のアドレスと重複せず、かつ、該センサー装置が作成するセンサーデータが、該他のネットワークに属する装置により監視されていると判定された場合に、該他のネットワークに属する装置による該センサーデータの監視を継続できるようにするための処理を行う。【選択図】図４
2019186730.tif 000002
【特許請求の範囲】
【請求項１】
無線ネットワークと他のネットワークとに接続する通信装置であって、
前記無線ネットワークに属していたセンサー装置が前記無線ネットワークに再接続した際に、前記センサー装置のアドレスが前記無線ネットワークに属する他のセンサー装置のアドレスと重複しないかを判定する第１の判定手段と、
前記センサー装置が作成するセンサーデータが、前記他のネットワークに属する装置により監視されているかを判定する第２の判定手段と、
前記第１の判定手段により、アドレスが重複しないと判定され、かつ、前記第２の判定手段により、前記センサーデータが監視されていると判定された場合に、前記他のネットワークに属する装置による前記センサーデータの監視を継続できるようにするための処理を行う制御手段と、
を有することを特徴とする通信装置。
【請求項２】
前記第１の判定手段は、前記センサー装置から、前記センサー装置のセンサーの種別を表す情報と、前記センサー装置のアドレスとを含むメッセージが受信された場合に、前記センサー装置のアドレスが前記他のセンサー装置のアドレスと重複しないかを判定することを特徴とする請求項１に記載の通信装置。
【請求項３】
前記第１の判定手段は、前記無線ネットワークに属する装置とアドレスとを関連付けたテーブルを用いて、前記センサー装置のアドレスが前記他のセンサー装置のアドレスと重複しないかを判定することを特徴とする請求項１または２に記載の通信装置。
【請求項４】
前記第１の判定手段により、アドレスが重複しないと判定された場合に、前記センサーデータを前記他のネットワークに属する装置に転送することができるかを判定する第３の判定手段を更に有し、
前記第３の判定手段により前記センサーデータを転送することができると判定された場合に、前記第２の判定手段は、前記センサー装置が作成するセンサーデータが、前記他のネットワークに属する装置により監視されているかを判定することを特徴とする請求項１から３のいずれか１項に記載の通信装置。
【請求項５】
前記第１の判定手段による判定の結果を前記センサー装置に送信する送信手段を更に有し、
前記第３の判定手段により前記センサーデータを転送することができると判定された場合に、前記送信手段は、前記第１の判定手段によりアドレスが重複しないと判定されたことを含むメッセージを送信することを特徴とする請求項４に記載の通信装置。
【請求項６】
前記第１の判定手段によりアドレスが重複すると判定された場合、または、前記第３の判定手段により前記センサーデータを転送することができないと判定された場合に、前記送信手段は、前記第１の判定手段によりアドレスが重複すると判定されたことを含むメッセージを送信することを特徴とする請求項５に記載の通信装置。
【請求項７】
前記制御手段は、前記他のネットワークに属する装置に対して、ＣｏＡＰ（Ｔｈｅ  Ｃｏｎｓｔｒａｉｎｅｄ  Ａｐｐｌｉｃａｔｉｏｎ  Ｐｒｏｔｏｃｏｌ）に規定されたＯｂｓｅｒｖｅを前記センサー装置に送信するよう指示することを特徴とする請求項１から６のいずれか１項に記載の通信装置。
【請求項８】
前記制御手段は、前記センサー装置に対して、ＣｏＡＰ（Ｔｈｅ  Ｃｏｎｓｔｒａｉｎｅｄ  Ａｐｐｌｉｃａｔｉｏｎ  Ｐｒｏｔｏｃｏｌ）に規定されたＯｂｓｅｒｖｅを送信することを特徴とする請求項１から６のいずれか１項に記載の通信装置。
【請求項９】
前記他のネットワークは、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）であることを特徴とする請求項１から８のいずれか１項に記載の通信装置。
【請求項１０】
無線ネットワークと他のネットワークとに接続する通信装置の制御方法であって、
前記無線ネットワークに属していたセンサー装置が前記無線ネットワークに再接続した際に、前記センサー装置のアドレスが前記無線ネットワークに属する他のセンサー装置のアドレスと重複しないかを判定する第１の判定工程と、
前記センサー装置が作成するセンサーデータが、前記他のネットワークに属する装置により監視されているかを判定する第２の判定工程と、
前記第１の判定工程において、アドレスが重複しないと判定され、かつ、前記第２の判定工程において、前記センサーデータが監視されていると判定された場合に、前記他のネットワークに属する装置による前記センサーデータの監視を継続できるようにするための処理を行う制御工程と、
を有することを特徴とする通信装置の制御方法。
【請求項１１】
コンピュータを、請求項１から９のいずれか１項に記載の通信装置として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、無線センサーネットワークにおけるデータ処理技術に関する。
【背景技術】
【０００２】
従来、センサー装置（以降、センサー）が送信するセンサーデータを転送する無線センサーネットワーク（Ｗｉｒｅｌｅｓｓ  Ｓｅｎｓｏｒ  Ｎｅｔｗｏｒｋ、以降ＷＳＮ）がある。特に電池駆動の小型センサーを含むＷＳＮは、ＺｉｇＢｅｅ（登録商標）やＷｉ−ＳＵＮ（登録商標）、Ｂｌｕｅｔｏｏｔｈ（登録商標）などの無線ＰＡＮ（Ｐｅｒｓｏｎａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ、以降ＷＰＡＮ）に分類される無線通信規格を用いて構成されることが多い。これらの規格は、消費電力を抑えた無線ネットワークに適している。また、近年では、６ＬｏＷＰＡＮ（ＩＰｖ６  ｏｖｅｒ  Ｌｏｗ  ｐｏｗｅｒ  Ｗｉｒｅｌｅｓｓ  Ｐｅｒｓｏｎａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋｓ）と呼ばれるプロトコルを用いて、無線ＰＡＮ上でＩＰｖ６（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ バージョン６）通信を行えるようにしたＷＳＮを構築するケースも増加している。
【０００３】
さらに、近年では、ＷＳＮとＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）間でデータ通信を中継するゲートウェイ装置を用いて、ＷＳＮから拠点ネットワークのサーバやクラウドと呼ばれる仮想化基盤上のサーバへ、センサーデータをＩＰ通信で転送する情報処理システムも知られている（特許文献１）。このようなゲートウェイ装置は、一般にＩｏＴ（Ｉｎｔｅｒｎｅｔ  Ｏｆ  Ｔｈｉｎｇｓ）ゲートウェイ（以降、ＩｏＴ−ＧＷ）と呼ばれる。多種多数のセンサーを配置して膨大なデータを処理するシステムでは、ＷＳＮとＬＡＮの接点であるＩｏＴ−ＧＷが、データの種別やトラフィック量に応じて適切な処理装置に転送することで、データの収集や解析の分散処理が可能となる。
【０００４】
また、ＷＳＮのような制約のあるネットワーク通信向けに設計された軽量なアプリケーションプロトコルとしてＣｏＡＰ（Ｔｈｅ  Ｃｏｎｓｔｒａｉｎｅｄ  Ａｐｐｌｉｃａｔｉｏｎ  Ｐｒｏｔｏｃｏｌ）がある。このプロトコルでは、ＣｏＡＰクライアントが、ＣｏＡＰサーバが提示するリソース（センサーデータ等）の値を要求するＧＥＴリクエストのメッセージを送信し、ＣｏＡＰサーバから該ＧＥＴリクエストに対するレスポンスのメッセージを受信する。これにより、ＣｏＡＰクライアントは、要求したリソースの値を取得することができる。また、ＣｏＡＰにはＯｂｓｅｒｖｅと呼ばれるメッセージ通信機能が規定されている。この機能は、毎回ＧＥＴリクエストを送信しなくとも、サーバ側から適時にリソースの値を通知するように要求することを可能とする。
【０００５】
ＷＳＮ内のセンサーにＣｏＡＰサーバが実装されることにより、センサーで計測や検知する数値、状態、イベントなどのデータを、ネットワークを介して取得することが実現される。そして、前述のＯｂｓｅｒｖｅオプションの機能を利用すれば、センサーは、計測するデータに変化があったときのみ送信を行うことも可能である。これにより、センサーデータの送信回数を抑制し、センサーとＷＳＮにおける消費電力を節約する効果が得られる。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０１４−７８７７３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
６ＬｏＷＰＡＮで通信するＷＳＮ内に配置され、ＣｏＡＰサーバが実装されたセンサーに対し、ＣｏＡＰプロトコルのＯｂｓｅｒｖｅ機能を使用して該センサーが計測するデータを取得する場合、該センサーの再起動によりデータを適時に取得できない可能性がある。すなわち、該センサーの再起動（再接続）によりＣｏＡＰサーバのセッションが失われると、センサーデータの変化を適時に取得できない状況が続いてしまう可能性がある。
【０００８】
本発明は、上記課題に鑑みてなされたものであり、センサーの再起動時でも、センサーデータの監視を継続できるようにすることを目的とする。
【課題を解決するための手段】
【０００９】
上記目的を達成するための一手段として、本発明の通信装置は以下の構成を有する。すなわち、無線ネットワークと他のネットワークとに接続する通信装置であって、前記無線ネットワークに属していたセンサー装置が前記無線ネットワークに再接続した際に、前記センサー装置のアドレスが前記無線ネットワークに属する他のセンサー装置のアドレスと重複しないかを判定する第１の判定手段と、前記センサー装置が作成するセンサーデータが、前記他のネットワークに属する装置により監視されているかを判定する第２の判定手段と、前記第１の判定手段により、アドレスが重複しないと判定され、かつ、前記第２の判定手段により、前記センサーデータが監視されていると判定された場合に、前記他のネットワークに属する装置による前記センサーデータの監視を継続できるようにするための処理を行う制御手段と、を有する。
【発明の効果】
【００１０】
本発明によれば、センサーの再起動時でも、センサーデータの監視を継続できるようにすることが可能となる。
【図面の簡単な説明】
【００１１】
【図１】情報処理システム１００の構成を示す図。
【図２】ＩｏＴ−ＧＷ１０１のハードウェア構成例を示すブロック図。
【図３】センサー１０３のハードウェア構成を示すブロック図。
【図４】センサー１０３のＩＰｖ６アドレス自動設定処理のシーケンス図。
【図５】ＩｏＴ−ＧＷ１０１のＩＰｖ６アドレス重複確認処理のフローチャート。
【図６】ＡＢＲＯのフォーマット図。
【図７】ＡＲＯのフォーマット図。
【図８】ＤＡＲおよびＤＡＣのフォーマット図。
【図９】ＤＡＤテーブルを示す図。
【図１０】センサー情報管理テーブルを示す図。
【図１１】監視管理テーブルを示す図。
【発明を実施するための形態】
【００１２】
本発明の実施形態について、図面を参照して説明する。なお、以下の実施形態で説明する特徴の組み合わせの全てが本発明に必須のものとは限らない。
【００１３】
＜実施形態１＞
［システム構成］
図１は、本実施形態の情報処理システム１００の構成を示す。情報処理システム１００は、センサー１０３〜１０６を有するＷＳＮ１０８、ＬＡＮ１０７、およびＩｏＴ−ＧＷ１０１を含むように構成されている。情報処理システム１００は更に、機器管理サーバ１０２、センサーデータ処理サーバ１０９−Ａ、およびＷＡＮ１１０を介してＬＡＮ１０７に接続するセンサーデータ処理サーバ１０９−Ｂを含むように構成されている。
【００１４】
ＩｏＴ−ＧＷ１０１は、ＷＳＮ１０８とＬＡＮ１０７の両方に接続する。ＩｏＴ−ＧＷ１０１とＬＡＮ１０７との接続は、例えばＥｔｈｅｒｎｅｔ（登録商標）などの有線接続であってもよいし、Ｗｉ−Ｆｉ（登録商標）などの無線接続であってもよい。そして、ＩｏＴ−ＧＷ１０１は、ＬＡＮ１０７を介して機器管理サーバ１０２およびセンサーデータ処理サーバ１０９−Ａと接続してＩＰｖ６通信を実行する。また、ＩｏＴ−ＧＷ１０１は、ＬＡＮ１０７とＷＡＮ１１０を介してセンサーデータ処理サーバ１０９−Ｂと接続してＩＰｖ６通信を実行する。なお、センサーデータ処理サーバ１０９−Ｂは、一般にクラウドと呼ばれる仮想化プラットフォーム上にあるサーバであってもよい。機器管理サーバ１０２は、情報処理システム１００を構成する各機器やセンサーについて、システムへの接続および設定や状態の管理を担う。センサーデータ処理サーバ１０９−Ａとセンサーデータ処理サーバ１０９−Ｂは、情報処理システム内のセンサーが送信するセンサーデータの収集、蓄積、解析等を実行する。
【００１５】
ＩｏＴ−ＧＷ１０１とセンサー１０３〜１０６は、無線ＰＡＮ通信でメッシュネットワークであるＷＳＮ１０８を構築する。ＷＳＮ１０８は、メッシュ型のネットワークトポロジーに限定されるものではなく、スター型のようなネットワークであってもよい。なお、ＩｏＴ−ＧＷ１０１とセンサー１０３〜１０６以外の他の装置が、ＷＳＮ１０８に接続していてもよい。無線ＰＡＮの通信規格は、例えば、Ｂｌｕｅｔｏｏｔｈ（登録商標）、Ｚｉｇｂｅｅ（登録商標）、およびＷｉ−ＳＵＮ（登録商標）が挙げられる。ＷＳＮ１０８の通信では、これらの中のいずれかの無線ＰＡＮ規格のプロトコルを使用するが、その上位のネットワーク層のプロトコルには６ＬｏＷＰＡＮを使用するものとする。
【００１６】
センサー１０３〜１０６のそれぞれは、６ＬｏＷＰＡＮパケットを運ぶ無線ＰＡＮフレームを送信する。ＩｏＴ−ＧＷ１０１は、ＷＳＮ１０８とＬＡＮ１０７間でパケットの転送を実行する。ＩｏＴ−ＧＷ１０１は、ＷＳＮ１０８からＬＡＮ１０７へパケットを転送する場合は、６ＬｏＷＰＡＮプロトコルのパケットをＩＰｖ６パケットに変換する。ＩｏＴ−ＧＷ１０１は、逆にＬＡＮ１０７からＷＳＮ１０８へ転送する場合は、ＩＰｖ６パケットを６ＬｏＷＰＡＮパケットに変換する。
【００１７】
［ＩｏＴ−ＧＷ１０１のハードウェア構成］
次に、ＩｏＴ−ＧＷ１０１のハードウェア構成の一例について、図２を参照して説明する。図２は、ＩｏＴ−ＧＷ１０１のハードウェア構成例を示すブロック図である。ＩｏＴ−ＧＷ１０１の内部は、主に、システムバス２０１に、ＣＰＵ２０２、ＲＡＭ２０３、ＲＯＭ２０４、ＰＡＮ制御部２０５、ＬＡＮ制御部２０６、転送入力制御部２０７、転送処理部２０８が接続する構成となっている。システムバス２０１は、接続するＣＰＵ２０２等の各ブロック間でデータを伝達する。
【００１８】
ＣＰＵ２０２で実行するプログラムには、ＯＳやアプリケーション、ＴＣＰ／ＩＰプロトコルスタック、無線ＰＡＮプロトコルスタックが含まれる。また、ＣＰＵ２０２で実行するプログラムには、後述するような、センサー情報を管理するためのセンサー情報管理プログラムや、リソースを監視／管理するためのリソース監視管理プログラムも含まれる。ＲＡＭ２０３は、ＩｏＴ−ＧＷ１０１の主記憶部であって、主に、ＣＰＵ２０２、転送入力制御部２０７、および転送処理部２０８の処理実行時にデータの一時記憶領域として使用される。ＲＯＭ２０４は、ＣＰＵ２０２が実行するソフトウェアプログラムが格納される不揮発性の記憶部である。ＲＯＭ２０４に格納されるプログラムは、ＲＡＭ２０３に転送され、ＣＰＵ２０２によって読み出されて実行され得る。
【００１９】
ＰＡＮ制御部２０５は、ＷＳＮ１０８に接続する無線ＰＡＮ規格の通信インターフェースである。ＰＡＮ制御部２０５は、無線ＰＡＮ規格に対応した物理層、ＭＡＣ層の通信制御を実行し、ＷＳＮ１０８との無線接続およびパケットの送受信の機能を提供する。例えばＺｉｇＢｅｅ（登録商標）の場合、ＰＡＮ制御部２０５は、ＩＥＥＥ８０２．１５．４に対応した物理リンク制御を実行する。なお、本実施形態では、ＩｏＴ−ＧＷ１０１はメッシュネットワーク構成のＷＳＮ１０８に接続するものとしているが、Ｂｌｕｅｔｏｏｔｈ（登録商標）の場合には、ＩｏＴ−ＧＷ１０１とセンサーがピアツーピア接続で通信するものとしてもよい。
【００２０】
ＬＡＮ制御部２０６は、ＬＡＮ１０７に接続する通信インターフェースであり、有線ＬＡＮもしくは無線ＬＡＮの通信制御を実行する。例えば、ＩｏＴ−ＧＷ１０１が有線ＬＡＮで接続する形態とする場合、ＬＡＮ制御部２０６には伝送メディアのＰＨＹおよびＭＡＣ（伝送メディア制御）ハードウェア回路が含まれ得る。有線ＬＡＮで接続する形態の場合、ＬＡＮ制御部２０６は、Ｅｔｈｅｒｎｅｔ（登録商標）のＮＩＣ（Ｎｅｔｗｏｒｋ  Ｉｎｔｅｒｆａｃｅ  Ｃａｒｄ）に相当する。一方、ＩｏＴ−ＧＷ１０１が無線ＬＡＮで接続する形態とする場合、ＬＡＮ制御部２０６は、ＩＥＥＥ８０２．１１ａ／ｂ／ｇ／ｎ／ａｃ等の無線ＬＡＮ制御を実行するコントローラ、ＲＦ回路、アンテナが含まれ得る。
【００２１】
転送入力制御部２０７は、ＰＡＮ制御部２０５を介してＷＳＮ１０８から受信した無線ＰＡＮフレームを転送処理部２０８の処理対象とするかどうか（転送条件を満たすかかどうか）の判定を行う。該判定には、少なくとも、受信した無線ＰＡＮフレームが、６ＬｏＷＰＡＮパケットを含むか否かを判定することが含まれる。受信した無線ＰＡＮフレームが、６ＬｏＷＰＡＮパケットを含む場合（転送条件を満たす場合）、転送入力制御部２０７は更に、該フレームを、無線ＰＡＮ規格のフレーム形式から、転送処理部２０８で処理可能なフレーム形式に変換する。更に、転送入力制御部２０７は、該フレームのペイロードデータのパケット形式を、６ＬｏＷＰＡＮの形式からＩＰｖ６の形式へ変換する。転送入力制御部２０７は、これらの変換処理の後のフレームを、転送処理部２０８に出力する。
【００２２】
転送処理部２０８は、フレーム転送処理を行う機能部である。転送対象フレームには、ＰＡＮ制御部２０５が受信して転送入力制御部２０７を介して入力されるフレームや、ＣＰＵ２０２が実行するＴＣＰ／ＩＰプロトコルスタックにより送信されるフレームが含まれる。転送処理部２０８は、入力されたフレームを解析し、該フレームが転送条件を満たす場合に、該フレームの転送に係る処理を実行する。転送処理部２０８は、ＬＡＮ１０７側に転送するフレームについては、ヘッダ情報（例えばＥｔｈｅｒｎｅｔヘッダ及びＩＰｖ６ヘッダの各フィールド）を設定する。例えば、転送処理部２０８は、該転送するフレームのＩＰｖ６ヘッダ情報の宛先フィールドを設定する。
【００２３】
［ＩｏＴ−ＧＷ１０１によるセンサーデータの転送］
前述したように、ＩｏＴ−ＧＷ１０１は、ＷＳＮ１０８から受信する無線ＰＡＮフレームについて、転送条件をチェックし、転送条件を満たす場合に、ＬＡＮ１０７側へと転送する。本実施形態では、センサー１０３〜１０６は、何らかの測定や検知を行う装置であり、ＩｏＴ−ＧＷ１０１宛てのセンサーデータを含む６ＬｏＷＰＡＮパケットを含む無線ＰＡＮフレームを送信する。以下の説明では、転送条件は、無線ＰＡＮフレームが、センサー１０３〜１０６から自装置宛てに送信されたセンサーデータを含む６ＬｏＷＰＡＮパケットを含むこととする。また、ＩｏＴ−ＧＷ１０１は、センサーデータの種類により、転送パケット（フレーム）の宛先アドレスを、センサーデータ処理サーバ１０９−Ａまたはセンサーデータ処理サーバ１０９−Ｂのいずれかにセットして転送するものとする。
【００２４】
転送処理は、ＩｏＴ−ＧＷ１０１における転送処理部２０８により実行される。本実施形態では、転送処理部２０８には、ＯｐｅｎＦｌｏｗスイッチ（登録商標）の機能が搭載されるものとする。ＯｐｅｎＦｌｏｗスイッチは、フローテーブルと呼ばれる転送設定リストを持つ。転送設定には、マッチングルールと呼ばれる転送パケットを特定する条件と、アクションと呼ばれる転送処理内容が記述される。
【００２５】
本実施形態では、転送処理部２０８のフローテーブルは、センサー１０３〜１０６が送信するセンサーデータのパケット転送設定を含む。各転送設定は、センサーデータのパケットを特定するためのマッチングルールと、転送時に宛先ＩＰｖ６アドレスをセットすることを含むアクションが記述される。また、ＩｏＴ−ＧＷ１０１のフローテーブルへの設定は、機器管理サーバ１０２が、ＯｐｅｎＦｌｏｗプロトコル通信で実行する。機器管理サーバ１０２は、センサー１０３〜１０６を管理するとともに、それらが送信するセンサーデータの収集や解析のため、パケットの転送先についても管理する。
【００２６】
［センサー１０３のハードウェア構成］
次に、センサー１０３のハードウェア構成の一例について、図３を参照して説明する。図３は、センサー１０３のハードウェア構成例を示すブロック図である。センサー１０３は、ＭＣＵ（Ｍｉｃｒｏ  Ｃｏｎｔｒｏｌ  Ｕｎｉｔ）３０１と、ＰＡＮ制御部３０２と、センサー部３０３で構成される。ＭＣＵは、マイクロプロセッサ、ＲＡＭ、ＲＯＭ、シリアル通信バスインタフェースなどのハードウェアを１つにまとめた集積回路である。ＰＡＮ制御部３０２とセンサー部３０３は、ＵＡＲＴ、Ｉ２Ｃ、ＳＰＩなどのいずれかのシリアル通信バスでＭＣＵ３０１と接続し得る。
【００２７】
ＭＣＵ３０１は、各々の機能部の制御、無線ＰＡＮプロトコル処理、センサーデータの取得や送信などの処理を実行する。これらの処理は、ＭＣＵ３０１内部に記録されるソフトウェアプログラムとして実装され得る。ＰＡＮ制御部３０２は、ＷＳＮ１０８に接続する無線ＰＡＮ規格の通信インターフェースであり、図２のＰＡＮ制御部２０５と同等の機能を有する。センサー部３０３は、ジャイロ、加速度、方位、距離、振動、温度、照度、ＵＶ、気圧、ガス、放射能、におい、ドアや窓の開閉、侵入検知など、何らかの値の測定やイベント検知を行うことができるセンサー素子とＡ／Ｄ変換器を含む集積回路である。ＭＣＵ３０１が実行するプログラムにより、センサー部３０３からデータが取得されてセンサーデータが作成される。そして、センサーデータはＰＡＮ制御部２０５に出力され、ＷＳＮ１０８に送信される。
【００２８】
また、本実施形態において、センサー１０３はＣｏＡＰサーバとして動作するためのソフトウェアプログラムを有する。ＣｏＡＰサーバプログラムは、ＭＣＵ３０１で実行され、作成するセンサーデータはリソースとして管理される。そして、ＣｏＡＰサーバは、ＣｏＡＰクライアントから該リソースへのリクエストを受信すると、リソースの値、例えばセンサーデータ（の値）を返信する。
【００２９】
なお、本実施形態では、センサー１０３〜１０６は、略同様のハードウェア構成を持つことを想定するが、センサー部３０３に有するセンサーの種別についてはそれぞれ異なっていても良い。また、センサー部３０３に含まれるセンサーは１つとは限らず、複数の種別のセンサーを有していても良いものとする。
【００３０】
［ＩｏＴ−ＧＷ１０１によるセンサー情報管理］
次に、ＩｏＴ−ＧＷ１０１がＷＳＮ１０８に属するセンサー１０３〜１０６に関する情報（センサー情報）を管理するために用いるセンサー情報管理テーブルについて説明する。図１０は、ＩｏＴ−ＧＷ１０１により保持されるセンサー情報管理テーブル１００１を例示したものである。ＩｏＴ−ＧＷ１０１は、ＣＰＵ２０２で実行するセンサー情報管理プログラムによって、ＲＡＭ２０３にセンサー情報管理テーブル１００１を保持し、ＷＳＮ１０８のセンサー１０３〜１０６に対するセンサー情報の追加、削除、更新などを行う。
【００３１】
センサー情報管理テーブル１００１は、センサー情報として、各センサー装置のセンサー種別（種別コード）１００２、６ＬｏＷＰＡＮノード識別子１００３、有効期間１００４などの情報を含む。センサー種別１００２は、情報処理システム１００で定義された、センサーの種類を示す識別子であり、センサー１０３〜１０６が有するセンサーの種類を意味する。６ＬｏＷＰＡＮノード識別子１００３は、センサー１０３〜１０６を一意に識別できる情報であり、本実施形態では、ＥＵＩ−６４形式のアドレスが使用される。有効期間１００４は、センサー装置が継続して動作可能な期間である。有効期間１００４としては、例えば、センサーデータパケットを送信したり、他の装置からのパケットを受信したりすることが可能な期間が想定される。本実施形態では、有効期間１００４として、６ＬｏＷＰＡＮのＩＰｖ６アドレスの有効期間が使用される。また、有効期間１００４は、ＩＰｖ６アドレスの有効期間以外にも、例えばセンサー装置がバッテリー駆動である場合には、バッテリー残量などから導出される駆動可能な期間などが使用されても良い。
【００３２】
また、センサー情報管理テーブル１００１は、付加的な情報として、センサー１０３〜１０６の位置情報１００５を含んでも良い。例えば、位置情報１００５は、センサー装置のＧＰＳ情報などでも良いし、特定の建物やフロアを指定するような情報であっても良い。センサー情報管理テーブル１００１が位置情報１００５を含む場合は、センサー１０３〜１０６が自身の位置情報も送信できるように予め構成されていることが想定される。
【００３３】
［ＩｏＴ−ＧＷ１０１によるセンサーデータ監視管理手段］
次に、ＩｏＴ−ＧＷ１０１がＷＳＮ１０８に属するセンサー１０３〜１０６のリソース（センサーデータ等）を監視するために用いる監視管理テーブルについて説明する。図１１は、ＩｏＴ−ＧＷ１０１により保持される監視管理テーブル１１０１を例示したものである。ＩｏＴ−ＧＷ１０１は、ＣＰＵ２０２で実行するリソース監視管理プログラムにより、ＲＡＭ２０３上に監視管理テーブル１１０１を保持し、センサー１０３〜１０６のリソースに対する情報の追加、削除、更新などを行う。
【００３４】
監視管理テーブル１１０１は、リソースに対する情報として、ＣｏＡＰサーバのアドレス情報（サーバアドレス）１１０２、リソース種別情報１１０３と、そのリソースを監視しているＣｏＡＰクライアントのアドレス情報（クライアントアドレス）１１０４を含む。１つのサーバのリソースを複数のクライアントが監視する状態では、１つのＣｏＡＰサーバのアドレス情報１１０２に複数のＣｏＡＰクライアントのアドレス情報が関連付けられる。本実施形態ではサーバアドレス１１０２やクライアントアドレス１１０４のアドレス情報は、ＩＰｖ６アドレスとする。
【００３５】
ＩｏＴ−ＧＷ１０１は、例えば、ＬＡＮ１０７側のＣｏＡＰクライアントから、ＷＳＮ１０８内のセンサー装置（すなわちＣｏＡＰサーバ）へのＯｂｓｅｒｖｅオプション付きＣｏＡＰリクエストのパケットを転送する際に、監視管理テーブル１１０１を更新する。例えば、ＩｏＴ−ＧＷ１０１は、リクエスト対象のＣｏＡＰサーバのアドレス情報１１０２に関連付けて、ＣｏＡＰクライアントのアドレスをＣｏＡＰクライアントのアドレス情報１１０４に追加する。もし、該ＣｏＡＰリクエストの転送時に、リクエスト対象のＣｏＡＰサーバのアドレス情報１１０２が登録されてない場合は、ＩｏＴ−ＧＷ１０１は、リクエスト対象のＣｏＡＰサーバのアドレス情報１１０２を新規登録する。なお、ＩｏＴ−ＧＷ１０１がＯｂｓｅｒｖｅオプションの付いていないリクエストを転送する場合は、ＩｏＴ−ＧＷ１０１は、監視管理テーブル１１０１に、クライアントのアドレス情報の追加は行わない。
【００３６】
また、ＩｏＴ−ＧＷ１０１は、監視中のＣｏＡＰクライアントのアドレス情報１１０４を削除する場合は、センサー情報管理テーブル１００１のエントリ（登録）の削除時に、監視管理テーブル１１０１のエントリごと削除する。例えば、センサー情報管理テーブル１００１に登録されたセンサーの有効期間１００４が経過したとき、ＩｏＴ−ＧＷ１０１は、該有効期間１００４に関連づけられたエントリを削除する。そして、ＩｏＴ−ＧＷ１０１は、削除されるエントリに含まれる６ＬｏＷＰＡＮノード識別子１００３とセンサー種別１００２の情報を用いて、監視管理テーブル１１０１を検索する。検索の結果、該有効期間１００４に関連づけられたエントリが存在すれば、そのエントリを削除する。このように、あるセンサー情報がセンサー情報管理テーブル１００１から削除されるとき、対応するアドレス情報（６ＬｏＷＰＡＮノード識別子１００３に対応するアドレス情報１１０２）を有するエントリが、監視管理テーブル１１０１から削除される。
【００３７】
［センサー１０３のＩＰｖ６アドレス自動設定処理］
次に、センサー１０３のＷＳＮ１０８におけるＩＰｖ６アドレス自動設定処理について、図４を参照しながら説明する。図４は、センサー１０３のＩＰｖ６アドレス自動設定処理のシーケンス図である。説明に当たり、センサー１０３にはＣｏＡＰサーバが実装され、機器管理サーバ１０２にはＣｏＡＰクライアントが実装されているものとする。なお、図４の通信シーケンスは、ＲＦＣ６７７５“Ｎｅｉｇｈｂｏｒ  Ｄｉｓｃｏｖｅｒｙ  Ｏｐｔｉｍｉｚａｔｉｏｎ  ｆｏｒ  ＩＰｖ6 ｏｖｅｒ  Ｌｏｗ-Ｐｏｗｅｒ  Ｗｉｒｅｌｅｓｓ  Ｐｅｒｓｏｎａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋｓ （６ＬｏＷＰＡＮｓ）”において示される通信例と同様である。
【００３８】
図４に示すシーケンス図の開始時点では、機器管理サーバ１０２は、ＣｏＡＰプロトコルのＯｂｓｅｒｖｅオプション機能により、センサー１０３のセンサーデータを監視中であるとする。まず、センサー１０３は、再起動などにより、ＷＳＮ１０８に再接続するとき、近隣のセンサー１０４に接続する。そして、センサー１０３とセンサー１０４との無線ＰＡＮリンクが確立すると、センサー１０３からＩｏＴ−ＧＷ１０１までの無線ＰＡＮメッシュネットワークにおける通信経路が確立する。センサー１０３は、ＷＳＮ１０８に接続したのち、６ＬｏＷＰＡＮで通信するためのＩＰｖ６アドレスを自動設定する。
【００３９】
センサー１０３は、Ｓ４０１で、ルータ要請（ＲＳ：Ｒｏｕｔｅｒ  Ｓｏｌｉｃｉｔａｔｉｏｎ）メッセージを近隣の６ＬｏＷＰＡＮルータノードに向けて送信すると、センサー１０４がこのメッセージを受信する。そして、センサー１０４は、Ｓ４０２で、ルータ広告（ＲＡ：Ｒｏｕｔｅｒ  Ａｄｖｅｒｔｉｓｅｍｅｎｔ）メッセージをセンサー１０３に送信する。このＲＡメッセージには、ＰＩＯ（Ｐｒｅｆｉｘ  Ｉｎｆｏｒｍａｔｉｏｎ  Ｏｐｔｉｏｎ）、６ＣＯ（６ＬｏＷＰＡＮ  Ｃｏｎｔｅｘｔ  Ｏｐｔｉｏｎ）、ＡＢＲＯ（Ａｕｔｈｏｒｉｔａｔｉｖｅ Ｂｏｒｄｅｒ Ｒｏｕｔｅｒ Ｏｐｔｉｏｎ）等のオプションが付与される。センサー１０３は、ＲＡメッセージのＰＩＯや６ＣＯの情報から、ＷＳＮ１０８の６ＬｏＷＰＡＮネットワークにおけるＩＰｖ６アドレスのプリフィクスを取得する。そして、センサー１０３は、このプリフィクスを使用して、自身に設定すべきＩＰｖ６アドレスを生成する。また、６ＬｏＷＰＡＮでは、ＲＡメッセージのＡＢＲＯで、６ＬｏＷＰＡＮボーダルータ（すなわち、ＩｏＴ−ＧＷ１０１）のＩＰｖ６アドレスが通知される。
【００４０】
図６に、ＡＢＲＯのフォーマットを示す。本実施形態では、“６ＬＢＲ  Ａｄｄｒｅｓｓ”フィールド６０１に、ＩｏＴ−ＧＷ１０１のＩＰｖ６アドレスが設定される。このため、センサー１０３は、センサー１０４から受信するＲＡメッセージのＡＢＲＯの情報からＩｏＴ−ＧＷ１０１のＩＰｖ６アドレスを取得する。そして、センサー１０３は、取得したＩＰｖ６アドレスを、センサー１０３が送信する６ＬｏＷＰＡＮパケットの宛先として設定する。
【００４１】
図４のＳ４０３からＳ４０６の通信シーケンスは、センサー１０３が生成したＩＰｖ６アドレスが、他ノードと重複していないかを確認する処理である。センサー１０３は、Ｓ４０３で、近隣要請（ＮＳ：Ｎｅｉｇｈｂｏｒ  Ｓｏｌｉｃｉｔａｔｉｏｎ）メッセージをセンサー１０４に送信する。６ＬｏＷＰＡＮでは、このＮＳメッセージのオプションにはＡＲＯ（Ａｄｒｅｓｓ  Ｒｅｇｉｓｔｒａｔｉｏｎ  Ｏｐｔｉｏｎ）が付与される。ＡＲＯは、６ＬｏＷＰＡＮボーダルータが６ＬｏＷＰＡＮノードを識別するための６４ビットの識別子を通知するオプションである。本実施形態では、ＷＳＮ１０８に接続する装置がセンサー装置である場合には、該センサー装置は、ＡＲＯ付きＮＳメッセージで、センサーデータの種別を表すセンサー種別コードを通知するようにしている。
【００４２】
図７に、ＡＲＯのフォーマットを示す。センサー１０３は、“Ｓｅｎｓｏｒ  Ｔｙｐｅ”フィールド７０１にセンサー種別コードを設定する。そして、センサー１０３は、“ＥＵＩ−６４”フィールド７０２にセンサー１０３の６ＬｏＷＰＡＮノード識別子を設定する。ここで、ＲＦＣ６７７５では、フィールド７０１は“Ｒｅｓｅｒｖｅｄ”となっており、０（ゼロ）を設定するように記述されている。ゆえに、センサー装置ではないノードが送信するＡＲＯでは、フィールド７０１の値に０（ゼロ）が設定される。本実施形態では、フィールド７０１の値が非ゼロの場合にセンサー装置であって、そのセンサー種別コードを表すものとする。
【００４３】
センサー１０４は、Ｓ４０３で送信されたＮＳメッセージを受信すると、Ｓ４０４で、ＩｏＴ−ＧＷ１０１に対して、重複アドレス要求（ＤＡＲ：Ｄｕｐｌｉｃａｔｅ Ａｄｄｒｅｓｓ Ｒｅｑｕｅｓｔ）メッセージを送信する。この要求は、６ＬｏＷＰＡＮネットワーク内に、同じＩＰｖ６アドレスを持つノードが存在していないかの問い合わせに相当する。本実施形態では、ＩＰｖ６アドレスの重複確認を実行している６ＬｏＷＰＡＮノードは、センサー装置であるか否か、および、センサー装置である場合にはセンサーの種別を表すセンサー種別コードを６ＬｏＷＰＡＮボーダルータに通知するようにしている。
【００４４】
図８に、センサー１０４が作成するＤＡＲメッセージのフォーマットを示す。“Ｓｅｎｓｏｒ  Ｔｙｐｅ”フィールド８０１には、センサー１０３のセンサー種別コードが設定され、“ＥＵＩ−６４”フィールド８０２には、センサー１０３の６ＬｏＷＰＡＮノード識別子が設定される。これらのフィールドは、センサー１０３から受信したＡＲＯから各フィールド値をコピーして設定される。なお、“Ｔｙｐｅ”フィールド８０３には、数値１５７、“Ｓｔａｔｕｓ”フィールド８０４には、ゼロが設定され得る。“Ｒｅｇｉｔｒａｔｉｏｎ  Ｌｉｆｅｔｉｍｅ”フィールド８０５や“Ｒｅｇｉｓｔｅｒｅｄ  Ａｄｄｒｅｓｓ”フィールド８０６についても、受信したＡＲＯ付きのＮＳパケットからそれぞれ値を取得して設定される。
【００４５】
次に、ＩｏＴ−ＧＷ１０１は、Ｓ４０４で送信されたＤＡＲメッセージを受信する。ＩｏＴ−ＧＷ１０１は、ＤＡＲメッセージを受信すると、ＩＰｖ６アドレス重複確認処理（Ｓ４０７）を実施する。ＩＰｖ６アドレス重複確認処理（Ｓ４０７）の詳細については後述する。Ｓ４０７の処理後、ＩｏＴ−ＧＷ１０１は、Ｓ４０５で、処理の結果をＤＡＣ（Ｄｕｐｌｉｃａｔｅ  Ａｄｄｒｅｓｓ  Ｃｏｎｆｉｒｍａｔｉｏｎ）メッセージで通知する。また、本実施形態では、Ｓ４０７のＩＰｖ６アドレス重複確認処理において、ＩｏＴ−ＧＷ１０１は、機器管理サーバ１０２とＬＡＮ１０７を介して通信を行う。具体的には、ＩｏＴ−ＧＷ１０１は、Ｓ４０８で、センサー１０３の６ＬｏＷＰＡＮノード識別子、ＩＰｖ６アドレス、センサー種別コードなどの情報を機器管理サーバ１０２に通知し、センサー１０３を情報処理システム１００に登録する。そして、機器管理サーバ１０２は、Ｓ４０９で、ＩｏＴ−ＧＷ１０１に対してセンサー１０３のセンサーデータの転送設定を実行する。これにより、機器管理サーバ１０２が、センサー１０３およびそのセンサーデータを、収集や解析の対象として管理することとなる。また、ＩｏＴ−ＧＷ１０１は、センサーデータの６ＬｏＷＰＡＮパケットを転送可能な状態となる。
【００４６】
ＩｏＴ−ＧＷ１０１に対するセンサーデータの転送設定（Ｓ４０９）までが正常に完了した場合に、処理結果が成功となり、ＩｏＴ−ＧＷ１０１は、ＤＡＣパケットでその結果を返す（Ｓ４０５）。ＤＡＣメッセージのフォーマットは、図８に示したＤＡＲメッセージと同形式である。ＤＡＣでは、“Ｔｙｐｅ”フィールド８０３に、値１５８が設定される。また、”Ｓｔａｔｕｓ“フィールド８０４には、ＩＰｖ６アドレス重複確認の結果が設定される。例えば、フィールド８０４に０（ゼロ）が設定された場合、結果が成功であることを意味する。
【００４７】
センサー１０４は、Ｓ４０５で送信されたＤＡＣメッセージを受信すると、Ｓ４０６で、センサー１０３へ近隣広告（Ｎｅｉｇｈｂｏｒ  Ａｄｖｅｒｔｉｓｅｍｅｎｔ）メッセージを送信する。このＮＡメッセージのオプションにも、ＡＲＯが付与される。このＡＲＯのフォーマットは、前述した図７のフォーマットと同じである。ただし、センサー１０４がＮＡメッセージで送信するＡＲＯの“Ｓｔａｔｕｓ”フィールド７０３（図７）には、ＤＡＣメッセージの“Ｓｔａｔｕｓ”フィールド８０３（図８）に含まれていた値が設定される。すなわち、Ｓ４０７のＩＰｖ６アドレス重複確認の処理結果が設定される。
【００４８】
センサー１０３は、Ｓ４０６で送信されたＮＡメッセージを受信することにより、ＩＰｖ６アドレス重複確認の結果を取得する。例えば、受信したＮＡメッセージのＡＲＯの“Ｓｔａｔｕｓ”フィールド７０３（図７）の値がゼロの場合、センサー１０３は、ＩＰｖ６アドレス重複確認が成功したとみなすことができる。同時に、センサー１０３は、センサー１０３がセンサーデータの６ＬｏＷＰＡＮパケットの宛先であるＩｏＴ−ＧＷ１０１が、センサー１０３が送信するセンサーデータパケットにおける転送設定が成功したことも確認することになる。
【００４９】
以上のようなＩＰｖ６アドレス自動設定処理の通信シーケンスにより、センサー１０３のＩＰｖ６アドレスの重複確認と共に、ＩｏＴ−ＧＷ１０１においてセンサー１０３が送信するセンサーデータの転送設定が実行されることとなる。そして、その転送設定が成功したならば、センサー１０３は、センサーデータを送信することが可能な状態となる。
【００５０】
一方、センサー１０３が、Ｓ４０６で受信したＮＡメッセージのＡＲＯの“Ｓｔａｔｕｓ”フィールド７０３（図７）の値が非ゼロの場合、ＩＰｖ６アドレスの重複確認が失敗したこと（アドレスが重複すること）を意味する。センサー１０３は、このようなＮＡメッセージを受信した場合、生成したＩＰｖ６アドレスを自身に設定せず破棄し、センサーデータを送信しない状態となり得る。
【００５１】
さらに本実施形態では、ＩｏＴ−ＧＷ１０１は、Ｓ４０７のＩＰｖ６アドレス重複確認処理において、ＬＡＮ１０７で接続する機器がセンサー１０３のセンサーデータを監視中であるかどうかを判定する。図４の例では、機器管理サーバ１０２がセンサー１０３を監視中であったため、ＩｏＴ−ＧＷ１０１は、Ｓ４１０で、機器管理サーバ１０２に対して、監視要求の再要求の指示を送信する。
【００５２】
［ＩｏＴ−ＧＷ１０１のＩＰｖ６アドレス重複確認処理］
次にＩｏＴ−ＧＷ１０１のＩＰｖ６アドレス重複確認処理（図４のＳ４０７）について図５のフローチャートを参照しながら説明する。なお、この処理は、ＣＰＵ２０２によって実行され得る。また、この処理は、ＩｏＴ−ＧＷ１０１が、ＷＳＮ１０８からＤＡＣ眼セージ（やＡＲＯ付きＮＳメッセージ）を受信したことに応答して実行され得る（Ｓ５０２）。
【００５３】
Ｓ５０２において、ＩｏＴ−ＧＷ１０１は、ＤＡＤテーブル（Ｄｕｐｌｉｃａｔｅ  Ａｄｄｒｅｓｓ  Ｄｅｔｅｃｔｉｏｎ  Ｔａｂｌｅ）に、ＤＡＲメッセージで重複確認を要求されたＩＰｖ６アドレスの登録があるかを検索（判定）する。ＤＡＤテーブルとは、６ＬｏＷＰＡＮネットワークのＩＰｖ６アドレスとノードとを関連付けた管理テーブルである。図９は、ＤＡＤテーブル９００を例示したものである。ＤＡＤテーブル９００は、少なくとも、ＥＵＩ−６４形式の６ＬｏＷＰＡＮノード識別子９０１、該ノードのＩＰｖ６アドレス９０２、および該ＩＰｖ６アドレスの有効期間９０３の情報を含む。なお、ＤＡＤテーブル９００の各エントリは、センサー種別コードの情報を含むように構成されてもよい。
【００５４】
重複確認を要求されたＩＰｖ６アドレスがＤＡＤテーブル９００に登録されていれば（Ｓ５０２でＹｅｓ）、処理はＳ５０３に進み、そうでなければ、処理はＳ５０４に進む。Ｓ５０４では、ＩｏＴ−ＧＷ１０１は、重複確認を要求されたＩＰｖ６アドレスを、ＤＡＤテーブル９００に新規エントリとして登録し、Ｓ５０６へ進む。
【００５５】
一方、Ｓ５０３では、ＩｏＴ−ＧＷ１０１は、Ｓ５０２で登録されていると判定されたＩＰｖ６アドレス（重複確認を要求されたＩＰｖ６アドレス）が、同じノードにより登録されたものであるかを判定する。これは、６ＬｏＷＰＡＮノード識別子９０１と、ＤＡＲメッセージに含まれる“ＥＵＩ−６４”フィールド８０２（図８）の値が同じであるかをチェックすることにより行われ得る。ＩＰｖ６アドレスが、同じノードにより登録されたものである場合（Ｓ５０３でＹｅｓ）、処理はＳ５０５に進み、そうでなければ、処理はＳ５１４へと進む。
【００５６】
Ｓ５０３からＳ５１４に進む場合は、重複確認を要求されたＩＰｖ６アドレスが、他ノードにより登録されていた場合である。Ｓ５１４では、ＩｏＴ−ＧＷ１０１は、ＤＡＣメッセージを送信する。ここで、ＩｏＴ−ＧＷ１０１は、ＤＡＣメッセージの“Ｓｔａｔｕｓ”フィールド８０４（図８）にＩＰｖ６アドレス重複確認の失敗を示す値を設定して送信する。そして、処理はＳ５１７へ進み、この処理フローを終了する。
【００５７】
Ｓ５０３からＳ５０５に進む場合は、重複確認を要求されたＩＰｖ６アドレスが、既に同じノードにより登録されていた場合である、Ｓ５０５では、ＩｏＴ−ＧＷ１０１は、該ＩＰｖ６アドレスの登録の更新を行う。具体的には、ＩｏＴ−ＧＷ１０１は、ＤＡＤテーブル９００における有効期間９０３を、受信したＤＡＲメッセージの“Ｒｅｇｉｔｒａｔｉｏｎ  Ｌｉｆｅｔｉｍｅ”フィールド８０５（図８）値を元に設定し直す。そして、処理はＳ５０６へと進む。
【００５８】
Ｓ５０６では、ＩｏＴ−ＧＷ１０１は、受信したＤＡＲメッセージの“Ｓｅｎｓｏｒ  Ｔｙｐｅ”フィールド８０１（図８）の値により、センサー種別コードの値が０（ゼロ）であるかどうかを調べる。ここで、非ゼロであるセンサー種別コードは、いずれかのセンサーデータの種類を示すコードを意味する。このため、非ゼロであるセンサー種別コードを含むＤＡＲメッセージは、センサーによるＩＰｖ６アドレス自動設定処理におけるＩＰｖ６アドレスの登録もしくは更新を要求するものあることを意味する。逆に、ゼロであるセンサー種別コードは、センサーではないことを意味する。Ｓ５０６でセンサー種別コードが非ゼロであれば、処理はＳ５０７へ進み、ゼロならば、処理はＳ５１２へと進む。
【００５９】
Ｓ５０７では、ＩｏＴ−ＧＷ１０１が保持するセンサー情報管理テーブル１００１（図１０）に対する新規登録もしくは登録更新の処理を行う。例えば、ＩｏＴ−ＧＷ１０１は、受信したＤＡＲメッセージの“Ｓｅｎｓｏｒ  Ｔｙｐｅ”フィールド８０１（図８）、“ＥＵＩ−６４”フィールド８０２（図８）、“Ｒｅｇｉｔｒａｔｉｏｎ  Ｌｉｆｅｔｉｍｅ”フィールド８０５（図８）の値を用いて、新規登録または登録更新を実行する。
【００６０】
Ｓ５０８では、ＩｏＴ−ＧＷ１０１は、機器管理サーバ１０２と通信を行い、センサー情報の新規登録もしくは登録更新の処理を行う。いずれの場合でも、ＩｏＴ−ＧＷ１０１は、少なくとも６ＬｏＷＰＡＮノード識別子、ＩＰｖ６アドレス、センサー種別コードの３つの情報を機器管理サーバ１０２に伝達する。これにより、機器管理サーバ１０２においても、センサー装置およびセンサーデータの管理処理を実行が可能となる。続くＳ５０９では、ＩｏＴ−ＧＷ１０１は、機器管理サーバ１０２から、センサーデータを含むパケットの転送設定を受信して、転送設定を実行する。この転送設定のための通信には、ＯｐｅｎＦｌｏｗプロトコルが使用される。なお、転送設定は、パケットを転送しないで破棄するという内容の設定であってもよい。
【００６１】
Ｓ５１０では、ＩｏＴ−ＧＷ１０１は、Ｓ５０９での転送設定処理が正常に終了したかを判定する。もし正常に終了しなかったならば（Ｓ５１０でＮｏ）、処理はＳ５１１に進み、ＩｏＴ−ＧＷ１０１は、ＤＡＤテーブルから、ＩＰｖ６アドレスの登録を削除し、処理はＳ５１４へと進む。Ｓ５１４では、前述のとおり、ＩｏＴ−ＧＷ１０１は、ＩＰｖ６アドレス重複確認の失敗を示す値をＤＡＣメッセージに設定して送信し、処理はＳ５１７へ進んでこの処理フローを終了する。
【００６２】
一方、Ｓ５１０で、ＩｏＴ−ＧＷ１０１の転送設定処理が正常に終了したと判定された場合は（Ｓ５１０でＹｅｓ）、処理はＳ５１２へと進む。Ｓ５１２では、ＩｏＴ−ＧＷ１０１は、ＩＰｖ６アドレス重複確認の成功（アドレスが重複しないこと）を示すＤＡＣメッセージを送信する。このときＤＡＣメッセージフォーマットの“Ｓｔａｔｕｓ”フィールド８０４（図８）には、０（ゼロ）が設定される。なお、センサー装置ではない６ＬｏＷＰＡＮノードに対するＩＰｖ６アドレス自動設定処理であった場合は、処理はＳ５０６からＳ５１２に進むことになる。この場合、ＤＡＤテーブルへのＩＰアドレスの登録または更新のみ実行されており、Ｓ５１２で、ＩｏＴ−ＧＷ１０１は、ＩＰｖ６アドレスの重複確認処理の成功を示すＤＡＣメッセージを送信して、この処理フローを終了することとなる。
【００６３】
Ｓ５１２でＤＡＣメッセージ送信後、Ｓ５１３では、ＩｏＴ−ＧＷ１０１は、Ｓ５０７における新規登録もしくは登録更新の処理が、既に管理しているセンサーに対するものであったかを判定する。よって、当該判定は、Ｓ５０７の処理を実行していることが前提となる。ＩｏＴ−ＧＷ１０１は、センサー情報管理テーブル１００１の既存エントリの更新処理を実行した場合に、ＹＥＳと判定する。また、ＩｏＴ−ＧＷ１０１は、センサー情報管理テーブル１００１への新規登録であっても、同じ６ＬｏＷＰＡＮ識別子を持つ他の登録エントリ（センサー種別が異なるエントリ）が存在していた場合にも、ＹＥＳと判定する。Ｓ５１３でＹＥＳの場合、処理はＳ５１３からＳ５１５へ進む。Ｓ５１３でＮＯの場合は、処理はＳ５１７に進んで、この処理フローを終了する。
【００６４】
Ｓ５１５では、ＩｏＴ−ＧＷ１０１は、Ｓ５０７でＩＰｖ６アドレスを新規登録または登録更新したセンサーまたはセンサーにより作成されたセンサーデータが監視されているかを判定する。この処理では、ＩｏＴ−ＧＷ１０１は、監視管理テーブル１１０１のエントリを検索する。例えば、ＩｏＴ−ＧＷ１０１は、（１）監視管理テーブル１１０１から、新規登録または登録更新したＩＰｖ６アドレスと同じＣｏＡＰサーバアドレスを持つエントリを検索する。さらに、ＩｏＴ−ＧＷ１０１は、（２）ＤＡＲメッセージの“ＥＵＩ−６４”フィールド８０２（図８）の値を元に生成されるＩＰｖ６アドレスのインターフェース識別子を、ＣｏＡＰサーバアドレスの下位６４ビットに持つエントリを検索する。いずれかの検索により１つ以上のエントリが見つかった場合、センサーデータ（またはセンサー）が監視されていると判定され（Ｓ５１５でＴｅｓ）、処理はＳ５１６に進む。１つ以上のエントリが見つからなかった場合は（Ｓ５１５でＮｏ）、処理はＳ５１７に進み、この処理フローは終了する。
【００６５】
Ｓ５１６では、ＩｏＴ−ＧＷ１０１は、Ｓ５１５で検索された各エントリに格納されているクライアントアドレス１１０４を有する機器（既にセンサーデータを監視していたクライアント）に対して、センサーデータ（またはセンサー）の監視を継続させるための処理を行う。例えば、ＩｏＴ−ＧＷ１０１は、該クライアントアドレス１１０４を有する機器に対して、監視中のセンサーデータに対するＣｏＡＰのリクエストの再送信を指示するメッセージを送信する。該メッセージは、センサーデータの監視を継続することをセンサーに送信するための指示を含むメッセージに対応する。そして、処理はＳ５１７に進み、この処理フローは終了する。Ｓ５１６で送信されるメッセージは、図４におけるＳ４１０の監視要求指示に相当する。また、Ｓ５１５において、（１）の条件ではなく、（２）の条件のみで検索されたエントリは、監視中のＣｏＡＰサーバのＩＰｖ６アドレスが、センサーによるアドレス自動設定処理で設定しようとするＩＰｖ６アドレスと異なっていることを意味する。この場合には、Ｓ５１６で、ＩｏＴ−ＧＷ１０１は、該当エントリのクライアントに対して、ＣｏＡＰサーバのＩＰｖ６アドレスが変更になっていることを通知するようにしてもよい。
【００６６】
＜実施形態２＞
実施形態１では、ＩｏＴ−ＧＷ１０１が、Ｓ５１６の処理で監視中のクライアントに対して、Ｏｂｓｅｒｖｅ付きリクエストの送信を指示するものとして説明した。この処理は、クライアントに指示するのではなく、クライアントの代わりに、センサーデータを監視中のセンサーに対して、Ｏｂｓｅｒｖｅ付のＣｏＡＰリクエスト（すなわち、センサーデータの監視を継続することを含むメッセージ）を代理で送信するようにしてもよい。
【００６７】
以上、本発明に係る実施形態の一例について説明した。本実施形態は、ＩｏＴ−ＧＷ１０１で実行されるＩＰｖ６アドレス重複確認処理において、ＷＳＮ１０８内のセンサーに対してＣｏＡＰのＯｂｓｅｒｖｅ機能によって監視中のクライアントに、Ｏｂｓｅｒｖｅオプション付のリクエストの送信を指示する。このことは、センサー１０３〜１０６によるＷＳＮ１０８のＩＰｖ６アドレス自動設定処理の中で実現される。ゆえにＷＳＮ１０８内監視中のセンサーの再起動などにより、ＣｏＡＰサーバ側の被監視状態が失われてしまった場合でも、該センサーがＷＳＮ１０８への接続時において、速やかに被監視状態に戻すことが可能となる。
【００６８】
このように、上述の実施形態によれば、ＷＳＮ内のセンサーの再起動時に、該センサーの監視状態に応じて、ＣｏＡＰ通信による被監視状態を回復させることが可能になる。例えば、センサー装置が、クラッシュした場合や、ＷＳＮ接続を切断するようなスリープした場合など、再起動後の被監視状態を速やかに回復することが可能になる。
【００６９】
また、上述の実施形態は、ＣｏＡＰの仕様に照らしても効果がある。ＣｏＡＰの仕様では、ＣｏＡＰサーバとＣｏＡＰクライアントには、リソースの値の鮮度（Ｆｒｅｓｈｎｅｓｓ）の通知や管理の方法が示されている。この方法では、ＣｏＡＰサーバは、リソースの値の通知にＭａｘ−Ａｇｅオプションを付与し、その値が新鮮（Ｆｒｅｓｈ）であるとみなす最大時間を指定する。一方、ＣｏＡＰクライアントは、通知されたリソースの値をキャッシュし、通知の受信からの経過時間がＭａｘ−Ａｇｅオプションで指定された時間以内は、キャッシュした値を新鮮であるとみなす。そして、ＣｏＡＰクライアントは、キャッシュ中のリソースの値が新鮮な間は、該リソースの現在値として扱うとともに、該リソースの値についてリクエストの送信を抑制する。
【００７０】
もし、ＣｏＡＰクライアントが上述のＯｂｓｅｒｖｅオプション付きのリクエストを行っている場合、ＣｏＡＰサーバはＭａｘ−Ａｇｅオプション付きのリソース値をリプライする。そして、ＣｏＡＰサーバは、指定したＭａｘ−Ａｇｅで指定した時間が経過する前であっても、該リソースの値に変化があれば、その値を通知することが可能である。一方、Ｍａｘ−Ａｇｅで指定された最大時間を超えると、ＣｏＡＰクライアントは、リクエストの送信抑制を解除し、ＣｏＡＰサーバに再びＯｂｓｅｒｖｅオプション付きのＧＥＴリクエストを送信して、サーバに対して最新のリソースの値を要求することができる。
【００７１】
しかし、ＣｏＡＰの仕組みでは、ＣｏＡＰのクライアントとサーバの双方において、メッセージ通信を行わずとも、リソースの監視、被監視のセッションを維持する必要がある。そのため、センサーの再起動などにより、一旦ＣｏＡＰサーバ側のセッションが失われると、ＣｏＡＰクライアントは、再リクエストを行うまでリソースの値が通知されない状態が生じる。そうであっても、ＣｏＡＰサーバがＭａｘ−Ａｇｅオプション付きでリソースの値を通知する場合、ＣｏＡＰクライアントは、指定された最大時間の経過後に再リクエストを送信するかもしれない。しかしながら、Ｍａｘ−Ａｇｅで指定された最大時間が長い場合には、再リクエストが長時間実行されないことになる。このことは、ＣｏＡＰサーバ側のセッションが突然失われた場合に、ＣｏＡＰクライアント側では該サーバのリソースの値の変化を適時に取得できない状況が発生することにつながってしまう。上述の実施形態によれば、このような場合の問題も解決することが可能となる。
【００７２】
＜その他の実施形態＞
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【００７３】
１０１  ＩｏＴゲートウェイ（ＩｏＴ−ＧＷ）、１０２  機器管理サーバ、１０３〜１０６ センサー、１０７  ＬＡＮ、１０８  無線センサーネットワーク（ＷＳＮ）、１０９−Ａ〜１０９−Ｂ  センサーデータ処理サーバ、１１０  ＷＡＮ
【図１】
2019186730.tif 000003
【図２】
2019186730.tif 000004
【図３】
2019186730.tif 000005
【図４】
2019186730.tif 000006
【図５】
2019186730.tif 000007
【図６】
2019186730.tif 000008
【図７】
2019186730.tif 000009
【図８】
2019186730.tif 000010
【図９】
2019186730.tif 000011
【図１０】
2019186730.tif 000012
【図１１】
2019186730.tif 000013