JP6542397B2 - Content testing during image production - Google Patents

Content testing during image production Download PDF

Info

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
Application number
JP2017565102A
Other languages
Japanese (ja)
Other versions
JP2018526717A (en
Inventor
エイ. ポレスキー アレクセイ
エイ. ポレスキー アレクセイ
デイヴィッド ビスカル クリストファー
デイヴィッド ビスカル クリストファー
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Amazon Technologies Inc
Original Assignee
Amazon Technologies Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Amazon Technologies Inc filed Critical Amazon Technologies Inc
Publication of JP2018526717A publication Critical patent/JP2018526717A/en
Application granted granted Critical
Publication of JP6542397B2 publication Critical patent/JP6542397B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16BBIOINFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR GENETIC OR PROTEIN-RELATED DATA PROCESSING IN COMPUTATIONAL MOLECULAR BIOLOGY
    • G16B45/00ICT specially adapted for bioinformatics-related data visualisation, e.g. displaying of maps or networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/20Input arrangements for video game devices
    • A63F13/21Input arrangements for video game devices characterised by their sensors, purposes or types
    • A63F13/212Input 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
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/20Input arrangements for video game devices
    • A63F13/23Input arrangements for video game devices for interfacing with the game device, e.g. specific interfaces between game controller and console
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/70Game security or game management aspects
    • A63F13/79Game security or game management aspects involving player-related data, e.g. identities, accounts, preferences or play histories
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/80Special adaptations for executing a specific game genre or game mode
    • A63F13/825Fostering virtual characters
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45562Creating, deleting, cloning virtual machine instances

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.

本開示に従って使用され得る、例としてのコンテンツ展開、スケーリング、及びテレメトリシステムを示す図である。FIG. 7 illustrates an example content deployment, scaling, and telemetry system that may be used in accordance with the present disclosure. 本開示に従って使用され得る、例としてのコンテンツスケーリング及び実行システムを示す図である。FIG. 7 illustrates an example content scaling and execution system that may be used in accordance with the present disclosure. 本開示に従って使用され得る、例としてのテレメトリ情報ルーティング及び処理システムを示す図である。FIG. 1 illustrates an example telemetry information routing and processing system that may be used in accordance with the present disclosure. 本開示に従って使用され得る、例としてのコンテンツアイテムテスト及び展開タイムラインを示す図である。FIG. 7 illustrates an example content item test and deployment timeline that may be used in accordance with the present disclosure. 本開示に従って使用され得る、別の例としてのコンテンツアイテム展開プロセスのタイムラインを示す図である。FIG. 7 is a diagram illustrating another example content item deployment process timeline that may be used in accordance with the present disclosure. 本開示に従って使用され得る、仮想マシンイメージ制作中のコンテンツアイテム実行のための例としてのプロセスを示す図である。FIG. 7 illustrates an example process for content item execution during virtual machine image creation that may be used in accordance with the present disclosure. 本開示に従って使用され得る、例としてのコンピューティングシステムを示す図である。FIG. 1 illustrates an example computing system that may be used in accordance with the present disclosure.

イメージ制作中にコンテンツをテストするための技術が、本明細書において説明される。いくつかの実施例では、ビデオゲームなどのコンテンツアイテムが、バックエンドサービスによってユーザへの展開準備ができているという標識が、開発者から受信されてもよい。この標識に応答して、サービスは、コード、バイナリファイル、及び/または他のコンテンツアイテム情報を第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 telemetry system 150 that may be used in accordance with the present disclosure is shown in FIG. As shown, the content developer computing node 100 may include, for example, various interfaces, consoles, and / or dashboards operated by the content developer or other parties. 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 telemetry component 125. As will be appreciated, although only a single developer computing node 100 is shown in FIG. 1, the system 150 can be configured to deploy any number of different developers and others that deploy any number of different content items. It may include related parties. In some cases, content developer computing node 100 may execute one or more integrated development environment (IDE) applications or portions thereof to assist in the development of content. Generally, as described in greater detail below, the content developer computing node 100 allows, for example, developers to design and develop content items, provide access to content items for deployment, and user identification. And / or may provide entitlement information to enable feedback and metrics associated with content item instances, content item fleets, and historical information to be monitored and obtained, as well as other operations. Further, as described in greater detail below, when the developer is ready to deploy a content item, information for accessing the content may, for example, be provided to the content execution component 120, the content The execution component 120 may perform various operations to execute instances of content items that are made accessible to various users. As mentioned above, in some embodiments, during at least a portion of the time the virtual machine image associated with the content item is being produced, for example, the developer may perform additional testing on the content item Test content item instances may be executed, which may be enabled. The test interaction component 101 is, in some embodiments described herein, a developer interacts with a test content item instance, indicates approval or disapproval of use of a virtual machine image, and is associated with the test content item instance. It may be possible to perform other developer actions that are performed.

いくつかの実施例では、コンテンツの開発及び提供に加えて、開発者及び他の関係者が、提供されるコンテンツに様々なユーザがアクセスするための識別及び/または権利付与情報も提供してもよい。特に、開発者計算ノード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, developer computing node 100 may interact with identification and entitlement service 105 to provide this identification and / or entitlement information. In other embodiments, the information may be provided to the identification and entitlement service 105 by other parties. In some cases, a developer or other party may configure the identification pool by providing an indication of authorized users who may access one or more content items. In some embodiments, the identification and entitlement service 105 may generate or receive identification credentials, such as usernames, passwords, etc., to authenticate the identity of various users. The user identifications and their associated authentication information may for example be stored in the identification information 107. Also, in some embodiments, a developer or other party may provide entitlement information 106 that may indicate content items that have been granted the right to interact with their respective authorized users. In some embodiments, a user may only be permitted access to a test version or a fully developed version, a version that the user has paid or subscribed to, or any other type of content. .

ユーザ計算ノード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 content execution component 120. As will be appreciated, although only a single user computing node 110 is shown in FIG. 1, system 150 may include any number of different users accessing the same or different content. In some cases, a determination may be made as to whether the user is authorized to access the content deployed by the system 150 in order for the user to request access to the content. In some embodiments, the system interface 111 may provide identification and authentication information about the user to the identification and entitlement service 105, and the identification and entitlement service 105 identifies the provided user identification and authentication information. An attempt may be made to match the identification and authentication information about the user stored in the information 107. If a match is not determined, the user may, for example, be denied access to any content, and / or be prompted to register, pay, and / or sign up for access to content, and / Or they may be redirected to various services to perform their actions. On the other hand, if the user's provided identification authentication matches the stored identification authentication information, the user's identification may be authenticated, and the user is permitted to further interact with the system 150 and to request access to the content. It may be done.

ユーザ計算ノード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 content execution component 120. This assignment information may be forwarded to the content execution component 120, which may establish communication between the content client 112 and its assigned and matched content item instance.

コンテンツのスケーリング及び実行に加えて、コンテンツ実行コンポーネント120は、また、使用中のユーザセッションの数、使用されていないユーザセッションの数、コンテンツアイテムインスタンスの存続期間、メモリ使用量などの、実行中のコンテンツアイテムインスタンスに関する様々なテレメトリ情報を収集してもよい。コンテンツ実行コンポーネント120は、この収集されたテレメトリ情報をテレメトリコンポーネント125に提供してもよく、テレメトリコンポーネント125は、以下で極めて詳細に説明されるように、テレメトリデータをルーティングし、処理してもよい。例えば、テレメトリコンポーネントは、コンテンツアイテムインスタンス情報をコンテンツアイテムインスタンス情報サービス115に提供してもよい。このコンテンツアイテムインスタンス情報は、例えば、コンテンツアイテムインスタンスへのユーザセッションの合致及び割り当て、新たなコンテンツアイテムインスタンスの開始、ならびにコンテンツ開発者及び他の関係者へのコンテンツアイテムインスタンスレベルのフィードバック及びメトリックを可能にしてもよい。コンテンツアイテムインスタンス情報サービス115に加えて、テレメトリ情報は、コンテンツアイテムフリート情報サービス及び履歴情報サービスなどの他のサービスにも提供されてもよい。これらの及び他のテレメトリデータサービスは、図3を参照して以下で極めて詳細に説明される。   In addition to scaling and executing content, the content execution component 120 may also be executing the number of user sessions in use, the number of unused user sessions, the lifetime of content item instances, memory usage, etc. Various telemetry information regarding the content item instance may be collected. The content execution component 120 may provide this collected telemetry information to the telemetry component 125, which may route and process telemetry data as described in greater detail below. . For example, the telemetry component may provide content item instance information to the content item instance information service 115. This content item instance information allows, for example, matching and assigning user sessions to content item instances, starting of new content item instances, and content item instance level feedback and metrics to content developers and other parties. You may In addition to the content item instance information service 115, telemetry information may also be provided to other services such as content item fleet information service and history information service. These and other telemetry data services are described in greater detail below with reference to FIG.

図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 system 150, it indicates that the content item is ready for deployment and provides information to access the content, such as location and / or address information. Messages may be sent via the developer computing node 100. In some embodiments, the developer may also provide additional information such as the content item fleet's name, development stage, and content item description. Access information and, in some cases, additional information may be provided to the content scaling component 230, for the scaling component 230 to install one or more instances of the content item as an image on a virtual machine instance You may issue an instruction of Additional instances of the content item may then copy the image on the same virtual machine instance and / or on any number of additional virtual machine instances, as described in greater detail below. It may be started by

展開されたコンテンツアイテムについてのコンテンツアイテムインスタンスをグループ化したものが、コンテンツアイテムフリートと呼ばれる。図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, content execution component 120 executes an exemplary content item fleet 210. As will be appreciated, although only a single content item fleet 210 is shown in FIG. 2, the content execution component 120 may perform any number of different content item fleets at the same or different times . In the particular example of FIG. 2, content item fleet 210 includes two virtual machine instances 220A and 220N, each of which executes three content item instances. In particular, virtual machine instance 220A executes content item instances 201A-N, and virtual machine instance 220N executes content item instances 221A-N. However, it should be noted that the content item fleet according to the disclosed technology may include any number of virtual machine instances, each executing any number of different content item instances. In some embodiments, one or more of the content item instances 201A-N and 221A-N, and in some cases all of the content item instances 201A-N and 221A-N, are simultaneously assigned. It may be configurable to run with multiple user sessions. This may allow multiple users to play against each other or cooperate within a single content item instance, as may occur, for example, in multiplayer video games or other multi-user applications.

いくつかの実施例では、各コンテンツアイテムインスタンス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 content execution component 120 based on content information generated and / or maintained by content item instances 201A-N and 221A-N. In these examples, content item instances 201A-N and 221A-N may, in some cases, each have access to one or more GPUs. The rendered content may then be sent by content item instances 201A-N and 221A-N to a user compute node for the assigned user session.

図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 instance interfaces 222A-N communicate with proxy component 223 for virtual machine instance 220N. You may Proxy components 203 and 223 generally allow exchange of information and commands between content item instances 201A-N and 221A-N and external components of virtual machine instances 220A-N such as scaling component 230 and telemetry landing 301 You may In particular, in some embodiments, proxy components 203 and 223 may receive commands from scaling component 230, such as commands to launch content item instances and commands to add user sessions to particular content item instances. . In some embodiments, proxy components 203 and 223 may also provide information to scaling component 230 and / or telemetry landing 301 regarding the content item instance being executed. The information provided by proxy components 203 and 223 may be any of the information collected by instance interfaces 202A-N and 222A-N, such as, for example, any of the telemetry information described above or other relevant information. May be included. Proxy components 203 and 223 may be at regular repeating intervals (eg, every minute or every five minutes), in response to specific events or conditions, in continuous or intermittent streams, or these or other techniques Content item instance information may be provided at any desired intervals, such as using any combination of

いくつかの実施例では、スケーリングコンポーネント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 proxy components 203 and 223, as described above, for example. In some cases, scaling component 230 may use this information to assign additional virtual machine instances and / or content item instances to content item fleet 210, and / or existing virtual machine instances and / or The content item fleet 210 may be scaled automatically by deassigning content item instances from the content item fleet 210. In some embodiments, certain configurable conditions may cause scaling component 230 to assign additional virtual machine instances and / or content item instances to content item fleets. 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 has met or dropped below a certain number. , Determining that the total number of unused user sessions for one or more individual content item instances in the fleet meets or falls below a certain 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.) Additional virtual machine instances and / or content item instances may be assigned to the content item fleet based on the determination that a particular subset meets any of the above exemplary assignment conditions, or other conditions.

また、いくつかの実施例では、ある設定可能な条件によって、スケーリングコンポーネント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, proxy components 203 and 223 may provide information to telemetry landing 301. This information may be routed and processed by the various telemetry components described in detail herein. In particular, FIG. 3 is a diagram illustrating an example telemetry information routing and processing system that may be used in accordance with the present disclosure. As shown in FIG. 3, the information provided by the content execution component 120 (e.g., including proxy components 203 and 223 as shown in FIG. 2) is the telemetry of telemetry component 125 (also shown in FIG. 1). It may be delivered to the landing 301. Once delivered to the telemetry landing 301, telemetry information may be accessed by the telemetry routing function 302, which generally examines the provided information and provided based on various factors. Information may be routed to one or more recipients, such as processing functions 303A-D. In particular, instance level processing function 303A receives and processes information for content item instance information service 115 (also shown in FIGS. 1 and 2). Fleet level information processing function 303 B receives and processes information for content item fleet information service 304. The history information processing function 303C receives and processes information for the history information service 305. Additionally, telemetry routing function 302 may route information to any number of additional processing functions 303D that may receive and process information for any number of additional services 306.

いくつかの実施例では、テレメトリ情報をテレメトリランディング301に書き込む際、プロキシコンポーネント203及び223は、取り決め一式に従って、あるキーまたは他の識別情報で情報にタグ付けし、または情報を識別してもよい。これらの取り決めは、テレメトリ情報を適当な受信者に高速かつ効率的にルーティングするために、テレメトリルーティング機能302を支援してもよい。例えば、いくつかの場合、テレメトリ情報は、次のフォーマット、フリート識別子/インスタンス識別子/ルート識別子/タイムスタンプ/グローバル一意識別子(GUID)を用いて識別されてもよい。フリート識別子は、情報が関連付けられる特定のコンテンツアイテムフリートのための識別子であってもよい。インスタンス識別子は、情報が関連付けられる特定のコンテンツアイテムインスタンスのための識別子であってもよい。ルート識別子は、情報が送信されるべき1つまたは複数の受信者(例えば、処理機能303A〜Dのうちのいずれかまたは全て)を示す識別子であってもよい。タイムスタンプは、情報が収集される時間などの、情報に関連するタイムスタンプであってもよい。いくつかの場合、この識別情報は、テレメトリルーティング機能302がそれぞれのテレメトリ情報を適当な受信者にルーティングするために必要な全てのものであってもよい。   In some embodiments, when writing telemetry information to telemetry landing 301, proxy components 203 and 223 may tag information with certain keys or other identifying information or identify information according to a set of arrangements . These arrangements may assist the telemetry routing function 302 to route telemetry information to the appropriate recipients quickly and efficiently. For example, in some cases, telemetry information may be identified using the following format: fleet identifier / instance identifier / route identifier / time stamp / globally unique identifier (GUID). The fleet identifier may be an identifier for the particular content item fleet with which the information is associated. The instance identifier may be an identifier for the particular content item instance to which the information is associated. The root identifier may be an identifier that indicates one or more recipients (e.g., any or all of the processing functions 303A-D) to which information is to be sent. The timestamp may be a timestamp associated with the information, such as the time the information is collected. In some cases, this identification may be all that is necessary for the telemetry routing function 302 to route each telemetry information to the appropriate recipients.

いくつかの実施例では、テレメトリルーティング機能302及び/または処理機能303A〜Dのうちのいずれかが、ルーティング及び/または処理のためのテレメトリ情報の受信などのイベントに少なくとも一部基づいてコードを実行する、分散型コンピューティングベースの(例えば、クラウドベースの)機能であってもよい。例えば、いくつかの場合、テレメトリルーティング機能302は、テレメトリランディング301でのテレメトリ情報の受信を検出してもよく、及び/または通知されてもよい。これに応答して、テレメトリルーティング機能302は、例えば、上述のような識別情報に基づいてテレメトリ情報をルーティングするためのコードの実行を自動的に開始してもよい。同様に、処理機能303A〜Dは、次いで、そこへルーティングされているテレメトリ情報を検出してもよく、及び/または通知されてもよく、受信した情報を整理して記憶すること、及び任意の適当な警告または通知を生成することなどによって、受信した情報を処理するためのコードの実行を自動的に開始してもよい。いくつかの例では、イベントに少なくとも一部基づいてコードを実行する分散型コンピューティングベースの(例えば、クラウドベースの)機能を用いた、テレメトリルーティング機能302及び/または処理機能303A〜Dの実施は、例えば、新たなテレメトリ情報がルーティング及び/または処理に利用可能でなかった時間内であっても、一定の実行を維持したルーティング及び/または処理サービスに必要であり得るコンピューティングリソース量及びコストを減少させることによって、有利であってもよい。   In some embodiments, any of telemetry routing function 302 and / or processing functions 303A-D execute code based at least in part on events such as receipt of telemetry information for routing and / or processing. Can be distributed computing based (eg, cloud based) functionality. For example, in some cases, telemetry routing function 302 may detect receipt of telemetry information at telemetry landing 301 and / or be notified. In response, telemetry routing function 302 may automatically initiate execution of code for routing telemetry information based on, for example, identification information as described above. Similarly, processing functions 303A-D may then detect and / or be notified of telemetry information being routed thereto, organizing and storing received information, and optionally Execution of code to process the received information may be initiated automatically, such as by generating appropriate alerts or notifications. In some examples, implementation of telemetry routing function 302 and / or processing functions 303A-D using distributed computing-based (eg, cloud-based) functions that execute code based at least in part on events is For example, the amount and cost of computing resources that may be needed for routing and / or processing services that have maintained constant performance even during times when new telemetry information was not available for routing and / or processing. It may be advantageous to reduce.

コンテンツアイテムインスタンス情報サービス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 content execution component 120, including, for example, content item instances 201A-N and 221A-N of FIG. Good. This information may include, for example, the number of user sessions in use for each active content item instance, the number of user sessions not used for each active content item instance, content item instance lifetime information, each active content item instance May include memory usage and the like. The content item instance information service 115 may use this information, for example, to help match and assign user sessions to particular content item instances. In particular, referring back to FIG. 1, the content client 112 of the user computing node 110 communicates with the content item instance information service 115 to request information about the available content and to access the available content. It is understood that it may be required. As also shown in FIG. 1, the content item instance information service 115 communicates with the identification and entitlement service 105 to grant the user the right to access based at least in part on the entitlement information 106. It may be determined which content item. It should be noted that the entitlement information 106 may indicate user entitlements at various different levels of granularity. For example, in some cases, entitlement information 106 may indicate whether the user is generally authorized to access the content executed by system 150. In other cases, entitlement information 106 may be provided at a better granularity level, such as a particular title, a particular version, a particular story arc or plot line, a particular virtual position, a particular mode, a particular character , Specific weapons, etc. may indicate specific content to which the user is given access.

いくつかの実施例では、コンテンツクライアント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 developer compute node 100 accesses the content item instance information service 115 to determine the number of in-use user sessions for each active content item instance, Content item instance level information may be requested, such as the number of unused user sessions for a running content item instance, content item instance lifetime information, memory usage by each running content item instance, and the like.

図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 telemetry routing function 302, through each processing function 303B-D, the content item fleet information service 304, the history information service 305, and other additional services 306. The telemetry information may be routed to Content item fleet information service 304 may generally receive content item fleet level telemetry information and provide it to developers and / or other parties. Content item fleet level information includes: in-use user sessions in the fleet, unused user sessions in the fleet, instance lifetime information about the fleet, memory usage by the fleet, number of running instances in the fleet, instance termination Information on information etc. may be included. For busy user sessions, fleet level information may be, for example, the total number of busy user sessions for all fleet instances, the average number of busy user sessions for all fleet instances, within a fleet instance with the smallest busy session And the number of in-use sessions in the fleet instance with the largest number of in-use sessions. For unused user sessions, fleet level information is, for example, the total number of unused user sessions for all fleet instances, the average number of unused user sessions for all fleet instances, used There may be the number of unused sessions in the smallest fleet instance, the number of non-used sessions, the number of unused sessions in the largest unused fleet instance, and the like. In the case of instance lifetime information, fleet level information may include, for example, the total, average, maximum, and minimum lifetimes for fleet instances terminated within a particular period, and the number of instances terminated within a particular period. . In the case of memory usage information, fleet level information may include, for example, total, average, maximum, and minimum memory usage for a fleet instance.

いくつかの実施例では、コンテンツアイテムフリート情報サービス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 deployment timeline 405 that may be used in accordance with the present disclosure. It should be noted that timeline 405 is not drawn to scale and is not intended to indicate any particular exact amount of time that occurs before, during, or after any particular event. . As shown in FIG. 4, at Event 410, an indicator is received that the content item, such as a video game, is ready for deployment, eg, on a back end service. The indicator may be received from a developer of the content item. 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. In addition to the indicia received at event 410, the developer may also provide, for example, one or more location indicia at which content item information may be stored and retrieved. The developer may also provide, for example, the name of the content item instance fleet, the development stage for the content item, the content item description, and other information.

コンテンツアイテムの展開準備ができているという標識を受信すると、バックエンドサービスは、例えば、開発者によって提供される位置情報に基づいて、関連するコンテンツアイテム情報を配置してもよい。イベント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 event 413 causes timeline 405 to branch to upper portion 405A and lower portion 405B. Such a branch of timeline 405 is intended to convey that portions 405A and 405B can be performed in parallel or partially in parallel with one another. At Event 414, content item information is loaded onto the second virtual machine instance, such as by copying the snapshot created at Event 413 to the second virtual machine instance. At Event 415, a virtual machine image creation process is initiated on the second virtual machine instance. The virtual machine image creation process may include generating a virtual machine image based at least in part on the content item information loaded on the second virtual machine instance. In response, the virtual machine image may include content item information loaded on the second virtual machine instance. Additionally, as described below, each copy of the virtual machine image may also include content item information to be loaded onto the second virtual machine instance. In some embodiments, a virtual machine image may include a read only file system image with an operating system. Also, in some embodiments, virtual machine images may be signed, encrypted, compressed, and divided into various pieces or chunks of information. In some embodiments, the virtual machine image may be an Amazon Machine Image (AMI). The time required to create a virtual machine image may be based at least in part on the amount of information contained within the virtual machine image. For example, virtual machine images that contain more information can typically take more time to produce than virtual machine images that contain less information.

上部タイムライン405Aに戻って参照すると、コンテンツアイテム情報のスナップショットを取った後、イベント416において第1の仮想マシンインスタンス上で、SDKが検出及び承認され得ることが分かる。いくつかの実施例では、イベント413及び416の実行の間に、テスト仮想マシンインスタンスをシャットダウンし、リスタートする必要があることがある。上述したように、いくつかの実施例では、コンテンツアイテムの展開されたインスタンスをホストする1つまたは複数のサービスが、1つまたは複数のサービスと統合される1つまたは複数のSDKを公開してもよい。これらの実施例では、SDKは、コンテンツがマルチプレーヤビデオゲームまたは他のマルチユーザ環境とより効率的に対話可能にすることなどによって、例えば、コンテンツの摂取、構成、提供、及び展開が、より容易かつ高速に達成できるようにし得る、コンテンツアイテムに組み込まれたコード及び他の機能性を提供してもよい。例えば、コンテンツを作成するために使用されるSDKは、1つまたは複数のユーザのための新たなユーザセッションの構成、ならびに、使用中ユーザセッションの数、使用されていないユーザセッションの数、コンテンツアイテムインスタンス存続期間、メモリ使用量などの、実行中のコンテンツアイテムに関する情報の報告及び収集を支援してもよい。   Referring back to the upper timeline 405A, it can be seen that the SDK can be detected and approved on the first virtual machine instance at event 416 after taking a snapshot of the content item information. In some embodiments, during execution of events 413 and 416, the test virtual machine instance may need to be shut down and restarted. As mentioned above, in some embodiments, one or more services hosting a deployed instance of the content item publish one or more SDKs that are integrated with one or more services. It is also good. In these embodiments, the SDK may, for example, be easier to consume, configure, provide, and deploy content, such as by allowing the content to interact more efficiently with multiplayer video games or other multi-user environments. And may provide code and other functionality embedded in the content item that may be achieved quickly. For example, the SDKs used to create content can be used to configure new user sessions for one or more users, as well as the number of in-use user sessions, the number of unused user sessions, content items It may support reporting and collecting information about active content items, such as instance lifetime, memory usage, etc.

したがって、イベント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 proxy components 203 and 223 of FIG. 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 The functions and operations of proxy components 203 and 223 are described above in detail and will not be repeated here.

図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 portion 405B of the timeline). To be As mentioned above, the execution and testing of content items with test content item instances is, in some cases, 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 executed by the developer so that the developer tests and interacts with the content item in the same environment that it can be provided to other users Make it possible. 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, the test content item instance may, for example, benefit from the virtual machine image without having to wait for the developer to test the content item or fully create the image to interact with the content item. You may be able to experience it.

下部タイムライン405Bに戻って参照すると、イベント422において、仮想マシンイメージ制作が完了し得ることが分かる。いくつかの実施例では、仮想マシンイメージ制作が完了すると、開発者には、仮想マシンイメージ制作が完了したこと、及び仮想マシンイメージの使用準備ができていることが通知されてもよい。続いて、イベント424において、仮想マシンイメージを使用するための承認が、判断されてもよい。例えば、仮想マシンイメージを使用するための承認が、開発者から受信されてもよい。仮想マシンイメージの使用が、仮想マシンイメージ制作の完了後すぐに開発者によって承認されなければならないという必要はないことに留意されたい。図4の具体例では、仮想マシンイメージ制作の完了(イベント422)とその使用のための承認の判断(イベント424)との間に時間遅延がある。この時間遅延は、下部タイムライン405B内のイベント422及び424間の中断によって示され、上部タイムライン405A内のイベント422及び424間の破線によっても示される。いくつかの実施例では、イベント422及び424間の時間遅延の間、仮想マシンイメージ制作が完了した後であっても、開発者は、テストコンテンツアイテムインスタンスをテストし、テストコンテンツアイテムインスタンスと対話し続けてもよい。   Referring back to lower timeline 405 B, at event 422 it can be seen that virtual machine image production can be completed. In some embodiments, once virtual machine image production is complete, the developer may be notified that virtual machine image production is complete and that the virtual machine image is ready to use. Subsequently, at Event 424, approval to use the virtual machine image may be determined. For example, approval to use a virtual machine image may be received from a developer. It should be noted that the use of virtual machine images does not have to be approved by the developer immediately after completion of virtual machine image creation. In the example of FIG. 4, there is a time delay between the completion of virtual machine image production (event 422) and the determination of approval for its use (event 424). This time delay is indicated by the interruption between events 422 and 424 in lower timeline 405B, and also by the dashed line between events 422 and 424 in upper timeline 405A. In some embodiments, the developer tests the test content item instance and interacts with the test content item instance even after the virtual machine image creation is completed during the time delay between events 422 and 424. You may continue.

いくつかの実施例では、仮想マシンイメージの承認及び使用は、仮想マシンイメージが複製される仮想マシンインスタンスを取得し、使用するためのコストなど、開発者に様々なコストを生じ得る。いくつかの場合、開発者は、これらのコストが正当であり、仮想マシンイメージ制作が完了する時点ですぐに承認することが望ましいということに確信がない場合がある。したがって、これらの及びその他の場合、仮想マシンイメージ制作が完了した後であっても、開発者は、テストコンテンツアイテムインスタンス上でコンテンツアイテムをテストし、コンテンツアイテムと対話し続けたい場合がある。これによって、開発者は、仮想マシンイメージの使用を承認するか否か、及びそのような承認に関連し得るコストを負うか否かについての最終決定を行う前に、コンテンツアイテムのさらなるテスト及びコンテンツアイテムとの追加の対話を行うことが可能となる。   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 act 622, the content item information is second, such as copying the snapshot created in act 614 to the second virtual machine instance, or loading the content item information onto the second virtual machine instance, or the like. Loaded on a virtual machine instance. At act 624, a virtual machine image creation process is initiated on the second virtual machine instance. As mentioned above, the virtual machine image creation process may include generating a virtual machine image based at least in part on the content item information loaded on the second virtual machine instance. In response, the virtual machine image, and each copy thereof, may include content item information to be loaded onto the second virtual machine instance.

動作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 clause 1 including.

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 clause 1 further comprising inspecting a virtual machine instance.

4.前記動作が、前記コンテンツアイテムの前記第1のインスタンスを実行する前に、1つまたは複数のプロキシコンポーネントを前記第1の仮想マシンインスタンス上にインストールすることをさらに含む、条項1に記載のシステム。   4. The system of clause 1, 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.

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 clause 5, further comprising inspecting.

7.前記承認済みソフトウェア開発キットが、前記コンテンツアイテムの実行中インスタンスに関連付けられる情報の報告を支援する、条項6に記載のコンピュータ実施される方法。   7. 6. The computer-implemented method of clause 6, wherein the approved software development kit assists in reporting information associated with a running instance of the content item.

8.前記コンテンツアイテムの前記第1のインスタンスを実行する前に、1つまたは複数のプロキシコンポーネントを前記第1の仮想マシンインスタンス上にインストールすることをさらに含む、条項5に記載のコンピュータ実施される方法。   8. Clause 5. The computer-implemented method of clause 5, further comprising installing one or more proxy components on the first virtual machine instance prior to executing the first instance of the content item.

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 clause 5, further comprising: executing one or more other instances of the content item on the one or more other virtual machine instances.

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 claim 1.

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 clause 15, wherein the approved software development kit supports reporting of information associated with a running instance of the content item.

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, computing device 15 includes one or more processors 10a, 10b, and / or 10n coupled to system memory 20 via input / output (I / O) interface 30 (this specification In the text, it may be referred to as "processor 10" in the singular, or "processor 10" in the plural. Computing device 15 further includes a network interface 40 coupled to I / O interface 30.

様々な実施形態では、コンピューティングデバイス15は、1つのプロセッサ10を含むユニプロセッサシステム、または複数(例えば、2個、4個、8個もしくは別の適当な数)のプロセッサ10を含むマルチプロセッサシステムであってもよい。プロセッサ10は、命令を実行可能な任意の適当なプロセッサであってもよい。例えば、様々な実施形態では、プロセッサ10は、x86、PowerPC、SPARC、もしくはMIPS ISA、または任意の他の適当なISAなどの多様な命令セットアーキテクチャ(ISA)のいずれかを実施する組み込みプロセッサであってもよい。マルチプロセッサシステムでは、プロセッサ10のそれぞれは、一般に、しかし必須ではなく、同一のISAを実施してもよい。   In various embodiments, computing device 15 may be a uniprocessor system including one processor 10, or a multiprocessor system including multiple (eg, two, four, eight or another suitable number) of processors 10. It may be Processor 10 may be any suitable processor capable of executing instructions. For example, in various embodiments, processor 10 is an embedded processor that implements any of a variety of instruction set architectures (ISAs) such as x86, PowerPC, SPARC, or MIPS ISA, or any other suitable ISA. May be In a multiprocessor system, each of the processors 10 may generally, but not necessarily, implement the same ISA.

システムメモリ20は、プロセッサ(複数可)10によってアクセス可能な命令及びデータを記憶するように構成されてもよい。様々な実施形態では、システムメモリ20は、スタティックランダムアクセスメモリ(SRAM)、同期式動的RAM(SDRAM)、不揮発性/フラッシュ(登録商標)型メモリ、または任意の他の種類のメモリなどの、任意の適当なメモリ技術を用いて実施されてもよい。図示される実施形態では、上述したこれらの方法、技術及びデータなどの1つまたは複数の所望の機能を実施するプログラム命令及びデータが、システムメモリ20内にコード25及びデータ26として記憶されて示される。   The system memory 20 may be configured to store instructions and data accessible by the processor (s) 10. In various embodiments, system memory 20 may be a static random access memory (SRAM), synchronous dynamic RAM (SDRAM), non-volatile / flash-type memory, or any other type of memory, etc. It may be implemented using any suitable memory technology. In the illustrated embodiment, program instructions and data implementing one or more desired functions such as those methods, techniques and data described above are shown stored as code 25 and data 26 in system memory 20. Be

一実施形態では、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, system memory 20, and any peripherals, including network interface 40 or other peripheral interfaces. It may be configured. In some embodiments, I / O interface 30 converts data signals from one component (eg, system memory 20) to a format suitable for use by another component (eg, processor 10). Any necessary protocol, timing or other data conversion may be performed. In some embodiments, I / O interface 30 is a device attached through various types of peripheral busses, such as, for example, variants of peripheral component interconnect (PCI) bus standards or universal serial bus (USB) standards. May also include support for In some embodiments, the functionality of I / O interface 30 may be divided into two or more separate components, such as, for example, Northbridge and Southbridge. Also, in some embodiments, some or all of the functionality of I / O interface 30, such as an interface to system memory 20, may be incorporated directly into processor 10.

ネットワークインタフェース40は、コンピューティングデバイス15と、例えば、他のコンピュータシステムまたはデバイスなどの、ネットワーク50に取り付けられる他のデバイス60との間でデータが交換されることを可能にするように構成されてもよい。様々な実施形態では、ネットワークインタフェース40は、例えば、イーサネットネットワークの種類などの、任意の適当な有線または無線汎用データネットワークを介して通信をサポートしてもよい。追加的に、ネットワークインタフェース40は、ファイバチャネルSAN(ストレージエリアネットワーク)などのストレージエリアネットワークを介して、または任意の他の適当な種類のネットワーク及び/もしくはプロトコルを介して、アナログ音声ネットワークまたはデジタルファイバ通信ネットワークなどの、遠距離通信/電話通信ネットワークを介した通信をサポートしてもよい。   Network interface 40 is configured to enable data to be exchanged between computing device 15 and other devices 60 attached to network 50, such as, for example, other computer systems or devices, etc. It is also good. In various embodiments, network interface 40 may support communication via any suitable wired or wireless general purpose data network, such as, for example, a type of Ethernet network. Additionally, network interface 40 may be an analog voice network or digital fiber via a storage area network such as a Fiber Channel SAN (Storage Area Network), or via any other suitable type of network and / or protocol. Communication over telecommunications / telephony communication networks, such as communication networks, may be supported.

いくつかの実施形態では、システムメモリ20は、対応する方法及び装置の実施形態を実施するための、上述のようなプログラム命令及びデータを記憶するように構成されるコンピュータアクセス可能な媒体の一実施形態であってもよい。一方、他の実施形態では、プログラム命令及び/またはデータは、様々な種類のコンピュータアクセス可能な媒体上で受信され、送信され、または記憶されてもよい。概して言うと、コンピュータアクセス可能な媒体が、I/Oインタフェース30を介してコンピューティングデバイス15に連結される、例えば、ディスクまたはDVD/CDといった磁気または光学媒体などの、非一時的記憶媒体またはメモリ媒体を含んでもよい。非一時的コンピュータアクセス可能な記憶媒体は、また、システムメモリ20または別の種類のメモリとしてコンピューティングデバイス15のいくつかの実施形態に含まれ得る、RAM(例えば、SDRAM、DDR SDRAM、RDRAM、SRAMなど)、ROM(読み取り専用メモリ)などの任意の揮発性または不揮発性媒体を含んでもよい。さらに、コンピュータアクセス可能な媒体は、伝送媒体、または、ネットワークインタフェース40を介して実施され得るような、ネットワーク及び/もしくは無線リンクなどの通信媒体を介して伝達される、電気、電磁気、もしくはデジタル信号などの信号を含んでもよい。図7に示されるもののように、複数のコンピューティングデバイスの一部または全てが、様々な実施形態において説明される機能性を実施するために使用されてもよい。例えば、多様な異なるデバイス及びサーバ上で動作するソフトウェアコンポーネントは、協働して機能性を提供してもよい。いくつかの実施形態では、説明される機能性の一部が、記憶デバイス、ネットワークデバイス、または専用コンピュータシステムを使用して実施されてもよい。本明細書で使用される「コンピューティングデバイス」という用語は、少なくとも全てのこれらの種類のデバイスを指し、これらの種類のデバイスに限定されない。   In some embodiments, system memory 20 is one implementation of a computer accessible medium configured to store program instructions and data as described above for implementing corresponding method and apparatus embodiments. It may be in the form. However, in other embodiments, program instructions and / or data may be received, transmitted or stored on various types of computer accessible media. Generally speaking, a non-transitory storage medium or memory, such as, for example, a magnetic or optical medium, such as a disc or DVD / CD, for example, a computer accessible medium is coupled to the computing device 15 via the I / O interface 30. A medium may be included. Non-transitory computer accessible storage media may also be included in some embodiments of computing device 15 as system memory 20 or another type of memory, such as RAM (eg, SDRAM, DDR SDRAM, RDRAM, SRAM Etc., and any volatile or non-volatile medium such as ROM (Read Only Memory). Furthermore, computer accessible media may be electrical, electromagnetic or digital signals transmitted via transmission media or communication media such as a network and / or wireless link such as may be implemented via network interface 40. Etc. may be included. As shown in FIG. 7, some or all of the plurality of computing devices may be used to implement the functionality described in the various embodiments. For example, software components operating on a variety of different devices and servers may cooperate to provide functionality. In some embodiments, some of the described functionality may be implemented using a storage device, a network device, or a dedicated computer system. The term "computing device" as used herein refers to at least all these types of devices and is not limited to these types of devices.

前節で説明されるプロセス、方法、及びアルゴリズムのそれぞれが、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のインスタンスを実行する前に、前記コンテンツアイテムに関連付けられる前記情報が、承認済みソフトウェア開発キットに関連付けられる命令を含むことを判断するために前記第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のインスタンスを実行する前に、1つまたは複数のプロキシコンポーネントを前記第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.
前記コンテンツアイテムの前記第1のインスタンスを実行する前に、前記コンテンツアイテムに関連付けられる前記情報が、承認済みソフトウェア開発キットに関連付けられる命令を含むことを判断するために前記第1の仮想マシンインスタンスを検査するステップをさらに含む、
請求項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つまたは複数の非一時的コンピュータ可読記憶媒体であって、前記命令は、少なくとも1つの計算ノード上での実行時に、前記少なくとも1つの計算ノードに、
コンテンツアイテムに関連付けられる情報を第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:
前記動作が、前記コンテンツアイテムの前記第1のインスタンスを実行する前に、1つまたは複数のプロキシコンポーネントを前記第1の仮想マシンインスタンス上にインストールするステップをさらに含む、
請求項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.
前記動作が、前記承認に少なくとも一部基づいて、前記第1の仮想マシンインスタンスを終了させるステップまたは再利用するステップをさらに含む、
請求項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.
前記コンテンツアイテムの前記第1のインスタンスが、少なくとも前記承認を受信するまで実行に利用可能である、
請求項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.
JP2017565102A 2015-06-18 2016-06-14 Content testing during image production Active JP6542397B2 (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

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