Dynamic Shard Negotiation for Multi-User Simulation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current multi-user gaming systems are limited by the number of players they can support simultaneously, and existing distribution techniques struggle with handling game graphics and state management, leading to performance issues with delays and bandwidth concerns.

Innovation Solution

A system and method that dynamically create and manage shards, which are volumetric or acoustic simulation environments, allowing multiple clients to share a space with varying attributes such as dimension, shape, and content, with the server and client negotiating and rendering within and outside these shards to optimize performance based on client and server capabilities.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If centralized servers are used to manage multi-user environments, then the system can handle more players, but the server load and bandwidth requirements increase significantly

Engineering Contradiction:
Improvenumber of playersVSAvoidserver load
Core Design Contradiction:
Quantity of substanceVSDevice complexity

Solution Approach 1:

The simulation environment is divided into multiple shards (spatial partitions), each managed by a dedicated server. This segmentation distributes the player management load across multiple servers rather than concentrating it on a single centralized server, allowing the system to handle more players while maintaining manageable server loads.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system introduces a hierarchical dimension to server architecture, where shard servers manage local player groups and a master server coordinates between shards. This dimensional addition allows player capacity to scale by adding shard servers rather than increasing the capacity of individual servers.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

2Reliability

If the server communicates with all connected servers and players, then complete state management is achieved, but the number of connections and communication overhead increase

Engineering Contradiction:
Improvestate managementVSAvoidnumber of connections
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The communication network is segmented into hierarchical levels: master server communicates with shard servers, and shard servers communicate with players within their shards. This segmentation reduces the total number of direct connections required compared to a fully connected system, while maintaining reliable state management through the hierarchical communication structure.

Inventive Principle:
Principle #1Segmentation

3Quantity of substance

If dynamic sharding is implemented to allow more players, then player capacity increases, but the complexity of managing shard characteristics increases

Engineering Contradiction:
Improvenumber of playersVSAvoidshard management complexity
Core Design Contradiction:
Quantity of substanceVSDevice complexity

Solution Approach 1:

Shards are implemented as dynamic entities with negotiable characteristics (dimension, shape, location, content, rendering, control responsibilities) that can be adjusted based on player distribution and performance factors. This dynamic approach allows the system to adapt to changing player loads while maintaining manageable complexity through standardized negotiation protocols.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system manages shard complexity by allowing dynamic changes to shard parameters (dimension, shape, location, content, rendering, control responsibilities) based on performance factors and player distribution. These parameter changes enable flexible player capacity management while maintaining systematic control through defined negotiation mechanisms between servers and clients.

Inventive Principle:
Principle #35Parameter changes

4Reliability

If the server sends routine updates to all clients, then state synchronization is maintained, but bandwidth consumption and delay increase

Engineering Contradiction:
Improvestate synchronizationVSAvoidbandwidth consumption
Core Design Contradiction:
ReliabilityVSLoss of energy

Solution Approach 1:

State synchronization is segmented at the shard level rather than being broadcast to all clients globally. Each shard server manages state updates for players within its shard, reducing the total bandwidth consumption compared to universal broadcasts while maintaining synchronization reliability through localized update management.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS20240325884A1Systems and methods for managing a multi-user environment
Publication Date: 2024.10.03 LIT8 SAS
  • US20240325884A1 patent drawing
  • US20240325884A1 patent drawing
  • US20240325884A1 patent drawing

AI summary

A system and method for managing a multi-user environment is disclosed. The system is configured to assign at least one server for each client device. The system enables to create at least shard for each user by at least one of the client devices and the server. Each shard encapsulates one or more volumetric spaces and forms at least a portion of the simulation environment. The system is configured to create a finite number of shards for every given area at any given moment. The shards are dynamically selected or created through negotiations between the client device and the server at real time. The shard design (volume and content) is dynamically configured to provide best experience for the client device at the simulation environment.