KR100644393B1 - 온라인 게임에서 사용자 정보 관리 시스템 - Google Patents

온라인 게임에서 사용자 정보 관리 시스템 Download PDF

Info

Publication number
KR100644393B1
KR100644393B1 KR1020050099678A KR20050099678A KR100644393B1 KR 100644393 B1 KR100644393 B1 KR 100644393B1 KR 1020050099678 A KR1020050099678 A KR 1020050099678A KR 20050099678 A KR20050099678 A KR 20050099678A KR 100644393 B1 KR100644393 B1 KR 100644393B1
Authority
KR
South Korea
Prior art keywords
user
information
server
space
address
Prior art date
Application number
KR1020050099678A
Other languages
English (en)
Inventor
권찬영
Original Assignee
엔에이치엔(주)
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 엔에이치엔(주) filed Critical 엔에이치엔(주)
Priority to KR1020050099678A priority Critical patent/KR100644393B1/ko
Application granted granted Critical
Publication of KR100644393B1 publication Critical patent/KR100644393B1/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Systems or methods specially adapted for specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services

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

온라인 게임에서 사용자 정보 관리 시스템{System for Managing User Information in On-line Game}
도 1은 종래의 온라인 게임 시스템의 일례를 도시한 도면.
도 2는 본 발명의 바람직한 일 실시예에 따른 온라인 게임에서 사용자 정보 관리 시스템의 구성을 도시한 도면.
도 3은 본 발명의 제1 실시예에 따른 스페이스의 생성 및 주소 할당 과정에 대한 순서도.
도 4는 본 발명의 바람직한 제2 실시예에 따른 스페이스의 주소 할당 과정을 도시한 순서도.
도 5는 본 발명의 제2 실시예에 따른 계층적인 주소 체계의 일례를 도시한 도면.
도 6은 본 발명의 제1 실시예에 따른 허브 서버의 모듈 구성을 도시한 블록도.
도 7은 본 발명의 제2 실시예에 따른 허브 서버의 모듈 구성을 도시한 블록도.
도 8은 본 발명의 바람직한 일 실시예에 따른 사용자 매니저 서버의 모둘 구 성을 도시한 블록도.
도 9는 본 발명의 바람직한 일 실시예에 따른 사용자의 스페이스 이동 정보가 사용자 매니저 서버에 전송되는 과정에 대한 순서도.
도 10은 본 발명의 바람직한 일 실시예에 따른 다른 서버에 접속한 사용자들간의 메시지 전송 절차를 도시한 순서도.
도 11은 본 발명의 바람직한 일 실시예에 따른 친구 또는 길드원의 상태 변화 정보를 제공하는 과정에 대한 순서도.
도 12는 본 발명의 바람직한 일 실시예에 따른 사용자가 다른 사용자가 속한 스페이스로 바로 이동하는 과정에 대한 순서도.
본 발명은 게임 시스템에 관한 것으로서, 더욱 상세하게는 다수의 사용자가 게임 서버에 접속하여 게임을 플레이하는 온라인 게임에서 사용자 정보를 제공하고 관리하는 시스템에 관한 것이다.
최근, 네트워크 기술의 발달로 대용량 멀티미디어 데이터의 고속 전송이 가능해지고, 네트워크에 접속 가능한 사용자 단말기의 보편적인 보급에 따라 사용자에게 다양한 종류의 컨텐츠를 제공하는 컨텐츠 제공업체(Contents Provider: CP)가 급속도로 증가하고 있는 추세이다.
컨텐츠 제공업체는 검색, 쇼핑, 게임 및 채팅 서비스와 같은 다양한 종류의 컨텐츠를 제공하고 있으며, 특히, 온라인 게임 서비스는 유료 서비스인 경우에도 많은 수요자 층을 확보할 수 있다는 점에서 컨텐츠 제공업체의 큰 수익원으로 자리 잡고 있다.
컨텐츠 제공 업체에서 제공하는 온라인 게임은 고스톱, 포커와 같은 보드 게임과 헥사 등의 블록 게임 등 종류가 다양하다.
도 1은 종래의 온라인 게임 시스템의 일례를 도시한 도면이다.
도 1에 도시된 바와 같이, 종래의 온라인 게임 서버 시스템은 다수의 채널 서버(100)로 이루어져 있으며, 각각의 채널 서버에는 다수의 게임 룸이 생성되었다. 종래의 있어서, 게임 진행은 각각의 채널 서버마다 독립적으로 진행되었다.
사용자 클라이언트들(100)은 게임을 제공하는 채널 서버에 접속하기 전에 별도의 게임 접속 서버(미도시)에서 제공하는 웹페이지를 통해 채널을 선택하며, 선택된 채널의 서버에서 게임을 플레이하였다.
종래의 경우, 채널은 사용자들의 게임 레벨, 나이, 성별 등을 기준으로 분류되었으며, 사용자들의 레벨을 기준으로 채널을 분류하는 것이 가장 일반적이었다.
이와 같은 종래의 시스템에 의하면, 사용자들은 특정 채널을 선택한 경우 다른 채널의 상태를 확인할 수 없었으며, 따라서 다른 채널에 참여한 사용자들에 대한 정보 역시 제공받을 수 없었다.
또한, 서비스 프로바이더도 각 채널 서버별로 사용자를 관리할 뿐 게임 시스템에 접속한 전체 사용자를 효율적으로 관리할 수 없었다.
또한, 사용자들은 같은 채널 서버에 접속한 사용자들과만 메시지 송수신이 가능하였으며, 다른 채널 서버에 접속한 사용자가 어떠한 게임 룸에 참여하고 있는지에 대한 정보를 제공받을 수 없는 문제점이 있었다.
근래에 들어, 길드와 같이 게임을 즐기는 사용자들간에 커뮤니티를 형성하는 것이 일반화되고 있으며, 이에 따라 채널에 구속받지 않고 사용자들의 상태 정보를 확인하고 메시지 송수신이 가능한 온라인 게임 시스템에 대한 요구가 증가되고 있다.
본 발명에서는 상기한 바와 같은 종래 기술의 문제점을 해결하기 위해, 게임 시스템에 접속한 사용자 정보를 통합적으로 관리할 수 있는 온라인 게임에서 사용자 정보 관리 시스템을 제안하고자 한다.
본 발명의 다른 목적은 사용자가 속한 채널에 구속받지 않고 게임 시스템에 접속한 사용자들간의 자유로운 메시지 송수신이 가능한 사용자 정보 관리 시스템을 제안하는 것이다.
상기한 바와 같은 목적을 달성하기 위하여, 본 발명의 일 측면에 따르면, 사용자들이 접속하며 사용자들의 접속 및 상태 변화 정보를 감지하고 사용자의 요청에 응답하여 스페이스를 생성하는 프론트 서버군; 상기 프론트 서버군으로부터 사 용자들의 접속 및 상태 변화 정보를 수신하여 관리하는 사용자 매니저 서버; 상기 프론트 서버군에 포함되는 서버들 및 상기 사용자 매니저 서버와의 통신을 위한 통신 소켓을 구비하고 있으며, 상기 프론트 서버군에 속한 서버들 및 상기 사용자 매니저 서버와의 통신을 중계하는 허브 서버를 포함하되, 상기 프론트 서버군에 생성되는 스페이스에는 고유의 주소 정보가 할당되고, 사용자가 프론트 서버군에서 스페이스를 이동할 경우, 스페이스 이동 정보는 상기 사용자 매니저 서버에 전송되며, 상기 사용자 매니저 서버는 상기 스페이스 주소 정보를 이용하여 사용자 정보를 제공하고 사용자들간의 메시지 송수신을 제어하는 온라인 게임에서 사용자 정보 관리 시스템이 제공된다.
본 발명의 다른 측면에 따르면, 프론트 서버군과 백-엔드 서버군을 포함하고 게임 시스템 상기 프론트 서버군과 백-엔드 서버군의 통신이 허브 서버에 의해 중계되는 게임 시스템에서, 상기 백-엔드 서버군에 속하며 사용자 정보를 관리하는 사용자 매니저 서버로서, 프론트 서버군으로부터 사용자들의 접속 정보 및 사용자들의 상태 변화 정보를 수신하는 사용자 정보 수신부; 상기 사용자 정보 수신부에서 수신한 정보를 관리하는 사용자 정보 관리부; 각 사용자들의 친구 리스트 및 길드 정보를 관리하는 미리 설정된 친구 또는 길드 관련 이벤트가 발생할 경우 이벤트 발생 정보를 관련된 사용자에게 전송하는 친구/길드 정보 관리부; 특정 사용자의 정보를 요청받을 경우 해당 사용자 정보를 제공하고, 미리 설정된 친구 또는 길드 관련 이벤트가 발생할 경우 이벤트 발생 정보를 관련된 사용자에게 제공하는 사용자 정보 송신부를 포함하되, 상기 프론트 서버군에 생성되는 각각의 스페이스에 는 고유의 주소 정보가 할당되고, 사용자의 스페이스 이동 시 이동한 스페이스 이동 정보가 상기 사용자 정보 수신부에 제공되는 사용자 매니저 서버가 제공된다.
이하에서, 첨부된 도면을 참조하여 본 발명에 의한 게임 룸 관리 시스템의 바람직한 실시예를 상세하게 설명한다.
도 2는 본 발명의 바람직한 일 실시예에 따른 온라인 게임에서 사용자 정보 관리 시스템의 구성을 도시한 도면이다.
도 2를 참조하면, 본 발명의 일 실시예에 따른 사용자 정보 관리 시스템은 사용자 매니저 서버(200), 대기자 매니저 서버(202), 게임 룸 매니저 서버(204), 허브 서버(206), 로비 서버(208), 대기자 서버(210) 및 게임 룸 서버(212)를 포함한다.
도 2에서, 로비 서버(208), 대기자 서버(210) 및 게임 룸 서버(212)는 사용자들이 네트워크를 통해 직접 접속하는 서버군으로서 이하에서는 이를 프론트 서버군이라고 한다. 또한, 사용자 매니저 서버(200), 대기자 매니저 서버(202) 및 게임 룸 매니저 서버(204)는 프론트 서버군에 속한 서버들을 관리하는 서버들로서, 이하에서는 백-엔드 서버군이라고 한다. 백-엔드 서버군의 서버들 중 사용자 정보를 관리하고 사용자간의 메시지 전송 및 사용자 정보를 제공하는 과정은 사용자 매니저 서버(200)에 의해 제어된다.
본 발명에 의한 사용자 정보 관리 시스템은 고스톱, 포커, 테트리스 등과 같은 독립된 게임 룸에서 복수의 사용자가 게임을 즐길 수 있는 온라인 보드 게임 및 블록 게임에 모두 적용될 수 있다. 보드 게임 및 블록 게임과 같이 명시적인 게임 룸이 제공되지 않더라도 일정 숫자의 사용자가 특정한 논리적인 공간에서 게임을 수행하는 어떠한 종류의 게임도 본 발명에 적용될 수 있을 것이다.
도 2에서, 프론트 서버군은 사용자들의 게임 시스템 접속 요청 정보를 처리하고 게임을 진행하기 위한 게임 룸을 제공하는 기능을 한다. 프론트 서버군은 사용자 인증 처리, 게임 룸 제공, 채널 제공 등의 기능을 제공하며, 사용자가 프론트 서버군을 통해 게임 시스템에 접속한 경우 사용자는 게임 룸 참여, 채팅, 게임 룸 생성 등과 같은 다양한 요청 정보를 프론트 서버군에 전송할 수 있다.
본 발명에서, 프론트 서버군과 백-엔드 서버군은 허브 서버(206)에 의해 연결되며, 허브 서버(206)는 프론트 서버군의 서버들과 백-엔드 서버군의 서버들 사이의 패킷을 중계하는 기능을 한다. 또한, 허브 서버(206)는 프론트 서버군의 서버들 사이의 패킷 및 백-엔드 서버군의 서버들 사이의 패킷 역시 중계한다. 즉, 허브 서버(206)는 본 발명에 의한 온라인 게임 시스템의 모든 서버들간의 패킷을 중계한다.
백-엔드 서버군은 프론트 서버군의 정보를 관리하고 프론트 서버군의 각 서버들의 동작을 제어하는 기능을 한다. 구체적으로, 백-엔드 서버군은 프론트 서버군에 접속한 사용자들의 정보 및 프론트 서버군에 생성된 게임 룸 정보를 관리한다.
사용자가 접속하거나, 사용자가 프론트 서버군에 특정 서버로 이동할 경우 해당 정보는 백-엔드 서버군의 사용자 매니저 서버(200)에 전송되며, 사용자 매니저 서버(200)는 변경된 사용자 정보를 관리한다.
도 2에서, 로비 서버(208)는 사용자들이 게임 서버 시스템에 초기에 접속하는 서버이다. 로비 서버(208)는 사용자 매니저 서버(200)와의 통신을 통해 사용자 인증을 처리하고 캐릭터가 필요한 게임일 경우 캐릭터 생성을 지원한다.
로비 서버(208)는 사용자가 로그인 요청을 할 경우 사용자로부터 수신한 아이디 및 비밀 번호 정보를 허브 서버(206)를 통해 사용자 매니저 서버에 전송하며 사용자 매니저 서버로부터의 응답 정보에 따라 사용자의 접속을 허락한다.
대기자 서버(210)는 사용자들간의 채팅 기능을 제공하고 사용자들이 게임에 앞서 참여할 게임 룸을 선택하거나 게임 룸을 생성할 수 있는 인터페이스를 제공한다. 대기자 서버(210)는 대기자 매니저 서버(202)와의 통신을 통해 채팅 룸 스페이스를 생성하며 채팅 룸 스페이스에 상태 변화가 생길 때마다 상태 변화 정보를 허브 서버(206)를 통해 대기자 매니저 서버(202)에 전송하나.
또한, 대기자 서버(210)는 사용자가 개설된 게임 룸에 대한 정보를 제공 받고 게임 룸 참여를 요청하거나 게임 룸 생성을 요청할 수 있는 인터페이스가 구비된 웹페이지를 제공한다. 물론, 대기자 서버는 채팅 기능만을 제공하고 게임 룸 참여 및 게임 룸 생성을 요청할 수 있는 인터페이스를 제공하는 기능은 별도의 서버에 의해 제공될 수도 있다는 것은 당업자에게 있어 자명할 것이다.
게임 룸 서버(212)는 복수의 사용자들이 참여하여 게임을 즐길 수 있는 게임룸을 제공하는 기능을 한다. 게임 룸 서버(212)는 게임 룸 매니저 서버(204)와의 통신을 통해 게임 룸을 생성한다. 전술한 바와 같이, 게임 룸 서버(212)는 복수개가 존재할 수 있으며, 각각의 게임 룸 서버는 게임 룸 생성 시 게임 룸 매니저 서 버(204)의 제어 정보에 따라 게임 룸을 생성한다.
본 발명에 의한 사용자 관리 시스템에 의하면, 효율적인 사용자 관리를 위해 프론트 서버군에 생성되는 채팅룸 스페이스, 대기자가 상주하는 대기실 스페이스, 게임 룸 스페이스 등에는 고유의 주소 정보가 할당되며, 사용자 매니저 서버는 각 사용자가 속한 스페이스 주소 정보를 함께 관리한다.
본 발명의 제1 실시예에 따르면, 사용자가 존재하는 각 스페이스의 고유 주소 정보는 허브 서버(206)에 의해 할당된다. 허브 서버(206)는 게임 룸 서버에 생성되는 각 게임 룸 스페이스 및 대기자 서버에 생성되는 각 채팅 룸 스페이스 등과 같은 프론트 서버군에 생성되는 다양한 스페이스에 고유의 주소 정보를 할당한다. 생성된 스페이스들 중 게임 룸 스페이스에 대한 정보는 게임 룸 매니저 서버에 의해 관리될 수 있다.
허브 서버에 의해 할당되는 고유의 주소 정보는 해당 스페이스로 사용자가 접속하거나 해당 스페이스의 사용자에게 메시지를 전달할 경우의 주소 정보로 이용된다.
본 발명의 제2 실시예에 따르면, 프론트 서버군에 생성되는 각 스페이스의 주소 정보는 계층적인 구조를 가지고 있으며, 각 스페이스의 상위 레벨의 주소는 허브 서버에 의해 할당되고, 하위 레벨의 주소는 허브 서버에 의해 주소가 할당된 상위 레벨이 할당한다.
도 5는 본 발명의 제2 실시예에 따른 계층적인 주소 체계의 일례를 도시한 도면이다.
도 5에 도시된 바와 같이, 본 발명의 제2 실시예에 따른 주소 체계는 프로세스, 그룹 및 스페이스로 분류되며, 프로세스가 주소의 최상위 레벨이고 스페이스가 주소의 최하위 레벨이 된다. 따라서, 하나의 프로세스에는 복수의 그룹이 존재하며, 하나의 그룹에는 복수의 스페이스가 존재한다.
프로세스는 본 발명의 제2 실시예에 따른 주소 체계의 최상위 레벨로서, 본 발명의 일 실시예에 따르면, 게임 서버 시스템의 물리적인 서버 각각을 하나의 프로세스로 설정할 수 있다. 이와 달리, 독립적인 서버들의 집합인 서버군을 하나의 프로세스로 설정할 수도 있을 것이다.
그룹은 프로세스의 하위 레벨로서, 각각의 물리적인 서버가 하나의 프로세스로 설정될 경우, 그룹은 물리적인 서버의 공간을 논리적으로 분할한 단위가 될 수 있다. 이와 달리, 복수의 서버군이 하나의 프로세스로 설정될 경우, 그룹은 하나의 물리적인 서버로 설정될 수도 있으며, 이 경우에도 물리적인 서버의 공간을 논리적으로 분할한 단위가 그룹으로 설정될 수 있을 것이다.
스페이스는 본 발명에 의한 주소 체계의 최하위 레벨로서, 게임 룸, 채팅 룸, 대기실과 같이 사용자들이 접속하는 영역을 구분하는 최하위 단위이며 하나의 그룹은 복수의 스페이스를 포함한다. 본 발명의 바람직한 실시예에 따르면, 각각의 게임 룸, 채팅 룸, 대기자 룸 등은 독립적인 스페이스로 정의되며, 이들 각각에는 고유의 스페이스 주소가 할당된다.
본 발명의 제2 실시예에 따르면, 허브 서버(206)는 상위 레벨의 주소 중 프로세스 및 그룹 주소 할당하고 할당된 주소를 관리하며, 게임 룸, 채팅 룸과 같은 스페이스에 대한 하위 레벨 주소 할당은 각각의 그룹에 의해 수행된다.
제1 실시예와 달리, 허브 서버가 상위 레벨의 주소만을 담당하고, 개개의 스페이스에 대한 최하위 레벨의 주소 할당이 그룹에 의해 이루어질 경우, 허브 서버(206) 및 그룹이 게임 시스템과 관련한 주소 정보들을 분산하여 처리할 수 있는 장점이 있다.
상술한 제1 실시예 또는 제2 실시예에 의해 각각의 게임 룸에 주소 정보가 할당될 경우, 프론트 서버군의 각 서버들은 서버에 생성된 각 스페이스 주소 정보들을 백-엔드 서버군의 해당 서버에 전송한다.
게임 룸 서버(212)는 게임 룸 스페이스에 대해 할당된 주소 정보를 허브 서버(206)를 통해 게임 룸 매니저 서버에 전송한다.
또한, 게임 룸 서버(212)는 생성된 스페이스에 상태 변화가 생길 경우 허브 서버(206)를 통해 상태 변화 정보를 게임 룸 매니저 서버(204)에 전송한다.
사용자 매니저 서버(200)는 게임 서버 시스템에 접속한 사용자들의 정보를 관리하는 기능을 한다. 사용자 매니저 서버는 사용자 로그인, 로그아웃 또는 스페이스 이동과 같이 사용자 상태 변화가 있을 경우 해당 정보를 프론트 서버군의 서버들로부터 수신하여 관리한다. 특히, 사용자 매니저 서버(200)는 사용자가 스페이스를 이동할 때마다 이동한 주소 정보(제1 실시예의 경우 허브 서버 의해 할당되고, 제2 실시예의 경우 허브 서버 및 그룹에 의해 할당됨)를 사용자 정보와 연관하여 저장함으로써 게임 서버 시스템에 접속한 사용자들의 위치 정보를 계속적으로 관리한다.
또한, 사용자 매니저 서버(200)는 사용자들이 등록한 친구 정보 및 길드 정보를 관리하며, 특정 사용자의 친구 또는 같은 길드의 사용자가 접속할 경우 해당 사용자의 접속 정보를 제공한다.
종래의 온라인 게임 시스템의 경우, 각 채널마다 독립적으로 서버가 동작하므로, 게임 시스템에 접속한 사용자를 통합적으로 관리하기 어려운 문제점이 있었다. 또한, 사용자들은 서로 다른 서버에 접속한 사용자들과 메시지 교환이 불가능하였으며, 다른 서버에 접속한 사용자들의 상태 정보(예를 들어, 온라인 상태인지 여부)를 확인할 수 없었다. 아울러, 사용자들이 복수의 사용자들이 어떠한 채널 서버의 어떠한 게임 룸에 접속하였는지 여부를 확인하기가 어려운 문제점 역시 있었다.
본 발명에 의한 게임 시스템에 의하면, 프론트 서버군과 백-엔드 서버군을 분리하여 허브 서버를 통해 프론트 서버군과 백-엔드 서버군이 계속적으로 교환함으로써 사용자가 속한 채널에 관계없이 사용자 매니저 서버는 게임 시스템에 접속한 사용자들을 통합적으로 관리할 수 있다.
또한, 사용자가 존재하는 각 스페이스마다 고유의 주소 정보를 부여함으로써 사용자가 접속한 위치 정보를 세부적으로 관리할 수 있으며, 사용자의 세부적인 위치 정보가 관리되므로 허브 서버를 통해 물리적으로 서로 다른 서버에 접속한 사용자들간에도 메시지 송수신이 가능하다.
게임 룸 매니저 서버(204)는 게임 룸 서버에 생성된 게임 룸들에 대한 정보를 관리하고 사용자가 게임 룸 생성을 요청할 경우 게임 룸 생성을 위한 제어 정보 를 게임 룸 서버에 제공한다.
또한, 게임 룸 매니저 서버(204)는 허브 서버(206)를 통해 게임 룸 서버(212)로부터 게임 룸의 상태 변화 정보를 수신하며, 수신된 정보를 반영하여 게임 룸 서버에 생성된 게임 룸들에 대한 정보를 관리한다.
대기자 매니저 서버(202)는 대기자 서버에 접속한 사용자 정보 및 대기자 서버에 생성된 채팅룸을 관리하는 기능을 한다. 또한, 게임 룸 매니저 서버(204)와 같이, 대기자 매니저 서버(202)는 대기자 서버(200)에서의 채팅 룸 생성을 제어한다.
대기자 매니저 서버(202)는 허브 서버(206)를 통해 대기자 서버에 접속한 사용자들의 변화 정보(채팅 서버 접속 및 채팅 서버와의 접속 해제 등) 및 채팅룸 변화 정보(채팅룸의 생성 및 생성된 채팅룸에 참여한 사용자 정보 등)를 수신하여 수신된 정보를 관리한다.
도 3은 본 발명의 제1 실시예에 따른 스페이스의 생성 및 주소 할당 과정에 대한 순서도이다.
전술한 바와 같이, 본 발명의 게임 시스템은 프론트 서버군에 게임 룸 또는 채팅 룸과 같은 스페이스가 생성될 때 각 스페이스의 고유한 주소를 할당하며, 스페이스의 생성은 백-엔드 서버군의 서버들에 의해 제어된다.
도 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는 본 발명의 바람직한 제2 실시예에 따른 스페이스의 주소 할당 과정을 도시한 순서도이다.
전술한 바와 같이, 본 발명의 제2 실시예에 따르면, 허브 서버는 상위 레벨인 프로세스 및 그룹 주소를 할당하고, 그룹이 하위 레벨인 스페이스의 주소를 할당하는 바, 도 4는 허브 서버가 상위 레벨의 주소를 할당하는 과정을 도시한 순서도이다.
상위 레벨인 프로세스 및 그룹에 대한 주소 할당은 게임 시스템이 초기화될 때 수행될 수 있을 것이다.
도 4를 참조하면, 프론트 서버군 및 백-엔드 서버군의 서버들은 시스템 시작 시에 허브 서버에 프로세스 및 그룹의 주소 할당을 요청한다(단계 400).
허브 서버는 주소 할당 요청에 응답하여 프론트 서버군 및 백-엔드 서버군에 생성될 각각의 프로세스 및 그룹의 주소를 생성하고(단계 402), 생성된 주소 정보를 프론트 서버군 및 백-엔드 서버군의 서버들에 전송한다(단계 404).
본 발명의 제2 실시예에 의한 주소는 계층적인 구조이므로 동일한 프로세스에 속하는 그룹들은 주소 중 그룹 식별자만 상이하고 프로세스 식별자는 동일하다. 예를 들어, 프로세스 식별자가 FF인 프로세스에 속하는 제1 그룹 및 제2 그룹이 허브 서버로부터 할당받는 주소는 FF01 및 FF02일 수 있다.
허브 서버는 단계 402에서 생성한 주소 정보를 저장하고, 생성한 주소 정보를 관리한다(단계 406).
허브 서버로부터 프로세스 및 그룹 주소를 수신한 프론트 서버군 및 백-엔드 서버군의 각 서버들은 전송된 프로세스 및 그룹 주소에 상응하여 프로세스 및 그룹을 생성한다(단계 408).
도 4와 달리, 프론트 서버군 및 백-엔드 서버군의 서버들은 프로세스 및 그룹을 미리 생성하고 생성된 프로세스 및 그룹의 주소 정보만을 허브 서버로부터 할당받을 수도 있다는 점은 당업자에게 있어 자명할 것이다.
도 4와 같은 절차에 의해 프로세스 및 그룹의 주소가 정해진 후, 스페이스가 사용자의 요청 등에 의해 생성될 때 스페이스의 주소 할당은 그룹에 의해 이루어진다. 즉, 각 프론트 서버군의 서버들은 스페이스 주소 할당을 위해 허브 서버와 통신을 하지 않으며, 프론트 서버의 해당 그룹이 하위 스페이스의 주소를 직접 할당한다.
도 6은 본 발명의 제1 실시예에 따른 허브 서버의 모듈 구성을 도시한 블록도이다.
도 6을 참조하면, 본 발명의 일 실시예에 따른 허브 서버는 스페이스 주소 생성부(600), 스페이스 주소 관리부(602), 메시지 전달부(604) 및 서버 연결 소켓(606)을 포함할 수 있다.
스페이스 주소 생성부(600)는 프론트 서버군 또는 백-엔드 서버군의 서버들에 생성되는 각 스페이스의 주소를 생성하여 할당하는 기능을 한다. 전술한 바와 같이, 프론트 서버군에 생성되는 스페이스에는 복수의 사용자들이 협력 또는 경쟁을 통해 게임을 즐기는 공간인 게임 룸 스페이스, 사용자들간의 채팅을 위한 공간인 채팅 룸 스페이스 등이 포함될 수 있으며, 상술한 사용자에 의해 생성되는 스페이스 이외에도 로비서버 및 싱글 모드 서버와 같이 사용자가 접속하여 있는 공간은 모두 스페이스에 포함된다. 예를 들어, 로비 서버가 복수개인 경우 각각의 로비 서 버는 동일한 기능을 수행하더라도 서로 다른 스페이스로 처리된다.
스페이스 주소 관리부(602)는 스페이스 주소 생성부(600)에 의해 생성된 각 스페이스의 주소 정보를 관리한다. 스페이스 주소 생성부(600)가 주소를 할당한 경우 할당된 주소 정보는 스페이스 주소 관리부(602)에 저장되며, 또한 주소가 할당된 스페이스가 없어질 경우 스페이스 주소 관리부(602)는 해당 스페이스에 대한 주소 정보를 삭제한다.
통신 소켓(606)은 허브 서버와 연결된 복수의 서버들과의 통신을 소켓을 의미하며, 허브 서버는 각각의 서버와의 통신을 위한 소켓을 복수개 구비하고 있다. 즉, 도 2의 경우, 허브 서버는 사용자 매니저 서버, 게임 룸 매니저 서버, 대기자 매니저 서버, 로비 서버, 대기자 서버, 게임 룸 서버 및 싱글 모드 서버 각각과의 통신을 위한 소켓을 모두 구비하고 있다. 전술한 바와 같이, 모든 메시지는 허브 서버를 통해 전달되므로 허브 서버 이외의 서버는 허브 서버와의 소켓만을 구비하면 되고 다른 서버와의 통신을 위한 소켓을 구비할 필요가 없다.
각각의 서버와의 통신 소켓은, 통상적인 소켓과 같이, 리스너, 리더, 큐, 라이터, 핸들러 등을 포함할 수 있으며, 리스너를 통해 패킷을 수신하고 라이터를 통해 패킷을 다른 서버로 전송한다.
메시지 전달부(604)는 허브 서버와 연결된 복수의 서버들간의 메시지 중계를 수행하는 기능을 한다. 메시지 전달부(604)는 특정 서버로부터 패킷 전달을 요청받을 경우 해당 패킷이 어떠한 서버로 전달되어야 할지 여부를 판단하고 판단된 서버에 상응하는 소켓을 이용하여 패킷을 전달한다. 메시지 전달부(604)는 패킷에 포함 된 목적지 주소 정보를 이용하여 어떠한 소켓을 통해 패킷을 전달할지 여부를 판단할 수 있을 것이다.
도 7은 본 발명의 제2 실시예에 따른 허브 서버의 모듈 구성을 도시한 블록도이다.
도 7을 참조하면, 본 발명의 일 실시예에 따른 허브 서버는 프로세스-그룹 주소 생성부(700), 프로세스-그룹 주소 관리부(702), 메시지 전달부(704) 및 서버 연결 소켓(706)을 포함할 수 있다.
프로세스-그룹 주소 생성부(700)는 시스템 초기화시 프론트 서버군 또는 백-엔드 서버군에 생성되는 각 프로세스 및 그룹의 주소를 생성하여 할당하는 기능을 한다. 전술한 바와 같이, 프로세스 및 그룹의 범위는 운영자의 설정에 따라 다양하게 변형될 수 있으며, 프로세스-그룹 주소 생성부(700)는 설정 정보에 따라 프로세스 및 그룹 주소를 생성하여 제공한다. 예를 들어, 하나의 서버에 5개의 그룹이 생성되는 것으로 설정된 경우, 프로세스-그룹 주소 생성부(700)는 해당 서버에 대해 5개의 그룹 주소를 생성하고 할당한다.
프로세스-그룹 주소 관리부(702)는 프로세스-그룹 주소 생성부(700)에 의해 생성된 각 프로세스 및 그룹 주소 정보를 관리한다. 프로세스-그룹 주소 생성부(700)가 주소를 할당한 경우 할당된 프로세스-그룹 주소 정보는 프로세스-그룹 주소 관리부(702)에 저장되며, 또한 주소가 할당된 그룹 또는 프로세스가 없어질 경우 프로세스-그룹 주소 관리부(702)는 해당 프로세스 또는 그룹에 대한 주소 정보를 삭제한다.
통신 소켓(706)은 허브 서버와 연결된 복수의 서버들과의 통신을 소켓을 의미하며, 허브 서버는 각각의 서버, 더욱 구체적으로 각각의 서버에 형성된 그룹과의 통신을 위한 소켓을 복수개 구비하고 있다.
메시지 전달부(704)는 허브 서버와 연결된 복수의 서버들간의 메시지 중계를 수행하는 기능을 한다. 메시지 전달부(704)는 특정 서버로부터 메시지 패킷 전달을 요청받을 경우 해당 패킷이 어떠한 그룹으로 전달되어야 할지 여부를 판단하고 판단된 서버에 상응하는 소켓을 이용하여 패킷을 전달한다. 메시지 전달부(704)는 패킷에 포함된 목적지 주소 정보를 이용하여 패킷이 수신될 그룹을 판단하고 어떠한 소켓을 통해 패킷을 전달할지 여부를 판단한다.
도 8은 본 발명의 바람직한 일 실시예에 따른 사용자 매니저 서버의 모둘 구성을 도시한 블록도이다.
도 8을 참조하면, 본 발명의 일 실시예에 따른 사용자 매니저 서버는 사용자 정보 수신부(800), 사용자 정보 관리부(802), 친구 정보 관리부(804), 사용자 정보 송신부(806) 및 인증 처리부(808)를 포함할 수 있다.
사용자 정보 수신부(800)는 사용자 로그인, 사용자 로그아웃 등과 같은 사용자 접속 정보와 사용자의 스페이스 이동 또는 사용자의 레벨 변화와 같은 사용자의 상태 변화 정보를 프론트 서버군의 서버들로부터 수신하는 기능을 한다. 프론트 서버군의 서버들은 위와 같이 사용자들이 게임 룸 참여 등으로 인해 접속하고 있는 스페이스를 변동하거나 게임 머니, 레벨 등과 같은 상태 정보가 변환될 경우 이를 감지하여 사용자 매니저 서버로 전송한다. 예를 들어, 사용자가 대기자 서버에 접 속해 있는 상태에서 게임 룸 서버의 특정 게임 룸 스페이스로 이동한 경우, 허브 서버를 통해 사용자 매니저 서버로 스페이스 이동 정보가 전송되며, 사용자 정보 수신부(800)는 이러한 정보를 수신한다.
사용자 정보 관리부(802)는 사용자 정보 수신부(800)가 수신한 정보를 반영하는 데이터베이스로서의 기능을 한다. 사용자 정보 관리부(802)는 사용자 정보 수신부(800)가 수신한 데이터를 미리 설정된 알고리즘에 따라 데이터베이스에 저장할 수 있는 형태로 변환하고 변환된 정보를 저장한다. 사용자 정보 수신부(800)가 수신한 정보가 특정 사용자의 스페이스 이동 정보일 경우, 사용자 정보 관리부(802)는 사용자 정보 중 사용자가 속한 스페이스 정보를 갱신한다.
친구/길드 정보 관리부(804)는 각각의 사용자들이 설정한 친구 정보 또는 사용자가 가입한 길드 정보를 관리하는 기능을 한다. 사용자들은 프론트 서버군에서 제공하는 웹페이지 또는 전용 프로그램 등을 이용하여 자신의 친구를 등록하거나 길드에 가입할 수 있으며, 친구 정보 관리부(804)는 사용자들의 친구 등록 정보 또는 가입한 길드 정보를 관리한다.
친구/길드 정보 관리부(804)에 저장된 정보는 특정 사용자의 상태에 변화가 생긴 경우(예를 들어, 특정 사용자의 로그인 또는 스페이스 이동), 해당 사용자의 상태 변화 정보를 제공할 다른 사용자 정보를 추출할 때 이용된다. 예를 들어, 사용자 A가 게임 시스템에 로그인한 경우, 사용자 A를 친구로 등록한 다른 사용자들 또는 사용자 A가 속한 길드의 다른 길드원 들에게 사용자 A의 로그인 정보를 제공할 경우, 친구/길드 정보 관리부(804)에 저장된 정보가 이용된다.
사용자 정보 송신부(806)는 사용자 정보 관리부에서 관리하는 사용자의 상태 정보를 제공하는 기능을 한다. 일례로, 사용자 A가 사용자 B가 위치한 스페이스를 문의할 경우, 사용자 정보 송신부(806)는 B의 스페이스 및 주소 정보를 제공한다.
사용자의 요청에 따라 사용자 정보를 제공하는 경우 이외에도, 사용자 정보 송신부(806)는 사용자가 등록한 친구 또는 길드원에 상태 변화가 있을 경우 해당 정보를 제공하는 기능을 수행하며, 전술한 바와 같이, 친구/길드 정보 관리부(804)의 정보를 이용한다.
사용자 정보 송신부(806)는 특정 사용자의 로그인 또는 스페이스 이동과 같은 상태 변화 정보가 수신된 경우, 해당 사용자를 친구로 등록하고 있는 사용자들 또는 해당 사용자와 동일한 길드에 속하는 사용자들에게 상태 변화 정보를 제공한다.
상술한 바와 달리, 친구 또는 길드원에 대한 상태 변화가 있을 경우 이를 알리는 알림 메시지는 친구/길드 정보 관리부가 송신하도록 프로그래밍될 수도 있을 것이다.
인증 처리부(808)는 로그인 요청 정보가 로비 서버로부터 전송될 경우, 로그인 요청 정보에 포함된 아이디 및 비밀 번호가 등록된 아이디 및 비밀번호와 일치하는지 여부를 판단하는 사용자 인증 과정을 수행한다. 인증 처리부(808)는 별도의 계정 데이터베이스와의 통신을 통해 사용자 인증을 수행할 수도 있으며 자체적으로 저장하고 있는 사용자 계정 정보를 이용하여 사용자 인증을 수행할 수도 있다.
메시지 송신부(810)는 특정 사용자로부터 메시지 송신을 요청받을 경우 메시 지 수신자에게 메시지를 제공하는 기능을 한다. 본 발명에 의하면, 사용자는 특정 사용자를 수신자로 하여 메시지를 전송을 요청할 수 있으며, 메시지 전송 요청을 사용자 매니저 서버가 수신할 경우, 메시지 송신부(810)는 메시지 전송 요청 정보에 포함된 수신자에게 메시지를 전송하는 기능을 한다. 메시지 송신부(810)는 메시지 전송 요청 정보를 수신할 경우, 수신자가 속해 있는 스페이스 정보를 사용자 정보 관리부(802)로부터 추출하고, 수신자가 속한 스페이스를 목적지 주소로 하는 메시지 패킷을 생성하여 해당 수신자에게 메시지를 전송한다.
도 9는 본 발명의 바람직한 일 실시예에 따른 사용자의 스페이스 이동 정보가 사용자 매니저 서버에 전송되는 과정에 대한 순서도이다.
도 9를 참조하면, 사용자가 특정 게임 룸 또는 특정 채팅 룸 등의 스페이스로의 이동 요청을 할 경우, 프론트 서버군은 사용자의 요청 정보를 수신한다(단계 900).
프론트 서버군은 백-엔드 서버군의 제어 정보에 따라 스페이스 이동을 요청한 사용자의 스페이스 이동을 제어하고, 사용자는 요청한 스페이스로 이동한다(단계 902).
사용자가 스페이스를 이동한 경우, 사용자가 이동한 스페이스에 상응하는 프론트 서버군의 서버는 사용자의 스페이스 이동 정보를 알리는 패킷을 생성하고 이를 허브 서버에 전달한다(단계 904).
사용자 이동 정보 패킷에는 사용자 매니저 서버의 주소 정보가 목적지 주소 정보로 포함되어 있으며, 허브 서버는 목적지 주소 정보를 이용하여 사용자 매니저 서버로 사용자 이동 정보 패킷을 전송한다(단계 906).
사용자 매니저 서버는 사용자 이동 정보 패킷의 내용에 따라 사용자가 속한 스페이스 정보를 갱신한다(단계 908).
도 10은 본 발명의 바람직한 일 실시예에 따른 다른 서버에 접속한 사용자들간의 메시지 전송 절차를 도시한 순서도이다.
도 10을 참조하면, 사용자는 특정 사용자를 선택한 후 해당 사용자에게 메시지 전송을 요청하며, 프론트 서버군은 사용자의 메시지 전송 요청을 수신한다(단계 100).
프론트 서버군은 사용자의 메시지 전송 요청에 응답하여 메시지 전송을 요청하는 패킷을 생성하고(단계 1002), 생성된 패킷을 허브 서버에 전송한다(단계 1004). 프론트 서버군이 생성한 메시지 전송 요청 패킷은 사용자 매니저 서버를 목적지 주소로 포함하고 있으며, 허브 서버는 메시지 전송 요청 패킷의 목적지 주소 정보에 따라 사용자 매니저 서버로 메시지 전송 요청 패킷을 전달한다(단계 1004).
사용자 매니저 서버는 사용자 관리부의 저장된 정보를 이용하여 메시지를 수신할 사용자가 속한 스페이스 정보를 추출한다(단계 1008). 사용자 매니저 서버는 추출한 스페이스 정보를 목적지 주소로 하는 메시지 패킷을 생성하고(단계 1010), 생성된 메시지 패킷을 허브 서버에 전송한다(단계 1012).
허브 서버는 메시지 패킷에 포함된 목적지 주소 정보에 포함된 스페이스에 상응하는 프론트 서버를 판단하고(단계 1014), 해당 프론트 서버의 스페이스로 메시지 패킷을 전송한다(단계 1016).
상술한 바와 같이, 각 스페이스에 고유의 주소 정보가 할당되고, 사용자 매니저 서버가 각 사용자가 속한 스페이스 주소를 관리함으로써 서로 다른 서버에 접속한 사용자들 간에 메시지 송수신이 가능하다.
도 10은 사용자가 메시지 수신자의 스페이스 주소를 알 수 없는 경우의 메시지 전송 절차를 도시한 것이며, 메시지 수신자의 스페이스 주소를 알고 있는 경우에는 사용자 매니저 서버에 메시지 요청이 전달될 필요 없이 허브 서버에 의해 메시지 수신자로 메시지가 전송될 수 있을 것이다.
도 11은 본 발명의 바람직한 일 실시예에 따른 친구 또는 길드원의 상태 변화 정보를 제공하는 과정에 대한 순서도이다.
도 11을 참조하면, 사용자 매니저 서버는 사용자가 로그인하거나 스페이스 이동하는 것과 같은 상태 변화가 있을 경우 해당 정보를 수신한다(단계 1100).
사용자 매니저 서버는 사용자의 상태 변화 정보를 수신할 경우, 해당 사용자가 등록한 친구 정보 또는 해당 사용자가 속한 길드의 길드원 정보를 추출한다(단계 1102). 사용자 매니저 서버가 추출하는 친구 정보 또는 길드원 정보는 친구 또는 길드원의 아이디와 같은 식별 정보는 친구 또는 길드원 각각이 현재 속한 스페이스 정보를 포함할 수 있다.
사용자 매니저 서버는 단계 1102에서 추출한 정보를 이용하여 친구 또는 길드원들에게 보낼 상태 변경 메시지 패킷을 생성한다. 생성되는 복수의 메시지 패킷 각각은 단계 1102에서 추출한 친구 또는 길드원이 속한 스페이스를 목적지 주소로 하고 있으며, 생성된 알림 메시지 패킷은 허브 서버로 전송된다.
허브 서버는 수신되는 알리 메시지 패킷의 목적지 주소를 이용하여 메시지 패킷을 전달할 프론트 서버를 판단하고(단계 1108), 해당 프론트 서버로 알림 메시지들을 전송한다(단계 1110).
상술한 도 11과 같은 절차에 의해, 친구 또는 길드원이 서로 다른 게임 룸 서버에서 게임을 하더라도 상태 변경 정보를 계속적으로 제공받을 수 있다.
도 12는 본 발명의 바람직한 일 실시예에 따른 사용자가 다른 사용자가 속한 스페이스로 바로 이동하는 과정에 대한 순서도이다.
본 발명은 게임 시스템에 접속한 모든 사용자가 속한 스페이스 위치 정보를 사용자 매니저 서버가 관리하므로 사용자가 자신의 친구 또는 길드원이 속한 특정 스페이스로 바로 이동하는 기능을 제공할 수 있다.
도 12를 참조하면, 사용자는 다른 사용자가 속한 스페이스로의 이동을 프론트 서버군에 요청한다(단계 1200). 프론트 서버군은 사용자가 선택한 다른 사용자 정보를 파라미터로 포함하는 스페이스 이동 요청 패킷을 허브 서버에 전송한다(단계 1202).
스페이스 이동 요청 패킷에는 사용자 매니저 서버의 주소가 목적지 주소로 포함되어 있으며, 허브 서버는 사용자 매니저 서버로 스페이스 이동 요청 패킷을 전달한다(단계 1204).
사용자 매니저 서버는 스페이스 이동 요청 정보에 포함된 사용자 정보(사용자가 선택한 다른 사용자)를 이용하여 선택된 사용자의 스페이스 주소 정보를 추출한다(단계 1206).
사용자 매니저 서버는 선택된 사용자의 스페이스 주소 정보 패킷을 허브 서버에 전송한다(1208). 스페이스 주소 정보 패킷에는 스페이스 이동을 요청한 사용자가 속한 스페이스 정보가 주소 정보로 포함되어 있으며, 허브 서버는 해당 스페이스로 스페이스 주소 정보 패킷을 전달한다(단계 1210).
스페이스 주소 정보 패킷을 수신한 프론트 서버군은 스페이스 이동 요청을 한 사용자를 수신한 스페이스 주소에 상응하는 스페이스로 이동시킨다(단계1212). 프론트 서버군은 수신한 스페이스 주소 정보를 사용자의 어플리케이션에 제공하고, 사용자 어플리케이션이 수신한 스페이스로 접속함으로써 스페이스의 이동이 이루어질 수 있을 것이다.
도 12와 같은 절차에 의해, 사용자는 친구가 현재 게임을 하고 있는 게임 룸에 바로 참가할 수 있으며, 친구가 속한 게임 룸을 검색하는 과정 등을 수행할 필요가 없다.
이상에서 설명한 바와 같이, 본 발명에 의한 온라인 게임에서 사용자 정보 관리 시스템에 의하면, 게임 시스템에 접속한 사용자 정보를 통합적으로 관리할 수 있으며 서로 다른 채널에 접속한 사용자에 대한 정보를 확인할 수 있는 장점이 있다.
또한 본 발명에 의하면, 사용자가 속한 채널에 구속받지 않고 게임 시스템에 접속한 사용자들간의 자유로운 메시지 송수신이 가능한 장점이 있다.

Claims (15)

  1. 사용자들이 접속하며 사용자들의 접속 및 상태 변화 정보를 감지하고 사용자의 요청에 응답하여 스페이스를 생성하는 프론트 서버군;
    상기 프론트 서버군으로부터 사용자들의 접속 및 상태 변화 정보를 수신하여 관리하는 사용자 매니저 서버;
    상기 프론트 서버군에 포함되는 서버들 및 상기 사용자 매니저 서버와의 통신을 위한 통신 소켓을 구비하고 있으며, 상기 프론트 서버군에 속한 서버들 및 상기 사용자 매니저 서버와의 통신을 중계하는 허브 서버를 포함하되,
    상기 프론트 서버군에 생성되는 스페이스에는 고유의 주소 정보가 할당되고, 사용자가 프론트 서버군에서 스페이스를 이동할 경우, 스페이스 이동 정보는 상기 사용자 매니저 서버에 전송되며, 상기 사용자 매니저 서버는 상기 스페이스 주소 정보를 이용하여 사용자 정보를 제공하고 사용자들간의 메시지 송수신을 제어하는 것을 특징으로 하는 온라인 게임에서 사용자 정보 관리 시스템.
  2. 제1항에 있어서,
    상기 프론트 서버군은 사용자들의 로그인 요청 정보를 수신하고 상기 사용자 매니저 서버의 통신을 통해 사용자 로그인 요청을 처리하는 적어도 하나의 로비 서버;
    사용자들이 다른 서버들에 생성된 스페이스들에 대한 정보를 조회하고 참여 요청을 할 수 있는 웹페이지를 제공하는 적어도 하나의 대기자 서버;
    게임 룸을 생성하고, 게임 룸에 참여한 사용자들에게 게임 서비스를 제공하는 적어도 하나의 게임 룸 서버를 포함하는 것을 특징으로 하는 온라인 게임에서 사용자 정보 관리 시스템.
  3. 제1항에 있어서,
    상기 스페이스의 고유의 주소 정보는 상기 허브 서버에 의해 할당되는 것을 특징으로 하는 온라인 게임에서 사용자 정보 관리 시스템.
  4. 제1항에 있어서,
    상기 스페이스의 주소 정보는 계층적인 구조이고, 상기 계층적인 구조는 최상위 레벨의 프로세스 주소, 중간 레벨의 그룹 주소 및 최하위 레벨의 스페이스 주소를 포함하며, 상기 프로세스 및 그룹 주소는 상기 허브 서버에 의해 할당되고, 상기 스페이스 주소는 상기 그룹에 의해 할당되는 것을 특징으로 하는 온라인 게임에서 사용자 정보 관리 시스템.
  5. 제1항에 있어서,
    상기 사용자 매니저 서버는 게임 시스템에 접속한 사용자들의 상태 정보를 사용자의 요청 또는 미리 설정된 이벤트 발생 시 상기 허브 서버를 통해 제공하는 것을 특징으로 하는 온라인 게임에서 사용자 정보 관리 시스템.
  6. 제1항에 있어서,
    사용자가 특정 사용자로의 메시지 전송을 요청할 경우,
    상기 프론트 서버군은 메시지 전송 요청 정보를 상기 사용자 매니저 서버에 전송하며, 상기 사용자 매니저 서버는 메시지 수신자의 스페이스 위치 정보를 추출하여 스페이스 위치 정보를 포함하는 메시지 패킷을 생성하여 상기 허브 서버에 전송하는 것을 특징으로 하는 온라인 게임에서 사용자 정보 관리 시스템.
  7. 제1항에 있어서,
    상기 사용자 매니저 서버는 사용자의 상태 변화 정보를 수신할 경우, 사용자와 관련된 친구 또는 길드원 정보 및 친구 또는 길드원의 스페이스 위치 정보를 추출하고, 온라인 상태인 친구 또는 길드원에게 상태 변화 알림 메시지를 제공하는 것을 특징으로 하는 온라인 게임에서 사용자 정보 관리 시스템.
  8. 제1항에 있어서,
    사용자가 선택한 특정 사용자가 속한 스페이스로의 이동을 요청할 경우, 상기 프론트 서버군의 서버는 상기 스페이스 이동 요청을 상기 허브 서버를 통해 상기 사용자 매니저 서버에 전송하며, 상기 사용자 매니저 서버는 상기 선택된 사용자의 스페이스 주소 정보를 제공함으로써 상기 스페이스 이동을 요청한 사용자가 선택된 사용자가 속한 스페이스로 바로 이동되도록 제어하는 것을 특징으로 하는 온라인 게임에서 사용자 정보 관리 시스템.
  9. 프론트 서버군과 백-엔드 서버군을 포함하고 게임 시스템 상기 프론트 서버군과 백-엔드 서버군의 통신이 허브 서버에 의해 중계되는 게임 시스템에서, 상기 백-엔드 서버군에 속하며 사용자 정보를 관리하는 사용자 매니저 서버로서,
    프론트 서버군으로부터 사용자들의 접속 정보 및 사용자들의 상태 변화 정보를 수신하는 사용자 정보 수신부;
    상기 사용자 정보 수신부에서 수신한 정보를 관리하는 사용자 정보 관리부;
    각 사용자들의 친구 리스트 및 길드 정보를 관리하는 미리 설정된 친구 또는 길드 관련 이벤트가 발생할 경우 이벤트 발생 정보를 관련된 사용자에게 전송하는 친구/길드 정보 관리부;
    특정 사용자의 정보를 요청받을 경우 해당 사용자 정보를 제공하고, 미리 설정된 친구 또는 길드 관련 이벤트가 발생할 경우 이벤트 발생 정보를 관련된 사용자에게 제공하는 사용자 정보 송신부를 포함하되,
    상기 프론트 서버군에 생성되는 각각의 스페이스에는 고유의 주소 정보가 할당되고, 사용자의 스페이스 이동 시 이동한 스페이스 이동 정보가 상기 사용자 정보 수신부에 제공되는 것을 특징으로 하는 사용자 매니저 서버.
  10. 제9항에 있어서,
    사용자로부터 특정 사용자에 대한 메시지 전송 요청이 있을 경우, 메시지 수 신자의 스페이스 주소 정보를 추출하고 추출한 스페이스 주소를 목적지 주소로 하는 메시지 패킷을 생성하여 송신하는 메시지 송신부를 더 포함하는 것을 특징으로 하는 사용자 매니저 서버.
  11. 제9항에 있어서,
    상기 스페이스의 고유의 주소 정보는 허브 서버에 의해 할당되는 것을 특징으로 하는 사용자 매니저 서버.
  12. 제9항에 있어서,
    상기 스페이스의 주소 정보는 계층적인 구조이고, 상기 계층적인 구조는 최상위 레벨의 프로세스 주소, 중간 레벨의 그룹 주소 및 최하위 레벨의 스페이스 주소를 포함하며, 상기 프로세스 및 그룹 주소는 상기 허브 서버에 의해 할당되고, 상기 스페이스 주소는 상기 그룹에 의해 할당되는 것을 특징으로 하는 사용자 매니저 서버.
  13. 제10항에 있어서,
    상기 메시지 송신부에 의해 생성된 메시지 패킷은 상기 허브 서버로 전송되며, 상기 허브 서버는 상기 메시지 패킷에 포함된 목적지 주소를 이용하여 해당 스페이스로 메시지 패킷을 전달하는 것을 특징으로 하는 사용자 매니저 서버.
  14. 제9항에 있어서,
    상기 사용자 정보 수신부가 사용자의 접속 정보 또는 상태 변화 정보를 수신할 경우, 상기 사용자 정보 송신부는 상기 친구/길드 정보 관리부에 저장된 정보를 이용하여 해당 사용자의 친구 또는 길드원 정보를 추출하고, 상기 사용자 정보 관리부에 저장된 정보를 이용하여 해당 사용자의 친구 또는 길드원의 스페이스 주소 정보를 추출하여 이벤트 발생 알림 메시지를 제공하는 것을 특징으로 하는 사용자 매니저 서버.
  15. 제9항에 있어서,
    상기 사용자 정보 송신부는, 상기 사용자로부터 선택한 특정 사용자가 속한 스페이스로의 이동 요청 정보를 수신할 경우, 선택된 사용자가 속한 스페이스 주소 정보를 제공하여 사용자가 해당 스페이스로 이동하도록 제어하는 것을 특징으로 하는 사용자 매니저 서버.
KR1020050099678A 2005-10-21 2005-10-21 온라인 게임에서 사용자 정보 관리 시스템 KR100644393B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020050099678A KR100644393B1 (ko) 2005-10-21 2005-10-21 온라인 게임에서 사용자 정보 관리 시스템

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020050099678A KR100644393B1 (ko) 2005-10-21 2005-10-21 온라인 게임에서 사용자 정보 관리 시스템

Publications (1)

Publication Number Publication Date
KR100644393B1 true KR100644393B1 (ko) 2006-11-10

Family

ID=37654221

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020050099678A KR100644393B1 (ko) 2005-10-21 2005-10-21 온라인 게임에서 사용자 정보 관리 시스템

Country Status (1)

Country Link
KR (1) KR100644393B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20140116417A (ko) * 2011-12-19 2014-10-02 카밤 인코포레이티드 다수의 가상 공간들에 걸치는 제휴들에 속하는 사용자들 사이의 통신들

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20020012797A (ko) * 2000-08-08 2002-02-20 신동현 인터넷을 이용한 복권 서비스시스템 및 그 방법
KR20040037650A (ko) * 2002-10-29 2004-05-07 주식회사 네오위즈 인터넷을 이용한 고스톱 게임 서비스 방법 및 시스템
KR20050091587A (ko) * 2004-03-12 2005-09-15 주식회사 네오플 캐릭터가 활성화되는 온라인게임의 대기실 운영방법, 이를구현하기 위한 대기실 운영시스템 및 대기실운영프로그램이 기록된 컴퓨터로 읽을 수 있는 기록매체

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20020012797A (ko) * 2000-08-08 2002-02-20 신동현 인터넷을 이용한 복권 서비스시스템 및 그 방법
KR20040037650A (ko) * 2002-10-29 2004-05-07 주식회사 네오위즈 인터넷을 이용한 고스톱 게임 서비스 방법 및 시스템
KR20050091587A (ko) * 2004-03-12 2005-09-15 주식회사 네오플 캐릭터가 활성화되는 온라인게임의 대기실 운영방법, 이를구현하기 위한 대기실 운영시스템 및 대기실운영프로그램이 기록된 컴퓨터로 읽을 수 있는 기록매체

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20140116417A (ko) * 2011-12-19 2014-10-02 카밤 인코포레이티드 다수의 가상 공간들에 걸치는 제휴들에 속하는 사용자들 사이의 통신들
KR102041363B1 (ko) 2011-12-19 2019-11-06 카밤 인코포레이티드 다수의 가상 공간들에 걸치는 제휴들에 속하는 사용자들 사이의 통신들

Similar Documents

Publication Publication Date Title
CN101068180B (zh) 网络游戏的主控系统、管理系统及管理方法
KR101194502B1 (ko) 분리 가능 유알엘〔url〕 인터넷브라우저 기반게임시스템
US7803052B2 (en) Discovery and distribution of game session information
US7080148B2 (en) Translating switch and method
EP1194876B1 (en) Method and apparatus in a communication network
WO2005079411A2 (en) A system and method utilizing internet protocol (ip) sequencing to identify components of a passenger flight information system (pfis)
EP4029580A1 (en) Account access method and apparatus, storage medium, and electronic device
CN101277277A (zh) 一种即时通讯中设置聊天窗口主题的方法与系统
CN112769837B (zh) 基于WebSocket的通信传输方法、装置、设备、系统及存储介质
CN101217534A (zh) 网络游戏的通信方法、系统及实现网络游戏的方法、系统
US20100100602A1 (en) Instant messaging system, component and method for additional service
JP4781942B2 (ja) ゲームルーム及びゲームチャンネル管理システム
KR100709747B1 (ko) 게임 서버 시스템 및 게임 시스템 운영 방법
KR100644393B1 (ko) 온라인 게임에서 사용자 정보 관리 시스템
KR100710436B1 (ko) 게임 룸 관리 시스템
JP2002132712A (ja) ユーザ管理システム
KR100710456B1 (ko) 온라인 게임 채널 관리 시스템 및 방법
KR100697099B1 (ko) 이종 메신저간의 메시지 전송 서비스 제공 시스템 및 그방법
KR20120050367A (ko) 개인 네트워크를 이용한 서비스 제공 방법 및 장치
KR100644395B1 (ko) 계층적 주소 체계를 이용한 게임 서버 시스템 및 게임시스템 운영 방법
KR100684166B1 (ko) 멀티캐스트 통신 네트워크 시스템 및 이를 이용한 데이터송/수신 방법
KR100683238B1 (ko) 온라인 게임 제공 방법 및 그 시스템
JP2000112853A (ja) 双方向通信方法及び双方向通信システム
KR20110000975A (ko) 다중 사용자의 온라인 대전 게임을 위한 분산 서버 시스템 및 그 관리 방법
CN114845786A (zh) 用于实现多人线上游戏的服务器架构和方法

Legal Events

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

Payment date: 20111010

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20131001

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20140925

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20150924

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20160928

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20170928

Year of fee payment: 12

FPAY Annual fee payment

Payment date: 20181001

Year of fee payment: 13

FPAY Annual fee payment

Payment date: 20190925

Year of fee payment: 14