KR20040052131A - 거리기반 분산형 온라인 게임 서버 시스템 - Google Patents

거리기반 분산형 온라인 게임 서버 시스템 Download PDF

Info

Publication number
KR20040052131A
KR20040052131A KR1020020079863A KR20020079863A KR20040052131A KR 20040052131 A KR20040052131 A KR 20040052131A KR 1020020079863 A KR1020020079863 A KR 1020020079863A KR 20020079863 A KR20020079863 A KR 20020079863A KR 20040052131 A KR20040052131 A KR 20040052131A
Authority
KR
South Korea
Prior art keywords
server
game server
distance
client
player
Prior art date
Application number
KR1020020079863A
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 KR1020020079863A priority Critical patent/KR20040052131A/ko
Priority to US10/729,477 priority patent/US20040116186A1/en
Publication of KR20040052131A publication Critical patent/KR20040052131A/ko

Links

Classifications

    • 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
    • A63F13/12
    • 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
    • A63F13/352Details of game servers involving special game server arrangements, e.g. regional servers connected to a national server or a plurality of servers managing partitions of the game world
    • 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
    • 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/71Game security or game management aspects using secure communication between game devices and game servers, e.g. by encrypting game data or authenticating players
    • 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
    • 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
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/50Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers

Abstract

1. 청구범위에 기재된 발명이 속하는 기술분야
본 발명은, 거리기반 분산형 온라인 게임 서버 시스템에 관한 것임.
2. 발명이 해결하려고 하는 기술적 과제
본 발명은, 거리기반으로 분산된 게임 서버를 이용하여 부하를 효과적으로 분산시켜 대규모 사용자를 지원하는 거리기반 분산형 온라인 게임 서버 시스템을 제공하는데 그 목적이 있음.
3. 발명의 해결 방법의 요지
본 발명은, 클라이언트의 인증 및 게임 서버에 접속하기 위하여 필요한 정보를 제공하기 위한 세션 서버; 인공지능(AI ; Artificial Intelligence)에 의하여 상기 클라이언트로부터 선택된 플레이어(Player) 이외의 캐릭터들에 대한 데이터 관리 및 스크립트 처리 등을 수행하기 위한 NPC(Non-Player Character) 서버; 과금정보, 플레이어(Player)에 대한 상세정보 등과 같이 실시간 처리를 필요로 하지 않는 데이터를 저장하고 관리하기 위한 데이터베이스 서버; 상기 세션 서버와 상기 NPC(Non-Player Character) 서버에 의하여 관리되며 거리기반으로 분할된 하나의 리젼(Region)을 셀(Cell)단위로 나누어 관리하고 게임 서비스를 제공하기 위한 게임 서버; 및 상기 클라이언트에 실시간으로 다운로드 서비스를 제공하기 위한 실시간 다운로드 서버를 포함함.
4. 발명의 중요한 용도
본 발명은 3차원 온라인 게임 서버 시스템 등에 이용됨.

Description

거리기반 분산형 온라인 게임 서버 시스템{Distance based distributed online game server system}
본 발명은, 거리기반 분산형 온라인 게임 서버 시스템에 관한 것으로, 더욱 상세하게는 거리기반으로 나누어진 리젼(Region)을 게임 서버를 분산시켜 처리하고, 상기 게임 서버가 셀(Cell)에 기반을 둔 관심영역(AOI : Area of Interest) 관리기법과 데드 레커닝(Dead Reckoning)을 이용하여 부하를 줄이는 거리기반 분산형 온라인 게임 서버 시스템에 관한 것이다.
먼저, 본 발명에서 거리기반 분산형이란, 거리를 기반으로 영역을 분리하는 것을 의미한다. 즉, 월드(World), 리젼(Region), 및 셀(Cell)이 나누어지는 기준이 거리를 기반으로 하고 있으며, 이러한 것을 거리기반 분산형이라 한다.
그리고, 본 발명에서 월드(World)란 게임 상에서 물리적으로, 논리적으로 완전히 단절된 독립적인 영역을 의미한다. 즉, 월드(World) 간에는 서로 이벤트가 전달되지 않을 뿐만 아니라, 캐릭터의 이동 또한 불가능하다. 이러한 하나의 월드(World)는 하나 이상의 리젼(Region)을 포함하며, 각 리젼(Region)은 하나의 게임서버에 의해 서비스된다. 하나의 월드(World)가 여러 개의 리젼(Region)을 포함하는 것은 확장성(Scalability)을 위한 것이다. 또한, 리젼(Region)의 크기는 동적이므로 게임서버들간의 부하 분산을 할 수 있다. 이러한 리젼(Region)은 다시 여러 개의 셀(Cell)로 나누어진다. 거리 분산형이란 이러한 월드(World), 리젼(Region), 셀(Cell)이 나누어지는 기준이 거리를 기반으로 하고 있다는 의미이다.
한편, 네트워크 게임은 네트워크 상에 분산되어 있는 서로 다른 클라이언트들이 상호간의 경쟁과 협력을 통하여 결과를 만들어 가는 특징을 지닌다. 네트워크게임의 이러한 특징은, 최근에는 클라이언트의 동기화 기술, 그래픽 효과기술, 네트워크 기술, 서버의 분산을 위한 작업 부하 분배기술 등을 요구하고 있다.
그러나, 이와 같은 요구에도 불구하고 현재 온라인 게임은 참여자들의 수에 따라 서버를 증가시켜가는 형태이므로, 서버의 적절한 부하 분산이 되지 않으며, 갑작스런 부하에 의하여 서버와의 연결이 자주 끊어지는 문제점이 있다.
본 발명은, 상기와 같은 문제점을 해결하기 위하여 제안된 것으로, 거리기반으로 분산된 게임 서버를 이용하여 부하를 효과적으로 분산시켜 대규모 사용자를 지원하는 거리기반 분산형 온라인 게임 서버 시스템을 제공하는데 그 목적이 있다.
도 1은 본 발명에 따른 거리기반 분산형 온라인 게임 서버 시스템의 일실시예 구성도.
도 2는 본 발명의 일실시예에 따른 거리기반 분산형 온라인 게임 서버 시스템에서 게임 서버의 동작에 대한 설명도.
도 3은 본 발명의 일실시예에 따른 거리기반 분산형 온라인 게임 서버 시스템에서 로그인 방법에 대한 설명도.
* 도면의 주요 부분에 대한 부호 설명
101 : 세션 서버102 : 데이터베이스 서버
103 : 게임 서버104 : 실시간 다운로드 서버
105 : NPC(Non-Player Character) 서버
상기의 목적을 달성하기 위하여 본 발명은, 거리기반으로 분산된 게임 서버 시스템에, 클라이언트의 인증 및 게임 서버에 접속하기 위하여 필요한 정보를 제공하기 위한 세션 서버; 인공지능(AI ; Artificial Intelligence)에 의하여 상기 클라이언트로부터 선택된 플레이어(Player) 이외의 캐릭터들에 대한 데이터 관리 및 스크립트 처리 등을 수행하기 위한 NPC(Non-Player Character) 서버; 과금정보, 플레이어(Player)에 대한 상세정보 등과 같이 실시간 처리를 필요로 하지 않는 데이터를 저장하고 관리하기 위한 데이터베이스 서버; 상기 세션 서버와 상기 NPC(Non-Player Character) 서버에 의하여 관리되며 거리기반으로 분할된 하나의 리젼(Region)을 셀(Cell)단위로 나누어 관리하고 게임 서비스를 제공하기 위한 게임 서버; 및 상기 클라이언트에 실시간으로 다운로드 서비스를 제공하기 위한 실시간 다운로드 서버를 포함한다.
상술한 목적, 특징들 및 장점은 첨부된 도면과 관련한 다음의 상세한 설명을 통하여 보다 분명해 질 것이다. 이하 첨부된 도면을 참조하여 본 발명에 따른 바람직한 일실시예를 상세히 설명한다.
도 1은 본 발명에 따른 거리기반 분산형 온라인 게임 서버 시스템의 일실시예 구성도이다.
도 1에 도시된 바와 같이, 거리기반 분산형 온라인 게임 서버 시스템은 클라이언트의 인증 및 게임 서버에 접속하기 위하여 필요한 정보를 클라이언트 측으로 제공하기 위한 세션 서버(101), 인공지능(AI ; Artificial Intelligence)에 의하여 상기 클라이언트로부터 선택된 플레이어(Player) 이외의 캐릭터들에 대한 데이터 관리 및 스크립트 처리 등을 수행하기 위한 NPC(Non-Player Character) 서버(105), 실시간 처리를 필요로 하지 않는 과금 정보, 플레이어(Player)에 대한 상세정보 등의 데이터를 관리하기 위한 데이터베이스 서버(102), 상기 세션 서버와 상기 NPC(Non-Player Character) 서버에 의하여 관리되며 거리기반으로 분할된 하나의 리젼(Region)을 셀(Cell)단위로 나누어 관리하고 게임 서비스를 제공하기 위한 게임 서버(103), 및 상기 클라이언트에 실시간으로 다운로드 서비스를 제공하기 위한 실시간 다운로드 서버(104)를 포함하며, 외부망(11)과는 세션 서버(101), 실시간다운로드 서버(104) 및 게임 서버(103) 만이 연결되며, 각 서버들 간은 내부망(10)으로 연결되어 있다..
상기 각 구성요소를 상세히 살펴보면, 상기 세션 서버(101)는 클라이언트의 인증 및 현재 접속 가능한 월드(World)들에 대한 정보를 제공하며, 클라이언트의 인증이 된 상태에는 게임 서버(103)에 접속하기 위한 정보(서버 주소, 포트 번호 등)들을 제공한다. 그래서, 세션 서버(101)를 로그인/로그아웃 서버라고도 한다. 로그인 방법에 대하여서는 도 3을 참조하여 상세히 설명하기로 한다.
상기 데이터베이스 서버(102)는 실시간을 엄격하게 필요로 하지 않는 모든 데이터를 관리하며, 검색시간을 줄이기 위하여 자주 사용되는 데이터를 캐쉬서버(도면에 도시되지 않음)를 두어 관리한다.
상기 게임 서버(103)는 게임 사용자에게 캐릭터의 식별자(ID)를 부여하여 사용자가 상기 캐릭터 식별자(ID)를 이용하여 실시간 다운로드 서버(104) 또는 데이터베이스 서버(102)에서 캐릭터 정보를 얻을 수 있게 한다. 상기 게임 서버(103)의 동작에 대하여서는 도 2를 참조하여 상세히 설명하기로 한다.
상기 세션 서버(101)와 데이터베이스 서버(102) 및 NPC(Non-Player Character) 서버(105)는 하나의 서버가 여러 게임 서버(103)를 관리할 수 있으며, 상기 게임 서버(103)는 거리기반으로 분할된 하나의 리젼(Region)을 각각 처리하므로 효과적으로 부하를 분산시키고 대규모 사용자를 지원할 수 있다. 또한, 클라이언트와 게임 서버(103)와의 통신에 있어서, 전송 제어 프로토콜(TCP : Transmission Control Protocol) 및 신뢰도있는 사용자 데이터그램프로토콜(Reliable UDP: Reliable User Datagram Protocol)을 사용함으로써 신뢰성을 높일 수 있으며, 셀(Cell) 단위의 관심영역(AOI : Area of Interest) 관리와 데드 레커닝(Dead Reckoning)에 의하여 한층 더 부하를 줄일 수 있다.
먼저, 셀(Cell) 단위의 관심영역(AOI : Area of Interest) 관리란, 리젼(Region)을 거리 기반으로 나눈 셀(cell)을 기본 단위로 하여 클라이언트의 관심영역(AOI : Area of Interest)에 속한 셀(Cell) 만을 관리하는 것을 의미한다. 즉, 각 클라이언트는 자신이 소속된 셀(Cell)과 그 이외의 셀(Cell)들을 자신의 관심영역(AOI : Area of Interest)으로 가지게 된다. 이 때, 주변의 셀(Cell)은 물론 다른 리젼(Region)의 셀(Cell)까지도 관심영역(AOI : Area of Interest)에 포함되게 된다.
그리고, 게임 진행중 각 캐릭터에서 발생된 상태변화는 그 클라이언트의 관심영역(AOI : Area of Interest)에 포함된 캐릭터에게만 전달된다. 즉, 특정 캐릭터의 관심영역(AOI : Area of Interest) 밖에 있는 캐릭터들은 상기 특정 캐릭터의 상태 변화를 알 수가 없다는 뜻이다. 이렇게 관심영역(AOI : Area of Interest)을 관리함으로써 각각의 클라이언트는 자신의 관심영역(AOI : Area of Interest)에 있는 캐릭터의 정보만을 가지게 되며 서버로부터 관심영역(AOI : Area of Interest)에 있는 캐릭터의 상태 변화만을 전송받게 되므로 네트워크의 부하를 줄일 수 있게 된다.
한편, 데드 레커닝(Dead Reckoning)이란, 게임 서버(103)와 클라이언트에서 게임 내의 객체의 움직임이나 상태변화를 스스로 갱신하고 디자인하는 것을 말한다. 게임 진행 상황이 변할 때마다 게임 서버(103)에서 클라이언트로 상기 진행 상황을 전송해야 한다면, 네트워크에 많은 부하가 발생하게 된다. 그러므로, 네트워크의 부하를 줄이기 위해서는 가능한 한 게임 서버(103)와 클라이언트가 서로 이벤트를 주고받아야 하는 경우를 줄여야한다.
예를 들면, 임의의 객체가 정지해 있다가 '걷는다' 라는 동작을 시작한다면 게임 서버(103)는 이 객체의 걷는 방향과 속도 등의 정보를 이벤트의 형식으로 클라이언트에게 보낸다. 그러면, 데드 레커닝(Dead Reckoning)에 의하여 객체의 동작 상태가 변화하지 않았다면 게임 서버(103)와 클라이언트는 일정 시간마다 각각 가지고 있는 걷는 방향과 속도 등의 정보를 이용하여 현재 객체의 위치, 속성값 등을 계산한다. 즉, 데드 레커닝(Dead Reckoning)은 플레이어의 움직임을 매 프레임마다 동기화하지 않고 서로의 움직임을 어느 정도의 오차한계 내에서 예측하게 하는 방법이다.
한편, 상기 NPC(Non-Player Character) 서버(105)는 다수의 게임 서버(103)를 관리하며, NPC(Non-Player Character) 서버(105)와 게임 서버(103) 사이의 통신은 내부망(10)을 이용하여 이루어진다. 이 때, 하부의 네트워크 계층에서는 NPC(Non-Player Character) 서버(105)로부터 내부망을 통해 게임 서버(103)로 전송되는 이벤트와 클라이언트로부터 외부망을 통해 게임 서버(103)로 전송되는 이벤트를 구별하지 않고 하나의 입력 이벤트 큐에 넣으며, 마찬가지로 게임 서버(103)로부터 내부망을 통해 NPC(Non-Player Character) 서버(105)로 전송되는 이벤트와 게임 서버(103)로부터 외부망을 통해 클라이언트로 전송되는 이벤트를 구별하지 않고하나의 출력 이벤트 큐에 넣는다. 이 때, 두 이벤트는 타입이 다르기 때문에 구별이 가능하여 NPC 서버와 클라이언트로 각각 전송할 수 있다. 결과적으로, 게임 서버(103)의 입장에서는 클라이언트 이벤트와 NPC(Non-Player Character) 서버 이벤트를 구별하지 않고 처리하므로 게임 서버(103)의 부담을 줄일 수 있다.
도 2는 본 발명의 일실시예에 따른 거리기반 분산형 온라인 게임 서버 시스템에서 게임 서버의 동작에 대한 설명도이다.
도 2에 도시된 바와 같이, 게임 서버(103)는 두 개의 입출력 포트(I/O completion port)를 포함하고 있는데, 첫번째 입출력 포트(I/O completion port)(204)는 주기적으로 틱 생성기(Tick Generator)(202)와 트리거(Trigger)(203)에서 들어오는 이벤트를 처리하며, 두번째 입출력 포트(I/O completion port)(209)는 네트워크를 통하여 소켓(socket)(208)에서 들어오는 이벤트를 처리하기 위한 것으로 주로 클라이언트와의 통신 이벤트를 처리한다.
먼저, 네트워크를 통해 게임 서버(103)의 소켓에 이벤트가 전달되면 이벤트 처리 함수를 호출하게 된다. 이 때, 이벤트 처리를 위한 스레드(Thread)가 할당되는데, 이벤트가 발생할 때마다 스레드(Thread)를 생성하고 다시 소멸시키는 것은 비효율적이므로, 처리 용량에 맞게 미리 스레드(Thread)를 생성하여 이를 풀(Pool)로 관리한다. 이후, 스레드 풀(Thread Pool)(205, 210)에서 가용 스레드(Thread)가 있는지를 확인하여, 가용 스레드(Thread)가 있으면 상기 가용 스레드(Thread)에서 이벤트를 처리하고, 가용 스레드(Thread)가 없으면 가용 스레드(Thread)가 생길 때까지 기다린다. 이벤트 처리 함수를 수행하여 처리가 종료되면 스레드(Thread)는다시 스레드 풀(Thread Pool)(205, 210)로 반환된다.
상기 이벤트 처리에 있어서, 게임 진행에 필요한 기본적인 정보는 이벤트로 전달되며, 게임 내의 다른 객체의 속성 등에 대한 정보는 실시간 자료구조로 제공된다. 또한, 상기 게임 서버(103) 이외에도 NPC 서버(105), 데이터베이스 서버(102), 실시간 다운로드 서버(104)도 마찬가지로 스레드 풀(Thread Pool) 방식으로 이벤트를 처리한다.
도 3은 본 발명의 일실시예에 따른 거리기반 분산형 온라인 게임 서버 시스템에서 로그인 방법에 대한 설명도이다.
먼저, 클라이언트가 세션 서버(101)로 접속하기 위하여 로그인 메시지를 보내면(301), 상기 로그인 메시지를 받은 세션 서버(101)는 데이터베이스 서버(102)에 과금 정보를 요청한다(302). 그러면, 상기 요청을 받은 데이터베이스 서버(102)가 아이디를 이용하여 데이터베이스를 검색하여 상기 클라이언트에 대한 과금정보를 세션 서버(101)에 반환한다(303).
이후, 세션 서버(101)가 상기 클라이언트에 대한 인증을 하고(304), 데이터베이스 서버(102)에 상기 클라이언트가 속한 플레이어(Player) 리스트를 요청하여(305) 결과를 반환받는다(306). 상기 플레이어(Player) 리스트를 반환받은 세션 서버(101)는 상기 플레이어(Player) 리스트를 상기 클라이언트에 전달하고(307), 상기 클라이언트는 전달받은 플레이어(Player) 리스트 중에서 플레이어(Player)를 선택하여 세션 서버(101)에 전달한다(308).
그러면, 세션 서버(101)가 클라이언트에게 접속할 게임 서버(103) 주소를 전달하고(309), 상기 클라이언트는 상기 전달받은 게임 서버(103)에 접속하여 로그인 요청을 한다(310). 상기 요청을 받은 게임 서버(103)는 세션 서버(101)에 상기 클라이언트가 선택한 플레이어(Player)에 대한 로그인과 상세정보 및 인증정보를 요청하여(311) 결과를 반환받는다(312). 상기 결과를 반환받은 게임 서버(103)는 상기 세션 서버(101)로부터 전달받은 상세정보와 인증정보를 확인하여 로그인을 완료하고(313) 게임 초기화로 진행한다.
이상에서 설명한 본 발명은, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 있어 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 여러 가지 치환, 변형 및 변경이 가능하므로 전술한 실시예 및 첨부된 도면에 의해 한정되는 것이 아니다.
상기와 같이 본 발명은, 종래에 사용자가 증가함에 따라 서버를 증가시키는 방법과 달리 거리기반으로 리젼(Region)을 분할하여 게임 서버에 분산하여 처리하므로 부하를 효과적으로 분산시켜 대규모 사용자를 지원할 수 있는 효과가 있다.
또한, 본 발명은, 클라이언트와 게임 서버와의 통신에 있어서, 전송 제어 프로토콜(TCP : Transmission Control Protocol) 및 신뢰도있는 사용자 데이터그램 프로토콜(Reliable UDP: Reliable User Datagram Protocol)을 사용함으로써 신뢰성을 높이고, 셀(Cell) 단위의 관심영역(AOI : Area of Interest) 관리와 플레이어의 움직임을 매 프레임마다 동기화하지 않고 서로의 움직임을 어느 정도의 오차한계내에서 예측하게 하는 데드 레커닝(Dead Reckoning)에 의하여 효과적으로 부하를 줄일 수 있는 효과가 있다.
또한, 본 발명은, 종래에 게임 서버에서 처리하던 플레이어 이외의 캐릭터에 대한 데이터 관리 및 스트립트 처리 등을 게임 서버에서 분리시켜 NPC 서버에서 처리함으로써 게임 서버의 부하를 줄여주는 효과가 있다.

Claims (4)

  1. 거리기반 분산형 온라인 게임 서버 시스템에 있어서,
    사용자 인증 및 게임 서버에 접속하기 위하여 필요한 정보를 제공하기 위한 세션 서버;
    인공지능(AI ; Artificial Intelligence)에 의하여 상기 클라이언트로부터 선택된 플레이어(Player) 이외의 캐릭터들에 대한 데이터 관리 및 스크립트 처리 등을 수행하기 위한 NPC(Non-Player Character) 서버;
    과금정보, 플레이어(Player)에 대한 상세정보 등과 같이 실시간 처리를 필요로 하지 않는 데이터를 저장하고 관리하기 위한 데이터베이스 서버;
    상기 세션 서버와 상기 NPC(Non-Player Character) 서버에 의하여 관리되며 거리기반으로 분할된 하나의 리젼(Region)을 셀(Cell)단위로 나누어 관리하고 게임 서비스를 제공하기 위한 게임 서버; 및
    상기 클라이언트에 실시간으로 다운로드 서비스를 제공하기 위한 실시간 다운로드 서버
    를 포함하는 거리기반 분산형 온라인 게임 서버 시스템.
  2. 제 1 항에 있어서,
    상기 거리기반 분산형 온라인 게임 서버 시스템은 리젼(Region)이 추가되면게임 서버를 추가하여 연결하는 것을 특징으로 하는 거리기반 분산형 온라인 게임 서버 시스템.
  3. 제 1 항에 있어서,
    상기 게임 서버는, 클라이언트와 게임 서버(103)와의 통신에 있어서, 전송 제어 프로토콜(TCP : Transmission Control Protocol) 및 신뢰도있는 사용자 데이터그램 프로토콜(Reliable UDP: Reliable User Datagram Protocol)을 사용하여 신뢰성을 높이고, 셀(Cell) 단위의 관심영역(AOI : Area of Interest) 관리에 의하여 부하를 줄이는 것을 특징으로 하는 거리기반 분산형 온라인 게임 서버 시스템.
  4. 제 1 항에 있어서,
    상기 게임 서버는, 플레이어의 움직임을 매 프레임마다 동기화 하지 않고 서로의 움직임을 어느 정도의 오차한계 내에서 예측하게 하는 데드 레커닝(Dead Reckoning)에 의하여 부하를 줄이는 것을 특징으로 하는 거리기반 분산형 온라인 게임 서버 시스템.
KR1020020079863A 2002-12-13 2002-12-13 거리기반 분산형 온라인 게임 서버 시스템 KR20040052131A (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020020079863A KR20040052131A (ko) 2002-12-13 2002-12-13 거리기반 분산형 온라인 게임 서버 시스템
US10/729,477 US20040116186A1 (en) 2002-12-13 2003-12-05 Distance based distributed online game server system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020020079863A KR20040052131A (ko) 2002-12-13 2002-12-13 거리기반 분산형 온라인 게임 서버 시스템

Publications (1)

Publication Number Publication Date
KR20040052131A true KR20040052131A (ko) 2004-06-19

Family

ID=32501411

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020020079863A KR20040052131A (ko) 2002-12-13 2002-12-13 거리기반 분산형 온라인 게임 서버 시스템

Country Status (2)

Country Link
US (1) US20040116186A1 (ko)
KR (1) KR20040052131A (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100597433B1 (ko) * 2003-12-17 2006-07-10 한국전자통신연구원 대규모 사용자 온라인 게임 서버에서의 셀 기반 관심 영역및 역관심 영역의 관리 방법
KR100834421B1 (ko) * 2006-10-19 2008-06-04 주식회사 넥슨 전 세계 단일 서버 시스템
KR100966574B1 (ko) * 2007-12-31 2010-06-29 인더스트리얼 테크놀로지 리서치 인스티튜트 모바일 및 브로드캐스트 융합 네트워크를 통한 실시간상호작용 데이터를 다운로드하기 위한 시스템 및 방법

Families Citing this family (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7634569B2 (en) * 2003-04-23 2009-12-15 Microsoft Corporation Match making based on proximity measures between devices
US20060080702A1 (en) * 2004-05-20 2006-04-13 Turner Broadcasting System, Inc. Systems and methods for delivering content over a network
US7465231B2 (en) * 2004-05-20 2008-12-16 Gametap Llc Systems and methods for delivering content over a network
KR20060107282A (ko) * 2005-04-07 2006-10-13 엘지전자 주식회사 데이터 재생방법, 데이터 기록재생 플레이어 및 데이터전송방법
WO2006124922A2 (en) 2005-05-17 2006-11-23 Super Computer International Collaborative online gaming system and method
US20070094325A1 (en) * 2005-10-21 2007-04-26 Nucleoid Corp. Hybrid peer-to-peer data communication and management
KR100742357B1 (ko) * 2005-11-18 2007-07-24 한국전자통신연구원 지능형 분산 서버 시스템 및 이의 운용방법
JP3919801B1 (ja) * 2005-12-28 2007-05-30 株式会社コナミデジタルエンタテインメント ゲーム装置、ゲーム装置の制御方法及びプログラム
KR100796403B1 (ko) 2006-02-16 2008-01-21 (주)웹 젠 논플레이어블캐릭터 운영방법
US8020029B2 (en) * 2006-02-17 2011-09-13 Alcatel Lucent Method and apparatus for rendering game assets in distributed systems
US20070271584A1 (en) * 2006-05-16 2007-11-22 Microsoft Corporation System for submitting and processing content including content for on-line media console
WO2008061028A1 (en) * 2006-11-10 2008-05-22 Aristocrat Technologies Australia Pty, Ltd Casino game download system and method of use
AU2015202266B2 (en) * 2006-11-10 2016-06-02 Aristocrat Technologies Australia Pty Limited Casino game download system and method of use
AU2016222337A1 (en) * 2006-11-10 2016-09-15 Aristocrat Technologies Australia Pty Limited Casino game download system and method of use
ITRM20070082A1 (it) * 2007-02-16 2008-08-17 Pervactive S R L Sistema distribuito client-server multipiattaforma per videogioco multi-giocatore, e procedimento di simulazione di personaggio virtuale "lifelike" per videogioco utilizzabile con detto sistema.
US8137199B2 (en) 2008-02-11 2012-03-20 Microsoft Corporation Partitioned artificial intelligence for networked games
US8443350B2 (en) * 2008-06-06 2013-05-14 Cornell University System and method for scaling simulations and games
CN102542174B (zh) * 2012-01-19 2015-12-16 马卡里 真人rpg游戏系统
CN103593546B (zh) 2012-08-17 2015-03-18 腾讯科技(深圳)有限公司 一种无动态阻挡网络游戏系统及其处理方法
US10449449B2 (en) 2013-06-18 2019-10-22 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Reducing the bandwidth requirements of multiplayer gaming sessions
US9474967B2 (en) * 2013-08-02 2016-10-25 Activision Publishing, Inc. Internet distance-based matchmaking
CN104009969B (zh) * 2013-09-17 2018-01-02 宁波公众信息产业有限公司 一种网络游戏系统的通讯方法
CN103678892A (zh) * 2013-12-03 2014-03-26 腾讯科技(成都)有限公司 一种角色对象管理的方法和装置
US9776091B1 (en) 2014-05-16 2017-10-03 Electronic Arts Inc. Systems and methods for hardware-based matchmaking
US9993735B2 (en) 2016-03-08 2018-06-12 Electronic Arts Inc. Multiplayer video game matchmaking optimization
US10729975B1 (en) 2016-03-30 2020-08-04 Electronic Arts Inc. Network connection selection processing system
US11075960B2 (en) * 2016-06-10 2021-07-27 Apple Inc. User of identity services to auto-discover subscribers of social networking sites
CN106302418B (zh) * 2016-08-05 2018-09-18 腾讯科技(深圳)有限公司 虚拟应用属性的更新方法和装置
US10286327B2 (en) 2016-10-21 2019-05-14 Electronic Arts Inc. Multiplayer video game matchmaking system and methods
US10091281B1 (en) 2016-12-01 2018-10-02 Electronics Arts Inc. Multi-user application host-system selection system
JP6838187B1 (ja) * 2020-05-29 2021-03-03 株式会社Cygames サーバ、ゲームシステム及び処理方法
US11571618B1 (en) * 2021-08-16 2023-02-07 Amazon Technologies, Inc. Multi-region game server fleets
US11571619B1 (en) * 2021-08-16 2023-02-07 Amazon Technologies, Inc. Cross-region management of game server fleets

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11345060A (ja) * 1998-06-02 1999-12-14 Dainippon Printing Co Ltd 仮想空間共有システム
KR20010017642A (ko) * 1999-08-13 2001-03-05 안병엽 분산 가상 환경에서의 확장성을 위한 영역간 상호 작용 관리방법
US6226669B1 (en) * 1997-12-19 2001-05-01 Jiung-Yao Huang Mutli-user 3D virtual reality interaction system utilizing protocol data units for data communication among WWW server and clients
KR20020013224A (ko) * 2000-08-12 2002-02-20 황대훈 인터넷 가상현실 서비스에서 점진적 데이터 전송을 위한vrml 노드 확장 및 처리 방법

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5890963A (en) * 1996-09-30 1999-04-06 Yen; Wei System and method for maintaining continuous and progressive game play in a computer network
US5964660A (en) * 1997-06-18 1999-10-12 Vr-1, Inc. Network multiplayer game
US6477561B1 (en) * 1998-06-11 2002-11-05 Microsoft Corporation Thread optimization
US20020119821A1 (en) * 2000-05-12 2002-08-29 Sanjoy Sen System and method for joining a broadband multi-user communication session
US20020068632A1 (en) * 2000-12-06 2002-06-06 Shayne Dunlap Interconnection of users via a communications network, for competitive gaming
US6761636B2 (en) * 2001-01-16 2004-07-13 Fucom Company, Ltd. Real time data exchange system
US20020142842A1 (en) * 2001-03-29 2002-10-03 Easley Gregory W. Console-based system and method for providing multi-player interactive game functionality for use with interactive games
JP3429287B2 (ja) * 2001-05-29 2003-07-22 株式会社コナミコンピュータエンタテインメント大阪 ネットゲームシステム及びネットゲーム管理方法
WO2002098526A1 (en) * 2001-06-04 2002-12-12 Playnet, Inc. System and method for distributing a multi-client game/application over a communications network
JP3497489B2 (ja) * 2001-08-28 2004-02-16 株式会社スクウェア・エニックス オンラインシステム、オンラインシステムのサーバ装置、プレイヤ情報提供方法、プレイヤ情報提供プログラム、及び記録媒体

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6226669B1 (en) * 1997-12-19 2001-05-01 Jiung-Yao Huang Mutli-user 3D virtual reality interaction system utilizing protocol data units for data communication among WWW server and clients
JPH11345060A (ja) * 1998-06-02 1999-12-14 Dainippon Printing Co Ltd 仮想空間共有システム
KR20010017642A (ko) * 1999-08-13 2001-03-05 안병엽 분산 가상 환경에서의 확장성을 위한 영역간 상호 작용 관리방법
KR20020013224A (ko) * 2000-08-12 2002-02-20 황대훈 인터넷 가상현실 서비스에서 점진적 데이터 전송을 위한vrml 노드 확장 및 처리 방법

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
카탈로그(가상 공간을 거리 기반의 여러 개의 영역으로 분할하고, 관심도에 따라 메시지 처리가 수행되며, 예측기반 동시성 제어기법을 통해 전송 부하를 줄일 수 있는 대규모 분산 협동 환경을 위한 기술 ,2001.9.24 ) *
카탈로그(데드레커닝과 셀기반 이벤트 필터링(AOI: Area of interest)을 이용하여 네트워크 부하를 최소화하는 온라인 게임 서버 엔진[P.15,26참조],2002.5.8 ) *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100597433B1 (ko) * 2003-12-17 2006-07-10 한국전자통신연구원 대규모 사용자 온라인 게임 서버에서의 셀 기반 관심 영역및 역관심 영역의 관리 방법
KR100834421B1 (ko) * 2006-10-19 2008-06-04 주식회사 넥슨 전 세계 단일 서버 시스템
KR100966574B1 (ko) * 2007-12-31 2010-06-29 인더스트리얼 테크놀로지 리서치 인스티튜트 모바일 및 브로드캐스트 융합 네트워크를 통한 실시간상호작용 데이터를 다운로드하기 위한 시스템 및 방법

Also Published As

Publication number Publication date
US20040116186A1 (en) 2004-06-17

Similar Documents

Publication Publication Date Title
KR20040052131A (ko) 거리기반 분산형 온라인 게임 서버 시스템
US10201755B2 (en) System and method for providing a platform for real time interactive game participation
Das et al. NetEffect: a network architecture for large-scale multi-user virtual worlds
US6304902B1 (en) Latency server and matchmaker
CN104069637B (zh) 在多用户网络游戏环境中管理用户的方法和系统
US20070063999A1 (en) Systems and methods for providing an online lobby
CN105959347B (zh) 一种基于p2p网络的全数字协同仿真系统通信方法
US20100056275A1 (en) Massively Multiplayer Online Game Technologies
US20080104609A1 (en) System and method for load balancing distributed simulations in virtual environments
CN111330265B (zh) 计算机系统、虚拟区的登录方法、装置、设备及介质
CN102333065A (zh) 云交互协议设计
JP2008544684A (ja) 複数のグループに属するロケーションサーバを用いたユーザのログ情報管理方法及びシステム
US20210260474A1 (en) System and method for managing transactions in a multiplayer network gaming environment
Caltagirone et al. Architecture for a massively multiplayer online role playing game engine
Barri et al. Distributing game instances in a hybrid client-server/P2P system to support MMORPG playability
KR20070052994A (ko) 지능형 분산 서버 시스템 및 이의 운용방법
CN112023436B (zh) 一种应用于中药提取浓缩工艺的增强现实系统
KR20010067829A (ko) 인터넷을 이용한 웹기반의 다자간 전략 시뮬레이션 게임제공 시스템 및 방법
CN106648142A (zh) 基于云计算的输入输出控制方法及装置
Das et al. Developing social virtual worlds using NetEffect
KR20020009785A (ko) 클라이언트 컴퓨터를 로컬 서버로 운영하는 온라인 게임시스템 및 그 방법
Kohana Dynamic Data Allocation Method for Web-Based Multiserver Systems
Donkervliet et al. Dyconits: Scaling minecraft-like services through dynamically managed inconsistency
Zhang et al. MACVE: A mobile agent based framework for large-scale collaborative virtual environments
CN114047918A (zh) 任务处理方法、装置、设备、存储介质及产品

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application