JP2017076427A - リソーススタック内のカスタムリソース - Google Patents

リソーススタック内のカスタムリソース Download PDF

Info

Publication number
JP2017076427A
JP2017076427A JP2016248865A JP2016248865A JP2017076427A JP 2017076427 A JP2017076427 A JP 2017076427A JP 2016248865 A JP2016248865 A JP 2016248865A JP 2016248865 A JP2016248865 A JP 2016248865A JP 2017076427 A JP2017076427 A JP 2017076427A
Authority
JP
Japan
Prior art keywords
resource
provider
configuration
resources
stack
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.)
Granted
Application number
JP2016248865A
Other languages
English (en)
Other versions
JP6322694B2 (ja
Inventor
ジャイシンガーニ,アヴィナシュ
Jaisinghani Avinash
クレイマー,レト
Kramer Reto
ジャヤラマン,プラシャント
Jayaraman Prashant
ウィテカー,クリストファー
Whitaker Christopher
パラマシヴァム バラクリシュナン,ヴェンカテス
Paramasivam Balakrishnan Venkates
パラマシヴァム バラクリシュナン,ヴェンカテス
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.)
Amazon Technologies Inc
Original Assignee
Amazon Technologies Inc
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 Amazon Technologies Inc filed Critical Amazon Technologies Inc
Publication of JP2017076427A publication Critical patent/JP2017076427A/ja
Application granted granted Critical
Publication of JP6322694B2 publication Critical patent/JP6322694B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • H04L47/82Miscellaneous aspects
    • H04L47/827Aggregation of resource allocation or reservation requests
    • 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
    • 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/0806Configuration setting for initial configuration or provisioning, e.g. plug-and-play
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/329Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]

Landscapes

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

Abstract

【課題】カスタムリソースをリソーススタックと統合する。
【解決手段】プロバイダから利用可能なリソース、および第2のプロバイダによって提供される1つ以上のカスタムリソースを含むリソーススタックを定義するテンプレートを作成する。リソーススタックが作成されると、プロバイダから利用可能なリソースをプロビジョニングし、リソーススタックとのリクエストされた統合および構成詳細を第2のプロバイダに通知することによってカスタムリソースを初期化する。第2のプロバイダは、カスタムリソースの初期化に成功すると初期化成功の指示と共に応答し、リソースを初期化した後、リソーススタックの使用を有効にする。
【選択図】図1

Description

組織は、その運営のサポートに多様なコンピューティングリソースを利用する場合がある。コンピューティングは、コンピューティングリソース、データストレージリソース、およびネットワークリソース等、多種多様なリソースを含む。コンピューティングリソースはしばしば、サービスとしても提供される。このようなサービスのプロバイダは、アプリケーションをホストするマシン、アプリケーションデータを記憶するストレージ、反復するデータリクエストに迅速に応答するキャッシュ、およびリソース間の通信を有効にするためにネットワーキングへのアクセスを提供する場合がある。リソースは、データセンター(単数または複数)に物理的にホストされ、他者によって遠隔かつプログラム的に管理される場合がある。データセンターサービスを利用することによって、顧客は、ハードウェアの必要性が予想される購入ではなく、プロバイダからのコンピューティングおよび/またはリソースの使用に対して代価を支払うことができる。これによって、顧客は、需要に応じてコンピューティングサービスの使用を拡大および縮小することが可能になる。
例えば、アプリケーションは、開発者または管理者が使用を監視して予想するのではなく、必要に応じてさらに多くのストレージをリクエストするように構成されてもよい。このオンデマンドのインフラストラクチャモデルは、サービスとしてのインフラストラクチャ(Infrastructure as a Service)(IaaS)と呼ぶことができる。IaaSモデル内のリソースの集合体はしばしば、リソーススタックと呼ばれる。
他のプロバイダモデルとして、サービスとしてのプラットフォーム(Platform as a Service)(PaaS)およびサービスとしてのソフトウェア(Software as a Service)(SaaS)が挙げられる。PaaSモデルでは、プロバイダは、開発者がアプリケーションを構築することができる実行環境を提供する。例えば、プロバイダは、オペレーティングシステム、プログラミング言語実行環境、データベース、および顧客がウェブアプリケーションを構築することができるウェブサーバーを提供することができる。SaaSモデルでは、プロバイダは、顧客によってアクセスされてもよいアプリケーションを提供する。例えば、顧客は、アプリケーションに対する単一のインターフェースしか見ることができないが、SaaSプロバイダは、クライアントの需要を満たすようにアプリケーションを動的に拡大することができる。
本開示に従う様々な実施形態が、以下の図面を参照して説明される。
少なくとも1つの実施形態に従う、リソーススタックを含むシステムの図示例を示す。 少なくとも1つの実施形態に従う、リソーススタックを含むシステムの図示例を示す。 少なくとも1つの実施形態に従う、メッセージの図示例を示す。 少なくとも1つの実施形態に従う、使用することができるプロセスの図示例を示す。 少なくとも1つの実施形態に従う、使用することができるプロセスの図示例を示す。 少なくとも1つの実施形態に従う、使用することができるプロセスの図示例を示す。 多様な実施形態を実装することができる環境を示す。
以下の説明において、多様な実施形態を説明する。説明を目的として、実施形態の完全な理解を提供するために、特定の構成および詳細を記載する。しかしながら、当業者には、特定の詳細を用いることなく実施形態を実践できることも明らかであろう。さらに、周知の特徴は、説明される実施形態を曖昧にしないために、省略または簡素化される場合がある。
本明細書に説明かつ提案される技法は、第2のプロバイダとの通知システムを使用して、第2のプロバイダからのカスタムリソースをリソーススタックに統合するリソーススタックテンプレートから、リソーススタックプロバイダによって管理されるリソーススタックを作成することを含む。例えば、リソーススタックプロバイダは、リソーススタックを形成する相互依存的リソースの集合体を作成するためのツールを提供してもよい。リソーススタックプロバイダは、リソーススタックに含めることができる、リソーススタックプロバイダが管理するリソースのカタログを有してもよい。リソーススタックプロバイダによって管理されないリソースを含む、他のリソースは、カスタムリソースがカスタムリソースプロバイダによって管理される場合であっても、カスタムリソースとしてリソーススタック内で使用するためにカタログに依然として含まれてもよい。これによって、リソーススタックプロバイダの内部要件に従わないリソースが、リソーススタックに含まれることが可能になる。カスタムリソースプロバイダは、リソーススタックの一部としてカスタムリソースを作成、読み出し、更新、および破壊するためのリクエストを通信する際に使用するために、リソーススタックプロバイダに対して、テンプレート、統合、構成、および/または通信情報を提供してもよい。テンプレートの適切な構築は、リソーススタックを組み立てるテンプレートを構築するユーザーに提供される文書に記述されてもよい。
一実施形態において、顧客は、リソーススタックを定義するテンプレートを作成、選択、またはさもなければ指定することができる。リソーススタックは、リソーススタックプロバイダから利用可能なリソースと、第2のプロバイダによって提供される1つ以上のカスタムリソースとを含むことができる。テンプレートはまた、カスタムリソースを含む、リソーススタック内のリソースをまとめて連結すること、およびリソースを構成することに関する情報も提供することができる。リソーススタックが作成されるとき、リソーススタックテンプレートが順守されてもよい。リソース間の依存関係が決定されてもよく、リソースのインスタンス化の順番が決定される。リソーススタックプロバイダから利用可能なリソースがプロビジョニングされてもよい。カスタムリソースは、カスタムリソースのプロバイダに、リソーススタックとのカスタムリソースのリクエストされた統合、およびリクエストされた構成詳細を通知することによって初期化することができる。カスタムリソースプロバイダは、カスタムリソースの初期化に成功すると、統合成功の指示と共に応答することができる。リソーススタック内のリソースおよびカスタムリソースのプロビジョニングおよび統合に成功した後、リソーススタックは使用を有効にすることができる。
カスタムリソースを統合するこのリソーススタックの利点は、他のシステムによって管理されるリソースをリソーススタックに統合できることである。これによって、リソーススタックが、プロバイダを通じて利用可能ではない可能性がある、またはリソーススタックのプロバイダからのソリューションより好ましい可能性がある、他のプロバイダからのIaaS、PaaS、およびSaaSソリューションを統合することを可能にすることができる。
カスタムリソースの初期化は、リソーススタックプロバイダからの通知への応答において、カスタムリソースのプロバイダによって実行されてもよい。通知は、カスタムリソースのプロバイダが、カスタムリソースをリソーススタックに統合することを可能にする情報を含む、またはさもなければ参照することができる。一実施形態において、リソーススタックプロバイダは、非依存部分とペイロードとを含むメッセージを構築する。非依存部分は、カスタムリソースに影響されず、リソーススタックおよび/またはテンプレートに関する情報を含むことができる。ペイロードは、カスタムリソースの構成に特定の情報を含むことができる。カスタムリソースのプロバイダは、次いで、通知と関連するリソーススタックと併用するためのカスタムリソースを初期化するために、通知からの情報を使用することができる。カスタムリソースプロバイダは、次いで、リソーススタックとの統合に成功した指示をリソーススタックプロバイダに提供することができる。一実施形態において、この指示は、成功/失敗識別子、カスタムリソースと相互作用する際に使用するためのカスタムリソース識別子、およびデフォルト設定等のカスタムリソースに特定の付加情報を含むことができる。いくつかの実施形態において、指示は、戻りメッセージを介して返される。他の実施形態において、指示は、ストレージ場所に応答を入れることによって返される。一実施形態において、メッセージサービスが使用され、プロトコルがメッセージ受信側によって選択されてもよい。
例えば、ウェブアプリケーションテンプレートは、ウェブサーバー、データベース、および外部電子メールサービスを含むことができる。テンプレートは、ウェブサーバー、データベース、および外部メインサービス間の1つ以上の依存関係を指定することができる。例えば、1つの指定された依存関係は、ウェブサーバーが稼動する前に、データベースおよび外部電子メールサービスがアクティブでなければならないことを要求することができる。スタック管理システムは、リソーススタックを作成するリクエストを受信することができる。テンプレートを使用して、スタック管理システムは、テンプレートによって指定された何らかの依存関係を順守しながら、リソーススタックのリソースをプロビジョニングするワークフローが作成されるようにすることができる。スタック管理システムのワークフロー処理システムは、ワークフローを実行し、リソーススタックの他のリソースの前に、データベースがプロビジョニングされるようにすることができる。ワークフロー処理システムは次いで、電子メールサービスとリソーススタックとの統合がリクエストされたことを、外部電子メールサービスの管理システムに通知することができる。外部電子メールサービスの管理システムは、外部電子メールサービスをリソーススタックと統合する必要性が通知されたことに応答して、外部電子メールサービスを初期化してリソーススタックと統合することができる。外部電子メールサービスの初期化に成功すると、外部電子メールサービスの管理システムは次いで、電子メールサービスとリソーススタックの統合成功の指示を返すことができる。この戻りは、外部電子メールサービスがネットワークスタック内で適切に動作するために必要な認証情報等、ウェブサーバーが外部電子メールサービスを使用するために有用な詳細情報を含むことができる。
データベースおよび外部電子メールサービスがプロビジョニング、初期化、および/または構成された後、ウェブサーバーがプロビジョニングされてもよい。ワークフロー処理システムは、仮想コンピュータシステムとして実装されてもよいウェブサーバーが、ウェブサーバーがリソーススタック内のリソースを使用することを可能にするマシンイメージおよび構成を使用して、プロビジョニングされるようにすることができる。マシンイメージは、特定のオペレーティングシステムを備える仮想コンピュータシステムを初期化するために使用される一連のデータであってもよい。いくつかの実施形態において、マシンイメージは、ハードウェアホストが、仮想コンピュータシステムとしてアクティブにし、動作するように、マシンイメージを利用することを可能にするために、永続的データストレージサービスからアクセスされ、ネットワーク上からコンピューティングリソースサービス(例えば、プログラム実行サービス)へ動作可能に接続されるブロックデータ記憶装置サービスに提供されてもよい。ウェブサーバーがアクティブになると、ワークフロー処理システムは、この例では、リソーススタックの使用を有効にすることができる。リソーススタックの使用を有効にすることは、リソーススタックがプロビジョニングされるエンティティに、リソーススタックのプログラム上の制御を提供するように、1つ以上の内部システムを再構成することを含むことができる。
いくつかの実施形態において、通知のために伝送されるメッセージの非依存部分は、スタック識別子、論理リソース識別子、一意識別子、名前空間、およびコンテキスト情報を含む。スタック識別子は、リソーススタックを参照するために使用することが可能である値を提供することができる。論理リソース識別子は、テンプレート内のカスタムリソースを参照する識別子であってもよい。一意識別子は、重複メッセージを廃棄できるように、メッセージを一意に識別することができる。名前空間は、同様な識別子の明確化を可能にするために、識別子の境界を定義することができる。コンテキスト情報は、識別子等、リソーススタック構築に関する情報を提供することができる。一実施形態において、コンテキストは、カスタムリソースがスタック内のリソースと通信時にスタック内の特定のリソースを参照することができるように、スタック内に存在するリソースの一意識別子および/または構成を含む。
前述のように、リソーススタックのリソースをプロビジョニングする間、リソーステンプレートの依存関係が順守されてもよい。依存関係は、明示的または暗示的であってもよい。明示的依存関係は、テンプレートによって指定されてもよい。例えば、明示的依存関係は、テンプレートによって、第1のリソースは、第2のリソースをアクティブにさせた後に第1のリソースを構築することができると定義されてもよい。テンプレート内の依存関係の定義はそれ自体が明示的であってもよく、および/または、例えば、テンプレートのスキーマ内のリソースの相対的位置による等、暗示的であってもよい。別の例において、明示的な依存関係は、リソースの構築の線形順序または有向非巡回グラフ(DAG)を通じて示されてもよい。暗示的な依存関係は、テンプレート内に記述されなくてもよく、他の情報源から決定されてもよい。いくつかの実施形態において、暗示的な依存関係を決定する外部ルールセットが与えられる。他の実施形態において、暗示的な依存関係を決定するために、リソース間の接続および/または構成情報が使用されてもよい。
テンプレートで使用するためのカスタムリソース定義は、カスタムリソースのプロバイダによって作成され、顧客によって使用されて、リソーススタックを定義するテンプレート内のリソーススタック定義内のカスタムリソースを統合してもよい。一実施形態において、カスタムリソースのプロバイダは、テンプレートを入力するために使用されてもよい、カスタムリソースに関する有効な情報を定義する。プロバイダはまた、テンプレートおよびカスタムリソースと併用されてもよい、通知および/または通知内のペイロードを構築する生成機能もプロバイダに提供することができる。生成機能は、少なくとも部分的にテンプレートおよび/またはリソーススタック実装詳細に基づいて、テンプレート内のカスタムリソース定義を少なくとも1つのペイロードに変換するように構成される、コンピュータシステム上に実装されたプログラミングモジュールであってもよい。プロバイダはまた、通知に応答してプロバイダからの応答を取得し、カスタムリソースを統合するようにリソーススタック内のリソースに構成および/または変更を提供する構成機能も提供することができる。構成機能は、カスタムリソースの他のリソースとの統合を終了するために、カスタムリソースプロバイダからの応答に対する応答で実行される、コンピュータシステム上に実装されたプログラミングモジュールであってもよい。
いくつかの実施形態において、リソーススタックプロバイダおよびカスタムリソースプロバイダは、1つのサービスプロバイダのサブエンティティである。例えば、サービスプロバイダは、データベース、仮想マシン、および記憶装置のプロビジョニングを管理するリソーススタックプロバイダを含む。サービスプロバイダはまた、検索機能、電子メール、ログ公開、および監視サービス等、リソーススタックプロバイダによって管理されないが、カスタムリソースを通じて統合することが可能であるサービスも含むことができる。
一実施形態において、リソーススタックプロバイダは、リソースの選択を管理し、管理機能を既に有する管理されたリソースのためのカスタムリソース構築を提供する。例えば、リソーススタックプロバイダは、電子メールおよび検索サービス等のサービスのためのカスタムリソース構築を可能にしながら、仮想マシンおよびストレージ等のインフラストラクチャを提供することができる。サービスは実際には、スタック管理システムとは異なるプロバイダによって管理される別のリソーススタックから構築されてもよい。
本明細書に記載および示唆される技術はまた、カスタムリソースを含む、リソースをまとめて作成、読み出し、更新、および破壊するためにリソーススタックを使用することができる方式を提供する。一実施形態において、ユーザーは、他を保存しながら、1つのリソーススタックの構成要素をアップグレードすることを選択することができる。例えば、ユーザーは、特定のタイプの仮想マシンインスタンスを、より高い演算能力を備える仮想マシンインスタンス等、1つ以上の点でより能力が高い仮想マシンインスタンスにアップグレードするように選択することができる。ユーザーは、より高い能力のインスタンスを含むように本来のスタックテンプレートを変更、またはユーザーインターフェースを使用してより高い能力のインスタンスを選択し、変更をリクエストすることができる。これに応答して、より高い能力のインスタンスがプロビジョニングされてもよい。仮想マシンインスタンスに依存するリソーススタックの設定は、ホスト名および/またはインターネットプロトコル(IP)アドレス等、より高い能力のインスタンスの新しい設定を使用するように変更されてもよい。別の実施形態において、カスタムリソースは、更新されたカスタムリソースに一致するように変更され、設定が更新されてもよい。例えば、テンプレートは、カスタムリソースから追加監視サービスを選択するように変更されてもよく、または、ユーザーは、ウェブブラウザ等、ユーザーインターフェースから追加監視サービスを選択することができる。通知は、リクエストされた変更に関する情報を含めて、監視サービスのプロバイダへ送信されてもよい。リソーススタックとの統合成功の指示が返されてもよい。指示と共に含まれる情報は、変更を統合するために、リソーススタック内の他のリソースをさらに構成および/または変更するために使用されてもよい。変更の統合に成功した後、変更を含むリソーススタックが使用されてもよい。
一実施形態において、カスタムリソースの使用によって、顧客のアカウントのコストが増加する場合がある。コストは、カスタムリソースに関係するアカウント、またはスタック管理システムに関係するアカウントに適用されてもよい。一実施形態において、カスタムリソースのプロバイダが、カスタムリソースの使用状況に関してリソーススタックのプロバイダに伝達して、統一請求が課されてもよい。顧客は、リソーススタックプロバイダから受理した統一請求に対して代価を支払うことができ、リソーススタックプロバイダが、その後、カスタムリソースのプロバイダに支払うことができる。いくつかの実施形態において、カスタムリソースプロバイダは、リソーススタックの使用に対する使用料金のうちのある割合を受領することができる。
プロビジョニングという用語は、コンピューティングリソースの使用に対する割り当てを含むように広義に解釈されることを意味する。いくつかの実施形態において、これはコンピューティングリソースの使用を準備することを含む。一実施形態において、リソースのプロビジョニングは、サーバーの割り当て、オペレーティングシステムのインストール、リソース上に配置されるソフトウェアのインストールおよび構成、ならびに構築されたリソースの使用を有効にすることを含む。例えば、プロビジョニングシステムは、ウェブサーバーとして使用するサーバーを選択することができる。プロビジョニングシステムは次いで、ウェブサーバーとしてサーバーを使用するために準備するワークフローを作成することができる。ワークフローの一部として、マシンイメージがサーバーにロードされてもよい。マシンイメージは、オペレーティングシステム、ウェブホスティングソフトウェア、および/または設定を含むことができる。マシンイメージをロードした後、サーバーは、オペレーティングシステムを起動させられ、任意のさらなるソフトウェアおよび/または設定を受信してもよい。このような設定は、ドメイン名および/またはウェブサイト、ならびにセキュリティ構成を含むことができる。プロビジョニングが完了した後、サーバーは、ウェブサーバーとして使用され、リソーススタックに含まれるために管理システムに返されてもよい。
ここで図1を参照すると、少なくとも1つの実施形態に従う、リソーススタック102を含むシステム100の図示例が示される。ユーザーは、ウェブアプリケーションをサポートするシステム等、システムの作成を自動化するためにリソーススタック102を定義するテンプレート104を作成することができる。テンプレート104は、リソースを定義し、リソーススタック102のリソース104、106、および108の接続、プロパティ、依存関係、識別、および/または設定を定義することができる。テンプレート104はまた、テンプレート104内に定義されたリソース間のリンクを定義することもできる。リンクすることは、ネットワーク上から相互通信し、リクエストを伝送し、応答を受信し、さもなければ相互動作するように、リソーススタックのリソースを構成することを含むことができる。テンプレートは、リソーススタック内部のリソースに利用可能な接続性および/または通信経路を定義する、リソーススタックで使用するためのネットワークトポロジ等、リソーススタックの接続を定義することができる。本明細書で使用される場合、接続は、2つ以上のリソース間の通信経路として考えられてもよい。テンプレート104は、テンプレート104内で定義されるようにリソーススタック102を作成するために、スタック管理システム110へ提出されてもよい。スタック管理システム110は、テンプレート104をパースし、リソーススタック102内のリソース104、106、および108の構築の順序を決定することができる。スタック管理システム110は、リソーススタック102のプロビジョニングを管理するために、プロビジョニングシステム111と通信することができる。プロビジョニングシステム111は、スタック管理システム110のプロバイダによって管理されるリソース104および108をプロビジョニングするようにリソースプロビジョニングシステム112にリクエストすることができる。カスタムリソース106は、カスタムリソースメッセージング114を通じる通知を通じて、カスタムリソースマネージャー116から、カスタムリソース106の初期化をリクエストすることによって初期化されてもよい。通知は、リソース104および108とのあらゆる接続を含む、カスタムリソース106をリソーススタック102に統合するために必要な情報を含むことができる。カスタムリソースマネージャー116は次いで、カスタムリソースメッセージング114を通じて、統合成功の指示を返すことができる。
指示は、スタック管理システムによって、リソーススタック102内のリソース104および/または108に適用される場合がある、カスタムリソースを識別する一意識別子を含む、設定を含むことができる。カスタムリソースの例は、電子メールサービス、ウェブサイト監視ソリューション、ログポーリングサービス、および他のIaaS、PaaS、またはSaaSサービスを含むことができる。
図示例として、リソーススタック102は、アプリケーションサーバー、データベース、および検索エンジンを含むことができる。検索エンジンは、スタック管理システム110のプロバイダの責任範囲外で管理されるカスタムリソース106であってもよい。管理責任範囲のこのような分離の例は、スタック管理システムのプロバイダの外でホストされるハードウェア上に実装されたリソースを含むことができる。分離管理の別の例は、スタック管理システムの同じプロバイダによって制御されるが、スタック管理システムのプロバイダ以外のエンティティによって管理されるリソース上に実装されたサービスを含む。
分離管理のまた別の例は、スタック管理システムの同じプロバイダによって実装されるが、カスタムリソースのユーザーからサービスの複雑性を隠すために別のエンティティとして管理されるサービスを含む。リソーススタック102は、アプリケーションの開発者によって作成されるテンプレート104によって定義されてもよい。アプリケーションサーバーおよびデータベースのテンプレートの定義は、スタック管理システム110によって認識される条件および変数を使用することができる。検索エンジンのテンプレート内の定義は、スタック管理システム110によって認識されるリソーススタックとの統合を定義する条件、およびカスタムリソースマネージャー116によって認識される条件および/またはオプションも含むことができる。顧客は、テンプレート104を使用してリソーススタック102の構築をリクエストすることができる。スタック管理システム110は、リソーススタック102内のアプリケーションサーバー、データベース、および検索エンジンの依存関係を決定することができる。
決定された依存関係を順守するために、スタック管理システム110は、リソースプロビジョニングシステム112にリソースを構築するようにリクエストする際に、プロビジョニングシステム111が依存関係に従った順序でリソースをプロビジョニングするようにさせることができる。示される実施形態において、リソースプロビジョニングシステム112は最初に、アプリケーションサーバーおよびデータベースを構築する。プロビジョニングシステム111は次いで、リソーススタック102および検索エンジン特定の構成に関する情報を含む、カスタムリソースマネージャー116への通知を作成することができる。構成は、構成生成機能等、プログラムによって提供されてもよく、カスタムリソースのプロバイダによってプロビジョニングシステム111に提供される。構成生成機能は、テンプレートに含まれるカスタムリソース定義と関連付けられ、定義に遭遇すると実行されてもよい。通知は、カスタムリソースメッセージングシステム114、プロトコル、または他の伝送によってカスタムリソースマネージャー116へ送信されてもよい。カスタムリソースマネージャーは、検索エンジンが、通知に提供された情報を使用して、データベースおよびアプリケーションサーバーと統合するようにさせることができる。カスタムリソースマネージャー116は次いで、使用する検索エンジンに関する情報および/またはリソーススタック102内のリソースの構成に導入される情報も含むことができる、成功の指示を返すことができる。リソーススタック102内のリソースのインスタンス化および構成後、リソーススタック102は、使用が有効になってもよい。
カスタムリソースメッセージング114は、いくつかの異なる方式で実装されてもよい。いくつかの実施形態において、通知サービスが使用される。カスタムリソースマネージャー116は、カスタムリソースの初期化リクエストに関係する通知サービスのサブジェクトをサブスクライブすることができる。通知サービスは、受信側が、他のサービスが公開をリクエストする可能性があるサブジェクト(いくつかの適切なメッセージングシステムでは、ときにはトピックと称される)を作成することを可能にすることができる。いくつかの実施形態において、受信側は、公開されたメッセージの受信のために使用されるプロトコルを定義することができる。例えば、電子メールサービスのカスタムリソースマネージャー116は、電子メールサービスに対するカスタムリソース管理リクエストのサブジェクトを作成することができる。メッセージの送達は、ハイパーテキスト転送プロトコル(HTTP)、ファイル転送プロトコル(FTP)、または他のプロトコル等のプロトコル、あるいはあるシステムから別のシステムへメッセージを伝送するために適切なプロトコルの組み合わせを含め、カスタムリソースマネージャー116によりカスタマイズされることができる。通知サービスは次いで、プロビジョニングシステム111から受信すると、カスタムリソースマネージャー116へメッセージをプッシュすることができる。
一実施形態において、通知は、指定された場所の記憶装置上にデポジットされてもよい。
プロビジョニングシステム111またはカスタムリソースマネージャー116等の受信側は、アクションが必要かどうかを決定するために、その場所を定期的にポーリングすることができる。別の実施形態において、メッセージを渡すために、アプリケーションプログラミングインターフェース(API)の呼出しが使用される。APIインターフェースは、プロビジョニングシステム111による複数のAPIをサポートする複雑性を簡素化するために標準化されてもよい。いくつかの実施形態において、前述の方法の組み合わせが使用されてもよい。例えば、通知の伝送のために通知サービスが使用されてもよく、通知に対する応答はストレージに応答を入れることによって行われてもよい。プロビジョニングシステム111とカスタムリソースマネージャー116との間の通信はセキュアであってもよい。例えば、メッセージの検証が発生してもよい。カスタムリソースマネージャーによって検証可能な電子(例えば、デジタル)署名でプロビジョニングシステム111によって電子的に署名された通知だけが、カスタムリソースマネージャー116によって実行される。カスタムリソースマネージャーによって署名された応答だけがスタック管理システムによって許容されてもよい。
リソーススタック102内のリソース104、106、および108を変更することは、リソーススタック102の統合を維持しながら、発生してもよい。例えば、データベースインスタンスは、より高い容量のデータベースインスタンスへアップグレードされてもよい。新しいデータベースインスタンスがプロビジョニングされてもよく、より小型のデータベースインスタンスからのデータが新しいデータベースインスタンスへ提供されてもよい。リソーススタック102内のより小型のデータベースへの接続は、新しいデータベースインスタンスを使用するように変更されてもよい。プロビジョニングシステム111によって管理されるリソースは、より直接的に変更されてもよい。カスタムリソース106は、データベースの変更情報を含むカスタムリソースマネージャー116への通知を通じて情報を知らされてもよい。リソーススタック102との統合成功の指示は、変更がカスタムリソース106に成功して適用されたことを確認することができる。
いくつかの実施形態において、リソーススタック102は全体的に変更されてもよい。
一実施形態において、テンプレート104は、リソーススタック102を拡張するためのオプションを定義する。これらのオプションを使用して、ユーザーは、拡張されてもよいリソースがどれか、または全てのリソースであることを示すことができる。プロビジョニングシステム111は、リソースプロビジョニングシステム112が、プロビジョニングシステム111によって管理されるリソースを変更するようにさせ、カスタムリソースマネージャー116に、リソーススタック102に対する変更、およびカスタムリソース106のリクエストされた拡大を通知することができる。他の実施形態において、リソーススタックは、コピーを形成、バックアップ、または削除されるためでさえも操作されてもよい。コピー操作中、リソースプロビジョニングシステム112は、コンピューティングリソースの管理のための所定のプロセスに従ってコンピューティングリソースをコピーし、そのコピーをリソーススタックに関するメタデータの一部として参照する。プロビジョニングシステム111は次いで、カスタムリソースメッセージング114を通じて、カスタムリソースマネージャー116へ通知を送信して、カスタムリソース106のコピーを形成することができる。カスタムリソースマネージャー116は、カスタムリソース114のコピーへの参照を含めて、成功の指示を返すことができる。カスタムリソース114のコピーへの参照は、次いで、リソーススタックメタデータとともに記憶されてもよい。
コピーを再構築するリクエストにおいて、コピーの再構築は、リソーススタックメタデータを使用して、カスタムリソースを含む、リソースを参照することができる。別の実施形態において、リソーススタックは全てが削除されてもよい。スタック識別子に一致するリソーススタックの削除をリクエストするリクエストが受信されてもよい。プロビジョニングシステム111は、リソースプロビジョニングシステム112が、プロビジョニングシステム111によって管理されるリソース104および108のプロビジョニングを解除するようにさせることができる。カスタムリソース114の廃棄または引退をリクエストするカスタムリソースマネージャー116への通知が送信されてもよい。廃棄または引退成功の指示は、プロビジョニングシステム111を介して、スタック管理システム110へ返されてもよい。成功または失敗は、その後、スタックの削除をリクエストした当事者に返されてもよい。
図示の目的のために、本開示全体でテンプレートが使用される。しかしながら、本明細書に記載されるテンプレートを必ずしも使用しない、リソーススタックを作成する他の方法が使用されてもよいことを認識されたい。一例として、コンピューティングリソースプロバイダの顧客は、スタックを作成する命令を提供するAPI呼出しを通じて作成されるようにさせてもよい。別の実施形態において、リソーススタックの表現を含むストレージ場所を識別するメッセージは、リソーススタックを作成するリクエストを含む。
図1の実装の例において、図2は、プロバイダ206によって管理される、ロードバランサ214、アプリケーションサーバー216、およびデータベース218のリソースを含むリソーススタック204を表す図を示す。リソーススタック204は、この図示例において、プロバイダ206の外部の業者208によって管理される電子メールサービス220も含む。テンプレート202は、リソーススタック204、およびリソース214、216、218、および220の間の接続を定義することができる。示される例において、アプリケーションサーバー216は、ロードバランサ214、データベース218、および電子メールサービス220に接続される。テンプレート202は、アプリケーションサーバー216が初期化される前に、電子メールサービス220およびデータベース218が初期化される等、依存関係も定義することができる。テンプレート202はまた、構成生成機能が実行されるようにして、少なくとも構成情報を生成してカスタムリソースマネージャー224へ送信させるカスタムリソース条件も含むことができる。
リソーススタック204を作成するリクエストの結果、スタック管理システム210は、依存関係を決定することができ、決定された依存関係に従って、プロビジョニングシステム211にリソース214、216、218、および220をインスタンス化するようにリクエストすることができる。これらの依存関係は、インスタンス化の順序および/または各ノードがリソースで、各有向辺が依存関係である有向非巡回グラフによって表現されてもよい。示される実施形態において、プロビジョニングシステム211は、リソースプロビジョニングシステム212が、依存関係のために、アプリケーションサーバー216よりも前にロードバランサ214およびデータベース218をプロビジョニングするようにさせることができる。スタック管理システム210はまた、プロビジョニングシステム211にアプリケーションサーバー216をプロビジョニングするようにリクエストする前に、テンプレート202の情報およびリソーススタック204の構成に基づいて、カスタムリソースマネージャー224のための構成を提供する構成生成機能も実行することができる。プロビジョニングシステム211は次いで、電子メールサービス220のカスタムリソースマネージャー224へ、生成された構成情報を含む通知が送信されるようにすることができる。カスタムリソースマネージャーは次いで、電子メールサービス220をリソーススタック204と統合することができ、より具体的には、アクセス認証情報を提供すること等によって、アプリケーションサーバー216への接続のために電子メールサービス220を準備する。カスタムリソースマネージャー224は、アプリケーションサーバー216を構成するために使用されてもよい、アクセス認証情報等の構成および他の情報を含む、メッセージ等の成功の指示を返すことができる。依存関係が満たされた後、プロビジョニングシステム211は次いで、リソースプロビジョニングシステム212が、アプリケーションサーバー216をプロビジョニングするようにさせることができる。プロビジョニングシステム211は、リソーススタック内の動作のためにリソースプロビジョニングシステム212にアプリケーションサーバーを準備させるリクエストにおいて、ロードバランサ214、データベース218、および電子メールサービス220からの構成をさらに含むことができる。リソーススタックの作成を終了した後、リソーススタックはサービスが有効になってもよい。一実施形態において、何らかのリソースがインスタンス化に失敗またはスタック作成がタイムアウト期間を超えた場合、スタックは失敗と見なすことができ、失敗の理由が返される。いくつかの実施形態において、全てのインスタンス化が成功したリソースは、さらに処理されて破壊される。
スタック管理システム210および/またはプロビジョニングシステム211は、リソース214、216、218、および220の各々に関する情報を含むため、リソーススタック204にリクエストされた変更は、リソース214、216、218、および220へ中継されてもよい。例えば、追加のアプリケーションサーバー216に関する情報は、ロードバランスのオプションとして使用するために、プロビジョニングシステム211によって、ロードバランサ214へ中継されてもよい。アプリケーションサーバー216への追加はまた、電子メールサービス220が承認されている追加からの接続に従って動作するように、通知222を通じて電子メールサービス220にも報告されてもよい。変更時に中継する情報は、テンプレートに定義されても、プロバイダに固有であっても、カスタムリソースを運用する業者によって定義されても、またはさもなければ、スタック管理システム210および/またはプロビジョニングシステム211へ提供されてもよい。
ここで図3を参照すると、少なくとも一実施形態に従うメッセージ300の図示例が示される。メッセージは、スタック管理システム210が、テンプレート内のカスタムリソースの定義に遭遇し、プロビジョニングシステム211がカスタムリソースを構築することをリクエストした結果、図2のプロビジョニングシステム211から、カスタムリソースマネージャー224へ伝送されてもよい。図2のプロビジョニングシステム211は、図3に示されるこのメッセージ300等の通知222をカスタムリソースマネージャー224へ送信することができる。メッセージ300は、リソース非依存部分304と、カスタムリソースに特定の情報に関するペイロード314とを含むことができる。リソース非依存部分304は、リソーススタックに関する情報と、リソーススタック内のカスタムリソースの特性とを含むことができる。示される実施形態において、プロビジョニングシステム301は、コンテキスト305、スタック識別子306、論理関連識別子308、名前空間310、およびリソース識別子312を含むメッセージのリソース非依存部分304を組み立てる。一意識別子等のコンテキスト305は、重複および/または以前のメッセージが廃棄されてもよいように、メッセージを一意に識別することができる。コンテキスト305はまた、リソーススタック構築に関する情報も提供する。スタック識別子306は、リソーススタックを参照するために使用することが可能な値を提供することができる。論理関連識別子308は、このメッセージ300の作成をトリガーした、テンプレート内で使用されるカスタムリソースを参照する識別子であってもよい。名前空間310は、同様な識別子の明確化を可能にするために、識別子の境界を定義することができる。リソース識別子312は、アドレスが指定されているカスタムリソースへのプロビジョニングシステム301の参照を提供することができる。
メッセージ300は、ペイロード314も含むことができる。スタック管理システムは、スタック管理システムがペイロード314内の情報を操作することなく、メッセージ300に添付されているべき情報ブロブ(blob)(すなわち、任意の情報)としてペイロード314を取り扱うことができる。示される実施形態において、ペイロードは、テンプレート303によって、スタック管理システム302を通じてメッセージ300に含まれるように処理されると定義されてもよい。スタック管理システム302を通じてテンプレート303を処理すると、カスタムリソースマネージャーにテンプレート303の指示が提供される。別の実施形態において、ペイロードは、テンプレート303をパースし、得られたペイロードをペイロード314に含めるためにスタック管理システム302に与えるパースシステムと登録されている構成生成機能によって構築されてもよい。パースシステムは、テンプレートを、リソーススタック内のリソースを構築、構成、およびさもなければ動作するために使用されてもよい、定義等のトークンにパースすることができる。
カスタムリソース条件をパースした後、パースシステムは、テンプレート303からの構成生成機能情報および/またはリソーススタック情報を渡して、構成を完了することができる。構成生成機能は次いで、メッセージ300に添付されるペイロード314を生成する。このペイロード314は、メッセージ300のリソース非依存部分304に含まれない場合があるカスタムリソースに特定の構成318を含むことができる。例えば、図2の電子メールサービスは、ドメイン、ネームサーバー、および個別の電子メールアドレスを定義する構成318がペイロードに提供されてもよい。
ここで図4を参照すると、少なくとも1つの実施形態に従う使用することができるプロセス400の図示例が示される。プロセスは、スタック管理システム110、カスタムリソースマネージャー116、プロビジョニングシステム111、リソーススタック102、リソース104および108、ならびにカスタムリソース106を含む、図1に関連して上述したシステムによって集合的に等、任意の好適なシステムによって達成されてもよい。スタック管理システムは、リソーススタックを作成するリクエストを受信402することができる。例えば、開発者は、新しいバージョンのウェブアプリケーションをテストする目的のために、リソーススタックを定義するテンプレートへのアクセスをテスターに与えることができる。テスターは、新しいバージョンのテストが達成されてもよいように、リソーススタックがプログラム実行サービス内のテスト環境に作成されることをリクエストすることができる。プログラム実行サービスは、テンプレートリクエストが承認されるかを決定することができ、承認された場合、リクエストをスタック管理システムへ提供することができる。
図示されるように、スタック管理システムは、並行して、その制御下のリソースをプロビジョニング403し、スタック管理システムの制御下にないカスタムリソースを初期化するように、カスタムリソースマネージャーへメッセージを送信404することができる。しかしながら、リソースをプロビジョニング403し、メッセージを送信404することは、順次に実行されてもよく、必ずしも並列である必要がないことに注意されたい。スタック管理システムは、メッセージを送信した結果として、応答406を受信することができる。応答は、カスタムリソースの初期化成功を示し、カスタムリソースマネージャーによって認識される識別子および/または認証情報等、カスタムリソースに関する情報を提供することができる。いくつかの実施形態において、カスタムリソースは、最終的には一定であってもよく、したがって、成功の指示は、カスタムリソースが使用できる状態にあることの指示とは異なる場合がある。例えば、最終的に一定のストレージは、成功の指示としてストレージのリクエストを確認応答することができるが、ストレージはそれより後まで利用可能にはならない場合がある。応答およびリソースを使用して、スタック管理システムは、カスタムリソースと統合するようにリソーススタック内のリソースを構成408することができる。統合の後、リソーススタックは、有効410になってもよい。いくつかの実施形態において、有効になったリソーススタックは直後に使用されてもよい。
別の実施形態において、有効になったリソーススタックはカスタマイズのために利用可能になるが、その目的とする使用にはアクティブではない。
プロセス400の実施形態の図示例として、スタック管理システムは、日次増分バックアップを記憶するオフサイトバックアップサービスに接続されたウェブサーバーを用いてスタックを作成するリクエストを受信することができる。スタック管理システムは、ウェブサーバーをプロビジョニングし、ウェブサーバーの日次増分バックアップの場所の初期化をリクエストするメッセージをオフサイトバックアップサービスへ送信することができる。一実施形態において、場所は、バックアップのために提供されるストレージエリアへアクセスするために使用されるURLであってもよい。オフサイトバックアップサービスは、ウェブサーバーの日次増分バックアップを受信するように構成された場所、およびオフサイトバックアップサービスとの接続をセキュアにするために使用される情報を識別する応答を返すことができる。一実施形態において、接続をセキュアにするために使用される情報は、オフサイトバックアップサービスへの接続を暗号化する際に使用される認証情報であってもよい。スタック管理システムは次いで、この場所情報を使用して、日次増分バックアップのためにウェブサーバーを構成することができる。リソーススタックの構成が完了した後、ウェブサーバーおよびバックアップサービスを含むリソーススタックは、ユーザーがカスタマイズまたは配備することが可能であってもよい。
プロセス400(あるいは本明細書に記載される任意の他のプロセス、あるいはその変形および/または組み合わせ)のうちのいくつかまたは全ては、実行可能命令を用いて構成された1つ以上のコンピュータシステムの制御下で実行されてもよく、1つ以上のプロセッサ上、ハードウェアによって、またはこれらの組み合わせによって、集合的に実行するコード(例えば、実行可能命令、1つ以上のコンピュータプログラム、または1つ以上のアプリケーション)として実装されてもよい。コードは、例えば、1つ以上のプロセッサによって実行可能な複数の命令を含むコンピュータプログラムの形式において、コンピュータ可読記憶媒体上に記憶されてもよい。コンピュータ可読記憶媒体は非一時的であってもよい。
図5は、カスタムリソースを含むリソーススタックを管理する際に使用されてもよいプロセス500の図示例を示す。プロセス500は、上述のプロセス400の変形であってもよい。さらに、プロセスは、スタック管理システム110、カスタムリソースマネージャー116、プロビジョニングシステム111、リソーススタック102、リソース104および108、ならびにカスタムリソース106を含む、図1に関連して上述したシステムによって集合的に等、任意の好適なシステムによって達成されてもよい。スタック管理システムは、リソーススタック内のリソースを記述するテンプレートからリソーススタックを構築するリクエストを受信502することができる。例えば、開発者は、新しいバージョンのウェブアプリケーションをテストする目的のために、リソーススタックを定義するテンプレートへのアクセスをテスターに与えることができる。テスターは、新しいバージョンのテストが達成されてもよいように、リソーススタックがプログラム実行サービス内のテスト環境に作成されることをリクエストすることができる。プログラム実行サービスは、テンプレートリクエストが承認されるかを決定することができ、承認された場合、リクエストをスタック管理システムへ提供することができる。スタック管理システムは、リソーススタック内のリソース間の依存関係を決定504することができる。上述のように、依存関係を決定することは、依存関係の宣言、スタック管理システムによる依存関係の決定、デフォルトの規則、あるいはリソース依存関係の他の暗示的または明示的定義を含む、多様な方式で決定されてもよい。
決定された依存関係を使用して、スタック管理システムは、一実施形態において、テンプレート内で定義されたリソースの構築の順序を決定506する。決定された順序の最初のリソースから開始して、スタック管理システムは、検証するテンプレートの次のリソースにアクセス508する。テンプレートの次のリソースを例に対して検証することは、リソースがカスタムリソースであるかの決定を行う510ことを含むことができる。リソースがカスタムリソース510ではないが、スタック管理システムによって管理されると決定510された場合、リソースはプロビジョニング512され、テンプレートによって定義された他のリソースへの接続を構成すること等によって、スタックに統合514される。プロセス500の実行は、リソースの構築が既定の時間(タイムアウト)を超えたかどうかを決定524することを含むことができる。タイムアウトはタイマーによって測定されてもよい。いくつかの実施形態において、タイムアウトはグローバルであり、リソーススタック全体に適用される。他の実施形態において、リソーススタックの各リソースは個別のタイムアウトが与えられる。1〜10時間、またはより具体的には4時間等のタイムアウトを超えた524と決定524された場合、スタックの作成は失敗525になってもよい。失敗した場合、一実施形態において、スタック管理システムによって管理されるインスタンス化されたリソースは、破壊されてもよい。リソースを破壊することは、リソースをサポートするインフラストラクチャが、利用可能なインフラストラクチャのプールに返されてもよいように、リソースのプロビジョニングを解除することを含むことができる。インスタンス化されたカスタムリソースもまた、インスタンス化されたカスタムリソースの管理システムに、カスタムリソースを破壊する通知を送信することによって破壊されてもよい。いくつかの実施形態において、カスタムリソースの廃棄はデータの廃棄になり得るため、破壊通知は、ユーザーの介在なしには送信されない。この失敗への反応は、テンプレート情報、ユーザー設定、および/またはカスタムリソースのプロバイダによるデフォルトの設定によって制御されてもよい。タイムアウトを超えず524、スタックの作成が完了526した場合、スタックは使用が有効528になってもよい。リソーススタックの構築がタイムアウトを超えなかったと決定524された場合、リソーススタックの構築が完了したかどうかの決定526が行われてもよい。リソーススタックの構築が完了していないと決定526された場合、次のリソースが検証508されてもよく、プロセス500は上述のように進むことができる。
しかしながら、リソースがカスタムではないと決定510された場合、スタック管理システムは、テンプレート情報、リソーススタック情報、およびカスタムリソースのユーザーおよび/またはプロバイダによって提供された他の情報に基づいて、カスタムリソースマネージャーへのメッセージを構築516することができる。メッセージは次いで、合意されているメッセージングシステムまたはプロトコルに従って、カスタムリソースマネージャーへ送信518されてもよい。スタック管理システムは次いで、カスタムリソースマネージャーによるリソーススタックとの統合成功の指示を受信520することができる。
例えば、指示は、メッセージ、API呼出し、ストレージ場所でのデポジット、またはスタック管理システムとの他の通信によって送信されてもよい。図示されていないが、失敗が発生した場合、失敗の指示も提供されることを認識されたい。このような失敗は、カスタムリソースマネージャーに送信された不正な構成、カスタムリソース作成の失敗、および/またはカスタムリソース作成の不十分な権限を含むことができる。プロセス500は、このような失敗を処理するように適切に適合されてもよい。スタック管理システムは次いで、統合タスクを実行522して、カスタムリソースの統合を終了することができる。
動作508〜動作524までのリソースインスタンス化のサイクルは次いで、リソーススタックが完全にインスタンス化されていない526、かつタイムアウトを超えていない524場合に繰り返すことができる。さもなければ、タイムアウトを超えていない524、かつインスタンス化するリソースがもうない526場合、スタックは、配備および/または個人化等、さらなる使用が有効528であってもよい。
いくつかの実施形態において、通知サービスは、メッセージ518を送信し、成功の指示を受信520するために使用される。一実施形態において、通知サービスが使用される。カスタムリソースマネージャー116は、カスタムリソースの初期化リクエストに関係する通知サービスのサブジェクトをサブスクライブすることができる。メッセージの配信は、HTTP、FTP、電子メール、SMS、キューまたは他のプロトコル等、プロトコルを含めて、カスタムリソースマネージャー116によってカスタム化されてもよい。通知サービスは次いで、プロビジョニングシステム111から受信すると、カスタムリソースマネージャー116へメッセージをプッシュすることができる。別の実施形態において、通知は、指定された場所の記憶装置上にデポジットされてもよい。プロビジョニングシステム111またはカスタムリソースマネージャー116等の受信側は、アクションが必要かどうかを決定するために、その場所をポーリングすることができる。別の実施形態において、メッセージを渡すために、アプリケーションプログラミングインターフェース(API)の呼出しが使用される。APIインターフェースは、プロビジョニングシステム111による複数のAPIをサポートする複雑性を簡素化するために標準化されてもよい。他の実施形態において、前述の方法の組み合わせが使用されてもよい。例えば、通知の伝送のために通知サービスが使用されてもよく、通知に対する応答はストレージに応答を入れることによって行われてもよい。メッセージの照合も発生してもよい。一実施形態において、プロビジョニングシステム111によって署名された通知だけがカスタムリソースマネージャーによって実行される。
ここで図6を参照すると、少なくとも1つの実施形態に従うカスタムリソースマネージャーによって使用され得るプロセス600の図示例が示される。プロセスは、スタック管理システム110、カスタムリソースマネージャー116、プロビジョニングシステム111、リソーススタック102、リソース104および108、ならびにカスタムリソース106を含む、図1に示されるシステムによって達成されてもよい。カスタムリソースマネージャーは、提供されたカスタムリソースをリソーススタックと統合するリクエストを受信602することができる。カスタムリソースマネージャーは、リクエストを非依存部分およびペイロードにパース604することができる。カスタムリソースマネージャーは次いで、ペイロードを使用して、リソーススタックの一部として構築するカスタムリソースの構成を決定する。いくつかの実施形態において、非依存部分が使用、または排他的に使用されて、カスタムリソースの構成を決定することもできる。決定された構成に少なくとも部分的に基づいて、カスタムリソースマネージャーは、カスタムリソースを初期化608し、リソーススタックと統合するようにカスタムリソースを構成することができる。例えば、カスタムリソースは、スタック管理システムのプロバイダとは別のデータセンター内の業者によって提供されてもよい。カスタムリソースの初期化は、カスタムリソースをプロビジョニングすること、サービスを設定すること、データベースエントリを作成すること、認証情報を構築すること、およびさもなければリソーススタックと統合するためにカスタムリソースを準備することを含むことができる。別の例において、カスタムリソースは、スタック管理システムのプロバイダのサブエンティティによって提供されてもよい。カスタムリソースの初期化は、サブエンティティの管理下での第2のリソーススタックの構築を含むことができる。第2のリソーススタックは、カスタムリソースとして取り扱われるので、第2のリソーススタックの作成および管理は、それらのリソーススタック内のカスタムリソースのユーザーに透明的であってもよい。
カスタムリソースの初期化成功が成功した場合、カスタムリソースマネージャーは、成功の指示、およびハンドル、カスタムリソースの物理的情報源識別子および/または識別、ならびに他の設定等、リソーススタックの任意の付加情報を返すことができる。例えば、カスタムリソースが監視ソリューションである場合、付加情報は、作成されている警告を含むことができる。いくつかの実施形態において、非依存部分の一部または全ては、メッセージが属するリソーススタックを識別するために返される。他の実施形態において、顧客が自己構成を選択することができるため、付加情報は、スタック管理システムがアクセスするためではなく、顧客がアクセスするために返される。一例において、カスタムリソースは、3次元プリンタであってもよく、構成情報は設計であってもよい。通知を受信すると、3次元プリンタは設計を構築することができる。設計を完了すると、3次元プリンタは、カスタムリソースの構築成功の指示を送信することができる。別の例において、カスタムリソースは、人間の知識に基づくリソース等、クラウドソースのリソースであってもよい。1つの質問が人々の集団に投げかけられてもよく、最も共通する回答が選択され、成功の指示の一部として返されてもよい。
カスタムリソースマネージャーはまた、カスタムリソースを変更するリクエストも受信することができる。リクエストもまたパースされてもよく、リクエストされた変更が決定される。カスタムリソースは、決定されたリクエストに従って変更され、リソーススタックに再統合されてもよい。いくつかの実施形態において、この再統合は、例えば、ホスト名、アドレス、または他の識別情報がいくつかの接触点を増加または減少するように変更および/または縮小拡大される場合、再構成を要求する場合がある。変更が統合されると、カスタムリソースマネージャーは、統合成功の指示をスタック管理システムに返すことができる。
カスタムリソース管理がスタック管理システムの制御外である場合、カスタムリソースの失敗は異なる様式で取り扱われてもよい。例えば、カスタムリソースプロバイダは、プロバイダのデータセンターが破損していたために応答することを拒否する場合がある。通知からのタイムアウトは、スタック管理システムが確認応答を待機する時間が長すぎないように保護することができる。タイムアウトの超過は次いで、リソーススタックの構築をリクエストした呼出し元エンティティに報告されてもよい。いくつかの実施形態において、呼出し元エンティティは、検出された失敗に反応するように選択することができる。一実施形態において、リソーススタック動作中の失敗は、呼出し元エンティティに報告されてもよい。呼出し元エンティティは、現在のテンプレートまたはカスタムリソースの代わりに異なるテンプレートまたはカスタムリソースを代用する等、反応するように選択することができる。別の実施形態において、作成、読み出し、更新、および破壊等のリソーススタック動作以外の動作の失敗が検出されてもよく、反応は他のシステムによって決定されてもよい。いくつかの実施形態において、反応はリソーススタックを変更するリクエストを含むことができる。
リソーススタックプロバイダは、そのカタログを市場形式で提供することができる。顧客は、プロバイダによって管理されたリソース、および/またはカスタムリソースプロバイダによって管理されたカスタムリソースを選択することができる。いくつかの実施形態において、市場からの選択は、リソーススタックのテンプレートに含まれてもよい。一実施形態において、カスタムリソースプロバイダは、リソーススタックに含める利用可能なリソースのカタログに含まれる一回限りまたは反復料金を支払うことができる。プロバイダは次いで、カスタムリソースの使用によって発生するコスト、またはリソースの構築に対する料金を受領することができる。
テンプレートは、リソーススタックのリソースの識別、リソースのプロパティ、パラメータ、リソーススタックのリソース間の相互接続、リソーススタック外の接続、リソーススタックの構成、リソースを実行させるセットアップ動作、およびリソースを実行させる動作を含む、リソーススタックの多様な態様を定義することができる。一実施形態において、テンプレートは、リソースの階層定義を含むことができる。例えば、テンプレートは、リソースのサブ定義、カスタムリソース、リソースで実行またはリソースによって実行する動作、およびリソース間の接続を含むリソーススタックの定義を用いて開始することができる。リソースの各サブ定義は、リソースに適用可能なオプション、記述、パラメータ、接続、サブリソースまたは他の関連定義を含むサブ定義をさらに含むことができる。
図7は、多様な実施形態に従う態様を実装するための例示的環境700の態様を示す。
理解されるように、説明の目的でウェブベースの環境が使用されるが、多様な実施形態を実装するために、必要に応じて異なる環境が使用されてもよい。その環境は、適切なネットワーク704上からリクエスト、メッセージ、または情報を送信および受信し、かつデバイスのユーザーに情報を戻して伝達するように動作可能な任意の適切なデバイスを含み得る、1つの電子クライアントデバイス702を含む。そのようなクライアントデバイスの例として、パーソナルコンピュータ、携帯電話、手持ち式メッセージングデバイス、ラップトップコンピュータ、セットトップボックス、個人データアシスタント、電子ブックリーダー等が挙げられる。ネットワークとして、イントラネット、インターネット、セルラーネットワーク、ローカルエリアネットワーク、または任意の他のそのようなネットワーク、もしくはそれらの組み合わせを含む、任意の適切なネットワークを挙げることができる。そのようなシステムに使用される構成要素は、選択されるネットワークの種類および/または環境に少なくともある程度依存し得る。そのようなネットワークを介して通信するためのプロトコルおよび構成要素が周知であり、本明細書において詳細に議論されない。ネットワーク上での通信は、有線または無線接続およびこれらの組み合わせによって有効にされ得る。この例において、環境がリクエストを受信し、かつそれに応答してコンテンツをサービスするためのウェブサーバー706を含むように、ネットワークはインターネットを含むが、他のネットワークについては、当業者には明らかなように、同様の目的をサービスする代替のデバイスを使用することができる。
例示的な環境は、少なくとも1つのアプリケーションサーバー708と、データストア710とを含む。連鎖されるか、またはさもなければ構成されてもよい、適切なデータストアからデータを入手する等のタスクを実行するために相互作用し得る、いくつかのアプリケーションサーバー、層、もしくは他の要素、プロセス、または構成要素が存在し得ることを理解されたい。本明細書で使用される「データストア」という用語は、データの記憶、アクセス、および回収能力のある任意のデバイスまたはデバイスの組み合わせを指し、任意の標準、分散型、またはクラスタ化環境において、任意の組み合わせおよび任意の数のデータサーバー、データベース、データ記憶デバイス、およびデータ記憶媒体を含んでもよい。アプリケーションサーバーは、クライアントデバイスの1つ以上のアプリケーションの態様を実行するために、必要に応じて、アプリケーションのデータアクセスおよびビジネスロジックの大部分を処理する、データストアと統合するための任意の適切なハードウェアおよびソフトウェアを含むことが可能である。アプリケーションサーバーは、データストアと協働してアクセス制御サービスを提供し、ユーザーに転送される文字、図、音声、および/またはビデオ等のコンテンツを生成することができ、そのコンテンツを、本例において、HTML、XML、または別の適切な構造化された言語の形態で、ウェブサーバーによってユーザーにサービスしてもよい。全てのリクエストおよび応答の処理、ならびにクライアントデバイス702とアプリケーションサーバー708との間のコンテンツの送達は、ウェブサーバーによって処理することができる。本明細書の他の箇所で議論されるように、本明細書で検討される構造化されたコードは、任意の適切なデバイスまたはホストマシン上で実行することができるため、ウェブおよびアプリケーションサーバーは必要とされず、単に例示の構成要素に過ぎないことを理解されたい。
データストア710は、特定の態様に関するデータを記憶するための、いくつかの別々のデータテーブル、データベース、または他のデータ記憶機構および媒体を含むことができる。例えば、示されたデータストアは、本番データ712およびユーザー情報716を記憶するための機構を含み、これらは、本番環境でコンテンツを提供するために使用することができる。データストアはまた、報告書作成、分析または他のこのような目的のために使用することができる、ログデータ714を記憶するための機構も含むことが示される。ページイメージ情報等のデータストアに記憶されること、および権限情報にアクセスすることが必要になる可能性があり、必要に応じて上記の列挙された機構のうちのいずれか、またはデータストア710の追加の機構に記憶することができる、多くの他の態様が存在する可能性があることを理解されたい。データストア710は、それと関連するロジックを通じて、アプリケーションサーバー708から命令を受信し、かつそれに応答してデータを取得、更新、またはさもなければ処理するように動作可能である。一例において、ユーザーは、所定の種類の項目についての検索リクエストを提出する場合がある。この場合、データストアは、ユーザーの身元を検証するためにユーザー情報にアクセスする場合があり、その種類の項目についての情報を取得するためにカタログ詳細情報にアクセスすることができる。情報は、次いで、ユーザーがユーザーデバイス702上のブラウザを介して表示することが可能であるウェブページ上の結果リスト等において、ユーザーに返すことができる。関心の特定の項目の情報は、ブラウザの専用ページまたはウィンドウに表示することができる。
それぞれのサーバーは、典型的には、そのサーバーの一般管理および動作についての実行可能なプログラム命令を提供するオペレーティングシステムを含み、かつ典型的には、サーバーのプロセッサによって実行されると、サーバーがその目的とする機能を実行することを可能にする命令を記憶するコンピュータ可読記憶媒体(例えば、ハードディスク、ランダムアクセスメモリ、読み出し専用メモリ等)を含む。サーバーのオペレーティングシステムおよび一般的な機能性の好適な実装例は、既知であるか、または市販されており、当業者によって、特に本明細書における本開示を考慮して容易に実装される。
一実施形態の環境は、1つ以上のコンピュータネットワークまたは直接接続を使用して、通信リンクを介して相互接続されるいくつかのコンピュータシステムおよび構成要素を利用する分散型コンピューティング環境である。しかしながら、当業者は、そのようなシステムが、図7に図示されるよりも少ないまたは多い数の構成要素を有するシステムにおいて同等に良好に動作することができることを理解するであろう。したがって、図7のシステム700の描写は、本質的に例示的であり、かつ本開示の範囲を限定しないと見なされるべきである。
前述は、以下の付記を考慮するとさらに理解することができる。
1.リソーススタックを作成するためのコンピュータによって実装される方法であって、コンピューティングリソースプロバイダの、実行可能命令を用いて構成された、1つ以上のコンピュータシステムの制御下で、コンピューティングリソースプロバイダによって、少なくとも、コンピューティングリソースプロバイダによって提供される複数のコンピューティングリソースから選択されたコンピューティングリソースと、第2のプロバイダによって提供されるカスタムコンピューティングリソースと、コンピューティングリソースおよびカスタムコンピューティングリソースをリソーススタックに統合するための定義と、を指定する、構成テンプレートによって定義されたリソーススタックを構築するリクエストを受信することと、リソーススタックを、少なくとも、少なくとも部分的に構成テンプレートに基づいてコンピューティングリソースをプロビジョニングすることと、リソーススタック内で使用するためのカスタムリソースを構成するように第2のプロバイダに命令する通知を、第2のプロバイダへ送信することと、第2のプロバイダから、カスタムリソースの構成成功の指示を含む、通知への応答を受信することと、によって構築することと、構築されたリソーススタックの使用を有効にすることと、を含む、コンピュータによって実装される方法。
2.第3のプロバイダへ、リソーススタック内で使用するための第2のカスタムリソースを構成するように第3のプロバイダに命令する、第2の通知を送信することと、第3のプロバイダから、第2のカスタムリソースの構成成功の第2の指示を含む、第2の通知への第2の応答を受信することと、をさらに含む、付記1に記載のコンピュータによって実装される方法。
3.第2のプロバイダへの通知を送信することが、管理セクションとペイロードとを含むように通知を構築することを含み、管理セクションが、リソーススタックの構成に関する情報を含み、ペイロードが、第2のプロバイダによって定義された特性を含む、付記1に記載のコンピュータによって実装される方法。
4.スタック識別子によって識別されたリソーススタックを変更する第2のリクエストを受信することと、第2のプロバイダへ、少なくとも第2のリクエストに基づいてカスタムリソースを変更するように第2のプロバイダに命令する、第2の通知を送信することと、第2のプロバイダから、変更成功の第2の指示を含む、通知への第2の応答を受信することと、リソーススタックに対する変更の使用を有効にすることと、をさらに含む、付記1に記載のコンピュータによって実装される方法。
5.第2のプロバイダが第三者のプロバイダである、付記1に記載のコンピュータによって実装される方法。
6.構成テンプレートによって定義されたリソース間の依存関係が順守されるように、構成テンプレートに少なくとも部分的に基づいて、リソーススタック内のリソースの構築の順序を決定することと、をさらに含む、付記1に記載のコンピュータによって実装される方法。
7.リソーススタックを管理するためのコンピュータによって実装される方法であって、実行可能命令を用いて構成された1つ以上のコンピュータシステムの制御下で、コンピューティングリソースとカスタムリソースとを含むリソーススタックを構築するリクエストを受信することと、コンピューティングリソースをプロビジョニングすることと、カスタムリソースマネージャーへ、カスタムリソースのリソーススタックとの統合をリクエストするメッセージを送信することと、カスタムリソースマネージャーから、カスタムリソースのリソーススタックとの統合成功を示す応答を受信することと、プロビジョニングされたコンピューティングリソースとカスタムリソースとを含むリソーススタックの動作を有効にすることと、を含む、コンピュータによって実装される方法。
8.カスタムリソースマネージャーへメッセージを送信することが、管理セクションとカスタムリソースペイロードを含むようにメッセージを構築することをさらに含み、管理セクションは、スタック識別子、カスタムリソースへの論理関連識別子、およびリソーススタックのコンテキストをさらに含む、付記7に記載のコンピュータによって実装される方法。
9.管理されたリソースへメッセージを送信することが、管理セクションとカスタムリソースペイロードとを含むようにメッセージを構築することをさらに含み、カスタムリソースペイロードが、カスタムリソースマネージャーに特定の情報を含む、付記7に記載のコンピュータによって実装される方法。
10.リソース間の定義された依存関係が順守されるように、リソースを構築する順序を決定することをさらに含む、付記7に記載のコンピュータによって実装される方法。
11.リソーススタックを管理するアカウントの下でのカスタムリソースの使用量に対して請求記録を生成することをさらに含む、付記7に記載のコンピュータによって実装される方法。
12.第1のプロバイダによって、コンピューティングリソースおよびリソーススタックを管理することをさらに含み、第1のプロバイダが、カスタムリソースを管理する第三者のプロバイダとは別である、付記7に記載のコンピュータによって実装される方法。
13.リソーススタックを管理するためのコンピュータシステムであって、1つ以上のプロセッサと、実行可能命令を含むメモリとを有する1つ以上のコンピューティングデバイスを備え、実行可能命令は、前記1つ以上のプロセッサによって実行されると、前記1つ以上のプロセッサに、少なくとも、少なくとも部分的にテンプレートに基づいてリソーススタックを作成するように構成された第1のプロバイダのワークフロー処理システムであって、リソーススタックが、カスタムリソースと統合されたコンピューティングリソースを含み、カスタムリソースが第2のプロバイダによって管理される、ワークフロー処理システムと、少なくともテンプレートに基づいて、カスタムリソースを初期化し、かつカスタムリソースをコンピューティングリソースと統合するように、第2のプロバイダと通信するように構成された、カスタムリソース通知システムと、少なくとも部分的に前記テンプレートに基づいて、コンピューティングリソースをプロビジョニングするように構成された、第1のプロバイダのプロビジョニングシステムと、を実装させる、コンピュータシステム。
14.カスタムリソースマネージャーが、リソーススタックの一部として、前記カスタムリソースを作成、読み出し、更新、および破壊するように構成されたアプリケーションプログラミングインターフェースをさらに含む、付記13に記載のコンピュータシステム。
15.コンピューティングリソースをプロビジョニングするために、プロビジョニングシステムによって使用されるマシンイメージをさらに備える、付記13に記載のコンピュータシステム。
16.ワークフロー処理システムが、タイマーをさらに備え、ワークフロー処理システムが、タイマーがタイムアウト閾値を超えると、リソーススタックが作成に失敗するように構成される、付記13に記載のコンピュータシステム。
17.カスタムリソース通知システムが、カスタムリソースマネージャーと第2のプロバイダとの間のメッセージングシステムとのリンクをさらに備え、メッセージングシステムが、第2のプロバイダによるプロトコルの選択を可能にするように構成される、付記13に記載のコンピュータシステム。
18.コンピューティングリソースの使用量から生じるコスト情報と統合するように、第2のプロバイダからコスト情報を受信する統一請求システムをさらに備える、付記13に記載のコンピュータシステム。
19.コンピュータシステムの1つ以上のプロセッサによって実行されると、コンピュータシステムに、少なくとも、カスタムリソースマネージャーによって、リソーススタック内のカスタムリソースマネージャーによって提供されるカスタムリソースを含むリクエストをスタック管理システムから受信することと、カスタムリソースマネージャーによって、テンプレートの指示を受信することと、少なくとも部分的にリクエストとテンプレートの指示とに基づいてリソーススタックと統合するようにカスタムリソースを準備することと、カスタムリソースがリソーススタックと統合されるというリクエストに対する応答を送信することと、を生じさせる、実行可能命令を集合的にその上に記憶している、1つ以上のコンピュータ可読記憶媒体。
20.リクエストを受信することが、非依存部分とペイロード部分とを含むリクエストを受信することをさらに含み、ペイロードが、カスタムリソースマネージャーの仕様を順守し、カスタムリソースのための構成を含む、付記19に記載のコンピュータ可読記憶媒体。
21.応答を送信することが、リクエストの非依存部分に含まれたリソーススタック識別子と論理関連識別子とを備える応答を構築することをさらに含む、付記20に記載のコンピュータ可読記憶媒体。
22.リクエストを受信することが、リクエストが受信されるサブジェクトをサブスクライブすることと、リクエストが送達されるプロトコルを選択することと、サブジェクトへのメッセージの公開後にリクエストを受信することと、をさらに含む、付記19に記載のコンピュータ可読記憶媒体。
23.リソーススタックと統合するようにカスタムリソースを準備することが、空のリソーススタック状態から、空ではないリソーススタック状態へリソーススタックを遷移させることをさらに含む、付記19に記載のコンピュータ可読記憶媒体。
24.命令が、実行されると、コンピュータシステムに、少なくとも、リソーススタックによるカスタムリソースの使用によって発生したコストを含むメッセージを、リソーススタックに関係するアカウント情報を受信することに責任を持つ管理システムへ送信させる、命令をさらに含む、付記19に記載のコンピュータ可読記憶媒体。
多様な実施形態は、いくつかの場合には、いくつかのアプリケーションのうちのいずれかを操作するために使用することができる、1つ以上のユーザーコンピュータ、コンピューティングデバイス、または処理デバイスを含むことができる、多種多様な動作環境で実装することができる。ユーザーまたはクライアントデバイスは、標準のオペレーティングシステムを稼動しているデスクトップまたはラップトップコンピュータ等のいくつかの汎用パーソナルコンピュータ、ならびにモバイルソフトウェアを稼動し、いくつかのネットワークおよびメッセージングプロトコルをサポートすることが可能であるセルラー、ワイヤレス、およびハンドヘルドデバイスのうちのいずれかを含むことができる。このようなシステムはまた、多種多様な市販のオペレーティングシステム、ならびに開発およびデータベース管理等の目的の他の周知のアプリケーションのうちのいずれかを稼動するいくつかのワークステーションを含むことができる。これらのデバイスはまた、ネットワークを介して通信することが可能なダミー端末、シンクライアント、ゲームシステム、および他のデバイス等、他の電子デバイスを含むことができる。
ほとんどの実施形態は、TCP/IP、OSI、FTP、UPnP、NFS、CIFS、およびAppleTalk等、多種多様な市販されているプロトコルのうちのいずれかを使用する通信をサポートするために、当業者が熟知であろう、少なくとも1つのネットワークを利用する。ネットワークは、例えば、ローカルエリアネットワーク、ワイドエリアネットワーク、仮想プライベートネットワーク、インターネット、イントラネット、エクストラネット、公共回線電話網、赤外線ネットワーク、無線ネットワーク、およびこれらの任意の組み合わせであり得る。
ウェブサーバーを利用する実施形態において、ウェブサーバーは、HTTPサーバー、FTPサーバー、CGIサーバー、データサーバー、Javaサーバー、およびビジネスアプリケーションサーバーを含む、多様なサーバーまたは中間層アプリケーションのうちのいずれかを稼動することができる。サーバー(単数または複数)はまた、Java(登録商標)、C、C#またはC++等の任意のプログラム言語、あるいはPerl、Python、またはTCL等の任意のスクリプト言語、ならびにこれらの組み合わせ等、で作成された1つ以上のスクリプトまたはプログラムとして実装されてもよい、1つ以上のウェブアプリケーションを実行することによって等、ユーザーデバイスからのリクエストに応答して、プログラムまたはスクリプトを実行することが可能であってもよい。サーバー(単数または複数)はまた、これらに限定されないが、Oracle(登録商標)、Microsoft(登録商標)、Sybase(登録商標)、およびIBM(登録商標)から市販されているデータベースサーバーを含んでもよい。
環境は、上記のように、多様なデータストアならびに他のメモリおよび記憶媒体を含むことができる。これらは、コンピュータのうちの1つ以上にローカル(および/または内部に存在)、あるいはネットワーク全体のコンピュータのうちのいずれかまたは全てからリモートの記憶媒体等、多様な場所に存在することができる。特定の組の実施形態において、情報は、当業者が熟知のストレージエリアネットワーク(以下「SAN」)の中に存在してもよい。同様に、コンピュータ、サーバー、または他のネットワークデバイスに帰属する機能を実施するために必要な任意のファイルが、必要に応じて、ローカルおよび/またはリモートで記憶されてもよい。システムがコンピュータデバイスを含む場合、そのようなデバイスは各々、バスを介して電気的に連結されてもよいハードウェア要素を含むことができ、要素として、例えば、少なくとも1つの中央処理装置(CPU)、少なくとも1つの入力デバイス(例えば、マウス、キーボード、コントローラ、タッチ画面、またはキーパッド)、および少なくとも1つの出力デバイス(例えば、表示デバイス、プリンタ、またはスピーカ)が挙げられる。かかるシステムはまた、ランダムアクセスメモリ(以下「RAM」)、または読み出し専用メモリ(以下「ROM」)、ならびに取り外し可能媒体デバイス、メモリカード、フラッシュカード等のディスクドライブ、光学式記憶装置、およびソリッドステート記憶装置等の1つ以上の記憶装置を含んでもよい。
かかるデバイスはまた、コンピュータ可読記憶媒体リーダー、通信デバイス(例えば、モデム、ネットワークカード(無線または有線)、赤外線通信デバイス等)、および上記のような実働メモリも含むことができる。コンピュータ可読記憶媒体リーダーは、コンピュータ可読情報を一時的および/またはより永久的に含み、記憶、伝送、および呼び出すための、リモート、ローカル、固定、および/または取り外し可能記憶装置、ならびに記憶媒体を代表する、コンピュータ可読記憶媒体と接続、またはこれを受容するように構成することができる。システムおよび多様なデバイスはまた典型的に、クライアントアプリケーションまたはウェブブラウザ等、オペレーティングシステムおよびアプリケーションプログラムを含む、いくつかのソフトウェアアプリケーション、モジュール、サービス、または少なくとも1つの実働メモリデバイス内部に位置する他の要素を含む。代替の実施形態は、上記とは異なる多くの変形形態を有してもよいことを理解されたい。例えば、カスタマイズされたハードウェアが使用される場合もあり、および/または特定の要素が、ハードウェア、ソフトウェア(アプレット等の移植可能ソフトウェアを含む)、または両方に実装される場合がある。さらに、ネットワーク入力/出力デバイス等の他のコンピューティングデバイスへの接続が採用されてもよい。
コード、またはコードの一部を含むための記憶媒体およびコンピュータ可読媒体は、RAM、ROM、EEPROM、フラッシュメモリまたは他のメモリ技術、CD−ROM、デジタル多用途ディスク(DVD)または他の光学式ストレージ、磁気カセット、磁気テープ、磁気ディスクストレージまたは他の磁気記憶装置、あるいは所望の情報を記憶するために使用することができ、かつシステムデバイスによってアクセスすることができる任意の他の媒体を含む、コンピュータ可読命令、データ構造、プログラムモジュール、または他のデータ等の情報の記憶および/または伝送のための任意の方法または技術において実装された揮発性および不揮発性、取り外し可能および非取り外し可能な媒体等、しかしこれらに限定されない、当技術分野において周知または使用される任意の適当な媒体を含むことができる。本明細書に提供された開示および教示に基づいて、当業者は、多様な実施形態を実装するための他の方式および/または方法を理解するであろう。
本明細書および図面は、したがって、制限の意味ではなく、説明として解釈されるべきである。しかしながら、請求項に記載の本発明の広義の精神および範囲から逸脱することなく、そこに多様な修正および変更が行われてもよいことは自明である。
他の変形形態は、本開示の精神内にある。このように、開示される技法は、多様な修正および代替の構築の影響を受けやすいが、その特定の例示実施形態を図面に示し、詳細に上述した。しかしながら、本発明を開示される特定の形態(単数または複数)に限定する意図はなく、対照的に、この意図は、添付の請求項によって定義される本発明の精神および範囲内に該当する全ての修正、代替構築、および均等物を網羅することであることを理解されたい。
「1つ」(「a」および「an」)および「その」(「the」)の用語の使用は、開示される実施形態の文脈における(特に以下の請求項の文脈における)類似の参照は、本明細書にその他明記または文脈によって明確に否定される場合を除き、単数および複数の両方を網羅すると解釈される。「備える」、「有する」、「含む」、および「含有する」という用語は、その他特に明記されない限り、無制限の用語(すなわち、「含むが、限定されない」を意味する)として解釈されることとする。「接続される」という用語は、何らかの介在が存在する場合であっても、部分的または全体的に内部に含まれる、それに添付、または結合すると解釈される。本明細書における値の範囲の記載は、本明細書にその他記載のない限り、その範囲内に該当する各個別の値を個別に参照する簡潔な方法として機能することを目的とするに過ぎず、各個別の値は、本明細書に個別に記載されているかのようにその仕様に組み入れられる。本明細書に記載される全ての方法は、本明細書にその他記載のない限り、または文脈によって明確に否定されない限り、任意の適切な順序で実行することができる。本明細書に提供される任意および全ての例、または例示的言語(例えば「等」)の使用は、本発明の実施形態をより明確にすることを意図するに過ぎず、その他請求されない限り、本発明の範囲に限定を課すものではない。本明細書のいずれの記載事項も、請求項に記載されていないいずれかの要素が本発明の実践に不可欠であることを示していると解釈されてはならない。
本開示の好ましい実施形態は、本発明を実行するために本発明人に周知の最良の様式を含めて、本明細書に記載される。これらの好ましい実施形態の変形は、前述の説明を一読すると当業者には明らかになり得る。本発明人は、当業者が、このような変形を適切に採用することを期待し、本発明人は、本発明が本明細書に具体的に記載される以外に実践されることを意図する。したがって、本発明は、該当法によって許可されるように、本明細書に添付の請求項に記載される対象項目の修正および均等物を全て含む。さらに、その全ての可能な変形における上述の要素の任意の組み合わせは、その他本明細書に明記または文脈によって明確に否定されない限り、本発明によって網羅される。
本明細書に引用される、文献、特許明細書、および特許を含む全ての参考文献は、各参考文献が個別かつ具体的に参照により組み入れられ、その全体が本明細書に記載されているのと同じ程度において、参照により組み入れられる。

Claims (15)

  1. システムであって、
    1つ以上のプロセッサと実行可能命令を含むメモリとを有する、1つ以上のコンピューティングデバイスを備え、前記実行可能命令が前記1つ以上のプロセッサによって実行されると、前記実行可能命令は、前記1つ以上のプロセッサに、プロバイダ・コンピュータシステムに実装させ、
    プロバイダサービスの1つ以上のリソースと、前記プロバイダサービスの外部のもう1つのプロバイダの1つ以上のリソースを特定するテンプレートの少なくも部分的に基づくリソースの構成を作成し、前記リソースの構成は、前記プロバイダサービスによってプロビジョンされて、他のプロバイダによってプロビジョンされたリソースと統合されたコンピューテイングリソーズを含み、
    少なくともテンプレートに基づいて、他のリソースを初期化し、かつ前記他のリソースとコンピューティングリソースを統合する他のプロバイダと通信するように構成され、統合は前記他のリソースと前記コンピューティングリソースの1つ以上の接続の構成を含み、
    少なくとも部分的にテンプレートに基づく前記コンピューティングリソースをプロビジョンするよう、
    構成されることを特徴とするシステム。
  2. 前記1つ以上のプロセッサによって実行されるとき、前記1つ以上のプロセッサが、前記テンプレートに基づくリソースの構成を作成するよう構成されたワークフロー処理システムを実装させる付加実行可能命令を更に含むことを特徴とする請求項1に記載のシステム。
  3. ワークフロー処理システムが、タイマーをさらに備え、前記ワークフロー処理システムは、タイマーがタイムアウト閾値を超えると、リソーススタックが作成に失敗するように構成される、請求項2に記載のシステム。
  4. テンプレートによって定義されたリソース間の依存関係が順守されるように、前記他のリソースと前記コンピューティングリソース実行可能命令との1つ以上の接続の構成は、プロバイダ・コンピューテイングシステムに、前記テンプレートに少なくとも部分的に基づいて、リソースの構成内のリソースの構築を指示することを特徴とする請求項1に記載のシステム。
  5. 前記他のリソースは、前記コンピューティングリソースを提供するプロバイダサービスの内部要件に従わないことを特徴とする請求項1に記載のシステム。
  6. 方法であって、
    リソースプロバイダの1つ以上のコンピュータシステムの制御下で、前記1つ以上のコンピュータシステムが実行するプログラム命令は:
    前記リソースプロバイダによって、少なくとも:
    前記リソースプロバイダによって提供される1つ以上のコンピューティングリソースから選択されたコンピューティングリソースと、
    前記リソースプロバイダの外部のもう1つのプロバイダによって提供されるもう1つのリソース、
    を特定する構成テンプレートによって定義されるリソースの構成を構築するリクエストを受信すること、
    前記リソースの構成を、少なくとも、
    少なくとも部分的に前記構成テンプレートに基づいて前記コンピューティングリソースをプロビジョニングすることと、
    前記リソースの構成内で使用するための前記他のリソースを構成するように前記他のプロバイダに命令する通知を、前記他のプロバイダへ送信することと、
    前記他のプロバイダから、前記他のリソースの構成成功の指示を含む、前記通知への応答を受信することと、前記構築されたリソースの構成の使用を有効にすること、
    を構築すること、
    を実行するよう構成されたことを特徴とする方法。
  7. 前記リソースの構成を変更するリクエストを受信することと、
    前記他のプロバイダへ、前記他のリソースを変更するように前記他のプロバイダに命令する、変更通知を送信することと、
    前記他のプロバイダから、変更成功の指示を含む、前記変更通知への応答を受信することと、
    前記リソースの構成に対する前記変更の使用を有効にすることと、
    をさらに含む、請求項6に記載の方法。
  8. 前記リソースの構成内で使用するための前記もう1つのリソースを構成するように,異なるプロバイダに命令するもう1つの通知を前記異なるプロバイダに送信することと、
    前記異なるプロバイダから、前記異なるプロバイダの前記もう1つのリソースの構成成功のもう1つの指示を含む、前記通知への応答を受信すること、をさらに含む請求項6に記載の方法。
  9. 前記異なるプロバイダへ、通知を送信することが、管理セクションとペイロードとを含むように前記通知を構築することをさらに含み、前記管理セクションが、前記他のリソースの前記構成に関する情報を含み、前記ペイロードが、前記異なるプロバイダによって定義された特性を含む、請求項8に記載の方法。
  10. 前記他のプロバイダは、前記リソースプロバイダの内部要件に従わないことを特徴とする請求項8に記載の方法。
  11. 前記構成テンプレートによって定義された前記リソース間の依存関係が順守されるように、少なくとも部分的に前記構成テンプレートに基づいて、前記リソースの構成内のリソースの構築の順序を決定すること、
    をさらに含む、請求項6に記載の方法。
  12. 前記構成テンプレートは、前記選択されたコンピューティングリソースと前記他のリソースを前記リソースの前記構成内に統合するための定義を更に特定し、少なくとも部分的に前記構成テンプレートに基づく前記コンピューティングリソースのプロビジョニングは、前記テンプレートによって特定された定義に従う前記コンピューティングリソースのプロビジョニングを含む、ことを特徴とする請求項6に記載の方法。
  13. リソースプロバイダを実装するためコンピュータシステムの1つ以上のプロセッサによって実行される、コンピュータが実行可能な命令を記憶する非一時的コンピュータ可読記憶媒体であって、
    前記リソースプロバイダの1つ以上のコンピューティングリソースから選択されたリソース、
    前記リソースプロバイダの1つ以上のコンピューティングリソース外部のもう1つのリソース、
    を含むリソースの構成を構築するリクエストを受信するよう構成され、
    前記リソースの構成を構築するよう構成され、前記構築は、
    前記リソースプロバイダの前記リソースのプロビジョン、
    前記リソースの前記構成内で使用するための前記他のリソースの命令構成、
    前記リソースプロバイダの前記コンピューティングリソースの外部の前記他のリソースの構成成功の指示の受信、を含み、
    前記リソースの前記構築された構成の使用を可能にするよう、
    構成されたことを特徴とする非一時的コンピュータ可読記憶媒体。
  14. もう1つのプロバイダは、前記他のリソースの前記構成内で使用するための前記他のリソースの構成を命令するため、前記他のリソースを提供し、コンピュータ実行可能命令はさらに、前記リソースの構成内で使用するための前記他のリソースを構成するように前記他のプロバイダに命令する他のリソースの他のプロバイダへ、通知を送信することと、
    前記他のカスタムリソースの構成成功の指示を受信するため、前記コンピュータ実行可能命令は、前記他のプロバイダからの通知への応答を受信することを、さらに実行されることを特徴とする、請求項13に記載の非一時的コンピュータ可読記憶媒体。
  15. コンピュータ実行可能命令は、
    前記リソースの構成を変更するリクエストを受信することと、
    前記他のプロバイダへ、前記他のリソースを変更するように前記他のプロバイダに命令する、変更通知を送信することと、
    前記他のプロバイダから、変更成功の指示を含む、通知への応答を受信することと、
    前記リソースの構成に対する前記変更の使用を有効にすることと、
    をさらに実行されることを特徴とする、請求項14に記載の非一時的コンピュータ可読記憶媒体。
JP2016248865A 2012-11-02 2016-12-22 リソーススタック内のカスタムリソース Active JP6322694B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US13/668,151 2012-11-02
US13/668,151 US9058219B2 (en) 2012-11-02 2012-11-02 Custom resources in a resource stack

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2015540825A Division JP6068670B2 (ja) 2012-11-02 2013-11-01 リソーススタックを構築するための方法およびリソーススタックを管理するためのコンピュータシステム

Publications (2)

Publication Number Publication Date
JP2017076427A true JP2017076427A (ja) 2017-04-20
JP6322694B2 JP6322694B2 (ja) 2018-05-09

Family

ID=50623438

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2015540825A Active JP6068670B2 (ja) 2012-11-02 2013-11-01 リソーススタックを構築するための方法およびリソーススタックを管理するためのコンピュータシステム
JP2016248865A Active JP6322694B2 (ja) 2012-11-02 2016-12-22 リソーススタック内のカスタムリソース

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP2015540825A Active JP6068670B2 (ja) 2012-11-02 2013-11-01 リソーススタックを構築するための方法およびリソーススタックを管理するためのコンピュータシステム

Country Status (7)

Country Link
US (3) US9058219B2 (ja)
EP (1) EP2915055A4 (ja)
JP (2) JP6068670B2 (ja)
CN (2) CN108268323B (ja)
CA (1) CA2890303C (ja)
IN (1) IN2015DN03825A (ja)
WO (1) WO2014071201A2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019053502A (ja) * 2017-09-14 2019-04-04 日本電気株式会社 システム構築支援装置、システム構築支援方法、及びプログラム
JP2020135154A (ja) * 2019-02-14 2020-08-31 株式会社日立製作所 アプリケーションソフトウェアの開発を支援するシステム及び方法

Families Citing this family (51)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9058219B2 (en) 2012-11-02 2015-06-16 Amazon Technologies, Inc. Custom resources in a resource stack
US9667746B2 (en) * 2013-01-16 2017-05-30 Oracle International Corporation Executing a debugging operation during deployment of a blueprint within a cloud system
US9805070B2 (en) 2013-07-09 2017-10-31 Oracle International Corporation Dynamic migration script management
US9996562B2 (en) 2013-07-09 2018-06-12 Oracle International Corporation Automated database migration architecture
US9967154B2 (en) 2013-07-09 2018-05-08 Oracle International Corporation Advanced customer support services—advanced support cloud portal
US9747311B2 (en) 2013-07-09 2017-08-29 Oracle International Corporation Solution to generate a scriptset for an automated database migration
US9442983B2 (en) * 2013-07-09 2016-09-13 Oracle International Corporation Method and system for reducing instability when upgrading software
US11157664B2 (en) 2013-07-09 2021-10-26 Oracle International Corporation Database modeling and analysis
US10776244B2 (en) 2013-07-09 2020-09-15 Oracle International Corporation Consolidation planning services for systems migration
CN104462106A (zh) * 2013-09-17 2015-03-25 鸿富锦精密工业(深圳)有限公司 数据更新方法及系统
US10257026B1 (en) * 2013-12-19 2019-04-09 VCE IP Holding Company LLC System and method to manage interrelated devices in a computing infrastructure
US9817651B2 (en) * 2014-03-17 2017-11-14 Successfactors, Inc. Recommending updates to an instance in a SaaS model
US10089476B1 (en) 2014-06-03 2018-10-02 Amazon Technologies, Inc. Compartments
US10516667B1 (en) * 2014-06-03 2019-12-24 Amazon Technologies, Inc. Hidden compartments
US9405578B2 (en) * 2014-07-11 2016-08-02 Accenture Global Services Limited Intelligent application back stack management
US9832291B2 (en) * 2015-01-12 2017-11-28 Cisco Technology, Inc. Auto-configurable transport stack
US10248435B2 (en) * 2015-08-27 2019-04-02 International Business Machines Corporation Supporting operation of device
US10313227B2 (en) 2015-09-24 2019-06-04 Cisco Technology, Inc. System and method for eliminating undetected interest looping in information-centric networks
US10318265B1 (en) * 2015-10-09 2019-06-11 Amazon Technologies, Inc. Template generation for deployable units
US9910692B2 (en) 2016-01-26 2018-03-06 Intel Corporation Enhanced virtual function capabilities in a virtualized network environment
JP2017142722A (ja) * 2016-02-12 2017-08-17 日本電信電話株式会社 仮想計算機システムおよびvm起動制御方法
US10051071B2 (en) 2016-03-04 2018-08-14 Cisco Technology, Inc. Method and system for collecting historical network information in a content centric network
US10742596B2 (en) 2016-03-04 2020-08-11 Cisco Technology, Inc. Method and system for reducing a collision probability of hash-based names using a publisher identifier
US10264099B2 (en) 2016-03-07 2019-04-16 Cisco Technology, Inc. Method and system for content closures in a content centric network
US10067948B2 (en) 2016-03-18 2018-09-04 Cisco Technology, Inc. Data deduping in content centric networking manifests
US10091330B2 (en) 2016-03-23 2018-10-02 Cisco Technology, Inc. Interest scheduling by an information and data framework in a content centric network
US10320760B2 (en) 2016-04-01 2019-06-11 Cisco Technology, Inc. Method and system for mutating and caching content in a content centric network
US11036696B2 (en) * 2016-06-07 2021-06-15 Oracle International Corporation Resource allocation for database provisioning
US10762086B2 (en) * 2016-09-01 2020-09-01 Amazon Technologies, Inc. Tracking query execution status for selectively routing queries
CN107038073B (zh) 2016-12-23 2021-05-11 创新先进技术有限公司 资源处理方法及装置
US10284634B2 (en) * 2017-01-19 2019-05-07 International Business Machines Corporation Closed-loop infrastructure orchestration templates
US11403132B2 (en) 2017-07-11 2022-08-02 Red Hat, Inc. Managing tasks in a cloud computing environment using multiple orchestration tools
US11055134B2 (en) * 2017-11-30 2021-07-06 International Business Machines Corporation Performing an action on a composite of software instances
US10922141B2 (en) * 2017-12-11 2021-02-16 Accenture Global Solutions Limited Prescriptive analytics based committed compute reservation stack for cloud computing resource scheduling
US10621004B2 (en) * 2018-03-19 2020-04-14 Accenture Global Solutions Limited Resource control stack based system for multiple domain presentation of cloud computing resource control
US10942788B2 (en) 2018-06-15 2021-03-09 Vmware, Inc. Policy constraint framework for an sddc
US10812337B2 (en) 2018-06-15 2020-10-20 Vmware, Inc. Hierarchical API for a SDDC
EP3912035A1 (en) * 2019-01-15 2021-11-24 Microsoft Technology Licensing, LLC Dynamic auto-configuration of multi-tenant paas components
CN110515698A (zh) * 2019-08-16 2019-11-29 济南浪潮数据技术有限公司 一种资源申请方法、系统及电子设备和存储介质
US11256671B2 (en) 2019-09-13 2022-02-22 Oracle International Corporation Integrated transition control center
US11221855B2 (en) * 2020-03-06 2022-01-11 International Business Machines Corporation Transformation of an enterprise application into a cloud native application
WO2021196080A1 (en) 2020-04-01 2021-10-07 Vmware Information Technology (China) Co., Ltd. Auto deploying network elements for heterogeneous compute elements
US11573972B2 (en) 2020-05-27 2023-02-07 Red Hat, Inc. Automatically determining flags for a command-line interface in a distributed computing environment
US11803408B2 (en) 2020-07-29 2023-10-31 Vmware, Inc. Distributed network plugin agents for container networking
US11863352B2 (en) 2020-07-30 2024-01-02 Vmware, Inc. Hierarchical networking for nested container clusters
US11606254B2 (en) 2021-06-11 2023-03-14 Vmware, Inc. Automatic configuring of VLAN and overlay logical switches for container secondary interfaces
CN114090126A (zh) * 2021-11-23 2022-02-25 浩云科技股份有限公司 一种自定义系统变量方法、装置、终端设备及存储介质
US20230231741A1 (en) 2022-01-14 2023-07-20 Vmware, Inc. Per-namespace ip address management method for container networks
CN115145695B (zh) * 2022-08-30 2022-12-06 浙江大华技术股份有限公司 资源调度方法、装置、计算机设备和存储介质
US11848910B1 (en) 2022-11-11 2023-12-19 Vmware, Inc. Assigning stateful pods fixed IP addresses depending on unique pod identity
US11831511B1 (en) 2023-01-17 2023-11-28 Vmware, Inc. Enforcing network policies in heterogeneous systems

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1115849A (ja) * 1997-06-26 1999-01-22 Fujitsu Ltd サーバ連携制御方法
JP2004206712A (ja) * 2002-12-23 2004-07-22 Internatl Business Mach Corp <Ibm> トポロジ・アウェア・グリッド・サービス・スケジューラ・アーキテクチャ
WO2011067062A2 (en) * 2009-12-03 2011-06-09 International Business Machines Corporation Provisioning services using a cloud services catalog
JP2011129117A (ja) * 2009-12-17 2011-06-30 Intel Corp サービスとしてのクラウドフェデレーション
JP2011186637A (ja) * 2010-03-05 2011-09-22 Ntt Data Corp リソース連携システム及びリソース連携方法

Family Cites Families (103)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6138238A (en) * 1997-12-11 2000-10-24 Sun Microsystems, Inc. Stack-based access control using code and executor identifiers
US20040210479A1 (en) * 1996-10-25 2004-10-21 Ipf, Inc. Internet-based brand marketing communication instrumentation network for deploying, installing and remotely programming brand-building server-side driven multi-mode virtual kiosks on the World Wide Web (WWW), and methods of brand marketing communication between brand marketers and consumers using the same
US7904333B1 (en) * 1996-10-25 2011-03-08 Ipf, Inc. Web-based electronic commerce (EC) enabled shopping network configured to allow members of a consumer product management team and authorized parties to communicate directly with consumers shopping at EC-enabled websites along the world wide web (WWW), using multi-mode virtual kiosks (MMVKS) driven by server-side components and managed by product team members
US20020198791A1 (en) * 1999-04-21 2002-12-26 Perkowski Thomas J. Internet-based consumer product brand marketing communication system which enables manufacturers, retailers and their respective agents, and consumers to carry out product-related functions along the demand side of the retail chain in an integrated manner
US20020194251A1 (en) * 2000-03-03 2002-12-19 Richter Roger K. Systems and methods for resource usage accounting in information management environments
US20020152305A1 (en) * 2000-03-03 2002-10-17 Jackson Gregory J. Systems and methods for resource utilization analysis in information management environments
US20020120741A1 (en) * 2000-03-03 2002-08-29 Webb Theodore S. Systems and methods for using distributed interconnects in information management enviroments
US20030046396A1 (en) * 2000-03-03 2003-03-06 Richter Roger K. Systems and methods for managing resource utilization in information management environments
WO2002005061A2 (en) * 2000-07-06 2002-01-17 David Paul Felsher Information record infrastructure, system and method
US7085834B2 (en) 2000-12-22 2006-08-01 Oracle International Corporation Determining a user's groups
US20020087734A1 (en) 2000-12-29 2002-07-04 Marshall Donald Brent System and method for managing dependencies in a component-based system
US7352853B1 (en) 2001-05-22 2008-04-01 Cisco Technology, Inc. Automation of customer premises equipment provisioning in a telecommunications network
US6766364B2 (en) 2002-01-15 2004-07-20 Telcordia Technologies, Inc. Template based configuration and validation of a network for enabling a requested service to be compatible with the previously enabled services
US7007103B2 (en) * 2002-04-30 2006-02-28 Microsoft Corporation Method to offload a network stack
JP3901060B2 (ja) 2002-08-28 2007-04-04 日本電気株式会社 アプリケーションの更新処理方法、更新処理システム及び更新処理プログラム
US20050021688A1 (en) 2003-02-25 2005-01-27 David Felts System and method for domain configuration
FR2851870A1 (fr) * 2003-02-28 2004-09-03 France Telecom Organe de mediation multi-domaine multi-fournisseurs entre fournisseur de service applicatif et fournisseur de ressource dans un reseau de telecommunications
US20040186905A1 (en) * 2003-03-20 2004-09-23 Young Donald E. System and method for provisioning resources
JP3951949B2 (ja) * 2003-03-31 2007-08-01 日本電気株式会社 分散型資源管理システムおよび分散型資源管理方法並びにプログラム
US20040243699A1 (en) * 2003-05-29 2004-12-02 Mike Koclanes Policy based management of storage resources
US7457853B1 (en) 2003-07-03 2008-11-25 Cisco Technology, Inc. Method and apparatus for automatically configuring a network device
JP2005056201A (ja) 2003-08-05 2005-03-03 Hitachi Software Eng Co Ltd 異種混合計算機接続システム及びシステムにおける処理割り当て方法及び課金方法
US20070112574A1 (en) 2003-08-05 2007-05-17 Greene William S System and method for use of mobile policy agents and local services, within a geographically distributed service grid, to provide greater security via local intelligence and life-cycle management for RFlD tagged items
JP4277621B2 (ja) * 2003-08-20 2009-06-10 沖電気工業株式会社 サービス提供システムおよびその方法ならびにサービス提供プログラムおよび記録媒体
US7979548B2 (en) * 2003-09-30 2011-07-12 International Business Machines Corporation Hardware enforcement of logical partitioning of a channel adapter's resources in a system area network
US7246200B1 (en) 2003-11-12 2007-07-17 Veritas Operating Corporation Provisioning and snapshotting using copy on read/write and transient virtual machine technology
US7290164B1 (en) 2004-03-03 2007-10-30 Cisco Technology, Inc. Method of reverting to a recovery configuration in response to device faults
JP2005266917A (ja) 2004-03-16 2005-09-29 Nec Corp 分散資源獲得システム、分散資源獲得方法および分散資源獲得用プログラム
US8326658B1 (en) 2004-04-12 2012-12-04 Amazon Technologies, Inc. Generation and contextual presentation of statistical data reflective of user selections from an electronic catalog
BRPI0401465A (pt) * 2004-04-20 2006-02-21 Embria Informatica Ltda sistema para administrar interações entre usuários e aplicações de software em um ambiente web
US7873960B2 (en) 2004-08-04 2011-01-18 Microsoft Corporation Generic packaging tool for packaging application and component therefor to be installed on computing device
US7681242B2 (en) * 2004-08-26 2010-03-16 Novell, Inc. Allocation of network resources
US7590589B2 (en) * 2004-09-10 2009-09-15 Hoffberg Steven M Game theoretic prioritization scheme for mobile ad hoc networks permitting hierarchal deference
US8359390B2 (en) 2004-09-29 2013-01-22 Fujitsu Limited Method and system for provisioning services on a communication network
WO2006058209A2 (en) * 2004-11-24 2006-06-01 Agilis Systems, Inc. Mobile resource management system and method
EP1866767B1 (en) * 2005-03-16 2018-04-18 III Holdings 12, LLC Automatic workload transfer to an on-demand center
EP1872249B1 (en) * 2005-04-07 2016-12-07 Adaptive Computing Enterprises, Inc. On-demand access to compute resources
GB0514191D0 (en) 2005-07-12 2005-08-17 Ibm Methods, apparatus and computer programs for optimized parsing and service invocation
US7761591B2 (en) * 2005-12-16 2010-07-20 Jean A. Graham Central work-product management system for coordinated collaboration with remote users
JP2007193696A (ja) 2006-01-20 2007-08-02 Rikogaku Shinkokai 支援プログラム、支援プログラム生成プログラム、支援プログラム生成方法、ファイル生成・配布方法、及びインストールサーバ
US20070174429A1 (en) * 2006-01-24 2007-07-26 Citrix Systems, Inc. Methods and servers for establishing a connection between a client system and a virtual machine hosting a requested computing environment
US20070233827A1 (en) * 2006-03-29 2007-10-04 Mcknight Lee W Ad hoc distributed resource coordination for a wireless grid
US8024440B2 (en) 2006-05-03 2011-09-20 Netapp, Inc. Configuration verification, recommendation, and animation method for a disk array in a storage area network (SAN)
US7849472B1 (en) * 2006-08-16 2010-12-07 Oracle America, Inc. System for instrumenting resources utilizing WS-management resource MBean wrappers for JAXB beans
GB2443229B (en) * 2006-08-23 2009-10-14 Cramer Systems Ltd Capacity management for data networks
US8327350B2 (en) 2007-01-02 2012-12-04 International Business Machines Corporation Virtual resource templates
US20080189402A1 (en) * 2007-02-06 2008-08-07 International Business Machines Corporation Method and Respective System for Performing Systems Management on IT-Resources Using Web Services
US8134962B2 (en) * 2007-03-23 2012-03-13 Lg Electronics Inc. Resource management in a wireless communication network
US20080288239A1 (en) 2007-05-15 2008-11-20 Microsoft Corporation Localization and internationalization of document resources
US7844903B2 (en) 2007-05-25 2010-11-30 Dell Products, Lp System and method of automatically generating animated installation manuals
US8082294B2 (en) * 2007-06-27 2011-12-20 Concept Solutions, Llc Methods and systems for providing web applications
US8938735B2 (en) 2007-08-31 2015-01-20 Thomson Reuters Global Resources Bootstrapper and software download manager
US8370802B2 (en) 2007-09-18 2013-02-05 International Business Machines Corporation Specifying an order for changing an operational state of software application components
JP2011504623A (ja) * 2007-11-02 2011-02-10 クゥアルコム・インコーポレイテッド 構成可能なシステム・イベントおよびリソース・アービトレーション管理の装置および方法
CN101170502B (zh) * 2007-11-20 2011-10-26 中兴通讯股份有限公司 一种实现堆叠成员间互访的方法及系统
US8332459B2 (en) 2008-02-26 2012-12-11 International Business Machines Corporation Federation of composite applications
CN101521868B (zh) * 2008-02-29 2013-03-27 华为技术有限公司 一种漫游在线计费的方法、设备及控制系统
JP2009217321A (ja) 2008-03-07 2009-09-24 Fuji Xerox Co Ltd 情報処理装置及び情報処理プログラム
US8510718B2 (en) 2008-06-30 2013-08-13 Ubs Ag Platform verification portal
US8572580B2 (en) 2008-07-28 2013-10-29 Microsoft Corporation Computer application packages with customizations
US8819201B2 (en) 2008-08-07 2014-08-26 At&T Intellectual Property I, L.P. Method and apparatus for providing routing and access control filters
US7596620B1 (en) * 2008-11-04 2009-09-29 Aptana, Inc. System and method for developing, deploying, managing and monitoring a web application in a single environment
US8336047B2 (en) 2008-08-25 2012-12-18 International Business Machines Corporation Provisioning virtual resources using name resolution
US9870541B2 (en) 2008-11-26 2018-01-16 Red Hat, Inc. Service level backup using re-cloud network
US9037692B2 (en) 2008-11-26 2015-05-19 Red Hat, Inc. Multiple cloud marketplace aggregation
US8775574B2 (en) 2008-11-26 2014-07-08 Red Hat, Inc. Remote network management having multi-node awareness
US20100154024A1 (en) 2008-12-12 2010-06-17 At&T Intellectual Property I, L.P. Methods, appliances, and computer program products for controlling access to a communication network based on policy information
JP5183448B2 (ja) 2008-12-15 2013-04-17 三菱電機株式会社 情報処理装置及び情報処理方法及びプログラム
US8565118B2 (en) 2008-12-30 2013-10-22 Juniper Networks, Inc. Methods and apparatus for distributed dynamic network provisioning
US8331362B2 (en) 2008-12-30 2012-12-11 Juniper Networks, Inc. Methods and apparatus for distributed dynamic network provisioning
US20100280959A1 (en) * 2009-05-01 2010-11-04 Darrel Stone Real-time sourcing of service providers
US8370481B2 (en) * 2009-05-13 2013-02-05 Verizon Patent And Licensing Inc. Inventory management in a computing-on-demand system
US8856333B2 (en) 2009-06-16 2014-10-07 Microsoft Corporation Datacenter execution templates
US8769391B2 (en) 2009-08-24 2014-07-01 Adobe Systems Incorporated Application broker
US8341268B2 (en) * 2009-08-28 2012-12-25 Microsoft Corporation Resource sharing in multi-principal browser
US9674262B2 (en) 2009-10-01 2017-06-06 Telefonaktiebolaget L M Ericsson (Publ) Method and arrangements for application scope management
US8424010B2 (en) * 2010-01-21 2013-04-16 Mckesson Financial Holdings Shared resource management
US8122282B2 (en) 2010-03-12 2012-02-21 International Business Machines Corporation Starting virtual instances within a cloud computing environment
US8572612B2 (en) 2010-04-14 2013-10-29 International Business Machines Corporation Autonomic scaling of virtual machines in a cloud computing environment
US8700777B2 (en) 2010-05-28 2014-04-15 International Business Machines Corporation Extensible support system for service offerings
US10073706B2 (en) 2010-06-25 2018-09-11 Oracle International Corporation Method and system for performing application server configuration using configuration groups
US9178766B2 (en) 2010-06-28 2015-11-03 Amazon Technologies, Inc. Provisioning multiple network resources
US9235442B2 (en) * 2010-10-05 2016-01-12 Accenture Global Services Limited System and method for cloud enterprise services
US8699499B2 (en) 2010-12-08 2014-04-15 At&T Intellectual Property I, L.P. Methods and apparatus to provision cloud computing network elements
JP5476485B2 (ja) 2011-01-05 2014-04-23 株式会社日立製作所 サービスの予約管理方法、仮想計算機システム及び記憶媒体
CN102073549B (zh) * 2011-01-18 2013-06-19 浙江大学 一种基于资源共享的组件间通信方法
US8954591B2 (en) 2011-03-07 2015-02-10 Cisco Technology, Inc. Resource negotiation for cloud services using a messaging and presence protocol
US20120246630A1 (en) 2011-03-23 2012-09-27 Secure By Design System and Method for Automating Installation and Updating of Third Party Software
US9262498B2 (en) * 2011-05-27 2016-02-16 Red Hat, Inc. Generating optimized host placement of data payload in cloud-based storage network
US8407323B2 (en) * 2011-07-12 2013-03-26 At&T Intellectual Property I, L.P. Network connectivity wizard to support automated creation of customized configurations for virtual private cloud computing networks
US20130041852A1 (en) * 2011-08-12 2013-02-14 Qualcomm Incorporated Customizable dynamic resource regulating devices and methods
US9177132B2 (en) 2011-10-12 2015-11-03 International Business Machines Corporation Capturing data parameters in templates in a networked computing environment
US9003141B2 (en) 2011-11-14 2015-04-07 Ca, Inc. Enhanced software application platform
US9300531B2 (en) * 2011-12-12 2016-03-29 Openet Telecom Ltd. Systems, devices, and methods of orchestration and application of business rules for real-time control of subscribers in a telecommunications operator's network
US8725798B2 (en) 2011-12-15 2014-05-13 Microsoft Corporation Provisioning high performance computing clusters
US8984606B2 (en) 2011-12-22 2015-03-17 Hewlett-Packard Development Company, L.P. Re-authentication
US9047133B2 (en) 2012-03-02 2015-06-02 Vmware, Inc. Single, logical, multi-tier application blueprint used for deployment and management of multiple physical applications in a cloud environment
US9052961B2 (en) 2012-03-02 2015-06-09 Vmware, Inc. System to generate a deployment plan for a cloud infrastructure according to logical, multi-tier application blueprint
US8825817B1 (en) 2012-03-19 2014-09-02 Amazon Technologies, Inc. Using a template to update a stack of resources
US9058219B2 (en) 2012-11-02 2015-06-16 Amazon Technologies, Inc. Custom resources in a resource stack
US9015714B2 (en) * 2012-11-27 2015-04-21 Citrix Systems, Inc. Diagnostic virtual machine created to monitor cluster of hypervisors based on user requesting assistance from cluster administrator
TW201426552A (zh) * 2012-12-26 2014-07-01 Hon Hai Prec Ind Co Ltd 虛擬機的登錄介面排序系統及方法
US9141416B2 (en) * 2013-03-15 2015-09-22 Centurylink Intellectual Property Llc Virtualization congestion control framework for modifying execution of applications on virtual machine based on mass congestion indicator in host computing system

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1115849A (ja) * 1997-06-26 1999-01-22 Fujitsu Ltd サーバ連携制御方法
JP2004206712A (ja) * 2002-12-23 2004-07-22 Internatl Business Mach Corp <Ibm> トポロジ・アウェア・グリッド・サービス・スケジューラ・アーキテクチャ
WO2011067062A2 (en) * 2009-12-03 2011-06-09 International Business Machines Corporation Provisioning services using a cloud services catalog
JP2011129117A (ja) * 2009-12-17 2011-06-30 Intel Corp サービスとしてのクラウドフェデレーション
JP2011186637A (ja) * 2010-03-05 2011-09-22 Ntt Data Corp リソース連携システム及びリソース連携方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
片山暁雄: "特集1 真価を発揮!AWS[ディザスタリカバリとクラウド]第1章:Amazon Web Service", G−CLOUD MAGAZINE 2011 SUMMER, JPN6016019412, 1 August 2011 (2011-08-01), JP, pages 8 - 9, ISSN: 0003678488 *
矢口竜太郎: "マルチクラウド管理ツール:複数クラウドに伴う二つの問題", 日経SYSTEMS, vol. 第232号, JPN6016019413, 26 July 2012 (2012-07-26), JP, pages 12 - 13, ISSN: 0003678489 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019053502A (ja) * 2017-09-14 2019-04-04 日本電気株式会社 システム構築支援装置、システム構築支援方法、及びプログラム
JP2020135154A (ja) * 2019-02-14 2020-08-31 株式会社日立製作所 アプリケーションソフトウェアの開発を支援するシステム及び方法
JP7122270B2 (ja) 2019-02-14 2022-08-19 株式会社日立製作所 アプリケーションソフトウェアの開発を支援するシステム及び方法

Also Published As

Publication number Publication date
US20150288618A1 (en) 2015-10-08
WO2014071201A3 (en) 2014-06-26
US20140129690A1 (en) 2014-05-08
EP2915055A2 (en) 2015-09-09
JP6068670B2 (ja) 2017-01-25
CN104781802A (zh) 2015-07-15
US10348642B2 (en) 2019-07-09
CN108268323A (zh) 2018-07-10
CA2890303A1 (en) 2014-05-08
IN2015DN03825A (ja) 2015-10-02
JP2015535112A (ja) 2015-12-07
WO2014071201A2 (en) 2014-05-08
JP6322694B2 (ja) 2018-05-09
US20180212898A1 (en) 2018-07-26
CN108268323B (zh) 2022-04-12
EP2915055A4 (en) 2016-04-27
US9058219B2 (en) 2015-06-16
CA2890303C (en) 2018-01-02
CN104781802B (zh) 2018-03-23
US9929974B2 (en) 2018-03-27

Similar Documents

Publication Publication Date Title
JP6322694B2 (ja) リソーススタック内のカスタムリソース
CN109804352B (zh) 受管理的容器实例
US10776171B2 (en) Endpoint management system and virtual compute system
RU2751576C2 (ru) Система управления и диспетчеризации контейнеров
US10938668B1 (en) Safe deployment using versioned hash rings
CA2919839C (en) Virtual computing instance migration
US11842222B2 (en) Using scripts to bootstrap applications with metadata from a template
US20130304666A1 (en) Managing Information Exchange Between Business Entities
US10891569B1 (en) Dynamic task discovery for workflow tasks
US10656939B2 (en) Modeling lifetime of hybrid software application using application manifest
US10776081B2 (en) Systems and methods for utilizing webhooks integrated in platform-as-a-service supported application development and deployment
US9971544B1 (en) Techniques for usage metering and control in data storage systems
US9350738B2 (en) Template representation of security resources
US10705945B1 (en) Computing system testing service
US11829777B2 (en) Microservice deployment
US11818208B1 (en) Adaptive data protocol for IoT devices
Pelin et al. IoTPub–Infrastructure and Backend AP
Ignaczewski Deployment and migration of business services in the cloud
Familiar et al. Azure, A Microservice Platform

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20171031

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20171121

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180221

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180409

R150 Certificate of patent or registration of utility model

Ref document number: 6322694

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

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