(57)【要約】  ゲートウェイ装置は、振り分け先記憶部と、振り分け部と、送信先記憶部と、実装されたプロトコルスタック毎に設けられたプロトコル変換部及び入出力部とを備える。振り分け先記憶部は、宛先毎の振り分け先の情報を記憶する。振り分け部は、入力された宛先及び送信データを、振り分け先記憶部に記憶されている情報の中から検索された宛先に応じた振り分け先へ出力する。送信先記憶部は、宛先毎の送信先の情報を記憶する。プロトコル変換部は、振り分け部から宛先及び送信データが入力されると、その宛先及び送信データを、対応するプロトコルスタックの形式に合うデータに組み立てる。そして、その組み立てたデータを、送信先記憶部に記憶されている情報の中から検索された宛先に応じた送信先へ送信するよう、対応するプロトコルスタックの入出力部に指示する。入出力部は、対応するプロトコルスタックに応じた送信処理及び受信処理を行う。
2012157112.tif 000002
【特許請求の範囲】
【請求項１】
サーバ装置とノード装置とゲートウェイ装置とを有する通信システムにおいて、複数のプロトコルスタックが実装され、サーバ装置とノード装置との間の通信を仲介するゲートウェイ装置であって、
宛先に応じた処理を行う振り分け先の情報を、宛先毎に記憶する振り分け先記憶部と、
入力された宛先及び送信データを、前記振り分け先記憶部に記憶されている情報の中から検索された、前記宛先に応じた振り分け先へ出力する振り分け部と、
宛先毎の送信先の情報を記憶する送信先記憶部と、
実装されているプロトコルスタック毎に設けられ、対応するプロトコルスタックに応じた送信処理及び受信処理を行う入出力部と、
実装されているプロトコルスタック毎に設けられ、前記振り分け部から宛先及び送信データが入力されると、前記宛先及び送信データを、対応するプロトコルスタックの形式に合うデータに組み立て、当該組み立てたデータを、前記送信先記憶部に記憶されている情報の中から検索された前記宛先に応じた送信先へ送信するよう、対応するプロトコルスタックの前記入出力部に指示するプロトコル変換部と、
を有するゲートウェイ装置。
【請求項２】
前記プロトコル変換部は、対応するプロトコルスタックの前記入出力部から、対応するプロトコルスタックに応じた受信処理により得られたデータが入力されると、当該データから宛先及び送信データを抽出し、前記振り分け部へ出力する、
ことを特徴とする請求項１記載のゲートウェイ装置。
【請求項３】
前記振り分け先記憶部に記憶される振り分け先の情報は、前記プロトコル変換部と、当該ゲートウェイ装置のアプリケーションに対する振り分け先の情報を含む、
ことを特徴とする請求項１又は２記載のゲートウェイ装置。
【請求項４】
前記送信先記憶部に記憶される情報は、実装されているプロトコルスタックの通信プロトコルにより送信可能な範囲内の装置を送信先とする情報である、
ことを特徴とする請求項１乃至３の何れか一項に記載のゲートウェイ装置。
【請求項５】
前記振り分け先記憶部に記憶される情報は、前記通信システムに追加される装置を管理する管理サーバ装置の管理用アプリケーションを宛先として、その宛先及び対応する振り分け先の情報を含み、
前記送信先記憶部に記憶される情報は、前記管理サーバ装置の管理用アプリケーションを宛先として、その宛先及び対応する送信先の情報を含み、
新規ノード装置からノード追加通知を受信すると、前記新規ノード装置のプロトコルスタックに対応する第一のプロトコル変換部が、前記管理サーバ装置の管理用アプリケーションを宛先とし、前記新規ノード装置の追加メッセージである送信データとその宛先を、前記振り分け部に出力し、前記振り分け部は入力された前記送信データの宛先を基に前記振り分け先記憶部を参照し、前記管理サーバのプロトコルスタックに対応する第二のプロトコル変換部を検索し、検索された第二のプロトコル変換部に宛先と追加メッセージを出力し、前記第二のプロトコル変換部は、前記管理サーバ装置の管理用アプリケーションを宛先として、入力された宛先及び追加メッセージを、前記管理サーバ装置のプロトコルスタックの形式に合うようなデータに組み立て、その宛先に対応する送信先の情報を検索して、対応する入出力部に送信を指示する
ことを特徴とする請求項２乃至４の何れか一項に記載のゲートウェイ装置。
【請求項６】
前記振り分け部に入力された宛先及び送信データが、当該ゲートウェイ装置の更新用アプリケーションを宛先とし、装置の登録メッセージを送信データとする場合に、前記振り分け部が、当該ゲートウェイ装置で実行される更新用アプリケーションに、前記登録メッセージを出力し、前記更新用アプリケーションが、前記登録メッセージに基づいて、前記振り分け先記憶部及び前記送信先記憶部に記憶されている情報を更新する、
ことを特徴とする請求項１乃至５の何れか一項に記載のゲートウェイ装置。
【請求項７】
サーバ装置とノード装置とゲートウェイ装置とを有する通信システムにおいて、複数のプロトコルスタックが実装され、サーバ装置とノード装置との通信を仲介するゲートウェイ装置の通信方法であって、
宛先及び送信データを、前記宛先に応じた振り分け先へ出力し、
前記宛先が所定の振り分け先である場合に、前記宛先及び送信データを、対応するプロトコルスタックの形式に合うデータに組み立て、
前記組み立てられたデータを、対応するプロトコルスタックに応じた送信処理を行った上で、前記宛先に応じた送信先へ送信する、
ことを特徴とするゲートウェイ装置の通信方法。
【請求項８】
受信したデータに対し、対応するプロトコルスタックに応じた受信処理を行い、
前記受信処理により得られたデータから、宛先及び送信データを抽出し、
前記抽出された宛先及び送信データを、前記宛先に応じた振り分け先に出力する、
ことを特徴とする請求項７記載のゲートウェイ装置の通信方法。
【請求項９】
新規ノード装置からノード追加通知を受信すると、前記通信システムに追加される装置を管理する管理サーバ装置の管理用アプリケーションを宛先とし、当該ゲートウェイ装置の追加メッセージである送信データとその宛先を、前記宛先に応じた振り分け先へ出力する、
ことを特徴とする請求項７又は８に記載のゲートウェイ装置の通信方法。
【請求項１０】
前記宛先及び送信データを、前記宛先に応じた振り分け先へ出力する際に、前記宛先が当該ゲートウェイ装置の更新用アプリケーションである場合は、前記送信データを前記更新用アプリケーションに出力し、
前記更新用アプリケーションが、前記送信データに基づいて、宛先毎の振り分け先及び送信先の情報を更新する、
ことを特徴とする請求項７乃至９の何れか一項に記載のゲートウェイ装置の通信方法。
【請求項１１】
プロトコルスタックが実装されたノード装置であって、
宛先毎の振り分け先の情報を記憶する振り分け先記憶部と、
入力された宛先及び送信データを、前記振り分け先記憶部に記憶されている情報の中から検索された前記宛先に応じた振り分け先へ出力する振り分け部と、
宛先毎の送信先の情報を記憶する送信先記憶部と、
実装されているプロトコルスタックに対応して設けられ、対応するプロトコルスタックに応じた送信処理及び受信処理を行う入出力部と、
実装されているプロトコルスタックに対応して設けられ、前記振り分け部から宛先及び送信データが入力されると、前記宛先及び送信データを、対応するプロトコルスタックの形式に合うデータに組み立て、当該組み立てたデータを、前記送信先記憶部に記憶されている情報の中から検索された前記宛先に応じた送信先へ送信するよう、対応するプロトコルスタックの前記入出力部に指示する、プロトコル変換部と、
を有するノード装置。
【請求項１２】
前記プロトコル変換部は、前記入出力部から、対応するプロトコルスタックに応じた受信処理により得られたデータが入力されると、当該データから宛先及び送信データを抽出し、前記振り分け部へ出力する、
ことを特徴とする請求項１１記載のノード装置。
【請求項１３】
プロトコルスタックが実装されたノード装置の通信方法であって、
宛先及び送信データを、前記宛先に応じた振り分け先へ出力し、
前記宛先が所定の振り分け先である場合に、前記宛先及び送信データを、対応するプロトコルスタックの形式に合うデータに組み立て、
前記組み立てられたデータを、対応するプロトコルスタックに応じた送信処理を行った上で、前記宛先に応じた送信先へ送信する、
ことを特徴とするノード装置の通信方法。
【請求項１４】
受信したデータに対し、対応するプロトコルスタックに応じた受信処理を行い、
前記受信処理により得られたデータから、宛先及び送信データを抽出し、
前記抽出された宛先及び送信データを、前記宛先に応じた振り分け先に出力する、
ことを特徴とする請求項１３記載のノード装置の通信方法。
【請求項１５】
サーバ装置を含む第１のネットワークとノード装置を含む第２のネットワークとがゲートウェイ装置を介して接続される通信システムであって、
前記サーバ装置は、
前記第１のネットワークの通信プロトコルの第１のプロトコルスタックが実装されると共に、
宛先毎の振り分け先の情報を記憶する第１の振り分け先記憶部と、
入力された宛先及び送信データを、前記第１の振り分け先記憶部に記憶されている情報の中から検索された前記宛先に応じた振り分け先へ出力する第１の振り分け部と、
宛先毎の送信先の情報を記憶する第１の送信先記憶部と、
前記第１のプロトコルスタックに応じた送信処理及び受信処理を行う第１の入出力部と、
前記第１の振り分け部から宛先及び送信データが入力されると、前記宛先及び送信データを、前記第１のプロトコルスタックの形式に合うデータに組み立て、当該組み立てたデータを、前記第１の送信先記憶部に記憶されている情報の中から検索された前記宛先に応じた送信先へ送信するよう、前記第１の入出力部に指示し、前記第１の入出力部から、前記第１のプロトコルスタックに応じた受信処理により得られたデータが入力されると、当該データから宛先及び送信データを抽出し、前記第１の振り分け部へ出力する第１のプロトコル変換部と、
を備え、
前記ノード装置は、
前記第２のネットワークの通信プロトコルの第２のプロトコルスタックが実装されると共に、
宛先毎の振り分け先の情報を記憶する第２の振り分け先記憶部と、
入力された宛先及び送信データを、前記第２の振り分け先記憶部に記憶されている情報の中から検索された前記宛先に応じた振り分け先へ出力する第２の振り分け部と、
宛先毎の送信先の情報を記憶する第２の送信先記憶部と、
前記第２のプロトコルスタックに応じた送信処理及び受信処理を行う第２の入出力部と、
前記第２の振り分け部から宛先及び送信データが入力されると、前記宛先及び送信データを、前記第２のプロトコルスタックの形式に合うデータに組み立て、当該組み立てたデータを、前記第２の送信先記憶部に記憶されている情報の中から検索された前記宛先に応じた送信先へ送信するよう、前記第２の入出力部に指示し、前記第２の入出力部から、前記第２のプロトコルスタックに応じた受信処理により得られたデータが入力されると、当該データから宛先及び送信データを抽出し、前記第２の振り分け部へ出力する第２のプロトコル変換部と、
を備え、
前記ゲートウェイ装置は、
前記第１のプロトコルスタック及び前記第２のプロトコルスタックが実装されると共に、
宛先毎の振り分け先の情報を記憶する第３の振り分け先記憶部と、
入力された宛先及び送信データを、前記第３の振り分け先記憶部に記憶されている情報の中から検索された前記宛先に応じた振り分け先へ出力する第３の振り分け部と、
宛先毎の送信先の情報を記憶する第３の送信先記憶部と、
前記第１のプロトコルスタックに応じた送信処理及び受信処理を行う第３の入出力部と、
前記第２のプロトコルスタックに応じた送信処理及び受信処理を行う第４の入出力部と、
前記第３の振り分け部から宛先及び送信データが入力されると、前記宛先及び送信データを、前記第１のプロトコルスタックの形式に合うデータに組み立て、当該組み立てたデータを、前記第３の送信先記憶部に記憶されている情報の中から検索された前記宛先に応じた送信先へ送信するよう、前記第３の入出力部に指示し、前記第３の入出力部から、前記第１のプロトコルスタックに応じた受信処理により得られたデータが入力されると、当該データから宛先及び送信データを抽出し、前記第３の振り分け部へ出力する第３のプロトコル変換部と、
前記第３の振り分け部から宛先及び送信データが入力されると、前記宛先及び送信データを、第２のプロトコルスタックの形式に合うデータに組み立て、当該組み立てたデータを、前記第３の送信先記憶部に記憶されている情報の中から検索された前記宛先に応じた送信先へ送信するよう、前記第４の入出力部に指示し、前記第４の入出力部から、前記第２のプロトコルスタックに応じた受信処理により得られたデータが入力されると、当該データから宛先及び送信データを抽出し、前記第３の振り分け部へ出力する第４のプロトコル変換部と、
を備える、
ことを特徴とする通信システム。
【請求項１６】
前記第１の振り分け先記憶部に記憶される情報は、前記サーバ装置の第１のアプリケーションという宛先に対して前記第１のアプリケーションという振り分け先の情報と、前記ノード装置の第２のアプリケーションという宛先に対して前記第１のプロトコル変換部という振り分け先の情報を含み、
前記第２の振り分け先記憶部に記憶される情報は、前記サーバ装置の第１のアプリケーションという宛先に対して前記第２のプロトコル変換部という振り分け先の情報と、前記ノード装置の第２のアプリケーションという宛先に対して前記第２のアプリケーションという振り分け先の情報を含み、
前記第３の振り分け先記憶部に記憶される情報は、前記サーバ装置の第１のアプリケーションという宛先に対して前記第３のプロトコル変換部という振り分け先の情報と、前記ノード装置の第２のアプリケーションという宛先に対して前記第４のプロトコル変換部という振り分け先の情報を含む、
ことを特徴とする請求項１５記載の通信システム。
【請求項１７】
前記第１の送信先記憶部に記憶される情報は、前記ノード装置の第２のアプリケーションという宛先に対して前記ゲートウェイ装置という送信先の情報を含み、
前記第２の送信先記憶部に記憶される情報は、前記サーバ装置の第１のアプリケーションという宛先に対して前記ゲートウェイ装置という送信先の情報を含み、
前記第３の送信先記憶部に記憶される情報は、前記サーバ装置の第１のアプリケーションという宛先に対して前記サーバ装置という送信先の情報と、前記ノード装置の第２のアプリケーションという宛先に対して前記ノード装置という送信先の情報を含む、
ことを特徴とする請求項１５又は１６記載の通信システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信プロトコル及びプロトコルスタックの異なるノード装置で構成されるネットワークで通信を行う技術に関する。
【背景技術】
【０００２】
従来、通信プロトコルの異なるネットワーク間で通信が行われている。
例えば、センサデータの収集等を行うセンサネットワークと、収集されたセンサデータの集約等を行うデータセンタのサーバ装置とを含むシステムでは、センサネットワークと、データセンタのサーバ装置を含む大規模なネットワークとの間で通信が行われている。ここで、センサネットワークとは複数のセンサや異なるセンサ同士をセンサ付ノード装置に搭載し、当該ノード装置が自律的分散的に連携することで通信を可能にするネットワークである。センサネットワークのノード装置はハードウェアの制約が多く、例えば小型かつ電池で長時間駆動することが求められる。例えば、通信プロトコルとして、ＺｉｇＢｅｅ（登録商標）が通信プロトコルとして用いられている。一方、大規模なネットワークでは、通信プロトコルスタックとしてインターネットプロトコルスイート（ＴＣＰ（Transmission Control Protocol）／ＩＰ（Internet Protocol）プロトコルスイート（Protocol Suite)）が標準的である。【０００３】
ＺｉｇＢｅｅとインターネットプロトコルスイートは通信プロトコルが異なるため、相互に通信することが出来ない。従って、複数の異なる通信プロトコル間で通信するためには、宛先ノード装置毎に使用されている通信プロトコルを事前に把握し、アプリケーション(アプリケーションソフトウェア)で宛先ノード装置に対応した通信プロトコル変換を行う必要がある。図３７に通信プロトコル変換をアプリケーションで実現する場合の従来技術の構成例を示す。【０００４】
例えば、ＺｉｇＢｅｅとインターネットプロトコルスイートを変換する場合には、まず、ＺｉｇＢｅｅからインターネットプロトコルスイート（またはその逆）へプロトコル変換するアプリケーションを作成する。次に、ＺｉｇＢｅｅネットワークに注目する。また、インターネットプロトコルスイートのネットワークについても同様に注目する。そして、両ネットワークの境界に先述の通信プロトコル変換アプリケーションを実装したノード装置（例えばゲートウェイ）を設置する。当該ゲートウェイで実行されているアプリケーションが一方のネットワークから受信した通信プロトコルを識別し、宛先ノード装置が異なる通信プロトコルの場合は他方のプロトコルへ変換し、異種ネットワーク間の通信を行う。すなわち、異なるプロトコルスタックで通信を行う場合には、通信プロトコル変換アプリケーションを実装したノード装置を設置し、当該ノード装置を経由するようにネットワークに参加している全てのノード装置に、ルーティングテーブルを修正する等の設定作業が必要である。【０００５】
なお、通信プロトコルの仮想化技術に関し、次のような技術が知られている。
例えば、ＯＳＩ（Open Systems Interconnection）参照モデルの６層と７層の間に、ソフトウェアまたはハードウェアの抽象化層を追加して、ネットワークを仮想化する技術が知られている。また、異種ネットワーク間において自動トンネリングを達成する技術も知られている。さらに、端末が通信プロトコルの異なるネットワークに移動しても通信を可能とする技術も知られている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００３−２０８３６５号公報
【特許文献２】特表２００４−５１５１６５号公報
【特許文献３】特表２００７−５１５８２２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
上述のように通信プロトコルの異なるネットワーク間で通信を行う場合、従来では、通信プロトコルを考慮して通信を行う必要があった。すなわち、宛先ノード装置と送信元のノード装置が異なる通信プロトコルを使用している場合、まずそれぞれのノード装置が異なる通信プロトコルのネットワークに属していることを事前に把握し、通信プロトコルの変換アプリケーションが実行されている通信プロトコル変換機能を持つノード装置を設置しなくてはならない。さらには送信元ノード装置から宛先ノード装置までの通信経路に、当該ノード装置を経由するようルーティングテーブルの編集をするなどの経路制御が必要となる。【０００８】
先行技術では、インターネットプロトコルスイートを実装したノード装置を前提として、ＯＳＩ参照モデルのネットワーク層以上プレゼンテーション層以下の同一の層でプロトコル抽象化を行っている。しかし、例えばＺｉｇＢｅｅはインターネットプロトコルを前提としない。従って、センサネットワークでは、先行技術の適用が出来ない。しかしながら、センサネットワークでは、ＺｉｇＢｅｅ以外にもハードウェアの特性毎に異なる通信プロトコルを混在させたい場合がある。このような場合、宛先ノード装置と送信元のノード装置の間に、どのような通信プロトコルがあるのか事前に把握し、さらには異なるネットワークの境界に複数の通信プロトコル変換機能を持つノード装置を配置し、経由するような経路制御手段を各ノード装置に設定する必要があり、複雑なネットワーク設定が必要となる問題があった。【０００９】
本発明は、上記実情に鑑み、通信プロトコルスタックの異なるネットワーク間で、複雑な設定無く通信を行うことができる装置、方法、及びシステムを提供することを目的とする。
【課題を解決するための手段】
【００１０】
装置の一観点によれば、サーバ装置とノード装置とゲートウェイ装置とを有する通信システムにおいて、複数のプロトコルスタックが実装され、サーバ装置とノード装置との間の通信を仲介するゲートウェイ装置であって、次のようなゲートウェイ装置が提供される。このゲートウェイ装置は、振り分け先記憶部と、振り分け部と、送信先記憶部と、入出力部と、プロトコル変換部とを含む。ここで、振り分け先記憶部は、宛先に応じた処理を行う振り分け先の情報を、宛先毎に記憶する。振り分け部は、入力された宛先及び送信データを、振り分け先記憶部に記憶されている情報の中から検索された、宛先に応じた振り分け先へ出力する。送信先記憶部は、宛先毎の送信先の情報を記憶する。入出力部は、実装されているプロトコルスタック毎に設けられ、対応するプロトコルスタックに応じた送信処理及び受信処理を行う。プロトコル変換部は、実装されているプロトコルスタック毎に設けられ、振り分け部から宛先及び送信データが入力されると、宛先及び送信データを、対応するプロトコルスタックの形式に合うデータに組み立てる。そして、当該組み立てたデータを、前記送信先記憶部に記憶されている情報の中から検索された宛先に応じた送信先へ送信するよう、対応するプロトコルスタックの入出力部に指示する。【００１１】
方法の一観点によれば、サーバ装置とノード装置とゲートウェイ装置とを有する通信システムにおいて、複数のプロトコルスタックが実装され、サーバ装置とノード装置との通信を仲介するゲートウェイ装置の通信方法であって、次のような通信方法が提供される。この通信方法では、宛先及び送信データを、その宛先に応じた振り分け先へ出力する。その宛先が所定の振り分け先である場合に、その宛先及び送信データを、対応するプロトコルスタックの形式に合うデータに組み立てる。組み立てられたデータを、対応するプロトコルスタックに応じた送信処理を行った上で、その宛先に応じた送信先へ送信する。【００１２】
装置の他の一観点によれば、プロトコルスタックが実装されたノード装置であって、次のようなノード装置が提供される。このノード装置は、振り分け先記憶部と、振り分け部と、送信先記憶部と、入出力部と、プロトコル変換部とを含む。振り分け先記憶部は、宛先毎の振り分け先の情報を記憶する。振り分け部は、入力された宛先及び送信データを、振り分け先記憶部に記憶されている情報の中から検索された宛先に応じた振り分け先へ出力する。送信先記憶部は、宛先毎の送信先の情報を記憶する。入出力部は、実装されているプロトコルスタックに対応して設けられ、対応するプロトコルスタックに応じた送信処理及び受信処理を行う。プロトコル変換部は、実装されているプロトコルスタックに対応して設けられ、振り分け部から宛先及び送信データが入力されると、宛先及び送信データを、対応するプロトコルスタックの形式に合うデータに組み立て、当該組み立てたデータを、送信先記憶部に記憶されている情報の中から検索された前記宛先に応じた送信先へ送信するよう、対応するプロトコルスタックの入出力部に指示する。【００１３】
方法の他の一観点によれば、プロトコルスタックが実装されたノード装置の通信方法であって、次のような通信方法が提供される。この通信方法では、宛先及び送信データを、宛先に応じた振り分け先へ出力する。宛先が所定の振り分け先である場合に、宛先及び送信データを、対応するプロトコルスタックの形式に合うデータに組み立てる。組み立てられたデータを、対応するプロトコルスタックに応じた送信処理を行った上で、その宛先に応じた送信先へ送信する。【００１４】
システムの一観点によれば、サーバ装置を含む第１のネットワークとノード装置を含む第２のネットワークとがゲートウェイ装置を介して接続される通信システムが提供される。サーバ装置は、第１のネットワークの通信プロトコルの第１のプロトコルスタックが実装される。また、サーバ装置は、第１の振り分け先記憶部と、第１の振り分け部と、第１の送信先記憶部と、第１の入出力部と、第１のプロトコル変換部とを含む。ここで、第１の振り分け先記憶部は、宛先毎の振り分け先の情報を記憶する。第１の振り分け部は、入力された宛先及び送信データを、第１の振り分け先記憶部に記憶されている情報の中から検索されたその宛先に応じた振り分け先へ出力する。第１の送信先記憶部は、宛先毎の送信先の情報を記憶する。第１の入出力部は、第１のプロトコルスタックに応じた送信処理及び受信処理を行う。第１のプロトコル変換部は、第１の振り分け部から宛先及び送信データが入力されると、その宛先及び送信データを、第１のプロトコルスタックの形式に合うデータに組み立てる。また、その組み立てたデータを、第１の送信先記憶部に記憶されている情報の中から検索されたその宛先に応じた送信先へ送信するよう、第１の入出力部に指示する。また、第１のプロトコル変換部は、第１の入出力部から、第１のプロトコルスタックに応じた受信処理により得られたデータが入力されると、当該データから宛先及び送信データを抽出し、第１の振り分け部へ出力する。ノード装置は、第２のネットワークの通信プロトコルの第２のプロトコルスタックが実装される。また、ノード装置は、第２の振り分け先記憶部と、第２の振り分け部と、第２の送信先記憶部と、第２の入出力部と、第２のプロトコル変換部とを含む。ここで、第２の振り分け先記憶部は、宛先毎の振り分け先の情報を記憶する。第２の振り分け部は、入力された宛先及び送信データを、第２の振り分け先記憶部に記憶されている情報の中から検索されたその宛先に応じた振り分け先へ出力する。第２の送信先記憶部は、宛先毎の送信先の情報を記憶する。第２の入出力部は、第２のプロトコルスタックに応じた送信処理及び受信処理を行う。第２のプロトコル変換部は、第２の振り分け部から宛先及び送信データが入力されると、その宛先及び送信データを、第２のプロトコルスタックの形式に合うデータに組み立てる。また、その組み立てたデータを、第２の送信先記憶部に記憶されている情報の中から検索されたその宛先に応じた送信先へ送信するよう、第２の入出力部に指示する。また、第２のプロトコル変換部は、第２の入出力部から、第２のプロトコルスタックに応じた受信処理により得られたデータが入力されると、当該データから宛先及び送信データを抽出し、第２の振り分け部へ出力する。ゲートウェイ装置は、第１のプロトコルスタック及び第２のプロトコルスタックが実装される。ゲートウェイ装置は、第３の振り分け先記憶部と、第３の振り分け部と、第３の送信先記憶部と、第３の入出力部と、第４の入出力部と、第３のプロトコル変換部と、第４のプロトコル変換部とを含む。ここで、第３の振り分け先記憶部は、宛先毎の振り分け先の情報を記憶する。第３の振り分け部は、入力された宛先及び送信データを、第３の振り分け先記憶部に記憶されている情報の中から検索されたその宛先に応じた振り分け先へ出力する。第３の送信先記憶部は、宛先毎の送信先の情報を記憶する。第３の入出力部は、第１のプロトコルスタックに応じた送信処理及び受信処理を行う。第４の入出力部は、第２のプロトコルスタックに応じた送信処理及び受信処理を行う。第３のプロトコル変換部は、第３の振り分け部から宛先及び送信データが入力されると、その宛先及び送信データを、第１のプロトコルスタックの形式に合うデータに組み立てる。また、その組み立てたデータを、第３の送信先記憶部に記憶されている情報の中から検索されたその宛先に応じた送信先へ送信するよう、第３の入出力部に指示する。また、第３のプロトコル変換部は、第３の入出力部から、第１のプロトコルスタックに応じた受信処理により得られたデータが入力されると、当該データから宛先及び送信データを抽出し、第３の振り分け部へ出力する。第４のプロトコル変換部は、第３の振り分け部から宛先及び送信データが入力されると、その宛先及び送信データを、第２のプロトコルスタックの形式に合うデータに組み立てる。また、その組み立てたデータを、第３の送信先記憶部に記憶されている情報の中から検索されたその宛先に応じた送信先へ送信するよう、第４の入出力部に指示する。また、第４のプロトコル変換部は、第４の入出力部から、第２のプロトコルスタックに応じた受信処理により得られたデータが入力されると、当該データから宛先及び送信データを抽出し、第３の振り分け部へ出力する。
【発明の効果】
【００１５】
開示の装置、方法、及びシステムは、通信プロトコルを考慮することなく特別な設定無しに通信プロトコルの異なるネットワーク間で通信を行うことができる、という効果を奏する。
【図面の簡単な説明】
【００１６】
【図１】通信プロトコルの異なる２つのネットワーク間で通信を行うセンサデータ処理システムの一例を示す図である。
【図２】通信プロトコルの異なる４つのネットワーク間で通信を行う大規模センサデータ処理システムの一例を示す図である。
【図３】一実施の形態に係るシステムの一例を示す図である。
【図４】各サーバ装置、ゲートウェイ装置、各ノード装置の接続関係の一例を示す図である。
【図５】各サーバ装置の構成例を示す図である。
【図６】ゲートウェイ装置の構成例を示す図である。
【図７】各ノード装置の構成例を示す図である。
【図８】各処理振り分け部の動作例を示すフローチャートである。
【図９】各プロトコル変換処理部の動作例を示すフローチャートである。
【図１０】Ｓ２０３及びＳ２０４の処理例を示す図である。
【図１１】各送信先検索部の動作例を示すフローチャートである。
【図１２】サーバ装置の処理振り分けＤＢ及び送信先変換ＤＢに記憶されている情報の一例である。
【図１３】ゲートウェイ装置の処理振り分けＤＢ及び送信先変換ＤＢに記憶されている情報の一例である。
【図１４】ノード装置の処理振り分けＤＢ及び送信先変換ＤＢに記憶されている情報の一例である。
【図１５】新規にノード装置が追加される場合のシステム全体の処理シーケンスの一例を示す図である。
【図１６】新規に追加されたノード装置の処理シーケンスの一例を示す図である。
【図１７】ゲートウェイ装置の処理シーケンスの一例を示す図である。
【図１８】管理サーバ装置の処理シーケンスの一例を示す図である。
【図１９】管理サーバ装置から送信されたデータの送信先である装置の処理シーケンスの一例を示す図である。
【図２０】一実施の形態に係るシステムの他の構成例を示す第１の図である。
【図２１】一実施の形態に係るシステムの他の構成例を示す第２の図である。
【図２２】一実施の形態に係るシステムの他の構成例を示す第３の図である。
【図２３】３種類以上の通信プロトコルをサポートする場合のゲートウェイ装置の構成例を示す図である。
【図２４】物理層は同一であるがプロトコルスタックが異なる２種類の通信プロトコルをサポートする場合のゲートウェイ装置の構成例を示す図である。
【図２５】サポートする通信プロトコルは１種類であるが通信部を複数備える場合のゲートウェイ装置の構成例を示す図である。
【図２６】図２３及び図２４に示した構成例を組み合わせた場合のゲートウェイ装置の構成例を示す図である。
【図２７】一部の構成をチップ化した場合のノード装置の構成例を示す図である。
【図２８】一部の構成を通信モジュールとした場合のノード装置の構成例を示す図である。
【図２９】一実施の形態に係るシステムをデータセンタの環境管理に適用した例を示す図である。
【図３０】監視サーバへ２台の基幹中継ノードが役割分担してセンシングデータを送信する例を示す図である。
【図３１】図３０の制御シーケンスを示す図である。
【図３２】変形例に係るシステムに含まれる、各サーバ装置、ゲートウェイ装置、各ノード装置の構成例を示す図である。
【図３３】各ＩＰプロトコル処理部の動作例を示す第１のフローチャートである。
【図３４】各ＩＰプロトコル処理部の動作例を示す第２のフローチャートである。
【図３５】変形例に係るシステムに含まれる、各サーバ装置、ゲートウェイ装置、各ノード装置の他の構成例を示す図である。
【図３６】コンピュータシステムの構成例を示す図である。
【図３７】通信プロトコル変換をアプリケーションで実現する従来技術の構成例を示す図である。
【発明を実施するための形態】
【００１７】
図１は、通信プロトコルの異なる２つのネットワーク間で通信を行うセンサデータ処理システムの一例を示す図である。
【００１８】
図１に示したシステムでは、通信プロトコルの異なる２つのネットワーク１０１（１０１＿１、１０１＿２）が、ゲートウェイ装置（ＧＷ）１０２を介して接続されている。ネットワーク１０１＿１は、データセンタのサーバ装置１０３を含む大規模なネットワークであり、通信プロトコルとしてインターネットプロトコルスウィートが用いられている。ネットワーク１０１＿２は、数十台から百台程度のセンサノード装置（ＺｉｇＢｅｅ装置）１０４からなる小規模なセンサネットワークであり、通信プロトコルとしてＺｉｇＢｅｅが用いられている。
【００１９】
なお、センサネットワークでは、センサの設置環境により有線で接続することができず無線を利用しなければならない場合がある。また、電池駆動で且つ十数年間駆動することが望まれる場合もある。このような場合に、通信プロトコルとして無線ＬＡＮによるＴＣＰ／ＩＰを用いることは、電池寿命が短くなるという理由から、採用することができない。そこで、このような場合には、少ない消費電力で無線通信を可能にする例えばＺｉｇＢｅｅといった独自の通信プロトコルが用いられている。
【００２０】
図１に示したシステムでは、例えば、各センサノード装置１０４によって収集されたセンサデータが、データセンタのサーバ装置１０３により集約される等の処理が行われる。
図２は、通信プロトコルの異なる４つのネットワーク間で通信を行う大規模センサデータ処理システムの一例を示す図である。
【００２１】
図２に示したシステムは、センサネットワークが大規模化且つ多種多様化してきたことを背景に、数千台規模のセンサノード装置からなるセンサネットワークを複数接続し、データセンタの複数のサーバ装置によりセンサデータを処理するようにしたシステムである。
【００２２】
図２に示したシステムでは、通信プロトコルの異なる４つのネットワーク１１１（１１１＿１、１１１＿２、１１１＿３、１１１＿４）が、３つのゲートウェイ装置１１２（１１２＿１、１１２＿２、１１２＿３）を介して接続されている。すなわち、ネットワーク１１１＿１と１１１＿２がゲートウェイ装置１１２＿１を介して接続されている。また、ネットワーク１１１＿１と１１１＿３がゲートウェイ装置１１２＿２を介して接続されている。また、ネットワーク１１１＿１と１１１＿４がゲートウェイ装置１１２＿３を介して接続されている。ネットワーク１１１＿１は、データセンタの複数のサーバ装置１１３を含む大規模なネットワークであり、通信プロトコルとしてインターネットプロトコルスウィートが用いられている。ネットワーク１１１＿２は、複数のセンサノード装置（ＺｉｇＢｅｅ装置）１１４からなるセンサネットワークであり、通信プロトコルとしてＺｉｇＢｅｅが用いられている。ネットワーク１１１＿３は、複数のセンサノード装置１１５からなるセンサネットワークであり、ネットワーク１１１＿１、１１１＿２とは異なる通信プロトコルが用いられている。ネットワーク１１１＿４は、複数のセンサノード装置１１６からなるセンサネットワークであり、ネットワーク１１１＿１、１１１＿２、１１１＿３とは異なる通信プロトコルが用いられている。
【００２３】
図２に示したシステムでは、例えば、センサネットワーク１１１＿２、１１１＿３、１１１＿４で収集されたセンサデータが、データセンタの複数のサーバ装置１１３により分担されて処理される。
【００２４】
図１及び図２に示したシステムのように、通信プロトコルの異なるネットワーク間で通信を行うシステムにおいて、従来技術を適用する場合には、通信プロトコルを考慮して通信を行う必要があった。例えば、従来技術においては、図１のゲートウェイ装置１０２や図２のゲートウェイ装置１１２＿１がＺｉｇＢｅｅとインターネットプロコルの変換を行う必要があった。これらのゲートウェイ装置は、あらかじめＺｉｇＢｅｅとインターネットプロトコルを既知として備え、さらに両通信プトロコルを変換するアプリケーションを備える。従来技術においては、ＺｉｇＢｅｅとインターネットプトロコルは互換性が無いため、両プトロコルを変換する変換アプリケーションが必要となる。
【００２５】
しかしながら、このようなシステムにおいて望ましいことは、通信プロトコルを考慮することなく通信を行うことができることである。また、通信プロトコルの異なるネットワーク間の組み合わせが異なる場合であっても、通信プロトコルを考慮することなく同様にして通信を行うことができることである。
【００２６】
そこで、一実施の形態に係るシステムでは、以下に詳細に説明するように、複数のネットワークで用いられる複数の異なる通信プロトコルを抽象化して仮想ネットワークを実現することにより、実際の通信プロトコルを考慮することなく通信を行うことができるようにしている。
【００２７】
図３は、本実施形態に係るシステムの一例を示す図である。
図３に示したシステムは、２つのサーバ装置１２１（１２１＿１、１２１＿２）を含むネットワーク１２２＿１と３つのノード装置１２３（１２３＿１、１２３＿２、１２３＿３）を含むネットワーク１２２＿２とがゲートウェイ装置１２４を介して接続されている。ネットワーク１２２＿１は、第１のプロトコルスタックの通信プロトコルが用いられている。本例では、第１のプロトコルスタックをインターネットプロトコルスタックとする。従って、ネットワーク１２２＿１は、通信プロトコルとしてインターネットプロトコルスイートが用いられている。ネットワーク１２２＿２は、第１のプロトコルスタックとは異なる第２のプロトコルスタックの通信プロトコルが用いられている。ゲートウェイ装置１２４は、ネットワーク１２２＿１の通信プロトコルにより２つのサーバ装置１２１と通信が可能であり、また、ネットワーク１２２＿２の通信プロトコルにより３つのノード装置１２３と通信が可能である。
【００２８】
図３に示したシステムにおいて、例えば、サーバ装置１２１＿１のアプリケーション１２５が、ノード装置１２３＿１のアプリケーション１２６との間でメッセージの送受を行う場合、従来では、通信プロトコルの種類を考慮する必要があった。
【００２９】
これに対し、本実施形態では、詳しくは後述するように、２つのネットワーク１２２の通信プロトコルを抽象化することにより、仮想ネットワーク１２７を実現することができる。この場合には、その仮想ネットワーク１２７に、２つのサーバ装置１２１と３つのノード装置１２３とが接続された環境となる。従って、サーバ装置１２１＿１のアプリケーション１２５は、実際の通信プロトコルを区別することなく、ノード装置１２３＿１のアプリケーション１２６との間でメッセージの送受を行うことができる。すなわち、本実施形態に係るシステムにおいて、各装置は、実際の通信プロトコルを考慮することなく他の各装置と通信を行うことができる。
【００３０】
本実施形態に係るシステムでは、このような仮想ネットワークを実現するため、各サーバ装置１２１、ゲートウェイ装置１２４、各ノード装置１２３の各装置に、プロトコルを変換する機能（以下「ネットワークミドルウェア」という）を導入する。
【００３１】
図４は、本実施形態に係るシステムにおいて、各サーバ装置１２１、ゲートウェイ装置１２４、各ノード装置１２３の接続関係の一例を示す図である。
図４に示した例では、二つの異なるプロトコルスタックのうち、第２のプロトコルスタックを、無線アドホック通信プロトコルのプロトコルスタックとしている。無線アドホック通信プロトコルは、アドホックネットワークを形成するためのアドホック・ルーティングプロトコルの機能を持ち、主に通信端末間の接続状況管理とデータの送受信、ルーティング（データの通信経路を管理すること）を行う。ＯＳＩ参照モデルにおける第２層のデータリンク層と第３層のネットワーク層の一部に該当する。この場合、第２のプロトコルスタックにおいて、データリンク層とネットワーク層との間に、アドホック処理を行う層（アドホック層）として記載している。。無線アドホック通信プロトコルでは、アドホック層で経路制御可能な通信プロトコルであり、アドホック層以上のネットワーク層の階層は規定しなくても良い。なお、第２のプロトコルスタックにおいて、ネットワーク層は、プロトコルスタックの層構造を統一するために記載している。
【００３２】
図４に示したように、各サーバ装置１２１は、第１のプロトコルスタックが実装され、各ノード装置１２３は、第２のプロトコルスタックが実装され、ゲートウェイ装置１２４は、その両方のプロトコルスタックが実装されている。そして、ネットワークミドルウェアは、各装置に実装されているプロトコルスタック中に配置される。すなわち、各サーバ装置１２１においては、第１のプロトコルスタック中のトランスポート層とアプリケーション層との間にネットワークミドルウェアが配置される。ゲートウェイ装置１２４においては、第１のプロトコルスタック中のトランスポート層とアプリケーション層との間、及び、第２のプロトコルスタック中のネットワーク層とトランスポート層との間にネットワークミドルウェアが配置される。各ノード装置１２３においては、第２のプロトコルスタック中のネットワーク層とトランスポート層との間にネットワークミドルウェアが配置される。なお、各サーバ装置１２１、ゲートウェイ装置１２４、各ノード装置１２３において、ネットワークミドルウェアが抽象化する範囲は図４の点線で囲まれた部分となる。
【００３３】
図４において、（１）乃至（８）は、例えば、サーバ装置１２１＿１のアプリケーション１２５がノード装置１２３＿１のアプリケーション１２６にメッセージを送信するときの処理の流れを示している。これについては後述する。
【００３４】
図５は、各サーバ装置１２１の構成例を示す図である。
図５に示すように、各サーバ装置１２１は、演算処理部１３１、処理振り分け部１３２、処理振り分けＤＢ（DataBase）１３３、送信先検索部１３５、送信先変換ＤＢ（DataBase）１３６を含む。また、各サーバ装置１２１は、第１のプロトコルスタック用の、プロトコル変換処理部１３４、Ｉ／Ｏ（Input/Output）部１３７、通信部１３８を含む。ここで、ネットワークミドルウェアは、処理振り分け部１３２、プロトコル変換処理部１３４、及び送信先検索部１３５等に対応する。
【００３５】
演算処理部１３１は、例えばアプリケーション１２５等の各種のアプリケーションのプログラムを実行する。
【００３６】
処理振り分け部１３２は、演算処理部１３１で実行されているアプリケーション又はプロトコル変換処理部１３４から、宛先及び送信データを受け取ると、処理振り分けＤＢ１３３を参照し、その宛先及び送信データを、その宛先に応じた処理を行う振り分け先に振り分ける。振り分け先としては種々のコンポーネントが考えられ、例えば演算処理部でじ実行されているアプリケーションソフトウェアやプロトコル変換処理部等がある。
【００３７】
処理振り分けＤＢ１３３は、宛先毎に振り分け先を指定する情報（宛先毎の振り分け先の情報）を記憶する。
【００３８】
プロトコル変換処理部１３４は、処理振り分け部１３２から宛先及び送信データを受け取ると、その宛先に応じた送信先を、送信先検索部１３５に問い合わせる。また、プロトコル変換処理部１３４は、処理振り分け部１３２から受け取った宛先及び送信データを第１のプロトコルスタックの形式に合うようなデータに組み立て、それを、その宛先に応じた送信先へ送信するようＩ／Ｏ部１３７に指示する。一方、プロトコル変換処理部１３４は、Ｉ／Ｏ部１３７からデータを受け取ると、そのデータから宛先及び送信データ（宛先のアプリケーションに渡すデータ）を取り出し、処理振り分け部１３２に渡す。
【００３９】
送信先検索部１３５は、プロトコル変換処理部１３４から、宛先に応じた送信先の問い合わせを受けると、送信先変換ＤＢ１３６を参照し、その宛先に応じた送信先を検索し、その検索結果を応答する。
【００４０】
送信先変換ＤＢ１３６は、宛先毎に送信先を指定する情報（宛先毎の送信先の情報）を記憶する。
【００４１】
Ｉ／Ｏ部１３７は、例えばＴＣＰ／ＩＰ用のドライバであり、プロトコル変換処理部１３４からの指示を受けると、その指示に従って、第１のプロトコルスタックに応じた送信処理を行い、通信部１３８から、送信先へデータを送信する。なお、通信部１３８は、例えばＥｔｈｅｒｎｅｔ（登録商標）ボードである。また、Ｉ／Ｏ部１３７は、通信部１３８がデータを受信すると、そのデータに対して第１のプロトコルスタックに応じた受信処理を行い、得られたデータをプロトコル変換処理部１３４へ渡す。
【００４２】
図６は、ゲートウェイ装置１２４の構成例を示す図である。
図６に示したように、ゲートウェイ装置１２４は、演算処理部１４１、処理振り分け部１４２、処理振り分けＤＢ（DataBase）１４３、送信先検索部１４４、送信先変換ＤＢ（DataBase）１４５を含む。また、ゲートウェイ装置１２４は、第１のプロトコルスタック用の、第１のプロトコル変換処理部１４６、第１のＩ／Ｏ（Input/Output）部１４７、第１の通信部１４８を含む。また、ゲートウェイ装置１２４は、第２のプロトコルスタック用の、第２のプロトコル変換処理部１４９、第２のＩ／Ｏ（Input/Output）部１５０、第２の通信部１５１を含む。ここで、ネットワークミドルウェアは、処理振り分け部１４２、第１及び第２のプロトコル変換処理部１４６、１４９、及び送信先検索部１４４等に対応する。
【００４３】
なお、処理振り分け部１４２は、振り分け部の一例であり、第３の振り分け部の一例でもある。処理振り分けＤＢ１４３は、振り分け先記憶部の一例であり、第３の振り分け先記憶部の一例でもある。送信先変換ＤＢ１４５は、送信先記憶部の一例であり、第３の送信先記憶部の一例でもある。第１のプロトコル変換処理部１４６及び第２のプロトコル変換部１４９はプロトコル変換部の一例であり、第１のプロトコル変換処理部１４６は第３のプロトコル変換部の一例でもあり、第２のプロトコル変換部１４９は第４のプロトコル変換部の一例でもある。第１のＩ／Ｏ部１４７及び第２のＩ／Ｏ部１５０は入出力部の一例であり、第１のＩ／Ｏ部１４７は第３の入出力部の一例でもあり、第２のＩ／Ｏ部１５０は第４の入出力部の一例でもある。
【００４４】
演算処理部１４１は、各種のアプリケーションのプログラムを実行する。
処理振り分け部１４２は、演算処理部１４１で実行されているアプリケーション、第１のプロトコル変換処理部１４６、又は第２のプロトコル変換処理部１４９から宛先及び送信データを受け取ると、処理振り分けＤＢ１４３を参照し、その宛先及び送信データを、その宛先に応じた振り分け先に振り分ける。
【００４５】
処理振り分けＤＢ１４３は、宛先毎に振り分け先を指定する情報（宛先毎の振り分け先の情報）を記憶する。
【００４６】
第１のプロトコル変換処理部１４６は、処理振り分け部１４２から宛先及び送信データを受け取ると、その宛先に応じた送信先を、送信先検索部１４４に問い合わせる。また、第１のプロトコル変換処理部１４６は、処理振り分け部１４２から受け取った宛先及び送信データを第１のプロトコルスタックの形式に合うようなデータに組み立て、それを、その宛先に応じた送信先へ送信するよう第１のＩ／Ｏ部１４７に指示する。一方、第１のプロトコル変換処理部１４６は、第１のＩ／Ｏ部１４７からデータを受け取ると、そのデータから宛先及び送信データ（宛先のアプリケーションに渡すデータ）を取り出し、処理振り分け部１４２に渡す。
【００４７】
第２のプロトコル変換処理部１４９は、処理振り分け部１４２から宛先及び送信データを受け取ると、その宛先に応じた送信先を、送信先検索部１４４に問い合わせる。また、第２のプロトコル変換処理部１４９は、処理振り分け部１４２から受け取った宛先及び送信データを第２のプロトコルスタックの形式に合うようなデータに組み立て、それを、その宛先に応じた送信先へ送信するよう第２のＩ／Ｏ部１５０に指示する。一方、第２のプロトコル変換処理部１４９は、第２のＩ／Ｏ部１５０からデータを受け取ると、そのデータから宛先及び送信データ（宛先のアプリケーションに渡すデータ）を取り出し、処理振り分け部１４２に渡す。
【００４８】
送信先検索部１４４は、第１のプロトコル変換処理部１４６又は第２のプロトコル変換処理部１４９から、宛先に応じた送信先の問い合わせを受けると、送信先変換ＤＢ１４５を参照し、その宛先に応じた送信先を検索し、その検索結果を応答する。
【００４９】
送信先変換ＤＢ１４５は、宛先毎に送信先を指定する情報（宛先毎の送信先の情報）を記憶する。
【００５０】
第１のＩ／Ｏ部１４７は、例えばＴＣＰ／ＩＰ用のドライバであり、第１のプロトコル変換処理部１４６からの指示を受けると、その指示に従って、第１のプロトコルスタックに応じた送信処理を行い、第１の通信部１４８から、送信先へデータを送信する。なお、第１の通信部１４８は、例えばＥｔｈｅｒｎｅｔ（登録商標）ボードである。また、第１のＩ／Ｏ部１４７は、第１の通信部１４８がデータを受信すると、そのデータに対して第１のプロトコルスタックに応じた受信処理を行い、得られたデータを第１のプロトコル変換処理部１４６へ渡す。
【００５１】
第２のＩ／Ｏ部１５０は、例えば無線アドホック通信プロトコル用のドライバであり、第２のプロトコル変換処理部１４９からの指示を受けると、その指示に従って、第２のプロトコルスタックに応じた送信処理を行い、第２の通信部１５１から、送信先へデータを送信する。なお、第２の通信部１５１は、例えば無線通信モジュールである。また、第２のＩ／Ｏ部１５０は、第２の通信部１５１がデータを受信すると、そのデータに対して第２のプロトコルスタックに応じた受信処理を行い、得られたデータを第２のプロトコル変換処理部１４９へ渡す。
【００５２】
図７は、各ノード装置１２３の構成例を示す図である。
図７に示したように、各ノード装置１２３は、演算処理部１６１、処理振り分け部１６２、処理振り分けＤＢ（DataBase）１６３、送信先検索部１６５、送信先変換ＤＢ（DataBase）１６６を含む。また、各ノード装置１２３は、第２のプロトコルスタック用の、プロトコル変換処理部１６４、Ｉ／Ｏ（Input/Output）部１６７、通信部１６８を含む。ここで、ネットワークミドルウェアは、処理振り分け部１６２、プロトコル変換処理部１６４、及び送信先検索部１６５等に対応する。
【００５３】
なお、処理振り分け部１６２は、振り分け部の一例であり、第２の振り分け部の一例でもある。処理振り分けＤＢ１６３は、振り分け先記憶部の一例であり、第２の振り分け先記憶部の一例でもある。送信先変換ＤＢ１６６は、送信先記憶部の一例であり、第２の送信先記憶部の一例でもある。プロトコル変換処理部１６４は、プロトコル変換部の一例であり、第２のプロトコル変換部の一例でもある。Ｉ／Ｏ部１６７は、入出力部の一例であり、第２の入出力部の一例でもある。
【００５４】
演算処理部１６１は、例えばアプリケーション１２６等の各種のアプリケーションのプログラムを実行する。
【００５５】
処理振り分け部１６２は、演算処理部１６１で実行されているアプリケーション又はプロトコル変換処理部１６４から、宛先及び送信データを受け取ると、処理振り分けＤＢ１６３を参照し、その宛先及び送信データを、その宛先に応じた振り分け先に振り分ける。
【００５６】
処理振り分けＤＢ１６３は、宛先毎に振り分け先を指定する情報（宛先毎の振り分け先の情報）を記憶する。
【００５７】
プロトコル変換処理部１６４は、処理振り分け部１６２から宛先及び送信データを受け取ると、その宛先に応じた送信先を、送信先検索部１６５に問い合わせる。また、プロトコル変換処理部１６４は、処理振り分け部１６２から受け取った宛先及び送信データを第２のプロトコルスタックの形式に合うようなデータに組み立て、それを、その宛先に応じた送信先へ送信するようＩ／Ｏ部１６７に指示する。一方、プロトコル変換処理部１６４は、Ｉ／Ｏ部１６７からデータを受け取ると、そのデータから宛先及び送信データ（宛先のアプリケーションに渡すデータ）を取り出し、処理振り分け部１６２に渡す。
【００５８】
送信先検索部１６５は、プロトコル変換処理部１６４から、宛先に応じた送信先の問い合わせを受けると、送信先変換ＤＢ１６６を参照し、その宛先に応じた送信先を検索し、その検索結果を応答する。
【００５９】
送信先変換ＤＢ１６６は、宛先毎に送信先を指定する情報（宛先毎の送信先の情報）を記憶する。
【００６０】
Ｉ／Ｏ部１６７は、例えば無線アドホック通信プロトコル用のドライバであり、プロトコル変換処理部１６４からの指示を受けると、その指示に従って、第２のプロトコルスタックに応じた送信処理を行い、通信部１６８から、送信先へデータを送信する。なお、通信部１６８は、例えば無線通信モジュールである。また、Ｉ／Ｏ部１６７は、通信部１６８がデータを受信すると、そのデータに対して第２のプロトコルスタックに応じた受信処理を行い、得られたデータをプロトコル変換処理部１６４へ渡す。
【００６１】
各サーバ装置１２１、ゲートウェイ装置１２４、各ノード装置１２３において、処理振り分けＤＢ１３３、１４３、１６３の各ＤＢは、上述のとおり、宛先毎に振り分け先を指定する情報を記憶する。ここで、宛先は、データの最終的な宛先であり、自装置又は他装置のアプリケーションである。自装置又は他装置のアプリケーションは、例えば、自装置又は他装置のＩＤ（IDentifier）及びアプリケーションのＩＤによって識別される。なお、宛先の情報は、個別の宛先の情報として記憶することも可能であるし、正規表現等を用いて宛先名のパターンの情報として記憶することも可能である。振り分け先は、宛先に対する送信データを処理するモジュールであり、自装置のアプリケーションやプロトコル変換処理部である。自装置のアプリケーションやプロトコル変換処理部は、例えば、自装置のアプリケーションのＩＤやプロトコル変換処理部のＩＤによって識別される。
【００６２】
また、送信先変換ＤＢ１３６、１４５、１６６の各ＤＢは、上述のとおり、宛先毎に送信先を指定する情報を記憶する。ここで、宛先は、データの最終的な宛先であり、自装置又は他装置のアプリケーションである。自装置又は他装置のアプリケーションは、例えば、自装置又は他装置のＩＤ及びアプリケーションのＩＤによって識別される。なお、宛先の情報は、個別の宛先の情報として記憶することも可能であるし、正規表現等を用いて宛先名のパターンの情報として記憶することも可能である。また、送信先は、実装されているプロトコルスタックの通信プロトコルにより通信可能な範囲内の装置である。
【００６３】
図８は、処理振り分け部１３２、１４２、１６２の各部の動作例を示すフローチャートである。なお、各部の動作は、対応する装置内において同様の動作となる。
図８に示したように、各処理振り分け部は、宛先及び送信データが入力されると、次のような処理を行う。
【００６４】
まず、処理振り分けＤＢを参照して、入力された宛先を検索キーに振り分け先を検索し（Ｓ１０１）、その宛先に対応する振り分け先が検索されたか否かを判定する（Ｓ１０２）。
【００６５】
Ｓ１０２の判定結果がＹｅｓの場合には、検索された振り分け先がプロトコル変換処理部であるか否かを判定する（Ｓ１０３）。ここで、その判定結果がＹｅｓの場合には、そのプロトコル変換処理部へ、入力された宛先及び送信データを出力する（Ｓ１０４）。そして、その出力が成功したか否かを判定し（Ｓ１０５）、その判定結果がＹｅｓの場合には当該フローを終了する。一方、Ｓ１０３の判定結果がＮｏの場合には、入力された宛先に対応するアプリケーションへ、入力された送信データを出力する（Ｓ１０６）。そして、その出力が成功したか否かを判定し（Ｓ１０７）、その判定結果がＹｅｓの場合には当該フローを終了する。
【００６６】
一方、Ｓ１０２、Ｓ１０５、又はＳ１０７がＮｏの場合には、対応するエラー処理を行い（Ｓ１０８）、当該フローを終了する。
【００６７】
図９は、プロトコル変換処理部１３４、１４６、１４９、１６４の各部の動作例を示すフローチャートである。なお、各部の動作は、対応する装置内において同様の動作となる。
【００６８】
図９に示したように、各プロトコル変換処理部は、処理振り分け部から宛先及び送信データが入力されると、次のような処理を行う。
【００６９】
まず、入力された宛先を送信先検索部に出力し、その宛先に応じた送信先を送信先検索部に問い合わせる（Ｓ２０１）。そして、その問い合わせの結果から、その宛先に応じた送信先が検索されたか否かを判定する（Ｓ２０２）。ここで、その判定結果がＹｅｓの場合には、入力された宛先及び送信データを、対応するプロトコルスタックの形式に合うようなデータに組み立てる（Ｓ２０３）。続いて、Ｓ２０３の処理により得られたデータを、検索された送信先へ送信するように、対応するＩ／Ｏ部に指示する（Ｓ２０４）。そして、その指示が成功したか否かを判定し（Ｓ２０５）、その判定結果がＹｅｓの場合には当該フローを終了する。
【００７０】
一方、Ｓ２０２又はＳ２０５がＮｏの場合には、対応するエラー処理を行い（Ｓ２０６）、当該フローを終了する。
なお、図示はしないが、各プロトコル変換処理部は、対応するＩ／Ｏ部からデータが入力されたときには、上述のとおり、そのデータから、宛先及び送信データ（宛先のアプリケーションに渡すデータ）を取り出し、処理振り分け部に出力する。
【００７１】
図１０は、Ｓ２０３及びＳ２０４の処理例を示す図である。
図１０に示した例では、プロトコル変換処理部に入力された宛先及び送信データを、ＧＤ１７１及び送信データ１７２として示している。ここで、ＧＤ１７１は、宛先となる装置のＩＤとアプリケーションのＩＤを示している。なお、本例では、ＧＤ１７１と共にＧＳ１７３もプロトコル変換処理部に入力されるものとする。ＧＳ１７３は、送信元となる装置のＩＤとアプリケーションのＩＤを示している。ＧＤ１７１及びＧＳ１７３はデータ送信制御情報である。
【００７２】
このような場合、プロトコル変換処理部は、データ送信制御情報をネットワークミドルウェアが参照するヘッダ（ミドルヘッダ）として送信データ１７２に結合してデータ部を生成することにより、当該プロトコル変換処理部に対応するプロトコルスタックの形式に合うようなデータに組み立てる。そして、そのデータを、検索された送信先（送信先アドレス１７４）へ送信するように、対応するＩ／Ｏ部に指示する。
【００７３】
図１１は、送信先検索部１３５、１４４、１６５の各部の動作例を示すフローチャートである。なお、各部の動作は、対応する装置内において同様の動作となる。
図１１に示したように、各送信先検索部は、プロトコル変換処理部から宛先が入力されて宛先に応じた送信先の問い合わせが行われると、次のような処理を行う。
【００７４】
まず、送信先変換ＤＢを参照して、入力された宛先を検索キーに送信先を検索し（Ｓ３０１）、その宛先に対応する送信先が検索されたか否かを判定する（Ｓ３０２）。ここで、その判定結果がＹｅｓの場合には、問い合わせ元のプロトコル変換処理部へ、検索された送信先を応答する（Ｓ３０３）。一方、Ｓ３０２の判定結果がＮｏの場合には、問い合わせ元のプロトコル変換処理部へエラー応答を行う（Ｓ３０４）。そして、Ｓ３０３又はＳ３０４の後は、当該フローが終了する。
【００７５】
次に、本実施形態に係るシステムの動作例として、サーバ装置１２１＿１、ゲートウェイ装置１２４、ノード装置１２３＿１との間で行われる通信動作について、具体例を挙げて説明する。
【００７６】
但し、ここで挙げる具体例において、サーバ装置１２１＿１の処理振り分けＤＢ１３３及び送信先変換ＤＢ１３６には、図１２に示した情報が記憶されているものとする。また、ゲートウェイ装置１２４の処理振り分けＤＢ１４３及び送信先変換ＤＢ１４５には、図１３に示した情報が記憶されているものとする。また、ノード装置１２３＿１の処理振り分けＤＢ１６３及び送信先変換ＤＢ１６６には、図１４に示した情報が記憶されているものとする。
【００７７】
まず、具体例１として、サーバ装置１２１＿１のアプリケーション１２５が、ノード装置１２３＿１のアプリケーション１２６にメッセージを送信するときの通信動作について説明する。なお、この通信動作の処理の流れは、図４の（１）乃至（８）に示す流れとなる。
【００７８】
具体例１では、まず、サーバ装置１２１＿１において、図４の（１）に対応する処理が行われる。すなわち、演算処理部１３１で実行されているアプリケーション１２５が、宛先となるノード装置１２３＿１のＩＤ：１１及びアプリケーション１２６のＩＤ：１１１と、送信するメッセージデータとを、処理振り分け部１３２に出力する。
【００７９】
続いて、図４の（２）に対応する処理が行われる。すなわち、処理振り分け部１３２は、処理振り分けＤＢ１３３を参照し、入力された宛先を検索キーに振り分け先を検索し、検索された振り分け先に、入力された宛先及びメッセージデータを出力する。ここでは、入力された宛先が、ノード装置１２３＿１のＩＤ：１１及びアプリケーション１２６のＩＤ：１１１であることから、振り分け先がプロトコル変換処理部１３４（第１のプロトコルスタック００用プロトコル変換処理部）となる（図１２の処理振り分けＤＢ１３３の項番１参照）。従って、処理振り分け部１３２は、プロトコル変換処理部１３４に、その宛先及びメッセージデータを出力する。
【００８０】
続いて、図４の（３）に対応する処理が行われる。すなわち、プロトコル変換処理部１３４は、まず、入力された宛先に応じた送信先を送信先検索部１３５に問い合わせる。ここでは、入力された宛先が、ノード装置１２３＿１のＩＤ：１１及びアプリケーション１２６のＩＤ：１１１であることから、送信先がゲートウェイ装置１２４（ゲートウェイ０３）となる（図１２の送信先変換ＤＢ１３６の項番１参照）。そして、プロトコル変換処理部１３４は、入力された宛先及びメッセージデータを、第１のプロトコルスタックの形式に合うようなデータに組み立て、それを、送信先であるゲートウェイ装置１２４へ送信するようＩ／Ｏ部１３７に指示する。Ｉ／Ｏ部１３７は、その指示に従って、第１のプロトコルスタックに応じた送信処理を行い、通信部１３８から、ゲートウェイ装置１２４へデータを送信する。
【００８１】
続いて、図４の（４）に対応する処理が行なわれる。すなわち、ゲートウェイ装置１２４において、第１の通信部１４８がサーバ装置１２１＿１から送信されたデータを受信すると、第１のＩ／Ｏ部１４７は、そのデータに対して第１のプロトコルスタックに応じた受信処理を行い、得られたデータを第１のプロトコル変換処理部１４６に出力する。第１のプロトコル変換処理部１４６は、入力されたデータから、宛先及びメッセージデータを取り出し、処理振り分け部１４２に出力する。
【００８２】
続いて、図４の（５）に対応する処理が行われる。すなわち、処理振り分け部１４２は、処理振り分けＤＢ１４３を参照し、入力された宛先を検索キーに振り分け先を検索し、検索された振り分け先に、入力された宛先及びメッセージデータを出力する。ここでは、入力された宛先が、ノード装置１２３＿１のＩＤ：１１及びアプリケーション１２６のＩＤ：１１１であることから、振り分け先が第２のプロトコル変換処理部１４９（第２のプロトコルスタック１０用プロトコル変換処理部）となる（図１３の処理振り分けＤＢ１４３の項番１参照）。従って、処理振り分け部１４２は、第２のプロトコル変換処理部１４９に、その宛先及びメッセージデータを出力する。
【００８３】
続いて、図４の（６）に対応する処理が行われる。すなわち、第２のプロトコル変換処理部１４９は、まず、入力された宛先に応じた送信先を送信先検索部１４４に問い合わせる。ここでは、入力された宛先が、ノード装置１２３＿１のＩＤ：１１及びアプリケーション１２６のＩＤ：１１１であることから、送信先がノード装置１２３＿１（ノード１１）となる（図１３の送信先変換ＤＢ１４５の項番１参照）。そして、第２のプロトコル変換処理部１４９は、入力された宛先及びメッセージデータを、第２のプロトコルスタックの形式に合うようなデータに組み立て、それを、送信先であるノード装置１２３＿１へ送信するよう第２のＩ／Ｏ部１５０に指示する。第２のＩ／Ｏ部１５０は、その指示に従って、第２のプロトコルスタックに応じた送信処理を行い、第２の通信部１５１から、ノード装置１２３＿１へデータを送信する。
【００８４】
続いて、図４の（７）に対応する処理が行なわれる。すなわち、ノード装置１２３＿１において、通信部１６８がゲートウェイ装置１２４から送信されたデータを受信すると、Ｉ／Ｏ部１６７は、そのデータに対して第２のプロトコルスタックに応じた受信処理を行い、得られたデータをプロトコル変換処理部１６４に出力する。プロトコル変換処理部１６４は、入力されたデータから、宛先及びメッセージデータを取り出し、処理振り分け部１６２に出力する。
【００８５】
続いて、図４の（８）に対応する処理が行われる。すなわち、処理振り分け部１６２は、処理振り分けＤＢ１６３を参照し、入力された宛先を検索キーに振り分け先を検索し、検索された振り分け先に、入力された宛先及びメッセージデータを出力する。ここでは、入力された宛先が、ノード装置２３＿１のＩＤ：１１及びアプリケーション１２６のＩＤ：１１１であることから、振り分け先がアプリケーション１２６（アプリケーション１１１）となる（図１４の処理振り分けＤＢ１６３の項番３参照）。従って、処理振り分け部１６２は、演算処理部１６１で実行されているアプリケーション１２６に、メッセージデータを出力する。なお、この場合には、振り分け先と宛先が一致することから、メッセージデータのみが振り分け先に出力される。
【００８６】
このような処理の流れにより、サーバ装置１２１＿１のアプリケーション１２５からノード装置１２３＿１のアプリケーション１２６にメッセージが送信される。
【００８７】
次に、具体例２として、具体例１の通信動作とは逆に、ノード装置１２３＿１のアプリケーション１２６が、サーバ装置１２１＿１のアプリケーション１２５にメッセージを送信するときの通信動作について説明する。
【００８８】
具体例２では、まず、ノード装置１２３＿１において、演算処理部１６１で実行されているアプリケーション１２６が、宛先となるサーバ装置１２１＿１のＩＤ：０１及びアプリケーション１２５のＩＤ：０１１と、送信するメッセージデータとを、処理振り分け部１６２に出力する。
【００８９】
続いて、処理振り分け部１６２は、処理振り分けＤＢ１６３を参照し、入力された宛先を検索キーに振り分け先を検索し、検索された振り分け先に、入力された宛先及びメッセージデータを出力する。ここでは、入力された宛先が、サーバ装置１２１＿１のＩＤ：０１及びアプリケーション１２５のＩＤ：０１１であることから、振り分け先がプロトコル変換処理部１６４（第２のプロトコルスタック１０用プロトコル変換処理部）となる（図１４の処理振り分けＤＢ１６３の項番１参照）。従って、処理振り分け部１６２は、プロトコル変換処理部１６４に、その宛先及びメッセージデータを出力する。
【００９０】
続いて、プロトコル変換処理部１６４は、まず、入力された宛先に応じた送信先を送信先検索部１６５に問い合わせる。ここでは、入力された宛先が、サーバ装置１２１＿１のＩＤ：０１及びアプリケーション１２５のＩＤ：０１１であることから、送信先がゲートウェイ装置１２４（ゲートウェイ０３）となる（図１４の送信先変換ＤＢ１６６の項番１参照）。そして、プロトコル変換処理部１６４は、入力された宛先及びメッセージデータを、第２のプロトコルスタックの形式に合うようなデータに組み立て、それを、送信先であるゲートウェイ装置１２４へ送信するようＩ／Ｏ部１６７に指示する。Ｉ／Ｏ部１６７は、その指示に従って、第２のプロトコルスタックに応じた送信処理を行い、通信部１６８から、ゲートウェイ装置１２４へデータを送信する。
【００９１】
続いて、ゲートウェイ装置１２４において、第２の通信部１５１がノード装置１２３＿１から送信されたデータを受信すると、第２のＩ／Ｏ部１５０は、そのデータに対して第２のプロトコルスタックに応じた受信処理を行い、得られたデータを第２のプロトコル変換処理部１４９に出力する。第２のプロトコル変換処理部１４６は、入力されたデータから、宛先及びメッセージデータを取り出し、処理振り分け部１４２に出力する。
【００９２】
続いて、処理振り分け部１４２は、処理振り分けＤＢ１４３を参照し、入力された宛先を検索キーに振り分け先を検索し、検索された振り分け先に、入力された宛先及びメッセージデータを出力する。ここでは、入力された宛先が、サーバ装置１２１＿１のＩＤ：０１及びアプリケーション１２５のＩＤ：０１１であることから、振り分け先が第１のプロトコル変換処理部１４６（第１のプロトコルスタック００用プロトコル変換処理部）となる（図１３の処理振り分けＤＢ１４３の項番２参照）。従って、処理振り分け部１４２は、第１のプロトコル変換処理部１４６に、その宛先及びメッセージデータを出力する。
【００９３】
続いて、第１のプロトコル変換処理部１４６は、まず、入力された宛先に応じた送信先を送信先検索部１４４に問い合わせる。ここでは、入力された宛先が、サーバ装置１２１＿１のＩＤ：０１及びアプリケーション１２５のＩＤ：０１１であることから、送信先がサーバ装置１２１＿１（サーバ０１）となる（図１３の送信先変換ＤＢ１４５の項番２参照）。そして、第１のプロトコル変換処理部１４６は、入力された宛先及びメッセージデータを、第１のプロトコルスタックの形式に合うようなデータに組み立て、それを、送信先であるサーバ装置１２１＿１へ送信するよう第１のＩ／Ｏ部１４７に指示する。第１のＩ／Ｏ部１４７は、その指示に従って、第１のプロトコルスタックに応じた送信処理を行い、第１の通信部１４８から、サーバ装置１２１＿１へデータを送信する。
【００９４】
続いて、サーバ装置１２１＿１において、通信部１３８がゲートウェイ装置１２４から送信されたデータを受信すると、Ｉ／Ｏ部１３７は、そのデータに対して第１のプロトコルスタックに応じた受信処理を行い、得られたデータをプロトコル変換処理部１３４に出力する。プロトコル変換処理部１３４は、入力されたデータから、宛先及びメッセージデータを取り出し、処理振り分け部１３２に出力する。
【００９５】
続いて、処理振り分け部１３２は、処理振り分けＤＢ１３３を参照し、入力された宛先を検索キーに振り分け先を検索し、検索された振り分け先に、入力された宛先及びメッセージデータを出力する。ここでは、入力された宛先が、サーバ装置１２１＿１のＩＤ：０１及びアプリケーション１２５のＩＤ：０１１であることから、振り分け先がアプリケーション１２５（アプリケーション０１１）となる（図１２の処理振り分けＤＢ１３３の項番３参照）。従って、処理振り分け部１３２は、演算処理部１３１で実行されているアプリケーション１２５に、メッセージデータを出力する。なお、この場合には、振り分け先と宛先が一致することから、メッセージデータのみが振り分け先に出力される。
このような処理の流れにより、ノード装置１２３＿１のアプリケーション１２６からサーバ装置１２１＿１のアプリケーション１２５にメッセージが送信される。
【００９６】
次に、具体例３として、サーバ装置１２１＿１のアプリケーション１２５が、ゲートウェイ装置１２４のアプリケーション１２８（図４参照）にメッセージを送信するときの通信動作について説明する。
【００９７】
具体例３では、まず、サーバ装置１２１＿１において、演算処理部１３１で実行されているアプリケーション１２５が、宛先となるゲートウェイ装置１２４のＩＤ：０３及びアプリケーション１２６のＩＤ：０３１と、送信するメッセージデータとを、処理振り分け部１３２に出力する。
【００９８】
続いて、処理振り分け部１３２は、処理振り分けＤＢ１３３を参照し、入力された宛先を検索キーに振り分け先を検索し、検索された振り分け先に、入力された宛先及びメッセージデータを出力する。ここでは、入力された宛先が、ゲートウェイ装置１２４のＩＤ：０３及びアプリケーション１２６のＩＤ：０３１であることから、振り分け先がプロトコル変換処理部１３４（第１のプロトコルスタック００用プロトコル変換処理部）となる（図１２の処理振り分けＤＢ１３３の項番２参照）。従って、処理振り分け部１３２は、プロトコル変換処理部１３４に、その宛先及びメッセージデータを出力する。
【００９９】
続いて、プロトコル変換処理部１３４は、まず、入力された宛先に応じた送信先を送信先検索部１３５に問い合わせる。ここでは、入力された宛先が、ゲートウェイ装置１２４のＩＤ：０３及びアプリケーション１２６のＩＤ：０３１であることから、送信先がゲートウェイ装置１２４（ゲートウェイ０３）となる（図１２の送信先変換ＤＢ１３６の項番２参照）。そして、プロトコル変換処理部１３４は、入力された宛先及びメッセージデータを、第１のプロトコルスタックの形式に合うようなデータに組み立て、それを、送信先であるゲートウェイ装置１２４へ送信するようＩ／Ｏ部１３７に指示する。Ｉ／Ｏ部１３７は、その指示に従って、第１のプロトコルスタックに応じた送信処理を行い、通信部１３８から、ゲートウェイ装置１２４へデータを送信する。
【０１００】
続いて、ゲートウェイ装置１２４において、第１の通信部１４８がサーバ装置１２１＿１から送信されたデータを受信すると、第１のＩ／Ｏ部１４７は、そのデータに対して第１のプロトコルスタックに応じた受信処理を行い、得られたデータを第１のプロトコル変換処理部１４６に出力する。第１のプロトコル変換処理部１４６は、入力されたデータから、宛先及びメッセージデータを取り出し、処理振り分け部１４２に出力する。
【０１０１】
続いて、処理振り分け部１４２は、処理振り分けＤＢ１４３を参照し、入力された宛先を検索キーに振り分け先を検索し、検索された振り分け先に、入力された宛先及びメッセージデータを出力する。ここでは、入力された宛先が、ゲートウェイ装置１２４のＩＤ：０３及びアプリケーション１２６のＩＤ：０３１であることから、振り分け先がアプリケーション１２８（アプリケーション０３１）となる（図１３の処理振り分けＤＢ１４３の項番３参照）。従って、処理振り分け部１４２は、演算処理部１５１で実行されているアプリケーション１２８に、メッセージデータを出力する。なお、この場合には、振り分け先と宛先が一致することから、メッセージデータのみが振り分け先に出力される。
このような処理の流れにより、サーバ装置１２１＿１のアプリケーション１２５からゲートウェイ装置１２４のアプリケーション１２８にメッセージが送信される。
【０１０２】
次に、具体例４として、具体例３の通信動作とは逆に、ゲートウェイ装置１２４のアプリケーション１２８が、サーバ装置１２１＿１のアプリケーション１２５にメッセージを送信するときの通信動作について説明する。
【０１０３】
具体例４では、まず、ゲートウェイ装置１２４において、演算処理部１５１で実行されているアプリケーション１２８が、宛先となるサーバ装置１２１＿１のＩＤ：０１及びアプリケーション１２５のＩＤ：０１１と、送信するメッセージデータとを、処理振り分け部１４２に出力する。
【０１０４】
続いて、処理振り分け部１４２は、処理振り分けＤＢ１４３を参照し、入力された宛先を検索キーに振り分け先を検索し、検索された振り分け先に、入力された宛先及びメッセージデータを出力する。ここでは、入力された宛先が、サーバ装置１２１＿１のＩＤ：０１及びアプリケーション１２５のＩＤ：０１１であることから、振り分け先が第１のプロトコル変換処理部１４６（第１のプロトコルスタック００用プロトコル変換処理部）となる（図１３の処理振り分けＤＢ１４３の項番２参照）。従って、処理振り分け部１４２は、第１のプロトコル変換処理部１４６に、その宛先及びメッセージデータを出力する。
【０１０５】
以降の処理については、上述の具体例２において、ゲートウェイ装置１２４の処理振り分け部１４２が、第１のプロトコル変換処理部１４６に、宛先及びメッセージデータを出力した後の処理と同じとなるので、ここでは説明を省略する。
【０１０６】
このような処理の流れにより、ゲートウェイ装置１２４のアプリケーション１２８からサーバ装置１２１＿１のアプリケーション１２５にメッセージが送信される。
【０１０７】
次に、具体例５として、ノード装置１２３＿１のアプリケーション１２６が、ゲートウェイ装置１２４のアプリケーション１２８にメッセージを送信するときの通信動作について説明する。
【０１０８】
具体例５では、まず、ノード装置１２３＿１において、演算処理部１７１で実行されているアプリケーション１２６が、宛先となるゲートウェイ装置１２４のＩＤ：０３及びアプリケーション１２８のＩＤ：０３１と、送信するメッセージデータとを、処理振り分け部１６２に出力する。
【０１０９】
続いて、処理振り分け部１６２は、処理振り分けＤＢ１６３を参照し、入力された宛先を検索キーに振り分け先を検索し、検索された振り分け先に、入力された宛先及びメッセージデータを出力する。ここでは、入力された宛先が、ゲートウェイ装置１２４のＩＤ：０３及びアプリケーション１２８のＩＤ：０３１であることから、振り分け先がプロトコル変換処理部１６４（第２のプロトコルスタック１０用プロトコル変換処理部）となる（図１４の処理振り分けＤＢ１６３の項番２参照）。従って、処理振り分け部１６２は、プロトコル変換処理部１６４に、その宛先及びメッセージデータを出力する。
【０１１０】
続いて、プロトコル変換処理部１６４は、まず、入力された宛先に応じた送信先を送信先検索部１６５に問い合わせる。ここでは、入力された宛先が、ゲートウェイ装置１２４のＩＤ：０３及びアプリケーション１２８のＩＤ：０３１であることから、送信先がゲートウェイ装置１２４（ゲートウェイ０３）となる（図１４の送信先変換ＤＢ１６６の項番２参照）。そして、プロトコル変換処理部１６４は、入力された宛先及びメッセージデータを、第２のプロトコルスタックの形式に合うようなデータに組み立て、それを、送信先であるゲートウェイ装置１２４へ送信するようＩ／Ｏ部１６７に指示する。Ｉ／Ｏ部１６７は、その指示に従って、第２のプロトコルスタックに応じた送信処理を行い、通信部１６８から、ゲートウェイ装置１２４へデータを送信する。
【０１１１】
続いて、ゲートウェイ装置１２４において、第２の通信部１５１がノード装置１２３＿１から送信されたデータを受信すると、第２のＩ／Ｏ部１５０は、そのデータに対して第２のプロトコルスタックに応じた受信処理を行い、得られたデータを第２のプロトコル変換処理部１４９に出力する。第２のプロトコル変換処理部１４６は、入力されたデータから、宛先及びメッセージデータを取り出し、処理振り分け部１４２に出力する。
【０１１２】
続いて、処理振り分け部１４２は、処理振り分けＤＢ１４３を参照し、入力された宛先を検索キーに振り分け先を検索し、検索された振り分け先に、入力された宛先及びメッセージデータを出力する。ここでは、入力された宛先が、ゲートウェイ装置１２４のＩＤ：０３及びアプリケーション１２８のＩＤ：０３１であることから、振り分け先がアプリケーション１２８（アプリケーション０３１）となる（図１３の処理振り分けＤＢ１４３の項番３参照）。従って、処理振り分け部１４２は、演算処理部１５１で実行されているアプリケーション１２８に、メッセージデータを出力する。なお、この場合には、振り分け先と宛先が一致することから、メッセージデータのみが振り分け先に出力される。
【０１１３】
このような処理の流れにより、ノード装置１２３＿１のアプリケーション１２６からゲートウェイ装置１２４のアプリケーション１２８にメッセージが送信される。
【０１１４】
次に、具体例６として、具体例５の通信動作とは逆に、ゲートウェイ装置１２４のアプリケーション１２８が、ノード装置１２３＿１のアプリケーション１２６にメッセージを送信するときの通信動作について説明する。
【０１１５】
具体例６では、まず、ゲートウェイ装置１２４において、演算処理部１５１で実行されているアプリケーション１２８が、宛先となるノード装置１２３＿１のＩＤ：１１及びアプリケーション１２６のＩＤ：１１１と、送信するメッセージデータとを、処理振り分け部１４２に出力する。
【０１１６】
続いて、処理振り分け部１４２は、処理振り分けＤＢ１４３を参照し、入力された宛先を検索キーに振り分け先を検索し、検索された振り分け先に、入力された宛先及びメッセージデータを出力する。ここでは、入力された宛先が、ノード装置１２３＿１のＩＤ：１１及びアプリケーション１２６のＩＤ：１１１であることから、振り分け先が第２のプロトコル変換処理部１４９（第２のプロトコルスタック１０用プロトコル変換処理部）となる（図１３の処理振り分けＤＢ１４３の項番１参照）。従って、処理振り分け部１４２は、第２のプロトコル変換処理部１４９に、その宛先及びメッセージデータを出力する。
【０１１７】
以降の処理については、上述の具体例１において、ゲートウェイ装置１２４の処理振り分け部１４２が、第２のプロトコル変換処理部１４６に、宛先及びメッセージデータを出力した後の処理と同様であるので、ここでは説明を省略する。
【０１１８】
このような処理の流れにより、ゲートウェイ装置１２４のアプリケーション１２８からノード装置１２３＿１のアプリケーション１２６にメッセージが送信される。
なお、上述の具体例を複数組み合わせた通信動作を行うことも可能である。
【０１１９】
例えば、具体例３と具体例６を組み合わせた通信動作を行うことも可能である。この場合、サーバ装置１２１＿１のアプリケーション１２５が、ゲートウェイ装置１２４のアプリケーション１２８にメッセージを送信した後、ゲートウェイ装置１２４のアプリケーション１２８が、ノード装置１２３＿１のアプリケーション１２６にメッセージを送信する、といった通信動作が可能である。このような場合、例えば、ゲートウェイ装置１２４のアプリケーション１２８が、サーバ装置１２１＿１のアプリケーション１２５から受信したデータを、ゲートウェイ装置１２４の配下に各ノード装置すべてにデータを送信する、といった通信動作が可能である。
【０１２０】
また、例えば、具体例４と具体例５を組み合わせた通信動作を行うことも可能である。この場合、ノード装置１２３＿１のアプリケーション１２６が、ゲートウェイ装置１２４のアプリケーション１２８にメッセージを送信した後、ゲートウェイ装置１２４のアプリケーション１２８が、サーバ装置１２１＿１のアプリケーション１２５にメッセージを送信する、といった通信動作が可能である。このような場合、例えば、ゲートウェイ装置１２４のアプリケーション１２８が、所定期間の間に各ノード装置から受信したデータ（例えばアプリケーション１２５から出力されたセンサデータ）を処理した後、その処理結果のデータを、サーバ装置１２１＿１のアプリケーション１２５へ送信する、といった通信動作が可能である。
【０１２１】
このように、本実施形態に係るシステムでは、各サーバ装置１２１、ゲートウェイ装置１２４、各ノード装置１２３の各装置が、ネットワークミドルウェアを備えることにより、各ネットワークの通信プロトコルが抽象化され、仮想ネットワークが実現される（図３参照）。従って、各サーバ装置１２１、ゲートウェイ装置１２４、各ノード装置１２３の各装置は、実際の通信プロトコルを考慮することなく、各サーバ装置１２１、ゲートウェイ装置１２４、各ノード装置１２３の区別なく、統一した方法で他の装置と通信を行うことができる。
【０１２２】
次に、本実施形態に係るシステムの他の動作例として、当該システムに新規に装置（サーバ装置、ゲートウェイ装置、ノード装置）を追加する場合の動作について説明する。なお、新規に追加される装置は、例えば図５乃至７に示した構成と同様の構成を有する。
【０１２３】
ここでは、代表して、ノード装置が新規に追加される場合の例を説明するが、サーバ装置やゲートウェイ装置が新規に追加される場合にも同様の動作が行われる。
また、ここでは、新規に追加される装置を管理するサーバ装置（管理サーバ装置）を、サーバ装置１２１＿１とする。また、新規に追加される装置及び既設の各装置の処理振り分けＤＢ及び送信先変換ＤＢには、管理サーバ装置１２１＿１の管理アプリケーション（管理用アプリケーション）という宛先に対する情報が含まれているものとする。すなわち、各処理振り分けＤＢには、管理サーバ装置１２１＿１の管理アプリケーションという宛先に対する振り分け先の情報が含まれ、各送信先変換ＤＢには、管理サーバ装置１２１＿１の管理アプリケーションという宛先に対する送信先の情報が含まれているものとする。また、新規に追加される装置及び既設の各装置は、演算処理部が実行するアプリケーションとして、処理振り分けＤＢ及び送信先変換ＤＢを更新するアプリケーション（更新用アプリケーション）を含むものとする。また、新規に追加される装置は、演算処理部が実行するアプリケーションとして、管理サーバ装置１２１＿１にノード追加通知を行うための追加処理アプリケーション（追加用アプリケーション）を含むものとする。
【０１２４】
図１５は、新規にノード装置が追加される場合のシステム全体の処理シーケンスの一例を示す図である。センサネットワークでは、センサを搭載した多数のノード装置を新規に追加または削除されることがある。このとき、設定無しに管理サーバ装置１２１＿１にノード装置を追加するためには、新規に追加するノード装置が管理サーバ装置１２１＿１宛に自情報を通知する。この時、新規に追加するノード装置に管理サーバ装置１２１＿１を一意に識別するネットワーク固有の情報（例えばIPアドレス）や通信プロトコルの情報をあらかじめ設定する必要はない。
【０１２５】
図１５に示したように、新規に追加されるノード装置がネットワーク１２２＿２に接続されると、そのノード装置からゲートウェイ装置１２４を介して管理サーバ装置１２１＿１へ、ノード追加通知が行われる（Ｓ４１０、Ｓ４２０）。そのノード追加通知を管理サーバ装置１２１＿１が受け取ると、管理サーバ装置１２１＿１から、ゲートウェイ装置１２４及び他のサーバ装置１２１＿２へ、ノード追加処理要求が行われる（Ｓ４３０）。
【０１２６】
このような処理シーケンスにおける各装置の処理シーケンスを図１６乃至１９に示す。
図１６は、新規に追加されたノード装置の処理シーケンスの一例を示す図である。
図１６に示したように、新規に追加されるノード装置がネットワーク１２２＿２に接続されると、そのノード装置では、次のような処理が行われる。
【０１２７】
まず、演算処理部１６１で実行された追加処理アプリケーションが、ノード追加通知メッセージを作成し、その送信を処理振り分け部１６２に依頼する処理を行う（Ｓ４１１）。具体的には、追加処理アプリケーションが、宛先として管理サーバ装置１２１＿１のＩＤ及びその装置１２１＿１の管理アプリケーションのＩＤと、メッセージデータとしてノード追加通知メッセージデータとを、処理振り分け部１６２に出力する。
【０１２８】
続いて、処理振り分け部１６２は、処理振り分けＤＢ１６３を参照し、プロトコル変換処理を呼び出す処理を行う（Ｓ４１２）。具体的には、処理振り分け部１６２が、処理振り分けＤＢ１６３を参照し、入力された宛先を検索キーに振り分け先を検索し、検索された振り分け先に、入力された宛先及びメッセージデータを出力する。ここで、処理振り分けＤＢ１６３には、管理サーバ装置１２１＿１の管理アプリケーションという宛先に対する振り分け先がプロトコル変換処理部１６４であるという情報が含まれている。従って、処理振り分け部１６２は、プロトコル変換処理部１６４に、宛先及びメッセージデータを出力する。
【０１２９】
続いて、プロトコル変換処理部１６４は、送信先をゲートウェイ装置１２４とし、ノード追加通知メッセージ送信の処理を行う（Ｓ４１３）。具体的には、プロトコル変換処理部１６４が、まず、入力された宛先に応じた送信先を送信先検索部１６５に問い合わせる。ここで、送信先変換ＤＢ１６６には、管理サーバ装置１２１＿１の管理アプリケーションという宛先に対する送信先がゲートウェイ装置１２４であるという情報が含まれている。従って、送信先検索部１６５は、送信先がゲートウェイ装置１２４であることを応答する。そして、プロトコル変換処理部１６４は、入力された宛先及びメッセージデータを、第２のプロトコルスタックの形式に合うようなデータに組み立て、それを、送信先であるゲートウェイ装置１２４へ送信するようＩ／Ｏ部１６７に指示する。
【０１３０】
続いて、Ｉ／Ｏ部１６７は、ノード追加通知の処理を行う（Ｓ４１４）。具体的には、Ｉ／Ｏ部１６７が、プロトコル変換処理部１６４からの指示に従って、第２のプロトコルスタックに応じた送信処理を行い、通信部１６８から、ゲートウェイ装置１２４へデータを送信する。
【０１３１】
図１７は、ゲートウェイ装置１２４の処理シーケンスの一例を示す図である。
図１７に示したように、ゲートウェイ装置１２４が、新規に追加されたノード装置から送信されたデータを受信すると、ゲートウェイ装置１２４では、次のような処理が行われる。
【０１３２】
まず、第２の通信部１５１が、新規に追加されたノード装置から送信されたデータを受信すると、第２のＩ／Ｏ部１５０は、ノード追加通知メッセージを受信する処理を行う（Ｓ４２１）。具体的には、第２のＩ／Ｏ部１５０が、そのデータに対して第２のプロトコルスタックに応じた受信処理を行い、得られたデータを第２のプロトコル変換処理部１４９に出力する。
【０１３３】
続いて、第２のプロトコル変換処理部１４６は、ノード追加通知メッセージの振り分けを、処理振り分け部１４２に要求する処理を行う（Ｓ４２２）。具体的には、第２のプロトコル変換処理部１４６は、入力されたデータから、宛先及びメッセージデータを取り出し、処理振り分け部１４２に出力する。
【０１３４】
続いて、処理振り分け部１４２は、処理振り分けＤＢ１４３を参照し、第１のプロトコル変換処理を呼び出す処理を行う（Ｓ４２３）。具体的には、処理振り分け部１４２が、処理振り分けＤＢ１４３を参照し、入力された宛先を検索キーに振り分け先を検索し、検索された振り分け先に、入力された宛先及びメッセージデータを出力する。ここで、処理振り分けＤＢ１４３には、管理サーバ装置１２１＿１の管理アプリケーションという宛先に対する振り分け先が第１のプロトコル変換処理部１４６であるという情報が含まれている。従って、処理振り分け部１４２は、第１のプロトコル変換処理部１４６に、宛先及びメッセージデータを出力する。
【０１３５】
続いて、第１のプロトコル変換処理部１４６は、送信先を管理サーバ装置１２１＿１とし、ノード追加通知メッセージ送信の処理を行う（Ｓ４２４）。具体的には、第１のプロトコル変換処理部１４６が、まず、入力された宛先に応じた送信先を送信先検索部１４４に問い合わせる。ここで、送信先変換ＤＢ１４５には、管理サーバ装置１２１＿１の管理アプリケーションという宛先に対する送信先が管理サーバ装置１２１＿１であるという情報が含まれている。従って、送信先検索部１４４は、送信先が管理サーバ装置１２１＿１であることを応答する。そして、第１のプロトコル変換処理部１４６は、入力された宛先及びメッセージデータを、第１のプロトコルスタックの形式に合うようなデータに組み立て、それを、送信先である管理サーバ装置１２１＿１へ送信するよう第１のＩ／Ｏ部１４７に指示する。
【０１３６】
続いて、第１のＩ／Ｏ部１４７は、ノード追加通知の処理を行う（Ｓ４２５）。具体的には、第１のＩ／Ｏ部１４７が、第１のプロトコル変換処理部１４６からの指示に従って、第１のプロトコルスタックに応じた送信処理を行い、第１の通信部１４８から、管理サーバ装置１２１＿１へデータを送信する。
【０１３７】
図１８は、管理サーバ装置１２１＿１の処理シーケンスの一例を示す図である。
図１８に示したように、管理サーバ装置１２１＿１が、ゲートウェイ装置１２４から送信されたデータを受信すると、管理サーバ装置１２１＿１では、次のような処理が行われる。
【０１３８】
まず、通信部１３８がゲートウェイ装置１２４から送信されたデータを受信すると、Ｉ／Ｏ部１３７は、ノード追加通知メッセージを受信する処理を行う（Ｓ４３１）。具体的には、Ｉ／Ｏ部１３７が、そのデータに対して第１のプロトコルスタックに応じた受信処理を行い、得られたデータをプロトコル変換処理部１３４に出力する。
【０１３９】
続いて、プロトコル変換処理部１３４は、ノード追加通知メッセージの振り分けを、処理振り分け部１３２に要求する処理を行う（Ｓ４３２）。具体的には、プロトコル変換処理部１３４が、入力されたデータから、宛先及びメッセージデータを取り出し、処理振り分け部１３２に出力する。
【０１４０】
続いて、処理振り分け部１３２は、処理振り分けＤＢ１３３を参照し、管理アプリケーションを呼び出す処理を行う（Ｓ４３３）。具体的には、処理振り分け部１３２が、処理振り分けＤＢ１３３を参照し、入力された宛先を検索キーに振り分け先を検索し、検索された振り分け先に、入力された宛先及びメッセージデータを出力する。ここで、処理振り分けＤＢ１３３には、管理サーバ装置１２１＿１の管理アプリケーションという宛先に対する振り分け先が管理アプリケーションであるという情報が含まれている。従って、処理振り分け部１３２は、演算処理装置１３１で実行されている管理アプリケーションに、宛先及びメッセージデータを出力する。なお、この場合には、振り分け先と宛先が一致することから、メッセージデータのみが振り分け先に出力される。
【０１４１】
続いて、管理アプリケーションは、入力されたメッセージデータに基づいて、追加されたノード装置に関する情報を処理振り分けＤＢ１３３及び送信先変換ＤＢ１３６に登録すると共に、ノード登録メッセージを作成し、その送信を処理振り分け部１３２に依頼する処理を行う（Ｓ４３４）。具体的には、管理アプリケーションは、処理振り分け部１３２からメッセージデータが入力されると、ノード装置が新規に追加されたことを認識する。そして、入力されたメッセージデータに基づいて、追加されたノード装置のアプリケーションという宛先に対してプロトコル変換処理部１３４という振り分け先の情報を処理振り分けＤＢ１３３に登録する。また、追加されたノード装置のアプリケーションという宛先に対してゲートウェイ装置１２４という送信先の情報を送信先変換ＤＢ１３６に登録する。次に、管理アプリケーションは、追加されたノード装置に関する情報の登録が必要な他のサーバ装置及びゲートウェイ装置１２４を検索する。そして、検索された装置へ送信するノード登録メッセージを作成し、宛先として、検索された装置のＩＤ及びその装置の更新アプリケーションのＩＤと、メッセージデータとしてノード登録メッセージデータとを、処理振り分け部１３２に出力する。なお、このＳ４３４において、追加されたノード装置に関する情報の登録が必要な装置が複数検索された場合には、ノード登録メッセージの作成から以降のＳ４３７までの処理が、検索された各装置に対して行われる。
【０１４２】
続いて、処理振り分け部１３２は、処理振り分けＤＢ１３３を参照し、プロトコル変換処理を呼び出す処理を行う（Ｓ４３５）。具体的には、処理振り分け部１３２が、処理振り分けＤＢ１３３を参照し、入力された宛先を検索キーに振り分け先を検索し、検索された振り分け先に、入力された宛先及びメッセージデータを出力する。ここでは、処理振り分け部１３２が、プロトコル変換処理部１３４に、宛先及びメッセージデータを出力する。
【０１４３】
続いて、プロトコル変換処理部１３４は、ノード登録メッセージ送信の処理を行う（Ｓ４３６）。具体的には、プロトコル変換処理部１３４が、まず、入力された宛先に応じた送信先を送信先検索部１３５に問い合わせる。そして、プロトコル変換処理部１３４は、入力された宛先及びメッセージデータを、第２のプロトコルスタックの形式に合うようなデータに組み立て、それを、問い合わせた送信先へ送信するようＩ／Ｏ部１３７に指示する。
【０１４４】
続いて、Ｉ／Ｏ部１３７は、ノード登録の処理を行う（Ｓ４３７）。具体的には、Ｉ／Ｏ部１３７が、プロトコル変換処理部１３４からの指示に従って、第１のプロトコルスタックに応じた送信処理を行い、通信部１３８から、送信先へデータを送信する。
【０１４５】
図１９は、管理サーバ装置１２１＿１から送信されたデータの送信先である装置の処理シーケンスの一例を示す図である。なお、この装置は、新規に追加されたノード装置に関する情報の登録が必要な装置（サーバ装置１２１＿２、ゲートウェイ装置１２４）でもある。ここでは、その装置をサーバ装置１２１＿２として説明を行う。
【０１４６】
図１９に示したように、サーバ装置１２１＿２が管理サーバ装置１２１＿１から送信されたデータを受信すると、サーバ装置１２１＿２では、次のような処理が行われる。
【０１４７】
まず、通信部１３８が管理サーバ装置１２１＿１から送信されたデータを受信すると、Ｉ／Ｏ部１３７は、ノード登録メッセージを受信する処理を行う（Ｓ４４１）。具体的には、Ｉ／Ｏ部１３７が、そのデータに対して第１のプロトコルスタックに応じた受信処理を行い、得られたデータをプロトコル変換処理部１３４に出力する。
【０１４８】
続いて、プロトコル変換処理部１３４は、ノード登録メッセージの振り分けを、処理振り分け部１３２に要求する処理を行う（Ｓ４４２）。具体的には、プロトコル変換処理部１３４が、入力されたデータから、宛先及びメッセージデータを取り出し、処理振り分け部１３２に出力する。
【０１４９】
続いて、処理振り分け部１３２は、処理振り分けＤＢ１３３を参照し、更新アプリケーションを呼び出す処理を行う（Ｓ４４３）。具体的には、処理振り分け部１３２が、処理振り分けＤＢ１３３を参照し、入力された宛先を検索キーに振り分け先を検索し、検索された振り分け先に、入力された宛先及びメッセージデータを出力する。ここで、処理振り分けＤＢ１３３には、サーバ装置１２１＿２の更新アプリケーションという宛先に対する振り分け先が更新アプリケーションであるという情報が含まれている。従って、処理振り分け部１３２は、演算処理部１３１で実行されている更新アプリケーションに、宛先及びメッセージデータを出力する。なお、この場合には、振り分け先と宛先が一致することから、メッセージデータのみが振り分け先に出力される。
【０１５０】
続いて、更新アプリケーションは、入力されたメッセージデータに基づいて、新規に追加されたノード装置に関する情報を処理振り分けＤＢ１３３及び送信先変換ＤＢ１３６に登録する処理を行う（Ｓ４４４）。具体的には、更新アプリケーションは、入力されたメッセージデータに基づいて、追加されたノード装置のアプリケーションという宛先に対してプロトコル変換処理部１３４という振り分け先の情報を処理振り分けＤＢ１３３に登録する。また、追加されたノード装置のアプリケーションという宛先に対してゲートウェイ装置１２４という送信先の情報を送信先変換ＤＢ１３６に登録する。
【０１５１】
このような処理の流れにより、新規にノード装置が追加されると、そのノード装置から管理サーバ装置１２１＿１へノード追加通知が行われ、それを受け取った管理サーバ装置１２１＿１から、必要な装置（ゲートウェイ装置１２４及び他のサーバ装置１２１＿２）へノード登録が行われる。
【０１５２】
なお、ここでは、新規に装置が追加されると、上記のようにして処理が行われたが、例えば、新規に追加された装置がブロードキャストにより周辺装置に通知することにより、伝播的に通知するようにすることも可能である。
【０１５３】
また、ここでは、新規に装置を追加する場合の例を示したが、既設の装置を移動させる場合にも同様にして処理を行うことができる。
【０１５４】
以上、本実施形態に係るシステムについて説明してきたが、当該システムは図３に示した構成に限らず、例えば図２０乃至２２に示すように、他の構成とすることも可能である。
【０１５５】
図２０は、本実施形態に係るシステムの他の構成例を示す第１の図である。
図２０に示した構成例のシステムは、複数のゲートウェイ装置を備えた構成である。このシステムでは、２つのサーバ装置１２１＿１、１２１＿２を含むネットワーク１２２＿１と２つのノード装置１２３＿１、１２３＿２を含むネットワーク１２２＿２とがゲートウェイ装置１２４＿１を介して接続されている。また、そのネットワーク１２２＿１と２つのノード装置１２３＿３、１２３＿４を含むネットワーク１２２＿３とがゲートウェイ装置１２４＿２を介して接続されている。ここで、ネットワーク１２２＿３は、ネットワーク１２２＿２と同様に、第２のプロトコルスタックの通信プロトコルが用いられている。ノード装置１２３＿４は、他の３つのノード装置１２３＿１、１２３＿２、１２３＿３と同様の構成を有し、また、ゲートウェイ装置１２４＿２は、他のゲートウェイ装置１２４＿１と同様の構成を有する。そして、当該システムを構成する各装置は、対応する情報を記憶する処理振り分けＤＢ及び送信先変換ＤＢを備える。
【０１５６】
このような構成によっても、ネットワーク１２２＿１、１２２＿２、１２２＿３の通信プロトコルを抽象化して、仮想ネットワーク１８１を実現することができるので、各装置は、実際の通信プロトコルを考慮することなく通信を行うことができる。
【０１５７】
図２１は、本実施形態に係るシステムの他の構成例を示す第２の図である。
図２１に示した構成例のシステムは、プロトコルスタックの異なる通信プロトコル毎にゲートウェイ装置を備えた構成である。このシステムでは、２つのサーバ装置１２１＿１、１２１＿２を含むネットワーク１２２＿１と２つのノード装置１２３＿１、１２３＿２を含むネットワーク１２２＿２とがゲートウェイ装置１２４＿１を介して接続されている。また、そのネットワーク１２２＿１と２つのノード装置１２３＿５、１２３＿６を含むネットワーク１２２＿４とがゲートウェイ装置１２４＿３を介して接続されている。ここで、ネットワーク１２２＿４は、第１及び第２のプロトコルスタックとは異なる第３のプロトコルスタックの通信プロトコルが用いられている。２つのノード装置１２３＿５、１２３＿６は、第２のプロトコルスタックの代わりに第３のプロトコルスタックが実装されている以外は、他の２つのノード装置１２３＿１、１２３＿２と同様の構成を有する。また、ゲートウェイ装置１２４＿３も、第２のプロトコルスタックの代わりに第３のプロトコルスタックを備えている以外は、他のゲートウェイ装置１２４＿１と基本的に同様の構成を有する。そして、当該システムを構成する各装置は、対応する情報を記憶する処理振り分けＤＢ及び送信先変換ＤＢを備える。
【０１５８】
このような構成によっても、ネットワーク１２２＿１、１２２＿２、１２２＿４の通信プロトコルを抽象化して、仮想ネットワーク１９１を実現することができるので、各装置は、実際の通信プロトコルを考慮することなく通信を行うことができる。
【０１５９】
図２２は、本実施形態に係るシステムの他の構成例を示す第３の図である。
図２２に示した構成例のシステムは、１つのゲートウェイ装置で３種類の通信プロトコルをサポートするようにした構成である。このシステムでは、２つのサーバ装置１２１＿１、１２１＿２を含むネットワーク１２２＿１と、２つのノード装置１２３＿１、１２３＿２を含むネットワーク１２２＿２と、２つのノード装置１２３＿５、１２３＿６を含むネットワーク１２２＿４とが、ゲートウェイ装置１２４＿４を介して接続されている。また、これに伴い、ゲートウェイ装置１２４＿４は、第１及び第２のプロトコルスタックに加えて第３のプロトコルスタックも実装されている。そして、当該システムを構成する各装置は、対応する情報を記憶する処理振り分けＤＢ及び送信先変換ＤＢを備える。
【０１６０】
このような構成によっても、ネットワーク１２２＿１、１２２＿２、１２２＿４の通信プロトコルを抽象化して、仮想ネットワーク２０１を実現することができるので、各装置は、実際の通信プロトコルを考慮することなく通信を行うことができる。
【０１６１】
また、本実施形態に係るシステムでは、当該システムの構成に応じて、ゲートウェイ装置を、例えば図２３乃至２６に示すように構成することも可能である。
【０１６２】
図２３は、３種類以上の通信プロトコルをサポートする場合のゲートウェイ装置の構成例を示す図である。この場合、ゲートウェイ装置２１１は、通信プロトコル（プロトコルスタック）毎に、プロトコル変換処理部、Ｉ／Ｏ部、通信部を備える。このような構成は、例えば図２２に示したシステムのゲートウェイ装置１２４＿４に適用される。
【０１６３】
図２４は、物理層は同一であるがプロトコルスタックが異なる２種類の通信プロトコルをサポートする場合のゲートウェイ装置の構成例を示す図である。この場合、ゲートウェイ装置２２１は、プロトコル変換処理部及びＩ／Ｏ部を、通信プロトコル（プロトコルスタック）毎に備えるが、通信部については１つのみを備えて各通信プロトコルで共用される。この場合、例えば、一方のＩ／Ｏ部（第１のＩ／Ｏ部）はＩＰｖ４（Internet Protocol Version 4）用のドライバであり、他方のＩ／Ｏ部（第２のＩ／Ｏ部）はＩＰｖ６（Internet Protocol Version 6）用のドライバである。
【０１６４】
図２５は、サポートする通信プロトコルは１種類であるが通信部を複数備える場合のゲートウェイ装置の構成例を示す図である。ここでは、一例として、通信部を２つ備える場合の例を示す。この場合、ゲートウェイ装置２３１は、プロトコル変換処理部及びＩ／Ｏ部を１つずつ備え、通信部を２つ備える。この場合、２つの通信部は、何れも例えばＥｔｈｅｒｎｅｔボードである。
【０１６５】
図２６は、図２３及び図２４に示した構成例を組み合わせた場合のゲートウェイ装置の構成例を示す図である。ここでは、一例として、３種類の通信プロトコルをサポートする場合であって、そのうちの２つについては、物理層が同一であるがプロトコルスタックは異なっている場合の例を示す。この場合、ゲートウェイ装置２４１は、プロトコル変換処理部及びＩ／Ｏ部を、通信プロトコル（プロトコルスタック）毎に備え、通信部を、異なる物理層毎に備える。この場合、物理層が同一でないプロトコルスタックに対応するＩ／Ｏ部（第１のＩ／Ｏ部）は、例えばＴＣＰ／ＩＰ用のドライバである。また、物理層が同一である２つのプロトコルスタックの一方に対応するＩ／Ｏ部（第２のＩ／Ｏ部）は例えば無線アドホック通信プロトコル用のドライバであり、その他方に対応するＩ／Ｏ部（第３のＩ／Ｏ部）は例えばＺｉｇＢｅｅ用のドライバである。また、物理層が同一でないプロトコルスタックに対応する通信部（第１の通信部）は例えばＥｔｈｅｒｎｅｔボードであり、物理層が同一である２つのプロトコルスタックに対応する通信部（第２の通信部）は例えば無線通信モジュールである。このような構成は、例えば図２２に示したシステムのゲートウェイ装置１２４＿４に適用される。
【０１６６】
また、本実施形態に係るシステムでは、当該システムの構成に応じて、ノード装置を、例えば図２７及び２８に示すように構成することも可能である。
【０１６７】
図２７は、一部の構成をチップ化した場合のノード装置の構成例を示す図である。この場合、ノード装置２５１において、処理振り分け部、処理振り分けＤＢ、プロトコル変換処理部、Ｉ／Ｏ部がチップ化され、それらが通信制御チップ２５２として構成される。なお、ここでは、ノード装置２５１に実装されるプロトコルスタックの通信プロトコルが無線アドホック通信プロトコルである場合を想定している。無線アドホック通信プロトコルでは通信プロトコルにより送信先を決定することができるので、このような通信プロトコルが用いられる場合には、図２７に示したように、送信先検索部及び送信先変換ＤＢが不要となる。
【０１６８】
図２８は、一部の構成を通信モジュールとした場合のノード装置の構成例を示す図である。この場合、ノード装置２６１は、ＰＣ（Personal Computer）等の汎用コンピュータ２６２と通信モジュール２６３によって構成される。汎用コンピュータ２６２のバス２６４には、ＣＰＵ（Central Processing Unit）２６５の他、複数のセンサ機器２６６等が接続されている。ここで、ＣＰＵ２６５は、ノード装置の演算処理部の機能を有する。通信モジュール２６３は、処理振り分け部、処理振り分けＤＢ、プロトコル変換処理部、送信先検索部、送信先変換ＤＢ、Ｉ／Ｏ部、通信部を含む。そして、汎用コンピュータ２６２のＣＰＵ２６５と通信モジュール２６３の処理振り分け部とが例えばＲＳ２３２Ｃ（Recommended Standard 232 version C）等のシリアル回線２６７を介して接続される。
【０１６９】
また、図示はしないが、ノード装置の他の構成例として、図６や図２３等に示したゲートウェイ装置と同様に、複数のプロトコルスタックが実装され、プロトコルスタック毎に、プロトコル変換処理部、Ｉ／Ｏ部、通信部を備えるように構成することも可能である。
【０１７０】
次に、本実施形態に係るシステムの適用例について説明する。
本実施形態に係るシステムは、例えば、データセンタの環境管理（温度管理等）に適用することができる。この場合、データセンタのサーバラックに設置した多数のセンサ（温度センサ等）をセンサネットワークに統合し、監視サーバ装置が一括管理するようにする。これにより、例えば、センサデータに基づいて空調設備の温度調節を細かく制御することにより、データセンタ全体の消費電力を削減すること等が可能になる。
【０１７１】
図２９は、本実施形態に係るシステムをデータセンタの環境管理に適用した例を示す図である。
図２９に示したように、この場合、本実施形態に係るシステムは、データセンタの環境管理を行う監視サーバ装置２７１を含むＩＰ網２７２と、センサネットワーク２７３とが、ゲートウェイ装置２７４を介して接続される。
【０１７２】
センサネットワーク２７３では、電波漏洩によるセキュリティ上の問題とセンサデータ取得の信頼性向上のため、無線ネットワークは用いられずに有線ネットワークが用いられる。このセンサネットワーク２７３では、各サーバラック２７５に、温度センサを備えたセンサノード装置２７６と、そのセンサノード装置２７６に接続されたセンサ中継ノード装置２７７とが配置される。また、各サーバラック２７５に配置されたセンサ中継ノード装置２７７がラック列毎に直列に接続され、その各両端が基幹中継ノード装置２７８に接続される。さらに、それらの基幹中継ノード装置２７８がリング状に直列に接続され、それがゲートウェイ装置２７４に接続される。ここで、ゲートウェイ装置２７４と基幹中継ノード装置２７８の間及び基幹中継ノード装置２７８間の接続は、例えば、１００ＢＡＳＥ−ＴＸの規格に準拠したネットワークである。また、基幹中継ノード装置２７８とセンサ中継ノード装置２７７の間及びセンサ中継ノード装置２７７間の接続は、例えば、ＲＳ４２２（Recommended Standard 422）の規格に準拠したネットワークである。また、センサ中継ノード装置２７７とセンサノード装置２７６との間の接続は、例えば、シリアル通信で接続されたネットワークである。
【０１７３】
図２９に示したシステムにおいて、ＩＰ網、１００ＢＡＳＥ−ＴＸ網、ＲＳ４２２網、及びシリアル通信網の各ネットワークでは、通信プロトコルが異なる。そのため、ゲートウェイ装置２７４、基幹中継ノード装置２７８、センサ中継ノード装置２７７の各装置は、対応する２種類の通信プロトコルのプロトコルスタックが実装される。
【０１７４】
監視サーバ装置２７１は、図４に示したサーバ装置１２１のように、実装されるプロトコルスタック中にネットワークミドルウェアが設けられる。また、ゲートウェイ装置２７４、基幹中継ノード装置２７８、センサ中継ノード装置２７７の各装置は、図４に示したゲートウェイ装置１２４のように、実装される２種類のプロトコルスタック中にネットワークミドルウェアが設けられる。また、センサノード装置２７６は、図４に示したノード装置１２３のように、実装されるプロトコルスタック中にネットワークミドルウェアが設けられる。
【０１７５】
図２９に示したシステムでは、温度センサのセンサデータが、センサノード装置２７６から、センサ中継ノード装置２７７、基幹中継ノード装置２７８、ゲートウェイ装置２７４を介して、監視サーバ装置２７１へ送信される等の通信が行われる。また、データセンタの構成は増設やメンテナンスの度に変化する。データセンタの規模に応じて、変更箇所も増える。そこで、構成を動的に検知し、さらには近傍のセンサを役割分担して収集する。
【０１７６】
図３０に示したシステムは、一列に接続されたセンサ中継ノード装置２７７のセンシングデータを監視サーバ２７１へ送信する際に、２台の基幹中継ノード装置２７８が役割分担して送信する例である。基幹中継ノード装置２７８はＡ、センサ中継ノード装置２７７はＢで示している。
【０１７７】
図３１は、図３０のシステム構成におけるセンサ情報収集制御のシーケンスである。次に示す（１）〜（６）で シーケンスの説明を行う。
（１）情報収集を行いたいサーバ装置から情報収集のコマンドをＡ１、Ａ２が受け取る。（２）Ａ１とＡ２はお互いに制御対象のＢに向けて経路および、Ｂに接続される情報収集デバイスの情報を取得する。
（３）（２）で検索した内容によりＡ１とＡ２はお互いに、ペアがあることを確認する。ペアは、検索内容にＡの装置ＩＤが存在する場合となる。具体的には装置種別がＡとＢで異なっているので判別が可能になっている。
（４）経路の確認でペアまでの確認が取れた場合、ペアとの通信が１００ＢＡＳＥ−ＴＸ網で出来るかを確認する。
（５）ペアとの通信がＯＫであれば、ペアとの情報収集分担を決定する。この場合、Ａ１はＢ１、Ｂ２、Ｂ３とこれらに接続される情報収集デバイスについて収集し、Ａ２はＢ４、Ｂ５およびこれらのに接続される情報収集デバイスについて収集する。
（６）分担決定後、情報収集を実施し、結果をサーバ装置に送信する。
【０１７８】
また、本実施形態に係るシステムは、例えば、土木建築構造物、機械構造物、設備等の損傷検知や健全性評価に適用することもできる。この場合、例えば橋梁や線路等に設置した多数のセンサ（センサノード装置）をセンサネットワークに統合し、監視サーバ装置がセンサデータを一括管理するようにする。
【０１７９】
また、本実施形態に係るシステムは、例えば、放射能汚染された地域での放射線量の測定に適用することもできる。この場合、センサノード装置は、放射線量センサとＧＰＳセンサ等を備え、無線アドホック通信プロトコルやＺｉｇＢｅｅ等の無線通信プロトコルを用いて無線通信可能に構成される。そして、このようなセンサノード装置を、ヘリコプター等を利用して目的とする地域へ投下する。このようにして設置された多数のセンサ（センサノード装置）をセンサネットワークに統合し、監視サーバ装置がセンサデータを一括管理するようにする。なお、この場合には、図１５等を用いて説明したようにして、センサノード装置の追加に係る処理が行われる。
【０１８０】
また、本実施形態に係るシステムは、例えば、移動体を用いた環境情報（温度や気圧等）の測定に適用することも可能である。この場合、センサノード装置は、温度や気圧等のセンサとＧＰＳセンサ等を備え、例えば人、自動車、自転車等に設置される。そして、このようにして設置されたセンサ（センサノード装置）をセンサネットワークに統合し、監視サーバ装置がセンサデータをＧＰＳデータと共に一括管理するようにする。
【０１８１】
次に、本実施形態に係るシステムの変形例として、実現される仮想ネットワーク上に１つのＩＰ網を構築するようにした例を説明する。
図３２は、その変形例に係るシステムに含まれる、各サーバ装置１２１、ゲートウェイ装置１２４、各ノード装置１２３の構成例を示す図である。
本変形例に係るシステムでは、各サーバ装置１２１、ゲートウェイ装置１２４、各ノード装置１２３の各々が、仮想ネットワーク上のＩＰアドレスを有する。
【０１８２】
図３２に示したように、各サーバ装置１２１は、演算処理部１３１と処理振り分け部１３２との間にＩＰプロトコル処理部２８１を備える。同様に、ゲートウェイ装置１２４も、演算処理部１４１と処理振り分け部１４２との間にＩＰプロトコル処理部２８２を備える。同様に、各ノード装置１２３も、演算処理部１６１と処理振り分け部１６２との間にＩＰプロトコル処理部２８３を備える。また、各サーバ装置１２１の処理振り分けＤＢ１３３、ゲートウェイ装置１２４の処理振り分けＤＢ１４３、各ノード装置１２３の処理振り分けＤＢ１６３には、宛先に対する振り分け先の情報として、ＩＰアドレスとポート番号に対する振り分け先の情報を記憶する。また、各サーバ装置１２１の送信先変換ＤＢ１３６、ゲートウェイ装置１２４の送信先変換ＤＢ１４５、各ノード装置１２３の送信先変換ＤＢ１６６には、宛先に対する送信先の情報として、ＩＰアドレスとポート番号に対する送信先の情報を記憶する。各装置のその他の構成については、図５乃至７を用いて説明した各装置の構成と同様となる。
【０１８３】
図３３は、ＩＰプロトコル処理部２８１、２８２、２８３の各部の動作例を示す第１のフローチャートである。図３４は、ＩＰプロトコル処理部２８１、２８２、２８３の各部の動作例を示す第２のフローチャートである。なお、ＩＰプロトコル処理部２８１、２８２、２８３の各部の動作は、対応する装置内において同様の動作となる。
【０１８４】
図３３に示したように、ＩＰプロトコル処理部は、演算処理部で実行されるアプリケーションからＩＰプロトコルのメッセージが入力されると、次のような処理を行う。
【０１８５】
まず、入力されたＩＰプロトコルのメッセージからＩＰアドレスとポート番号を取り出し（Ｓ５０１）、そのＩＰアドレスとポート番号を宛先とし、そのメッセージを送信データとして、処理振り分け部へ出力する（Ｓ５０２）。続いて、その出力が成功したか否かを判定し（Ｓ５０３）、その判定結果がＹｅｓの場合には当該フローを終了し、Ｎｏの場合には、エラー処理を行って（Ｓ５０４）、当該フローを終了する。
【０１８６】
また、図３４に示したように、ＩＰプロトコル処理部は、処理振り分け部から送信データが入力されると、次のような処理を行う。
【０１８７】
まず、その送信データを受け取り（Ｓ５１１）、その送信データをＩＰプロトコルのメッセージとして認識し、演算処理部のアプリケーションに出力する（Ｓ５１２）。続いて、その出力が成功したか否かを判定し（Ｓ５１３）、その判定結果がＹｅｓの場合には当該フローを終了し、Ｎｏの場合には、エラー処理を行って（Ｓ５１４）、当該フローを終了する。
【０１８８】
このような構成により、実現される仮想ネットワーク上に１つのＩＰ網を構築することができる。
【０１８９】
本変形例に係るシステムは、更に次のような変形も可能である。
例えば、インターネットプロトコルスイートとは異なる通信プロトコルが用いられるネットワークが更に追加され、そのようなネットワークを２つ以上中継して通信が行われる場合が想定される。このような場合には、新規に追加したゲートウェイ装置によりネットワーク間を連結することによって、同様に処理を行うことができる。
【０１９０】
また、本変形例に係るシステムでは、各サーバ装置１２１とゲートウェイ装置１２４が、元々、インターネットプロトコルスイートの通信プロトコルを用いて通信を行う構成であるので、それらを、例えば次のように構成することも可能である。
【０１９１】
図３５は、変形例に係るシステムに含まれる、各サーバ装置１２１、ゲートウェイ装置１２４、各ノード装置１２３の他の構成例を示す図である。
【０１９２】
図３５に示したように、この場合、各サーバ装置１２１は、ＩＰプロトコル処理部２８１、処理振り分け部１３２、処理振り分けＤＢ１３３、プロトコル変換処理部１３４、送信先検索部１３５、送信先変換ＤＢ１３６を省いた構成となる。また、ゲートウェイ装置１２４は、ＩＰプロトコル処理部２８２、第１のプロトコル変換処理部１４６を省いた構成となる。このようなゲートウェイ装置１２４では、ＴＣＰ／ＩＰのＩＰ層でルーティング機能を有し、ノード装置宛の通信では、宛先及び送信データが処理振り分け部１４２へ出力される。
【０１９３】
また、本変形例に係るシステムにおいて、仮想ネットワーク上のＩＰアドレスを、次のようにして自動的に割り当てるようにすることも可能である。
【０１９４】
この場合、図１５等を用いて説明した新規に装置（サーバ装置、ゲートウェイ装置、ノード装置）を追加する手法を組み合わせることにより、新規に追加された装置に対してＩＰアドレスを自動的に割り当てることが可能となる。
【０１９５】
具体的には、特定のサーバ装置１２１が、演算処理部１３１で実行されるアプリケーションとして、当該サーバ装置１２１をＤＨＣＰ(Dynamic Host Configuration Protocol)サーバ装置として機能させるアプリケーションを備えるようにする。なお、ＤＨＣＰは、アプリケーション層のプロトコルであり、ＤＨＣＰサーバ装置側で、予めＤＨＣＰクライアント用にＩＰアドレスを幾つか用意しておき、ＤＨＣＰクライアントの要求に応じて、この中から１つのＩＰアドレスを割り当てる技術である。
【０１９６】
新規に装置が追加されると、図１５等を用いて説明した処理が行われ、他の装置との通信が可能になる。すなわち、仮想ネットワーク上で通信可能になる。このようになると、新規に追加された装置は、ＤＨＣＰのプロトコルに従い、宛先ＩＰアドレスが２５５．２５５．２５５．２５５のブロードキャストのＵＤＰ（User Datagram Protocol）パケットを送出する。このパケットを受信したＤＨＣＰサーバ装置１２１は、用意されているＩＰアドレスから、割り当てるＩＰアドレスを選択し、それを新規に追加された装置のＭＡＣ（Media Access Control）アドレス向けに返信する。これにより、新規に追加された装置にＩＰアドレスが自動的に割り当てられる。
【０１９７】
このように、本変形例に係るシステムでは、新規に追加する装置にＩＰアドレスを自動的に割り当てることができるので、仮想ネットワーク上に構築されたＩＰ網に新規に多数の装置を接続する際に、装置毎にネットワーク設定を手動で行う必要が無い。
【０１９８】
以上、本実施形態に係るシステムによれば、次のような効果を奏する。
通信プロトコルの異なる複数のネットワークを仮想化することができるので、通信プロトコルを考慮することなく通信プロトコルの異なるネットワーク間で通信を行うことができる。
【０１９９】
また、本実施形態に係るシステムにおいては、例えば、ネットワークで用いられる通信プロトコルが変更される場合又は異なる通信プロトコルのネットワークが新規に追加される場合が考えられる。このような場合には、各装置（サーバ装置、ゲートウェイ装置、ノード装置）において、対応するプロトコル変換処理部、Ｉ／Ｏ部、及び通信部の変更又は追加を行うだけでよい。この場合、変更又は追加される通信プロトコルのプロトコルスタックの物理層が同一であれば、対応するプロトコル変換処理部及びＩ／Ｏ部の変更又は追加を行うだけでよい。
【０２００】
また、各装置（サーバ装置、ゲートウェイ装置、ノード装置）において、処理振り分け部とプロトコル変換処理部との間のインタフェースを共通化し、プロトコル変換処理部、Ｉ／Ｏ部、及び通信部を取り替え可能な部品（モジュール）として実装するようにしておけば、各装置の開発が容易になる。この場合、プロトコルスタックの物理層が同一であれば、プロトコル変換処理部及びＩ／Ｏ部を取り替え可能な部品として実装するようにしておくことも可能である。
【０２０１】
なお、本実施形態に係るシステムにおいて、各装置（サーバ装置、ゲートウェイ装置、ノード装置）は、例えば、次のようなコンピュータシステムを含む構成とすることも可能である。
【０２０２】
図３６は、そのコンピュータシステムの構成例を示す図である。
このコンピュータシステムは、ＣＰＵ３０１、ＲＯＭ（Read Only Memory）３０２、ＲＡＭ（Random Access Memory）３０３、通信インタフェース３０４、記憶装置３０５、入出力装置３０６、読取り装置３０７、及び、これらの全てが接続されたバス３０８を含む。
【０２０３】
記憶装置３０５としてはハードディスク、磁気ディスクなど様々な形式の記憶装置を使用することができる。記憶装置３０５、またはＲＯＭ３０２に、上述の処理振り分け部、プロトコル変換処理部、送信先検索部、Ｉ／Ｏ部、ＩＰプロトコル処理部等の動作が行われるためのプログラム等が格納される。また、記憶装置３０５、またはＲＯＭ３０２に、処理振り分けＤＢ、送信先変換ＤＢに記憶されている情報等も格納される。そして、そのプログラムがＣＰＵ３０１によって実行されることにより、処理振り分け部、プロトコル変換処理部、送信先検索部、Ｉ／Ｏ部、ＩＰプロトコル処理部等が実現される。
【０２０４】
このようなプログラムは、プログラム提供者端末３０９からネットワーク３１０、および通信インタフェース３０４を介して、例えば記憶装置３０５に格納されて、ＣＰＵ３０１によって実行されることも可能である。また、市販され、流通している可搬型記憶媒体３１１に格納され、読取り装置３０７にセットされて、ＣＰＵ３０１によって実行されることも可能である。可搬型記憶媒体３１１としてはＣＤ−ＲＯＭ、フレキシブルディスク、光ディスク、光磁気ディスク、ＤＶＤディスク、ＵＳＢメモリなど様々な形式の記憶媒体を使用することができる。なお、通信インタフェース３０４は、例えば、各装置の通信部に対応する。
【符号の説明】
【０２０５】
１０１  ネットワーク
１０２  ゲートウェイ装置
１０３  サーバ装置
１０４  ＺｉｇＢｅｅ装置
１１１  ネットワーク
１１２  ゲートウェイ装置
１１３  サーバ装置
１１４  ＺｉｇＢｅｅ装置
１１５、１１６  センサノード装置
１２１  サーバ装置
１２２  ネットワーク
１２３  ノード装置
１２４  ゲートウェイ装置
１２５、１２６  アプリケーション
１２７  仮想ネットワーク
１２８  アプリケーション
１３１  演算処理部
１３２  処理振り分け部
１３３  処理振り分けＤＢ
１３４  プロトコル変換処理部
１３５  送信先検索部
１３６  送信先変換ＤＢ
１３７  Ｉ／Ｏ部
１３８  通信部
１４１  演算処理部
１４２  処理振り分け部
１４３  処理振り分けＤＢ
１４４  送信先検索部
１４５  送信先変換ＤＢ
１４６  第１のプロトコル変換処理部
１４７  第１のＩ／Ｏ部
１４８  第１の通信部
１４９  第２のプロトコル変換処理部
１５０  第２のＩ／Ｏ部
１５１  第２の通信部
１６１  演算処理部
１６２  処理振り分け部
１６３  処理振り分けＤＢ
１６４  プロトコル変換処理部
１６５  送信先検索部
１６６  送信先変換ＤＢ
１６７  Ｉ／Ｏ部
１６８  通信部
１７１  ＧＤ
１７２  送信データ
１７３  ＧＳ
１７４  送信先アドレス
１８１、１９１、２０１  仮想ネットワーク
２１１、２２１、２３１、２４１  ゲートウェイ装置
２５１  ノード装置
２５２  通信制御チップ
２６２  汎用コンピュータ
２６３  通信モジュール
２６４  バス
２６５  ＣＰＵ
２６６  センサ機器
２６７  シリアル回線
２７１  監視サーバ装置
２７２  ＩＰ網
２７３  センサネットワーク
２７４  ゲートウェイ装置
２７５  サーバラック
２７６  センサノード装置
２７７  センサ中継ノード装置
２７８  基幹中継ノード装置
２８１、２８２、２８３  ＩＰプロトコル処理部
【図１】
2012157112.tif 000003
【図２】
2012157112.tif 000004
【図３】
2012157112.tif 000005
【図４】
2012157112.tif 000006
【図５】
2012157112.tif 000007
【図６】
2012157112.tif 000008
【図７】
2012157112.tif 000009
【図８】
2012157112.tif 000010
【図９】
2012157112.tif 000011
【図１０】
2012157112.tif 000012
【図１１】
2012157112.tif 000013
【図１２】
2012157112.tif 000014
【図１３】
2012157112.tif 000015
【図１４】
2012157112.tif 000016
【図１５】
2012157112.tif 000017
【図１６】
2012157112.tif 000018
【図１７】
2012157112.tif 000019
【図１８】
2012157112.tif 000020
【図１９】
2012157112.tif 000021
【図２０】
2012157112.tif 000022
【図２１】
2012157112.tif 000023
【図２２】
2012157112.tif 000024
【図２３】
2012157112.tif 000025
【図２４】
2012157112.tif 000026
【図２５】
2012157112.tif 000027
【図２６】
2012157112.tif 000028
【図２７】
2012157112.tif 000029
【図２８】
2012157112.tif 000030
【図２９】
2012157112.tif 000031
【図３０】
2012157112.tif 000032
【図３１】
2012157112.tif 000033
【図３２】
2012157112.tif 000034
【図３３】
2012157112.tif 000035
【図３４】
2012157112.tif 000036
【図３５】
2012157112.tif 000037
【図３６】
2012157112.tif 000038
【図３７】
2012157112.tif 000039
【手続補正書】
【提出日】平成25年11月28日(2013.11.28)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
サーバ装置とノード装置とゲートウェイ装置とを有する通信システムにおいて、複数のプロトコルスタックが実装され、サーバ装置とノード装置との間の通信を仲介するゲートウェイ装置であって、
宛先に応じた処理を行う振り分け先の情報を、宛先毎に記憶する振り分け先記憶部と、
入力された宛先及び送信データを、前記振り分け先記憶部に記憶されている情報の中から検索された、前記宛先に応じた振り分け先へ出力する振り分け部と、
宛先毎の送信先の情報を記憶する送信先記憶部と、
実装されているプロトコルスタック毎に設けられ、対応するプロトコルスタックに応じた送信処理及び受信処理を行う入出力部と、
実装されているプロトコルスタック毎に設けられ、前記振り分け部から宛先及び送信データが入力されると、前記宛先及び送信データを、対応するプロトコルスタックの形式に合うデータに組み立て、当該組み立てたデータを、前記送信先記憶部に記憶されている情報の中から検索された前記宛先に応じた送信先へ送信するよう、対応するプロトコルスタックの前記入出力部に指示するプロトコル変換部と、
を有するゲートウェイ装置。
【請求項２】
前記プロトコル変換部は、対応するプロトコルスタックの前記入出力部から、対応するプロトコルスタックに応じた受信処理により得られたデータが入力されると、当該データから宛先及び送信データを抽出し、前記振り分け部へ出力する、
ことを特徴とする請求項１記載のゲートウェイ装置。
【請求項３】
前記振り分け先記憶部に記憶される振り分け先の情報は、前記プロトコル変換部と、当該ゲートウェイ装置のアプリケーションに対する振り分け先の情報を含む、
ことを特徴とする請求項１又は２記載のゲートウェイ装置。
【請求項４】
前記送信先記憶部に記憶される情報は、実装されているプロトコルスタックの通信プロトコルにより送信可能な範囲内の装置を送信先とする情報である、
ことを特徴とする請求項１乃至３の何れか一項に記載のゲートウェイ装置。
【請求項５】
前記振り分け先記憶部に記憶される情報は、前記通信システムに追加される装置を管理する管理サーバ装置の管理用アプリケーションを宛先として、その宛先及び対応する振り分け先の情報を含み、
前記送信先記憶部に記憶される情報は、前記管理サーバ装置の管理用アプリケーションを宛先として、その宛先及び対応する送信先の情報を含み、
新規ノード装置からノード追加通知を受信すると、前記新規ノード装置のプロトコルスタックに対応する第一のプロトコル変換部が、前記管理サーバ装置の管理用アプリケーションを宛先とし、前記新規ノード装置の追加メッセージである送信データとその宛先を、前記振り分け部に出力し、前記振り分け部は入力された前記送信データの宛先を基に前記振り分け先記憶部を参照し、前記管理サーバのプロトコルスタックに対応する第二のプロトコル変換部を検索し、検索された第二のプロトコル変換部に宛先と追加メッセージを出力し、前記第二のプロトコル変換部は、前記管理サーバ装置の管理用アプリケーションを宛先として、入力された宛先及び追加メッセージを、前記管理サーバ装置のプロトコルスタックの形式に合うようなデータに組み立て、その宛先に対応する送信先の情報を検索して、対応する入出力部に送信を指示する
ことを特徴とする請求項２乃至４の何れか一項に記載のゲートウェイ装置。
【請求項６】
前記振り分け部に入力された宛先及び送信データが、当該ゲートウェイ装置の更新用アプリケーションを宛先とし、装置の登録メッセージを送信データとする場合に、前記振り分け部が、当該ゲートウェイ装置で実行される更新用アプリケーションに、前記登録メッセージを出力し、前記更新用アプリケーションが、前記登録メッセージに基づいて、前記振り分け先記憶部及び前記送信先記憶部に記憶されている情報を更新する、
ことを特徴とする請求項１乃至５の何れか一項に記載のゲートウェイ装置。
【請求項７】
サーバ装置とノード装置とゲートウェイ装置とを有する通信システムにおいて、複数のプロトコルスタックが実装され、サーバ装置とノード装置との通信を仲介するゲートウェイ装置の通信方法であって、
宛先及び送信データを、前記宛先に応じた振り分け先へ出力し、
前記宛先が所定の振り分け先である場合に、前記宛先及び送信データを、対応するプロトコルスタックの形式に合うデータに組み立て、
前記組み立てられたデータを、対応するプロトコルスタックに応じた送信処理を行った上で、前記宛先に応じた送信先へ送信する、
ことを特徴とするゲートウェイ装置の通信方法。
【請求項８】
受信したデータに対し、対応するプロトコルスタックに応じた受信処理を行い、
前記受信処理により得られたデータから、宛先及び送信データを抽出し、
前記抽出された宛先及び送信データを、前記宛先に応じた振り分け先に出力する、
ことを特徴とする請求項７記載のゲートウェイ装置の通信方法。
【請求項９】
プロトコルスタックが実装されたノード装置であって、
宛先毎の振り分け先の情報を記憶する振り分け先記憶部と、
入力された宛先及び送信データを、前記振り分け先記憶部に記憶されている情報の中から検索された前記宛先に応じた振り分け先へ出力する振り分け部と、
宛先毎の送信先の情報を記憶する送信先記憶部と、
実装されているプロトコルスタックに対応して設けられ、対応するプロトコルスタックに応じた送信処理及び受信処理を行う入出力部と、
実装されているプロトコルスタックに対応して設けられ、前記振り分け部から宛先及び送信データが入力されると、前記宛先及び送信データを、対応するプロトコルスタックの形式に合うデータに組み立て、当該組み立てたデータを、前記送信先記憶部に記憶されている情報の中から検索された前記宛先に応じた送信先へ送信するよう、対応するプロトコルスタックの前記入出力部に指示する、プロトコル変換部と、
を有するノード装置。
【請求項１０】
前記プロトコル変換部は、前記入出力部から、対応するプロトコルスタックに応じた受信処理により得られたデータが入力されると、当該データから宛先及び送信データを抽出し、前記振り分け部へ出力する、
ことを特徴とする請求項９記載のノード装置。
【請求項１１】
プロトコルスタックが実装されたノード装置の通信方法であって、
宛先及び送信データを、前記宛先に応じた振り分け先へ出力し、
前記宛先が所定の振り分け先である場合に、前記宛先及び送信データを、対応するプロトコルスタックの形式に合うデータに組み立て、
前記組み立てられたデータを、対応するプロトコルスタックに応じた送信処理を行った上で、前記宛先に応じた送信先へ送信する、
ことを特徴とするノード装置の通信方法。
【請求項１２】
受信したデータに対し、対応するプロトコルスタックに応じた受信処理を行い、
前記受信処理により得られたデータから、宛先及び送信データを抽出し、
前記抽出された宛先及び送信データを、前記宛先に応じた振り分け先に出力する、
ことを特徴とする請求項１１記載のノード装置の通信方法。
【請求項１３】
サーバ装置を含む第１のネットワークとノード装置を含む第２のネットワークとがゲートウェイ装置を介して接続される通信システムであって、
前記サーバ装置は、
前記第１のネットワークの通信プロトコルの第１のプロトコルスタックが実装されると共に、
宛先毎の振り分け先の情報を記憶する第１の振り分け先記憶部と、
入力された宛先及び送信データを、前記第１の振り分け先記憶部に記憶されている情報の中から検索された前記宛先に応じた振り分け先へ出力する第１の振り分け部と、
宛先毎の送信先の情報を記憶する第１の送信先記憶部と、
前記第１のプロトコルスタックに応じた送信処理及び受信処理を行う第１の入出力部と、
前記第１の振り分け部から宛先及び送信データが入力されると、前記宛先及び送信データを、前記第１のプロトコルスタックの形式に合うデータに組み立て、当該組み立てたデータを、前記第１の送信先記憶部に記憶されている情報の中から検索された前記宛先に応じた送信先へ送信するよう、前記第１の入出力部に指示し、前記第１の入出力部から、前記第１のプロトコルスタックに応じた受信処理により得られたデータが入力されると、当該データから宛先及び送信データを抽出し、前記第１の振り分け部へ出力する第１のプロトコル変換部と、
を備え、
前記ノード装置は、
前記第２のネットワークの通信プロトコルの第２のプロトコルスタックが実装されると共に、
宛先毎の振り分け先の情報を記憶する第２の振り分け先記憶部と、
入力された宛先及び送信データを、前記第２の振り分け先記憶部に記憶されている情報の中から検索された前記宛先に応じた振り分け先へ出力する第２の振り分け部と、
宛先毎の送信先の情報を記憶する第２の送信先記憶部と、
前記第２のプロトコルスタックに応じた送信処理及び受信処理を行う第２の入出力部と、
前記第２の振り分け部から宛先及び送信データが入力されると、前記宛先及び送信データを、前記第２のプロトコルスタックの形式に合うデータに組み立て、当該組み立てたデータを、前記第２の送信先記憶部に記憶されている情報の中から検索された前記宛先に応じた送信先へ送信するよう、前記第２の入出力部に指示し、前記第２の入出力部から、前記第２のプロトコルスタックに応じた受信処理により得られたデータが入力されると、当該データから宛先及び送信データを抽出し、前記第２の振り分け部へ出力する第２のプロトコル変換部と、
を備え、
前記ゲートウェイ装置は、
前記第１のプロトコルスタック及び前記第２のプロトコルスタックが実装されると共に、
宛先毎の振り分け先の情報を記憶する第３の振り分け先記憶部と、
入力された宛先及び送信データを、前記第３の振り分け先記憶部に記憶されている情報の中から検索された前記宛先に応じた振り分け先へ出力する第３の振り分け部と、
宛先毎の送信先の情報を記憶する第３の送信先記憶部と、
前記第１のプロトコルスタックに応じた送信処理及び受信処理を行う第３の入出力部と、
前記第２のプロトコルスタックに応じた送信処理及び受信処理を行う第４の入出力部と、
前記第３の振り分け部から宛先及び送信データが入力されると、前記宛先及び送信データを、前記第１のプロトコルスタックの形式に合うデータに組み立て、当該組み立てたデータを、前記第３の送信先記憶部に記憶されている情報の中から検索された前記宛先に応じた送信先へ送信するよう、前記第３の入出力部に指示し、前記第３の入出力部から、前記第１のプロトコルスタックに応じた受信処理により得られたデータが入力されると、当該データから宛先及び送信データを抽出し、前記第３の振り分け部へ出力する第３のプロトコル変換部と、
前記第３の振り分け部から宛先及び送信データが入力されると、前記宛先及び送信データを、第２のプロトコルスタックの形式に合うデータに組み立て、当該組み立てたデータを、前記第３の送信先記憶部に記憶されている情報の中から検索された前記宛先に応じた送信先へ送信するよう、前記第４の入出力部に指示し、前記第４の入出力部から、前記第２のプロトコルスタックに応じた受信処理により得られたデータが入力されると、当該データから宛先及び送信データを抽出し、前記第３の振り分け部へ出力する第４のプロトコル変換部と、
を備える、
ことを特徴とする通信システム。
【請求項１４】
前記第１の振り分け先記憶部に記憶される情報は、前記サーバ装置の第１のアプリケーションという宛先に対して前記第１のアプリケーションという振り分け先の情報と、前記ノード装置の第２のアプリケーションという宛先に対して前記第１のプロトコル変換部という振り分け先の情報を含み、
前記第２の振り分け先記憶部に記憶される情報は、前記サーバ装置の第１のアプリケーションという宛先に対して前記第２のプロトコル変換部という振り分け先の情報と、前記ノード装置の第２のアプリケーションという宛先に対して前記第２のアプリケーションという振り分け先の情報を含み、
前記第３の振り分け先記憶部に記憶される情報は、前記サーバ装置の第１のアプリケーションという宛先に対して前記第３のプロトコル変換部という振り分け先の情報と、前記ノード装置の第２のアプリケーションという宛先に対して前記第４のプロトコル変換部という振り分け先の情報を含む、
ことを特徴とする請求項１３記載の通信システム。
【請求項１５】
前記第１の送信先記憶部に記憶される情報は、前記ノード装置の第２のアプリケーションという宛先に対して前記ゲートウェイ装置という送信先の情報を含み、
前記第２の送信先記憶部に記憶される情報は、前記サーバ装置の第１のアプリケーションという宛先に対して前記ゲートウェイ装置という送信先の情報を含み、
前記第３の送信先記憶部に記憶される情報は、前記サーバ装置の第１のアプリケーションという宛先に対して前記サーバ装置という送信先の情報と、前記ノード装置の第２のアプリケーションという宛先に対して前記ノード装置という送信先の情報を含む、
ことを特徴とする請求項１３又は１４記載の通信システム。
【国際調査報告】
2012157112.tif 000040
2012157112.tif 000041
2012157112.tif 000042