JP2015090693A - Distribution arrangement device, distribution arrangement method, and distribution arrangement program - Google Patents
Distribution arrangement device, distribution arrangement method, and distribution arrangement program Download PDFInfo
- Publication number
- JP2015090693A JP2015090693A JP2013231583A JP2013231583A JP2015090693A JP 2015090693 A JP2015090693 A JP 2015090693A JP 2013231583 A JP2013231583 A JP 2013231583A JP 2013231583 A JP2013231583 A JP 2013231583A JP 2015090693 A JP2015090693 A JP 2015090693A
- Authority
- JP
- Japan
- Prior art keywords
- node
- nodes
- cost
- distributed deployment
- processing
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims description 306
- 238000012545 processing Methods 0.000 claims abstract description 229
- 238000004891 communication Methods 0.000 claims abstract description 146
- 230000008569 process Effects 0.000 claims description 273
- 230000007423 decrease Effects 0.000 claims description 18
- 238000011156 evaluation Methods 0.000 abstract description 35
- 238000001914 filtration Methods 0.000 description 60
- 238000010586 diagram Methods 0.000 description 30
- 230000000694 effects Effects 0.000 description 6
- 230000009467 reduction Effects 0.000 description 5
- 230000008859 change Effects 0.000 description 3
- 230000001174 ascending effect Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000009434 installation Methods 0.000 description 2
- 238000011144 upstream manufacturing Methods 0.000 description 2
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 239000006185 dispersion Substances 0.000 description 1
- 238000006073 displacement reaction Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
Description
本発明は、分散配備装置、分散配備方法、および分散配備プログラムに関する。 The present invention relates to a distributed deployment apparatus, a distributed deployment method, and a distributed deployment program.
従来、ノードのセンシングデータや稼動ログなどを、センターサーバが収集して、環境状況や稼動状況などを分析することが行われている。また、動画配信サービスなどにおいて、エンドユーザが作成したコンテンツをセンターサーバが蓄積し、センターサーバが蓄積したコンテンツを他のエンドユーザに配信することが行われている。 Conventionally, a center server collects node sensing data, operation logs, and the like, and analyzes environmental conditions and operation conditions. Also, in a video distribution service or the like, content created by an end user is accumulated by a center server, and content accumulated by the center server is distributed to other end users.
このように、センターサーバが、データを収集して処理を行うと、センターサーバの処理負荷が増大するとともに、センターサーバのアクセス負荷が増大してセンターサーバ周辺のネットワークが逼迫してしまう。このため、センターサーバの処理を、ネットワークに含まれるノードに分散して割り当てることがある。 As described above, when the center server collects and processes data, the processing load on the center server increases, and the access load on the center server increases, resulting in a tight network around the center server. For this reason, the processing of the center server may be distributed and assigned to the nodes included in the network.
関連する技術としては、例えば、ネットワークトラフィックを抑制するためのものがある。具体的には、サーバノードが、処理を実行するモジュールが入力とする複数のイベントの種別のうち一部のイベントを出力するノードであり、かつ各ノード間でモジュールに定義された集約属性の属性名と同一の集約属性に属する属性値が同一であるノードを抽出する。そして、サーバノードが、複数のノードが抽出された場合に、センサネットワークのトポロジを参照して、各ノードが収容される上位ノードに当該モジュールを配備する。 As a related technique, for example, there is a technique for suppressing network traffic. Specifically, the server node is a node that outputs some of the multiple event types input by the module that executes the process, and the attribute of the aggregate attribute defined in the module between the nodes Nodes having the same attribute value belonging to the same aggregate attribute as the name are extracted. Then, when a plurality of nodes are extracted, the server node refers to the topology of the sensor network and deploys the module to an upper node that accommodates each node.
また、経路間の共通リンク部分を避け安全性の高い複数の配信経路を少ない計算資源で計算するための技術がある。具体的には、配信経路決定装置が、経路探索の起点となる根ノードを順次に選択し、根ノードの隣接ノードごとに、いずれかの配信元ノードへ到達する最短経路として上流側経路を探索する。そして、配信経路決定装置が、当該隣接ノードと配信先ノードとを結ぶ下流側経路と上流側経路とを接続してコンテンツ配信経路を確立し、確立された経路を構成するリンクの距離が長くなるよう補正する。 In addition, there is a technique for calculating a plurality of highly secure delivery routes with less computational resources while avoiding a common link portion between routes. Specifically, the delivery route determination device sequentially selects the root node that is the starting point of the route search, and searches for the upstream route as the shortest route that reaches one of the delivery source nodes for each adjacent node of the root node. To do. Then, the delivery route determination device establishes the content delivery route by connecting the downstream route and the upstream route that connect the adjacent node and the delivery destination node, and the distance of the links constituting the established route becomes longer. Correct as follows.
また、ユーザと対話しつつ問題の緒条件に適応して、効率的に解を求めるための技術がある。また、大規模な問題に対して、より最適な組合せを高速に設計するためのWDM網設計技術がある。また、計算機ネットワーク上において、ユーザの意図、目的、アクセス時期等に応じて、最適なデータ経路を自動的に選択するための技術がある。 In addition, there is a technique for efficiently finding a solution by adapting to the condition of the problem while interacting with the user. There is also a WDM network design technique for designing a more optimal combination at a high speed for a large-scale problem. There is also a technique for automatically selecting an optimum data path on a computer network according to the user's intention, purpose, access time, and the like.
しかしながら、上述した従来技術では、分散対象となる処理をネットワーク内のどのノードに割り当てればよいか判断することが難しい場合がある。例えば、すべてのノードについて、当該ノードに処理を割り当てた場合のネットワーク内の通信にかかるコストを算出して、コストが最小になるノードを探索する場合、ネットワークに含まれるノード数の増大に伴って探索にかかる処理負荷や処理時間が膨大になってしまう。 However, in the above-described conventional technology, it may be difficult to determine which node in the network should be assigned the processing to be distributed. For example, for all nodes, when calculating the cost of communication in the network when processing is assigned to that node and searching for a node with the lowest cost, the number of nodes included in the network increases. The processing load and processing time required for the search become enormous.
1つの側面では、本発明は、分散対象となる処理を割り当てる適切なノードを効率的に探索することができる分散配備装置、分散配備方法、および分散配備プログラムを提供することを目的とする。 In one aspect, an object of the present invention is to provide a distributed deployment apparatus, a distributed deployment method, and a distributed deployment program that can efficiently search for an appropriate node to which a process to be distributed is allocated.
本発明の一側面によれば、ネットワーク内のノード間の通信にかかるコストに基づいて、分散対象となる処理の入力データを生成する各ノードから、前記処理の出力データを収集する特定のノードまでの通信経路をそれぞれ特定し、前記特定のノードを起点にして、特定した前記通信経路上のノードの中から、送信または受信される前記入力データのデータ数またはデータ量が減少し、かつ、前記処理を割り当てた際に前記ネットワーク内の通信にかかるコストが減少するノードを順次探索し、探索したノードの中から前記処理を割り当てるノードを決定する分散配備装置、分散配備方法、および分散配備プログラムが提案される。 According to one aspect of the present invention, from each node that generates input data of a process to be distributed to a specific node that collects output data of the process based on the cost of communication between nodes in the network The number of data or the amount of the input data transmitted or received from among the nodes on the specified communication path, starting from the specific node, and A distributed deployment apparatus, a distributed deployment method, and a distributed deployment program that sequentially search for nodes that reduce the cost of communication in the network when a process is allocated, and determine a node to which the process is allocated from the searched nodes. Proposed.
本発明の一態様によれば、分散対象となる処理を割り当てる適切なノードを効率的に探索することができるという効果を奏する。 According to one aspect of the present invention, there is an effect that an appropriate node to which a process to be distributed can be allocated can be efficiently searched.
以下に添付図面を参照して、本発明にかかる分散配備装置、分散配備方法、および分散配備プログラムの実施の形態を詳細に説明する。 Exemplary embodiments of a distributed deployment apparatus, a distributed deployment method, and a distributed deployment program according to the present invention will be described below in detail with reference to the accompanying drawings.
(配備システム100の一例)
図1は、配備システム100の一例を示す説明図である。図1において、配備システム100は、複数のノードNを含むネットワーク110により実現される。ネットワーク110は、例えば、LAN(Local Area Network)、WAN(Wide Area Network)、インターネット、携帯電話網などの通信網である。
(Example of deployment system 100)
FIG. 1 is an explanatory diagram illustrating an example of the
ここで、複数のノードNは、他のノードNから特定の演算処理の入力データを収集して、特定の演算処理を実行するノードNを含む。以下の説明では、特定の演算処理を実行するノードNを「収集ノードSN」と表記する場合がある。また、複数のノードNは、特定の演算処理の入力データを生成するノードNを含む。また、複数のノードNは、特定の演算処理の入力データを転送するノードNを含む。 Here, the plurality of nodes N include nodes N that collect input data of specific arithmetic processing from other nodes N and execute the specific arithmetic processing. In the following description, a node N that executes a specific calculation process may be referred to as a “collection node SN”. In addition, the plurality of nodes N include nodes N that generate input data for specific arithmetic processing. The plurality of nodes N include a node N that transfers input data of a specific calculation process.
ノードNは、図2に後述するコンピュータ200によって実現される。ノードNは、例えば、ノート型パソコン、デスクトップ型パソコン、携帯電話機、スマートフォン、PHS(Personal Handyphone System)、タブレット型端末などである。収集ノードSNは、例えば、ノート型パソコン、デスクトップ型パソコン、サーバなどである。
The node N is realized by a
配備システム100は、特定の演算処理に含まれる複数の処理のうちのいずれかの処理を分散対象の演算処理として、収集ノードSNとは異なるノードNに割り当てることにより、ネットワーク110内の通信にかかるコストを低減する。ここで、コストとは、通信に用いられるリソースを表すものである。コストとは、例えば、通信距離、通信速度、通信帯域、および使用料金などである。以下の説明では、分散対象の演算処理を「分散処理」と表記する場合がある。
The
図1の例では、収集ノードSNは、分散配備プログラムを実行することにより、分散配備装置として動作する。まず、収集ノードSNは、ネットワークトポロジーの情報を取得する。ここで、ネットワークトポロジーの情報は、ネットワーク110内のノードN間の接続関係を示す情報、およびノードN間を接続するリンクのコストを示す情報を含む。
In the example of FIG. 1, the collection node SN operates as a distributed deployment apparatus by executing the distributed deployment program. First, the collection node SN acquires network topology information. Here, the network topology information includes information indicating the connection relationship between the nodes N in the
(1)収集ノードSNは、ノードN間を接続するリンクのコストに基づいて、分散処理の入力データd1〜d10の各々の入力データを生成するノードNから、収集ノードSNまでの通信経路を特定する。 (1) The collection node SN specifies the communication path from the node N that generates each input data of the distributed processing input data d1 to d10 to the collection node SN based on the cost of the link connecting the nodes N To do.
(2)収集ノードSNは、特定した各々の通信経路上の各ノードNにおける通信経路の収束数を算出する。通信経路の収束数とは、特定した通信経路のうちの当該ノードNが所属する通信経路の数である。次に、収集ノードSNは、分散処理を割り当てるまで、収束数が多いノードNから順にノードNを選択して、選択したノードNに分散処理を割り当てた場合のネットワーク110内の通信にかかるコストを示す評価値を算出する。
(2) The collection node SN calculates the number of convergence of communication paths in each node N on each identified communication path. The convergence number of communication paths is the number of communication paths to which the node N belongs among the specified communication paths. Next, the collection node SN selects the node N in order from the node N having the largest number of convergence until the distributed processing is assigned, and reduces the cost of communication in the
そして、収集ノードSNは、選択したノードNより収束数が少なく、かつ、選択したノードNより評価値が小さくなるノードNを探索する。ここで、収集ノードSNは、収束数が同一のノードNがある場合は、収集ノードSNからのリンク数が最大のノードNを選択する。 Then, the collection node SN searches for a node N having a smaller number of convergence than the selected node N and a smaller evaluation value than the selected node N. Here, when there is a node N with the same convergence number, the collection node SN selects the node N with the maximum number of links from the collection node SN.
(3)収集ノードSNは、選択したノードNより収束数が少なく、かつ、選択したノードNより評価値が小さくなるノードNがない場合に、探索を終了する。(4)収集ノードSNは、探索を終了すると、選択したノードNに分散処理を割り当てる。 (3) The collection node SN ends the search when there is no node N having a smaller number of convergence than the selected node N and having an evaluation value lower than that of the selected node N. (4) When the collection node SN finishes the search, the collection node SN assigns distributed processing to the selected node N.
これにより、収集ノードSNは、ネットワーク110内の通信にかかるコストを低減することができるノードを探索する際にかかる処理負荷や処理時間の増加を抑制することができる。収集ノードSNは、例えば、全解探索により特定の演算処理に含まれる分散処理を割り当てる場合に比べて、分散処理を割り当てる際にかかる処理負荷や処理時間を低減することができる。また、収集ノードSNは、ネットワーク110にノードNが追加されたり、ノード間の接続状況が変化した場合に、接続状況の変化に対応して分散処理を割り当て直す際にかかる処理負荷や処理時間の増加を抑制することができる。
Thereby, the collection node SN can suppress an increase in processing load and processing time when searching for a node that can reduce the cost for communication in the
ここでは、収集ノードSNが、分散配備プログラムを実行することにより、分散配備装置として動作したが、これに限らない。例えば、収集ノードSNとは異なるノードNが、分散配備装置として動作してもよい。また、例えば、ノードNとは異なる、ネットワーク110に接続された情報処理装置(不図示)が、分散配備装置として動作してもよい。
Here, the collection node SN operates as a distributed deployment apparatus by executing the distributed deployment program, but is not limited thereto. For example, a node N different from the collection node SN may operate as a distributed deployment device. Further, for example, an information processing apparatus (not shown) connected to the
(コンピュータ200のハードウェア構成例)
次に、図2を用いて、図1に示したノードNを実現するコンピュータ200のハードウェア構成例について説明する。
(Hardware configuration example of computer 200)
Next, a hardware configuration example of the
図2は、コンピュータ200のハードウェア構成例を示すブロック図である。図2において、コンピュータ200は、CPU201、主記憶装置202、補助記憶装置203、入力装置204、出力装置205、およびI/F206が、バス210に接続されて構成されている。
FIG. 2 is a block diagram illustrating a hardware configuration example of the
CPU201は、コンピュータ200の全体の制御を司る。また、CPU201は、主記憶装置202に記憶されているOS(Operating System)や本実施の形態の分散配備プログラムなどの各種プログラムを実行することにより、主記憶装置202または補助記憶装置203内のデータを読み出す。また、CPU201は、主記憶装置202に記憶されているOSや本実施の形態の分散配備プログラムなどの各種プログラムを実行することにより、実行結果となるデータを主記憶装置202または補助記憶装置203に書き込む。
The
主記憶装置202は、ROM(Read Only Memory)、RAM(Random Access Memory)などで構成され、CPU201のワークエリアになったり、補助記憶装置203から読み出されたブートプログラム、分散配備プログラム、特定の演算処理の実行プログラムなどの各種プログラムを記憶したりする。
The
また、主記憶装置202は、補助記憶装置203から読み出された、図3に後述するフローテーブル300、図4に後述するトポロジーテーブル400、図5に後述する処理テーブル500などの各種テーブルを記憶したりする。また、主記憶装置202は、各種プログラムの実行により得られたデータを含む各種データを記憶したりする。
The
補助記憶装置203は、フラッシュメモリ、磁気ディスクドライブなどで構成され、ブートプログラム、分散配備プログラム、特定の演算処理の実行プログラムなどの各種プログラムを記憶したりする。また、補助記憶装置203は、図3に後述するフローテーブル300、図4に後述するトポロジーテーブル400、図5に後述する処理テーブル500などの各種テーブルを記憶したりする。また、補助記憶装置203は、各種プログラムの実行により得られたデータを含む各種データを記憶したりする。
The
入力装置204は、キーボード、マウス、タッチパネルなどユーザの操作により、各種データの入力を行うインターフェースである。出力装置205は、CPU201の指示により、データを出力するインターフェースである。出力装置205には、ディスプレイやプリンタが挙げられる。I/F206は、ネットワーク110を介して外部からデータを受信したり、外部にデータを送信したりするインターフェースである。
The
また、コンピュータ200は、センサ(不図示)を有してもよい。センサは、設置箇所における所定の変位量を検出する。センサは、例えば、設置箇所の圧力を検出する圧電素子や、光を検出する光電素子などである。
The
(フローテーブル300の記憶内容)
次に、図3を用いて、フローテーブル300の記憶内容の一例について説明する。フローテーブル300は、例えば、図2に示した主記憶装置202、および補助記憶装置203などの記憶領域によって実現される。
(Storage contents of flow table 300)
Next, an example of the contents stored in the flow table 300 will be described with reference to FIG. The flow table 300 is realized by storage areas such as the
図3は、フローテーブル300の記憶内容の一例を示す説明図である。図3に示すように、フローテーブル300は、処理項目に対応付けて、次処理項目と、データ量項目と、処理負荷項目と、を有し、処理ごとに各項目に情報が設定されることにより、レコードを記憶する。 FIG. 3 is an explanatory diagram illustrating an example of the contents stored in the flow table 300. As illustrated in FIG. 3, the flow table 300 includes a next processing item, a data amount item, and a processing load item in association with the processing item, and information is set in each item for each processing. To store the record.
処理項目には、特定の演算処理に含まれる処理の名称が記憶される。次処理項目には、処理項目の処理の次に実行される処理の名称が記憶される。データ量項目には、処理項目の処理を実行することにより生成されるデータのデータ量が記憶される。データ量の単位は、例えば、kBである。処理負荷項目には、処理項目の処理を実行する際に、処理を実行するコンピュータ200にかかる負荷が記憶される。
In the process item, the name of the process included in the specific calculation process is stored. In the next process item, a name of a process executed next to the process of the process item is stored. The data amount item stores the data amount of data generated by executing the processing of the processing item. The unit of the data amount is, for example, kB. The processing load item stores a load applied to the
ここで、コンピュータ200にかかる負荷とは、処理項目の処理を実行する際に、単位時間あたりにコンピュータ200にかかる負荷である。コンピュータ200にかかる負荷とは、具体的には、処理項目の処理を実行する際に、単位時間あたりにコンピュータ200が使用するメモリ量である。
Here, the load applied to the
例えば、レコード301は、処理の名称「proc1−1」と、次に実行される処理の名称「proc2−1」と、データ量「100」と、処理負荷「10」と、を含むフロー情報を示す。
For example, the
これにより、分散配備装置は、フローテーブル300に基づいて、特定の演算処理に含まれる複数の処理の実行順序を特定することができる。また、分散配備装置は、フローテーブル300に基づいて、特定の演算処理に含まれる複数の処理の各々の処理のデータ量および処理負荷を特定することができる。 Thereby, the distributed deployment apparatus can specify the execution order of a plurality of processes included in the specific calculation process based on the flow table 300. Further, the distributed deployment device can specify the data amount and the processing load of each of a plurality of processes included in the specific calculation process based on the flow table 300.
(トポロジーテーブル400の記憶内容)
次に、図4を用いて、トポロジーテーブル400の記憶内容の一例について説明する。トポロジーテーブル400は、例えば、図2に示した主記憶装置202、および補助記憶装置203などの記憶領域によって実現される。
(Storage contents of topology table 400)
Next, an example of the contents stored in the topology table 400 will be described with reference to FIG. The topology table 400 is realized by storage areas such as the
図4は、トポロジーテーブル400の記憶内容の一例を示す説明図である。図4に示すように、トポロジーテーブル400は、ノード項目に対応付けて、接続ノード項目と、コスト項目と、性能項目と、を有し、ノードNごとに各項目に情報が設定されることにより、レコードを記憶する。 FIG. 4 is an explanatory diagram showing an example of the contents stored in the topology table 400. As shown in FIG. 4, the topology table 400 includes connection node items, cost items, and performance items in association with the node items, and information is set in each item for each node N. Memorize records.
ノード項目にはノードNの名称が記憶される。接続ノード項目には、ノード項目のノードNに接続されたノードNの名称が記憶される。コスト項目には、ノード項目のノードNと接続ノード項目のノードNとの間の通信にかかるコストが記憶される。性能項目には、ノード項目のノードNの処理性能を示す値が記憶される。 The node item stores the name of the node N. In the connection node item, the name of the node N connected to the node N of the node item is stored. In the cost item, a cost for communication between the node N of the node item and the node N of the connection node item is stored. In the performance item, a value indicating the processing performance of the node N of the node item is stored.
例えば、レコード401は、ノードNの名称「N1」と、接続されたノードNの名称「N3」と、接続されたノードNとの間の通信にかかるコスト「5」と、処理性能を示す値「100」と、を含むトポロジー情報を示す。また、レコード401は、接続されたノードNの名称「N4」と、接続されたノードNとの間の通信にかかるコスト「20」と、を示す。ここで、処理性能とは、単位時間あたりにコンピュータ200にかかる負荷の上限である。
For example, the
これにより、分散配備装置は、トポロジーテーブル400に基づいて、ネットワーク110内の各々のノードの処理性能を特定し、分散処理を割り当てるための制約条件を満たすか否かを判定することができる。制約条件とは、例えば、処理性能が分散処理の処理負荷より大きいという条件である。
Thereby, the distributed deployment apparatus can specify the processing performance of each node in the
また、分散配備装置は、トポロジーテーブル400に基づいて、ノード間の接続関係と、ノード間のリンクのコストとを特定し、通信にかかるコストが最小になる経路を特定したり、ネットワーク110内の通信にかかるコストを算出することができる。 Also, the distributed deployment device identifies the connection relationship between the nodes and the cost of the link between the nodes based on the topology table 400, identifies the route that minimizes the cost for communication, The cost for communication can be calculated.
(処理テーブル500の記憶内容)
次に、図5を用いて、処理テーブル500の記憶内容の一例について説明する。処理テーブル500は、例えば、図2に示した主記憶装置202、および補助記憶装置203などの記憶領域によって実現される。
(Storage contents of processing table 500)
Next, an example of the contents stored in the processing table 500 will be described with reference to FIG. The processing table 500 is realized by storage areas such as the
図5は、処理テーブル500の記憶内容の一例を示す説明図である。図5に示すように、処理テーブル500は、処理項目に対応付けて、ノード項目を有し、処理ごとに各項目に情報が設定されることにより、レコードを記憶する。 FIG. 5 is an explanatory diagram showing an example of the stored contents of the processing table 500. As illustrated in FIG. 5, the processing table 500 includes node items in association with processing items, and stores records by setting information in each item for each processing.
処理項目には、処理の名称が記憶される。ノード項目には、処理項目の処理を実行するノードNの名称が記憶される。例えば、レコード501は、データを生成する処理の名称「data1」と、データを生成する処理を実行するノードNの名称「N1」と、を含む処理情報を示す。
The name of the process is stored in the process item. The node item stores the name of the node N that executes the processing of the processing item. For example, the
これにより、分散配備装置は、処理テーブル500に基づいて、実行するノードが固定されているために、分散処理にならない処理を特定することができる。また、分散配備装置は、処理テーブル500に基づいて、分散処理にならない処理を実行するノードNを特定することができる。 As a result, the distributed deployment device can identify a process that does not become a distributed process because the node to be executed is fixed based on the process table 500. In addition, the distributed deployment device can identify the node N that executes a process that does not become a distributed process, based on the process table 500.
(分散配備装置600の機能的構成例)
次に、図6を用いて、分散配備装置600の機能的構成例について説明する。
(Functional configuration example of distributed deployment device 600)
Next, a functional configuration example of the distributed
図6は、分散配備装置600の機能的構成例を示すブロック図である。分散配備装置600は、制御部になる機能として、第1の決定部601と、特定部602と、第2の決定部603と、算出部604と、判定部605と、探索部606と、を含む。第1の決定部と、特定部602と、第2の決定部603と、算出部604と、判定部605と、探索部606とは、例えば、図2に示した主記憶装置202、および補助記憶装置203などの記憶装置に記憶されたプログラムをCPU201に実行させることにより、または、I/F206により、その機能を実現する。
FIG. 6 is a block diagram illustrating a functional configuration example of the distributed
第1の決定部601は、実行するノードNが固定されていない分散処理を、収集ノードSNとは異なるノードNに割り当てることによるネットワーク110内の通信にかかるコストの軽減効果が高い処理から順にソートする。第1の決定部601は、例えば、実行するノードNが固定されていない分散処理について、入力データのデータ量に対する出力データのデータ量の割合を算出し、算出した割合が小さい順にソートする。そして、第1の決定部601は、ソートした処理を、さらに、実行順序に従ってソートし、実行順序が早く、かつコストの軽減効果が高い順に、分散処理を割当対象に決定する。分散配備装置600が分散処理を割当対象に決定する一例については、後述する。
The
特定部602は、ネットワーク110内のノードN間の通信にかかるコストに基づいて、分散処理の入力データを生成する各ノードNから、分散処理の出力データを収集する特定のノードNまでの通信経路をそれぞれ特定する。ここで、特定のノードNとは、例えば、収集ノードSNである。特定部602は、例えば、入力データを生成する各ノードNから収集ノードSNまでの各ノードN間の通信にかかるコストの合計値が最小になる通信経路をそれぞれ特定する。
The specifying
特定部602は、具体的には、ダイクストラ法を用いて、各ノードNから収集ノードSNまでの各ノードN間の通信にかかるコストの合計値が最小になる通信経路をそれぞれ特定する。次に、特定部602は、フローテーブル300に基づいて、入力データを生成するノードNを特定する。そして、特定部602は、特定した通信経路の中から、特定した入力データを生成するノードNから収集ノードSNまでの各ノードN間の通信にかかるコストの合計値が最小になる通信経路を取得する。分散配備装置600がコストの合計値が最小になる通信経路を特定する一例については、図12を用いて後述する。
Specifically, the specifying
これにより、探索部606は、特定した通信経路に基づいて、ネットワーク110に含まれるノードNの中から、特定の演算処理に含まれる分散処理を割り当てる候補になるノードNのグループを取得することができる。特定結果は、例えば、主記憶装置202、および補助記憶装置203などの記憶領域に記憶される。
Accordingly, the
第2の決定部603は、特定した通信経路上のノードNの中から、送信または受信される入力データのデータ数またはデータ量が多い順に、探索順序を決定する。これにより、探索部606は、探索順序を取得することができる。ここで、送信または受信される入力データのデータ数とは、例えば、ノードNにおける通信経路の収束数である。
The
第2の決定部603は、データ数またはデータ量が同一の複数のノードNがある場合、複数のノードNをグループ化して、探索順序を決定してもよい。分散配備装置600が探索順序を決定する一例については、図13および図14を用いて後述する。決定結果は、例えば、主記憶装置202、および補助記憶装置203などの記憶領域に記憶される。
When there are a plurality of nodes N having the same number of data or the same data amount, the
算出部604は、ノードNに割当対象の分散処理を割り当てた際にネットワーク110内の通信にかかるコストを算出する。分散配備装置600がコストを算出する一例については、図13および図14を用いて後述する。これにより、探索部606は、算出部604によって算出されたコストに基づいて、ノードNを探索することができる。算出結果は、例えば、主記憶装置202、および補助記憶装置203などの記憶領域に記憶される。
The
判定部605は、ノードNが、分散処理の割当条件を満たすか否かを判定する。ここで、割当条件とは、ノードNに分散処理を割当可能であるか否かを判定する基準となる条件である。割当条件とは、例えば、上述した制約条件である。また、割当条件とは、例えば、ノードNに割当可能な処理の数が決まっている場合は、割当可能な数以下であるという条件であってもよい。分散配備装置600が割当条件を満たすか否かを判定する一例については、図13および図14を用いて後述する。判定結果は、例えば、主記憶装置202、および補助記憶装置203などの記憶領域に記憶される。
The
探索部606は、収集ノードSNを起点にして、特定した通信経路上のノードNの中から、送信または受信される入力データのデータ数が減少し、かつ、分散処理を割り当てた際にネットワーク110内の通信にかかるコストが減少するノードNを順次探索する。探索部606は、例えば、特定した通信経路上のノードNの中から、データ数が多い順に、ネットワーク110内の通信にかかるコストが減少しなくなるまで、データ数が減少し、かつネットワーク110内の通信にかかるコストが減少するノードNを順次探索する。
The
探索部606は、具体的には、収集ノードSNに割当対象の分散処理を割り当てた際にネットワーク110内の通信にかかるコストを算出する要求を算出部604に入力し、算出されたコストを算出部604から取得する。次に、探索部606は、第2の決定部603によって決定されたデータ数が多い順の探索順序に従って、ノードNを順次選択し、選択したノードNに割当対象の分散処理を割り当てた際にネットワーク110内の通信にかかるコストを算出する要求を算出部604に入力し、算出されたコストを算出部604から取得する。そして、探索部606は、選択したノードNについて算出部604によって算出されたコストが、他のノードNについて算出部604によって算出済みのコストよりも減少する場合、選択したノードNを、探索したノードNに決定する。
Specifically, the
また、探索部606は、収集ノードSNを起点にして、通信経路上のノードNの中から、送信または受信される入力データのデータ量が減少し、かつ、分散処理を割り当てた際にネットワーク110内の通信にかかるコストが減少するノードNを順次探索してもよい。探索部606は、例えば、通信経路上のノードNの中から、データ量が多い順に、ネットワーク110内の通信にかかるコストが減少しなくなるまで、データ量が減少し、かつ、ネットワーク110内の通信にかかるコストが減少するノードNを順次探索する。
In addition, the
探索部606は、具体的には、収集ノードSNに割当対象の分散処理を割り当てた際にネットワーク110内の通信にかかるコストを算出する要求を算出部604に入力し、算出されたコストを算出部604から取得する。次に、探索部606は、第2の決定部603によって決定されたデータ量が多い順の探索順序に従って、ノードNを順次選択し、選択したノードNに割当対象の分散処理を割り当てた際にネットワーク110内の通信にかかるコストを算出する要求を算出部604に入力し、算出されたコストを算出部604から取得する。そして、探索部606は、選択したノードNについて算出部604によって算出されたコストが、他のノードNについて算出部604によって算出済みのコストよりも減少する場合、選択したノードNを、探索したノードNに決定する。
Specifically, the
また、データ数またはデータ量については、収集ノードSNからのリンク数で重み付けした値を用いてもよい。これにより、データの削減効果の高い処理の配備先について、収集ノードSNから遠い、すなわち、入力データを生成するノード付近を探索することが可能となり、評価値の改善が見込める様になる。重み付けの方法としては、例えば、リンク数とデータ数またはデータ量の乗算などがある。 As the number of data or the amount of data, a value weighted by the number of links from the collection node SN may be used. As a result, it is possible to search a disposition destination of a process with a high data reduction effect far from the collection node SN, that is, near a node that generates input data, and an improvement in evaluation value can be expected. Examples of the weighting method include multiplication of the number of links and the number of data or the amount of data.
また、データ数またはデータ量が同一である複数のノードNが存在するときがある。このとき、探索部606は、複数のノードNの中から、収集ノードSNからのリンク数が最大になり、かつ、ネットワーク110内の通信にかかるコストが減少するノードNを探索してもよい。探索部606は、具体的には、第2の決定部603によってグループ化された複数のノードNのうちで、収集ノードSNからのリンク数が最大になるノードNを選択し、選択したノードNに割当対象の分散処理を割り当てた際にネットワーク110内の通信にかかるコストを算出する要求を算出部604に入力し、算出されたコストを算出部604から取得する。そして、探索部606は、選択したノードNについて算出部604によって算出されたコストが、他のノードNについて算出部604によって算出済みのコストよりも減少する場合、選択したノードNを、探索したノードNに決定する。
There may be a plurality of nodes N having the same number of data or the same amount of data. At this time, the
さらに、探索部606は、コストが減少しない場合、収集ノードSNからのリンク数が次に大きくなるノードNを選択し、選択したノードNに割当対象の分散処理を割り当てた際にネットワーク110内の通信にかかるコストを算出する要求を算出部604に入力し、算出されたコストを算出部604から取得してもよい。そして、探索部606は、選択したノードNについて算出部604によって算出されたコストが、他のノードNについて算出部604によって算出済みのコストよりも減少する場合、選択したノードNを、探索したノードNに決定する。
Further, when the cost does not decrease, the
また、このとき、探索部606は、複数のノードNのうちで分散処理の割当条件を満たすノードNの中から、収集ノードSNからのリンク数が最大になり、かつ、ネットワーク110内の通信にかかるコストが減少するノードNを探索してもよい。探索部606は、具体的には、複数のノードNの各々のノードNが割当条件を満たすか否かを判定する要求を判定部605に入力し、判定結果を判定部605から取得する。次に、探索部606は、判定結果に基づいて、複数のノードNのうちで分散処理の割当条件を満たすノードNを特定する。そして、探索部606は、特定したノードNのうちで、収集ノードSNからのリンク数が最大になるノードNを選択し、選択したノードNに割当対象の分散処理を割り当てた際にネットワーク110内の通信にかかるコストを算出する要求を算出部604に入力し、算出されたコストを算出部604から取得する。次に、探索部606は、選択したノードNについて算出部604によって算出されたコストが、他のノードNについて算出部604によって算出済みのコストよりも減少する場合、選択したノードNを、探索したノードNに決定する。
Further, at this time, the
さらに、探索部606は、コストが減少しない場合、収集ノードSNからのリンク数が次に大きくなるノードNを選択し、選択したノードNに割当対象の分散処理を割り当てた際にネットワーク110内の通信にかかるコストを算出する要求を算出部604に入力し、算出されたコストを算出部604から取得してもよい。そして、探索部606は、選択したノードNについて算出部604によって算出されたコストが、他のノードNについて算出部604によって算出済みのコストよりも減少する場合、選択したノードNを、探索したノードNに決定する。
Further, when the cost does not decrease, the
また、データ数またはデータ量が同一である複数のノードNのすべてが割当条件を満たさないときがある。このとき、探索部606は、ネットワーク110に含まれる割当条件を満たすノードNの中から、複数のノードNのうちで収集ノードSNからのリンク数が最大になるノードNから所定のリンク数以内に存在し、かつコストが減少するノードNを探索してもよい。探索部606は、具体的には、複数のノードNのすべてが割当条件を満たさない場合、複数のノードNのうちで収集ノードSNからのリンク数が最大になるノードNから所定のリンク数以内に存在するノードNが割当条件を満たすか否かを判定する要求を判定部605に入力し、判定結果を判定部605から取得する。次に、探索部606は、判定結果に基づいて、所定のリンク数以内に存在するノードNのうちで分散処理の割当条件を満たすノードNを特定する。そして、探索部606は、特定したノードNのうちで、収集ノードSNからのリンク数が最大になるノードNを選択し、選択したノードNに割当対象の分散処理を割り当てた際にネットワーク110内の通信にかかるコストを算出する要求を算出部604に入力し、算出されたコストを算出部604から取得する。次に、探索部606は、選択したノードNについて算出部604によって算出されたコストが、他のノードNについて算出部604によって算出済みのコストよりも減少する場合、選択したノードNを、探索したノードNに決定する。
In addition, all of the plurality of nodes N having the same data number or data amount may not satisfy the allocation condition. At this time, the
さらに、探索部606は、コストが減少しない場合、収集ノードSNからのリンク数が次に大きくなるノードNを選択し、選択したノードNに割当対象の分散処理を割り当てた際にネットワーク110内の通信にかかるコストを算出する要求を算出部604に入力し、算出されたコストを算出部604から取得してもよい。そして、探索部606は、選択したノードNについて算出部604によって算出されたコストが、他のノードNについて算出部604によって算出済みのコストよりも減少する場合、選択したノードNを、探索したノードNに決定する。
Further, when the cost does not decrease, the
また、データ数またはデータ量が同一である複数のノードN、および複数のノードNのうちで収集ノードSNからのリンク数が最大になるノードNから所定のリンク数以内に存在するノードNの中から、ノードNを探索できないときがある。このとき、探索部606は、データ数またはデータ量が同一である複数のノードNよりデータ量が減少し、かつ、ネットワーク110内の通信にかかるコストが減少するノードNを探索してもよい。
Among the plurality of nodes N having the same number of data or the same amount of data, and among the plurality of nodes N, the nodes N existing within a predetermined number of links from the node N having the maximum number of links from the collection node SN. There are times when the node N cannot be searched. At this time, the
探索部606は、具体的には、複数のノードNの中からコストが減少するノードNを検索できなかった場合、探索順序に従って、複数のノードNよりデータ数またはデータ量が減少するノードNを選択する。そして、探索部606は、選択したノードNに割当対象の分散処理を割り当てた際にネットワーク110内の通信にかかるコストを算出する要求を算出部604に入力し、算出されたコストを算出部604から取得する。次に、探索部606は、選択したノードNについて算出部604によって算出されたコストが、他のノードNについて算出部604によって算出済みのコストよりも減少する場合、選択したノードNを、探索したノードNに決定する。分散配備装置600がノードNを探索する一例については、図13および図14を用いて後述する。
Specifically, when the
これにより、探索部606は、分散処理を割り当てた際にネットワーク110内の通信にかかるコストが減少するノードNを順次探索することができる。探索結果は、例えば、主記憶装置202、および補助記憶装置203などの記憶領域に記憶される。
As a result, the
探索部606は、探索したノードNの中から分散処理を割り当てるノードNを決定する。探索部606は、例えば、最後に探索したノードNを、分散処理を割り当てるノードNに決定する。これにより、探索部606は、探索したノードNに分散処理を割り当てて、ネットワーク110内の通信にかかるコストを低減することができる。決定結果は、例えば、主記憶装置202、および補助記憶装置203などの記憶領域に記憶される。
The
(実施例1)
ここで、実施例1について説明する。実施例1は、入力データの数に基づいてノードNを探索する場合の一例である。
Example 1
Here, Example 1 will be described. The first embodiment is an example in the case where the node N is searched based on the number of input data.
〈特定の演算処理700の一例〉
まず、図7を用いて、実施例1における特定の演算処理700の一例について説明する。
<Example of
First, an example of the specific
図7は、特定の演算処理700の一例を示す説明図である。特定の演算処理700は、複数の処理を含む。図7の例では、特定の演算処理700は、処理701〜707を含む。
FIG. 7 is an explanatory diagram showing an example of the specific
処理701は、処理の名称が「入力データ1」になる処理であって、データを生成して出力する処理である。処理701の出力データは、処理702の入力データになる。処理702は、処理の名称が「フィルタリング1」になる処理であって、処理701によって生成されたデータを加工して出力する処理である。処理702の出力データは、処理705の入力データになる。
A
処理703は、処理の名称が「入力データ2」になる処理であって、データを生成して出力する処理である。処理703の出力データは、処理704の入力データになる。処理704は、処理の名称が「フィルタリング2」になる処理であって、処理703によって生成されたデータを加工して出力する処理である。処理704の出力データは、処理705の入力データになる。
A
処理705は、処理の名称が「平均」になる処理であって、処理702によって加工されたデータと、処理704によって加工されたデータとの平均データを算出して出力する処理である。処理705の出力データは、処理706の入力データになる。
A
処理706は、処理の名称が「アラート判定」になる処理であって、処理705によって算出された平均データに基づいてアラートを出力するか否かを判定して判定結果を出力する処理である。処理706の出力データは、処理707の入力データになる。処理707は、処理の名称が「蓄積」になる処理であって、処理706によって判定された判定結果を蓄積する処理である。
The
以下の説明では、分散配備装置600が、図7に示した特定の演算処理700に含まれる分散処理をノードNに割り当てる場合について説明する。
In the following description, a case will be described in which the distributed
〈ネットワークトポロジーの一例〉
次に、図8を用いて、実施例1におけるネットワークトポロジーの一例について説明する。
<Example of network topology>
Next, an example of the network topology in the first embodiment will be described with reference to FIG.
図8は、ネットワークトポロジーの一例を示す説明図である。図8において、ネットワーク110は、複数のノードNを含む。以下の説明では、各々のノードNを、ノード番号nを付与して区別して、「ノードNn」と表記する場合がある。
FIG. 8 is an explanatory diagram illustrating an example of a network topology. In FIG. 8, the
図8の例では、ネットワーク110は、ノードN1〜N11を含む。ここで、ノードN1は、リンクによりノードN3と接続されている。ノードN1とノードN3の間のリンクのコストは、5である。また、ノードN1は、リンクによりノードN4と接続されている。ノードN1とノードN4との間のリンクのコストは、20である。
In the example of FIG. 8, the
ノードN2は、リンクによりノードN5と接続されている。ノードN2とノードN5との間のリンクのコストは、30である。ノードN3は、リンクによりノードN8と接続されている。ノードN3とノードN8との間のリンクのコストは、50である。ノードN4は、リンクによりノードN6と接続されている。ノードN4とノードN6との間のリンクのコストは、10である。ノードN4は、リンクによりノードN7と接続されている。ノードN4とノードN7との間のリンクのコストは、10である。 The node N2 is connected to the node N5 by a link. The cost of the link between node N2 and node N5 is 30. The node N3 is connected to the node N8 by a link. The cost of the link between the node N3 and the node N8 is 50. The node N4 is connected to the node N6 by a link. The cost of the link between the node N4 and the node N6 is 10. The node N4 is connected to the node N7 by a link. The cost of the link between the node N4 and the node N7 is 10.
ノードN5は、リンクによりノードN7と接続されている。ノードN5とノードN7との間のリンクのコストは、15である。ノードN5は、リンクによりノードN10と接続されている。ノードN5とノードN10との間のリンクのコストは、30である。ノードN6は、リンクによりノードN8と接続されている。ノードN6とノードN8との間のリンクのコストは、20である。ノードN7は、リンクによりノードN9と接続されている。ノードN7とノードN9との間のリンクのコストは、20である。 The node N5 is connected to the node N7 by a link. The cost of the link between the node N5 and the node N7 is 15. The node N5 is connected to the node N10 by a link. The cost of the link between the node N5 and the node N10 is 30. The node N6 is connected to the node N8 by a link. The cost of the link between the node N6 and the node N8 is 20. The node N7 is connected to the node N9 by a link. The cost of the link between the node N7 and the node N9 is 20.
ノードN8は、リンクによりノードN11と接続されている。ノードN8とノードN11との間のリンクのコストは、15である。ノードN9は、リンクによりノードN11と接続されている。ノードN9とノードN11との間のリンクのコストは、10である。ノードN10は、リンクによりノードN9と接続されている。ノードN10とノードN9との間のリンクのコストは、10である。ノードN11は、収集ノードSNである。図8の例では、リンクのコストは、リンクの距離を表す値である。 The node N8 is connected to the node N11 by a link. The cost of the link between the node N8 and the node N11 is 15. The node N9 is connected to the node N11 by a link. The cost of the link between the node N9 and the node N11 is 10. The node N10 is connected to the node N9 by a link. The cost of the link between the node N10 and the node N9 is 10. Node N11 is a collection node SN. In the example of FIG. 8, the link cost is a value representing the link distance.
〈フローテーブル300の一例〉
次に、図9を用いて、実施例1におけるフローテーブル300の一例について説明する。
<Example of flow table 300>
Next, an example of the flow table 300 according to the first embodiment will be described with reference to FIG.
図9は、フローテーブル300の一例を示す説明図である。図9の例では、フローテーブル300は、図7に示した特定の演算処理700に含まれる複数の処理の各々の処理についてのレコードを有する。例えば、レコード901は、処理の名称「フィルタリング1」と、次に実行される処理の名称「平均」と、データ量「100」と、処理負荷「20」と、を含むフロー情報を示す。
FIG. 9 is an explanatory diagram illustrating an example of the flow table 300. In the example of FIG. 9, the flow table 300 includes a record for each of a plurality of processes included in the
〈トポロジーテーブル400の一例〉
次に、図10を用いて、実施例1におけるトポロジーテーブル400の一例について説明する。
<Example of topology table 400>
Next, an example of the topology table 400 according to the first embodiment will be described with reference to FIG.
図10は、トポロジーテーブル400の一例を示す説明図である。図10の例では、トポロジーテーブル400は、図8に示したネットワーク110に含まれる各々のノードNについてのレコードを有する。例えば、レコード1001は、ノードNの名称「N1」と、接続されたノードNの名称「N3」およびリンクのコスト「5」と、接続されたノードNの名称「N4」およびリンクのコスト「20」と、処理性能「100」と、を含むトポロジー情報を示す。
FIG. 10 is an explanatory diagram showing an example of the topology table 400. In the example of FIG. 10, the topology table 400 includes a record for each node N included in the
〈処理テーブル500の一例〉
次に、図11を用いて、実施例1における処理テーブル500の一例について説明する。
<Example of processing table 500>
Next, an example of the processing table 500 according to the first embodiment will be described with reference to FIG.
図11は、処理テーブル500の一例を示す説明図である。図11の例では、図7に示した特定の演算処理700に含まれる複数の処理のうち、実行するノードNが固定されている処理についてのレコードを有する。レコード1101は、処理の名称「入力データ1」と、ノードNの名称「N1」と、を含む処理情報を示す。
FIG. 11 is an explanatory diagram showing an example of the processing table 500. In the example of FIG. 11, among the plurality of processes included in the
以下の説明では、実施例1において、分散配備装置600が、図9〜図11に示した各種テーブルを用いて、特定の演算処理700に含まれる分散処理をノードNに割り当てる場合の具体的な内容について説明する。
In the following description, in the first embodiment, a specific example in which the distributed
〈割当順序を特定する一例〉
まず、実施例1における分散配備装置600が特定の演算処理700に含まれる複数の処理のうちの分散処理を特定し、分散処理の割当順序を特定する一例について説明する。
<Example of specifying the allocation order>
First, an example will be described in which the distributed
分散配備装置600は、フローテーブル300と処理テーブル500とに基づいて、特定の演算処理700に含まれる複数の処理のうち、実行するノードNが固定されていない分散処理を特定して、特定した分散処理の割当順序を特定する。
Based on the flow table 300 and the processing table 500, the distributed
分散配備装置600は、例えば、「フィルタリング1」の処理702、「フィルタリング2」の処理704、「平均」の処理705、および「アラート判定」の処理706を分散処理として特定し、割当順序を特定する。
The distributed
分散配備装置600は、具体的には、フローテーブル300に基づいて、「フィルタリング1」の処理702について、入力データのデータ量に対する出力データのデータ量の割合を算出する。ここで、分散配備装置600は、直前に実行される「入力データ1」の処理701のデータ量「200」に対する「フィルタリング1」の処理702のデータ量「100」の割合「0.5」を算出する。
Specifically, the distributed
分散配備装置600は、同様に、「フィルタリング2」の処理704について、入力データのデータ量「160」に対する出力データのデータ量「80」の割合「0.5」を算出する。また、分散配備装置600は、同様に、「平均」の処理705について、入力データのデータ量「100+80」に対する出力データのデータ量「54」の割合「0.3」を算出する。また、分散配備装置600は、同様に、「アラート判定」の処理706について、入力データのデータ量「54」に対する出力データのデータ量「21.6」の割合「0.4」を算出する。
Similarly, the distributed
次に、分散配備装置600は、実行するノードNが固定されていない分散処理を、収集ノードSNとは異なるノードNに割り当てることによるネットワーク110内の通信にかかるコストの軽減効果が高い処理から順にソートする。分散配備装置600は、例えば、実行するノードNが固定されていない分散処理を、算出した割合が小さい順にソートする。分散配備装置600は、具体的には、「平均」→「アラート判定」→「フィルタリング1」→「フィルタリング2」の順番にソートする。
Next, the distributed
そして、分散配備装置600は、ソートした処理を、さらに、特定の演算処理700に含まれる複数の処理の実行順序に従ってソートする。分散配備装置600は、例えば、「平均」の処理の前に実行される「フィルタリング1」の処理が「平均」の処理の前になるようにソートする。分散配備装置600は、具体的には、「フィルタリング1」→「フィルタリング2」→「平均」→「アラート判定」の順番にソートする。
Then, the distributed
〈最短経路を特定する一例〉
次に、図12を用いて、実施例1における最短経路を特定する一例について説明する。
<Example of specifying the shortest path>
Next, an example of specifying the shortest path in the first embodiment will be described with reference to FIG.
図12は、最短経路を特定する一例を示す説明図である。図12において、分散配備装置600は、例えば、ダイクストラ法を用いて、収集ノードSNから各々のノードNまでの最短経路を特定する。
FIG. 12 is an explanatory diagram illustrating an example of specifying the shortest path. In FIG. 12, the distributed
図12の例では、説明の簡略化のため、分散配備装置600が、ネットワーク110のうちの一部のノードNについて最短経路を特定する場合について説明する。
In the example of FIG. 12, a case will be described in which the distributed
具体的には、図12(A)において、分散配備装置600は、収集ノードSNになるノードN11に対応付けてコスト「0」を記憶し、他のノードNに対応付けてコスト「∞」と経路「なし」とを記憶する。
Specifically, in FIG. 12A, the distributed
図12(B)において、分散配備装置600は、ノードN11から、ノードN11に接続されたノードN9までの経路「ノードN11→ノードN9」を特定し、特定した経路を介した通信にかかるコスト「10」を特定する。次に、分散配備装置600は、特定したコスト「10」とノードN9に対応付けて記憶されたコスト「∞」とを比較する。
In FIG. 12B, the distributed
ここで、分散配備装置600は、記憶したコストより特定したコストの方が小さいため、記憶した経路「なし」より特定した経路「ノードN11→ノードN9」の方が短い経路であると判定する。このため、分散配備装置600は、ノードN9に対応付けて記憶したコスト「∞」と経路「なし」とを、特定したコスト「10」と経路「ノードN11→ノードN9」とに更新する。
Here, since the specified cost is smaller than the stored cost, the distributed
図12(C)において、分散配備装置600は、ノードN11から、コストと経路とを更新したノードN9に接続されたノードN7までの経路「ノードN11→ノードN9→ノードN7」を特定し、特定した経路を介した通信にかかるコスト「30」を特定する。次に、分散配備装置600は、特定したコスト「30」とノードN7に対応付けて記憶されたコスト「∞」とを比較する。
In FIG. 12C, the distributed
ここで、分散配備装置600は、記憶したコストより特定したコストの方が小さいため、記憶した経路「なし」より特定した経路「ノードN11→ノードN9→ノードN7」の方が短い経路であると判定する。このため、分散配備装置600は、ノードN7に対応付けて記憶したコスト「∞」と経路「なし」とを、特定したコスト「30」と経路「ノードN11→ノードN9→ノードN7」とに更新する。
Here, in the distributed
また、分散配備装置600は、ノードN11から、コストと経路とを更新したノードN9に接続されたノードN10までの経路「ノードN11→ノードN9→ノードN10」を特定し、特定した経路を介した通信にかかるコスト「20」を特定する。次に、分散配備装置600は、特定したコスト「20」とノードN10に対応付けて記憶されたコスト「∞」とを比較する。
In addition, the distributed
ここで、分散配備装置600は、記憶したコストより特定したコストの方が小さいため、記憶した経路「なし」より特定した経路「ノードN11→ノードN9→ノードN10」の方が短い経路であると判定する。このため、分散配備装置600は、ノードN10に対応付けて記憶したコスト「∞」と経路「なし」とを、特定したコスト「20」と経路「ノードN11→ノードN9→ノードN10」とに更新する。
Here, in the distributed
図12(D)において、分散配備装置600は、ノードN11から、コストと経路とを更新したノードN10に接続されたノードN5までの経路「ノードN11→ノードN9→ノードN10→ノードN5」を特定する。次に、分散配備装置600は、特定した経路を介した通信にかかるコスト「50」を特定する。そして、分散配備装置600は、特定したコスト「50」とノードN5に対応付けて記憶されたコスト「∞」とを比較する。
In FIG. 12D, the distributed
ここで、分散配備装置600は、記憶したコストより特定したコストの方が小さいため、記憶した経路「なし」より特定した経路「ノードN11→ノードN9→ノードN10→ノードN5」の方が短い経路であると判定する。このため、分散配備装置600は、ノードN5に対応付けて記憶したコスト「∞」と経路「なし」とを、特定したコスト「50」と経路「ノードN11→ノードN9→ノードN10→ノードN5」とに更新する。
Here, since the specified cost is smaller than the stored cost in the distributed
図12(E)において、分散配備装置600は、ノードN11から、コストと経路とを更新したノードN7に接続されたノードN5までの経路「ノードN11→ノードN9→ノードN7→ノードN5」を特定する。次に、分散配備装置600は、特定した経路を介した通信にかかるコスト「45」を特定する。そして、分散配備装置600は、特定したコスト「45」とノードN5に対応付けて記憶されたコスト「50」とを比較する。
In FIG. 12E, the distributed
図12(F)において、分散配備装置600は、記憶したコストより特定したコストの方が小さいため、記憶した経路より特定した経路「ノードN11→ノードN9→ノードN7→ノードN5」の方が短い経路であると判定する。このため、分散配備装置600は、ノードN5に対応付けて記憶したコスト「50」と経路「ノードN11→ノードN9→ノードN10→ノードN5」とを、特定したコスト「45」と経路「ノードN11→ノードN9→ノードN7→ノードN5」とに更新する。
In FIG. 12F, since the specified cost is smaller than the stored cost, the specified route “node N11 → node N9 → node N7 → node N5” is shorter than the stored route. It is determined that the route. For this reason, the distributed
また、分散配備装置600は、同様にして、図示を省略した他のノードNについても、経路を特定し、ノードNと対応付けて、コストと経路とを記憶する。
Similarly, the distributed
〈実施例1における分散処理を割り当てる一例〉
次に、図13および図14を用いて、実施例1における分散処理を割り当てる一例について説明する。
<Example of Allocating Distributed Processing in
Next, an example of assigning distributed processing in the first embodiment will be described with reference to FIGS. 13 and 14.
図13および図14は、実施例1における分散処理を割り当てる一例を示す説明図である。図13において、分散配備装置600は、「フィルタリング1」の処理702をいずれかのノードNに割り当てる。ここで、初期状態では、実行するノードNが固定されていない処理702〜706は、収集ノードSNになるノードN11に割り当てられているとする。
13 and 14 are explanatory diagrams illustrating an example in which distributed processing is assigned in the first embodiment. In FIG. 13, the distributed
分散配備装置600は、例えば、フローテーブル300に基づいて、「フィルタリング1」の処理702の入力データを生成する「入力データ1」の処理701を実行するノードN1を特定する。次に、分散配備装置600は、図12においてノードN1に対応付けて記憶した経路「ノードN11→ノードN9→ノードN7→ノードN4→ノードN1」を、ノードN11からノードN1までの最短経路として取得する。
For example, based on the flow table 300, the distributed
そして、分散配備装置600は、最短経路上のノードNを、取得した最短経路の収束数によってグループ化して、収束数が多い順にソートする。分散配備装置600は、例えば、最短経路上のノードN11、ノードN9、ノードN7、ノードN4、およびノードN1における最短経路の収束数が「1」であるため、「グループG1[ノードN11、ノードN9、ノードN7、ノードN4、ノードN1]」として記憶する。
Then, the distributed
次に、分散配備装置600は、グループG1の中で、収集ノードSNになるノードN11からのリンク数が多い順にソートする。分散配備装置600は、例えば、「グループG1[ノードN11、ノードN9、ノードN7、ノードN4、ノードN1]」を、「グループG1[ノードN1、ノードN4、ノードN7、ノードN9、ノードN11]」に更新する。ここで、グループをソートした結果が、ノードNの探索順序になる。
Next, the distributed
分散配備装置600は、処理を割り当てるノードNを決定するまで、取得した最短経路の収束数が多いグループから、順次、グループを取得する。分散配備装置600は、グループを取得する都度、取得したノードNが制約条件を満たすと判定するまで、グループの中でノードN11からのリンク数が多いノードNから、順次、ノードNを取得する。
The distributed
分散配備装置600は、例えば、グループG1[ノードN1、ノードN4、ノードN7、ノードN9、ノードN11]を取得し、グループG1の中からノードN1を取得する。次に、分散配備装置600は、フローテーブル300とトポロジーテーブル400とに基づいて、取得したノードN1が、「フィルタリング1」の処理702を割り当てられた場合に、制約条件を満たすか否かを判定する。ここで、制約条件とは、例えば、ノードNに割り当てられた処理の処理負荷がノードNの処理性能以下であるという条件である。
The distributed
分散配備装置600は、「フィルタリング1」の処理702の処理負荷「20」が、取得したノードN1の処理性能「100」以下であるため、ノードN1が制約条件を満たすと判定する。ここで、分散配備装置600は、ノードN1が制約条件を満たさないと判定した場合、グループG1の中で、ノードN1の次にリンク数が多いノードNから、順次、取得し、制約条件を満たすか否かを判定する。
The distributed
また、分散配備装置600は、初期状態で処理702,704〜707が割り当てられたノードN11が、制約条件を満たすか否かを判定する。分散配備装置600は、処理702,704〜707の処理負荷「20+20+30+50+10」が、ノードN11の処理性能「∞」以下であるため、ノードN11が制約条件を満たすと判定する。
Also, the distributed
次に、分散配備装置600は、フローテーブル300とトポロジーテーブル400とに基づいて、「フィルタリング1」の処理702をノードN1に割り当てた場合のネットワーク110内の通信にかかるコストを表す評価値を算出する。ネットワーク110内の通信にかかるコストは、例えば、各々のリンクを通過するデータ量に、当該リンクのコストを乗じた値の合計値である。
Next, based on the flow table 300 and the topology table 400, the distributed
分散配備装置600は、具体的には、「入力データ1」の処理701の出力データのデータ量「200」に、「入力データ1」の処理701を実行するノードN1から「フィルタリング1」の処理702が割り当てられたノードN1までのコスト「0」を乗算する。
Specifically, the distributed
また、分散配備装置600は、「フィルタリング1」の処理702の出力データのデータ量「100」に、「フィルタリング1」の処理702を実行するノードN1から「平均」の処理705が割り当てられたノードN11までのコスト「60」を乗算する。
Also, the distributed
また、分散配備装置600は、入力データd2のデータ量「160」に、「入力データ2」の処理703を実行するノードN2から「フィルタリング2」の処理704が割り当てられたノードN11までのコスト「75」を乗算する。次に、分散配備装置600は、乗算した値の合計値「18000」を算出し、ノードN1に対応付けて記憶する。
Further, the distributed
また、分散配備装置600は、フローテーブル300とトポロジーテーブル400とに基づいて、「フィルタリング1」の処理702をノードN11に割り当てた場合のネットワーク110内の通信にかかるコストを表す評価値を算出する。
Also, the distributed
分散配備装置600は、具体的には、入力データd1のデータ量「200」に、「入力データ1」の処理701を実行するノードN1から「フィルタリング1」の処理702が割り当てられたノードN11までのコスト「60」を乗算する。
Specifically, the distributed
また、分散配備装置600は、入力データd2のデータ量「160」に、「入力データ2」の処理702を実行するノードN2から「フィルタリング2」の処理704が割り当てられたノードN11までのコスト「75」を乗算する。次に、分散配備装置600は、乗算した値の合計値「24000」を算出し、ノードN11に対応付けて記憶する。
In addition, the distributed
そして、分散配備装置600は、「フィルタリング1」の処理702をノードN11に割り当てた場合と、ノードN1に割り当てた場合との評価値を比較する。ここで、分散配備装置600は、ノードN1に割り当てた場合の方が評価値が小さくなるため、「フィルタリング1」の処理702をノードN1に割り当てる。そして、分散配備装置600は、ノードN1より最短経路の収束数が少ないノードNのグループがないため、「フィルタリング1」の処理702をいずれかのノードNに割り当てる処理を終了する。
Then, the distributed
次に、分散配備装置600は、「フィルタリング2」の処理704をいずれかのノードNに割り当てる。分散配備装置600は、例えば、「フィルタリング1」の処理702を割り当てる場合と同様にして、「フィルタリング2」の処理704を、ノードN2に割り当てる。そして、分散配備装置600は、ノードN2より最短経路の収束数が少ないノードNのグループがないため、「フィルタリング2」の処理704をいずれかのノードNに割り当てる処理を終了する。
Next, the distributed
図14において、分散配備装置600は、「平均」の処理705をいずれかのノードNに割り当てる。分散配備装置600は、「平均」の処理705の入力データを生成する「フィルタリング1」の処理702を割り当てたノードN1を特定する。次に、分散配備装置600は、図12においてノードN1に対応付けて記憶した経路「ノードN11→ノードN9→ノードN7→ノードN4→ノードN1」を、ノードN11からノードN1までの最短経路として取得する。
In FIG. 14, the distributed
また、分散配備装置600は、「平均」の処理705の入力データを生成する「フィルタリング2」の処理704を割り当てたノードN2を特定する。次に、分散配備装置600は、図12においてノードN2に対応付けて記憶した経路「ノードN11→ノードN9→ノードN7→ノードN5→ノードN2」を、ノードN11からノードN2までの最短経路として取得する。
Also, the distributed
そして、分散配備装置600は、最短経路上のノードNを、取得した最短経路の収束数によってグループ化して、収束数が多い順にソートする。分散配備装置600は、例えば、最短経路上のノードN11、ノードN9、およびノードN7における最短経路の収束数が「2」であるため、グループ化する。また、分散配備装置600は、最短経路上のノードN4、ノードN1、ノードN5、およびノードN2における最短経路の収束数が「1」であるため、グループ化する。そして、分散配備装置600は、「グループG2[ノードN11、ノードN9、ノードN7]、グループG3[ノードN4、ノードN1、ノードN5、ノードN2]」として記憶する。
Then, the distributed
次に、分散配備装置600は、グループの中で、収集ノードSNになるノードN11からのリンク数が多い順にソートする。分散配備装置600は、例えば、「グループG2[ノードN11、ノードN9、ノードN7]、グループG3[ノードN4、ノードN1、ノードN5、ノードN2]」を、「グループG2[ノードN7、ノードN9、ノードN11]、グループG3[ノードN1、ノードN2、ノードN4、ノードN5]」に更新する。ここで、グループをソートした結果が、ノードNの探索順序になる。
Next, the distributed
分散配備装置600は、処理を割り当てるノードNを決定するまで、取得した最短経路の収束数が多いグループから、順次、グループを取得する。分散配備装置600は、グループを取得する都度、取得したノードNが制約条件を満たすと判定するまで、グループの中でノードN11からのリンク数が多いノードNから、順次、ノードNを取得する。
The distributed
分散配備装置600は、例えば、グループG2[ノードN7、ノードN9、ノードN11]を取得し、グループG2の中からノードN7を取得する。次に、分散配備装置600は、フローテーブル300とトポロジーテーブル400とに基づいて、取得したノードN7が、「平均」の処理705を割り当てられた場合に、制約条件を満たすか否かを判定する。
For example, the distributed
分散配備装置600は、「平均」の処理705の処理負荷「30」が、取得したノードN7の処理性能「50」以下であるため、ノードN7が制約条件を満たすと判定する。また、分散配備装置600は、処理705〜707が割り当てられたノードN11が、制約条件を満たすか否かを判定する。分散配備装置600は、処理705〜707の処理負荷「30+50+10」が、ノードN11の処理性能「∞」以下であるため、ノードN11が制約条件を満たすと判定する。
The distributed
次に、分散配備装置600は、フローテーブル300とトポロジーテーブル400とに基づいて、「平均」の処理705をノードN7に割り当てた場合のネットワーク110内の通信にかかるコストを表す評価値を算出する。分散配備装置600は、具体的には、入力データd1のデータ量「200」に、「入力データ1」の処理701を実行するノードN1から「フィルタリング1」の処理702が割り当てられたノードN1までのコスト「0」を乗算する。
Next, based on the flow table 300 and the topology table 400, the distributed
また、分散配備装置600は、「フィルタリング1」の処理702の出力データのデータ量「100」に、「フィルタリング1」の処理702を実行するノードN1から「平均」の処理705が割り当てられたノードN7までのコスト「30」を乗算する。
Also, the distributed
また、分散配備装置600は、入力データd2のデータ量「160」に、「入力データ2」の処理703を実行するノードN2から「フィルタリング2」の処理704が割り当てられたノードN2までのコスト「0」を乗算する。
In addition, the distributed
また、分散配備装置600は、「フィルタリング2」の処理704の出力データのデータ量「80」に、「フィルタリング2」の処理704を実行するノードN2から「平均」の処理705が割り当てられたノードN7までのコスト「45」を乗算する。
Also, the distributed
また、分散配備装置600は、「平均」の処理705の出力データのデータ量「54」に、「平均」の処理705を実行するノードN7から「アラート判定」の処理706が割り当てられたノードN11までのコスト「30」を乗算する。次に、分散配備装置600は、乗算した値の合計値「8220」を算出し、ノードN7に対応付けて記憶する。
Also, the distributed
また、分散配備装置600は、フローテーブル300とトポロジーテーブル400とに基づいて、「平均」の処理705をノードN11に割り当てた場合のネットワーク110内の通信にかかるコストを表す評価値を算出する。
Also, the distributed
分散配備装置600は、具体的には、「フィルタリング1」の処理702の出力データのデータ量「100」に、「フィルタリング1」の処理702を実行するノードN1から「平均」の処理705が割り当てられたノードN11までのコスト「60」を乗算する。
Specifically, the distributed
また、分散配備装置600は、「フィルタリング2」の処理704の出力データのデータ量「80」に、「フィルタリング2」の処理704を実行するノードN2から「平均」の処理705が割り当てられたノードN11までのコスト「75」を乗算する。次に、分散配備装置600は、乗算した値の合計値「12000」を算出し、ノードN11に対応付けて記憶する。
Also, the distributed
そして、分散配備装置600は、「平均」の処理705をノードN11に割り当てた場合と、ノードN7に割り当てた場合との評価値を比較する。ここで、分散配備装置600は、ノードN7に割り当てた場合の方が評価値が小さくなるため、「平均」の処理705をノードN7に割り当てる。
Then, the distributed
次に、分散配備装置600は、ノードN7より最短経路の収束数が少ないノードNのグループG3[ノードN1、ノードN2、ノードN4、ノードN5]があると判定する。そして、分散配備装置600は、グループG3[ノードN1、ノードN2、ノードN4、ノードN5]を取得し、グループG3の中からノードN1を取得する。
Next, the distributed
次に、分散配備装置600は、フローテーブル300とトポロジーテーブル400とに基づいて、取得したノードN1が、「平均」の処理705を割り当てられた場合に、制約条件を満たすか否かを判定する。
Next, based on the flow table 300 and the topology table 400, the distributed
分散配備装置600は、「フィルタリング1」の処理702の処理負荷「20」と、「平均」の処理705の処理負荷「30」との合計負荷「20+30」が、取得したノードN1の処理性能「100」以下であるため、ノードN1が制約条件を満たすと判定する。
The distributed
次に、分散配備装置600は、フローテーブル300とトポロジーテーブル400とに基づいて、「平均」の処理705をノードN1に割り当てた場合のネットワーク110内の通信にかかるコストを表す評価値を算出する。分散配備装置600は、具体的には、入力データd1のデータ量「200」に、「入力データ1」の処理701を実行するノードN1から「フィルタリング1」の処理702が割り当てられたノードN1までのコスト「0」を乗算する。
Next, based on the flow table 300 and the topology table 400, the distributed
また、分散配備装置600は、「フィルタリング1」の処理702の出力データのデータ量「100」に、「フィルタリング1」の処理702を実行するノードN1から「平均」の処理705が割り当てられたノードN1までのコスト「0」を乗算する。
Also, the distributed
また、分散配備装置600は、入力データd2のデータ量「160」に、「入力データ2」の処理702を実行するノードN2から「フィルタリング2」の処理704が割り当てられたノードN2までのコスト「0」を乗算する。
In addition, the distributed
また、分散配備装置600は、「フィルタリング2」の処理704の出力データのデータ量「80」に、「フィルタリング2」の処理704を実行するノードN2から「平均」の処理705が割り当てられたノードN1までのコスト「75」を乗算する。
Also, the distributed
また、分散配備装置600は、「平均」の処理705の出力データのデータ量「54」に、「平均」の処理705を実行するノードN1から「アラート判定」の処理706が割り当てられたノードN11までのコスト「60」を乗算する。次に、分散配備装置600は、乗算した値の合計値「9240」を算出し、ノードN1に対応付けて記憶する。
Also, the distributed
そして、分散配備装置600は、「平均」の処理705をノードN7に割り当てた場合と、ノードN1に割り当てた場合との評価値を比較する。ここで、分散配備装置600は、ノードN7に割り当てた場合の方が評価値が小さくなるため、「平均」の処理705をノードN7に割り当てたままにする。そして、分散配備装置600は、ノードN1に割り当てた場合の方が評価値が大きくなるため、「平均」の処理705をいずれかのノードNに割り当てる処理を終了する。
Then, the distributed
次に、分散配備装置600は、「平均」の処理705を割り当てる場合と同様にして、「アラート判定」の処理706を、いずれかのノードNに割り当てる。これにより、分散配備装置600は、特定の演算処理700に含まれる分散処理を、ノードNに割り当てて、ネットワーク110内の通信にかかるコストを低減することができる。また、分散配備装置600は、全解探索により特定の演算処理700に含まれる分散処理を割り当てる場合に比べて、分散処理を割り当てる際にかかる処理負荷や処理時間の増加を抑制することができる。
Next, the distributed
(実施例1における割当処理手順の一例)
次に、図15を用いて、実施例1における分散配備装置600の割当処理手順の一例について説明する。
(Example of allocation processing procedure in Embodiment 1)
Next, an example of an allocation process procedure of the distributed
図15は、実施例1における割当処理手順の一例を示すフローチャートである。図15において、分散配備装置600は、ネットワーク110内の通信にかかるコストの軽減効果が高い処理から順にソートし、さらに、実行順序に従ってソートする(ステップS1501)。
FIG. 15 is a flowchart illustrating an example of an allocation process procedure according to the first embodiment. In FIG. 15, the distributed
次に、分散配備装置600は、ソートした順序に従って処理を選択する(ステップS1502)。そして、分散配備装置600は、選択する処理があるか否かを判定する(ステップS1503)。
Next, the distributed
ここで、選択する処理がある場合(ステップS1503:Yes)、分散配備装置600は、最短経路を特定し、最短経路上のノードNにおける最短経路の収束数、および収集ノードSNからのリンク数を算出する(ステップS1504)。
Here, when there is a process to be selected (step S1503: Yes), the distributed
次に、分散配備装置600は、図16に示す探索処理を実行する(ステップS1505)。そして、分散配備装置600は、探索したノードNに対応付けて、選択した処理を記憶し(ステップS1506)、ステップS1502の処理に戻る。
Next, the distributed
また、ステップS1502の処理を実行した結果、選択する処理がなかった場合(ステップS1503:No)、分散配備装置600は、割当処理を終了する。これにより、分散配備装置600は、収集ノードSNに割り当てられた特定の演算処理700に含まれる分散処理を、収集ノードSNとは異なるノードNに割り当て直して、ネットワーク110内の通信にかかるコストを低減することができる。
As a result of executing the process of step S1502, if there is no process to be selected (step S1503: No), the distributed
(実施例1における探索処理手順の一例)
次に、図16を用いて、ステップS1505に示した、実施例1における分散配備装置600の探索処理手順の一例について説明する。
(Example of search processing procedure in Embodiment 1)
Next, an example of the search processing procedure of the distributed
図16は、実施例1における探索処理手順の一例を示すフローチャートである。図16において、分散配備装置600は、最短経路の収束数によってノードNをグループ化したグループの中から、最短経路の収束数が多い順にノードNのグループを取得する(ステップS1601)。次に、分散配備装置600は、取得したノードNのグループの中から、制約条件を満たすノードNを取得するまで、リンク数が多い順にノードNを取得する(ステップS1602)。
FIG. 16 is a flowchart illustrating an example of a search processing procedure according to the first embodiment. In FIG. 16, the distributed
そして、分散配備装置600は、制約条件を満たすノードNがあるか否かを判定する(ステップS1603)。ここで、制約条件を満たすノードNがある場合(ステップS1603:Yes)、分散配備装置600は、選択した処理を取得したノードNに割り当てた場合の評価値を算出し、前回取得したノードNに割り当てた場合より評価値が小さくなるか否かを判定する(ステップS1604)。
Then, the distributed
ここで、評価値が小さくならない場合(ステップS1604:No)、分散配備装置600は、探索処理を終了する。一方で、評価値が小さくなる場合(ステップS1604:Yes)、分散配備装置600は、ステップS1607の処理に移行する。
Here, when the evaluation value does not become small (step S1604: No), the distributed
ステップS1603において、制約条件を満たすノードNがない場合(ステップS1603:No)、分散配備装置600は、ステップS1605の処理に移行する。ステップS1605において、分散配備装置600は、取得したノードNのグループの中のリンク数が最大になるノードNから所定のリンク数以内にあるノードNの中から、制約条件を満たすノードNを取得するまで、ノードNを取得する(ステップS1605)。
In step S1603, when there is no node N that satisfies the constraint condition (step S1603: No), the distributed
ここで、分散配備装置600は、制約条件を満たすノードNがあるか否かを判定する(ステップS1606)。ここで、制約条件を満たすノードNがある場合(ステップS1606:Yes)、分散配備装置600は、ステップS1604の処理に移行する。一方で、制約条件を満たすノードNがない場合(ステップS1606:No)、分散配備装置600は、ステップS1607の処理に移行する。
Here, the distributed
ステップS1607において、分散配備装置600は、未取得のグループがあるか否かを判定する(ステップS1607)。ここで、未取得のグループがある場合(ステップS1607:Yes)、分散配備装置600は、ステップS1601の処理に戻る。
In step S1607, the distributed
一方で、未取得のグループがない場合(ステップS1607:No)、分散配備装置600は、探索処理を終了する。これにより、分散配備装置600は、選択した処理を割り当てるノードNを探索することができる。
On the other hand, when there is no unacquired group (step S1607: No), the distributed
(実施例2)
次に、実施例2について説明する。実施例1は、入力データの数に基づいてノードNを探索する場合の一例であったが、実施例2は、入力データの量に基づいてノードNを探索する場合の一例である。
(Example 2)
Next, Example 2 will be described. The first embodiment is an example in which the node N is searched based on the number of input data. The second embodiment is an example in which the node N is searched based on the amount of input data.
〈実施例2における分散処理を割り当てる一例〉
まず、図17および図18を用いて、実施例2における分散処理を割り当てる一例について説明する。
<Example of Allocating Distributed Processing in
First, an example of assigning distributed processing according to the second embodiment will be described with reference to FIGS. 17 and 18.
図17および図18は、実施例2における分散処理を割り当てる一例を示す説明図である。図17において、分散配備装置600は、「フィルタリング1」の処理702をいずれかのノードNに割り当てる。ここで、初期状態では、実行するノードNが固定されていない処理702〜706は、収集ノードSNになるノードN11に割り当てられているとする。
17 and 18 are explanatory diagrams illustrating an example in which distributed processing is assigned in the second embodiment. In FIG. 17, the distributed
分散配備装置600は、実施例1と同様に、図12においてノードN1に対応付けて記憶した経路「ノードN11→ノードN9→ノードN7→ノードN4→ノードN1」を、ノードN11からノードN1までの最短経路として取得する。
Similarly to the first embodiment, the distributed
ここで、分散配備装置600は、実施例1とは異なり、最短経路上のノードNを、送信または受信されるデータのデータ量によってグループ化して、データ量が多い順にソートする。分散配備装置600は、例えば、最短経路上のノードN11、ノードN9、ノードN7、ノードN4、およびノードN1における送信または受信されるデータのデータ量が「100」であるため、「グループG4[ノードN11、ノードN9、ノードN7、ノードN4、ノードN1]」として記憶する。
Here, unlike the first embodiment, the distributed
次に、分散配備装置600は、グループG4の中で、収集ノードSNになるノードN11からのリンク数が多い順にソートする。分散配備装置600は、例えば、「グループG4[ノードN11、ノードN9、ノードN7、ノードN4、ノードN1]」を、「グループG4[ノードN1、ノードN4、ノードN7、ノードN9、ノードN11]」に更新する。ここで、グループをソートした結果が、ノードNの探索順序になる。
Next, the distributed
そして、分散配備装置600は、処理を割り当てるノードNを決定するまで、送信または受信されるデータのデータ量が多いグループから、順次、グループを取得する。分散配備装置600は、グループを取得する都度、取得したノードNが制約条件を満たすと判定するまで、グループの中でノードN11からのリンク数が多いノードNから、順次、ノードNを取得する。
Then, the distributed
分散配備装置600は、例えば、実施例1と同様に、グループG4[ノードN1、ノードN4、ノードN7、ノードN9、ノードN11]を取得し、グループG4の中からノードN1を取得する。次に、分散配備装置600は、フローテーブル300とトポロジーテーブル400とに基づいて、取得したノードN1が、「フィルタリング1」の処理702を割り当てられた場合に、制約条件を満たすか否かを判定する。また、分散配備装置600は、初期状態で処理702,704〜707が割り当てられたノードN11が、制約条件を満たすか否かを判定する。
For example, as in the first embodiment, the distributed
次に、分散配備装置600は、フローテーブル300とトポロジーテーブル400とに基づいて、「フィルタリング1」の処理702をノードN1に割り当てた場合のネットワーク110内の通信にかかるコストを表す評価値を算出する。また、分散配備装置600は、フローテーブル300とトポロジーテーブル400とに基づいて、「フィルタリング1」の処理702をノードN11に割り当てた場合のネットワーク110内の通信にかかるコストを表す評価値を算出する。
Next, based on the flow table 300 and the topology table 400, the distributed
そして、分散配備装置600は、「フィルタリング1」の処理702をノードN11に割り当てた場合と、ノードN1に割り当てた場合との評価値を比較する。ここで、分散配備装置600は、ノードN1に割り当てた場合の方が評価値が小さくなるため、「フィルタリング1」の処理702をノードN1に割り当てる。
Then, the distributed
そして、分散配備装置600は、ノードN1より送信または受信されるデータのデータ量が少ないノードNのグループがないため、「フィルタリング1」の処理702をいずれかのノードNに割り当てる処理を終了する。
Then, the distributed
次に、分散配備装置600は、「フィルタリング1」の処理702を割り当てる場合と同様にして、「フィルタリング2」の処理704をいずれかのノードNに割り当てる。
Next, the distributed
図18において、分散配備装置600は、「平均」の処理705をいずれかのノードNに割り当てる。分散配備装置600は、実施例1と同様に、図12においてノードN1に対応付けて記憶した経路「ノードN11→ノードN9→ノードN7→ノードN4→ノードN1」を、ノードN11からノードN1までの最短経路として取得する。
In FIG. 18, the distributed
また、分散配備装置600は、実施例1と同様に、図12においてノードN2に対応付けて記憶した経路「ノードN11→ノードN9→ノードN7→ノードN5→ノードN2」を、ノードN11からノードN2までの最短経路として取得する。
Similarly to the first embodiment, the distributed
そして、分散配備装置600は、最短経路上のノードNを、送信または受信されるデータのデータ量によってグループ化して、データ量が多い順にソートする。分散配備装置600は、例えば、最短経路上のノードN11、ノードN9、およびノードN7における送信または受信されるデータのデータ量が「100+80」であるため、グループ化する。
Then, the distributed
また、分散配備装置600は、最短経路上のノードN4、およびノードN1における送信または受信されるデータのデータ量が「100」であるため、グループ化する。また、分散配備装置600は、最短経路上のノードN5、およびノードN2における送信または受信されるデータのデータ量が「80」であるため、グループ化する。そして、分散配備装置600は、「グループG5[ノードN11、ノードN9、ノードN7]、グループG6[ノードN4、ノードN1]、グループG7[ノードN5、ノードN2]」として記憶する。
In addition, the distributed
次に、分散配備装置600は、グループの中で、収集ノードSNになるノードN11からのリンク数が多い順にソートする。分散配備装置600は、例えば、「グループG5[ノードN11、ノードN9、ノードN7]、グループG6[ノードN4、ノードN1]、グループG7[ノードN5、ノードN2]」を、「グループG5[ノードN7、ノードN9、ノードN11]、グループG6[ノードN1、ノードN4]、グループG7[ノードN2、ノードN5]」に更新する。ここで、グループをソートした結果が、ノードNの探索順序になる。
Next, the distributed
分散配備装置600は、処理を割り当てるノードNを決定するまで、送信または受信されるデータのデータ量が多いグループから、順次、グループを取得する。分散配備装置600は、グループを取得する都度、取得したノードNが制約条件を満たすと判定するまで、グループの中でノードN11からのリンク数が多いノードNから、順次、ノードNを取得する。
The distributed
分散配備装置600は、例えば、実施例1と同様に、グループG5[ノードN7、ノードN9、ノードN11]を取得し、グループの中からノードN7を取得する。次に、分散配備装置600は、フローテーブル300とトポロジーテーブル400とに基づいて、取得したノードN7が、「平均」の処理705を割り当てられた場合に、制約条件を満たすか否かを判定する。また、分散配備装置600は、処理705〜706が割り当てられたノードN11が、制約条件を満たすか否かを判定する。
For example, as in the first embodiment, the distributed
次に、分散配備装置600は、フローテーブル300とトポロジーテーブル400とに基づいて、「平均」の処理705をノードN7に割り当てた場合のネットワーク110内の通信にかかるコストを表す評価値を算出する。また、分散配備装置600は、フローテーブル300とトポロジーテーブル400とに基づいて、「平均」の処理705をノードN11に割り当てた場合のネットワーク110内の通信にかかるコストを表す評価値を算出する。
Next, based on the flow table 300 and the topology table 400, the distributed
そして、分散配備装置600は、「平均」の処理705をノードN11に割り当てた場合と、ノードN7に割り当てた場合との評価値を比較する。ここで、分散配備装置600は、ノードN7に割り当てた場合の方が評価値が小さくなるため、「平均」の処理705をノードN7に割り当てる。
Then, the distributed
次に、分散配備装置600は、ノードN7より送信または受信されるデータのデータ量が少ないノードNのグループG6[ノードN1、ノードN4]があるため、グループG6[ノードN1、ノードN4]を取得し、グループの中からノードN1を取得する。
Next, the distributed
次に、分散配備装置600は、フローテーブル300とトポロジーテーブル400とに基づいて、取得したノードN1が、「平均」の処理705を割り当てられた場合に、制約条件を満たすか否かを判定する。次に、分散配備装置600は、フローテーブル300とトポロジーテーブル400とに基づいて、「平均」の処理705をノードN1に割り当てた場合のネットワーク110内の通信にかかるコストを表す評価値を算出する。
Next, based on the flow table 300 and the topology table 400, the distributed
そして、分散配備装置600は、「平均」の処理705をノードN7に割り当てた場合と、ノードN1に割り当てた場合との評価値を比較する。ここで、分散配備装置600は、ノードN7に割り当てた場合の方が評価値が小さくなるため、「平均」の処理705をノードN7に割り当てたままにする。そして、分散配備装置600は、ノードN1に割り当てた場合の方が評価値が大きくなるため、「平均」の処理705をいずれかのノードNに割り当てる処理を終了する。
Then, the distributed
次に、分散配備装置600は、「平均」の処理705を割り当てる場合と同様にして、「アラート判定」の処理706を、いずれかのノードNに割り当てる。これにより、分散配備装置600は、特定の演算処理700に含まれる分散処理を、ノードNに割り当てて、ネットワーク110内の通信にかかるコストを低減することができる。また、分散配備装置600は、全解探索により特定の演算処理700に含まれる分散処理を割り当てる場合に比べて、分散処理を割り当てる際にかかる処理負荷や処理時間の増加を抑制することができる。また、分散配備装置600は、各々の入力データのデータ量が異なる場合に、各々の入力データのデータ量に対応して通信経路に重み付けをして、探索効率を向上させることができる。
Next, the distributed
(実施例2における割当処理手順の一例)
次に、実施例2における分散配備装置600の割当処理手順の一例について説明する。実施例2における割当処理手順は、ステップS1504を除き、図15に示した実施例1における割当処理手順と同一である。
(Example of allocation processing procedure in the second embodiment)
Next, an example of the allocation processing procedure of the distributed
このため、実施例2におけるステップS1504の処理について説明する。ステップS1504において、分散配備装置600は、最短経路を特定し、最短経路上のノードNにおける送信または受信されるデータ量、および収集ノードSNからのリンク数を算出する(ステップS1504)。
For this reason, the process of step S1504 in Example 2 is demonstrated. In step S1504, the distributed
(実施例2における探索処理手順の一例)
次に、実施例2における分散配備装置600の探索処理手順の一例について説明する。実施例2における探索処理手順は、ステップS1601を除き、図16に示した実施例1における探索処理手順と同一である。
(Example of search processing procedure in embodiment 2)
Next, an example of the search processing procedure of the distributed
このため、実施例2におけるステップS1601について説明する。ステップS1601において、分散配備装置600は、送信または受信されるデータ量によってノードNをグループ化したグループの中から、送信または受信されるデータ量が多い順にノードNのグループを取得する(ステップS1601)。
For this reason, step S1601 in the second embodiment will be described. In step S1601, the distributed
以上説明したように、分散配備装置600によれば、分散対象となる処理の入力データを生成する各ノードNから、収集ノードSNまでの通信経路をそれぞれ特定することができる。そして、分散配備装置600によれば、収集ノードSNを起点にして、特定した通信経路上のノードNの中から、データ数またはデータ量が減少し、かつ、ネットワーク110内の通信にかかるコストが減少するノードNを順次探索することができる。これにより、分散配備装置600は、特定の演算処理700に含まれる分散処理を、ノードNに割り当てて、ネットワーク110内の通信にかかるコストを低減することができる。
As described above, according to the distributed
また、これにより、分散配備装置600は、全解探索により特定の演算処理700に含まれる分散処理を割り当てる場合に比べて、分散処理を割り当てる際にかかる処理負荷や処理時間の増加を抑制することができる。具体的には、従来のコンピュータが、ノードの数が「10000個」のネットワーク110において、「3000個」の分散処理を割り当てる場合には、分散処理を割り当てる際にかかる時間が「97878秒」、評価値が「90245」になる。一方で、分散配備装置600が、ノードの数が「10000個」のネットワーク110において、「3000個」の分散処理を割り当てる場合には、分散処理にかかる時間が「27秒」、評価値が「79773」になり、処理時間を低減することができる。
Accordingly, the distributed
また、これにより、分散配備装置600は、ネットワーク110にノードNが追加されたり、ネットワーク110内のノード間の接続状況が変化した場合であっても、分散処理を割り当て直す際にかかる処理負荷や処理時間を低減することができる。具体的には、分散配備装置600は、各々のノードNが移動体であるためにネットワーク110内のノード間の接続状況が定期的に変化するような場合であっても、接続状況の変化ごとに分散処理を割り当て直すことができる。結果として、ネットワーク110内の通信にかかるコストを低減しながら、ネットワーク110を運用することができる。
In this way, the distributed
また、分散配備装置600によれば、特定した通信経路上のノードNの中から、データ数またはデータ量が多い順に、ネットワーク110内の通信にかかるコストが減少しなくなるまで、分散処理を割り当てるノードNを順次探索することができる。これにより、分散配備装置600は、通信経路上のノードNを、データ数またはデータ量が多い順に網羅的に探索することができる。
Further, according to the distributed
また、特定した通信経路上のノードNの中には、データ数またはデータ量が同一である複数のノードNが存在するときがある。このとき、分散配備装置600によれば、複数のノードNの中から、収集ノードSNからのリンク数が最大になり、かつ、ネットワーク110内の通信にかかるコストが減少するノードNを探索することができる。これにより、分散配備装置600は、複数のノードNの中でネットワーク110内の通信にかかるコストが最小になるノードNを探索し、分散処理を割り当てる際にかかる処理負荷や処理時間の増加を抑制することができる。
In addition, among the nodes N on the specified communication path, there may be a plurality of nodes N having the same number of data or the same amount of data. At this time, according to the distributed
また、このとき、分散配備装置600によれば、複数のノードNのうちで処理の割当条件を満たすノードNの中から、収集ノードSNからのリンク数が最大になり、かつ、ネットワーク110内の通信にかかるコストが減少するノードNを探索することができる。これにより、分散配備装置600は、複数のノードNのうちで分散処理を割り当てる割当条件を満たすノードNの中でネットワーク110内の通信にかかるコストが最小になるノードNを探索することができる。そして、分散配備装置600は、分散処理を割り当てる際にかかる処理負荷や処理時間の増加を抑制することができる。
At this time, according to the distributed
ここで、複数のノードNのすべてが割当条件を満たさないときがある。このとき、分散配備装置600によれば、ネットワーク110に含まれる割当条件を満たすノードNを特定することができる。次に、分散配備装置600によれば、特定したノードNの中から、複数のノードNのうちで収集ノードSNからのリンク数が最大になるノードNから所定のリンク数以内に存在するノードNを特定することができる。そして、分散配備装置600によれば、特定したノードNの中からネットワーク110内の通信にかかるコストが減少するノードNを探索することができる。これにより、分散配備装置600は、分散処理を割り当てる割当条件を満たすノードNを探索することができ、分散処理を割り当てる際にかかる処理負荷や処理時間の増加を抑制することができる。
Here, there are times when all of the plurality of nodes N do not satisfy the allocation condition. At this time, according to the distributed
また、分散配備装置600によれば、入力データを生成する各ノードNから収集ノードSNまでの各ノードN間の通信にかかるコストの合計値が最小になる通信経路をそれぞれ特定することができる。これにより、分散配備装置600は、コストの合計値が最小になる通信経路上のノードNの中から分散処理を割り当てるノードNを探索することができる。そして、分散配備装置600は、ネットワーク110内の通信にかかるコストを低減することができ、分散処理を割り当てる際にかかる処理負荷や処理時間の増加を抑制することができる。また、分散配備装置600は、各々の入力データのデータ量が異なる場合に、各々の入力データのデータ量に対応して通信経路に重み付けをして、探索効率を向上させることができる。
Further, according to the distributed
なお、本実施の形態で説明した分散配備方法は、予め用意されたプログラムをパーソナル・コンピュータやワークステーション等のコンピュータで実行することにより実現することができる。本分散配備プログラムは、ハードディスク、フレキシブルディスク、CD−ROM、MO、DVD等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。また本分散配備プログラムは、インターネット等のネットワークを介して配布してもよい。 The distributed deployment method described in this embodiment can be realized by executing a program prepared in advance on a computer such as a personal computer or a workstation. The distributed deployment program is recorded on a computer-readable recording medium such as a hard disk, a flexible disk, a CD-ROM, an MO, and a DVD, and is executed by being read from the recording medium by the computer. The distributed deployment program may be distributed through a network such as the Internet.
上述した実施の形態に関し、さらに以下の付記を開示する。 The following additional notes are disclosed with respect to the embodiment described above.
(付記1)ネットワーク内のノード間の通信にかかるコストに基づいて、分散対象となる処理の入力データを生成する各ノードから、前記処理の出力データを収集する特定のノードまでの通信経路をそれぞれ特定し、前記特定のノードを起点にして、特定した前記通信経路上のノードの中から、送信または受信される前記入力データのデータ数またはデータ量が減少し、かつ、前記処理を割り当てた際に前記ネットワーク内の通信にかかるコストが減少するノードを順次探索し、探索したノードの中から前記処理を割り当てるノードを決定する制御部、
を有することを特徴とする分散配備装置。
(Additional remark 1) Based on the cost concerning the communication between the nodes in a network, each communication path from each node which produces | generates the input data of the process used as dispersion | distribution object to the specific node which collects the output data of the said process, respectively When the number or amount of input data to be transmitted or received decreases from among the nodes on the specified communication path starting from the specific node and the processing is assigned A controller that sequentially searches for nodes that reduce the cost of communication in the network and determines a node to which the process is assigned from the searched nodes;
A distributed deployment device characterized by comprising:
(付記2)前記制御部は、特定した前記通信経路上のノードの中から、前記データ数または前記データ量が多い順に、前記ネットワーク内の通信にかかるコストが減少しなくなるまで、前記データ数または前記データ量が減少し、かつ、前記ネットワーク内の通信にかかるコストが減少するノードを順次探索することを特徴とする付記1に記載の分散配備装置。
(Additional remark 2) The said control part is the said number of data or until the cost concerning the communication in the said network does not reduce from the node on the specified said communication path in order with the said number of data or the said data amount. The distributed deployment apparatus according to
(付記3)前記制御部は、前記データ数または前記データ量が同一である複数のノードが存在するときは、前記複数のノードの中から、前記特定のノードからのリンク数が最大になり、かつ、前記ネットワーク内の通信にかかるコストが減少するノードを探索することを特徴とする付記2に記載の分散配備装置。
(Supplementary Note 3) When there are a plurality of nodes having the same number of data or the same amount of data, the control unit has the maximum number of links from the specific node among the plurality of nodes. The distributed deployment device according to
(付記4)前記制御部は、前記データ数または前記データ量が同一である複数のノードが存在するときは、前記複数のノードのうちで前記処理の割当条件を満たすノードの中から、前記特定のノードからのリンク数が最大になり、かつ、前記ネットワーク内の通信にかかるコストが減少するノードを探索することを特徴とする付記2に記載の分散配備装置。
(Supplementary Note 4) When there are a plurality of nodes having the same number of data or the same amount of data, the control unit is configured to specify the identification from among the nodes satisfying the process allocation condition among the plurality of nodes. The distributed deployment device according to
(付記5)前記制御部は、前記複数のノードのすべてが前記割当条件を満たさないときは、前記ネットワークに含まれる前記割当条件を満たすノードの中から、前記複数のノードのうちで前記特定のノードからのリンク数が最大になるノードから所定のリンク数以内に存在し、かつ、前記ネットワーク内の通信にかかるコストが減少するノードを探索することを特徴とする付記4に記載の分散配備装置。
(Supplementary Note 5) When all of the plurality of nodes do not satisfy the allocation condition, the control unit selects the specific node among the plurality of nodes from among the nodes that satisfy the allocation condition included in the network. The distributed deployment device according to
(付記6)前記制御部は、前記入力データを生成する各ノードから前記特定のノードまでの各ノード間の通信にかかるコストの合計値が最小になる通信経路をそれぞれ特定することを特徴とする付記1〜5のいずれか一つに記載の分散配備装置。
(Additional remark 6) The said control part each specifies the communication path | route where the total value of the cost concerning communication between each node from each node which produces | generates the said input data to the said specific node becomes the minimum. The distributed deployment device according to any one of
(付記7)コンピュータが、
ネットワーク内のノード間の通信にかかるコストに基づいて、分散対象となる処理の入力データを生成する各ノードから、前記処理の出力データを収集する特定のノードまでの通信経路をそれぞれ特定し、
前記特定のノードを起点にして、特定した前記通信経路上のノードの中から、送信または受信される前記入力データのデータ数またはデータ量が減少し、かつ、前記処理を割り当てた際に前記ネットワーク内の通信にかかるコストが減少するノードを順次探索し、
探索したノードの中から前記処理を割り当てるノードを決定する、
処理を実行することを特徴とする分散配備方法。
(Appendix 7) The computer
Based on the cost of communication between nodes in the network, each communication path from each node that generates input data of the process to be distributed to a specific node that collects the output data of the process is specified,
Starting from the specific node, the number of input data to be transmitted or received from the nodes on the specified communication path or the amount of data is reduced, and the network is allocated when the processing is allocated. Sequentially search for nodes that reduce the cost of communication within,
Determining a node to which the processing is assigned from among the searched nodes;
A distributed deployment method characterized by executing processing.
(付記8)コンピュータに、
ネットワーク内のノード間の通信にかかるコストに基づいて、分散対象となる処理の入力データを生成する各ノードから、前記処理の出力データを収集する特定のノードまでの通信経路をそれぞれ特定し、
前記特定のノードを起点にして、特定した前記通信経路上のノードの中から、送信または受信される前記入力データのデータ数またはデータ量が減少し、かつ、前記処理を割り当てた際に前記ネットワーク内の通信にかかるコストが減少するノードを順次探索し、
探索したノードの中から前記処理を割り当てるノードを決定する、
処理を実行させることを特徴とする分散配備プログラム。
(Appendix 8)
Based on the cost of communication between nodes in the network, each communication path from each node that generates input data of the process to be distributed to a specific node that collects the output data of the process is specified,
Starting from the specific node, the number of input data to be transmitted or received from the nodes on the specified communication path or the amount of data is reduced, and the network is allocated when the processing is allocated. Sequentially search for nodes that reduce the cost of communication within,
Determining a node to which the processing is assigned from among the searched nodes;
A distributed deployment program characterized by causing processing to be executed.
N ノード
600 分散配備装置
601 第1の決定部
602 特定部
603 第2の決定部
604 算出部
605 判定部
606 探索部
Claims (7)
を有することを特徴とする分散配備装置。 Based on the cost of communication between nodes in the network, each communication path from each node that generates input data of a process to be distributed to a specific node that collects output data of the process is specified, Starting from a specific node, the number or amount of input data to be transmitted or received from among the nodes on the specified communication path is reduced, and when the process is assigned, A controller that sequentially searches for nodes that reduce the cost of communication, and determines a node to which the process is assigned from among the searched nodes;
A distributed deployment device characterized by comprising:
ネットワーク内のノード間の通信にかかるコストに基づいて、分散対象となる処理の入力データを生成する各ノードから、前記処理の出力データを収集する特定のノードまでの通信経路をそれぞれ特定し、
前記特定のノードを起点にして、特定した前記通信経路上のノードの中から、送信または受信される前記入力データのデータ数またはデータ量が減少し、かつ、前記処理を割り当てた際に前記ネットワーク内の通信にかかるコストが減少するノードを順次探索し、
探索したノードの中から前記処理を割り当てるノードを決定する、
処理を実行することを特徴とする分散配備方法。 Computer
Based on the cost of communication between nodes in the network, each communication path from each node that generates input data of the process to be distributed to a specific node that collects the output data of the process is specified,
Starting from the specific node, the number of input data to be transmitted or received from the nodes on the specified communication path or the amount of data is reduced, and the network is allocated when the processing is allocated. Sequentially search for nodes that reduce the cost of communication within,
Determining a node to which the processing is assigned from among the searched nodes;
A distributed deployment method characterized by executing processing.
ネットワーク内のノード間の通信にかかるコストに基づいて、分散対象となる処理の入力データを生成する各ノードから、前記処理の出力データを収集する特定のノードまでの通信経路をそれぞれ特定し、
前記特定のノードを起点にして、特定した前記通信経路上のノードの中から、送信または受信される前記入力データのデータ数またはデータ量が減少し、かつ、前記処理を割り当てた際に前記ネットワーク内の通信にかかるコストが減少するノードを順次探索し、
探索したノードの中から前記処理を割り当てるノードを決定する、
処理を実行させることを特徴とする分散配備プログラム。 On the computer,
Based on the cost of communication between nodes in the network, each communication path from each node that generates input data of the process to be distributed to a specific node that collects the output data of the process is specified,
Starting from the specific node, the number of input data to be transmitted or received from the nodes on the specified communication path or the amount of data is reduced, and the network is allocated when the processing is allocated. Sequentially search for nodes that reduce the cost of communication within,
Determining a node to which the processing is assigned from among the searched nodes;
A distributed deployment program characterized by causing processing to be executed.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013231583A JP6213167B2 (en) | 2013-11-07 | 2013-11-07 | Distributed deployment apparatus, distributed deployment method, and distributed deployment program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013231583A JP6213167B2 (en) | 2013-11-07 | 2013-11-07 | Distributed deployment apparatus, distributed deployment method, and distributed deployment program |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2015090693A true JP2015090693A (en) | 2015-05-11 |
JP6213167B2 JP6213167B2 (en) | 2017-10-18 |
Family
ID=53194159
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2013231583A Expired - Fee Related JP6213167B2 (en) | 2013-11-07 | 2013-11-07 | Distributed deployment apparatus, distributed deployment method, and distributed deployment program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6213167B2 (en) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106685745A (en) * | 2017-03-17 | 2017-05-17 | 北京邮电大学 | Network topology construction method and device |
JP2018152672A (en) * | 2017-03-10 | 2018-09-27 | 富士通株式会社 | Monitoring method, monitoring device, and program |
JP2018207285A (en) * | 2017-06-02 | 2018-12-27 | 富士通株式会社 | Communication path management program, communication path management method, and communication path management device |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070110094A1 (en) * | 2005-11-15 | 2007-05-17 | Sony Computer Entertainment Inc. | Task Allocation Method And Task Allocation Apparatus |
JP2009282652A (en) * | 2008-05-21 | 2009-12-03 | Yokogawa Electric Corp | Arrangement destination node selection support system and method for distributed application and program |
JP2011221581A (en) * | 2010-04-02 | 2011-11-04 | Hitachi Ltd | Management method for computer system, computer system management terminal and computer management system |
-
2013
- 2013-11-07 JP JP2013231583A patent/JP6213167B2/en not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070110094A1 (en) * | 2005-11-15 | 2007-05-17 | Sony Computer Entertainment Inc. | Task Allocation Method And Task Allocation Apparatus |
JP2007140710A (en) * | 2005-11-15 | 2007-06-07 | Sony Computer Entertainment Inc | Task allocation method and task allocation device |
JP2009282652A (en) * | 2008-05-21 | 2009-12-03 | Yokogawa Electric Corp | Arrangement destination node selection support system and method for distributed application and program |
JP2011221581A (en) * | 2010-04-02 | 2011-11-04 | Hitachi Ltd | Management method for computer system, computer system management terminal and computer management system |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2018152672A (en) * | 2017-03-10 | 2018-09-27 | 富士通株式会社 | Monitoring method, monitoring device, and program |
CN106685745A (en) * | 2017-03-17 | 2017-05-17 | 北京邮电大学 | Network topology construction method and device |
CN106685745B (en) * | 2017-03-17 | 2019-10-29 | 北京邮电大学 | A kind of constructing network topology method and device |
JP2018207285A (en) * | 2017-06-02 | 2018-12-27 | 富士通株式会社 | Communication path management program, communication path management method, and communication path management device |
Also Published As
Publication number | Publication date |
---|---|
JP6213167B2 (en) | 2017-10-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9910702B2 (en) | Continuous optimization of archive management scheduling by use of integrated content-resource analytic model | |
JP5880575B2 (en) | Resource search apparatus and program | |
CN107734052B (en) | Load balancing container scheduling method facing component dependence | |
JP5664098B2 (en) | Composite event distribution apparatus, composite event distribution method, and composite event distribution program | |
Huang et al. | Maximizing throughput of delay-sensitive NFV-enabled request admissions via virtualized network function placement | |
CN106095569B (en) | A kind of cloud workflow engine scheduling of resource and control method based on SLA | |
CN106681839B (en) | Elastic calculation dynamic allocation method | |
JP6213167B2 (en) | Distributed deployment apparatus, distributed deployment method, and distributed deployment program | |
CN113904923A (en) | Service function chain joint optimization method based on software defined network | |
JP2016048536A (en) | Master device for cluster computing system, slave device, and computing method thereof | |
JP2016139237A (en) | Computer system and method for coping with performance disorder of computer system | |
JP6960444B2 (en) | Computer system and resource management method | |
JPWO2011142227A1 (en) | Computer system, method and program | |
CN111770020A (en) | Method for network perception service combination algorithm based on optimal path selection | |
WO2013145310A1 (en) | Data stream parallel processing program, method, and system | |
JP2021033774A (en) | Service deployment control system, service deployment control method, and storage medium | |
CN104009904B (en) | The virtual network construction method and system of facing cloud platform big data processing | |
CN117834560A (en) | Resource allocation method based on computing power network and related equipment | |
US9124508B2 (en) | Communication control device communication control system, communication control method and program | |
JP5983623B2 (en) | Task placement apparatus and task placement method | |
JP2016081495A (en) | Apparatus and method for processing complex event based on high load path | |
JP6187202B2 (en) | Information processing apparatus, information processing method, and information processing program | |
KR101393237B1 (en) | Dynamic available resource reallocation based job allocation system and method in grid computing thereof | |
CN113886036B (en) | Method and system for optimizing distributed system cluster configuration | |
JP2019071004A (en) | Service developing system, resource predicting method, and service developing program |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20160705 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20170530 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20170606 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20170807 |
|
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: 20170822 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20170904 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6213167 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |