KR20060131376A - Game client system and game service providing method using the same - Google Patents

Game client system and game service providing method using the same Download PDF

Info

Publication number
KR20060131376A
KR20060131376A KR1020050051778A KR20050051778A KR20060131376A KR 20060131376 A KR20060131376 A KR 20060131376A KR 1020050051778 A KR1020050051778 A KR 1020050051778A KR 20050051778 A KR20050051778 A KR 20050051778A KR 20060131376 A KR20060131376 A KR 20060131376A
Authority
KR
South Korea
Prior art keywords
game
data
user
unit
service
Prior art date
Application number
KR1020050051778A
Other languages
Korean (ko)
Other versions
KR100840617B1 (en
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 KR1020050051778A priority Critical patent/KR100840617B1/en
Publication of KR20060131376A publication Critical patent/KR20060131376A/en
Application granted granted Critical
Publication of KR100840617B1 publication Critical patent/KR100840617B1/en

Links

Images

Classifications

    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/45Controlling the progress of the video game
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/30Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Systems or methods specially adapted for specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services

Abstract

A game client system and a game service offering method using the same are provided to remove need for replacing a game client for each game execution and offer a uniform service to a user without respect to game kinds by executing each game service with one game loader. Each game executer(200) is respectively matched with each game service and performs a unique process of the game. The game loader(300) offers the game service to the user together with the game executor by selecting and loading the game executor for the game selected from the user among the game executors, and performing the game process excluding the unique process executed in the game executor. The game executor requests game data to the game loader in case that game data is needed for offering the game service. The game loader obtains the requested game data from a game server(420) and transfers the obtained game data to the game executor. The game executor and the game loader are independently operated.

Description

게임 클라이언트 시스템 및 이를 이용하는 게임 서비스 제공 방법{GAME CLIENT SYSTEM AND GAME SERVICE PROVIDING METHOD USING THE SAME}GAME CLIENT SYSTEM AND GAME SERVICE PROVIDING METHOD USING THE SAME}

도 1은 본 발명의 제1실시예에 따른 게임 클라이언트/서버 시스템의 구성을 간략히 보여주는 구성도이다. 1 is a configuration diagram briefly showing a configuration of a game client / server system according to a first embodiment of the present invention.

도 2는 본 발명의 제1실시예에 따른 게임 실행부의 구성을 간략히 보여주는 구성도이다. 2 is a block diagram schematically showing the configuration of the game execution unit according to the first embodiment of the present invention.

도 3은 본 발명의 제1실시예에 따른 게임 로딩부의 구성을 간략히 보여주는 구성도이다. 3 is a block diagram schematically showing the configuration of a game loading unit according to the first embodiment of the present invention.

도 4는 본 발명의 제2실시예에 따른 게임 로딩부의 구성을 간략히 보여주는 구성도이다. 4 is a configuration diagram briefly showing a configuration of a game loading unit according to a second embodiment of the present invention.

도 5는 본 발명의 실시예에 따른 게임 클라이언트 시스템의 실행 화면의 한 예를 보여준다. 5 shows an example of an execution screen of a game client system according to an embodiment of the present invention.

도 6은 본 발명의 제3실시예에 따른 게임 서비스 제공 방법 중 초기 단계의 구성을 개략적으로 보여주는 순서도이다. 6 is a flowchart schematically illustrating a configuration of an initial step in the method of providing a game service according to a third embodiment of the present invention.

도 7은 본 발명의 제3실시예에 따른 게임 서비스 제공 방법 중 수행 단계 및 종료 단계의 구성을 개략적으로 보여주는 순서도이다.FIG. 7 is a flowchart schematically illustrating a configuration of an execution step and an end step of a game service providing method according to a third exemplary embodiment of the present invention.

도 8은 본 발명의 제3실시예에 따른 게임 실행부와 게임 로딩부와의 통신 루 트 설정 방법을 개략적으로 보여주는 순서도이다. 8 is a flowchart schematically illustrating a communication route setting method between a game execution unit and a game loading unit according to a third embodiment of the present invention.

도 9는 본 발명의 제4실시예에 따른 게임 서비스 제공 방법 중 데이터 매니징 방법의 구성을 개략적으로 보여주는 순서도이다.9 is a flowchart schematically illustrating a configuration of a data management method in a game service providing method according to a fourth exemplary embodiment of the present invention.

본 발명은 게임 클라이언트 시스템 및 이를 이용한 게임 서비스 제공 방법에 관한 것이다. The present invention relates to a game client system and a game service providing method using the same.

일반적으로 게임 클라이언트는 사용자 단말에 탑재되며 네트워크를 통하여 게임 서버 및 웹 서버와 연결되어, 사용자 단말상에서 해당 게임을 수행하는 역할을 한다. In general, a game client is mounted on a user terminal and connected to a game server and a web server through a network to play a game on the user terminal.

게임 클라이언트는 해당 게임의 실행을 위한 게임 실행 모듈 및 게임 서버와 통신하여 게임 데이터를 다운로드 받기 위한 통신 모듈을 포함한다. The game client includes a game execution module for executing the game and a communication module for downloading game data in communication with the game server.

게임 실행 모듈은 개발자에 따라 다양한 프로그램 언어로 다양한 개발 환경에서 작성될 수 있는데, 그렇게 작성된 게임 실행 모듈 중에는 게임 클라이언트와 게임 서버 간의 네트워크 통신을 위한 네트워크 관련 함수를 지원하지 않는 경우가 있다. 이럴 경우 종래에는 해당 게임 실행 모듈의 네트워크 통신을 위해 통신 모듈을 새로이 고안하여야 하는 번거로움이 있었다. The game execution module may be written in various development environments in various programming languages according to the developer. Some of the game execution modules may not support network-related functions for network communication between the game client and the game server. In this case, conventionally, there was a need to newly devise a communication module for network communication of the game execution module.

따라서, 게임 실행 모듈이 어떠한 프로그램 언어로 작성되거나 어떠한 개발환경에서 작성되더라도 서버와 네트워크 통신을 통해 해당 게임 서비스를 수행 할 수 있는 게임 클라이언트의 개발이 요구되고 있다. Therefore, even if a game execution module is written in any programming language or in any development environment, development of a game client capable of performing a corresponding game service through a network communication with a server is required.

또한, 종래의 게임 클라이언트는 게임 클라이언트를 개발하고자 할 때 그 특정 게임의 수행을 담당하는 게임 실행 모듈 뿐만 아니라, 통신 모듈도 함께 개발해야 하는 문제가 있다. In addition, the conventional game client has a problem in that when developing a game client, a communication module as well as a game execution module that is responsible for executing the specific game must be developed together.

그런데, 어떠한 게임 실행 모듈에도 호환 가능한 통신 모듈이 있다면, 게임 클라이언트 개발시 게임 실행 모듈만을 개발하면 되므로 유리한 효과가 있다. By the way, if there is a communication module compatible with any game execution module, it is advantageous because only the game execution module needs to be developed during game client development.

따라서, 특정 게임의 수행을 위해 개발된 게임 실행 모듈과 호환 가능한 통신 모듈을 포함하는 게임 클라이언트의 개발이 요구되고 있다. Accordingly, there is a demand for development of a game client including a communication module compatible with a game execution module developed for executing a specific game.

따라서, 상기한 문제점을 해결하기 위한 본 발명의 목적은 게임 서비스의 제공을 위한 게임 실행부와, 게임 실행부와 독립적인 프로세스로 동작하며 게임 실행부를 지원하는 게임 로딩부를 포함하는 게임 클라이언트 시스템 및 이를 이용한 게임 서비스 제공 방법을 제공하는 데 있다. Accordingly, an object of the present invention for solving the above problems is a game client system including a game execution unit for providing a game service, a game loading unit that supports the game execution unit and operates in a process independent of the game execution unit; It is to provide a game service providing method used.

상기 목적을 달성하기 위한 본 발명의 하나의 특징에 따른 게임 클라이언트 시스템은 서버와 네트워크로 연결되고, 서버와 통신하여 하나 이상의 게임 서비스를 제공하며, 게임 서비스에 각각 대응하며, 게임에 대한 고유 프로세스를 수행하는 하나 이상의 게임 실행부 및 하나 이상의 게임 실행부로부터 사용자가 선택한 게임에 대한 고유 프로세스를 수행하는 게임 실행부를 선택하여 로딩하고, 게임 실행부에서 실행되는 고유 프로세스를 제외한 게임 프로세스를 수행함으로써, 게임 실행부와 함께 사용자에게 게임 서비스를 제공하는 게임 로딩부를 포함한다. 게임 실행부는 게임 서비스 제공을 위해 소정의 게임 데이터가 필요해지는 경우 게임 로딩부에 게임 데이터를 요청한다. 게임 로딩부는 게임 실행부의 게임 데이터 요청에 응답하여 요청된 게임 데이터를 서버로부터 수득하여 게임 실행부로 전달한다. 게임 클라이언트 시스템에서 게임 실행부와 게임 로딩부는 서로 독립적으로 동작한다.Game client system according to an aspect of the present invention for achieving the above object is connected to the network with the server, and communicates with the server to provide one or more game services, respectively corresponding to the game service, and the unique process for the game By selecting and loading a game executor that performs a unique process for a game selected by the user from one or more game executors and one or more game executors to perform, and performing a game process except for the unique process executed by the game executor, It includes a game loading unit for providing a game service to the user along with the execution unit. The game executing unit requests game data from the game loading unit when predetermined game data is needed to provide a game service. The game loading unit obtains the requested game data from the server in response to the game data request of the game execution unit, and delivers the requested game data to the game execution unit. In the game client system, the game execution unit and the game loading unit operate independently of each other.

본 발명의 또 다른 특징에 따른 게임 서비스 제공 방법은 서버와 네트워크로 연결되고, 하나 이상의 게임 실행부 및 게임 로딩부를 포함하는 게임 클라이언트 시스템을 이용하여 하나 이상의 소정의 게임 서비스를 제공한다. 게임 서비스 제공 방법은 게임 로딩부와 독립적으로 동작하는 하나 이상의 게임 실행부로부터 상기 게임 로딩부가 상기 게임 서비스를 제공하는 게임 실행부를 선택하여 로딩하는 단계, 게임 실행부가 게임 서비스의 수행에 필요한 게임 데이터를 게임 로딩부에 요청하는 단계, 게임 로딩부가 게임 실행부의 요청에 응답하여 서버로부터 게임 실행부에서 요청된 게임 데이터를 수신하여 게임 실행부에 제공하는 단계, 및 게임 실행부가 게임 로딩부로부터 요청된 게임 데이터를 수신 받고, 수신 받은 요청된 게임 데이터를 이용하여 게임 서비스를 수행하는 단계를 포함한다. The game service providing method according to another aspect of the present invention provides one or more predetermined game services by using a game client system connected to a network through a server and including one or more game execution units and a game loading unit. The method of providing a game service includes selecting and loading a game executor that provides the game service from one or more game executors that operate independently from a game loader, and the game executor provides game data necessary to perform a game service. Requesting the game loading unit, the game loading unit receiving the game data requested by the game executing unit from the server in response to a request of the game executing unit and providing the game data to the game executing unit, and the game executing unit requested by the game loading unit. Receiving data, and performing a game service using the received requested game data.

이하, 도 1 내지 3을 참조하여, 본 발명의 제1실시예에 따른 게임 클라이언트 시스템에 대하여 상세히 설명한다. Hereinafter, a game client system according to a first embodiment of the present invention will be described in detail with reference to FIGS. 1 to 3.

도 1은 본 발명의 제1실시예에 따른 게임 클라이언트/서버 시스템의 구성을 간략히 보여주는 구성도이다. 1 is a configuration diagram briefly showing a configuration of a game client / server system according to a first embodiment of the present invention.

도 1 에 도시된 바와 같이, 본 발명의 제1실시예에 따른 게임 클라이언트/서버 시스템은 본 발명의 제1실시예에 따른 게임 클라이언트 시스템(100)에 네트워크를 통해 연결된 서버 시스템(400)을 포함한다. As shown in FIG. 1, the game client / server system according to the first embodiment of the present invention includes a server system 400 connected through a network to the game client system 100 according to the first embodiment of the present invention. do.

본 발명의 제1실시예에서, 서버 시스템(400)은 게임 클라이언트 시스템(100)에 소정의 게임 데이터 및/또는 사용자 정보를 제공하며, 사용자가 특정의 게임을 선택하여 실행하고자 하는 경우, 게임 클라이언트 시스템(100)에 해당 게임에 대한 게임 데이터 및/또는 사용자 정보를 제공할 수 있는 것이면 크게 제한되지 않는다. 일반적으로 서버 시스템(400)은 웹 서버(410) 및 게임 서버(420)를 포함한다.In the first embodiment of the present invention, the server system 400 provides predetermined game data and / or user information to the game client system 100, and when the user selects and executes a specific game, the game client The system 100 is not limited so long as it can provide game data and / or user information about the game. In general, server system 400 includes a web server 410 and a game server 420.

본 발명에서 '게임 데이터'는 사용자가 선택한 게임 서비스를 수행하기 위해 필요한 데이터를 의미하며, '사용자 정보'는 사용자가 선택한 게임 서비스에서 사용자가 입력하거나, 사용자가 해당 게임의 수행으로 인해 취득한 정보를 의미하며, 구체적으로 해당 게임 서비스에서의 사용자의 아이디, 패스워드, 레벨, 사용자의 게임 포인트, 사용자의 아이템, 사용자의 게임 플레이 시간, 사용자의 최종 플레이 지역 등 사용자가 해당 게임 서비스의 초기 실행을 위해 필요한 정보를 포함한다. 게임 데이터 및 사용자 정보는 각 게임 서비스에 대응하도록 서버 시스템(400)에 저장된다.In the present invention, 'game data' refers to data necessary for performing a game service selected by the user, and 'user information' refers to information inputted by the user in the game service selected by the user or acquired by the user for playing the game. Specifically, the user's ID, password, level, user's game point, user's item, user's game play time, user's final play area, etc. Contains information. Game data and user information are stored in the server system 400 to correspond to each game service.

웹 서버(410)는 네트워크를 통해 게임 클라이언트 시스템(100)과 접속하며, 접속한 사용자에게 소정의 게임 서비스를 선택하도록 하는 인터페이스 기능을 수행한다. The web server 410 connects to the game client system 100 through a network, and performs an interface function of allowing the connected user to select a predetermined game service.

게임 서버(420)는 웹서버(410)를 통해 사용자가 선택한 소정의 게임 서비스 를 사용자에게 제공하는 기능을 수행한다. The game server 420 performs a function of providing a user with a predetermined game service selected by the user through the web server 410.

본 발명의 실시예에서 서버 시스템(400)은 게임 클라이언트 시스템(100)의 요청에 의해 필요한 게임 데이터 및/또는 사용자 정보를 게임 클라이언트 시스템(100)에 제공할 수 있는 것이면 크게 제한되지 않는 바, 본 발명의 명세서에서는 서버 시스템(400)에 대한 자세한 설명은 생략한다. In the embodiment of the present invention, the server system 400 is not particularly limited as long as it can provide the game client system 100 with game data and / or user information required by the request of the game client system 100. Detailed description of the server system 400 will be omitted in the specification of the present invention.

이하, 본 발명의 제1실시예에 따른 게임 클라이언트 시스템(100)을 구체적으로 설명한다. Hereinafter, the game client system 100 according to the first embodiment of the present invention will be described in detail.

본 발명의 제1실시예에 따른 게임 클라이언트 시스템(100)은 하나 이상의 게임 실행부(200) 및 게임 로딩부(300)를 포함한다. The game client system 100 according to the first embodiment of the present invention includes at least one game execution unit 200 and a game loading unit 300.

게임 실행부(200) 및 게임 로딩부(300)는 독립적인 별도의 프로세스로 각각 동작한다. 따라서, 게임 실행부(200) 및 게임 로딩부(300)는 서로 상이한 프로그램 언어로 제작될 수 있다. The game execution unit 200 and the game loading unit 300 operate in separate and independent processes, respectively. Therefore, the game execution unit 200 and the game loading unit 300 may be produced in different program languages.

본 발명의 제1실시예에서, 게임 실행부(200)는 소정의 게임 서비스에 각각 대응하며, 대응하는 게임에 대한 고유 프로세스를 수행한다. In the first embodiment of the present invention, the game execution unit 200 respectively corresponds to a predetermined game service, and performs a unique process for the corresponding game.

본 발명의 제1실시예에서, 게임 로딩부(300)는 하나 이상의 게임 실행부(200) 중에서 사용자가 선택한 게임에 대한 고유 프로세스를 수행하는 게임 실행부(200)를 선택하여 로딩하고, 게임 실행부(200)에서 실행되는 고유 프로세스를 제외한 게임 프로세스를 수행함으로써, 게임 실행부(200)와 함께 사용자에게 게임 서비스를 제공한다. In the first embodiment of the present invention, the game loading unit 300 selects and loads the game execution unit 200 performing a unique process for the game selected by the user from one or more game execution units 200, and executes the game. The game service is provided to the user together with the game execution unit 200 by performing the game process except for the unique process executed in the unit 200.

즉, 본 발명의 제1 실시예에서는 사용자가 선택한 게임 서비스를 제공하기 위한 게임 프로세스 중, 개별 게임에 대한 고유의 프로세스는 게임 실행부(200)에서 수행하고, 고유 프로세스를 제외한 게임 프로세스는 게임 로딩부(300)에서 수행함으로써, 사용자에게 해당 게임 서비스를 제공한다. That is, in the first embodiment of the present invention, of the game process for providing the game service selected by the user, the process specific to the individual game is performed by the game execution unit 200, and the game process except for the unique process is game loading. By performing in the unit 300, the game service is provided to the user.

이하, 도 2를 참조하여 본 발명의 제1실시예에 따른 게임 실행부(200)를 구체적으로 설명한다. Hereinafter, the game execution unit 200 according to the first embodiment of the present invention will be described in detail with reference to FIG. 2.

도 2는 본 발명의 제1실시예에 따른 게임 실행부(200)의 구성을 간략히 보여주는 구성도이다. 2 is a block diagram schematically showing the configuration of the game execution unit 200 according to the first embodiment of the present invention.

게임 실행부(200)는 게임 실행 모듈(210), 프로세스 정보(220), 게임 정보(230) 및 통신 모듈(240)을 포함한다. The game execution unit 200 includes a game execution module 210, a process information 220, a game information 230, and a communication module 240.

게임 실행 모듈(210)은 해당 게임 서비스의 수행을 위한 고유 프로세스를 수행한다. 이러한 고유 프로세스는 해당 게임의 게임 로직에 따른 게임 데이터 및 사용자 정보의 처리등을 포함할 수 있다. 또한 게임 실행 모듈(210)은 해당 게임 서비스의 수행 도중에 소정의 게임 데이터 및/또는 사용자 정보가 필요해지는 경우 필요한 게임 데이터 및/또는 사용자 정보를 게임 로딩부(300)에 요청한다. The game execution module 210 performs a unique process for performing the game service. This unique process may include processing of game data and user information according to the game logic of the game. In addition, the game execution module 210 requests the game loading unit 300 for necessary game data and / or user information when predetermined game data and / or user information is needed during the execution of the corresponding game service.

프로세스 정보(220)는 게임 서비스 제공을 위한 프로세스에 대한 정보로서, 게임 로딩부(300)의 프로세스 정보(360)과 함께 통신 루트의 형성을 위해 사용된다. The process information 220 is information on a process for providing a game service, and is used for forming a communication route together with the process information 360 of the game loading unit 300.

게임 정보(230)는 게임 실행부(200)에서 제공되는 게임 서비스에대한 정보로서, 구체적으로 게임 이름등을 포함할 수 있다. 본 발명의 제1실시예에서, 복수의 게임 실행부(200) 중 선택되어 로딩된 게임 실행부(200)가 하나의 게임 로딩부 (300)와 협력하여 게임 서비스를 제공하게 되므로, 게임 실행부(200)는 게임 로딩부(300)가 인식 할 수 있는 게임 정보(230)를 포함한다. The game information 230 is information about a game service provided by the game execution unit 200, and may include a game name and the like. In the first embodiment of the present invention, since the game execution unit 200 selected and loaded from the plurality of game execution units 200 provides a game service in cooperation with one game loading unit 300, the game execution unit 200 includes game information 230 that can be recognized by the game loading unit 300.

구체적으로, 게임 정보(230)는 사용자가 특정 게임 서비스를 선택하는 경우, 게임 로딩부(300)는 게임 정보(230)를 이용하여 해당 게임에 대응하는 게임 실행부(200)를 검색한다. In detail, when the user selects a specific game service, the game loading unit 300 searches for the game execution unit 200 corresponding to the game using the game information 230.

통신 모듈(240)은 게임 로딩부(300)와의 통신 루트를 형성하고, 게임 로딩부(300)로부터 게임 데이터 및/또는 사용자 정보를 수신 받고, 게임 로딩부(300)로 게임 수행 결과를 송신한다. The communication module 240 forms a communication route with the game loading unit 300, receives game data and / or user information from the game loading unit 300, and transmits a game performance result to the game loading unit 300. .

이하, 도 3을 참조하여 본 발명의 제1실시예에 따른 게임 로딩부(300)를 구체적으로 설명한다. Hereinafter, the game loading unit 300 according to the first embodiment of the present invention will be described in detail with reference to FIG. 3.

도 3는 본 발명의 제1실시예에 따른 게임 로딩부(300)의 구성을 간략히 보여주는 구성도이다. 3 is a block diagram schematically showing the configuration of the game loading unit 300 according to the first embodiment of the present invention.

본 발명의 제1실시예에 따른 게임 로딩부(300)는 데이터 중개 모듈(310), 공통 프로세스 모듈(320), 데이터 저장 모듈(330), 사용자 데이터 베이스(340), 부가 기능 모듈(350), 프로세스 정보(360) 및 통신 모듈(370)을 포함한다. The game loading unit 300 according to the first embodiment of the present invention may include a data mediation module 310, a common process module 320, a data storage module 330, a user database 340, and an additional function module 350. , Process information 360, and communication module 370.

데이터 중개 모듈(310)은 게임 실행부(200)로부터 게임 데이터의 요청을 수신 받고, 요청된 게임 데이터를 검색하여 수득한 후 게임 실행부(200)에 전송함으로써 게임 실행부(200)의 게임 서비스 수행을 지원한다. The data mediation module 310 receives a game data request from the game execution unit 200, retrieves and obtains the requested game data, and transmits the received game data to the game execution unit 200 to transmit the game service to the game execution unit 200. Support performance.

구체적으로, 데이터 중개 모듈(310)은 게임 실행부(200)로부터 요청된 게임 데이터를 서버 시스템(400)에 요청하여 수신 받아 게임 실행부(200)에 제공한다. In detail, the data mediation module 310 requests and receives the game data requested from the game execution unit 200 to the server system 400 and provides the received game data to the game execution unit 200.

한편, 게임 실행부(200)로부터 요청되는 게임 데이터가 해당 게임의 초기 실행을 위해 필요한 최소한의 데이터인 게임 실행 데이터인 경우 데이터 중개 모듈(310)은 해당 게임 실행 데이터가 사용자 데이터 베이스(340)에 있는지 검색하고, 해당 게임 실행 데이터가 사용자 데이터 베이스(340)에 있는 경우 해당 게임 실행 데이터를 해당 게임 실행부(200)에 전송한다. 이때, 해당 게임 실행 데이터가 사용자 데이터 베이스(340)에 없는 경우 해당 게임 실행 데이터를 서버 시스템(400)에 요청한다.On the other hand, if the game data requested from the game execution unit 200 is the game execution data that is the minimum data necessary for the initial execution of the game, the data mediation module 310, the game execution data is stored in the user database 340 If the game execution data is present in the user database 340, the game execution data is transmitted to the game execution unit 200. At this time, if the game execution data is not in the user database 340, the game system data is requested to the server system 400.

공통 프로세스 모듈(320)은 해당 게임 서비스를 수행하기 위해 공통적으로 필요하나 각 게임 실행부(200)에서 제공되지 않는 프로세스들을 제공한다. 여기서, 데이터 중개 모듈(310)이 제공하는 데이터 중개 프로세스는 제외된다. 이렇게 해당 게임 서비스를 수행하기 위해 공통적으로 필요하나 각 게임 실행부(200)에서 실행되지 않는 프로세스들은 이하 '공통 프로세스'이라 한다. The common process module 320 provides processes that are commonly required to perform a corresponding game service but are not provided by each game execution unit 200. Here, the data mediation process provided by the data mediation module 310 is excluded. In order to perform the corresponding game service as described above, processes that are not commonly executed in each game execution unit 200 are referred to as "common processes".

이러한 공통 프로세스로는 각 게임 서비스에 대한 사용자 인증 프로세스, 사용자에 대한 사용자 아바타 제공, 멀티 플레이를 지원하는 게임 서비스의 경우 서버로부터 게임 정보를 수신하여 사용자에게 소정의 게임 선택 인터페이스를 제공하는 프로세스, 사용자가 특정의 게임을 선택하면 서버에 사용자의 특정 게임 선택 정보를 송신하고, 서버로부터 해당 게임에 대한 채널 정보를 수신하여 사용자에게 소정의 게임 채널 선택 인터 페이스를 제공하는 프로세스, 사용자가 특정의 게임 채널을 선택하면, 사용자를 선택된 게임 채널에 대응하는 대기실로 이동시키고, 서버에 사용자의 특정 게임 채널 선택 정보를 송신하고, 서버로부터 해당 게임 채널 에 대한 게임 방 정보를 수신하여, 사용자에게 제공하는 프로세스, 사용자가 대기실에서 소정의 게임 방을 선택하거나 게임 방을 만드는 경우, 서버에 사용자의 게임 방 선택 정보 또는 게임 방 생성 정보를 송신하고, 해당 게임에 대응하는 게임 실행부(200)를 찾아 로딩하는 프로세스를 포함할 수 있다.  These common processes include a user authentication process for each game service, a user avatar for a user, a process of receiving game information from a server in the case of a game service supporting multiplayer, and providing a predetermined game selection interface to the user. The process of sending a user's specific game selection information to the server when the user selects a specific game, receiving channel information about the game from the server, and providing the user with a predetermined game channel selection interface. When the user selects, the process of moving the user to the waiting room corresponding to the selected game channel, sending the user's specific game channel selection information to the server, receiving the game room information for the game channel from the server, and providing the user, User playing a game in the waiting room When selecting a room or creating a game room, the method may include a process of transmitting the user's game room selection information or game room creation information to the server, and finding and loading the game execution unit 200 corresponding to the corresponding game.

상기 예는 가능한 공통 프로세스의 몇 가지예에 불과하며 각 게임 서비스의 수행을 위해 공통적으로 요청되는 프로세스는 모두 공통 프로세스에 포함될 수 있다. 이렇게 공통 프로세스 모듈(320)에서 제공되는 프로세스들이라도 개별 게임 실행부(200)에서 해당 프로세스를 제공하도록 게임 실행부(200)를 구성할 수 있다. 이 경우 해당 프로세스는 공통 프로세스 모듈(320)이 아닌 게임 실행부(200)에서 제공된다. The above examples are only a few examples of possible common processes, and all processes commonly requested for the performance of each game service may be included in the common process. Even in the processes provided by the common process module 320, the game execution unit 200 may be configured to provide the corresponding process in the individual game execution unit 200. In this case, the process is provided by the game execution unit 200 rather than the common process module 320.

데이터 저장 모듈(330)은 데이터 중개 모듈(310)에 의해 서버 시스템(400)에 요청된 게임 데이터 및/또는 사용자 정보를 수신하여 게임 실행부(200)로 전송하기 전까지 저장한다. The data storage module 330 receives game data and / or user information requested to the server system 400 by the data mediation module 310 and stores the game data and / or user information until the game data is transmitted to the game execution unit 200.

사용자 데이터 베이스(340)는 복수의 게임 실행부(200)에서 제공되는 게임 서비스의 초기 실행을 위한 게임 실행 데이터 및/또는 사용자 정보를 각 게임에 대하여 저장하고, 게임 실행부(200)로부터 요청이 있는 경우 게임 실행 데이터 또는 사용자 정보를 해당 게임 실행부(200)에 전달한다. The user database 340 stores game execution data and / or user information for the initial execution of game services provided by the plurality of game execution units 200 for each game, and requests from the game execution unit 200 are requested. If present, the game execution data or user information is transmitted to the game execution unit 200.

한편, 사용자 데이터 베이스(340)에 저장된 게임 실행 데이터 및/또는 사용자 정보는 서버 시스템(400)의 게임 실행 데이터의 변경 또는 사용자의 게임 실행 결과에 따른 사용자 정보의 변경으로 업데이트 될 수 있다. Meanwhile, the game execution data and / or user information stored in the user database 340 may be updated by changing the game execution data of the server system 400 or the user information according to the game execution result of the user.

본 발명의 제1실시예에서와 같이 게임 실행 데이터 및/또는 사용자 정보를 사용자 데이터 베이스(340)에 저장하는 경우, 해당 게임 서비스의 초기 실행을 위해 게임 실행 데이터 및/또는 사용자 정보를 서버 시스템(400)으로부터 수신 할 필요가 없어 사용자에게 게임 서비스를 제공하는 시간이 단축된다. When storing game execution data and / or user information in the user database 340 as in the first embodiment of the present invention, the game execution data and / or user information is stored in the server system for initial execution of the corresponding game service. There is no need to receive from 400, the time for providing game services to the user is shortened.

부가 기능 모듈(350)은 각 게임 실행부(200)의 지원을 제외한 부가 기능을 제공하며, 사용자에게 해당 부가 기능을 직접 제공한다. The additional function module 350 provides additional functions except for the support of each game execution unit 200 and directly provides the corresponding additional functions to the user.

이러한 부가 기능들은 게임 실행부(200)에서 구현되기 어려운 기능들을 포함할 수 있다. 구체적으로 부가 기능들은 아이템 판매, 사이버 머니 충전, 웹 채팅 또는 웹 음악 방송등을 포함할 수 있다. 이러한 부가 기능들은 게임 실행부(200)에 의한 게임 서비스의 제공과는 독립적으로 제공된다. These additional functions may include functions that are difficult to implement in the game execution unit 200. Specifically, the additional functions may include item selling, cyber money charging, web chatting, or web music broadcasting. These additional functions are provided independently of the provision of the game service by the game execution unit 200.

프로세스 정보(360)는 게임 실행부(200)의 지원을 위한 프로세스에 대한 정보로서, 게임 실행부(200)의 프로세스 정보(220)와 함께 통신 루트의 형성을 위해 사용된다. The process information 360 is information about a process for supporting the game execution unit 200, and is used for forming a communication route together with the process information 220 of the game execution unit 200.

통신 모듈(370)은 게임 실행부(200)와의 통신 루트를 형성한다. 구체적으로, 게임 로딩부(300)의 통신 모듈(370)은 게임 실행부(200)의 통신모듈(240)과 서로 연결되어 통신 루트를 형성한다. The communication module 370 forms a communication route with the game execution unit 200. In detail, the communication module 370 of the game loading unit 300 is connected to the communication module 240 of the game execution unit 200 to form a communication route.

게임 실행부(200)과 게임 로딩부(300) 간의 통신 방법으로는 크게 제한이 없으며, 따라서 일반적인 통신 방법이 사용될 수 있다. 구체적으로 본 발명의 클라이언트 시스템이 탑재되는 단말의 운영 체제에서 제공하는 통신 방식(IPC; inter process communication) 방식을 사용할 수 있다. 또한 게임 실행부(200)와 게임 로딩부(300) 간에 소켓을 열어 TCP/IP 네트워크 통신을 수행하도록 구성할 수 도 있다. 본 발명의 제1실시예에서는 IPC 로 구현하는 방식 중에서 마이크로 소프트사의 윈도우에서 제공하는 프로세스간 데이터 전송 방법 중 하나인 WM_COPYDATA를 이용하였다. 이러한 통신 루트의 구체적인 형성 방법은 후술한다. The communication method between the game execution unit 200 and the game loading unit 300 is not particularly limited, and thus a general communication method may be used. Specifically, an inter process communication (IPC) scheme provided by an operating system of a terminal on which a client system of the present invention is mounted may be used. In addition, it may be configured to open a socket between the game execution unit 200 and the game loading unit 300 to perform TCP / IP network communication. In the first embodiment of the present invention, WM_COPYDATA, which is one of the inter-process data transmission methods provided by Microsoft's window, is used in the IPC implementation. The concrete formation method of such a communication route is mentioned later.

앞서 살펴본 바와 같이, 본 발명의 제1실시예에 따른 게임 클라이언트 시스템(100)은 서로 독립적으로 동작하는 게임 실행부(200)과 게임 로딩부(300)가 서로 협력하여 사용자에게 소정의 게임 서비스를 제공한다. As described above, in the game client system 100 according to the first embodiment of the present invention, a game execution unit 200 and a game loading unit 300 operating independently of each other cooperate with each other to provide a predetermined game service to a user. to provide.

구체적으로, 사용자에 의해 선택된 게임이 네트워크를 통해 다른 사용자와 교류 하지 않는 싱글 게임류인 경우 게임 로딩부(300)는 공통 프로세스 모듈(320)를 통해 사용자에게 소정의 게임 선택 메뉴를 제공하고, 사용자가 특정의 게임을 선택하는 경우 선택된 게임에 대응하는 게임 실행부(200)를 실행시켜 사용자에게 선택된 게임 서비스를 제공한다. 한편, 사용자에 의해 선택된 게임이 네트워크를 통해 다른 사용자와 교류하여 진행되는 멀티 게임류인 경우 게임 로딩부(300)는 공통 프로세스 모듈(320)를 통해 사용자에게 소정의 게임 선택 메뉴를 제공하고, 사용자가 특정의 게임을 선택하는 경우 선택된 게임의 실행을 위한 채널 선택 메뉴를 제공하고, 사용자가 채널을 선택하는 경우 사용자를 대기실에 입장 시키고, 사용자가 게임을 실행하고자 하는 경우 해당 게임에 대응하는 게임 실행부(200)를 로딩 하여 사용자에게 선택된 게임 서비스를 제공한다. Specifically, when the game selected by the user is a single game that does not interact with other users through the network, the game loading unit 300 provides a predetermined game selection menu to the user through the common process module 320, and the user In the case of selecting a specific game, the game execution unit 200 corresponding to the selected game is executed to provide the selected game service to the user. On the other hand, if the game selected by the user is a multi-games played in exchange with other users through the network game loading unit 300 provides a predetermined game selection menu to the user through the common process module 320, the user If a specific game is selected, a channel selection menu for executing the selected game is provided. If the user selects a channel, the user enters the waiting room. If the user wants to play the game, the game execution unit corresponding to the game is provided. The 200 is loaded to provide the selected game service to the user.

이하, 도 4를 참조하여, 본 발명의 제2실시예에 따른 게임 클라이언트 시스템(100)에 대하여 구체적으로 설명한다. Hereinafter, the game client system 100 according to the second embodiment of the present invention will be described in detail with reference to FIG. 4.

본 발명의 제2실시예에 따른 게임 클라이언트 시스템(100)은 게임 로딩부(300)가 서버로부터 게임 데이터의 수신을 매니징할 수 있는 데이터 매니징 기능과 수신된 데이터의 형식을 게임 실행부(200)에서의 처리에 적합한 형식으로 변환하는 데이터 변환 기능을 포함하는 것을 제외하고는 본 발명의 제1실시예에 따른 게임 클라이언트 시스템(100)의 구성과 유사하다. 따라서, 여기서는 본 발명의 제2실시예에 따른 게임 로딩부(300)를 중심으로 설명한다. The game client system 100 according to the second exemplary embodiment of the present invention may include a data management function that allows the game loading unit 300 to manage reception of game data from a server, and a format of the received data. The configuration is similar to that of the game client system 100 according to the first embodiment of the present invention, except that it includes a data conversion function for converting to a format suitable for processing in step 200). Therefore, the following description will focus on the game loading unit 300 according to the second embodiment of the present invention.

도 4는 본 발명의 제2실시예에 따른 게임 로딩부(300)의 구성을 간략히 보여주는 구성도이다. 4 is a block diagram schematically showing the configuration of the game loading unit 300 according to the second embodiment of the present invention.

본 발명의 제2실시예에 따른 게임 로딩부(300)는 데이터 중개 모듈(310), 데이터 매니저(380), 데이터 변환 모듈(390), 데이터 저장 모듈(330), 공통 프로세스 모듈(320), 사용자 데이터 베이스(340), 부가 기능 모듈(350), 프로세스 정보(360) 및 통신 모듈(370)을 포함한다. 여기서, 데이터 매니저(380) 및 데이터 변환 모듈(390)을 제외한 다른 구성들은 본 발명의 제1실시예에 따른 게임 로딩부(300)의 구성과 유사하므로 그 구체적인 설명은 생략한다. The game loading unit 300 according to the second embodiment of the present invention may include a data mediation module 310, a data manager 380, a data conversion module 390, a data storage module 330, a common process module 320, A user database 340, an add-on module 350, process information 360, and a communication module 370. Here, since the other configurations except for the data manager 380 and the data conversion module 390 are similar to those of the game loading unit 300 according to the first embodiment of the present invention, a detailed description thereof will be omitted.

데이터 매니저(380)는 게임 실행부(200)에서 해당 게임 서비스의 수행을 위해 필요한 게임 데이터의 다운 로드를 제어한다. The data manager 380 controls the download of game data necessary for performing the game service in the game execution unit 200.

일반적으로 게임의 초기 실행을 위해 필요한 게임 실행 데이터의 양은 게임의 진행중 필요한 게임 데이터의 양보다 많으므로, 데이터 메니저(300)는 게임의 초기 실행과 게임의 진행 중의 각 단계에 따라 두 가지 방법으로 동작한다. In general, since the amount of game execution data required for the initial execution of the game is larger than the amount of game data required during the game, the data manager 300 operates in two ways according to each stage of the initial execution of the game and the progress of the game. do.

먼저, 게임 서비스의 초기 실행 단계에서, 데이터 매니저(380)는 사용자에 의해 선택된 게임에 대응하는 게임 실행 데이터 및/또는 사용자 정보가 사용자 데이터 베이스(340)에 저장되어 있는지 검색한다. 이때, 사용자에 의해 선택된 게임에 대응하는 게임 실행 데이터 및/또는 사용자 정보가 사용자 데이터 베이스(340)에 저장되어 있지 않은 경우, 데이터 매니저(380)는 해당 게임 서비스의 실행을 위해 필요한 게임 실행 데이터를 서버 시스템(400)으로부터 수신하여 해당 게임 서비스의 실행을 유도한다. 이때, 데이터 매니저(380)는 수신된 게임 실행 데이터를 사용자 데이터 베이스(340)에 추가 할 수 있다. 구체적으로, 데이터 메니저(380)는 서버 시스템(400)에 접속하여, 해당 게임 서비스에 대한 게임 실행 데이터 리스트를 다운로드 받고, 다운로드 받은 게임 실행 데이터 리스트를 이용하여 필요한 게임 실행 데이터를 서버 시스템(400)으로부터 수신하여 해당 게임 서비스의 실행을 유도한다. 이때, 데이터 매니저(380)는 저장된 해당 게임 서비스에 대응하는 게임 실행 데이터 및/또는 사용자 정보를 사용자 데이터 베이스(340)에 추가할 수 있다. First, in the initial execution phase of the game service, the data manager 380 searches whether the game execution data and / or user information corresponding to the game selected by the user is stored in the user database 340. In this case, when game execution data and / or user information corresponding to a game selected by the user is not stored in the user database 340, the data manager 380 may provide game execution data necessary for execution of the corresponding game service. It receives from the server system 400 to induce execution of the game service. In this case, the data manager 380 may add the received game execution data to the user database 340. Specifically, the data manager 380 accesses the server system 400, downloads a game execution data list for the corresponding game service, and uses the downloaded game execution data list to provide necessary game execution data to the server system 400. Receives from and induces the execution of the game service. In this case, the data manager 380 may add game execution data and / or user information corresponding to the stored game service to the user database 340.

다음으로, 게임 서비스의 진행 단계에서, 데이터 매니저(380)는 사용자의 해당 게임 서비스의 진행 정보로부터 게임 실행부(200)로부터 요청될 게임 데이터를 예측하고 서버 시스템(400)으로부터 수신하여 데이터 저장 모듈(330)에 저장한다. 구체적으로, 사용자가 해당 게임 서비스 내에서 특정 환경 변경 조건을 달성하는 경우(구체적으로, 특정 지역으로 이동), 변경되어 수행되어야 할 새로운 환경에서 필요한 게임 데이터 리스트를 서버 시스템(400)으로부터 다운로드 받고, 다운로드 받은 게임 데이터 리스트를 이용하여 게임 데이터를 서버 시스템(400)으로부터 수 신하여 데이터 저장 모듈(330)에 저장한다. Next, in the progress of the game service, the data manager 380 predicts the game data to be requested from the game execution unit 200 from the progress information of the corresponding game service of the user and receives from the server system 400 to store the data storage module. Save to 330. Specifically, when a user achieves a specific environment change condition within the game service (specifically, moves to a specific region), the game data list required for the new environment to be changed and performed is downloaded from the server system 400, Game data is received from the server system 400 using the downloaded game data list and stored in the data storage module 330.

예를 들어 설명하면, 서버 시스템(400)은 해당 게임의 소정의 챕터나 소정의 구역을 진행을 위해 필요한 게임 데이터를 리스트화한 게임 데이터 리스트를 저장한다. 사용자가 해당 게임의 소정의 챕터나 소정의 구역을 진행하고자 하는 경우(즉, 특정 환경 변경 조건을 달성하는 경우), 데이터 매니저(380)는 서버 시스템(400)에 저장된 해당 챕터나 구역에 대응하는 게임 데이터 리스트를 다운로드 받고, 다운로드된 게임 데이터 리스트 내의 게임 데이터를 서버 시스템(400)으로부터 미리 수신하여 데이터 저장 모듈(330)에 저장한다. 그후, 게임 실행부(200)로부터 게임 데이터의 요청이 있는 경우 데이터 저장 모듈(330)를 검색하여 요청된 게임 데이터가 저장되어 있는 게임 데이터인 경우 게임 실행부(200)로 즉시 제공한다. 이렇게 필요한 게임 데이터를 미리 저장하는 경우, 게임 실행부(200)의 요청에 즉각적으로 대응할 수 있어, 게임 진행 속도가 향상된다. For example, the server system 400 stores a game data list listing game data necessary for moving through a predetermined chapter or a predetermined region of the game. If the user wishes to advance a certain chapter or section of the game (i.e., to achieve a particular environmental change condition), the data manager 380 corresponds to the chapter or section stored in the server system 400. The game data list is downloaded, and the game data in the downloaded game data list is received in advance from the server system 400 and stored in the data storage module 330. Thereafter, when there is a request for game data from the game execution unit 200, the data storage module 330 is searched and immediately provided to the game execution unit 200 when the requested game data is game data stored therein. When the necessary game data is stored in advance, the game execution unit 200 can immediately respond to the request, thereby improving the game progress speed.

데이터 변환 모듈(390)은 게임 로딩부(300)를 통해 서버 시스템(400)로부터 수신된 게임 데이터 및/또는 사용자 정보를 가공하여 해당 게임 실행부(200)의 처리에 적합한 데이터로 변환한다. 특히, 이러한 데이터 변환 모듈(220)은 서버 시스템(400)로부터 수신되는 게임 데이터 및/또는 사용자 정보의 형식이 해당 게임 실행 모듈(210)에 의해 인식될 수 없는 데이터 형식인 경우에 수신되는 게임 데이터 및/또는 사용자 정보의 형식을 해당 게임 실행부(200)에 의해 처리 가능한 데이터 형식으로 변환한다. 한편, 데이터 변환 모듈(390)은 게임 실행부(200)로부터 수신된 게임 데이터 또는 사용자 정보를 가공하여 서버 시스템(400)에 적합한 데이 터로 변환한다. The data conversion module 390 processes the game data and / or user information received from the server system 400 through the game loading unit 300 and converts the game data and / or user information into data suitable for processing of the game execution unit 200. In particular, such data conversion module 220 is game data received when the format of game data and / or user information received from server system 400 is a data format that cannot be recognized by the game execution module 210. And / or convert the format of the user information into a data format that can be processed by the game execution unit 200. Meanwhile, the data conversion module 390 processes the game data or user information received from the game execution unit 200 and converts the game data or user information into data suitable for the server system 400.

이러한 본 발명의 실시예에 따른 게임 클라이언트 시스템(100)의 실행을 사용자 관점에서 살펴보면 다음과 같다. Looking at the execution of the game client system 100 according to an embodiment of the present invention from the user's point of view as follows.

사용자는 게임 서비스 수행을 위해 게임 로딩부(300)를 실행시키게 된다. 이러한 게임 로딩부(300)의 실행은 사용자가 소정의 서비스를 제공하는 웹 서버(410)에서 접속하여 게임 서비스를 제공 받고자 하는 경우 자동적으로 이루어지거나, 사용자가 웹 서버(410)에 접속하지 않고 사용자의 단말 시스템에 기 다운로드되어 설치된 게임 로딩부(300)를 직접 실행 시킴으로 이루어진다. The user executes the game loading unit 300 to perform a game service. Execution of the game loading unit 300 is automatically performed when a user connects from a web server 410 that provides a predetermined service and receives a game service, or the user does not access the web server 410. The game loading unit 300 is downloaded and installed in the terminal system of the direct execution.

도 5는 사용자가 게임 로딩부(300)를 실행한 경우 사용자의 단말에 디스플레이 되는 사용자 인터페이스의 한 예를 보여준다. 5 illustrates an example of a user interface displayed on a user terminal when the user executes the game loading unit 300.

도 5에서 볼 수 있는 바와 같이, 사용자가 게임 로딩부(300)를 실행시키는 경우, 게임 로딩부(300)는 게임 로딩부 디스플레이(610)를 사용자에게 제공한다. As shown in FIG. 5, when the user executes the game loading unit 300, the game loading unit 300 provides the game loading unit display 610 to the user.

이러한 게임 로딩부 디스플레이(610)는 사용자에게 게임 서비스의 선택을 제공하는 선택부(620) 및 게임 실행부(200)가 실행되는 게임 실행부 디스플레이(630)를 포함할 수 있다. The game loading unit display 610 may include a selection unit 620 for providing a game service selection to a user and a game execution unit display 630 on which the game execution unit 200 is executed.

선택부(620)는 게임 로딩부(300)가 서버 시스템(400)으로부터 수신 받은 게임 데이터를 이용하여 사용자에게 제공한 게임 선택 인터페이스를 보여준다. The selector 620 shows a game selection interface provided to the user by using the game data received from the server system 400 by the game loading unit 300.

사용자가 선택부(620)를 통해 특정의 게임 서비스를 선택하는 경우, 게임 로딩부(300)는 해당 게임 서비스에 대응하는 게임 실행부(200)를 실행 시켜 게임 실행부 디스플레이(630)를 통해 사용자에게 해당 게임 서비스를 제공한다.When the user selects a specific game service through the selector 620, the game loading unit 300 executes the game executor 200 corresponding to the corresponding game service to the user through the game executor display 630. Provide the corresponding game service.

이렇게 사용자가 게임 실행부(200)를 통해 특정 게임 서비스를 제공 받는 동안, 사용자의 단말 화면 내에 선택부(620) 및 게임 로딩부 디스플레이(610)의 프레임 화면은 사용자의 선택에 따라 디스플레이 되지 않을 수 있다.As such, while the user is provided with a specific game service through the game execution unit 200, the frame screen of the selection unit 620 and the game loading unit display 610 in the user's terminal screen may not be displayed according to the user's selection. have.

이하, 도 6 및 도 7을 참조하여 본 발명의 제3실시예에 따른 게임 클라이언트 시스템을 이용하는 게임 서비스 제공 방법에 대하여 구체적으로 살펴본다. Hereinafter, a game service providing method using a game client system according to a third embodiment of the present invention will be described in detail with reference to FIGS. 6 and 7.

이러한 본 발명의 제3실시예에 따른 게임 클라이언트 시스템을 이용하는 게임서비스 제공 방법은 크게 초기 실행 단계(게임 로딩 단계), 진행 단계 및 종료 단계를 포함한다. The game service providing method using the game client system according to the third embodiment of the present invention generally includes an initial execution step (game loading step), a progress step, and an end step.

도 6은 본 발명의 제3실시예에 따른 게임 클라이언트 시스템을 이용하는 게임서비스 제공 방법의 초기 실행 단계의 구성을 개략적으로 보여주는 순서도이다. 도 7은 본 발명의 제3실시예에 따른 게임 클라이언트 시스템을 이용하는 게임 서비스 제공 방법의 진행 단계 및 종료 단계의 구성을 개략적으로 보여주는 순서도이다. 6 is a flowchart schematically showing a configuration of an initial execution step of a game service providing method using a game client system according to a third embodiment of the present invention. 7 is a flowchart schematically illustrating a configuration of an advancing and terminating step of a game service providing method using a game client system according to a third exemplary embodiment of the present invention.

먼저, 도 6을 참조하여 초기 실행 단계를 설명한다. First, an initial execution step will be described with reference to FIG. 6.

사용자가 게임 로딩부(300)를 실행하는 경우(s100), 게임 로딩부(300)는 서버 시스템(400)으로부터 서비스 가능한 게임들에 대한 게임 정보를 수신하여 사용자에게 게임 선택 인터페이스를 제공한다(s200). When the user executes the game loading unit 300 (S100), the game loading unit 300 receives game information about games that can be serviced from the server system 400 and provides a game selection interface to the user (S200). ).

이러한 게임 로딩부(300)의 실행은 웹 서버(410)를 통해 이루어지거나 사용자의 단말 시스템에 기 다운로드 되어 설치된 게임 로딩부(300)를 실행함으로서 이루어질 수 있다. 이러한 게임 로딩부(300)의 실행 중에 사용자의 아이디 및 비밀 번호등을 확인하여 사용자 인증등의 절차가 수행될 수 있으나 본 발명의 명세서에서는 그 구체적인 설명은 생략한다. The game loading unit 300 may be executed through the web server 410 or by executing the game loading unit 300 downloaded and installed in the user's terminal system. While the game loading unit 300 is executed, a procedure such as user authentication may be performed by checking a user ID and password, etc., but a detailed description thereof will be omitted in the specification of the present invention.

사용자가 게임 선택 인터페이스를 통해 특정의 게임 서비스를 선택하면, 게임 로딩부(300)는 선택된 게임 서비스를 수행하는 게임 실행부(200)를 선택한다(s300). 이때 게임 로딩부(300)는 게임 실행부(200)의 게임 정보(230)을 검색하여 선택된 게임에 대응하는 게임 실행부(200)를 확인하여 선택한다. When the user selects a specific game service through the game selection interface, the game loading unit 300 selects the game execution unit 200 that performs the selected game service (S300). In this case, the game loading unit 300 searches for game information 230 of the game execution unit 200 to identify and select the game execution unit 200 corresponding to the selected game.

또한, 게임 로딩부(300)는 선택된 게임 서비스에 대응하는 게임 정보를 이용하여, 해당 게임 서비스의 수행을 위해 게임 로딩부(300)를 초기화 한다(s400).In addition, the game loading unit 300 initializes the game loading unit 300 to perform the corresponding game service using game information corresponding to the selected game service (S400).

그 후, 게임 로딩부(300)는 서버 시스템(400) 또는 사용자 데이터 베이스(340)로부터 해당 게임 서비스에 대한 사용자 정보를 수득한다(s500). Thereafter, the game loading unit 300 obtains user information on the corresponding game service from the server system 400 or the user database 340 (S500).

이러한 사용자 정보는 해당 게임 서비스에서의 사용자의 아이디, 패스워드, 레벨, 사용자의 게임 포인트, 사용자의 아이템, 사용자의 게임 플레이 시간, 사용자의 최종 플레이 지역 등 사용자가 해당 게임 서비스의 초기 실행을 위해 필요한 정보를 포함한다. 구체적으로, 사용자가 해당 게임을 게임내 소정의 지역 내에서 시작하고자 할 경우, 해당 지역에 대한 맵 정보를 포함한다. 이러한 정보는 사용자가 해당 게임 서비스 중에 수득한 세이브 파일 등으로부터 수득될 수 있다. This user information includes information required for the initial execution of the game service, such as the user's ID, password, level, user's game point, user's item, user's game play time, and user's final play area in the game service. It includes. Specifically, when the user wants to start the game in a predetermined region in the game, the user includes map information about the region. Such information can be obtained from a save file or the like obtained by the user during the game service.

게임 로딩부(300)는 수신된 사용자 정보를 분석하고, 해당 게임 서비스의 실행을 위해 필요한 게임 실행 데이터를 서버 시스템(400)에 요청하여 수신하여 저장한다(s600). 이러한 게임 실행 데이터의 수신은 사용자 정보 수득 단계(s500)와 동시에 이루어질 수 있다. 만일, 게임 실행 데이터 및/또는 사용자 정보가 사용자 데이터 베이스(340)에 기 저장되어 있는 경우, 서버 시스템(400)으로부터 게임 실행 데이터 및/또는 사용자 정보를 수신할 필요는 없다. The game loading unit 300 analyzes the received user information and requests and receives game execution data necessary for the execution of the corresponding game service from the server system 400 and stores the received (S600). The reception of such game execution data may be performed at the same time as the user information obtaining step s500. If game play data and / or user information is pre-stored in the user database 340, it is not necessary to receive game play data and / or user information from the server system 400.

한편, 선택된 게임 서비스에 대응하는 게임 실행부(300)가 선택되면, 게임 실행부는 초기화 되고(s700), 게임 로딩부(200)와 통신 루트를 형성하여 게임 로딩부(200)는 게임 실행부(200)를 로딩한다(s800). On the other hand, if the game execution unit 300 corresponding to the selected game service is selected, the game execution unit is initialized (s700), and forms a communication route with the game loading unit 200, the game loading unit 200 is a game execution unit ( 200) (S800).

게임 로딩부(300)가 게임 실행부(20))를 로딩하면 게임 실행부(200)는 게임 로딩부(300)로부터 해당 게임 서비스의 실행을 위한 게임 실행 데이터 및/또는 사용자 정보를 수신 받고, 수신 받은 게임 실행 데이터 및/또는 사용자 정보를 이용하여 해당 게임 서비스를 실행하여 사용자에게 제공한다(s900). When the game loading unit 300 loads the game executing unit 20, the game executing unit 200 receives game execution data and / or user information for executing the corresponding game service from the game loading unit 300, The game service is executed using the received game execution data and / or user information and provided to the user (s900).

한편, 본 발명의 실시예에 따른 게임서비스 제공 방법의 초기 단계(게임 로딩 단계)를 게임 로딩부(300)와 서버(400)의 관계를 중심으로 살펴보면 다음과 같다.Meanwhile, an initial stage (game loading step) of the game service providing method according to an exemplary embodiment of the present invention will be described based on the relationship between the game loading unit 300 and the server 400.

사용자가 게임 로딩부(300)를 구동하면, 게임 로딩부(300)는 서버(400)로부터 제공되는 하나 이상의 게임 서비스에 각각 대응하는 하나 이상의 게임 정보를 수신하고, 수신된 게임 정보를 이용하여 사용자에게 게임 선택 인터 페이스를 제공한다. 사용자가 제공된 게임 선택 인터페이스에서 특정 게임을 선택하면, 게임 로딩부(300)는 서버(400)에 사용자의 게임 선택 정보를 전송하고, 서버(400)로부터 선택된 게임에 대한 게임 채널 정보를 수신하고, 수신된 게임 채널 정보를 이용하여 사용자에게 게임 채널 선택 인터페이스를 제공한다. 사용자가 제공된 게임 채널 선택 인터페이스에서 특정 게임 채널을 선택하면, 게임 로딩부(300)는 사용자를 해당 게임 채널에 대응하는 소정의 게임 대기실로 이동시키고, 서버(400)에 사용자의 게임 채널 선택 정보를 전송하고, 서버(400)로부터 선택된 게임 채널에 대한 게임 방 정보를 수신하고, 수신된 게임 방 정보를 이용하여 사용자에게 게임 방 선택 인터페이스를 제공한다. 사용자가 제공된 게임 방 선택 인터페이스에서 특정 게임 방을 선택하거나, 사용자가 스스로를 위해 새로운 게임 방을 개설하는 경우, 게임 로딩부(300)는 서버(400)에 사용자의 게임 방 선택 정보 또는 게임 방 개설 정보를 전송하고, 해당 게임에 대응하는 게임 실행부(200)를 찾아 로딩한다. When the user drives the game loading unit 300, the game loading unit 300 receives one or more game information corresponding to one or more game services provided from the server 400, and uses the received game information. Gives you a game selection interface. When the user selects a specific game in the provided game selection interface, the game loading unit 300 transmits the game selection information of the user to the server 400, receives game channel information on the selected game from the server 400, The game channel selection interface is provided to the user by using the received game channel information. When the user selects a specific game channel from the provided game channel selection interface, the game loading unit 300 moves the user to a predetermined game waiting room corresponding to the game channel, and transmits the user's game channel selection information to the server 400. It transmits, receives game room information on the selected game channel from the server 400, and provides the game room selection interface to the user using the received game room information. When the user selects a specific game room from the provided game room selection interface or the user opens a new game room for himself, the game loading unit 300 opens the user's game room selection information or a game room on the server 400. Information is transmitted and the game execution unit 200 corresponding to the game is found and loaded.

다음으로 도 7을 참조하여 진행 단계 및 종료 단계를 설명한다. Next, the progress step and the end step will be described with reference to FIG. 7.

게임 실행부(200)는 해당 게임 서비스의 진행 도중에 소정의 게임 데이터가 추가로 필요해 지면, 게임 로딩부(300)에 해당 게임 데이터를 요청한다(s1100). 게임 로딩부(300)는 요청된 게임 데이터를 서버 시스템(400)로부터 수신 받아 게임 실행부(300)에 제공한다(s1200). If predetermined game data is additionally required while the game service is in progress, the game execution unit 200 requests the game data from the game loading unit 300 (S1100). The game loading unit 300 receives the requested game data from the server system 400 and provides it to the game execution unit 300 (S1200).

한편, 게임 로딩부(300)는 게임 실행부(200)로부터 게임 데이터 요청이 없는 경우에도 사용자의 게임 서비스의 수행 상태를 분석하여 게임 실행부(200)에서 요청될 게임 데이터를 예측하고, 예측된 게임 데이터를 서버 시스템(400)로부터 미리 수신 받는 단계를 추가 포함할 수 있다. 이 경우, 게임 로딩부(300)는 게임 실행부(200)로부터 해당 게임 데이터의 요청이 있는 경우 서버 시스템(400)와 통신할 필요 없이 요청된 게임 데이터를 게임 실행부(200)에 전달할 수 있어 보다 신속한 게임 서비스를 제공하게 된다. Meanwhile, even when there is no game data request from the game executor 200, the game loading unit 300 analyzes the performance state of the user's game service to predict game data to be requested from the game executor 200, and predicts The method may further include receiving game data from the server system 400 in advance. In this case, the game loading unit 300 may deliver the requested game data to the game execution unit 200 without having to communicate with the server system 400 when there is a request for the game data from the game execution unit 200. It will provide a faster game service.

구체적으로 게임 로딩부(300)는 사용자 정보를 분석하여, 해당 게임 서비스 에서의 사용자의 게임 내 위치, 사용자의 수행 미션(퀘스트)등의 정보를 획득한 다음, 사용자의 게임 내 위치의 주변에 대한 지역 정보 또는 사용자의 수행 미션(퀘스트) 중 다음 단계 수행을 위한 정보에 대한 게임 데이터를 게임 서비스 수행을 위해 필요한 게임 데이터로 예측한다(s1300). 그후, 게임 로딩부(300)는 예측된 게임 데이터를 서버 시스템(400)로부터 수신한다(s1400). 이러한 필요 게임 데이터 예측 및 데이터 수신은 사용자의 게임 진행에 따라 실시간으로 또는 주기적으로 이루어질 수 있다. 이러한 경우, 게임 실행부(200)로부터 게임 데이터 요청이 수신되면(s1500), 게임 로딩부(300)는 기 수신된 게임 데이터와 요청된 게임 데이터를 비교하고(s1600), 요청된 게임 데이터가 게임 로딩부(300)에 기 수신되어 저장되어 있으면, 저장된 게임 데이터를 게임 실행부(200)에 전달한다(s1700). 만일, 요청된 게임 데이터가 게임 로딩부(300)에 저장되어 있지 않은 경우에는 요청된 게임 데이터를 서버 시스템(400)로부터 수신하여 게임 실행부(200)에 전송한다. In more detail, the game loading unit 300 analyzes user information, acquires information such as a user's in-game position and a user's performance mission (quest) in a corresponding game service, and then checks the user's periphery of the in-game position. The game data for the next step in the local information or the user's performance mission (quest) is predicted as game data necessary for the performance of the game service (S1300). Thereafter, the game loading unit 300 receives the predicted game data from the server system 400 (s1400). Such necessary game data prediction and data reception may be performed in real time or periodically according to the user's game progress. In this case, when a game data request is received from the game execution unit 200 (s1500), the game loading unit 300 compares the previously received game data with the requested game data (s1600), and the requested game data is a game. If previously received and stored in the loading unit 300, the stored game data is transmitted to the game execution unit 200 (s1700). If the requested game data is not stored in the game loading unit 300, the requested game data is received from the server system 400 and transmitted to the game execution unit 200.

사용자가 해당 게임 서비스를 종료하는 경우, 게임 실행부(200)는 사용자의 게임 수행 결과로 변동된 게임 데이터 및 사용자 정보를 게임 로딩부(300)의 사용자 데이터 베이스(340)에 저장하거나, 게임 로딩부(300)를 통해 서버 시스템(400)으로 전송하여 저장한다(s1800). 사용자의 게임 수행 결과는 게임 수행시 저장이 필요한 데이터일 수 있으며, 구체적으로 해당 게임이 롤 플레잉 게임인 경우 사용자의 해당 게임의 스토리 진행 정도, 사용자의 해당 게임에서의 지역 정보, 사용자의 해당 게임에서의 랭킹 정보, 아이템 정보 등을 포함할 수 있다. 이러한 정보를 포함하는 데이터로서 해당 게임의 세이브 파일을 그 구체적인 예로 들 수 있다. When the user ends the game service, the game execution unit 200 stores the game data and user information changed as a result of the user's game execution in the user database 340 of the game loading unit 300, or loads the game. The transmission is stored to the server system 400 through the unit 300 (s1800). The result of the user's game play may be data that needs to be stored when the game is played. Specifically, when the game is a role playing game, the progress of the story of the user's game, the region information of the user's game, and the user's game Ranking information, item information, and the like. As the data including this information, a specific save file of the game may be mentioned.

게임 로딩부(300) 또는 서버 시스템(400)은 사용자의 해당 게임 수행 결과를 게임 별로 저장하며, 게임 수행 결과를 이용하여 기 저장된 게임 데이터 및/또는 사용자 정보를 업데이트 한다(s1900). The game loading unit 300 or the server system 400 stores the corresponding game performance result of the user for each game, and updates previously stored game data and / or user information using the game performance result (S1900).

이러한 본 발명의 제3실시예에 따른 게임 클라이언트 시스템을 이용한 게임 서비스 제공 방법은 상술된 방법의 순서에 제한되지 않으며, 필요에 따라 순서를 달리하여 실행될 수 있다. The game service providing method using the game client system according to the third embodiment of the present invention is not limited to the order of the above-described method, and may be executed in a different order as necessary.

한편, 사용자는 특정의 게임을 진행하던 도중에 다른 게임을 실행하고자 하는 경우가 있을 수 있다. 이와 같이, 사용자가 소정의 게임 서비스 진행 도중에, 다른 게임 서비스를 선택하는 경우의 게임 실행부(200)과 게임 로딩부(300)의 동작은 다음과 같다. On the other hand, a user may wish to play another game while playing a specific game. As described above, operations of the game execution unit 200 and the game loading unit 300 when the user selects another game service while the predetermined game service is in progress are as follows.

먼저, 사용자가 다른 게임 서비스를 선택하면, 게임 로딩부(300)는 기 진행 중인 게임에 대응하는 게임 실행부(200)와 기 설정된 통신 루트를 해제하고, 게임 로딩부(300) 내의 기 진행 중인 게임 서비스에 대한 데이터를 제거한다. 다음으로, 사용자에 의해 새로이 선택된 게임에 대한 게임 정보를 이용하여 게임 로딩부(300)를 초기화하고, 사용자 데이터 베이스(340) 또는 서버 시스템(400)으로부터 선택된 게임에 대한 게임 실행 데이터 및 사용자 정보를 수신하여 해당 게임 서비스를 사용자에게 제공한다. 이러한 게임 실행부(200)과 게임 로딩부(300)의 구체적인 동작은 앞서 설명한 동작(s300) 내지 동작(s900)과 유사하므로 그 구체적인 설명은 생략한다. First, when the user selects a different game service, the game loading unit 300 releases a predetermined communication route with the game execution unit 200 corresponding to the game in progress, and is already in progress in the game loading unit 300. Remove data about game services. Next, the game loading unit 300 is initialized using game information about a game newly selected by the user, and game execution data and user information about a game selected from the user database 340 or the server system 400 are initialized. Receive and provide the game service to the user. Since the detailed operations of the game execution unit 200 and the game loading unit 300 are similar to the operations S300 to S900 described above, the detailed description thereof will be omitted.

이하, 도 8을 참조하여 본 발명의 실시예에 따른 게임 실행부(200)와 게임 로딩부(300)간의 통신 루트 설정 방법에 대하여 설명한다. Hereinafter, a method of setting a communication route between the game execution unit 200 and the game loading unit 300 according to an embodiment of the present invention will be described with reference to FIG. 8.

도 8은 본 발명의 제2실시예에 따른 게임 실행부(200)와 게임 로딩부(300) 간의 통신 루트 설정 방법을 간략히 보여주는 순서도이다. 8 is a flowchart briefly illustrating a communication route setting method between the game execution unit 200 and the game loading unit 300 according to the second embodiment of the present invention.

먼저, 게임 로딩부(300)가 선택된 게임 서비스에 대응하는 게임 실행부(200)를 선택하는 경우, 게임 실행부(200)는 초기화 되고 실행된다(s710). First, when the game loading unit 300 selects the game execution unit 200 corresponding to the selected game service, the game execution unit 200 is initialized and executed (s710).

게임 실행부(200)가 실행되면, 게임 실행부(200)는 게임 로딩부(300)를 검색하며(s720), 게임 로딩부(300)에 게임 실행부(200)의 프로세스 정보를 송신한다(s730). When the game execution unit 200 is executed, the game execution unit 200 searches for the game loading unit 300 (s720) and transmits process information of the game execution unit 200 to the game loading unit 300 ( s730).

게임 로딩부(300)는 게임 실행부(200)로부터 프로세스 정보를 수신 받는 경우, 수신 확인 및 게임 로딩부(300)의 프로세스 정보를 게임 실행부(200)에 송신한다(s740).When the game loading unit 300 receives the process information from the game execution unit 200, the game loading unit 300 transmits the acknowledgment and the process information of the game loading unit 300 to the game execution unit 200 (S740).

게임 실행부(200)는 게임 로딩부(300)로부터 수신 확인, 게임 로딩부(300)의 프로세스 정보를 수신하는 경우, 게임 실행부(200)과 게임 로딩부(300)는 통신 루트를 형성하고, 게임 로딩부(300)는 게임 실행부(200)를 로딩한다(s800). 이러한 본 발명의 제2 실시예에 따른 통신 루트 설정 방법은 IPC를 이용한 절차의 한 구체예이나 IPC를 사용하지 않는 경우도 이와 유사하게 구현된다. When the game execution unit 200 receives the acknowledgment from the game loading unit 300 and the process information of the game loading unit 300, the game execution unit 200 and the game loading unit 300 form a communication route. The game loading unit 300 loads the game execution unit 200 (s800). The method for establishing a communication route according to the second embodiment of the present invention is similarly implemented in one embodiment of the procedure using the IPC or in the case of not using the IPC.

이하, 도 9를 참조하여 본 발명의 제4실시예에 따른 게임 서비스 제공 방법을 구체적으로 설명한다. Hereinafter, a game service providing method according to a fourth exemplary embodiment of the present invention will be described in detail with reference to FIG. 9.

본 발명의 제4실시예에 따른 게임 서비스 제공 방법은 데이터 매니저(380)를 이용하여 게임 데이터 수신을 매니징하는 것을 제외하고는 본 발명의 제3실시예에 따른 게임 서비스 제공 방법과 유사한 바, 이하에서는 데이터 매니저(380)를 이용하는 데이터 수신 방법을 중심으로 설명한다. The game service providing method according to the fourth embodiment of the present invention is similar to the game service providing method according to the third embodiment of the present invention except that the game data reception is managed using the data manager 380. Hereinafter, the data reception method using the data manager 380 will be described.

도 9는 본 발명의 제4실시예에 따른 게임 서비스 제공 방법 중 데이터 매니징 방법의 구성을 개략적으로 보여주는 순서도이다.9 is a flowchart schematically illustrating a configuration of a data management method in a game service providing method according to a fourth exemplary embodiment of the present invention.

도 9 에서 볼 수 있는 바와 같이, 게임 로딩부(300)의 실행으로 데이터 매니저(380)가 구동되면(s2100), 데이터 매니저(380)는 서버 시스템(400)에 기설정되어 저장된 게임 데이터 리스트를 수신한다(s2200). 이러한 게임 데이터 리스트는 해당 게임의 실행 초기의 게임 실행 데이터 리스트 및 해당 게임의 진행 단계의 게임 데이터 리스트를 포함한다. As can be seen in FIG. 9, when the data manager 380 is driven by the execution of the game loading unit 300 (s2100), the data manager 380 stores the game data list preset and stored in the server system 400. Receive (s2200). The game data list includes a game execution data list at the beginning of execution of the game and a game data list of the progress stage of the game.

다음, 데이터 매니저(380)는 수신된 게임 데이터 리스트를 이용하여 서버 시스템(400)로부터 게임 데이터를 수신한다(s2300). 이러한 게임 데이터 리스트 상 게임 데이터의 수신은 게임 실행부(200)가 사용자에게 해당 게임 서비스를 제공하는 것과 독립적으로 수행된다. 또한, 게임 데이터 리스트상 게임 데이터 수신은 게임 실행부(200)로부터 요청된 게임 데이터의 수신과 동시에 또는 요청 게임 데이터의 수신에 방해되지 않는 한도에서 수행될 수 있다. Next, the data manager 380 receives game data from the server system 400 using the received game data list (S2300). The reception of game data on the game data list is performed independently from the game execution unit 200 providing a corresponding game service to a user. In addition, the reception of game data on the game data list may be performed simultaneously with the reception of the requested game data from the game execution unit 200 or as long as it does not interfere with the reception of the requested game data.

한편, 데이터 매니저(380)는 수신된 게임 데이터를 리스트화 한다(s2400). 이렇게 리스트화되는 게임 데이터는 게임 데이터 리스트를 이용하여 수신된 게임 데이터 뿐만 아니라 게임 실행부(200)의 요청에 의하여 수신된 게임 데이터를 포함한다. On the other hand, the data manager 380 lists the received game data (s2400). The game data listed in this way includes not only the game data received using the game data list but also the game data received by the request of the game execution unit 200.

이렇게 데이터 매니저(380)의 동작 중에 게임 실행부(200)로부터 게임 데이 터 요청이 수신되면(s2500), 데이터 매니저(380)는 요청된 게임 데이터를 작성된 게임 데이터 리스트와 비교하여, 요청된 게임 데이터가 작성된 게임 데이터 리스트에 있는지 판단한다(s2600). When the game data request is received from the game execution unit 200 during the operation of the data manager 380 as described above (s2500), the data manager 380 compares the requested game data with the created game data list, and requests the requested game data. It is determined whether is in the created game data list (S2600).

요청된 게임 데이터가 작성된 게임 데이터 리스트에 있는 경우, 데이터 매니저(380)는 해당 게임 데이터를 게임 실행부(200)에 전송한다(s2700). If the requested game data is in the created game data list, the data manager 380 transmits the game data to the game execution unit 200 (s2700).

요청된 게임 데이터가 작성된 게임 데이터 리스트에 없는 경우, 데이터 매니저(380)는 해당 게임 데이터를 서버(200)로부터 수신하여 저장하고, 게임 실행부(200)에 전송한다(s2800). 이때, 서버(200)로의 해당 게임 데이터의 요청은 다른 게임 데이터의 요청 보다 우선 순위로 처리한다. If the requested game data is not in the created game data list, the data manager 380 receives and stores the game data from the server 200 and transmits the game data to the game execution unit 200 (s2800). At this time, the request of the game data to the server 200 is processed in priority over the request of the other game data.

이때, 서버 시스템(400)로부터 수신 받은 게임 데이터의 형식이 게임 실행부(200)에서 처리 가능한 데이터 형식과 상이한 경우, 게임 로딩부(300)는 서버 시스템(400)로부터 수신 받은 게임 실행 데이터의 형식을 게임 실행부(200)에서 처리 가능한 데이터 형식으로 변환한다. At this time, if the format of the game data received from the server system 400 is different from the data format that can be processed by the game execution unit 200, the game loading unit 300 is the format of the game execution data received from the server system 400 To the data format that can be processed by the game execution unit 200.

이상에서 본 발명의 바람직한 실시예에 대하여 상세하게 설명하였지만 본 발명은 이에 한정되는 것은 아니며, 그 외의 다양한 변경이나 변형이 가능하다.Although the preferred embodiment of the present invention has been described in detail above, the present invention is not limited thereto, and various other changes and modifications are possible.

본 발명의 실시예에 따른 게임 클라이언트 시스템 및 게임 클라이언트 시스템을 이용한 게임 서비스 제공 방법에서 게임 클라이언트 시스템(100)을 구성하는 게임 실행부(200) 및 게임 로딩부(300)는 각각 상이한 프로세스로 독립적으로 동작한다. In the game client system and the game service providing method using the game client system according to an exemplary embodiment of the present invention, the game execution unit 200 and the game loading unit 300 constituting the game client system 100 may each independently have different processes. It works.

따라서, 게임 실행부(200)와 게임 로딩부(300)가 각각 서로 상이한 프로그램 언어로 작성되어 있다고 하더라도 서버 시스템(400)으로부터 수신 되는 데이터는 게임 로딩부(300)를 통해 게임 실행부(200)에 적합한 데이터 형태로 변환되어 게임 실행부(200)에 전달되고, 게임 실행부(200)로부터 서버 시스템(400)으로 송신되는 데이터도 게임 로딩부(300)를 통해 서버 시스템(400)에 적합한 데이터 형태로 변환되어 서버 시스템(400)로 전달될 수 있다. Therefore, even if the game execution unit 200 and the game loading unit 300 are written in different program languages, respectively, the data received from the server system 400 is transmitted through the game loading unit 300 to the game execution unit 200. Data that is converted into a data format suitable for the game execution unit 200 and transmitted to the server system 400 from the game execution unit 200 is also suitable for the server system 400 through the game loading unit 300 It may be converted into a form and transmitted to the server system 400.

또한, 본 발명의 실시예에 따른 게임 클라이언트 시스템 및 게임 클라이언트 시스템을 이용하는 게임 서비스 제공 방법은 하나의 게임 로딩부(300)가 다수의 게임 실행부(200)와 협력하여 게임 서비스를 수행한다. In addition, in the game client providing method and the game service providing method using the game client system according to an embodiment of the present invention, one game loading unit 300 cooperates with a plurality of game execution units 200 to perform a game service.

따라서, 사용자가 다수의 게임을 하고자 하는 경우라도, 사용자는 하나의 게임 로딩부만을 이용하여 각각의 게임 서비스를 수행하게 되므로, 게임 실행 마다 게임 클라이언트를 교체해야 하는 번거로움이 없고, 게임의 종류와 상관 없이 사용자에게 통일된 서비스를 제공할 수 있게 된다. Therefore, even if the user wants to play a plurality of games, the user performs each game service using only one game loading unit, so there is no need to replace the game client for each game execution, It is possible to provide a unified service to a user regardless.

또한, 본 발명의 실시예에 따른 게임 클라이언트 시스템에서 게임 실행부(200) 및 게임 로딩부(300)는 각각 상이한 프로세스로 독립적으로 동작하므로, 소정의 게임 서비스를 수행하기 위한 게임 실행부(200)를 개발하고자 할 때 프로그램 언어나 기타 개발 환경에 구속됨 없이 개발할 수 있다. In addition, in the game client system according to the embodiment of the present invention, since the game execution unit 200 and the game loading unit 300 operate independently in different processes, the game execution unit 200 for performing a predetermined game service. When developing, you can develop without being bound by the programming language or other development environment.

또한, 게임 서비스 수행을 위해 공통되는 프로세스 부분을 게임 로딩부(300)에서 실행하게 함으로써 게임 실행부(200)는 대응하는 게임 서비스의 수행을 위한 프로세스만을 담당하도록 설계될 수 있다. 따라서 게임 실행부(200)를 적은 용량으로 구현하는 것이 가능하다. 게임 로딩부에서 수행되는 공통 프로세스이라 하더 라도 게임 실행부(200)에서 구현되도록 구성될 수 있다. In addition, by allowing the game loading unit 300 to execute a common process part for performing a game service, the game execution unit 200 may be designed to be responsible only for a process for performing a corresponding game service. Therefore, it is possible to implement the game execution unit 200 with a small capacity. Even if it is a common process performed by the game loading unit, the game executing unit 200 may be configured to be implemented.

또한, 본 발명의 실시예에 따른 게임 클라이언트 시스템은 게임 실행부(200) 및 게임 로딩부(300)는 각각 상이한 프로세스로 독립적으로 동작하므로, 게임 실행부(200)에서 수행이 유리한 프로세스들은 게임 실행부(200)에 할당하고, 게임 로딩부(300)에서 수행이 유리한 프로세스들은 게임 로딩부(300)에 할당 함으로써, 게임 실행부(200) 및 게임 로딩부(300)의 협력에 의한 시너지적 효과를 달성할 수 있다. In addition, in the game client system according to the embodiment of the present invention, since the game execution unit 200 and the game loading unit 300 each independently operate in different processes, processes that are advantageous in the game execution unit 200 may be executed. Processes allocated to the unit 200 and advantageously performed in the game loading unit 300 are allocated to the game loading unit 300, thereby synergistic effects of cooperation between the game execution unit 200 and the game loading unit 300. Can be achieved.

구체적으로 프로그램 언어의 일종인 C/C++ 은 처리 속도가 빠르나 개발 환경이 능률적이지 못하고, C#은 처리 속도는 C/C++ 에 비해 느리나 각종 데이터 베이스나 XML 등을 쉽게 사용가능하고 각종 컨트롤 기능을 부여하기 용이한 장점이 있다. 따라서, 게임 수행을 위해 처리 속도가 높아야 하는 게임 실행부(200)를 C/C++로 작성하고, 각종 데이터 베이스 관리 및 각종 부가 기능을 수행하는 게임 로딩부(300)를 C#으로 작성하는 경우 게임 클라이언트 시스템은 빠른 처리 속도와 풍부한 부가 기능을 동시에 달성하게 되며, 게임 개발자 입장에서도 게임 개발이 보다 용이하게 된다. Specifically, C / C ++, which is a kind of programming language, has a fast processing speed, but its development environment is not efficient. C # has a slower processing speed than C / C ++, but it can easily use various databases or XML and provide various control functions. There is an advantage that it is easy to do. Therefore, in the case of writing the game execution unit 200, which should be processed at high speed in order to execute the game, in C / C ++, and writing the game loading unit 300 that performs various database management and various additional functions in C #, the game client The system achieves both high processing speed and rich add-ons at the same time, making game development easier for game developers.

본 발명의 실시예에 따른 게임 클라이언트 시스템 및 이를 이용하는 게임 서비스 제공 방법은 각각 완전히 다른 프로세스로 독립적으로 동작하는 게임 실행부와 게임 로딩부를 이용한다.The game client system and the game service providing method using the same according to an embodiment of the present invention each use a game execution unit and a game loading unit that operate independently in completely different processes.

따라서, 사용자는 하나의 게임 로딩부만을 이용하여 각각의 게임 서비스를 수행하게 되므로, 게임 실행 마다 게임 클라이언트를 교체해야 하는 번거로움이 없 고, 게임의 종류와 상관 없이 사용자에게 통일된 서비스를 제공 받게 된다. Therefore, since the user performs each game service using only one game loading unit, there is no need to replace the game client every game execution, and the user is provided with a unified service regardless of the type of game. do.

또한, 게임 서비스 개발자는 소정의 게임 서비스를 수행하기 위한 게임 실행부(200)를 개발하고자 할 때 프로그램 언어나 기타 개발 환경에 구속됨 없이 개발할 수 있다. In addition, the game service developer may develop the game execution unit 200 for performing a predetermined game service without being bound by a programming language or other development environment.

또한, 본 발명의 실시예에 따른 게임 클라이언트 시스템 및 이를 이용하는 게임 서비스 제공 방법은 게임 실행부 및 게임 로딩부 각각에서 수행이 유리한 프로세스들을 분리하여 처리하도록 함으로써 시너지적 효과를 달성한다. In addition, the game client system and the game service providing method using the same according to an embodiment of the present invention achieves a synergistic effect by separating and processing processes that are advantageous in the game execution unit and the game loading unit.

Claims (17)

서버와 네트워크로 연결되고, 상기 서버와 통신하여 하나 이상의 게임 서비스를 제공하는 게임 클라이언트 시스템에 있어서,A game client system networked with a server and communicating with the server to provide one or more game services, the game client system comprising: 상기 게임 클라이언트 시스템은 The game client system 상기 게임 서비스에 각각 대응하며, 상기 게임에 대한 고유 프로세스를 수행하는 하나 이상의 게임 실행부 및 At least one game execution unit corresponding to each of the game services, and performing a unique process for the game; 상기 하나 이상의 게임 실행부로부터 사용자가 선택한 게임에 대한 고유 프로세스를 수행하는 게임 실행부를 선택하여 로딩하고, 상기 게임 실행부에서 실행되는 고유 프로세스를 제외한 게임 프로세스를 수행함으로써, 상기 게임 실행부와 함께 사용자에게 상기 게임 서비스를 제공하는 게임 로딩부를 포함하고, By selecting and loading a game execution unit that performs a unique process for a game selected by the user from the one or more game execution units, and performing a game process except for the unique process executed by the game execution unit, the user together with the game execution unit Including a game loading unit for providing the game service to, 상기 게임 실행부는 상기 게임 서비스의 제공을 위해 소정의 게임 데이터가 필요해 지는 경우 상기 게임 로딩부에 상기 게임 데이터를 요청하고, The game executing unit requests the game data to the game loading unit when predetermined game data is needed for providing the game service. 상기 게임 로딩부는 상기 게임 실행부의 게임 데이터 요청에 응답하여 요청된 게임 데이터를 상기 서버로부터 수득하여 상기 게임 실행부로 전달하고, The game loading unit obtains the requested game data from the server in response to a game data request of the game execution unit, and delivers the requested game data to the game execution unit. 상기 게임 실행부와 상기 게임 로딩부는 서로 독립적으로 동작하는 게임 클라이언트 시스템. The game executing unit and the game loading unit operate independently of each other. 제1항에 있어서, The method of claim 1, 상기 게임 로딩부는 The game loading unit 상기 사용자에게 게임 서비스를 제공하기 위해 필요하나, In order to provide a game service to the user, 상기 게임 실행부에서 수행되지 않는 프로세스(이하 '공통 프로세스')를 수행하는 공통 프로세스 모듈을 포함하는 게임 클라이언트 시스템. Game client system including a common process module for performing a process (hereinafter referred to as 'common process') that is not performed in the game execution unit. 제2항에 있어서, The method of claim 2, 상기 공통 프로세스는 The common process is 상기 게임 서비스에 대한 사용자 인증, 사용자 아바타 제공, 게임 선택 인터페이스 제공, 사용자의 게임 채널 및/또는 게임 방 선택 인터 페이스 제공, 또는 사용자의 대기실로의 이동 등을 포함하는 게임 클라이언트 시스템.A user authentication for the game service, providing a user avatar, providing a game selection interface, providing a user's game channel and / or game room selection interface, or moving the user to a waiting room. 제1항에 있어서, The method of claim 1, 상기 게임 로딩부는 The game loading unit 상기 복수의 게임 서비스 각각에 대하여, 상기 게임 서비스의 실행을 위해 필요한 게임 실행 데이터 및/또는 사용자 데이터를 각각 저장하는 사용자 데이터 베이스를 추가 포함하는 게임 클라이언트 시스템. And for each of the plurality of game services, a user database for storing game execution data and / or user data necessary for execution of the game service. 제1항에 있어서, The method of claim 1, 상기 게임 로딩부는 The game loading unit 상기 게임 실행부에서 해당 게임 서비스의 제공을 위해 요청될 게임 데이터를 예측하고 미리 수신하여 저장하는 데이터 매니저를 추가 포함하는 게임 클라이 언트 시스템. And a data manager for predicting, receiving in advance, and storing game data to be requested for providing a corresponding game service in the game execution unit. 제5항에 있어서, The method of claim 5, 상기 데이터 매니저는 The data manager 상기 서버로부터 기 설정되어 저장된 게임 데이터 리스트를 수신 받고, 상기 수신 받은 게임 데이터 리스트상 게임 데이터를 상기 서버로부터 수신하여 저장하는 게임 클라이언트 시스템. Receiving a predetermined list of game data stored in the server, the game client system for receiving and storing the game data on the received game data list from the server. 제1항에 있어서, The method of claim 1, 상기 게임 로딩부는 The game loading unit 상기 게임 로딩부로부터 수신되는 데이터의 형식을 상기 게임 실행부에서의 처리에 적합한 데이터 형식으로 변환하는 데이터 변환 모듈을 추가 포함하는 게임 클라이언트 시스템. And a data conversion module for converting a format of data received from the game loading unit into a data format suitable for processing in the game execution unit. 제1항에 있어서, The method of claim 1, 상기 게임 로딩부는 The game loading unit 로딩된 게임 실행부를 다른 게임 실행부로 교체하는 것으로, 사용자에게 상이한 게임 서비스를 제공할 수 있는 게임 클라이언트 시스템. A game client system capable of providing different game services to a user by replacing a loaded game execution unit with another game execution unit. 제1항에 있어서, The method of claim 1, 상기 게임 실행부와 상기 게임 로딩부가 서로 상이한 프로그램 언어로 작성된 게임 클라이언트 시스템. The game client system and the game loading unit is written in a different programming language. 서버와 네트워크로 연결되고, 하나 이상의 게임 실행부 및 게임 로딩부를 포함하는 게임 클라이언트 시스템을 이용하여 하나 이상의 소정의 게임 서비스를 제공하는 게임 서비스 제공 방법에 있어서, A game service providing method for providing one or more predetermined game services by using a game client system connected to a network by a server and including one or more game executing units and a game loading unit, 상기 게임 로딩부와 독립적으로 동작하는 하나 이상의 게임 실행부로부터 상기 게임 로딩부가 상기 게임 서비스를 제공하는 게임 실행부를 선택하여 로딩하는 단계;Selecting and loading a game executor that provides the game service from the at least one game executor that operates independently of the game loader; 상기 게임 실행부는 상기 게임 서비스의 수행에 필요한 게임 데이터를 상기 게임 로딩부에 요청하는 단계;Requesting, by the game executing unit, game data necessary for performing the game service to the game loading unit; 상기 게임 로딩부는 상기 게임 실행부의 요청에 응답하여 상기 서버로부터 상기 게임 실행부에서 요청된 게임 데이터를 수신하여 상기 게임 실행부에 제공하는 단계; 및The game loading unit receiving game data requested by the game execution unit from the server in response to a request of the game execution unit and providing the game data to the game execution unit; And 상기 게임 실행부는 상기 게임 로딩부로부터 요청된 게임 데이터를 수신 받고, 수신 받은 요청된 게임 데이터를 이용하여 상기 게임 서비스를 제공하는 단계;The game executing unit receiving the requested game data from the game loading unit and providing the game service using the received requested game data; 를 포함하는 게임 서비스 제공 방법. Game service providing method comprising a. 제10항에 있어서, The method of claim 10, 상기 게임 로딩부는 상기 서버로부터 제공되는 게임 서비스에 대한 하나 이 상의 게임 정보를 수신하여 사용자에게 게임 선택 인터 페이스를 제공하는 단계;The game loading unit receiving one or more game information on a game service provided from the server to provide a game selection interface to a user; 상기 사용자가 특정 게임을 선택하는 경우, 상기 게임 로딩부는 상기 서버에 상기 사용자의 게임 선택 정보를 전송하고, 상기 서버로부터 상기 선택된 게임에 대한 게임 채널 정보를 수신하여 사용자에게 게임 채널 인터페이스를 제공하는 단계;When the user selects a specific game, the game loading unit transmits the game selection information of the user to the server, and receives the game channel information for the selected game from the server to provide a game channel interface to the user ; 상기 사용자가 게임 채널을 선택하는 경우, 상기 게임 로딩부는 상기 서버에 상기 사용자의 게임 채널 선택 정보를 전송하고, 상기 사용자를 소정의 게임 대기실로 이동시키는 단계;When the user selects a game channel, transmitting the game channel selection information of the user to the server and moving the user to a predetermined game waiting room; 상기 사용자가 상기 게임을 실행시키는 경우, 상기 게임 로딩부는 상기 게임에 대응하는 게임 실행부를 로딩하는 단계When the user executes the game, loading the game execution unit corresponding to the game; 를 추가 포함하는 게임 서비스 제공 방법. Game service providing method comprising the addition. 제10항에 있어서,The method of claim 10, 상기 게임 로딩부의 상기 게임 실행부 로딩 단계는 The game execution unit loading step of the game loading unit 상기 게임 로딩부는 상기 게임 서비스에 대응하여 기설정되어 서버에 저장된 소정의 게임 실행 데이터 리스트를 수신하고, 상기 수신된 게임 실행 데이터 리스트 상의 게임 실행 데이터를 수신하여 저장하는 단계; The game loading unit receiving a predetermined game execution data list preset in correspondence with the game service and stored in a server, and receiving and storing game execution data on the received game execution data list; 상기 게임 실행부와 상기 게임 로딩부간의 통신 루트를 형성하는 단계; 및Forming a communication route between the game execution unit and the game loading unit; And 상기 게임 실행부는 상기 게임 로딩부로부터 상기 게임 실행 데이터를 수신 받고, 수신 받은 게임 실행 데이터를 이용하여 상기 게임 서비스를 제공하는 단계Receiving the game execution data from the game loading unit and providing the game service using the received game execution data; 를 포함하는 게임 서비스 제공 방법. Game service providing method comprising a. 제10항에 있어서, The method of claim 10, 상기 사용자가 게임 서비스 실행 중 소정의 조건을 충족하는 경우, 상기 게임 로딩부는 상기 조건에 대응하도록 기 설정되어 서버에 저장된 소정의 게임 데이터 리스트를 수신하고, When the user satisfies a predetermined condition during game service execution, the game loading unit receives a predetermined game data list which is preset to correspond to the condition and stored in the server, 상기 게임 로딩부는 수신된 게임 데이터 리스트 상 게임 데이터를 수신하여 저장하는 게임 서비스 제공 방법. The game loading unit receives and stores game data on the received game data list. 제10항에 있어서, The method of claim 10, 상기 서버로부터 수신 받은 게임 데이터 또는 게임 실행 데이터의 형식이 게임 실행부에서 처리 가능한 데이터 형식과 상이한 경우, 상기 게임 로딩부는 상기 서버로부터 수신 받은 게임 데이터 또는 게임 실행 데이터의 형식을 상기 게임 실행부에서 처리 가능한 데이터 형식으로 변환하는 단계If the format of game data or game execution data received from the server is different from the data format that can be processed by the game execution unit, the game loading unit processes the format of game data or game execution data received from the server in the game execution unit. Steps to Convert to Possible Data Types 를 추가 포함하는 게임 서비스 제공 방법. Game service providing method comprising the addition. 제10항에 있어서, The method of claim 10, 상기 사용자의 상기 게임 서비스의 수행 상태를 분석하여, 상기 게임 실행부로부터 요청될 게임 데이터를 예측하는 단계, Predicting game data to be requested from the game execution unit by analyzing a performance state of the game service of the user; 상기 예측 게임 데이터를 상기 서버로부터 미리 수신 받아 저장하는 단계;Receiving and storing the predictive game data from the server in advance; 상기 게임 실행부로부터 게임 데이터 요청이 수신되는 경우, 요청된 게임 데이터를 저장된 예측 게임 데이터와 비교하는 단계; 및 When a game data request is received from the game execution unit, comparing the requested game data with stored predicted game data; And 상기 요청된 게임 데이터가 상기 예측 게임 데이터에 존재하는 경우, 저장된 예측 게임 데이터를 상기 게임 실행부로 전달하는 단계If the requested game data exists in the prediction game data, transferring the stored prediction game data to the game execution unit. 를 추가 포함하는 게임 서비스 제공 방법. Game service providing method comprising the addition. 제10항에 있어서, The method of claim 10, 상기 게임 실행부와 상기 게임 로딩부가 서로 상이한 프로그램 언어로 작성된 게임 서비스 제공 방법. And a game loading unit written in a different programming language. 컴퓨터에서 판독 가능한 기록 매체로서, 제10항 내지 제16항 중 어느 한 항의 게임 서비스 제공 방법을 실행하는 프로그램이 기록된 기록 매체. A computer-readable recording medium having recorded thereon a program for executing the method of providing a game service according to any one of claims 10 to 16.
KR1020050051778A 2005-06-16 2005-06-16 Game client system and game service providing method using the same KR100840617B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020050051778A KR100840617B1 (en) 2005-06-16 2005-06-16 Game client system and game service providing method using the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020050051778A KR100840617B1 (en) 2005-06-16 2005-06-16 Game client system and game service providing method using the same

Publications (2)

Publication Number Publication Date
KR20060131376A true KR20060131376A (en) 2006-12-20
KR100840617B1 KR100840617B1 (en) 2008-06-23

Family

ID=37811450

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020050051778A KR100840617B1 (en) 2005-06-16 2005-06-16 Game client system and game service providing method using the same

Country Status (1)

Country Link
KR (1) KR100840617B1 (en)

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20000060795A (en) * 1999-03-19 2000-10-16 신동호 A multiplayer game service system architecture and method on the internet

Also Published As

Publication number Publication date
KR100840617B1 (en) 2008-06-23

Similar Documents

Publication Publication Date Title
KR100766546B1 (en) Method and system for controling playing of card game artificial intelligence
CN102971705B (en) Application including multiple experience modules
US20050021866A1 (en) Method and data format for synchronizing contents
AU2001271086B2 (en) Methods of transmitting and executing contents of program for hand-held terminal
EP2333661B1 (en) Firmware update apparatus and program
EP1640858B1 (en) Network terminal device, delivery server and client/server system for delivering operating system data and application data
US6600958B1 (en) Management of functionality in a consumer electronics system
US8065679B2 (en) System and method for flexible application hosting on a wireless device
US11356504B2 (en) Methods and systems for orchestrating distributed computing resources
US20160080926A1 (en) Individualized short-range radio communication method, system and central device for the implementation thereof
US20060004764A1 (en) Method and apparatus for accessing web services
US20030172175A1 (en) System for standardizing updates of data on a plurality of electronic devices
US6389466B1 (en) Management of functionality in a consumer electronics system
US20020002605A1 (en) Server/client system and program for implementing application distribution in this server/client system
JPH08190472A (en) System and method for remote installation
CN101383821B (en) Updating method and system for game service installation packet
KR100840617B1 (en) Game client system and game service providing method using the same
CN102053851A (en) Method for remotely editing interface for embedded terminal
CN105740006A (en) Cross-platform service providing method of wearable intelligent device based on transparent computing
KR101814747B1 (en) Method for providing image authoring based on cloud computing, and service apparatus therefor
KR100373093B1 (en) System and method for upgrade of refrigerator over a network
JPH1173399A (en) Adaptive networking service environment constitution system and its recording medium
KR100579806B1 (en) System and Method for Downloading Wireless Internet Service Platform and Mobile Communication Terminal therefor
KR100572668B1 (en) Method for storing mobile commerce application on a terminal memory
EP1657638A1 (en) System and method for downloading a program from a program store location to a mobile device

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
AMND Amendment
J201 Request for trial against refusal decision
B601 Maintenance of original decision after re-examination before a trial
E801 Decision on dismissal of amendment
J301 Trial decision

Free format text: TRIAL DECISION FOR APPEAL AGAINST DECISION TO DECLINE REFUSAL REQUESTED 20070521

Effective date: 20080328

S901 Examination by remand of revocation
E902 Notification of reason for refusal
GRNO Decision to grant (after opposition)
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20110414

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20130329

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20170328

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20180328

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20190325

Year of fee payment: 12