Simulation systems using inverse interest
Abstract
A system, method and product for an interest-based distributed simulation system. A system comprising: multiple servers, wherein a component-server deployment defines which server is tasked with processing each component of a simulation; a database for storing values of components and delivering the values or portion thereof to servers based on interest definitions. A server of the multiple servers is authoritative over a target component of the plurality of components of the simulation. The server is configured to determine an inverse interest list for the target component, wherein the inverse interest list identifies all components interested in the target component according to the interest definitions. The server selectively transmits updates of the target component to the database based on the inverse interest list and based on the component-server deployment.
Claims
exact text as granted — not AI-modifiedWhat is claimed is:
1 . A simulation system for performing a simulation of a simulated world, wherein the simulation is performed by simulating values of a plurality of components representing a state of the simulated world, the system comprising:
multiple servers, wherein a component-server deployment defines which server is authoritative over each component of the simulation and is tasked to compute a value thereof; wherein a server of the multiple servers is authoritative over a target component of the plurality of components of the simulation, wherein said server is configured to determine an inverse interest list for the target component, wherein the inverse interest list identifies all components interested in the target component according to interest definitions, wherein the interest definitions establish which values are needed by which components for processing by a respective server that is tasked with computing values thereof; and wherein said server of the multiple servers is configured to selectively transmit updates of the target component based on the inverse interest list and based on the component-server deployment, wherein said server of the multiple servers is configured to selectively transmit the updates of the target component by avoiding transmitting updates of the target component in case there is no other server that is tasked with a component appearing in the inverse interest list.
2 . The simulation system of claim 1 , wherein said server of the multiple servers is configured to determine a send frequency for the target component according to update frequencies of one or more components in the inverse interest list, whereby avoiding to provide an immediate update for each modification of the target component.
3 . The simulation system of claim 2 , wherein said server of the multiple servers is configured to set a periodic update determination based on the send frequency, whereby said server is configured to periodically transmit an update of the target component that was not previously transmitted.
4 . The simulation system of claim 2 , wherein the send frequency for the target component is determined based on a highest update frequency of all components in the inverse interest list over which said server is not authoritative.
5 . The simulation system of claim 4 , wherein the inverse interest list comprises at least one component over which said server is authoritative, wherein the send frequency is determined regardless of the update frequency of the at least one component.
6 . The simulation system of claim 1 , wherein the interest definitions comprise at least one interest relationship that is based on a logical relationship between entities of the simulation and irrespective of simulated physical proximity between the entities of the simulation in the simulated world.
7 . The simulation system of claim 1 , wherein the inverse interest list is pre-calculated.
8 . The simulation system of claim 1 , wherein said server is configured to provide an immediate update of a new value of the target component in response to a change in the inverse interest list.
9 . The simulation system of claim 1 , wherein said server is configured to provide an immediate update of a new value of the target component in response to a change in component-server deployment affecting the target component.
10 . A non-transitory computer readable medium retaining program instructions for implementing a method in a simulation system for performing a simulation of a simulated world, wherein the simulation is performed by simulating values of a plurality of components representing a state of the simulated world, wherein the simulation system comprising multiple servers, wherein each server of the multiple servers is tasked with processing a portion of the plurality of components of the simulation to compute a value thereof, wherein the program instructions are configured, when read, to cause a processor to perform:
processing of a target component by a server of the multiple servers, whereby setting a new value to the target component, wherein the target component is comprised by the plurality of components of the simulation; and determining, based on interest definitions of other components that are processed by other servers, to avoid providing an immediate update of the new value to a module external to said server, whereby reducing bandwidth utilization between the servers, wherein said determining is based on an inverse interest list, wherein the inverse interest list comprises an identification of components whose values are calculated based on the target component, wherein said determining is further based on a determination whether a value of any of the components in the inverse interest list is computed by another server other than the server.
11 . The non-transitory computer readable medium of claim 10 , wherein said determining to avoid providing an immediate update comprises:
determining, based on the interest definitions of the other components that are processed by other servers that computation of value of none of the other components is based on the target component; and determining to avoid providing any update to the database.
12 . The non-transitory computer readable medium of claim 10 , wherein said server of the multiple servers is configured to determine a send frequency for the target component according to update frequencies of one or more components in the inverse interest list, whereby avoiding to provide an immediate update for each modification of the target component.
13 . The non-transitory computer readable medium of claim 12 , wherein said server is configured to determine the send frequency for the target component based on a highest update frequency of all components in the inverse interest list over which said server is not authoritative.
14 . The non-transitory computer readable medium of claim 13 , wherein the inverse interest list comprises at least one component over which said server is authoritative, wherein the send frequency is determined regardless of the update frequency of the at least one component.
15 . The non-transitory computer readable medium of claim 10 , wherein the interest definitions comprise at least one interest relationship that is based on a logical relationship between entities of the simulation and irrespective of simulated physical proximity between the entities of the simulation in the simulated world.
16 . The non-transitory computer readable medium of claim 10 , wherein the inverse interest list is pre-calculated.
17 . The non-transitory computer readable medium of claim 10 , wherein said server is configured to provide an immediate update of the new value of the target component in response to a change in the inverse interest list.
18 . The non-transitory computer readable medium of claim 10 , wherein said server is configured to provide an immediate update of the new value of the target component in response to a change in component-server deployment affecting the target component.
19 . A method in a simulation system for performing a simulation of a simulated world, wherein the simulation is performed by simulating values of a plurality of components representing a state of the simulated world, wherein the simulation system comprising multiple servers, wherein each server of the multiple servers is tasked with processing a portion of the plurality of components of the simulation to compute a value thereof, wherein the method comprises:
processing of a target component by a server of the multiple servers, whereby setting a new value to the target component, wherein the target component is comprised by the plurality of components of the simulation; and determining, based on interest definitions of other components that are processed by other servers, to avoid providing an immediate update of the new value to a module external to said server, whereby reducing bandwidth utilization between the servers, wherein said determining is based on an inverse interest list, wherein the inverse interest list comprises an identification of components whose values are calculated based on the target component, wherein said determining is further based on a determination whether a value of any of the components in the inverse interest list is computed by another server other than the server.
20 . The method of claim 19 , wherein said determining to avoid providing an immediate update comprises:
determining, based on the interest definitions of the other components that are processed by other servers that computation of value of none of the other components is based on the target component; and determining to avoid providing any update to the database.Join the waitlist — get patent alerts
Track US2022121796A1 — get alerts on status changes and closely related new filings.
We store only your email — no account needed. See our privacy policy.