Dynamic allocation of computing resources in remote gaming environment

US9433862B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9433862-B2
Application numberUS-201313765024-A
CountryUS
Kind codeB2
Filing dateFeb 12, 2013
Priority dateFeb 12, 2013
Publication dateSep 6, 2016
Grant dateSep 6, 2016

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

Embodiments of the present invention monitor and dynamically allocate computing resources to game sessions running within a game service. A game service provides a remote gaming environments to which users connect over a wide area network, such as the internet. A game session runs a single instance of a game title. The game session runs the video game code responsible for creating the playing experience for the users. Various characteristics of the game session may be monitored and used to allocate computing resources. Usage of computing resources, such as central processing unit (“CPU”) may be monitored directly. In another embodiment, the number of players connected to the game session is monitored and computing resources are allocated dynamically as the number of players increases or decreases.

First claim

Opening claim text (preview).

The invention claimed is: 1. One or more computer-storage media having computer-executable instructions embodied thereon that when executed by a computing device perform a method of allocating compute resources to a remote game session, the method comprising: monitoring, by a game service, progress through a first game level of a single instance of a multi-player video game title that features multiple players interacting with each other within the single instance and being controlled from remote game clients that access the game service through one or more network connections, the single instance having multiple game levels wherein the first game level and a second game level require different amounts of computing resources; determining that the progress through the first level satisfies a threshold criteria for adding an additional game server to the single instance of the game session in preparation for the multiple players reaching the second game level; and in response to said determining, dynamically allocating an additional computing resource to the single instance of the game session while the game session is ongoing in preparation for the multiple players reaching the second game level, wherein the computing resource is an additional game server. 2. The media of claim 1 , wherein the threshold criteria are customized for the multi-player video game title. 3. The media of claim 1 , wherein the additional game server is a physical machine. 4. The media of claim 1 , wherein the additional game server is a virtual machine. 5. The media of claim 1 , wherein the monitoring is without input from code running in the single instance. 6. The media of claim 1 , wherein the method further comprises adding additional players to the single instance while the game session is ongoing, wherein the additional players utilize resources on the additional game server. 7. The media of claim 1 , wherein the method further comprises receiving requests from clients to join the game session and automatically allocating network resources to route control communications from clients into the game session. 8. A computing system comprising: a processor; and computer storage memory having computer-executable instructions stored thereon which, when executed by the processor, are configured to: monitor a characteristic of a plurality of game sessions running on a game service, wherein the monitoring is without input from code running in an individual game session, the individual game session comprising a single instance of a multiplayer video game title, the game service hosting multiple instance of the multiplayer video game title, the single instance having a first capacity for players, the first capacity being limited by an amount of computing resources allocated to the single instance; receive a request from a new player to join an active game session; determine that a first game instance is one player away from a player threshold for removing a computing resource from the first game instance; prevent the first game instance from being listed as an available game instance in response to determining the first game instance is one player away from a player threshold for removing a computing resource; provide a list of game instances for the new player to join that does not include the first game instance; and determine that an additional player has dropped from the first game instance, and, in response, dynamically allocating a computing resource away from the game session. 9. The system of claim 8 , wherein the list includes only game instances with a number of players more than one player away from a threshold that requires additional computing resources to be added. 10. The system of claim 8 , wherein the method further comprises managing network traffic to and from the individual game session without input from code running in the individual game session. 11. The system of claim 8 , wherein the additional computing resource comprises full use of an additional central processing unit and associated hardware. 12. The system of claim 8 , wherein the additional computing resource comprises a virtual machine that shares a central processing unit and associated hardware with another virtual machine. 13. A method of allocating compute resources to a remote game session, the method comprising: monitoring, by a game service, progress through a first game level of a single instance of a multi-player video game title that features multiple players interacting with each other within the single instance and being controlled from remote game clients that access the game service through one or more network connections, the single instance having multiple game levels wherein the first game level and a second game level require different amounts of computing resources; determining that the progress through the first level satisfies a threshold criteria for adding an additional game server to the single instance of the game session in preparation for the multiple players reaching the second game level; and in response to said determining, dynamically allocating an additional computing resource to the single instance of the game session while the game session is ongoing in preparation for the multiple players reaching the second game level, wherein the computing resource is an additional game server. 14. The method of claim 13 , wherein the threshold criteria are customized for the multi-player video game title. 15. The method of claim 13 , wherein the additional game server is a physical machine. 16. The method of claim 13 , wherein the additional game server is a virtual machine. 17. The method of claim 13 , wherein the monitoring is without input from code running in the single instance. 18. The method of claim 13 , wherein the method further comprises adding additional players to the single instance while the game session is ongoing, wherein the additional players utilize resources on the additional game server. 19. The method of claim 13 , wherein the method further comprises receiving requests from clients to join the game session and automatically allocating network resources to route control communications from clients into the game session.

Assignees

Inventors

Classifications

  • about the performance of a gaming system, e.g. revenue, diagnosis of the gaming system · CPC title

  • Monitor · CPC title

  • Electricity · mapped topic

  • involving special game server arrangements, e.g. regional servers connected to a national server or a plurality of servers managing partitions of the game world · CPC title

  • Games involving multiple players · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US9433862B2 cover?
Embodiments of the present invention monitor and dynamically allocate computing resources to game sessions running within a game service. A game service provides a remote gaming environments to which users connect over a wide area network, such as the internet. A game session runs a single instance of a game title. The game session runs the video game code responsible for creating the playing e…
Who is the assignee on this patent?
Microsoft Corp, Microsoft Technology Licensing Llc
What technology area does this patent fall under?
Primary CPC classification G07F17/3234. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Sep 06 2016 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).