サービス提供システム、装置及びプログラム
【課題】 サービス毎に異なる要求や、同一サービスの利用量の変化に対し、システム構成やリソース配分を設計する労力を低減させる。
【解決手段】 サービスマネージャ装置は、サービス要求と当該サービス応答との間で前記評価値を計測し、評価値が前記サービス評価値記憶手段内の評価値を満たさない場合にサービスペナルティ値を計算し、前記サービスペナルティ値及び前記評価値を、前記サービス要求の送信先のノード装置及び前記サービス応答の送信元のノード装置に送信する。各ノード装置内のエージェント手段は、前記第2の評価値計測手段により計測された評価値と、前記サービスペナルティ値及び評価値とに基づいて、モジュールペナルティ値の前記積算値を計算し、この積算値と上限値とを比較し、前記積算値が前記上限値より大きいとき、リソース配分を増加可能な場合にはリソース配分更新メッセージを送出する。
【解決手段】 サービスマネージャ装置は、サービス要求と当該サービス応答との間で前記評価値を計測し、評価値が前記サービス評価値記憶手段内の評価値を満たさない場合にサービスペナルティ値を計算し、前記サービスペナルティ値及び前記評価値を、前記サービス要求の送信先のノード装置及び前記サービス応答の送信元のノード装置に送信する。各ノード装置内のエージェント手段は、前記第2の評価値計測手段により計測された評価値と、前記サービスペナルティ値及び評価値とに基づいて、モジュールペナルティ値の前記積算値を計算し、この積算値と上限値とを比較し、前記積算値が前記上限値より大きいとき、リソース配分を増加可能な場合にはリソース配分更新メッセージを送出する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明の実施形態は、サービス提供システム、装置及びプログラムに関する。
【背景技術】
【0002】
計算機システムからなるサービス提供システムは、ユーザから要求されるレスポンスタイムや稼働率などの値を満たすように、サービスを提供する。但し、レスポンスタイム等のユーザの要求はサービス毎に異なる。そのため、システム設計者は、サービス毎に異なる要求に基づき、提供するサービスに特化してシステム構成やリソース配分を設計し、システム構築をする。
【0003】
また、同一のサービスにおいても、サービスの利用量は時とともに変化する。このため、設計時のシステム構成やリソース配分は、システム構築後、経時変化により過度に要求を満たすようになった場合、計算機資源に無駄を生じさせてしまう。なお、この無駄は、最大のサービスの利用量の見積もりに合わせたシステム構成やリソース配分を設計し、システム構築をした場合でも、利用量の最大値と最小値との差分だけ生じることになる。
【0004】
一方、このような無駄を抑制する観点から、システム構成やリソース配分を動的に変化させるシステムを用い、変化後のサービスの利用量に合わせたシステム構成やリソース配分を再設計し、最適なシステム構成やリソース配分を再構築する手法が考えられる。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2007−4337号公報
【特許文献2】特開2005−182796号公報
【特許文献3】特開2001−67334号公報
【特許文献4】特表2008−519322号公報
【特許文献5】特表2006−520027号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、以上のようなサービス提供システムは、サービス毎に異なる要求に基づき、システム構成やリソース配分の設計をする労力がかかる。例えば、新規サービスにより、新たな設計の手間が生じる。
【0007】
また、システム構成やリソース配分を動的に変化させる場合、サービスの利用量に合わせて再設計を繰り返す必要がある。
【0008】
本発明が解決しようとする課題は、サービス毎に異なる要求や、同一サービスの利用量の変化に対し、システム構成やリソース配分を設計する労力を低減し得るサービス提供システム、装置及びプログラムを提供することである。
【課題を解決するための手段】
【0009】
実施形態のサービス提供システムは、サービスマネージャ装置と、複数のノード装置とを備えている。前記サービスマネージャ装置は、サービスを識別するサービス識別情報を含むサービス要求を送信して前記サービス要求に対するサービス応答を受信するユーザ端末に通信可能なゲートウェイ装置に接続されている。前記各ノード装置は、前記サービスマネージャ装置に通信可能となっている。
【0010】
前記サービスマネージャ装置は、サービス評価値記憶手段、モジュール識別情報記憶手段、配置記憶手段、サービス要求送信手段、第1の評価値計測手段、ペナルティ計算手段、ペナルティ送信手段及び配置更新手段を備えている。
【0011】
前記サービス評価値記憶手段は、前記サービス識別情報と、当該サービス識別情報を含むサービス要求と前記サービス応答との間で計測可能な評価値とを関連付けて予め記憶する。
【0012】
前記モジュール識別情報記憶手段は、前記サービス識別情報と、当該サービス識別情報により識別されるサービスの各段階を個別に実行する複数のサービス提供モジュール手段を個別に識別するモジュール識別情報とを関連付けて記憶する。
【0013】
前記配置記憶手段は、前記各ノード装置を識別する各ノード識別情報と、前記各ノード装置に配置されたエージェント手段を識別するエージェント識別情報と、前記エージェント手段に含まれる前記サービス提供モジュール手段を識別する前記モジュール識別情報とを関連付けて記憶する。
【0014】
前記サービス要求送信手段は、前記ゲートウェイ装置からサービス要求を受けると、当該サービス要求内のサービス識別情報に基づいて前記モジュール識別情報記憶手段からモジュール識別情報を読出した後、このモジュール識別情報に基づいて前記配置記憶手段からノード識別情報を読出し、このノード識別情報に基づいて、前記サービス要求を当該ノード識別情報に識別されるノード装置に送信する。
【0015】
前記第1の評価値計測手段は、前記サービス要求送信手段により送信したサービス要求に対するサービス応答をいずれかのノード装置から受けると、当該サービス応答を前記ゲートウェイ装置に送信すると共に、当該サービス要求と当該サービス応答との間で前記評価値を計測する。
【0016】
前記ペナルティ計算手段は、前記計測された評価値が前記サービス評価値記憶手段内の評価値を満たしていない場合には正の値のサービスペナルティ値を計算し、前記計測された評価値が前記サービス評価値記憶手段内の評価値を過度に満たしている場合に負の値のサービスペナルティ値を計算する。
【0017】
前記ペナルティ送信手段は、前記計算されたサービスペナルティ値及び前記計測された評価値を、前記サービス要求の送信先のノード装置及び前記サービス応答の送信元のノード装置に送信する。
【0018】
前記配置更新手段は、前記エージェント手段を削除、移動又は複製するように更新した前記ノード識別情報、前記エージェント識別情報及び前記モジュール識別情報を示す配置更新情報をいずれかの前記ノード装置から受けると、当該配置更新情報に基づいて前記配置記憶手段を更新する。
【0019】
前記各ノード装置は、プログラム実行手段、リソース配分記憶手段、リソース配分更新手段、第1のリソース配分削除手段、プログラム削除手段、第2のリソース配分削除手段、プログラム移動手段及び別ノード問合せ手段を備えている。
【0020】
前記プログラム実行手段は、自ノード装置に前記エージェント手段が配置される場合に用いられ、前記自ノード装置を当該エージェント手段としても機能させるためのエージェントプログラムを記憶可能なメモリ及びこのエージェントプログラムを実行可能なCPUを含んでいる。
【0021】
前記リソース配分記憶手段は、前記自ノード装置に配置されたエージェント手段を識別するエージェント識別情報と、前記自ノード装置のリソースの配分を示すリソース配分とを関連付けて記憶する。
【0022】
前記リソース配分更新手段は、前記自ノード装置に配置されたエージェント手段から当該エージェント手段を識別するエージェント識別情報に関連付けたリソース配分を増加又は減少させるように更新するリソース配分更新メッセージを受けると、当該リソース配分更新メッセージに基づいて前記リソース配分記憶手段内のリソース配分を更新する。
【0023】
前記第1のリソース配分削除手段は、前記自ノード装置に配置されたエージェント手段から当該エージェント手段を識別するエージェント識別情報を指定して当該エージェント手段を削除するエージェント削除メッセージを受けると、当該エージェント削除メッセージに基づいて前記リソース配分記憶手段内の当該エージェント識別情報及びリソース配分を削除する。
【0024】
前記プログラム削除手段は、前記エージェント削除メッセージを受けると、前記第1のリソース配分削除手段により削除された後の自ノード装置に関する前記ノード識別情報、前記エージェント識別情報及び前記モジュール識別情報を示す配置更新情報を前記サービスマネージャ装置に送信し、当該エージェント手段の前記エージェントプログラムを前記メモリから削除する。
【0025】
前記第2のリソース配分削除手段は、前記自ノード装置に配置されたエージェント手段から当該エージェント手段を識別するエージェント識別情報と移動先のノード装置を示すノード識別情報とを指定して当該エージェント手段を移動させるエージェント移動メッセージを受けると、当該エージェント移動メッセージに基づいて前記リソース配分記憶手段内の当該エージェント識別情報及びリソース配分を削除する。
【0026】
前記プログラム移動手段は、前記エージェント移動メッセージを受けると、前記第2のリソース配分削除手段により削除された後の自ノード装置に関する前記ノード識別情報、前記エージェント識別情報及び前記モジュール識別情報と、前記移動先のノード装置に関する前記ノード識別情報、前記エージェント識別情報及び前記モジュール識別情報との両者を含む配置更新情報を前記サービスマネージャ装置に送信し、当該エージェント手段の前記エージェントプログラムを前記移動先のノード装置に送信すると共に、当該エージェントプログラムを前記メモリから削除する。
【0027】
前記別ノード問合せ手段は、前記自ノード装置に配置されたエージェント手段から、前記自ノード装置以外の別ノード装置のリソース配分を問合せる問合せメッセージを受けると、前記別ノード装置のリソース配分記憶手段の記憶内容を前記別ノード装置に問合せると共に、前記別ノード装置から応答された前記記憶内容を当該エージェント手段に応答する。
【0028】
前記エージェント手段は、上下限値記憶手段、いずれかの前記サービス提供モジュール手段、第2の評価値計測手段、比較手段、リソース増加判定手段、この判定の結果、増加可能な場合には前記リソース配分を増加させるように更新するリソース配分更新メッセージを前記リソース配分更新手段に送出する手段、移動メッセージ送出手段、リソース減少判定手段、この判定の結果、減少可能な場合には前記リソース配分を減少させるように更新するリソース配分更新メッセージを前記リソース配分更新手段に送出する手段、削除メッセージ送出手段を備えている。
【0029】
前記上下限値記憶手段は、前記サービス識別情報と、前記モジュール識別情報と、前記サービスペナルティ値を前記各サービス提供モジュール手段に割り当てたモジュールペナルティ値を積算した積算値の上限を示す上限値と、当該積算値の下限を示す下限値とを関連付けて記憶する。
【0030】
前記第2の評価値計測手段は、このサービス提供モジュール手段に対して前記評価値を計測する。
【0031】
前記比較手段は、前記第2の評価値計測手段により計測された評価値と、前記サービスマネージャ装置から受けたサービスペナルティ値及び評価値とに基づいて、前記モジュールペナルティ値を計算すると共に、当該モジュールペナルティ値の前記積算値を計算し、この積算値と前記上下限値記憶手段内の上限値及び下限値とを比較する。
【0032】
前記リソース増加判定手段は、前記比較の結果、前記積算値が前記上限値より大きいとき、当該エージェント手段が配置された自ノード装置内のリソース配分記憶手段を参照し、当該エージェント手段を識別するエージェント識別情報に関連付けられたリソース配分が増加可能か否かを判定する。
【0033】
前記エージェント手段は、この判定の結果、増加可能な場合には前記リソース配分を増加させるように更新するリソース配分更新メッセージを前記リソース配分更新手段に送出する。
【0034】
前記移動メッセージ送出手段は、前記判定の結果、否の場合には前記問合せメッセージを前記別ノード問合せ手段に送出し、当該別ノード問合せ手段から応答された記憶内容に基づいて前記エージェント移動メッセージを前記第2のリソース配分削除手段及び前記プログラム移動手段に送出する。
【0035】
前記リソース減少判定手段は、前記比較の結果、前記積算値が前記下限値より小さいとき、当該エージェント手段が配置された自ノード装置内のリソース配分記憶手段を参照し、当該エージェント手段を識別するエージェント識別情報に関連付けられたリソース配分が減少可能か否かを判定する。
【0036】
前記エージェント手段は、この判定の結果、減少可能な場合には前記リソース配分を減少させるように更新するリソース配分更新メッセージを前記リソース配分更新手段に送出する。
【0037】
前記削除メッセージ送出手段は、前記リソース減少判定手段による判定の結果、否の場合には前記問合せメッセージを前記別ノード問合せ手段に送出し、当該別ノード問合せ手段から応答された記憶内容に基づいて前記エージェント削除メッセージを前記第1のリソース配分削除手段及び前記プログラム削除手段に送出する。
【図面の簡単な説明】
【0038】
【図1】一実施形態に係るサービス提供システムの構成の一例を示す模式図である。
【図2】同実施形態におけるサービスマネージャ装置及び第1ノード装置の構成の一例を示す模式図である。
【図3】同実施形態におけるSLA記憶部を説明するための模式図である。
【図4】同実施形態におけるサービス処理フロー記憶部を説明するための模式図である。
【図5】同実施形態におけるサービス配置記憶部を説明するための模式図である。
【図6】同実施形態における第1及び第2ノード装置の構成の一例を示す模式図である。
【図7】同実施形態におけるサービスマネージャ装置及び第3ノード装置の構成の一例を示す模式図である。
【図8】同実施形態における第3及び第4ノード装置の構成の一例を示す模式図である。
【図9】同実施形態におけるリソース配分記憶部を説明するための模式図である。
【図10】同実施形態におけるペナルティ上下限値記憶部を説明するための模式図である。
【図11】同実施形態におけるサービス提供システムの全体動作を説明するためのフローチャートである。
【図12】同実施形態におけるステップST200又はST300の動作を詳細に説明するためのフローチャートである。
【発明を実施するための形態】
【0039】
以下、本発明の一実施形態について図面を用いて説明する。なお、以下の各装置は、装置毎に、ハードウェア構成、又はハードウェア資源とソフトウェアとの組合せ構成のいずれでも実施可能となっている。組合せ構成のソフトウェアとしては、予めネットワーク又は記憶媒体から対応する装置のコンピュータにインストールされ、対応する装置の機能を実現させるためのプログラムが用いられる。
【0040】
図1は一実施形態に係るサービス提供システムの構成の一例を示す模式図である。サービス提供システムは、ゲートウェイ装置10に接続されたサービスマネージャ装置20と、このサービスマネージャ装置20に通信可能な複数のノード装置N1〜N4とを備えている。各ノード装置N1〜N4は、1つのエージェントマネージャ部301〜304を静的に備えており、0個以上4個以下のエージェント部A〜Dが動的(且つ自律的)に配置される。なお、このサービス提供システムにおいては、エージェント部A〜Dの配置が動的に変化するため、システム構成とリソース配分が動的に変化する。また、エージェント部A〜Dの配置が同じでもリソース配分を変化させる場合がある。
【0041】
図1に示す構成例では、第1ノード装置N1は、第1エージェント部A及び第1エージェントマネージャ部301を備えている。第2ノード装置N2は、第2エージェント部B及び第2エージェントマネージャ部302を備えている。第3ノード装置N3は、複製の第1エージェント部A’、第3エージェント部C及び第3エージェントマネージャ部303を備えている。第4ノード装置N4は、第4エージェント部D及び第4エージェントマネージャ部304を備えている。
【0042】
全てのノード装置N1〜N4は互いに接続されているが、図面を見やすくする観点から、図1では一部の接続線の記載を省略している。また、ノード装置N1,…の台数と、エージェント部A,…の個数とは、4台と4個に限らず、それぞれ独立に任意の台数と個数とを使用可能となっている。
【0043】
ここで、ゲートウェイ装置10は、外部のコンピュータネットワークへの出入り口となるネットワーク拠点である。全てのサービス要求は、ゲートウェイ装置10からサービスマネージャ装置20に送信される。全てのサービス応答は、サービスマネージャ装置20からゲートウェイ装置10に受信される。例えば、ゲートウェイ装置10は、サービスを識別するサービス識別情報を含むサービス要求をユーザ端末(図示せず)から受信すると、このサービス要求をサービスマネージャ装置20に送信する。また、ゲートウェイ装置10は、このサービス要求に対するサービス応答をサービスマネージャ装置20から受信すると、このサービス応答をユーザ端末に送信する。
【0044】
サービスマネージャ装置20は、内部のコンピュータネットワークに存在するノード装置N1〜N4上のエージェント部A〜Dが提供するサービスを管理する。サービスマネージャ装置20は、各ノード装置N1〜N4とゲートウェイ装置10との間に配置されている。なお、全てのサービス要求は、ゲートウェイ装置10及びサービスマネージャ装置20を通っていずれかのノード装置N1〜N4に受信される。同様に、全てのサービス応答は、いずれかのノード装置N1〜N4から送信され、サービスマネージャ装置20及びゲートウェイ装置10を通ってユーザ端末に受信される。
【0045】
具体的には、サービスマネージャ装置20は、例えば図2に示すように、SLA(Service Level Agreement)記憶部21、サービス処理フロー記憶部22、サービス配置記憶部23、サービス評価部24、サービスペナルティ計算部25及び配置更新部26を備えている。
【0046】
SLA記憶部(サービス評価値記憶手段)21は、予め内容を書込可能で各部24〜25から読出可能なメモリであり、サービスごとのSLA(サービス内容合意書に記載された合意内容のうち、計測可能な評価値)が設定される。例えば、SLA記憶部21は、図3に示すように、サービスを識別するサービス識別情報S1,S2と、当該サービス識別情報S1,S2を含むサービス要求とサービス応答との間で計測可能な評価値(例、レスポンスタイム、スループット、稼働率など)とを関連付けて予め記憶している。このように、SLAの評価値としては、レスポンスタイム、スループット、稼働率など、さまざまなバリエーションが考えられる。SLAの評価値は単一のみで設定してもよく、複数設定してもよい。
【0047】
サービス処理フロー記憶部(モジュール識別情報記憶手段)22は、予め内容を書込可能で各部24〜25から読出可能なメモリであり、どの種類のサービス提供モジュール部MA〜MDがどの順序で処理することによってサービスを提供するかを記憶する。例えば、サービス処理フロー記憶部22は、図4に示すように、サービス識別情報S1,S2と、当該サービス識別情報により識別されるサービスの各段階を個別に実行する複数のサービス提供モジュール部MA〜MDを個別に識別するモジュール識別情報とを関連付けて記憶する。
【0048】
この例では、第1及び第2サービス提供モジュール部MA,MBにより第1サービスS1を提供する。同様に、第3及び第4サービス提供モジュール部MC,MDにより第2サービスS2を提供する。
【0049】
サービス配置記憶部(配置記憶手段)23は、予め内容を書込可能で各部24〜26から読出/書込可能なメモリであり、どの種類のエージェント部A〜D及びその複製が、どのノード装置N1〜N4に配置されたかを記憶する。例えば、サービス配置記憶部23は、図5に示すように、各ノード装置N1〜N4を識別する各ノード識別情報と、各ノード装置N1〜N4に配置されたエージェント部A〜D,A’を識別するエージェント識別情報と、エージェント部A〜D,A’に含まれるサービス提供モジュール部MA〜MDを識別するモジュール識別情報とを関連付けて記憶する。
【0050】
なお、複製の第1エージェント部A’は、第1エージェント部Aが多重化された、第1エージェント部Aと同じ種類のエージェントである。また、サービス配置記憶部23の記憶内容としては、それぞれのエージェント部A〜Dのリソース配分も同時に記憶しておくバリエーションも考えられる。
【0051】
サービス評価部24は、ゲートウェイ装置10とサービス提供モジュール部MA〜MDの間のサービスの要求と応答を伝達し、SLA記憶部21に設定したSLAの評価値と同じ種類の評価値を計測する。評価値の一例としては、性能の観点から、サービス要求とサービス要求結果の時間からレスポンスタイム(または、スループットなど)を計測する。なお、サービス配置記憶部23とサービス処理フロー記憶部22の情報を元に、要求を伝達するエージェント部A〜Dを選択する。評価値としては、単一の種類を計測してもよく、複数の種類を計測してもよい。
【0052】
このようなサービス評価部24は、具体的には以下の機能(f24-1)〜(f24-2)をもっている。
【0053】
(f24-1) ゲートウェイ装置10からサービス要求を受けると、当該サービス要求内のサービス識別情報に基づいてサービス処理フロー記憶部22からモジュール識別情報を読出した後、このモジュール識別情報に基づいてサービス配置記憶部23からノード識別情報を読出し、このノード識別情報に基づいて、サービス要求を当該ノード識別情報に識別されるノード装置N1,N2,N3又はN4に送信するサービス要求送信機能。
【0054】
(f24-2) サービス要求送信機能により送信したサービス要求に対するサービス応答をいずれかのノード装置N1〜N4から受けると、当該サービス応答をゲートウェイ装置10に送信すると共に、当該サービス要求と当該サービス応答との間で評価値を計測する第1の評価値計測機能。
【0055】
サービスペナルティ計算部25は、例えば、以下の機能(f25-1)〜(f25-2)をもっている。
【0056】
(f25-1) サービス評価部24により計測された評価値がSLA記憶部21内の評価値を満たしていない場合には正の値のサービスペナルティ値を計算し、当該計測された評価値がSLA記憶部21内の評価値を過度に満たしている場合に負の値のサービスペナルティ値を計算するペナルティ計算機能。なお、満たしている度合いが「過度」か否かは、計測された評価値とSLA記憶部21内の評価値との差分の絶対値が基準値以上か否かにより判定可能である。
【0057】
(f25-2) 当該計算されたサービスペナルティ値及び当該計測された評価値を、サービス要求の送信先のノード装置N1,N2,N3又はN4及びサービス応答の送信元のノード装置N1,N2,N3又はN4に送信するペナルティ送信機能。
【0058】
ここで、サービスペナルティ値とは、サービスがどれくらいSLAを満たしているかを示す情報である。なお、サービスペナルティ値はSLAの評価値ごとに計算してもよく、SLAの複数の評価値に基づいて1つのサービスペナルティ値を計算してもよい。
【0059】
サービスペナルティ値の計算方法の一例として、次式の通り、計測されたレスポンスタイムからサービスペナルティ値を計算する場合を説明する。
【0060】
(サービスペナルティ値)=((計測したレスポンスタイム)−(SLA記憶部21内のレスポンスタイム))×(レスポンスタイム重み)
なお、「…重み」は、ユーザが重要視している要求に高い値を設定しておく。また、このようなサービスペナルティ値は、モジュールペナルティ積算部431,432又は433,434において、サービスを構成する各サービス提供モジュール部MA,MB又はMC,MDにおけるモジュールペナルティ値に分割される。
【0061】
分割する割合は、以下の(1)又は(2)のように定める。
【0062】
例えば、モジュールペナルティ積算部431は、モジュール評価部421により計測されたサービス提供モジュール部MAの処理時間に基づき、(1)又は(2)に示す割合でサービスペナルティ値を分割する。
【0063】
(1)サービスのレスポンスタイム中のサービス提供モジュール部MAの処理時間の割合
(2)「そのサービス提供モジュール部MAの現在の処理時間と、そのサービス提供モジュール部MAのその前の時点における処理時間との差分」と「現在のレスポンスタイムと、その前の時点におけるレスポンスタイムの差分」の割合。なお、「その前の時点」は「前の周期」と読み替えてもよい。また、第1エージェント部Aにサービス提供モジュール部MA,…が複数存在する場合、サービス要求の種類で処理を区別する。
【0064】
配置更新部26は、エージェント部A,B,C又はDを削除、移動又は複製するように更新したノード識別情報、エージェント識別情報及びモジュール識別情報を示す配置更新情報をいずれかのノード装置N1〜N4から受けると、当該配置更新情報に基づいてサービス配置記憶部23を更新する配置更新機能をもっている。
【0065】
一方、ノード装置N1〜N4は仮想マシン(エージェント部A〜D)を動作させる物理的なコンピュータであり、図2,図6〜図8に示すように、エージェントマネージャ部301〜304と、図示しないプログラム実行手段とを備えている。このプログラム実行手段は、自ノード装置N1〜N4にエージェント手段(エージェント部A〜D)が配置される場合に用いられ、自ノード装置N1〜N4を当該エージェント手段としても機能させるためのエージェントプログラムを記憶可能なメモリ及びこのエージェントプログラムを実行可能なCPUを含んでいる。
【0066】
ここで、ノード装置N1〜N4内のエージェントマネージャ装置301〜304は、互いに同一構成であるので、ここでは第1ノード装置N1内の第1エージェントマネージャ部301を例に挙げて説明する。
【0067】
第1エージェントマネージャ部301は、第1ノード装置N1内に配置された全てのエージェント部A,…を管理するものであり、例えば、エージェント部A,…のリソース配分の管理や、エージェント部A,…の配置の管理を行なう。リソース配分の管理としては、エージェント部A,…のリソース配分の記憶と、エージェント部A,…のリソース配分の変更をする。エージェント部A,…の配置の管理としては、別のノード装置N2,…にリソース配分を問合せ、その問合せ結果に基づくエージェント部A,…の移動、複製を行なう。また、エージェント部A,…が不要になった場合の削除も行なう。
【0068】
具体的には、エージェントマネージャ部301は、リソース配分記憶部311、リソース配分部321、別ノード問合せ部331及びエージェント再配置部341を備えている。
【0069】
リソース配分記憶部311は、各部321〜341,441から読出/書込可能なメモリであり、自ノード装置N1に配置されたエージェント部A,…を識別するエージェント識別情報と、自ノード装置N1のリソースの配分を示すリソース配分とを関連付けて記憶する。例えば、第3ノード装置N3のリソース配分記憶部313は、図9に示すように、自ノード装置N3に配置された第1及び第3エージェント部A’,Cを識別するエージェント識別情報と、自ノード装置N3のリソースの配分を示すリソース配分40%,20%とを関連付けて記憶している。補足すると、本実施形態では、各エージェント部A,…の単位でリソース配分やシステム構成を変化させる。ここでいうリソース配分とは、そのエージェント部A,…が使用できるプロセッサ、ハードディスク(補助記憶装置)、主記憶装置、ネットワークなどの計算機資源の割当を意味する。
【0070】
リソース配分部321は、リソース配分を変化させ、リソース配分をリソース配分記憶部311に記録する。また、エージェント部A,…の削除又は移動に伴ってエージェント識別情報及びリソース配分を削除した後には、当該削除後のリソース配分記憶部311のエージェント識別情報を含むメッセージをエージェント再配置部341に送る。
【0071】
例えばリソース配分部321は、以下の機能(f32-1)〜(f32-3)をもっている。
【0072】
(f32-1) 自ノード装置N1に配置されたエージェント部A,…から当該エージェント部A,…を識別するエージェント識別情報に関連付けたリソース配分を増加又は減少させるように更新するリソース配分更新メッセージを受けると、当該リソース配分更新メッセージに基づいてリソース配分記憶部311内のリソース配分を更新するリソース配分更新機能。
【0073】
(f32-2) 自ノード装置N1に配置されたエージェント部A,…から当該エージェント部A,…を識別するエージェント識別情報を指定して当該エージェントA,…を削除するエージェント削除メッセージを受けると、当該エージェント削除メッセージに基づいてリソース配分記憶部311内の当該エージェント識別情報及びリソース配分を削除する第1のリソース配分削除機能。
【0074】
(f32-3) 自ノード装置N1に配置されたエージェント部A,…から当該エージェント部A,…を識別するエージェント識別情報と移動先のノード装置N2,…を示すノード識別情報とを指定して当該エージェント部A,…を移動させるエージェント移動メッセージを受けると、当該エージェント移動メッセージに基づいてリソース配分記憶部311内の当該エージェント識別情報及びリソース配分を削除する第2のリソース配分削除機能。
【0075】
別ノード問合せ部331は、他のノード装置N2〜N4にブロードキャスト又はマルチキャストによって別ノード装置N2〜N4のリソース配分を問い合わせる。問合せ結果は、エージェント再配置のあて先などを決定するための元とする情報とする。なお、サービス配置記憶部23にリソース配分の情報を持たせる場合は、別ノード問合せ部331は、配置更新部26にリソース配分を問合せる。
【0076】
具体的には、別ノード問合せ部331は、自ノード装置N1に配置されたエージェント部A,…から、自ノード装置N1以外の別ノード装置N2,N3,N4のリソース配分を問合せる問合せメッセージを受けると、別ノード装置N2,N3,N4のリソース配分記憶部312,313,314の記憶内容を別ノード装置N2,N3,N4に問合せると共に、別ノード装置N2,N3,N4から応答された当該記憶内容を当該エージェント部A,…に応答する別ノード問合せ機能をもっている。
【0077】
エージェント再配置部341は、エージェント意思決定部441からのメッセージを受け取り、内容に応じて、エージェント部Aが現在存在するノード装置N1から他のノード装置N2〜N4への移動、複製、もしくは削除を行なう。エージェント部Aの移動または、複製を行なう場合は別ノード問合せ部331から、別ノード装置N2〜N4へのリソース配分を問い合わせて、そのノード装置N2〜N4にエージェント部Aを配置可能かどうか調べる。その結果を踏まえて、どのノード装置N2〜N4にエージェント部Aの移動または複製を行なうべきかを決定する。
【0078】
エージェント部Aの削除を行なう場合、エージェント再配置部341は、別ノード装置N2,N3,N4のリソース配分記憶部312,313,314の記憶内容を確認し、他に同じサービス提供モジュール部MAを含む複製のエージェント部A’が存在するかを確認する。もし他に同じサービス提供モジュール部MAを含む複製のエージェント部A’が存在しない場合は、エージェント部Aを削除しない。理由は、サービス提供システムがサービスを提供するためには、各サービス提供モジュール部MA,MB,MC,MDが少なくとも1つずつ必要なためである。
【0079】
エージェント部Aの移動、複製、削除を行う場合、エージェント再配置部341は、配置更新部26を介してサービス配置記憶部23の情報を修正する。また、エージェント部A〜Dの配置の変更に合わせて、変更されたエージェント部A〜D内のサービス提供モジュール部MA〜MDへのサービス要求のあて先の設定と、そのサービス提供モジュール部MA〜MDに対してサービス要求を送るサービス提供モジュール部MA〜MDのサービス要求のあて先の設定を修正する。
【0080】
具体的には、エージェント再配置部341は、以下の機能(f34-1)〜(f34-2)をもっている。
【0081】
(f34-1) エージェント意思決定部441からエージェント削除メッセージを受けると、リソース配分部321により削除された後の自ノード装置N1に関するノード識別情報、エージェント識別情報及びモジュール識別情報を示す配置更新情報をサービスマネージャ装置20に送信し、当該エージェント部A,…のエージェントプログラムをメモリから削除するプログラム削除機能。
【0082】
(f34-2) エージェント意思決定部441からエージェント移動メッセージを受けると、リソース配分部321により削除された後の自ノード装置N1に関するノード識別情報、エージェント識別情報及びモジュール識別情報と、移動先のノード装置N2,N3又はN4に関するノード識別情報、エージェント識別情報及びモジュール識別情報との両者を含む配置更新情報をサービスマネージャ装置20に送信し、当該エージェント部A,…のエージェントプログラムを移動先のノード装置N2,N3又はN4に送信すると共に、当該エージェントプログラムをメモリから削除するプログラム移動機能。
【0083】
一方、エージェント部A〜Dは、物理的なコンピュータの上で動作する仮想マシンである。なお、エージェント部A〜Dは、サービスを提供するための部品となるサービス提供モジュール部MA〜MDを個別に含んでいる。複数のエージェント部A,B又はC,Dが1つのサービスS1又はS2を連携して処理する。エージェント部A,B,C,Dは、任意のノード装置N1〜N4に移動させることができ、可用性を向上させる多重化のために同じ種類のエージェント部A,B,C,Dを複数配置させることもできる。
【0084】
この例では、第1エージェント部A、複製の第1エージェント部A’及び第2エージェント部Bにより第1サービスS1を提供し、第3エージェント部C及び第4エージェント部Dにより第2サービスS2を提供する。なお、複製の第1エージェント部A’は第1エージェント部Aを多重化した、第1エージェント部Aと同じ種類のエージェントである。
【0085】
エージェント部A〜Dは、ノード装置N1〜N4の間で移動、複製が行なわれ、必要が無くなると削除される。
【0086】
なお、各エージェント部A〜Dは、サービス提供モジュール部MA〜MDによるサービス処理内容を除き、互いに同一の機能構成であるので、ここでは、第1エージェント部Aを例に挙げて詳細に説明する。
【0087】
第1エージェント部Aは、サービス提供モジュール部MA、ペナルティ上下限値記憶部411、モジュール評価部421、モジュールペナルティ積算部431及びエージェント意思決定部441を備えている。
【0088】
サービス提供モジュール部MAは、サービスの提供を行なうための部品の1つであり、サービス識別情報により識別されるサービスの各段階を個別に実行するものであって、他のサービス提供モジュール部MBと連携して、サービスを提供する。補足すると、サービス提供システムが提供するサービスは、一般的なWebシステムで用いられるWebサーバ、アプリケーションサーバ及びデータベースサーバの三層構造のようなサービス提供モジュールのように、複数のサービス提供モジュールが連携して処理することを想定している。
【0089】
ペナルティ上下限値記憶部411は、同じエージェント部A内のサービス提供モジュール部MAに対するペナルティ積算値の上限値と下限値を記憶する。具体的には、ペナルティ上下限値記憶部411は、図10の下から4行目に示すように、サービス識別情報と、モジュール識別情報と、サービスペナルティ値をサービス提供モジュール部MAに割り当てたモジュールペナルティ値を積算した積算値の上限を示す上限値と、当該積算値の下限を示す下限値とを関連付けて記憶する。なお、図10の下から1行目〜3行目に示すデータは、ノード装置N1には配置されていないエージェント部B〜Dに関するデータであるが、参考のために記載した。
【0090】
モジュール評価部421は、提供するサービスの中で、例えば第1エージェント部Aにある第1サービス提供モジュール部MAがどれくらいペナルティを請け負うべきかを決定するために第1サービス提供モジュール部MAの評価をする。具体的には、モジュール評価部421は、この第1サービス提供モジュール部MAに対して、前述した評価値を計測する第2の評価値計測機能をもっている。
【0091】
モジュールペナルティ積算部431は、モジュール評価部421で計測された評価値と、サービスマネージャ装置20から受けたサービスペナルティ値及び評価値とに基づいて、モジュールペナルティ値を計算すると共に、当該モジュールペナルティ値の積算値を計算する機能をもっている。なお、モジュールペナルティ値の計算は、前述した通り、例えば、モジュール評価部421により計測された第1サービス提供モジュール部MAの処理時間に基づく割合でサービスペナルティ値を分割することにより行う。また、積算値の計算は、モジュールペナルティ値を一定時間の間積算することにより行う。また、モジュールペナルティ値の積算値は一定時間ごとにリセットされる。なお、モジュールペナルティ値とは、エージェントのリソース配分を変更するか、移動、複製、削除するかを決定するための判断材料とする情報である。
【0092】
また、モジュールペナルティ積算部431は、計算した積算値と、ペナルティ上下限値記憶部411内の上限値及び下限値とを比較し、比較結果を示すメッセージをエージェント意思決定部441に送出する機能をもっている。
【0093】
エージェント意思決定部441は、モジュールペナルティ積算部431からのメッセージに応じて、リソース配分記憶部311と別ノード問合せ部331から情報を得て、エージェント部A,…のリソース配分を変更するか、エージェント部A,…を再配置するかを決定し、リソース配分記憶部311やサービス配置記憶部23を更新して、リソース配分部311にリソース配分の変更を行なうようにメッセージを送るか、もしくはエージェント再配置部341にエージェント部A,…の移動、複製、削除を行なうようにメッセージを送る。ここでいうエージェント部A,…の再配置とは、エージェント部A,…の移動、複製、削除のことである。
【0094】
具体的には、エージェント意思決定部441は、以下の機能(f44-1)〜(f44-5)をもっている。
【0095】
(f44-1) モジュールペナルティ積算部431による比較の結果、積算値が上限値より大きいとき、当該エージェント部A,…が配置された自ノード装置N1内のリソース配分記憶部311を参照し、当該エージェント部A,…を識別するエージェント識別情報に関連付けられたリソース配分が増加可能か否かを判定するリソース増加判定機能。
【0096】
(f44-2) この判定の結果、増加可能な場合にはリソース配分を増加させるように更新するリソース配分更新メッセージをリソース配分部321に送出する機能。
【0097】
(f44-3) リソース増加判定機能による判定の結果、否の場合には問合せメッセージを別ノード問合せ部331に送出し、当該別ノード問合せ部331から応答された記憶内容に基づいてエージェント移動メッセージをリソース配分部321及びエージェント再配置部341に送出する移動メッセージ送出機能。
【0098】
(f44-4) モジュールペナルティ積算部431による比較の結果、積算値が下限値より小さいとき、当該エージェント部A,…が配置された自ノード装置N1内のリソース配分記憶部311を参照し、当該エージェント部A,…を識別するエージェント識別情報に関連付けられたリソース配分が減少可能か否かを判定するリソース減少判定機能。
【0099】
(f44-5) この判定の結果、減少可能な場合にはリソース配分を減少させるように更新するリソース配分更新メッセージをリソース配分部321に送出する機能。
【0100】
(f44-6) リソース減少判定機能による判定の結果、否の場合には問合せメッセージを別ノード問合せ部331に送出し、当該別ノード問合せ部331から応答された記憶内容に基づいてエージェント削除メッセージをリソース配分部321及びエージェント再配置部341に送出する削除メッセージ送出機能。
【0101】
次に、以上のように構成されたサービス提供システムの動作を図11及び図12のフローチャートを用いて説明する。
【0102】
図11はサービス提供システムの全体動作を説明するためのフローチャートである。図示するように、業務要件を分析し、SLA記憶部21、サービス処理フロー記憶部22、サービス配置記憶部23、リソース配分記憶部311〜314及びペナルティ上下限値記憶部411〜414の初期値を設定する(ST100)。
【0103】
ここで、リソース配分記憶部311〜314の初期値は、ノード装置N1〜N4の各々が提供可能なリソース配分を、各ノード装置N1〜N4におけるリソース配分の初期値の合計が上回らなければ、任意で良い。
【0104】
次に、サービスの業務要件に見合った量の利用を行なう試験的運用を行い、サービスの業務要件に見合ったシステム構成とリソース配分の再構成を行なう(ST200)。
【0105】
しかる後、再構成されたサービス提供システムを本番運用する(ST300)。運用中にSLAが変化した場合、SLA記憶部21の設定とペナルティ上下限値記憶部411〜414の上限値及び下限値を再設定して、サービスの業務要件に見合ったシステムに再構成する。
【0106】
図12はサービス提供システムの全体動作のうち、ステップST200又はST300におけるシステム構成とリソース配分の再構成を行なう動作を詳細に説明するためのフローチャートである。すなわち、ステップST番号の200番台を300番台に読み替えてもよい。また、ノード装置N1〜N4内の各部の下付添字1,2等は、各部が属するノード装置N1〜N4を表している。このため、下付添字1,2等をもつ各部は、ノード装置N1,N2等の中でそれぞれ並列に処理を実行している。
【0107】
ステップST201においては、図示しないユーザ端末から第1サービスS1を識別するサービス識別情報を含むサービス要求をゲートウェイ装置10が受信すると、ゲートウェイ装置10からサービスマネージャ装置20にサービス要求が送信される。
【0108】
サービスマネージャ装置20においては、サービス評価部24がサービス処理フロー記憶部22からサービスの処理を行なう第1及び第2サービス提供モジュール部MA,MBを確認し、サービス配置記憶部23から、要求されたサービスの処理を行なう第1及び第2サービス提供モジュール部MA,MBの配置された各ノード装置N1〜N3を確認する。ここで確認した情報を元に、サービス評価部24は、第1サービス提供モジュール部MAを含む第1又は第3ノード装置N1又はN3にサービス要求を送信する。
【0109】
いずれかのノード装置N1又はN3の第1エージェント部A内の第1サービス提供モジュール部MA内で処理が行なわれ、第2ノード装置N2内の第2エージェント部Bにサービス要求を送信する。第2エージェント部Bの第2サービス提供モジュール部MBはサービス要求に対するサービス応答を第1エージェント部Aに返信する。第1エージェント部Aの第1サービス提供モジュール部MAはこのサービス応答をサービスマネージャ装置20内のサービス評価部24に返信する。
【0110】
これらサービス要求の送信からサービス応答の受信までの処理において、サービス評価部24がサービスの評価値を計測する一方、各エージェント部A,B内のモジュール評価部421,422が各サービス提供モジュール部MA,MBの評価値を計測する。
【0111】
サービス評価部24の評価方法は任意であるが、例えばレスポンスタイムを評価する。
【0112】
サービス提供モジュール部MA,MBの評価方法は任意であるが、例えばレスポンスタイムの割合を求める。例えば、評価対象のサービス提供モジュール部MAが、サービスマネージャ装置20からサービス要求を受けてから連携する他のサービス提供モジュール部MBにサービス要求を送信するまでの処理時間と、連携する他のサービス提供モジュール部MBからのサービス応答を受信してからサービス応答をサービスマネージャ装置20に返すまでの処理時間とを合計した処理時間のうち、サービス提供モジュール部MAの処理時間が占める割合を評価する。
【0113】
ステップST202においては、サービスペナルティ計算部25は、サービス評価部24により計測された評価値と、SLA記憶部21の評価値とに基づいて、サービスペナルティ値を計算する。
【0114】
サービスペナルティ値の計算方法は任意であるが、この例では、サービス評価部24により計測された評価値がSLA記憶部21内の評価値を満たしていない場合には正の値のサービスペナルティ値を計算し、当該計測された評価値がSLA記憶部21内の評価値を過度に満たしている場合に負の値のサービスペナルティ値を計算する。
【0115】
ステップST203においては、サービスペナルティ計算部25は、計算されたサービスペナルティ値及び当該計測された評価値を、サービス要求の送信先のノード装置N1及びサービス応答の送信元のノード装置N2に送信する。
【0116】
モジュールペナルティ積算部431,432は、モジュール評価部421,422で計測された評価値と、サービスマネージャ装置20から受けたサービスペナルティ値及び評価値とに基づいて、モジュールペナルティ値を計算すると共に、当該モジュールペナルティ値の積算値を計算する。
【0117】
ステップST204以降のフローでは、さまざまなバリエーションが考えられるが、以下はSLA記憶部21内の評価値をレスポンスタイムとしたときの一例である。
【0118】
ステップST204においては、モジュールペナルティ積算部431,432は、計算した積算値と、ペナルティ上下限値記憶部411,412内の上限値とを比較し、比較結果を示すメッセージをエージェント意思決定部441,442に送出する。これにより、エージェント部A,Bのリソース配分の変更、エージェント部A,Bの移動、複製、削除を行なう。
【0119】
ステップST205においては、エージェント意思決定部441,442は、モジュールペナルティ積算部431,432による比較の結果、積算値が上限値より大きいとき、リソース配分記憶部311,312を参照し、リソース配分が増加可能か否かを判定する。この判定は、例えば、自ノード装置N1が提供可能なリソース配分に比べ、リソース配分記憶部311内のリソース配分の合計が余裕分(例、10%分)よりも低ければ増加可能とすればよい。
【0120】
ステップST206においては、エージェント意思決定部441,442は、ステップST206の判定の結果、増加可能な場合にはリソース配分を増加させるように更新するリソース配分更新メッセージをリソース配分部321,322に送出する。
【0121】
リソース配分部321,322は、自ノード装置N1,N2に配置されたエージェント部A,Bから当該エージェント部A,Bを識別するエージェント識別情報に関連付けたリソース配分を増加させるように更新するリソース配分更新メッセージを受けると、当該リソース配分更新メッセージに基づいてリソース配分記憶部311,312内のリソース配分を更新する。
【0122】
ステップST207においては、エージェント意思決定部441,442は、ステップST206による判定の結果、増加が否の場合には問合せメッセージを別ノード問合せ部331,332に送出し、当該別ノード問合せ部331,332から応答された記憶内容に基づいて、別ノードのリソース配分を確認して移動先のノード装置N4を決定する。
【0123】
このとき、エージェント意思決定部441,442は、例えば、別ノード問合せ部331,332から応答された別ノード装置N2〜N4、N1とN3〜N4のリソース配分記憶部312〜314、311と313〜314の記憶内容のうち、移動対象のエージェント部A,Bが必要とするリソース配分以上の空きリソース配分であって、当該必要とするリソース配分に最も近い空きリソース配分を示す記憶内容をもつ別ノード装置N4を移動先のノード装置N4として選択する。これは、可能な限り大きな空きリソースを残しておき、他のエージェント部の移動又は複製ができる可能性を高めるためである。なお、移動後のノード装置N1,…に1つのエージェント部A,…も存在しなくなった場合には、省電力のために自動的に電源を落とす。
【0124】
また、エージェント意思決定部441,442は、この移動を検討するとき、サービス提供モジュール部MA,MBの細分化をしすぎてしまっている場合には、細分化したサービス提供モジュール部MA,MBのリソース配分をまとめて、統合した上で移動を行なえるかを判定する。
【0125】
もし、必要とする配分リソースに見合う空きリソースが一つのノード装置N2〜N4、N1とN3〜N4になく移動ができない場合は、エージェント意思決定部441,442は、複製を行なう。この場合、必要とするリソース配分に足りない分だけのリソースを複製先のエージェント部A,Bに配分することとし、複製先のエージェント部A,Bが必要とするリソース配分以上の(ノード装置内のエージェント部の全てが安定して動作するのに十分な余力を残して)できるだけ近い空きリソース量のノード装置を複製先ノード装置として選択する。なお、移動又は複製ができるノード装置がない場合、エージェント意思決定部441,442は、電源が落ちているノード装置(エージェント部がなく、空きリソース量が多いノード装置)を起動し、そのノード装置に移動をするようにすればよい。
【0126】
しかしながら、この例では、前述した通り、別ノード装置N4を選択したので、エージェント意思決定部441,442は、当該移動対象のエージェント部A,Bを識別するエージェント識別情報と当該選択したノード装置N4を示すノード識別情報とを指定したエージェント移動メッセージを作成し、このエージェント移動メッセージをリソース配分部321,322及びエージェント再配置部341,342に送出する。
【0127】
リソース配分部321,322は、自ノード装置N1に配置されたエージェント部A,Bから当該エージェント部A,Bを識別するエージェント識別情報と移動先のノード装置N4を示すノード識別情報とを指定して当該エージェント部A,Bを移動させるエージェント移動メッセージを受けると、当該エージェント移動メッセージに基づいてリソース配分記憶部311,312内の当該エージェント識別情報及びリソース配分を削除する。
【0128】
エージェント再配置部341,342は、エージェント意思決定部441からエージェント移動メッセージを受けると、リソース配分部321,322により削除された後の自ノード装置N1,N2に関するノード識別情報、エージェント識別情報及びモジュール識別情報と、移動先のノード装置N4に関するノード識別情報、エージェント識別情報及びモジュール識別情報との両者を含む配置更新情報をサービスマネージャ装置20に送信し、当該エージェント部A,Bのエージェントプログラムを移動先のノード装置N4に送信すると共に、当該エージェントプログラムをメモリから削除する。
【0129】
サービスマネージャ装置20においては、配置更新部26が、エージェント部A,Bを移動するように更新したノード識別情報、エージェント識別情報及びモジュール識別情報を示す配置更新情報をノード装置N1,N2から受けると、当該配置更新情報に基づいてサービス配置記憶部23を更新する。
【0130】
ステップST208においては、ステップST204での比較の結果、積算値が上限値以下のとき、モジュールペナルティ積算部431,432は、計算した積算値と、ペナルティ上下限値記憶部411,412内の下限値とを比較し、比較結果を示すメッセージをエージェント意思決定部441,442に送出する。
【0131】
ステップST209においては、エージェント意思決定部441,442は、モジュールペナルティ積算部431,432による比較の結果、積算値が下限値より過度に小さいとき、リソース配分記憶部311,312を参照し、リソース配分が減少可能か否かを判定する。
【0132】
ステップST210においては、エージェント意思決定部441,442は、ステップST209の判定の結果、減少可能な場合にはリソース配分を減少させるように更新するリソース配分更新メッセージをリソース配分部321,322に送出する。
【0133】
リソース配分部321,322は、自ノード装置N1,N2に配置されたエージェント部A,Bから当該エージェント部A,Bを識別するエージェント識別情報に関連付けたリソース配分を減少させるように更新するリソース配分更新メッセージを受けると、当該リソース配分更新メッセージに基づいてリソース配分記憶部311,312内のリソース配分を更新する。
【0134】
ステップST211においては、エージェント意思決定部441,442は、ステップST209による判定の結果、減少が否の場合には問合せメッセージを別ノード問合せ部331,332に送出し、当該別ノード問合せ部331,332から応答された記憶内容に基づいて、別ノード装置N2〜N4,N1とN3〜N4に複製のエージェント部A,Bが存在するならば、エージェント削除メッセージをリソース配分部321,322及びエージェント再配置部341,342に送出する。
【0135】
この例では、第1エージェント部Aの複製のエージェント部A’が第3ノード装置N3に存在する。よって、エージェント意思決定部441は、エージェント削除メッセージをリソース配分部321及びエージェント再配置部341に送出する。
【0136】
リソース配分部321は、エージェント意思決定部441からエージェント部Aを識別するエージェント識別情報を指定して当該エージェントAを削除するエージェント削除メッセージを受けると、当該エージェント削除メッセージに基づいてリソース配分記憶部311内の当該エージェント識別情報及びリソース配分を削除する。
【0137】
エージェント再配置部341は、エージェント意思決定部441から当該エージェント削除メッセージを受けると、リソース配分部321により削除された後の自ノード装置N1に関するノード識別情報、エージェント識別情報及びモジュール識別情報を示す配置更新情報をサービスマネージャ装置20に送信し、当該エージェント部A,…のエージェントプログラムをメモリから削除する。
【0138】
サービスマネージャ装置20においては、配置更新部26が、エージェント部Aを削除するように更新したノード識別情報、エージェント識別情報及びモジュール識別情報を示す配置更新情報をノード装置N1から受けると、当該配置更新情報に基づいてサービス配置記憶部23を更新する。
【0139】
次に、エージェント意思決定部441,442は、ステップST208で、ペナルティ積算したモジュールペナルティが下限値より大きい場合と、ステップST206,ST207,ST210,ST211の後には、ある一定時間が経過しているかどうかを確認する。一定時間が経っている場合はモジュールペナルティ値の積算値をクリア(ST212)し、ステップST201に戻る。一定時間が経っていない場合は、そのままステップST201に戻る。
【0140】
上述したように本実施形態によれば、サービス要求の送信からサービス応答の受信までの処理において、サービス評価部24により計測された評価値と、SLA記憶部21の評価値とに基づいて、サービスペナルティ値を計算し、モジュール評価部421,422で計測された評価値と、サービスマネージャ装置20から受けたサービスペナルティ値及び評価値とに基づいて、モジュールペナルティ値及びその積算値を計算し、計算した積算値と、ペナルティ上下限値記憶部411,412内の上限値及び下限値とを比較し、比較結果に応じてリソース配分を増加若しくは変更し、又はエージェント部A,…を削除、移動若しくは複製する構成により、サービス毎に異なる要求や、同一サービスの利用量の変化に対し、システム構成やリソース配分を設計する労力を低減させることができる。
【0141】
補足すると、本実施形態によれば、新しいサービスに対してもシステム構成やリソース配分の設計をすることなく、そのサービスに要求されるSLAの評価値を設定するだけで、各エージェント部A〜Dが自律的にリソース配分を増加若しくは変更するか、又はエージェント部A,…を削除、移動若しくは複製するかを判断する構成により、SLAの評価値を満たすシステム構成やリソース配分を自律的に設計し、システムを自律的に構成する。
【0142】
また時とともに変化するサービスの利用量に対しては、各エージェント部A〜Dが自律的にSLAの評価値を満たしているかを評価し、満たしていない場合は、システム構成やリソース配分を自律的に再設計し、システム構成やリソース配分を自律的に変化させる。
【0143】
これらによって、新しいサービスのためのサービスに特化したシステムの設計・構築の手間を無くし、さらには、サービスの要求の変化に応じた再設計・再構成の手間無く、計算機資源を効率的に使用することができる。このような本実施形態は、例えばクラウドコンピューティングにおけるプライベートクラウド又はパブリッククラウドのシステムを構成する場合に適用することもできる。
【0144】
また、本実施形態は、各エージェント部A〜Dが自律的にリソース配分を増加若しくは変更するか、又はエージェント部A,…を削除、移動若しくは複製するかを判断する構成により、例えば特許文献3に記載のマスターエージェントのような特定の機能部への負荷の集中といった事態を防ぐことができる。
【0145】
また、本実施形態は、以下の(i)〜(iii)等に示すように変形してもよい。
【0146】
(i)移動又は複製のいずれを行なうかの選択方法には、さまざまなバリエーションが考えられ、SLAの評価値によっても異なる。SLAの評価値の種類(SLAの指標)がレスポンスタイムの場合、例えば、モジュールペナルティ値の積算値が上限値を上回った場合には移動を優先的に行ない、移動しきれない大きさのリソース配分(例、40%)が必要な場合のみ、複製を行なう(例、20%ずつ2つのエージェント部A,A’とする)。
【0147】
(ii)SLAの評価値の種類が稼働率の場合、ステップST204〜ST210において、モジュールペナルティ値の積算値がある一定時間内に上限値を上回った場合、多重化をして可用性を上げるために、そのエージェント部A,…の複製をするエージェント複製メッセージをエージェント再配置部341に送って、エージェント部A,…を複製する。モジュールペナルティ値の積算値がある一定時間内に下限値を下回った場合、そのエージェント部A,…を削除するモジュール削除メッセージをエージェント再配置部341に送り、多重化されたエージェント部A,…を削除する。
【0148】
(iii)可用性の観点からSLAの評価値であるレスポンスタイムを年間停止時間などに置き換え、同様のアプローチを行なう。但し、可用性を満たす複製の最低数を記憶しておき、エージェント部A,…の削除の際には、サービスを構成するサービス提供モジュール部MA,…がこの最低数以下にならないようにする。
【0149】
なお、上記の各実施形態に記載した手法は、コンピュータに実行させることのできるプログラムとして、磁気ディスク(フロッピー(登録商標)ディスク、ハードディスクなど)、光ディスク(CD−ROM、DVDなど)、光磁気ディスク(MO)、半導体メモリなどの記憶媒体に格納して頒布することもできる。
【0150】
また、この記憶媒体としては、プログラムを記憶でき、かつコンピュータが読み取り可能な記憶媒体であれば、その記憶形式は何れの形態であっても良い。
【0151】
また、記憶媒体からコンピュータにインストールされたプログラムの指示に基づきコンピュータ上で稼働しているOS(オペレーティングシステム)や、データベース管理ソフト、ネットワークソフト等のMW(ミドルウェア)等が上記実施形態を実現するための各処理の一部を実行しても良い。
【0152】
さらに、各実施形態における記憶媒体は、コンピュータと独立した媒体に限らず、LANやインターネット等により伝送されたプログラムをダウンロードして記憶または一時記憶した記憶媒体も含まれる。
【0153】
また、記憶媒体は1つに限らず、複数の媒体から上記の各実施形態における処理が実行される場合も本発明における記憶媒体に含まれ、媒体構成は何れの構成であっても良い。
【0154】
なお、各実施形態におけるコンピュータは、記憶媒体に記憶されたプログラムに基づき、上記の各実施形態における各処理を実行するものであって、パソコン等の1つからなる装置、複数の装置がネットワーク接続されたシステム等の何れの構成であっても良い。
【0155】
また、各実施形態におけるコンピュータとは、パソコンに限らず、情報処理機器に含まれる演算処理装置、マイコン等も含み、プログラムによって本発明の機能を実現することが可能な機器、装置を総称している。
【0156】
なお、本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【0157】
10…ゲートウェイ装置、20…サービスマネージャ装置、21…SLA記憶部、22…サービス処理フロー記憶部、23…サービス配置記憶部、24…サービス評価部、25…サービスペナルティ計算部、26…配置更新部、301〜304…エージェントマネージャ部、311〜314…リソース配分記憶部、321〜324…リソース配分部、331〜334…別ノード問合せ部、341〜344…エージェント再配置部、411〜414…ペナルティ上下限値記憶部、421〜424…モジュール評価部、431〜434…モジュールペナルティ積算部、441〜444…エージェント意思決定部、N1〜N4…ノード装置、A〜D…エージェント部、MA〜MD…サービス提供モジュール部。
【技術分野】
【0001】
本発明の実施形態は、サービス提供システム、装置及びプログラムに関する。
【背景技術】
【0002】
計算機システムからなるサービス提供システムは、ユーザから要求されるレスポンスタイムや稼働率などの値を満たすように、サービスを提供する。但し、レスポンスタイム等のユーザの要求はサービス毎に異なる。そのため、システム設計者は、サービス毎に異なる要求に基づき、提供するサービスに特化してシステム構成やリソース配分を設計し、システム構築をする。
【0003】
また、同一のサービスにおいても、サービスの利用量は時とともに変化する。このため、設計時のシステム構成やリソース配分は、システム構築後、経時変化により過度に要求を満たすようになった場合、計算機資源に無駄を生じさせてしまう。なお、この無駄は、最大のサービスの利用量の見積もりに合わせたシステム構成やリソース配分を設計し、システム構築をした場合でも、利用量の最大値と最小値との差分だけ生じることになる。
【0004】
一方、このような無駄を抑制する観点から、システム構成やリソース配分を動的に変化させるシステムを用い、変化後のサービスの利用量に合わせたシステム構成やリソース配分を再設計し、最適なシステム構成やリソース配分を再構築する手法が考えられる。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2007−4337号公報
【特許文献2】特開2005−182796号公報
【特許文献3】特開2001−67334号公報
【特許文献4】特表2008−519322号公報
【特許文献5】特表2006−520027号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、以上のようなサービス提供システムは、サービス毎に異なる要求に基づき、システム構成やリソース配分の設計をする労力がかかる。例えば、新規サービスにより、新たな設計の手間が生じる。
【0007】
また、システム構成やリソース配分を動的に変化させる場合、サービスの利用量に合わせて再設計を繰り返す必要がある。
【0008】
本発明が解決しようとする課題は、サービス毎に異なる要求や、同一サービスの利用量の変化に対し、システム構成やリソース配分を設計する労力を低減し得るサービス提供システム、装置及びプログラムを提供することである。
【課題を解決するための手段】
【0009】
実施形態のサービス提供システムは、サービスマネージャ装置と、複数のノード装置とを備えている。前記サービスマネージャ装置は、サービスを識別するサービス識別情報を含むサービス要求を送信して前記サービス要求に対するサービス応答を受信するユーザ端末に通信可能なゲートウェイ装置に接続されている。前記各ノード装置は、前記サービスマネージャ装置に通信可能となっている。
【0010】
前記サービスマネージャ装置は、サービス評価値記憶手段、モジュール識別情報記憶手段、配置記憶手段、サービス要求送信手段、第1の評価値計測手段、ペナルティ計算手段、ペナルティ送信手段及び配置更新手段を備えている。
【0011】
前記サービス評価値記憶手段は、前記サービス識別情報と、当該サービス識別情報を含むサービス要求と前記サービス応答との間で計測可能な評価値とを関連付けて予め記憶する。
【0012】
前記モジュール識別情報記憶手段は、前記サービス識別情報と、当該サービス識別情報により識別されるサービスの各段階を個別に実行する複数のサービス提供モジュール手段を個別に識別するモジュール識別情報とを関連付けて記憶する。
【0013】
前記配置記憶手段は、前記各ノード装置を識別する各ノード識別情報と、前記各ノード装置に配置されたエージェント手段を識別するエージェント識別情報と、前記エージェント手段に含まれる前記サービス提供モジュール手段を識別する前記モジュール識別情報とを関連付けて記憶する。
【0014】
前記サービス要求送信手段は、前記ゲートウェイ装置からサービス要求を受けると、当該サービス要求内のサービス識別情報に基づいて前記モジュール識別情報記憶手段からモジュール識別情報を読出した後、このモジュール識別情報に基づいて前記配置記憶手段からノード識別情報を読出し、このノード識別情報に基づいて、前記サービス要求を当該ノード識別情報に識別されるノード装置に送信する。
【0015】
前記第1の評価値計測手段は、前記サービス要求送信手段により送信したサービス要求に対するサービス応答をいずれかのノード装置から受けると、当該サービス応答を前記ゲートウェイ装置に送信すると共に、当該サービス要求と当該サービス応答との間で前記評価値を計測する。
【0016】
前記ペナルティ計算手段は、前記計測された評価値が前記サービス評価値記憶手段内の評価値を満たしていない場合には正の値のサービスペナルティ値を計算し、前記計測された評価値が前記サービス評価値記憶手段内の評価値を過度に満たしている場合に負の値のサービスペナルティ値を計算する。
【0017】
前記ペナルティ送信手段は、前記計算されたサービスペナルティ値及び前記計測された評価値を、前記サービス要求の送信先のノード装置及び前記サービス応答の送信元のノード装置に送信する。
【0018】
前記配置更新手段は、前記エージェント手段を削除、移動又は複製するように更新した前記ノード識別情報、前記エージェント識別情報及び前記モジュール識別情報を示す配置更新情報をいずれかの前記ノード装置から受けると、当該配置更新情報に基づいて前記配置記憶手段を更新する。
【0019】
前記各ノード装置は、プログラム実行手段、リソース配分記憶手段、リソース配分更新手段、第1のリソース配分削除手段、プログラム削除手段、第2のリソース配分削除手段、プログラム移動手段及び別ノード問合せ手段を備えている。
【0020】
前記プログラム実行手段は、自ノード装置に前記エージェント手段が配置される場合に用いられ、前記自ノード装置を当該エージェント手段としても機能させるためのエージェントプログラムを記憶可能なメモリ及びこのエージェントプログラムを実行可能なCPUを含んでいる。
【0021】
前記リソース配分記憶手段は、前記自ノード装置に配置されたエージェント手段を識別するエージェント識別情報と、前記自ノード装置のリソースの配分を示すリソース配分とを関連付けて記憶する。
【0022】
前記リソース配分更新手段は、前記自ノード装置に配置されたエージェント手段から当該エージェント手段を識別するエージェント識別情報に関連付けたリソース配分を増加又は減少させるように更新するリソース配分更新メッセージを受けると、当該リソース配分更新メッセージに基づいて前記リソース配分記憶手段内のリソース配分を更新する。
【0023】
前記第1のリソース配分削除手段は、前記自ノード装置に配置されたエージェント手段から当該エージェント手段を識別するエージェント識別情報を指定して当該エージェント手段を削除するエージェント削除メッセージを受けると、当該エージェント削除メッセージに基づいて前記リソース配分記憶手段内の当該エージェント識別情報及びリソース配分を削除する。
【0024】
前記プログラム削除手段は、前記エージェント削除メッセージを受けると、前記第1のリソース配分削除手段により削除された後の自ノード装置に関する前記ノード識別情報、前記エージェント識別情報及び前記モジュール識別情報を示す配置更新情報を前記サービスマネージャ装置に送信し、当該エージェント手段の前記エージェントプログラムを前記メモリから削除する。
【0025】
前記第2のリソース配分削除手段は、前記自ノード装置に配置されたエージェント手段から当該エージェント手段を識別するエージェント識別情報と移動先のノード装置を示すノード識別情報とを指定して当該エージェント手段を移動させるエージェント移動メッセージを受けると、当該エージェント移動メッセージに基づいて前記リソース配分記憶手段内の当該エージェント識別情報及びリソース配分を削除する。
【0026】
前記プログラム移動手段は、前記エージェント移動メッセージを受けると、前記第2のリソース配分削除手段により削除された後の自ノード装置に関する前記ノード識別情報、前記エージェント識別情報及び前記モジュール識別情報と、前記移動先のノード装置に関する前記ノード識別情報、前記エージェント識別情報及び前記モジュール識別情報との両者を含む配置更新情報を前記サービスマネージャ装置に送信し、当該エージェント手段の前記エージェントプログラムを前記移動先のノード装置に送信すると共に、当該エージェントプログラムを前記メモリから削除する。
【0027】
前記別ノード問合せ手段は、前記自ノード装置に配置されたエージェント手段から、前記自ノード装置以外の別ノード装置のリソース配分を問合せる問合せメッセージを受けると、前記別ノード装置のリソース配分記憶手段の記憶内容を前記別ノード装置に問合せると共に、前記別ノード装置から応答された前記記憶内容を当該エージェント手段に応答する。
【0028】
前記エージェント手段は、上下限値記憶手段、いずれかの前記サービス提供モジュール手段、第2の評価値計測手段、比較手段、リソース増加判定手段、この判定の結果、増加可能な場合には前記リソース配分を増加させるように更新するリソース配分更新メッセージを前記リソース配分更新手段に送出する手段、移動メッセージ送出手段、リソース減少判定手段、この判定の結果、減少可能な場合には前記リソース配分を減少させるように更新するリソース配分更新メッセージを前記リソース配分更新手段に送出する手段、削除メッセージ送出手段を備えている。
【0029】
前記上下限値記憶手段は、前記サービス識別情報と、前記モジュール識別情報と、前記サービスペナルティ値を前記各サービス提供モジュール手段に割り当てたモジュールペナルティ値を積算した積算値の上限を示す上限値と、当該積算値の下限を示す下限値とを関連付けて記憶する。
【0030】
前記第2の評価値計測手段は、このサービス提供モジュール手段に対して前記評価値を計測する。
【0031】
前記比較手段は、前記第2の評価値計測手段により計測された評価値と、前記サービスマネージャ装置から受けたサービスペナルティ値及び評価値とに基づいて、前記モジュールペナルティ値を計算すると共に、当該モジュールペナルティ値の前記積算値を計算し、この積算値と前記上下限値記憶手段内の上限値及び下限値とを比較する。
【0032】
前記リソース増加判定手段は、前記比較の結果、前記積算値が前記上限値より大きいとき、当該エージェント手段が配置された自ノード装置内のリソース配分記憶手段を参照し、当該エージェント手段を識別するエージェント識別情報に関連付けられたリソース配分が増加可能か否かを判定する。
【0033】
前記エージェント手段は、この判定の結果、増加可能な場合には前記リソース配分を増加させるように更新するリソース配分更新メッセージを前記リソース配分更新手段に送出する。
【0034】
前記移動メッセージ送出手段は、前記判定の結果、否の場合には前記問合せメッセージを前記別ノード問合せ手段に送出し、当該別ノード問合せ手段から応答された記憶内容に基づいて前記エージェント移動メッセージを前記第2のリソース配分削除手段及び前記プログラム移動手段に送出する。
【0035】
前記リソース減少判定手段は、前記比較の結果、前記積算値が前記下限値より小さいとき、当該エージェント手段が配置された自ノード装置内のリソース配分記憶手段を参照し、当該エージェント手段を識別するエージェント識別情報に関連付けられたリソース配分が減少可能か否かを判定する。
【0036】
前記エージェント手段は、この判定の結果、減少可能な場合には前記リソース配分を減少させるように更新するリソース配分更新メッセージを前記リソース配分更新手段に送出する。
【0037】
前記削除メッセージ送出手段は、前記リソース減少判定手段による判定の結果、否の場合には前記問合せメッセージを前記別ノード問合せ手段に送出し、当該別ノード問合せ手段から応答された記憶内容に基づいて前記エージェント削除メッセージを前記第1のリソース配分削除手段及び前記プログラム削除手段に送出する。
【図面の簡単な説明】
【0038】
【図1】一実施形態に係るサービス提供システムの構成の一例を示す模式図である。
【図2】同実施形態におけるサービスマネージャ装置及び第1ノード装置の構成の一例を示す模式図である。
【図3】同実施形態におけるSLA記憶部を説明するための模式図である。
【図4】同実施形態におけるサービス処理フロー記憶部を説明するための模式図である。
【図5】同実施形態におけるサービス配置記憶部を説明するための模式図である。
【図6】同実施形態における第1及び第2ノード装置の構成の一例を示す模式図である。
【図7】同実施形態におけるサービスマネージャ装置及び第3ノード装置の構成の一例を示す模式図である。
【図8】同実施形態における第3及び第4ノード装置の構成の一例を示す模式図である。
【図9】同実施形態におけるリソース配分記憶部を説明するための模式図である。
【図10】同実施形態におけるペナルティ上下限値記憶部を説明するための模式図である。
【図11】同実施形態におけるサービス提供システムの全体動作を説明するためのフローチャートである。
【図12】同実施形態におけるステップST200又はST300の動作を詳細に説明するためのフローチャートである。
【発明を実施するための形態】
【0039】
以下、本発明の一実施形態について図面を用いて説明する。なお、以下の各装置は、装置毎に、ハードウェア構成、又はハードウェア資源とソフトウェアとの組合せ構成のいずれでも実施可能となっている。組合せ構成のソフトウェアとしては、予めネットワーク又は記憶媒体から対応する装置のコンピュータにインストールされ、対応する装置の機能を実現させるためのプログラムが用いられる。
【0040】
図1は一実施形態に係るサービス提供システムの構成の一例を示す模式図である。サービス提供システムは、ゲートウェイ装置10に接続されたサービスマネージャ装置20と、このサービスマネージャ装置20に通信可能な複数のノード装置N1〜N4とを備えている。各ノード装置N1〜N4は、1つのエージェントマネージャ部301〜304を静的に備えており、0個以上4個以下のエージェント部A〜Dが動的(且つ自律的)に配置される。なお、このサービス提供システムにおいては、エージェント部A〜Dの配置が動的に変化するため、システム構成とリソース配分が動的に変化する。また、エージェント部A〜Dの配置が同じでもリソース配分を変化させる場合がある。
【0041】
図1に示す構成例では、第1ノード装置N1は、第1エージェント部A及び第1エージェントマネージャ部301を備えている。第2ノード装置N2は、第2エージェント部B及び第2エージェントマネージャ部302を備えている。第3ノード装置N3は、複製の第1エージェント部A’、第3エージェント部C及び第3エージェントマネージャ部303を備えている。第4ノード装置N4は、第4エージェント部D及び第4エージェントマネージャ部304を備えている。
【0042】
全てのノード装置N1〜N4は互いに接続されているが、図面を見やすくする観点から、図1では一部の接続線の記載を省略している。また、ノード装置N1,…の台数と、エージェント部A,…の個数とは、4台と4個に限らず、それぞれ独立に任意の台数と個数とを使用可能となっている。
【0043】
ここで、ゲートウェイ装置10は、外部のコンピュータネットワークへの出入り口となるネットワーク拠点である。全てのサービス要求は、ゲートウェイ装置10からサービスマネージャ装置20に送信される。全てのサービス応答は、サービスマネージャ装置20からゲートウェイ装置10に受信される。例えば、ゲートウェイ装置10は、サービスを識別するサービス識別情報を含むサービス要求をユーザ端末(図示せず)から受信すると、このサービス要求をサービスマネージャ装置20に送信する。また、ゲートウェイ装置10は、このサービス要求に対するサービス応答をサービスマネージャ装置20から受信すると、このサービス応答をユーザ端末に送信する。
【0044】
サービスマネージャ装置20は、内部のコンピュータネットワークに存在するノード装置N1〜N4上のエージェント部A〜Dが提供するサービスを管理する。サービスマネージャ装置20は、各ノード装置N1〜N4とゲートウェイ装置10との間に配置されている。なお、全てのサービス要求は、ゲートウェイ装置10及びサービスマネージャ装置20を通っていずれかのノード装置N1〜N4に受信される。同様に、全てのサービス応答は、いずれかのノード装置N1〜N4から送信され、サービスマネージャ装置20及びゲートウェイ装置10を通ってユーザ端末に受信される。
【0045】
具体的には、サービスマネージャ装置20は、例えば図2に示すように、SLA(Service Level Agreement)記憶部21、サービス処理フロー記憶部22、サービス配置記憶部23、サービス評価部24、サービスペナルティ計算部25及び配置更新部26を備えている。
【0046】
SLA記憶部(サービス評価値記憶手段)21は、予め内容を書込可能で各部24〜25から読出可能なメモリであり、サービスごとのSLA(サービス内容合意書に記載された合意内容のうち、計測可能な評価値)が設定される。例えば、SLA記憶部21は、図3に示すように、サービスを識別するサービス識別情報S1,S2と、当該サービス識別情報S1,S2を含むサービス要求とサービス応答との間で計測可能な評価値(例、レスポンスタイム、スループット、稼働率など)とを関連付けて予め記憶している。このように、SLAの評価値としては、レスポンスタイム、スループット、稼働率など、さまざまなバリエーションが考えられる。SLAの評価値は単一のみで設定してもよく、複数設定してもよい。
【0047】
サービス処理フロー記憶部(モジュール識別情報記憶手段)22は、予め内容を書込可能で各部24〜25から読出可能なメモリであり、どの種類のサービス提供モジュール部MA〜MDがどの順序で処理することによってサービスを提供するかを記憶する。例えば、サービス処理フロー記憶部22は、図4に示すように、サービス識別情報S1,S2と、当該サービス識別情報により識別されるサービスの各段階を個別に実行する複数のサービス提供モジュール部MA〜MDを個別に識別するモジュール識別情報とを関連付けて記憶する。
【0048】
この例では、第1及び第2サービス提供モジュール部MA,MBにより第1サービスS1を提供する。同様に、第3及び第4サービス提供モジュール部MC,MDにより第2サービスS2を提供する。
【0049】
サービス配置記憶部(配置記憶手段)23は、予め内容を書込可能で各部24〜26から読出/書込可能なメモリであり、どの種類のエージェント部A〜D及びその複製が、どのノード装置N1〜N4に配置されたかを記憶する。例えば、サービス配置記憶部23は、図5に示すように、各ノード装置N1〜N4を識別する各ノード識別情報と、各ノード装置N1〜N4に配置されたエージェント部A〜D,A’を識別するエージェント識別情報と、エージェント部A〜D,A’に含まれるサービス提供モジュール部MA〜MDを識別するモジュール識別情報とを関連付けて記憶する。
【0050】
なお、複製の第1エージェント部A’は、第1エージェント部Aが多重化された、第1エージェント部Aと同じ種類のエージェントである。また、サービス配置記憶部23の記憶内容としては、それぞれのエージェント部A〜Dのリソース配分も同時に記憶しておくバリエーションも考えられる。
【0051】
サービス評価部24は、ゲートウェイ装置10とサービス提供モジュール部MA〜MDの間のサービスの要求と応答を伝達し、SLA記憶部21に設定したSLAの評価値と同じ種類の評価値を計測する。評価値の一例としては、性能の観点から、サービス要求とサービス要求結果の時間からレスポンスタイム(または、スループットなど)を計測する。なお、サービス配置記憶部23とサービス処理フロー記憶部22の情報を元に、要求を伝達するエージェント部A〜Dを選択する。評価値としては、単一の種類を計測してもよく、複数の種類を計測してもよい。
【0052】
このようなサービス評価部24は、具体的には以下の機能(f24-1)〜(f24-2)をもっている。
【0053】
(f24-1) ゲートウェイ装置10からサービス要求を受けると、当該サービス要求内のサービス識別情報に基づいてサービス処理フロー記憶部22からモジュール識別情報を読出した後、このモジュール識別情報に基づいてサービス配置記憶部23からノード識別情報を読出し、このノード識別情報に基づいて、サービス要求を当該ノード識別情報に識別されるノード装置N1,N2,N3又はN4に送信するサービス要求送信機能。
【0054】
(f24-2) サービス要求送信機能により送信したサービス要求に対するサービス応答をいずれかのノード装置N1〜N4から受けると、当該サービス応答をゲートウェイ装置10に送信すると共に、当該サービス要求と当該サービス応答との間で評価値を計測する第1の評価値計測機能。
【0055】
サービスペナルティ計算部25は、例えば、以下の機能(f25-1)〜(f25-2)をもっている。
【0056】
(f25-1) サービス評価部24により計測された評価値がSLA記憶部21内の評価値を満たしていない場合には正の値のサービスペナルティ値を計算し、当該計測された評価値がSLA記憶部21内の評価値を過度に満たしている場合に負の値のサービスペナルティ値を計算するペナルティ計算機能。なお、満たしている度合いが「過度」か否かは、計測された評価値とSLA記憶部21内の評価値との差分の絶対値が基準値以上か否かにより判定可能である。
【0057】
(f25-2) 当該計算されたサービスペナルティ値及び当該計測された評価値を、サービス要求の送信先のノード装置N1,N2,N3又はN4及びサービス応答の送信元のノード装置N1,N2,N3又はN4に送信するペナルティ送信機能。
【0058】
ここで、サービスペナルティ値とは、サービスがどれくらいSLAを満たしているかを示す情報である。なお、サービスペナルティ値はSLAの評価値ごとに計算してもよく、SLAの複数の評価値に基づいて1つのサービスペナルティ値を計算してもよい。
【0059】
サービスペナルティ値の計算方法の一例として、次式の通り、計測されたレスポンスタイムからサービスペナルティ値を計算する場合を説明する。
【0060】
(サービスペナルティ値)=((計測したレスポンスタイム)−(SLA記憶部21内のレスポンスタイム))×(レスポンスタイム重み)
なお、「…重み」は、ユーザが重要視している要求に高い値を設定しておく。また、このようなサービスペナルティ値は、モジュールペナルティ積算部431,432又は433,434において、サービスを構成する各サービス提供モジュール部MA,MB又はMC,MDにおけるモジュールペナルティ値に分割される。
【0061】
分割する割合は、以下の(1)又は(2)のように定める。
【0062】
例えば、モジュールペナルティ積算部431は、モジュール評価部421により計測されたサービス提供モジュール部MAの処理時間に基づき、(1)又は(2)に示す割合でサービスペナルティ値を分割する。
【0063】
(1)サービスのレスポンスタイム中のサービス提供モジュール部MAの処理時間の割合
(2)「そのサービス提供モジュール部MAの現在の処理時間と、そのサービス提供モジュール部MAのその前の時点における処理時間との差分」と「現在のレスポンスタイムと、その前の時点におけるレスポンスタイムの差分」の割合。なお、「その前の時点」は「前の周期」と読み替えてもよい。また、第1エージェント部Aにサービス提供モジュール部MA,…が複数存在する場合、サービス要求の種類で処理を区別する。
【0064】
配置更新部26は、エージェント部A,B,C又はDを削除、移動又は複製するように更新したノード識別情報、エージェント識別情報及びモジュール識別情報を示す配置更新情報をいずれかのノード装置N1〜N4から受けると、当該配置更新情報に基づいてサービス配置記憶部23を更新する配置更新機能をもっている。
【0065】
一方、ノード装置N1〜N4は仮想マシン(エージェント部A〜D)を動作させる物理的なコンピュータであり、図2,図6〜図8に示すように、エージェントマネージャ部301〜304と、図示しないプログラム実行手段とを備えている。このプログラム実行手段は、自ノード装置N1〜N4にエージェント手段(エージェント部A〜D)が配置される場合に用いられ、自ノード装置N1〜N4を当該エージェント手段としても機能させるためのエージェントプログラムを記憶可能なメモリ及びこのエージェントプログラムを実行可能なCPUを含んでいる。
【0066】
ここで、ノード装置N1〜N4内のエージェントマネージャ装置301〜304は、互いに同一構成であるので、ここでは第1ノード装置N1内の第1エージェントマネージャ部301を例に挙げて説明する。
【0067】
第1エージェントマネージャ部301は、第1ノード装置N1内に配置された全てのエージェント部A,…を管理するものであり、例えば、エージェント部A,…のリソース配分の管理や、エージェント部A,…の配置の管理を行なう。リソース配分の管理としては、エージェント部A,…のリソース配分の記憶と、エージェント部A,…のリソース配分の変更をする。エージェント部A,…の配置の管理としては、別のノード装置N2,…にリソース配分を問合せ、その問合せ結果に基づくエージェント部A,…の移動、複製を行なう。また、エージェント部A,…が不要になった場合の削除も行なう。
【0068】
具体的には、エージェントマネージャ部301は、リソース配分記憶部311、リソース配分部321、別ノード問合せ部331及びエージェント再配置部341を備えている。
【0069】
リソース配分記憶部311は、各部321〜341,441から読出/書込可能なメモリであり、自ノード装置N1に配置されたエージェント部A,…を識別するエージェント識別情報と、自ノード装置N1のリソースの配分を示すリソース配分とを関連付けて記憶する。例えば、第3ノード装置N3のリソース配分記憶部313は、図9に示すように、自ノード装置N3に配置された第1及び第3エージェント部A’,Cを識別するエージェント識別情報と、自ノード装置N3のリソースの配分を示すリソース配分40%,20%とを関連付けて記憶している。補足すると、本実施形態では、各エージェント部A,…の単位でリソース配分やシステム構成を変化させる。ここでいうリソース配分とは、そのエージェント部A,…が使用できるプロセッサ、ハードディスク(補助記憶装置)、主記憶装置、ネットワークなどの計算機資源の割当を意味する。
【0070】
リソース配分部321は、リソース配分を変化させ、リソース配分をリソース配分記憶部311に記録する。また、エージェント部A,…の削除又は移動に伴ってエージェント識別情報及びリソース配分を削除した後には、当該削除後のリソース配分記憶部311のエージェント識別情報を含むメッセージをエージェント再配置部341に送る。
【0071】
例えばリソース配分部321は、以下の機能(f32-1)〜(f32-3)をもっている。
【0072】
(f32-1) 自ノード装置N1に配置されたエージェント部A,…から当該エージェント部A,…を識別するエージェント識別情報に関連付けたリソース配分を増加又は減少させるように更新するリソース配分更新メッセージを受けると、当該リソース配分更新メッセージに基づいてリソース配分記憶部311内のリソース配分を更新するリソース配分更新機能。
【0073】
(f32-2) 自ノード装置N1に配置されたエージェント部A,…から当該エージェント部A,…を識別するエージェント識別情報を指定して当該エージェントA,…を削除するエージェント削除メッセージを受けると、当該エージェント削除メッセージに基づいてリソース配分記憶部311内の当該エージェント識別情報及びリソース配分を削除する第1のリソース配分削除機能。
【0074】
(f32-3) 自ノード装置N1に配置されたエージェント部A,…から当該エージェント部A,…を識別するエージェント識別情報と移動先のノード装置N2,…を示すノード識別情報とを指定して当該エージェント部A,…を移動させるエージェント移動メッセージを受けると、当該エージェント移動メッセージに基づいてリソース配分記憶部311内の当該エージェント識別情報及びリソース配分を削除する第2のリソース配分削除機能。
【0075】
別ノード問合せ部331は、他のノード装置N2〜N4にブロードキャスト又はマルチキャストによって別ノード装置N2〜N4のリソース配分を問い合わせる。問合せ結果は、エージェント再配置のあて先などを決定するための元とする情報とする。なお、サービス配置記憶部23にリソース配分の情報を持たせる場合は、別ノード問合せ部331は、配置更新部26にリソース配分を問合せる。
【0076】
具体的には、別ノード問合せ部331は、自ノード装置N1に配置されたエージェント部A,…から、自ノード装置N1以外の別ノード装置N2,N3,N4のリソース配分を問合せる問合せメッセージを受けると、別ノード装置N2,N3,N4のリソース配分記憶部312,313,314の記憶内容を別ノード装置N2,N3,N4に問合せると共に、別ノード装置N2,N3,N4から応答された当該記憶内容を当該エージェント部A,…に応答する別ノード問合せ機能をもっている。
【0077】
エージェント再配置部341は、エージェント意思決定部441からのメッセージを受け取り、内容に応じて、エージェント部Aが現在存在するノード装置N1から他のノード装置N2〜N4への移動、複製、もしくは削除を行なう。エージェント部Aの移動または、複製を行なう場合は別ノード問合せ部331から、別ノード装置N2〜N4へのリソース配分を問い合わせて、そのノード装置N2〜N4にエージェント部Aを配置可能かどうか調べる。その結果を踏まえて、どのノード装置N2〜N4にエージェント部Aの移動または複製を行なうべきかを決定する。
【0078】
エージェント部Aの削除を行なう場合、エージェント再配置部341は、別ノード装置N2,N3,N4のリソース配分記憶部312,313,314の記憶内容を確認し、他に同じサービス提供モジュール部MAを含む複製のエージェント部A’が存在するかを確認する。もし他に同じサービス提供モジュール部MAを含む複製のエージェント部A’が存在しない場合は、エージェント部Aを削除しない。理由は、サービス提供システムがサービスを提供するためには、各サービス提供モジュール部MA,MB,MC,MDが少なくとも1つずつ必要なためである。
【0079】
エージェント部Aの移動、複製、削除を行う場合、エージェント再配置部341は、配置更新部26を介してサービス配置記憶部23の情報を修正する。また、エージェント部A〜Dの配置の変更に合わせて、変更されたエージェント部A〜D内のサービス提供モジュール部MA〜MDへのサービス要求のあて先の設定と、そのサービス提供モジュール部MA〜MDに対してサービス要求を送るサービス提供モジュール部MA〜MDのサービス要求のあて先の設定を修正する。
【0080】
具体的には、エージェント再配置部341は、以下の機能(f34-1)〜(f34-2)をもっている。
【0081】
(f34-1) エージェント意思決定部441からエージェント削除メッセージを受けると、リソース配分部321により削除された後の自ノード装置N1に関するノード識別情報、エージェント識別情報及びモジュール識別情報を示す配置更新情報をサービスマネージャ装置20に送信し、当該エージェント部A,…のエージェントプログラムをメモリから削除するプログラム削除機能。
【0082】
(f34-2) エージェント意思決定部441からエージェント移動メッセージを受けると、リソース配分部321により削除された後の自ノード装置N1に関するノード識別情報、エージェント識別情報及びモジュール識別情報と、移動先のノード装置N2,N3又はN4に関するノード識別情報、エージェント識別情報及びモジュール識別情報との両者を含む配置更新情報をサービスマネージャ装置20に送信し、当該エージェント部A,…のエージェントプログラムを移動先のノード装置N2,N3又はN4に送信すると共に、当該エージェントプログラムをメモリから削除するプログラム移動機能。
【0083】
一方、エージェント部A〜Dは、物理的なコンピュータの上で動作する仮想マシンである。なお、エージェント部A〜Dは、サービスを提供するための部品となるサービス提供モジュール部MA〜MDを個別に含んでいる。複数のエージェント部A,B又はC,Dが1つのサービスS1又はS2を連携して処理する。エージェント部A,B,C,Dは、任意のノード装置N1〜N4に移動させることができ、可用性を向上させる多重化のために同じ種類のエージェント部A,B,C,Dを複数配置させることもできる。
【0084】
この例では、第1エージェント部A、複製の第1エージェント部A’及び第2エージェント部Bにより第1サービスS1を提供し、第3エージェント部C及び第4エージェント部Dにより第2サービスS2を提供する。なお、複製の第1エージェント部A’は第1エージェント部Aを多重化した、第1エージェント部Aと同じ種類のエージェントである。
【0085】
エージェント部A〜Dは、ノード装置N1〜N4の間で移動、複製が行なわれ、必要が無くなると削除される。
【0086】
なお、各エージェント部A〜Dは、サービス提供モジュール部MA〜MDによるサービス処理内容を除き、互いに同一の機能構成であるので、ここでは、第1エージェント部Aを例に挙げて詳細に説明する。
【0087】
第1エージェント部Aは、サービス提供モジュール部MA、ペナルティ上下限値記憶部411、モジュール評価部421、モジュールペナルティ積算部431及びエージェント意思決定部441を備えている。
【0088】
サービス提供モジュール部MAは、サービスの提供を行なうための部品の1つであり、サービス識別情報により識別されるサービスの各段階を個別に実行するものであって、他のサービス提供モジュール部MBと連携して、サービスを提供する。補足すると、サービス提供システムが提供するサービスは、一般的なWebシステムで用いられるWebサーバ、アプリケーションサーバ及びデータベースサーバの三層構造のようなサービス提供モジュールのように、複数のサービス提供モジュールが連携して処理することを想定している。
【0089】
ペナルティ上下限値記憶部411は、同じエージェント部A内のサービス提供モジュール部MAに対するペナルティ積算値の上限値と下限値を記憶する。具体的には、ペナルティ上下限値記憶部411は、図10の下から4行目に示すように、サービス識別情報と、モジュール識別情報と、サービスペナルティ値をサービス提供モジュール部MAに割り当てたモジュールペナルティ値を積算した積算値の上限を示す上限値と、当該積算値の下限を示す下限値とを関連付けて記憶する。なお、図10の下から1行目〜3行目に示すデータは、ノード装置N1には配置されていないエージェント部B〜Dに関するデータであるが、参考のために記載した。
【0090】
モジュール評価部421は、提供するサービスの中で、例えば第1エージェント部Aにある第1サービス提供モジュール部MAがどれくらいペナルティを請け負うべきかを決定するために第1サービス提供モジュール部MAの評価をする。具体的には、モジュール評価部421は、この第1サービス提供モジュール部MAに対して、前述した評価値を計測する第2の評価値計測機能をもっている。
【0091】
モジュールペナルティ積算部431は、モジュール評価部421で計測された評価値と、サービスマネージャ装置20から受けたサービスペナルティ値及び評価値とに基づいて、モジュールペナルティ値を計算すると共に、当該モジュールペナルティ値の積算値を計算する機能をもっている。なお、モジュールペナルティ値の計算は、前述した通り、例えば、モジュール評価部421により計測された第1サービス提供モジュール部MAの処理時間に基づく割合でサービスペナルティ値を分割することにより行う。また、積算値の計算は、モジュールペナルティ値を一定時間の間積算することにより行う。また、モジュールペナルティ値の積算値は一定時間ごとにリセットされる。なお、モジュールペナルティ値とは、エージェントのリソース配分を変更するか、移動、複製、削除するかを決定するための判断材料とする情報である。
【0092】
また、モジュールペナルティ積算部431は、計算した積算値と、ペナルティ上下限値記憶部411内の上限値及び下限値とを比較し、比較結果を示すメッセージをエージェント意思決定部441に送出する機能をもっている。
【0093】
エージェント意思決定部441は、モジュールペナルティ積算部431からのメッセージに応じて、リソース配分記憶部311と別ノード問合せ部331から情報を得て、エージェント部A,…のリソース配分を変更するか、エージェント部A,…を再配置するかを決定し、リソース配分記憶部311やサービス配置記憶部23を更新して、リソース配分部311にリソース配分の変更を行なうようにメッセージを送るか、もしくはエージェント再配置部341にエージェント部A,…の移動、複製、削除を行なうようにメッセージを送る。ここでいうエージェント部A,…の再配置とは、エージェント部A,…の移動、複製、削除のことである。
【0094】
具体的には、エージェント意思決定部441は、以下の機能(f44-1)〜(f44-5)をもっている。
【0095】
(f44-1) モジュールペナルティ積算部431による比較の結果、積算値が上限値より大きいとき、当該エージェント部A,…が配置された自ノード装置N1内のリソース配分記憶部311を参照し、当該エージェント部A,…を識別するエージェント識別情報に関連付けられたリソース配分が増加可能か否かを判定するリソース増加判定機能。
【0096】
(f44-2) この判定の結果、増加可能な場合にはリソース配分を増加させるように更新するリソース配分更新メッセージをリソース配分部321に送出する機能。
【0097】
(f44-3) リソース増加判定機能による判定の結果、否の場合には問合せメッセージを別ノード問合せ部331に送出し、当該別ノード問合せ部331から応答された記憶内容に基づいてエージェント移動メッセージをリソース配分部321及びエージェント再配置部341に送出する移動メッセージ送出機能。
【0098】
(f44-4) モジュールペナルティ積算部431による比較の結果、積算値が下限値より小さいとき、当該エージェント部A,…が配置された自ノード装置N1内のリソース配分記憶部311を参照し、当該エージェント部A,…を識別するエージェント識別情報に関連付けられたリソース配分が減少可能か否かを判定するリソース減少判定機能。
【0099】
(f44-5) この判定の結果、減少可能な場合にはリソース配分を減少させるように更新するリソース配分更新メッセージをリソース配分部321に送出する機能。
【0100】
(f44-6) リソース減少判定機能による判定の結果、否の場合には問合せメッセージを別ノード問合せ部331に送出し、当該別ノード問合せ部331から応答された記憶内容に基づいてエージェント削除メッセージをリソース配分部321及びエージェント再配置部341に送出する削除メッセージ送出機能。
【0101】
次に、以上のように構成されたサービス提供システムの動作を図11及び図12のフローチャートを用いて説明する。
【0102】
図11はサービス提供システムの全体動作を説明するためのフローチャートである。図示するように、業務要件を分析し、SLA記憶部21、サービス処理フロー記憶部22、サービス配置記憶部23、リソース配分記憶部311〜314及びペナルティ上下限値記憶部411〜414の初期値を設定する(ST100)。
【0103】
ここで、リソース配分記憶部311〜314の初期値は、ノード装置N1〜N4の各々が提供可能なリソース配分を、各ノード装置N1〜N4におけるリソース配分の初期値の合計が上回らなければ、任意で良い。
【0104】
次に、サービスの業務要件に見合った量の利用を行なう試験的運用を行い、サービスの業務要件に見合ったシステム構成とリソース配分の再構成を行なう(ST200)。
【0105】
しかる後、再構成されたサービス提供システムを本番運用する(ST300)。運用中にSLAが変化した場合、SLA記憶部21の設定とペナルティ上下限値記憶部411〜414の上限値及び下限値を再設定して、サービスの業務要件に見合ったシステムに再構成する。
【0106】
図12はサービス提供システムの全体動作のうち、ステップST200又はST300におけるシステム構成とリソース配分の再構成を行なう動作を詳細に説明するためのフローチャートである。すなわち、ステップST番号の200番台を300番台に読み替えてもよい。また、ノード装置N1〜N4内の各部の下付添字1,2等は、各部が属するノード装置N1〜N4を表している。このため、下付添字1,2等をもつ各部は、ノード装置N1,N2等の中でそれぞれ並列に処理を実行している。
【0107】
ステップST201においては、図示しないユーザ端末から第1サービスS1を識別するサービス識別情報を含むサービス要求をゲートウェイ装置10が受信すると、ゲートウェイ装置10からサービスマネージャ装置20にサービス要求が送信される。
【0108】
サービスマネージャ装置20においては、サービス評価部24がサービス処理フロー記憶部22からサービスの処理を行なう第1及び第2サービス提供モジュール部MA,MBを確認し、サービス配置記憶部23から、要求されたサービスの処理を行なう第1及び第2サービス提供モジュール部MA,MBの配置された各ノード装置N1〜N3を確認する。ここで確認した情報を元に、サービス評価部24は、第1サービス提供モジュール部MAを含む第1又は第3ノード装置N1又はN3にサービス要求を送信する。
【0109】
いずれかのノード装置N1又はN3の第1エージェント部A内の第1サービス提供モジュール部MA内で処理が行なわれ、第2ノード装置N2内の第2エージェント部Bにサービス要求を送信する。第2エージェント部Bの第2サービス提供モジュール部MBはサービス要求に対するサービス応答を第1エージェント部Aに返信する。第1エージェント部Aの第1サービス提供モジュール部MAはこのサービス応答をサービスマネージャ装置20内のサービス評価部24に返信する。
【0110】
これらサービス要求の送信からサービス応答の受信までの処理において、サービス評価部24がサービスの評価値を計測する一方、各エージェント部A,B内のモジュール評価部421,422が各サービス提供モジュール部MA,MBの評価値を計測する。
【0111】
サービス評価部24の評価方法は任意であるが、例えばレスポンスタイムを評価する。
【0112】
サービス提供モジュール部MA,MBの評価方法は任意であるが、例えばレスポンスタイムの割合を求める。例えば、評価対象のサービス提供モジュール部MAが、サービスマネージャ装置20からサービス要求を受けてから連携する他のサービス提供モジュール部MBにサービス要求を送信するまでの処理時間と、連携する他のサービス提供モジュール部MBからのサービス応答を受信してからサービス応答をサービスマネージャ装置20に返すまでの処理時間とを合計した処理時間のうち、サービス提供モジュール部MAの処理時間が占める割合を評価する。
【0113】
ステップST202においては、サービスペナルティ計算部25は、サービス評価部24により計測された評価値と、SLA記憶部21の評価値とに基づいて、サービスペナルティ値を計算する。
【0114】
サービスペナルティ値の計算方法は任意であるが、この例では、サービス評価部24により計測された評価値がSLA記憶部21内の評価値を満たしていない場合には正の値のサービスペナルティ値を計算し、当該計測された評価値がSLA記憶部21内の評価値を過度に満たしている場合に負の値のサービスペナルティ値を計算する。
【0115】
ステップST203においては、サービスペナルティ計算部25は、計算されたサービスペナルティ値及び当該計測された評価値を、サービス要求の送信先のノード装置N1及びサービス応答の送信元のノード装置N2に送信する。
【0116】
モジュールペナルティ積算部431,432は、モジュール評価部421,422で計測された評価値と、サービスマネージャ装置20から受けたサービスペナルティ値及び評価値とに基づいて、モジュールペナルティ値を計算すると共に、当該モジュールペナルティ値の積算値を計算する。
【0117】
ステップST204以降のフローでは、さまざまなバリエーションが考えられるが、以下はSLA記憶部21内の評価値をレスポンスタイムとしたときの一例である。
【0118】
ステップST204においては、モジュールペナルティ積算部431,432は、計算した積算値と、ペナルティ上下限値記憶部411,412内の上限値とを比較し、比較結果を示すメッセージをエージェント意思決定部441,442に送出する。これにより、エージェント部A,Bのリソース配分の変更、エージェント部A,Bの移動、複製、削除を行なう。
【0119】
ステップST205においては、エージェント意思決定部441,442は、モジュールペナルティ積算部431,432による比較の結果、積算値が上限値より大きいとき、リソース配分記憶部311,312を参照し、リソース配分が増加可能か否かを判定する。この判定は、例えば、自ノード装置N1が提供可能なリソース配分に比べ、リソース配分記憶部311内のリソース配分の合計が余裕分(例、10%分)よりも低ければ増加可能とすればよい。
【0120】
ステップST206においては、エージェント意思決定部441,442は、ステップST206の判定の結果、増加可能な場合にはリソース配分を増加させるように更新するリソース配分更新メッセージをリソース配分部321,322に送出する。
【0121】
リソース配分部321,322は、自ノード装置N1,N2に配置されたエージェント部A,Bから当該エージェント部A,Bを識別するエージェント識別情報に関連付けたリソース配分を増加させるように更新するリソース配分更新メッセージを受けると、当該リソース配分更新メッセージに基づいてリソース配分記憶部311,312内のリソース配分を更新する。
【0122】
ステップST207においては、エージェント意思決定部441,442は、ステップST206による判定の結果、増加が否の場合には問合せメッセージを別ノード問合せ部331,332に送出し、当該別ノード問合せ部331,332から応答された記憶内容に基づいて、別ノードのリソース配分を確認して移動先のノード装置N4を決定する。
【0123】
このとき、エージェント意思決定部441,442は、例えば、別ノード問合せ部331,332から応答された別ノード装置N2〜N4、N1とN3〜N4のリソース配分記憶部312〜314、311と313〜314の記憶内容のうち、移動対象のエージェント部A,Bが必要とするリソース配分以上の空きリソース配分であって、当該必要とするリソース配分に最も近い空きリソース配分を示す記憶内容をもつ別ノード装置N4を移動先のノード装置N4として選択する。これは、可能な限り大きな空きリソースを残しておき、他のエージェント部の移動又は複製ができる可能性を高めるためである。なお、移動後のノード装置N1,…に1つのエージェント部A,…も存在しなくなった場合には、省電力のために自動的に電源を落とす。
【0124】
また、エージェント意思決定部441,442は、この移動を検討するとき、サービス提供モジュール部MA,MBの細分化をしすぎてしまっている場合には、細分化したサービス提供モジュール部MA,MBのリソース配分をまとめて、統合した上で移動を行なえるかを判定する。
【0125】
もし、必要とする配分リソースに見合う空きリソースが一つのノード装置N2〜N4、N1とN3〜N4になく移動ができない場合は、エージェント意思決定部441,442は、複製を行なう。この場合、必要とするリソース配分に足りない分だけのリソースを複製先のエージェント部A,Bに配分することとし、複製先のエージェント部A,Bが必要とするリソース配分以上の(ノード装置内のエージェント部の全てが安定して動作するのに十分な余力を残して)できるだけ近い空きリソース量のノード装置を複製先ノード装置として選択する。なお、移動又は複製ができるノード装置がない場合、エージェント意思決定部441,442は、電源が落ちているノード装置(エージェント部がなく、空きリソース量が多いノード装置)を起動し、そのノード装置に移動をするようにすればよい。
【0126】
しかしながら、この例では、前述した通り、別ノード装置N4を選択したので、エージェント意思決定部441,442は、当該移動対象のエージェント部A,Bを識別するエージェント識別情報と当該選択したノード装置N4を示すノード識別情報とを指定したエージェント移動メッセージを作成し、このエージェント移動メッセージをリソース配分部321,322及びエージェント再配置部341,342に送出する。
【0127】
リソース配分部321,322は、自ノード装置N1に配置されたエージェント部A,Bから当該エージェント部A,Bを識別するエージェント識別情報と移動先のノード装置N4を示すノード識別情報とを指定して当該エージェント部A,Bを移動させるエージェント移動メッセージを受けると、当該エージェント移動メッセージに基づいてリソース配分記憶部311,312内の当該エージェント識別情報及びリソース配分を削除する。
【0128】
エージェント再配置部341,342は、エージェント意思決定部441からエージェント移動メッセージを受けると、リソース配分部321,322により削除された後の自ノード装置N1,N2に関するノード識別情報、エージェント識別情報及びモジュール識別情報と、移動先のノード装置N4に関するノード識別情報、エージェント識別情報及びモジュール識別情報との両者を含む配置更新情報をサービスマネージャ装置20に送信し、当該エージェント部A,Bのエージェントプログラムを移動先のノード装置N4に送信すると共に、当該エージェントプログラムをメモリから削除する。
【0129】
サービスマネージャ装置20においては、配置更新部26が、エージェント部A,Bを移動するように更新したノード識別情報、エージェント識別情報及びモジュール識別情報を示す配置更新情報をノード装置N1,N2から受けると、当該配置更新情報に基づいてサービス配置記憶部23を更新する。
【0130】
ステップST208においては、ステップST204での比較の結果、積算値が上限値以下のとき、モジュールペナルティ積算部431,432は、計算した積算値と、ペナルティ上下限値記憶部411,412内の下限値とを比較し、比較結果を示すメッセージをエージェント意思決定部441,442に送出する。
【0131】
ステップST209においては、エージェント意思決定部441,442は、モジュールペナルティ積算部431,432による比較の結果、積算値が下限値より過度に小さいとき、リソース配分記憶部311,312を参照し、リソース配分が減少可能か否かを判定する。
【0132】
ステップST210においては、エージェント意思決定部441,442は、ステップST209の判定の結果、減少可能な場合にはリソース配分を減少させるように更新するリソース配分更新メッセージをリソース配分部321,322に送出する。
【0133】
リソース配分部321,322は、自ノード装置N1,N2に配置されたエージェント部A,Bから当該エージェント部A,Bを識別するエージェント識別情報に関連付けたリソース配分を減少させるように更新するリソース配分更新メッセージを受けると、当該リソース配分更新メッセージに基づいてリソース配分記憶部311,312内のリソース配分を更新する。
【0134】
ステップST211においては、エージェント意思決定部441,442は、ステップST209による判定の結果、減少が否の場合には問合せメッセージを別ノード問合せ部331,332に送出し、当該別ノード問合せ部331,332から応答された記憶内容に基づいて、別ノード装置N2〜N4,N1とN3〜N4に複製のエージェント部A,Bが存在するならば、エージェント削除メッセージをリソース配分部321,322及びエージェント再配置部341,342に送出する。
【0135】
この例では、第1エージェント部Aの複製のエージェント部A’が第3ノード装置N3に存在する。よって、エージェント意思決定部441は、エージェント削除メッセージをリソース配分部321及びエージェント再配置部341に送出する。
【0136】
リソース配分部321は、エージェント意思決定部441からエージェント部Aを識別するエージェント識別情報を指定して当該エージェントAを削除するエージェント削除メッセージを受けると、当該エージェント削除メッセージに基づいてリソース配分記憶部311内の当該エージェント識別情報及びリソース配分を削除する。
【0137】
エージェント再配置部341は、エージェント意思決定部441から当該エージェント削除メッセージを受けると、リソース配分部321により削除された後の自ノード装置N1に関するノード識別情報、エージェント識別情報及びモジュール識別情報を示す配置更新情報をサービスマネージャ装置20に送信し、当該エージェント部A,…のエージェントプログラムをメモリから削除する。
【0138】
サービスマネージャ装置20においては、配置更新部26が、エージェント部Aを削除するように更新したノード識別情報、エージェント識別情報及びモジュール識別情報を示す配置更新情報をノード装置N1から受けると、当該配置更新情報に基づいてサービス配置記憶部23を更新する。
【0139】
次に、エージェント意思決定部441,442は、ステップST208で、ペナルティ積算したモジュールペナルティが下限値より大きい場合と、ステップST206,ST207,ST210,ST211の後には、ある一定時間が経過しているかどうかを確認する。一定時間が経っている場合はモジュールペナルティ値の積算値をクリア(ST212)し、ステップST201に戻る。一定時間が経っていない場合は、そのままステップST201に戻る。
【0140】
上述したように本実施形態によれば、サービス要求の送信からサービス応答の受信までの処理において、サービス評価部24により計測された評価値と、SLA記憶部21の評価値とに基づいて、サービスペナルティ値を計算し、モジュール評価部421,422で計測された評価値と、サービスマネージャ装置20から受けたサービスペナルティ値及び評価値とに基づいて、モジュールペナルティ値及びその積算値を計算し、計算した積算値と、ペナルティ上下限値記憶部411,412内の上限値及び下限値とを比較し、比較結果に応じてリソース配分を増加若しくは変更し、又はエージェント部A,…を削除、移動若しくは複製する構成により、サービス毎に異なる要求や、同一サービスの利用量の変化に対し、システム構成やリソース配分を設計する労力を低減させることができる。
【0141】
補足すると、本実施形態によれば、新しいサービスに対してもシステム構成やリソース配分の設計をすることなく、そのサービスに要求されるSLAの評価値を設定するだけで、各エージェント部A〜Dが自律的にリソース配分を増加若しくは変更するか、又はエージェント部A,…を削除、移動若しくは複製するかを判断する構成により、SLAの評価値を満たすシステム構成やリソース配分を自律的に設計し、システムを自律的に構成する。
【0142】
また時とともに変化するサービスの利用量に対しては、各エージェント部A〜Dが自律的にSLAの評価値を満たしているかを評価し、満たしていない場合は、システム構成やリソース配分を自律的に再設計し、システム構成やリソース配分を自律的に変化させる。
【0143】
これらによって、新しいサービスのためのサービスに特化したシステムの設計・構築の手間を無くし、さらには、サービスの要求の変化に応じた再設計・再構成の手間無く、計算機資源を効率的に使用することができる。このような本実施形態は、例えばクラウドコンピューティングにおけるプライベートクラウド又はパブリッククラウドのシステムを構成する場合に適用することもできる。
【0144】
また、本実施形態は、各エージェント部A〜Dが自律的にリソース配分を増加若しくは変更するか、又はエージェント部A,…を削除、移動若しくは複製するかを判断する構成により、例えば特許文献3に記載のマスターエージェントのような特定の機能部への負荷の集中といった事態を防ぐことができる。
【0145】
また、本実施形態は、以下の(i)〜(iii)等に示すように変形してもよい。
【0146】
(i)移動又は複製のいずれを行なうかの選択方法には、さまざまなバリエーションが考えられ、SLAの評価値によっても異なる。SLAの評価値の種類(SLAの指標)がレスポンスタイムの場合、例えば、モジュールペナルティ値の積算値が上限値を上回った場合には移動を優先的に行ない、移動しきれない大きさのリソース配分(例、40%)が必要な場合のみ、複製を行なう(例、20%ずつ2つのエージェント部A,A’とする)。
【0147】
(ii)SLAの評価値の種類が稼働率の場合、ステップST204〜ST210において、モジュールペナルティ値の積算値がある一定時間内に上限値を上回った場合、多重化をして可用性を上げるために、そのエージェント部A,…の複製をするエージェント複製メッセージをエージェント再配置部341に送って、エージェント部A,…を複製する。モジュールペナルティ値の積算値がある一定時間内に下限値を下回った場合、そのエージェント部A,…を削除するモジュール削除メッセージをエージェント再配置部341に送り、多重化されたエージェント部A,…を削除する。
【0148】
(iii)可用性の観点からSLAの評価値であるレスポンスタイムを年間停止時間などに置き換え、同様のアプローチを行なう。但し、可用性を満たす複製の最低数を記憶しておき、エージェント部A,…の削除の際には、サービスを構成するサービス提供モジュール部MA,…がこの最低数以下にならないようにする。
【0149】
なお、上記の各実施形態に記載した手法は、コンピュータに実行させることのできるプログラムとして、磁気ディスク(フロッピー(登録商標)ディスク、ハードディスクなど)、光ディスク(CD−ROM、DVDなど)、光磁気ディスク(MO)、半導体メモリなどの記憶媒体に格納して頒布することもできる。
【0150】
また、この記憶媒体としては、プログラムを記憶でき、かつコンピュータが読み取り可能な記憶媒体であれば、その記憶形式は何れの形態であっても良い。
【0151】
また、記憶媒体からコンピュータにインストールされたプログラムの指示に基づきコンピュータ上で稼働しているOS(オペレーティングシステム)や、データベース管理ソフト、ネットワークソフト等のMW(ミドルウェア)等が上記実施形態を実現するための各処理の一部を実行しても良い。
【0152】
さらに、各実施形態における記憶媒体は、コンピュータと独立した媒体に限らず、LANやインターネット等により伝送されたプログラムをダウンロードして記憶または一時記憶した記憶媒体も含まれる。
【0153】
また、記憶媒体は1つに限らず、複数の媒体から上記の各実施形態における処理が実行される場合も本発明における記憶媒体に含まれ、媒体構成は何れの構成であっても良い。
【0154】
なお、各実施形態におけるコンピュータは、記憶媒体に記憶されたプログラムに基づき、上記の各実施形態における各処理を実行するものであって、パソコン等の1つからなる装置、複数の装置がネットワーク接続されたシステム等の何れの構成であっても良い。
【0155】
また、各実施形態におけるコンピュータとは、パソコンに限らず、情報処理機器に含まれる演算処理装置、マイコン等も含み、プログラムによって本発明の機能を実現することが可能な機器、装置を総称している。
【0156】
なお、本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【0157】
10…ゲートウェイ装置、20…サービスマネージャ装置、21…SLA記憶部、22…サービス処理フロー記憶部、23…サービス配置記憶部、24…サービス評価部、25…サービスペナルティ計算部、26…配置更新部、301〜304…エージェントマネージャ部、311〜314…リソース配分記憶部、321〜324…リソース配分部、331〜334…別ノード問合せ部、341〜344…エージェント再配置部、411〜414…ペナルティ上下限値記憶部、421〜424…モジュール評価部、431〜434…モジュールペナルティ積算部、441〜444…エージェント意思決定部、N1〜N4…ノード装置、A〜D…エージェント部、MA〜MD…サービス提供モジュール部。
【特許請求の範囲】
【請求項1】
サービスを識別するサービス識別情報を含むサービス要求を送信して前記サービス要求に対するサービス応答を受信するユーザ端末に通信可能なゲートウェイ装置に接続されたサービスマネージャ装置と、前記サービスマネージャ装置に通信可能な複数のノード装置とを備えたサービス提供システムであって、
前記サービスマネージャ装置は、
前記サービス識別情報と、当該サービス識別情報を含むサービス要求と前記サービス応答との間で計測可能な評価値とを関連付けて予め記憶するサービス評価値記憶手段と、
前記サービス識別情報と、当該サービス識別情報により識別されるサービスの各段階を個別に実行する複数のサービス提供モジュール手段を個別に識別するモジュール識別情報とを関連付けて記憶するモジュール識別情報記憶手段と、
前記各ノード装置を識別する各ノード識別情報と、前記各ノード装置に配置されたエージェント手段を識別するエージェント識別情報と、前記エージェント手段に含まれる前記サービス提供モジュール手段を識別する前記モジュール識別情報とを関連付けて記憶する配置記憶手段と、
前記ゲートウェイ装置からサービス要求を受けると、当該サービス要求内のサービス識別情報に基づいて前記モジュール識別情報記憶手段からモジュール識別情報を読出した後、このモジュール識別情報に基づいて前記配置記憶手段からノード識別情報を読出し、このノード識別情報に基づいて、前記サービス要求を当該ノード識別情報に識別されるノード装置に送信するサービス要求送信手段と、
前記サービス要求送信手段により送信したサービス要求に対するサービス応答をいずれかのノード装置から受けると、当該サービス応答を前記ゲートウェイ装置に送信すると共に、当該サービス要求と当該サービス応答との間で前記評価値を計測する第1の評価値計測手段と、
前記計測された評価値が前記サービス評価値記憶手段内の評価値を満たしていない場合には正の値のサービスペナルティ値を計算し、前記計測された評価値が前記サービス評価値記憶手段内の評価値を過度に満たしている場合に負の値のサービスペナルティ値を計算するペナルティ計算手段と、
前記計算されたサービスペナルティ値及び前記計測された評価値を、前記サービス要求の送信先のノード装置及び前記サービス応答の送信元のノード装置に送信するペナルティ送信手段と、
前記エージェント手段を削除、移動又は複製するように更新した前記ノード識別情報、前記エージェント識別情報及び前記モジュール識別情報を示す配置更新情報をいずれかの前記ノード装置から受けると、当該配置更新情報に基づいて前記配置記憶手段を更新する配置更新手段と、
を備え、
前記各ノード装置は、
自ノード装置に前記エージェント手段が配置される場合に用いられ、前記自ノード装置を当該エージェント手段としても機能させるためのエージェントプログラムを記憶可能なメモリ及びこのエージェントプログラムを実行可能なCPUを含むプログラム実行手段と、
前記自ノード装置に配置されたエージェント手段を識別するエージェント識別情報と、前記自ノード装置のリソースの配分を示すリソース配分とを関連付けて記憶するリソース配分記憶手段と、
前記自ノード装置に配置されたエージェント手段から当該エージェント手段を識別するエージェント識別情報に関連付けたリソース配分を増加又は減少させるように更新するリソース配分更新メッセージを受けると、当該リソース配分更新メッセージに基づいて前記リソース配分記憶手段内のリソース配分を更新するリソース配分更新手段と、
前記自ノード装置に配置されたエージェント手段から当該エージェント手段を識別するエージェント識別情報を指定して当該エージェント手段を削除するエージェント削除メッセージを受けると、当該エージェント削除メッセージに基づいて前記リソース配分記憶手段内の当該エージェント識別情報及びリソース配分を削除する第1のリソース配分削除手段と、
前記エージェント削除メッセージを受けると、前記第1のリソース配分削除手段により削除された後の自ノード装置に関する前記ノード識別情報、前記エージェント識別情報及び前記モジュール識別情報を示す配置更新情報を前記サービスマネージャ装置に送信し、当該エージェント手段の前記エージェントプログラムを前記メモリから削除するプログラム削除手段と、
前記自ノード装置に配置されたエージェント手段から当該エージェント手段を識別するエージェント識別情報と移動先のノード装置を示すノード識別情報とを指定して当該エージェント手段を移動させるエージェント移動メッセージを受けると、当該エージェント移動メッセージに基づいて前記リソース配分記憶手段内の当該エージェント識別情報及びリソース配分を削除する第2のリソース配分削除手段と、
前記エージェント移動メッセージを受けると、前記第2のリソース配分削除手段により削除された後の自ノード装置に関する前記ノード識別情報、前記エージェント識別情報及び前記モジュール識別情報と、前記移動先のノード装置に関する前記ノード識別情報、前記エージェント識別情報及び前記モジュール識別情報との両者を含む配置更新情報を前記サービスマネージャ装置に送信し、当該エージェント手段の前記エージェントプログラムを前記移動先のノード装置に送信すると共に、当該エージェントプログラムを前記メモリから削除するプログラム移動手段と、
前記自ノード装置に配置されたエージェント手段から、前記自ノード装置以外の別ノード装置のリソース配分を問合せる問合せメッセージを受けると、前記別ノード装置のリソース配分記憶手段の記憶内容を前記別ノード装置に問合せると共に、前記別ノード装置から応答された前記記憶内容を当該エージェント手段に応答する別ノード問合せ手段と、
を備え、
前記エージェント手段は、
前記サービス識別情報と、前記モジュール識別情報と、前記サービスペナルティ値を前記各サービス提供モジュール手段に割り当てたモジュールペナルティ値を積算した積算値の上限を示す上限値と、当該積算値の下限を示す下限値とを関連付けて記憶する上下限値記憶手段と、
いずれかの前記サービス提供モジュール手段と、
このサービス提供モジュール手段に対して前記評価値を計測する第2の評価値計測手段と、
前記第2の評価値計測手段により計測された評価値と、前記サービスマネージャ装置から受けたサービスペナルティ値及び評価値とに基づいて、前記モジュールペナルティ値を計算すると共に、当該モジュールペナルティ値の前記積算値を計算し、この積算値と前記上下限値記憶手段内の上限値及び下限値とを比較する比較手段と、
前記比較の結果、前記積算値が前記上限値より大きいとき、当該エージェント手段が配置された自ノード装置内のリソース配分記憶手段を参照し、当該エージェント手段を識別するエージェント識別情報に関連付けられたリソース配分が増加可能か否かを判定するリソース増加判定手段と、
この判定の結果、増加可能な場合には前記リソース配分を増加させるように更新するリソース配分更新メッセージを前記リソース配分更新手段に送出する手段と、
前記判定の結果、否の場合には前記問合せメッセージを前記別ノード問合せ手段に送出し、当該別ノード問合せ手段から応答された記憶内容に基づいて前記エージェント移動メッセージを前記第2のリソース配分削除手段及び前記プログラム移動手段に送出する移動メッセージ送出手段と、
前記比較の結果、前記積算値が前記下限値より小さいとき、当該エージェント手段が配置された自ノード装置内のリソース配分記憶手段を参照し、当該エージェント手段を識別するエージェント識別情報に関連付けられたリソース配分が減少可能か否かを判定するリソース減少判定手段と、
この判定の結果、減少可能な場合には前記リソース配分を減少させるように更新するリソース配分更新メッセージを前記リソース配分更新手段に送出する手段と、
前記リソース減少判定手段による判定の結果、否の場合には前記問合せメッセージを前記別ノード問合せ手段に送出し、当該別ノード問合せ手段から応答された記憶内容に基づいて前記エージェント削除メッセージを前記第1のリソース配分削除手段及び前記プログラム削除手段に送出する削除メッセージ送出手段と、
を備えたことを特徴とするサービス提供システム。
【請求項2】
請求項1に記載のサービス提供システムにおいて、
前記移動メッセージ送出手段は、
前記別ノード問合せ手段から応答された前記別ノード装置のリソース配分記憶手段の記憶内容のうち、移動対象のエージェント手段が必要とするリソース配分以上の空きリソース配分であって、当該必要とするリソース配分に最も近い前記空きリソース配分を示す記憶内容をもつ別ノード装置を移動先のノード装置として選択する手段と、
当該移動対象のエージェント手段を識別するエージェント識別情報と当該選択したノード装置を示すノード識別情報とを指定した前記エージェント移動メッセージを作成し、このエージェント移動メッセージを前記第2のリソース配分削除手段及び前記プログラム移動手段に送出する手段と、
を備えたことを特徴とするサービス提供システム。
【請求項3】
サービスを識別するサービス識別情報を含むサービス要求を送信して前記サービス要求に対するサービス応答を受信するユーザ端末に通信可能なゲートウェイ装置と、前記サービス要求を受けるとサービスの各段階を実行して実行結果又は前記サービス応答を送信する複数のノード装置との間の通信に介在するサービスマネージャ装置であって、
前記サービス識別情報と、当該サービス識別情報を含むサービス要求と前記サービス応答との間で計測可能な評価値とを関連付けて予め記憶するサービス評価値記憶手段と、
前記サービス識別情報と、当該サービス識別情報により識別されるサービスの各段階を個別に実行する複数のサービス提供モジュール手段を個別に識別するモジュール識別情報とを関連付けて記憶するモジュール識別情報記憶手段と、
前記各ノード装置を識別する各ノード識別情報と、前記各ノード装置に配置されたエージェント手段を識別するエージェント識別情報と、前記エージェント手段に含まれる前記サービス提供モジュール手段を識別する前記モジュール識別情報とを関連付けて記憶する配置記憶手段と、
前記ゲートウェイ装置からサービス要求を受けると、当該サービス要求内のサービス識別情報に基づいて前記モジュール識別情報記憶手段からモジュール識別情報を読出した後、このモジュール識別情報に基づいて前記配置記憶手段からノード識別情報を読出し、このノード識別情報に基づいて、前記サービス要求を当該ノード識別情報に識別されるノード装置に送信するサービス要求送信手段と、
前記サービス要求送信手段により送信したサービス要求に対するサービス応答をいずれかのノード装置から受けると、当該サービス応答を前記ゲートウェイ装置に送信すると共に、当該サービス要求と当該サービス応答との間で前記評価値を計測する第1の評価値計測手段と、
前記計測された評価値が前記サービス評価値記憶手段内の評価値を満たしていない場合には正の値のサービスペナルティ値を計算し、前記計測された評価値が前記サービス評価値記憶手段内の評価値を過度に満たしている場合に負の値のサービスペナルティ値を計算するペナルティ計算手段と、
前記計算されたサービスペナルティ値及び前記計測された評価値を、前記サービス要求の送信先のノード装置及び前記サービス応答の送信元のノード装置に送信するペナルティ送信手段と、
前記エージェント手段を削除、移動又は複製するように更新した前記ノード識別情報、前記エージェント識別情報及び前記モジュール識別情報を示す配置更新情報をいずれかの前記ノード装置から受けると、当該配置更新情報に基づいて前記配置記憶手段を更新する配置更新手段と、
を備え、
前記各ノード装置は、
自ノード装置に前記エージェント手段が配置される場合に用いられ、前記自ノード装置を当該エージェント手段としても機能させるためのエージェントプログラムを記憶可能なメモリ及びこのエージェントプログラムを実行可能なCPUを含み、
前記自ノード装置に配置されたエージェント手段を識別するエージェント識別情報と、前記自ノード装置のリソースの配分を示すリソース配分とを関連付けてリソース配分記憶手段に記憶し、
前記自ノード装置に配置されたエージェント手段から当該エージェント手段を識別するエージェント識別情報に関連付けたリソース配分を増加又は減少させるように更新するリソース配分更新メッセージを受けると、当該リソース配分更新メッセージに基づいて前記リソース配分記憶手段内のリソース配分を更新し、
前記自ノード装置に配置されたエージェント手段から当該エージェント手段を識別するエージェント識別情報を指定して当該エージェント手段を削除するエージェント削除メッセージを受けると、当該エージェント削除メッセージに基づいて前記リソース配分記憶手段内の当該エージェント識別情報及びリソース配分を削除すると共に、当該削除した後の自ノード装置に関する前記ノード識別情報、前記エージェント識別情報及び前記モジュール識別情報を示す配置更新情報を前記サービスマネージャ装置に送信し、当該エージェント手段の前記エージェントプログラムを前記メモリから削除し、
前記自ノード装置に配置されたエージェント手段から当該エージェント手段を識別するエージェント識別情報と移動先のノード装置を示すノード識別情報とを指定して当該エージェント手段を移動させるエージェント移動メッセージを受けると、当該エージェント移動メッセージに基づいて前記リソース配分記憶手段内の当該エージェント識別情報及びリソース配分を削除すると共に、当該削除した後の自ノード装置に関する前記ノード識別情報、前記エージェント識別情報及び前記モジュール識別情報と、前記移動先のノード装置に関する前記ノード識別情報、前記エージェント識別情報及び前記モジュール識別情報との両者を含む配置更新情報を前記サービスマネージャ装置に送信し、当該エージェント手段の前記エージェントプログラムを前記移動先のノード装置に送信すると共に、当該エージェントプログラムを前記メモリから削除し、
前記自ノード装置に配置されたエージェント手段から、前記自ノード装置以外の別ノード装置のリソース配分を問合せる問合せメッセージを受けると、前記別ノード装置のリソース配分記憶手段の記憶内容を前記別ノード装置に問合せると共に、前記別ノード装置から応答された前記記憶内容を当該エージェント手段に応答し、
前記エージェント手段は、
前記サービス識別情報と、前記モジュール識別情報と、前記サービスペナルティ値を前記各サービス提供モジュール手段に割り当てたモジュールペナルティ値を積算した積算値の上限を示す上限値と、当該積算値の下限を示す下限値とを関連付けて上下限値記憶手段に記憶し、
いずれかの前記サービス提供モジュール手段を有して当該サービス提供モジュール手段に対して前記評価値を計測し、
当該計測された評価値と、前記サービスマネージャ装置から受けたサービスペナルティ値及び評価値とに基づいて、前記モジュールペナルティ値を計算すると共に、当該モジュールペナルティ値の前記積算値を計算し、この積算値と前記上下限値記憶手段内の上限値及び下限値とを比較し、
前記比較の結果、前記積算値が前記上限値より大きいとき、当該エージェント手段が配置された自ノード装置内のリソース配分記憶手段を参照し、当該エージェント手段を識別するエージェント識別情報に関連付けられたリソース配分が増加可能か否かを判定し、
この判定の結果、増加可能な場合には前記リソース配分を増加させるように更新するリソース配分更新メッセージを送出し、
前記判定の結果、否の場合には前記問合せメッセージを前記別ノード問合せ手段に送出し、当該別ノード問合せ手段から応答された記憶内容に基づいて前記エージェント移動メッセージを送出し、
前記比較の結果、前記積算値が前記下限値より小さいとき、当該エージェント手段が配置された自ノード装置内のリソース配分記憶手段を参照し、当該エージェント手段を識別するエージェント識別情報に関連付けられたリソース配分が減少可能か否かを判定し、
この判定の結果、減少可能な場合には前記リソース配分を減少させるように更新するリソース配分更新メッセージを送出し、
前記減少可能か否かの判定の結果、否の場合には前記問合せメッセージを送出し、当該送出に対して応答された記憶内容に基づいて前記エージェント削除メッセージを送出することを特徴とするサービスマネージャ装置。
【請求項4】
サービスを識別するサービス識別情報を含むサービス要求を送信して前記サービス要求に対するサービス応答を受信するユーザ端末に通信可能なゲートウェイ装置と、前記サービス要求を受けるとサービスの各段階を実行して実行結果又は前記サービス応答を送信する複数のノード装置との間の通信に介在してサービス評価値記憶手段、モジュール識別情報記憶手段及び配置記憶手段を備えたサービスマネージャ装置に用いられるサービスマネージャ装置用プログラムであって、
前記サービスマネージャ装置を、
前記サービス識別情報と、当該サービス識別情報を含むサービス要求と前記サービス応答との間で計測可能な評価値とを関連付けて予め前記サービス評価値記憶手段に書込む手段、
前記サービス識別情報と、当該サービス識別情報により識別されるサービスの各段階を個別に実行する複数のサービス提供モジュール手段を個別に識別するモジュール識別情報とを関連付けて前記モジュール識別情報記憶手段に書込む手段、
前記各ノード装置を識別する各ノード識別情報と、前記各ノード装置に配置されたエージェント手段を識別するエージェント識別情報と、前記エージェント手段に含まれる前記サービス提供モジュール手段を識別する前記モジュール識別情報とを関連付けて前記配置記憶手段に書込む手段、
前記ゲートウェイ装置からサービス要求を受けると、当該サービス要求内のサービス識別情報に基づいて前記モジュール識別情報記憶手段からモジュール識別情報を読出した後、このモジュール識別情報に基づいて前記配置記憶手段からノード識別情報を読出し、このノード識別情報に基づいて、前記サービス要求を当該ノード識別情報に識別されるノード装置に送信するサービス要求送信手段、
前記サービス要求送信手段により送信したサービス要求に対するサービス応答をいずれかのノード装置から受けると、当該サービス応答を前記ゲートウェイ装置に送信すると共に、当該サービス要求と当該サービス応答との間で前記評価値を計測する第1の評価値計測手段、
前記計測された評価値が前記サービス評価値記憶手段内の評価値を満たしていない場合には正の値のサービスペナルティ値を計算し、前記計測された評価値が前記サービス評価値記憶手段内の評価値を過度に満たしている場合に負の値のサービスペナルティ値を計算するペナルティ計算手段、
前記計算されたサービスペナルティ値及び前記計測された評価値を、前記サービス要求の送信先のノード装置及び前記サービス応答の送信元のノード装置に送信するペナルティ送信手段、
前記エージェント手段を削除、移動又は複製するように更新した前記ノード識別情報、前記エージェント識別情報及び前記モジュール識別情報を示す配置更新情報をいずれかの前記ノード装置から受けると、当該配置更新情報に基づいて前記配置記憶手段を更新する配置更新手段、
として機能させ、
前記各ノード装置は、
自ノード装置に前記エージェント手段が配置された場合に用いられ、前記自ノード装置を当該エージェント手段としても機能させるためのエージェントプログラムを記憶可能なメモリ及びこのエージェントプログラムを実行可能なCPUを含み、
前記自ノード装置に配置されたエージェント手段を識別するエージェント識別情報と、前記自ノード装置のリソースの配分を示すリソース配分とを関連付けてリソース配分記憶手段に記憶し、
前記自ノード装置に配置されたエージェント手段から当該エージェント手段を識別するエージェント識別情報に関連付けたリソース配分を増加又は減少させるように更新するリソース配分更新メッセージを受けると、当該リソース配分更新メッセージに基づいて前記リソース配分記憶手段内のリソース配分を更新し、
前記自ノード装置に配置されたエージェント手段から当該エージェント手段を識別するエージェント識別情報を指定して当該エージェント手段を削除するエージェント削除メッセージを受けると、当該エージェント削除メッセージに基づいて前記リソース配分記憶手段内の当該エージェント識別情報及びリソース配分を削除すると共に、当該削除した後の自ノード装置に関する前記ノード識別情報、前記エージェント識別情報及び前記モジュール識別情報を示す配置更新情報を前記サービスマネージャ装置に送信し、当該エージェント手段の前記エージェントプログラムを前記メモリから削除し、
前記自ノード装置に配置されたエージェント手段から当該エージェント手段を識別するエージェント識別情報と移動先のノード装置を示すノード識別情報とを指定して当該エージェント手段を移動させるエージェント移動メッセージを受けると、当該エージェント移動メッセージに基づいて前記リソース配分記憶手段内の当該エージェント識別情報及びリソース配分を削除すると共に、当該削除した後の自ノード装置に関する前記ノード識別情報、前記エージェント識別情報及び前記モジュール識別情報と、前記移動先のノード装置に関する前記ノード識別情報、前記エージェント識別情報及び前記モジュール識別情報との両者を含む配置更新情報を前記サービスマネージャ装置に送信し、当該エージェント手段の前記エージェントプログラムを前記移動先のノード装置に送信すると共に、当該エージェントプログラムを前記メモリから削除し、
前記自ノード装置に配置されたエージェント手段から、前記自ノード装置以外の別ノード装置のリソース配分を問合せる問合せメッセージを受けると、前記別ノード装置のリソース配分記憶手段の記憶内容を前記別ノード装置に問合せると共に、前記別ノード装置から応答された前記記憶内容を当該エージェント手段に応答し、
前記エージェント手段は、
前記サービス識別情報と、前記モジュール識別情報と、前記サービスペナルティ値を前記各サービス提供モジュール手段に割り当てたモジュールペナルティ値を積算した積算値の上限を示す上限値と、当該積算値の下限を示す下限値とを関連付けて上下限値記憶手段に記憶し、
いずれかの前記サービス提供モジュール手段を有して当該サービス提供モジュール手段に対して前記評価値を計測し、
当該計測された評価値と、前記サービスマネージャ装置から受けたサービスペナルティ値及び評価値とに基づいて、前記モジュールペナルティ値を計算すると共に、当該モジュールペナルティ値の前記積算値を計算し、この積算値と前記上下限値記憶手段内の上限値及び下限値とを比較し、
前記比較の結果、前記積算値が前記上限値より大きいとき、当該エージェント手段が配置された自ノード装置内のリソース配分記憶手段を参照し、当該エージェント手段を識別するエージェント識別情報に関連付けられたリソース配分が増加可能か否かを判定し、
この判定の結果、増加可能な場合には前記リソース配分を増加させるように更新するリソース配分更新メッセージを送出し、
前記判定の結果、否の場合には前記問合せメッセージを前記別ノード問合せ手段に送出し、当該別ノード問合せ手段から応答された記憶内容に基づいて前記エージェント移動メッセージを送出し、
前記比較の結果、前記積算値が前記下限値より小さいとき、当該エージェント手段が配置された自ノード装置内のリソース配分記憶手段を参照し、当該エージェント手段を識別するエージェント識別情報に関連付けられたリソース配分が減少可能か否かを判定し、
この判定の結果、減少可能な場合には前記リソース配分を減少させるように更新するリソース配分更新メッセージを送出し、
前記減少可能か否かの判定の結果、否の場合には前記問合せメッセージを送出し、当該送出に対して応答された記憶内容に基づいて前記エージェント削除メッセージを送出するサービスマネージャ装置用プログラム。
【請求項5】
サービスを識別するサービス識別情報と、当該サービス識別情報を含むサービス要求と前記サービス要求に対するサービス応答との間で計測可能な評価値とを関連付けて予めサービス評価値記憶手段に記憶し、
前記サービス識別情報と、当該サービス識別情報により識別されるサービスの各段階を個別に実行する複数のサービス提供モジュール手段を個別に識別するモジュール識別情報とを関連付けてモジュール識別情報記憶手段に記憶し、
前記各ノード装置を識別する各ノード識別情報と、前記各ノード装置に配置されたエージェント手段を識別するエージェント識別情報と、前記エージェント手段に含まれる前記サービス提供モジュール手段を識別する前記モジュール識別情報とを関連付けて配置記憶手段に記憶し、
前記サービス要求を送信して前記サービス応答を受信するユーザ端末に通信可能なゲートウェイ装置から前記サービス要求を受けると、当該サービス要求内のサービス識別情報に基づいて前記モジュール識別情報記憶手段からモジュール識別情報を読出した後、このモジュール識別情報に基づいて前記配置記憶手段からノード識別情報を読出し、このノード識別情報に基づいて、前記サービス要求を当該ノード識別情報に識別されるノード装置に送信し、
当該送信したサービス要求に対するサービス応答をいずれかのノード装置から受けると、当該サービス応答を前記ゲートウェイ装置に送信すると共に、当該サービス要求と当該サービス応答との間で前記評価値を計測し、
前記計測された評価値が前記サービス評価値記憶手段内の評価値を満たしていない場合には正の値のサービスペナルティ値を計算し、前記計測された評価値が前記サービス評価値記憶手段内の評価値を過度に満たしている場合に負の値のサービスペナルティ値を計算し、
前記計算されたサービスペナルティ値及び前記計測された評価値を、前記サービス要求の送信先のノード装置及び前記サービス応答の送信元のノード装置に送信し、
前記エージェント手段を削除、移動又は複製するように更新した前記ノード識別情報、前記エージェント識別情報及び前記モジュール識別情報を示す配置更新情報をいずれかの前記ノード装置から受けると、当該配置更新情報に基づいて前記配置記憶手段を更新するサービスマネージャ装置に通信可能な各々のノード装置であって、
自ノード装置に前記エージェント手段が配置された場合に用いられ、前記自ノード装置を当該エージェント手段としても機能させるためのエージェントプログラムを記憶可能なメモリ及びこのエージェントプログラムを実行可能なCPUを含むプログラム実行手段と、
前記自ノード装置に配置されたエージェント手段を識別するエージェント識別情報と、前記自ノード装置のリソースの配分を示すリソース配分とを関連付けて記憶するリソース配分記憶手段と、
前記自ノード装置に配置されたエージェント手段から当該エージェント手段を識別するエージェント識別情報に関連付けたリソース配分を増加又は減少させるように更新するリソース配分更新メッセージを受けると、当該リソース配分更新メッセージに基づいて前記リソース配分記憶手段内のリソース配分を更新するリソース配分更新手段と、
前記自ノード装置に配置されたエージェント手段から当該エージェント手段を識別するエージェント識別情報を指定して当該エージェント手段を削除するエージェント削除メッセージを受けると、当該エージェント削除メッセージに基づいて前記リソース配分記憶手段内の当該エージェント識別情報及びリソース配分を削除する第1のリソース配分削除手段、
前記エージェント削除メッセージを受けると、前記第1のリソース配分削除手段により削除された後の自ノード装置に関する前記ノード識別情報、前記エージェント識別情報及び前記モジュール識別情報を示す配置更新情報を前記サービスマネージャ装置に送信し、当該エージェント手段の前記エージェントプログラムを前記メモリから削除するプログラム削除手段と、
前記自ノード装置に配置されたエージェント手段から当該エージェント手段を識別するエージェント識別情報と移動先のノード装置を示すノード識別情報とを指定して当該エージェント手段を移動させるエージェント移動メッセージを受けると、当該エージェント移動メッセージに基づいて前記リソース配分記憶手段内の当該エージェント識別情報及びリソース配分を削除する第2のリソース配分削除手段、
前記エージェント移動メッセージを受けると、前記第2のリソース配分削除手段により削除された後の自ノード装置に関する前記ノード識別情報、前記エージェント識別情報及び前記モジュール識別情報と、前記移動先のノード装置に関する前記ノード識別情報、前記エージェント識別情報及び前記モジュール識別情報との両者を含む配置更新情報を前記サービスマネージャ装置に送信し、当該エージェント手段の前記エージェントプログラムを前記移動先のノード装置に送信すると共に、当該エージェントプログラムを前記メモリから削除するプログラム移動手段と、
前記自ノード装置に配置されたエージェント手段から、前記自ノード装置以外の別ノード装置のリソース配分を問合せる問合せメッセージを受けると、前記別ノード装置のリソース配分記憶手段の記憶内容を前記別ノード装置に問合せると共に、前記別ノード装置から応答された前記記憶内容を当該エージェント手段に応答する別ノード問合せ手段と、
を備え、
前記エージェント手段は、
前記サービス識別情報と、前記モジュール識別情報と、前記サービスペナルティ値を前記各サービス提供モジュール手段に割り当てたモジュールペナルティ値を積算した積算値の上限を示す上限値と、当該積算値の下限を示す下限値とを関連付けて記憶する上下限値記憶手段と、
いずれかの前記サービス提供モジュール手段と、
このサービス提供モジュール手段に対して前記評価値を計測する第2の評価値計測手段と、
前記第2の評価値計測手段により計測された評価値と、前記サービスマネージャ装置から受けたサービスペナルティ値及び評価値とに基づいて、前記モジュールペナルティ値を計算すると共に、当該モジュールペナルティ値の前記積算値を計算し、この積算値と前記上下限値記憶手段内の上限値及び下限値とを比較する比較手段と、
前記比較の結果、前記積算値が前記上限値より大きいとき、当該エージェント手段が配置された自ノード装置内のリソース配分記憶手段を参照し、当該エージェント手段を識別するエージェント識別情報に関連付けられたリソース配分が増加可能か否かを判定するリソース増加判定手段と、
この判定の結果、増加可能な場合には前記リソース配分を増加させるように更新するリソース配分更新メッセージを前記リソース配分更新手段に送出する手段と、
前記判定の結果、否の場合には前記問合せメッセージを前記別ノード問合せ手段に送出し、当該別ノード問合せ手段から応答された記憶内容に基づいて前記エージェント移動メッセージを前記第2のリソース配分削除手段及び前記プログラム移動手段に送出する移動メッセージ送出手段と、
前記比較の結果、前記積算値が前記下限値より小さいとき、当該エージェント手段が配置された自ノード装置内のリソース配分記憶手段を参照し、当該エージェント手段を識別するエージェント識別情報に関連付けられたリソース配分が減少可能か否かを判定するリソース減少判定手段と、
この判定の結果、減少可能な場合には前記リソース配分を減少させるように更新するリソース配分更新メッセージを前記リソース配分更新手段に送出する手段と、
前記リソース減少判定手段による判定の結果、否の場合には前記問合せメッセージを前記別ノード問合せ手段に送出し、当該別ノード問合せ手段から応答された記憶内容に基づいて前記エージェント削除メッセージを前記第1のリソース配分削除手段及び前記プログラム削除手段に送出する削除メッセージ送出手段と、
を備えたことを特徴とするノード装置。
【請求項6】
サービスを識別するサービス識別情報と、当該サービス識別情報を含むサービス要求と前記サービス要求に対するサービス応答との間で計測可能な評価値とを関連付けて予めサービス評価値記憶手段に記憶し、
前記サービス識別情報と、当該サービス識別情報により識別されるサービスの各段階を個別に実行する複数のサービス提供モジュール手段を個別に識別するモジュール識別情報とを関連付けてモジュール識別情報記憶手段に記憶し、
前記各ノード装置を識別する各ノード識別情報と、前記各ノード装置に配置されたエージェント手段を識別するエージェント識別情報と、前記エージェント手段に含まれる前記サービス提供モジュール手段を識別する前記モジュール識別情報とを関連付けて配置記憶手段に記憶し、
前記サービス要求を送信して前記サービス応答を受信するユーザ端末に通信可能なゲートウェイ装置から前記サービス要求を受けると、当該サービス要求内のサービス識別情報に基づいて前記モジュール識別情報記憶手段からモジュール識別情報を読出した後、このモジュール識別情報に基づいて前記配置記憶手段からノード識別情報を読出し、このノード識別情報に基づいて、前記サービス要求を当該ノード識別情報に識別されるノード装置に送信し、
当該送信したサービス要求に対するサービス応答をいずれかのノード装置から受けると、当該サービス応答を前記ゲートウェイ装置に送信すると共に、当該サービス要求と当該サービス応答との間で前記評価値を計測し、
前記計測された評価値が前記サービス評価値記憶手段内の評価値を満たしていない場合には正の値のサービスペナルティ値を計算し、前記計測された評価値が前記サービス評価値記憶手段内の評価値を過度に満たしている場合に負の値のサービスペナルティ値を計算し、
前記計算されたサービスペナルティ値及び前記計測された評価値を、前記サービス要求の送信先のノード装置及び前記サービス応答の送信元のノード装置に送信し、
前記エージェント手段を削除、移動又は複製するように更新した前記ノード識別情報、前記エージェント識別情報及び前記モジュール識別情報を示す配置更新情報をいずれかの前記ノード装置から受けると、当該配置更新情報に基づいて前記配置記憶手段を更新するサービスマネージャ装置に通信可能な各々のノード装置であって、自ノード装置に前記エージェント手段が配置された場合に用いられ、前記自ノード装置を当該エージェント手段としても機能させるためのエージェントプログラムを記憶可能なメモリ及びこのエージェントプログラムを実行可能なCPUを含むプログラム実行手段と、リソース配分記憶手段とを備えた前記ノード装置に用いられるノード装置用プログラムであって、
前記ノード装置を、
前記自ノード装置に配置されたエージェント手段を識別するエージェント識別情報と、前記自ノード装置のリソースの配分を示すリソース配分とを関連付けて前記リソース配分記憶手段に書込む手段、
前記自ノード装置に配置されたエージェント手段から当該エージェント手段を識別するエージェント識別情報に関連付けたリソース配分を増加又は減少させるように更新するリソース配分更新メッセージを受けると、当該リソース配分更新メッセージに基づいて前記リソース配分記憶手段内のリソース配分を更新するリソース配分更新手段、
前記自ノード装置に配置されたエージェント手段から当該エージェント手段を識別するエージェント識別情報を指定して当該エージェント手段を削除するエージェント削除メッセージを受けると、当該エージェント削除メッセージに基づいて前記リソース配分記憶手段内の当該エージェント識別情報及びリソース配分を削除する第1のリソース配分削除手段、
前記エージェント削除メッセージを受けると、前記第1のリソース配分削除手段により削除された後の自ノード装置に関する前記ノード識別情報、前記エージェント識別情報及び前記モジュール識別情報を示す配置更新情報を前記サービスマネージャ装置に送信し、当該エージェント手段の前記エージェントプログラムを前記メモリから削除するプログラム削除手段、
前記自ノード装置に配置されたエージェント手段から当該エージェント手段を識別するエージェント識別情報と移動先のノード装置を示すノード識別情報とを指定して当該エージェント手段を移動させるエージェント移動メッセージを受けると、当該エージェント移動メッセージに基づいて前記リソース配分記憶手段内の当該エージェント識別情報及びリソース配分を削除する第2のリソース配分削除手段、
前記エージェント移動メッセージを受けると、前記第2のリソース配分削除手段により削除された後の自ノード装置に関する前記ノード識別情報、前記エージェント識別情報及び前記モジュール識別情報と、前記移動先のノード装置に関する前記ノード識別情報、前記エージェント識別情報及び前記モジュール識別情報との両者を含む配置更新情報を前記サービスマネージャ装置に送信し、当該エージェント手段の前記エージェントプログラムを前記移動先のノード装置に送信すると共に、当該エージェントプログラムを前記メモリから削除するプログラム移動手段、
前記自ノード装置に配置されたエージェント手段から、前記自ノード装置以外の別ノード装置のリソース配分を問合せる問合せメッセージを受けると、前記別ノード装置のリソース配分記憶手段の記憶内容を前記別ノード装置に問合せると共に、前記別ノード装置から応答された前記記憶内容を当該エージェント手段に応答する別ノード問合せ手段、
として機能させ、
前記エージェント手段は、
前記サービス識別情報と、前記モジュール識別情報と、前記サービスペナルティ値を前記各サービス提供モジュール手段に割り当てたモジュールペナルティ値を積算した積算値の上限を示す上限値と、当該積算値の下限を示す下限値とを関連付けて、当該エージェント手段が配置された自ノード装置内の上下限値記憶手段に書込む手段、
いずれかの前記サービス提供モジュール手段、
このサービス提供モジュール手段に対して前記評価値を計測する第2の評価値計測手段、
前記第2の評価値計測手段により計測された評価値と、前記サービスマネージャ装置から受けたサービスペナルティ値及び評価値とに基づいて、前記モジュールペナルティ値を計算すると共に、当該モジュールペナルティ値の前記積算値を計算し、この積算値と前記上下限値記憶手段内の上限値及び下限値とを比較する比較手段、
前記比較の結果、前記積算値が前記上限値より大きいとき、当該エージェント手段が配置された自ノード装置内のリソース配分記憶手段を参照し、当該エージェント手段を識別するエージェント識別情報に関連付けられたリソース配分が増加可能か否かを判定するリソース増加判定手段、
この判定の結果、増加可能な場合には前記リソース配分を増加させるように更新するリソース配分更新メッセージを前記リソース配分更新手段に送出する手段、
前記判定の結果、否の場合には前記問合せメッセージを前記別ノード問合せ手段に送出し、当該別ノード問合せ手段から応答された記憶内容に基づいて前記エージェント移動メッセージを前記第2のリソース配分削除手段及び前記プログラム移動手段に送出する移動メッセージ送出手段、
前記比較の結果、前記積算値が前記下限値より小さいとき、当該エージェント手段が配置された自ノード装置内のリソース配分記憶手段を参照し、当該エージェント手段を識別するエージェント識別情報に関連付けられたリソース配分が減少可能か否かを判定するリソース減少判定手段、
この判定の結果、減少可能な場合には前記リソース配分を減少させるように更新するリソース配分更新メッセージを前記リソース配分更新手段に送出する手段、
前記リソース減少判定手段による判定の結果、否の場合には前記問合せメッセージを前記別ノード問合せ手段に送出し、当該別ノード問合せ手段から応答された記憶内容に基づいて前記エージェント削除メッセージを前記第1のリソース配分削除手段及び前記プログラム削除手段に送出する削除メッセージ送出手段、
を含んでいるノード装置用プログラム。
【請求項1】
サービスを識別するサービス識別情報を含むサービス要求を送信して前記サービス要求に対するサービス応答を受信するユーザ端末に通信可能なゲートウェイ装置に接続されたサービスマネージャ装置と、前記サービスマネージャ装置に通信可能な複数のノード装置とを備えたサービス提供システムであって、
前記サービスマネージャ装置は、
前記サービス識別情報と、当該サービス識別情報を含むサービス要求と前記サービス応答との間で計測可能な評価値とを関連付けて予め記憶するサービス評価値記憶手段と、
前記サービス識別情報と、当該サービス識別情報により識別されるサービスの各段階を個別に実行する複数のサービス提供モジュール手段を個別に識別するモジュール識別情報とを関連付けて記憶するモジュール識別情報記憶手段と、
前記各ノード装置を識別する各ノード識別情報と、前記各ノード装置に配置されたエージェント手段を識別するエージェント識別情報と、前記エージェント手段に含まれる前記サービス提供モジュール手段を識別する前記モジュール識別情報とを関連付けて記憶する配置記憶手段と、
前記ゲートウェイ装置からサービス要求を受けると、当該サービス要求内のサービス識別情報に基づいて前記モジュール識別情報記憶手段からモジュール識別情報を読出した後、このモジュール識別情報に基づいて前記配置記憶手段からノード識別情報を読出し、このノード識別情報に基づいて、前記サービス要求を当該ノード識別情報に識別されるノード装置に送信するサービス要求送信手段と、
前記サービス要求送信手段により送信したサービス要求に対するサービス応答をいずれかのノード装置から受けると、当該サービス応答を前記ゲートウェイ装置に送信すると共に、当該サービス要求と当該サービス応答との間で前記評価値を計測する第1の評価値計測手段と、
前記計測された評価値が前記サービス評価値記憶手段内の評価値を満たしていない場合には正の値のサービスペナルティ値を計算し、前記計測された評価値が前記サービス評価値記憶手段内の評価値を過度に満たしている場合に負の値のサービスペナルティ値を計算するペナルティ計算手段と、
前記計算されたサービスペナルティ値及び前記計測された評価値を、前記サービス要求の送信先のノード装置及び前記サービス応答の送信元のノード装置に送信するペナルティ送信手段と、
前記エージェント手段を削除、移動又は複製するように更新した前記ノード識別情報、前記エージェント識別情報及び前記モジュール識別情報を示す配置更新情報をいずれかの前記ノード装置から受けると、当該配置更新情報に基づいて前記配置記憶手段を更新する配置更新手段と、
を備え、
前記各ノード装置は、
自ノード装置に前記エージェント手段が配置される場合に用いられ、前記自ノード装置を当該エージェント手段としても機能させるためのエージェントプログラムを記憶可能なメモリ及びこのエージェントプログラムを実行可能なCPUを含むプログラム実行手段と、
前記自ノード装置に配置されたエージェント手段を識別するエージェント識別情報と、前記自ノード装置のリソースの配分を示すリソース配分とを関連付けて記憶するリソース配分記憶手段と、
前記自ノード装置に配置されたエージェント手段から当該エージェント手段を識別するエージェント識別情報に関連付けたリソース配分を増加又は減少させるように更新するリソース配分更新メッセージを受けると、当該リソース配分更新メッセージに基づいて前記リソース配分記憶手段内のリソース配分を更新するリソース配分更新手段と、
前記自ノード装置に配置されたエージェント手段から当該エージェント手段を識別するエージェント識別情報を指定して当該エージェント手段を削除するエージェント削除メッセージを受けると、当該エージェント削除メッセージに基づいて前記リソース配分記憶手段内の当該エージェント識別情報及びリソース配分を削除する第1のリソース配分削除手段と、
前記エージェント削除メッセージを受けると、前記第1のリソース配分削除手段により削除された後の自ノード装置に関する前記ノード識別情報、前記エージェント識別情報及び前記モジュール識別情報を示す配置更新情報を前記サービスマネージャ装置に送信し、当該エージェント手段の前記エージェントプログラムを前記メモリから削除するプログラム削除手段と、
前記自ノード装置に配置されたエージェント手段から当該エージェント手段を識別するエージェント識別情報と移動先のノード装置を示すノード識別情報とを指定して当該エージェント手段を移動させるエージェント移動メッセージを受けると、当該エージェント移動メッセージに基づいて前記リソース配分記憶手段内の当該エージェント識別情報及びリソース配分を削除する第2のリソース配分削除手段と、
前記エージェント移動メッセージを受けると、前記第2のリソース配分削除手段により削除された後の自ノード装置に関する前記ノード識別情報、前記エージェント識別情報及び前記モジュール識別情報と、前記移動先のノード装置に関する前記ノード識別情報、前記エージェント識別情報及び前記モジュール識別情報との両者を含む配置更新情報を前記サービスマネージャ装置に送信し、当該エージェント手段の前記エージェントプログラムを前記移動先のノード装置に送信すると共に、当該エージェントプログラムを前記メモリから削除するプログラム移動手段と、
前記自ノード装置に配置されたエージェント手段から、前記自ノード装置以外の別ノード装置のリソース配分を問合せる問合せメッセージを受けると、前記別ノード装置のリソース配分記憶手段の記憶内容を前記別ノード装置に問合せると共に、前記別ノード装置から応答された前記記憶内容を当該エージェント手段に応答する別ノード問合せ手段と、
を備え、
前記エージェント手段は、
前記サービス識別情報と、前記モジュール識別情報と、前記サービスペナルティ値を前記各サービス提供モジュール手段に割り当てたモジュールペナルティ値を積算した積算値の上限を示す上限値と、当該積算値の下限を示す下限値とを関連付けて記憶する上下限値記憶手段と、
いずれかの前記サービス提供モジュール手段と、
このサービス提供モジュール手段に対して前記評価値を計測する第2の評価値計測手段と、
前記第2の評価値計測手段により計測された評価値と、前記サービスマネージャ装置から受けたサービスペナルティ値及び評価値とに基づいて、前記モジュールペナルティ値を計算すると共に、当該モジュールペナルティ値の前記積算値を計算し、この積算値と前記上下限値記憶手段内の上限値及び下限値とを比較する比較手段と、
前記比較の結果、前記積算値が前記上限値より大きいとき、当該エージェント手段が配置された自ノード装置内のリソース配分記憶手段を参照し、当該エージェント手段を識別するエージェント識別情報に関連付けられたリソース配分が増加可能か否かを判定するリソース増加判定手段と、
この判定の結果、増加可能な場合には前記リソース配分を増加させるように更新するリソース配分更新メッセージを前記リソース配分更新手段に送出する手段と、
前記判定の結果、否の場合には前記問合せメッセージを前記別ノード問合せ手段に送出し、当該別ノード問合せ手段から応答された記憶内容に基づいて前記エージェント移動メッセージを前記第2のリソース配分削除手段及び前記プログラム移動手段に送出する移動メッセージ送出手段と、
前記比較の結果、前記積算値が前記下限値より小さいとき、当該エージェント手段が配置された自ノード装置内のリソース配分記憶手段を参照し、当該エージェント手段を識別するエージェント識別情報に関連付けられたリソース配分が減少可能か否かを判定するリソース減少判定手段と、
この判定の結果、減少可能な場合には前記リソース配分を減少させるように更新するリソース配分更新メッセージを前記リソース配分更新手段に送出する手段と、
前記リソース減少判定手段による判定の結果、否の場合には前記問合せメッセージを前記別ノード問合せ手段に送出し、当該別ノード問合せ手段から応答された記憶内容に基づいて前記エージェント削除メッセージを前記第1のリソース配分削除手段及び前記プログラム削除手段に送出する削除メッセージ送出手段と、
を備えたことを特徴とするサービス提供システム。
【請求項2】
請求項1に記載のサービス提供システムにおいて、
前記移動メッセージ送出手段は、
前記別ノード問合せ手段から応答された前記別ノード装置のリソース配分記憶手段の記憶内容のうち、移動対象のエージェント手段が必要とするリソース配分以上の空きリソース配分であって、当該必要とするリソース配分に最も近い前記空きリソース配分を示す記憶内容をもつ別ノード装置を移動先のノード装置として選択する手段と、
当該移動対象のエージェント手段を識別するエージェント識別情報と当該選択したノード装置を示すノード識別情報とを指定した前記エージェント移動メッセージを作成し、このエージェント移動メッセージを前記第2のリソース配分削除手段及び前記プログラム移動手段に送出する手段と、
を備えたことを特徴とするサービス提供システム。
【請求項3】
サービスを識別するサービス識別情報を含むサービス要求を送信して前記サービス要求に対するサービス応答を受信するユーザ端末に通信可能なゲートウェイ装置と、前記サービス要求を受けるとサービスの各段階を実行して実行結果又は前記サービス応答を送信する複数のノード装置との間の通信に介在するサービスマネージャ装置であって、
前記サービス識別情報と、当該サービス識別情報を含むサービス要求と前記サービス応答との間で計測可能な評価値とを関連付けて予め記憶するサービス評価値記憶手段と、
前記サービス識別情報と、当該サービス識別情報により識別されるサービスの各段階を個別に実行する複数のサービス提供モジュール手段を個別に識別するモジュール識別情報とを関連付けて記憶するモジュール識別情報記憶手段と、
前記各ノード装置を識別する各ノード識別情報と、前記各ノード装置に配置されたエージェント手段を識別するエージェント識別情報と、前記エージェント手段に含まれる前記サービス提供モジュール手段を識別する前記モジュール識別情報とを関連付けて記憶する配置記憶手段と、
前記ゲートウェイ装置からサービス要求を受けると、当該サービス要求内のサービス識別情報に基づいて前記モジュール識別情報記憶手段からモジュール識別情報を読出した後、このモジュール識別情報に基づいて前記配置記憶手段からノード識別情報を読出し、このノード識別情報に基づいて、前記サービス要求を当該ノード識別情報に識別されるノード装置に送信するサービス要求送信手段と、
前記サービス要求送信手段により送信したサービス要求に対するサービス応答をいずれかのノード装置から受けると、当該サービス応答を前記ゲートウェイ装置に送信すると共に、当該サービス要求と当該サービス応答との間で前記評価値を計測する第1の評価値計測手段と、
前記計測された評価値が前記サービス評価値記憶手段内の評価値を満たしていない場合には正の値のサービスペナルティ値を計算し、前記計測された評価値が前記サービス評価値記憶手段内の評価値を過度に満たしている場合に負の値のサービスペナルティ値を計算するペナルティ計算手段と、
前記計算されたサービスペナルティ値及び前記計測された評価値を、前記サービス要求の送信先のノード装置及び前記サービス応答の送信元のノード装置に送信するペナルティ送信手段と、
前記エージェント手段を削除、移動又は複製するように更新した前記ノード識別情報、前記エージェント識別情報及び前記モジュール識別情報を示す配置更新情報をいずれかの前記ノード装置から受けると、当該配置更新情報に基づいて前記配置記憶手段を更新する配置更新手段と、
を備え、
前記各ノード装置は、
自ノード装置に前記エージェント手段が配置される場合に用いられ、前記自ノード装置を当該エージェント手段としても機能させるためのエージェントプログラムを記憶可能なメモリ及びこのエージェントプログラムを実行可能なCPUを含み、
前記自ノード装置に配置されたエージェント手段を識別するエージェント識別情報と、前記自ノード装置のリソースの配分を示すリソース配分とを関連付けてリソース配分記憶手段に記憶し、
前記自ノード装置に配置されたエージェント手段から当該エージェント手段を識別するエージェント識別情報に関連付けたリソース配分を増加又は減少させるように更新するリソース配分更新メッセージを受けると、当該リソース配分更新メッセージに基づいて前記リソース配分記憶手段内のリソース配分を更新し、
前記自ノード装置に配置されたエージェント手段から当該エージェント手段を識別するエージェント識別情報を指定して当該エージェント手段を削除するエージェント削除メッセージを受けると、当該エージェント削除メッセージに基づいて前記リソース配分記憶手段内の当該エージェント識別情報及びリソース配分を削除すると共に、当該削除した後の自ノード装置に関する前記ノード識別情報、前記エージェント識別情報及び前記モジュール識別情報を示す配置更新情報を前記サービスマネージャ装置に送信し、当該エージェント手段の前記エージェントプログラムを前記メモリから削除し、
前記自ノード装置に配置されたエージェント手段から当該エージェント手段を識別するエージェント識別情報と移動先のノード装置を示すノード識別情報とを指定して当該エージェント手段を移動させるエージェント移動メッセージを受けると、当該エージェント移動メッセージに基づいて前記リソース配分記憶手段内の当該エージェント識別情報及びリソース配分を削除すると共に、当該削除した後の自ノード装置に関する前記ノード識別情報、前記エージェント識別情報及び前記モジュール識別情報と、前記移動先のノード装置に関する前記ノード識別情報、前記エージェント識別情報及び前記モジュール識別情報との両者を含む配置更新情報を前記サービスマネージャ装置に送信し、当該エージェント手段の前記エージェントプログラムを前記移動先のノード装置に送信すると共に、当該エージェントプログラムを前記メモリから削除し、
前記自ノード装置に配置されたエージェント手段から、前記自ノード装置以外の別ノード装置のリソース配分を問合せる問合せメッセージを受けると、前記別ノード装置のリソース配分記憶手段の記憶内容を前記別ノード装置に問合せると共に、前記別ノード装置から応答された前記記憶内容を当該エージェント手段に応答し、
前記エージェント手段は、
前記サービス識別情報と、前記モジュール識別情報と、前記サービスペナルティ値を前記各サービス提供モジュール手段に割り当てたモジュールペナルティ値を積算した積算値の上限を示す上限値と、当該積算値の下限を示す下限値とを関連付けて上下限値記憶手段に記憶し、
いずれかの前記サービス提供モジュール手段を有して当該サービス提供モジュール手段に対して前記評価値を計測し、
当該計測された評価値と、前記サービスマネージャ装置から受けたサービスペナルティ値及び評価値とに基づいて、前記モジュールペナルティ値を計算すると共に、当該モジュールペナルティ値の前記積算値を計算し、この積算値と前記上下限値記憶手段内の上限値及び下限値とを比較し、
前記比較の結果、前記積算値が前記上限値より大きいとき、当該エージェント手段が配置された自ノード装置内のリソース配分記憶手段を参照し、当該エージェント手段を識別するエージェント識別情報に関連付けられたリソース配分が増加可能か否かを判定し、
この判定の結果、増加可能な場合には前記リソース配分を増加させるように更新するリソース配分更新メッセージを送出し、
前記判定の結果、否の場合には前記問合せメッセージを前記別ノード問合せ手段に送出し、当該別ノード問合せ手段から応答された記憶内容に基づいて前記エージェント移動メッセージを送出し、
前記比較の結果、前記積算値が前記下限値より小さいとき、当該エージェント手段が配置された自ノード装置内のリソース配分記憶手段を参照し、当該エージェント手段を識別するエージェント識別情報に関連付けられたリソース配分が減少可能か否かを判定し、
この判定の結果、減少可能な場合には前記リソース配分を減少させるように更新するリソース配分更新メッセージを送出し、
前記減少可能か否かの判定の結果、否の場合には前記問合せメッセージを送出し、当該送出に対して応答された記憶内容に基づいて前記エージェント削除メッセージを送出することを特徴とするサービスマネージャ装置。
【請求項4】
サービスを識別するサービス識別情報を含むサービス要求を送信して前記サービス要求に対するサービス応答を受信するユーザ端末に通信可能なゲートウェイ装置と、前記サービス要求を受けるとサービスの各段階を実行して実行結果又は前記サービス応答を送信する複数のノード装置との間の通信に介在してサービス評価値記憶手段、モジュール識別情報記憶手段及び配置記憶手段を備えたサービスマネージャ装置に用いられるサービスマネージャ装置用プログラムであって、
前記サービスマネージャ装置を、
前記サービス識別情報と、当該サービス識別情報を含むサービス要求と前記サービス応答との間で計測可能な評価値とを関連付けて予め前記サービス評価値記憶手段に書込む手段、
前記サービス識別情報と、当該サービス識別情報により識別されるサービスの各段階を個別に実行する複数のサービス提供モジュール手段を個別に識別するモジュール識別情報とを関連付けて前記モジュール識別情報記憶手段に書込む手段、
前記各ノード装置を識別する各ノード識別情報と、前記各ノード装置に配置されたエージェント手段を識別するエージェント識別情報と、前記エージェント手段に含まれる前記サービス提供モジュール手段を識別する前記モジュール識別情報とを関連付けて前記配置記憶手段に書込む手段、
前記ゲートウェイ装置からサービス要求を受けると、当該サービス要求内のサービス識別情報に基づいて前記モジュール識別情報記憶手段からモジュール識別情報を読出した後、このモジュール識別情報に基づいて前記配置記憶手段からノード識別情報を読出し、このノード識別情報に基づいて、前記サービス要求を当該ノード識別情報に識別されるノード装置に送信するサービス要求送信手段、
前記サービス要求送信手段により送信したサービス要求に対するサービス応答をいずれかのノード装置から受けると、当該サービス応答を前記ゲートウェイ装置に送信すると共に、当該サービス要求と当該サービス応答との間で前記評価値を計測する第1の評価値計測手段、
前記計測された評価値が前記サービス評価値記憶手段内の評価値を満たしていない場合には正の値のサービスペナルティ値を計算し、前記計測された評価値が前記サービス評価値記憶手段内の評価値を過度に満たしている場合に負の値のサービスペナルティ値を計算するペナルティ計算手段、
前記計算されたサービスペナルティ値及び前記計測された評価値を、前記サービス要求の送信先のノード装置及び前記サービス応答の送信元のノード装置に送信するペナルティ送信手段、
前記エージェント手段を削除、移動又は複製するように更新した前記ノード識別情報、前記エージェント識別情報及び前記モジュール識別情報を示す配置更新情報をいずれかの前記ノード装置から受けると、当該配置更新情報に基づいて前記配置記憶手段を更新する配置更新手段、
として機能させ、
前記各ノード装置は、
自ノード装置に前記エージェント手段が配置された場合に用いられ、前記自ノード装置を当該エージェント手段としても機能させるためのエージェントプログラムを記憶可能なメモリ及びこのエージェントプログラムを実行可能なCPUを含み、
前記自ノード装置に配置されたエージェント手段を識別するエージェント識別情報と、前記自ノード装置のリソースの配分を示すリソース配分とを関連付けてリソース配分記憶手段に記憶し、
前記自ノード装置に配置されたエージェント手段から当該エージェント手段を識別するエージェント識別情報に関連付けたリソース配分を増加又は減少させるように更新するリソース配分更新メッセージを受けると、当該リソース配分更新メッセージに基づいて前記リソース配分記憶手段内のリソース配分を更新し、
前記自ノード装置に配置されたエージェント手段から当該エージェント手段を識別するエージェント識別情報を指定して当該エージェント手段を削除するエージェント削除メッセージを受けると、当該エージェント削除メッセージに基づいて前記リソース配分記憶手段内の当該エージェント識別情報及びリソース配分を削除すると共に、当該削除した後の自ノード装置に関する前記ノード識別情報、前記エージェント識別情報及び前記モジュール識別情報を示す配置更新情報を前記サービスマネージャ装置に送信し、当該エージェント手段の前記エージェントプログラムを前記メモリから削除し、
前記自ノード装置に配置されたエージェント手段から当該エージェント手段を識別するエージェント識別情報と移動先のノード装置を示すノード識別情報とを指定して当該エージェント手段を移動させるエージェント移動メッセージを受けると、当該エージェント移動メッセージに基づいて前記リソース配分記憶手段内の当該エージェント識別情報及びリソース配分を削除すると共に、当該削除した後の自ノード装置に関する前記ノード識別情報、前記エージェント識別情報及び前記モジュール識別情報と、前記移動先のノード装置に関する前記ノード識別情報、前記エージェント識別情報及び前記モジュール識別情報との両者を含む配置更新情報を前記サービスマネージャ装置に送信し、当該エージェント手段の前記エージェントプログラムを前記移動先のノード装置に送信すると共に、当該エージェントプログラムを前記メモリから削除し、
前記自ノード装置に配置されたエージェント手段から、前記自ノード装置以外の別ノード装置のリソース配分を問合せる問合せメッセージを受けると、前記別ノード装置のリソース配分記憶手段の記憶内容を前記別ノード装置に問合せると共に、前記別ノード装置から応答された前記記憶内容を当該エージェント手段に応答し、
前記エージェント手段は、
前記サービス識別情報と、前記モジュール識別情報と、前記サービスペナルティ値を前記各サービス提供モジュール手段に割り当てたモジュールペナルティ値を積算した積算値の上限を示す上限値と、当該積算値の下限を示す下限値とを関連付けて上下限値記憶手段に記憶し、
いずれかの前記サービス提供モジュール手段を有して当該サービス提供モジュール手段に対して前記評価値を計測し、
当該計測された評価値と、前記サービスマネージャ装置から受けたサービスペナルティ値及び評価値とに基づいて、前記モジュールペナルティ値を計算すると共に、当該モジュールペナルティ値の前記積算値を計算し、この積算値と前記上下限値記憶手段内の上限値及び下限値とを比較し、
前記比較の結果、前記積算値が前記上限値より大きいとき、当該エージェント手段が配置された自ノード装置内のリソース配分記憶手段を参照し、当該エージェント手段を識別するエージェント識別情報に関連付けられたリソース配分が増加可能か否かを判定し、
この判定の結果、増加可能な場合には前記リソース配分を増加させるように更新するリソース配分更新メッセージを送出し、
前記判定の結果、否の場合には前記問合せメッセージを前記別ノード問合せ手段に送出し、当該別ノード問合せ手段から応答された記憶内容に基づいて前記エージェント移動メッセージを送出し、
前記比較の結果、前記積算値が前記下限値より小さいとき、当該エージェント手段が配置された自ノード装置内のリソース配分記憶手段を参照し、当該エージェント手段を識別するエージェント識別情報に関連付けられたリソース配分が減少可能か否かを判定し、
この判定の結果、減少可能な場合には前記リソース配分を減少させるように更新するリソース配分更新メッセージを送出し、
前記減少可能か否かの判定の結果、否の場合には前記問合せメッセージを送出し、当該送出に対して応答された記憶内容に基づいて前記エージェント削除メッセージを送出するサービスマネージャ装置用プログラム。
【請求項5】
サービスを識別するサービス識別情報と、当該サービス識別情報を含むサービス要求と前記サービス要求に対するサービス応答との間で計測可能な評価値とを関連付けて予めサービス評価値記憶手段に記憶し、
前記サービス識別情報と、当該サービス識別情報により識別されるサービスの各段階を個別に実行する複数のサービス提供モジュール手段を個別に識別するモジュール識別情報とを関連付けてモジュール識別情報記憶手段に記憶し、
前記各ノード装置を識別する各ノード識別情報と、前記各ノード装置に配置されたエージェント手段を識別するエージェント識別情報と、前記エージェント手段に含まれる前記サービス提供モジュール手段を識別する前記モジュール識別情報とを関連付けて配置記憶手段に記憶し、
前記サービス要求を送信して前記サービス応答を受信するユーザ端末に通信可能なゲートウェイ装置から前記サービス要求を受けると、当該サービス要求内のサービス識別情報に基づいて前記モジュール識別情報記憶手段からモジュール識別情報を読出した後、このモジュール識別情報に基づいて前記配置記憶手段からノード識別情報を読出し、このノード識別情報に基づいて、前記サービス要求を当該ノード識別情報に識別されるノード装置に送信し、
当該送信したサービス要求に対するサービス応答をいずれかのノード装置から受けると、当該サービス応答を前記ゲートウェイ装置に送信すると共に、当該サービス要求と当該サービス応答との間で前記評価値を計測し、
前記計測された評価値が前記サービス評価値記憶手段内の評価値を満たしていない場合には正の値のサービスペナルティ値を計算し、前記計測された評価値が前記サービス評価値記憶手段内の評価値を過度に満たしている場合に負の値のサービスペナルティ値を計算し、
前記計算されたサービスペナルティ値及び前記計測された評価値を、前記サービス要求の送信先のノード装置及び前記サービス応答の送信元のノード装置に送信し、
前記エージェント手段を削除、移動又は複製するように更新した前記ノード識別情報、前記エージェント識別情報及び前記モジュール識別情報を示す配置更新情報をいずれかの前記ノード装置から受けると、当該配置更新情報に基づいて前記配置記憶手段を更新するサービスマネージャ装置に通信可能な各々のノード装置であって、
自ノード装置に前記エージェント手段が配置された場合に用いられ、前記自ノード装置を当該エージェント手段としても機能させるためのエージェントプログラムを記憶可能なメモリ及びこのエージェントプログラムを実行可能なCPUを含むプログラム実行手段と、
前記自ノード装置に配置されたエージェント手段を識別するエージェント識別情報と、前記自ノード装置のリソースの配分を示すリソース配分とを関連付けて記憶するリソース配分記憶手段と、
前記自ノード装置に配置されたエージェント手段から当該エージェント手段を識別するエージェント識別情報に関連付けたリソース配分を増加又は減少させるように更新するリソース配分更新メッセージを受けると、当該リソース配分更新メッセージに基づいて前記リソース配分記憶手段内のリソース配分を更新するリソース配分更新手段と、
前記自ノード装置に配置されたエージェント手段から当該エージェント手段を識別するエージェント識別情報を指定して当該エージェント手段を削除するエージェント削除メッセージを受けると、当該エージェント削除メッセージに基づいて前記リソース配分記憶手段内の当該エージェント識別情報及びリソース配分を削除する第1のリソース配分削除手段、
前記エージェント削除メッセージを受けると、前記第1のリソース配分削除手段により削除された後の自ノード装置に関する前記ノード識別情報、前記エージェント識別情報及び前記モジュール識別情報を示す配置更新情報を前記サービスマネージャ装置に送信し、当該エージェント手段の前記エージェントプログラムを前記メモリから削除するプログラム削除手段と、
前記自ノード装置に配置されたエージェント手段から当該エージェント手段を識別するエージェント識別情報と移動先のノード装置を示すノード識別情報とを指定して当該エージェント手段を移動させるエージェント移動メッセージを受けると、当該エージェント移動メッセージに基づいて前記リソース配分記憶手段内の当該エージェント識別情報及びリソース配分を削除する第2のリソース配分削除手段、
前記エージェント移動メッセージを受けると、前記第2のリソース配分削除手段により削除された後の自ノード装置に関する前記ノード識別情報、前記エージェント識別情報及び前記モジュール識別情報と、前記移動先のノード装置に関する前記ノード識別情報、前記エージェント識別情報及び前記モジュール識別情報との両者を含む配置更新情報を前記サービスマネージャ装置に送信し、当該エージェント手段の前記エージェントプログラムを前記移動先のノード装置に送信すると共に、当該エージェントプログラムを前記メモリから削除するプログラム移動手段と、
前記自ノード装置に配置されたエージェント手段から、前記自ノード装置以外の別ノード装置のリソース配分を問合せる問合せメッセージを受けると、前記別ノード装置のリソース配分記憶手段の記憶内容を前記別ノード装置に問合せると共に、前記別ノード装置から応答された前記記憶内容を当該エージェント手段に応答する別ノード問合せ手段と、
を備え、
前記エージェント手段は、
前記サービス識別情報と、前記モジュール識別情報と、前記サービスペナルティ値を前記各サービス提供モジュール手段に割り当てたモジュールペナルティ値を積算した積算値の上限を示す上限値と、当該積算値の下限を示す下限値とを関連付けて記憶する上下限値記憶手段と、
いずれかの前記サービス提供モジュール手段と、
このサービス提供モジュール手段に対して前記評価値を計測する第2の評価値計測手段と、
前記第2の評価値計測手段により計測された評価値と、前記サービスマネージャ装置から受けたサービスペナルティ値及び評価値とに基づいて、前記モジュールペナルティ値を計算すると共に、当該モジュールペナルティ値の前記積算値を計算し、この積算値と前記上下限値記憶手段内の上限値及び下限値とを比較する比較手段と、
前記比較の結果、前記積算値が前記上限値より大きいとき、当該エージェント手段が配置された自ノード装置内のリソース配分記憶手段を参照し、当該エージェント手段を識別するエージェント識別情報に関連付けられたリソース配分が増加可能か否かを判定するリソース増加判定手段と、
この判定の結果、増加可能な場合には前記リソース配分を増加させるように更新するリソース配分更新メッセージを前記リソース配分更新手段に送出する手段と、
前記判定の結果、否の場合には前記問合せメッセージを前記別ノード問合せ手段に送出し、当該別ノード問合せ手段から応答された記憶内容に基づいて前記エージェント移動メッセージを前記第2のリソース配分削除手段及び前記プログラム移動手段に送出する移動メッセージ送出手段と、
前記比較の結果、前記積算値が前記下限値より小さいとき、当該エージェント手段が配置された自ノード装置内のリソース配分記憶手段を参照し、当該エージェント手段を識別するエージェント識別情報に関連付けられたリソース配分が減少可能か否かを判定するリソース減少判定手段と、
この判定の結果、減少可能な場合には前記リソース配分を減少させるように更新するリソース配分更新メッセージを前記リソース配分更新手段に送出する手段と、
前記リソース減少判定手段による判定の結果、否の場合には前記問合せメッセージを前記別ノード問合せ手段に送出し、当該別ノード問合せ手段から応答された記憶内容に基づいて前記エージェント削除メッセージを前記第1のリソース配分削除手段及び前記プログラム削除手段に送出する削除メッセージ送出手段と、
を備えたことを特徴とするノード装置。
【請求項6】
サービスを識別するサービス識別情報と、当該サービス識別情報を含むサービス要求と前記サービス要求に対するサービス応答との間で計測可能な評価値とを関連付けて予めサービス評価値記憶手段に記憶し、
前記サービス識別情報と、当該サービス識別情報により識別されるサービスの各段階を個別に実行する複数のサービス提供モジュール手段を個別に識別するモジュール識別情報とを関連付けてモジュール識別情報記憶手段に記憶し、
前記各ノード装置を識別する各ノード識別情報と、前記各ノード装置に配置されたエージェント手段を識別するエージェント識別情報と、前記エージェント手段に含まれる前記サービス提供モジュール手段を識別する前記モジュール識別情報とを関連付けて配置記憶手段に記憶し、
前記サービス要求を送信して前記サービス応答を受信するユーザ端末に通信可能なゲートウェイ装置から前記サービス要求を受けると、当該サービス要求内のサービス識別情報に基づいて前記モジュール識別情報記憶手段からモジュール識別情報を読出した後、このモジュール識別情報に基づいて前記配置記憶手段からノード識別情報を読出し、このノード識別情報に基づいて、前記サービス要求を当該ノード識別情報に識別されるノード装置に送信し、
当該送信したサービス要求に対するサービス応答をいずれかのノード装置から受けると、当該サービス応答を前記ゲートウェイ装置に送信すると共に、当該サービス要求と当該サービス応答との間で前記評価値を計測し、
前記計測された評価値が前記サービス評価値記憶手段内の評価値を満たしていない場合には正の値のサービスペナルティ値を計算し、前記計測された評価値が前記サービス評価値記憶手段内の評価値を過度に満たしている場合に負の値のサービスペナルティ値を計算し、
前記計算されたサービスペナルティ値及び前記計測された評価値を、前記サービス要求の送信先のノード装置及び前記サービス応答の送信元のノード装置に送信し、
前記エージェント手段を削除、移動又は複製するように更新した前記ノード識別情報、前記エージェント識別情報及び前記モジュール識別情報を示す配置更新情報をいずれかの前記ノード装置から受けると、当該配置更新情報に基づいて前記配置記憶手段を更新するサービスマネージャ装置に通信可能な各々のノード装置であって、自ノード装置に前記エージェント手段が配置された場合に用いられ、前記自ノード装置を当該エージェント手段としても機能させるためのエージェントプログラムを記憶可能なメモリ及びこのエージェントプログラムを実行可能なCPUを含むプログラム実行手段と、リソース配分記憶手段とを備えた前記ノード装置に用いられるノード装置用プログラムであって、
前記ノード装置を、
前記自ノード装置に配置されたエージェント手段を識別するエージェント識別情報と、前記自ノード装置のリソースの配分を示すリソース配分とを関連付けて前記リソース配分記憶手段に書込む手段、
前記自ノード装置に配置されたエージェント手段から当該エージェント手段を識別するエージェント識別情報に関連付けたリソース配分を増加又は減少させるように更新するリソース配分更新メッセージを受けると、当該リソース配分更新メッセージに基づいて前記リソース配分記憶手段内のリソース配分を更新するリソース配分更新手段、
前記自ノード装置に配置されたエージェント手段から当該エージェント手段を識別するエージェント識別情報を指定して当該エージェント手段を削除するエージェント削除メッセージを受けると、当該エージェント削除メッセージに基づいて前記リソース配分記憶手段内の当該エージェント識別情報及びリソース配分を削除する第1のリソース配分削除手段、
前記エージェント削除メッセージを受けると、前記第1のリソース配分削除手段により削除された後の自ノード装置に関する前記ノード識別情報、前記エージェント識別情報及び前記モジュール識別情報を示す配置更新情報を前記サービスマネージャ装置に送信し、当該エージェント手段の前記エージェントプログラムを前記メモリから削除するプログラム削除手段、
前記自ノード装置に配置されたエージェント手段から当該エージェント手段を識別するエージェント識別情報と移動先のノード装置を示すノード識別情報とを指定して当該エージェント手段を移動させるエージェント移動メッセージを受けると、当該エージェント移動メッセージに基づいて前記リソース配分記憶手段内の当該エージェント識別情報及びリソース配分を削除する第2のリソース配分削除手段、
前記エージェント移動メッセージを受けると、前記第2のリソース配分削除手段により削除された後の自ノード装置に関する前記ノード識別情報、前記エージェント識別情報及び前記モジュール識別情報と、前記移動先のノード装置に関する前記ノード識別情報、前記エージェント識別情報及び前記モジュール識別情報との両者を含む配置更新情報を前記サービスマネージャ装置に送信し、当該エージェント手段の前記エージェントプログラムを前記移動先のノード装置に送信すると共に、当該エージェントプログラムを前記メモリから削除するプログラム移動手段、
前記自ノード装置に配置されたエージェント手段から、前記自ノード装置以外の別ノード装置のリソース配分を問合せる問合せメッセージを受けると、前記別ノード装置のリソース配分記憶手段の記憶内容を前記別ノード装置に問合せると共に、前記別ノード装置から応答された前記記憶内容を当該エージェント手段に応答する別ノード問合せ手段、
として機能させ、
前記エージェント手段は、
前記サービス識別情報と、前記モジュール識別情報と、前記サービスペナルティ値を前記各サービス提供モジュール手段に割り当てたモジュールペナルティ値を積算した積算値の上限を示す上限値と、当該積算値の下限を示す下限値とを関連付けて、当該エージェント手段が配置された自ノード装置内の上下限値記憶手段に書込む手段、
いずれかの前記サービス提供モジュール手段、
このサービス提供モジュール手段に対して前記評価値を計測する第2の評価値計測手段、
前記第2の評価値計測手段により計測された評価値と、前記サービスマネージャ装置から受けたサービスペナルティ値及び評価値とに基づいて、前記モジュールペナルティ値を計算すると共に、当該モジュールペナルティ値の前記積算値を計算し、この積算値と前記上下限値記憶手段内の上限値及び下限値とを比較する比較手段、
前記比較の結果、前記積算値が前記上限値より大きいとき、当該エージェント手段が配置された自ノード装置内のリソース配分記憶手段を参照し、当該エージェント手段を識別するエージェント識別情報に関連付けられたリソース配分が増加可能か否かを判定するリソース増加判定手段、
この判定の結果、増加可能な場合には前記リソース配分を増加させるように更新するリソース配分更新メッセージを前記リソース配分更新手段に送出する手段、
前記判定の結果、否の場合には前記問合せメッセージを前記別ノード問合せ手段に送出し、当該別ノード問合せ手段から応答された記憶内容に基づいて前記エージェント移動メッセージを前記第2のリソース配分削除手段及び前記プログラム移動手段に送出する移動メッセージ送出手段、
前記比較の結果、前記積算値が前記下限値より小さいとき、当該エージェント手段が配置された自ノード装置内のリソース配分記憶手段を参照し、当該エージェント手段を識別するエージェント識別情報に関連付けられたリソース配分が減少可能か否かを判定するリソース減少判定手段、
この判定の結果、減少可能な場合には前記リソース配分を減少させるように更新するリソース配分更新メッセージを前記リソース配分更新手段に送出する手段、
前記リソース減少判定手段による判定の結果、否の場合には前記問合せメッセージを前記別ノード問合せ手段に送出し、当該別ノード問合せ手段から応答された記憶内容に基づいて前記エージェント削除メッセージを前記第1のリソース配分削除手段及び前記プログラム削除手段に送出する削除メッセージ送出手段、
を含んでいるノード装置用プログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【公開番号】特開2012−137865(P2012−137865A)
【公開日】平成24年7月19日(2012.7.19)
【国際特許分類】
【出願番号】特願2010−288623(P2010−288623)
【出願日】平成22年12月24日(2010.12.24)
【出願人】(000003078)株式会社東芝 (54,554)
【出願人】(301063496)東芝ソリューション株式会社 (1,478)
【公開日】平成24年7月19日(2012.7.19)
【国際特許分類】
【出願日】平成22年12月24日(2010.12.24)
【出願人】(000003078)株式会社東芝 (54,554)
【出願人】(301063496)東芝ソリューション株式会社 (1,478)
[ Back to top ]