JP2009282652A - 分散アプリケーションの配置先ノード選択支援システム、配置先ノード選択支援方法およびプログラム - Google Patents

分散アプリケーションの配置先ノード選択支援システム、配置先ノード選択支援方法およびプログラム Download PDF

Info

Publication number
JP2009282652A
JP2009282652A JP2008132662A JP2008132662A JP2009282652A JP 2009282652 A JP2009282652 A JP 2009282652A JP 2008132662 A JP2008132662 A JP 2008132662A JP 2008132662 A JP2008132662 A JP 2008132662A JP 2009282652 A JP2009282652 A JP 2009282652A
Authority
JP
Japan
Prior art keywords
network
software components
destination node
placement destination
software
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.)
Pending
Application number
JP2008132662A
Other languages
English (en)
Inventor
Akira Kataoka
章 片岡
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Yokogawa Electric Corp
Original Assignee
Yokogawa Electric Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Yokogawa Electric Corp filed Critical Yokogawa Electric Corp
Priority to JP2008132662A priority Critical patent/JP2009282652A/ja
Publication of JP2009282652A publication Critical patent/JP2009282652A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Stored Programmes (AREA)

Abstract

【課題】分散アプリケーションを構成する複数のソフトウェア部品について、各ソフトウェア部品の連携動作が適正に行われるように最適化された配置先ノードの選択支援を行う。
【解決手段】分散アプリケーションを構成する複数のソフトウェア部品A〜D…を、ネットワーク上の複数のハードウェアノード11〜14…の何れに配置すべきか候補を算出する分散アプリケーションの配置先ノード選択支援システムである。そして、一対のソフトウェア部品の間で行われる連携処理に要求される優先度と、複数のハードウェアのノード間を結ぶネットワーク経路ro1〜ro3…の通信処理上の優劣度とを求め、優先度の高い連携処理が通信処理上優良なネットワーク経路を介した通信により行われるように配置先ノードの候補を算出する。
【選択図】図1

Description

この発明は、分散アプリケーションを構成する複数のソフトウェア部品を、ネットワーク上の複数のハードウェアの何れのノードに配置すべきか候補を算出する分散アプリケーションの配置先ノード選択支援システム、配置先ノード選択支援方法、ならびに、これらに機能をコンピュータにより実現させるプログラムに関する。
プログラム動作する複数のソフトウェア部品を、ネットワーク接続された複数のハードウェアのコントローラなどに配置し、各ソフトウェア部品同士を連携させて複数のハードウェアを統合的に稼動させる分散アプリケーションシステムがある。このようなシステムは、例えば、工場生産設備において各種の測定器(例えば温度計、湿度計、圧力計、ヒータなど)や各種の駆動装置(例えばヒータをオン・オフする駆動スイッチ、流量を調整するバルブ駆動装置など)などを稼動制御するのに利用されたりする。
このような分散アプリケーションシステムにおいては、ソフトウェア部品は、測定器や駆動装置のコントローラ、ならびに、汎用の端末装置などの各ノードに配置される。そして、異なるノードに配置された複数のソフトウェア部品はネットワーク回線を介した通信により連携動作を行う。また、同一ノードに配置された複数のソフトウェア部品は、ノード上のメモリなどを介してメッセージ通信を行い、それにより連携動作を行う。
従来、分散アプリケーションを構成する各ソフトウェア部品についてその仕様情報に自らの動作要件を含めるようにした標準化技術が提案されている(例えば、非特許文献1)。この技術によれば、各ソフトウェア部品に、例えば、データファイルのリード/ライト、デジタルデータイン(DI)、デジタルデータアウト(DO)など、動作に必要なハードウェア構成などの動作要件を仕様情報として記しておくことができる。
ジュリア マッカーシー(Julia McCarthy)他、"ソリューション ディプロイメント ディスクリプター スペシフィケーション 1.0 コミッティ ドラフト 4(Solution Deployment Descriptor Specification 1.0 Committee Draft 4)"、 [online]、平成20年4月8日、OASIS、[平成20年5月7日検索]、インターネット〈URL:http://docs.oasis-open.org/sdd/v1.0/sdd-spec-v1.0.html〉
分散アプリケーションを利用したシステムを構成する場合、各ソフトウェア部品を動作要件の充足するハードウェアのノードに配置する必要がある。例えば、データファイルのリード/ライトを動作要件に含むソフトウェア部品であれば、ファイルシステムを有するハードウェアのノードに配置する必要があるし、DI/DOが動作要件に含まれるソフトウェア部品であれば、デジタルデータのインプット/アウトプットが行われるハードウェアのノードに配置する必要がある。
そこで、本発明者らは、分散アプリケーションを構成する複数のソフトウェア部品について、これらの配置先ノードを間違いなく選択できる配置先ノードの選択支援方法について検討した。その結果、上記のソフトウェア部品の仕様情報を記す標準化技術を有効に利用できると考えた。すなわち、図10に示すように、各ソフトウェア部品H〜Jの動作要件を記したソフトウェア部品リスト31と、ソフトウェア部品が配置される各ノードのハードウェア構成等の仕様情報を記したノード構成リスト32とをコンピュータに入力しておく。そして、このコンピュータ上でユーザが配置先ノードを決定したいソフトウェア部品H〜Jの何れかを選択すると、コンピュータがこのソフトウェア部品の仕様情報と各ノードの仕様情報とを照合し、ソフトウェア部品の動作要件を充足する配置先候補ノードをユーザに提示する。ユーザは、この中から当該ソフトウェア部品の配置先ノードを選択することで、図11に示すように、動作要件を充足したソフトウェア部品H〜Jの配置先ノード41〜43を決定することができる。
ところで、図10のソフトウェア部品リスト31や図11の構成図におけるソフトウェア部品Jの仕様情報に示すように、複数のソフトウェア部品の中には動作要件が寛容なものも存在する。例えば、ソフトウェア部品Jが計算ロジックのみを実装したものであれば、必要なメモリ領域さえ提供されれば動作が可能であり、その他の特別なハードウェア構成を動作要件として必要としない。
しかしながら、このように動作要件が寛容なソフトウェア部品をユーザが無造作に配置した場合、次のA,Bの課題が生じると考えられた。
A.2つのソフトウェア部品の間で頻繁なメッセージ通信が行われるような場合、これらのソフトウェア部品を通信帯域の小さな回線を挟んだ異なる2点のノードに配置すると、頻繁なメッセージ通信により通信帯域が占領されてしまい、他の通信と重なった場合に、通信遅延が生じたり、正常な通信が妨げられたりする可能性が生じる。
B.2つのソフトウェア部品の間で高い信頼性を要求される連携動作がなされる場合、これらのソフトウェア部品を例えばネットワーク経路上離れたノード(例えば多くのIPルータを経由するノード)に配置してしまうと、ネットワーク障害の影響を受ける確率が高くなったり、メッセージの到達遅延が生じたりするなど、連携動作の信頼性が低下してしまう。
この発明の目的は、分散アプリケーションを構成する複数のソフトウェア部品について、各ソフトウェア部品の連携動作がより適正に行われるように最適化の図られた配置先ノードを選択することのできる配置先ノードの選択支援システム、選択支援方法、また、コンピュータによりこれらの機能を実現させるプログラムを提供することにある。
上記目的を達成するため、請求項1記載の発明は、
分散アプリケーションを構成する複数のソフトウェア部品を、ネットワーク上の複数のハードウェアの何れのノードに配置すべきか候補を算出する分散アプリケーションの配置先ノード選択支援システムであって、
前記複数のソフトウェア部品のうち一対のソフトウェア部品の間で行われる連携処理に要求される優先度と、前記複数のハードウェアのノード間を結ぶネットワーク経路の通信処理上の優劣度とを求め、優先度の高い連携処理が通信処理上優良なネットワーク経路を介した通信により行われるように、前記複数のソフトウェア部品における一もしくは複数の配置先ノードの候補を算出することを特徴としている。
請求項2記載の発明は、請求項1記載の分散アプリケーションの配置先ノード選択支援システムにおいて、
前記複数のソフトウェア部品のうち動作要件から配置先ノードが一箇所に決定されるソフトウェア部品についてはこれらの配置先ノードに対応付け、
前記複数のソフトウェア部品のうち動作要件から配置先ノードが一箇所に決定されないソフトウェア部品について、前記連携処理に要求される優先度と前記ネットワーク経路の通信処理上の優劣度とに基づく配置先ノードの候補を算出することを特徴としている。
請求項3記載の発明は、請求項1記載の分散アプリケーションの配置先ノード選択支援システムにおいて、
配置先ノードの候補の算出対象となっている対象ソフトウェア部品について、該対象ソフトウェア部品と連携処理を行う複数のソフトウェア部品の中から、当該対象ソフトウェア部品との連携処理で優先度の高い処理を行いかつ配置先ノードが決定済みになっている重要連携先ソフトウェア部品を抽出する重要連携先抽出手段と、
前記対象ソフトウェア部品が配置可能な複数のノードと前記重要連携先ソフトウェア部品の配置先ノードとの間のネットワーク経路をそれぞれ抽出し、これらネットワーク経路の通信処理上の優劣度を比較する経路優劣度比較手段と、
この経路優劣度比較手段の比較により優良とされたネットワーク経路に対応するノードを前記対象ソフトウェア部品の配置先ノードの候補として算出する配置先候補算出手段と、
を備えていることを特徴としている。
請求項4記載の発明は、請求項3記載の分散アプリケーションの配置先ノード選択支援システムにおいて、
前記配置先候補算出手段は、
前記経路優劣度比較手段により優良と判断された側から複数のネットワーク経路に対応する複数のノードを、前記対象ソフトウェア部品の配置先ノードの候補リストとして算出し、
前記配置先ノードの候補リストが外部出力されることを特徴としている。
請求項5記載の発明は、請求項1記載の分散アプリケーションの配置先ノード選択支援システムにおいて、
前記複数のソフトウェア部品の連携関係が示された連携マップ情報、
前記複数のソフトウェア部品の各々について必要なハードウェア構成がそれぞれ示された第1ソフト仕様情報、
前記複数のソフトウェア部品の各々について各ソフトウェア部品により実行される連携通信の種類および属性が示された第2ソフト仕様情報、
前記複数のノードの各々について各ノードのハードウェア構成が示されたノード構成情報、
前記複数のハードウェアが接続されるネットワークのトポロジーおよびネットワークを構成する各回線の属性が示されたネットワーク仕様情報、
をそれぞれ入力するデータ入力手段を備え、
前記連携マップ情報、前記第1ソフト仕様情報、前記第2ソフト仕様情報、前記ノード構成情報、および、前記ネットワーク仕様情報に基づき、前記連携処理に要求される優先度と前記ネットワーク経路の通信処理上の優劣度とを求め、前記複数のソフトウェア部品の配置先ノードの候補を算出することを特徴としている。
請求項6記載の発明は、請求項5記載の分散アプリケーションの配置先ノード選択支援システムにおいて、
配置先ノードの候補の算出対象となっている対象ソフトウェア部品について、前記連携マップ情報に基づき当該対象ソフトウェア部品と連携処理を行う連携先のソフトウェア部品を抽出する連携先抽出手段と、
前記第2ソフト仕様情報や前記連携マップ情報に示される連携通信の設定パラメータに基づいて、前記対象ソフトウェア部品と各連携先との間で行われる各連携通信の優先度に関する重み付けを行う連携重み付け演算手段と、
前記連携重み付け演算手段により高い重み付けに算出された連携通信を行う連携先のソフトウェア部品で、既に配置先ノードが決定されているソフトウェア部品の配置先ノードを、重要連携先ノードとして抽出する重要連携先抽出手段と、
前記ネットワーク仕様情報に基づいて、前記対象ソフトウェア部品を配置可能な複数のノードと前記重要連携先ノードとの間のネットワーク経路を抽出する経路抽出手段と、
前記ネットワーク仕様情報に基づき前記経路抽出手段により抽出された各ネットワーク経路の通信処理上の優劣度に関する重み付けを行って優劣度を比較する経路優劣度比較手段と、
前記経路優劣度比較手段の比較により優良と判断された方のネットワーク経路に対応するノードを前記対象ソフトウェア部品の配置先ノードの候補として算出する配置先候補算出手段と、
を備えていることを特徴としている。
請求項7記載の発明は、
分散アプリケーションを構成する複数のソフトウェア部品を、ネットワーク上の複数のハードウェアの何れのノードに配置すべきか、コンピュータが候補を算出する分散アプリケーションの配置先ノード選択支援方法であって、
前記コンピュータが、前記複数のソフトウェア部品の連携関係が示された連携マップ情報、前記複数のソフトウェア部品の各々について必要なハードウェア構成がそれぞれ示された第1ソフト仕様情報、前記複数のソフトウェア部品の各々について各ソフトウェア部品により実行される連携通信の種類および属性が示された第2ソフト仕様情報、前記複数のノードのハードウェア構成が示されたノード構成情報、前記複数のハードウェアが接続されるネットワークのトポロジーおよびネットワークを構成する各回線の属性が示されたネットワーク仕様情報を、それぞれ外部入力するデータ入力ステップと、
前記コンピュータが、前記データ入力ステップにより入力された情報に基づいて、前記複数のソフトウェア部品のうち一対のソフトウェア部品の間で行われる連携処理に要求される優先度と、前記複数のハードウェアのノード間を結ぶネットワーク経路の通信処理上の優劣度とを算出する算出ステップと、
前記コンピュータが、前記算出ステップにより算出された前記連携処理に要求される優先度と前記ネットワーク経路の通信処理上の優劣度とに基づいて、優先度の高い連携処理が通信処理上優良なネットワーク経路を介した通信により行われるように、前記複数のソフトウェア部品の配置先ノードの候補を算出する配置先候補算出ステップと、
を有することを特徴としている。
請求項8記載の発明は、
分散アプリケーションを構成する複数のソフトウェア部品を、ネットワーク上の複数のハードウェアの何れのノードに配置すべきか候補を算出させるためのプログラムであって、
コンピュータに、
前記複数のソフトウェア部品の連携関係が示された連携マップ情報、前記複数のソフトウェア部品の各々について必要なハードウェア構成がそれぞれ示された第1ソフト仕様情報、前記複数のソフトウェア部品の各々について各ソフトウェア部品により実行される連携通信の種類および属性が示された第2ソフト仕様情報、前記複数のノードのハードウェア構成が示されたノード構成情報、前記複数のハードウェアが接続されるネットワークのトポロジーおよびネットワークを構成する各回線の属性が示されたネットワーク仕様情報を外部から入力するデータ入力機能と、
前記データ入力機能により入力された情報に基づいて、前記複数のソフトウェア部品のうち一対のソフトウェア部品の間で行われる連携処理に要求される優先度と、前記複数のハードウェアのノード間を結ぶネットワーク経路の通信処理上の優劣度とを算出する算出機能と、
前記算出機能により算出された前記連携処理に要求される優先度と前記ネットワーク経路の通信処理上の優劣度とに基づいて、優先度の高い連携処理が通信処理上優良なネットワーク経路を介した通信により行われるように、前記複数のソフトウェア部品の配置先ノードの候補を算出する配置先候補算出機能と、
を実現させることを特徴としている。
本発明に従うと、ソフトウェア部品間で行われる連携処理の優先度とネットワーク経路の通信処理上の優劣度とが考慮されて、ソフトウェア部品の配置先ノードの候補が算出されるので、候補の中からソフトウェア部品の配置先ノードを選択することで、例えば高い信頼性を必要としたり通信量が非常に多いなど優先度の高い連携処理が優良なネットワーク経路を介した通信により実行されるように各ソフトウェア部品を配置することができるという効果がある。また、このようなソフトウェア部品の配置によって分散アプリケーションシステムの全体的な動作の安定性の向上が図れるという効果がある。
以下、本発明の実施の形態を図面に基づいて説明する。
[第1実施形態]
図1は、分散アプリケーションケーションシステムのソフトウェア部品構成とハードウェア構成の一例を示した説明図、図2は、本発明の第1実施形態の配置先ノード選択支援システムの全体を示した構成である。
第1実施形態の配置先ノード選択支援システム100は、分散アプリケーションを構成する複数のソフトウェア部品を、ネットワーク接続された複数のハードウェアのうち適切なノードにユーザが配置していくために、各ソフトウェア部品の配置先候補ノードのリストをユーザに提示するシステムである。
この実施形態において、分散アプリケーションは、例えば、工場生産設備等が各ハードウェアに配置されて実行されるものが対象となる。工場生産設備等においては、各種の計測器(例えば温度計、湿度計、流量計など)や、各種の駆動装置(例えばヒータの駆動スイッチや流量調整を行うバルブアクチュエータなど)、ならびに、汎用の端末装置などが、通信回線を介してネットワーク接続され、これら計測器のコントローラ、駆動装置のコントローラ、および端末装置に各種のソフトウェア部品が配置される。すなわち、ソフトウェア部品が各ハードウェアのコントローラにロードされコントローラ内部のCPU(中央演算処理装置)により実行される。異なるノードに配置された複数のソフトウェア部品は、ネットワークを介したデータ通信により連携動作し、また、同一ノードに配置された複数のソフトウェア部品はメモリを介したメッセージ通信などを介して連携動作するように構成される。そして、これらの連携動作によって分散アプリケーションによる設備の稼動制御が実現される。
図1に単純化した構成例を示すように、分散アプリケーションは、例えば、複数のソフトウェア部品A〜Dにより構成され、各ソフトウェア部品A〜Dには、動作に必要なハードウェア構成が動作要件として指定されている。例えば、ソフトウェア部品C,Dは特定のデジタルデータイン・アウト(DI1,DO1,DI2,DO2)を動作要件とし、また、ソフトウェア部品Aは任意のファイルリード/ライトを動作要件としている。また、ソフトウェア部品Bはメモリ領域のみを動作要件としている。このように、ソフトウェア部品A〜Dには、動作要件が限定されたものや、動作要件に寛容なものが存在する。
分散アプリケーションを構成する複数のソフトウェア部品は、ユーザ設計等に応じて連携して動作するように構成される。図1の例では、例えば、ソフトウェア部品AはソフトウェアB,Cと連携動作を行い、ソフトウェア部品Bはソフトウェア部品A,C,Dと連携動作するように設計されている。各連携動作は、各ソフトウェア部品が異なるノードに配置された場合にはネットワーク回線を介した通信により実行され、各ソフトウェア部品が同一ノードに配置された場合にはメモリを介したメッセージ通信により実行される。
各ソフトウェア部品が配置されるノード11〜14は、ネットワーク接続された各種ハードウェアのコントローラなどが対象となる。例えば、計測器のデータを入力するDIポートや駆動装置にデータ出力を行うDOポートなどを有するノード13,14、データファイルの読み書きを行うファイルシステム(FS1,FS2)を有するノード11,12など、種々のハードウェア構成を有するものが対象となる。各ノード11〜14は、例えば、各種のネットワーク機器(例えばルータやネットワークスイッチなど)を介して有線又は無線によりネットワーク接続されている。
この実施の形態の配置先ノード選択支援システム100は、汎用のコンピュータに配置先ノード選択支援機能を実現させるプログラムを実行させてなるものである。この配置先ノード選択支援システム100は、図2に示すように、CPU(中央演算処理装置)61、CPU61に作業用のメモリ空間を提供するメモリ62、ユーザからの操作入力やデータ入力を行う入力部63、表示出力や印字出力を行う出力部64、CPU61が実行するプログラムが格納された記憶装置65、入力データが蓄えられるデータベース(67,68)等を備えている。上記のプログラムは、コンピュータに配置先ノード選択支援システムとしての機能を実現させるもので、コンピュータが読み取り可能な記憶媒体66に格納されている。記憶媒体66は、例えば、光ディスク等の河搬型記憶媒体、フラッシュメモリ等の不揮発性メモリ、ROM(Read Only Memory)等を適用することが可能である。また、本発明に係るプログラムを通信回線を介して提供する媒体としてキャリアウェーブ(搬送波)も適用できる。
この実施形態の配置先ノード選択支援システム100は、データ入力機能を有し、ユーザの操作入力に従って、所定のデータロードおよびデータファイルの読み込み等を行い、配置先ノードの選択支援に必要なデータベースを構築することが可能になっている。
ここで構築されるデータベースは、分散アプリケーションのソフトウェア構成に関するデータが蓄えられるアプリケーション構成DB(データベース)67と、ハードウェアやネットワークの構成に関するデータが蓄えられるハードウェア・ネットワーク構成DB68である。
アプリケーション構成DB67には、各ソフトウェア部品に関する情報が格納されるソフトウェア部品情報リスト67Aと、各ソフトウェア部品の配置先ノードが決定するたびにこの配置先ノードの情報が格納される配置先ノード情報67Bが含まれる。
上記ソフトウェア部品情報リスト67Aは、各ソフトウェア部品の仕様情報と、ユーザが設計した分散アプリケーションの各ソフトウェア部品の連携関係等を示した連携マップ情報とを有する。ソフトウェア部品の仕様情報には、例えば、各ソフトウェア部品が必要とするハードウェア構成を表わした動作要件、各ソフトウェア部品により実行される通信の種類や属性の情報が含まれる。通信種類の情報には、例えば、通信内容、通信方式の情報などが含まれ、通信の属性情報には、通信データ長、通信頻度、要求される通信条件(例えば要求メッセージ到達時間、要求レスポンス時間など)等の情報が含まれる。これらソフトウェア部品の仕様情報は、例えば、ソフトウェア部品を開発するソフトウェアベンダーにより提供され、システム100にロードさせるものである。
連携マップ情報は、各ソフトウェア部品の全体的な連携関係を示す情報(例えば各ソフトウェア部品が何れのソフトウェア部品と連携しているかを示す情報など)、連携処理で実行される通信処理のパラメータ(例えばユーザ指定のポーリング通信の周期パラメータ、要求メッセージ到達時間、要求レスポンス時間など)、ユーザにより指定されるソフトウェア部品の配置先ノードの情報などを有する。これらの連携マップ情報は、例えば、ユーザが作成してシステム100に入力するものである。
ハードウェア・ネットワーク構成DB68には、ソフトウェア部品が配置可能な各ノードの情報が格納されるノード情報リスト68Aと、ネットワーク構成が格納されるネットワーク接続構成情報68Bとが含まれる。
ノード情報リスト68Aは、各ノードの仕様情報として各ノードのハードウェア構成(例えば第1ノード11はファイルシステムFS1とメモリ領域32MBを有しているなど)を表わした情報を有する。ネットワーク接続構成情報68Bは、ネットワークの全体的な接続構造を表わしたネットワークトポロジーの情報と、ネットワークを構成する各回線の属性(例えば通信帯域や通信方式など)の情報を有する。これらのノード情報リスト68Aとネットワーク接続構成情報68Bとは、例えば、ユーザが作成してシステム100に入力するものである。
つぎに、上記構成の配置先ノード選択支援システム100により実行される、ソフトウェア部品の配置先ノードの選択支援処理について説明する。
図3は、CPU61により実行されるソフトウェア部品の配置先ノードの選択支援処理の処理手順を示すフローチャートである。
このソフトウェア部品の配置先ノードの選択支援処理は、上述のデータ入力が完了している状態でユーザが配置先ノード選択支援システム100に選択支援処理の実行指令を入力することで開始される。この処理が開始されると、まず、ステップS1において、CPU61は、ソフトウェア構成データベース67からソフトウェア部品情報リスト67Aを読み出して、配置先ノードが未設定になっているソフトウェア部品のリストを作成して出力部64に表示出力する。
分散アプリケーションを構成する複数のソフトウェア部品の中には、ソフトウェア部品情報リスト67Aの連携マップ情報により既に配置先ノードがユーザにより指定されているものがある。この指定データは、例えば、配置先ノード情報67Bに格納される。また、各ソフトウェア部品の動作要件とハードウェア構成とから配置先が一意に決まるものもある。従って、CPU61は、最初の段階で、ソフトウェア部品情報リスト67Aとノード情報リスト68Aとから、ソフトウェア部品の配置先ノードが一意に決まるものを抽出し、一意に決まるものがあれば、該当するソフトウェア部品の配置先ノードをそこに決定し、これらの配置先ノードの情報を配置先ノード情報67Bに格納する。そして、ステップS1において、配置先ノードの決まっていないソフトウェア部品についてのみ抽出してリスト表示を行う。
ステップS1で配置先ノードの決まっていないソフトウェア部品のリスト表示を行ったら、続くステップS2において、ユーザにリスト内から配置先ノードの選択支援の対象となる対象ソフトウェア部品の選択を行わせる。ユーザは、入力部63を介した操作入力によりこの選択処理を行う。そして、対象ソフトウェア部品が選択されたら、CPU61は、このソフトウェア部品に関する情報をソフトウェア部品情報リスト67Aから抽出して、配置したいソフトウェア部品情報81としてメモリ62に内部記憶する。配置したいソフトウェア部品情報81には、対象ソフトウェア部品の識別子、その動作要件、連携関係にある他のソフトウェア部品の識別子、連携通信の種類や属性の情報、連携通信のパラメータなどの情報が含まれる。
次いで、ステップS3において、CPU61は、ハードウェア・ネットワーク構成DB68からノード情報リスト68Aを読み出し、かつ、上記の配置したいソフトウェア部品情報81に抽出した動作要件の情報と照合して、ステップS2で選択された対象ソフトウェア部品について、動作要件を充足しているノードの一覧リストを作成する。一覧リストを作成したら、これを配置先候補ノードリスト82としてメモリ62に内部記憶する。配置先候補ノードリスト82には、対象ソフトウェア部品が配置可能な動作要件を充足したノードを表わす1個又は複数のノード識別子がリスト形式で格納される。
ここで、図1の例を参照しながら、配置先候補ノードリスト82の作成処理について詳述する。図1の分散アプリケーションの構成においてソフトウェア部品Bが配置先の選択対象になっているとする。この場合、ソフトウェア部品Bの動作要件は、32MBのメモリ空き領域だけなので、ハードウェア構成のうち第1〜第3ノード11〜13がこの動作要件を充足する。従って、これら第1〜第3ノード11〜13が配置先候補ノードとなる。ここで、第2ノード12や第3ノード13は、ソフトウェア部品A,Cの動作要件とそのハードウェア構成等から、ソフトウェア部品A,Cの配置先ノードとして既に決定されている。しかしながら、ソフトウェア部品は、同一ノードに複数配置されることも可能なので、これらの第2ノード12や第3ノード13もソフトウェア部品Bの配置先候補ノードとして抽出される。なお、1つのノードに或るソフトウェア部品が既に配置済みとなっている場合には、当該ノードのメモリ空き容量は、元の空き容量からそのソフトウェア部品が使用するメモリ容量分だけ差し引いて扱うようにされる。
配置先候補ノードリスト82が作成されたら、つぎに、ステップS4において、CPU61は、ハードウェア・ネットワーク構成DB68からネットワーク接続構成情報68Bを読み込んで、対象ソフトウェア部品の連携動作の優先度とネットワーク経路の優劣度を考慮した配置先候補ノードの適性度をそれぞれ算出する。そして、この適性度の高い順で、配置先候補ノードリスト82をソートして、配置先候補ノード適性度順ソートリスト83を作成する。そして、このリスト83をメモリ62に内部記憶し、さらに、これを出力部64を介して表示出力する。この配置先候補ノード適性度順ソートリスト83の出力により、対象ソフトウェア部品について優先度の高い連携動作がより優良なネットワーク経路を介して実行できる順番で、複数の配置先候補ノードが提示されることとなる。なお、このステップS4の処理については、図4のフローチャートを用いて後に詳述する。
配置先候補ノード適性度順ソートリスト83を出力したら、続いて、ステップS5において、CPU61は、ユーザからの選択入力処理を行う。ユーザは、配置先候補ノード適性度順ソートリスト83の表示出力を見ながら、対象ソフトウェア部品の配置先ノードを選択操作する。ユーザは、配置先候補ノード適性度順ソートリスト83を頼りに、優先度の高い連携動作がより優良なネットワーク経路を介して実行されるように、対象ソフトウェア部品について適性度の高い配置先ノードの選択処理を行うことができる。
配置先ノードが選択されたら、ステップS6において、CPU61は、この配置先ノードの情報を対象のソフトウェア部品と対応づけて配置先ノード情報67Bに格納する。そして、1回のソフトウェア部品の配置先ノードの選択支援処理を終了する。ユーザは、このような選択支援処理を複数回繰り返すことで、複数のソフトウェア部品の各々について配置先ノードを適宜決定していくことができる。
図4には、図3のステップS4で実行される「配置先候補ノード適性度順ソートリスト作成・表示処理」の詳細なフローチャートを示す。また、図5には、図4のステップS11,S12の処理で使用される通信処理の内容に応じた信頼性要求レベルの一例を示した対応表を、図6には、通信処理の内容をより細分化した場合の信頼性要求レベルの一例を示した対応表を、それぞれ示す。
上述の配置先ノードの選択支援処理(図3)においてステップS4の処理に移行すると、CPU61は、次にステップS11〜S17の処理によって、配置先ノードの選択対象になっている対象ソフトウェア部品について、配置先候補ノードが適性度順に示される配置先候補ノード適性度順ソートリスト83を作成し、表示出力するようになっている。
すなわち、ステップS11に移行すると、CPU61は、先のステップS2(図3)でメモリ62に内部記憶した、配置したいソフトウェア部品情報81から、対象ソフトウェア部品についての連携関係の情報をリスト抽出する(連携先抽出手段)。そして、これらをまとめて連携情報リスト85としてメモリ62に内部記憶する。図1の例では、配置先ノードの選択対象になっている対象ソフトウェア部品Bについて、連携先であるソフトウェア部品A,C,Dとの各種の連携情報“B−D”,“B−A”,“B−C”が抽出される。
連携情報リスト85には、例えば、次のようなデータが含まれる。
1.連携先ソフトウェア部品の情報
対象ソフトウェア部品と連携関係にある別のソフトウェア部品を識別する情報である。図1の例では、対象ソフトウェア部品Bについて、このソフトウェア部品Bと連携関係にある、ソフトウェア部品A,C,Dを示す識別子データが該当する。
2.各連携動作の連携信頼性要求レベル
対象ソフトウェア部品により実行される各連携動作について、要求される信頼度の度合いをそれぞれ表わしたデータである。例えば、図5の表に示すように、予め、通信内容とそれに要求される信頼度の要求レベル値とを対応づけておき、ソフトウェア部品仕様情報に含まれる通信種類のデータにより示される通信内容の情報と上記の要求レベルの対応表とから、対象ソフトウェア部品の各連携動作に対して要求レベル値をそれぞれ割り当て、これを各連携動作の連携信頼性要求レベルのデータとして抽出する。例えば、連携動作がアラーム通知通信であれば、信頼性要求レベルは高い値“3”となり、デバッグメッセージ通信であれば信頼性要求レベルは低い値“1”となる。
また、図6の表に示すように、ソフトウェア部品仕様情報に含まれる通信内容の情報や連携マップ情報に含まれる通信パラメータの情報等に基づいて、より詳細な信頼性要求レベルを割り付けるようにしてもよい。例えば、連携動作がアラーム通知通信の場合でも、ユーザ指定の要求メッセージ到達時間の設定値に応じて信頼性の要求レベル値を“5”,“4”,“2”と段階づけたり、収集データの保存要求通信や定周期のポーリング通信の場合でも、ユーザ指定の要求レスポンス時間の設定値に応じて要求レベル値を段階づけたりすることもできる。これら連携動作の内容や通信パラメータと要求レベル値との対応関係は、一般的に要求される信頼性の高低に応じて予め定めておいてもよいし、ユーザにより設定可能なようにしてもよい。
3.連携動作の仕様情報
ソフトウェア部品仕様情報の通信の属性情報に含まれるもので、通信プロトコル形態(例えば定周期ポーリングやイベント通知など)や、通信量算出情報(メッセージ発生頻度算出ロジックの情報や1メッセージのデータ長算出ロジックの情報など)などが該当する。
4.連携パラメータ設定値
ソフトウェア部品仕様情報や連携マップ情報にユーザ指定のパラメータ値として含まれるもので、ポーリング周期、ポーリング問い合わせアイテム数、イベントを発生させる監視対象についての情報(イベントソース情報)、イベント予想発生頻度を算出可能とするイベントキューイング規則の設定パラメータなどが該当する。
なお、これらの連携情報リスト85には、対象ソフトウェア部品が主となって連携先のソフトウェア部品が従属して実行される連携動作に係る情報のみでなく、連携先のソフトウェア部品が主となって対象ソフトウェア部品が従属して実行される連携動作に係る情報も格納される。
上記のような連携情報リスト85を抽出したら、つぎに、ステップS12において、CPU61は、この連携情報リスト85を用いて各連携動作について重要度の指標値を求める演算処理を行う(連携重み付け演算手段)。さらに、求めた重要度の指標値に基づいて各連携動作を重要度の高い順に並べ変える処理(ソート処理)を行う。そして、最も重要度の高い連携動作についての情報を最重要連携情報86としてメモリ62に内部記憶する。
先ず、各連携動作の重要度の指標値を求める演算処理について、単純な詳細例を用いて説明する。この詳細例では、重要度の指標値として、例えば、1.連携信頼性要求レベル値、2.連携先ソフトウェア部品の処理内容の重要度を表わすレベル値、3.各連携動作の単位時間当たりの通信量を算出する。
1.連携信頼性要求レベル値
連携信頼性要求レベル値は、ステップS11で連携情報リスト85を作成する際に図5や図6の対応表から得られた値をそのまま適用することができる。
2.連携先ソフトウェア部品の処理内容の重要度を表わすレベル値
連携先ソフトウェア部品の処理内容の重要度を表わすレベル値は、例えば、ソフトウェア部品仕様情報に含まれる通信種類の情報や、連携マップ情報に示される各ソフトウェア部品の処理内容の情報に基づいて、CPU61が連携先ソフトウェア部品の処理内容に応じたレベル値を求める。レベル値は、各処理内容と重要度レベル値との対応表を用意しておき、CPU61がこれを照合することで求めたりする。或いは、連携マップ情報に、各ソフトウェア部品が行う処理内容とともに重要度のレベル値もユーザが指定できるようにしておき、CPU61が連携先ソフトウェア部品に対応するこのレベル値を抽出して、これを連携先ソフトウェア部品の処理内容の重要度を表わすレベル値として適用することもできる。
具体的には、連携先のソフトウェア部品が、例えば、設備緊急停止スイッチの押下検出の処理を行っている場合などに、通信種類の情報或いは連携マップ情報にこの処理内容を表わす情報を含めておくか、或いは、連携マップ情報にこの処理内容に対応する重要度レベル値を指定しておくことで、CPU61がこれらの情報から、連携先ソフトウェア部品の処理内容の重要度を示すレベル値を求める。
3.各連携動作の単位時間当たりの通信量
各連携動作の単位時間当たりの通信量は、ソフトウェア部品仕様情報に含まれる通信属性の情報や、連携マップ情報に含まれるユーザ指定の通信パラメータの情報等から、CPU61が演算処理を行って算出する。次に、定周期ポーリングの場合と、イベント通知の場合の算出例を示す。なお、これらの場合には、通信量の多い方が重要度が高いものとする。
<定周期ポーリングの通信量算出例>
連携動作の通信種類の情報として定周期ポーリングが示されている場合、まず、通信属性の情報やユーザ指定の通信パラメータ値にあるポーリング周期の設定値からメッセージの発生頻度を算出する。つぎに、ポーリング問い合わせアイテム数の設定値や、各メッセージのデータ長算出ロジックの情報から、リクエストやレスポンスの全メッセージのデータ長を算出する。そして、これらのメッセージ発生頻度とメッセージのデータ長とを乗算して、単位時間当たりの通信量を算出する。
<イベント通知の場合の通信量算出例>
連携動作の通信種類の情報としてイベント通知が示されている場合、先ず、上記の連携動作の仕様情報に含まれる各メッセージのデータ長算出ロジックの情報から各イベントメッセージのデータ長を算出する。また、上記の連携パラメータ設定値の情報から対象の連携動作に係るイベントソース数を読み出す。さらに、連携動作の仕様情報に含まれるメッセージ発生頻度の算出ロジックの情報からイベント予想発生頻度を算出する。そして、これら1イベントメッセージデータ長、イベントソース数、イベント予想発生頻度をそれぞれ乗算して、単位時間当たりの通信量を算出する。
このように、CPU61は、連携情報リスト85の情報に基づいて、対象ソフトウェア部品の各連携動作についての重要度の指標値(例えば、連携信頼性要求レベル値、連携先ソフトウェア部品処理内容重要度レベル値、各連携動作の単位時間当たりの通信量など)を算出することができる。
上記のような各連携動作の重要度の指標値を演算したら、CPU61は、つぎのようにして、対象ソフトウェア部品の各連携動作について重要度順にソートする処理を行う。すなわち、上記算出した連携信頼性要求レベル値、連携先ソフトウェア部品処理内容重要度レベル値、各連携動作の単位時間当たりの通信量を、それぞれ別々のソートキーとして割当てる。各ソートキーは、より重要度に影響を与える指標を第1優先ソートキーとし、重要度に与える影響が小さくなる順番でソートキーの優先番号を低くしていく。上記の詳細例の場合には、重要度に与える影響が一番大きい連携信頼性要求レベル値を第1優先ソートキーとし、二番目に影響の大きな連携先ソフトウェア部品処理内容重要度レベル値を第2優先ソートキーとし、三番目に影響の大きな単位時間当たりの通信量を第3優先ソートキーとする。そして、これらの第1優先ソートキー〜第3優先ソートキーの各指標値に応じて、重要度の高い順に各連携動作について並べ変えを行う。
その結果、例えば、第1優先ソートキーの連携信頼性要求レベル値が、1つの連携動作だけ高い値になっていれば、この連携動作がソート処理によりリストの最上位に来る。また、第1優先ソートキーの連携信頼性要求レベル値が、複数の連携動作で同値になっていれば、第2優先ソートキーの指標値の高いものがリストの上位にソートされる。また、第2優先ソートキーの指標値も同値であれば、第3優先ソートキーの指標値の高いものがリストの上位にソートされる。
そして、ステップS12において、上記のソート処理の結果、リストの最上位の連携動作を示す情報が、CPU61に読み出されて最重要連携情報86としてメモリ62に内部記憶される。
最重要連携情報86を抽出したら、次に、CPU61はステップS13に移行して、この最重要とされた連携動作を行う連携先のソフトウェア部品を示す情報を取得する。その際、連携情報リスト85等から、この最重要の連携先ソフトウェア部品に関する情報を抽出して連携先ソフトウェア部品情報87としてまとめておく。そして、この連携先ソフトウェア部品情報87から、この最重要の連携先ソフトウェア部品が配置される配置先ノードを示す情報を取得し、連携ソフトウェア部品配置先ノード情報88としてメモリ62に内部記憶する。上記のステップS12,S13の処理ステップにより重要連携先抽出手段が構成される。
なお、ソフトウェア部品の配置先ノードは、大半がその動作要件と各ノードのハードウェア構成とから、或いは、連携マップ情報に示されるユーザによる配置先ノードの設定データから一意に決定されるため、多くの場合において、最重要の連携先ソフトウェア部品は既に配置先ノードが決まった状態にある。
しかしながら、最重要の連携先ソフトウェア部品の配置先ノードが未決定である場合もあるため、その場合には、次のような例外処理を行うようにしてもよい。例えば、最重要連携先ソフトウェア部品の配置先ノードが未決定であった場合、ユーザに「他のソフトウェア部品の配置先を先に決定してください」、或いは、「次のソフトウェア部品(最重要の連携先ソフトウェア部品)の配置先を先に決定してください」等のメッセージ出力を行って、現在選択されている対象ソフトウェア部品の配置先ノード選択支援処理を中止する。または、最重要の連携先ソフトウェア部品の配置先ノードが未決定であった場合、ステップS12に戻って、重要度順にソート処理した連携情報リストの中から、次に重要度の高い位置に登録されている連携動作の情報を最重要連携情報86に書き換えて、ステップS13に移行する。このような例外処理により、ステップS13において最重要の連携先ソフトウェア部品についての配置先ノードが取得される。
最重要の連携先ソフトウェア部品の配置先ノードが取得されたら、CPU61はステップS14に移行して、次のような処理を行う。まず、ネットワーク接続構成情報68Bからネットワークトポロジーの情報を読み込み、さらに、ステップS3(図3)の処理で抽出した配置先候補ノードリスト82と、上記の連携ソフトウェア部品配置先ノード情報88とを参照して、最重要連携先ソフトウェア部品の配置先ノードと、対象ソフトウェア部品の複数の配置先候補ノードとの間の各ネットワーク経路を示す情報を抽出する(経路抽出手段)。そして、これらの情報をまとめてネットワーク経路情報リスト89としてメモリ62に内部記憶する。
なお、分散アプリケーションシステムにおいては、複数のソフトウェア部品を同一ノードに配置することが可能なので、上記のネットワーク経路を示す情報には、最重要連携先ソフトウェア部品の配置先ノードと対象ソフトウェア部品の配置先候補ノードとが、同一ノードとされる場合のものも含まれる。この場合のネットワーク経路を示す情報は、例えば、経路回線や経路途中の中継ノードがゼロのネットワーク経路と表わされたりする。
ここで、図1の例を参照しながら、上記のネットワーク経路の抽出処理の具体例を説明する。配置先ノードの選択対象となって対象ソフトウェア部品Bに対して、最重要の連携先がソフトウェア部品Cとされ、このソフトウェア部品Cの配置先ノードが動作要件等から第3ノード13に決定されている場合を説明する。この場合、対象ソフトウェア部品Bの配置先候補ノードとしては、動作要件等から第1〜第3ノード11〜13があるので、ステップS14の処理で抽出されるネットワーク経路は、第3ノード13と第1〜第3ノード11〜13とを結ぶ3つの経路となる。すなわち、両ソフトウェア部品B,Cが同一の第3ノード13に配置される場合の第1のネットワーク経路(経路ゼロ)ro1と、第3ノード13からネットワークスイッチ23を介して第2ノード12に到達する第2のネットワーク経路ro2と、第3ノード13からネットワークスイッチ23とルータ21とネットワークスイッチ22とを介して第1ノード11に到達する第3のネットワーク経路ro3である。
ネットワーク経路の抽出とこれらに関する経路情報リスト89が作成できたら、続くステップS15において、CPU61は、各ネットワーク経路のネットワーク経路コストを算出する。そして、この算出結果を、ネットワーク経路コスト情報リスト90としてメモリ62に内部記憶する。
ここで、各ネットワーク経路についてのネットワーク経路コストの算出処理の具体例を、各連携機能がIP(Internet Protocol)ネットワーク経由の通信を利用している場合の単純な構成例を用いて説明する。このような構成の場合、次の1.最低回線容量や2.経路ホップ数を、ネットワーク経路コストとして算出することができる。
1.経路途中の最低回線容量
対象のネットワーク経路を構成する0個〜複数の回線の属性情報から、各回線の回線容量(bps:Bit par Second)を抽出し、その中で最も低い回線容量を、このネットワーク経路の最低回線容量として算出する。
2.ネットワーク経路ホップ数
対象のネットワーク経路上にある全ての中継ノードや回線について、信頼性低下につながる作用について、その度合いに応じた点数を加算していき、これらの点数の合計を経路ポップ数として演算する。例えば、中継ノードの種別がレイヤ2のネットワークスイッチであれば1点加算、IPルータ機器であれば2点加算、WAN経由であれば10点加算などである。経路ホップ数はその数が大きくなるほど、ネットワーク経路の信頼性が低いことを表わす。
経路コストを算出してネットワーク経路コスト情報リスト90が作成されたら、つぎにステップS16において、CPU61は、この経路コスト情報リスト90を、経路コストが低い順になるようにソート処理する。これらステップS15,S16の経路コストに関わる処理により経路優劣度比較手段が構成される。さらに、このソート処理と同様に配置先候補ノードリスト82の並べ変えを行って、ネットワーク経路の経路コストが低い順になるように配置先候補ノードをソートする。そして、これを配置先候補ノード適性度順ソートリスト83としてメモリ62に内部記憶する。
ネットワーク経路コスト情報リスト90のソート処理は、例えば、次のようにして行われる。すなわち、ネットワーク経路コストのデータのうち、最低回線容量を第1優先ソートキー、経路ホップ数を第2優先ソートキーとし、各ソートキーの値が優良を表わすほうから順に並ぶようにソート処理を行う。これにより、ネットワーク経路コスト情報リスト90や配置先候補ノードリスト82が、対応するネットワーク経路の最低回線容量の大きい順に、また、回線容量が同一の場合には経路ホップ数が低い順に並び変えられる。
図1の例の場合、最重要連携先ソフトウェア部品Cの配置先ノードが第3ノード13であるので、第3ノード13と配置先候補ノード11〜13を接続する第1〜第3のネットワーク経路ro1〜ro3のうち、ネットワーク回線を介さずに通信可能な第1ネットワーク経路ro1が第1位に、最低回線容量が50Mbpsである第3ネットワーク経路ro3が第2位に、最低回線容量が12Mbpsである第2ネットワーク経路ro2が第3位となる。そして、これに対応して配置先候補ノード適性度順ソートリスト83では、第3ノード13が第1位に、第1ノード11が第2位に、第2ノード12が第3位になる。
配置先候補ノード適性度順ソートリスト83が得られたら、つぎに、ステップS17において、CPU61はこの配置先候補ノード適性度順ソートリスト83を出力部64を介して表示出力する。これらの配置先候補ノードのソート処理とソートリスト83の出力処理により配置先候補算出手段が構成される。これにより、配置先ノードの選択対象になっている対象ソフトウェア部品について配置先候補ノードを示す情報(例えば各ノードの識別子)が、適性度順に出力部64に表示出力される。そして、この図4の配置先候補ノード適性度順ソートリスト作成・表示処理を終了する。その後、上述したように、図3のステップS5の処理に移行して、ユーザにより配置先候補ノード適性度順ソートリスト83を頼りにした配置先ノードの選択入力が行われることとなる。
以上のように、この実施形態のソフトウェア部品の配置先選択支援システム100によれば、配置先の選択対象となっている対象ソフトウェア部品について、まず、動作要件を満たす配置先候補ノードが抽出されて、この中から配置先ノードが選択される構成なので、ソフトウェア部品を動作要件を充足していないノードに配置してしまうといった配置先ノードの誤設定を防ぐことができる。
さらに、上記の配置先候補ノードのリスト82が、対象ソフトウェア部品とこれの連携先のソフトウェア部品との間の各連携処理のうち優先度の高いものが優良なネットワーク経路で行われるような適性度順でソートされ、配置先候補ノード適性度順ソートリスト83が算出されるので、この適性度順ソートリスト83を頼りに配置先ノードを選択することで、重要な連携動作を安定的に実行させるような各ソフトウェア部品の配置先ノードの選定を容易に行えるという効果が得られる。また、このような配置先ノードの選択により、アプリケーションシステム全体の安定性の向上を図れるという効果が得られる。
なお、本発明は、上記の実施形態に限られるものではなく、様々な変更が可能である。例えば、上記実施形態では、各連携動作の優先度を比較するのに、連携処理の重要度を表わす複数種類の指標を別々のソートキーとして、優先するソートキーから指標値順にソート処理して、最重要の連携動作を決定するように構成したが、例えば、重要度を表わす複数種類の指標値をそれぞれ所定の重み付けで合算して1種類の指標値で表わし、この1種類の指標値により最優先の携動作を決定するように構成してもよい。また、優先度を表わす指標の種類も、上記実施形態に示したものは一例に過ぎず、種々の変更が可能である。
また、上記実施形態では、各連携動作ごとに重要度を比較して、最重要の連携動作を決定し、この連携動作が行われる連携先を最重要の連携先ソフトウェア部品として扱うようにしているが、各連携動作ごとに重要度を比較するのでなく、各連携相手ごとに重要度を比較して最重要の連携先ソフトウェア部品を決定するように構成してもよい。すなわち、対象ソフトウェア部品と個々の連携先ソフトウェア部品との間で行われる複数の連携動作に関する重要度を、各連携先のソフトウェア部品ごとに集計して、それらを比較することで、最重要の連携先ソフトウェア部品を決定するように構成してもよい。
また、上記実施形態では、各ネットワーク経路の通信処理上の優劣を比較するのに、経路コストを表わす二種類の指標(最低回線容量、ホップ数)を、別々のソートキーとして、優先するソートキーから指標値順にソート処理して、経路コストの低いネットワーク経路を優良なものとして決定しているが、これらについても、複数種類の指標値をそれぞれ所定の重み付けで合算して1種類の指標値で表わし、これにより各ネットワーク経路の優劣を表わすようにしてもよい。また、各ネットワーク経路の通信処理上の優劣を表わす指標は、上記の最低回線容量とホップ数に限られず、種々の変更が可能である。
[第2実施形態]
第2実施形態の配置先ノード選択支援システム100Aは、図3のステップS4で実行される配置先候補ノード適性度順ソートリスト作成・表示処理の内容を一部変更したものであり、その他の構成や処理内容は第1実施形態と同様である。したがって、第1実施形態と異なる部分のみ説明する。
図7には、本発明の第2実施形態の配置先ノード選択支援システム100Aの全体構成図を示す。また、図8には、図3のステップS4で実行される第2実施形態の配置先候補ノード適性度順ソートリスト作成・表示処理の詳細なフローチャートを示す。
第2実施形態の配置先ノード選択支援システム100Aは、各ネットワーク経路の通信処理上の優劣を比較するのに、ネットワーク回線のQos(Quality of Service)機能を考慮するようにしたものである。Qos機能とは、ルータやネットワークスイッチなどにおいて、特定の通信に使用される通信帯域を予め優先的に予約しておくことが可能な機能等である。
第2実施形態の配置先ノード選択支援システム100Aには、第1実施形態の構成に加えて、Qos機能の管理情報が蓄積されるネットワークQos管理DB71が備わるようになっている。ネットワークQos管理DB71には、例えば、システムのネットワークと実際に接続して各通信機器と管理データの送受信を行うことでネットワーク機器に備わるQos機能の情報を収集したり、Qos機能に関する設定を行うQos管理ツールを用いて、システムネットワークに備わるQos機能の情報が読み込まれ、その管理情報が蓄積されるようになっている。
ネットワークQos管理DB71には、例えば、ネットワーク構成に備わる各ネットワーク中継器のうちQos管理の対応機器を示す対応機器リスト71Aや、各Qos管理対応機器について予約可能になっているネットワーク帯域幅の情報71Bが蓄積されるようになっている。
図8に示すように、第2実施形態の「配置先候補ノード適性度順ソートリスト作成・表示処理」においては、ステップS14でCPU61がネットワーク経路情報リスト89を作成したら、次にステップS21に移行して、ネットワーク経路情報リスト89の各ネットワーク経路について、Qos機能によるネットワーク帯域幅の予約が可能であるか算出する処理を行う。すなわち、ネットワークQos管理DB71からメモリ62に読み出したQos管理対応機器リスト92に基づいて、対象のネットワーク経路上にある全てのネットワーク機器のQos管理対応情報を参照し、ネットワーク経路が帯域幅予約可能な経路か否かを判断する。さらに、予約可能な経路であると判断したら、メモリ62に読み出した予約可能ネットワーク帯域幅情報91に基づいて予約可能な帯域幅を算出する。そして、これらの情報をネットワーク経路情報リスト89に追加する。
さらに、第2実施形態の「配置先候補ノード適性度順ソートリスト作成・表示処理」においては、続く、ステップS15,S16で各ネットワーク経路の経路コスト情報を算出し、各ネットワーク経路の情報を経路コストの低い順にソートする処理の際、上記Qos機能による予約可能なネットワーク帯域幅の情報を参照したソート処理を行う。
すなわち、ステップS16のソート処理の際、ソートの指標として、第1実施形態で説明した最低回線容量と、ネットワークホップ数に加え、Qos管理対応/未対応の情報と、予約可能帯域幅の情報とを加える。具体的には、第1優先ソートキーとしてネットワーク経路の予約可能帯域幅(Qos管理未対応である場合には最低回線容量とする)を、第2優先ソートキーとしてネットワーク経路の最低回線容量を、第3優先ソートキーとしてネットワーク経路のホップ数を割り当てる。そして、優先順に各ソートキーの指標値順に並べ替えを行って、通信処理上優良と判断される順にネットワーク経路情報リスト89をソートする。
また、第1実施形態と同様に、上記のステップS16において、上記の経路コストに基づくソート処理に対応させて配置先候補ノードリスト82のソート処理も行う。そして、続くステップS17において、ソート後の配置先候補ノード適性度順ソートリスト83を出力部64を介して表示出力する。
図9には、第2実施形態における配置先候補ノード適性度順ソートリストの表示例を表わした画像図を示す。
図9に示すように、ステップS17の表示出力処理においては、配置先候補ノードの識別子(ノードID)を適性度順にリスト表示するとともに、各配置先候補ノードに対応させてQos管理対応か否か、Qos管理対応であれば予約可能な帯域幅の値を同時に表示出力する。
このような表示出力により、ユーザは対象ソフトウェア部品の配置先ノードを選択する際に、その配置先ノードに対象ソフトウェア部品を配置したときの重要連携動作に使用されるQos管理予約帯域幅を確認することができ、Qos機能を考慮した配置先ノードの選択処理を行うことが可能となる。
以上のように、第2実施形態の配置先ノード選択支援システム100Aによれば、分散アプリケーションを構成する複数のソフトウェア部品を、その動作要件を充足するように配置先候補ノードをユーザに示すことができるとともに、重要な連携動作がQos機能を考慮した優良なネットワーク回線を介した通信により行われるように、各ソフトウェア部品の配置先候補ノードをユーザに選択させることができるという効果が得られる。
なお、本発明は、上記実施の形態に限られるものではなく、様々な変更が可能である。例えば、上記第1と第2の実施形態では、配置先ノードを決定したい1つのソフトウェア部品をユーザが選択することで、このソフトウェア部品についての配置先候補ノードを適性度順に並べてユーザに提示する構成としているが、例えば、配置先ノード選択支援システムが自動的に配置先ノードの選択対象とする対象ソフトウェア部品を選択し、配置先ノード選択支援システムが自動的にこの対象ソフトウェア部品について適性度の高い配置先ノードを演算して、配置先ノードを順次決定していくように構成してもよい。
その他、実施の形態で示した細部構成や処理内容は、発明の趣旨を逸脱しない範囲で適宜変更可能である。
分散アプリケーションケーションシステムのソフトウェア構成とハードウェア構成の一例を示した説明図である。 本発明の第1実施形態の配置先ノード選択支援システムの全体を示した構成図である。 図2のCPUにより実行されるソフトウェア部品の配置先ノードの選択支援処理の処理手順を示すフローチャートである。 配置先候補ノード適性度順ソートリスト作成・表示処理の詳細な処理手順を示すフローチャートである。 通信処理の内容と信頼性要求レベルの対応表の一例を示す図である。 通信処理の内容をより細分化した場合の信頼性要求レベルの対応表の一例を示す図である。 本発明の第2実施形態の配置先ノード選択支援システムの全体を示す構成図である。 第2実施形態における配置先候補ノード適性度順ソートリスト作成・表示処理の詳細な処理手順を示すフローチャートである。 第2実施形態における配置先候補ノード適性度順ソートリストの表示例を表わした画像図である。 配置先ノード選択支援方法の検討例における入力データの一例を示すデータチャートである。 配置先ノード選択支援方法の検討例におけるソフトウェア部品の配置例を示す構成図である。
符号の説明
A〜D ソフトウェア部品
11〜14 ノード
21 ルータ
22,23 ネットワークスイッチ
ro1〜ro3 ネットワーク経路
61 CPU
62 メモリ
63 入力部
64 出力部
65 記憶装置
66 記憶媒体
67 アプリケーション構成DB
67A ソフトウェア部品情報リスト
67B 配置先ノード情報
68 ハードウェア・ネットワーク構成DB
68A ノード情報リスト
68B ネットワーク接続構成情報
71 ネットワークQos管理DB
71A Qos管理対応機器リスト
71B 予約可能ネットワーク帯域幅情報
82 配置先候補ノードリスト
83 配置先候補ノード適性度順ソートリスト
85 連携情報リスト
86 最重要連携情報
89 ネットワーク経路情報リスト
90 ネットワーク経路コスト情報リスト
100,100A 配置先ノード選択支援システム

Claims (8)

  1. 分散アプリケーションを構成する複数のソフトウェア部品を、ネットワーク上の複数のハードウェアの何れのノードに配置すべきか候補を算出する分散アプリケーションの配置先ノード選択支援システムであって、
    前記複数のソフトウェア部品のうち一対のソフトウェア部品の間で行われる連携処理に要求される優先度と、前記複数のハードウェアのノード間を結ぶネットワーク経路の通信処理上の優劣度とを求め、優先度の高い連携処理が通信処理上優良なネットワーク経路を介した通信により行われるように、前記複数のソフトウェア部品における一もしくは複数の配置先ノードの候補を算出することを特徴とする分散アプリケーションの配置先ノード選択支援システム。
  2. 前記複数のソフトウェア部品のうち動作要件から配置先ノードが一箇所に決定されるソフトウェア部品についてはこれらの配置先ノードに対応付け、
    前記複数のソフトウェア部品のうち動作要件から配置先ノードが一箇所に決定されないソフトウェア部品について、前記連携処理に要求される優先度と前記ネットワーク経路の通信処理上の優劣度とに基づく配置先ノードの候補を算出することを特徴とする請求項1記載の分散アプリケーションの配置先ノード選択支援システム。
  3. 配置先ノードの候補の算出対象となっている対象ソフトウェア部品について、該対象ソフトウェア部品と連携処理を行う複数のソフトウェア部品の中から、当該対象ソフトウェア部品との連携処理で優先度の高い処理を行いかつ配置先ノードが決定済みになっている重要連携先ソフトウェア部品を抽出する重要連携先抽出手段と、
    前記対象ソフトウェア部品が配置可能な複数のノードと前記重要連携先ソフトウェア部品の配置先ノードとの間のネットワーク経路をそれぞれ抽出し、これらネットワーク経路の通信処理上の優劣度を比較する経路優劣度比較手段と、
    この経路優劣度比較手段の比較により優良とされたネットワーク経路に対応するノードを前記対象ソフトウェア部品の配置先ノードの候補として算出する配置先候補算出手段と、
    を備えていることを特徴とする請求項1記載の分散アプリケーションの配置先ノード選択支援システム。
  4. 前記配置先候補算出手段は、
    前記経路優劣度比較手段により優良と判断された側から複数のネットワーク経路に対応する複数のノードを、前記対象ソフトウェア部品の配置先ノードの候補リストとして算出し、
    前記配置先ノードの候補リストが外部出力されることを特徴とする請求項3記載の分散アプリケーションの配置先ノード選択支援システム。
  5. 前記複数のソフトウェア部品の連携関係が示された連携マップ情報、
    前記複数のソフトウェア部品の各々について必要なハードウェア構成がそれぞれ示された第1ソフト仕様情報、
    前記複数のソフトウェア部品の各々について各ソフトウェア部品により実行される連携通信の種類および属性が示された第2ソフト仕様情報、
    前記複数のノードの各々について各ノードのハードウェア構成が示されたノード構成情報、
    前記複数のハードウェアが接続されるネットワークのトポロジーおよびネットワークを構成する各回線の属性が示されたネットワーク仕様情報、
    をそれぞれ入力するデータ入力手段を備え、
    前記連携マップ情報、前記第1ソフト仕様情報、前記第2ソフト仕様情報、前記ノード構成情報、および、前記ネットワーク仕様情報に基づき、前記連携処理に要求される優先度と前記ネットワーク経路の通信処理上の優劣度とを求め、前記複数のソフトウェア部品の配置先ノードの候補を算出することを特徴とする請求項1記載の分散アプリケーションの配置先ノード選択支援システム。
  6. 配置先ノードの候補の算出対象となっている対象ソフトウェア部品について、前記連携マップ情報に基づき当該対象ソフトウェア部品と連携処理を行う連携先のソフトウェア部品を抽出する連携先抽出手段と、
    前記第2ソフト仕様情報や前記連携マップ情報に示される連携通信の設定パラメータに基づいて、前記対象ソフトウェア部品と各連携先との間で行われる各連携通信の優先度に関する重み付けを行う連携重み付け演算手段と、
    前記連携重み付け演算手段により高い重み付けに算出された連携通信を行う連携先のソフトウェア部品で、既に配置先ノードが決定されているソフトウェア部品の配置先ノードを、重要連携先ノードとして抽出する重要連携先抽出手段と、
    前記ネットワーク仕様情報に基づいて、前記対象ソフトウェア部品を配置可能な複数のノードと前記重要連携先ノードとの間のネットワーク経路を抽出する経路抽出手段と、
    前記ネットワーク仕様情報に基づき前記経路抽出手段により抽出された各ネットワーク経路の通信処理上の優劣度に関する重み付けを行って優劣度を比較する経路優劣度比較手段と、
    前記経路優劣度比較手段の比較により優良と判断された方のネットワーク経路に対応するノードを前記対象ソフトウェア部品の配置先ノードの候補として算出する配置先候補算出手段と、
    を備えていることを特徴とする請求項5記載の分散アプリケーションの配置先ノード選択支援システム。
  7. 分散アプリケーションを構成する複数のソフトウェア部品を、ネットワーク上の複数のハードウェアの何れのノードに配置すべきか、コンピュータが候補を算出する分散アプリケーションの配置先ノード選択支援方法であって、
    前記コンピュータが、前記複数のソフトウェア部品の連携関係が示された連携マップ情報、前記複数のソフトウェア部品の各々について必要なハードウェア構成がそれぞれ示された第1ソフト仕様情報、前記複数のソフトウェア部品の各々について各ソフトウェア部品により実行される連携通信の種類および属性が示された第2ソフト仕様情報、前記複数のノードのハードウェア構成が示されたノード構成情報、前記複数のハードウェアが接続されるネットワークのトポロジーおよびネットワークを構成する各回線の属性が示されたネットワーク仕様情報を、それぞれ外部入力するデータ入力ステップと、
    前記コンピュータが、前記データ入力ステップにより入力された情報に基づいて、前記複数のソフトウェア部品のうち一対のソフトウェア部品の間で行われる連携処理に要求される優先度と、前記複数のハードウェアのノード間を結ぶネットワーク経路の通信処理上の優劣度とを算出する算出ステップと、
    前記コンピュータが、前記算出ステップにより算出された前記連携処理に要求される優先度と前記ネットワーク経路の通信処理上の優劣度とに基づいて、優先度の高い連携処理が通信処理上優良なネットワーク経路を介した通信により行われるように、前記複数のソフトウェア部品の配置先ノードの候補を算出する配置先候補算出ステップと、
    を有することを特徴とする分散アプリケーションの配置先ノード選択支援方法。
  8. 分散アプリケーションを構成する複数のソフトウェア部品を、ネットワーク上の複数のハードウェアの何れのノードに配置すべきか候補を算出させるためのプログラムであって、
    コンピュータに、
    前記複数のソフトウェア部品の連携関係が示された連携マップ情報、前記複数のソフトウェア部品の各々について必要なハードウェア構成がそれぞれ示された第1ソフト仕様情報、前記複数のソフトウェア部品の各々について各ソフトウェア部品により実行される連携通信の種類および属性が示された第2ソフト仕様情報、前記複数のノードのハードウェア構成が示されたノード構成情報、前記複数のハードウェアが接続されるネットワークのトポロジーおよびネットワークを構成する各回線の属性が示されたネットワーク仕様情報を外部から入力するデータ入力機能と、
    前記データ入力機能により入力された情報に基づいて、前記複数のソフトウェア部品のうち一対のソフトウェア部品の間で行われる連携処理に要求される優先度と、前記複数のハードウェアのノード間を結ぶネットワーク経路の通信処理上の優劣度とを算出する算出機能と、
    前記算出機能により算出された前記連携処理に要求される優先度と前記ネットワーク経路の通信処理上の優劣度とに基づいて、優先度の高い連携処理が通信処理上優良なネットワーク経路を介した通信により行われるように、前記複数のソフトウェア部品の配置先ノードの候補を算出する配置先候補算出機能と、
    を実現させるプログラム。
JP2008132662A 2008-05-21 2008-05-21 分散アプリケーションの配置先ノード選択支援システム、配置先ノード選択支援方法およびプログラム Pending JP2009282652A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008132662A JP2009282652A (ja) 2008-05-21 2008-05-21 分散アプリケーションの配置先ノード選択支援システム、配置先ノード選択支援方法およびプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008132662A JP2009282652A (ja) 2008-05-21 2008-05-21 分散アプリケーションの配置先ノード選択支援システム、配置先ノード選択支援方法およびプログラム

Publications (1)

Publication Number Publication Date
JP2009282652A true JP2009282652A (ja) 2009-12-03

Family

ID=41453068

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008132662A Pending JP2009282652A (ja) 2008-05-21 2008-05-21 分散アプリケーションの配置先ノード選択支援システム、配置先ノード選択支援方法およびプログラム

Country Status (1)

Country Link
JP (1) JP2009282652A (ja)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013161169A (ja) * 2012-02-02 2013-08-19 Mitsubishi Electric Corp 情報処理装置および情報処理方法およびプログラム
JP2013200716A (ja) * 2012-03-26 2013-10-03 Nec Corp 仮想化システム、管理サーバ、マイグレーション方法、マイグレーションプログラム業務間通信を考慮した仮想マシンのマイグレーション方法
JP2015090693A (ja) * 2013-11-07 2015-05-11 富士通株式会社 分散配備装置、分散配備方法、および分散配備プログラム
JP2018535480A (ja) * 2015-11-29 2018-11-29 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation 複数のデプロイメントロケーションにわたるアプリケーションのセキュア・デプロイメント
JP2019128863A (ja) * 2018-01-26 2019-08-01 株式会社インテック ロボットアプリケーション管理装置、システム、方法及びプログラム
US10644988B2 (en) 2017-06-02 2020-05-05 Fujitsu Limited Communication path management apparatus and communication path management method

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013161169A (ja) * 2012-02-02 2013-08-19 Mitsubishi Electric Corp 情報処理装置および情報処理方法およびプログラム
JP2013200716A (ja) * 2012-03-26 2013-10-03 Nec Corp 仮想化システム、管理サーバ、マイグレーション方法、マイグレーションプログラム業務間通信を考慮した仮想マシンのマイグレーション方法
JP2015090693A (ja) * 2013-11-07 2015-05-11 富士通株式会社 分散配備装置、分散配備方法、および分散配備プログラム
JP2018535480A (ja) * 2015-11-29 2018-11-29 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation 複数のデプロイメントロケーションにわたるアプリケーションのセキュア・デプロイメント
US10644988B2 (en) 2017-06-02 2020-05-05 Fujitsu Limited Communication path management apparatus and communication path management method
JP2019128863A (ja) * 2018-01-26 2019-08-01 株式会社インテック ロボットアプリケーション管理装置、システム、方法及びプログラム
WO2019146763A1 (ja) * 2018-01-26 2019-08-01 株式会社インテック ロボットアプリケーション管理装置、システム、方法及びプログラム
CN111656320A (zh) * 2018-01-26 2020-09-11 智新科技通信技术株式会社 机器人应用管理装置、系统、方法及程序
US11327856B2 (en) 2018-01-26 2022-05-10 Intec Inc. Robot application management device, system, method and program

Similar Documents

Publication Publication Date Title
US10402293B2 (en) System for virtual machine risk monitoring
US8601499B2 (en) Systems, methods and computer readable media for routing requests from an application
EP3371706B1 (en) System and method for generating a graphical display region indicative of conditions of a computing infrastructure
JP5458995B2 (ja) システム構造管理装置、システム構造管理方法、及びプログラム
JP2009282652A (ja) 分散アプリケーションの配置先ノード選択支援システム、配置先ノード選択支援方法およびプログラム
CN105306247B (zh) 用于部署最小成本ccn拓扑的方法和设备
US9716641B2 (en) Adaptive industrial ethernet
JP6699654B2 (ja) ネットワーク制御装置、ネットワーク制御方法、および、プログラム
US10819594B2 (en) System and method for generating a graphical display region indicative of conditions of a computing infrastructure
CN113542064B (zh) 网络路径确定方法、装置、电子设备、介质及程序产品
CA2403896A1 (en) Method of monitoring the availability of a messaging and voip network
EP3345345B1 (en) Systems and methods for remote network topology discovery
WO2015059917A1 (ja) マルチレイヤネットワーク制御方法および装置
US9628331B2 (en) Rerouting services using routing policies in a multiple resource node system
WO2016143310A1 (ja) ネットワーク制御装置、ネットワーク制御方法、および、プログラムの記録媒体
JP4678778B2 (ja) マルチレイヤネットワーク運用管理システムおよびコンピュータプログラム
JP6553996B2 (ja) パス予約支援装置、パス予約支援プログラム及びパス予約支援方法
JP2015114731A (ja) 監視支援プログラム、監視支援方法および監視支援装置
JP2020013224A (ja) 制御システム、検索装置および検索プログラム
JP5639245B1 (ja) 転送装置解析情報提供サーバ、転送装置解析情報提供方法及び転送装置解析情報提供プログラム
JP5173325B2 (ja) 資源量変動監視方法、資源量変動監視プログラム、資源量変動監視システム
JP2009200781A (ja) ネットワーク設計装置、ネットワーク設計方法およびネットワーク設計システム
JP2017168881A (ja) 通信経路制御装置、方法およびプログラム
EP2908500B1 (en) Method for providing information in a communications network
JP2022187248A (ja) ネットワーク設定管理装置および方法