JP4568289B2 - コンピューティング・ユーティリティ・システムにおけるアービトレーションのための装置 - Google Patents

コンピューティング・ユーティリティ・システムにおけるアービトレーションのための装置 Download PDF

Info

Publication number
JP4568289B2
JP4568289B2 JP2006551026A JP2006551026A JP4568289B2 JP 4568289 B2 JP4568289 B2 JP 4568289B2 JP 2006551026 A JP2006551026 A JP 2006551026A JP 2006551026 A JP2006551026 A JP 2006551026A JP 4568289 B2 JP4568289 B2 JP 4568289B2
Authority
JP
Japan
Prior art keywords
domain
resource
resources
collector
root
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 - Lifetime
Application number
JP2006551026A
Other languages
English (en)
Other versions
JP2007526558A (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 JP2007526558A publication Critical patent/JP2007526558A/ja
Application granted granted Critical
Publication of JP4568289B2 publication Critical patent/JP4568289B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5072Grid computing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/0813Configuration setting characterised by the conditions triggering a change of settings
    • H04L41/082Configuration setting characterised by the conditions triggering a change of settings the condition being updates or upgrades of network functionality
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/04Network management architectures or arrangements
    • H04L41/044Network management architectures or arrangements comprising hierarchical management structures

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Description

本発明は、整理番号YOR920030588PCT1の出願「コンピューティング・ユーティリティのためのコンピューティング環境のコンポーネント化された自動プロビジョニングおよび管理」、および同日に共に出願された整理番号YOR920030589US1の出願「コンピューティング・ユーティリティ・システムにおけるアービトレーションのための装置」を相互参照し、あらゆる目的のためにその全体を参照によって本明細書に含めるものとする。
本発明は、コンピューティング・ユーティリティにおけるリソースのプロビジョニングおよび管理に向けられており、コンピューティング・ユーティリティは、当該リソースを使用してコンピューティング・サービスを顧客に提供する。より特定的には、本発明は、コンピューティング・ユーティリティのための階層的リソース管理に向けられている。
ホストとされるセンタは、複数の顧客に対してコンピューティング・サービスを提供する。各顧客には、その必要に応じるために、サーバなどのサービス・プロバイダのインフラストラクチャ・リソースのサブ・セットが割り当てられている。顧客の要求は経時変化し、特に、リソースに対するピーク要求は、平均的な要求を桁違いに凌ぐことがある。ピーク要求を満たすためのリソースを単純に割り当てると、リソースが充分に活用されないままとなる。顧客の必要に応じてインフラストラクチャ・リソースを動的に再構築するには、管理要員による迅速な対処が必要となり、ハードウェアを移動させることが必要になることもあり、稼動コストが上昇して適切なサービスを提供することができない恐れがある。ホストとされるセンタについての問題は、インフラストラクチャ・リソースおよびスタッフが効率的かつ費用効果のあるやり方で使用されるように顧客の要求の変化にどのように迅速に応じるかということである。コンピューティング・ユーティリティは、共有された動的に割り当て可能なインフラストラクチャに対する複数のコンピューティング・サービスの作成および管理を自動化することによって、この問題に対処しようとしている。
コンピューティング・ユーティリティにおける従来の研究は、提供されるサービスの型、使用されるリソース、および動作の自動化の程度によって様々である。自動化された動作は広範に渡り、サービスの作成、顧客へのサービスの分配、サービスを提供するために使用されたリソースのセットの修正、ならびに新規のリソース・インスタンスおよび型をホストとされるセンタおよびそのサービスに組み込むことを含む。
従来のシステムは、ウェブ・サイトにおけるフロント・エンド・サーバのプロビジョニングを、サーバ負荷および応答時間などの数的指標に基づいて自動化した。そのシステムは、サーバおよびネットワーク・トポロジを自動的に見つけたコンポーネントを含んでいた。別のシステムは、事前に構成されたサーバをサーバ負荷などの数的指標に基づいて互いに異なる層に自動的に割り当てることが可能な様々な複数の層のウェブ・サイトを提供した。また別のシステムも、サーバ負荷に応じてサーバ・リソースを割り当てたが、リソースを各顧客へ割り当てる値と、これらのリソースを使用するコストとを、エネルギー・コストを重視してモデル化した。さらに最近の研究には、メモリおよびストレージなどの他のリソース型の割り当て、および汎用サーバの割り当てが含まれる。
アプリケーション層において、システムによっては、分配されたアプリケーションの配置および管理のための枠組みを有するものがある。アプリケーションは、互いに関連する再使用可能なコンポーネントの集まりとして記述され、リソースまたはサブ・システムを表わしてもよい。記述には、例えば、コンポーネントが正しいシーケンスで開始されることを保証するための依存情報が含まれる。一旦配置されると、アプリケーションは監視されてもよく、自動フェイルオーバまたは再開などのコンポーネントまたはリソース障害の場合にはアクションが指定されてもよい。そのようなシステムは、オペレーティング・システムをサーバにインストールするなどの低レベルのリソース構成タスクには使用されず、さらに高いレベルのアプリケーション専用の構成に使用される。
ヒューレット・パッカード社、シンクダイナミックス社、サン・マイクロシステムズ社、およびジャレバ社の製品など、複数の層のアプリケーションを様々なリソースからなる物理的なインフラストラクチャ上へ提供することを目的とする工業製品の数が増加している。これらは、提供されるリソースの種類(例えば、サーバおよびストレージ)、サポートされる特定のオペレーティング・システムおよびミドルウェア、ネットワーク・インフラストラクチャの前提および特徴(例えば、ネットワークの分離がVLANを介して行われるかどうか)、サポートを監視するレベル(例えば、リソースの使用、障害検出、SLA、閾値ベースの警告)、リソースの発見に対するサポート、一旦配置されたサービス・リソースの修正に対するサポート、(例えば、SLAによってトリガされて)修正が自動的に生じうるかどうか、および既存のホストとされたセンタのインフラストラクチャに合致するように製品をカスタマイズできるかまたはカスタマイズしなければならないかなど、数多くの点で互いに異なっている。
本発明は、サービス志向またはユーティリティ・コンピューティングを提供するために使用されるコンピューティング・インフラストラクチャの階層的なプロビジョニングおよび管理のための方法、装置、システム、およびアーキテクチャを提供する。これは、ホストとされる環境に有用である。これは、インフラストラクチャを有するサービス・プロバイダの顧客に提供されることが多い。これにより、コンピューティング環境に対するリソースの動的なプロビジョニングおよび割り当てが可能となる。
本発明の一局面は、以下の特徴を有する環境において動作するコンピュータ・ユーティリティの一要素を提供するものである。合わせて、これらの特徴は、これまで研究された環境を概括するものである。
本発明の他の局面は、コンピュータ・ユーティリティに対してリソースを自動的にプロビジョニングおよび管理するために提供されるものである。コンピューティング・ユーティリティは、企業、サービス・プロバイダ、または個人によって使用可能であろう。本発明により、顧客の群内においてリソースを共有でき、特定の顧客にリソースを限定することもできる。これにより、顧客は、そのクライアントに対して、管理されたリソースからなる1つ以上のサービスを提供することができる。管理されたリソースは、オン・デマンドで顧客またはドメインに割り当てられてもよい。これにより、リソースを階層的に管理することができる。
本発明に係る方法の実施形態の一例において、本方法は、エンティティに対して少なくとも1つのドメインの階層的な管理を提供するステップを有する。階層的な管理提供ステップは、少なくとも1つのドメインの階層的な表示を取得するステップであって、当該表示は、管理すべきコンピューティング環境のリストと、少なくとも1つのドメインについてのリソース・ライブラリからの少なくとも1つのリソースの取得を制御する少なくとも1つのポリシーと、少なくとも1つのドメイン内の任意のサブ・ドメインとを含む、ステップと、表示をインスタンス化するステップとを含む。
本発明に係るアーキテクチャの実施形態の一例において、コンピュータ・ユーティリティについての本アーキテクチャは、少なくとも1つのサービスを複数のクライアントに提供するための装置を備える。本装置は、リソースを少なくとも1つのサービスに割り当てるための、少なくとも1つのコレクタを有するベース・リソース分配サービスと、ベース・リソース分配サービスに結合されて、少なくとも1つのサービスについてリソースをプロビジョンおよび管理するための少なくとも1つのプロビジョンおよび管理リソース・サービスと、ベース・リソース分配サービスに結合されて、リソースの予約および割り当てを提供するための少なくとも1つのベース・リソース・ライブラリ・サービスとを備える。
上記およびさらなる局面、利点、および特徴は、以下の好適な実施形態の詳細な説明および添付の図面から、さらに明らかになるだろう。
本発明は、インフラストラクチャを所有するサービス・プロバイダの顧客にサービス志向またはユーティリティ・コンピューティングを提供するために使用されるコンピューティング・インフラストラクチャの階層的なプロビジョニングおよび管理のための方法、装置、システム、およびアーキテクチャを提供する。このように、ホストとされる環境は、他のホストとされる環境などからリソースを取得することができる。本発明は、アービトレーション、プロビジョニング、および管理を含んだコンピューティング・インフラストラクチャの階層的な管理のためのアーキテクチャを提供する。これにより、コンピューティング環境に対するリソースの動的なプロビジョニングおよび割り当てが可能となる。顧客は、そのドメイン内で複数のコンピューティング環境を有することができる。コンピューティング・ユーティリティは、そのリソースを複数の顧客ドメインに渡って共有し、ドメイン間およびドメイン内におけるリソースの使用に対してアービトレーションを行う。本発明により、リソースを、特定の顧客ドメインまたは特定のコンピューティング環境専用とすることができる。顧客は、ドメイン内のユーティリティからのリソースの使用を制御する取得および分配ポリシーを指定することができる。
本発明は、以下の特徴のうちの1つ以上を有する環境において一般的に動作するが、必ずしもそうではないコンピューティング・ユーティリィティの一要素である。合わせて、これらの特徴は、これまで研究された環境を概括するものである。
第1に、リソースは、異種の組み合わせで顧客に割り当てられてもよく、相互依存であってもよく、経時変化してもよい。
第2に、各顧客に提供されるサービスは互いに異なってもよい。例えば、ある顧客にはウェブ・サイト用のリソースが提供され、他の顧客には科学的コンピューティング・クラスタ用のリソースが提供されてもよい。よって、リソース型、量、依存性、および割り当てパターンは、顧客の間で様々なものとなる。
第3に、各顧客に提供されるサービスのレベルは異なってもよい。これは、顧客に対するリソース割り当ての量を評価することは、サービスの型およびレベルの両方を考慮することを意味する。
第4に、リソース・インフラストラクチャは、サービス・プロバイダ間で異なる。さらに、所定のサービス・プロバイダについて、インフラストラクチャは経時変化する。これらのバリエーションは、物理的なインフラストラクチャに対して更新または追加が行われたこと、他のプロバイダのサービスを受けること、またはアイドル時または一日の所定の時間において付加的なリソースが取り込まれたことの結果でありうる。
第5に、リソースは、事前に割り当てられてもよいし、予約されてもよい。インフラストラクチャ内にそれを満たすような現在使用可能な十分なリソースがない場合でも、割り当てに間に合うように追加のリソースが取得されるであろうという見込みに基づいて、予約が受理されてもよい。
第6に、顧客は、例えば部門などに割り当てを細分化してサービス・プロバイダに再分割を管理するようにさせることによって、組織内でリソースを共有したい場合がある。
第7に、顧客は、現在所有している、サービス・プロバイダによって管理されるべきリソースを供給したい場合があり(すなわち、顧客は、そのリソースの管理をサービス・プロバイダにアウトソーシングする)、このリソースは、その目的のためだけに使うことができる。この要請は、リソースをどこに割り当ててもよいかについて制約を課するものである。
第8に、顧客は、そのリソースの管理および動作を支配するポリシーを指定したい場合がある。これらのポリシーは、コンピューティング・ユーティリティによって実施されるべきものである。
最後に、互いに異なるサービス・プロバイダは、リソースを顧客に分配する際に、利益の最大化、使用可能性の最大化、または性能の最大化などのように、互いに異なる目的を意識している場合がある。
本発明は、コンピューティング・ユーティリティに対してリソースを自動的にプロビジョニングおよび管理するための装置の一部としても有用である。コンピューティング・ユーティリティは、企業、サービス・プロバイダ、または個人によって使用可能であろう。本発明により、顧客の群内においてリソースを共有でき、特定の顧客にリソースを限定することもできる。これにより、顧客は、そのクライアントに対して、管理されたリソースからなる1つ以上のサービスを提供することができる。管理されたリソースは、オン・デマンドで顧客またはドメインに割り当てられてもよい。これにより、リソースを階層的に管理することができる。
図1は、本発明が動作するホストとされる環境を示す。この環境は、プロセッサ101と、ストレージ103と、ファイアウォール105と、ソフトウェア107からなる。ソフトウェア107は、オペレーティング・システム、ミドルウェア、またはアプリケーションであってもよい。図1において、ソフトウェア107は、ビジネス・プロセス、ビジネス・アプリケーション、またはサービスによって表される。すべての利用可能なソフトウェアは、これらの要素に事前構成される。実際、要求に応じてハードウェアおよびソフトウェア・コンポーネントを新規または既存のサービスに動的に再構成するのが、本発明の目的である。この種の環境は、大企業内に存在することがあり、または、サービスのベースとしてISPまたはASPによって提供されることもある。詳細な説明に戻ると、ハードウェア・リソースは、すべてのこれらのリソースを相互接続する線109の格子で示されるようなネットワークによって接続される。このネットワークは、1つまたは複数の層に構成されてもよく、各層は、ルータ105またはファイアウォール105によって分離されている。ネットワーク内の層の構成は、静的であっても動的であってもよい。ネットワークが性的に構成されている場合には、人間(または機械的)介入なしにリソースをネットワーク内の層間で移動させることは不可能である。動的な構成であれば、リソースは、本発明において説明されているようなインフラストラクチャ、またはコンソールにおいて作業しているオペレータの制御の下、互いに異なる層間で移動が可能である。これは、仮想LANなどの機構を使用することによって行うことができる。ソフトウェア・リソースは、制御インフラストラクチャによって物理リソースに割り当てられる。
この環境において、リソースのサブ・セットが管理インフラストラクチャ111,113,および115に割り当てられる。図1において、これらのリソースは、それを囲む点線によって示されている。管理インフラストラクチャに割り当てられたリソースは、本発明において説明されるリソース管理ソフトウェアを実行する。このソフトウェアは、残りのリソースを管理する。管理インフラストラクチャのために使用されるリソースは、ホストとされる環境の顧客に対して割り当てられない。管理されているリソースが、必要に応じて顧客117に割り当てられる。クライアント117がそのホストとされる環境にインターネット119を介して接続することによって主にサービスを受けることになることが予期されている。しかしながら、クライアント117は、ホストとされる環境に何らかの手段で接続されれば、サービスを受けることができる。例えば、管理されているリソースへ直接接続することもでき、管理されているリソースと同じネットワークに接続することもでき、管理されているリソースとVPN接続することもでき、または管理されているリソースを含むネットワークにVPN接続することもできる。クライアント117は、インフラストラクチャを知ることができず、ホストとされる環境から受信するアプリケーションまたはサービスを認識するだけである。
管理インフラストラクチャは、必要に応じて各サポートされたサービスに対してリソースを割り当てる。この必要性の決定は、SLA、契約、またはホストとされる環境内で動作する権限をサービスに与えた他の合意に従った、サービスに対する要求によって行われる。サービスを提供したい個人または組織は、ホストとされる環境のプロバイダと合意を有することになる。図1に戻ると、プロセッサ101は、プロセッサを管理する一部として管理されるであろう、直接取り付けられたストレージを有してもよい。本図のストレージ103は、ネットワークに取り付けられることができるどのような形態のストレージ・サーバをも指す。プロセッサは、データベース・サーバまたはビデオ・サーバのような何らかの複雑な機能を表すこともできる。リソースが管理用にさらに小さな機能に分割される度合いは、インフラストラクチャの所有者に依存する。データベース・サーバなどの複雑なリソースがさらに小さなコンポーネントに分けることができる場合であっても、リソースの所有者は、管理インフラストラクチャ内においてどのように表されるかについて決定することになる。この特徴により、本発明は、ホストとされる環境にとってローカルでないリソースを使用することができる。本発明は、リソースが適切な性能と確実に相互関連していることを前提にしている。しかしながら、リソースを接続するネットワークは、論理接続を表す。VPNなどの、リソースに対して適切な程度のセキュリティ、性能、および制御を許容している任意のインフラストラクチャを使用して、ホストとされる環境にリソースを接続することができる。その結果、図1に示すようなホストとされる環境は、それ自体世界中に分配することができるだろう。本図におけるインターネットは、論理配置を表す。インターネットを使用して、ホストとされる環境に対してリソースを動的に追加することができる。
ドメインとは、サービスがプロビジョンされる顧客内の組織ユニットである組織は、その内部に、これもまたサービス・プロバイダを利用する複数のサブ・ドメイン、部門、ユニット、部署を有してもよい。サブ・ドメインもドメインであって、組織のドメインは、ツリーを形成する。組織は、接続されていないドメインの複数のツリーを有してもよい。本発明の目的のために、これらを複数の組織であると考える。ルート・ドメインは、組織にとって最上位のドメインまたはドメイン・ツリーのベースである。図2は、サービスが提供できる顧客内のドメインを示す。図2において、基本となる企業、すなわちルート・ドメインは、スミス・ファスナー社120であって、この会社の他の全ての部分は、スミス・ファスナーの細区分またはサブ・ドメインである。スミス・ファスナーは、調査121、財務122、ハードウェア123、およびマーケティング124という4つの主要部門を有する。ハードウェアおよびマーケティング部門は、付加的なユニット、すなわちサブ・ドメインを、それぞれの内部に有している。ハードウェアは、ボルト127、ねじ128、およびヒンジ129に分割される。マーケティングは、第1地域125および第2地域126という2つの地域を有する。第2地域は、北部130および南部131にさらに分割される。本発明の目的は、スミス・ファスナー社のような任意の会社の様々なドメイン、ユニット、または部門あるいはそれらすべてに対して、サービス・プロバイダがコンピューティング・サービスを提供することができるようにすることである。そして、任意のドメインまたはサブ・ドメインが、提供されるコンピューティング・サービスに加入してもよい。本発明は、プロビジョニングの目的のために、会社がドメイン・ツリーに構成できることを前提にしている。さらに、任意のツリーをサポートすることができる。後述するように、ドメイン・ツリーは、会社によって使用される様々なアプリケーション間のプロビジョニングの目的のために、リソースの共有を制御する。本発明は、リソース共有ツリーが企業構造に厳密にマッピングすることを必要としていない。任意のリソース共有ツリーを使用できる。例示の目的のために、スミス・ファスナー社120という組織の構成にマッピングするものを使用することとする。
組織内部において、各ドメイン、部門、またはユニットは、独自の従業員を有する。本発明は、会社内のどの人(会社のどの従業員)がコンピューティング・サービスを使用できるかについて限定していない。コンピューティング・サービスを使用する資格は、会社内部の管理ポリシーによって制御される。ユーザID、パスワード、および認証は、会社によって制御される。例えば、すべてのアプリケーションが通常認証および認証機構を必要とすることもでき、各アプリケーションが独自の認証を有することもでき、またその中間の組み合わせも可能である。アクセス制御のプロビジョニングは、PMRSの一部である。コンピューティング・サービスの使用(アプリケーションをアクセスまたは使用することを許可されているユーザ)は、リソースをアプリケーションにプロビジョンするために使用される構成に依存しない。
この環境において、本発明を利用するための役割または責任を分割する方法は複数ある。そのような分割の1つでは、上述のホストとされる環境を所有するインフラストラクチャ・プロバイダがある。図1において、ホストとされる環境を使用する際に何らかのサービスを提供する1つ以上のサービス・プロバイダと、サービス・プロバイダの1人以上のクライアントとがある。サービス・プロバイダは、インフラストラクチャ・プロバイダの顧客でもあることに注意されたい。他のそのような分割では、会社(またはエンティティ)は、サービスのためのインフラストラクチャ・プロバイダと契約して、そのインフラストラクチャの管理をアウトソーシングしてもよい。この場合、会社は、本発明を利用して、自身内部に提供されたサービスを管理する。他のそのような分割では、インフラストラクチャ・プロバイダおよびサービス・プロバイダは、同一であることもできよう。さらに、提供されるサービスを開発するエンティティもある。これらは、独立ソフトウェア・ベンダ(ISV)のような別個の場合もあるし、または上述した1つ以上のエンティティの一部である場合もある。何らかのインフラストラクチャ上で本発明によって管理されるサービスを提供したいエンティティは、当該サービスについての記述をインフラストラクチャに提供する。この記述は、抽象的である場合も具体的である場合もあり、サービスの組織と、提供されるべきサービスの表示と、サービスの運用を支配するポリシーとを含む。
図3は、コンピューティング・ユーティリティの高レベル図を示す。最上層は、コンピューティング環境と呼ばれる、プロビジョンされるサービスである。コンピューティング環境は、サーバ、オペレーティング・システム、アプリケーション、およびミドルウェアなどのハードウェアおよびソフトウェア・リソースを含む。各コンピューティング環境は、プロビジョンおよび管理リソース・サービス(PMRS)と呼ばれる、呼び出されてそのリソースをプロビジョンおよび管理するためのサービスを有する。PMRSは、別個の発明である整理番号YOR920030588PCT1の「コンピューティング・ユーティリティのためのコンピューティング環境のコンポーネント化された自動プロビジョニングおよび管理」に詳細に記載されている。最下層は、顧客に使用可能なホストとされるセンタのリソースを表す。ベース・リソースとは、アトミックなリソースであって、すなわち、他のリソースに分解できないリソースのことである。各ベース・リソース型は、ベース・リソース・ライブラリ・サービス(BRLS)と呼ばれる、当該リソース型のインスタンスの予約および割り当てを提供するサービスを有する。ベース・リソースの定義は、サービス・プロバイダ次第である。したがって、BRLSは、ソフトウェア・ライセンスのような単純なリソース、または、ハードウェア・プラットフォーム上にインストールされて実行されるオペレーティング・システムのような複雑なリソースを提供することができる。ベース・リソースを追加、除去、または修正すると、システムの全体的な容量が変化する。本発明は、ベース・リソースの数および型の両方が経時変化するものとする。ベース・リソースは、ベース・リソース・ライブラリ・サービス(BRLS)201のセットによって表される。図3は、4つのベース・リソース型を示す。すなわち、DB2(IBM社の登録商標)ライセンス203、zSeries(IBM社の登録商標)論理区画(LPAR)205、xSeries(IBM社の登録商標)サーバ207、およびAIX(IBM社の登録商標)ライセンス209である。BRLSは、カタログ化、チェック・アウト(割り当て)、チェック・イン(割り当て解除)、および予約などの動作を提供する。BRLS203,205,207,および209へのインターフェースを、図4を参照してさらに詳細に説明する。
複合リソースは、1つ以上の他のリソース(他の複合リソースを含む)から構築されて、指定された機能を実行する。複合リソースは、それに関連する従属物のセットを有してもよい。複合リソースの一例は、ウェブ・サイトである。これは、いくつかのフロント・エンド・サーバと、バック・エンド・サーバと、ロード・バランサと、サーバのためのIPアドレスのセットと、ウェブ・サーバ・ソフトウェアと、データベース・ソフトウェアと、ソフトウェアに関連するライセンスとからなってもよい。複合リソースの機能を実施するために使用されるベース・リソースのセットは経時変化してもよいが、すべての複合リソースがこの特性を有していなくてもよい。コンピューティング環境は、複合リソースの1つの型である。
各コンピューティング環境に関連するのは、プロビジョンおよび管理リソース・サービス(PMRS)と呼ばれる、サービスを提供するために使用されるリソースをプロビジョンおよび管理するソフトウェアである。複合リソースを含むすべての各リソース型は、当該型のリソースをどのように作成するか、およびリソースのインスタンスをどのように管理するかについての知識をカプセル化するPMRSを有する。プロビジョニングとは、リソースをコンピューティング環境へ割り当てて、サービス内での使用のために構成する行為を指す。プロビジョニング行為は、ベース・リソースを複合体に組み立てることと、ネットワーク装置を構成することと、オペレーティング・システム、アプリケーション・ソフトウェア、モニタ、およびユーザ・アカウントをインストールすることとを含む。リソースを管理することは、容量を追加またはリソース・インスタンスから容量を除去するような行為を含んでもよい。図3は、DB2(IBM社の登録商標)213、リナックス(Linux)215、およびウェブ・サイト217というPMRSを示す。PMRSは、整理番号YOR920030588PCT1の「コンピューティング・ユーティリティのためのコンピューティング環境のコンポーネント化された自動プロビジョニングおよび管理」という発明に詳細に記載されている。
図3の中間層は、ベース・リソース分配サービス(BRDS)219である。その仕事は、各ドメインに対してサービス・プロバイダが現在有する合意に基づいて、サービス・プロバイダのリソースを効果的なやり方でそのドメインに対して割り当てることである。ドメインは、回想的に組織化されており、あるドメインは他のサブ・ドメインである。BRDSは、どのリソースのセットがどのドメインに対して使用可能かを特定して、リソースに制限がある場合にビジネス・ポリシーに基づいて自動的にこれらのリソースを再分配する。これは、コンピューティング環境211(PMRS)およびリソース201(BRLS)と対話する。リソースは、コンピューティング環境に対して即座に割り当てられてもよいし、または将来的に割り当てられてもよい。将来のリソース割り当ての約束は、予約という。本発明は、コンピューティング環境に割り当てられたリソースは、その割り当て期間中は、当該コンピューティング環境専用のものとする。
ベース・リソース・ライブラリ・サービス
リソースは、プールに常駐し、プールは、型毎に定められてもよい。リソース・プールは、パブリックであっても、プライベートであってもよい。パブリック・リソース・プールは、どのドメインもそこからリソースを割り当ててもよいリソース・プールである。プライベート・リソース・プールは、顧客のドメインのサブ・セットに制限される。プライベート・プールは、リソースを顧客ドメインのサブ・セット専用とするために使用される。例えば、プライベート・プールは、一人の顧客のために複数のドメインで使用されるリソースを保持することもできよう。顧客が所有するがサービス・プロバイダにその管理をお願いしたいリソースについて、そのようなプールを使用してもよいだろう。各リソースは、それが生じたホーム・プールを有しており、これはパブリックであっても、プライベートであってもよい。ホーム・プールは、リソースが割り当てられるかまたは予約される場合に、変化しない。割り当てられていないリソースのグループは、フリー・プールと呼ばれる。
図4は、ベース・リソース・ライブラリ・サービス310(BRLS)の動作の一例を示す。システム内の各ベース・リソースは、ライブラリ、すなわちBRLS310によって表され、これは、カタログ化、チェック・アウト(割り当て)、チェック・イン(割り当て解除)、および事前予約などの情報を提供する。BRLSは、リソース型のインスタンスについてのホーム・プールとしての役割を果たし、これはパブリックであっても、プライベートであってもよい(パブリック・リソース・プールまたはプライベート・リソース・プールを表わしてもよい)。各BRLS310は、コレクタと関連付けられている。各BRLS310は、リソースを取得、予約、および返すためにシステムによって使用されるリソース動作330と、BRDS219にとって使用可能なリソースを管理するために使用されるカタログ動作340という2つの型のインターフェースを有する。提供されるリソース動作330は、Reserve,CancelReservaton,CheckIn,CheckOut,ExtendReservation,およびQueryである。
Reserve(num−instances,selection−spec,start time,duration)−>reservation−ids
この要求は、顧客コンピューティング環境のためにBRDS219によって発行されて、リソースを予約する。
入力:
num−instancesは、所望するインスタンスの数である。
selection−specは、BRLS310によってサポートされた所望の属性の仕様である。
start time 指定されていなければ、どのようなインスタンスでもこの要求を満たすために使用されてもよい。
start timeは、即時または事前予約用であってもよいだろう。
出力:
reservation−ids[]。当該要素は、リソース予約チケットであって、リソース・インスタンスにつき1つで、num−instancesまでである。これらは、予約時にインスタンスにマッピングする必要はない。言い換えれば、ライブラリは、そのリソースをオーバー・ブッキングしてもよい。
CheckOut(reservation−ids)−>resource−handle
この要求は、顧客コンピューティング環境のためにBRDS219によって発行されて、リソースを割り当てる。
入力:
Reserveによって発行されたreservation−ids
出力:
resource−handle。リソース・インスタンスの識別子である。リソースのインスタンスが提供できない場合には、特別の値に設定される。
CheckIn(resource−handle)
この要求は、顧客コンピューティング環境のためにBRDS219によって発行されて、リソースを返す。
入力:
CheckOutによって発行されたresource−handle
ExtendReservation(resouce−handle,end time)
この要求は、顧客コンピューティング環境のためにBRDS219によって発行されて、現在保持されたリソースについての予約を延長する。
入力:
CheckOutによって発行されたresource−handle
end time:リソースが返されるであろう時点
出力:
Accept:リソース予約は延長できる。
Reject:リソースは返される。
Query(selection−spec)−>availability−data
この要求は、顧客コンピューティング環境のためにBRDS219によって発行されて、リソースを返す。
入力:
selection−specは、BRLS310によってサポートされた所望の属性の仕様である。
これは、クエリの範囲を限定するために使用される。
これは、特定のインスタンスを参照するためにリソース・ハンドルを含んでもよい。
出力:
availability−data[]。当該要素は、インスタンスが予約用に使用可能であることを示す構成である。
CancelReservation(reservation−id)
この要求は、顧客コンピューティング環境のためにBRDS219によって発行されて、予約を取り消す。取り消しを受信後、リソースは、他のコンピューティング環境によって割り当ておよびチェック・アウトされるために使用可能である。
入力:
Reserveによって発行されたreservation−id
カタログ動作
カタログ動作340は、管理者320または他の管理機構に提供されて、BRLS310によって管理されるリソース・プールを修正する。また、リソース発見機構がこれらの動作を使用して、この処理を自動化することもできよう。提供される動作は、Add,Remove,Update,Query,およびこれらの動作の任意の組み合わせを含む。
Add(resource−identifier,instance−data)
この要求は、リソース・インスタンスをBRLS310に追加するために発行される。
入力:
resource−identifierは、リソース識別子であって、上記ハンドルと同一であっても同一でなくてもよい。
instance−dataは、selection−specを介してリソースを選択するために使用できる属性値の集まりである。
Remove(resource−identifier)
この要求は、BRLS310からリソース・インスタンスを除去するために発行される。
入力:
resource−identifierは、リソース識別子である。
Query(selection−spec)−>resource−identifier[]
この要求は、BRLS310で登録されたリソース・インスタンスを検索するために使用される。
入力:
selection−specは、BRLS310によってサポートされた所望の属性の仕様である。
これは、クエリの範囲を限定するために使用される。
これは、リソース識別子を含んでもよい。
出力:
resource−identifier[]は、selection−specを満足させるリソース識別子のリストである。
Query(resource−identifier)−>instance−data
この要求は、BRLS310で登録されたリソース・インスタンスを検索するために使用される。
入力:
resource−identifierは、リソース識別子である。
出力:
instance−dataは、もしあれば、このインスタンスについて登録された属性値の集まりである。
Update(resource−identifier,update−data)−>instance−data
この要求は、BRLS310で登録されたリソース・インスタンスを修正するために使用される。
入力:
resource−identifierは、リソース識別子である。
update−dataは、リソースに適用されるべき、またはリソースに関して登録されるべき新規の情報である。
出力:
Instance−dataは、もしあれば、このインスタンスについて登録された属性値の集まりである。
ベース・リソース分配サービス
図5は、ベース・リソース分配サービス(BRDS)219のコンポーネントの一例を示す。BRDS219は、様々なコンピューティング環境に渡ってベース・リソースをどのように分配するかを決定する。BRDS219は、コレクタ420,422,424,426,428と、アービタ430という、2つの型のコンポーネントを含む。ドメインは、少なくとも1つのコレクタに関連付けられている。各コンピューティング環境において、上述のポリシーと、当該コンピューティング環境のために予約されたリソースのリストを含む1つのコレクタがある。
アービタ
アービタは、コンピューティング環境内でリソースをどのように分割するかについて決定する。これは、現在または将来の割り当て(予約)の両方で動作する。リソースは、コンピューティング環境に対して受動的に割り当てられても、能動的の割り当てられてもよい。アービタは、顧客のコンピューティング環境からの要求を満たすにはフリーのリソースが十分でない場合に、参照することができる。アービタを周期的に使用して、リソース割り当てを最適化することもできる。リソースに制約がある場合には、アービタは、コンピューティング環境からリソースを回収してもよい。アービタの動作についての詳細は、別個の発明である整理番号YOR920030589US1の「コンピューティング・ユーティリティ・システムにおけるアービトレーションのための装置」にある。
コレクタ
コレクタは、1つ以上のコンピューティング環境に割り当てられたリソースのセットを表す。各コンピューティング環境のルート・ドメインは、関連コレクタを有する。コレクタは、例えば、組織内の部署を表すためにネストされてもよい。この構成により、コンピューティング環境のサブ・セット間のリソース共有が可能となり、実質的に、これらのドメインについてのコンピューティング・ユーティリティ・モデルを再現する。コンピューティング・ユーティリティは、複数の組織に対してリソースをプロビジョンでき、複数の組織に接続される(各組織のルート・ドメイン)コレクタを、ルート・コレクタと称する。図5は、2つのドメインを有する1つのルート・コレクタ420を示しており、それらドメインのうちの1つは2つのサブ・ドメインを有する。2つのメインドメインは、会社Aおよび会社Bを表すCol−A 424およびCol−B 422である。Col−A 424は、部署XおよびYを表す2つのサブ・ドメインCol−X 426およびCol−Y 428を有する。図5には、PMRS−X 496、PMRS−Y 498、およびPMRS−B 495という3つのPMRSが示されている。コレクタは、これらの各コンピューティング環境に関連付けられている。加えて、BRDS219は、コレクタ420も有する。
図5は、パブリックおよびプライベート・リソース・プールを示す。パブリックBRLSは、BRDS219内のルート・コレクタに関連付けられている。プライベートBRLSは、BRDS219内のルート・コレクタ以外のコレクタに関連付けられている。図5において、BRLS486,488,および482は、ルート・コレクタ420に関連付けられているのでパブリックであり、BRLS484は、ルート・コレクタ420ではないコレクタ424に関連付けられているプライベートである。
コレクタは、リソースをそのコレクションに追加またはそこから削除すること、およびコレクションの構成を変更することを行う状況を判断する顧客の取得ポリシーを実施する。コレクタの階層構造により、リソースを支配するローカルな(組織固有の)ポリシーを指定することができる。最も単純な取得ポリシー(すなわち、取得ポリシーなし)は、完全に要求主導である。すなわち、リソースは、要求およびリターン毎に、コレクタ階層を通じてBRLS482(486,488)とPMRS495との間で移動する。さらに複雑な取得ポリシーは、各コレクタにおけるサーバの最小数および最大数を指定してもよいだろう。これらの取得ポリシーは、要求フローをフィルタリングする。そのような取得ポリシーにより、コレクタは、そのドメインについての様々なフリー・プール(割り当てられたまたは予約されたリソースのキャッシュ)を維持でき、事実上、予測される要求に対してリソースを事前割当てができる。取得ポリシーについては、図9および10の説明の際に説明する。
各BRLS482,484,486,488は、コレクタに関連付けられている。この関連付けにより、BRLSによって表されるリソース・プールの共有範囲が定義される。例えば、ある組織がその部署のためにプライベート・リソース・プールを持ちたいと考えた場合、図5に示すような組織のコレクタ424に関連付けられたBRLS484を有することになろう。リソースは、組織に関連付けられた(すなわち、組織のコレクタを先祖として有するコレクタに関連付けられた)顧客コンピューティング環境によってのみ、割り当てのために使用可能であろう
図6Aは、サブ・ドメインである図2のスミス・ファスナー社のハードウェア123を示す。プロビジョニングの目的のために、ハードウェアには3つのアプリケーションApp1 440,App2 450,およびApp3 460が割り当てられている。この場合、すべての3つのアプリケーションは、リソースの同一のセットを共有することが許されている。図6Bは、コレクタ階層にマップをプロビジョニングするこの決定がどういうものかを示す。Col1 470は、ハードウェア123と関連付けられている。加えて、各アプリケーションは、PMRSと、それに関連付けられたコレクタとを有する。App1 440は、Col1 441と、PMRS1 442とを有し、App2は、Col2 451と、PMRS2 452とを有し、App3は、Col3 461と、PMRS3 462とを有する。本発明において、PMRSは、最大1つのコレクタと関連付けられている。
図7は、複数のルート・コレクタ510および520を有するコンピューティング・ユーティリティの一例を示す。本発明は、1つのルート・コレクタを有するBRDS219を説明する。当業者は、リソース・プールを論理的に分割して、各区画についてのBRLSを別個のルート・コレクタに関連付けることによって、本発明を拡張して複数のルートとすることができる。ルート・コレクタについてのBRLSは、同一のリソース型を関することができよう。図7は、2層のルート・コレクタ510および520を有するBRDS219を示すことによってこの概念を示す。ルート・コレクタ510は、BRLS530および535を有する。ルート・コレクタ520は、BRLS540および545を有する。この場合、BRLS530は、BRLS540と同一のリソース型を管理している場合があろう。なお、代わりの実施において、同一型だが異なる関連付けのBRLSは、リソース・インスタンスの割り当ての基礎となる制約を有する単一のBRLSとして表すことができる。
図8は、コレクションおよびライブラリの一例である。各コンピューティング環境は、それに割り当てられるリソースのセットを有する。これらは、その対応するPMRS660,680,および690においてのみ示され、コレクタまたはその先祖には示されていない。コレクタCol−Y632は、コンピューティング環境Yによって使用されるために割り当てられた「三角形」型の特別なリソースを有する。三角形のホーム・コレクションは、プライベート・ライブラリBRLS−1 690である。三角形は、PMRS X660およびPMRS Y 680にのみ割り当てることができる。コレクタCol−A630は、コンピューティング環境Col−X633またはCol−Y633によって使用されるための「四角形」、「星」、および「円」型の特別なリソースを有する。これらは、それぞれ、対応する型のパブリックBRLSである692,694および696からのものである。これらのリソース・インスタンスは、コレクタCol−B620による使用のために回収されることもできよう。図8のBRLS690は、プライベートである。そのリソースは、コレクタ630,632,および633によって共有されている。図8において、BRLS692,694,および696は、パブリックである。
コンピューティング環境によってリソースが要求されると、BRDS219は3つの段階処理を踏む。第1の段階は、要求に応じた場合に、コンピューティング環境および、もしあればその中間祖先ノードについてのコレクタの取得ポリシーが満足されるかどうかを判断することである。BRDS219は、例えば、要求されたリソースが、サービス・プロバイダとの顧客の合意において規定されたものを超える場合には、要求を拒絶してもよい。よって、取得ポリシーは、この判断処理において考慮される制約のセットである。リソースを与えることができるとBRDS219が判断した場合には、処理の第2段階は、要求を満たすであろうインスタンスの探索である。使用可能なインスタンスは、パブリックまたはプライベートBRLS、もしくはコレクタ内で見つかる場合がある。どのインスタンスも使用可能でない場合は、分配ポリシーに従って、他のコンピューティング環境からインスタンスを再割り当てしてもよい。この要求がリソースのセットに対するものである場合には、BRDS219は、それに従ってその割り当てを調整する。要求が成功すれば、予約チケットのセットがPMRSへ返される。
BRDS219は、PMRSからのリソース要求がない場合でも、コレクタの取得ポリシーを満足させるように試みることとなり、必要があればBRLSに対する要求を生成する。BRDS219が、取得ポリシーによるか、または明示的なリソース要求によるかを問わず、コレクタのために予約を行う。
コレクタおよびBRDS219の説明に戻ると、予約開始時間が到来すると、BRDS219は、チケットをリソース・ハンドルに変換する。予約のリソース・ハンドルへの変換が失敗すると、予約は受け付けられない。チケットを保持するコレクタがPMRSに関連付けられている場合には、BRDS219は、ハンドルをコレクタに送付して、コレクタは、その後、PMRSに提示する。図8において、コレクタ632が期限が到来した予約チケットを保持していた場合には、BRDSはそれをリソース・ハンドルに変換して、コレクタ632へ返し、コレクタ632は、その後、リソース・ハンドルをPMRS680へ渡すことになる。PMRS680は、その後、リソースをコンピューティング環境に構築することができる。そうでない場合には、予約を保持するコレクタは、PMRSと関連付けられておらず、よって、BRDS219は、リソース・ハンドルをコレクタに送付する。図8において、以上のことが生じうるのは、コレクタ630が予約を保持していた場合である。
予約が期限切れになると、BRDS219は、それに関連付けられていたリソース・ハンドルを回収して、その貸主(ホーム・プールまたは中間コレクタ)へ返す。不変なのは、リソースは、それに対する予約がある場合にのみ(そして恐らくは、顧客がそれについて課金されている場合にのみ)、ホーム・プールからチェック・アウトされるか、または中間コレクタによって貸し出される。
予約を延長するためには、PMRS660は、既に使用しているリソースに関する選択仕様と共に要求をBRDS219に発行する。BRDS219は、取得ポリシーおよび他の約束が許せば、BRLS(692,694,696、または690)と対話を行って、予約を延長する。すなわち、PMRS660は、BRLSと直接通信するわけではない。
リソースがPMRS660から返されると、その関連したコレクタの取得ポリシーは、それが親に返されるかを判断する。コレクタがリソースを保持する場合には、クライアントは、当該リソースについて構築を継続してもよい。リソースを保持する利点の1つとしては、要求に応じてより迅速に配置できるという点である。(例えば、リソースについての計測が既に構成されている)。リソースを返す場合には、その親の取得ポリシーは同様にチェックされる。リソースは、そのホーム・プール(BRLS)に関連付けられたコレクタには保持されていないので、その場合には、そのホーム・プールにチェック・インされる。例えば、BRLS690に関連付けられたリソースがコレクタCol−A630に返された場合には、コレクタに保持されるのではなく、BRLS690へ返されることになる。
なお、図8における630のようなコンピューティング環境のセットについてのリソース・プール(コレクタ階層における中間ノード)としての役割を果たすコレクタは、そのリソースを分配するために、BRLSと同一の機能を必要とする。借りられたリソースを貸すのは、実質的にはライブラリである。このように、そのリソース・コレクションは、それに関連するBRLSとして表すことができる。コレクタとプライベートBRLSとの違いは、親またはコレクタ階層の他の部分による使用のためにリソースがコレクタから回収される場合があるという点である(リソースのホームBRLSがそれを許容する場合)。それに対して、プライベートBRLS内のリソースは、関連コレクタおよびその子孫によってのみ使用できる。コレクタは、場合によっては、システムにおいて知られているすべてのリソース型の独自のコレクションを所有することができる。プライベートBRLSのように、コレクタのコレクションの実施は、そのリソース・インスタンスが割り当てられる基礎となる制約と共に、ホーム・プールからのリソースについての予約チケットを保持するコレクタの身元を有して、BRLSの単一のセット内で達成できる。リソースが一旦コレクタまたはPMRSに割り当てられると、階層内のその位置は、リソースの属性となる。
図9は、要求の生成がPMRSによるか、またはコレクタの取得ポリシーの結果によるものかを問わず、リソース要求の際に取得ポリシーをチェックする処理の一例を示す。処理は、ボックス710で開始する。まず、720で要求がPMRSによって開始されたかどうかチェックする。そうであれば、730で、取得ポリシーのチェックがPMRSに関連付けられたコレクタで開始するように、現在のコレクションをPMRSに設定する。そうでなければ、740で、現在のコレクションの要求コレクタの親に設定する。これは、取得ポリシーがさらに多くのリソースを要求するコレクタによって要求が開始されたからである。次に、750で、ルート・コレクタにいるかどうかチェックする。ポリシーがルート・コレクタに至るまで満足されている場合には、リソースを取得でき、フローは、780で、使用可能なリソースを探索することを試みる手順へと進む。そうでなければ、760で、要求が現在のコレクションの取得ポリシーを違反しているかどうかチェックする。ポリシーが違反されているようであれば、765で、要求者がPMRSかどうかチェックする。そうであれば、795で、要求は拒否される。そうでなければ、取得ポリシーが違反されているようなコレクタまたはその子孫に対して既に割り当てられているリソースを使用して要求を満たすことが可能かもしれず、790で、取得ポリシーが違反されているようなコレクタがルートであるサブ・ツリーの一部で、アービトレーションが呼び出される。760のチェックに戻ると、現在のコレクションでポリシーが違反されていないようであれば、770で、現在のコレクションをたった今検査したコレクションの親に設定し、750でチェックを継続する。
図10は、使用可能なリソースを探索する処理の一例である。処理は、ボックス810で開始する。まず、検索の開始点が決定される。PMRS820から要求が発していれば、検索のための開始コレクションは、PMRS827に関連付けられたコレクタである。そうでなければ、825で、要求が生じたコレクタの親とされる。リソース要求は、互いに異なる型のリソースのセットを指定することがあるので、830で、インスタンス毎のリソース型毎に1つの要素で、所望のリソースの記述リストが構築される。このリストを形成するには、リソース型毎に1つの要素として、同一の型の複数の要素は当該要素内で把握するなどといった、複数のやり方があることを、当業者は認識している。リストの各要素については、リソースに関して3つの選択肢がチェックされる。すなわち、コレクタに関連付けられたプライベートBRLS、コレクタのコレクション、またはパブリックBRLS(検索がルートに到達する場合)である。これらのチェックを各コレクタにおいて開始コレクタからルートまで繰り返す。これは、840で、最初に要求されたリソースRRを必要なリソースのリストから除去することによって行われる。ステップ850では、開始コレクションで開始する。860で、RR型の使用可能なリソースを有するBRLSがあるかどうかチェックする。その後、863で、コレクタがRR型のリソースを有するかどうかをチェックする。有しない場合は、865で、処理がルート・コレクションにあるかどうかをチェックする。処理がルートにない場合は、867で、現在のコレクションの親へ移動して、860でチェックを継続する。ルートにあれば、要求されたすべてのリソースが使用可能なわけではないので、870でアービトレーションを使用して、リソースが使用可能かどうかを判断する。チェック860またはチェック863でリソースが見つかったら、880で、当該リソースについての情報が予約リストに追加される。次に、890で、要求されたすべてのリソースが探索されたかをチェックする。探索されていない場合には、840で、先頭の要素をリストからはずして、リソース探しを継続する。すべてのリソースが探索されたら、895で、探索されたリソースに対して予約要求が行われ、予約要求の結果は、使用可能なリソースの探索のための処理の終わりとして返される。
予約が失敗すると、範囲のルート・コレクタと共にアービトレーションが呼び出される。アービトレーションは、整理番号YOR920030589US1の相互参照出願「コンピューティング・ユーティリティ・システムにおけるアービトレーションのための装置」の主題であり、本発明では、アービトレーションは「ブラック・ボックス」として扱う。アービトレーションが成功すると、リソースは予約され、チケットが要求者に返される。成功しなければ、要求は拒否される。アービトレーションが成功すると、他のドメインからリソースを回収しなければならない場合がある。コレクション・マネージャ、関連ライブラリおよび取得ポリシーによってかされる制約が、アービタに入力される。
BRDSは、以下に列挙するリソース管理動作を提供する。
リソース管理動作
図11は、BRDS219とPMRS920との間の対話の一例を示す。BRDSがPMRSに要求を行うための動作の1セット930と、PMRSがBRDSに要求を行うための他のセット940とがある。リソースの割り当てには、5つの動作が関わる。すなわち、PMRSは、940にあるように、リソースを要求、保持、または返し、BRDSは、930にあるように、リソースを回収または提供する。PMRS920が追加のリソースが必要かまたは過剰なのでリソースを返す場合には、940のRequestResourceおよびReturnResourceインターフェースを使用する。PMRS920が最初の要求で指定された期間を超えてリソースを保持したい場合には、940のRetainResouceを使用する。予め予約されたリソースが使用可能になった場合には、BRDS219は、930のDeliverResourceインターフェースを使用して、リソースをPMRS920に与える。回収リソース・インターフェース930は、PMRSからリソースを除去する必要がある場合にはいつでも、BRDSによって使用される。例えば、予め割り当てられていたリソースを取り消して、別のところへ再割り当てできるようにするという場合である。OfferResourceインターフェース930は、PMRS920によって明示的には要求されてはいないがそのコンピューティング環境のポリシーで許容されている追加のリソースを使用可能にするために使用される。
RequestResource(R,start−time,duration)
この要求は、顧客コンピューティング環境のためにPMRS920によってBRDS219へ発行されて、追加のリソースを要求する。BRDS219は、要求を拒絶することができる。
入力:
R[]は、構成のベクトルであって、リソース型毎に1つの要素である。各構成は、数多くの型のインスタンスおよびオプションの選択基準を含む。選択基準は、特定のインスタンスを指定するためのリソース・ハンドルを含んでもよい。
start timeは、即時または事前予約用であってもよいだろう。
出力:
成功または失敗を示すリターン・コード
R’[]は、オプションのリターンである。失敗の場合に、使用可能なリソースを示すために設定されてもよい。R’の要素は、リソース・インスタンス毎に1つのリソース予約チケットであって、追加のリソースを取得するために引き換えられてもよい。
start time’は、オプションのリターンである。失敗の場合に、使用可能なリソースを示すために設定されてもよい。設定されていれば、R’に適用し、そうでなければRに適用する。
ReturnResource(R)
この要求は、顧客コンピューティング環境のためにPMRS920によってBRDS219へ発行されて、リソースを返す。BRDS219は、要求を受理する。
入力:
R[]は、返されるリソースについてのリソース識別子(ハンドルまたは予約チケット)のリストである。これらのリソースは、現在割り当てられているリソースまたは予約であってもよいだろう。
出力:
成功または失敗を示すリターン・コード。
Retain Resouce(R,end time)
この要求は、顧客コンピューティング環境のためにPMRS920によってBRDS219へ発行されて、先に付された時間とは異なる時間量分、リソースを保持する(リソースの予約を延長または修正する)。BRDS219は、要求を受理してもよいし、拒絶してもよい。
入力:
R[]は、保持されるリソースについてのリソース識別子(ハンドルまたは予約チケット)のリストである。これらのリソースは、現在割り当てられているリソースまたは予約であってもよいだろう。
end timeは、リスト内のリソースについて要求された新規の終了時間である。終了時間が未来でない場合には、要求は拒絶される。
出力:
成功または失敗を示すリターン・コード。
ReclaimResource(R)
この要求は、BRDS219によってPMRS920へ発行されて、リソースのセットの割り当てまたは予約を取り消す。PMRS920は、リソースを解放する。
入力:
R[]は、構成のベクトルであって、リソース型毎に1つの要素である。各構成は、数多くの型のインスタンスおよびオプションの選択基準を含む。選択基準は、特定のインスタンスを指定するためのリソース・ハンドルまたは予約チケットを含んでもよい。コンピューティング環境は、当該基準に従って、回収すべきリソース・インスタンスを選択してもよい。
出力:
R’[]は、返されるリソースについてのリソース識別子(ハンドルまたは予約チケット)のリストである。R’は、回収されるリソースへの依存性のために無用となるであろうリソースを含むRの拡張集合であってもよい。
OfferResource(R,start−time,duration)
この要求は、BRDS219によってPMRS920へ発行されて本コンピューティング環境のための追加のリソースの使用可能性を知らせる。PMRS920は、提供されたリソースを受理してもよいし、断ってもよい。リソースを受理するためには、PMRS920は、RequestResourc要求を発行する。
入力:
R[]は、使用可能な各リソース型のインスタンスの数を含むベクトルである。
start−timeは、即時または事前予約用であってもよいだろう。
出力:
なし
DeliverResource(R)
この要求は、BRDS219によってPMRS920へ発行されて、予め予約されたリソースがコンピューティング環境に対して割り当てられた旨を示す。
入力:
R[]は、タプルのリストであって、それぞれは、予約IDと、対応のリソース・ハンドルとからなる。
出力:
なし
リソースを取得して顧客のコンピューティング環境へ分配するためには、BRDS219は、上述のBRLS910,912,914,916の動作を呼び出す。
図12は、通常動作中のPMRS1010とBRDS219との間の対話の一例を示す。図12のPMRSは、リナックス・サーバのグループを表し、これらは可変サイズであってもよい。何らかのイベントによって、リナックス・サーバを表すPMRS101が、xSeries(IBM社の登録商標)リナックス・サーバおよび追加のIPアドレスのような追加のリソースが必要であることを認識する。RequestResouce1011を使用して、BRDS219に対してリソースを要求する。BRDS219は、図9および10に記載の方法を使用して、リソースを割り当ておよび予約する。RequestResource1011に応答して、予約チケットがPMRS1010に返される。リソースが使用可能になると、PMRS1010は、DeliverResource1012を使用して通知される。PMRS1010内部での詳細な対話は、整理番号YOR920030588PCT1の出願「コンピューティング・ユーティリティのためのコンピューティング環境のコンポーネント化された自動プロビジョニングおよび管理」に記載されている。
図13は、新規の顧客(またはサービス)を既存のホスト・インフラストラクチャに追加する処理の一例を示す。この処理は、新規のリソースを既存のサービスに追加するのと同様である。本発明は、組織がサービス・プロバイダのサービスに加入して、さらに、組織内でのリソース共有のために、グループ内にコンピューティング環境を追加することができるようにする動作のセットがあることを前提としている。少なくとも、組織を追加するには、開始時間および合意期間ならびに取得および他のポリシーなどの、組織とサービス・プロバイダとの間の合意からの情報を供給する。具体的なコンピューティング環境については、コンピューティング環境型および設定も供給する。通常の動作中に、コンピューティング環境を制御するポリシーを、新規のポリシーの追加、既存のポリシーの除去、または既存のポリシーの更新によって修正できる。加えて、本発明は、合意が終了した場合に、ドメインおよび組織を除去するための動作があることを前提としている。新規のドメインを追加するには、クライアントは、ドメイン(サブ・ドメインを含む)の表示、ポリシー、およびドメインにプロビジョンされたコンピューティング環境のリストを明示する。
図13において、コンピューティング環境型は、ウェブ・サイトである。BRDS219は、1つのルート・コレクタを有する。ネットワーク・ディスパッチャ・ライセンス用BRLS1130と、リナックス・サーバ(ハードウェアおよびソフトウェア)用BRLS1132、およびウェブスフィア(IBM社の登録商標)用BRLS1134がある。新規の顧客要求1105が到達すると、新規のコレクション用のPMRS1180が完全に動作するまで、BRDS219の新規顧客(NC)1160が、そのための新規のコレクタ1150(点線で示す)と、顧客情報用の配置ホルダとを作成する。新規の顧客要求1105は、インスタンス化されることになる正確な複合リソースを指定する。新規のコレクタを作成後、NC1160は、Realize1111要求を正しい型のPMRS1180へ送る。Realizeは、BRDS219によって使用されて、新規のコンピューティング環境が要求された場合に既存のインフラストラクチャ上にリソースを構築するための予想されるプランのセットを得る。Realizeは、整理番号YOR920030588PCT1の別個の出願「コンピューティング・ユーティリティのためのコンピューティング環境のコンポーネント化された自動プロビジョニングおよび管理」に詳細に定義されている。Realize1111要求の終わりに、BRDS219は、特定の型のコンピューティング環境を構築するのに使用可能なリソースの予想されるセットのリストを有する。これらのオプションすべては、NC1160オブジェクトに返されて、NC1160オブジェクトは、コレクタ1150をインスタンス化して、新規のインスタンスを管理し、コレクタ1150に対してリソースのための交渉を要求する。新規にインスタンス化されたコレクタ1150(BRDS)は、使用可能なリソースおよびポリシーに対してオプションを分析して、ライブラリBRLS1130.1132,および1134とリソースについて交渉する。その後、すべてのリソースがポリシー内で取得できることを前提として、要求時間においてのサービスの構築がスケジュールされる。(リソースが取得できない場合には、新規の顧客1105要求は失敗に終わる)。リソース予約の開始時間が到来すると、BRDS219はリソースを取得して、リソース・ハンドルをNC1160へ送り、NC1160は、Build1112要求をPRS1110へ送る。供給されるポリシーの型の1つは、取得ポリシーであるが、他の必要なポリシーは、リソース型に固有であってもよく、この時に供給されることになろう。なお、PMRS1180は、PRS110と、MRS1170との論理的関連物である。PMRSの詳細は、整理番号YOR920030588PCT1の出願「コンピューティング・ユーティリティのためのコンピューティング環境のコンポーネント化された自動プロビジョニングおよび管理」に記載されている。Build1112要求の結果、PRS1110は、コンピューティング環境に関連付けられるようなMRS1170を作成する。この処理が完了すると、PRS1110は、新規のMRS1170の識別子をNC1160に返し、NC1160は、コレクタ1150を、コンピューティング環境についてのルートMRS1170の身元で更新する。
コレクタが一旦ハンドルを有すれば、図13において点線によって示されるように、管理する新たなインスタンス化されたサービスに関連付けられる。代替実施形態例において、NCにbuild1112要求をPRSへ送らせる代わりに、NCはDeliverResource要求を送り、PMRSは最初に送られるリソース要求はbuildを示すことを理解してもよいだろう。
代替実施形態において、新規の顧客要求が到達した場合にBRDSが新規のコレクタをインスタンス化できるように、NCの機能をコレクタに組み合わせることができる。新規のコレクタは、初期化の一部として、NCに割り当てられたすべてのステップを経る。これらのステップの完了時に、NCは完成し、サービスが動作可能となってもよい。ホストとされる環境が要求を満たす能力を持っていない場合もあり、その場合には、新規の顧客についての要求は拒絶されることになろう。先に示したように、このホストとされる環境は、何らかの他のホストとされる環境内にあるかもしれないリソースを取得および使用する能力がある。その結果、ホストとされる環境は、必要なリソースのすべてを有しては折らず、許容可能な条件のセットで、何らかの他のホストとされる環境からリソースを取得することができ、その後、新規の顧客に対する要求が拒絶されずに受理されることができる。他のホストとされる環境から取得したリソースは、本環境においてはまだBRLSとして表されることになる。ホストとされる環境が複数のホストとされる環境から来たBRLSを含む場合、取得ポリシーを内部リソースに対する外部リソースの使用を管理するために供給できるように、BRLSの型が決められる。
図14は、スミス・ファスナー社120のコンピューティング環境のセットのプロビジョニング目的のための分配の一例を示す。スミス・ファスナーは、どのサービスを組織内で使用したいか、および組織のどの部分が各サービスを保有(または加入)するかを決めなければならなかった。また、スミスは、リソースをそのドメインにどのように割り当てるか、およびどのような割り当ておよび分散ポリシーが各ドメイン用であるかを決めなければならなかった。このようなプロビジョニングの決定は、プロビジョンされたサービスをスミス・ファスナーのどの従業員が使用するようになるかということと交差するものである。ドメインおよびコンピューティング環境を作成する際の案内となる原則は、プロビジョンされる少なくとも1つのコンピューティング環境、確立される少なくとも2つのサブ・ドメイン、または少なくとも1つのコンピューティング環境と1つのサブ・ドメインがある場所にのみ、ドメインを挿入するということである。この原則により、サブ・ドメインが1つあるだけの長い列のドメインを回避することができる。スミス・ファスナー社120は、企業レベルアプリケーション1と、アプリケーション5という2つのアプリケーションをプロビジョンおよび制御する旨決定している。会計アプリケーションであるアプリケーション12は、企業と、調査部121、財務部122、ハードウェア123、およびマーケティング124の各部で使用されることになっている。ハードウェア部は、各製品部門であるボルト127、ねじ128、およびヒンジ129が同一の工学設計アプリケーション9の独自のインスタンスを使用することを決定している。また、ヒンジ部門129は、2つの追加のアプリケーションであるアプリケーション10およびアプリケーション11を試しに使用している。マーケティングは、各第1地域125および第2地域126がマーケティング活動の管理のために同一のアプリケーションであるアプリケーション3の独自のインスタンスを使用することを決定している。マーケティングの第2地域126は、2つの別々の地域である北部130および南部131に分割されている。これらの各地域は、地域レベルでアプリケーション3に入力する情報を収集するために、アプリケーション4の独自のインスタンスを使用する。スミス・ファスナー120のリソース取得および分配ポリシーは、主要ドメインである調査121、財務122、ハードウェア123、およびマーケティング124がそれぞれタスクを達成するために必要なリソースを有することを保証している。加えて、マーケティング124および財務122は、4半期末および年度末間に、互いの再割り当ては認められないが、他の部署から再割り当てされたリソースを有することができる。しかしながら、他の部署が機能しなくなるほどの数多くのリソースを取ることは認められない。
これらすべての決定がコンピューティング環境を有するドメイン構造にマッピングされると、以下のようになる。ルート・ドメイン120は、App01 150と、App12 151と、App05 152という3つのアプリケーションを有する。また、ルート・ドメイン120は、調査121、財務122、ハードウェア123、およびマーケティング124という4つのサブ・ドメインを有する。調査121と財務122というサブ・ドメインは、それぞれ、1つのアプリケーションを使用する。この場合、それぞれ、同一のアプリケーションApp12 155およびApp12 156の別々のインスタンスを有する。本発明は、ユーザの観点から、ドメイン間でアプリケーションの単一のインスタンスの共有を禁止するものではない。例えば、図14において、App01は、調査および財務の両方によって使用できると共に、ルート・ドメインによっても使用できる。しかしながら、プロビジョニング(およびプロビジョニングの管理)の観点から、アプリケーションの各インスタンスは、組織内において単一のプロビジョニング点を有する。図面の詳細な説明に戻る。ハードウェア・ドメイン123は、3つのサブ・ドメインと、それに関連する単一のアプリケーションとを有する。ハードウェア123のサブ・ドメインは、ボルト部門127、ねじ部門128、およびヒンジ部門129である。ハードウェアに関連したアプリケーションは、App12 157である。マーケティング・ドメイン124は、それに関連する2つのサブ・ドメインを有する。アプリケーションは、App12 153およびApp03 154であり、ドメインは、第1地域125および第2地域126である。これらの地域のそれぞれは、App03の独自のインスタンスを有する。第1地域125は、App03 161を使用し、第2地域126は、App03 158を使用する。第2地域126は、さらに北部130と南部131とに分割され、第2地域126の各サブ・ドメインは、App04の独自のコピーを有し、北部はApp04 163を、南部はApp04 162を使用する。
図15は、図14のコンピューティング環境およびドメイン構造から生じたコレクタ階層を示す。コレクタ階層を作成するには、ルート・ドメインから始めて、コレクタを挿入する。次に、ドメイン・ツリーのルート・ドメインを検査して、コンピューティング環境が1つしかないかどうかを調べ、もしそうならば、このコンピューティング環境についてのPMRSを挿入して終了する。そうでなければ、ルート・ドメインは、1つより多くのコンピューティング環境またはサブ・ドメインを有している。ルート・ドメインの各今ピューティング環境について、コレクタおよびPMRSを挿入する。残りのサブ・ドメインは、ドメイン処理リストに置く。このアルゴリズムを、ドメイン処理リストが空になるまで、ドメイン処理リスト上の各ドメインに適用する。基本的には、このアルゴリズムは、ドメインのルート・ドメインおよびコンピューティング環境ツリーで開始する第1の検索で使用される。このアルゴリズムが図14に適用されると、コレクタ階層は図15の結果となる。PMRSの型が決められ、図15において、PMRS名の末尾2桁は、その型を表しており、PMRS01は、図14のApp01のインスタンスを管理するPMRSである。図15の詳細な説明に戻ると、コレクタSFC1320が挿入される。なぜならば、図14のスミス・ファスナー社120は、1つより多くのアプリケーションを有しているからである。図14において、スミス・ファスナー120は、3つのアプリケーションを有している。したがって、アプリケーション1,12,5であって、コレクタPMRS構造が挿入されていた。アプリケーション1に関しては、これはコレクタ1352およびPMRS01 1374であり、アプリケーション12に関しては、これはコレクタ1351およびPMRS012 1373であり、アプリケーション5に関しては、これはコレクタ1350およびPMRS05 1371である。次に、アルゴリズムをスミスのサブ・ドメインに適用する。なお、図14のサブ・ドメインである調査121および財務122の鎖には1つのアプリケーションであるアプリケーション12しかない。その結果、各サブ・ドメインについて、コレクタおよびPMRS構造が階層に挿入される。図14の調査121については、コレクタ1321およびPMRS12 1370が挿入され、図14の財務122については、コレクタ1322およびPMRS12 1372が挿入される。図14において、ハードウェア123およびマーケティング124は、複数のサブ・ドメインおよびアプリケーションを有する。次に、アルゴリズムを、ハードウェアおよびマーケティングのサブ・ドメインに適用する。ハードウェアについては、コレクタ1323が挿入され、マーケティングについては、コレクタ1324が挿入される。図14において、ハードウェアは、ボルト127、ねじ128、およびヒンジ129という3つのサブ・ドメインと、それに関連するアプリケーション12という1つのアプリケーションとを有する。よって、PMRSコレクタ階層が、適用のためにコレクタ1323に追加される。図14において、ハードウェア・ドメインのうちの2つであるボルト127およびねじ128は、それに関連する1つのアプリケーションしかない。図15において、コレクタPMRS構造が、これらのサブ・ドメインのそれぞれに関連付けられる。ボルトについては、コレクタ1327およびPMRS09 1376であり、ねじについては、コレクタ1328およびPMRS09 1377である。図14において、ハードウェア123の第3の部門であるヒンジ129は、それに関連する3つのアプリケーションを有するので、図15において、コレクタ1329が挿入される。図14において、マーケティングは、2つのアプリケーションと、2つのサブ・ドメインとを有する。これらのアプリケーションは、App12 153およびApp03 154であり、サブ・ドメインは、第1地域125および第2地域126である。図15において、コレクタPMRS階層が各アプリケーションに挿入された。これらは、アプリケーション12については、コレクタ1354およびPMRS12 1378であり、アプリケーション3については、コレクタ1355およびPMRS12 1379である。図14において、1つのサブ・ドメインである北部130は、App04 163という、それに関連するアプリケーションを1つしか有していない。図15において、コレクタPMRS階層が挿入される。これは、コレクタ1330およびPMRS1384である。図14において、マーケティングの他方のサブ・ドメインである第2地域126は、1つのアプリケーションと、2つのサブ・ドメインとを有する。その結果、図15において、コレクタであるコレクタ1326が挿入される。図14のヒンジ129に戻ると、App11 164、App09 165、およびApp10 166という、それに関連する3つのアプリケーションを有する。図15において、コレクタPMRS階層が各アプリケーションに挿入される。これらは、アプリケーション11については、コレクタ1356およびPMRS11 1381であり、アプリケーション9については、コレクタ1357およびPMRS11 1382であり、アプリケーション10については、コレクタ1358およびPMRS11 1383である。最後に、図14の第2地域126を検査する。これは、1つのアプリケーションApp03 158と、2つのサブ・ドメインを有する。図14において、北部130および南部131という各サブ・ドメインは、アプリケーション4のインスタンスを有する。図15において、PMRSコレクタ階層であるコレクタ139およびPMRS03 1386をアプリケーション3に挿入する。サブ・ドメインに関しては、コレクタPMRS階層をそれぞれに挿入した。なぜならば、1つしかアプリケーションがないからである。これは、北部については、コレクタ1330およびPMRS04 1384であり、南部については、コレクタ1331およびPMRS04 1385である。これで、コレクタ・コンピューティング環境階層の構築が完了し、本発明によってリソースの階層的な管理が提供するために使用されることになる。
コレクタ・ツリーは、顧客にサービスをプロビジョンする際に最大限の柔軟性が可能となるように設計されている。これにより、プライベートBRLSがツリー内の各コレクタに関係付けられることができる。各コレクタは、自身の取得および分配ポリシーを有することができる。これにより、会社は、この場合はスミス・ファスナーであるが、そのコンピューティング・リソースの分配をさらにきめ細かく制御することができるようになる。すべての取得および分配ポリシーが同一であり、すべてのリソースがパブリックBRLSに保持される場合には、このツリーは必要なく、平らなツリーで十分であろう。階層を使用することにより、組織内でのリソースの分配および使用に対してさらにきめ細かな制御が得られる。
本発明は、相互参照出願である「コンピューティング・ユーティリティのためのコンピューティング環境のコンポーネント化された自動プロビジョニングおよび管理」、および「コンピューティング・ユーティリティ・システムにおけるアービトレーションのための装置」に記載された発明と共に使用すると有用である。使用の一例は、これらの発明を組み合わせて、オン・デマンド・サービスを顧客の集合に提供することである。
本発明について説明した変更態様は、各特定の応用にとって望ましい任意の組み合わせにおいて実現可能である。よって、本明細書に記載された特定の限定または実施形態の拡張あるいはその両方は、ある特定の応用には特に利点があるかもしれないが、すべての応用にとって使用される必要はない。また、本発明の1つ以上の概念を含む方法、システム、または装置あるいはそのすべてにおいて、限定がすべて実施される必要はない。
本発明は、ハードウェア、ソフトウェア、またはハードウェアおよびソフトウェアの組み合わせで実現できる。本発明に係る視覚化ツールは、1つのコンピュータ・システムにおいて一元的なやり方で、または、互いに異なる要素が、相互接続されたコンピュータ・システムに渡って分散されるような分散的なやり方で、実現できる。どのような種類のコンピュータ・システム、または本明細書に記載の方法または機能あるいはその両方を実行するために適応された他の装置も好適である。ハードウェアおよびソフトウェアの典型的な組み合わせは、汎用コンピュータ・システムであって、ロードおよび実行されると本明細書に記載の方法を実行するようにコンピュータ・システムを制御するコンピュータ・プログラムを有するものが挙げられよう。本発明は、本明細書に記載の方法の実施を可能にするすべての特徴を備えており、コンピュータ・システムにロードされるとこれらの方法を実行するコンピュータ・プログラム製品に組み込むこともできる。
本件のコンピュータ・プログラム手段またはコンピュータ・プログラムは、情報処理能力を有するシステムに対して特定の機能を直接もしくは他の言語、符号、または異なる物質形式の複製に変換後のいずれかに実行させるように意図された命令のセットの、任意の言語、符号、または表記での任意の表示を含む。
よって、本発明は、上述の機能を生じさせるためのコンピュータ読み取り可能なプログラム・コード手段を内部に実施するコンピュータ使用可能な媒体を備える製品を含む。製品内のコンピュータ読み取り可能なプログラム・コード手段は、コンピュータに対して本発明の方法のステップを生じさせるコンピュータ読み取り可能なプログラム・コード手段を備える。同様に、本発明は、上述の機能を生じさせるためのコンピュータ読み取り可能なプログラム・コード手段を内部に実施するコンピュータ使用可能な媒体を備えるコンピュータ・プログラム製品として実施されてもよい。コンピュータ・プログラム製品内のコンピュータ読み取り可能なプログラム・コード手段は、コンピュータに対して本発明の1つ以上の機能を生じさせるコンピュータ読み取り可能なプログラム・コード手段を備える。さらに、本発明は、機械によって読み取り可能で、本発明の1つ以上の機能を生じさせるための方法ステップを行うために機械によって実行可能な命令プログラムを明確に実施するプログラム記憶装置として実施されてもよい。
なお、以上は、本発明のより適切な目的および実施形態のいくつかを概説したものである。本発明は、多くの適用のために使用されてもよい。よって、特定の仕組みおよび方法について説明したが、本発明の意図および概念は、他の仕組みおよび方法にも好適かつ適用可能である。開示された実施形態に対する修正が、本発明の精神および範囲から逸脱することなく生じうることは、当業者にとって明確であろう。説明した実施形態は、本発明のより顕著な特徴および応用のいくつかを単に例示にするに過ぎないと解釈されるべきである。開示された発明を違うやり方で適用するか、または当業者に周知のやり方で本発明を修正することによって、利益となる他の結果を得ることができる。
ホストとされる環境のコンポーネントを示す。 企業の構成の一例を示す。 本発明に係るコンピューティング・ユーティリティ・システムにおけるコンポーネントを示す。 本発明に係るコンピューティング・ユーティリティ管理におけるライブラリ・コンポーネントの動作を示す。 本発明に係るコンピューティング・ユーティリティ内のコレクタの階層を示す。 Aは本発明に係る企業のユニットに割り当てられるアプリケーションを示す。Bは本発明に係るプロビジョニングのために図6Aのアプリケーションはどのように構成できるかを示す。 本発明に係る複数のルート・コレクタを有するコンピューティング・ユーティリティを示す。 本発明に係る集まりへのリソース・プールの関連付けを示す。 本発明に係るコンピューティング・ユーティリティ内で取得ポリシーをどのようにチェックするかを示す。 コンピューティング・ユーティリティ内で使用可能なリソースをどのように見つけるかを示す。 本発明に係るコンピューティング・ユーティリティにおいてプロビジョンおよび管理リソース・サービス(PMRS)とベース・リソース分配サービス(BRDS)との間の対話を示す。 本発明に係るコンピューティング・ユーティリティの動作中にコレクタがどのように機能するかを示す。 本発明に係るコンピューティング・ユーティリティにどのように新規サービスを追加するかを示す。 本発明に係る企業内に置けるアプリケーション割り当てを示す。 本発明に係る、図14の割り当てに関するコレクタの階層を示す。

Claims (22)

  1. エンティティに対して少なくとも1つのドメインの階層的な管理を提供するためのプログラムであって、コンピュータに、
    前記少なくとも1つのドメインの階層的な表示を取得するステップであって、前記表示は、管理すべきコンピューティング環境のリストと、前記少なくとも1つのドメインについてのリソース・ライブラリからの少なくとも1つのリソースの取得を制御する少なくとも1つのポリシーと、前記少なくとも1つのドメイン内の任意のサブ・ドメインとを含む、ステップと、
    前記表示をインスタンス化するステップと
    実行させるためのプログラム
  2. 前記コンピュータに、
    前記階層的な管理を提供する際に、コンピューティング環境の前記リストに必要なリソースを導出するステップと、
    前記リソースのセットのためのリソースを前記少なくとも1つのドメインに提供するステップとをさらに実行させるための、請求項1に記載のプログラム
  3. 前記コンピュータに、前記表示の前記少なくとも1つのポリシーを更新するステップをさらに実行させるための、請求項1に記載のプログラム
  4. 前記コンピュータに、ライブラリ・サービスを使用するステップをさらに実行させるための、請求項1に記載のプログラム
  5. 前記使用するステップは、コンピューティング環境の前記リストによって要求されたリソースのセットを予約するステップを含む、請求項4に記載のプログラム
  6. リソースの予約されたセットを取得して、リソースの前記セットからの少なくとも1つのリソースを使用するステップをさらに含む、請求項5に記載のプログラム
  7. ベース・リソースの量および型の両方が経時変化する、請求項4に記載のプログラム
  8. コンピューティング・ユーティリティに対して少なくとも1つのドメインの階層的な管理を提供するための手段を備える装置であって、階層的な管理を提供するための前記手段は、
    前記少なくとも1つのドメインの階層的な表示を取得するための手段であって、前記表示は、管理すべきコンピューティング環境のリストと、前記少なくとも1つのドメインについてのリソース・ライブラリからの少なくとも1つのリソースの取得を制御する少なくとも1つのポリシーと、前記少なくとも1つのドメイン内の任意のサブ・ドメインとを含む、手段と、
    前記表示をインスタンス化するための手段とを備える、装置
  9. エンティティの階層的な表示を作成するためのプログラムであって、コンピュータに、
    前記エンティティをドメインのドメイン・ツリーに組織化するステップであって、各ドメインは、前記エンティティ内の組織を表し、前記各ドメインは、コンピューティング・ユーティリティからコンピューティング環境とリソースとを取得する、ステップと、
    各ドメインに関連付けられたコンピューティング環境を決定するステップと、
    ドメイン毎に取得ポリシーと分配ポリシーとを決定するステップと、
    前記ドメイン・ツリーをコレクタ階層に変換するステップと、
    前記コレクタ階層をホストとされる環境のためのホストとされるルート・コレクタに接続するステップと
    を実行させるためのプログラム
  10. 前記コンピュータに、前記ホストとされる環境を使用して、少なくとも1つのコンピューティング環境と、少なくとも1つのリソースとを前記エンティティにプロビジョンするステップをさらに実行させるための、請求項9に記載のプログラム
  11. 前記接続するステップは、前記ホストとされる環境の複数の顧客のコレクタ階層を前記ホストとされるルート・コレクタに接続するステップを含む、請求項9に記載のプログラム
  12. 前記変換するステップは、
    前記コレクタ階層の階層ルート・コレクタとしてコレクタを挿入するステップと、
    前記ドメイン・ツリーの前記ルート・ドメインのコンピューティング環境の数と、前記ドメイン・ツリーのルート・ドメインのサブ・ドメインが存在するかどうかを判断するステップと、
    コンピューティング環境が1つだけであり、前記ドメイン・ツリーのルート・ドメインのサブ・ドメインが存在しない場合には、PMRSを前記コレクタ階層に挿入して、前記変換するステップを中止し、そうでなければ、前記ドメイン・ツリーの前記ルート・ドメインのコンピューティング環境毎に、コレクタと、PMRSとを前記コレクタ階層の前記ルート・コレクタに追加するステップと、
    コンピューティング環境を1つだけ有する前記ドメイン・ツリーの前記ルート・ドメインのサブ・ドメインを判断するステップと、
    コンピューティング環境を1つだけ有し、他のサブ・ドメインを有しない前記ドメイン・ツリーの前記ルート・ドメインのサブ・ドメイン毎に、PMRSを前記コレクタ階層に挿入するステップと、
    コンピューティング環境を1つより多く有するか、または他のサブ・ドメインを有する前記ドメイン・ツリーの前記ルート・ドメインのサブ・ドメイン毎に、前記各サブ・ドメインをドメイン処理リストに載せるステップと、
    コレクタを挿入するステップと、あたかもルート・ドメインであるかのように前記ドメイン処理リスト上のドメイン毎にコンピューティング環境の数を判断するステップと、コンピューティング環境を1つだけ有する前記ドメイン・ツリーの前記ルート・ドメインのサブ・ドメインを判断するステップとを、前記ドメイン処理リストが空になるまで繰り返すステップとを含む、請求項9に記載のプログラム
  13. コンピュータ・ユーティリティにおける複数のドメインを表すために複数のコレクタを備える装置であって、各前記コレクタは、少なくとも1つの他のコレクタにリンクされており、各コレクタは、
    ドメイン毎の予約リソースを制御するためのコントローラと、
    任意のポリシーを解釈するためのポリシー・アドバイザと、
    コンピューティング環境のためのリソース取得を管理するためのリソース・マネージャとを有する、装置
  14. 前記装置は、少なくとも1つのベース・リソース・ライブラリ・サービスを備え、少なくとも1つのコレクタが、前記少なくとも1つのベース・リソース・ライブラリ・サービスに関連付けられ、前記ベース・リソース・ライブラリ・サービスは、リソース動作インターフェースと、カタログ・インターフェースとを有する、請求項13に記載の装置
  15. 前記少なくとも1つのベース・リソース・ライブラリ・サービスは、少なくとも1つのドメインにライブラリ・サービスを提供するためのパブリック・ベース・リソース・ライブラリ・サービスを含み、前記ベース・リソース・ライブラリ・サービスは、リソース動作インターフェースと、カタログ・インターフェースとを有する、請求項14に記載の装置
  16. 前記コンピュータに、
    リソースの特定の組み合わせに対する要求を行う要求コンピューティング環境の前記ポリシーの前記表示をチェックして、前記要求を満足することが、前記要求コンピューティング環境の前記ポリシー内であることを検証するステップと、
    任意のルートコレクタに到達するまで、要求コレクタのすべての親コレクタについてチェックするステップを繰り返すステップとをさらに実行させるための、請求項1に記載のプログラム
  17. 前記コンピュータに、
    前記ポリシーが任意のルート・コレクタまで満足されたかどうかを判断するステップと、
    前記ポリシーが満足されていれば、前記要求に応じ、そうでなければ前記要求を否定するステップとをさらに実行させるための、請求項16に記載のプログラム
  18. 前記コンピュータに、
    リソースの特定の組み合わせに対する要求を行うステップと、
    リソースの前記組み合わせの検索を開始する開始コレクタを決定するステップと、
    リソースの前記組み合わせから、探索済みリソースである少なくとも1つのリソースを前記開始コレクタは有するかどうかをチェックするステップと、
    リソースの前記組み合わせから、探索済みリソースである少なくとも1つのリソースを含む少なくとも1つのライブラリがあるかどうかをチェックするステップと、
    各コレクタにおける前記チェックを開始コレクタから任意のルートコレクタへ繰り返すステップと、
    前記組み合わせのすべてのリソースが探索済みリソースである場合は、すべての探索済みリソースを予約し、そうでなければ要求を拒絶するステップとをさらに実行させるための、請求項1に記載のプログラム
  19. 前記コンピュータに、アービトレーションを呼び出して、リソースの前記組み合わせからのすべてのリソースを探索することを継続するステップをさらに実行させるための、請求項18に記載のプログラム
  20. 前記コンピュータに、前記少なくとも1つのリソースを複数の顧客に提供されるサービスに組織化するステップをさらに実行させるための、請求項1に記載のプログラム
  21. 前記コンピュータに、ベース・リソースをライブラリ・サービスに割り当てるステップをさらに実行させるための、請求項1に記載のプログラム
  22. 前記コンピュータに、サービス詳細を満たすベース・リソースから複合リソースを構築するステップをさらに実行させるための、請求項21に記載のプログラム
JP2006551026A 2004-01-30 2004-01-30 コンピューティング・ユーティリティ・システムにおけるアービトレーションのための装置 Expired - Lifetime JP4568289B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2004/002741 WO2005081137A1 (en) 2004-01-30 2004-01-30 Hierarchical resource management for a computing utility

Publications (2)

Publication Number Publication Date
JP2007526558A JP2007526558A (ja) 2007-09-13
JP4568289B2 true JP4568289B2 (ja) 2010-10-27

Family

ID=34887938

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006551026A Expired - Lifetime JP4568289B2 (ja) 2004-01-30 2004-01-30 コンピューティング・ユーティリティ・システムにおけるアービトレーションのための装置

Country Status (4)

Country Link
EP (1) EP1723550A4 (ja)
JP (1) JP4568289B2 (ja)
CN (1) CN100547585C (ja)
WO (1) WO2005081137A1 (ja)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005081672A2 (en) * 2004-01-30 2005-09-09 International Business Machines Corporation Componentized automatic provisioning and management of computing environments for computing utilities
US8000260B2 (en) 2006-06-19 2011-08-16 International Business Machines Corporation Method for dynamic information technology infrastructure provisioning
US8601253B2 (en) * 2008-04-24 2013-12-03 International Business Machines Corporation Dynamic provisioning in data processing environment
US11106479B2 (en) 2010-09-30 2021-08-31 Amazon Technologies, Inc. Virtual provisioning with implementation resource boundary awareness
SG188455A1 (en) * 2010-09-30 2013-04-30 Amazon Tech Inc Virtual resource cost tracking with dedicated implementation resources
US10013662B2 (en) 2010-09-30 2018-07-03 Amazon Technologies, Inc. Virtual resource cost tracking with dedicated implementation resources
JP5461448B2 (ja) * 2011-01-17 2014-04-02 日本電信電話株式会社 資源予約装置及び方法及びプログラム
US9722866B1 (en) 2011-09-23 2017-08-01 Amazon Technologies, Inc. Resource allocation to reduce correlated failures
US20150200872A1 (en) * 2014-01-13 2015-07-16 Cisco Technology, Inc. Cloud resource placement based on stochastic analysis of service requests

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2671804B2 (ja) * 1994-05-27 1997-11-05 日本電気株式会社 階層型資源管理方法
US6715073B1 (en) * 1998-06-04 2004-03-30 International Business Machines Corporation Secure server using public key registration and methods of operation
US6678835B1 (en) * 1999-06-10 2004-01-13 Alcatel State transition protocol for high availability units
US6708187B1 (en) * 1999-06-10 2004-03-16 Alcatel Method for selective LDAP database synchronization
US6401211B1 (en) * 1999-10-19 2002-06-04 Microsoft Corporation System and method of user logon in combination with user authentication for network access
EP1107108A1 (en) * 1999-12-09 2001-06-13 Hewlett-Packard Company, A Delaware Corporation System and method for managing the configuration of hierarchically networked data processing devices
US6718361B1 (en) * 2000-04-07 2004-04-06 Network Appliance Inc. Method and apparatus for reliable and scalable distribution of data files in distributed networks
US6785756B2 (en) * 2001-05-10 2004-08-31 Oracle International Corporation Methods and systems for multi-policy resource scheduling
US7174379B2 (en) * 2001-08-03 2007-02-06 International Business Machines Corporation Managing server resources for hosted applications
US6952828B2 (en) * 2001-09-26 2005-10-04 The Boeing Company System, method and computer program product for dynamic resource management

Also Published As

Publication number Publication date
CN1914608A (zh) 2007-02-14
WO2005081137A1 (en) 2005-09-01
CN100547585C (zh) 2009-10-07
EP1723550A4 (en) 2008-07-16
EP1723550A1 (en) 2006-11-22
JP2007526558A (ja) 2007-09-13

Similar Documents

Publication Publication Date Title
US8655997B2 (en) Hierarchical resource management for a computing utility
US11681562B2 (en) Resource manager for managing the sharing of resources among multiple workloads in a distributed computing environment
JP4867660B2 (ja) コンピューティング・ユーティリティのためのコンピューティング環境のコンポーネント化された自動プロビジョニングおよび管理
US9886322B2 (en) System and method for providing advanced reservations in a compute environment
CN100570569C (zh) 网格计算环境下的作业跨域控制方法
EP2802998B1 (en) Assignment of resources in virtual machine pools
EP2802981B1 (en) Decoupling paas resources, jobs, and scheduling
US7752624B2 (en) System and method for associating workload management definitions with computing containers
EP1589418A2 (en) Application-aware system that dynamically partitions and allocates resources on demand
CN104040485A (zh) Paas分层调度和自动缩放
US7487258B2 (en) Arbitration in a computing utility system
JP4568289B2 (ja) コンピューティング・ユーティリティ・システムにおけるアービトレーションのための装置
KR20040075307A (ko) 정책 쿼럼 기반의 그리드 자원 관리 시스템 및 그 방법
CN114564299A (zh) 资源调度方法、装置及系统
Radecki et al. Reservations for compute resources in federated e-infrastructure
Wang et al. Multi-users Coordinated Sharing Grid Resource Management System
Dhivyaprabha QoS agent based framework and algorithm for task scheduling in grid
Cui et al. Business processes management based on stratified grid
Al-Theneyan et al. A resource brokering infrastructure for computational grids
Jothi et al. High Pace Intranet Grid Computing Over the Internet
Vasques A Decentralized Utility-based Scheduling Algorithm for Grids
Anitha Flexible and Scalable of Multi-Cloud Using Hierarchial Structure

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070129

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070129

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20070531

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20070601

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20091029

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20091104

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100204

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: 20100803

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: 20100806

R150 Certificate of patent or registration of utility model

Ref document number: 4568289

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20130813

Year of fee payment: 3

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

EXPY Cancellation because of completion of term