IP Library › Granted Patent US 10,154,072
Granted Patent B2
US 10,154,072 · App. 14/488,905 · Granted Dec 11, 2018

Intelligent streaming of media content

Inventors: John Raymond Justice (Bellevue, WA); Euan Peter Garden (Bellevue, WA)
Assignee: Microsoft Technology Licensing, LLC
H04L65/4069A63F13/30A63F13/355A63F13/60A63F13/77H04L67/10H04L67/2847
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 10,154,072
App. No.
14/488,905
Granted
Dec 11, 2018
Kind
B2
Abstract

In various embodiments, methods and systems for intelligent streaming of game content based on the level of interactivity of the game content are provided. The level of interactivity of game content is determined using techniques that classify the level of interactivity. The level of interactivity is defined for different components of game content. Streaming techniques are associated with game content having specific levels of interactivity. An edge computing infrastructure may facilitate intelligent streaming in that game assets classified as prefetch game assets or stream game assets are associated with prefetch instructions. The prefetch instructions are communicated from a game server to a game platform to instruct the game platform to prefetch a prefetch game asset to the edge computing infrastructure in advance of an anticipated game context in which the prefetch game asset is used. During the anticipated game context, the assets are retrieved for output at the game platform.

Claims (44)

1. One or more computer storage media storing computer-useable instructions that, when executed by one or more processors, causes the one or more processors to perform a method for prefetching game content, the method comprising:

receiving a prefetch instruction, from a game server in a distributed network infrastructure, to prefetch a prefetch game asset to an edge computing infrastructure, wherein the prefetch game asset is classified as a prefetch game asset within a game streaming session, the prefetch game asset is a portion of game content having a predefined level of interactivity relative to other portions of game content of the game streaming session, such that, the prefetch game asset portion of game content is selected to be prefetched based on the predefined level of interactivity, wherein a threshold of game streaming constraints applied to the prefetch game asset of the game content is based on the predefined level of interactivity of the prefetch game asset, wherein game streaming constraints indicate restrictions applied to streaming of game content;

prefetching the prefetch game asset, wherein the prefetch game asset is processed at the game server in advance of an anticipated game context where the prefetch game asset is used; and

providing, from the edge computing infrastructure, the prefetch game asset for output upon an occurrence of the anticipated game context.

2. The media of claim 1 , wherein the prefetch game asset is classified as a prefetch asset during a game development phase.

3. The media of claim 2 , wherein the prefetch instruction identifies a plurality of prefetch game assets as a package in association with the anticipated game context, the instructions are defined during the game development phase.

4. The media of claim 1 , wherein the anticipated game context is one of a plurality of anticipated game contexts, wherein the anticipated game context is a portion of game play that is triggered by interactions that are unique to a user during a game streaming session.

5. The media of claim 1 , wherein the prefetch game asset is a correction asset that repairs game corruption.

6. The media of claim 1 , wherein prefetching the prefetch game asset is based on:

referencing one or more interactive actions that trigger the anticipated game context; and

determining to prefetch the prefetch game asset based on the one or more interactive actions.

7. The media of claim 1 , wherein prefetching the prefetch game asset is based on referencing one or more game streaming session parameters of the distributed network infrastructure; and

determining to prefetch the prefetch game asset based on meeting a threshold of the one or more game streaming session parameters.

8. The media of claim 1 , wherein prefetching the prefetch game asset is based on:

prefetching the prefetch game asset from a primary storage associated with the game server; and

storing the prefetch game asset on a secondary storage associated with the edge computing infrastructure.

9. The media of claim 8 , wherein providing the prefetch game asset for output is based on:

downloading the prefetch game asset from the secondary storage; and

combining the prefetch game asset from the secondary storage with the stream game asset from the primary storage, wherein the stream game content is directly executed and processed at the game server.

10. One or more computer storage media storing computer-useable instructions that, when executed by one or more processors, causes the one or more processors to perform a method for prefetching game content, the method comprising:

transmitting a prefetch instruction to a game platform in a distributed network infrastructure, the prefetch instruction instructs the game platform to prefetch a prefetch game asset to an edge computing infrastructure, wherein the prefetch game asset is classified as a prefetch asset within a game streaming session, the prefetch game asset is a portion of game content having a predefined level of interactivity relative to other portions of game content of the game streaming session, such that, the prefetch game asset portion of game content is selected to be prefetched based on the predefined level of interactivity, wherein a threshold of game streaming constraints applied to the prefetch game asset of the game content is based on the predefined level of interactivity of the prefetch game asset, wherein game streaming constraints indicate restrictions applied to streaming of game content;

receiving a prefetch request from the game platform, wherein the prefetch request is generated based on referencing at least one game streaming session parameter;

processing the prefetch game asset; and

transmitting the prefetch game asset to the edge computing infrastructure, wherein the prefetch game asset is a processed game content that is stored at the edge computing infrastructure until an occurrence of an anticipated game context.

11. The media of claim 10 , wherein the prefetch instruction is further associated with a stream game asset, wherein the stream game asset is classified as a stream game asset within the game streaming session.

12. The media of claim 10 , wherein transmitting the prefetch instruction is based on:

referencing a current game context based on the prefetch instruction, the prefetch instruction embedded in game code; and

identifying one or more anticipated game contexts based on the current game context, wherein the anticipated game context is associated with the prefetch game asset.

13. The media of claim 10 , wherein processing the prefetch game asset comprising at least of one of the following:

rendering images; and

preparing audio.

14. The media of claim 10 , wherein the transmitting the prefetch game asset comprises streaming the prefetch game asset from a primary storage to a secondary storage, wherein the secondary storage is associated with the edge computing infrastructure such that the prefetch game asset is downloaded from the edge computing infrastructure upon occurrence of the anticipated game context.

15. The media of claim 14 , wherein streaming the prefetch game asset occurs simultaneously with streaming of at least stream game assets associated with a current game context.

16. A computer-implemented method for intelligently streaming game content, the method comprising:

identifying a game context for game content;

classifying at least a component of the game context with a level of interactivity, the component of the game context is game content having the level of interactivity relative to other components of the game context, such that, the component of the game content is selected to be prefetched with based on the level of interactivity, wherein a threshold of game streaming constraints applied to the prefetch game asset of the game content is based on the predefined level of interactivity of the prefetch game asset, wherein game streaming constraints indicate restrictions applied to streaming of game content;

streaming the game context based on at least the level of interactivity for the component of the game context.

17. The method of claim 16 , wherein classifying the game context is based on at least one of: a game-developer-based classification, a play-testing-based classification, or a machine-learning-based classification.

18. The method of claim 16 , wherein streaming the game context based on the level of interactivity of the game context further comprises:

identifying one or more game streaming constraints, wherein the one or more game streaming constraints includes at least video codecs or encoding techniques, buffer management, error correction, or edge infrastructure usage techniques; and

configuring thresholds of the one or more game streaming constraints, wherein the thresholds are based on the level of interactivity of the game context.

19. The method of claim 16 further comprising:

simultaneously steaming a first game component having a first level of interactivity from an edge computing infrastructure and streaming a second game component having a second level of interactivity from a game server.

20. The method of claim 19 , wherein the edge computing infrastructure acts as a secondary storage for a game context component associated with no interactivity such that upon occurrence of an anticipated game context, the game context component is downloaded from the edge computing infrastructure.

Assignments (2)
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 Nov 17, 2014
From: JUSTICE, JOHN RAYMOND; GARDEN, EUAN PETER
To: MICROSOFT CORPORATION
Reel/Frame 034182/0937 →
Continuity (1)
Related Publication 20160080442A1 · Mar 17, 2016