Distributable and Customizable Load-Balancing of Data-Associated Computation Via Partitions and Virtual Processes
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-modifiedWhat 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.