Search

US-20260129088-A1 - PARTITIONING LARGE-SCALE VIRTUAL ENVIRONMENTS ACROSS SERVERS

US20260129088A1US 20260129088 A1US20260129088 A1US 20260129088A1US-20260129088-A1

Abstract

Some implementations relate to methods, systems, and computer readable media for partitioning large-scale virtual environments across multiple servers. Data representing a virtual environment is received, including multiple virtual regions with associated computational and memory loads. Communication metrics between adjacent virtual regions are determined. Each virtual region is assigned to a respective server based on balancing computational and memory loads and reducing communication metrics between virtual regions assigned to different servers. The assignment of virtual regions is refined iteratively, such that virtual regions with dense interaction are grouped together on a common server to reduce inter-server communication. State data for virtual regions located at boundaries between server assignments is replicated to neighboring servers. A distributed computing infrastructure is provided for the virtual environment, configured to simulate the virtual environment based on the assignment of virtual regions to the servers.

Inventors

  • Yifan CAI
  • Linh Thi Xuan Phan
  • Andreas Haeberlen

Assignees

  • ROBLOX CORPORATION

Dates

Publication Date
20260507
Application Date
20251105

Claims (20)

  1. 1 . A computer-implemented method comprising: receiving data representing a virtual environment comprising a plurality of virtual regions, each virtual region being associated with a computational load and a memory load; determining communication metrics between adjacent virtual regions of the plurality of virtual regions, wherein avatars within two adjacent virtual regions can move directly between the two adjacent virtual regions; assigning each virtual region to a respective server of a plurality of servers, wherein the assigning is based on: balancing the computational load and memory load among the plurality of servers, and reducing communication metrics between virtual regions assigned to different servers; refining the assignment of virtual regions to servers iteratively, such that virtual regions with dense interaction are grouped together on a common server to reduce inter-server communication; replicating, based on the refined assignment, state data of virtual regions located at boundaries between server assignments to neighboring servers to enable migration of workload across servers; and providing a distributed computing infrastructure for the virtual environment using the refined assignment, the distributed computing infrastructure comprising the plurality of servers and configured to simulate the virtual environment based on the assignment of virtual regions to the respective servers.
  2. 2 . The computer-implemented method of claim 1 , wherein assigning each virtual region to the respective server is further based on predicting computational and memory loads for each virtual region based on historical telemetry data for the virtual environment.
  3. 3 . The computer-implemented method of claim 1 , wherein determining the communication metrics comprises calculating a communication frequency between adjacent virtual regions based on player interactions and proximity of avatars within each of the adjacent virtual regions.
  4. 4 . The computer-implemented method of claim 1 , wherein refining the assignment of virtual regions to servers comprises expanding one or more of the virtual regions using a greedy policy that prioritizes virtual regions with lower computational and memory loads for expansion.
  5. 5 . The computer-implemented method of claim 1 , wherein assigning the virtual regions to servers is adjusted dynamically based on avatar density in the plurality of virtual regions and server resource availability.
  6. 6 . The computer-implemented method of claim 1 , wherein each virtual region is initially assigned to a server based on local hotspots of avatar activity to enable areas to be included within a single server assignment.
  7. 7 . The computer-implemented method of claim 1 , wherein the communication metrics comprise at least one of a weighted combination of avatar handoffs, chat messages, and shared object interactions between adjacent virtual regions.
  8. 8 . The computer-implemented method of claim 1 , wherein refining the assignment of virtual regions to servers comprises performing iterative adjustments using graph partitioning techniques that penalize high inter-region communication cost and reward balanced server utilization.
  9. 9 . The computer-implemented method of claim 1 , wherein replicating state data comprises selectively duplicating dynamic entity data, excluding static terrain or environmental assets.
  10. 10 . The computer-implemented method of claim 1 , wherein providing the distributed computing infrastructure comprises monitoring server performance metrics and triggering re-assignment of virtual regions based on threshold breaches in latency or resource consumption.
  11. 11 . A system comprising: one or more processors; and memory coupled to the one or more processors with instructions stored thereon that, when executed by the one or more processors, cause the one or more processors to perform or control performance of operations comprising: receiving data representing a virtual environment comprising a plurality of virtual regions, each virtual region being associated with a computational load and a memory load; determining communication metrics between adjacent virtual regions of the plurality of virtual regions, wherein avatars within two adjacent virtual regions can move directly between the two adjacent virtual regions; assigning each virtual region to a respective server of a plurality of servers, wherein the assigning is based on: balancing the computational load and memory load among the plurality of servers, and reducing communication metrics between virtual regions assigned to different servers; refining the assignment of virtual regions to servers iteratively, such that virtual regions with dense interaction are grouped together on a common server to reduce inter-server communication; replicating, based on the refined assignment, state data of virtual regions located at boundaries between server assignments to neighboring servers to enable migration of workload across servers; and providing a distributed computing infrastructure for the virtual environment using the refined assignment, the distributed computing infrastructure comprising the plurality of servers and configured to simulate the virtual environment based on the assignment of virtual regions to the respective servers.
  12. 12 . The system of claim 11 , wherein assigning each virtual region to the respective server is further based on predicting computational and memory loads for each virtual region based on historical telemetry data for the virtual environment.
  13. 13 . The system of claim 11 , wherein determining the communication metrics comprises calculating a communication frequency between adjacent virtual regions based on player interactions and proximity of avatars within each of the adjacent virtual regions.
  14. 14 . The system of claim 11 , wherein refining the assignment of virtual regions to servers comprises expanding one or more of the virtual regions using a greedy policy that prioritizes virtual regions with lower computational and memory loads for expansion.
  15. 15 . The system of claim 11 , wherein assigning the virtual regions to servers is adjusted dynamically based on avatar density in the plurality of virtual regions and server resource availability.
  16. 16 . A non-transitory computer-readable medium with instructions stored thereon that, when executed by a processor, cause the processor to perform or control performance of operations comprising: receiving data representing a virtual environment comprising a plurality of virtual regions, each virtual region being associated with a computational load and a memory load; determining communication metrics between adjacent virtual regions of the plurality of virtual regions, wherein avatars within two adjacent virtual regions can move directly between the two adjacent virtual regions; assigning each virtual region to a respective server of a plurality of servers, wherein the assigning is based on: balancing the computational load and memory load among the plurality of servers, and reducing communication metrics between virtual regions assigned to different servers; refining the assignment of virtual regions to servers iteratively, such that virtual regions with dense interaction are grouped together on a common server to reduce inter-server communication; replicating, based on the refined assignment, state data of virtual regions located at boundaries between server assignments to neighboring servers to enable migration of workload across servers; and providing a distributed computing infrastructure for the virtual environment using the refined assignment, the distributed computing infrastructure comprising the plurality of servers and configured to simulate the virtual environment based on the assignment of virtual regions to the respective servers.
  17. 17 . The non-transitory computer-readable medium of claim 16 , wherein assigning each virtual region to the respective server is further based on predicting computational and memory loads for each virtual region based on historical telemetry data for the virtual environment.
  18. 18 . The non-transitory computer-readable medium of claim 16 , wherein determining the communication metrics comprises calculating a communication frequency between adjacent virtual regions based on player interactions and proximity of avatars within each of the adjacent virtual regions.
  19. 19 . The non-transitory computer-readable medium of claim 16 , wherein refining the assignment of virtual regions to servers comprises expanding one or more of the virtual regions using a greedy policy that prioritizes virtual regions with lower computational and memory loads for expansion.
  20. 20 . The non-transitory computer-readable medium of claim 16 , wherein assigning the virtual regions to servers is adjusted dynamically based on avatar density in the plurality of virtual regions and server resource availability.

Description

CROSS-REFERENCE TO RELATED APPLICATIONS This application claims priority under 35 U.S.C. § 119(e) to U.S. Provisional Patent Application No. 63/716,650, filed November 5, 2024, and titled “PARTITIONING LARGE-SCALE VIRTUAL ENVIRONMENTS ACROSS SERVERS,” the entire contents of which are incorporated by reference herein. TECHNICAL FIELD This document relates generally to distributed virtual environments, and more particularly but not exclusively, relates to methods, systems, and computer-readable media to partition large-scale virtual environments across multiple servers. BACKGROUND The development of distributed virtual environments, for example in large-scale gaming, has brought numerous challenges related to scalability, resource management, and user experience. With the rise of multiplayer gaming, it has become increasingly important to support hundreds or thousands of concurrent players within the same virtual experience. Traditional server architectures struggle to handle the computational demands of the environments, resulting in latency issues, bottlenecks, and an inconsistent gaming experience. The problem becomes even more pronounced in scenarios where players congregate in specific areas, leading to an uneven distribution of computational load across servers. Current methods for distributing the computational load of virtual environments involve static partitioning, wherein different sections of the game world are assigned to specific servers. Although static partitioning can initially balance the workload, it fails to adapt to the dynamic nature of player interactions (interactions between avatars associated with different players, where the avatars are in the virtual environment)) and movement within the virtual space. Players (e.g., avatars associated with players) tend to move unpredictably, and high concentrations in areas can quickly overwhelm the servers responsible for those virtual regions. As a result, performance degrades, with increased lag and reduced responsiveness, which severely affects the quality of the gaming experience. For example, a virtual environment may be divided into three partitions, each managed by a separate server. Each server is responsible for computing and rendering its assigned portion of the map, in order to reduce computational load and improve scalability. The approach has significant limitations that prevent it from being an advantageous solution. The approach attempts to support load balancing of computation and memory across servers, which increases utilization and aims to make better use of available resources, resulting in higher performance and/or reduced costs. Each server is assigned a subset of the virtual environment, so that no single server becomes a bottleneck due to uneven load distribution. The approach leads to suboptimal partitioning, where some servers may still become overloaded due to unanticipated player density or behavior. While maintaining timing guarantees for quality of service (QoS) is an important objective, especially in multiplayer environments where latency directly impacts user experience, the partitioning approach struggles with minimizing (or otherwise reducing) communication latency between servers. This can result in poor synchronization and reduced responsiveness for users interacting within the virtual environment, such as when players move across partition boundaries managed by different servers. Some approaches employ dynamic load balancing techniques to adjust the allocation of resources across servers. The approaches, while an improvement over static partitioning, still face significant limitations. Dynamic load balancing techniques are reactive rather than proactive, redistributing load after performance has begun to degrade. Such reactive strategies insufficiently address temporary disruptions or latency spikes, leading to a poor user experience. Furthermore, the approaches frequently lack fine-grained control over player interactions across partition boundaries, leading to additional latency when players cross from one server's domain to another. Another shortcoming in existing solutions is the inefficient handling of communication across server partitions. When adjacent virtual regions are assigned to different servers, the inter-server communication overhead can become a bottleneck, such as in areas of the virtual environment with high player density and frequent interactions. Traditional graph partitioning techniques used to divide the virtual space fail to account for the unique characteristics of gaming workloads, such as high-density hotspots and rapidly shifting user (e.g., player) behaviors. This can lead to inefficient partition boundaries that increase the number of cross-server communications, degrading performance and involving frequent adjustments to maintain service quality. The background description provided herein is for the purpose of presenting the context of the disclosure. Work of the presently nam