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 PDF

Info

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
Application number
KR1020090123949A
Other languages
Korean (ko)
Inventor
전형국
Original Assignee
한국전자통신연구원
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 한국전자통신연구원 filed Critical 한국전자통신연구원
Priority to KR1020090123949A priority Critical patent/KR20110067377A/en
Publication of KR20110067377A publication Critical patent/KR20110067377A/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1006Server 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

Method and apparatus for load balancing for game server {Method of load balancing for game server and apparatus using the same}

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 load balancing device 210 of the game server of the present invention, the game server area divider 211, game server load generator 212, game server state machine 213, load distributor 214 and Boundary load processor 215.

The game server area divider 211 serves to divide the virtual game area in the game world. Here, the game world is divided into n zones, and the zone is further divided into n cells.

The game server load generator 212 calculates a load value based on log information of a game user stored in the game server and sets a load value in a cell which is a virtual area of the game world. Since a cell can have many characters of game users, the value of a cell's load is the sum of the load values of all the characters in the cell.

The game server state machine 213 measures an allowable resource of the server based on state information of the zone server including CPU, buffers, memory, disk utilization, etc. of the zone server constituting the game world.

The load distributor 214 distributes loads of cells generated by the game server load generator 212 to each zone server based on the server state information obtained through the game server state machine 213. In addition, the load distributor 214 uses the game server load generator 212 to determine whether a new load enters the zone server, when loads in the zone server are deleted, or when one of the zone servers goes down. New load balancing is performed when the status information of zone server is changed.

The boundary load processor 215 performs a load distribution algorithm that selects and selects loads to be moved to each zone server when load balancing is performed among loads of each cell generated in each zone server through the load distributor 214. do. The result of this processing is passed back to the load distributor 214, which causes the load distributor 214 to distribute the cell loads of each zone server.

Next, a series of processes for performing load balancing for each module will be described.

As described above, the game server area divider 211 divides an area of a game world that is a game server and divides the game zone into n cells again.

The game server load generator 212 generates a load in a cell that is a virtual region of the game server. A load is a load value set in a cell, a virtual area existing in the game world. The load value is generated when the game character of the game user exists in the area of the cell. The load value is determined in consideration of the logout location and access time of the game user. The value of the load changes as the character moves, eventually changing the load of the cell.

The game server state machine 213 measures the server's allowable resources by examining the server's state information. Resources that can be measured include CPU, queue, buffer, and disk efficiency. In addition, the game server state machine 213 detects a case such as a down of the zone server and measures the state of the game server.

The load distributor 214 maintains cell load table information of each zone server.

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 load distributor 214 stores load table information including a cell index and a load value corresponding to each zone server.

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 load processor 215 selects an arbitrary load (step 510), and acquires neighbor cell information of the selected load to select a neighbor cell (step 520).

The load processor 215 then calculates the probability of movement between neighboring cells for any load (step 530) and generates a moving connection between any load and the neighboring load (step 540).

Subsequently, the load processor 215 selects any load as the boundary load when the mobile connection line of any load has a mobile connection line with a neighboring cell under the management of another zone server (step 550).

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 load processor 215. Here, the mobile server refers to a mobile server (zone server) that is most suitable for movement when each boundary load is to be moved to load balancing by using the value of the movement probability of each boundary load.

Referring to FIG. 6, the load processor 215 selects any zone server (step 610) to determine the mobile server and selects any boundary load of the selected zone server (step 620).

The load processor 215 then extracts the movement probability values with the boundary loads of other zone servers associated with the selected any boundary load and calculates the sum of the movement probability values for each server (step 630).

Subsequently, the load handler 215 is configured to select a server having the closest movement correlation when the boundary load is moved to load balancing, and the arbitrary boundary load is the sum of the movement probability values. Determine the server as a mobile server (step 640).

The load processor 215 then determines whether all boundary loads of any zone server had a mobile server (step 650), and if it did not have a mobile server for all boundary loads, then performed the selection again from step 620. do. If it is determined to have mobile servers for all boundary loads, it is determined whether mobile server determination has been completed for all zone servers (step 660), and zone server selection if mobile server determination has not been completed for all zone servers. From step 610).

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 load processor 215 for each boundary load. The neighbor load information includes a load value and an index value of a server to be moved.

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 load distributor 214 first calculates an allowable load of each zone server (step 810).

The load distributor 214 then calculates the current load of each zone server (step 820) and calculates the load ratio of each zone server (step 830).

Subsequently, the load distributor 214 selects a server having a low load ratio of the zone server with respect to the boundary load of FIG. 7 according to the load ratio of each zone server, selects as the boundary load to be moved (step 840), and moves to the selected boundary load. (Step 850).

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)

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; Selecting and generating a boundary load in consideration of a movement probability of loads distributed to each zone server; Selecting boundary loads to be moved to neighboring zone servers among the boundary loads according to the determined load balancing policy; And And performing load balancing using the boundary load to be moved to the selected zone server.
KR1020090123949A 2009-12-14 2009-12-14 Method of load balancing for game server and apparatus using the same KR20110067377A (en)

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)

* Cited by examiner, † Cited by third party
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

Cited By (2)

* Cited by examiner, † Cited by third party
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