IP Library Granted Patent US 11,638,870
Granted Patent B2
US 11,638,870 · App. 17/507,292 · Granted May 2, 2023

Systems and methods for low-latency initialization of streaming applications

Inventors: Qunshu Zhang (Sammamish, WA); Xiaoxing Zhu (Bellevue, WA); Yangpeng Ou (Redmond, WA); Qi Ding (Seattle, WA)
Assignee: Meta Platforms, Inc.
A63F13/355A63F13/352A63F13/48A63F13/49A63F13/79G06F9/45558H04L65/612H04L65/65H04L67/01H04L67/10H04L67/131H04L67/141H04L67/145H04L67/306H04L67/568A63F2300/538A63F2300/5546A63F2300/636G06F2009/45587G06F2009/45595
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 11,638,870
App. No.
17/507,292
Granted
May 2, 2023
Kind
B2
Abstract

The disclosed computer-implemented method may include identifying a video game configured to be available to stream from a server within a cloud gaming environment; pre-loading an instance of the video game on the server before receiving a request by a user to stream the video game to a client system; receiving the request by the user to stream the video game; and allocating the pre-loaded instance of the video game to the user for streaming to the client system in response to receiving the request by the user to stream the video game, thereby reducing a latency between the user submitting the request and the video game being ready for the user to stream. Various other methods, systems, and computer-readable media are also disclosed.

Claims (54)

1. A computer-implemented method comprising:

identifying a video game configured to be available to stream from a server within a cloud gaming environment;

pre-loading an instance of the video game on the server before receiving a request by a user to stream the video game to a client system by:

determining a subset of loading operations that do not depend on user-specific information to perform for the video game before receiving the request and a remainder of loading operations, at least a portion of which depend on user-specific information, to perform for the video game after receiving the request; and

pausing a loading procedure after performing the subset of loading operations;

receiving the request by the user to stream the video game;

allocating the pre-loaded instance of the video game to the user for streaming to the client system in response to receiving the request by the user to stream the video game;

receiving the user-specific information in connection with allocating the pre-loaded instance of the video game to the user; and

resuming the loading procedure in response to receiving the user-specific information and using the user-specific information while performing the remainder of loading operations.

2. The computer-implemented method of claim 1 ,

further comprising determining a number of instances of the video game to pre-load on the server;

wherein pre-loading the instance of the video game on the server before receiving the request is performed responsive to the number of instances determined.

3. The computer-implemented method of claim 2 , wherein determining the number of instances of the video game to pre-load on the server is based at least in part on historical user data indicating a demand for the video game.

4. The computer-implemented method of claim 2 , wherein:

determining the number of instances of the video game to pre-load on the server comprises determining a number of instances of a localization of the video game to pre-load on the server; and

pre-loading the instance of the video game on the server before receiving the request comprises pre-loading an instance of the localization of the video game responsive to the number of instances of the localization determined.

5. The computer-implemented method of claim 2 , wherein determining the number of instances of the video game to pre-load on the server is based at least in part on an output of a machine learning model trained at least in part on historical user data within the cloud gaming environment.

6. The computer-implemented method of claim 1 , wherein: a plurality of users are registered to the cloud gaming environment; and the instance of the video game pre-loaded on the server is available to any of the plurality of users before being allocated to the user.

7. The computer-implemented method of claim 1 , further comprising:

identifying an additional video game configured to be available to stream from the server within the cloud gaming environment;

pre-loading an instance of the additional video game on the server before receiving an additional request by an additional user to stream the video game to an additional client system;

receiving the additional request by the additional user to stream the additional video game; and

allocating the pre-loaded instance of the additional video game to the additional user for streaming to the additional client system in response to receiving the additional request by the additional user to stream the additional video game, thereby reducing a latency between the additional user submitting the additional request and the additional video game being ready for the additional user to stream.

8. A system comprising:

at least one physical processor;

physical memory comprising computer-executable instructions that, when executed by the physical processor, cause the physical processor to:

identify a video game configured to be available to stream from a server within a cloud gaming environment;

pre-load an instance of the video game on the server before receiving a request by a user to stream the video game to a client system by:

determining a subset of loading operations that do not depend on user-specific information to perform for the video game before receiving the request and a remainder of loading operations, at least a portion of which depend on user-specific information, to perform for the video game after receiving the request; and

pausing a loading procedure after performing the subset of loading operations;

receive the request by the user to stream the video game;

allocate the pre-loaded instance of the video game to the user for streaming to the client system in response to receiving the request by the user to stream the video game;

receive the user-specific information in connection with allocating the pre-loaded instance of the video game to the user; and

resume the loading procedure in response to receiving the user-specific information and using the user-specific information while performing the remainder of loading operations.

9. The system of claim 8 ,

wherein the instructions further cause the physical processor to determine a number of instances of the video game to pre-load on the server;

wherein pre-loading the instance of the video game on the server before receiving the request is performed responsive to the number of instances determined.

10. The system of claim 9 , wherein determining the number of instances of the video game to pre-load on the server is based at least in part on historical user data indicating a demand for the video game.

11. The system of claim 9 , wherein:

determining the number of instances of the video game to pre-load on the server comprises determining a number of instances of a localization of the video game to pre-load on the server; and

pre-loading the instance of the video game on the server before receiving the request comprises pre-loading an instance of the localization of the video game responsive to the number of instances of the localization determined.

12. The system of claim 9 , wherein determining the number of instances of the video game to pre-load on the server is based at least in part on an output of a machine learning model trained at least in part on historical user data within the cloud gaming environment.

13. The system of claim 8 , wherein:

a plurality of users are registered to the cloud gaming environment; and

the instance of the video game pre-loaded on the server is available to any of the plurality of users before being allocated to the user.

14. A non-transitory computer-readable medium comprising one or more computer-executable instructions that, when executed by at least one processor of a computing device, cause the computing device to:

identify a video game configured to be available to stream from a server within a cloud gaming environment;

pre-load an instance of the video game on the server before receiving a request by a user to stream the video game to a client system by:

determining a subset of loading operations that do not depend on user-specific information to perform for the video game before receiving the request and a remainder of loading operations, at least a portion of which depend on user-specific information, to perform for the video game after receiving the request; and

pausing a loading procedure after performing the subset of loading operations;

receive the request by the user to stream the video game; and

allocate the pre-loaded instance of the video game to the user for streaming to the client system in response to receiving the request by the user to stream the video game;

receive the user-specific information in connection with allocating the pre-loaded instance of the video game to the user; and

resume the loading procedure in response to receiving the user-specific information and using the user-specific information while performing the remainder of loading operations.

Assignments (2)
CHANGE OF NAME Recorded Jan 11, 2022
From: FACEBOOK, INC.
To: META PLATFORMS, INC.
Reel/Frame 058685/0901 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 30, 2021
From: ZHANG, QUNSHU; ZHU, XIAOXING; OU, YANGPENG; DING, QI
To: FACEBOOK, INC.
Reel/Frame 058233/0810 →
Continuity (3)
Provisional Application 63194821 · May 28, 2021
Provisional Application 63105320 · Oct 25, 2020
Related Publication 20220126202A1 · Apr 28, 2022