KR20110067377A - Method of load balancing for game server and apparatus using the same - Google Patents
Method of load balancing for game server and apparatus using the same Download PDFInfo
- Publication number
- KR20110067377A KR20110067377A KR1020090123949A KR20090123949A KR20110067377A KR 20110067377 A KR20110067377 A KR 20110067377A KR 1020090123949 A KR1020090123949 A KR 1020090123949A KR 20090123949 A KR20090123949 A KR 20090123949A KR 20110067377 A KR20110067377 A KR 20110067377A
- Authority
- KR
- South Korea
- Prior art keywords
- load
- server
- zone
- game
- boundary
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1004—Server selection for load balancing
- H04L67/1006—Server selection for load balancing with static server selection, e.g. the same server being selected for a specific client
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Transfer Between Computers (AREA)
Abstract
The present invention includes the steps of recognizing a game server as one world server, dividing it into n zone servers, and dividing each zone server into n cells; Setting a load in each cell of the game server by calculating a load based on log information of each user; Calculating state information of each distributed zone server of the game server; Selecting and generating a boundary load in consideration of a movement probability of loads distributed to each zone server; Selecting a boundary load to be moved to a neighboring zone server among each boundary load by performing an algorithm according to the determined load balancing policy; And it provides a load balancing method of the game server comprising the step of performing load balancing on the basis of the performed results.
Game Server, Load Balancing
Description
The present invention is for scalable and adaptive load balancing in a game server environment such as Massive Multiplayer Online Role Playing Game (MMORPG), and performs load balancing to a game server by applying a load distribution algorithm. Afterwards, the present invention relates to a load balancing method and apparatus of a game server that performs load balancing so that the performance of centralizing and unbalancing loads generated in each server over time can be performed efficiently and at low cost.
The present invention is derived from a study conducted as part of the IT growth engine technology development project of the Ministry of Culture, Sports and Tourism [Task Management Number: 2009-S-041-01, Title: Online Game through Scenario-based Control of Large-scale Virtual Users] Quality Assurance Technology Development].
In game server environments, scalability and high availability become important issues as systems grow in size. One important function of a game server is to perform load balancing with appropriate scheduling algorithms to avoid load concentrating on specific servers (zone servers, logins, gateways) within the game server. Therefore, the selection of the appropriate load balancing algorithm has a great effect on the performance of the game server, and the problem of selecting the criteria used for load balancing becomes an important function of load distribution.
In order to perform such load balancing, conventionally proposed methods include the following techniques.
Among the methods used for load distribution scheduling, round robin scheduling is a method in which all servers are rotated equally once, and are serviced regardless of the service processing capacity of each server, so there is a disadvantage that load imbalance may occur. Considering this problem, there is a similar method to round robin scheduling, but there is a weighted round robin scheduling method that connects after weighting according to the processing capacity of the servers, and there is a minimum connection scheduling method for assigning the least number of connected users first.
In the case of load balancing using CPU load information or idle time of each server, the load balancer of the cluster system periodically monitors all server nodes. It is very important to determine the load monitoring interval and minimize the overhead accordingly. . The method of determining the system load by such dynamic load distribution may be subjective in some cases and causes additional overhead because the load monitoring program must be executed in each server node.
A game server such as an MMORPG has one world server. The world server is composed of n zone servers, and the zone server is composed of n cells. That is, the world server is composed of several distributed zone servers, and the zone server is a distributed server that manages a cell, which is a virtual area of the game world.
Each character created in the game exists in a cell, which is a virtual area of the game world, and these characters generate a load of each cell. The load of each cell eventually becomes the load that each zone server needs to handle, and the load generated on each cell varies greatly due to the characteristics of the game server. The game world existing in the game server has a concentration of regions due to the characteristics of the game. The concentration of such regions increases the load of the cells of the virtual region, and the increased load of the cells eventually causes the concentration of the load of the zone server. Therefore, there is an urgent need for a new load balancing technique that can more efficiently distribute the load of game servers.
Therefore, the present invention has been invented to solve the above-described problems, and the load balancing method and apparatus of the game server to maintain the load of each zone server existing in the game server, such as MMORPG by a new load distribution method constant The purpose is to provide.
In order to achieve the above object, a load balancing method of a game server according to the present invention includes: recognizing a game server as one world server, dividing the zone into n zone servers, and dividing the zone server into n cells; Setting a load in each cell of the game server by calculating a load based on log information of each user; Calculating state information of each distributed zone server of the game server; Selecting and generating a boundary load in consideration of a movement probability of loads distributed to each zone server; Selecting a boundary load to be moved to a neighboring zone server among each boundary load by performing an algorithm according to the determined load balancing policy; And performing load balancing based on the result.
Here, the log information of the user includes the log-in location and the out location and the game time of the game user, and the status information of the zone server includes the CPU, buffer, memory, and disk utilization of each zone server.
The selecting and generating the boundary load may include selecting an arbitrary load, obtaining neighboring cell information of the selected load, selecting a neighboring cell, and then calculating a probability of movement between neighboring cells with respect to the arbitrary load. After generating the mobile connection line between the load of the and the neighboring load, if the mobile connection line of the arbitrary load is a neighboring cell and the mobile connection line under the management of another zone server, the arbitrary load is selected as the boundary load.
In addition, selecting a boundary load to be moved to the neighboring zone server may include selecting any zone server to determine the moving server, selecting any boundary load of the selected zone server, and then selecting any boundary load selected. Extract the moving probability values from the bounded loads of other connected zone servers, obtain the sum of the moving probability values for each server, and determine the server with the largest sum of the moving probability values as the mobile server, but determine all the boundaries of any zone server. Repeat until the load has a mobile server and repeat the process for the other zone servers.
In the performing of the load balancing, the allowable load of each zone server is calculated, the current load of each zone server is calculated, the load ratio of each zone server is calculated, and then, according to the load ratio of each zone server. The load balancing process is completed by selecting a server with a low load ratio of zone servers for the boundary load, moving to this selected boundary load, and then repeating the above steps until the load ratios of all zone servers are equal. do.
Meanwhile, in order to achieve the above object, the load balancing device of the game server according to the present invention recognizes a game server as one world server, divides it into n zone servers, and divides each zone server into n cells. A server area divider; A game server load generator for calculating a load value based on log information of a game user stored in the game server and setting a load value in a cell which is a virtual area of the game server; A game server state that measures an allowable resource of the game server based on state information of the zone server constituting the game server; A load distributor for distributing loads of cells generated by the game server load generator to each zone server based on server state information obtained through the game server state machine; When load balancing is performed among loads of each cell created in each zone server through the load distributor, a load distribution algorithm for selecting and selecting loads to be moved to each zone server is performed, and the processing result is returned to the load. And a boundary load processor for delivering to the distributor so that the load distributor distributes the cell loads of each zone server.
Here, the load value of one cell is the sum of the load values of all characters existing in the cell, and the state information of the zone server includes a CPU, a buffer, a memory, and a disk utilization rate.
In addition, the load distributor performs new load balancing when a new load enters the zone server, when the loads in the zone server are deleted, or when the state information of each zone server is changed through the game server load generator.
The load distributor also maintains cell load table information of each zone server, and the cell load table information includes a cell index and a load value.
In addition, the boundary load processor selects an arbitrary load, obtains neighbor cell information of the selected load, selects a neighboring cell, and then calculates a probability of movement between neighboring cells with respect to the arbitrary load to calculate the random load and the After creating a mobile connection line between neighboring loads, if the mobile connection line of any of the loads has a mobile connection line with a neighboring cell under the management of another zone server, the arbitrary load is selected as the boundary load.
Further, the load processor selects any zone server to determine the mobile server, selects any boundary load of the selected zone server, and then moves probability value with the boundary load of another zone server associated with any selected boundary load. Extract the sum of the probability values for each server, determine the server with the largest sum of the probability values, and repeat it until all boundary loads of any zone server have the mobility server. Repeat this process for the other zone servers.
The load processor also maintains neighbor load information for each boundary load, and the neighbor load information includes a load value and an index value of a server to be moved.
In addition, the load distributor calculates the allowable load of each zone server, calculates the load ratio of each zone server after calculating the current load of each zone server, and then zones the boundary load according to the load ratio of each zone server. The load balancing process is completed by selecting a server having a low load ratio as the load to be moved, moving to the selected boundary load, and then repeating the above process until the load ratios of all zone servers are the same.
According to the present invention configured as described above, it is possible to keep the load of each zone server existing in the game server such as MMORPG by a new load distribution scheme. In addition, load balancing may be performed on the game server, and the load concentration and unbalance problems occurring on the game server may be efficiently processed over time. In addition, it is possible to solve the unbalance problem that occurs while the newly added load and the existing load is deleted in the game server.
Hereinafter, a load balancing method and apparatus for a game server according to the present invention will be described in detail with reference to the accompanying drawings.
1 is an operation flowchart illustrating a load balancing method of a game server according to the present invention.
Referring to FIG. 1, a game server is first recognized as one world server, and the world server is divided into n zone servers, and the zone server is further divided into n cells (step 110).
Then, when the area is divided as described above, the load is calculated based on the log information of each user (logout location of the game user, game time, etc.) and the load is set in each cell of the game server (step 120).
Subsequently, state information of each zone server is calculated, including CPU, buffer, memory, and disk utilization of each zone server distributed in the game server (step 130).
Thereafter, the boundary load is selected and generated in consideration of the movement probability of the load distributed to each zone server (step 140).
Subsequently, an algorithm is performed according to the determined load balancing policy to select boundary loads to be moved to neighboring servers (zone servers) among the boundary loads (step 150).
Thereafter, load balancing is performed based on the result (step 160).
2 is a block diagram showing a load balancing device of a game server according to the present invention.
2, the
The game
The game
The game
The
The
Next, a series of processes for performing load balancing for each module will be described.
As described above, the game
The game
The game
The
3 is a diagram illustrating load table information of each zone server stored in a load distributor.
Referring to FIG. 3, it can be seen that the
4 is a diagram illustrating a rod and a moving connection line of the rod held by the load processor.
In FIG. 4, the numbers represent the loads, and the solid lines and the dotted lines between the rods are referred to as mobile connection lines, and indicate the existence of a mobile probability between cells. The probability of movement is a value expressing a correlation between each cell and a cell as an arbitrary value, and represents a value of a cell for a next visit after a user visits an arbitrary cell in the game world. Therefore, the presence of a moving connection line between each rod indicates that there is a movement probability between two cells.
The meaning of the movement connection line in FIG. 4 is that each cell in the game world has a movement connection cell with respect to neighboring neighbor cells, and the movement probability between neighboring cells may be expressed by the number of movements of the character between the two cells.
In particular, a load with a dotted line is called a boundary load, and a load that has a load that belongs to another server in addition to its own server and a mobile connection line (moving probability). This load becomes the preferred load later when moving the load from one server to another during load balancing.
5 is a view illustrating a flow for generating a moving connection line of the rod according to the present invention.
Referring to FIG. 5, first, the
The
Subsequently, the
6 is a diagram illustrating a mobile server decision flow of boundary loads in accordance with the present invention.
That is, FIG. 6 illustrates a process of determining the mobile server (zone server) of each boundary load in order to perform load balancing in the
Referring to FIG. 6, the
The
Subsequently, the
The
7 is a diagram illustrating mobile server information on a boundary load according to the present invention.
FIG. 7 shows neighbor load information held by each
FIG. 8 is a flowchart illustrating a load balancing process based on mobile server information of the boundary load of FIG. 7.
Referring to FIG. 8, the load balancing process of the
The
Subsequently, the
Thereafter, it is determined whether the load ratios of all the zone servers are equal (step 860). If the load ratios of all the zone servers are not equal, the above process is repeated, and if it is the same, the load balancing process is completed.
In this case, the equal load ratio includes that the load ratio values are completely the same, but the broad concept encompasses the case where the load ratio of each zone server falls within a certain range.
As described above, according to the present invention, the load of each zone server existing in the game server such as MMORPG can be kept constant by the new load distribution method.
On the other hand, the present invention is not limited to the above specific embodiments, but can be modified and modified in various ways without departing from the gist of the present invention. If such modifications and variations are included in the appended claims, it will be apparent that they belong to the present invention.
1 is an operation flowchart illustrating a load balancing method of a game server according to the present invention.
2 is a block diagram showing a load balancing device of a game server according to the present invention.
3 is a diagram illustrating load table information of each zone server stored in a load distributor.
4 is a diagram illustrating a rod and a moving connection line of the rod held by the load processor.
5 is a view illustrating a flow for generating a moving connection line of the rod according to the present invention.
6 is a diagram illustrating a mobile server decision flow of boundary loads in accordance with the present invention.
7 is a diagram illustrating mobile server information on a boundary load according to the present invention.
FIG. 8 is a flowchart illustrating a load balancing process based on mobile server information of the boundary load of FIG. 7.
Claims (1)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020090123949A KR20110067377A (en) | 2009-12-14 | 2009-12-14 | Method of load balancing for game server and apparatus using the same |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020090123949A KR20110067377A (en) | 2009-12-14 | 2009-12-14 | Method of load balancing for game server and apparatus using the same |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20110067377A true KR20110067377A (en) | 2011-06-22 |
Family
ID=44399835
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020090123949A KR20110067377A (en) | 2009-12-14 | 2009-12-14 | Method of load balancing for game server and apparatus using the same |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR20110067377A (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101429114B1 (en) * | 2012-01-27 | 2014-08-13 | 주식회사 시큐아이 | Apparatus and method for processing packet using multiprocessr |
WO2024090960A1 (en) * | 2022-10-24 | 2024-05-02 | 삼성전자 주식회사 | Electronic device for distributing server load and method for operating same |
-
2009
- 2009-12-14 KR KR1020090123949A patent/KR20110067377A/en not_active Application Discontinuation
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101429114B1 (en) * | 2012-01-27 | 2014-08-13 | 주식회사 시큐아이 | Apparatus and method for processing packet using multiprocessr |
WO2024090960A1 (en) * | 2022-10-24 | 2024-05-02 | 삼성전자 주식회사 | Electronic device for distributing server load and method for operating same |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109857546B (en) | Multi-server mobile edge computing unloading method and device based on Lyapunov optimization | |
US20170142177A1 (en) | Method and system for network dispatching | |
Vignesh et al. | Resource management and scheduling in cloud environment | |
CN108499100B (en) | Cloud game error recovery method and system based on edge calculation | |
Han et al. | Virtual machine placement optimization in mobile cloud gaming through QoE-oriented resource competition | |
CN110474966B (en) | Method for processing cloud platform resource fragments and related equipment | |
Ma et al. | Real-time virtual machine scheduling in industry IoT network: A reinforcement learning method | |
CN104375897A (en) | Cloud computing resource scheduling method based on minimum relative load imbalance degree | |
Sharma et al. | VM consolidation for cloud data center using median based threshold approach | |
CN111131486A (en) | Load adjustment method and device of execution node, server and storage medium | |
CN106059940B (en) | A kind of flow control methods and device | |
Pattanaik et al. | Performance study of some dynamic load balancing algorithms in cloud computing environment | |
Komarasamy et al. | A novel approach for Dynamic Load Balancing with effective Bin Packing and VM Reconfiguration in cloud | |
Mahallat | ASTAW: auto-scaling threshold-based approach for web application in cloud computing environment | |
Hayat et al. | Efficient energy utilization in cloud fog environment | |
Jain et al. | Critical analysis of load balancing strategies for cloud environment | |
KR20110067377A (en) | Method of load balancing for game server and apparatus using the same | |
JP6383336B2 (en) | Server management apparatus and server management method | |
CN106411971B (en) | Load adjusting method and device | |
US20120042322A1 (en) | Hybrid Program Balancing | |
Chowdhury et al. | Clustered based VM placement strategies | |
CN109542623B (en) | Optimized deployment method of virtual system in server | |
Jiang et al. | An adaptive strategy of online session migration for Streaming Media Edge Cloud | |
Deng et al. | Dynamic resource management in cloud-based distributed virtual environments | |
Baldovino | An Overview of the Networking Issues of Cloud Gaming |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
WITN | Withdrawal due to no request for examination |