KR100710436B1 - 게임 룸 관리 시스템 - Google Patents

게임 룸 관리 시스템 Download PDF

Info

Publication number
KR100710436B1
KR100710436B1 KR1020050078894A KR20050078894A KR100710436B1 KR 100710436 B1 KR100710436 B1 KR 100710436B1 KR 1020050078894 A KR1020050078894 A KR 1020050078894A KR 20050078894 A KR20050078894 A KR 20050078894A KR 100710436 B1 KR100710436 B1 KR 100710436B1
Authority
KR
South Korea
Prior art keywords
game room
server
information
game
room
Prior art date
Application number
KR1020050078894A
Other languages
English (en)
Other versions
KR20070024203A (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 KR1020050078894A priority Critical patent/KR100710436B1/ko
Priority to JP2006230959A priority patent/JP4781942B2/ja
Publication of KR20070024203A publication Critical patent/KR20070024203A/ko
Application granted granted Critical
Publication of KR100710436B1 publication Critical patent/KR100710436B1/ko

Links

Images

Classifications

    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/30Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
    • A63F13/35Details of game servers
    • 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/70Game security or game management aspects
    • A63F13/79Game security or game management aspects involving player-related data, e.g. identities, accounts, preferences or play histories
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Business, Economics & Management (AREA)
  • Computer Security & Cryptography (AREA)
  • General Business, Economics & Management (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

본 발명은 게임 룸 관리 시스템에 관한 것으로서, 본 발명에 의한 시스템은 게임을 플레이하기 위한 적어도 하나의 게임 룸을 생성하는 적어도 하나의 게임 룸 서버; 상기 적어도 하나의 게임 룸 서버에서의 게임 룸 생성에 대한 제어 정보를 제공하며, 상기 적어도 하나의 게임 룸 서버로부터 게임 룸 상태 변화 정보를 수신하여 관리하는 게임 룸 매니저 서버; 상기 게임 룸 서버에 게임 룸 스페이스가 생성될 경우, 생성되는 게임 룸 스페이스에 대해 고유의 주소 정보를 할당하고 상기 게임 룸 매니저 서버와 적어도 하나의 게임 룸 서버 사이의 패킷을 중계하는 허브 서버를 포함한다. 본 발명에 의하면, 사용자들은 접속한 채널 및 서버에 대한 제약을 받지 않고 게임 시스템에 생성된 게임 룸들에 자유롭게 참여할 수 있으며 게임 시스템에 생성된 모든 게임 룸들에 대한 정보를 효율적으로 관리할 수 있다.
게임, 서버, 채널

Description

게임 룸 관리 시스템{Game Room Management System}
도 1은 종래의 온라인 게임 시스템의 일례를 도시한 도면.
도 2는 본 발명의 바람직한 일 실시예에 따른 게임 룸 관리 시스템의 구성을 도시한 도면.
도 3은 본 발명의 제1 실시예에 따른 게임 룸 서버에 게임 룸이 개설되는 절차에 대한 순서도.
도 4는 본 발명의 제1 실시예에 따른 게임 룸 서버의 모듈 구성을 도시한 블록도.
도 5는 본 발명의 제2 실시예에 따른 계층적인 주소 체계의 일례를 도시한 도면.
도 6은 본 발명의 제2 실시예에 따른 허브 서버의 주소 할당 과정을 도시한 순서도.
도 7은 본 발명의 제2 실시예에 따른 게임 룸 생성 과정을 도시한 순서도.
도 8은 본 발명의 제2 실시예에 따른 게임 룸 서버의 구성을 도시한 블록도.
도 9는 본 발명의 바람직한 일 실시예에 따른 게임 룸 매니저 서버의 모듈 구성을 도시한 블록도.
도 10은 본 발명의 바람직한 일 실시예에 따른 게임 룸 상태 정보를 게임 룸 매니저 서버에 제공하는 과정에 대한 순서도.
도 11은 본 발명의 바람직한 일 실시예에 따른 게임 룸 참여 과정을 도시한 순서도.
도 12는 본 발명의 바람직한 일 실시예에 따른 게임 룸 상태 정보 패킷의 구조를 도시한 도면.
도 13은 본 발명의 바람직한 일 실시예에 따른 게임 룸 매니저 서버의 게임 룸 참여 매칭부의 동작을 도시한 순서도.
본 발명은 게임 룸 관리 시스템에 관한 것으로서, 더욱 상세하게는 다수의 사용자가 게임 서버에 접속하여 게임을 플레이하는 온라인 게임에서의 게임 룸 관리 시스템에 관한 것이다.
최근, 네트워크 기술의 발달로 대용량 멀티미디어 데이터의 고속 전송이 가능해지고, 네트워크에 접속 가능한 사용자 단말기의 보편적인 보급에 따라 사용자에게 다양한 종류의 컨텐츠를 제공하는 컨텐츠 제공업체(Contents Provider: CP)가 급속도로 증가하고 있는 추세이다.
컨텐츠 제공업체는 검색, 쇼핑, 게임 및 채팅 서비스와 같은 다양한 종류 의 컨텐츠를 제공하고 있으며, 특히, 온라인 게임 서비스는 유료 서비스인 경우에도 많은 수요자 층을 확보할 수 있다는 점에서 컨텐츠 제공업체의 큰 수익원으로 자리 잡고 있다.
컨텐츠 제공 업체에서 제공하는 온라인 게임은 고스톱, 포커와 같은 보드 게임과 헥사 등의 블록 게임 등 종류가 다양하다.
도 1은 종래의 온라인 게임 시스템의 일례를 도시한 도면이다.
도 1에 도시된 바와 같이, 종래의 온라인 게임 서버 시스템은 다수의 채널 서버(100)로 이루어져 있으며, 각각의 채널 서버에는 다수의 게임 룸이 생성되었다. 종래의 있어서, 게임 진행은 각각의 채널 서버마다 독립적으로 진행되었으며 채널 서버는 자신의 서버에 생성된 게임 룸들만을 관리하였다.
사용자 클라이언트들(100)은 게임을 제공하는 채널 서버에 접속하기 전에 별도의 게임 접속 서버(미도시)에서 제공하는 웹페이지를 통해 채널을 선택하며, 선택된 채널의 서버에서 게임을 플레이하였다.
종래의 경우, 채널은 사용자들의 게임 레벨, 나이, 성별 등을 기준으로 분류되었으며, 사용자들의 레벨을 기준으로 채널을 분류하는 것이 가장 일반적이었다.
이와 같은 종래의 시스템에 의하면, 사용자들은 특정 채널을 선택한 경우 다른 채널에서 생성된 게임 룸에 참여할 수 없었으며 또한 게임 시스템에 개설된 게임 룸들을 전체적으로 관리할 수 없었다.
따라서, 사용자들은 게임 시스템에는 다수의 게임 룸이 있더라도 자신이 접속한 채널에 원하는 게임 룸이 없으면 원활한 게임 진행이 어려웠고 자신이 원하는 게임 룸에서 게임을 즐길 수 없는 문제점이 있었다.
본 발명에서는 상기한 바와 같은 종래 기술의 문제점을 해결하기 위해, 사용자들이 사용자들은 채널 및 자신이 접속한 서버에 대한 제약 없이 게임 시스템에 생성된 게임 룸들에 자유롭게 참여할 수 있는 게임 룸 관리 시스템을 제안하고자 한다.
본 발명의 다른 목적은 게임 시스템에 개설된 전체 게임 룸들을 효율적으로 관리할 수 있는 게임 룸 관리 시스템을 제안하는 것이다.
상기한 바와 같은 목적을 달성하기 위하여, 본 발명의 일 측면에 따르면, 게임을 플레이하기 위한 적어도 하나의 게임 룸을 생성하는 적어도 하나의 게임 룸 서버; 상기 적어도 하나의 게임 룸 서버에서의 게임 룸 생성에 대한 제어 정보를 제공하며, 상기 적어도 하나의 게임 룸 서버로부터 게임 룸 상태 변화 정보를 수신하여 관리하는 게임 룸 매니저 서버; 상기 게임 룸 서버에 게임 룸 스페이스가 생성될 경우, 생성되는 게임 룸 스페이스에 대해 고유의 주소 정보를 할당하고 상기 게임 룸 매니저 서버와 적어도 하나의 게임 룸 서버 사이의 패킷을 중계하는 허브 서버를 포함하는 게임 룸 관리 시스템이 제공된다.
본 발명의 다른 측면에 따르면, 게임을 플레이하기 위한 적어도 하나의 게임 룸을 생성하는 적어도 하나의 게임 룸 서버; 상기 적어도 하나의 게임 룸 서버로부터 게임 룸 상태 변화 정보를 수신하여 관리하며 게임 룸 생성과 관련한 제어 정보를 제공하는 게임 룸 매니저 서버; 상기 게임 룸 매니저 서버와 적어도 하나의 게임 룸 서버 사이의 패킷을 중계하는 허브 서버를 포함하되, 상기 적어도 하나의 게임 룸 서버에 생성되는 게임 룸에는 계층적인 구조를 가지는 고유의 주소 정보가 할당되며, 상기 허브 서버는 상기 계층적인 주소 정보를 이용하여 패킷을 중계하는 게임 룸 관리 시스템이 제공된다.
이하에서, 첨부된 도면을 참조하여 본 발명에 의한 게임 룸 관리 시스템의 바람직한 실시예를 상세하게 설명한다.
도 2는 본 발명의 바람직한 일 실시예에 따른 게임 룸 관리 시스템의 구성을 도시한 도면이다.
도 2를 참조하면, 본 발명의 일 실시예에 따른 게임 룸 관리 시스템은 사용자 매니저 서버(200), 대기자 매니저 서버(202), 게임 룸 매니저 서버(204), 허브 서버(206), 로비 서버(208), 대기자 서버(210) 및 게임 룸 서버(212)를 포함한다.
도 2에서, 로비 서버(208), 대기자 서버(210) 및 게임 룸 서버(212)는 사용자들이 네트워크를 통해 직접 접속하는 서버군으로서 이하에서는 이를 프론트 서버군이라고 한다. 또한, 사용자 매니저 서버(200), 대기자 매니저 서버(202) 및 게임 룸 매니저 서버(204)는 프론트 서버군에 속한 서버들을 관리하는 서버들로서, 이하에서는 백-엔드 서버군이라고 한다.
본 발명에 의한 게임 룸 관리 시스템은 고스톱, 포커, 테트리스 등과 같은 독립된 게임 룸에서 복수의 사용자가 게임을 즐길 수 있는 온라인 보드 게임 및 블록 게임에 모두 적용될 수 있다. 보드 게임 및 블록 게임과 같이 명시적인 게임 룸이 제공되지 않더라도 일정 숫자의 사용자가 특정한 논리적인 공간에서 게임을 수행하는 어떠한 종류의 게임도 본 발명에 적용될 수 있을 것이다.
도 2에서, 프론트 서버군은 사용자들의 게임 시스템 접속 요청 정보를 처리하고 게임을 진행하기 위한 게임 룸을 제공하는 기능을 한다. 프론트 서버군은 사용자 인증 처리, 게임 룸 제공, 채널 제공 등의 기능을 제공하며, 사용자가 프론트 서버군을 통해 게임 시스템에 접속한 경우 사용자는 게임 룸 참여, 채팅, 게임 룸 생성 등과 같은 다양한 요청 정보를 프론트 서버군에 전송할 수 있다.
본 발명에서, 프론트 서버군과 백-엔드 서버군은 허브 서버(206)에 의해 연결되며, 허브 서버(206)는 프론트 서버군의 서버들과 백-엔드 서버군의 서버들 사이의 패킷을 중계하는 기능을 한다. 또한, 허브 서버(206)는 프론트 서버군의 서버들 사이의 패킷 및 백-엔드 서버군의 서버들 사이의 패킷 역시 중계한다. 즉, 허버 서버(206)는 본 발명에 의한 게임 룸 관리 시스템의 모든 서버들간의 패킷을 중계한다.
백-엔드 서버군은 프론트 서버군의 정보를 관리하고 프론트 서버군의 각 서버들의 동작을 제어하는 기능을 한다. 구체적으로, 백-엔드 서버군은 프론트 서버군에 접속한 사용자들의 정보 및 프론트 서버군에 생성된 게임 룸 정보를 관리한다. 프론트 서버군의 게임 룸 서버(212)에 게임 룸이 생성될 경우, 게임 룸 생성 정보는 허브 서버(206)를 통해 백-엔드 서버군의 게임 룸 매니저 서버(204)로 전송되며, 게임 룸 매니저 서버(204)는 생성된 게임 룸 정보를 관리한다. 도 2에 도시된 각각의 서버들을 복수개가 존재할 수 있으며, 특히 게임 룸이 생성되는 게임 룸 서버는 다수가 존재할 수 있을 것이다. 게임 룸 매니저 서버(204)는 다수의 게임 룸 서버에서 생성되는 게임 룸 정보를 수신하여 관리한다.
도 2에서, 로비 서버(208)는 사용자들이 게임 서버 시스템에 초기에 접속하는 서버이다. 로비 서버(208)는 사용자 매니저 서버(200)와의 통신을 통해 사용자 인증을 처리하고 캐릭터가 필요한 게임일 경우 캐릭터 생성을 지원한다.
로비 서버(208)는 사용자가 로그인 요청을 할 경우 사용자로부터 수신한 아이디 및 비밀 번호 정보를 허브 서버(206)를 통해 사용자 매니저 서버에 전송하며 사용자 매니저 서버로부터의 응답 정보에 따라 사용자의 접속을 허락한다.
대기자 서버(210)는 사용자들간의 채팅 기능을 제공하고 사용자들이 게임에 앞서 참여할 게임 룸을 선택하거나 게임 룸을 생성할 수 있는 공간을 제공한다. 대기자 서버(210)는 대기자 매니저 서버(202)와의 통신을 통해 채팅 룸 스페이스를 생성하며 채팅 룸 스페이스에 상태 변화가 생길 때마다 상태 변화 정보를 허브 서버(206)를 통해 대기자 매니저 서버(202)에 전송하나.
또한, 대기자 서버(210)는 사용자가 개설된 게임 룸에 대한 정보를 제공 받고 게임 룸 참여를 요청하거나 게임 룸 생성을 요청할 수 있는 인터페이스가 구비된 웹페이지를 제공한다. 물론, 대기자 서버는 채팅 기능만을 제공하고 게임 룸 참여 및 게임 룸 생성을 요청할 수 있는 인터페이스를 제공하는 기능은 별도의 서버 에 의해 제공될 수도 있다는 것은 당업자에게 있어 자명할 것이다.
게임 룸 서버(212)는 복수의 사용자들이 참여하여 게임을 즐길 수 있는 게임룸을 제공하는 기능을 한다. 게임 룸 서버(212)는 게임 룸 매니저 서버(204)와의 통신을 통해 게임 룸을 생성한다. 전술한 바와 같이, 게임 룸 서버(212)는 복수개가 존재할 수 있으며, 각각의 게임 룸 서버는 게임 룸 생성 시 게임 룸 매니저 서버(204)의 제어 정보에 따라 게임 룸을 생성한다.
본 발명의 바람직한 실시예에 따르면, 게임 룸 서버에 게임 룸 스페이스가 생성될 경우, 각각의 게임 룸 스페이스에는 고유의 주소가 할당된다.
본 발명의 제1 실시예에 따르면, 게임 룸 서버에 생성되는 각각의 게임 룸의 고유 주소는 허브 서버(206)에 의해 할당된다. 할당된 주소는 게임 룸 매니저 서버에서 게임 룸을 식별하는 식별자 및 해당 게임 룸 스페이스로 사용자가 접속하거나 해당 게임 룸 스페이스로 메시지를 전달할 경우의 주소 정보로 이용된다.
본 발명의 제2 실시예에 따르면, 각 게임 룸 스페이스의 주소 정보는 계층적인 구조를 가지고 있으며, 게임 룸 스페이스의 상위 레벨의 주소는 허브 서버에 의해 할당되고, 하위 레벨의 주소는 허브 서버에 의해 주소가 할당된 상위 레벨이 할당한다.
도 5는 본 발명의 제2 실시예에 따른 계층적인 주소 체계의 일례를 도시한 도면이다.
도 5에 도시된 바와 같이, 본 발명의 제2 실시예에 따른 주소 체계는 프로세스, 그룹 및 스페이스로 분류되며, 프로세스가 주소의 최상위 레벨이고 스페이스가 주소의 최하위 레벨이 된다. 따라서, 하나의 프로세스에는 복수의 그룹이 존재하며, 하나의 그룹에는 복수의 스페이스가 존재한다.
프로세스는 본 발명의 제2 실시예에 따른 주소 체계의 최상위 레벨로서, 본 발명의 일 실시예에 따르면, 게임 서버 시스템의 물리적인 서버 각각을 하나의 프로세스로 설정할 수 있다. 이와 달리, 독립적인 서버들의 집합인 서버군을 하나의 프로세스로 설정할 수도 있을 것이다.
그룹은 프로세스의 하위 레벨로서, 각각의 물리적인 서버가 하나의 프로세스로 설정될 경우, 그룹은 물리적인 서버의 공간을 논리적으로 분할한 단위가 될 수 있다. 이와 달리, 복수의 서버군이 하나의 프로세스로 설정될 경우, 그룹은 하나의 물리적인 서버로 설정될 수도 있으며, 이 경우에도 물리적인 서버의 공간을 논리적으로 분할한 단위가 그룹으로 설정될 수 있을 것이다.
스페이스는 본 발명에 의한 주소 체계의 최하위 레벨로서, 게임 룸, 채팅 룸, 대기자 룸과 같이 사용자들이 접속하는 영역을 구분하는 최하위 단위이며 하나의 그룹은 복수의 스페이스를 포함한다. 본 발명의 바람직한 실시예에 따르면, 각각의 게임 룸, 채팅 룸, 대기자 룸 등은 독립적인 스페이스로 정의되며, 이들 각각에는 고유의 스페이스 주소가 할당된다.
본 발명의 제2 실시예에 따르면, 허브 서버(206)는 상위 레벨의 주소 중 프로세스 및 그룹 주소 할당하고 할당된 주소를 관리하며, 게임 룸과 같은 스페이스에 대한 하위 레벨 주소 할당은 각각의 그룹에 의해 수행된다.
제1 실시예와 달리, 허브 서버가 상위 레벨의 주소만을 담당하고, 개개의 게 임 룸 스페이스에 대한 최하위 레벨의 주소 할당이 그룹에 의해 이루어질 경우, 허브 서버(206) 및 그룹이 게임 시스템과 관련한 주소 정보들을 분산하여 처리할 수 있는 장점이 있다.
상술한 제1 실시예 또는 제2 실시예에 의해 각각의 게임 룸에 주소 정보가 할당될 경우, 게임 룸 서버는 할당된 주소 정보를 허브 서버(206)를 통해 게임 룸 매니저 서버에 전송한다.
또한, 게임 룸 서버(212)는 생성된 스페이스에 상태 변화가 생길 경우 허브 서버(206)를 통해 상태 변화 정보를 게임 룸 매니저 서버(204)에 전송한다.
사용자 매니저 서버(200)는 게임 서버 시스템에 접속한 사용자들의 정보를 관리하는 기능을 한다. 사용자 매니저 서버는 사용자 로그인, 로그아웃 또는 스페이스 이동과 같이 사용자 상태 변화가 있을 경우 해당 정보를 프론트 서버군의 서버들로부터 수신하여 관리한다. 특히, 사용자 매니저 서버(200)는 사용자가 스페이스를 이동할 때마다 이동한 주소 정보(제1 실시예의 경우 허브 서버 의해 할당되고, 제2 실시예의 경우 허브 서버 및 그룹에 의해 할당됨)를 저장함으로써 게임 서버 시스템에 접속한 사용자들의 위치 정보를 계속적으로 관리한다.
또한, 사용자 매니저 서버(200)는 사용자들이 등록한 친구 정보를 관리하며, 특정 사용자의 친구가 접속할 경우 해당 사용자에게 접속 정보를 제공한다.
게임 룸 매니저 서버(204)는 게임 룸 서버에 생성된 게임 룸들에 대한 정보를 관리하고 사용자가 게임 룸 생성을 요청할 경우 게임 룸 생성을 위한 제어 정보를 게임 룸 서버에 제공한다.
본 발명의 제1 실시예에 따르면, 게임 룸 매니저 서버(204)는 복수의 게임 룸 서버 중 게임 룸이 생성될 게임 룸 서버를 지정하여 지정된 게임 룸 서버에서 게임 룸이 생성되도록 제어 정보를 제공한다.
본 발명의 제2 실시예에 따르면, 게임 룸 매니저 서버(204)는 복수의 그룹 중 게임 룸이 생성될 그룹을 지정하고, 지정된 그룹에서 게임 룸이 생성되도록 제어 정보를 제공한다.
또한, 게임 룸 매니저 서버(204)는 허브 서버(206)를 통해 게임 룸 서버(212)로부터 게임 룸의 상태 변화 정보를 수신하며, 수신된 정보를 반영하여 게임 룸 서버에 생성된 게임 룸들에 대한 정보를 관리한다.
대기자 매니저 서버(202)는 대기자 서버에 접속한 사용자 정보 및 대기자 서버에 생성된 채팅룸을 관리하는 기능을 한다. 또한, 게임 룸 매니저 서버(204)와 같이, 대기자 매니저 서버(202)는 대기자 서버(200)에서의 채팅 룸 생성을 제어한다.
대기자 매니저 서버(202)는 허브 서버(206)를 통해 대기자 서버에 접속한 사용자들의 변화 정보(채팅 서버 접속 및 채팅 서버와의 접속 해제 등) 및 채팅룸 변화 정보(채팅룸의 생성 및 생성된 채팅룸에 참여한 사용자 정보 등)를 수신하여 수신된 정보를 관리한다.
본 발명은 종래의 게임 룸 시스템과는 달리 각각의 채널 서버가 독립적으로 자신의 서버에 개설된 게임 룸들을 관리하는 것이 아니라 백-엔드 서버군의 게임 매니저 서버가 복수의 게임 룸 서버에서 생성된 게임 룸들에 대한 정보를 허브 서 버를 통해 수신하여 관리하는 바, 물리적으로 다른 서버에 개설된 게임 룸들을 종합적으로 관리할 수 있는 장점이 있으며, 이로 인해 사용자들은 게임 시스템에 생성된 모든 게임 룸에 자유롭게 참여할 수 있다.
또한, 본 발명은 물리적으로 다른 서버들에서 생성되는 각각의 게임 룸에 고유의 주소 정보를 할당하여 관리하는 바, 물리적으로 다른 서버에서 해당 게임 룸으로의 메시지 전달이 가능하며, 특정 게임 룸으로의 사용자의 이동이 용이하게 이루어질 수 있다.
도 3은 본 발명의 제1 실시예에 따른 게임 룸 서버에 게임 룸이 개설되는 절차에 대한 순서도이다.
도 3을 참조하면, 프론트 서버군에 접속한 사용자는 게임 룸 생성을 요청하며, 프론트 서버군의 서버는 해당 요청 정보를 수신한다(단계 300). 사용자는 일반적으로 대기자 서버에서 게임 룸의 생성을 요청할 수 있을 것이나 그 외의 프론트 서버군의 다른 서버에서 게임 룸의 생성을 요청할 수도 있을 것이다.
대기자 서버는 게임 룸 생성 요청 정보를 수신할 경우, 게임 룸 생성에 대한 제어 정보를 허브 서버에 요청하며(단계 302), 허브 서버는 해당 요청 정보를 게임 룸 매니저 서버에 전송한다(단계 304).
게임 룸 매니저 서버는 제어 정보를 요청받을 경우, 게임 룸을 생성할 게임 룸 서버를 지정한다(단계 306). 본 발명의 바람직한 실시예에 따르면, 게임 룸 매니저 서버는 복수의 게임 룸 서버에 게임 룸이 고르게 생성될 수 있도록 게임 룸 서버를 지정한다. 예를 들어, A, B, C 세 개의 게임 룸 서버가 존재하고 A 서버에 20개의 게임 룸, B 서버에 20개의 게임 룸, C 서버에 17개의 게임 룸이 형성되어 있을 경우, 게임 룸 매니저 서버는 C 서버에 게임 룸이 생성되도록 제어 정보를 제공한다.
게임 룸 매니저 서버가 지정한 게임 룸 섭 지정 정보는 허브 서버로 전송되며(단계 308), 허브 서버는 수신한 게임 룸 서버 지정 정보를 게임 룸 생성을 요청한 사용자가 접속한 프론트 서버군의 서버에 전송한다(단계 310).
상기 게임 룸 서버 지정 정보에는 지정된 게임 룸 서버의 식별 정보 및 해당 게임 룸 서버로 접속하기 위한 주소 정보(예를 들어, 아이피 주소 및 포트 번호)가 포함되어 있다.
사용자는 게임 룸 서버 지정 정보를 수신한 후, 상기 주소 정보를 이용하여 게임 룸 매니저 서버가 지정한 게임 룸 서버로 접속한다(단계 312).
해당 게임 룸 서버로 접속한 사용자의 클라이언트 프로그램 또는 게임 룸 서버는 허브 서버에 생성할 게임 룸의 주소 정보를 요청하고(단계 314), 허브 서버는 생성될 게임 룸의 고유 주소 정보를 전송한다(단계 316). 또한, 허브 서버는 생성한 주소 정보를 저장하여 계속적으로 관리한다(단계 318).
허브 서버가 전송한 주소 정보에 따라 게임 룸 서버에 게임 룸이 생성되며(단계 320), 게임 룸 서버는 생성된 게임 룸 정보(게임 룸 제목, 생성자, 게임 룸 속성 정보, 게임 룸 주소 정보 등을 포함함)를 허브 서버로 전송하며(단계 322), 허브 서버는 게임 룸 정보를 게임 룸 매니저 서버로 전송한다(단계 324). 게임 룸 매니저 서버는 게임 룸 서버로부터 전송된 게임 룸 정보를 저장한다(단계 326).
도 4는 본 발명의 제1 실시예에 따른 게임 룸 서버의 모듈 구성을 도시한 블록도이다.
도 4를 참조하면, 본 발명의 제1 실시예에 따른 게임 룸 서버는 게임 룸 주소 할당부(400), 게임 룸 생성부(402), 게임 룸 상태 정보 전송부(404) 및 메시지 전달부(406)를 포함할 수 있다.
게임 룸 주소 할당부(400)는 게임 룸 서버에서 게임 룸이 생성될 경우 허브 서버와의 통신을 통해 생성될 게임 룸에 고유 주소를 할당하는 기능을 한다. 전술한 바와 같이, 전체적인 주소 관리는 허브 서버에 의해 이루어지므로 게임 룸 주소 할당부(400)는 게임 룸 주소 할당 요청 정보를 허브 서버에 전송하고 허브 서버로부터 주소 할당 정보를 수신하여 게임 룸 생성부(402)에 제공한다.
게임 룸 생성부(402)는 게임 매니저 서버의 제어에 따라 사용자들이 참여하여 경쟁 또는 협력을 통해 게임을 플레이하는 공간인 게임 룸을 생성하는 기능을 한다. 게임 룸 생성부(402)는 게임 룸 주소 할당부(402)가 제공하는 주소 정보에 따라 게임 룸을 생성한다. 각각의 게임 룸에 대한 주소 할당은 게임 룸 생성 전에 이루어지나, 게임 룸 생성부(402)가 미리 게임 룸을 생성하고 사용자가 게임 룸 매니저 서버의 제어에 따라 게임 룸 생성을 요청할 경우 미리 생성된 게임 룸에 주소 할당이 이루어지도록 운영될 수도 있을 것이다.
게임 룸 상태 정보 전송부(404)는 게임 룸의 생성, 소멸, 참여자 변화 정보와 같이 게임 룸의 상태가 변경될 경우 상태 정보를 게임 룸 매니저 서버에 제공하는 기능을 한다. 게임 룸 상태 정보 전송부(404)는 게임 룸 상태 정보를 허브 서버 에 전송하며, 허브 서버가 이를 게임 룸 매니저 서버에 전달한다.
게임 룸 상태 정보 전송부(404)는 게임 룸의 상태를 계속적으로 모니터링하며, 상태 변화가 발생할 경우 변화된 정보만을 전송할 수도 있으며, 모든 상태 정보를 전송할 수도 있다.
메시지 전달부(406)는 게임 룸 스페이스로 메시지 전달 요청(예를 들어 게임 룸에 참여한 사용자로의 메시지 전달)이 있을 경우 전송된 메시지를 해당 사용자에게 전달하는 기능을 한다. 본 발명에 의한 게임 룸 관리 시스템은 사용자 매니저 서버가 각 사용자가 속한 게임 룸의 고유 주소 정보를 관리하므로, 서로 다른 서버에 접속한 사용자라도 특정 게임 룸에서 게임을 하는 사용자에게 메시지 전송이 가능하다.
도 3 및 도 4를 통해 살펴본 바와 같이, 본 발명의 제1 실시예에 따르면, 사용자 매니저 서버에 의해 게임 룸이 생성될 게임 룸 서버가 지정되므로 어느 한 게임 룸 서버에만 다수의 게임 룸이 생성되어 부하가 편중되는 종래의 문제점이 해결될 수 있다. 종래의 경우, 사용자가 많은 채널 서버에만 사용자가 집중되고 그렇지 않은 서버에는 계속 적은 수의 사용자만 유지되는 문제점이 있었으나, 본 발명에 의하면 게임 룸 매니저 서버가 게임 룸이 생성될 게임 룸 서버를 지정하므로 이와 같은 문제점이 해결될 수 있다.
또한, 허브 서버가 각각의 게임 룸에 고유 주소 정보를 할당하고, 할당한 주소 정보가 게임 룸 매니저 서버에 의해 관리되므로, 복수개의 게임 룸 서버에 생성된 어떠한 게임 룸에도 제약 없이 참여하는 것이 가능하며, 게임 시스템에 개설된 모든 게임 룸 정보를 효율적으로 관리할 수 있다.
도 6은 본 발명의 제2 실시예에 따른 허브 서버의 주소 할당 과정을 도시한 순서도이다.
전술한 바와 같이, 본 발명의 제2 실시예에 따르면, 허브 서버는 상위 레벨인 프로세스 및 그룹 주소를 할당하고, 그룹이 하위 레벨인 스페이스의 주소를 할당하는 바, 도 6은 허브 서버가 상위 레벨의 주소를 할당하는 과정을 도시한 순서도이다.
상위 레벨인 프로세스 및 그룹에 대한 주소 할당은 게임 시스템이 초기화될 때 수행될 수 있을 것이다.
도 6을 참조하면, 프론트 서버군 및 백-엔드 서버군의 서버들은 시스템 시작 시에 허브 서버에 프로세스 및 그룹의 주소 할당을 요청한다(단계 600).
허브 서버는 주소 할당 요청에 응답하여 프론트 서버군 및 백-엔드 서버군에 생성될 각각의 프로세스 및 그룹의 주소를 생성하고(단계 602), 생성된 주소 정보를 프론트 서버군 및 백-엔드 서버군의 서버들에 전송한다(단계 604).
본 발명의 제2 실시예에 의한 주소는 계층적인 구조이므로 동일한 프로세스에 속하는 그룹들은 주소 중 그룹 식별자만 상이하고 프로세스 식별자는 동일하다. 예를 들어, 프로세스 식별자가 FF인 프로세스에 속하는 제1 그룹 및 제2 그룹이 허브 서버로부터 할당받는 주소는 FF01 및 FF02일 수 있다.
허브 서버는 단계 602에서 생성한 주소 정보를 저장하고, 생성한 주소 정보를 관리한다(단계 606).
허브 서버로부터 프로세스 및 그룹 주소를 수신한 프론트 서버군 및 백-엔드 서버군의 각 서버들은 전송된 프로세스 및 그룹 주소에 상응하여 프로세스 및 그룹을 생성한다(단계 608).
도 6과 달리, 프론트 서버군 및 백-엔드 서버군의 서버들은 프로세스 및 그룹을 미리 생성하고 생성된 프로세스 및 그룹의 주소 정보만을 허브 서버로부터 할당받을 수도 있다는 점은 당업자에게 있어 자명할 것이다.
도 7은 본 발명의 제2 실시예에 따른 게임 룸 생성 과정을 도시한 순서도이다.
도 7을 참조하면, 프론트 서버군에 접속한 사용자는 게임 룸 생성을 요청하며, 프론트 서버군의 서버는 해당 요청 정보를 수신한다(단계 700). 제1 실시예의 경우와 마찬가지로, 사용자는 대기자 서버에 접속한 상태에서 게임 룸 생성을 요청할 수 있을 것이나, 다른 프론트 서버에 접속한 상태에서 게임 룸 생성을 요청할 수도 있을 것이다.
게임 룸 생성 요청 정보를 수신한 대기자 서버는 게임 룸 생성 제어 정보를 요청하는 패킷을 생성하여 허브 서버에 전달한다(단계 702).
생성된 패킷에는 게임 룸 매니저 서버의 주소 정보가 포함되어 있으며, 허브 서버는 주소 정보를 통해 게임 룸 매니저 서버로 전송될 패킷임을 판단하고, 해당 패킷을 게임 룸 매니저 서버에 전송한다(단계 704).
게임 룸 매니저 서버는 관리하고 있는 각 그룹에서의 게임 룸 상태 정보를 이용하여 게임 룸을 생성할 그룹을 지정한다(단계 706). 제1 실시예의 경우, 게임 룸 매니저 서버는 게임 룸 서버를 지정하였으나, 계층적인 주소를 가지는 제2 실시예의 경우 게임 룸 매니저 서버는 그룹을 지정하는 것이 바람직하다. 제1 실시예의 경우와 마찬가지로, 게임 룸 매니저 서버는 다수의 그룹에 게임 룸이 고르게 생성될 수 있도록 그룹을 지정하는 것이 바람직하다.
그룹 지정 정보는 우선 허브 서버로 전송되며(단계 708), 그룹 지정 정보에는 게임 룸이 생성될 그룹의 주소 정보가 포함되어 있다. 허브 서버는 그룹 지정 정보를 게임 룸 생성을 요청한 사용자에게 전송한다(단계 710).
대기자 서버 또는 프론트 서버군의 다른 서버에 접속해있던 사용자는 상기 그룹 지정 정보에 포함된 그룹의 주소 정보를 이용하여 해당 그룹이 형성되어 있는 게임 룸 서버로 접속한다.
해당 게임 룸 서버로 접속한 사용자의 클라이언트 프로그램은 지정된 그룹에 생성할 게임 룸의 스페이스 주소 정보를 요청하고 그룹은 생성될 게임 룸의 스페이스 주소 정보를 할당한다(단계 712).
할당된 주소 정보에 상응하여, 해당 그룹에 게임 룸 스페이스가 생성되며, 게임 룸이 생성된 게임 룸 서버의 그룹은 생성된 게임 룸의 정보(게임 룸 제목, 생성자, 게임 룸 속성 정보, 게임 룸 주소 정보 등을 포함함)를 허브 서버로 전송한다(단계 716). 허브 서버는 게임 룸 정보를 게임 룸 매니저 서버로 전송하며(단계 718), 게임 룸 매니저 서버는 게임 룸 서버로부터 전송된 게임 룸 정보를 저장한다(단계 720).
도 8은 본 발명의 제2 실시예에 따른 게임 룸 서버의 구성을 도시한 블록도 이다.
도 8을 참조하면, 본 발명의 제2 실시예에 따른 게임 룸 서버에는 복수의 그룹이 형성되어 있으며, 각각의 그룹은 스페이스 주소 생성부(800), 스페이스 주소 관리부(802), 게임 룸 생성부(804), 게임 룸 상태 정보 전송부(806) 및 메시지 전달부(808)를 포함할 수 있다.
스페이스 주소 생성부(800)는 그룹에 생성되는 게임 룸의 스페이스의 주소를 생성하여 할당하는 기능을 한다. 전술한 바와 같이, 상위 레벨의 주소인 프로세스 및 그룹 주소는 허브 서버에 의해 할당되고, 주소를 할당받은 각 서버의 그룹은 내부에서 생성되는 게임룸의 스페이스의 주소를 할당한다.
게임 룸 매니저 서버로부터 게임 룸 생성을 요청받을 경우, 스페이스 주소 생성부(800)는 생성될 게임룸의 주소를 할당한다. 예를 들어, 프로세서 주소가 FF이고 그룹의 주소가 01이며, 그룹 내에서 처음으로 생성되는 게임룸일 경우 FF0101과 같은 주소가 생성되는 게임 룸 스페이스에 부여될 수 있을 것이다.
스페이스 주소 관리부(802)는 스페이스 주소 생성부(800)에 의해 생성된 각 스페이스의 주소 정보를 관리한다. 스페이스 주소 생성부(800)가 주소를 할당한 경우 할당된 주소 정보는 스페이스 주소 관리부(802)에 저장되며, 또한 주소가 할당된 스페이스가 없어질 경우 스페이스 주소 관리부(802)는 해당 스페이스에 대한 주소 정보를 삭제한다.
게임 룸 생성부(804)는 게임 룸 매니저 서버의 제어에 따라 사용자들이 참여하여 경쟁 또는 협력을 통해 게임을 플레이하는 공간인 게임 룸을 생성하는 기능을 한다.
게임 룸 상태 정보 전송부(806)는 게임 룸의 생성, 소멸, 참여자 변화 정보와 같이 게임 룸의 상태가 변경될 경우 상태 정보를 게임 룸 매니저 서버에 제공하는 기능을 한다. 게임 룸 상태 정보 전송부(806)는 게임 룸 상태 정보를 허브 서버에 전송하며, 허브 서버가 이를 게임 룸 매니저 서버에 전달한다. 스페이스 주소 생성부(800)로부터 주소를 할당받아 게임 룸 스페이스가 생성될 경우, 게임 룸 상태 정보 전송부(806)는 생성된 게임 룸의 주소 정보를 포함하는 게임 룸 정보를 게임 룸 매니저 서버에 전송한다.
제1 실시예의 경우와 마찬가지로, 게임 룸 상태 정보 전송부(806)는 게임 룸의 상태를 계속적으로 모니터링하며, 상태 변화가 발생할 경우 변화된 정보만을 전송할 수도 있으며, 모든 상태 정보를 전송할 수도 있다.
메시지 전달부(808)는 그룹으로 전송된 메시지를 해당 스페이스에 전달하는 기능을 한다. 본 발명에 의한 게임 시스템은 사용자가 접속한 서버와 관계없이 다른 서버에 접속한 사용자로의 메시지 전달이 가능하며, 허브 서버는 메시지를 메시지 수신자가 접속한 그룹으로 전송한다. 그룹의 메시지 전달부(808)는 메시지의 스페이스 주소를 이용하여 메시지를 해당 스페이스로 전송하여 해당 스페이스를 통해 메시지가 최종 수신자에게 전달될 수 있도록 한다.
도 9는 본 발명의 바람직한 일 실시예에 따른 게임 룸 매니저 서버의 모듈 구성을 도시한 블록도이다.
도 9를 참조하면, 본 발명의 일 실시예에 따른 게임 룸 매니저 서버는 게임 룸 생성 제어부(900), 게임 룸 정보 수신부(902), 게임 룸 정보 관리부(904), 게임 룸 정보 제공부(906) 및 게임 룸 참여 매칭부(908)를 포함할 수 있다.
게임 룸 생성 제어부(900)는 게임 룸 생성 요청 정보를 수신할 경우 게임 룸 생성에 대한 제어 정보를 게임 룸을 생성한 사용자에게 제공하는 기능을 한다. 본 발명의 제1 실시예에 따르면, 게임 룸 생성 제어부(900)는 게임 룸이 생성될 게임 룸 서버를 지정하여 사용자에게 제공한다. 본 발명의 제2 실시예에 따르면, 게임 룸 생성 제어부(900)는 게임 룸이 생성될 그룹을 지정하여 사용자에게 제공한다. 전술한 바와 같이, 본 발명의 바람직한 실시예에 따르면, 게임 룸 생성 제어부(900)는 게임 룸 서버 또는 그룹에 고르게 게임 룸이 생성될 수 있도록 게임 룸 서버 또는 그룹을 지정한다.
게임 룸 정보 수신부(902)는 게임 룸 서버의 게임 룸에 상태 변화가 생길 경우(예를 들어, 룸이 없어지거나 룸에 참여하는 사용자들이 변경됨), 상태 변화 정보를 게임 룸 서버로부터 수신하는 기능을 한다. 전술한 바와 같이, 게임 룸 서버는 상태 변화가 생길 경우 변동된 정보만을 게임 룸 정보 수신부(902)에 제공할 수도 있으며, 전체 룸 정보를 다시 보낼 수도 있다.
게임 룸 정보 관리부(904)는 게임 룸 정보 수신부(902)가 수신한 정보를 반영하는 데이터베이스로서의 기능을 한다. 게임 룸 정보 관리부(904)는 게임 룸 정보 수신부(902)가 수신한 데이터를 미리 설정된 알고리즘에 따라 데이터베이스에 저장할 수 있는 형태로 변환하고 변환된 정보를 저장한다.
게임 룸 정보 제공부(906)는 게임 룸 정보 요청이 있을 경우 룸 정보 관리부 (904)에 저장된 룸 정보를 제공하는 기능을 한다. 대기자 서버에 접속한 사용자는 게임 룸 매니저 서버에 현재 생성된 게임 룸들에 대한 정보를 요청할 수 있으며, 게임 룸 정보 제공부(906)는 해당 요청 정보에 응답하여 개설된 룸들에 대한 정보를 제공한다.
사용자들은 게임 룸 생성 시 게임 룸의 속성 정보(예를 들어, 참여하는 사용자들의 레벨, 나이, 성별, 인원 등)를 입력할 수 있으며, 게임 룸 정보 제공부(906)는 개설된 게임 룸들의 리스트뿐만 아니라 상기의 속성 정보를 이용하여 보다 상세한 게임 룸 정보를 제공하는 것이 가능하다.
예를 들어, 사용자는 특정 레벨 이상의 사용자들이 참여하는 룸 정보, 특정 인원수가 참여하는 룸 정보 등 특정한 속성을 가지고 있는 게임 룸 정보만을 요청할 수 있으며, 게임 룸 매니저 서버는 사용자가 요청한 속성에 상응하는 게임 룸 리스트만을 추출하여 사용자에게 제공한다. 채널과 관계없이 게임 시스템에 생성된 모든 게임 룸들에 대한 정보가 게임 룸 정보 관리부(904)에 의해 관리되므로, 게임 룸 정보 제공부(906)는 사용자가 요청한 속성에 상응하는 개설된 모든 게임 룸 정보를 제공하는 것이 가능하다.
게임 룸 참여 매칭부(908)는 사용자들이 보다 빠르게 게임 룸에 참여할 수 있는 기능을 제공한다. 게임 룸 참여 매칭부(908)는 사용자가 빠른 룸 참여를 요청할 경우 사용자의 특성(예를 들어, 레벨, 나이 등)에 맞는 게임 룸을 자동적으로 매칭시키는 기능을 한다.
게임 룸 참여 매칭부(908)는 상기한 게임 룸의 속성 정보를 이용하여 사용자 의 특성에 맞는 게임 룸을 선택하며, 선택된 게임 룸의 주소 정보를 빠른 룸 참여를 요청한 사용자에 전송함으로써 사용자가 해당 게임 룸 스페이스에 바로 접속할 수 있도록 한다. 게임 룸 참여 매칭부의 보다 자세한 동작은 별도의 도면을 통해 후에 설명하기로 한다.
도 10은 본 발명의 바람직한 일 실시예에 따른 게임 룸 상태 정보를 게임 룸 매니저 서버에 제공하는 과정에 대한 순서도이다.
도 10을 참조하면, 게임 룸 서버들에 생성된 각각의 게임 룸 스페이스는 자신의 게임 룸에 상태 변화가 있는지 여부를 모니터링한다(단계 1000). 예를 들어, 상태변화에는 게임 룸에 새로운 사용자가 참여하거나 게임 룸이 없어지는 경우 등이 포함될 수 있다.
게임 룸 스페이스에 상태 변화가 있을 경우, 게임 룸 서버는 상태 정보 패킷을 생성한다. (단계 1002).
도 12는 본 발명의 바람직한 일 실시예에 따른 게임 룸 상태 정보 패킷의 구조를 도시한 도면이다.
도 12에 도시된 바와 같이, 본 발명의 일 실시예에 따른 상태 정보 패킷은 게임 룸 주소 필드(1200), 룸 제목 필드(1202), 룸 속성 필드(1204), 룸 참여자 필드(1206)를 포함할 수 있다.
게임 룸 주소 필드(1200)에는 각각의 게임 룸에 부여되는 고유의 주소 정보가 기록된다. 게임 룸 매니저 서버는 게임 룸 주소 필드의 게임 룸 주소를 통해 어떠한 게임 룸의 상태 정보 패킷인지 여부를 판단한다.
게임 룸 제목 필드(1202)에는 게임 룸 생성자가 게임 룸 생성 시 입력한 제목 정보가 기록된다. 게임 룸 제목은 게임 도중 룸 생성자 또는 게임 룸 참여자에 의해 변경될 수 있으며, 변경된 게임 룸 제목은 게임 룸 제목 필드(1202)에 기록되어 게임 룸 매니저 서버에 전송된다.
게임 룸 속성 필드(1204)에는 게임 룸 생성자가 게임 룸 생성 시 설정한 속성 정보가 기록된다. 전술한 바와 같이, 본 발명의 바람직한 실시예에 따르면, 게임 룸 생성자는 게임 룸 생성 시 참여하는 사용자들의 레벨, 인원 수, 참여하는 사용자의 성별, 게임 형태 등을 지정할 수 있으며, 이와 같은 속성을 설정할 수 있는 웹페이지가 사용자에게 제공된다. 사용자가 설정한 속성 정보는 게임 룸 속성 필드(1204)에 기록된다. 또한, 게임 룸 속성은 게임 룸 생성자 또는 참여자에 의해 변경될 수 있으며, 변경된 정보는 게임 룸 속성 필드(1204)에 기록되어 사용자 매니저 서버에 전송된다.
게임 룸 참여자 필드(1206)에는 현재 참여하고 있는 사용자 정보가 기록된다. 각각의 게임 룸은 참여하고 있는 사용자가 변경되는지 여부를 모니터링하고, 특정 사용자가 게임 룸에 새로 참여하거나 게임 룸을 떠날 경우 해당 정보를 게임 룸 참여자 필드에 기록하여 게임 룸 매니저 서버로 전송한다.
도 12와 같은 형태의 상태 정보 패킷은 허브 서버로 전송되며(1004), 도 12에는 도시되어 있지 않으나 상태 정보 패킷의 목적지 주소 필드에는 게임 룸 매니저 서버의 주소가 포함되어 있다. 허브 서버는 목적지 주소를 통해 게임 룸 매니저 서버로 전송되어야 할 패킷임을 판단하고(단계 1206) 게임 룸 매니저 서버와 연결 된 소켓을 통해 상태 정보 패킷을 게임 룸 매니저 서버로 전송한다(단계 1208).
게임 룸 매니저 서버는 수신된 상태 정보 패킷을 분석하여 변경된 상태를 저장한다(단계 1210). 변경된 상태 정보는 도 9의 게임 룸 정보 관리부(904)에 저장된다.
도 11은 본 발명의 바람직한 일 실시예에 따른 게임 룸 참여 과정을 도시한 순서도이다.
도 11을 참조하면, 프론트 서버군(주로, 대기자 서버)에 접속한 사용자는 게임 룸 리스트를 프론트 서버군에 요청하며, 프론트 서버군은 게임 룸 리스트 요청 정보를 허브 서버에 전송한다(단계 1100). 전술한 바와 같이, 사용자는 특정 속성에 상응하는 게임 룸 정보만을 요청할 수도 있으며, 사용자가 지정한 속성 정보는 게임 룸 리스트 요청 정보에 포함된다.
허브 서버는 수신한 게임 룸 리스트 요청 정보를 게임 룸 매니저 서버에 전송하며(단계 1102), 게임 룸 매니저 서버는 게임 룸 리스트 요청 정보를 분석하여 어떠한 종류의 게임 룸을 요청하였는지를 판단한다. 게임 룸 매니저 서버는 게임 룸의 속성 정보를 이용하여 사용자가 요청한 종류의 게임 룸을 검색한다(단계 1104).
검색을 통해, 게임 룸 매니저 서버는 사용자가 요청한 종류에 맞는 게임 룸 리스트를 추출하고, 게임 룸 리스트 정보를 허브 서버에 전송한다(단계 1108). 게임 룸 리스트에는 게임 룸의 방제, 속성 등의 기본적인 게임 룸 정보와 함께 각 게임 룸의 주소 정보가 포함된다.
허브 서버는 전송된 게임 룸 리스트 정보를 프론트 서버군에 접속한 사용자에게 전송하며(단계 1110), 사용자는 리스트에 있는 게임 룸 중 하나를 선택한다. 사용자가 특정 게임 룸을 선택할 경우, 사용자는 해당 게임 룸의 주소로 이동되어 해당 게임 룸 스페이스에 참여하게 된다(단계 1112).
도 13은 본 발명의 바람직한 일 실시예에 따른 게임 룸 매니저 서버의 게임 룸 참여 매칭부의 동작을 도시한 순서도이다.
전술한 바와 같이, 게임 룸 참여 매칭부는 사용자의 요청이 있을 경우 사용자에게 맞는 게임 룸에 바로 참여할 수 있는 기능을 제공한다.
도 13을 참조하면, 게임 룸 매니저 서버는 사용자로부터 게임 룸 매칭 요청 정보를 수신한다(단계 1300). 사용자에게 제공되는 게임 룸 참여를 위한 웹페이지에는 일반적인 게임 룸 참여 인터페이스뿐만 아니라 빠른 게임 룸 참여 인터페이스가 제공되며, 사용자는 빠른 게임 룸 참여 인터페이스를 통해 게임 룸 매칭을 요청할 수 있을 것이다.
게임 룸 매칭 요청 정보를 수신한 게임 룸 매니저 서버는 게임 룸 매칭을 위해 사용자의 특성 정보를 분석한다(단계 1302). 여기서 사용자의 특성 정보에는 사용자의 게임 레벨, 나이, 성별 등이 포함될 수 있을 것이다. 본 발명의 일 실시예에 따르면, 사용자의 특성 정보는 사용자 클라이언트에 설치된 어플리케이션 프로그램이 게임 룸 매니저 서버에 사용자 속성 정보를 전송함으로써 게임 룸 매니저 서버에 제공될 수 있을 것이다. 본 발명의 다른 실시예에 따르면, 게임 룸 매니저 서버는 사용자의 아이디를 이용하여 사용자의 특성 정보를 사용자 매니저 서버에 요청하고 사용자 매니저 서버로부터 특성 정보를 제공받을 수도 있을 것이다.
사용자의 특성 정보가 분석되면, 게임 룸 매니저 서버는 사용자의 특성 정보를 이용하여 사용자 특성에 상응하는 게임 룸 리스트를 추출한다(단계 1304). 일례로, 사용자의 게임 레벨이 10인 경우, 게임 룸 매니저 서버는 게임 레벨이 10 또는 10에 가까운 사용자들이 참여하도록 한 게임 룸 리스트를 추출한다.
게임 룸 리스트를 추출한 후, 게임 룸 매니저 서버는 선택된 리스트의 게임 룸 들 중 하나를 미리 설정된 알고리즘에 따라 선택한다(단계 1306). 예를 들어, 게임 룸 매니저 서버는 리스트의 게임 룸들 중 랜덤하게 하나를 선택할 수도 있을 것이며, 사용자의 특성과 게임 룸의 속성간의 유사도 계산을 통해 유사도가 가장 높은 게임 룸을 선택할 수도 있을 것이다.
게임 룸이 선택되면, 게임 룸 매니저 서버는 선택된 게임 룸의 주소 정보를 포함하는 게임 룸 정보를 사용자에게 전송한다(단계 1308). 사용자는 게임 룸의 주소 정보를 이용하여 해당 게임 룸에 바로 참여할 수 있게 된다.
이상에서 설명한 바와 같이, 본 발명에 의한 게임 룸 관리 시스템에 의하면, 사용자들은 채널 및 자신이 접속한 서버에 대한 제약 없이 게임 시스템에 생성된 게임 룸들에 자유롭게 참여할 수 있다.
또한, 본 발명에 의하면, 게임 시스템에 개설된 게임 룸들을 각각의 채널 서버가 독립적으로 관리하지 않고 전체적인 게임 룸들을 효율적으로 관리할 수 있는 장점이 있다.

Claims (19)

  1. 게임을 플레이하기 위한 적어도 하나의 게임 룸을 생성하는 적어도 하나의 게임 룸 서버;
    상기 적어도 하나의 게임 룸 서버에서의 게임 룸 생성에 대한 제어 정보를 제공하며, 상기 적어도 하나의 게임 룸 서버로부터 게임 룸 상태 변화 정보를 수신하여 관리하는 게임 룸 매니저 서버;
    상기 게임 룸 서버에 게임 룸 스페이스가 생성될 경우, 생성되는 게임 룸 스페이스에 대해 고유의 주소 정보를 할당하고 상기 게임 룸 매니저 서버와 적어도 하나의 게임 룸 서버 사이의 패킷을 중계하는 허브 서버를 포함하되,
    사용자가 게임 룸 생성을 요청할 경우, 게임 룸 생성 요청 정보는 상기 게임 룸 매니저 서버에 전송되며, 상기 게임 룸 매니저 서버는 게임 룸을 생성할 게임 룸 서버를 지정하여 지정된 게임 룸 서버에서 게임 룸이 생성되도록 제어하며, 생성되는 게임 룸의 주소 정보 및 속성 정보는 상기 게임 룸 매니저 서버에 제공되는 것을 특징으로 하는 게임 룸 관리 시스템.
  2. 제1항에 있어서,
    사용자들의 로그인 요청을 처리하여 사용자의 접속을 허용하는 로비 서버;
    사용자들이 상기 적어도 하나의 게임 룸 서버에 생성된 게임 룸 스페이스들에 대한 정보를 조회하고 참여 요청을 할 수 있는 웹페이지를 제공하는 적어도 하나의 대기자 서버;
    상기 로비 서버, 대기자 서버 및 게임 룸 서버로부터 사용자들의 접속 정보 및 상태 변화 정보를 수신하여 관리하는 사용자 매니저 서버를 더 포함하는 것을 특징으로 하는 게임 룸 관리 시스템.
  3. 삭제
  4. 제1항에 있어서,
    상기 게임 룸 매니저 서버는 게임 룸이 복수의 게임 룸 서버에 고르게 분포할 수 있도록 게임 룸 서버를 지정하는 것을 특징으로 하는 게임 룸 관리 시스템.
  5. 제1항에 있어서,
    상기 게임 룸 생성을 요청한 사용자는 상기 게임 룸 매니저 서버가 지정한 서버로 이동하며, 상기 사용자가 이동한 게임 룸 서버는 상기 허브 서버가 할당하는 주소 정보에 따라 게임 룸을 생성하는 것을 특징으로 하는 게임 룸 관리 시스템.
  6. 제5항에 있어서,
    상기 게임 룸의 속성 정보는 게임 룸의 레벨 및 인원 정보를 포함하는 것을 특징으로 하는 게임 룸 관리 시스템.
  7. 제1항에 있어서,
    상기 게임 룸 매니저 서버는 생성된 게임 룸의 주소 정보 및 게임 룸의 속성 정보를 관리하며, 사용자가 특정한 종류의 게임 룸 정보를 요청할 경우, 상기 게임 룸의 속성 정보를 이용하여 사용자가 요청한 종류에 상응하는 게임 룸 리스트 및 각 게임 룸의 주소 정보를 제공하는 것을 특징으로 하는 게임 룸 관리 시스템.
  8. 제1항에 있어서,
    상기 게임 룸 매니저 서버는 사용자가 빠른 게임 룸 참여를 요청할 경우, 사용자의 특성 정보와 게임 룸의 속성 정보를 분석하여 사용자의 특성에 상응하는 게임 룸을 선택하고 선택된 게임 룸에 참여하기 위한 주소 정보를 제공하는 것을 특징으로 하는 게임 룸 관리 시스템.
  9. 제1항에 있어서,
    상기 게임 룸 매니저 서버는 게임 룸 생성 시 게임 룸 서버들의 부하를 모니터링하고 생성될 게임 룸 서버를 지정하는 게임 룸 생성 제어부;
    게임 룸 생성 정보 및 생성된 게임 룸들의 상태 변화 정보를 수신하는 게임 룸 정보 수신부;
    상기 게임 룸 정보 수신부에 의해 수신된 게임 룸 정보들을 관리하는 게임 룸 정보 관리부;
    게임 룸에 대한 정보 요청을 수신할 경우, 상기 게임 룸 정보 관리부에 저장된 게임 룸들에 대한 정보를 제공하는 게임 룸 정보 제공부; 및
    사용자의 특성 정보를 이용하여 사용자의 특성에 맞는 게임 룸을 선택하고 해당 게임룸에 참여하기 위한 게임 룸 스페이스 주소 정보를 제공하는 게임 룸 참여 매칭부를 포함하는 것을 특징으로 하는 게임 룸 관리 시스템.
  10. 제9항에 있어서,
    상기 게임 룸 매니저 서버가 제공하는 게임 룸 정보에는 게임 룸의 주소 정보가 포함되며, 사용자는 상기 주소 정보를 이용하여 해당 게임 룸이 생성된 스페이스로 직접 이동하는 것을 특징으로 하는 게임 룸 관리 시스템.
  11. 게임을 플레이하기 위한 적어도 하나의 게임 룸을 생성하는 적어도 하나의 게임 룸 서버;
    상기 적어도 하나의 게임 룸 서버로부터 게임 룸 상태 변화 정보를 수신하여 관리하며 게임 룸 생성과 관련한 제어 정보를 제공하는 게임 룸 매니저 서버;
    상기 게임 룸 매니저 서버와 적어도 하나의 게임 룸 서버 사이의 패킷을 중계하는 허브 서버를 포함하되,
    상기 적어도 하나의 게임 룸 서버에 생성되는 게임 룸에는 계층적인 구조를 가지는 고유의 주소 정보가 할당되며, 상기 허브 서버는 상기 계층적인 주소 정보를 이용하여 패킷을 중계하며,
    상기 계층적인 주소 정보는 최상위 레벨의 프로세스 주소, 중간 레벨의 그룹 주소 및 최하위 레벨의 스페이스 주소를 포함하되, 상기 게임 룸 매니저 서버는 게임 룸 생성 요청 정보를 수신할 경우 게임 룸을 생성할 그룹 지정 정보를 제공하며, 지정된 그룹에 게임 룸 스페이스가 생성되는 것을 특징으로 하는 게임 룸 관리 시스템.
  12. 삭제
  13. 제11항에 있어서,
    상기 허브 서버는 적어도 하나의 게임 룸 서버에 대해 프로세스 및 그룹 주소를 생성하고, 생성된 프로세스 및 그룹 주소를 전송하며, 생성된 프로세스 및 그룹 주소를 관리하는 것을 특징으로 하는 게임 룸 관리 시스템.
  14. 제11항에 있어서,
    상기 각각의 게임 룸 서버에는 복수의 그룹이 형성되고, 상기 그룹에는 복수의 게임 룸 스페이스가 생성되며, 상기 그룹은 생성된 게임 룸 스페이스에 고유의 스페이스 주소를 할당하는 것을 특징으로 하는 게임 룸 관리 시스템.
  15. 삭제
  16. 제11항에 있어서,
    상기 게임 룸 생성 시, 사용자는 게임 룸의 레벨, 인원을 포함하는 게임 룸 속성 정보를 입력할 수 있으며, 상기 생성된 게임 룸의 주소 정보 및 속성 정보는 상기 게임 룸 매니저 서버에 전송되는 것을 특징으로 하는 게임 룸 관리 시스템.
  17. 제11항에 있어서,
    상기 게임 룸 매니저 서버는 생성된 게임 룸의 주소 정보 및 게임 룸의 속성 정보를 관리하며, 사용자가 특정한 종류의 게임 룸 정보를 요청할 경우, 상기 게임 룸의 속성 정보를 이용하여 사용자가 요청한 종류에 상응하는 게임 룸 리스트 및 각 게임 룸의 주소 정보를 제공하는 것을 특징으로 하는 게임 룸 관리 시스템.
  18. 제11항에 있어서,
    상기 게임 룸 매니저 서버는 사용자가 빠른 게임 룸 참여를 요청할 경우, 사용자의 특성 정보와 게임 룸의 속성 정보를 분석하여 사용자의 특성에 상응하는 게임 룸을 선택하고 선택된 게임 룸에 참여하기 위한 주소 정보를 제공하는 것을 특징으로 하는 게임 룸 관리 시스템.
  19. 제11항에 있어서,
    상기 게임 룸 매니저 서버가 제공하는 게임 룸 정보에는 게임 룸의 주소 정보가 포함되며, 사용자는 상기 주소 정보를 이용하여 해당 게임 룸이 생성된 스페이스로 직접 이동하는 것을 특징으로 하는 게임 룸 관리 시스템.
KR1020050078894A 2005-08-26 2005-08-26 게임 룸 관리 시스템 KR100710436B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020050078894A KR100710436B1 (ko) 2005-08-26 2005-08-26 게임 룸 관리 시스템
JP2006230959A JP4781942B2 (ja) 2005-08-26 2006-08-28 ゲームルーム及びゲームチャンネル管理システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020050078894A KR100710436B1 (ko) 2005-08-26 2005-08-26 게임 룸 관리 시스템

Publications (2)

Publication Number Publication Date
KR20070024203A KR20070024203A (ko) 2007-03-02
KR100710436B1 true KR100710436B1 (ko) 2007-04-23

Family

ID=38098952

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020050078894A KR100710436B1 (ko) 2005-08-26 2005-08-26 게임 룸 관리 시스템

Country Status (1)

Country Link
KR (1) KR100710436B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013069911A1 (ko) * 2011-11-09 2013-05-16 ㈜네오위즈게임즈 빠른 방 생성 및 입장이 가능한 인터넷 게임 서비스 방법 및 시스템

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101383695B1 (ko) * 2012-03-14 2014-04-23 (주)네오위즈게임즈 자동 게임방 생성 방법 및 장치

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100493821B1 (ko) * 2004-11-05 2005-06-08 엔에이치엔(주) 멀티 플레이 게임 시스템 및 그 방법

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100493821B1 (ko) * 2004-11-05 2005-06-08 엔에이치엔(주) 멀티 플레이 게임 시스템 및 그 방법

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013069911A1 (ko) * 2011-11-09 2013-05-16 ㈜네오위즈게임즈 빠른 방 생성 및 입장이 가능한 인터넷 게임 서비스 방법 및 시스템

Also Published As

Publication number Publication date
KR20070024203A (ko) 2007-03-02

Similar Documents

Publication Publication Date Title
US7803052B2 (en) Discovery and distribution of game session information
US9729593B2 (en) System and method for customized experiences in a shared online environment
RU2419844C2 (ru) Настройка интерактивных игровых сеансов внеигрового контекста
CN102185862B (zh) 网络游戏系统的通信方法、装置及系统
JP5342733B2 (ja) オンラインゲームプレイヤーのソーシャルマッチを行う方法およびシステム
CN101068180B (zh) 网络游戏的主控系统、管理系统及管理方法
AU2001296186B2 (en) Communication infrastructure arrangement for multiuser
US7493368B2 (en) System and method for effectively providing user information from a user device
US7080148B2 (en) Translating switch and method
US20120117144A1 (en) System and method for creating a viewing social network
KR101194502B1 (ko) 분리 가능 유알엘〔url〕 인터넷브라우저 기반게임시스템
US10021215B2 (en) Method and server for allocating game resources
US20010013054A1 (en) Server device, a method and system for communication, and a computer product
JP2000066981A (ja) 通信方法及び通信ネットワ―ク
CN100534056C (zh) 一种在网络游戏中用户登录的方法及系统
CN101217534A (zh) 网络游戏的通信方法、系统及实现网络游戏的方法、系统
US10757195B2 (en) Device interconnection and service discovery via a communication cloud
JP2023508061A (ja) アカウントアクセス方法及びその装置、記憶媒体、並びに電子機器
KR20030079922A (ko) 분산된 멀티-유저 애플리케이션에서 애플리케이션 이름을태그 값으로 맵핑하기 위한 서버
JP4781942B2 (ja) ゲームルーム及びゲームチャンネル管理システム
KR100710436B1 (ko) 게임 룸 관리 시스템
KR100709747B1 (ko) 게임 서버 시스템 및 게임 시스템 운영 방법
TWI827854B (zh) 聊天服務提供方法及裝置
JP2002132712A (ja) ユーザ管理システム
KR100710456B1 (ko) 온라인 게임 채널 관리 시스템 및 방법

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20100331

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20120329

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20170328

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20180328

Year of fee payment: 12

FPAY Annual fee payment

Payment date: 20190325

Year of fee payment: 13