(57)【要約】【課題】ノードの追加時における複数のコンポーネントの配置を効率化すること。【解決手段】本発明にかかる情報処理装置は、複数のコンポーネントが第１の最適配置パターンに基づき配置された第１のノード群に追加される追加ノードを含む第２のノード群における複数のコンポーネントの第２の最適配置パターンを導出する導出部と、第２の最適配置パターンと追加ノードとを対応付けて記憶装置に保存する保存部と、第１のノード群に対する追加ノードの追加を検出した場合に、記憶装置から当該検出した追加ノードに対応付けられた第２の最適配置パターンを読み出し、第２の最適配置パターンに基づいて第２のノード群の各ノードに対して複数のコンポーネントを配置する配置部と、を備える。【選択図】図１
2018151740.tif 000002
【特許請求の範囲】
【請求項１】
複数のコンポーネントが第１の最適配置パターンに基づき配置された第１のノード群に追加される追加ノードを含む第２のノード群における前記複数のコンポーネントの第２の最適配置パターンを導出する導出部と、
前記第２の最適配置パターンと前記追加ノードとを対応付けて記憶装置に保存する保存部と、
前記第１のノード群に対する前記追加ノードの追加を検出した場合に、前記記憶装置から当該検出した追加ノードに対応付けられた前記第２の最適配置パターンを読み出し、前記第２の最適配置パターンに基づいて前記第２のノード群の各ノードに対して前記複数のコンポーネントを配置する配置部と、
を備える情報処理装置。
【請求項２】
前記導出部は、
前記第１の最適配置パターンにおける第１の評価値を算出し、
前記第２のノード群における前記複数のコンポーネントの仮の配置パターンを導出し、
前記仮の配置パターンにおける第２の評価値を算出し、
前記第２の評価値が前記第１の評価値と比べて所定値以上悪化している場合に、前記第２の最適配置パターンを導出する
請求項１に記載の情報処理装置。
【請求項３】
前記第１のノード群は、階層構造を有し、
前記導出部は、
前記追加ノードと同一の親ノードに属する他の子ノードにおける前記複数のコンポーネントの実行有無を示す実行有無情報を、前記追加ノードの実行有無情報として、前記仮の配置パターンを導出する
請求項２に記載の情報処理装置。
【請求項４】
前記保存部は、
前記第２の評価値が前記第１の評価値と比べて所定値以上悪化していない場合に、前記第１の最適配置パターンと前記追加ノードとを対応付けて前記記憶装置に保存する
請求項２又は３に記載の情報処理装置。
【請求項５】
前記追加ノードは、デバイス層のノードであり、
前記追加ノードの親ノードは、エッジ層のノードである、
請求項３に記載の情報処理装置。
【請求項６】
前記導出部は、遺伝的アルゴリズムに基づき前記導出を行う
請求項１乃至５のいずれか１項に記載の情報処理装置。
【請求項７】
複数のコンポーネントが第１の最適配置パターンに基づき配置された第１のノード群に追加される追加ノードを含む第２のノード群における前記複数のコンポーネントの第２の最適配置パターンを導出し、
前記第２の最適配置パターンと前記追加ノードとを対応付けて記憶装置に保存し、
前記第１のノード群に対する前記追加ノードの追加を検出した場合に、前記記憶装置から当該検出した追加ノードに対応付けられた前記第２の最適配置パターンを読み出し、
前記第２の最適配置パターンに基づいて前記第２のノード群の各ノードに対して前記複数のコンポーネントを配置する
コンポーネント配置方法。
【請求項８】
複数のコンポーネントが第１の最適配置パターンに基づき配置された第１のノード群に追加される追加ノードを含む第２のノード群における前記複数のコンポーネントの第２の最適配置パターンを導出する処理と、
前記第２の最適配置パターンと前記追加ノードとを対応付けて記憶装置に保存する処理と、
前記第１のノード群に対する前記追加ノードの追加を検出した場合に、前記記憶装置から当該検出した追加ノードに対応付けられた前記第２の最適配置パターンを読み出す処理と、
前記第２の最適配置パターンに基づいて前記第２のノード群の各ノードに対して前記複数のコンポーネントを配置する処理と、
をコンピュータに実行させるコンポーネント配置プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、コンポーネント配置方法及びコンポーネント配置プログラムに関し、特に、ノード追加時にコンポーネントを再配置するための情報処理装置、コンポーネント配置方法及びコンポーネント配置プログラムに関する。
【背景技術】
【０００２】
近年、マイクロサービスに代表されるように、分散システムにおける各コンポーネントが高い独立性を持つようになってきている。また、それに伴いコンポーネントの移植性も高まっており、コンポーネントを多様な環境に配置可能となっている。
【０００３】
一方、モノのインターネット（Internet of Things、IoT）では、膨大な数のノードで構成されるシステムが想定される。また、その構成としてクラウド層、エッジ層、デバイス層をそれぞれ広域ネットワーク層と近距離ネットワーク層でつなぐ５層モデルがある。
【０００４】
このような、移植性の高いコンポーネントの集合でIoTのシステムを形成する場合、実行性能やネットワークトラフィックなどの観点からコンポーネントの配置構成の最適解を見つける必要がある。しかしながら、その組み合わせ数は膨大になり最適なコンポーネントの配置の発見は困難である。
【０００５】
ここで、代表的な最適解の探索手法として遺伝的アルゴリズムが存在する。特許文献１には、ネットワーク上に構築された論理トポロジをトラヒックに応じて変更する際に、最適な光パス構造を、遺伝的アルゴリズムを用いて検索する技術が開示されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００６−２７０６７７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
ここで、上述した遺伝的アルゴリズムをIoTシステムの配置構成の最適化に適用することが考えられる。しかし、IoTシステムでは車などの移動体のように、移動や追加削除が頻繁に発生する。そのため、一度最適な配置を求めていても、デバイスの接続状況によって最適な配置は変わる。ここで、構成要素の動的な変更に応じて再探索を行うことはコストが高い。そして、移動体を含むIoTシステムを対象にした場合、リアルタイムに構成を最適化することが困難であるという問題点がある。
【０００８】
本発明は、このような問題点を解決するためになされたものであり、ノードの追加時における複数のコンポーネントの配置を効率化するための情報処理装置、コンポーネント配置方法及びコンポーネント配置プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００９】
本発明の第１の態様にかかる情報処理装置は、
複数のコンポーネントが第１の最適配置パターンに基づき配置された第１のノード群に追加される追加ノードを含む第２のノード群における前記複数のコンポーネントの第２の最適配置パターンを導出する導出部と、
前記第２の最適配置パターンと前記追加ノードとを対応付けて記憶装置に保存する保存部と、
前記第１のノード群に対する前記追加ノードの追加を検出した場合に、前記記憶装置から当該検出した追加ノードに対応付けられた前記第２の最適配置パターンを読み出し、前記第２の最適配置パターンに基づいて前記第２のノード群の各ノードに対して前記複数のコンポーネントを配置する配置部と、
を備える。
【００１０】
本発明の第２の態様にかかるコンポーネント配置方法は、
複数のコンポーネントが第１の最適配置パターンに基づき配置された第１のノード群に追加される追加ノードを含む第２のノード群における前記複数のコンポーネントの第２の最適配置パターンを導出し、
前記第２の最適配置パターンと前記追加ノードとを対応付けて記憶装置に保存し、
前記第１のノード群に対する前記追加ノードの追加を検出した場合に、前記記憶装置から当該検出した追加ノードに対応付けられた前記第２の最適配置パターンを読み出し、
前記第２の最適配置パターンに基づいて前記第２のノード群の各ノードに対して前記複数のコンポーネントを配置する。
【００１１】
本発明の第３の態様にかかるコンポーネント配置プログラムは、
複数のコンポーネントが第１の最適配置パターンに基づき配置された第１のノード群に追加される追加ノードを含む第２のノード群における前記複数のコンポーネントの第２の最適配置パターンを導出する処理と、
前記第２の最適配置パターンと前記追加ノードとを対応付けて記憶装置に保存する処理と、
前記第１のノード群に対する前記追加ノードの追加を検出した場合に、前記記憶装置から当該検出した追加ノードに対応付けられた前記第２の最適配置パターンを読み出す処理と、
前記第２の最適配置パターンに基づいて前記第２のノード群の各ノードに対して前記複数のコンポーネントを配置する処理と、
をコンピュータに実行させる。
【発明の効果】
【００１２】
本発明により、ノードの追加時における複数のコンポーネントの配置を効率化するための情報処理装置、コンポーネント配置方法及びコンポーネント配置プログラムを提供することができる。
【図面の簡単な説明】
【００１３】
【図１】本発明の実施の形態１にかかる情報処理装置の構成を示すブロック図である。
【図２】本発明の実施の形態１にかかるコンポーネント配置方法の流れを示すフローチャートである。
【図３】本発明の実施の形態２にかかるコンポーネント配置システムの全体構成を示すブロック図である。
【図４】本発明の実施の形態２にかかるコンポーネントの処理内容と制約条件の例を示す図である。
【図５】本発明の実施の形態２にかかる遺伝的アルゴリズムによる配置パターンの探索処理の流れを示すフローチャートである。
【図６】本発明の実施の形態２にかかるノード階層と構造データの対応を示す図である。
【図７】本発明の実施の形態２にかかる構造データとオブジェクトの対応を示す図である。
【図８】本発明の実施の形態２にかかる配置パターンの例を示す図である。
【図９】本発明の実施の形態２にかかるノード階層の探索順序の例を示す図である。
【図１０】本発明の実施の形態２にかかる選択された配置パターンの例を示す図である。
【図１１】本発明の実施の形態２にかかる探索結果の例を示す図である。
【図１２】本発明の実施の形態２にかかるノード追加予想時の配置パターン作成処理の流れを示すフローチャートである。
【発明を実施するための形態】
【００１４】
以下では、本発明を適用した具体的な実施の形態について、図面を参照しながら詳細に説明する。各図面において、同一要素には同一の符号が付されており、説明の明確化のため、必要に応じて重複説明は省略する。
【００１５】
＜実施の形態１＞
図１は、本発明の実施の形態１にかかる情報処理装置１の構成を示すブロック図である。情報処理装置１は、導出部１１と、保存部１２と、配置部１３と、記憶装置１４とを備える。ここで、前提として、第１のノード群には、複数のコンポーネントの最適な配置パターンである第１の最適配置パターンが導出されており、第１の最適配置パターンに基づき複数のコンポーネントが各ノードに分散して配置されているものとする。また、各コンポーネントは、他のコンポーネントと連携して処理を行う処理モジュール等である。そして、複数のコンポーネントが所定の実行順序で実行されることにより、所望の結果が得られるものとする。
【００１６】
導出部１１は、第１のノード群に追加される追加ノードを含む第２のノード群における複数のコンポーネントの第２の最適配置パターンを導出する。保存部１２は、第２の最適配置パターン１４１と追加ノード１４２とを対応付けて記憶装置１４に保存する。配置部１３は、第１のノード群に対する追加ノードの追加を検出した場合に、記憶装置１４から検出した追加ノード１４２に対応付けられた第２の最適配置パターン１４１を読み出す。そして、配置部１３は、第２の最適配置パターン１４１に基づいて第２のノード群の各ノードに対して複数のコンポーネントを配置する。
【００１７】
図２は、本発明の実施の形態１にかかるコンポーネント配置方法の流れを示すフローチャートである。まず、導出部１１は、第１のノード群に追加される追加ノードを含む第２のノード群における複数のコンポーネントの第２の最適配置パターンを導出する（Ｓ１１）。次に、保存部１２は、第２の最適配置パターン１４１と追加ノード１４２とを対応付けて記憶装置１４に保存する（Ｓ１２）。
【００１８】
その後、配置部１３は、第１のノード群に対する追加ノードの追加を検出したか否かを判定する（Ｓ１３）。検出した場合、配置部１３は、記憶装置１４から当該検出した追加ノードに対応付けられた第２の最適配置パターンを読み出す（Ｓ１４）。そして、配置部１３は、第２の最適配置パターン１４１に基づいて第２のノード群の各ノードに対して複数のコンポーネントを配置する（Ｓ１５）。
【００１９】
このように、本実施の形態では、第１のノード群に追加ノードの追加が検出される前に、第１のノードに追加ノードが追加された場合の第２のノード群に対して最適な配置パターンを予め導出しておき、記憶装置に保存して準備しておくものである。そのため、実際に第１のノード群に追加ノードの追加が検出された時には、第２の最適配置パターンを適用してコンポーネントの配置を行うことができる。つまり、追加ノードの追加が検出された時に最適な配置パターンの導出を行う必要がないため、ノード追加時の計算負荷を軽減し、早期に最適な配置パターンを適用することができる。よって、ノードの追加時における複数のコンポーネントの配置を効率化することができる。
【００２０】
＜実施の形態２＞
本実施の形態２は、上述した実施の形態１の一実施例である。
図３は、本発明の実施の形態２にかかるコンポーネント配置システム１０００の全体構成を示すブロック図である。ＩｏＴシステム２００は、上述したノード群の一例であり、階層構造を有する。例えば、ＩｏＴシステム２００は上述した５層モデルで実現される。すなわち、ＩｏＴシステム２００は、クラウド層としてサーバＮ１、エッジ層としてエッジＮ２及びＮ５、デバイス層として、温度センサＮ３、湿度センサＮ４、温度センサＮ６及び湿度センサＮ７を含む。サーバＮ１を親ノードとした場合、子ノードはエッジＮ２及びＮ５である。エッジＮ２を親ノードとした場合、子ノードは温度センサＮ３及び湿度センサＮ４である。エッジＮ５を親ノードとした場合、子ノードは温度センサＮ６及び湿度センサＮ７である。
【００２１】
温度センサＮ３及びＮ６は温度を測定し、湿度センサＮ４及びＮ７は湿度を測定する。温度センサＮ３及びＮ６並びに湿度センサＮ４及びＮ７は、センサ群である。センサ群は、例えば移動体に搭載されたものである。エッジＮ２及びＮ５は、センサ群により測定されたデータを集計する。但し、エッジＮ２及びＮ５は、データ集計を行わなくても良い。エッジＮ２及びＮ５は、例えば、中間サーバ等のコンピュータである。サーバＮ１は、各エッジにより集計されたデータに基づいて不快指数を算出し、表示する。但し、サーバＮ１は、少なくとも不快指数を表示すればよい。
【００２２】
情報処理装置１００は、ＩｏＴシステム２００の各ノードに配置される複数の処理コンポーネントの配置の最適化を、遺伝的アルゴリズムを用いて行うものである。情報処理装置１００は、最適配置探索部１０１と、予想追加ノード配置パターン導出部１０２と、運用管理部１０３とを備える。最適配置探索部１０１は、入力された構造データ及び制約条件に基づいて最適な配置パターンを探索する。言い換えると、最適配置探索部１０１は、第１のノード群における第１の最適配置パターンを導出する。また、予想追加ノード配置パターン導出部１０２は、ＩｏＴシステム２００にノードが追加された場合の配置パターンを作成する。言い換えると、予想追加ノード配置パターン導出部１０２は、第２のノード群における第２の最適配置パターンを導出する導出部１１の一例である。また、予想追加ノード配置パターン導出部１０２は、上述した保存部１２の一例でもある。運用管理部１０３は、配置パターンに基づいて各ノードにコンポーネントの配置を行う。運用管理部１０３は、上述した配置部１３の一例である。
【００２３】
図４は、本発明の実施の形態２にかかるコンポーネントの処理内容と制約条件の例を示す図である。図４に示すように、コンポーネントは、Ｄ，Ｃ，Ｂ，Ａの順序で実行する必要があるものとする。また、コンポーネントＢについては、エッジ層以上において処理可能であるものとする。尚、制約条件はこれらに限定されない。そのため、ＩｏＴシステム２００の各ノードのいずれにおいてもコンポーネントＡ〜Ｄを実行可能としてもよい。または、ノードによって実行できないコンポーネントが有る場合には、適宜、制約条件として定義してもよい。
【００２４】
図５は、本発明の実施の形態２にかかる遺伝的アルゴリズムによる配置パターンの探索処理の流れを示すフローチャートである。尚、以下の説明においてカウンタｉ及びｊは０に初期化されているものとする。
【００２５】
まず、情報処理装置１００の最適配置探索部１０１は、ユーザＵからＩｏＴシステム２００の構造データ及び制約条件の入力を受け付ける（Ｓ１０１）。図６は、本発明の実施の形態２にかかるノード群の階層構造と構造データの対応を示す図である。ここでは、構造データ３０１がＪＳＯＮ（JavaScript（登録商標） Object Notation）形式であるが、これに限定されない。また、制約条件としては、上述した図４に示すような、コンポーネントを実行する階層の深さや実行順序が挙げられる。
【００２６】
最適配置探索部１０１は、入力された構造データを解析し、各ノードに対応するオブジェクトを生成する（Ｓ１０２）。ここで、オブジェクトは、親ノード及び子ノードへのポインタ、ルートノードからの深さ、Ｎ個（Ｎは２以上の整数。）の染色体を備える。ここで、染色体とは、コンポーネント数（ここでは４）のサイズを持つ配列である。配列要素は、コンポーネントＡ〜Ｄの順序でそれぞれに対応し、各コンポーネントの実行有無を示す。そのため、染色体は、複数のコンポーネントの実行有無情報と呼ぶこともできる。図７は、本発明の実施の形態２にかかる構造データ３０１とオブジェクト３０２の対応を示す図である。ここで、各ノードのオブジェクト３０２の染色体には、ランダムに０又は１が埋められ、Ｎ個の染色体が生成される。
【００２７】
続いて、最適配置探索部１０１は、配置パターンを生成する（Ｓ１０３）。具体的には、最適配置探索部１０１は、ルートノードから深さ優先で各ノードの染色体を結合し、配置パターン３０３を生成する（図８）。そして、最適配置探索部１０１は、生成した配置パターンが制約条件を満たすか否かを判定する（Ｓ１０４）。制約条件を満たさない場合、最適配置探索部１０１は、生成した配置パターンを破棄し（Ｓ１０５）、ステップＳ１０３へ戻る。
【００２８】
ここで、当該判定としては、例えば、各ノードの染色体を幅優先でスタックしていき、制約条件に合致するか否かを判定することが挙げられる。但し、これに限定されない。例えば、図９、図１０及び図１１に示すように、１−＞５−＞７の経路で染色体がスタックされた際に、湿度センサＮ７におけるコンポーネントＣの実行前にコンポーネントＤを実行できない。そのため、当該配置パターンは制約条件を満たさず、破棄される。
【００２９】
その後、最適配置探索部１０１は、カウンタｉに１を加算する（Ｓ１０６）。そして、最適配置探索部１０１は、カウンタｉが染色体数Ｎであるか否かを判定する（Ｓ１０７）。カウンタｉが染色体数Ｎ未満の場合、ステップＳ１０３へ戻り、カウンタｉが染色体数Ｎの場合、ステップＳ１０８へ進む。
【００３０】
続いて、最適配置探索部１０１は、生成されたＮ個の配置パターンを評価する（Ｓ１０８）。すなわち、最適配置探索部１０１は、所定の評価尺度により適合度（第１の評価値）を算出する。
【００３１】
その後、最適配置探索部１０１は、Ｎ個の配置パターンに対して遺伝的アルゴリズムによる最適解を探索する（Ｓ１０９）。例えば、最適配置探索部１０１は、Ｎ個の配置パターンのうち２個を選択し、選択した配置パターンの間で交叉を行う。また、最適配置探索部１０１は、Ｎ個の配置パターンのうち１個を選択し、突然変異を行う。また、Ｎ個の配置パターンのうち１個を選択し、そのままコピーする。これにより、評価値が良いものが残り、悪いものが削除される。
【００３２】
そして、最適配置探索部１０１は、カウンタｊに１を加算する（Ｓ１１０）。そして、最適配置探索部１０１は、カウンタｊが最大世代数Ｇ（Ｇは１以上の整数。）であるか否かを判定する（Ｓ１１１）。カウンタｊが最大世代数Ｇ未満の場合、ステップＳ１０８へ戻り、カウンタｊが最大世代数Ｇの場合、ステップＳ１１２へ進む。
【００３３】
最適配置探索部１０１は、現世代の中で最も評価値の高い配置パターン（第１の最適配置パターン）を出力する（Ｓ１１２）。これにより、第１のノード群に対して第１の最適配置パターンに基づいて複数のコンポーネントを配置できる。
【００３４】
図１２は、本発明の実施の形態２にかかるノード追加予想時の配置パターン作成処理の流れを示すフローチャートである。以下の説明では、ＩｏＴシステム２００の所定のエッジ層のノードに対し、子ノードとしてデバイス層のノードを追加する場合を想定するものとする。尚、図１２の処理は、あくまでノード情報上での処理であり、現実のＩｏＴシステム２００のノードの追加削除は発生していないものとする。
【００３５】
まず、予想追加ノード配置パターン導出部１０２は、デバイス層にノードを追加する（Ｓ２０１）。これにより、第１のノード群に追加ノードを追加した場合の第２のノード群が生成される。次に、予想追加ノード配置パターン導出部１０２は、追加ノードの染色体として、当該追加ノードと同じ親ノードに属する他の子ノードの染色体をコピーする（Ｓ２０２）。そして、予想追加ノード配置パターン導出部１０２は、第２のノード群における仮の配置パターンを導出し、仮の配置パターンを評価する（Ｓ２０３）。すなわち、予想追加ノード配置パターン導出部１０２は、所定の評価尺度により仮の配置パターンにおける適合度（第２の評価値）を算出する。尚、第２の評価値の算出の仕方は、ステップＳ１０８と同様である。
【００３６】
続いて、予想追加ノード配置パターン導出部１０２は、追加前後の評価値の変化量（傾き）を算出する（Ｓ２０４）。すなわち、予想追加ノード配置パターン導出部１０２は、第１のノード群における第１の評価値と第２のノード群における第２の評価値とを比較して差分を算出する。そして、予想追加ノード配置パターン導出部１０２は、変化量が一定値以上減少しているか否かを判定する（Ｓ２０５）。言い換えると、予想追加ノード配置パターン導出部１０２は、第２の評価値が第１の評価値と比べて所定値以上悪化しているか否かを判定する。
【００３７】
変化量の減少が一定値未満の場合又は増加している場合、ステップＳ２０８へ進む。一方、変化量の減少が一定値以上の場合、予想追加ノード配置パターン導出部１０２は、第２のノード群における第２の最適配置パターンを導出する（Ｓ２０６）。尚、第２の最適配置パターンの導出の仕方は、ステップＳ１０９と同様である。
【００３８】
そして、予想追加ノード配置パターン導出部１０２は、追加ノード数及び親ノードのエッジとを、第２の最適配置パターンに対応付けて記憶装置（不図示）に保存する（Ｓ２０７）。予想追加ノード配置パターン導出部１０２は、追加ノード数が上限値を超えているか否かを判定する（Ｓ２０８）。追加ノード数が上限値を超えていない場合、ステップＳ２０１へ戻る。一方、追加ノード数が上限値を超えている場合、予想追加ノード配置パターン導出部１０２は、追加前後の配置パターンを出力する（Ｓ２０９）。
【００３９】
その後、運用管理部１０３は、ＩｏＴシステム２００におけるデバイス層のノードの実際の追加又は削除を監視する。そして、デバイス層のノードが実際に追加又は削除されたことを検出した場合、運用管理部１０３は、第１のノード群と比較した追加ノード数と、追加先のノードの親ノード（例えば、エッジ）とを特定する。そして、運用管理部１０３は、特定した追加ノード数と親ノードとに対応付けられた第２の最適配置パターンを記憶装置から読み出す。運用管理部１０３は、読み出した第２の最適配置パターンを、ノード追加後のＩｏＴシステム２００内の各ノードに対して適用する。つまり、運用管理部１０３は、第２の最適配置パターンに基づいて、ノード追加後のＩｏＴシステム２００内の各ノードに対してコンポーネントを配置する。
【００４０】
このように、本実施の形態により、組合せ数が膨大となるコンポーネントの配置を自動的に最適化できる。その上、ノードの増加に伴い、同様の配置では評価値が悪化する場合であっても、追加後のノード群における最適な配置パターンによりコンポーネントを配置できる。さらに、予想されるノードの追加に応じて予め最適な配置パターンを導出しておくことで、実際にノードが追加された場合に、追加数に応じた最適な配置パターンを適用することができる。
【００４１】
尚、本実施の形態は次のように表現することもできる。すなわち、前記導出部は、前記第１の最適配置パターンにおける第１の評価値を算出し、前記第２のノード群における前記複数のコンポーネントの仮の配置パターンを導出し、前記仮の配置パターンにおける第２の評価値を算出し、前記第２の評価値が前記第１の評価値と比べて所定値以上悪化している場合に、前記第２の最適配置パターンを導出する。これにより、再配置の必要性が高い場合に最適配置パターンに基づく再配置を行うことができ、不必要な再配置を抑制できる。
【００４２】
また、前記第１のノード群は、階層構造を有し、前記導出部は、前記追加ノードと同一の親ノードに属する他の子ノードにおける前記複数のコンポーネントの実行有無を示す実行有無情報を、前記追加ノードの実行有無情報として、前記仮の配置パターンを導出することが望ましい。これにより、仮の配置パターンを容易に導出でき、計算量を削減できる。
【００４３】
さらに、前記保存部は、前記第２の評価値が前記第１の評価値と比べて所定値以上悪化していない場合に、前記第１の最適配置パターンと前記追加ノードとを対応付けて前記記憶装置に保存するとよい。これにより、追加したノード数によらず、最適な配置パターンを特定することができる。
【００４４】
さらに、前記追加ノードは、デバイス層のノードであり、前記追加ノードの親ノードは、エッジ層のノードであることが望ましい。また、前記導出部は、遺伝的アルゴリズムに基づき前記導出を行うことが望ましい。
【００４５】
＜その他の実施の形態＞
なお、本発明は上記実施の形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。
【００４６】
また、上述の実施の形態では、本発明をハードウェアの構成として説明したが、本発明は、これに限定されるものではない。本発明は、任意の処理を、ＣＰＵ（Central Processing Unit）にコンピュータプログラムを実行させることにより実現することも可能である。
【００４７】
上述の例において、プログラムは、様々なタイプの非一時的なコンピュータ可読媒体（non-transitory computer readable medium）を用いて格納され、コンピュータに供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体（tangible storage medium）を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体（例えばフレキシブルディスク、磁気テープ、ハードディスクドライブ）、光磁気記録媒体（例えば光磁気ディスク）、ＣＤ−ＲＯＭ（Read Only Memory）、ＣＤ−Ｒ、ＣＤ−Ｒ／Ｗ、ＤＶＤ（Digital Versatile Disc）、ＢＤ（Blu-ray（登録商標） Disc）、半導体メモリ（例えば、マスクＲＯＭ、ＰＲＯＭ（Programmable ROM）、ＥＰＲＯＭ（Erasable PROM）、フラッシュＲＯＭ、ＲＡＭ（Random Access Memory））を含む。また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体（transitory computer readable medium）によってコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は無線通信路を介して、プログラムをコンピュータに供給できる。
【符号の説明】
【００４８】
１  情報処理装置
１１  導出部
１２  保存部
１３  配置部
１４  記憶装置
１４１  第２の最適配置パターン
１４２  追加ノード
Ｕ  ユーザ
１０００  コンポーネント配置システム
１００  情報処理装置
１０１  最適配置探索部
１０２  予想追加ノード配置パターン導出部
１０３  運用管理部
２００  ＩｏＴシステム
Ｎ１  サーバ
Ｎ２  エッジ
Ｎ３  温度センサ
Ｎ４  湿度センサ
Ｎ５  エッジ
Ｎ６  温度センサ
Ｎ７  湿度センサ
３０１  構造データ
３０２  オブジェクト
３０３  配置パターン
【図１】
2018151740.tif 000003
【図２】
2018151740.tif 000004
【図３】
2018151740.tif 000005
【図４】
2018151740.tif 000006
【図５】
2018151740.tif 000007
【図６】
2018151740.tif 000008
【図７】
2018151740.tif 000009
【図８】
2018151740.tif 000010
【図９】
2018151740.tif 000011
【図１０】
2018151740.tif 000012
【図１１】
2018151740.tif 000013
【図１２】
2018151740.tif 000014