(57)【特許請求の範囲】
【請求項１】
ネットワークシステムであって、
監視対象の状態を管理する情報処理装置と、
監視対象の情報をセンシングする複数のセンシング装置と、
少なくとも一の前記センシング装置からパケットを受信し、
前記パケット情報に対する演算処理の実行ノードが特定できるか判別し、
前記判別結果、特定できなかった場合、他のノードに前記パケットに対する演算処理に関する問い合わせを行う第一のネットワークノードと、を有することを特徴とするネットワークシステム。
【請求項２】
請求項１記載のネットワークシステムであって、
前記他のノードは、前記情報処理装置にネットワークを介して接続され、少なくとも一のセンシング装置と通信可能である、第二のネットワークノードであって、
前記第一のネットワークノードは、
前記第二のネットワークノードから、問合せに対する応答を受領し、
前記応答に基づいて、前記パケットに関する演算処理を実行する、
ことを特徴とするネットワークシステム。
【請求項３】
請求項２記載のネットワークシステムであって、
前記演算処理は、複数のパケットを対象とする演算処理であって、
前記第一のネットワークノードは、過去の演算処理の履歴を含む前記応答を受領し、前記演算処理の履歴と、前記パケットとに基づいて演算処理を実行する、ことを特徴とするネットワークシステム。
【請求項４】
請求項３記載のネットワークシステムであって、
前記第一のネットワークノードは、前記演算処理の実行結果を前記情報処理装置に送信する、ことを特徴とするネットワークシステム。
【請求項５】
請求項４記載のネットワークシステムであって、
前記パケットは、前記監視対象に関するセンシングされたセンサ情報を含み、
前記演算処理は、センサ情報を対象とする演算処理である、ことを特徴とするネットワークシステム。
【請求項６】
請求項１記載のネットワークシステムであって、
前記他のノードは、前記情報処理装置にネットワークを介して接続され、少なくとも一のセンシング装置と通信可能である、第二のネットワークノードであって、
前記第一のネットワークノードは、
前記第二のネットワークノードに前記パケットを転送する、ことを特徴とするネットワークシステム。
【請求項７】
請求項６記載のネットワークシステムであって、
前記第一のネットワークノードは、パケットの転送先の情報を格納する、ことを特徴とするネットワークシステム。
【請求項８】
請求項１記載のネットワークシステムであって、
前記他のノードは、前記情報処理装置にネットワークを介して接続され、少なくとも一のセンシング装置と通信可能である、第二のネットワークノードであって、
前記第一のネットワークノードは、
前記第二のネットワークノードから、問合せに対する応答を受領し、
前記応答に含まれる前記第二のネットワークノードの負荷と前記第一のネットワークノード自身の負荷とに基づいて、前記パケットに対する演算処理をいずれのネットワークノードで実行すべきか判定する、ことを特徴とするネットワークシステム。
【請求項９】
請求項８記載のネットワークシステムであって、
前記第一のネットワークノードは、前記判定結果に基づいて、パケットに対する演算処理を実行するネットワークノードに関する情報を保持し、前記保持された情報に基づいて、
さらに受信したパケットを転送する、ことを特徴とするネットワークシステム。
【請求項１０】
パケットに関する演算処理を実行可能な複数のネットワークノードのいずれか一のネットワークノードにおけるパケット処理方法であって、
監視対象をセンシングすることにより得られるセンサデータをセンシング装置から受信し、
前記センサデータの処理が割り当てられているか否かを判別し、
割り当てられていない場合は、他のネットワークノードに問い合わせを行い、
前記問合せ結果に基づいて、前記パケットを他のネットワークノードに転送するか、前記パケットに対する演算処理をネットワークノード自身に割り当てるか、いずれかを判定し、
前記判定結果に基づいてパケット処理を行う、ことを特徴とするパケット処理方法。
【請求項１１】
センサノードに第一のネットワークを介して接続される第一のネットワークインタフェースと、
情報処理装置に第二のネットワークを介して接続される第二のネットワークインターフェースと、
第三のインターフェースと、
パケットに含まれる情報に対する演算処理に関する情報を保持する保持部と、
前記センサノードからパケットが送信された場合、前記パケットに含まれる情報が、前記保持部に保持されていない場合、他のネットワークノードに問い合わせを前記第三のインターフェースを介して行い、
前記問合せに対する応答に基づいて、前記パケットに関する演算処理を前記他のネットワークノードに実行させるか、自身で実行するかを判別する制御部と、を有することを特徴とするネットワークノード。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の技術分野は、通信システムであって、特に、ネットワークノード上において通信内容の監視を監視システムに関する。
【背景技術】
【０００２】
ネットワークの普及に伴い、複数のネットワークシステムの情報を互いに共有し、新たな価値を創造することを目的とする大規模ネットワークシステムが考えられている。このような大規模ネットワークシステムでは、ネットワークトラフィックの増加とアプリケーションの複雑化に伴い、昨今のネットワークノードは、単純なパケットの転送能力だけではなく、特許文献１に示されているように、より高機能な処理を実現する性能を備えるようになってきた。
【０００３】
高機能な処理を実施するネットワークノードを利用する例としては、利用者の端末とデータセンタの間のネットワーク上で演算処理を実施することで、高速な応答を実現するネットワークが考えられている。このようなネットワークの例として非特許文献1に示されるクラウド型ネットワークが存在する。クラウド型ネットワークを構成する高機能ネットワークノードは、データセンタに向かうデータに対してフィルタリング処理や演算処理を行うことでトラフィックの効率化やネットワーク上での演算処理の代行を実現している。
【０００４】
高機能ネットワークノードは広域ネットワークの末端部分に配置され、トラフィックの監視とフィルタリングを行うことで、上位のシステムにおいて必要なデータのみを広域ネットワークに送信し、広域ネットワークの負荷を下げる。このような働きを行う広域ネットワークの末端部分に配置される高機能ネットワークノードを、エントランスノードと呼称している。さらに、本ネットワークシステムでは、一部の演算処理をエントランスノードにて代替することで、広域ネットワークを介して通信を行わずに、短時間での応答を実現することが可能となる。
エントランスノードでは、上記のようなトラフィックの監視、フィルタリング、あるいは一部の演算処理の代替を行うことで短い応答時間を達成するための高速応答処理を実現するために、配下に存在する端末類の管理と、自らのリソースの管理とを行う。例えば、データを送信するセンサや、稼働するアクチュエータを有する末端のノードがどのエントランスノードと接続しているかといった情報や、どのエントランスノードにてそれぞれのフィルタリング処理を実現するかといった情報を保有している。また、これらの情報の横断的な管理は、より上位に存在する管理用のサーバが、複数のエントランスノードと横断的に通信を行うことで行う。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開2007-26303公報
【非特許文献】
【０００６】
【非特許文献１】Hidetaka Aoki, Hiroaki Shikano et al. "Cloud Architecture for Tight Interaction with the Real World and Deep Sensor-Data Aggregation Mechanism", S6-27882-2309 SoftCOM 2010
【発明の概要】
【発明が解決しようとする課題】
【０００７】
従来のネットワークでは、エントランスノードとエントランスノードに接続する配下のノードの接続関係は固定的に決まっている。そして、これらのノードが移動する場合においては管理用のサーバが、移動したノードの新しい接続先の情報を集約し、移動元、移動先の双方のエントランスノード上の管理情報を更新する等の方法で移動した端末の追跡を行っている。そのため、従来のネットワークシステムでは、エントランスノードと、そのエントランスノードに接続している配下のノードの配置や接続先が、ノードが物理的に移動することなどを理由に変化する際、管理ノードへ負荷が集中することとなり、十分に対処することができないという第1の課題が存在する。
【０００８】
さらに、従来のエントランスノードでは、自らの管理対象としている端末情報のみをフィルタリング処理の対象としてきたため、管理対象としている端末が移動するときに、特定のエントランスノードに処理が集中し、過剰な負荷により、処理速度が低下したり、全ての要求を処理することができなくなったりするエントランスノードが出てくる一方で、処理内容が無く演算性能が無駄になるエントランスノードが発生するという第2の課題が存在する。
【課題を解決するための手段】
【０００９】
上記の2つの課題少なくともいずれかの課題を解決するために、本発明の一態様では、以下の態様とする。ネットワークノードが、パケットを受信すると、該当するパケットに関する情報を保持しているかを判別し、保持していない場合は、他のエントランスノードに問いあわせをし、パケットの処理内容を決定する。決定により、ネットワークノードは、他のエントランスノードに転送し、他のエントランスノードが演算処理を行わせるか、あるいは、ネットワーク自身で演算処理を実行し、処理結果を転送する。
【発明の効果】
【００１０】
本発明の一態様によると、パケットの転送処理を効率よく行うことができる。
【図面の簡単な説明】
【００１１】
【図１】エントランスノードを用いたネットワークシステム
【図２】端末が移動した際のネットワークシステム
【図３】エントランスノード間の直接通信が可能なネットワークシステム
【図４】ロボット稼働エリアの俯瞰図
【図５】センサ搭載型ロボット
【図６】エントランスノードのセンサテーブル
【図７】エントランスノードの構成
【図８】処理内容のシーケンス図
【図９】パケット処理のフローチャート
【図１０】管理メモリのテーブル構成
【発明を実施するための形態】
【実施例１】
【００１２】
本発明を実施するための一形態を図１に示す。
【００１３】
本実施例のネットワークシステムは、複数の企業の拠点間等を結ぶ広域のネットワーク網を利用したシステムである。データセンタ(10)と広域ネットワーク網(11)と、複数のエントランスノード(12)と複数のセンサノード(13)と複数のアクチュエータ(14)より構成される。本ネットワークシステムでは、複数のセンサノード13から発生するデータをエントランスノード12及び広域ネットワーク網11を介してデータセンタ10に集約され、データセンタ10にて一括してデータを保存、演算処理などが行われる。
【００１４】
センサノード13は、各拠点に対して複数存在しており、その種別も温度センサ、湿度センサ、振動センサ、圧力センサ、人感センサ、マイク、カメラなど多様なものが存在する。センサノード13とエントランスノード12はそれぞれ有線や無線の通信回線を介して接続される。
【００１５】
エントランスノード12は広域ネットワーク網11の入り口に配置されるネットワークノードであり、スイッチやルータに判定処理や演算処理機能を行う通信装置である。これらのエントランスノード12はそれぞれ、部屋単位、フロア単位、建物単位、拠点単位などに配置されるものであり、これはエントランスノードそのものの性能のほか、配下に接続されるセンサノード13の数やエントランスノードに要求される処理内容などに左右される。また、各エントランスノード12が同程度の性能を有していることは必須ではないが、各エントランスノード12は並列的な関係であり、一方が他方の管理エリアを内包するような配置とはならないため、3つのセンサノードがそれぞれ同程度の性能を有しているものとする。
【００１６】
エントランスノード12は、自らに接続しているセンサノード13を管理し、さらにそのセンサノードが送信する送信データの監視と演算処理を行うことを目的としている。これらのデータの監視と演算処理によって、広域ネットワーク網11に送信されるデータの圧縮、選択的な削除、平均化などの演算処理を総称してのフィルタリング処理を行うことでトラフィックを減少させ、広域ネットワーク網11の負荷を減少させることとを目的の1つとしている。さらに、もう1つの目的として、高速な応答が要求される場合に、演算処理の結果を受けてエントランスノード12に接続している各種アクチュエータ14に対して、これらを操作するための信号を送信することがあげられる。これは、通常の処理ではデータセンタ10にて処理された結果に応じてアクチュエータ14が操作され、この場合にはデータセンタまでの転送時間の分、遅延時間が大きくなるためである。
【００１７】
エントランスノード12が、上記の管理を実施するために有しているセンサ管理テーブルの概要を図6に示す。本実施例のエントランスノードのセンサ管理テーブルではセンサを識別するための固有名称６１０と当該センサの種別６２０といった管理を行う上での情報を有する。また、当該装置が接続している物理的なポート６３０とそのIPアドレス６４０が、そのセンサを識別するための情報として用いられる。また、その情報の送信先６５０としてデータセンタ10内のサーバなどのIPアドレスを有する。さらに各種処理６６０及び処理ノード６７０の項では、エントランスノードにて行う演算処理の内容６８０と実施場所６９０について記載している。
【００１８】
本実施例を用いてセンサノードが移動する場合の挙動について以下に説明する。図2では、図1の状態からセンサノードが移動した場合の構成を示している。このときセンサノードは移動することで、接続先のエントランスノードが変化している。これは例えば、エントランスノードがある企業の拠点に3台、分散的に配置されていて、その下のセンサノードを搭載した工作機械が、使用場所の変更などで移動した場合を想定している。
【００１９】
図2ではセンサノード13-3がエントランスノード12-1に、センサノード13-4がエントランスノード12-3と接続されている。これによって、エントランスノード12-2には直接接続されているセンサノードは存在しなくなっている。
【００２０】
このような事態が発生する場合、本実施例では、エントランスノードの管理をデータセンタなどに存在する管理用のサーバが、エントランスノードが保有するセンサノードのテーブルや扱う処理内容を統括して更新を行うことで、対処する場合と異なる。すなわち、図2の例では、エントランスノード12-1が13-1、13-2に加えて、13-3のセンサノードのフィルタリング処理を担当することになる。
【００２１】
この場合、1つはエントランスノード12-2の管理下のセンサノードが存在しなくなったために、その演算処理能力を生かすことができなくなったことが挙げられる。また、もう1つの問題点は、移動前にはエントランスノード12-2において一括して管理していた13-3と13-4のセンサデータの双方のデータを用いたフィルタリングが行われていた場合、移動後の12-1と12-3にそれぞれ送信先が分割されてしまった13-3と13-4のデータのフィルタリングはデータセンタに集約後にしか行うことができなくなっていることが挙げられる。もちろん、これは移動が発生する前の図1の状況においても生じ得ることで、例えばエントランスノード12-1に接続しているセンサノード13-1とエントランスノード12-3に接続しているセンサノード13-6を用いたフィルタリングなどはできなかったという、エントランスノードの間の連携が存在しないことに起因する。しかし、センサノードの配置が静的な場合においては、先の各エントランスノードの演算処理能力の活用と併せて、エントランスノードの配置やセンサノードの割り当てを検討することで解消する。
【００２２】
本実施例ではこのセンサノードの移動に起因する課題を、エントランスノード間の連携と図6に示した、センサテーブルを用いることで解決している。
【００２３】
図1の状態から図2の状態にセンサノードの接続先が変化した場合、新たなセンサノードから通信を受信したエントランスノード12-1及び12-3は、近傍に存在することをあらかじめ知っている他のエントランスノードと通信を行うことで、当該センサノードの管理情報を受け取る。すなわち、エントランスノード12-1は12-2及び12-3に、エントランスノード12-3は12-1と12-2に対してそれぞれ新しく接続されアットセンサノード13-3及び13-4の情報の問い合わせを行う。このとき、センサノード13-3、13-4を管理していたエントランスノード12-2が自身のセンサテーブルに存在する情報を、問い合わせを行ってきたエントランスノードにそれぞれ返信する。
【００２４】
返信を受け取ったエントランスノード12-1と12-3は、それぞれ管理センサテーブルを更新することでエントランスノード12-2の行ってきたフィルタリング処理の情報を引き継ぐ。また、これにより、データセンタ10に存在する管理用のノードなどに、センサノードの管理について問い合わせることは不要となる。
【００２５】
さらに、本実施例では図6に示したセンサテーブルを用いることで複数のエントランスノードの間での連係動作を実施している。図６では、保持しているセンサの処理内容６６０と処理を実施するノードの情報６７０と対応づけてを保持するようになっている。これにより、エントランスノードが保持する処理の内容は自らが担当する処理の内容だけでなく、他の近傍のエントランスノードで行っている処理内容も把握することで、当該センサの情報を必要としている他のエントランスノードを認識可能となっている。したがって、データセンタに問い合わせることは不要となる。
【００２６】
図６では、本センサテーブルを保持しているエントランスノードの名称をEN1と想定しており、近傍にEN2、EN3が存在しているものとしている。このとき、温度センサであるセンサ1〜4は、全てのデータがIPアドレス100.xx.xx.1に送信されている。また同時に、平均化1として4つのセンサデータの平均値の計算をEN1で行っている。さらに、処理内容2では、EN1にてそれぞれの温度センサの一定時間中の平均値を計算していることがわかる。湿度センサであるセンサ5〜8については、送信先IPアドレスが、100.xx.xx.2であるほか、湿度同士での平均化である平均化2が行われている。振動センサであるセンサ9〜12については、特定のIPアドレスに対するセンサデータへの送信は行わず、EN1にて個別に圧縮を処理を実施している。これは振動センサの場合のみ、データの量が他のセンサと比較して多いことを想定しているためである。振動センサに関しては、同時にセンサ9及び10はEN2での異常検知に、センサ11及び12に関してはEN3での異常検知に利用されているという情報が記載されている。そこで、EN1では、これらの振動データを受け取ると圧縮を行うほかに、対応するEN2、EN3への転送をも行う。
【００２７】
このようなテーブルを保持しているときに新たなセンサを受け取ると、問い合わせが行われ、異動元の管理テーブルに存在する情報が受け渡されることでテーブルが更新される。ここでは、新たにセンサノードが移動した先ではなく、異動元の挙動を中心に表す。
【００２８】
例えば、図6のEN1のセンサ4がEN2に移動した場合を考える。センサ4は元々EN1にて平均化処理と時間平均の処理が行われていたセンサである。EN1は当該センサ情報が到着しなくなったことを検出するが、近傍のエントランスノードへ移動し、近傍のエントランスノードからの通知が、検出よりも先に到着する場合がある。例えば、EN1が、当該センサが障害の発生など何らかの理由で異常が発生したと検出するためには、一定回数の想定しているデータ送信の失敗や、通信の失敗などを経て初めて認識するからである。そのため、センサが移動しているような状況では、近傍のエントランスノード、この場合はEN2が管理していない新たなセンサを検出して、他のエントランスノードに問い合わせを行う方が早くなる。なお、センサノードが移動ではなく障害の発生などが原因で応答しなくなった場合においては通常、異常を検出したEN1が管理ノードに対して判断を仰ぐ形となる。
【００２９】
EN2からセンサ4に関する問い合わせを受け取ったEN1は、自らのテーブルに該当するIPアドレスのセンサが存在することを発見すると自らのセンサ4に関する情報をEN2に返信する。これにより、EN2は、現時点までにセンサ4がどのような処理を行っていたか、処理の履歴や処理の状況を共有し、処理を引く次ぐ。図6の例では、処理内容６６０として、平均化1と時間平均の4を行っていたことがわかる。このとき時間平均4については従来EN1において単体で行っていた処理となっているが、平均化1については他の温度センサであるセンサ1〜3の情報を使用していた。そのため、この場合EN2は再度、平均化1のためのセンサデータを管理していたエントランスノードへの問い合わせを行い、当該センサ情報の扱いについて割り当てを行う。
【００３０】
この割り当ては、エントランスノードが管理対象とするセンサの種類、個数や追加されるセンサと既に対象となっているセンサとの数の割り当てで決定される。例えば、4つのセンサデータのうち3つまでがEN1で処理されていることや、これまでEN1が当該処理を実施してきたため、処理リソースが配置済みであることを理由に、EN2がEN1に平均化のための温度データをEN1に転送する。一方で、時間平均4については、単体で動作していた演算処理であり、転送することなくEN2が引き継ぐ。
【００３１】
なお、管理対象となるセンサ個数だけでなく、エントランスノードの負荷に基づいて、処理割り当てが設定される。例えば、EN2がすでに非常に多くの演算処理を担当しており負荷が大きいような場合においては、負荷分散の観点から近傍のエントランスノードとの間で、フィルタリング処理内容の割り当ての再設定をしてもよい。。この再設定する場合はエントランスノードが、他のエントランスノードの処理状況を取得し、行ってもよいし、データセンタや管理ノードが行ってもよい。
【００３２】
このような負荷を意識したフィルタリング処理の再設定を行うことで、図2のエントランスノード12-2のように、管理する対象であるセンサノードが無くなったために、余剰リソースがあり、処理性能があるエントランスノードに対して、他のエントランスノードからフィルタリング処理及びセンサデータを転送し、処理を新たに行うってもよい。それにより、システム全体の処理リソースの有効利用が図れる。
【００３３】
なお、図6の例では、EN2、EN3はEN1の振動センサの情報を受け取って、異常検知を行っているが、これらのノードで行っている理由としては、EN2、EN3には異常を検知した場合に操作するアラームなどのアクチュエータが図1の12-1や12-3のように接続されているような場合が考えられる。このように、エントランスノード固有の条件が、いずれのエントランスノードでフィルタリング処理を実施するかを判定する要因となる場合もある。
【００３４】
各エントランスノードが他のエントランスノードにフィルタリング用のデータを転送する場合においては、転送先で実施するフィルタリング処理の内容に応じて、あらかじめ前段のフィルタリング処理を実施することが考えられる。このような処理を行うことにより、単純なロードバランシングと比較してネットワーク帯域と演算性能の効率的な利用が可能となっている。
【００３５】
なお、図3に示すように各エントランスノードの間に専用の回線を用いて接続し、エントランスノード間の通信を行ってもよい。本回線は通常のデータ転送には用いず、センサノードの移動に伴うエントランスノード同士の通信や、センサノードのデータのエントランスノード間の転送のみに用いられる。これにより、ループを気にしたり、上流の広域網11の帯域を圧迫したりすること無く、高速かつ確実なエントランスノード間の通信が可能となる。特にセンサノードの移動が発生することが想定されるエントランスノード間の物理的な距離は限られるため、短距離で高速な回線による接続が可能であると考えられるため、効果が高いと期待される。また、本回線を通じてデータ転送を実施することで、上流からセンサの移動を意識させずに移動前のエントランスノードが転送を引き継ぐことも可能となる。
【００３６】
図７は、上記のシステムに含まれる、ネットワークノードであるエントランスノード12の内部構成の例を示す。エントランスノードにはネットワークと接続するためのネットワークインターフェース(1201)として広域網と接続するネットワークインタフェース1201-1と、センサノードと接続するためのネットワークインタフェース1201-2と、EN間通信を行うためのネットワークインタフェース1201-3を有する。
【００３７】
さらに、パケットの内容から処理内容を検索数ル処理内容検索部(1202)と、データの送信先を判定する宛先検索テーブル(1203)と、フィルタリング等センサノードからのデータを用いた演算処理を行うデータ処理部(1204)と、センサのアドレスを管理しているセンサテーブル(1205)と、宛先情報を管理する宛先テーブル(1206)と、受信パケットにタイムスタンプ情報を付与するためのタイムスタンプ付与部(1207)と、フィルタリング処理、宛先などの内容を管理する管理メモリ(1208)と、EN間で送受信されるパケットのタイミング情報を読み取るためのタイミング管理部(1209)と、EN間でセンサ情報の問い合わせとその返信を実施するセンサテーブル更新部(1210)と、を有する。センサノード及び広域網から受信されたパケットは、それぞれネットワークインタフェース1201を介して処理内容検索部1202に受け渡される。さらに、データ処理部1204の処理の負荷を監視する負荷監視部(12011)は、管理メモリ1208への処理別の負荷情報の更新と、高負荷状態を知らせる信号をセンサテーブル更新部1210へ通知する役割を有する。また、センサテーブルや管理メモリの更新を行う際にパケットを保持しておくためのパケットバッファ(1211)が存在する。
【００３８】
処理内容検索部１２０１は、パケットに含まれる該当トラフィックの入力ポートの情報やIPアドレスなどのヘッダ情報を参照し、ヘッダ情報に基づいてセンサテーブル1205を検索し、検索結果により当該パケットの扱いを判定する。
判定結果、このパケットが転送する対象である場合は、このパケットは、宛先検索部1203に直接送信される。判定結果、フィルタリングなどの演算処理が必要と判定されたならデータ処理部1204に転送される。データ処理部１２０４は、パケットを受け取ると、その処理内容を管理メモリ1208から検索することで判定し、判定結果に基づいて特定される処理を施した上で宛先検索部1203に転送する。宛先検索部1203は、パケットを受け、宛先テーブル1206を検索し、検索結果に基づいて宛先を選択する。
【００３９】
管理メモリ1208が有するテーブル１０００を図10に示す。管理メモリのテーブルは、処理を番号で管理するための処理No（１０１０）と、具体的な名称を示す処理内容１０２０と、当該処理において用いられるセンサの名称１０３０と、処理で用いるタスクの名称１０４０と、当該処理において用いられる保存データ１０５０と、本処理の実行周期１０６０と、本処理を行う上で計測されている負荷の大きさ１０７０と、本処理の内容を移動可能かを示す移動可否１０８０と、本処理により得られた結果を送付する先との情報１０９０を有する。
【００４０】
図８は、パケットを受信した際の処理の流れを示すシーケンス図である。処理内容検索部１２０２は、受信したパケットに含まれるセンサ名、センサ種別、接続ポート、IPアドレスが、センサテーブル１２０５−１に登録されているか検索する。処理内容検索部1202が検索したセンサテーブル1205-1を検索した結果、パケットに含まれる情報がセンサテーブル１２０５−１に存在しなかった場合、処理内容検索部１２０２は、センサテーブル更新部1210-1に、存在しなかったセンサ情報に関する問い合わせの依頼を行う。センタテーブル更新部１２０１−１は、EN間通信を行うネットワークインタフェースを介して、近傍に存在する他のエントランスノードに、問い合わせを行い、新しいセンサの情報の共有を行う。
【００４１】
一方、センサテーブル更新部1210-1からの問い合わせを受けた他のエントランスノードでは、同様に、当該メッセージをセンサテーブル更新部1210-2に受け渡し、センサテーブル更新部1210-2がセンサテーブル1205の内容を検索することで、当該センサ情報の有無を確認する。センサテーブルにデータが存在した場合、センサテーブル更新部1210-2は管理メモリ1208-2から、処理内容を検索条件として検索を行い、当該パケットに関連する処理情報を取得する。センサテーブル更新部1210-2は管理メモリ1208-2のテーブルに存在する処理内容の負荷や移動の可否といった情報をEN1に返信する。
【００４２】
返信を受け取った問い合わせ元のエントランスノードEN1のセンサテーブル更新部1210-1は、その情報を元にセンサテーブル1205-1及び管理メモリ1208-1の更新を行う。そして、センサテーブル更新部１２１０−１は、フィルタリング処理を引き継ぐか、新たに移動してきセンサノードのデータを転送するか否かを、EN2から返信された情報や、管理テーブルにある負荷情報を組み合わせて判定する。そして、この判定の結果はセンサテーブル更新部1210-1を介して他のエントランスノードのセンサテーブル更新部1210-2にも通知され、センサテーブル1205-2や管理メモリ1208-2の書き換えが行われる。書き換えの際には、センサテーブル1205-1に新規項目が作成され、管理テーブル1208-1のエントリがEN2からEN1に丸ごと移動され、処理内容の名称や負荷の情報が更新される。また、処理の内容を引き継ぐために保存データの引き継ぎも行われる。これらの一連の通知の後にセンサテーブル更新部1210-1はセンサテーブル1205-1に更新された情報を元に、転送先の情報を処理内容検索部1202に返信するよう指示を行い、パケットの処理内容検索部からパケットへの転送が実施される。
【００４３】
判定結果、フィルタリング処理を引き継がず、エントランスノードが受信したパケットを他のエントランスノードに転送する場合の流れを説明する。このとき、パケットの転送方法にはフィルタリング処理を経ないで転送するものと、フィルタリング処理を施してから転送するものとが存在する。
【００４４】
フィルタリング処理を経ないで転送する場合、転送の判断は処理内容検索部において行われる。処理内容検索部1202はタイムスタンプ付与部1207に、パケットをパケットの転送先情報とともに受け渡す。タイムスタンプ付与部1207は、エントランスノードが受信したタイミングに関する時刻情報を付与した上でエントランスノード間通信用のネットワークインタフェース1201-3を介して転送先となるエントランスノードへ転送を行う。
【００４５】
一方、フィルタリング処理を施してから転送をする場合、データ処理部１２０４が、転送の判断を行う。データ処理部１２０４は、転送するパケットに要するフィルタリング処理を行った上で当該パケットをタイミング管理部1209へ転送し、タイミング管理部1209がタイムスタンプ情報を付加する。
【００４６】
転送されたパケットを、エントランスノード間通信用ネットワークインタフェース1201-3にて受信したエントランスノードは、そのパケットをタイミング管理部1209へ受け渡す。このとき、タイミング管理部1209は、転送元エントランスノードとのタイミング情報の比較を行い、複数のエントランスノードからパケットが到着するような場合に到着タイミングの前後が生じていないかを監視し、監視結果により、パケットの蓄積、入れ替え、廃棄といった操作を実施する。タイミング管理部1209は受信したパケットをさらにインテリ前途処理部1204に受け渡しインテリジェント処理部はこのパケットを通常のパケットと同様に管理メモリ1208の情報を参照してフィルタリング処理を行う。
【００４７】
以上が、図７の説明である。なお、図1や図2の例のようにエントランスノード間に専用のネットワーク回線が存在しない場合には、ネットワークインタフェース1201-3は存在せず、全てのトラフィックの転送は宛先検索部を経て、広域網側のネットワークインタフェース1201-1を介して送受信されることとなる。
【００４８】
図９は、エントランスノード１２におけるフローチャートを示す。
エントランスノード１２−１の処理内容検索部１２０２は、パケットをセンサノードから受信する（９１０）。処理内容検索部１２０２は、受信したパケットに含まれるセンサ名、センサ種別、接続ポート、IPアドレスが、センサテーブル１２０５−１に登録されているか検索する（９２０）。
【００４９】
検索結果、センサテーブル１２０５−１に登録されていなかった場合（９３０のNo）、センサテーブル更新部１２１０−１は、EN間通信を行うネットワークインターフェースを介して、他のエントランスノード１２−２や１２−３に問い合わせを送る（９３０、９４０）。
【００５０】
エントランスノード１２−１は、エントランスノード１２−２を含む一以上の他のエントランスノードのうち、少なくとも一つから問合せを受けた結果、該当する情報が有った場合(950のYes)、該当情報を持っていたエントランスノードから該当の情報を受信する。そして、エントランスノード１２−１は、受信した情報をセンサテーブル、管理メモリそれぞれの新規エントリに格納する。。さらに、取得した処理内容の情報を元に、エントランスノード１２−１は、処理を担当するエントランスノードを変更するかどうかを判定する(961)。例えば、エントランスノード１２１−は、他のエントランスノード１２−２，３の負荷を取得し、エントランスノード１２−１自身の負荷とを比較し、エントランスノード１２−１は、処理の割当てを変更すべきか判定する。たとえば、エントランスノード間の負荷の均等化や、通信トラフィックの減少を目的に最適化するように、担当する処理の内容を相互に入れ替える場合がある。また、本判定を行う権利を有するエントランスノードまたはデータベースに問い合わせるなどして決定する場合がある。判定の結果、エントランスノード１２−１は、処理を担当するエントランスノードの変更が必要と判定されると(961のYes)、他のエントランスノードに変更の通知を行い、複数のエントランスノード間で処理内容の再分担を行う(962)。
【００５１】
エントランスノード１２−１は、センサテーブルを参照し、再分担が行われた処理のエントリのうちの処理ノードの情報６７０を新しく担当するエントランスノードのものに変更する。また、エントランスノード１２−１は、管理テーブルから担当することが無くなった処理のエントリを削除する（９６３）。さらに、データセンタに対しても、エントランスノード１２−１は、処理を担当するエントランスノードを変更したという通知を行う。これらの更新作業が終わった後、または、割当ての変更が必要なかった場合(961のNo)には、エントランスノード１２−１は、再度センサテーブルの検索(970)を行う。
【００５２】
一方、950で他のエントランスノードに入力パケットに関する情報が存在しない場合には、エントランスノード１２−１は、新規エントリで有るものとして、データセンタに対して問い合わせを行う等して、センサテーブル及び管理テーブルに、当該センサに関するエントリを追加する (951)。こうして、実行する処理内容に関してテーブルのエントリを作成した上で、センサテーブルの検索970が行われる。
【００５３】
センサテーブルの検索(920)の結果、センサテーブルに該当の入力トラフィックに関する情報が存在した場合(930のYes)と、更新作業を行った後のセンサテーブル検索970の結果、エントランスノード１２−１は、他のエントランスノードへ当該情報を転送する必要があるかどうかを、センサテーブルの該当するエントリの処理ノード６７０、６９０の項目を参照し、判定する (980)。転送の必要が有った場合(980のYes)には、エントランスノード１２−１のタイムスタンプ付与部は、転送対象のパケットをタイムスタンプを付加する (981)。タイムスタンプを付加されたパケットは、EN間通信インターフェース1201-3を介して、参照した処理ノードの情報に基づいて転送先のエントランスノードへ転送される(982)。
【００５４】
他のノードへの転送の必要がない場合（980）、センサテーブルの処理内容６６０、６９０を参照し、パケットは必要に応じてデータ処理部で高機能処理を施され(990)、宛先検索部で転送先を検索される(991)。そして、最後にネットワークインタフェース1201−１を介してデータセンサへの転送が実施される(992)。以上が実施例１の説明である。
【実施例２】
【００５５】
実施例１の変形例となる実施例２を説明する。
【００５６】
図4は、工場内におけるシステムの構成を示す。本エリアでは、ロボット端末が動作するためのロボット稼働エリア(40)と、エントランスノード(41)と、そのエリアにおいて動作する無線ネットワーク基地局(42)と、エントランスノード41からの情報を統括して管理するための管理サーバ(43)が存在している。また、図４には表していないが、各種センサ類を搭載したロボット端末がこのロボット稼働エリア40内で移動するものとする。したがって、ロボット端末は、実施例１の各センサノードに対応し、センサ情報を、ロボット端末と無線通信可能なエントランスノード（４１）に通知する。各エントランスノード４１が、実施例１における図７の構成を有し、ネットワークインタフェース１２０１−２を介して無線により各ロボットからデータを収集する。また、ＥＮ間通信インターフェース１２０１−３より各エントランスノード４１間で通信を行う。そのほかの処理は実施例１と同様である。
【００５７】
このとき、エントランスノードの管理テーブル１０００には、ロボットの前輪・後輪のモーターの制御や、障害物の検知、他のロボットなどとの衝突防止などのロボットの動作を制御するための各種処理が、それぞれエントリとして追加される。これらの各種処理は、それ以外の、ロボット端末５０のカメラ５０４が取得する画像データ、環境センサにより測定される温度データは、実施例１と同様に、図６のテーブルと、図１０のテーブルのエントリに格納される。
【００５８】
本実施例ではロボット稼働エリア40を4つのエリアで分割している。このエリアの分割数は、エントランスノード41の性能、無線ネットワーク基地局42の性能、エリアに存在するロボット端末の数などに左右される。分割されたロボット稼働エリア40は、それぞれ1台のエントランスノード41が管理を行っており、当該エリアの無線ネットワーク基地局42も、エリアの管理を行うエントランスノードと接続している。無線ネットワーク基地局42は、全ての受信トラフィックをエントランスノードに送信し、またエントランスノードからの信号をロボット端末に対して送信する役割を担う。
【００５９】
図5に示すロボット端末(50)は、無線モジュール(501)とバッテリー(502)と環境センサ(503)とカメラ(504)と前輪モーター(505)と後輪モーター(506)とライントレースカメラ(507)によって構成されている。無線モジュールはエリアに配置されている無線ネットワーク基地局42と通信を行うほか、エントランスノード41にて、複数の無線ネットワーク基地局42からの信号の遅延を計測することで位置情報の検出に用いる。バッテリー502はロボット全体を駆動するための充電式のバッテリーであり、ロボット端末全体に電力を供給するほか、自身の電力の残量を監視し、エントランスノード41に対して通知を行っている。
【００６０】
環境センサ503は、ロボットの内部や周辺の温度情報などの環境に関わる情報を収集することで、ロボット稼働エリア内の環境情報を収集したり、ロボット単体のオーバーヒートなどの異常検出などに用いられる。カメラ504は前方に位置するカメラで、進行方向に対する画像データから障害物や他のロボット端末の検知に用いられる。前輪モーター505及び後輪モーター506は、ロボットの移動に用いられる。ライントレースカメラ507はロボットが位置を判断し移動するために床に引かれている基本経路を示すラインを識別するためのカメラである。
【００６１】
ロボット端末50の制御は複雑で多岐にわたるため、複数のエントランスノード41が分担して実施する。個別のロボットの制御は、個別のエントランスノードで担当しつつ、必要に応じてエントランスノード同士が通信を行うことが望ましい。エントランスノードが自身で処理する処理内容が存在する、図9の990に相当する場合がこれに該当する。一方で、バッテリー残量の情報と給電ステーションの使用率などの情報は、一大のエントランスノードが一元管理することが望ましい。これは、図9の981、982での処理に相当する。
【００６２】
また、多くのロボット端末が特定エリアに集中した場合には、エントランスノード間で通信を行うことで、他のエリアのエントランスノードが制御を担当するなど、負荷分散処理を行う。この負荷分散の処理は図9の961,962,963の処理に相当する。負荷分散を行う際には各ノードの担当している処理の実行周期や負荷の大きさをエントランスノードが個別に積算した値を通知し合い、その相対を元に分担する作業を、データの経路なども考慮しつつ決定する。ロボットの基本的な動作を管理する制御に関わる各種センサ情報は、複数を組み合わせる必要があるため、ロボット毎に1台のエントランスノードが処理を行う方が効率的である。このようなセンサ情報としては、無線モジュール501の位置情報、カメラ504、ライントレースカメラ507の映像、前輪モーター505、後輪モーター506の動作の管理などが含まれる。
【００６３】
ロボットのセンサ情報は、その時々でロボットに近いエントランスノードが優先的に担当する方式が考えられる。この場合は、管理テーブル１０００の該当する処理に関するエントリの移動可否１０８０は、「yes」と設定されている。エントランスノード１２は、管理テーブルの該当エントリの移動可否１０８０のフラグを参照し、ロボットがエリアを越えて異なるエントランスノードのエリアに移動した場合に処理内容を含めて別のエントランスノードに引き継ぐ。このとき、ロボットが異なるエリア間を移動する頻度が低く、また一度移動した後は戻ってくることが少ない場合に、エントランスノード間の通信を減らす効果が得られる。このときの移行処理は図9の961,962,963に相当する。
【００６４】
また、一方で、ロボット毎に1台のエントランスノードが固定的に担当する方式も考えられる。この場合は、管理テーブル１０００の該当する処理に関するエントリの移動可否１０８０は、「no」と設定されている。この方式では、ロボットがエリア外に移動した場合においても、他のエントランスノード経由でロボット端末５０から情報を取得する。そのため、処理の担当自体をエントランスノード間で受け渡す必要がないという利点が存在する。つまり、これは図9において、961などで分担を変更せず、981,982の他のエントランスノードへの転送処理で対応する方式である。
【００６５】
一方で、ロボットの制御情報を、複数のエントランスノードで共同で管理することで、複数のロボットの衝突防止などの位置管理やエリアをまたぐ際の制御のハンドオーバーの際、センサテーブル、管理テーブルで共有するデータを用いて処理を行う。この方式では、複数のエリアとの境界に近いエリアにいるロボットの情報と制御処理の内容を、複数のエリアで共有することで実現する。
【００６６】
一方で、ロボット以外の位置的な要因で、特定のエントランスノードが処理を行うことが望ましい処理が存在する。例えば、バッテリーの充電状況の管理は、充電スタンドが存在するエリアのエントランスノードが、充電スタンドの使用状況と全端末のバッテリー使用状況を収集して行う。そのため、全てのエントランスノードは、収集しているバッテリー情報については、該当するエントランスノードに対して送信する。これらは、図9の981及び982の処理に相当する。
【００６７】
また、別の監視内容として環境センサによる環境情報の収集が存在する。これらの情報はそれぞれのエントランスノードにて一度フィルタリングなどの操作によりデータ量を減少させた上で、異常監視を行うための特定のエントランスノードに送信される。異常監視を行うエントランスノードは、特定の異常を知らしめるための何らかのアクチュエータ類を保有している場合や、単純に最も負荷の少ないエントランスノードが選択される場合などが考えられる。この特定のエントランスノード以外の端末は、図9の981及び982の処理を通じて、これらの以上監視で用いるデータを、特定のエントランスノードへ転送する。
【符号の説明】
【００６８】
エントランスノード１２―１，１２−２、１２−３
センサテーブル更新部１２１０、
ＥＮ間通信インターフェース１２０１−３
処理内容検索部１２０２，
データ処理部１２０４、
管理メモリ１２０８、
負荷監視部１２１１
【図１】
0005639945.tif 000002
【図２】
0005639945.tif 000003
【図３】
0005639945.tif 000004
【図４】
0005639945.tif 000005
【図５】
0005639945.tif 000006
【図６】
0005639945.tif 000007
【図７】
0005639945.tif 000008
【図８】
0005639945.tif 000009
【図９】
0005639945.tif 000010
【図１０】
0005639945.tif 000011