(57)【特許請求の範囲】
【請求項１】
各資源ノードに割り当てられた各サービスに応じた優先度を当該各資源ノードに対応付けて設定する第１の設定工程と、
前記各資源ノードによる前記各サービスの処理時間の経過に応じて、前記第１の設定工程によって当該各資源ノードについて設定された優先度を、より優先度の高いものに更新する第２の設定工程と、
新たなサービスを割り当てる空きの資源ノードが存在しない場合に、サービスが既に割り当てられた第１の資源ノードと第２の資源ノードのうち、前記第２の設定工程によって更新された優先度がより低い資源ノードに割り当てられているサービスを当該新たなサービスに切り替える切替工程と、
をコンピュータに実行させることを特徴とする資源ブローカリングプログラム。
【請求項２】
前記第２の設定工程は、
前記第１の設定工程によって当該各資源ノードについて設定された優先度を、当該各資源ノードの処理性能に応じて更新することを特徴とする請求項１に記載の資源ブローカリングプログラム。
【請求項３】
前記第２の設定工程は、
前記第１の設定工程によって当該各資源ノードについて設定された優先度を、当該各資源ノードの使用頻度に応じて大きくなるように更新することを特徴とする請求項１または２に記載の資源ブローカリングプログラム。
【請求項４】
前記第２の設定工程は、
前記第１の設定工程によって当該各資源ノードについて設定された優先度を、当該各資源ノードの設置位置に応じて更新することを特徴とする請求項１〜３のいずれか一つに記載の資源ブローカリングプログラム。
【請求項５】
前記第２の設定工程は、
前記第１の設定工程によって当該各資源ノードについて設定された優先度を、指定入力された実行時間内における当該各資源ノードの中断または終了の可否に応じて更新することを特徴とする請求項１〜４のいずれか一つに記載の資源ブローカリングプログラム。
【請求項６】
前記第２の設定工程は、
前記各サービスに関するジョブの集合のうち実行が完了したジョブの割合に応じて、当該各サービスが割り当てられた前記各資源ノードのうち前記ジョブの実行が完了していない資源ノードの優先度を、より優先度の高いものに更新することを特徴とする請求項１〜５のいずれか一つに記載の資源ブローカリングプログラム。
【請求項７】
前記第２の設定工程は、
前記第１の設定工程によって当該各資源ノードについて設定された優先度を、当該各資源ノードの切替回数に応じて大きくなるように更新することを特徴とする請求項１〜６のいずれか一つに記載の資源ブローカリングプログラム。
【請求項８】
前記切替工程は、
前記新たなサービスを割り当てる空きの資源ノードが存在しない場合に、サービスが既に割り当てられた複数の資源ノードのうち、前記第２の設定工程によって更新された優先度が最低の資源ノードに割り当てられているサービスを当該新たなサービスに切り替えることを特徴とする請求項１〜７のいずれか一つに記載の資源ブローカリングプログラム。
【請求項９】
各資源ノードに割り当てられた各サービスに応じた優先度を当該各資源ノードに対応付けて設定する第１の設定手段と、
前記各資源ノードによる前記各サービスの処理時間の経過に応じて、前記第１の設定手段によって当該各資源ノードについて設定された優先度を、より優先度の高いものに更新する第２の設定手段と、
新たなサービスを割り当てる空きの資源ノードが存在しない場合に、サービスが既に割り当てられた第１の資源ノードと第２の資源ノードのうち、前記第２の設定手段によって更新された優先度がより低い資源ノードに割り当てられているサービスを当該新たなサービスに切り替える切替手段と、
を備えることを特徴とする資源ブローカリング装置。
【請求項１０】
各資源ノードに割り当てられた各サービスに応じた優先度を当該各資源ノードに対応付けて設定する第１の設定工程と、
前記各資源ノードによる前記各サービスの処理時間の経過に応じて、前記第１の設定工程によって当該各資源ノードについて設定された優先度を、より優先度の高いものに更新する第２の設定工程と、
新たなサービスを割り当てる空きの資源ノードが存在しない場合に、サービスが既に割り当てられた第１の資源ノードと第２の資源ノードのうち、前記第２の設定工程によって更新された優先度がより低い資源ノードに割り当てられているサービスを当該新たなサービスに切り替える切替工程と、
を含んだことを特徴とする資源ブローカリング方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、複数のサービス間で利用される資源ノードをブローカリングする資源ブローカリングプログラム、該プログラムを記録した記録媒体、資源ブローカリング装置、および資源ブローカリング方法に関する。
【背景技術】
【０００２】
従来、システムの構成に柔軟性がないために、処理能力の増強に多額の追加投資が必要になる場合がある。例えば、ビジネスの状況の変化とともに必要なピーク性能が高くなり、追加の計算資源を余儀なくされている。逆に突発的な負荷上昇を見越して予め大量の予備のリソースを確保することもあるが、多くの場合無駄遣いになっている。
【０００３】
【非特許文献１】Ｓｙｓｔｅｍｗａｌｋｅｒ  Ｒｅｓｏｕｒｃｅ  Ｃｏｏｒｄｉｎａｔｏｒ：富士通、［ｏｎｌｉｎｅ］、［平成１８年４月５日検索］、インターネット＜ＵＲＬ：ｈｔｔｐ：／／ｓｙｓｔｅｍｗａｌｋｅｒ．ｆｕｊｉｔｓｕ．ｃｏｍ／ｊｐ／ｒｃ／＞
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、個々のサービスは、それぞれの価値基準で専用の資源ノードの価値を決定し利用している。この場合、個々のサービス間で資源ノード価値基準が違うため資源ノードの融通が難しいという問題があった。
【０００５】
また、サービスの中でも資源ノードに優先度があり、優先度が低い資源ノードから他のサービスに渡して欲しいという要望があるが、トップダウン的な方式の場合、高い優先度で利用していた資源ノードが、他のサービスに割り当てられてしまう可能性があり、これまでおこなってきた処理が無駄になって再度やり直す必要が生じ、処理時間の長期化を招くという問題があった。
【０００６】
この発明は、上述した従来技術による問題点を解消するため、効率的なブローカリングをおこなうことにより、個々のサービスの円滑な提供を実現することができる資源ブローカリングプログラム、該プログラムを記録した記録媒体、資源ブローカリング装置、および資源ブローカリング方法を提供することを目的とする。
【課題を解決するための手段】
【０００７】
上述した課題を解決し、目的を達成するため、この発明にかかる資源ブローカリングプログラム、該プログラムを記録した記録媒体、資源ブローカリング装置、および資源ブローカリング方法は、各資源ノードに割り当てられた各サービスに応じた優先度を当該各資源ノードに対応付けて設定し、前記各資源ノードによる前記各サービスの処理時間の経過に応じて、当該各資源ノードについて設定された優先度を、より優先度の高いものに更新し、新たなサービスを割り当てる空きの資源ノードが存在しない場合に、サービスが既に割り当てられた第１の資源ノードと第２の資源ノードのうち、更新された優先度がより低い資源ノードに割り当てられているサービスを当該新たなサービスに切り替えることを特徴とする。
【０００８】
また、上記発明において、当該各資源ノードについて設定された優先度を、当該各資源ノードの処理性能に応じて更新することとしてもよい。
【０００９】
また、上記発明において、当該各資源ノードについて設定された優先度を、当該各資源ノードの使用頻度に応じて大きくなるように更新することとしてもよい。
【００１０】
また、上記発明において、当該各資源ノードについて設定された優先度を、当該各資源ノードの設置位置に応じて更新することとしてもよい。
【００１１】
また、上記発明において、当該各資源ノードについて設定された優先度を、指定入力された実行時間内における当該各資源ノードの中断または終了の可否に応じて更新することとしてもよい。
【００１２】
また、上記発明において、前記各サービスに関するジョブの集合のうち実行が完了したジョブの割合に応じて、当該各サービスが割り当てられた前記各資源ノードのうち前記ジョブの実行が完了していない資源ノードの優先度を、より優先度の高いものに更新することとしてもよい。
【００１３】
また、上記発明において、当該各資源ノードについて設定された優先度を、当該各資源ノードの切替回数に応じて大きくなるように更新することとしてもよい。
【００１４】
また、上記発明において、前記新たなサービスを割り当てる空きの資源ノードが存在しない場合に、サービスが既に割り当てられた複数の資源ノードのうち、更新された優先度が最低の資源ノードに割り当てられているサービスを当該新たなサービスに切り替えることとしてもよい。
【００１５】
これらの発明によれば、個々のサービスの価値基準を統一的な価値基準に統一することができるため、サービスどうしの優先度を把握することができ、ブローカリングに反映させることができる。また、サービスに利用される資源ノードの価値がその状態に応じて変動するため、相対的に価値が低い資源ノードをサービス切替対象とし、価値が高い資源ノードをサービス切替対象から外すことができるため、個々のサービスの提供を効率的に実現することができる。
【発明の効果】
【００１６】
本発明にかかる資源ブローカリングプログラム、該プログラムを記録した記録媒体、資源ブローカリング装置、および資源ブローカリング方法によれば、効率的なブローカリングをおこなうことにより、個々のサービスの円滑な提供を実現することができるという効果を奏する。
【発明を実施するための最良の形態】
【００１７】
以下に添付図面を参照して、この発明にかかる資源ブローカリングプログラム、該プログラムを記録した記録媒体、資源ブローカリング装置、および資源ブローカリング方法の好適な実施の形態を詳細に説明する。
【００１８】
（資源ブローカリングシステムのシステム構成図）
まず、この発明の実施の形態にかかる資源ブローカリングシステムのシステム構成について説明する。図１は、この発明の実施の形態にかかる資源ブローカリングシステムのシステム構成図である。図１において、資源ブローカリングシステム１００は、資源ブローカリング装置１０１と、各サイトＣに設置されている資源ノード１０２とが、ネットワーク１１０を介して通信可能となって接続されている。
【００１９】
資源ブローカリング装置１０１は、複数のサービス間で利用される資源ノード１０２をブローカリングするコンピュータ装置である。具体的には、要求されるサービスに応じて、どのサイトＣのどの資源ノード１０２を割り振るかを決定したり、あるサービスを提供しているあるサイトＣの資源ノード１０２を他のサービスに割り振ったりする。
【００２０】
また、資源ノード１０２は各サイトＣに設置されており、資源ブローカリング装置１０１によって割り与えられたサービスを端末（不図示）に提供するコンピュータ装置である。
【００２１】
（コンピュータ装置のハードウェア構成）
つぎに、図１に示したコンピュータ装置のハードウェア構成について説明する。図２は、図１に示したコンピュータ装置のハードウェア構成を示すブロック図である。図２において、コンピュータ装置は、ＣＰＵ２０１と、ＲＯＭ２０２と、ＲＡＭ２０３と、ＨＤＤ（ハードディスクドライブ）２０４と、ＨＤ（ハードディスク）２０５と、ＦＤＤ（フレキシブルディスクドライブ）２０６と、着脱可能な記録媒体の一例としてのＦＤ（フレキシブルディスク）２０７と、ディスプレイ２０８と、Ｉ／Ｆ（インターフェース）２０９と、キーボード２１０と、マウス２１１と、スキャナ２１２と、プリンタ２１３と、を備えている。また、各構成部はバス２００によってそれぞれ接続されている。
【００２２】
ここで、ＣＰＵ２０１は、コンピュータ装置の全体の制御を司る。ＲＯＭ２０２は、ブートプログラムなどのプログラムを記憶している。ＲＡＭ２０３は、ＣＰＵ２０１のワークエリアとして使用される。ＨＤＤ２０４は、ＣＰＵ２０１の制御にしたがってＨＤ２０５に対するデータのリード／ライトを制御する。ＨＤ２０５は、ＨＤＤ２０４の制御で書き込まれたデータを記憶する。
【００２３】
ＦＤＤ２０６は、ＣＰＵ２０１の制御にしたがってＦＤ２０７に対するデータのリード／ライトを制御する。ＦＤ２０７は、ＦＤＤ２０６の制御で書き込まれたデータを記憶したり、ＦＤ２０７に記憶されたデータをコンピュータ装置に読み取らせたりする。
【００２４】
また、着脱可能な記録媒体として、ＦＤ２０７のほか、ＣＤ−ＲＯＭ（ＣＤ−Ｒ、ＣＤ−ＲＷ）、ＭＯ、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋ）、メモリカードなどであってもよい。ディスプレイ２０８は、カーソル、アイコンあるいはツールボックスをはじめ、文書、画像、機能情報などのデータを表示する。このディスプレイ２０８は、たとえば、ＣＲＴ、ＴＦＴ液晶ディスプレイ、プラズマディスプレイなどを採用することができる。
【００２５】
Ｉ／Ｆ２０９は、通信回線を通じてインターネットなどのネットワーク１１０に接続され、このネットワーク１１０を介して他の装置に接続される。そして、Ｉ／Ｆ２０９は、
ネットワーク１１０と内部のインターフェースを司り、外部装置からのデータの入出力を制御する。Ｉ／Ｆ２０９には、たとえばモデムやＬＡＮアダプタなどを採用することができる。
【００２６】
キーボード２１０は、文字、数字、各種指示などの入力のためのキーを備え、データの入力をおこなう。また、タッチパネル式の入力パッドやテンキーなどであってもよい。マウス２１１は、カーソルの移動や範囲選択、あるいはウィンドウの移動やサイズの変更などをおこなう。ポインティングデバイスとして同様に機能を備えるものであれば、トラックボールやジョイスティックなどであってもよい。
【００２７】
スキャナ２１２は、画像を光学的に読み取り、コンピュータ装置内に画像データを取り込む。なお、スキャナ２１２は、ＯＣＲ機能を持たせてもよい。また、プリンタ２１３は、画像データや文書データを印刷する。プリンタ２１３には、たとえば、レーザプリンタやインクジェットプリンタを採用することができる。
【００２８】
（資源ブローカリング装置１０１の機能的構成）
つぎに、この発明の実施の形態にかかる資源ブローカリング装置１０１の機能的構成について説明する。図３は、この発明の実施の形態にかかる資源ブローカリング装置１０１の機能的構成を示すブロック図である。図３において、資源ブローカリング装置１０１は、設定部３０１と、受付部３０２と、検出部３０３と、判断部３０４と、切替部３０５と、から構成されている。
【００２９】
設定部３０１は、サービスごとに当該サービスに利用される資源ノード１０２の価値を所定の価値基準上において相対的に設定する。ここで、サービスとは、資源ノード１０２のコンピュータ端末に提供する情報処理であり、たとえば、データマイニングなどの非インタラクティブなサービスやインターネット電話やテレビ会議システムといったインタラクティブなサービスがある。
【００３０】
また、資源ノード１０２の価値とは、利用するサービスにより資源ノード１０２に与えられる価値であり、サービスの優先度や重要度をあらわす指標である。個々のサービスでは資源ノード１０２の価値基準が異なるため、複数のサービスを同時に提供する場合に、あるサービスについて資源ノード１０２の不足が発生したとしても、どのサービスからどの資源ノード１０２を融通すればよいかがわからない。
【００３１】
このため、設定部３０１では、個々のサービスに対して統一的な価値基準を用いて、各サービスで利用される価値をマッピングする。このマッピングは、要求されたサービス間で相対的に設定される。たとえば、インタラクティブなサービスと、非インタラクティブなサービスとの間では、インタラクティブなサービスに利用される資源ノード１０２の価値が、非インタラクティブなサービスに利用される資源ノード１０２の価値よりも大きくなるように設定される。
【００３２】
また、設定部３０１は、資源ノード１０２の価値が、当該価値が与えられている資源ノード１０２の状態に基づいて変動するように設定することもできる。たとえば、あるサービスについてジョブを実行している資源ノード１０２について、ジョブの実行時間が長いほど、途中で他のサービスに切り替えられると、これまでのジョブが無駄となる。したがって、資源ノード１０２の価値を実行時間に応じて大きくなるように変動させることで、当該資源ノード１０２を切替対象外とすることが可能となる。
【００３３】
同様に、処理性能（ＣＰＵのクロック周波数やメモリ容量）が高い資源ノード１０２ほど価値が大きくなるように設定してもよく、また、使用頻度が高い資源ノード１０２ほど
価値が大きくなるように設定してもよい。また、遠隔地に設置されている資源ノード１０２については、物理的に通信距離が長くなるため、他の資源ノード１０２と相対的に遠いサイトＣに設置されている資源ノード１０２については、価値が低くなるように設定することで、サービス提供の高速化を実現することができる。
【００３４】
また、設定部３０１は、資源ノード１０２の価値が、指定入力された資源ノード１０２の実行時間に応じて変動するように設定することもできる。実行時間の指定入力は、ユーザによってサービスに対するジョブ投入時などにおこなわれる。このとき指定入力される実行時間は、サービスをおこなう具体的な実行時間であってもよいし、サービスをおこなう時間帯であってもよい。
【００３５】
実行時間が指定入力されている資源ノード１０２については、当該実行時間内において、他の資源ノード１０２の価値よりも高く価値を設定する。さらに、実行時間が指定入力されている場合において、実行時間内における資源ノード１０２の中断または終了の可否に応じて変動するように、価値を設定するようにしてもよい。
【００３６】
すなわち、実行時間内であっても、資源ノード１０２の中断または終了に関する指定入力があった場合には、価値を低く設定することができる。このとき、資源ノード１０２の価値を漸次的に低下させるようにしてもよいし、資源ノード１０２の価値として取り得る範囲のうち最も低い値まで低下させるようにしてもよい。
【００３７】
また、設定部３０１は、他のサービスに関するジョブの集合のうち実行が完了したジョブの割合に応じて、他のサービスに利用される資源ノード１０２のうちジョブの実行が完了していない資源ノード１０２の価値が大きくなるように設定することもできる。すなわち、他のサービスについてジョブの集合が投入された場合、当該ジョブの集合のうち実行が完了したジョブの割合に応じて、ジョブを実行中の資源ノード１０２の価値が大きくなるように設定する。
【００３８】
さらに、設定部３０１は、資源ノード１０２の切替回数に応じて、資源ノード１０２の価値が大きくなるように設定するようにしてもよい。具体的には、あるサービスに利用されているにもかかわらず、異なるサービスに利用される資源ノード１０２に切り替えられた回数に応じて、資源ノード１０２の価値が大きくなるように設定する。
【００３９】
このように、資源ノード１０２の切替回数の増加にともなって資源ノード１０２の価値を大きくすることにより、切り替えによるジョブの無駄を低減し、ジョブの実行完了にかかる時間を短縮することができる。
【００４０】
また、受付部３０２は、複数のサービスのうち一のサービスの要求を受け付ける。具体的には、サービスの種類、利用したい資源ノード１０２の数などを要求として受け付ける。この要求は、資源ブローカリング装置１０１に直接入力することで、受け付けてもよく、また、ネットワーク１１０を介して外部のコンピュータ装置から受信することとしてもよい。
【００４１】
また、検出部３０３は、受付部３０２によって要求が受け付けられた一のサービスに利用される資源ノード１０２が不足しているか否かを検出する。初期においては、資源ノード１０２の割り当ては、要求の順番や各サービスの価値により順次決定されるが、要求されているサービスに利用したい資源ノード１０２の数が、資源ノード１０２の総数を超えている場合がある。また、初期では資源ノード１０２が充足していても、個々のサービスを運用していく過程で要求されているサービスに利用したい資源ノード１０２の数が、資源ノード１０２の総数を超えている場合がある。このような場合に資源ノード不足を検出
することとなる。
【００４２】
また、判断部３０４は、検出部３０３によって不足していることが検出された場合、設定部３０１によって設定された一のサービスに利用されている資源ノード１０２の価値が、設定部３０１によって設定された一のサービス以外の他のサービスに利用されている資源ノード１０２の価値よりも大きいか否かを判断する。
【００４３】
資源ノード不足となった場合、価値が高いサービスに利用される資源ノード１０２が要求されていると、それよりも価値の低いサービスに利用されている資源ノード１０２を割り当てる必要がある。そのため、価値の大小を判断することで、サービスの切替対象となる資源ノード１０２を特定することができる。
【００４４】
また、切替部３０５は、判断部３０４によって判断された判断結果に基づいて、資源ノード１０２の切替をおこなう。すなわち、要求している一のサービスに利用される資源ノード１０２が不足している場合、その資源ノード１０２の価値よりも低い価値となる他のサービスに利用されている資源ノード１０２を、一のサービスに利用される資源ノード１０２に切り替える。また、他のサービスに利用されている資源ノード１０２が複数存在する場合、その中で最も価値が低い資源ノード１０２を、一のサービスに利用される資源ノード１０２に切り替えるのが好ましい。
【００４５】
（資源ブローカリング処理手順）
つぎに、この発明の実施の形態にかかる資源ブローカリング装置１０１の資源ブローカリング処理手順について説明する。図４は、この発明の実施の形態にかかる資源ブローカリング装置１０１の資源ブローカリング処理手順を示すフローチャートである。
【００４６】
図４において、まず、設定部３０１により各サービスの価値を設定し（ステップＳ４０１）、受付部３０２により一のサービスの要求があるまで待ち受ける（ステップＳ４０２：Ｎｏ）。そして、一のサービスの要求があった場合（ステップＳ４０２：Ｙｅｓ）、検出部３０３により資源ノード不足か否かを検出する（ステップＳ４０３）。資源ノード不足が検出されない場合（ステップＳ４０３：Ｎｏ）、ステップＳ４０６に移行する。
【００４７】
一方、資源ノード不足が検出された場合（ステップＳ４０３：Ｙｅｓ）、判断部３０４により、一のサービスに利用される資源ノード１０２の価値（Ｖ１）が他のサービスにおいて現在利用中の資源ノード１０２の価値（Ｖ２）より高いか否かを判断する（ステップＳ４０４）。Ｖ１＞Ｖ２でない場合（ステップＳ４０４：Ｎｏ）、ステップＳ４０６に移行する。一方、Ｖ１＞Ｖ２である場合（ステップＳ４０４：Ｙｅｓ）、現在利用中の資源ノード１０２が提供する他のサービスを一のサービスに切り替える（ステップＳ４０５）。
【００４８】
このあと、一のサービスが終了したか否かを判断し（ステップＳ４０６）、終了していない場合には（ステップＳ４０６：Ｎｏ）、ステップＳ４０２に戻る。一方、一のサービスが終了した場合には（ステップＳ４０６：Ｙｅｓ）、一連の処理を終了する。
【００４９】
（資源ブローカリング処理の具体例）
つぎに、資源ブローカリング処理の具体例について図５〜図１０を用いて説明する。図５〜図１０は、資源ブローカリング処理の具体例を示す説明図である。ここでは一例として、サービスＡとサービスＢを提供することとする。サービスＡは、非インタラクティブなデータマイニングであり、サービスＢは、インタラクティブなインターネット電話とする。
【００５０】
また、サービスＡに利用される資源ノード１０２の価値Ｖａは、１≦Ｖａ≦７０とする。価値ＶａはサービスＡのジョブ実行時間の長さに応じて増加する。なお、価値Ｖａの初期値はＶａ＝１とする。
【００５１】
また、サービスＢの価値Ｖｂは、以下の通り、２値の値をとる。
Ｖｂ＝１００（資源ノード実行）
Ｖｂ＝０（資源ノード実行終了）
【００５２】
図５〜図１０において、サービスＡの価値基準Ｘａは価値Ｖａの範囲を特定しており、サービスＢの価値基準Ｘｂは価値Ｖｂの範囲を特定している。価値基準Ｘａと価値基準Ｘｂが共通の価値基準Ｘにマッピングされている。また、丸図形は資源ノード１０２をあらわしており、丸図形内の数字は価値をあらわしている。
【００５３】
特に、数字が１以上７０以下である丸図形はサービスＡに利用されている資源ノード１０２をあらわしており、数字が１００である丸図形はサービスＡに利用されている資源ノード１０２をあらわしている。また、価値基準Ｘａ，Ｘｂ上の点線の丸図形は、要求されている資源ノード１０２、すなわち不足分の資源ノード１０２をあらわしている。
【００５４】
まず、図５では、数字が「１」である点線の丸図形が４つあるため、サービスＡでは資源ノード１０２が４台不足している。また、図５の段階においては、サービスＡに利用されている資源ノード１０２の価値ＶａはＶａ＝１０，２０，３０，４５，７０に変化している。すなわち、Ｖａ＝７０によってあらわされる資源ノード１０２が最も長時間データマイニングの実行を継続していることをあらわしている。なお、図５においては、サービスＢは資源ノード１０２を要求していないものとする。
【００５５】
図６において、Ｖａ＝７０によってあらわされる資源ノード１０２によるデータマイニングの実行が終了したとすると、その資源ノード１０２の価値Ｖａは７０から１に戻る。また、これにともない、価値Ｖａ＝４５の資源ノード１０２の価値ＶａはＶａ＝６０に引き上げられる。
【００５６】
図７においては、サービスＢに利用される資源ノード１０２が２台要求されている。サービスＢに利用される資源ノード１０２の価値ＶｂはＶｂ＝１００であるので、Ｖｂ＞Ｖａとなり、サービスＡよりも優先して実行されることとなる。
【００５７】
このため、図８においては、サービスＡに利用されている資源ノード１０２のうち価値Ｖａが小さい資源ノード１０２がサービスＢに割り当てられる。ここでは、サービスＢに利用したい資源ノード１０２は２つであるため、サービスＡに利用されている８つの資源ノード１０２（Ｖａ＝１，１０，１０，２０，２０，３０，３０，６０）のうち、価値Ｖａが小さい資源ノード１０２（Ｖａ＝１，１０）がサービスＢに割り振られることとなる。すなわち、サービスＶａに利用されている資源ノード１０２のうち、ジョブの実行時間が長い資源ノード１０２ほどサービスＢへの切替対象外となる。
【００５８】
また、図９において、サービスＢに利用されている２台の資源ノード１０２のうち１台の資源ノード１０２が実行終了した場合、その資源ノード１０２の価値Ｖｂは１００から０に引き下がる。そして、図１０において、サービスＢの資源ノード１０２の要求がなく、サービスＡの資源ノード１０２の要求がある場合、０になったサービスＢの資源ノード１０２をサービスＡに割り当てる。
【００５９】
この図５〜図１０までのブローカリング処理により、サービスＡ、Ｂを同時期に提供する場合において、資源ノード１０２の有効活用が実現でき、特に、サービスＡではデータ
マイニングのジョブ実行時間の短縮化を図ることができ、サービスＢでは、受付可能なインターネット電話の数の増加を図ることができる。
【００６０】
つぎに、上述した資源ブローカリング処理の適用前後におけるサービス処理状態について説明する。図１１−１〜図１１−４は、資源ブローカリング処理の適用前後におけるサービス処理状態を示すグラフである。図１１−１は、サービスＡにおける資源ブローカリング処理の適用前のサービス処理状態を示すグラフであり、図１１−２は、サービスＡにおける資源ブローカリング処理の適用後のサービス処理状態を示すグラフである。各グラフＧＡ１，ＧＡ２において、横軸は時間、縦軸はジョブ実行数をあらわしている。
【００６１】
グラフＧＡ１，ＧＡ２において、黒塗り部分は待機中を示しており、網掛け部分はジョブ実行中を示している。グラフＧＡ１，ＧＡ２を比較すると、グラフＧＡ２の方が黒塗り部分の領域が少ないため、効率的にデータマイニングが実行されていることがわかる。
【００６２】
また、図１１−３は、サービスＢにおける資源ブローカリング処理の適用前のサービス処理状態を示すグラフであり、図１１−４は、サービスＢにおける資源ブローカリング処理の適用後のサービス処理状態を示すグラフである。各グラフＧＢ１，ＧＢ２において、横軸は時間、縦軸は接続要求数をあらわしている。
【００６３】
グラフＧＢ１，ＧＢ２において、黒塗り部分は受付拒否を示しており、ハッチング部分は受付（ジョブ実行中）を示している。グラフＧＢ１，ＧＢ２を比較すると、グラフＧＢ２の方が黒塗り部分の領域が少ないため、効率的にインターネット電話によるインタラクティブ通信が実行されていることがわかる。
【００６４】
つぎに、上述した資源ブローカリング処理の適用前後における資源ノード１０２の割り当て状態について説明する。図１２−１および図１２−２は、資源ブローカリング処理の適用前後における資源ノード１０２の割り当て状態を示すグラフである。図１２−１において、グラフＧＣ１は、資源ブローカリング処理の適用前のグラフであり、図１２−２において、グラフＧＣ２は、資源ブローカリング処理の適用後のグラフである。なお、両グラフＧＣ１，ＧＣ２において、横軸は時間、縦軸は割り当てられた資源ノード１０２の数をあらわしている。
【００６５】
両グラフＧＣ１，ＧＣ２において、黒塗り部分はサービスＡをあらわしており、網掛け部分はサービスＢをあらわしている。適用前のグラフＧＣ１では、サービスごとに資源ノード数が固定されているため資源ノード数に時間的変化はないが、適用後のグラフＧＣ２では、サービスＢをサービスＡよりも優先して割り当てるため、サービスＢに利用される資源ノード数が増加すると、サービスＡに利用される資源ノード数が減少する。
【００６６】
このように、この発明の実施の形態によれば、個々のサービスの価値基準を統一的な価値基準に統一することができるため、サービスどうしの優先度を把握することができ、ブローカリングに反映させることができる。また、サービスに利用される資源ノード１０２の価値がその状態に応じて変動するため、相対的に価値が低い資源ノード１０２をサービス切替対象とし、価値が高い資源ノード１０２をサービス切替対象から外すことができるため、サービス間で資源ノード１０２を効率的に融通しあうことができる。これにより、個々のサービスの円滑な提供を実現することができる。
【実施例１】
【００６７】
つぎに、資源ブローカリングシステム１００の実施例１について説明する。図１３は、資源ブローカリングシステム１００の詳細なシステム構成図である。資源ブローカリング装置１０１は、グリッド・サービスサブシステム１３０１と、資源ブローカリングサブシ
ステム１３０２と、グリッド情報サブシステム１３０３と、運用管理サブシステム１３０４と、から構成されている。
【００６８】
グリッド・サービスサブシステム１３０１とは、グリッドで実行する個々のサービスを実現するサブシステムであり、サービスの種類ごとに１つずつ用意される。グリッドとは、地理的に分散した複数のコンピュータシステムをネットワークで結び、計算パワーを提供する仮想的な１つのシステムとして見せる技術である。グリッド・サービスサブシステム１３０１は、既存のアプリケーションをグリッド環境に対応させ、資源ブローカリング装置１０１上のサービスとして実行できるようにする。
【００６９】
また、資源ブローカリングサブシステム１３０２とは、グリッド・サービスサブシステム１３０１からの資源要求を受け付けて、サービスの実行に必要な物理的な資源ノード１０２をブローカリングする。優先度が高いサービスの資源要求が満たされるように、各サービスへの資源割り当ての配分を動的に調整する。また、資源要求をサービスや資源の優先度に基づいて調停する機能や、実行するアプリケーションを個々の資源ノード１０２ごとに切り替える機能を備えている。
【００７０】
また、グリッド情報サブシステム１３０３とは、資源ブローカリング装置１０１内の様々な情報を収集して提供するサブシステムである。たとえば、個々の資源ノード１０２に関する情報（ＣＰＵの性能やＯＳの種類）や各サービスに関する情報（負荷や資源ノード１０２の獲得状況）の収集と提供をおこなう。
【００７１】
また、運用管理サブシステム１３０４とは、資源ブローカリング装置１０１の運用管理をおこなうためのサブシステムである。資源ブローカリング装置１０１の全体的な動作状況の確認や運用ポリシーの設定をおこなう。
【００７２】
つぎに、資源ブローカリングシステム１００を構成するモジュールについて説明する。図１３中、ライフサイクルマネージャＬＭ＃（＃は１〜Ｎまでの番号）は、グリッド・サービスサブシステム１３０１のモジュールである。ライフサイクルマネージャＬＭ＃は、個々のサービスごとに１つ用意されており、サービスの開始から終了まで、サービスに割り当てられた資源ノード１０２を管理する。また、サービスの負荷の変動に応じて、資源ノード１０２の追加や解放をアービトレータＡＲＢに要求する。また、管理している資源ノード１０２の優先度を自律的に調節する機能も有する。
【００７３】
また、ライフサイクルマネージャファクトリサービスＬＭＦＳは、資源ブローカリングサブシステム１３０２のモジュールであり、サービスの起動と停止をおこなう。サービスの起動要求を受け付けると、そのサービスのライフサイクルマネージャＬＭ＃を実行するための資源ノード１０２を要求し、割り当てられた資源ノード１０２でライフサイクルマネージャＬＭ＃を起動する。また、サービスの停止要求を受け付けると、そのサービスのライフサイクルマネージャＬＭ＃を停止して資源ノード１０２を解放する。
【００７４】
また、アービトレータＡＲＢは、資源ブローカリングサブシステム１３０２のモジュールであり、ライフサイクルマネージャＬＭ＃からの資源ノード１０２の追加／解放要求を受け付けて、各サービスに対して資源ノード１０２を割り当てる。また、各サービスの優先度に基づいて調停をおこない、優先度の高いサービスにグリッドの計算パワーを集中させる。
【００７５】
また、物理資源ブローカＰＲＢは、資源ブローカリングサブシステム１３０２のモジュールである。物理資源ブローカＰＲＢは、グリッド内の各資源ノード１０２の物理的な属性情報に基づいて、サービスを実行する能力や機能を持った資源ノード１０２をアービト
レータＡＲＢにブローカリングする。
【００７６】
また、資源ロールスイッチャＲＲＳは、資源ブローカリングサブシステム１３０２のモジュールである。資源ロールスイッチャＲＲＳは各資源ノード１０２が実行するサービス（アプリケーション）の切り替えを実行する。
【００７７】
また、ノードモニタＮＭは、グリッド情報サブシステム１３０３のためのモジュールである。ノードモニタＮＭは、各資源ノード１０２に１つずつ配置され、資源ノード１０２の情報（ＣＰＵの種類や負荷、メモリ使用率など）を収集し、定期的にクラスタマネージャＣＭに報告する。また、物理切替機ＡＳＣＣは資源ブローカリングサブシステム１３０２における論理的な切替処理に応じて、物理的に資源ノード１０２のサービス切替処理をおこなう。
【００７８】
また、クラスタマネージャＣＭは、グリッド情報サブシステム１３０３のためのモジュールであり、各サイトＣに１つずつ配置される。クラスタマネージャＣＭは、サイトＣ内のノードモニタＮＭから集まる情報をルートサーバＲＳに中継する。
【００７９】
また、ルートサーバＲＳは、グリッド情報サブシステム１３０３のモジュールであり、グリッド内のすべての資源ノード１０２の情報を集約する。また、アーカイバＡＲは、グリッド情報サブシステム１３０３のモジュールであり、ルートサーバＲＳに集約された情報を蓄積し、データベース化するモジュールである。資源ブローカリングサブシステム１３０２に対して、データベースの検索機能を提供する。
【００８０】
また、アプリケーションラッパーＡＷは、資源ブローカリングサブシステム１３０２のためのモジュールであり、グリッドの各資源ノード１０２に配置するモジュールで、資源ノード１０２が実行するアプリケーションのＡＰＩをラッピングし、アプリケーションとライフサイクルマネージャＬＭ＃を接続する。
【００８１】
また、アドミニストレーションポータルＡＰＴＬは、資源ブローカリングサブシステム１３０２のモジュールであり、グリッドで実行するサービスの管理者がサービスの起動や停止をおこなうためのインターフェースを提供する。
【００８２】
また、アドミニストレーションコンソールＡＣＮＳは、運用管理サブシステム１３０４のモジュールであり、資源ブローカリング装置１０１の管理者が資源ブローカリングシステム１００全体の設定や調整をおこなうためのインターフェースを提供する。
【００８３】
つぎに、実施例１における資源ブローカリング処理について説明する。図１４は、実施例１における資源ブローカリング処理を示すシーケンス図である。図１４に示した例では、資源ノード１０２の要求と割り当てに関する典型的な動作シーケンスを示す。この例では、サービスｓの優先度がサービスｔの優先度よりも高いと仮定している。なお、カッコ数字はシーケンスの順序をあらわしている。
【００８４】
アービトレータＡＲＢは各ライフサイクルマネージャＬＭ＃からの資源ノード要求をサービスの優先度に基づいて調停するため、サービスｓのライフサイクルマネージャＬＭ＃（以下、「ＬＭｓ」と表記する）の要求がサービスｔのライフサイクルマネージャＬＭ＃（以下、「ＬＭｔ」と表記する）の要求よりも優先的に扱われる。
【００８５】
図１４では、アービトレータＡＲＢでの調停の結果、サービスｓに割り当てられている資源ノード１０２をサービスｔの資源ノード１０２に切り替えることが決定され、物理資源ブローカＰＲＢ、資源ロールスイッチャＲＲＳ、物理切替機ＡＳＣＣ、アプリケーショ
ンラッパーＡＷの各モジュールが連携して切替をおこなうシーケンスをあらわしている。
【００８６】
この実施例１によれば、トータルコストの削減を図ることができる。具体的には、別々のシステムとして構築されているサーバを１つのシステムに統合できたり、地理的に分散して設置されているサーバを１つのシステムとして統合できたり、既存のアプリケーションを容易にグリッド環境へ移行することができたり、複数のサービス間で資源ノード１０２の余裕を融通しあうことによって、各々のサービスのピーク性能を向上させることができる。また、１つの共通の手法で複数のサービスを管理することができる。
【００８７】
また、ビジネスの状況の変化に柔軟に対応できるシステムを実現することができる。具体的には、必要量に応じた計算パワーを自動的にサービスに供給することができたり、優先度の高いサービスに計算パワーを自動的に集中することができたり、状況の変化に合わせて自律的にサービスの優先度を調整することができる。
【実施例２】
【００８８】
つぎに、資源ブローカリングシステム１００の実施例２について説明する。実施例２では、資源ブローカリングシステム１００のアービトレータＡＲＢ（図１３参照）において設定される資源ノード１０２の優先度について具体的に説明する。
【００８９】
サービスに利用される資源ノード１０２の優先度は、ジョブの実行時間、資源ノード１０２の処理性能および他の資源ノード１０２との相対的な通信距離などに応じて設定される。実施例２においては、さらに他の価値基準を追加して資源ノード１０２の優先度を設定する。
【００９０】
（優先度設定の具体例（その１））
まず、サービスに対するジョブ投入時に指定入力されたジョブの実行時間に応じて資源ノード１０２の優先度を設定する場合について説明する。ここで、ジョブの実行時間とは、ジョブの実行に費やす具体的な時間（たとえば、２時間）であってもよいし、ジョブを実行する時間帯（たとえば、１５時〜１７時）であってもよい。
【００９１】
ジョブの実行時間は、ジョブ投入時にサービスの管理者によってグリッド・サービスサブシステム１３０１に指定入力される。資源ブローカリングサブシステム１３０２のアービトレータＡＲＢは、グリッド・サービスサブシステム１３０１のライフサイクルマネージャＬＭ＃から、指定入力されたジョブの実行時間を受け付け、資源ノード１０２の優先度を設定する。
【００９２】
このとき、ジョブの実行時間が指定された資源ノード１０２については、指定されたジョブの実行時間内において、他の資源ノード１０２の優先度よりも高く優先度を設定する。すなわち、ジョブの実行時間が指定された資源ノード１０２の優先度は、指定されたジョブの実行時間内においては、他の資源ノード１０２よりも価値が大きく増加することとなる。
【００９３】
なお、価値の上限値は、個々のサービスに利用される資源ノード１０２の価値の上限値とする。たとえば、サービスＡに利用される資源ノード１０２の価値Ｖａが１≦Ｖａ≦７０であった場合、上限値はＶａ＝７０となる。
【００９４】
また、ジョブの実行時間が経過した場合には、すぐに資源ノード１０２を解放するのではなく、漸次的に優先度を低下させていく。すなわち、ジョブの実行時間が経過した場合、資源ノードの価値を下限値またはサービスが要求する価値よりも低い値に設定するのではなく、緩やかに価値を低下させていく。
【００９５】
ここで、指定されたジョブの実行時間に応じて優先度を設定する場合の資源ブローカリング処理の具体例について図１５〜図１８を用いて説明する。図１５〜図１８は、実施例２における資源ブローカリング処理の具体例を示す説明図である。
【００９６】
ここでは一例として、サービスＡとサービスＢを提供することとする。また、サービスＡに利用される資源ノード１０２の価値Ｖａは、１≦Ｖａ≦７０とする。また、サービスＢの価値Ｖｂは、Ｖｂ＝１００（資源ノード実行）またはＶｂ＝０（資源ノード実行終了）の２値の値をとる。
【００９７】
また、図１５〜図１８において、サービスＡの価値基準Ｘａは価値Ｖａの範囲を特定しており、サービスＢの価値基準Ｘｂは価値Ｖｂの範囲を特定している。価値基準Ｘａと価値基準Ｘｂが共通の価値基準Ｘにマッピングされている。
【００９８】
図１５において、サービスＡについてジョブを実行している資源ノード１０２が４台あり、各資源ノード１０２の価値ＶａはＶａ＝１０である。価値Ｖａは、サービスＡのジョブ実行時間の長さに応じて増加するとともに、ジョブの実行時間が指定されている場合にはそれにともなう値が付加される。
【００９９】
具体的には、サービスＡについてジョブを実行している４台の資源ノード１０２のうち、２台の資源ノード１０２（実行時間指定ジョブ１５０１）についてジョブの実行時間が指定されている。なお、ジョブの実行時間が指定されていない２台の資源ノード１０２を実行時間指定無しジョブ１５０２とする。
【０１００】
このため、実行時間指定ジョブ１５０１については、ジョブ実行時間の長さに応じて価値Ｖａが増加するとともに、指定されたジョブの実行時間中は、それにともなう値が付加される。また、実行時間指定無しジョブ１５０２については、ジョブの実行時間が指定されていないため、実際に経過したジョブ実行時間の長さに応じてのみ価値Ｖａが増加する。
【０１０１】
図１６において、一定時間経過後は、実行時間指定無しジョブ１５０２について、ジョブ実行時間の経過にともない価値ＶａがＶａ＝１０からＶａ＝２０に引き上げられている。また、実行時間指定ジョブ１５０１については、ジョブ実行時間の経過にともない価値ＶａがＶａ＝１０からＶａ＝２０に引き上げられるとともに、ジョブの実行時間の指定にともない、さらに値が付加されてＶａ＝１０からＶａ＝３０に引き上げられている。
【０１０２】
図１７において、さらに時間が経過して（指定されたジョブの実行時間−Δｔ）となった場合には、実行時間指定ジョブ１５０１について、価値Ｖａが上限値であるＶａ＝７０に引き上げられており、これ以上は増加しない。また、実行時間指定無しジョブ１５０２については、ジョブ実行時間の経過にともない価値ＶａがＶａ＝２０からＶａ＝５０に引き上げられている。
【０１０３】
図１８において、ジョブの実行時間経過後は、実行時間指定ジョブ１５０１について、指定されたジョブの実行時間が経過した場合には、すぐに資源ノード１０２（実行時間指定ジョブ１５０１）を解放するのではなく、漸次的に価値Ｖａを低下させていく。ここでは、実行時間指定ジョブ１５０１の価値Ｖａは、Ｖａ＝７０からＶａ＝２０に低下している。また、実行時間指定無しジョブ１５０２については、ジョブ実行時間の経過にともない価値ＶａがＶａ＝５０からＶａ＝６０に引き上げられている。
【０１０４】
この図１５〜図１８のブローカリング処理によれば、指定されたジョブの実行時間中は
、資源ノード１０２の優先度（価値）をより高く設定することができる。このため、実行時間が短いために優先度が低いジョブであっても、指定した実行時間内（特に、ジョブ実行の完了が近づけば近づくほど）においては、より確実に最後までジョブを実行させることができる。
【０１０５】
すなわち、実行時間の経過にともなう優先度の増加が少ないジョブについて、実行途中に他のサービスに切り替えられることによるジョブ実行の再試行を防ぐことができる。これにより、各資源ノード１０２における無駄な計算処理を低減させることができる。
【０１０６】
（優先度設定の具体例（その２））
つぎに、外界との相互作用を有するジョブの実行中に、ジョブ実行の中断または終了の可否を指定することができるＧＵＩ（Ｇｒａｐｈｉｃａｌ  Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ）をユーザに提供する場合について説明する。
【０１０７】
具体的には、グリッド・サービスサブシステム１３０１のアプリケーションを利用して、サービス用のコンピュータ装置に上記ＧＵＩを表示させることにより、サービスの管理者に資源ノード１０２の解放に関する許可を得る。すなわち、アービトレータＡＲＢにおいて資源ノード１０２の解放を自動的におこなうのではなく、サービスの管理者による解放の許可に基づいて、資源ノード１０２の解放を判断する。
【０１０８】
まず、外界との相互作用を有するテレビ会議を実行する場合における優先度の設定について説明する。図１９は、テレビ会議システムにおける優先度設定の概要を示す説明図である。ここでは、サービスの管理者によってテレビ会議の実行時間（終了時間）が予め指定されていることとする。
【０１０９】
まず、アービトレータＡＲＢは、指定されたテレビ会議の終了時間の５分前となった場合、グリッド・サービスサブシステム１３０１のアプリケーションに対して、ジョブ実行の中断の可否を指定することができるＧＵＩの表示要求をおこなう（１）。なお、ＧＵＩの表示要求をおこなう時間は任意に設定可能であり、たとえば、テレビ会議の終了時間の１０分前であってもよい。
【０１１０】
つぎに、表示要求を受け付けたグリッド・サービスサブシステム１３０１のアプリケーションは、テレビ会議用のコンピュータ装置のディスプレイにＧＵＩを表示させる（２）。
【０１１１】
ここで、テレビ会議の参加者によるテレビ会議の終了に関する指定入力を受け付け（３）、受け付けた指定入力をアービトレータＡＲＢに送信する（４）。そして、アービトレータＡＲＢは、受け付けた指定入力に基づいて、資源ノード１０２の優先度を設定する（５）。
【０１１２】
ここで、グリッド・サービスサブシステム１３０１のアプリケーションを利用してサービス用のコンピュータ装置に表示されるＧＵＩについて説明する。図２０は、コンピュータ装置に表示されるＧＵＩの一例を示す説明図である。
【０１１３】
図２０において、ＧＵＩ上には、テレビ会議の終了予定時刻が表示されており、この時間通りにテレビ会議を終了するか否かを指定する選択肢が表示されている。なお、ここで表示されているテレビ会議の終了予定時刻は、予め指定されているテレビ会議の実行時間である。
【０１１４】
ここで、テレビ会議を予定通り終了する場合には、ＧＵＩ上の「はい」を指定する。具
体的には、たとえば、テレビ会議の参加者によってＧＵＩ上に表示されているカーソルを操作して、「はい」に対応するアイコンをクリックする。
【０１１５】
この場合、アービトレータＡＲＢは、予め指定されているテレビ会議の実行時間に基づいて、テレビ会議を終了させて、資源ノード１０２を解放する。ここでは、アービトレータＡＲＢは、５分後にテレビ会議を終了させて資源ノード１０２を解放することとなる。
【０１１６】
また、予定を変更してテレビ会議を延長する場合には、ＧＵＩ上の「いいえ」を指定して、申請する延長時間を入力する。この場合、アービトレータＡＲＢは、入力された延長時間に基づいて、資源ノード１０２の優先度を設定する。
【０１１７】
具体的には、延長時間が入力された場合には、延長時間が経過するまでの間は、資源ノード１０２の優先度を高く設定し、他のサービスへ割り当てられることを防ぐ。なお、延長時間が経過した場合には、アービトレータＡＲＢは、テレビ会議を終了させて資源ノード１０２を解放する。
【０１１８】
つぎに、外界との相互作用を有するバッチ処理を実行する場合における優先度の設定について説明する。図２１は、バッチ処理システムにおける優先度設定の概要を示す説明図である。ここでは、サービスの管理者によってバッチ処理の実行時間（終了時間）が予め指定されていることとする。
【０１１９】
また、バッチ処理システム（複数のジョブの集合）において、各ジョブが占める実行割合が明らかになっていることとする。さらには、バッチ処理を中断または終了させるか否かを問い合わせるインターフェースを有している。
【０１２０】
まず、アービトレータＡＲＢは、指定されたバッチ処理の終了時間の１分前となった場合、グリッド・サービスサブシステム１３０１のアプリケーションに対してバッチ処理を中断または終了させるか否かを問い合わせる（１）。
【０１２１】
つぎに、問い合わせを受け付けたグリッド・サービスサブシステム１３０１のアプリケーションは、バッチ処理を実行中のジョブ実行計算機２１０１に対して、バッチ処理を中断または終了させるか否かを問い合わせる（２）。
【０１２２】
問い合わせを受け付けたジョブ実行計算機２１０１は、バッチ処理において実行する計算のうち９０％が終了しているか否かを判断する（３）。そして、その判断結果を問い合わせ結果として、グリッド・サービスサブシステム１３０１のアプリケーションに返信する（４）。すなわち、バッチ処理を中断可能であるか否かを示す問い合わせ結果を返信する。
【０１２３】
つぎに、グリッド・サービスサブシステム１３０１のアプリケーションは、受け付けたジョブ実行計算機２１０１からの問い合わせ結果を、アービトレータＡＲＢに送信する（５）。そして、アービトレータＡＲＢは、受け付けた問い合わせ結果に基づいて、資源ノード１０２の優先度を設定する（６）。
【０１２４】
具体的には、アービトレータＡＲＢは、バッチ処理を中断することができないことを示す問い合わせ結果を受け付けた場合には、資源ノード１０２の優先度を高く設定することによって他のサービスへ割り当てられることを防ぐ。
【０１２５】
また、アービトレータＡＲＢは、バッチ処理を中断することができることを示す問い合わせ結果を受け付けた場合には、バッチ処理を終了させて、資源ノード１０２を解放する
。ここでは、アービトレータＡＲＢは、１分後にバッチ処理を終了させて資源ノード１０２を解放することとなる。
【０１２６】
このように、流動的に変化するサービスの状況に応じて資源ノード１０２の優先度を設定することによって、より効率的なブローカリングをおこなうことができる。たとえば、ジョブの実行時間について延長する指定入力があった場合などには、資源ノード１０２の優先度を高くすることによって、他のサービスに切り替えられることを防ぐことができる。
【０１２７】
（優先度設定の具体例（その３））
つぎに、サービスについてジョブの集合が投入された場合に、当該ジョブの集合のうち実行が完了したジョブの割合に応じて優先度を設定する場合について説明する。ジョブの集合とは、サービスを提供するために複数のジョブの実行を必要とする場合に投入されるジョブ群である。たとえば、ある空間を探索する際における各部分空間の探索ジョブの集まりをジョブの集合という。
【０１２８】
ジョブの集合のうち少数のジョブの実行が終了しないために、全体ジョブ（集合全体）の実行にかかる時間が増大するという問題が発生する。ここでは、ジョブの集合のうち実行中のジョブについての優先度を、実行が完了したジョブの割合に応じて高く設定し、全体ジョブの実行が早期に終了するようにする。
【０１２９】
具体的には、アービトレータＡＲＢは、グリッド・サービスサブシステム１３０１のライフサイクルマネージャＬＭ＃から、ジョブの集合を区別する識別子および各ジョブの実行状況を受け付ける。そして、アービトレータＡＲＢは、受け付けたジョブの集合を区別する識別子および各ジョブの実行状況に基づいて、現在実行中のジョブについての優先度を設定する。
【０１３０】
ここで、ジョブの集合のうち実行が完了したジョブの割合に応じて優先度を設定する場合の資源ブローカリング処理の具体例について図２２〜図２５を用いて説明する。図２２〜図２５は、実施例２における資源ブローカリング処理の他の具体例を示す説明図である。
【０１３１】
図２２において、サービスＡについて関連するジョブが８つ（ジョブの集合）投入され、そのうちの２つのジョブが実行されている。すなわち、投入された８つのジョブのうち、２つのジョブに資源ノード１０２が割り当てられている。このとき、ジョブに割り当てられている２台の資源ノード１０２の価値ＶａはＶａ＝１である。
【０１３２】
図２３において、一定時間経過後、投入された８つのジョブのうち４つのジョブに資源ノード１０２が割り当てられた結果、そのうち２つのジョブの実行が終了している。これにより、ジョブを実行中の２台の資源ノード１０２の価値ＶａがＶａ＝１からＶａ＝２０に引き上げられている。
【０１３３】
すなわち、投入されたジョブのうち実行が終了したジョブの割合（８分の２）が大きくなったため、ジョブの実行が完了していない資源ノード１０２の価値Ｖａが引き上げられている。なお、ジョブ実行時間の経過にともなう価値の増加も含まれている（以下、同じ）。
【０１３４】
図２４において、さらに一定時間経過後、投入された８つのジョブのうち６つのジョブに資源ノード１０２が割り当てられた結果、そのうち４つのジョブの実行が終了している。これにより、ジョブを実行中の２台の資源ノード１０２の価値ＶａがＶａ＝２０からＶ
ａ＝４０に引き上げられている。
【０１３５】
すなわち、投入されたジョブのうち実行が終了したジョブの割合（８分の４）が大きくなったため、ジョブの実行が完了していない資源ノード１０２の価値Ｖａが引き上げられている。
【０１３６】
図２５において、さらに一定時間経過後、投入された８つのジョブのうち７つのジョブに資源ノード１０２が割り当てられた結果、そのうち６つのジョブの実行が終了している。これにより、ジョブを実行中の資源ノード１０２の価値ＶａがＶａ＝４０からＶａ＝６０に引き上げられている。
【０１３７】
すなわち、投入されたジョブのうち実行が終了したジョブの割合（８分の６）が大きくなったため、ジョブの実行が完了していない資源ノード１０２の価値Ｖａが引き上げられている。
【０１３８】
この図２２〜図２５のブローカリング処理によれば、投入されたジョブの集合のうち実行が完了したジョブの割合に応じて、ジョブを実行中の資源ノード１０２の優先度を高く設定することができる。これにより、現在実行中のジョブについてより確実に実行を完了させることができ、全体ジョブの実行を早期に完了させることができる。
【０１３９】
（優先度設定の具体例（その４））
つぎに、あるサービスについてジョブを実行している際に、他のサービスについてのジョブに割り当てられた回数に応じて資源ノード１０２の優先度を設定する場合について説明する。
【０１４０】
あるサービスについてジョブを実行中の資源ノード１０２を他のサービスに切り替えた場合、これまでのジョブが無駄となってしまうことがある。このため、他のサービスに切り替えられる回数が多いジョブについて優先度を高く設定することにより、ジョブの実行が終了する前に他のサービスに切り替えられてしまうことを防ぐ。
【０１４１】
ここで、他のサービスについてのジョブに割り当てられた回数に応じて資源ノード１０２の優先度を設定する場合の資源ブローカリング処理の具体例について図２６〜図２９を用いて説明する。図２６〜図２９は、実施例２における資源ブローカリング処理のさらに他の具体例を示す説明図である。
【０１４２】
図２６において、サービスＡについてジョブを実行している資源ノード１０２があり、その価値ＶａはＶａ＝１である。ここで、現在サービスＡについてジョブを実行中のこの資源ノード１０２を、他のサービスについてのジョブに割り当てる。
【０１４３】
図２７において、サービスＡについてジョブを実行中の資源ノード１０２が、他のサービスについてのジョブに割り当てられたため、資源ノード１０２の価値ＶａがＶａ＝１からＶａ＝５に引き上げられている。このとき、サービスＡについてのジョブの実行が終了していないため、継続して資源ノード１０２を要求する（図２７中、点線の丸図形）。
【０１４４】
図２８において、サービスＡについてジョブに資源ノード１０２を割り当て、中断していたジョブの実行を再試行する。このとき、サービスＡについてジョブを実行している資源ノード１０２の価値ＶａはＶａ＝５である。ここで、現在サービスＡについてジョブを実行中のこの資源ノード１０２を、他のサービスについてのジョブに割り当てる。
【０１４５】
図２９において、サービスＡについてジョブを実行中の資源ノード１０２が、他のサー
ビスについてのジョブに割り当てられたため、資源ノード１０２の価値ＶａがＶａ＝５からＶａ＝１０に引き上げられている。このとき、サービスＡについてのジョブの実行が終了していないため、継続して資源ノード１０２を要求する（図２９中、点線の丸図形）。
【０１４６】
この図２６〜図２９のブローカリング処理によれば、ジョブの実行の再試行がおこなわれるごとに、資源ノード１０２の優先度を高く設定することができる。このため、再試行の回数が多い資源ノード１０２を他のサービスへの切替対象外とすることができ、結果的にリソーススタベーションを回避することができる。
【０１４７】
以上説明したように、資源ブローカリングプログラム、該プログラムを記録した記録媒体、資源ブローカリング装置、および資源ブローカリング方法によれば、効率的なブローカリングをおこなうことにより、個々のサービスの円滑な提供を実現することができる。
【０１４８】
なお、本実施の形態で説明した資源ブローカリング方法は、予め用意されたプログラムをパーソナル・コンピュータやワークステーションなどのコンピュータで実行することにより実現することができる。このプログラムは、ハードディスク、フレキシブルディスク、ＣＤ−ＲＯＭ、ＭＯ、ＤＶＤなどのコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。またこのプログラムは、インターネットなどのネットワークを介して配布することが可能な伝送媒体であってもよい。
【０１４９】
（付記１）サービスごとに当該サービスに利用される資源ノードの価値を所定の価値基準上において相対的に設定させる設定工程と、
前記複数のサービスのうち一のサービスの要求を受け付けさせる受付工程と、
前記受付工程によって要求が受け付けられた一のサービスに利用される資源ノードが不足しているか否かを検出させる検出工程と、
前記検出工程によって不足していると検出された場合、前記設定工程によって設定された前記一のサービスに利用される資源ノードの価値が、前記設定工程によって設定された前記一のサービス以外の他のサービスに利用されている資源ノードの価値よりも高いか否かを判断させる判断工程と、
前記判断工程によって判断された判断結果に基づいて、前記他のサービスに利用されている資源ノードを、前記一のサービスに利用される資源ノードに切り替えさせる切替工程と、
をコンピュータに実行させることを特徴とする資源ブローカリングプログラム。
【０１５０】
（付記２）前記設定工程は、
前記他のサービスに利用される資源ノードの価値が、当該資源ノードの状態に基づいて変動するように設定させることを特徴とする付記１に記載の資源ブローカリングプログラム。
【０１５１】
（付記３）前記設定工程は、
前記他のサービスに利用される資源ノードの価値が、当該資源ノードの実行時間に応じて大きくなるように設定させることを特徴とする付記２に記載の資源ブローカリングプログラム。
【０１５２】
（付記４）前記設定工程は、
前記他のサービスに利用される資源ノードの価値が、当該資源ノードの処理性能に応じて変動するように設定させることを特徴とする付記２に記載の資源ブローカリングプログラム。
【０１５３】
（付記５）前記設定工程は、
前記他のサービスに利用される資源ノードの価値が、当該資源ノードの使用頻度に応じて大きくなるように設定させることを特徴とする付記２に記載の資源ブローカリングプログラム。
【０１５４】
（付記６）前記設定工程は、
前記他のサービスに利用される資源ノードの価値が、当該資源ノードの設置位置に応じて変動するように設定させることを特徴とする付記２に記載の資源ブローカリングプログラム。
【０１５５】
（付記７）前記設定工程は、
前記他のサービスに利用される資源ノードの価値が、指定入力された当該資源ノードの実行時間に応じて変動するように設定させることを特徴とする付記２に記載の資源ブローカリングプログラム。
【０１５６】
（付記８）前記設定工程は、
前記他のサービスに利用される資源ノードの価値が、指定入力された実行時間内における当該資源ノードの中断または終了の可否に応じて変動するように設定させることを特徴とする付記７に記載の資源ブローカリングプログラム。
【０１５７】
（付記９）前記設定工程は、
前記他のサービスに関するジョブの集合のうち実行が完了したジョブの割合に応じて、前記他のサービスに利用される資源ノードのうち前記ジョブの実行が完了していない資源ノードの価値が大きくなるように設定させることを特徴とする付記２に記載の資源ブローカリングプログラム。
【０１５８】
（付記１０）前記設定工程は、
前記他のサービスに利用される資源ノードの価値が、当該資源ノードの切替回数に応じて大きくなるように設定させることを特徴とする付記２に記載の資源ブローカリングプログラム。
【０１５９】
（付記１１）前記切替工程は、
前記判断工程によって判断された判断結果に基づいて、前記他のサービスに利用されている資源ノードのうち最低価値の資源ノードを、前記一のサービスに利用される資源ノードに切り替えさせることを特徴とする付記１〜１０のいずれか一つに記載の資源ブローカリングプログラム。
【０１６０】
（付記１２）付記１〜１１のいずれか一つに記載の資源ブローカリングプログラムを記録した前記コンピュータに読み取り可能な記録媒体。
【０１６１】
（付記１３）サービスごとに当該サービスに利用される資源ノードの価値を所定の価値基準上において相対的に設定する設定手段と、
前記複数のサービスのうち一のサービスの要求を受け付ける受付手段と、
前記受付手段によって要求が受け付けられた一のサービスに利用される資源ノードが不足しているか否かを検出する検出手段と、
前記検出手段によって不足していると検出された場合、前記設定手段によって設定された前記一のサービスに利用される資源ノードの価値が、前記設定手段によって設定された前記一のサービス以外の他のサービスに利用されている資源ノードの価値よりも大きいか否かを判断する判断手段と、
前記判断手段によって判断された判断結果に基づいて、前記他のサービスに利用されて
いる資源ノードを、前記一のサービスに利用される資源ノードに切り替える切替手段と、
を備えることを特徴とする資源ブローカリング装置。
【０１６２】
（付記１４）前記設定手段は、
前記他のサービスに利用される資源ノードの価値が、当該資源ノードの状態に基づいて変動するように設定することを特徴とする付記１３に記載の資源ブローカリング装置。
【０１６３】
（付記１５）前記切替手段は、
前記判断手段によって判断された判断結果に基づいて、前記他のサービスに利用されている資源ノードのうち最低価値の資源ノードを、前記一のサービスに利用される資源ノードに切り替えることを特徴とする付記１３または１４に記載の資源ブローカリング装置。
【０１６４】
（付記１６）サービスごとに当該サービスに利用される資源ノードの価値を所定の価値基準上において相対的に設定する設定工程と、
前記複数のサービスのうち一のサービスの要求を受け付ける受付工程と、
前記受付工程によって要求が受け付けられた一のサービスに利用される資源ノードが不足しているか否かを検出する検出工程と、
前記検出工程によって不足していると判断された場合、前記設定工程によって設定された前記一のサービスに利用される資源ノードの価値が、前記設定工程によって設定された前記一のサービス以外の他のサービスに利用されている資源ノードの価値よりも高いか否かを判断する判断工程と、
前記判断工程によって判断された判断結果に基づいて、前記他のサービスに利用されている資源ノードを、前記一のサービスに利用される資源ノードに切り替える切替工程と、
を含んだことを特徴とする資源ブローカリング方法。
【０１６５】
（付記１７）前記設定工程は、
前記他のサービスに利用される資源ノードの価値が、当該資源ノードの状態に基づいて変動するように設定することを特徴とする付記１６に記載の資源ブローカリング方法。
【０１６６】
（付記１８）前記切替工程は、
前記判断工程によって判断された判断結果に基づいて、前記他のサービスに利用されている資源ノードのうち最低価値の資源ノードを、前記一のサービスに利用される資源ノードに切り替えることを特徴とする付記１６または１７に記載の資源ブローカリング方法。
【産業上の利用可能性】
【０１６７】
以上のように、本発明にかかる資源ブローカリングプログラム、該プログラムを記録した記録媒体、資源ブローカリング装置、および資源ブローカリング方法は、複数のサービス間で利用される資源ノードをブローカリングするシステムに有用である。
【図面の簡単な説明】
【０１６８】
【図１】この発明の実施の形態にかかる資源ブローカリングシステムのシステム構成図である。
【図２】図１に示したコンピュータ装置のハードウェア構成を示すブロック図である。
【図３】この発明の実施の形態にかかる資源ブローカリング装置の機能的構成を示すブロック図である。
【図４】この発明の実施の形態にかかる資源ブローカリング装置の資源ブローカリング処理手順を示すフローチャートである。
【図５】資源ブローカリング処理の具体例を示す説明図（その１）である。
【図６】資源ブローカリング処理の具体例を示す説明図（その２）である。
【図７】資源ブローカリング処理の具体例を示す説明図（その３）である。
【図８】資源ブローカリング処理の具体例を示す説明図（その４）である。
【図９】資源ブローカリング処理の具体例を示す説明図（その５）である。
【図１０】資源ブローカリング処理の具体例を示す説明図（その６）である。
【図１１−１】サービスＡにおける資源ブローカリング処理の適用前のサービス処理状態を示すグラフである。
【図１１−２】サービスＡにおける資源ブローカリング処理の適用後のサービス処理状態を示すグラフである。
【図１１−３】サービスＢにおける資源ブローカリング処理の適用前のサービス処理状態を示すグラフである。
【図１１−４】サービスＢにおける資源ブローカリング処理の適用後のサービス処理状態を示すグラフである。
【図１２−１】資源ブローカリング処理の適用前における資源ノードの割り当て状態を示すグラフである。
【図１２−２】資源ブローカリング処理の適用後における資源ノードの割り当て状態を示すグラフである。
【図１３】資源ブローカリングシステムの詳細なシステム構成図である。
【図１４】実施例１における資源ブローカリング処理を示すシーケンス図である。
【図１５】実施例２における資源ブローカリング処理の具体例を示す説明図（その１）である。
【図１６】実施例２における資源ブローカリング処理の具体例を示す説明図（その２）である。
【図１７】実施例２における資源ブローカリング処理の具体例を示す説明図（その３）である。
【図１８】実施例２における資源ブローカリング処理の具体例を示す説明図（その４）である。
【図１９】テレビ会議システムにおける優先度設定の概要を示す説明図である。
【図２０】コンピュータ装置に表示されるＧＵＩの一例を示す説明図である。
【図２１】バッチ処理システムにおける優先度設定の概要を示す説明図である。
【図２２】実施例２における資源ブローカリング処理の他の具体例を示す説明図（その１）である。
【図２３】実施例２における資源ブローカリング処理の他の具体例を示す説明図（その２）である。
【図２４】実施例２における資源ブローカリング処理の他の具体例を示す説明図（その３）である。
【図２５】実施例２における資源ブローカリング処理の他の具体例を示す説明図（その４）である。
【図２６】実施例２における資源ブローカリング処理のさらに他の具体例を示す説明図（その１）である。
【図２７】実施例２における資源ブローカリング処理のさらに他の具体例を示す説明図（その２）である。
【図２８】実施例２における資源ブローカリング処理のさらに他の具体例を示す説明図（その３）である。
【図２９】実施例２における資源ブローカリング処理のさらに他の具体例を示す説明図（その４）である。
【符号の説明】
【０１６９】
１００  資源ブローカリングシステム
１０１  資源ブローカリング装置
１０２  資源ノード
３０１  設定部
３０２  受付部
３０３  検出部
３０４  判断部
３０５  切替部
１３０１  グリッド・サービスサブシステム
１３０２  資源ブローカリングサブシステム
１３０３  グリッド情報サブシステム
１３０４  運用管理サブシステム
【図１】
0004557949.tif 000002
【図２】
0004557949.tif 000003
【図３】
0004557949.tif 000004
【図４】
0004557949.tif 000005
【図５】
0004557949.tif 000006
【図６】
0004557949.tif 000007
【図７】
0004557949.tif 000008
【図８】
0004557949.tif 000009
【図９】
0004557949.tif 000010
【図１０】
0004557949.tif 000011
【図１１−１】
0004557949.tif 000012
【図１１−２】
0004557949.tif 000013
【図１１−３】
0004557949.tif 000014
【図１１−４】
0004557949.tif 000015
【図１２−１】
0004557949.tif 000016
【図１２−２】
0004557949.tif 000017
【図１３】
0004557949.tif 000018
【図１４】
0004557949.tif 000019
【図１５】
0004557949.tif 000020
【図１６】
0004557949.tif 000021
【図１７】
0004557949.tif 000022
【図１８】
0004557949.tif 000023
【図１９】
0004557949.tif 000024
【図２０】
0004557949.tif 000025
【図２１】
0004557949.tif 000026
【図２２】
0004557949.tif 000027
【図２３】
0004557949.tif 000028
【図２４】
0004557949.tif 000029
【図２５】
0004557949.tif 000030
【図２６】
0004557949.tif 000031
【図２７】
0004557949.tif 000032
【図２８】
0004557949.tif 000033
【図２９】
0004557949.tif 000034