IP Library › Granted Patent US 10,878,146
Granted Patent B2
US 10,878,146 · App. 15/795,322 · Granted Dec 29, 2020

Handover techniques for simulation systems and methods

Inventors: Matthew John Reveley Lewis (London, GB); Andrew Lee Seng Yin (London, GB)
Assignee: Improbable Worlds Ltd
G06F30/20G06F9/5061G06Q10/0633G06Q10/063116G06Q10/06312G06Q10/063114
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,878,146
App. No.
15/795,322
Granted
Dec 29, 2020
Kind
B2
Abstract

Methods, systems, computer-readable media, and apparatuses for performing, providing, managing, executing, and/or running a spatially-optimized simulation are presented. In one or more aspects, authority over one or more components may be changed from one worker to another worker during the simulation. The components may be configured to, for example, indicate behaviors of entities executing in the simulation. The system may determine to hand over authority over the one or more components to another worker, such as based on network and/or simulation conditions. The incumbent worker may be notified that authority will change to another worker, e.g., after a period of time. Authority over the one or more components may be assigned to the other worker, and the incumbent worker may be notified that it is no longer authoritative over the one or more components. The second worker may be notified that it is now authoritative over the one or more components.

Claims (67)

1. A method comprising:

assigning, by a computing device and to a first worker process in a computer simulation associated with the computing device, authority over one or more components of a plurality of components, wherein the plurality of components are configured to indicate behaviors of a plurality of entities executing in the computer simulation;

determining, by the computing device, to hand over authority over the one or more components from the first worker process to a second worker process in the computer simulation;

in response to determining to hand over authority over the one or more components from the first worker process to the second worker process, transmitting, by the computing device and to the first worker process, a message indicating that authority over the one or more components will change from the first worker process to the second worker process after a period of time;

assigning, by the computing device and to the second worker process, authority over the one or more components of the plurality of components;

transmitting, by the computing device and to the first worker process, a message indicating that the first worker process is not authoritative over the one or more components;

transmitting, by the computing device and to the second worker process, a message indicating that the second worker process is authoritative over the one or more components; and

running the computer simulation based on the second worker process being authoritative over the one or more components.

2. The method of claim 1 , wherein the transmitting the message indicating that the first worker process is not authoritative over the one or more components and the transmitting the message indicating that the second worker process is authoritative over the one or more components are performed after determining that the period of time has ended.

3. The method of claim 1 , further comprising:

receiving, by the computing device and from the first worker process, a message indicating that the first worker process is ready to lose authority over the one or more components,

wherein the transmitting the message indicating that the first worker process is not authoritative over the one or more components and the transmitting the message indicating that the second worker process is authoritative over the one or more components are performed in response to receiving the message indicating that the first worker process is ready to lose authority over the one or more components.

4. The method of claim 1 , wherein the message indicating that authority over the one or more components will change from the first worker process to the second worker process after the period of time comprises an indication of an end time of the period of time.

5. The method of claim 1 , further comprising:

after assigning, to the first worker process, authority over the one or more components of the plurality of components and before determining to hand over authority over the one or more components from the first worker process to the second worker process:

receiving, by the computing device and from the first worker process, an update to the one or more components of the plurality of components; and

storing, by the computing device, the update to the one or more components of the plurality of components.

6. The method of claim 5 , further comprising:

after determining that the period of time has ended, transmitting, by the computing device and to the second worker process, the stored update to the one or more components of the plurality of components.

7. The method of claim 1 , further comprising:

during the period of time:

receiving, by the computing device and from the first worker process, an update to the one or more components of the plurality of components; and

storing, by the computing device, the update to the one or more components of the plurality of components.

8. The method of claim 7 , further comprising:

after assigning, to the second worker process, authority over the one or more components, transmitting, by the computing device and to the second worker process, the stored update to the one or more components of the plurality of components.

9. The method of claim 1 , further comprising:

receiving, by the computing device, data indicative of network conditions of a network associated with the computer simulation,

wherein the determining to hand over authority over the one or more components from the first worker process to the second worker process is based on the network conditions of the network associated with the computer simulation.

10. An apparatus comprising:

a processor; and

memory storing computer-executable instructions that, when executed by the processor, cause the apparatus to:

assign, to a first worker process in a computer simulation associated with the apparatus, authority over one or more components of a plurality of components, wherein the plurality of components are configured to indicate behaviors of a plurality of entities executing in the computer simulation;

determine to hand over authority over the one or more components from the first worker process to a second worker process in the computer simulation;

in response to determining to hand over authority over the one or more components from the first worker process to the second worker process, transmit, to the first worker process, a message indicating that authority over the one or more components will change from the first worker process to the second worker process after a period of time;

assign, to the second worker process, authority over the one or more components of the plurality of components;

transmit, to the first worker process, a message indicating that the first worker process is not authoritative over the one or more components;

transmit, to the second worker process, a message indicating that the second worker process is authoritative over the one or more components; and

run the computer simulation based on the second worker process being authoritative over the one or more components.

11. The apparatus of claim 10 , wherein the computer-executable instructions, when executed by the processor, cause the apparatus to transmit the message indicating that the first worker process is not authoritative over the one or more components and transmit the message indicating that the second worker process is authoritative over the one or more components after determining that the period of time has ended.

12. The apparatus of claim 10 , wherein the computer-executable instructions, when executed by the processor, further cause the apparatus to:

receive, from the first worker process, a message indicating that the first worker process is ready to lose authority over the one or more components, and

wherein the computer-executable instructions, when executed by the processor, cause the apparatus to transmit the message indicating that the first worker process is not authoritative over the one or more components and transmit the message indicating that the second worker process is authoritative over the one or more components in response to receiving the message indicating that the first worker process is ready to lose authority over the one or more components.

13. The apparatus of claim 10 , wherein the message indicating that authority over the one or more components will change from the first worker process to the second worker process after the period of time comprises an indication of an end time of the period of time.

14. The apparatus of claim 10 , wherein the computer-executable instructions, when executed by the processor, further cause the apparatus to:

after assigning, to the first worker process, authority over the one or more components of the plurality of components and before determining to hand over authority over the one or more components from the first worker process to the second worker process:

receive, from the first worker process, an update to the one or more components of the plurality of components; and

store the update to the one or more components of the plurality of components.

15. The apparatus of claim 14 , wherein the computer-executable instructions, when executed by the processor, further cause the apparatus to:

after determining that the period of time has ended, transmit, to the second worker process, the stored update to the one or more components of the plurality of components.

16. The apparatus of claim 10 , wherein the computer-executable instructions, when executed by the processor, further cause the apparatus to:

during the period of time:

receive, from the first worker process, an update to the one or more components of the plurality of components; and

store the update to the one or more components of the plurality of components.

17. The apparatus of claim 16 , wherein the computer-executable instructions, when executed by the processor, further cause the apparatus to:

after assigning, to the second worker process, authority over the one or more components, transmit, to the second worker process, the stored update to the one or more components of the plurality of components.

18. The apparatus of claim 10 , wherein the computer-executable instructions, when executed by the processor, further cause the apparatus to:

receive data indicative of network conditions of a network associated with the computer simulation, and

wherein the computer-executable instructions, when executed by the processor, cause the apparatus to determine to hand over authority over the one or more components from the first worker process to the second worker process based on the network conditions of the network associated with the computer simulation.

19. A non-transitory computer-readable media storing computer-readable instructions that, when executed by a computing device, cause the computing device to:

assign, to a first worker process, authority over one or more components of a plurality of components, wherein the plurality of components are configured to indicate behaviors of a plurality of entities executing in a simulation associated with the computing device;

determine to hand over authority over the one or more components from the first worker process to a second worker process;

in response to determining to hand over authority over the one or more components from the first worker process to the second worker process, transmit, to the first worker process, a message indicating that authority over the one or more components will change from the first worker process to the second worker process after a period of time;

assign, to the second worker process, authority over the one or more components of the plurality of components;

transmit, to the first worker process, a message indicating that the first worker process is not authoritative over the one or more components;

transmit, to the second worker process, a message indicating that the second worker process is authoritative over the one or more components; and

run the computer simulation based on the second worker process being authoritative over the one or more components.

20. The non-transitory computer-readable media of claim 19 , wherein the computer-readable instructions, when executed by the computing device, cause the computing device to transmit the message indicating that the first worker process is not authoritative over the one or more components and transmit the message indicating that the second worker process is authoritative over the one or more components are performed after determining that the period of time has ended.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 29, 2018
From: LEWIS, MATTHEW JOHN REVELEY; SENG YIN, ANDREW LEE
To: IMPROBABLE WORLDS LTD
Reel/Frame 044755/0936 →
Continuity (3)
Continuation In Part 15361874 · Nov 28, 2016
Provisional Application 62378715 · Aug 24, 2016
Related Publication 20180068040A1 · Mar 8, 2018
Cited By (2)
US 12,231,522 US 12,274,936