(57)【要約】【課題】  現状のデータセンタやエントランスノードの各処理ノードで実行するアプリケーションは固定的に決まっており、またアクチュエータの存在と、アクチュエータへのフィードバック制御時間の要求値を考慮していない。【解決手段】  アクチュエータ１３、センサ１４が接続されたネットワークノード１２が複数存在する分散処理環境において、管理ノード１６は、メモリ３８中のテーブルに蓄積された利害得失判定要素に基づき、アクチュエータ１３へのフィードバック制御の際のネットワーク遅延を最小とすることが可能な、各種のアプリケーションのネットワークノードへの配置制御を実行する。【選択図】  図９Ａ
2013020430.tif 000002
【特許請求の範囲】
【請求項１】
端末が接続された複数のネットワークノードと管理ノードとをネットワークを介して接続した分散処理ノードシステムであって、
前記管理ノードは、複数のアプリケーションを備え、
前記管理ノードは、
前記アプリケーションを複数の前記ネットワークノードで実行する場合の利害得失判定要素に基づき、前記アプリケーションの実行位置を決定し、
当該決定結果に基づき、前記ネットワークノードへの複数の前記アプリケーションの配布を実行する、
ことを特徴とする分散処理ノードシステム。
【請求項２】
請求項１に記載の分散処理ノードシステムであって、
前記端末には少なくとも一個のアクチュエータとセンサを含み、
複数の前記アプリケーションには、前記アクチュエータへのフィードバック制御を行うアプリケーションを含む、
ことを特徴とする分散処理ノードシステム。
【請求項３】
請求項１に記載の分散処理ノードシステムであって、
前記利害得失判定要素は、複数の前記ネットワークノードにおける処理負荷、前記アプリケーションが実行される前記ネットワークノードと前記端末間のネットワーク遅延、及びデータ量である、
ことを特徴とする分散処理ノードシステム。
【請求項４】
請求項３に記載の分散処理ノードシステムであって、
前記管理ノードは、
前記利害得失判定要素の実測値と要求値を比較し、比較結果に基づき、前記アプリケーションの配布の再実行を行う、
ことを特徴とする分散処理ノードシステム。
【請求項５】
請求項１に記載の分散処理ノードシステムであって、
前記管理ノードは、
前記アプリケーションの実行位置を変更した際、前記ネットワークノードのトラフィックの伝送先を更新する、
ことを特徴とする分散処理ノードシステム。
【請求項６】
請求項１に記載の分散処理ノードシステムであって、
前記管理ノードは記憶部を更に備え、
前記記憶部は、複数の前記アプリケーションを実行する前記ネットワークノードを管理するアプリケーション実行位置管理テーブルを記憶する、
ことを特徴とする分散処理ノードシステム。
【請求項７】
請求項２に記載の分散処理ノードシステムであって、
前記管理ノードは記憶部を更に備え、
前記記憶部は、前記アクチュエータ、及び前記センサのＩＰ（Internet Protocol）アドレスと、接続先の情報を蓄積するセンサ、アクチュエータ管理テーブルを記憶する、
ことを特徴とする分散処理ノードシステム。
【請求項８】
端末が接続された複数のネットワークノードとネットワークを介して接続される分散処理ノードシステムの管理ノードであって、
複数のアプリケーションが記憶される記憶部と、処理部とを備え、
前記処理部は、
前記アプリケーションを複数の前記ネットワークノードで実行する場合の利害得失判定要素に基づき、前記アプリケーションの実行位置を決定し、
当該決定結果に基づき、前記ネットワークノードへの複数の前記アプリケーションの配布を実行する、
ことを特徴とする管理ノード。
【請求項９】
請求項８に記載の管理ノードであって、
前記端末には少なくとも一個のアクチュエータとセンサを含み、
複数の前記アプリケーションには、前記アクチュエータへのフィードバック制御を行うアプリケーションを含む、
ことを特徴とする管理ノード。
【請求項１０】
請求項８に記載の管理ノードであって、
前記記憶部は、前記利害得失判定要素を蓄積するテーブルを記憶し、前記利害得失判定要素は、複数の前記ネットワークノードにおける処理負荷、前記アプリケーションが実行される前記ネットワークノードと前記端末間のネットワーク遅延、及びデータ量を含む、
ことを特徴とする管理ノード。
【請求項１１】
請求項８に記載の管理ノードであって、
前記処理部は、前記利害得失判定要素の実測値と要求値を比較し、当該比較結果に基づき、前記アプリケーションの配布の再実行を行う、
ことを特徴とする管理ノード。
【請求項１２】
端末が接続された複数のネットワークノードとネットワークを介して接続される分散処理ノードシステムの管理ノードの制御方法であって、
前記管理ノードは、複数のアプリケーションが記憶される記憶部と、処理部とを備え、
前記処理部は、
前記アプリケーションを複数の前記ネットワークノードで実行する場合の利害得失判定要素に基づき、前記アプリケーションの実行位置を決定し、
決定結果に基づき、前記ネットワークノードへの複数の前記アプリケーションの配布を実行する、
ことを特徴とする管理ノードの制御方法。
【請求項１３】
請求項１２に記載の管理ノードの制御方法であって、
前記端末は少なくとも一個のアクチュエータを含み、複数の前記アプリケーションには、前記アクチュエータへのフィードバック制御を行うアプリケーションを含む、
ことを特徴とする管理ノードの制御方法。
【請求項１４】
請求項１２に記載の管理ノードの制御方法であって、
前記利害得失判定要素は、複数の前記ネットワークノードにおける処理負荷、前記アプリケーションが実行される前記ネットワークノードと前記端末間のネットワーク遅延、及びデータ量を含む、
ことを特徴とする管理ノードの制御方法。
【請求項１５】
請求項１２に記載の管理ノードの制御方法であって、
前記処理部は、前記利害得失判定要素の実測値と要求値を比較し、比較結果に基づき、前記アプリケーションの配布の再実行を行う、
ことを特徴とする管理ノードの制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はネットワークシステムに係り、特に複数のコンピュータ間において通信を行う分散処理ノードシステムの高機能処理技術に関する。
【背景技術】
【０００２】
ネットワークの普及に伴い、複数のネットワークシステムの情報を互いに共有し、新たな価値を創造することを目的とする大規模ネットワークシステムが考えられている。このような大規模ネットワークシステムでは、ネットワークトラフィックの増加とアプリケーションの複雑化に伴い、昨今のネットワークノードは、単純なパケットの転送能力だけではなく、特許文献１に示されているように、より高機能な処理を実現する性能を備えるようになってきた。
【０００３】
高機能な処理を実施するネットワークノードを利用する例としては、利用者の端末とデータセンタの間のネットワーク上で演算処理を実施することで、高速な応答を実現するネットワークが考えられている。このようなネットワークの例として非特許文献1に示されるクラウド型ネットワークが存在する。クラウド型ネットワークを構成する高機能ネットワークノードは、データセンタに向かうデータに対してフィルタリング処理や演算処理を行うことでトラフィックの効率化やネットワーク上での演算処理の代行を実現している。
【０００４】
高機能ネットワークノードは広域ネットワークの末端部分に配置され、センサやアクチュエータ等の端末からのトラフィックの監視とフィルタリングを行うことで、上位のシステムにおいて必要なデータのみを広域ネットワークに送信し、広域ネットワークの負荷を下げる。このような働きを行う広域ネットワークの末端部分に配置される高機能ネットワークノードを、エントランスノードと呼称している。さらに、本ネットワークシステムでは、一部の演算処理をエントランスノードにて代替することで、広域ネットワークを介して通信を行わずに、短時間での応答を実現することが可能となる。
【０００５】
エントランスノードでは、上記のようなトラフィックの監視、フィルタリング、あるいは一部の演算処理の代替を行うことで短い応答時間を達成するための高速応答処理を実現するために、配下に存在する端末類の管理と、自らのリソースの管理とを行う。例えば、データを送信するセンサや、稼働するアクチュエータを有する末端のノードがどのエントランスノードと接続しているかといった情報や、どのエントランスノードにてそれぞれのフィルタリング処理を実現するかといった情報を保有している。また、これらの情報の横断的な管理は、より上位に存在する管理用のサーバが、複数のエントランスノードと横断的に通信を行うことで行う。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００７−２６３０３号公報
【非特許文献】
【０００７】
【非特許文献１】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つとしている。さらに、本実施例のもう1つの目的として、高速な応答が要求される場合に、演算処理の結果を受けてエントランスノードに接続しているアクチュエータ１３に対して、操作のための信号をエントランスノードが、フィードバック送信することがあげられる。これは、通常の処理では、データセンタ１０にて処理された結果に応じてアクチュエータ１３が操作され、この場合にはアクチュエータ１３からデータセンタ１０までの転送時間の分、遅延時間が大きくなるためである。
【００２４】
図２は、本実施例における分散処理ノードシステムの管理ノード１６が管理する、センサ１４、アクチュエータ１３の管理テーブルを示す。この管理テーブル２０は、後で説明する管理ノード１６内部の記憶部に記憶される。センサ、アクチュエータ管理テーブル２０では、テーブル最上段行に示すように各種端末の種類を示すデバイス種別、情報種別、IP(Internet Protocol)アドレス、接続先、接続ポート、処理ノードをそれぞれ管理する。デバイス種別では、接続したデバイスがセンサであるかアクチュエータであるかを示す。情報種別では、センサとアクチュエータが扱う情報の種別を示す。図２に示すようにその種別には、電圧、周波数、開閉器等がある。IPアドレスでは、センサとアクチュエータに設定したIPアドレスを示す。接続先では、センサとアクチュエータを接続する処理ノードのIPアドレスを示す。接続ポートでは、センサとアクチュエータを接続する処理ノードのポートを示す。処理ノードでは、センサとアクチュエータを接続する処理ノードを示す。図１のシステム構成あっては、処理ノードはデータセンタやエントランスノード等である。
【００２５】
図３は、本実施例における分散処理ノードシステムのアプリケーション配布の構成の一例を示す。データセンタ１０と、エントランスノード１２と、管理ノード１６は通常のコンピュータ構成を備えている。図３では、データセンタ１０を例示してその内部構成を示したが、他のエントランスノードや管理ノードも同様な構成を備えている。なお、データセンタ１０とエントランスノード１２は、管理ノード１６の管理マネージャと通信し、アプリケーションの配布を受け付ける機能を実行する管理機構を含む。
【００２６】
図３のデータセンタ１０に例示するように、その最下位層に、ネットワークインタフェースである入出力部(Input Output Unit：Ｉ／Ｏ)３０、処理部である中央処理部(Central Processing Unit：ＣＰＵ)３１、各種のプログラムやデータを記憶する記憶部であるメモリ３２等のハードウェアを備える。そして、その上位層にデータの伝送先を制御する伝送制御機能３３があり、その上位層にオペレーティングシステム(Operating System：ＯＳ)を含むアプリケーション実行基盤３５があり、その上位層で各種のアプリケーション３６が動作する構成となる。なお、３４は上述した管理機構である。これらの上位層の各機能は、ＣＰＵ３１が実行する各種のプログラムとして提供され、メモリ３２に記憶された各種のプログラムが実行されることによって実現される。本実施例の分散処理ノードシステムにおいては、データセンタ１０に加え、エントランスノード１２−１〜１２−３や管理ノード１６が、広域ネットワーク網１１を介して接続される。
【００２７】
広域ネットワーク網１１を介して接続される管理ノード１６は、後で詳述する内部の管理マネージャ３７の機能を用いて、メモリに記憶する各種のアプリケーションＡＰ＃０〜ＡＰ＃３を、データセンタ１０やエントランスノード１２−１〜１２−３に配布する。
【００２８】
なお、説明を省略するが、図３に示す通り、上述したデータセンタ１０と同様、各エントランスノード１２と管理ノードは、ＣＰＵ、メモリ、Ｉ／Ｏからなるハードウェアを備え、メモリにはＣＰＵで実行される管理マネージャやＡＰ実行基盤等の各種の機能プログラムやデータが記憶される。また、図２に示したセンサ、アクチュエータ管理テーブル２０は、管理ノード１６のメモリに記憶され、管理マネージャ３７によって管理される。なお、図３には各ノードにおける、各種の機能プログラムを図示したが、管理ノード１６は、アプリケーションＡＰ＃０〜ＡＰ＃３を記憶するが、それ自身が実行する必要はなく、データセンタ１０、エントランスノード１２−１〜１２−３が、それぞれアプリケーションＡＰ＃０〜ＡＰ＃３を実行する。
【００２９】
図４は、本実施例における分散処理ノードシステムにおける、アプリケーション配置要求シーケンスの一例を示す。第１に、管理ノードの図示を省略した管理者は、インタフェース部を介して、アプリケーションの配置要求を実施する際、管理ノード１６に対してアプリケーション配置問合せを行う。第２に、アプリケーション配置問合せに対応し、管理ノード１６はアプリケーション配置案を作成し、データセンタ１０、エントランスノード１２−１〜１２−３の各処理ノードに対して、アプリケーションＡＰ＃０、ＡＰ＃１、ＡＰ＃２、ＡＰ＃３の配置要求を送信する。このとき、これらのアプリケーション配置要求を受付けた各処理ノード１０、１２−１〜１２−３は、アプリケーションの配置可否の判定を行い、配置可能なときノード内のリソースの仮予約を実施したうえで、管理ノード１６に対して完了通知（ＡＣＫ）を返信する。
【００３０】
第３に、管理ノード１６は各処理ノード１０、１２−１〜１２−３に要求したアプリケーション配置要求に対する完了通知をすべて受信したとき、インタフェース部を介して、管理者に対して完了通知を返信する。このとき、アプリケーションの配置案（アプリ配置案）と完了通知を併せて管理者に返信しても良い。なお、各処理ノードにおいてアプリケーションの配置可否の判定を実施した結果、自身の処理ノードでは配置不可能のとき、管理ノード１６に対して完了通知（ＮＡＣＫ）を返信する。完了通知（ＮＡＣＫ）を受信した管理ノードは、アプリケーションの配置案を再度作成し、処理ノード１０、１２−１〜１２−３に対してアプリケーション配置要求を送信することを繰り返す。
【００３１】
図５は、本実施例における管理ノード１６からのアプリケーションの配布シーケンスの一例を示す。第１に、図４のアプリケーション配置要求シーケンスに示した通りにアプリケーション配置要求が完了したとき、管理者はインタフェース部を介して、アプリケーションの配布承認（アプリ配布）を管理ノード１６に送信する。第２に、管理ノード１６は、受付けたアプリ配布に対応して、アプリケーション実行位置管理テーブルの情報をもとに、各処理ノード１０、１２にアプリケーションＡＰ＃０〜ＡＰ＃３を配布する。
【００３２】
このとき、アプリケーションの配布を受け付けた各処理ノード１０、１２−１〜１２−３は、自身の処理ノードにインストールしてネットワーク設定を実行し、完了通知（ＡＣＫ）を管理ノード１６に対して返信する。第３に、管理ノード１６はユーザが登録したアプリケーションの配布がすべて完了したとき、後述するセンサ、アクチュエータ管理テーブルを更新し、インタフェース部を介して、管理者に対して完了通知を返信する。
【００３３】
図６は、本実施例の分散処理ノードシステムの管理ノード１６の管理マネージャ３７におけるアプリケーション配置要求機能の処理フローチャートを示す。先に述べたように、管理マネージャ３７は、管理ノード１６のＣＰＵで実行されるプログラムとして提供される。第１に、アプリケーション配置要求機能のアプリ配置問合せ受付のシーケンス（６１）では、管理者からのアプリ配置問合せが無いときに待機し、アプリ配置問合せがあったときに次のシーケンスに移行する。第２に、アプリ配置案作成のシーケンス（６２）では、各処理ノードに対するアプリケーションの配置案を作成する。なお、配置問合せに対応する配置案は、あらかじめ管理者が管理ノード１６のメモリ等に登録しておいても良い。
【００３４】
第３に、アプリ配置要求送信のシーケンスでは、第２のシーケンス（６２）で決定した配置案を基にして、各処理ノード１０、１２−１〜１２−３に対してアプリ配置要求を送信する（６３）。第４に、完了通知受信待ちのシーケンス（６４）では、第３のシーケンス（６３）で送信したアプリ配置要求に対する完了通知の返信をすべて受信するまで待機し、すべて受信できたときに次のシーケンスに移行する。第５に、完了通知送信シーケンス（６５）では管理者に対して完了通知を返信する。このとき、アプリケーション配置案と共に返信しても良い。
【００３５】
図７は、本実施例の分散処理ノードシステムの管理ノード１６の管理マネージャ３７におけるアプリケーション配布機能の処理フローチャートを示す。第１に、アプリ配布承認受付のシーケンス（７１）では、管理者からのアプリ配布承認が無いときに待機し、アプリ配布承認があったときに次のシーケンスに移行する。通常、このアプリ配布承認は、図６の処理フローの完了通知に応答して、管理者が送信する。第２に、アプリ展開のシーケンス（７２）では、管理者が送信したアプリケーションを展開する。このとき、アプリケーションは圧縮形式のアーカイブとして管理者から管理ノード１６に送信しても良い。
【００３６】
第３に、アプリ配布のシーケンス（７３）では、図６のアプリケーション配置要求機能を用いて決定した配置案を基にして、各処理ノードに対してアプリケーションを配布する（７３）。第４に、完了通知受信待ちのシーケンス（７４）では、第３のシーケンスで送信したアプリ配布に対する完了通知の返信をすべて受信するまで待機し、すべて受信できたときに次のシーケンスに移行する。第５に、センサ、アクチュエータ管理テーブル更新のシーケンス（７５）では、後述するアプリケーション実行位置管理テーブルを更新する。第６に、完了通知送信シーケンス（７６）では管理者に対して完了通知を返信する。
【００３７】
図８は、アプリケーション実行位置がパターン１の場合の、分散処理ノードシステムの管理ノード１６におけるアプリケーション実行位置管理テーブルの一例を示す。なお、パターン１のアプリケーション実行位置は、図３に示したアプリケーションの実行位置と同一であり、ここでは図示を省略した。アプリケーション実行位置管理テーブル８０では、アプリケーション名８１、アプリケーションの実行ノード名８２、アプリケーションの処理内容８３、アプリケーションによる処理結果の送信先８４を示す。このアプリケーション実行位置管理テーブル８０は、管理マネージャ３７が管理する。
【００３８】
アプリケーション名８１では、アプリケーション実行位置管理テーブル８０において重なりのない任意の名称を示す。実行ノード名８２では、アプリケーションを実行する処理ノードの名称を示す。処理内容で８３は、アプリケーションで実施する処理の内容を示す。ただし、処理内容については必ずしも管理テーブル８０に記載しておく必要はない。処理結果の送信先では、アプリケーションで実施した処理結果を送信する処理ノードまたはアクチュエータを示す。
【００３９】
図８では、センサ＃１〜センサ＃６の異常値判定とアクチュエータ＃１の制御を実施するＡＰ＃０をデータセンタ１０で実行し、センサ＃１とセンサ＃２の伝送処理を実施するＡＰ＃１をエントランスノード＃１  １２−１で実行し、センサ＃３とセンサ＃４の伝送処理を実施するＡＰ＃２をエントランスノード＃２  １２−２で実行し、センサ＃５とセンサ＃６の伝送処理を実施するＡＰ＃３をエントランスノード＃３  １２−３で実行する例を示す。また、ＡＰ＃１、ＡＰ＃２、ＡＰ＃３のアプリケーションは、センサデータを圧縮処理してデータ量を削減する機能を持つ。
【００４０】
図９Ａ、図９Ｂは、本実施例の分散処理ノードシステムにおけるアプリケーション実行位置別の利害得失判定を説明するためのシステム構成と、利害得失判定要素テーブル９０を示す図である。図９Ａのシステム構成図は、図３と同一であり、同図のｒ１〜ｒ１１は、各処理ノード間の経路を示している。なお、管理ノード１６中のメモリ３８に各種テーブル３９が蓄積されている。管理ノード１６中の管理マネージャ３７が、後で詳述する利害得失判定の結果に基づき、伝送先管理を行う。アプリケーションの実行位置を決めるにあたっての利害得失の判定要素には、メモリ３８の各種テーブル３９中の一つである、図９Ｂに示したテーブル９０のように、データ量、ネットワーク遅延、処理負荷の要素が存在する。データ量では、各エントランスノードが送信するデータ量とデータセンタが受信するデータ量を判定要素とする。ネットワーク遅延では、アクチュエータの制御を含むアプリケーションＡＰ＃０の処理ノードとアクチュエータのネットワーク遅延を判定要素とする。処理負荷では、各処理ノードのアプリケーションの実行にともなう処理負荷を判定要素とする。
【００４１】
図８で説明したパターン１では、各エントランスノード１２−１〜１２−３から送信するデータ量は、図９Ａのテーブル９０に示すとおり、圧縮データｄ１、ｄ２、ｄ３となる。その結果、データセンタ１０で受信するデータ量は、ｄ１、ｄ２、ｄ３の総和となる。パターン１では、アクチュエータ１３の制御を含むアプリケーションＡＰ＃０をデータセンタ１０で実行するため、ＡＰ＃０とアクチュエータ１３のネットワーク遅延は、図９Ａに示す、複数の経路ｒ１１、ｒ８、ｒ１の遅延の総和となる。処理負荷は、データセンタ１６でＡＰ＃０、エントランスノード＃１  １２−１でＡＰ＃１、エントランスノード＃２  １２−２でＡＰ＃２、エントランスノード＃３  １２−３でＡＰ＃３を実行する処理負荷である。パターン１では、各アプリケーションで同等の処理性能が必要な場合、各処理ノードで均等に処理負荷を分散させることが可能となる。
【００４２】
図１０は、本実施例の分散処理ノードシステムにおける管理ノード１６が、その記憶部であるメモリに記憶する伝送先管理情報テーブル１００の一例を示す。この伝送先管理情報テーブル１００は、管理ノード１６の管理マネージャ３７によって管理される。
【００４３】
伝送先管理情報テーブル１００では、管理機構位置１０１、情報種別１０２、位置１０３、値１０４を管理する。管理機構位置１０１では、管理機構の実装位置と管理機構を用いて取得するデータを管理する処理ノードの位置を示す。情報種別１０２では、管理機構を用いて取得するデータの種別を示す。情報種別１０２は具体的には、データ量、ネットワーク遅延、処理負荷から成る。位置１０３では、データ量、ネットワーク遅延、処理負荷の位置を示す。データ量とネットワーク遅延の位置は具体的には、処理ノードと処理ノードを繋ぐネットワーク経路を示す。処理負荷の位置は具体的には、処理が実行されるＣＰＵを示す。なお、処理負荷を管理する対象は、ＣＰＵ単位でもＣＰＵを実装したブレードサーバ単位でも良い。また、同様にしてメモリやＩ／Ｏの処理負荷を管理する構成としても良い。値１０４は、データ量の場合Ｂｙｔｅ、ネットワーク遅延の場合ｍｓ、処理負荷の場合％の単位を用いた値を示す。なお、管理する値の精度や単位は、あらかじめ設計して取り決める構成としても良い。
【００４４】
図１１は、本実施例の分散処理ノードシステムにおける伝送先管理の情報取得更新シーケンスの一例を示す。第１に、管理ノード１６は、管理マネージャ３７により、伝送先管理情報テーブル１００を作成する。第２に、各処理ノード１０、１２−１〜１２−３に対して取得要求を送信する。このとき、取得要求を受信した各処理ノードは、自身の処理ノードで取得可能な前述したデータ量、ネットワーク遅延、処理負荷を取得し、管理ノード１６に対して情報を送信する。第３に、各処理ノードからの情報を受信した管理ノード１６は、その情報を用いて伝送先管理情報テーブル１００を更新する。
【００４５】
図１２は、本実施例の分散処理ノードシステムにおける伝送先管理の情報取得機能の処理フローチャートを示す。第１に、管理ノード１６の管理マネージャ３７は、伝送先管理情報テーブル作成のシーケンス（１２１）では、前述の伝送先管理情報テーブル１００を作成する。なお、管理ノード１６が管理する処理ノードが追加されたときには伝送先管理情報テーブル１００にエントリーを追加する。また、管理ノード１６が管理する処理ノードが廃棄されたときには伝送先管理情報テーブル１００の該当エントリーを削除する。
【００４６】
第２に、取得要求送信のシーケンス（１２２）では、各処理ノードに対してデータ量、ネットワーク遅延、処理負荷の情報を取得するための取得要求を送信する。第３に、情報受信待ちのシーケンス（１２３）では、各処理ノードからの情報送信が無いときに待機し、情報送信があったときに次のシーケンスに移行する。第４に、伝送先管理情報テーブル更新のシーケンス（１２４）では、各処理ノードからの情報を用いて伝送先管理情報テーブルを更新する。第５に、定期的実行のシーケンス（１２５）では、本処理フローチャートを定期的に実行して情報を更新する場合に実行する時間となったとき第２の取得要求送信のシーケンス（１２２）に戻り、定期的に実行して情報を更新しない場合には終了する。なお、本実施例では、管理ノードが各処理ノードに対して取得要求を送信して、各処理ノードは取得要求があったときにデータ量、ネットワーク遅延、処理負荷を管理ノードに返信する構成を説明したが、各処理ノードが自身のタイミングで管理ノードに対して情報を送信しても良い。その場合、各処理ノードのタイミングは、あらかじめ設計して取り決める構成としても良い。
【００４７】
図１３は、本実施例の分散処理ノードシステムにおける、管理ノード１６の管理マネージャ３７による、伝送先管理のアプリケーション実行位置判定機構の処理フローチャートの一例を示す図である。同図において、管理ノード１６の管理マネージャ３７は、まず図１０の伝送先管理情報テーブル１００の値１０４を読み出し実測値を得る（１３１）。続いて、メモリに予め記憶された要求値を読み出し、或いは管理者等によって新たに入力された要求値を取得する（１３２）。そして、読み出した実測値と要求値とを比較して、実行位置判定を行う（１３３）。その結果、要求値を満たす（ＯＫ）と判断される場合は終了し、満たさない（ＮＧ）と判定される場合は、管理ノード１６は、アプリケーション配布の再実行を図４、図５、図６、図７で説明した処理フローに従い実行する（１３４）。このとき、要求値を満たす（ＯＫ）もしくは要求値を満たさない（ＮＧ）の結果を管理者に通知した上で図４、図５、図６、図７、で説明した処理フローに従い実行してもよい。
【００４８】
以上、説明した本実施例の分散処理ノードシステムによれば、センサ、アクチュエータが接続されたノードが複数存在する図１に示すような分散処理環境において、アクチュエータの存在とそのアクチュエータへのフィードバック時間の要求値を考慮してアプリケーションを配することで、アクチュエータに対するフィードバック遅延を最小にする分散処理ノードおよびその制御方式を提供することが可能となる。
【００４９】
すなわち、管理ノード１６は、ユーザ開発環境で作成された各種のアプリケーションＡＰ＃０〜ＡＰ＃３は、アプリケーション配布管理を用いて各処理ノードに配布する。管理ノード１６のアプリケーション配布管理は、第一に処理ノードのセンサ、アクチュエータ管理テーブルの情報を読み出し、第二にセンサ、アクチュエータ管理テーブル２０の情報を解析し、アクチュエータ１３が接続された処理ノードであるか否かとアクチュエータ１３への処理遅延要求値を判別する。第三にアクチュエータ１３への処理要求値を満足する処理ノードにアクチュエータのフィードバック処理を含むアプリケーションを配布する。同様にして、他の処理ノードにそれぞれアプリケーションを配布する。このとき、管理ノード１６は各処理ノードに配布したアプリケーションが処理したデータをどの処理ノードに伝送するかを、伝送先管理を用いて判別し、各処理ノードの伝送先制御を用いて伝送先を指定することができる。
【００５０】
次に、本実施例の分散処理ノードシステムにおいて、アプリケーション実行位置がパターン１以外の、パターン２〜４の場合について順次説明する。
【００５１】
図１４、図１５Ａ、図１５Ｂを用いて、アプリケーション実行位置がパターン２、即ち、本実施例の分散処理ノードシステムにおいて、すべてのアプリケーションをデータセンタで実行する場合について説明する。これは、図９Ｂに示したテーブル中のパターン２に対応する。図１４は全てのアプリケーションＡＰ＃０〜ＡＰ＃３をデータセンタ１０で実行する分散処理ノードシステムを示している。図１５Ａ、図１５Ｂはそれぞれ、図２に示したセンサ、アクチュエータ管理テーブル２０と図８に示したアプリケーション実行位置管理テーブル（パターン1）８０に対応する、パターン２に対するセンサ、アクチュエータ管理テーブル１５０、アプリケーション実行位置管理テーブル１５１を示している。
【００５２】
パターン２では、すべての処理をデータセンタ１０で実行させることで各エントランスノード１２−１〜１２−３の処理を低減させることが可能となる。一方、各エントランスノードから送信するデータ量は生データとなるため、パターン１の圧縮データが伝送される場合と比較してデータ量が増大する。同時にデータセンタ１０で受信するデータ量も増大する。ＡＰ＃０とアクチュエータのネットワーク遅延は、パターン１と同一となる。このようにパターン２は、広域ネットワークに帯域の余裕があり、かつ、各エントランスノードの処理負荷を低減したい場合に用いることが可能となる。
【００５３】
同様に、図１６、図１７Ａ、１７Ｂを用いて、アプリケーション実行位置がパターン３、即ち、本実施例の分散処理ノードシステムにおいて、ＡＰ＃０をエントランスノード＃１  １２−１で、その他のアプリケーションをデータセンタ１０で実行した場合について説明する。パターン３では、パターン２と同様のデータ量となる。一方、アクチュエータの制御を含むアプリケーションＡＰ＃０をエントランスノード＃１で実行するため、ＡＰ＃０とアクチュエータ１３のネットワーク遅延は、エントランスノード＃１  １２−１とアクチュエータ＃１  １３の経路r1のみとなる。このようにパターン３は、広域ネットワークに帯域の余裕がありデータセンタですべてのアプリケーションを実行可能である一方、アクチュエータへのフィードバック制御に関わるネットワーク遅延を最小にする場合に用いることが可能となる。
【００５４】
最後に、図１８、図１９Ａ、図１９Ｂを用いて、アプリケーション実行位置がパターン４、即ち、エントランスノード＃１  １２−１でＡＰ＃０とＡＰ＃１、エントランスノード＃２  １２−２でＡＰ＃２、エントランスノード＃３  １２−３でＡＰ＃３を実行した場合について説明する。パターン４では、各エントランスノードから送信するデータ量はパターン１と同等となる。また、アクチュエータの制御を含むアプリケーションＡＰ＃０をエントランスノード＃１で実行するため、パターン３と比較してエントランスノード＃１の処理負荷は増大するが、ＡＰ＃０とアクチュエータのネットワーク遅延はパターン３と同等である。このようにパターン４は、ネットワーク遅延の増大を招くデータセンタを利用せずに、エントランスノードからの送信データ量を抑え、かつアクチュエータへのフィードバック制御に関わるネットワーク遅延を最小にする場合に用いることが可能となる。
【００５５】
以上に詳述したごとく、本発明によれば、システムの要求条件に応じたアプリケーションの実行位置を決定することが可能となり、特にアクチュエータの存在と、そのアクチュエータへのフィードバック遅延を最小にすることが可能となる。更にまた、本発明においては、センサ、アクチュエータが接続されたノードが複数存在する分散処理環境においては特に、アクチュエータの存在とそのアクチュエータへのフィードバック時間の要求値を考慮してアプリケーションを配することで、アクチュエータに対するフィードバック遅延を最小にする分散処理ノードおよびその制御方式を提供することが可能となる。
【００５６】
このような、フィードバック遅延を最小にすることにより、例えば、データセンタを利用した電力の系統安定化システムの様に、充電ステーション、太陽光発電設備、系統安定化制御を行う配電設備等は、それぞれ地理的に分散しており、ネットワークを介してデータセンタと接続され、各需要サイドの拠点からのデータを収集して情報処理した結果を用いて各供給サイドの拠点にフィードバック制御を実施する場合、需要サイドと供給サイドの各拠点とデータセンタ間のネットワークの遅延を最小に抑えることが可能となり、緊急を要するフィードバック処理を適切に実行することが可能となる。
【００５７】
なお、本発明は上記した実施例に限定されるものではなく、様々な変形例が含まれる。例えば、上記した実施例は本発明を分かりやすく説明するために詳細に説明したのであり、必ずしも説明の全ての構成を備えるものに限定されものではない。例えば、上記の実施例が適用される分散処理ノードシステムにおいては、広域ネットワーク網を介してデータセンタとエントランスノードが接続される構成を備えていたが、本発明は、このような二層構成の分散処理ノードシステムのみならず、例えば上述した非特許文献１の図１に示すような、データセンタとエントランスノードの間に、更に情報処理機能と通信処理機能を備えるインテリジェントノードを介在させた三層以上の複層構成を有する分散処理ノードシステムにも適用できる。データセンタが一個のみならず、複数存在する分散処理ノードシステムにも適用可能であることは言うまでもない。
【００５８】
また、上記の各構成、機能、処理部、処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、上記の各構成、機能等は、プロセスがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウェアで実現する場合を説明したが、各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリのみならず、ハードディスク、ＳＳＤ（Solid State Drive）等の記録装置、または、ＩＣカード、ＳＤカード、ＤＶＤ等の記録媒体におくことができるし、必要に応じてネットワーク等を介してダウンロード、インストールすることも可能であることは言うまでもない。
【符号の説明】
【００５９】
１０  データセンタ
１１  広域ネットワーク網
１２  エントランスノード
１３  アクチュエータ
１４  センサ
１５  配置単位
１６  管理ノード
２０、１５０、１７０、１９０  センサ、アクチュエータ管理テーブル
３０  Ｉ／Ｏ
３１  ＣＰＵ
３２  メモリ
３３  伝送先制御
３４  管理機構
３５  ＡＰ実行基盤
３６  ＡＰ
３７  管理マネージャ
３８  メモリ
３９  各種テーブル
８０  １５１、１７１、１９１  アプリケーション実行位置管理テーブル
１００  伝送先情報管理テーブル
【図１】
2013020430.tif 000003
【図２】
2013020430.tif 000004
【図３】
2013020430.tif 000005
【図４】
2013020430.tif 000006
【図５】
2013020430.tif 000007
【図６】
2013020430.tif 000008
【図７】
2013020430.tif 000009
【図８】
2013020430.tif 000010
【図９Ａ】
2013020430.tif 000011
【図９Ｂ】
2013020430.tif 000012
【図１０】
2013020430.tif 000013
【図１１】
2013020430.tif 000014
【図１２】
2013020430.tif 000015
【図１３】
2013020430.tif 000016
【図１４】
2013020430.tif 000017
【図１５Ａ】
2013020430.tif 000018
【図１５Ｂ】
2013020430.tif 000019
【図１６】
2013020430.tif 000020
【図１７Ａ】
2013020430.tif 000021
【図１７Ｂ】
2013020430.tif 000022
【図１８】
2013020430.tif 000023
【図１９Ａ】
2013020430.tif 000024
【図１９Ｂ】
2013020430.tif 000025