JP2016507100A - マスタ・オートメーション・サービス - Google Patents

マスタ・オートメーション・サービス Download PDF

Info

Publication number
JP2016507100A
JP2016507100A JP2015552863A JP2015552863A JP2016507100A JP 2016507100 A JP2016507100 A JP 2016507100A JP 2015552863 A JP2015552863 A JP 2015552863A JP 2015552863 A JP2015552863 A JP 2015552863A JP 2016507100 A JP2016507100 A JP 2016507100A
Authority
JP
Japan
Prior art keywords
computing
virtual
command
designated
template
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.)
Pending
Application number
JP2015552863A
Other languages
English (en)
Inventor
ハリハラン・カンナン
アクシャヤ・マハパトラ
ジョン・ジェー.・マルクイーンニイ
サデウス・ストーナー
デービッド・オルスツェウスキー
Original Assignee
ブイシーイー カンパニー エルエルシー
ブイシーイー カンパニー エルエルシー
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 ブイシーイー カンパニー エルエルシー, ブイシーイー カンパニー エルエルシー filed Critical ブイシーイー カンパニー エルエルシー
Publication of JP2016507100A publication Critical patent/JP2016507100A/ja
Pending 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • 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/5077Logical partitioning of resources; Management or configuration of virtualized resources

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)
  • Debugging And Monitoring (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

複数の仮想マシン・インスタンス(VM)およびデータ・センタ内における他のコンピューティング・インフラストラクチャおよびネットワーク・インフラストラクチャを管理する方法およびシステムが提供される。ユーザは、コンピューティング・デバイスまたはコンピューティング資源(物理的であるか仮想的であるかを問わない)をマスタ・オートメーション・オブジェクトとして指定する(例えば、仮想マシン・インスタンスが、コマンド・レプリケーションを行うための仮想テンプレートとして指定されるかもしれない)。その後、そのユーザは、前記マスタ・オブジェクトと複数の物理および/または仮想コンピューティング資源より成る1つのセットとの間の関連付けを確立し、それらコンピューティング資源は、指定された複数のコマンドより成る1つのセットであって前記マスタ・オブジェクトに送出されたものをレプリケートすべきである。その後、オートメーション・サービスが、前記マスタ・オブジェクトに送出された複数のコマンドをインターセプト/オブザーブし、それらインターセプト/オブザーブされたコマンドを、前記マスタ・オブジェクトにリンクされる各コンピューティング資源に送出する。【選択図】図2

Description

本発明のいくつかの具体例は、概略的には、複数のコンピューティング資源(computing resources、計算資源)を管理する(manage)技術に関する。より具体的には、本発明のいくつかの具体例は、複数のデータ・センタ(data center、コンピュータやデータ通信などの装置を設置・運用することに特化した施設の総称)・システム(data center systems、データ・センタで用いられる複数のシステム)の構成(configuration、設定状態、構成態様)および/または状態(state、作動状態)を同時にかつダイナミックに(dynamically、動的に、状況に応じて変化する特性で)制御する(control)ために用いられる仮想テンプレート・サービス(a virtual template service、仮想テンプレートを提供するサービス、機能、機能特徴部、ソフトウエア、プログラム、ルーチン)を提供する。
一般に、1つの仮想化コンピューティング環境(a vritualized computing embironment、仮想コンピューティング環境、仮想化計算環境、仮想化環境)であって、例えば、数千台のコンピューティング・サーバ(computing servers、計算サーバ)をホスティングするデータ・センタ(a data center、1つのデータ・センタなど)のようなものにおいては、複数の仮想マシン(virtual machine、物理コンピュータ上で起動され、ソフトウエアによって構築された仮想コンピュータ)・インスタンス(instance、稼働・処理・実行を行う実体、仮想マシンを構築するために物理コンピュータ上で実行されるプログラム、ソフトウエア)(VMs)が、1台または複数台のホスト・コンピュータ(host computers、前記データ・センタ内において前記コンピューティング・サーバをホスティングするコンピュータなど)上で動作する(run)ように構成される。各仮想マシンは、ホスト・コンピュータ(a host computer、1台のホスト・コンピュータなど)の複数のCPU・メモリ資源(CPU and memory resources、CPUおよびメモリに関する複数の資源)を用い、自身のオペレーティング・システムおよびいくつかのアプリケーション・プログラムを実行する。そのようにすることにより、各仮想マシンが、見掛け上、他から独立した(separate)1つのスタンドアローン型(stand-alone、自立型)のコンピュータ・システムとして動作する(operate)ことが可能となる。前記仮想化環境(the virtuallized environment、前記仮想化コンピューティング環境)の管理者(administrator、ユーザ)は、1台のホスト・コンピュータ上における前記複数の仮想マシンの各々のために(for、ごとに、について)プロビジョンされる(provisioned、準備されて割り当てられる)複数のCPU・メモリ資源の量を指定することが可能である。いくつかの仮想化環境(virtualized environment、前記仮想化コンピューティング環境)においては、いくつかの管理ツール(administrative tools、管理を行うために使用されるツール)が、各仮想マシン・インスタンス(virtual machine instance、仮想マシンのインスタンス、仮想マシンを作動させるためにハードウエアによって実行されるソフトウエア)を個別に起動させ、停止させ、そして、設定する(configure、構成する)ために用いられる。さらに、いくつかの管理ツール(administrative tools)が、異なる複数台のホスト・コンピュータ上での資源の稼働率(usage、利用状況)を監視するとともに、複数の仮想マシン・インスタンスのレベルにおける(at a level、複数の仮想マシン・インスタンスを対象にした) 負荷分散サービス(load balancing service、負荷分散を行うサービス、機能、機能特徴部、ソフトウエア、プログラム、ルーチン)を提供するかもしれない。この種のソフトウエアにより、複数の仮想マシンが1台のホスト・コンピュータから別のホスト・コンピュータに、例えば、作業負荷が高い(busy)ホスト・コンピュータから余剰の能力を有する(has excess capacity、余力のある)ホスト・コンピュータに移行させられる(migrate)。
前記仮想コンピューティング・システムおよび物理コンピューティング・システム(virtual and physical computing systems)であってデータ・センタ内にあるものを、それらコンピューティング・システムに付随した(associated)ネットワーキング(networking、ネットワークを形成する)・システムおよびストレージ・システム(networking and storage systems)であってデータ・センタ内にあるもののハードウエアと共に管理しつつ、マス・コンフィギュレーション・アップデート(mass configuration update、複数の仮想マシンの構成を更新すること)を行うか、または、個別に(individually、デバイスごとに、コマンドごとに)、同じコマンドを複数のデバイス(物理デバイスであるか仮想デバイスであるかを問わない)に送出することがしばしば必要である。例えば、今日における企業のソルーション/アプリケーション(solutions/applications)はしばしば複数の仮想マシンであって共通の特性を有するように設定されたもの、例えば、複数の仮想マシンより成る1つのグループ(a group of virtual machines、1つの仮想マシン群)が、共通のオペレーティング・システム(OS)、共通のネットワーキング構成(networking configuration、ネットワークを形成するための構成)、例えば、サブネット、ドメインおよびDNS(domain name server、ドメイン・ネーム・サーバ)のそれぞれの割り当て(assignments)、共通のアプリケーションを共有するかもしれない。
例えばウェブ・サービスを提供するために、1つの構成(one configuration、設定条件)を有する複数のVMより成る1つのグループ(1つのVM群)が複数のウェブ・サーバを提供し、一方、第2のグループ(a second group、第2のVM群)が複数のアプリケーション・サーバを提供し、また、第3のグループ(a third、第3のVM群)が複数のデータベース・システムを提供することが可能である。さらに、各グループ(each group、各VM群)は、前記データ・センタ・ネットワーク(the data center network、前記データ・センタが用いるネットワーク)内の、他のサブネットと重複しない(distinct、他のサブネットとは異なる)1つのサブネットのうちの一部であるように構成することが可能である。しかし、そのサブネットが、それらグループのうちの1つについて変更を加えることが必要であると、その1つのグループ内の各マシン(machine、仮想マシン)を、個々に再設定すること、すなわち、固有のスクリプト(one-off script)を、前記変更が行われるとその影響を受けるグループ(the affected group、前記1つのグループ(that group))に前記変更を加えるように記述して用いることが必要となる。同様に、前記ウェブ・サーバのアプリケーションが更新され、かつ、前記第2のVM群内の、仮想化された複数のCPUの構成(configuration)に対する変更が必要である場合を仮定する(例えば、処理能力をより専用化すること(more dedicated processing capabilities)を実現することを目的として)。この場合、前記ウェブ・サーバ提供用のVM群内の各仮想マシンは、個別に(indivivually、各仮想マシンごとに)再設定されること、すなわち、スクリプトをこの特定のオペレーション(this specific operation、前記変更を前記第2のVM群内の前記仮想化された複数のCPUの構成に加えること)を実行するように記述することが必要となるであろう。種々の他の構成上の要求(configuration requirements、設定状態についての要求)または管理オペレーション(administrative operations)が、複数の仮想マシンの間、想定された1つのホスト(a given host、データ・センタ内のホスト・コンピュータであって仮想マシンをホスティングするものなど)上の複数の仮想マシンを管理する複数のハイパーバイザー(hypervisors、仮想マシンを稼働させるためにサーバに直接インストールされる制御プログラム)の間、または、前記複数のホスト(hosts、データ・センタ内の複数台のホスト・コンピュータであって仮想マシンをホスティングするものなど)自身の構成(confiiguration)の間において実行されることが頻繁に必要である。同様な事案が、データ・センタ内の他のコンピューティング資源についても発生する。例えば、データ・センタ内にある複数のネットワーキング・スイッチ(物理的であるか仮想的であるかを問わない)より成る1つのグループまたは他のネットワーキング・インフラストラクチャが、同じ構成変更(configuration changes)を用いて更新されることが必要であるかもしれない。
それら事例の各々においては、種々の管理オペレーションが、各仮想マシンまたはデータ・センタ内の他のコンピューティング資源を個別に設定する(および再設定する)ために用いられるかもしれない。しかし、このようにすることは、簡単な変更を完遂するために多くの時間を必要とする可能性がある。
この書類に開示されているもののいくつかの具体例には、複数のコンピューティング資源を管理する方法が含まれる。この方法は、概略的に、指定されたコマンドであって、指定されたコンピューティング資源(a designated computing resource、前記複数のコンピューティング資源のうちのいずれかであって指定されたもの)によって実行されるべきものの出現を検出するために、前記指定されたコンピューティング資源を監視する工程を含むことが可能である。前記コマンドが前記指定されたコンピューティング資源に送出された(sent、送信された)と判定されると、前記指定されたコンピューティング資源にリンクされる(linked、連動する、接続される)1または複数のコンピューティング資源が特定されるかもしれない。さらに、前記指定されたコマンド(the specified command)は、前記指定されたコンピューティング資源にリンクされる(linked)前記1または複数のコンピューティング資源の各々の上で実行される。
他のいくつかの具体例は、複数の指令を含むコンピュータ読み取り可能記録媒体であって、前記複数の指令により、プロセッシング・ユニット(processing unit) が、この書類に開示されているいくつかの方法についての1または複数の側面を実施することが可能であるもの、または、プロセッサ、メモリおよびアプリケーション・プログラムであってこの書類に開示されているいくつかの方法についての1または複数の側面を実施するように設定されたものを有するシステムを含むが、それら以外のものを排除しない。
本発明のいくつかの特徴であって上述されたものが詳細に理解され得るように、簡単に説明された本発明についてのより具体的な文章による説明が、いくつかの実施形態を参照することによって行われ、それら実施形態のうちの一部が、添付された複数枚の図面に示されている。しかし、注目すべきことは、それら添付された図面は、本発明の典型的ないくつかの実施態様のみを示しており、よって、本発明の範囲を限定するものと考えるべきではないということであり、なぜなら、本発明は、同様に効果的である他のいくつかの実施形態を包含して(admit to)もよいからである。
図1は、仮想化環境を提供するように構成された統合(integrated)コンピューティング・プラットフォーム(platform、基礎技術、基盤)であって一実施形態に従うものを示している。
図2は、マスタ・オブジェクトに対して行われた変更(changes、変更点、変更内容、複数回の変更)を、前記マスタ・オブジェクトにリンクされる(linked、接続される)複数のコンピューティング資源より成る1つのセット(1つのコンピューティング資源群)にレプリケートする(replicate、前記マスタ・オブジェクトと同じ内容のレプリカ(複製)を前記1つのセット(前記1つのコンピューティング資源群)上に作成し、内容を両者間で同期させる、複製する)ように構成されたマスタ・オートメーション・システムであって一実施形態に従うものを示している。
図3は、仮想テンプレートにリンクされる複数のコンピューティング資源より成る1つのセット(1つのコンピューティング資源群)のための前記仮想テンプレートとして用いられる1つの仮想マシン・インスタンスの一参考例であって一実施形態に従うものを示している。
図4は、構成(configuration、設定状態、設定)および/または状態(state、作動状態)の変更(changes、変更点、変更内容、複数回の変更)を、マスタ・オブジェクトにリンクされる複数のコンピューティング資源より成る1つのセット(1つのコンピューティング資源群)にレプリケートするために用いられるように前記マスタ・オブジェクトを設定する方法であってこの書類に開示されているものの一実施形態に従うものを示している。
図5は、マスタ・オブジェクトに対して行われた変更(changes、変更点、変更内容、複数回の変更)を、前記マスタ・オブジェクトにリンクされる複数のコンピューティング資源より成る1つのグループ(1つのコンピューティング資源群)にレプリケートする方法であって一実施形態に従うものを示している。
理解を助けるために、前記複数枚の図面に共通である同一の要素を示すために、同一の符号が、可能である限り、用いられる。考慮されることは、ある実施形態において開示された要素が、特記なしで、他のいくつかの実施形態において効果的に用いられることが可能であるということである。
本発明のいくつかの実施形態により、複数の仮想マシン・インスタンス(virtual machine instance、仮想マシンのインスタンス、仮想マシンを作動させるために実行されるプログラム、ソフトウエア)(VMs)とデータ・センタ内の他のコンピューティング・インフラストラクチャおよびネットワーク・インフラストラクチャ(computing and network infrastructure)とを管理する(manage)メカニズム(mechanism、機構、仕組み、構成)が提供される。一実施態様においては、ユーザが、コンピューティング・デバイスまたはコンピューティング資源(a compurting device or resource、1つのコンピューティング・デバイスまたは1つのコンピューティング資源)(物理的であるか仮想的であるかを問わない)をマスタ・オートメーション・オブジェクト(a master automation object、1つのマスタ・オートメーション・オブジェクト、1つのマスタ・オブジェクト、マスタとしての役割を有するオブジェクト)として指定する。その後、今回の管理者(the administrator、前記ユーザ)は、前記マスタ・オブジェクト(master object、前記マスタ・オートメーション・オブジェクト)と、複数の物理的および/または仮想的なコンピューティング資源より成る1つのセット(1つのコンピューティング資源群)であって、指定された複数のコマンドより成る1つのセット(1つのコマンド群)であって前記マスタ・オブジェクトに送出されたものをレプリケートすべきものとの間の関連付け(an association)を確立する。オートメーション・サービス(automation service、オートメーションまたは自動化を行うサービス、機能、機能特徴部、ソフトウエア、プログラム、ルーチン)が、その後、前記マスタ・オブジェクトに送出された複数のコマンドをインターセプト/オブザーブし(intercept/observe、傍受/観察し、傍受または観察し、接受または観察し、知得し、1つのコマンド群にアクセスし)、そのインターセプト/オブザーブされた(intercepted/observed、傍受/観察された、傍受または観察された、接受または観察された、知得された、アクセスされた)複数のコマンドを、前記マスタ・オブジェクトにリンクされる(linked、連動する、接続される)各コンピューティング・デバイスに送出する。前記コマンドは、それ自身、ユーザにより、種々の方式によって実行を開始されるかもしれず、その種々の方式には、例えば、コマンド・ライン・インタラクション(CLI)(command line interaction)、ファンクション・コール(function calls)、GUIを介した入力(マウスの動き/クリック)、プロシージャ・コール(procedure calls)、メッセージ・ハンドリング(message handling)、スクリプト・インプット/エグゼキューション/アウトプット(script input/execution/output)などがある。
それらオペレーション(operations、処理、工程、プロセス)は、マスタ・オブジェクトとして使用される特定のコンピューティング資源に合わせて個別の調整される(tailor)かもしれない。しかし、複数の例としては、複数の仮想マシンより成る1つのグループ(1つの仮想マシン群)についてのスナップショット・オペレーション(snapshot operation、プログラムやデータのファイルを特定のタイミングで取得して保存する処理)の開始と、複数のコンピューティング資源(例えば、複数のVMインスタンス、複数の物理ホスト、複数のルータなど)より成る1つの広範囲のグループ(1つのコンピューティング資源群)についてのDNS設定値の更新と、リバート(revert、復帰)・スナップショット・オペレーションの、複数の仮想マシンより成る1つのグループ(1つの仮想マシン群)への送出(sending a revert snapshot operation、1つの仮想マシン群にリバート・スナップショット・オペレーションを実行させること)と、複数のネットワーク・スイッチを用いた1つのVLANの作成または設定とがある。
一実施態様においては、前記マスタ・オブジェクトと、そのマスタ・オブジェクトにリンクされる複数のオブジェクトより成る前記1つのセット(the set of linked objects、前記1つのオブジェクト群、前記1つの仮想マシン群)とが、全体的な(general、概略的な)タイプおよび構成(configuration、設定状態)に関して同一であり、例えば、1つの仮想マシン・インスタンスが1つの仮想テンプレートとして指定され、その仮想テンプレートは、前記マスタ・オブジェクトにリンクされる複数の仮想マシン・インスタンスより成る1つのグループ(1つの仮想マシン・インスタンス群)のためのものであり、それら複数の仮想マシン・インスタンスは、共通のゲスト・オペレーティング・システムと、共通のバーチャライゼーション構成(virtualization configuration、仮想化を実行するための構成、構成態様、コンフィギュレーション)とを共有する。しかし、いくつかの事例においては、複数のオペレーションが、コンピューティング資源についての互いに異なる複数のタイプ上で実行される(performed against)かもしれない(例えば、複数のDNSエントリ(entries、記載事項)を種々のコンピューティング資源上でセッティングすること)。例えば、1つの仮想テンプレートに関連付けられた1つのスイッチが、その仮想テンプレートに対して行われた複数のコマンドまたは複数の構成設定値(configuration settings)と同じもののうちのいくつかをサポートするかもしれない(例えば、複数のネットワーク・スイッチおよび複数の仮想マシン・ホスト(virtual machine hosts、複数の仮想マシンの複数のホスト・コンピュータなど)上でVLANを作成しまたは設定すること)。よって、当該仮想テンプレート・サービスによってレプリケートされた複数のコマンドより成る前記1つのセット(前記1つのコマンド群)は、前記仮想テンプレートにリンクされる前記複数のコンピューティング資源に適合するように個別に調整される(tailor)かもしれない。
例えば、一実施態様においては、1つのVMインスタンスが、1つのマスタ・オブジェクト−仮想テンプレートとも称される−として指定されることが可能であり、また、複数の仮想マシンより成る1つのグループ(1つの仮想マシン群)が、前記仮想テンプレートにリンクされるかもしれない。ひとたびリンクされる(linked、前記1つのグループが前記仮想テンプレートにリンクされる)と、前記仮想テンプレートに対して行われるいかなる変更も、前記仮想テンプレートにリンクされる複数のVMより成る前記1つのグループ(前記1つの仮想マシン群)にレプリケートされる(replicated、いかなる変更も、それのレプリカが、前記1つの仮想マシン群上に作成される、いなかる変更も前記1つの仮想マシン群に反映される)。その実際のコマンドまたはオペレーション(actual command or operation、設定変更のために実際に用いられるコマンドまたはオペレーション)は、種々の利用可能な設定ツール(configuration tools)および管理ツールを用いることにより、前記仮想テンプレート・マシン(virtual template machine、仮想テンプレートとして指定された仮想マシン)上で実行される。この実施態様においては、仮想テンプレート・サービス(virtual template service、仮想テンプレートを用いて仮想マシンを発生させることを行うソフトウエアなど)が、設定変更(configuration changes、構成変更、複数回の構成変更)を監視してその設定変更の内容を、前記仮想テンプレートにリンクされる前記複数の仮想マシンのうちの残りの部分(およびデータ・センタの他のいくつかのシステム)にレプリケートする責任を負う。
仮想テンプレートについての上述の例を続けて説明すると、管理ツールにより、ユーザが、自ら選択したVMを、前記仮想テンプレートとして作用するように指定することが可能となる。一実施態様においては、その仮想テンプレートが、ストレージもメモリも割り当てられていない1つのVMインスタンスであり、よって、それら資源(these resources、ストレージおよびメモリ)に対して行われる変更が、前記仮想テンプレートにリンクされるVMのうちのいずれにもレプリケートされない。しかし、これに対し、前記仮想テンプレートとして指定された前記VMインスタンス上のネットワーク構成およびバーチャライゼーション構成(virtualization configuration)は、前記仮想テンプレートにリンクされた複数の仮想マシンより成る1つのセット(1つの仮想マシン群)上の、目標の構成(desired configuration)に概して合致すべきである。その後、その仮想テンプレートは、仮想テンプレート・サービスに登録される。前記管理者は、さらに、1または複数のVMインスタンス(または他のいくつかのコンピューティング資源)より成る1つのグループを前記仮想テンプレート・サービスに登録する。その管理者は、さらに、複数のオペレーションであって、前記仮想テンプレート上で実行されると、前記リンクされた複数のVM上でも実行されるべきものを特定する(specify)。
注目されたいことは、与えられた(given、指定された)1つのVMが、複数の仮想テンプレートにリンクされるかもしれないということである。同様に、1つの仮想テンプレートが、別の仮想テンプレートにリンクされ、それにより、互いに連続した(cascading)複数回の変更が、前記1つのVMにリンクされる複数のVMより成る複数のグループ(複数のVM群)上で実行されることが可能であるということである。一実施態様においては、前記仮想テンプレート・サービスが、さらに、発見コンポーネント(discovery component、発見を行う構成要素)を有し、その発見コンポーネントは、複数の候補VMを、リンクされる複数の仮想マシンより成る前記1つのセット(前記1つの仮想マシン群)内に包含されるように特定する(identify、識別する)ように構成されている。
前記仮想テンプレート・サービスは、概略的に、前記仮想テンプレートに対して行われるいくつかのオペレーションをインターセプト(またはオブザーブ)し、その後、それらの変更を、前記仮想テンプレートにリンクされる前記複数の仮想マシンに伝搬する(propagate、遺伝させる)(または、同じコマンド(the same command、前記インターセプトされたオペレーションもしくはそれに対応するコマンド)を前記複数の仮想マシン上で実行する)ように構成されている。例えば、スナップショット・オペレーションが前記仮想テンプレート上で実行される事例を想定する。この事例においては、前記仮想テンプレート・サービスが前記オペレーション(前記テンプレート上で実行されるもの)をインターセプトする。その後、同じスナップショット・オペレーションが、前記仮想テンプレートにリンクされる各VM上で実行される。別の例としては、あるオペレーションが、仮想ネットワーク・インターフェース・カードを前記仮想テンプレートに追加するように実行される事例を想定する。この事例においては、前記仮想テンプレート・サービスが、今回のオペレーション(this operation、仮想ネットワーク・インターフェース・カードを仮想テンプレートに追加するというオペレーション)をインターセプトし、前記仮想テンプレートにリンクされる各仮想マシン上で、ネットワーク・インターフェース・カードを追加するためのオペレーション(an add network interface card)を実行する。
より概略的に説明するに、いくつかのコマンドが、(i)前記仮想マシンのコンテナ(container、独立したサーバと同様の振る舞いをする区画)上で、スナップショット・オペレーションまたはリバート・オペレーションのようなものとして実行されるか、または(ii)前記仮想マシン自体上で、特定の構成設定値(configuration settings)を変更するようなもの、例えば、ネットワーキング・サブネット、DNS(ドメイン・ネーム・サーバ)もしくは他のサービス・アドレスに対して行われる変更、もしくは、前記ゲスト・オペレーティング・システム(guest operating system、仮想マシンのオペレーティング・システム)に臨まされるいくつかのコンポーネントに対して行われる変更として実行されるかもしれない。1つの仮想テンプレートおよびそれにリンクされる複数の仮想マシンについての上述の例においては、前記いくつかのオペレーションが、VMのスナップショット(snapshot、VMの状態を保存すること)の作成、先行するスナップショットへのリバート(revert、復帰)、いくつかのネットワーク・コンポーネントの追加/削除、あるドメインへの参加もしくは退出、パワー・オン/オフもしくはリブート(reboot)、VM上での他のいくつかの管理コマンドの実行などを含むかもしれない。あるコマンドが前記仮想テンプレート上で実行される(performed to)と、それと同じオペレーションも、その仮想テンプレートにリンクされる各VM上で自動的に実行される。もちろん、いくつかのオペレーションはレプリケートされず、例えば、前記仮想テンプレートのIPアドレスに対して行われる変更は、前記リンクされる複数の仮想マシンにレプリケートされない。
データ・センタの他のハードウエアまたは仮想化コンピューティング資源について行われるプロセスも同様である。例えば、スイッチ(物理的であるか仮想的であるかを問わない)が、マスタ・オブジェクトにリンクされる複数のオブジェクトにコマンドをレプリケートするための前記マスタ・オブジェクトとして指定されるかもしれない。データ・センタの複数のスイッチより成る1つのグループ(1つのスイッチ群)であって、特定の構成設定値または状態設定値(configuration or state settings)を共有すべきものが、前記マスタ・オブジェクトであるように指定されたもの(the one、スイッチ)にリンクされるかもしれない。その後、前記マスタ・スイッチ(the master switch、前記マスタ・オブジェクトとして指定された前記スイッチ)上で実行される(performed to)特定のいくつかのコマンドが、そのマスタ・スイッチにリンクされる各スイッチにレプリケートされる。
続く説明においては、本発明のいくつかの実施態様について言及される。しかし、本発明は、ここに説明されるいくつかの実施態様に限定されない。その代わり、後述の複数の特徴および複数の要素の任意の組合せが、互いに異なるいくつかの実施態様に関連するか否かを問わず、本発明を実施する対象として考慮される。さらに、本発明のいくつかの実施態様が、他の可能ないくつかの解決手段および/または先行技術に勝るいくつかの効果を達成するかもしれないが、ある効果(a particular advantage、特定の利点)が、想定される実施態様によって達成されるか否かということが本発明にとっての限定になる(limiting of the invention、本発明に該当するか否かを左右する)ことはない。よって、後述のいくつかの側面、特徴、実施態様および効果は、例示にすぎず、付随する複数の請求項に明示されている場合を除き、複数の請求項のいくつかの要素であると判断されることもいくつかの限定であると判断されることもない。同様に、「本発明」についての言及は、この書類に開示されている任意の発明主題を一般化するものとして理解するべきではなく、また、付随する複数の請求項に明示されている場合を除き、複数の請求項の要素であると判断されるべきでも限定であると判断されるべきでもない。
本発明のいくつかの側面が、システム、方法またはコンピュータ・プログラム・プロダクト(computer program product)として具体化されるかもしれない。したがって、本発明のいくつかの側面は、全体的にハードウエアである実施態様、全体的にソフトウエアである実施態様(ファームウエア、常駐ソフトウエア、マイクロコードなどを含む)またはソフトウエアの側面とハードウエアの側面とが組み合わされた実施態様という形態を取るかもしれず、この書類においては、それら実施態様のすべてを全体的に、「回路」、「モジュール」または「システム」と称する。さらに、本発明のいくつかの側面は、1または複数のコンピュータ読み取り可能媒体であってそれにコンピュータ読み取り可能なコードが具現化されたものとして具現化されるコンピュータ・プログラム・プロダクトという形態を取るかもしれない。
この書類に添付されているいくつかの図面内のフローチャートおよびブロック図は、本発明の種々の実施態様に従い、システム、方法およびコンピュータ・プログラム・プロダクトが取り得るいくつかの実施例のアーキテクチャ(architecture、ハードウエア基本設計概念)、ファンクショナリティ(functionality、機能)およびオペレーション(operation、動作、運用)を図示している。ここに、フローチャートまたはブロック図内の各ブロックは、モジュール、セグメントまたはコードの一部を表現しているかもしれず、各ブロックは、特定された論理的な機能を実行するための1または複数の実行可能な指令を有する。別のいくつかの実施態様においては、注目するブロックにおいて明記されたいくつかの機能が、前記複数の図面に明記された順序とは異なる順序で発生するかもしれない。例えば、互いに連続して図示されている2つのブロックが、関与するファンクショナリティに依存し、実際には、実質的に同時に実行されるかもしれないし、それらブロックが、時折、逆の順序で実行されるかもしれない。ブロック図および/またはフローチャートによる説明内の各ブロック、および、ブロック図および/またはフローチャートによる説明内の複数のブロックのいくつかの組合せ(combinations of blocks、複数のブロックより成る組合せ)は、ハードウエアをベースにした専用のシステムによって実行することが可能であり、そのシステムは、特定の機能、特定の作用、または、専用のハードウエアおよび専用のコンピュータ指令群の組合せを実行する。
本発明のいくつかの実施態様は、クラウド・コンピューティング・インフラストラクチャを経由してエンド・ユーザに提供されるかもしれない。クラウド・コンピューティングは一般に、スケーラブルなコンピューティング資源をネットワーク上のサービスとして提供することを意味する。より形式的には、クラウド・コンピューティングは、前記コンピューティング資源と、それの基礎を構成する技術的アーキテクチャ(例えば、サーバ、ストレージ、ネットワーク)との間におけるアブストラクション(abstraction)を提供するコンピューティング能力(computing capability、計算能力)として定義されるかもしれず、そのアブストラクションにより、コンフィギュラブルな(configurable、設定変更可能な)複数のコンピューティング資源より成る共有プールへの、便利でかつオンデマンドのネットワーク・アクセスを可能とし、その共有プールを構成する複数のコンピューティング資源は、管理作業またはサービス・プロバイダのインタラクション(interaction、情報のやりとり)が最小である状態で、迅速にプロビジョンされる(provisioned、準備されて割り当てられる)とともにリリースされることが可能である。よって、クラウド・コンピューティングにより、ユーザが、「前記クラウド」内のいくつかの仮想コンピューティング資源(例えば、ストレージ、データ、アプリケーションが該当し、さらに、完備された(complete、すべての要素が備わっている)仮想化コンピューティング・システムも該当する)にアクセスすることが、それの基礎となる物理システム(または、その物理システムのロケーション)であって前記いくつかのコンピューティング資源(the computing recourses、前記いくつかの仮想化コンピューティング資源)を提供するために用いられるものの如何を問わず、可能である。ユーザは、前記クラウド内に駐在する前記複数の資源のうちの如何なるものにも、如何なる時期にも、そして、前記インターネット上の如何なる場所からでも、アクセスすることが可能である。本発明の文脈においては、クラウドをベースとするアプリケーションが、ユーザが、仮想マシン・インスタンス(または他のコンピューティング資源)をマスタ・オブジェクトとして指定することが可能であるとともに、ユーザが、他のいくつかのコンピューティング資源より成る1つのグループ(例えば、クラウドをベースとするサービスによってホスティングされる複数の仮想マシンより成る1つのグループ)であって前記マスタ・オブジェクトに送出されるいかなるコマンドもレプリケートされるべき相手であるものを指定することも可能であるように構成されるかもしれない。
さらに注記するに、説明の便宜上、いくつかの実施態様が、この書類中に、マスタ・オブジェクトの1つの参考例としての仮想テンプレートとして指定された仮想マシンを用いるものとして説明されている。しかし、当業者であれば、本発明のいくつかの実施態様が、データ・センタ内にある広範囲にわたる種々の物理コンピューティング資源および/仮想コンピューティング資源、例えば、他のいくつかのVMをホスティングする物理サーバ、物理サーバそれ自体、ネットワーク・インフラストラクチャ、例えば、ルータおよびスイッチなどを含むものと共に用いられるように適合させられる(adapted、構成される)かもしれない。
図1は、統合コンピューティング・プラットフォーム102であって、仮想化環境を実現するように構成されるとともに、この書類に開示されているものの一実施形態に従うものを示している。管理者(administrator、アドミニストレータ)150は、統合コンピューティング・プラットフォーム102を既存のコンピューティング環境(例えば、データ・センタ100)内に配備することを希望する。そのデータ・センタ100は、複数のサーバ(サーバ104,104,104として図示されている)であって1または複数のサービス(service、プログラムなど)106を実行する(run)ものを有するかもしれないる。それらサーバ104は、従来のコンピューティング・コンポーネント(例えば、プロセッサ、メモリ、ストレージ)を有してもよいし、または、そのような物理ハードウエア上で実行される複数の仮想マシン(VM)であってもよい。それらサーバ104上で動作する(run)複数のサービス106は、複数のアプリケーションをユーザに提供し、それらアプリケーションは、例えば、ディレクトリ・サービス、ウェブ・サーバ、データベース・サーバ、アカウンティング、アプリケーション・サービング、ファイル管理、ストレージ、バックアップ・サービスなどを含む。後に詳述するように、前記管理者は、統合コンピューティング・プラットフォーム102を、複数の物理資源および複数の仮想資源(例えば、複数のVM)であって統合コンピューティング・プラットフォーム102の内部において動作するものが既存のデータ・センタ100の複数のサービス106と通信するように、配備することを希望するかもしれない。
図示されているように、コンピューティング・プラットフォーム102は、仮想化インフラストラクチャ120をサポートするように構成された物理インフラストラクチャ110を有する。図1に示すこの実施態様においては、物理インフラストラクチャ110が、複数のサーバ116ないし116(それらは「ホスト」と称されることがある)のような複数のハードウエア資源と、SAN118のような、1または複数のストレージ・アレイ・ネットワーク(SAN)とを有し、それらハードウエア資源とストレージ・アレイ・ネットワーク(SAN)とは、ネットワーク114によって互いに接続される。仮想化インフラストラクチャ120は、バーチャライゼーション環境124であって、それ自身、1または複数の仮想マシン140を有するものを有するかもしれない。コンピューティング・プラットフォーム102は、他の複数のコンピューティング・システム、例えば、複数のワークステーション、複数のパーソナル・コンピュータ、複数のデータ・センタ・サーバのようなものに、インターネットのようなネットワーク128を介してリンクされることが可能である。一実施態様においては、コンピューティング・プラットフォーム102を構成する複数のコンポーネント(例えば、サーバ、ネットワーク、ストレージ、ソフトウエアなど)が、単一の統合フレームワークであって「コンバージド・インフラストラクチャ」と称されることがあるものに組織化されるかもしれない。コンピューティング・プラットフォーム102を構成する前記複数のコンポーネントにより、仮想化サーバ、仮想化ストレージおよび仮想化ネットワーク資源であって1つの企業内における複数のアプリケーションおよび/または複数の組織体によって共有されるものより成る1つのプールが提供される。
一実施態様によれば、物理インフラストラクチャ110は、「コンピューティング・ブロック」ベーズド(based、を基礎とする、系、関連)インフラストラクチャに組織化されるかもしれず、ここに、複数の物理インフラストラクチャ・ユニットが、構成上の反復単位(repeatable units of construction、他の構成単位と接続されて一緒に動作することが可能な構成単位、相互作動性を有する複数の構成単位)によって特徴付けられ、それら反復単位は、性能と、動作特性と、パワー、スペースおよび冷却についてのディスクリートな複数の要求値とに関して互いに類似し、それにより、迅速な配備(deployment)、統合(integration)およびスケーラビリティを促進する。例えば、前記「コンピューティング・ブロック」は、物理インフラストラクチャ110上に置かれた複数の性能要求に基づき、複数のハードウエア資源のプロビジョン(provision、デバイスを運用可能な状態にするためのあらゆる作業、運用可能にするための準備)をダイナミックに(dynamically、動的に、状況に応じて変化する特性で)行うかもしれない。物理インフラストラクチャ110の一例は、VCE Company, LLC.(ブイシーイー カンパニー エルエルシー)から市販されているVblock(登録商標)Systemである。
物理インフラストラクチャ110は、さらに、インフラストラクチャ・マネージャ(manager、インフラストラクチャの種々の運用状態を統合管理するソフトウエア)112を有しており、そのインフラストラクチャ・マネージャ112は、物理インフラストラクチャ110の設定(configuration)と、プロビジョニング(provisioning、運用化のための準備)と、ポリシー・コンプライアンス(policy compliance、ポリシー(要望)の順守)とのそれぞれの管理を行うように構成されている。インフラストラクチャ・マネージャ112は、複数のハードウエア資源(例えば、コンピューティング資源、ネットワーキング資源、ストレージ資源)のプロビジョニングを管理するためのインタフェースを提供する。一実施態様においては、インフラストラクチャ・マネージャ112が、個別の複数のコンピューティング・ブロックのそれぞれの設定(configuration)と、プロビジョニング(provisioning、運用化のための準備)と、コンプライアンスとをそれぞれ管理するために、物理インフラストラクチャ110の各ユニット内に搭載されるかもしれない。インフラストラクチャ・マネージャ112は、ITサービス・カタログ(IT service catalogs、顧客向けに利用可能なITサービスの一覧)およびワークフロー・エンジン(workflow engines、ルート上のフローを管理するソフトウエア・アプリケーション)への配備および統合を単純化し、さらに、トラブルシューティングおよびフォールト管理のために複数の個々のコンポーネントへの緻密なアクセス(granular access)を提供しつつ、前記プロビジョニングの全工程を抽象化する(abstract)ことにより、コンピューティング・ブロック・プラットフォームの配備を劇的に単純化するかもしれない。
一実施態様においては、インフラストラクチャ・マネージャ112が、複数のIPアドレスおよびシステム証明書(credentials、認証)から成るリストを、新たにプロビジョンされたシステムを割り当てるために有する構成(a configuration)を有するかもしれない。プラットフォーム・マネージャ130および/または仮想化インフラストラクチャ120は、物理インフラストラクチャ110の管理および/または設定のために、物理インフラストラクチャ110のインフラストラクチャ・マネージャ112に接続されて通信するかもしれない。インフラストラクチャ・マネージャの一例は、EMC Ionix Unified インフラストラクチャ・マネージャ(UIM)であってEMCコーポレーションから市販されているものを有する。同様に、ネットワーク114は、ネットワーク・マネージャを有するかもしれず、そのネットワーク・マネージャは、複数のネットワーク・デバイス(例えば、複数のスイッチ、複数のルータ)の設定と、複数の仮想ローカル・エリア・ネットワーク(VLAN)および他のネットワークについて、アドレッシング(addressing、アドレス割り当て)、複数のサブネット(subnets)、および複数の構成(configurations)を管理することとを行うように構成される。ネットワーク・マネージャの一例は、Cisco System, Inc.から市販されているCisc IOS コマンド・ライン・インタフェース(CLI)を介してアクセス可能なCisco Switchを有する。
仮想化インフラストラクチャ120は、バーチャライゼーション環境(virtualization environment、仮想化を行う環境、仮想化実現環境)124を有し、そのバーチャライゼーション環境124は、1つの従来のコンピューティング・デバイスの複数のコンポーネント、例えば、プロセッサ、システム・メモリ、ハード・ディスク・ドライブを、1または複数の仮想マシン140を実行するために模擬する(すなわち、仮想化する)ように構成されている。例えば、各仮想マシン140は、仮想プロセッサおよび仮想システム・メモリであってあるアプリケーションを実行するように構成されたものを有することが可能である。図1の実施態様と同様な実施態様の一実施例においては、バーチャライゼーション環境(virtualization environment)124が、サーバ116ないし116上にあるVMware vSphere(登録商標)ベーズドまたはVMware ESX(登録商標)ベーズドのハイパーバイザ(hypervisor)技術であってカリフォルニア州パロ・アルトに所在のVMware, Inc.によって提供されたものを動作することによって実現されるかもしれない(ただし、認識すべきことは、他の任意の仮想化技術であって、Xen(登録商標)およびマイクロソフト社のHyper-V仮想化技術を有するものが、この書類での教示に適合するように利用されるかもしれないということである)。上述のように、ハイパーバイザ・アプリケーションは、仮想化インフラストラクチャ120のような仮想化ITインフラストラクチャを構築するとともに管理するファンデーション(a foundation、基礎)を提供するかもしれない。そのハイパーバイザは、プロセッサ、メモリ、ストレージおよびネットワーキング資源を、複数の仮想マシンであって、変更されていない(unmodified、未修正の)複数のオペレーティング・システムおよび変更されていない(unmodified、未修正の)複数のアプリケーションを動作させるものに抽象化する(abstract、仮想化する)かもしれない。
一実施態様においては、バーチャライゼーション・マネージャ(virtualization manager、仮想化を行うマネージャ、仮想化実行マネージャ)122が、仮想化インフラストラクチャ120を管理するために用いられるソフトウエアを提供する。バーチャライゼーション・マネージャ122は、複数のサードパーティ(third-party)管理ツールと統合することを可能にする複数のAPIより成る1つのセットにより、エンドツーエンド(end-to-end、通信を行う二者間、通信を行う二者間を接続する経路全体)のデータセンタ管理を実現するかもしれない。バーチャライゼーション・マネージャ122は、仮想化インフラストラクチャ120内の複数のVM140のプロビジョンを管理することと、複数のVM140を、それらVM140のコンピューティング、ネットワークおよびストレージのそれぞれの構成(configurations、構成条件、設定状況)が仮想化インフラストラクチャ120内において他の複数のVM140との間で相互作動性(interoperability)を有するのに適したものとなるように設定することとを行うように構成される(configure)かもしれない。バーチャライゼーション・マネージャ122の一例は、VMware vCenter仮想化マネージメント・プラットフォームであってVMware, Inc.から市販されているものであるかもしれない。
図示されているように、コンピューティング・プラットフォーム102は、さらに、プラットフォーム・マネージャ130をも有し、そのプラットフォーム・マネージャ130は、仮想化インフラストラクチャ120と物理インフラストラクチャ110とに前記通信ネットワークを介して接続される。そのプラットフォーム・マネージャ130は、あるアプリケーションをコンピューティング・プラットフォーム102内に配備するために用いられる物理インフラストラクチャ110および仮想化インフラストラクチャ120からの(from、から生成される)複数の資源のプロビジョンおよび設定(configure)を行うように構成されている。例えば、仮想化インフラストラクチャ120が、ピーク・トラフィック(peak traffic、最繁通信期間、通信量最大期間)の間、現在動作しているアプリケーションのスケーリング(scale、そのアプリケーションのサイズを増加させたり減少させたりして調整すること)を行うために、更なる複数のVMを要求する場合には、プラットフォーム・マネージャ130は、バーチャライゼーション・マネージャ122と連携する(coordinate)することが可能であり、その目的は、更なる複数の仮想マシンを、そのようなニーズをサポートするためにインスタント化する(instantiate、仮想マシンのインスタンスを作成する)とともに、そのインスタント化された複数の仮想マシンを、それら仮想マシンのネットワーク設定条件(settings)が既存の仮想マシンのネットワーク設定条件に合致するように、設定することにある。
さらに、本発明の文脈においては、プラットフォーム・マネージャ130が、オートメーション・サービス・コンポーネントを有するかもしれず、そのオートメーション・サービス・コンポーネントは、後に詳述される。この種のコンポーネントは、1または複数のソフトウエア・アプリケーションを提供してもよく、そのソフトウエア・アプリケーションの用途は、マスタ・オブジェクトを指定すること、例えば、仮想マシン・インスタンスを仮想テンプレートとして指定すること、いくつかのコンピューティング資源(例えば、VM)を前記マスタ・オブジェクトにリンクする(またはリンク解除する(unlink))ためにいくつかのコンピューティング資源(例えば、VM)を指定すること、または、前記マスタ・オブジェクト上で実行されると、リンクされる複数のコンピューティング資源より成る前記1つのグループ(1つのコンピューティング資源群)にレプリケートされるべきコマンドもしくはオペレーションを特定することにある。オートメーション・サービス・コンポーネントの詳細な例が、図2および図3に対して後述されている。
図示されているように、プラットフォーム・マネージャ130は、資源発見(resource discovery、情報資源の発見)サービス132を有しており、その資源発見サービス132は、前記新たに配備されたコンピューティング・プラットフォーム102を、データ・センタ100のうちの残りの部分に接続することを要求する(seek)システム管理者150にとって関心のある複数の資源(例えば、複数のサーバ104、複数のサービス106)を特定する(identify、識別する、他のものから区別する)ように構成されている。いくつかの実施態様においては、その資源発見サービス132が、コンピューティング・プラットフォーム102と、既存のデータ・センタ100のうちの残りの部分との間の通信を可能にするように構成されることが必要であるネットワーク108の複数のネットワーク・スイッチおよび複数のブレード(blades、サーバ基板)を特定する(identify、識別する、他のものから区別する)かもしれない。本発明の文脈においては、前記資源発見サービスが、いくつかのVMおよびデータ・センタ100内の他のいくつかのコンピューティング資源であって、想定されたマスタ・オートメーション・オブジェクトと互換性を有するものを特定する(identify、識別する)かもしれない。例えば、資源発見サービス132は、想定された仮想テンプレートにリンクされるかもしれないいくつかのVMを特定する(identify)ように構成されるかもしれない。この種のVMは、任意の適切な基準を用いて特定される(identify、識別される)かもしれない。
一実施態様においては、プラットフォーム・マネージャ130が、資源発見サービス133によって特定された前記いくつかの資源に基づいてインフラストラクチャ・テンプレート139を生成するように構成される。そのインフラストラクチャ・テンプレート139は、統合コンピューティング・プラットフォーム102がこれから配備されようとしている(being deploymed、配備中である)対象である既存のコンピューティング環境(例えば、データ・センタ100)を記述する複数のインフラストラクチャ・パラメータを有する。それらインフラストラクチャ・パラメータであってインフラストラクチャ・テンプレート138によって特定されるもののいくつかの例としては、コンピューティング・プラットフォーム102のネットワーク114が、既存のデータ・センタ100のネットワーク108との接続のために使用すべきである複数のVLAN識別子と、データ・センタ100内において動作するDNSサーバの複数のIPアドレスと、コンピューティング・プラットフォーム102の複数のVM140に割り当てられるべき複数のIPアドレス、複数のサブネット・マスクおよびゲートウェイIPアドレスの範囲(IPアドレス範囲、サブネット・マスク範囲およびゲートウェイIPアドレス範囲)とがある。いくつかの実施態様においては、インフラストラクチャ・テンプレート138が、コンピューティング・プラットフォーム102内に配備されるあるアプリケーション(an application、1つのアプリケーション)に固有であるように発生させられるかもしれない。したがって、インフラストラクチャ・テンプレート138内に含まれる複数のインフラストラクチャ・パラメータは、コンピューティング・プラットフォーム102内において実行される前記アプリケーション(the application、今回のアプリケーション)によって要求される具体的な設定状態(configurations、設定状況、環境設定状態、構成態様、設定値、コンフィギュレーション値)、設定条件(settings、初期設定、パラメータなど)および情報を取り扱うかもしれない。
いくつかの実施態様においては、プラットフォーム・マネージャ130が、複数のインフラストラクチャ・テンプレート138が、コンバージド・インフラストラクチャ(例えば、コンピューティング・プラットフォーム102)の他の複数のインスタンス(instance、稼働・処理・実行を行う実体)間で容易に転送されることが可能となるように、それらインフラストラクチャ・テンプレート138のインポートおよびエクスポートを行うように構成されるかもしれない。プラットフォーム・マネージャ130は、さらに、コンピューティング・プラットフォーム102の既知の構成(configurations、設定状況、構成条件、コンフィギュレーションズ)および設定値(settings、設定条件、セッティングス)のバックアップと、既知のインフラストラクチャ・テンプレート138の実証および配備と、他のそのような管理的タスクの実行とを目的として、それらインフラストラクチャ・テンプレート138のインポートおよびエクスポートをも行うかもしれない。
一実施態様においては、プラットフォーム・マネージャ130が、資源設定(resource configuration、資源を設定する、資源を構成する、資源の内容を設定する)サービス134を、インフラストラクチャ・テンプレート138に基づいてコンピューティング・プラットフォーム102の複数の物理資源および複数の仮想資源を設定するために有する。例えば、資源設定サービス134は、コンバージド・インフラストラクチャ(例えば、コンピューティング・プラットフォーム102)と既存のデータ・センタ100との間での通信を可能にするために、インフラストラクチャ・テンプレート138に基づいて前述の複数のネットワーク・スイッチおよび複数のブレードを設定するかもしれない。別の例においては、資源設定サービス134が、インフラストラクチャ・テンプレート138の複数のインフラストラクチャ・パラメータに基づき、コンピューティング・プラットフォーム102内において動作する複数のVM140の複数のネットワーク・インタフェース・カード(NIC)を設定するかもしれない。さらに、前記オートメーション・コンポーネント(the automation component、前記オートメーション・サービス・コンポーネント)が、仮想テンプレートとして指定される仮想マシンのネットワーク・インタフェースについてのいくつかの特定のパラメータ(例えば、DNSアドレス・セッティング)を設定するように用いられる場合に、このオートメーション・コンポーネントは、このような設定変更(a configuration change)を、リンクされる複数の仮想マシンより成る1つのグループにレプリケートするかもしれない。
例えば、図2は、マスタ・オートメーション・サービス200を示しており、そのマスタ・オートメーション・サービス200は、一実施態様に従い、マスタ・オブジェクト205に送出された変更オペレーションを、そのマスタ・オブジェクト205にリンクされる複数のコンピューティング資源250上にレプリケートするように構成されている。このマスタ・オートメーション・サービス200は、ソフトウエア・アプリケーションを提供し、そのソフトウエア・アプリケーションは、マスタ・オブジェクト205として指定されるコンピューティング資源が何であるかを管理するとともに、データ・センタ内のコンピューティング資源250が何であって、そのコンピューティング資源250にレプリケートされるいくつかのオペレーション225が何であるかを管理するために用いられる。図示されているように、マスタ・オペレーション・サービス200は、オブザーバ/インターセプタ・コンポーネント(observer/interceptor component、情報知得コンポーネント)215と、タスク・レプリケータ(task replicator)220とを有する。オブザーバ/インターセプタ・コンポーネント215は、オペレーション/コマンド225の発生を検出するためにマスタ・オブジェクト205を監視するように構成されたソフトウエア・コンポーネントを提供する。例えば、オブザーバ/インターセプタ・コンポーネント215は、制御用メッセージ(control message)または制御用コマンド(control command)を特定する(identify、識別する)ために、マスタ・オートメーション・オブジェクト205に送出されたネットワーク・トラフィックを監視するように構成されるかもしれない。これに代えて(または、これに加えて)、オブザーバ/インターセプタ・コンポーネント215は、特定の構成設定値に対して行われる変更(例えば、前記DNSサーバのセッティングにおける変更)を検出するためにマスタ・オートメーション・コンポーネント205を監視するかもしれない。別の代替案として、マスタ・オートメーション・オブジェクト205上のプラグイン(plug-in)、デーモン(daemon、バックグラウンドプロセスとして動作するプログラム)または他のソフトウエア・エージェントが、監視されているセッティングにある変更が発生すると、オブザーバ/インターセプタ・コンポーネント215に信号を出力するように構成されるかもしれない。
オペレーション225についての他のいくつかの例であってコンポーネント215によってオブザーブ/インターセプトされるかもしれないものは、スナップショット・オペレーションを、データ・センタのコンピューティング資源250内の複数の仮想マシンより成る1つのグループに送出する工程と、複数の仮想マシンより成る1つのグループを、先行するスナップショットにリバートする工程と、ネットワーク構成のセッティングを更新する工程、例えば、データ・センタのコンピューティング資源250のためのDNSセッティングを更新する工程と、複数のネットワーク・スイッチ内のVLANのための共有属性を作成/設定する工程とを有する。さらに一般的に説明すると、マスタ・オブジェクト205に送出されるかまたはマスタ・オブジェクト205によって実行されることが可能な任意のコマンド(コマンドと称するか、オペレーションと称するか、構成設定作業(configuration setting)と称するか、その他の名称で称するかを問わない)が、データ・センタのコンピューティング資源250内の複数のコンピューティング資源より成る、対応する1つのグループにレプリケートされる候補である。したがって、複数のコマンドより成る前記特定の1つのセットは、特定の事例の必要性に適合するように個別に調整されるかもしれない。
一実施態様においては、オブザーバ/インターセプタ・コンポーネント(observer/interceptor component、情報知得コンポーネント、observer/interceptor)215が、あるオペレーション/コマンドがマスタ・オブジェクト205による実行が完了したかまたはマスタ・オブジェクト205への送出が完了した後、そのオブザーバ/インターセプタ・コンポーネント215が、同じコマンドを、タスク・レプリケータ・コンポーネント220に送出する。今度は、そのタスク・レプリケータ・コンポーネント(task replicator component、タスク・レプリケータ)220が、それと同じコマンドまたはオペレーションを、データ・センタの複数のコンピューティング資源250であってマスタ・オブジェクト205にリンクされるもののうちの1または複数のものに送出する(または実行する)。
例えば、マスタ・オートメーション・サービス205が、VMインスタンス内において動作する仮想化ネットワーク・スイッチであるとともに、ユーザが、この仮想化ネットワーク・スイッチによって用いられるDNSサーバ・アドレスの更新を行うためにあるオペレーションを実行する状況を想定する。オブザーバ/インターセプタ・コンポーネント(observer/interceptor component)215によって知得されると、前記更新は、データ・センタのコンピューティング資源250であって前記仮想化スイッチ(すなわち、マスタ・オブジェクト205)にリンクされるものにレプリケートされるべきものとして認識される。今度は、タスク・レプリケータ220が、レプリケートされたタスク230として図示されているように、前記DNSアドレスの更新を、ネットワーク・スイッチ240および245とコンピューティング・ホスト2351−2にレプリケートするためのオペレーションを実行する。注記すべきことは、この例においては、コンピューティング・ホスト2351−2に対して行われる更新が、コンピューティング・ホストによって用いられる物理構成を更新する工程と、コンピューティング・ホスト2351−2によってホスティングされる仮想化スイッチまたは複数の仮想マシン・インスタンスのための構成(a configuration)を更新する工程とを含むかもしれないということである。
さらに、オブザーバ/インターセプタ215およびタスク・レプリケータ(task replicator)220は、実行されるオペレーションが何であるかということと、発生する任意のエラー、例えば、タスク・レプリケータ220が、データ・センタの複数のコンピューティング資源250のうちのいずれか1つの上でDNSサーバのアドレスを更新することが不可能であったことを示す印(an indication)とのログ(log、履歴、記録)を保存する(maintain、記憶する)かもしれない。さらに、一実施態様においては、データ・センタの複数のコンピューティング資源150のうちのいずれか1つが、それ自体、オートメーション・サービス200によって監視されるマスタ・オブジェクトである。この種の事例においては、いくつかのオペレーションが、互いに異なる複数のマスタ・オートメーション・オブジェクトにリンクされる複数のコンピューティング資源より成る複数のグループに送出される(cascaded to)かもしれない。
図3は、仮想テンプレートとして用いられる仮想マシン・インスタンスの参考例であって、一実施態様に従うものを示しており、前記仮想テンプレートは、その仮想テンプレートにリンクされる複数の仮想マシン・インスタンスより成る1つのセットのためのものでる。さらに具体的には、図3は、図2のマスタ・オートメーション・サービス200の一例を示しており、そのマスタ・オートメーション・サービス200は、マスタ・オートメーション・オブジェクトとして指定された仮想マシンを用い、このマスタ・オートメーション・サービス200においては、前記仮想マシンの構成(configuration)または状態(state)に対して行われる特定の変更が、その仮想マシンにリンクされる複数の仮想マシン350より成る1つのセットにレプリケートされる。
図示されているように、仮想テンプレート・サービス・ホスト300が、物理(または仮想)コンピューティング・システム上で動作するソフトウエア・アプリケーションを提供する。この仮想テンプレート・サービス・ホスト300は、概略的には、ユーザが、仮想マシンを仮想テンプレート305として指定し、複数のVM350より成る1つのセットを仮想テンプレート305にリンクする(およびリンク解除する)ことが可能であるように構成されており、仮想テンプレート305に適用されるコマンドまたはオペレーションを検出するためにモニタ/オブザーブするために用いられる複数のコンポーネント。例えば、図示されているように、仮想テンプレート・サービス・ホスト300は、オブザーバ/インターセプタ・コンポーネント(observer/interceptor component、情報知得コンポーネント)315と、コマンド・レプリケーション・コンポーネント320と、ログ325とを有する。
オブザーバ/インターセプタ・コンポーネント(observer/interceptor component)315は、仮想マシン350にレプリケートされるべき複数のオペレーションまたはコマンドより成る1つのセットであって選択されたものを検出するために、仮想テンプレート305として指定された仮想マシンを監視するように構成されたソフトウエアを提供する。例示すると、管理ツール302が、種々のオペレーションを仮想テンプレート305に対して実行するために用いられるかもしれない。例えば、管理ツール302は、いくつかの目的のために用いられるかもしれず、その目的は、仮想テンプレート305のスナップショットの作成(またはそのスナップショットへのリバート)、ネットワーク・インターフェース・コンポーネントの追加/削除、ドメインへの参加(または脱退)、仮想マシンのパワーオン/オフもしくはリブート(reboot、再起動)、コマンドをVMコンテナ(container)上で実行すること、もしくは、前記ゲスト・オペレーティング・システムの複数の構成要素を設定すること、または、動作しているVMを削除することにある。さらに概略的に説明すると、コンポーネント315によってインターセプトされた複数のコマンドは、ユーザにより、種々の方法で開始されるかもしれず、その種々の方法には、例えば、CLIインタラクション(interaction)、ファンクション・コール(function calls)、GUIを介した入力(マウスの動き/クリック)、プロシージャ・コール(procedure calls)、メッセージ・ハンドリング(message handling)、スクリプト・インプット/エグゼキューション/アウトプット(script input/execution/output)などがある。もちろん、複数のコマンドまたはオペレーションの特定のタイプまたはセットであって、前記リンクされる複数の仮想マシン350より成る前記1つのセットにレプリケートされるものは、個々の事例の要求に適合するように個別に調整されるかもしれない。
さらに、サービス・ホスト(the service host、前記仮想テンプレート・サービス・ホスト)300は、さらに、仮想テンプレート305にリンクされることが可能である新規のVMを発見するようにも構成されるかもしれない。例えば、一実施態様においては、仮想テンプレート305が、1つ(または複数の)仮想マシン(VM)テンプレートにリンクされるかもしれない。注記すべきことは、この文脈においては、VMテンプレート(VM template、仮想マシン・テンプレート)が、物理ホスト上でスポーンされる(spawned、前記VMテンプレートのスポーンが作成される、元のテンプレートと同じ新規のテンプレートを作成する、複数の新規テンプレートを同時に発生させる)かもしれない仮想マシン・インスタンスのためのテンプレートを意味するということである。よって、ユーザは、想定されたVMテンプレート(VM template、仮想マシン・テンプレート)から仮想マシン・インスタンスを作成するとともに、最終的に発生する仮想マシン・インスタンスを、コマンド・レプリケーション(command replication)のための仮想テンプレート305として指定するかもしれない。ひとたび完了する(done、前記作成および前記指定が完了する)と、オブザーバ/インターセプタ・コンポーネント(observer/interceptor component)315は、新規の仮想マシン・インスタンスが同じVMテンプレート(VM template、仮想マシン・テンプレート)からスポーンされる(spawned、前記仮想マシン・インスタンスのスポーンが作成される)タイミングを特定し、その新規のVMインスタンスは、仮想テンプレート305にリンクされるべきであると推奨する(または、オブザーバ/インターセプタ・コンポーネント315が自動的に新規のインスタンスを仮想テンプレート305にリンクする)かもしれない。一実施態様においては、この種の仮想マシン・インスタンスが、任意の後続するコマンド(any subsequent commands)であってオブザーバ/インターセプタ・コンポーネント315によって監視されるとともに当該仮想マシン・インスタンスにレプリケートされるものを有するかもしれない。しかし、これに代えて、新規の仮想マシン・インスタンスがスポーンされ(spawned、前記仮想マシン・インスタンスのスポーンが作成され)、それが、複数の仮想マシン350より成る前記1つのセットに追加されると、オブザーバ/インターセプタ・コンポーネント315は、任意の、先行して適用されたコマンド/オペレーション(any previously applied commands/operation)であって仮想テンプレート305に適用されるものをレプリケートするかもしれない(例えば、ログ325を消去する(parse)することにより)。
ひとたびオブザーバ/インターセプタ・コンポーネント(observer/interceptor component)315が、管理ツール302から仮想マシン・テンプレート305に送出されたコマンド/オペレーション(command/operation、コマンドおよび/またはオペレーション)を知得すると、そのオブザーバ/インターセプタ・コンポーネント315は、前記コマンド/オペレーションをコマンド・レプリケーション・コンポーネント320に送出する。今度は、そのコマンド・レプリケーション・コンポーネント320が、前記リンクされる複数の仮想マシン330を特定し、前記コマンドを、上述の各仮想マシン330上に送出し(または、各仮想マシン330上で前記オペレーションを実行し)、そのときのコマンドは、図3において、レプリケートされたコマンド340として示されている。加えて、コマンド・レプリケーション・コンポーネント320は、前記複数の仮想マシン330のうちのいずれか1つにレプリケートされた各コマンド/オペレーションの成功(または失敗)を記録するかもしれない。
図4は、この書類に開示されているものの一実施態様に従い、マスタ・オブジェクトが、構成および/または状態の変更を、前記マスタ・オブジェクトにリンクされる複数のコンピューティング資源より成る1つのセットにレプリケートするために用いられるように、前記マスタ・オブジェクトを構成する(configure、設定する)方法400を示している。図示されているように、この方法400は、ステップ405において開始され、そのステップ405においては、当該オートメーション・サービスが、コマンド・レプリケーションを行うために、あるコンピューティング資源を仮想テンプレートとして指定するために前記コンピューティング資源を特定する(identify、識別する)。例えば、ユーザは、コマンド・レプリケーションを行うためにある仮想マシン・インスタンスを前記仮想テンプレートとして作用させるためにその仮想マシン・インスタンスを選択する(または、新規の仮想マシン・インスタンスをスポーンする(spawned、前記仮想マシン・インスタンスのスポーンを作成する)ために、当該オートメーション・サービスによって提供される前記ソフトウエアと対話するかもしれない。注記したように、仮想マシン・インスタンスに加えて、データ・センタ内の他のインフラストラクチャであって例えばスイッチまたはルータ(仮想的であるか物理的であるかを問わない)のようなものが、コマンド・レプリケーションを行うために、マスタ・オブジェクトとして指定されるかもしれない。
ステップ410において、前記ユーザが、複数の仮想マシン(および/または他のコンピューティング資源)より成る1つのグループ(1つのコンピュータ資源群)を前記マスタ・オブジェクトにリンクさせるために、前記1つのグループを特定する。これに代えて(または、これに加えて)、前記発見サービス(the discovery service、前記資源発見サービス)は、複数の候補仮想マシン・インスタンスより成る1つのセットを前記仮想テンプレートにリンクさせるために、前記1つのセットを特定するかもしれない。ステップ415において、前記ユーザが、ステップ405において指定された前記マスタ・オブジェクト上で実行されるかもしれない複数のオペレーション、複数のコマンド、複数の構成設定値(configuration setting values)または他の複数のアクションより成る1つのセットを特定するかもしれず、その1つのセットは、ステップ410において特定された、複数のコンピューティング資源より成る前記1つのセット(the set、前記1つのグループ、前記1つのコンピュータ資源群)にレプリケートされるべきものである。ステップ420において、当該オートメーション・サービスが、ステップ415において特定されたコマンド、オペレーション、その他同様のもののうちの任意のものの出現を検出するように前記マスタ・オブジェクトを監視するかもしれない。例えば、前述のように、インターセプタ/オブザーバ・コンポーネントが、管理ツールまたは設定ツールから送信された複数のコマンドの出現を検出するように仮想テンプレートを監視するかもしれない。さらに、ひとたびオブザーブされる(observed、前記コマンドがオブザーブされる、知得される、検出される)と、前記コマンドは、コマンド・レプリケーション・コンポーネントに送出され、そのコマンド・レプリケーション・コンポーネントにおいては、今度は、前記コマンドを、前記マスタ・オブジェクトにリンクされる複数のコンピューティング資源のうちの1または複数のものにレプリケートする(例えば、前記コマンドを、マスタ・オブジェクトにリンクされる複数の仮想マシンより成る1つのセットにレプリケートする)。
図5は、一実施態様に従い、マスタ・オブジェクトに対して行われた変更を、そのマスタ・オブジェクトにリンクされる複数のコンピューティング資源より成る1つのグループにレプリケートする方法500を示している。この方法500は、図4に示されている方法400のうちのステップ420についての具体例を示している。
図示されているように、方法500は、ステップ505から開始され、そのステップ505においては、前記オブザーバ/インターセプタ・コンポーネント(observer/interceptor component、情報知得コンポーネント)が、仮想テンプレートとして指定された仮想マシン・インスタンスに送出された(または、指定された他のマスタ・オブジェクトに送出された)コマンドの出現を検出するように監視する。前記仮想テンプレートに送出されたコマンド(または他のオペレーション)を監視した後、ステップ515において、前記オブザーバ/インターセプタ・コンポーネントが、前記コマンドが、前記仮想テンプレートにリンクされる1または複数のオブジェクト、例えば、前記仮想テンプレートにリンクされる複数の仮想マシンより成る1つのセットにレプリケートされるべきものであるか否かを判定する。その判定が肯定的であれば、前記オブザーバ/インターセプタ・コンポーネントが、前記コマンドを前記コマンド・レプリケーション・コンポーネントに送出する。今度は、ステップ520において、前記オブザーバ/インターセプタ・コンポーネントが、前記コマンドを、リンクされる各仮想マシン(または、他のコンピューティング資源)にレプリケートする。ステップ525において、当該オートメーション・サービスは、前記コマンドが各仮想マシンにレプリケートされることが成功したか否かを判定する。ステップ525の判定が否定的であれば、例外(exception、プログラムの実行時に発生するエラー)またはエラー(error、構文エラーなど)が提起される(raised)か、または、前記ログに記入される。ステップ525の判定が肯定的であれば、当該オートメーション・サービスは、リンクされる各仮想マシン(または、他のコンピューティング資源)へのレプリケーションの実行が成功したことを反映する記入事項(entry、エントリー、印)を前記ログ内に記録するかもしれない。その後、方法500は、ステップ510に戻り、そのステップ510においては、当該オートメーション・サービスが、引き続き、レプリケートされるべき追加のコマンドの出現を検出するように前記仮想テンプレートを監視する。
有利なことに,前述のように、本発明のいくつかの実施態様により、仮想マシン・インスタンス(VM)およびデータ・センタ内の他のシステムを管理するメカニズムが提供される。一実施態様においては、ユーザが、コンピューティング・デバイスまたはコンピューティング資源を、マスタ・オートメーション・オブジェクトとして指定する。その後、その管理者は、前記マスタ・オブジェクトと、複数の物理および/または仮想コンピューティング資源より成る1つのセットであって、指定された複数のコマンドまたは設定用オペレーション(configuration operation)より成る1つのセットであって前記マスタ・オブジェクトに送出されたもののレプリケーションを行うべきものとの間の関連付け(an association)を確立する。その後、オートメーション・サービスが、前記マスタ・オブジェクトに送出されたコマンド(または前記マスタ・オブジェクト上で実行されたオペレーション)をインターセプト/オブザーブする(intercept/observe、知得する)とともに、そのインターセプト/オブザーブされたコマンドを、前記マスタ・オブジェクトにリンクされる各コンピューティング・デバイスに送出する。
この書類に開示されているものの種々の実施態様は、コンピュータ・システムと共に使用されるプログラム・プロダクトとして実現することが可能である。そのプログラム・プロダクトのうちの1または複数のプログラムは、前記種々の実施態様の複数の機能(この書類の記載されている複数の方法を含む)を定義し、また、種々のコンピュータ読み取り可能な記録媒体上に格納されることが可能である。例示的なコンピュータ読み取り可能な記録媒体としては、(i)書換え不能な記録媒体(例えば、コンピュータ内のROMデバイスであって、CD−ROMドライブによって読み取り可能なCD−ROMディスク、フラッシュ・メモリ、ROMチップまたは他の任意の形式の固体非不揮発半導体メモリ)であって、情報が永久に保存されるもの、および(ii)書換え可能な記録媒体(例えば、ハードディスク・ドライブ、USBフラッシュ・メモリ・デバイスなど)であって、編集可能な情報が保存されるものがあるが、それらに限定されない。
本発明が、これまで具体的ないくつかの実施態様を参照して説明されてきており、多数の具体的な細部が、本発明のより完全な理解のために記述されている。しかし、当業者であれば、種々の改良および変更を、本発明のより広範な主旨および範囲から逸脱することなく、それら実施態様に施すことが可能であることが理解される。したがって、上述の文章による説明および複数の図面は、限定的な意味で考慮されるのではなく例示的な意味で考慮されるべきである。
これまでの説明は、この書類に開示されているもののいくつかの実施態様に向けられているが、この書類に開示されているものに対する別のおよび更なるいくつかの実施態様を、この書類に開示されているものの基本的な範囲から逸脱することなく、想起することが可能であり、また、この書類に開示されているものの範囲は、後述の特許請求の範囲の記載によって決まる。

Claims (20)

  1. 複数のコンピューティング資源を管理する方法であって、
    指定されたコマンドであって、指定されたコンピューティング資源によって実行されるべきものの出現を検出するために、前記指定されたコンピューティング資源を監視する監視工程と、
    前記コマンドが前記指定されたコンピューティング資源に送出されたと判定されると実行される特定工程および実行工程であって、
    前記特定工程は、前記指定されたコンピューティング資源にリンクされる(linkded)1または複数のコンピューティング資源を特定し、
    前記実行工程は、前記指定されたコマンドを、前記指定されたコンピューティング資源にリンクされる前記1または複数のコンピューティング資源の各々の上で実行する方法。
  2. 前記指定されたコンピューティング資源は、コマンド・レプリケーション(command replication)を行うために仮想テンプレートとして指定された仮想マシンのインスタンスである請求項1に記載の方法。
  3. 前記仮想テンプレートとして指定された前記仮想マシンの前記インスタンスは、仮想マシン・テンプレートからスポーンされ(spawned)、その仮想マシン・テンプレートからスポーンされる追加的なインスタンスは、前記仮想テンプレートにリンクされる前記1または複数のコンピューティング資源に追加される請求項2に記載の方法。
  4. 前記指定されたコンピューティング資源にリンクされる前記1または複数のコンピューティング資源のうちの少なくとも1つは、コマンド・レプリケーション(command replication)を行うために第2の仮想テンプレートとして指定された第2の仮想マシンを含む請求項2に記載の方法。
  5. 前記コマンドは、前記仮想テンプレートとして指定された前記仮想マシンの前記インスタンスを設定する(configure)ためのコマンドを含む請求項2に記載の方法。
  6. 前記コマンドは、前記仮想テンプレートとして指定された前記仮想マシンの前記インスタンスによってホスティングされるゲスト・オペレーティング・システムを設定する(configure)ためのコマンドを含む請求項2に記載の方法。
  7. 複数の指令を含むコンピュータ読み取り可能記録媒体であって、前記複数の指令は、コンピューティング・デバイス内において実行されると、複数の工程を実行することにより、複数のコンピューティング資源を管理するものであって、
    前記複数の工程は、
    指定されたコマンドであって、指定されたコンピューティング資源によって実行されるべきものの出現を検出するために、前記指定されたコンピューティング資源を監視する監視工程と、
    前記コマンドが前記指定されたコンピューティング資源に送出されたと判定されると実行される特定工程および実行工程であって、
    前記特定工程は、前記指定されたコンピューティング資源にリンクされる(linkded)1または複数のコンピューティング資源を特定し、
    前記実行工程は、前記指定されたコマンドを、前記指定されたコンピューティング資源にリンクされる前記1または複数のコンピューティング資源の各々の上で実行するコンピュータ読み取り可能記録媒体。
  8. 前記指定されたコンピューティング資源は、コマンド・レプリケーション(command replication)を行うために仮想テンプレートとして指定された仮想マシンのインスタンスである請求項7に記載のコンピュータ読み取り可能記録媒体。
  9. 前記仮想テンプレートとして指定された前記仮想マシンの前記インスタンスは、仮想マシン・テンプレートからスポーンされ(spawned)、その仮想マシン・テンプレートからスポーンされる追加的なインスタンスは、前記仮想テンプレートにリンクされる前記1または複数のコンピューティング資源に追加される請求項8に記載のコンピュータ読み取り可能記録媒体。
  10. 前記指定されたコンピューティング資源にリンクされる前記1または複数のコンピューティング資源のうちの少なくとも1つは、コマンド・レプリケーション(command replication)を行うために第2の仮想テンプレートとして指定された第2の仮想マシンを含む請求項8に記載のコンピュータ読み取り可能記録媒体。
  11. 前記コマンドは、前記仮想テンプレートとして指定された前記仮想マシンの前記インスタンスを設定する(configure)ためのコマンドを含む請求項8に記載のコンピュータ読み取り可能記録媒体。
  12. 前記コマンドは、前記仮想テンプレートとして指定された前記仮想マシンの前記インスタンスによってホスティングされるゲスト・オペレーティング・システムを設定する(configure)ためのコマンドを含む請求項8に記載のコンピュータ読み取り可能記録媒体。
  13. 前記指定されたコンピューティング資源は、ネットワーク・スイッチング・デバイスとネットワーク・ルーティング・デバイスとのうちのいずれかを含む請求項7に記載のコンピュータ読み取り可能記録媒体。
  14. 前記リンクされるコンピューティング資源のうちの1つまたは複数のものは、ホスト・サーバ上で実行される仮想マシン・インスタンスを含む請求項7に記載のコンピュータ読み取り可能記録媒体。
  15. 前記複数の工程は、さらに、前記指定されたコマンドが、前記指定されたコンピューティング資源にリンクされる前記1または複数のコンピューティング資源の各々の上で実行されることが成功したか否か示す印(indication)を記録する工程を含む請求項7に記載のコンピュータ読み取り可能記録媒体。
  16. コンピューティング環境内において複数のコンピューティング資源を管理するコンピューティング・システムであって、
    オートメーション・サービス(service、ソフトウエア)をホスティングするサーバを含み、
    前記オートメーション・サービスは、
    インターセプタ/オブザーバ・コンポーネントと、
    レプリケーション・コンポーネントと
    を含み、
    前記インターセプタ/オブザーバ・コンポーネントは、
    指定されたコマンドであって、指定されたコンピューティング資源によって実行されるべきものの出現を検出するために、前記指定されたコンピューティング資源を監視することと、前記コマンドが前記指定されたコンピューティング資源に送出されたと判定されると、前記コマンドを表す印(indication)を前記レプリケーション・コンポーネントに送出することとを行うように構成されており、
    前記レプリケーション・コンポーネントは、
    前記指定されたコンピューティング資源にリンクされる(linkded)1または複数のコンピューティング資源を特定することと、前記指定されたコマンドを、前記指定されたコンピューティング資源にリンクされる前記1または複数のコンピューティング資源の各々の上で実行することとを行うように構成されているコンピューティング・システム。
  17. 前記指定されたコンピューティング資源は、コマンド・レプリケーション(command replication)を行うために仮想テンプレートとして指定された仮想マシンのインスタンスである請求項16に記載のコンピューティング・システム。
  18. 前記仮想テンプレートとして指定された前記仮想マシンの前記インスタンスは、仮想マシン・テンプレートからスポーンされ(spawned)、その仮想マシン・テンプレートからスポーンされる追加的なインスタンスは、前記仮想テンプレートにリンクされる前記1または複数のコンピューティング資源に追加される請求項17に記載のコンピューティング・システム。
  19. 前記リンクされるコンピューティング資源のうちの1つまたは複数のものは、ホスト・サーバ上で実行される仮想マシン・インスタンスを含む請求項16に記載のコンピューティング・システム。
  20. 前記レプリケーション・コンポーネントは、さらに、前記指定されたコマンドが、前記指定されたコンピューティング資源にリンクされる前記1または複数のコンピューティング資源の各々の上で実行されることが成功したか否か示す印(indication)を記録するように構成されている請求項16に記載のコンピューティング・システム。
JP2015552863A 2013-01-16 2014-01-13 マスタ・オートメーション・サービス Pending JP2016507100A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/743,224 US9304793B2 (en) 2013-01-16 2013-01-16 Master automation service
US13/743,224 2013-01-16
PCT/US2014/011332 WO2014113330A1 (en) 2013-01-16 2014-01-13 Master automation service

Publications (1)

Publication Number Publication Date
JP2016507100A true JP2016507100A (ja) 2016-03-07

Family

ID=50030534

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015552863A Pending JP2016507100A (ja) 2013-01-16 2014-01-13 マスタ・オートメーション・サービス

Country Status (7)

Country Link
US (1) US9304793B2 (ja)
EP (1) EP2946291A1 (ja)
JP (1) JP2016507100A (ja)
CN (1) CN104956332B (ja)
AU (1) AU2014207721A1 (ja)
CA (1) CA2896304A1 (ja)
WO (1) WO2014113330A1 (ja)

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021518014A (ja) * 2018-04-03 2021-07-29 アマゾン テクノロジーズ インコーポレイテッド メモリフットプリントを制限したオンデマンドコード実行
JP2021529386A (ja) * 2018-06-25 2021-10-28 アマゾン テクノロジーズ インコーポレイテッド オンデマンドネットワークコード実行システム上での補助機能の実行
US11593270B1 (en) 2020-11-25 2023-02-28 Amazon Technologies, Inc. Fast distributed caching using erasure coded object parts
US11714682B1 (en) 2020-03-03 2023-08-01 Amazon Technologies, Inc. Reclaiming computing resources in an on-demand code execution system
US11714675B2 (en) 2019-06-20 2023-08-01 Amazon Technologies, Inc. Virtualization-based transaction handling in an on-demand network code execution system
US11836516B2 (en) 2018-07-25 2023-12-05 Amazon Technologies, Inc. Reducing execution times in an on-demand network code execution system using saved machine states
US11861386B1 (en) 2019-03-22 2024-01-02 Amazon Technologies, Inc. Application gateways in an on-demand network code execution system
US11875173B2 (en) 2018-06-25 2024-01-16 Amazon Technologies, Inc. Execution of auxiliary functions in an on-demand network code execution system
US11943093B1 (en) 2018-11-20 2024-03-26 Amazon Technologies, Inc. Network connection recovery after virtual machine transition in an on-demand network code execution system
US11968280B1 (en) 2021-11-24 2024-04-23 Amazon Technologies, Inc. Controlling ingestion of streaming data to serverless function executions
US12015603B2 (en) 2021-12-10 2024-06-18 Amazon Technologies, Inc. Multi-tenant mode for serverless code execution

Families Citing this family (117)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9251033B2 (en) * 2011-07-07 2016-02-02 Vce Company, Llc Automatic monitoring and just-in-time resource provisioning system
EP2754265A4 (en) * 2011-09-07 2015-04-29 Tsx Inc SYSTEM OF HIGH AVAILABILITY AND REPLICATOR IN IT AND METHOD THEREFOR
US9473355B2 (en) * 2013-03-14 2016-10-18 Amazon Technologies, Inc. Inferring application inventory
US20140289198A1 (en) * 2013-03-19 2014-09-25 Ramya Malangi Chikkalingaiah Tracking and maintaining affinity of machines migrating across hosts or clouds
CN105474225B (zh) * 2013-08-14 2019-05-14 慧与发展有限责任合伙企业 在基于云的数据中心中对计算资源进行自动监控
US10447610B1 (en) 2013-11-11 2019-10-15 Amazon Technologies, Inc. Techniques for network redirection
US10908937B2 (en) 2013-11-11 2021-02-02 Amazon Technologies, Inc. Automatic directory join for virtual machine instances
US9323556B2 (en) * 2014-09-30 2016-04-26 Amazon Technologies, Inc. Programmatic event detection and message generation for requests to execute program code
US9146764B1 (en) 2014-09-30 2015-09-29 Amazon Technologies, Inc. Processing event messages for user requests to execute program code
US9715402B2 (en) 2014-09-30 2017-07-25 Amazon Technologies, Inc. Dynamic code deployment and versioning
US9678773B1 (en) 2014-09-30 2017-06-13 Amazon Technologies, Inc. Low latency computational capacity provisioning
US9830193B1 (en) 2014-09-30 2017-11-28 Amazon Technologies, Inc. Automatic management of low latency computational capacity
US9600312B2 (en) 2014-09-30 2017-03-21 Amazon Technologies, Inc. Threading as a service
US10048974B1 (en) 2014-09-30 2018-08-14 Amazon Technologies, Inc. Message-based computation request scheduling
JP5904514B1 (ja) 2014-10-28 2016-04-13 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation 仮想マシンのスナップショットに対して更新を自動的に適用する方法、並びに、そのコンピュータ・システム及びコンピュータ・システム用プログラム
US10374891B1 (en) * 2014-11-11 2019-08-06 Skytap Multi-region virtual data center template
JP2016103179A (ja) * 2014-11-28 2016-06-02 株式会社日立製作所 計算機リソースの割り当て方法及び計算機システム
US9537788B2 (en) 2014-12-05 2017-01-03 Amazon Technologies, Inc. Automatic determination of resource sizing
US9588790B1 (en) 2015-02-04 2017-03-07 Amazon Technologies, Inc. Stateful virtual compute system
US9727725B2 (en) 2015-02-04 2017-08-08 Amazon Technologies, Inc. Security protocols for low latency execution of program code
US9733967B2 (en) 2015-02-04 2017-08-15 Amazon Technologies, Inc. Security protocols for low latency execution of program code
US10509663B1 (en) * 2015-02-04 2019-12-17 Amazon Technologies, Inc. Automatic domain join for virtual machine instances
JP2017187813A (ja) * 2015-02-24 2017-10-12 株式会社野村総合研究所 稼働状況表示システム
US9930103B2 (en) 2015-04-08 2018-03-27 Amazon Technologies, Inc. Endpoint management system providing an application programming interface proxy service
US9785476B2 (en) 2015-04-08 2017-10-10 Amazon Technologies, Inc. Endpoint management system and virtual compute system
WO2016195688A1 (en) * 2015-06-04 2016-12-08 Siemens Aktiengesellschaft Method and system for clustering engineering data in a multidisciplinary engineering system
US20180293288A1 (en) * 2015-06-04 2018-10-11 Siemens Aktiengesellschaft Method and system for dynamically extendable disciplines in a multidisciplinary engineering system
US20180167278A1 (en) * 2015-06-05 2018-06-14 Deutsche Telekom Ag A system and method for facilitating migration of server infrastructure services
US10740129B2 (en) 2015-06-05 2020-08-11 International Business Machines Corporation Distinguishing portions of output from multiple hosts
US20160373405A1 (en) 2015-06-16 2016-12-22 Amazon Technologies, Inc. Managing dynamic ip address assignments
US9875130B2 (en) * 2015-07-13 2018-01-23 International Business Machines Corporation Customizing mirror virtual machine(s)
US9928108B1 (en) 2015-09-29 2018-03-27 Amazon Technologies, Inc. Metaevent handling for on-demand code execution environments
US10042660B2 (en) 2015-09-30 2018-08-07 Amazon Technologies, Inc. Management of periodic requests for compute capacity
CN106612193A (zh) * 2015-10-22 2017-05-03 中兴通讯股份有限公司 在虚拟化技术下的网络开局配置方法及装置
US9678785B1 (en) * 2015-11-30 2017-06-13 International Business Machines Corporation Virtual machine resource allocation based on user feedback
US9898272B1 (en) * 2015-12-15 2018-02-20 Symantec Corporation Virtual layer rollback
US9830175B1 (en) 2015-12-16 2017-11-28 Amazon Technologies, Inc. Predictive management of on-demand code execution
US9811363B1 (en) 2015-12-16 2017-11-07 Amazon Technologies, Inc. Predictive management of on-demand code execution
US10013267B1 (en) 2015-12-16 2018-07-03 Amazon Technologies, Inc. Pre-triggers for code execution environments
US9811434B1 (en) 2015-12-16 2017-11-07 Amazon Technologies, Inc. Predictive management of on-demand code execution
US9830449B1 (en) 2015-12-16 2017-11-28 Amazon Technologies, Inc. Execution locations for request-driven code
US10754701B1 (en) 2015-12-16 2020-08-25 Amazon Technologies, Inc. Executing user-defined code in response to determining that resources expected to be utilized comply with resource restrictions
US10067801B1 (en) 2015-12-21 2018-09-04 Amazon Technologies, Inc. Acquisition and maintenance of compute capacity
US9910713B2 (en) 2015-12-21 2018-03-06 Amazon Technologies, Inc. Code execution request routing
US10002026B1 (en) 2015-12-21 2018-06-19 Amazon Technologies, Inc. Acquisition and maintenance of dedicated, reserved, and variable compute capacity
US10305764B1 (en) * 2015-12-30 2019-05-28 VCE IP Holding Company LLC Methods, systems, and computer readable mediums for monitoring and managing a computing system using resource chains
US10440153B1 (en) 2016-02-08 2019-10-08 Microstrategy Incorporated Enterprise health score and data migration
US10445122B2 (en) * 2016-02-08 2019-10-15 Vmware, Inc. Effective and efficient virtual machine template management for cloud environments
US11132213B1 (en) 2016-03-30 2021-09-28 Amazon Technologies, Inc. Dependency-based process of pre-existing data sets at an on demand code execution environment
US10891145B2 (en) 2016-03-30 2021-01-12 Amazon Technologies, Inc. Processing pre-existing data sets at an on demand code execution environment
US10162672B2 (en) 2016-03-30 2018-12-25 Amazon Technologies, Inc. Generating data streams from pre-existing data sets
CN107273178B (zh) * 2016-04-06 2021-07-27 阿里巴巴集团控股有限公司 配置虚拟化***的方法和装置
EP3252549B1 (de) * 2016-05-31 2020-06-24 Siemens Aktiengesellschaft Verfahren zum betreiben einer automatisierungseinrichtung sowie automatisierungseinrichtung
US10282229B2 (en) 2016-06-28 2019-05-07 Amazon Technologies, Inc. Asynchronous task management in an on-demand network code execution environment
US9952896B2 (en) 2016-06-28 2018-04-24 Amazon Technologies, Inc. Asynchronous task management in an on-demand network code execution environment
US10102040B2 (en) 2016-06-29 2018-10-16 Amazon Technologies, Inc Adjusting variable limit on concurrent code executions
US10277708B2 (en) 2016-06-30 2019-04-30 Amazon Technologies, Inc. On-demand network code execution with cross-account aliases
US10203990B2 (en) 2016-06-30 2019-02-12 Amazon Technologies, Inc. On-demand network code execution with cross-account aliases
US11223537B1 (en) * 2016-08-17 2022-01-11 Veritas Technologies Llc Executing custom scripts from the host during disaster recovery
US10061613B1 (en) 2016-09-23 2018-08-28 Amazon Technologies, Inc. Idempotent task execution in on-demand network code execution systems
US10884787B1 (en) 2016-09-23 2021-01-05 Amazon Technologies, Inc. Execution guarantees in an on-demand network code execution system
US11057263B2 (en) * 2016-09-27 2021-07-06 Vmware, Inc. Methods and subsystems that efficiently distribute VM images in distributed computing systems
US11119813B1 (en) 2016-09-30 2021-09-14 Amazon Technologies, Inc. Mapreduce implementation using an on-demand network code execution system
US11290572B2 (en) * 2016-11-07 2022-03-29 Constructive Labs System and method for facilitating sharing of virtual three-dimensional space
US10033730B2 (en) * 2016-11-22 2018-07-24 Vmware, Inc. Cached credentials for offline domain join and login without local access to the domain controller
US10303492B1 (en) 2017-12-13 2019-05-28 Amazon Technologies, Inc. Managing custom runtimes in an on-demand code execution system
US10564946B1 (en) 2017-12-13 2020-02-18 Amazon Technologies, Inc. Dependency handling in an on-demand network code execution system
US10691493B1 (en) 2018-01-31 2020-06-23 EMC IP Holding Company LLC Processing platform with distributed policy definition, enforcement and monitoring across multi-layer infrastructure
US10382278B1 (en) 2018-01-31 2019-08-13 EMC IP Holding Company LLC Processing platform with independent definition and mutual enforcement of operational and application policies
US10733085B1 (en) 2018-02-05 2020-08-04 Amazon Technologies, Inc. Detecting impedance mismatches due to cross-service calls
US10572375B1 (en) 2018-02-05 2020-02-25 Amazon Technologies, Inc. Detecting parameter validity in code including cross-service calls
US10353678B1 (en) 2018-02-05 2019-07-16 Amazon Technologies, Inc. Detecting code characteristic alterations due to cross-service calls
US10831898B1 (en) 2018-02-05 2020-11-10 Amazon Technologies, Inc. Detecting privilege escalations in code including cross-service calls
US10725752B1 (en) 2018-02-13 2020-07-28 Amazon Technologies, Inc. Dependency handling in an on-demand network code execution system
US10776091B1 (en) 2018-02-26 2020-09-15 Amazon Technologies, Inc. Logging endpoint in an on-demand code execution system
US10120926B1 (en) 2018-05-31 2018-11-06 Capital One Services, Llc Attribute sharing platform for data processing systems
US10817331B2 (en) 2018-06-25 2020-10-27 Amazon Technologies, Inc. Execution of auxiliary functions in an on-demand network code execution system
US10649749B1 (en) 2018-06-26 2020-05-12 Amazon Technologies, Inc. Cross-environment application of tracing information for improved code execution
US11146569B1 (en) 2018-06-28 2021-10-12 Amazon Technologies, Inc. Escalation-resistant secure network services using request-scoped authentication information
US10949237B2 (en) 2018-06-29 2021-03-16 Amazon Technologies, Inc. Operating system customization in an on-demand network code execution system
WO2020031011A1 (en) * 2018-08-06 2020-02-13 Telefonaktiebolaget Lm Ericsson (Publ) Automation of management of cloud upgrades
US11243953B2 (en) 2018-09-27 2022-02-08 Amazon Technologies, Inc. Mapreduce implementation in an on-demand network code execution system and stream data processing system
US11099917B2 (en) 2018-09-27 2021-08-24 Amazon Technologies, Inc. Efficient state maintenance for execution environments in an on-demand code execution system
US10884812B2 (en) 2018-12-13 2021-01-05 Amazon Technologies, Inc. Performance-based hardware emulation in an on-demand network code execution system
US11010188B1 (en) 2019-02-05 2021-05-18 Amazon Technologies, Inc. Simulated data object storage using on-demand computation of data objects
US11663092B2 (en) 2019-04-30 2023-05-30 Rubrik, Inc. Systems and methods for continuous data protection
US11500664B2 (en) 2019-04-30 2022-11-15 Rubrik, Inc. Systems and method for continuous data protection and recovery by implementing a set of algorithms based on the length of I/O data streams
US11086727B2 (en) * 2019-04-30 2021-08-10 Rubrik, Inc. Systems and methods for continuous data protection
US11663089B2 (en) 2019-04-30 2023-05-30 Rubrik, Inc. Systems and methods for continuous data protection
US11609775B2 (en) 2019-04-30 2023-03-21 Rubrik, Inc. Systems and methods for continuous data protection comprising storage of completed I/O requests intercepted from an I/O stream using touch points
US11190609B2 (en) 2019-06-28 2021-11-30 Amazon Technologies, Inc. Connection pooling for scalable network services
US11159528B2 (en) 2019-06-28 2021-10-26 Amazon Technologies, Inc. Authentication to network-services using hosted authentication information
US11115404B2 (en) 2019-06-28 2021-09-07 Amazon Technologies, Inc. Facilitating service connections in serverless code executions
US11637748B2 (en) * 2019-08-28 2023-04-25 Microstrategy Incorporated Self-optimization of computing environments
US11210189B2 (en) 2019-08-30 2021-12-28 Microstrategy Incorporated Monitoring performance of computing systems
US11360881B2 (en) 2019-09-23 2022-06-14 Microstrategy Incorporated Customizing computer performance tests
US10908927B1 (en) 2019-09-27 2021-02-02 Amazon Technologies, Inc. On-demand execution of object filter code in output path of object storage service
US11656892B1 (en) 2019-09-27 2023-05-23 Amazon Technologies, Inc. Sequential execution of user-submitted code and native functions
US11360948B2 (en) 2019-09-27 2022-06-14 Amazon Technologies, Inc. Inserting owner-specified data processing pipelines into input/output path of object storage service
US11250007B1 (en) 2019-09-27 2022-02-15 Amazon Technologies, Inc. On-demand execution of object combination code in output path of object storage service
US11416628B2 (en) 2019-09-27 2022-08-16 Amazon Technologies, Inc. User-specific data manipulation system for object storage service based on user-submitted code
US10996961B2 (en) 2019-09-27 2021-05-04 Amazon Technologies, Inc. On-demand indexing of data in input path of object storage service
US11550944B2 (en) 2019-09-27 2023-01-10 Amazon Technologies, Inc. Code execution environment customization system for object storage service
US11055112B2 (en) 2019-09-27 2021-07-06 Amazon Technologies, Inc. Inserting executions of owner-specified code into input/output path of object storage service
US11263220B2 (en) 2019-09-27 2022-03-01 Amazon Technologies, Inc. On-demand execution of object transformation code in output path of object storage service
US11023311B2 (en) 2019-09-27 2021-06-01 Amazon Technologies, Inc. On-demand code execution in input path of data uploaded to storage service in multiple data portions
US11106477B2 (en) 2019-09-27 2021-08-31 Amazon Technologies, Inc. Execution of owner-specified code during input/output path to object storage service
US11386230B2 (en) 2019-09-27 2022-07-12 Amazon Technologies, Inc. On-demand code obfuscation of data in input path of object storage service
US11394761B1 (en) 2019-09-27 2022-07-19 Amazon Technologies, Inc. Execution of user-submitted code on a stream of data
US11023416B2 (en) 2019-09-27 2021-06-01 Amazon Technologies, Inc. Data access control system for object storage service based on owner-defined code
US10942795B1 (en) 2019-11-27 2021-03-09 Amazon Technologies, Inc. Serverless call distribution to utilize reserved capacity without inhibiting scaling
US11119826B2 (en) 2019-11-27 2021-09-14 Amazon Technologies, Inc. Serverless call distribution to implement spillover while avoiding cold starts
US11188391B1 (en) 2020-03-11 2021-11-30 Amazon Technologies, Inc. Allocating resources to on-demand code executions under scarcity conditions
US11775640B1 (en) 2020-03-30 2023-10-03 Amazon Technologies, Inc. Resource utilization-based malicious task detection in an on-demand code execution system
US11550713B1 (en) 2020-11-25 2023-01-10 Amazon Technologies, Inc. Garbage collection in distributed systems using life cycled storage roots
US11637770B2 (en) * 2021-02-13 2023-04-25 Oracle International Corporation Invalidating cached flow information in a cloud infrastructure
US11388210B1 (en) 2021-06-30 2022-07-12 Amazon Technologies, Inc. Streaming analytics using a serverless compute system

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07295841A (ja) * 1992-10-19 1995-11-10 Internatl Business Mach Corp <Ibm> 動的に資源を再構成するための方法及びシステム
JP2009506462A (ja) * 2005-08-30 2009-02-12 マイクロソフト コーポレーション 多層仮想化メカニズムを用いた階層的な仮想化
JP2011028438A (ja) * 2009-07-23 2011-02-10 Alpine Electronics Inc アプリケーション検証システム及びコンピュータプログラム
US20110083122A1 (en) * 2009-10-05 2011-04-07 Salesforce.Com, Inc. Method and system for massive large scale test infrastructure

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6609127B1 (en) * 1999-06-09 2003-08-19 Amx Corporation Method for dynamically updating master controllers in a control system
US7321893B1 (en) 2004-07-29 2008-01-22 Emc Corporation System and method for the configuration of resources in resource groups
US20060184937A1 (en) * 2005-02-11 2006-08-17 Timothy Abels System and method for centralized software management in virtual machines
CN101430649B (zh) * 2008-11-19 2011-09-14 北京航空航天大学 基于虚拟机的虚拟计算环境***
US8849966B2 (en) * 2009-10-13 2014-09-30 Hitachi, Ltd. Server image capacity optimization
US20110239039A1 (en) * 2010-03-26 2011-09-29 Dieffenbach Devon C Cloud computing enabled robust initialization and recovery of it services
US8103906B1 (en) * 2010-10-01 2012-01-24 Massoud Alibakhsh System and method for providing total real-time redundancy for a plurality of client-server systems
US9176744B2 (en) * 2011-05-20 2015-11-03 Citrix Systems, Inc. Quickly provisioning a virtual machine by identifying a path to a differential file during pre-boot
US8839222B1 (en) * 2011-09-21 2014-09-16 Amazon Technologies, Inc. Selecting updates for deployment to a programmable execution service application

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07295841A (ja) * 1992-10-19 1995-11-10 Internatl Business Mach Corp <Ibm> 動的に資源を再構成するための方法及びシステム
JP2009506462A (ja) * 2005-08-30 2009-02-12 マイクロソフト コーポレーション 多層仮想化メカニズムを用いた階層的な仮想化
JP2011028438A (ja) * 2009-07-23 2011-02-10 Alpine Electronics Inc アプリケーション検証システム及びコンピュータプログラム
US20110083122A1 (en) * 2009-10-05 2011-04-07 Salesforce.Com, Inc. Method and system for massive large scale test infrastructure

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7275161B2 (ja) 2018-04-03 2023-05-17 アマゾン テクノロジーズ インコーポレイテッド メモリフットプリントを制限したオンデマンドコード実行
JP2021518014A (ja) * 2018-04-03 2021-07-29 アマゾン テクノロジーズ インコーポレイテッド メモリフットプリントを制限したオンデマンドコード実行
JP2021529386A (ja) * 2018-06-25 2021-10-28 アマゾン テクノロジーズ インコーポレイテッド オンデマンドネットワークコード実行システム上での補助機能の実行
JP7197612B2 (ja) 2018-06-25 2022-12-27 アマゾン テクノロジーズ インコーポレイテッド オンデマンドネットワークコード実行システム上での補助機能の実行
US11875173B2 (en) 2018-06-25 2024-01-16 Amazon Technologies, Inc. Execution of auxiliary functions in an on-demand network code execution system
US11836516B2 (en) 2018-07-25 2023-12-05 Amazon Technologies, Inc. Reducing execution times in an on-demand network code execution system using saved machine states
US11943093B1 (en) 2018-11-20 2024-03-26 Amazon Technologies, Inc. Network connection recovery after virtual machine transition in an on-demand network code execution system
US11861386B1 (en) 2019-03-22 2024-01-02 Amazon Technologies, Inc. Application gateways in an on-demand network code execution system
US11714675B2 (en) 2019-06-20 2023-08-01 Amazon Technologies, Inc. Virtualization-based transaction handling in an on-demand network code execution system
US11714682B1 (en) 2020-03-03 2023-08-01 Amazon Technologies, Inc. Reclaiming computing resources in an on-demand code execution system
US11593270B1 (en) 2020-11-25 2023-02-28 Amazon Technologies, Inc. Fast distributed caching using erasure coded object parts
US11968280B1 (en) 2021-11-24 2024-04-23 Amazon Technologies, Inc. Controlling ingestion of streaming data to serverless function executions
US12015603B2 (en) 2021-12-10 2024-06-18 Amazon Technologies, Inc. Multi-tenant mode for serverless code execution

Also Published As

Publication number Publication date
US9304793B2 (en) 2016-04-05
US20140201735A1 (en) 2014-07-17
CN104956332B (zh) 2020-01-14
WO2014113330A1 (en) 2014-07-24
AU2014207721A1 (en) 2015-07-09
EP2946291A1 (en) 2015-11-25
CN104956332A (zh) 2015-09-30
CA2896304A1 (en) 2014-07-24

Similar Documents

Publication Publication Date Title
JP2016507100A (ja) マスタ・オートメーション・サービス
US10050850B2 (en) Rack awareness data storage in a cluster of host computing devices
US9450813B2 (en) Automated host device virtual network configuration system
US9170845B2 (en) Deployed application factory reset
Wood et al. CloudNet: dynamic pooling of cloud resources by live WAN migration of virtual machines
US9336103B1 (en) Using a network bubble across multiple hosts on a disaster recovery site for fire drill testing of a multi-tiered application
US9135018B2 (en) Computer cluster and method for providing a disaster recovery functionality for a computer cluster
JP2021506044A (ja) 自動的に配備される情報技術(it)システム及び方法
US20140032753A1 (en) Computer system and node search method
JP2015526830A (ja) 既存のコンピューティング環境内に配備される統合コンピューティング・プラットフォーム
JP2022536706A (ja) セキュリティが強化された自動的に配備される情報技術(it)システム及び方法
US10536518B1 (en) Resource configuration discovery and replication system for applications deployed in a distributed computing environment
US11941406B2 (en) Infrastructure (HCI) cluster using centralized workflows
US11805102B2 (en) Remote management of software on private networks
US11650859B2 (en) Cloud environment configuration based on task parallelization
US9306768B2 (en) System and method for propagating virtualization awareness in a network environment
Hwang et al. Benefits and challenges of managing heterogeneous data centers
Vetter et al. IBM Power Systems HMC Implementation and Usage Guide
Mohammad et al. A performance study of vm live migration over the wan
Toimela Containerization of telco cloud applications
Klepac et al. Enhancing availability of services using software-defined networking
Arora NFV Orchestration using OpenStack
Leppänen Cybergame virtualization and storage cluster design
Avresky et al. D4. 1: Description of Feasible Use Cases
Cloud Intel® Cloud Builders Guide: Cloud Design and Deployment on Intel Platforms

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20161122

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20161206

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20170627