JP6542397B2 - Content testing during image production - Google Patents
Content testing during image production Download PDFInfo
- Publication number
- JP6542397B2 JP6542397B2 JP2017565102A JP2017565102A JP6542397B2 JP 6542397 B2 JP6542397 B2 JP 6542397B2 JP 2017565102 A JP2017565102 A JP 2017565102A JP 2017565102 A JP2017565102 A JP 2017565102A JP 6542397 B2 JP6542397 B2 JP 6542397B2
- Authority
- JP
- Japan
- Prior art keywords
- content item
- virtual machine
- instance
- information
- instances
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G16—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
- G16B—BIOINFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR GENETIC OR PROTEIN-RELATED DATA PROCESSING IN COMPUTATIONAL MOLECULAR BIOLOGY
- G16B45/00—ICT specially adapted for bioinformatics-related data visualisation, e.g. displaying of maps or networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/20—Input arrangements for video game devices
- A63F13/21—Input arrangements for video game devices characterised by their sensors, purposes or types
- A63F13/212—Input arrangements for video game devices characterised by their sensors, purposes or types using sensors worn by the player, e.g. for measuring heart beat or leg activity
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/20—Input arrangements for video game devices
- A63F13/23—Input arrangements for video game devices for interfacing with the game device, e.g. specific interfaces between game controller and console
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/70—Game security or game management aspects
- A63F13/79—Game security or game management aspects involving player-related data, e.g. identities, accounts, preferences or play histories
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/80—Special adaptations for executing a specific game genre or game mode
- A63F13/825—Fostering virtual characters
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45562—Creating, deleting, cloning virtual machine instances
Description
本出願は、2015年6月18日に出願した米国特許出願第14/743,648号の利益を主張し、その開示全体が参照により本明細書に組み込まれる。 This application claims the benefit of US Patent Application No. 14 / 743,648, filed June 18, 2015, the entire disclosure of which is incorporated herein by reference.
近年、ビデオゲームなどの電子的に提示されるコンテンツの使用は、ますます人気が高まり普及してきている。いくつかの例では、同時に実行するコンテンツアイテムの複数のインスタンスを有するのが望ましい場合がある。これは、例えば、多数のユーザがコンテンツアイテムと対話したいときに発生し得る。例えば、いくつかの場合に、1人または複数のプレーヤが、ビデオゲームの第1のインスタンスに参加してもよく、1人または複数の他のプレーヤが同じビデオゲームの第2のインスタンスに参加してもよい。ビデオゲームの各インスタンスを実行するために使用される元となるコードは同一であってもよいが、異なるインスタンス内のプレーヤには、個別の独立した体験がもたらされ得る。例えば、任意の所与の時間において、ビデオゲームの第1及び第2のインスタンスにおけるプレーヤは、異なる仮想位置で、異なるキャラクタと対戦して、異なる進行レベルで、様々な他の異なる条件下で、参加していてもよい。 In recent years, the use of electronically presented content such as video games has become increasingly popular and widespread. In some instances, it may be desirable to have multiple instances of content items running simultaneously. This may occur, for example, when a large number of users want to interact with the content item. For example, in some cases, one or more players may participate in a first instance of a video game, and one or more other players may participate in a second instance of the same video game. May be The underlying code used to execute each instance of the video game may be the same, but players in different instances may be provided with a separate and independent experience. For example, at any given time, the players at the first and second instances of the video game play against different characters at different virtual positions, at different levels of progression, under various other different conditions, You may participate.
コンテンツアイテムの複数インスタンスのフリートを生成するための1つの可能性のある技術は、コンテンツアイテムに関連付けられる、元となるバイナリコードまたは他のコードを含む仮想マシンイメージの作成を伴う。例えば、仮想マシンイメージによって、コンテンツアイテムが多数の他の仮想マシン上に容易かつ効率的に複製されることが可能となり、それによって、多数のコンテンツアイテムインスタンスが、ユーザ要求に応じて高速にスケールアップすることが可能となり得るため、仮想マシンイメージは有利であり得る。一方、仮想マシンイメージの1つの欠点は、イメージに含まれているコンテンツアイテムコードのサイズに応じて、それが実行用にアクティブ化され複製され得る前に仮想マシンイメージを制作するために大幅な遅延時間を要することがあり得ることである。 One possible technique for generating multiple-instance fleets of content items involves the creation of a virtual machine image that includes the underlying binary code or other code associated with the content item. For example, a virtual machine image allows content items to be easily and efficiently replicated on many other virtual machines, which allows a large number of content item instances to be quickly scaled up in response to user demand. Virtual machine images may be advantageous as it may be possible to On the other hand, one drawback of virtual machine images is that, depending on the size of the content item code contained in the image, there is a significant delay in producing the virtual machine image before it can be activated and replicated for execution It can be time consuming.
以下の詳細な説明は、添付図面と併せて読まれる際により良く理解され得る。例示のために、様々な開示の態様の例としての実施形態が図面に示されるが、本発明は、開示される特定の方法及び手段に限定されない。 The following detailed description may be better understood when read in conjunction with the accompanying drawings. Although illustrative embodiments of the various disclosed aspects are shown in the drawings for the purpose of illustration, the invention is not limited to the specific methods and instrumentalities disclosed.
イメージ制作中にコンテンツをテストするための技術が、本明細書において説明される。いくつかの実施例では、ビデオゲームなどのコンテンツアイテムが、バックエンドサービスによってユーザへの展開準備ができているという標識が、開発者から受信されてもよい。この標識に応答して、サービスは、コード、バイナリファイル、及び/または他のコンテンツアイテム情報を第1の仮想マシンインスタンスにロードしてもよい。次いで、コンテンツアイテム情報のスナップショットが取られ、第2の仮想マシンインスタンスにコピーされてもよく、それは、コンテンツアイテムに関連付けられる仮想マシンイメージを制作するために使用されてもよい。仮想マシンイメージによって、例えば、コンテンツアイテムが多数の他の仮想マシンインスタンス上に容易かつ効率的に複製されることが可能となり、それによって、多数のコンテンツアイテムインスタンスが、ユーザ要求に応じて高速にスケールアップすることが可能となり得る。しかしながら、上述したように、いくつかの場合には、仮想マシンイメージを制作するためにかなりの時間を要することがある。 Techniques for testing content during image creation are described herein. In some embodiments, an indication may be received from the developer that the content item, such as a video game, is ready for deployment to the user by the back end service. In response to this indication, the service may load code, binary files, and / or other content item information into the first virtual machine instance. Then, a snapshot of the content item information may be taken and copied to a second virtual machine instance, which may be used to create a virtual machine image associated with the content item. The virtual machine image allows, for example, content items to be easily and efficiently replicated on many other virtual machine instances, thereby allowing many content item instances to scale quickly on user request It may be possible to up. However, as mentioned above, in some cases it may take considerable time to create a virtual machine image.
説明される技術によれば、仮想マシンイメージが制作されている時間の少なくとも一部の間、第1の仮想マシンインスタンスが、本明細書でテストコンテンツアイテムインスタンスと呼ばれる、コンテンツアイテムインスタンスを実行するために使用されてもよい。テストコンテンツアイテムインスタンスは、開発者に利用可能とされてもよく、例えば、開発者が、コンテンツアイテムをテストし、またはコンテンツアイテムと対話するためにイメージが完全に制作されるまで待機しなくとも、仮想マシンイメージの有益性を体験できるようにし得る。追加的に、テストコンテンツアイテムインスタンスは、いくつかの場合に、開発者が、アクティブ化されたコンテンツアイテムフリートを潜在的にホストすることとなる同じバックエンドサービスによって実行されるコンテンツアイテムインスタンスをテストし、及び対話することを可能にしてもよく、それによって、開発者が、それが他のユーザに提供され得る同じ環境内で、コンテンツアイテムをテストし、及び対話することを可能にする。 According to the described technology, a first virtual machine instance executes a content item instance, referred to herein as a test content item instance, during at least a portion of the time that the virtual machine image is being produced. May be used. The test content item instance may be made available to the developer, for example, without the developer having to wait for the image to be fully produced in order to test the content item or interact with the content item. Allows you to experience the benefits of virtual machine images. Additionally, test content item instances may, in some cases, test content item instances executed by the same back-end service that the developer will potentially host activated content item fleets. , And interact may be enabled, thereby allowing the developer to test and interact with content items within the same environment that it may be provided to other users.
いくつかの実施例では、テストコンテンツアイテムインスタンスの実行前に、コンテンツアイテムが承認済みソフトウェア開発キット(SDK)を用いて作成されていることを確認し、特定バージョンのSDKを検出するために、第1の仮想マシンインスタンス上のコンテンツアイテム情報が検査されてもよい。以下で極めて詳細に説明されるように、本文脈における承認済みSDKは、アクティブ化されたコンテンツアイテムフリートを潜在的にホストすることとなるバックエンドサービスと統合されるSDKであってもよい。承認済みSDKは、コンテンツがマルチプレーヤビデオゲームまたは他のマルチユーザ環境とより効率的に対話可能にすることなどによって、例えば、コンテンツの摂取、構成、提供、及び展開がより容易かつ高速に達成できるようにし得る、コンテンツアイテムに組み込まれた機能性を提供してもよい。例えば、承認済みSDKが、コンテンツの実行中インスタンスに関連付けられる情報の報告を支援してもよい。SDKの検出及び承認に加えて、1つまたは複数のプロキシコンポーネントが、テストコンテンツアイテムインスタンスの実行前に、第1の仮想マシンインスタンス上にインストールされてもよい。インストールされたプロキシコンポーネントは、バックエンドサービスによるコンテンツアイテムの効率的なホスティングをさらに支援してもよい。 In some embodiments, prior to execution of the test content item instance, to verify that the content item has been created using an approved software development kit (SDK), and to detect a particular version of the SDK, Content item information on one virtual machine instance may be examined. As described in greater detail below, the approved SDK in this context may be an SDK integrated with a back end service that will potentially host activated content item fleets. Approved SDKs allow, for example, more easy and faster content ingestion, composition, delivery, and deployment, such as by allowing content to interact more efficiently with multiplayer video games or other multi-user environments, etc. It may provide functionality that may be incorporated into the content item. For example, an approved SDK may assist in the reporting of information associated with a running instance of content. In addition to SDK detection and approval, one or more proxy components may be installed on the first virtual machine instance prior to execution of the test content item instance. The installed proxy component may further assist in efficient hosting of content items by the back end service.
いくつかの場合、1つまたは複数の欠点または他の問題が、高速に識別され、効率的に訂正され得るように、テストコンテンツアイテムインスタンスが、コンテンツアイテムのテストを可能にしてもよい。また、いくつかの場合、テストコンテンツアイテムインスタンスが、コンテンツアイテムと対話し、開発者が使用のために仮想マシンイメージを承認したいか否かを確認する追加的な機会を、開発者に提供してもよい。開発者が使用のために仮想マシンイメージを承認すると、テスト仮想マシンインスタンスが、終了され、及び/または再利用されてもよく、仮想マシンイメージが、コンテンツアイテムインスタンスフリートの生成のために所望により複製されてもよい。これに対し、いくつかの場合、開発者が心変わりを経て仮想マシンイメージの使用を承認しないと決定してもよく、それによって、潜在的に不必要なコストが節約される。 In some cases, test content item instances may enable testing of content items so that one or more defects or other problems may be quickly identified and efficiently corrected. Also, in some cases, the test content item instance provides the developer with an additional opportunity to interact with the content item and see if the developer wants to approve the virtual machine image for use. It is also good. When the developer approves the virtual machine image for use, the test virtual machine instance may be terminated and / or reused, and the virtual machine image is optionally replicated for generation of content item instance fleets. It may be done. On the other hand, in some cases, developers may decide to change their mind and not approve the use of virtual machine images, thereby saving potentially unnecessary costs.
図1に、本開示に従って使用され得る、例としてのコンテンツ展開、スケーリング、及びテレメトリシステム150の図が示されている。図示するように、コンテンツ開発者計算ノード100は、例えば、コンテンツ開発者または他の関係者によって操作される様々なインタフェース、コンソール、及び/またはダッシュボードを含んでもよい。ユーザ計算ノード110は、例えば、インターネット及び/または1つもしくは複数のローカルエリアネットワーク(LAN)などの1つまたは複数の広域ネットワーク(WAN)を含む1つまたは複数のネットワークを用いて、識別及び権利付与サービス105、コンテンツアイテムインスタンス情報サービス115、ならびに/またはテレメトリコンポーネント125と通信してもよい。理解されるように、図1には単一の開発者計算ノード100だけが示されているが、システム150は、任意の数の異なるコンテンツアイテムを展開する任意の数の異なる開発者及び他の関係者を含んでもよい。いくつかの場合、コンテンツ開発者計算ノード100は、コンテンツの開発を支援するために、1つまたは複数の統合開発環境(IDE)アプリケーションもしくはその一部を実行してもよい。概して、以下で極めて詳細に説明されるように、コンテンツ開発者計算ノード100は、例えば、開発者が、コンテンツアイテムを設計及び開発し、展開のためにコンテンツアイテムへのアクセスを提供し、ユーザ識別及び/または権利付与情報を提供し、コンテンツアイテムインスタンスに関連付けられるフィードバック及びメトリック、コンテンツアイテムフリート、及び履歴情報を監視及び取得すること、ならびに他の操作を可能にしてもよい。さらに以下で極めて詳細に説明するように、開発者があるコンテンツアイテムを展開する準備ができているとき、コンテンツにアクセスするための情報が、例えば、コンテンツ実行コンポーネント120に提供されてもよく、コンテンツ実行コンポーネント120は、様々なユーザにアクセス可能にされているコンテンツアイテムのインスタンスを実行するための様々な動作を実行してもよい。上述したように、いくつかの実施例では、コンテンツアイテムに関連付けられる仮想マシンイメージが制作されている時間の少なくとも一部の間、例えば、開発者がコンテンツアイテムに対して追加のテストを行うことを可能にし得る、テストコンテンツアイテムインスタンスが実行され得る。テスト対話コンポーネント101は、いくつかの実施例では、開発者が、テストコンテンツアイテムインスタンスと対話し、仮想マシンイメージの使用の承認または不承認を示し、テストコンテンツアイテムインスタンスに関連する、本明細書において説明される他の開発者動作を実行することを可能にしてもよい。
A diagram of an example content deployment, scaling, and
いくつかの実施例では、コンテンツの開発及び提供に加えて、開発者及び他の関係者が、提供されるコンテンツに様々なユーザがアクセスするための識別及び/または権利付与情報も提供してもよい。特に、開発者計算ノード100は、識別及び権利付与サービス105と対話して、この識別及び/または権利付与情報を提供することがあってもよい。他の実施例では、情報は、他の関係者によって識別及び権利付与サービス105に提供されてもよい。いくつかの場合、開発者または他の関係者が、1つまたは複数のコンテンツアイテムにアクセスし得る認可されたユーザの標識を提供することによって、識別プールを構成してもよい。いくつかの実施例では、識別及び権利付与サービス105は、ユーザ名、パスワードなどの、様々なユーザの識別を認証するための識別認証情報を生成または受信してもよい。ユーザ識別及びそれらの関連する認証情報は、例えば、識別情報107に記憶されてもよい。また、いくつかの実施例では、開発者または他の関係者が、それぞれの認可されたユーザに対話する権利が付与されたコンテンツアイテムを示し得る、権利付与情報106を提供してもよい。いくつかの実施例では、あるユーザが、テストバージョンもしくは完全開発済みバージョン、ユーザが支払いまたは申し込みをしたあるバージョン、または任意の他の種類のコンテンツへのアクセスを許可されるだけであってもよい。
In some embodiments, in addition to the development and provision of content, developers and other parties may also provide identification and / or entitlement information for various users to access the provided content. Good. In particular,
ユーザ計算ノード110は、特定のコンテンツアイテムインスタンスとの対話のためのユーザセッションなどのコンテンツへのアクセスを要求するためにユーザによって利用されてもよい。ユーザ計算ノード110は、例えば、インターネット及び/または1つもしくは複数のローカルエリアネットワーク(LAN)などの1つまたは複数の広域ネットワーク(WAN)を含む1つまたは複数のネットワークを用いて、識別及び権利付与サービス105、コンテンツアイテムインスタンス情報サービス115、ならびに/またはコンテンツ実行コンポーネント120と通信してもよい。理解されるように、図1には単一のユーザ計算ノード110だけが示されているが、システム150は、同一または異なるコンテンツにアクセスする任意の数の異なるユーザを含んでもよい。いくつかの場合、ユーザがコンテンツへのアクセスを要求するために、ユーザがシステム150により展開されるコンテンツへのアクセスを認可されるかどうかの判断が、行われてもよい。いくつかの実施例では、システムインタフェース111は、ユーザについての識別認証情報を識別及び権利付与サービス105に提供してもよく、識別及び権利付与サービス105は、提供されたユーザ識別認証情報を、識別情報107に記憶されるユーザについての識別認証情報と照合するよう試みてもよい。合致が判断されない場合、ユーザは、例えば、いかなるコンテンツへのアクセスも否定されてもよく、ならびに/またはコンテンツへのアクセスのための登録、支払い、及び/もしくは申し込みを促されてもよく、ならびに/またはそれらの動作を実行するための様々なサービスにリダイレクトされてもよい。一方、ユーザの提供された識別認証が、記憶される識別認証情報と合致する場合、ユーザの識別が認証されてもよく、ユーザは、システム150とのさらなる対話、及びコンテンツへのアクセス要求を許可されてもよい。
The user computing node 110 may be utilized by a user to request access to content, such as a user session for interaction with a particular content item instance. The user computing node 110 may use, for example, one or more networks including one or more wide area networks (WANs) such as the Internet and / or one or more local area networks (LANs) to identify and It may be in communication with the grant service 105, the content item instance information service 115, and / or the
ユーザ計算ノード110のコンテンツクライアント112は、次いで、コンテンツアイテムインスタンス情報サービス115と通信して、ユーザに関する情報をコンテンツアイテムインスタンス情報サービス115に提供してもよい。同様に、コンテンツアイテムインスタンス情報サービス115は、識別及び権利付与サービス105と通信して、権利付与情報106に少なくとも一部基づいて、ユーザがアクセスのために認可され権利付与されるコンテンツを判断してもよい。以下で極めて詳細に説明されるように、次いで、ユーザは、ユーザがアクセス権付与されている選択されたコンテンツアイテムへのアクセスを要求してもよく、コンテンツアイテムインスタンス情報サービス115は、そのユーザのためのユーザセッションを、コンテンツ実行コンポーネント120内で実行する選択されたコンテンツアイテムの特定のインスタンスに合致させ、割り当ててもよい。この割り当て情報は、コンテンツ実行コンポーネント120に転送されてもよく、コンテンツ実行コンポーネント120は、コンテンツクライアント112と、その割り当てられ合致されたコンテンツアイテムインスタンスとの間で通信を確立してもよい。
Content client 112 of user computing node 110 may then communicate with content item instance information service 115 to provide information about the user to content item instance information service 115. Similarly, the content item instance information service 115 communicates with the identification and entitlement service 105 to determine the content that the user is authorized and entitled for access based at least in part on the entitlement information 106. It is also good. As described in greater detail below, the user may then request access to the selected content item to which the user has been granted access, and the content item instance information service 115 is configured to The user session for may be matched and assigned to a particular instance of the selected content item executing within the
コンテンツのスケーリング及び実行に加えて、コンテンツ実行コンポーネント120は、また、使用中のユーザセッションの数、使用されていないユーザセッションの数、コンテンツアイテムインスタンスの存続期間、メモリ使用量などの、実行中のコンテンツアイテムインスタンスに関する様々なテレメトリ情報を収集してもよい。コンテンツ実行コンポーネント120は、この収集されたテレメトリ情報をテレメトリコンポーネント125に提供してもよく、テレメトリコンポーネント125は、以下で極めて詳細に説明されるように、テレメトリデータをルーティングし、処理してもよい。例えば、テレメトリコンポーネントは、コンテンツアイテムインスタンス情報をコンテンツアイテムインスタンス情報サービス115に提供してもよい。このコンテンツアイテムインスタンス情報は、例えば、コンテンツアイテムインスタンスへのユーザセッションの合致及び割り当て、新たなコンテンツアイテムインスタンスの開始、ならびにコンテンツ開発者及び他の関係者へのコンテンツアイテムインスタンスレベルのフィードバック及びメトリックを可能にしてもよい。コンテンツアイテムインスタンス情報サービス115に加えて、テレメトリ情報は、コンテンツアイテムフリート情報サービス及び履歴情報サービスなどの他のサービスにも提供されてもよい。これらの及び他のテレメトリデータサービスは、図3を参照して以下で極めて詳細に説明される。
In addition to scaling and executing content, the
図2は、本開示に従って使用され得る、例としてのコンテンツスケーリング及び実行システムを示す図である。図2に示されるように、コンテンツ実行コンポーネント120(図1にも示されている)は、スケーリングコンポーネント230を含み、スケーリングコンポーネント230は、展開されたコンテンツをスケーリングするための様々な動作を実行してもよい。特に、コンテンツアイテムが、システム150を用いて展開準備ができているとき、コンテンツアイテムの展開準備ができていることを示し、位置及び/またはアドレス情報などの、コンテンツにアクセスするための情報を提供するメッセージが、開発者計算ノード100を介して送信されてもよい。いくつかの実施例では、開発者は、また、コンテンツアイテムフリートについての名前、開発段階、及びコンテンツアイテムの説明などの追加情報も提供してもよい。アクセス情報、及びいくつかの場合に、追加情報が、コンテンツスケーリングコンポーネント230に提供されてもよく、スケーリングコンポーネント230は、仮想マシンインスタンス上のイメージとしてコンテンツアイテムの1つまたは複数のインスタンスをインストールするための命令を発行してもよい。以下で極めて詳細に説明されるように、コンテンツアイテムの追加的なインスタンスが、次いで、同一の仮想マシンインスタンス上で、及び/または任意の数の追加的な仮想マシンインスタンス上にイメージをコピーすることによって、開始されてもよい。
FIG. 2 is a diagram illustrating an example content scaling and execution system that may be used in accordance with the present disclosure. As shown in FIG. 2, the content execution component 120 (also shown in FIG. 1) includes a scaling component 230, which performs various operations to scale the expanded content. May be In particular, when the content item is ready for deployment using the
展開されたコンテンツアイテムについてのコンテンツアイテムインスタンスをグループ化したものが、コンテンツアイテムフリートと呼ばれる。図2において、コンテンツ実行コンポーネント120は、例としてのコンテンツアイテムフリート210を実行する。理解されるように、図2には単一のコンテンツアイテムフリート210だけが示されているが、コンテンツ実行コンポーネント120は、同一または異なる時間に任意の数の異なるコンテンツアイテムフリートを実行してもよい。図2の特定の実施例では、コンテンツアイテムフリート210は、2つの仮想マシンインスタンス220A及び220Nを含み、それぞれが3つのコンテンツアイテムインスタンスを実行する。特に、仮想マシンインスタンス220Aが、コンテンツアイテムインスタンス201A〜Nを実行し、仮想マシンインスタンス220Nが、コンテンツアイテムインスタンス221A〜Nを実行する。ただし、開示された技術によるコンテンツアイテムフリートは、それぞれが任意の数の異なるコンテンツアイテムインスタンスを実行する、任意の数の仮想マシンインスタンスを含んでもよいことに留意されたい。いくつかの実施例では、コンテンツアイテムインスタンス201A〜N及び221A〜Nのうちの1つまたは複数、ならびにいくつかの場合に、コンテンツアイテムインスタンス201A〜N及び221A〜Nの全てが、同時に割り当てられた複数のユーザセッションと共に実行するように構成可能であってもよい。これは、例えば、マルチプレーヤビデオゲームまたは他のマルチユーザアプリケーションにおいて発生し得るように、複数のユーザが互いに対戦し、または単一のコンテンツアイテムインスタンス内で協力することを可能にし得る。
A grouping of content item instances for expanded content items is called a content item fleet. In FIG. 2,
いくつかの実施例では、各コンテンツアイテムインスタンス201A〜N及び221A〜Nは、制御入力(例えば、キャラクタの動き、武器の発砲、メニュー選択など)などの入力を、その割り当てられたユーザセッションから受信してもよい。また、いくつかの実施例では、各コンテンツアイテムインスタンス201A〜N及び221A〜Nは、次いで、状態データ更新、イベントデータ更新、及び他の情報などのコンテンツ情報を、割り当てられたユーザセッションについてのユーザ計算ノードに送信してもよい。ユーザ計算ノードは、このデータを使用して、それぞれのコンテンツ計算ノードにおいてコンテンツをレンダリング及び提示してもよい。いくつかの実施例では、各ユーザノードは、コンテンツアイテムに関連付けられるグラフィックデータをレンダリングするための1つまたは複数のグラフィックス処理ユニット(GPU)を含んでもよい。 In some embodiments, each content item instance 201A-N and 221A-N receives input from its assigned user session, such as control input (eg, character movement, weapon firing, menu selection, etc.) You may Also, in some embodiments, each content item instance 201A-N and 221A-N may then be a user for a user session that has been assigned content information, such as status data updates, event data updates, and other information. It may be sent to the compute node. User compute nodes may use this data to render and present content at their respective content compute nodes. In some embodiments, each user node may include one or more graphics processing units (GPUs) for rendering graphic data associated with the content item.
いくつかの他の例では、コンテンツは、コンテンツアイテムインスタンス201A〜N及び221A〜Nによって生成され、及び/または保持されるコンテンツ情報に基づいて、コンテンツ実行コンポーネント120によってレンダリングされてもよい。これらの実施例では、コンテンツアイテムインスタンス201A〜N及び221A〜Nは、いくつかの場合において、それぞれが1つまたは複数のGPUへのアクセスを有してもよい。レンダリングされたコンテンツは、次いで、コンテンツアイテムインスタンス201A〜N及び221A〜Nによって、割り当てられたユーザセッションについてのユーザ計算ノードに送信されてもよい。
In some other examples, content may be rendered by
図2に示されるように、各コンテンツアイテムインスタンス201A〜N及び221A〜Nが、それぞれのインスタンスインタフェース202A〜N及び222A〜Nを含む。いくつかの実施例では、各インスタンスインタフェース202A〜N及び222A〜Nは、ソフトウェア開発キット(SDK)に関連付けられ、及び/またはソフトウェア開発キット(SDK)を用いて実施されてもよく、コンテンツアイテムインスタンスの構成、コンテンツアイテムインスタンスにおけるユーザセッションの開始、及びコンテンツアイテムインスタンスからのテレメトリ情報などの情報の収集を可能にするのを支援してもよい。例えば、いくつかの場合、1つまたは複数のSDKなどのインスタンスインタフェース202A〜N及び222A〜Nに関連付けられる様々な命令が、開発者に公開され、及び/または提供されてもよい。これらの命令が、コンテンツアイテムインスタンス201A〜N及び221A〜Nが、上述したタスク及びおそらく他のタスクを実行可能にするのを支援してもよい。開発者は、同様に、展開用にアクセス可能とされているコンテンツアイテムにこれらの命令を含め、埋め込み、または関連付けてもよい。インスタンスインタフェース202A〜N及び222A〜Nによって提供されるテレメトリ情報は、例えば、使用中のユーザセッションの数、使用されていないユーザセッションの数、コンテンツアイテムインスタンスの存続期間、メモリ使用量などの、実行中のコンテンツアイテムインスタンスに関する情報を含んでもよい。 As shown in FIG. 2, each content item instance 201A-N and 221A-N includes a respective instance interface 202A-N and 222A-N. In some embodiments, each instance interface 202A-N and 222A-N may be associated with a software development kit (SDK) and / or implemented using a software development kit (SDK), the content item instance , Start of a user session at the content item instance, and may be able to help collect information such as telemetry information from the content item instance. For example, in some cases, various instructions associated with instance interfaces 202A-N and 222A-N, such as one or more SDKs, may be published and / or provided to developers. These instructions may assist content item instances 201A-N and 221A-N to enable the tasks described above and possibly other tasks to be performed. The developer may also include, embed or associate these instructions in the content item that is made accessible for deployment. The telemetry information provided by instance interfaces 202A-N and 222A-N may include, for example, the number of user sessions in use, the number of unused user sessions, the duration of content item instances, memory usage, etc. It may also include information about content item instances in
図2にも示されるように、インスタンスインタフェース202A〜Nは、仮想マシンインスタンス220Aについてのプロキシコンポーネント203と通信してもよく、インスタンスインタフェース222A〜Nは、仮想マシンインスタンス220Nについてのプロキシコンポーネント223と通信してもよい。プロキシコンポーネント203及び223は、概して、コンテンツアイテムインスタンス201A〜N及び221A〜Nと、スケーリングコンポーネント230及びテレメトリランディング301などの仮想マシンインスタンス220A〜Nの外部コンポーネントとの間で情報及びコマンドの交換を可能にしてもよい。特に、いくつかの実施例では、プロキシコンポーネント203及び223は、コンテンツアイテムインスタンスを開始するコマンド及びユーザセッションを特定のコンテンツアイテムインスタンスに追加するコマンドなどのコマンドを、スケーリングコンポーネント230から受信してもよい。いくつかの実施例では、プロキシコンポーネント203及び223は、また、実行中のコンテンツアイテムインスタンスに関して、スケーリングコンポーネント230及び/またはテレメトリランディング301に情報を提供してもよい。プロキシコンポーネント203及び223によって提供される情報は、例えば、上述したテレメトリ情報または他の関連情報のうちのいずれかなど、インスタンスインタフェース202A〜N及び222A〜Nによって収集される情報のうちのいずれかを含んでもよい。プロキシコンポーネント203及び223は、規則的な繰り返し間隔で(例えば、毎分もしくは5分毎)、特定のイベントもしくは条件に応答して、連続的もしくは断続的なストリームで、またはこれらのもしくは他の技術の任意の組み合わせを用いるなど、任意の所望の間隔でコンテンツアイテムインスタンス情報を提供してもよい。
As also shown in FIG. 2, instance interfaces 202A-N may communicate with proxy component 203 for virtual machine instance 220A, and
いくつかの実施例では、スケーリングコンポーネント230は、例えば、上述のようなプロキシコンポーネント203及び223によって提供される情報に基づいて、コンテンツアイテムフリート210を監視してもよい。いくつかの場合、スケーリングコンポーネント230は、この情報を使用して、追加的な仮想マシンインスタンス及び/もしくはコンテンツアイテムインスタンスをコンテンツアイテムフリート210に割り当てることによって、ならびに/または既存の仮想マシンインスタンス及び/もしくはコンテンツアイテムインスタンスをコンテンツアイテムフリート210から割り当て解除することによって、コンテンツアイテムフリート210を自動的にスケーリングしてもよい。いくつかの実施例では、ある設定可能な条件によって、スケーリングコンポーネント230が、追加的な仮想マシンインスタンス及び/またはコンテンツアイテムインスタンスをコンテンツアイテムフリートに割り当ててもよい。これらの条件は、例えば、フリート内の全コンテンツアイテムインスタンスについての使用されていないユーザセッションの合計数及び/または平均数が、特定の数に合致するか、または特定の数より下がったと判断すること、フリート内の1つまたは複数の個々のコンテンツアイテムインスタンスについての使用されていないユーザセッションの合計数が、特定の数及び/もしくは他の条件に合致するか、またはそれより下がったと判断することを含んでもよい。また、いくつかの実施例では、スケーリングコンポーネント230は、特定のコンテンツ属性(例えば、モード、仮想位置、キャラクタ、武器、プロットライン、ストーリーアークなど)を有するコンテンツアイテムインスタンスのサブセットなどのコンテンツアイテムフリートの特定のサブセットが、上述の例としての割り当て条件、または他の条件のいずれかを満たすという判断に基づいて、追加的な仮想マシンインスタンス及び/またはコンテンツアイテムインスタンスをコンテンツアイテムフリートに割り当ててもよい。
In some embodiments, scaling component 230 may monitor content item fleet 210 based on information provided by
また、いくつかの実施例では、ある設定可能な条件によって、スケーリングコンポーネント230が、仮想マシンインスタンス及び/またはコンテンツアイテムインスタンスをコンテンツアイテムフリートから割り当て解除してもよい。これらの条件は、例えば、フリート内の全コンテンツアイテムインスタンスについての使用されていないユーザセッションの合計数及び/または平均数が、特定の数に合致するか、または特定の数を超えたと判断すること、フリート内の1つまたは複数の個々のコンテンツアイテムインスタンスについての使用されていないユーザセッションの合計数が、特定の数及び/もしくは他の条件に合致するか、またはそれを越えたと判断することを含んでもよい。また、いくつかの実施例では、スケーリングコンポーネント230は、特定のコンテンツ属性(例えば、モード、仮想位置、キャラクタ、武器、プロットライン、ストーリーアークなど)を有するコンテンツアイテムインスタンスのサブセットなどのコンテンツアイテムフリートの特定のサブセットが、上述の例としての割り当て解除条件、または他の条件のいずれかを満たすという判断に基づいて、仮想マシンインスタンス及び/またはコンテンツアイテムインスタンスをコンテンツアイテムフリートから割り当て解除してもよい。割り当て解除された仮想マシンは、次いで、最終的に終了され、及び/または再利用されてもよい。いくつかの場合、割り当て解除条件が発生したと判断するとすぐに特定の仮想マシンインスタンスを終了し、及び/または再利用することが有利でない場合があることに留意されたい。これは、割り当て解除のために選択された仮想マシンインスタンスが、割り当てられたユーザセッションと共にコンテンツアイテムインスタンスを依然として実行している場合があるためである。いくつかの実施例では、割り当て解除のために選択された仮想マシンインスタンス上のコンテンツアイテムインスタンスに追加的なユーザセッションを割り当てるのをやめるために、判断が行われ得る。現在存在しているユーザセッションが一旦終了したら、割り当て解除された仮想マシンインスタンスは、終了され、及び/または再利用されてもよい。 Also, in some embodiments, certain configurable conditions may cause scaling component 230 to deallocate virtual machine instances and / or content item instances from the content item fleet. These conditions may, for example, be determined that the total and / or average number of unused user sessions for all content item instances in the fleet meets or exceeds a particular number. , Determining that the total number of unused user sessions for one or more individual content item instances in the fleet meets or exceeds a particular number and / or other conditions May be included. Also, in some embodiments, scaling component 230 may be a content item fleet such as a subset of content item instances having specific content attributes (eg, modes, virtual locations, characters, weapons, plot lines, story arcs, etc.) Virtual machine instances and / or content item instances may be deallocated from the content item fleet based on the determination that a particular subset meets any of the above exemplary de-allocation conditions, or other conditions. The deallocated virtual machine may then be eventually terminated and / or reused. Note that in some cases, it may not be advantageous to terminate and / or reuse a particular virtual machine instance as soon as it determines that a deallocation condition has occurred. This is because the virtual machine instance selected for deallocation may still be executing content item instances with the assigned user session. In some embodiments, a determination may be made to stop assigning additional user sessions to content item instances on the selected virtual machine instance for deallocation. Once the currently existing user session ends, the deallocated virtual machine instance may be terminated and / or reused.
上述したように、スケーリングコンポーネント230に情報を提供することに加えて、プロキシコンポーネント203及び223は、テレメトリランディング301に情報を提供してもよい。この情報は、ここで詳細に説明される様々なテレメトリコンポーネントによってルーティングされ、処理されてもよい。特に、図3は、本開示に従って使用され得る、例としてのテレメトリ情報ルーティング及び処理システムを示す図である。図3に示されるように、コンテンツ実行コンポーネント120(例えば、図2に示されるようにプロキシコンポーネント203及び223を含む)によって提供される情報は、テレメトリコンポーネント125(図1にも示される)のテレメトリランディング301に配信されてもよい。テレメトリランディング301に配信されると、テレメトリ情報は、テレメトリルーティング機能302によってアクセスされてもよく、テレメトリルーティング機能302は、概して、提供された情報を検査し、様々な要因に基づいて、提供された情報を処理機能303A〜Dなどの1つまたは複数の受信者へルーティングしてもよい。特に、インスタンスレベル処理機能303Aは、コンテンツアイテムインスタンス情報サービス115(図1及び図2にも示されている)のための情報を受信及び処理する。フリートレベル情報処理機能303Bは、コンテンツアイテムフリート情報サービス304のための情報を受信及び処理する。履歴情報処理機能303Cは、履歴情報サービス305のための情報を受信及び処理する。追加的に、テレメトリルーティング機能302は、任意の数の追加サービス306のための情報を受信及び処理し得る任意の数の追加処理機能303Dに情報をルーティングしてもよい。
As mentioned above, in addition to providing information to scaling component 230,
いくつかの実施例では、テレメトリ情報をテレメトリランディング301に書き込む際、プロキシコンポーネント203及び223は、取り決め一式に従って、あるキーまたは他の識別情報で情報にタグ付けし、または情報を識別してもよい。これらの取り決めは、テレメトリ情報を適当な受信者に高速かつ効率的にルーティングするために、テレメトリルーティング機能302を支援してもよい。例えば、いくつかの場合、テレメトリ情報は、次のフォーマット、フリート識別子/インスタンス識別子/ルート識別子/タイムスタンプ/グローバル一意識別子(GUID)を用いて識別されてもよい。フリート識別子は、情報が関連付けられる特定のコンテンツアイテムフリートのための識別子であってもよい。インスタンス識別子は、情報が関連付けられる特定のコンテンツアイテムインスタンスのための識別子であってもよい。ルート識別子は、情報が送信されるべき1つまたは複数の受信者(例えば、処理機能303A〜Dのうちのいずれかまたは全て)を示す識別子であってもよい。タイムスタンプは、情報が収集される時間などの、情報に関連するタイムスタンプであってもよい。いくつかの場合、この識別情報は、テレメトリルーティング機能302がそれぞれのテレメトリ情報を適当な受信者にルーティングするために必要な全てのものであってもよい。
In some embodiments, when writing telemetry information to telemetry landing 301,
いくつかの実施例では、テレメトリルーティング機能302及び/または処理機能303A〜Dのうちのいずれかが、ルーティング及び/または処理のためのテレメトリ情報の受信などのイベントに少なくとも一部基づいてコードを実行する、分散型コンピューティングベースの(例えば、クラウドベースの)機能であってもよい。例えば、いくつかの場合、テレメトリルーティング機能302は、テレメトリランディング301でのテレメトリ情報の受信を検出してもよく、及び/または通知されてもよい。これに応答して、テレメトリルーティング機能302は、例えば、上述のような識別情報に基づいてテレメトリ情報をルーティングするためのコードの実行を自動的に開始してもよい。同様に、処理機能303A〜Dは、次いで、そこへルーティングされているテレメトリ情報を検出してもよく、及び/または通知されてもよく、受信した情報を整理して記憶すること、及び任意の適当な警告または通知を生成することなどによって、受信した情報を処理するためのコードの実行を自動的に開始してもよい。いくつかの例では、イベントに少なくとも一部基づいてコードを実行する分散型コンピューティングベースの(例えば、クラウドベースの)機能を用いた、テレメトリルーティング機能302及び/または処理機能303A〜Dの実施は、例えば、新たなテレメトリ情報がルーティング及び/または処理に利用可能でなかった時間内であっても、一定の実行を維持したルーティング及び/または処理サービスに必要であり得るコンピューティングリソース量及びコストを減少させることによって、有利であってもよい。
In some embodiments, any of
コンテンツアイテムインスタンス情報サービス115は、概して、例えば、図2のコンテンツアイテムインスタンス201A〜N及び221A〜Nを含む、コンテンツ実行コンポーネント120によって実行される個々のコンテンツアイテムインスタンスに関する情報を受信及び提供してもよい。この情報は、例えば、各実行中コンテンツアイテムインスタンスについて使用中のユーザセッションの数、各実行中コンテンツアイテムインスタンスについて使用されていないユーザセッションの数、コンテンツアイテムインスタンス存続期間情報、各実行中コンテンツアイテムインスタンスにおけるメモリ使用量などを含んでもよい。コンテンツアイテムインスタンス情報サービス115は、この情報を使用して、例えば、ユーザセッションを特定のコンテンツアイテムインスタンスに合致させ、割り当てるのを支援してもよい。特に、図1に戻って参照すると、ユーザ計算ノード110のコンテンツクライアント112が、コンテンツアイテムインスタンス情報サービス115と通信して、利用可能なコンテンツに関する情報を要求し、及び利用可能なコンテンツへのアクセスを要求してもよいことがわかる。図1にも示されるように、コンテンツアイテムインスタンス情報サービス115は、識別及び権利付与サービス105と通信して、権利付与情報106に少なくとも一部基づいて、ユーザがアクセスする権利を付与されたのはどのコンテンツアイテムかを判断してもよい。権利付与情報106は、ユーザ権利付与を様々な異なるレベルの粒度で示してもよいことに留意されたい。例えば、いくつかの場合、権利付与情報106は、ユーザが概してシステム150によって実行されるコンテンツへのアクセスを許可されるかどうかを示してもよい。その他の場合、権利付与情報106は、より良好な粒度レベルで提供されてもよく、特定のタイトル、特定のバージョン、特定のストーリーアークまたはプロットライン、特定の仮想位置、特定のモード、特定のキャラクタ、特定の武器などの、ユーザがアクセスする権利を付与された特定のコンテンツを示してもよい。
Content item instance information service 115 may also generally receive and provide information regarding individual content item instances executed by
いくつかの実施例では、コンテンツクライアント112は、コンテンツアイテムインスタンス情報サービス115が、全ての利用可能なコンテンツアイテム、または、あるプロットライン、ストーリーアーク、仮想位置、レベル、モード、キャラクタ、武器などの、あるコンテンツ属性を有するコンテンツアイテムのリストなど、ユーザがアクセスする権利を付与された利用可能なコンテンツアイテムに関する情報を提供することを要求してもよい。この情報を受信すると、いくつかの実施例では、ユーザが、特定のコンテンツアイテムを選択し、コンテンツクライアント112を介して選択されたコンテンツアイテムへのアクセス要求を提出してもよい。追加的に、コンテンツクライアント112は、また、あるプロットライン、ストーリーアーク、仮想位置、レベル、モード、キャラクタ、武器などのユーザにより所望されるあるコンテンツ嗜好に関する情報を、コンテンツアイテムインスタンス情報サービス115に提供してもよい。コンテンツアイテムインスタンス情報サービス115は、次いで、ユーザの要求、ユーザの嗜好、及びテレメトリコンポーネント125から受信したテレメトリ情報に少なくとも一部基づいて、ユーザの要求をユーザの選択したコンテンツアイテムの特定のインスタンスに合致させてもよい。 In some embodiments, the content client 112 is configured such that the content item instance information service 115 includes all available content items or certain plot lines, story arcs, virtual locations, levels, modes, characters, weapons, etc. It may be required to provide information about available content items that the user is entitled to access, such as a list of content items having certain content attributes. Once this information is received, in some embodiments, the user may select a particular content item and submit a request for access to the selected content item via the content client 112. Additionally, the content client 112 also provides the content item instance information service 115 with information regarding certain content preferences desired by the user, such as certain plot lines, story arcs, virtual locations, levels, modes, characters, weapons, etc. You may The content item instance information service 115 then matches the user's request to the particular instance of the user's selected content item based at least in part on the user's request, the user's preferences, and the telemetry information received from the telemetry component 125 You may
いくつかの実施例では、コンテンツアイテムインスタンス情報サービス115は、ユーザの要求した嗜好のコンテンツ属性に合致する、または少なくとも一部合致するコンテンツ属性を有する選択されたコンテンツアイテムの1つまたは複数のインスタンスを識別するように試みてもよい。コンテンツアイテムインスタンス情報サービス115は、多様な異なる技術を通して、実行中のコンテンツアイテムインスタンスについてのコンテンツ属性情報を取得してもよい。いくつかの実施例では、コンテンツ属性情報は、テレメトリコンポーネント125から利用可能とされるテレメトリ情報の一部として収集され、提供されてもよく、図2のスケーリングコンポーネント230から取り出されてもよく、またはコンテンツアイテムインスタンス情報サービス115に利用可能とされてもよい。ユーザの嗜好に少なくとも一部合致するコンテンツ属性を有する1つまたは複数のコンテンツアイテムインスタンスを識別すると、コンテンツアイテム情報サービスは、テレメトリコンポーネント125からのテレメトリ情報に少なくとも一部基づいて、識別されたコンテンツアイテムインスタンスのうちのいずれかについて何らかの使用されていないユーザセッションがあるかどうかを判断してもよい。いくつかの実施例では、次いで、コンテンツアイテムインスタンス情報サービス115は、少なくとも1つの使用されていないユーザセッションを有する、識別されるコンテンツアイテムインスタンスのうちの1つにユーザを割り当ててもよい。いくつかの実施例では、ユーザは、ユーザの嗜好に最も密接に合致するコンテンツ属性を持つ少なくとも1つの使用されていないユーザセッションを有する、識別されるコンテンツアイテムインスタンスに割り当てられてもよい。他の実施例では、ユーザは、例えば、ユーザの嗜好、使用されていないユーザセッションの数などを含む要因の組み合わせに基づいて、コンテンツアイテムインスタンスに割り当てられてもよい。例えば、ユーザが、参加するコンテンツアイテムインスタンスについて5つの異なるコンテンツ属性嗜好を指定するシナリオを考える。ここで、第1のコンテンツアイテムインスタンスは、5つ全てのユーザの嗜好に合致するが、使用されていないユーザセッションを1つしか有しておらず、一方、第2のコンテンツアイテムインスタンスは、ユーザの嗜好5つのうち4つに合致するが、使用されていないユーザセッションを10有すると仮定する。このシナリオでは、嗜好が第1のコンテンツアイテムインスタンスにより強く相関し得る他のユーザに、利用可能な第1のコンテンツアイテムインスタンスのただ1つ残っている使用されていないユーザセッションをとっておくために、ユーザを第2のコンテンツアイテムインスタンスに割り当てることが有利である場合がある。また、いくつかの実施例では、ユーザが、割り当てのために識別されたコンテンツアイテムインスタンスのうちの1つを選択できるようにするため、またはそのような選択を行うための入力を提供できるようにするために、コンテンツアイテムインスタンス情報サービス115は、ユーザの嗜好をコンテンツクライアント112に少なくとも一部合致させる少なくとも1つの使用されていないユーザセッションを有する識別されたコンテンツアイテムインスタンスに関する情報を提供してもよい。 In some embodiments, the content item instance information service 115 may select one or more instances of the selected content item having content attributes that match or at least partially match the content attributes of the user's requested preferences. It may try to identify. Content item instance information service 115 may obtain content attribute information about a running content item instance through a variety of different techniques. In some embodiments, content attribute information may be collected and provided as part of telemetry information made available from telemetry component 125, or may be retrieved from scaling component 230 of FIG. 2, or It may be made available to the content item instance information service 115. Upon identifying one or more content item instances having content attributes that at least partially match the user's preferences, the content item information service identifies the content items identified based at least in part on the telemetry information from the telemetry component 125 It may be determined whether there is any unused user session for any of the instances. In some embodiments, content item instance information service 115 may then assign the user to one of the identified content item instances having at least one unused user session. In some embodiments, a user may be assigned to an identified content item instance having at least one unused user session with content attributes that most closely match the user's preferences. In other embodiments, users may be assigned to content item instances based on a combination of factors including, for example, user preferences, the number of unused user sessions, and the like. For example, consider a scenario where a user specifies five different content attribute preferences for participating content item instances. Here, the first content item instance matches the preferences of all five users but has only one unused user session, while the second content item instance is a user Suppose that we have 10 user sessions that match 4 of the 5 preferences but are not used. In this scenario, in order to keep only one remaining unused user session of the first content item instance available to other users whose preferences may be more strongly correlated to the first content item instance. It may be advantageous to assign a user to a second content item instance. Also, in some embodiments, to allow the user to select one of the identified content item instances for assignment, or to provide input to make such selection. In order to do so, the content item instance information service 115 may provide information regarding identified content item instances having at least one unused user session that at least partially matches the user's preferences with the content client 112 .
いくつかの実施例では、コンテンツアイテムインスタンス情報サービス115は、既存の、既に開始されて実行中のコンテンツアイテムインスタンスにユーザを合致させ、割り当てる代わりに、スケーリングコンポーネント230が、ユーザを割り当てるべき追加のコンテンツアイテムインスタンスを開始することを要求してもよい。これは、例えば、フリート内に存在するコンテンツアイテムインスタンスのうちのいずれも、いかなる残りの使用されていないユーザセッションを有しないとき、及び/またはフリート内に存在するコンテンツアイテムインスタンスのうちのいずれも、ユーザの要求するコンテンツ属性嗜好に十分に合致すると判断されるコンテンツ属性を有しないときに、発生し得る。 In some embodiments, instead of content item instance information service 115 matching and assigning users to existing, already started and running content item instances, scaling component 230 adds additional content to which users should be assigned. It may require starting an item instance. This is done, for example, when none of the content item instances present in the fleet have any remaining unused user sessions, and / or any of the content item instances present in the fleet, This may occur when there is no content attribute determined to sufficiently match the user's requested content attribute preference.
一旦ユーザが特定のコンテンツアイテムインスタンスに合致され、割り当てられたら、コンテンツアイテムインスタンス情報サービス115は、割り当てられたコンテンツアイテムインスタンスの標識(または、新たなコンテンツアイテムインスタンスを開始する命令)をスケーリングコンポーネント230に提供してもよい。スケーリングコンポーネント230は、同様に、例えば、ユーザ計算ノード110においてコンテンツクライアント112と通信するように、割り当てられたコンテンツアイテムインスタンスに命令することによって、ユーザのためのユーザセッションと割り当てられたコンテンツアイテムインスタンスとの間で通信を確立してもよい。上述したように、いくつかの実施例では、これらの通信は、割り当てられたコンテンツアイテムインスタンスによって、状態情報、イベント情報、レンダリングされたグラフィックス及びオーディオ、ならびに/またはコンテンツアイテムインスタンスに関連付けられる他の情報を、ユーザセッションに対応するコンテンツクライアント112に送信することを含んでもよい。また、いくつかの実施例では、これらの通信は、コンテンツクライアント112によって、制御入力(例えば、キャラクタの動き、武器の発砲、メニュー選択など)などの入力を、割り当てられたコンテンツアイテムインスタンスに送信することを含んでもよい。 Once the user has been matched and assigned to a particular content item instance, the content item instance information service 115 sends to the scaling component 230 the indicator of the assigned content item instance (or the instruction to start a new content item instance) May be provided. The scaling component 230 may also, for example, instruct the assigned content item instance to communicate with the content client 112 at the user computing node 110, such as with a user session for the user and the assigned content item instance. Communication may be established between As mentioned above, in some embodiments, these communications may be performed by the assigned content item instance, state information, event information, rendered graphics and audio, and / or other associated content item instances. Information may be sent to the content client 112 corresponding to the user session. Also, in some embodiments, these communications may cause the content client 112 to send inputs, such as control inputs (eg, character movement, weapon firing, menu selections, etc.) to the assigned content item instance. May be included.
したがって、上述したように、コンテンツアイテムインスタンス情報サービス115は、テレメトリコンポーネント125によって提供されるコンテンツアイテムインスタンスレベルテレメトリ情報を使用して、ユーザセッションをコンテンツアイテムインスタンスに合致させ、割り当てるプロセスを支援してもよい。これらの合致技術に加えて、コンテンツアイテムインスタンス情報サービス115に提供されるコンテンツアイテムインスタンスレベルテレメトリ情報は、例えば、コンテンツアイテムインスタンスレベルフィードバック及びメトリックを開発者及びおそらく他の関係者に提供するためにも使用されてもよい。特に、図1及び図3の両方に示されるように、開発者計算ノード100は、コンテンツアイテムインスタンス情報サービス115にアクセスして、各実行中コンテンツアイテムインスタンスについての使用中のユーザセッションの数、各実行中コンテンツアイテムインスタンスについての使用されていないユーザセッションの数、コンテンツアイテムインスタンス存続期間情報、各実行中コンテンツアイテムインスタンスによるメモリ使用量などの、コンテンツアイテムインスタンスレベル情報を要求してもよい。
Thus, as described above, the content item instance information service 115 also uses the content item instance level telemetry information provided by the telemetry component 125 to assist in the process of matching and assigning user sessions to content item instances. Good. In addition to these matching technologies, content item instance level telemetry information provided to content item instance information service 115 may also be used, for example, to provide content item instance level feedback and metrics to developers and possibly other parties. It may be used. In particular, as shown in both FIG. 1 and FIG. 3, the
図3に戻って参照すると、コンテンツアイテムインスタンス情報サービス115に加えて、テレメトリルーティング機能302は、各処理機能303B〜Dを通して、コンテンツアイテムフリート情報サービス304、履歴情報サービス305、及び他の追加サービス306にテレメトリ情報をルーティングしてもよい。コンテンツアイテムフリート情報サービス304は、概して、コンテンツアイテムフリートレベルテレメトリ情報を受信し、開発者及び/または他の関係者に提供してもよい。コンテンツアイテムフリートレベル情報は、フリート内の使用中ユーザセッション、フリート内の使用されていないユーザセッション、フリートについてのインスタンス存続期間情報、フリートによるメモリ使用量、フリート内の実行中インスタンスの数、インスタンス終了情報などに関する情報を含んでもよい。使用中ユーザセッションの場合、フリートレベル情報は、例えば、全てのフリートインスタンスについての使用中ユーザセッションの総数、全てのフリートインスタンスについての使用中ユーザセッションの平均数、使用中セッションが最小のフリートインスタンス内の使用中セッションの数、使用中セッションが最大のフリートインスタンス内の使用中セッションの数などを含んでもよい。使用されていないユーザセッションの場合、フリートレベル情報は、例えば、全てのフリートインスタンスについての使用されていないユーザセッションの総数、全てのフリートインスタンスについての使用されていないユーザセッションの平均数、使用されていないセッションが最小のフリートインスタンス内の使用されていないセッションの数、使用されてないセッションが最大のフリートインスタンス内の使用されていないセッションの数などを含んでもよい。インスタンス存続期間情報の場合、フリートレベル情報は、例えば、特定期間内に終了したフリートインスタンスについての合計、平均、最大、及び最小の存続期間、ならびに特定期間内に終了したインスタンスの数を含んでもよい。メモリ使用量情報の場合、フリートレベル情報は、例えば、フリートインスタンスについての合計、平均、最大、及び最小のメモリ使用量を含んでもよい。
Referring back to FIG. 3, in addition to the content item instance information service 115, the
いくつかの実施例では、コンテンツアイテムフリート情報サービス304及び/またはコンテンツアイテムインスタンス情報サービス115は、開発者または他の関係者が、コンテンツアイテムフリート及び/またはインスタンスに関連するあるイベントまたは条件を通知され得るように、警告及び/または他の通知を設定できるようにしてもよい。警告を引き起こし得るいくつかの例としての条件は、使用中のフリートセッションの総数が、指定されたレベルを満たすこと、超えること、またはそれよりも低下すること、1つまたは複数のフリートインスタンスが、使用中セッションの指定数よりも少ない数を有すること、使用されていないフリートセッションの総数が、指定されたレベルを満たすこと、超えること、またはそれよりも低下すること、フリートインスタンスが、指定された平均存続期間より短い存続期間を有すること、フリートインスタンスが、指定された平均または最大メモリ使用量より大きいメモリ使用量を有すること、及びその他の条件である。 In some embodiments, the content item fleet information service 304 and / or the content item instance information service 115 may be notified by the developer or other party of certain events or conditions associated with the content item fleet and / or instances. Alerts and / or other notifications may be configured to be obtained. Some example conditions that can cause an alert are that the total number of fleet sessions in use meets, exceeds or falls below a specified level, and one or more fleet instances are: Having a number less than the specified number of in-use sessions, the total number of un-used fleet sessions meeting, exceeding or falling below the specified level, the fleet instance is specified Having a lifetime shorter than the average lifetime, having a fleet instance having a memory usage greater than a specified average or maximum memory usage, and other conditions.
履歴情報サービス305は、概して、コンテンツアイテムフリート及び/またはコンテンツアイテムインスタンスに関する履歴情報を受信し、保持し、及び提供してもよい。いくつかの実施例では、履歴情報サービスは、以前に終了したコンテンツアイテムフリート及び/もしくはコンテンツアイテムインスタンスに関する履歴情報、ならびに/または全体的もしくは部分的に実行され続け得るコンテンツアイテムフリート及び/もしくはコンテンツアイテムインスタンスに関する情報を含んでもよい。履歴情報サービス305は、例えば、上で詳細に説明したインスタンスレベル情報及び/もしくはフリートレベル情報のいずれかもしくは全て、ならびに/または任意の他の関連する履歴情報を提供してもよい。いくつかの実施例では、履歴情報は、開発者及び/または他の関係者が、過去60日もしくは90日間、または任意の他の適切な期間などの、ある指定可能な履歴期間の情報を要求できるようにしてもよい。 History information service 305 may generally receive, maintain, and provide history information regarding content item fleets and / or content item instances. In some embodiments, the historical information service may include historical information about previously terminated content item fleets and / or content item instances, and / or content item fleets and / or content items that may continue to be performed in whole or in part. It may contain information about the instance. The history information service 305 may provide, for example, any or all of the instance level information and / or fleet level information described in detail above, and / or any other relevant history information. In some embodiments, the historical information may require the developer and / or other parties to provide information of some specifiable historical period, such as the past 60 days or 90 days, or any other suitable period. It may be possible.
コンテンツアイテムのテスト及び展開のためのいくつかの例としての技術が、ここで詳細に説明される。特に、図4は、本開示に従って使用され得る、例としてのコンテンツアイテムテスト及び展開のタイムライン405を示す図である。タイムライン405は、縮尺通りに描かれておらず、任意の特定のイベントの前、間、または後に発生する、いかなる特定の正確な時間量も示すことを意図するものではないことに留意されたい。図4に示されるように、イベント410において、例えばバックエンドサービス上で、ビデオゲームなどのコンテンツアイテムの展開準備ができているという標識が、受信される。標識は、コンテンツアイテムの開発者から受信されてもよい。コンテンツアイテム情報は、コード、バイナリファイル、開発者インストールスクリプト、及びコンテンツアイテムに関連付けられる他の情報などの、コンテンツアイテムに関連付けられる情報を含んでもよい。イベント410において受信される標識に加えて、開発者は、例えば、コンテンツアイテム情報が記憶され、取り出され得る1つまたは複数の位置の標識も提供してもよい。開発者は、例えば、コンテンツアイテムのインスタンスのフリートについての名前、コンテンツアイテムについての開発段階、コンテンツアイテムの説明、及びその他の情報も提供してもよい。
Several example techniques for testing and deploying content items are now described in detail. In particular, FIG. 4 is a diagram illustrating an example content item test and
コンテンツアイテムの展開準備ができているという標識を受信すると、バックエンドサービスは、例えば、開発者によって提供される位置情報に基づいて、関連するコンテンツアイテム情報を配置してもよい。イベント412において、サービスは、コンテンツアイテム情報を第1の仮想マシンインスタンス上にロードしてもよい。コンテンツアイテム情報をロードするプロセスは、例えば、コンテンツアイテムに関連付けられるコード及び/またはバイナリファイルのロード、ならびにコンテンツアイテムに関連付けられる開発者インストールスクリプトの実行を含んでもよい。 Upon receiving an indication that the content item is ready to be deployed, the back end service may, for example, place the associated content item information based on the location information provided by the developer. At Event 412, the service may load content item information onto the first virtual machine instance. The process of loading content item information may include, for example, loading of code and / or binary files associated with the content item, and execution of a developer installation script associated with the content item.
コンテンツアイテム情報のロードが完了すると、ロードされたコンテンツアイテム情報のスナップショット(即ち、コピー)またはそれらの任意の部分が取り込まれてもよい。イベント413を実行すると、タイムライン405は、上部405A及び下部405Bに分岐する。このようなタイムライン405の分岐は、部分405A及び405Bが、互いに並行して、または部分的に並行して実行され得ることを伝えることを意図するものである。イベント414において、イベント413において作成されたスナップショットを第2の仮想マシンインスタンスにコピーするなどによって、コンテンツアイテム情報が第2の仮想マシンインスタンス上にロードされる。イベント415において、仮想マシンイメージ制作プロセスが、第2の仮想マシンインスタンス上で開始される。仮想マシンイメージ制作プロセスは、第2の仮想マシンインスタンス上にロードされるコンテンツアイテム情報に少なくとも一部基づいて、仮想マシンイメージを生成することを含んでもよい。それに応じて、仮想マシンイメージは、第2の仮想マシンインスタンス上にロードされるコンテンツアイテム情報を含んでもよい。追加的に、後述されるように、仮想マシンイメージの各複製もまた、第2の仮想マシンインスタンス上にロードされるコンテンツアイテム情報を含んでもよい。いくつかの実施例では、仮想マシンイメージは、オペレーティングシステムを伴う読み取り専用ファイルシステムイメージを含んでもよい。また、いくつかの実施例では、仮想マシンイメージは、署名され、暗号化され、圧縮され、及び情報の様々な部分またはチャンクに分割されてもよい。いくつかの実施例では、仮想マシンイメージは、アマゾンマシンイメージ(AMI)であってもよい。仮想マシンイメージを制作するのに要する期間は、仮想マシンイメージ内に含まれている情報量に少なくとも一部基づくことがある。例えば、より大量の情報を含む仮想マシンイメージは、典型的には、より少ない量の情報を含む仮想マシンイメージよりも制作により多くの時間を要し得る。
Once loading of the content item information is complete, a snapshot (ie, copy) of the loaded content item information or any portion thereof may be captured. Execution of
上部タイムライン405Aに戻って参照すると、コンテンツアイテム情報のスナップショットを取った後、イベント416において第1の仮想マシンインスタンス上で、SDKが検出及び承認され得ることが分かる。いくつかの実施例では、イベント413及び416の実行の間に、テスト仮想マシンインスタンスをシャットダウンし、リスタートする必要があることがある。上述したように、いくつかの実施例では、コンテンツアイテムの展開されたインスタンスをホストする1つまたは複数のサービスが、1つまたは複数のサービスと統合される1つまたは複数のSDKを公開してもよい。これらの実施例では、SDKは、コンテンツがマルチプレーヤビデオゲームまたは他のマルチユーザ環境とより効率的に対話可能にすることなどによって、例えば、コンテンツの摂取、構成、提供、及び展開が、より容易かつ高速に達成できるようにし得る、コンテンツアイテムに組み込まれたコード及び他の機能性を提供してもよい。例えば、コンテンツを作成するために使用されるSDKは、1つまたは複数のユーザのための新たなユーザセッションの構成、ならびに、使用中ユーザセッションの数、使用されていないユーザセッションの数、コンテンツアイテムインスタンス存続期間、メモリ使用量などの、実行中のコンテンツアイテムに関する情報の報告及び収集を支援してもよい。
Referring back to the
したがって、イベント416において、コンテンツアイテムが承認済みSDKを使用して作成されていることを確認するため、及びコンテンツアイテムを作成するために使用された特定のバージョンのSDKを検出するために、第1の仮想マシンインスタンス上のコンテンツアイテム情報が検査されてもよい。本文脈における承認済みSDKは、アクティブ化されたコンテンツアイテムフリートを潜在的にホストすることとなるバックエンドサービスと統合されるSDKであってもよい。例えば、承認済みSDKに合致するか、または関連付けられる様々な命令を識別するために、第1の仮想マシンインスタンス上のコンテンツアイテム情報を検査することによって、SDKがイベント416において承認されてもよい。いくつかの実施例では、承認済みSDKは、図2のインスタンスインタフェース202A〜N及び222A〜Nなどのコンテンツ展開サービスのインスタンスインタフェースに情報を報告すること、または対話することが可能であってもよい。また、いくつかの実施例では、コンテンツアイテムの展開されたインスタンスとともに使用する特定バージョンのインスタンスインタフェースが、イベント416においてコンテンツアイテム情報内で検出されたSDKのバージョンに基づいて判断されてもよい。第1の仮想マシンインスタンス上でSDKを検出すること及び承認することによって、仮想マシンイメージ上、またはその複製上でSDKを引き続き検出及び承認する必要がない場合があることに留意されたい。 Thus, at Event 416, to confirm that the content item has been created using the approved SDK, and to detect the specific version of the SDK used to create the content item, Content item information on a virtual machine instance of may be examined. An approved SDK in this context may be an SDK integrated with a back end service that will potentially host activated content item fleets. For example, the SDK may be approved at event 416 by examining content item information on the first virtual machine instance to identify various instructions that match or be associated with the approved SDK. In some embodiments, the approved SDK may be able to report or interact with the instance interface of a content deployment service, such as instance interfaces 202A-N and 222A-N of FIG. . Also, in some embodiments, the particular version of the instance interface to use with the expanded instance of the content item may be determined based on the version of the SDK detected in the content item information at event 416. It should be noted that by detecting and approving the SDK on the first virtual machine instance, it may not be necessary to continue to detect and approve the SDK on the virtual machine image or its duplicate.
いくつかの実施例では、承認済みSDKが、第1の仮想マシンインスタンス上のコンテンツアイテム情報内で検出できない場合、コンテンツアイテムが、サービスによるホスティングに現在適当でないと判断されてもよい。開発者は、このエラーを通知され、承認済みSDKを含むようにコンテンツアイテムを編集または再作成するよう依頼されてもよい。このような場合、第1の仮想マシンインスタンス及び仮想マシンイメージの使用が、承認されなくてもよく、及び/または終了されてもよい。 In some embodiments, if the approved SDK can not be found in the content item information on the first virtual machine instance, then the content item may be determined to not currently be suitable for hosting by the service. The developer may be notified of this error and asked to edit or recreate the content item to include the approved SDK. In such cases, the use of the first virtual machine instance and virtual machine image may not be approved and / or terminated.
イベント418において、プロキシコンポーネントが、第1の仮想マシンインスタンス上にインストールされる。イベント418においてインストールされたプロキシコンポーネントは、例えば、図2のプロキシコンポーネント203及び223に類似または同一であってもよい。上述したように、このようなプロキシコンポーネントは、概して、実行中のコンテンツアイテムインスタンスと、図2のスケーリングコンポーネント230及びテレメトリランディング301などの他のコンポーネントとの間の、情報及びコマンドの交換を可能にしてもよい。プロキシコンポーネント203及び223の機能及び動作は、上で詳細に説明されており、ここでは繰り返さない。
At Event 418, a proxy component is installed on the first virtual machine instance. The proxy component installed at event 418 may, for example, be similar or identical to
図4に示されるように、SDKの検出及び承認(イベント416)、及びプロキシコンポーネントのインストール(イベント418)の後、本明細書でテストコンテンツアイテムインスタンスと呼ばれる、第1の仮想マシンインスタンス上で実行されるコンテンツアイテムインスタンスが、期間420の間に実行するため利用可能になってもよい。特に、期間420の任意の部分の間に、1つまたは複数のユーザセッションが、テストコンテンツアイテムインスタンスに割り当てられ、接続されてもよい。いくつかの実施例では、1つまたは複数の接続されたユーザセッションが、コンテンツアイテムのテストまたはコンテンツアイテムとの対話のためにコンテンツアイテムの開発者によって動作されてもよい。図4に示されるように、テストコンテンツアイテムインスタンスは、仮想マシンイメージ制作時間(即ち、タイムラインの部分405B上のイベント414と422との間の時間)の少なくとも一部の間、実行に利用可能にされる。上述したように、テストコンテンツアイテムインスタンスを用いたコンテンツアイテムの実行及びテストは、いくつかの場合に、開発者が、アクティブ化されたコンテンツアイテムフリートを潜在的にホストすることとなる同じバックエンドサービスによって実行されるコンテンツアイテムインスタンスをテストし、対話することを可能にしてもよく、それによって、開発者が、それが他のユーザに提供され得る同じ環境内で、コンテンツアイテムをテストし、対話することを可能にする。いくつかの場合、1つまたは複数の欠点または他の問題が、高速に識別され、効率的に訂正され得るように、テストコンテンツアイテムインスタンスが、コンテンツアイテムをテストすることを可能にしてもよい。追加的に、テストコンテンツアイテムインスタンスは、例えば、開発者が、コンテンツアイテムをテストし、またはコンテンツアイテムと対話するためにイメージが完全に制作されるまで待機しなくとも、仮想マシンイメージの有益性を体験できるようにしてもよい。
As shown in FIG. 4, after detection and approval of the SDK (event 416) and installation of the proxy component (event 418), it runs on a first virtual machine instance, referred to herein as a test content item instance Content item instances may be made available for execution during time period 420. In particular, during any part of the period 420, one or more user sessions may be assigned and connected to the test content item instance. In some embodiments, one or more connected user sessions may be operated by the content item developer for testing of the content item or interaction with the content item. As shown in FIG. 4, a test content item instance is available for execution during at least a portion of virtual machine image production time (ie, the time between events 414 and 422 on
下部タイムライン405Bに戻って参照すると、イベント422において、仮想マシンイメージ制作が完了し得ることが分かる。いくつかの実施例では、仮想マシンイメージ制作が完了すると、開発者には、仮想マシンイメージ制作が完了したこと、及び仮想マシンイメージの使用準備ができていることが通知されてもよい。続いて、イベント424において、仮想マシンイメージを使用するための承認が、判断されてもよい。例えば、仮想マシンイメージを使用するための承認が、開発者から受信されてもよい。仮想マシンイメージの使用が、仮想マシンイメージ制作の完了後すぐに開発者によって承認されなければならないという必要はないことに留意されたい。図4の具体例では、仮想マシンイメージ制作の完了(イベント422)とその使用のための承認の判断(イベント424)との間に時間遅延がある。この時間遅延は、下部タイムライン405B内のイベント422及び424間の中断によって示され、上部タイムライン405A内のイベント422及び424間の破線によっても示される。いくつかの実施例では、イベント422及び424間の時間遅延の間、仮想マシンイメージ制作が完了した後であっても、開発者は、テストコンテンツアイテムインスタンスをテストし、テストコンテンツアイテムインスタンスと対話し続けてもよい。
Referring back to
いくつかの実施例では、仮想マシンイメージの承認及び使用は、仮想マシンイメージが複製される仮想マシンインスタンスを取得し、使用するためのコストなど、開発者に様々なコストを生じ得る。いくつかの場合、開発者は、これらのコストが正当であり、仮想マシンイメージ制作が完了する時点ですぐに承認することが望ましいということに確信がない場合がある。したがって、これらの及びその他の場合、仮想マシンイメージ制作が完了した後であっても、開発者は、テストコンテンツアイテムインスタンス上でコンテンツアイテムをテストし、コンテンツアイテムと対話し続けたい場合がある。これによって、開発者は、仮想マシンイメージの使用を承認するか否か、及びそのような承認に関連し得るコストを負うか否かについての最終決定を行う前に、コンテンツアイテムのさらなるテスト及びコンテンツアイテムとの追加の対話を行うことが可能となる。 In some embodiments, approval and use of a virtual machine image can result in various costs for developers, such as the cost to obtain and use a virtual machine instance in which the virtual machine image is replicated. In some cases, the developer may not be confident that these costs are justified and that it is desirable to approve immediately when virtual machine image creation is complete. Thus, in these and other cases, the developer may want to test the content item on the test content item instance and continue interacting with the content item even after virtual machine image creation is complete. This allows the developer to further test and content item content before making a final decision as to whether or not to approve the use of the virtual machine image and to bear the costs that may be associated with such approval. Additional interactions with the item can be made.
図4の実施例では、仮想マシンイメージの使用に対する承認を判断すること(イベント424)が、イベント426及び428の実行を引き起こす。特に、仮想マシンイメージの使用に対する承認を判断した後すぐにまたは間もなく、イベント426において、第1の仮想マシンインスタンスが終了され、または再利用されてもよい。理解されるように、一旦第1の仮想マシンインスタンスが終了され、または再利用されると、イベント426における期間420の満了によって示されるように、テストコンテンツアイテムインスタンスが実行に利用可能でなくなることとなる。 In the example of FIG. 4, determining approval for use of the virtual machine image (event 424) causes the execution of events 426 and 428. In particular, the first virtual machine instance may be terminated or reused at event 426 immediately or shortly after determining approval for use of the virtual machine image. As will be appreciated, once the first virtual machine instance is terminated or re-used, the test content item instance is not available for execution, as indicated by the expiration of period 420 in event 426. Become.
追加的に、仮想マシンイメージの使用に対する承認を判断した後、イベント428において、コンテンツアイテムフリートがアクティブ化される。特に、アクティブ化されると、コンテンツアイテムフリートは、仮想マシンイメージを1つまたは複数の他の仮想マシンインスタンスに複製することによって生成されてもよい。上述したように、例えば、仮想マシンイメージによって、コンテンツアイテムが多数の他の仮想マシン上に容易かつ効率的に複製されることが可能となり、それによって、多数のコンテンツアイテムインスタンスが、ユーザ要求に応じて高速にスケールアップすることが可能となり得るため、仮想マシンイメージは有利であり得る。 Additionally, at event 428, after determining the approval for use of the virtual machine image, the content item fleet is activated. In particular, when activated, the content item fleet may be generated by replicating a virtual machine image to one or more other virtual machine instances. As mentioned above, for example, a virtual machine image allows content items to be easily and efficiently replicated on a large number of other virtual machines, whereby a large number of content item instances respond to user requests. Virtual machine images may be advantageous because they may be able to scale up quickly.
いくつかの実施例では、仮想マシンイメージの使用に対する明示的な承認が、開発者から受信される必要がない場合があることに留意されたい。例えば、仮想マシンイメージの使用に対する承認の判断が、開発者からの明示的な承認を受信することなく推測されることがある。いくつかの実施例では、仮想マシンイメージの使用に対する承認が、仮想マシンイメージの制作の完了後自動的に推測されてもよく、フリートがアクティブ化されてもよい。 It should be noted that in some embodiments, explicit approval for the use of virtual machine images may not need to be received from the developer. For example, a determination of approval for use of a virtual machine image may be inferred without receiving explicit approval from a developer. In some embodiments, approval for use of the virtual machine image may be automatically inferred after completion of creation of the virtual machine image, and the fleet may be activated.
上述したように、いくつかの実施例では、開発者が、仮想マシンイメージの使用を承認しないことを選択してもよい。これは、例えば、テストコンテンツアイテムインスタンスをテストすることなどに基づいて、それらがコンテンツアイテムを満たさないと開発者が判断し、フリートアクティブ化及び実行のコストを負いたくないか、または仮想マシンイメージの使用を承認したくないときに発生することがある。いくつかの場合、開発者は、コンテンツアイテムフリートが、アクティブ化について承認されないことを明示的に示すメッセージを送信してもよい。その他の場合、明示的な承認を受信せずにイメージ制作の完了後期間が満了するなどの要因、またはその他の要因に基づいて、フリートアクティブ化の不承認が推測されることがある。図5は、仮想マシンイメージが使用のために承認されない実施例を示す。特に、図5は、イベント422の仮想マシンイメージ制作の完了までは、図4と同一である。一方、図5に示されるように、仮想マシンイメージ制作完了に続いて、イベント524において仮想マシンイメージ使用の不承認が判断される。上述したように、イベント524は、明示的な不承認の受信、または、例えば、期間満了に基づく不承認の推測を含んでもよい。イベント524の発生後、第1の仮想マシンインスタンスが、終了され、または再利用され(イベント426)、仮想マシンイメージもまた、終了され、または再利用される(イベント526)。 As mentioned above, in some embodiments, a developer may choose not to approve the use of virtual machine images. This is because, for example, based on testing a test content item instance, the developer decides that they do not satisfy the content item, and does not want to bear the cost of fleet activation and execution, or of virtual machine image It may occur when you do not want to approve the use. In some cases, the developer may send a message explicitly indicating that the content item fleet is not approved for activation. In other cases, the disapproval of fleet activation may be inferred based on factors such as expiration of a period after completion of image production without receiving explicit approval, or other factors. FIG. 5 shows an embodiment where the virtual machine image is not approved for use. In particular, FIG. 5 is identical to FIG. 4 until the completion of virtual machine image creation for event 422. On the other hand, as shown in FIG. 5, following the completion of virtual machine image creation, disapproval of use of the virtual machine image is determined at event 524. As mentioned above, event 524 may include the receipt of explicit disapproval or, for example, speculation of disapproval based on expiration. After the occurrence of event 524, the first virtual machine instance is terminated or reused (event 426), and the virtual machine image is also terminated or reused (event 526).
図6は、本開示に従って使用され得る、仮想マシンイメージ制作中のコンテンツアイテム実行のための例としてのプロセスを示す図である。図6に示されるように、動作610において、ビデオゲームなどのコンテンツアイテムの展開準備ができているという標識が、(例えば、開発者から)受信される。コンテンツアイテム情報は、コード、バイナリファイル、開発者インストールスクリプト、及びコンテンツアイテムに関連付けられる他の情報などの、コンテンツアイテムに関連付けられる情報を含んでもよい。上述したように、開発者は、また、コンテンツアイテム情報が記憶され、取り出され得る1つまたは複数の位置を示してもよい。 FIG. 6 is a diagram illustrating an example process for content item execution during virtual machine image production that may be used in accordance with the present disclosure. As shown in FIG. 6, at act 610, an indication that a content item, such as a video game, is ready for deployment is received (eg, from a developer). Content item information may include information associated with the content item, such as code, binary files, developer installation scripts, and other information associated with the content item. As mentioned above, the developer may also indicate one or more locations where content item information may be stored and retrieved.
コンテンツアイテムの展開準備ができているという標識を受信すると、動作612において、コンテンツアイテムに関連付けられるコンテンツアイテム情報が、第1の仮想マシンインスタンス上にロードされてもよい。上述したように、コンテンツアイテム情報をロードするプロセスは、例えば、コンテンツアイテムに関連付けられるコード及び/またはバイナリファイルのロード、ならびにコンテンツアイテムに関連付けられる開発者インストールスクリプトの実行を含んでもよい。 Upon receiving an indication that the content item is ready for deployment, at operation 612, content item information associated with the content item may be loaded onto the first virtual machine instance. As mentioned above, the process of loading content item information may include, for example, loading of code and / or binary files associated with the content item, and execution of a developer installation script associated with the content item.
コンテンツアイテム情報のロードが完了すると、ロードされたコンテンツアイテム情報のスナップショット(即ち、コピー)またはそれらの任意の部分が、動作614において作られてもよい。動作622において、動作614で作成されたスナップショットを第2の仮想マシンインスタンスにコピーすること、またはコンテンツアイテム情報を第2の仮想マシンインスタンス上にロードすることなどによって、コンテンツアイテム情報が第2の仮想マシンインスタンス上にロードされる。動作624において、仮想マシンイメージ制作プロセスが、第2の仮想マシンインスタンス上で開始される。上述したように、仮想マシンイメージ制作プロセスは、第2の仮想マシンインスタンス上にロードされるコンテンツアイテム情報に少なくとも一部基づいて、仮想マシンイメージを生成することを含んでもよい。それに応じて、仮想マシンイメージ、及びその各複製は、第2の仮想マシンインスタンス上にロードされるコンテンツアイテム情報を含んでもよい。
Once loading of the content item information is complete, a snapshot (ie, copy) or any portion thereof of the loaded content item information may be created at operation 614. In
動作626において、仮想マシンイメージ制作が完了したかどうかが判断される。いくつかの実施例では、仮想マシンイメージの制作完了の標識が、開発者に送信されてもよい。仮想マシンイメージ制作が完了すると、プロセスは動作628に進み、動作628において、仮想マシンイメージを使用するための承認が受信された(または推測された)かどうかが判断される。 At operation 626, it is determined whether virtual machine imaging is complete. In some embodiments, an indication that the virtual machine image has been created may be sent to the developer. Once virtual machine image creation is complete, the process proceeds to operation 628 where it is determined whether authorization to use the virtual machine image has been received (or inferred).
図6に示されるように、動作614の実行後、別の系列の動作(即ち、動作616、618、及び620)が、第1の仮想マシンイメージに関連して実行されることが分かる。特に、動作616において、SDKが、第1の仮想マシンインスタンス上で検出され、承認されてもよい。上述したように、コンテンツアイテムが承認済みSDKを使用して作成されていることを確認するため、及びコンテンツアイテムを作成するために使用された特定のバージョンのSDKを検出するために、第1の仮想マシンインスタンス上のコンテンツアイテム情報が検査されてもよい。本文脈における承認済みSDKは、アクティブ化されたコンテンツアイテムフリートを潜在的にホストすることとなるバックエンドサービスと統合されるSDKであってもよい。例えば、承認済みSDKに合致するか、または関連付けられる様々な命令を識別するために、第1の仮想マシンインスタンス上のコンテンツアイテム情報を検査することによって、SDKが動作616において承認されてもよい。 As shown in FIG. 6, after execution of operation 614, it can be seen that another series of operations (ie, operations 616, 618, and 620) are performed in conjunction with the first virtual machine image. In particular, at operation 616, an SDK may be detected and approved on the first virtual machine instance. As mentioned above, the first to confirm that the content item has been created using an approved SDK, and to detect the specific version of the SDK used to create the content item Content item information on the virtual machine instance may be examined. An approved SDK in this context may be an SDK integrated with a back end service that will potentially host activated content item fleets. For example, the SDK may be approved at operation 616 by examining content item information on the first virtual machine instance to identify various instructions that match or be associated with the approved SDK.
動作618において、プロキシコンポーネントが、第1の仮想マシンインスタンス上にインストールされる。上述したように、このようなプロキシコンポーネントは、概して、実行中のコンテンツアイテムインスタンスと、図2のスケーリングコンポーネント230及びテレメトリランディング301などの他のコンポーネントとの間の、情報及びコマンドの交換を可能にしてもよい。 At act 618, a proxy component is installed on the first virtual machine instance. As mentioned above, such proxy components generally allow the exchange of information and commands between running content item instances and other components such as scaling component 230 and telemetry landing 301 of FIG. May be
動作620において、テストコンテンツアイテムインスタンスが実行に利用可能であると開発者に通知することなどによって、テストコンテンツアイテムインスタンスが、実行に利用可能とされる。サブ動作620Aにおいて、テストコンテンツアイテムインスタンスが、第1の仮想マシンインスタンス上で実行される。テストコンテンツアイテムインスタンスが実行される時間の少なくとも一部が、仮想マシンイメージ制作中に発生してもよい。上述したように、テストコンテンツアイテムインスタンスは、例えば、開発者が、コンテンツアイテムをテストし、またはコンテンツアイテムと対話するためにイメージが完全に制作されるまで待機しなくとも、仮想マシンイメージの有益性を体験できるようにしてもよい。いくつかの場合、1つまたは複数の欠点または他の問題が、高速に識別され、効率的に訂正され得るように、テストコンテンツアイテムインスタンスが、コンテンツアイテムをテストすることを可能にしてもよい。追加的に、テストコンテンツアイテムインスタンスを用いたコンテンツアイテムの実行及びテストは、いくつかの場合、開発者が、アクティブ化されたコンテンツアイテムフリートを潜在的にホストすることとなる同じバックエンドサービスによって実行されるコンテンツアイテムインスタンスをテストし、及び対話することを可能にしてもよく、それによって、開発者が、それが他のユーザに提供され得る同じ環境内で、コンテンツアイテムをテストし、及び対話することを可能にする。 The test content item instance is made available for execution, such as by notifying the developer that the test content item instance is available for execution at operation 620. At sub-operation 620A, a test content item instance is executed on the first virtual machine instance. At least a portion of the time that the test content item instance is executed may occur during virtual machine image production. As noted above, test content item instances may benefit from virtual machine images, for example, without waiting for the developer to test the content item or fully create an image to interact with the content item. You may be able to experience the In some cases, test content item instances may enable testing of content items so that one or more defects or other problems may be quickly identified and efficiently corrected. Additionally, execution and testing of content items using test content item instances is, in some cases, performed by the same back-end service that developers will potentially host activated content item fleets It may be possible to test and interact with the content item instances being performed, thereby allowing the developer to test and interact with the content item in the same environment that it can be provided to other users. Make it possible.
図6に示されるように、少なくとも、動作628において、仮想マシンイメージ使用承認判断が受信され、または推測されたと判断されるまで(例えば、仮想マシンインスタンスの使用が承認され、または不承認とされるまで)、テストコンテンツアイテムインスタンスは、実行に利用可能とされ続けてもよい(かつ、時には実行され続けてもよい)。上述したように、仮想マシンイメージの使用が、仮想マシンイメージ制作の完了後すぐに開発者によって承認されなければならないという必要はない。むしろ、仮想マシンイメージ制作が完了した後であっても、開発者は、承認判断を遅延させることがあってもよく、テストコンテンツアイテムインスタンスをテストし、テストコンテンツアイテムインスタンスと対話し続けてもよい。したがって、仮想マシンイメージ使用承認判断が受信され、または推測されるまで、動作628及び620を通して図6のプロセスが循環し続けてもよい。上述したように、いくつかの実施例では、動作628は、仮想マシンイメージの使用を明示的に承認または不承認とする、開発者からのメッセージを受信することを含んでもよい。他の実施例では、仮想マシンイメージの使用の承認または不承認が、推測されてもよい。例えば、いくつかの場合、承認が自動的に推測されてもよい。その他の場合、開発者が、仮想マシンイメージ制作完了後指定された期間内に、明示的な承認を提供できない場合に、不承認が推測されてもよい。 As shown in FIG. 6, at least until a virtual machine image usage acceptance decision is determined to be received or inferred in operation 628 (e.g., until usage of the virtual machine instance is approved or disapproved). ), Test content item instances may continue to be made available for execution (and sometimes may continue to be executed). As mentioned above, the use of virtual machine images does not have to be approved by the developer as soon as the virtual machine image creation is complete. Rather, even after the virtual machine image creation is complete, the developer may delay the approval decision and may test the test content item instance and continue to interact with the test content item instance . Thus, the process of FIG. 6 may continue to cycle through operations 628 and 620 until a virtual machine image usage acceptance decision is received or inferred. As mentioned above, in some embodiments, operation 628 may include receiving a message from the developer explicitly approving or disapproving use of the virtual machine image. In other embodiments, approval or disapproval of use of the virtual machine image may be inferred. For example, in some cases, approval may be inferred automatically. Otherwise, disapproval may be inferred if the developer can not provide explicit approval within a specified period of time after virtual machine image production is complete.
動作630において、仮想マシンイメージの使用が承認されたかどうかが判断される。動作630において、仮想マシンの使用が承認されないと判断される場合、動作632において、第1の仮想マシンインスタンス及び仮想マシンイメージの両方が、終了され、及び/または再利用されてもよい。 At operation 630, it is determined whether the use of the virtual machine image has been approved. If it is determined at operation 630 that the use of the virtual machine is not approved, then at operation 632, both the first virtual machine instance and the virtual machine image may be terminated and / or reused.
一方、動作630において、仮想マシンの使用が承認されたと判断される場合、仮想マシンイメージ使用の承認に少なくとも基づいて、動作634、636、及び/または638が実行されてもよい。特に、プロセスは、動作634に進んでもよく、動作634において、第1の仮想マシンインスタンスが、終了され、または再利用されてもよい。動作636において、仮想マシンが、1つまたは複数の他の仮想マシンインスタンスに複製されてもよい。上述したように、例えば、仮想マシンイメージによって、コンテンツアイテムが多数の他の仮想マシン上に容易かつ効率的に複製されることが可能となり、それによって、多数のコンテンツアイテムインスタンスが、ユーザ要求に応じて高速にスケールアップすることが可能となり得るため、仮想マシンイメージは有利であり得る。動作638において、コンテンツアイテムインスタンスが、仮想マシンイメージが複製された他の仮想マシンインスタンス上で実行される。これらのコンテンツアイテムインスタンスが、コンテンツアイテムの実行中のインスタンスのスケーラブルなフリートを形成してもよく、それによって、多数のユーザが、同時に、または部分的に同時にコンテンツアイテムと接続及び対話することが潜在的に可能となる。したがって、いくつかの実施例では、仮想マシンイメージは、コンテンツアイテムにアクセスする複数のユーザにホストするために複数の仮想マシンインスタンス上で使用されてもよい。例えば、いくつかの場合、仮想マシンイメージが、複数の仮想マシンインスタンス上で使用されて、クラウドまたは他の分散型コンピューティング環境において、複数のゲームセッションまたは他のコンテンツアイテムセッションのホスティングを可能にし得る。 On the other hand, if it is determined at operation 630 that the use of the virtual machine has been approved, then operations 634, 636, and / or 638 may be performed based at least on the approval of virtual machine image usage. In particular, the process may proceed to operation 634 where the first virtual machine instance may be terminated or reused. At operation 636, a virtual machine may be replicated to one or more other virtual machine instances. As mentioned above, for example, a virtual machine image allows content items to be easily and efficiently replicated on a large number of other virtual machines, whereby a large number of content item instances respond to user requests. Virtual machine images may be advantageous because they may be able to scale up quickly. At operation 638, the content item instance is executed on another virtual machine instance where the virtual machine image has been replicated. These content item instances may form a scalable fleet of running instances of the content item, which allows the potential for multiple users to connect and interact with the content item simultaneously or partially simultaneously. It becomes possible. Thus, in some embodiments, a virtual machine image may be used on multiple virtual machine instances to host multiple users accessing content items. For example, in some cases, virtual machine images may be used on multiple virtual machine instances to enable hosting of multiple game sessions or other content item sessions in a cloud or other distributed computing environment .
追加的に、本開示の実施形態は、以下の条項を考慮して説明され得る。
1.1つまたは複数のコンピューティングデバイスと、
コンテンツアイテムに関連付けられる情報を第1の仮想マシンインスタンス及び第2の仮想マシンインスタンス上にロードすること、
前記第2の仮想マシンインスタンス上で、前記コンテンツアイテムに関連付けられる前記情報を含む仮想マシンイメージの制作を開始すること、
前記第1の仮想マシンインスタンス上で、前記コンテンツアイテムの第1のインスタンスを実行することであって、前記コンテンツアイテムの前記第1のインスタンスが実行される間の時間の少なくとも一部が、前記仮想マシンイメージの前記制作中に発生する、前記実行すること、
前記仮想マシンイメージの前記制作を完了すること、
前記仮想マシンイメージを1つまたは複数の他の仮想マシンインスタンスに複製すること、及び、
前記コンテンツアイテムの1つまたは複数の他のインスタンスを前記1つまたは複数の他の仮想マシンインスタンス上で実行すること、
を含む動作を、実行時にシステムに実行させるコンピュータ実行可能命令が記憶されている1つまたは複数のメモリと、
を備える、仮想マシンイメージ制作中のコンテンツアイテム実行のためのシステム。
Additionally, embodiments of the present disclosure may be described in view of the following clauses.
1.1 one or more computing devices,
Loading information associated with the content item onto the first virtual machine instance and the second virtual machine instance;
Initiating creation of a virtual machine image including the information associated with the content item on the second virtual machine instance;
Executing a first instance of the content item on the first virtual machine instance, wherein at least a portion of the time during which the first instance of the content item is executed is the virtual Said performing, which occurs during said production of a machine image,
Completing the production of the virtual machine image;
Replicating the virtual machine image to one or more other virtual machine instances;
Running one or more other instances of the content item on the one or more other virtual machine instances;
One or more memories having computer executable instructions stored thereon that cause the system to perform at runtime an operation comprising:
A system for content item execution during virtual machine image production, comprising:
2.前記動作が、前記仮想マシンイメージの使用についての承認を判断することであって、前記仮想マシンイメージを前記複製することが、前記承認に少なくとも一部基づいて実行される、前記判断することをさらに含む、条項1に記載のシステム。
2. The operation is determining an approval for use of the virtual machine image, and the copying of the virtual machine image is performed based at least in part on the approval. The system according to
3.前記動作が、前記コンテンツアイテムの前記第1のインスタンスを実行する前に、前記コンテンツアイテムに関連付けられる前記情報が、承認済みソフトウェア開発キットに関連付けられる命令を含むことを判断するために前記第1の仮想マシンインスタンスを検査することをさらに含む、条項1に記載のシステム。
3. The first to determine that the information associated with the content item includes an instruction associated with an approved software development kit prior to performing the first instance of the content item. The system of
4.前記動作が、前記コンテンツアイテムの前記第1のインスタンスを実行する前に、1つまたは複数のプロキシコンポーネントを前記第1の仮想マシンインスタンス上にインストールすることをさらに含む、条項1に記載のシステム。
4. The system of
5.コンテンツアイテムに関連付けられる情報を第1の仮想マシンインスタンス及び第2の仮想マシンインスタンス上にロードすることと、
前記第2の仮想マシンインスタンス上で、前記コンテンツアイテムに関連付けられる前記情報を含む仮想マシンイメージの制作を開始することと、
前記第1の仮想マシンインスタンス上で、前記コンテンツアイテムの第1のインスタンスを実行することであって、前記コンテンツアイテムの前記第1のインスタンスが実行される間の時間の少なくとも一部が、前記仮想マシンイメージの前記制作中に発生する、前記実行することと、
を含む、仮想マシンイメージ制作中のコンテンツアイテム実行のためのコンピュータ実施される方法。
5. Loading information associated with the content item onto the first virtual machine instance and the second virtual machine instance;
Initiating creation of a virtual machine image including the information associated with the content item on the second virtual machine instance;
Executing a first instance of the content item on the first virtual machine instance, wherein at least a portion of the time during which the first instance of the content item is executed is the virtual Said performing, which occurs during said production of a machine image,
A computer-implemented method for content item execution during virtual machine image production, comprising:
6.前記コンテンツアイテムの前記第1のインスタンスを実行する前に、前記コンテンツアイテムに関連付けられる前記情報が、承認済みソフトウェア開発キットに関連付けられる命令を含むことを判断するために前記第1の仮想マシンインスタンスを検査することをさらに含む、条項5に記載のコンピュータ実施される方法。
6. Prior to executing the first instance of the content item, the first virtual machine instance to determine that the information associated with the content item includes instructions associated with an approved software development kit The computer-implemented method of
7.前記承認済みソフトウェア開発キットが、前記コンテンツアイテムの実行中インスタンスに関連付けられる情報の報告を支援する、条項6に記載のコンピュータ実施される方法。
7. 6. The computer-implemented method of
8.前記コンテンツアイテムの前記第1のインスタンスを実行する前に、1つまたは複数のプロキシコンポーネントを前記第1の仮想マシンインスタンス上にインストールすることをさらに含む、条項5に記載のコンピュータ実施される方法。
8.
9.前記仮想マシンイメージの前記制作を完了することと、
前記仮想マシンイメージを1つまたは複数の他の仮想マシンインスタンスに複製することと、
前記コンテンツアイテムの1つまたは複数の他のインスタンスを前記1つまたは複数の他の仮想マシンインスタンス上で実行することと、をさらに含む、条項5に記載のコンピュータ実施される方法。
9. Completing the production of the virtual machine image;
Replicating the virtual machine image to one or more other virtual machine instances;
The computer-implemented method of
10.前記仮想マシンイメージの使用についての承認を判断することであって、前記仮想マシンイメージを前記複製することが、前記承認に少なくとも一部基づいて実行される、前記判断することをさらに含む、条項9に記載のコンピュータ実施される方法。
10. Determining an approval for use of the virtual machine image, the copying of the virtual machine image being performed based at least in part on the approval, further comprising determining. The computer-implemented method according to
11.前記承認に少なくとも一部基づいて、前記第1の仮想マシンインスタンスを終了させること、または再利用することをさらに含む、条項10に記載のコンピュータ実施される方法。 11. 11. The computer-implemented method of clause 10, further comprising terminating or reusing the first virtual machine instance based at least in part on the approval.
12.前記コンテンツアイテムの前記第1のインスタンスが、少なくとも前記承認を受信または推測するまで実行に利用可能である、請求項10に記載のコンピュータ実施される方法。 12. 11. The computer-implemented method of claim 10, wherein the first instance of the content item is available for execution at least until receiving or inferring the approval.
13.前記仮想マシンイメージが、前記コンテンツアイテムにアクセスする複数のユーザにホストするために複数の仮想マシンインスタンス上で使用される、請求項10に記載のコンピュータ実施される方法。 13. The computer-implemented method of claim 10, wherein the virtual machine image is used on multiple virtual machine instances to host multiple users accessing the content item.
14.コンテンツアイテムに関連付けられる情報を第1の仮想マシンインスタンス及び第2の仮想マシンインスタンス上にロードすることと、
前記第2の仮想マシンインスタンス上で、前記コンテンツアイテムに関連付けられる前記情報を含む仮想マシンイメージの制作を開始することと、
前記第1の仮想マシンインスタンス上で、前記コンテンツアイテムの第1のインスタンスを実行することであって、前記コンテンツアイテムの前記第1のインスタンスが実行される間の時間の少なくとも一部が、前記仮想マシンイメージの前記制作中に発生する、前記実行することと、
を含む動作を、少なくとも1つの計算ノード上での実行時に、前記少なくとも1つの計算ノードに実行させる命令が記憶されている、1つまたは複数の非一時的コンピュータ可読記憶媒体。
14. Loading information associated with the content item onto the first virtual machine instance and the second virtual machine instance;
Initiating creation of a virtual machine image including the information associated with the content item on the second virtual machine instance;
Executing a first instance of the content item on the first virtual machine instance, wherein at least a portion of the time during which the first instance of the content item is executed is the virtual Said performing, which occurs during said production of a machine image,
One or more non-transitory computer-readable storage media having stored thereon instructions that cause the at least one compute node to execute an operation comprising at least one compute node.
15.前記動作が、前記コンテンツアイテムの前記第1のインスタンスを実行する前に、前記コンテンツアイテムに関連付けられる前記情報が、承認済みソフトウェア開発キットに関連付けられる命令を含むことを判断するために前記第1の仮想マシンインスタンスを検査することをさらに含む、条項14に記載の1つまたは複数の非一時的コンピュータ可読記憶媒体。 15. The first to determine that the information associated with the content item includes an instruction associated with an approved software development kit prior to performing the first instance of the content item. 15. One or more non-transitory computer readable storage media according to clause 14, further comprising examining a virtual machine instance.
16.前記承認済みソフトウェア開発キットが、前記コンテンツアイテムの実行中インスタンスに関連付けられる情報の報告を支援する、条項15に記載の1つまたは複数の非一時的コンピュータ可読記憶媒体。
16. One or more non-transitory computer readable storage media according to
17.前記動作が、前記コンテンツアイテムの前記第1のインスタンスを実行する前に、1つまたは複数のプロキシコンポーネントを前記第1の仮想マシンインスタンス上にインストールすることをさらに含む、条項14に記載の1つまたは複数の非一時的コンピュータ可読記憶媒体。 17. One of clause 14 wherein the operation further comprises installing one or more proxy components on the first virtual machine instance prior to executing the first instance of the content item Or multiple non-transitory computer readable storage media.
18.前記動作が、
前記仮想マシンイメージの前記制作を完了することと、
前記仮想マシンイメージを1つまたは複数の他の仮想マシンインスタンスに複製することと、
前記コンテンツアイテムの1つまたは複数の他のインスタンスを前記1つまたは複数の他の仮想マシンインスタンス上で実行することと、
をさらに含む、条項14に記載の1つまたは複数の非一時的コンピュータ可読記憶媒体。
18. The operation is
Completing the production of the virtual machine image;
Replicating the virtual machine image to one or more other virtual machine instances;
Running one or more other instances of the content item on the one or more other virtual machine instances;
14. One or more non-transitory computer readable storage media according to clause 14, further comprising:
19.前記動作が、前記仮想マシンイメージの使用についての承認を判断することであって、前記仮想マシンイメージを前記複製することが、前記承認に少なくとも一部基づいて実行される、前記判断することをさらに含む、条項18に記載の1つまたは複数の非一時的コンピュータ可読記憶媒体。 19. The operation is determining an approval for use of the virtual machine image, and the copying of the virtual machine image is performed based at least in part on the approval. 18. One or more non-transitory computer readable storage media according to clause 18, comprising.
20.前記動作が、前記承認に少なくとも一部基づいて、前記第1の仮想マシンインスタンスを終了させること、または再利用することをさらに含む、条項19に記載の1つまたは複数の非一時的コンピュータ可読記憶媒体。 20. One or more non-transitory computer readable storage according to clause 19, wherein the operation further comprises terminating or reusing the first virtual machine instance based at least in part on the approval. Medium.
21.前記コンテンツアイテムの前記第1のインスタンスが、少なくとも前記承認を受信または推測するまで実行に利用可能である、条項19に記載の1つまたは複数の非一時的コンピュータ可読記憶媒体。 21. One or more non-transitory computer readable storage media according to clause 19, wherein the first instance of the content item is available for execution at least until receiving or inferring the approval.
22.前記仮想マシンイメージが、前記コンテンツアイテムにアクセスする複数のユーザにホストするために複数の仮想マシンインスタンス上で使用される、条項14に記載の1つまたは複数の非一時的コンピュータ可読記憶媒体。 22. 15. One or more non-transitory computer readable storage media according to clause 14, wherein the virtual machine image is used on a plurality of virtual machine instances to host a plurality of users accessing the content item.
少なくともいくつかの実施形態では、本明細書で説明される技術のうちの1つまたは複数の一部または全てを実施する1つまたは複数の計算ノードが、1つもしくは複数のコンピュータアクセス可能な媒体を含み、またはアクセスするように構成されるコンピュータシステムを含んでもよく、または関連付けられてもよい。コンピューティングノードとも呼ばれ得る計算ノードは、コモディティハードウェアコンピュータ、仮想マシン、ウェブサービス、コンピューティングクラスタ、及びコンピューティング機器などの、幅広いコンピューティング環境において実施されてもよい。これらのコンピューティングデバイスまたは環境のうちのいずれかが、便宜上、計算ノードとして説明されてもよい。図7は、1つまたは複数のコンピュータアクセス可能な媒体を含み、またはアクセスするように構成されるコンピュータシステムを示す。図示された実施形態では、コンピューティングデバイス15は、入力/出力(I/O)インタフェース30を介してシステムメモリ20に連結される1つまたは複数のプロセッサ10a、10b、及び/または10n(本明細書において、単数形で「プロセッサ10」、または複数形で「プロセッサ10」と呼ばれ得る)を含む。コンピューティングデバイス15は、I/Oインタフェース30に連結されるネットワークインタフェース40をさらに含む。
In at least some embodiments, one or more computer nodes that implement one or more computing nodes implementing some or all of the techniques described herein may be one or more computer accessible media. And may be associated with or associated with a computer system configured to include or access. Computing nodes, which may also be referred to as computing nodes, may be implemented in a wide range of computing environments, such as commodity hardware computers, virtual machines, web services, computing clusters, and computing devices. Any of these computing devices or environments may be described as computing nodes for convenience. FIG. 7 illustrates a computer system configured to include or access one or more computer accessible media. In the illustrated embodiment,
様々な実施形態では、コンピューティングデバイス15は、1つのプロセッサ10を含むユニプロセッサシステム、または複数(例えば、2個、4個、8個もしくは別の適当な数)のプロセッサ10を含むマルチプロセッサシステムであってもよい。プロセッサ10は、命令を実行可能な任意の適当なプロセッサであってもよい。例えば、様々な実施形態では、プロセッサ10は、x86、PowerPC、SPARC、もしくはMIPS ISA、または任意の他の適当なISAなどの多様な命令セットアーキテクチャ(ISA)のいずれかを実施する組み込みプロセッサであってもよい。マルチプロセッサシステムでは、プロセッサ10のそれぞれは、一般に、しかし必須ではなく、同一のISAを実施してもよい。
In various embodiments,
システムメモリ20は、プロセッサ(複数可)10によってアクセス可能な命令及びデータを記憶するように構成されてもよい。様々な実施形態では、システムメモリ20は、スタティックランダムアクセスメモリ(SRAM)、同期式動的RAM(SDRAM)、不揮発性/フラッシュ(登録商標)型メモリ、または任意の他の種類のメモリなどの、任意の適当なメモリ技術を用いて実施されてもよい。図示される実施形態では、上述したこれらの方法、技術及びデータなどの1つまたは複数の所望の機能を実施するプログラム命令及びデータが、システムメモリ20内にコード25及びデータ26として記憶されて示される。
The
一実施形態では、I/Oインタフェース30は、ネットワークインタフェース40または他の周辺インタフェースを含む、デバイス内のプロセッサ10、システムメモリ20、及び任意の周辺機器の間のI/Oトラフィックを協調させるように構成されてもよい。いくつかの実施形態では、I/Oインタフェース30は、データ信号を1つのコンポーネント(例えば、システムメモリ20)から、別のコンポーネント(例えば、プロセッサ10)による使用に適したフォーマットに変換するために、任意の必要なプロトコル、タイミングまたは他のデータ変換を実行してもよい。いくつかの実施形態では、I/Oインタフェース30は、例えば、周辺構成要素相互接続(PCI)バス規格またはユニバーサルシリアルバス(USB)規格の変形などの、様々な種類の周辺バスを通して取り付けられたデバイスのためのサポートを含んでもよい。いくつかの実施形態では、I/Oインタフェース30の機能は、例えば、ノースブリッジ及びサウスブリッジなどの2つ以上の別々のコンポーネントに分割されてもよい。また、いくつかの実施形態では、システムメモリ20へのインタフェースなどのI/Oインタフェース30の機能性のうちのいくつかまたは全てが、プロセッサ10に直接組み込まれてもよい。
In one embodiment, I / O interface 30 coordinates I / O traffic between processor 10 in the device,
ネットワークインタフェース40は、コンピューティングデバイス15と、例えば、他のコンピュータシステムまたはデバイスなどの、ネットワーク50に取り付けられる他のデバイス60との間でデータが交換されることを可能にするように構成されてもよい。様々な実施形態では、ネットワークインタフェース40は、例えば、イーサネットネットワークの種類などの、任意の適当な有線または無線汎用データネットワークを介して通信をサポートしてもよい。追加的に、ネットワークインタフェース40は、ファイバチャネルSAN(ストレージエリアネットワーク)などのストレージエリアネットワークを介して、または任意の他の適当な種類のネットワーク及び/もしくはプロトコルを介して、アナログ音声ネットワークまたはデジタルファイバ通信ネットワークなどの、遠距離通信/電話通信ネットワークを介した通信をサポートしてもよい。
Network interface 40 is configured to enable data to be exchanged between
いくつかの実施形態では、システムメモリ20は、対応する方法及び装置の実施形態を実施するための、上述のようなプログラム命令及びデータを記憶するように構成されるコンピュータアクセス可能な媒体の一実施形態であってもよい。一方、他の実施形態では、プログラム命令及び/またはデータは、様々な種類のコンピュータアクセス可能な媒体上で受信され、送信され、または記憶されてもよい。概して言うと、コンピュータアクセス可能な媒体が、I/Oインタフェース30を介してコンピューティングデバイス15に連結される、例えば、ディスクまたはDVD/CDといった磁気または光学媒体などの、非一時的記憶媒体またはメモリ媒体を含んでもよい。非一時的コンピュータアクセス可能な記憶媒体は、また、システムメモリ20または別の種類のメモリとしてコンピューティングデバイス15のいくつかの実施形態に含まれ得る、RAM(例えば、SDRAM、DDR SDRAM、RDRAM、SRAMなど)、ROM(読み取り専用メモリ)などの任意の揮発性または不揮発性媒体を含んでもよい。さらに、コンピュータアクセス可能な媒体は、伝送媒体、または、ネットワークインタフェース40を介して実施され得るような、ネットワーク及び/もしくは無線リンクなどの通信媒体を介して伝達される、電気、電磁気、もしくはデジタル信号などの信号を含んでもよい。図7に示されるもののように、複数のコンピューティングデバイスの一部または全てが、様々な実施形態において説明される機能性を実施するために使用されてもよい。例えば、多様な異なるデバイス及びサーバ上で動作するソフトウェアコンポーネントは、協働して機能性を提供してもよい。いくつかの実施形態では、説明される機能性の一部が、記憶デバイス、ネットワークデバイス、または専用コンピュータシステムを使用して実施されてもよい。本明細書で使用される「コンピューティングデバイス」という用語は、少なくとも全てのこれらの種類のデバイスを指し、これらの種類のデバイスに限定されない。
In some embodiments,
前節で説明されるプロセス、方法、及びアルゴリズムのそれぞれが、1つまたは複数のコンピュータまたはコンピュータプロセッサによって実行されるコードモジュールにおいて具現化され、コードモジュールによって完全にまたは部分的に自動化されてもよい。コードモジュールは、ハードドライブ、ソリッドステートメモリ、光ディスク、及び/またはその他などの、任意の種類の非一時的コンピュータ可読媒体またはコンピュータ記憶デバイス上に記憶されてもよい。プロセス及びアルゴリズムは、部分的または全体的にアプリケーション固有の回路において実施されてもよい。開示されたプロセス及び処理ステップの結果が、例えば、揮発性または不揮発性記憶装置などの、任意の種類の非一時的コンピュータ記憶装置において、永続的にまたは非永続的に記憶されてもよい。 Each of the processes, methods, and algorithms described in the previous section may be embodied in a code module executed by one or more computers or computer processors and may be fully or partially automated by the code module. The code modules may be stored on any type of non-transitory computer readable medium or computer storage device, such as a hard drive, solid state memory, optical disc, and / or the like. The processes and algorithms may be implemented partially or wholly in application specific circuits. The results of the disclosed processes and process steps may be stored permanently or non-permanently, for example, in any type of non-transitory computer storage, such as volatile or non-volatile storage.
上述した様々な特徴及びプロセスは、互いに独立して使用されてもよく、または様々なやり方で組み合わされてもよい。全ての考えられる組み合わせ及び部分的組み合わせが、開示の範囲内に入るように意図される。さらに、ある方法または処理ブロックが、いくつかの実施態様において省略されてもよい。本明細書で説明される方法及びプロセスは、また、任意の特定のシーケンスに限定されず、それに関連するブロックまたは状態は、適当な他のシーケンスで実行され得る。例えば、説明されるブロックもしくは状態は、具体的に開示されるものとは異なる順序で実行されてもよく、または複数のブロックもしくは状態は、単一のブロックもしくは状態に結合されてもよい。例としてのブロックまたは状態は、連続で、並行して、またはいくつかの他のやり方で実行されてもよい。ブロックまたは状態は、開示された例としての実施形態に追加され、または実施形態から削除されてもよい。本明細書で説明された例としてのシステム及びコンポーネントは、説明されたものとは異なったように構成されてもよい。例えば、要素は、開示された例としての実施形態に追加され、実施形態から削除され、実施形態と比較して再配列されてもよい。 The various features and processes described above may be used independently of one another or may be combined in various ways. All possible combinations and subcombinations are intended to fall within the scope of the disclosure. Furthermore, certain methods or processing blocks may be omitted in some implementations. The methods and processes described herein are also not limited to any particular sequence, and the blocks or states associated therewith may be performed in any other suitable sequence. For example, the blocks or states described may be performed in a different order than specifically disclosed, or multiple blocks or states may be combined into a single block or state. Example blocks or states may be performed sequentially, in parallel, or in some other manner. Blocks or states may be added to, or deleted from, the disclosed exemplary embodiments. The example systems and components described herein may be configured differently than described. For example, elements may be added to the disclosed example embodiments, deleted from the embodiments, and rearranged as compared to the embodiments.
様々な項目が、使用中にメモリまたは記憶装置に記憶されているものとして説明されるが、これらの項目またはそれらの部分は、メモリ管理及びデータ整合性の目的で、メモリ及び他の記憶デバイス間で移転され得ることも、理解されるであろう。代替的に、他の実施態様では、ソフトウェアモジュール及び/またはシステムのうちのいくつかまたは全てが、別のデバイス上のメモリ内で実行し、示されるコンピューティングシステムとコンピュータ間通信を介して通信してもよい。さらに、いくつかの実施形態では、システム及び/またはモジュールのうちのいくつかまたは全てが、1つまたは複数の特定用途向け集積回路(ASIC)、標準集積回路、コントローラ(例えば、適当な命令を実行することにより、かつマイクロコントローラ及び/または組み込みコントローラを含む)、フィールドプログラマブルゲートアレイ(FPGA)、複合プログラム可能論理デバイス(CPLD)などを含むがこれらに限定されない、ファームウェア及び/またはハードウェアなどに少なくとも部分的において、他のやり方で実施され、または提供されてもよい。モジュール、システム、及びデータ構造のうちのいくつかまたは全てが、また、ハードディスク、メモリ、ネットワーク、または携帯媒体用品などの、適当なドライブによってまたは適当な接続を介して読み取られるべきコンピュータ可読媒体上に(例えば、ソフトウェア命令または構造化データとして)記憶されてもよい。システム、モジュール、及びデータ構造は、また、無線ベース及び有線/ケーブルベース媒体を含む多様なコンピュータ可読伝送媒体上で生成されたデータ信号として(例えば、搬送波、または他のアナログもしくはデジタル伝播信号の一部として)送信されてもよく、多様な形態(例えば、単一もしくは多重アナログ信号の一部として、または複数の個々のデジタルパケットもしくはフレームとして)をとってもよい。このようなコンピュータプログラム製品は、また、他の実施形態においては他の形態をとってもよい。したがって、本発明は、他のコンピュータシステム構成で実施されてもよい。 Although various items are described as being stored in memory or storage during use, these items or portions thereof may be used between memory and other storage devices for the purpose of memory management and data integrity. It will also be understood that it can be transferred at Alternatively, in other embodiments, some or all of the software modules and / or systems execute in memory on another device and communicate via computer-to-computer communication with the indicated computing system May be Further, in some embodiments, some or all of the systems and / or modules execute one or more application specific integrated circuits (ASICs), standard integrated circuits, controllers (eg, appropriate instructions) And at least to firmware and / or hardware etc, including but not limited to microcontrollers and / or embedded controllers), field programmable gate arrays (FPGAs), complex programmable logic devices (CPLDs) etc. In part, it may be implemented or otherwise provided. Some or all of the modules, systems, and data structures may also be read on a computer readable medium, such as a hard disk, memory, network, or portable media item, to be read by an appropriate drive or via an appropriate connection. It may be stored (eg, as software instructions or structured data). The systems, modules, and data structures may also be generated as data signals generated on a variety of computer readable transmission media, including wireless based and wired / cable based media (e.g., one of a carrier wave or other analog or digital propagated signal). Part) or in various forms (eg, as part of a single or multiple analog signal, or as multiple individual digital packets or frames). Such computer program products may also take other forms in other embodiments. Thus, the present invention may be practiced with other computer system configurations.
とりわけ、「can(し得る)」、「could(し得る)」、「might(してもよい)」、「may(してもよい)」、「e.g.(例えば)」などの、本明細書で用いられる条件付きの言葉は、具体的に特段の言及がない限り、または用いられる文脈内で理解される限り、概して、ある特徴、要素、及び/またはステップを、ある実施形態は含むが他の実施形態は含まないことを伝達することを意図するものである。したがって、このような条件付きの言葉は、概して、特徴、要素、及び/もしくはステップが、1つもしくは複数の実施形態に多少なりとも必要とされること、または1つもしくは複数の実施形態が、作成者の入力もしくはプロンプティングの有無に関わらず、これらの特徴、要素、及び/もしくはステップが任意の特定の実施形態に含まれるかどうか、もしくは任意の特定の実施形態において実行されるべきかどうかを決定するためのロジックを必ず含むことを示唆することを意図するものではない。「comprising(備える)」、「including(含む)」、「having(有する)」などの用語は、同義であり、包含的で、無制限の様式で使用され、追加的な要素、特徴、行為、動作などを排除しない。また、「または」という用語は、その包含的な意味で(かつ、その排他的な意味ではなく)使用され、したがって、例えば、要素のリストを接続するために使用される際、「または」という用語は、そのリスト内の要素のうちの1つ、いくつか、または全てを意味する。 In particular, "can", "could", "might", "may", "eg (eg)", etc. As used herein, the conditional language generally refers to certain features, elements, and / or steps, unless the context specifically dictates otherwise or within the context in which it is used. It is intended to convey that it includes, but does not include other embodiments. Thus, such conditional words generally require more or less features, elements, and / or steps in one or more embodiments, or one or more embodiments, Whether these features, elements, and / or steps are included in any particular embodiment, or whether it should be performed in any particular embodiment, with or without the input or prompting of the creator It is not meant to imply that it necessarily contains logic to determine Terms such as "comprising", "including", "having", etc. are synonymous, used in an inclusive, unrestricted manner, and additional elements, features, acts, acts Etc. are not excluded. Also, the term "or" is used in its inclusive sense (and not in its exclusive sense), and thus, for example, when used to connect a list of elements, "or" The term means one, some or all of the elements in the list.
ある例示的な実施形態が説明されたが、これらの実施形態は、例としてのみ提示され、本明細書で開示される発明の範囲を制限することを意図するものではない。したがって、前述の説明には、任意の特定の特徴、特性、ステップ、モジュール、またはブロックが必須または不可欠であることを示唆するよう意図するものではない。実際に、本明細書で説明される新規な方法及びシステムは、多様な他の形態で具現化されてもよく、さらに、本明細書で説明される方法及びシステムの形態において様々な省略、代替、及び変更が、本明細書に開示される発明の思想から逸脱することなく行われてもよい。添付の特許請求の範囲及びそれらの均等物は、本明細書に開示される発明のいくらかの範囲及び思想の範囲内に入ることとなる形態または修正を包含することを意図するものである。 While certain exemplary embodiments have been described, these embodiments are presented by way of example only and are not intended to limit the scope of the invention disclosed herein. Therefore, the above description is not intended to imply that any particular feature, property, step, module or block is essential or essential. In fact, the novel methods and systems described herein may be embodied in a variety of other forms, as well as various omissions, substitutions of forms in the form of methods and systems described herein. And modifications may be made without departing from the spirit of the invention disclosed herein. The appended claims and their equivalents are intended to cover such forms or modifications as would fall within the scope of some of the inventions disclosed herein.
Claims (15)
1つまたは複数のコンピューティングデバイスと、
コンピュータ実行可能命令が記憶されている1つまたは複数のメモリと、
を備え、
前記コンピュータ実行可能命令は、実行時に前記システムに、
コンテンツアイテムに関連付けられる情報を第1の仮想マシンインスタンス及び第2の仮想マシンインスタンス上にロードするステップと、
前記第2の仮想マシンインスタンス上で、前記コンテンツアイテムに関連付けられる前記情報を含む仮想マシンイメージの制作を開始するステップと、
前記第1の仮想マシンインスタンス上で、前記コンテンツアイテムの第1のインスタンスを実行するステップであって、前記コンテンツアイテムの前記第1のインスタンスが実行される間の時間の少なくとも一部が、前記仮想マシンイメージの前記制作中に発生するステップと、
前記仮想マシンイメージの前記制作を完了するステップと、
前記仮想マシンイメージを1つまたは複数の他の仮想マシンインスタンスに複製するステップと、
前記コンテンツアイテムの1つまたは複数の他のインスタンスを前記1つまたは複数の他の仮想マシンインスタンス上で実行するステップと、
を含む動作を実行させる、
システム。 A system for content item execution during virtual machine image production, said system comprising:
One or more computing devices,
One or more memories in which computer executable instructions are stored;
Equipped with
The computer executable instructions may, when executed, cause the system to:
Loading information associated with the content item onto the first virtual machine instance and the second virtual machine instance;
Initiating creation of a virtual machine image comprising the information associated with the content item on the second virtual machine instance;
Executing a first instance of the content item on the first virtual machine instance, wherein at least a portion of the time during which the first instance of the content item is executed is the virtual The steps that occur during the production of the machine image,
Completing the production of the virtual machine image;
Replicating the virtual machine image to one or more other virtual machine instances;
Running one or more other instances of the content item on the one or more other virtual machine instances;
Perform actions including
system.
請求項1に記載のシステム。 The operation further includes determining an approval for use of the virtual machine image, and the step of duplicating the virtual machine image is performed based at least in part on the approval.
The system of claim 1.
請求項1に記載のシステム。 The first to determine that the information associated with the content item includes an instruction associated with an approved software development kit prior to performing the first instance of the content item. Further including the step of examining the virtual machine instance,
The system of claim 1.
請求項1に記載のシステム。 The operation further includes installing one or more proxy components on the first virtual machine instance prior to executing the first instance of the content item.
The system of claim 1.
コンテンツアイテムに関連付けられる情報を第1の仮想マシンインスタンス及び第2の仮想マシンインスタンス上にロードするステップと、
前記第2の仮想マシンインスタンス上で、前記コンテンツアイテムに関連付けられる前記情報を含む仮想マシンイメージの制作を開始するステップと、
前記第1の仮想マシンインスタンス上で、前記コンテンツアイテムの第1のインスタンスを実行するステップであって、前記コンテンツアイテムの前記第1のインスタンスが実行される間の時間の少なくとも一部が、前記仮想マシンイメージの前記制作中に発生するステップと、
を含むコンピュータ実施方法。 A method implemented by a computer for content item execution in the virtual machine image creation, the method comprising:
Loading information associated with the content item onto the first virtual machine instance and the second virtual machine instance;
Initiating creation of a virtual machine image comprising the information associated with the content item on the second virtual machine instance;
Executing a first instance of the content item on the first virtual machine instance, wherein at least a portion of the time during which the first instance of the content item is executed is the virtual The steps that occur during the production of the machine image,
Computer real 施方 techniques, including.
請求項5に記載のコンピュータ実施方法。 Prior to executing the first instance of the content item, the first virtual machine instance to determine that the information associated with the content item includes instructions associated with an approved software development kit Further comprising the step of inspecting
Computer real 施方 method of claim 5.
請求項6に記載のコンピュータ実施方法。 The approved software development kit, Ru broadcast Tsugesu the information associated with the execution of an instance of the content item,
Computer real 施方 method of claim 6.
前記仮想マシンイメージを1つまたは複数の他の仮想マシンインスタンスに複製するステップと、
前記コンテンツアイテムの1つまたは複数の他のインスタンスを前記1つまたは複数の他の仮想マシンインスタンス上で実行するステップと、
をさらに含む、
請求項5に記載のコンピュータ実施方法。 Completing the production of the virtual machine image;
Replicating the virtual machine image to one or more other virtual machine instances;
Running one or more other instances of the content item on the one or more other virtual machine instances;
Further include,
Computer real 施方 method of claim 5.
請求項5に記載のコンピュータ実施方法。 The virtual machine image is used on multiple virtual machine instances to host multiple users accessing the content item.
Computer real 施方 method of claim 5.
コンテンツアイテムに関連付けられる情報を第1の仮想マシンインスタンス及び第2の仮想マシンインスタンス上にロードするステップと、
前記第2の仮想マシンインスタンス上で、前記コンテンツアイテムに関連付けられる前記情報を含む仮想マシンイメージの制作を開始するステップと、
前記第1の仮想マシンインスタンス上で、前記コンテンツアイテムの第1のインスタンスを実行するステップであって、前記コンテンツアイテムの前記第1のインスタンスが実行される間の時間の少なくとも一部が、前記仮想マシンイメージの前記制作中に発生するステップと、
を含む動作を実行させる1つまたは複数の非一時的コンピュータ可読記憶媒体。 One or more non-transitory computer-readable storage media having instructions stored thereon, wherein the instructions, when executed on the at least one computing node, comprise the at least one computing node
Loading information associated with the content item onto the first virtual machine instance and the second virtual machine instance;
Initiating creation of a virtual machine image comprising the information associated with the content item on the second virtual machine instance;
Executing a first instance of the content item on the first virtual machine instance, wherein at least a portion of the time during which the first instance of the content item is executed is the virtual The steps that occur during the production of the machine image,
One or more non-transitory computer readable storage media for performing operations including:
請求項10に記載の1つまたは複数の非一時的コンピュータ可読記憶媒体。 The operation further includes installing one or more proxy components on the first virtual machine instance prior to executing the first instance of the content item.
One or more non-transitory computer readable storage media according to claim 10.
前記仮想マシンイメージの前記制作を完了するステップと、
前記仮想マシンイメージを1つまたは複数の他の仮想マシンインスタンスに複製するステップと、
前記コンテンツアイテムの1つまたは複数の他のインスタンスを前記1つまたは複数の他の仮想マシンインスタンス上で実行するステップと、
をさらに含む、
請求項11に記載の1つまたは複数の非一時的コンピュータ可読記憶媒体。 The operation is
Completing the production of the virtual machine image;
Replicating the virtual machine image to one or more other virtual machine instances;
Running one or more other instances of the content item on the one or more other virtual machine instances;
Further include,
One or more non-transitory computer readable storage media according to claim 11.
請求項12に記載の1つまたは複数の非一時的コンピュータ可読記憶媒体。 The operation further includes determining an approval for use of the virtual machine image, and the step of duplicating the virtual machine image is performed based at least in part on the approval.
One or more non-transitory computer readable storage media according to claim 12.
請求項13に記載の1つまたは複数の非一時的コンピュータ可読記憶媒体。 The operation further includes terminating or reusing the first virtual machine instance based at least in part on the approval.
One or more non-transitory computer readable storage media according to claim 13.
請求項14に記載の1つまたは複数の非一時的コンピュータ可読記憶媒体。 The first instance of the content item is available to run until you receive at least the approval,
One or more non-transitory computer readable storage media according to claim 14.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/743,648 | 2015-06-18 | ||
US14/743,648 US11120892B2 (en) | 2015-06-18 | 2015-06-18 | Content testing during image production |
PCT/US2016/037419 WO2016205230A1 (en) | 2015-06-18 | 2016-06-14 | Content testing during image production |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2018526717A JP2018526717A (en) | 2018-09-13 |
JP6542397B2 true JP6542397B2 (en) | 2019-07-10 |
Family
ID=56409678
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2017565102A Active JP6542397B2 (en) | 2015-06-18 | 2016-06-14 | Content testing during image production |
Country Status (6)
Country | Link |
---|---|
US (1) | US11120892B2 (en) |
EP (1) | EP3311269B1 (en) |
JP (1) | JP6542397B2 (en) |
CN (1) | CN107743615B (en) |
CA (1) | CA2989061C (en) |
WO (1) | WO2016205230A1 (en) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10860347B1 (en) | 2016-06-27 | 2020-12-08 | Amazon Technologies, Inc. | Virtual machine with multiple content processes |
US11269676B2 (en) * | 2019-07-19 | 2022-03-08 | Vmware, Inc. | Managed virtual appliances |
Family Cites Families (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4874908B2 (en) | 2007-09-20 | 2012-02-15 | 株式会社東芝 | Information processing system and monitoring method |
JP2009098909A (en) * | 2007-10-16 | 2009-05-07 | Kyocera Mita Corp | Image-forming program and plug-in program |
WO2009098909A1 (en) | 2008-02-04 | 2009-08-13 | Nec Corporation | Virtual appliance assignment system |
US7856440B2 (en) * | 2008-02-29 | 2010-12-21 | International Business Machines Corporation | Method and system for separating content identifiers from content reconstitution information in virtual machine images |
US20090259855A1 (en) * | 2008-04-15 | 2009-10-15 | Apple Inc. | Code Image Personalization For A Computing Device |
US8862633B2 (en) * | 2008-05-30 | 2014-10-14 | Novell, Inc. | System and method for efficiently building virtual appliances in a hosted environment |
JP5298764B2 (en) * | 2008-10-22 | 2013-09-25 | 富士通株式会社 | Virtual system control program, method and apparatus |
US8850426B2 (en) | 2009-12-13 | 2014-09-30 | International Business Machines Corporation | Managing remote deployment of a virtual machine and service request to be processed by the virtual machines based on network bandwith and storage connectivity |
EP3002703B1 (en) | 2009-12-14 | 2017-08-30 | Citrix Systems Inc. | Methods and systems for communicating between trusted and non-trusted virtual machines |
JP5190084B2 (en) | 2010-03-30 | 2013-04-24 | 株式会社日立製作所 | Virtual machine migration method and system |
US8458530B2 (en) | 2010-09-21 | 2013-06-04 | Oracle International Corporation | Continuous system health indicator for managing computer system alerts |
WO2012045021A2 (en) | 2010-09-30 | 2012-04-05 | Commvault Systems, Inc. | Efficient data management improvements, such as docking limited-feature data management modules to a full-featured data management system |
US20120084445A1 (en) | 2010-10-05 | 2012-04-05 | Brock Scott L | Automatic replication and migration of live virtual machines |
US9058238B2 (en) * | 2010-10-13 | 2015-06-16 | Sony Corporation | Electronic device with customizable embedded software and methods therefor |
US8443365B2 (en) | 2010-11-03 | 2013-05-14 | Hewlett-Packard Development Company, L.P. | Methods and systems to clone a virtual machine instance |
US20120159423A1 (en) * | 2010-12-17 | 2012-06-21 | Ralf Becker | Tenant independent add-on software packages for an enterprise platform as a service product |
US8689214B2 (en) | 2011-03-24 | 2014-04-01 | Amazon Technologies, Inc. | Replication of machine instances in a computing environment |
US8924930B2 (en) | 2011-06-28 | 2014-12-30 | Microsoft Corporation | Virtual machine image lineage |
US8677315B1 (en) | 2011-09-26 | 2014-03-18 | Amazon Technologies, Inc. | Continuous deployment system for software development |
US20130086578A1 (en) * | 2011-09-29 | 2013-04-04 | International Business Machines Corporation | Virtual image construction |
EP2850777A4 (en) | 2012-05-18 | 2015-12-16 | Aquto Corp | Charging and billing for content, services, and access |
US8990806B2 (en) * | 2012-07-31 | 2015-03-24 | Hewlett-Packard Development Company, L.P. | Customized virtual machine creation |
US9292330B2 (en) | 2012-11-29 | 2016-03-22 | International Business Machines Corporation | Replacing virtual machine disks |
US9295915B2 (en) | 2013-05-20 | 2016-03-29 | Microsoft Technology Licensing, Llc | Game availability in a remote gaming environment |
US10530822B2 (en) * | 2013-12-09 | 2020-01-07 | Bally Gaming, Inc. | System and method for reducing network dependencies for streaming content |
US9881144B2 (en) * | 2015-06-15 | 2018-01-30 | International Business Machines Corporation | Identifying usage of code |
-
2015
- 2015-06-18 US US14/743,648 patent/US11120892B2/en active Active
-
2016
- 2016-06-14 EP EP16738579.8A patent/EP3311269B1/en active Active
- 2016-06-14 WO PCT/US2016/037419 patent/WO2016205230A1/en active Application Filing
- 2016-06-14 CA CA2989061A patent/CA2989061C/en active Active
- 2016-06-14 JP JP2017565102A patent/JP6542397B2/en active Active
- 2016-06-14 CN CN201680034566.3A patent/CN107743615B/en active Active
Also Published As
Publication number | Publication date |
---|---|
CN107743615A (en) | 2018-02-27 |
JP2018526717A (en) | 2018-09-13 |
WO2016205230A1 (en) | 2016-12-22 |
EP3311269A1 (en) | 2018-04-25 |
US20160371433A1 (en) | 2016-12-22 |
CN107743615B (en) | 2022-02-15 |
CA2989061C (en) | 2022-08-09 |
EP3311269B1 (en) | 2020-04-08 |
CA2989061A1 (en) | 2016-12-22 |
US11120892B2 (en) | 2021-09-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10628294B2 (en) | Mock services for software infrastructures | |
JP6045134B2 (en) | Parallel workload simulation for application performance testing | |
CN108228444B (en) | Test method and device | |
CN112767135B (en) | Configuration method and device of rule engine, storage medium and computer equipment | |
CN112767133A (en) | Service decision method and device, storage medium and computer equipment | |
JP6542397B2 (en) | Content testing during image production | |
JP2023550608A (en) | Service orchestration within distributed pod-based systems | |
JP2020053079A (en) | Content deployment, scaling, and telemetry | |
US20160277484A1 (en) | Content Deployment, Scaling, and Telemetry | |
CN114006815B (en) | Automatic deployment method and device for cloud platform nodes, nodes and storage medium | |
CN107734050A (en) | A kind of load machine distribution method, computing device and load machine distribution system | |
CN111756784B (en) | Session method, session device, computer equipment and medium | |
CN115186305B (en) | Method for constructing data element model and producing data element | |
US20160277508A1 (en) | Content Deployment, Scaling, and Telemetry | |
TWI759096B (en) | Building and deployment system and method of shared software solution and computer readable medium | |
US10463957B2 (en) | Content deployment, scaling, and telemetry | |
CN116521509A (en) | Intelligent contract testing method, device, equipment, storage medium and product | |
CN113230661A (en) | Data synchronization method and device, computer readable medium and electronic equipment | |
CN113126912A (en) | Personal disk mounting method and device | |
CN111324888B (en) | Verification method and device for application program starting, electronic equipment and storage medium | |
CN110795207B (en) | Virtual container minimum resource unit mutual trust configuration method and device | |
RU2818034C1 (en) | Method and system for launching applications in simulated environment | |
CN115408110B (en) | Performance evaluation method and system for Kubernetes control plane component | |
CN108139950B (en) | Distributed extension execution method and computing system | |
CN117519773A (en) | Program quality assurance method, device, storage medium and terminal |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20181228 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20190204 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20190424 |
|
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: 20190520 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20190612 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6542397 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 |