IP Library › Granted Patent US 11,511,196
Granted Patent B2
US 11,511,196 · App. 17/343,656 · Granted Nov 29, 2022

Predictive data preloading

Inventor: John Kerr (Newport Beach, CA)
Assignee: Roblox Corporation
A63F13/79A63F13/358A63F13/45A63F13/77A63F2300/534A63F2300/5546A63F2300/636H04L67/131
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,511,196
App. No.
17/343,656
Granted
Nov 29, 2022
Kind
B2
Abstract

Methods, systems, and computer readable media for predictive preloading of game data are described. In some implementations, a method can include using a machine learning model of player data to predict which games (or game-related data assets) to begin preloading prior to a user making a game selection. Once the user makes a selection, any preloading not related to the selection can be terminated. Thus, during the time period when the user is viewing available game selections, a given number of selections can begin to be preloaded based on predictions from the machine learning model. The preloading can help reduce latency from game selection by the user to game start time.

Claims (44)

1. A computer-implemented method to preload one or more game options by a gaming platform, the method comprising:

receiving, from a player device and by the gaming platform, a game search request;

providing player data from the gaming platform and one or more games that match the game search request as input to a trained machine learning model;

obtaining, as output of the trained machine learning model, one or more game options to preload by the gaming platform, the one or more game options being at least one of the one or more games; and

causing the player device to preload at least a portion of at least one of the one or more game options prior to receiving user selection input of a particular game of the one or more games, wherein the preloading is performed based upon one or more of: processor utilization, memory utilization, or communications utilization of the player device.

2. The computer-implemented method of claim 1 , wherein the causing the player device to preload comprises:

causing preloading to start at the player device, wherein the preloading includes loading one or more resources corresponding to the one or more game options in a memory of the player device;

receiving, from the player device, an indication that a termination condition has been met; and

in response to the indication, causing termination of the loading of the one or more resources at the player system.

3. The computer-implemented method of claim 2 , wherein the termination condition includes receiving the user selection input from the player system, and wherein the causing termination includes termination of loading of game options that do not match a game option selection of the user selection input.

4. The computer-implemented method of claim 2 , wherein the termination condition includes receiving user input indicative of a change in available game options of the one or more game options, and wherein the causing termination includes termination of loading of game options that do not match the change in the available game options.

5. The computer-implemented method of claim 2 , wherein the termination condition includes receiving a new game search request, wherein the causing termination includes termination of loading of game options responsive to receiving the new game search request, and wherein the method further includes causing the player device to preload at least a portion of one or more game options associated with the new game search request prior to receiving user selection input of a particular game.

6. The computer-implemented method of claim 2 , wherein the termination condition is any of one or more of: preloading of a predetermined number of the one or more game options, exceeding a predetermined amount of processor utilization at the player device, consumption of a predetermined amount of memory at the player device, or consumption of a threshold amount of a network resource at the player device.

7. The computer-implemented method of claim 1 , wherein the one or more game options include one or more available games within the gaming platform that are selectable by a player associated with the player device.

8. The computer-implemented method of claim 1 , wherein the one or more game options include one or more available game resources within a particular game in the gaming platform that are selectable by a player associated with the player device.

9. The computer-implemented method of claim 1 , further comprising presenting a graphical user interface (GUI) to display the one or more game options selectable by a player within the gaming platform, wherein:

causing the player device to preload is performed prior to presenting the GUI to the player within the gaming platform;

causing the player device to preload is performed subsequent to presenting the GUI to the player within the gaming platform; or

causing the player device to preload is performed while presenting the GUI and prior to receiving the user selection input.

10. The computer-implemented method of claim 1 , wherein the player data includes one or more of: player gender, player age, player geographic region, player language, player experience on the gaming platform, player purchase history on the gaming platform, or player activity history on the gaming platform.

11. A computer-implemented method to train a machine learning model to predict game options to preload by a gaming platform, the method comprising:

receiving training data that includes player data corresponding to a player and one or more previously selected game options that was previously selected by the player in the gaming platform, wherein the one or more previously selected game options were selected from one or more available game options, and wherein the player data comprises a feature vector that is computed based on two or more of: player demographic information, player cohort data, player history, player location, or player game level; and

training the machine learning model to predict game options to preload, wherein the training comprises:

providing the player data and the one or more available game options as input to the machine learning model;

obtaining, as output of the machine learning model, one or more predicted game options;

comparing the one or more predicted game options with the one or more previously selected game options; and

adjusting one or more parameters of the machine learning model based on the comparing.

12. The computer-implemented method of claim 11 , wherein the training comprises one or more of: supervised learning or semi-supervised learning techniques.

13. The computer-implemented method of claim 11 , wherein the training is performed until a value of a loss function meets a predetermined criterion, and wherein the loss function is a function of the predicted game options and the previously selected game options.

14. The computer-implemented method of claim 11 , wherein the machine learning model is a neural network, and wherein the method further comprises:

determining a cohort that the player is associated with; and

training the neural network, with additional player data corresponding to additional players from the cohort, to predict one or more game options to preload.

15. A non-transitory computer-readable medium with instructions stored thereon that, responsive to execution by a processing device, causes the processing device to perform operations including:

receiving, from a player device and by a gaming platform, a game search request;

providing player data from the gaming platform and one or more games that match the game search request as input to a trained machine learning model;

obtaining, as output of the trained machine learning model, one or more game options to preload by the gaming platform, the one or more game options being at least one of the one or more games; and

causing the player device to preload at least a portion of at least one of the one or more game options prior to receiving user selection input of a particular game of the one or more games, wherein the preloading is performed based upon one or more of: processor utilization, memory utilization, or communications utilization of the player device.

16. The non-transitory computer-readable medium of claim 15 , wherein the causing the player device to preload comprises:

causing preloading to start at the player device, wherein the preloading includes loading one or more resources corresponding to the one or more game options in a memory of the player device;

receiving, from the player device, an indication that a termination condition has been met; and

in response to the indication, causing termination of the loading of the one or more resources at the player system.

17. The non-transitory computer-readable medium of claim 16 , wherein the termination condition includes receiving the user selection input from the player system, and wherein the causing termination includes termination of loading of game options that do not match a game option selection of the user selection input.

18. The non-transitory computer-readable medium of claim 15 , wherein the one or more game options include one or more available games within the gaming platform that are selectable by a player associated with the player device.

19. The non-transitory computer-readable medium of claim 15 , wherein the one or more game options include one or more available game resources within a particular game in the gaming platform that are selectable by a player associated with the player device.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 9, 2021
From: KERR, JOHN
To: ROBLOX CORPORATION
Reel/Frame 056492/0031 →
Continuity (2)
Continuation 16442328 · Jun 14, 2019
Related Publication 20210299577A1 · Sep 30, 2021