KR100589437B1 - 동적 서버 초기화 방법 및 시스템 - Google Patents

동적 서버 초기화 방법 및 시스템 Download PDF

Info

Publication number
KR100589437B1
KR100589437B1 KR1020050053978A KR20050053978A KR100589437B1 KR 100589437 B1 KR100589437 B1 KR 100589437B1 KR 1020050053978 A KR1020050053978 A KR 1020050053978A KR 20050053978 A KR20050053978 A KR 20050053978A KR 100589437 B1 KR100589437 B1 KR 100589437B1
Authority
KR
South Korea
Prior art keywords
location server
server
message
status update
location
Prior art date
Application number
KR1020050053978A
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 KR1020050053978A priority Critical patent/KR100589437B1/ko
Application granted granted Critical
Publication of KR100589437B1 publication Critical patent/KR100589437B1/ko
Priority to PCT/KR2006/002409 priority patent/WO2006137701A1/en
Priority to JP2008518035A priority patent/JP4726955B2/ja
Priority to US11/993,196 priority patent/US7945644B2/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • H04L12/18Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
    • H04L12/185Arrangements for providing special services to substations for broadcast or conference, e.g. multicast with management of multicast group membership
    • 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
    • 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
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • H04L12/18Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
    • H04L12/1863Arrangements for providing special services to substations for broadcast or conference, e.g. multicast comprising mechanisms for improved reliability, e.g. status reports
    • 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/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Business, Economics & Management (AREA)
  • Marketing (AREA)
  • Physics & Mathematics (AREA)
  • Human Resources & Organizations (AREA)
  • Economics (AREA)
  • Primary Health Care (AREA)
  • Strategic Management (AREA)
  • Tourism & Hospitality (AREA)
  • General Health & Medical Sciences (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Debugging And Monitoring (AREA)
  • Hardware Redundancy (AREA)

Abstract

본 발명은 리플리케이션 그룹으로 새롭게 추가되는 로케이션 서버에 대한 초기화 과정을 보다 정교하게 수행하기 위한 동적 서버 초기화 방법 및 시스템에 관한 것이다. 본 발명에 따른 동적 서버 초기화 방법은, 하나 이상의 제1 로케이션 서버로 구성되는 리플리케이션 그룹에 제2 로케이션 서버가 추가되는 경우, 상기 제2 로케이션 서버에서 상기 제1 로케이션 서버로 상기 리플리케이션 그룹과 연관된 멀티캐스트 그룹으로의 등록을 요청하는 단계와, 상기 제1 로케이션 서버에서 상기 등록이 완료된 후 소정의 게임 서버로부터 수신되는 상태 업데이트 메시지를 상기 제2 로케이션 서버에 전달하는 단계와, 선정된 기준 시간이 경과된 경우, 상기 제2 로케이션 서버에서 상기 제1 로케이션 서버로 메시지 덤프를 요청하는 단계, 및 상기 메시지 덤프 요청에 따라 상기 제1 로케이션 서버에서 소정의 메시지 풀에 저장된 상태 업데이트 메시지를 상기 제2 로케이션 서버로 덤프하는 단계를 포함하는 것을 특징으로 한다. 본 발명에 따르면, 리플리케이션 그룹으로 새로운 로케이션 서버를 추가하는 데에 있어서, 초기화 도중에 게임 서버로부터 수신하는 상태 업데이트 메시지를 누락하지 않도록 최적한 메시지 덤프의 수행을 보장하는 동적 서버 초기화 방법 및 시스템이 제공된다.
로케이션 서버, 리플리케이션 그룹, 초기화, 게임 서버

Description

동적 서버 초기화 방법 및 시스템{DYNAMIC INITIALIZATION METHOD AND SYSTEM OF LOCATION SERVER}
도 1은 본 발명에 따라 리플리케이션 그룹으로 구성된 복수 개의 로케이션 서버와 서비스 서버 및 사용자 단말기의 네트워크 연결을 개략적으로 도시한 도면이다.
도 2는 본 발명의 일실시예에 따른 동적 서버 초기화 시스템을 나타내는 구성도이다.
도 3은 본 발명에 따른 제1 로케이션 서버와 제2 로케이션 서버 간의 메시지 교환의 일례를 나타내는 도면이다.
도 4는 본 발명의 일실시예에 따른 동적 서버 초기화 방법을 구체적으로 도시한 작업 흐름도이다.
도 5는 본 발명에 따른 동적 서버 초기화 방법을 수행하는 데 채용될 수 있는 범용 컴퓨터 장치의 내부 블록도이다.
<도면의 주요 부분에 대한 부호의 설명>
200 : 동적 서버 초기화 시스템 210 : 멀티캐스트 요청 발생 수단
220 : 멀티캐스트 처리 수단 230 : 덤프 요청 수단
240 : 덤프 처리 수단 250 : 메시지 카운트 수단
본 발명은 리플리케이션 그룹으로 새롭게 추가되는 로케이션 서버에 대한 초기화 과정을 보다 정교하게 수행하기 위한 동적 서버 초기화하는 방법 및 시스템에 관한 것이다.
일반적으로, 게임 서비스를 제공하는 게임 서버는, 사용자들의 로그인/로그아웃 정보를 집중적으로 관리할 수 있는 로케이션 서버(Location Server)를 포함한다. 즉, 게임 서버는 사용자가 PC 및 인터넷을 통하여 접속해 오면, 사용자의 로그인/로그아웃 정보를 로케이션 서버로 송신한다. 그러면, 로케이션 서버는 복수의 게임 서버로부터 수신되는 사용자의 로그인/로그아웃 정보를 통합적으로 관리하게 되므로, 비록 다른 게임 서버에 접속한 사용자일지라도 특정의 사용자가 접속한 게임 서버에 대한 정보를 제공할 수 있다.
그러나, 수많은 사용자에게 동시에 게임 서비스를 제공하는 온라인 게임의 경우에는 수백 대의 게임 서버들에 의하여 상기 게임 서비스가 제공되고 있고, 이에 따라 상기 로그인/로그아웃 정보의 관리를 하나의 로케이션 서버에서 관리하게 되면 로케이션 서버의 시스템의 부하가 지나치게 높아지는 문제점이 발생할 수 있다.
따라서, 이러한 로케이션 서버에서 시스템 부하가 커지는 문제를 해결하기 위하여, 복수의 로케이션 서버를 리플리케이션 그룹으로 구성하는 방식이 제시되고 있다. 상기 리플리케이션 그룹에 속하는 복수의 로케이션 서버는 사용자의 로그인/로그아웃 상태와 관련하여 동일한 상태 정보를 가져야 한다. 이것은 상기 리플리케이션 그룹으로 새롭게 로케이션 서버가 추가되는 경우에도 마찬가지이며, 이에 따라, 새로 추가되는 로케이션 서버가 리플리케이션 그룹에 조인(join)하는 경우, 리플리케이션 그룹에 속하는 기존 로케이션 서버가 보유하는 메시지를 새롭게 추가되는 로케이션 서버에 덤프(복사)하는 초기화 과정이 수행되어야만 한다.
하지만, 기존 로케이션 서버에 보유하는 메시지를 덤프하는 도중에, 게임 서버로부터 메시지가 도착하는 경우에, 이를 최적하게 수신할 수 있는 방법이 부재하여 수신된 메시지가 로케이션 서버에 저장되지 않고 누락되거나 소실되는 문제점이 상존하고 있음은 주지의 사실이다.
따라서, 덤프 작업과 무관하게, 게임 서버로부터 수신되는 메시지를 누락하거나 소실하지 않는, 리플리케이션 그룹 내의 로케이션 서버에 대한 정교한 초기화 모델이 절실하게 요구되고 있다.
본 발명은 상기와 같은 문제점을 해결하기 위하여 안출된 것으로서, 리플리케이션 그룹으로 새로운 로케이션 서버를 추가하는 데에 있어서, 초기화 도중에 게임 서버로부터 수신하는 상태 업데이트 메시지를 누락하지 않도록 최적한 메시지 덤프의 수행을 보장하는 동적 서버 초기화 방법 및 시스템을 제공하는 것을 목적으로 한다.
또한, 본 발명은 정상적으로 메시지 수신 기능을 발휘하는 로케이션 서버에 대해서만 메시지 덤프를 허용함으로써 로케이션 서버의 초기화 과정에서의 안정적인 메시지 덤프를 지원하는 동적 서버 초기화 방법 및 시스템을 제공하는 것을 목적으로 한다.
또한, 본 발명은 불필요하게 중복하여 저장되는 상태 업데이트 메시지를 제거함으로써 로케이션 서버의 메시지 풀을 최적화하는 동적 서버 초기화 방법 및 시스템을 제공하는 것을 목적으로 한다.
상기의 목적을 이루기 위한 본 발명에 따른 동적 서버 초기화 방법은, 하나 이상의 제1 로케이션 서버로 구성되는 리플리케이션 그룹에 제2 로케이션 서버가 추가되는 경우, 상기 제2 로케이션 서버에서 상기 제1 로케이션 서버로 상기 리플리케이션 그룹과 연관된 멀티캐스트 그룹으로의 등록을 요청하는 단계와, 상기 제1 로케이션 서버에서 상기 등록이 완료된 후 소정의 서비스 서버로부터 수신되는 상태 업데이트 메시지를 상기 제2 로케이션 서버에 전달하는 단계와, 선정된 기준 시간이 경과된 경우, 상기 제2 로케이션 서버에서 상기 제1 로케이션 서버로 메시지 덤프를 요청하는 단계, 및 상기 메시지 덤프 요청에 따라 상기 제1 로케이션 서버에서 소정의 메시지 풀에 저장된 상태 업데이트 메시지를 상기 제2 로케이션 서버로 덤프하는 단계를 포함하는 것을 특징으로 한다.
또한, 상기 목적을 달성하기 위한 기술적 구현 장치로서, 본 발명에 따른 동적 서버 초기화 시스템은, 하나 이상의 제1 로케이션 서버로 구성되는 리플리케이션 그룹에 제2 로케이션 서버가 추가되는 경우, 상기 제2 로케이션 서버에서 상기 제1 로케이션 서버로 상기 리플리케이션 그룹과 연관된 멀티캐스트 그룹으로의 등록을 요청하는 멀티캐스트 요청 발생 수단과, 상기 제1 로케이션 서버에서 상기 등록이 완료된 후 소정의 서비스 서버로부터 수신되는 상태 업데이트 메시지를 상기 제2 로케이션 서버에 전달하는 멀티캐스트 처리 수단과, 선정된 기준 시간이 경과된 경우, 상기 제2 로케이션 서버에서 상기 제1 로케이션 서버로 메시지 덤프를 요청하는 덤프 요청 수단, 및 상기 메시지 덤프 요청에 따라 상기 제1 로케이션 서버에서 소정의 메시지 풀에 저장된 상태 업데이트 메시지를 상기 제2 로케이션 서버로 덤프하는 덤프 처리 수단을 포함하는 것을 특징으로 한다.
이하, 첨부된 도면을 참조하여 동적 서버 초기화 방법 및 동적 서버 초기화 시스템에 대하여 설명한다.
본 명세서에서 지속적으로 사용되는 "로케이션 서버"(Location Server: LCS)는 복수 개의 서비스 서버에서 독립적으로 관리되었던 상태 업데이트 메시지를 통합적으로 관리함으로써 각 서비스 서버에서의 사용자 접속 상태 현황 또는 특정 사용자가 접속되는 서비스 서버의 위치 식별 등에 관한 정보를 생성하여 필요한 사용자에게 제공하기 위한 것이다. 즉, 로케이션 서버는 종래에 개별 서비스 서버에서 처리되던 사용자 로그인/로그아웃 정보 등의 상태 업데이트 메시지를 수신하고, 특정 사용자가 접속한 서비스 서버에 관한 정보를 다른 사용자에 제공할 수 있고, 하나의 사용자가 동시에 복수의 서비스 서버에 접속하는 이중로그인을 방지할 수 있는 기능을 갖는다.
특히, 본 발명에서의 로케이션 서버는 복수 개로 복사되어 설치함으로써 리 플리케이션 그룹(replication group)을 형성하고, 상기 리플리케이션 그룹에 속하는 로케이션 서버들의 상태를 동기화(synchronizing)함으로써 리플리케이션 그룹에 속하는 복수의 로케이션 서버가 하나의 로케이션 서버처럼 동작되도록 한다. 이는 서비스 서버로부터 수신되는 상태 업데이트 메시지를 복수의 로케이션 서버에서 통합적으로 관리하는 방식을 채택함으로써, 대량의 서비스 서버에 대한 상태 업데이트 메시지 처리시에 시스템 부하를 분산할 수 있고 이로 인해 메시지 처리를 최적화하기 위한 것이다.
여기서 리플리케이션 그룹은 서비스 서버로부터 발생하는 로그인 메시지 또는 로그아웃 메시지를 상태 업데이트 메시지로서 수신한다. 또한, 리플리케이션 그룹은 수신된 사용자의 로그인 메시지 또는 로그아웃 메시지를 이용하여 사용자가 접속한 서비스 서버의 위치 정보, 또는 사용자가 복수의 서비스 서버에 동시에 접속하는지의 여부에 관한 정보를 생성하여 서비스 서버에 통지한다.
이러한 리플리케이션 그룹에 의한 상태 업데이트 메시지의 신호 처리를 위해 리플리케이션 그룹에 포함되는 로케이션 서버는, 모두 동일한 상태 업데이트 메시지의 보유하여야 하며, 이에 따라 상기 로케이션 서버 상호 간에는 각 로케이션 서버에 보유하는 상태 업데이트 메시지를 다른 로케이션 서버에 전달하는 멀티캐스트(multicast)가 수행된다. 상기 멀티캐스트는 동일한 멀티캐스트 그룹에 등록된 로케이션 서버 사이에서 수행되며, 예컨대, 서비스 서버로부터 새로운 상태 업데이트 메시지를 수신한 로케이션 서버는 자신이 등록된 멀티캐스트 그룹에 포함되는 모든 로케이션 서버로 상기 수신한 업데이트 메시지를 전달할 수 있다.
도 1은 본 발명에 따라 리플리케이션 그룹으로 구성된 복수 개의 로케이션 서버와 서비스 서버 및 사용자 단말기의 네트워크 연결을 개략적으로 도시한 도면이다.
동적 서버 초기화 시스템(100)은 리플리케이션 그룹(160)으로 신규 로케이션 서버가 추가되는 경우, 상기 신규 로케이션 서버가 기존에 리플리케이션 그룹(160)에 속해 있던 로케이션 서버와 동일한 상태가 되도록 하는 역할을 한다. 즉, 동적 서버 초기화 시스템(100)은 신규 로케이션 서버에 대한 멀티캐스트 그룹으로의 등록 및 메시지 덤프를 최적하게 수행하여 기존 로케이션 서버가 보유하고 있던 상태 업데이트 메시지가 상기 신규 로케이션 서버에도 누락없이 유지도록 한다.
사용자 단말(120, 125)을 사용하는 사용자(110, 115)는, 통신망(170)을 통해 자신이 플레이하고 싶은 게임 서비스를 제공하는 서비스 서버(130, 135)에 접속한다. 예컨대, 온라인 고스톱 게임을 하고자 하는 사용자는 고스톱 게임 서비스를 제공하는 고스톱 서비스 서버(130)에, 온라인 포커 게임을 하고자 하는 사용자는 포커 게임 서비스를 제공하는 포커 서비스 서버(135)에 접속할 수 있다.
이때, 사용자(110, 115)가 자신과 동일한 서비스 서버(130, 135)에 접속하지 않는 다른 사용자(110, 115)에 대해 위치 식별하고자 하는 경우, 사용자 단말(120, 125)은 사용자(110, 115)가 접속하는 서비스 서버(130, 135)에 대한 식별을 요구하는 요청 정보를 서비스 서버(130, 135)에 전달할 수 있고, 서비스 서버(130, 135)는 상기 수신한 요청 정보에 응답하여 정보 제공 요구를 로케이션 서버(140, 150)에 전달할 수 있다.
즉, 로케이션 서버(140, 150)는 서비스 서버(130, 135)에 접속한 사용자에 대한 로그인 또는 로그아웃에 관한 상태 업데이트 정보를 모든 서비스 서버(130, 135)로부터 수신하고, 이를 통합적으로 관리하는 역할을 한다. 예컨대, 로케이션 서버(140, 150)는 상술한 위치 식별과 관련한 정보 제공 요구에 응답하여 특정의 사용자(115)가 현재 접속하는 서비스 서버(130, 135)를 식별하고 식별된 서비스 서버 정보(위치 정보)를 상기 위치 식별을 요청한 사용자(110, 115)에게 제공할 수 있다.
즉, 로케이션 서버(140, 150)는 서비스 서버(130, 135)에 사용자(110, 115)가 접속함에 따라 서비스 서버(130, 135)로부터 상기 접속한 사용자(110, 115)의 로그인/로그아웃 정보를 수신하여 각각 할당되는 메시지 풀(Message Pool)에 저장한다. 이에 따라, 로케이션 서버(140, 150)는 모든 서비스 서버(130, 135)에 접속하는 사용자(110, 115)에 대한 로그인/로그아웃 정보를 상기 메시지 풀에 누적하여 저장, 관리할 수 있고, 어떤 사용자가 어느 서비스 서버에 접속하고 있는가에 대한 위치를 정확하게 식별할 수 있다.
특히, 본 발명에서는 복수 개의 로케이션 서버(140, 150)를 리플리케이션 그룹(160)으로 포함하고, 리플리케이션 그룹(160)에 속하는 로케이션 서버(140, 150)들이 동일한 상태 업데이트 메시지를 갖도록 함으로써 리플리케이션 그룹(160)이 전체적으로 하나의 로케이션 서버와 같이 동작되도록 한다. 즉, 리플리케이션 그룹(160)은 포함하는 로케이션 서버(140, 150)의 개수 만큼, 상태 업데이트 메시지의 처리에 대한 성능을 배가시킬 수 있고, 대량의 서비스 서버에 대한 로그인/로 그아웃 관리에서도 시스템의 부하가 최적하게 분산되도록 하는 역할을 수행한다. 또한, 리플리케이션 그룹(160)은 포함하는 각 로케이션 서버(140, 150)에 보유하는 상태 업데이트 메시지를 통일함으로써 메시지 처리에 있어 어떠한 로케이션 서버(140, 150)가 관여하더라도 균등한 처리 능력이 발휘되도록 할 수 있다.
리플리케이션 그룹(160)은 포함되는 로케이션 서버(140, 150) 간에 상태 업데이트 메시지를 지속적으로 교환하여 각 로케이션 서버(140, 150)에서 보유하는 상태 업데이트 메시지를 동일하게 유지하며, 이러한 상태 업데이트 메시지를 로케이션 서버(140, 150) 사이에서 전달하는 과정에 멀티캐스트가 이용된다. 상기 멀티캐스트는 각 로케이션 서버(140, 150)에 할당되는 예컨대, 멀티캐스트 목록에 기재된 로케이션 서버(140, 150) 사이에 이루어질 수 있다. 예를 들어, 특정의 로케이션 서버에서 신규 메시지를 수신한 경우, 해당 로케이션 서버는 자신의 멀티캐스트 목록에 기재된(멀티캐스트 그룹에 가입한) 모든 로케이션 서버로 상기 수신한 신규 메시지를 전송할 수 있다.
본 명세서에서는 설명의 편의를 위해 동일한 리플리케이션 그룹(160)에 포함되는 로케이션 서버(140, 150)는 멀티캐스트 그룹에 자동으로 등록되며, 이에 따라 어떠한 로케이션 서버(140, 150)로 새로운 상태 업데이트 메시지가 수신되는 경우, 리플리케이션 그룹(160)에 포함되는 다른 로케이션 서버(140, 150)로 상기 수신된 새로운 상태 업데이트 메시지를 멀티캐스트 방식으로 전달할 수 있다.
또한, 로케이션 서버(140, 150)는 서비스 서버(130, 135)로부터 상태 업데이트 메시지를 직접 수신하도록 허용되는 에니캐스트 그룹(anycast group)에 가입 할 수 있다. 즉, 에니캐스트 그룹에 가입된 로케이션 서버(140, 150)는 서비스 서버(130, 135)에서 생성된 상태 업데이트 메시지를 독점적으로 수신할 수 있다. 다시 말해, 에니캐스트 그룹에 가입되지 않은 로케이션 서버(140, 150)는 멀티캐스트에 의한 다른 로케이션 서버(140, 150)를 경유하여야만 서비스 서버(130, 135)로부터의 상태 업데이트 메시지를 수신할 수 있다.
본 명세서에서는 상기 에니캐스트 그룹의 가입 조건을 제한할 수 있으며, 예컨대 리플리케이션 그룹에 속하는 대부분의 로케이션 서버가 이미 보유하는 상태 업데이트 메시지를 모두 보유하는 로케이션 서버(140, 150) 만이 제한적으로 에니캐스트 그룹에 등록할 수 있도록 한다. 에니캐스트 그룹에 가입된 로케이션 서버(140, 150)로 수신되는 상태 업데이트 메시지는, 해당 로케이션 서버(140, 150)가 포함되는 리플리케이션 그룹(160), 즉 해당 로케이션 서버(140, 150)가 등록한 멀티캐스트 그룹에 속하는 모든 로케이션 서버(140, 150)에게 전달될 수 있다(멀티캐스트).
이하에서는 서비스 서버(130, 135)로부터 수신되는 상태 업데이트 메시지를 로케이션 서버(140, 150)에 전달하는 것에 대해 구체적인 일례를 예시하며 설명한다.
사용자(110, 115)들이 자신의 사용자 단말(120, 125) 및 통신망(170)을 통하여 자신이 플레이하고 싶은 게임 서비스를 제공하는 서비스 서버(130, 135)에 접속하면, 서비스 서버(130, 135)는 로그인 메시지 또는 로그아웃 메시지(상태 업데이트 메시지)를 리플리케이션 그룹(160)에 포함된 로케이션 서버(140, 150) 중에서 하나의 로케이션 서버(140, 150)에 송신한다. 이때, 상태 업데이트 메시지를 서비스 서버(130, 135)로부터 직접 수신하는 로케이션 서버(140, 150)는 에니캐스트 그룹에 가입된 로케이션 서버(140, 150)로 제한할 수 있다.
상기 상태 업데이트 메시지는 사용자(110, 115)의 사용자 식별자, 상기 사용자(110, 115)의 로그인/로그아웃 상태, 및 사용자(110, 115)가 접속하는 서비스 서버의 위치 정보 등을 포함할 수 있다. 사용자 식별자는 사용자(110, 115)를 식별하기 위한 것으로, 예를 들어, 서비스 서버(130, 135)에 로그인/로그아웃을 한 사용자(110, 115)가 로그인 시에 사용한 사용자 식별자를 이용할 수 있다. 상기 로그인/로그아웃 상태는 사용자(110, 115)가 서비스 서버(130, 135)에 로그인을 했는지 또는 로그아웃을 했는지에 관한 정보일 수 있다. 상기 위치 정보는 사용자(110, 115)가 어느 서비스 서버(130, 135)에 로그인을 했는지 또는 어느 서비스 서버(130, 135)에서 로그아웃을 했는지에 관한 정보일 수 있다. 상기 위치 정보는 사용자(110, 115)가 로그인/로그아웃을 한 서비스 서버(130, 135)에 관한 정보(서비스 서버의 IP 주소 또는 서비스 서버의 이름 등)일 수도 있고, 사용자가 로그인/로그아웃을 한 서비스 서버(130, 135)의 식별자(예를 들어, "고스톱", "포커", "훌라" 등)일 수도 있다. 이에 따라, 위치 정보는 전체 게임 서비스 환경에서 사용자(110, 115)가 가장 최근에 어느 서비스 서버(130, 135)에 로그인을 했는지 또는 어디에서 로그아웃을 했는지에 관한 정보를 제공할 수 있다.
상태 업데이트 메시지를 수신한 로케이션 서버(140, 150)는 상기 상태 업데이트 메시지를 리플리케이션 그룹(160)에 속하며 멀티캐스트 그룹에 가입된 다른 로케이션 서버(140, 150)에게 전달할 수 있다. 이때, 메시지를 전달하는 로케이션 서버(140, 150)는 멀티캐스트로서 수신한 상태 업데이트 메시지를 전달할 수 있다.
이러한 배경하에서 본 발명의 동적 서버 초기화 시스템(100)은, 리플리케이션 그룹(160)에 포함되는 로케이션 서버 중에서 리부팅되는 로케이션 서버, 또는 리플리케이션 그룹(160)으로 신규 등록하는 로케이션 서버를 리플리케이션 그룹(160)에 새로 조인하는 제2 로케이션 서버(150)로 판단하고, 제2 로케이션 서버(150)에 대해 초기화 처리를 수행한다. 여기서, 제2 로케이션 서버(150)의 초기화는 상기 리부팅되거나 신규 등록되는 로케이션 서버를 런(run) 상태가 되도록 하는 과정, 즉 리플리케이션 그룹(160)에 포함되는 기존 로케이션 서버(이하, 제1 로케이션 서버라 함)가 보유하는 상태 업데이트 메시지를 모두 덤프(dump)받고 에니캐스트 그룹으로의 등록에 의해 서비스 서버(130, 135)로부터 직접 상태 업데이트 메시지를 수신할 수 있는 상태로 제2 로케이션 서버(150)를 만들기 위한 과정을 지칭할 수 있다.
이하, 도 2를 참조하여 본 발명의 동적 서버 초기화 시스템(200)의 구체적인 구성을 설명한다.
도 2는 본 발명의 일실시예에 따른 동적 서버 초기화 시스템을 나타내는 구성도이다.
본 발명의 동적 서버 초기화 시스템(200)은 멀티캐스트 요청 발생 수단(210), 멀티캐스트 처리 수단(220), 덤프 요청 수단(230), 및 덤프 처리 수단(240)을 포함한다.
우선, 멀티캐스트 요청 발생 수단(210)은 하나 이상의 제1 로케이션 서버(140)로 구성되는 리플리케이션 그룹(160)에 제2 로케이션 서버(150)가 추가되는 경우, 제2 로케이션 서버(150)에서 제1 로케이션 서버(140)로 리플리케이션 그룹(160)과 연관된 멀티캐스트 그룹으로의 등록을 요청한다. 여기서, 제1 로케이션 서버(140)는 이미 멀티캐스트 그룹에 가입되어 있으며 할당된 메시지 풀(massage)에 저장되는 상태 업데이트 메시지를 동일한 리플리케이션 그룹(160)에 포함되는 다른 로케이션 서버로 전달하는 로케이션 서버를 의미할 수 있다. 또한, 제1 로케이션 서버(140)는 에니캐스트 그룹에 가입될 수 있으며 서비스 서버(130, 135)로부터 직접 수신한 상태 업데이트 메시지를 멀티캐스트 그룹의 다른 로케이션 서버(140, 150)에 전달할 수 있다. 제2 로케이션 서버(150)는 리플리케이션 그룹(160)에 포함되는 로케이션 서버 중에서 장애로 인해 일시 다운(down)된 후 리부팅(rebooting)하는 로케이션 서버, 또는 리플리케이션 그룹(160)으로 신규 등록되는 로케이션 서버 등을 의미할 수 있다.
즉, 멀티캐스트 요청 발생 수단(210)은 로케이션 서버의 리부팅 또는 신규 등록에 의해 관련된 로케이션 서버(제2 로케이션 서버)에 대한 초기화가 요구되는 경우, 제2 로케이션 서버(150)의 멀티캐스트 그룹 가입과 관련한 멀티캐스트 등록 요청이 제2 로케이션 서버(150)에서 제1 로케이션 서버(140)로 전송되도록 제어한다. 이때 제1 로케이션 서버(140)는 저장공간인 메시지 풀을 포함하며, 상기 멀티캐스트 등록 요청이 발생한 시점까지 제1 로케이션 서버(140)로 전달된 상태 업데이트 메시지를 상기 메시지 풀에 누적하여 저장한다.
멀티캐스트 처리 수단(220)은 제1 로케이션 서버(140)에서 상기 제2 로케이션 서버(150)의 멀티캐스트 그룹의 등록이 완료된 후, 서비스 서버(130, 135)로부터 수신되는 상태 업데이트 메시지를 제2 로케이션 서버(150)에 전달한다. 상기 멀티캐스트 그룹으로의 등록은 예컨대, 제1 로케이션 서버(140)에 각각 할당되는 멀티캐스트 목록으로 제2 로케이션 서버(150)의 네트워크 주소를 등록하는 것일 수 있다. 즉, 멀티캐스트 처리 수단(220)은 상기 멀티캐스트 목록에 네트워크 주소가 등록된 제2 로케이션 서버(150)를 제1 로케이션 서버(140)가 속한 멀티캐스트 그룹으로 함께 가입시키고, 이후 서비스 서버(130, 135)로부터 수신되는 상태 업데이트 메시지를 제1 로케이션 서버(140)를 경유하여 제2 로케이션 서버(150)에 전달되도록 한다.
다만, 상기 멀티캐스트 그룹에 등록된 직후의 제2 로케이션 서버(150)는 에니캐스트 그룹에 가입이 되지 않는 상태이므로, 서비스 서버(130, 135)로부터 상태 업데이트 메시지를 직접 수신하지 않는다. 이러한 에니캐스트 그룹에 제2 로케이션 서버(150)가 가입하지 못하는 이유는, 제2 로케이션 서버(150)에 보유되는 상태 업데이트 메시지가 제2 로케이션 서버(150)의 멀티캐스트 그룹 가입 이후 서비스 서버(130, 135)로부터 수신된 상태 업데이트 메시지로 제한됨으로써 제2 로케이션 서버(150)가 자체적으로 상태 업데이트 메시지를 처리할 수 있는 런상태에 도달하지 못하기 때문이다. 즉, 후술하는 제1 로케이션 서버(140)로부터의 덤프가 완료되기 전까지 제2 로케이션 서버(150)는, 이미 에니캐스트 그룹에 가입된 제1 로케이션 서버(140)를 경유하여 서비스 서버(130, 135)로부터 상태 업데이트 메시지를 수신하고 이를 저장공간인 메시지 풀에 저장한다.
덤프 요청 수단(230)은 선정된 기준 시간이 경과된 경우, 제2 로케이션 서버(150)에서 제1 로케이션 서버(140)로 메시지 덤프를 요청하도록 제어한다. 여기서, 기준 시간은 예컨대, 멀티캐스트 그룹에 가입된 제2 로케이션 서버(150)에서 정상적인 상태 업데이트 메시지의 수신이 가능하지를 판단하는 데에 소요되는 시간일 수 있으며, 본 시스템의 운영자에 의해 경험적으로 최적하다고 판단되는 시간이 유연하게 설정될 수 있다(예, 등록 완료 시점 이후에 10초 동안을 기준 시간으로 설정함).
즉, 덤프 요청 수단(230)은 제2 로케이션 서버(150)가 멀티캐스트 그룹에 등록한 이후, 상기 선정된 기준 시간 동안 상태 업데이트 메시지를 제2 로케이션 서버(150)에서 수신 함으로써 리플리케이션 그룹에 조인(join)하는 제2 로케이션 서버(150)에 대한 이상 여부를 확인하고 정상적인 제2 로케이션 서버(150)에 한하여 메시지 덤프를 요청할 수 있다. 만약, 상기 기준 시간 이내에 전달된 상태 업데이트 메시지를 제2 로케이션 서버(150)가 정상적으로 수신하지 않는 경우, 덤프 요청 수단(230)은 예컨대, 서버 이상 메시지를 본 시스템의 운영자에게 통지하고, 로케이션 서버의 교체 등의 조치가 이루어지도록 할 수 있다.
이하, 본 발명의 다른 실시예로서, 상기 기준 시간 대신에, 상태 업데이트 메시지가 수신하는 기준 횟수를 고려하여 메시지 덤프를 요청하는 것에 대해 설명한다.
이를 위해, 본 발명의 동적 서버 초기화 시스템(200)은 메시지 카운트 수단 (250)을 더 포함할 수 있다. 메시지 카운트 수단(250)은 제2 로케이션 서버(150)의 멀티캐스트 그룹 등록이 완료된 후, 제1 로케이션 서버(140)에서 제2 로케이션 서버(150)로 상태 업데이트 메시지가 전달되는 횟수를 카운트한다.
이후, 메시지 카운트 수단(250)에 의해 카운트된 횟수가 선정된 기준 횟수를 만족하는 경우, 덤프 요청 수단(230)은 제2 로케이션 서버(150)에서 제1 로케이션 서버(140)로 메시지 덤프를 요청하도록 제어할 수 있다. 여기서, 기준 횟수는 예컨대, 멀티캐스트 그룹에 가입된 제2 로케이션 서버(150)에서 소정 개의 상태 업데이트 메시지를 정상적으로 수신하는 경우, 해당 제2 로케이션 서버(150)에 이상이 없음을 판단할 수 있는 상태 업데이트 메시지의 수신 횟수일 수 있으며, 본 시스템의 운영자에 의해 경험적으로 최적하다고 판단되는 횟수가 유연하게 설정될 수 있다(예, 등록 완료 시점 이후에 5회 수신을 기준 횟수로 설정함).
즉, 덤프 요청 수단(230)은 제2 로케이션 서버(150)의 멀티캐스트 그룹 등록 이후, 선정된 기준 횟수(예, 5회) 만큼, 상태 업데이트 메시지를 정상적으로 수신하는 제2 로케이션 서버(150)를 이상이 없는 것으로 판단하고, 제1 로케이션 서버(140)에 메시지 덤프를 요청할 수 있다. 동일하게, 상기 기준 횟수 만큼, 상태 업데이트 메시지를 수신하지 못하는 제2 로케이션 서버(150)에 대해서, 덤프 요청 수단(230)은 예컨대, 서버 이상 메시지를 본 시스템의 운영자에게 통지할 수 있다.
덤프 처리 수단(240)은 메시지 덤프 요청에 따라 제1 로케이션 서버(140)에서 메시지 풀에 저장된 상태 업데이트 메시지를 제2 로케이션 서버(150)로 덤프한다. 즉, 덤프 처리 수단(240)은 이상이 없는 것으로 판단된 제2 로케이션 서버 (150)로, 제1 로케이션 서버(140)에 보유하는 모든 상태 업데이트 메시지를 덤프(복사)함으로써 제1 로케이션 서버(140)와 제2 로케이션 서버(150)가 동일한 상태 업데이트 메시지를 보유하도록 한다. 즉, 덤프 처리 수단(240)은 제2 로케이션 서버(150)를 제1 로케이션 서버(140)가 속한 리플리케이션 그룹(160)에 조인(join)하도록 하여 제2 로케이션 서버(150)에 대한 초기화 과정이 완료되도록 하는 역할을 한다.
특히, 덤프 처리 수단(240)은 상태 업데이트 메시지에 포함하는 타임스탬프(time-stamp)를 이용하여 제1 로케이션 서버(140)의 메시지 풀에 보유하는 상태 업데이트 메시지 중에서 제2 로케이션 서버(150)로 덤프할 상태 업데이트 메시지를 선택한다. 상기 타임스탬프는 서비스 서버(130, 135)로부터 상태 업데이트 메시지가 수신되는 시각과 관련하여 생성되며, 상기 메시지 풀에서 상태 업데이트 메시지에 대응하여 저장될 수 있다. 즉, 덤프 처리 수단(240)은 타임스탬프를 고려하여 특정 시각에 제1 로케이션 서버(140)로 수신된 상태 업데이트를 복사할 상태 업데이트 메시지로서 선택할 수 있다.
예를 들어, 덤프 처리 수단(240)은 메시지 덤프가 요청되는 시점에, 제1 로케이션 서버(140)로부터 상태 업데이트 메시지가 전달되는 경우, 해당 상태 업데이트 메시지를 덤프 대상에서 제외할 수 있다. 즉, 덤프 처리 수단(240)은 멀티캐스트에 의해 상태 업데이트 메시지가 제1 로케이션 서버(140)로부터 전달되는 도중에 메시지 덤프가 요청되는 경우, 제1 로케이션 서버(140)의 메시지 풀에 저장되는 상태 업데이트 메시지 중에서 상기 메시지 덤프가 요청된 시점보다 앞서는 타임스탬 프의 상태 업데이트 메시지를 덤프 대상으로 결정하여 제2 로케이션 서버(150)로 덤프할 수 있다.
또한, 덤프 처리 수단(240)은 메시지 덤프가 요청되는 시점에, 제1 로케이션 서버(140)로부터 상태 업데이트 메시지가 전달되지 않거나, 또는 상태 업데이트 메시지의 제2 로케이션 서버(150) 전달과 무관하게, 제1 로케이션 서버(140)의 메시지 풀에 저장된 모든 상태 업데이트 메시지를 제2 로케이션 서버로 덤프할 수도 있다.
따라서, 본 발명에 따르면 안정적으로 메시지 수신 기능을 발휘하는 로케이션 서버에 대해서만 메시지 덤프를 허용함으로써 로케이션 서버의 초기화 과정에서의 상태 업데이트 메시지 누락을 배제한 정교한 초기화 과정을 지원할 수 있다.
또한, 덤프 처리 수단(240)은 제2 로케이션 서버(150)로의 덤프 완료 후, 메시지 풀에 저장되는 상태 업데이트 메시지 중에서 중복되는 메시지를 제거할 수 있다. 제2 로케이션 서버(150)의 메시지 풀에는 제2 로케이션 서버(150)가 멀티캐스트 그룹의 등록 이후 서비스 서버(130, 135)로부터 수신되는(제1 로케이션 서버(140)를 경유하여) 상태 업데이트 메시지가 유지되고, 더불어 메시지 덤프의 요청 후 제1 로케이션 서버(140)로부터 상태 업데이트 메시지가 덤프되어 저장된다. 이에 따라, 제2 로케이션 서버(150)의 메시지 풀에는 동일한 상태 업데이트 메시지가 중복하여 저장될 수 있고, 덤프 처리 수단(240)은 이러한 중복된 상태 업데이트 메시지를 식별하여 하나의 상태 업데이트 메시지 만이 메시지 풀에 유지되도록 상태 업데이트 메시지에 대한 저장 관리를 한다. 즉, 덤프 처리 수단(240)은 멀티캐스 트 그룹으로의 등록이 완료된 후, 제2 로케이션 서버(150)에서 서비스 서버(130, 135)로부터 수신된 상태 업데이트 메시지를 중복된 상태 업데이트 메시지로 식별하여 제2 로케이션 서버(150)의 메시지 풀에서 제거할 수 있다.
따라서, 본 발명에 따르면, 불필요하게 중복하여 저장된 상태 업데이트 메시지를 제거함으로써 제2 로케이션 서버(150)의 메시지 풀을 최적화할 수 있다.
이상에서 살펴본 바와 같이, 본 발명의 동적 서버 초기화 시스템(200)은, 리플리케이션 그룹(160)으로 새롭게 조인(join)하는 로케이션 서버에 대해서, 멀티캐스트 그룹의 등록, 선정된 기준 시간의 경과 또는 선정된 기준 횟수의 메시지 수신 대기, 메시지 덤프 등 일련의 과정을 통해, 유연한 초기화 과정을 지원한다. 이에 따라, 본 발명에 의하면 메시지 덤프 도중에 멀티캐스트에 의해 제2 로케이션 서버(150)로 수신하는 상태 업데이트 메시지를 안정적으로 제2 로케이션 서버(150)의 메시지 풀에 저장하는 효과를 얻을 수 있다.
이후, 동적 서버 초기화 시스템(200)은 메시지 덤프가 완료된 제2 로케이션 서버(150)에 대해 서비스 서버(130, 135)로 에니캐스트 그룹으로의 등록을 요청하고, 서비스 서버(130, 135)에서 에니캐스트 그룹으로의 등록이 완료된 후, 서비스 서버(130, 135)로부터 직접적인 상태 업데이트 메시지의 수신을 허용한다. 이에 따라, 제2 로케이션 서버는 상태 업데이트 메시지에 대한 신호 처리를 자체적으로 수행할 수 있는 런상태가 되며, 런상태인 제2 로케이션 서버(150)는 에니캐스트에 의해 서비스 서버(130, 135)로부터 직접 수신한 상태 업데이트 메시지를 자신이 소속한 멀티캐스트 그룹 내의 제1 로케이션 서버(140)로 전달되도록 제어할 수 있다.
도 3은 본 발명에 따른 제1 로케이션 서버와 제2 로케이션 서버 간의 메시지 교환의 일례를 나타내는 도면이다.
도 3에서는 설명의 편의를 위해, 제2 로케이션 서버의 상태를 'Init state', 'Dump state' 및 'Run state' 로 구분하여 설명한다.
우선, 'Init state'에서 제2 로케이션 서버(150)는 멀티캐스트 그룹으로의 등록과 관련한 요청 신호인 'LCS_REQUEST_INIT'를 제1 로케이션 서버(140)로 전송한다. 'LCS_REQUEST_INIT'은 리플리케이션 그룹(160)에 포함되는 하나 이상의 제1 로케이션 서버(140) 중에서 런상태(Run state)의 제1 로케이션 서버(140)를 확인하기 위한 멀티캐스트 등록 요청 신호(ip multicast)이다.
상기 'LCS_REQUEST_INIT'를 수신한 제1 로케이션 서버(140)는 제2 로케이션 서버(150)를 멀티캐스트 그룹으로의 가입을 허용하는 응답 신호인 'LCS_RESPONSE_INIT'를 제2 로케이션 서버(150)로 전송한다. 즉, 제1 로케이션 서버(140)는 서비스 서버(130, 135)로부터 직접 수신한 상태 업데이트 메시지가 제2 로케이션 서버(150)에도 전달되도록, 제2 로케이션 서버(150)를 멀티캐스트 그룹에 등록하고 이와 관련한 'LCS_RESPONSE_INIT'를 생성하여 제2 로케이션 서버로 전송한다. 이때, 'LCS_RESPONSE_INIT'에는 제1 로케이션 서버(140)의 네트워크 주소(ip multicast)로서 IP 또는 TCP Port 주소를 포함할 수 있다. 이에 따라, 제2 로케이션 서버(150)는 제1 로케이션 서버(140)가 속하는 멀티캐스트 그룹에 가입되며, 제1 로케이션 서버(140)를 경유한 상태 업데이트 메시지의 수신이 가능하다.
상기 멀티캐스트 그룹의 등록 후, 소정의 기준 시간(예, 10초) 동안 제2 로 케이션 서버(150)는 멀티캐스트에 의한 상태 업데이트 메시지를 수신한다. 상기 기준 시간은 제2 로케이션 서버(150)의 이상 여부를 판단하는 데에 필요한 시간으로, 제2 로케이션 서버(150)는 상기 기준 시간 동안 소정 개의 상태 업데이트 메시지를 수신함으로써 제2 로케이션 서버(150)가 이상이 없음을 증명할 수 있다.
이후, 'Dump state'에서 제2 로케이션 서버(150)는 메시지 덤프와 관련한 요청 신호인 'LCS_REQUEST_DUMP'를 제1 로케이션 서버(140)로 전송한다. 'LCS_REQUEST_DUMP'는 런상태인 제1 로케이션 서버(140)에게 메시지 풀에 저장되는 상태 업데이트 메시지 및 상태 업데이트 메시지를 덤프하는 채널에 대한 메시지 덤프를 요청하는 신호이다. 'LCS_REQUEST_DUMP'는 상기 기준 시간 중에 수신하는 상태 업데이트 메시지를 정상적으로 수신하여 이상 없는 것을 판단되는 제2 로케이션 서버(150)에서 생성되도록 제어할 수 있다.
상기 'LCS_REQUEST_DUMP'를 수신한 제1 로케이션 서버(140)는 메시지 덤프와 관련하여, 도 3에 도시한 것과 같은 'LCS_RESPONSE_USER_DUMP', 'LCS_RESPONSE_CHNL_DUMP', 'LCS_RESPONSE_SYNCED' 등 세 개의 응답 신호를 제2 로케이션 서버(150)에 연속적으로 전송한다.
여기서, 'LCS_RESPONSE_USER_DUMP'는 'LCS_REQUEST_DUMP'에 대한 응답으로 상태 업데이트 메시지의 메시지 덤프 개시(동작)와 관련한 신호이다. 또한, 'LCS_RESPONSE_CHNL_DUMP'는 'LCS_REQUEST_DUMP'에 대한 응답으로 상태 업데이트 메시지가 덤프하는 채널의 상태 정보와 관련한 신호이다. 또한, 'LCS_RESPONSE_SYNCED'는 'LCS_REQUEST_DUMP'에 대한 응답으로 제1 로케이션 서버 (140)로부터의 메시지 덤프가 완료함을 통지하는 신호이다.
즉, 상기 'LCS_REQUEST_DUMP'를 수신한 제1 로케이션 서버(140)는, 메시지 덤프의 시작, 진행, 종료에 관한 상태 정보를 제2 로케이션 서버(150)로 전송한다. 이에 따라, 메시지 덤프가 완료된 제2 로케이션 서버(150)는 제1 로케이션 서버(140)와 상태가 동일하게 런상태가 되며, 메시지에 대한 자체적인 신호 처리가 가능할 수 있다.
'Run state'에서의 제2 로케이션 서버(150)는 에니캐스트 그룹으로의 등록이 허용되며, 등록된 이후 서비스 서버(130, 135)로부터 상태 업데이트 메시지를 직접 수신할 수 있고, 수신된 상태 업데이트 메시지를 멀티캐스트에 의해 제1 로케이션 서버(140)로 전달할 수 있다.
이하, 본 발명의 실시예에 따른 동적 서버 초기화 시스템(200)의 작업 흐름을 상세히 설명한다.
도 4는 본 발명의 일실시예에 따른 동적 서버 초기화 방법을 구체적으로 도시한 작업 흐름도이다.
본 발명의 동적 서버 초기화 방법은 상술한 동적 서버 초기화 시스템(200)에 의해 수행된다.
우선, 동적 서버 초기화 시스템(200)은 하나 이상의 제1 로케이션 서버(140)로 구성되는 리플리케이션 그룹(160)에 제2 로케이션 서버(150)가 추가되는 경우, 제2 로케이션 서버(150)에서 제1 로케이션 서버(140)로 리플리케이션 그룹(160)과 연관된 멀티캐스트 그룹으로의 등록을 요청한다(S410). 본 단계(S410)는 리플리케 이션 그룹(160)에 포함되는 로케이션 서버(140, 150) 중에서 예컨대, 시스템 장애에 따라 일시적으로 다운된 후 다시 부팅하는 로케이션 서버를 제2 로케이션 서버(150)로 결정하고, 해당 제2 로케이션 서버(150)에 대한 멀티캐스트 그룹의 등록을 요청하는 과정이다. 또한, 동적 서버 초기화 시스템(200)은 리플리케이션 그룹(160)으로 새로운 로케이션 서버를 포함하는 경우에도, 해당 로케이션 서버를 제2 로케이션 서버(150)로 결정할 수 있다.
즉, 본 단계(S410)의 동적 서버 초기화 시스템(200)은 리플리케이션 그룹(160)에서 리부팅 신호 또는 서버 추가 신호가 발생함에 따라, 상기 발생한 신호와 관련되는 제2 로케이션 서버(150)를 멀티캐스트 그룹에 가입시키기 위한 등록 요청을 제2 로케이션 서버(150)에서 제1 로케이션 서버(140)로 전송한다.
또한, 동적 서버 초기화 시스템(200)은 제1 로케이션 서버(140)에서 등록이 완료된 후 서비스 서버(130, 135)로부터 수신되는 상태 업데이트 메시지를 제2 로케이션 서버(150)에 전달되도록 제어한다(S420). 본 단계(S420)는 멀티캐스트 그룹에 가입한 제2 로케이션 서버(150)로 상태 업데이트 메시지를 전달하는 과정으로, 제1 로케이션 서버(140)를 경유하여 서비스 서버(130, 135)로부터의 상태 업데이트 메시지를 수신하는 과정이다. 이때, 제1 로케이션 서버(140)는 에니캐스트 그룹에 등록되어 있는 상태이므로, 서비스 서버(130, 135)로부터 상태 업데이트 메시지를 직접 수신하여, 멀티캐스트에 의해 제2 로케이션 서버(150)에 전달할 수 있다.
다음으로, 동적 서버 초기화 시스템(200)은 선정된 기준 시간이 경과된 경 우, 제2 로케이션 서버(150)에서 제1 로케이션 서버(140)로 메시지 덤프를 요청한다(S430). 본 단계(S430)는 메시지 덤프의 요청 시점을 식별하기 위한 과정으로, 상기 기준 시간 동안 제2 로케이션 서버(150)에서 정상적인 메시지 수신이 이루어지는가를 확인한 후 제2 로케이션 서버(150)에 이상이 없다고 판단되는 경우에 메시지 덤프의 요청이 이루어지도록 한다. 즉, 동적 서버 초기화 시스템(200)은 제2 로케이션 서버(150)가 리플리케이션 그룹(160)에 조인(join)하기 이전에 서비스 서버(130, 135)로부터 수신한 상태 업데이트 메시지(제1 로케이션 서버(140)에서 보유하는 상태 업데이트 메시지)를 제2 로케이션 서버(150)에 복사할 수 있도록 관련된 요청 신호를 제2 로케이션 서버(150)에서 제1 로케이션 서버(140)로 전송한다.
더불어, 본 단계(S430)에서 동적 서버 초기화 시스템(200)은 상기 기준 시간을 대신하여, 기준 횟수를 이용하여도 상기 메시지 덤프의 요청 시점을 식별할 수 있다. 즉, 동적 서버 초기화 시스템(200)은 멀티캐스트 그룹에 등록된 제2 로케이션 서버(150)가 정상적으로 상기 기준 횟수 만큼 상태 업데이트 메시지를 수신함에 따라 해당 제2 로케이션 서버(150)가 이상이 없음을 판단하고 메시지 덤프를 요청할 수 있다. 이와 관련한 상세한 설명은 상술한 것으로 갈음하고 여기서는 생략한다.
또한, 동적 서버 초기화 시스템(200)은 메시지 덤프 요청에 따라 제1 로케이션 서버(140)에서 메시지 풀에 저장된 상태 업데이트 메시지를 제2 로케이션 서버(150)로 덤프한다(S440). 본 단계(S440)는 리플리케이션 그룹에 조인(join)한 제2 로케이션 서버(150)를 제1 로케이션 서버(140)와 동일한 상태, 즉 메시지 풀에 보 유하는 상태 업데이트 메시지를 동일하게 되도록 하는 과정이다.
특히, 본 단계(S440)에서 동적 서버 초기화 시스템(200)은 덤프가 이루어지는 도중에, 제1 로케이션 서버(140)로부터 멀티캐스트에 의한 상태 업데이트 메시지의 전달이 동시에 이루어지는가를 판단하고, 그 결과에 따라 제1 로케이션 서버(140)에 저장된 상태 업데이트 메시지를 선택적으로 덤프할 수 있다. 이를 위해 상태 업데이트 메시지에는 수신 시간과 관련한 타임스탬프를 포함하고 있으며, 동적 서버 초기화 시스템(200)은 상기 타임스탬프를 고려하여 가장 최근에 저장되는 상태 업데이트 메시지, 즉 멀티캐스트에 의해 현재 전달되고 있는 상태 업데이트 메시지를 제외한 잔여 상태 업데이트 메시지를 제1 로케이션 서버(140)의 메시지 풀에서 추출하여 제2 로케이션 서버로 덤프할 수 있다.
또한, 본 단계(S440)에서 동적 서버 초기화 시스템(200)은 메시지 덤프가 이루어지는 시점에서 제1 로케이션 서버(140)의 메시지 풀에 저장되는 모든 상태 업데이트 메시지를 제2 로케이션 서버(150)로 덤프할 수 있다.
계속해서, 동적 서버 초기화 시스템(200)은 제2 로케이션 서버(150)에서 상기 업데이트 메시지에 대한 덤프 완료 후, 제2 로케이션 서버(150)의 메시지 풀에 중복하여 저장되는 상태 업데이트 메시지를 식별하고 하나의 상태 업데이트 메시지 만이 유지되도록 제어한다(S450). 상기 중복된 상태 업데이트 메시지가 발생하는 것은 제2 로케이션 서버(150)가 멀티캐스트 그룹에 등록 이후, 멀티캐스트에 의해 전달받은 상태 업데이트 메시지는 제1 로케이션 서버(140)에도 역시 유지되는 것에 기인한다. 즉, 제1 로케이션 서버(140)에서 메시지 덤프되는 상태 업데이트 메시 지 중에는, 멀티캐스트에 의해 제2 로케이션 서버(150)에서 이미 수신한 상태 업데이트 메시지가 포함될 수 있다. 이에 따라, 본 단계(S450)에서의 동적 서버 초기화 시스템(200)은 멀티캐스트 그룹으로의 등록이 완료된 후, 제2 로케이션 서버(150)에서 서비스 서버(130, 135)로부터 수신된 상태 업데이트 메시지를 중복된 상태 업데이트 메시지로서 제거할 수 있다.
또한, 동적 서버 초기화 시스템(200)은 덤프를 완료한 경우, 제2 로케이션 서버(150)에서 서비스 서버(130, 135)로 에니캐스트 그룹으로의 등록을 요청한다(S460). 본 단계(S460)는 서비스 서버(130, 135)로부터 수신되는 상태 업데이트 메시지를 제2 로케이션 서버(150)에서 직접 수신할 수 있도록 서비스 서버(130, 135)에 등록 요청을 전송하는 과정이다.
다음으로, 동적 서버 초기화 시스템(200)은 서비스 서버(130, 135)에서 제2 로케이션 서버(150)의 에니캐스트 그룹 등록을 완료한 후, 서비스 서버(130, 135)로부터 직접 수신하는 상태 업데이트 메시지를 멀티캐스트 그룹 내의 제1 로케이션 서버(140)로 전달한다(S470). 본 단계(S470)는 제2 로케이션 서버(150)를 런상태로 유지하며, 서비스 서버(130, 135)에서 상태 업데이트 메시지를 직접 수신하고, 수신한 상태 업데이트 메시지를 멀티캐스트에 의해 다른 로케이션 서버로 전달하는 과정이다.
따라서, 본 발명에 따르면, 리플리케이션 그룹으로 새로운 로케이션 서버를 조인(join)하는 데에 있어서, 초기화 도중에 서비스 서버(130, 135)로부터 수신하는 상태 업데이트 메시지가 누락되지 않게 최적한 메시지 덤프의 수행을 보장할 수 있다.
본 발명의 실시예들은 다양한 컴퓨터로 구현되는 동작을 수행하기 위한 프로그램 명령을 포함하는 컴퓨터 판독 가능 매체를 포함한다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체는 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM, DVD와 같은 광기록 매체, 플롭티컬 디스크와 같은 자기-광 매체, 및 롬, 램, 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 상기 매체는 프로그램 명령, 데이터 구조 등을 지정하는 신호를 전송하는 반송파를 포함하는 광 또는 금속선, 도파관 등의 전송 매체일 수도 있다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다.
도 5는 본 발명에 따른 동적 서버 초기화 방법을 수행하는 데 채용될 수 있는 범용 컴퓨터 장치의 내부 블록도이다.
컴퓨터 장치(500)는 램(RAM: Random Access Memory)(520)과 롬(ROM: Read Only Memory)(530)을 포함하는 주기억장치와 연결되는 하나 이상의 프로세서(510)를 포함한다. 프로세서(510)는 중앙처리장치(CPU)로 불리기도 한다. 본 기술분야에서 널리 알려져 있는 바와 같이, 롬(530)은 데이터(data)와 명령(instruction)을 단방향성으로 CPU에 전송하는 역할을 하며, 램(520)은 통상적으로 데이터와 명령을 양방향성으로 전송하는 데 사용된다. 램(520) 및 롬(530)은 컴퓨터 판독 가능 매체의 어떠한 적절한 형태를 포함할 수 있다. 대용량 기억장치(Mass Storage)(540)는 양방향성으로 프로세서(510)와 연결되어 추가적인 데이터 저장 능력을 제공하며, 상기된 컴퓨터 판독 가능 기록 매체 중 어떠한 것일 수 있다. 대용량 기억장치(540)는 프로그램, 데이터 등을 저장하는데 사용되며, 통상적으로 주기억장치보다 속도가 느린 하드 디스크와 같은 보조기억장치이다. CD 롬(560)과 같은 특정 대용량 기억장치가 사용될 수도 있다. 프로세서(510)는 비디오 모니터, 트랙볼, 마우스, 키보드, 마이크로폰, 터치스크린 형 디스플레이, 카드 판독기, 자기 또는 종이 테이프 판독기, 음성 또는 필기 인식기, 조이스틱, 또는 기타 공지된 컴퓨터 입출력장치와 같은 하나 이상의 입출력 인터페이스(550)와 연결된다. 마지막으로, 프로세서(510)는 네트워크 인터페이스(570)를 통하여 유선 또는 무선 통신 네트워크에 연결될 수 있다. 이러한 네트워크 연결을 통하여 상기된 방법의 절차를 수행할 수 있다. 상기된 장치 및 도구는 컴퓨터 하드웨어 및 소프트웨어 기술 분야의 당업자에게 잘 알려져 있다.
상기된 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있다.
지금까지 본 발명에 따른 구체적인 실시예에 관하여 설명하였으나, 본 발명의 범위에서 벗어나지 않는 한도 내에서는 여러 가지 변형이 가능함은 물론이다. 그러므로, 본 발명의 범위는 설명된 실시예에 국한되어 정해져서는 안되며, 후술하 는 특허청구범위뿐 아니라 이 특허청구범위와 균등한 것들에 의해 정해져야 한다.
이상의 설명에서 알 수 있는 바와 같이, 본 발명에 따르면, 리플리케이션 그룹으로 새로운 로케이션 서버를 조인(join)하는 데에 있어서, 초기화 도중에 게임 서버로부터 수신하는 상태 업데이트 메시지를 누락하지 않도록 최적한 메시지 덤프의 수행을 보장하는 동적 서버 초기화 방법 및 시스템을 제공할 수 있다.
또한, 본 발명에 따르면, 정상적으로 메시지 수신 기능을 발휘하는 로케이션 서버에 대해서만 메시지 덤프를 허용함으로써 로케이션 서버의 초기화 과정에서의 안정적인 메시지 덤프를 지원하는 동적 서버 초기화 방법 및 시스템을 제공할 수 있다.
또한, 본 발명에 따르면, 불필요하게 중복하여 저장되는 상태 업데이트 메시지를 제거함으로써 로케이션 서버의 메시지 풀을 최적화하는 동적 서버 초기화 방법 및 시스템을 제공할 수 있다.

Claims (17)

  1. 로케이션 서버의 초기화 방법에 있어서,
    하나 이상의 제1 로케이션 서버로 구성되는 리플리케이션 그룹에 제2 로케이션 서버가 추가되는 경우, 상기 제1 로케이션 서버로 상기 리플리케이션 그룹과 연관된 멀티캐스트(multicast) 그룹으로의 등록을 요청하는 단계;
    상기 제1 로케이션 서버에서 상기 등록이 완료된 후, 소정의 서비스 서버로부터 수신되는 상태 업데이트 메시지를 상기 제2 로케이션 서버에 전달하는 단계;
    상기 제1 로케이션 서버로 메시지 덤프(dump)를 요청하는 단계; 및
    상기 메시지 덤프 요청에 따라 상기 제1 로케이션 서버에서 보유하던 상태 업데이트 메시지를 상기 제2 로케이션 서버로 덤프하는 단계
    를 포함하는 것을 특징으로 하는 동적 서버 초기화 방법.
  2. 제1항에 있어서,
    상기 제1 로케이션 서버는 상기 서비스 서버로부터 수신되는 상태 업데이트 메시지를 저장하는 메시지 풀을 포함하고,
    상태 업데이트 메시지를 상기 제2 로케이션 서버로 덤프하는 상기 단계는,
    상기 메시지 풀에 저장된 상태 업데이트 메시지 중에서 적어도 일부를 상기 제2 로케이션 서버로 덤프하는 것을 특징으로 하는 동적 서버 초기화 방법.
  3. 제2항에 있어서,
    상기 상태 업데이트 메시지에는 상기 서비스 서버로부터의 상태 업데이트 메시지의 수신 시각과 관련한 타임스탬프를 포함하며,
    상태 업데이트 메시지를 상기 제2 로케이션 서버로 덤프하는 상기 단계는,
    상기 메시지 덤프가 요청된 시점에서 상기 제1 로케이션 서버에 의한 상기 상태 업데이트 메시지의 전달이 있는지를 판단하는 단계; 및
    상기 전달이 있는 것으로 판단하는 경우, 상기 타임스탬프에 기초하여, 상기 메시지 풀에 가장 최근에 저장되는 상태 업데이트 메시지를 제외한 잔여 상태 업데이트 메시지를 상기 제2 로케이션 서버로 덤프하는 단계
    를 포함하는 것을 특징으로 하는 동적 서버 초기화 방법.
  4. 제2항에 있어서,
    상태 업데이트 메시지를 상기 제2 로케이션 서버로 덤프하는 상기 단계는,
    상기 메시지 덤프가 요청되기 이전에 상기 메시지 풀에 저장된 모든 상태 업데이트 메시지를 상기 제2 로케이션 서버로 덤프하는 것을 특징으로 하는 동적 서버 초기화 방법.
  5. 제1항에 있어서,
    상기 제2 로케이션 서버에서 상기 상태 업데이트 메시지에 대한 덤프 완료 후, 중복하여 유지하는 상태 업데이트 메시지를 제거하는 단계
    를 더 포함하는 것을 특징으로 하는 동적 서버 초기화 방법.
  6. 제5항에 있어서,
    중복하여 덤프되는 상태 업데이트 메시지를 제거하는 상기 단계는,
    상기 멀티캐스트 그룹으로의 등록이 완료된 후, 상기 제2 로케이션 서버에서 상기 서비스 서버로부터 수신된 상태 업데이트 메시지를 상기 중복된 상태 업데이트 메시지로서 제거하는 것을 특징으로 하는 동적 서버 초기화 방법.
  7. 제1항에 있어서,
    상기 리플리케이션 그룹으로의 상기 제2 로케이션 서버 추가는,
    상기 리플리케이션 그룹에서 소정의 리부팅(rebooting) 신호 또는 소정의 서버 추가 신호의 발생을 확인하는 단계; 및
    상기 발생이 확인된 상기 리부팅 신호 또는 상기 서버 추가 신호와 관련한 로케이션 서버를 상기 제2 로케이션 서버로 식별하는 단계
    를 수행하여 이루어지는 것을 특징으로 하는 동적 서버 초기화 방법.
  8. 제1항에 있어서,
    상기 덤프를 완료한 경우, 상기 제2 로케이션 서버에서 상기 서비스 서버로 에니캐스트(anycast) 그룹으로의 등록을 요청하는 단계 - 상기 에니캐스트는 상기 서비스 서버로부터 상태 업데이트 메시지의 직접 수신과 연관됨 -; 및
    상기 서비스 서버에서 상기 등록이 완료된 후, 상기 서비스 서버로부터 직접 수신하는 상태 업데이트 메시지를 상기 멀티캐스트 그룹 내의 제1 로케이션 서버로 전달하는 단계
    를 더 포함하는 것을 특징으로 하는 동적 서버 초기화 방법.
  9. 제1항에 있어서,
    상기 리플리케이션 그룹은 상기 상태 업데이트 메시지의 수신에 연동하여 사용자의 위치 정보 또는 상기 사용자의 동시 접속에 관한 정보를 생성하여 상기 서비스 서버에 통지하는 것을 특징으로 하는 동적 서버 초기화 방법.
  10. 제1항에 있어서,
    상기 제2 로케이션 서버에서 상기 제1 로케이션 서버로 메시지 덤프를 요청하는 상기 단계는,
    상기 멀티캐스트 그룹으로의 등록이 완료된 후, 선정된(predetermined) 기준 시간이 경과되는 경우 상기 메시지 덤프를 요청하는 것을 특징으로 하는 동적 서버 초기화 방법.
  11. 제1항에 있어서,
    상기 제2 로케이션 서버에서 상기 제1 로케이션 서버로 메시지 덤프를 요청하는 상기 단계는,
    상기 멀티캐스트 그룹으로의 등록이 완료된 후, 상기 상태 업데이트 메시지가 전달되는 횟수를 카운트하는 단계; 및
    선정된(predetermined) 기준 횟수로 카운트하는 경우, 상기 제2 로케이션 서버에서 상기 제1 로케이션 서버로 메시지 덤프를 요청하는 단계
    를 포함하는 것을 특징으로 하는 동적 서버 초기화 방법.
  12. 제1항 내지 제11항 중 어느 한 항의 방법을 실행시키기 위한 프로그램을 기록한 컴퓨터 판독 가능한 기록 매체.
  13. 로케이션 서버의 초기화 시스템에 있어서,
    하나 이상의 제1 로케이션 서버로 구성되는 리플리케이션 그룹에 제2 로케이션 서버가 추가되는 경우, 상기 제1 로케이션 서버로 상기 리플리케이션 그룹과 연관된 멀티캐스트 그룹으로의 등록을 요청하는 멀티캐스트 요청 발생 수단;
    상기 제1 로케이션 서버에서 상기 등록이 완료된 후 소정의 서비스 서버로부터 수신되는 상태 업데이트 메시지를 상기 제2 로케이션 서버에 전달하는 멀티캐스트 처리 수단;
    상기 제1 로케이션 서버로 메시지 덤프(dump)를 요청하는 덤프 요청 수단; 및
    상기 메시지 덤프 요청에 따라 상기 제1 로케이션 서버에서 소정의 메시지 풀에 저장된 상태 업데이트 메시지를 상기 제2 로케이션 서버로 덤프하는 덤프 처 리 수단
    을 포함하는 것을 특징으로 하는 동적 서버 초기화 시스템.
  14. 제13항에 있어서
    상기 덤프 요청 수단은 상기 멀티캐스트 그룹으로의 등록이 완료된 후, 선정된(predetermined) 기준 시간이 경과되는 경우 상기 메시지 덤프를 요청하는 것을 특징으로 하는 동적 서버 초기화 시스템.
  15. 제13항에 있어서,
    상기 덤프 요청 수단은 상기 멀티캐스트 그룹으로의 등록이 완료된 후 상기 상태 업데이트 메시지가 전달되는 횟수를 카운트하고, 선정된(predetermined) 기준 횟수로 카운트하는 경우 상기 메시지 덤프를 요청하는 것을 특징으로 하는 동적 서버 초기화 시스템.
  16. 제13항에 있어서,
    상기 제2 로케이션 서버에서 상기 상태 업데이트 메시지에 대한 덤프 완료 후, 중복하여 덤프되는 상태 업데이트 메시지를 제거하는 중복메시지 제거 수단
    를 더 포함하는 것을 특징으로 하는 동적 서버 초기화 시스템.
  17. 제16항에 있어서,
    상기 중복메시지 제거 수단은,
    상기 멀티캐스트 그룹으로의 등록이 완료된 후, 상기 제2 로케이션 서버에서 상기 서비스 서버로부터 수신된 상태 업데이트 메시지를 상기 중복된 상태 업데이트 메시지로서 제거하는 것을 특징으로 하는 동적 서버 초기화 시스템.
KR1020050053978A 2005-06-22 2005-06-22 동적 서버 초기화 방법 및 시스템 KR100589437B1 (ko)

Priority Applications (4)

Application Number Priority Date Filing Date Title
KR1020050053978A KR100589437B1 (ko) 2005-06-22 2005-06-22 동적 서버 초기화 방법 및 시스템
PCT/KR2006/002409 WO2006137701A1 (en) 2005-06-22 2006-06-22 Dynamic initialization method and system of location server
JP2008518035A JP4726955B2 (ja) 2005-06-22 2006-06-22 動的サーバ初期化方法及びシステム
US11/993,196 US7945644B2 (en) 2005-06-22 2006-06-22 Dynamic initialization method and system of location server

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020050053978A KR100589437B1 (ko) 2005-06-22 2005-06-22 동적 서버 초기화 방법 및 시스템

Publications (1)

Publication Number Publication Date
KR100589437B1 true KR100589437B1 (ko) 2006-06-14

Family

ID=37182686

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020050053978A KR100589437B1 (ko) 2005-06-22 2005-06-22 동적 서버 초기화 방법 및 시스템

Country Status (4)

Country Link
US (1) US7945644B2 (ko)
JP (1) JP4726955B2 (ko)
KR (1) KR100589437B1 (ko)
WO (1) WO2006137701A1 (ko)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9282143B2 (en) * 2009-10-09 2016-03-08 Telefonaktiebolaget L M Ericsson (Publ) Method for handling data stored by a communication system
KR20110127907A (ko) * 2010-05-20 2011-11-28 (주)블루홀스튜디오 온라인 게임 환경에서 서버 트랜스퍼링하여 게임을 진행하는 방법, 장치, 및 기록매체
US11140221B2 (en) * 2016-06-22 2021-10-05 The Johns Hopkins University Network-attack-resilient intrusion-tolerant SCADA architecture

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000047918A (ja) * 1998-07-30 2000-02-18 Hitachi Ltd レプリケーションシステム及びレプリケーション制御方法
JP2002132531A (ja) * 2000-10-23 2002-05-10 Nec Corp 二重化システムにおけるデータメンテナンス方式および方法
US6557111B1 (en) * 1999-11-29 2003-04-29 Xerox Corporation Multicast-enhanced update propagation in a weakly-consistant, replicated data storage system
KR20030048503A (ko) * 2001-12-12 2003-06-25 주식회사 엘지이아이 이중화 서버 구조의 데이터 동기화를 위한 통신 시스템 및방법
US6745209B2 (en) * 2001-08-15 2004-06-01 Iti, Inc. Synchronization of plural databases in a database replication system

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09231180A (ja) * 1995-12-22 1997-09-05 Hitachi Ltd サーバ分割方法
US6266781B1 (en) 1998-07-20 2001-07-24 Academia Sinica Method and apparatus for providing failure detection and recovery with predetermined replication style for distributed applications in a network
US7958199B2 (en) * 2001-11-02 2011-06-07 Oracle America, Inc. Switching systems and methods for storage management in digital networks
US20040143654A1 (en) * 2002-06-28 2004-07-22 Didier Poirot Node location management in a distributed computer system
KR100484145B1 (ko) * 2002-07-05 2005-04-18 삼성전자주식회사 중복 주소 노드에 가상 주소를 자동으로 할당하는 장치 및방법
JP2005043961A (ja) * 2003-07-22 2005-02-17 Nippon Telegr & Teleph Corp <Ntt> サーバ構成更新方法およびサーバシステム並びにプログラム
ATE426284T1 (de) * 2003-10-23 2009-04-15 Ericsson Telefon Ab L M Mehrbenutzer-streaming
JP4504167B2 (ja) * 2004-11-24 2010-07-14 株式会社日立製作所 マルチキャスト課金制御システム及びブロードバンドアクセスサーバ
US8281025B2 (en) * 2005-06-13 2012-10-02 Hewlett-Packard Development Company, L.P. Contemporaneous peer-to-peer multicast data distribution
JP4722780B2 (ja) * 2006-06-29 2011-07-13 富士通株式会社 マルチキャストネットワーク監視方法,及びこれを適用するマルチキャストネットワークシステム
US7822835B2 (en) * 2007-02-01 2010-10-26 Microsoft Corporation Logically centralized physically distributed IP network-connected devices configuration

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000047918A (ja) * 1998-07-30 2000-02-18 Hitachi Ltd レプリケーションシステム及びレプリケーション制御方法
US6557111B1 (en) * 1999-11-29 2003-04-29 Xerox Corporation Multicast-enhanced update propagation in a weakly-consistant, replicated data storage system
JP2002132531A (ja) * 2000-10-23 2002-05-10 Nec Corp 二重化システムにおけるデータメンテナンス方式および方法
US6745209B2 (en) * 2001-08-15 2004-06-01 Iti, Inc. Synchronization of plural databases in a database replication system
KR20030048503A (ko) * 2001-12-12 2003-06-25 주식회사 엘지이아이 이중화 서버 구조의 데이터 동기화를 위한 통신 시스템 및방법

Also Published As

Publication number Publication date
WO2006137701A1 (en) 2006-12-28
JP4726955B2 (ja) 2011-07-20
US7945644B2 (en) 2011-05-17
JP2008547104A (ja) 2008-12-25
US20100131615A1 (en) 2010-05-27

Similar Documents

Publication Publication Date Title
JP3850859B2 (ja) ホール管理システム
US8375001B2 (en) Master monitoring mechanism for a geographical distributed database
JP4920038B2 (ja) 複数のグループに属するロケーションサーバを用いたユーザのログ情報管理方法及びシステム
US8595301B2 (en) Message delivery in messaging networks
US20080039208A1 (en) Information updating management in a gaming system
CN107229520A (zh) 一种数据中心操作系统
JP2013504966A (ja) アプリケーション・サーバに関連するユーザ・データの管理
JP6700815B2 (ja) ライセンス管理システム、クライアント装置、アプリケーションプログラム
JP2002528966A (ja) インテリジェントネットワークに分配されたサービスノード中のサービスモジュールを展開する方法および装置
KR101416280B1 (ko) 이벤트 처리 시스템 및 방법
CN104168333A (zh) Proxzone服务平台的工作方法
US10389653B2 (en) Request distribution system, management system, and method for controlling the same
WO2020210036A2 (en) Iot partition management and load balancing
KR100589437B1 (ko) 동적 서버 초기화 방법 및 시스템
US8301750B2 (en) Apparatus, system, and method for facilitating communication between an enterprise information system and a client
JP2013065120A (ja) 負荷分散システム、データアクセス装置、及び負荷分散方法
CN112199176A (zh) 一种业务处理方法、装置及相关设备
KR100727057B1 (ko) 메시지 상태 점검 방법 및 시스템
JP2013065104A (ja) 負荷分散システム、データアクセス装置、及び負荷分散方法
CN109922316A (zh) 媒体资源调度及媒体资源管理方法、装置和电子设备
WO2017193285A1 (zh) 软件管理方法及装置
JP2013065113A (ja) 負荷分散システム、データアクセス装置、及び負荷分散方法
US10419368B1 (en) Dynamic scaling of computing message architecture
US11734058B2 (en) Systems and methods of a virtualized management operation engine of a distributed system
US20220253294A1 (en) System using blockchain

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: 20110414

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20130329

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20170328

Year of fee payment: 12

FPAY Annual fee payment

Payment date: 20180328

Year of fee payment: 13

FPAY Annual fee payment

Payment date: 20190325

Year of fee payment: 14