JP5686186B2 - ゲートウェイ装置、ゲートウェイ装置の通信方法、ノード装置、ノード装置の通信方法、及び通信システム - Google Patents

ゲートウェイ装置、ゲートウェイ装置の通信方法、ノード装置、ノード装置の通信方法、及び通信システム Download PDF

Info

Publication number
JP5686186B2
JP5686186B2 JP2013514939A JP2013514939A JP5686186B2 JP 5686186 B2 JP5686186 B2 JP 5686186B2 JP 2013514939 A JP2013514939 A JP 2013514939A JP 2013514939 A JP2013514939 A JP 2013514939A JP 5686186 B2 JP5686186 B2 JP 5686186B2
Authority
JP
Japan
Prior art keywords
destination
data
unit
distribution
transmission
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2013514939A
Other languages
English (en)
Other versions
JPWO2012157112A1 (ja
Inventor
岳夫 本田
岳夫 本田
松永 克幸
克幸 松永
克己 櫻井
克己 櫻井
清一 川島
清一 川島
悟志 笠井
悟志 笠井
和也 川島
和也 川島
山本 哲
哲 山本
忠重 岩尾
忠重 岩尾
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Publication of JPWO2012157112A1 publication Critical patent/JPWO2012157112A1/ja
Application granted granted Critical
Publication of JP5686186B2 publication Critical patent/JP5686186B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/18Multiprotocol handlers, e.g. single devices capable of handling multiple protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/66Arrangements for connecting between networks having differing types of switching systems, e.g. gateways
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/64Hybrid switching systems
    • H04L12/6418Hybrid transport

Description

本発明は、通信プロトコル及びプロトコルスタックの異なるノード装置で構成されるネットワークで通信を行う技術に関する。
従来、通信プロトコルの異なるネットワーク間で通信が行われている。
例えば、センサデータの収集等を行うセンサネットワークと、収集されたセンサデータの集約等を行うデータセンタのサーバ装置とを含むシステムでは、センサネットワークと、データセンタのサーバ装置を含む大規模なネットワークとの間で通信が行われている。ここで、センサネットワークとは複数のセンサや異なるセンサ同士をセンサ付ノード装置に搭載し、当該ノード装置が自律的分散的に連携することで通信を可能にするネットワークである。センサネットワークのノード装置はハードウェアの制約が多く、例えば小型かつ電池で長時間駆動することが求められる。例えば、通信プロトコルとして、ZigBee(登録商標)が通信プロトコルとして用いられている。一方、大規模なネットワークでは、通信プロトコルスタックとしてインターネットプロトコルスイート(TCP(Transmission Control Protocol)/IP(Internet Protocol)プロトコルスイート(Protocol Suite))が標準的である。
ZigBeeとインターネットプロトコルスイートは通信プロトコルが異なるため、相互に通信することが出来ない。従って、複数の異なる通信プロトコル間で通信するためには、宛先ノード装置毎に使用されている通信プロトコルを事前に把握し、アプリケーション(アプリケーションソフトウェア)で宛先ノード装置に対応した通信プロトコル変換を行う必要がある。図37に通信プロトコル変換をアプリケーションで実現する場合の従来技術の構成例を示す。
例えば、ZigBeeとインターネットプロトコルスイートを変換する場合には、まず、ZigBeeからインターネットプロトコルスイート(またはその逆)へプロトコル変換するアプリケーションを作成する。次に、ZigBeeネットワークに注目する。また、インターネットプロトコルスイートのネットワークについても同様に注目する。そして、両ネットワークの境界に先述の通信プロトコル変換アプリケーションを実装したノード装置(例えばゲートウェイ)を設置する。当該ゲートウェイで実行されているアプリケーションが一方のネットワークから受信した通信プロトコルを識別し、宛先ノード装置が異なる通信プロトコルの場合は他方のプロトコルへ変換し、異種ネットワーク間の通信を行う。すなわち、異なるプロトコルスタックで通信を行う場合には、通信プロトコル変換アプリケーションを実装したノード装置を設置し、当該ノード装置を経由するようにネットワークに参加している全てのノード装置に、ルーティングテーブルを修正する等の設定作業が必要である。
なお、通信プロトコルの仮想化技術に関し、次のような技術が知られている。
例えば、OSI(Open Systems Interconnection)参照モデルの6層と7層の間に、ソフトウェアまたはハードウェアの抽象化層を追加して、ネットワークを仮想化する技術が知られている。また、異種ネットワーク間において自動トンネリングを達成する技術も知られている。さらに、端末が通信プロトコルの異なるネットワークに移動しても通信を可能とする技術も知られている。
特開2003−208365号公報 特表2004−515165号公報 特表2007−515822号公報
上述のように通信プロトコルの異なるネットワーク間で通信を行う場合、従来では、通信プロトコルを考慮して通信を行う必要があった。すなわち、宛先ノード装置と送信元のノード装置が異なる通信プロトコルを使用している場合、まずそれぞれのノード装置が異なる通信プロトコルのネットワークに属していることを事前に把握し、通信プロトコルの変換アプリケーションが実行されている通信プロトコル変換機能を持つノード装置を設置しなくてはならない。さらには送信元ノード装置から宛先ノード装置までの通信経路に、当該ノード装置を経由するようルーティングテーブルの編集をするなどの経路制御が必要となる。
先行技術では、インターネットプロトコルスイートを実装したノード装置を前提として、OSI参照モデルのネットワーク層以上プレゼンテーション層以下の同一の層でプロトコル抽象化を行っている。しかし、例えばZigBeeはインターネットプロトコルを前提としない。従って、センサネットワークでは、先行技術の適用が出来ない。しかしながら、センサネットワークでは、ZigBee以外にもハードウェアの特性毎に異なる通信プロトコルを混在させたい場合がある。このような場合、宛先ノード装置と送信元のノード装置の間に、どのような通信プロトコルがあるのか事前に把握し、さらには異なるネットワークの境界に複数の通信プロトコル変換機能を持つノード装置を配置し、経由するような経路制御手段を各ノード装置に設定する必要があり、複雑なネットワーク設定が必要となる問題があった。
本発明は、上記実情に鑑み、通信プロトコルスタックの異なるネットワーク間で、複雑な設定無く通信を行うことができる装置、方法、及びシステムを提供することを目的とする。
装置の一観点によれば、サーバ装置とノード装置とゲートウェイ装置とを有する通信システムにおいて、複数のプロトコルスタックが実装され、サーバ装置とノード装置との間の通信を仲介するゲートウェイ装置であって、次のようなゲートウェイ装置が提供される。このゲートウェイ装置は、振り分け先記憶部と、振り分け部と、送信先記憶部と、入出力部と、プロトコル変換部とを含む。ここで、振り分け先記憶部は、宛先に応じた処理を行う振り分け先の情報を、宛先毎に記憶する。振り分け部は、入力された宛先及び送信データを、振り分け先記憶部に記憶されている情報の中から検索された、宛先に応じた振り分け先へ出力する。送信先記憶部は、宛先毎の送信先の情報を記憶する。入出力部は、実装されているプロトコルスタック毎に設けられ、対応するプロトコルスタックに応じた送信処理及び受信処理を行う。プロトコル変換部は、実装されているプロトコルスタック毎に設けられ、振り分け部から宛先及び送信データが入力されると、宛先を他のプロトコル変換部が参照するヘッダとして送信データと結合してデータを生成することにより、対応するプロトコルスタックの形式に合うデータに組み立てる。そして、当該組み立てたデータを、送信先記憶部に記憶されている情報の中から検索された宛先に応じた送信先へ送信するよう、対応するプロトコルスタックの入出力部に指示する。
方法の一観点によれば、サーバ装置とノード装置とゲートウェイ装置とを有する通信システムにおいて、複数のプロトコルスタックが実装され、サーバ装置とノード装置との通信を仲介するゲートウェイ装置の通信方法であって、次のような通信方法が提供される。この通信方法では、宛先及び送信データを、その宛先に応じた振り分け先へ出力する。その宛先が所定の振り分け先である場合に、その宛先を他のプロトコル変換部が参照するヘッダとして送信データと結合してデータを生成することにより、対応するプロトコルスタックの形式に合うデータに組み立てる。組み立てられたデータを、対応するプロトコルスタックに応じた送信処理を行った上で、その宛先に応じた送信先へ送信する。
装置の他の一観点によれば、プロトコルスタックが実装されたノード装置であって、次のようなノード装置が提供される。このノード装置は、振り分け先記憶部と、振り分け部と、送信先記憶部と、入出力部と、プロトコル変換部とを含む。振り分け先記憶部は、宛先毎の振り分け先の情報を記憶する。振り分け部は、入力された宛先及び送信データを、振り分け先記憶部に記憶されている情報の中から検索された宛先に応じた振り分け先へ出力する。送信先記憶部は、宛先毎の送信先の情報を記憶する。入出力部は、実装されているプロトコルスタックに対応して設けられ、対応するプロトコルスタックに応じた送信処理及び受信処理を行う。プロトコル変換部は、実装されているプロトコルスタックに対応して設けられ、振り分け部から宛先及び送信データが入力されると、宛先を他のプロトコル変換部が参照するヘッダとして送信データと結合してデータを生成することにより、対応するプロトコルスタックの形式に合うデータに組み立て、当該組み立てたデータを、送信先記憶部に記憶されている情報の中から検索された宛先に応じた送信先へ送信するよう、対応するプロトコルスタックの入出力部に指示する。
方法の他の一観点によれば、プロトコルスタックが実装されたノード装置の通信方法であって、次のような通信方法が提供される。この通信方法では、宛先及び送信データを、宛先に応じた振り分け先へ出力する。宛先が所定の振り分け先である場合に、宛先を他のプロトコル変換部が参照するヘッダとして送信データと結合してデータを生成することにより、対応するプロトコルスタックの形式に合うデータに組み立てる。組み立てられたデータを、対応するプロトコルスタックに応じた送信処理を行った上で、その宛先に応じた送信先へ送信する。
システムの一観点によれば、サーバ装置を含む第1のネットワークとノード装置を含む第2のネットワークとがゲートウェイ装置を介して接続される通信システムが提供される。サーバ装置は、第1のネットワークの通信プロトコルの第1のプロトコルスタックが実装される。また、サーバ装置は、第1の振り分け先記憶部と、第1の振り分け部と、第1の送信先記憶部と、第1の入出力部と、第1のプロトコル変換部とを含む。ここで、第1の振り分け先記憶部は、宛先毎の振り分け先の情報を記憶する。第1の振り分け部は、入力された宛先及び送信データを、第1の振り分け先記憶部に記憶されている情報の中から検索されたその宛先に応じた振り分け先へ出力する。第1の送信先記憶部は、宛先毎の送信先の情報を記憶する。第1の入出力部は、第1のプロトコルスタックに応じた送信処理及び受信処理を行う。第1のプロトコル変換部は、第1の振り分け部から宛先及び送信データが入力されると、その宛先を他のプロトコル変換部が参照するヘッダとして送信データと結合してデータを生成することにより、第1のプロトコルスタックの形式に合うデータに組み立てる。また、その組み立てたデータを、第1の送信先記憶部に記憶されている情報の中から検索されたその宛先に応じた送信先へ送信するよう、第1の入出力部に指示する。また、第1のプロトコル変換部は、第1の入出力部から、第1のプロトコルスタックに応じた受信処理により得られたデータが入力されると、当該データから宛先及び送信データを抽出し、第1の振り分け部へ出力する。ノード装置は、第2のネットワークの通信プロトコルの第2のプロトコルスタックが実装される。また、ノード装置は、第2の振り分け先記憶部と、第2の振り分け部と、第2の送信先記憶部と、第2の入出力部と、第2のプロトコル変換部とを含む。ここで、第2の振り分け先記憶部は、宛先毎の振り分け先の情報を記憶する。第2の振り分け部は、入力された宛先及び送信データを、第2の振り分け先記憶部に記憶されている情報の中から検索されたその宛先に応じた振り分け先へ出力する。第2の送信先記憶部は、宛先毎の送信先の情報を記憶する。第2の入出力部は、第2のプロトコルスタックに応じた送信処理及び受信処理を行う。第2のプロトコル変換部は、第2の振り分け部から宛先及び送信データが入力されると、その宛先を他のプロトコル変換部が参照するヘッダとして送信データと結合してデータを生成することにより、第2のプロトコルスタックの形式に合うデータに組み立てる。また、その組み立てたデータを、第2の送信先記憶部に記憶されている情報の中から検索されたその宛先に応じた送信先へ送信するよう、第2の入出力部に指示する。また、第2のプロトコル変換部は、第2の入出力部から、第2のプロトコルスタックに応じた受信処理により得られたデータが入力されると、当該データから宛先及び送信データを抽出し、第2の振り分け部へ出力する。ゲートウェイ装置は、第1のプロトコルスタック及び第2のプロトコルスタックが実装される。ゲートウェイ装置は、第3の振り分け先記憶部と、第3の振り分け部と、第3の送信先記憶部と、第3の入出力部と、第4の入出力部と、第3のプロトコル変換部と、第4のプロトコル変換部とを含む。ここで、第3の振り分け先記憶部は、宛先毎の振り分け先の情報を記憶する。第3の振り分け部は、入力された宛先及び送信データを、第3の振り分け先記憶部に記憶されている情報の中から検索されたその宛先に応じた振り分け先へ出力する。第3の送信先記憶部は、宛先毎の送信先の情報を記憶する。第3の入出力部は、第1のプロトコルスタックに応じた送信処理及び受信処理を行う。第4の入出力部は、第2のプロトコルスタックに応じた送信処理及び受信処理を行う。第3のプロトコル変換部は、第3の振り分け部から宛先及び送信データが入力されると、その宛先を他のプロトコル変換部が参照するヘッダとして送信データと結合してデータを生成することにより、第1のプロトコルスタックの形式に合うデータに組み立てる。また、その組み立てたデータを、第3の送信先記憶部に記憶されている情報の中から検索されたその宛先に応じた送信先へ送信するよう、第3の入出力部に指示する。また、第3のプロトコル変換部は、第3の入出力部から、第1のプロトコルスタックに応じた受信処理により得られたデータが入力されると、当該データから宛先及び送信データを抽出し、第3の振り分け部へ出力する。第4のプロトコル変換部は、第3の振り分け部から宛先及び送信データが入力されると、その宛先を他のプロトコル変換部が参照するヘッダとして送信データと結合してデータを生成することにより、第2のプロトコルスタックの形式に合うデータに組み立てる。また、その組み立てたデータを、第3の送信先記憶部に記憶されている情報の中から検索されたその宛先に応じた送信先へ送信するよう、第4の入出力部に指示する。また、第4のプロトコル変換部は、第4の入出力部から、第2のプロトコルスタックに応じた受信処理により得られたデータが入力されると、当該データから宛先及び送信データを抽出し、第3の振り分け部へ出力する。
開示の装置、方法、及びシステムは、通信プロトコルを考慮することなく特別な設定無しに通信プロトコルの異なるネットワーク間で通信を行うことができる、という効果を奏する。
通信プロトコルの異なる2つのネットワーク間で通信を行うセンサデータ処理システムの一例を示す図である。 通信プロトコルの異なる4つのネットワーク間で通信を行う大規模センサデータ処理システムの一例を示す図である。 一実施の形態に係るシステムの一例を示す図である。 各サーバ装置、ゲートウェイ装置、各ノード装置の接続関係の一例を示す図である。 各サーバ装置の構成例を示す図である。 ゲートウェイ装置の構成例を示す図である。 各ノード装置の構成例を示す図である。 各処理振り分け部の動作例を示すフローチャートである。 各プロトコル変換処理部の動作例を示すフローチャートである。 S203及びS204の処理例を示す図である。 各送信先検索部の動作例を示すフローチャートである。 サーバ装置の処理振り分けDB及び送信先変換DBに記憶されている情報の一例である。 ゲートウェイ装置の処理振り分けDB及び送信先変換DBに記憶されている情報の一例である。 ノード装置の処理振り分けDB及び送信先変換DBに記憶されている情報の一例である。 新規にノード装置が追加される場合のシステム全体の処理シーケンスの一例を示す図である。 新規に追加されたノード装置の処理シーケンスの一例を示す図である。 ゲートウェイ装置の処理シーケンスの一例を示す図である。 管理サーバ装置の処理シーケンスの一例を示す図である。 管理サーバ装置から送信されたデータの送信先である装置の処理シーケンスの一例を示す図である。 一実施の形態に係るシステムの他の構成例を示す第1の図である。 一実施の形態に係るシステムの他の構成例を示す第2の図である。 一実施の形態に係るシステムの他の構成例を示す第3の図である。 3種類以上の通信プロトコルをサポートする場合のゲートウェイ装置の構成例を示す図である。 物理層は同一であるがプロトコルスタックが異なる2種類の通信プロトコルをサポートする場合のゲートウェイ装置の構成例を示す図である。 サポートする通信プロトコルは1種類であるが通信部を複数備える場合のゲートウェイ装置の構成例を示す図である。 図23及び図24に示した構成例を組み合わせた場合のゲートウェイ装置の構成例を示す図である。 一部の構成をチップ化した場合のノード装置の構成例を示す図である。 一部の構成を通信モジュールとした場合のノード装置の構成例を示す図である。 一実施の形態に係るシステムをデータセンタの環境管理に適用した例を示す図である。 監視サーバへ2台の基幹中継ノードが役割分担してセンシングデータを送信する例を示す図である。 図30の制御シーケンスを示す図である。 変形例に係るシステムに含まれる、各サーバ装置、ゲートウェイ装置、各ノード装置の構成例を示す図である。 各IPプロトコル処理部の動作例を示す第1のフローチャートである。 各IPプロトコル処理部の動作例を示す第2のフローチャートである。 変形例に係るシステムに含まれる、各サーバ装置、ゲートウェイ装置、各ノード装置の他の構成例を示す図である。 コンピュータシステムの構成例を示す図である。 通信プロトコル変換をアプリケーションで実現する従来技術の構成例を示す図である。
図1は、通信プロトコルの異なる2つのネットワーク間で通信を行うセンサデータ処理システムの一例を示す図である。
図1に示したシステムでは、通信プロトコルの異なる2つのネットワーク101(101_1、101_2)が、ゲートウェイ装置(GW)102を介して接続されている。ネットワーク101_1は、データセンタのサーバ装置103を含む大規模なネットワークであり、通信プロトコルとしてインターネットプロトコルスウィートが用いられている。ネットワーク101_2は、数十台から百台程度のセンサノード装置(ZigBee装置)104からなる小規模なセンサネットワークであり、通信プロトコルとしてZigBeeが用いられている。
なお、センサネットワークでは、センサの設置環境により有線で接続することができず無線を利用しなければならない場合がある。また、電池駆動で且つ十数年間駆動することが望まれる場合もある。このような場合に、通信プロトコルとして無線LANによるTCP/IPを用いることは、電池寿命が短くなるという理由から、採用することができない。そこで、このような場合には、少ない消費電力で無線通信を可能にする例えばZigBeeといった独自の通信プロトコルが用いられている。
図1に示したシステムでは、例えば、各センサノード装置104によって収集されたセンサデータが、データセンタのサーバ装置103により集約される等の処理が行われる。
図2は、通信プロトコルの異なる4つのネットワーク間で通信を行う大規模センサデータ処理システムの一例を示す図である。
図2に示したシステムは、センサネットワークが大規模化且つ多種多様化してきたことを背景に、数千台規模のセンサノード装置からなるセンサネットワークを複数接続し、データセンタの複数のサーバ装置によりセンサデータを処理するようにしたシステムである。
図2に示したシステムでは、通信プロトコルの異なる4つのネットワーク111(111_1、111_2、111_3、111_4)が、3つのゲートウェイ装置112(112_1、112_2、112_3)を介して接続されている。すなわち、ネットワーク111_1と111_2がゲートウェイ装置112_1を介して接続されている。また、ネットワーク111_1と111_3がゲートウェイ装置112_2を介して接続されている。また、ネットワーク111_1と111_4がゲートウェイ装置112_3を介して接続されている。ネットワーク111_1は、データセンタの複数のサーバ装置113を含む大規模なネットワークであり、通信プロトコルとしてインターネットプロトコルスウィートが用いられている。ネットワーク111_2は、複数のセンサノード装置(ZigBee装置)114からなるセンサネットワークであり、通信プロトコルとしてZigBeeが用いられている。ネットワーク111_3は、複数のセンサノード装置115からなるセンサネットワークであり、ネットワーク111_1、111_2とは異なる通信プロトコルが用いられている。ネットワーク111_4は、複数のセンサノード装置116からなるセンサネットワークであり、ネットワーク111_1、111_2、111_3とは異なる通信プロトコルが用いられている。
図2に示したシステムでは、例えば、センサネットワーク111_2、111_3、111_4で収集されたセンサデータが、データセンタの複数のサーバ装置113により分担されて処理される。
図1及び図2に示したシステムのように、通信プロトコルの異なるネットワーク間で通信を行うシステムにおいて、従来技術を適用する場合には、通信プロトコルを考慮して通信を行う必要があった。例えば、従来技術においては、図1のゲートウェイ装置102や図2のゲートウェイ装置112_1がZigBeeとインターネットプロコルの変換を行う必要があった。これらのゲートウェイ装置は、あらかじめZigBeeとインターネットプロトコルを既知として備え、さらに両通信プトロコルを変換するアプリケーションを備える。従来技術においては、ZigBeeとインターネットプトロコルは互換性が無いため、両プトロコルを変換する変換アプリケーションが必要となる。
しかしながら、このようなシステムにおいて望ましいことは、通信プロトコルを考慮することなく通信を行うことができることである。また、通信プロトコルの異なるネットワーク間の組み合わせが異なる場合であっても、通信プロトコルを考慮することなく同様にして通信を行うことができることである。
そこで、一実施の形態に係るシステムでは、以下に詳細に説明するように、複数のネットワークで用いられる複数の異なる通信プロトコルを抽象化して仮想ネットワークを実現することにより、実際の通信プロトコルを考慮することなく通信を行うことができるようにしている。
図3は、本実施形態に係るシステムの一例を示す図である。
図3に示したシステムは、2つのサーバ装置121(121_1、121_2)を含むネットワーク122_1と3つのノード装置123(123_1、123_2、123_3)を含むネットワーク122_2とがゲートウェイ装置124を介して接続されている。ネットワーク122_1は、第1のプロトコルスタックの通信プロトコルが用いられている。本例では、第1のプロトコルスタックをインターネットプロトコルスタックとする。従って、ネットワーク122_1は、通信プロトコルとしてインターネットプロトコルスイートが用いられている。ネットワーク122_2は、第1のプロトコルスタックとは異なる第2のプロトコルスタックの通信プロトコルが用いられている。ゲートウェイ装置124は、ネットワーク122_1の通信プロトコルにより2つのサーバ装置121と通信が可能であり、また、ネットワーク122_2の通信プロトコルにより3つのノード装置123と通信が可能である。
図3に示したシステムにおいて、例えば、サーバ装置121_1のアプリケーション125が、ノード装置123_1のアプリケーション126との間でメッセージの送受を行う場合、従来では、通信プロトコルの種類を考慮する必要があった。
これに対し、本実施形態では、詳しくは後述するように、2つのネットワーク122の通信プロトコルを抽象化することにより、仮想ネットワーク127を実現することができる。この場合には、その仮想ネットワーク127に、2つのサーバ装置121と3つのノード装置123とが接続された環境となる。従って、サーバ装置121_1のアプリケーション125は、実際の通信プロトコルを区別することなく、ノード装置123_1のアプリケーション126との間でメッセージの送受を行うことができる。すなわち、本実施形態に係るシステムにおいて、各装置は、実際の通信プロトコルを考慮することなく他の各装置と通信を行うことができる。
本実施形態に係るシステムでは、このような仮想ネットワークを実現するため、各サーバ装置121、ゲートウェイ装置124、各ノード装置123の各装置に、プロトコルを変換する機能(以下「ネットワークミドルウェア」という)を導入する。
図4は、本実施形態に係るシステムにおいて、各サーバ装置121、ゲートウェイ装置124、各ノード装置123の接続関係の一例を示す図である。
図4に示した例では、二つの異なるプロトコルスタックのうち、第2のプロトコルスタックを、無線アドホック通信プロトコルのプロトコルスタックとしている。無線アドホック通信プロトコルは、アドホックネットワークを形成するためのアドホック・ルーティングプロトコルの機能を持ち、主に通信端末間の接続状況管理とデータの送受信、ルーティング(データの通信経路を管理すること)を行う。OSI参照モデルにおける第2層のデータリンク層と第3層のネットワーク層の一部に該当する。この場合、第2のプロトコルスタックにおいて、データリンク層とネットワーク層との間に、アドホック処理を行う層(アドホック層)として記載している。。無線アドホック通信プロトコルでは、アドホック層で経路制御可能な通信プロトコルであり、アドホック層以上のネットワーク層の階層は規定しなくても良い。なお、第2のプロトコルスタックにおいて、ネットワーク層は、プロトコルスタックの層構造を統一するために記載している。
図4に示したように、各サーバ装置121は、第1のプロトコルスタックが実装され、各ノード装置123は、第2のプロトコルスタックが実装され、ゲートウェイ装置124は、その両方のプロトコルスタックが実装されている。そして、ネットワークミドルウェアは、各装置に実装されているプロトコルスタック中に配置される。すなわち、各サーバ装置121においては、第1のプロトコルスタック中のトランスポート層とアプリケーション層との間にネットワークミドルウェアが配置される。ゲートウェイ装置124においては、第1のプロトコルスタック中のトランスポート層とアプリケーション層との間、及び、第2のプロトコルスタック中のネットワーク層とトランスポート層との間にネットワークミドルウェアが配置される。各ノード装置123においては、第2のプロトコルスタック中のネットワーク層とトランスポート層との間にネットワークミドルウェアが配置される。なお、各サーバ装置121、ゲートウェイ装置124、各ノード装置123において、ネットワークミドルウェアが抽象化する範囲は図4の点線で囲まれた部分となる。
図4において、(1)乃至(8)は、例えば、サーバ装置121_1のアプリケーション125がノード装置123_1のアプリケーション126にメッセージを送信するときの処理の流れを示している。これについては後述する。
図5は、各サーバ装置121の構成例を示す図である。
図5に示すように、各サーバ装置121は、演算処理部131、処理振り分け部132、処理振り分けDB(DataBase)133、送信先検索部135、送信先変換DB(DataBase)136を含む。また、各サーバ装置121は、第1のプロトコルスタック用の、プロトコル変換処理部134、I/O(Input/Output)部137、通信部138を含む。ここで、ネットワークミドルウェアは、処理振り分け部132、プロトコル変換処理部134、及び送信先検索部135等に対応する。
演算処理部131は、例えばアプリケーション125等の各種のアプリケーションのプログラムを実行する。
処理振り分け部132は、演算処理部131で実行されているアプリケーション又はプロトコル変換処理部134から、宛先及び送信データを受け取ると、処理振り分けDB133を参照し、その宛先及び送信データを、その宛先に応じた処理を行う振り分け先に振り分ける。振り分け先としては種々のコンポーネントが考えられ、例えば演算処理部でじ実行されているアプリケーションソフトウェアやプロトコル変換処理部等がある。
処理振り分けDB133は、宛先毎に振り分け先を指定する情報(宛先毎の振り分け先の情報)を記憶する。
プロトコル変換処理部134は、処理振り分け部132から宛先及び送信データを受け取ると、その宛先に応じた送信先を、送信先検索部135に問い合わせる。また、プロトコル変換処理部134は、処理振り分け部132から受け取った宛先及び送信データを第1のプロトコルスタックの形式に合うようなデータに組み立て、それを、その宛先に応じた送信先へ送信するようI/O部137に指示する。一方、プロトコル変換処理部134は、I/O部137からデータを受け取ると、そのデータから宛先及び送信データ(宛先のアプリケーションに渡すデータ)を取り出し、処理振り分け部132に渡す。
送信先検索部135は、プロトコル変換処理部134から、宛先に応じた送信先の問い合わせを受けると、送信先変換DB136を参照し、その宛先に応じた送信先を検索し、その検索結果を応答する。
送信先変換DB136は、宛先毎に送信先を指定する情報(宛先毎の送信先の情報)を記憶する。
I/O部137は、例えばTCP/IP用のドライバであり、プロトコル変換処理部134からの指示を受けると、その指示に従って、第1のプロトコルスタックに応じた送信処理を行い、通信部138から、送信先へデータを送信する。なお、通信部138は、例えばEthernet(登録商標)ボードである。また、I/O部137は、通信部138がデータを受信すると、そのデータに対して第1のプロトコルスタックに応じた受信処理を行い、得られたデータをプロトコル変換処理部134へ渡す。
図6は、ゲートウェイ装置124の構成例を示す図である。
図6に示したように、ゲートウェイ装置124は、演算処理部141、処理振り分け部142、処理振り分けDB(DataBase)143、送信先検索部144、送信先変換DB(DataBase)145を含む。また、ゲートウェイ装置124は、第1のプロトコルスタック用の、第1のプロトコル変換処理部146、第1のI/O(Input/Output)部147、第1の通信部148を含む。また、ゲートウェイ装置124は、第2のプロトコルスタック用の、第2のプロトコル変換処理部149、第2のI/O(Input/Output)部150、第2の通信部151を含む。ここで、ネットワークミドルウェアは、処理振り分け部142、第1及び第2のプロトコル変換処理部146、149、及び送信先検索部144等に対応する。
なお、処理振り分け部142は、振り分け部の一例であり、第3の振り分け部の一例でもある。処理振り分けDB143は、振り分け先記憶部の一例であり、第3の振り分け先記憶部の一例でもある。送信先変換DB145は、送信先記憶部の一例であり、第3の送信先記憶部の一例でもある。第1のプロトコル変換処理部146及び第2のプロトコル変換部149はプロトコル変換部の一例であり、第1のプロトコル変換処理部146は第3のプロトコル変換部の一例でもあり、第2のプロトコル変換部149は第4のプロトコル変換部の一例でもある。第1のI/O部147及び第2のI/O部150は入出力部の一例であり、第1のI/O部147は第3の入出力部の一例でもあり、第2のI/O部150は第4の入出力部の一例でもある。
演算処理部141は、各種のアプリケーションのプログラムを実行する。
処理振り分け部142は、演算処理部141で実行されているアプリケーション、第1のプロトコル変換処理部146、又は第2のプロトコル変換処理部149から宛先及び送信データを受け取ると、処理振り分けDB143を参照し、その宛先及び送信データを、その宛先に応じた振り分け先に振り分ける。
処理振り分けDB143は、宛先毎に振り分け先を指定する情報(宛先毎の振り分け先の情報)を記憶する。
第1のプロトコル変換処理部146は、処理振り分け部142から宛先及び送信データを受け取ると、その宛先に応じた送信先を、送信先検索部144に問い合わせる。また、第1のプロトコル変換処理部146は、処理振り分け部142から受け取った宛先及び送信データを第1のプロトコルスタックの形式に合うようなデータに組み立て、それを、その宛先に応じた送信先へ送信するよう第1のI/O部147に指示する。一方、第1のプロトコル変換処理部146は、第1のI/O部147からデータを受け取ると、そのデータから宛先及び送信データ(宛先のアプリケーションに渡すデータ)を取り出し、処理振り分け部142に渡す。
第2のプロトコル変換処理部149は、処理振り分け部142から宛先及び送信データを受け取ると、その宛先に応じた送信先を、送信先検索部144に問い合わせる。また、第2のプロトコル変換処理部149は、処理振り分け部142から受け取った宛先及び送信データを第2のプロトコルスタックの形式に合うようなデータに組み立て、それを、その宛先に応じた送信先へ送信するよう第2のI/O部150に指示する。一方、第2のプロトコル変換処理部149は、第2のI/O部150からデータを受け取ると、そのデータから宛先及び送信データ(宛先のアプリケーションに渡すデータ)を取り出し、処理振り分け部142に渡す。
送信先検索部144は、第1のプロトコル変換処理部146又は第2のプロトコル変換処理部149から、宛先に応じた送信先の問い合わせを受けると、送信先変換DB145を参照し、その宛先に応じた送信先を検索し、その検索結果を応答する。
送信先変換DB145は、宛先毎に送信先を指定する情報(宛先毎の送信先の情報)を記憶する。
第1のI/O部147は、例えばTCP/IP用のドライバであり、第1のプロトコル変換処理部146からの指示を受けると、その指示に従って、第1のプロトコルスタックに応じた送信処理を行い、第1の通信部148から、送信先へデータを送信する。なお、第1の通信部148は、例えばEthernet(登録商標)ボードである。また、第1のI/O部147は、第1の通信部148がデータを受信すると、そのデータに対して第1のプロトコルスタックに応じた受信処理を行い、得られたデータを第1のプロトコル変換処理部146へ渡す。
第2のI/O部150は、例えば無線アドホック通信プロトコル用のドライバであり、第2のプロトコル変換処理部149からの指示を受けると、その指示に従って、第2のプロトコルスタックに応じた送信処理を行い、第2の通信部151から、送信先へデータを送信する。なお、第2の通信部151は、例えば無線通信モジュールである。また、第2のI/O部150は、第2の通信部151がデータを受信すると、そのデータに対して第2のプロトコルスタックに応じた受信処理を行い、得られたデータを第2のプロトコル変換処理部149へ渡す。
図7は、各ノード装置123の構成例を示す図である。
図7に示したように、各ノード装置123は、演算処理部161、処理振り分け部162、処理振り分けDB(DataBase)163、送信先検索部165、送信先変換DB(DataBase)166を含む。また、各ノード装置123は、第2のプロトコルスタック用の、プロトコル変換処理部164、I/O(Input/Output)部167、通信部168を含む。ここで、ネットワークミドルウェアは、処理振り分け部162、プロトコル変換処理部164、及び送信先検索部165等に対応する。
なお、処理振り分け部162は、振り分け部の一例であり、第2の振り分け部の一例でもある。処理振り分けDB163は、振り分け先記憶部の一例であり、第2の振り分け先記憶部の一例でもある。送信先変換DB166は、送信先記憶部の一例であり、第2の送信先記憶部の一例でもある。プロトコル変換処理部164は、プロトコル変換部の一例であり、第2のプロトコル変換部の一例でもある。I/O部167は、入出力部の一例であり、第2の入出力部の一例でもある。
演算処理部161は、例えばアプリケーション126等の各種のアプリケーションのプログラムを実行する。
処理振り分け部162は、演算処理部161で実行されているアプリケーション又はプロトコル変換処理部164から、宛先及び送信データを受け取ると、処理振り分けDB163を参照し、その宛先及び送信データを、その宛先に応じた振り分け先に振り分ける。
処理振り分けDB163は、宛先毎に振り分け先を指定する情報(宛先毎の振り分け先の情報)を記憶する。
プロトコル変換処理部164は、処理振り分け部162から宛先及び送信データを受け取ると、その宛先に応じた送信先を、送信先検索部165に問い合わせる。また、プロトコル変換処理部164は、処理振り分け部162から受け取った宛先及び送信データを第2のプロトコルスタックの形式に合うようなデータに組み立て、それを、その宛先に応じた送信先へ送信するようI/O部167に指示する。一方、プロトコル変換処理部164は、I/O部167からデータを受け取ると、そのデータから宛先及び送信データ(宛先のアプリケーションに渡すデータ)を取り出し、処理振り分け部162に渡す。
送信先検索部165は、プロトコル変換処理部164から、宛先に応じた送信先の問い合わせを受けると、送信先変換DB166を参照し、その宛先に応じた送信先を検索し、その検索結果を応答する。
送信先変換DB166は、宛先毎に送信先を指定する情報(宛先毎の送信先の情報)を記憶する。
I/O部167は、例えば無線アドホック通信プロトコル用のドライバであり、プロトコル変換処理部164からの指示を受けると、その指示に従って、第2のプロトコルスタックに応じた送信処理を行い、通信部168から、送信先へデータを送信する。なお、通信部168は、例えば無線通信モジュールである。また、I/O部167は、通信部168がデータを受信すると、そのデータに対して第2のプロトコルスタックに応じた受信処理を行い、得られたデータをプロトコル変換処理部164へ渡す。
各サーバ装置121、ゲートウェイ装置124、各ノード装置123において、処理振り分けDB133、143、163の各DBは、上述のとおり、宛先毎に振り分け先を指定する情報を記憶する。ここで、宛先は、データの最終的な宛先であり、自装置又は他装置のアプリケーションである。自装置又は他装置のアプリケーションは、例えば、自装置又は他装置のID(IDentifier)及びアプリケーションのIDによって識別される。なお、宛先の情報は、個別の宛先の情報として記憶することも可能であるし、正規表現等を用いて宛先名のパターンの情報として記憶することも可能である。振り分け先は、宛先に対する送信データを処理するモジュールであり、自装置のアプリケーションやプロトコル変換処理部である。自装置のアプリケーションやプロトコル変換処理部は、例えば、自装置のアプリケーションのIDやプロトコル変換処理部のIDによって識別される。
また、送信先変換DB136、145、166の各DBは、上述のとおり、宛先毎に送信先を指定する情報を記憶する。ここで、宛先は、データの最終的な宛先であり、自装置又は他装置のアプリケーションである。自装置又は他装置のアプリケーションは、例えば、自装置又は他装置のID及びアプリケーションのIDによって識別される。なお、宛先の情報は、個別の宛先の情報として記憶することも可能であるし、正規表現等を用いて宛先名のパターンの情報として記憶することも可能である。また、送信先は、実装されているプロトコルスタックの通信プロトコルにより通信可能な範囲内の装置である。
図8は、処理振り分け部132、142、162の各部の動作例を示すフローチャートである。なお、各部の動作は、対応する装置内において同様の動作となる。
図8に示したように、各処理振り分け部は、宛先及び送信データが入力されると、次のような処理を行う。
まず、処理振り分けDBを参照して、入力された宛先を検索キーに振り分け先を検索し(S101)、その宛先に対応する振り分け先が検索されたか否かを判定する(S102)。
S102の判定結果がYesの場合には、検索された振り分け先がプロトコル変換処理部であるか否かを判定する(S103)。ここで、その判定結果がYesの場合には、そのプロトコル変換処理部へ、入力された宛先及び送信データを出力する(S104)。そして、その出力が成功したか否かを判定し(S105)、その判定結果がYesの場合には当該フローを終了する。一方、S103の判定結果がNoの場合には、入力された宛先に対応するアプリケーションへ、入力された送信データを出力する(S106)。そして、その出力が成功したか否かを判定し(S107)、その判定結果がYesの場合には当該フローを終了する。
一方、S102、S105、又はS107がNoの場合には、対応するエラー処理を行い(S108)、当該フローを終了する。
図9は、プロトコル変換処理部134、146、149、164の各部の動作例を示すフローチャートである。なお、各部の動作は、対応する装置内において同様の動作となる。
図9に示したように、各プロトコル変換処理部は、処理振り分け部から宛先及び送信データが入力されると、次のような処理を行う。
まず、入力された宛先を送信先検索部に出力し、その宛先に応じた送信先を送信先検索部に問い合わせる(S201)。そして、その問い合わせの結果から、その宛先に応じた送信先が検索されたか否かを判定する(S202)。ここで、その判定結果がYesの場合には、入力された宛先及び送信データを、対応するプロトコルスタックの形式に合うようなデータに組み立てる(S203)。続いて、S203の処理により得られたデータを、検索された送信先へ送信するように、対応するI/O部に指示する(S204)。そして、その指示が成功したか否かを判定し(S205)、その判定結果がYesの場合には当該フローを終了する。
一方、S202又はS205がNoの場合には、対応するエラー処理を行い(S206)、当該フローを終了する。
なお、図示はしないが、各プロトコル変換処理部は、対応するI/O部からデータが入力されたときには、上述のとおり、そのデータから、宛先及び送信データ(宛先のアプリケーションに渡すデータ)を取り出し、処理振り分け部に出力する。
図10は、S203及びS204の処理例を示す図である。
図10に示した例では、プロトコル変換処理部に入力された宛先及び送信データを、GD171及び送信データ172として示している。ここで、GD171は、宛先となる装置のIDとアプリケーションのIDを示している。なお、本例では、GD171と共にGS173もプロトコル変換処理部に入力されるものとする。GS173は、送信元となる装置のIDとアプリケーションのIDを示している。GD171及びGS173はデータ送信制御情報である。
このような場合、プロトコル変換処理部は、データ送信制御情報をネットワークミドルウェアが参照するヘッダ(ミドルヘッダ)として送信データ172に結合してデータ部を生成することにより、当該プロトコル変換処理部に対応するプロトコルスタックの形式に合うようなデータに組み立てる。そして、そのデータを、検索された送信先(送信先アドレス174)へ送信するように、対応するI/O部に指示する。
図11は、送信先検索部135、144、165の各部の動作例を示すフローチャートである。なお、各部の動作は、対応する装置内において同様の動作となる。
図11に示したように、各送信先検索部は、プロトコル変換処理部から宛先が入力されて宛先に応じた送信先の問い合わせが行われると、次のような処理を行う。
まず、送信先変換DBを参照して、入力された宛先を検索キーに送信先を検索し(S301)、その宛先に対応する送信先が検索されたか否かを判定する(S302)。ここで、その判定結果がYesの場合には、問い合わせ元のプロトコル変換処理部へ、検索された送信先を応答する(S303)。一方、S302の判定結果がNoの場合には、問い合わせ元のプロトコル変換処理部へエラー応答を行う(S304)。そして、S303又はS304の後は、当該フローが終了する。
次に、本実施形態に係るシステムの動作例として、サーバ装置121_1、ゲートウェイ装置124、ノード装置123_1との間で行われる通信動作について、具体例を挙げて説明する。
但し、ここで挙げる具体例において、サーバ装置121_1の処理振り分けDB133及び送信先変換DB136には、図12に示した情報が記憶されているものとする。また、ゲートウェイ装置124の処理振り分けDB143及び送信先変換DB145には、図13に示した情報が記憶されているものとする。また、ノード装置123_1の処理振り分けDB163及び送信先変換DB166には、図14に示した情報が記憶されているものとする。
まず、具体例1として、サーバ装置121_1のアプリケーション125が、ノード装置123_1のアプリケーション126にメッセージを送信するときの通信動作について説明する。なお、この通信動作の処理の流れは、図4の(1)乃至(8)に示す流れとなる。
具体例1では、まず、サーバ装置121_1において、図4の(1)に対応する処理が行われる。すなわち、演算処理部131で実行されているアプリケーション125が、宛先となるノード装置123_1のID:11及びアプリケーション126のID:111と、送信するメッセージデータとを、処理振り分け部132に出力する。
続いて、図4の(2)に対応する処理が行われる。すなわち、処理振り分け部132は、処理振り分けDB133を参照し、入力された宛先を検索キーに振り分け先を検索し、検索された振り分け先に、入力された宛先及びメッセージデータを出力する。ここでは、入力された宛先が、ノード装置123_1のID:11及びアプリケーション126のID:111であることから、振り分け先がプロトコル変換処理部134(第1のプロトコルスタック00用プロトコル変換処理部)となる(図12の処理振り分けDB133の項番1参照)。従って、処理振り分け部132は、プロトコル変換処理部134に、その宛先及びメッセージデータを出力する。
続いて、図4の(3)に対応する処理が行われる。すなわち、プロトコル変換処理部134は、まず、入力された宛先に応じた送信先を送信先検索部135に問い合わせる。ここでは、入力された宛先が、ノード装置123_1のID:11及びアプリケーション126のID:111であることから、送信先がゲートウェイ装置124(ゲートウェイ03)となる(図12の送信先変換DB136の項番1参照)。そして、プロトコル変換処理部134は、入力された宛先及びメッセージデータを、第1のプロトコルスタックの形式に合うようなデータに組み立て、それを、送信先であるゲートウェイ装置124へ送信するようI/O部137に指示する。I/O部137は、その指示に従って、第1のプロトコルスタックに応じた送信処理を行い、通信部138から、ゲートウェイ装置124へデータを送信する。
続いて、図4の(4)に対応する処理が行なわれる。すなわち、ゲートウェイ装置124において、第1の通信部148がサーバ装置121_1から送信されたデータを受信すると、第1のI/O部147は、そのデータに対して第1のプロトコルスタックに応じた受信処理を行い、得られたデータを第1のプロトコル変換処理部146に出力する。第1のプロトコル変換処理部146は、入力されたデータから、宛先及びメッセージデータを取り出し、処理振り分け部142に出力する。
続いて、図4の(5)に対応する処理が行われる。すなわち、処理振り分け部142は、処理振り分けDB143を参照し、入力された宛先を検索キーに振り分け先を検索し、検索された振り分け先に、入力された宛先及びメッセージデータを出力する。ここでは、入力された宛先が、ノード装置123_1のID:11及びアプリケーション126のID:111であることから、振り分け先が第2のプロトコル変換処理部149(第2のプロトコルスタック10用プロトコル変換処理部)となる(図13の処理振り分けDB143の項番1参照)。従って、処理振り分け部142は、第2のプロトコル変換処理部149に、その宛先及びメッセージデータを出力する。
続いて、図4の(6)に対応する処理が行われる。すなわち、第2のプロトコル変換処理部149は、まず、入力された宛先に応じた送信先を送信先検索部144に問い合わせる。ここでは、入力された宛先が、ノード装置123_1のID:11及びアプリケーション126のID:111であることから、送信先がノード装置123_1(ノード11)となる(図13の送信先変換DB145の項番1参照)。そして、第2のプロトコル変換処理部149は、入力された宛先及びメッセージデータを、第2のプロトコルスタックの形式に合うようなデータに組み立て、それを、送信先であるノード装置123_1へ送信するよう第2のI/O部150に指示する。第2のI/O部150は、その指示に従って、第2のプロトコルスタックに応じた送信処理を行い、第2の通信部151から、ノード装置123_1へデータを送信する。
続いて、図4の(7)に対応する処理が行なわれる。すなわち、ノード装置123_1において、通信部168がゲートウェイ装置124から送信されたデータを受信すると、I/O部167は、そのデータに対して第2のプロトコルスタックに応じた受信処理を行い、得られたデータをプロトコル変換処理部164に出力する。プロトコル変換処理部164は、入力されたデータから、宛先及びメッセージデータを取り出し、処理振り分け部162に出力する。
続いて、図4の(8)に対応する処理が行われる。すなわち、処理振り分け部162は、処理振り分けDB163を参照し、入力された宛先を検索キーに振り分け先を検索し、検索された振り分け先に、入力された宛先及びメッセージデータを出力する。ここでは、入力された宛先が、ノード装置23_1のID:11及びアプリケーション126のID:111であることから、振り分け先がアプリケーション126(アプリケーション111)となる(図14の処理振り分けDB163の項番3参照)。従って、処理振り分け部162は、演算処理部161で実行されているアプリケーション126に、メッセージデータを出力する。なお、この場合には、振り分け先と宛先が一致することから、メッセージデータのみが振り分け先に出力される。
このような処理の流れにより、サーバ装置121_1のアプリケーション125からノード装置123_1のアプリケーション126にメッセージが送信される。
次に、具体例2として、具体例1の通信動作とは逆に、ノード装置123_1のアプリケーション126が、サーバ装置121_1のアプリケーション125にメッセージを送信するときの通信動作について説明する。
具体例2では、まず、ノード装置123_1において、演算処理部161で実行されているアプリケーション126が、宛先となるサーバ装置121_1のID:01及びアプリケーション125のID:011と、送信するメッセージデータとを、処理振り分け部162に出力する。
続いて、処理振り分け部162は、処理振り分けDB163を参照し、入力された宛先を検索キーに振り分け先を検索し、検索された振り分け先に、入力された宛先及びメッセージデータを出力する。ここでは、入力された宛先が、サーバ装置121_1のID:01及びアプリケーション125のID:011であることから、振り分け先がプロトコル変換処理部164(第2のプロトコルスタック10用プロトコル変換処理部)となる(図14の処理振り分けDB163の項番1参照)。従って、処理振り分け部162は、プロトコル変換処理部164に、その宛先及びメッセージデータを出力する。
続いて、プロトコル変換処理部164は、まず、入力された宛先に応じた送信先を送信先検索部165に問い合わせる。ここでは、入力された宛先が、サーバ装置121_1のID:01及びアプリケーション125のID:011であることから、送信先がゲートウェイ装置124(ゲートウェイ03)となる(図14の送信先変換DB166の項番1参照)。そして、プロトコル変換処理部164は、入力された宛先及びメッセージデータを、第2のプロトコルスタックの形式に合うようなデータに組み立て、それを、送信先であるゲートウェイ装置124へ送信するようI/O部167に指示する。I/O部167は、その指示に従って、第2のプロトコルスタックに応じた送信処理を行い、通信部168から、ゲートウェイ装置124へデータを送信する。
続いて、ゲートウェイ装置124において、第2の通信部151がノード装置123_1から送信されたデータを受信すると、第2のI/O部150は、そのデータに対して第2のプロトコルスタックに応じた受信処理を行い、得られたデータを第2のプロトコル変換処理部149に出力する。第2のプロトコル変換処理部146は、入力されたデータから、宛先及びメッセージデータを取り出し、処理振り分け部142に出力する。
続いて、処理振り分け部142は、処理振り分けDB143を参照し、入力された宛先を検索キーに振り分け先を検索し、検索された振り分け先に、入力された宛先及びメッセージデータを出力する。ここでは、入力された宛先が、サーバ装置121_1のID:01及びアプリケーション125のID:011であることから、振り分け先が第1のプロトコル変換処理部146(第1のプロトコルスタック00用プロトコル変換処理部)となる(図13の処理振り分けDB143の項番2参照)。従って、処理振り分け部142は、第1のプロトコル変換処理部146に、その宛先及びメッセージデータを出力する。
続いて、第1のプロトコル変換処理部146は、まず、入力された宛先に応じた送信先を送信先検索部144に問い合わせる。ここでは、入力された宛先が、サーバ装置121_1のID:01及びアプリケーション125のID:011であることから、送信先がサーバ装置121_1(サーバ01)となる(図13の送信先変換DB145の項番2参照)。そして、第1のプロトコル変換処理部146は、入力された宛先及びメッセージデータを、第1のプロトコルスタックの形式に合うようなデータに組み立て、それを、送信先であるサーバ装置121_1へ送信するよう第1のI/O部147に指示する。第1のI/O部147は、その指示に従って、第1のプロトコルスタックに応じた送信処理を行い、第1の通信部148から、サーバ装置121_1へデータを送信する。
続いて、サーバ装置121_1において、通信部138がゲートウェイ装置124から送信されたデータを受信すると、I/O部137は、そのデータに対して第1のプロトコルスタックに応じた受信処理を行い、得られたデータをプロトコル変換処理部134に出力する。プロトコル変換処理部134は、入力されたデータから、宛先及びメッセージデータを取り出し、処理振り分け部132に出力する。
続いて、処理振り分け部132は、処理振り分けDB133を参照し、入力された宛先を検索キーに振り分け先を検索し、検索された振り分け先に、入力された宛先及びメッセージデータを出力する。ここでは、入力された宛先が、サーバ装置121_1のID:01及びアプリケーション125のID:011であることから、振り分け先がアプリケーション125(アプリケーション011)となる(図12の処理振り分けDB133の項番3参照)。従って、処理振り分け部132は、演算処理部131で実行されているアプリケーション125に、メッセージデータを出力する。なお、この場合には、振り分け先と宛先が一致することから、メッセージデータのみが振り分け先に出力される。
このような処理の流れにより、ノード装置123_1のアプリケーション126からサーバ装置121_1のアプリケーション125にメッセージが送信される。
次に、具体例3として、サーバ装置121_1のアプリケーション125が、ゲートウェイ装置124のアプリケーション128(図4参照)にメッセージを送信するときの通信動作について説明する。
具体例3では、まず、サーバ装置121_1において、演算処理部131で実行されているアプリケーション125が、宛先となるゲートウェイ装置124のID:03及びアプリケーション126のID:031と、送信するメッセージデータとを、処理振り分け部132に出力する。
続いて、処理振り分け部132は、処理振り分けDB133を参照し、入力された宛先を検索キーに振り分け先を検索し、検索された振り分け先に、入力された宛先及びメッセージデータを出力する。ここでは、入力された宛先が、ゲートウェイ装置124のID:03及びアプリケーション126のID:031であることから、振り分け先がプロトコル変換処理部134(第1のプロトコルスタック00用プロトコル変換処理部)となる(図12の処理振り分けDB133の項番2参照)。従って、処理振り分け部132は、プロトコル変換処理部134に、その宛先及びメッセージデータを出力する。
続いて、プロトコル変換処理部134は、まず、入力された宛先に応じた送信先を送信先検索部135に問い合わせる。ここでは、入力された宛先が、ゲートウェイ装置124のID:03及びアプリケーション126のID:031であることから、送信先がゲートウェイ装置124(ゲートウェイ03)となる(図12の送信先変換DB136の項番2参照)。そして、プロトコル変換処理部134は、入力された宛先及びメッセージデータを、第1のプロトコルスタックの形式に合うようなデータに組み立て、それを、送信先であるゲートウェイ装置124へ送信するようI/O部137に指示する。I/O部137は、その指示に従って、第1のプロトコルスタックに応じた送信処理を行い、通信部138から、ゲートウェイ装置124へデータを送信する。
続いて、ゲートウェイ装置124において、第1の通信部148がサーバ装置121_1から送信されたデータを受信すると、第1のI/O部147は、そのデータに対して第1のプロトコルスタックに応じた受信処理を行い、得られたデータを第1のプロトコル変換処理部146に出力する。第1のプロトコル変換処理部146は、入力されたデータから、宛先及びメッセージデータを取り出し、処理振り分け部142に出力する。
続いて、処理振り分け部142は、処理振り分けDB143を参照し、入力された宛先を検索キーに振り分け先を検索し、検索された振り分け先に、入力された宛先及びメッセージデータを出力する。ここでは、入力された宛先が、ゲートウェイ装置124のID:03及びアプリケーション126のID:031であることから、振り分け先がアプリケーション128(アプリケーション031)となる(図13の処理振り分けDB143の項番3参照)。従って、処理振り分け部142は、演算処理部151で実行されているアプリケーション128に、メッセージデータを出力する。なお、この場合には、振り分け先と宛先が一致することから、メッセージデータのみが振り分け先に出力される。
このような処理の流れにより、サーバ装置121_1のアプリケーション125からゲートウェイ装置124のアプリケーション128にメッセージが送信される。
次に、具体例4として、具体例3の通信動作とは逆に、ゲートウェイ装置124のアプリケーション128が、サーバ装置121_1のアプリケーション125にメッセージを送信するときの通信動作について説明する。
具体例4では、まず、ゲートウェイ装置124において、演算処理部151で実行されているアプリケーション128が、宛先となるサーバ装置121_1のID:01及びアプリケーション125のID:011と、送信するメッセージデータとを、処理振り分け部142に出力する。
続いて、処理振り分け部142は、処理振り分けDB143を参照し、入力された宛先を検索キーに振り分け先を検索し、検索された振り分け先に、入力された宛先及びメッセージデータを出力する。ここでは、入力された宛先が、サーバ装置121_1のID:01及びアプリケーション125のID:011であることから、振り分け先が第1のプロトコル変換処理部146(第1のプロトコルスタック00用プロトコル変換処理部)となる(図13の処理振り分けDB143の項番2参照)。従って、処理振り分け部142は、第1のプロトコル変換処理部146に、その宛先及びメッセージデータを出力する。
以降の処理については、上述の具体例2において、ゲートウェイ装置124の処理振り分け部142が、第1のプロトコル変換処理部146に、宛先及びメッセージデータを出力した後の処理と同じとなるので、ここでは説明を省略する。
このような処理の流れにより、ゲートウェイ装置124のアプリケーション128からサーバ装置121_1のアプリケーション125にメッセージが送信される。
次に、具体例5として、ノード装置123_1のアプリケーション126が、ゲートウェイ装置124のアプリケーション128にメッセージを送信するときの通信動作について説明する。
具体例5では、まず、ノード装置123_1において、演算処理部171で実行されているアプリケーション126が、宛先となるゲートウェイ装置124のID:03及びアプリケーション128のID:031と、送信するメッセージデータとを、処理振り分け部162に出力する。
続いて、処理振り分け部162は、処理振り分けDB163を参照し、入力された宛先を検索キーに振り分け先を検索し、検索された振り分け先に、入力された宛先及びメッセージデータを出力する。ここでは、入力された宛先が、ゲートウェイ装置124のID:03及びアプリケーション128のID:031であることから、振り分け先がプロトコル変換処理部164(第2のプロトコルスタック10用プロトコル変換処理部)となる(図14の処理振り分けDB163の項番2参照)。従って、処理振り分け部162は、プロトコル変換処理部164に、その宛先及びメッセージデータを出力する。
続いて、プロトコル変換処理部164は、まず、入力された宛先に応じた送信先を送信先検索部165に問い合わせる。ここでは、入力された宛先が、ゲートウェイ装置124のID:03及びアプリケーション128のID:031であることから、送信先がゲートウェイ装置124(ゲートウェイ03)となる(図14の送信先変換DB166の項番2参照)。そして、プロトコル変換処理部164は、入力された宛先及びメッセージデータを、第2のプロトコルスタックの形式に合うようなデータに組み立て、それを、送信先であるゲートウェイ装置124へ送信するようI/O部167に指示する。I/O部167は、その指示に従って、第2のプロトコルスタックに応じた送信処理を行い、通信部168から、ゲートウェイ装置124へデータを送信する。
続いて、ゲートウェイ装置124において、第2の通信部151がノード装置123_1から送信されたデータを受信すると、第2のI/O部150は、そのデータに対して第2のプロトコルスタックに応じた受信処理を行い、得られたデータを第2のプロトコル変換処理部149に出力する。第2のプロトコル変換処理部146は、入力されたデータから、宛先及びメッセージデータを取り出し、処理振り分け部142に出力する。
続いて、処理振り分け部142は、処理振り分けDB143を参照し、入力された宛先を検索キーに振り分け先を検索し、検索された振り分け先に、入力された宛先及びメッセージデータを出力する。ここでは、入力された宛先が、ゲートウェイ装置124のID:03及びアプリケーション128のID:031であることから、振り分け先がアプリケーション128(アプリケーション031)となる(図13の処理振り分けDB143の項番3参照)。従って、処理振り分け部142は、演算処理部151で実行されているアプリケーション128に、メッセージデータを出力する。なお、この場合には、振り分け先と宛先が一致することから、メッセージデータのみが振り分け先に出力される。
このような処理の流れにより、ノード装置123_1のアプリケーション126からゲートウェイ装置124のアプリケーション128にメッセージが送信される。
次に、具体例6として、具体例5の通信動作とは逆に、ゲートウェイ装置124のアプリケーション128が、ノード装置123_1のアプリケーション126にメッセージを送信するときの通信動作について説明する。
具体例6では、まず、ゲートウェイ装置124において、演算処理部151で実行されているアプリケーション128が、宛先となるノード装置123_1のID:11及びアプリケーション126のID:111と、送信するメッセージデータとを、処理振り分け部142に出力する。
続いて、処理振り分け部142は、処理振り分けDB143を参照し、入力された宛先を検索キーに振り分け先を検索し、検索された振り分け先に、入力された宛先及びメッセージデータを出力する。ここでは、入力された宛先が、ノード装置123_1のID:11及びアプリケーション126のID:111であることから、振り分け先が第2のプロトコル変換処理部149(第2のプロトコルスタック10用プロトコル変換処理部)となる(図13の処理振り分けDB143の項番1参照)。従って、処理振り分け部142は、第2のプロトコル変換処理部149に、その宛先及びメッセージデータを出力する。
以降の処理については、上述の具体例1において、ゲートウェイ装置124の処理振り分け部142が、第2のプロトコル変換処理部146に、宛先及びメッセージデータを出力した後の処理と同様であるので、ここでは説明を省略する。
このような処理の流れにより、ゲートウェイ装置124のアプリケーション128からノード装置123_1のアプリケーション126にメッセージが送信される。
なお、上述の具体例を複数組み合わせた通信動作を行うことも可能である。
例えば、具体例3と具体例6を組み合わせた通信動作を行うことも可能である。この場合、サーバ装置121_1のアプリケーション125が、ゲートウェイ装置124のアプリケーション128にメッセージを送信した後、ゲートウェイ装置124のアプリケーション128が、ノード装置123_1のアプリケーション126にメッセージを送信する、といった通信動作が可能である。このような場合、例えば、ゲートウェイ装置124のアプリケーション128が、サーバ装置121_1のアプリケーション125から受信したデータを、ゲートウェイ装置124の配下に各ノード装置すべてにデータを送信する、といった通信動作が可能である。
また、例えば、具体例4と具体例5を組み合わせた通信動作を行うことも可能である。この場合、ノード装置123_1のアプリケーション126が、ゲートウェイ装置124のアプリケーション128にメッセージを送信した後、ゲートウェイ装置124のアプリケーション128が、サーバ装置121_1のアプリケーション125にメッセージを送信する、といった通信動作が可能である。このような場合、例えば、ゲートウェイ装置124のアプリケーション128が、所定期間の間に各ノード装置から受信したデータ(例えばアプリケーション125から出力されたセンサデータ)を処理した後、その処理結果のデータを、サーバ装置121_1のアプリケーション125へ送信する、といった通信動作が可能である。
このように、本実施形態に係るシステムでは、各サーバ装置121、ゲートウェイ装置124、各ノード装置123の各装置が、ネットワークミドルウェアを備えることにより、各ネットワークの通信プロトコルが抽象化され、仮想ネットワークが実現される(図3参照)。従って、各サーバ装置121、ゲートウェイ装置124、各ノード装置123の各装置は、実際の通信プロトコルを考慮することなく、各サーバ装置121、ゲートウェイ装置124、各ノード装置123の区別なく、統一した方法で他の装置と通信を行うことができる。
次に、本実施形態に係るシステムの他の動作例として、当該システムに新規に装置(サーバ装置、ゲートウェイ装置、ノード装置)を追加する場合の動作について説明する。なお、新規に追加される装置は、例えば図5乃至7に示した構成と同様の構成を有する。
ここでは、代表して、ノード装置が新規に追加される場合の例を説明するが、サーバ装置やゲートウェイ装置が新規に追加される場合にも同様の動作が行われる。
また、ここでは、新規に追加される装置を管理するサーバ装置(管理サーバ装置)を、サーバ装置121_1とする。また、新規に追加される装置及び既設の各装置の処理振り分けDB及び送信先変換DBには、管理サーバ装置121_1の管理アプリケーション(管理用アプリケーション)という宛先に対する情報が含まれているものとする。すなわち、各処理振り分けDBには、管理サーバ装置121_1の管理アプリケーションという宛先に対する振り分け先の情報が含まれ、各送信先変換DBには、管理サーバ装置121_1の管理アプリケーションという宛先に対する送信先の情報が含まれているものとする。また、新規に追加される装置及び既設の各装置は、演算処理部が実行するアプリケーションとして、処理振り分けDB及び送信先変換DBを更新するアプリケーション(更新用アプリケーション)を含むものとする。また、新規に追加される装置は、演算処理部が実行するアプリケーションとして、管理サーバ装置121_1にノード追加通知を行うための追加処理アプリケーション(追加用アプリケーション)を含むものとする。
図15は、新規にノード装置が追加される場合のシステム全体の処理シーケンスの一例を示す図である。センサネットワークでは、センサを搭載した多数のノード装置を新規に追加または削除されることがある。このとき、設定無しに管理サーバ装置121_1にノード装置を追加するためには、新規に追加するノード装置が管理サーバ装置121_1宛に自情報を通知する。この時、新規に追加するノード装置に管理サーバ装置121_1を一意に識別するネットワーク固有の情報(例えばIPアドレス)や通信プロトコルの情報をあらかじめ設定する必要はない。
図15に示したように、新規に追加されるノード装置がネットワーク122_2に接続されると、そのノード装置からゲートウェイ装置124を介して管理サーバ装置121_1へ、ノード追加通知が行われる(S410、S420)。そのノード追加通知を管理サーバ装置121_1が受け取ると、管理サーバ装置121_1から、ゲートウェイ装置124及び他のサーバ装置121_2へ、ノード追加処理要求が行われる(S430)。
このような処理シーケンスにおける各装置の処理シーケンスを図16乃至19に示す。
図16は、新規に追加されたノード装置の処理シーケンスの一例を示す図である。
図16に示したように、新規に追加されるノード装置がネットワーク122_2に接続されると、そのノード装置では、次のような処理が行われる。
まず、演算処理部161で実行された追加処理アプリケーションが、ノード追加通知メッセージを作成し、その送信を処理振り分け部162に依頼する処理を行う(S411)。具体的には、追加処理アプリケーションが、宛先として管理サーバ装置121_1のID及びその装置121_1の管理アプリケーションのIDと、メッセージデータとしてノード追加通知メッセージデータとを、処理振り分け部162に出力する。
続いて、処理振り分け部162は、処理振り分けDB163を参照し、プロトコル変換処理を呼び出す処理を行う(S412)。具体的には、処理振り分け部162が、処理振り分けDB163を参照し、入力された宛先を検索キーに振り分け先を検索し、検索された振り分け先に、入力された宛先及びメッセージデータを出力する。ここで、処理振り分けDB163には、管理サーバ装置121_1の管理アプリケーションという宛先に対する振り分け先がプロトコル変換処理部164であるという情報が含まれている。従って、処理振り分け部162は、プロトコル変換処理部164に、宛先及びメッセージデータを出力する。
続いて、プロトコル変換処理部164は、送信先をゲートウェイ装置124とし、ノード追加通知メッセージ送信の処理を行う(S413)。具体的には、プロトコル変換処理部164が、まず、入力された宛先に応じた送信先を送信先検索部165に問い合わせる。ここで、送信先変換DB166には、管理サーバ装置121_1の管理アプリケーションという宛先に対する送信先がゲートウェイ装置124であるという情報が含まれている。従って、送信先検索部165は、送信先がゲートウェイ装置124であることを応答する。そして、プロトコル変換処理部164は、入力された宛先及びメッセージデータを、第2のプロトコルスタックの形式に合うようなデータに組み立て、それを、送信先であるゲートウェイ装置124へ送信するようI/O部167に指示する。
続いて、I/O部167は、ノード追加通知の処理を行う(S414)。具体的には、I/O部167が、プロトコル変換処理部164からの指示に従って、第2のプロトコルスタックに応じた送信処理を行い、通信部168から、ゲートウェイ装置124へデータを送信する。
図17は、ゲートウェイ装置124の処理シーケンスの一例を示す図である。
図17に示したように、ゲートウェイ装置124が、新規に追加されたノード装置から送信されたデータを受信すると、ゲートウェイ装置124では、次のような処理が行われる。
まず、第2の通信部151が、新規に追加されたノード装置から送信されたデータを受信すると、第2のI/O部150は、ノード追加通知メッセージを受信する処理を行う(S421)。具体的には、第2のI/O部150が、そのデータに対して第2のプロトコルスタックに応じた受信処理を行い、得られたデータを第2のプロトコル変換処理部149に出力する。
続いて、第2のプロトコル変換処理部146は、ノード追加通知メッセージの振り分けを、処理振り分け部142に要求する処理を行う(S422)。具体的には、第2のプロトコル変換処理部146は、入力されたデータから、宛先及びメッセージデータを取り出し、処理振り分け部142に出力する。
続いて、処理振り分け部142は、処理振り分けDB143を参照し、第1のプロトコル変換処理を呼び出す処理を行う(S423)。具体的には、処理振り分け部142が、処理振り分けDB143を参照し、入力された宛先を検索キーに振り分け先を検索し、検索された振り分け先に、入力された宛先及びメッセージデータを出力する。ここで、処理振り分けDB143には、管理サーバ装置121_1の管理アプリケーションという宛先に対する振り分け先が第1のプロトコル変換処理部146であるという情報が含まれている。従って、処理振り分け部142は、第1のプロトコル変換処理部146に、宛先及びメッセージデータを出力する。
続いて、第1のプロトコル変換処理部146は、送信先を管理サーバ装置121_1とし、ノード追加通知メッセージ送信の処理を行う(S424)。具体的には、第1のプロトコル変換処理部146が、まず、入力された宛先に応じた送信先を送信先検索部144に問い合わせる。ここで、送信先変換DB145には、管理サーバ装置121_1の管理アプリケーションという宛先に対する送信先が管理サーバ装置121_1であるという情報が含まれている。従って、送信先検索部144は、送信先が管理サーバ装置121_1であることを応答する。そして、第1のプロトコル変換処理部146は、入力された宛先及びメッセージデータを、第1のプロトコルスタックの形式に合うようなデータに組み立て、それを、送信先である管理サーバ装置121_1へ送信するよう第1のI/O部147に指示する。
続いて、第1のI/O部147は、ノード追加通知の処理を行う(S425)。具体的には、第1のI/O部147が、第1のプロトコル変換処理部146からの指示に従って、第1のプロトコルスタックに応じた送信処理を行い、第1の通信部148から、管理サーバ装置121_1へデータを送信する。
図18は、管理サーバ装置121_1の処理シーケンスの一例を示す図である。
図18に示したように、管理サーバ装置121_1が、ゲートウェイ装置124から送信されたデータを受信すると、管理サーバ装置121_1では、次のような処理が行われる。
まず、通信部138がゲートウェイ装置124から送信されたデータを受信すると、I/O部137は、ノード追加通知メッセージを受信する処理を行う(S431)。具体的には、I/O部137が、そのデータに対して第1のプロトコルスタックに応じた受信処理を行い、得られたデータをプロトコル変換処理部134に出力する。
続いて、プロトコル変換処理部134は、ノード追加通知メッセージの振り分けを、処理振り分け部132に要求する処理を行う(S432)。具体的には、プロトコル変換処理部134が、入力されたデータから、宛先及びメッセージデータを取り出し、処理振り分け部132に出力する。
続いて、処理振り分け部132は、処理振り分けDB133を参照し、管理アプリケーションを呼び出す処理を行う(S433)。具体的には、処理振り分け部132が、処理振り分けDB133を参照し、入力された宛先を検索キーに振り分け先を検索し、検索された振り分け先に、入力された宛先及びメッセージデータを出力する。ここで、処理振り分けDB133には、管理サーバ装置121_1の管理アプリケーションという宛先に対する振り分け先が管理アプリケーションであるという情報が含まれている。従って、処理振り分け部132は、演算処理装置131で実行されている管理アプリケーションに、宛先及びメッセージデータを出力する。なお、この場合には、振り分け先と宛先が一致することから、メッセージデータのみが振り分け先に出力される。
続いて、管理アプリケーションは、入力されたメッセージデータに基づいて、追加されたノード装置に関する情報を処理振り分けDB133及び送信先変換DB136に登録すると共に、ノード登録メッセージを作成し、その送信を処理振り分け部132に依頼する処理を行う(S434)。具体的には、管理アプリケーションは、処理振り分け部132からメッセージデータが入力されると、ノード装置が新規に追加されたことを認識する。そして、入力されたメッセージデータに基づいて、追加されたノード装置のアプリケーションという宛先に対してプロトコル変換処理部134という振り分け先の情報を処理振り分けDB133に登録する。また、追加されたノード装置のアプリケーションという宛先に対してゲートウェイ装置124という送信先の情報を送信先変換DB136に登録する。次に、管理アプリケーションは、追加されたノード装置に関する情報の登録が必要な他のサーバ装置及びゲートウェイ装置124を検索する。そして、検索された装置へ送信するノード登録メッセージを作成し、宛先として、検索された装置のID及びその装置の更新アプリケーションのIDと、メッセージデータとしてノード登録メッセージデータとを、処理振り分け部132に出力する。なお、このS434において、追加されたノード装置に関する情報の登録が必要な装置が複数検索された場合には、ノード登録メッセージの作成から以降のS437までの処理が、検索された各装置に対して行われる。
続いて、処理振り分け部132は、処理振り分けDB133を参照し、プロトコル変換処理を呼び出す処理を行う(S435)。具体的には、処理振り分け部132が、処理振り分けDB133を参照し、入力された宛先を検索キーに振り分け先を検索し、検索された振り分け先に、入力された宛先及びメッセージデータを出力する。ここでは、処理振り分け部132が、プロトコル変換処理部134に、宛先及びメッセージデータを出力する。
続いて、プロトコル変換処理部134は、ノード登録メッセージ送信の処理を行う(S436)。具体的には、プロトコル変換処理部134が、まず、入力された宛先に応じた送信先を送信先検索部135に問い合わせる。そして、プロトコル変換処理部134は、入力された宛先及びメッセージデータを、第2のプロトコルスタックの形式に合うようなデータに組み立て、それを、問い合わせた送信先へ送信するようI/O部137に指示する。
続いて、I/O部137は、ノード登録の処理を行う(S437)。具体的には、I/O部137が、プロトコル変換処理部134からの指示に従って、第1のプロトコルスタックに応じた送信処理を行い、通信部138から、送信先へデータを送信する。
図19は、管理サーバ装置121_1から送信されたデータの送信先である装置の処理シーケンスの一例を示す図である。なお、この装置は、新規に追加されたノード装置に関する情報の登録が必要な装置(サーバ装置121_2、ゲートウェイ装置124)でもある。ここでは、その装置をサーバ装置121_2として説明を行う。
図19に示したように、サーバ装置121_2が管理サーバ装置121_1から送信されたデータを受信すると、サーバ装置121_2では、次のような処理が行われる。
まず、通信部138が管理サーバ装置121_1から送信されたデータを受信すると、I/O部137は、ノード登録メッセージを受信する処理を行う(S441)。具体的には、I/O部137が、そのデータに対して第1のプロトコルスタックに応じた受信処理を行い、得られたデータをプロトコル変換処理部134に出力する。
続いて、プロトコル変換処理部134は、ノード登録メッセージの振り分けを、処理振り分け部132に要求する処理を行う(S442)。具体的には、プロトコル変換処理部134が、入力されたデータから、宛先及びメッセージデータを取り出し、処理振り分け部132に出力する。
続いて、処理振り分け部132は、処理振り分けDB133を参照し、更新アプリケーションを呼び出す処理を行う(S443)。具体的には、処理振り分け部132が、処理振り分けDB133を参照し、入力された宛先を検索キーに振り分け先を検索し、検索された振り分け先に、入力された宛先及びメッセージデータを出力する。ここで、処理振り分けDB133には、サーバ装置121_2の更新アプリケーションという宛先に対する振り分け先が更新アプリケーションであるという情報が含まれている。従って、処理振り分け部132は、演算処理部131で実行されている更新アプリケーションに、宛先及びメッセージデータを出力する。なお、この場合には、振り分け先と宛先が一致することから、メッセージデータのみが振り分け先に出力される。
続いて、更新アプリケーションは、入力されたメッセージデータに基づいて、新規に追加されたノード装置に関する情報を処理振り分けDB133及び送信先変換DB136に登録する処理を行う(S444)。具体的には、更新アプリケーションは、入力されたメッセージデータに基づいて、追加されたノード装置のアプリケーションという宛先に対してプロトコル変換処理部134という振り分け先の情報を処理振り分けDB133に登録する。また、追加されたノード装置のアプリケーションという宛先に対してゲートウェイ装置124という送信先の情報を送信先変換DB136に登録する。
このような処理の流れにより、新規にノード装置が追加されると、そのノード装置から管理サーバ装置121_1へノード追加通知が行われ、それを受け取った管理サーバ装置121_1から、必要な装置(ゲートウェイ装置124及び他のサーバ装置121_2)へノード登録が行われる。
なお、ここでは、新規に装置が追加されると、上記のようにして処理が行われたが、例えば、新規に追加された装置がブロードキャストにより周辺装置に通知することにより、伝播的に通知するようにすることも可能である。
また、ここでは、新規に装置を追加する場合の例を示したが、既設の装置を移動させる場合にも同様にして処理を行うことができる。
以上、本実施形態に係るシステムについて説明してきたが、当該システムは図3に示した構成に限らず、例えば図20乃至22に示すように、他の構成とすることも可能である。
図20は、本実施形態に係るシステムの他の構成例を示す第1の図である。
図20に示した構成例のシステムは、複数のゲートウェイ装置を備えた構成である。このシステムでは、2つのサーバ装置121_1、121_2を含むネットワーク122_1と2つのノード装置123_1、123_2を含むネットワーク122_2とがゲートウェイ装置124_1を介して接続されている。また、そのネットワーク122_1と2つのノード装置123_3、123_4を含むネットワーク122_3とがゲートウェイ装置124_2を介して接続されている。ここで、ネットワーク122_3は、ネットワーク122_2と同様に、第2のプロトコルスタックの通信プロトコルが用いられている。ノード装置123_4は、他の3つのノード装置123_1、123_2、123_3と同様の構成を有し、また、ゲートウェイ装置124_2は、他のゲートウェイ装置124_1と同様の構成を有する。そして、当該システムを構成する各装置は、対応する情報を記憶する処理振り分けDB及び送信先変換DBを備える。
このような構成によっても、ネットワーク122_1、122_2、122_3の通信プロトコルを抽象化して、仮想ネットワーク181を実現することができるので、各装置は、実際の通信プロトコルを考慮することなく通信を行うことができる。
図21は、本実施形態に係るシステムの他の構成例を示す第2の図である。
図21に示した構成例のシステムは、プロトコルスタックの異なる通信プロトコル毎にゲートウェイ装置を備えた構成である。このシステムでは、2つのサーバ装置121_1、121_2を含むネットワーク122_1と2つのノード装置123_1、123_2を含むネットワーク122_2とがゲートウェイ装置124_1を介して接続されている。また、そのネットワーク122_1と2つのノード装置123_5、123_6を含むネットワーク122_4とがゲートウェイ装置124_3を介して接続されている。ここで、ネットワーク122_4は、第1及び第2のプロトコルスタックとは異なる第3のプロトコルスタックの通信プロトコルが用いられている。2つのノード装置123_5、123_6は、第2のプロトコルスタックの代わりに第3のプロトコルスタックが実装されている以外は、他の2つのノード装置123_1、123_2と同様の構成を有する。また、ゲートウェイ装置124_3も、第2のプロトコルスタックの代わりに第3のプロトコルスタックを備えている以外は、他のゲートウェイ装置124_1と基本的に同様の構成を有する。そして、当該システムを構成する各装置は、対応する情報を記憶する処理振り分けDB及び送信先変換DBを備える。
このような構成によっても、ネットワーク122_1、122_2、122_4の通信プロトコルを抽象化して、仮想ネットワーク191を実現することができるので、各装置は、実際の通信プロトコルを考慮することなく通信を行うことができる。
図22は、本実施形態に係るシステムの他の構成例を示す第3の図である。
図22に示した構成例のシステムは、1つのゲートウェイ装置で3種類の通信プロトコルをサポートするようにした構成である。このシステムでは、2つのサーバ装置121_1、121_2を含むネットワーク122_1と、2つのノード装置123_1、123_2を含むネットワーク122_2と、2つのノード装置123_5、123_6を含むネットワーク122_4とが、ゲートウェイ装置124_4を介して接続されている。また、これに伴い、ゲートウェイ装置124_4は、第1及び第2のプロトコルスタックに加えて第3のプロトコルスタックも実装されている。そして、当該システムを構成する各装置は、対応する情報を記憶する処理振り分けDB及び送信先変換DBを備える。
このような構成によっても、ネットワーク122_1、122_2、122_4の通信プロトコルを抽象化して、仮想ネットワーク201を実現することができるので、各装置は、実際の通信プロトコルを考慮することなく通信を行うことができる。
また、本実施形態に係るシステムでは、当該システムの構成に応じて、ゲートウェイ装置を、例えば図23乃至26に示すように構成することも可能である。
図23は、3種類以上の通信プロトコルをサポートする場合のゲートウェイ装置の構成例を示す図である。この場合、ゲートウェイ装置211は、通信プロトコル(プロトコルスタック)毎に、プロトコル変換処理部、I/O部、通信部を備える。このような構成は、例えば図22に示したシステムのゲートウェイ装置124_4に適用される。
図24は、物理層は同一であるがプロトコルスタックが異なる2種類の通信プロトコルをサポートする場合のゲートウェイ装置の構成例を示す図である。この場合、ゲートウェイ装置221は、プロトコル変換処理部及びI/O部を、通信プロトコル(プロトコルスタック)毎に備えるが、通信部については1つのみを備えて各通信プロトコルで共用される。この場合、例えば、一方のI/O部(第1のI/O部)はIPv4(Internet Protocol Version 4)用のドライバであり、他方のI/O部(第2のI/O部)はIPv6(Internet Protocol Version 6)用のドライバである。
図25は、サポートする通信プロトコルは1種類であるが通信部を複数備える場合のゲートウェイ装置の構成例を示す図である。ここでは、一例として、通信部を2つ備える場合の例を示す。この場合、ゲートウェイ装置231は、プロトコル変換処理部及びI/O部を1つずつ備え、通信部を2つ備える。この場合、2つの通信部は、何れも例えばEthernetボードである。
図26は、図23及び図24に示した構成例を組み合わせた場合のゲートウェイ装置の構成例を示す図である。ここでは、一例として、3種類の通信プロトコルをサポートする場合であって、そのうちの2つについては、物理層が同一であるがプロトコルスタックは異なっている場合の例を示す。この場合、ゲートウェイ装置241は、プロトコル変換処理部及びI/O部を、通信プロトコル(プロトコルスタック)毎に備え、通信部を、異なる物理層毎に備える。この場合、物理層が同一でないプロトコルスタックに対応するI/O部(第1のI/O部)は、例えばTCP/IP用のドライバである。また、物理層が同一である2つのプロトコルスタックの一方に対応するI/O部(第2のI/O部)は例えば無線アドホック通信プロトコル用のドライバであり、その他方に対応するI/O部(第3のI/O部)は例えばZigBee用のドライバである。また、物理層が同一でないプロトコルスタックに対応する通信部(第1の通信部)は例えばEthernetボードであり、物理層が同一である2つのプロトコルスタックに対応する通信部(第2の通信部)は例えば無線通信モジュールである。このような構成は、例えば図22に示したシステムのゲートウェイ装置124_4に適用される。
また、本実施形態に係るシステムでは、当該システムの構成に応じて、ノード装置を、例えば図27及び28に示すように構成することも可能である。
図27は、一部の構成をチップ化した場合のノード装置の構成例を示す図である。この場合、ノード装置251において、処理振り分け部、処理振り分けDB、プロトコル変換処理部、I/O部がチップ化され、それらが通信制御チップ252として構成される。なお、ここでは、ノード装置251に実装されるプロトコルスタックの通信プロトコルが無線アドホック通信プロトコルである場合を想定している。無線アドホック通信プロトコルでは通信プロトコルにより送信先を決定することができるので、このような通信プロトコルが用いられる場合には、図27に示したように、送信先検索部及び送信先変換DBが不要となる。
図28は、一部の構成を通信モジュールとした場合のノード装置の構成例を示す図である。この場合、ノード装置261は、PC(Personal Computer)等の汎用コンピュータ262と通信モジュール263によって構成される。汎用コンピュータ262のバス264には、CPU(Central Processing Unit)265の他、複数のセンサ機器266等が接続されている。ここで、CPU265は、ノード装置の演算処理部の機能を有する。通信モジュール263は、処理振り分け部、処理振り分けDB、プロトコル変換処理部、送信先検索部、送信先変換DB、I/O部、通信部を含む。そして、汎用コンピュータ262のCPU265と通信モジュール263の処理振り分け部とが例えばRS232C(Recommended Standard 232 version C)等のシリアル回線267を介して接続される。
また、図示はしないが、ノード装置の他の構成例として、図6や図23等に示したゲートウェイ装置と同様に、複数のプロトコルスタックが実装され、プロトコルスタック毎に、プロトコル変換処理部、I/O部、通信部を備えるように構成することも可能である。
次に、本実施形態に係るシステムの適用例について説明する。
本実施形態に係るシステムは、例えば、データセンタの環境管理(温度管理等)に適用することができる。この場合、データセンタのサーバラックに設置した多数のセンサ(温度センサ等)をセンサネットワークに統合し、監視サーバ装置が一括管理するようにする。これにより、例えば、センサデータに基づいて空調設備の温度調節を細かく制御することにより、データセンタ全体の消費電力を削減すること等が可能になる。
図29は、本実施形態に係るシステムをデータセンタの環境管理に適用した例を示す図である。
図29に示したように、この場合、本実施形態に係るシステムは、データセンタの環境管理を行う監視サーバ装置271を含むIP網272と、センサネットワーク273とが、ゲートウェイ装置274を介して接続される。
センサネットワーク273では、電波漏洩によるセキュリティ上の問題とセンサデータ取得の信頼性向上のため、無線ネットワークは用いられずに有線ネットワークが用いられる。このセンサネットワーク273では、各サーバラック275に、温度センサを備えたセンサノード装置276と、そのセンサノード装置276に接続されたセンサ中継ノード装置277とが配置される。また、各サーバラック275に配置されたセンサ中継ノード装置277がラック列毎に直列に接続され、その各両端が基幹中継ノード装置278に接続される。さらに、それらの基幹中継ノード装置278がリング状に直列に接続され、それがゲートウェイ装置274に接続される。ここで、ゲートウェイ装置274と基幹中継ノード装置278の間及び基幹中継ノード装置278間の接続は、例えば、100BASE−TXの規格に準拠したネットワークである。また、基幹中継ノード装置278とセンサ中継ノード装置277の間及びセンサ中継ノード装置277間の接続は、例えば、RS422(Recommended Standard 422)の規格に準拠したネットワークである。また、センサ中継ノード装置277とセンサノード装置276との間の接続は、例えば、シリアル通信で接続されたネットワークである。
図29に示したシステムにおいて、IP網、100BASE−TX網、RS422網、及びシリアル通信網の各ネットワークでは、通信プロトコルが異なる。そのため、ゲートウェイ装置274、基幹中継ノード装置278、センサ中継ノード装置277の各装置は、対応する2種類の通信プロトコルのプロトコルスタックが実装される。
監視サーバ装置271は、図4に示したサーバ装置121のように、実装されるプロトコルスタック中にネットワークミドルウェアが設けられる。また、ゲートウェイ装置274、基幹中継ノード装置278、センサ中継ノード装置277の各装置は、図4に示したゲートウェイ装置124のように、実装される2種類のプロトコルスタック中にネットワークミドルウェアが設けられる。また、センサノード装置276は、図4に示したノード装置123のように、実装されるプロトコルスタック中にネットワークミドルウェアが設けられる。
図29に示したシステムでは、温度センサのセンサデータが、センサノード装置276から、センサ中継ノード装置277、基幹中継ノード装置278、ゲートウェイ装置274を介して、監視サーバ装置271へ送信される等の通信が行われる。また、データセンタの構成は増設やメンテナンスの度に変化する。データセンタの規模に応じて、変更箇所も増える。そこで、構成を動的に検知し、さらには近傍のセンサを役割分担して収集する。
図30に示したシステムは、一列に接続されたセンサ中継ノード装置277のセンシングデータを監視サーバ271へ送信する際に、2台の基幹中継ノード装置278が役割分担して送信する例である。基幹中継ノード装置278はA、センサ中継ノード装置277はBで示している。
図31は、図30のシステム構成におけるセンサ情報収集制御のシーケンスである。次に示す(1)〜(6)で シーケンスの説明を行う。
(1)情報収集を行いたいサーバ装置から情報収集のコマンドをA1、A2が受け取る。(2)A1とA2はお互いに制御対象のBに向けて経路および、Bに接続される情報収集デバイスの情報を取得する。
(3)(2)で検索した内容によりA1とA2はお互いに、ペアがあることを確認する。ペアは、検索内容にAの装置IDが存在する場合となる。具体的には装置種別がAとBで異なっているので判別が可能になっている。
(4)経路の確認でペアまでの確認が取れた場合、ペアとの通信が100BASE−TX網で出来るかを確認する。
(5)ペアとの通信がOKであれば、ペアとの情報収集分担を決定する。この場合、A1はB1、B2、B3とこれらに接続される情報収集デバイスについて収集し、A2はB4、B5およびこれらのに接続される情報収集デバイスについて収集する。
(6)分担決定後、情報収集を実施し、結果をサーバ装置に送信する。
また、本実施形態に係るシステムは、例えば、土木建築構造物、機械構造物、設備等の損傷検知や健全性評価に適用することもできる。この場合、例えば橋梁や線路等に設置した多数のセンサ(センサノード装置)をセンサネットワークに統合し、監視サーバ装置がセンサデータを一括管理するようにする。
また、本実施形態に係るシステムは、例えば、放射能汚染された地域での放射線量の測定に適用することもできる。この場合、センサノード装置は、放射線量センサとGPSセンサ等を備え、無線アドホック通信プロトコルやZigBee等の無線通信プロトコルを用いて無線通信可能に構成される。そして、このようなセンサノード装置を、ヘリコプター等を利用して目的とする地域へ投下する。このようにして設置された多数のセンサ(センサノード装置)をセンサネットワークに統合し、監視サーバ装置がセンサデータを一括管理するようにする。なお、この場合には、図15等を用いて説明したようにして、センサノード装置の追加に係る処理が行われる。
また、本実施形態に係るシステムは、例えば、移動体を用いた環境情報(温度や気圧等)の測定に適用することも可能である。この場合、センサノード装置は、温度や気圧等のセンサとGPSセンサ等を備え、例えば人、自動車、自転車等に設置される。そして、このようにして設置されたセンサ(センサノード装置)をセンサネットワークに統合し、監視サーバ装置がセンサデータをGPSデータと共に一括管理するようにする。
次に、本実施形態に係るシステムの変形例として、実現される仮想ネットワーク上に1つのIP網を構築するようにした例を説明する。
図32は、その変形例に係るシステムに含まれる、各サーバ装置121、ゲートウェイ装置124、各ノード装置123の構成例を示す図である。
本変形例に係るシステムでは、各サーバ装置121、ゲートウェイ装置124、各ノード装置123の各々が、仮想ネットワーク上のIPアドレスを有する。
図32に示したように、各サーバ装置121は、演算処理部131と処理振り分け部132との間にIPプロトコル処理部281を備える。同様に、ゲートウェイ装置124も、演算処理部141と処理振り分け部142との間にIPプロトコル処理部282を備える。同様に、各ノード装置123も、演算処理部161と処理振り分け部162との間にIPプロトコル処理部283を備える。また、各サーバ装置121の処理振り分けDB133、ゲートウェイ装置124の処理振り分けDB143、各ノード装置123の処理振り分けDB163には、宛先に対する振り分け先の情報として、IPアドレスとポート番号に対する振り分け先の情報を記憶する。また、各サーバ装置121の送信先変換DB136、ゲートウェイ装置124の送信先変換DB145、各ノード装置123の送信先変換DB166には、宛先に対する送信先の情報として、IPアドレスとポート番号に対する送信先の情報を記憶する。各装置のその他の構成については、図5乃至7を用いて説明した各装置の構成と同様となる。
図33は、IPプロトコル処理部281、282、283の各部の動作例を示す第1のフローチャートである。図34は、IPプロトコル処理部281、282、283の各部の動作例を示す第2のフローチャートである。なお、IPプロトコル処理部281、282、283の各部の動作は、対応する装置内において同様の動作となる。
図33に示したように、IPプロトコル処理部は、演算処理部で実行されるアプリケーションからIPプロトコルのメッセージが入力されると、次のような処理を行う。
まず、入力されたIPプロトコルのメッセージからIPアドレスとポート番号を取り出し(S501)、そのIPアドレスとポート番号を宛先とし、そのメッセージを送信データとして、処理振り分け部へ出力する(S502)。続いて、その出力が成功したか否かを判定し(S503)、その判定結果がYesの場合には当該フローを終了し、Noの場合には、エラー処理を行って(S504)、当該フローを終了する。
また、図34に示したように、IPプロトコル処理部は、処理振り分け部から送信データが入力されると、次のような処理を行う。
まず、その送信データを受け取り(S511)、その送信データをIPプロトコルのメッセージとして認識し、演算処理部のアプリケーションに出力する(S512)。続いて、その出力が成功したか否かを判定し(S513)、その判定結果がYesの場合には当該フローを終了し、Noの場合には、エラー処理を行って(S514)、当該フローを終了する。
このような構成により、実現される仮想ネットワーク上に1つのIP網を構築することができる。
本変形例に係るシステムは、更に次のような変形も可能である。
例えば、インターネットプロトコルスイートとは異なる通信プロトコルが用いられるネットワークが更に追加され、そのようなネットワークを2つ以上中継して通信が行われる場合が想定される。このような場合には、新規に追加したゲートウェイ装置によりネットワーク間を連結することによって、同様に処理を行うことができる。
また、本変形例に係るシステムでは、各サーバ装置121とゲートウェイ装置124が、元々、インターネットプロトコルスイートの通信プロトコルを用いて通信を行う構成であるので、それらを、例えば次のように構成することも可能である。
図35は、変形例に係るシステムに含まれる、各サーバ装置121、ゲートウェイ装置124、各ノード装置123の他の構成例を示す図である。
図35に示したように、この場合、各サーバ装置121は、IPプロトコル処理部281、処理振り分け部132、処理振り分けDB133、プロトコル変換処理部134、送信先検索部135、送信先変換DB136を省いた構成となる。また、ゲートウェイ装置124は、IPプロトコル処理部282、第1のプロトコル変換処理部146を省いた構成となる。このようなゲートウェイ装置124では、TCP/IPのIP層でルーティング機能を有し、ノード装置宛の通信では、宛先及び送信データが処理振り分け部142へ出力される。
また、本変形例に係るシステムにおいて、仮想ネットワーク上のIPアドレスを、次のようにして自動的に割り当てるようにすることも可能である。
この場合、図15等を用いて説明した新規に装置(サーバ装置、ゲートウェイ装置、ノード装置)を追加する手法を組み合わせることにより、新規に追加された装置に対してIPアドレスを自動的に割り当てることが可能となる。
具体的には、特定のサーバ装置121が、演算処理部131で実行されるアプリケーションとして、当該サーバ装置121をDHCP(Dynamic Host Configuration Protocol)サーバ装置として機能させるアプリケーションを備えるようにする。なお、DHCPは、アプリケーション層のプロトコルであり、DHCPサーバ装置側で、予めDHCPクライアント用にIPアドレスを幾つか用意しておき、DHCPクライアントの要求に応じて、この中から1つのIPアドレスを割り当てる技術である。
新規に装置が追加されると、図15等を用いて説明した処理が行われ、他の装置との通信が可能になる。すなわち、仮想ネットワーク上で通信可能になる。このようになると、新規に追加された装置は、DHCPのプロトコルに従い、宛先IPアドレスが255.255.255.255のブロードキャストのUDP(User Datagram Protocol)パケットを送出する。このパケットを受信したDHCPサーバ装置121は、用意されているIPアドレスから、割り当てるIPアドレスを選択し、それを新規に追加された装置のMAC(Media Access Control)アドレス向けに返信する。これにより、新規に追加された装置にIPアドレスが自動的に割り当てられる。
このように、本変形例に係るシステムでは、新規に追加する装置にIPアドレスを自動的に割り当てることができるので、仮想ネットワーク上に構築されたIP網に新規に多数の装置を接続する際に、装置毎にネットワーク設定を手動で行う必要が無い。
以上、本実施形態に係るシステムによれば、次のような効果を奏する。
通信プロトコルの異なる複数のネットワークを仮想化することができるので、通信プロトコルを考慮することなく通信プロトコルの異なるネットワーク間で通信を行うことができる。
また、本実施形態に係るシステムにおいては、例えば、ネットワークで用いられる通信プロトコルが変更される場合又は異なる通信プロトコルのネットワークが新規に追加される場合が考えられる。このような場合には、各装置(サーバ装置、ゲートウェイ装置、ノード装置)において、対応するプロトコル変換処理部、I/O部、及び通信部の変更又は追加を行うだけでよい。この場合、変更又は追加される通信プロトコルのプロトコルスタックの物理層が同一であれば、対応するプロトコル変換処理部及びI/O部の変更又は追加を行うだけでよい。
また、各装置(サーバ装置、ゲートウェイ装置、ノード装置)において、処理振り分け部とプロトコル変換処理部との間のインタフェースを共通化し、プロトコル変換処理部、I/O部、及び通信部を取り替え可能な部品(モジュール)として実装するようにしておけば、各装置の開発が容易になる。この場合、プロトコルスタックの物理層が同一であれば、プロトコル変換処理部及びI/O部を取り替え可能な部品として実装するようにしておくことも可能である。
なお、本実施形態に係るシステムにおいて、各装置(サーバ装置、ゲートウェイ装置、ノード装置)は、例えば、次のようなコンピュータシステムを含む構成とすることも可能である。
図36は、そのコンピュータシステムの構成例を示す図である。
このコンピュータシステムは、CPU301、ROM(Read Only Memory)302、RAM(Random Access Memory)303、通信インタフェース304、記憶装置305、入出力装置306、読取り装置307、及び、これらの全てが接続されたバス308を含む。
記憶装置305としてはハードディスク、磁気ディスクなど様々な形式の記憶装置を使用することができる。記憶装置305、またはROM302に、上述の処理振り分け部、プロトコル変換処理部、送信先検索部、I/O部、IPプロトコル処理部等の動作が行われるためのプログラム等が格納される。また、記憶装置305、またはROM302に、処理振り分けDB、送信先変換DBに記憶されている情報等も格納される。そして、そのプログラムがCPU301によって実行されることにより、処理振り分け部、プロトコル変換処理部、送信先検索部、I/O部、IPプロトコル処理部等が実現される。
このようなプログラムは、プログラム提供者端末309からネットワーク310、および通信インタフェース304を介して、例えば記憶装置305に格納されて、CPU301によって実行されることも可能である。また、市販され、流通している可搬型記憶媒体311に格納され、読取り装置307にセットされて、CPU301によって実行されることも可能である。可搬型記憶媒体311としてはCD−ROM、フレキシブルディスク、光ディスク、光磁気ディスク、DVDディスク、USBメモリなど様々な形式の記憶媒体を使用することができる。なお、通信インタフェース304は、例えば、各装置の通信部に対応する。
101 ネットワーク
102 ゲートウェイ装置
103 サーバ装置
104 ZigBee装置
111 ネットワーク
112 ゲートウェイ装置
113 サーバ装置
114 ZigBee装置
115、116 センサノード装置
121 サーバ装置
122 ネットワーク
123 ノード装置
124 ゲートウェイ装置
125、126 アプリケーション
127 仮想ネットワーク
128 アプリケーション
131 演算処理部
132 処理振り分け部
133 処理振り分けDB
134 プロトコル変換処理部
135 送信先検索部
136 送信先変換DB
137 I/O部
138 通信部
141 演算処理部
142 処理振り分け部
143 処理振り分けDB
144 送信先検索部
145 送信先変換DB
146 第1のプロトコル変換処理部
147 第1のI/O部
148 第1の通信部
149 第2のプロトコル変換処理部
150 第2のI/O部
151 第2の通信部
161 演算処理部
162 処理振り分け部
163 処理振り分けDB
164 プロトコル変換処理部
165 送信先検索部
166 送信先変換DB
167 I/O部
168 通信部
171 GD
172 送信データ
173 GS
174 送信先アドレス
181、191、201 仮想ネットワーク
211、221、231、241 ゲートウェイ装置
251 ノード装置
252 通信制御チップ
262 汎用コンピュータ
263 通信モジュール
264 バス
265 CPU
266 センサ機器
267 シリアル回線
271 監視サーバ装置
272 IP網
273 センサネットワーク
274 ゲートウェイ装置
275 サーバラック
276 センサノード装置
277 センサ中継ノード装置
278 基幹中継ノード装置
281、282、283 IPプロトコル処理部

Claims (15)

  1. サーバ装置とノード装置とゲートウェイ装置とを有する通信システムにおいて、複数のプロトコルスタックが実装され、サーバ装置とノード装置との間の通信を仲介するゲートウェイ装置であって、
    宛先に応じた処理を行う振り分け先の情報を、宛先毎に記憶する振り分け先記憶部と、
    入力された宛先及び送信データを、前記振り分け先記憶部に記憶されている情報の中から検索された、前記宛先に応じた振り分け先へ出力する振り分け部と、
    宛先毎の送信先の情報を記憶する送信先記憶部と、
    実装されているプロトコルスタック毎に設けられ、対応するプロトコルスタックに応じた送信処理及び受信処理を行う入出力部と、
    実装されているプロトコルスタック毎に設けられ、前記振り分け部から宛先及び送信データが入力されると、前記宛先を他のプロトコル変換部が参照するヘッダとして前記送信データと結合してデータを生成することにより、対応するプロトコルスタックの形式に合うデータに組み立て、当該組み立てたデータを、前記送信先記憶部に記憶されている情報の中から検索された前記宛先に応じた送信先へ送信するよう、対応するプロトコルスタックの前記入出力部に指示するプロトコル変換部と、
    を有するゲートウェイ装置。
  2. 前記プロトコル変換部は、対応するプロトコルスタックの前記入出力部から、対応するプロトコルスタックに応じた受信処理により得られたデータが入力されると、当該データから宛先及び送信データを抽出し、前記振り分け部へ出力する、
    ことを特徴とする請求項1記載のゲートウェイ装置。
  3. 前記振り分け先記憶部に記憶される振り分け先の情報は、前記プロトコル変換部と、当該ゲートウェイ装置のアプリケーションに対する振り分け先の情報を含む、
    ことを特徴とする請求項1又は2記載のゲートウェイ装置。
  4. 前記送信先記憶部に記憶される情報は、実装されているプロトコルスタックの通信プロトコルにより送信可能な範囲内の装置を送信先とする情報である、
    ことを特徴とする請求項1乃至3の何れか一項に記載のゲートウェイ装置。
  5. 前記振り分け先記憶部に記憶される情報は、前記通信システムに追加される装置を管理する管理サーバ装置の管理用アプリケーションを宛先として、その宛先及び対応する振り分け先の情報を含み、
    前記送信先記憶部に記憶される情報は、前記管理サーバ装置の管理用アプリケーションを宛先として、その宛先及び対応する送信先の情報を含み、
    新規ノード装置からノード追加通知を受信すると、前記新規ノード装置のプロトコルスタックに対応する第一のプロトコル変換部が、前記管理サーバ装置の管理用アプリケーションを宛先とし、前記新規ノード装置の追加メッセージである送信データとその宛先を、前記振り分け部に出力し、前記振り分け部は入力された前記送信データの宛先を基に前記振り分け先記憶部を参照し、前記管理サーバのプロトコルスタックに対応する第二のプロトコル変換部を検索し、検索された第二のプロトコル変換部に宛先と追加メッセージを出力し、前記第二のプロトコル変換部は、前記管理サーバ装置の管理用アプリケーションを宛先として、入力された宛先を他のプロトコル変換部が参照するヘッダとして前記追加メッセージと結合してデータを生成することにより、前記管理サーバ装置のプロトコルスタックの形式に合うようなデータに組み立て、その宛先に対応する送信先の情報を検索して、対応する入出力部に送信を指示する
    ことを特徴とする請求項2乃至4の何れか一項に記載のゲートウェイ装置。
  6. 前記振り分け部に入力された宛先及び送信データが、当該ゲートウェイ装置の更新用アプリケーションを宛先とし、装置の登録メッセージを送信データとする場合に、前記振り分け部が、当該ゲートウェイ装置で実行される更新用アプリケーションに、前記登録メッセージを出力し、前記更新用アプリケーションが、前記登録メッセージに基づいて、前記振り分け先記憶部及び前記送信先記憶部に記憶されている情報を更新する、
    ことを特徴とする請求項1乃至5の何れか一項に記載のゲートウェイ装置。
  7. サーバ装置とノード装置とゲートウェイ装置とを有する通信システムにおいて、複数のプロトコルスタックが実装され、サーバ装置とノード装置との通信を仲介するゲートウェイ装置の通信方法であって、
    宛先及び送信データを、前記宛先に応じた振り分け先へ出力し、
    前記宛先が所定の振り分け先である場合に、前記宛先を他のプロトコル変換部が参照するヘッダとして前記送信データと結合してデータを生成することにより、対応するプロトコルスタックの形式に合うデータに組み立て、
    前記組み立てられたデータを、対応するプロトコルスタックに応じた送信処理を行った上で、前記宛先に応じた送信先へ送信する、
    ことを特徴とするゲートウェイ装置の通信方法。
  8. 受信したデータに対し、対応するプロトコルスタックに応じた受信処理を行い、
    前記受信処理により得られたデータから、宛先及び送信データを抽出し、
    前記抽出された宛先及び送信データを、前記宛先に応じた振り分け先に出力する、
    ことを特徴とする請求項7記載のゲートウェイ装置の通信方法。
  9. プロトコルスタックが実装されたノード装置であって、
    宛先毎の振り分け先の情報を記憶する振り分け先記憶部と、
    入力された宛先及び送信データを、前記振り分け先記憶部に記憶されている情報の中から検索された前記宛先に応じた振り分け先へ出力する振り分け部と、
    宛先毎の送信先の情報を記憶する送信先記憶部と、
    実装されているプロトコルスタックに対応して設けられ、対応するプロトコルスタックに応じた送信処理及び受信処理を行う入出力部と、
    実装されているプロトコルスタックに対応して設けられ、前記振り分け部から宛先及び送信データが入力されると、前記宛先を他のプロトコル変換部が参照するヘッダとして前記送信データと結合してデータを生成することにより、対応するプロトコルスタックの形式に合うデータに組み立て、当該組み立てたデータを、前記送信先記憶部に記憶されている情報の中から検索された前記宛先に応じた送信先へ送信するよう、対応するプロトコルスタックの前記入出力部に指示する、プロトコル変換部と、
    を有するノード装置。
  10. 前記プロトコル変換部は、前記入出力部から、対応するプロトコルスタックに応じた受信処理により得られたデータが入力されると、当該データから宛先及び送信データを抽出し、前記振り分け部へ出力する、
    ことを特徴とする請求項9記載のノード装置。
  11. プロトコルスタックが実装されたノード装置の通信方法であって、
    宛先及び送信データを、前記宛先に応じた振り分け先へ出力し、
    前記宛先が所定の振り分け先である場合に、前記宛先を他のプロトコル変換部が参照するヘッダとして前記送信データと結合してデータを生成することにより、対応するプロトコルスタックの形式に合うデータに組み立て、
    前記組み立てられたデータを、対応するプロトコルスタックに応じた送信処理を行った上で、前記宛先に応じた送信先へ送信する、
    ことを特徴とするノード装置の通信方法。
  12. 受信したデータに対し、対応するプロトコルスタックに応じた受信処理を行い、
    前記受信処理により得られたデータから、宛先及び送信データを抽出し、
    前記抽出された宛先及び送信データを、前記宛先に応じた振り分け先に出力する、
    ことを特徴とする請求項11記載のノード装置の通信方法。
  13. サーバ装置を含む第1のネットワークとノード装置を含む第2のネットワークとがゲートウェイ装置を介して接続される通信システムであって、
    前記サーバ装置は、
    前記第1のネットワークの通信プロトコルの第1のプロトコルスタックが実装されると共に、
    宛先毎の振り分け先の情報を記憶する第1の振り分け先記憶部と、
    入力された宛先及び送信データを、前記第1の振り分け先記憶部に記憶されている情報の中から検索された前記宛先に応じた振り分け先へ出力する第1の振り分け部と、
    宛先毎の送信先の情報を記憶する第1の送信先記憶部と、
    前記第1のプロトコルスタックに応じた送信処理及び受信処理を行う第1の入出力部と、
    前記第1の振り分け部から宛先及び送信データが入力されると、前記宛先を他のプロトコル変換部が参照するヘッダとして前記送信データと結合してデータを生成することにより、前記第1のプロトコルスタックの形式に合うデータに組み立て、当該組み立てたデータを、前記第1の送信先記憶部に記憶されている情報の中から検索された前記宛先に応じた送信先へ送信するよう、前記第1の入出力部に指示し、前記第1の入出力部から、前記第1のプロトコルスタックに応じた受信処理により得られたデータが入力されると、当該データから宛先及び送信データを抽出し、前記第1の振り分け部へ出力する第1のプロトコル変換部と、
    を備え、
    前記ノード装置は、
    前記第2のネットワークの通信プロトコルの第2のプロトコルスタックが実装されると共に、
    宛先毎の振り分け先の情報を記憶する第2の振り分け先記憶部と、
    入力された宛先及び送信データを、前記第2の振り分け先記憶部に記憶されている情報の中から検索された前記宛先に応じた振り分け先へ出力する第2の振り分け部と、
    宛先毎の送信先の情報を記憶する第2の送信先記憶部と、
    前記第2のプロトコルスタックに応じた送信処理及び受信処理を行う第2の入出力部と、
    前記第2の振り分け部から宛先及び送信データが入力されると、前記宛先を他のプロトコル変換部が参照するヘッダとして前記送信データと結合してデータを生成することにより、前記第2のプロトコルスタックの形式に合うデータに組み立て、当該組み立てたデータを、前記第2の送信先記憶部に記憶されている情報の中から検索された前記宛先に応じた送信先へ送信するよう、前記第2の入出力部に指示し、前記第2の入出力部から、前記第2のプロトコルスタックに応じた受信処理により得られたデータが入力されると、当該データから宛先及び送信データを抽出し、前記第2の振り分け部へ出力する第2のプロトコル変換部と、
    を備え、
    前記ゲートウェイ装置は、
    前記第1のプロトコルスタック及び前記第2のプロトコルスタックが実装されると共に、
    宛先毎の振り分け先の情報を記憶する第3の振り分け先記憶部と、
    入力された宛先及び送信データを、前記第3の振り分け先記憶部に記憶されている情報の中から検索された前記宛先に応じた振り分け先へ出力する第3の振り分け部と、
    宛先毎の送信先の情報を記憶する第3の送信先記憶部と、
    前記第1のプロトコルスタックに応じた送信処理及び受信処理を行う第3の入出力部と、
    前記第2のプロトコルスタックに応じた送信処理及び受信処理を行う第4の入出力部と、
    前記第3の振り分け部から宛先及び送信データが入力されると、前記宛先を他のプロトコル変換部が参照するヘッダとして前記送信データと結合してデータを生成することにより、前記第1のプロトコルスタックの形式に合うデータに組み立て、当該組み立てたデータを、前記第3の送信先記憶部に記憶されている情報の中から検索された前記宛先に応じた送信先へ送信するよう、前記第3の入出力部に指示し、前記第3の入出力部から、前記第1のプロトコルスタックに応じた受信処理により得られたデータが入力されると、当該データから宛先及び送信データを抽出し、前記第3の振り分け部へ出力する第3のプロトコル変換部と、
    前記第3の振り分け部から宛先及び送信データが入力されると、前記宛先を他のプロトコル変換部が参照するヘッダとして前記送信データと結合してデータを生成することにより、第2のプロトコルスタックの形式に合うデータに組み立て、当該組み立てたデータを、前記第3の送信先記憶部に記憶されている情報の中から検索された前記宛先に応じた送信先へ送信するよう、前記第4の入出力部に指示し、前記第4の入出力部から、前記第2のプロトコルスタックに応じた受信処理により得られたデータが入力されると、当該データから宛先及び送信データを抽出し、前記第3の振り分け部へ出力する第4のプロトコル変換部と、
    を備える、
    ことを特徴とする通信システム。
  14. 前記第1の振り分け先記憶部に記憶される情報は、前記サーバ装置の第1のアプリケーションという宛先に対して前記第1のアプリケーションという振り分け先の情報と、前記ノード装置の第2のアプリケーションという宛先に対して前記第1のプロトコル変換部という振り分け先の情報を含み、
    前記第2の振り分け先記憶部に記憶される情報は、前記サーバ装置の第1のアプリケーションという宛先に対して前記第2のプロトコル変換部という振り分け先の情報と、前記ノード装置の第2のアプリケーションという宛先に対して前記第2のアプリケーションという振り分け先の情報を含み、
    前記第3の振り分け先記憶部に記憶される情報は、前記サーバ装置の第1のアプリケーションという宛先に対して前記第3のプロトコル変換部という振り分け先の情報と、前記ノード装置の第2のアプリケーションという宛先に対して前記第4のプロトコル変換部という振り分け先の情報を含む、
    ことを特徴とする請求項13記載の通信システム。
  15. 前記第1の送信先記憶部に記憶される情報は、前記ノード装置の第2のアプリケーションという宛先に対して前記ゲートウェイ装置という送信先の情報を含み、
    前記第2の送信先記憶部に記憶される情報は、前記サーバ装置の第1のアプリケーションという宛先に対して前記ゲートウェイ装置という送信先の情報を含み、
    前記第3の送信先記憶部に記憶される情報は、前記サーバ装置の第1のアプリケーションという宛先に対して前記サーバ装置という送信先の情報と、前記ノード装置の第2のアプリケーションという宛先に対して前記ノード装置という送信先の情報を含む、
    ことを特徴とする請求項13又は14記載の通信システム。
JP2013514939A 2011-05-19 2011-05-19 ゲートウェイ装置、ゲートウェイ装置の通信方法、ノード装置、ノード装置の通信方法、及び通信システム Expired - Fee Related JP5686186B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2011/061534 WO2012157112A1 (ja) 2011-05-19 2011-05-19 ゲートウェイ装置、ゲートウェイ装置の通信方法、ノード装置、ノード装置の通信方法、及び通信システム

Publications (2)

Publication Number Publication Date
JPWO2012157112A1 JPWO2012157112A1 (ja) 2014-07-31
JP5686186B2 true JP5686186B2 (ja) 2015-03-18

Family

ID=47176474

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013514939A Expired - Fee Related JP5686186B2 (ja) 2011-05-19 2011-05-19 ゲートウェイ装置、ゲートウェイ装置の通信方法、ノード装置、ノード装置の通信方法、及び通信システム

Country Status (4)

Country Link
US (1) US20140074994A1 (ja)
JP (1) JP5686186B2 (ja)
CN (1) CN103518352B (ja)
WO (1) WO2012157112A1 (ja)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2829914C (en) * 2012-12-07 2016-07-05 The Boeing Company Forest sensor deployment and monitoring system
JP6354145B2 (ja) * 2013-12-12 2018-07-11 富士通株式会社 中継装置、中継制御方法、及び、中継制御プログラム
JP2015211342A (ja) * 2014-04-25 2015-11-24 日本電信電話株式会社 デバイス管理サーバおよびその動作方法
KR101619885B1 (ko) 2014-08-05 2016-05-11 (주)에스이지 복수의 센서를 사용할 수 있는 측정장치
JP6540283B2 (ja) * 2015-06-30 2019-07-10 富士通株式会社 通信装置、通信方法、および、通信プログラム
EP3378192B1 (en) 2015-11-20 2021-10-06 ABB Schweiz AG Managing communication between gateway and building automation device by installing protocol software in gateway
US11070417B2 (en) 2016-04-05 2021-07-20 Nippon Telegraph And Telephone Corporation Sensor relay apparatus and sensor relay system
CN105911908A (zh) * 2016-04-26 2016-08-31 乐视控股(北京)有限公司 智能网关设备及智能监控系统
JP6901237B2 (ja) * 2016-05-18 2021-07-14 日本電信電話株式会社 通信装置、通信方法及び通信プログラム
CN106130991A (zh) * 2016-06-30 2016-11-16 北京东土军悦科技有限公司 一种数据转发方法及装置
JP6962050B2 (ja) * 2017-07-31 2021-11-05 富士電機株式会社 通信システム及び通信方法
JP7207252B2 (ja) * 2019-10-10 2023-01-18 トヨタ自動車株式会社 変換装置
DE102020104405A1 (de) * 2020-02-19 2021-08-19 HELLA GmbH & Co. KGaA Vorrichtung und Verfahren zum Verbinden einer serviceorientierten Kommunikation mit einer signalbasierten Kommunikation
CN111523782B (zh) * 2020-04-14 2023-04-28 杭州迪普科技股份有限公司 工控资产管理方法、装置、设备及存储介质
CN112422565B (zh) * 2020-11-18 2023-02-03 青岛海尔科技有限公司 消息处理方法、装置和存储介质及电子装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008199091A (ja) * 2007-02-08 2008-08-28 Yokogawa Electric Corp 通信システム
JP2009071688A (ja) * 2007-09-14 2009-04-02 Fujitsu Ten Ltd 通信ゲートウェイ装置、車載ネットワークシステム、及びゲートウェイ方法
JP2011055257A (ja) * 2009-09-02 2011-03-17 Nec Access Technica Ltd 通信装置、通信方法及び通信プログラム

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7610404B2 (en) * 2002-05-22 2009-10-27 Cast Iron Systems, Inc. Application network communication method and apparatus
US8321590B2 (en) * 2003-05-22 2012-11-27 International Business Machines Corporation Application network communication
US7664081B2 (en) * 2004-12-22 2010-02-16 Nokia Corporation Wireless gateway for enabling wireless devices to discover and interact with various short-range services/devices
JP2006333438A (ja) * 2005-04-28 2006-12-07 Fujitsu Ten Ltd ゲートウェイ装置及びルーティング方法
US20070019641A1 (en) * 2005-07-22 2007-01-25 Rockwell Automation Technologies, Inc. Execution of industrial automation applications on communication infrastructure devices
CN1905527A (zh) * 2005-07-28 2007-01-31 横河电机株式会社 网络通信系统
US7778262B2 (en) * 2005-09-07 2010-08-17 Vantage Controls, Inc. Radio frequency multiple protocol bridge
US8279870B2 (en) * 2007-08-01 2012-10-02 Silver Spring Networks, Inc. Method and system of routing in a utility smart-grid network
CN101119315B (zh) * 2007-09-17 2010-07-14 当代天启技术(北京)有限公司 控制网络中数据传输的方法、系统和网关
CN101953146A (zh) * 2008-02-19 2011-01-19 日本电气株式会社 网关设备、通信系统和通信方法
US8625642B2 (en) * 2008-05-23 2014-01-07 Solera Networks, Inc. Method and apparatus of network artifact indentification and extraction
EP2302887A4 (en) * 2008-07-16 2013-01-16 Nec Corp GATEWAY DEVICE, PROCESS AND PROGRAM
JP5606674B2 (ja) * 2008-12-12 2014-10-15 横河電機株式会社 ゲートウェイ装置及びこれを用いた無線制御ネットワーク管理システム
US8274994B2 (en) * 2009-06-19 2012-09-25 Qualcomm Incorporated Methods and apparatus for communicating using a gateway communications device having alert generation capability
US8503329B2 (en) * 2009-08-05 2013-08-06 Cisco Technology, Inc. Signaling of attachment circuit status and automatic discovery of inter-chassis communication peers
US9295096B1 (en) * 2010-12-23 2016-03-22 Marvell International Ltd Reducing interference in multi-radio communication device
US9237125B1 (en) * 2013-05-05 2016-01-12 Applied Knight, LLC System and associated methods for secure communications

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008199091A (ja) * 2007-02-08 2008-08-28 Yokogawa Electric Corp 通信システム
JP2009071688A (ja) * 2007-09-14 2009-04-02 Fujitsu Ten Ltd 通信ゲートウェイ装置、車載ネットワークシステム、及びゲートウェイ方法
JP2011055257A (ja) * 2009-09-02 2011-03-17 Nec Access Technica Ltd 通信装置、通信方法及び通信プログラム

Also Published As

Publication number Publication date
WO2012157112A1 (ja) 2012-11-22
CN103518352A (zh) 2014-01-15
US20140074994A1 (en) 2014-03-13
CN103518352B (zh) 2017-07-04
JPWO2012157112A1 (ja) 2014-07-31

Similar Documents

Publication Publication Date Title
JP5686186B2 (ja) ゲートウェイ装置、ゲートウェイ装置の通信方法、ノード装置、ノード装置の通信方法、及び通信システム
CN103200069B (zh) 一种报文处理的方法和设备
CN103329488B (zh) 网络系统和路由控制方法
CN106797409B (zh) 用于在物联网(iot)中的设备位置注册的服务器
CN104426681B (zh) 端点的分布式多播
CN1754374B (zh) 带有网关负载分配的网络地址转换
CN104718733B (zh) 基于分组的标识符定位符网络协议(ilnp)负载平衡和路由选择的方法和系统
CN105684363A (zh) 逻辑路由器
CN102014377B (zh) 基于分布式的无线传感器网络IPv6地址配置实现方法
CN103220287B (zh) 利用acl对报文进行业务匹配的方法
JP2015192386A (ja) データ転送制御装置、データ転送制御方法、及び、プログラム
US11438417B2 (en) Network system, terminal, sensor data collection method, and program
CN104852840A (zh) 一种控制虚拟机之间互访的方法及装置
JP2006262193A (ja) 制御装置、パケット転送方法およびパケット処理装置
CN107547404B (zh) 流表生成方法及装置以及报文转发方法及装置
Emara et al. A gateway-based framework for transparent interconnection between WSN and IP network
JP2008042665A (ja) ネットワーク仮想化装置及びネットワーク仮想化プログラム
JP2015032932A (ja) キャリア網における経路制御システム及び方法
CN104038422A (zh) 报文转发方法和网关
CN109246016B (zh) 跨vxlan的报文处理方法和装置
US20090147784A1 (en) Field network system
US20150280961A1 (en) Network extension system, control apparatus, and network extension method
JP4452271B2 (ja) マルチキャスト通信ネットワークシステム及びこれを用いたデータ送/受信方法
EP2645677B1 (en) A method and a network element for content based addressing in a data transfer network
JP2006174399A (ja) グループ内通信方法、システム及び記録媒体

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140902

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20141104

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20141224

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150106

R150 Certificate of patent or registration of utility model

Ref document number: 5686186

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees