IP Library › Granted Patent US 11,471,764
Granted Patent B2
US 11,471,764 · App. 17/173,857 · Granted Oct 18, 2022

Predictive execution of distributed game engines

Inventors: John Kolen (Foster City, CA); Harold Henry Chaput (Belmont, CA); Navid Aghdaie (San Jose, CA); Kazi Atif-Uz Zaman (Foster City, CA); Kenneth Alan Moss (Redwood City, CA)
Assignee: ELECTRONIC ARTS INC.
A63F13/358A63F13/352A63F13/355A63F13/67A63F13/52A63F2300/535A63F2300/538
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,471,764
App. No.
17/173,857
Granted
Oct 18, 2022
Kind
B2
Abstract

Systems described herein may automatically and dynamically adjust the amount and type of computing resources usable to execute, process, or perform various tasks associated with a video game. Using one or more machine learning algorithms, a prediction model can be generated that uses the historical and/or current user interaction data obtained by monitoring the users playing the video game. Based on the historical and/or current user interaction data, future user interactions likely to be performed in the future can be predicted. Using the predictions of the users' future interactions, the amount and type of computing resources maintained in the systems can be adjusted such that a proper balance between reducing the consumption of computing resources and reducing the latency experienced by the users of the video game is achieved and maintained.

Claims (67)

1. A computer-implemented method, as implemented by an interactive computing system configured with specific computer-executable instructions, the computer-implemented method comprising:

causing a set of computing resources to be provided, the set of computing resources being usable to execute one or more tasks within a video game in response to user interactions associated with a plurality of users interacting with the video game;

receiving user interaction data indicative of a set of user interactions associated with one or more of the plurality of users;

determining, based at least in part on the user interaction data, information usable to adjust the set of computing resources;

causing the set of computing resources to be adjusted based at least in part on the information; and

causing one or more tasks triggered by subsequent user interactions with the video game to be executed using the adjusted set of computing resources.

2. The computer-implemented method of claim 1 , wherein determining the information usable to adjust the set of computing resources comprises:

determining a first set of predicted user interactions for a first user playing the video game;

determining a second set of predicted user interactions for a second user playing the video game;

determining an aggregated set of predicted user interactions based at least in part on the first set of predicted user interactions and the second set of predicted user interactions; and

determining, based at least in part on the aggregated set of predicted user interactions, the information usable to adjust the set of computing resources, wherein the information indicates a set of predicted computing resources.

3. The computer-implemented method of claim 2 , wherein the aggregated set of predicted user interactions indicates a first count of a first user interaction predicted to be performed within the video game over a predetermined time window by a set of multiple users including at least the first user and the second user, and a second count of a second user interaction predicted to be performed within the video game over the predetermined time window by the set of multiple users.

4. The computer-implemented method of claim 2 , wherein determining the information usable to adjust the set of computing resources further comprises:

determining a first set of probabilities corresponding to the first set of predicted user interactions and a second set of probabilities corresponding to the second set of predicted user interactions; and

determining the aggregated set of predicted user interactions based at least in part on the first set of probabilities and the second set of probabilities.

5. The computer-implemented method of claim 2 , wherein determining the first set of predicted user interactions comprises:

inputting a first set of user interactions associated with the first user into a prediction model; and

determining the first set of predicted user interactions outputted by the prediction model.

6. The computer-implemented method of claim 2 , wherein determining the information usable to adjust the set of computing resources further comprises:

inputting the aggregated set of predicted user interactions into a prediction model; and

determining the set of predicted computing resources outputted by the prediction model.

7. The computer-implemented method of claim 1 , wherein the adjusted set of computing resources comprises a microservice executing on a virtual machine, wherein the microservice is configured to perform one or more tasks in response to at least one of the subsequent user interactions.

8. A system comprising:

an electronic data store configured to store user interaction data associated with a video game; and

a hardware processor in communication with the electronic data store, the hardware processor configured to execute specific computer-executable instructions to at least:

cause a set of computing resources to be provided, the set of computing resources being usable to execute one or more tasks within the video game in response to user interactions associated with a plurality of users interacting with the video game;

access, from the electronic data store, the user interaction data indicative of a set of user interactions associated with one or more of the plurality of users;

determine, based at least in part on the user interaction data, information usable to adjust the set of computing resources;

cause the set of computing resources to be adjusted based at least in part on the information; and

cause one or more tasks triggered by subsequent user interactions with the video game to be executed using the adjusted set of computing resources.

9. The system of claim 8 , wherein determining the information usable to adjust the set of computing resources comprises:

determining a first set of predicted user interactions for a first user playing the video game;

determining a second set of predicted user interactions for a second user playing the video game;

determining an aggregated set of predicted user interactions based at least in part on the first set of predicted user interactions and the second set of predicted user interactions; and

determining, based at least in part on the aggregated set of predicted user interactions, the information usable to adjust the set of computing resources, wherein the information indicates a set of predicted computing resources.

10. The system of claim 9 , wherein the aggregated set of predicted user interactions indicates a first count of a first user interaction predicted to be performed within the video game over a predetermined time window by a set of multiple users including at least the first user and the second user, and a second count of a second user interaction predicted to be performed within the video game over the predetermined time window by the set of multiple users.

11. The system of claim 9 , wherein determining the information usable to adjust the set of computing resources further comprises:

determining a first set of probabilities corresponding to the first set of predicted user interactions and a second set of probabilities corresponding to the second set of predicted user interactions; and

determining the aggregated set of predicted user interactions based at least in part on the first set of probabilities and the second set of probabilities.

12. The system of claim 9 , wherein determining the first set of predicted user interactions comprises:

inputting a first set of user interactions associated with the first user into a prediction model; and

determining the first set of predicted user interactions outputted by the prediction model.

13. The system of claim 9 , wherein determining the information usable to adjust the set of computing resources further comprises:

inputting the aggregated set of predicted user interactions into a prediction model; and

determining the set of predicted computing resources outputted by the prediction model.

14. The system of claim 8 , wherein the adjusted set of computing resources comprises a microservice executing on a virtual machine, wherein the microservice is configured to perform one or more tasks in response to at least one of the subsequent user interactions.

15. Non-transitory physical computer storage storing instructions that, when executed by a computing system, cause the computing system to perform operations comprising:

causing a set of computing resources to be provided, the set of computing resources being usable to execute one or more tasks within a video game in response to user interactions associated with a plurality of users interacting with the video game;

receiving user interaction data indicative of a set of user interactions associated with one or more of the plurality of users;

determining, based at least in part on the user interaction data, information usable to adjust the set of computing resources;

causing the set of computing resources to be adjusted based at least in part on the information; and

causing one or more tasks triggered by subsequent user interactions with the video game to be executed using the adjusted set of computing resources.

16. The non-transitory physical computer storage of claim 15 , wherein determining the information usable to adjust the set of computing resources comprises:

determining a first set of predicted user interactions for a first user playing the video game;

determining a second set of predicted user interactions for a second user playing the video game;

determining an aggregated set of predicted user interactions based at least in part on the first set of predicted user interactions and the second set of predicted user interactions; and

determining, based at least in part on the aggregated set of predicted user interactions, the information usable to adjust the set of computing resources, wherein the information indicates a set of predicted computing resources.

17. The non-transitory physical computer storage of claim 16 , wherein the aggregated set of predicted user interactions indicates a first count of a first user interaction predicted to be performed within the video game over a predetermined time window by a set of multiple users including at least the first user and the second user, and a second count of a second user interaction predicted to be performed within the video game over the predetermined time window by the set of multiple users.

18. The non-transitory physical computer storage of claim 16 , wherein determining the information usable to adjust the set of computing resources further comprises:

determining a first set of probabilities corresponding to the first set of predicted user interactions and a second set of probabilities corresponding to the second set of predicted user interactions; and

determining the aggregated set of predicted user interactions based at least in part on the first set of probabilities and the second set of probabilities.

19. The non-transitory physical computer storage of claim 16 , wherein determining the first set of predicted user interactions comprises:

inputting a first set of user interactions associated with the first user into a prediction model; and

determining the first set of predicted user interactions outputted by the prediction model.

20. The non-transitory physical computer storage of claim 16 , wherein determining the information usable to adjust the set of computing resources further comprises:

inputting the aggregated set of predicted user interactions into a prediction model; and

determining the set of predicted computing resources outputted by the prediction model.

Continuity (2)
Continuation 16366897 · Mar 27, 2019
Related Publication 20210236924A1 · Aug 5, 2021
Cited By (3)
US 12,321,783 US 12,323,341 US 12,528,016