KR20020009785A - 클라이언트 컴퓨터를 로컬 서버로 운영하는 온라인 게임시스템 및 그 방법 - Google Patents

클라이언트 컴퓨터를 로컬 서버로 운영하는 온라인 게임시스템 및 그 방법 Download PDF

Info

Publication number
KR20020009785A
KR20020009785A KR1020000043247A KR20000043247A KR20020009785A KR 20020009785 A KR20020009785 A KR 20020009785A KR 1020000043247 A KR1020000043247 A KR 1020000043247A KR 20000043247 A KR20000043247 A KR 20000043247A KR 20020009785 A KR20020009785 A KR 20020009785A
Authority
KR
South Korea
Prior art keywords
client computer
user
information
space
online game
Prior art date
Application number
KR1020000043247A
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 KR1020000043247A priority Critical patent/KR20020009785A/ko
Publication of KR20020009785A publication Critical patent/KR20020009785A/ko

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/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

Abstract

본 발명은 클라이언트 컴퓨터를 로컬 서버로 운영하는 온라인 게임 시스템 및 그 방법에 대한 것으로 더욱 상세히 말하자면, 네트워크 상에서 구현되는 온라인 게임 시스템에 있어서, 사용자로부터 클라이언트 컴퓨터를 통하여 입력받은 접속 요청에 대하여 판단을 내리며, 상기 과정을 통하여 접속이 허가됨에 따라 상기 사용자가 관리하는 가상 공간 영역인 홈스페이스, 상기 사용자를 표상하는 가상의 캐릭터인 아바타 및 상기 클라이언트 컴퓨터의 IP어드레스 등에 대한 정보를 상기 클라이언트 컴퓨터로부터 업로드받고, 상기 정보로부터 온라인 게임을 진행하는 가상 공간을 구성하는 마스터 서버를 포함하는, 클라이언트 컴퓨터를 로컬 서버로 운영하는 온라인 게임 시스템을 제공하여 준다. 이러한 본 발명을 통하여 사용자의 클라이언트 컴퓨터를 전체 온라인 게임의 일부분을 담당하는 로칼 서버로서 활용하게 되면 게임 상의 물리적 공간은 기존의 온라인 게임에서 마스터 서버가 관리하는 경우보다 대폭적으로 확장될 수 있으며, 가입자가 많아지더라도 각 사용자의 컴퓨터가 로컬 서버 역할을 해줌으로서 트래픽을 완전 분산하게 되어 마스터 서버의 부담을 그만큼 줄여줄 수 있다

Description

클라이언트 컴퓨터를 로컬 서버로 운영하는 온라인 게임 시스템 및 그 방법{System and method for on-line game using a client computer as a local server}
본 발명은 클라이언트 컴퓨터를 로컬 서버로 운영하는 게임 시스템 및 그 방법에 대한 것으로 더욱 상세히 말하자면, 사용자의 컴퓨터를 온라인 게임의 전체 부분중 해당 사용자가 관리권한을 갖는 특정 영역에 대한 운영을 처리하는 로칼서버로서 운영하는 게임 시스템 및 그 방법에 관한 것이다.
기존의 온라인 게임의 구성은 도면 1에 도시한 바와 같이 게임에 대한 모든 정보를 저장하고 있고 이를 클라이언트를 통해서 접속한 사용자에게 제공하는 게임 서버(100)와 사용자가 서버로 접속하기 위해서 사용하는 클라이언트(200)로 구성되어 있다.
이 방법은 모든 자원이 게임 서버(100)에 집중되어 있기 때문에 게임 상의 물리적 공간의 한계(사용자의 캐릭터가 게임상의 공간에서 존재했을 때 차지하는 공간)와 동시 사용자 수가 늘어남에 따라 서버를 추가적으로 설치하는 것에 따른 금전적인 문제와 서버 관리상의 문제점이 있었다.
현재의 기술은 이와 같은 문제점을 해결하기 위해 게임서비스를 제공하는 서버를 여러 개로 구성하여 분산처리를 하는 부하분산(Load balancing)구성을 채택하고 있는 경우가 있으나 이것은 단지 컴퓨팅 파워의 분산과 트래픽을 여러 서버로 분산하기 위한 서버의 병렬 처리일 뿐, 게임내 물리적 공간의 한계와 서버 관리라는 문제에 대한 근본적인 해답은 되지 않는다. 또 이러한 부하분산구성을 채택하여 게임상의 공간을 여러 개의 서버로 구성을 하는 경우, 각 서버마다 특정공간을 분할하여 처리를 하게 되어 각 서버마다 독자적으로 해당 서버에 접속한 사용자간에만 게임을 즐길 수 있게 되는 문제점이 있었다.
본 발명은 전술한 바와 같은 문제점을 해결하기 위하여 제안된 것으로, 인터넷의 홈페이지 형식과 기존 온라인 게임의 구성을 혼합하여 사용자의 클라이언트컴퓨터를 온라인 게임의 전체 부분중 해당 사용자가 관리권한을 갖는 특정 영역에 대한 운영을 담당하는 로컬서버로 이용하는 시스템 및 그 방법을 제공하는데 있다.
도면 1은 기존의 온라인 게임의 시스템 구성도이다.
도면 2는 본 발명에 따른 온라인 게임의 전체 시스템 구성도이다.
도면 3은 본 발명에 따른 온라인 게임 시스템에 있어서 마스터 서버에 대한 상세한 블록 구성도이다.
도면 4는 마스터 서버에서의 본 발명에 따른 온라인 게임 방법의 흐름도이다.
도면 5a, 5b는 클라이언트 컴퓨터에서의 본 발명에 따른 온라인 게임 방법의 흐름도이다.
상기한 바와 같은 목적을 실현하기 위한 본 발명은 네트워크 상에서 구현되는 온라인 게임 시스템에 있어서, 사용자로부터 클라이언트 컴퓨터를 통하여 입력받은 접속 요청에 대하여 판단을 내리며, 상기 과정을 통하여 접속이 허가됨에 따라 상기 사용자가 관리하는 가상 공간 영역인 홈스페이스, 상기 사용자를 표상하는 가상의 캐릭터인 아바타 및 상기 클라이언트 컴퓨터의 IP어드레스 등에 대한 정보를 상기 클라이언트 컴퓨터로부터 업로드받고, 상기 정보로부터 온라인 게임을 진행하는 가상 공간을 구성하는 마스터 서버를 포함하는 클라이언트 컴퓨터를 로컬 서버로 운영하는 온라인 게임 시스템을 포함한다.
또한 네트워크 상에서 구현되는 온라인 게임 방법에 있어서, 클라이언트 컴퓨터를 통하여 사용자가 입력한 접속 요청을 전송받고, 접속 허가 여부를 결정하는 제1단계, 상기 제 1단계에서 접속이 허여된 사용자로부터 다른 사용자의 홈스페이스로의 접속 요청을 전송받고, 상기 접속 요청된 홈스페이스가 저장된 클라이언트 컴퓨터의 IP 어드레스 등 상기 클라이언트 컴퓨터로의 접속에 필요한 정보를 상기 사용자의 클라이언트 컴퓨터로 전송하는 제2단계 및 상기 접속 요청된 홈스페이스가 저장된 클아이언트 컴퓨터로부터 상기 홈스페이스에 대한 정보를 전송받고 상기 전송받은 정보로부터 온라인 게임이 진행되는 전체 가상 공간에 대한 정보를 갱신하는 제3단계를 포함하는 클라이언트 컴퓨터를 로컬 서버로 운영하는 온라인 게임방법을 제공하여 준다.
본 발명에서 온라인 게임을 운영하는 회사의 서버-이하 "마스터 서버"라 한다.-에서는 게임의 전체적인 공간과 사용자에 대한 정보를 저장하고, 해당 사용자가 관리권한을 갖는 특정 영역에 대한 운영을 담당하는 사용자의 컴퓨터 - 이하 "로칼 서버"라 한다.-에는 가상 환경의 물리적 공간이 기본적으로 존재하게 되고, 이 홈스페이스를 제어하는 프로그램 역시 로칼 서버에서 실행이 된다. 상기 가상 환경의 물리적 공간이란 게임의 전체 가상 물리적인 공간중 해당 사용자가 해당 공간에 대해서 편집이나 수정 등의 일정 수준의 관리 권한을 가지는 공간을 의미하며, 이하 "홈스페이스"라 한다.
이러한 홈스페이스에 대한 정보는 마스터 서버에 저장되고, 다른 사용자가 이 홈스페이스에 이동을 원하는 경우 마스터 서버를 통해 홈스페이스의 정보를 얻어 이동해 올 수 있게 한다. 사용자의 컴퓨터에서 홈스페이스 제어 프로그램이 실행되는 순간부터 사용자의 클라이언트 컴퓨터는 스스로가 로컬 서버가 되어 접속한 다른 사용자들과 인터액티브(interactive)하게 정보를 교환하며 게임을 진행하여 나간다.
이하, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 본 발명을 용이하게 실시할 수 있는 가장 바람직한 실시예를 첨부된 도면을 참조로 하여 상세히 설명한다.
도 2는 본 발명의 일 실시예에 따른 클라이언트 컴퓨터를 로컬서버로 운영하는 온라인 게임 시스템의 블록 구성도를 도시한 것이다.
도2에 도시된 바와 같이, 본 발명에 따른 온라인 게임 시스템의 주체는 크게 기본적인 게임의 틀을 제공하는 마스터 서버, 클라이언트 컴퓨터로서 특정 영역에 대한 관리를 담당하는 로컬 서버, 상기 마스터 서버 또는 로컬 서버에 접속하여 게임 서비스를 제공받는 다른 사용자의 클라이언트 컴퓨터로 구성되는 것으로 볼 수 있으며, 상기 컴퓨터는 인터넷을 포함한 유, 무선 네트워크를 통하여 그 접속 경로가 설정되어 있다. 본 발명이 속하는 기술 분야의 통상의 지식을 가진 자라면 상기 클라이언트 컴퓨터 또는 로컬 서버는 일반적인 개인용 컴퓨터 이외에도 인터넷 등의 유, 무선 네트워크를 통하여 상기 마스터 서버에 접속하고, 필요한 정보를 출력할 수 있는 각종 데스크탑, 랩탑, 팜탑, 무선 통신 단말기, PDA 등을 포함하는 개념임을 이해할 수 있을 것이다.
홈스페이스를 운영하고자 하는 사용자 갑은 마스터서버(300)에 접속하여 특정 영역에 대해서 자신이 직접 관리하겠다는 요청을 하게 되고, 마스터 서버에서는 이 특정 영역에 대한 관리를 사용자 갑에게 위임한다. 사용자 갑의 컴퓨터에 홈스페이스 관리프로그램이 실행이 되고 상기 사용자 갑의 컴퓨터가 네트워크에 연결이 되면, 이제 상기 사용자 갑의 컴퓨터는 다른 사용자에게 게임서비스를 제공할 수 있는 로칼 서버(400)로서 동작을 한다.
이후 다른 사용자 을이 자신의 클라이언트 컴퓨터(200)를 통해서 마스터 서버(300)에 접속하여 게임을 즐기다가 상기 사용자 갑의 홈스페이스에 접속을 하고자 하는 경우에는 마스터 서버에서는 해당 로칼 서버의 IP 어드레스 등 상기 홈스페이스에 접속을 할 수 있는 정보를 사용자 을의 클라이언트 컴퓨터로 제공해 주게되고, 이후 사용자 을은 상기 마스터 서버로부터 전송받은 정보를 이용하여 사용자 갑의 홈스페이스에 접속하여 계속하여 게임을 즐기게 된다. 이 경우 마스터 서버(300)에서는 사용자 을이 클라이언트 컴퓨터를 통해서 사용자 갑의 로칼서버에 접속하고 있다는 정보만을 처리하면 되고, 해당 홈스페이스에 대한 정보는 로칼서버(400)에서 사용자 을의 클라이언트 컴퓨터(200)로 전송된다.
도 3에 이러한 특징을 가지는 본 발명의 실시예에 따른 온라인 게임 시스템 중에서 마스터 서버를 중심으로 한 보다 자세한 시스템 블록 구성도가 도시되어 있다.
도 3에 도시된 바와 같이 본 발명의 실시예에 따른 온라인 게임 시스템의 마스터 서버는 웹서버(320)를 포함함이 일반적이며, 여기에 웹 어플리케이션 서버 (330), 데이터베이스 서버 (340)와 필요한 웹페이지 (310)를 포함한다.
상기 웹페이지 (310) 는 본 게임의 홈페이지, 회원 등록 등에 필요한 각종 웹페이지 등을 포함하며 일반 웹브라우저 또는 홈 스페이스 뷰어를 통하여 출력된다.
상기 웹 어플리케이션 서버는 회원 관리 프로그램 (332), 접속 관리 프로그램 (334), 게임 프로그램 (336), 홈스페이스 및 아바타 관리 프로그램 (338), 해킹 방지 프로그램 (340), 로드 밸런싱 프로그램 (342) 등을 포함한다.
상기 회원 관리 프로그램 (332)은 사용자로부터 입력받은 회원 등록 정보로부터 회원 등록 여부를 결정하고, 회원으로 등록되는 경우에는 관련 데이터를 사용자 관리 데이터베이스로 저장하고, 필요에 따라 이를 갱신한다. 상기 접속 관리 프로그램 (334)은 사용자의 접속 요청에 따라 계정을 확인하여 접속을 허가하는 기능을 하며, 상기 게임 프로그램 (336)은 게임 진행에 관한 기본적인 소프트웨어를 의미한다. 또한 상기 홈스페이스 및 아바타 관리 프로그램 (338) 은 사용자로부터 홈 스페이스 이동 요청이 있는 경우 현재의 스페이스에서 다른 홈 스페이스로 사용자의 캐릭터 정보를 전송하는 등 홈 스페이스와 아바타의 연동 기능을 제공한다. 그외 해킹 방지 프로그램, 로드 밸런싱 프로그램 등이 있으며 필용에 따라 다양한 프로그램을 이용할 수 있다. 상기 프로그램들은 그 사용 언어에 제한이 없으며, 일반적인 CGI 나 자바 프로그래밍을 이용하여 구현할 수 있을 것이다.
상기 데이터베이스 서버는 게임 전체의 물리적 공간에 대한 정보를 가지고 있는 공간 데이터베이스 (342), 사용자에 대한 정보를 가지고 있는 사용자 관리 데이터베이스 (344), 사용자의 분신으로 온라인 게임 내의 주체가 되는 캐릭터인 아바타에 대한 정보를 포함하는 아바타 데이터베이스 (346) 를 포함한다.
상기 공간 데이터베이스 (352)는 게임 공간 전체에 대한 정보를 저장하고 있으며, 전체 게임의 지형, 건물 등의 위치 정보, 도로 등의 기반 시설에 대한 정보, 각 공간 영역별 관리 담당 사용자에 대한 정보 등을 포함한다. 상기 사용자 관리 데이터베이스 (354)에는 사용자에 대한 기본적인 정보와 각 사용자의 홈스페이스 관리에 필요한 정보가 저장된다. 사용자에 대한 기본적인 정보는 각 사용자의 접속 계정, 암호와 함께 성명, 주민등록번호, 주소, 별명, 전화번호 등에 대한 데이터를 포함하며, 상기 홈스페이스 관리에 필요한 정보는 상기 사용자의 홈스페이스의 이름, 사용자의 클라이언트 컴퓨터의 현재의 IP 어드레스, 방문한 아바타의 개수, 홈스페이스의 방문객 리스트와 관련 사이터 캐릭터인 아바타에 관한 정보 등이 포함된다. 이중 네트워크 통신 수단이 모뎀 또는 ADSL 또는 케이블 등인 경우, 상기 IP 어드레스는 매 접속시마다 달라지는 동적 IP 어드레스가 할당되며, 별도 서버를 통하여 LAN 환경이 구성된 경우에는 고정된 정적 IP어드레스가 할당될 수 있는 등 IP 어드레스의 구체적인 형태는 다양할 수 있다. 상기 상기 아바타 데이터베이스 (356)에는 사용자의 분신으로서 게임 내에서 주체로 활동하는 사이버 캐릭터인 아바타 (Avatar)에 관한 정보가 저장되며, 이에는 아바타의 이름, 위치 좌표, 소지품, 신체 장비 장착 등의 기본적인 데이터 이외에도 체력, 특수 능력, 힘, 민첩성, 지능, 스테미나 등의 신체 능력에 대응되는 데이터, 캐릭터의 성별, 돈, 호전성, 몸지의 크기, 공격 스타일, 최소 및 최대 공격력, 데미지 흡수 능력, 공격 성공 확률, 조종 난이도, 추가 공격 속성 등 게임의 진행에 필요한 각종 데이터를 포함한다.
구체적인 예를 들어 보면, 게임공간 전체가 서울시라면, 공간 데이터베이스에는 이 서울시 전체에 대해서 도로나 건물위치 등의 공간 정보가 저장이 되어있으며, 사용자 관리 데이터베이스에는 서울시에 살고 있는 사람에 대한 정보가 저장된다. 또 예를 들어 포스코 빌딩이라면 공간 데이터베이스에는 포스코 빌딩의 위치 및 외관 등에 대한 정보까지 저장되어 있다. 그 중에 사용자 갑이 관리하는 홈스페이스가 포스코 빌딩 10층이라면, 해당 공간 내부에 대한 정보는 사용자 갑의 로칼서버에 존재하고 마스터 서버에서는 홈스페이스 데이터베이스에 사용자 갑이 포스코 빌딩 10층이라는 홈스페이스를 관리하고 있다는 정보가 기록될 뿐이다.
마스터 서버는 클라이언트의 계정 접속을 허가하고 홈스페이스 정보를 제공하며 홈스페이스간 이동을 원할하게 통제해 준다. 또한 마스터 서버는 사용자가 생성한 캐릭터에 관한 통제권을 갖게 되는데, 이것은 해킹 방지를 위해 마스터 서버가 반드시 해야할 일이다. 마스터 서버는 캐릭터의 능력치에 관한 중요한 결정을 처리하므로서 중요 능력치가 외부 해킹에 의해 조작되는 것을 방지한다.
이러한 마스터 서버는 한 개 또는 여러 개의 서버로 구성되어 있을 수 있으며 안정적인 운영을 위해서 백업 시스템을 구비할 수 있다. 또한 상기 프로그램과 데이터베이스는 별도의 웹 어플리케이션 서버 및 데이터베이스 서버를 구축하여 구현하는 경우에 대하여 설명하였으나 그 규모에 따라서는 하나의 웹 서버만으로 구현할 수도 있고, 복수의 웹 어플리케이션 서버와 데이터베이스 서버를 이용하여 구축할 수도 있다.
로칼 서버 (400)에는 마스터 서버 또는 클라이언트와의 통신을 위한 통신부 (410), 웹브라우저 (420)과 홈스페이스 제어 프로그램 (430)가 구비되어 있으며, 홈스페이스 내부 공간에 대한 정보를 가지고 있는 홈스페이스 공간 데이터베이스 (440)를 포함하고, 추가적으로 자신의 홈스페이스에 접속하는 사용자에 대한 정보를 저장하는 홈스페이스 사용자 데이터베이스를 포함할 수 있다.
상기 홈스페이스 공간 데이터베이스 (440)는 아바타 및 접속 관련 데이터, 좌표계 관련 데이터, 필드 포지션 및 사이즈 데이터, 일반 타일 및 오브젝트 배열 데이터 및 출력, 효과용 배열 데이터를 포함한다. 상기 아바타 및 접속 관련 데이터는 홈 스페이스에 접속한 아바타 구조 배열, 홈 스페이스에 접속한 아바타의 IP배열 및 홈 스페이스에 연결된 소켓 배열로 구성되며, 상기 좌표계 관련 데이터는 좌표 센터, 좌표 그리드 등에 대한 데이터 등을 포함한다.
위의 예와 마찬가지로 자신이 관리하고 있는 홈스페이스가 포스코 빌딩 10층이라면 홈스페이스 공간 정보 데이터베이스에는 포스코 빌딩 10층 내부의 구조나 가구배치 등에 대한 정보가 저장되고, 홈스페이스 사용자 정보 데이터 베이스에는 현재 어떠한 사람이 포스코 빌딩 10층 내부에 있는지와 포스코 빌딩 10층을 자주 방문하는 사용자에 대한 정보가 저장이 되는 것이다.
로칼 서버는 홈스페이스의 원활한 운영을 위해서 LAN을 통하여 항상 네트워크에 접속이 가능한 상태에 있는 것이 바람직하나, ADSL 등을 통해서 네트워크에 접속이 될 수 있는 상태에 있어도 무방하다. 로칼 서버에서는 홈스페이스 관리프로그램이 로칼서버 부팅시에 자동으로 실행이 되어 마스터 서버에 자동으로 로그인 되게 하는 것이 바람직하며, 이 관리프로그램은 메모리에 상주하여 다른 사용자가 로칼서버에 있는 홈스페이스에 방문을 할 수 있게 한다.
클라이언트는 서버에 접속하는 Tray 어플리케이션으로서 사용자가 게임을 즐기기 위해서 마스터 서버에 접속하는 기능을 수행하며, 사용자 을이 사용자 갑의 홈스페이스로 접속하는 경우 사용자 을의 클라이언트 컴퓨터는 마스터 서버에서 사용자 갑의 로칼서버에 대한 정보를 얻어서 로칼서버로 접속하며, 사용자 갑의 홈스페이스에서 벗어나는 경우 다시 마스터 서버로 접속이 되어 게임을 지속하게 된다. 클라이언트 컴퓨터에서 홈스페이스 관리프로그램이 실행되고, 마스터 서버에서 해당 홈스페이스에 대한 정보를 가지고 있고 클라이언트가 네트워크에 연결되있는 경우 해당 클라이언트는 로칼서버로서 동작할 수 있는 것이다.
이하 본 발명에 따른 온라인 게임 방법의 흐름을 설명한다.
마스터 서버에서는 우선 사용자의 가입신청을 받아 상기 사용자를 온라인 게임 제공을 위한 회원으로 등록하게 된다. 이 경우 마스터 서버에서 상기 사용자에게 온라인 게임 접속을 위한 프로그램을 제공할 수 있으며, 이 프로그램은 홈스페이스 관리기능을 포함하고 있다. 이후 사용자가 마스터 서버에 접속하여 홈스페이스에 대한 정보를 설정하고, 이를 사용자의 컴퓨터 등에서 실행시키면 로칼 서버로서 실행될 수 있게 되고 로칼서버로 실행되고 있다는 사실을 마스터 서버에 접속하여 통지하게 된다. 사용자의 컴퓨터가 로칼서버로 실행되고 있는 경우 다른 사용자가 마스터 서버에 접속하여 게임을 즐기다가 해당 홈스페이스로 접속을 원하는 경우 마스터 서버에 이 사실을 알리게 되고, 마스터 서버는 해당 홈스페이스에 해당하는 로칼 서버의 어드레스를 다른 사용자의 클라이언트에 알려주어 직접 로칼서버로 접속할 수 있게 한다.
도 4는 본 발명에 따른 마스터 서버에서의 온라인 게임 방법의 흐름도를 나타내고 있다.
우선 마스터 서버에서는 실행이 되는 즉시 사용자 프로필 및 계정 파일을 로드하고 게임 공간 전체를 로드하여 게임서비스를 제공할 준비를 한다.(S200)
여기부터 메인 루프의 시작이다. 사용자가 접속했는지 검사한다.(S210)
만일 사용자가 마스터 서버에 접속했다면 계정을 확인하고(S220) 맞다면(S230) 접속을 허가하고(S240) S210으로 돌아간다.
사용자가 다른 홈스페이스로 이동 요청을 했는지 확인한다.(S250)
이 경우 현재 홈스페이스에서 다른 홈스페이스로 상기 사용자의 아바타 정보를 전송하고(S260) 사용자의 아바타 위치를 사용자가 요청한 홈스페이스로 갱신하여 이를 사용자 정보 데이터베이스에 저장한 후(S270), S210로 돌아간다.
기타 해킹 방지 및 발란싱, 핵심 정보를 사용자의 처리 요청에 따라 응답해 준다.(S280)
종료 명령이 있다면 프로그램을 종료한다.(S290)
그렇지 않다면 S210로 돌아가 사용자의 응답을 기다리게 된다.
도면 5a와 도면 5b는 로칼 서버에서 실행되는 과정을 순서도로 나타내고 있다.
본 발명을 사용하기 위해서는 1차적으로 마스터 서버의 접속이 필요하다. 이는 사용자의 계정을 관리하고 과금을 할 수 있는 시스템을 제공한다.(S300)
접속이 완료되면 사용자 IP Address를 마스터 서버에 전송하므로서 마스터 서버는 다른 사용자들이 접속자의 컴퓨터에 접속할 수 있도록 준비한다.(S310)
여기부터 본격적으로 클라이언트의 루프에 돌입한다.
다른 사용자가 접속했는지를 판단한다. (S320)
다른 사용자가 자신의 컴퓨터에 접속해 왔다면 사용자의 사이버 캐릭터인 아바타를 생성한다. (S330)
다음 절차로 현재 홈스페이스의 정보를 접속 사용자에게 업로드해준다. 이때부터 클라이언트는 로컬 서버 역할을 동시에 수행한다.(S340)
종료 명령을 실행했다면 프로그램을 종료한다.(S350)
홈스페이스 뷰어를 오픈하지 않았다면 S320부터 루핑한다.(S360)
홈스페이스 뷰어를 오픈했다면 3D 그래픽으로 자신의 아바타와 다른 사용자의 아바타를 볼 수 있게 된다. 현재 클라이언트는 로컬 서버 역할을 동시 수행하여, 아바타를 움직여주고 다른 사용자의 컴퓨터로 데이터를 전송한다.(S370)
만약 사용자가 다른 홈스페이스로 이동하길 원하지 않는다면 S320으로 루핑된다. (S380)
사용자가 다른 홈스페이스로 이동하고 싶다면 마스터 서버로부터 다른 사용자의 홈스페이스 정보를 얻는다.(S390)
원하는 홈스페이스로 접속하기 전에 원하는 홈스페이스가 온라인 상에 접속해 있는지 확인하고 접속해 있지 않다면 S320으로 루핑된다.(S400)
이동 명령이 내리지면 마스터 서버로 이동한다는 신호를 보낸다.(S410)
마스터 서버는 목적지 홈스페이스가 아직 유효한지 판단하여 클라이언트로 결과를 통보한다.(S420)
클라이언트는 마스터 서버로 받은 메시지로 다른 홈스페이스로 이동에 관련된 사항을 처리한다.(S430)
이동 첫단계가 완료되면 다른 홈스페이스로부터 PPP 방식으로 그 홈스페이스의 구성 데이터를 다운로드 받고 루핑하기 위해 S320으로 돌아간다.(S440)
상기 발명의 상세한 설명은 단지 본 발명의 예시적인 것으로서, 이는 단지 본 발명을 설명하기 위한 목적에서 사용된 것이지 의미 한정이나 특허청구범우에기재된 본 발명의 범위를 제한하기 위하여 사용된 것은 아니다. 그러므로 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 특허청구범위의 기술적 사상에 의해 정해져야 할 것이다.
이상에서 설명한 바와 같이, 본 발명에 따르면 온라인 게임 운영업체의 입장에서는 마스터 서버에 과도한 부하가 걸려서 시스템이 다운되는 현상을 피할 수 있고, 마스터 서버는 단지 사용자의 정보와 사용자의 사이버 캐릭터인 아바타의 이동과 관련된 기능만 담당하게 되고 각각의 로컬 서버 즉 사용자의 클라이언트 컴퓨터가 실제적인 처리를 수행함으로서 트래픽을 완전히 분산시키고 게임에 필요한 자원을 사용자 컴퓨터에 부담시킴으로서 무한한 확장성이 있는 온라인 게임을 만들 수 있게 한다.
또 게임 사용자의 입장에서는 사용자 스스로가 참여하고 만들어갈 수 있는 환경을 제공하게 되며, 사용자가 직접 홈스페이스를 운영하는 경우 자신의 홈스페이스에서 전자상거래나 광고유치 등의 수익사업도 가능하게 된다. 또한 사용자 컴퓨터를 이렇게 전체 온라인 게임의 일부분을 담당하는 로칼서버로서 활용하게 되면 게임 상의 물리적 공간은 기존의 온라인게임에서 마스터 서버가 관리하는 경우보다 대폭적으로 확장될 수 있으며, 가입자가 많아지더라도 각 사용자의 컴퓨터가 로컬 서버 역할을 해줌으로서 트래픽을 완전 분산하게 되어 마스터 서버의 부담을 그만큼 줄여줄 수 있다.

Claims (13)

  1. 네트워크 상에서 구현되는 온라인 게임 시스템에 있어서,
    사용자로부터 클라이언트 컴퓨터를 통하여 입력받은 접속 요청에 대하여 판단을 내리며, 상기 과정을 통하여 접속이 허가됨에 따라 상기 사용자가 관리하는 가상 공간 영역인 홈스페이스, 상기 사용자를 표상하는 가상의 캐릭터인 아바타 및 상기 클라이언트 컴퓨터의 IP어드레스 등에 대한 정보를 상기 클라이언트 컴퓨터로부터 업로드받고, 상기 정보로부터 온라인 게임을 진행하는 가상 공간을 구성하는 마스터 서버
    를 포함하는 클라이언트 컴퓨터를 로컬 서버로 운영하는 온라인 게임 시스템.
  2. 제1항에서,
    상기 마스터 서버는,
    어느 한 사용자의 클라이언트 컴퓨터로부터 다른 사용자의 홈스페이스로의 접속 요청을 받은 경우, 다른 사용자의 클라이언트 컴퓨터가 상기 마스터 서버에 접속하고 있는지 확인하고, 접속이 확인됨에 따라 상기 사용자의 클라이언트 컴퓨터로 다른 사용자 컴퓨터의 IP 어드레스를 전송하고, 상기 사용자의 캐릭터인 아바타의 정보를 다른 사용자의 클라이언트 컴퓨터로 전송하는 홈스페이스 및 아바타 관리 프로그램
    을 더 포함하는 클라이언트 컴퓨터를 로컬 서버로 운영하는 온라인 게임 시스템.
  3. 제1항 또는 제2항에서,
    상기 홈스페이스 및 아바타 관리 프로그램은,
    다른 사용자의 컴퓨터의 IP 어드레스 정보와 가상 캐릭터의 정보를 전송하여 줄 때 이로 인한 해킹의 위험 여부를 판단하고, 해킹의 위험성이 없는 경우에만 상기 정보를 전송하는
    클라이언트 컴퓨터를 로컬 서버로 운영하는 온라인 게임 시스템.
  4. 제1항 내지 제3항에서,
    상기 마스터 서버는,
    게임 전체의 물리적 공간에 대한 정보를 가지고 있는 공간 데이터베이스, 사용자에 대한 정보를 가지고 있는 사용자 관리 데이터베이스 및 사용자의 분신으로 온라인 게임 내의 주체가 되는 캐릭터인 아바타에 대한 정보를 포함하는 아바타 데이터베이스
    를 포함하는 클라이언트 컴퓨터를 로컬 서버로 운영하는 온라인 게임 시스템.
  5. 제1항 내지 제4항에서,
    상기 마스터 서버는,
    클라이언트 컴퓨터에서 홈스페이스를 제작하고, 마스터 서버에 접속하여 상기 제작된 홈스페이스에 대한 정보를 설정할 수 있는 홈스페이스 제어 프로그램;
    자신의 홈스페이스와 그 홈스페이스에 내부에 존재하는 자신 및 다른 사용자의 가상의 캐릭터인 아바타를 볼 수 있게 하여 주는 홈스페이스 뷰어
    를 더 포함하며, 클라이언트 컴퓨터의 요청에 따라 상기 프로그램을 클라이언트 컴퓨터로 전송하여 주는
    클라이언트 컴퓨터를 로컬 서버로 운영하는 온라인 게임 시스템.
  6. 제1항 내지 제5항에서,
    상기 마스터 서버는,
    기설정된 주기에 따라 상기 클라이언트 컴퓨터로 캐릭터와 홈스페이스에 대한 갱신 정보를 요청하고 이를 전송받아 온라인 게임이 진행되는 가상 공간에 대한 정보를 갱신하며, 상기 갱신된 정보로부터 재구성된 전체 공간에 대한 정보를 주기적으로 상기 클라이언트 컴퓨터로 전송하여 주는
    클라이언트 컴퓨터를 로컬 서버로 운영하는 온라인 게임 시스템.
  7. 네트워크 상에서 구현되는 온라인 게임 방법에 있어서,
    클라이언트 컴퓨터를 통하여 사용자가 입력한 접속 요청을 전송받고, 접속 허가 여부를 결정하는 제1단계;
    상기 제 1단계에서 접속이 허여된 사용자로부터 다른 사용자의 홈스페이스로의 접속 요청을 전송받고, 상기 접속 요청된 홈스페이스가 저장된 클라이언트 컴퓨터의 IP 어드레스 등 상기 클라이언트 컴퓨터로의 접속에 필요한 정보를 상기 사용자의 클라이언트 컴퓨터로 전송하는 제2단계;
    상기 접속 요청된 홈스페이스가 저장된 클아이언트 컴퓨터로부터 상기 홈스페이스에 대한 정보를 전송받고 상기 전송받은 정보로부터 온라인 게임이 진행되는 전체 가상 공간에 대한 정보를 갱신하는 제3단계
    를 포함하는 클라이언트 컴퓨터를 로컬 서버로 운영하는 온라인 게임 방법.
  8. 제7항에서,
    상기 제1단계는,
    상기 접속이 허가된 클라이언트 컴퓨터로부터 IP 어드레스, 홈스페이스 관리 정보 등 게임 진행에 필요한 정보를 전송받는 제1-1단계
    를 더 포함하는 클라이언트 컴퓨터를 로컬 서버로 운영하는 온라인 게임 방법.
  9. 제7항 또는 제8항에서,
    상기 제1단계는,
    상기 제1-1단계에서 클라이언트 컴퓨터로부터 전송받은 홈스페이스 등에 대한 정보로부터 온라인 게임이 진행되는 전체 공간에 대한 정보를 갱신하는 제1-2단계
    를 더 포함하는 클라이언트 컴퓨터를 로컬 서버로 운영하는 온라인 게임 방법.
  10. 제7항에서,
    상기 제2단계는,
    상기 사용자의 가상 캐릭터인 아바타에 대한 정보를 상기 접속 요청받은 홈스페이스를 저장하고 있는 클라이언트 컴퓨터로 전송하는 제2-2단계
    를 더 포함하는 클라이언트 컴퓨터를 로컬 서버로 운영하는 온라인 게임 방법.
  11. 제7항에서,
    상기 제2단계는,
    상기 제2단계 및 제2-1단계에서 IP 어드레스 데이터 또는 가상 캐릭터인 아바타 등에 대한 데이터를 전송할 때에 상기 데이터의 전송에 따른 해킹의 위험성을 먼저 판단하고, 해킹의 위험성이 없는 경우에만 상기 데이터를 전송하는 제2-2단계
    를 더 포함하는 클라이언트 컴퓨터를 로컬 서버로 운영하는 온라인 게임 방법.
  12. 제7항에서,
    상기 제2단계는,
    상기 접속 요청받은 홈스페이스를 저장하고 있는 클라이언트 컴퓨터로 홈스페이스와 가상 캐릭터인 아바타에 대한 정보를 요청하고, 이를 전송받는 제2-4단계
    를 더 포함하는 클라이언트 컴퓨터를 로컬 서버로 운영하는 온라인 게임 방법.
  13. 제12항에서,
    상기 제2-3단계에서 홈스페이스와 가상 캐릭터인 아바타에 대한 정보는 기설정된 시간에 맞춰 주기적으로 요청되어 클라이언트 컴퓨터로부터 전송받는
    클라이언트 컴퓨터를 로컬 서버로 운영하는 온라인 게임 방법.
KR1020000043247A 2000-07-27 2000-07-27 클라이언트 컴퓨터를 로컬 서버로 운영하는 온라인 게임시스템 및 그 방법 KR20020009785A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020000043247A KR20020009785A (ko) 2000-07-27 2000-07-27 클라이언트 컴퓨터를 로컬 서버로 운영하는 온라인 게임시스템 및 그 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020000043247A KR20020009785A (ko) 2000-07-27 2000-07-27 클라이언트 컴퓨터를 로컬 서버로 운영하는 온라인 게임시스템 및 그 방법

Publications (1)

Publication Number Publication Date
KR20020009785A true KR20020009785A (ko) 2002-02-02

Family

ID=19680213

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020000043247A KR20020009785A (ko) 2000-07-27 2000-07-27 클라이언트 컴퓨터를 로컬 서버로 운영하는 온라인 게임시스템 및 그 방법

Country Status (1)

Country Link
KR (1) KR20020009785A (ko)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2003058521A1 (en) * 2002-01-14 2003-07-17 A & C Culture Co., Ltd. Game management system and method using internet
WO2004044806A1 (en) * 2002-11-13 2004-05-27 Ncsoft Corporation Method and apparatus for providing on-line game
KR100473393B1 (ko) * 2003-01-03 2005-03-10 주식회사 타이젬 M:n 방식의 온라인 바둑대국 시스템, 그 방법 및 이를프로그램화하여 수록한 컴퓨터로 읽을 수 있는 기록매체
KR20130049321A (ko) * 2011-11-04 2013-05-14 주식회사 엔씨소프트 온라인 게임 캐릭터의 협업플레이 기여도 측정장치 및 그 방법
KR20130049323A (ko) * 2011-11-04 2013-05-14 주식회사 엔씨소프트 온라인 게임의 플레이 데이터를 이용한 멀티미디어 컨텐츠 생성 장치 및 그 방법
KR20130049322A (ko) * 2011-11-04 2013-05-14 주식회사 엔씨소프트 인 클라이언트 서버를 이용한 온라인 게임 내 캐릭터의 위치정보 제공장치 및 그 방법
WO2013170715A1 (en) * 2012-05-15 2013-11-21 Tencent Technology (Shenzhen) Company Limited Method and system for loading file in webgame
US9491225B2 (en) 2012-03-16 2016-11-08 Tencent Technology (Shenzhen) Company Limited Offline download method and system

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR19990031082A (ko) * 1997-10-08 1999-05-06 정선종 클라이언트-서버 응용 프로그램 자동 분할 장치 및 그 방법
KR20000012560A (ko) * 1999-12-13 2000-03-06 공석태 온라인 퀴즈게임 운영에서 메인서버와 서브서버의 분리운영방법
KR20000036802A (ko) * 2000-03-29 2000-07-05 김승조 서버 기능을 구비한 개인용 컴퓨터와 이를 활용한 분산병렬 처리 시스템 및 그 운용 방법
KR20010102791A (ko) * 2000-05-08 2001-11-16 함윤성 개인포탈 제공 서비스 시스템 및 방법

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR19990031082A (ko) * 1997-10-08 1999-05-06 정선종 클라이언트-서버 응용 프로그램 자동 분할 장치 및 그 방법
KR20000012560A (ko) * 1999-12-13 2000-03-06 공석태 온라인 퀴즈게임 운영에서 메인서버와 서브서버의 분리운영방법
KR20000036802A (ko) * 2000-03-29 2000-07-05 김승조 서버 기능을 구비한 개인용 컴퓨터와 이를 활용한 분산병렬 처리 시스템 및 그 운용 방법
KR20010102791A (ko) * 2000-05-08 2001-11-16 함윤성 개인포탈 제공 서비스 시스템 및 방법

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2003058521A1 (en) * 2002-01-14 2003-07-17 A & C Culture Co., Ltd. Game management system and method using internet
WO2004044806A1 (en) * 2002-11-13 2004-05-27 Ncsoft Corporation Method and apparatus for providing on-line game
KR100473393B1 (ko) * 2003-01-03 2005-03-10 주식회사 타이젬 M:n 방식의 온라인 바둑대국 시스템, 그 방법 및 이를프로그램화하여 수록한 컴퓨터로 읽을 수 있는 기록매체
KR20130049321A (ko) * 2011-11-04 2013-05-14 주식회사 엔씨소프트 온라인 게임 캐릭터의 협업플레이 기여도 측정장치 및 그 방법
KR20130049323A (ko) * 2011-11-04 2013-05-14 주식회사 엔씨소프트 온라인 게임의 플레이 데이터를 이용한 멀티미디어 컨텐츠 생성 장치 및 그 방법
KR20130049322A (ko) * 2011-11-04 2013-05-14 주식회사 엔씨소프트 인 클라이언트 서버를 이용한 온라인 게임 내 캐릭터의 위치정보 제공장치 및 그 방법
US9491225B2 (en) 2012-03-16 2016-11-08 Tencent Technology (Shenzhen) Company Limited Offline download method and system
WO2013170715A1 (en) * 2012-05-15 2013-11-21 Tencent Technology (Shenzhen) Company Limited Method and system for loading file in webgame
US9282141B2 (en) 2012-05-15 2016-03-08 Tencent Technology (Shenzhen) Company Limited Method and system for loading file in webgame

Similar Documents

Publication Publication Date Title
JP6894944B2 (ja) ブロックチェーンネットワークに基づくアプリケーション実現方法、装置、デバイス及び記憶媒体
US6530840B1 (en) Method and system for an object architecture for a multi-user game lobby and game session
US8667081B2 (en) Networked computer system for communicating and operating in a virtual reality environment
KR100638071B1 (ko) 다중-사용자 애플리케이션 프로그램 인터페이스
KR101511407B1 (ko) 실세계에서의 물리적 아날로그와 연관된 가상 공간에 대한 액세스 제공
US20100093438A1 (en) Dynamic and Scalable Topology for Virtual World Environments
US8832568B2 (en) System and methods for managing distributed physics simulation of objects in a virtual environment
US8433656B1 (en) Group licenses for virtual objects in a distributed virtual world
JP2005234633A (ja) サービスの拡張方法
Caltagirone et al. Architecture for a massively multiplayer online role playing game engine
KR20020009785A (ko) 클라이언트 컴퓨터를 로컬 서버로 운영하는 온라인 게임시스템 및 그 방법
Barri et al. Distributing game instances in a hybrid client-server/P2P system to support MMORPG playability
Barbieri Networked virtual environments for the Web: the WebTalk-I and WebTalk-II Architectures
Das et al. Developing social virtual worlds using NetEffect
US20100088600A1 (en) Redirection of an avatar
KR101874590B1 (ko) 게임 범용 네트워크 라이브러리를 이용한 통신 미들웨어 서비스 제공 방법
Çevikbaş et al. Phaneros: Visibility‐based framework for massive peer‐to‐peer virtual environments
CN114047918A (zh) 任务处理方法、装置、设备、存储介质及产品
KR100733138B1 (ko) 논플레이어블캐릭터 제어방법
Kohana et al. Evaluation of a dynamic data allocation method for web-based multi-server MORPG system
KR20070082364A (ko) 논플레이어블캐릭터 운영방법
KR20060091029A (ko) 사용자에 의한 온라인 게임환경 개발 시스템 및 그 방법
JP2001339537A (ja) 個人情報リスト作成システム及び個人情報リスト作成方法
KR20190013148A (ko) 모바일 환경에서 구현되는 다중 접속자를 위한 분산 서버구조 및 시스템
KR102626236B1 (ko) 파생nft의 생성 및 소유권 이전방법

Legal Events

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