Shared Memory Pool for Game Server Resource Data

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In online game server systems, the same logical data is repeatedly loaded into physical memory by multiple scene servers, leading to a waste of memory resources and reduced utilization of physical machines due to independent data processing.

Innovation Solution

A resource loading server creates a shared memory to store and share the same logical data needed by multiple scene servers, eliminating the need for each server to load and occupy separate physical memory spaces.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If each scene server loads logical data independently from magnetic disk to physical memory, then each scene server can access its needed data, but the same logical data is repeatedly loaded and multiple physical memories are occupied, causing huge waste of physical memories

Engineering Contradiction:
Improvedata accessibilityVSAvoidphysical memory usage
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The patent merges the memory resources of multiple scene servers by introducing a shared memory pool. Instead of each scene server having its own separate physical memory, the system combines memory resources into a shared pool that all scene servers can access. This eliminates redundant storage of the same logical data across multiple physical memories, directly resolving the contradiction between data accessibility and physical memory usage.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The shared memory pool serves multiple scene servers simultaneously, making a single memory resource universal for multiple purposes. The same physical memory space is shared across different scene servers, allowing each server to access the logical data it needs without requiring dedicated memory allocation. This multi-functionality approach resolves the waste of physical memories while maintaining data accessibility for all servers.

Inventive Principle:
Principle #6Universality (Multi-functionality)

2Ease of operation

If same logical data is loaded by each scene server from magnetic disk to respective physical memory, then each scene server has independent data access, but the utilization rate of physical machine is lowered due to repeated loading

Engineering Contradiction:
Improveindependent data accessVSAvoidphysical machine utilization rate
Core Design Contradiction:
Ease of operationVSProductivity

Solution Approach 1:

The patent combines the independent data access capabilities of multiple scene servers into a unified shared memory architecture. While maintaining the ability for each scene server to access the data it needs independently, the system merges the underlying storage into a single shared memory pool. This eliminates repeated loading operations and improves physical machine utilization rate while preserving independent data access functionality.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

Instead of physically copying the same logical data into separate memory spaces for each scene server, the system uses virtual copying through memory mapping. Each scene server gets a view of the shared memory pool as if it were its own dedicated memory, but the actual physical data exists only once in the shared pool. This virtual copying approach maintains independent data access while eliminating redundant physical storage.

Inventive Principle:
Principle #26Copying

Data Source

PatentUS10455003B2Method, server, and system for sharing resource data
Publication Date: 2019.10.22 TENCENT TECHNOLOGY (SHENZHEN) CO LTD
  • US10455003B2 patent drawing
  • US10455003B2 patent drawing
  • US10455003B2 patent drawing

AI summary

A method, a server, and a system for sharing resource data are provided. The method includes: preconfiguring a resource configuration file, reading a preset key value and an index name in the resource configuration file; requesting a memory space from an operating system according to the preset key value to create a shared memory; and loading resource data corresponding to the index name from a magnetic disk to the shared memory, and sharing the resource data with a process of each scene server on a same physical machine.