Live Migration for Hosted Game Sessions
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
The high cost and inefficiency of hosting large-scale online multiplayer games due to the need for significant resource capacity, which can be exacerbated by changes in demand and geographical latency issues, making it challenging for game developers to maintain optimal gaming experiences without incurring excessive expenses or disrupting gameplay.
Innovation Solution
Implementing a dynamic resource allocation system that allows for the selection and migration of resource capacity based on real-time criteria such as cost, latency, and availability, using techniques like live migration and spot market pricing to optimize resource usage and minimize interruptions during gameplay.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If significant resource capacity is purchased to host large-scale multiplayer games, then the gaming experience and service reliability are improved, but the cost increases significantly
Solution Approach 1:
The patent implements dynamic resource allocation that automatically adjusts the amount of computing resources allocated to game sessions based on real-time demand metrics including number of players, player location density, and game type. This allows the system to provide high reliability when needed while avoiding over-provisioning and excessive costs during low-demand periods.
Solution Approach 2:
The system changes resource allocation parameters dynamically by modifying the quantity of computing resources assigned to different game sessions based on calculated demand. The resource manager adjusts parameters such as CPU allocation, memory allocation, and instance scaling to match actual gaming needs, resolving the contradiction between maintaining high service reliability and avoiding excessive resource consumption.
2Adaptability or versatility
If resource capacity is obtained at one point in time, then the allocation meets current demand, but conditions may change that cause the obtained capacity to be less than optimal
Solution Approach 1:
The system performs preliminary actions by pre-warming standby resource instances before they are needed for migration. The resource manager maintains hot-standby instances that are pre-configured and ready to immediately take over game sessions, eliminating migration interruption time. This preliminary preparation ensures adaptability to changing conditions without causing gameplay disruptions.
Solution Approach 2:
The patent implements continuous resource monitoring and seamless migration mechanisms that maintain uninterrupted game service. The system continuously monitors resource performance and player distribution, automatically initiating migrations when suboptimal allocation is detected. The migration process maintains continuous useful action by keeping standby instances ready and transferring game state without interruption, thus adapting to changing conditions while preventing gameplay disruption.
3Speed
If resource instances are selected based on player location to reduce latency, then the gaming experience is improved, but the system complexity increases
Solution Approach 1:
The resource manager instance serves multiple functions: it monitors player locations, calculates optimal resource allocation, manages resource provisioning, and coordinates migrations. This universal controller consolidates complexity into a single management layer while enabling low-latency game sessions through intelligent resource placement near player clusters.
Data Source
AI summary
Live migration can be performed for a process executing on an allocated resource for an application session. During a session it might be determined that it is necessary, or would at least be advantageous, to migrate the process to different resource capacity. New capacity such as a new computing instance can be identified, and synchronized with a current instance to reflect current state information. This can include obtaining state data from a serialized file or transaction log, among other such options. The client devices on the session can be caused to connect or direct state data to the new instance, and when ready the new instance can be responsible for the process, such as by taking over as the application server for the session. Once the client devices are utilizing the new instance, the process can be terminated on the old instance and the instance destroyed or reallocated.


