Abstract:
The present disclosure relates to distributed server systems and methods for streaming game service, and in particular, to a distributed server system and method for streaming game service in which an online game is executed for multiple users in a high-performance server computer, and game screens and sounds of multiple users are delivered to client terminals of the multiple users, respectively, by using real-time encoding and streaming. For this purpose, a game service method in a cloud game server includes receiving an access request from a user terminal, receiving unique information about the user terminal, executing a game according to a game event requested by the user terminal, and encoding and transmitting video and audio according to the unique information about the user terminal, where the video and audio is a result of the game execution.

Description:
CROSS-REFERENCE TO RELATED APPLICATIONS 
       [0001]    This application is based on and claims priority from Korean Patent Application No. 10-2011-0124257, filed on Nov. 25, 2011, with the Korean Intellectual Property Office, the disclosure of which is incorporated herein in its entirety by reference. 
       TECHNICAL FIELD 
       [0002]    The present disclosure relates to distributed server systems and methods for streaming game service, and in particular, to a distributed server system and method for streaming game service in which an online game is executed for multiple users by a high-performance server computer, and a plurality of game result screens and game sounds are delivered to client terminals of the multiple users, respectively, by using real-time encoding and streaming. 
       BACKGROUND 
       [0003]    As communication technologies are rapidly developed and also wired/wireless network environments are improved, set-top boxes, smart devices, and mobile terminals have come into wide use. Terminals have gradually better hardware performance, but have difficulty in smoothly executing a variety of game contents because of limitations in the size, volume, and weight, unlike a high performance personal computer (PC). 
         [0004]    As an online game market grows every year and thus the amount of investment cost and development time have considerably increased, game contents being currently developed have the enormous amounts of rendering and data, and terminals correspondingly have better hardware performance to execute the game contents. 
         [0005]    In such an environment, users want to enjoy playing games with various terminals anywhere the Internet is accessible by cable or wireless. However, in order to install a variety of game contents developed for PCs and game consoles into the terminals, installation fees and tasks are additionally required. 
         [0006]    In particular, small and light terminals such as a mobile terminal and a smart terminal have much influence of hardware and system software, and thus have difficulties in that an installation procedure is complicated, and also an additional work is needed for the terminals even when a system environment is a little changed. 
         [0007]    However, existing online games are single-server/client based games, which require a client environment of a high-specification and significantly affect functions and performances of game services provided according to the client performance. That is, in order for a client to execute the games, hardware resources of the client, such as a processor, a memory, a storage, and a graphic card are required to have high performance. Thus, unnecessary resource consumption may be accompanied, and multiple-user support may be limited. 
       SUMMARY 
       [0008]    The present disclosure has been made in an effort to provide a distributed server system and method for streaming game service, which rejects installation of a variety of game contents or any other content requiring high performance graphic and rendering in a terminal highly dependent on a system, such as a mobile terminal and a smart terminal, and provides a variety of content in limited hardware and software environments. 
         [0009]    An exemplary embodiment of the present disclosure provides a game service method in a cloud streaming game server including: requesting an access to an external access server; receiving a game list and unique information corresponding to a user terminal requesting a game from the external access server; storing the received game list and unique information; and transmitting an Internet address accessible by the user terminal requesting a game to the external access server. 
         [0010]    Another exemplary embodiment of the present disclosure provides a game service method in an external access server including: receiving an access request from a user terminal; receiving unique information about the user terminal from the user terminal; and providing an Internet address of a cloud streaming game server supporting a game based on the received unique information. 
         [0011]    Yet another exemplary embodiment of the present disclosure provides a game service method in a cloud streaming game server including: receiving an access request from a user terminal; receiving unique information about the user terminal; executing a game according to a game event requested by the user terminal; and encoding and transmitting video and audio according to the unique information about the user terminal, where the video and audio is a result of the game execution. 
         [0012]    The server system for streaming game service according to an exemplary embodiment of the present disclosure can reduce installation fee and work required to apply an existing game, which is developed at substantial cost and effort, to a new terminal such as a mobile device, a set-top box, and a smart device and also time and effort required to update the terminal whenever the game is updated. 
         [0013]    The server system for streaming game service according to an embodiment of the present disclosure can prevent losses caused by illegal copying and downloading of the game because a terminal has only a game-execution video which may be replaced with an actual game client. 
         [0014]    In the server system for streaming game service according to an embodiment of the present disclosure, a user can enjoy desired games with various terminals anywhere the wired/wireless Internet is accessible. 
         [0015]    The foregoing summary is illustrative only and is not intended to be in any way limiting. In addition to the illustrative aspects, embodiments, and features described above, further aspects, embodiments, and features will become apparent by reference to the drawings and the following detailed description. 
     
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         [0016]      FIG. 1  is a block diagram illustrating a concept of a real-time streaming game service according to an embodiment of the present disclosure. 
           [0017]      FIG. 2  illustrates respective elements configuring the real-time streaming game service according to an embodiment of the present disclosure. 
           [0018]      FIG. 3  illustrates operations for setting an initial environment between an external access server and a cloud streaming game server according to an embodiment of the present disclosure. 
           [0019]      FIG. 4  illustrates initial operations for executing a game between an external access server, a cloud streaming game server, and a user terminal according to an embodiment of the present disclosure. 
       
    
    
     DETAILED DESCRIPTION 
       [0020]    In the following detailed description, reference is made to the accompanying drawing, which form a part hereof. The illustrative embodiments described in the detailed description, drawing, and claims are not meant to be limiting. Other embodiments may be utilized, and other changes may be made, without departing from the spirit or scope of the subject matter presented here. 
         [0021]    Hereinafter, embodiments of the present disclosure will be described in detail with reference to the accompanying drawings. Configurations, operations, and effects of the present disclosure will be clearly understood from the detailed descriptions below. 
         [0022]    It should be noted that like reference numerals refer to like elements even when they are depicted in different drawings. Detailed descriptions related to well-known functions or configurations will be ruled out in order not to unnecessarily obscure subject matters of the present disclosure. 
         [0023]      FIG. 1  is a block diagram illustrating a concept of a real-time streaming game service according to an embodiment of the present disclosure. The real-time streaming game service according to an embodiment of the present disclosure will be described below in detail with reference to  FIG. 1 . 
         [0024]    As illustrated in  FIG. 1 , the real-time streaming game service system includes a plurality of cloud game server  300 , an external access server  200 , and a plurality of user terminals  100 . It is obvious that other elements may be included in addition to the above element. 
         [0025]    The real-time streaming game service system establishes a distributed streaming game server environment as illustrated in  FIG. 1 . Under the distributed streaming game server environment, a high performance server executes a game content desired by a user, encodes and streams the executed game content in real-time, and then delivers the encoded and streamed game content to a user terminal. 
         [0026]    The user terminal  100  plays a game-execution video delivered from the server, and then delivers a user event occurring during the video play to the server. This method may have the same effect as actually executing a game, without being affected by performance and operating system of the user terminal  100 , through a game client does not need to be directly installed in the user terminal  100 . The user terminal  100  performs only simple functions such as video playback and user input transmission, thereby significantly reducing execution burden thereof. Operations of respective elements configuring the real-time streaming game service system will be described below with reference to  FIG. 2 . 
         [0027]      FIG. 2  illustrates respective elements configuring the real-time streaming game service system according to an embodiment of the present disclosure. As described above, the real-time streaming game service system includes a cloud game server  300 , an external access server  200 , and a user terminal (client)  100 . As described above, any other element may also be included in the embodiment of the present disclosure. 
         [0028]    The cloud game server  300  is responsible to execute a game desired by a user. The cloud game server  300  actually executes a game, encodes and streams the executed result in real-time, and then transmits the encoded and streamed result to the user terminal  100  being the client. That is, the cloud game server  300  executes the game according to an event delivered from the user terminal  100 , encodes the executed game result in real-time, and then provides the encoded game result to the user terminal  100 . Accordingly, the cloud game server  300  has stored information about event types and event operation methods which may be received from the user terminal  100 . 
         [0029]    The external access server  200  is a server which is first accessed by the user terminal  100  for game service. The external access server  200  checks resource usages on several cloud game servers and notifies an address of a cloud game server having the lowest resource usage to the user terminal  100  when the user terminal  100  is accessed. The external access server  200  receives a system state from the cloud game server  300  at a certain interval so as to check the resource usage on the cloud game server  300 . 
         [0030]    The user terminal  100  may include a variety of terminals such as a PC, a set-top box, a notebook, a smart terminal, a netbook, and a mobile device. A thin client platform intends to be established to provide game streaming service applicable to all the terminals. To execute a game irrespective of a terminal environment such as an operating system and performance of the user terminal  100 , the user terminal  100  receives a game-execution video from the cloud game server  300 , plays back the video, and then delivers events occurring in the user terminal  100  to the cloud game server  300  on which the game is actually being executed. That is, the user terminal  100  has only a video player and an event input unit, and the cloud game server  300  is responsible for all functions or operations associated with actual game execution. 
         [0031]    That is, the cloud game server  300  actually executes a game to be transmitted to the user terminal  100 , encodes the executed content into a video, and then transmits the video the user terminal  100  together a user interface (UI) for the game. As describe above, the cloud game server  300  transmits the UI associated with game execution to the user terminal, and transmits information about event types and game execution commands according to the manipulation of the UI. The cloud game server  300  may store information about the UI and game in a separate storage as illustrated in  FIGS. 1 and 2 . The cloud game server  300  may store the information in a storage provided in the server. 
         [0032]    As illustrated in  FIG. 1 , a plurality of user terminals may be connected to one cloud game server, and a session manager for managing an event input and streaming delivered from each user terminal may be additionally included in the cloud game server. That is, the cloud game server  300  separately manages information about the user terminal  100  connected thereto, and the event input delivered from each user terminal  100 . 
         [0033]    The cloud game server  300  stores the content of the game under agreement of the user terminal  100  when the user terminal  100  requests the end of the game That is, the cloud game server  300  may provide the stored game execution history to the user terminal  100  when the same user terminal  100  requests the execution of the same game. If the user terminal  100  accesses any other cloud game server, the cloud game server  300  provides the game history to the external access server  200 . The external access server  200  may store the provided game history, and provide the game history to the other cloud game server  300  requesting the game history. 
         [0034]    The cloud game server  300  provides the system resource usage thereof to the external access server  200  at a certain interval, and thus the external access server  200  can perform server resource distribution appropriately. 
         [0035]      FIG. 3  illustrates operations for setting an initial environment between the external access server and the cloud game server according to an embodiment of the present disclosure. The operations for setting an initial environment between the external access server and the cloud game server according to an exemplary embodiment of the present disclosure will be described below in detail with reference to  FIG. 3 . 
         [0036]    In step S 300 , the cloud game server sends a connection request message to the external access server when the cloud game server is driven. 
         [0037]    In step S 302 , the cloud game server receives messages including game information and user terminal information from the external access server when the cloud game server and the external access server are completely connected. That is, the cloud game server receives a user information notification message DSP_NOTIFY_USERINFO including the user terminal information (or user information) and a game information notification message DSP_NOTIFY_GAMEINFO including the game information from the external access server. The above messages are managed by the external access server and contain user information such as the total number, IDs, and passwords of the users, and game list information. 
         [0038]    In step S 304 , the cloud game server receives and stores the user information and the game information in a user database (DB) and a game DB, respectively. The user information and the game information may be received from the external access server or any other server according to where user authentication and game selection are performed. In the present disclosure, the user authentication and game selection are assumed to be performed in the external access server. 
         [0039]    In step S 306 , the cloud game server transmits a node URL message DSPNODE_DSPNODE_URL including a URL of the cloud game server to the external access server. The external access server utilizes this information when the external access server transmits URL information about an accessible cloud game server to a user terminal. 
         [0040]    In step S 308 , the cloud game server delivers the system information thereof to the external access server at a certain interval. The certain interval when the cloud game server transmits the system information thereof to the external access server may vary depending on a state of the cloud game server. That is, the interval of system information transmission may be extended when the number of user terminals accessing the cloud game server is small to smoothly execute a game, and the interval of system information transmission may be shortened when the number of user terminals accessing the cloud game server is large not to smoothly execute the game. In addition to this method, the cloud game server may control the interval for transmitting the system information thereof to the external access server, in various methods. 
         [0041]    The above system information is a system information notification message DSPNODE_NOTIFY_SYSINFO, which allows the external access server to allocate the user terminal appropriate cloud game server on the basis of the system information about the cloud game server. If an access error occurs due to unexpected shutdown of the external access server, the cloud game server sends a DSP connection request, instead of DSPNODE_NOTIFY_SYSINFO, to the external access server at a certain interval, thereby preparing for restart of the external access server. 
         [0042]      FIG. 4  illustrates initial operations for game execution between the external access server, the cloud streaming game server, and the user terminal according to an embodiment of the present disclosure. The initial operations for game execution between the external access server, the cloud game server, and the user terminal according to an embodiment of the present disclosure will be described below in detail with reference to  FIG. 4 . 
         [0043]    In step S 400 , the user terminal transmits a connection request message for requesting connection from the external access server so as to execute the game. 
         [0044]    In step S 402 , the user terminal transmits a device information provision message including the device information thereof to the external access server when the user terminal and the external access server are completely connected. The external access server searches for a cloud game server capable of supporting appropriate streaming service to the user terminal on the basis of the system information about the cloud game server received from the cloud game server and user terminal information. 
         [0045]    In step S 404 , the external access server delivers a node URL provision message DSPNODE_DSPNODE_URL including URL information about the selected cloud game server to the user terminal. 
         [0046]    In step S 406 , the user terminal requests an access to the cloud game server through the URL which has been received from the external access server. 
         [0047]    In step S 408 , the user terminal transmits terminal information thereof to the cloud game server when accessing the cloud game server. The user terminal information includes information about a CPU, a memory, and a resolution of a system of the user terminal, and may be used for the cloud game server to provide game service suitable for the user terminal. 
         [0048]    In step S 410 , the cloud game server executes an audio/video (AV) encoding/streaming module (EQS module) responsible for AV encoding and AV streaming. 
         [0049]    In step S 412 , the cloud game server delivers user terminal resolution information to the AV encoding/streaming module. 
         [0050]    In step S 414 , the AV encoding/streaming module is completely ready to encode and stream the game and notifies the completion to the cloud game server through an EQS module streaming ready message EQS_STREMAING_READY. 
         [0051]    In step S 416 , the cloud game server transmits a node streaming URL message DSPNODE_STREAMING_URL containing EQS module streaming URL information so that the user terminal may receive a game-execution video. 
         [0052]    In step S 418 , the user terminal confirms the URL information included in the received node streaming URL message and then access the AV encoding/streaming module. 
         [0053]    In step S 420 , the user terminal receives the selected game through streaming The streaming conforms to a streaming protocol of RTP/RTSP, etc. 
         [0054]    Although a process of performing real-time streaming game service according to an exemplary embodiment of the present disclosure has been described with reference to  FIGS. 3 and 4 , it will be understood by those of ordinary skill in the art that various changes in form and details may be made without departing from the spirit and scope of the present disclosure. 
         [0055]    From the foregoing, it will be appreciated that various embodiments of the present disclosure have been described herein for purposes of illustration, and that various modifications may be made without departing from the scope and spirit of the present disclosure. Accordingly, the various embodiments disclosed herein are not intended to be limiting, with the true scope and spirit being indicated by the following claims.