JP6522128B2 - リソースサイジングの自動管理システム、方法及び非一時的コンピュータ可読記憶媒体 - Google Patents

リソースサイジングの自動管理システム、方法及び非一時的コンピュータ可読記憶媒体 Download PDF

Info

Publication number
JP6522128B2
JP6522128B2 JP2017529618A JP2017529618A JP6522128B2 JP 6522128 B2 JP6522128 B2 JP 6522128B2 JP 2017529618 A JP2017529618 A JP 2017529618A JP 2017529618 A JP2017529618 A JP 2017529618A JP 6522128 B2 JP6522128 B2 JP 6522128B2
Authority
JP
Japan
Prior art keywords
amount
program code
user
request
container
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.)
Active
Application number
JP2017529618A
Other languages
English (en)
Other versions
JP2018503896A (ja
Inventor
ショーン フィリップ レック
ショーン フィリップ レック
デレック スティーブン マンワリング
デレック スティーブン マンワリング
ディラン チャンドラー トーマス
ディラン チャンドラー トーマス
ティモシー アレン ワグナー
ティモシー アレン ワグナー
ジン ザオ
ジン ザオ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
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 JP2018503896A publication Critical patent/JP2018503896A/ja
Application granted granted Critical
Publication of JP6522128B2 publication Critical patent/JP6522128B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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
    • 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/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0876Network utilisation, e.g. volume of load or congestion level
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • 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/80Actions related to the user profile or the type of traffic
    • H04L47/808User-type aware
    • 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/83Admission control; Resource allocation based on usage prediction
    • 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
    • G06F2009/45562Creating, deleting, cloning virtual machine instances

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)
  • Environmental & Geological Engineering (AREA)
  • Stored Programmes (AREA)

Description

他の出願の相互参照
本願の出願人は、2014年9月30日に、次の米国特許出願を出願した。
出願番号 14/502,992
発明の名称 サービスとしてのスレッディング
さらに、本願の出願人は、2014年12月5日に、次の米国特許出願を出願した。
出願番号 14/562,601
発明の名称 リソースサイジングの自動判定
上記で参照された出願の開示は、参照によりその全体が本明細書に組み込まれる。
一般に言われているように、コンピューティングデバイスは、データを交換するために、1つの通信ネットワークまたは一連の通信ネットワークを利用する。企業や組織は、動作をサポートするため、または、サードパーティにサービスを提供するため、いくつかのコンピューティングデバイスを相互接続するコンピュータネットワークを運用する。コンピューティングシステムは、1つの地理的位置に配置されてもよく、または、多数の別個の地理的位置に配置されてもよい(例えば、プライベートまたはパブリック通信ネットワークを介して相互接続されてよい)。具体的には、本明細書において一般に「データセンター」と呼ばれるデータセンターまたはデータ処理センターは、データセンターのユーザにコンピューティングリソースを提供するように、いくつかの相互接続されたコンピューティングシステムを含んでよい。データセンターは、組織に代わって運用されるプライベートデータセンター、または、不特定多数の人々に代わって、もしくは不特定多数の人々の利益のために運用されるパブリックデータセンターであってよい。
データセンターリソースの利用の増加を促進するため、仮想化技術により、1つの物理的なコンピューティングデバイスが、データセンターのユーザにとって独立したコンピューティングデバイスとして出現及び動作する仮想マシンの1つまたは複数のインスタンスをホストすることが可能となり得る。仮想化により、1つの物理的なコンピューティングデバイスは、動的な方法で仮想マシンを作成、保守、削除、あるいは管理し得る。その結果、ユーザは、1つのコンピューティングデバイスまたはネットワーク化されたコンピューティングデバイスの構成を含み、且つ、種々の数の仮想マシンリソースを備える、データセンターからのコンピュータリソースを要求し得る。
いくつかのシナリオにおいて、仮想マシンインスタンスは、特定の機能性を提供するように、いくつかの仮想マシンインスタンスタイプに応じて構成されてよい。例えば、コンピューティングデバイスが異なる所望の機能性を提供すること、または、同様の機能性をより効率的に提供することを可能にするように、様々なコンピューティングデバイスは、オペレーティングシステムまたはオペレーティングシステム構成、仮想化されたハードウェアリソース及びソフトウェアアプリケーションの異なる組合せと関連してよい。これらの仮想マシンインスタンスタイプの構成は、多くの場合デバイスイメージ内に収容され、デバイスイメージは、仮想マシンがいったん始動されると実行するソフトウェア(例えば、OS及びアプリケーション、ならびに、それらの構成及びデータファイル等)を収容する静的データを含む。デバイスイメージは一般に、インスタンスを作成または初期化するのに使用されるディスクに記憶される。それゆえ、コンピューティングデバイスは、所望のソフトウェア構成を実行するため、デバイスイメージを処理してよい。
自動的なリソースリサイジングを提供するためのシステムが提供される。システムは、複数の仮想マシンインスタンスを保守するように構成されてよい。システムはさらに、プログラムコードを実行するための要求を受信するように、及び、仮想マシンインスタンスの1つ上でプログラムコードを実行するためにコンピューティングリソースを割り当てるように構成されてよい。プログラムコードを実行するために割り当てられるリソースの量は、要求によって指定されてよく、また、必要に応じて調整されてよい。
前述の態様及び本開示の付随する利点の多くが、添付の図面と併用して以下の詳細な説明を参照することにより、一層容易に理解され、同様に、良好に理解される。
例示的な態様に従った、低レイテンシコンピュートキャパシティを提供するための説明的な環境を表すブロック図である。 例示的な態様に従った、低レイテンシコンピュートキャパシティを管理するためのリソースマネージャを提供するコンピューティングデバイスの一般的なアーキテクチャを表す。 例示的な態様に従った、リソースマネージャにより実行されるリソースサイジングルーチンを示す流れ図である。 別の例示的な態様に従った、リソースマネージャにより実行されるリソースサイジングルーチンを示す流れ図である。 別の例示的な態様に従った、リソースマネージャにより実行されるリソースサイジングルーチンを示す流れ図である。 例示的な態様に従った、リソースマネージャにより実施されるリソースサイジングを示す。 例示的な態様に従った、リソースマネージャにより実施されるリソースサイジングを示す。 例示的な態様に従った、リソースマネージャにより実施されるリソースサイジングを示す。 別の例示的な態様に従った、リソースマネージャにより実施されるリソースサイジングを示す。 別の例示的な態様に従った、リソースマネージャにより実施されるリソースサイジングを示す。 別の例示的な態様に従った、リソースマネージャにより実施されるリソースサイジングを示す。
企業や組織はもはや、コンピューティング動作を実施(例えば、スレッド、プログラム、機能、ソフトウェア、ルーチン、サブルーチン、プロセス等を含むコードを実行)するために、自身の所有するデータセンターを獲得及び管理する必要はない。クラウドコンピューティングの出現により、ハードウェアコンピューティングデバイスにより従来提供されたストレージ空間及び演算能力は、今や、インターネット上において数分で取得及び構成され得る。それゆえ、開発者は、物理的なマシンの獲得を懸念する必要なく、所望の量のコンピューティングリソースを迅速に購入し得る。このようなコンピューティングリソースは、仮想コンピューティングリソースまたは仮想マシンインスタンスの形で一般に購入される。仮想マシンのこれらのインスタンスは、物理的なコンピューティングデバイス上でホストされる物理的なマシン(例えば、コンピュータ)のソフトウェア実施態様であり、物理的なマシン上に従来提供されるオペレーティングシステム及びアプリケーションを含んでよい。これらの仮想マシンインスタンスは、仮想マシンインスタンス上で実行するアプリケーションが要求してよく、また、物理的なコンピュータと同じ方法で利用されてよい、一連のコンピューティングリソース(例えば、メモリ、CPU、ディスク、ネットワーク等)を備えて構成される。
しかしながら、仮想コンピューティングリソースが(例えば、仮想マシンインスタンスの形で)購入された場合でさえ、いくつの及びどんな種類の仮想マシンインスタンスを購入するか、ならびに、それらをいつまで維持するかを、開発者は依然として決定しなければならない。例えば、仮想マシンインスタンスを使用するコストは、タイプ及びそれらが貸し出される時間数により変動し得る。加えて、仮想マシンを貸し出すことのできる最短時間は、一般に約数時間である。さらに、開発者は、仮想マシンにインストールするためにハードウェア及びソフトウェアリソース(例えば、オペレーティングシステム及び言語ランタイム等のタイプ)を指定しなければならない。彼らが抱えることのある他の懸念は、過剰利用(例えば、獲得するコンピューティングリソースが少な過ぎて、パフォーマンス問題に悩まされること)、過少利用(例えば、コードを実行するのに必要とされるよりも多くのコンピューティングリソースを獲得し、それゆえ余計に支払うこと)、トラフィックの変化の予測(例えば、これにより、彼らはいつスケールアップまたはスケールダウンするかが分かる)、及び、インスタンス及び言語ランタイム起動遅延を含む。こうした遅延は、ユーザが、約数秒またはさらに約ミリ秒でコンピューティングキャパシティを所望することがあるにも関わらず、3〜10分またはそれよりも長くかかることがあるものである。それゆえ、ユーザが、サービスプロバイダにより提供される仮想マシンインスタンスを活用することを可能にする改善された方法が所望される。
本開示の態様によれば、ユーザ要求が受信されるとすぐに使用の準備ができている、予め初期化された仮想マシンインスタンスのプールを保守することにより、ユーザコードを実行すること(例えばインスタンス及び言語ランタイム起動時間)と関連した遅延(レイテンシと呼ばれることもある)が、著しく削減され得る。
一般に言われているように、本開示の態様は、仮想マシンインスタンス、及び仮想マシンインスタンスに作成されるコンテナの管理に関する。具体的には、仮想コンピュートシステムにおける仮想マシンインスタンスの管理を促進するシステム及び方法が開示される。仮想コンピュートシステムは、そこにロードされた1つまたは複数のソフトウェア構成要素(例えば、オペレーティングシステム、言語ランタイム、ライブラリ等)を有する仮想マシンインスタンスのプールを保守する。仮想マシンインスタンスのプールを保守することは、新たなインスタンスを作成すること、外部のインスタンスプロビジョニングサービスから新たなインスタンスを取得すること、インスタンスをデストロイすること、インスタンスをユーザに割り当てること/再び割り当てること、インスタンス(例えば、コンテナまたはその中のリソース)を修正すること等を含んでよい。プールにおける仮想マシンインスタンスは、プログラムコードを実行するためのユーザ要求にサービスするように指定されてよい。本開示において、「プログラムコード」、「ユーザコード」、及び「クラウド機能」といった表現は、時として区別なく使用されることがある。プログラムコードは、仮想マシンインスタンス上に作成された、隔離されたコンテナにおいて実行されてよい。プールにおける仮想マシンインスタンスは、要求が受信される時までに既に立ち上げられ、且つ、特定のオペレーティングシステム及び言語ランタイムをロードしているので、(例えば、仮想マシンインスタンス上に作成される1つまたは複数のコンテナにおいてユーザコードを実行することにより)要求に対処し得るコンピュートキャパシティを発見することと関連した遅延が著しく削減される。
別の態様において、仮想コンピュートシステムは、ユーザコードを実行するために割り当てられるリソースの量に関連した情報をモニタ及びログしてよい。そうすることにより、仮想コンピュートシステムは、割り当てられるリソースの量を調整することにより、ユーザコード実行のパフォーマンスを改善するための機会を識別可能であってよい。誤り率は、過剰利用の場合、割り当てられるリソースの量を増加させることによって減少でき、また、過少利用の場合、ユーザコードの実行と関連したコストが、割り当てられるリソースの量を減少させることによって削減できる。
本開示の特定の実施形態及び例示的な用途が、次に図面を参照して説明される。これらの実施形態及び例示的な用途は、本開示を説明することを意図しており、本開示を限定することを意図しない。
図1を参照して、仮想環境100の実施形態を示すブロック図が説明される。図1に示された実施例は、ユーザコンピューティングデバイス102のユーザ(例えば、開発者等)が仮想コンピュートシステム110により提供される仮想コンピューティングリソースを使用して様々なプログラムコードを実行し得る、仮想環境100を含む。
実例として、デスクトップコンピュータ、ラップトップ、及び携帯電話を含め、仮想コンピュートシステム110と通信する様々な例示的なユーザコンピューティングデバイス102が示される。一般に、ユーザコンピューティングデバイス102は、デスクトップ、ラップトップ、携帯電話(またはスマートフォン)、タブレット、キオスク、無線デバイス、及び他の電子デバイスなど、任意のコンピューティングデバイスであってよい。加えて、ユーザコンピューティングデバイス102は、同一または異なるデータセンター上で実行するウェブサービスを含んでよく、そこでは、例えば、異なるウェブサービスが、本明細書において説明される1つまたは複数の技法を実施するように、互いにプログラムで通信してよい。さらに、ユーザコンピューティングデバイス102は、インターネットアプライアンス及び接続されるデバイスなど、モノのインターネット(IoT)デバイスを含んでよい。仮想コンピュートシステム110は、ユーザコードを生成及びアップロードし、ユーザコードを呼び出し(例えば、仮想コンピュートシステム110上でユーザコードを実行するための要求をサブミットし)、イベントベースのジョブまたは時間指定されたジョブをスケジューリングし、ユーザコードを追跡し、ならびに/または、それらの要求及び/またはユーザコードに関連するその他のロギングまたはモニタリング情報を表示するための、1つまたは複数のユーザインターフェース、コマンドラインインターフェース(CLI)、アプリケーションプログラミングインターフェース(API)、及び/または、他のプログラマチックインターフェースを、ユーザコンピューティングデバイス102に提供してよい。1つまたは複数の実施形態が、ユーザインターフェースを使用するものとして本明細書において説明され得るが、そのような実施形態が、追加的または代替的に、任意のCLI、API、または他のプログラマチックインターフェースを使用してもよいことを理解すべきである。
ユーザコンピューティングデバイス102は、ネットワーク104を介して仮想コンピュートシステム110にアクセスする。ネットワーク104は、任意の有線ネットワーク、無線ネットワーク、またはそれらの組合せであってよい。加えて、ネットワーク104は、パーソナルエリアネットワーク、ローカルエリアネットワーク、広域ネットワーク、無線の放送網ネットワーク(例えば、ラジオまたはテレビ用)、ケーブルネットワーク、衛星ネットワーク、携帯電話ネットワーク、またはそれらの組合せであってよい。例えば、ネットワーク104は、インターネットなど、場合によっては様々な別個の当事者により動作される、接続されたネットワークのうちの公衆にアクセス可能なネットワークであってよい。いくつかの実施形態において、ネットワーク104は、法人または大学のイントラネットなど、プライベートまたは準プライベートネットワークであってよい。ネットワーク104は、Global System for Mobile Communications(GSM)ネットワーク、符号分割多元接続(CDMA)ネットワーク、ロングタームエボリューション(LTE)ネットワーク、または任意の他のタイプの無線ネットワークなど、1つまたは複数の無線ネットワークを含んでよい。ネットワーク104は、インターネットまたは他の前述のタイプのネットワークのいずれかを介して通信するためのプロトコル及び構成要素を使用してよい。例えば、ネットワーク104により使用されるプロトコルは、ハイパーテキストトランスファープロトコル(HTTP)、HTTPセキュア(HTTPS)、Message Queue Telemetry Transport(MQTT)、Constrained Application Protocol(CoAP)等を含んでよい。インターネットまたは他の前述のタイプの通信ネットワークのいずれかを介して通信するためのプロトコル及び構成要素は、当業者によく知られており、それゆえ、本明細書ではより詳細に説明されない。
仮想コンピュートシステム110は、1つまたは複数のコンピュータネットワークを使用して相互接続されるいくつかのコンピュータシステムを含む分散コンピューティング環境において動作するものとして、図1に表わされる。仮想コンピュートシステム110はまた、図1に示したよりも少ない数または多い数のデバイスを有するコンピューティング環境内で動作してもよい。それゆえ、図1における仮想コンピュートシステム110の描写は、説明的なものとして受け取られるべきであり、本開示に限定するものでない。例えば、仮想コンピュートシステム110またはその様々な構成要素は、本明細書において説明されるプロセスの少なくとも一部を実行するように、様々なウェブサービス構成要素、ホストまたは「クラウド」コンピューティング環境、及び/または、ピアツーピアネットワーク構成を実行してよい。
さらに、仮想コンピュートシステム110は、ハードウェア及び/またはソフトウェアにおいて実行されてよく、例えば、本明細書において説明される様々な特徴を実施するための、コンピュータにより実行可能な命令を実行するように構成される、物理的なコンピュータハードウェア上で実行される1つまたは複数の物理的または仮想サーバを含んでよい。1つまたは複数のサーバは、地理的に分散されてもよく、または、例えば1つまたは複数のデータセンターにおいて地理的に同じ場所に配置されてもよい。
図1に示した環境において、仮想環境100は、仮想コンピュートシステム110を含み、仮想コンピュートシステム110は、フロントエンド120、ウォーミングプールマネージャ130、ワーカマネージャ140、及び、リソースマネージャ150を含む。表された実施例において、仮想マシンインスタンス(「インスタンス」)152、154が、ウォーミングプールマネージャ130により管理されるウォーミングプール130Aにおいて示され、インスタンス156、157、158、159が、ワーカマネージャ140により管理されるアクティブプール140Aにおいて示される。仮想コンピュートシステム110内の様々な構成要素の実例は、実際には論理的なものであり、構成要素の1つまたは複数は、1つのコンピューティングデバイスまたは多数のコンピューティングデバイスにより実行されてよい。例えば、インスタンス152、154、156、157、158、159は、異なる様々な地理的領域における1つまたは複数の物理的なコンピューティングデバイス上で実行されてよい。同様に、フロントエンド120、ウォーミングプールマネージャ130、ワーカマネージャ140、及びリソースマネージャ150のそれぞれは、多数の物理的なコンピューティングデバイス間で実行されてよい。あるいは、フロントエンド120、ウォーミングプールマネージャ130、ワーカマネージャ140、及びリソースマネージャ150の1つまたは複数が、1つの物理的なコンピューティングデバイス上で実行されてよい。いくつかの実施形態において、仮想コンピュートシステム110は、多数のフロントエンド、多数のウォーミングプールマネージャ、多数のワーカマネージャ、及び/または、多数のキャパシティマネージャを含んでよい。6つの仮想マシンインスタンスが図1の実施例に示されるが、本明細書において説明される実施形態はそのように限定されず、仮想コンピュートシステム110が、任意の数の物理的なコンピューティングデバイスを使用して実行される任意の数の仮想マシンインスタンスを含んでよいことを当業者は理解する。同様に、1つのウォーミングプール及び1つのアクティブプールが図1の実施例に示されるが、本明細書において説明される実施形態はそのように限定されず、仮想コンピュートシステム110が、任意の数のウォーミングプール及びアクティブプールを含んでよいことを当業者は理解する。
図1の実施例において、仮想コンピュートシステム110は、ネットワーク104に接続されるものとして示される。いくつかの実施形態において、仮想コンピュートシステム110内の構成要素のいずれかは、仮想環境100の他の構成要素(例えば、ユーザコンピューティングデバイス102及び補助サービス106であり、補助サービス106は、モニタリング/ロギング/ビリングサービス107、ストレージサービス108、インスタンスプロビジョニングサービス109、及び/または、仮想コンピュートシステム110と通信し得る他のサービスを含んでよい)とネットワーク104を介して通信してよい。他の実施形態において、仮想コンピュートシステム110の全ての構成要素が、仮想環境100の他の構成要素と通信可能であるとは限らない。1つの実施例において、フロントエンド120のみがネットワーク104に接続されてよく、仮想コンピュートシステム110の他の構成要素は、フロントエンド120を介して、仮想環境100の他の構成要素と通信してよい。
ユーザは、仮想コンピュートシステム110を、そこにあるユーザコードを実行するために使用してよい。例えば、ユーザは、ユーザが開発したウェブまたはモバイルアプリケーションに関連して1つのコードを実行することを望むことがある。コードを実行する1つの方法は、サービスとしてインフラストラクチャを提供するサービスプロバイダから仮想マシンインスタンスを獲得し、当該仮想マシンインスタンスをユーザのニーズに適合するように構成し、構成された仮想マシンインスタンスを、コードを実行するのに使用することであろう。あるいは、ユーザは、仮想コンピュートシステム110へコード実行要求を送信してもよい。仮想コンピュートシステム110は、コード実行要求に基づいて、コンピュートキャパシティ(例えば、以下でより詳細に説明されるコンテナ、インスタンス等)の獲得及び構成に対処してよく、コンピュートキャパシティを使用してコードを実行してよい。仮想コンピュートシステム110は、ボリュームに基づいて自動的にスケールアップまたはスケールダウンしてよく、これにより、過剰利用(例えば、獲得するコンピューティングリソースが少な過ぎて、パフォーマンス問題に悩まされること)、または、過少利用(例えば、コードを実行するのに必要とされるよりも多くのコンピューティングリソースを獲得し、それゆえ余計に支払うこと)を懸念しなければならないという負担から、ユーザが解放される。
フロントエンド120は、仮想コンピュートシステム110上でユーザコードを実行するための要求全てを処理する。1つの実施形態において、フロントエンド120は、仮想コンピュートシステム110により提供される他のサービス全てにとってのフロントドアとしての働きをする。フロントエンド120は、要求を処理し、当該要求が適切にオーソライズされることを確認する。例えば、フロントエンド120は、要求と関連したユーザが、要求において指定されたユーザコードにアクセスするのにオーソライズされるかどうかを判定してよい。
本明細書において使用されるユーザコードは、特定のプログラム言語で記述された任意のプログラムコード(例えば、プログラム、ルーチン、サブルーチン、スレッド等)を参照してよい。本開示において、「コード」、「ユーザコード」及び「プログラムコード」という用語は、区別なく使用され得る。このようなユーザコードは、例えば、ユーザにより開発される特定のウェブアプリケーションまたはモバイルアプリケーションに関連して特定のタスクを達成するように実行されてよい。例えば、ユーザコードは、JavaScript(登録商標)(node.js)、Java(登録商標)、Python(登録商標)、及び/または、Ruby(登録商標)で記述されてよい。要求は、ユーザコード(またはその位置)、及びユーザコードを実行するために使用される1つまたは複数の引数を含んでよい。例えば、ユーザは、ユーザコードを実行するための要求と共にユーザコードを提供してよい。別の実施例において、要求は、予めアップロードされたプログラムコードを、(例えば、コードをアップロードするためのAPIを使用して)その名前またはそのユニークなIDによって識別してよい。さらに別の実施例において、コードは、要求に含まれてもよく、また、要求が仮想コンピュートシステム110により受信される前に、別個の位置(例えば、ストレージサービス108、または仮想コンピュートシステム110内のストレージシステム)においてアップロードされてもよい。仮想コンピュートシステム110は、要求が処理される時点でコードが利用可能である場所に基づいて、そのコード実行ストラテジを変更してよい。
フロントエンド120は、ユーザからのハイパーテキストトランスファープロトコルセキュア(HTTPS)要求に応答して、そのようなユーザコードを実行するための要求を受信してよい。また、ユーザコードを実行するとき、HTTPS要求に含まれる任意の情報(例えば、ヘッダ及びパラメータ)がさらに処理及び利用されてもよい。上述のように、例えば、HTTP、MQTT及びCoAPを含め、任意の他のプロトコルが、コード実行要求を収容するメッセージをフロントエンド120に転送するのに使用されてよい。フロントエンド120はまた、自動の要求生成をトリガするためにユーザが登録したイベントなどのイベントが検出されたときに、そのようなユーザコードを実行するための要求を受信してもよい。例えば、ユーザは、補助サービス106によりユーザコードを登録していてもよく、また、特定のイベントが発生する(例えば、新たなファイルがアップロードされる)たびに、ユーザコードを実行するための要求がフロントエンド120へ送信されることを指定していてもよい。あるいは、ユーザは、時間指定されたジョブ(例えば、24時間毎にユーザコードを実行する)を登録していてもよい。このような実施例において、時間指定されたジョブについてスケジュールされた時間がやってくるとき、ユーザコードを実行するための要求が、フロントエンド120に送信されてよい。さらに別の実施例において、フロントエンド120は、入来するコード実行要求のキューを有してよく、ユーザのバッチジョブが仮想コンピュートシステムのワークキューから削除されるとき、フロントエンド120はユーザ要求を処理してよい。さらに別の実施例において、要求は、仮想コンピュートシステム110内の別の構成要素または図1に示されない他のサーバもしくはサービスから発生されてよい。
ユーザ要求は、ユーザコードと共に使用すべき1つまたは複数のサードパーティのライブラリ(ネイティブライブラリを含む)を指定してよい。1つの実施形態において、ユーザ要求は、ユーザコード及び任意のライブラリ(及び/またはそのストレージ位置の識別)を収容するZIPファイルである。いくつかの実施形態において、ユーザ要求は、実行すべきプログラムコードを示すメタデータ、プログラムコードを記述する言語、要求と関連したユーザ、及び/または、プログラムコードを実行するためにリザーブすべきコンピューティングリソース(例えば、メモリ、CPU、ストレージ、ネットワークパケット等)を含む。例えば、プログラムコードは、要求を備えてもよく、ユーザにより予めアップロードされてもよく、仮想コンピュートシステム110(例えば、標準ルーチン)により提供されてもよく、及び/または、サードパーティにより提供されてもよい。いくつかの実施形態において、リソースレベルの制約(例えば、特定のユーザコードを実行するためにどのくらいのメモリを割り当てるべきか)は、特定のユーザコードに対して指定され、ユーザコードの各実行と共に変化するものでなくてよい。このような場合、仮想コンピュートシステム110は、各個々の要求が受信される前にそのようなリソースレベルの制約を利用してよく、個々の要求がそのようなリソースレベルの制約を指定しなくてよい。いくつかの実施形態において、リソースレベルの制約は、経時的に調整され、また、1つのプログラムコードの様々な実行によって変化し得る。例えば、同一のプログラムコードが、データの2つの異なるセットを処理するのに使用されてよく、そこでは、データの1つのセットが、もう一方よりも多くのリソースを必要とする。このような場合、ユーザは、2つの異なる実行のために異なるリソース制約を指定してよく、または、仮想コンピュートシステム110は、ユーザ及び/またはプログラムコードについての空間的(例えば、仮想コンピュートシステム110の他の部分における)傾向、または履歴的(例えば、経時的)傾向に基づいて、プログラムコードの各実行に割り当てられるリソースの量を自動的に調整してよい。いくつかの実施形態において、ユーザ要求は、ユーザコードを実行するためにどのようなパーミッションを要求が有するのかを示すパーミッションデータなど、他の制約を指定してよい。このようなパーミッションデータは、(例えば、プライベートネットワーク上の)プライベートリソースにアクセスするために、仮想コンピュートシステム110により使用されてよい。
いくつかの実施形態において、ユーザ要求は、ユーザ要求に対処するために用いるべきビヘイビアを指定してよい。このような実施形態において、ユーザ要求は、ユーザ要求と関連したユーザコードが実行され得る1つまたは複数の実行モードを可能にするための標識を含んでよい。例えば、要求は、ユーザコードの実行に関連して生成され得るデバッギング及び/またはロギング出力が(例えば、コンソールユーザインターフェースを介して)ユーザに提供されるデバッグモードにおいて、ユーザコードを実行すべきかどうかを示すためのフラグまたはヘッダを含んでよい。このような実施例において、仮想コンピュートシステム110は要求を検査してよく、フラグまたはヘッダを探してよく、それが存在する場合には、仮想コンピュートシステム110は、ユーザコードが実行されるコンテナのビヘイビア(例えば、ロギングファシリティ)を修正してよく、出力データをユーザに提供させてよい。いくつかの実施形態において、ビヘイビア/モード標識は、仮想コンピュートシステム110によりユーザに提供されるユーザインターフェースによって要求に追加される。ソースコードプロファイリング、リモートデバッギング等などの他の特徴はまた、要求において提供されるインディケーションに基づいて有効または無効にされてよい。
いくつかの実施形態において、仮想コンピュートシステム110は、多数のフロントエンド120を含んでよい。このような実施形態において、ロードバランサが、例えばラウンドロビン方式で、入来する要求を多数のフロントエンド120へ分散するように提供されてよい。いくつかの実施形態において、ロードバランサが、入来する要求を多数のフロントエンド120へ分散する方法は、ウォーミングプール130A及び/またはアクティブプール140Aの状態に基づくものであってよい。例えば、ウォーミングプール130Aにおけるキャパシティが十分であると考えられる場合、要求は、フロントエンド120の個々のキャパシティに基づいて(例えば、1つまたは複数のロードバランシング制限に基づいて)、多数のフロントエンド120へ分散されてよい。一方、ウォーミングプール130Aにおけるキャパシティが閾値量よりも低い場合、そのようなロードバランシング制限の1つまたは複数は削除されてよく、その結果、ウォーミングプール130Aから取得される仮想マシンインスタンスの数を削減または最小にする方法で、要求は、多数のフロントエンド120へ分散されてよい。例えば、ロードバランシング制限に従って、要求がフロントエンドAにルートされるべきであっても、フロントエンドAは、要求にサービスするためにウォーミングプール130Aからインスタンスを取得する必要があるが、フロントエンドBは、同一の要求にサービスするために、そのアクティブプールおけるインスタンスの1つを使用し得る場合、要求は、フロントエンドBにルートされてよい。
仮想コンピュートシステム110が、仮想コンピュートシステム110上でユーザコードを実行するための要求を受信するとき、仮想マシンインスタンスがワーカマネージャ140によりすぐに使用されることができることを、ウォーミングプールマネージャ130が確実にする。図1に示した実施例において、ウォーミングプールマネージャ130は、入来するユーザコード実行要求にサービスするのに使用され得る予め初期化され且つ予め構成された仮想マシンインスタンスのグループ(プールと呼ばれることもある)である、ウォーミングプール130Aを管理する。いくつかの実施形態において、ウォーミングプールマネージャ130は、仮想マシンインスタンスを、仮想コンピュートシステム110内の1つまたは複数の物理的なコンピューティングマシン上で立ち上げさせて、ウォーミングプール130Aに追加させる。他の実施形態において、ウォーミングプールマネージャ130は、新たなインスタンスを作成してそれをウォーミングプール130Aに追加するように、補助仮想マシンインスタンスサービス(例えば、図1のインスタンスプロビジョニングサービス109)と通信する。いくつかの実施形態において、ウォーミングプールマネージャ130は、フロントエンド120により受信されるコード実行要求にサービスするのに使用され得るコンピュートキャパシティを獲得及び保守するように、仮想コンピュートシステム110内の物理的なコンピューティングデバイスと、1つまたは複数の仮想マシンインスタンスサービスとの両方を利用してよい。いくつかの実施形態において、仮想コンピュートシステム110は、ウォーミングプール130Aにおける利用可能なキャパシティを制御(例えば、増加または削減)するための1つまたは複数の論理ノブまたはスイッチを含んでよい。例えば、システム管理者は、ピーク時の間、ウォーミングプール130Aにおいて利用可能なキャパシティ(例えば、予め立ち上げられたインスタンスの数)を増加するように、そのようなノブまたはスイッチを使用してよい。いくつかの実施形態において、ウォーミングプール130Aにおける仮想マシンインスタンスは、ユーザのコードを実行するための、特定のユーザ要求から独立した構成の所定のセットに基づいて構成されてよい。構成の所定のセットは、ユーザコードを実行するように様々なタイプの仮想マシンインスタンスに対応してよい。ウォーミングプールマネージャ130は、現在または以前のユーザコード実行に関連する1つまたは複数のメトリクスに基づいて、ウォーミングプール130Aにおける仮想マシンインスタンスのタイプ及び数を最適化してよい。
図1に示すように、インスタンスは、そこにロードされたオペレーティングシステム(OS)及び/または言語ランタイムを有してよい。例えば、ウォーミングプールマネージャ130により管理されるウォーミングプール130Aは、インスタンス152、154を含む。インスタンス152は、OS152A及びランタイム152Bを含む。インスタンス154は、OS154Aを含む。いくつかの実施形態において、ウォーミングプール130Aにおけるインスタンスはまた、以下でより詳細に説明される、(オペレーティングシステム、ランタイム、ユーザコード等のコピーをさらに含んでよい)コンテナを含んでもよい。インスタンス152が1つのランタイムを含むように図1に示されるが、他の実施形態において、図1に表されたインスタンスは、2つまたはそれよりも多いランタイムを含んでもよく、そのそれぞれが異なるユーザコードを実行するために使用されてよい。いくつかの実施形態において、ウォーミングプールマネージャ130は、ウォーミングプール130Aにおけるインスタンスのリストを保持してよい。インスタンスのリストはさらに、インスタンスの構成(例えば、OS、ランタイム、コンテナ等)を指定してよい。
いくつかの実施形態において、ウォーミングプール130Aにおける仮想マシンインスタンスは、任意のユーザの要求に応対するのに使用されてよい。1つの実施形態において、ウォーミングプール130Aにおける仮想マシンインスタンス全ては、同一または実質的に同様の方法で構成される。別の実施形態において、ウォーミングプール130Aにおける仮想マシンインスタンスは、異なるユーザのニーズに適合するように異なって構成されてよい。例えば、仮想マシンインスタンスは、そこにロードされた異なるオペレーティングシステム、異なる言語ランタイム、及び/または、異なるライブラリを有してよい。さらに別の実施形態において、ウォーミングプール130Aにおける仮想マシンインスタンスは、同一または実質的に同様の方法で(例えば、同一のOS、言語ランタイム、及び/または、ライブラリを備えて)構成されてよいが、これらのインスタンスのうちのいくつかが異なるコンテナ構成を有してもよい。例えば、2つのインスタンスはPython(登録商標)とRuby(登録商標)の両方のためのランタイムを有してもよいが、一方のインスタンスは、Python(登録商標)コードを実行するように構成されるコンテナを有してよく、他方のインスタンスは、Ruby(登録商標)コードを実行するように構成されるコンテナを有してよい。いくつかの実施形態において、それぞれが全く同様に構成された仮想マシンインスタンスを有する多数のウォーミングプール130Aが提供される。
各仮想マシンインスタンスが、仮想コンピュートシステム110上でプログラムコードを実行するためのユーザ要求により要求または指定され得る動作条件の少なくとも1つを満たすように構成されるように、ウォーミングプールマネージャ130は、ウォーミングプール130Aにおける仮想マシンインスタンスを予め構成してよい。1つの実施形態において、動作条件は、可能なユーザコードを記述できるプログラム言語を含んでよい。例えば、そのような言語は、Java(登録商標)、JavaScript(登録商標)、Python(登録商標)、Ruby(登録商標)等を含んでよい。いくつかの実施形態において、ユーザコードを記述できる言語のセットは、ユーザコードを実行するための要求を満たし得る仮想マシンインスタンスの事前初期化を促進するため、所定のセット(例えば4言語のセットであるが、いくつかの実施形態においては、4言語よりも多い、または少ないセットが提供される)に限定されてよい。例えば、ユーザが、仮想コンピュートシステム110により提供されるユーザインターフェースを介して要求を構成しているとき、ユーザインターフェースは、ユーザコードを実行するために所定の動作条件の1つを指定するようユーザに促してよい。別の実施例において、仮想コンピュートシステム110により提供されるサービスの利用に関するサービス水準合意(SLA)は、ユーザ要求が満たすべき一連の条件(例えば、プログラミング言語、コンピューティングリソース等)を指定してよく、仮想コンピュートシステム110は、要求に対処するにあたり、要求が一連の条件を満たすと想定してよい。別の実施例において、要求において指定された動作条件は、要求を処理するために使用される演算能力の量、要求のタイプ(例えば、HTTP対トリガされるイベント)、要求のためのタイムアウト(例えば、要求を終了し得た後の閾値時間)、セキュリティポリシー(例えば、ウォーミングプール130Aにおけるどのインスタンスがどのユーザにより使用可能かを制御してよい)等を含んでよい。
ワーカマネージャ140は、入来するコード実行要求にサービスするために使用されるインスタンスを管理する。図1に示した実施例において、ワーカマネージャ140は、1人または複数のユーザに現在割り当てられている仮想マシンインスタンスのグループ(プールと呼ばれることもある)であるアクティブプール140Aを管理する。仮想マシンインスタンスが、特定のユーザに割り当てられるものとしてここでは説明されるが、いくつかの実施形態において、インスタンスは、ユーザのグループに割り当てられてもよく、これにより、インスタンスはユーザのグループに結び付けられて、グループのどのメンバーもインスタンス上のリソースを利用することができる。例えば、同一グループにおけるユーザは、(例えば、ユーザのセキュリティ証明書に基づいて)同一のセキュリティグループに属してよく、これにより、1人のメンバーのコードを特定のインスタンス上のコンテナにおいて実行する前に、別のメンバーのコードが同一のインスタンス上の別のコンテナにおいて実行されていても、セキュリティ上のリスクは生じない。同様に、どのコンテナにおいてどの要求を実行できるか、及び、どのインスタンスをどのユーザに割り当てることができるかを規定する1つまたは複数のポリシーに従って、ワーカマネージャ140は、インスタンス及びコンテナを割り当ててよい。例示的なポリシーは、インスタンスが、同一のアカウント(例えば、仮想コンピュートシステム110により提供されるサービスにアクセスするためのアカウント)を共有するユーザの集まりに割り当てられることを指定してよい。いくつかの実施形態において、同一のユーザグループと関連した要求は、(例えば、それに関連したユーザコードが全く同一である場合)同一のコンテナを共有してよい。いくつかの実施形態において、要求は、グループの中の異なるユーザ間で区別されず、要求と関連したユーザが属するグループを示すに過ぎない。
図1に示した実施例において、ユーザコードは、コンテナと呼ばれる隔離されたコンピュートシステムにおいて実行される。コンテナは、仮想マシンインスタンス内で、そのインスタンス上で利用可能なリソースを使用して作成される論理ユニットである。例えば、ワーカマネージャ140は、ユーザコードを実行するための要求において指定された情報に基づいて、新たなコンテナを作成してよく、または、アクティブプール140Aにおけるインスタンスの1つに既存のコンテナを配置してよく、また、要求と関連したユーザコードの実行に対処するように、当該コンテナを要求に割り当てる。1つの実施形態において、そのようなコンテナは、Linuxコンテナとして実行される。アクティブプール140Aにおける仮想マシンインスタンスは、そこに作成される1つまたは複数のコンテナを有してよく、(例えば、コンテナのうちの1つ、またはインスタンスのローカルキャッシュのいずれかにおいて)そこにロードされた、ユーザと関連した1つまたは複数のプログラムコードを有してよい。
図1に示すように、インスタンスは、オペレーティングシステム(OS)、言語ランタイム、及びコンテナを有してよい。コンテナは、OS及び言語ランタイムの個々のコピーならびにそこにロードされたユーザコードを有してよい。図1の実施例において、ワーカマネージャ140により管理されるアクティブプール140Aは、インスタンス156、157、158、159を含む。インスタンス156は、コンテナ156A、156Bを有する。コンテナ156Aは、その中にロードされたOS156A‐1、ランタイム156A‐2、及びコード156A‐3を有する。表された実施例において、コンテナ156Aは、その中にロードされた、それ自体のOS、ランタイム、及びコードを有する。1つの実施形態において、OS156A‐1(例えば、そのカーネル)、ランタイム156A‐2、及び/または、コード156A‐3は、コンテナ156A、156B(及び図1に示されない任意の他のコンテナ)の間で共有される。別の実施形態において、OS156A‐1(例えば、カーネルの外で実行する任意のコード)、ランタイム156A‐2、及び/または、コード156A‐3は、コンテナ156Aのために作成される独立したコピーであり、インスタンス156上の他のコンテナと共有されない。さらに別の実施形態において、OS156A‐1、ランタイム156A‐2、及び/または、コード156A‐3のいくつかの部分が、インスタンス156上のコンテナ間で共有され、それらの他の部分は、コンテナ156Aに特有の独立したコピーである。インスタンス157はコンテナ157A、157B、157Cを含み、インスタンス158はコンテナ158Aを含み、インスタンス159は、コンテナ159Aを含む。
図1の実施例において、図1に表されたコンテナのサイズは、コンテナの実際のサイズに比例してよい。例えば、コンテナ156Aは、インスタンス156上のコンテナ156Bよりも多くの空間を占有する。同様に、コンテナ157A、157B、157C、159Aは、等しいサイズにされてよく、コンテナ158Aは、コンテナ157A、157B、157C、159Aよりも大きくてよい(例えば、そこに割り当てられた、より多くのコンピューティングリソースを有してよい)。インスタンス159に示される「C」と付された点線のボックスは、新たなインスタンスを作成するのに使用され得る、インスタンス上に残されている空間を示す。いくつかの実施形態において、コンテナのサイズは、64MBまたは任意のその倍数であってよい。他の実施形態において、コンテナのサイズは、コンテナが作成されるインスタンスのサイズよりも小さいか、またはそれと等しい、どんな任意のサイズであってもよい。いくつかの実施形態において、コンテナのサイズは、コンテナが作成されるインスタンスのサイズよりも小さいか、それと等しいか、またはそれよりも大きい、どんな任意のサイズであってもよい。コンテナのサイズがインスタンスのサイズをどのくらい上回ってよいかは、これらのコンテナが、インスタンスにより提供されるキャパシティを超えて利用されることのある可能性がどの程度かに基づいて決定されてよい。例えば、1GBのメモリサイズを有する5つのコンテナ(合計5GB)が、4GBのメモリサイズを有するインスタンスに作成されてよい。コンテナのそれぞれが、1GBの全キャパシティに達しない場合、コンテナは、オーバーサブスクリプションにもかかわらず、適切に機能し得る。
コンテナ156B、157A、157B、157C、158A、159A内部の構成要素は、図1の実施例に示されていないが、これらのコンテナのそれぞれは、様々なオペレーティングシステム、言語ランタイム、ライブラリ、及び/または、ユーザコードを有してよい。いくつかの実施形態において、インスタンスは、(例えば、インスタンスレベルのキャッシュにおいて)そこにロードされたユーザコードを有してよく、これらのインスタンス内のコンテナはまた、その中にロードされたユーザコードを有してよい。いくつかの実施形態において、ワーカマネージャ140は、アクティブプール140Aにおけるインスタンスのリストを保持してよい。インスタンスのリストはさらに、インスタンスの構成(例えば、OS、ランタイム、コンテナ等)を指定してよい。いくつかの実施形態において、ワーカマネージャ140は、ウォーミングプール130Aにおける(例えば、インスタンスの数及びタイプを含む)インスタンスのリストを利用してよい。他の実施形態において、ワーカマネージャ140は、ウォーミングプール130Aにおける仮想マシンインスタンスの知識を有することなく、ウォーミングプールマネージャ130からコンピュートキャパシティを要求する。
要求がフロントエンド120により正常に処理された後、ワーカマネージャ140は、仮想コンピュートシステム110上でユーザコードを実行するための要求にサービスするキャパシティを発見する。例えば、アクティブプール140Aにおいて、その中にロードされた同一のユーザコード(例えば、コンテナ156Aに示したコード156A‐3)を備えるコンテナを有する特定の仮想マシンインスタンスが存在する場合、ワーカマネージャ140は、当該コンテナを要求に割り当ててよく、ユーザコードを当該コンテナにおいて実行させてよい。あるいは、ユーザコードが、仮想マシンインスタンスの1つのローカルキャッシュにおいて利用可能である(例えば、インスタンス158にストアされるが、いずれの個々のコンテナにも属さない)場合、ワーカマネージャ140は、そのようなインスタンス上に新たなコンテナを作成してよく、当該コンテナを要求に割り当ててよく、ユーザコードを当該コンテナにロードさせて、そこで実行させてよい。
要求と関連したユーザコードが、アクティブプール140Aにおけるインスタンスのいずれにおいても(例えば、コンテナ、またはインスタンスのローカルキャッシュのいずれにおいても)発見されないとワーカマネージャ140が判定する場合、アクティブプール140Aにおけるインスタンスのいずれかが、要求と関連したユーザに現在割り当てられているかどうか、及び、現在の要求に対処するためのコンピュートキャパシティを有するかどうかを、ワーカマネージャ140は判定してよい。そのようなインスタンスがある場合、ワーカマネージャ140は、インスタンス上に新たなコンテナを作成してよく、当該コンテナを要求に割り当ててよい。あるいは、ワーカマネージャ140はさらに、ユーザに割り当てられるインスタンス上に既存のコンテナを構成してよく、当該コンテナを要求に割り当ててよい。例えば、既存のコンテナが、現在のユーザ要求により要求される特定のライブラリがそのコンテナにロードされている場合に、ユーザコードを実行するのに使用されてよいことを、ワーカマネージャ140は判定してよい。このような場合、ワーカマネージャ140は、当該コンテナ上へ特定のライブラリ及びユーザコードをロードしてよく、ユーザコードを実行するように当該コンテナを使用してよい。
アクティブプール140Aが、ユーザに現在割り当てられているいずれのインスタンスも含まない場合、ワーカマネージャ140は、ウォーミングプール130Aから新たな仮想マシンインスタンスをプルし、要求と関連したユーザに当該インスタンスを割り当て、当該インスタンス上に新たなコンテナを作成し、当該コンテナを要求に割り当て、ユーザコードを、当該コンテナにダウンロードさせてそこで実行させる。
いくつかの実施形態において、仮想コンピュートシステム110は、ユーザコードの実行を、それが(例えば、フロントエンド120により)受信された後すぐに開始するように適合される。時間間隔は、(例えば、ユーザと関連した仮想マシンインスタンス上のコンテナにおいて)ユーザコードの実行を開始することと、(例えば、フロントエンドにより受信される)ユーザコードを実行するための要求を受信することの間の時間差として決定されてよい。仮想コンピュートシステム110は、所定の期間よりも短い時間間隔内でユーザコードの実行を開始するように適合される。1つの実施形態において、所定の期間は500msである。別の実施形態において、所定の期間は300msである。別の実施形態において、所定の期間は100msである。別の実施形態において、所定の期間は50msである。別の実施形態において、所定の期間は10msである。別の実施形態において、所定の期間は、10msから500msの範囲から選択される任意の値であってよい。いくつかの実施形態において、仮想コンピュートシステム110は、1つまたは複数の条件が満たされる場合、所定の期間よりも短い時間間隔内でユーザコードの実行を開始するように適合される。例えば、1つまたは複数の条件は、(1)要求が受信される時点で、ユーザコードがアクティブプール140Aにおけるコンテナにロードされること、(2)要求が受信される時点で、ユーザコードがアクティブプール140Aにおけるインスタンスのコードキャッシュにストアされること(3)要求が受信される時点で、アクティブプール140Aが、要求と関連したユーザに割り当てられるインスタンスを含むこと、または(4)要求が受信される時点で、ウォーミングプール130Aが、要求に対処するキャパシティを有すること、のいずれか1つを含んでよい。
ユーザコードは、図1のストレージサービス108などの補助サービス106からダウンロードされてよい。図1に示したデータ108Aは、1人または複数のユーザによりアップロードされたユーザコード、そのようなユーザコードと関連したメタデータ、または、本明細書において説明される1つまたは複数の技法を実施するために仮想コンピュートシステム110により利用される任意の他のデータを含んでよい。ストレージサービス108のみが図1の実施例に示されているが、仮想環境100は、他のレベルのストレージシステムを含んでよく、そこから、ユーザコードがダウンロードされてもよい。例えば、各インスタンスは、物理的(例えば、インスタンスが起動している物理的なコンピューティングシステムに常駐するローカルストレージ)または論理的(例えば、インスタンスとのネットワーク通信における、仮想コンピュートシステム110の内または外に提供されるネットワークアタッチトストレージシステム)のいずれかで、コンテナが作成されるインスタンスと関連した1つまたは複数のストレージシステムを有してよい。あるいは、コードは、ストレージサービス108により提供されるウェブベースのデータストアからダウロードされてよい。
ワーカマネージャ140が、ユーザコード実行要求に応対するのに使用され得るウォーミングプール130Aに、仮想マシンインスタンスの1つをいったん配置すると、ウォーミングプールマネージャ130またはワーカマネージャ140は、ウォーミングプール130Aからインスタンスを取得し、それを、要求と関連したユーザに割り当てる。割り当てられる仮想マシンインスタンスは、ウォーミングプール130Aから取得され、アクティブプール140Aに配置される。いくつかの実施形態において、仮想マシンインスタンスが特定のユーザにいったん割り当てられると、同一の仮想マシンインスタンスは、いずれの他のユーザの要求にサービスするのに使用できない。これは、ユーザリソースの起こり得る混合を防止することにより、セキュリティ上の利点をユーザに提供する。あるいは、いくつかの実施形態において、異なるユーザに属する(または、異なるユーザと関連した要求に割り当てられる)多数のコンテナが、1つの仮想マシンインスタンス上で共存してもよい。このようなアプローチは、利用可能なコンピュートキャパシティの利用を改善し得る。いくつかの実施形態において、仮想コンピュートシステム110は、別個のキャッシュを保守してよく、当該別個のキャッシュにおいて、ユーザコードは、仮想マシンインスタンスのローカルキャッシュと(例えば、ネットワーク104を介してアクセス可能な)ウェブベースのネットワークストレージとの間の中間レベルのキャッシングシステムとしての働きをするようにストアされる。
ユーザコードが実行された後、ワーカマネージャ140は、ユーザコードを実行するのに使用されるコンテナを分解して、そのコンテナが占有していたリソースを、インスタンスにおける他のコンテナのために使用されるように解放してよい。あるいは、ワーカマネージャ140は、コンテナを起動し続けて、同一のユーザからの追加の要求にサービスするようにコンテナを使用してよい。例えば、別の要求が、コンテナに既にロードされた同一のユーザコードと関連する場合、当該要求は、同一のコンテナに割り当てられてよく、これにより、新たなコンテナの作成及びコンテナにおけるユーザコードのローディングと関連した遅延が取り除かれる。いくつかの実施形態において、ワーカマネージャ140は、ユーザコードを実行するのに使用されるコンテナが作成されたインスタンスを分解してよい。あるいは、ワーカマネージャ140は、インスタンスを起動し続けて、同一のユーザからの追加の要求にサービスするようにインスタンスを使用してよい。ユーザコードが実行を終了した後に、コンテナ及び/またはインスタンスを起動し続けるかどうかの判定は、閾値時間、ユーザのタイプ、ユーザの平均要求量、及び/または、他の動作条件に基づくものであってよい。例えば、閾値時間が、何らのアクティビティ(例えば、コードの実行)を伴わずに経過した後(例えば、5分、30分、1時間、24時間、30日等)、コンテナ及び/または仮想マシンインスタンスが停止され(例えば、削除される、終了される等)、そこに割り当てられたリソースがリリースされる。いくつかの実施形態において、コンテナが分解される前に経過した閾値時間は、インスタンスが分解される前に経過した閾値時間よりも短い。
いくつかの実施形態において、仮想コンピュートシステム110は、入来するコード実行要求にサービスするとき、補助サービス106の1つまたは複数にデータを提供してよい。例えば、仮想コンピュートシステム110は、モニタリング/ロギング/ビリングサービス107と通信してよい。モニタリング/ロギング/ビリングサービス107は、仮想コンピュートシステム110上のコンテナ及びインスタンスのステータスなど、仮想コンピュートシステム110から受信されるモニタリング情報を管理するためのモニタリングサービス、仮想コンピュートシステム110上のコンテナ及びインスタンスにより実施されるアクティビティなど、仮想コンピュートシステム110から受信されるロギング情報を管理するためのロギングサービス、及び、(例えば、モニタリングサービス及びロギングサービスにより管理されるモニタリング情報及び/またはロギング情報に基づいて)仮想コンピュートシステム110上でのユーザコードの実行と関連したビリング情報を発生させるためのビリングサービスを含んでよい。上述のように、(例えば、仮想コンピュートシステム110に代わって)モニタリング/ロギング/ビリングサービス107により実施され得るシステムレベルのアクティビティに加えて、モニタリング/ロギング/ビリングサービス107は、仮想コンピュートシステム110上で実行されるユーザコードに代わって、アプリケーションレベルのサービスを提供してよい。例えば、モニタリング/ロギング/ビリングサービス107は、ユーザコードが仮想コンピュートシステム110上で実行されることに代わって、様々な入力、出力、または他のデータ及びパラメータをモニタ及び/またはログしてよい。1つのブロックとして示されているが、モニタリング、ロギング、及びビリングサービス107は、別個のサービスとして提供されてもよい。モニタリング/ロギング/ビリングサービス107は、リソースマネージャ150が、仮想コンピュートシステム150上で様々なプログラムコードを実行するために使用されるリソースの適切な量を決定することを可能とするように、リソースマネージャ150と通信してよい。
いくつかの実施形態において、ワーカマネージャ140は、ワーカマネージャ140により管理されるインスタンス及びコンテナ(例えば、アクティブプール140Aにおけるこれら)に関するヘルスチェックを実施してよい。例えば、ワーカマネージャ140により実施されるヘルスチェックは、ワーカマネージャ140により管理されるインスタンス及びコンテナが、(1)不適切に構成されたネットワークキング及び/または起動構成、(2)枯渇したメモリ、(3)破損したファイルシステム、(4)互換性のないカーネル、及び/または、インスタンス及びコンテナのパフォーマンスを低下させ得る任意の他の問題のうちのいずれかの問題を有するかどうかを判定することを含んでよい。1つの実施形態において、ワーカマネージャ140は、周期的に(例えば、5分毎、30分毎、1時間毎、24時間毎等)ヘルスチェックを実行する。いくつかの実施形態において、ヘルスチェックの頻度は、ヘルスチェックの結果に基づいて自動的に調整されてよい。他の実施形態において、ヘルスチェックの頻度はユーザ要求に基づいて調整されてよい。いくつかの実施形態において、ワーカマネージャ140は、ウォーミングプール130Aにおけるインスタンス及び/またはコンテナに関する同様のヘルスチェックを実施してよい。ウォーミングプール130Aにおけるインスタンス及び/またはコンテナは、アクティブプール140Aにおけるこれらのインスタンス及びコンテナと一緒または別個のいずれかで管理されてよい。いくつかの実施形態において、ウォーミングプール130Aにおけるインスタンス及び/またはコンテナの健全性がアクティブプール140Aとは別個に管理される場合、ウォーミングプールマネージャ130が、ワーカマネージャ140の代わりに、ウォーミングプール130Aにおけるインスタンス及び/またはコンテナに関して上述のヘルスチェックを実施してよい。
リソースマネージャ150は、仮想コンピュートシステム110上でユーザコードを実行するための、入来する要求を処理するために割り当てられるリソースの量を管理する。例えば、リソースマネージャ150は、仮想コンピュートシステム110上で実行される様々なプログラムコードに割り当てられる(及び、様々なプログラムコードによって使用される)コンピュートキャパシティをモニタ及び管理するように、フロントエンド120、ウォーミングプールマネージャ130、ワーカマネージャ140、及び/または、補助サービス106と通信してよい。リソースマネージャ150が、仮想コンピュートシステム110内の別個の構成要素として示されているが、リソースマネージャ150の機能性の一部または全部は、フロントエンド120、ウォーミングプールマネージャ130、ワーカマネージャ140、及び/または、補助サービス106によって実施されてもよい。例えば、リソースマネージャ150は、仮想コンピュートシステム110の他の構成要素の1つ内で全面的に、または、仮想コンピュートシステム110の他の構成要素間に分散して、実行されてよい。図1の実施例において、リソースマネージャ150は、リソース管理データ150Aを含む。リソース管理データ150Aは、仮想コンピュートシステム110上で実行されるプログラムコードのパフォーマンス(例えば、割り当てられるリソースの利用)をモニタ、ログ、調整、改善、及び/または、最適化するように、入来する要求の履歴(例えば、特定のプログラムコードと関連した入来する要求の量、これらの要求が受信されるピーク時間等)、入来する要求によって指定されるリソースレベルの制約、入来する要求に割り当てられるリソースの量、入来する要求により実際に利用される、割り当てられたリソースの部分、及び、リソースマネージャ150により使用され得る任意の他の特性またはメトリックに関するデータを含んでよい。リソース管理データ150Aはまた、ユーザによって指定される、または、仮想コンピュートシステム110上でリソースを管理するためにリソースマネージャ150により決定される任意の管理ポリシーを含んでよく、これはさらに詳細に以下で説明される。
上述のように、要求それ自体が、要求と関連したプログラムコードを実行するために使用されるコンピューティングリソース(例えば、メモリ、CPU、ストレージ、ネットワークパケット等)の量を指定してよい。そのような要求が処理され、また、仮想マシンインスタンスが当該要求と関連したユーザに割り当てられた後、リソースマネージャ150は、同量のリソースでコンテナを作成することにより、要求において指定されたリソースの量を、要求に割り当ててよい。例えば、要求が、512MBのメモリが要求と関連したプログラムコードを実行するために使用されるべきであると指定する場合、リソースマネージャ150は、要求と関連したユーザに割り当てられる、インスタンス上で512MBのメモリサイズを有するコンテナを作成してよい。いくつかの実施形態において、要求、プログラムコード、またはユーザと関連した他の構成情報が、プログラムコードを実行するために使用されるコンピューティングリソースの量を指定してよい。このような構成情報は、要求と共に、または、要求とは別個のいずれかで、仮想コンピュートシステム110に提供されてよい。リソースマネージャ150は、要求と関連した特定のプログラムコードのためのデフォルト設定として、要求において指定されたリソースの量を維持してよく、仮想コンピュートシステム110上で処理される任意の後続の要求のために同量を使用してよい。いくつかの実施形態において、1つまたは複数の後続の要求が、デフォルトの量とは異なるリソースの量が、1つまたは複数の後続の要求に割り当てられるべきであることを示す場合、リソースマネージャ150は、1つまたは複数の後続の要求がそのようなデフォルト設定に優先することを可能にしてよい。例えば、後続の要求は、デフォルトの量を10%上回るリソースの量が、プログラムコードを実行するために後続の要求に割り当てられるべきであることを示してよい。代替的な量のリソースが、プログラムコードを実行するために後続の要求に割り当てられるべきであることを後続の要求が示すと判定すると、リソースマネージャ150は、そうした代替的な量のリソースを後続の要求に割り当てる。
いくつかの実施形態において、要求において指定されたリソースの量は、要求に割り当てられたリソースの実際の量と異なってもよい。例えば、いくつかのシナリオにおいて、仮想コンピュートシステム110は、要求において指定されたリソースの量を超える閾値パーセンテージである、或る量のリソースを、要求に割り当ててよい。他の状況において、仮想コンピュートシステム110は、要求において指定されたリソースの量より低い閾値パーセンテージである、或る量のリソースを、要求に割り当ててよい。特定のリソースをオーバーサブスクライブする(over‐subscribe)かまたはアンダーサブスクライブする(under‐subscribe)かは、特定のリソース、ユーザ、要求、及び/または、特定のリソースが提供される物理的なハードウェア(例えば、それと関連する任意のトレランスまたは差異)のタイプに基づいて判定されてよい。いくつかの実施形態において、要求に割り当てられるリソースの量は、特定のリソース、ユーザ、要求、及び/または、特定のリソースが提供される物理的なハードウェア(例えば、それと関連する任意のトレランスまたは差異)のタイプに基づいて判定される最大値(または、要求において指定された量を上回るパーセンテージ)より少なくてよく、及び/または、最小値(または、要求において指定された量を下回るパーセンテージ)よりも多くてよい。
いくつかの実施形態において、要求において指定される特定のタイプのリソース(例えば、メモリ)は、仮想コンピュートシステム110上で利用可能な他のタイプのリソースを割り当てるためのガイドラインとしての働きをする。例えば、512MBのメモリが、要求と関連したプログラムコードを実行するために使用されるべきであると要求が指定し、また、ユーザに割り当てられる、インスタンス上のメモリの全体の(例えば、物理的または仮想的な最大の)量または利用可能な(例えば、他のコンテナにより現在占有されていないリソース)量が2GBである場合、インスタンス上で利用可能な他のタイプのリソース(例えば、CPU、ストレージ、ネットワークパケット等)がまた、比例した量で割り当てられる(例えば、CPUの4分の1、ストレージの4分の1、ネットワークパケットの4分の1等がコンテナに割り当てられる)。一方で、ユーザに割り当てられる、インスタンス上のメモリの全体量または利用可能な量が1GBである場合、CPUの半分、ストレージの半分、ネットワークパケットの半分がコンテナに割り当てられるだろう。いくつかの実施形態において、要求により指定され得る、あるいは、コンテナに割り当てられ得るメモリの量は、64MBインクリメントにおいて、64MBから1GBの範囲に及ぶ。いくつかの実施形態において、他の量が、要求によって指定されてよく、及び/または、コンテナに割り当てられてよい。メモリが実施例として使用されたが、任意の他のリソースが選択されてもよく、また、要求を処理するために(例えば、プログラムコードを実行するために)割り当てられるべきリソース全ての量を設定するためのガイドラインとして使用されてもよい。いくつかの実施形態において、1つの形態のリソース(例えば、最も理解し易く、最もユーザフレンドリーであり、最もベーシックであり、絶対数において最大、または絶対数において最小のもの)が、全ての他の形態のリソースの代表であるように選択される。要求は、特定のタイプのリソースの量の代わりに、リソース全てを割り当てるために使用され得るパーセンテージを指定してもよい。さらに、要求は、1つよりも多いリソースの量を指定してよい。
いくつかの実施形態において、リソースマネージャ150は、新たなコンテナを作成し、且つ、指定された量のリソースをそうしたコンテナに割り当てる代わりに、指定された量のリソースを有する既存のコンテナを配置してよく、また、当該既存のコンテナにおいてプログラムコードを実行させてよい。既存のコンテナに割り当てられたリソースの量は、指定された量のリソースに正確に一致しないが、指定された量のリソースの閾値パーセンテージ以内にある。いくつかの実施形態において、リソースマネージャ150は、より少ないまたはより多い量のコンピューティングリソース(複数可)を割り当てることにより、既存のコンテナをリサイズしてよく、また、特定のプログラムコードと関連したプログラムコードに対処するように、調整されたリソースサイズを有する既存のコンテナを指定してよい。リソースマネージャ150が既存のコンテナを動的にリサイズし得るかどうかは、プログラムコードにより使用される言語ランタイムに依存してよい。例えば、Java(登録商標)ランタイムは動的なリサイジングが可能でなく、一方で、Python(登録商標)ランタイムは可能であろう。
指定された量のリソースを有するコンテナが作成または配置された後、要求と関連したプログラムコードがコンテナにおいて実行される。コンテナに割り当てられた(例えば、ユーザによって要求される)リソースの量、及び/または、プログラムコードにより実際に利用されたリソースの量は、さらなる分析のために、(例えば、モニタリング/ロギング/ビリングサービス107及び/またはリソースマネージャ150により)ログされてよい。例えば、ログされた情報は、コンテナにおいてプログラムコードの1つまたは複数の実行の間に使用される、メモリの量、CPUサイクルの量、ネットワークパケットの量、及びストレージの量を含んでよい。さらに、ログされた情報は、リソース利用、誤り率、レイテンシ、及び、プログラムコードの実行の間に発生する任意のエラーまたは例外を含んでよい。いくつかの実施形態において、コンテナに割り当てられるリソースの量に関連した任意のエラー(例えば、メモリ不足の例外)が、特別な印でタグ付けされ、リソースマネージャ150によってさらに分析される。
いくつかの実施形態において、リソースマネージャ150は、ユーザの多数のクラスを作成または利用してよく、また、ユーザの異なるクラスのために異なるルールを適用してよい。例えば、より高度なユーザには、一層の制御(例えば、個々のリソースパラメータの制御)が与えられてよく、一方で、その他のユーザには、彼らは、1つの代表的なパラメータのみを制御することが可能とされてよく、その他のパラメータは代表的なパラメータに基づいたサイズとされてよい。
いくつかの実施形態において、リソースマネージャ150は、モニタリング/ロギング/ビリングサービス107及び/またはリソースマネージャ150によりログされる情報に基づいて、ユーザに、プログラムコードのパフォーマンスを改善するため、または、仮想コンピュートシステム110上でのプログラムコードの実行と関連したコストを削減するため、ユーザが何をし得るか関していくつかのガイダンスを提供する。例えば、リソースマネージャ150は、メモリ不足の例外の繰り返される発生を経験した後、ユーザが常に、特定のユーザコードを実行するためにメモリ(または他のリソース)を過少に設定しているようであるという指示をユーザに提供してよい。同様に、特定のユーザコードの呼び出しが、慢性的に、それらに割り当てられるリソースのごく一部しか使用していないと判定した後、リソースマネージャ150は、ユーザがメモリ(または他のリソース)を過多に設定しているであろうという指示をユーザに提供してよい。指示は、特定のリソース(複数可)が調整されるべき量を指定してよい。いくつかの実施形態において、このような指示は、閾値数のエラー、例外、または他の明確な状況(例えば、レイテンシの増加)がリソースマネージャ150によって処理された後に、ユーザに提供される。リソースマネージャ150は、eメール、プッシュ通知サービス、SMS、ソーシャルネットワークサービス等を含む任意の通知機構を介して、指示を提供してよい。いくつかの実施形態において、リソースサイジング調整が必要とされるという指示は、1つまたは複数のリソースを調整すべき量が閾値の値またはパーセンテージを超える場合に、ユーザに提供される。例えば、リソースマネージャ150が、良好または最適のパフォーマンスを達成するために、ユーザにより指定されたメモリサイズを0.5%増加すべきであると判定する場合、リソースマネージャ150は、通知をユーザに全く送信しなくてもよいが、リソースマネージャ150が、良好または最適のパフォーマンスを達成するために、ユーザにより指定されたメモリサイズを10%増加すべきであると判定する場合、リソースマネージャ150は、通知をユーザに送信してよい。
いくつかの実施形態において、リソースマネージャ150は、プログラムコードの実行がリソースの要求量を超えることが可能とされる場合、制限されたオーバーサブスクリプションを提供してよい。例えば、要求が64MBのメモリを指定した場合、リソースマネージャ150は、プログラムコードが最大70または80MBのメモリを使用することを可能としてよい。このような場合、プログラムコードは正常に実行されてよいが、プログラムコードが、要求された量のメモリを超えており、また、プログラムコードを実行するための更なる要求が、より多い量のメモリを指定すべきであるという通知が、ユーザに提供されてよい。オーバーサブスクリプションは、閾値数の使用量の後、失効してよい。
いくつかの実施形態において、仮想コンピュートシステム110は、個々のコード実行要求に割り当てられるリソースの量を自動的に調整してよい。例えば、ユーザがリソースパラメータを指定し得る他の実施形態において、ユーザが適正な量のリソースを指定しそこなう場合、プログラムコードの実行は、パフォーマンス結果に悩まされることがある。例えば、要求が、64MBのメモリが、特定のプログラムコードを実行するために使用されるべきであると指定し、当該プログラムが、実際には実行のために1GBを必要とする場合、ユーザは、多くの問題に遭遇するおそれがある(例えば、プログラムコードが、単に実行できないおそれがある)。仮想コンピュートシステム110が、要求において指定されたリソースの量を調整するためにユーザに依拠する場合、問題がユーザによって対処されるまで、仮想コンピュートシステム110は、数千または数百万の失敗した要求を受信することがある。このようなシナリオにおいて、要求において指定されたリソースの量が不十分であると判定する際、リソースマネージャ150は、特定のプログラムコードを実行するための、入来する要求に割り当てられるリソースの量を自動的に調整してよい。いくつかの実施形態において、閾値数のエラー、例外、または他の明確な状況(例えば、レイテンシの増加)がリソースマネージャ150によって処理された後に、このような調整が成される。それゆえ、自動的なリソース調整がリソースマネージャ150によって成されても、最初のいくつかの要求は失敗することがあるが、後続の要求は、ユーザの介入を伴わなくとも、所望の結果を最終的に生成し得る。
いくつかの実施形態において、リソースマネージャ150は、個々のプログラムコードを実行するために、リソースサイジングを改善するようにコード特有の特性を利用してよい。例えば、画像処理を扱うプログラムコードは、多くのメモリを要求することがあり、一方で、データベースアクセスを作成するプログラムコードは、同量のメモリを必要としないであろう。別の実施例において、特定のプログラムコードにとっては、64MBが大抵の場合に十分であろうが、仮想コンピュートシステム110が、毎晩午後8時に、ユーザと関連したコード実行要求を一気に受信するかもしれず、このため、リソースマネージャ150は、ユーザと関連した要求に対処するコンテナ及び/またはインスタンスに、より多くのメモリを割り当てることがある。このようなコード特有の特性は、リソースマネージャ150によって維持されてよく、個々のプログラムコードのリソースサイジングは、それに応じて調整されてよい。
いくつかの実施形態において、リソースマネージャ150は、最大量のリソースをプログラムコードに初めに割り当ててよく、プログラムコードを実行した後に、プログラムコードが実際には最大量の1/10を使用しているとリソースマネージャ150が判定する場合、リソースマネージャ150は、プログラムコードを実行するための後続の要求に、最大量の半分を割り当ててよい。プログラムコードが最大量の1/10を使用しているとリソースマネージャ150が依然として判定する場合、リソースマネージャ150はさらに、プログラムコードに割り当てられたリソースの量を半分に削減してよい。プログラムコードがプログラムコードに割り当てられたリソースのかなりの部分(例えば、50%、75%、または別の閾値の値)を使用するまで、リソースマネージャ150はこうしたプロセスを繰り返してよい。
いくつかの実施形態において、ユーザは、リソースマネージャ150の挙動を規定するリソース管理ポリシーを指定してよい。例えば、実に価格に敏感なユーザは、そのようにすることが彼または彼女のコストを最小化する場合、喜んで時折のエラーを経験するままにするであろう。それゆえ、このようなユーザは、現在指定された量のリソースが、時折、メモリ不足エラーという結果となっても、彼または彼女のプログラムコードを実行するために割り当てられるリソースの量を増加させることを望まないことがある。一方で、非常にエラーに敏感なユーザは、エラーまたは誤り(例えば、メモリ不足エラー、非常に高いレイテンシ、またはいくつかの他の問題)が起こるのを回避するために、どんな手段を取るのも厭わないであろう。このようなユーザは、プログラムコードを実行するために割り当てられるリソースが時として過少利用されていても、彼または彼女のプログラムコードが遭遇するエラーの数を最小にすることを望むことがある。いくつかの実施形態において、ユーザは、コスト、利用、リソースの量等のストップリミット(例えば、下限及び/または上限)を指定してよい。ユーザは、そうしたストップリミットを、指定された時間期間でのみそれらが適用可能であるようにさらに限定してよい。例えば、ユーザは、ユーザがプログラムコードを実行させるのに費やしたい金額の最小量及び最大量を指定してよいが、ユーザは、各四半期の最終週の間、リミットが適用されるべきでないとさらに指定してよい。
いくつかの実施形態において、リソースマネージャ150は、一定のリソースを、そのようなリソースがコード実行要求によって十分に利用されていないとリソースマネージャ150が判定する場合、選択的にオーバーサブスクライブしてよい。例えば、リソースマネージャ150は、1GBのメモリを、4GBの仮想または物理メモリを有する仮想マシンインスタンス上の5つの異なるコンテナに割り当ててよい。オーバーサブスクリプションの程度は、1つのインスタンス上に作成されたこれらのコンテナが、インスタンスのリソースの最大量を集合的に使い切るかもしれない可能性に基づくものであってよい。いくつかの実施形態において、ユーザは、割引値段で、オーバーサブスクライブされたリソースの利用を選択するという選択肢を与えられてよい。
いくつかの実施形態において、要求は、任意のリソースレベルの制約を指定しなくてもよいが、代わりに、リソースの量が仮想コンピュートシステム110によって自動的に判定されること、及び、仮想コンピュートシステム110により判定されたリソースの量がユーザに伝えられること(例えば、この結果、ユーザは、ユーザの要求にサービスするために割り当てられているリソースの量を知る)を要求してよい。あるいは、要求は、ユーザコードを実行するために使用されるべきリソースの量を指定してよいが、また、要求された量のリソースが、コード実行パフォーマンスに著しく影響を及ぼすことなく、(例えば、他のユーザとそれをシェアすることにより)オーバーサブスクライブされ得ると仮想コンピュートシステム110が判定する場合、仮想コンピュートシステム110は、より少なく(例えば、指定された量のリソースが通常かかるコストよりも少なく)ユーザにチャージすることによって、そのようにし得ることを示してよい。
いくつかの実施形態において、特定のコンテナに割り当てられるリソースの量は、当該特定のコンテナを縮小または拡張することによって(例えば、既存のコンテナに割り当てられるリソースの量を修正することによって)調整される。あるいは、リソースの量は、調整された量のリソースを有する新たなコンテナを作成すること、及び、当該新たなコンテナに何らかの将来的な要求を提供することにより古いコンテナを消滅させることによって調整されてよい。いくつかの実施形態において、リサイジングは、プログラムコードにより使用される特定の言語ランタイムの特性に基づいて実施される。(例えば、動的なリソースリサイジングができるものもあれば、できないものもある)。
リソースマネージャ150は、ユーザコードを実行するのに使用されるコンテナをサイジングする(例えば、コンテナに割り当てられるべきリソースの量を決定する)ためのリソースサイジングユニットと、リソースの量を、仮にするとしてもどの程度調整すべきかに関する通知をユーザに提供するためのリソースガイダンスユニットとを含んでよい。リソースマネージャ150の例示的な構成が、図2を参照して以下でさらに詳細に説明される。
図2は、仮想コンピュートシステム110における仮想マシンインスタンスを管理するコンピューティングシステム(リソースマネージャ150と呼ばれる)の一般的なアーキテクチャを表す。図2に表されたリソースマネージャ150の一般的なアーキテクチャは、本開示の態様を実行するのに使用され得るコンピュータハードウェア及びソフトウェアモジュールの構成を含む。リソースマネージャ150は、図2に示したものよりもさらに多くの(または少ない)要素を含んでよい。しかしながら、可能な開示を提供するため、これらの一般に従来の要素の全てが示される必要はない。図示するように、リソースマネージャ150は、処理ユニット190、ネットワークインターフェース192、コンピュータ可読媒体ドライブ194、入力/出力デバイスインターフェース196を含み、それらの全てが、コミュニケーションバスを介して互いに通信してよい。ネットワークインターフェース192は、1つまたは複数のネットワークまたはコンピューティングシステムへの接続を提供してよい。処理ユニット190は、それゆえ、他のコンピューティングシステムまたはサービスから、ネットワーク104を介して情報及び命令を受信してよい。処理ユニット190はまた、メモリ180へ及びメモリ180から通信してよく、入力/出力デバイスインターフェース196を介して随意のディスプレイ(図示せず)のための出力情報をさらに提供してよい。入力/出力デバイスインターフェース196はまた、随意の入力デバイス(図示せず)から入力を受け取ってよい。
メモリ180は、本開示の1つまたは複数の態様を実行するために、処理ユニット190が実行する(いくつかの実施形態において、モジュールとしてグループ化された)コンピュータプログラム命令を含んでよい。メモリ180は、一般に、RAM、ROM、及び/または、他の永続的な、補助的または非一時的なコンピュータ可読媒体を含む。メモリ180は、リソースマネージャ150の一般的な管理及び操作において処理ユニット190による使用のためのコンピュータプログラム命令を提供するオペレーティングシステム184をストアしてよい。メモリ180はさらに、本開示の態様を実行するためのコンピュータプログラム命令及び他の情報を含んでよい。例えば、1つの実施形態において、メモリ180は、例えば、コンピューティングデバイスにインストールされたブラウザまたはアプリケーションなど、ナビゲーション及び/またはブラウジングインターフェースを介して、コンピューティングデバイス上に表示するためのユーザインターフェース(及び/またはそれに対する命令)を生成するユーザインターフェースユニット182を含む。加えて、メモリ180は、例えば、ユーザプログラムコード及び/またはライブラリにアクセスするために、1つまたは複数のデータリポジトリ(図示せず)を含んでよく、及び/または、これと通信してよい。
ユーザインターフェースユニット182に加えて、及び/または、それと関連して、メモリ180は、処理ユニット190により実行され得るリソースサイジングユニット186及びリソースガイダンスユニット188を含んでよい。1つの実施形態において、ユーザインターフェースユニット182、リソースサイジングユニット186、及びリソースガイダンスユニット188は、個々にまたは集合的に、さらに以下で説明するように、例えば、仮想コンピュートシステム110上でのプログラムコードの実行のモニタリング及びロギング、特定のコンテナ及び/または要求に割り当てられるリソースの量を調整する必要性を判定すること、リソースの量を調整する必要性に関してユーザに通知を提供すること、リソースの量を自動的に調整すること等、本開示の様々な態様を実行する。
リソースサイジングユニット186は、仮想コンピュートシステム110上でのユーザコードの実行をモニタし、ユーザコードを実行するために、指定された量のリソース有するコンテナを提供し、当該コンテナに割り当てられるリソースの量を調整する。例えば、リソースサイジングユニット186が、特定のプログラムコードを実行するための要求が常にメモリ不足エラーを受けていると判定する場合、リソースサイジングユニット186は、特定のプログラムコードを実行するための後続の要求に割り当てられるメモリの量を増加させてよい。一方で、リソースサイジングユニット186が、特定のプログラムコードを実行するための要求が常に、要求に割り当てられるリソースのごく一部しか使用していないと判定する場合、リソースサイジングユニット186は、特定のプログラムコードを実行するための後続の要求に割り当てられるメモリの量を減少させてよい。
リソースガイダンスユニット188は、ユーザと関連した要求にサービスするために割り当てられているリソースの量を調整する必要性に関して、ユーザに通知を提供する。例えば、通知は、ユーザが常に、特定のプログラムコードを実行するために、過少または過多である量を指定していることを示してよい。通知は、改善された、または最適のパフォーマンスのために、リソースの量をどの程度調整すべきかをさらに指定してよい。
リソースサイジングユニット186及びリソースガイダンスユニット188がリソースマネージャ150の一部として図2に示されているが、他の実施形態において、リソースサイジングユニット186及びリソースガイダンスユニット188の全てまたは一部は、仮想コンピュートシステム110及び/または別のコンピューティングデバイスの他の構成要素によって実行されてもよい。例えば、本開示の一定の実施形態において、仮想コンピュートシステム110と通信する別のコンピューティングデバイスは、リソースマネージャ150の一部として示されるモジュール及び構成要素と同様に作動するいくつかのモジュールまたは構成要素を含んでよい。
次に図3に注目すると、仮想コンピュートシステム110の1つまたは複数の構成要素(例えば、リソースマネージャ150)により実行されるルーチン300が説明される。ルーチン300が、リソースマネージャ150による実施態様に関して説明されるが、当業者は、代替的な構成要素がルーチン300を実行してよいこと、または、ブロックの1つまたは複数が、異なる構成要素により、もしくは分散して実行されてよいことを理解するであろう。
説明的なルーチン300のブロック302で、リソースマネージャ150は、仮想コンピュートシステム110上でプログラムコードを実行するための要求に基づいて、第1のコンピューティングリソースのユーザ指定の量を決定する。例えば、第1のコンピューティングリソースは、仮想コンピュートシステム110上でプログラムコードを実行するために使用され得る、メモリ、CPU、ディスク空間、または任意の他のコンピューティングリソースであってよい。仮想コンピュートシステム110上でプログラムコードを実行するための要求は、プログラムコードを実行するためにどのくらいのリソースを割り当てるべきかを示してよい。
次に、ブロック304で、リソースマネージャ150が、第1のコンピューティングリソースのユーザ指定の量に基づいて、第2のコンピューティングリソースの対応する量を決定する。例えば、リソースマネージャ150は、第1のコンピューティングリソースのユーザ指定の量と、要求に割り当てられ得る、第1のコンピューティングリソースの最大量との比を算出することにより、第2のコンピューティングリソースの対応する量を決定してよい。ユーザ指定の量が512MBのメモリであり、要求に割り当てられ得るメモリの最大量が1GBである場合、リソースマネージャ150は、対応する量は、要求に割り当てられ得る第2のコンピューティングリソースの最大量の2分の1とすべきであると判定してよい。例えば、第2のコンピューティングリソースがディスク空間であり、8GBのディスク空間が割り当てに利用可能である場合、リソースマネージャ150は、対応する量は4GBとすべきであると判定してよい。
ブロック306で、リソースマネージャ150は、第1のコンピューティングリソース(例えば、メモリ)のユーザ指定の量、及び、第2のコンピューティングリソース(例えば、ディスク空間)の対応する量を、プログラムコードを実行するために要求に割り当てる。上記の実施例において、リソースマネージャ150は、仮想コンピュートシステム上で利用可能な仮想マシンインスタンスの1つにコンテナを作成してよく、その場合、コンテナは512MBのメモリ及び4GBのディスク空間を割り当てられる。第1及び第2のコンピューティングリソースが図3の実施例において使用されたが、追加のリソースが使用されてもよく、そのような追加のリソースはまた、第1のコンピューティングリソースのユーザ指定の量と最大量との比に従ったサイズとされてよい。
図3のルーチン300がブロック302〜306を参照して上述されたが、本明細書において説明される実施形態は、そのように限定されず、1つまたは複数のブロックが、本開示の精神から逸脱することなく、省略、修正、または交換されてよい。
次に図4に注目すると、仮想コンピュートシステム110の1つまたは複数の構成要素(例えば、リソースマネージャ150)により実行されるルーチン400が説明される。ルーチン400が、リソースマネージャ150による実施態様に関して説明されるが、当業者は、代替的な構成要素がルーチン400を実行してよいこと、または、ブロックの1つまたは複数が、異なる構成要素により、もしくは分散して実行されてよいことを理解するであろう。
説明的なルーチン400のブロック402で、リソースマネージャ150は、仮想コンピュートシステム110上でプログラムコードを実行するための要求に基づいて、コンピューティングリソースのユーザ指定の量を決定する。例えば、コンピューティングリソースは、仮想コンピュートシステム110上でプログラムコードを実行するために使用され得る、メモリ、CPU、ディスク空間、または任意の他のコンピューティングリソースであってよい。ユーザ指定の量は特定のリソース(例えば、メモリ)の量であってよく、そうした特定のリソースの量は、プログラムコードを実行するためにどのくらいの特定のリソースを割り当てるべきかを指定する要求において示される(例えば、要求に含まれ、あるいは、要求に含まれる情報に基づいて判定可能である)。例えば、プログラムコードの開発者は、コード実行要求において、彼または彼女のプログラムコードを実行するためにどのくらいのメモリ(または他のコンピューティングリソース)を割り当てるべきかを指定してよい。
次に、ブロック404で、リソースマネージャ150は、プログラムコードを実行するためにコンピューティングリソースのユーザ指定の量を割り当てる。例えば、リソースマネージャ150は、ユーザと関連し、且つ、アクティブプール140A内にあるインスタンスにおいて、コンピューティングリソースのユーザ指定の量を有するコンテナを作成してよい。別の実施例において、リソースマネージャ150は、ウォーミングプール130Aからインスタンスを選択し、当該選択されたインスタンスをユーザに割り当て、当該選択されたインスタンスにおいて、コンピューティングリソースのユーザ指定の量を有するコンテナを作成してよい。
ブロック406で、リソースマネージャ150は、プログラムコードの1つまたは複数の実行の間、プログラムコードによるコンピューティングリソースの使用量をモニタする。例えば、リソースマネージャ150は、プログラムコードを、要求に対処するように指定されたコンテナ上にロードさせてよく、また、プログラムコードを当該コンテナにおいて実行させてよい。リソースマネージャ150は、プログラムコードの1つまたは複数の実行の間、1つまたは複数のパフォーマンス特性をモニタしてよい。このようなパフォーマンス特性は、誤り率、リソース利用、レイテンシ、使用されるリソースの%、ユーザにより要求されるリソースの%等を含んでよい。
ブロック408で、リソースマネージャ150は、プログラムコードによるコンピューティングリソースの使用量をユーザ指定の量と比較し、ブロック410で、リソースマネージャ150は、当該比較に基づいて、プログラムコードを実行するために割り当てられる、コンピューティングリソースのユーザ指定の量を調整すべきであると判定する。例えば、ユーザが512MBのメモリを要求したが、プログラムコードの1つまたは複数の実行の間、平均して64MBしか使用されなかった場合、リソースマネージャ150は、ユーザ指定の量が、プログラムコードのパフォーマンスに著しく影響を及ぼすことなく削減され得ると判定してよい。一方で、ユーザが512MBのメモリを要求し、また、プログラムコードの1つまたは複数の実行の間、要求された量のほとんど全てが使用中であった場合、リソースマネージャ150は、過剰利用の問題を解決するために、ユーザ指定の量を増加すべきであると判定してよい。
ブロック412で、リソースマネージャ150は、ユーザ指定の量をどの程度調整すべきかという指示を提供する。例えば、リソースマネージャ150は、ユーザ指定の量を適切な量だけ増加または削減すべきであることを示すeメール通知をユーザに提供してよい。
図4のルーチン400がブロック402〜412を参照して上述されたが、本明細書において説明される実施形態はそのように限定されず、1つまたは複数のブロックが、本開示の精神から逸脱することなく、省略、修正、または交換されてよい。例えば、ルーチン400が1つのコンピューティングリソース(例えば、メモリ)に関して説明されたが、同様の技法は、残りのリソース次元(例えばCPU、ネットワーク、ディスク等)のそれぞれ上で実行されてよい。さらに、ルーチン400が、リソースベースで、1つのコンピューティングリソースをモニタ及び比較(例えば、要求された量のメモリ対実際に使用された量のメモリの比較、要求された量の処理能力対実際に使用された量の処理能力の比較等)するものとして説明されたが、同様の技法は、複合物ベースでルーチン400を実施するのに使用されてもよい。例えば、リソースマネージャ150は、要求と関連した最も制約されたリソースの、要求されたまたは割り当てられた量を、要求と関連した、プログラムコードにより使用される最も制約されたリソースの実際の量と比較してよく、また、最も制約されたリソースの要求されたまたは割り当てられた量が、プログラムコードにより使用される最も制約されたリソースの実際の量より少ないまたはより多い閾値パーセンテージ内にある場合、ブロック412における指示が、ユーザに提供されてよい。別の実施例において、リソースマネージャ150は、リソース次元のそれぞれについての利用の平均的なパーセンテージを算出してよく、平均的なパーセンテージが閾値利用値より低いまたはより高い場合(例えば、10%より低い、90%より高い等)、ユーザに指示を提供してよい。ユーザに提供される指示はまた、コンピューティングリソースのそれぞれの過剰使用または過少使用の分析を含んでよい。例えば、リソースマネージャ150は、次を述べる指示を提供してよい。「貴殿は現在、512MBのリソースサイジングダイアルをお持ちです。貴殿はそれ以上のメモリを使用したことがないので、これはメモリパフォーマンスに適したものです。しかしながら、弊社は、貴殿が現在の設定でネットワークリソースをたびたび使い果たしていると通知してきました。貴殿は、一層多くのネットワークリソースを獲得し、改善されたコード実行パフォーマンスを達成するために、リソースサイジングダイアルを10%増加するとよいでしょう。」
次に図5に注目すると、仮想コンピュートシステム110の1つまたは複数の構成要素(例えば、リソースマネージャ150)により実行されるルーチン500が説明される。ルーチン500が、リソースマネージャ150による実施態様に関して説明されるが、当業者は、代替的な構成要素がルーチン500を実行してよいこと、または、ブロックの1つまたは複数が異なる構成要素により、または分散して実行されてよいことを理解するであろう。
説明的なルーチン500のブロック502で、リソースマネージャ150は、プログラムコードを実行するためにコンピューティングリソースの第1の量を割り当てる。例えば、リソースマネージャ150は、ユーザと関連し、且つ、アクティブプール140A内にあるインスタンスにおいて、コンピューティングリソースの第1の量を有するコンテナを作成してよい。別の実施例において、リソースマネージャ150は、ウォーミングプール130Aからインスタンスを選択し、当該選択されたインスタンスをユーザに割り当て、当該選択されたインスタンスにおいてコンピューティングリソースの第1の量を有するコンテナを作成してよい。コンピューティングリソースは、仮想コンピュートシステム110上でプログラムコードを実行するために使用され得る、メモリ、CPU、ディスク空間、または任意の他のコンピューティングリソースであってよい。第1の量は、要求に含まれる情報、及び/または、要求に含まれるそうした情報に基づいて確認可能な情報に基づいて、リソースマネージャ150よって判定されてよい。このような情報は、プログラムコード、ユーザタイプ(例えば、大規模ユーザまたは小規模ユーザ)、プログラムコードの特性(例えば、回線の数、高額通話の数等)等をコード化するのに使用されるプログラミング言語を含んでよい。
次に、ブロック504で、リソースマネージャ150は、プログラムコードの1つまたは複数の実行の間、プログラムコードによるコンピューティングリソースの使用量をモニタしてよい。例えば、リソースマネージャ150は、プログラムコードを、要求に対処するように指定されたコンテナ上にロードさせてよく、また、プログラムコードを当該コンテナにおいて実行させてよい。リソースマネージャ150は、プログラムコードの1つまたは複数の実行の間、1つまたは複数のパフォーマンス特性をモニタしてよい。このようなパフォーマンス特性は、誤り率、リソース利用、レイテンシ、使用されるリソースの%、ユーザにより要求されるリソースの%等を含んでよい。
ブロック506で、リソースマネージャ150は、プログラムコードによるコンピューティングリソースの使用量に基づいて、プログラムコードを実行するために割り当てられるコンピューティングリソースの第1の量を調整すべきであると判定する。例えば、ブロック502で512MBのメモリがプログラムコードを実行するために割り当てられたが、プログラムコードの1つまたは複数の実行の間、平均して64MBしか使用されなかった場合、リソースマネージャ150は、プログラムコードを実行するために割り当てられ量が、プログラムコードのパフォーマンスに著しく影響を及ぼすことなく削減され得ると判定してよい。一方で、512MBのメモリがプログラムコードを実行するために割り当てられ、また、プログラムコードの1つまたは複数の実行の間、割り当てられた量のほとんど全てが使用中であった場合、リソースマネージャ150は、過剰利用の問題を解決するために、プログラムコードを実行するために割り当てられた量を増加すべきであると判定してよい。
ブロック508で、リソースマネージャ150は、第1の量とは異なる、コンピューティングリソースの第2の量を決定し、ブロック510で、リソースマネージャ150は、プログラムコードを実行するためにコンピューティングリソースの第2の量を割り当てる。512MBが割り当てられ、且つ、64MBが平均して使用された実施例において、リソースマネージャ150は、割り当てられたメモリの量が、プログラムコードのパフォーマンスに影響を及ぼすことなく128MBに安全に削減され得ると判定してよく、また、プログラムコードを実行するために(例えば、プログラムコードの将来的な実行のために)128MBを割り当ててよい。
図5のルーチン500がブロック502〜512を参照して上述されたが、本明細書において説明される実施形態はそのように限定されず、1つまたは複数のブロックが、本開示の精神から逸脱することなく、省略、修正、または交換されてよい。例えば、図4に関して述べられたように、ルーチン500が1つのコンピューティングリソース(例えば、メモリ)に関して説明されたが、同様の技法は、残りのリソース次元(例えば、CPU、ネットワーク、ディスク等)のそれぞれ上で実施されてよい。さらに、ルーチン500は、リソースベースで、1つのコンピューティングリソースをモニタ及び比較(例えば、現在割り当てられた量のメモリ対実際に使用された量のメモリの比較、現在割り当てられた量の処理能力対実際に使用された量の処理能力の比較等)するものとして説明されたが、同様の技法は、複合物ベースでルーチン500を実施するのに使用されてもよい。例えば、リソースマネージャ150は、要求と関連した最も制約されたリソースの、要求されたまたは割り当てられた量を、要求と関連した、プログラムコードにより使用される最も制約されたリソースの実際の量と比較してよく、また、ブロック506における決定は、最も制約されたリソースの要求されたまたは割り当てられた量が、プログラムコードにより使用される最も制約されたリソースの実際の量より少ないまたはより多い閾値パーセンテージ内にあるかどうかに基づくものであってよい。別の実施例において、リソースマネージャ150は、リソース次元のそれぞれについての利用の平均的なパーセンテージを算出してよく、また、平均的なパーセンテージが閾値利用値より低いまたはより高いかどうか(例えば、10%より低い、90%より高い等)に基づいて決定してよい。
図6〜図8を参照すると、例示的な実施形態に従った、リソースマネージャ150により実施されるリソースリサイジングが示される。図6の実施例において、コンテナ158Aが、特定のプログラムコードと関連した入来するコード実行要求を処理するために利用されている。図6に示すように、コンテナ158Aは、平均的なリソース利用が27%である。例えば、特定のプログラムコードは、コンテナ158Aにおける特定のプログラムコードの1つまたは複数の実行の間、コンテナ158Aに割り当てられたリソース(複数可)のうちの27%を利用している。リソースマネージャ150は、リソース利用を閾値の値(例えば、75%)と比較してよく、また、現在のリソース利用は少な過ぎであり、コンテナ158Aに割り当てられたリソース(複数可)の量を削減すべきであると判定してよい。
図7において、リソースマネージャ150は、特定のプログラムコードを実行するために、コンテナ158Aに割り当てられたリソース(複数可)の量を(例えば、インスタンス158と関連したユーザの要求で、または、利用に基づいてリソースマネージャ150により成される判定に基づいて)削減しており、リソース利用は、コンテナ158Aにおける特定のプログラムコードの1つまたは複数の追加の実行の後、40%に増加している。既存のコンテナ(例えば、コンテナ158A)のリソースサイジングが調整されたが、別の実施形態において、そこに割り当てられるリソース(複数可)の調整された量を有する新たなコンテナが代わりに作成されてもよく、既存のコンテナは空にされてもよい。図8に示すように、コンテナ158Aに割り当てられたリソース(複数可)の量は、さらに、リソース利用を80%に改善するように調整されている。リソースマネージャ150は、リソース利用レベルを閾値の値(例えば75%)と比較して、さらなるリソースリサイジングは必要でないと判定してよく、また、リソースマネージャ150が、さらなるリサイジングが必要とされると後に判定するまで、コンテナ158Aのリソースレベルを現在のレベルで維持してよい。図6〜図8に示した他の構成要素は図1に示したものと同一であり、それゆえ、その詳細は簡潔さのために省略される。
図9〜図11を参照すると、別の例示的な実施形態に従った、リソースマネージャ150により実施されるリソースリサイジングが示される。図9の実施例において、コンテナ159Aは、特定のプログラムコードと関連した入来するコード実行要求を処理するために利用されている。図9に示すように、コンテナ159Aは、平均的な誤り率が90%である。例えば、特定のプログラムコードの実行の90%が、1つまたは複数のエラーを生成したおそれがあり、または、正常に実行するのに失敗したおそれがある。リソースマネージャ150は、リソース利用を閾値の値(例えば、5%)と比較してよく、また、現在の誤り率が高すぎであり、コンテナ159Aに割り当てられたリソース(複数可)の量を増加すべきであると判定してよい。
図10において、リソースマネージャ150は、特定のプログラムコードを実行するために、コンテナ159Aに割り当てられたリソース(複数可)の量を(例えば、インスタンス159と関連したユーザの要求で、または、誤り率に基づいてリソースマネージャ150により成される判定に基づいて)増加しており、誤り率は、コンテナ159Aにおける特定のプログラムコードの1つまたは複数の追加の実行の後、20%まで減少している。既存のコンテナ(例えば、コンテナ159A)のリソースサイジングが調整されたが、別の実施形態において、そこに割り当てられるリソース(複数可)の調整された量を有する新たなコンテナが代わりに作成されてもよく、既存のコンテナは空にされてもよい。図11に示すように、コンテナ159Aに割り当てられたリソース(複数可)の量は、誤り率を3%に改善するためにさらに調整されている。リソースマネージャ150は、誤り率を閾値の値(例えば、5%)と比較して、さらなるリソースリサイジングは必要でないと判定してよく、また、リソースマネージャ150が、さらなるリサイジングが必要とされると後に判定するまで、コンテナ159Aのリソースレベルを現在のレベルで維持してよい。図9〜図11に示した他の構成要素は、図1に示したものと同一であり、それゆえ、その詳細は簡潔さのために省略される。
本開示において説明された機能の全てが、開示された構成要素の1つまたは複数の物理的なプロセッサ及びモバイル通信デバイスにより実行されるソフトウェアにおいて具体化されてよいことが、当業者または他の者によって理解される。ソフトウェアは、任意のタイプの不揮発性ストレージに永続的に記憶されてよい。
とりわけ「can」、「could」、「might」、または「may」などの条件付きの言い回しは、そうではないと明確に述べられる場合を除き、あるいは、使用される文脈において理解される場合を除き、概して、一定の実施形態が、他の実施形態が含まない一定の特徴、要素、及び/または、ステップを含むことを伝えるように意図される。それゆえ、そのような条件付きの言い回しは、概して、特徴、要素、及び/または、ステップが1つまたは複数の実施形態に多少なりとも必要とされること、または、1つまたは複数の実施形態が、ユーザ入力またはプロンプトにより、またはそれらを伴わずに、これらの特徴、要素、及び/または、ステップが、任意の特定の実施形態において含まれるかどうか、または実行すべきものであるかどうかを決定するための論理を必ず含むことを暗示するように意図されない。
本明細書において説明される流れ図における、及び/または、添付の図面に表された、いずれのプロセスの説明、要素、またはブロックも、プロセスにおける特定の論理的機能またはステップを実行するための1つまたは複数の実行可能な命令を含むコードのモジュール、セグメント、または一部を潜在的に示すものとして理解すべきである。代替的な実施態様が、本明細書において説明される実施形態の範囲内に含まれ、代替的な実施形態において、当業者に理解されるように、含まれる機能性に応じて、要素または機能が削除されてもよく、実質的に同時実行または逆の順番を含め、図示または説明されたもとは違う順番で実行されてもよい。上述のデータ及び/または構成要素は、コンピュータ可読媒体にストアされてよく、また、CD‐ROM、DVD‐ROM、またはネットワークインターフェースなどのコンピュータにより実行可能な構成要素をストアするコンピュータ可読ストレージ媒体と関連した駆動機構を使用してコンピューティングデバイスのメモリにロードされてよいことがさらに理解されよう。さらに、構成要素及び/またはデータは1つのデバイスに含まれてもよく、または、任意の方法で分散されてもよい。従って、汎用のコンピューティングデバイスは、上述の様々なデータ及び/または構成要素の処理及び/または実行により、本開示のプロセス、アルゴリズム及び方法論を実行するように構成されてよい。
上述の実施形態に対して多くの変形または修正が成されてよく、それらの要素が、他の許容可能な実施例に存在するものとして理解すべきであることを強調すべきである。全てのそのような修正及び変形は、本明細書において、本開示の範囲内に含まれるように、及び、以下の特許請求の範囲によって保護されるように意図される。

Claims (20)

  1. システムであって、
    仮想コンピュートシステムを含み、前記仮想コンピュートシステムが、特定のコンピュータにより実行可能な命令を実行する1つまたは複数のハードウェアコンピューティングデバイスを含み、且つ、少なくとも、
    1つまたは複数の物理的なコンピューティングデバイス上で複数の仮想マシンインスタンスを保守し、
    前記仮想コンピュートシステム上でユーザと関連したプログラムコードを実行するため、前記プログラムコードと、前記プログラムコードに関連した前記ユーザと、前記プログラムコードを実行するために使用される前記仮想コンピュートシステムで使用可能なコンピューティングリソースの第1の量と、を示す情報を含む要求を受信し
    前記プログラムコードを実行するために使用される、前記複数の仮想マシンインスタンスから、少なくとも前記第1の量のコンピューティングリソースを有する、仮想マシンインスタンスを選択し、
    前記選択された仮想マシンインスタンスにおいて、前記コンピューティングリソースの第1の量を有するコンテナを作成し
    前記ユーザと関連した前記プログラムコードを、前記コンテナ上へロードさせて、前記コンテナにおいて実行させ、
    前記選択された仮想マシンインスタンスにおいて作成された前記コンテナにおいて、前記プログラムコードを実行する間、前記プログラムコードによる前記コンピューティングリソースの使用量をモニタし、
    前記プログラムコードによる前記コンピューティングリソースの前記使用量に基づいて、前記要求で示された第1の量が前記プログラムコードを実行するための閾値のリソース調整条件を満たすか否か判定し、
    プログラムコードと、前記プログラムコードに関連した前記ユーザと、前記プログラムコードを実行するために使用される前記仮想コンピュートシステムで使用可能なコンピューティングリソースの第1の量と、を示す情報を含む後続の要求を受け取ったことに応答し、前記選択した仮想マシンインスタンスに、前記後続の要求で示された前記第1の量とは異なるコンピューティングリソースの第2の量を有する、追加のコンテナを作成し、
    前記コンピューティングリソースの前記第2の量を有する前記追加のコンテナで、前記プログラムコードを実行させる
    ように構成される、前記システム。
  2. 請求項に記載のシステムであって、前記仮想コンピュートシステムさらに、
    前記要求で示されたユーザ指定の量、または前記要求、前記プログラムコードまたは前記仮想コンピュートシステム上で前記プログラムコードを実行する前記ユーザに関連する他の構成情報に基づいて、前記第1の量を決定し、
    前記プログラムコードによる前記コンピューティングリソースの前記使用量、前記要求において示された前記ユーザ指定の量と比較し、
    前記第1の量をどの程度調整すべきかという指示を提供する
    ように構成される、前記システム。
  3. 請求項に記載のシステムであって、前記指示を提供することが、(a)前記第1の量を増加すべきであると示すこと、(b)前記第1の量を、第1の調整量だけ増加すべきであると示すこと、(c)前記第1の量を削減すべきであると示すこと、または、(d)前記第1の量を、第2の調整量だけ削減すべきであると示すこと、のうちの1つを含む、前記システム。
  4. 請求項に記載のシステムであって、前記仮想コンピュートシステムさらに、
    前記プログラムコードによる前記コンピューティングリソースの前記使用量に基づいて第2の量を決定する ように構成される、前記システム。
  5. 請求項に記載のシステムであって、前記仮想コンピュートシステムは、前記プログラムコードと関連したユーザにより指定された閾値範囲内にあるように、前記第2の量を決定するように構成される、前記システム。
  6. 請求項に記載のシステムであって、前記仮想コンピュートシステム、前記プログラムコードによる前記コンピューティングリソースの前記使用量が、最大の過剰量よりも少ない過剰量だけ前記第1の量を超えることを可能にするようにさらに構成される、前記システム。
  7. 請求項2に記載のシステムであって、前記仮想コンピュートシステムはさらに、閾値利用値より低いまたはより高い場合における平均パーセンテージに基づき、指示を提供するように構成される、前記システム。
  8. コンピュータにより実行される方法であって、
    特定の実行可能な命令を備えて構成される1つまたは複数のコンピューティングデバイスによって実行される場合、
    1つまたは複数の物理的なコンピューティングデバイス上で複数の仮想マシンインスタンスを保守することと、
    プログラムコードと、前記プログラムコードに関連したユーザと、前記プログラムコードを実行するために使用される仮想コンピュートシステムで使用可能なコンピューティングリソースの第1の量と、を示す情報を含む、前記仮想コンピュートシステム上で、前記ユーザと関連したプログラムコードを実行するための要求を受信することと、
    前記プログラムコードを実行するために使用される、前記複数の仮想マシンインスタンスから、少なくとも前記第1の量のコンピューティングリソースを有する、仮想マシンインスタンスを選択することと、
    前記選択された仮想マシンインスタンスにおいて、前記コンピューティングリソースの第1の量を有するコンテナを作成することと、
    前記ユーザと関連した前記プログラムコードを、前記コンテナ上へロードさせて、前記コンテナにおいて実行させることと、
    前記選択された仮想マシンインスタンスにおいて作成された前記コンテナにおいて、前記プログラムコードを実行する間、前記プログラムコードによる前記コンピューティングリソースの使用量をモニタすることと、
    前記プログラムコードによる前記コンピューティングリソースの前記使用量に基づいて、前記要求で示された第1の量が前記プログラムコードを実行するための閾値のリソース調整条件を満たすと判定することと、
    プログラムコードと、前記プログラムコードに関連した前記ユーザと、前記プログラムコードを実行するために使用される前記仮想コンピュートシステムで使用可能なコンピューティングリソースの第1の量と、を示す情報を含む後続の要求を受け取ったことに応答し、前記選択した仮想マシンインスタンスに、前記後続の要求で示された前記第1の量とは異なるコンピューティングリソースの第2の量を有する、追加のコンテナを作成することと、
    前記コンピューティングリソースの前記第2の量を有する前記追加のコンテナで、前記プログラムコードを実行させることと、
    を含む、前記方法。
  9. 請求項に記載のコンピュータにより実行される方法であって、さらに、
    前記要求で示されたユーザ指定の量、または前記要求、前記プログラムコードまたは前記仮想コンピュートシステム上で前記プログラムコードを実行する前記ユーザに関連する他の構成情報に基づいて、前記第1の量を決定することと、
    前記プログラムコードによる前記コンピューティングリソースの前記使用量、前記要求において示された前記ユーザ指定の量とを比較することと、
    前記第1の量をどの程度調整すべきかという指示を提供することと、
    を含む、前記方法。
  10. 請求項に記載のコンピュータにより実行される方法であって、前記指示を提供することが、(a)前記第1の量を増加すべきであると示すこと、(b)前記第1の量を、第1の調整量だけ増加すべきであると示すこと、(c)前記第1の量を削減すべきであると示すこと、または、(d)前記第1の量を、第2の調整量だけ削減すべきであると示すこと、のうちの1つを含む、前記方法。
  11. 請求項に記載のコンピュータにより実行される方法であって、さらに、
    前記プログラムコードによる前記コンピューティングリソースの前記使用量に基づいて前記第2の量を決定することと、 を含む、前記方法。
  12. 請求項11に記載のコンピュータにより実行される方法であって、前記第2の量を決定すること、前記プログラムコードと関連したユーザにより指定された閾値範囲内にあるように、前記第2の量を決定することを含む、前記方法。
  13. 請求項に記載のコンピュータにより実行される方法であって、さらに、前記プログラムコードによる前記コンピューティングリソースの前記使用量が、最大の過剰量よりも少ない過剰量だけ前記第1の量を超えることを可能にすることを含む、前記方法。
  14. 請求項9に記載のコンピュータにより実行される方法であって、前記仮想コンピュートシステムはさらに、閾値利用値より低いまたはより高い場合における平均パーセンテージに基づき、指示を提供するように構成される、前記方法。
  15. コンピュータにより実行可能な命令を保存する、非一時的コンピュータ可読記憶媒体であって、当該命令が、1つまたは複数のコンピューティングデバイスによって実行される場合、前記1つまたは複数のコンピューティングデバイスに、
    1つまたは複数の物理的なコンピューティングデバイス上で複数の仮想マシンインスタンスを保守することと、
    プログラムコードと、前記プログラムコードに関連したユーザと、前記プログラムコードを実行するために使用される仮想コンピュートシステムで使用可能なコンピューティングリソースの第1の量と、を示す情報を含む、前記仮想コンピュートシステム上で前記ユーザと関連したプログラムコードを実行するための要求を受信することと、
    前記プログラムコードを実行するために使用される、前記複数の仮想マシンインスタンスから、少なくとも前記第1の量のコンピューティングリソースを有する、仮想マシンインスタンスを選択することと、
    前記選択された仮想マシンインスタンスにおいて、前記コンピューティングリソースの第1の量を有するコンテナを作成することと、
    前記ユーザと関連した前記プログラムコードを、前記コンテナ上へロードさせて、前記コンテナにおいて実行させることと、
    前記選択された仮想マシンインスタンスにおいて作成された前記コンテナにおいて、前記プログラムコードを実行する間、前記プログラムコードによる前記コンピューティングリソースの使用量をモニタすることと、
    前記プログラムコードによる前記コンピューティングリソースの前記使用量に基づいて、前記要求で示された第1の量が前記プログラムコードを実行するための閾値のリソース調整条件を満たすと判定することと、
    プログラムコードと、前記プログラムコードに関連した前記ユーザと、前記プログラムコードを実行するために使用される前記仮想コンピュートシステムで使用可能なコンピューティングリソースの第1の量と、を示す情報を含む追加要求を受け取ったことに応答し、前記選択した仮想マシンインスタンスに、前記追加要求で示された前記第1の量とは異なるコンピューティングリソースの第2の量を有する、追加のコンテナを作成することと、
    前記コンピューティングリソースの前記第2の量を有する前記追加のコンテナで、前記プログラムコードを実行させることと、
    を含む動作を実施するように構成される、非一時的コンピュータ可読記憶媒体。
  16. 請求項15に記載の非一時的コンピュータ可読記憶媒体であって、前記動作さらに、
    前記要求で示されたユーザ指定の量、または前記要求、前記プログラムコードまたは前記仮想コンピュートシステム上で前記プログラムコードを実行する前記ユーザに関連する他の構成情報に基づいて、前記第1の量を決定することと、
    前記プログラムコードによる前記コンピューティングリソースの前記使用量、前記要求において示された前記ユーザ指定の量と比較することと、
    前記第1の量をどの程度調整すべきかという指示を提供することと、
    を含む、前記非一時的コンピュータ可読記憶媒体
  17. 請求項16に記載の非一時的コンピュータ可読記憶媒体であって、前記指示を提供することが、(a)前記第1の量を増加すべきであると示すこと、(b)前記第1の量を、第1の調整量だけ増加すべきであると示すこと、(c)前記第1の量を削減すべきであると示すこと、または、(d)前記第1の量を、第2の調整量だけ削減すべきであると示すこと、のうちの1つを含む、非一時的コンピュータ可読記憶媒体
  18. 請求項15に記載の非一時的コンピュータ可読記憶媒体であって、前記動作さらに、
    前記プログラムコードによる前記コンピューティングリソースの前記使用量に基づいて前記第2の量を決定することと、
    を含む、前記非一時的コンピュータ可読記憶媒体
  19. 請求項18に記載の非一時的コンピュータ可読記憶媒体であって、前記第2の量を決定すること、前記プログラムコードと関連したユーザにより指定された閾値範囲内にあるように、前記第2の量を決定することを含む、前記非一時的コンピュータ可読記憶媒体
  20. 請求項15に記載の非一時的コンピュータ可読記憶媒体であって、前記動作がさらに、前記プログラムコードによる前記コンピューティングリソースの前記使用量が、最大の過剰量よりも少ない過剰量だけ前記第1の量を超えることを可能にすることを含む、前記非一時的コンピュータ可読記憶媒体
JP2017529618A 2014-12-05 2015-12-04 リソースサイジングの自動管理システム、方法及び非一時的コンピュータ可読記憶媒体 Active JP6522128B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/562,577 2014-12-05
US14/562,577 US9413626B2 (en) 2014-12-05 2014-12-05 Automatic management of resource sizing
PCT/US2015/064071 WO2016090292A1 (en) 2014-12-05 2015-12-04 Automatic management of resource sizing

Publications (2)

Publication Number Publication Date
JP2018503896A JP2018503896A (ja) 2018-02-08
JP6522128B2 true JP6522128B2 (ja) 2019-05-29

Family

ID=54884435

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017529618A Active JP6522128B2 (ja) 2014-12-05 2015-12-04 リソースサイジングの自動管理システム、方法及び非一時的コンピュータ可読記憶媒体

Country Status (6)

Country Link
US (4) US9413626B2 (ja)
EP (1) EP3227781B1 (ja)
JP (1) JP6522128B2 (ja)
CN (1) CN107209682B (ja)
CA (1) CA2969812C (ja)
WO (1) WO2016090292A1 (ja)

Families Citing this family (155)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5682709B2 (ja) * 2011-07-04 2015-03-11 富士通株式会社 配置設計プログラム及び方法、並びに情報処理装置
US9830193B1 (en) 2014-09-30 2017-11-28 Amazon Technologies, Inc. Automatic management of low latency computational capacity
US9678773B1 (en) 2014-09-30 2017-06-13 Amazon Technologies, Inc. Low latency computational capacity provisioning
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
US9323556B2 (en) 2014-09-30 2016-04-26 Amazon Technologies, Inc. Programmatic event detection and message generation for requests to execute program code
US10048974B1 (en) 2014-09-30 2018-08-14 Amazon Technologies, Inc. Message-based computation request scheduling
US9600312B2 (en) 2014-09-30 2017-03-21 Amazon Technologies, Inc. Threading as a service
US9413626B2 (en) 2014-12-05 2016-08-09 Amazon Technologies, Inc. Automatic management of resource sizing
US9733967B2 (en) 2015-02-04 2017-08-15 Amazon Technologies, Inc. Security protocols for low latency execution of program code
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
US9733987B2 (en) * 2015-02-20 2017-08-15 Intel Corporation Techniques to dynamically allocate resources of configurable computing resources
US10484297B1 (en) 2015-03-16 2019-11-19 Amazon Technologies, Inc. Automated migration of compute instances to isolated virtual networks
US9749446B1 (en) * 2015-03-16 2017-08-29 Symantec Corporation Method for consolidated environment computing
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
US9910706B2 (en) * 2015-08-18 2018-03-06 International Business Machines Corporation Managing asset placement with respect to a shared pool of configurable computing resources
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
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
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
US9811434B1 (en) 2015-12-16 2017-11-07 Amazon Technologies, Inc. Predictive management of on-demand code execution
US9830175B1 (en) 2015-12-16 2017-11-28 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
US10032032B2 (en) 2015-12-18 2018-07-24 Amazon Technologies, Inc. Software container registry inspection
US10002247B2 (en) * 2015-12-18 2018-06-19 Amazon Technologies, Inc. Software container registry container image deployment
US10261782B2 (en) 2015-12-18 2019-04-16 Amazon Technologies, Inc. Software container registry service
US10067801B1 (en) 2015-12-21 2018-09-04 Amazon Technologies, Inc. Acquisition and maintenance of compute capacity
US10002026B1 (en) 2015-12-21 2018-06-19 Amazon Technologies, Inc. Acquisition and maintenance of dedicated, reserved, and variable compute capacity
US9910713B2 (en) * 2015-12-21 2018-03-06 Amazon Technologies, Inc. Code execution request routing
US10162672B2 (en) 2016-03-30 2018-12-25 Amazon Technologies, Inc. Generating data streams from pre-existing data sets
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
US10250456B2 (en) * 2016-05-17 2019-04-02 Microsoft Technology Licensing, Llc Operational management in cloud computing systems
US10291730B1 (en) * 2016-05-27 2019-05-14 Symantec Corporation Throttling push notifications using predictive workload modeling
US10122647B2 (en) * 2016-06-20 2018-11-06 Microsoft Technology Licensing, Llc Low-redistribution load balancing
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
US10203990B2 (en) 2016-06-30 2019-02-12 Amazon Technologies, Inc. On-demand network code execution with cross-account aliases
US10277708B2 (en) 2016-06-30 2019-04-30 Amazon Technologies, Inc. On-demand network code execution with cross-account aliases
US10146563B2 (en) * 2016-08-03 2018-12-04 International Business Machines Corporation Predictive layer pre-provisioning in container-based virtualization
CN106293945A (zh) * 2016-08-11 2017-01-04 浪潮(北京)电子信息产业有限公司 一种跨虚拟机的资源感知方法及系统
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
US10871995B2 (en) 2016-09-29 2020-12-22 Amazon Technologies, Inc. Managed container instances
US11119813B1 (en) 2016-09-30 2021-09-14 Amazon Technologies, Inc. Mapreduce implementation using an on-demand network code execution system
JP6825103B2 (ja) * 2016-12-08 2021-02-03 アビニシオ テクノロジー エルエルシー 計算リソース割り振り
EP3593496B1 (en) * 2017-04-19 2022-05-04 Huawei Technologies Co., Ltd. System and method for low latency node local scheduling in distributed resource management
US10477024B1 (en) * 2017-05-30 2019-11-12 United Services Automobile Association (Usaa) Dynamic resource allocation
CN107562537B (zh) * 2017-08-21 2020-11-06 中南大学 一种基于万有引力搜索的云计算任务调度方法
US10855844B1 (en) 2017-08-22 2020-12-01 United Services Automobile Association (Usaa) Learning based metric determination for service sessions
AU2018326701B9 (en) 2017-08-31 2021-11-25 Genesys Cloud Services Holdings II, LLC Systems and methods for load balancing across media server instances
CN109561024B (zh) * 2017-09-27 2022-08-02 南京中兴软件有限责任公司 容器调度处理方法及装置
CN108279967A (zh) * 2017-10-25 2018-07-13 国云科技股份有限公司 一种虚拟机与容器混合调度方法
CN108287748B (zh) * 2017-10-25 2021-10-22 国云科技股份有限公司 一种虚拟机与容器并行调度方法
WO2019088821A1 (en) * 2017-11-02 2019-05-09 Mimos Berhad A system and method for dynamically managing resource provision allocation
US10887250B2 (en) 2017-11-21 2021-01-05 International Business Machines Corporation Reducing resource allocations and application instances in diagonal scaling in a distributed computing environment
US10812407B2 (en) 2017-11-21 2020-10-20 International Business Machines Corporation Automatic diagonal scaling of workloads in a distributed computing environment
US10893000B2 (en) * 2017-11-21 2021-01-12 International Business Machines Corporation Diagonal scaling of resource allocations and application instances in a distributed computing environment
US10635501B2 (en) 2017-11-21 2020-04-28 International Business Machines Corporation Adaptive scaling of workloads in a distributed computing environment
US10721179B2 (en) * 2017-11-21 2020-07-21 International Business Machines Corporation Adaptive resource allocation operations based on historical data in a distributed computing environment
US10733015B2 (en) 2017-11-21 2020-08-04 International Business Machines Corporation Prioritizing applications for diagonal scaling in a distributed computing environment
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
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
US10733085B1 (en) 2018-02-05 2020-08-04 Amazon Technologies, Inc. Detecting impedance mismatches 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
CN108415772B (zh) * 2018-02-12 2022-02-18 腾讯科技(深圳)有限公司 一种基于容器的资源调整方法、装置和介质
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
JP7166765B2 (ja) 2018-02-28 2022-11-08 富士フイルム株式会社 アプリケーション提供装置、アプリケーション提供方法、およびアプリケーション提供プログラム
CN108512919B (zh) * 2018-03-25 2021-07-13 上海米卡信息技术服务有限公司 一种云存储空间分配方法及服务器
US10884788B2 (en) * 2018-04-03 2021-01-05 Amazon Technologies, Inc. On-demand code execution with limited memory footprint
EP3561671A1 (en) * 2018-04-27 2019-10-30 Nokia Solutions and Networks Oy Allocating workload
US10606632B2 (en) * 2018-05-15 2020-03-31 Vmware, Inc. Preventing interruption during virtual machine reboot
US10853115B2 (en) 2018-06-25 2020-12-01 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
US11099870B1 (en) 2018-07-25 2021-08-24 Amazon Technologies, Inc. Reducing execution times in an on-demand network code execution system using saved machine states
CN109144727A (zh) * 2018-08-21 2019-01-04 郑州云海信息技术有限公司 云数据系统中资源的管理方法和装置
WO2020043734A1 (en) * 2018-08-28 2020-03-05 Novo Nordisk A/S Systems and methods for providing container based medication dose guidance to treat diabetes
US11099917B2 (en) 2018-09-27 2021-08-24 Amazon Technologies, Inc. Efficient state maintenance for execution environments in an on-demand code execution system
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
CN111124660B (zh) * 2018-11-01 2024-01-05 百度在线网络技术(北京)有限公司 虚拟机中闲置资源的分配方法和装置
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
CN111240811A (zh) * 2018-11-28 2020-06-05 阿里巴巴集团控股有限公司 集群调度方法、装置和系统以及电子设备
US10884812B2 (en) 2018-12-13 2021-01-05 Amazon Technologies, Inc. Performance-based hardware emulation in an on-demand network code execution system
CN109714407A (zh) * 2018-12-19 2019-05-03 网易(杭州)网络有限公司 服务器资源调节方法及装置、电子设备和存储介质
US11003566B2 (en) * 2018-12-31 2021-05-11 Paypal, Inc. Tracking data flow through data services using a processing request identifier in callstack data
US11010188B1 (en) 2019-02-05 2021-05-18 Amazon Technologies, Inc. Simulated data object storage using on-demand computation of data objects
US10949241B2 (en) * 2019-03-08 2021-03-16 Google Llc Cost-efficient high-availability multi-single-tenant services
US11537423B2 (en) * 2019-03-19 2022-12-27 Hewlett Packard Enterprise Development Lp Virtual resource selection for a virtual resource creation request
US11861386B1 (en) 2019-03-22 2024-01-02 Amazon Technologies, Inc. Application gateways in an on-demand network code execution system
US11909814B1 (en) * 2019-03-26 2024-02-20 Amazon Technologies, Inc. Configurable computing resource allocation policies
US11119809B1 (en) 2019-06-20 2021-09-14 Amazon Technologies, Inc. Virtualization-based transaction handling in an on-demand network code execution system
US11115404B2 (en) 2019-06-28 2021-09-07 Amazon Technologies, Inc. Facilitating service connections in serverless code executions
US11159528B2 (en) 2019-06-28 2021-10-26 Amazon Technologies, Inc. Authentication to network-services using hosted authentication information
US11190609B2 (en) 2019-06-28 2021-11-30 Amazon Technologies, Inc. Connection pooling for scalable network services
US11150935B2 (en) * 2019-07-05 2021-10-19 International Business Machines Corporation Container-based applications
US11669365B1 (en) 2019-08-26 2023-06-06 Amazon Technologies, Inc. Task pool for managed compute instances
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
US11656892B1 (en) 2019-09-27 2023-05-23 Amazon Technologies, Inc. Sequential execution of user-submitted code and native functions
US11550944B2 (en) 2019-09-27 2023-01-10 Amazon Technologies, Inc. Code execution environment customization system for object storage service
US10996961B2 (en) 2019-09-27 2021-05-04 Amazon Technologies, Inc. On-demand indexing of data in input path of object storage service
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
US11023416B2 (en) 2019-09-27 2021-06-01 Amazon Technologies, Inc. Data access control system for object storage service based on owner-defined code
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
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
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
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
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
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
US12099923B1 (en) * 2019-11-15 2024-09-24 Amazon Technologies, Inc. Determining application performance correlations across isolated network environments
US11119826B2 (en) 2019-11-27 2021-09-14 Amazon Technologies, Inc. Serverless call distribution to implement spillover while avoiding cold starts
US10942795B1 (en) 2019-11-27 2021-03-09 Amazon Technologies, Inc. Serverless call distribution to utilize reserved capacity without inhibiting scaling
KR102318863B1 (ko) * 2019-12-30 2021-10-28 주식회사 카카오 클라우드 서비스를 제공하는 서버의 동작 방법
US11714682B1 (en) 2020-03-03 2023-08-01 Amazon Technologies, Inc. Reclaiming computing resources in an on-demand code execution system
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
US11915024B2 (en) * 2020-07-16 2024-02-27 International Business Machines Corporation Pool management for in-vehicle device application startup
US12093745B2 (en) * 2020-08-31 2024-09-17 International Business Machines Corporation Systems and methods for managing resources in a virtual desktop infrastructure
US11256493B1 (en) 2020-11-03 2022-02-22 Bank Of America Corporation Container image optimizer
US11550713B1 (en) 2020-11-25 2023-01-10 Amazon Technologies, Inc. Garbage collection in distributed systems using life cycled storage roots
US11593270B1 (en) 2020-11-25 2023-02-28 Amazon Technologies, Inc. Fast distributed caching using erasure coded object parts
JP7509234B2 (ja) 2020-12-01 2024-07-02 日本電信電話株式会社 計算資源クラスタ管理装置、計算資源クラスタ管理方法、および、計算資源クラスタ管理プログラム
CN113296837A (zh) * 2020-12-07 2021-08-24 阿里巴巴集团控股有限公司 资源计算方法、装置、电子设备及可读存储介质
US20220197701A1 (en) * 2020-12-22 2022-06-23 Red Hat, Inc. Managing resource allocation in a software-defined system
CN112817691B (zh) * 2021-01-27 2024-02-02 北京迈格威科技有限公司 资源分配方法、装置、设备及介质
US20220404787A1 (en) * 2021-06-16 2022-12-22 Fisher-Rosemount Systems, Inc. Systems and methods for hierarchical organization of software defined process control systems for industrial process plants
US12111626B2 (en) 2021-06-16 2024-10-08 Fisher-Rosemount Systems, Inc. Software defined control system including I/O server services that communicate with containerized services
US11789428B2 (en) 2021-06-16 2023-10-17 Fisher-Rosemount Systems, Inc. I/O server services for selecting and utilizing active controller outputs from containerized controller services in a process control environment
US12078977B2 (en) 2021-06-16 2024-09-03 Fisher-Rosemount Systems, Inc. Discovery service in a software defined control system
US11726933B2 (en) 2021-06-16 2023-08-15 Fisher-Rosemount Systems, Inc. I/O server services configured to facilitate control in a process control environment by containerized controller services
US20220404807A1 (en) * 2021-06-16 2022-12-22 Fisher-Rosemount Systems, Inc. Systems and Methods for Associating Modules in a Software Defined Control System for Industrial Process Plants
US12007747B2 (en) 2021-06-16 2024-06-11 Fisher-Rosemount Systems, Inc. Software defined process control system and methods for industrial process plants
US20220404786A1 (en) * 2021-06-16 2022-12-22 Fisher-Rosemount Systems, Inc. Systems and Methods for Dynamically Maintained Redundancy and Load Balancing in Software Defined Control Systems for Industrial Process Plants
US20220404804A1 (en) * 2021-06-16 2022-12-22 Fisher-Rosemount Systems, Inc. Security Services in a Software Defined Control System
US20220404808A1 (en) * 2021-06-16 2022-12-22 Fisher-Rosemount Systems, Inc Systems and methods for associating modules in a software defined control system for industrial process plants
US12117801B2 (en) 2021-06-16 2024-10-15 Fisher-Rosemount Systems, Inc. Software defined process control system and methods for industrial process plants
US11960588B2 (en) 2021-06-16 2024-04-16 Fisher-Rosemount Systems, Inc Security services in a software defined control system
US11388210B1 (en) 2021-06-30 2022-07-12 Amazon Technologies, Inc. Streaming analytics using a serverless compute system
WO2023039711A1 (en) * 2021-09-14 2023-03-23 Microsoft Technology Licensing, Llc Efficiency engine in a cloud computing architecture
US11831540B2 (en) 2021-10-01 2023-11-28 International Business Machines Corporation Service chain instance pool sizing
US11928012B2 (en) * 2021-10-06 2024-03-12 Heinle Solutions Inc. Methods, systems, and media for scalable verification of compute cluster configurations
CN114138477B (zh) * 2021-11-24 2022-06-03 中国人民解放军军事科学院战争研究院 一种信息系统运行态服务资源分配方法
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
US12093220B1 (en) * 2023-06-27 2024-09-17 International Business Machines Corporation Controlling layers in container images to reduce redundant content between layers

Family Cites Families (727)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4949254A (en) 1988-09-29 1990-08-14 Ibm Corp. Method to manage concurrent execution of a distributed application program by a host computer and a large plurality of intelligent work stations on an SNA network
US5283888A (en) 1991-08-27 1994-02-01 International Business Machines Corporation Voice processing interface unit employing virtual screen communications for accessing a plurality of primed applications
DE19500957A1 (de) 1994-07-19 1996-01-25 Bosch Gmbh Robert Verfahren zur Steuerung von technischen Vorgängen oder Prozessen
GB2302966A (en) 1995-06-30 1997-02-05 Ibm Transaction processing with a reduced-kernel operating system
JPH10255112A (ja) 1997-03-12 1998-09-25 Oki Electric Ind Co Ltd 自動取引装置の監視方法と監視システム
US5970488A (en) 1997-05-05 1999-10-19 Northrop Grumman Corporation Real-time distributed database system and method
JPH1153326A (ja) 1997-07-30 1999-02-26 Internatl Business Mach Corp <Ibm> 分散処理システム、クライアントノード、サーバノードおよび分散処理方法
US6237005B1 (en) 1998-06-29 2001-05-22 Compaq Computer Corporation Web server mechanism for processing multiple transactions in an interpreted language execution environment
US6463509B1 (en) 1999-01-26 2002-10-08 Motive Power, Inc. Preloading data in a cache memory according to user-specified preload criteria
US6501736B1 (en) 1999-03-19 2002-12-31 Lucent Technologies Inc. System for increasing the call capacity of a wireless communication system
JP2000305796A (ja) 1999-04-22 2000-11-02 Hitachi Ltd 電子計算機間のジョブ転送方法およびジョブ転送システム
US6523035B1 (en) 1999-05-20 2003-02-18 Bmc Software, Inc. System and method for integrating a plurality of disparate database utilities into a single graphical user interface
US7472349B1 (en) 1999-06-01 2008-12-30 Oracle International Corporation Dynamic services infrastructure for allowing programmatic access to internet and other resources
US6708276B1 (en) 1999-08-03 2004-03-16 International Business Machines Corporation Architecture for denied permissions in Java
US20050027610A1 (en) 1999-08-26 2005-02-03 Wharton Brian K. Electronic commerce systems and methods providing unified checkout steps
US6854114B1 (en) 1999-10-21 2005-02-08 Oracle International Corp. Using a virtual machine instance as the basic unit of user execution in a server environment
FR2801118B1 (fr) 1999-11-17 2001-12-21 Bull Cp8 Procede de chargement d'applications dans un systeme embarque multi-application, systeme embarque correspondant, et procede d'execution d'une application du systeme embarque
DE10048942B4 (de) 1999-12-01 2008-07-03 International Business Machines Corp. Verfahren und System zur Wartung von Software über ein Netz
KR100357850B1 (ko) 2000-03-29 2002-10-25 삼성전자 주식회사 코버플락시모듈을 이용한 다양한 프로토콜 공통 서비스를위한 분산객체 지향 통신시스템 및 그 방법
JP2001331333A (ja) 2000-05-18 2001-11-30 Hitachi Ltd 計算機システム及び計算機システムの制御方法
US20040098154A1 (en) 2000-10-04 2004-05-20 Mccarthy Brendan Method and apparatus for computer system engineering
US8719326B2 (en) 2003-08-18 2014-05-06 S.F. Ip Properties 14 Llc Adaptive data transformation engine
JP2002287974A (ja) 2001-03-26 2002-10-04 Ricoh Co Ltd アプリケーションプログラムの登録制御及び起動制御に係る方法及び該制御装置
US7009939B2 (en) 2001-05-21 2006-03-07 Lucent Technologies Inc. Adaptive resource management in a communication system
CN1529847A (zh) 2001-07-16 2004-09-15 任宇清 内嵌软件更新系统
US20040205493A1 (en) 2001-08-08 2004-10-14 Simpson Shell S. Web based imaging application that creates customized content based on user selections
US7028030B2 (en) 2001-08-30 2006-04-11 Bea Systems, Inc. Cluster caching with concurrency checking
US7594182B2 (en) 2001-10-12 2009-09-22 National Insturments Corporation Dynamic and user-defined events for a graphical program
US7269833B2 (en) 2001-12-12 2007-09-11 Sun Microsystems, Inc. Scriptable plug-in application programming interface
US7174566B2 (en) 2002-02-01 2007-02-06 Intel Corporation Integrated network intrusion detection
US7093004B2 (en) 2002-02-04 2006-08-15 Datasynapse, Inc. Using execution statistics to select tasks for redundant assignment in a distributed computing platform
US7577722B1 (en) 2002-04-05 2009-08-18 Vmware, Inc. Provisioning of computer systems using virtual machines
US8527408B2 (en) 2002-05-06 2013-09-03 Bottom Line Technologies (De), Inc. Integrated payment system
US20030229794A1 (en) 2002-06-07 2003-12-11 Sutton James A. System and method for protection against untrusted system management code by redirecting a system management interrupt and creating a virtual machine container
US7308463B2 (en) 2002-06-26 2007-12-11 Hewlett-Packard Development Company, L.P. Providing requested file mapping information for a file on a storage device
US7228354B2 (en) 2002-06-28 2007-06-05 International Business Machines Corporation Method for improving performance in a computer storage system by regulating resource requests from clients
US7107585B2 (en) 2002-07-29 2006-09-12 Arm Limited Compilation of application code in a data processing apparatus
US9207958B1 (en) 2002-08-12 2015-12-08 Arm Finance Overseas Limited Virtual machine coprocessor for accelerating software execution
US7386855B2 (en) 2002-08-12 2008-06-10 Ntt Docomo, Inc. Application mobility service
US8108656B2 (en) 2002-08-29 2012-01-31 Qst Holdings, Llc Task definition for specifying resource requirements
JP2004102597A (ja) 2002-09-09 2004-04-02 Fujitsu Ltd コンパイル処理プログラム、コンパイル処理方法、およびコンパイル処理プログラム記録媒体
CN100518176C (zh) 2002-12-02 2009-07-22 Sap股份公司 实现有状态网络应用的会话返回
US7031958B2 (en) 2003-02-06 2006-04-18 International Business Machines Corporation Patterned based query optimization
US7774191B2 (en) 2003-04-09 2010-08-10 Gary Charles Berkowitz Virtual supercomputer
US20050193113A1 (en) 2003-04-14 2005-09-01 Fujitsu Limited Server allocation control method
WO2004099985A1 (ja) * 2003-05-09 2004-11-18 Fujitsu Limited 実行環境の危険予測/回避方法,システム,プログラムおよびその記録媒体
US20040249947A1 (en) 2003-05-22 2004-12-09 Hewlett-Packard Development Company, L.P. Concurrent cluster environment
US7636917B2 (en) 2003-06-30 2009-12-22 Microsoft Corporation Network load balancing with host status information
US7340522B1 (en) 2003-07-31 2008-03-04 Hewlett-Packard Development Company, L.P. Method and system for pinning a resource having an affinity to a user for resource allocation
US7937493B2 (en) 2003-08-14 2011-05-03 Oracle International Corporation Connection pool use of runtime load balancing service performance advisories
US20050044301A1 (en) 2003-08-20 2005-02-24 Vasilevsky Alexander David Method and apparatus for providing virtual computing services
US8776050B2 (en) 2003-08-20 2014-07-08 Oracle International Corporation Distributed virtual machine monitor for managing multiple virtual resources across multiple physical nodes
US7441244B2 (en) 2003-12-10 2008-10-21 International Business Machines Corporation Workload scheduler with cumulative weighting indexes
US7743029B2 (en) 2003-12-30 2010-06-22 Sap Ag Log configuration and online deployment services
US20050193283A1 (en) 2003-12-30 2005-09-01 Reinhardt Steven K. Buffering unchecked stores for fault detection in redundant multithreading systems using speculative memory support
JP2005198201A (ja) 2004-01-09 2005-07-21 Ntt Docomo Inc ネットワークトポロジー構成方法及びノード
US7665090B1 (en) 2004-03-08 2010-02-16 Swsoft Holdings, Ltd. System, method, and computer program product for group scheduling of computer resources
US7565661B2 (en) 2004-05-10 2009-07-21 Siew Yong Sim-Tang Method and system for real-time event journaling to provide enterprise data services
US7587721B2 (en) 2004-05-20 2009-09-08 Sap Ag Sharing objects in runtime systems
US20050268308A1 (en) 2004-05-28 2005-12-01 Nokia Corporation System and method for implementing a general application program interface
US7587755B2 (en) 2004-07-02 2009-09-08 Citrix Systems, Inc. System and method for executing interactive applications with minimal privileges
US7886293B2 (en) 2004-07-07 2011-02-08 Intel Corporation Optimizing system behavior in a virtual machine environment
US7359834B2 (en) 2004-08-13 2008-04-15 Sun Microsystems, Inc. Monitoring system-calls to identify runaway processes within a computer system
US20060080678A1 (en) 2004-09-07 2006-04-13 Bailey Mark W Task distribution method for protecting servers and tasks in a distributed system
US8146073B2 (en) 2004-09-30 2012-03-27 Microsoft Corporation Updating software while it is running
JP2006107599A (ja) 2004-10-04 2006-04-20 Sekisui Chem Co Ltd 光ディスク
US20060129684A1 (en) 2004-11-10 2006-06-15 Chutney Technologies, Inc. Apparatus and method for distributing requests across a cluster of application servers
US8181182B1 (en) * 2004-11-16 2012-05-15 Oracle America, Inc. Resource allocation brokering in nested containers
JP4191672B2 (ja) 2004-12-14 2008-12-03 ザイオソフト株式会社 ボリュームレンダリング等の画像処理システム
US8321554B2 (en) 2004-12-17 2012-11-27 International Business Machines Corporation System and program to automatically identify a server on which to deploy an application
US7793290B2 (en) 2004-12-20 2010-09-07 Sap Ag Grip application acceleration by executing grid application based on application usage history prior to user request for application execution
FR2881854B1 (fr) 2005-02-04 2008-01-11 Radiotelephone Sfr Procede de gestion securisee de l'execution d'une application
CN100337218C (zh) 2005-02-23 2007-09-12 北京邦诺存储科技有限公司 网络存储系统中的数据管理方法及其构建的网络存储系统
US7860013B2 (en) 2005-03-09 2010-12-28 Comcast Cable Holdings, Llc Methods and systems for using in-stream data within an on demand content delivery path
US8863143B2 (en) 2006-03-16 2014-10-14 Adaptive Computing Enterprises, Inc. System and method for managing a hybrid compute environment
US8631130B2 (en) 2005-03-16 2014-01-14 Adaptive Computing Enterprises, Inc. Reserving resources in an on-demand compute environment from a local compute environment
US7558719B1 (en) 2005-04-14 2009-07-07 Xilinx, Inc. System and method for runtime analysis of system models for variable fidelity performance analysis
US20060242647A1 (en) 2005-04-21 2006-10-26 Kimbrel Tracy J Dynamic application placement under service and memory constraints
JP4515319B2 (ja) 2005-04-27 2010-07-28 株式会社日立製作所 コンピュータシステム
JP4690767B2 (ja) 2005-05-11 2011-06-01 株式会社日立製作所 ネットワークシステム、サーバ装置および通信方法
US7707579B2 (en) * 2005-07-14 2010-04-27 International Business Machines Corporation Method and system for application profiling for purposes of defining resource requirements
US8571913B2 (en) 2005-08-04 2013-10-29 Jeffrey K. Johnson System and method for managing data within a calendaring framework
US8407785B2 (en) 2005-08-18 2013-03-26 The Trustees Of Columbia University In The City Of New York Systems, methods, and media protecting a digital data processing device from attack
JP4580845B2 (ja) 2005-08-24 2010-11-17 パナソニック株式会社 タスク実行装置
US7730464B2 (en) 2005-09-14 2010-06-01 Microsoft Corporation Code compilation management service
US8429630B2 (en) 2005-09-15 2013-04-23 Ca, Inc. Globally distributed utility computing cloud
US20070101325A1 (en) 2005-10-19 2007-05-03 Juraj Bystricky System and method for utilizing a remote memory to perform an interface save/restore procedure
JP4650203B2 (ja) 2005-10-20 2011-03-16 株式会社日立製作所 情報システム及び管理計算機
US7933923B2 (en) 2005-11-04 2011-04-26 International Business Machines Corporation Tracking and reconciling database commands
US7756972B2 (en) 2005-12-06 2010-07-13 Cisco Technology, Inc. System for power savings in server farms
US7747565B2 (en) 2005-12-07 2010-06-29 Microsoft Corporation Garbage collector support for transactional memory
US8589574B1 (en) 2005-12-29 2013-11-19 Amazon Technologies, Inc. Dynamic application instance discovery and state management within a distributed system
US7725574B2 (en) 2006-01-23 2010-05-25 International Business Machines Corporation Web browser-based programming language error determination and reporting
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
US7818798B2 (en) 2006-02-03 2010-10-19 Microsoft Corporation Software system with controlled access to objects
US20070192082A1 (en) 2006-02-13 2007-08-16 Maria Gaos System and method for generating and executing a platform emulation based on a selected application
WO2007095642A2 (en) 2006-02-16 2007-08-23 The Regents Of The University Of California Dynamic incremental compiler and method
US20070220009A1 (en) 2006-03-15 2007-09-20 Morris Robert P Methods, systems, and computer program products for controlling access to application data
US8190682B2 (en) 2006-03-31 2012-05-29 Amazon Technologies, Inc. Managing execution of programs by multiple computing systems
US7801128B2 (en) 2006-03-31 2010-09-21 Amazon Technologies, Inc. Managing communications between computing nodes
US7792944B2 (en) 2006-03-31 2010-09-07 Amazon Technologies, Inc. Executing programs based on user-specified constraints
US7831464B1 (en) 2006-04-06 2010-11-09 ClearPoint Metrics, Inc. Method and system for dynamically representing distributed information
US7702843B1 (en) * 2006-04-27 2010-04-20 Vmware, Inc. Determining memory conditions in a virtual machine
US9754265B2 (en) 2006-05-01 2017-09-05 At&T Intellectual Property I, L.P. Systems and methods to automatically activate distribution channels provided by business partners
US8046765B2 (en) * 2006-07-25 2011-10-25 Hewlett-Packard Development Company, L.P. System and method for determining allocation of resource access demands to different classes of service based at least in part on permitted degraded performance
US8209695B1 (en) 2006-07-28 2012-06-26 Hewlett-Packard Development Company, L.P. Reserving resources in a resource-on-demand system for user desktop utility demand
US8015294B2 (en) 2006-08-22 2011-09-06 Embarq Holdings Company, LP Pin-hole firewall for communicating data packets on a packet network
US7823186B2 (en) 2006-08-24 2010-10-26 Novell, Inc. System and method for applying security policies on multiple assembly caches
CA2557343C (en) 2006-08-28 2015-09-22 Ibm Canada Limited-Ibm Canada Limitee Runtime code modification in a multi-threaded environment
US7996855B2 (en) 2006-09-15 2011-08-09 Oracle International Corporation Personal messaging application programming interface for integrating an application with groupware systems
US20150052258A1 (en) 2014-09-29 2015-02-19 Weaved, Inc. Direct map proxy system and protocol
US8161475B2 (en) 2006-09-29 2012-04-17 Microsoft Corporation Automatic load and balancing for virtual machines to meet resource requirements
US8010990B2 (en) 2006-10-26 2011-08-30 Intel Corporation Acceleration of packet flow classification in a virtualized system
US8584109B2 (en) 2006-10-27 2013-11-12 Microsoft Corporation Virtualization for diversified tamper resistance
US8185893B2 (en) 2006-10-27 2012-05-22 Hewlett-Packard Development Company, L.P. Starting up at least one virtual machine in a physical machine by a load balancer
US7644204B2 (en) 2006-10-31 2010-01-05 Hewlett-Packard Development Company, L.P. SCSI I/O coordinator
US8315171B2 (en) 2006-10-31 2012-11-20 Oracle America, Inc. Adaptive management of computing resources
JP4308241B2 (ja) 2006-11-10 2009-08-05 インターナショナル・ビジネス・マシーンズ・コーポレーション ジョブ実行方法、ジョブ実行システム及びジョブ実行プログラム
US8112747B2 (en) 2006-11-27 2012-02-07 Sap Ag Integrated software support for a distributed business application with seamless backend communications
CN101196974B (zh) 2006-12-06 2011-08-24 国际商业机器公司 用于软件应用程序的自动配置的方法和系统
JP2010514028A (ja) 2006-12-22 2010-04-30 バーチャルロジックス エスエイ 単一データ処理を共有するために複数の実行環境を有効化するシステム
US8677353B2 (en) 2007-01-11 2014-03-18 Nec Corporation Provisioning a standby virtual machine based on the prediction of a provisioning request being generated
US20080189700A1 (en) 2007-02-02 2008-08-07 Vmware, Inc. Admission Control for Virtual Machine Cluster
US8655623B2 (en) 2007-02-13 2014-02-18 International Business Machines Corporation Diagnostic system and method
US8176486B2 (en) 2007-02-15 2012-05-08 Clearcube Technology, Inc. Maintaining a pool of free virtual machines on a server computer
US8793676B2 (en) 2007-02-15 2014-07-29 Microsoft Corporation Version-resilient loader for custom code runtimes
JP5018133B2 (ja) 2007-02-27 2012-09-05 富士通株式会社 ジョブ管理装置、クラスタシステム、およびジョブ管理プログラム
US8065682B2 (en) 2007-02-27 2011-11-22 Microsoft Corporation Enforcing system resource usage limits on query requests based on grouping query requests into workgroups and assigning workload groups to resource pools
US8856782B2 (en) 2007-03-01 2014-10-07 George Mason Research Foundation, Inc. On-demand disposable virtual work system
JP5293595B2 (ja) 2007-03-20 2013-09-18 富士通株式会社 コンピュータプログラム、更新システム、及びプログラム実行装置
US8667471B2 (en) 2007-03-30 2014-03-04 Sap Ag Method and system for customizing profiling sessions
US8522209B2 (en) 2007-03-30 2013-08-27 Sap Ag Method and system for integrating profiling and debugging
US8065676B1 (en) 2007-04-24 2011-11-22 Hewlett-Packard Development Company, L.P. Automated provisioning of virtual machines for a virtual machine buffer pool and production pool
US8219987B1 (en) 2007-08-24 2012-07-10 Vmware, Inc. Optimized virtual machine specification for provisioning application specific runtime environment
US8479195B2 (en) 2007-05-16 2013-07-02 Vmware, Inc. Dynamic selection and application of multiple virtualization techniques
US8051266B2 (en) 2007-06-11 2011-11-01 International Business Machines Corporation Automatic memory management (AMM)
US9495152B2 (en) * 2007-06-22 2016-11-15 Red Hat, Inc. Automatic baselining of business application service groups comprised of virtual machines
US20090006897A1 (en) 2007-06-27 2009-01-01 Microsoft Corporation Automated service testing
US8161476B2 (en) 2007-07-04 2012-04-17 International Business Machines Corporation Processor exclusivity in a partitioned system
EP2015179A1 (en) 2007-07-13 2009-01-14 Alcatel Lucent A remote management system and method for service objects
US8074229B2 (en) 2007-07-18 2011-12-06 Sap Ag Co-execution of objects from divergent runtime environments
US8391295B2 (en) 2007-07-31 2013-03-05 Oracle International Corporation Temporal affinity-based routing of workloads
US20090055810A1 (en) 2007-08-21 2009-02-26 Nce Technologies Inc. Method And System For Compilation And Execution Of Software Codes
WO2009029549A2 (en) 2007-08-24 2009-03-05 Virtualmetrix, Inc. Method and apparatus for fine grain performance management of computer systems
US8171473B2 (en) 2007-08-31 2012-05-01 International Business Machines Corporation Method and apparatus for determining a service cluster topology based on static analysis
US7827299B2 (en) 2007-09-11 2010-11-02 International Business Machines Corporation Transitioning between historical and real time data streams in the processing of data change messages
US8402472B2 (en) 2007-09-14 2013-03-19 International Business Machines Corporation Network management system event notification shortcut
US9621649B2 (en) 2007-09-28 2017-04-11 Xcerion Aktiebolag Network operating system
US8166304B2 (en) 2007-10-02 2012-04-24 International Business Machines Corporation Support for multiple security policies on a unified authentication architecture
US20090204964A1 (en) 2007-10-12 2009-08-13 Foley Peter F Distributed trusted virtualization platform
US8127284B2 (en) 2007-10-16 2012-02-28 Microsoft Corporation On-demand loading of types of software code of a program executing on a computing device
US20090158407A1 (en) 2007-12-13 2009-06-18 Fiberlink Communications Corporation Api translation for network access control (nac) agent
US8566835B2 (en) 2007-12-13 2013-10-22 Hewlett-Packard Development Company, L.P. Dynamically resizing a virtual machine container
US20110040812A1 (en) 2007-12-20 2011-02-17 Virtual Computer, Inc. Layered Virtual File System
US8473956B2 (en) 2008-01-15 2013-06-25 Microsoft Corporation Priority based scheduling system for server
US8560694B2 (en) 2008-02-01 2013-10-15 Microsoft Corporation Virtual application server with version control
US9928260B2 (en) 2008-02-11 2018-03-27 Nuix Pty Ltd Systems and methods for scalable delocalized information governance
US8156503B2 (en) 2008-02-12 2012-04-10 International Business Machines Corporation System, method and computer program product for accessing a memory space allocated to a virtual machine
CN101534418A (zh) 2008-03-11 2009-09-16 深圳华为通信技术有限公司 数字电视节目预订播放方法、机顶盒设备及播放系统
US8387075B1 (en) 2008-03-28 2013-02-26 Emc Corporation Common scheduling and synchronization primitives
US9086924B2 (en) 2008-04-24 2015-07-21 International Business Machines Corporation Executing a distributed java application on a plurality of compute nodes
US7886021B2 (en) 2008-04-28 2011-02-08 Oracle America, Inc. System and method for programmatic management of distributed computing resources
US8972978B2 (en) 2008-05-02 2015-03-03 Skytap Multitenant hosted virtual machine infrastructure
US8424082B2 (en) 2008-05-08 2013-04-16 Google Inc. Safely executing an untrusted native code module on a computing device
US8543998B2 (en) 2008-05-30 2013-09-24 Oracle International Corporation System and method for building virtual appliances using a repository metadata server and a dependency resolution service
US20090300599A1 (en) 2008-05-30 2009-12-03 Matthew Thomas Piotrowski Systems and methods of utilizing virtual machines to protect computer systems
JP5120121B2 (ja) 2008-07-15 2013-01-16 コニカミノルタビジネステクノロジーズ株式会社 中継サーバ、中継方法および中継プログラム
JP5157717B2 (ja) * 2008-07-28 2013-03-06 富士通株式会社 仮想バッテリを備えた仮想マシンシステムおよび仮想バッテリを備えた仮想マシンシステム用プログラム
US20100036925A1 (en) 2008-08-07 2010-02-11 Tactara, Llc Alias management platforms
US8725967B2 (en) 2008-08-08 2014-05-13 Amazon Technologies, Inc. Providing executing programs with access to stored block data of others
JP5215779B2 (ja) 2008-09-01 2013-06-19 キヤノン株式会社 情報処理装置及び情報処理方法
US8307177B2 (en) 2008-09-05 2012-11-06 Commvault Systems, Inc. Systems and methods for management of virtualization data
DE112009002168A5 (de) 2008-09-09 2012-03-15 Kace Networks, Inc. Auslieferung und Management von virtuellen Containern
US20100094816A1 (en) 2008-09-09 2010-04-15 Lockheed Martin Corporation Safety-Critical Data Checking In Object-Oriented Systems
US9098698B2 (en) 2008-09-12 2015-08-04 George Mason Research Foundation, Inc. Methods and apparatus for application isolation
US8417723B1 (en) 2008-09-12 2013-04-09 Salesforce.Com, Inc. System, method and computer program product for enabling access to a resource of a multi-tenant on-demand database service utilizing a token
US20100070678A1 (en) 2008-09-12 2010-03-18 Vmware, Inc. Saving and Restoring State Information for Virtualized Computer Systems
US8364802B1 (en) * 2008-09-23 2013-01-29 Gogrid, LLC System and method for monitoring a grid of hosting resources in order to facilitate management of the hosting resources
US7937625B2 (en) * 2008-09-26 2011-05-03 Microsoft Corporation Evaluating effectiveness of memory management techniques selectively using mitigations to reduce errors
US8180604B2 (en) 2008-09-30 2012-05-15 Hewlett-Packard Development Company, L.P. Optimizing a prediction of resource usage of multiple applications in a virtual environment
US20100106926A1 (en) 2008-10-25 2010-04-29 International Business Machines Corporation Second failure data capture problem determination using user selective memory protection to trace application failures
US9141381B2 (en) 2008-10-27 2015-09-22 Vmware, Inc. Version control environment for virtual machines
US9176786B2 (en) 2008-11-04 2015-11-03 Novell, Inc. Dynamic and automatic colocation and combining of service providers and service clients in a grid of resources for performing a data backup function
US8214795B2 (en) 2008-11-26 2012-07-03 Optumsoft, Inc. Efficient automated translation of procedures in constraint-based language
US20100131959A1 (en) 2008-11-26 2010-05-27 Spiers Adam Z Proactive application workload management
US8336079B2 (en) 2008-12-31 2012-12-18 Hytrust, Inc. Intelligent security control system for virtualized ecosystems
US8769206B2 (en) 2009-01-20 2014-07-01 Oracle International Corporation Methods and systems for implementing transcendent page caching
US9344401B2 (en) 2009-02-04 2016-05-17 Citrix Systems, Inc. Methods and systems for providing translations of data retrieved from a storage system in a cloud computing environment
US8336049B2 (en) 2009-02-05 2012-12-18 Vmware, Inc. Virtual machine utility computing method and system
JP5419500B2 (ja) 2009-03-12 2014-02-19 キヤノン株式会社 プログラムおよび情報処理装置
JPWO2010116676A1 (ja) 2009-03-30 2012-10-18 日本電気株式会社 サービス提供装置、サービス提供システム、サービス提供装置のデータ処理方法およびコンピュータプログラム
US8321558B1 (en) 2009-03-31 2012-11-27 Amazon Technologies, Inc. Dynamically monitoring and modifying distributed execution of programs
US9817695B2 (en) 2009-04-01 2017-11-14 Vmware, Inc. Method and system for migrating processes between virtual machines
US9563866B2 (en) 2009-04-06 2017-02-07 Accenture Global Services Limited Estimating a computing job complexity
US8291416B2 (en) 2009-04-17 2012-10-16 Citrix Systems, Inc. Methods and systems for using a plurality of historical metrics to select a physical host for virtual machine execution
JP5091912B2 (ja) 2009-05-21 2012-12-05 株式会社東芝 マルチコアプロセッサシステム
US8174984B2 (en) * 2009-05-29 2012-05-08 Oracle America, Inc. Managing traffic on virtualized lanes between a network switch and a virtual machine
US10768611B2 (en) 2009-06-16 2020-09-08 Applied Materials, Inc. Counter and timer constraints
US8955108B2 (en) 2009-06-17 2015-02-10 Microsoft Corporation Security virtual machine for advanced auditing
US8140668B2 (en) 2009-06-24 2012-03-20 Red Hat Israel, Ltd. Pre-scheduling the timelines of virtual machines
WO2011002785A1 (en) 2009-06-29 2011-01-06 Fiberlink Communications Corporation Universal connections data collection
US8799879B2 (en) 2009-06-30 2014-08-05 Oracle America, Inc. Method and apparatus for protecting translated code in a virtual machine
US20110010690A1 (en) 2009-07-07 2011-01-13 Howard Robert S System and Method of Automatically Transforming Serial Streaming Programs Into Parallel Streaming Programs
US8769529B2 (en) 2009-07-24 2014-07-01 Novell, Inc. Generating and automatically loading reduced operating system based on usage pattern of applications
CA2674402C (en) 2009-07-31 2016-07-19 Ibm Canada Limited - Ibm Canada Limitee Optimizing on demand allocation of virtual machines using a stateless preallocation pool
EP2462507B1 (en) 2009-08-04 2019-07-24 Carnegie Mellon University Methods and apparatuses for user-verifiable trusted path in the presence of malware
US8271653B2 (en) 2009-08-31 2012-09-18 Red Hat, Inc. Methods and systems for cloud management using multiple cloud management schemes to allow communication between independently controlled clouds
US8769083B2 (en) 2009-08-31 2014-07-01 Red Hat, Inc. Metering software infrastructure in a cloud computing environment
US20110055683A1 (en) 2009-09-02 2011-03-03 Facebook Inc. Page caching for rendering dynamic web pages
US8448165B1 (en) 2009-09-15 2013-05-21 Symantec Corporation System and method for logging operations of virtual machines
JP5069730B2 (ja) 2009-09-15 2012-11-07 ヤフー株式会社 イベント通知機能提供装置、イベント通知機能提供方法及びイベント通知機能提供プログラム
US8276139B2 (en) 2009-09-30 2012-09-25 International Business Machines Corporation Provisioning virtual machine placement
US9086922B2 (en) 2009-10-26 2015-07-21 Microsoft Technology Licensing, Llc Opportunistically scheduling and adjusting time slices
US8412856B2 (en) 2009-10-26 2013-04-02 Sony Computer Entertainment America Llc. File input/output scheduler using immediate data chunking
US8875128B2 (en) 2009-11-30 2014-10-28 Red Hat Israel, Ltd. Controlling permissions in virtualization environment using hierarchical labeling
US8311032B2 (en) 2009-12-03 2012-11-13 International Business Machines Corporation Dynamically provisioning virtual machines
EP2513810B1 (en) 2009-12-14 2016-02-17 Citrix Systems, Inc. Methods and systems for communicating between trusted and non-trusted virtual machines
US8924569B2 (en) 2009-12-17 2014-12-30 Intel Corporation Cloud federation as a service
US8949408B2 (en) 2009-12-18 2015-02-03 Microsoft Corporation Session monitoring of virtual desktops in a virtual machine farm
US8683465B2 (en) 2009-12-18 2014-03-25 International Business Machines Corporation Virtual image deployment with a warm cache
US20110153541A1 (en) 2009-12-22 2011-06-23 Caterpillar Inc. Systems and methods for machine control in designated areas
US20110154353A1 (en) 2009-12-22 2011-06-23 Bmc Software, Inc. Demand-Driven Workload Scheduling Optimization on Shared Computing Resources
US9805322B2 (en) 2010-06-24 2017-10-31 Bmc Software, Inc. Application blueprint and deployment model for dynamic business service management (BSM)
JP5282046B2 (ja) 2010-01-05 2013-09-04 株式会社日立製作所 計算機システム及びその可用化方法
US8924982B2 (en) 2010-01-12 2014-12-30 Amazon Technologies, Inc. Managing private use of program execution capacity
US9021046B2 (en) 2010-01-15 2015-04-28 Joyent, Inc Provisioning server resources in a cloud resource
US9274821B2 (en) 2010-01-27 2016-03-01 Vmware, Inc. Independent access to virtual machine desktop content
US8478878B2 (en) 2010-03-11 2013-07-02 International Business Machines Corporation Placement of virtual machines based on server cost and network cost
US8271814B2 (en) 2010-03-22 2012-09-18 Microsoft Corporation Migrating a client computer to a virtual machine server when the client computer is deemed to be idle
EP2553583A1 (en) 2010-03-26 2013-02-06 Software Diagnostics Technology GmbH A method for automatically detecting and excluding a tracing instruction from further trace data generation for a software system, a computer system, and a computer program product
US8413142B2 (en) 2010-03-30 2013-04-02 Citrix Systems, Inc. Storage optimization selection within a virtualization environment
US9229783B2 (en) 2010-03-31 2016-01-05 International Business Machines Corporation Methods and apparatus for resource capacity evaluation in a system of virtual containers
US9111031B2 (en) 2010-04-16 2015-08-18 Salesforce.Com, Inc. Method and system for simulating and analyzing code execution in an on-demand service environment
US8996611B2 (en) 2011-01-31 2015-03-31 Microsoft Technology Licensing, Llc Parallel serialization of request processing
US9104484B2 (en) 2010-04-21 2015-08-11 Salesforce.Com, Inc. Methods and systems for evaluating bytecode in an on-demand service environment including translation of apex to bytecode
US8959496B2 (en) 2010-04-21 2015-02-17 Microsoft Corporation Automatic parallelization in a tracing just-in-time compiler system
US8627426B2 (en) 2010-04-26 2014-01-07 Vmware, Inc. Cloud platform architecture
US8713565B2 (en) * 2010-04-28 2014-04-29 International Business Machines Corporation Automated tuning in a virtual machine computing environment
US20110276963A1 (en) 2010-05-04 2011-11-10 Riverbed Technology, Inc. Virtual Data Storage Devices and Applications Over Wide Area Networks
US8566792B2 (en) 2010-05-07 2013-10-22 Salesforce, Inc. Validating visual components
US9461996B2 (en) 2010-05-07 2016-10-04 Citrix Systems, Inc. Systems and methods for providing a single click access to enterprise, SAAS and cloud hosted application
EP2569698B1 (en) 2010-05-10 2019-07-10 Citrix Systems, Inc. Redirection of information from secure virtual machines to unsecure virtual machines
US9116733B2 (en) 2010-05-28 2015-08-25 Bromium, Inc. Automated provisioning of secure virtual execution environment using virtual machine templates based on requested activity
US9239909B2 (en) 2012-01-25 2016-01-19 Bromium, Inc. Approaches for protecting sensitive data within a guest operating system
US8972980B2 (en) 2010-05-28 2015-03-03 Bromium, Inc. Automated provisioning of secure virtual execution environment using virtual machine templates based on requested activity
JP5513997B2 (ja) 2010-06-07 2014-06-04 日本電信電話株式会社 通信システムおよび通信システム更新方法
US8656387B2 (en) 2010-06-17 2014-02-18 Gridcentric Inc. Method and system for workload distributing and processing across a network of replicated virtual machines
US8887163B2 (en) 2010-06-25 2014-11-11 Ebay Inc. Task scheduling based on dependencies and resources
US8719415B1 (en) 2010-06-28 2014-05-06 Amazon Technologies, Inc. Use of temporarily available computing nodes for dynamic scaling of a cluster
US8739170B1 (en) 2010-06-30 2014-05-27 Amazon Technologies, Inc. Managing requests for computing capacity
US8473949B2 (en) 2010-07-08 2013-06-25 Microsoft Corporation Methods for supporting users with task continuity and completion across devices and time
US8782434B1 (en) 2010-07-15 2014-07-15 The Research Foundation For The State University Of New York System and method for validating program execution at run-time
US20120016721A1 (en) 2010-07-15 2012-01-19 Joseph Weinman Price and Utility Optimization for Cloud Computing Resources
US8341462B2 (en) * 2010-07-19 2012-12-25 Soasta, Inc. System and method for provisioning and running a cross-cloud test grid
US8612413B2 (en) 2010-08-12 2013-12-17 Cdnetworks Co., Ltd. Distributed data cache for on-demand application acceleration
EP2609502A4 (en) 2010-08-24 2017-03-29 Jay Moorthi Method and apparatus for clearing cloud compute demand
US8359496B1 (en) 2010-08-31 2013-01-22 Google Inc. Fault-resistant just-in-time compiler
US8490088B2 (en) 2010-09-10 2013-07-16 International Business Machines Corporation On demand virtual machine image streaming
US8694400B1 (en) 2010-09-14 2014-04-08 Amazon Technologies, Inc. Managing operational throughput for shared resources
JP5476261B2 (ja) 2010-09-14 2014-04-23 株式会社日立製作所 マルチテナント型情報処理システム、管理サーバ及び構成管理方法
JP5644307B2 (ja) 2010-09-17 2014-12-24 富士通株式会社 情報処理装置、情報処理装置の制御方法及び制御プログラム
JP5653151B2 (ja) 2010-09-17 2015-01-14 キヤノン株式会社 クラウドコンピューティングシステム、クラウドコンピューティングシステムの制御方法、および管理アプリケーション
US8661120B2 (en) 2010-09-21 2014-02-25 Amazon Technologies, Inc. Methods and systems for dynamically managing requests for computing capacity
US8661076B2 (en) 2010-09-23 2014-02-25 Salesforce.Com, Inc. Business networking information feed alerts
CN103154926B (zh) 2010-09-30 2016-06-01 亚马逊技术股份有限公司 用专用实施资源进行虚拟资源成本追踪
JP5278624B2 (ja) 2010-10-12 2013-09-04 富士通株式会社 シミュレーション装置,方法,およびプログラム
US9069610B2 (en) * 2010-10-13 2015-06-30 Microsoft Technology Licensing, Llc Compute cluster with balanced resources
US8607054B2 (en) 2010-10-15 2013-12-10 Microsoft Corporation Remote access to hosted virtual machines by enterprise users
US8904190B2 (en) 2010-10-20 2014-12-02 Advanced Micro Devices, Inc. Method and apparatus including architecture for protecting sensitive code and data
US8375389B2 (en) 2010-10-20 2013-02-12 Microsoft Corporation Ordered scheduling of suspended processes based on resumption events
US8296267B2 (en) 2010-10-20 2012-10-23 Microsoft Corporation Upgrade of highly available farm server groups
US9753713B2 (en) 2010-10-22 2017-09-05 Microsoft Technology Licensing, Llc Coordinated upgrades in distributed systems
JP2014038364A (ja) 2010-10-27 2014-02-27 Hitachi Ltd リソース管理サーバ、リソース管理方法及びリソース管理プログラム
US9645839B2 (en) 2010-10-27 2017-05-09 Microsoft Technology Licensing, Llc Stateful applications operating in a stateless cloud computing environment
US8756696B1 (en) 2010-10-30 2014-06-17 Sra International, Inc. System and method for providing a virtualized secure data containment service with a networked environment
US9253016B2 (en) 2010-11-02 2016-02-02 International Business Machines Corporation Management of a data network of a computing environment
US8959220B2 (en) 2010-11-02 2015-02-17 International Business Machines Corporation Managing a workload of a plurality of virtual servers of a computing environment
US9081613B2 (en) 2010-11-02 2015-07-14 International Business Machines Corporation Unified resource manager providing a single point of control
RO127693A2 (ro) 2010-12-02 2012-07-30 Adobe Systems Incorporated Transmitere html nativă integrată
US20120151479A1 (en) 2010-12-10 2012-06-14 Salesforce.Com, Inc. Horizontal splitting of tasks within a homogenous pool of virtual machines
US8601323B2 (en) 2010-12-13 2013-12-03 Sap Ag Advanced management of runtime errors
CN103403707B (zh) 2010-12-28 2017-11-14 思杰系统有限公司 用于数据库代理请求交换的系统和方法
US8560699B1 (en) 2010-12-28 2013-10-15 Amazon Technologies, Inc. Enforceable launch configurations
US8745734B1 (en) 2010-12-29 2014-06-03 Amazon Technologies, Inc. Managing virtual computing testing
US8713566B2 (en) 2011-01-31 2014-04-29 International Business Machines Corporation Method and system for delivering and executing virtual container on logical partition of target computing device
US8756581B2 (en) 2011-02-03 2014-06-17 International Business Machines Corporation Adaptive next-executing-cycle trace selection for trace-driven code optimizers
US9967318B2 (en) 2011-02-09 2018-05-08 Cisco Technology, Inc. Apparatus, systems, and methods for cloud agnostic multi-tier application modeling and deployment
US8903943B2 (en) 2011-02-15 2014-12-02 Salesforce.Com, Inc. Integrating cloud applications and remote jobs
US8555281B1 (en) 2011-02-16 2013-10-08 Google Inc. Scheduling of tasks based upon historical execution times
US8495648B1 (en) 2011-02-28 2013-07-23 Amazon Technologies, Inc. Managing allocation of computing capacity
US9141410B2 (en) 2011-03-08 2015-09-22 Rackspace Us, Inc. Pluggable allocation in a cloud computing system
US9552215B2 (en) 2011-03-08 2017-01-24 Rackspace Us, Inc. Method and system for transferring a virtual machine
WO2012125564A1 (en) 2011-03-11 2012-09-20 Resource Interactive, Llc Payment card industry data security standard compliant proxy service
US8392558B1 (en) 2011-03-22 2013-03-05 Amazon Technologies, Inc. System and method for determining overload state for service requests
US8429282B1 (en) 2011-03-22 2013-04-23 Amazon Technologies, Inc. System and method for avoiding system overload by maintaining an ideal request rate
US8910156B1 (en) 2011-04-29 2014-12-09 Netapp, Inc. Virtual machine dependency
JP5892164B2 (ja) 2011-06-14 2016-03-23 日本電気株式会社 コンテンツ配信システム、制御装置およびコンテンツ配信方法
US20120324236A1 (en) 2011-06-16 2012-12-20 Microsoft Corporation Trusted Snapshot Generation
US8756322B1 (en) 2011-06-16 2014-06-17 Amazon Technologies, Inc Fulfillment of requests for computing capacity
FR2977116A1 (fr) 2011-06-27 2012-12-28 France Telecom Procede de fourniture de service d'execution de logiciel a la demande
US9450838B2 (en) * 2011-06-27 2016-09-20 Microsoft Technology Licensing, Llc Resource management for cloud computing platforms
US8615589B1 (en) * 2011-06-27 2013-12-24 Amazon Technologies, Inc. Resource optimization recommendations
US9595054B2 (en) * 2011-06-27 2017-03-14 Microsoft Technology Licensing, Llc Resource management for cloud computing platforms
EP2726980A1 (en) 2011-06-29 2014-05-07 Hewlett-Packard Development Company, L.P. Application migration with dynamic operating system containers
KR101507919B1 (ko) 2011-07-01 2015-04-07 한국전자통신연구원 가상 데스크탑 서비스를 위한 방법 및 장치
US8671407B2 (en) 2011-07-06 2014-03-11 Microsoft Corporation Offering network performance guarantees in multi-tenant datacenters
US8819679B2 (en) 2011-07-28 2014-08-26 International Business Machines Corporation Methods and systems for on-boarding applications to a cloud
US8813074B2 (en) 2011-08-05 2014-08-19 Vmware, Inc. Detecting and correcting network interruptions using network address translation
US8533715B2 (en) 2011-08-09 2013-09-10 International Business Machines Corporation Virtual machine management
US9152405B2 (en) 2011-08-22 2015-10-06 International Business Machines Corporation Rapid provisioning of virtual machines based on multi-dimensional user request patterns in a cloud
US9516368B2 (en) 2011-08-25 2016-12-06 At&T Intellectual Property I, L.P. System for consolidating heterogeneous data centers through virtualization of services
WO2013029051A2 (en) 2011-08-25 2013-02-28 to fuVIRTUSTREAM, INC. Systems and methods of host-aware resource management involving cluster-based resource pools
US8898676B2 (en) 2011-08-26 2014-11-25 Vmware, Inc. Management of software updates for software components in a virtualized environment of a datacenter using dependency relationships
US8832035B2 (en) 2011-08-30 2014-09-09 Netapp, Inc. System and method for retaining deduplication in a storage object after a clone split operation
US8635607B2 (en) 2011-08-30 2014-01-21 Microsoft Corporation Cloud-based build service
US20130061220A1 (en) 2011-09-06 2013-03-07 Xerox Corporation Method for on-demand inter-cloud load provisioning for transient bursts of computing needs
US8621439B2 (en) 2011-09-06 2013-12-31 Microsoft Corporation Modern application tracing
US8863082B2 (en) 2011-09-07 2014-10-14 Microsoft Corporation Transformational context-aware data source management
JP5740257B2 (ja) 2011-09-08 2015-06-24 株式会社日立ソリューションズ OSGiプログラム、OSGiシステム
US8578394B2 (en) 2011-09-09 2013-11-05 Microsoft Corporation Exempting applications from suspension
JP2013061700A (ja) 2011-09-12 2013-04-04 Sony Corp 情報処理装置、情報処理方法、記録媒体および情報処理システム
US8839035B1 (en) 2011-09-14 2014-09-16 Amazon Technologies, Inc. Cloud-based test execution
US8825863B2 (en) 2011-09-20 2014-09-02 International Business Machines Corporation Virtual machine placement within a server farm
US9225772B2 (en) 2011-09-26 2015-12-29 Knoa Software, Inc. Method, system and program product for allocation and/or prioritization of electronic resources
US8825964B1 (en) * 2011-09-26 2014-09-02 Emc Corporation Adaptive integration of cloud data services with a data storage system
US9497136B1 (en) * 2011-09-28 2016-11-15 Emc Corporation Method and system for providing usage metrics to manage utilzation of cloud computing resources
DE102012217202B4 (de) * 2011-10-12 2020-06-18 International Business Machines Corporation Verfahren und System zum Optimieren des Platzierens virtueller Maschinen in Cloud-Computing-Umgebungen
US8914515B2 (en) 2011-10-28 2014-12-16 International Business Machines Corporation Cloud optimization using workload analysis
US9213503B2 (en) 2011-10-30 2015-12-15 Hewlett-Packard Development Company, L.P. Service provider management of virtual instances corresponding to hardware resources managed by other service providers
JP5624973B2 (ja) 2011-11-04 2014-11-12 株式会社日立製作所 フィルタリング装置
US9003141B2 (en) 2011-11-14 2015-04-07 Ca, Inc. Enhanced software application platform
WO2013073504A1 (ja) 2011-11-15 2013-05-23 独立行政法人科学技術振興機構 プログラム解析・検証サービス提供システム、その制御方法、制御プログラム、コンピュータを機能させるための制御プログラム、プログラム解析・検証装置、プログラム解析・検証ツール管理装置
TWI478063B (zh) 2011-11-21 2015-03-21 Inst Information Industry 於虛擬機器提供應用程式之系統以及方法以及儲存其之電腦可讀取記錄媒體
CA2889387C (en) 2011-11-22 2020-03-24 Solano Labs, Inc. System of distributed software quality improvement
US8924954B2 (en) 2011-11-22 2014-12-30 Huawei Technologies Co., Ltd. Application software installation method and application software installation apparatus
TW201322022A (zh) 2011-11-24 2013-06-01 Alibaba Group Holding Ltd 分散式資料流處理方法及其系統
US8826277B2 (en) 2011-11-29 2014-09-02 International Business Machines Corporation Cloud provisioning accelerator
US9009250B2 (en) 2011-12-07 2015-04-14 Seven Networks, Inc. Flexible and dynamic integration schemas of a traffic management system with various network operators for network traffic alleviation
US8769519B2 (en) 2011-12-08 2014-07-01 Microsoft Corporation Personal and pooled virtual machine update
US9363099B2 (en) 2011-12-13 2016-06-07 Ericsson Ab UPnP/DLNA with RADA hive
US8694995B2 (en) 2011-12-14 2014-04-08 International Business Machines Corporation Application initiated negotiations for resources meeting a performance parameter in a virtualized computing environment
US9635132B1 (en) 2011-12-15 2017-04-25 Amazon Technologies, Inc. Service and APIs for remote volume-based block storage
US10310878B2 (en) 2011-12-16 2019-06-04 Vmware, Inc. Execution of an application in a runtime environment installed in a virtual appliance
US9609020B2 (en) 2012-01-06 2017-03-28 Optio Labs, Inc. Systems and methods to enforce security policies on the loading, linking, and execution of native code by mobile applications running inside of virtual machines
US8904008B2 (en) * 2012-01-09 2014-12-02 Microsoft Corporation Assignment of resources in virtual machine pools
US9372735B2 (en) 2012-01-09 2016-06-21 Microsoft Technology Licensing, Llc Auto-scaling of pool of virtual machines based on auto-scaling rules of user associated with the pool
US9170849B2 (en) 2012-01-09 2015-10-27 Microsoft Technology Licensing, Llc Migration of task to different pool of resources based on task retry count during task lease
US20130179894A1 (en) 2012-01-09 2013-07-11 Microsoft Corporation Platform as a service job scheduling
US20130185729A1 (en) 2012-01-13 2013-07-18 Rutgers, The State University Of New Jersey Accelerating resource allocation in virtualized environments using workload classes and/or workload signatures
US9223607B2 (en) 2012-01-17 2015-12-29 Microsoft Technology Licensing, Llc System for replicating or migrating virtual machine operations log by throttling guest write iOS based on destination throughput
US9208007B2 (en) 2012-01-18 2015-12-08 International Business Machines Corporation Open resilience framework for simplified and coordinated orchestration of multiple availability managers
WO2013112151A1 (en) 2012-01-26 2013-08-01 Empire Technology Development Llc Data center with continuous world switch security
US9262238B2 (en) 2012-01-31 2016-02-16 Red Hat, Inc. Connection management for an application in a computing platform
US9110728B2 (en) 2012-01-31 2015-08-18 Vmware, Inc. Elastic allocation of computing resources to software applications
KR101629879B1 (ko) 2012-02-06 2016-06-13 엠파이어 테크놀로지 디벨롭먼트 엘엘씨 캐시 사용 기반 어댑티브 스케줄링을 가지는 멀티코어 컴퓨터 시스템
TWI459296B (zh) * 2012-02-21 2014-11-01 Hon Hai Prec Ind Co Ltd 增加伺服器的虛擬機配置數量的方法
US20130227710A1 (en) 2012-02-27 2013-08-29 Computer Associates Think, Inc. System and method for securing leased images in a cloud environment
US9720668B2 (en) 2012-02-29 2017-08-01 Red Hat, Inc. Creating and maintaining multi-tenant applications in a platform-as-a-service (PaaS) environment of a cloud computing system
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
CN103294554A (zh) 2012-03-05 2013-09-11 中兴通讯股份有限公司 片上系统soc的多处理器的调度方法及装置
US9112935B2 (en) 2012-03-05 2015-08-18 Microsoft Technology Licensing, Llc Manipulating binary large objects
US9009734B2 (en) 2012-03-06 2015-04-14 Autodesk, Inc. Application level speculative processing
US8725702B1 (en) 2012-03-15 2014-05-13 Symantec Corporation Systems and methods for repairing system files
US10222926B2 (en) 2012-03-19 2019-03-05 Citrix Systems, Inc. Systems and methods for providing user interfaces for management applications
US9026658B2 (en) 2012-03-28 2015-05-05 Microsoft Technology Licensing, Llc Enhanced computer cluster operation using resource allocation requests
US20130263117A1 (en) * 2012-03-28 2013-10-03 International Business Machines Corporation Allocating resources to virtual machines via a weighted cost ratio
CN104321782B (zh) 2012-03-30 2018-01-12 爱迪德技术有限公司 web应用的安全执行
US9462081B2 (en) 2012-04-17 2016-10-04 Igt Cloud based virtual environment validation
US8997093B2 (en) 2012-04-17 2015-03-31 Sap Se Application installation management by selectively reuse or terminate virtual machines based on a process status
US9256413B2 (en) 2012-04-17 2016-02-09 Sap Se Automatic identification of services
US9053603B2 (en) 2012-04-17 2015-06-09 Igt Cloud based virtual environment authentication
US20130283141A1 (en) 2012-04-20 2013-10-24 Latitude Geographics Group Ltd. Client Agnostic Spatial Workflow Form Definition and Rendering
CN104303168B (zh) 2012-04-25 2016-12-07 英派尔科技开发有限公司 用于灵活资源需求应用的认证
US8918510B2 (en) 2012-04-27 2014-12-23 Hewlett-Packard Development Company, L. P. Evaluation of cloud computing services
BR112014018142A8 (pt) 2012-04-30 2017-07-11 Hewlett Packard Development Co Sistema de gestão automática de eventos para uma rede na nuvem, método para administrar eventos para serviços na nuvem e sistema de gerenciamento de eventos em nuvem
US8955091B2 (en) 2012-04-30 2015-02-10 Zscaler, Inc. Systems and methods for integrating cloud services with information management systems
US8850514B2 (en) 2012-05-01 2014-09-30 Red Hat, Inc. Cartridges in a multi-tenant platforms-as-a-service (PaaS) system implemented in a cloud computing environment
US8843935B2 (en) 2012-05-03 2014-09-23 Vmware, Inc. Automatically changing a pre-selected datastore associated with a requested host for a virtual machine deployment based on resource availability during deployment of the virtual machine
GB2501757A (en) 2012-05-04 2013-11-06 Ibm Instrumentation of software applications for configuration thereof
EP2663052B1 (en) 2012-05-09 2021-02-24 Netflix, Inc. API Platform That Includes Server-Executed Client-Based Code
US9098528B2 (en) 2012-05-15 2015-08-04 Hitachi, Ltd. File storage system and load distribution method
US8806644B1 (en) 2012-05-25 2014-08-12 Symantec Corporation Using expectation measures to identify relevant application analysis results
US8904402B2 (en) 2012-05-30 2014-12-02 Red Hat, Inc. Controlling capacity in a multi-tenant platform-as-a-service environment in a cloud computing system
US8850432B2 (en) 2012-05-30 2014-09-30 Red Hat, Inc. Controlling utilization in a multi-tenant platform-as-a-service (PaaS) environment in a cloud computing system
US8799236B1 (en) 2012-06-15 2014-08-05 Amazon Technologies, Inc. Detecting duplicated content among digital items
US9317689B2 (en) 2012-06-15 2016-04-19 Visa International Service Association Method and apparatus for secure application execution
US8782632B1 (en) 2012-06-18 2014-07-15 Tellabs Operations, Inc. Methods and apparatus for performing in-service software upgrade for a network device using system virtualization
US9342326B2 (en) 2012-06-19 2016-05-17 Microsoft Technology Licensing, Llc Allocating identified intermediary tasks for requesting virtual machines within a trust sphere on a processing goal
US9141432B2 (en) 2012-06-20 2015-09-22 International Business Machines Corporation Dynamic pending job queue length for job distribution within a grid environment
US8869157B2 (en) 2012-06-21 2014-10-21 Breakingpoint Systems, Inc. Systems and methods for distributing tasks and/or processing recources in a system
US8959484B2 (en) * 2012-06-21 2015-02-17 Microsoft Corporation System for hosted, shared, source control build
US8832820B2 (en) 2012-06-25 2014-09-09 International Business Machines Corporation Isolation and security hardening among workloads in a multi-tenant networked environment
US10031782B2 (en) 2012-06-26 2018-07-24 Juniper Networks, Inc. Distributed processing of network device tasks
US9098308B2 (en) 2012-06-26 2015-08-04 Marvell World Trade Ltd. Method and apparatus for code performance analysis based on execution trace information
US20140007097A1 (en) * 2012-06-29 2014-01-02 Brocade Communications Systems, Inc. Dynamic resource allocation for virtual machines
US20150095822A1 (en) 2012-07-02 2015-04-02 eScoreMusic, Inc. Systems and methods for music display, collaboration, annotation, composition, and editing
US9396008B2 (en) 2012-07-13 2016-07-19 Ca, Inc. System and method for continuous optimization of computing systems with automated assignment of virtual machines and physical machines to hosts
US9152443B2 (en) 2012-07-13 2015-10-06 Ca, Inc. System and method for automated assignment of virtual machines and physical machines to hosts with right-sizing
US9298497B2 (en) 2012-07-13 2016-03-29 Wisconsin Alumni Research Foundation Computer processor providing exception handling with reduced state storage
US8972956B2 (en) 2012-08-02 2015-03-03 International Business Machines Corporation Application deployment in heterogeneous environments
US9563480B2 (en) 2012-08-21 2017-02-07 Rackspace Us, Inc. Multi-level cloud computing system
US8825550B2 (en) * 2012-08-23 2014-09-02 Amazon Technologies, Inc. Scaling a virtual machine instance
US20140059552A1 (en) 2012-08-24 2014-02-27 International Business Machines Corporation Transparent efficiency for in-memory execution of map reduce job sequences
US9110844B2 (en) 2012-08-27 2015-08-18 Microsoft Technology Licensing, Llc State maintenance as a service
US9575871B2 (en) 2012-09-04 2017-02-21 Salesforce.Com, Inc. System and method for dynamically debugging data in a multi-tenant database environment
US8966495B2 (en) 2012-09-05 2015-02-24 Cisco Technology, Inc. Dynamic virtual machine consolidation
US8978035B2 (en) 2012-09-06 2015-03-10 Red Hat, Inc. Scaling of application resources in a multi-tenant platform-as-a-service environment in a cloud computing system
US20140073300A1 (en) 2012-09-10 2014-03-13 Genband Us Llc Managing Telecommunication Services using Proximity-based Technologies
US9379995B2 (en) * 2012-09-11 2016-06-28 Vmware, Inc. Resource allocation diagnosis on distributed computer systems based on resource hierarchy
US9323577B2 (en) * 2012-09-20 2016-04-26 Amazon Technologies, Inc. Automated profiling of resource usage
US9116680B2 (en) 2012-09-26 2015-08-25 International Business Machines Corporation Dynamically building locale objects or subsections of locale objects based on historical data
US9563663B2 (en) 2012-09-28 2017-02-07 Oracle International Corporation Fast path evaluation of Boolean predicates
JP2014075046A (ja) 2012-10-04 2014-04-24 International Business Maschines Corporation トレース生成方法、装置、プログラム、及び該方法を利用したマルチレベルのコンパイレーション
US9507586B2 (en) 2012-10-05 2016-11-29 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Virtual machine based controller and upgrade mechanism
US8613070B1 (en) 2012-10-12 2013-12-17 Citrix Systems, Inc. Single sign-on access in an orchestration framework for connected devices
US9081682B2 (en) 2012-10-15 2015-07-14 Red Hat Israel, Ltd. Virtual machine installation image caching
US20140109176A1 (en) 2012-10-15 2014-04-17 Citrix Systems, Inc. Configuring and providing profiles that manage execution of mobile applications
US20160019536A1 (en) 2012-10-17 2016-01-21 Royal Bank Of Canada Secure processing of data
US9600316B2 (en) 2012-10-17 2017-03-21 Microsoft Technology Licensing, Llc Augmented allocation of virtual machines for application
US9229759B2 (en) 2012-10-17 2016-01-05 Microsoft Technology Licensing, Llc Virtual machine provisioning using replicated containers
US9262212B2 (en) 2012-11-02 2016-02-16 The Boeing Company Systems and methods for migrating virtual machines
JP6059357B2 (ja) 2012-11-05 2017-01-11 エルジー エレクトロニクス インコーポレイティド 超高周波帯域を支援する無線接続システムにおいて同期信号生成方法及び装置
US9038068B2 (en) 2012-11-15 2015-05-19 Bank Of America Corporation Capacity reclamation and resource adjustment
EP2884394A4 (en) 2012-11-19 2016-04-27 Hitachi Ltd ADMINISTRATION SYSTEM AND DELIVERY METHOD
US9052935B1 (en) 2012-11-27 2015-06-09 Symantec Corporation Systems and methods for managing affinity rules in virtual-machine environments
US9092837B2 (en) 2012-11-29 2015-07-28 International Business Machines Corporation Use of snapshots to reduce risk in migration to a standard virtualized environment
US9363367B2 (en) 2012-12-05 2016-06-07 Future Dial, Inc. Using automatically collected device problem information to route and guide users' requests
US9052932B2 (en) 2012-12-17 2015-06-09 International Business Machines Corporation Hybrid virtual machine configuration management
US9086902B2 (en) * 2012-12-18 2015-07-21 International Business Machines Corporation Sending tasks between virtual machines based on expiration times
US9063795B2 (en) 2012-12-19 2015-06-23 International Business Machines Corporation Adaptive resource usage limits for workload management
US9329900B2 (en) 2012-12-28 2016-05-03 Intel Corporation Hetergeneous processor apparatus and method
US9459856B2 (en) 2013-01-02 2016-10-04 International Business Machines Corporation Effective migration and upgrade of virtual machines in cloud environments
US9384517B2 (en) 2013-03-14 2016-07-05 Google Inc. Rendering
US9304793B2 (en) 2013-01-16 2016-04-05 Vce Company, Llc Master automation service
US8886769B2 (en) 2013-01-18 2014-11-11 Limelight Networks, Inc. Selective content pre-warming in content delivery networks based on user actions and content categorizations
US9329888B2 (en) 2013-01-28 2016-05-03 International Business Machines Corporation Computing optimized virtual machine allocations using equivalence combinations
US10223431B2 (en) 2013-01-31 2019-03-05 Facebook, Inc. Data stream splitting for low-latency data access
US10552774B2 (en) 2013-02-11 2020-02-04 Amazon Technologies, Inc. Cost-minimizing task scheduler
US9575798B2 (en) 2013-02-25 2017-02-21 Hitachi, Ltd. Method of managing tenant network configuration in environment where virtual server and non-virtual server coexist
US9336031B2 (en) * 2013-02-27 2016-05-10 International Business Machines Corporation Managing allocation of hardware resources in a virtualized environment
US20140282540A1 (en) * 2013-03-13 2014-09-18 Arnaud Bonnet Performant host selection for virtualization centers
US9524489B2 (en) 2013-03-14 2016-12-20 Samsung Electronics Co., Ltd. Computing system with task transfer mechanism and method of operation thereof
US9027087B2 (en) 2013-03-14 2015-05-05 Rackspace Us, Inc. Method and system for identity-based authentication of virtual machines
US8677359B1 (en) 2013-03-14 2014-03-18 Joyent, Inc. Compute-centric object stores and methods of use
US9092238B2 (en) 2013-03-15 2015-07-28 Joyent, Inc. Versioning schemes for compute-centric object stores
US9910896B2 (en) 2013-03-15 2018-03-06 Cisco Technology, Inc. Suspending and resuming continuous queries over data streams
US9311221B2 (en) 2013-03-15 2016-04-12 Ab Initio Technology Llc Recording program execution
US10430332B2 (en) 2013-03-25 2019-10-01 Salesforce.Com, Inc. System and method for performance tuning of garbage collection algorithms
US8893088B2 (en) 2013-04-02 2014-11-18 Apple Inc. Dynamic program evaluation for system adaptation
US10019297B2 (en) 2013-04-03 2018-07-10 Salesforce.Com, Inc. Systems and methods for implementing bulk handling in asynchronous processing
WO2014165933A1 (en) 2013-04-13 2014-10-16 Kiss Digital Media Pty Ltd Methods, systems, apparatus, products, articles and data structures for cross-platform digital content
US9329881B2 (en) 2013-04-23 2016-05-03 Sap Se Optimized deployment of data services on the cloud
CN103220365B (zh) * 2013-04-27 2016-01-20 华南理工大学 一种云计算弹性资源预测及构建方法
US9929916B1 (en) 2013-05-02 2018-03-27 Aspen Technology, Inc. Achieving stateful application software service behavior in distributed stateless systems
US9104848B2 (en) 2013-05-08 2015-08-11 International Business Machines Corporation Cross-platform authentication from within a rich client
US10572124B2 (en) * 2013-05-20 2020-02-25 Citrix Systems, Inc. Bound based contextual zoom
US9628332B2 (en) 2013-05-20 2017-04-18 Microsoft Technology Licensing, Llc Resource allocation to game titles in a remote gaming environment
US9110732B1 (en) 2013-06-07 2015-08-18 Amazon Technologies, Inc. Proxy for injecting configuration information
US9489227B2 (en) 2013-06-10 2016-11-08 Electronics And Telecommunications Research Institute Apparatus and method for virtual desktop service
US9767138B2 (en) 2013-06-12 2017-09-19 Oracle International Corporation In-database sharded queue for a shared-disk database
US9141461B2 (en) 2013-06-23 2015-09-22 Intel Corporation Machine check architecture execution environment for non-microcoded processor
US9652617B1 (en) 2013-06-25 2017-05-16 Amazon Technologies, Inc. Analyzing security of applications
EP3028210B1 (en) 2013-08-02 2020-01-08 OLogN Technologies AG Secure server in a system with virtual machines
US9990499B2 (en) 2013-08-05 2018-06-05 Netflix, Inc. Dynamic security testing
US9111037B1 (en) 2013-08-21 2015-08-18 Ca, Inc. Method and apparatus to enable mainframe computer testing for software testing management platform
US20150067019A1 (en) 2013-08-28 2015-03-05 Soeren Balko Method and system for using arbitrary computing devices for distributed data processing
US9591003B2 (en) 2013-08-28 2017-03-07 Amazon Technologies, Inc. Dynamic application security verification
US20150074659A1 (en) 2013-09-06 2015-03-12 Vmware, Inc. Methods and Apparatus to Perform Web-Based Installations and/or Upgrade Architectures for Enterprise Software
US9680772B2 (en) 2013-09-09 2017-06-13 Vmware, Inc. System and method for managing configuration of virtual switches in a virtual machine network
US10339236B2 (en) 2013-09-10 2019-07-02 Vmware, Inc. Techniques for improving computational throughput by using virtual machines
US9298633B1 (en) 2013-09-18 2016-03-29 Emc Corporation Adaptive prefecth for predicted write requests
US20150106805A1 (en) 2013-10-15 2015-04-16 Cisco Technology, Inc. Accelerated instantiation of cloud resource
US10193963B2 (en) 2013-10-24 2019-01-29 Vmware, Inc. Container virtual machines for hadoop
US10635644B2 (en) 2013-11-11 2020-04-28 Amazon Technologies, Inc. Partition-based data stream processing framework
CA2928729C (en) 2013-11-13 2023-08-08 Evident.io, Inc. Automated sdk ingestion
US9298485B2 (en) 2013-11-19 2016-03-29 International Business Machines Corporation Maintaining virtual machines for cloud-based operators in a streaming application in a ready state
CN103946807B (zh) 2013-11-20 2016-03-09 华为技术有限公司 一种生成快照的方法、系统和装置
US9417918B2 (en) 2013-11-20 2016-08-16 International Business Machines Corporation Computing session workload scheduling and management of parent-child tasks
CN104142858B (zh) 2013-11-29 2016-09-28 腾讯科技(深圳)有限公司 阻塞任务调度方法及装置
US9213572B2 (en) 2013-12-02 2015-12-15 Vmware, Inc. Interdependent virtual machine management
WO2015084319A1 (en) 2013-12-03 2015-06-11 Hewlett-Packard Development Company, L.P. Code routine performance prediction using test results from code integration tool
RU2571723C2 (ru) 2013-12-05 2015-12-20 Закрытое акционерное общество "Лаборатория Касперского" Система и способ для снижения нагрузки на операционную систему при работе антивирусного приложения
US9164754B1 (en) 2013-12-18 2015-10-20 Amazon Technologies, Inc. Runtime patching of native-code programs
US9477507B2 (en) 2013-12-20 2016-10-25 Vmware, Inc. State customization of forked virtual machines
US9501345B1 (en) 2013-12-23 2016-11-22 Intuit Inc. Method and system for creating enriched log data
US9665235B2 (en) 2013-12-31 2017-05-30 Vmware, Inc. Pre-configured hyper-converged computing device
CN104765620B (zh) 2014-01-02 2018-01-26 国际商业机器公司 一种程序模块部署的方法和系统
EP2894564A1 (en) 2014-01-10 2015-07-15 Fujitsu Limited Job scheduling based on historical job data
WO2015108539A1 (en) 2014-01-20 2015-07-23 Hewlett-Packard Development Company, L.P. Determining a permission of a first tenant with respect to a second tenant
JP6412943B2 (ja) 2014-02-07 2018-10-24 オラクル・インターナショナル・コーポレイション クラウドサービスカスタム実行環境
US10133741B2 (en) 2014-02-13 2018-11-20 Amazon Technologies, Inc. Log data service in a virtual environment
US20170068574A1 (en) 2014-02-25 2017-03-09 Hewlett Packard Enterprise Development Lp Multiple pools in a multi-core system
US10296362B2 (en) 2014-02-26 2019-05-21 Red Hat Israel, Ltd. Execution of a script based on properties of a virtual device associated with a virtual machine
US9110770B1 (en) 2014-03-04 2015-08-18 Amazon Technologies, Inc. Assessing quality of code in an open platform environment
US20150254248A1 (en) 2014-03-07 2015-09-10 Printeron Inc. System for suggesting network resource for use by a network terminal based on network resource ranking
US9455960B2 (en) 2014-03-14 2016-09-27 Soha Systems, Inc. Secure application delivery system with dynamic stitching of network connections in the cloud
US9632835B2 (en) 2014-03-17 2017-04-25 Ca, Inc. Deployment of virtual machines to physical host machines based on infrastructure utilization decisions
US10044761B2 (en) 2014-03-18 2018-08-07 British Telecommunications Public Limited Company User authentication based on user characteristic authentication rules
US10572817B2 (en) 2014-03-19 2020-02-25 Peopleconnect, Inc. Graph-based organization entity resolution
US9720661B2 (en) 2014-03-31 2017-08-01 International Businesss Machines Corporation Selectively controlling use of extended mode features
JP2015210718A (ja) 2014-04-28 2015-11-24 富士通株式会社 記憶制御装置、ストレージシステム、および記憶制御プログラム
US9459860B2 (en) 2014-04-30 2016-10-04 Paypal, Inc. Mixed mode session management
US9223966B1 (en) 2014-05-04 2015-12-29 Symantec Corporation Systems and methods for replicating computing system environments
US9652631B2 (en) 2014-05-05 2017-05-16 Microsoft Technology Licensing, Llc Secure transport of encrypted virtual machines with continuous owner access
US9678778B1 (en) 2014-05-07 2017-06-13 Google Inc. Virtual cluster as a service (VCIaaS)
US9858060B2 (en) 2014-05-09 2018-01-02 International Business Machines Corporation Automated deployment of a private modular cloud-computing environment
US20150324229A1 (en) 2014-05-09 2015-11-12 International Business Machines Corporation Propagation of task progress through the use of coalesced time intervals
US20150332195A1 (en) 2014-05-13 2015-11-19 Linkedln Corporation Facilitating performance monitoring for periodically scheduled workflows
US9250893B2 (en) 2014-05-14 2016-02-02 Western Digital Technologies, Inc. Virtualized and automated software build system
WO2015175942A1 (en) 2014-05-15 2015-11-19 Carnegie Mellon University Method and apparatus for on-demand i/o channels for secure applications
WO2015176046A1 (en) 2014-05-15 2015-11-19 Lynx Software Technologies, Inc. Systems and methods involving features of hardware virtualization, hypervisor, apis of interest, and/or other features
FR3021108B1 (fr) 2014-05-16 2016-05-06 Thales Sa Procede d'execution de services en temps reel, notamment de gestion de vol et systeme temps reel mettant en oeuvre un tel procede
US9525893B2 (en) 2014-05-28 2016-12-20 Verizon Patent And Licensing Inc. Methods and systems for managing storage of media program copies within a network digital video recording system
US9703681B2 (en) 2014-05-29 2017-07-11 Microsoft Technology Licensing, Llc Performance optimization tip presentation during debugging
US9361102B2 (en) 2014-06-09 2016-06-07 Lehigh University Methods for enforcing control flow of a computer program
US9390260B2 (en) 2014-06-09 2016-07-12 Lehigh University Methods for enforcing control flow of a computer program
US9218176B1 (en) 2014-06-13 2015-12-22 International Business Machines Corporation Software deployment in a distributed virtual machine environment
US10061687B2 (en) 2014-06-17 2018-08-28 Paypal, Inc. Self-learning and self-validating declarative testing
US20150371244A1 (en) 2014-06-23 2015-12-24 Ca, Inc. Forecasting information technology workload demand
US10162655B2 (en) 2014-06-23 2018-12-25 Vmware, Inc. Hypervisor context switching using TLB tags in processors having more than two hierarchical privilege levels
US10255090B2 (en) 2014-06-23 2019-04-09 Vmware, Inc. Hypervisor context switching using a redirection exception vector in processors having more than two hierarchical privilege levels
US9424065B2 (en) 2014-06-26 2016-08-23 Vmware, Inc. Methods and apparatus to scale application deployments in cloud computing environments using virtual machine pools
US10432699B2 (en) 2014-06-26 2019-10-01 Vmware, Inc. Crowd-sourced operational metric analysis of virtual appliances
US9361145B1 (en) 2014-06-27 2016-06-07 Amazon Technologies, Inc. Virtual machine state replication using DMA write records
US9760443B2 (en) 2014-06-28 2017-09-12 Vmware, Inc. Using a recovery snapshot during live migration
US9483299B2 (en) 2014-06-30 2016-11-01 Bmc Software, Inc. Capacity risk management for virtual machines
US20150378762A1 (en) 2014-06-30 2015-12-31 Vmware, Inc. Monitoring and dynamic configuration of virtual-machine memory-management
US9613127B1 (en) 2014-06-30 2017-04-04 Quantcast Corporation Automated load-balancing of partitions in arbitrarily imbalanced distributed mapreduce computations
CN104123189B (zh) * 2014-06-30 2017-12-01 复旦大学 一种基于IaaS层应用感知的Web多层应用动态资源调整方法
US20160294614A1 (en) 2014-07-07 2016-10-06 Symphony Teleca Corporation Remote Embedded Device Update Platform Apparatuses, Methods and Systems
US9983901B2 (en) 2014-07-09 2018-05-29 Google Llc Dynamic shard allocation adjustment
EP3170105B1 (en) 2014-07-14 2021-09-08 Oracle International Corporation Age-based policies for determining database cache hits
US20160019081A1 (en) 2014-07-21 2016-01-21 Vmware,Inc. Viewing a snapshot of a virtual machine
US9612859B2 (en) 2014-07-21 2017-04-04 Vmware, Inc. Comparing states of a virtual machine
US20160026486A1 (en) 2014-07-25 2016-01-28 Soft Machines, Inc. An allocation and issue stage for reordering a microinstruction sequence into an optimized microinstruction sequence to implement an instruction set agnostic runtime architecture
US20160070714A1 (en) 2014-09-10 2016-03-10 Netapp, Inc. Low-overhead restartable merge operation with efficient crash recovery
US9513941B2 (en) 2014-09-17 2016-12-06 International Business Machines Corporation Codeless generation of APIs
US9436555B2 (en) 2014-09-22 2016-09-06 Commvault Systems, Inc. Efficient live-mount of a backed up virtual machine in a storage management system
US9823983B2 (en) 2014-09-25 2017-11-21 Nxp Usa, Inc. Electronic fault detection unit
US20160092493A1 (en) 2014-09-29 2016-03-31 International Business Machines Corporation Executing map-reduce jobs with named data
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
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
US9830193B1 (en) 2014-09-30 2017-11-28 Amazon Technologies, Inc. Automatic management of low latency computational capacity
US9146764B1 (en) 2014-09-30 2015-09-29 Amazon Technologies, Inc. Processing event messages for user requests to execute program code
US9323556B2 (en) 2014-09-30 2016-04-26 Amazon Technologies, Inc. Programmatic event detection and message generation for requests to execute program code
US9652273B2 (en) 2014-10-02 2017-05-16 Vmware, Inc. Method and system for creating a hierarchy of virtual machine templates in a virtualized computing system
TWI537827B (zh) 2014-10-06 2016-06-11 第五代虛擬科技股份有限公司 應用軟體試用系統、方法及其伺服器與使用者裝置
US9563513B2 (en) 2014-10-09 2017-02-07 International Business Machines Corporation O(1) virtual machine (VM) snapshot management
US9501420B2 (en) 2014-10-22 2016-11-22 Netapp, Inc. Cache optimization technique for large working data sets
US9930133B2 (en) * 2014-10-23 2018-03-27 Netapp, Inc. System and method for managing application performance
JP5904514B1 (ja) 2014-10-28 2016-04-13 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation 仮想マシンのスナップショットに対して更新を自動的に適用する方法、並びに、そのコンピュータ・システム及びコンピュータ・システム用プログラム
US20160125059A1 (en) 2014-11-04 2016-05-05 Rubrik, Inc. Hybrid cloud data management system
US10516733B2 (en) 2014-11-25 2019-12-24 Auth0, Inc. Multi-tenancy via code encapsulated in server requests
US9413626B2 (en) 2014-12-05 2016-08-09 Amazon Technologies, Inc. Automatic management of resource sizing
US9864636B1 (en) * 2014-12-10 2018-01-09 Amazon Technologies, Inc. Allocating processor resources based on a service-level agreement
WO2016094840A2 (en) 2014-12-11 2016-06-16 Ghosh Sudeep System, method & computer readable medium for software protection via composable process-level virtual machines
US9661011B1 (en) 2014-12-17 2017-05-23 Amazon Technologies, Inc. Techniques for data routing and management using risk classification and data sampling
CN104459306B (zh) 2014-12-18 2017-02-22 东北大学 一种电熔镁群炉用电需量远程监控系统及方法
US20160191420A1 (en) 2014-12-27 2016-06-30 Intel Corporation Mitigating traffic steering inefficiencies in distributed uncore fabric
CN105934928B (zh) 2014-12-29 2017-07-07 华为技术有限公司 在分布式资源系统中用户请求的调度方法、装置和系统
US11494447B2 (en) 2015-01-13 2022-11-08 Google Llc Distributed file system for virtualized computing clusters
US10033570B2 (en) 2015-01-15 2018-07-24 International Business Machines Corporation Distributed map reduce network
US9563613B1 (en) 2015-01-23 2017-02-07 Sprint Communications Company L.P. System and method for dynamic portable document file generation
US9733967B2 (en) 2015-02-04 2017-08-15 Amazon Technologies, Inc. Security protocols for low latency execution of program code
US9727725B2 (en) 2015-02-04 2017-08-08 Amazon Technologies, Inc. Security protocols for low latency execution of program code
US9588790B1 (en) 2015-02-04 2017-03-07 Amazon Technologies, Inc. Stateful virtual compute system
US9471775B1 (en) 2015-02-04 2016-10-18 Amazon Technologies, Inc. Security protocols for low latency execution of program code
US9921864B2 (en) 2015-02-26 2018-03-20 Vmware, Inc. Dynamic host performance tuning of a network stack
US9965309B2 (en) 2015-03-23 2018-05-08 Empire Technology Development Llc Virtual machine placement
US9625984B2 (en) 2015-03-27 2017-04-18 Intel Corporation Technologies for managing power during an activation cycle
US9658942B2 (en) 2015-04-02 2017-05-23 International Business Machines Corporation Dynamic tracing framework for debugging in virtualized environments
US9632846B2 (en) 2015-04-02 2017-04-25 Microsoft Technology Licensing, Llc Complex event processor for historic/live/replayed data
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
EP3082038A1 (en) 2015-04-15 2016-10-19 Hybridserver Tec AG Method, device and system for creating a massively parallelized executable object
US9756020B2 (en) 2015-04-27 2017-09-05 Microsoft Technology Licensing, Llc Persistent uniform resource locators (URLs) for client applications acting as web services
US20160350099A1 (en) 2015-05-29 2016-12-01 Hewlett Packard Enterprise Development Lp Application deployment to virtual machines
US9715416B2 (en) 2015-06-03 2017-07-25 Intel Corporation Adaptive queued locking for control of speculative execution
US9785424B2 (en) 2015-06-05 2017-10-10 Apple Inc. Capability attributes based application packaging
US9612865B2 (en) 2015-06-15 2017-04-04 International Business Machines Corporation Managed services coordinator
US11106538B2 (en) 2015-06-16 2021-08-31 Mongodb, Inc. System and method for facilitating replication in a distributed database
US9921885B2 (en) 2015-06-19 2018-03-20 Vmware, Inc. Resource management for containers in a virtualized environment
US9880837B2 (en) 2015-06-24 2018-01-30 Vmware, Inc. Artifact manager for release automation
US11429442B2 (en) 2015-06-29 2022-08-30 Vmware, Inc. Parallel and distributed computing using multiple virtual machines
US20160378547A1 (en) 2015-06-29 2016-12-29 Amazon Technologies, Inc. Preserving state during virtual machine instance migration
US10146635B1 (en) 2015-06-30 2018-12-04 EMC IP Holding Company LLC Virtual machine backup
WO2017003747A1 (en) 2015-07-01 2017-01-05 Zest Finance, Inc. Systems and methods for type coercion
US10531226B1 (en) 2015-07-10 2020-01-07 WeWork Companies Inc. Determining qualified devices using zone information
US9946874B2 (en) 2015-08-06 2018-04-17 International Business Machines Corporation Authenticating application legitimacy
US9660809B2 (en) 2015-08-07 2017-05-23 Adobe Systems Incorporated Cross-site request forgery defense
US10198281B2 (en) 2015-08-28 2019-02-05 Vmware, Inc. Hybrid infrastructure provisioning framework tethering remote datacenters
US10235209B2 (en) 2015-08-28 2019-03-19 Vmware, Inc. Hybrid task framework
US10083073B2 (en) 2015-09-14 2018-09-25 Dynatrace Llc Method and system for real-time causality and root cause determination of transaction and infrastructure related events provided by multiple, heterogeneous agents
US10007710B2 (en) 2015-09-21 2018-06-26 Splunk Inc. Adaptive control of data collection requests sent to external data sources
CN106548262B (zh) 2015-09-21 2020-11-06 阿里巴巴集团控股有限公司 用于处理任务的资源的调度方法、装置和系统
US10104123B2 (en) 2015-09-23 2018-10-16 Ca, Inc. Fetching a policy definition library from a policy server at mobile device runtime of an application package to control access to mobile device resources
US10361972B2 (en) 2015-09-23 2019-07-23 Citrix Systems, Inc. Systems and methods to support VXLAN in partition environment where a single system acts as multiple logical systems to support multitenancy
IN2015CH05184A (ja) 2015-09-28 2015-10-16 Wipro Ltd
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
US10356206B2 (en) 2015-11-08 2019-07-16 Vmware, Inc. Deploying an application in multiple cloud computing environments
US10382409B2 (en) 2015-11-25 2019-08-13 Visa International Service Association Secure multi-party protocol
US20170161059A1 (en) 2015-12-08 2017-06-08 Paypal, Inc. Management of multiple application programming interface versions for development environments
US9811434B1 (en) 2015-12-16 2017-11-07 Amazon Technologies, Inc. Predictive management of on-demand code execution
US9514037B1 (en) 2015-12-16 2016-12-06 International Business Machines Corporation Test program scheduling based on analysis of test data sets
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
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
US10013267B1 (en) 2015-12-16 2018-07-03 Amazon Technologies, Inc. Pre-triggers for code execution environments
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
US9787779B2 (en) 2015-12-21 2017-10-10 Amazon Technologies, Inc. Analyzing deployment pipelines used to update production computing services using a live pipeline template process
US10831556B2 (en) 2015-12-23 2020-11-10 Intel IP Corporation Virtual CPU consolidation to avoid physical CPU contention between virtual machines
CN108605049A (zh) 2015-12-29 2018-09-28 三星电子株式会社 用于用户设备的基于应用状态和卡片的消息共享方法
US11089152B2 (en) 2016-02-08 2021-08-10 Aawaaz Inc. Placement of a missed call
US10608908B2 (en) 2016-02-10 2020-03-31 Nicira, Inc. On-demand connection ping
US10379824B2 (en) 2016-02-26 2019-08-13 Oracle International Corporation Method for static security enforcement of a DSL
US10182460B2 (en) 2016-03-14 2019-01-15 Zynga Inc. Multitenancy gaming services platform
EP3430556B1 (en) 2016-03-15 2021-01-20 Carbon Black, Inc. System and method for process hollowing detection
EP3436927B1 (en) 2016-03-30 2023-12-13 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
US10891145B2 (en) 2016-03-30 2021-01-12 Amazon Technologies, Inc. Processing pre-existing data sets at an on demand code execution environment
US11106705B2 (en) 2016-04-20 2021-08-31 Zestfinance, Inc. Systems and methods for parsing opaque data
US10310820B2 (en) 2016-05-12 2019-06-04 Basal Nuclei Inc Programming model and interpreted runtime environment for high performance services with implicit concurrency control
JP6719079B2 (ja) 2016-05-31 2020-07-08 パナソニックIpマネジメント株式会社 情報機器、データ処理システム、データ処理方法およびコンピュータプログラム
US9900765B2 (en) 2016-06-02 2018-02-20 Apple Inc. Method and apparatus for creating and using a roaming list based on a user roaming plan
US10768920B2 (en) 2016-06-15 2020-09-08 Microsoft Technology Licensing, Llc Update coordination in a multi-tenant cloud computing environment
US10139876B2 (en) 2016-06-23 2018-11-27 Vmware Inc. Efficient reboot of an operating system executed in a virtual machine
US10592279B2 (en) 2016-06-23 2020-03-17 Advanced Micro Devices, Inc. Multi-processor apparatus and method of detection and acceleration of lagging tasks
US20170371963A1 (en) 2016-06-27 2017-12-28 Facebook, Inc. Systems and methods for identifying matching content
US20190020913A9 (en) 2016-06-27 2019-01-17 Facebook, Inc. Systems and methods for identifying matching content
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
US11625257B2 (en) 2016-06-29 2023-04-11 Vmware, Inc. Provisioning executable managed objects of a virtualized computing environment from non-executable managed objects
US10102040B2 (en) 2016-06-29 2018-10-16 Amazon Technologies, Inc Adjusting variable limit on concurrent code executions
US9977691B2 (en) 2016-06-29 2018-05-22 Amazon Technologies, Inc. Adjusting variable limit on concurrent code executions based on communication between frontends
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
CN109478134B (zh) 2016-06-30 2022-08-26 亚马逊技术有限公司 用跨账户别名执行按需网络代码
US9596350B1 (en) 2016-07-21 2017-03-14 Genesys Telecommunications Laboratories, Inc. Virtual interactions in contact center operations
US10089135B2 (en) 2016-08-09 2018-10-02 International Business Machines Corporation Expediting the provisioning of virtual machines based on cached repeated portions of a template
US9977670B2 (en) 2016-08-10 2018-05-22 Bank Of America Corporation Application programming interface for providing access to computing platform definitions
US10296498B2 (en) 2016-08-23 2019-05-21 Oracle International Corporation Coordinated hash table indexes to facilitate reducing database reconfiguration time
US20180060221A1 (en) 2016-08-24 2018-03-01 Google Inc. Multi-layer test suite generation
US10762086B2 (en) 2016-09-01 2020-09-01 Amazon Technologies, Inc. Tracking query execution status for selectively routing queries
US10831641B2 (en) 2016-09-08 2020-11-10 At&T Intellectual Property I, L.P. Method and apparatus for determining a performance impact by a software upgrade of a mobile user endpoint device
US10545792B2 (en) 2016-09-12 2020-01-28 Seven Bridges Genomics Inc. Hashing data-processing steps in workflow environments
US10884787B1 (en) 2016-09-23 2021-01-05 Amazon Technologies, Inc. Execution guarantees in an on-demand network code execution system
US10061613B1 (en) 2016-09-23 2018-08-28 Amazon Technologies, Inc. Idempotent task execution in on-demand network code execution systems
US11151097B2 (en) 2016-09-25 2021-10-19 Microsoft Technology Licensing, Llc Dynamic schema inference and enforcement
US11023463B2 (en) 2016-09-26 2021-06-01 Splunk Inc. Converting and modifying a subquery for an external data system
US10346625B2 (en) 2016-10-31 2019-07-09 International Business Machines Corporation Automated mechanism to analyze elevated authority usage and capability
US10102229B2 (en) 2016-11-09 2018-10-16 Palantir Technologies Inc. Validating data integrations using a secondary data store
JP2020501253A (ja) 2016-11-28 2020-01-16 アマゾン テクノロジーズ インコーポレイテッド 局所化されたデバイスコーディネータにおけるオンデマンドコード実行
KR102209276B1 (ko) 2016-11-28 2021-01-29 아마존 테크놀로지스, 인크. 메시징 프로토콜 통신 관리
US10417049B2 (en) 2016-11-28 2019-09-17 Amazon Technologies, Inc. Intra-code communication in a localized device coordinator
US9983982B1 (en) 2017-01-04 2018-05-29 Visa International Service Association Testing software code in a production environment
US10209962B2 (en) 2017-02-06 2019-02-19 International Business Machines Corporation Reconstructing a high level compilable program from an instruction trace
US20180239636A1 (en) 2017-02-22 2018-08-23 Nutanix, Inc. Task execution framework using idempotent subtasks
US10754685B2 (en) 2017-03-03 2020-08-25 Microsoft Technology Licensing Llc Cross-device task registration and resumption
EP3379413A1 (en) 2017-03-21 2018-09-26 Nokia Solutions and Networks Oy Optimization of a software image layer stack
US10360067B1 (en) 2017-03-28 2019-07-23 Amazon Technologies, Inc. Dynamic function calls in an on-demand network code execution system
US10514909B2 (en) 2017-03-29 2019-12-24 Technion Research & Development Foundation Limited Similarity of binaries
US20180300109A1 (en) 2017-04-17 2018-10-18 International Business Machines Corporation Preserving dynamic trace purity
US10382291B2 (en) 2017-04-26 2019-08-13 Oracle International Corporation Provisioning framework for binding related cloud services
US10650156B2 (en) 2017-04-26 2020-05-12 International Business Machines Corporation Environmental security controls to prevent unauthorized access to files, programs, and objects
US10423158B1 (en) 2017-05-03 2019-09-24 Amazon Technologies, Inc. Multi-core processor with independently executing flight control programs
US10459822B1 (en) 2017-05-04 2019-10-29 Amazon Technologies, Inc. Iterative static analysis using stored partial results
US10445140B1 (en) 2017-06-21 2019-10-15 Amazon Technologies, Inc. Serializing duration-limited task executions in an on demand code execution system
US10725826B1 (en) 2017-06-21 2020-07-28 Amazon Technologies, Inc. Serializing duration-limited task executions in an on demand code execution system
US10742750B2 (en) 2017-07-20 2020-08-11 Cisco Technology, Inc. Managing a distributed network of function execution environments
US10325392B2 (en) 2017-08-01 2019-06-18 Cimpress Schweiz Gmbh Content replacement system using visual design object models
US11047837B2 (en) 2017-09-06 2021-06-29 Green Ocean Sciences, Inc. Mobile integrated device and electronic data platform for chemical analysis
US10360025B2 (en) 2017-09-08 2019-07-23 Accenture Global Solutions Limited Infrastructure instantiation, collaboration, and validation architecture for serverless execution frameworks
US10764051B2 (en) 2017-10-25 2020-09-01 Google Llc Privacy-preserving identity verification
US10587412B2 (en) 2017-11-07 2020-03-10 International Business Machines Corporation Virtual machine structure
US10565083B2 (en) 2017-12-08 2020-02-18 Cisco Technology, Inc. Simulating hosted application performance
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
US10803180B2 (en) 2017-12-13 2020-10-13 Jayant Shukla Deterministic method for detecting and blocking of exploits on interpreted code
US10803029B2 (en) 2017-12-19 2020-10-13 Salesforce.Com, Inc. Generating javascript object notation (JSON) schema from JSON payloads
US10402178B2 (en) 2018-01-26 2019-09-03 Accenture Global Solutions Limited Cross platform content management and distribution system
US10503626B2 (en) 2018-01-29 2019-12-10 Oracle International Corporation Hybrid instrumentation framework for multicore low power processors
US10924511B2 (en) 2018-01-30 2021-02-16 EMC IP Holding Company LLC Systems and methods of chunking data for secure data storage across multiple cloud providers
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
US10572375B1 (en) 2018-02-05 2020-02-25 Amazon Technologies, Inc. Detecting parameter validity in code including cross-service calls
US10733085B1 (en) 2018-02-05 2020-08-04 Amazon Technologies, Inc. Detecting impedance mismatches due to cross-service calls
US10649792B1 (en) 2018-02-09 2020-05-12 American Megatrends International, Llc Cloning of firmware configuration settings using rest over IPMI interface
US10725752B1 (en) 2018-02-13 2020-07-28 Amazon Technologies, Inc. Dependency handling in an on-demand network code execution system
US11157300B2 (en) 2018-02-13 2021-10-26 Sophos Limited Managing virtual machine security resources
US10776091B1 (en) 2018-02-26 2020-09-15 Amazon Technologies, Inc. Logging endpoint in an on-demand code execution system
US10860367B2 (en) 2018-03-14 2020-12-08 Microsoft Technology Licensing, Llc Opportunistic virtual machine migration
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
US10466986B2 (en) 2018-03-30 2019-11-05 Oracle International Corporation Optimized recompilation using hardware tracing
US10503634B1 (en) 2018-05-25 2019-12-10 Microsoft Technology Licensing, Llc Semantic comparison of computer compiler traces
US10853115B2 (en) 2018-06-25 2020-12-01 Amazon Technologies, Inc. Execution of auxiliary functions in an on-demand network code execution system
US10817331B2 (en) 2018-06-25 2020-10-27 Amazon Technologies, Inc. Execution of auxiliary functions in an on-demand network code execution system
WO2020005764A1 (en) 2018-06-25 2020-01-02 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
US10911367B2 (en) 2018-06-27 2021-02-02 Oracle International Corporation Computerized methods and systems for managing cloud computer services
US10719367B1 (en) 2018-06-27 2020-07-21 Amazon Technologies, Inc. Management of workers executing program code functions
US10949237B2 (en) 2018-06-29 2021-03-16 Amazon Technologies, Inc. Operating system customization in an on-demand network code execution system
US10877774B2 (en) 2018-07-17 2020-12-29 Sap Se Cloud integration of application runtime
US10715630B2 (en) 2018-07-20 2020-07-14 Dell Products L.P. Common information model interoperability system
US10713080B1 (en) 2018-07-25 2020-07-14 Amazon Technologies, Inc. Request-based virtual machine memory transitioning in an on-demand network code execution system
US10705928B2 (en) 2018-08-28 2020-07-07 Salesforce.Com, Inc. Systems, methods, and apparatuses for tenant-to-tenant failover in a multi-tenant cloud computing environment
US20200073987A1 (en) 2018-09-04 2020-03-05 Salesforce.Com, Inc. Technologies for runtime selection of query execution engines
US20200081745A1 (en) 2018-09-10 2020-03-12 Nuweba Labs Ltd. System and method for reducing cold start latency of serverless functions
US11099917B2 (en) 2018-09-27 2021-08-24 Amazon Technologies, Inc. Efficient state maintenance for execution environments in an on-demand code execution system
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
US10740208B2 (en) 2018-10-03 2020-08-11 Capital One Services, Llc Cloud infrastructure optimization
US20200120120A1 (en) 2018-10-10 2020-04-16 Nuweba Labs Ltd. Techniques for network inspection for serverless functions
US10331462B1 (en) 2018-11-06 2019-06-25 Cloudflare, Inc. Cloud computing platform that executes third-party code in a distributed cloud computing network
US11075985B2 (en) 2018-11-09 2021-07-27 Cisco Technology, Inc. Early action on deploying and executing functions in a serverless environment
US11327814B2 (en) 2018-11-28 2022-05-10 International Business Machines Corporation Semaphores for serverless computing
US10884812B2 (en) 2018-12-13 2021-01-05 Amazon Technologies, Inc. Performance-based hardware emulation in an on-demand network code execution system
US11044117B2 (en) 2018-12-26 2021-06-22 Citrix Systems, Inc. Intelligent and dynamic overlay tunnel formation via automatic discovery of citrivity/SDWAN peer in the datapath in a pure plug and play environment with zero networking
US11323348B2 (en) 2019-05-17 2022-05-03 Citrix Systems, Inc. API dependency error and latency injection
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
US10942795B1 (en) 2019-11-27 2021-03-09 Amazon Technologies, Inc. Serverless call distribution to utilize reserved capacity without inhibiting scaling

Also Published As

Publication number Publication date
WO2016090292A1 (en) 2016-06-09
CA2969812A1 (en) 2016-06-09
US20160164797A1 (en) 2016-06-09
US20170206116A1 (en) 2017-07-20
EP3227781B1 (en) 2021-11-24
US9537788B2 (en) 2017-01-03
US20160164762A1 (en) 2016-06-09
US9413626B2 (en) 2016-08-09
US10353746B2 (en) 2019-07-16
CA2969812C (en) 2020-09-22
CN107209682A (zh) 2017-09-26
CN107209682B (zh) 2020-10-20
EP3227781A1 (en) 2017-10-11
US20190384647A1 (en) 2019-12-19
US11126469B2 (en) 2021-09-21
JP2018503896A (ja) 2018-02-08

Similar Documents

Publication Publication Date Title
JP6522128B2 (ja) リソースサイジングの自動管理システム、方法及び非一時的コンピュータ可読記憶媒体
US11354169B2 (en) Adjusting variable limit on concurrent code executions
US11561811B2 (en) Threading as a service
US11243819B1 (en) Acquisition and maintenance of compute capacity
JP6363796B2 (ja) 動的コードデプロイメント及びバージョニング
JP6463494B2 (ja) プログラムコードの低レイテンシ実行のためのセキュリティプロトコル
US9977691B2 (en) Adjusting variable limit on concurrent code executions based on communication between frontends
JP6559338B2 (ja) 算出能力に関する周期的要請の管理
US9678773B1 (en) Low latency computational capacity provisioning

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180604

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180531

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20180903

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20181026

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190325

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190326

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190423

R150 Certificate of patent or registration of utility model

Ref document number: 6522128

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