KR20230062762A - 실시간 서버 관리 솔루션 - Google Patents

실시간 서버 관리 솔루션 Download PDF

Info

Publication number
KR20230062762A
KR20230062762A KR1020210147540A KR20210147540A KR20230062762A KR 20230062762 A KR20230062762 A KR 20230062762A KR 1020210147540 A KR1020210147540 A KR 1020210147540A KR 20210147540 A KR20210147540 A KR 20210147540A KR 20230062762 A KR20230062762 A KR 20230062762A
Authority
KR
South Korea
Prior art keywords
server
rsms
game
client
relay
Prior art date
Application number
KR1020210147540A
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 KR1020210147540A priority Critical patent/KR20230062762A/ko
Publication of KR20230062762A publication Critical patent/KR20230062762A/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
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4418Suspend and resume; Hibernate and awake
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/541Interprogram communication via adapters, e.g. between incompatible applications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/12Arrangements for remote connection or disconnection of substations or of equipment thereof
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • 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
    • H04L67/1012Server selection for load balancing based on compliance of requirements or conditions with available server resources
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/568Storing data temporarily at an intermediate stage, e.g. caching
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/50Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers
    • A63F2300/51Server architecture
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/50Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers
    • A63F2300/53Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers details of basic data processing

Abstract

본 발명은 온라인 게임 서버를 포함하는 서버 실행프로그램의 제어를 통한 서버 관리시스템으로, 서버 실행프로
그램 관리에 있어 실시간으로 제어할 수 있는 환경을 제공하여 적은 인원으로 국내외 서버 실행 프로그램 관리를
할 수 있는 실시간 서버관리 솔루션(Realtime Server Management Solution) 시스템에 관한 것이다.
또한, 본 발명은 서버관리자의 선택에 의해 원격에 있는 서버들의 상태를 메인 서버(RSMS MAIN Server)와 중계
서버(RSMS SUB Server), 에이전트(RSMS Agent), 클라이언트(RSMS Client)를 통해 모니터하는 기능과; 중계 서버
(RSMS SUB Server)와 에이전트(RSMS Agent), 중계 데이터베이스(RSMS SUB DB)를 이용하여 서버 상태를
저장하고, 저장된 기록을 통해 과거 서버의 상태를 확인하는 기능과 클라이언트(RSMS Client)에서 메인 서버
(RSMS MAIN Server)와 원격의 중계 서버(RSMS SUB Server), 에이전트(RSMS Agent)를 이용해 각 게임 서버를 업
데이트 하는 기능과; 클라이언트에서 메인 서버(RSMS MAIN Server)와 원격의 중계 서버(RSMS SUB Server), 에이
전트(RSMS Agent)를 통해 다량의 게임 서버를 제어할 수 있는 기능; 및 이들을 통한 클라이언트에서 메인 서버
(RSMS MAIN Server)를 이용하여 원격의 여러 중계 서버(RSMS SUB Server)를 연결하여 지역별, 국가별, 게임 종
류별 게임 서버를 제어하고, 상태를 확인하면서 업데이트를 할 수 있는 다목적 서버 관리 솔루션을 제공하는 것
을 특징으로 한다.

Description

실시간 서버 관리 솔루션{Realtime Server Management Solution}
[0001] 본 발명은 온라인 게임 서버를 포함하는 서버 실행프로그램의 제어를 통한 실시간 서버 관리 솔루션으로, 더욱
상세하게는 서버 실행프로그램 관리에 있어 실시간으로 제어할 수 있는 환경을 제공하여 적은 인원으로 국내외
서버 실행 프로그램 관리를 할 수 있는 솔루션에 관한 것이다.
[0002] 종래의 온라인 게임 운영 업체들은 온라인 게임을 운영하기 위해 다량의 서버를 배치하여 온라인 게임의 서버프
로그램을 설치하고 운영을 하고 있다.
[0003] 온라인 게임 서버들은 IDC(Internet Data Center)(20)에 위치해 있으며 서버 관리자들은 온라인 게임 서비스 운
영 업체 사무실(10)에 위치해 있다.
[0004] 일반적으로 원격의 서버 관리를 위해 인터넷이 되는 환경에서 터미널 접속을 하여 수작업으로 작업을 진행한다.
[0005] 정기적으로 1주에 1회 이상의 정기점검을 통해 서버프로그램을 업데이트하고 서버의 상태를 체크 한다.
[0006] 이에 다량의 서버의 서버프로그램을 실행중지, 업데이트, 실행 등의 수작업이 생기게 되고 실행 중에 서버의 상
태와 서버프로그램의 상태를 체크하기 위해 많은 시간, 인력, 비용을 투자한다.
[0007] 온라인 게임 운영업체들의 시간, 인력, 비용 투자에 대한 노력은 서비스되는 게임 마다 계속적으로 이루어진다.
[0008] 그 중 자체 개발로 운영 효율을 높이는 업체도 있으나 통합 관리할 수 없고, 게임 종류별로 다른 방식으로 관리
하는 등의 제약이 발생한다.
[0009] 상기와 같이 온라인게임 서비스 업체들의 다량의 서버들을 실시간으로 상태를 확인하고 제어하며 업데이트를 가
능하게 하는 것이 실시간 서버 관리 솔루션(Realtime Server Management Solution:RSMS)이다.
[0010] 본 발명으로 기존 온라인 게임 서비스를 제공하는 업체들 또는 온라인 게임을 개발하는 개발사 들이 적은 인력
과 비용으로 손쉽게 서버관리가 가능한 환경을 제공한다.
[0011] 서버와의 통신을 직접 하지 않고 중계 서버를 두어 게임 서버들을 그룹화하여 네트워크에 오가는 패킷의 양과
크기를 최소화한다.
[0012] 중계 서버는 하나의 지역, 국가 또는 서비스 게임별로 구성하여 여러 지역과 복수의 온라인 게임을 통합 관리한
다.
[0013] 본 발명은 서버관리자의 선택에 의해 원격에 있는 서버들의 상태를 메인 서버(RSMS MAIN Server)와 중계 서버
(RSMS SUB Server), 에이전트(RSMS Agent), 클라이언트(RSMS Client)를 통해 모니터하는 기능과; 중계 서버
(RSMS SUB Server)와 에이전트(RSMS Agent), 중계 데이터베이스(RSMS SUB DB)를 이용하여 서버 상태를 저장하
고, 저장된 기록을 통해 과거 서버의 상태를 확인하는 기능과 클라이언트(RSMS Client)에서 메인 서버(RSMS
MAIN Server)와 원격의 중계 서버(RSMS SUB Server), 에이전트(RSMS Agent)를 이용해 각 게임 서버를 업데이트
하는 기능과; 클라이언트에서 메인 서버(RSMS MAIN Server)와 원격의 중계 서버(RSMS SUB Server), 에이전트
(RSMS Agent)를 통해 다량의 게임 서버를 제어할 수 있는 기능; 및 이들을 통한 클라이언트에서 메인 서버(RSMS
MAIN Server)를 이용하여 원격의 여러 중계 서버(RSMS SUB Server)를 연결하여 지역별, 국가별, 게임 종류별 게
임 서버를 제어하고, 상태를 확인하면서 업데이트를 할 수 있는 다목적 서버 관리 시스템을 제공하는 것에 목적
이 있는 것이다.
[0014] 본 발명은 인터넷이 되는 환경에서 국내뿐만 아니라 해외 수출 후 다량의 서버를 통합 관리하여 온라인 게임 서
비스 업체뿐만 아니라 온라인 게임 개발사 대규모 서버 응용프로그램을 운영하는 회사에 시간, 인력, 비용에 대
한 투자를 줄이게 되면서 국내외 온라인 게임 서비스 운영에 있어 시간적이고 공간적인 환경을 극복할 수 있는
대안이 되어 온라인 게임 개발 및 온라인 게임 서비스 운영하고 있는 업체들이 안정적인 서비스 환경을 제공하
는 것이 가능해지고 온라인 게임의 해외 수출에 유리한 환경이 된다.
[0063] 도 1 은 본 발명에 의한 전체적인 구조도.
[0064] 도 2 는 본 발명에 의한 프로그램들이 송수신하는 정보 흐름도.
[0065] 도 3 은 클라이언트(RSMS Client)의 계정인증 구성을 보인 흐름도.
[0066] 도 4 는 계정 인증 후 중계 서버(RSMS SUB Server) 목록을 가져오는 구성을 도시한 흐름도.
[0067] 도 5 는 게임 서버 목록을 가져오고 명령을 내리는 구성을 보인 흐름도.
[0068] 도 6 은 도 3, 도4, 도5 를 통한 클라이언트(RSMS Client)의 구성을 도시한 흐름도.
[0069] 도 7 은 메인 서버(RSMS MAIN Server)의 구성을 보인 흐름도.
[0070] 도 8 은 중계 서버(RSMS SUB Server)의 구성을 보인 흐름도.
[0071] 도 9 는 에이전트(RSMS Agent)의 구성을 보인 흐름도.
[0072] 도 10 은 클라이언트(RSMS Client) 동작을 예로 보인 이미지 샷.
[0015] 상기 목적과 효과를 달성하기 위한 본 발명에 의한 실시간 서버 관리 솔루션(RSMS)은 크게 클라이언트(RSMS
Client)(30), 메인 서버(RSMS MAIN Server)(40), 중계 서버(RSMS SUB Server)(80), 에이전트(RSMS Agent)(60)
프로그램을 포함하여 이루어지고, 메인 데이터베이스(RSMS MAIN DB)(50)와 중계 데이터베이스(RSMS SUB DB)(7
0)로 데이터베이스가 분산되어 있으며, 구체적인 구조와 기능 및 구성은 첨부된 도면을 참고하여 상세히 기술하
기로 한다.
[0016] 도 1 실시간 서버 관리 솔루션의 전체 구조도로서 솔루션에 포함된 프로그램 및 데이터 베이스의 위치와 연결
구조를 보여준다.
[0017] 실시간 서버 관리 솔루션(RSMS)은 크게 클라이언트(RSMS Client)(30), 메인 서버(RSMS MAIN Server)(40), 중계
서버(RSMS SUB Server)(80), 에이전트(RSMS Agent)(60), 메인 데이터베이스(RSMS MAIN DB)(50), 중계 데이터베
이스(RSMS SUB DB)(70)로 나누어진다.
[0018] 도 2 실시간 서버 관리 솔루션의 데이터 흐름도로서 솔루션에 포함된 프로그램 및 데이터베이스의 위치와 송수
신하는 정보를 보여주는 것으로, 클라이언트(RSMS Client)(30)는 서버관리자들이 서버 관리를 목적으로 접하게
되는 프로그램으로 게임 서버(90)들의 상태(CPU, 메모리, 네트워크 사용량)확인, 서버 프로그램 실행제어, 서버
프로그램 업데이트, 서버 재부팅을 위한 명령을 할 수 있다.
[0019] 또한, 메인 서버(RSMS MAIN Server)(40)는 중계 서버(RSMS SUB Server)(80) 리스트를 메인 데이터베이스(RSMS
MAIN DB)(50)에서 호출하여 중계 서버(RSMS SUB Server)(80)와 연결하고, 게임 서버(90)들의 상태 정보전달과
명령상황을 클라이언트(RSMS Client)(30)와 중계 서버(RSMS SUB Server)(80) 사이에서 송수신한다.
[0020] 중계 서버(RSMS SUB Server)(80)는 게임 서버(Game Server)(90) 리스트를 중계 데이터베이스(RSMS SUB DB)(7
0)에서 호출하여 에이전트(RSMS Agent)(60)와 연결하고, 게임 서버(90)들의 상태 정보전달과 명령상황을 메인
서버(RSMS MAIN Server)(40)와 에이전트(RSMS Agent)(60) 사이에서 송수신한다.
[0021] 또한, 일정시간마다 에이전트(RSMS Agent)(60)가 보내주는 게임 서버(90)의 상태와 게임 서버(90) 프로그램의 정보를 중계 데이터베이스(RSMS SUB DB)(70)로 저장을 한다.
[0022] 게임 서버(90) 프로그램을 업데이트 할 때 클라이언트(RSMS Client)(30)가 업로드 전송한 파일을 저장해두고 있
다가 업데이트 명령을 받으면 에이전트(RSMS Agent)(60)에 전달한다.
[0023] 에이전트(RSMS Agent)(60)는 게임 서버(90) 프로그램과 같은 서버에 설치되며 게임 서버(90)의 상태 정보전달과
게임 서버(90) 프로그램의 상황을 실시간으로 감지한다.
[0024] 또한, 중계 서버(RSMS SUB Server)(80)가 정보 요청할 때 감지하고 있는 정보를 보내준다.
[0025] 중계 서버(RSMS SUB Server)(80)가 보내주는 게임 서버(90) 프로그램 업데이트 파일을 수신하여 실제 게임 서버
(90) 프로그램이 위치한 디렉터리(폴더)로 복사해준다.
[0026] 메인 데이터베이스(RSMS MAIN DB)(50)는 클라이언트(RSMS Client)(30)에서 메인 서버(RSMS MAIN Server)(40)로
접속시 필요한 계정 인증 데이터(ID, Password)와 계정권한, 중계 서버(RSMS SUB Server)(80)의 IP 정보와 중
계 서버(RSMS SUB Server)(80)의 고유 인증키를 가지고 있다.
[0027] 중계 데이터베이스(RSMS SUB DB)(70)는 게임 서버(Game Server)(90)와 함께 있는 에이전트(RSMS Agent)(60)의
IP 정보와 고유 인증키를 가지고 있으며 에이전트(RSMS Agent)(60)에서 전송받은 게임 서버(Game Server)(90)와
게임 서버 프로그램의 상태 정보를 일정한 시간 간격으로 저장하고 있다.
[0028] 도 2 는 각 솔루션 구성요소(RSMS Client, RSMS MAIN Server, RSMS SUB Server, RSMS Agent, RSMS MAIN DB,
RSMS SUB DB)에서 오가는 정보 내용들을 보인 그림으로서 이는 도 1 에서 구성된 구조를 통해 인터넷이 되는 환
경을 이용해 패킷을 송수신하면서 이루어지고, 중계 서버(80) 역할을 하는 SUB Server를 이용하면서 네트워크
간에 일어나는 부하를 최소화한다.
[0029] 그리고 서버와 클라이언트 간의 통신만을 이용한 것이 아닌 데이터베이스를 이용해 서버들의 상태를 기록하면서
서버운영에 대한 기록을 별도로 관리하게 되고, 서버 관리자별로 명령 내려진 기록을 통해 업무 내용을 파악할
수 있다.
[0030] 도 3, 도 4, 도 5 는 클라이언트(RSMS Client)(30)에 속한 기능별 구성 흐름도이며 이를 이용한 클라이언트
(RSMS Client)(30)의 전체 구성 흐름도는 도 6 이다.
[0031] 도 6 은 계정 인증과 중계 서버(RSMS SUB Server)(80) 목록 표시, 게임 서버(90) 목록 표시, 게임 서버(90) 상
태 표시, 게임 서버(90)에 내려지는 명령 처리 등 클라이언트(RSMS Client)(30)에서 전반적으로 행해지는 통합
기능 흐름도이며 클라이언트(RSMS Client)(30)는 메인 서버(RSMS MAIN Server)(40)와 통신하면서 서버 관리자
들은 원격지에 있는 중계 서버(RSMS SUB Server)(80)와 게임 서버(90)들의 상태를 간단히 파악하고 작업 수행이
가능해 진다.
[0032] 이는 계정정보검사 프로세스(S402)와, 중계(서브) 서버 정보 수신 프로세스(S402) 및 게임 서버 정보 수신 및
명령 프로세스(S405)를 포함하는 것으로, 각 프로세스의 상세 처리 과정은 각 도 3 내지 도 5에서 다루고 있다.
[0033] 따라서, 도 3 은 클라이언트(RSMS Client)(30)에서 계정과 암호를 입력하여 서버 관리자의 권한을 얻어오는 역
할의 구성 흐름을 보여준다.
[0034] 도 4 는 클라이언트(RSMS Client)(30)에서 계정의 권한으로 중계 서버(RSMS SUB Server)(80) 목록을 가져오는
기능에 대한 구성 흐름도이다.
[0035] 도 5 는 클라이언트(RSMS Client)(30)에서 게임 서버(90)들의 목록을 가져오고 내려지는 명령에 따라 처리되는
기능에 대한 구성 흐름도이며 이는 주기적으로 호출되어 명령을 내린 결과와 현재 게임 서버(90)들의 상태를 클
라이언트(RSMS Client)(30)에 표시해 주는 역할을 하는 기능 구성 흐름도이다.
[0036] 클라이언트(RSMS Client)(30)에서 메인 서버(RSMS MAIN Server)(40)와 통신하면서 서버 관리자들은 원격지에
있는 중계 서버(RSMS SUB Server)(80)와 게임 서버(90)들의 상태를 간단히 파악하고 작업을 수행할 수 있는 것
으로, 도 6의 계정정보검사 프로세스(S402)를 통하여 도 3에서와 같이 서버 관리자가 관리자 계정정보를 입력
(S102)하면 입력된 계정 정보를 검사(S103)하여 메인 데이터베이스(50) 테이블에 저장된 관리자 계정정보와의
무결성과 합치 여부를 판단(S104)하고 일치하지 않는 경우, 계정정보 입력(S102)단계로 분기하고, 인증이 이루
어지는 경우 서버 관리자에게 계정 권한을 수신(S105)한다.
[0037] 이와 같이 계정정보검사 프로세스(S402)가 성공적으로 수행되면, 클라이언트(30)에서 서버 관리자는 도 6의 중계(서브) 서버 정보 수신 프로세스(S402)를 수행하며, 이는 도 4에서와 같이 원격지(인터넷 데이터 센터) 내의
중계(서브) 서버(80) 정보가 수신(S202)되고 서버 관리자의 원격지(사무실 등)에 중계(서브) 서버(80)들이 표시
(S213)되며, 서버 관리자에 의해 특정 중계(서브) 서버(80)가 선택(S204)되면 해당 중계(서브) 서버에 대한 자
료 수신을 위한 선택 검사(S205)가 수행되고 완료 여부에 따라 중계(서브) 서버 정보 수신(S202)단계로 분기하
거나 프로세스를 종료(S206)한다.
[0038] 서버 정보 수신 프로세스(S402)가 성공적으로 수행되면, 관리자의 인증된 계정 정보의 권한별로, 수신된 중계
(서브) 서버 정보가 표시(S404)되고, 서버 관리자는 도 6의 게임 서버 정보 수신 및 명령 프로세스(S405)를 수
행하게 된다.
[0039] 도 5에서와 같이, 게임 서버 정보 수신 및 명령 프로세스(S405)가 수행되면 중계 서버는 게임 서버(Game
Server) 리스트를 중계 데이터베이스(RSMS SUB DB)에서 호출하여 에이전트(RSMS Agent)(60)와 연결하고, 게임
서버(90)들의 상태 정보를 수신(S302)하고, 서버 관리자가 접속한 클라이언트(30)에 상기 게임 서버 상태를 표
시(S303)하며, 게임 서버(90)를 제어하기 위한 명령 입력(S304) 단계를 통하여 명령을 입력하면 입력된 서버 프
로그램 실행제어, 서버프로그램 업데이트, 서버 재부팅 등 명령의 수행 여부를 체크(S305)하여 수행 완료되었거
나 시간 만료된 경우 게임 서버(90)들의 상태 정보를 수신(S302) 단계로 분기하고, 그렇지 않은 경우 에이전트
(RSMS Agent)를 통하여 게임 서버에 명령을 전달(S306)한다.
[0040] 전달된 명령에 대한 전달 완료 여부를 체크(S307)하여 명령 전달 완료를 위한 루프 검사가 수행되고 명령 전달
이 완료되면 명령결과를 클라이언트(30)에 전달(S308)한다.
[0041] 명령 전달이 성공적으로 수행되면 게임 서버(90)는 해당 명령을 수행(S406)하고 종료 명령을 검사하여 종료명령
이 아닌 경우 다시 게임 서버 정보 수신 및 명령 프로세스(S405)로 분기하여 상기 과정을 반복하고, 종료 명령
의 경우 수행을 종료(S408)한다.
[0042] 도 7 은 계정에 대한 인증정보와 중계 서버(RSMS SUB Server)(80) 목록을 메인 데이터베이스(RSMS MAIN
DB)(50)에서 불러와 클라이언트(RSMS Client)(30)에 전달해주는 역할인 메인 서버(RSMS MAIN Server)(40) 기능
흐름도이며, 메인 서버(RSMS MAIN Server)(40)는 클라이언트(RSMS Client)(30), 중계 서버(RSMS SUB
Server)(80), 메인 데이터베이스(RSMS MAIN DB)(50)와 통신을 하며 그 역할을 수행한다.
[0043] 이와 같이 메인 서버(40)는 상시 클라이언트(30)의 접속을 대기(S502)하고 있으며, 클라이언트(30)로부터 접속
에 따른 계정인증(S503)를 수행하여 인가되지 않은 경우 클라이언트(30)의 접속 대기(S502)단계로 분기하고 인
증이 이루어지는 경우, 해당 계정으로 접속한 클라이언트(30)에 중계(서브) 서버(80)의 목록을 메인 데이터베이
스(50)로부터 호출하여 클라이언트(30)에 전달(S504)한다.
[0044] 또한, 메인 데이터베이스(RSMS MAIN DB)(50)는 클라이언트(RSMS Client)(30)에서 메인 서버(RSMS MAIN
Server)(40)로 접속시 필요한 계정 인증 데이터(ID, Password)와 계정권한, 중계 서버(RSMS SUB Server)(80)의
IP 정보와 중계 서버(RSMS SUB Server)(80)의 고유 인증키를 가지고 있다.
[0045] 목록을 전달한 메인 서버(RSMS MAIN Server)(40)는 이후 클라이언트(30)로부터의 명령을 대기(S505)하며, 불러
온 중계(서브) 서버(80)에 대한 선택 검사(S506)를 수행하여 검사가 완료되면 클라이언트(30)로 게임 서버(90)
목록과 상태를 전달(S507)하게 된다.
[0046] 상기 게임 서버(90) 목록과 상태는 에이전트(60)에 의해 게임 서버(90)로부터 추출되어 중계 데이터베이스(70)
에 저장 및 업데이트될 수 있을 것이다.
[0047] 게임 서버(90) 목록과 상태를 전달받은 클라이언트(30)로부터 명령을 대기하기 위한 클라이언트 명령 유무 검사
(S508)를 수행하여 명령이 없는 경우 클라이언트(30)로 게임 서버(90) 목록과 상태를 전달(S507) 단계로 분기하
고, 명령이 감지되는 경우 중계 서버(80)로 당해 명령을 전달(S509)한다.
[0048] 명령을 전달받은 중계(서브) 서버(80)는 앞서 도 6에서 상세히 기술한 바와 같이 S405 의 전부 또는 일부 과정
을 수행하고 명령이 수행되면 클라이언트(30)로 명령 결과를 전달(S510)한다.
[0049] 이후 메인 서버(RSMS MAIN Server)(40)는 클라이언트(30)로부터의 종료 명령을 검사(S511)하여, 종료 명령이 없
는 경우 클라이언트(30)로 게임 서버(90) 목록과 상태를 전달(S507) 단계로 분기하고 종료 명령이 있는 경우 역
할을 종료(S512)한다.
[0050] 도 8 은 메인 서버(RSMS MAIN Server)(40)와 에이전트(RSMS Agent)(60) 간의 중계역할을 하는 중계 서버(RSMS SUB Server)(80) 기능 흐름도이며, 중계 서버(RSMS SUB Server)(80)의 역할은 각 에이전트(RSMS Agent)(60)가
보내는 정보를 메인 서버(RSMS MAIN Server)(40)와 중계 데이터베이스(RSMS SUB DB)(70)로 전달하여 기록해주
고, 메인 서버(RSMS MAIN Server)(40)에서 보내는 명령들을 에이전트(RSMS Agent)(60)로 전달하고 중계 데이터
베이스(RSMS SUB DB)(70)에 명령 종류를 기록하면서 게임 서버(90)들을 제어하고 상태 확인을 할 수 있게 하는
기능이 있다.
[0051] 이와 같은 중계 서버(RSMS SUB Server)(80)는 메인 서버(40)의 요청에 의해 중계(서브) 데이터베이스(70)로부터
게임 서버 목록을 가져오기(S602)하며, 에이전트(60)와 접속(S604)되고, 통신(S605)이 이루어진다. (Connection
& Session)
[0052] 이처럼 중계 서버(80)는 에이전트(60)를 통하여 게임 서버(90)의 상태(CPU, 메모리, 네트워크 사용량)와 게임
서버(90) 프로그램의 정보를 일정시간마다 전송받아 중계 데이터베이스(RSMS SUB DB)(70)로 저장(S606)한다.
[0053] 이후 메인 서버(40)로부터 명령을 대기(S607)하며, 명령이 없는 경우 지속적으로 에이전트와의 통신(S605)단계
로 분기하고, 명령이 있는 경우 중계 데이터베이스(SUB DB)(70)로 명령 내용을 저장(S609)한다.
[0054] 중계 서버(80)는 명령 내용 저장(S609) 단계를 수행 후 명령을 에이전트(60)를 통하여 게임 서버(90)에 전달
(S610)하며, 전달된 명령의 수행 완료 여부를 검사(S611)한다.
[0055] 수행이 완료되지 않은 경우, 전 단계로 분기하고 수행이 완료되면 다시 종료 명령이 있는지를 검사하여 종료 명
령이 없는 경우, 메인 서버(40)로부터 명령을 대기(S607)하는 단계로 분기하고, 종료 명령이 있는 경우 본 수행
과정은 종료(S613)한다.
[0056] 도 9 는 게임 서버(90)에 설치되고 하드웨어적인 정보 (CPU, 메모리 사용 상태, 네트워크 상태)와 소프트웨어적
인 정보 (게임 서버 프로그램)의 상태를 주기적으로 중계 서버(RSMS SUB Server)(80)로 전달해주는 역할을 하는
에이전트(RSMS Agent)(60) 기능 흐름도이다.
[0057] 에이전트(RSMS Agent)(60)는 중계 서버(RSMS SUB Server)(80)와 통신하면서 클라이언트(RSMS Client)(30)에서
보내는 업데이트 파일을 최종적으로 하드 디스크에 저장하는 역할도 수행하며 이 기능을 통해 다량의 게임 서버
(90)의 업데이트를 할 수 있는 기능이 있다.
[0058] 이와 같은 에이전트(60)는 중계(서브) 서버(80)로부터 접속을 대기(S702)하며, 중계(서브) 서버(80)로부터 접속
(S703)이 이루어지면 중계(서브) 서버(80)와의 원활한 접속을 검사(S704)하여, 재접속을 시도하기 위한 중계(서
브) 서버(80)로부터 접속(S703)단계로 분기하거나, 접속을 통하여 서버 IP, CPU, 메모리, 네트워크 상태(사용량
등)를 확인(S705)한다.
[0059] 이후 게임 서버(90)의 상태를 체크(S706)하여, 중계(서브) 서버(80)로 체크된 상황을 전송(S709)한다.
[0060] 상기 전송되는 정보에는 IP, CPU, 메모리, 네트워크 상태 및 게임 서버 상태 등이 포함될 수 있을 것이다.
[0061] 또한, 중계 서버(8)로부터 명령의 유무 검사(S708)를 수행하여 명령이 감지되지 않은 경우, 중계(서브) 서버
(80)와 접속 검사(S704)단계로 분기하고, 명령이 있는 경우 당해 명령을 처리(S709)하며, 명령 수행 후 종료 명
령을 검사하여 종료명령이 없는 경우, 다시 중계(서브) 서버(80)와 접속 검사(S704)단계로 분기하고 종료 명령
이 있는 경우는 에이전트 수행과정을 종료(S711)한다.
[0062] 이상에서와 같이 본 발명은 본 발명은 서버관리자의 선택에 의해 원격에 있는 서버들의 상태를 메인 서버(RSMS
MAIN Server)와 중계 서버(RSMS SUB Server), 에이전트(RSMS Agent), 클라이언트(RSMS Client)를 통해 모니터
하는 기능과; 중계 서버(RSMS SUB Server)와 에이전트(RSMS Agent), 중계 데이터베이스(RSMS SUB DB)를 이용하
여 서버 상태를 저장하고, 저장된 기록을 통해 과거 서버의 상태를 확인하는 기능과 클라이언트(RSMS Client)에
서 메인 서버(RSMS MAIN Server)와 원격의 중계 서버(RSMS SUB Server), 에이전트(RSMS Agent)를 이용해 각 게
임 서버를 업데이트 하는 기능과; 클라이언트에서 메인 서버(RSMS MAIN Server)와 원격의 중계 서버(RSMS SUB
Server), 에이전트(RSMS Agent)를 통해 다량의 게임 서버를 제어할 수 있는 기능; 및 이들을 통한 클라이언트에
서 메인 서버(RSMS MAIN Server)를 이용하여 원격의 여러 중계 서버(RSMS SUB Server)를 연결하여 지역별, 국
가별, 게임 종류별 게임 서버를 제어하고, 상태를 확인하면서 업데이트를 할 수 있는 다목적 서버 관리 시스템
을 제공하는 것을 특징으로 한다.

Claims (6)

  1. 서버 실행프로그램 관리에 있어 실시간으로 제어할 수 있는 환경을 제공하여 적은 인원으로 국내외 서버 실행
    프로그램 관리를 할 수 있는 실시간 서버관리 시스템에 있어서;
    서버 관리자들이 서버 관리를 목적으로 게임 서버(90)들의 CPU, 메모리, 네트워크 사용량의 상태를 확인하고,
    서버 프로그램의 실행제어 및 서버 프로그램 업데이트, 서버 재부팅을 위한 명령을 수행하기 위한 프로그램인
    클라이언트(RSMS Client)(30);
    중계 서버(RSMS SUB Server)(80) 리스트를 메인 데이터베이스(RSMS MAIN DB)(50)에서 불러와 중계 서버(RSMS
    SUB Server)(80)와 연결하여 게임 서버(90)들의 상태 정보전달과 명령상황을 클라이언트(RSMS Client)(30)와 중
    계 서버(RSMS SUB Server)(80) 사이에서 송수신하는 메인 서버(RSMS MAIN Server)(40);
    게임 서버(Game Server)(90) 리스트를 중계 데이터베이스(RSMS SUB DB)(70)에서 불러와 에이전트(RSMS
    Agent)(60)와 연결하여 게임 서버(90)들의 상태 정보전달과 명령상황을 메인 서버(RSMS MAIN Server)(40)와 에
    이전트(RSMS Agent)(60) 사이에서 송수신하고, 일정시간마다 에이전트(RSMS Agent)(60)가 보내주는 게임 서버
    (90)의 상태와 게임 서버(90) 프로그램의 정보를 중계 데이터베이스(RSMS SUB DB)(70)에 저장하며, 게임 서버
    (90) 프로그램을 업데이트 할 때 클라이언트(RSMS Client)(30)가 업로드 전송한 파일을 저장해두고 있다가 업데
    이트 명령을 받으면 에이전트(RSMS Agent)(60)에 전달하는 중계 서버(RSMS SUB Server)(80);
    게임 서버(90) 프로그램과 같은 서버에 설치되어 게임 서버(90)의 상태 정보전달과 게임 서버(90) 프로그램의
    상황을 실시간으로 감지하고, 중계 서버(RSMS SUB Server)(80)가 정보 요청할 때 감지하고 있는 정보를 보내주
    며, 중계 서버(RSMS SUB Server)(80)가 보내주는 게임 서버(90) 프로그램 업데이트 파일을 수신하여 실제 게임
    서버(90) 프로그램이 위치한 디렉터리(폴더)로 복사해주는 에이전트(RSMS Agent)(60);
    클라이언트(RSMS Client)(30)에서 메인 서버(RSMS MAIN Server)(40)로 접속시 필요한 계정 인증 데이터(ID,
    Password)와 계정권한, 중계 서버(RSMS SUB Server)(80)의 IP 정보와 중계 서버(RSMS SUB Server)(80)의 고유
    인증키를 가지는 메인 데이터베이스(RSMS MAIN DB)(50);
    게임 서버(Game Server)(90)와 함께 있는 에이전트(RSMS Agent)(60)의 IP 정보와 고유 인증키가 있으며 에이전
    트(RSMS Agent)(60)에서 전송받은 게임 서버(Game Server)(90)와 게임 서버 프로그램의 상태 정보를 일정한 시
    간 간격으로 저장하고 있는 중계 데이터베이스(RSMS SUB DB)(70); 로 이루어지는 것을 특징으로 하는 실시간 서
    버 관리 시스템.
  2. 서버관리자의 선택에 의해 클라이언트(RSMS Client)(30)단에서 원격에 있는 게임 서버(90)들의 상태를 모니터링
    하기 위한 실시간 서버관리 시스템의 서비스 제공방법에 있어서;
    메인 서버(RSMS MAIN Server)(40)를 통하여, 중계 서버(RSMS SUB Server) (80) 리스트를 메인 데이터베이스
    (RSMS MAIN DB)(50)로부터 호출하고, 중계 서버(RSMS SUB Server)(80)와 연결하여 게임 서버(90)들의 상태 정
    보전달과 명령상황을 클라이언트(RSMS Client)(30)와 중계 서버(RSMS SUB Server)(80) 사이에서 송수신하는 단
    계;
    중계 서버(RSMS SUB Server)(80)를 통하여, 게임 서버(Game Server)(90) 리스트를 중계 데이터베이스(RSMS SUB
    DB)(70)에서 불러와 에이전트(RSMS Agent)(60)와 연결하여 게임 서버(90)들의 상태정보 전달과 명령상황을 메인
    서버(RSMS MAIN Server)(40)와, 게임 서버(90) 프로그램과 같은 서버에 설치되며 게임 서버(90)의 상태정보 전
    달과 게임 서버(90) 프로그램의 상황을 실시간으로 감지하는, 에이전트(RSMS Agent)(60) 사이에서 송수신하는
    단계; 를 포함하는 것을 특징으로 하는 실시간 서버 관리 시스템의 서비스 제공 방법.
  3. 클라이언트에서 메인서버(RSMS MAIN Server)와 원격의 중계서버(RSMS SUB Server), 에이전트(RSMS Agent)를 통
    해 다량의 게임 서버를 제어 하기 위한 실시간 서버관리 시스템의 서비스 제공방법에 있어서;
    클라이언트(RSMS Client)(30)에서 서버 관리자가 관리자 계정정보를 입력(S102)하면 입력된 계정 정보를 검사
    (S103)하여 메인 데이터베이스(50) 테이블에 저장된 관리자 계정정보와의 무결성과 합치 여부를 판단(S104)하고
    일치하지 않는 경우, 계정정보 입력(S102)단계로 분기하고, 인증이 이루어지는 경우 서버 관리자에게 계정 권한
    을 수신(S105)하는 단계;
    상기 계정정보검사를 통하여 인증이 이루어지면, 서버 관리자의 클라이언트(30)에 원격지(IDC)의 중계 서버(80)
    정보가 수신(S202)되어 중계 서버(80)들이 표시(S213)되며, 서버 관리자에 의해 특정 중계 서버(80)가 선택
    (S204)되면 해당 중계 서버에 대한 자료 수신을 위한 선택 검사(S205)가 수행되는 단계;
    상기 선택 검사(S205)가 수행되면, 관리자의 인증된 계정 정보의 권한별로, 수신된 중계 서버 정보가 표시
    (S404)되고, 중계 서버로부터 게임 서버(Game Server) 리스트를 중계 데이터베이스(RSMS SUB DB)에서 불러와 에
    이전트(RSMS Agent)(60)와 연결하여 게임 서버(90)들의 상태 정보를 수신(S302)하고, 서버 관리자가 접속한 클
    라이언트(30)에 상기 게임 서버 상태를 표시(S303)하며, 게임 서버(90)를 제어하기 위한 명령 입력(S304) 단계
    를 통하여 명령을 입력하면 입력된 서버 프로그램 실행제어, 서버프로그램 업데이트, 서버 재부팅 등 명령의 수
    행 여부를 체크(S305)하여 수행 완료되었거나 시간 만료된 경우 게임 서버(90)들의 상태 정보를 수신(S302) 단
    계로 분기하고, 그렇지 않은 경우 에이전트(RSMS Agent)를 통하여 게임 서버에 명령을 전달(S306)하는 단계; 를
    포함하는 것을 특징으로 하는 실시간 서버 관리 시스템의 서비스 제공 방법.
  4. 청구항 4에 있어서;
    메인 서버(40)는 상시 클라이언트(30)의 접속을 대기(S502)하여 클라이언트(30)로부터 접속에 따른 계정인증
    (S503)를 수행하여 해당 계정으로 접속한 클라이언트(30)에 중계 서버(80)의 목록을 메인 데이터베이스(50)로부
    터 호출하여 클라이언트(30)에 전달(S504)하는 단계;
    클라이언트(30)로부터의 명령을 대기(S505)하며, 에이전트(60)에 의해 게임 서버(90)로부터 추출되어 중계 데이
    터베이스(70)에 저장 및 업데이트된 게임 서버(90) 목록과 상태를 불러온 중계 서버(80)로부터 클라이언트(30)
    로 전달(S507)하는 단계;
    게임 서버(90) 목록과 상태를 전달받은 클라이언트(30)로부터 명령을 대기하여 명령이 감지되는 경우 중계 서버
    (80)로 당해 명령을 전달(S509)하는 단계;
    명령을 전달받은 중계 서버(80)는 명령을 수행하고 명령이 수행되면 클라이언트(30)로 명령 결과를 전달(S510)
    하는 단계;
    클라이언트(30)로부터의 종료 명령을 검사(S511)하여, 종료 명령이 없는 경우 클라이언트(30)로 게임 서버(90)
    목록과 상태를 전달(S507) 단계로 분기하고 종료 명령이 있는 경우 수행과정을 종료(S512)하는 단계; 를 포함하
    는 것을 특징으로 하는 실시간 서버 관리 시스템의 서비스 제공 방법.
  5. 청구항 4에 있어서;
    중계 서버(RSMS SUB Server)(80)는, 에이전트(60)를 통하여 게임 서버(90)의 CPU, 메모리, 네트워크 사용량의
    상태와 게임 서버(90) 프로그램의 정보를 일정시간마다 전송받아 중계 데이터베이스(RSMS SUB DB)(70)로 저장
    (S606)하는 단계;
    이후 메인 서버(40)로부터 명령을 대기(S607)하며, 명령이 없는 경우 지속적으로 에이전트와의 통신(S605)단계
    로 분기하고, 명령이 있는 경우 중계 데이터베이스(SUB DB)(70)로 명령 내용을 저장(S609)하는 단계;
    명령 내용 저장(S609) 단계를 수행 후 명령을 에이전트(60)를 통하여 게임 서버(90)에 전달(S610)하며, 전달된
    명령의 수행 완료 여부를 검사(S611)하는 단계;
    수행이 완료되면 다시 종료 명령이 있는지를 검사하여 종료 명령이 없는 경우, 메인 서버(40)로부터 명령을 대기(S607)하는 단계로 분기하고, 종료 명령이 있는 경우 수행 과정을 종료(S613)하는 단계; 를 포함하는 것을 특
    징으로 하는 실시간 서버 관리 시스템의 서비스 제공 방법.
  6. 청구항 4에 있어서;
    에이전트(60)는, 중계 서버(80)로부터 접속을 대기(S702)하며, 중계 서버(80)로부터 접속(S703)이 이루어지면
    이후 게임 서버(90)의 상태를 체크(S706)하여, 중계 서버(80)로 체크된 IP, CPU, 메모리, 네트워크 상태 및 게
    임 서버 상태정보를 전송(S709)하는 단계;
    중계 서버(8)로부터 명령의 유무 검사(S708)를 수행하여 명령이 있는 경우 당해 명령을 처리(S709)하며, 명령
    수행 후 종료 명령을 검사하여 종료 명령이 있는 경우는 에이전트 수행과정을 종료(S711)하는 단계; 를 포함하
    는 것을 특징으로 하는 실시간 서버 관리 시스템의 서비스 제공 방법.
KR1020210147540A 2021-10-31 2021-10-31 실시간 서버 관리 솔루션 KR20230062762A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020210147540A KR20230062762A (ko) 2021-10-31 2021-10-31 실시간 서버 관리 솔루션

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210147540A KR20230062762A (ko) 2021-10-31 2021-10-31 실시간 서버 관리 솔루션

Publications (1)

Publication Number Publication Date
KR20230062762A true KR20230062762A (ko) 2023-05-09

Family

ID=86408941

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210147540A KR20230062762A (ko) 2021-10-31 2021-10-31 실시간 서버 관리 솔루션

Country Status (1)

Country Link
KR (1) KR20230062762A (ko)

Similar Documents

Publication Publication Date Title
CN1717913B (zh) 中继服务器、中继服务器服务控制方法和服务提供系统
EP1170664A2 (en) Method and apparatus for device management, and internet service provision method
EP1959635A2 (en) Relay server and relay communication system
US7313624B2 (en) Method and system for providing an on-line service and computer readable storage medium
CN100359850C (zh) 远程计算机服务的系统及方法
CN109785042A (zh) 分布式部署的异常处理方法、服务器、存储介质及装置
CN109947844B (zh) 一种基于医疗区块链的医疗数据管理系统
US20140052827A1 (en) Relay communication system
CN101894312B (zh) 信息交换、共享系统及其方法
JP2004013576A (ja) 広域ネットワークを利用したデータ入力システム
KR100965157B1 (ko) 실시간 서버 관리 솔루션
CN105117898A (zh) 支持多厂商考勤终端接入的云考勤管理方法及系统
CN102906753B (zh) 利用不定期网络访问的数字权利管理
KR20230062762A (ko) 실시간 서버 관리 솔루션
CN116471358A (zh) 一种Outlook和IPPBX协同方法及系统
CN105610785B (zh) 网络系统及控制装置
KR100538924B1 (ko) 개인 컴퓨터를 서비스 서버로 구동한 다수의 서버/클라이언트들 구조를 이용한 피어투피어 방식의 웹 서비스, 원격 스토리지 서비스, 원격 제어 서비스 제공방법
JP4340570B2 (ja) アドレス情報配信・収集方法、アドレス情報配信・収集プログラム及び送受信端末
CN109672754A (zh) SaaS化平台
KR101583493B1 (ko) 대용량 파일의 다운로드 장치 및 방법
WO2021235437A1 (ja) 通信システム、中継処理装置、情報処理方法、及びプログラム
JP2003015925A (ja) 情報端末管理装置及びプログラム
US20120317298A1 (en) Scripting environment for network device
JP3708582B2 (ja) データ処理システムおよび端末情報自動設定方法
JP2004173106A (ja) 利用者状況検出型通信方法、システム及びプログラム