Advanced
A Study of Non-Disruptive Update Scheme for Online Game
A Study of Non-Disruptive Update Scheme for Online Game
Journal of Korea Multimedia Society. 2014. Nov, 17(11): 1307-1312
Copyright © 2014, Korea Multimedia Society
  • Received : June 30, 2014
  • Accepted : September 29, 2014
  • Published : November 30, 2014
Download
PDF
e-PUB
PubReader
PPT
Export by style
Share
Article
Author
Metrics
Cited by
TagCloud
About the Authors
상용 강
Dept. of Digital Information and Midia Eng., Graduate School, Korea University
quickmac@korea.ac.kr
정현 한
Dept. of Digital Information and Midia Eng., Interactive 3D Media Laboratory, Korea University

Abstract
Online games are virtual space where it connects individual users through network connection to offer enjoyment of play games and game developer who service online games have to develop new contents and provide them to users to extend life of their service. Typically, in order to update new contents, all service companies have maintenance schedule to stop the game service for a while to update both server and client applications. Usually this process takes quite amount of time and users do not have any other choice but disconnected from server and wait until it is over. The purpose of this thesis is to describe the advantages of new design system which will allows users to continue to play the game even during the update. The main focus of this design is to make users feel more convenience in online gaming experience by move client from previous server to new server while users are still playing. If they can to connect current client with new server without any certificate validation process while users information from the client can automatically pass through to the new server, users may not need to experience maintenance for new contents update.
Keywords
1. 서 론
최근 온라인게임은 많은 사용자가 즐기는 새로운 문화 콘텐츠로 자리를 잡고 있는 상황이다. 스마트기기의 발전으로 다양한 플랫폼으로 확장되고 있으며 무수히 많은 온라인게임들이 서비스되고 있다. 그만큼 서비스 업체 간 경쟁이 심화되고 있음에도 게임의 콘텐츠 업데이트 방법은 온라인게임의 발전에 비해 달라진 것이 없는 실정이다. 온라인게임의 특징은 유지보수 및 콘텐츠 업데이트를 통해서 지속적으로 확장할 수 있다는 것이다. 그렇기 때문에 서비스 업체에서는 게임 콘텐츠 개발에 심혈을 기울여 사용자가 즐겁게 게임을 오래도록 플레이 할 수 있는 환경을 제공하는데 많은 노력을 한다.
통상 신규 콘텐츠를 제공하는 과정의 사례를 보면, 서비스 운영 업체가 특정한 시간을 지정하여, 게임의 서비스를 중지하고 신규 콘텐츠가 추가된 서버애플리케이션과 클라이언트 애플리케이션의 파일들을 각각의 특정 저장소에 업로드 한 후에 서비스를 재시작하게 된다. 이러한 일련의 진행과정은 오랜 시간이 소요되고 이 과정 동안에는 사용자는 서비스를 이용할 수 없으며 서비스 재시작까지 대기해야 한다. 또한 서비스 재시작 직후 예기치 못한 애플케이션의 버그가 발생하면 다시 서비스를 중지하는 일도 빈번하게 일어날 수 있다. 서비스 업체도 이러한 문제점이 있다는 것을 인지 함에도 서비스를 중지하고 업데이트하는 이유는 모든 사용자에게 동일한 시점에 안정적으로 신규 콘텐츠를 업데이트하기 위해서라고 볼 수 있다. 만약 서비스를 이용하는 모든 사용자에게 서비스 중지 없이 신규 콘텐츠를 업데이트 할 수 있다면 사용자로부터 좋은 반응을 얻을 수 있을 것으로 예상되며, 타 업체와의 경쟁 위치에서 우위를 점할 것으로 기대가 된다. 또한 이 연구를 응용하면, 서버 애플리케이션의 오류 수정에도 사용자는 서비스 중지의 경험 없이 오류가 수정된 서버에서 정상적인 서비스를 제공받을 수 있다.
본 논문에 연구 목표는 사용자가 신규 콘텐츠를 경험하는 과정에서 별다른 서비스환경 변화를 느끼지 않도록 하는 것으로써 각 장의 구성은 다음과 같다. 2장에서 통상적으로 적용되는 온라인게임 업데이트 절차와 방법을 살펴보고, 3장에서 무 정지 업데이트 구현 하기 위한 기술 및 진행 절차에 대해서 설명한다. 이 장에서는 연구를 검증하기 위한 온라인게임 서버의 기본 기능인 네트워크 통신 및 게임 데이터 처리 기술에 대해 다룰 것이며 이후 무 정지 업데이트를 구현할 서버간 네트워크 통신 기능과 게임 데이터 이동 기술을 서술 한다. 4장에서는 제안한 기술을 실험한 결과를 통해 검증하고 응용 범위에 대해서 서술하고 5장에서는 연구의 결론과 향후 연구에 대한 제안으로 맺는다.
2. 관련 연구 동향
본 장에서는 일반적인 방식의 온라인게임 업데이트에 대한 진행 절차와 클라이언트 및 서버의 업데이트 과정을 알아보고자 한다.
- 2.1 온라인게임의 업데이트 과정
온라인게임의 업데이트는 사전 공지를 게임 웹사이트를 통해 사용자에게 알리고 공지 내용에 점검시작 시간 및 소요되는 시간을 명시하여 사용자들이 점검 완료 시점에 맞춰 재방문 할 수 있도록 한다. 사전 공지를 진행하여 사용자가 점검 시간을 인지한 후에 서비스 점검이 시작된다. 점검 시간 동안에는 사용자 접속을 차단하여 절차적인 통제를 통해 신규 콘텐츠가 동기화되도록 한다 [3] . 온라인게임의 업데이트를 위한 서비스 점검이 시작되면 사용자 접속통제를 한 후에 클라이언트 업데이트와 서버 업데이트를 진행하고, 그 절차가 완료되면 사용자 통제를 해제하여 신규 콘텐츠를 동기화 시키는 방식이다. 온라인게임의 서비스 점검 프로세스는 Fig. 1 과 같이 진행되며, 해당 시간에 사용자는 게임을 즐기지 못하는 경험을 하게 된다.
PPT Slide
Lager Image
Inspect procedure for online game service.
- 2.2 신규 콘텐츠의 업데이트 방법
클라이언트를 동기화하는 절차는 로그인 서버 접속 후 최초의 패킷(Packet)에 클라이언트와 서버의 프로토콜(Protocol) 버전(Version) 정보를 비교하여 업데이트 여부를 결정한다. 버전이 다를 경우에 클라이언트는 로그인 서버로부터 업데이트 파일이 위치한 CDN(Contents Delivery Network)의 주소를 수신한 후 접속을 해제하고 CDN으로부터 업데이트 파일 정보를 받아 신규 콘텐츠 관련 파일을 다운로드하여 클라이언트 동기화를 진행한다. Fig. 2 는 일반적인 온라인게임 서비스를 위한 기본 시스템 구성이다 [5] . 2-2절에서 언급한 CDN은 멀티미디어 서비스 자원을 위하여 설계된 오버레이(Overlay) 네트워크 솔루션으로 대용량의 파일전송이 필요한 게임 업데이트의 필수 솔루션이다 [1] .
PPT Slide
Lager Image
Fundamental structure for online game system.
서버 측면에서 신규 콘텐츠의 업데이트는 Fig. 1 의 프로세스에 따라 서비스 점검 시간에 모든 서버시스템에서 실행 중인 애플리케이션을 중지하고 실행파일 및 데이터 등을 교체한 후에 서버 애플리케이션을 재실행 하는 방식을 사용한다. 물리적인 서버시스템의 장비 개수에 따라서 실행파일 및 데이터파일 복사를 진행하는 시간이 늘어나기 때문에 점검 시간이 증가될 수 있으며, 안정적인 업데이트가 진행되기 위해서 이 시간 동안에는 모든 게임 서비스가 중지되어야 한다.
3. 온라인게임을 위한 무 정지 업데이트의 구현
본 장에서는 온라인게임에 무 정지 업데이트의 구현을 위해서 필요한 기본 기능 및 추가 기능에 대해서 알아보고자 한다.
- 3.1 무 정지 업데이트의 기능 구성
온라인게임에서 무 정지 업데이트를 구현하기 위해서 게임 서버의 구현에 필요한 7가지 기본기능을 지원할 수 있어야 한다 [4 , 7] .
1) 클라이언트와의 접속과 사용자 인증을 위한 로그인 기능.
2) 클라이언트와의 패킷 송/수신을 위한 통신 기능.
3) 사용자의 명령을 게임룰에 따라 해독하여 클라이언트에 전달하는 게임 처리 기능
4) 사용자의 캐릭터 특성을 관리하는 데이터베이스 관리기능.
5) 외부의 해킹을 막을 수 있는 보안기능.
6) 맵의 확장시 이를 지원하고 캐릭터의 맵간 이동을 허용하는 확장 기능.
7) 클라이언트 프로그램이나 자료 변경 시 CDN을 통해 자동 전송을 실시하는 다운로드 기능.
본 논문에서 제안하는 무 정지 업데이트를 구현하기 위해서는 7가지 기본기능 이외에 추가적인 기능을 필요로 한다.
1) 클라이언트에 프로토콜의 버전을 비교하는 기능.
2) 기존 서버에 접속된 클라이언트에 신규 서버로의 이동을 알려주는 기능.
3) 사용자 데이터 및 캐릭터 데이터를 신규 서버로 이동시키는 기능 [2] .
4) 클라이언트의 접속을 신규 서버로 유도할 수 있도록 신규 서버의 접속 주소를 전달하는 기능.
5) 클라이언트가 접속을 해제하고 신규 콘텐츠를 업데이트하고 신규 서버로 접속하는 기능.
- 3.2 무 정지 서버 업데이트의 진행 절차
무 정지 서버 업데이트를 구현하여 온라인게임에 신규 콘텐츠 업데이트를 진행하면, 그 동작은 다음과 같다.
1) 클라이언트의 신규 콘텐츠 리소스를 CDN에 업로드한다.
2) 신규 콘텐츠가 업데이트된 서버를 실행한다.
3) 기존 서버에 신규 서버 오픈을 통지한다.
4) 기존 서버에 접속되어있는 클라이언트로 신규서버의 접속 주소를 전송하고 접속을 해제한다. 이 시점부터 접속하는 기존 클라이언트의 접속은 Fig 3 의 프로토콜 버전 비교 코드를 이용하여 기존 접속된 클라이언트와 같은 절차를 진행한다.
PPT Slide
Lager Image
The compare-code of protocol version.
5) 기존 서버가 클라이언트 접속을 해제하기 전에 최종 사용자 데이터 및 캐릭터 데이터를 데이터베이스에 저장하여, 클라이언트가 신규 서버로 접속할 때 최종 게임 환경을 제공 받을 수 있도록 한다.
6) 접속을 해제한 클라이언트는 CDN에서 신규 콘텐츠 리소스를 다운로드하고 클라이언트를 업데이트한다.
7) 클라이언트는 기존 서버로부터 전송을 받은 신규 서버의 주소로 접속을 시도한다.
8) 신규 서버로 접속된 클라이언트가 기존 서버로 접속된 것을 확인하고 데이터베이스에 저장된 최종 사용자 데이터와 캐릭터 데이터를 읽어 와 접속된 클라이언트 세션 정보에 업데이트한다.
9) 사용자는 온라인게임의 신규 콘텐츠 업데이트를 서비스 점검 절차 없이 완료한다.
4. 연구 결과
- 4.1 연구의 효과
본 논문에서 제안하는 무 정지 업데이트는 2-1절의 일반적인 온라인게임 업데이트 방식과 다른 Fig 4 의 절차를 통해 서비스 점검 절차가 필요 없는 구조로써 신규 콘텐츠를 원하는 게임 사용자가 게임 서비스의 중단에 대한 경험을 가지지 않고도 새로운 콘텐츠를 업데이트 받을 수 있도록 할 수 있다.
PPT Slide
Lager Image
Flowchart for non-disruptive update.
일반적인 온라인게임 서버 업데이트는 서비스 점검 시간을 짧게는 1시간 내외이지만, 통상 몇 시간동안 사용자의 접속을 통제하게 된다. 게임을 좋아하는 사용자 입장에서는 기다림의 시간이 길어질수록 다른 경쟁 게임을 이용할 기회가 생기게 되며 이런 경우 사용자 이탈이 발생할 수 있다. 게임 서비스 업체는 이러한 부분을 최소화하기 위해 서비스 점검으로 게임 플레이를 못 한 사용자에게 게임 아이템 보상 같은 직접적인 보상 및 게임 이벤트를 진행하여 사용자의 이탈을 방지하기 위한 노력을 한다. 또한 버그 및 시스템 장애가 발생하는 경우 매번 서비스 점검으로 사용자 접속 통제를 하게 되어 게임 서비스업체에서는 신규 콘텐츠 업데이트의 주기를 분기별 또는 월별 등으로 주기를 정해서 시행하여 서비스점검을 최대한 줄이려는 노력을 하게 된다. 무 정지 업데이트를 적용하면, 서비스 점검 시간이 없기 때문에 새로운 콘텐츠를 상시 업데이트할 수 있게 된다.
- 4.2 연구의 응용
무 정지 업데이트의 기본 개념은 접속된 클라이언트의 정보를 다른 신규 서버로 이동하는 것으로 써, 신규 콘텐츠 업데이트 이외에도 버그 및 장애 발생시 버그가 수정된 서버로 클라이언트를 이동함으로써 장애 대응에도 응용될 수 있다. 또한 게임 이벤트가 추가된 이벤트 서버로 클라이언트를 이동시켜, 게임 사용자들에게 보다 능동적인 게임 이벤트를 제공할 수도 있으며, 일시적인 사용자 접속 증가에 따른 분산처리 과정도 매우 유연하게 처리할 수 있을 것이라 기대한다 [6] .
5. 결론 및 향후 연구
본 논문에서는 온라인게임의 신규 콘텐츠 업데이트 진행을 보다 효율적으로 개선하는 방법을 연구하였다. 일반적인 온라인게임의 콘텐츠 업데이트는 서비스 점검이라는 접속 통제하에 진행하기 때문에 서비스 업체는 서비스 점검에 대한 부담을 가지고 있다. 이 연구의 결과를 통해서 무 정지 업데이트를 적용하면 서비스 점검을 최소화하고 게임 서비스 업체의 서비스 품질도 향상될 것이다.
본 논문에서는 온라인게임의 일반적인 서비스 점검 프로세스를 사례로 사용하였다. 일반적인 서비스 점검에는 실 서비스 QA(Quality Assurance)의 과정을 통해서 품질을 보장하는 절차가 포함되어있어, 게임 콘텐츠의 이상 유무 및 게임 데이터의 정상여부를 테스트한다. 서비스 점검에서 QA는 매우 중요한 절차로써, 서비스 품질을 좌우하기도 한다.
본 논문의 향후 연구는 무 정지 업데이트에서의 QA를 효과적으로 진행하는 방법에 대해서 제안할 예정이다.
BIO
강 상 용
2012년∼현재 고려대학교 컴퓨터 정보통신대학원 재학
2008년∼현재 ㈜엔트리브소프트 개발본부 재직
관심분야 : 온라인 게임, 네트워크 프로그래밍, 소프트웨어 개발, 게임 프로그래밍
한 정 현
1982년∼1988년 서울대학교 컴퓨터공학과 학사
1989년∼1991년 University of Cincinnati, Department of Computer Science 석사
1991년∼1996년 University of Southern California (USC), Department of Computer Science 박사
1996년∼1997년 미국 상무성 National Institute of Standards and Technology (NIST) 연구원
1997년∼2004년 성균관대학교 정보통신공학부, 전임강사, 조교수, 부교수
2004년∼현재 고려대학교 정보대학 컴퓨터학과 부교수, 교수
관심분야 : 실시간 그래픽 기술(real-time graphics) 물리기반 시뮬레이션(physics-based simulation)
References
Cho E.J. 2002 “An Analysis of the Evolution of CDN Servics and Participating Operators for Multimedia Services,” The Korean Institute of Communications and Information Sciences 2 (1) 498 - 501
Suk J.W. , Kim J.Y. , Kang J.G. 2010 “Design and Implementation of Web Service System for Game Character Migration between Different-type On-line Game Servers,” Korea Information Processing Society 16 (3) 219 - 228    DOI : 10.9708/jksci.2011.16.3.219
Kim H. , Im Y. 2010 “A Scheme for Efficient Synchronization on Real Time Strategy Games,” Korea Game Society 10 (3) 83 - 92
Kim H. , Ham D. , Kim S. 2009 “A Study of Object Pooling Scheme for Efficient Online Gaming Server,” The Korean Institute of Communications and Information Sciences 9 (6) 165 - 168
Mun S. , Cho H. 2009 “A Study on Synchronization Distribution of Server Message in Online Games,” Korea Game Society 9 (2) 105 - 108
Hwang D. , Lee N. , Kwak H. 2005 “Asymmetric Distributed Multi Server Architecture for Efficient Method of Client Connection Process at Online Game Servers,” Korea Information Processing Society 12-B (4) 460 - 461
Lee N.J. , Seo D.W. , Kwak H.S. 2001 “Distributed Server Configuration Scheme for Internet Online Game,” Korea Game Society 1 (1) 32 - 34
Jung M.S. , Park K.S. 2010 “A P2P Real-Time Game System for Multiplayer on Overlay Network,” Journal of Korea Multimedia Society 13 (1) 38 - 46