Patent Publication Number: US-2007117631-A1

Title: Intelligent distributed server system and method for operating the same

Description:
BACKGROUND OF THE INVENTION  
      1. Field of the Invention  
      The present invention relates to an on-line game server technique supporting large-scale users, and more particularly, to a flexible and intelligent distributed server system capable of effectively distributing large-scale users and a method for operating the same.  
      2. Description of the Related Art  
      Online games refer to video games that network-connected users recognize and interact with each other in a virtual space provided from a server. The online game provides game environment as a function, and includes a game server that processes an actual game contents in a background and a client that provides a user interface. Since the online game server is required to process a plurality of clients, stability and processing performance are very important. Additionally, the value of the online game server depends on how to overcome a game environment with simultaneous processes of the clients and contents limitation. On the other hand, since online game clients directly provide interfaces to the users, game elements such as graphics, sound, convenience, operability, etc. are very important.  
      Until now, online game servers have obtained stability using conventional developing procedures, and have not attempted new technical methods. The conventional methods deal with a tremendous increase of users by processing game users in an independent group unit through a plurality of channels and a division of a server group, and do not deal with users technically. Additionally, when users are concentrated on a specific group, the server reaches the processing limit and the service failure occurs. To deal with this situation, a maximum allowance for users to each group needs to be set or an artificial user distribution method needs to be utilized. However, game server settings with this kind of solutions provide temporary actions about problematic situation with a limited rule of a conventional method rather than a fundamental solution for the problematic situation using development and application of new techniques.  
      Breaking from the conventional and limited game server setting, seamless processing techniques are under development to seamlessly provide a distributed process in a massive game space. These techniques allow large-scale users to play games in an unrestricted and identical space, and the number of users allowed for one space increases drastically when compared with a conventional method. Stability deterioration of the system needs to be overcome, which is caused by the processing complexity of a seamless game space, the complexity increase of a game server system establishment, and the partial space concentration of users.  
      Since the online game server plays an important role in performing the game, reliability is highly required. In an aspect of providing a realistic game environment, the online game server needs to be a high-performance application providing a fast process and response about a user request. Additionally, in an aspect of processing unlimited large-scale users simultaneously, expandability with high flexibility and efficiency is required.  
      However, due to the difficulty of providing a realistic game environment, the conventional online game server utilizes a method dividing a game world into fixed area and processing the result. At this point, when adjacent users are connected to a different server, interplay is almost impossible. Although these game servers are intuitive and simple, stability and response time of the game drastically decrease when users are concentrated in a partial area. Therefore, expandability and efficiency deteriorates because more than the predetermined number of users cannot be processed.  
     SUMMARY OF THE INVENTION  
      Accordingly, the present invention is directed to an intelligent distributed server system and a method for operating the same, which substantially obviates one or more problems due to limitations and disadvantages of the related art.  
      It is an object of the present invention to provide an intelligent distributed server system providing a smooth interaction between users and objects, which are distributed and processed, through a smooth and distributed process of a large-scale game space and a message delivery between servers, which are processed asynchronously, and a method for operating the same. Moreover, the intelligent distributed server system obtains high expandability, high performance, and stability by using a dynamic load balancing technique that optimizes the server according to a situation during a game service, and also an interaction technique between servers is applied thereto. Thus, a game realism can be improved in viewpoints of users.  
      The technical objects of the present invention may be largely divided into several categories.  
      First, an online game server system of  FIG. 1  is constituted, which can be adjusted in real time when executing a processing area of a server. The game server includes six parts such as a world server  1 , a login server  2 , zone servers  3 , gateway servers  4 , users  5 , and a database  6 . In game server components, components can be easily added, and the number of components to be added is not limited actually except for the world server  1 . Additionally, when an independently existing world server is added, a proposed system is separately constituted and then added to the world server. Thus, there is no limitation to add the world server  1 . The game server system configuration of  FIG. 1  can be generally applied to the online game based on a virtual space, and large-scale users can be easily processed because of this kind of expandability.  
      Second, flexibility, stability, and processing performance of the game server are improved using characteristics of the gateway server  4 , which is the component of the game server system. Referring to the game server system configuration in  FIG. 1 , the gateway server  4  is located between the login server  2 , which performs logins of users and actual games process, and the zone server  3 . In theses characteristics of the gateway server  4 , a user request is flexible to deliver the request to an appropriate server depending on a situation. Additionally, when information is delivered to users, the gateway server  4  is responsible for processing a network. Thus, distribution of functional components and improvement of processing speed are improved in the game server. Moreover, through the flexible process, when the server to which a user is connected is changed, inefficient and complex problems of reconnection and reauthentication can be reduced. Additionally, network security of the game servers can be enhanced by separating an outer network between a user and the gateway server  4  from an inner server between the game servers.  
      Third, an effective space division policy is suggested with reference to an area of interest of users in the online game of large-scale users. An object of the online game conventionally has its own original view, and each object manages information of other objects existing in its own view. The area of interest is formed with reference to its own view, and interactions between objects develop with other objects of the area of interest. Using theses situations, virtual space is equally divided by a radius of the area of interest, and the area of interest of a user can be four to nine division units. Especially, the applied division technique processes information, which will be shared between adjacent zone servers, and does not include adjacent division units, and improves efficiency when the present invention is realized.  
      Fourth, a zone server management technique in a world server  1  processing a massive-virtual space, a reasonable principle about processing area allocation, and an easy embodiment technique are suggested. The online game characteristics include frequent interactions between adjacent objects, and burden of interactions generated in a boundary area between other zone servers is very influential. Considering theses situation, an optimized boundary division technique is developed and applied, which maintains boundary between the zone servers as a straight line. Additionally, since the zone server management technique is applied to the world server through a quadtree change, the most effective management technique is suggested, which meets the optimized boundary division requirements. By applying theses essential elements, an effective management, an easy processing area allocation, and harmony can be obtained with respect to the zone server  3  processing the massive-virtual space.  
      Fifth, although belonging to a different zone server, seamless world is constituted by applying a distributed processing technique, which is capable of processing mutual recognitions and interactions between the adjacent distributed areas in a virtual space. The online game characteristics include a large burden in interactions between adjacent objects. When these objects exist in a different zone server, the burden of an embodiment and a process increases. Thus, interactions of the objects in the different zone server can not be supported, and the world exists in fragments and appears to be unnatural according to a processing unit. Unlike the conventional invention, the present invention provides an interaction between the zone servers  3  but only adjacent zone server areas by considering interactions of the online game mostly generated between adjacent objects. Through theses methods, the online game server can be constituted on the basis of the seamless world and also developed, which can recognize and influence characters in adjacent area and thus is realistic and immersive.  
      Sixth, a dynamic load balancing technique that equalizes load is applied by adjusting processing area in real time with respect to a load unbalance between zone servers, which is generated during a game service. Therefore, stability and efficiency of the game are enhanced, and also availability of a game server system is improved. During the online game executed in the massive space, situations in which users are concentrated on a certain area occur frequently according to circumstances. Due to these situations, a part of the server systems exceeds the load of their processing capability. Consequently, a lag phenomenon is generated because of a response time delay of the game server, and then service failure occurs. To remove threatening components, the online game server system is developed, which is capable of adjusting the processing area in real time, and a dynamic load balancing technique is applied. The present invention improves the stability of the game service by preventing problematic situation in advance. Therefore, the utilization improvement of the game server system and the efficiency of the game server increase by pursuing an equal utilization of the game server system.  
      It is to be understood that both the foregoing general description and the following detailed description of the present invention are exemplary and explanatory and are intended to provide further explanation of the invention as claimed. 
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS  
      The accompanying drawings, which are included to provide a further understanding of the invention, are incorporated in and constitute a part of this application, illustrate embodiments of the invention and together with the description serve to explain the principle of the invention. In the drawings:  
       FIG. 1  is a block diagram of a distributed game server;  
       FIG. 2  illustrates a conceptual view of a game area division;  
       FIG. 3  is an example of an optimized boundary division between servers;  
       FIG. 4  is a conceptual view of a server management;  
       FIG. 5  illustrates an actual embodiment of a game area division process;  
       FIG. 6  is a conceptual view of a method of processing a boundary area between servers;  
       FIG. 7  is a conceptual view of executing a dynamic load balancing method;  
       FIG. 8  is an example of embodying a dynamic load balancing method; and  
       FIG. 9  illustrates a result of a dynamic load balancing simulation. 
    
    
     DETAILED DESCRIPTION OF THE INVENTION  
      Reference will now be made in detail to the preferred embodiments of the present invention, examples of which are illustrated in the accompanying drawings.  
      An intelligent distributed server system includes a world server, a login server, a zone server and a gateway server. The world server estimates entire information of a game world of a massive virtual space to allocate processing areas of the following zone servers, and process mutual recognitions and interactions between the adjacent zone servers. The login server processes an authentication request of a user. The zone server processes a corresponding world that is allocated by the world server, and a user request in the zone server itself, and manages adjacent information of other zone servers adjacent to the zone server itself. The gateway server is located between the login server and the zone server, which perform user-related processes and game processes to deliver a user request to a corresponding zone server and perform network processes when information is delivered to a plurality of users.  
      On the other hand, a method of operating an intelligent distributed server system includes dividing a game world into equal cells of an x-axis and a y-axis within a radius of an area of interest, which is formed with reference to its own view in the world server, with respect to an object with its own original view in the game world of a massive virtual space, allocating the divided cells to zone servers, and adjusting a processing area of the zone server through mutual recognitions and interactions between the allocated zone servers.  
      Hereinafter, an intelligent distributed server system and a method of operating the same will be described in more detail with reference to drawings.  
       FIG. 1  is a block diagram of a distributed game server.  
      Referring to  FIG. 1 , the intelligent distributed server system includes world server  1 , login server  2 , zone server  3 , a gateway server  4 , a client  5  (hereinafter, referred to as a user), and a database  6 . Through this configuration, characteristics and functions are determined according to relationship of the position, and a flexible and efficient network configuration of the online game server system is shown, which is capable of adjusting a processing area of the server during execution.  
      The world server  1  manages and relays the connection of a plurality of login servers  2  and zone servers  3  through a network relationship and observes entire world information to allocate tuning, manage instructions, and processing area of the zone servers  3 , which are suitable to the situation.  
      The login server  2  authenticates users  5  and processes requests before an initial user  5  participates in the zone server  3 .  
      The zone server  3  processes a part of the game world that is allocated by the world server  1 . At this point, the zone server  3  mainly processes requests of users  5  in itself and manages adjacent information of other zone servers  3 , which are adjacent to the zone server  3  itself  
      The gateway server  4  relays network communication between the login server  2  and the zone server  3 , which process users  5  and game according to the position in the network, and is responsible for a flexible relay of requests of users  5  and delivery information according to status of users  5  and entire situation. Additionally, the world server  1  and the login server  2 , and the zone server  3  can be mainly responsible for broadcasting that delivers information to users  5 , and effectively functions to prevent network reconnection and reauthentication of users when the server to which users  5  belong is changed. Additionally, the gateway server  4  is mainly responsible for network processes of users  5  to allow the zone server  3  to process more areas, and also divides the network into an inner network between servers such as the world server  1 , the login server  2 , the zone server  3 , and the gate server  4  and an outer network between the gateway server  4  and users  5 .  
      The users  5  can be called as players participating the online game or user-manipulating game components. The number of the users  5  is proportional to that of game players, and also can be thousands to tens of thousands according to game properties.  
      The database  6  is called as a generally-used database management system or application with similar functions, and also connected to world server  1 , the login server  2 , and the zone server  3  using network except for the gateway server  4  connected to the outer network.  
      A method of operating the intelligent distributed server system with the above configuration will be described with reference to FIGS.  2  to  9 .  
       FIG. 2  illustrates a conceptual view of a game area division.  
      Referring to  FIG. 2 , a space division policy with reference to the area of interest of users is illustrated in the online game of large-scale users executing in the massive virtual space. Instantly necessary information is defined with reference to an original view of the online game object, and area defined by the view of the object is called the area of interest. By considering that general interactions in the game are generated in response to other objects of the area of interest, the virtual space of the game can be divided with respect to management and processes. With reference to a radius of an area of interest of a user, which is a request subject of the game, space is reconstituted with a group of cells, which is plurality of division units when the space is divided constantly according to the x-axis and the y-axis. Through these methods, the area of interest of users in the divided space is defined with four to nine cells according to the position, and processes of users activity are performed by only searching the cells in the area of interest. Thus, the process efficiency becomes higher than before. Moreover, since these cells are located adjacent to the cells that the user is in or belongs to, share and process information is limited to adjacent cells between the zone servers to constitute the seamless world. Thus, efficiency and convenience can be provided in an embodiment of the game.  
       FIG. 3  is an example of an optimized boundary division between servers.  FIG. 4  is a conceptual view of a server management.  FIG. 5  illustrates an actual embodiment of a game area division process.  
      Referring to FIGS.  3  to  5 , a zone management technique, principle and an embodiment technique about processing area, and actual application examples of the world server, which processes a massive virtual space, are illustrated. The online game has frequent interactions between adjacent objects and the processing burden of an online process is higher than that of an offline process when the interactions between objects are processed through network communication. Considering this point, burden of interactions between objects located in a boundary of other zone servers is heavier than that in the same zone server. Thus, performance improvement of entire game server is achieved by minimizing object interactions between other zone servers. Additionally, user distribution of the online game is frequently concentrated on a specific area, and a strategy is required to minimize a boundary area between zone servers when considering the difficulty in predicting and controlling the distribution. Accordingly, as illustrated in  FIG. 3 , an optimized boundary division technique is applied by maintaining the boundary of the zone server as a straight line. Moreover, since the optimized boundary division can be divided into maximum four at once, a reparative division is possible and a quadtree of transformed method is used for division area and management of zone servers as illustrated in  FIG. 4 . An actual embodiment example divides virtual space on the basis of the principle and the embodiment technique in  FIG. 5 .  
       FIG. 6  is a conceptual view of a method of processing a boundary area between servers.  
      Referring to  FIG. 6 , an embodiment method of a seamless world embodiment technique allowing the mutual recognitions and interactions to be possible is illustrated when objects in a different zone server are adjacent to each other. A brief information unit related to objects is defined as proxy to recognize and influence objects in a different server. The proxy is made of partially additional information necessary for external form information of the objects and a distributed process, and the proxy is directly used for reference about object information in a different zone server. Additionally, activities and processes that influence a data change are delivered to and processed in the zone server where the proxy exists. A proxy router responsible for delivery of a request is realized in the world server, and a proxy actor maintaining proxy information and responsible for related request delivery and process at the same time is realized in the zone server.  
       FIG. 7  is a conceptual view of executing a dynamic load balancing method.  FIG. 8  is an example of embodying a dynamic load balancing method.  FIG. 9  illustrates a result of a dynamic load balancing simulation.  
      Referring to FIGS.  7  to  9 , description and actual application example of a dynamic load balancing technique that equalizing the load by adjusting a processing area in real time with respect to load unbalancing between zone servers, which is generated during the game service, are illustrated. First,  FIG. 7  illustrates a recursive executing order of a dynamic load balancing with respect to the game world managed in a transformed quadtree as illustrated in  FIG. 4 . After load balancing of first four divisions, a dynamic load balancing is applied in an order of reparative load balancing with respect to each division area and thus an execution time becomes extremely short.  FIG. 8  illustrates a specific example on how these dynamic load balancing are sequentially processed. Here, since a change of a zone server-processing area is directly a server move of related user, it is unnecessary to calculate an optimized boundary division at the same time. Accordingly, the load balancing is performed at a point of the minimum load by estimating load values of a division reference point in current area and when one increases or one decreases in an x-axis, and one increases or one decreases in a y-axis from the reference point. When the reference point is determined to be optimal, load balancing is performed at minimum load point by estimating load values of when Δx and Δy are one increase and one decrease, respectively. At this point, a dynamic load balancing prevents inefficient execution due to the small load difference by setting a minimum critical value.  
      As described the above, when an intelligent distributed server system and a method of operating the same are used in an actual online game development, expandability of an online game server and an intelligent management capability according to a situation can be obtained, and stability of a game server and performance improvement can be achieved simultaneously. Moreover, the online game supporting a seamless world can be developed by applying distributed processing technique and management and process technique for massive game space.  
      It will be apparent to those skilled in the art that various modifications and variations can be made in the present invention. Thus, it is intended that the present invention covers the modifications and variations of this invention provided they come within the scope of the appended claims and their equivalents.