US2023090130A1PendingUtilityA1

Distributable and Customizable Load-Balancing of Data-Associated Computation Via Partitions and Virtual Processes

Assignee: Improbable Worlds LtdPriority: Aug 24, 2016Filed: Nov 22, 2022Published: Mar 23, 2023
Est. expiryAug 24, 2036(~10.1 yrs left)· nominal 20-yr term from priority
G06F 9/5088G06F 9/505G06F 9/5061G06F 9/541G06F 9/5083G06F 9/4856
67
PatentIndex Score
0
Cited by
0
References
0
Claims

Abstract

Methods, systems, computer-readable media, and apparatuses for determining partitions and virtual processes in a simulation are presented. A plurality of partitions of a simulated world may be determined, and each partition may correspond to a different metric for entities in the simulated world. A plurality of virtual processes for the simulated world may also be determined. The system may assign a different virtual process to each partition. An indication of the partitions may be sent to one or more partition enforcer services, and an indication of the virtual processes may be sent to a virtual process manager.

Claims

exact text as granted — not AI-modified
What is claimed is: 
     
         1 . An apparatus comprising:
 one or more processors; and   memory storing instructions that, when executed by the one or more processors, cause the apparatus to:
 assign a first virtual process to a first component of a first entity in a simulated world, based on a determination that the first component is associated with a first value of a first metric and that the first component is associated with a first value of a second metric; 
 assign a second virtual process to a second component of the first entity in the simulated world based on a determination that the second component is associated with the first value of the first metric and that the second component is associated with a second value of the second metric; and 
 send, to a partition enforcer service, indications of:
 assignment of the first virtual process to the first component, and 
 assignment of the second virtual process to the second component. 
 
   
     
     
         2 . The apparatus of  claim 1 , wherein the instructions, when executed by the one or more processors, further cause the apparatus to:
 determine a first partition for the first component;   determine a second partition for the second component;   assign the first virtual process to the first partition;   assign the second virtual process to the second partition;   send, to the partition enforcer service, indications of:
 the first partition, 
 the second partition, 
 assignment of the first virtual process to the first partition, and 
 assignment of the second virtual process to the second partition; and 
   send, to a virtual process manager, indications of the first virtual process and the second virtual process.   
     
     
         3 . The apparatus of  claim 2 , wherein at least one of the first partition or the second partition is a bounded region having a shape of at least one of a sphere, a circle, a cylinder, a box, or a rectangle. 
     
     
         4 . The apparatus of  claim 2 , wherein the instructions, when executed by the one or more processors, further cause the apparatus to:
 receive, from a configuration database, configuration data for the simulated world; and   receive, from an external services database, external data, and   wherein the instructions, when executed by the one or more processors, cause the apparatus to determine the first partition of the simulated world further based on the configuration data and the external data.   
     
     
         5 . The apparatus of  claim 1 , wherein at least one of the first metric or the second metric comprises a component type. 
     
     
         6 . The apparatus of  claim 5 , wherein the component type comprises data corresponding to at least one of a physics system or a weather system. 
     
     
         7 . The apparatus of  claim 1 , wherein the first virtual process and the second virtual process comprise a plurality of virtual workers, and wherein the instructions, when executed by the one or more processors, further cause the apparatus to:
 receive, from an external computing device, a request to replace a first virtual worker, of the plurality of virtual workers, with an external virtual worker running on the external computing device;   send, to a worker layer, a request to disconnect the first virtual worker from a bridge in a bridge layer; and   connect the external virtual worker to the bridge in the bridge layer to replace the first virtual worker.   
     
     
         8 . A non-transitory computer-readable medium storing instructions that, when executed by one or more processors, cause the one or more processors to:
 assign a first virtual process to a first component of a first entity in a simulated world based on a determination that the first component is associated with a first value of a first metric and that the first component is associated with a first value of a second metric;   assign a second virtual process to a second component of the first entity in the simulated world based on a determination that the second component is associated with the first value of the first metric and that the second component is associated with a second value of the second metric; and   send, to a partition enforcer service, indications of:
 assignment of the first virtual process to the first component, and 
 assignment of the second virtual process to the second component. 
   
     
     
         9 . The non-transitory computer-readable medium of  claim 8 , wherein the instructions, when executed by the one or more processors, further cause the one or more processors to:
 determine a first partition for the first component;   determine a second partition for the second component;   assign the first virtual process to the first partition;   assign the second virtual process to the second partition;   send, to the partition enforcer service, indications of:
 the first partition, 
 the second partition, 
 assignment of the first virtual process to the first partition, and 
 assignment of the second virtual process to the second partition; and 
   send, to a virtual process manager, indications of the first virtual process and the second virtual process.   
     
     
         10 . The non-transitory computer-readable medium of  claim 9 , wherein at least one of the first partition or the second partition is a bounded region having a shape of at least one of a sphere, a circle, a cylinder, a box, or a rectangle. 
     
     
         11 . The non-transitory computer-readable medium of  claim 9 , wherein the instructions, when executed by the one or more processors, further cause the one or more processors to:
 receive, from a configuration database, configuration data for the simulated world; and   receive, from an external services database, external data, and   wherein the instructions, when executed by the one or more processors, cause the one or more processors to determine the first partition of the simulated world further based on the configuration data and the external data.   
     
     
         12 . The non-transitory computer-readable medium of  claim 8 , wherein at least one of the first metric or the second metric comprises a component type, and wherein the component type comprises data corresponding to at least one of a physics system or a weather system. 
     
     
         13 . The non-transitory computer-readable medium of  claim 8 , wherein the first virtual process and the second virtual process comprise a plurality of virtual workers, and wherein the instructions, when executed by the one or more processors, further cause the one or more processors to:
 receive, from an external computing device, a request to replace a first virtual worker, of the plurality of virtual workers, with an external virtual worker running on the external computing device;   send, to a worker layer, a request to disconnect the first virtual worker from a bridge in a bridge layer; and   connect the external virtual worker to the bridge in the bridge layer to replace the first virtual worker.   
     
     
         14 . A method comprising:
 assigning a first virtual process to a first component of a first entity in a simulated world based on a determination that the first component is associated with a first value of a first metric and that the first component is associated with a first value of a second metric;   assigning a second virtual process to a second component of the first entity in the simulated world based on a determination that the second component is associated with the first value of the first metric and that the second component is associated with a second value of the second metric; and   sending, to a partition enforcer service, indications of:
 assignment of the first virtual process to the first component, and 
 assignment of the second virtual process to the second component. 
   
     
     
         15 . The method of  claim 14 , further comprising:
 determining a first partition for the first component;   determining a second partition for the second component;   assigning the first virtual process to the first partition;   assigning the second virtual process to the second partition;   sending, to the partition enforcer service, indications of:
 the first partition, 
 the second partition, 
 assignment of the first virtual process to the first partition, and 
 assignment of the second virtual process to the second partition; and 
   sending, to a virtual process manager, indications of the first virtual process and the second virtual process.   
     
     
         16 . The method of  claim 15 , wherein at least one of the first partition or the second partition is a bounded region having a shape of at least one of a sphere, a circle, a cylinder, a box, or a rectangle. 
     
     
         17 . The method of  claim 15 , wherein the method further comprises:
 receiving, from a configuration database, configuration data for the simulated world; and   receiving, from an external services database, external data, and   wherein the determining the first partition of the simulated world is further based on the configuration data and the external data.   
     
     
         18 . The method of  claim 15 , wherein at least one of the first metric or the second metric comprises a component type. 
     
     
         19 . The method of  claim 18 , wherein the component type comprises data corresponding to at least one of a physics system or a weather system. 
     
     
         20 . The method of  claim 14 , wherein the first virtual process and the second virtual process comprise a plurality of virtual workers, and wherein the method further comprises:
 receiving, from an external computing device, a request to replace a first virtual worker, of the plurality of virtual workers, with an external virtual worker running on the external computing device;   sending, to a worker layer, a request to disconnect the first virtual worker from a bridge in a bridge layer; and   connecting the external virtual worker to the bridge in the bridge layer to replace the first virtual worker.

Join the waitlist — get patent alerts

Track US2023090130A1 — get alerts on status changes and closely related new filings.

We store only your email — no account needed. See our privacy policy.