U.S. patent application number 13/593809 was filed with the patent office on 2013-05-30 for distributed server system and method for streaming game service.
This patent application is currently assigned to Electronics and Telecommunications Research Institute. The applicant listed for this patent is Su Young BAE, Chang Sik Cho, Kyoung Il Kim, Chang Joon Park. Invention is credited to Su Young BAE, Chang Sik Cho, Kyoung Il Kim, Chang Joon Park.
Application Number | 20130137511 13/593809 |
Document ID | / |
Family ID | 48467370 |
Filed Date | 2013-05-30 |
United States Patent
Application |
20130137511 |
Kind Code |
A1 |
BAE; Su Young ; et
al. |
May 30, 2013 |
DISTRIBUTED SERVER SYSTEM AND METHOD FOR STREAMING GAME SERVICE
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.
Inventors: |
BAE; Su Young; (Daejeon,
KR) ; Cho; Chang Sik; (Daejeon, KR) ; Kim;
Kyoung Il; (Seoul, KR) ; Park; Chang Joon;
(Daejeon, KR) |
|
Applicant: |
Name |
City |
State |
Country |
Type |
BAE; Su Young
Cho; Chang Sik
Kim; Kyoung Il
Park; Chang Joon |
Daejeon
Daejeon
Seoul
Daejeon |
|
KR
KR
KR
KR |
|
|
Assignee: |
Electronics and Telecommunications
Research Institute
Daejeon
KR
|
Family ID: |
48467370 |
Appl. No.: |
13/593809 |
Filed: |
August 24, 2012 |
Current U.S.
Class: |
463/29 ;
463/42 |
Current CPC
Class: |
G07F 17/3225 20130101;
A63F 13/355 20140902; A63F 2300/534 20130101; A63F 13/77 20140902;
A63F 13/358 20140902 |
Class at
Publication: |
463/29 ;
463/42 |
International
Class: |
A63F 9/24 20060101
A63F009/24 |
Foreign Application Data
Date |
Code |
Application Number |
Nov 25, 2011 |
KR |
10-2011-0124257 |
Claims
1. A game service method in a cloud game server comprising:
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 the
game to the external access server.
2. The game service method of claim 1, wherein the unique
information comprises the total number, identifiers, and passwords
of users requesting the game.
3. The game service method of claim 2, wherein the received game
list and unique information are stored in a separate storage.
4. The game service method of claim 3, further comprising:
transmitting system information to the external access server at a
certain interval after the transmitting of the Internet address to
the external access server, the system information comprising
information about a user terminal accessing the Internet
address.
5. A game service method in an external access server comprising:
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 game server supporting a
game based on the received unique information.
6. The game service method of claim 5, wherein the providing of the
Internet address comprises providing an Internet address of a cloud
game server supporting the game from among a plurality of cloud
game servers, based on the unique information received from the
user terminal and the system information received from the cloud
game server.
7. A game service method in a cloud game server comprising:
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, the video and audio being a result of the
game execution.
8. The game service method of claim 7, wherein the unique
information about the user terminal comprises at least one of a
resolution, a memory, and a CPU of the user terminal.
9. The game service method of claim 8, wherein the cloud game
server comprises an AV encoding/streaming module for encoding and
streaming the video and audio.
10. The game service method of claim 9, wherein the AV
encoding/streaming module receives the resolution information about
the user terminal and encodes the video and audio of the game to be
transmitted to the user terminal using the received resolution
information.
11. The game service method of claim 10, wherein the cloud game
server provides an Internet address of the AV encoding/streaming
module to the user terminal.
12. The game service method of claim 11, wherein the AV
encoding/streaming module encodes and then streams the result of
the game execution according to the game event received from the
user terminal.
13. The game service method of claim 9, wherein the cloud game
server selects one AV encoding/streaming module from among a
plurality of AV encoding/streaming modules using the resolution
information about the user terminal.
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 S300, the cloud game server sends a connection
request message to the external access server when the cloud game
server is driven.
[0037] In step S302, 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 S304, 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 S306, 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 S308, 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 S400, 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 S402, 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 S404, 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 S406, 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 S408, 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 S410, the cloud game server executes an audio/video
(AV) encoding/streaming module (EQS module) responsible for AV
encoding and AV streaming.
[0049] In step S412, the cloud game server delivers user terminal
resolution information to the AV encoding/streaming module.
[0050] In step S414, 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 S416, 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 S418, 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 S420, 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.
* * * * *