KR20050032657A - Computer readable medium storing a mobile messenger application for providing game service linked to a session initiation protocol based online game providing infrastructure and online game applications executed by the messenger application - Google Patents

Computer readable medium storing a mobile messenger application for providing game service linked to a session initiation protocol based online game providing infrastructure and online game applications executed by the messenger application Download PDF

Info

Publication number
KR20050032657A
KR20050032657A KR1020030068570A KR20030068570A KR20050032657A KR 20050032657 A KR20050032657 A KR 20050032657A KR 1020030068570 A KR1020030068570 A KR 1020030068570A KR 20030068570 A KR20030068570 A KR 20030068570A KR 20050032657 A KR20050032657 A KR 20050032657A
Authority
KR
South Korea
Prior art keywords
game
sip
user
message
messenger
Prior art date
Application number
KR1020030068570A
Other languages
Korean (ko)
Inventor
김종덕
Original Assignee
텔코웨어 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 텔코웨어 주식회사 filed Critical 텔코웨어 주식회사
Priority to KR1020030068570A priority Critical patent/KR20050032657A/en
Publication of KR20050032657A publication Critical patent/KR20050032657A/en

Links

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/30Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
    • A63F13/33Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers using wide area network [WAN] connections
    • A63F13/335Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers using wide area network [WAN] connections using Internet
    • 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
    • A63F13/32Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers using local area network [LAN] connections
    • A63F13/327Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers using local area network [LAN] connections using wireless networks, e.g. Wi-Fi or piconet
    • 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/85Providing additional services to players
    • A63F13/87Communicating with other players during game play, e.g. by e-mail or chat
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

A mobile messenger application program providing a game service by inter-working with an infrastructure providing an on-line game based on SIP(Session Initiation Protocol) is provided to integrate a lobby server and buddy, supply download information for a game application program of the buddy as well as a user, invite the buddy to a game, and supply integrated game related information to the user. A messenger application program(100) includes a messenger user interface(110), a messenger logic process module(120), an SIP receiver(130), an SIP event receiver(130), an SIP transmitting/receiving process module(140), a message interpreting/organizing module(150), and a game downloading and performing module(160). The SIP transmitting/receiving process module(140), the message interpreting/organizing module(150), and the game downloading and performing module(160) are used as a library so as to be used in other game application program. The messenger user interface(110) includes a basic messenger user interface(112) and a game operating user interface(114).

Description

SIP 기반 온라인 게임 제공 인프라와 연동하여 게임 서비스를 제공하는 모바일 메신저 응용 프로그램 및 그 메신저 응용 프로그램에 의해 실행되는 온라인 게임 응용 프로그램을 기록한 컴퓨터가 읽을 수 있는 기록매체{Computer readable medium storing a mobile messenger application for providing game service linked to a Session Initiation Protocol based online game providing infrastructure and online game applications executed by the messenger application}Computer readable medium storing a mobile messenger application for recording a mobile messenger application that provides a game service in conjunction with an SPI-based online game providing infrastructure, and an online game application executed by the messenger application. providing game service linked to a Session Initiation Protocol based online game providing infrastructure and online game applications executed by the messenger application

본 발명은 모바일 온라인 게임을 위하여 사용자의 모바일 단말기에 설치되는 모바일 메신저 응용 프로그램과 게임 응용 프로그램에 관한 것으로서, 특히 SIP(Session Initiation Protocol) 기반 온라인 게임 제공 인프라와 연동하여 사용자의 모바일 단말기 상에서 여러 가지 온라인 게임 응용 프로그램을 실행하는 모바일 메신저 응용 프로그램과 그 메신저 응용 프로그램에 의해 실행되는 온라인 게임 응용 프로그램에 관한 것이다.The present invention relates to a mobile messenger application and a game application installed on a user's mobile terminal for a mobile online game. In particular, the present invention relates to a SIP (Based Session Initiation Protocol) based online game providing infrastructure and provides various online services on a user's mobile terminal. A mobile messenger application running a game application and an online game application executed by that messenger application.

게임이란 플레이어들이 공통의 목표를 가지고 소정의 규칙을 따라서 경쟁하는 것이다. 그리고, 컴퓨터 게임이란 컴퓨터가 마련한 장에서 플레이어들이 컴퓨터가 제시하는 공통의 목표를 두고 컴퓨터가 제시하는 규칙을 따라서 서로 경쟁하는 것이다. 초창기의 컴퓨터 게임은 게임기 또는 개인용 컴퓨터에서 실행되는 게임 프로그램에 의해 1인 또는 2인의 플레이어들에 의해 진행되었다. 그런데, 근래에 인터넷을 비롯한 네트워크가 급격히 발전하면서, 멀티 플레이어들이 참여하는 새로운 형태의 게임으로서 온라인 게임들이 등장하고 있다. 즉, 온라인 게임이란 네트워크, 특히 인터넷 상에서 게임 프로그램을 수행하는 서버에 동시 접속한 다른 플레이어들과 멀티플레이를 즐기는 게임을 말한다.A game is a competition in which players follow a set of rules with a common goal. And computer games mean that players compete in a computer-generated world by following the rules laid down by the computer for a common goal. Early computer games were played by one or two players by game programs running on game machines or personal computers. However, with the recent rapid development of networks including the Internet, online games have emerged as a new type of game in which multiplayer participates. In other words, an online game refers to a game that enjoys multiplayer with other players simultaneously connected to a server executing a game program on a network, particularly the Internet.

온라인 게임에서 게임에 참여하는 방식으로는 로비 서버 방식과 버디 방식이 있다. 로비 서버 방식의 종래의 전통적인 온라인 게임의 경우, 각 게임마다 별도의 로비 서버와 게임 서버가 존재하여야 하고, 사용자가 게임에 참여하기 위해서는 대응하는 게임 응용 프로그램을 먼저 실행하여야 한다. 즉, 특정한 게임 응용 프로그램을 실행하지 않은 상태에서는 그 게임의 상대를 검색하거나, 게임 참여 의사를 로비 서버에 등록하거나, 상대를 초청하고 수락 여부를 확인하는 등의 작업을 수행할 수가 없다. 따라서, 능동적인 게임 참여 이외에 초청 수락을 통한 수동적인 게임 참여는 이루어지지 않는다. 뿐만 아니라, 게임 상대가 없어 로비에 대기할 때에도 게임 응용 프로그램이 구동 상태로 있어야 하는데, 구조상 멀티태스킹이 어려운 모바일 단말기에서는 로비에서 게임을 대기하는 동안 다른 소프트웨어를 이용할 수 없다는 문제점을 지닌다.Participating games in online games include lobby server and buddy. In the conventional traditional online game of the lobby server method, a separate lobby server and a game server must exist for each game, and a user must first execute a corresponding game application program to participate in the game. That is, without executing a specific game application, it is not possible to search for an opponent of the game, register a game participation in the lobby server, or invite an opponent and confirm acceptance. Therefore, passive game participation through invitation acceptance is not made in addition to active game participation. In addition, the game application must be running even when waiting in the lobby because there is no opponent, the mobile terminal is difficult to multi-task due to the problem that you can not use other software while waiting for the game in the lobby.

한편, 마이크로소프트사의 유선 MSN 메신저의 경우 버디(Buddy)와의 게임 기능을 제공하여 유선 환경에서 메신저 기능과 온라인 게임 기능을 연계하고 있다. 이와 같은 버디 방식의 종래의 메신저 연계 온라인 게임에 의하면, 메신저 응용 프로그램에 커뮤니티 기능이 구축되어 특정한 상대를 게임에 초청할 수 있는 메카니즘은 존재하지만, 버디가 어떠한 게임을 다운로드 받아 보유하고 있는지에 대하여 정보를 제공받을 수는 없다. 유선 메신저 연계 온라인 게임에서는 게임 응용 프로그램의 다운로드 자체가 큰 문제가 되지 않지만, 무선 환경에서는 통신 접속료가 네트워크 사용량에 따라 늘어나며 콘텐츠나 소프트웨어가 유료인 경우가 많아 사용자는 자신의 버디와 게임을 하고자 버디가 해당 게임을 이미 다운로드 받아 보유하고 있는지에 대한 정보는 게임의 다운로드 및 초청에 있어 매우 유용하다.Meanwhile, Microsoft's wired MSN Messenger provides game functions with Buddy, linking messenger functions and online game functions in a wired environment. According to the conventional messenger-connected online game of the buddy type, there is a mechanism in which a community function is built in the messenger application to invite a specific opponent to the game, but information on which game the buddy downloads and holds. Can not be provided. In the online game connected with wired messenger, the downloading of game application is not a big problem, but in the wireless environment, the communication connection fee increases according to the network usage and the content or software is often charged. Information about whether the game has already been downloaded and retained is very useful for downloading and inviting games.

또한, 현재의 모바일 게임은 개별 게임간의 연계가 이루어지고 있지 않다. 예를 들어, 여러 게임에서 동일한 사용자 계정이나 아바타를 사용할 수 없다. 또한, 여러 게임을 통합하여 상태를 살펴보거나 게임 관련 정보를 획득할 수가 없다. In addition, the current mobile games are not linked between individual games. For example, you cannot use the same user account or avatar in multiple games. In addition, multiple games can not be integrated to view the status or obtain game-related information.

본 발명은 상기의 문제점들을 해결하기 위하여 창작된 것으로, SIP 기반 온라인 게임 제공 인프라와 연동하여 동작하고, 버디 방식과 로비 서버 방식을 통합한 게임 참여 방식을 지원하고, 사용자 뿐만 아니라 버디의 게임 응용 프로그램 다운로드 정보를 사용자에게 제공하고 버디를 게임에 초청하고, 여러 게임에 대하여 통합된 게임 관련 정보를 사용자에게 제공할 수 있고, SIP 기반으로 세션을 설정하는 모바일 메신저 응용 프로그램과 그 메신저 응용 프로그램에 의해 실행되는 온라인 게임 응용 프로그램을 기록한 컴퓨터가 읽을 수 있는 기록매체를 제공함을 그 목적으로 한다.The present invention was created to solve the above problems, and works in conjunction with the SIP-based online game providing infrastructure, supports the game participation method integrating the buddy method and the lobby server method, the game application program of the buddy as well as the user Launched by a mobile messenger application and its messenger application, which can provide download information to users, invite buddies to games, provide game-integrated game-related information to users, and establish sessions based on SIP It is an object of the present invention to provide a computer-readable recording medium for recording an online game application program.

상기의 목적을 달성하기 위하여, 유/무선 통합 온라인 게임 인프라 시스템과 연동하여 게임 서비스를 제공하는 본 발명에 의한 모바일 메신저 응용 프로그램 및 그 메신저 응용 프로그램에 의해 실행되는 온라인 게임 응용 프로그램을 기록한 컴퓨터가 읽을 수 있는 기록매체는, 유/무선 통합 온라인 게임 인프라 시스템과 연동하여 수신된 SIP 메시지를 해석하고 송신될 SIP 메시지를 구성하고, 인스턴트 메신저 및 프레즌스에 관련된 기본 메신저 사용자 인터페이스와 네트워크 게임 인프라 시스템이 관리하는 모든 게임들에 대하여 게임의 선택, 다운로드 및 게임 상대의 선택을 포함한 게임 운영을 위한 작업들을 사용자에게 표시하고 사용자의 명령을 입력받는 게임 운영 사용자 인터페이스를 구비하고, 사용자에 의해 선택된 게임을 다운로드하고 실행하는 모바일 메신저 응용 프로그램; 및 유/무선 통합 온라인 게임 인프라 시스템과 연동하여 수신된 SIP 메시지를 해석하고 송신될 SIP 메시지를 구성하고, 게임의 수행에 관련된 사용자 인터페이스와 게임의 운영에 관련된 사용자 인터페이스를 구비하고, 상기 모바일 메신저 응용 프로그램에 의해 제공되는 게임 실행 인자를 이용하여 게임의 상대에 세션을 형성하여 게임을 수행하는 온라인 게임 응용 프로그램;을 기록한다.In order to achieve the above object, a computer that records a mobile messenger application and an online game application executed by the messenger application according to the present invention, which provides a game service in conjunction with a wired / wireless integrated online game infrastructure system, can be read. Record media can be connected with wired / wireless integrated online game infrastructure system to interpret received SIP messages, configure SIP messages to be sent, and manage the basic messenger user interface and network game infrastructure system related to instant messenger and presence. For all games, it has a game operation user interface that displays tasks for game operation to the user, including game selection, download, and game opponent selection, and receives user commands, and downloads and executes the game selected by the user. Mobile IM application; And interpreting a received SIP message in association with a wired / wireless integrated online game infrastructure system, constructing a SIP message to be transmitted, a user interface related to playing a game, and a user interface related to operating a game, and the mobile messenger application. An online game application program for performing a game by establishing a session with an opponent of the game by using a game execution factor provided by the program.

상기 모바일 메신저 응용 프로그램은 인스턴트 메신저 및 프레즌스에 관련된 기본 메신저 사용자 인터페이스와 네트워크 게임 인프라 시스템이 관리하는 모든 게임들에 대하여 게임의 선택, 다운로드 및 게임 상대의 선택을 포함한 게임 운영을 위한 작업들을 사용자에게 표시하고 사용자의 명령을 입력받는 게임 운영 사용자 인터페이스를 구비한 메신저 사용자 인터페이스; 메신저 사용자 인터페이스와 관련하여 사용자의 명령, 네트워크를 통한 IMPS/SIP 인프라 서버 및 네트워크 게임 인프라 서버의 메시지를 메시지 해석 및 구성 모듈을 통해 해석하고 처리하는 메신저 논리 처리 모듈; SIP 메시지를 송수신하고, 세션을 생성 관리하고, 메시지 해석 및 구성 모듈을 통해 SIP 메시지에 대한 기본 처리를 수행하는 SIP 송수신 및 기본 처리 모듈; 사용자가 선택한 게임을 네트워크 게임 인프라 시스템의 다운로드 서버로부터 다운로드 받고, 사용자가 선택한 온라인 게임 응용 프로그램에 대한 게인 실행 인자를 생성하여 게임을 실행시키는 게임 다운로드 및 실행 모듈; 및 메신저 논리 처리 모듈, SIP 송수신 및 기본 처리 모듈 및 게임 다운로드 및 실행 모듈의 요청에 따라 문자열 형태의 SIP/XML 메시지를 인자로 받아 파싱하거나, 일반 형식의 정보를 인자로 받아 SIP/XML 메시지를 구성하는 메시지 해석 및 구성 모듈;을 포함하여 구성된다.The mobile messenger application displays operations for game operations including a selection of a game, a download, and a game opponent for all games managed by a basic messenger user interface related to instant messenger and presence and a network game infrastructure system. A messenger user interface having a game operating user interface configured to receive a user command; A messenger logic processing module for interpreting and processing a user command, a message of an IMPS / SIP infrastructure server and a network game infrastructure server through a message interpretation and configuration module in relation to a messenger user interface; A SIP transmission / reception and basic processing module for transmitting and receiving SIP messages, creating and managing sessions, and performing basic processing for SIP messages through a message interpretation and configuration module; A game download and execution module which downloads a game selected by a user from a download server of a network game infrastructure system, generates a gain execution factor for the online game application selected by the user, and executes the game; And parse and accept a SIP / XML message in the form of a string as a request from the messenger logic processing module, the SIP send / receive and basic processing module, and the game download and execution module, or form a SIP / XML message by receiving general format information as a parameter. It is configured to include; message interpretation and configuration module.

상기 온라인 게임 응용 프로그램은 특정의 게임의 진행에 관련된 게임 진행 사용자 인터페이스와 네트워크 게임 인프라 시스템이 관리하는 모든 게임들에 대하여 게임 운영을 위한 작업들을 사용자에게 표시하고 사용자의 명령을 입력받는 게임 운영 사용자 인터페이스를 구비한 게임 사용자 인터페이스; 게임 사용자 인터페이스와 관련하여 사용자의 명령, 네트워크를 통한 IMPS/SIP 인프라 서버 및 네트워크 게임 인프라 서버의 메시지를 메시지 해석 및 구성 모듈을 통해 해석 및 처리하고, SIP 세션 생성을 통해 생성된 데이터 세션에서 주고 받는 게임 메시지를 처리하는 게임 논리 처리 모듈; 상기 메신저 응용 프로그램으로부터 전달받은 게임 실행 인자를 해석하여 처리하는 실행 인자 처리 모듈; SIP 메시지를 송수신하고, 세션을 생성 관리하고, 메시지 해석 및 구성 모듈을 통해 SIP 메시지에 대한 기본 처리를 수행하는 SIP 송수신 및 기본 처리 모듈; 게임 논리 처리 모듈 및 SIP 송수신 및 기본 처리 모듈의 요청에 따라 문자열 형태의 SIP/XML 메시지를 인자로 받아 파싱하거나, 일반 형식의 정보를 인자로 받아 SIP/XML 메시지를 구성하는 메시지 해석 및 구성 모듈; 및 SIP 세션 생성을 통해 생성된 데이터 세션에서 게임 메시지의 송수신을 처리하는 게임 메시지 송수신 모듈;을 포함하여 구성된다.The online game application program displays a game progress user interface related to the progress of a specific game and a game operation user interface for displaying tasks for game operation to the user and inputting a user's command for all games managed by the network game infrastructure system. A game user interface having a; Regarding the game user interface, user commands, messages from the IMPS / SIP infrastructure server and network game infrastructure server over the network are interpreted and processed by the message interpretation and configuration module, and sent and received in data sessions created by SIP session creation. A game logic processing module for processing a game message; An execution factor processing module for analyzing and processing a game execution factor received from the messenger application program; A SIP transmission / reception and basic processing module for transmitting and receiving SIP messages, creating and managing sessions, and performing basic processing for SIP messages through a message interpretation and configuration module; A message interpretation and configuration module for receiving and parsing a SIP / XML message in a string form as a parameter or requesting a general format information as a parameter according to a request of a game logic processing module and a SIP transmission / reception and basic processing module; And a game message transmission / reception module configured to process transmission and reception of a game message in a data session generated by generating a SIP session.

이하에서, 본 발명에 따른 SIP 기반 온라인 게임 제공 인프라와 연동하여 게임 서비스를 제공하는 모바일 메신저 응용 프로그램(이하에서, "메신저 응용 프로그램"이라 한다) 및 그 메신저 응용 프로그램에 의해 실행되는 온라인 게임 응용 프로그램(이하에서, "게임 응용 프로그램"이라 한다)에 대한 바람직한 실시예들을 첨부된 도면에 의거하여 상세하게 설명하기로 한다.Hereinafter, a mobile messenger application (hereinafter referred to as a "messenger application") and an online game application executed by the messenger application for providing a game service in conjunction with a SIP-based online game providing infrastructure according to the present invention. Preferred embodiments of the following (hereinafter referred to as "game application program") will be described in detail with reference to the accompanying drawings.

먼저, 본 발명에서 이용하는 SIP(Session Initiation Protocol)는 인터넷 기술 표준을 담당하는 IETF(Internet Engineering Task Force)에서 제정한 프로토콜로서, 하나 이상의 참가자와의 세션을 설정, 변경, 종료하기 위한 응용 계층의 신호/제어 프로토콜이라 할 수 있다.First, the Session Initiation Protocol (SIP) used in the present invention is a protocol established by the Internet Engineering Task Force (IETF), which is in charge of Internet technology standards, and has a signal of an application layer for establishing, changing, and terminating sessions with one or more participants. It can be called a control protocol.

SIP를 사용하면 다음과 같은 장점들이 있다.Using SIP has the following advantages:

첫째, App1이라는 서비스를 위해 사용자 A와 사용자 B 사이에 세션을 생성하는 경우, 기존에는 사용자 B의 호스트(Host)에 App1이 실행 중인 상태가 아니면 사용자 A가 App1을 실행하여 사용자 B에게 요청하는 세션 생성을 처리할 수가 없지만, SIP를 사용하면 사용자 B의 호스트(Host)에 App1이 실행 중인 상태가 아니더라도 세션 생성 요청을 받은 사용자 B의 SIP 스택이 App1을 구동하여 서비스가 이루어지게 할 수 있다.First, if a session is created between user A and user B for the service named App1, a session in which user A executes App1 to request user B unless App1 is already running on user B's host. Although it cannot handle the creation, using SIP, even if App1 is not running on User B's host, User B's SIP stack receiving the session creation request can run App1 to allow service.

둘째, 세션 생성 시에 IP(Internet Protocol) 주소와 같은 물리적 주소(Host, Machine 구분자)를 사용하는 것이 아니라 전자우편과 유사한 논리적 주소(사용자 구분자, 예를 들어 sip:kimjd@telcoware.com)를 사용한다. 논리적 주소의 라우팅은 SIP 계층에서 프록시(Proxy), 위치정보 서버(Location Server), 레지스트라(Registrar) 등이 담당한다. 이와 같은 논리적 주소의 사용은 사용자의 이동성(User Mobility)을 지원한다. Second, instead of using a physical address (host, machine delimiter) such as an Internet Protocol (IP) address when creating a session, use a logical address (user delimiter, e.g. sip: kimjd@telcoware.com) similar to an email. do. The routing of logical addresses is handled by a proxy, a location server, and a registrar in the SIP layer. The use of such logical addresses supports user mobility.

따라서, SIP를 사용하면 그 자체로 특정 응용 서비스가 제공되는 것은 아니지만 다양한 서비스를 구현할 수 있는 기반이 제공된다.Therefore, using SIP does not provide specific application services by itself, but provides a foundation for implementing various services.

우선, 도 1을 참조하여 본 발명에 의한 메신저 응용 프로그램과 게임 응용 프로그램이 동작하는 주변 환경으로서, SIP 기반 메신저 시스템과 연계한 유/무선 통합 온라인 게임 인프라 시스템에 대하여 살펴보기로 한다. SIP 기반 메신저 시스템과 연계한 유/무선 통합 온라인 게임 인프라 시스템은 게임 로직 서버(40)가 유/무선 단말기(70a, 70b)에 메신저와 연계된 게임 서비스를 제공하도록 지원하는데, IMPS/SIP(Instant Messaging and Presence Service/Session Initiation Protocol) 인프라 시스템(10), 하나 이상의 프레즌스 에이젼트 서버들(30), 네트워크 게임 인프라 시스템(20), 이동통신망 인프라 시스템(60) 및 인터넷(50)을 포함하여 구성된다.First, a wire / wireless integrated online game infrastructure system linked with a SIP-based messenger system will be described as a surrounding environment in which a messenger application program and a game application program according to the present invention operate. Wire / wireless integrated online game infrastructure system linked with SIP-based messenger system supports game logic server 40 to provide game services linked with messenger to wired / wireless terminals 70a and 70b. IMPS / SIP (Instant Messaging) and Presence Service / Session Initiation Protocol) infrastructure system 10, one or more presence agent servers 30, network game infrastructure system 20, mobile communication network infrastructure system 60 and the Internet 50.

여기서, 게임 로직 서버(40)는 개별 게임의 고유 로직(Logic)을 처리해주기 위한 서버로서, 해당 게임의 서비스 제공자가 제공, 운영, 관리한다.Here, the game logic server 40 is a server for processing unique logic of an individual game, and is provided, operated, and managed by a service provider of the corresponding game.

그리고, 유/무선 단말기(70a, 70b)에는 메신저 및 게임 응용프로그램이 설치되는데, 이는 IMPS/SIP, 게임 인프라 라이브러리를 활용하여 개발할 수 있다.In addition, messenger and game applications are installed in the wired / wireless terminals 70a and 70b, which can be developed using IMPS / SIP and a game infrastructure library.

IMPS/SIP, 게임 인프라 라이브러리는 DLL(Dynamic Linking Library)과 같이 여러 응용 프로그램이 공통으로 사용 하도록 구현되고, SIMPLE, SIP 프로토콜 및 관련 신호 처리 흐름을 알지 못하는 개발자도 쉽게 사용할 수 API(Application Programming Interface)를 제공하고, API가 포함할 기본 기능으로 SIP 메시지의 구성, 송신, 수신, 해석 등이 포함됨이 바람직하다. SIP 이벤트 처리 기능은 메신저 또는 관련 게임 응용 프로그램에 SIP 이벤트를 알려 이를 처리하게 할 수 있는 이벤트 처리 메커니즘 제공한다. 한편, IMPS/SIP, 게임 인프라 라이브러리가 반드시 SIP 프로토콜 스택을 포함하여야 하는 것은 아니고, 이미 SIP 스택 및 라이브러리가 있을 경우 이를 활용하여 IMPS/SIP, 게임 인프라 라이브러리를 구성할 수도 있다. IMPS/SIP, 게임 인프라 라이브러리에는 네트워크 게임 인프라 시스템(20)과 연동할 수 있는 API를 포함함으로써, 네트워크 게임 인프라 시스템(20)의 각 구성요소들과 연동 시에도 SIP를 사용하도록 함이 바람직하다.IMPS / SIP and game infrastructure libraries are implemented for common use by multiple applications such as Dynamic Linking Library (DLL), and can be easily used by developers who do not know SIMPLE, SIP protocol and related signal processing flow. It is preferable that the basic functions included in the API include configuration, transmission, reception and interpretation of SIP messages. The SIP event handling feature provides an event handling mechanism that can notify a SIP event to a messenger or related game application and process it. On the other hand, IMPS / SIP, game infrastructure library does not necessarily need to include a SIP protocol stack, if there is already a SIP stack and library may be used to configure IMPS / SIP, game infrastructure library. IMPS / SIP, the game infrastructure library includes an API that can interoperate with the network game infrastructure system 20, so that it is preferable to use SIP even when interworking with each component of the network game infrastructure system 20.

유/무선 단말기(70a, 70b)에 설치될 메신저 응용 프로그램에는 게임을 위해 게임 목록 표시 기능, 게임 관련 제어 메시지(예를 들어, 게임 초청) 처리 및 송/수신 기능, 게임 관련 프레즌서 정보 처리 기능, 게임 다운로드 및 실행 기능, 게임 머니 조회 및 적립 기능 등이 추가된다.The messenger application to be installed in the wired / wireless terminals 70a and 70b includes a game list display function, a game related control message (for example, game invitation), a send / receive function, and a game related presence information processing function for a game. , Game download and run function, game money inquiry and earning function are added.

IMPS/SIP 인프라 시스템(10)은 인스턴트 메시징 서버(Instant Messaging Server : IM 서버)(12), 프레즌스 서버(Presence Server)(13), SIP 프록시(SIP Proxy)(14), SIP 레지스트라(SIP Registrar)(15) 및 PNA 게이트웨이(16)를 구비한다. 인스턴트 메시징 서버(12)는 유/무선 환경하에서 가입자간 인스턴트 메시지를 1:N으로 주고받을 수 있는 서비스를 제공한다. 인스턴트 메시징 서버(12)는 또한 non-SIP 인스턴트 메시징 클라이언트를 위한 SMS(Short Message Service) 기반 인스턴트 메시징 처리 기능 수행하기 위하여 단문메시지서비스 센터(Short Message Service Center : SMSC)(62)와 연동하고, 인스턴트 메시징 회의 세션 관리 기능을 갖는다. 프레즌스 서버(13)는 망 내에 존재하는 프레즌스 정보를 수집하여 관리하고 변경사항이 발생하면 관련 버디나 당사자에게 알려주는 서비스 제공한다. 여기서, 프레즌스 정보라 함은 IMS/CS/PS 클라이언트 온라인 상태, 가입자 상태, 부가 정보(예를 들어, 아바타, 성별 등)를 포함한다. SIP 프록시(14)는 SIP 메시지에 대한 과금 정보 수집하여 전송하고, SIP 레지스트라(15)로부터 수신한 가입자 프로파일 정보에 따라 SIP 세션을 제어하고, SIP 서비스 라우팅 기능을 수행하고, 인스턴트 메시징 서버(12) 및 프레즌스 서버(13)와 연동하여 각종 부가 서비스를 수행한다. SIP 레지스트라(15)는 이동통신망의 고객센터서버(63)와 연동하여 SIP 가입자 서비스 프로파일와 SIP 가입자의 위치 정보를 관리하고, 인스턴트 메시징 멀티미디어 망에서 가입자 권한부여를 검증하고, 서비스 프로파일과 서비스에 따른 SIP 세션 라우팅 정보를 관리한다. SIP 레지스트라(15)는 또한 SIP 프록시(14)와 연동하여 라우팅 정책을 결정한다. PNA 게이트웨이(15)는 프레즌스 에이젼트 서버(30)에서 수집되는 프레즌스 정보를 프레즌스 서버(13)로 전송한다. 이상에서 설명한 IMPS/SIP 인프라 시스템(10)은 통신망 및 서비스 발전 및 통합에 IP(Internet Protocol)로 대표되는 인터넷 기술을 사용하는 All-IP 네트워크라는 비젼을 실현하기 위해 이동통신사업자가 구축하는 인프라이다. 따라서, 이 인프라는 이동통신사업자가 구축하는 것이기는 하지만, 무선망 영역 뿐만 아니라 유선 인터넷 영역을 포괄한다.The IMPS / SIP infrastructure system 10 includes an Instant Messaging Server (IM Server) 12, a Presence Server 13, a SIP Proxy 14, and a SIP Registrar. 15 and a PNA gateway 16. The instant messaging server 12 provides a service that allows 1: N instant messages to be exchanged between subscribers in a wired / wireless environment. The instant messaging server 12 also interoperates with the Short Message Service Center (SMSC) 62 to perform Short Message Service (SMS) based instant messaging processing functions for non-SIP instant messaging clients. Has messaging conference session management function. The presence server 13 collects and manages the presence information existing in the network and provides a service for notifying the relevant buddy or the party when a change occurs. Here, the presence information includes the IMS / CS / PS client online status, subscriber status, and additional information (eg, avatar, gender, etc.). The SIP proxy 14 collects and transmits billing information for the SIP message, controls the SIP session according to the subscriber profile information received from the SIP registrar 15, performs a SIP service routing function, and an instant messaging server 12. And various additional services in association with the presence server 13. The SIP registrar 15 manages the SIP subscriber service profile and the location information of the SIP subscriber in cooperation with the customer center server 63 of the mobile communication network, verifies the subscriber authorization in the instant messaging multimedia network, and SIP according to the service profile and the service. Manage session routing information. The SIP registrar 15 also determines the routing policy in conjunction with the SIP proxy 14. The PNA gateway 15 transmits the presence information collected at the presence agent server 30 to the presence server 13. The IMPS / SIP infrastructure system 10 described above is an infrastructure that a mobile communication company establishes in order to realize the vision of an all-IP network using Internet technology represented by IP (Internet Protocol) for communication network and service development and integration. . Thus, although this infrastructure is built by mobile operators, it covers not only the wireless network but also the wired internet.

프레즌스 에이젼트 서버(30)는 프레즌스 정보를 생성하여 PNA 게이트웨이(16)를 통해 프레즌스 서버(13)에 제공하는데, 아바타 서버(32), 위치정보 서버(33), 기타 프레즌스 엔이젼트 등이 이에 포함될 수 있다.The presence agent server 30 generates the presence information and provides it to the presence server 13 through the PNA gateway 16, which includes an avatar server 32, a location information server 33, and other presence agents. Can be.

네트워크 게임 인프라 시스템(20)은 게임을 등록하고, 사용자의 게임 관련 프로파일 정보를 관리하고, 유/무선 단말기(70a, 70b)로부터 능동대기자 등록정보를 입력받아 관리하고, 유/무선 단말기(70a, 70b)에 설치되는 게임 응용프로그램을 다운로드하고, 게임 머니를 관리한다.The network game infrastructure system 20 registers a game, manages game-related profile information of a user, receives active standby registration information from wired / wireless terminals 70a and 70b, and manages the wired / wireless terminal 70a, Download the game application installed in 70b), and manage the game money.

이동통신망 인프라 시스템(60)은 단문메시지서비스 센터(62), 고객센터 서버(63) 및 과금 서버(64)를 구비하고, 게임 로직 서버(40)가 제공하는 게임 서비스를 무선단말기(70b)로 전달한다.The mobile communication network infrastructure system 60 includes a short message service center 62, a customer center server 63, and a charging server 64, and the game service provided by the game logic server 40 to the wireless terminal 70b. To pass.

인터넷(50)은 게임 로직 서버(40)가 제공하는 게임 서비스를 유선단말기(70a)로 전달한다.The internet 50 delivers the game service provided by the game logic server 40 to the wired terminal 70a.

이하에서, 네트워크 게임 인프라 시스템(20)에 대하여 보다 상세히 설명하기로 한다. 도 1에 의하면, 네트워크 게임 인프라 시스템(20)은 로비 서버(21), 프로파일 서버(22), 다운로드 서버(23), 게임 머니 서버(24) 및 관리 서버(25)를 구비한다. 이와 같은 네트워크 게임 인프라 시스템(20)의 구성요소들은 기능적으로 구분된 것으로, 물리적으로는 하나 또는 둘 이상의 컴퓨터 시스템에 구현될 수 있다.Hereinafter, the network game infrastructure system 20 will be described in more detail. According to FIG. 1, the network game infrastructure system 20 includes a lobby server 21, a profile server 22, a download server 23, a game money server 24, and a management server 25. The components of the network game infrastructure system 20 are functionally divided, and may be physically implemented in one or more computer systems.

로비 서버(21)는 능동 대기자 정보를 생성, 갱신, 삭제하고 지정한 조건에 따라 검색하는 기능을 제공하는 일종의 데이터베이스 서버이다. 여기서, 능동 대기자는 로비 서버(21)에 게임을 하겠다는 의사를 등록한 사용자를 의미한다. 따라서, 로비 서버(21)는 버디(Buddy)가 아닌 사용자들과 게임을 하고자 할 때 필요한 서버이다. The lobby server 21 is a kind of database server that provides a function of creating, updating, deleting active waiting information, and searching according to a specified condition. Here, the active standby means a user who has registered a willingness to play a game on the lobby server 21. Therefore, the lobby server 21 is a server required when playing a game with non-Buddy users.

게이머는 메신저의 버디 메뉴가 아닌 게임 메뉴를 통해 게임 응용 프로그램을 구동한다. 게임 응용 프로그램은 사용자로부터 게임 상대의 검색 조건(예를 들어, 바둑 게임, 급수: 10급 이상, 성별: 남성, 정렬기준: 급수)을 입력 받는다. 게임 상대 검색 조건 항목은 개별 게임마다 다르게 설정할 수 있다. 게임 응용 프로그램은 IMPS/SIP, 게임 인프라 라이브러리를 이용하여 로비 서버(21)로 사용자가 지정한 검색 조건을 포함한 "대전 상대 검색 요청" 명령을 보낸다. 명령을 수신한 로비 서버(21)는 능동 대기자 중에서 조건을 만족하는 대전 상대를 검색하여 그 결과를 "대전 상대 검색 응답" 메시지를 통해 게임 응용 프로그램으로 전송한다. 게임 응용 프로그램이 검색 결과를 활용하는 방식으로 두 가지를 제시할 수 있다. 하나는 자동 상대 설정 방식이고 다른 하나는 수동 상대 설정 방식이다. 수동 상대 설정은 사용자 단말에 검색 결과를 표시하고 사용자로 하여금 결과를 검토한 후 상대를 선택하게 하는 방식이고, 자동 상대 설정은 이러한 사용자의 명시적 관여 없이 특정 상대에게 자동으로 게임 요청을 보내는 것이다. 사용자가 원하는 조건을 만족하는 상대가 없을 경우 "등록" 명령을 통해 자신을 해당 게임에 대한 능동 대기자로 등록할 수 있다. 능동 대기자 등록 시에는 검색 시와 같이 상대 조건을 지정할 수 있다. 또한, 능동 대기자로 대기할 시간을 지정할 수 있다. 따라서, 사용자는 하나 이상의 게임에 대해 능동 대기자로 등록할 수 있다. 게임 응용 프로그램은 게임을 시작하며 로비 서버(21)로 "삭제" 명령을 보내 해당 게이머를 능동 대기자 목록에서 제외하여야 한다. 한편, 로비 서버(21)는 게임 별로 현재 대기 인원, 평균 대기 시간 등의 대기자 현황 정보도 제공한다. 메신저 응용 프로그램은 이를 활용하여 사용자의 게임 선택에 도움을 줄 수 있다.Gamers run game applications through the game menu, not the messenger's buddy menu. The game application receives a search condition of the game opponent (eg, Go game, series: 10 or higher, gender: male, sorted by: series) from the user. The game opponent search condition item may be set differently for each game. The game application program uses the IMPS / SIP and game infrastructure library to send a "match opponent search request" command to the lobby server 21 including the search conditions specified by the user. Upon receiving the command, the lobby server 21 searches for a competitive opponent who satisfies the condition among the active waiters, and transmits the result to the game application program through the "matching opponent search response" message. There are two ways that game applications can use search results. One is automatic relative setting and the other is manual relative setting. Manual opponent setting is a method of displaying a search result on a user terminal and allowing a user to select a opponent after reviewing the result, and automatic opponent setting is to automatically send a game request to a specific opponent without the explicit involvement of such a user. If no opponent satisfies the desired condition, the user can register himself as an active waiter for the game through the "register" command. When registering active waiters, relative conditions can be specified, such as when searching. You can also specify the time to wait as an active waiter. Thus, a user may register as an active waiter for one or more games. The game application starts the game and sends a "delete" command to the lobby server 21 to remove the player from the active wait list. Meanwhile, the lobby server 21 also provides waiting status information such as current waiting number and average waiting time for each game. The messenger application can use this to help the user select a game.

이하에서, 네트워크 게임 인프라 시스템(20)의 로비 서버를 기존 온라인 게임의 로비 서버와 비교하여 설명하기로 한다.Hereinafter, the lobby server of the network game infrastructure system 20 will be described in comparison with the lobby server of the existing online game.

도 2a에 도시된 기존 온라인 게임의 로비 서버의 구조에 의하면, 개별 게임마다 별도의 로비 서버(90a, 90b)가 존재하고 게임별로 대기자 데이터베이스(91a, 91b)를 별도로 관리하고, 로비 서버(90a, 90b)가 클라이언트로부터 수집하는 정보는 사용자 식별자와 IP 주소이고, 세션 생성 단계로 넘어가기 전까지 클라이언트는 로비 서버(90a, 90b)와 연결(Connection)을 계속 유지하여야 한다. 따라서, 기존 온라인 게임의 로비 서버(90a, 90b)의 구조에 의하면, 클라이언트가 무선 단말기인 경우 무선 접속을 계속 유지하여야 하므로 자원 및 비용의 낭비를 초래하게 되고, 게임 응용 프로그램(게임1(92a) 또는 게임2(92b))을 구동한 상태에서 다른 응용 프로그램을 활용하는 것이 용이하지 않으므로 사용자의 편의성을 저해하고, 동시에 여러 개의 게임에 대하여 상대를 기다리는 것이 매우 어려워 사용자의 선택을 제한하게 되고, 운용의 측면에서 산재한 로비 서버들(90a, 90b)을 통합 관리하기 쉽지 않다는 문제점을 갖는다. According to the structure of the lobby server of the existing online game shown in Figure 2a, there is a separate lobby server (90a, 90b) for each individual game, and the standby database (91a, 91b) for each game separately managed, lobby server (90a, The information that 90b) collects from the client is a user identifier and an IP address, and the client must keep a connection with the lobby servers 90a and 90b until the session is created. Therefore, according to the structure of the lobby server (90a, 90b) of the existing online game, if the client is a wireless terminal to maintain a wireless connection, it causes a waste of resources and costs, and the game application program (game 1 (92a) Alternatively, it is not easy to utilize other applications while the game 2 (92b) is being driven, which hinders the user's convenience, and at the same time, it is very difficult to wait for an opponent for several games, thereby limiting the user's selection and operation. It is difficult to integrate and manage lobby servers 90a and 90b interspersed in terms of.

일반적으로 기존 로비 서버(90a, 90b)의 경우 대전 상대를 찾기 위해 채널 및 방의 개념을 사용한다. 사용자는 먼저 채널을 선택한 후 그 채널에 개설된 기존 방에 참가하거나 새로운 방을 생성한다. 이러한 대전 상대 찾기 방법에서는 클라이언트 응용 프로그램이 채널 내의 방의 목록 및 방 내의 사용자 목록을 그 내용이 갱신될 때마다 지속적으로 반영하여 표시할 수 있어야 한다. 이 과정에서 로비 서버(90a, 90b)로부터 클라이언트로 상당 양의 데이터가 빈번하게 전달되어야 하는데, 이는 로비 서버(90a, 90b)에 많은 부하를 주어 하나의 물리적 서버 머신이 지원할 수 있는 사용자의 수에 상당한 제약을 가한다. 뿐만 아니라, 무선 라디오 링크의 대역폭을 고려할 때 이러한 데이터 전송은 링크에 큰 부하로 작용할 수 있으며 전체 무선망의 성능을 저하시킬 수 있다. In general, the existing lobby server (90a, 90b) uses the concept of channel and room to find the opponent. The user first selects a channel and then joins an existing room opened on the channel or creates a new room. In this method of finding a match, the client application program must be able to continuously display and display the list of rooms in the channel and the user list in the room whenever the contents are updated. In this process, a large amount of data must be frequently transferred from the lobby server (90a, 90b) to the client, which puts a heavy load on the lobby server (90a, 90b) to the number of users that one physical server machine can support There are considerable restrictions. In addition, given the bandwidth of the wireless radio link, such data transmission can put a heavy load on the link and degrade the performance of the entire wireless network.

도 2b에 도시된 네트워크 게임 인프라 시스템(20)의 로비 서버의 구조에 의하면, 통합 로비 서버(80)를 통해 동시에 여러 개의 게임을 지원하고, 통합 대기자 데이터베이스(81)를 구축할 수 있고, 게임 상대 검색 기능을 개별 게임 응용 프로그램(82a, 82b)에서 분리하여 메신저 응용 프로그램(84)에서 통합 지원하도록 하고, 통합 로비 서버(80)가 클라이언트로부터 수집하는 정보는 사용자 식별자, 게임 식별자, 상대 조건, 타임아웃 시간이고, IP와 같은 물리적 주소 정보를 수집, 관리하지 않는다. 통합 로비 서버(80)는 등록 시점 이후 사용자가 지정한 타임아웃 시간이 지난 등록은 삭제하여 사용자가 원하지 않는 게임 초청이 발생하지 않도록 함으로써 부하를 줄인다. 본 발명에 의한 통합 로비 서버(80)는 "대기"의 개념이 아닌 "등록"의 개념을 사용한다. 즉, 기존의 로비 서버(90a, 90b)의 경우에는 상대를 찾을 때까지(세션 생성 단계로 넘어가기 전까지) 클라이언트가 로비 서버(90a, 90b)와 연결을 유지한 채 다른 작업을 할 수 없는 블록킹(Blocking) 상태로 기다리는 모형임에 비하여, 본 발명에 의한 통합 로비 서버(80)의 경우 클라이언트가 통합 로비 서버(80)에 게임 ID, 사용자 ID, 상대 조건, 타임아웃 시간을 등록한 채 통합 로비 서버(80)와의 연결을 끊고 다른 작업을 할 수 있는 비블록킹(Non-Blocking) 모형이다. 통합 로비 서버(80)는 조건에 맞는 상대를 찾거나 타임아웃이 발생할 경우 클라이언트로 이를 알리고 클라이언트가 이에 대처하도록 한다. 이를 위하여 클라이언트와 통합 로비 서버(80) 간에는 SIP를 사용한다. 따라서, 클라이언트는 무선 접속을 계속 유지할 필요가 없으며 이에 따른 자원 및 비용의 낭비를 방지할 수 있고, 상대가 나타날 동안에 메신저 응용 프로그램(84)의 다른 기능을 수행하거나 다른 응용 프로그램을 사용할 수 있다. 통합 데이터베이스 및 비블록킹(Non-Blocking) 모형의 특성으로 인해 게이머는 동시에 여러 개의 게임에 대하여 상대를 찾을 수 있고, 그 중 한 게임의 상대가 나타나서 게임을 시작할 경우 나머지 게임에 대한 대기 등록을 삭제하거나 갱신하여 게임 진행을 방해하지 않도록 하는 것이 필요하다. 또한, 통합 로비 서버(80)는 게임 세션 생성을 위한 정보로 논리적 목적지인 사용자 식별자를 클라이언트에 제공한다. 따라서, 본 발명에 의한 통합 로비 서버(80)에 의하면, 공동 사용에 따른 비용이 절감되고, 관리 및 운용이 용이하다.According to the structure of the lobby server of the network game infrastructure system 20 shown in FIG. 2B, it is possible to simultaneously support several games through the integrated lobby server 80 and to establish an integrated waiting database 81, and to play a game opponent. The search function is separated from the individual game applications 82a and 82b so that the messenger application 84 supports the integration, and the information collected by the integrated lobby server 80 from the client may be a user identifier, a game identifier, a relative condition, a time. It is out time and does not collect and manage physical address information such as IP. The integrated lobby server 80 reduces the load by deleting the registration after the timeout time specified by the user after the registration point so that the game invitation that the user does not want occurs. The integrated lobby server 80 according to the present invention uses the concept of "register" rather than the concept of "wait". That is, in the case of the existing lobby server (90a, 90b) blocking until the client can find the other party (before proceeding to the session creation step), the client stays connected to the lobby server (90a, 90b) and can not do anything else In the integrated lobby server 80 according to the present invention, the client registers a game ID, a user ID, a relative condition, and a timeout time with the integrated lobby server 80, whereas the integrated lobby server 80 waits for the integrated lobby server. It is a non-blocking model that can disconnect from (80) and do other work. The integrated lobby server 80 finds a partner who meets the condition or informs the client when a timeout occurs and allows the client to cope with it. To this end, SIP is used between the client and the integrated lobby server 80. Thus, the client does not need to keep a wireless connection and can thus avoid wasting resources and costs, and can perform other functions of the messenger application 84 or use other applications while the other party appears. Due to the nature of the unified database and non-blocking model, gamers can find opponents for multiple games at the same time, and if one of the opponents appears to start the game, delete the waiting registration for the remaining games, It is necessary to update so as not to interfere with the game progress. In addition, the integrated lobby server 80 provides the client with a user identifier that is a logical destination as information for creating a game session. Therefore, according to the integrated lobby server 80 according to the present invention, the cost of joint use is reduced, and management and operation are easy.

본 발명에 의한 통합 로비 서버(80)는 방과 채널의 개념 대신 "조건 검색"이라는 방법을 사용한다. 물론 각 게임 마다 "조건 검색"의 항목 및 내용은 다를 수 있다. 이 방법은 채널 및 방을 뒤져 사용자를 찾는 방법에 비해 키 조작 횟수가 줄기 때문에 사용자의 만족도를 높일 수 있으며 네트워크 트래픽도 상당히 줄일 수 있다. 또한, 통합 로비 서버(80)의 검색 모듈에 대기 시간을 고려하여 처리하도록 함으로써 사용자의 평균 대기 시간도 상당히 줄일 수 있다. 통합 로비 서버(80)는 특성상 모든 게임들의 대기자 상태(예를 들어, <바둑> 현재 대기 인원 30명, 평균 대기 시간 48초, <장기> 현재 대기 인원 48명, 평균 대기 시간 23초)를 종합하여 메신저로 클라이언트에 전달할 수 있다. 이러한 통합 대기자 상태 정보는 사용자의 게임 선택에 도움을 줄 수 있다.The integrated lobby server 80 according to the present invention uses a method called "condition search" instead of the concept of room and channel. Of course, the items and contents of the "condition search" may be different for each game. This method increases user satisfaction and significantly reduces network traffic compared to searching for users by searching channels and rooms. In addition, by allowing the search module of the integrated lobby server 80 to handle the waiting time in consideration, the average waiting time of the user can be significantly reduced. The integrated lobby server 80, by its nature, aggregates the wait states of all games (eg, <Go> 30 current waits, average 48 seconds, <Long> 48 current waits, 23 seconds average). Can be delivered to the client by messenger. This integrated wait state information can help the user select a game.

본 발명에 의한 로비 서버 관련 제어 메시지는 XML(eXtensible Markup Language)을 이용하여 구성되어 SIP를 통해 송, 수신된다. 다음은 로비 서버(21) 관련 제어 메시지들의 이름과 각 메시지의 기본 인자들을 예시한 것이다.The lobby server related control message according to the present invention is constructed using XML (eXtensible Markup Language) and transmitted and received via SIP. The following is an example of the names of the control messages related to the lobby server 21 and the basic parameters of each message.

- 등록 [게임 ID, 사용자 ID, 상대자 조건, 대기 시간 Timeout]-Registration [Game ID, User ID, Partner Condition, Wait Time Timeout]

- 삭제 [사용자 ID]-Delete [user id]

- 대전 상대 검색 요청 [게임 ID, 사용자 ID, 상대자 조건]-Match Search Request [Game ID, User ID, Partner Condition]

- 대전 상대 검색 응답 [게임 ID, [상대자 정보] 목록]-Match Search Response [Game ID, [Relative Information] List]

- 대기자 현황 요청 [게임 ID, 사용자 ID] -Waiting Status Request [Game ID, User ID]

- 대기자 현황 응답 [게임 ID, 평균 대기 시간, 현재 대기 인원, 평균 대기 인원]-Waiting status response [Game ID, average waiting time, current waiting person, average waiting person]

다시 도 1을 참조하면, 프로파일 서버(22)는 사용자의 게임 관련 프로파일 정보를 생성, 갱신, 삭제하고 검색하는 기능을 제공하는 일종의 데이터베이스 서버이다. 여기서, 게임 관련 프로파일 정보란 전적, 급수나 레벨, 보유 아이템 정보 등 개별 게임과 관련하여 개인별로 유지하여야 하는 정보이다. 프로파일 서버(22)는 게임 별로 프로파일 정보의 내용이 달라지므로 XML 등의 기술을 활용하여 여러 가지 다양한 프로파일 정보 형태를 수용할 수 있는 유연한 구조로 구성한다. Referring again to FIG. 1, the profile server 22 is a type of database server that provides a function of creating, updating, deleting, and retrieving game-related profile information of a user. Here, the game-related profile information is information that must be maintained for each individual in relation to an individual game such as record, water supply, level, and item information. Since the profile server 22 has different contents of the profile information for each game, the profile server 22 is configured in a flexible structure that can accommodate various types of profile information using technologies such as XML.

다음은 프로파일 서버(22) 관련 제어 메시지들의 이름과 각 메시지의 기본 인자들을 예시한 것이다.The following is an example of the names of the control messages related to the profile server 22 and the basic parameters of each message.

- 프로파일 조회 요청 [게임 ID, 사용자 ID]-Profile inquiry request [Game ID, User ID]

- 프로파일 조회 응답 [게임 ID, 사용자 ID, 프로파일 내용]-Profile inquiry response [game ID, user ID, profile contents]

- 프로파일 갱신 [게임 ID, 사용자 ID, 갱신 내용]-Profile update [game ID, user ID, update contents]

다운로드 서버(23)는 유/무선 단말기(70a, 70b)의 요청에 따라 대응하는 게임 응용프로그램을 다운로드하고, 과금 서버(64)와 함께 다운로드와 관련된 과금 기능을 수행한다.The download server 23 downloads the corresponding game application program at the request of the wired / wireless terminals 70a and 70b and performs a charging function related to the download together with the charging server 64.

다음은 다운로드 서버(23) 관련 제어 메시지들의 이름과 각 메시지의 기본 인자들을 예시한 것이다.The following illustrates the names of control messages related to the download server 23 and the basic parameters of each message.

- 다운로드 요청 [요청 ID, 게임 ID, 다운로드 목표 사용자 ID, 다운로드 비용 부담자 ID]-Download request [request id, game id, download target user id, download payer id]

- 요청 확인 [요청 ID, 게임 ID, 다운로드 목표 사용자 ID, 다운로드 비용 부담자 ID]-Request Confirmation [Request ID, Game ID, Download Target User ID, Download Payer ID]

게임 머니 서버(24)는 게임 머니의 적립, 사용, 이체, 조회 기능을 제공하는데, 일반 사용자를 위한 계좌와 게임 CP(Contents Provider)를 위한 계좌를 구분한다.The game money server 24 provides a function of earning, using, transferring, and retrieving game money. The game money server 24 distinguishes an account for a general user from an account for a game contents provider (CP).

다음은 게임 머니 서버(24) 관련 제어 메시지들의 이름과 각 메시지의 기본 인자들을 예시한 것이다.The following is an example of the names of the control messages related to the game money server 24 and the basic parameters of each message.

- 적립 [사용자 ID/계좌, 적립금액]-Earn [User ID / Account, Earned Amount]

- 사용 [사용자 ID/계좌, CP 계좌, 사용금액]-Usage [user ID / account, CP account, amount used]

- 이체 [송금자 ID/계좌, 수신자 ID/계좌, 이체 금액]-Transfer [sender ID / account, receiver ID / account, transfer amount]

- 조회 요청 [사용자 ID/계좌]-Inquiry Request [User ID / Account]

- 조회 응답 [사용자 ID/계좌, 현재 잔액]-Inquiry response [User ID / Account, Current Balance]

관리 서버(25)는 게임을 등록하고, 등록된 게임의 목록을 관리하는 각종 데이터베이스를 조회하고 통계처리를 한다. 관리 서버(25)는 사용자별 게임 응용 프로그램의 다운로드 현황을 관리하고, 유/무선 단말기(70a, 70b)의 요청에 따라 타 사용자의 게임 응용 프로그램 다운로드 현황을 제공할 수도 있다. 관리 서버(25)는 또한 유/무선 단말기(70a, 70b)의 요청에 따라 사용자의 비용 부담으로 타 사용자의 유/무선 단말기로 게임 응용 프로그램을 다운로드하도록 제어한다.The management server 25 registers a game, queries various databases for managing a list of registered games, and performs statistical processing. The management server 25 may manage the download status of the game application program for each user, and may provide the download status of the game application program of other users at the request of the wired / wireless terminals 70a and 70b. The management server 25 also controls to download the game application to the wired / wireless terminal of another user at the expense of the user at the request of the wired / wireless terminals 70a and 70b.

도 3에 의하면, 본 발명에 의한 메신저 응용 프로그램(100)은 메신저 사용자 인터페이스(110), 메신저 논리 처리 모듈(120), SIP 이벤트 수신부(130), SIP 송수신 및 기본 처리 모듈(140), 메시지 해석 및 구성 모듈(150), 게임 다운로드 및 실행 모듈(160)을 포함하여 구성된다. 이중, SIP 송수신 및 기본 처리 모듈(140), 메시지 해석 및 구성 모듈(150), 게임 다운로드 및 실행 모듈(160)은 라이브러리화하여 게임 응용 프로그램 또는 기타 다른 응용 프로그램에서 공용으로 사용할 수 있도록 구성하는 것이 바람직하다. According to FIG. 3, the messenger application 100 according to the present invention includes a messenger user interface 110, a messenger logic processing module 120, a SIP event receiving unit 130, a SIP transmission / reception and basic processing module 140, and message interpretation. And a configuration module 150 and a game download and execution module 160. Of these, the SIP send and receive and basic processing module 140, the message interpretation and configuration module 150, and the game download and execution module 160 may be library and configured to be shared for use in game applications or other applications. desirable.

먼저, 메신저 사용자 인터페이스(110)는 인스턴트 메시징 및 프레즌스에 관련된 기본 메신저 사용자 인터페이스(112)와 기본 메신저 사용자 인터페이스(112)에 추가되어 게임을 연계시키기 위한 게임 운영 사용자 인터페이스(114)를 구비한다.First, the messenger user interface 110 includes a basic messenger user interface 112 related to instant messaging and presence, and a game operating user interface 114 for linking games in addition to the basic messenger user interface 112.

기본 메신저 사용자 인터페이스(112)는 인스턴트 메시징/프레즌스의 기본 사용자 인터페이스 기능, 즉 일반적인 모바일 메신저의 사용자 인터페이스 기능과 유사한 기능을 수행한다. 예를 들어, 버디 리스트 및 사용자 상태 정보 등의 프레즌스 정보를 화면에 표시하고, 사용자가 그 내용을 갱신하거나 변경할 수 있는 제어 사용자 인터페이스가 제공된다. 또한, 수신한 인스턴트 메시지를 화면에 표시하고, 저장, 삭제, 응답 등 그 메시지를 처리할 수 있는 제어 사용자 인터페이스가 제공된다. 또한, 메시지를 보낼 상대를 결정하고 메시지를 작성할 수 있는 사용자 인터페이스도 제공된다. 도 4a 내지 도 4c는 기본 메신저 사용자 인터페이스(112)가 제공하는 예시적인 화면들을 도시한다.The basic messenger user interface 112 performs functions similar to the basic user interface functions of instant messaging / presence, that is, the user interface functions of a general mobile messenger. For example, there is provided a control user interface that displays presence information such as a buddy list and user status information on the screen and allows the user to update or change its contents. In addition, a control user interface capable of displaying a received instant message on a screen and processing the message such as storing, deleting, or replying is provided. It also provides a user interface for determining who to send the message to and composing the message. 4A-4C illustrate exemplary screens provided by basic messenger user interface 112.

게임 운영 사용자 인터페이스(114)는 게임 목록 출력, 게임 관련 개인정보 출력, 로비 상태 출력, 상대 검색폼, 다운로드, 게임 머니를 포함하여 게임 운영을 위해 사용자의 명령을 입력받기 위한 사용자 인터페이스이다.The game operation user interface 114 is a user interface for receiving a user's command for game operation, including game list output, game related personal information output, lobby status output, opponent search form, download, and game money.

▲ 게임 목록 출력 UI(User Interface)▲ Game List Output UI (User Interface)

메신저와 연동하여 수행할 수 있는 게임의 목록을 표시하는 기능을 수행한다. 게임의 목록은 네트워크 게임 인프라 시스템(20)의 관리 서버(25)로부터 얻는다. 도 4d는 게임 목록 출력 UI의 예시적인 화면을 도시한 것이다.This function displays a list of games that can be played in conjunction with a messenger. The list of games is obtained from the management server 25 of the network game infrastructure system 20. 4D illustrates an example screen of a game list output UI.

▲ 게임 관련 개인 정보 출력 UI▲ Game related personal information output UI

네트워크 게임 인프라 시스템(20)의 프로파일 서버(22)로부터 얻는 사용자 자신 또는 상대의 게임 관련 정보들, 예를 들어 전적, 급수 등을 표시하는 기능을 수행한다.It performs a function of displaying the game-related information of the user himself or the opponent, for example, record, series, etc., which are obtained from the profile server 22 of the network game infrastructure system 20.

▲ 로비 상태 출력 UI▲ Lobby Status Output UI

네트워크 게임 인프라 시스템(20)의 로비 서버(21)로부터 얻는 개별 게임의 로비 상태 정보, 예를 들어 대기 인원, 평균 대기 시간 등을 표시하는 기능을 수행한다. 도 4e는 로비 상태 출력 UI의 예시적인 화면을 도시한 것이다.It performs a function of displaying the lobby status information, for example, waiting number, average waiting time, etc. of individual games obtained from the lobby server 21 of the network game infrastructure system 20. 4E illustrates an example screen of the lobby status output UI.

▲ 상대 검색 폼(Form) UIRelative Search Form UI

네트워크 게임 인프라 시스템(20)의 관리(Main) 서버(25)로부터 얻는 검색 폼(Form) 정보를 바탕으로, 로비에서 게임 상대를 검색할 조건을 결정할 수 있는 검색 폼 표시 및 처리 기능을 수행한다. 여기서, 검색 폼은 개별 게임 별로 내용과 형태가 달라질 수 있는 유연한 형태이다. 도 4f는 상대 검색 폼 UI의 예시적인 화면을 도시한 것이다.Based on the search form information obtained from the management server 25 of the network game infrastructure system 20, a search form display and processing function for determining a condition to search for a game opponent in the lobby is performed. Here, the search form is a flexible form in which the content and form of each game may vary. 4F illustrates an example screen of the relative search form UI.

▲ 다운로드 UI▲ Download UI

사용자 자신과 버디의 게임 다운로드 상태를 화면에 표시하는 기능을 수행한다. 즉, 사용자가 게임 다운로드를 요청할 수 있는 메뉴를 제공하고, 네트워크 게임 인프라 시스템(20)의 다운로드 서버(23)로부터 다운로드 관련하여 사용자의 확인이 필요할 때 이를 지원한다. 도 4g는 다운로드 UI의 예시적인 화면을 도시한 것이다.Performs the function of displaying the game download status of the user and buddy on the screen. That is, it provides a menu for requesting the user to download the game, and supports this when the user needs to confirm the download from the download server 23 of the network game infrastructure system 20. 4G illustrates an example screen of the download UI.

▲ 게임머니 UI▲ Game Money UI

사용자의 게임머니 정보를 표시한다. 또 사용자가 게임 머니를 충전, 이체, 사용할 수 있는 기능을 제공한다. 도 4h는 게임머니 UI의 예시적인 화면을 도시한 것이다.Display user's game money information. It also provides the ability for users to charge, transfer and use game money. 4H shows an exemplary screen of the game money UI.

메신저 논리 처리부(120)는 일반적인 이벤트 기반(Event Driven) 또는 메시지 기반(Message Driven) 프로그래밍에서 메인 메시지 처리부(Message Loop)와, 개별 이벤트와 메시지를 처리하는 이벤트, 메시지 처리 함수(Event/Message Handler)에 해당하는 기능을 수행한다. 즉, 메신저 사용자 인터페이스(110)를 통한 사용자의 명령, 네트워크를 통한 IMPS/SIP 인프라 서버, 네트워크 게임 인프라 서버의 메시지 등을 상황에 따라 해석하고 처리한다.The messenger logic processor 120 is a main message loop in general event driven or message driven programming, an event processing an individual event and a message, and an event / message handler. Perform the function corresponding to That is, the user's command through the messenger user interface 110, an IMPS / SIP infrastructure server through the network, a message from the network game infrastructure server, and the like are interpreted and processed according to the situation.

메신저 논리 처리부(120)가 처리하는 IMPS/SIP 인프라 서버 또는 네트워크 게임 인프라 서버로부터의 메시지는 SIP 및 XML 형태이다. 메신저 논리 처리부(120)는 메시지의 파싱(Parsing) 및 구성을 위해 메시지 해석 및 구성 모듈(150)을 사용한다. 한편, 모든 IMPS/SIP 메시지를 메신저 논리 처리 모듈(120)이 처리하는 것이 아니라, 기본적으로 SIP 송수신 및 기본 처리 모듈(140)이 SIP 메시지들을 처리하고, 응용 프로그램 수준의 추가 처리가 필요한 메시지들은 메신저 논리 처리 모듈(120)에서 처리될 수 있도록 전해져야 한다. SIP 이벤트 처리부(130)는 이를 위한 기능을 수행한다.Messages from the IMPS / SIP infrastructure server or the network game infrastructure server processed by the messenger logic processing unit 120 are in the form of SIP and XML. The messenger logic processing unit 120 uses the message interpretation and composition module 150 for parsing and constructing a message. Meanwhile, not all IMPS / SIP messages are processed by the messenger logic processing module 120, but the SIP transmission / reception and basic processing module 140 processes the SIP messages by default, and messages requiring further processing at the application level are messengers. It must be communicated so that it can be processed in the logic processing module 120. The SIP event processor 130 performs a function for this.

SIP 송, 수신 및 기본 처리 모듈(140)은 SIP 송수신부(146), 송수신 버퍼(144, 145), SIP 메시지 기본 처리부(141), 세션 정보 유지/관리부(142) 및 에러 처리부(143)를 구비한다.The SIP transmission, reception, and basic processing module 140 includes a SIP transceiver 146, a transmission / reception buffer 144, 145, a SIP message basic processing unit 141, a session information maintenance / management unit 142, and an error processing unit 143. Equipped.

SIP 송수신부(146)는 네트워크를 통해 SIP 메시지를 송수신하고, 이를 위한 소켓 생성, 연결 설정 및 해제 작업 등을 수행한다.The SIP transceiver 146 transmits and receives SIP messages through a network, and performs socket creation, connection establishment, and release operations therefor.

송수신 버퍼(144, 145)는 송신할 메시지, 수신된 메시지를 일시 저장하는 버퍼의 관리 기능을 제공한다.The transmission / reception buffers 144 and 145 provide a management function of a buffer for temporarily storing a message to be transmitted and a received message.

SIP 메시지 기본 처리부(141)는 메시지 해석 및 구성 모듈(150)을 통해 SIP 메시지에 대한 기본 처리를 수행하고, 세션의 생성, 상태 제어, 이벤트 발생 등의 기능을 수행한다.The SIP message basic processing unit 141 performs basic processing on SIP messages through the message interpretation and configuration module 150, and performs functions such as creating a session, controlling a state, and generating an event.

세션 정보 유지/관리부(142)는 세션 정보를 저장하고 관리하는 기능을 제공한다.The session information maintenance / management unit 142 provides a function of storing and managing session information.

에러 처리부(143)는 SIP 관련 에러를 처리 기능을 제공한다.The error processor 143 provides a function for handling SIP related errors.

메시지 해석 및 구성 모듈(150)은 문자열(Text String) 형태인 SIP/XML 메시지를 인자로 받아 파싱(Parsing)하여 이를 이용하는 모듈에서 특정 정보의 유무나 값의 획득을 쉽게 처리할 수 있도록 한다. 또한, 프로그래밍에서 사용하는 일반적인 형식(문자열이나 정수, 실수, Boolean 값 등)의 정보값을 인자로 하여 이용 모듈에서 적절한 SIP/XML 메시지를 쉽게 구성(작성)할 수 있도록 한다. 나아가 특정 기능의 경우 SIP 메시지 분석 및 기본 처리 모듈(140)과 연동하여 적절한 서버나 피어(Peer)에게 구성한 메시지를 전달하는 기능을 제공한다. The message interpretation and configuration module 150 receives and parses a SIP / XML message in the form of a text string as a parameter so that a module using the same can easily handle the presence or absence of specific information or a value. In addition, it makes it possible to easily construct (write) appropriate SIP / XML message in using module by using information value of general form (string, integer, real number, Boolean value, etc.) used in programming. Furthermore, in the case of a specific function, it provides a function of delivering a message configured to an appropriate server or peer by interworking with the SIP message analysis and basic processing module 140.

▲ Session Setup/Control▲ Session Setup / Control

세션 생성 및 제어를 위한 SIP 메시지의 해석 및 구성(또는 작성)을 지원한다.It supports the interpretation and construction (or creation) of SIP messages for session creation and control.

▲ IM Helper▲ IM Helper

SIMPLE 기반의 인스턴트 메시지의 해석 및 구성을 지원한다.It supports the interpretation and composition of SIMPLE based instant messages.

▲ Presence Helper▲ Presence Helper

SIMPLE 기반의 프레즌스 정보의 해석 및 구성을 지원한다.It supports the interpretation and composition of SIMPLE based presence information.

▲ Game Infra Message Helper▲ Game Infra Message Helper

네트워크 게임 인프라 시스템과의 연동을 위한 메시지의 해석 및 구성을 지원한다.Supports interpretation and composition of messages for interworking with network game infrastructure systems.

△ Lobby△ Lobby

로비 서버(21)와의 연동을 위한 메시지의 해석 및 구성을 지원한다.Supports interpretation and configuration of messages for interworking with lobby server 21.

△ Profile△ Profile

프로파일 서버(22)와의 연동을 위한 메시지의 해석 및 구성을 지원한다.Supports interpretation and configuration of messages for interworking with profile server 22.

△ Main△ Main

관리 서버(25)와의 연동을 위한 메시지의 해석 및 구성을 지원한다.Supports interpretation and configuration of messages for interworking with management server 25.

△ Download△ Download

다운로드 서버(23)와 관련한 메시지의 해석 및 구성을 지원한다.It supports the interpretation and configuration of messages related to the download server 23.

△ Money△ Money

게임 머니와 관련한 메시지의 해석 및 구성을 지원한다.It supports the interpretation and construction of messages related to game money.

▲ XML 파서/구성XML Parser / Configuration

메시지 바디(Body)에 있는 XML 부분의 해석 및 XML 구성을 지원한다.Support for parsing and constructing XML from the message body.

▲ SIMPLE/SIP 파서/구성▲ SIMPLE / SIP Parser / Configuration

SIMPLE/SIP 해석 및 구성을 지원한다.SIMPLE / SIP analysis and configuration is supported.

게임 다운로드 및 실행 모듈(160)은 다운로드 처리부(161), 게임 실행부(163) 및 실행 인자 구성부(164)를 구비한다.The game download and execution module 160 includes a download processing unit 161, a game execution unit 163, and an execution factor configuration unit 164.

다운로드 처리부(161)는 다운로드 요청을 다운로드 서버(23)로 보내거나, 다운로드 서버(23)가 보내온 관련 메시지를 처리하는 기능을 수행한다. 또한, 다운로드 처리부(161)는 다운로드 받은 게임에 관한 정보를 다운로드 프로파일(162)에 저장하여 유지, 관리하며, 갱신 시 네트워크 게임 인프라 시스템(20)로 해당 정보를 보낸다.The download processing unit 161 transmits a download request to the download server 23 or performs a function of processing a related message sent by the download server 23. In addition, the download processing unit 161 stores and maintains the information about the downloaded game in the download profile 162, and sends the information to the network game infrastructure system 20 when updating.

게임 실행부(163)는 사용자가 선택한 게임 응용 프로그램을 실행한다. 이때, 실행 인자 구성부(164)를 통해 얻는 실행 인자 정보를 게임 응용 프로그램에게 전달한다.The game execution unit 163 executes the game application program selected by the user. At this time, the execution argument information obtained through the execution argument configuration unit 164 is transmitted to the game application program.

실행 인자 구성부(164)는 게임 실행 때 필요한 인자를 구성한다.Execution factor configuration unit 164 configures the factors necessary for game execution.

도 5에 의하면, 본 발명에 의한 게임 응용 프로그램(200)은 게임 사용자 인터페이스(210), 게임 논리 처리 모듈(220), SIP 이벤트 수신부(230), 실행 인자 처리 모듈(260), SIP 송수신 및 기본 처리 모듈(240), 메시지 해석 및 구성 모듈(250), 게임 메시지 송수신 모듈(270)을 포함하여 구성된다. 앞에서 설명하였듯이, SIP 송수신 및 기본 처리 모듈(240)과 메시지 해석 및 구성 모듈(250)은 라이브러리화하여 여러 응용 프로그램에서 함께 사용하도록 구성된다. 따라서, 이들 모듈은 도 3의 메신저 응용 프로그램에서 이미 설명하였으므로 중복된 설명은 생략하기로 한다.According to FIG. 5, the game application program 200 according to the present invention includes a game user interface 210, a game logic processing module 220, a SIP event receiver 230, an execution factor processing module 260, a SIP transmission and reception, and a basic function. It is configured to include a processing module 240, message interpretation and configuration module 250, game message transmission and reception module 270. As described above, the SIP transmit / receive and basic processing module 240 and the message interpretation and configuration module 250 are configured to be used together in various application programs. Therefore, since these modules have already been described in the messenger application of FIG. 3, duplicate descriptions will be omitted.

게임 사용자 인터페이스(210)는 특정의 게임의 진행에 관련된 게임 진행 사용자 인터페이스(212)와 네트워크 게임 인프라 시스템이 관리하는 모든 게임들에 대하여 게임 운영을 위한 작업들을 사용자에게 표시하고 사용자의 명령을 입력받는 게임 운영 사용자 인터페이스(214)를 구비한다.The game user interface 210 displays tasks for game operation to the user and receives commands from the user for all games managed by the game progress user interface 212 and the network game infrastructure system related to the progress of a specific game. A game operating user interface 214 is provided.

게임 진행 사용자 인터페이스(212)는 도 6a 내지 도 6d에 예시적으로 도시된 바와 같이 개별 게임에 따른 적절한 사용자 인터페이스를 구현한 것이다.The game progress user interface 212 implements an appropriate user interface for an individual game, as illustrated by way of example in FIGS. 6A-6D.

한편, 이하에서 설명되는 게임 운영 사용자 인터페이스(214)는 네트워크 게임 인프라 시스템(20)와 관련한 사용자 인터페이스로서 필수 요소는 아니고, 개별 게임 응용 프로그램마다 필요에 따라 선택적으로 제공할 수 있다.Meanwhile, the game operation user interface 214 described below is not an essential element as a user interface related to the network game infrastructure system 20, and may be selectively provided for each game application program as needed.

▲ 게임 관련 개인 정보 출력 UI▲ Game related personal information output UI

네트워크 게임 인프라 시스템(20)의 프로파일 서버(22)로부터 얻는 사용자 자신 또는 상대의 게임 관련 정보들, 예를 들어 전적, 급수 등을 표시하는 기능을 수행한다.It performs a function of displaying the game-related information of the user himself or the opponent, for example, record, series, etc., which are obtained from the profile server 22 of the network game infrastructure system 20.

▲ 로비 상태 출력 UI▲ Lobby Status Output UI

네트워크 게임 인프라 시스템(20)의 로비 서버(21)로부터 얻는 본 게임의 로비 상태 정보, 예를 들어 대기 인원, 평균 대기 시간 등을 표시하는 기능을 수행한다. 메신저 응용 프로그램(100)에서는 여러 게임에 대해 로비 상태를 확인할 수 있는데 비해 여기서는 자신의 로비 상태 정보만 확인할 수 있다.It performs a function of displaying the lobby status information of the present game obtained from the lobby server 21 of the network game infrastructure system 20, for example, waiting number, average waiting time, and the like. The messenger application 100 can check the lobby status for various games, but here it is possible to check only its own lobby status information.

▲ 상대 검색 폼 UIRelative Search Form UI

네트워크 게임 인프라 시스템(20)의 로비 서버(21)에서 자신의 상대를 검색할 때 사용할 조건을 정하고 그 결과를 확인할 수 있는 기능을 제공한다.The lobby server 21 of the network game infrastructure system 20 provides a function of determining a condition to be used when searching for its opponent and checking the result.

▲ 게임 머니 UI▲ Game Money UI

게임 머니 정보를 출력한다.Output game money information.

게임 논리 처리 모듈(220)은 메신저 논리 처리 모듈(120)과 같이 이벤트, 메시지 기반의 이벤트, 메시지를 처리하는 모듈이다. 게임 논리 처리 모듈(220)은 게임 응용 프로그램(200)이 처리하여야 할 네트워크 메시지의 종류에 따라 세션 생성 및 관리부(222)와 게임 메시지 처리부(224)를 구비한다. 세션 생성 및 관리부(222)는 SIP 기반 신호 처리(Signaling) 메시지를 처리하고, 게임 메시지 처리부(224)는 게임 데이터 정보를 포함하는 일반 게임 메시지를 처리한다. 여기서, 신호 처리 메시지란 세션의 생성 및 관리, IMPS/SIP 인프라 시스템, 네트워크 게임 인프라 시스템과의 연동에 사용하는 메시지를 의미하고, 게임 메시지란 SIP를 통해 생성한 데이터 세션에서 주고 받는 데이터를 의미한다. The game logic processing module 220 is a module that processes events, message-based events, and messages like the messenger logic processing module 120. The game logic processing module 220 includes a session creation and management unit 222 and a game message processing unit 224 according to the type of network message to be processed by the game application program 200. The session creation and management unit 222 processes a SIP-based signaling message, and the game message processing unit 224 processes a general game message including game data information. Here, the signal processing message means a message used for creating and managing a session, interworking with an IMPS / SIP infrastructure system, and a network game infrastructure system, and a game message means data transmitted and received in a data session created through SIP. .

SIP 이벤트 처리부(230)는 메신저 응용 프로그램(100) 에서의 SIP 이벤트 처리부(130)와 같은 기능을 수행한다.The SIP event processor 230 performs the same function as the SIP event processor 130 in the messenger application 100.

실행 인자 처리 모듈(260)은 메신저 응용 프로그램(200)이 게임 응용 프로그램(100) 실행 시 전달한 게임 실행 인자를 해석하여 처리하는 기능을 수행한다.The execution argument processing module 260 analyzes and executes the game execution parameters transmitted by the messenger application 200 when the game application program 100 is executed.

게임 메시지 송수신 모듈(270)은 SIP의 세션 생성 기능을 통해 생성한 데이터 세션에서 실제 데이터의 송수신을 처리하는 모듈이다. SIP에서와 마찬가지로, 게임 메시지 송수신부(273)와 송수신 버퍼(271, 272) 등으로 구성할 수 있다. 이 데이터 세션을 통해 주고 받는 정보는 실제 게임 메시지들이다. Game message transmission and reception module 270 is a module that handles the transmission and reception of the actual data in the data session created through the session creation function of the SIP. As in SIP, the game message transmission / reception unit 273 and transmission / reception buffers 271 and 272 may be configured. The information sent and received through this data session is the actual game messages.

도 7a는 사용자가 로비 서버에 능동 대기자로 등록하는 과정에 대하여 설명한다.FIG. 7A illustrates a process in which a user registers as an active standby in a lobby server.

먼저, 사용자 B가 능동 대기자로 로비 서버에 등록하면(S11), 로비 서버는 프로파일 서버에 사용자 B의 프로파일 정보를 요청하고(S12), 프로파일 서버가 로비 서버에 사용자 B의 프로파일 정보를 전달한다(S13). 이후, 사용자 B의 능동 대기자 대기 시간 타임아웃이 발생하면(S14), 로비 서버는 사용자 B를 능동 대기자에서 삭제하고 사용자 B에게 이를 알린다(S15).First, when user B registers with the lobby server as an active waiter (S11), the lobby server requests user B's profile information from the profile server (S12), and the profile server delivers user B's profile information to the lobby server ( S13). Thereafter, when the active wait timeout of the user B occurs (S14), the lobby server deletes the user B from the active waiter and notifies the user B (S15).

도 7b는 사용자가 로비 서버에 게임 상대의 검색을 요청하는 과정에 대하여 설명한다.7B illustrates a process in which a user requests a search for a game opponent from a lobby server.

먼저, 사용자 B가 능동 대기자로 로비 서버에 등록하고(S21), 사용자 A가 로비 서버에 능동 대기자 검색을 요청하면(S22), 로비 서버는 검색 결과로서 사용자 B를 사용자 A로 전달한다(S23). 이후, 사용자 A는 사용자 B에게 게임에 초대하는 메신저를 보내고, 사용자 B가 이를 수락하는 메신저를 보내, 게임을 시작하게 된다(S24). 게임이 시작되면, 사용자 B는 로비 서버에 능동 대기자에서 삭제할 것을 요청한다(S25).First, when user B registers with the lobby server as an active waiter (S21), and user A requests an active waiter search from the lobby server (S22), the lobby server delivers user B to user A as a search result (S23). . Thereafter, the user A sends a messenger to invite the user B to the game, and the user B sends a messenger to accept the game (S24). When the game starts, user B requests the lobby server to delete from the active waiter (S25).

도 7c는 프로파일 서버 조회 및 갱신 과정에 대하여 설명한다.7C describes a profile server inquiry and update process.

먼저, 사용자 A와 사용자 B의 게임 세션이 설정되면(S31), 사용자 A는 프로파일 서버에 자신 및 사용자 B의 전적 및 프로파일 정보를 요청하여 수신하는데(S32), 이때 전적 정보가 존재하지 않을 경우 해당 레코드를 생성한다. 사용자 B도 프로파일 서버에 자신 및 사용자 A의 전적 및 프로파일 정보를 요청하여 수신한다(S33). 사용자 A와 사용자 B의 게임이 종료되고 게임 결과가 생성되면(S34), 사용자 A는 프로파일 서버에 게임 결과 전송하고(S35), 사용자 B도 프로파일 서버에 게임 결과 전송한다(S36). 이후, 프로파일 서버는 수신한 게임 결과를 정리하여 프로파일/전적 데이터베이스를 갱신한다(S37). 여기서, S32와 S33, S35와 S36의 순서는 바뀔 수 있으며 결과에 영향을 미치지 않는다. First, when a game session between user A and user B is established (S31), user A requests and receives his / her and user B's record and profile information from the profile server (S32). Create a record. User B also requests and receives the information and the profile of the user and user A from the profile server (S33). When the game between the user A and the user B is finished and the game result is generated (S34), the user A transmits the game result to the profile server (S35), and the user B also transmits the game result to the profile server (S36). Thereafter, the profile server cleans up the received game results and updates the profile / history database (S37). Here, the order of S32 and S33, S35 and S36 may be changed and does not affect the result.

도 8는 다운로드 서버로부터 게임 응용 프로그램을 다운로드 받는 과정에 대하여 설명한다.8 illustrates a process of downloading a game application program from a download server.

사용자가 게임 메뉴에서 게임을 선택하면(S41), 해당 게임의 응용 프로그램이 사용자의 유/무선 단말기 상에 설치되어 있는지 여부를 확인하고(S42), 해당 게임의 응용 프로그램이 존재하지 않을 경우 사용자에게 다운로드 여부를 질의한다(S43). 사용자가 다운로드를 승낙하면(S44), 다운로드 서버에 접속하여 해당 게임의 응용 프로그램의 다운로드를 요청하고(S45), 다운로드 서버 정보 이용료 정보를 디스플레이하면서 사용자에게 재확인을 요청한다(S46). 사용자가 재확인 요청에 승낙하면(S47), 응답 메시지를 전송하여 해당 게임의 응용 프로그램을 다운로드하여 사용자의 유/무선 단말기 상에 설치한다(S48).When the user selects a game from the game menu (S41), it is checked whether the application of the game is installed on the user's wired / wireless terminal (S42), and if the application of the game does not exist, the user is notified. Query whether to download (S43). If the user accepts the download (S44), the user accesses the download server to request the download of the application program of the game (S45), and displays the download server information usage fee information and requests the user to reconfirm (S46). If the user approves the reconfirmation request (S47), the response message is transmitted, the application of the game is downloaded and installed on the user's wired / wireless terminal (S48).

본 발명에 의한 유/무선 통합 온라인 게임 인프라 시스템을 이용하는 경우 유/무선 단말기 상에서 사용자는 메신저 응용 프로그램 상에 버디(Buddy)로 등록된 자를 게임 상대로 하여 게임을 수행하거나, 버디(Buddy) 이외의 자를 게임 상대로 하여 게임을 수행할 수 있다.When using the wired / wireless integrated online game infrastructure system according to the present invention, a user on a wired / wireless terminal performs a game against a person registered as a buddy on a messenger application, or a person other than a buddy. The game can be played against the game.

버디(Buddy)로 등록된 자를 게임 상대로 하여 1대1 바둑 게임을 수행하는 시나리오는 다음과 같다.A scenario in which one-to-one Go games are played against a person registered as a buddy is as follows.

1. 사용자 A가 자신의 버디인 B를 선택하고 메뉴에서 게임을 선택한다. 1. User A selects his buddy B and selects a game from the menu.

2. 메신저 사용자 인터페이스(User Interface : UI)는 B와 함께 할 수 있는 게임의 리스트를 나열한다(B의 프레즌스 정보 확인 필요).2. The Messenger User Interface (UI) lists a list of games that can be played with B (need to confirm B's presence information).

3. A는 "바둑"을 선택한다. 메신저 응용 프로그램은 별도의 IM 메시지로 B에게 게임 요청 메시지를 보낸다. 3. A selects "Go". The messenger application sends a game request message to B as a separate IM message.

4. B가 요청에 응하면 B의 단말에서 "바둑" 게임 응용 프로그램을 구동한다. B가 응했음을 뜻하는 메시지를 A로 보낸다.4. When B responds to the request, B's terminal runs the "Go" game application. Send a message to A indicating B responded.

5. 응답 메시지를 확인한 메신저 응용 프로그램은 A의 단말에서 "바둑" 게임을 구동시킨다. "바둑" 게임 응용 프로그램은 메신저 응용 프로그램으로부터 B의 URI 정보를 전달 받는다5. The messenger application confirming the response message runs the game "Go" on the terminal of A. "Go" game application receives the URI information of B from the messenger application

6. 게임 응용 프로그램은 SIP를 이용하여 B와 게임 정보 송, 수신을 위한 세션(Session)을 생성한다. 6. The game application program creates a session for sending and receiving game information with B using SIP.

7. 게임 응용 프로그램은 유/무선 통합 온라인 게임 인프라 시스템을 통해 상대와 자신의 "바둑" 게임 관련 프로파일 정보를 획득하고 화면에 표시한다. 이때, 아바타와 같은 범용 프레즌스 정보를 얻을 수도 있다.7. The game application acquires and displays profile information related to the opponent and his "Go" game through a wired / wireless integrated online game infrastructure system. In this case, general presence information such as an avatar may be obtained.

8. 게임을 시작한다.8. Start the game.

9. 게임이 완료되면 "바둑" 게임 응용 프로그램은 유/무선 통합 온라인 게임 인프라 시스템을 통해 프로파일 정보를 갱신한다. 9. Once the game is complete, the "Go" game application will update the profile information via the wired / wireless integrated online game infrastructure system.

한편, 버디(Buddy)로 이외의 자를 게임 상대로 하여 1대1 바둑 게임을 수행하는 시나리오는 다음과 같다.On the other hand, the scenario of performing a one-to-one Go game with a game other than Buddy as follows.

1. 사용자 A는 게임 메뉴에서 "바둑"을 선택하여 "바둑" 게임 응용 프로그램을 구동한다.1. User A selects "Go" from the game menu to run the "Go" game application.

2. 게임참가 방법을 정한다. 게임참가 방법에는 (1) 아무나 한판, (2) 맞수 찾기, (3) ID로 찾기 등이 구비될 수 있다. "ID로 찾기"는 버디(Buddy)의 경우와 유사하게 동작하도록 구현한다. "맞수 찾기"에서는 상대 조건(급수, 성별 등)을 지정하고 찾기를 요청한다. "아무나 한판"은 조건을 지정하지 않은 대전 상대 검색이다. 이는 내부에서 "대전 상대 검색 요청" 메시지를 생성하여 로비 서버로 전달한다. 2. Decide how to participate in the game. The game participation method may include (1) anyone, (2) find the right number, and (3) find by ID. "Find by ID" is implemented to work similarly to Buddy's case. "Find Exactly" specifies a relative condition (water supply, gender, etc.) and asks for a find. "Anyone bout" is a search for opponent that does not specify a condition. It internally generates a "match opponent search request" message and passes it to the lobby server.

3. 로비 서버는 요청을 수신한 후 현재 로비 서버에 등록된 사용자들 중 조건에 부합하는 사용자가 있는지를 검색한다. 조건에 부합하는 검색자가 없을 경우 현재 검색자가 없음을 A로 알린다.3. After receiving the request, the lobby server checks whether any of the users currently registered with the lobby server meet the conditions. If there is no searcher that matches the condition, let A know that there is no searcher.

4. A에게 현재 조건 부합자가 없음을 알리고 기다릴 것인지를 묻는다. A가 "최대 대기 시간"을 지정하고 기다리기로 결정하면, 게임 응용 프로그램은 등록 메시지를 생성하여 로비 서버로 전달한다. 등록 메시지를 수신한 로비 서버는 프로파일 서버와 연동하여 A의 프로파일 정보를 얻어 저장한다. 이때 A는 "바둑" 게임을 종료할 수도 있고, 다른 게임에 대해서 동시에 대기할 수도 있다.4. Let A know that there are no current condition matchers and ask if you want to wait. If A decides to wait after specifying the "maximum wait time", the game application generates a registration message and forwards it to the lobby server. The lobby server receiving the registration message acquires and stores profile information of A in association with the profile server. At this time, A may end the "go" game or wait for other games at the same time.

5. A의 조건에 부합하는 B가 앞서 설명한 방식으로 "바둑" 게임을 요청한다. 로비 서버는 A가 B의 조건에 부합함을 확인하고 게임에 참여할지 여부를 확인하는 메시지를 A로 보낸다. 5. B, which meets the conditions of A, requests a "go" game in the manner described above. The lobby server sends a message to A confirming that A meets B's criteria and confirming whether or not to join the game.

6. 이후 과정은 버디(Buddy)로부터 게임 요청을 받은 경우와 유사하므로 중복된 설명은 생략한다. 단 게임을 시작하면 로비 서버에서 양자의 정보를 제거하거나 적절히 갱신한다. 6. Since the process is similar to the case of receiving a game request from Buddy, duplicate description is omitted. However, when you start the game, the lobby server will either remove or update both information as appropriate.

이하에서는 무선 단말기의 사용자 인터페이스(UI)를 통해 버디(Buddy)로 등록된 자를 게임 상대로 하여 1대1 바둑 게임을 수행하는 과정에 대하여 설명하기로 한다.Hereinafter, a process of playing a one-to-one Go game with a person registered as a buddy through a user interface (UI) of a wireless terminal as a game opponent will be described.

도 9a는 사용자 [이쁜이]의 메신저 응용 프로그램의 UI로서, 친구 목록 표시 중이다. 사용자 [이쁜이]가 친구들 중 [이창호] 선택하면, 도 9b에 도시된 바와 같이 사용자 [이쁜이]의 메신저 응용 프로그램의 UI에는 친구인 [이창호]와 관련한 프레즌스 정보 (아바타 및 현재 상태 등 포함)와 가능한 서비스가 표시된다. 또한, "게임" 메뉴에는 [이창호]와 함께 할 수 있는 게임 목록이 표시된다. 9A is a UI of a messenger application of a user [pretty], displaying a friend list. If the user [Pretty] selects [Lee Chang-ho] among the friends, the UI of the messenger application of the user [Pretty] is presented with the presence information (including the avatar and the current status) related to the friend [Lee Chang-ho] as shown in FIG. 9B. The service is displayed. In addition, a game list that can be played with [Lee Chang Ho] is displayed in the "Game" menu.

개별 게임 항목 옆의 ○, ◑, ◐, ●는 해당 게임의 다운로드 상태를 표시한 것이다. ○, ◑, ◐, and ● beside each game item indicates the download status of the game.

○: 두 사람 모두 해당 게임 보유○: Both players have the game

◑: 자신([이쁜이])은 보유하고 있지만 상대([이창호])는 보유하지 못함. T: You have yourself ([Pretty]) but not your opponent ([Lee Chang Ho]).

◐: 상대([이창호])는 보유하고 있지만 자신([이쁜이]) 보유하지 못함.Action: The opponent ([Lee Chang-ho]) owns but does not possess himself.

●: 둘 다 보유하지 못함●: Do not hold both

사용자 [이쁜이]가 둘 다 보유하고 있는 "바둑" 게임을 선택하고 [이창호]를 초청하면, 사용자 [이쁜이]의 메신저 응용 프로그램은 상대에게 SIP를 이용하여 "바둑" 초청 메시지 전송 후 이를 도 9c에 도시된 바와 같이 사용자에게 알린다. 초청에 대한 응답이 사용자가 원하는 시간 내에 오지 않을 수 있으며, 이 경우 사용자 [이쁜이]는 자신이 보낸 초청을 취소할 수 있어야 한다. 이는 도 9d에 도시된 바와 같은 설정 창을 통해 수행할 수 있다.If the user [Pretty] selects the "Go" game that both possess and invites [Lee Chang Ho], the user's [Pretty] messenger application sends a "Go" invitation message to the other party using SIP and sends it to FIG. 9C. Notify the user as shown. The response to the invitation may not come within the time that the user wants, in which case the user [sweety] should be able to cancel the invitation. This can be done through the setting window as shown in FIG. 9D.

사용자 [이창호]의 메신저 응용 프로그램은 사용자 [이쁜이]로부터 "바둑" 초청 메시지를 수신하고 이를 도 9e에 도시된 바와 같이 메시지 박스와 같은 형태로 표시할 수 있다. 사용자는 이 초청을 즉각 수락 또는 거부하거나 잠시 결정을 보류할 수 있는데, 보류가 필요한 이유는 수락을 선택할 경우 바로 해당 게임 응용 프로그램이 실행되고 멀티태스킹이 원활하지 않은 환경 또는 조건에서는 사용자가 현재 사용 중인 응용 프로그램에 부정적 영향을 미칠 수 있기 때문이다. [이창호]는 수락을 선택한 것으로 가정한다.The messenger application of the user [Lee Chang-ho] can receive the "Go" invitation message from the user [pretty] and display it in the form of a message box as shown in Figure 9e. The user can immediately accept or reject this invitation, or withhold the decision for a while. The reason for the hold is that if the user chooses to accept, the game application will run immediately and multitasking will not work. This can have a negative impact on the application. [Lee Chang Ho] assumes that you have chosen to accept.

초청 수락 메시지를 수신한 사용자 [이쁜이]의 메신저 응용 프로그램은 도 9f에 도시된 바와 같이 "바둑" 응용 프로그램을 구동한다. 이때 메신저 응용 프로그램은 "바둑" 응용 프로그램이 [이창호]와의 세션 생성 및 게임 수행에 필요한 정보를 게임 실행 인자(Game Execution Parameter)의 형태로 바둑 응용 프로그램에 전달하여야 한다.The messenger application of the user [pretty] receiving the invitation acceptance message runs the "Go" application as shown in Fig. 9F. At this time, the messenger application program should transmit the information necessary for the "Go" application to create a session with [Lee Chang Ho] and perform the game to the Go application in the form of a game execution parameter.

이하에서는 무선 단말기의 사용자 인터페이스(UI)를 통해 버디(Buddy) 이외의 자를 로비 서버를 통해 게임 상대로 찾고 1대1 바둑 게임을 수행하는 과정에 대하여 설명하기로 한다. Hereinafter, a process of searching for a person other than buddy through the lobby server through a user interface (UI) of the wireless terminal as a game opponent and performing a one-to-one Go game will be described.

사용자는 게임 창을 눌러 도 9g에 도시된 바와 같이 이용할 수 있는 게임의 종류 및 게임 대기 상태 등을 확인할 수 있다. 개별 게임을 선택하면, 도 9h에 도시된 바와 같이 게임과 관련한 보다 자세한 내용을 알 수 있고 "참여하기" 항목을 통해 상대를 만나 게임을 할 수 있다. 도 9i는 여러 가지 참여하기 방법들 중에서 "맞수 찾기"를 선택하여 상대를 조건 검색하는 UI를 도시한 것이다. 이러한 조건 검색의 폼(Form)은 게임마다 다르게 설정할 수 있다. 새로운 게임이 추가될 때 마다 이러한 조건 검색 관련 폼은 관리 서버에 게임 프로파일로 등록하여야 하며, 메신저 응용 프로그램은 이 게임 프로파일을 관리 서버로부터 수신하여 표시하고 처리할 수 있어야 한다.The user may press the game window to check the types of games available and game waiting states as shown in FIG. 9G. When selecting an individual game, as shown in FIG. 9H, more detailed information related to the game may be known, and a game may be met with an opponent through the “joining” item. FIG. 9I illustrates a UI for conditionally searching for a partner by selecting “Find Right” among various methods of participating. The form of this condition search can be set differently for each game. Each time a new game is added, the condition search related form should be registered as a game profile in the management server, and the messenger application should be able to receive, display and process this game profile from the management server.

이하에서는 게임 응용 프로그램(200)의 세션 설정 과정에 대하여 설명하기로 한다. Hereinafter, a session setting process of the game application program 200 will be described.

0. 사용자는 메신저 응용 프로그램(100)을 통해 이용할 게임 및 상대를 결정한 후 게임의 실행을 요청한다. 게임 및 상대 선택의 과정은 도 9a 내지 도 9i에 예시된 바와 같다.0. After determining the game and the opponent to use through the messenger application 100, the user requests execution of the game. The process of game and opponent selection is as illustrated in FIGS. 9A-9I.

1. 메신저 응용 프로그램(100)은 게임 실행부(163)를 통해 사용자가 선택한 게임의 실행을 요청한다(모든 게임은 고유의 식별자를 가지며 메신저 응용 프로그램은 이 고유 식별자를 인자로 게임 실행을 요청한다). 게임 응용 프로그램의 실행에는 인자가 필요하다. 대표적인 것인 상대의 URI 정보라고 할 수 있다. 실행 인자 구성부(164)는 상대의 URI 등을 포함한 게임 실행 인자를 구성하여 게임 응용 프로그램(200)에게 전한다.1. The messenger application 100 requests execution of a game selected by the user through the game execution unit 163 (all games have a unique identifier, and the messenger application requests the game execution with this unique identifier as a factor). ). The game application requires an argument to run. The representative URI information can be said. The execution argument constructing unit 164 constructs a game execution factor including the opponent's URI and the like and transmits the result to the game application program 200.

2. 게임 응용 프로그램(200)은 게임 실행 인자의 상대 URI를 이용하여 초청 메시지를 상대에게 전한다. 초청은 SIP를 통해 이루어지며 실제 SIP 메시지의 구성 및 전달은 메시지 해석 및 구성 모듈(150)과 SIP 송수신 및 기본 처리 모듈(140)을 통해 이루어진다.2. The game application program 200 sends an invitation message to the opponent using the relative URI of the game execution argument. The invitation is made through SIP, and the configuration and delivery of the actual SIP message is performed through the message interpretation and configuration module 150 and the SIP transmission and reception and basic processing module 140.

3. 네트워크로 전달된 초청 메시지는 네트워크의 IMPS/SIP 인프라 시스템을 거쳐 상대에게 전해진다. 초청 메시지를 수신한 상대 응용 프로그램이 이를 수락하면 응답 메시지가 게임 응용 프로그램(200)으로 전해진다.3. The invitation message delivered to the network is communicated to the partner via the network's IMPS / SIP infrastructure system. If the opponent application receiving the invitation message accepts the response message, the response message is transmitted to the game application 200.

4. 이후, 양측에 게임 메시지 송수신을 위한 데이터 세션 설정 완료된다.4. After that, data session establishment for transmitting and receiving game messages is completed.

한편, 상술한 본 발명의 실시예는 휴대폰 또는 PDA와 같은 모바일 단말기에서 사용되는 매체 또는 일반적인 범용 컴퓨터에서 사용되는 매체에 기록될 수 있다. 상기 매체는 마그네틱 기록매체(예를 들면, 롬, 플로피 디스크, 하드 디스크 등), 광학적 판독매체(예를 들면, 씨디롬, 디브이디 등), 전기적 기록매체(예를 들면, 플레쉬 메모리, 메모리 스틱 등) 및 캐리어 웨이브(예를 들면, 인터넷을 통한 전송)와 같은 기록매체를 포함한다.Meanwhile, the above-described embodiments of the present invention may be recorded in a medium used in a mobile terminal such as a mobile phone or a PDA or a medium used in a general general purpose computer. The medium may be a magnetic recording medium (e.g., ROM, floppy disk, hard disk, etc.), an optical reading medium (e.g., CD-ROM, DVD, etc.), an electrical recording medium (e.g., flash memory, memory stick, etc.) And record carriers such as carrier waves (eg, transmission over the Internet).

이제까지 본 발명에 대하여 그 바람직한 실시예들을 중심으로 살펴보았다. 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시된 실시예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.So far I looked at the center of the preferred embodiment for the present invention. Those skilled in the art will appreciate that the present invention can be implemented in a modified form without departing from the essential features of the present invention. Therefore, the disclosed embodiments should be considered in descriptive sense only and not for purposes of limitation. The scope of the present invention is shown in the claims rather than the foregoing description, and all differences within the scope will be construed as being included in the present invention.

본 발명에 의하면, 유/무선 통합 온라인 게임 인프라 시스템과 연동하여 동작함으로써, 첫째, 메신저 응용 프로그램이 지원하는 버디 방식과 네트워크 게임 인프라 시스템이 지원하는 로비 서버 방식을 통합한 게임 참여 방식을 사용자에게 제공할 수 있고, 둘째, 사용자 뿐만 아니라 버디의 게임 응용 프로그램 다운로드 정보를 사용자에게 제공함으로써 버디를 게임에 초청할 때 유용하게 활용할 수 있도록 하고, 셋째, 네트워크 게임 인프라 시스템을 통하여 여러 게임에 대하여 통합된 게임 관련 정보를 제공받을 수 있고, 넷째, SIP 기반으로 세션을 설정함으로써 모바일 메신저 응용 프로그램과 게임 응용 프로그램을 설치한 모바일 단말기의 자원을 효율적으로 이용할 수 있다.According to the present invention, by operating in conjunction with a wired / wireless integrated online game infrastructure system, firstly, provide a user a game participation method incorporating a buddy method supported by a messenger application and a lobby server method supported by a network game infrastructure system. Second, by providing not only the user but also the game application download information of the buddy to the user to be useful when inviting the buddy to the game, and third, the integrated game for the various games through the network game infrastructure system Relevant information can be provided. Fourth, by establishing a session based on the SIP, it is possible to efficiently use the resources of the mobile terminal in which the mobile messenger application and the game application are installed.

도 1은 본 발명에 의한 메신저 응용 프로그램과 게임 응용 프로그램이 동작하는 주변 환경으로서, 유/무선 통합 온라인 게임 인프라 시스템의 전체 구성도이다.1 is an overall configuration diagram of a wired / wireless integrated online game infrastructure system as a surrounding environment in which a messenger application program and a game application program operate according to the present invention.

도 2a는 기존 온라인 게임의 로비 서버의 구조를 도시한 것이고, 도 2b는 네트워크 게임 인프라 시스템의 로비 서버의 구조를 도시한 것이다.FIG. 2A illustrates the structure of a lobby server of an existing online game, and FIG. 2B illustrates the structure of a lobby server of a network game infrastructure system.

도 3은 본 발명에 의한 메신저 응용 프로그램의 기능적인 구성을 도시한 것이다.3 illustrates a functional configuration of a messenger application program according to the present invention.

도 4a 내지 도 4h는 각각 메신저 사용자 인터페이스의 예시적인 화면을 도시한 것이다.4A-4H illustrate exemplary screens of a messenger user interface, respectively.

도 5는 본 발명에 의한 게임 응용 프로그램의 기능적인 구성을 도시한 것이다.5 illustrates a functional configuration of a game application program according to the present invention.

도 6a 내지 도 6d는 각각 게임 진행 사용자 인터페이스의 예시적인 화면을 도시한 것이다.6A-6D illustrate exemplary screens of a game progress user interface, respectively.

도 7a는 사용자가 로비 서버에 능동 대기자로 등록하는 과정에 대하여 설명하고, 도 7b는 사용자가 로비 서버에 게임 상대의 검색을 요청하는 과정에 대하여 설명하고, 도 7c는 프로파일 서버 조회 및 갱신 과정에 대하여 설명한다.FIG. 7A illustrates a process in which a user registers as an active standby in a lobby server, FIG. 7B illustrates a process in which a user requests a search for a game opponent from a lobby server, and FIG. 7C illustrates a profile server inquiry and update process. Explain.

도 8은 다운로드 서버로부터 게임 응용 프로그램을 다운로드 받는 과정에 대하여 설명한다.8 illustrates a process of downloading a game application program from a download server.

도 9a 내지 도 9f는 버디로 등록된 자를 게임 상대로 하여 1대1 바둑 게임을 수행하는 과정을 설명하기 위한 무선 단말기의 사용자 인터페이스를 도시한 것이고, 도 9g 내지 도 9i는 로비 서버를 통해 버디 이외의 자를 게임 상대로 찾고 1대1 바둑 게임을 수행하는 과정을 설명하기 위한 무선 단말기의 사용자 인터페이스를 도시한 것이다. 9A to 9F illustrate a user interface of a wireless terminal for explaining a process of performing a one-to-one Go game with a person who is registered as a buddy against a game, and FIGS. 9G to 9I illustrate other than buddy through a lobby server. It illustrates a user interface of a wireless terminal for explaining a process of finding a ruler against a game and performing a one-to-one Go game.

Claims (7)

유/무선 통합 온라인 게임 인프라 시스템과 연동하여 게임 서비스를 제공하는 모바일 메신저 응용 프로그램 및 그 메신저 응용 프로그램에 의해 실행되는 온라인 게임 응용 프로그램을 기록한 컴퓨터가 읽을 수 있는 기록매체에 있어서,Claims [1] A mobile messenger application providing a game service in conjunction with a wired / wireless integrated online game infrastructure system and a computer-readable recording medium recording an online game application executed by the messenger application. 유/무선 통합 온라인 게임 인프라 시스템과 연동하여 수신된 SIP 메시지를 해석하고 송신될 SIP 메시지를 구성하고, 인스턴트 메신저 및 프레즌스에 관련된 기본 메신저 사용자 인터페이스와 네트워크 게임 인프라 시스템이 관리하는 모든 게임들에 대하여 게임의 선택, 다운로드 및 게임 상대의 선택을 포함한 게임 운영을 위한 작업들을 사용자에게 표시하고 사용자의 명령을 입력받는 게임 운영 사용자 인터페이스를 구비하고, 사용자에 의해 선택된 게임을 다운로드하고 실행하는 모바일 메신저 응용 프로그램; 및Interworking with the wired / wireless integrated online game infrastructure system, interprets received SIP messages, configures SIP messages to be sent, and plays the game for all games managed by the basic messenger user interface related to instant messenger and presence and the network game infrastructure system. A mobile messenger application having a game operating user interface for displaying tasks for game operation including a selection, downloading and selection of a game opponent to a user and receiving a user's command, and downloading and executing a game selected by the user; And 유/무선 통합 온라인 게임 인프라 시스템과 연동하여 수신된 SIP 메시지를 해석하고 송신될 SIP 메시지를 구성하고, 게임의 수행에 관련된 사용자 인터페이스와 게임의 운영에 관련된 사용자 인터페이스를 구비하고, 상기 모바일 메신저 응용 프로그램에 의해 제공되는 게임 실행 인자를 이용하여 게임의 상대에 세션을 형성하여 게임을 수행하는 온라인 게임 응용 프로그램;을 기록한 컴퓨터가 읽을 수 있는 기록매체.Interworking with wire / wireless integrated online game infrastructure system, the received SIP message is interpreted, the SIP message to be transmitted is configured, and the user interface related to the operation of the game and the operation of the game is provided, and the mobile messenger application is provided. An online game application program for performing a game by establishing a session with an opponent of a game by using a game execution factor provided by the computer-readable recording medium. 제1항에 있어서, 상기 모바일 메신저 응용 프로그램은The mobile messenger application of claim 1, wherein 인스턴트 메신저 및 프레즌스에 관련된 기본 메신저 사용자 인터페이스와 네트워크 게임 인프라 시스템이 관리하는 모든 게임들에 대하여 게임의 선택, 다운로드 및 게임 상대의 선택을 포함한 게임 운영을 위한 작업들을 사용자에게 표시하고 사용자의 명령을 입력받는 게임 운영 사용자 인터페이스를 구비한 메신저 사용자 인터페이스;For all games managed by the basic messenger user interface related to instant messenger and presence, and the network game infrastructure system, display operations for game operation including user selection, download, and opponent selection, and input user's command. A messenger user interface having a receiving game operating user interface; 메신저 사용자 인터페이스와 관련하여 사용자의 명령, 네트워크를 통한 IMPS/SIP 인프라 서버 및 네트워크 게임 인프라 서버의 메시지를 메시지 해석 및 구성 모듈을 통해 해석하고 처리하는 메신저 논리 처리 모듈;A messenger logic processing module for interpreting and processing a user command, a message of an IMPS / SIP infrastructure server and a network game infrastructure server through a message interpretation and configuration module in relation to a messenger user interface; SIP 메시지를 송수신하고, 세션을 생성 관리하고, 메시지 해석 및 구성 모듈을 통해 SIP 메시지에 대한 기본 처리를 수행하는 SIP 송수신 및 기본 처리 모듈;A SIP transmission / reception and basic processing module for transmitting and receiving SIP messages, creating and managing sessions, and performing basic processing for SIP messages through a message interpretation and configuration module; 사용자가 선택한 게임을 네트워크 게임 인프라 시스템의 다운로드 서버로부터 다운로드 받고, 사용자가 선택한 온라인 게임 응용 프로그램에 대한 게인 실행 인자를 생성하여 게임을 실행시키는 게임 다운로드 및 실행 모듈; 및A game download and execution module which downloads a game selected by a user from a download server of a network game infrastructure system, generates a gain execution factor for the online game application selected by the user, and executes the game; And 메신저 논리 처리 모듈, SIP 송수신 및 기본 처리 모듈 및 게임 다운로드 및 실행 모듈의 요청에 따라 문자열 형태의 SIP/XML 메시지를 인자로 받아 파싱하거나, 일반 형식의 정보를 인자로 받아 SIP/XML 메시지를 구성하는 메시지 해석 및 구성 모듈;을 포함함을 특징으로 하는 모바일 메신저 응용 프로그램 및 온라인 게임 응용 프로그램을 기록한 컴퓨터가 읽을 수 있는 기록매체.According to the request of the messenger logic processing module, the SIP sending / receiving and basic processing module, and the game download and execution module, the SIP / XML message in the form of a string is received and parsed, or the general format information is received in the form of a SIP / XML message. A computer-readable recording medium recording a mobile messenger application and an online game application, comprising: a message interpretation and configuration module. 제2항에 있어서, 상기 게임 운영 사용자 인터페이스는3. The game operating user interface of claim 2, wherein 게임 목록 출력, 게임 관련 개인정보 출력, 로비 상태 출력, 상대 검색폼, 다운로드, 게임 머니를 포함하여 게임 운영을 위해 사용자의 명령을 입력받기 위한 사용자 인터페이스임을 특징으로 하는 모바일 메신저 응용 프로그램 및 온라인 게임 응용 프로그램을 기록한 컴퓨터가 읽을 수 있는 기록매체.Mobile messenger application and online game application, which is a user interface for inputting user's command for game operation including game list output, game related personal information output, lobby status output, opponent search form, download, and game money. The computer-readable recording medium that recorded the program. 제2항에 있어서, 상기 기본 메신저 사용자 인터페이스는The method of claim 2, wherein the basic messenger user interface is 버디와 함께 수행하는 게임 응용 프로그램과 연계시키는 사용자 인터페이스를 구비함을 특징으로 하는 모바일 메신저 응용 프로그램 및 온라인 게임 응용 프로그램을 기록한 컴퓨터가 읽을 수 있는 기록매체.A computer-readable recording medium recording a mobile messenger application and an online game application, the user interface being associated with a game application performed with a buddy. 제2항에 있어서, 상기 SIP 송수신 및 기본 처리 모듈은The method of claim 2, wherein the SIP transmission and reception and the basic processing module 네트워크를 통해 SIP 메시지를 송수신하고, 이를 위한 소켓 생성, 연결 설정 및 해제 작업을 수행하는 SIP 송수신부;A SIP transceiver for transmitting / receiving a SIP message through a network, and generating a socket, establishing a connection, and releasing a connection therefor; 수신된 메시지를 일시 저장하는 수신 버퍼;A reception buffer for temporarily storing the received message; 송신할 메시지를 일시 저장하는 송신 버퍼;A transmission buffer for temporarily storing a message to be sent; 메시지 해석 및 구성 모듈을 통해 SIP 메시지에 대한 기본 처리를 수행하고, 세션의 생성 및 관리 기능을 수행하는 SIP 메시지 기본 처리부;A SIP message basic processing unit that performs basic processing of SIP messages through a message interpretation and configuration module, and performs a function of creating and managing a session; 세션 정보를 저장하고 관리하는 세션 정보 유지/관리부; 및A session information maintenance / management unit for storing and managing session information; And SIP 관련 에러를 처리하는 에러 처리부;를 구비하는 것을 특징으로 하는 모바일 메신저 응용 프로그램 및 온라인 게임 응용 프로그램을 기록한 컴퓨터가 읽을 수 있는 기록매체.And an error processing unit for processing SIP-related errors. The computer-readable recording medium recording the mobile messenger application and the online game application. 제1항에 있어서, 상기 온라인 게임 응용 프로그램은The method of claim 1, wherein the online game application 특정의 게임의 진행에 관련된 게임 진행 사용자 인터페이스와 네트워크 게임 인프라 시스템이 관리하는 모든 게임들에 대하여 게임 운영을 위한 작업들을 사용자에게 표시하고 사용자의 명령을 입력받는 게임 운영 사용자 인터페이스를 구비한 게임 사용자 인터페이스;A game user interface having a game progress user interface related to a specific game progress and a game operation user interface for displaying tasks for game operation to users and receiving user commands for all games managed by the network game infrastructure system. ; 게임 사용자 인터페이스와 관련하여 사용자의 명령, 네트워크를 통한 IMPS/SIP 인프라 서버 및 네트워크 게임 인프라 서버의 메시지를 메시지 해석 및 구성 모듈을 통해 해석 및 처리하고, SIP 세션 생성을 통해 생성된 데이터 세션에서 주고 받는 게임 메시지를 처리하는 게임 논리 처리 모듈;Regarding the game user interface, user commands, messages from the IMPS / SIP infrastructure server and network game infrastructure server over the network are interpreted and processed by the message interpretation and configuration module, and sent and received in data sessions created by SIP session creation. A game logic processing module for processing a game message; 상기 메신저 응용 프로그램으로부터 전달받은 게임 실행 인자를 해석하여 처리하는 실행 인자 처리 모듈;An execution factor processing module for analyzing and processing a game execution factor received from the messenger application program; SIP 메시지를 송수신하고, 세션을 생성 관리하고, 메시지 해석 및 구성 모듈을 통해 SIP 메시지에 대한 기본 처리를 수행하는 SIP 송수신 및 기본 처리 모듈;A SIP transmission / reception and basic processing module for transmitting and receiving SIP messages, creating and managing sessions, and performing basic processing for SIP messages through a message interpretation and configuration module; 게임 논리 처리 모듈 및 SIP 송수신 및 기본 처리 모듈의 요청에 따라 문자열 형태의 SIP/XML 메시지를 인자로 받아 파싱하거나, 일반 형식의 정보를 인자로 받아 SIP/XML 메시지를 구성하는 메시지 해석 및 구성 모듈; 및A message interpretation and configuration module for receiving and parsing a SIP / XML message in a string form as a parameter or requesting a general format information as a parameter according to a request of a game logic processing module and a SIP transmission / reception and basic processing module; And SIP 세션 생성을 통해 생성된 데이터 세션에서 게임 메시지의 송수신을 처리하는 게임 메시지 송수신 모듈;을 포함함을 특징으로 하는 모바일 메신저 응용 프로그램 및 온라인 게임 응용 프로그램을 기록한 컴퓨터가 읽을 수 있는 기록매체.And a game message transmission / reception module configured to handle transmission and reception of a game message in a data session generated by creating a SIP session. A computer-readable recording medium recording a mobile messenger application and an online game application. 제6항에 있어서, 상기 게임 운영 사용자 인터페이스는7. The game operating user interface of claim 6, wherein 게임 관련 개인정보 출력, 로비 상태 출력, 게임 머니 중 하나 이상을 포함하여 게임 운영을 위해 사용자의 명령을 입력받기 위한 사용자 인터페이스임을 특징으로 하는 모바일 메신저 응용 프로그램 및 온라인 게임 응용 프로그램을 기록한 컴퓨터가 읽을 수 있는 기록매체.A computer that records mobile messenger applications and online game applications that includes a user interface for receiving user commands for game operations, including one or more of game-related personal information output, lobby status output, and game money. Recording media.
KR1020030068570A 2003-10-02 2003-10-02 Computer readable medium storing a mobile messenger application for providing game service linked to a session initiation protocol based online game providing infrastructure and online game applications executed by the messenger application KR20050032657A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020030068570A KR20050032657A (en) 2003-10-02 2003-10-02 Computer readable medium storing a mobile messenger application for providing game service linked to a session initiation protocol based online game providing infrastructure and online game applications executed by the messenger application

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020030068570A KR20050032657A (en) 2003-10-02 2003-10-02 Computer readable medium storing a mobile messenger application for providing game service linked to a session initiation protocol based online game providing infrastructure and online game applications executed by the messenger application

Publications (1)

Publication Number Publication Date
KR20050032657A true KR20050032657A (en) 2005-04-08

Family

ID=37237052

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020030068570A KR20050032657A (en) 2003-10-02 2003-10-02 Computer readable medium storing a mobile messenger application for providing game service linked to a session initiation protocol based online game providing infrastructure and online game applications executed by the messenger application

Country Status (1)

Country Link
KR (1) KR20050032657A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013147403A1 (en) * 2012-03-30 2013-10-03 Nhn Corporation System and method for providing avatar/game/entertainment functions on messenger platform
WO2013187570A1 (en) * 2012-06-12 2013-12-19 Line Corporation Messenger-linked service system and method using a social graph of a messenger platform

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013147403A1 (en) * 2012-03-30 2013-10-03 Nhn Corporation System and method for providing avatar/game/entertainment functions on messenger platform
WO2013187570A1 (en) * 2012-06-12 2013-12-19 Line Corporation Messenger-linked service system and method using a social graph of a messenger platform

Similar Documents

Publication Publication Date Title
US6699125B2 (en) Game server for use in connection with a messenger server
US20020065097A1 (en) System for arranging interactive games between players via multimode communication devices
US9407491B2 (en) Realization of presence management
US8745138B2 (en) Method, apparatus and system for joining online game
EP1207651B1 (en) Method and device for messaging
JP4214941B2 (en) Presence information providing system, method and server
CN101068194B (en) Method and system for realizing on-line game invitation
KR101372011B1 (en) Method and device for maintaining sessions based on presence status information
CN104245069B (en) Management devices and control method
EP1194876B1 (en) Method and apparatus in a communication network
Akkawi et al. A mobile gaming platform for the IMS
KR20000060795A (en) A multiplayer game service system architecture and method on the internet
JP4363942B2 (en) Server, communication control method, and program
KR100929161B1 (en) Community service system and method for interworking between online game user and offline user
KR20050032657A (en) Computer readable medium storing a mobile messenger application for providing game service linked to a session initiation protocol based online game providing infrastructure and online game applications executed by the messenger application
KR20030017043A (en) integrated internet communication system, integrated internet communication method, storage media where the same method written thereon, and an apparatus for integrated internet communication
KR20050029050A (en) An integrated wired and wireless online game infrastructure system linked to a session initiation protocol based messenger system
CN102668494A (en) Monitoring of a data-exchange session between terminals belonging to a first user and at least one terminal belonging to a second user
CN103338192B (en) Network node and method for setting up calling between a caller and a callee
KR100616605B1 (en) System for executing game based mobile instant messaging service and method thereof
JP3453616B2 (en) Communication method, communication system, mail server, and recording medium
Jia et al. Session and signaling control in mobile network game platform
JP2003126556A (en) Method and system for implementing network game using semantic information network, terminal, program and recording medium
KR100931726B1 (en) ISM chat module based content providing apparatus and method
KR20060028113A (en) Method for executing game of end2end based mobile instant messaging service

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
SUBM Surrender of laid-open application requested