DOI QR코드

DOI QR Code

A Hybrid Cloud-P2P Architecture for Scalable Massively Multiplayer Online Games

확장가능한 대규모 멀티플레이어 온라인 게임을 위한 클라우드와 P2P 하이브리드 구조

  • Kim, Jin-Hwan (School of Computer Engineering, Hansung University)
  • 김진환 (한성대학교 컴퓨터공학부 교수)
  • Received : 2020.04.17
  • Accepted : 2020.06.05
  • Published : 2020.06.30

Abstract

Today's massively multiplayer online games(MMOGs) can contain millions of synchronous players scattered across the world and participating with each other within a single shared game. The increase in the number of players in MMOGs has led to some issues with the demand of server which generates a significant increase in costs for the game industry and impacts to the quality of service offered to players. In dealing with a considerable scale of MMOGs, we propose a cloud computing and peer-to-peer(P2P) hybrid architecture in this paper. Given the two nearly independent functionalities of P2P and cloud architectures, we consider the possibility of fusing these two concepts and researching the application of the resultant amalgamation in MMOGs. With an efficient and effective provisioning of resources and mapping of load, the proposed hybrid architecture relieves a lot of computational power and network traffic, the load on the servers in the cloud while exploiting the capacity of the peers. The simulation results show that MMOGs based on the proposed hybrid architecture have better performance and lower traffic received compared with MMOGs based on traditional client-server system.

현재의 대규모 멀티플레이어 온라인 게임(MMOG)에서 전세계 수백만명의 사용자들은 특정 게임을 공유하며 동시에 참여할 수 있다. MMOG의 참여자들이 증가하면 게임 업계에 상당한 비용 증가와 서비스 품질에 영향을 주는 서버 증설 요구 등의 문제가 발생한다. MMOG의 확장성 문제를 해결할 수 있도록 본 논문에서는 클라우드 컴퓨팅과 P2P 하이브리드 구조를 제시한다. P2P와 클라우드 구조의 기능들은 거의 독립적이나 MMOG를 위하여 두 구조의 개념을 융합하고 최종 결합 형태의 응용 연구에 대한 가능성을 고려하였다. 효율적이고 효과적인 자원의 공급과 부하가 배분되는 본 논문의 하이브리드 구조는 참여자의 처리 능력을 활용함으로써 클라우드에 있는 서버의 부하 즉 상당한 규모의 컴퓨팅 능력과 통신량을 경감시킬 수 있다. 시뮬레이션 결과 하이브리드 구조에 기반한 MMOG는 전형적인 클라이언트-서버 시스템에 기반한 MMOG보다 통신량이 감소되며 성능이 향상된 것으로 나타났다.

Keywords

Ⅰ. 서론

대규모 멀티플레이어 온라인 게임(MMOG; Massively Multiplayer Online Game)의 급격한 성장은 고속으로 수행되는 게임 상호 작용과 이미지 렌더링이 제공되는 게임 플랫폼을 요구하고 있다[1] . MMOG는 온라인 컴퓨터 게임에서 가장 인기있는 유형이었으며[2] 게임 수행 방법에 따라 실행 요건이 상이한 MMORPG(Massively Multiplayer Online Role Playing Games), MMORTS (Massively Multiplayer Online RealTime Strategy), MMOFPS(Massively Multiplayer Online First Person Shooter) 등 세 가지 종류[3] 로 분류될 수 있다. MMOFPS는 지속적으로 상호작용하는 소수의 플레이어들로 유지되는 격리된 게임 서비스가 많은 반면 MMORTS와 MMORPG는 게임에 대한 욕구 충족을 원하는 모든 플레이어들을 위해 결코 중단되지 않는 가상 현실로 구성된다.

오늘날에도 MMOG는 수백만 명의 게이머들이 참여하는 가장 인기있는 게임 유형이다. MMOG는 수많은 플레이어들이 실시간 가상 환경을 공유할 수 있는 대규모 분산 응용이며 게임 운영자들은 MMOG의 높은 수준의 요건에 맞는 충분한 하드웨어 자원을 제공해야 한다. 본 논문에서는 게임에 참여하는 플레이어들의 수가 급증하더라도 MMOG의 원활한 실행이 보장되도록 컴퓨터 시스템의 서비스 품질과 확장성 문제가 해결되는 MMOG 환경을 제공하고자 한다.

MMOG에 서비스를 제공하는 가장 보편적인 방법은 대부분 클러스터 플랫폼[4] 기반의 클라이언트-서버 구조로 제공되는 집중화된 관리에 기반하고 있다. 집중화된 구조의 중앙 서버는 게임 상태의 일관성을 유지하며 플레이어들이 유발하는 부정행위도 예방할 수 있는 장점이 있다. 그러나 동시에 실행되는 플레이어들의 수가 급증할 때 집중화된 구조는 확장성의 제약이 수반된다. 특히 클러스터 기반의 집중화된 구조는 모든 통신 대역폭을 한 데이터 센터에 집중하게 되며 대규모 대역폭 처리 능력을 사전에 최대치를 설정하여 대비함으로써 최대치가 요구되지 않는 일반적 상황에서는 유지 비용의 증가와 자원의 낭비를 초래하게 된다. 이런 클라이언트-서버 시스템의 확장성 제약을 극복하기 위하여 본 논문에서는 필요한 만큼의 자원을 요구하고 공급받는 클라우드 컴퓨팅 시스템을 활용하여 MMOG의 확장성과 하드웨어 자원의 보유 문제를 해결하고자 한다.

플레이어 즉 사용자가 제공하는 자원을 MMOG 하부 구조에 통합하기 위한 메카니즘은 peer-to-peer(P2P) 방식에서 발전된 것이다[5] . P2P 기법은 본질적으로 규모 조정이 가능하므로 사용자의 수가 급증하더라도 필요한 통신 대역폭을 참여한 사용자들 간에 분산시킴으로써 병목 현상을 회피할 수 있다. 본 논문에서는 중화된 서버의 하를 감소시키는 한편 P2P 기반의 해결책을 활용함으로써 플레이어들의 수가 급증하는 MMOG를 위하여 클라우드 컴퓨팅과 P2P가 통합된 하이브리드 구조를 제시한다. 제시된 하이브리드 플랫폼에서 MMOG의 부하 조정과 확장성을 해결하기 위하여 게임 상태에 중대한 영향을 주는 액션들만 클라우드 컴퓨팅 환경의 중앙 서버에 직접 전송된다. 한편 게임 상태에 중대한 영향을 주지 않는 플레이어들의 위치 변경 액션은 P2P 환경의 플레이어들이 상호 간에 직접 교환함으로써 서버의 컴퓨팅 자원과 통신 대역폭을 크게 절감할 수 있다.

요구형 자원을 사용하는 클라우드 컴퓨팅과 사용자가 제공하는 자원을 사용하는 본 논문의 P2P 하이브리드 구조는 상호보완적인 두 방법이 통합된 것이며 MMOG 외에 비디오 스트리밍[6] , 저장장치[7] , 복제본 관리[8] , 콘텐츠 분산 응용[9] 분야 등에 활용되고 있다. 수천 명 이상의 플레이어들이 동시에 실행되며 상호 협력하는 동기적, 지속적, 상호작용적 가상 환경[10] 인 MMOG의 게임 세계는 제시된 하이브리드 구조에서 다수의 영역으로 분산 구성된다. 특정 영역에서 플레이어들이 급증할 경우 중앙 서버[11] 와 플레이어들은 역할을 분담함으로써 플레이어들의 통신 대역폭을 충분히 활용하는 대신 중앙 서버의 통신 대역폭을 대폭 절감할 수 있다. MMOG에서 영역 내 플레이어들의 수가 증가할 때 이를 수용할 수 있는 중앙 서버의 대역폭과 역할이 분담된 플레이어들의 대역폭에 대한 실험 결과가 비교 분석되었다.

본 논문에서는 MMOG를 위한 클라우드와 P2P 하이브리드 구조가 2장에서 기술되며 3장에서 MMOG의 특정 영역에서 급증하는 플레이어들을 P2P 방식에서 수용하는 방법이 기술된다. 4 장에서는 하이브리드 게임 구조에서 서버와 플레이어들의 통신 대역폭이 분석되었으며 5장에서 결론이 기술된다.

Ⅱ. 클라우드-P2P 하이브리드 구조

1. 클라우드 컴퓨팅

클라우드 컴퓨팅은 통신망으로 연결된 다수의 원격시스템을 결합하고 인터넷상에서 데이타와 태스크를 공유하도록 원격 시스템의 하드웨어와 소프트웨어 자원을 활용하는 것을 포함한다[12] . 결합된 시스템 자원들은 클라우드에 접속한 클라이언트의 요구에 따라 할당되며 다수의 사용자들에 의해 공유된다. 이런 서비스는 클라이언트로 하여금 필요한 만큼의 하드웨어와 소프트웨어를 클라우드 서비스 제공자들에게 위탁함으로써 비용의 초과 지출을 방지할 수 있다.

클라우드 컴퓨팅 배치 모델은 세 가지로 분류된다. 첫째, 사적인 클라우드는 특정 기관이 사용할 목적으로 설정된 것이다. 보안 수준이 높고 내부적으로 관리되며 통신망과 자원도 철저하게 통제되기 때문에 사적인 클라우드의 설치와 운영 시 상당한 비용과 노력이 수반된다. 둘째, 공공 클라우드는 인터넷과같은 대규모 통신망을 기반으로 비스가 제공되며 모든 사용자들이 일관성 있는 방법으로 동일한 서비스에 접근하게 된다. 구글 드라이브와 iCloud가 대표적인 공공 클라우드 서비스의 사례이다. 공공 클라우드는 많은 수의 서버가 요구되며 대규모의 시스템과 통신망을 통하여 연결되므로 신뢰성 보장 및 결함 허용성이 제공되어야 한다. 셋째, 하이브리드 클라우드는 동일 기관에 대하여 사적 클라우드와 공공 클라우드가 결합된 형태로 활용된다. 즉 높은 수준의 보안이 요구되는 운영과 자원은 사적 클라우드 방법이 활용되며 그렇지 않은 수준의 서비스는 비용대비 효율성이 높은 공공 클라우드 방법이 활용되는 것이다. 비용의 절감, 위치 및 장치의 독립성 등 여러 장점에도 불구하고 원격 데이터 저장장치로 인하여 특히 공공 클라우드 기반 시스템의 보안에 관해서는 불안 요소가 존재한다.

2. P2P

P2P 컴퓨팅도 연결된 참여자(peer) 시스템 간에 데이타와 태스크 공유가 가능하나[13] 클라우드 컴퓨팅과는 달리 모든 참여자들은 계층적으로 동일한 수준이며 동일한 태스크를 수행해야만 한다. 예를 들면 BitTorrent 같은 P2P 파일 공유 프로토콜에서 참여자들은 자원을 제공하면서 동시에 사용하기 때문에 일부 특정 시스템들만 서비스를 제공하는 클라우드 및 클라이언트-서버 모델과는 근본적 차이점이 존재한다. 분산 시스템인 P2P 시스템은 집중화 문제의 해결, 자체적인 조직 구성, 다수의 관리 도메인 유지, 저렴한 초기 투자 비용, 체계적인 성장, 높은 수준의 결함 허용, 자원의 다양성, 대규모 데이터의 공유, 분산 데이터 처리 등 많은 장점을 가지고 있다. 그러나 P2P 시스템은 불법적인 미디어 배포, 보안 유지, 비집중화에 따른 관리 능력 한계 등의 문제점도 여전히 가지고 있다.

3. 클라우드-P2P 하이브리드

주문형으로 자원이 제공되는 클라우드 컴퓨팅은 확장 성과 하드웨어 구입 문제가 완화될 수 있다[11] . 장비 임차의 가능성은 MMOG 운영자들로 하여금 하드웨어의 구매와 유지 부담을 경감시키나 확장성 효과로 인하여 컴퓨팅 능력이 무제한으로 제공될 수 있다는 착각을 유발한다. 그러나 요구형 자원의 기동 시간을 감안하고 서버를 충분히 활용하지 못함으로 인한 불필요한 비용 지출을 회피하기 위해 장비의 도입과 반납은 주의 깊게 고려되어야 한다. 즉 전적으로 주문형 자원에 기반한 기반 구조가 실현 가능하더라도 사용자가 제공하는 자원을 활용하여 MMOG의 일부 부하를 공유할 경우 MMOG 운영자의 이익은 더 증가될 수 있는 것이다.

본 논문에서는 주문형 자원을 제공하는 클라우드 시스템과 사용자가 제공하는 자원을 이용하는 P2P 시스템의 장점을 결합하여 높은 수준의 확장성을 제공하고자 한다. MMOG에 참여하는 플레이어들의 수가 급증할 경우 매우 집중화된 클라우드의 성능을 성공적으로 향상시키는데 요구되는 하드웨어가 매우 비싸기 때문에 클라우드 통신망에서확장성은 항상 난제로 간주된다. 따라서 P2P 방법을 적용하여 플레이어들의 수가 급증하더라도 참여하는 플레이어들의 컴퓨팅 처리 능력과 자원을 충분히 활용하고 이미 존재하는 클라우드를 효과적으로 결합하여 시스템 전체의 성능 향상에 대한 비용을 절감하고자 한다. 전형적인 집중 방식의 클라우드 시스템보다 훨씬 더 많은 사용자들에게 유용한 서비스와 효율적인 액세스 방법을 제공하기 위해서는 클라우드와 P2P가 결합된 하이브리드 구조가 유리하다.

제시된 클라우드-P2P 하이브리드 구조에서는 집중화된 서버의 부하가 감소되며 여러 장점이 발생할 수 있다. 첫째, P2P 기법은 본질적으로 확장이 가능하므로 사용자가 증가되면 사용자의 가용 자원도 같이 증가하게 된다. 둘째, 특정 사용자 시스템에 결함이 발생할 경우에도 P2P 통신망은 자체 복구와 재구성이 가능하며 기반구조를 강화할 수 있다. 셋째, 통신량이 사용자들 간에 분산되므로 통신 병목현상이 발생되지 않는다.

Ⅲ. 하이브리드 구조 기반의 MMOG

1. MMOG 모델

MMOG는 아바타, 객체, NPC(Non Playing Character) 등 엔터티(entity)들의 집합으로 표현되는 가상 세계이다[11] . 가상 환경의 사용자들을 대표하는 아바타는 사용자의 명령에 따라 가상 환경에서 이동하며 다른 엔터티들과 상호 작용을 할 수 있다. 예를 들면 대문과 같은 객체는 사용자에 의해 직접 제어되지 않고 아바타를 통해 상호 작용할 수 있다. NPC는 서버에 의해 제어되는 능동적 행위를 표출하는 반면 객체는 자신의 상태를 자율적으로 변경할 수 없기 때문에 수동적인 행위를 갖게 된다.

가상 환경과 상호 작용을 하기 위해서 사용자들은 클라이언트라고 하는 소프트웨어 중개자를 통하여 서버와 연결된다. 클라이언트는 묘사된 가상 환경을 사용자에게 제공하며 사용자의 액션을 메시지로 변환하여 서버에게 전송하고 갱신된 가상 환경의 결과를 수신하게 된다. 서버 관점에서 보면 가상 환경은 클라이언트 또는 NPC가 유발한 사건에 대한 반응으로 발생한 상태 변화가 시간적 순서로 모델화된 것이다.

본 논문에서는 하이브리드 구조 기반의 MMOG에서두 가지의 액션을 고려한다. 첫째, 위치 변경 액션은 게임 상태를 변경하지 않는 상태 불변 액션이며 사용자에 의해 수행되는 플레이어들이 이동할 때 발생한다. 둘째, 상태 변경 액션은 플레이어가 다른 플레이어를 공격하거나 또는 특정 아이템을 획득하는 액션으로 게임의 상태를 변경시키는 중요한 액션이다. 특히 MMORPG에서 액션의 대부분은 위치 변경 액션이다.

본 논문에서 제시된 하이브리드 구조 기반의 MMOG 가상 세계는 다수의 영역으로 분할되는 것을 가정한다. 이 영역은 관심 구역(AOI;Area of Interest)으로도 기술되며 게임 지도의 위치상 동일한 영역에 있는 플레이어들은 해당 구역에 대한 관심 그룹을 형성하며 구역 내 상태 갱신 행위만 그룹 내에서 환한다. 특정 영역에 있는 모든 엔터티들은 특정 노드에 설정된다. 여기서 노드 클라우드 컴퓨팅의 서버 또는 플레이어를 의미한다. 엔터 티들이 공간적 위치에 따라 구성되므로 영역 기반 분할은 관심 구역을 위한 효율적 해결책이다[11] . 그러나 엔터티 분산은 엔터티들이 몰려있는 영역 즉 핫 스팟(Hot Spot)의 존재로 인하여 공간적으로 대부분 획일적이지 않다. 핫 스팟으로 인한 결점 중 하나는 엔터티 관리를 하는 노드들에 대한 부담이 상당히 증가한다는 것이다.

본 논문에서 각 영역마다 특정 플레이어를 영역 조정자로 설정하며 영역 조정자는 다른 플레이어들에 비하여 컴퓨팅 능력과 통신 대역폭 처리 능력이 더 우수한 것으로 가정한다. 클라우드 컴퓨팅의 서버와 영역이 구성된 하이브리드 구조는 그림 1과 같다.

OTNBBE_2020_v20n3_73_f0001.png 이미지

그림 1. 하이브리드 구조의 서버와 영역

Fig. 1. A server and regions in the hybrid architecture

그림 1에서 클라우드 컴퓨팅 환경의 서버는 영역 1과 영역 2를 담당하는 것으로 가정한다. P1은 영역 1의 조정자 역할을 수행하며 다른 플레이어 P2, P3, P4 들과 위치 변경 액션을 직접 상호 교환한다(그림 1에서 화살표 없는 실선으로 표현). P5 도 영역 2의 조정자이며 P6 , P7 , P8 들과 위치 변경 액션을 직접 상호 교환한다. 그러나 상태 변경 액션은 모든 플레이어가 클라우드 컴퓨팅의 서버에게 직접 전송하며 그림 1에서 점선으로 표시된다. 이 서버는 플레이어의 상태 변경 액션의 승인 여부를 결정한 후 영역 조정자들인 P1, P5에게 객체가 변경된 결과를 전달(그림 1에서 화살표가 있는 실선으로 표현)하고 P1과 P5는 이 결과를 다시 영역 내 모든 플레이어들에게 전달한다.

2. 영역 내 확장성 보장

어느 시점에서 영역 내의 플레이어들의 수가 증가하여 영역 조정자의 능력을 초과할 때 작업 부하를 분산하는 것은 이 하이브리드 구조의 중요한 문제이다. 그림 2의 (a)는 영역 1(그림 1 참조)에 새로 진입한 플레이어 P9를 기존 영역 조정자 P1의 능력으로 해결이 어려워서 새로운 영역 조정자로 설정한 상황을 나타내고 있다. P1이 현재 P9까지는 감당할 수 있으나 이후에 새로 진입하는 플레이어들을 고려할 때 수용하기 어렵다고 결정한 것이다. 플레이어마다 컴퓨팅 능력과 대역폭 여유가 상이하므로 감당할 수 있는 범위 내에서 조정자의 역할을 수행하는 것으로 가정한다. 영역 조정자 P19를 영역 1의 두 번째 영역 조정자로 설정한 상황을 그림 2의 (a)가 나타내고 있다. 이때 P9는 P1과는 위치 변경 액션을 직접 상호 교환할 수 있지만 P2, P3, P4 들과는 P1 을 통해서만 위치 변경 액션을 상호 교환할 수 있다. 그리고 P9는 영역 1의 두 번째 영역 조정자로 설정되었으므로 서버로부터 상태 변경 액션 결과를 직접 수신하게 된다.

OTNBBE_2020_v20n3_73_f0005.png 이미지

그림 2. (a) P9가 추가된 영역 1

Fig. 2. (a) Region 1 with P9

이후 그림 2의 (b)처럼 P10이 영역 1에 진입할 경우 영역 조정자 P1이 P10을 수용할 수 없는 상황이라 두 번째 영역 조정자인 P9이 P10을 수용하게 되며 P10은 P9를 통해 P1은 물론 P2, P3, P4와 위치 변경 액션을 상호 교환하게 된다. P10은 서버의 상태 변경 액션 결과도 P9를 통해서 전달받게 된다.

OTNBBE_2020_v20n3_73_f0006.png 이미지

(b) P10이 추가된 영역 1

(b) Region 1 with P10

P11이 영역 1에 추가된 그림 2의 (c)에서도 P11 은 P10 과 마찬가지로 P9를 통해 P1, P2, P3, P4 플레이어들과 위치 변경 액션 결과를 상호 교환하며 서버로부터 상태 변경 액션 결과를 전달받게 된다. 그러나 P11은 P10과 P9에 대해서는 상호 간에 위치 변경 액션을 직접 교환할 수 있다.

OTNBBE_2020_v20n3_73_f0007.png 이미지

(c) P11이 추가된 영역 1

(c) Region 1 with P11

3. 영역 조정자의 알고리즘

임의의 영역 i에 새로운 플레이어가 진입할 경우 이를 해결하는 알고리즘은 그림 3에서 기술되며 설정된 변수는 다음과 같다.

OTNBBE_2020_v20n3_73_f0002.png 이미지

그림 3. 영역 i에서 새로운 플레이어를 수용하는 영역 조정자의 알고리즘

Fig. 3. Algorithm of region coordintors to handle a new player in region i

임의의 영역 i에서 첫 번째(j=1) 영역 조정자는 실제 수용할 수 있는 최대 플레이어들의 수를 Nmax라 할 때 n[i]-1개의 다른 영역 조정자들을 포함하기 위하여 Nmax에서 n[i]-1을 차감한 수를 N[i,1]로 설정한다. 즉 N[i,1]=Nmax-(n[i]-1)이 된다. 그러나 두 번째 영역 조정자부터는 수용할 수 있는 최대수로 N[i,j](j>1)로 설정되는 것을 가정한다. 1번 행에서 j가 1인 첫 번째 영역 조정자는 새로운 플레이어들이 해당 영역에 진입할 경우(3번 행참조) 4번 행의 조건을 확인한다. 여기서 Num_of_Player[i,1] 이 N[i,1]보다 적으면 첫 번째 영역 조정자는 새로운 플레이어를 수용하는 의미로 5번 행에서 Num_of_Player[i,1]를 1 증가시키게 된다. 그러나 4번 행에서 Num_of_Player[i,1] 가 N[i,1]보다 크거나 같을 경우 첫 번째 영역 조정자는 새로운 플레이어를 두 번째(8번 행에서 j는 2로 증가됨) 영역 조정자로 설정하며 이때 N[i,2]도 결정되는 것으로 가정한다. 그리고 두 번째 영역 조정자는 첫 번째 영역 조정자가 수용한 플레이어이기도 하므로 N[i,1]이 1 증가된다(9번 행 참조). 이후 지금까지 영역 i에 진입한 모든 플레이어들의 수인 Total_of_Player[i]도 1 증가시킨다 (11번 행 참조). 12번 행에서 조건(n[i]를 3으로 가정함) 이 참이면 알고리즘은 2번 행부터 다시 시작되며 이후 영역에 진입하는 새로운 플레이어는 4번 행의 조건이 참일 경우 두 번째 영역 조정자에 의해 수용되며 Num_of_ Player[i,2]가 1씩 증가된다.

두 번째 영역 조정자가 수용할 수 없는 플레이어가 진입할 경우 8번 행에서 j가 3으로 증가되며 이 플이어는 세 번째 영역 조정자로 설정되고 첫 번째 영역 조정자가 수용한 플레이어이므로 역시 N[i,1]을 1 증가시킨다. N[i,1]의 초기치가 N max-(n[i]-1)이었으나 결국 n[i]-1이 더해지므로 N[i,1]=N max -(n[i]-1)+(n[i]-1)=N max가 되는 것이다. 즉 첫 번째 영역 조정자는 n[i]가 3일 경우 j가 2와 3인 두 영역 조정자를 포함하여 Nmax 개의 플레이어들을 모두 수용할 수 있는 것이다. 2번 행부터 알고리즘이 다시 수행되며 j가 3인 세 번째 영역 조정자가 새로운 플레이어를 더 이상 수용할 수 없는 상황(Num_of_Player[i,3] ≥ N[i,3])이 되면 8번 행에서 j가 4로 증가되더라도 12번 행의 조건(j=4 > n[i]=3)이 거짓이므로 이 알고리즘은 더 이상 수행되지 않는다.

Ⅳ. 성능 분석

1. 실험 환경과 변수

본 논문에서는 가상의 MMOG가 하이브리드 구조에 적용되는게임 모델을 가정한다. 실제 FPS 게임인 Quake II[15] 에서는 플레이어가 초당 20회 정도 위치를 변경하며 이 결과를 다른 플레이어들에게 전송한다. 본 논문의 게임 모델에서는 각 플레이어가 자신과 NPC를 포함한 객체들에 대하여 초당 10회의 위치 변경 액션을 수행하며 영역 내 다른 플레이어들에게 전송하는 것으로 가정한다.

각 플레이어는 16개 이상 48개 이하의 객체들을 유지하며 평균 객체 수 Obj_num은 32로 설정하고 객체의 평균 크기 Obj_size는 200바이트로 가정한다. 영역 i의 j번째 영역 조정자가 위치 변경 액션을 직접 전송해야 하는 플레이어들의 수는 N[i,j]로 기술한다. 이 플레이어들은 자신이 보유한 객체들의 위치 변경 액션을 다른 N[i,j] 플레이어들에게 전송할 때 필요한 통신 대역폭 Band[i,j]_of_pos(Bytes/초)은 다음과 같다.

\(\text { Band[i,j]_of_pos=Obj_num }^{*} \mathrm{Obj}_{-} \text {size }^{*} \mathrm{~N}[\mathrm{i}, \mathrm{j}]^{*} 10\)       (1)

또한 이 모델에서 플레이어는 다른 MMOG와 유사하게 플레이어와 객체 간의 상호작용인 음식 섭취 그리고 플레이어들 간의 상호작용인 전투 행위 등 두 가지 전형적인 상태 변경 액션도 분당(60초) 평균 5회씩 각각 수행되는 것으로 가정한다. 각 플레이어가 음식 섭취와 전투 행위에서 각각 1 개 객체의 상태를 변경하는 것을 가정하여 중앙 서버에게 상태 변경 액션을 전송할 때 필요한 대역폭 Band_of_state는 다음과 같다.

\(\text { Band_of_state=Obj_size*(5+5)/60 }\)       (2)

Band_of_state는 Band[i,j]_of_pos에 비해서 크기가 작다. 모든 영역의 전체 플레이어들의 수 N total로부터 수신한 Band_of_state를 중앙 서버가 컴퓨팅한 후 갱신된 객체들을 N coordi 개의 영역 조정자들에게 전송할 경우 중앙 서버가 필요한 대역폭 Band_of_erver는 다음과 같다.

\(\text { Band_of_server=N }_{\text {total }} \text { *Band_of_state* } \mathrm{N}_{\text {coordi }}\)       (3)

임의의 영역 i의 영역 조정자 j를 k(1≤ ≤ Ncoordi )번째 영역 조정자라 가정한다. 영역 조정자 k는 중앙 서버로부터 수신한 Ntotal*Band_of_state를 자신이 직접 위치 변경 액션을 상호 교환해야 하는 N[i,j] 플레이어들에게 다시 전송하게 되고 이때 필요한 대역폭 Band[i,j]coordi 는 다음과 같다.

\(\text { Band[i,j] }_{\text {coordi }}=\mathrm{N}_{\text {total }} \text { *Band_of_state* } \mathrm{N}[\mathrm{i}, \mathrm{j}]\)       (4)

2. 통신 대역폭 분석

본 논문의 하이브리드 구조에서 중앙 서버는 플레이어들의 상태 변경 액션만 수신해서 처리 결과를 영역 조정자들에게 전송한다. 실험에서 초기에 플레이어들의 수 Ntotal은 50000 명이며 영역 내 평균 플레이어들의 수는 50명까지 구성되는 것으로 가정함에 따라 1000개의 영역이 필요하다. i 영역의 j 영역 조정자는 평균 50명의 플레이어들 N[i,j]에게 위치 변경 액션과 상태 변경 액션 결과를 전송할 수 있는 것으로 가정한다. 시간이 점차 지남에 따라 일부 영역에 진입하는 플레이어들이 50명씩 증가되어 한 영역에 최대 200명까지 플레이어들이 구성되는 상황을 가정하여 실험을 수행하였다.

1000개의 영역 중 20%인 200개 영역에만 10000명씩의 플레이어들이 추가로 진입할 경우 영역당 평균 50명의 플레이어들이 증가하게 되고 새로운 영역 조정자가 200개씩 증가된다. 초기에 50000명인 플레이어들이 10000명씩 80000명까지 증가할 경우 수식 (1)의 플레이어들의 평균 통신 대역폭과 수식 (4)의 영역 조정자들의 평균 통신 대역폭이 그림 4에 나타났다. 일반 플레이어들의 통신 대역폭은 전체 플레이어들의 수가 증가하더라도 수식 (1)에 따라 거의 일정하게 유지된다. 그러나 영역 i의 영역 조정자 j인 k번째 영역 조정자는 수식 (4)에서 N[i,j]는 일정하더라도 전체 플레이어들의 수 Ntotal이 증가되므로 이에 비례하여 통신 대역폭이 증가하게 된다. 영역 조정자도 플레이어의 역할을 수행하므로 실제 수식 (4)의 결과에 수식 (1)의 대역폭이 추가되어야 하나 그림 4에서 영역 조정자의 대역폭에 수식 (1)의 대역폭이 포함되지 않았다.

OTNBBE_2020_v20n3_73_f0003.png 이미지

그림 4. 전체 플레이어들의 수 Ntotal에 따른 플레이어와 영역 조정자의 대역폭

Fig. 4. Bandwidth of player and region coordinator for Ntotal, number of totalplayers

그림 5에서 전체 플레이어들의 수가 증가하더라도 그림 3의 알고리즘에 따라 영역 조정자들을 추가로 활용하는 중앙 서버_1에서는 수식 (3)에 따라 서버의 통신 대역폭이 완만하게 증가된다. 플레이어들의 수가 50000명일 경우 초당 1.55GB의 대역폭이 필요하며 10000명씩 증가되더라도 초당 1GB 이하의 추가 대역폭이 요구되나 영역 조정자를 추가로 활용하지 않는 중앙 서버_2의 경우에는 10000명이 증가할 때마다 플레이어 수 제곱에 비례하는 초당 20 GB, 43GB, 74GB를 초과하는 중앙 서버의 대역폭이 계속 요구되었다. 즉 P2P 시스템의 클라이언트를 영역 조정자로 활용함으로써 클라우드 컴퓨팅에 구성되는 중앙 서버의 통신 대역폭과 컴퓨팅 자원을 대폭 절감하며 증가하는 플레이어들을 MMOG에 수용할 수 있다.

OTNBBE_2020_v20n3_73_f0004.png 이미지

그림 5. 전체 플레이어들의 수 Ntotal에 따른 서버 대역폭

Fig. 5. Bandwidth of server for Ntotal, number of total players per region

Ⅴ. 결론

본 논문에서 수만 명 이상의 플레이어들이 참여하는 MMOG를 위하여 클라우드 컴퓨팅의 서버와 P2P 시스템[16,17] 의 장점을 모두 활용하는 하이브리드 구조를 제시한다. 특히 클라우드 컴퓨팅의 중앙 서버는 게임 세계의 주요 데이터를 관리하며 보안성을 강화할 수 있다. 이 하이브리드 구조에 기반한 MMOG는 게임 세계를 다수의 영역으로 분할하며 각 영역에서 처리 능력과 통신 대역폭이 충분한 플레이어를 영역 조정자로 설정한다. 영역 조정자는 중앙 서버로부터 수신한 상태 변경 액션 결과를 영역 내 관련 플레이어들에게 전송함으로써 서버의 통신 대역폭과 컴퓨팅 자원의 사용을 최소화할 수 있다. 그리고 영역 내 진입하는 플레이어들이 급증하는 상황에서도 서버를 활용하는 대신 영역 조정자의 허용가능한 통신 대역폭과 컴퓨팅 자원을 활용하여 증가되는 플레이어들이 MMOG에서 수용되도록 하였다.

References

  1. W. Zhang, J. Chen, Y. Zhang and D. Raychaudhuri, "Towards Efficient Edge Cloud Augmentation for Virtual Reality MMOGs," 2nd ACM/IEEE Symposium on Edge Computing, pp. 1-14, 2017. https://doi.org/10.1145/3132211.3134463.
  2. Research in China. China Online Games Market Report, http://www.researchinchina.com/Htmls/Report/2008/1944.html, 2008.
  3. M. Ye and L. Cheng, "System-Performance Modeling for Massively Multiplayer Online Role-Playing Games." IBM Systtems Journal, v. 45, no. 1, pp. 45-48, 2006. https://doi.org/10.1147/sj.451.0045.
  4. F. Chang, W. Feng, W. C. Feng and J. Walpole, "Provisioning On-line Games: A Traffic Analysis of a Busy Counter-Strike Server," Internet Measurement Workshop, 2002.
  5. I. Barri, C. Roig and F. Gine, "Distributing game instances in a hybrid client-server/P2P system to support MMORPG playability," Multimedia Tools and Applications, v. 75, Issue 4, pp. 2005-2029, 2016. https://doi.org/10.1007/s11042-014-2389-0.
  6. A. Payberah, H. Kavalionak, V. Kumaresan, A. Montresor and S. Haridi. "Clive: Cloud-assisted p2p live streaming," 12th IEEE P2P Conference on Peer-to-Peer Computing, Spain, 2012. https://doi.org/10.1109/P2P.2012.6335820.
  7. H. Xu, Y. Shi, Y. Liu, F. Gao and T. Wan, " Integration of cloud computing and p2p: A future storage infrastructure," IEEE International Conference on Quality, Reliability, Risk, Maintenance, and Safety Engineering, pp. 1489-1492, 2012. https://doi.org/10.1109/ICQR2MSE.2012.6246507
  8. H. Kavalionak and A. Montresor, "P2p and cloud: A marriageof convenience for replica management," Self-Organizing Systems, pp. 60-71, 2012. https://doi.org/10.1007/978-3-642-28583-7_6.
  9. K. Lee, "Study on the Development of Convergence lesson about Computer with Internet Marketing subject in University," Journal of the Korea Academia-Industrial cooperation Society, v. 19, n. 9, pp.7-12, 2018. https://doi.org/10.5762/KAIS.2018.19.9.7.
  10. L. Fan, P. Trinder and H. Taylor, "Design issues for peer-to-peer massively multiplayer online games," Int'l Journal of Advanced Media and Comunication, v. 4, no. 2, pp. 108-125, 2010. https://doi.org/10.1504/IJAMC.2010.032138.
  11. H. Kavalionak, E. Carlini, L. Ricci, A. Montresor and M. Coppola, "Integrating Peer-to-Peer and Cloud Computing for Massively Multiuser Online Games," Peer-to-Peer Networking and Applications, v. 8, n. 2, 2013. https://doi.org/10.1007/s12083-013-0232-4.
  12. N. Thomas, M. Thomas and K. Chandrasekaran, "Multimedia Streaming using Cloud-Based P2P Systems," B. Knutsson, H. Lu, W. Xu, and B. Hopkins," 3rd International Conference on Recent Trends in Computing, pp. 25-32, 2015. https://doi.org/10.1016/j.procs.2015.07.359.
  13. A. Yahyavi and B. Kenne, "Peer-to-peer architectures for massively multiplayer online games: a survey," ACM Computing Surveys, v. 46, no. 1, Oct. 2013. https://doi.org/10.1145/2522968.2522977
  14. H. Xu, Y. Shi, Y. Liu, F. Gao and T. Wan, " Integration of cloud computing and p2p: A future storage infrastructure," IEEE International Conference on Quality, Reliability, Risk, Maintenance, and Safety Engineering, pp. 1489-1492, 2012. https://doi.org/10.1109/ICQR2MSE.2012.6246507.
  15. Doom, Quake, ID Software, Inc. http://www.idsoftware.com03., 2003.
  16. Y. Jung, S. Cho, J. Lee, K. Jeong, "A Design of P2P Cloud System Using The Super P2P," International Journal of Internet, Broadcasting and Communication, v. 7, no. 1, pp. 42-48, 2015. https://doi.org/10.7236/IJIBC.2015.7.1.42.
  17. J. Kim, "Bandwidth Analysis of Massively Multiplayer Online Games based on Peer-to-Peer and Cloud Computing," International Journal of Internet, Broadcasting and Communication, v. 19, no. 5, pp.143-150, 2019. https://doi.org/10.7236/JIIBC.2019.19.5.143.