(57)【要約】【課題】多種多様なプロトコルの相違を吸収し、データの適切な中継処理を実現する。【解決手段】第１のネットワーク２から複数種類の通信プロトコルのいずれかに対応したデータを受信し、受信データのデータ構造を解析して前記通信プロトコルのデータに共通に含まれる情報を所定形式の共通データに変換する受信処理部３１１と、第２のネットワーク４へ複数種類の通信プロトコルのいずれかに対応したデータを送信する送信処理部３１２と、前記共通データと前記共通データに対して定義された中継ルールとに基づいて、送信処理部３１２から第２のネットワーク４へ送信する前記受信データの通信プロトコルと宛先とを制御する中継制御部３１３と、を備える。【選択図】図３
2015115832.tif 000002
【特許請求の範囲】
【請求項１】
第１のネットワークから複数種類の通信プロトコルのいずれかに対応したデータを受信し、受信データのデータ構造を解析して前記通信プロトコルのデータに共通に含まれる情報を所定形式の共通データに変換する受信処理部と、
第２のネットワークへ複数種類の通信プロトコルのいずれかに対応したデータを送信する送信処理部と、
前記共通データと前記共通データに対して定義された中継ルールとに基づいて、前記送信処理部から前記第２のネットワークへ送信する前記受信データの通信プロトコルと宛先とを制御する中継制御部と、
を備えた、中継装置。
【請求項２】
前記受信処理部は、
前記複数種類の通信プロトコルに対応した複数のプロトコル終端部を備え、
前記プロトコル終端部は、
前記受信データのデータ構造を解析して前記受信データの送信元情報と宛先情報とデータ本体とを抽出する解析処理部と、
前記送信元情報及び前記宛先情報のそれぞれを前記共通データに含める内部的な識別情報に変換する変換処理部と、を備えた、請求項１に記載の中継装置。
【請求項３】
前記受信データを処理する１又は複数のアプリケーションを備え、
前記中継ルールは、
前記識別情報と、内部的な振り分け先としての前記アプリケーション及び前記送信処理部のいずれかを示す情報との対応関係を表すデータを含み、
前記中継制御部は、
前記対応関係を表すデータに基づいて、前記共通データと前記データ本体とを前記識別情報に対応する振り分け先に転送する振り分け処理部を備えた、請求項２に記載の中継装置。
【請求項４】
前記共通データは、同一の宛先情報を有する前記受信データの処理順序を示す情報を含み、
前記中継制御部は、
前記振り分け先毎に前記共通データ及び前記データ本体を格納するキューと、
前記共通データの前記処理順序を示す情報に基づいて、前記共通データ及び前記データ本体を前記キューから前記振り分け先へ転送する順序を制御するキュー制御部と、を備えた、請求項３に記載の中継装置。
【請求項５】
前記中継制御部は、
前記中継ルールに前記対応関係を表すデータが含まれない前記共通データ及び前記データ本体を破棄する、請求項３又は４に記載の中継装置。
【請求項６】
前記送信処理部は、
前記複数種類の通信プロトコルに対応した複数のプロトコル変換部と、
前記識別情報と前記受信データの通信プロトコルとの対応関係を表すデータに基づいて、前記中継制御部から転送された前記共通データ及び前記データ本体の通信プロトコルを選択し、選択した通信プロトコルに対応するプロトコル変換部へ前記共通データ及び前記データ本体を転送するプロトコル選択部と、を備え、
前記プロトコル変換部は、
前記共通データの前記識別情報を前記受信データの前記送信元情報及び前記宛先情報に逆変換する逆変換処理部と、
前記逆変換により得られた前記送信元情報及び前記宛先情報と、前記データ本体と、を有する、前記選択された通信プロトコルに応じた送信データを生成するプロトコルデータ生成部と、を備えた、請求項２〜５のいずれか１項に記載の中継装置。
【請求項７】
第１のネットワークから複数種類の通信プロトコルのいずれかに対応したデータを受信し、
受信データのデータ構造を解析して前記通信プロトコルのデータに共通に含まれる情報を所定形式の共通データに変換し、
第２のネットワークへ複数種類の通信プロトコルのいずれかに対応したデータを送信する際に、前記共通データと前記共通データに対して定義された中継ルールとに基づいて、前記第２のネットワークへ送信する前記受信データの通信プロトコルと宛先とを制御する、中継制御方法。
【請求項８】
コンピュータに、
第１のネットワークから複数種類の通信プロトコルのいずれかに対応したデータを受信し、
受信データのデータ構造を解析して前記通信プロトコルのデータに共通に含まれる情報を所定形式の共通データに変換し、
第２のネットワークへ複数種類の通信プロトコルのいずれかに対応したデータを送信する際に、前記共通データと前記共通データに対して定義された中継ルールとに基づいて、前記第２のネットワークへ送信する前記受信データの通信プロトコルと宛先とを制御する、
処理を実行させる、中継制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、中継装置、中継制御方法、及び、中継制御プログラムに関する。
【背景技術】
【０００２】
サービスゲートウェイ（ＳＧＷ）は、異なるプロトコルをもつ通信網を接続する中継装置である。中継装置は、例えば、ローカルエリアネットワーク（ＬＡＮ）とワイドエリアネットワーク（ＷＡＮ）とを接続し、ＬＡＮ又はＷＡＮから受信したパケットをパケットの宛先の装置が含まれるネットワークに中継する。
【０００３】
ＬＡＮは、例えば、企業のオフィスなどに設置されたネットワークである。一方、ＷＡＮは、インターネット環境とすることができる。中継装置は、ＬＡＮにおける装置がインターネットを介してデータ通信をするために用いられる。企業のネットワークでは、外部からの不正なアクセスを防止するためのファイヤーウォール等のセキュリティが設定される。ファイヤーウォールを設定することで、外部からの不正なアクセスを防止することができる。
【０００４】
関連する技術として、ＷＡＮから不正アクセスがあった場合に、中継装置がＷＡＮの回線を切断することで、セキュリティを高める技術が知られている（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平１１−２２５１５４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、特許文献１は、セキュリティを高める技術を記載するに留まっているため、例えば、多種多様なプロトコルの通信を中継する技術に関して何ら検討していない。
【課題を解決するための手段】
【０００７】
中継装置の一態様は、第１のネットワークから複数種類の通信プロトコルのいずれかに対応したデータを受信し、受信データのデータ構造を解析して前記通信プロトコルのデータに共通に含まれる情報を所定形式の共通データに変換する受信処理部と、第２のネットワークへ複数種類の通信プロトコルのいずれかに対応したデータを送信する送信処理部と、前記共通データと前記共通データに対して定義された中継ルールとに基づいて、前記送信処理部から前記第２のネットワークへ送信する前記受信データの通信プロトコルと宛先とを制御する中継制御部と、を備える。
【発明の効果】
【０００８】
多種多様なプロトコルの相違を吸収し、データの適切な中継処理を実現することができる。
【図面の簡単な説明】
【０００９】
【図１】一実施形態に係る通信システムの構成を示す図である。
【図２】図１に例示する中継装置のハードウェア構成例を示すブロック図である。
【図３】図１に例示する中継装置の機能的な構成に着目した構成例を示す。
【図４】図３に例示した通信ＩＦ（受信処理部及び送信処理部）に着目した中継装置の構成例を示す機能ブロック図である。
【図５】図４に例示するプロトコル終端部の構成例を示す機能ブロック図である。
【図６】図５に例示する内部データ変換部によって得られる内部データのフォーマット例を示す図である。
【図７】図６に例示する共通データに含まれる情報を説明する図である。
【図８】図４に例示するプロトコル選択部で用いられる宛先ＩＤとプロトコルとの対応関係を表すデータの一例を示す図である。
【図９】図４に例示するプロトコル変換部の構成例を示す機能ブロック図である。
【図１０】図４に例示する中継処理部の構成例を示す機能ブロック図である。
【図１１】図１０に例示する中継処理部で用いられる中継ルール（アップストリーム側）の一例を示す図である。
【図１２】図１０に例示する中継処理部で用いられる中継ルール（ダウンストリーム側）の一例を示す図である。
【図１３】本実施形態の通信システムの中継装置に着目した動作を説明するフローチャートである。
【発明を実施するための形態】
【００１０】
図１は、一実施形態に係る通信システム１の構成を示す図である。図１に示す通信システム１は、例示的に、第１のネットワーク（ＮＷ）２と、第２のＮＷ４と、第１及び第２のＮＷ２及び４の間の通信を中継する中継装置３と、を備える。
【００１１】
第１のＮＷ２の一例は、ＬＡＮであり、第２のＮＷ４の一例は、ＷＡＮである。ＬＡＮ２は、例示的に、複数のネットワークエレメント（ＮＥ）２１を備える。ＮＥ２１の一例は、通信機能を具備する機器（デバイス）である。そのようなデバイスの一例としては、センサが挙げられる。したがって、本実施形態において、ＬＡＮ２は、センサネットワークと称してもよい。
【００１２】
センサ２１の一例は、電流、電圧、電力、温度、圧力、流量、速度、加速度、角速度、質量、光量等の各種物理量をセンシングする物理量センサである。センサ２１には、これらのいずれかの物理量を複合的にセンシング可能なものもある。また、近年、センサ２１は、インテリジェンス化により、情報処理機能や通信機能を具備するものもある。そのようなセンサ（デバイス）２１は、「スマートセンサ（デバイス）」と称されることがある。
【００１３】
ＷＡＮ４に備えられたサーバ４１は、例示的に、クラウドセンタ等に備えられたクラウドサーバ等のコンピュータ（情報処理装置）である。なお、図１に例示するＷＡＮ４において、サーバ４１は、１台しか示していないが、複数台備えられていてもよい。
【００１４】
センサ２１は、センシングした情報（以下「センサ情報」と称することがある。）を通信機能によりサーバ４１宛に送信することができる。また、センサ２１は、通信機能によりサーバ４１からセンサ２１宛に送信された制御情報等を受信し、受信した情報に応じた動作が可能である。別言すると、サーバ４１は、センサ２１のファームウェア更新や、ユーザデバイス２１の設定確認、変更、及びリセット等の保守運用管理を遠隔で実施することが可能である。
【００１５】
サーバ４１とセンサ２１との通信のような機器間の通信は、Ｍ２Ｍ（Machine to Machine）と称されることがある。Ｍ２Ｍの分野には様々なセンサ２１が存在する。通信機器の小型化、無線通信技術の発展等の情報システムの高度化により、Ｍ２Ｍの適用対象装置が拡大している。
【００１６】
ここで、サーバ４１と各種センサ２１との間の通信に用いる通信プロトコルが統一されていれば、サーバ４１と各種センサ２１のそれぞれと間の通信に、個別（専用）の通信機器やプログラム（ソフトウェアやアプリケーション）を用意する必要はない。しかし、Ｍ２Ｍにおいて、センサ２１がサポートする通信プロトコルは多種多様であるのが現状である。
【００１７】
例えば、センサ２１には、ＴＣＰや、ＵＤＰ、ＦＴＰ、ＨＴＴＰ等のインターネットプロトコル（ＩＰ）に準拠した汎用の通信プロトコルで通信が可能なものや、ＩＰをベースにした独自の通信プロトコルで通信可能なものが含まれる。独自の通信プロトコルとは、例えば、センサ２１を管理する側で独自に規定されたようなプロトコルである。また、ＩＰとは異なる通信プロトコルで通信が可能なセンサ２１も存在する。例えば、無線通信が可能なセンサ２１や、ＲＳ２３２ＣやＵＳＢ等のシリアル通信プロトコルによる通信が可能なセンサも存在する。さらには、ＳＣＰや、エコーネットライト（登録商標）、ＣＷＭＰ等で通信が可能なセンサ２１も存在する。
【００１８】
なお、ＳＣＰは、Secure Copy Protocolの略称である。エコーネットライトは、エコーネットコンソーシアムが策定した通信プロトコルであり、スマートハウス向け制御プロトコル及びセンサネットワークプロトコルである。
【００１９】
ＣＷＭＰは、ブロードバンドフォーラムが策定した通信プロトコルであり、ＣＰＥ  ＷＡＭ管理プロトコル（CPE WAN Management Protocol）の略称である。ＣＰＥは、Customer Premises Equipmentの略称であり、センサ２１等のユーザデバイスが該当する。ＣＷＭＰの技術仕様は、ＴＲ−６９（Technical Report 069）に記述されている。
【００２０】
このように、センサ２１がサポートする通信プロトコルは、多種多様であるのが実態である。一方、近年のクラウドコンピューティングの発展により、例えば、各種センサ２１のセンサ情報をクラウド（例えば、サーバ４１）に収集し、ビッグデータとして活用することが検討されている。
【００２１】
しかしながら、上述のようなＭ２Ｍの実態において、各種センサ２１のセンサ情報をサーバ４１が収集するには、異なる通信プロトコルをサポートするセンサ２１毎に、当該通信プロトコルをサポートする通信機器を個別に準備せざるを得ない。また、センサ情報を専用の通信機器でサーバ４１が処理し易い形式のデータに加工や変換しなくてはならないこともある。さらには、各種センサ２１に合わせて専用のソフトウェアやアプリケーションを準備せざるを得ないこともある。そのため、クラウドセンタ等へのＭ２Ｍの導入コストが増加し、導入の敷居が高いのが現状である。
【００２２】
そこで、本実施形態では、中継装置３において、各種センサ２１がサポートする多種多様な通信プロトコルの相違を吸収し、センサ２１及びサーバ４１が、互いの通信プロトコルを意識せずに、必要に応じた通信を行なえるようにする。以下、そのような中継装置３の詳細について説明する。なお、中継装置３は、サービスゲートウェイ（ＳＧＷ）と称してもよい。
【００２３】
図２は、本実施形態に係る中継装置３のハードウェア構成例を示すブロック図である。図２に示す中継装置３は、例示的に、プロセッサ３１、メモリ３２、バス３３、外部記憶装置３４、及び、ネットワーク（ＮＷ）接続装置３５を備える。オプションとして、中継装置３は、入力装置３６、出力装置３７及び媒体駆動装置３８のいずれかを備えてもよい。中継装置３は、例えば、コンピュータ等の情報処理装置によって実現されてよい。
【００２４】
プロセッサ３１、メモリ３２、外部記憶装置３４、及び、ネットワーク接続装置３５は、バス３３によって互いに通信可能に接続される。入力装置３６、出力装置３７及び媒体駆動装置３８のいずれかが中継装置３に備えられる場合には、当該装置もバス３３に接続されてよい。
【００２５】
プロセッサ３１は、例示的に、Central Processing Unit（ＣＰＵ）等の演算能力を備えた任意の処理回路あるいは処理部である。プロセッサ３１は、メモリ３２や外部記憶装置３４に記憶されたプログラムやデータを適宜に読み取って実行することにより、図３にて後述するような、中継装置３としての動作（機能）を実現する。中継装置３としての動作（機能）を実現するプログラムは、中継制御プログラムと称してよい。
【００２６】
メモリ３２は、例示的に、ＲＡＭやＲＯＭであり、上述したプログラムやデータを記憶する。データには、プロセッサ３１が処理に用いるデータやプロセッサ３１による処理の結果であるデータが含まれてよい。
【００２７】
外部記憶装置３４は、例示的に、ハードディスクドライブ（ＨＤＤ）等であり、上述したプログラムやデータを記憶する。外部記憶装置３４に記憶されたプログラムやデータは、例えば、プロセッサ３１の指示に応じて、適宜に、メモリ３２に展開されて、プロセッサ３１による処理に用いられる。
【００２８】
ＮＷ接続装置３５は、例えば、図１に例示したＬＡＮ２及びＷＡＮ４との接続を提供し、ＬＡＮ２との間の通信及びＷＡＮ４との間の通信をそれぞれ可能にする。
【００２９】
入力装置３６は、例示的に、キーボードやマウス、タッチパネル等であり、出力装置３７は、表示装置（ディスプレイやタッチパネル等）や印刷装置等である。
【００３０】
媒体駆動装置３８は、メモリ３２や外部記憶装置３４のデータを記憶媒体３９に出力することができ、また、記憶媒体３９からプログラムやデータ等を読み出して外部記憶装置３４やメモリ３２に出力することができる。したがって、既述の中継装置３としての機能を実現するプログラムやデータは、記憶媒体３９からインストールすることができる。記憶媒体３９は、例示的に、フレキシブルディスクや、Magneto-Optical（ＭＯ）ディスク、Compact Disc Recordable（ＣＤ−Ｒ）やDigital Versatile Disk Recordable（ＤＶＤ−Ｒ）等の任意の記憶媒体である。なお、中継装置３としての機能を実現するプログラムやデータは、ＮＷ接続装置３５を通じてサーバ等から通信により中継装置３にダウンロード、インストールされてもよい。
【００３１】
次に、図３に、中継装置３の機能的な構成に着目した構成例を示す。図３に示す中継装置３は、例示的に、通信処理部３０Ａ及び３０Ｂと、装置制御部３０Ｃと、を備える。
【００３２】
通信処理部３０Ａは、例示的に、ＬＡＮ２からＷＡＮ４へ向かう方向（便宜的に「アップストリーム」と表現することがある。）の通信処理を担当する。
【００３３】
通信処理部３０Ｂは、例示的に、通信処理部３０Ａとは逆方向（ＷＡＮ４からＬＡＮ２へ向かう方向）（便宜的に「ダウンストリーム」と表現することがある。）の通信処理を担当する。
【００３４】
装置制御部３０Ｃは、各通信処理部３０Ａ及び３０Ｂの通信処理を制御する。
【００３５】
通信処理部３０Ａ（３０Ｂ）は、例示的に、通信インタフェース（ＩＦ）３１１及び３１２と、中継処理部３１３と、アプリケーション処理部３１４と、を備える。中継処理部３１３は、中継制御部３１３と称してもよい。
【００３６】
通信ＩＦ３１１は、ＬＡＮ２（又はＷＡＮ４）から受信されたデータの処理（受信処理）を行なう。別言すると、通信ＩＦ３１１は、受信処理部の一例である。ＬＡＮ２から受信されたデータには、例えば、サーバ４１宛のセンサ情報等が含まれてよい。ＷＡＮ４（サーバ４１）から受信されたデータには、例えば、センサ２１宛の制御情報等が含まれてよい。受信処理には、後述するように、受信したデータを通信プロトコル（以下、単に「プロトコル」と称することがある。）に依存しない形式の内部データに変換して中継処理部３１３へ送信する処理が含まれてよい。
【００３７】
通信ＩＦ３１２は、受信処理部３１１で受信され中継処理部３１３で処理されたデータをＷＡＮ４（又はＬＡＮ２）へ送信する処理（送信処理）を行なう。別言すると、通信ＩＦ３１２は、送信処理部の一例である。ＷＡＮ４へ送信されるデータには、例えば、ＬＡＮ２から受信したサーバ４１宛のセンサ情報等が含まれてよい。ＬＡＮ２へ送信されるデータには、例えば、ＷＡＮ４（サーバ４１）からセンサ２１宛の制御情報等が含まれてよい。送信処理には、後述するように、受信処理部３１１で内部データに変換されたデータを変換前の通信プロトコルに応じた形式に変換し、本来の宛先へ送信する処理が含まれてよい。本来の宛先とは、受信処理部３１１で受信されたデータに含まれる宛先情報によって識別される宛先を意味し、例えば、サーバ４１あるいはセンサ２１が該当する。
【００３８】
ＬＡＮ２側の通信ＩＦ３１１及び３１２は、ＬＡＮ２に属するＮＥの一例であるセンサ２１との間で論理的な通信路（例えば、コネクション）を確立する複数種類のプロトコルをサポートする。一方、ＷＡＮ４側の通信ＩＦ３１１及び３１２は、ＷＡＮ４に属するＮＥの一例であるサーバ４１との間で論理的な通信路（例えば、コネクション）を確立する複数種類のプロトコルをサポートする。複数種類のプロトコルは、既述のプロトコルのいずれかを含む。
【００３９】
中継装置３は、ＬＡＮ２に属するＮＥ２１とはＬＡＮ２内にクローズした通信を行ない、ＷＡＮ４に属するＮＥ４１とはＷＡＮ４内にクローズした通信を行なう。別言すると、中継装置３は、ＬＡＮ２との通信及びＷＡＮ４との通信を独立して行なうことにより、それぞれの通信を分離して、各通信のセキュリティを容易に確保可能にしている。
【００４０】
中継処理部３１３は、例示的に、受信処理部３１１から受信した内部データを所定の中継ルールに従って送信処理部３１２及びアプリケーション処理部３１４のいずれかへ転送する（別言すると、振り分ける）。中継ルールは、振り分けルールと称してもよい。ルールは、定義あるいはポリシーと称してもよい。また、中継処理部３１３は、振り分け処理部あるいは転送処理部と称してもよい。アプリケーション処理部３１４へ振り分けられた内部データは、アプリケーション処理部３１４で処理された後、送信処理部３１２へ転送されてよい。
【００４１】
アプリケーション処理部３１４は、１又は複数のアプリケーション（ＡＰＬ）＃１〜＃Ｋを含む。なお、Ｋは１以上の整数である。アプリケーション＃ｉ（ｉ＝１〜Ｋのいずれか）は、中継処理部３１３から受信したデータに対して当該アプリケーション＃ｉの目的や用途に応じた処理を施す。
【００４２】
例えば、アプリケーション＃ｉには、データを所定の形式に変換あるいは加工するアプリケーションや、データから不要な情報を削除したりデータに必要に応じて情報を追加したりするアプリケーション等が含まれてよい。例示的に、アプリケーション＃ｉによって、サーバ４１宛のセンサ情報等を例えばサーバ４１で処理し易い形式に変換／加工したり、サーバ４１に提供不要な情報をセンサ情報等から削除したりすることが可能である。センサ２１宛の制御情報等についても同様に情報の変換や加工等をアプリケーション＃ｉによって実施することが可能である。
【００４３】
受信処理部３１１、送信処理部３１２、中継処理部３１３、及び、アプリケーション処理部３１４は、それぞれ、非同期で処理を実施してよい。なお、図３において、アップストリームの通信処理部３０Ａとダウンストリームの通信処理部３０Ｂとで、アプリケーション処理部３１４が備えるアプリケーション＃ｉの数は便宜的に同数（Ｎ）として表しているが、異なっていても構わない。アプリケーション＃ｉは、例えば、センサ２１やサーバ４１の管理者の要望等に応じて適宜に増減可能である。
【００４４】
次に、図４に、図３に例示した通信ＩＦ（受信処理部）３１１及び通信ＩＦ（送信処理部）３１２に着目した中継装置３の構成例を示す。
【００４５】
図４に示すように、受信処理部３１１は、例示的に、Ｎ種類（Ｎは２以上の整数）のプロトコルに対応したＮ個のプロトコル終端部（＃１〜＃Ｎ）３１１１を備える。
【００４６】
一方、送信処理部３１２は、例示的に、プロトコル選択部３１２１と、Ｎ種類のプロトコルに対応したＮ個のプロトコル変換部（＃１〜＃Ｎ）３１２２と、を備える。なお、便宜的に、プロトコル終端部＃ｊ（ｊ＝１〜Ｎのいずれか）とプロトコル変換部＃ｊとは同じプロトコルをサポートする。別言すると、１つのプロトコルに対して１対のプロトコル終端部＃ｊとプロトコル変換部＃ｊとが中継装置３に備えられる。
【００４７】
（プロトコル終端部）
受信処理部３１１において、プロトコル終端部３１１１は、それぞれ、例えば図５に示すように、内部データ変換部３１１２を備える。
【００４８】
内部データ変換部３１１２は、受信したデータを各プロトコルに対して中継処理部３１３が共通に処理可能な所定の形式のデータ（以下「内部データ」と称することがある。）に変換する。
【００４９】
そのため、内部データ変換部３１１２は、例示的に、パース処理部３１１３と、内部データ生成部３１１４と、を備える。
【００５０】
パース処理部３１１３は、解析処理部の一例であり、例えば、受信したデータのデータ構造を解析（パース）し、データの宛先情報や送信元情報、データタイプ、プロトコル種別、データ本体等を識別し、それぞれを抽出する。なお、データ本体は、ペイロードデータと称してもよい。
【００５１】
内部データ生成部３１１４は、変換処理部の一例であり、パース処理部３１１３にて抽出された情報を基に、例えば図６に示すような、共通データ（以下「メタデータ」と称することもある。）とデータ本体とを有する内部データを生成する。図６及び図７に例示するように、共通データには、宛先ＩＤ、送信元ＩＤ、データタイプ、プロトコル種別、データサイズ、データ本体格納領域ＩＤ及び制御情報が含まれてよい。なお、共通データは、プロトコルに個別（あるいは固有）のデータであるデータ本体に付加されると捉えてよい。
【００５２】
「宛先ＩＤ」は、パース処理部３１１３で抽出された宛先情報を中継処理部３１３が一意に識別可能な情報に変換することにより得られる内部的な識別情報である。例えば、宛先情報（例えばＩＰアドレス）を文字列や数列、文字と数字との組み合わせ等に変換（抽象化と称してもよい）した情報を宛先ＩＤとして用いてよい。
【００５３】
「送信元ＩＤ」は、パース処理部３１１３で抽出された送信元情報を中継処理部３１３が一意に識別可能な内部的な識別情報に変換することにより得られる情報である。例えば、送信元情報（例えばＩＰアドレス）を文字列や数列に変換（抽象化）した情報を送信元ＩＤとして用いてよい。
【００５４】
「宛先ＩＤ」及び「送信元ＩＤ」と変換前の宛先情報及び送信元情報との対応関係を示すデータは、例示的に、テーブル形式のデータ等としてメモリ３２（図２参照）に記憶される。なお、宛先情報及び送信元情報は、各プロトコルのデータに共通に含まれる情報の一例である。したがって、内部データ生成部３１１４は、各プロトコルのデータに共通に含まれる情報を、中継処理部３１３が一意に識別可能な内部的な識別情報に変換するものとして捉えてよい。
【００５５】
「データタイプ」は、データ本体のタイプ（種別）を示す情報である。データタイプの非限定的な一例としては、センサ２１からの機器登録や稼働ログ等が挙げられる。例えば、データタイプが「機器登録」であればデータ本体がセンサ２１等のデバイスのサーバ４１に対する登録要求を示す。また、データタイプが「稼働ログ」であれば、データ本体がデバイスの稼働ログデータであることを示す。データタイプの他の一例としては、ファームウェア更新や設定確認、変更、リセット等の、サーバ４１からセンサ２１に対する保守運用管理に関わるデータタイプが挙げられる。
【００５６】
「プロトコル種別」は、パース処理部３１１３で識別（抽出）されたプロトコル種別を示す情報であり、既述のＦＴＰやＨＴＴＰ等の各種プロトコルのいずれかを示す情報である。送信処理部３１２のプロトコル選択部３１２１は、当該プロトコル種別を参照することにより、中継処理部３１３から受信した内部データを対応するプロトコル変換部３１２２へ転送できる。
【００５７】
「データサイズ」は、データ本体のサイズを示す情報である。
【００５８】
「データ本体格納領域ＩＤ」は、データ本体の記憶（格納）領域を識別する情報である。データ本体の記憶領域は、既述のメモリ３２でもよいし外部記憶装置３４でもよい。したがって、データ本体格納領域ＩＤは、例示的に、データ本体が記憶されたメモリ３２や外部記憶装置３４のアドレスを識別する情報であってよい。
【００５９】
「制御情報」は、例示的に、中継処理部３１３による中継処理を制御するために用いられる情報である。別言すると、「制御情報」は、中継装置３内において受信処理部３１１、送信処理部３１２、及び、アプリケーション処理部３１４を、中継処理部３１３を介して、適切に接続するための情報の一例である。「制御情報」の非限定的な一例としては、シーケンス定義ＩＤ、次シーケンス番号、ソケット関連付けＩＤ等が挙げられる。
【００６０】
「シーケンス定義ＩＤ」は、中継処理部３１３において中継処理の順序を定義（識別）するＩＤであり、例示的に、データの受信に応じてインクリメントされる番号情報である。「次シーケンス番号」は、中継処理部３１３において次に処理されるべき内部データの「シーケンス定義ＩＤ（Ｎｏ．）」を示す情報である。これらのＩＤによって中継処理部３１３での内部データの処理順序を制御することが可能になる。したがって、データの受信順序ひいてはデータの同一宛先への送信順序を保証することが可能になる。
【００６１】
「ソケット関連付けＩＤ」は、プロトコル終端部３１１１（受信処理部）とプロトコル変換部３１２２（送信処理部）との間のソケットを関連付けるＩＤである。ソケットは、例えば、プロトコルに応じてプロトコル終端部３１１１及びプロトコル変換部３１２２にそれぞれ割り当てられた、ＩＰアドレスとポート番号との組（ネットワークアドレス）である。
【００６２】
ソケットは、例示的に、装置制御部３０Ｃ（図３参照）によって割り当てられる。装置制御部３０Ｃは、通信ＩＦ３１１及び３１２を制御してＬＡＮ２に属するセンサ２１又はＷＡＮ４に属するサーバ４１との論理的な通信路を確立する。通信路の一例は、ＴＣＰ／ＩＰの論理的なコネクションである。コネクションは、通信の開始から終了までの単位を表す「セッション」においてデータが伝送される経路である。
【００６３】
セッションは、例示的に、装置制御部３０Ｃで管理される。通信の開始に伴って、装置制御部３０Ｃは、該当する通信ＩＦ３１１及び３１２のソケットをオープンし、オープンしたソケットの対応関係をセッション管理において管理する。当該ソケットの対応関係が、内部データ変換部３１１２に通知されることにより、内部データ生成部３１１４において「ソケット関連付けＩＤ」を「制御情報」に設定することが可能となる。
【００６４】
送信処理部３１２のプロトコル変換部３１２２は、当該「ソケット関連付けＩＤ」を参照することで、プロトコル終端部＃ｊのソケット（別言すると、プロトコル）に対応するソケットを識別できる。したがって、ソケット関連付けＩＤで識別される受信側ソケット及び送信側ソケットが中継装置３内において適切に接続される。別言すると、受信処理部３１１と送信処理部３１２との間に中継処理部３１３を介した論理的な通信路が中継装置３内において適切に確立される。
【００６５】
プロトコル終端部３１１１において、受信データを上述のような図６及び図７に例示する内部データに変換することで、プロトコルの相違を吸収することができる。したがって、例えば、いくつかの主要なプロトコルに対応したプロトコル終端部３１１１を含む通信ＩＦ３１１を中継装置に設ければ、従来のような組み込みサーバを利用した専用システムを不要にできる。また、プロトコル終端部３１１１は、プログラムやアプリケーションによって具現されるから、サポートすべきプロトコルの増減に応じてプロトコル終端部３１１１を追加あるいは削除することで簡単に対応可能である。
【００６６】
なお、内部データは、図１０により後述するように、例えばメモリ３２を用いて実現されるキュー３１３４に格納されて、内部的な処理が施される。別言すると、中継装置３は、様々なプロトコルや様々なアプリケーションのデータで定義される情報を、メモリ３２に意味付けして格納する。
【００６７】
さらに別言すると、中継装置３は、受信した各種プロトコルのデータを、内部処理で統一的に処理可能な情報としてメモリ３２に格納する。これにより、プロトコル選択部３１２１やプロトコル変換部３１２２での処理を、共通データとの対応関係を表すデータ（例えば、テーブル等）で定義することができるようになる。したがって、通信ＩＦ（送信処理部）３１２が接続する宛先やプロトコル毎にプログラムを作成する必要がなく、汎用性が向上する。
【００６８】
また、送信元情報を送信元ＩＤという内部情報に加工（変換）するので、イーサネット（登録商標）等のネットワークアドレスに限らず、ＲＳ２３２ＣやＵＳＢ等のシリアル通信プロトコルで利用される機器ＩＤにも対応することが可能である。
【００６９】
（プロトコル選択部）
一方、図４に例示する送信処理部３１２のプロトコル選択部３１２１は、共通データに含まれる宛先ＩＤに基づいて、中継処理部３１３から受信した内部データをプロトコル変換部３１２２のいずれかへ転送する。例えば図８に示すように、プロトコル選択部３１２１は、内部データの共通データに含まれる宛先ＩＤとプロトコルとの対応関係を表すデータを保有しており、宛先ＩＤに対応するプロトコルを選択して当該プロトコルに対応するプロトコル変換部３１２２へ内部データを転送する。
【００７０】
（プロトコル変換部）
送信処理部３１２のプロトコル変換部３１２２は、それぞれ、例えば図９に示すように、内部データ逆変換部３１２３を備える。
【００７１】
内部データ逆変換部３１２３は、中継処理部３１３から受信された内部データを、受信処理部３１１の内部データ変換部３１１２で変換される前の形式に変換する。そのため、内部データ逆変換部３１２３は、図９に例示するように、共通データ変換部３１２４と、プロトコルデータ生成部３１２５と、を備える。
【００７２】
共通データ変換部３１２４は、逆変換処理部の一例であり、例示的に、内部データに含まれる共通データをプロトコルに応じたデータに変換する。例えば、共通データ変換部３１２４は、共通データの「宛先ＩＤ」及び「送信元ＩＤ」をそれぞれ元の宛先情報及び送信元情報に逆変換する。当該逆変換は、既述のようにメモリ３２に記憶された、「宛先ＩＤ」及び「送信元ＩＤ」と変換前の宛先情報及び送信元情報との対応関係を示すデータ（例えば、テーブル）を参照することで実施される。
【００７３】
プロトコルデータ生成部３１２５は、共通データ変換部３１２４にて変換された元の宛先情報及び送信元情報に加えて、データタイプ、プロトコル種別、データサイズ等をデータ本体に付加することにより、プロトコルに応じたデータを生成する。当該データは、アップストリーム側であればＷＡＮ４へ、ダウンストリーム側であればＬＡＮ２へ送信される。
【００７４】
プロトコル変換部３１２２は、プログラムやアプリケーションによって具現されるから、サポートすべきプロトコルの増減に応じてプロトコル変換部３１２２を追加あるいは削除することで簡単に対応可能である。
【００７５】
（中継処理部）
次に、図１０を参照して、中継処理部３１３の詳細について説明する。図１０に示すように、中継処理部３１３は、例示的に、振り分け処理部３１３１、振り分けルール３１３２、複数のエンキュー（ＥｎＱ）３１３３、キュー３１３４、複数のデキュー（ＤｅＱ）３１３６、キュー制御部３１３７、及び、ルール設定部３１３８を備える。
【００７６】
振り分け処理部３１３１は、通信ＩＦ３１１から受信した内部データを振り分けルール３１３２に従ってエンキュー３１３３のいずれかに振り分ける。振り分けルール３１３２は、例示的に、メモリ３２（図２参照）に記憶される。
【００７７】
振り分けルール３１３２の一例を図１１及び図１２に示す。図１１は、アップストリーム側の振り分けルール３１３２の一例を示し、図１２は、ダウンストリーム側の振り分けルール３１３２の一例を示す。
【００７８】
図１１において、１番目のエントリは、内部データの共通データに含まれる送信元ＩＤ、宛先ＩＤ及びデータタイプが、それぞれ、「機器＃１」、「サーバ＃１」及び「登録」を示す内部データをＡＰＬ＃１に振り分けることを示す。その他のエントリについても同様に内部データの振り分け先が示される。
【００７９】
また、図１２において、１番目のエントリは、内部データの共通データに含まれる送信元ＩＤ、宛先ＩＤ及びデータタイプが、それぞれ、「サーバ＃１」、「機器＃１」及び「通知」を示す内部データをＡＰＬ＃１に振り分けることを示す。その他のエントリについても同様に内部データの振り分け先が示される。なお、図１２に例示する３番目及び４番目のエントリの「データタイプ」おいて、ＲＤＰは、Remote Desktop Protocolの略称であり、ＶＮＣは、Virtual Network Computingの略称である。
【００８０】
振り分け処理部３１３１は、振り分けテーブル３１３２のエントリと内部データに含まれる共通データとを比較し、受信した内部データの振り分け先（例えば、アプリケーション＃ｉ及び外部のいずれか）を決定する。なお、「外部」とは、ＷＡＮ４又はＬＡＮ２を意味する。そして、振り分け処理部３１３１は、決定した振り分け先に対応するエンキュー３１３３へ内部データを送信する。振り分けテーブル３１２２のエントリと合致しない内部データについては、振り分け処理部３１３１において、破棄してよい。
【００８１】
エンキュー３１３３は、内部的な宛先毎に備えられており、振り分け処理部３１３１から受信した内部データをキュー３１３４に格納（エンキュー）する。
【００８２】
キュー３１３４は、内部的な宛先（振り分け先）毎の宛先キュー３１３５を有しており、振り分け先毎に、対応する宛先キュー３１３５にて内部データを保持する。なお、キュー３１３４（宛先キュー３１３５）は、例示的に、メモリ３２（図２参照）によって具現される。
【００８３】
デキュー３１３６は、例示的に、内部データの振り分け先（宛先キュー３１３５）毎に備えられており、対応する宛先キュー３１３５に保持された内部データを取り出す（デキューする）。アプリケーション＃ｉに対応する宛先キュー３１３５からデキュー３１３６がデキューした内部データは、アプリケーション処理部３１４の対応するアプリケーション＃ｉへ転送される。一方、外部宛に対応する宛先キュー３１３５からデキュー３１３６がデキューした内部データは、送信処理部３１２のプロトコル選択部３１２１へ転送される。
【００８４】
アプリケーション＃ｉで処理された内部データは、振り分け処理部３１３１へ転送される。ここで、アプリケーション＃ｉは、必要に応じて内部データ（共通データ）の宛先ＩＤを更新する。
【００８５】
例えば、アプリケーション＃ｉは、処理した内部データを別のアプリケーション＃ｉに転送する場合は、当該アプリケーション＃ｉ宛に宛先ＩＤを更新する。これにより、複数のアプリケーション＃ｉで処理されるべき内部データは、振り分け処理部３１３１からキュー３１３４を経由してアプリケーション処理部３１４へ複数回経由して処理されることになる。
【００８６】
一方、アプリケーション＃ｉによる処理が最終的に完了した内部データについては、共通データの宛先ＩＤが「外部」に更新され、送信処理部３１２のプロトコル選択部３１２１へ転送される。これにより、内部データが、中継処理部３１３内において無限ループしてしまうことを回避できる。なお、キュー３１３４からデキューされた内部データは、アプリケーション＃ｉ間の通信によって相互に送受されて処理されても構わない。
【００８７】
このように、中継処理部３１３は、アプリケーション＃ｉ毎の宛先キュー３１３５を備えることで、宛先キュー３１３５単位で内部データを処理するアプリケーション＃ｉを指定することができる。別言すると、アプリケーション＃ｉの増減に応じて宛先キュー３１３５を増減すれば、内部データを処理するアプリケーション＃ｉの増減に柔軟に対応することができる。
【００８８】
キュー制御部３１３７は、エンキュー３１３３によるエンキュー及びデキュー３１３６によるデキューを制御する。例えば、キュー制御部３１３７は、共通データに含まれる制御情報（図６及び図７参照）の「シーケンス定義ＩＤ」及び「次シーケンス番号」を参照して、内部データの受信順序（ひいては送信順序）を保証するようにエンキュー３１３３を制御する。なお、当該受信順序の保証は、デキュー３１３５を制御することで実現してもよい。
【００８９】
ルール設定部３１３８は、既述の振り分けルール３１３２を設定する。例えば、ルール設定部３１３８は、装置制御部３０Ｃ（図３参照）から与えられるコンフィギュレーションファイルによって振り分けルール３１３２を設定してもよいし、装置制御部３０Ｃを介した外部機器（例えば、サーバ４１等）と通信することにより、振り分けルール３１３２を取得、設定してもよい。
【００９０】
以下、本実施形態の通信システム１の中継装置３に着目した動作について、図１３のフローチャートを参照して説明する。
【００９１】
アップストリーム方向に着目すると、中継装置３は、ＬＡＮ２に属するいずれかのセンサ２１からデータを受信処理部３１１にて受信する（処理Ｐ１１）。受信データは、受信処理部３１１において、ソケットに対応するプロトコル終端部３１１１に入力される。
【００９２】
プロトコル終端部３１１１では、内部データ変換部３１１２（パース処理部３１１３及び内部データ生成部３１１４）により、受信したデータを図６及び図７に例示したような内部データに変換する（処理Ｐ１２）。
【００９３】
内部データは、中継処理部３１３の振り分け処理部３１３１に転送される。振り分け処理部３１３１は、受信した内部データに含まれる共通データを基に振り分けルール３１３２（図１０参照）を参照し（処理Ｐ１３）、送信元ＩＤ、宛先ＩＤ等が合致するエントリが存在するか否かをチェックする（処理Ｐ１４）。
【００９４】
チェックの結果、振り分けルール３１３２に該当エントリが存在すれば（処理Ｐ１４でＹｅｓの場合）、振り分け処理部３１３１は、当該エントリに設定されている振り分け先に対応するエンキュー３１３３へ内部データを送信する。エンキュー３１３３は、振り分け処理部３１３１から受信した内部データを対応する振り分け先の宛先キュー３１３５に格納（エンキュー）する（処理Ｐ１５）。その際、既述のように、共通データに含まれる制御情報（図６及び図７参照）の「シーケンス定義ＩＤ」及び「次シーケンス番号」を基に、内部データの受信順序（ひいては送信順序）が保証される。
【００９５】
アプリケーション＃ｉに対応する宛先キュー３１３５にエンキューされた内部データは、対応するデキュー３１３６によってデキューされ、アプリケーション処理部３１４の対応するアプリケーション＃ｉへ転送される（処理Ｐ１６ａ及びＰ１７）。アプリケーション＃ｉは、既述のように、処理した内部データの共通データに含まれる宛先ＩＤを必要に応じて更新し、振り分け処理部３１３１へ転送する。
【００９６】
これに対し、外部宛に対応する宛先キュー３１３５にエンキューされた内部データは、対応するデキュー３１３６によってデキューされ（処理Ｐ１６ｂ）、送信処理部３１２のプロトコル選択部３１２１へ転送される。プロトコル選択部３１２１は、共通データのプロトコル種別を参照することにより、受信した内部データを対応するプロトコル変換部３１２２へ転送する。
【００９７】
プロトコル変換部３１２２は、内部データ逆変換部３１２３によって、中継処理部３１３から受信された内部データを、受信処理部３１１の内部データ変換部３１１２で変換される前の形式に変換する（処理Ｐ１８）。
【００９８】
例えば、内部データ逆変換部３１２３は、共通データ変換部３１２４によって、共通データの「宛先ＩＤ」及び「送信元ＩＤ」をそれぞれ元の宛先情報及び送信元情報に逆変換する。そして、内部データ逆変換部３１２３は、プロトコルデータ生成部３１２５によって、元の宛先情報及び送信元情報に加えて、データタイプ、プロトコル種別、データサイズ等をデータ本体に付加した、プロトコルに応じたデータを生成する。
【００９９】
当該データは、宛先情報が示す宛先（例えば、ＷＡＮ４のサーバ４１）へ送信される（処理Ｐ１９）。なお、上述した処理Ｐ１４において、振り分けルール３１３２に該当エントリが存在しなければ（処理Ｐ１４でＮｏの場合）、振り分け処理部３１３１は、内部データを破棄する（処理Ｐ２０）。これにより、振り分けルール３１３２に定義されない内部データが誤って転送されることを防止することができるので、セキュリティを確保し易い。
【０１００】
なお、ダウンストリームのデータの中継処理も、ダウンストリームの振り分けルール３１３２（図１２参照）に従って、上述したアップストリーム方向と同様にして実施される。ダウンストリームとアップストリームとで振り分けルール３１３２が分離されているので、ダウンストリームとアップストリームのそれぞれのセキュリティも確保し易い。
【０１０１】
以上の処理により、ＬＡＮ２におけるセンサ２１とＷＡＮ４におけるサーバ４１との間の通信プロトコルの相違を中継装置３で吸収して、各種プロトコルのデータを適切に転送することが可能である。例えば、様々なプロトコルをもつ各種センサ２１の情報をクラウドサーバ４１に容易に収集、蓄積することが可能となる。また、サーバ４１は、各種センサ２１の多様なプロトコルを意識せずに、センサ２１にアクセスすることが可能である。したがって、クラウドセンタ等へのＭ２Ｍの導入コストを低減し、導入の敷居を下げることができる。
【符号の説明】
【０１０２】
１  通信システム
２  第１のネットワーク（ＮＷ）
２１  ネットワークエレメント
３  中継装置
３０Ａ，３０Ｂ  通信処理部
３０Ｃ  装置制御部
３１  プロセッサ
３２  メモリ
３３  バス
３４  外部記憶装置
３５  ネットワーク（ＮＷ）接続装置
３６  入力装置
３７  出力装置
３８  媒体駆動装置
３１１，３１２  通信インタフェース（ＩＦ）
３１３  中継処理部
３１４  アプリケーション処理部
３１１１  プロトコル終端部
３１１２  内部データ変換部
３１１３  パース処理部
３１１４  内部データ生成部
３１２２  プロトコル変換部
３１２３  内部データ逆変換部
３１２４  共通データ変換部
３１２５  プロトコルデータ生成部
３１３１  振り分け処理部
３１３２  振り分けルール
３１３３  エンキュー（ＥｎＱ）
３１３４  キュー
３１３５  宛先キュー
３１３６  デキュー（ＤｅＱ）
３１３７  キュー制御部
３１３８  ルール設定部
４  第２のネットワーク（ＮＷ）
４１  サーバ
【図１】
2015115832.tif 000003
【図２】
2015115832.tif 000004
【図３】
2015115832.tif 000005
【図４】
2015115832.tif 000006
【図５】
2015115832.tif 000007
【図６】
2015115832.tif 000008
【図７】
2015115832.tif 000009
【図８】
2015115832.tif 000010
【図９】
2015115832.tif 000011
【図１０】
2015115832.tif 000012
【図１１】
2015115832.tif 000013
【図１２】
2015115832.tif 000014
【図１３】
2015115832.tif 000015