説明

管理システム、管理装置、ネットワーク装置、管理方法およびプログラム

【課題】分散コンピューティング環境の利用効率が低下するのを抑制する。
【解決手段】本発明の管理装置は、複数の計算機の中から、アプリケーションを構成するプロセスを処理する計算機を該アプリケーションに割り当てるとともに、複数のネットワーク装置の中から、該計算機間で前記プロセスの処理に必要なデータを転送するネットワーク装置を該アプリケーションに割り当てる管理装置であって、前記複数の計算機および前記複数のネットワーク装置の負荷状況をモニタするグローバルモニタ手段と、前記アプリケーションに割り当てられている計算機またはネットワーク装置の負荷状況を示す値が閾値を超えた場合、該負荷状況を示す値が閾値を超えた計算機またはネットワーク装置以外の、前記計算機およびネットワーク装置の負荷状況に基づいて、前記アプリケーションに計算機およびネットワーク装置を新たに割り当てるリソース管理手段と、を有する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、分散コンピューティング環境において、アプリケーションに割り当てる計算機およびネットワーク装置を管理する管理システム、管理装置、管理方法およびプログラム、ならびに、ネットワーク装置に関する。
【背景技術】
【0002】
近年、通信ネットワーク(以下、ネットワークと称する)を介して複数の計算資源を接続した、グリッドコンピューティングシステムやデータセンターなどの、分散コンピューティング環境の利用が広がっている。
【0003】
分散コンピューティング環境では、アプリケーションを構成する複数のプロセスを、複数の計算資源で分散して同時並行的に処理してアプリケーションを実行することで高い処理性能を得ることができる。
【0004】
このような分散コンピューティング環境において、アプリケーションの実行に必要な分散コンピューティング資源は、大きく分けて、計算資源とネットワーク資源とから構成される。
【0005】
計算資源は、プロセスを処理するための資源であり、汎用のPC(Personal Computer)やサーバなどの計算機、あるいは、特定の処理を高速化するアクセラレーションエンジンを搭載した計算機なども含まれる。なお、アクセラレーションエンジンには、例えば、GPU(Graphics Processing Unit)を汎用処理に適用したGPGPU(General Purpose computing on GPU)やFPGA(Feild Programmable Gate Array)などが用いられる。
【0006】
また、ネットワーク資源は、プロセスを分散して処理する計算機間で、プロセスの処理に必要なデータを転送するための資源であり、ネットワークの通信帯域や、ルーターやスイッチ、ロードバランサ、ファイアウォールなどのデータの転送を行うネットワーク装置が含まれる。
【0007】
ところで、一般に、分散コンピューティング環境は、複数のユーザやアプリケーションにより同時に利用される。
【0008】
また、上述したアクセラレーションエンジンを搭載した、特定の処理を高速化する計算機は、汎用の計算機に比べて高コストである。そのため、複数の計算機の一部を特定の処理を高速化する計算機とし、複数のユーザやアプリケーションでその計算機を共有するといった運用が行われる。
【0009】
このような複数のユーザやアプリケーションによる、分散コンピューティング環境の同時利用や、特定の計算機の共有に対応するために、各アプリケーションへの分散コンピューティング資源の割り当ての変更が頻繁に起こることが考えられる。
【0010】
なお、上述したように、計算機によるプロセスの処理と、ネットワーク装置によるデータの転送により、分散コンピューティング環境においてアプリケーションが実行される。
【0011】
従って、計算機やネットワーク装置をアプリケーションに割り当てることにより、分散コンピューティング資源の割り当てを行うことができる。
【0012】
特許文献1には、アプリケーションに割り当てる計算機を変更する管理装置が記載されている。
【0013】
特許文献1に記載の管理装置は、分散コンピューティング環境を監視し、プロセスを処理する計算機の変更が必要となることを示すトリガを検出すると、プロセスを処理する計算機を変更することで、そのプロセスを含むアプリケーションへの計算機の割り当てを変更する。
【先行技術文献】
【特許文献】
【0014】
【特許文献1】特開2005−182796号公報
【発明の概要】
【発明が解決しようとする課題】
【0015】
しかしながら、特許文献1に記載の管理装置は、アプリケーションへの、計算機の割り当てのみを変更するもので、ネットワーク装置の割り当てについては考慮がされていないため、特定のネットワーク装置にアプリケーションを実行するための負荷が集中する可能性がある。
【0016】
このような特定のネットワーク装置や計算機への負荷の集中が起こると、割り当てられたネットワーク装置や計算機に見合っただけの処理性能を得ることができず、分散コンピューティング環境の利用効率が低下する可能性があるという課題がある。
【0017】
本発明の目的は、分散コンピューティング環境の利用効率の低下を抑制することができる管理システム、管理装置、ネットワーク装置、管理方法およびプログラムを提供することにある。
【課題を解決するための手段】
【0018】
上記目的を達成するために本発明の管理システムは、
複数の計算機と、
複数のネットワーク装置と、
前記複数の計算機の中から、アプリケーションを構成するプロセスを処理する計算機を該アプリケーションに割り当てるとともに、前記複数のネットワーク装置の中から、該計算機間で前記プロセスの処理に必要なデータを転送するネットワーク装置を該アプリケーションに割り当てる管理装置と、を備える管理システムであって、
前記管理装置は、
前記複数の計算機および前記複数のネットワーク装置の負荷状況をモニタするグローバルモニタ手段と、
前記アプリケーションに割り当てられている計算機またはネットワーク装置の負荷状況を示す値が所定の閾値を超えた場合、該負荷状況を示す値が所定の閾値を超えた計算機またはネットワーク装置以外の、前記計算機およびネットワーク装置の負荷状況に基づいて、前記アプリケーションに計算機およびネットワーク装置を新たに割り当てるリソース管理手段と、を有する。
【0019】
上記目的を達成するために本発明の管理装置は、
複数の計算機の中から、アプリケーションを構成するプロセスを処理する計算機を該アプリケーションに割り当てるとともに、複数のネットワーク装置の中から、該計算機間で前記プロセスの処理に必要なデータを転送するネットワーク装置を該アプリケーションに割り当てる管理装置であって、
前記複数の計算機および前記複数のネットワーク装置の負荷状況をモニタするグローバルモニタ手段と、
前記アプリケーションに割り当てられている計算機またはネットワーク装置の負荷状況を示す値が所定の閾値を超えた場合、該負荷状況を示す値が所定の閾値を超えた計算機またはネットワーク装置以外の、前記計算機およびネットワーク装置の負荷状況に基づいて、前記アプリケーションに計算機およびネットワーク装置を新たに割り当てるリソース管理手段と、を有する。
【0020】
上記目的を達成するために本発明のネットワーク装置は、
管理装置によりアプリケーションに割り当てられ、前記アプリケーションを構成するプロセスを処理する複数の計算機間で前記プロセスの処理に必要なデータを転送するネットワーク装置であって、
前記管理装置から送信されてきた、前記データに対して設定された識別情報と該識別情報が設定された前記データの転送先とを対応付けて定めた、または、該識別情報が設定された前記データのうち、該データを破棄する前記識別情報を定めたフロー情報が設定されるフロー管理手段と、
前記フロー管理手段に設定されたフロー情報に基づき、前記計算機から転送されてきたデータに含まれる前記識別情報に対応する前記転送先に該データを転送し、または、該データを破棄する通信処理手段と、を有する。
【0021】
上記目的を達成するために本発明の管理方法は、
複数の計算機の中から、アプリケーションを構成するプロセスを処理する計算機を該アプリケーションに割り当てるとともに、複数のネットワーク装置の中から、該計算機間で前記プロセスの処理に必要なデータを転送するネットワーク装置を該アプリケーションに割り当てる管理装置に適用される管理方法であって、
前記複数の計算機および前記複数のネットワーク装置の負荷状況をモニタし、
前記アプリケーションに割り当てられている計算機またはネットワーク装置の負荷状況を示す値が所定の閾値を超えた場合、該負荷状況を示す値が所定の閾値を超えた計算機またはネットワーク装置以外の、前記計算機およびネットワーク装置の負荷状況に基づいて、前記アプリケーションに計算機およびネットワーク装置を新たに割り当てる。
【0022】
上記目的を達成するために本発明の第1のプログラムは、
複数の計算機の中から、アプリケーションを構成するプロセスを処理する計算機を該アプリケーションに割り当てるとともに、複数のネットワーク装置の中から、該計算機間で前記プロセスの処理に必要なデータを転送するネットワーク装置を該アプリケーションに割り当てる管理装置に、
前記複数の計算機および前記複数のネットワーク装置の負荷状況をモニタするグローバルモニタ処理と、
前記アプリケーションに割り当てられている計算機またはネットワーク装置の負荷状況を示す値が所定の閾値を超えた場合、該負荷状況を示す値が所定の閾値を超えた計算機またはネットワーク装置以外の、前記計算機およびネットワーク装置の負荷状況に基づいて、前記アプリケーションに計算機およびネットワーク装置を新たに割り当てるリソース管理処理と、を実行させる。
【0023】
上記目的を達成するために本発明の第2のプログラムは、
管理装置によりアプリケーションに割り当てられ、前記アプリケーションを構成するプロセスを処理する複数の計算機間で前記プロセスの処理に必要なデータを転送するネットワーク装置に、
前記管理装置から送信されてきた、前記データに対して設定された識別情報と該識別情報が設定された前記データの転送先とを対応付けて定めた、または、該識別情報が設定された前記データのうち、該データを破棄する前記識別情報を定めたフロー情報を設定するフロー管理処理と、
前記フロー管理処理により設定されたフロー情報に基づき、前記計算機から転送されてきたデータに含まれる前記識別情報に対応する前記転送先に該データを転送し、または、該データを破棄する通信処理と、を実行させる。
【発明の効果】
【0024】
本発明によれば、管理装置は、計算機およびネットワーク装置の負荷状況をモニタし、アプリケーションに割り当てられている計算機またはネットワーク装置の負荷状況を示す値が所定の閾値を越えた場合、その計算機またはネットワーク装置以外の、計算機およびネットワーク装置の負荷状況に基づいて、アプリケーションに計算機およびネットワーク装置を新たに割り当てる。
【0025】
そのため、管理装置は、計算機およびネットワーク装置の負荷状況に基づいて、アプリケーションに割り当てる計算機およびネットワーク装置を決定するので、アプリケーションの実行のための負荷を分散させることができ、分散コンピューティング環境の利用効率が低下するのを抑制することができる。
【図面の簡単な説明】
【0026】
【図1】本発明の第1の実施形態の管理システムの構成を示すブロック図である。
【図2】図1に示す管理装置の構成を示すブロック図である。
【図3】図1に示すネットワーク装置の構成を示すブロック図である。
【図4】図1に示す計算機の構成を示すブロック図である。
【図5】図2に示す管理装置による再配置処理の動作を説明するための図である。
【図6】図2に示す管理装置による再配置処理の動作の他の一例を説明するための図である。
【図7】図1に示す管理システムの動作を示すシーケンス図である。
【図8】図7におけるステップS20からステップS30、ステップS60およびステップS90の管理装置の動作を示すフローチャートである。
【図9】図7におけるステップS10のローカル計算機の動作を示すフローチャートである。
【図10】図7におけるステップS95のローカル計算機の動作を示すフローチャートである。
【図11】図7におけるステップS40からステップS50までのネットワーク装置の動作を示すフローチャートである。
【図12】図7におけるステップS70からステップS80までのリモート計算機の動作を示すフローチャートである。
【図13】図1に示す管理システムの他の動作を示すシーケンス図である。
【図14】図1に示す管理システムの更に他の動作を示すシーケンス図である。
【図15】図14におけるステップS16のローカル計算機の動作を示すフローチャートである
【図16】図14におけるステップS16のローカル計算機の他の動作を示すフローチャートである。
【図17】本発明の第2の実施形態の管理システムにおけるネットワーク装置の構成を示すブロック図である。
【図18】図17に示すネットワーク装置の動作を示すフローチャートである。
【図19】図3に示すネットワーク装置によるデータの転送の動作を説明するための図である。
【図20】図17に示すネットワーク装置によるデータの転送の動作を説明するための図である。
【発明を実施するための形態】
【0027】
以下に、本発明を実施するための形態について図面を参照して説明する。
【0028】
(第1の実施形態)
図1は、本発明の第1の実施形態の分散コンピューティング環境1における管理システムの構成を示すブロック図である。
【0029】
図1に示す管理システムは、管理装置10と、m個のネットワーク装置30(mは2以上の整数)と、n個の計算機50(nは2以上の整数)と、を有している。
【0030】
管理装置10は、アプリケーションに割り当てるネットワーク装置30と計算機50とを決定する。
【0031】
ネットワーク装置30は、管理装置10および計算機50と接続されるとともに、他のネットワーク装置30とも接続されている。
【0032】
なお、管理装置10とネットワーク装置30と計算機50とを接続するネットワークの具体例としては、ローカルエリアネットワークやワイドエリアネットワーク、インターネットなどがある。
【0033】
そして、ネットワーク装置30は、計算機50同士を接続するネットワーク経路上で、自装置に転送されてきた、プロセスの処理に必要なデータを、そのデータを必要とする計算機50に転送する。
【0034】
なお、ネットワーク装置30の具体例としては、ルーターやスイッチのほかに、ファイアウォールやロードバランサなどの種々の装置がある。
【0035】
計算機50は、管理装置10により割り当てられたアプリケーションを構成するプロセスを処理する。
【0036】
また、計算機50は、他の計算機50とプロセスを同時並行的に処理する場合は、そのプロセスの処理に必要なデータを、他の計算機50と送受信する。
【0037】
なお、計算機50の具体例としては、汎用、あるいは特定処理向けのPCやサーバなどや、これらの上で稼動する仮想マシンなどがある。
【0038】
図2は、管理装置10の構成を示すブロック図である。
【0039】
図2に示す管理装置10は、ポリシー管理ブロック110と、管理インタフェース120と、グローバルモニタブロック130と、リソース管理ブロック140と、経路計算ブロック150と、スケジューラブロック160と、設定指示ブロック170と、を有する。
【0040】
なお、ブロックとは、ソフトウェア、プログラムおよびハードウェアの少なくともいずれかにより実現される一機能単位を示す。
【0041】
ポリシー管理ブロック110は、予め定められたアプリケーションへのネットワーク装置30および計算機50の割り当てのポリシーの設定を保持する。
【0042】
ポリシーの一例として、例えば、分散コンピューティング環境1の利用に際して、ユーザに課金するような場合には、ユーザへの課金状況に応じて、そのユーザが実行を要求するアプリケーションに割り当てるネットワーク装置30および計算機50を変えるようにするなどがある。
【0043】
なお、ポリシーは、入出力11を介して外部装置から設定することができる。
【0044】
管理インタフェース120は、ネットワーク装置30とのインタフェースである。
【0045】
そして、管理インタフェース120は、ネットワーク装置30から送信されてきた、後述する計算機モニタ情報やネットワーク装置モニタ情報などのモニタ情報を受信するとともに、ネットワーク装置30や計算機50への種々の通知や要求を送信する。
【0046】
なお、管理装置10へのモニタ情報の送信は、管理装置10がモニタ情報の送信を要求する、あるいは、ネットワーク装置30や計算機50が主体的にモニタ情報を送信する、など種々の方法がある。
【0047】
また、計算機50への通知や要求の送信はネットワーク装置30を介して行われるが、管理装置10と計算機50とを直接接続すれば、ネットワーク装置30を介さずに行うことも可能である。
【0048】
グローバルモニタブロック130は、管理インタフェース120により受信されたネットワーク装置モニタ情報と計算機モニタ情報とに基づき、ネットワーク装置30および計算機50の利用状況や負荷状況をモニタする。
【0049】
そして、グローバルモニタブロック130は、モニタしたネットワーク装置30および計算機50の利用状況や負荷状況を示す負荷情報をリソース管理ブロック140に出力する。
【0050】
ここで、負荷情報には、ネットワーク装置30や計算機50が割り当てられているアプリケーションの実行を要求するユーザの情報や、そのアプリケーションの実行時間の情報といった、アプリケーションに割り当てられているネットワーク装置30および計算機50に関する情報なども含まれる。
【0051】
リソース管理ブロック140は、各ネットワーク装置30や計算機50がネットワーク上のどこに存在するか、あるいは各ネットワーク装置30や計算機50の負荷状況といった、各ネットワーク装置30および計算機50に関する情報を管理する。この情報には、どの計算機50同士が、どのネットワーク経路を介してデータの転送を行っているかといった情報も含まれる。
【0052】
また、リソース管理ブロック140は、各ネットワーク装置30や計算機50の仕様などの静的な情報や、アプリケーションへの割り当ての変更が必要となる各ネットワーク装置30および計算機50の負荷状況を示す値である負荷量の閾値を示す情報、さらに、ネットワーク装置30や計算機50の負荷量を求めるための重み情報を保持する。
【0053】
なお、これらの情報は、入出力12を介して外部装置から設定することができる。
【0054】
ここで、重み情報の例として、負荷状況を示す各パラメータのうち、特定のパラメータを、負荷量とする例がある。
【0055】
なお、以下の説明では、計算機50の負荷状況として、プロセスを処理する計算機50のCPU(Central Processing Unit)とメモリの利用率という2つのパラメータがモニタされているとする。
【0056】
この場合、例えば、重み情報が計算機50のCPUの利用率というパラメータである場合、計算機50のCPUの利用率をその計算機50の負荷量とする。
【0057】
また、重み情報の例として、負荷状況を示す各パラメータに掛ける係数が設定される例がある。
【0058】
この場合、例えば、重み情報として、CPUの利用率とメモリの利用率とに掛ける係数がそれぞれ設定される。そして、CPUおよびメモリの利用率に、それぞれ設定された係数を掛けた後、それらを合計するなどして、計算機50の負荷量が求められる。
【0059】
そして、リソース管理ブロック140は、グローバルモニタブロック130から出力された負荷情報と、重み情報とに基づき、ネットワーク装置30や計算機50の負荷量が閾値を超えていないか否かを判定する。
【0060】
なお、上述したように、重み情報が負荷状況を示す各パラメータに掛ける係数として設定されている場合には、リソース管理ブロック140は、設定された係数を掛け、負荷量を求めた上で、閾値を超えていないか否かを判定する。
【0061】
そして、ネットワーク装置30または計算機50の負荷量が閾値を超えていると判定した場合には、リソース管理ブロック140は、アプリケーションに割り当てるネットワーク装置30および計算機50を変更する再配置処理を行う。
【0062】
また、リソース管理ブロック140は、分散コンピューティング環境1において実行されるアプリケーションが減るなどして、ネットワーク装置30および計算機50の負荷量が閾値未満となった場合には、予め定められた設定に従い再配置処理を行う。
【0063】
ここで、例えば、計算機50における消費電力を低減するように設定されている場合には、リソース管理ブロック140は、1つの計算機でプロセスを処理するほうが消費電力は少ないため、複数の計算機50で処理していたプロセスを1つの計算機50で処理するように再配置処理を行う。
【0064】
そして、リソース管理ブロック140は、再配置処理により決定した割り当ての内容を示すスケジュール情報をスケジューラブロック160に出力する。
【0065】
経路計算ブロック150は、再配置処理において新たに計算機50を割り当てる場合に、その計算機50とデータの転送を行う必要がある他の計算機50とを接続するネットワーク経路を計算する。
【0066】
ここで、ネットワーク経路の計算には、計算機50同士の最短経路だけでなく、ネットワークの混雑を避けるために、迂回経路を求めることも含まれる。そのため、経路計算ブロック150は、ネットワーク接続する際のリンクコスト、ポリシー管理ブロック110に設定されたポリシーなど、ネットワーク経路の計算に必要な情報をリソース管理ブロック140から取得する。
【0067】
そして、経路計算ブロック150は、計算したネットワーク経路を示す経路計算結果をリソース管理ブロック140に出力する。
【0068】
スケジューラブロック160は、リソース管理ブロック140から出力されたスケジュール情報に基づきネットワーク装置30や計算機50のスケジューリングを行い、再配置処理により処理するプロセスの設定や通信設定の変更が必要となるネットワーク装置30や計算機50に対して、必要な設定変更を要求するように設定指示ブロック170に指示する。
【0069】
また、スケジューラブロック160は、アプリケーションへのネットワーク装置30や計算機50の割り当てが無効となった場合には、その旨をネットワーク装置30や計算機50に通知するように設定指示ブロック170に指示する。
【0070】
設定指示ブロック170は、スケジューラブロック160からの指示に基づき、管理インタフェース120を介して、種々の内容の通知や要求をネットワーク装置30に送信する。
【0071】
ここで、設定指示ブロック170から送信される通知には、例えば、計算機50に対する、新たにプロセスへの割り当てを行った旨の通知がある。
【0072】
また、設定指示ブロック170から送信される要求には、例えば、計算機50に処理するプロセスの設定の変更を要求したり、ネットワーク装置30および計算機50にデータの転送先の設定の変更を要求したりする設定変更要求がある。
【0073】
次に、ネットワーク装置30の構成について説明する。
【0074】
図3は、ネットワーク装置30の構成を示すブロック図である。
【0075】
図3に示すネットワーク装置30は、ネットワークインタフェース310と、管理インタフェース320と、通信設定管理ブロック330と、通信処理ブロック340と、ローカルモニタブロック350と、を有する。
【0076】
ネットワークインタフェース310は、計算機50や他のネットワーク装置30とのインタフェースであり、ネットワークポートを1個以上含む。
【0077】
そして、ネットワークインタフェース310は、計算機50から送信されてきた計算機モニタ情報を受信するとともに、管理装置10から送信されてきた計算機50に対する通知や要求を計算機50に送信する。
【0078】
管理インタフェース320は、管理装置10とのインタフェースである。
【0079】
なお、管理インタフェース320は、ネットワークインタフェース310と物理的に異なるインタフェースであっても、ネットワークインタフェース310に含まれるネットワークポートの一部であってもよい。
【0080】
管理インタフェース320は、管理装置10から送信されてきた計算機50に対する新たにプロセスへの割り当てを行った旨の通知や、ネットワーク装置30および計算機50に対するデータの転送先の設定の変更を要求する設定変更要求などを受信するとともに、ネットワーク装置モニタ情報やネットワークインタフェース310により受信された計算機モニタ情報を管理装置10に送信する。
【0081】
通信設定管理ブロック330は、自装置からのデータの転送先を示す通信設定を保持する。具体的には、自装置に転送されてきたデータの転送先のネットワークポートの設定などが保持される。
【0082】
そして、通信設定管理ブロック330は、管理装置10から通信設定の変更を要求する設定変更要求が送信されると、その設定変更要求に従い通信設定を変更する。
【0083】
通信処理ブロック340は、通信設定管理ブロック330に設定された通信設定に従い、自装置に転送されてきたデータの処理を行う。
【0084】
また、通信処理ブロック340は、後述するローカルモニタブロック350から出力されたネットワーク装置モニタ情報や、ネットワークインタフェース310により受信された計算機モニタ情報を、管理インタフェース320を介して管理装置10に送信する。
【0085】
ローカルモニタブロック350は、自装置の利用状況や負荷状況をモニタする。
【0086】
具体的には、自機の利用状況としてモニタされるのは、自装置においてデータの転送を行っているか否かなどである。
【0087】
また、自機の負荷状況としてモニタされるのは、ネットワークインタフェース310に含まれる各ネットワークポートで転送を行う単位時間当たりのデータ量や、転送を行うデータを格納する通信バッファの状態、通信処理ブロック340の負荷、自装置の温度、消費電力などのパラメータである。
【0088】
そして、ローカルモニタブロック350は、自装置の利用状況や負荷状況を示すネットワーク装置モニタ情報を通信処理ブロック340に出力する。
【0089】
次に、計算機50の構成について説明する。
【0090】
図4は、計算機50の構成を示すブロック図である。
【0091】
図4に示す計算機50は、ネットワークインタフェース510と、通信設定管理ブロック520と、プロセス管理ブロック530と、演算処理ブロック540と、ローカルモニタブロック550とを、有する。
【0092】
ネットワークインタフェース510は、ネットワーク装置30とのインタフェースであり、通信を行うためのネットワークポートを1個以上含む。
【0093】
そして、ネットワークインタフェース510は、ネットワーク装置30を介して、管理装置10から送信されてきた計算機50に対する通知や要求を受信するとともに、管理装置10に計算機モニタ情報を送信する。
【0094】
なお、これらの送受信は、計算機50と管理装置10とを直接接続すれば、ネットワーク装置30を介さず行うことも可能である。
【0095】
また、ネットワークインタフェース510は、ネットワーク装置30を介して、同時並行的にプロセスの処理を行う他の計算機50との間でデータの送受信を行う。
【0096】
通信設定管理ブロック520は、自機からのデータの転送先を示す通信設定を保持し、管理装置10から通信設定の変更を要求する設定変更要求が送信されると、その設定変更要求に従い通信設定を変更する。
【0097】
プロセス管理ブロック530は、自機にて処理するプロセスの設定を保持する。
【0098】
そして、プロセス管理ブロック530は、管理装置10から自機にて処理するプロセスの設定の変更を要求する設定変更要求が送信されると、その設定変更要求に従い設定を変更する。
【0099】
演算処理ブロック540は、プロセス管理ブロック530に設定された処理するプロセスの設定に従い、自機に割り当てられたプロセスを処理する。
【0100】
また、演算処理ブロック540は、通信設定管理ブロック520に設定された通信設定に従い、ネットワークインタフェース510を介して、ネットワーク装置30にデータを転送したり、計算機モニタ情報を送信したりする。
【0101】
なお、演算処理ブロック540は、汎用のメモリやCPU、特定の処理に特化したASIC(Application Specific Integrated Circuit)、FPGA上に搭載された回路、またはこれらの組み合わせにより実現される。
【0102】
ローカルモニタブロック550は、自機の利用状況や負荷状況をモニタする。
【0103】
具体的には、自機の利用状況としてモニタされるのは、自機においてプロセスの処理を行っているか否かなどである。
【0104】
また、自機の負荷状況としてモニタされるのは、ネットワークインタフェース510に含まれる各ネットワークポートで転送を行う単位時間当たりのデータ量や、転送するデータを格納する通信バッファの状態、プロセスを処理するCPUやメモリの利用率、自機の温度、消費電力などのパラメータである。
【0105】
そして、ローカルモニタブロック550は、自機の利用状況や負荷状況を示す計算機モニタ情報を演算処理ブロック540に出力する。
【0106】
次に、管理装置10による再配置処理の動作について説明する。
【0107】
まず、リソース管理ブロック140は、負荷情報と重み情報とに基づき、各ネットワーク装置30および計算機50の負荷量を求める。そして、リソース管理ブロック140は、ネットワーク装置30または計算機50の負荷量が閾値を越えているかに基づき、再配置処理が必要であるか否かを判定する。
【0108】
そして、再配置処理が必要であると判定した場合、リソース管理ブロック140は、ポリシー管理ブロック110に設定されたポリシーに従い、負荷量が閾値を超えているネットワーク装置30または計算機50が割り当てられているアプリケーションに、新たに割り当てる計算機50の候補を選択する。
【0109】
なお、候補の選択の際には、リソース管理ブロック140は、新たにアプリケーションを割り当てることが、計算機50の負荷状況から適さない場合には、その計算機50を除外することができる。
【0110】
そして、リソース管理ブロック140は、選択した各計算機50について、新たにアプリケーションを割り当てた場合に、その計算機50とデータの転送を行う他の計算機50とを接続するネットワーク経路の計算を経路計算ブロック150に指示する。
【0111】
そして、リソース管理ブロック140は、候補として選択された計算機50およびネットワーク装置30の負荷状況に基づき、どのネットワーク装置30と計算機50とを、どれだけの期間割り当てるかを決定する。
【0112】
なお、割り当てる期間には、10分や1時間などの時間を指定することや、計算機50に他のプロセスが割り当てられるまで、など種々の期間を割り当てることができる。
【0113】
次に、管理装置10による再配置処理の動作について、図5および図6を参照して説明する。
【0114】
図5は、管理装置10による再配置処理の動作の一例を説明するための図である。
【0115】
具体的には、プロセスを処理する計算機50の負荷量が閾値を超えた場合に、再配置処理を行う管理装置10の動作を説明するための図である。
【0116】
なお、以下の説明では、予め定められた計算機50およびネットワーク装置30の割り当てに従って、アプリケーションが実行されているものとする。
【0117】
図5に示す管理システムは、例として、4個のネットワーク装置30(30W,30X,30Y,30Z)と、4個の計算機50(50A,50B,50C,50D)と、を有する。
【0118】
また、重み情報として、計算機50のCPUの利用率を、計算機50の負荷量とするとされているとする。この場合、管理装置10は、各計算機50から送信されてきた計算機モニタ情報に含まれるCPUの利用率を各計算機の負荷量とする。なお、以下では、計算機50のCPUの利用率を、計算機の利用率と称する。
【0119】
図5の例では、計算機50B,50C,50Dの利用率がそれぞれ、80%、50%、10%である。
【0120】
また、各ネットワーク装置30間に付された数値は、そのネットワーク装置30間でのネットワーク経路の利用率を示している。従って、ネットワーク装置30W,30X間、ネットワーク装置30X,30Y間、ネットワーク装置30Y,30Z間、ネットワーク装置30Z,30X間のネットワーク経路の利用率はそれぞれ、10%,10%,10%,80%である。
【0121】
ここで、ネットワーク経路の利用率とは、例えば、各ネットワーク装置30間で転送可能な単位時間当たりのデータ量である最大データ転送量に対して、単位時間当たりに転送が行われているデータのデータ量の割合を示す値である。
【0122】
なお、管理装置10は、各ネットワーク装置30間の最大データ転送量を、例えば、ネットワークインタフェース310に含まれるネットワークポートの仕様から求めることができる。これは、ネットワークポートの最大データ転送量を示す転送速度は、ネットワークポートの仕様から求めることができるからである。
【0123】
そして、管理装置10は、各ネットワーク装置30間の最大データ転送量と、各ネットワーク装置30から送信されてきたネットワーク装置モニタ情報に含まれる各ネットワークポートで転送を行う単位時間当たりのデータ量とから、ネットワーク装置30間でのネットワークの利用率を求めることができる。
【0124】
なお、データの転送を行うネットワーク装置30同士のネットワークポートの仕様によっては、最大データ転送量が異なる場合がある。この場合には、最大データ転送量が少ないネットワークポートの最大データ転送量が、そのネットワーク装置30間での最大データ転送量となる。
【0125】
まず、管理装置10は、プロセスを処理している計算機50Aの負荷量が閾値を超えると、再配置処理を行うために、ポリシーに基づき、計算機50Aで処理されているプロセスを含むアプリケーションに新たに割り当てる計算機50の候補として計算機50B,50C,50Dをリストアップする。
【0126】
次に、管理装置10は、ポリシーに基づき、割り当てることが可能なネットワーク装置30を介する、計算機50Aと計算機50B,50C,50Dとをそれぞれ接続する1つまたは複数のネットワーク経路の計算を行う。
【0127】
図5の例では、例えば、計算機50Aと計算機50Dとの間では、ネットワーク装置30Wとネットワーク装置30Zとを介するネットワーク経路(root(1))と、ネットワーク装置30Wとネットワーク装置30Xとネットワーク装置30Yとネットワーク装置30Zとを介するネットワーク経路(root(2))とが得られる。
【0128】
次に、リソース管理ブロック140は、計算機50Aで処理されているプロセスを含むアプリケーションに新たに割り当てるネットワーク装置30と計算機50とを決定する。
【0129】
なお、データの転送はネットワーク経路上のネットワーク装置30により行われるので、ネットワーク経路を決定することにより、アプリケーションに割り当てるネットワーク装置30を決定することができる。
【0130】
ここで、特許文献1に記載の管理装置は、プロセスを処理する計算機50の割り当てを決定するのみである。そこで、例えば、特許文献1に記載の管理装置が、計算機の利用率が最も低い計算機50Dを割り当てると決定したとする。
【0131】
また、特許文献1では、ネットワーク経路の決定は、ネットワーク装置30により行われる。その結果、計算機50Aと計算機50Dとを接続する最短経路であるroot(1)がネットワーク経路として決定されたとする。
【0132】
ここで、root(1)上のネットワーク装置30W,30Z間のネットワーク経路の利用率は80%と高い。この場合、計算機50Aと計算機50Dとの間で転送されるデータ量が増大すると、計算機50Aと計算機50Dとの間でのデータの転送が進まないことにより、アプリケーションに計算機50Dを新たに割り当てても、計算機50Dに見合った処理性能を得られないことがある。
【0133】
一方、本実施形態の管理装置10は、アプリケーションに新たに割り当てる計算機50およびネットワーク装置30を、各ネットワーク装置30と各計算機50の負荷状況とに基づき決定する。
【0134】
ここで、例えば、計算機の利用率が50%未満、かつ、ネットワークの利用率が50%未満の計算機50およびネットワーク装置30を割り当てるという条件が、ポリシー管理ブロック110に予め設定されていたとすると、管理装置10は、その条件に従い、新たに割り当てる計算機50と、ネットワーク経路とを決定する。
【0135】
計算機の利用率が50%未満であるのは計算機50Dだけなので、管理装置10は、計算機50Dを新たに割り当てる計算機50として決定する。
【0136】
また、計算機50Aと計算機50Dとを接続するネットワーク経路として、root(1)とroot(2)が得られているが、管理装置10は、root(1)上のネットワーク装置30W,30Z間のネットワークの利用率は80%であるのに対し、root(2)上のネットワーク装置30W,30X間、ネットワーク装置30X,30Y間、ネットワーク装置30Y,30Z間のネットワークの利用率は全て10%であるので、設定された条件に従い、root(2)をネットワーク経路として決定し、root(2)上の各ネットワーク装置30をアプリケーションに新たに割り当てるネットワーク装置30として決定する。
【0137】
root(2)は、root(1)よりも多くのネットワーク装置30を介し、迂回経路となる。しかし、root(2)上の各ネットワーク装置30間のネットワークの利用率は低いため、計算機50Aと計算機50Dとの間で転送するデータの量の増大にも対応することができ、新たに割り当てた計算機50Dに見合った処理能力を得ることができる。
【0138】
なお、例えば、計算機の利用率が60%未満、かつ、ネットワークの利用率が50%未満のネットワーク装置30および計算機50を割り当てるという条件が予め設定されていたとすると、計算機50Cと計算機50Dとが計算機の利用率が60%未満という設定を満たす。
【0139】
そして、計算機50Aと計算機50Cとの間では、ネットワーク装置30Wとネットワーク装置30Xとネットワーク装置30Yとを介する経路が、また、計算機50Aと計算機50Dとの間では、上述のroot(2)の経路が、ネットワークの利用率が50%未満という設定を満たす。
【0140】
このように、複数の計算機50とネットワーク経路とが、条件を満たす場合、例えば、その複数の計算機50およびネットワーク経路の中から任意に選択する、計算機の利用率が低い計算機50を優先する、ネットワーク経路上のネットワーク装置30の数は3個以下にする、などの条件を予め設定しておくことで、管理装置10は、アプリケーションに新たに割り当てるネットワーク装置30と計算機50とを決定することができる。
【0141】
図6は、管理装置10による再配置処理の動作の他の一例を説明するための図である。
【0142】
具体的には、ネットワーク装置30の負荷状況を示す値が閾値を超えた場合に、再配置処理を行う管理装置10の動作を説明するための図である。
【0143】
図6では、図5と同様に、計算機50B,50C,50Dに付された数字は、各計算機の利用率を示し、また、各ネットワーク装置30間に付された数字は、そのネットワーク装置30間でのネットワーク経路の利用率を示している。
【0144】
また、図6では、計算機50Aと計算機50Dとの間で、ネットワーク装置30Wとネットワーク装置30Zとを介するネットワーク経路(root(3))でデータの転送が行われ、計算機50Bと計算機50Dとの間で、ネットワーク装置30Xとネットワーク装置30Wとネットワーク装置30Zとを介するネットワーク経路(root(4))でデータの転送が行われているとする。
【0145】
なお、上述したように、管理装置50は、ネットワーク経路の利用率を求める際に、各ネットワーク装置30のネットワークポートの単位時間当たりのデータ転送量をモニタしている。そこで、重み情報として、ネットワークポートの単位時間当たりのデータ転送量を、ネットワーク装置30の負荷量とするとされているとすると、その負荷量が閾値を超えた場合に、再配置処理を行う。
【0146】
ここで、ネットワーク装置30W,30Z間のネットワークの利用率が80%と高くなり、ネットワーク装置30Wやネットワーク装置30Zの負荷量が閾値を超えたとすると、管理装置10は、計算機50Aと50Bとに対して、計算機50Dで処理されているプロセスを含むアプリケーションに新たに割り当てる計算機50の候補の選択と、ネットワーク経路の計算とを行う。
【0147】
具体的には、管理装置10は、まず、計算機50Dが計算機50Aとの間で同時並行的に処理しているプロセスを割り当てる候補として計算機50B,50C,50Dを選択する。なお、図6の例では、計算機50Dの負荷量が閾値を超えたわけではないので、管理装置10は、計算機50Dも候補として選択する。
【0148】
また、管理装置10は、計算機50Dが計算機50Bとの間で同時並行的に処理しているプロセスを割り当てる候補として計算機50A,50C,50Dを選択する。この場合も、計算機50Dの負荷量が閾値を超えたわけではないので、管理装置10は、計算機50Dも候補として選択する。
【0149】
そして、管理装置10は、計算機50Aと計算機50B,50C,50Dとをそれぞれ接続するネットワーク経路と、計算機50Bと計算機50A,50C,50Dとをそれぞれ接続するネットワーク経路と、を計算する。
【0150】
そして、管理装置10は、予め設定された条件に従い、割り当てる計算機50とネットワーク経路とを決定する。
【0151】
図6の例では、管理装置10は、計算機50Cを、計算機50Dが計算機50Aとの間で同時並行的に処理していたプロセスに割り当てる計算機50として決定する。また、管理装置10は、root(5)を計算機50Aと計算機50Cとを接続するネットワーク経路として決定し、root(5)上のネットワーク装置30Wとネットワーク装置30Xとネットワーク装置30Yとをそのアプリケーションに割り当てるネットワーク装置30として決定する。
【0152】
また、管理装置10は、計算機50Dの、計算機50Bとの間で同時並行的に処理していたプロセスへの割り当ては変更せず、root(6)を計算機50Bと計算機50Dとを接続するネットワーク経路として決定し、root(6)上のネットワーク装置30Xとネットワーク装置30Yとネットワーク装置30Zとをそのアプリケーションに割り当てるネットワーク装置30として決定する。
【0153】
このように管理装置10は、各計算機50やネットワーク装置30の負荷状況に基づき、アプリケーションに新たに割り当てるネットワーク装置30および計算機50を決定する。
【0154】
次に、本実施形態の管理システムの動作について説明する。
【0155】
(1)アプリケーションに新たに計算機50を割り当てる際の動作
図7は、本実施形態の管理システムによるアプリケーションに新たに計算機50を割り当てる際の動作を示すシーケンス図である。
【0156】
まず、あるプロセスを処理している計算機50(以下、ローカル計算機51と称する)は、自機の利用状況や負荷状況をモニタし、管理装置10に計算機モニタ情報を送信する(ステップS10)。
【0157】
なお、ローカル計算機51は、定期的、あるいは、自機の負荷量が所定の閾値を超えた場合など、種々のタイミングで計算機モニタ情報を送信することができる。
【0158】
管理装置10は、ローカル計算機51の負荷量が閾値を超えているかに基づき、再配置処理が必要であるか否かを判定する。
【0159】
再配置処理が必要であると判定した場合、管理装置10は、ローカル計算機51で処理されているプロセスの一部を新たに割り当てる計算機50(以下、リモート計算機52と称する)と、ローカル計算機51とリモート計算機52とを接続するネットワーク経路とを決定する(ステップS20)。
【0160】
そして、管理装置10は、決定したネットワーク経路上のネットワーク装置30に、通信設定の変更を要求する設定変更要求を送信する(ステップS30)。
【0161】
設定変更要求を受信したネットワーク装置30は、その設定変更要求に従い、自装置の通信設定を変更し(ステップS40)、設定変更が完了すると、その旨を示すACK(Acknowledge)を管理装置10に送信する(ステップS50)。
【0162】
管理装置10は、ネットワーク装置30からACKを受信すると、新たにアプリケーションへの割り当てを行った旨の通知を、処理するプロセスの設定や通信設定の変更を要求する設定変更要求とともにリモート計算機52に送信する(ステップS60)。
【0163】
リモート計算機52は、管理装置10から送信されてきた設定変更要求に従い、処理するプロセスの設定の変更、プロセスの処理の開始、通信設定の変更などの必要な処理を行い(ステップS70)、処理が完了すると、その旨を示すACKを管理装置10に送信する(ステップS80)。
【0164】
管理装置10は、リモート計算機52からACKを受信すると、ローカル計算機51で処理していたプロセスにリモート計算機52を新たに割り当てた旨と、そのリモート計算機52に関する情報とを示す通知をローカル計算機51に送信する(ステップS90)。
【0165】
ローカル計算機51は、管理装置10からの通知を受信すると、管理装置10からの通知の内容をリモート計算機52での処理の対象となったプロセスに通知する(ステップS95)。
【0166】
なお、管理装置10は、ステップS30からステップS50までの処理を行う前に、ステップS60からステップS80までの処理を先に行うことも可能である。例えば、ローカル計算機51で既に処理を開始しているプロセスをリモート計算機52で処理する場合には、先にリモート計算機52の設定を行うことが望ましい。
【0167】
また、管理装置10は、ステップS30からステップS50までの処理と、ステップS60からステップS80までの処理とをオーバラップさせることも可能である。この場合、管理装置10は、ネットワーク装置30およびリモート計算機52からACKの受信を待つという処理を行うことになる。
【0168】
次に、管理装置10の動作について説明する。
【0169】
図8は、図7におけるステップS20からステップS30、ステップS60およびステップS90の管理装置10の動作を示すフローチャートである。
【0170】
まず、リソース管理ブロック140は、ローカル計算機51の負荷量が所定の閾値を超えているかに基づき、再配置処理が必要であるか否かを判定する。
【0171】
再配置処理が必要であると判定した場合、ポリシーに基づき、ローカル計算機51で処理されているプロセスの一部を新たに割り当てる計算機50の候補を選択する(ステップS210)。
【0172】
次に、リソース管理ブロック140は、アプリケーションに新たに割り当てられる候補として選択された計算機50の負荷状況に基づき、アプリケーションに割り当てることができる計算機50が存在するか否かを判定する(ステップS220)。
【0173】
アプリケーションに割り当てることができる計算機50が存在しない場合(ステップS220:NO)、リソース管理ブロック140は、再配置処理を終了する。
【0174】
アプリケーションに割り当てることができる計算機50が存在する場合(ステップS220:YES)、リソース管理ブロック140は、その計算機50とローカル計算機51とを接続するネットワーク経路の計算を経路計算ブロック150に指示し、経路計算ブロック150は、その指示に基づき、ネットワーク経路を計算する(ステップS230)。
【0175】
リソース管理ブロック140は、アプリケーションに割り当てることができる計算機50および経路計算ブロック150により計算されたネットワーク経路上のネットワーク装置30の負荷状況に基づき、リモート計算機52と、ローカル計算機51とリモート計算機52とを接続するネットワーク経路とを決定する。また、リソース管理ブロック140は、リモート計算機52と、決定したネットワーク経路上のネットワーク装置30とを割り当てる期間を決定する(ステップS240)。なお、リソース管理ブロック140は、複数の計算機50をリモート計算機52として決定することもある。
【0176】
次に、リソース管理ブロック140は、再配置処理により決定した割り当ての内容を示すスケジュール情報をスケジューラブロック160に出力する。
【0177】
スケジューラブロック160は、スケジュール情報に基づきスケジューリングを行い、通信設定の変更が必要なネットワーク装置30に対して、設定変更を要求するように設定指示ブロックに指示し、設定指示ブロック170は、ネットワーク装置30に設定変更要求を送信する(ステップS300)。
【0178】
次に、設定指示ブロック170は、ステップS300で設定変更要求を送信した全てのネットワーク装置30からACKを受信したか否かを判定する(ステップS310)。
【0179】
全てのネットワーク装置30からACKを受信していない場合(ステップS310:NO)、設定指示ブロック170は、ステップS310の処理を繰り返す。
【0180】
全てのネットワーク装置30からACKを受信した場合(ステップS310:YES)、設定指示ブロック170は、新たにアプリケーションへの割り当てを行った旨の通知を、処理するプロセスの設定や通信設定の変更を要求する設定変更要求とともにリモート計算機52に送信する(ステップS600)。
【0181】
次に、設定指示ブロック170は、ステップS600で通知を送信した全てのリモート計算機52からACKを受信したか否かを判定する(ステップS610)。
【0182】
全てのリモート計算機52からACKを受信していない場合(ステップS610:NO)、設定指示ブロック170は、ステップS610の処理を繰り返す。
【0183】
全てのリモート計算機52からACKを受信した場合(ステップS610:YES)、設定指示ブロック170は、その旨をスケジューラブロック160に通知するともに、ローカル計算機51で処理していたプロセスにリモート計算機52を新たに割り当てた旨と、そのリモート計算機52に関する情報とを示す通知をローカル計算機51に送信する(ステップS900)。
【0184】
なお、管理装置10は、ステップS300からステップS310までの処理を行う前に、ステップS600からステップS610までの処理を先に行うことも可能である。
【0185】
また、管理装置10は、ステップS300からステップS310までの処理と、ステップS600からステップS610までの処理とをオーバラップさせることも可能である。
【0186】
次に、図7に示すローカル計算機51の動作について図9および図10を参照して説明する。
【0187】
図9は、図7におけるステップS10のローカル計算機51の動作を示すフローチャートである。
【0188】
ローカルモニタブロック550は、自機の利用状況や負荷状況をモニタし(ステップS100)、演算処理ブロック540は、計算機モニタ情報をネットワーク装置30に送信する(ステップS110)。
【0189】
図10は、図7におけるステップS95のローカル計算機51の動作を示すフローチャートである。
【0190】
演算処理ブロック540は、管理装置10からローカル計算機51で処理していたプロセスにリモート計算機52を新たに割り当てた旨の通知が送信されたか否かを判定する(ステップS950)。
【0191】
なお、管理装置10から通知が送信されたか否かを判定する方法は、ローカル計算機51が特定の記憶領域をポーリングする方法や、ローカル計算機51内で、管理装置10から送信された通知に関連付けられた割り込みを発生させ、これに基づき通知が送信されたか否かを判定する方法などがある。
【0192】
管理装置10から通知が送信されていない場合(ステップS950:NO)、演算処理ブロック540は、ステップS950の処理を繰り返す。
【0193】
管理装置10から通知が送信された場合(ステップS950:YES)、プロセス管理ブロック530は、リモート計算機52での処理の対象となったプロセスに、管理装置10からの通知の内容を通知する(ステップS960)。
【0194】
なお、リモート計算機52での処理の対象となったプロセスが、分散コンピューティング環境1で処理されることを想定して記述されたプログラムであれば、ローカル計算機51からの通知を受信する機構が存在することが期待できる。また、そのような機構が存在しなくても、ローカル計算機51からの通知の内容に従って、プロセスの処理に使用される汎用的なプログラムであるライブラリを変更するようなライブラリフックな機構を導入することで、通知の内容に従って、そのプロセスを処理する計算機50を、ローカル計算機51からリモート計算機52に変更することができる。
【0195】
次に、図7に示すネットワーク装置30の動作について説明する。
【0196】
図11は、図7におけるステップS40からステップS50までのネットワーク装置30の動作を示すフローチャートである。
【0197】
通信処理ブロック340は、管理装置10から通信設定の変更を要求する設定変更要求が送信されたか否かを判定する(ステップS400)。
【0198】
なお、管理装置10から設定変更要求が送信されたか否かの判定は、上述したローカル計算機51が管理装置10から通知を送信されたか否かを判定するのと同様の方法により行うことができる。
【0199】
設定変更要求が送信されていない場合(ステップS400:NO)、通信処理ブロック340は、ステップS400の処理を繰り返す。
【0200】
設定変更要求が送信された場合(ステップS400:YES)、通信設定管理ブロック330は、送信されてきた設定変更要求に従い通信設定を変更する(ステップS410)。
【0201】
通信処理ブロック340は、設定変更が完了すると、その旨を示すACKを管理装置10に送信する(ステップS500)。
【0202】
次に、図7に示すリモート計算機52の動作について説明する。
【0203】
図12は、図7におけるステップS70からステップS80までのリモート計算機52の動作を示すフローチャートである。
【0204】
演算処理ブロック540は、管理装置10から新たにアプリケーションへの割り当てを行った旨の通知が送信されたか否かを判定する(ステップS700)。
【0205】
なお、管理装置10から通知が送信されたか否かの判定は、上述したローカル計算機51が管理装置10から通知を送信されたか否かを判定するのと同様の方法により行うことができる。
【0206】
管理装置10から通知が送信されていない場合(ステップS700:NO)、演算処理ブロック540は、ステップS700の処理を繰り返す。
【0207】
管理装置10から通知が送信された場合(ステップS700:YES)、通知とともに送信されてきた、自機で処理するプロセスの設定や通信設定の変更を要求する設定変更要求に従い、通信設定管理ブロック520およびプロセス管理ブロック530は、必要な処理を行う(ステップS710)。
【0208】
演算処理ブロック540は、通信設定管理ブロック520およびプロセス管理ブロック530による処理が完了すると、その旨を示すACKを管理装置10に送信する(ステップS800)。
【0209】
(2)アプリケーションに新たにネットワーク装置30を割り当てる際の動作
図13は、本実施形態の管理システムによるアプリケーションに新たにネットワーク装置30を割り当てる際の動作を示すシーケンス図である。
【0210】
なお、図13において、図7と同様の処理については同一の符号を付し、詳細な説明を省略する。
【0211】
まず、ネットワーク装置30Wは、自装置の利用状況や負荷状況をモニタし、ネットワーク装置モニタ情報を管理装置10に送信する(ステップS18)。
【0212】
管理装置10は、ネットワーク装置30Wの負荷量が閾値を超えているかに基づき、再配置処理が必要であるか否かを判定する。そして、再配置処理が必要であると判定した場合、新たにアプリケーションに割り当てるリモート計算機52と、リモート計算機52とデータの転送を行う必要がある計算機とを接続するネットワーク経路とを決定する(ステップS20)。
【0213】
そして、管理装置10は、ローカル計算機51で処理していたプロセスにリモート計算機52を新たに割り当てた旨の通知を、処理するプロセスの設定や通信設定の変更を要求する設定変更要求とともに、それらの設定の変更が必要となる全ての計算機50に送信する(ステップS60)。
【0214】
管理装置10から設定変更要求を送信された計算機50は、その設定変更要求に従い、必要な処理を行い(ステップS70)、処理が完了すると、その旨を示すACKを管理装置10に送信する(ステップS80)。
【0215】
通知を送信した全ての計算機50からACKを受信すると、管理装置10は、通信設定の変更が必要な全てのネットワーク装置30(ネットワーク装置30Wおよびネットワーク装置30X)に設定変更要求を送信する(ステップS30)。
【0216】
管理装置10から設定変更要求を送信されたネットワーク装置30は、その設定変更要求に従い、通信設定の変更を行い(ステップS40)、設定変更が完了すると、その旨を示すACKを管理装置10に送信する(ステップS50)。
【0217】
なお、リモート計算機52を新たに割り当てる必要が無く、ネットワーク経路のみを変更する場合も考えられ、この場合はステップS60〜S80の処理を実行しない。
(3)管理装置10がモニタ情報の送信を要求する際の動作
図14は、本実施形態の管理システムによる管理装置10がモニタ情報の送信を要求し、送信されてきたモニタ情報に基づき、アプリケーションに割り当てる計算機50を変更する際の動作を示すシーケンス図である。
【0218】
なお、図14において、図7と同様の処理については同一の符号を付し、詳細な説明を省略する。
【0219】
また、以下では、管理装置10が、計算機50に計算機モニタ情報の送信を要求する場合を例として説明するが、ネットワーク装置30にネットワーク装置モニタ情報の送信を要求する場合にも適用可能である。
【0220】
まず、管理装置10は、設定指示ブロック170により、ローカル計算機51に計算機モニタ情報の取得要求を送信する(ステップS15)。
【0221】
ローカル計算機51は、取得要求を受信すると、計算機モニタ情報を管理装置10に送信する(ステップS16)。
【0222】
管理装置10は、送信されてきた計算機モニタ情報に基づき、ローカル計算機51の負荷量が閾値を超えているような場合には、再配置処理を行う。
【0223】
そして、管理装置10は、ローカル計算機51に割り当てられているプロセスの一部を処理する、そのプロセスを含むアプリケーションに割り当てるリモート計算機52と、ローカル計算機51とリモート計算機52とを接続するネットワーク経路とを決定する(ステップS20)。
【0224】
次に、図14に示すローカル計算機51の動作について図15および図16を参照して説明する。
【0225】
図15は、図14におけるステップS16のローカル計算機51の動作を示すフローチャートである。
【0226】
まず、ローカルモニタブロック550は、定期的に自機の負荷状況をモニタする。
【0227】
そして、演算処理ブロック540は、管理装置10から計算機モニタ情報の取得要求が送信されたか否かを判定する(ステップS160)。
【0228】
計算機モニタ情報の取得要求が送信されていない場合(ステップS160:NO)、演算処理ブロック540は、同様の処理を繰り返す。
【0229】
計算機モニタ情報の取得要求が送信された場合(ステップS160:YES)、演算処理ブロック540は、ローカルモニタブロック550によりモニタされている自機の最新の利用状況や負荷状況を示す計算機モニタ情報を管理装置10に送信する(ステップS164)。
【0230】
図16は、図14におけるステップS16のローカル計算機51の他の動作を示すフローチャートである。
【0231】
なお、図16において、図15と同様の処理については同一の符号を付し、その説明を省略する。
【0232】
計算機モニタ情報の取得要求が送信された場合(ステップS160:YES)、ローカルモニタブロック550は、自機の負荷状況をモニタし(ステップS162)、演算処理ブロック540は、計算機モニタ情報を管理装置10に送信する(ステップS164)。
【0233】
図16においては、図15と異なり、ローカルモニタブロック550は、取得要求を受信した場合にのみ、自機の負荷状況をモニタする。
【0234】
このようにすることで、取得要求の送信の頻度によっては、モニタを行う回数を減らすことができ、ローカル計算機51におけるモニタのための負荷を削減することができる。
【0235】
このように本実施形態によれば、管理装置10は、計算機50およびネットワーク装置30の負荷状況をモニタし、モニタした計算機50またはネットワーク装置30の負荷量が閾値を超えた場合、計算機50およびネットワーク装置30の負荷状況に基づいて、アプリケーションに計算機50およびネットワーク装置30を新たに割り当てる。
【0236】
そのため、管理装置10は、計算機50およびネットワーク装置30の負荷状況に基づいて、アプリケーションに新たに割り当てる計算機50およびネットワーク装置30を決定するので、アプリケーションの実行のための負荷を分散させることができ、分散コンピューティング環境1の利用効率が低下するのを抑制することができる。
【0237】
(第2の実施形態)
本発明の第2の実施形態の管理システムは、第1の実施形態の管理システムと比較して、ネットワーク装置30をネットワーク装置35に変更した点が異なる。
【0238】
なお、計算機50および管理装置10の構成については、第1の実施形態と同様であるため、その説明を省略する。
【0239】
まず、管理装置10の動作について説明する。
【0240】
管理装置10は、リソース管理ブロック140により、計算機50間で転送されるデータに対して識別情報を設定する。そして、管理装置10は、データに対して設定した識別情報と、その識別情報が設定されたデータの転送先とを対応付けて定めた、または、識別情報が設定されたデータのうち、そのデータを破棄する識別情報を定めたフロー情報を設定する。そして、管理装置10は、管理インタフェース120を介して、各ネットワーク装置35に対して、設定したフロー情報を送信する。
【0241】
なお、識別情報は、転送元の計算機50から転送されるデータに含まれる、ネットワーク装置35の入力ポート、転送元の計算機50のMAC(Media Access Control)アドレスやIP(Internet Protocol)アドレス、ポート番号、計算機50が割り当てられているアプリケーションや、処理しているプロセスの固有のヘッダあるいはデータなどの、OSI(Open System Interconnection)参照モデルにおける各階層のプロトコルに関する情報や、それらの組み合わせなどからなる。
【0242】
そして、識別情報に、どの情報を用いるかについては、予め計算機50と管理装置10との間で定められている。
【0243】
次に、計算機50の動作について説明する。
【0244】
計算機50は、管理装置10との間で予め定められている情報を用いて、自機から転送するデータに識別情報を含めて、ネットワーク装置35に転送する。
【0245】
次に、ネットワーク装置35の構成について説明する。
【0246】
図17は、本実施形態の管理システムにおけるネットワーク装置35の構成を示すブロック図である。
【0247】
なお、図17において、図3に示したネットワーク装置30と同様の構成には同一の符号を付し、説明を省略する。
【0248】
図17に示すネットワーク装置35は、図3に示したネットワーク装置30と比較して、通信設定管理ブロック330に代えてフロー管理ブロック335を設けた点が異なる。
【0249】
フロー管理ブロック335は、管理装置10から送信されてきたフロー情報を保持する。
【0250】
そして、通信処理ブロック340は、自装置にデータが転送されてくると、フロー管理ブロック335に設定されたフロー情報に基づき、そのデータに含まれる識別情報に対応する転送先にそのデータを転送したり、そのデータを破棄したりする。
【0251】
次に、ネットワーク装置35の動作について説明する。
【0252】
図18は、ネットワーク装置35の動作を示すフローチャートである。
【0253】
通信処理ブロック340は、自装置に送信されてきたデータについて、そのデータに含まれる識別情報を抽出する(ステップS351)。そして、通信処理ブロック340は、フロー管理ブロック335に設定されているフロー情報を照合し(ステップS352)、抽出したデータに含まれる識別情報が、フロー管理ブロック335に設定されているか否かを判定する(ステップS353)。
【0254】
データに含まれる識別情報が、フロー管理ブロック335に設定されている場合(ステップS353:YES)、通信処理ブロック340は、そのデータを、対応する転送先に転送したり、破棄したりする(ステップS354)。
【0255】
データに含まれる識別情報が、フロー管理ブロック335に設定されていない場合(ステップS353:NO)、通信処理ブロック340は、そのデータの破棄や、標準で設定されている転送先への転送、そのデータの転送先の外部装置への問い合わせなどの処理を行う(ステップS355)。
【0256】
なお、外部装置とは、データごとに、そのデータの処理内容を管理する管理サーバなどの装置を指す。
【0257】
ここで、第1の実施形態のネットワーク装置30と、本実施形態のネットワーク装置35とによるデータの転送の動作について、図19および図20を参照して説明する。
【0258】
まず、第1の実施形態のネットワーク装置30によるデータの転送を説明する。
【0259】
図19は、第1の実施形態のネットワーク装置30によるデータの転送の動作の一例を説明する図である。
【0260】
図19において、ネットワーク装置30は、計算機50Aと計算機50Bとの間、計算機50Aと計算機50Cとの間で、それぞれデータの転送を行っている。
【0261】
なお、図19において、計算機50Aからネットワーク装置30に転送されるデータの「A→B」は、計算機50Aから計算機50Bに転送されるデータであることを示しており、そのデータに含まれる、転送先である計算機50BのMACアドレスにより識別することができる。
【0262】
ここで、一般的に、ネットワーク装置30は、データに含まれる転送先のMACアドレスに従って、データの転送を行う。
【0263】
従って、ネットワーク装置30の通信設定には、「データに含まれるMACアドレスが計算機50Bを示していれば計算機50Bにデータを転送し、MACアドレスが計算機50Cを示していれば計算機50Cにデータを転送する」という設定が行われる。そして、ネットワーク装置30は、その通信設定に従い、データに含まれるMACアドレスに基づいて、データの転送を行う。
【0264】
ここで、再配置処理により、計算機50Cで処理されていたプロセスを計算機50Dで処理するように割り当てが変更されたとする。
【0265】
このとき、管理装置10は、ネットワーク装置30の通信設定を、「MACアドレスが計算機50Cを示していれば計算機50Cにデータを転送する」から、「MACアドレスが計算機50Dを示していれば計算機50Dにデータを転送する」に変更する。
【0266】
ここで、計算機50Aに対して、プロセスを処理する計算機が計算機50Dに変更された旨の通知がされなかったとすると、計算機50Aは、計算機50CのMACアドレスを含むデータを転送し続けることになる。そうすると、ネットワーク装置30は、通信設定には、MACアドレスが計算機50Cを示す場合の設定が行われていないので、計算機50Aから転送されたデータ(A→C)を転送することができない。
【0267】
そのため、データの転送元である計算機50Aは、プロセスを処理する計算機50が変更されるたびに、変更された計算機50に関する情報を管理装置10から通知され、その通知に従い、通信設定を変更する必要があった。
【0268】
次に、本実施形態のネットワーク装置35によるデータの転送を説明する。
【0269】
図20は、本実施形態のネットワーク装置35によるデータの転送の動作の一例を説明する図である。
【0270】
図20においても、図19と同様に、ネットワーク装置35は、計算機50Aと計算機50Bとの間、計算機50Aと計算機50Cとの間で、それぞれデータ転送を行っている。
【0271】
そして、不図示の管理装置10は、計算機50Aからネットワーク装置35を介して計算機50Bに転送されるデータに対する識別情報を「フロー1」とし、計算機50Aからネットワーク装置35を介して計算機50Bに転送されるデータに対する識別情報を「フロー2」と設定する。
【0272】
また、図20において、計算機50Aからネットワーク装置35に転送されるデータの「フロー1」は、転送されるデータに、識別情報「フロー1」が含まれていることを示す。
【0273】
ここで、識別情報「フロー1」は、例えば、計算機AのIPアドレスと、計算機50Aで処理されている、計算機50Bとの間でデータの転送が必要となるプロセスを示す情報との組み合わせにより示され、また、識別情報「フロー2」は、計算機50AのIPアドレスと、計算機50Aで処理されている、計算機50Cとの間でデータの転送が必要となるプロセスを示す情報との組み合わせにより示されるとする。なお、上述したように、識別情報に、どの情報を用いるかについては、予め計算機50と管理装置10との間で定められている。
【0274】
また、管理装置10は、識別情報「フロー1」が設定されたデータの転送先を計算機50Bとし、識別情報「フロー2」が設定されたデータの転送先を計算機50Cとするフロー情報をネットワーク装置35に送信する。
【0275】
なお、上述したように、フロー情報には、データを破棄する識別情報を定めることも可能であるが、図20においては、データに対して設定した識別情報と、その識別情報が設定されたデータの転送先とを対応付けて定めたフロー情報が、管理装置10からネットワーク装置35に送信されたとする。
【0276】
そして、ネットワーク装置35は、送信されてきたフロー情報をフロー管理ブロック335に設定する。
【0277】
計算機50Aは、計算機50Bに転送するデータに、識別情報「フロー1」を示す、計算機50AのIPアドレスと、計算機50Aが計算機50Bとの間で同時並行的に処理していたプロセスを示す情報とを含めて、ネットワーク装置35に転送する。
【0278】
また、同様に、計算機50Aは、計算機50Cに転送するデータに、識別情報「フロー2」示す、計算機50AのIPアドレスと、計算機50Aが計算機50Cとの間で同時並行的に処理していたプロセスを示す情報とを含めて、ネットワーク装置35に転送する。
【0279】
ネットワーク装置35は、フロー管理ブロック335に設定されているフロー情報に基づき、計算機50Aから転送されてきたデータに含まれる識別情報に対応する転送先にデータを転送する。
【0280】
ここで、再配置処理により、計算機50Cで処理されていたプロセスを計算機50Dで処理するように割り当てが変更されたとする。
【0281】
この場合、管理装置10は、識別情報「フロー2」が設定されたデータの転送先を計算機50Cから計算機50Dに変更するように、ネットワーク装置35に設定変更要求を送信し、ネットワーク装置35は、管理装置10から送信されてきた設定変更要求に従い、そのデータの転送先を計算機Dに変更する。
【0282】
ここで、プロセスを処理する計算機が計算機50Cから計算機50Dに変更されたとしても、識別情報「フロー2」を示す情報は、計算機50AのIPアドレスと、計算機50Aで処理しているプロセスを示す情報とからなるだけなので、計算機50Aは、識別情報を変更することなく、そのままネットワーク装置35へのデータの転送を行うことができる。
【0283】
また、ネットワーク装置35は、識別情報「フロー2」が設定されたデータの転送先の設定は計算機50Dに変更されているので、そのデータを計算機50Dに転送することができる。
【0284】
このように、本実施形態によれば、管理装置10は、ネットワーク装置35による計算機50間でのデータの転送が行われるデータの識別情報と、その識別情報が設定されたデータの転送先とを対応付けて定めた、または、識別情報が設定されたデータのうち、そのデータを破棄する識別情報を定めたフロー情報をネットワーク装置35に送信する。
【0285】
また、計算機50は、管理装置10との間で予め定められている情報を用いて、識別情報を含むデータをネットワーク装置35に転送する。そして、ネットワーク装置35は、フロー情報に基づき、自装置に転送されてきたデータに含まれる識別情報に対応する転送先にそのデータを転送したり、そのデータを破棄したりする。
【0286】
そのため、ネットワーク装置35は、自装置に転送されてきたデータに、そのデータの転送先を示す情報が含まれていなくても、自装置に転送されてきたデータを処理することができる。
【0287】
また、データの転送元の計算機50は、アプリケーションへの計算機50の割り当てが変更され、データの転送先が変更された場合にも、通信設定を変更する必要がない。
【0288】
なお、本実施形態の管理システムは、例えば、データベースシステムが分散コンピューティング環境1で稼動している場合にも適用することが可能である。
【0289】
データベースシステムの一形態として、データベースシステムにユーザが問い合わせる際のインタフェースとなるフロントエンドと、実際にデータベースに対してアクセスを行うバックエンドとからなる形態がある。このようなデータベースシステムに本実施形態の管理装置10を適用すると、フロントエンドにアクセスしてきたユーザごとに異なる識別情報を設定し、識別情報の一部、あるいは全ての情報ごとに、異なるバックエンドにユーザからの要求を転送することが可能になり、負荷の分散を図ることができる。
【0290】
本発明の管理装置およびネットワーク装置にて行われる方法は、コンピュータに実行させるためのプログラムに適用してもよい。また、そのプログラムを記憶媒体に格納することも可能であり、ネットワークを介して外部に提供することも可能である。
【符号の説明】
【0291】
1 分散コンピューティング環境
10 管理装置
11,12 入出力
110 ポリシー管理ブロック
120,320 管理インタフェース
130 グローバルモニタブロック
140 リソース管理ブロック
150 経路計算ブロック
160 スケジューラブロック
170 設定指示ブロック
30,30W,30X,30Y,30Z ネットワーク装置
310,510 ネットワークインタフェース
330,520 通信設定管理ブロック
335 フロー管理ブロック
340 通信処理ブロック
350,550 ローカルモニタブロック
50,50A,50B,50C,50D 計算機
51 ローカル計算機
52 リモート計算機
530 プロセス管理ブロック
540 演算処理ブロック

【特許請求の範囲】
【請求項1】
複数の計算機と、
複数のネットワーク装置と、
前記複数の計算機の中から、アプリケーションを構成するプロセスを処理する計算機を該アプリケーションに割り当てるとともに、前記複数のネットワーク装置の中から、該計算機間で前記プロセスの処理に必要なデータを転送するネットワーク装置を該アプリケーションに割り当てる管理装置と、を備える管理システムであって、
前記管理装置は、
前記複数の計算機および前記複数のネットワーク装置の負荷状況をモニタするグローバルモニタ手段と、
前記アプリケーションに割り当てられている計算機またはネットワーク装置の負荷状況を示す値が所定の閾値を超えた場合、該負荷状況を示す値が所定の閾値を超えた計算機またはネットワーク装置以外の、前記計算機およびネットワーク装置の負荷状況に基づいて、前記アプリケーションに計算機およびネットワーク装置を新たに割り当てるリソース管理手段と、を有する管理システム。
【請求項2】
前記リソース管理手段は、
予め定められたポリシーに基づいて、前記アプリケーションに新たに割り当てる計算機およびネットワーク装置の候補を選択し、
前記計算機および前記ネットワーク装置の候補の中から、前記負荷状況を示す値が所定の閾値を超えた計算機またはネットワーク装置以外の、前記計算機およびネットワーク装置の負荷状況に基づいて、前記アプリケーションに計算機およびネットワーク装置を新たに割り当てる、請求項1に記載の管理システム。
【請求項3】
前記アプリケーションへの新たな計算機およびネットワーク装置の割り当てにより、処理するプロセス、または、データの転送先の少なくとも一方の設定の変更が必要となる計算機に対して、該プロセスまたは該転送先の設定の変更を要求する第1の設定変更要求を送信する設定指示手段を、さらに有し、
前記複数の計算機の各々は、
自機にて処理するプロセスが設定されるプロセス管理手段と、
自機からのデータの転送先が設定される第1の通信設定管理手段と、
前記プロセス管理手段に設定されたプロセスを処理するとともに、前記第1の通信設定管理手段に設定された転送先へデータを転送する演算処理手段と、をさらに有し、
前記プロセス管理手段は、
プロセスの設定の変更を要求する前記第1の設定変更要求が送信されてきた場合、該第1の設定変更要求に従い、前記プロセスの設定を変更し、
前記第1の通信設定管理手段は、
データの転送先の設定の変更を要求する前記第1の設定変更要求が送信されてきた場合、該第1の設定変更要求に従い、データの転送先の設定を変更する、請求項1または2に記載の管理システム。
【請求項4】
前記設定指示手段は、
前記アプリケーションへの新たな計算機およびネットワーク装置の割り当てにより、データの転送先の設定の変更が必要となるネットワーク装置に対して、該転送先への設定の変更を要求する第2の設定変更要求を送信する設定指示手段を、さらに有し、
前記複数のネットワーク装置の各々は、
自装置からのデータの転送先が設定される第2の通信設定管理手段と、
自装置に送信されてきたデータを、前記第2の通信設定管理手段に設定された転送先に転送する通信処理手段と、を有し、
前記第2の通信設定管理手段は、
前記第2の設定変更要求が送信されてきた場合、該第2の設定変更要求に従い、データの転送先の設定を変更する、請求項3記載の管理システム。
【請求項5】
前記リソース管理手段は、
前記データに対して設定した識別情報と該識別情報が設定された前記データの転送先とを対応付けて定めた、または、該識別情報が設定された前記データのうち、該データを破棄する前記識別情報を定めたフロー情報を設定し、
前記設定指示手段は、
前記リソース管理手段により設定された前記フロー情報を前記ネットワーク装置に送信し、
前記演算処理手段は、
前記管理装置から送信されてきた前記第1の設定変更要求に基づき、前記識別情報を含むデータを転送し、
前記複数のネットワーク装置の各々は、
前記管理装置から送信されてきた前記フロー情報が設定されるフロー管理手段と、
前記フロー管理手段に設定されたフロー情報に基づき、自装置に転送されてきたデータに含まれる前記識別情報に対応する前記転送先に該データを転送し、または、該データを破棄する通信処理手段と、をさらに有する請求項3に記載の管理システム。
【請求項6】
前記複数の計算機の各々は、
自機の負荷状況をモニタする第1のローカルモニタ手段を、さらに有し、
前記演算処理手段は、
前記第1のローカルモニタ手段によりモニタされた自機の負荷状況を示す第1のモニタ情報を前記管理装置に送信し、
前記複数のネットワーク装置の各々は、
自装置の負荷状況をモニタする第2のローカルモニタ手段を、さらに有し、
前記通信処理手段は、
前記第2のローカルモニタ手段によりモニタされた自装置の負荷状況を示す第2のモニタ情報を前記管理装置に送信し、
前記グローバルモニタ手段は、
前記複数の計算機から送信されてきた前記第1のモニタ情報に基づき、前記複数の計算機の負荷状況をモニタするとともに、前記複数のネットワーク装置から送信されてきた前記第2のモニタ情報に基づき、前記複数のネットワーク装置の負荷状況をモニタする、請求項3から5のいずれか1項に記載の管理システム。
【請求項7】
複数の計算機の中から、アプリケーションを構成するプロセスを処理する計算機を該アプリケーションに割り当てるとともに、複数のネットワーク装置の中から、該計算機間で前記プロセスの処理に必要なデータを転送するネットワーク装置を該アプリケーションに割り当てる管理装置であって、
前記複数の計算機および前記複数のネットワーク装置の負荷状況をモニタするグローバルモニタ手段と、
前記アプリケーションに割り当てられている計算機またはネットワーク装置の負荷状況を示す値が所定の閾値を超えた場合、該負荷状況を示す値が所定の閾値を超えた計算機またはネットワーク装置以外の、前記計算機およびネットワーク装置の負荷状況に基づいて、前記アプリケーションに計算機およびネットワーク装置を新たに割り当てるリソース管理手段と、を有する管理装置。
【請求項8】
前記リソース管理手段は、
予め定められたポリシーに基づいて、前記アプリケーションに新たに割り当てる計算機およびネットワーク装置の候補を選択し、
前記計算機および前記ネットワーク装置の候補の中から、前記負荷状況を示す値が所定の閾値を超えた計算機またはネットワーク装置以外の、前記計算機およびネットワーク装置の負荷状況に基づいて、前記アプリケーションに計算機およびネットワーク装置を新たに割り当てる、請求項7に記載の管理装置。
【請求項9】
前記アプリケーションへの新たな計算機およびネットワーク装置の割り当てにより、処理するプロセス、または、データの転送先の少なくとも一方の設定の変更が必要となる計算機に対して、該プロセスまたは該転送先の設定の変更を要求する第1の設定変更要求を送信する設定指示手段を、さらに有する請求項7または8に記載の管理装置。
【請求項10】
前記設定指示手段は、
前記アプリケーションへの新たな計算機およびネットワーク装置の割り当てにより、データの転送先の設定の変更が必要となるネットワーク装置に対して、該転送先への設定の変更を要求する第2の設定変更要求を送信する設定指示手段を、さらに有する請求項9に記載の管理装置。
【請求項11】
前記リソース管理手段は、
前記データに対して設定した識別情報と該識別情報が設定された前記データの転送先とを対応付けて定めた、または、該識別情報が設定された前記データのうち、該データを破棄する前記識別情報を定めたフロー情報を設定し、
前記設定指示手段は、
前記リソース管理手段により設定された前記フロー情報を前記ネットワーク装置に送信する、請求項9に記載の管理装置。
【請求項12】
前記グローバルモニタ手段は、
前記複数の計算機から送信されてきた、該計算機の負荷状況を示す第1のモニタ情報に基づき、前記複数の計算機の負荷状況をモニタするとともに、前記複数のネットワーク装置から送信されてきた、該ネットワーク装置の負荷状況を示す第2のモニタ情報に基づき、前記複数のネットワーク装置の負荷状況をモニタする、請求項7から11のいずれか1項に記載の管理装置。
【請求項13】
管理装置によりアプリケーションに割り当てられ、前記アプリケーションを構成するプロセスを処理する複数の計算機間で前記プロセスの処理に必要なデータを転送するネットワーク装置であって、
前記管理装置から送信されてきた、前記データに対して設定された識別情報と該識別情報が設定された前記データの転送先とを対応付けて定めた、または、該識別情報が設定された前記データのうち、該データを破棄する前記識別情報を定めたフロー情報が設定されるフロー管理手段と、
前記フロー管理手段に設定されたフロー情報に基づき、前記計算機から転送されてきたデータに含まれる前記識別情報に対応する前記転送先に該データを転送し、または、該データを破棄する通信処理手段と、を有するネットワーク装置。
【請求項14】
複数の計算機の中から、アプリケーションを構成するプロセスを処理する計算機を該アプリケーションに割り当てるとともに、複数のネットワーク装置の中から、該計算機間で前記プロセスの処理に必要なデータを転送するネットワーク装置を該アプリケーションに割り当てる管理装置に適用される管理方法であって、
前記複数の計算機および前記複数のネットワーク装置の負荷状況をモニタし、
前記アプリケーションに割り当てられている計算機またはネットワーク装置の負荷状況を示す値が所定の閾値を超えた場合、該負荷状況を示す値が所定の閾値を超えた計算機またはネットワーク装置以外の、前記計算機およびネットワーク装置の負荷状況に基づいて、前記アプリケーションに計算機およびネットワーク装置を新たに割り当てる、管理方法。
【請求項15】
予め定められたポリシーに基づいて、前記アプリケーションに新たに割り当てる計算機およびネットワーク装置の候補を選択し、
前記計算機および前記ネットワーク装置の候補の中から、前記負荷状況を示す値が所定の閾値を超えた計算機またはネットワーク装置以外の、前記計算機およびネットワーク装置の負荷状況に基づいて、前記アプリケーションに計算機およびネットワーク装置を新たに割り当てる、請求項14に記載の管理方法。
【請求項16】
前記アプリケーションへの新たな計算機およびネットワーク装置の割り当てにより、処理するプロセス、または、データの転送先の少なくとも一方の設定の変更が必要となる計算機に対して、該プロセスまたは該転送先の設定の変更を要求する第1の設定変更要求を送信する、請求項14または15に記載の管理方法。
【請求項17】
前記アプリケーションへの新たな計算機およびネットワーク装置の割り当てにより、データの転送先の設定の変更が必要となるネットワーク装置に対して、該転送先への設定の変更を要求する第2の設定変更要求を送信する、請求項16に記載の管理方法。
【請求項18】
前記データに対して設定した識別情報と該識別情報が設定された前記データの転送先とを対応付けて定めた、または、該識別情報が設定された前記データのうち、該データを破棄する前記識別情報を定めたフロー情報を設定し、
前記設定されたフロー情報を前記ネットワーク装置に送信する、請求項16に記載の管理方法。
【請求項19】
前記複数の計算機から送信されてきた、該計算機の負荷状況を示す第1のモニタ情報に基づき、前記複数の計算機の負荷状況をモニタするとともに、前記複数のネットワーク装置から送信されてきた、該ネットワーク装置の負荷状況を示す第2のモニタ情報に基づき、前記複数のネットワーク装置の負荷状況をモニタする、請求項14から18のいずれか1項に記載の管理方法。
【請求項20】
複数の計算機の中から、アプリケーションを構成するプロセスを処理する計算機を該アプリケーションに割り当てるとともに、複数のネットワーク装置の中から、該計算機間で前記プロセスの処理に必要なデータを転送するネットワーク装置を該アプリケーションに割り当てる管理装置に、
前記複数の計算機および前記複数のネットワーク装置の負荷状況をモニタするグローバルモニタ処理と、
前記アプリケーションに割り当てられている計算機またはネットワーク装置の負荷状況を示す値が所定の閾値を超えた場合、該負荷状況を示す値が所定の閾値を超えた計算機またはネットワーク装置以外の、前記計算機およびネットワーク装置の負荷状況に基づいて、前記アプリケーションに計算機およびネットワーク装置を新たに割り当てるリソース管理処理と、を実行させるプログラム。
【請求項21】
管理装置によりアプリケーションに割り当てられ、前記アプリケーションを構成するプロセスを処理する複数の計算機間で前記プロセスの処理に必要なデータを転送するネットワーク装置に、
前記管理装置から送信されてきた、前記データに対して設定された識別情報と該識別情報が設定された前記データの転送先とを対応付けて定めた、または、該識別情報が設定された前記データのうち、該データを破棄する前記識別情報を定めたフロー情報を設定するフロー管理処理と、
前記フロー管理処理により設定されたフロー情報に基づき、前記計算機から転送されてきたデータに含まれる前記識別情報に対応する前記転送先に該データを転送し、または、該データを破棄する通信処理と、を実行させるプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate


【公開番号】特開2011−48539(P2011−48539A)
【公開日】平成23年3月10日(2011.3.10)
【国際特許分類】
【出願番号】特願2009−195284(P2009−195284)
【出願日】平成21年8月26日(2009.8.26)
【出願人】(000004237)日本電気株式会社 (19,353)
【Fターム(参考)】