Communications interface facilitating operations of a persistent spatially-optimized computer-based simulation
First Claim
1. A method for communicating with a worker module in a spatially-optimized simulation distributed among a plurality of worker modules, wherein each worker module corresponds to a different spatial region within the spatially-optimized simulation, said method comprising:
- exposing a first Application Programming Interface (API) for adding an entity to the simulationreceiving first API data through the first API and from a process executing under a different processor thread from and on a same or different processor than the worker module, wherein the first API data comprises a first parameter indicating the entity to be added and a second parameter indicating an initial state of the entity;
responsive to receiving the first API data, adding the entity to the spatial region corresponding to the worker module;
exposing a second API for removing the entity from the simulation;
receiving second API data through the second API and from a process executing under a different processor thread from and on the same or different processor than the worker module, wherein the second API data comprises a third parameter indicating the entity to be removed;
responsive to receiving the second API data, removing the entity from the spatial region corresponding to the worker module;
exposing a third API for notifying the worker module of a change in a state of a component;
receiving third API data through the third API and from a process executing under a different processor thread from and on the same or different processor than the worker module, wherein the third API data comprises a fourth parameter indicating the entity comprising the component to be modified and a fifth parameter indicating the state of the component;
responsive to receiving the third API data, modifying the state of the component of the entity based on the fourth and fifth parameters;
exposing a fourth API for delegating authority of the component;
receiving fourth API data through the fourth API and from a process executing under a different processor thread from and on the same or different processor than the worker module, wherein the fourth API data comprises a sixth parameter indicating the entity comprising the component to be delegated and a seventh parameter indicating the component to be delegated; and
responsive to receiving the fourth API data, delegating authority for the component of the entity to the worker module.
1 Assignment
0 Petitions
Accused Products
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 embodiments, the spatially-optimized simulation may comprise a plurality of worker modules performing the simulation, a plurality of entities being simulated among the plurality of worker modules, a plurality of bridge modules facilitating communication between workers and an administrative layer including a plurality of chunk modules, at least one receptionist module, and at least one oracle module. The spatially-optimized simulation may be configured to provide a distributed, persistent, fault-tolerate and spatially-optimized simulation environment. In some embodiments, load balancing and fault tolerance may be performed using transfer scores and/or tensile energies determined among the candidates for transferring simulation entities among workers. In some embodiments, the plurality of bridge modules may expose an application programming interface (API) for communicating with the plurality of worker modules.
5 Citations
18 Claims
-
1. A method for communicating with a worker module in a spatially-optimized simulation distributed among a plurality of worker modules, wherein each worker module corresponds to a different spatial region within the spatially-optimized simulation, said method comprising:
-
exposing a first Application Programming Interface (API) for adding an entity to the simulation receiving first API data through the first API and from a process executing under a different processor thread from and on a same or different processor than the worker module, wherein the first API data comprises a first parameter indicating the entity to be added and a second parameter indicating an initial state of the entity; responsive to receiving the first API data, adding the entity to the spatial region corresponding to the worker module; exposing a second API for removing the entity from the simulation; receiving second API data through the second API and from a process executing under a different processor thread from and on the same or different processor than the worker module, wherein the second API data comprises a third parameter indicating the entity to be removed; responsive to receiving the second API data, removing the entity from the spatial region corresponding to the worker module; exposing a third API for notifying the worker module of a change in a state of a component; receiving third API data through the third API and from a process executing under a different processor thread from and on the same or different processor than the worker module, wherein the third API data comprises a fourth parameter indicating the entity comprising the component to be modified and a fifth parameter indicating the state of the component; responsive to receiving the third API data, modifying the state of the component of the entity based on the fourth and fifth parameters; exposing a fourth API for delegating authority of the component; receiving fourth API data through the fourth API and from a process executing under a different processor thread from and on the same or different processor than the worker module, wherein the fourth API data comprises a sixth parameter indicating the entity comprising the component to be delegated and a seventh parameter indicating the component to be delegated; and responsive to receiving the fourth API data, delegating authority for the component of the entity to the worker module. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A method for communicating with a worker module in a spatially-optimized simulation distributed among a plurality of worker modules, wherein each worker module corresponds to a different spatial region within the spatially-optimized simulation, said method comprising:
-
adding an entity to the spatial region of the simulation corresponding to the worker module responsive to receiving, from a process executing under a different processor thread from and on a same or different processor than the worker module, a message in accordance with a format of a first Application Programming Interface (API), and based on a first parameter of the message indicating the entity to be added and a second parameter of the message indicating an initial state of the entity; removing the entity from the spatial region of the simulation corresponding to the worker module responsive to receiving, from a process executing under a different processor thread from and on a same or different processor than the worker module, a message in accordance with a format of a second API, and based on a third parameter of the message indicating the entity to be removed; modifying a state of a component of an entity being simulated by the worker module responsive to receiving, from a process executing under a different processor thread from and on a same or different processor than the worker module, a message in accordance with a format of a third API, and based on a fourth parameter of the message indicating the entity comprising the component to be modified and a fifth parameter of the message indicating the state of the component; delegating authority of the component to the worker module responsive to receiving, from a process executing under a different processor thread from and on a same or different processor than the worker module, a message in accordance with a format of a fourth API, and based on a sixth parameter of the message indicating the entity comprising the component to be delegated and a seventh parameter of the message indicating the component to be delegated. - View Dependent Claims (8, 9, 10, 11, 12)
-
-
13. One or more non-transitory computer readable media comprising computer readable instructions which, when executed by a processor, cause a system to perform a method for communicating with a worker module of a spatially-optimized simulation distributed among a plurality of worker modules, wherein each worker module corresponds to a different spatial region within the spatially-optimized simulation, by:
-
adding an entity to the spatial region of the simulation corresponding to the worker module responsive to receiving, from a process executing under a different processor thread from and on a same or different processor than the worker module, a message in accordance with a format of a first Application Programming Interface (API), and based on a first parameter of the message indicating the entity to be added and a second parameter of the message indicating an initial state of the entity; removing the entity from the spatial region of the simulation corresponding to the worker module responsive to receiving, from a process executing under a different processor thread from and on a same or different processor than the worker module, a message in accordance with a format of a second API, and based on a third parameter of the message indicating the entity to be removed; modifying a state of a component of an entity being simulated by the worker module responsive to receiving, from a process executing under a different processor thread from and on a same or different processor than the worker module, a message in accordance with a format of a third API, and based on a fourth parameter of the message indicating the entity comprising the component to be modified and a fifth parameter of the message indicating the state of the component; delegating authority of the component to the worker module responsive to receiving, from a process executing under a different processor thread from and on a same or different processor than the worker module, a message in accordance with a format of a fourth API, and based on a sixth parameter of the message indicating the entity comprising the component to be delegated and a seventh parameter of the message indicating the component to be delegated. - View Dependent Claims (14, 15, 16, 17, 18)
-
Specification