(57)【要約】【課題】サービスクラウド上における制御プログラムを用いる対象装置の数が増加しても、対象装置からのリクエストメッセージに対し、要求される処理速度に対応した時間でレスポンスを、対象装置に返すことができるネットワークシステム及びプログラムモジュールを提供するを提供する。【解決手段】本発明は、クラウド上に配置された、制御対象の対象機器における制御単位毎の制御モジュールから構成される制御プログラムを有する制御サーバと、対象機器が制御のリクエストを出力し、リクエストに対応するレスポンスを対象機器に供給するエッジと、制御サーバとエッジとをアグリゲーションネットワークとして接続する、制御サーバとエッジの各々との間にツリー構造上に設けられた複数の中継ルータとを備え、対象機器からのリクエストを制御サーバへ送信する中継ルータに対し、制御サーバから複写された、対象機器を制御する制御モジュールが分散配置される。【選択図】図１
2018148321.tif 000002
【特許請求の範囲】
【請求項１】
クラウド上に配置された、制御対象の対象機器における制御単位毎の制御モジュールから構成される制御プログラムを有する制御サーバと、
前記対象機器が制御のリクエストを出力し、当該リクエストに対応するレスポンスを前記対象機器に供給するエッジと、
前記制御サーバと前記エッジとをアグリゲーションネットワークとして接続する、前記制御サーバと前記エッジの各々との間にツリー構造上に設けられた複数の中継ルータと
を備え、
前記対象機器からのリクエストを前記制御サーバへ送信する前記中継ルータに対し、前記制御サーバから複写された、当該対象機器を制御する前記制御モジュールが分散配置される
ことを特徴とするネットワークシステム。
【請求項２】
前記制御モジュールの各々が、前記レスポンスを前記対象機器に返す時間に対応した位置の前記中継ルータに配置される
ことを特徴とする請求項１に記載のネットワークシステム。
【請求項３】
前記制御モジュールの各々が、前記レスポンスを前記対象機器に返す時間が短いほど、前記制御サーバにより近い中継ルータに配置されることを特徴とする請求項２に記載のネットワークシステム。
【請求項４】
前記制御モジュールの各々が、所定時間当たりに要求される前記リクエストの頻度に対応した位置の中継ルータに配置される
ことを特徴とする請求項１に記載のネットワークシステム。
【請求項５】
前記制御モジュールの各々が、所定時間当たりに要求される前記リクエストの頻度が少ないほど、前記制御サーバにより近い中継ルータに配置されることを特徴とする請求項４に記載のネットワークシステム。
【請求項６】
前記制御モジュールの各々が、位置している中継ルータから、前記制御サーバにより近い中継ルータに移動する際、少なくとも、前記エッジからのアクセス距離、当該エッジを共用する前記対象機器の接続数、及び配置する前記中継ルータのコストの各々に基づき、所定の中継ルータに移動する
ことを特徴とする請求項１に記載のネットワークシステム。
【請求項７】
前記アグリゲーションネットワークにおけるツリー構造で接続されている複数の前記中継ルータにおいて、
前記中継ルータの一の中継ルータに対し、前記ツリー構造における前記エッジにより近く、前記制御モジュールを有していない下流の二の中継ルータからリクエストが供給された際、当該一の中継ルータ自身が前記制御モジュールを有していない場合、前記ツリー構造における前記一の中継ルータより下流にあり、前記制御モジュールを備えている三の中継ルータに対して、前記リクエストを出力する
ことを特徴とする請求項１から請求項６のいずれか一項に記載のネットワークシステム。
【請求項８】
クラウド上に配置された制御サーバに記憶された制御プログラムを構成する、制御対象の対象機器における制御単位毎のプログラムモジュールであり、
前記制御サーバと前記対象機器が制御のリクエストを出力し、当該リクエストに対応するレスポンスを前記対象機器に供給するエッジの各々との間にツリー構造上に設けられた複数の中継ルータ間において、所定の配置位置の中継ルータから、前記対象機器から前記制御サーバに対して送信される、当該対象機器の制御に関するリクエストに対応して決定される配置位置の前記中継ルータに自律的に移動する
ことを特徴とするプログラムモジュール。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワークシステム及びプログラムモジュールに関する。
【背景技術】
【０００２】
従来から、クラウドに設けられたロボット制御システムが用いられ、計算能力及び記憶容量が低いロボットに対し、計算及び記憶などのハードウェア及びソフトウェアの資源を供給し、高機能のロボットとして動作させることが行なわれている（例えば、特許文献１参照）。上記ロボット制御システムは、例えばクラウド上のＲＯＳ（Robot Operating System）である。このとき、クラウド上のロボット制御システムに対し、ロボットからリクエストメッセージを送信した後、ロボット制御システムがリクエストに対応した演算処理等を行なう。そして、ロボット制御システムは、演算結果をレスポンスメッセージとして、ロボットに対して送信する。
【０００３】
しかし、ロボット制御システムを使用するロボット数が増加するに従い、クラウド上のサーバに対するトラフィックが増加し、ロボットとロボット制御システムとの間の通信遅延が存在する。このため、処理によっては高速にレスポンスが必要な場合があるが、特許文献１の構成であると、ロボット制御システムは、ロボットに対して高速な処理に対応できない。例えば、ロボット制御システムの制御対象が、自動運転の車である場合、ブレーキの制御の処理のリクエストメッセージに対しては、高速に（リアルタイムに）レスポンスメッセージを返す必要がある。
【０００４】
このため、クラウド上のロボット制御システムのようなサービスを提供するサーバに、効率的にロボットとの回線を接続することができるアグリゲーションネットワーク（例えば、特許文献２参照）を用いることが考えられる。そして、このアグリゲーションネットワークのエッジに、ロボット制御システムをコピーしておくことにより、通信遅延が無くなり、ロボットからのリクエストメッセージに対して高速にレスポンスメッセージをエッジから返すことが可能となる。ここで、エッジとは、例えばアグリゲーションネットワークのツリー構造の末端に配置されているサーバ、あるいはルータである。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特表２０１３−５３６０９５号公報
【特許文献２】特開２０１１−１８８２６３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、同一のエッジを多くのロボットが利用する場合、エッジにおける計算及び記憶の資源（リソース）に限りがあり、全てのリクエストに対して対応することはできない。例えば、ロボット制御システムの制御対象が、自動運転の車である場合、エッジを利用する車の種類は一つではなく、それぞれの車の種類毎のロボットに対応するロボット制御システムのプログラムをエッジにコピーして記憶させておく必要がある。
このため、ロボット数が増加するに従い、利用する全てのロボットに対応するロボット制御システムのプログラムを、エッジにコピーすることができず、かつリクエストメッセージにおける演算処理を行なうことができない。
また、プログラムが一旦エッジにコピーされると、ロボットが移動してそのエッジのプログラムを使用しなくなっても、エッジに不必要なプログラムが残り、ネットワークのリソースを効率的に使用することができない。
【０００７】
本発明は、このような事情に鑑みてなされたもので、、サービスクラウド上における制御プログラム（ロボット制御システムなど）を用いる対象装置（ロボット）の数が増加しても、対象装置からのリクエストメッセージに対し、要求される処理速度に対応した時間でレスポンスを、対象装置に返すことができるネットワークシステム及びプログラムモジュールを提供する。
【課題を解決するための手段】
【０００８】
この発明は上述した課題を解決するためになされたもので、本発明のネットワークシステムは、クラウド上に配置された、制御対象の対象機器における制御単位毎の制御モジュールから構成される制御プログラムを有する制御サーバと、前記対象機器が制御のリクエストを出力し、当該リクエストに対応するレスポンスを前記対象機器に供給するエッジと、前記制御サーバと前記エッジとをアグリゲーションネットワークとして接続する、前記制御サーバと前記エッジの各々との間にツリー構造上に設けられた複数の中継ルータとを備え、前記対象機器からのリクエストを前記制御サーバへ送信する前記中継ルータに対し、前記制御サーバから複写された、当該対象機器を制御する前記制御モジュールが分散配置されることを特徴とする。
【０００９】
本発明のネットワークシステムは、前記制御モジュールの各々が、前記レスポンスを前記対象機器に返す時間に対応した位置の前記中継ルータに配置されることを特徴とする。
【００１０】
本発明のネットワークシステムは、前記制御モジュールの各々が、前記レスポンスを前記対象機器に返す時間が短いほど、前記制御サーバにより近い中継ルータに配置されることを特徴とする。
【００１１】
本発明のネットワークシステムは、前記制御モジュールの各々が、所定時間当たりに要求される前記リクエストの頻度に対応した位置の中継ルータに配置されることを特徴とする。
【００１２】
本発明のネットワークシステムは、前記制御モジュールの各々が、所定時間当たりに要求される前記リクエストの頻度が少ないほど、前記制御サーバにより近い中継ルータに配置されることを特徴とする。
【００１３】
本発明のネットワークシステムは、前記制御モジュールの各々が、位置している中継ルータから、前記制御サーバにより近い中継ルータに移動する際、少なくとも、前記エッジからのアクセス距離、当該エッジを共用する前記対象機器の接続数、及び配置する前記中継ルータのコストの各々に基づき、所定の中継ルータに移動することを特徴とする。
【００１４】
本発明のネットワークシステムは、前記アグリゲーションネットワークにおけるツリー構造で接続されている複数の前記中継ルータにおいて、前記中継ルータの一の中継ルータに対し、前記ツリー構造における前記エッジにより近く、前記制御モジュールを有していない下流の二の中継ルータからリクエストが供給された際、当該一の中継ルータ自身が前記制御モジュールを有していない場合、前記ツリー構造における前記一の中継ルータより下流にあり、前記制御モジュールを備えている三の中継ルータに対して、前記リクエストを出力することを特徴とする。
【００１５】
本発明のプログラムモジュールは、クラウド上に配置された制御サーバに記憶された制御プログラムを構成する、制御対象の対象機器における制御単位毎のプログラムモジュールであり、前記制御サーバと前記対象機器が制御のリクエストを出力し、当該リクエストに対応するレスポンスを前記対象機器に供給するエッジの各々との間にツリー構造上に設けられた複数の中継ルータ間において、所定の配置位置の中継ルータから、前記対象機器から前記制御サーバに対して送信される、当該対象機器の制御に関するリクエストに対応して決定される配置位置の前記中継ルータに自律的に移動することを特徴とする。
【発明の効果】
【００１６】
この発明によれば、サービスクラウド上における制御プログラム（ロボット制御システムなど）を用いる対象装置（ロボット）の数が増加しても、対象装置からのリクエストメッセージに対し、要求される処理速度に対応した時間でレスポンスを、対象装置に返すことができるネットワークシステム及びプログラムモジュールを提供することができる。
【図面の簡単な説明】
【００１７】
【図１】本発明の第１の実施形態におけるネットワークシステムの構成例を示す図である。
【図２】図１における本実施形態のネットワークシステムの構成の概念を示す図である。
【図３】本実施形態におけるアグリゲーションネットワークのノードサーバへの制御モジュールの配置を説明する概念図である。
【図４】第２の実施形態によるネットワークシステムの中継ルータ間における制御モジュールの自律的な移動を説明する概念図である。
【図５】制御モジュールを配置する中継ルータの位置と、配置する制御モジュールとの対応を示すテーブルを示す図である。
【図６】第２の実施形態によるネットワークシステムの中継ルータ間における制御モジュールの移動の動作例を示すフローチャートである。
【図７】第２の実施形態によるネットワークシステムにおいて、制御モジュールが制御サーバに存在する場合における中継ルータに対する制御モジュールの移動の動作例を示すフローチャートである。
【図８】図６のフローチャートにおけるステップＳ９の制御モジュールが上流に移動する処理の動作例を説明するフローチャートである。
【図９】図６のフローチャートにおけるステップＳ７及び図７のフローチャートにおけるステップＳ１７の制御モジュールが下流に移動する処理の動作例を説明するフローチャートである。
【図１０】制御モジュールが上流に移動する図６のステップＳ９における、第３の実施形態の処理の動作例を説明するフローチャートである。
【図１１】第３の実施形態において、コストＣに応じて制御モジュールが上流へ移動する処理について説明する概念図である。
【図１２】制御モジュールが下流に移動する図６のステップＳ７における、第３の実施形態の処理の動作例を説明するフローチャートである。
【図１３】第３の実施形態において、コストＣに応じて制御モジュールが下流へ移動する処理について説明する概念図である。
【図１４】第４の実施形態によるネットワークシステムの中継ルータ間における制御モジュールの移動の動作例を示すフローチャートである。
【図１５】第５の実施形態によるネットワークシステムの中継ルータ間における制御モジュールの移動の動作例を示すフローチャートである。
【図１６】本発明の第６の実施形態におけるネットワークシステムの動作を示す概念図である。
【図１７】中継ルータに備えられたノードサーバを、自身の二分木のノードサーバのプロキシサーバとした場合の効果を示す図である。
【発明を実施するための形態】
【００１８】
＜第１の実施形態＞
図１は、本発明の第１の実施形態におけるネットワークシステムの構成例を示す図である。本実施形態においては、制御対象の対象装置１の各々を、サービスクラウド２のクラウドルータ２＿１（複数のルータが集中配置された構成）に対して接続するネットワークとして、アグリゲーションネットワーク３を用いている。このクラウドルータ２＿１は、アグリゲーションネットワーク３によるスイッチングにより形成された対象装置１からの経路を、最終的に制御サーバ２＿２に対して接続する。本実施形態において、サービスクラウド２における制御サーバ２＿２は、対象装置１の各々に対するロボット制御のサービスを行なう。また、アグリゲーションネットワーク３は、ツリー（木）構造となっており、ルートとしてクラウドルータ２＿１があり、各ノードに中継ルータ（中継ルータ３＿１＿１、３＿２＿１、…３＿２＿ｍ、３＿３＿１、…、３＿３＿ｎ、３＿４＿１、３＿４＿ｐ、…、３＿４＿ｑ、…、３＿４＿ｒ）が配置されている。以下、上記中継ルータを総称する場合、中継ルータ３Ｒとして説明する。また、本実施形態において、中継ルータ３Ｒには、アグリゲーションネットワーク３におけるエッジルータ３＿４＿１、３＿４＿ｐ、…、３＿４＿ｑ、…、３＿４＿ｒが、中継ルータ３＿４＿１、３＿４＿ｐ、…、３＿４＿ｑ、…、３＿４＿ｒとして含めて説明している。
【００１９】
ここで、制御サーバ２＿２は、例えばロボットの制御を行なう制御プログラムとして、ロボット制御フレームワークであるＲＯＳ（Robot Operating System）パッケージがインストールされている。このＲＯＳパッケージは、ロボットアプリケーションを作成するためのライブラリ、ハードウェア抽象化及びデバイスドライバなどを含むパッケージである。そして、ロボットの各部の制御単位にモジュール化されたプロセスモジュール（プログラムモジュール）から構成されている。本実施形態において、このプロセスモジュール（以下、制御モジュール）は、処理単位のＪｏｂ（ジョブ、すなわちプロセス）を処理するサービスパーツであり、例えば、分散エージェントとして、他の複数のサーバ上で自律して動作可能である。また、本実施形態においては、ネットワークシステムのロボット制御の動作について、ＲＯＳパッケージにおける制御モジュールと対象装置とのプロセス間通信をＰｕｂ／Ｓｕｂモデルを用いて説明する。制御モジュールは、制御の要求（Ｐｕｂｌｉｓｈからのメッセージ：リクエストメッセージ）に対して所定の処理を行ない、制御指令を示す応答（Ｓｕｂｓｃｒｉｂｅからのメッセージ：レスポンスメッセージ）を返す機能を有している。
【００２０】
すなわち、対象装置１は、制御を要求するため、制御サーバ２＿２を宛先とするリクエストメッセージ（クエリ）のパケットを、アグリゲーションネットワーク３を介してサービスクラウド２に送信する。そして、リクエストメッセージの宛先が制御サーバ２＿２であるため、クラウドルータ２＿１は、リクエストメッセージを制御サーバ２＿２に転送する。
制御サーバ２＿２は、要求する制御に対応した制御モジュールに対し、リクエストメッセージを転送し、上記制御モジュールがリクエストメッセージに含まれるセンサのデータに基づき、対象装置１を制御する制御指令を作成する。そして、制御サーバ２＿２は、制御モジュールが生成した制御指令を含むレスポンスメッセージを、リクエストメッセージの送信元を送信先として送信する。
【００２１】
一般的に、アグリゲーションネットワーク３を用いることにより、クラウドセントリックな構成として、全ての対象装置からのロボット制御の指令を要求するリクエストメッセージによるトラフィックをサービスクラウド２に集める。
しかしながら、対象装置の制御の種類によっては、リアルタイム性（要求を与えたときに、その要求に対する応答までにかかる時間が見積もれる特性）が高く高速（短時間）に処理する必要がある制御があり、サービスクラウド２にある制御サーバ２＿２とのメッセージの送受信を行なった場合、リクエストメッセージに対するレスポンスメッセージが返信されるまでの時間に余裕がなくなる。このため、アグリゲーションネットワーク３のエッジにあるエッジサーバに対し、ＲＯＳパッケージを複写（コピー）して制御指令を要求する対象装置が接続されたサーバに配置する構成がある。
【００２２】
一方、対象装置の種類毎に異なるＲＯＳパッケージが必要となるが、上記エッジサーバは、記憶容量に限りがあり、対象装置の種類が多くなると、種類数に対応したＲＯＳパッケージを配置することができない。
そのため、本実施形態におけるネットワークシステムは、ＲＯＳパッケージが複数のプロセス毎の制御モジュールから構成されていることを利用し、図１に示すように、制御モジュールの各々を中継ルータ（あるいは中継サーバ）それぞれに分散配置する構成としている。このため、中継ルータ３Ｒの各々に対し、ノードサーバ（例えば、ブレードサーバ）５を備え、制御モジュールをこのノードサーバ５において起動させる。これにより、上記ノードサーバ５の各々は、制御モジュールの制御指令生成の処理に従い、各対象装置１からのリクエストメッセージの要求に基づいて制御指令を生成する処理を行ない、生成した制御指令をレスポンスメッセージに添付して、対応する対象装置１それぞれに返送する。
また、以下において、説明の流れから、中継ルータ３Ｒにおけるノードサーバ５の記載を省略し、中継ルータ３Ｒに制御モジュールが配置されるとして説明する場合もある。
【００２３】
図２は、図１における本実施形態のネットワークシステムの構成の概念を示す図である。図２においては、説明を簡単にするため、アグリゲーションネットワーク３のツリー構造を、中継ルータ３Ｒの各々の配置として、一段目の中継ルータ３＿２＿１、…、３＿２＿ｍと、二段目の中継ルータ３＿３＿１、…、３＿３＿ｎとの二段の構成としている。したがって、二段目の中継ルータ３＿３＿１、…、３＿３＿ｎがエッジルータとなる。図２において、例えば、中継ルータ３＿３＿１には、対象装置１として、ビデオレコーダ１＿１及び自動車（自動運転仕様）１＿２が接続され、中継ルータ３＿２＿ｎには、対象装置１として、ＰＶ（Photovoltaic）システム１＿３及びＮＷ（network）ロボット１＿４が接続されている。
また、中継ルータ３＿２＿１、…、３＿２＿ｍの各々には、ノードサーバ５＿２＿１…、５＿２＿ｍそれぞれが備えられている。また、中継ルータ３＿３＿１、…、３＿３＿ｎの各々には、ノードサーバ５＿３＿１…、５＿３＿ｎそれぞれが備えられている。
【００２４】
上述した各ノードサーバ５に対する制御モジュールの配置については、リアルタイム性が必要なものほど、アグリゲーションネットワーク３のエッジに近い中継ルータに配置する。すなわち、リアルタイム性が要求される制御モジュールは、ツリー構造のエッジである中継ルータ３＿３＿１から３＿３＿ｎの各々に備えられたノードサーバ５＿３＿１、…、５＿３＿ｎそれぞれに配置する。リアルタイム性が要求されない制御モジュールは、制御サーバ２＿２のＲＯＳパッケージにのみ配置される。上記以外のある程度のリアルタイム性が要求される制御モジュールは、中継ルータ３＿２＿１から３＿２＿ｎの各々に備えられたノードサーバ５＿２＿１、…、５＿２＿ｎそれぞれに配置する。
【００２５】
例えば、自動運転の仕様の自動車１＿２において、リアルタイム性が要求される制御としては、ブレーキ操作が挙げられる。自動車１＿２のブレーキ操作部が障害物を検知したセンサ情報を添付したリクエストメッセージを、自身の自動車の種類におけるブレーキ制御に対応する制御モジュールを宛先として、エッジルータである中継ルータ３＿３＿１を介してアグリゲーションネットワーク３に対して送信する。ここで、ノードサーバ５＿３＿１には、ブレーキ制御に対する制御モジュールが配置されている。そのため、ノードサーバ５＿３＿１の制御モジュールが、ブレーキ制御の制御指令を要求するクエストメッセージを受信した際、自身に対するリクエストメッセージであることを検出すると、センサ情報に基づいた制御指令を生成し、レスポンスメッセージにこの制御指令を添付して、自動車１＿２に対して返信する。
【００２６】
これにより、ブレーキ制御などのリアルタイム性を必要とする制御指令のレスポンスを、制御サーバ２＿２あるいは一段目の中継ルータ３＿２＿１に配置されている場合に比較して、より高速に自動車１＿１が得られる。
また、リアルタイム性が必要ない制御としては、カーナビゲーションシステムの経路検索及び画面に対する案内表示などが挙げられる。経路検索や画像処理については処理時間もかかり、ノードサーバ５のように、ＣＰＵ（Central Processing Unit）の演算能力が制御サーバ２＿２に対して著しく低い場合、ノードサーバ５における処理時間が制御サーバ２＿２に比較して長くなり、逆にリアルタイム性が低下する。このため、演算処理の負荷の大きさについても考慮して、ノードサーバ５への配置を行なう必要がある。
【００２７】
図３は、本実施形態におけるアグリゲーションネットワークのノードサーバへの制御モジュールの配置を説明する概念図である。
図３（ａ）は、一般的なネットワークにおいて、ネットワークにおけるルータにサーバを配置した場合を示している。図３（ａ）の構成の場合は、自動車１＿２から送信されたリクエストメッセージの要求する演算処理を行なう制御モジュールを、フラッティングにより検索する必要がある。フラッティングは、ネットワークを構成するルータの全てに対し、リクエストメッセージのパケットを送信する。このため、ネットワークのトラフィックが増加し、ネットワークの負荷が大きくなる。
【００２８】
また、図３（ｂ）は、本実施形態におけるアグリゲーションネットワーク３における中継ルータ３Ｒへのノードサーバ５の配置を示している。図３（ｂ）に示すように、アグリゲーションネットワーク３の場合、自動車１＿２が接続したエッジからルートにおける経路上において、段目の中継ルータ３＿ｓ＿１から、ｓ−１段目の中継ルータ３＿ｓ−１＿１、ｓ−２段目の中継ルータ３＿ｓ−２＿１へと、ツリー構造において決まった上記経路上のノードにある中継ルータ３Ｒの各々を経由して、リクエストメッセージ及びレスポンスメッセージが自動車１＿２に対して送受信される。ツリー構造におけるエッジからルート（サービスクラウド２）方向に向かって、リクエストメッセージのパケットは、経路上の中継ルータを経由して転送される。同様に、いずれかの中継ルータ３Ｒにおけるノードサーバ５あるいは制御サーバ２＿２から送信されるレスポンスメッセージも、リクエストメッセージと同一の経路により自動車１＿２に転送される。
【００２９】
このため、アグリゲーションネットワーク３のツリー構造において、プロセスのリアルタイム性に対応させ、適切な位置の中継ルータ３Ｒに備えられているノードサーバ５の各々に、それぞれ制御モジュールを配置させる。例えば、アグリゲーションネットワーク３において、制御サーバ２＿２が各中継ルータ３Ｒのノードサーバ５に対し、制御モジュールを書き込む構成とする。例えば、制御サーバ２＿２は、あるロボットに対するＲＯＳパッケージがインストールされた際、予め中継ルータ３Ｒの各々のノードサーバ５に対し、上記ＲＯＳパッケージにおけるプロセスの制御モジュールの各々を複写し、それぞれの制御モジュールのプロセスのリアルタイム性に対応した階層のノードにおける中継ルータ３Ｒのノードサーバ５に配置する。
【００３０】
上述したように、大規模なロボット制御を行なうネットワークシステムには、自動運転仕様の自動車などのロボット制御を行なう多種類の対象装置の各々が多量に接続される。この際、それぞれの種類の対象装置に対応する制御モジュールを、エッジからルートに向かう経路上の適切なノードに配置することにより、リクエストメッセージが中継ルータを、ルートに向かって上流の中継ノードに対して順次転送される。
【００３１】
このため、本実施形態によれば、いずれの制御ジュールの各々が、それぞれいずれの中継ルータ３Ｒのノードサーバ５に配置されているかを示す情報を対象装置１に通知せずとも、ルート方向に向かって経路上における中継ルータを順次サーチすることにより、無用な探索時間やフラッティングによってリクエストメッセージを増加させること無く、リクエストメッセージの宛先の制御モジュールを検索することができる。
したがって、本実施形態によれば、サービスクラウド２に存在する制御サーバ２＿２にアクセスすることなく、アグリゲーションネットワーク３において、対象装置１から制御サーバ２＿２までのリクエストメッセージの経路上における中継サーバ３Ｒのいずれかに、リアルタイム性が必要な対象装置の制御に対応した制御モジュールが、必要なレスポンスタイムに対応して配置されるため、制御指令を制御を行なう適切な時間に受信できる。
【００３２】
＜第２の実施形態＞
本発明の第２の実施形態によるネットワークシステムについて説明する。第２の実施形態におけるネットワークシステムの構成は、すでに説明した図１に示す第１の実施形態と同様である。以下、第１の実施形態と異なる動作について説明する。
第２の実施形態における制御モジュールは、分散エージェントとして、対象装置１に対する制御指令を生成する機能に加え、自律的にアグリゲーションネットワークにおける中継ルータ３Ｒ間を移動する機能、自身を複写して他の中間ルータ３Ｒにインストールする機能、配置されていた中継ルータ３Ｒから自身を削除する機能の各々を備えている。また、配置されているノードサーバ５の時計から時刻情報を取得し、経過時間を検出するタイマー機能、アクセスされた回数を計数する機能を有している。これにより、本実施形態による制御モジュールは、自身に対するリクエストメッセージが転送される頻度、すなわち自身がアクセスされた頻度により、自身の必要性を判定し、アグリゲーションネットワーク３における必要性に応じた位置の中継ルータへと、中継ルータ間を移動することで配置位置を自律的に変更する。
【００３３】
図４は、第２の実施形態によるネットワークシステムの中継ルータ間における制御モジュールの自律的な移動を説明する概念図である。
アグリゲーションネットワーク３は、ツリー構造として、例えば、自動車１＿２＿１が接続された中継ルータ３＿３＿１と、自動車１＿２＿ｓが接続された中継ルータ３＿３＿２と、中継ルータ３＿３＿１及び３＿３＿２の直上の中継ルータ３＿２＿１と、中継ルータ３＿２＿１の直上の中継ルータ３＿１＿１とから構成されている。このアグリゲーションネットワーク３におけるツリー構造のルートは、サービスクラウド２であり、サービスクラウド２には制御サーバ２＿２が備えられている。
【００３４】
自動車１＿２＿１のルートに対する経路には、中継ルータ３＿３＿１と、中継ルータ３＿２＿１と、中継ルータ３＿１＿１とがそれぞれのノードに配置されている。また、自動車１＿２＿ｓのルートに対する経路には、中継ルータ３＿３＿２と、中継ルータ３＿２＿１と、中継ルータ３＿１＿１とがそれぞれのノードに配置されている。
中継ルータ３＿３＿１にはノードサーバ５＿３＿１が設けられ、中継ルータ３＿２＿１にはノードサーバ５＿２＿１が設けられ、中継ルータ３＿１＿１にはノードサーバ５＿１＿１が設けられている。また、中継ルータ３＿３＿２には、ノードサーバ５＿３＿ｎ２設けられている。
したがって、自動車１＿２＿１における制御を行なう制御モジュールＭの各々は、ノードサーバ５＿３＿１、５＿２＿１、５＿１＿１、制御サーバ２＿２のいずれかに配置されている。
【００３５】
ここで、制御サーバ２＿２は制御プログラムにおける全てのプロセスの制御モジュールＭが存在する。また、制御サーバ２＿２における制御プログラムＭは複写はされるが消去はされない。このため、自動車１＿２＿１の制御に対応する制御モジュールＭは、ノードサーバ５＿３＿１、５＿２＿１、５＿１＿１の間を、自身の必要性に応じて自律的に移動するか、削除されることになる。中継ルータ３Ｒに設けられるノードサーバ５の各々は、ツリー構造においてルートからエッジに近くなるに従い、処理能力（ＣＰＵの演算速度、メモリ容量など）が低下する。また、中継ルータ３Ｒにおける転送時間を考慮すると、対象装置１がリクエストメッセージを送信し、その回答であるレスポンスメッセージを受信するまでのレスポンスタイムは、対象装置１から対応する処理を行なう制御モジュールＭが配置されているノードサーバ５までの距離が近いほど短くなる。
【００３６】
図５は、制御モジュールＭを配置する中継ルータ３Ｒの位置と、配置する制御モジュールＭとの対応を示すテーブルを示す図である。図５のテーブルにおいて、項目として配置位置と、レスポンスタイムと総計的多重効果とアプリケーションとが示されている。そして、配置位置と、この配置位置に対応した制御モジュールの特性としてレスポンスタイム、統計的多重効果及びアプリケーションとが示されている。
配置位置としては、アグリゲーションネットワーク３のツリー構造において、ルートのサービスクラウド、上流中継ルータ、下流中継ルータ及びエッジルータがある。図４との対応としては、対象装置１＿１とサービスクラウド２とのメッセージの送受信の経路において、サービスクラウドがサービスクラウド２であり、上流中継ルータが中継ルータ３＿１＿１であり、下流中継ルータが中継ルータ３＿２＿１であり、エッジルータが中継ルータ３＿３＿１である。ここで、エッジルータはアグリゲーションネットワーク２のエッジに配置されているルータである。また、制御モジュールの配置位置としては、エッジルータである中継ルータ３＿３＿１に接続されている端末（サーバ）などまで含めてもよい。
【００３７】
図５のテーブルにおいて、レスポンスタイムは、アグリゲーションネットワーク２のツリー構造の下流側、すなわち対象装置１が接続されているエッジのルータあるいは端末に近づくほど、制御プログラムと対象装置１との距離が近くなるため、上流側の中継ルータに配置される場合に比較してよりレスポンスタイムにおけるメッセージ（リクエストメッセージ／レスポンスメッセージ）の送受信の時間が短くなる。ここで、レスポンスタイムには、各中継ルータに備えられているノードサーバ５の処理時間も含まれており、各ノードサーバ５の処理時間と、対象装置１及び制御モジュール間のメッセージの送受信時間とを加算した値となる。相対的にメッセージの送受信時間が制御の処理時間に比較して大きいため、上記距離がレスポンスタイムに大きく反映される。
【００３８】
また、統計的多重効果は、中継ルータに各々配置されている制御モジュールがアクセスされる頻度（制御モジュールの使用効率）の大きさを示している。アグリゲーションネットワーク３において、ツリー構造の上流側（サービスクラウド２に近く）になるほど、下流側に比較してより多くの対象装置１からのリクエストメッセージが通過するため、受信するリクエストメッセージ数が増加する。この結果、制御モジュール当たりの対象装置１の処理数が増加することになり、リソースの効率的な利用を行なうことができる。したがって、統計的多重効果は、アグリゲーションネットワーク３のツリー構造において、上流側になるほど大きくなる。
【００３９】
アプリケーションは、配置位置に配置される制御モジュールの対象装置を制御するプロセスの処理（Ｊｏｂ）の特性を示している。すでに述べたように、アグリゲーションネットワーク３において、ツリー構造におけるエッジに近い下流側になるほど、レスポンスタイムが短くなるため、リアルタイムな制御に用いられる、すなわちレスポンスタイムが予め短時間に規定されているプロセスの制御に用いられる制御モジュールを配置する必要がある。一方、ツリー構造のルート（サービスクラウド２）に近い上流側になるほど、レスポンスタイムが長くなるため、短時間に行なわなくとも良く、リソースの効率を高くしたい処理、例えばＯ＆Ｍ（Operation and Maintanance）や画像処理などの大規模なデータを用いる処理などの制御モジュールを配置する必要がある。
【００４０】
図４及び図６を用いて、第２の実施形態によるネットワークシステムの中継ルータＲ間における制御モジュールＭの自律的な移動の動作について説明する。
図６は、第２の実施形態によるネットワークシステムの中継ルータ間における制御モジュールＭの移動の動作例を示すフローチャートである。
ステップＳ１：  制御モジュールＭは、所定の中継ルータ、例えば中継ルータ３＿２−１＿１のノードサーバ５＿２＿１に移動した後に起動する。
そして、制御モジュールＭは、ノードサーバ５＿２＿１の時計から時刻情報を取得した後、自身のタイマーを起動させ、タイマーの計数を開始させる。
【００４１】
ステップＳ２：  制御モジュールＭは、タイマーの計数時間が所定時間Δｔ（検出周期）となるまで待機状態となる。そして、制御モジュールＭは、計数時間が所定時間Δｔを超えた場合、処理をステップＳ３へ進める。
【００４２】
ステップＳ３：  制御モジュールＭは、所定時間Δｔ内において、自身に対応するリクエストメッセージが送信されてきたか否か、すなわち自身が自動車１＿２＿１にアクセスされたか否かを検出する。
このとき、制御モジュールＭは、所定時間内Δｔ内に自身がアクセスされた場合、タイマーをリセットした後、処理をステップＳ４へ進める。一方、制御モジュールＭは、所定時間内Δｔ内に自身がアクセスされていない場合、処理をステップＳ８へ進める。
【００４３】
ステップＳ４：  制御モジュールＭは、リクエストメッセージにおける自動車１＿２＿１からのセンサ情報などのデータに基づき、プロセスに対応した所定の演算を行ない、自動車１＿２＿１の制御を行なう制御指令を生成する。このとき、制御モジュールＭは、演算開始から制御指令の生成が終了するまでの時間、及び自身が配置されている中継ルータ３＿２＿１と対象装置である自動車１＿２＿１とにおけるメッセージの往復にかかる時間を加算してレスポンスタイムを求める。
【００４４】
ステップＳ５：  制御モジュールＭは、レスポンスタイムが予め自身のプロセスに対して設定されている設定時間を超えているか否かの判定を行う。このとき、制御モジュールＭは、レスポンスタイムが上記設定時間を超えている場合、処理をステップＳ７へ進める。一方、制御モジュールＭは、レスポンスタイムが予め設定されている設定時間を超えていない場合、処理をステップＳ６へ進める。
ここで、設定時間は、制御モジュールの制御指令を生成する処理に対して要求される、リアルタイム性における制限時間を示している。すなわち、レスポンスタイムが満足されていない場合、制御モジュールＭは、対象装置１に対するレスポンスタイムを満足させるため、現在より対象装置１（アグリゲーションネットワーク３のエッジ）に近い位置にある中継ルータ３Ｒに移動する必要があると判定する。
【００４５】
ステップＳ６：  制御モジュールＭは、自身に対するアクセスの回数（アクセス回数）が予め設定されている閾値以上であるか否かの判定を行う。このとき、制御モジュールＭは、自身に対する上記アクセス回数が予め設定されている上記閾値以上である場合、処理をステップＳ７へ進める。制御モジュールＭは、自身に対するアクセス回数が予め設定されている上記閾値未満である場合、処理をステップＳ２へ進める。
【００４６】
ステップＳ７：  制御モジュールＭは、自身を、現在配置されている中継ルータ３＿２＿１より下流の中継ルータ３＿３＿１に移動させる（詳細は後述）。ここで、下流の中継ルータ３Ｒとは、アグリゲーションネットワーク３のツリー構造における中継ルータ３Ｒの各々において、現在配置されている中継ルータ３Ｒから見て、よりルートから離れる方向（よりエッジに近づく方向）にある中継ルータ３Ｒを示している。すなわち、下流の中継ルータ３Ｒに移動することは、リクエストメッセージを送信してからレスポンスメッセージを受信するまでのレスポンスタイムを短くする処理となる。また、制御モジュールＭのアクセスされる頻度が高い場合、下流側の中継ルータ３＿３＿１に配置することにより、リソースとしての制御モジュールＭの使用効率を向上させることができる。
【００４７】
ステップＳ８：  制御モジュールＭは、タイマーの計数時間が予め設定した所定時間を超えたか否かの判定を行う。このとき、制御モジュールＭは、タイマーの計数時間が予め設定した所定時間を超えた場合、処理をステップＳ９へ進める。一方、制御モジュールＭは、タイマーの計数時間が予め設定した所定時間以下の場合、処理をステップＳ２へ進める。
【００４８】
ステップＳ９：  制御モジュールＭは、自身を、現在配置されている中継ルータ３＿２＿１より上流の中継ルータ３＿１＿１に移動させる（詳細は後述）。ここで、上流の中継ルータとは、アグリゲーションネットワーク３のツリー構造における中継ルータにおいて、現在配置されている中継ルータから見て、よりルートに近づく方向（よりエッジか離れる方向）にある中継ルータを示している。すなわち、上流の中継ルータに移動することは、リクエストメッセージを送信してからレスポンスメッセージを受信するまでのレスポンスタイムを長くする処理となる。所定時間の間に対象装置１からのアクセスが無い場合、上流側の中継ルータ３＿１＿１に配置することにより、リソースとしてのノードサーバ５＿２＿１の使用効率を向上させることができる。
【００４９】
図７は、第２の実施形態によるネットワークシステムにおいて、制御モジュールが制御サーバ２＿２に存在する場合における中継ルータ３Ｒに対する制御モジュールの移動の動作例を示すフローチャートである。
ステップＳ１１：  制御モジュールＭは、制御サーバ２＿２の時計から時刻情報を取得した後、自身のタイマーを起動させ、タイマーの計数を開始させる。
そして、制御モジュールＭは、タイマーの計数時間が所定時間Δｔ（検出周期）を超えた場合、処理をステップＳ１２へ進める。
【００５０】
ステップＳ１２：  制御モジュールＭは、所定時間Δｔ内において、自身に対応するリクエストメッセージが送信されてきたか否か、すなわち自身が自動車１＿２＿１にアクセスされたか否かを検出する。
このとき、制御モジュールＭは、所定時間内Δｔ内に自身がアクセスされた場合、タイマーをリセットした後、処理をステップＳ１３へ進める。一方、制御モジュールＭは、所定時間内Δｔ内に自身がアクセスされていない場合、処理をステップＳ１１へ進める。
【００５１】
ステップＳ１３：  制御モジュールＭは、リクエストメッセージにおける自動車１＿２＿１からのセンサ情報などに基づき、所定の演算を行なって、自動車１＿２＿１の制御を行なう制御指令を生成する。このとき、制御モジュールＭは、演算開始から制御指令の生成が終了するまでの時間、及び自身が配置されている制御サーバ２＿２と対象装置である自動車１＿２＿１とにおけるメッセージの往復にかかる時間を加算してレスポンスタイムを求める。
【００５２】
ステップＳ１４：  制御モジュールＭは、レスポンスタイムが予めプロセスに対して設定されている設定時間を超えているか否かの判定を行う。このとき、制御モジュールＭは、レスポンスタイムがすでに図６のフローチャートで説明した設定時間を超えている場合、処理をステップＳ１６へ進める。一方、制御モジュールＭは、レスポンスタイムが予め設定されている設定時間を超えていない場合、処理をステップＳ１５へ進める。
【００５３】
ステップＳ１５：  制御モジュールＭは、自身に対するアクセス回数が予め設定されている閾値以上であるか否かの判定を行う。このとき、制御モジュールＭは、自身に対するアクセス回数が予め設定されている閾値以上である場合、処理をステップＳ１６へ進める。制御モジュールＭは、自身に対するアクセス回数が予め設定されている閾値未満である場合、処理をステップＳ１１へ進める。
【００５４】
ステップＳ１６：  制御モジュールＭは、制御サーバ２＿２において、自身を複写することにより、同様な制御に対する処理を行なう制御モジュールＭ’を生成する。
そして、制御モジュールＭは、生成した制御モジュールＭ’を下流の中継サーバ３＿１＿１のノードサーバ５＿１＿１に配置するため、処理をステップＳ１７へ進める。
【００５５】
図８は、図６のフローチャートにおけるステップＳ９の制御モジュールＭが上流の中継ルータ３Ｒに移動する処理の動作例を説明するフローチャートである。
ステップＳ９１：  制御モジュールＭは、リクエストメッセージを受信した自動車１＿２＿１以外の同種類の他の自動車１＿２＿ｓから、Ｎ秒以内にアクセスされたか否か、すなわちリクエストメッセージを受信したか否かの判定を行なう。このとき、制御モジュールＭは、他の自動車１＿２＿ｓからＮ秒以内にアクセスされた場合、処理をステップＳ９２へ進める。一方、制御モジュールＭは、他の自動車１＿２＿ｓからＮ秒以内にアクセスされていない場合、処理をステップＳ９４へ進める。
【００５６】
ステップＳ９２：  制御モジュールＭは、アグリゲーションネットワーク３のツリー構造において、現時点で配置されている中継ルータ３＿２＿１の上流における隣接した中継ルータ（直上の中継ルータ）３＿１＿１に移動した場合、全ユーザであるＮ秒以内にアクセスしてきた同種類の自動車１＿２＿１から１＿２＿ｓの各々における全てのレスポンスタイムが、自動車１＿２＿１から１＿２＿ｓ（統一する場合１＿２と表す）の同一種類のプロセスの制御に必要なレスポンスタイム以下か否か（必要なレスポンスタイムを満足するか否か）の判定を行なう。このとき、制御モジュールＭは、自身にＮ秒以内にアクセスしてきた全ての自動車１＿２の各々のレスポンスタイムを、シミュレーションとして求める。そして、制御モジュールＭは、Ｎ秒以内にアクセスしてきた同種類の自動車１＿２全てのレスポンスタイムが、対応するプロセスの制御に必要なレスポンスタイムを満足している場合、処理をステップＳ９４へ進める。一方、制御モジュールＭは、Ｎ秒以内にアクセスしてきた同種類の自動車１＿２全てのレスポンスタイムが、対応する制御に必要なレスポンスタイムを満足していない場合、処理をステップＳ９３へ進める。
【００５７】
ステップＳ９３：  制御モジュールＭは、自身の配置の移動を行なわず、図６に示すフローチャートのステップＳ２へ戻る。すなわち、制御モジュールＭは、自動車１＿２＿１のメッセージの送受信の経路上における上流の中継ルータ３＿１＿１に移動した場合、自身にアクセスする自動車１＿２の各々に対して、制御に必要なレスポンスタイムを満足させらず、自動車１＿２のプロセスの制御が遅延し、プロセスに設定されているレスポンスタイムを満足させることができない。このため、制御モジュールＭは、自動車１＿２の各々制御に必要なレスポンスタイムが満足されている現在配置されている中継ルータ３＿２＿１から移動しない。
【００５８】
ステップＳ９４：  制御モジュールＭは、中継ルータ３＿２＿１の直上のノードにおける中継ルータ３＿１＿１に、自身と同一の制御モジュールの有無を、この直上の中継ルータ３＿１＿１にアクセスして確認する。制御モジュールＭは、直上の中継ルータ３＿１＿１に自身と同一の制御モジュールＭ’’が配置されている場合、現時点で自身にアクセスする自動車１＿２＿１が上記制御モジュールＭ’’をアクセスしている他の同種の自動車１＿２の各々と共用化が可能と判定する。
【００５９】
そして、制御モジュールＭは、中継ルータ３＿２＿１の直上の中継ルータ３＿１＿１に自身と同一の制御モジュールＭ’’が配置され、自動車１＿２＿１が他の同種の自動車１＿２の各々との共用化が可能である場合、処理をステップＳ９８へ進める。一方、制御モジュールＭは、直上の中継ルータ３＿１＿１に自身と同一の制御モジュールＭ’’が配置されておらず、自動車１＿２＿１が他の同種の自動車１＿２の各々との共用化が可能でない場合、処理をステップＳ９５へ進める。
【００６０】
ステップＳ９５：  制御モジュールＭは、中継ルータ３＿２＿１の直上のノードにおける中継ルータ３＿１＿１に、自身が移動した際に占有するメモリ容量が存在するか否か、すなわち自身が移動できるリソースが直上の中継ルータに有るか否かの判定を行なう。このとき、制御モジュールは、自身が移動できるリソースが直上の中継ルータ３＿１＿１に有る場合、所定をステップＳ９９へ進める。一方、制御モジュールＭは、自身が移動できるリソースが直上の中継ルータ３＿１＿１にない場合、所定をステップＳ９６へ進める。
【００６１】
ステップＳ９６：  制御モジュールＭは、中継ルータ３＿２＿１の直上のノードにおける中継ルータ３＿１＿１に、移動可能な他の制御モジュールＭ’’が有るか否かの確認を行なう。このとき、制御モジュールＭは、直上の中継ルータ３＿１＿１に配置されている全ての制御モジュールＭ’’の各々に対し、順番にそれぞれの制御モジュールＭ’’が移動可能か否かの確認を依頼する。この順番は、例えばランダムに選択した順でも良いし、その中継ルータ３＿１＿１に配置された時間が早い順でも良い。制御モジュールＭ’’の各々は、自身が移動した際に、アクセスする対象装置１のレスポンスタイムを満足されるか、移動先として中継ルータの有無を、ステップＳ９４からＳ９６の処理を行なって確認する。そして、制御モジュールＭ’’は、自身が移動可能であるか否かを、制御モジュールＭに対して通知する。
【００６２】
このとき、制御モジュールＭは、制御モジュールＭ’’から移動可能であることを示す通知のメッセージの有無により、中継ルータ３＿２＿１の直上の中継ルータ３＿１＿１に移動可能な制御モジュールＭ’’の有無を判定する。これにより、制御モジュールＭは、直上の中継ルータ３＿１＿１に移動可能な制御モジュールＭ’’が有る場合、処理をステップＳ９７へ進める。一方、制御モジュールＭは、直上の中継ルータ３＿１＿１に移動可能な制御モジュールＭ’’がない場合、自身を移動せずに図６に示すフローチャートのステップＳ２へ戻る。
【００６３】
ステップＳ９７：  制御モジュールＭは、移動可能と通知してきた制御モジュールＭ’’に対して移動を指示するメッセージを出力する。そして、制御モジュールＭ’’は、自身が移動可能な制御サーバ２＿２に移動し、すなわち中継ルータ３＿１＿１の自身を削除し、制御モジュールＭが移動するためのリソースを中継ルータ３＿１＿１に生成する。これにより、制御モジュールＭは、中継ルータ３＿２＿１の直上の中継ルータ３＿１＿１に、自身が移動するためのリソースを確保する。
【００６４】
ステップＳ９８：  制御モジュールＭは、処理を終了した後、現時点において位置されている中継ルータ３＿２＿１における自身を削除する。
【００６５】
ステップＳ９９：  制御モジュールＭは、中継ルータ３＿２＿１の直上の中継ルータ３＿１＿１に対して自身を移動する。すなわち、制御モジュールＭは、自身の複写である制御モジュールＭ’を直上の中継ルータ３＿１＿１に作成する。そして、制御モジュールＭは、処理を終了した後、現時点において位置されている中継ルータ３＿２＿１における自身を削除する。
【００６６】
図９は、図６のフローチャートにおけるステップＳ７及び図７のフローチャートにおけるステップＳ１７の制御モジュールが下流に移動する処理の動作例を説明するフローチャートである。
ステップＳ７１：  制御モジュールＭは、制御モジュールＭは、リクエストメッセージを受信した自動車１＿２＿１以外の同種類の他の自動車１＿２から、Ｎ秒以内にアクセスされたか否かの判定を行なう。このとき、制御モジュールＭは、他の自動車１＿２からＮ秒以内にアクセスされた場合、処理をステップＳ７８へ進める。一方、制御モジュールＭは、他の自動車１＿２からＮ秒以内にアクセスされていない場合、処理をステップＳ７２へ進める。
【００６７】
ステップＳ７２：  制御モジュールＭは、自動車１＿２＿１と制御サーバ２＿２とのメッセージの送受信の経路上において、現時点で配置されている中継ルータ３＿２＿１の直下のノードにおける中継ルータ３＿３＿１に、自身が移動できるリソースが有るか否かの判定を行なう。このとき、制御モジュールは、自身が移動できるリソースが直下の中継ルータ３＿３＿１に有る場合、所定をステップＳ７５へ進める。一方、制御モジュールＭは、自身が移動できるリソースが直下の中継ルータ３＿３＿１にない場合、処理をステップＳ７３へ進める。
【００６８】
ステップＳ７３：  制御モジュールＭは、直下のノードにおける中継ルータ３＿３＿１に、移動可能な他の制御モジュールＭ’’が有るか否かの確認を行なう。このとき、制御モジュールＭは、直下の中継ルータ３＿３＿１に配置されている全ての制御モジュールＭ’’の各々に対し、順番にそれぞれの制御モジュールＭ’’が移動可能か否かの確認を依頼する。制御モジュールＭ’’の各々は、自身が移動した際に、アクセスする対象装置１のレスポンスタイムを満足されるか、移動先として中継ルータの有無を、ステップＳ７２及びＳ７３の処理を行なって確認する。そして、制御モジュールＭ’’は、自身が移動可能であるか否かを、制御モジュールＭに対して通知する。
【００６９】
このとき、制御モジュールＭは、制御モジュールＭ’’から移動可能であることを示す通知のメッセージの有無により、直下の中継ルータ３＿３＿１に移動可能な制御モジュールＭ’’の有無を判定する。これにより、制御モジュールＭは、直下の中継ルータ３＿３＿１に移動可能な制御モジュールＭ’’が有る場合、処理をステップＳ７４へ進める。一方、制御モジュールＭは、直下の中継ルータ３＿３＿１に移動可能な制御モジュールＭ’’がない場合、直下の中継ルータ３＿３＿１にリソースが確保されないため、処理を図６のステップＳ２へ進める。
【００７０】
ステップＳ７４：  制御モジュールＭは、移動可能と通知してきた制御モジュールＭ’’に対して移動を指示するメッセージを出力する。そして、制御モジュールＭ’’は、例えば、自身が移動可能な中継ルータ３＿２＿１に移動し、制御モジュールＭが移動するためのリソースを直下の中継ルータ３＿３＿１に生成する。これにより、制御モジュールＭは、直下の中継ルータ３＿３＿１に、自身が移動するためのリソースを確保する。
【００７１】
ステップＳ７５：  そして、制御モジュールＭは、直下の中継ルータ３＿３＿１に対して自身を移動する処理を行なう。すなわち、制御モジュールＭは、自身の複写である制御モジュールＭ’を直下の中継ルータ３＿３＿１に作成する。
ステップＳ７６：  そして、制御モジュールＭは、処理を終了した後、現時点において位置されている中継ルータ３＿２＿１における自身を削除する。
【００７２】
ステップＳ７７：  制御モジュールＭは、自動車１＿２＿１と制御サーバ２＿２とのメッセージの送受信の経路上において、現時点で配置されている中継ルータ３＿２＿１の直下のノードにおける中継ルータ３＿３＿１に、自身が移動できるリソースが有るか否かの判定を行なう。このとき、制御モジュールは、自身が移動できるリソースが直下の中継ルータ３＿３＿１に有る場合、処理をステップＳ８０へ進める。一方、制御モジュールＭは、自身が移動できるリソースが直下の中継ルータ３＿３＿１にない場合、所定をステップＳ７８へ進める。
【００７３】
ステップＳ７８：  制御モジュールＭは、直下のノードにおける中継ルータ３＿３＿１に、移動可能な他の制御モジュールＭ’’が有るか否かの確認を行なう。このとき、制御モジュールＭは、直下の中継ルータ３＿３＿１に配置されている全ての制御モジュールＭ’’の各々に対し、順番にそれぞれの制御モジュールＭ’’が移動可能か否かの確認を依頼する。制御モジュールＭ’’の各々は、自身が移動した際に、アクセスする対象装置１のレスポンスタイムを満足されるか、移動先として中継ルータの有無を、ステップＳ７７及びＳ７８の処理を行なって確認する。そして、制御モジュールＭ’’は、自身が移動可能であるか否かを、制御モジュールＭに対して通知する。
【００７４】
このとき、制御モジュールＭは、制御モジュールＭ’’から移動可能であることを示す通知のメッセージの有無により、直下の中継ルータ３＿３＿１において移動可能な制御モジュールＭ’’の有無を判定する。これにより、制御モジュールＭは、直下の中継ルータ３＿３＿１において移動可能な制御モジュールＭ’’が有る場合、処理をステップＳ７９へ進める。一方、制御モジュールＭは、直下の中継ルータ３＿３＿１において移動可能な制御モジュールＭ’’がない場合、処理をステップＳ８１へ進める。
【００７５】
ステップＳ７９：  制御モジュールＭは、移動可能と通知してきた制御モジュールＭ’’に対して移動を指示するメッセージを出力する。そして、制御モジュールＭ’’は、例えば、自身が移動可能な中継ルータ３＿２＿１に移動し、制御モジュールＭが移動するためのリソースを直下の中継ルータ３＿３＿１に生成する。これにより、制御モジュールＭは、直下の中継ルータ３＿３＿１に、自身が移動するためのリソースを確保する。
【００７６】
ステップＳ８０：  そして、制御モジュールＭは、直下の中継ルータ３＿３＿１に対して自身を複写する処理を行なう。このとき、制御モジュールＭは、自身の複写である制御モジュールＭ’を直下の中継ルータ３＿３＿１に作成する。
そして、制御モジュールＭは、現時点において位置されている中継ルータ３＿２＿１における自身を削除せずに、処理を終了する。
【００７７】
ステップＳ８１：  制御モジュールＭは、中継ルータ３＿２＿１における自身の配置の移動及び複写を行なわず、図６に示すフローチャートのステップＳ２へ戻る。すなわち、制御モジュールＭは、メッセージの送受信の経路上における下流の中継ルータ３＿３＿１に移動することができないため、現在配置されている中継ルータ３＿２＿１から移動しない。
【００７８】
上述したよう、本実施形態によれば、サービスクラウド２に存在する制御サーバ２＿２にアクセスすることなく、対象装置から制御サーバ２＿２までのリクエストメッセージの経路上における中継サーバ３Ｒのいずれかに、リアルタイム性が必要な対象装置の制御に対応した制御モジュールが配置されるため、制御指令を制御を行なう適切な時間に受信できる。
また、本実施形態によれば、対象装置における制御の各々に必要なレスポンスタイムに対応し、制御モジュールが自律的に、アグリゲーションネットワーク３における上記経路上における中継ルータ３Ｒ間を移動して、それぞれレスポンスタイムを満たす位置の中継ルータ３Ｒに配置されるため、対象装置１の各々におけるプロセスの制御の処理に対応したレスポンスタイムを満足させることができる。
【００７９】
＜第３の実施形態＞
本発明の第３の実施形態によるネットワークシステムについて説明する。第３の実施形態におけるネットワークシステムの構成は、すでに説明した図１に示す第１の実施形態と同様である。以下、第１の実施形態と異なる動作について説明する。
第３の実施形態における制御モジュールは、第２の実施形態と同様に、分散エージェントとして、対象装置に対する制御指令を生成する機能に加え、自律的にアグリゲーションネットワーク３における中継ルータ３Ｒ間を移動する機能、自身を複写して他の中間ルータ３Ｒにインストールする機能、自身を削除する機能の各々を備えている。
【００８０】
本実施形態において、制御モジュールは、アグリゲーションネットワーク３における所定の経路上にある中継ルータ３Ｒ間を移動する際、現在の中継ルータに配置されていた方が良いか、あるいは他の中継ルータに移動した方が良いかを、リソースのコストＣにより決定する。このコストＣの計算には、以下の（１）式を用いている。（１）式において、移動の対象となる制御モジュールを使用する全ての対象装置１のコストを加算し、制御モジュールＭのコストＣを算出する。
Ｃ＝Σ（α・Ｄ＋β・（Ｅ／（ｎ×ρ））＋γ・Ｆ）      …（１）
【００８１】
上記（１）式において、Ｄはアクセスコストであり、対象装置１から制御モジュールが配置されている中継ルータ３Ｒまでの距離であり、この距離が長いほど高く、短いほど低くなる。αは、アクセスコストＤに対して乗算する係数である。
【００８２】
Ｅは処理コストであり、プログラムの大きさ（例えば、占有するメモリ容量）である。ｎは評価対象の制御モジュールを使用している対象装置１の数であり、ρは利用率である。共用する対象装置１が多いほどコストが小さくなるため、処理コストＢを対象装置１の数と対象装置１の利用率ρを乗算した結果により除算する。ここで、対象装置１に対して利用率ρを乗算しているのは、制御モジュールの利用利用頻度も考慮している。βは、処理コストＥに乗算する係数である。
【００８３】
Ｆは、ノード利用コストであり、アグリゲーションネットワーク３のツリー構造におけるノードにある中継ルータ３Ｒが演算処理をする際にかかるコスト（例えば、ノードサーバの演算スピード）である。演算スピードが早くなるにつれてコストＦは低くなり、一方、演算スピードが遅くなるにつれてコストＦは高くなる。したがって、ツリー構造のエッジに近づくほどノードサーバの演算スピードは低下するため、エッジに近くなるにつれてコストＦは高くなる。γは、処理コストＦに乗算する係数である。
係数α、β及びγの各々は、中継ノード間を制御モジュールを移動させる実験あるいはシミュレーションを行ない、コストＣを算出することにより、制御モジュールＭの移動の判定に対応した適切な値に調節される。
【００８４】
中継ルータ間における制御モジュールＭの移動の動作については、図６に示すフローチャートと同様である。以下に、第４の実施形態における、（１）で算出するコストＣを用いた図６のフローチャートにおける制御モジュールの上流の中継ルータへの移動及び下流の中継ルータへの移動の処理について説明する。
図１０は、制御モジュールが上流に移動する図６のステップＳ９における、第３の実施形態の処理の動作例を説明するフローチャートである。
【００８５】
図１１は、第３の実施形態において、コストＣに応じて制御モジュールＭが上流の中継ルータ３Ｒへ移動する処理について説明する概念図である。図１１（ａ）は、制御モジュールの移動前の状態として、中継ルータ３＿ｅ＿１に制御モジュールＭが存在する初期状態を示している。アグリゲーションネットワーク３のツリー構造において、中継ルータ３＿ｅ＿１の直上のノードには、中継ルータ３＿ｄ＿１が配置されている。また、中継ルータ３＿ｅ＿１の直下のノードには、中継ルータ３＿ｆ＿１及び３＿ｆ＿２が配置されている。中継ルータ３＿ｆ＿１には自動車１Ａが接続され、中継ルータ３＿ｆ＿２には自動車１Ｂが接続されている。図１１（ｂ）は、中継ルータ３＿ｆ＿１から、直上の中継ルータ３＿ｄ＿１に制御モジュールＭが移動した状態を説明する図である。図１１（ｃ）は、中継ルータ３＿ｅ＿１から制御モジュールＭが削除された状態を示す図である。
以下、図１０及び図１１を用いて、第３の実施形態によるネットワークシステムの中継ルータ間における制御モジュールの自律的な上流への移動の動作について説明する。以下の説明において、自律的な移動を行なう制御モジュールＭは、中継ルータ３＿ｅ＿１に配置されている。
【００８６】
ステップＳ１０１：  制御モジュールＭは、リクエストメッセージを送信した自動車１Ａ以外の同種類の他の自動車１Ｂなどから、Ｎ秒以内にアクセスされたか否か、すなわちリクエストメッセージを受信したか否かの判定を行なう。このとき、制御モジュールＭは、他の自動車１ＢからＮ秒以内にアクセスされた場合、処理をステップＳ１０２へ進める。一方、制御モジュールＭは、他の自動車１ＢからＮ秒以内にアクセスされていない場合、処理をステップＳ１０７へ進める。
【００８７】
ステップＳ１０２：  制御モジュールＭは、現時点において配置されている中継ルータ３＿ｅ＿１におけるコストＣ0（図１１（ａ）の状態におけるコスト）と、現在の中継ルータ３＿ｅ＿１から自身を削除して直上の中継ルータ３＿ｄ＿１に移動した場合のコストＣ1（図１１（ｂ）の状態におけるコスト）と、現在の中継ルータ３＿ｅ＿１から自身を削除して直上の中継ルータ３＿ｄ＿１より上流（制御サーバ２＿２を含む）にある制御プログラムを利用する場合のコストＣ2（図１１（ｃ）の状態におけるコスト）との計算を、上記（１）式を用いてそれぞれ行なう。
【００８８】
ステップＳ１０３：  制御モジュールＭは、算出したコストＣ0がコストＣ1未満か否かの判定を行なう。このとき、制御モジュールＭは、コストＣ0がコストＣ1未満である場合、自身を移動させる必要がないため処理を図６のステップＳ２へ進める。一方、制御モジュールＭは、コストＣ0がコストＣ1以上である場合、自身を移動させた方がコストが低下するため、処理をステップＳ１０４へ進める。
【００８９】
ステップＳ１０４：  制御モジュールＭは、算出したコストＣ1がコストＣ2未満か否かの判定を行なう。このとき、制御モジュールＭは、コストＣ1がコストＣ2未満である場合、処理をステップＳ１０５へ進める。一方、制御モジュールＭは、コストＣ1がコストＣ2以上である場合、処理をステップＳ１０６へ進める。
【００９０】
ステップＳ１０５：  制御モジュールＭは、上述したように、現在の中継ルータ３＿ｅ＿１から自身を削除して直上の中継ルータ３＿ｄ＿１に移動した方がコストＣが低下する。このため、制御モジュールＭは、直上の中継ルータ３＿ｄ＿１に自身を複写した制御モジュールＭ’を配置する。そして、制御モジュールＭは、図１１（ｂ）に示すように、現在の中継ルータ３＿ｅ＿１から自身を削除し、処理を終了する。
【００９１】
ステップＳ１０６：  制御モジュールＭは、上述したように、現在の中継ルータ３＿ｅ＿１から自身を削除して、直上の中継ルータ３＿ｄ＿１のさらに上流にある中継ルータ３Ｒに配置されている制御モジュールＭを利用した方がコストＣが低下する。このため、制御モジュールＭは、図１１（ｃ）に示すように、現在の中継ルータ３＿ｅ＿１から自身を削除し、処理を終了する。
【００９２】
ステップＳ１０７：  制御モジュールＭは、中継ルータ３＿ｅ＿１の直上のノードにおける中継ルータ３＿ｄ＿１に、自身と同一の制御モジュールの有無を、この直上の中継ルータにアクセスして確認する。制御モジュールＭは、直上の中継ルータ３＿ｄ＿１に自身と同一の制御モジュールＭが配置されている場合、現時点で自身にアクセスする自動車１Ａが上記制御モジュールＭをアクセスしている他の同種の自動車１の各々と共用化が可能と判定する。
そして、制御モジュールＭは、中継ルータ３＿２＿１の直上の中継ルータ３＿ｄ＿１に自身と同一の制御モジュールＭが配置され、自動車１Ａが他の同種の自動車１の各々との共用化が可能である場合、処理をステップＳ１１１へ進める。一方、制御モジュールＭは、直上の中継ルータ３＿ｄ＿１に自身と同一の制御モジュールＭが配置されておらず、自動車１Ａが他の同種の自動車１Ｂの各々との共用化が可能でない場合、処理をステップＳ１０８へ進める。
【００９３】
ステップＳ１０８：  制御モジュールＭは、中継ルータ３＿ｅ＿１の直上のノードにおける中継ルータ３＿ｄ＿１に、自身が移動した際に占有するメモリ容量が存在するか否か、すなわち自身が移動できるリソースが直上の中継ルータ３＿ｄ＿１に有るか否かの判定を行なう。このとき、制御モジュールは、自身が移動できるリソースが直上の中継ルータ３＿ｄ＿１に有る場合、所定をステップＳ１１２へ進める。一方、制御モジュールＭは、自身が移動できるリソースが直上の中継ルータ３＿ｄ＿１にない場合、所定をステップＳ１０９へ進める。
【００９４】
ステップＳ１０９：  制御モジュールＭは、中継ルータ３＿ｅ＿１の直上のノードにおける中継ルータ３＿ｄ＿１に、移動可能な他の制御モジュールＭ’’が有るか否かの確認を行なう。このとき、制御モジュールＭは、直上の中継ルータ３＿ｄ＿１に配置されている全ての制御モジュールＭ’’の各々に対し、順番にそれぞれの制御モジュールＭ’’が移動可能か否かの確認を依頼する。制御モジュールＭ’’の各々は、自身が移動した際に、アクセスする対象装置１のレスポンスタイムを満足されるか、移動先として中継ルータの有無を、ステップＳ１０７からＳ１０９の処理を行なって確認する。そして、制御モジュールＭ’’は、自身が移動可能であるか否かを、制御モジュールＭに対して通知する。
【００９５】
このとき、制御モジュールＭは、制御モジュールＭ’’から移動可能であることを示す通知のメッセージの有無により、直上の中継ルータ３＿ｄ＿１において移動可能な制御モジュールＭ’’の有無を判定する。これにより、制御モジュールＭは、直上の中継ルータ３＿ｄ＿１において移動可能な制御モジュールＭ’’が有る場合、処理をステップＳ１１０へ進める。一方、制御モジュールＭは、直上の中継ルータ３Ｒにおいて移動可能な制御モジュールＭ’’がない場合、自身を移動せずに図６に示すフローチャートのステップＳ２へ戻る。
【００９６】
ステップＳ１１０：  制御モジュールＭは、移動可能と通知してきた制御モジュールＭ’’に対して移動を指示するメッセージを出力する。そして、制御モジュールＭ’’は、直上あるいは直下のノードの自身が移動可能な中継ルータ３Ｒに移動し、制御モジュールＭが移動するためのリソースを中継ルータ３＿ｄ＿１に生成する。これにより、制御モジュールＭは、中継ルータ３＿ｅ＿１の直上の中継ルータ３＿ｄ＿１に、自身が移動するためのリソースを確保する。
【００９７】
ステップＳ１１１：  制御モジュールＭは、処理を終了した後、現時点において位置されている中継ルータ３＿ｅ＿１における自身を削除する。
【００９８】
ステップＳ１１２：  制御モジュールＭは、中継ルータ３＿２＿１の直上の中継ルータ３＿ｄ＿１に対して自身を移動する。すなわち、制御モジュールＭは、自身の複写である制御モジュールＭ’を直上の中継ルータ３＿ｄ＿１に作成する。そして、制御モジュールＭは、処理を終了した後、現時点において位置されている中継ルータ３＿ｅ＿１における自身を削除する。
【００９９】
図１２は、制御モジュールが下流に移動する図６のステップＳ７における、第３の実施形態の処理の動作例を説明するフローチャートである。
図１３は、第３の実施形態において、コストＣに応じて制御モジュールが下流へ移動する処理について説明する概念図である。図１３（ａ）は、図１１（ａ）と同様に、制御モジュールの移動前における、中継ルータ３＿ｅ＿１に制御モジュールＭが存在する初期状態を示している。中継ルータ３＿ｅ＿１の直上のノードには、中継ルータ３＿ｄ＿１が配置されている。また、中継ルータ３＿ｅ＿１の直下のノードには、中継ルータ３＿ｆ＿１及び３＿ｆ＿２が配置されている。中継ルータ３＿ｆ＿１には自動車１Ａが接続され、中継ルータ３＿ｆ＿２には自動車１Ｂが接続されている。図１３（ｂ）は、中継ルータ３＿ｆ＿１から、直下の自動車１Ａが接続されている中継ルータ３＿ｆ＿１に制御モジュールＮが移動した状態を説明する図である。図１３（ｃ）は、中継ルータ３＿ｅ＿１の制御モジュールＭを、直下の中継ルータ３＿ｆ＿1及び３＿ｆ＿２の各々に制御モジュールＭ’として複写し、制御モジュールＭが中継ルータ３＿ｅ＿１からが削除された状態を示す図である。
以下、図１２及び図１３を用いて、第３の実施形態によるネットワークシステムの中継ルータ間における制御モジュールの自律的な下流への移動の動作について説明する。
【０１００】
ステップＳ２０１：  制御モジュールＭは、制御モジュールＭは、リクエストメッセージを受信した自動車１Ａ以外の同種類の他の自動車１Ｂから、Ｎ秒以内にアクセスされたか否か、すなわちリクエストメッセージを受信したか否かの判定を行なう。このとき、制御モジュールＭは、他の自動車１ＢからＮ秒以内にアクセスされた場合、処理をステップＳ２０２へ進める。一方、制御モジュールＭは、他の自動車１ＢからＮ秒以内にアクセスされていない場合、処理をステップＳ２０７へ進める。
【０１０１】
ステップＳ２０２：  制御モジュールＭは、現時点において配置されている中継ルータ３＿ｅ＿１におけるコストＣ0（図１３（ａ）の状態におけるコスト）と、現在の中継ルータ３＿ｅ＿１から自身を削除して直下の中継ルータ３＿ｆ＿１に移動した場合のコストＣ3（図１３（ｂ）の状態におけるコスト）と、現在の中継ルータ３＿ｅ＿１から自身を削除して直下の中継ルータ３＿ｆ＿１及び３＿ｆ＿２の各々に自身を複写した場合のコストＣ4（図１３（ｃ）の状態におけるコスト）との計算を、上記（１）式を用いてそれぞれ行なう。
【０１０２】
ステップＳ２０３：  制御モジュールＭは、算出したコストＣ0がコストＣ3未満か否かの判定を行なう。このとき、制御モジュールＭは、コストＣ0がコストＣ3未満である場合、自身を移動させる必要がないため処理を図６のステップＳ２へ進める。一方、制御モジュールＭは、コストＣ0がコストＣ3以上である場合、自身を移動させた方がコストが低下するため、処理をステップＳ２０４へ進める。
【０１０３】
ステップＳ２０４：  制御モジュールＭは、算出したコストＣ3がコストＣ4未満か否かの判定を行なう。このとき、制御モジュールＭは、コストＣ3がコストＣ4未満である場合、処理をステップＳ２０５へ進める。一方、制御モジュールＭは、コストＣ3がコストＣ4以上である場合、処理をステップＳ２０６へ進める。
【０１０４】
ステップＳ２０５：  制御モジュールＭは、上述したように、現在の中継ルータ３＿ｅ＿１から自身を削除して直下の中継ルータ３＿ｆ＿１に移動した方がコストＣが低下する。このため、制御モジュールＭは、直下の中継ルータ３＿ｆ＿１に自身を複写した制御モジュールＭ’を配置する。そして、制御モジュールＭは、図１３（ｂ）に示すように、処理を終了した後、現在の中継ルータ３＿ｅ＿１から自身を削除する。
【０１０５】
ステップＳ２０６：  制御モジュールＭは、上述したように、現在の中継ルータ３＿ｅ＿１から自身を削除して直下の中継ルータ３＿ｆ＿１及び３＿ｆ＿２の各々に制御モジュールＭ’を配置した方がコストＣが低下する。このため、制御モジュールＭは、図１３（ｃ）に示すように、直下の中継ルータ３＿ｆ＿１及び３＿ｆ＿２の各々に自身を制御モジュールＭ’として複写し、処理を終了した後、現在の中継ルータ３＿ｅ＿１から自身を削除する。
【０１０６】
ステップＳ２０７：  制御モジュールＭは、自動車１Ａと制御サーバ２＿２とのメッセージの送受信の経路上において、現時点で配置されている中継ルータ３＿ｅ＿１の直下のノードにおける中継ルータ３＿ｆ＿１に、自身が移動できるリソースが有るか否かの判定を行なう。このとき、制御モジュールは、自身が移動できるリソースが直下の中継ルータ３＿ｆ＿１に有る場合、所定をステップＳ２１０へ進める。一方、制御モジュールＭは、自身が移動できるリソースが直下の中継ルータ３＿ｆ＿１にない場合、処理をステップＳ２０８へ進める。
【０１０７】
ステップＳ２０８：  制御モジュールＭは、直下のノードにおける中継ルータ３＿ｆ＿１に、移動可能な他の制御モジュールＭ’’が有るか否かの確認を行なう。このとき、制御モジュールＭは、直上の中継ルータ３＿ｆ＿１に配置されている全ての制御モジュールＭ’’の各々に対し、順番にそれぞれの制御モジュールＭ’’が移動可能か否かの確認を依頼する。制御モジュールＭ’’の各々は、自身が移動した際に、アクセスする対象装置１のレスポンスタイムを満足されるか、移動先として中継ルータの有無を、ステップＳ２０７及びＳ２０８の処理を行なって確認する。そして、制御モジュールＭ’’は、自身が移動可能であるか否かを、制御モジュールＭに対して通知する。
【０１０８】
このとき、制御モジュールＭは、制御モジュールＭ’’から移動可能であることを示す通知のメッセージの有無により、直下の中継ルータ３＿ｆ＿１において移動可能な制御モジュールＭ’’の有無を判定する。これにより、制御モジュールＭは、直下の中継ルータ３＿ｆ＿１において移動可能な制御モジュールＭ’’が有る場合、処理をステップＳ２０９へ進める。一方、制御モジュールＭは、直下の中継ルータ３＿ｆ＿１において移動可能な制御モジュールＭ’’がない場合、直下の中継ルータ３＿ｆ＿１にリソースが確保されないため、処理を図６のステップＳ２へ進める。
【０１０９】
ステップＳ２０９：  制御モジュールＭは、移動可能と通知してきた制御モジュールＭ’’に対して移動を指示するメッセージを出力する。そして、制御モジュールＭ’’は、例えば、自身が移動可能な中継ルータ３＿ｅ＿１に移動し、制御モジュールＭが移動するためのリソースを直下の中継ルータ３＿ｆ＿１に生成する。これにより、制御モジュールＭは、直下の中継ルータ３＿ｆ＿１に、自身が移動するためのリソースを確保する。
【０１１０】
ステップＳ２１０：  そして、制御モジュールＭは、直上の中継ルータ３＿ｆ＿１に対して自身を移動する処理を行なう。すなわち、制御モジュールＭは、自身の複写である制御モジュールＭ’を直上の中継ルータ３＿ｆ＿１に作成する。
ステップＳ２１１：  そして、制御モジュールＭは、処理を終了した後、現時点において位置されている中継ルータ３＿ｅ＿１における自身を削除する。
【０１１１】
上述したよう、本実施形態によれば、サービスクラウド２に存在する制御サーバ２＿２にアクセスすることなく、対象装置から制御サーバ２＿２までのリクエストメッセージの経路上における中継サーバ３Ｒのいずれかに、リアルタイム性が必要な対象装置の制御に対応した制御モジュールが配置されるため、制御指令を制御を行なう適切な時間に受信できる。
また、本実施形態によれば、現時点において配置されている中継ルータを移動させない場合、制御モジュールを他の中継ルータに移動させる場合、現時点において配置されている中継ルータから削除して他の中継ルータに配置されている制御モジュールを使用する場合、他の中継ルータに複写させる場合などのコストを計算し、エッジに接続された対象装置が制御モジュールを使用する際、アグリゲーションネットワークのツリー構造における中継ルータの各々に対し、最も自身の使用効率の良い配置場所に制御モジュールの各々が自律的に移動させることができる。このため、本実施形態によれば、アグリゲーションネットワークのツリー構造における中継ルータの各々に対して、エッジにおける対象装置１の接続あるいは離脱の挙動に応じて、リアルタイムに、制御モジュールの各々を使用効率の良い中継ルータに制御モジュールが配置されるため、エッジに接続された対象装置が常に制御プログラムを高い使用効率で用いることができる。
【０１１２】
＜第４の実施形態＞
本発明の第４の実施形態によるネットワークシステムについて説明する。第４の実施形態におけるネットワークシステムの構成は、すでに説明した図１に示す第１の実施形態と同様である。以下、第１の実施形態と異なる動作について説明する。
第４の実施形態における制御モジュールは、第２の実施形態と同様に、分散エージェントとして、対象装置に対する制御指令を生成する機能に加え、自律的にアグリゲーションネットワークにおける中継ルータ間を移動する機能、自身を複写して他の中間ルータにインストールする機能、自身を削除する機能の各々を備えている。
【０１１３】
図１４は、第４の実施形態によるネットワークシステムの中継ルータ間における制御モジュールの移動の動作例を示すフローチャートである。以下、図１４及び図１１を用いて、第４の実施形態によるネットワークシステムの中継ルータ間における制御モジュールの自律的な上流への移動の動作について説明する。以下の説明において、自律的な移動を行なう制御モジュールＭは、中継ルータ３＿ｅ＿１に配置されている。また、中継ルータ３＿ｅ＿１は、ツリー構造のルートと、対象装置１としての自動車１Ａとの経路上に配置されている。
【０１１４】
ステップＳ３０１：  制御モジュールＭは、現時点において配置されている中継ルータ３＿ｅ＿１に移動した後に起動する。
そして、制御モジュールＭは、中継ルータ３＿ｅ＿１に備えられているノードサーバ５の時計から時刻情報を取得した後、自身のタイマーを起動させ、タイマーの計数を開始させる。
【０１１５】
ステップＳ３０２：  制御モジュールＭは、タイマーの計数時間が所定時間Δｔ（検出周期）を超えた場合、処理をステップＳ３０３へ進める。
【０１１６】
ステップＳ３０３：  制御モジュールＭは、所定時間Δｔ内において、自身に対応するリクエストメッセージが送信されてきたか否か、すなわち自身が自動車１Ａにアクセスされたか否かを検出する。
このとき、制御モジュールＭは、所定時間内Δｔ内に自身がアクセスされた場合、タイマーをリセットした後、処理をステップＳ３０４へ進める。一方、制御モジュールＭは、所定時間内Δｔ内に自身がアクセスされていない場合、処理をステップＳ３０７へ進める。
【０１１７】
ステップＳ３０４：  制御モジュールＭは、リクエストメッセージにおける自動車１Ａからのセンサ情報などに基づき、プロセスに対応した所定の演算を行なって、自動車１Ａの制御を行なう制御指令を生成する。このとき、制御モジュールＭは、演算開始から制御指令の生成が終了するまでの時間、及び自身が配置されている中継ルータ３＿ｅ＿１と自動車１Ａとにおけるメッセージの往復にかかる時間を加算することでレスポンスタイムを求める。
【０１１８】
ステップＳ３０５：  制御モジュールＭは、レスポンスタイムが予め設定されている設定時間を超えているか否かの判定を行う。このとき、制御モジュールＭは、レスポンスタイムが上記設定時間を超えている場合、処理をステップＳ３１１へ進める。一方、制御モジュールＭは、レスポンスタイムが予め設定されている設定時間を超えていない場合、処理をステップＳ３０６へ進める。
ここで、レスポンスタイムが満足されていない場合、自動車１Ａに対する制御モジュールＭは、レスポンスタイムを満足させるため、現在より近い位置にある中継ルータ３＿ｆ＿１に移動する必要があると判定する。
【０１１９】
ステップＳ３０６：  制御モジュールＭは、自動車１Ａからの自身に対するアクセス回数が予め設定されている閾値以上であるか否かの判定を行う。このとき、制御モジュールＭは、自身に対するアクセス回数が予め設定されている上記閾値以上である場合、処理をステップＳ３１１へ進める。制御モジュールＭは、自動車１Ａからの自身に対するアクセス回数が予め設定されている上記閾値未満である場合、処理をステップＳ３０２へ進める。
【０１２０】
ステップＳ３０７：  制御モジュールＭは、リクエストメッセージを受信した自動車１Ａ以外の同種類の他の自動車１Ｂから、Ｎ秒以内にアクセスされたか否か、すなわちリクエストメッセージを受信したか否かの判定を行なう。このとき、制御モジュールＭは、他の自動車１ＢからＮ秒以内にアクセスされた場合、処理をステップＳ３０２へ進める。一方、制御モジュールＭは、他の自動車１ＢからＮ秒以内にアクセスされていない場合、処理をステップＳ３０８へ進める。
【０１２１】
ステップＳ３０８：  制御モジュールＭは、直上のノードにおける中継ルータ３＿ｄ＿１に、自身と同一の制御モジュールの有無を、この直上の中継ルータ３＿ｄ＿１にアクセスして確認する。制御モジュールＭは、直上の中継ルータ３＿ｄ＿１に自身と同一の制御モジュールＭ’’が配置されている場合、現時点で自身にアクセスする自動車１Ａが上記制御モジュールＭ’’をアクセスしている他の同種の自動車１の各々と共用化が可能と判定する。
このとき、制御モジュールＭは、直上の中継ルータ３＿ｄ＿１に自身と同一の制御モジュールＭ’’が配置され、自動車１Ａが他の同種の自動車１の各々との共用化が可能である場合、処理をステップＳ３０９へ進める。一方、制御モジュールＭは、直上の中継ルータ３＿ｄ＿１に自身と同一の制御モジュールＭ’’が配置されておらず、自動車１Ａが他の同種の自動車１の各々との共用化が可能でない場合、処理をステップＳ３１０へ進める。
【０１２２】
ステップＳ３０９：  制御モジュールＭは、直上の中継ルータ３＿ｄ＿１に対して自身を移動する。すなわち、制御モジュールＭは、自身の複写である制御モジュールＭ’を直上の中継ルータ３＿ｄ＿１に作成する。そして、制御モジュールＭは、処理を終了した後、現時点において位置されている中継ルータ３＿ｅ＿１における自身を削除する。
ステップＳ３１０：  制御モジュールＭは、処理を終了した後、処理を終了した後、現時点において位置されている中継ルータ３＿ｅ＿１における自身を削除する。
【０１２３】
ステップＳ３１１：  制御モジュールＭは、上述したステップＳ３０８と同様の処理により、中継ルータ３＿ｆ＿１に配置されている制御モジュールＭ’’が自動車１Ａと他の同種の自動車１の各々とで共用化が可能であるか否かの判定を行なう。
このとき、制御モジュールＭは、直下の中継ルータ３＿ｆ＿１に自身と同一の制御モジュールＭ’’が配置され、自動車１Ａが同種の他の自動車１の各々との共用化が可能である場合、処理をステップＳ３１２へ進める。一方、制御モジュールＭは、直下の中継ルータ３＿ｆ＿１に自身と同一の制御モジュールＭ’’が配置されておらず、自動車１Ａが同種の他の自動車１の各々との共用化が可能でない場合、処理をステップＳ３１３へ進める。
【０１２４】
ステップＳ３１２：  制御モジュールＭは、そして、制御モジュールＭは、直下の中継ルータ１＿ｆ＿１に対して自身を複写する処理を行なう。このとき、制御モジュールＭは、自身の複写である制御モジュールＭ’を直下の中継ルータ３３＿ｆ＿１に作成する。
そして、制御モジュールＭは、同種の他の自動車１が現時点において位置されている中継ルータ３＿ｅ＿１における自身を使用しているため、中継ルータ３＿ｅ＿１における自身を削除せずに、処理を終了する。
【０１２５】
ステップＳ３１３：  制御モジュールＭは、直下の中継ルータ３＿ｆ＿１に対して自身を移動する。すなわち、制御モジュールＭは、自身の複写である制御モジュールＭ’を直下の中継ルータ３＿ｅ＿１に作成する。そして、制御モジュールＭは、処理を終了した後、現時点において位置されている中継ルータ３＿ｅ＿１における自身を削除する。
【０１２６】
上述したよう、本実施形態によれば、サービスクラウド２に存在する制御サーバ２＿２にアクセスすることなく、対象装置から制御サーバ２＿２までのリクエストメッセージの経路上における中継サーバ３Ｒのいずれかに、リアルタイム性が必要な対象装置の制御に対応した制御モジュールが配置されるため、制御指令を制御を行なう適切な時間に受信できる。
また、本実施形態によれば、対象装置における制御の各々に必要なレスポンスタイム、あるいは対象装置からのアクセスの頻度に対応し、制御モジュールが自律的に、上記経路上における中継ルータ３Ｒ間を移動して、それぞれレスポンスタイムを満たし、アクセスの頻度に対応した位置の中継ルータ３Ｒに配置されるため、アクセスする頻度の高い対象装置における各制御の処理に対応したレスポンスタイムをより短縮化させることができる。
【０１２７】
＜第５の実施形態＞
本発明の第５の実施形態によるネットワークシステムについて説明する。第５の実施形態におけるネットワークシステムの構成は、すでに説明した図１に示す第１の実施形態と同様である。以下、第１の実施形態と異なる動作について説明する。
第５の実施形態における制御モジュールは、第２の実施形態と同様に、分散エージェントとして、対象装置１に対する制御指令を生成する機能に加え、自律的にアグリゲーションネットワーク３における中継ルータ３Ｒ間を移動する機能、自身を複写して他の中間ルータにインストールする機能、自身を削除する機能の各々を備えている。
【０１２８】
図１５は、第５の実施形態によるネットワークシステムの中継ルータ間における制御モジュールＭの移動の動作例を示すフローチャートである。以下、図１５及び図１１を用いて、第５の実施形態によるネットワークシステムの中継ルータ間における制御モジュールＭの自律的な上流への移動の動作について説明する。以下の説明において、第４の実施形態と同様に、自律的な移動を行なう制御モジュールＭは、中継ルータ３＿ｅ＿１に配置されている。また、中継ルータ３＿ｅ＿１は、アグリゲーションネットワーク３のツリー構造において、ルートと対象装置１としての自動車１Ａが接続されたエッジとの経路上に配置されている。
【０１２９】
ステップＳ４０１：  制御モジュールＭは、現時点において配置されている中継ルータ３＿ｅ＿１に移動した後に起動する。
そして、制御モジュールＭは、中継ルータ３＿ｅ＿１に備えられているノードサーバ５の時計から時刻情報を取得した後、自身のタイマーを起動させ、タイマーの計数を開始させる。
【０１３０】
ステップＳ４０２：  制御モジュールＭは、タイマーの計数時間が所定時間Δｔ（検出周期）となるまで待機する。そして、制御モジュールＭは、タイマーの計数時間が所定時間Δｔを超えた場合、処理をステップＳ４０３へ進める。
【０１３１】
ステップＳ４０３：  制御モジュールＭは、所定時間Δｔ内において、自身に対応するリクエストメッセージが送信されてきたか否か、すなわち自身が自動車１Ａにアクセスされたか否かを検出する。
このとき、制御モジュールＭは、所定時間内Δｔ内に自身がアクセスされた場合、タイマーをリセットした後、処理をステップＳ４０４へ進める。一方、制御モジュールＭは、所定時間内Δｔ内に自身がアクセスされていない場合、処理をステップＳ４０７へ進める。
【０１３２】
ステップＳ４０４：  制御モジュールＭは、リクエストメッセージにおける自動車１Ａからのセンサ情報などに基づき、プロセスに対応した所定の演算を行なって、自動車１Ａの制御を行なう制御指令を生成する。このとき、制御モジュールＭは、演算開始から制御指令の生成が終了するまでの時間、及び自身が配置されている中継ルータ３＿ｅ＿１と自動車１Ａとにおけるメッセージの往復にかかる時間を加算することでレスポンスタイムを求める。
【０１３３】
ステップＳ４０５：  制御モジュールＭは、レスポンスタイムが予め設定されている設定時間を超えているか否かの判定を行う。このとき、制御モジュールＭは、レスポンスタイムが上記設定時間を超えている場合、処理をステップＳ４１１へ進める。一方、制御モジュールＭは、レスポンスタイムが予め設定されている設定時間を超えていない場合、処理をステップＳ４０６へ進める。
ここで、レスポンスタイムが満足されていない場合、制御モジュールＭは、自動車１Ａに対するレスポンスタイムを満足させるため、現在より近い位置にある中継ルータ３＿ｆ＿１に移動する必要があると判定する。
【０１３４】
ステップＳ４０６：  制御モジュールＭは、自動車１Ａからの自身に対するアクセス回数が予め設定されている閾値以上であるか否かの判定を行う。このとき、制御モジュールＭは、自身に対するアクセス回数が予め設定されている上記閾値以上である場合、処理をステップＳ４１１へ進める。制御モジュールＭは、自動車１Ａからの自身に対するアクセス回数が予め設定されている上記閾値未満である場合、処理をステップＳ４０２へ進める。
【０１３５】
ステップＳ４０７：  制御モジュールＭは、リクエストメッセージを受信した自動車１Ａ以外の同種類の他の自動車１Ｂから、Ｎ秒以内にアクセスされたか否か、すなわちリクエストメッセージを受信したか否かの判定を行なう。このとき、制御モジュールＭは、他の自動車１ＢからＮ秒以内にアクセスされた場合、処理をステップＳ４０２へ進める。一方、制御モジュールＭは、他の自動車１ＢからＮ秒以内にアクセスされていない場合、処理をステップＳ４０８へ進める。
【０１３６】
ステップＳ４０８：  制御モジュールＭは、現在の中継ルータ３＿ｅ＿１から自身を削除して直上の中継ルータ３＿ｄ＿１に移動した場合のコストＣ1（図１１（ｂ）の状態におけるコスト）と、現在の中継ルータ３＿ｅ＿１から自身を削除して直上の中継ルータ３＿ｄ＿１より上流（制御サーバ２＿２を含む）にある制御プログラムを利用する場合のコストＣ2（図１１（ｃ）の状態におけるコスト）との計算を、上記（１）式を用いてそれぞれ行なう。
そして、制御モジュールＭは、算出したコストＣ1がコストＣ2未満か否かの判定を行なう。このとき、制御モジュールＭは、コストＣ1がコストＣ2未満である場合、処理をステップＳ４０９へ進める。一方、制御モジュールＭは、コストＣ1がコストＣ2以上である場合、処理をステップＳ４１０へ進める。
【０１３７】
ステップＳ４０９：  制御モジュールＭは、直上の中継ルータ３Ｒ＿ｄ＿１に対して自身を移動する。すなわち、制御モジュールＭは、自身の複写である制御モジュールＭ’を直上の中継ルータ３＿ｄ＿１に作成する。そして、制御モジュールＭは、処理を終了した後、現時点において位置されている中継ルータ３＿ｅ＿１における自身を削除する。
ステップＳ４１０：  制御モジュールＭは、処理を終了した後、処理を終了した後、現時点において位置されている中継ルータ３＿ｅ＿１における自身を削除する。
【０１３８】
ステップＳ４１１：  制御モジュールＭは、現時点において配置されている中継ルータ３＿ｅ＿１から自身を削除して直下の中継ルータ３＿ｆ＿１に移動した場合のコストＣ3（図１３（ｂ）の状態におけるコスト）と、現在の中継ルータ３＿ｅ＿１から自身を削除して直下の中継ルータ３＿ｆ＿１及び３＿ｆ＿２の各々に自身を複写した場合のコストＣ4（図１３（ｃ）の状態におけるコスト）との計算を、上記（１）式を用いてそれぞれ行なう。
そして、制御モジュールＭは、算出したコストＣ3がコストＣ4未満か否かの判定を行なう。このとき、制御モジュールＭは、コストＣ3がコストＣ4未満である場合、処理をステップＳ４１２へ進める。一方、制御モジュールＭは、コストＣ3がコストＣ4以上である場合、処理をステップＳ４１３へ進める。
【０１３９】
ステップＳ４１２：  制御モジュールＭは、上述したように、現在の中継ルータ３＿ｅ＿１から自身を削除して直下の中継ルータ３＿ｆ＿１に移動した方がコストＣが低下する。このため、制御モジュールＭは、直下の中継ルータ３＿ｆ＿１に自身を複写した制御モジュールＭ’を配置する。そして、制御モジュールＭは、図１３（ｂ）に示すように、現在の中継ルータ３＿ｅ＿１から自身を削除し、処理を終了する。
【０１４０】
ステップＳ４１３：  制御モジュールＭは、上述したように、現在の中継ルータ３＿ｅ＿１から自身を削除して直下の中継ルータ３＿ｆ＿１及び３＿ｆ＿２の各々に制御モジュールＭ’を配置した方がコストＣが低下する。このため、制御モジュールＭは、図１３（ｃ）に示すように、直下の中継ルータ３＿ｆ＿１及び３＿ｆ＿２の各々に自身を制御モジュールＭ’として複写し、現在の中継ルータ３＿ｅ＿１から自身を削除し、処理を終了する。
【０１４１】
上述したように、本実施形態によれば、サービスクラウド２に存在する制御サーバ２＿２にアクセスすることなく、対象装置から制御サーバ２＿２までのリクエストメッセージの経路上における中継サーバ３Ｒのいずれかに、リアルタイム性が必要な対象装置の制御に対応した制御モジュールが配置されるため、制御指令を制御を行なう適切な時間に受信できる。
また、本実施形態によれば、制御モジュールを他の中継ルータに移動させる場合、現時点において配置されている中継ルータから削除して他の中継ルータに配置されている制御モジュールを使用する場合、他の中継ルータに複写させる場合などのコストを計算し、エッジに接続された対象装置が制御モジュールを使用する際、アグリゲーションネットワークのツリー構造における中継ルータの各々に対し、自身の使用効率の良い配置場所に制御モジュールの各々が自律的に移動させることができる。このため、本実施形態によれば、アグリゲーションネットワークのツリー構造における中継ルータの各々に対して、エッジにおける対象装置の接続あるいは離脱の挙動に応じて、リアルタイムに、制御モジュールの各々を使用効率の良い中継ルータに制御モジュールが配置されるため、エッジに接続された対象装置が常に制御プログラムを高い使用効率で用いることができる。
【０１４２】
＜第６の実施形態＞
本発明の第６の実施形態によるネットワークシステムについて説明する。第６の実施形態におけるネットワークシステムの構成は、すでに説明した第１から第５の実施形態のいずれかと同様である。以下、第１から第５の実施形態の各々と異なる動作について説明する。図１６は、本発明の第６の実施形態におけるネットワークシステムの動作を示す概念図である。図１６に示すように、本実施形態においては、アグリゲーションネットワークにおけるツリー構造が完全２分木であることを前提として構成されている。
自動車１Ａからルートであるセンタークラウド２までのメッセージの経路上には、アグリゲーションネットワーク３のツリー構造において、中継ルータ３＿ｄ＿１、３＿ｅ＿１及び３＿ｆ＿１の各々がある。また、中継ルータ３＿ｅ＿１をノードとする２分木としては、中継ルータ３＿ｆ＿１及び３＿ｆ＿２の各々がある。
中継ルータ３＿ｆ＿１には自身に自動車１Ａが接続され、中継ルータ３＿ｆ＿２には自走車１Ｂが接続されている。自動車１Ａと自動車１Ｂとは、同一車種であり、制御プログラムにおける制御モジュールの各々を共用することが可能である。
【０１４３】
図１６において、ある制御処理Ｇを行なう制御モジュールＭが中継ルータ１＿ｆ＿２のノードサーバ５＿ｆ＿２に配置されており、上記制御処理Ｇを行なう制御モジュールＭが中継ルータ１＿ｆ＿１のノードサーバ５＿ｆ＿１には配置されていない。
本実施形態において、中継ルータ３Ｒの各々に接続されているノードサーバ５の各々は、自身より下流の異なる他の中継ルータ３Ｒ（すでに述べたように、エッジルータも含む）に接続されているノードサーバ５のプロキシサーバとして動作する。
すなわち、中継ルータ３＿ｅ＿１に備えられているノードサーバ５＿ｅ＿１は、中継ルータ３＿ｆ＿１に備えられているノードサーバ５＿ｆ＿１と、中継ルータ３＿ｆ＿２にの備えられているノードサーバ５＿ｆ＿２とのプロキシサーバとして動作する。
【０１４４】
ノードサーバ５＿ｅ＿１は、中継ルータ３＿ｆ＿１から転送される自動車１Ａからのリクエストメッセージが制御モジュールＭであることを判定する。そして、ノードサーバ５＿ｅ＿１は、自身にこの制御モジュールＭが配置されていない場合、自身がプロキシサーバとして動作する対象のノードサーバ５＿ｆ＿２に対し、制御モジュールＭが配置されているか否かの確認を行なう。ここで、ノードサーバ５＿ｅ＿１は、中継ルータ３＿ｅ＿１を介して、制御モジュールＭの制御を要求するリクエストメッセージを中継ルータ３＿ｆ＿２に対して転送する。
【０１４５】
これにより、ノードサーバ５＿ｆ＿２は、自動車１Ａからのリクエストメッセージを受信し、制御モジュールＭにより制御指令を生成する。そして、ノードサーバ５＿ｆ＿２は、生成した制御指令をレスオンスメッセージとしてプロキシサーバであるノードサーバ５＿ｅ＿１に対して送信する。ノードサーバ５＿ｅ＿１は、受信したレスポンスメッセージを中継ルータ３＿ｅ＿１を介して、中継ルータ３＿ｆ＿１に対して送信する。ノードサーバ５＿ｆ＿１は、中継ルータ３＿ｆ＿１を介して受信したレスポンスメッセージを、自動車１Ａに対して送信する。
【０１４６】
上述した構成により、本実施形態によれば、各エッジに接続される同一の制御モジュールを接続する対象装置１の数に偏り（最大５倍）がある場合、全てのエッジに接続された対象装置１の要求ブロック率の低減を可能とすることができる。ここで、供給ブロック率とは、エッジに接続された対象装置１の全てが同一の制御モジュールに対してリクエストメッセージを送信した場合、このリクエストメッセージがルートのセンタークラウド２まで送信される確率を示している。
【０１４７】
図１７は、中継ルータに備えられたノードサーバを、自身の二分木のノードサーバのプロキシサーバとした場合の効果を示す図である。図１７において、横軸がアグリゲーションネットワークの全てのノードに接続される対象機器１の接続数を示し、縦軸が対象機器１の接続数に対応した要求ブロック率を示している。点線は、中継ルータに備えられるノードサーバがプロキシサーバの機能を有さない場合の要求ブロック率の曲線を示している。実線は、中継ルータに備えられるノードサーバがプロキシサーバの機能を有する場合の要求ブロック率の曲線を示している。図１６から判るように、ノードサーバに対してプロキシ機能を備えることにより、対象装置１からのリクエストメッセージの要求ブロック率を低減させることができる。
【０１４８】
以上、この発明の実施形態を図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
【符号の説明】
【０１４９】
１…対象装置
１＿１…ビデオレコーダ
１＿２，１＿２＿１，１＿２＿ｓ，１Ａ，１Ｂ…自動車
１＿３…ＰＢシステム
１＿４…ＮＷロボット
２…サービスクラウド
２＿１…クラウドルータ
２＿２…制御サーバ
３…アグリゲーションネットワーク
３＿１＿１，３＿２＿１，３＿２＿ｍ，３＿３＿１，３＿３＿ｎ，３＿４＿１，３＿４＿ｐ，３＿４＿ｑ，３＿４＿ｒ，３＿ｄ＿１，３＿ｅ＿１，３＿ｆ＿１，３＿ｆ＿２，３＿ｓ−１，３＿ｓ−１＿１，３＿ｓ−１＿２，３＿ｓ−２＿１，３Ｒ…中継ルータ
５，５＿１＿１，５＿２＿１，５＿２＿ｍ，５＿３＿１，５＿３＿２，５＿２＿ｍ…中継サーバ
Ｍ…制御モジュール
【図１】
2018148321.tif 000003
【図２】
2018148321.tif 000004
【図３】
2018148321.tif 000005
【図４】
2018148321.tif 000006
【図５】
2018148321.tif 000007
【図６】
2018148321.tif 000008
【図７】
2018148321.tif 000009
【図８】
2018148321.tif 000010
【図９】
2018148321.tif 000011
【図１０】
2018148321.tif 000012
【図１１】
2018148321.tif 000013
【図１２】
2018148321.tif 000014
【図１３】
2018148321.tif 000015
【図１４】
2018148321.tif 000016
【図１５】
2018148321.tif 000017
【図１６】
2018148321.tif 000018
【図１７】
2018148321.tif 000019