IP Library Granted Patent US 10,534,649
Granted Patent B2
US 10,534,649 · App. 16/134,372 · Granted Jan 14, 2020

Simulation systems and methods using query-based interest

Inventors: Jennifer Harkness (London, GB); Rok Strnisa (London, GB)
Assignee: Improbable Worlds Ltd
G06F9/5061G06F9/46G06F9/5083G06F16/288G06F9/505G06F16/335
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,534,649
App. No.
16/134,372
Granted
Jan 14, 2020
Kind
B2
Abstract

Methods, systems, computer-readable media, and apparatuses for query-based interest in a simulation are presented. Entities may be simulated on workers, and each entity may comprise one or more components. A simulation system may run bridges on one or more machines, and the bridges may be configured to facilitate data communications between the workers and one or more entity databases. Each worker may be assigned to a different bridge. The system may modify one or more entities to include an interest component, and the interest component may indicate a query subscription to the one or more entity databases, which may affect the communication between bridges and workers. The interest component may also or alternatively indicate a frequency for receiving, from the one or more entity databases, updates for the query subscription.

Claims (72)

1. One or more non-transitory computer readable media storing computer executable instructions that, when executed, cause a system to perform a simulation by:

simulating a plurality of entities on a plurality of workers, wherein each entity of the plurality of entities comprises one or more components;

running, on one or more machines, a plurality of bridges, wherein the plurality of bridges are configured to facilitate data communications between the plurality of workers and one or more entity databases;

assigning each worker of the plurality of workers to a different bridge of the plurality of bridges; and

modifying an entity of the plurality of entities to include an interest component, wherein the interest component indicates, for each component in the one or more components of the entity, a query subscription to the one or more entity databases,

wherein the query subscription comprises a boolean combination or union of a plurality of sub-queries, each subquery of the plurality of sub-queries comprising:

a component value that qualifies another entity for inclusion in a query result for the each sub-query, and

a frequency for receiving, from the one or more entity databases, updates for the each sub-query.

2. The one or more non-transitory computer readable media of claim 1 , wherein modifying the entity to include the interest component is performed at a time corresponding to a time that the entity is created.

3. The one or more non-transitory computer readable media of claim 1 , storing computer executable instructions that, when executed, cause the system to perform the simulation by:

during runtime of the simulation, receiving a request to update one or more of the query subscription or a frequency for receiving updates for a sub-query; and

based on receiving the request, updating the interest component to indicate one or more of an updated query subscription or an updated frequency.

4. The one or more non-transitory computer readable media of claim 1 , storing computer executable instructions that, when executed, cause the system to perform the simulation by:

causing a worker of the plurality of workers to be authoritative over the interest component of the entity of the plurality of entities.

5. The one or more non-transitory computer readable media of claim 4 , storing computer executable instructions that, when executed, cause the system to perform the simulation by:

based on an entity-component authority of the worker and the interest component, modifying an interest set of the worker to include the query subscription to the one or more entity databases.

6. The one or more non-transitory computer readable media of claim 4 , storing computer executable instructions that, when executed, cause the system to perform the simulation by:

causing a second worker of the plurality of workers to be authoritative over a different component of the entity of the plurality of entities; and

subscribing, by a bridge of the plurality of bridges and assigned to the second worker authoritative over the different component of the entity, to the query subscription.

7. The one or more non-transitory computer readable media of claim 6 , storing computer executable instructions that, when executed, cause the system to perform the simulation by:

sending, by the bridge and to the second worker authoritative over the different component of the entity, updates to the one or more entity databases and corresponding to the query subscription.

8. The one or more non-transitory computer readable media of claim 1 , storing computer executable instructions that, when executed, cause the system to perform the simulation by:

modifying the interest component to indicate an updated query subscription to the one or more entity databases.

9. The one or more non-transitory computer readable media of claim 1 , wherein the plurality of sub-queries comprise:

a first sub-query comprising a first frequency for receiving, from the one or more entity databases, updates for the first sub-query, and

a second sub-query comprising a second frequency for receiving, from the one or more entity databases, updates for the second sub-query, and

wherein the second frequency is lower than the first frequency.

10. The one or more non-transitory computer readable media of claim 1 , wherein the interest component indicates a spatial element based on one or more of a position of the entity of the plurality of entities or a position of a different entity of the plurality of entities.

11. The one or more non-transitory computer readable media of claim 1 , wherein the interest component is based on one or more of a property of another component associated with the entity of the plurality of entities or a property of a component associated with a different entity of the plurality of entities.

12. The one or more non-transitory computer readable media of claim 1 , wherein the plurality of sub-queries comprise:

a first sub-query comprising:

a first frequency for receiving, from the one or more entity databases, updates for the first sub-query, and

a first component value comprising a first spatial element associated with the first frequency; and

a second sub-query comprising:

a second frequency for receiving, from the one or more entity databases, updates for the second sub-query, and

a second component value comprising a second spatial element associated with the second frequency.

13. The one or more non-transitory computer readable media of claim 1 , wherein the component value is related to at least one of a position, a type, or a characteristic of the another entity.

14. An apparatus comprising:

one or more computer processor controlling some operations of the apparatus; and

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

simulate a plurality of entities on a plurality of workers, wherein each entity of the plurality of entities comprises one or more components;

run, on one or more machines, a plurality of bridges, wherein the plurality of bridges are configured to facilitate data communications between the plurality of workers and one or more entity databases;

assign each worker of the plurality of workers to a different bridge of the plurality of bridges; and

modify an entity of the plurality of entities to include an interest component, wherein the interest component indicates, for each component in the one or more components of the entity, a query subscription to the one or more entity databases,

wherein the query subscription comprises a boolean combination or union of a plurality of sub-queries, each subquery of the plurality of sub-queries comprising:

a component value that qualifies another entity for inclusion in a query result for the each sub-query, and

a frequency for receiving, from the one or more entity databases, updates for the each sub-query.

15. The apparatus of claim 14 , wherein modifying the entity to include the interest component is performed at a time corresponding to a time that the entity is created.

16. The apparatus of claim 14 , wherein the memory stores computer-executable instructions that, when executed by the one or more computer processor, cause the apparatus to:

during runtime of a simulation, receive a request to update one or more of the query subscription or a frequency for receiving updates for a sub-query; and

based on receiving the request, update the interest component to indicate one or more of an updated query subscription or an updated frequency.

17. The apparatus of claim 14 , wherein the plurality of sub-queries comprise:

a first sub-query comprising a first frequency for receiving, from the one or more entity databases, updates for the first sub-query, and

a second sub-query comprising a second frequency for receiving, from the one or more entity databases, updates for the second sub-query, and

wherein the second frequency is lower than the first frequency.

18. The apparatus of claim 14 , wherein the component value is related to at least one of a position, a type, or a characteristic of the another entity.

19. A method for performing a simulation, wherein the method comprises:

simulating a plurality of entities on a plurality of workers, wherein each entity of the plurality of entities comprises one or more components;

running, on one or more machines, a plurality of bridges, wherein the plurality of bridges are configured to facilitate data communications between the plurality of workers and one or more entity databases;

assigning each worker of the plurality of workers to a different bridge of the plurality of bridges; and

modifying an entity of the plurality of entities to include an interest component, wherein the interest component indicates, for each component in the one or more components of the entity, a query subscription to the one or more entity databases,

wherein the query subscription comprises a boolean combination or union of a plurality of sub-queries, each subquery of the plurality of sub-queries comprising:

a component value that qualifies another entity for inclusion in a query result for the each sub-query, and

a frequency for receiving, from the one or more entity databases, updates for the each sub-query.

20. The method of claim 19 , further comprising:

causing a worker of the plurality of workers to be authoritative over the interest component of the entity of the plurality of entities.

21. The method of claim 20 , further comprising:

based on an entity-component authority of the worker and the interest component, modifying an interest set of the worker to include the query subscription to the one or more entity databases and a frequency for receiving updates for a sub-query.

22. The method of claim 20 , further comprising:

causing a second worker of the plurality of workers to be authoritative over a different component of the entity of the plurality of entities; and

subscribing, by a bridge of the plurality of bridges and assigned to the second worker authoritative over the different component of the entity, to the query subscription.

23. The method of claim 19 , wherein the component value is related to at least one of a position, a type, or a characteristic of the another entity.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 5, 2018
From: HARKNESS, JENNIFER; STRNISA, ROK
To: IMPROBABLE WORLDS LTD
Reel/Frame 047080/0112 →
Continuity (5)
Continuation In Part 16054038 · Aug 3, 2018
Continuation In Part 16008125 · Jun 14, 2018
Continuation 15361874 · Nov 28, 2016
Provisional Application 62378715 · Aug 24, 2016
Related Publication 20190018915A1 · Jan 17, 2019