JP4965460B2 - グリッド・ジョブに関するグリッド・プロバイダの選択を自動的に制御するための方法 - Google Patents

グリッド・ジョブに関するグリッド・プロバイダの選択を自動的に制御するための方法 Download PDF

Info

Publication number
JP4965460B2
JP4965460B2 JP2007549890A JP2007549890A JP4965460B2 JP 4965460 B2 JP4965460 B2 JP 4965460B2 JP 2007549890 A JP2007549890 A JP 2007549890A JP 2007549890 A JP2007549890 A JP 2007549890A JP 4965460 B2 JP4965460 B2 JP 4965460B2
Authority
JP
Japan
Prior art keywords
grid
job
response
bid
rfp
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2007549890A
Other languages
English (en)
Other versions
JP2008527521A (ja
Inventor
フェレンスタイン、クレイグ、ウィリアム
ハミルトン、セカンド、リック、アレン
ジョセフ、ジョシー
シーマン、ジェイムズ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of JP2008527521A publication Critical patent/JP2008527521A/ja
Application granted granted Critical
Publication of JP4965460B2 publication Critical patent/JP4965460B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/06Buying, selling or leasing transactions
    • G06Q30/0601Electronic shopping [e-shopping]
    • G06Q30/0611Request for offers or quotes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/06Buying, selling or leasing transactions
    • G06Q30/0601Electronic shopping [e-shopping]
    • G06Q30/0623Item investigation
    • G06Q30/0625Directed, with specific intent or strategy
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/06Buying, selling or leasing transactions
    • G06Q30/08Auctions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q40/00Finance; Insurance; Tax strategies; Processing of corporate or income taxes
    • G06Q40/04Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange

Landscapes

  • Business, Economics & Management (AREA)
  • Accounting & Taxation (AREA)
  • Finance (AREA)
  • Engineering & Computer Science (AREA)
  • Strategic Management (AREA)
  • Economics (AREA)
  • General Business, Economics & Management (AREA)
  • Physics & Mathematics (AREA)
  • Development Economics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Marketing (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Human Resources & Organizations (AREA)
  • Game Theory and Decision Science (AREA)
  • Educational Administration (AREA)
  • Technology Law (AREA)
  • Operations Research (AREA)
  • Quality & Reliability (AREA)
  • Tourism & Hospitality (AREA)
  • Computer And Data Communications (AREA)
  • Information Transfer Between Computers (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Description

本発明は、一般に、改良されたグリッド・コンピューティングに関し、特に、グリッド環境内の仮想ジョブ要求に関する自動入札(automated bidding)に関する。さらに詳細には、本発明は、グリッド・ジョブ(grid job)に関する入札要求(bidrequest)の作成、複数のグリッド・プロバイダ(grid provider)への入札要求の自動配布、およびグリッド・ジョブに関する勝利入札応答(winningbid response)を選択するためのグリッド・クライアント(grid client)による入札応答の分析に関する。
2つのコンピュータ・システム間で最初の接続が行われて以来、常に、接続を介して2つのコンピュータ・システム間でデータ、リソース、およびその他の情報を転送する新しい方法が発展し続けている。典型的なネットワーク・アーキテクチャでは、2つのコンピュータ・システムが接続を介してデータを交換しているときに、コンピュータ・システムの一方は、要求を送信するクライアントと見なされ、もう一方は、要求を処理し、結果を返すサーバと見なされる。要求が処理される速度を上げようとして、サーバ・システムは、サイズおよび速度の点で拡大し続けている。さらに、毎秒、複数の要求が到着するピーク時を処理しようとして、サーバ・システムはグループとしてまとめて結合される場合が多く、要求はグループ化されたサーバ間に配布される。クラスタ化、マルチシステム共用データ(シスプレックス)環境、およびエンタープライズ・システムなど、サーバをグループ化する複数の方法が発展してきた。サーバのクラスタの場合、1つのサーバは典型的には、着信要求および発信応答の配布を管理するよう指定される。他のサーバは典型的には、クライアントからの配布要求を処理するために並列に動作する。したがって、クラスタ内の複数のサーバのうちの1つは、サーバのクラスタがその要求を処理していることをクライアントが検出せずに、クライアント要求を処理することができる。
典型的には、複数のサーバまたはサーバ・グループは、Unix(登録商標)またはUnix(登録商標)の何らかの変形などの特定のネットワーク・プラットフォーム上で動作し、アプリケーションを実行するためのホスティング環境を提供する。各ネットワーク・プラットフォームは、データベース統合から、クラスタ化サービス、セキュリティ対作業負荷の管理、問題判別にわたる諸機能を提供することができる。各ネットワーク・プラットフォームは典型的には、種々の実現例、意味論的動作、およびアプリケーション・プログラミング・インターフェース(API:application programming interface)を提供する。
しかし、処理能力を拡大するために単にサーバをまとめてグループ化することは、ネットワーク内の応答時間の効率を改善するための限られた方法である。したがって、次第に、社内ネットワーク内では、単にサーバをグループ化するのではなく、複数のサーバおよびサーバ・システム・グループが分散リソースとして編成されている。社内ネットワーク内および社内ネットワーク外のサーバ間で共同作業し、データを共用し、サイクルを共用し、その他の対話モードを改善するための努力が増大している。さらに、社内ネットワークからサービス・プロバイダ・ネットワークに重要ではない要素を外部委託するための努力が増大している。その上、同じ管理システムの対象にならないリソース間のリソース共用を調整するが、依然としてセキュリティ、ポリシー、支払、およびメンバシップの問題に対処しようとする動きが存在する。たとえば、個人のデスクトップ上のリソースは典型的には、社内サーバ・クラスタのリソースと同じ管理システムの対象にはならない。社内ネットワーク内でも、異なる管理グループが別個の管理システムを実現することができる。
異なるネットワーク・プラットフォーム上で動作し、異なる領域内に位置し、異なるセキュリティ・プロトコルを備え、それぞれが異なる管理システムによって制御される、サーバおよびその他のコンピューティング・システムからの使用可能リソースを非集中化することに関する問題によって、グリッド環境を操作するための公開規格を使用するグリッド技術の開発が行われてきた。グリッド環境は、動的で分散された仮想組織内の多様なリソースの共用および協調利用をサポートする。異なるポリシーおよび管理システムを備えた異なる組織によって操作される地理的に分散されたシステムからのある選択範囲のリソースがジョブ要求を処理するように編成されると、グリッド環境内に仮想組織が作成される。
グリッド環境の重要な適用例の1つは、エンタープライズ・コンピューティング環境を実現する複数の企業が外部グリッド・コンピューティング「ファーム(farm)」にアクセスできることである。グリッド・コンピューティング・ファームにジョブを送信することは、ジョブ実行を外部委託するための方法の1つである。グリッド・コンピューティング・ファームは、複数の顧客から受信したグリッド・ジョブを実行するためにアクセス可能なグリッド・リソースのグループを含むことができる。
現行のグリッド・コンピューティング・ファームの限界は、複数のグリッド・コンピューティング・ファームからの入札を達成するためのプロセスが時間がかかり、非効率的であることである。詳細には、グリッド・コンピューティング・ファームにジョブを送信する必要がある顧客は、典型的には、グリッド・ジョブを処理するために複数の使用可能なグリッド・ファーム・プロバイダの中から最も安価なグリッド・コンピューティング・ファームを希望することになる。しかし、複数の使用可能なグリッド・ファーム・プロバイダの中から最も競争力のある入札を決定するために、顧客は、それぞれのグリッド・コンピューティング・ファームの代表者と連絡を取り、必要なグリッド・リソースのタイプに関する説明を提供し、それぞれのグリッド・ファームの代表者から入札を受け取らなければならない。顧客がそれぞれのグリッド・コンピューティング・ファームの代表者と連絡を取り、入札プロセスを実行する必要があるということは、顧客ならびにグリッド・コンピューティング・ファーム・ベンダにとって非効率的なことである。
したがって、上記を考慮すると、グリッド・クライアントが単一の入札要求を作成し、複数のグリッド・ベンダに入札要求を自動的に配布し、勝利グリッド・ベンダを選択するために複数のグリッド・ベンダからの応答を分析するための方法、システム、およびプログラムを提供することは有利なことであろう。
米国特許出願第11/034305号(2005年12月1日出願) 米国特許出願第11/034303号(2005年12月1日出願) 米国特許出願第11/031489号(2005年1月6日出願)
上記を考慮すると、本発明は、一般に、自動グリッド・コンピューティングを可能にし、詳細には、グリッド環境内の仮想ジョブ要求に関する自動入札を可能にする。さらに詳細には、本発明は、グリッド・ジョブに関する入札要求の作成、複数のグリッド・プロバイダへの入札要求の自動配布、およびグリッド・ジョブに関する勝利入札応答を選択するためのグリッド・クライアントによる入札応答の分析に関する。
一実施形態によれば、グリッド・クライアントのユーザは、外部グリッド環境に提示する予定の特定のグリッド・ジョブに関する少なくとも1つの基準を入力する。グリッド・クライアントは、特定のグリッド・ジョブに関する基準を満たすように特定のグリッド・ジョブを処理するための可用性について照会すべき外部グリッド環境に関する少なくとも1つのグリッド・プロバイダを自動的に選択する。次に、グリッド・クライアントは、特定のグリッド・ジョブに関する入札要求内の基準を選択されたグリッド・プロバイダに自動的に配布する。グリッド・クライアントは、グリッド・プロバイダから受信した入札応答を保管し、入札要求に関する応答の返却のための期限に到達したことに応答して、グリッド・クライアントは受信応答の中から特定のグリッド・ジョブに関する勝利入札応答を選択する。次に、グリッド・クライアントは、グリッド・クライアント・システムからの特定のグリッド・ジョブを勝利入札応答を提示するグリッド・プロバイダに自動的に配布する。
照会すべきグリッド・プロバイダを選択する際に、グリッド・クライアントは、まず、特定のグリッド・ジョブが、グリッド提携契約(grid alliance agreement)に割り当てられたタイプのものであるかどうかを判断することができ、グリッド提携契約は、グリッド・クライアントが特定のタイプのグリッド・ジョブに関する単独プロバイダになることに同意する少なくとも1つのグリッド・プロバイダを指定する。特定のグリッド・ジョブに関するグリッド提携契約が所定の位置に存在する場合、グリッド・クライアントは、グリッド提携契約に指定されたグリッド・プロバイダのみを自動的に選択する。
入札要求を配布する際に、入札要求は、特定のグリッド・ジョブに関する基準およびIDと、グリッド・クライアント・システムに関するIDと、入札要求に応答を返すための期限とを含む。加えて、この基準は、パフォーマンス要件を含み、サービス・レベル契約と、ジョブ・コスト限界と、ジョブ時間制限と、キャパシティ・オンデマンド・リソース(capacity on demand resource)に関する資格と、ハードウェア・クラス・プラットフォーム要件と、ソフトウェア・クラス・プラットフォーム要件と、待ち時間要件と、データ・トランスポート要件と、データ・サイズと、完了要件と、セキュリティ要件と、リソース制限と、セルオフ・ポリシー(sell-offpolicy)も含むことができる。
加えて、入札要求を配布する際に、グリッド・クライアントは、まず、特定のグリッド・ジョブのサンプル縮図(sample microcosm)を作成することができ、このサンプル縮図は、特定のグリッド・ジョブの特定のパーセンテージを表している。次に、入札要求はサンプル縮図を含み、サンプル縮図を受信したグリッド・プロバイダは、特定のグリッド・ジョブを処理する際の見積もりパフォーマンスおよびコストを計算するためにサンプル縮図を処理する際の実際のパフォーマンスおよび実際のコストを計量するようにサンプル縮図を処理できるようになる。
勝利入札応答を選択する際に、グリッド・クライアントは、入札応答内の最低見積もりコストから特定のパーセンテージ以内の合計コストを含む第1の選択範囲の入札応答を決定することができ、次に、第1の選択範囲の入札応答の中から特定の応答を選択することができる。詳細には、グリッド・クライアントは、好ましいベンダが入札応答を返すかどうかを判断し、好ましいベンダの入札応答を勝利応答として選択することができる。さらに、グリッド・クライアントは、最高速ジョブ・ランタイムを見積もる入札応答を勝利応答として選択することができる。加えて、他の基準を使用して、グリッド・プロバイダによって返される複数の入札応答を分析し、その入札応答の中から勝利応答を選択することができる。
本発明の態様と思われる新規の特徴は特許請求の範囲に示されている。しかし、本発明そのもの、ならびにその好ましい使用態様、追加の目的および利点については、添付図面に併せて読んだときに、以下に示す例示的な一実施形態の詳細な説明を参照することにより、最も良く理解されるであろう。
次に図面、特に図1を参照すると、グリッド環境で実現可能であり、そこで本発明を実現可能であるコンピュータ・システムの一実施形態が描写されている。さらに説明するように、グリッド環境は、リソースを提供するように管理された複数のコンピュータ・システムを含む。加えて、さらに説明するように、本発明は、グリッド環境内で管理されるいくつかの異なるオペレーティング・システム下で動作する様々なコンピューティング・システム、モバイル・システム、および電子デバイスを含む、様々なコンピュータ・システム内で実行することができる。
一実施形態では、コンピュータ・システム100は、コンピュータ・システム100内で情報を伝達するためのバス122またはその他のデバイスと、情報を処理するためにバス122に結合されたプロセッサ112などの少なくとも1つの処理装置とを含む。バス122は、ブリッジおよびアダプタによって接続され、複数のバス・コントローラによってコンピュータ・システム100内で制御される、短待ち時間のパスおよびより長い待ち時間のパスとを含むことができる。サーバ・システムとして実現される場合、コンピュータ・システム100は、典型的には、ネットワーク・サービス能力を改善するように設計された複数のプロセッサを含む。
プロセッサ112は、通常動作中に、ランダム・アクセス・メモリ(RAM:random access memory)114などの動的記憶装置および読み取り専用メモリ(ROM:Read Only Memory)116などの静的記憶装置からアクセス可能なオペレーティング・システムおよびアプリケーション・ソフトウェアの制御下でデータを処理する、IBMのPowerPC(商標)プロセッサなどの汎用プロセッサにすることができる。オペレーティング・システムは、グラフィカル・ユーザ・インターフェース(GUI:graphicaluser interface)をユーザに提供することができる。一実施形態では、アプリケーション・ソフトウェアは、プロセッサ112上で実行されたときに図12、図13、図14の流れ図に描写された動作ならびに本明細書に記載されたその他の動作を実行する、機械で実行可能な命令を含む。代わって、本発明の諸ステップは、その諸ステップを実行するためのハードワイヤード・ロジックを含む特定のハードウェア・コンポーネントによって、またはプログラム式コンピュータ・コンポーネントとカスタム・ハードウェア・コンポーネントの任意の組み合わせによって実行することができる。
本発明は、本発明によるプロセスを実行するようコンピュータ・システム100をプログラミングするために使用される機械で実行可能な命令がそこに保管されている機械可読媒体上に含まれるコンピュータ・プログラム製品として提供することができる。本明細書で使用する「機械可読媒体」という用語は、実行のためにコンピュータ・システム100のプロセッサ112またはその他のコンポーネントに命令を提供することに関与する任意の媒体を含む。このような媒体は、不揮発性媒体、揮発性媒体、および伝送媒体を含むがこれらに限定されない多くの形をとることができる。不揮発性媒体の一般的な形としては、たとえば、フロッピー(登録商標)・ディスク、フレキシブル・ディスク、ハード・ディスク、磁気テープまたは任意のその他の磁気媒体、コンパクト・ディスクROM(CD−ROM)または任意のその他の光学媒体、パンチ・カードまたはせん孔パターンを有する任意のその他の物理媒体、プログラマブルROM(PROM)、消去可能PROM(EPROM)、電気的EPROM(EEPROM)、フラッシュ・メモリ、任意のその他のメモリ・チップまたはカートリッジ、あるいはそこからコンピュータ・システム100が読み取ることができ、命令を保管するために適している任意のその他の媒体を含む。この実施形態では、不揮発性媒体の一例は、描写されている通り、コンピュータ・システム100の内部コンポーネントである大容量記憶装置118であるが、外部装置によって提供されることも理解されるであろう。揮発性媒体としては、RAM114などの動的メモリを含む。伝送媒体としては、バス122を含むワイヤを含む、同軸ケーブル、銅線、または光ファイバを含む。また、伝送媒体は、無線または赤外線データ通信中に生成されるものなどの音波または光波の形をとることもできる。
その上、本発明はコンピュータ・プログラム製品としてダウンロードすることができ、そのプログラム命令は、バス122に結合された通信インターフェース132へのネットワーク・リンク134(たとえば、モデムまたはネットワーク接続)を介して搬送波またはその他の伝搬媒体に実現されたデータ信号として仮想リソース160などのリモート仮想リソースから要求側コンピュータ・システム100に転送することができる。仮想リソース160は単一のシステムまたは複数のシステムからアクセス可能なリソースの仮想表現を含むことができ、複数のシステムのそれぞれは、独立プラットフォーム上で動作するリソースの個別セットと見なすことができるが、グリッド・マネージャによって1つの仮想リソースとして調整することができる。通信インターフェース132は、たとえば、ネットワーク102へのアクセスを可能にするローカル・エリア・ネットワーク(LAN:local area network)、広域ネットワーク(WAN:wide area network)、またはインターネット・サービス・プロバイダ(ISP:InternetService Provider)に接続可能なネットワーク・リンク134への両方向データ通信結合を提供する。詳細には、ネットワーク・リンク134は、ネットワーク102などの1つまたは複数のネットワークへの有線または無線あるいはその両方のネットワーク通信を提供することができ、それにより、仮想リソース160などの仮想リソースの使用はグリッド環境150によって提供されるものとしてアクセス可能である。グリッド環境150は、ピアツーピア・ネットワークを含む複数タイプのネットワークの一部である場合もあれば、コンピュータ・システム100などの単一コンピュータ・システムの一部である場合もある。
一例として、ネットワーク102は、相互に通信するために伝送制御プロトコル(TCP:Transmission Control Protocol)およびインターネット・プロトコル(IP:Internet Protocol)などの特定のプロトコルを使用するネットワークおよびゲートウェイの全世界的な集合を指すことができる。ネットワーク102は、デジタル・データ・ストリームを運搬する電気信号、電磁信号、または光学信号を使用する。様々なネットワークを通る信号ならびにネットワーク・リンク134上および通信インターフェース132を通る信号は、コンピュータ・システム100との間でデジタル・データを運搬し、情報を転送する搬送波の模範的な形である。代替タイプのネットワーク、ネットワークの組み合わせ、ネットワークのインフラストラクチャを実現できることが理解されるであろう。
サーバ・システムとして実現される場合、コンピュータ・システム100は、典型的には、入出力コントローラに接続された複数の周辺装置相互接続(PCI:peripheral component interconnect)バス・ブリッジを介してアクセス可能な複数の通信インターフェースを含む。このように、コンピュータ・システム100は、複数のネットワーク・コンピュータへの接続を可能にする。
さらに、描写されていないが、複数レベルのバス122のうちの1つに結合された複数のコントローラ、アダプタ、および拡張スロットに接続されたコンピュータ・システム100に複数の周辺コンポーネントおよび内部/外部装置を追加することができる。たとえば、ディスプレイ装置、オーディオ装置、キーボード、またはカーソル制御装置を周辺コンポーネントとして追加することができる。
当業者であれば、図1に描写されているハードウェアが様々になる可能性のあることが分かるであろう。さらに、当業者であれば、描写されている例が本発明に関するアーキテクチャ上の制限を意味しないものであることが分かるであろう。
次に図2に関連して説明すると、このブロック図は、グリッド環境内の一般的なタイプのコンポーネントの一実施形態を例示している。この例では、グリッド環境150のコンポーネントとしては、サーバ・クラスタ222、サーバ224、ワークステーションおよびデスクトップ226、データ記憶システム228、ならびにネットワーク230とのインターフェースを取るグリッド管理システム240とのインターフェースを取るクライアント・システム200を含む。例示のため、グリッド環境150内のコンポーネントを接続するネットワークの位置およびタイプは描写されていない。しかし、グリッド環境150内のコンポーネントは、相互に重なっている複数タイプのネットワークによって実現可能なネットワーク・インフラストラクチャ・アーキテクチャの上に存在できることが理解されるであろう。ネットワーク・インフラストラクチャは、複数の大規模エンタープライズ・システムからピアツーピア・システム、さらに単一のコンピュータ・システムまでわたる可能性がある。さらに、グリッド環境150内のコンポーネントは単にグリッド環境内のコンポーネントのタイプの表現に過ぎないことが理解されるであろう。グリッド環境は、単一のコンピュータ・システム内に単純に包含される場合もあれば、複数のエンタープライズ・システムを包含する場合もある。加えて、グリッド環境150はグリッド・プロバイダによって提供することができ、グリッド環境150内のリソースの使用コストは、複数の計算基礎の例のうち、グリッド・ジョブが実行に要する時間の量または実際に使用されるリソースの量に基づいて計算できることが理解されるであろう。
グリッド環境150などのグリッド環境の主要目標は、仮想リソース160と見なされる複数の個別システムからのリソースの編成および配信である。クライアント・システム200、サーバ・クラスタ222、サーバ224、ワークステーションおよびデスクトップ226、データ記憶システム228、ネットワーク230、ならびにグリッド管理システム240を形成するシステムは、異機種にすることができ、独立管理システムによって地域的に分散させることができるが、グリッド管理システム240によって使用可能になるグリッド・インフラストラクチャにより情報、リソース、およびサービスを交換できるようにすることができる。さらに、サーバ・クラスタ222、サーバ224、ワークステーションおよびデスクトップ226、データ記憶システム228、ならびにネットワーク230は、国中および大陸中に地理的に分散させるか、またはローカルで相互にアクセス可能なものにすることができる。
この例では、クライアント・システム200はグリッド管理システム240とのインターフェースを取る。クライアント・システム200は、グリッド管理システム240に要求を送信する任意のコンピューティング・システムを表すことができる。詳細には、クライアント・システム200は、グリッド管理システム240に仮想ジョブ要求およびジョブを送信することができる。詳細には、仮想ジョブ要求は、さらに説明するように、提案要求(RFP:request for proposal)の形で送信することができる。さらに、この実施形態のクライアント・システム200は要求によってグリッド環境150にアクセスするものとして描写されているが、代替諸実施形態のクライアント・システム200はグリッド環境150内で動作することもできる。さらに、クライアント・システム200がグリッド管理システム240に仮想ジョブ要求およびジョブを提示する場合、クライアント・システム200はグリッド・クライアントと呼ぶこともできる。
仮想リソース160内のシステムは並列に描写されているが、実際には、これらのシステムは、仮想リソース160内のいくつかのシステムがクライアント・システム200にとってローカルなものになり、他のシステムが外部ネットワークへのアクセスを必要とするような、システム階層の一部になる可能性がある。さらに、仮想リソース160内に描写されているシステムはクライアント・システム200内に物理的に包含できることは、留意すべき重要なことである。
グリッド管理システム240の機能の1つは、クライアント・システム200からの仮想ジョブ要求およびジョブを管理し、仮想リソース160内の使用可能なコンピューティング・システムで特定のリソースを使用するために、ある選択範囲の仮想リソース160のコンピューティング・システムに対する各ジョブの配布を制御することである。しかし、クライアント・システム200の観点から見ると、仮想リソース160は、仮想リソース160内のどのコンピューティング・システムが実際に要求を実行したかを区別せずに、要求を処理し、結果を返す。
グリッド環境150を実現するために、グリッド管理システム240はグリッド・サービスを促進する。グリッド・サービスは、オープン・グリッド・サービス・アーキテクチャ(OGSA:Open Grid Services Architecture)を含むがこれに限定されない複数のアーキテクチャに応じて設計することができる。詳細には、グリッド管理システム240は、グリッド・サービスによりリソースを共用することを特徴とする異機種ネットワーク環境内にコンピューティング・システムをリンクすることによりグリッドを作成する管理環境を指す。
一例では、ジョブを処理するためのパラメータを指定するRFPとともにグリッド管理システム240が仮想ジョブ要求を受信したときに、グリッド・サービスが呼び出される。このグリッド・サービスは、仮想ジョブ要求に必要な合計作業負荷を決定し、必要な合計作業負荷を処理するための仮想リソース160のキャパシティを計算する入札コントローラである。次に入札コントローラは、仮想ジョブ要求に関するコストを計算し、必要な合計作業負荷を処理するためのグリッド環境150のキャパシティおよびその作業負荷を使用するためのコストに基づいて、仮想ジョブ要求によって指定されたジョブを実行するための入札を返す。
次に図3を参照すると、このブロック図は、グリッド環境で実現可能であるアーキテクチャの一例を例示している。描写されている通り、アーキテクチャ300は複数層の機能を含む。さらに説明するように、本発明は、図2に記載されているグリッド環境などのグリッド環境で実現されるアーキテクチャ300などのアーキテクチャの1つまたは複数の層で実現可能なプロセスである。アーキテクチャ300は、グリッド環境で実現可能であり、そこで本発明を実現可能であるアーキテクチャの一例にすぎないことは、留意すべき重要なことである。さらに、1つのグリッド環境内で複数のアーキテクチャを実現可能であることは、留意すべき重要なことである。
アーキテクチャ300の層内で、まず、物理および論理リソース層330は、グリッド内のシステムのリソースを編成する。物理リソースは、サーバ、記憶媒体、およびネットワークを含むが、これらに限定されない。論理リソースは、物理層を仮想化し、オペレーティング・システム、処理能力、メモリ、入出力処理、ファイル・システム、データベース・マネージャ、ディレクトリ、メモリ・マネージャ、およびその他のリソースなどの使用可能リソースに物理層を集約する。
次に、Webサービス層320は、グリッド・サービス310と物理および論理リソース330との間のインターフェースを提供する。Webサービス層320は、Webサービス記述言語(WSDL:Web Services Description Language)、シンプル・オブジェクト・アクセス・プロトコル(SOAP:SimpleObject Access Protocol)、およびインターネット・プロトコル(IP)またはその他のネットワーク・トランスポート層の上で実行される拡張可能マークアップ言語(XML:eXtensiblemark-up language)を含むがこれらに限定されないサービス・インターフェースを実現する。さらに、オープン・グリッド・サービス・インフラストラクチャ(OGSI:OpenGrid Services Infrastructure)規格322は、グリッドのリソースをモデル化するために必要な動的かつ管理しやすいWebサービスに関する機能を提供するようにWebサービス320を拡張することにより、現行のWebサービス320の上に構築される。詳細には、Webサービス320によりOGSI規格322を実現することにより、OGSAを使用して設計されたグリッド・サービス310は相互運用可能なものになる。代替諸実施形態では、Webサービス層320の上に他のインフラストラクチャまたは追加のインフラストラクチャを実現することができる。
グリッド・サービス層310は、グリッド管理システム240に関連して説明した諸機能を一緒に実行する複数のサービスを含む。たとえば、グリッド・サービス層310は、グリッド・サービスを作成する際に一様な規格が実現されるように、OGSAを使用して設計されたグリッド・サービスを含むことができる。代わって、複数のアーキテクチャ下でグリッド・サービスを設計することができる。グリッド・サービスは、4つの主要機能にグループ化することができる。しかし、グリッド・サービスによって他の機能を実行できることが理解されるであろう。
第1に、リソース管理サービス302は物理および論理リソースの使用を管理する。リソースとしては、処理リソース、メモリ・リソース、および記憶リソースを含むことができるが、これらに限定されない。これらのリソースの管理は、ジョブのスケジューリング、ジョブの配布、およびジョブに関する結果の検索の管理を含む。リソース管理サービス302は、リソース負荷のバランスを取り、予期せぬ活動ピークを吸収するために、リソース負荷をモニターし、グリッドのあまり混雑していない部分にジョブを配布する。詳細には、グリッド内で好ましいパフォーマンス・レベルを維持するためにリソース管理サービス302がジョブを配布するように、ユーザは好ましいパフォーマンス・レベルを指定することができる。
第2に、情報サービス304は、グリッド内のコンピューティング・システム間の情報転送および通信を管理する。複数の通信プロトコルを実現できるので、情報サービス304は、複数タイプの通信プロトコルを使用する複数のネットワーク全域の通信を管理する。
第3に、データ管理サービス306は、グリッド内のデータ転送および記憶を管理する。詳細には、データ管理サービス306は、データを必要とするジョブが実行されるグリッド内のノードにそのデータを移動することができる。グリッド・ファイル転送プロトコル(GridFTP:Grid File Transfer Protocol)などの特定のタイプの転送プロトコルを実現することができる。
最後に、セキュリティ・サービス308は、グリッド内で動作するそれぞれのシステムの接続層のセキュリティに関するセキュリティ・プロトコルを適用する。セキュリティ・サービス308は、安全な伝送を提供するために、オープン・セキュア・ソケット層(SSL:Secure Socket Layer)などのセキュリティ・プロトコルを実現することができる。さらに、ユーザが認証された後、そのユーザに関するグリッド内でアクションを実行するときにプロキシ証明書が作成され使用されるように、セキュリティ・サービス308はシングル・サインオン・メカニズムを提供することができる。
複数のサービスは、グリッド・コンピューティング・システムのいくつかの重要な機能を提供するように一緒に作用することができる。第1の例では、計算タスクがグリッド内に分散される。データ管理サービス306は、1つの計算タスクを、リソース管理サービス302によって分散され管理されるデータ・パケットからなる個別のグリッド・サービス要求に分割することができる。結果は、データ管理サービス306によって収集され統合される。第2の例では、グリッド内の複数のコンピューティング・システム全域の記憶リソースは、データ管理サービス306によって管理され、リソース管理サービス302によってモニターされる単一の仮想データ記憶システムと見なされる。
アプリケーション層340は、グリッド・サービス層310内で使用可能なグリッド・サービスのうちの1つまたは複数を使用するアプリケーションを含む。有利なことに、複数の異機種システムが対話し相互運用できるように、アプリケーションは、グリッド・サービス層310およびWebサービス320を介して物理および論理リソース330とのインターフェースを取る。
次に図4に関連して説明すると、本発明の方法、システム、およびプログラムにより、仮想ジョブ要求が受信され、入札の形で自動的に応答される、グリッド環境のブロック図が描写されている。描写されている通り、クライアント・システム200はグリッド環境150に仮想ジョブ要求を送信する。グリッド環境150は、グリッド・スケジューラ404と、入札コントローラ412と、グリッド・リソース402とを論理的に含むことができる。グリッド・リソース402はグリッド環境150内の使用可能リソースを表し、グリッド・スケジューラ404はグリッド・リソース402へのジョブの配布を制御する。グリッド・リソース402、グリッド・スケジューラ404、および入札コントローラ412は、単一のネットワーク内に分散された複数のサーバ・システム間または複数のネットワーク間で実行できることが理解されるであろう。
入札コントローラ412は、仮想ジョブ要求の受信ならびに仮想ジョブ要求によって指定されたジョブの完了のための入札の生成を処理するものであり、グリッド環境150内のグリッド・サービスとして呼び出すことができる。代わって、仮想ジョブ要求は、グリッド環境150のトランスポート層またはその他のゲートキーピング機能から入札コントローラ412に渡すことができる。さらに、入札コントローラ412は、グリッド環境150の外部のシステム内で実行することができる。
図9に関連してさらに説明するように、一実施形態では、入札コントローラ412は作業負荷カルキュレータ・モジュール908を含む。作業負荷カルキュレータ・モジュール908は、各仮想ジョブ要求が必要とする見込みの作業負荷を決定し、必要な作業負荷を処理するためのグリッド環境150のキャパシティを計算する。必要な作業負荷を処理するためのグリッド環境150のキャパシティに基づいて、コスト・カルキュレータ914は、仮想ジョブ要求によって指定されたジョブを実行するためのコストを計算する。入札フォーマライザ(bid formalizer)906は、ジョブに必要なその他の要因を考慮し、クライアント・システム200に入札応答を返す。加えて、入札フォーマライザ906は、クライアント・システム200がグリッド環境150によって表されるグリッド・プロバイダに仮想ジョブ要求に関連する実際のジョブを提示した場合にグリッド・スケジューラ404によってアクセスするために、入札応答テーブル内に入札応答を保管する。
描写されている実施形態では、入札コントローラ412は仮想ジョブ要求の受信ならびにグリッド環境150内でジョブを処理するための入札の自動決定および返却を処理するものとして例示されているが、入札コントローラ412は複数のグリッド・クライアントからの仮想ジョブ要求の受信を処理することができ、複数のグリッド環境内でジョブを処理するために入札を返すことが理解されるであろう。
一実施形態では、グリッド環境150は、グリッド・ジョブを処理するために特定のグリッド・プロバイダにとって使用可能なリソースであるグリッド・リソース402を含む。加えて、グリッド・リソース402は、他のグリッド・プロバイダからアクセス可能であり、キャパシティ・オンデマンド(CUOD:capacity on demand)リソースであるリソースを含むことができる。
この説明全体を通して、グリッド・プロバイダはクライアント・システム200から独立してグリッド環境内で独立グリッド処理を提供するエンティティを指すが、そのクライアント・システム200がクライアント・システム200を含むグリッド環境のグリッド・プロバイダにグリッド・ジョブを提示できることは、留意すべき重要なことである。加えて、グリッド・プロバイダはグリッド・ベンダとも呼ばれる場合がある。
次に図5を参照すると、クライアント・システムによってグリッド・プロバイダに提示されるジョブと、グリッド・プロバイダによって返されるジョブの結果のフロー・ダイアグラムが描写されている。例示されている通り、クライアント・システム200はグリッド・プロバイダにジョブ502を提示する。詳細には、前に説明した通り、各グリッド・プロバイダは、ジョブがパフォーマンス要件を満たすためのグリッド・リソースを選択し、ジョブの進行状況をモニターし、パフォーマンス要件を満たすために必要である場合にグリッド・リソースを調整し、クライアント・システムへの結果の返却を管理することによりグリッド・ジョブの流れを管理するために、グリッド管理システム240などのグリッド管理システムを実現することができる。
この例では、グリッド・プロバイダ用のグリッド管理システムは、ジョブ502を受け取り、グリッド・スケジューラ404がジョブ502をスケジューリングして、それをグリッド・リソースにディスパッチできるまでジョブ502を保持する、ジョブ・キュー504を含む。詳細には、グリッド・スケジューラ404は、たとえば、特定のジョブについてグリッド・プロバイダによって行われた入札または特定のクライアント・システムから受信したジョブのためのジョブ・パフォーマンス要件に関する契約に基づいて、ジョブ502に関するパフォーマンス要件を含む入札508にアクセスする。グリッド・スケジューラ404は、ジョブ502を処理するために必要なグリッド・リソース、たとえば、サーバA 516、サーバB 518、およびサーバN 520にアクセスする。描写されていないが、グリッド・スケジューラ404は、グリッド・マネージャならびにグリッド・ジョブに必要なリソースを構築するグリッド管理システムのその他のコンポーネントにアクセスし、他のグリッド環境からのリソースにアクセスし、必要であれば、他のグリッド・プロバイダにグリッド・ジョブをセルオフすることができる。
この例では、グリッド・スケジューラ404は、サーバA 516、サーバB 518、およびサーバN 520にそれぞれ配布されるジョブ部分510、512、および514にジョブ502を分割する。ジョブ結果マネージャ(job results manager)528は、サーバA 516、サーバB 518、およびサーバN 520から結果522、524、および526をそれぞれ収集する。ジョブ結果マネージャ528は、完全な結果530をクライアント・システム200に返す。加えて、ジョブ結果マネージャ528は、ジョブが完了したときにアカウンティング・マネージャ(accountingmanager)532を更新する。アカウンティング・マネージャ532は、ジョブ502によるサーバA 516、サーバB 518、およびサーバN 520の使用をモニターしてジョブ502の合計作業負荷とジョブ502の合計コストを計算する作業負荷マネージャ(描写されていない)と通信する。詳細には、入札508は、最大コスト、固定コスト、パフォーマンス要件が満たされない場合のスライド・コスト・スケール、ならびにその他の価格調整係数などのジョブ502の合計コストを制御する要因を指定することができる。
次に図6に関連して説明すると、クライアント定義アプリケーション・メトリックあたりの相対コストを計算するために複数のグリッド・プロバイダにグリッド・ジョブ縮図を提示するためのプロセスのフロー・ダイアグラムが描写されている。この例では、クライアント・システム200は、グリッド・プロバイダに提示する必要のある大きいグリッド・ジョブのうちの小さい代表的なジョブである縮図にグリッド・ジョブを配分する。この例では、クライアント・システム200は、グリッド・ジョブ縮図602およびグリッド・ジョブ縮図612をグリッド・プロバイダ604および614にそれぞれ提示する。図4に関連して説明した通り、一実施形態のクライアント・システム200はすでにグリッド・ジョブ縮図に関するジョブ要求をグリッド・プロバイダ604および614に提示しているが、代替一実施形態のクライアント・システム200は、たとえば、公開されたレートまたは口頭で合意したレートに基づく価格設定およびパフォーマンス予想とともに、グリッド・ジョブ縮図をグリッド・プロバイダ604および614に提示することができる。
グリッド・プロバイダ604および614のそれぞれは、図5でグリッド・ジョブを処理するグリッド・プロバイダに関連して説明したのと同じように、グリッド・ジョブ縮図602および612を処理し、結果606および616を返す。クライアント・システム200は、グリッド・ジョブ縮図602および612のそれぞれに関する結果およびコストを検索し、クライアント定義アプリケーション・メトリックとグリッド・プロバイダ・メトリックとの比率に基づいて各グリッド・プロバイダに関する変換値を計算する。たとえば、グリッド・プロバイダ・メトリックは時間制料金であるが、クライアント定義アプリケーション・メトリックはデータベース・マージの数である場合が考えられる。変換値の計算に関する追加の例については、米国特許出願第11/034305号に記載されている。
次に、クライアント・システム200は、変換値によって調整された完全グリッド・ジョブに必要なクライアント定義アプリケーション・メトリック動作の数に応じて完全グリッド・ジョブに関する見積もりコストを計算し、各グリッド・プロバイダについて見積もられたコスト同士を比較し、費用効果が最も高いプロバイダを選択する。1つの利点によれば、各プロバイダに関する実際のパフォーマンスおよびコストをサンプリングし、そのコストをクライアント定義アプリケーション・メトリック・ベースに変換することにより、クライアント・システム200は、1つの大きいグリッド・ジョブまたは複数の大きいグリッド・ジョブを送信する前に、クライアント定義アプリケーション・メトリック・ベースで、約束されたコスト・パフォーマンスではなく、実際のコスト・パフォーマンスを比較することができる。この例では、グリッド・ジョブ縮図602および612のそれぞれについて結果およびコストをサンプリングした後、クライアント・システム200は、グリッド・ジョブ縮図602および612がその代表的なセットである完全グリッド・ジョブ620をグリッド・プロバイダ604に送信することを選択する。グリッド・プロバイダ604は、図5に関連して説明した通り、完全グリッド・ジョブ620を処理し、結果624をクライアント・システム200に返す。
次に図7を参照すると、このブロック図は、グリッド・プロバイダへの自動入札要求および複数のグリッド・プロバイダからの入札応答の自動分析を制御するためのクライアント・システムに関するグリッド・クライアント・エージェントのコンポーネントを描写している。例示されている通り、クライアント・システム200で実行されているかまたは複数のグリッド・クライアント・システムとのインターフェースを取るサーバで実行されているグリッド・クライアント・エージェント700は、RFPの形のグリッド・ジョブに関する仮想ジョブ要求の形成と、グリッド・プロバイダへのRFPの配布と、グリッド・プロバイダからRFPへの入札応答の分析と、勝利グリッド・プロバイダへのグリッド・ジョブの配布とを管理する。
詳細には、グリッド・クライアント・エージェント700は、ユーザが特定のグリッド・ジョブのためのRFPに関する指定を入力するためのインターフェースを制御するRFP指定コントローラ708を含む。一実施形態のRFP指定コントローラ708は独立コントローラである。他の実施形態のRFP指定コントローラ708は、グリッド・クライアントのための既存のスケジューラに追加される。図8に関連して説明するように、ユーザは、1つのグリッド・ジョブについて複数のカテゴリの基準を入力することができる。RFP指定コントローラ708は、グリッド・インターフェース・コントローラ712によりディスパッチするためにスケジューリングされたRFPをRFP要求キュー718に保管する。
グリッド・インターフェース・コントローラ712は、RFPの配布と、入札応答の受信と、グリッド・ジョブの配布と、グリッド・ジョブ結果の受信とを管理する。詳細には、グリッド・インターフェース・コントローラ712によりグリッド・プロバイダに提示されたRFPはRFP提示テーブル716に保管される。次に、グリッド・インターフェース・コントローラ712は、RFP応答テーブル714内の入札応答の保管を管理する。
詳細には、グリッド・クライアント・エージェント700は、RFP要求キュー718内のRFPをグリッド・プロバイダに提示すべき時期を決定し、特定のRFPがグリッド・インターフェース・コントローラ712によって提示されるはずのグリッド・プロバイダを選択する、RFP提示コントローラ722を含む。一実施形態のRFP提示コントローラ722は、特にRFPがグリッド提携ベンダを指定するときに、特定のグリッド提携の一部として指定されたグリッド・ベンダを選択することができる。詳細には、ベンダ・レーティング720は、グリッド・プロバイダを選択するためのレーティング基準を指定し、グリッド提携契約に含まれるグリッド・ジョブのタイプを指定する。
詳細には、一例では、1つのグリッド・クライアントまたはグリッド・クライアント・グループは、グリッド提携の一部として1つまたは複数のグリッド・プロバイダに特定の特性セットを有するグリッド・ジョブを提示することに同意することができ、その場合、グリッド・クライアントは、特定のグリッド・プロバイダまたはグリッド・プロバイダ・グループがその特定の特性セットを有するグリッド・ジョブに関する単独プロバイダになることに同意するための割引価格を受信し、ベンダ・レーティング720はグリッド提携および特定の特性セットを示す。他の例では、ユーザがベンダ・レーティング720内の各グリッド・ベンダに対してレーティングを割り当てる場合もあれば、グリッド・クライアント・エージェント700がベンダ・レーティング・サービスからのグリッド・ベンダ・レーティングにアクセスする場合もある。
加えて、グリッド・クライアント・エージェント700は、図6に関連して説明した通り、1つのグリッド・ジョブの小さい部分を処理するための応答時間およびコストをサンプリングするために、RFP提示コントローラ722がグリッド・プロバイダに提示するためのグリッド・ジョブ縮図の形成を制御するためのジョブ縮図コントローラ702を含む。一例では、RFPは、グリッド・プロバイダが実行し、入札と、グリッド・ジョブ縮図を実行した結果とを返すためのグリッド・ジョブ縮図を含むことができる。他の例では、ジョブ縮図コントローラ702は、まずグリッド・ジョブ縮図に関するRFPの提示を要求し、次に複数のグリッド・プロバイダへのグリッド・ジョブ縮図の提示を要求する。
コスト比較器710は、グリッド・ジョブ縮図および完全グリッド・ジョブからの結果に基づいて、グリッド・ジョブについてクライアント実行ユニット・ベースで実際のコストを決定する。詳細には、図6に関連して説明した通り、クライアント定義メトリックとグリッド・プロバイダ・メトリックとの比率は、グリッド・ジョブ縮図または完全グリッド・ジョブを実行した結果に基づいて、特定のタイプのグリッド・ジョブについて計算される。一例では、あるグリッド・プロバイダが時間制料金に基づいてグリッド・ジョブのコストを計算し、他のグリッド・プロバイダが浮動小数点演算の数に基づいてグリッド・ジョブのコストを計算する場合に、コスト比較器710は、それぞれのグリッド・プロバイダ・メトリックと、データベース・マージの数など、共通クライアント定義メトリック・ベースとの比率を計算する。
応答アナライザ704は、グリッド・プロバイダから受信した応答を分析し、処理グリッド・プロバイダを選択する。一実施形態では、応答アナライザ704は、入札応答がすべてのまたは特定のRFP基準を満たしているかどうかについて入札応答を分析し、最良価格に必要な基準またはその他の基準を満たしている応答同士を比較する。他の実施形態では、同じタイプの前のグリッド・ジョブがすでにグリッド・プロバイダによって処理されている場合またはグリッド・ジョブ縮図が提示された場合に、応答アナライザ704は、応答アナライザ704がグリッド・ジョブを実行するための実際の見積もりコストとグリッド・プロバイダによって約束されたコストとを比較して勝利グリッド・プロバイダを選択できるように、まずグリッド・プロバイダに応じてクライアント定義メトリック・コストを計算するために、コスト比較器710を呼び出す。
加えて、応答アナライザ704は、グリッド・ジョブに関する再交渉基準を提案する例外またはコメントを資格付与入札応答が含む場合に、RFP例外マネージャ706を起動することができる。詳細には、RFP例外マネージャ706は、入札応答で返された例外およびコメントに応じてRFPを調整することを選択するようユーザにプロンプトで指示することができる。さらに、RFP例外マネージャ706は、グリッド・クライアントのための再交渉設定によって許可される場合に、例外またはコメントによりRFPを自動的に調整することができる。
再交渉プロセス中に、RFP例外マネージャ706は、RFPを調整するために使用された例外またはコメントを返した単一のグリッド・プロバイダに調整済みRFPを提示する場合もあれば、元のグリッド・プロバイダのすべてに調整済みRFPを提示する場合もある。加えて、再交渉プロセス中に、RFP例外マネージャ706は、効果的な再交渉のために十分な時間を使用可能にするために元のRFP応答時間を延長する場合もある。
次に図8を参照すると、このブロック図は、グリッド・ジョブに関するRFP基準の入力のためのユーザ・インターフェースを描写している。例示のため、各タイプの基準について提供可能な情報のタイプが示されている。追加のタイプの基準をRFPに含めることができ、それぞれの基準について追加の値を指定でき、各グリッド・プロバイダのモジュールが種々の方法で基準に対応できることが理解されるであろう。
例示されている通り、ユーザ・インターフェース800は、RFP850を作成するための仮想ジョブ要求に関する要件をユーザが入力するための複数の入力フィールドを提供する。描写されている例では、ユーザ・インターフェース800は、グリッド・プロバイダにグリッド・ジョブを提示するためにユーザ要求に応答してRFP指定コントローラ708によって開かれたウィンドウである。他の例では、クライアント・ジョブ・スケジューラは、グリッド提示に向いているジョブが検出されたときに、ユーザ・インターフェース800内のウィンドウを開くためにRFP指定コントローラ708を自動的に起動することができる。カーソル846の配置および選択により選択可能ボタン844をユーザが選択したときに、ユーザ・インターフェース800内の入力は、RFP要求キュー718内のグリッド・ジョブについて保管され維持される。
参照番号802に例示されている通り、RFP850についてジョブ名を指定することができる。この例のジョブ名は、データベース更新を必要とするジョブを識別するための「DB_UPDATE_BASE」である。ジョブ名に加えてまたはジョブ名の代替物として、参照番号804に示されているジョブ番号またはその他の識別番号は、ユーザがRFPを入力することにより指定するか、またはRFP指定コントローラ708により自動的に指定することができる。参照番号804に例示されている通り、グリッド・クライアントは、RFP交渉プロセス中に特定のグリッド・ジョブへの共通参照を容易にするために、各グリッド・ジョブに固有の番号を関連付けることができる。この例では、「105」というジョブ番号がRFP850に関連付けられている。加えて、グリッド・プロバイダは、RFPおよび応答のジョブ番号を、グリッド・プロバイダがグリッド・クライアントから受信したグリッド・ジョブと突き合わせる。
参照番号810に例示されている通り、RFP850についてキャパシティ・オンデマンド(CUOD)リソースを使用するための資格を指定することができる。この例では、CUOD資格は「NO」に設定されている。一実施形態のCUODリソースは、使用可能であるが、現在、アクティブではないリソースである。ハードウェア・リソースとソフトウェア・リソースのいずれもキャパシティ・オンデマンド・リソースとして使用可能なものにすることができる。ライセンス・コストを支払って、「オンデマンド」リソースを起動することができる。そのグリッド・ジョブがCUODリソースの資格がないとクライアントが指定した場合、グリッド・ベンダは、RFPへの応答を作成するときに、いずれの使用可能CUOD応答を含めることも回避することになる。あるグリッド・ジョブがCUODリソースの資格があるとクライアントが指定した場合、各グリッド・ベンダは、追加のオンデマンド・リソースがそのグリッド・ジョブに必要と見なされる場合にその追加のオンデマンド・リソースとそのコストとを含む入札応答を作成することができる。さらに、入札応答でグリッド・ベンダは、これらのリソースの起動のためのコストを指定できるように、そのジョブがCUODリソースを必要とするかどうかを指定することができる。最後に、他の例では、グリッド・クライアントが入札応答を分析するときに、グリッド・クライアントは、CUODリソースを提供しないグリッド・プロバイダからの応答をフィルタで除去することができる。
参照番号828に例示されている通り、グリッド・ジョブに関するジョブ時間制限をRFP850に指定することができる。詳細には、ユーザは、それまでにジョブを実行しなければならない時間制限を指定することができる。作業負荷計算モジュールがリソースとそのリソースのコストを決定する場合、時間制限を考慮することができる。たとえば、特定のジョブを1時間で実行するためのジョブ要求は、同じジョブを5時間で実行するためのジョブ要求よりコストがかかる可能性がある。
ジョブ時間制限のもう1つのパラメータは、典型的には基本コンピューティング環境で実行されるジョブについて、グリッドにジョブを提示しなければならない時間の量を含むことができる。詳細には、ほとんどのジョブは、基本環境で実行され、基本環境が混雑しているときに実行を中断し、再始動時に、中断したところからジョブを再開することができる。本発明の1つの利点によれば、その基本環境でジョブを中断し、グリッド環境に移動して再開し、あとで中断して基本環境に戻すことができる。したがって、ジョブ時間制限は、そのジョブが中断され、実行のために基本環境に戻される前に、そのジョブがグリッド環境で実行されなければならない時間の量を指定することができる。
参照番号822に例示されている通り、グリッド・ジョブについて許可されたリソースに関するリソース制限をRFP850に指定することができる。ジョブが要する時間単位でクライアントに請求するグリッド・プロバイダもあれば、ジョブが使用したリソース単位でクライアントに請求するグリッド・プロバイダもある。リソース使用量単位での請求を実現する場合、クライアントは好ましくは、提示のために考慮された各ジョブについてクライアントが支払を了解したリソースのタイプおよび量を指定することができる。
参照番号812および818に例示されている通り、実行要求期間および追加の完了基準をRFP850に指定することができる。この例では、6時間以内でのグリッド・ジョブの実行が要求され、いかなる追加の完了基準も指定されていない。しかし、追加の完了基準の例としては、ジョブが8時間以内に実行を完了しなければならないこと、8時間の実行時間後にジョブを中断しなければならないこと、10000個の出力レコードが生成されたときにジョブが完了すること、または2回実行され、それぞれの実行から一致する結果が返された場合にジョブが完了することを含むことができる。
参照番号826に例示されている通り、グリッド・ジョブに関するグリッド提携要件をRFP850に指定することができる。詳細には、グリッド・クライアントは1つまたは複数のグリッド・プロバイダと戦略的提携を行うことができ、その場合、戦略的提携では、クライアントは特定の基準を満たすグリッド・ジョブについて提携しているグリッド・プロバイダのうちの1つを使用するだけである。グリッド・クライアントは、任意の必要なグリッド提携をRFPに指定することができる。代わって、このジョブが、クライアントが同意した提携に関する基準を満たすものである場合、RFP指定コントローラ708はグリッド提携要件をRFP850に自動的に記入することができ、クライアントはグリッド提携プロバイダにRFPを提示することに限定される可能性がある。
グリッド提携の一例では、グリッド・プロバイダAおよびBはクライアントのための単独ソースになることに同意することができ、その場合、10個またはそれ以上のジョブをグリッド・プロバイダAおよびBに提示すると、クライアントは割引価格方式の資格が与えられる。グリッド・クライアントのアプリケーションが10個またはそれ以上のジョブを作成する場合、これらの10個またはそれ以上のジョブに関するRFP提示は、グリッド・プロバイダAおよびBのみに限定される。
参照番号808に例示されている通り、グリッド・ジョブに関するジョブ・コスト限界をRFP850に指定することができる。たとえば、ユーザは、5000ドルというジョブ・コスト限界をRFP850に指定する。詳細には、ジョブ・コスト限界としては、金銭的コスト、公式、または複数の条件付きコストを含むことができる。
参照番号832に例示されている通り、ソフトウェア・プラットフォーム・クラス指定をRFP850に含めることができる。詳細には、グリッド・ジョブは、実行すべき特定のソフトウェアを必要とする場合もあれば、必要としない場合もある。グリッド・ジョブが実行すべき特定のソフトウェアを必要とする場合、参照番号832に例示されている通り、そのソフトウェア・プラットフォーム・クラスまたは特定のソフトウェア名がRFPに含まれる。一例では、それぞれのソフトウェア・プラットフォーム・クラスに標準的な参照名または番号を割り当てることができる。たとえば、特定のソフトウェア・プラットフォーム・クラスに参照番号「7」を割り当てることができる。
一例のグリッド・ジョブは数学問題を解決しようとしており、その場合、必要な計算機能を有するものであれば、どのソフトウェアでも使用することができ、したがって、ソフトウェア・プラットフォーム・クラス指定はまったく必要ではない。しかし、他の例のグリッド・ジョブは特定のソフトウェア環境用に作成され最適化された複雑な並列データベース照会であり、その場合、そのグリッド・ジョブに関するRFPは、ソフトウェア・プラットフォーム・クラス指定子に特定のソフトウェア環境を指定する。
参照番号830に例示されている通り、ハードウェア・プラットフォーム・クラス指定をRFP850に含めることができる。詳細には、グリッド・ジョブは、実行すべき特定のハードウェア・プラットフォームを必要とする場合もあれば、必要としない場合もある。グリッド・ジョブが実行すべき特定のハードウェア・プラットフォームを必要とする場合、参照番号830に例示されている通り、特定のハードウェア・プラットフォーム・クラスまたは特定のハードウェア・プラットフォーム名がRFPに含まれる。一例では、それぞれのハードウェア・プラットフォーム・クラスに標準的な参照名または番号を割り当てることができる。たとえば、特定のハードウェア・プラットフォーム・クラスに参照番号「5」を割り当てることができる。
一例のグリッド・ジョブは数学問題を解決しようとしており、その場合、計算機能を含むソフトウェアをサポートするものであれば、どのハードウェア・プラットフォームでも使用することができ、したがって、ハードウェア・プラットフォーム・クラス指定はまったく必要ではない。しかし、他の例のグリッド・ジョブは、特定のハードウェア環境用に作成され最適化された複雑な並列データベース照会である。たとえば、特定の問題報告解決方式「APAR1Y77222」が適用され、10個のIBM Power4プロセッサ・パーティション上で実行されるDB2EEE用に複雑なデータベース照会を最適化することができ、したがって、RFPは、「APAR1Y77222付きDB2EEE」というソフトウェア・プラットフォーム・クラスと、「10個のIBM Power4プロセッサ・パーティション」というハードウェア・プラットフォーム・クラス、あるいはこれらのソフトウェアおよびハードウェア・プラットフォーム・クラスを表す参照番号を指定することになるであろう。
参照番号816に例示されている通り、グリッド・ジョブに関するデータ・アクセスおよびトランスポート・メカニズムをRFP850に指定することができる。詳細には、多くのグリッド・ジョブは、グリッド・プロバイダがグリッド・ジョブを実行するために、そのグリッド・ジョブに付随しなければならないデータを必要とすることになる。一例のクライアント・システムは、ファイル転送プロトコル(FTP:file transfer protocol)へのグリッド・プロトコル拡張を含むGridFTPなどのツールを使用して実行すべきジョブとともにグリッド・プロバイダにデータを提示する。他の例のグリッド・プロバイダは、セキュア・ソケット層(SSL)などの安全なデータ通信チャネルを使用して、ネットワーク・アクセス可能記憶媒体にあるデータにアクセスする。いずれにしても、グリッド・クライアントによって選択されたアクセス方法に関連する追加のコストをグリッド・ベンダが計算できるように、RFPはデータ・アクセスまたはトランスポート・メカニズムを指定する。たとえば、参照番号816では、RFP850について指定されたデータ・トランスポートは「gridFTP」である。
参照番号836に例示されている通り、グリッド・ジョブに必要なデータに関するデータ・サイズをRFP850に指定することができる。たとえば、参照番号836に指定されたデータ・サイズは42000バイトのデータである。詳細には、データ・サイズはデータ・アクセスに必要な時間の量に影響を及ぼすので、データ・サイズはグリッド・プロバイダによる入札に影響を及ぼす。加えて、データの量が多くなるほど、グリッド・プロバイダがグリッド・ジョブを処理するときに、必要な記憶空間、処理能力、およびネットワーク帯域幅が増加する。
参照番号820に例示されている通り、グリッド・ジョブのためのハードウェア、ソフトウェア、およびデータ・トランスポートに関するセキュリティ要件をRFP850に指定することができる。詳細には、グリッド・ジョブによっては、信頼できる安全な環境で実行しなければならないものもある。この例で指定されているセキュリティ要件は、データ・トランスポートのための「安全なデータ・チャネル」である。描写されていない他の例では、グリッド・セキュリティ・インターフェース(GSI:Grid Security Interface)およびWebサービス・セキュリティ(WSセキュリティ)を含むがこれらに限定されないデータ保護ツールを指定することができ、トラステッド・コンピューティング・ベース(TCB:TrustedComputing Base)およびC2準拠(C2セキュリティは安全なシステムのための米国国立セキュリティ機関の基準である)を含むがこれらに限定されないプラットフォーム・セキュリティ要件を指定することができる。
参照番号814に例示されている通り、グリッド・ジョブの待ち時間要件をRFP850に指定することができる。一例では、待ち時間要件は、グリッド・ジョブの結果をユーザ・インターフェースに返すために許可される時間の量を指定する。たとえば、グリッド・ジョブは、ユーザ・インターフェースに対する1秒未満(sub-second)の応答を予想して、エンド・ユーザとの対話を必要とする可能性がある。
参照番号806に例示されている通り、グリッド・ジョブについてサービス・レベル契約をRFP850に指定することができる。詳細には、グリッド・ジョブに関するグリッド・クライアントのサービス品質(QOS:quality of service)予想はサービス・レベル契約(SLA)に文書化される。今後理解されるように、SLAは、あるグリッド・クライアントのすべてのグリッド・ジョブについて、または特定のタイプのあるグリッド・クライアントのすべてのグリッド・ジョブについて、一般的なサービス予想を指定することができる。一例では、グリッド・クライアントはすべてのサービス予想をSLA内に公式化する。他の実施形態では、グリッド・ベンダはサービス予想のうちの一部または全部をSLA内に指定することもできる。さらに、1つのグリッド・プロバイダまたはグリッド・プロバイダ・グループは、特定のグリッド・クライアントまたはグリッド・クライアント・グループによって提示されたグリッド・ジョブに関するSLAに同意することもできる。この例では、RFP850は、参照番号806に示されている通り、指定のSLAを含んでいない。しかし、代替諸実施形態では、SLAがRFP850に添付されるかあるいは文書番号またはその他の書式名で参照される場合もある。
参照番号838に例示されている通り、あるジョブに関する見積もりランタイムをRFP850に指定することができる。詳細には、グリッド・クライアントは、参照番号838に示されている通り、RFP850に指定された同じジョブまたは同様のジョブの前の実行に基づいて、見積もりジョブ・ランタイムの見積もりを立てている可能性がある。グリッド・クライアントがジョブ・ランタイムの見積もりを立てていない場合でも、グリッド・ベンダがグリッド・ジョブに関する作業負荷予想をより正確に見積もることができるように、予想ジョブ・ランタイムを指定することができる。
参照番号834に例示されている通り、グリッド・ジョブに関するセルオフ・ポリシーをRFP850に指定することができる。詳細には、「セルオフ」ポリシーは、グリッド・ジョブを勝利グリッド・ベンダが他のグリッド・ベンダに売却できるかどうかを示す。この例では、参照番号834に描写されている通り、「セルオフ」は許可されていない。
参照番号840に例示されている通り、RFPに応答するためのRFP応答時間をRFP850に指定することができる。詳細には、グリッド・クライアントは、グリッド・プロバイダがRFPに入札応答を返すための期限を指定することができる。この期限は、交渉および再提示のための追加時間を含む場合もあれば、より差し迫ったジョブに関する迅速なスポット市場価格を必要とする場合もある。この例では、参照番号840に描写されている通り、RFP応答時間は2時間以内である。応答時間は、特定の時間制限、公式、または条件付き時間制限で指定できることが理解されるであろう。
参照番号824に例示されている通り、特定のグリッド・ジョブに関するジョブ優先順位をRFP850に指定することができる。詳細には、複数のジョブを同時に提示することをグリッド・クライアントが計画している場合、ユーザは各グリッド・ジョブについてジョブ優先順位を指定することができる。ジョブ優先順位は、各グリッド・ジョブの優先順位を示すことになるであろう。グリッド・リソースが不十分であるか、あるいはジョブ優先順位がジョブ・パフォーマンスに影響するようなその他の条件が発生した場合に、グリッド・ジョブを実行するための順序を決定するために、グリッド・プロバイダは、参照番号824に示されている通り、「1」というジョブ優先順位などのジョブ優先順位標識を使用することができる。
参照番号842に例示されている通り、RFP850は、ここで「縮図A」と呼ばれているサンプル・ジョブを含むことができる。サンプル・ジョブを含むRFP850を受信したグリッド・プロバイダは、サンプル・ジョブに関する実際の作業負荷要件、実際のコスト、ならびにグリッド・ジョブを処理する際のグリッド環境の実際のパフォーマンスを決定するために、グリッド環境でグリッド・ジョブを実行し、結果を検索することを決定することができる。一例では、サンプル・ジョブが表す合計のうちの見積もりパーセンテージに基づいて、グリッド・プロバイダが合計作業負荷、コスト、およびパフォーマンスを見積もることができるように、サンプル・ジョブは、RFP850によって記載されたグリッド・ジョブのサイズと比較してサンプル・ジョブのサイズも示すことができる。
次に図9に関連して説明すると、本発明の方法、システム、およびプログラムによる入札コントローラの一実施形態のブロック図が描写されている。描写されている通り、入札コントローラ412はジョブ要求パーサ910を含む。RFPパーサ910は、RFPの形でそれぞれの仮想ジョブ要求を受信し、処理を実行できるまでそのRFPをキューに入れて保持することができる。加えて、RFPパーサ910は、ユーザによって仮想ジョブ要求に指定された値を、作業負荷計算に使用するために指定された単位に変換することができる。
入札コントローラ412は、グリッド・プロバイダのグリッド環境内で使用可能な各リソースのリストを含むリソース・データベース912にアクセスすることができる。詳細には、各リソース・リストごとに、リソース・データベース912は、リソースのタイプ、どのクライアントがそのリソースにアクセスできるか、リソース・パフォーマンス指定、およびリソース・プラットフォーム特性をさらに指定することができる。加えて、リソース・データベース912は、グリッド環境の外部からグリッド・プロバイダのグリッド環境にとって使用可能なリソースのリストを含むこともできる。
使用可能なリソース・セレクタ904は、使用可能なリソース・データベース912をフィルタリングして、RFPによって要求された通り、どのリソースが使用可能であるかならびにRFPによって要求された通り、十分なリソースが使用可能であるかどうかを判断することができる。代わって、リソース・セレクタ904は、グリッド・プロバイダに関する使用可能リソースを管理する管理モジュールに照会することができる。
詳細には、リソース・セレクタ904は、RFPに指定されたグリッド・ハードウェア・プラットフォームに必要なリソースが使用可能であるかどうかを判断する。指定のグリッド・ハードウェア・プラットフォームが使用可能ではない場合、リソース・セレクタ904は、RFPがセルオフを許可するかどうかを判断する。RFPがセルオフを許可する場合、リソース・セレクタ904は、他のグリッド・ベンダからのハードウェア・プラットフォームにアクセスするためのグリッド・ジョブのセルオフにより、グリッド・ベンダがその他のRFP基準を満たすことができるかどうかを判断し続ける。RFPがセルオフを許可しない場合、リソース・セレクタ904はそのRFPについて入札なし(no bid)を返すことができる。
続けて、リソース・セレクタ904は、RFPに指定されたグリッド・ソフトウェア・プラットフォームに必要なリソースが使用可能であるかどうかを判断する。ソフトウェア・プラットフォームが使用可能である場合、リソース・セレクタ904は、グリッド・ベンダがその他のRFP基準を満たすことができるかどうかを判断し続ける。そうではなく、RFPに指定されたグリッド・ソフトウェア・プラットフォームが使用可能ではない場合、リソース・セレクタ904は、その他のグリッド環境またはオンデマンド・ソフトウェア・リソース・プロバイダが使用可能であるかどうかをチェックして、RFPによって許可される場合にそのソフトウェア・プラットフォームを提供するか、またはそのRFPについて入札なしを返すことができる。
また、リソース・セレクタ904は、必要なセキュリティを備えたデータ・サイズについて必要なデータ・アクセスまたはトランスポート・メカニズムに使用可能な十分なリソースが存在するかどうかも判断する。必要な帯域幅について十分なリソースが存在しない場合、リソース・セレクタ904は、RFPによって許可される場合に必要な帯域幅があるかどうか他のグリッドをチェックするか、または入札なしを返すことができる。
必要なハードウェア・プラットフォーム、ソフトウェア・プラットフォーム、およびデータ・アクセスのための使用可能リソースに基づいて、次に作業負荷カルキュレータは入札要求に関する負荷率を計算する。合計作業負荷カルキュレータ908は、仮想ジョブ要求によって指定されたジョブに必要な合計作業負荷を計算することができる。詳細には、合計作業負荷カルキュレータ908は、あるRFPに関する合計リソース要件および時間要件を決定することができる。図10に関連してさらに説明するように、合計リソース要件は、たとえば、ジョブの完了に必要なハードウェア、ソフトウェア、またはネットワーク・リソースの総量を指定することができる。合計時間要件は、たとえば、グリッド環境内でジョブを実行するために使用可能な時間、ジョブに必要なデータにアクセスするために使用可能な時間、およびグリッド環境からクライアント・システムにジョブの結果を返すために使用可能な時間を指定することができる。加えて、合計作業負荷カルキュレータ908は、仮想ジョブ要求に指定された追加の値から合計作業負荷を記述するその他のパラメータを決定することができる。
キャパシティ・カルキュレータ902は、仮想ジョブ要求に必要な合計作業負荷と仮想ジョブ要求に使用可能なリソースとを比較し、仮想ジョブ要求によって指定されたジョブを処理するためのグリッド環境のキャパシティを決定する。詳細には、キャパシティ・カルキュレータ902は、グリッド環境がリソースおよび待ち時間要件を満たすことができるかどうかを判断することができる。グリッド環境内で仮想ジョブ要求のリソースおよび待ち時間要件を満たすことができる場合、キャパシティ・カルキュレータ902は、作業負荷要件に関するコストを決定するためにコスト・カルキュレータが使用できる合計作業負荷係数を決定する。また、作業負荷係数は、ジョブに使用可能な見積もりパフォーマンスを示すこともできる。
コスト・カルキュレータ914は、RFPに指定されたコスト限界によって制限されるように、作業負荷係数に基づいて合計コストを計算する。加えて、合計コストは、RFPに指定された特殊価格設定の影響を受け、オフピーク時間の使用に使用可能であり、あるいはグリッド提携の一部として合意される。一例では、米国特許出願第11/031489号にはコスト・カルキュレータ914が記載されている。
入札フォーマライザ906は、作業負荷係数、コストを検索し、RFPとグリッド・プロバイダの可用性に関する追加の比較を実行して、グリッド・クライアントへの入札応答を公式化する。場合によっては、グリッド環境が仮想ジョブ要求の特定の要件を満たすことができないが、ある選択範囲の仮想ジョブ要求要件を満たすことができると思われる場合、使用可能な見積もりパフォーマンスは、仮想ジョブ要求要件からの偏差を示す可能性がある。たとえば、RFPがCUOD資格を許可しないが、CUODリソースの使用により、グリッド・ベンダがグリッド・ジョブに関するその他のパフォーマンス要件を満たすことができると思われる場合、入札応答は、CUOD要件に対する例外を含むことができる。他の例では、RFPがコスト計算によって満たされない価格制限を指定する場合、入札応答は価格制限に対する例外を含むことができる。
加えて、入札コントローラ412は、RFPへのサンプル添付として受信したグリッド縮図のパフォーマンスを制御するサンプル・コントローラ920を含むことができる。図6に関連して前に説明した通り、クライアントがグリッド・プロバイダの相対コストを比較できるように、グリッド・プロバイダは、グリッド縮図を処理し、結果をクライアントに返すことができる。他の利点によれば、サンプル・コントローラ920は、図5に関連して説明した通り、RFPとともに受信したサンプル・グリッド縮図を処理し、実際の作業負荷使用法をリソース・セレクタ904に、実際の作業負荷を作業負荷カルキュレータ908およびキャパシティ・カルキュレータ902に、実際のコストをコスト・カルキュレータ914に転送する。全グリッド・ジョブの特定のパーセンテージを表すグリッド・ジョブのサンプルの処理による実際のリソース使用量に基づいて、リソース・セレクタ904は全グリッド・ジョブに関する使用可能リソースを選択し、作業負荷カルキュレータ908およびキャパシティ・カルキュレータ902は全グリッド・ジョブに関する負荷率を計算し、コスト・カルキュレータ914は、グリッド・ジョブのサンプルについて測定された実際のメトリックを使用して、全グリッド・ジョブに関する合計コストを計算する。
次に図10に関連して説明すると、本発明の方法、システム、およびプログラムにより仮想ジョブ要求に基づいてリソース・セレクタおよび作業負荷カルキュレータ内で実行される計算の例示的な一例が描写されている。描写されている通り、受信RFP1000は、仮想ジョブ要求に関連するグリッド・ジョブを完了するためのパフォーマンス要件を指定するために指定された複数の基準を含む。参照番号1030に示されているテーブルは、受信RFP1000内の値に基づいてリソース・セレクタ904および作業負荷カルキュレータ908が実行可能な計算を記述する複数の項目を含む。以下の説明では作業負荷カルキュレータ908によって実行される諸ステップを広く参照するが、作業負荷カルキュレータ内のサブカルキュレータは記載されている計算および評価のうちの1つまたは複数を実際に実行できることは留意すべき重要なことである。さらに、受信RFP1000内に描写されている値は、要求されたジョブの実行に関連する作業負荷およびコストを入札コントローラ412が自動的に決定できるようにするために仮想ジョブ要求内に含めることができるタイプの値の例証となることが理解されるであろう。加えて、参照番号1030に示されているテーブル内に描写されている諸機能は、リソース・セレクタ904および作業負荷カルキュレータ908によって実行可能なタイプの機能を示す例示的な例にすぎないことが理解されるであろう。
参照番号1002に例示されている通り、たとえば、ジョブの完了のための合計時間またはそれまでにジョブを完了しなければならない特定の時刻を示す「ジョブ時間制限」を指定することができる。作業負荷カルキュレータは、「ジョブ時間制限」を使用して、グリッド環境が「ジョブ時間制限」に指定された時間内にジョブを実行するために必要なキャパシティを、必要なリソースの量およびタイプの形で備えているかどうかを判断することができる。詳細には、テーブル1030に示されている通り、作業負荷カルキュレータはまずグリッド環境内でジョブを実行するために必要な合計時間(TIMEtotal)を見積もり、次に参照番号1002に指定された「ジョブ時間制限」とその見積もり合計時間とを比較することができる。グリッド環境内でジョブを実行するために必要な合計時間を見積もる際に、まず、必要な合計作業負荷(WORKLOADtotal)を計算することができる。次に、ジョブを実行するために必要な合計時間を計算するために、必要な合計作業負荷を、作業負荷を処理するために使用可能な合計リソース(RESOURCEtotal)で割ることができる。ジョブの実行のために必要な合計時間が「ジョブ時間制限」より長いかまたはそれに等しい場合、「ジョブ時間制限」内にジョブを処理できないことを示すエラーが返される。キャパシティ・オンデマンド・リソースを使用できるかどうかまたはグリッド環境内のリソース制限が課されているかどうかなど、受信RFP1000内のその他の設定によって使用可能な合計リソースが拘束される可能性があることは留意すべき重要なことである。
参照番号1004に描写されている通り、ジョブを実行するためにグリッド環境にとって使用可能なCUODリソースにアクセスできるかどうかを示す「キャパシティ・オンデマンド(CUOD)資格」を指定することができる。さらに、CUOD資格は、ジョブを実行する資格のあるCUODリソースの制限およびタイプを指定することができる。現行グリッド・キャパシティがジョブを実行するために十分ではないと作業負荷カルキュレータが判断した場合、仮想ジョブ要求に使用可能なリソースを決定する際に、作業負荷カルキュレータは「CUOD資格」をチェックすることができる。一例では、参照番号1032に描写されている通り、ジョブを実行するためにより多くのリソースが必要であると作業負荷カルキュレータが判断した場合、作業負荷カルキュレータは、CUOD資格が「YES」に設定されているかどうかを確認し、そうである場合、ジョブを実行するための合計使用可能リソース(RESOURCEtotal)を計算するためにグリッド・リソース(RESOURCEbase)に使用可能CUODリソース(RESOURCEcuod)を追加する。
参照番号1006に例示されている通り、「リソース制限」は、ジョブを実行するために使用できる使用可能リソースに制限があるかどうかを指定することができる。作業負荷カルキュレータは、ジョブを処理するために使用可能な合計リソースを設定するために「リソース制限」値をチェックすることができる。詳細には、参照番号1034に描写されている通り、「リソース制限」が設定されている場合、使用可能な合計リソース(RESOURCEtotal)は「リソース制限」に設定される。
参照番号1008に例示されている通り、ジョブを完了するための追加の要件を示す「ジョブ完了要件」値を指定することができる。たとえば、ジョブがデータベースに関するものであり、ジョブの完了がクライアント・システムに転送された新しいデータマート(data mart)の形の出力を必要とする場合、「ジョブ完了要件」は、データマートをクライアント・システムに返すために必要な時間を指定することができる。したがって、参照番号1036に例示されている通り、作業負荷カルキュレータは、グリッド環境内でジョブそのものを完了するために計算された時間(TIMEjob)に加えて、ジョブを完了するために必要な合計時間(TIMEtotal)を指定するために、追加の時間要件、記憶要件、処理要件、およびネットワーク帯域幅要件からなる「ジョブ完了要件」(TIMEcomplete)を使用することができる。さらに、作業負荷カルキュレータは、ジョブの完了に必要な合計時間が時間制限より長い場合、エラーを返すことができる。
参照番号1010に描写されている通り、「ソフトウェア・プラットフォーム・クラス」は、ジョブのソフトウェア・プラットフォーム・クラスを指定することができる。一例では、定義された番号によりソフトウェア・プラットフォーム・クラスを指定することができる。たとえば、対話式ソフトウェア・クラスをSW2として指定することができ、Webホスティング・アプリケーションをSW3として指定することができる。一般に、作業負荷カルキュレータは、指定のソフトウェア・プラットフォーム・クラスを使用して、ジョブの見込みアプリケーション特性を決定することができる。より具体的には、参照番号1040に描写されている通り、リソース・セレクタおよび作業負荷カルキュレータは、定義されたソフトウェア・プラットフォーム・クラスを使用して、グリッド環境がそのソフトウェア・クラスをサポートするためのハードウェアを有するかどうかを判断することができる。詳細には、様々なハードウェア・プラットフォームはソフトウェア・プラットフォーム・タイプへの適性が様々になるので、ジョブがバッチ式であるか対話式であるかを作業負荷カルキュレータが判断することは重要なことである。たとえば、zSeriesプロセッサは対話式ジョブの場合により効率的である可能性があり、pSeriesプロセッサはWebホスティング・アプリケーションの場合により効率的である可能性がある。(zSeriesおよびpSeriesは、インターナショナル・ビジネス・マシーンズ社の登録商標である。)
参照番号1012に例示されている通り、「ハードウェア・プラットフォーム・クラス」は、ジョブのハードウェア・プラットフォーム・クラスを指定することができる。一例では、定義された番号によりハードウェア・プラットフォーム・クラスを指定することができる。一般に、作業負荷カルキュレータは、ハードウェア・プラットフォーム・クラス値を使用して、どのグリッド・ハードウェアがジョブに使用可能であるかならびにジョブに必要なハードウェア・タイプのスループット特性を決定することができる。より具体的には、参照番号1042に描写されている通り、リソース・セレクタおよび作業負荷カルキュレータは、定義されたハードウェア・プラットフォーム・クラスを使用して、好ましいハードウェア・プラットフォーム・クラスがグリッド環境で使用可能であるかどうかを判断することができる。ハードウェア・プラットフォーム・クラスが参照番号1012に指定されていない場合、作業負荷計算モジュールは、その他の指定のジョブ特性に基づいて最も効率的なハードウェア・クラスを選択しようと試みる可能性がある。たとえば、データベース・アプリケーションがジョブについて実行され、そのグリッドがデータベース・アプリケーションを実行する事前構成pSeries650ノードを含む場合、pSeries650ノードは好ましいハードウェアになるであろう。
参照番号1014に描写されている通り、「データ・アクセスおよびトランスポート・メカニズム」値は、ジョブに必要なデータの移動またはそのデータへのアクセスを指定することができる。リソース・セレクタおよび作業負荷カルキュレータは、データ・サイズとともに「データ・アクセスおよびトランスポート・メカニズム」値を使用して、必要なデータの移動またはデータへのアクセスに関連する時間およびリソースを決定することができる。たとえば、参照番号1044に描写されている通り、RFPは、グリッド・マネージャがGridFTPアプリケーションを使用してクライアントからデータを獲得することを「データ・アクセスおよびトランスポート・メカニズム」に指定することができる。次にリソース・セレクタおよび作業負荷カルキュレータは、データ・サイズおよびハードウェア・スループットに併せてアプリケーション転送速度を考慮に入れて、GridFTPアプリケーションを使用してクライアントからデータを獲得するために必要な時間およびリソースを評価する。
参照番号1016に例示されている通り、ジョブに関する「データ・サイズ」を指定することができる。リソース・セレクタおよび作業負荷カルキュレータは、参照番号1044に描写されている例で説明した通り、参照番号1014に指定されたデータ・アクセスに必要なリソースおよび時間を計算する際にデータ・サイズを使用することができる。一例では、「データ・サイズ」についていかなる値も指定されていない場合、作業負荷カルキュレータは、ジョブの実行のためにいかなるデータ転送も必要ではないと想定することができる。
参照番号1018に描写されている通り、ジョブに関するパフォーマンスおよび待ち時間要件を示す「パフォーマンスおよび待ち時間要件」を指定することができる。参照番号1048に描写されている通り、作業負荷カルキュレータは、他の値とともに「パフォーマンスおよび待ち時間要件」を使用して、ジョブに必要なリソース・コミットメントを決定することができる。たとえば、特定のパフォーマンス要件を持たないジョブは、量および相対パワーの点で、1秒未満のユーザへの応答を必要とする対話式ジョブより、必要とするリソースが少ない可能性がある。他の例では、参照番号618に待ち時間値が指定されている場合、グリッド環境内で使用可能なハードウェア・プラットフォームの指定とその待ち時間値が比較される。より具体的には、スタンダード・パフォーマンス・エヴァリュエーション・コーポレーション整数(SPECint:Standard Performance Evaluation Corporation Integer)またはSPEC浮動小数点(SPECfp)などの業界標準とその待ち時間を比較することができ、あるいはハードウェア・プラットフォーム・クラスまたはジョブ完了限界などのその他の結合RFP提示データに基づいて計算を行うことができるであろう。
加えて、参照番号1020に描写されている通り、リソース・セレクタおよび作業負荷カルキュレータが、参照番号1050に描写されている通り、ジョブに関する要件を満たすためにグリッド環境外のリソースの使用を考慮できるかどうかを示すために、「グリッド・セルオフ」標識を指定することができる。一例では、単一のグリッド・リソース・ベンダがデータ・セキュリティおよびジョブ結果の責任を負うことをクライアントが希望する場合、そのクライアントはグリッド・セルオフを使用可能にしない可能性もある。
次に図11に関連して説明すると、このブロック図は、RFPに応答してグリッド・プロバイダによって生成されたRFP応答を例示している。例示されている通り、自動RFP応答1100は、RFPによって記述されたグリッド・ジョブを処理するためのグリッド・プロバイダの能力および契約の表示を含む。詳細には、参照番号1102に例示されている通り、RFP応答1100は応答側グリッド・プロバイダの名前を含み、この例では応答側は「IBMグリッド」である。加えて、参照番号1104に例示されている通り、RFP応答1100は、RFPに指定されているジョブ番号を含む。次に、参照番号1106に描写されている通り、RFP応答1100は、4.6時間という見積もりランタイムを含み、参照番号1108には4600ドルという見積もりジョブ・コストを含む。さらに、グリッド・プロバイダは、参照番号1110に例示されている通り、RFP応答1100に関する有効期限日時を指定することができる。
加えて、前に説明した通り、RFP応答はRFP基準の例外を含むことができる。この例では、参照番号1112に例示されている通り、RFP応答1100は、待ち時間限界(LATENCYLIMIT)より長い実際の待ち時間(LATANCYACTUAL)という例外を含む。さらに、RFP応答1100は、参照番号1114に例示されている通り、グリッド・クライアントが再交渉プロセス中にRFPを調整するための追加の交渉ポイントおよび勧告を示すコメントを含む。
1つの利点によれば、入札フォーマライザ906は、グリッド・プロバイダがRFPに応答するために必要な最小限の情報のみを含むRFP応答1100などの入札応答を公式化することができる。詳細には、RFPの各基準に対する応答を含む必要性を入札フォーマライザ906が回避することは有利なことである。さらに、詳細には、グリッド・プロバイダから要求されたデータ・フローを削減し、グリッド・クライアントへのデータ・フローを最小限にするために、入札フォーマライザ906がRFP応答1100内の情報を最小限にすることは有利なことである。応答最小化の一例では、セルオフが許可されないことをRFPが指定する場合、RFP応答は、グリッド・プロバイダがグリッド・ジョブをセルオフしないことを示す必要はないが、RFP応答は、グリッド・ジョブに関するパフォーマンスを高めるためまたはコストを減らすための1つの方法として、セルオフを必要とする例外またはセルオフ資格を使用可能にするコメント提案を含むことができる。
ユーザがRFPとともにグリッド・ジョブのサンプルを含めるときに、応答内の価格およびパフォーマンスを計算するためにグリッド・プロバイダが実際にそのサンプルを実行したかどうかあるいは価格およびパフォーマンスが見積もりに基づくものであるかどうかをRFPへの応答が示す必要がある可能性があることは、留意すべき重要なことである。加えて、ユーザがグリッド・ジョブのサンプルを含めるときに、グリッド・プロバイダがサンプル結果を含む応答を返す可能性があることは、留意すべき重要なことである。
次に図12を参照すると、グリッド環境でRFP要求に対する応答を管理するためのプロセスおよびプログラムの高レベル論理流れ図が例示されている。描写されている通り、グリッド・プロバイダ用の入札コントローラによって実行されるプロセスはブロック1200から始まり、その後、ブロック1202に移行する。ブロック1202は、RFPが受信されたかどうかに関する入札コントローラによる判断を描写している。RFPが受信されていない場合、プロセスはブロック1202を繰り返す。仮想RFPが受信された場合、プロセスはブロック1204に移行する。
ブロック1204は、そのジョブが前に提示されたジョブの繰り返しであるかどうかに関する入札コントローラによる判断を描写している。そのジョブが前に提示されたジョブの繰り返しである場合、プロセスはブロック1206に移行する。ブロック1206は、ジョブ作業負荷について前に決定された価格に基づいてジョブ作業負荷の現行価格を返すことを描写しており、プロセスは終了する。代わって、ブロック1204で、そのジョブが前に提示されたジョブの繰り返しではない場合、プロセスはブロック1232に移行する。
ブロック1232は、縮図などのジョブ・サンプルがRFPとともに含まれているかどうかの判断を描写している。ジョブ・サンプルが含まれている場合、プロセスはブロック1234に移行する。ブロック1234は、ジョブ・サンプルを実行するためにグリッド・スケジューラにジョブ・サンプルを渡すことを描写している。次に、ブロック1236は、ジョブ・サンプルに関する計量済み結果が使用可能であるかどうかの判断を描写している。ジョブ・サンプルに関する計量済み結果が使用可能になると、プロセスはブロック1208に移行する。詳細には、計量済み結果は、グリッド・プロバイダに関するグリッド環境内のジョブ・サンプルの実際の作業負荷、実際のコスト、および実際のパフォーマンスを含むことができる。詳細には、サンプルが全グリッド・ジョブのうちのあるパーセンテージを表す場合、計量済み結果は、グリッド・ジョブのサンプルを処理した実際の計量済み結果に基づいてコストおよびパフォーマンスを計算するために、プロセスの残りのステップ中にアクセスされる。
ブロック1208は、必要なグリッド・ハードウェア・プラットフォームが使用可能であるかどうかに関する入札コントローラによる判断を描写している。必要なグリッド・ハードウェア・プラットフォームが使用可能である場合、プロセスはブロック1214に移行する。そうではなく、必要なグリッド・ハードウェア・プラットフォームが使用可能ではない場合、プロセスはブロック1210に移行する。ブロック1210は、セルオフが許可されているかどうかに関する入札コントローラによる判断を描写している。セルオフが許可されていない場合、プロセスはブロック1212に移行する。ブロック1212は、入札コントローラが入札なしを返すことを描写しており、プロセスは終了する。詳細には、入札なしは、グリッド・プロバイダ、ジョブ番号、および非許容標識(non-acceptable indicator)を識別することができる。代わって、ブロック1210でセルオフが許可されている場合、プロセスはブロック1214に移行する。
ブロック1214は、必要なグリッド・ソフトウェア・プラットフォームが使用可能であるかどうかに関する入札コントローラによる判断を描写している。必要なソフトウェア・プラットフォームが使用可能ではない場合、プロセスはブロック1216に移行する。ブロック1216は、入札コントローラがソフトウェア・プラットフォームの可用性について残りのグリッド・プロバイダをチェックするかまたは入札なしを返すことを描写しており、プロセスは終了する。一例では、入札コントローラは、RFPがセルオフを許可する場合のみ、ソフトウェア・プラットフォームの可用性について残りのグリッド・プロバイダをチェックすることができる。そうではなく、ブロック1214で必要なグリッド・ソフトウェア・プラットフォームが使用可能である場合、プロセスはブロック1218に移行する。
ブロック1218は、指定のデータ・サイズについて必要な記憶帯域幅が使用可能であるかどうかに関する入札コントローラによる判断を描写している。必要な帯域幅が使用可能ではない場合、プロセスはブロック1216に移行する。必要な帯域幅が使用可能である場合、プロセスはブロック1220に移行する。
ブロック1220は、入札コントローラがRFP作業負荷制約を作業負荷計算モジュールに送信することを描写している。一例では、RFP作業負荷制約としては、CUOD資格、ジョブ時間制限、ジョブ・リソース制限、必要なパフォーマンス、必要な待ち時間、データ・サイズ、および必要なデータ・トランスポートを含む。次に、ブロック1222は、作業負荷計算モジュールから負荷率が受信されたかどうかに関する入札コントローラによる判断を描写している。負荷率がまだ受信されていない場合、プロセスはブロック1222を繰り返す。負荷率が受信されると、プロセスはブロック1224に移行する。詳細には、負荷率は、リソース使用量を見積もるためにグリッド・プロバイダが使用するメトリック単位に応じて、あるジョブに必要なリソースの量、グリッド・リソースが使用される期間、グリッド・リソースによって実行するために必要とされる計算のタイプ、ならびに、あるグリッド・ジョブがグリッド・リソースについて有することになる負荷のその他の標識を含むことができる。詳細には、グリッド・プロバイダは、1時間あたりの使用量、グリッド・ジョブ専用のリソース、データ・アクセス、およびグリッド・ジョブのその他の要件を考慮に入れた、負荷率を計算するためのカスタム公式を定義することができる。
ブロック1224は、入札コントローラがRFP価格設定制約および負荷率をコスト計算モジュールに送信することを描写している。一例では、RFP価格設定制約は、コスト限界、特殊価格設定、およびグリッド提携を含む。ブロック1226は、コスト計算が受信されたかどうかに関する入札コントローラによる判断を描写している。コスト計算がまだ受信されていない場合、プロセスはブロック1226を繰り返す。コスト計算が受信されている場合、プロセスはブロック1228に移行する。詳細には、コスト計算モジュールは、グリッド提携またはバルク・グリッド・ジョブ提示に関する特殊価格設定によって調整された通り、負荷率に関するコストを計算する。詳細には、グリッド・プロバイダは、コスト計算モジュールが、時刻、グリッド・ジョブのタイプ、グリッド・クライアントのアイデンティティ、およびコストに影響を及ぼすその他の要因に基づいて、特定の負荷率に関するコストを調整できるようにするコスト・メトリックを維持することができる。
ブロック1228は、コスト計算がRFPに指定されたコスト限界以下であるかどうかに関する入札コントローラによる判断を描写している。コスト計算が限界以下ではない場合、プロセスはブロック1230に移行する。ブロック1230は、入札コントローラがRFPがセルオフを許可する場合に他のグリッドをチェックするかまたは入札なしを返すことを描写しており、プロセスは終了する。代わって、ブロック1228でコスト計算が限界以下である場合、プロセスはブロック1232に移行する。
ブロック1232は、コスト計算が見積もり以下であるかどうかに関する入札コントローラによる判断を描写している。コスト計算が見積もり以下ではない場合、プロセスはブロック1234に移行する。ブロック1234は、入札コントローラが価格によってRFPに応答することを描写しており、プロセスは終了する。代わって、ブロック1232でコスト計算が見積もり以下である場合、プロセスはブロック1236に移行する。ブロック1236は、入札コントローラが価格と、コスト限界を達成するためのRFPの調整を提案するコメントまたはグリッド・プロバイダがコスト限界を満たすことができるようにするRFPの例外によってRFPに応答することを描写しており、プロセスは終了する。
次に図13を参照すると、この高レベル論理流れ図は、本発明の方法、システム、およびプログラムにより、グリッド・プロバイダへのRFPの提示を制御し、入札応答を処理するためのプロセスおよびプログラムを描写している。例示されている通り、グリッド・クライアント・エージェントによって実行されるプロセスはブロック1300から始まり、その後、ブロック1301に移行する。ブロック1301は、グリッド・ジョブRFPを完了し保管することを描写しており、プロセスはブロック1302に移行する。詳細には、前に説明した通り、RFP指定コントローラは、ジョブがグリッド提示に関連するコストに関する資格を付与したことに応答して、ユーザがRFPを完了し保管するよう誘発することができる。
次に、ブロック1302は、ローカル実行のためにジョブをスケジューリングすることを描写している。その後、ブロック1304は、外部グリッド・プロバイダにジョブを提示すべきかどうかの判断を例示している。外部グリッド・プロバイダにジョブを提示すべきではないという判断が行われた場合、プロセスはブロック1306に移行する。ブロック1306は、ローカル・グリッドまたはリソース・セット内でジョブを実行することを描写しており、プロセスは終了する。
ブロック1304に戻り、外部グリッド・プロバイダにジョブを提示すべきであるという判断が行われた場合、プロセスはブロック1308に移行する。ブロック1308は、ジョブがグリッド提携に関連しているかどうかの判断を例示している。ジョブがグリッド提携に関連している場合、プロセスはブロック1312に移行する。ブロック1312は、グリッド提携パートナにRFPを提示することを描写しており、プロセスはブロック1314に移行する。そうではなく、ブロック1308でジョブがグリッド提携に関連していない場合、プロセスはブロック1310に移行する。ブロック1310は、RFPに指定されたかまたはグリッド・プロバイダ・レーティングに基づいて選択された選択済みグリッド・ベンダにRFPを提示することを描写しており、プロセスはブロック1314に移行する。
ブロック1314は、RFP応答が期限前に受信されているかどうかの判断を描写している。RFP応答が期限前に受信されていない場合、プロセスはブロック1316に移行する。ブロック1316は、受信した応答の欠如について管理者に警告することを例示しており、プロセスは終了する。そうではなく、ブロック1314でRFP応答が期限前に受信されている場合、プロセスはブロック1318に移行する。
ブロック1318は、提示基準が応答で満足されているかどうかの判断を描写している。提示基準が応答で満足されていない場合、プロセスはブロック1316に移行し、提示基準と応答との不一致について管理者に警告し、プロセスは終了する。代わって、RFP例外マネージャは、応答に含まれる例外またはコメントにより、RFPについてグリッド・プロバイダと再交渉しようと試みることもできる。そうではなく、ブロック1318で提示基準が応答で満足されている場合、プロセスはブロック1320に移行する。
ブロック1320は、提示基準が満足されている複数の応答が使用可能であるかどうかの判断を描写している。複数の応答が使用可能ではない場合、プロセスはブロック1322に移行する。ブロック1322は、提示基準が満足されている応答とともに単一のグリッド・プロバイダにジョブを提示することを描写しており、プロセスは終了する。複数の応答が使用可能である場合、プロセスはブロック1324に移行する。ブロック1324は、図14に関連して説明するように、分析のために複数の使用可能な応答をグリッド・アナライザに提示することを描写しており、プロセスは終了する。
次に図14に関連して説明すると、入札を分析するためのプロセスおよびプログラムの高レベル論理流れ図が描写されている。描写されている通り、グリッド・クライアント用の応答アナライザによって実行されるプロセスはブロック1400から始まり、その後、ブロック1402に移行する。ブロック1402は、ジョブXについて複数のグリッドRFP応答が受信されているかどうかの判断を描写している。複数の応答が受信されていない場合、プロセスはブロック1402を繰り返す。複数の応答が受信されている場合、プロセスはブロック1404に移行する。詳細には、一例では、図14によって記載されたプロセスは、提示基準を満たす複数のRFP応答が受信されていると図13のプロセスが判断したことによって呼び出される。
ブロック1404は、応答に例外が存在するかどうかの判断を描写している。例外が存在しない場合、プロセスはブロック1412に移行する。例外が存在する場合、プロセスはブロック1406に移行する。ブロック1406は、RFP例外マネージャに例外を提示することを描写している。次に、ブロック1408は、例外が解決されているかどうかの判断を描写している。例外が解決されている場合、プロセスはブロック1412に移行する。例外が解決されていない場合、プロセスはブロック1413に移行する。ブロック1413は、管理者に警告し、例外を含むRFP応答の資格を剥奪することを描写しており、プロセスは終了する。
ブロック1412は、応答価格設定を分析することを描写している。次に、ブロック1414は、低コスト入札より25%以上高いすべてのRFP応答を除外することを描写しており、プロセスはブロック1416に移行する。25%というパーセンテージおよび適格応答の数を削減するために使用されるその他のパーセンテージは例にすぎず、グリッド・クライアントごとに様々になる可能性があることが理解されるであろう。
ブロック1416は、複数のRFP応答が残っているかどうかの判断を描写している。複数の応答が残っていない場合、プロセスはブロック1420に移行する。ブロック1420は、好ましいベンダを勝利応答として処理することを描写しており、プロセスはブロック1432に移行する。ブロック1432は、勝利応答を有するグリッド・プロバイダにジョブを提示することを描写しており、プロセスは終了する。そうではなく、ブロック1416で複数のRFP応答が残っている場合、プロセスはブロック1418に移行する。ブロック1418は、好ましいベンダが残っているかどうかの判断を描写している。好ましいベンダが残っている場合、プロセスはブロック1420に移行する。好ましいベンダが残っていない場合、プロセスはブロック1422に移行する。
ブロック1422は、低コスト入札から14%以内の応答を選択することを描写している。次に、ブロック1424は、複数の応答が残っているかどうかの判断を描写している。複数の応答が残っていない場合、プロセスはブロック1426に移行する。ブロック1426は、低コスト応答を勝利入札として処理することを描写しており、プロセスはブロック1432に移行する。そうではなく、ブロック1424で複数の応答が残っている場合、プロセスはブロック1428に移行する。ブロック1428は見積もりジョブ・ランタイムを分析することを描写している。次に、ブロック1430は、最高速ランタイム応答を勝利入札として処理することを描写しており、プロセスはブロック1432に移行する。勝利応答を選択するために、コストおよびランタイムに加えて、入札応答に含まれるその他の要因を考慮し使用できることが理解されるであろう
好ましい一実施形態に関連して本発明を詳細に示し説明してきたが、当業者であれば、本発明の精神および範囲を逸脱せずに、形式および詳細の様々な変更が可能であることが理解されるであろう。
グリッド環境で実現可能であり、そこで本発明を実現可能であるコンピュータ・システムの一実施形態を描写する図である。 グリッド環境内の一般的なタイプのコンポーネントの一実施形態を例示するブロック図である。 グリッド環境で実現可能であるアーキテクチャの一例を描写するブロック図である。 仮想ジョブ要求が受信され、入札の形で自動的に応答される、グリッド環境を描写するブロック図である。 クライアント・システムによってグリッド・プロバイダに提示されるジョブと、グリッド・プロバイダによって返されるジョブの結果とを描写するフロー・ダイアグラムである。 クライアント定義アプリケーション・メトリックあたりの相対コストを計算するために複数のグリッド・プロバイダにグリッド・ジョブ縮図を提示するためのプロセスを描写するフロー・ダイアグラムである。 グリッド・プロバイダへの自動入札要求および複数のグリッド・プロバイダからの入札応答の自動分析を制御するためのクライアント・システムに関するグリッド・クライアント・エージェントのコンポーネントを描写するブロック図である。 グリッド・ジョブに関するRFP基準の入力のためのユーザ・インターフェースを描写するブロック図である。 グリッド・プロバイダ用の入札コントローラの一実施形態を描写するブロック図である。 仮想ジョブ要求に基づいてリソース・セレクタおよび作業負荷カルキュレータ内で実行される計算を描写する例示的な一例である。 RFPに応答してグリッド・プロバイダによって生成されたRFP応答を例示するブロック図である。 グリッド環境でRFP要求に対する応答を管理するためのプロセスおよびプログラムを例示する高レベル論理流れ図である。 グリッド・プロバイダへのRFPの提示を制御し、入札応答を処理するためのプロセスおよびプログラムを例示する高レベル論理流れ図である。 グリッド・クライアント・システムで複数のグリッド・プロバイダから受信した入札を分析するためのプロセスおよびプログラムを例示する高レベル論理流れ図である。

Claims (1)

  1. コンピュータの処理により、グリッド・ジョブに関するグリッド・プロバイダの選択を自動的に制御するためのコンピュータで実行される方法において、
    前記コンピュータの処理により、グリッド・クライアント・システムのユーザがグリッド環境に提示する予定の特定のグリッド・ジョブに関する、パフォーマンス要件を含む少なくとも1つの基準を入力したことに応答して、前記特定のグリッド・ジョブのタイプが前記グリッド提携契約に割り当てられた、時間制料金及び浮動小数点演算の数を含む、特定のタイプに一致するかどうかを判断し、その際、前記グリッド提携契約が前記特定のグリッド・ジョブの前記タイプを単独で提示することに前記グリッド・クライアントが同意する少なくとも1つの提携グリッド・プロバイダを含むようにし、前記特定のグリッド・ジョブが前記グリッド提携契約に割り当てられた前記特定のタイプに一致するタイプのものであることを検出したことに応答して、照会すべき前記少なくとも1つの提携グリッド・プロバイダのみを自動的に選択することによって、前記少なくとも1つの基準を満たすように前記特定のグリッド・ジョブを処理するための可用性について照会すべき前記外部グリッド環境の少なくとも1つのグリッド・プロバイダを選択するステップと、
    前記コンピュータの処理により、前記特定のグリッド・ジョブに関する入札要求内の前記少なくとも1つの基準を前記少なくとも1つのグリッド・プロバイダに自動的に配布するステップと、
    前記コンピュータの処理により、前記少なくとも1つのグリッド・プロバイダから受信した少なくとも1つの入札応答を保管するステップと、
    前記コンピュータの処理により、前記入札要求に関する応答の返却のための期限に到達したことに応答して、前記グリッド・クライアント・システムで、前記特定のグリッド・ジョブに関する勝利入札応答を選択するために前記少なくとも1つの入札応答を処理するステップと、
    前記コンピュータの処理により、前記グリッド・クライアント・システムからの前記特定のグリッド・ジョブを前記勝利入札応答を提示する特定のグリッド・プロバイダに自動的に配布するステップを含み、
    前記特定のグリッド・ジョブに関する入札要求内の前記少なくとも1つの基準を前記少なくとも1つのグリッド・プロバイダに自動的に配布する前記ステップが、
    前記入札要求内の前記少なくとも1つの基準を配布するステップであって、前記入札要求が、前記少なくとも1つの基準と、前記特定のグリッド・ジョブに関するIDと、前記グリッド・クライアント・システムに関するIDと、前記入札要求に応答を返すための期限とを含み、前記少なくとも1つの基準が前記特定のグリッド・ジョブを完了するためのパフォーマンス要件を含むステップをさらに含み、
    前記入札要求に関する応答の返却のための期限に到達したことに応答して、前記グリッド・クライアント・システムで、前記特定のグリッド・ジョブに関する勝利入札応答を選択するために前記少なくとも1つの入札応答を処理する前記ステップが、
    前記少なくとも1つの入札応答が複数のグリッド・プロバイダからの複数の入札応答をさらに含むことに応答して、前記複数の入札応答の中から最高速ジョブ・ランタイムを有する特定の入札応答を前記勝利入札応答として選択するステップをさらに含む、
    方法。
JP2007549890A 2005-01-12 2006-01-04 グリッド・ジョブに関するグリッド・プロバイダの選択を自動的に制御するための方法 Expired - Fee Related JP4965460B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/034,335 2005-01-12
US11/034,335 US7472079B2 (en) 2005-01-12 2005-01-12 Computer implemented method for automatically controlling selection of a grid provider for a grid job
PCT/EP2006/050045 WO2006074978A2 (en) 2005-01-12 2006-01-04 Automatically distributing a bid request for a grid job to multiple grid providers and analyzing responses to select a winning grid provider

Publications (2)

Publication Number Publication Date
JP2008527521A JP2008527521A (ja) 2008-07-24
JP4965460B2 true JP4965460B2 (ja) 2012-07-04

Family

ID=36447429

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007549890A Expired - Fee Related JP4965460B2 (ja) 2005-01-12 2006-01-04 グリッド・ジョブに関するグリッド・プロバイダの選択を自動的に制御するための方法

Country Status (7)

Country Link
US (4) US7472079B2 (ja)
EP (1) EP1836666A1 (ja)
JP (1) JP4965460B2 (ja)
CN (1) CN101080736B (ja)
CA (1) CA2587879A1 (ja)
TW (1) TWI363972B (ja)
WO (1) WO2006074978A2 (ja)

Families Citing this family (111)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7562143B2 (en) 2004-01-13 2009-07-14 International Business Machines Corporation Managing escalating resource needs within a grid environment
US7406691B2 (en) 2004-01-13 2008-07-29 International Business Machines Corporation Minimizing complex decisions to allocate additional resources to a job submitted to a grid environment
US7552437B2 (en) 2004-01-14 2009-06-23 International Business Machines Corporation Maintaining application operations within a suboptimal grid environment
US7266547B2 (en) 2004-06-10 2007-09-04 International Business Machines Corporation Query meaning determination through a grid service
US7590623B2 (en) 2005-01-06 2009-09-15 International Business Machines Corporation Automated management of software images for efficient resource node building within a grid environment
US7562035B2 (en) 2005-01-12 2009-07-14 International Business Machines Corporation Automating responses by grid providers to bid requests indicating criteria for a grid job
US7571120B2 (en) * 2005-01-12 2009-08-04 International Business Machines Corporation Computer implemented method for estimating future grid job costs by classifying grid jobs and storing results of processing grid job microcosms
US7472079B2 (en) * 2005-01-12 2008-12-30 International Business Machines Corporation Computer implemented method for automatically controlling selection of a grid provider for a grid job
WO2006128925A1 (es) * 2005-05-31 2006-12-07 Imbert Management Consulting Solutions Expansor de computación
US7823185B1 (en) * 2005-06-08 2010-10-26 Federal Home Loan Mortgage Corporation System and method for edge management of grid environments
US8086707B2 (en) * 2005-06-30 2011-12-27 Intel Corporation Systems and methods for grid agent management
US7487116B2 (en) * 2005-12-01 2009-02-03 International Business Machines Corporation Consumer representation rendering with selected merchandise
US8584122B2 (en) 2006-03-31 2013-11-12 Ebay Inc. Batch scheduling
US8019871B2 (en) * 2006-07-27 2011-09-13 Hewlett-Packard Development Company, L.P. Federation of grids using rings of trust
US20080046303A1 (en) * 2006-08-21 2008-02-21 Gordon Penelope E Method and system of determining elements of a value priced contract
US8355709B2 (en) * 2006-10-23 2013-01-15 Qualcomm Incorporated Device that determines whether to launch an application locally or remotely as a webapp
US8831009B2 (en) * 2007-03-16 2014-09-09 Oracle International Corporation System and method for selfish child clustering
US8584131B2 (en) 2007-03-30 2013-11-12 International Business Machines Corporation Method and system for modeling and analyzing computing resource requirements of software applications in a shared and distributed computing environment
US9229781B2 (en) * 2007-06-12 2016-01-05 Broadcom Corporation System and method for allocating spare system resources
EP2195724B1 (en) * 2007-08-28 2019-10-09 Commvault Systems, Inc. Power management of data processing resources, such as power adaptive management of data storage operations
US20090094089A1 (en) * 2007-10-05 2009-04-09 Michael Anthony Iacovone Custom dispatch software
JP2009123109A (ja) * 2007-11-16 2009-06-04 Fujitsu Ltd 分散処理プログラム、分散処理装置、および分散処理方法
US20090138311A1 (en) * 2007-11-28 2009-05-28 Michael Anthony Iacovone System and method for computer aided work order scheduling
US8904031B2 (en) 2007-12-31 2014-12-02 Genesys Telecommunications Laboratories, Inc. Federated uptake throttling
US8949470B2 (en) * 2007-12-31 2015-02-03 Genesys Telecommunications Laboratories, Inc. Federated access
US7835286B2 (en) * 2008-01-11 2010-11-16 Alcatel Lucent Dynamic multi-objective grid resources access
US8555381B2 (en) * 2009-04-01 2013-10-08 Honeywell International Inc. Cloud computing as a security layer
US7970830B2 (en) * 2009-04-01 2011-06-28 Honeywell International Inc. Cloud computing for an industrial automation and manufacturing system
US9218000B2 (en) 2009-04-01 2015-12-22 Honeywell International Inc. System and method for cloud computing
US9412137B2 (en) * 2009-04-01 2016-08-09 Honeywell International Inc. Cloud computing for a manufacturing execution system
US8204717B2 (en) * 2009-04-01 2012-06-19 Honeywell International Inc. Cloud computing as a basis for equipment health monitoring service
US20100281095A1 (en) * 2009-04-21 2010-11-04 Wehner Camille B Mobile grid computing
US8964958B2 (en) * 2009-05-20 2015-02-24 Avaya Inc. Grid-based contact center
US8285681B2 (en) 2009-06-30 2012-10-09 Commvault Systems, Inc. Data object store and server for a cloud storage environment, including data deduplication and data management across multiple cloud storage sites
US8385533B2 (en) * 2009-09-21 2013-02-26 Avaya Inc. Bidding work assignment on conference/subscribe RTP clearing house
US9037717B2 (en) * 2009-09-21 2015-05-19 International Business Machines Corporation Virtual machine demand estimation
US8549125B2 (en) * 2010-03-11 2013-10-01 International Business Machines Corporation Environmentally sustainable computing in a distributed computer network
US9058210B2 (en) * 2010-03-23 2015-06-16 Ebay Inc. Weighted request rate limiting for resources
US8788375B2 (en) 2010-06-23 2014-07-22 Canadian National Railway Company Method and system for pre-populating job assignment submissions
CA2744473C (en) * 2010-06-23 2023-06-20 Canadian National Railway Company A system and method for employee resource management
US8583462B2 (en) 2010-06-23 2013-11-12 Canadian National Railway Company Method and system for assessing penalties associated with an employee without a job assignment
US20120016721A1 (en) * 2010-07-15 2012-01-19 Joseph Weinman Price and Utility Optimization for Cloud Computing Resources
US20160154673A1 (en) * 2014-07-23 2016-06-02 Sitting Man, Llc Methods, systems, and computer program products for providing a minimally complete operating environment
US8869161B2 (en) * 2010-11-18 2014-10-21 Fujitsu Limited Characterization and assignment of workload requirements to resources based on predefined categories of resource utilization and resource availability
US9250962B2 (en) * 2011-01-10 2016-02-02 International Business Machines Corporation Optimizing energy use in a data center by workload scheduling and management
TWI478088B (zh) * 2011-03-02 2015-03-21 Chunghwa Telecom Co Ltd Cloud Services On Demand Service System
US20120284383A1 (en) * 2011-05-06 2012-11-08 International Business Machines Corporation Cloud workload management with automated workload bidding
US20120310762A1 (en) * 2011-06-03 2012-12-06 Robbin Jeffrey L Remote Storage of Acquired Data at Network-Based Data Repository
US9201895B2 (en) 2011-06-03 2015-12-01 Apple Inc. Management of downloads from a network-based digital data repository based on network performance
CN102263824B (zh) * 2011-07-26 2017-07-18 深圳市中兴物联科技有限公司 一种安全浏览方法和虚拟浏览器
US8694995B2 (en) * 2011-12-14 2014-04-08 International Business Machines Corporation Application initiated negotiations for resources meeting a performance parameter in a virtualized computing environment
US8863141B2 (en) 2011-12-14 2014-10-14 International Business Machines Corporation Estimating migration costs for migrating logical partitions within a virtualized computing environment based on a migration cost history
US9262496B2 (en) 2012-03-30 2016-02-16 Commvault Systems, Inc. Unified access to personal data
US8950009B2 (en) 2012-03-30 2015-02-03 Commvault Systems, Inc. Information management of data associated with multiple cloud services
US9071613B2 (en) 2012-04-06 2015-06-30 International Business Machines Corporation Dynamic allocation of workload deployment units across a plurality of clouds
US9086929B2 (en) 2012-04-06 2015-07-21 International Business Machines Corporation Dynamic allocation of a workload across a plurality of clouds
US8793381B2 (en) * 2012-06-26 2014-07-29 International Business Machines Corporation Workload adaptive cloud computing resource allocation
US8495221B1 (en) * 2012-10-17 2013-07-23 Limelight Networks, Inc. Targeted and dynamic content-object storage based on inter-network performance metrics
US10346259B2 (en) 2012-12-28 2019-07-09 Commvault Systems, Inc. Data recovery using a cloud-based remote data recovery center
US20140279127A1 (en) * 2013-03-12 2014-09-18 Elwha Llc Transmitting content in accordance with a particular level of requested access associated with a particular amount of content access latency
US20140270472A1 (en) * 2013-03-12 2014-09-18 Elwha Llc Tiered latency of access for content
US20140279144A1 (en) * 2013-03-12 2014-09-18 Elwah LLC Eliciting one more more bids for accessing content at one or more levels of content access from two or more client computing devices
US9262221B2 (en) * 2013-09-30 2016-02-16 International Business Machines Corporation Calculating the rank of multiple virtual machines based on a negative correlation between the rank and each of the computational capacity and monetary investment
US9471391B1 (en) * 2013-11-20 2016-10-18 Google Inc. Aggregating resource requests
US10445134B2 (en) * 2014-06-03 2019-10-15 Amazon Technologies, Inc. Identifying candidate workloads for migration
US9508095B2 (en) * 2014-06-11 2016-11-29 Fugue, Inc. System and method for optimizing the selection of cloud services based on price and performance
EP2977898B1 (en) 2014-07-11 2018-08-29 Tata Consultancy Services Limited Task allocation in a computing environment
US10503145B2 (en) 2015-03-25 2019-12-10 Honeywell International Inc. System and method for asset fleet monitoring and predictive diagnostics using analytics for large and varied data sources
US9729421B2 (en) * 2015-03-25 2017-08-08 International Business Machines Corporation Outcome-based software-defined infrastructure
KR102438214B1 (ko) * 2015-07-09 2022-08-30 텔레콤 이탈리아 소시에떼 퍼 아찌오니 Ict 서비스 제공 방법 및 시스템
US10057185B1 (en) * 2015-09-21 2018-08-21 Amazon Technologies, Inc. User-initiated activation of multiple interruptible resource instances
US10325231B1 (en) * 2015-09-29 2019-06-18 Amazon Technologies, Inc. Interruptible resource instances for block time periods
US10341194B2 (en) 2015-10-05 2019-07-02 Fugue, Inc. System and method for building, optimizing, and enforcing infrastructure on a cloud based computing environment
US10657199B2 (en) 2016-02-25 2020-05-19 Honeywell International Inc. Calibration technique for rules used with asset monitoring in industrial process control and automation systems
US10776706B2 (en) 2016-02-25 2020-09-15 Honeywell International Inc. Cost-driven system and method for predictive equipment failure detection
US10853482B2 (en) 2016-06-03 2020-12-01 Honeywell International Inc. Secure approach for providing combined environment for owners/operators and multiple third parties to cooperatively engineer, operate, and maintain an industrial process control and automation system
US10462070B1 (en) * 2016-06-30 2019-10-29 EMC IP Holding Company LLC Service level based priority scheduler for multi-tenancy computing systems
US10965733B2 (en) * 2016-08-28 2021-03-30 Vmware, Inc. Efficient, automated distributed-search methods and systems
US11625738B2 (en) * 2016-08-28 2023-04-11 Vmware, Inc. Methods and systems that generated resource-provision bids in an automated resource-exchange system
US10310467B2 (en) 2016-08-30 2019-06-04 Honeywell International Inc. Cloud-based control platform with connectivity to remote embedded devices in distributed control system
US11108858B2 (en) 2017-03-28 2021-08-31 Commvault Systems, Inc. Archiving mail servers via a simple mail transfer protocol (SMTP) server
US11074138B2 (en) 2017-03-29 2021-07-27 Commvault Systems, Inc. Multi-streaming backup operations for mailboxes
US11221939B2 (en) 2017-03-31 2022-01-11 Commvault Systems, Inc. Managing data from internet of things devices in a vehicle
US10552294B2 (en) 2017-03-31 2020-02-04 Commvault Systems, Inc. Management of internet of things devices
US11294786B2 (en) 2017-03-31 2022-04-05 Commvault Systems, Inc. Management of internet of things devices
US10719427B1 (en) * 2017-05-04 2020-07-21 Amazon Technologies, Inc. Contributed test management in deployment pipelines
GB201709188D0 (en) * 2017-06-09 2017-07-26 Nchain Holdings Ltd Computer-Implemented system and method
US11379573B2 (en) * 2017-07-13 2022-07-05 Huawei Technologies Co., Ltd. Trusted application access control method and terminal
US11237550B2 (en) 2018-03-28 2022-02-01 Honeywell International Inc. Ultrasonic flow meter prognostics with near real-time condition based uncertainty analysis
US10891198B2 (en) 2018-07-30 2021-01-12 Commvault Systems, Inc. Storing data to cloud libraries in cloud native formats
WO2020047390A1 (en) 2018-08-30 2020-03-05 Jpmorgan Chase Bank, N.A. Systems and methods for hybrid burst optimized regulated workload orchestration for infrastructure as a service
CN109491797A (zh) * 2018-11-26 2019-03-19 深圳市斯博科技有限公司 数据存储方法、系统及计算机可读存储介质
US10768971B2 (en) 2019-01-30 2020-09-08 Commvault Systems, Inc. Cross-hypervisor live mount of backed up virtual machine data
US10917461B2 (en) 2019-03-29 2021-02-09 Intel Corporation Technologies for matching security requirements of function-as-a-service services in edge clouds
US11610670B1 (en) 2019-04-25 2023-03-21 Cvs Pharmacy, Inc. System and method of dynamically generating work assignments
US11366723B2 (en) 2019-04-30 2022-06-21 Commvault Systems, Inc. Data storage management system for holistic protection and migration of serverless applications across multi-cloud computing environments
US11461184B2 (en) 2019-06-17 2022-10-04 Commvault Systems, Inc. Data storage management system for protecting cloud-based data including on-demand protection, recovery, and migration of databases-as-a-service and/or serverless database management systems
US20210011816A1 (en) 2019-07-10 2021-01-14 Commvault Systems, Inc. Preparing containerized applications for backup using a backup services container in a container-orchestration pod
CN111162921B (zh) * 2019-11-27 2022-06-14 华为云计算技术有限公司 多账号的云服务用量包共享方法、装置及相关设备
US11467753B2 (en) 2020-02-14 2022-10-11 Commvault Systems, Inc. On-demand restore of virtual machine data
US11422900B2 (en) 2020-03-02 2022-08-23 Commvault Systems, Inc. Platform-agnostic containerized application data protection
US11321188B2 (en) 2020-03-02 2022-05-03 Commvault Systems, Inc. Platform-agnostic containerized application data protection
US11442768B2 (en) 2020-03-12 2022-09-13 Commvault Systems, Inc. Cross-hypervisor live recovery of virtual machines
US20210304273A1 (en) * 2020-03-24 2021-09-30 Raytheon Company Graphical user interface-based platform supporting request for x (rfx) response compliance verification
US11687989B2 (en) * 2020-03-24 2023-06-27 Raytheon Company Graphical user interface-based platform supporting request for X (RFX) creation and response management
US12039580B2 (en) 2020-03-24 2024-07-16 Raytheon Company Graphical user interface-based platform supporting price analysis visualization and control
US11500669B2 (en) 2020-05-15 2022-11-15 Commvault Systems, Inc. Live recovery of virtual machines in a public cloud computing environment
US11314687B2 (en) 2020-09-24 2022-04-26 Commvault Systems, Inc. Container data mover for migrating data between distributed data storage systems integrated with application orchestrators
US11604706B2 (en) 2021-02-02 2023-03-14 Commvault Systems, Inc. Back up and restore related data on different cloud storage tiers
US12032855B2 (en) 2021-08-06 2024-07-09 Commvault Systems, Inc. Using an application orchestrator computing environment for automatically scaled deployment of data protection resources needed for data in a production cluster distinct from the application orchestrator or in another application orchestrator computing environment
CN117745340B (zh) * 2024-02-20 2024-05-24 湖南潇湘大数据研究院 基于大数据的卷烟市场网格容量合理性预测方法及系统

Family Cites Families (86)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4591980A (en) * 1984-02-16 1986-05-27 Xerox Corporation Adaptive self-repairing processor array
US5325525A (en) * 1991-04-04 1994-06-28 Hewlett-Packard Company Method of automatically controlling the allocation of resources of a parallel processor computer system by calculating a minimum execution time of a task and scheduling subtasks against resources to execute the task in the minimum time
FR2698461B1 (fr) * 1992-11-23 1995-01-13 Bull Sa Dispositif de traitement de l'information permettant la gestion d'une ressource informatique par un système d'administration.
FR2711436B1 (fr) * 1993-10-18 1996-01-05 France Telecom Procédé perfectionné de fonctionnement en parallèle de plusieurs unités de calcul, notamment en traitement d'images, et architecture correspondante.
US5640569A (en) * 1995-04-28 1997-06-17 Sun Microsystems, Inc. Diverse goods arbitration system and method for allocating resources in a distributed computer system
US5978583A (en) * 1995-08-07 1999-11-02 International Business Machines Corp. Method for resource control in parallel environments using program organization and run-time support
US5726883A (en) * 1995-10-10 1998-03-10 Xerox Corporation Method of customizing control interfaces for devices on a network
US5905975A (en) * 1996-01-04 1999-05-18 Ausubel; Lawrence M. Computer implemented methods and apparatus for auctions
US6078222A (en) * 1996-07-05 2000-06-20 Thomcast Communications, Inc. Controller-based radio frequency amplifier module and method
US6067580A (en) * 1997-03-11 2000-05-23 International Business Machines Corporation Integrating distributed computing environment remote procedure calls with an advisory work load manager
US6003075A (en) * 1997-07-07 1999-12-14 International Business Machines Corporation Enqueuing a configuration change in a network cluster and restore a prior configuration in a back up storage in reverse sequence ordered
US6915265B1 (en) * 1997-10-29 2005-07-05 Janice Johnson Method and system for consolidating and distributing information
US6310889B1 (en) * 1998-03-12 2001-10-30 Nortel Networks Limited Method of servicing data access requests from users
JP3065053B2 (ja) * 1998-01-06 2000-07-12 セイコーエプソン株式会社 機器監視システム、ローカル監視装置、統合監視装置、機器監視方法、及び、プログラムを格納したコンピュータ可読媒体
US6185598B1 (en) * 1998-02-10 2001-02-06 Digital Island, Inc. Optimized network resource location
EP1078320A2 (en) * 1998-05-22 2001-02-28 Frampton, Ellis E., III Distributed execution of a task using the processing power of idle workstations
US6397197B1 (en) * 1998-08-26 2002-05-28 E-Lynxx Corporation Apparatus and method for obtaining lowest bid from information product vendors
JP2000122912A (ja) * 1998-10-12 2000-04-28 Fuji Xerox Co Ltd 資源収集方法及び資源収集装置
US6167445A (en) * 1998-10-26 2000-12-26 Cisco Technology, Inc. Method and apparatus for defining and implementing high-level quality of service policies in computer networks
US7451106B1 (en) * 1998-11-30 2008-11-11 E-Lynxx Corporation System and method for competitive pricing and procurement of customized goods and services
US6647373B1 (en) * 1998-12-24 2003-11-11 John Carlton-Foss Method and system for processing and transmitting electronic reverse auction information
US20040095237A1 (en) * 1999-01-09 2004-05-20 Chen Kimball C. Electronic message delivery system utilizable in the monitoring and control of remote equipment and method of same
US6748416B2 (en) * 1999-01-20 2004-06-08 International Business Machines Corporation Client-side method and apparatus for improving the availability and performance of network mediated services
US6438704B1 (en) * 1999-03-25 2002-08-20 International Business Machines Corporation System and method for scheduling use of system resources among a plurality of limited users
US6480955B1 (en) * 1999-07-09 2002-11-12 Lsi Logic Corporation Methods and apparatus for committing configuration changes to managed devices prior to completion of the configuration change
US6453376B1 (en) * 1999-10-21 2002-09-17 Sony Corporation Method for implementing scheduling mechanisms with selectable resource modes
US6546387B1 (en) * 1999-11-15 2003-04-08 Transcom Software Inc. Computer network information management system and method using intelligent software agents
US6681251B1 (en) * 1999-11-18 2004-01-20 International Business Machines Corporation Workload balancing in clustered application servers
US6671676B1 (en) * 2000-05-04 2003-12-30 Metreo Markets, Inc. Method and apparatus for analyzing and allocating resources of time-varying value using recursive lookahead
US7051098B2 (en) * 2000-05-25 2006-05-23 United States Of America As Represented By The Secretary Of The Navy System for monitoring and reporting performance of hosts and applications and selectively configuring applications in a resource managed system
JP4712279B2 (ja) * 2000-06-20 2011-06-29 テラスプリング・インコーポレーテッド 拡張可能コンピューティングシステムの制御方法および装置
US7080077B2 (en) * 2000-07-10 2006-07-18 Oracle International Corporation Localized access
US6816905B1 (en) * 2000-11-10 2004-11-09 Galactic Computing Corporation Bvi/Bc Method and system for providing dynamic hosted service management across disparate accounts/sites
US7027412B2 (en) * 2000-11-10 2006-04-11 Veritas Operating Corporation System for dynamic provisioning of secure, scalable, and extensible networked computer environments
WO2003067494A1 (en) 2000-12-01 2003-08-14 Neal Solomon Demand-initiated intelligent negotiation agents in a distributed system
US20040213220A1 (en) * 2000-12-28 2004-10-28 Davis Arlin R. Method and device for LAN emulation over infiniband fabrics
US20020116488A1 (en) * 2001-02-09 2002-08-22 Subramanian Harihara Rama System and method for delivery and usage based billing for data services in telecommunication networks
CN100476785C (zh) * 2001-02-24 2009-04-08 国际商业机器公司 用于计算结构的装置和方法
US7797375B2 (en) * 2001-05-07 2010-09-14 International Business Machines Corporat System and method for responding to resource requests in distributed computer networks
US6832248B1 (en) * 2001-05-10 2004-12-14 Agami Systems, Inc. System and method for managing usage quotas
US20030041010A1 (en) * 2001-08-23 2003-02-27 Mark Yonao-Cowan Online bidding for contracts
AU2002323364A1 (en) * 2001-08-24 2003-03-10 Peribit Networks, Inc. Dynamic multi-point meshed overlay network
US20030115099A1 (en) * 2001-11-01 2003-06-19 Burns Stanley S. Method of automated online media planning and buying
US7222190B2 (en) * 2001-11-02 2007-05-22 Internap Network Services Corporation System and method to provide routing control of information over data networks
US7093259B2 (en) * 2001-12-20 2006-08-15 Cadence Design Systems, Inc. Hierarchically structured logging for computer work processing
US20030145084A1 (en) * 2002-01-25 2003-07-31 Mcnerney Shaun Charles System and method for decentralized system and network performance assessment and verification
US7324969B2 (en) * 2002-04-11 2008-01-29 Intel Corporation System and method for automated auctioning of web services
JP2004046372A (ja) * 2002-07-09 2004-02-12 Nippon Telegr & Teleph Corp <Ntt> 分散処理システム、リソース割当方法およびプログラムならびにリソース割当プログラムが記録された記録媒体
JP4133068B2 (ja) * 2002-07-23 2008-08-13 株式会社日立製作所 計算機システム
WO2004030152A2 (en) * 2002-09-30 2004-04-08 Basic Resources, Inc. Outage notification device and method
US20040078471A1 (en) * 2002-10-18 2004-04-22 Collatus Corporation, A Delaware Corportion Apparatus, method, and computer program product for building virtual networks
US20040098606A1 (en) * 2002-11-18 2004-05-20 International Business Machines Corporation System, method and program product for operating a grid of service providers based on a service policy
US7055052B2 (en) * 2002-11-21 2006-05-30 International Business Machines Corporation Self healing grid architecture for decentralized component-based systems
US7383550B2 (en) * 2002-12-23 2008-06-03 International Business Machines Corporation Topology aware grid services scheduler architecture
JP2004206273A (ja) * 2002-12-24 2004-07-22 Nippon Telegr & Teleph Corp <Ntt> コンピュータ資源売買方式およびコンピュータ資源売買プログラム
US20040139144A1 (en) * 2002-12-31 2004-07-15 Batra Virinder M. Using web services to access computational grids by non-members of the grid
US7716061B2 (en) * 2003-03-27 2010-05-11 International Business Machines Corporation Method and apparatus for obtaining status information in a grid
JP3951949B2 (ja) * 2003-03-31 2007-08-01 日本電気株式会社 分散型資源管理システムおよび分散型資源管理方法並びにプログラム
JPWO2004088520A1 (ja) * 2003-03-31 2006-07-06 池田 実 セキュアー・ネットワーク・データベース・システムおよび情報交換方法
CA2520933A1 (en) * 2003-03-31 2004-10-21 System Management Arts, Inc. Method and apparatus for multi-realm system modeling
US20040225711A1 (en) * 2003-05-08 2004-11-11 Spotware Technologies, Inc. System for administering computers on a computing grid
US8055753B2 (en) * 2003-06-11 2011-11-08 International Business Machines Corporation Peer to peer job monitoring and control in grid computing systems
US8935401B2 (en) * 2003-06-20 2015-01-13 Hewlett-Packard Development Company, L.P. Method and system using admission control in interactive grid computing systems
US7472112B2 (en) * 2003-06-23 2008-12-30 Microsoft Corporation Distributed query engine pipeline method and system
US7272732B2 (en) * 2003-06-30 2007-09-18 Hewlett-Packard Development Company, L.P. Controlling power consumption of at least one computer system
US20050021349A1 (en) * 2003-07-23 2005-01-27 International Business Machines Corporation Method and system for providing a computing resource service
US8856163B2 (en) * 2003-07-28 2014-10-07 Google Inc. System and method for providing a user interface with search query broadening
US7877754B2 (en) * 2003-08-21 2011-01-25 International Business Machines Corporation Methods, systems, and media to expand resources available to a logical partition
US7533168B1 (en) * 2003-09-11 2009-05-12 Sun Microsystems, Inc. Autonomic grid computing mechanism
US7472184B2 (en) * 2003-09-19 2008-12-30 International Business Machines Corporation Framework for restricting resources consumed by ghost agents
US7454496B2 (en) * 2003-12-10 2008-11-18 International Business Machines Corporation Method for monitoring data resources of a data processing network
US7124062B2 (en) * 2003-12-30 2006-10-17 Sap Ag Services search method
US7562143B2 (en) * 2004-01-13 2009-07-14 International Business Machines Corporation Managing escalating resource needs within a grid environment
US7552437B2 (en) * 2004-01-14 2009-06-23 International Business Machines Corporation Maintaining application operations within a suboptimal grid environment
TW200532466A (en) * 2004-02-03 2005-10-01 Sony Corp Information processing device, information processing method, information processing system and information processing program of accessible media
EP1716505B1 (en) 2004-02-21 2018-01-10 Microsoft Technology Licensing, LLC Ultra-shared-nothing parallel database
US20050257079A1 (en) * 2004-04-27 2005-11-17 Andrea Arcangeli System for the creation of a supercomputer using the CPU of the computers connected to internet
US7584274B2 (en) * 2004-06-15 2009-09-01 International Business Machines Corporation Coordinating use of independent external resources within requesting grid environments
US7421402B2 (en) * 2004-08-19 2008-09-02 International Business Machines Corp. Tier-based dynamic incentive arbitration in an on-demand computing environment
US7640308B2 (en) * 2004-09-30 2009-12-29 Microsoft Corporation Systems and methods for detection and removal of metadata and hidden information in files
US7433931B2 (en) * 2004-11-17 2008-10-07 Raytheon Company Scheduling in a high-performance computing (HPC) system
JP2006163870A (ja) * 2004-12-08 2006-06-22 Canon Inc 画像形成装置
US7571120B2 (en) * 2005-01-12 2009-08-04 International Business Machines Corporation Computer implemented method for estimating future grid job costs by classifying grid jobs and storing results of processing grid job microcosms
US7472079B2 (en) * 2005-01-12 2008-12-30 International Business Machines Corporation Computer implemented method for automatically controlling selection of a grid provider for a grid job
US7562035B2 (en) * 2005-01-12 2009-07-14 International Business Machines Corporation Automating responses by grid providers to bid requests indicating criteria for a grid job
US7996455B2 (en) * 2005-06-17 2011-08-09 Adaptive Computing Enterprises, Inc. System and method for providing dynamic roll-back reservations in time

Also Published As

Publication number Publication date
CN101080736B (zh) 2012-03-28
CN101080736A (zh) 2007-11-28
EP1836666A1 (en) 2007-09-26
US20080222025A1 (en) 2008-09-11
US20080306866A1 (en) 2008-12-11
US7472079B2 (en) 2008-12-30
CA2587879A1 (en) 2006-07-20
US7739155B2 (en) 2010-06-15
TWI363972B (en) 2012-05-11
WO2006074978A2 (en) 2006-07-20
TW200707317A (en) 2007-02-16
US20080222024A1 (en) 2008-09-11
US20060155633A1 (en) 2006-07-13
JP2008527521A (ja) 2008-07-24

Similar Documents

Publication Publication Date Title
JP4965460B2 (ja) グリッド・ジョブに関するグリッド・プロバイダの選択を自動的に制御するための方法
US7562035B2 (en) Automating responses by grid providers to bid requests indicating criteria for a grid job
US8396757B2 (en) Estimating future grid job costs by classifying grid jobs and storing results of processing grid job microcosms
US7712100B2 (en) Determining a capacity of a grid environment to handle a required workload for a virtual grid job request
US7668741B2 (en) Managing compliance with service level agreements in a grid environment
US20060168584A1 (en) Client controlled monitoring of a current status of a grid job passed to an external grid environment
US7788375B2 (en) Coordinating the monitoring, management, and prediction of unintended changes within a grid environment
JP4954089B2 (ja) グリッド・アクティビティのモニタリングおよび振り分けによる総合的グリッド環境管理を促進する方法、システム、およびコンピュータ・プログラム
US7720968B2 (en) Method and system of configuring elements of a distributed computing system for optimized value
US8266626B2 (en) Apparatus, methods, and computer programs for identifying or managing vulnerabilities within a data processing network
US20060149652A1 (en) Receiving bid requests and pricing bid responses for potential grid job submissions within a grid environment
US20130346227A1 (en) Performance-Based Pricing for Cloud Computing
Neumann et al. A framework for commercial grids—economic and technical challenges
Azeez et al. Resource Management in Grid Computing: A Review
Ghumman Automation of The SLA Life Cycle in Cloud Computing
Degtiareve A Semi-Markov decision model-based brokering mechanism for mobile cloud market
Buyya et al. The gridbus middleware for market-oriented computing
IU et al. Project Number: FP6–2005-IST5-033634

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080905

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080905

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110510

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110712

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120124

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120217

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20120313

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120329

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150406

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees