IP Library › Granted Patent US 9,295,915
Granted Patent B2
US 9,295,915 · App. 13/898,383 · Granted Mar 29, 2016

Game availability in a remote gaming environment

Inventors: John Peter Bruno, Jr. (Snoqualmie, WA); Donald James McNamara (Woodinville, WA); Hsiang-Ling Jamie Lin (Redmond, WA); Christopher Lane Boedigheimer (Redmond, WA); Per-Ola Anders Orvendal (Carnation, WA); Joseph Cusimano (Carnation, WA); Scott Q. Longstreet (Maple Valley, WA)
Assignee: Microsoft Technology Licensing, LLC
A63F13/12A63F13/30A63F13/35A63F13/352A63F13/358G06F9/505G06F9/5027G06F9/5061A63F2300/535A63F2300/5533A63F2300/5593
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,295,915
App. No.
13/898,383
Granted
Mar 29, 2016
Kind
B2
Abstract

Embodiments of the present invention monitor and dynamically manage game instances within a game service. A game service provides a remote gaming environment to which users connect over a wide area network, such as the Internet. For example, embodiments of the invention may forecast demand for a specific game title. The demand forecast is used to determine how many standby game instances are needed to meet demand as players join and leave game sessions. Games with higher demand may have more standby game instances ready for players to drop in. Games with less demand may have fewer active game instances running waiting for players to drop in.

Claims (33)

1. A computing system comprising:

a processor; and

computer storage memory having computer-executable instructions stored thereon which, when executed by the processor, implement a method of managing game instances within a remote game service, the method comprising:

monitoring an amount of game instances for a game title in a game service, the game instances being accessed by remote game clients through one or more network connections;

determining, in the present, anticipated demand for the game title in the future;

determining a number of standby instances of the game title that are optimal to meet the anticipated demand; and

dynamically managing standby instances of the game title to stay within a threshold of the number of standby instance that is optimal to meet the anticipated demand in the future by determining a number of standby game instances to be created or destroyed at a present time by subtracting a number of existing game instances from the number of standby instances of the game title that are optimal to meet the anticipated demand;

detecting an event that triggers recalculating the number of standby game instances to be created or destroyed at the present time, wherein the event comprises at least one of a game instance entering a deploying state or a game instance entering a standby state.

2. The system of claim 1 , said determining the number of standby instances of the game title that are optimal to meet the anticipated demand comprises multiplying a rate of requests for the active game instances by a duration of time taken to form a new standby game instance.

3. The system of claim 1 wherein the standby game instances are not connected to players.

4. The system of claim 1 , wherein existing game instances comprise instances of the game title presently in a standby state, a deploying state, and an initializing state.

5. The system of claim 1 , wherein said determining anticipated demand for the game title in the future comprises multiplying a rate of requests for active game instances of the game title by a duration of time that a game instance takes to reach a standby state.

6. The system of claim 5 , wherein the rate of requests is calculated using polynomial extrapolation of a series of actual rate measurements.

7. The system of claim 5 , wherein the duration of time is an average duration.

8. A method of managing game instances within a remote game service, the method comprising:

detecting occurrence of an event that triggers determination of a game instance delta, which is a difference between a current amount of standby game instances and an optimal amount of standby game instances suitable to meet future demand for active game instances of a game title, the active game instances being accessed by remote game clients through one or more network connections, wherein the event is a game instance entering a terminating state; and

dynamically managing standby game instances of the game title to adjust the current amount of standby game instances according to the game instance delta.

9. The method of claim 8 , wherein the standby game instances are not connected to players.

10. The method of claim 8 , wherein the optimal amount is calculated by multiplying a rate of requests for the active game instances by a duration of time taken to form a new standby game instance.

11. The method of claim 10 wherein the rate of requests is over less than the last 10 minutes.

12. The method of claim 10 , wherein the rate of requests is calculated using polynomial extrapolation of a series of actual rate measurements.

13. A method of managing game instances within a remote game service, the method comprising:

monitoring an amount of game instances for a game title in a game service, the game instances being accessed by remote game clients through one or more network connections;

determining, in the present, anticipated demand for the game title in the future;

determining a number of standby instances of the game title that are optimal to meet the anticipated demand; and

dynamically managing standby instances of the game title to stay within a threshold of the number of standby instance that is optimal to meet the anticipated demand in the future by determining a number of standby game instances to be created or destroyed at a present time by subtracting a number of existing game instances from the number of standby instances of the game title that are optimal to meet the anticipated demand;

detecting an event that triggers recalculating the number of standby game instances to be created or destroyed at the present time, wherein the event comprises at least one of a game instance entering a deploying state or a game instance entering a standby state.

14. The system of claim 13 , said determining the number of standby instances of the game title that are optimal to meet the anticipated demand comprises multiplying a rate of requests for the active game instances by a duration of time taken to form a new standby game instance.

15. The system of claim 13 wherein the standby game instances are not connected to players.

16. The system of claim 13 wherein existing game instances comprise instances of the game title presently in a standby state, a deploying state, and an initializing state.

17. The system of claim 13 , wherein said determining anticipated demand for the game title in the future comprises multiplying a rate of requests for active game instances of the game title by a duration of time that a game instance takes to reach a standby state.

18. The system of claim 17 , wherein the rate of requests is calculated using polynomial extrapolation of a series of actual rate measurements.

19. The system of claim 17 , wherein the duration of time is an average duration.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 9, 2015
From: MICROSOFT CORPORATION
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 039025/0454 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 8, 2014
From: BRUNO, JOHN PETER, JR; MCNAMARA, DONALD JAMES; LIN, HSIANG-LING JAMIE; BOEDIGHEIMER, CHRISTOPHER LANE; ORVENDAL, PER-OLA ANDERS; CUSIMANO, JOSEPH; LONGSTREET, SCOTT Q.
To: MICROSOFT CORPORATION
Reel/Frame 032626/0747 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 20, 2013
From: BRUNO, JOHN PETER; MCNAMARA, DONALD JAMES; LIN, HSIANG-LING JAMIE; BOEDIGHEIMER, CHRISTOPHER LANE; ORVENDAL, PER-OLA ANDERS; CUSIMANO, JOSEPH; LONGSTREET, SCOTT Q.
To: MICROSOFT CORPORATION
Reel/Frame 031042/0580 →
Continuity (1)
Related Publication 20140342819A1 · Nov 20, 2014