KR20110136079A - 게임서버의 부하 분산 방법 및 그의 시스템 - Google Patents

게임서버의 부하 분산 방법 및 그의 시스템 Download PDF

Info

Publication number
KR20110136079A
KR20110136079A KR1020100055861A KR20100055861A KR20110136079A KR 20110136079 A KR20110136079 A KR 20110136079A KR 1020100055861 A KR1020100055861 A KR 1020100055861A KR 20100055861 A KR20100055861 A KR 20100055861A KR 20110136079 A KR20110136079 A KR 20110136079A
Authority
KR
South Korea
Prior art keywords
server
game
terminal
load value
value
Prior art date
Application number
KR1020100055861A
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 KR1020100055861A priority Critical patent/KR20110136079A/ko
Publication of KR20110136079A publication Critical patent/KR20110136079A/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
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Multimedia (AREA)
  • Tourism & Hospitality (AREA)
  • General Health & Medical Sciences (AREA)
  • Primary Health Care (AREA)
  • Health & Medical Sciences (AREA)
  • Economics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Human Resources & Organizations (AREA)
  • Marketing (AREA)
  • Signal Processing (AREA)
  • Strategic Management (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer And Data Communications (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

본 발명은 서버의 부하 분산 방법 및 시스템에 관한 것으로, 다수의 단말기가 게임을 실행할 때, 다수의 게임서버에 대한 부하 값을 측정하고, 측정된 부하 값에 상응하여 게임서버로의 단말기 접속을 제어한다. 즉, 다수의 게임서버에 대한 부하 값을 산출하고, 최대 부하 값과 최소 부하 값의 차이 값을 기 설정된 하나 이상의 임계 값을 비교하고, 비교 결과 상기 차이 값이 특정 임계 값 이상이면, 최대 부하 값을 가지는 게임서버에 접속된 단말기 중 일부의 단말기를 최소 부하 값을 가지는 게임서버로 이동한다. 이를 통해 다수의 단말기가 게임서버에 접속하여 게임을 수행할 때, 다수의 단말기 사이에 최적의 게임서버로 단말기의 접속에 따른 게임서버의 부하를 분산시킬 수 있다.

Description

게임서버의 부하 분산 방법 및 그의 시스템{Method for dispersing load of game server and system thereof}
본 발명은 서버의 부하 분산 방법 및 시스템에 관한 것으로, 더욱 상세하게는 다수의 단말기가 게임을 실행할 때, 다수의 게임서버에 대한 부하 값을 측정하고, 측정된 부하 값에 상응하여 게임서버로의 단말기 접속을 제어하는 게임서버의 부하 분산 방법 및 시스템에 관한 것이다.
이동통신망의 발달과 단말기 사양의 발전에 따라 종래의 단순한 통신장치 또는 정보 제공 장치의 범주를 벗어나 휴대폰, PDA, 또는 PMP 등 이동통신단말기는 현대인의 필수 소지품이 되었고, 토탈 엔터테인먼트 기기로 진화해 가고 있는 추세에 있다. 특히, 정보 통신 기술의 발달로 정보화 사회로 진행해 나감에 따라 사회, 문화 및 경제 등 전 분야에서 인터넷이 중요하고도 필수적인 매체로 자리 매김하고 있다. 최근 들어 인터넷과 같은 통신망이 발달함에 따라 통신을 이용한 게임이 증가되고 있으며, 이러한 통신망을 기반으로한 게임 형태로는 머그게임(MUG, Multi-User Graphic Games), 머드게임(MUD, Multi-User Dungeon Games), 멀티플레이어 온라인 게임(MPOG, Multi-player Online Game) 등이 있으며, 보다 상세하게는 P2P(Peer-To-Peer) 기반의 멀티플레이어 온라인 게임과 C/S(Client-to-Server) 기반의 멀티플레이 온라인 게임으로 구분할 수 있다.
온라인 게임 서버는 사용자의 폭발적인 증가에 대비하여 다수의 채널과 서버그룹의 분리를 통해 게임 사용자를 독립된 그룹단위로 묶어서 처리하였으며, 특정 그룹으로 사용자가 집중되는 경우 게임 서비스의 장애 발생에 대비하기 위해 각 그룹별 최대 허용 인원을 설정하거나 인위적인 사용자 분배 방식을 활용하고 있다.
단말기가 서버에 접속을 요청하면, 분산 서버 기술이 사용되어 접속자 수가 가장 적은 서버로 접속시키게 되나, 사용자의 접속이 항상 일정하게 유지되기는 힘든 점을 감안하면 다수의 서버 간에 접속된 사용자 수의 불균형이 초래되는 문제점이 있다.
이러한 종래의 문제점을 해결하기 위하여, 본 발명의 목적은 게임서버를 통해 다수의 단말기로 네트워크 게임을 제공하는데 있어서, 각 게임서버의 부하를 판단하고, 다수의 단말기 사이에 최적의 게임서버로 일부의 단말기를 이동시키는 서버 부하 분산 방법 및 시스템을 제공하고자 한다.
또한, 본 발명의 다른 목적은 다수의 게임서버에 대한 부하 값을 산출하고, 최대 부하 값과 최소 부하 값의 차이 값을 기 설정된 하나 이상의 임계 값과 비교하고, 비교 결과 차이 값이 특정 임계 값 이상이면 최대 부하 값을 가지는 게임서버에 접속된 단말기 중 일부의 단말기를 최소 부하 값을 가지는 게임서버로 이동시키는 서버 부하 분산 방법 및 시스템을 제공하고자 한다.
상술한 바와 같은 문제점을 해결하기 위하여, 서버의 부하 분산 시스템은 게임 서비스를 제공하는 다수의 게임서버와, 다수의 게임서버 중 하나의 게임서버에 접속하여 게임을 실행하는 다수의 단말기 및 다수의 게임서버에 대한 부하 값을 산출하고, 최대 부하 값과 최소 부하 값의 차이 값을 기 설정된 하나 이상의 임계 값과 비교하고, 비교 결과 차이 값이 특정 임계 값 이상이면, 최대 부하 값을 가지는 게임서버에 접속된 단말기 중 일부의 단말기를 최소 부하 값을 가지는 게임서버로 이동시키는 제어서버를 포함하는 것을 특징으로 한다.
본 발명에 따른 제어서버에 있어서, 통신망을 통해 단말기 및 게임서버와 데이터를 송수신하는 서버 통신부 및 다수의 게임서버에 대한 부하 값을 산출하고, 최대 부하 값과 최소 부하 값의 차이 값을 기 설정된 하나 이상의 임계 값과 비교하고, 비교 결과 차이 값이 특정 임계 값 이상이면, 최대 부하 값을 가지는 게임서버에 접속된 단말기 중 일부의 단말기를 최소 부하 값을 가지는 게임서버로 이동하도록 제어하는 서버 제어부를 포함하는 것을 특징으로 한다.
또한, 본 발명에 따른 제어서버에 있어서, 서버 제어부는 하나 이상의 임계 값 별로 이동할 단말기의 선택 기준을 다르게 설정하는 것을 특징으로 한다.
또한, 본 발명에 따른 제어서버에 있어서, 최대 부하 값을 가지는 게임서버에 접속된 일부의 단말기를 최소 부하 값을 가지는 게임서버로 이동시키기 위해 비교되는 하나 이상의 임계 값 및 하나 이상의 임계 값 별 단말기의 선택기준 정보를 저장하는 저장부를 더 포함하는 것을 특징으로 한다.
또한, 본 발명에 따른 제어서버에 있어서, 서버 제어부는 다수의 게임서버에 접속된 단말기 수, CPU 사용량 및 메모리 사용량 중 적어도 하나의 정보를 수집하고, 수집된 정보를 분석하여 다수의 게임서버에 대한 부하 값을 산출하는 것을 특징으로 한다.
또한, 본 발명에 따른 제어서버에 있어서, 서버 제어부는 최대 부하 값을 가지는 게임서버와 최소 부하 값을 가지는 게임서버의 부하 값이 동일하게 될 때까지 최대 부하 값을 가지는 게임서버에 접속된 일부의 단말기를 최소 부하 값을 가지는 게임서버로 이동하도록 제어하는 것을 특징으로 한다.
또한, 본 발명에 따른 제어서버에 있어서, 서버 제어부는 최소 부하 값을 가지는 게임서버의 URL, IP 주소 및 도메인 주소 중 적어도 하나의 정보를 일부의 단말기로 전송하여 서버 이동을 요청하는 것을 특징으로 한다.
또한, 본 발명에 따른 제어서버에 있어서, 서버 제어부는 대기모드인 단말기, 캐릭터 이동 속도가 느린 단말기, 사용자 입력의 횟수가 적은 단말기, 다른 단말기와의 상호작용이 적은 단말기, 사용자의 게임 레벨이 낮은 단말기 중 어느 하나 또는 이들의 조합에 상응하여 이동될 단말기를 선택하는 것을 특징으로 한다.
본 발명에 따른 단말기는 통신망을 통해 제어서버 및 게임서버와 데이터를 송수신하는 단말 통신부 및 게임서버에 접속하여 게임을 실행하는 중에 제어서버로부터 서버 이동 요청을 수신하면, 제어서버에 지정한 다른 게임서버로 이동하여 게임을 실행하는 단말 제어부를 포함하는 것을 특징으로 한다.
또한, 본 발명에 따른 단말기는 제어서버로부터 수신되는 이동할 게임서버의 URL, IP 주소 및 도메인 주소 중 적어도 하나의 정보를 저장하는 단말 저장부를 더 포함하는 것을 특징으로 한다.
본 발명에 따른 서버의 부하 분산 방법은 제어서버가 다수의 게임서버에 대한 부하 값을 산출하는 단계와, 제어서버가 산출된 부하 값에서 최대 부하 값과 최소 부하 값의 차이 값을 계산하는 단계와, 제어서버가 차이 값과 기 설정된 하나 이상의 임계 값을 비교하는 단계 및 제어서버가 비교 결과 차이 값이 특정 임계 값 이상이면, 최대 부하 값을 가지는 게임서버에 접속된 단말기 중 일부의 단말기를 최소 부하 값을 가지는 게임서버로 이동시키는 단계를 포함하는 것을 특징으로 한다.
또한, 본 발명에 따른 서버의 부하 분산 방법에 있어서, 산출하는 단계는 제어서버가 다수의 게임서버에 접속된 단말기 수, CPU 사용량 및 메모리 사용량 중 적어도 하나의 정보를 수집하는 단계 및 제어서버가 수집된 정보를 분석하여 다수의 게임서버에 대한 부하 값을 산출하는 단계를 포함하는 것을 특징으로 한다.
또한, 본 발명에 따른 서버의 부하 분산 방법에 있어서, 비교하는 단계는 비교 결과 차이 값이 특정 임계 값 미만이면, 제어서버가 다수의 게임서버에 접속된 단말기의 접속 상태를 유지하는 단계를 더 포함하는 것을 특징으로 한다.
또한, 본 발명에 따른 서버의 부하 분산 방법에 있어서, 임계 값은 최대 부하 값을 가지는 게임서버에 접속된 일부의 단말기를 최소 부하 값을 가지는 게임서버로 이동을 요청하기 위하여 설정되는 값인 것을 특징으로 한다.
또한, 본 발명에 따른 서버의 부하 분산 방법에 있어서, 이동시키는 단계는 대기모드인 단말기, 캐릭터 이동 속도가 느린 단말기, 사용자 입력의 횟수가 적은 단말기, 다른 단말기와의 상호작용이 적은 단말기, 사용자의 게임 레벨이 낮은 단말기 중 어느 하나 또는 이들의 조합에 상응하여 이동될 단말기를 선택하는 단계를 더 포함하는 것을 특징으로 한다.
본 발명에 따른 서버의 부하 분산 방법에 있어서, 단말기가 게임서버에 접속하여 게임 서비스를 제공받는 단계와, 단말기가 제어서버로부터 다른 게임서버로의 서버 이동 요청을 수신하는 단계와, 단말기가 다른 게임서버에 대한 정보를 확인하는 단계 및 단말기가 확인된 정보에 따라 다른 게임서버로 이동하여 게임을 실행하는 단계를 포함하는 것을 특징으로 한다.
또한, 본 발명에 따른 서버의 부하 분산 방법에 있어서, 수신하는 단계는 단말기가 제어서버로부터 최소 부하 값을 가지는 게임서버의 URL, IP 주소 및 도메인 주소 중 적어도 하나의 정보를 수신하는 단계를 포함하는 것을 특징으로 한다.
본 발명의 과제 해결을 위한 또 다른 수단으로서, 상술한 서버의 부하 분산 방법을 수행하는 프로그램을 기록한 컴퓨터 판독 가능한 기록 매체를 제공한다.
본 발명에 따르면, 다수의 단말기가 통신망을 통해 게임서버에 접속하여 게임을 수행할 때, 다수의 단말기 사이에 최적의 게임서버로 단말기의 접속을 이동시킴으로써 게임서버의 부하를 분산시킬 수 있다.
이에 더하여, 사용자가 게임을 실행하는 중에 접속된 게임서버의 부하가 증가하여 게임이 지연되거나 접속이 끊기는 문제를 최소화할 수 있다.
도 1은 본 발명의 실시 예에 따른 서버의 부하 분산 시스템을 나타내는 구성도이다.
도 2는 본 발명의 실시 예에 따른 서버의 부하 분산 시스템에서 단말기의 구성을 나타내는 블록도이다.
도 3은 본 발명의 실시 예에 따른 서버의 부하 분산 시스템에서 제어서버의 구성을 나타내는 블록도이다.
도 4는 본 발명의 실시 예에 따른 서버의 부하 분산 방법의 데이터 흐름을 나타내는 도면이다.
도 5는 본 발명의 실시 예에 따른 서버의 부하 분산 방법을 설명하기 위한 흐름도이다.
도 6과 도 7은 본 발명의 실시 예에 따른 서버의 부하 분산 방법을 설명하기 위한 예이다.
이하 본 발명의 바람직한 실시 예를 첨부한 도면을 참조하여 상세히 설명한다. 다만, 하기의 설명 및 첨부된 도면에서 본 발명의 요지를 흐릴 수 있는 공지 기능 또는 구성에 대한 상세한 설명은 생략한다. 또한, 도면 전체에 걸쳐 동일한 구성 요소들은 가능한 한 동일한 도면 부호로 나타내고 있음에 유의하여야 한다.
이하에서 설명되는 본 명세서 및 청구범위에 사용된 용어나 단어는 통상적이거나 사전적인 의미로 한정해서 해석되어서는 아니 되며, 발명자는 그 자신의 발명을 가장 최선의 방법으로 설명하기 위해 용어의 개념으로 적절하게 정의할 수 있다는 원칙에 입각하여 본 발명의 기술적 사상에 부합하는 의미와 개념으로 해석되어야만 한다. 따라서 본 명세서에 기재된 실시 예와 도면에 도시된 구성은 본 발명의 가장 바람직한 일 실시 예에 불과할 뿐이고, 본 발명의 기술적 사상을 모두 대변하는 것은 아니므로, 본 출원시점에 있어서 이들을 대체할 수 있는 다양한 균등물과 변형 예들이 있을 수 있음을 이해하여야 한다.
이하에서는 본 발명의 실시 예에 따른 단말기는 통신망에 연결되어 게임을 실행하는 PC를 대표적인 예로서 설명하지만 단말기는 PC에 한정된 것이 아니고, 이동통신 단말기, 모든 정보통신기기, 멀티미디어 단말기, 유선단말기 및 IP(Internet Protocol) 단말기 등의 다양한 단말기에 적용될 수 있다.
도 1은 본 발명의 실시 예에 따른 서버의 부하 분산 시스템을 나타내는 구성도이다.
도 1을 참조하면, 본 발명의 실시 예에 따른 서버의 부하 분산 시스템(100)은 다수의 사용자를 지원하는 게임서버(30a~30n)를 통해 다수의 단말기(10a~10n) 간 네트워크 게임을 수행할 때 제어서버(20)가 다수의 게임서버(30a~30n)의 부하 값을 판단하고, 최적의 게임서버로 다수의 단말기(10a~10n) 중 일부의 단말기를 이동시키는 구성을 가진다.
통신망(40)은 서버의 부하분산 시스템(100)에서 단말기(10a~10n), 제어서버(20) 및 게임서버(30a~30n) 간의 데이터 송수신을 위한 통로를 제공하는 기능을 한다. 여기서, 통신망(40)은 단말기(10a~10n), 제어서버(20) 및 게임서버(30a~30n) 사이의 데이터 전송 및 정보 교환을 위한 일련의 데이터 송수신 동작을 수행한다. 이와 같은 기능을 수행하는 통신망(40)은 인터넷 프로토콜(IP)를 통하여 대용량 데이터의 송수신 서비스 및 끊기는 현상이 없는 데이터 서비스를 제공하는 아이피망으로, 아이피를 기반으로 서로 다른 망을 통합한 아이피망 구조인 올 아이피(All IP)망 일 수 있다. 또한, 통신망(40)은 유선통신망, 이동통신망, Wibro(Wireless Broadband)망, HSDPA(High Speed Downlink Packet Access)망 및 위성통신망 중 하나일 수 있다. 또한, 통신망(40)은 무선데이터 전송 시스템(Wi-Fi, Wireless Fidelity)을 통해 단말기(10a~10n), 제어서버(20) 및 게임서버(30a~30n)를 연결하고, 단말기(10a~10n)와 제어서버(20) 또는 단말기(10a~10n)와 게임서버(30a~30n) 사이에서 데이터의 송수신을 할 수 있다.
단말기(10a~10n)는 게임서버(30a~30n)로부터 제공되는 게임이 실행되는 휴대단말기 또는 모바일 장치를 의미한다. 특히, 본 발명의 실시 예에 따른 단말기(10a~10n)는 통신망(40)을 통해 제어서버(20)의 제어를 받아 게임서버(30a~30n) 중 하나의 게임서버에 접속하여 게임을 실행하는 단말기로서, 바람직하게는 이동통신단말기 등과 같은 단말기와 그에 대한 응용에도 적용될 수 있음은 자명한 것이다. 또한, 단말기(10a~10n)는 현재 개발되어 상용화되었거나 향후 개발될 모든 장비를 포함하는 개념으로 해석되어야 한다.
단말기(10a~10n)는 제어서버(20)로부터 수신되는 게임서버(10a~10n)에 대한 정보를 확인하고, 확인된 정보에 대응하는 특정 게임서버로 이동하여 게임을 실행한다.
게임서버(30a~30n)는 단말기(10a~10n)에서 이용할 수 있는 모든 게임 프로그램을 관리 및 저장하는 기능을 한다. 이와 같은 기능을 실행하는 게임서버(30)는 제어서버(20)의 제어에 따라 다수의 단말기(10a~10n)로 게임을 제공한다.
제어서버(20)는 통신망(40)을 통해 게임을 실행하기 위하여 단말기(10a~10n)와 게임서버(30a~30n)를 연결하는 기능을 한다. 특히, 본 발명의 실시 예에 따른 서버의 부하 분산 시스템(100)에서 제어서버(20)는 다수의 게임서버(30a~30n)에 대한 부하 값을 산출한다. 여기서, 제어서버(20)는 다수의 게임서버(30a~30n)에 접속된 다수의 단말기(10a~10n) 수, CPU(Central Processing Unit) 사용량 및 메모리 사용량 등과 같은 정보를 수집하고, 수집된 정보를 분석하여 다수의 게임서버(30a~30n)에 대한 부하 값을 산출할 수 있다. 이후, 제어서버(20)는 산출된 부하 값에서 최대 부하 값과 최소 부하 값의 차이 값을 계산한다. 여기서, 제어서버(20)는 계산된 차이 값과 기 설정된 하나 이상의 임계 값을 비교한다. 즉, 임계 값은 최대 부하 값을 가지는 게임서버에 접속된 일부의 단말기를 최소 부하 값을 가지는 게임서버로 이동하기 위하여 설정되는 값이다. 이때, 제어서버(20)는 부하 값의 차이가 특정 임계 값에 도달 시 게임서버에 접속된 일부 단말기 중 대기모드인 단말기, 캐릭터 이동 속도가 느린 단말기, 사용자 입력의 횟수가 적은 단말기, 다른 단말기와의 상호작용이 적은 단말기, 사용자의 게임 레벨이 낮은 단말기 중 어느 하나 또는 이들의 조합에 상응하여 이동될 단말기를 선택할 수 있다. 예를 들어, 제어서버(20)는 부하 값의 차이가 제1 임계 값에 도달하는 경우, 최대 부하 값을 가지는 게임서버에 접속된 일부 단말기 중 대기모드인 단말기를 최소 부하 값을 가지는 게임서버로 이동시킨다. 또한, 제어서버(20)는 부하 값의 차이가 제2 임계 값에 도달하는 경우, 최대 부하 값을 가지는 게임서버에 접속된 일부 단말기 중 게임 실행에서 캐릭터 이동 속도가 느린 단말기를 최소 부하 값을 가지는 게임서버로 이동시킨다. 또한, 제어서버(20)는 부하 값의 차이가 제3 임계 값에 도달하는 경우, 최대 부하 값을 가지는 게임서버에 접속된 일부 단말기 중 다른 단말기와의 상호작용이 적은 단말기를 최소 부하 값을 가지는 게임서버로 이동시킨다. 또한, 제어서버(20)는 부하 값의 차이가 특정 임계 값에 도달하는 경우, 최대 부하 값을 가지는 게임서버에 접속된 일부 단말기 상기에 제시된 기준의 조합에 따라 선택되는 단말기를 최소 부하 값을 가지는 게임서버로 이동시킨다.
제어서버(20)는 비교 결과 차이 값이 특정 임계 값 이상이면, 최대 부하 값을 가지는 특정 게임서버에 접속된 단말기(10a~10n) 중 일부의 단말기를 최소 부하 값을 가지는 게임서버로 이동시킬 수 있다. 이때, 제어서버(20)는 최대 부하 값을 가지는 게임서버와 최소 부하 값을 가지는 게임서버의 부하 값이 동일하게 될 때까지 최대 부하 값을 가지는 게임서버에 접속된 일부의 단말기를 최소 부하 값을 가지는 게임서버로 이동하도록 제어한다. 여기서, 제어서버(20)는 최소 부하 값을 가지는 게임서버의 URL(Uniform Resource Locator), IP 주소 및 도메인 주소 등과 같은 정보를 일부의 단말기로 전송할 수 있다.
제어서버(20)는 다수의 게임서버(30a~30n)에 대한 부하 값을 실시간으로 모니터링하고, 부하 값이 변화하는 경우 다수의 게임서버(30a~30n)에서 최대 부하 값과 최소 부하 값의 차이 값을 계산하여 하나 이상의 임계 값과 비교한다. 그리고 나서, 제어서버(20)는 비교 결과 차이 값이 특정 임계 값 이상이면, 최대 부하 값을 가지는 게임서버에 접속된 단말기 중 일부의 단말기를 최소 부하 값을 가지는 게임서버로 이동하도록 제어할 수 있다.
이를 통해 서버의 부하 분산 시스템(100)은 통신망을 이용하여 다수의 단말기(10a~10n)가 게임서버(30a~30n)에 접속하여 게임을 수행할 때, 최적의 게임서버로 단말기를 접속시킴으로써 게임서버(30a~30n)의 부하를 분산시킬 수 있다.
도 2는 본 발명의 실시 예에 따른 서버의 부하 분산 시스템(100)에서 단말기의 구성을 나타내는 블록도이다.
도 2를 참조하면, 본 발명의 실시 예에 따른 단말기(10a~10n)는 게임서버(30a~30n)를 통해 게임을 실행하기 위하여 단말제어부(11), 입력부(12), 표시부(13), 단말저장부(14), 오디오 처리부(15) 및 단말통신부(16)를 포함하여 구성된다.
입력부(12)는 숫자 및 문자 정보 등의 다양한 정보를 입력받고, 각종 기능들의 설정 및 단말기(10)의 기능 제어와 관련하여 입력되는 신호를 단말제어부(11)로 전달한다. 또한, 입력부(12)는 사용자의 터치 또는 조작에 따른 입력 신호를 발생하는 키패드와 터치패드 중 적어도 하나를 포함하여 구성될 수 있다. 이때, 입력부(12)는 표시부(13)와 함께 하나의 터치패널(또는 터치스크린)의 형태로 구성되어 입력과 표시 기능을 동시에 수행할 수 있다. 특히, 본 발명의 실시 예에 따른 입력부(12)는 사용자의 요청에 따라 게임을 실행하는 신호를 입력 받아 제어부(11)로 전달할 수 있다. 또한, 입력부(12)는 단말기(10a~10n)가 터치스크린 형태로 구성되는 경우 화면에 터치되는 신호를 입력 받거나, 키보드 및 마우스 등의 입력을 받을 수 있다.
표시부(13)는 단말기(10a~10n)에서 기능 수행 중에 발생하는 일련의 동작상태 및 동작결과 등의 정보를 표시한다. 또한, 표시부(13)는 단말기(10a~10n)의 메뉴 및 사용자가 입력한 사용자 데이터 등을 표시할 수 있다. 여기서, 표시부(13)는 LCD(Liquid Crystal Display), OLED(Organic Light Emitting Diodes) 및 LED 등으로 구성될 수 있다. 특히, 본 발명의 실시 예에 따른 표시부(13)는 사용자의 요청에 따라 게임 실행 화면을 출력한다.
단말저장부(14)는 단말기(10a~10n)의 기능 동작에 필요한 응용 프로그램을 저장한다. 이러한 단말저장부(14)는 크게 프로그램 영역과 데이터 영역을 포함할 수 있다. 여기서, 단말기(10a~10n)는 사용자의 요청에 상응하여 각 기능을 활성화하는 경우, 단말제어부(11)의 제어 하에 해당 응용 프로그램들을 실행하여 각 기능을 제공하게 된다. 특히, 본 발명의 실시 예에 따른 프로그램 영역은 단말기(10a~10n)를 부팅시키는 운영체제(OS, Operating System), 사용자의 요청 신호에 따라 게임 실행 프로그램 및 제어서버(20)로부터 수신되는 특정 게임서버에 대한 정보를 분석하는 프로그램 등을 저장한다. 또한, 데이터 영역은 단말기(10a~10n)의 사용에 따라 발생하는 데이터가 저장되는 영역이다. 특히, 본 발명의 실시 예에 따른 데이터 영역은 제어서버(20)로부터 수신되는 최소 부하 값을 가지는 게임서버의 URL, IP 주소 및 도메인 주소 등과 같은 정보가 저장된다.
오디오 처리부(15)는 오디오 신호를 재생하거나 또는 마이크(MIC)로부터 입력되는 오디오 신호를 단말제어부(11)에 전달하는 기능을 수행한다. 특히, 오디오처리부(15)는 사용자의 게임 및 기능 실행에 따른 경고음이나 효과음을 제공할 수 있다.
단말통신부(16)는 단말기(10a~0n)의 기능에 따라 해당되는 데이터를 송수신한다. 즉, 단말통신부(16)는 통신망(40)을 통해 제어서버(20) 및 게임서버(30a~30n)와 데이터를 송수신 한다. 여기서, 단말통신부(16)는 송신되는 신호의 주파수를 상승 변환 및 증폭하는 RF 송신부와 수신되는 신호를 저잡음 증폭하고 주파수를 하강 변환하는 RF 수신부 등을 포함한다. 특히, 본 발명의 실시 예에 따른 단말통신부(16)는 사용자의 요청에 따라 다수의 게임서버(30a~30n)에 접속하여 게임 실행을 위한 데이터를 송수신할 수 있다.
단말제어부(11)는 단말기(10a~10n)의 각 구성을 초기화하고, 필요한 신호 제어를 수행할 수 있다. 특히, 본 발명의 실시 예에 따른 단말제어부(11)는 통신망(40)을 통해 제어서버(20) 및 게임서버(30a~30n)와 접속하여 데이터를 송수신하는 기능을 한다. 또한, 단말제어부(11)는 제어서버(20)로부터 수신되는 게임서버에 대한 정보를 확인하고, 확인된 정보에 대응하는 게임서버로 이동하여 게임을 실행하도록 제어한다.
도 3은 본 발명의 실시 예에 따른 서버의 부하 분산 시스템(100)에서 제어서버의 구성을 나타내는 블록도이다.
도 3을 참조하면, 본 발명의 서버의 부하 분산 시스템(100)을 위한 제어서버(20)는 서버제어부(21), 서버저장부(23) 및 서버통신부(25)로 구성된다.
서버통신부(25)는 통신망(40)을 통해 단말기(10a~10n) 및 게임서버(30a~30n)와 데이터를 송수신하는 기능을 수행한다. 특히 본 발명의 실시 예에 따른 서버통신부(25)는 최소 부하 값을 가지는 게임서버의 URL, IP 주소 및 도메인 주소 등과 같은 정보를 일부의 단말기로 전송하여 서버 이동을 요청할 수 있다.
서버저장부(23)는 제어서버(20)의 기능 실행을 위한 프로그램 및 데이터를 저장하는 기능을 한다. 특히, 본 발명의 실시 예에 따른 서버저장부(23)는 최대 부하 값을 가지는 게임서버에 접속된 일부의 단말기를 최소 값을 가지는 게임서버로 이동시키기 위해 비교되는 기준 값인 하나 이상의 임계 값을 저장한다. 또한, 서버저장부(23)는 하나 이상의 임계 값 별 단말기의 선택기준 정보를 저장한다.
서버제어부(21)는 제어서버(20)의 모든 동작을 제어하여 게임서버(30a~30n) 사이의 부하 값을 조절하는 기능을 한다. 특히, 본 발명의 실시 예에 따른 서버제어부(21)는 다수의 게임서버(30a~30n)에 대한 부하 값을 산출하고, 산출된 부하 값에서 최대 부하 값과 최소 부하 값의 차이 값을 계산한다. 이때, 서버제어부(21)는 다수의 게임서버에 접속된 단말기의 수, CPU 사용량 및 메모리 사용량 중 적어도 하나의 정보를 수집하고, 수집된 정보를 분석하여 다수의 게임서버에 대한 부하 값을 산출할 수 있다. 그리고 나서, 서버제어부(21)는 차이 값과 기 설정된 하나 이상의 임계 값을 비교하여 비교 결과 차이 값이 특정 임계 값 이상이면, 최대 부하 값을 가지는 게임서버에 접속된 단말기 중 일부의 단말기를 최소 부하 값을 가지는 게임서버로 이동하도록 제어한다. 여기서, 서버제어부(21)는 최대 부하 값을 가지는 게임서버와 최소 부하 값을 가지는 게임서버의 부하 값이 동일하게 될 때까지 최대 부하 값을 가지는 게임서버에 접속된 일부의 단말기를 최소 부하 값을 가지는 게임서버로 이동하도록 제어할 수 있다. 이때, 서버제어부(21)는 부하 값의 차이가 특정 임계 값에 도달 시 최소 부하 값을 가지는 게임서버에 접속된 일부 단말기 중 대기모드인 단말기, 게임 실행 중 캐릭터 이동 속도가 느린 단말기, 사용자 입력의 횟수가 적은 단말기, 다른 단말기와의 상호작용이 적은 단말기, 사용자의 게임 레벨이 낮은 단말기 중 어느 하나 또는 이들의 조합에 상응하여 이동될 단말기를 선택할 수 있다. 그리고, 서버제어부(21)는 최소 부하 값을 가지는 게임서버의 URL, IP 주소 및 도메인 주소 등과 같은 정보를 게임서버의 이동이 선택된 일부의 단말기로 전송한다.
서버제어부(21)는 다수의 게임서버(30a~30n)에 대한 부하 값을 실시간으로 모니터링하고, 부하 값이 변화하는 경우 다수의 게임서버(30a~30n)에서 최대 부하 값과 최소 부하 값의 차이 값을 계산하여 하나 이상의 임계 값과 비교한다. 비교 결과 차이 값이 특정 임계 값 이상이면, 서버제어부(21)는 최대 부하 값을 가지는 게임서버에 접속된 단말기 중 일부의 단말기를 최소 부하 값을 가지는 게임서버로 이동하도록 주기적으로 제어한다.
도 4는 본 발명의 실시 예에 따른 서버의 부하 분산 방법의 데이터 흐름을 나타내는 도면이다.
도 4를 참조하면, 본 발명에 따른 서버의 부하 분산 방법을 위한 데이터 흐름을 살펴보면, 단말기(10a)가 S11 단계에서 통신망(40)을 통해 다수의 게임서버(30a~30n)중 게임서버1(30a)에 접속하여 게임을 실행한다. 게임 실행 중 제어서버(20)는 S13 단계에서 각각의 게임서버(30a~30n)에 대한 정보를 요청할 수 있다. 이때, 제어서버(20)가 요청하는 정보는 다수의 게임서버(30a~30n)에 접속된 단말기의 수, CPU 사용량 및 메모리 사용량 과 같은 정보가 포함될 수 있다. 이후, 제어서버(20)는 S15 단계에서 요청된 정보를 게임서버(30a~30n)로부터 수신한다.
정보가 수신되면, 제어서버(20)는 S17 단계에서 수집된 정보를 분석하여 다수의 게임서버(30a~30n)에 대한 부하 값을 산출한다. 그리고 나서, 제어서버(20)는 S19 단계에서 산출된 부하 값에서 최대 부하 값과 최소 부하 값의 차이 값을 계산한다. 차이 값이 계산되면, 제어서버(20)는 S21 단계에서 차이 값과 기 설정된 하나 이상의 임계 값을 비교한다. 여기서, 제어서버(20)는 최대 부하 값을 가지는 게임서버에 접속된 일부의 단말기를 최소 값을 가지는 게임서버로 이동시키기 위해 비교되는 하나 이상의 임계 값을 저장하고 있는 것이 바람직하다. 이때, 임계 값은 최대 부하 값을 가지는 게임서버에 접속된 일부의 단말기를 최소 값을 가지는 게임서버로 이동하기 위하여 설정되는 값이다.
제어서버(20)는 S23 단계에서 비교 결과 차이 값이 특정 임계 값 이상이면, 최대 부하 값을 가지는 게임서버에 접속된 단말기(10a)를 최소 부하 값을 가지는 게임서버로 이동하기 위하여 게임서버의 이동에 따른 정보를 단말기로 전송한다. 이때, 제어서버(20)는 최소 부하 값을 가지는 게임서버의 URL, IP 주소 및 도메인 주소 등과 같은 정보를 일부의 단말기로 전송한다. 여기서, 제어서버(20)는 부하 값의 차이가 특정 임계 값에 도달 시 최소 부하 값을 가지는 게임서버에 접속된 일부 단말기 중 대기모드인 단말기, 게임 실행 중 캐릭터 이동 속도가 느린 단말기, 사용자 입력의 횟수가 적은 단말기, 다른 단말기와의 상호작용이 적은 단말기, 사용자의 게임 레벨이 낮은 단말기 중 어느 하나 또는 이들의 조합에 상응하여 이동될 단말기를 선택할 수 있다. 또한, 제어서버(20)는 최대 부하 값을 가지는 게임서버와 최소 부하 값을 가지는 게임서버의 부하 값이 동일하게 될 때까지 최대 부하 값을 가지는 게임서버에 접속된 일부의 단말기를 최소 부하 값을 가지는 게임서버로 이동하도록 주기적으로 제어할 수 있다.
정보가 수신되면, 단말기(10a)는 S25 단계에서 수신된 정보를 확인한다. 즉, 단말기는 최소 부하 값을 가지는 게임서버의 URL, IP 주소 및 도메인 주소 등과 같은 정보를 확인한다.
정보가 확인되면, 단말기는 S27 단계에서 확인된 다수의 게임서버(10a~10n)중 게임서버2(30b)로 접속을 요청한다. 접속이 요청되면, 게임서버2(30b)는 S29 단계에서 단말기(10a)의 접속을 승인한다. 이와 함께. 단말기(10a)와 게임서버1(30a)는 S31 단계에서 게임의 접속을 차단한다. 그리고 나서, 단말기는 S33 단계에서 게임서버2(30b)에 접속하고, S35 단계에서 게임서버2(30b)를 통해 게임을 실행할 수 있다. 또한, 제어서버(20)는 다수의 게임서버(30a~30n)에 대한 부하 값을 실시간으로 모니터링하고, 부하 값이 변화하는 경우 다수의 게임서버(30a~30n)에서 최대 부하 값과 최소 부하 값의 차이 값을 계산하여 하나 이상의 임계 값과 비교한다. 비교 결과 차이 값이 특정 임계 값 이상이면, 제어서버(20)는 최대 부하 값을 가지는 게임서버에 접속된 단말기 중 일부의 단말기를 최소 부하 값을 가지는 게임서버로 이동하도록 주기적으로 제어할 수 있다.
도 5는 본 발명의 실시 예에 따른 서버의 부하 분산 방법을 설명하기 위한 흐름도이고, 도 6과 도 7은 본 발명의 실시 예에 따른 서버의 부하 분산 방법을 설명하기 위한 예이다.
도 5를 참조하면, 본 발명에 따른 서버의 부하 분산 방법은 제어서버(20)가 S41 단계에서 다수의 게임서버(30a~30n)의 정보를 수집한다. 이때, 수집되는 정보는 다수의 게임서버(30a~30n)에 접속된 단말기 수, CPU 사용량 및 메모리 사용량 등과 같은 정보가 포함될 수 있다. 그리고 나서, 제어서버(20)는 S43 단계에서 수집된 정보를 분석하여 다수의 게임서버(30a~30n)에 대한 부하 값을 산출한다.
부하 값이 산출되면, 제어서버(20)는 S45 단계에서 산출된 부하 값에서 최대 부하 값과 최소 부하 값의 차이 값을 계산한다. 이후, 제어서버(20)는 S47 단계에서 차이 값과 기 설정된 하나 이상의 임계 값을 비교한다. 이때, 임계 값은 최대 부하 값을 가지는 게임서버에 접속된 일부의 단말기를 최소 값을 가지는 게임서버로 이동하기 위하여 설정되는 값이다. 여기서, 제어서버(20)는 부하 값의 차이가 특정 임계 값에 도달 시 최소 부하 값을 가지는 게임서버에 접속된 일부 단말기 중 대기모드인 단말기, 게임 실행 중 캐릭터 이동 속도가 느린 단말기, 사용자 입력의 횟수가 적은 단말기, 다른 단말기와의 상호작용이 적은 단말기, 사용자의 게임 레벨 중 어느 하나 또는 이들의 조합에 상응하여 이동될 단말기를 선택할 수 있다.
제어서버(20)는 S49 단계에서 비교 결과 차이 값이 특정 임계 값 이상인지 판단한다. 이때, 차이 값이 특정 임계 값 이상이면, 제어서버(20)는 S51 단계에서 최대 부하 값을 가지는 게임서버에 접속된 단말기 중 일부의 단말기를 최소 부하 값을 가지는 게임서버로 이동시키기 위한 정보를 일부의 단말기로 전송한다. 여기서, 제어서버(20)는 최소 부하 값을 가지는 게임서버의 URL, IP 주소 및 도메인 주소 등과 같은 정보를 일부의 단말기로 전송할 수 있다. 예를 들어, 제어서버(20)는 부하 값의 차이가 제1 임계 값에 도달하는 경우, 최대 부하 값을 가지는 게임서버에 접속된 일부 단말기 중 대기모드인 단말기를 최소 부하 값을 가지는 게임서버로 이동시킨다. 또한, 제어서버(20)는 부하 값의 차이가 제2 임계 값에 도달하는 경우, 최대 부하 값을 가지는 게임서버에 접속된 일부 단말기 중 게임 실행에서 캐릭터 이동 속도가 느린 단말기를 최소 부하 값을 가지는 게임서버로 이동시킨다. 또한, 제어서버(20)는 부하 값의 차이가 제3 임계 값에 도달하는 경우, 최대 부하 값을 가지는 게임서버에 접속된 일부 단말기 중 다른 단말기와의 상호작용이 적은 단말기를 최소 부하 값을 가지는 게임서버로 이동시킨다. 또한, 제어서버(20)는 부하 값의 차이가 특정 임계 값에 도달하는 경우, 최대 부하 값을 가지는 게임서버에 접속된 일부 단말기 상기에 제시된 기준의 조합에 따라 선택되는 단말기를 최소 부하 값을 가지는 게임서버로 이동시킨다.
한편, 제어서버(20)는 비교 결과 차이 값이 임계 값 미만이면, 다수의 게임서버(30a~30n)에 접속된 단말기의 접속 상태를 유지할 수 있다.
제어서버(20)는 S53 단계에서 부하 값의 변화에 따라 단말기의 접속을 이동하도록 제어한다. 이후, 제어서버(20)는 S55 단계에서 최대 부하 값을 가지는 게임서버의 부하 값과 최소 부하 값을 가지는 게임서버의 부하 값이 동일한지 판단한다. 즉, 제어서버(20)가 최대 부하 값을 가지는 게임서버와 최소 부하 값을 가지는 게임서버의 부하 값이 동일하게 될 때까지 최대 부하 값을 가지는 게임서버에 접속된 일부의 단말기를 최소 부하 값을 가지는 게임서버로 이동시킨다.
부하 값이 동일하면, 나머지 게임서버의 최대 부하 값과 최소 부하 값의 차이가 특정 임계 값 이상인지 판단한다. 즉, 제어서버(20)는 다수의 게임서버(30a~30n)에 대한 부하 값을 실시간으로 모니터링한다. 이때, 부하 값이 변화하면, 제어서버(20)가 다수의 게임서버(30a~30n)에서 최대 부하 값과 최소 부하 값의 차이 값을 계산하여 하나 이상의 임계 값과 비교하고, 비교 결과 차이 값이 특정 임계 값 이상이면, 최대 부하 값을 가지는 게임서버에 접속된 단말기 중 일부의 단말기를 최소 부하 값을 가지는 게임서버로 주기적으로 이동시킬 수 있다.
예를 들어, 도 6과 도 7을 참조하면, 제어서버(20)는 다수의 게임서버(1 내지 4)에 대한 부하 값을 산출한다. 여기서, 제어서버(20)는 게임서버(1 내지 4)에 접속된 다수의 단말기(10a~10n) 수, CPU 사용량 및 메모리 사용량 등과 같은 정보를 수집하고, 수집된 정보를 분석하여 다수의 게임서버(30a~30n)에 대한 부하 값을 산출할 수 있다. 즉, 게임서버 1의 CPU 사용량은 30%, 메모리 사용량은 40%, 접속 단말수는 50대이고, 이에 따른 부하 값은 50이다. 또한, 게임서버 2의 CPU 사용량은 50%, 메모리 사용량은 70%, 접속 단말수는 80대이고, 이에 따른 부하 값은 70이다. 또한, 게임서버 3의 CPU 사용량은 10%, 메모리 사용량은 15%, 접속 단말수는 30대이고, 이에 따른 부하 값은 20(603)이다. 또한, 게임서버 4의 CPU 사용량은 80%, 메모리 사용량은 90%, 접속 단말수는 100대이고, 이에 따른 부하 값은 95(601)이다. 이때, 게임서버 3과 게임서버 4의 부하 값은 각각 최대 부하 값과 최소 부하 값을 가지게 된다. 또한, 임계 값이 40이라 가정하면, 게임서버 3과 게임서버 4에 대한 부하 값의 차이 값은 75로 임계 값 이상이 된다.
부하 값의 차이가 임계 값 이상이면, 제어서버(20)는 게임서버 3과 게임서버 4의 부하 값이 동일하게 될 때까지 게임서버 4에 접속된 일부의 단말기를 게임서버 4로 접속할 수 있도록 제어한다. 이후, 게임서버 3의 CPU 사용량은 40%, 메모리 사용량은 50%, 접속 단말수는 60대로서 부하 값이 57.5(703)이 되고, 게임서버 4의 CPU 사용량은 40%, 메모리 사용량은 60%, 접속 단말수는 65대로서 부하 값이 57.5된다. 이에 따라, 게임서버 3에 로드되는 부하 값과 게임서버 4에 로드되는 부하 값은 동일하게 된다.
본 발명에 따른 서버의 부하 분산 방법은 다양한 컴퓨터 수단을 통하여 판독 가능한 소프트웨어 형태로 구현되어 컴퓨터로 판독 가능한 기록매체에 기록될 수 있다. 여기서, 기록매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 기록매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 예컨대 기록매체는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(Magnetic Media), CD-ROM(Compact Disk Read Only Memory), DVD(Digital Video Disk)와 같은 광 기록 매체(Optical Media), 플롭티컬 디스크(Floptical Disk)와 같은 자기-광 매체(Magneto-Optical Media), 및 롬(ROM), 램(RAM, Random Access Memory), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치를 포함한다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함할 수 있다. 이러한 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이를 통해 서버의 부하 분산 방법은 통신망을 이용하여 다수의 단말기(10a,~10n)가 게임서버(30a~30n)에 접속하여 게임을 수행할 때, 다수의 단말기(10a~10n) 사이에 최적의 게임서버로 단말기를 접속시킴으로써 게임서버(30a~30n)의 부하를 분산시킬 수 있다.
한편, 본 명세서와 도면에 개시된 본 발명의 실시 예들은 이해를 돕기 위해 특정 예를 제시한 것에 지나지 않으며, 본 발명의 범위를 한정하고자 하는 것은 아니다. 여기에 개시된 실시 예들 이외에도 본 발명의 기술적 사상에 바탕을 둔 다른 변형 예들이 실시 가능하다는 것은, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 자명한 것이다.
본 발명은 다수의 게임서버에 대한 부하 값을 산출하고, 최대 부하 값과 최소 부하 값의 차이 값을 기 설정된 하나 이상의 임계 값을 비교하고, 비교 결과 차이 값이 특정 임계 값 이상이면, 최대 부하 값을 가지는 게임서버에 접속된 단말기 중 일부의 단말기를 최소 부하 값을 가지는 게임서버로 이동시킴으로써, 다수의 단말기가 게임서버에 접속하여 게임을 수행할 때, 다수의 단말기 사이에 최적의 게임서버로 단말기의 접속에 따른 게임서버의 부하를 분산시킬 수 있다.
10: 단말기 (10a~10n)
11: 단말 제어부
12: 입력부
13: 표시부
14: 단말 저장부
15: 오디오 처리부
16: 단말 통신부
20: 제어서버
21: 서버 제어부
23: 서버 저장부
25: 서버 통신부
30: 게임서버(30a~30n)
40: 통신망
100: 부하 분산 시스템

Claims (18)

  1. 게임 서비스를 제공하는 다수의 게임서버;
    상기 다수의 게임서버 중 하나의 게임서버에 접속하여 게임을 실행하는 다수의 단말기; 및
    상기 다수의 게임서버에 대한 부하 값을 산출하고, 최대 부하 값과 최소 부하 값의 차이 값을 기 설정된 하나 이상의 임계 값과 비교하고, 상기 비교 결과 상기 차이 값이 특정 임계 값 이상이면, 상기 최대 부하 값을 가지는 게임서버에 접속된 단말기 중 일부의 단말기를 상기 최소 부하 값을 가지는 게임서버로 이동시키는 제어서버;
    를 포함하는 것을 특징으로 하는 서버의 부하 분산 시스템.
  2. 통신망을 통해 단말기 및 게임서버와 데이터를 송수신하는 서버 통신부; 및
    다수의 게임서버에 대한 부하 값을 산출하고, 최대 부하 값과 최소 부하 값의 차이 값을 기 설정된 하나 이상의 임계 값과 비교하고, 상기 비교 결과 상기 차이 값이 특정 임계 값 이상이면, 상기 최대 부하 값을 가지는 게임서버에 접속된 단말기 중 일부의 단말기를 상기 최소 부하 값을 가지는 게임서버로 이동하도록 제어하는 서버 제어부;
    를 포함하는 것을 특징으로 하는 제어서버.
  3. 제2항에 있어서, 상기 서버 제어부는
    상기 하나 이상의 임계 값 별로 이동할 단말기의 선택 기준을 다르게 설정하는 것을 특징으로 하는 제어서버.
  4. 제2항 또는 제3항에 있어서,
    상기 최대 부하 값을 가지는 게임서버에 접속된 상기 일부의 단말기를 상기 최소 부하 값을 가지는 게임서버로 이동시키기 위해 비교되는 상기 하나 이상의 임계 값 및 상기 하나 이상의 임계 값 별 단말기의 선택기준 정보를 저장하는 저장부;
    를 더 포함하는 것을 특징으로 하는 제어서버.
  5. 제2항에 있어서, 상기 서버 제어부는
    상기 다수의 게임서버에 접속된 단말기 수, CPU 사용량 및 메모리 사용량 중 적어도 하나의 정보를 수집하고, 상기 수집된 정보를 분석하여 상기 다수의 게임서버에 대한 부하 값을 산출하는 것을 특징으로 하는 제어서버.
  6. 제2항에 있어서, 상기 서버 제어부는
    상기 최대 부하 값을 가지는 게임서버와 최소 부하 값을 가지는 게임서버의 부하 값이 동일하게 될 때까지 상기 최대 부하 값을 가지는 게임서버에 접속된 상기 일부의 단말기를 상기 최소 부하 값을 가지는 게임서버로 이동하도록 제어하는 것을 특징으로 하는 제어서버.
  7. 제2항에 있어서, 상기 서버 제어부는
    상기 최소 부하 값을 가지는 게임서버의 URL, IP 주소 및 도메인 주소 중 적어도 하나의 정보를 상기 일부의 단말기로 전송하여 서버 이동을 요청하는 것을 특징으로 하는 제어서버.
  8. 제3항에 있어서, 상기 서버 제어부는
    대기모드인 단말기, 캐릭터 이동 속도가 느린 단말기, 사용자 입력의 횟수가 적은 단말기, 다른 단말기와의 상호작용이 적은 단말기, 사용자의 게임 레벨이 낮은 단말기 중 어느 하나 또는 이들의 조합에 상응하여 이동될 단말기를 선택하는 것을 특징으로 하는 제어서버.
  9. 통신망을 통해 제어서버 및 게임서버와 데이터를 송수신하는 단말 통신부; 및
    게임서버에 접속하여 게임을 실행하는 중에 상기 제어서버로부터 서버 이동 요청을 수신하면, 상기 제어서버에서 지정한 다른 게임서버로 이동하여 게임을 실행하는 단말 제어부;
    를 포함하는 것을 특징으로 하는 단말기.
  10. 제9항에 있어서,
    상기 제어서버로부터 수신되는 이동할 게임서버의 URL, IP 주소 및 도메인 주소 중 적어도 하나의 정보를 저장하는 단말 저장부;
    를 더 포함하는 것을 특징으로 하는 단말기.
  11. 제어서버가 다수의 게임서버에 대한 부하 값을 산출하는 단계;
    상기 제어서버가 상기 산출된 부하 값에서 최대 부하 값과 최소 부하 값의 차이 값을 계산하는 단계;
    상기 제어서버가 상기 차이 값과 기 설정된 하나 이상의 임계 값을 비교하는 단계; 및
    상기 제어서버가 상기 비교 결과 상기 차이 값이 특정 임계 값 이상이면, 상기 최대 부하 값을 가지는 게임서버에 접속된 단말기 중 일부의 단말기를 상기 최소 부하 값을 가지는 게임서버로 이동시키는 단계;
    를 포함하는 것을 특징으로 하는 서버의 부하 분산 방법.
  12. 제11항에 있어서, 상기 산출하는 단계는
    상기 제어서버가 상기 다수의 게임서버에 접속된 단말기 수, CPU 사용량 및 메모리 사용량 중 적어도 하나의 정보를 수집하는 단계; 및
    상기 제어서버가 상기 수집된 정보를 분석하여 상기 다수의 게임서버에 대한 부하 값을 산출하는 단계;
    를 포함하는 것을 특징으로 하는 서버의 부하 분산 방법.
  13. 제11항에 있어서,
    상기 비교 결과 상기 차이 값이 상기 특정 임계 값 미만이면, 상기 제어서버가 상기 다수의 게임서버에 접속된 단말기의 접속 상태를 유지하는 단계;
    를 더 포함하는 것을 특징으로 하는 서버의 부하 분산 방법.
  14. 제11항에 있어서, 상기 임계 값은
    최대 부하 값을 가지는 게임서버에 접속된 일부의 단말기를 상기 최소 부하 값을 가지는 게임서버로 이동하기 위하여 설정되는 값인 것을 특징으로 하는 서버의 부하 분산 방법.
  15. 제11항에 있어서, 상기 이동시키는 단계는
    대기모드인 단말기, 캐릭터 이동 속도가 느린 단말기, 사용자 입력의 횟수가 적은 단말기, 다른 단말기와의 상호작용이 적은 단말기, 사용자의 게임 레벨이 낮은 단말기 중 어느 하나 또는 이들의 조합에 상응하여 이동될 단말기를 선택하는 단계;
    를 더 포함하는 것을 특징으로 하는 서버의 부하 분산 방법.
  16. 단말기가 게임서버에 접속하여 게임 서비스를 제공받는 단계;
    단말기가 제어서버로부터 다른 게임서버로의 서버 이동 요청을 수신하는 단계;
    상기 단말기가 상기 다른 게임서버에 대한 정보를 확인하는 단계; 및
    상기 단말기가 상기 확인된 정보에 따라 상기 다른 게임서버로 이동하여 게임을 실행하는 단계;
    를 포함하는 것을 특징으로 하는 서버의 부하 분산 방법.
  17. 제16항에 있어서, 상기 수신하는 단계는
    상기 단말기가 상기 제어서버로부터 최소 부하 값을 가지는 게임서버의 URL, IP 주소 및 도메인 주소 중 적어도 하나의 정보를 수신하는 단계;
    를 포함하는 것을 특징으로 하는 서버의 부하 분산 방법.
  18. 제11항 내지 제17항 중 어느 한 항에 기재된 서버의 부하 분산 방법을 수행하는 프로그램을 기록한 컴퓨터 판독 가능한 기록 매체.
KR1020100055861A 2010-06-14 2010-06-14 게임서버의 부하 분산 방법 및 그의 시스템 KR20110136079A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020100055861A KR20110136079A (ko) 2010-06-14 2010-06-14 게임서버의 부하 분산 방법 및 그의 시스템

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020100055861A KR20110136079A (ko) 2010-06-14 2010-06-14 게임서버의 부하 분산 방법 및 그의 시스템

Publications (1)

Publication Number Publication Date
KR20110136079A true KR20110136079A (ko) 2011-12-21

Family

ID=45502770

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020100055861A KR20110136079A (ko) 2010-06-14 2010-06-14 게임서버의 부하 분산 방법 및 그의 시스템

Country Status (1)

Country Link
KR (1) KR20110136079A (ko)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20140060637A (ko) * 2012-11-12 2014-05-21 인포뱅크 주식회사 부하 분산 방법, 시스템 및 장치
KR101398088B1 (ko) * 2012-11-15 2014-06-02 (주)위메이드엔터테인먼트 온라인 게임에서의 데이터 관리 방법 및 데이터 관리 시스템을 포함하는 게임 서버 및 기록매체
KR20150138871A (ko) 2014-05-29 2015-12-11 계명대학교 산학협력단 대규모 다중사용자를 위한 네트워크 기반 부하 분산형 스크린 골프 시스템 및 그 방법
KR20190115947A (ko) * 2018-04-04 2019-10-14 네이버 주식회사 분산 시스템의 임계 상황을 판단하는 방법 및 그 시스템

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20140060637A (ko) * 2012-11-12 2014-05-21 인포뱅크 주식회사 부하 분산 방법, 시스템 및 장치
KR101398088B1 (ko) * 2012-11-15 2014-06-02 (주)위메이드엔터테인먼트 온라인 게임에서의 데이터 관리 방법 및 데이터 관리 시스템을 포함하는 게임 서버 및 기록매체
KR20150138871A (ko) 2014-05-29 2015-12-11 계명대학교 산학협력단 대규모 다중사용자를 위한 네트워크 기반 부하 분산형 스크린 골프 시스템 및 그 방법
KR20190115947A (ko) * 2018-04-04 2019-10-14 네이버 주식회사 분산 시스템의 임계 상황을 판단하는 방법 및 그 시스템

Similar Documents

Publication Publication Date Title
Laghari et al. Quality of experience (QoE) in cloud gaming models: A review
US8973005B2 (en) Information processing apparatus, information processing method, recording medium and information processing system
CN110141864B (zh) 一种游戏自动测试方法、装置及终端
KR101397799B1 (ko) 무선 네트워크에서 모바일 게이밍을 위한 리더보드들을 제공하는 시스템 및 방법
US20130274020A1 (en) Computing platform for supporting massively multi-player online games
KR101487579B1 (ko) 디바이스 소셜리티 구성 시스템 및 방법
WO2007033005A3 (en) System and method for gaming-content configuration and management system
US10985988B2 (en) Profile generation for bandwidth management
TW201644141A (zh) 異種電池細胞格切換
CN202930019U (zh) 一种卡拉ok系统
KR20110136079A (ko) 게임서버의 부하 분산 방법 및 그의 시스템
Park et al. Design and evaluation of mobile offloading system for web-centric devices
WO2023107283A1 (en) Network storage game allocation based on artificial intelligence
JP5913580B2 (ja) 為替レート概念を適用したゲーム提供システム、このための端末機、サービス装置及びプログラムを記録した記録媒体
US20160352817A1 (en) Predictive Peer Determination For Peer-to-Peer Digital Content Download
CN106302250A (zh) 移动终端的网络流量控制方法及装置
US9451051B1 (en) Method and procedure to improve delivery and performance of interactive augmented reality applications over a wireless network
CN110138887B (zh) 一种数据处理方法、装置及存储介质
CN106101175A (zh) 设备管控方法、装置和系统
Kohana et al. Dynamic reallocation rules on multi-server web-based MORPG system
CN109565893B (zh) 漫游以共享通信信道
KR20110096871A (ko) 클라우드 자원을 다수의 디바이스 자원과 결합하여 제공하는 자원제공방법 및 자원분배장치
KR101591076B1 (ko) 리소스 무결성 체크 장치 및 방법
KR20120094704A (ko) 단말기를 이용한 게임데이터 표시 방법 및 시스템
US11465045B1 (en) Maintaining session state using redundant servers

Legal Events

Date Code Title Description
N231 Notification of change of applicant
WITN Withdrawal due to no request for examination