IP Library Granted Patent US 11,936,734
Granted Patent B2
US 11,936,734 · App. 18/082,146 · Granted Mar 19, 2024

Simulation systems and methods using query-based interest

Inventors: Jennifer Harkness (London, GB); Rok Strnisa (London, GB)
Assignee: Improbable Worlds Ltd
H04L67/131A63F13/35G06F9/46G06F9/5061G06F16/288G06F9/505G06F9/5083G06F16/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 11,936,734
App. No.
18/082,146
Granted
Mar 19, 2024
Kind
B2
Abstract

Methods, systems, computer-readable media, and apparatuses for query-based interest in a simulation are presented. An entity comprising one or more components may be simulated. The entity may be modified to include an interest component indicating, for each component in the one or more components of the entity, a query subscription to an entity database. The query subscription may comprise one or more queries. Each query of the one or more queries may comprise a component value that qualifies another entity for inclusion in a query result, and a frequency for receiving, from the entity database, updates on the query result.

Claims (64)

1. A non-transitory computer-readable medium storing instructions that, when executed by one or more processors, cause the one or more processors to:

simulate a first entity comprising at least a first component and a second component; and

modify the first entity to include an interest component indicating:

a first query subscription, of the first component of the first entity, to an entity database, and

a second query subscription, of the second component of the first entity, to the entity database,

wherein each of the first query subscription and the second query subscription comprises one or more queries, and

wherein each query of the one or more queries comprises a distance that qualifies a second entity whose position is within the distance to be included in a query result.

2. The non-transitory computer-readable medium of claim 1 , wherein the instructions, when executed by the one or more processors, cause the one or more processors to simulate the first entity by simulating the first entity on one or more workers, and

wherein the instructions, when executed by the one or more processors, further cause the one or more processors to:

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

assign each worker of the one or more workers to a different bridge of the plurality of bridges.

3. The non-transitory computer-readable medium of claim 1 , wherein the distance is associated with a query type comprising at least one of: a numeric range, a bounding box, a bounding sphere, a projection, or a Boolean combination.

4. The non-transitory computer-readable medium of claim 1 , wherein each query of the one or more queries comprises the distance that qualifies the second entity, whose position is within the distance from a position of a third entity, to be included in the query result.

5. The non-transitory computer-readable medium of claim 1 , wherein the one or more queries comprise:

a first query comprising a first distance from a position of the first entity, and

a second query comprising a second distance from the position of the first entity, wherein the first distance is different from the second distance.

6. The non-transitory computer-readable medium of claim 1 , wherein at least one query of the one or more queries comprises a component value that qualifies the second entity for inclusion in a query result of the at least one query.

7. The non-transitory computer-readable medium of claim 1 , wherein at least one query of the one or more queries comprises a frequency for receiving, from the entity database, updates on a query result of the at least one query.

8. A non-transitory computer-readable medium storing instructions that, when executed by one or more processors, cause the one or more processors to:

simulate a first entity comprising at least a first component and a second component; and

modify the first entity to include an interest component indicating:

a first query subscription, of the first component of the first entity, to an entity database, and

a second query subscription, of the second component of the first entity, to the entity database,

wherein each of the first query subscription and the second query subscription comprises one or more queries, and

wherein each query of the one or more queries comprises:

a component value that qualifies a second entity for inclusion in a query result, and

a frequency for receiving, from the entity database, updates on the query result.

9. The non-transitory computer-readable medium of claim 8 , wherein the instructions, when executed by the one or more processors, cause the one or more processors to simulate the first entity by simulating the first entity on one or more workers, and

wherein the instructions, when executed by the one or more processors, further cause the one or more processors to:

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

assign each worker of the one or more workers to a different bridge of the plurality of bridges.

10. The non-transitory computer-readable medium of claim 9 , wherein the instructions, when executed by the one or more processors, cause the one or more processors to simulate the first entity by:

causing a worker of the one or more workers to be authoritative over the interest component of the first entity.

11. The non-transitory computer-readable medium of claim 8 , wherein the instructions, when executed by the one or more processors, cause the one or more processors to simulate the first entity by:

while simulating the first entity, receiving a request to update the first query subscription; and

based on the received request, updating the interest component to indicate the updated first query subscription.

12. The non-transitory computer-readable medium of claim 8 , wherein the one or more queries comprise:

a first query having a first frequency for receiving, from the entity database, updates for the first query, and

a second query having a second frequency, which is different from the first frequency, for receiving, from the entity database, updates for the second query.

13. The non-transitory computer-readable medium of claim 8 , wherein the component value comprises a distance between the first entity and the second entity.

14. A simulation system comprising:

a data store configured to store data associated with a plurality of entities of a simulation; and

at least one virtual server comprising:

at least one worker process configured to:

simulate a first entity of the plurality of entities, wherein the first entity comprises at least a first component and a second component; and

modify the first entity to include an interest component indicating:

a first query subscription, of the first component of the first entity, to the data store, and

a second query subscription, of the second component of the first entity, to the data store;

a plurality of bridges configured to facilitate data communications between the at least one worker process and the data store; and

a simulation runtime configured to instantiate and manage the at least one worker process,

wherein each of the first query subscription and the second query subscription comprises one or more queries, and

wherein each query of the one or more queries comprises:

a component value that qualifies a second entity for inclusion in a query result, and

a frequency for receiving, from the data store, updates on the query result.

15. The simulation system of claim 14 , wherein the simulation runtime is further configured to assign the at least one worker process to one of the plurality of bridges.

16. The simulation system of claim 14 , wherein the at least one worker process is authoritative over the interest component of the first entity.

17. The simulation system of claim 14 , wherein the at least one worker process is configured to simulate the first entity by:

while simulating the first entity, receiving a request to update the first query subscription; and

based on the received request, updating the interest component to indicate the updated first query subscription.

18. The simulation system of claim 14 , wherein the one or more queries comprise:

a first query having a first frequency for receiving, from the data store, updates for the first query, and

a second query having a second frequency, which is different from the first frequency, for receiving, from the data store, updates for the second query.

19. The simulation system of claim 14 , wherein the component value comprises a distance between the first entity and the second entity.

20. The simulation system of claim 19 , wherein the distance is associated with a query type comprising at least one of: a numeric range, a bounding box, a bounding sphere, a projection, or a Boolean combination.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 31, 2024
From: HARKNESS, JENNIFER; STRNISA, ROK
To: IMPROBABLE WORLDS LTD
Reel/Frame 066312/0561 →
Continuity (9)
Continuation 16806608 · Mar 2, 2020
Continuation 16134372 · Sep 18, 2018
Continuation In Part 16054038 · Aug 3, 2018
Continuation In Part 16008125 · Jun 14, 2018
Continuation 15361874 · Nov 28, 2016
Continuation In Part PCTGB2017051231 · May 2, 2017
Continuation 15361874 · Nov 28, 2016
Provisional Application 62378715 · Aug 24, 2016
Related Publication 20230119908A1 · Apr 20, 2023