DOI QR코드

DOI QR Code

A Scalable Hybrid P2P MMOG Cloud Architecture for Load Management in a Region

영역내 부하 관리를 위한 확장적 하이브리드 P2P MMOG 클라우드 구조

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

Abstract

This paper proposes a scalable hybrid P2P(peer-to-peer) cloud architecture for MMOGs(massively multiplayer online games) which includes load management schemes for each region. A game world is divided into several game regions and each game region is serviced by at least one peer(player) in this MMOG cloud environment. The load must be managed regionally to support smooth interactions among them even in the presence of a high concentration of players in a specific region. In the proposed architecture where an efficient and effective provisioning of resources is realized, it is suitable for players to interact with cloud servers effectively and it avoids bottlenecks of the current client-server MMOG architecture. This architecture also relieves a lot of computational power and network traffic, the load on the servers in the cloud by exploiting the capacity of the players. Simulation results show that the proposed hybrid P2P cloud architecture can reduce the considerable bandwidth at the server compared to the client server architecture as the available resources grow with the number of players in crowding or hotspots.

본 논문은 영역 별로 부하가 관리되는 MMOG를 위해서 확장가능한 하이브리드 P2P 클라우드 구조를 제시한다. 게임 세계는 여러 게임 영역으로 분할되며 각 게임 영역은 이러한 MMOG 클라우드 환경에서 최소 한 개 이상의 피어 즉 플레이어에 의해 서비스된다. 특정 영역에 플레이어들의 수가 급증한 경우에도 그들의 상호 작용이 원활하게 지원되도록 부하는 영역별로 관리되어야 한다. 제시된 구조에서 자원 공급이 효율적으로 실현되며 플레이어들은 클라우드 서버와 효과적으로 상호 작용할 수 있고 기존의 클라이언트 서버 MMOG 구조에서의 병목 현상을 회피할 수 있다. 이 구조는 플레이어들의 처리 능력을 활용함으로써 클라우드에 있는 서버의 부하 즉 컴퓨팅 능력과 통신량을 절감하게 된다. 시뮬레이션 결과 제시된 하이브리드 P2P 클라우드 구조는 혼잡 지역 또는 핫스팟에서 플레이어들의 수에 따라 이용가능한 자원도 같이 증가됨에 따라 클라이언트 서버 구조에 비하여 서버의 통신 대역폭을 상당부분 감소시킬 수 있는 것으로 나타났다.

Keywords

Ⅰ. 서론

MMOG는 실세계의 수많은 플레이어들이 참여하는 실시간 가상 세계이며 전형적으로는 다수의 게임 서버들로 구성된 멀티 서버 구조로 작동된다[1]. 게임 서버들은 가상의 게임 세계를 시뮬레이션하는 것 외에 플레이어들로 부터 명령어를 수신하고 처리하며 과금 시스템과도 연동된다[2]. 더욱 많은 플레이어들을 수용하기 위하여 MMOG는 다양한 작업 부하를 포함한 환경 변화에 유연하게 대처할 수 있는 새로운 구조를 요구하게 된다.

게임 업체들은 수십만 대의 컴퓨터를 게임의 하부구조로 설치하고 운영할 필요가 있으며 실제 MMOG인 World of Warcraft도 만대 이상의 컴퓨터들이 하부구조로 구성되었다[3]. 서버의 부하를 감소시킬 수 있는 전형적이며 단순한 해결책은 과부하가 발생한 지역에 여러 대의 서버를 설치하는 것이나 확장성의 한계가 존재한다. 전형적인 클라이언트 서버 MMOG 구조에서 플레이어들은 하나의 서버에 작업 요청을 송신하므로 이 구조는 쉽게 구현될 수 있다. 그러나 한 서버가 많은 플레이어들의 명령어를 직접 수신하고 처리한 후 갱신된 상태를 다시 플레이어들에게 전송하게 되므로 통신 대역폭이 부족하게 되고 플레이어들에 대한 지연 시간이 발생할 수 있어 확장성이 제한된다.

이러한 문제를 해결하고자 통신 대역폭을 여러 서버에 분산시키고 서버마다 별도의 기능이 수행되는 멀티 서버 MMOG 구조도 존재한다[4]. 이런 구조에서 특정 지역의 플레이어들을 서비스하는 지역 서버가 설정되며 플레이어는 관련된 지역 서버에게 작업 요청을 송신하게 된다. 많은 플레이어들이 동일한 지역으로 유입되면 일부 지역 서버들에게 과부하 현상이 발생되므로 서비스의 품질 저하를 방지할 수 있는 부하 조정 작업이 필요하게 된다. 지역 서버들을 감시하고 부하 균형 전략을 결정하는 관리 서버도 생성될 필요가 있으나[5] 이 경우 관리 서버 자체도 시스템의 병목 현상을 유발할 수 있다[6].

본 논문에서는 MMOG에서 과부하가 발생한 지역의 피어 즉 플레이어의 자원을 활용하여 부하를 관리하고 조정하는 하이브리드 P2P 클라우드 구조를 제시한다. MMOG와 같은 자원 집중적인 응용은 대규모의 사용자들과 시스템 상태가 여러 컴퓨팅 노드에 연관되므로 자원 사용시 발생가능한 충돌 가능성에 대한 해결책도 강구되어야 한다. 클라우드 기반의 하부구조에 이러한 시스템을 개발하고 설치할 경우 많은 어려움이 있음에도 불구하고 최근에 과학, 교육, 훈련, 군용 시뮬레이션 등대 규모 시스템들과 상업적인 MMOG들이 클라우드에서 수행되고 있다[7].

MMOG 운영자들은 요구형으로 자원을 공급하는 클라우드 컴퓨팅을 활용하여 하드웨어의 구입과 유지 비용을 절감할 수 있는 합리적인 해결책을 찾을 수 있다. 즉 클라우드 컴퓨팅 활용 시에도 MMOG를 운영할 때 불필요한 서버를 유지하거나 서버의 컴퓨팅 자원과 통신대역폭을 많이 사용할 경우 상당한 비용 부담이 발생할 수 있으나 MMOG의 시스템 부하를 플레이어 즉 사용자가 제공하는 자원으로 해결하게 되면 비용을 상당 부분 절감할 수 있게 된다. 본 논문에서는 게임에 참여하는 플레이어들의 수가 급증하더라도 서버에 대한 비용 증가 없이 MMOG의 원활한 실행과 서비스 품질이 보장되는 하이브리드 P2P 클라우드 구조를 제시하고자 한다.

본 논문에서는 MMOG의 영역별로 플레이어들이 수용되는 P2P와 클라우드 컴퓨팅의 하이브리드 구조가 2 장에서 기술되며 3 장에서 MMOG의 특정 영역에서 플레이어들이 급증할 경우 관심 구역을 고려하여 영역 내조 정자들을 추가로 설정하는 방법이 기술된다. 4 장에서는 MMOG의 서버, 영역 조정자들과 플레이어들의 통신대역폭에 대한 실험 결과가 비교 분석되었으며 5 장에서 결론이 기술된다.

Ⅱ. 하이브리드 P2P MMOG 클라우드

MMOG는 게임의 복잡도를 증가시켰음은 물론 엄청난 플레이어들을 유입하는 매우 성공적인 게임으로 평가받고 있다[8]. 가장 인기있는 MMOG의 하나인 World of Warcraft도 많은 구독자들을 관리 가능한 단위로 구분하고 있으며 각 서버는 약 2 만명의 플레이어들을 담당하고 있다. MMOG 운영자들은 게임 상황에서 발생 가능한 최대 부하를 예상하여 충분한 자원을 확보해야 하므로 평상시에는 자원의 활용도가 낮을 수 있다.

클라우드 컴퓨팅은 자원의 초과 공급 문제를 해결할 수 있는 패러다임을 제공한다. 즉 MMOG 운영자들은 IaaS(Infastructure as a Service) 형태로 클라우드를 활용하여 필요한 만큼의 자원을 적시에 동적으로 공급받을 수 있는 것이다. 이러한 클라우드 컴퓨팅 사용의 잠재력은 자연스럽게 매우 커졌으며 MMOG를 제공하기 위한 소규모 게임 스튜디오나 개인의 경우 다소 불가피한 선택이 되었다. 요구형으로 자원이 공급되는 클라우드컴퓨팅은 MMOG의 확장성과 하드웨어 구입 문제를 해결할 수 있다. 즉 MMOG 운영자들이 하드웨어를 임차할 수 있으므로 하드웨어를 구입하고 유지해야 하는 부담을 경감하고 구입한 서버의 미사용으로 인한 자원 낭비와 불필요한 비용 지출도 방지할 수 있다[9]. 실제 MMOG 운영시 서버의 컴퓨팅 시간 외에도 통신 대역폭의 소비는 중요한 비용 지출 요인이 될 수 있다. 따라서 MMOG 의 일부 부하를 사용자가 제공하는 자원으로 공유할 수 있도록 MMOG 하부구조에 사용자 자원을 통합하는 메카니즘이 P2P 방식에서 진화된 것이다.

집중화된 서버의 부하를 감소시키는 P2P 기반의 해결책은 본질적으로 확장이 가능함에 따라 플레이어들의 수가 증가할 때 더 많은 자원들이 하부구조에 추가되는 이점이 있다. 또한 한 플레이어에 결함이 발생할 경우에도 P2P 통신망은 자체 수리와 재구성이 가능하여 하부구조를 견고하게 유지할 수 있으며 통신 트래픽을 여러 플레이어들에게 분산시킴으로써 병목 현상도 방지할 수 있다. 그러나 P2P 기반 하부구조는 MMOG의 요건을 수용하기 위해서는 추가적인 메카니즘이 필요하다. 특히 가상 세계에 대한 정확한 갱신과 보안 강화 기능, 플레이어들이 가지고 있는 컴퓨팅 능력과 통신망 성능에 대한 이질적 제약 요소, 플레이어의 시스템 진출입시 데이타의이동과 이용 보장 등이 해결되어야 한다[10]. 본 논문에서도 클라우드 컴퓨팅의 요구형 자원과 P2P의 사용자 제공자원이 하이브리드 형태로 원활하게 결합되는 MMOG 구조를 제시하여 확장성을 제공하고자 한다.

MMOG는 수많은 플레이어들이 동시에 실행되며 상호 협력하는 동기적이며 지속적인 대화형 가상 환경이다. 실시간 가상 환경인 MMOG와 상호 작용을 하기 위해서 P2P 시스템의 플레이어들은 클라이언트라고 하는 소프트웨어 중개자를 통하여 클라우드의 서버와 연결된다. 클라이언트는 가상 환경 화면을 플레이어에게 제공하며 플레이어의 명령어를 메시지로 변환하여 서버에게 전송하고 서버가 수정한 가상 환경의 화면을 수신하게 된다. 즉 클라이언트들은 서버와 주기적으로 동기화되는 각종 게임 객체들의 복제본을 자신의 기억 장치에 유지하는 것이다. MMOG가 다른 게임과 차별화되는 주요 요인은 단기간에 플레이어들이 급증할 수 있다는 것이다. 이런 경우에도 P2P 방식으로 플레이어들의 컴퓨팅 처리능력과 자원을 충분히 활용하고 클라우드의 기존 서버에 대한 부하를 증가시키지 않음으로써 병목 현상없이 서버에 대한 비용 절감과 시스템 성능의 향상을 동시에 달성하고자 한다.

Ⅲ. MMOG의 영역과 확장성

1. MMOG의 영역

MMOG 구조에서 보편적인 최적화 방법은 플레이어들에게 최소한의 충분한 관련 정보를 상호 교환하게 하는 것이며 이러한 운용을 관심 관리(IM: Interest Management)로 정의한다[11]. 관심 관리의 개념 활용은 서버가 플레이어들에게 전송하는 메시지의 크기를 상당히 감소시킬 수 있다. 추상적 관점에서 관심 관리는 발행 (publish)/구독(subsribe) 서비스로 모델화될 수 있으며 플레이어는 발행자와 구독자의 역할을 둘 다 수행할 수 있다.

MMOG는 엔터티(entity)들로 표현되는 가상 세계이며 엔터티들은 가상 환경에서 플레이어를 대신하는 아바타, 플레이어가 직접 제어하지 않지만 아바타와 상호 작용이 가능한 객체, 서버로 제어되는 NPC(Non Playing Character) 들로 구성된다. 실제로 플레이어들은 가상환경과 상호작용하여 새로운 엔터티를 발행하고 관련 엔터티를 구독하여 갱신되는 내용을 수신한다. 플레이어의 관련된 엔터티들을 정의하기 위한 가장 효과적이면서 간단한 전략은 아바타 근방에 있는 엔터티들을 고려하는 것이다. 일반적으로 가상 세계에서 아바타가 중심에 위치하게 되는 지역을 관심 구역(AOI: Area of Interest) 으로 정의한다[12].

임의의 엔터티나 플레이어는 전체 게임 세계를 파악할 필요가 없으며 자신의 관심 구역 내에서 발생하는 이벤트만 관심을 갖게 된다. 본 논문에서 MMOG의 가상 세계는 연속적이지만 겹치지 않는 영역으로 구성되며 각 영역에 대한 관심 관리는 해당 영역을 대표하는 영역 조정자가 수행하게 된다. 영역 조정자는 슈퍼 피어(super peer)의 의미가 있으며 영역 내에 있는 플레이어들 중 컴퓨팅 성능과 통신 대역폭이 다소 우수한 플레이어로 설정되는 것을 가정한다.

클라우드 컴퓨팅 기반의 P2P 시스템을 사용하는 본 논문의 MMOG에서 두 가지의 액션이 고려된다. 첫째, 게임 상태를 변경하지 않는 상태 불변 액션으로서 플레이어들이 이동할 때 발생하는 위치 변경 액션이다. 둘째, 특정 플레이어가 다른 플레이어를 공격하거나 또는 특정 아이템인 변경가능한 객체를 획득하는 등 게임의 중요한 상태를 변경시키는 상태 변경 액션이다. 특히 MMORPG (Massively Multiplayer Online Role Playing Games) 에서 액션의 대부분은 위치 변경 액션으로 구성된다[13]. 클라우드 컴퓨팅의 서버, 영역 조정자들과 영역내 플레이어들이 구성된 MMOG 구조는 그림 1과 같다.

그림 1. 하이브리드 P2P MMOG 클라우드 구조

Fig. 1. A hybrid P2P MMOG cloud architecture

그림 1에서 검은 색 원으로 나타난 영역 조정자는 영역 내 플레이어가 위치 변경 액션(점선으로 표현)을 요청할 경우 이 결과를 영역 내 다른 플레이어들에게 즉시 전송한다(실선으로 표현). 그리고 플레이어의 상태 변경 액션(파선으로 표현)은 서버에게 직접 전송되며 서버는 이를 승인하고 처리할 경우 해당 영역 조정자에게 갱신된 결과를 전송하고(실선으로 표현) 영역 조정자는 영역 내 다른 플레이어들에게 이 결과를 다시 전송하게(실선으로 표현) 된다.

2. 확장성과 부하 분산

본 논문에서 MMOG를 구성하는 영역의 크기는 동일하며 각 영역은 16 개의 타일로 구성되는 것을 가정한다 (그림 2 참조). 컴퓨터 화면에서 타일은 표시되지 않으며 영역은 관심 구역보다 크거나 같을 수 있으며 본 논문에서는 영역과 관심 구역의 크기가 같은 것으로 가정한다.

그림 2. 16 개의 타일로 구성된 영역

Fig. 2. A region with 16 tiles

임의의 영역에 처음 진입하는 플레이어는 컴퓨팅 능력과 통신 대역폭이 충분하며 서버에 의해 해당 영역의 조정자로 설정되는 것을 가정한다. 본 논문에서는 특정 플레이어가 영역 조정자로 설정된 경우 16 플레이어들까지 수용할 수 있는 것으로 가정한다. 즉 플레이어 1이 영역조정자 1로 설정되면 이후 플레이어 16까지 즉 자신을 제외한 15 플레이어들한테 위치 변경 액션과 상태 변경 액션 결과를 전송하게 된다. 이후 플레이어 17이 영역 조정자 2로 설정되면 16 개의 타일들은 8 개씩 분할되어두 개의 영역 조정자들이 관리하게 되며 플레이어 33이 영역 조정자 3으로 설정되면 영역 조정자 1이 관리하던 8 개의 타일들은 다시 4 개씩 분할되어 영역 조정자 1과 영역 조정자 3이 관리하게 된다. 그림 3에서 영역 조정자 번호 괄호안에 있는 번호는 관리하는 타일들의 수를 의미한다. 동일한 방법으로 플레이어 49는 영역 조정자 4 로 설정되고 영역 조정자 2가 관리하던 타일 8개 중 4 개를 관리하게 된다. 이후 플레이어 65, 81, 97, 113, 129, 145, 161, 177, 193, 209, 225, 241 들은 영역조정자 5부터 16으로 각각 설정되며 영역 조정자의 수가 증가할 수록 관리하는 타일들의 수가 점차 감소된다. 영역 조정자 9부터 16까지 설정되면 모든 영역 조정자들은 각각 1 개의 타일만 관리하게 된다.

그림 3. 영역 조정자 번호와 타일 수

Fig. 3. Number of region coordinator and its tiles

영역 조정자 1부터 16이 관리하게 되는 타일들은 그림 4와 같이 구성되며 Tiles(j)는 영역 조정자 j가 관리하는 타일들을 의미한다. 그림 4의 (h)는 16 개의 영역 조정자들이 각각 1 개의 타일을 관리하게 되는 상황을 의미한다.

그림 4. Tiles(1)부터 Tiles(16)

Fig. 4. From Tiles(1) to Tles(16)

각 영역 조정자가 15 개 플레이어들씩 수용할 경우 영역 내에 최대 256 개의 플레이어들이 존재할 수 있게 된다. 임의의 영역에 새로운 플레이어가 진입할 때 영역 조정자를 결정하는 알고리즘은 그림 5에서 기술되며 필요한 변수들은(초기치는 모두 0으로 설정) 다음과 같다.

i: 영역에 진입하는 플레이어 번호이다.

Max[j]: 플레이어 i가 수용할 수 있는 플레이어들의 수

j: 영역 조정자 번호이다.

Num: 기존의 영역 조정자들이 수용할 수 있는 플레이어들의 수이다.

Coordi[j]: 영역 조정자 j에 해당하는 플레이어 번호

Coordi_Tiles[j]: 영역 조정자 j가 책임지는 타일들

그림 5. 새로운 영역 조정자를 설정하기 위한 알고리즘

Fig. 5. An algorithm for a new region coordinator

임의의 영역에 진입하는 플레이어 i의 번호가 기존의 영역 조정자가 수용할 수 있는 플레이어들의 수 Num보다 1만큼 크면 해당 플레이어는 새로운 영역 조정자로 설정된다. Num의 초기치는 0이고 최초로 진입하는 플레이어는 i가 1이므로 if 조건이 참이 되어 j가 1인 영역조정자 1이 설정된다. Coordi[1]은 1이며 Max[1]을 15 로 가정할 경우 플레이어 1을 포함한 Num은 16으로 설정된다. 그리고 영역 조정자 1이 책임지는 타일들은 Tiles(1) 함수의 결과로 그림 4의 (a)로 구성되는 것을 가정한다. 이후 플레이어 2부터 플레이어 16까지는 조건이 거짓이므로 새로운 영역 조정자는 설정되지 않는다. i가 17일 경우 현재의 Num이 16이고 1이 더해진 숫자 17 과 동일하므로 조건이 참이 되어 플레이어 17은 j가 2인 영역 조정자 2로 설정되는 것이다. 영역 조정자가 책임지는 타일들 Coordi_Tiles[2]도 Tiles(2) 함수에 의해 그림 4의 (b)와 동일하게 구성된다. 그리고 새로운 Num 은 Max[17](= 15)과 1이 합해져서 32로 설정된다.

임의의 플레이어 i의 Max[i]를 동일하게 모두 15로 설정할 경우 플레이어 33은 영역 조정자 3이 되고 Tiles(3)은 그림 4의 (c)로 구성되며 플레이어 49는 영역조정자 4가 되고 Tiles(4)는 그림 4의 (d)로 구성된다. 동일한 방법으로 영역 조정자 5의 Tiles(5)부터 영역 조정자 16의 Tiles(16)까지 그림 4의 (e)부터 (h)로 구성된다.

3. 관심 구역의 이동

임의의 영역에서 플레이어는 영역 내 영역 조정자들에게 자신의 위치 변경 액션 결과를 전송해야 한다. 그러나 자신의 관심 구역이 여러 영역에 걸쳐 있는 경우 다른 영역의 영역 조정자들에게도 위치 변경 액션 결과를 전송해야 할 필요가 있다. 그림 6에서 A, B, C, D로 표시된 4개의 영역에 특정 플레이어 X의 관심 구역이 걸쳐있으며 이는 AX, BX, CX, DX로 표시되었다.

그림 6. 4 개 영역에 걸쳐있는 관심 구역 X

Fig. 6. AOI X on four regions A, B, C and D

A 영역의 (0, 2), (0, 3), (1, 2), (1, 3) 타일들, B 영역의 (0, 0), (0, 1), (1, 0), (1, 1) 타일들, C 영역의 (, 2, 2), (2, 3), (3, 2), (3, 3) 타일들, D 영역의 (2, 0), (2, 1), (3, 0), (3, 1) 타일들은 특정 플레이어 X의 현재 관심 구역으로 클라우드 컴퓨팅 서버에 등록이 되어 있는 것으로 가정한다. 따라서 네 영역의 각 타일을 책임지는 영역 조정자들로부터 해당 영역에 있는 플레이어들의 위치변경 액션 결과와 상태 변경 액션 결과를 수신하며 자신의 위치 변경 액션 결과도 해당 영역 조정자들에게 전송하게 되는 것이다.

특정 플레이어 X가 그림 6에서 오른쪽으로 한 타일만큼 이동하게 되면 A 영역의 (0, 2), (1, 2) 타일들과 C 영역의 (2, 2), (3, 2) 타일들은 관심 구역에서 사라지고 대신 B 영역의 (0, 2), (1, 2) 타일들과 D 영역의 (2, 2), (3, 2) 타일들이 추가된다. 이러한 내용들은 서버로 모두 전송되며 변경된 타일의 영역 조정자로부터 해당 영역에 있는 플레이어들의 위치 변경 액션과 상태 변경 액션 결과를 특정 플레이어 X가 수신하게 된다.

즉 플레이어가 위치 변경을 할 때마다 관심 구역을 구성하는 타일들이 변경되면 각 타일을 책임지는 영역 조정자들도 변경될 수 있고 이들로부터 변경 액션 결과를 수신하고 자신의 위치 변경 액션 결과도 관련된 영역 조정자들한테 전송하게 된다.

IV. 성능 분석

1. 실험 환경과 변수

본 논문에서는 MMOG의 게임 세계가 총 1024 개의 영역으로 구성되는 것을 가정한다. 이 중 25%인 256 개의 영역에만 플레이어들이 급증하며 나머지 768 개의 영역에는 16 플레이어들이 계속 동일하게 유지되는 것으로 가정한다. 또한 가상의 MMOG가 클라우드 컴퓨팅 기반의 P2P 시스템에 적용되는 모델을 가정한다[14]. 예를 들어 게임에 참여하는 임의의 플레이어가 현관을 걸어갈 때 발생하는 연속적인 위치 변경 액션은 해당 타일의 영역 조정자를 통해서 관심 구역이 겹치는 모든 플레이어들에게 주기적으로 전송하게 된다. 그리고 임의의 플레이어가 바닥에 있는 동전을 집을 때 발생하는 상태 변경 액션은 클라우드 컴퓨팅 서버에 직접 전송되며 서버는 동전이 더 이상 바닥에 존재하지 않는 변경된 화면을 관련 영역 조정자들을 통하여 다른 모든 플레이어들에게 전송하게 된다. 본 논문에서는 각 플레이어의 위치 변경 액션 요청과 결과에 대한 대역폭을 20 바이트로 가정하며 객체에 대한 상태 변경 액션 결과를 320 바이트로 각각 가정한다[15]. 각 플레이어의 위치 변경 액션은 초당 평균 10 회 그리고 객체에 대한 상태 변경 액션은 분당 평균 6 회씩 수행되며 영역 내 플레이어들의 수와 객체들의 수는 동일한 것으로 가정한다.

임의의 플레이어 i가 n 개의 영역 조정자들한테 전송하는 위치 변경 액션 결과와 서버한테 직접 전송하는 상태 변경 액션 결과의 평균 대역폭 Bpl(i)는 수식 (1)과 같으며 초당 바이트 수를 의미한다.

Bpl(i)=20*10*n+320*6/60       (1)

본 논문에서 한 영역은 16 개의 타일로 구성되는 것을 가정했으므로 수식 (1)에서 영역 조정자들의 수 n은 최대값이 16이다. 영역 조정자인 플레이어는 자신에게 위치 변경 액션 결과를 별도로 전송할 필요가 없으므로 n-1 영역 조정자들한테만 위치 변경 액션 결과를 전송하게 된다.

임의의 영역 조정자 j의 평균 대역폭 Bco(j)은 수식 (2) 와 같다.

Bco(j)=20*10*m*m+320*6/60*m*m       (2)

영역 조정자 j가 위치 변경 액션과 상태 변경 액션 결과를 전송해야할 플레이어들의 수를 수식 (2)에서 m으로 설정한 것이다. 영역 조정자 j는 m 플레이어들로부터 수신한 위치 변경 액션 결과(수식 (2)의 20*10*m)와 서버로 부터 수신한 m 객체에 대한 상태 변경 액션 결과(수식 (2)의 320*6/60*m)를 다시 m 플레이어들한테 전송해야 한다.

서버가 전체 영역 조정자들한테 전송하는 상태 변경 액션 결과의 대역폭 Bser는 수식 (3)과 같다.

\(B_{\text {sef }}=320^{*} 6 / 60^{*}\left(768^{*} \sum_{k=1}^{28} N_{k}+256^{*} \sum_{1=1}^{25 M_{1}}\right)\)        (3)

수식 (3)에서 플레이어들의 수가 16까지만 유지되는 768 개 영역의 플레이어들 수를 Nk라 하고 플레이어들의 수가 16을 초과하여 급증하는 256 개 영역의 플레이어들 수를 Ml로 각각 설정하였다. 서버는 1024 개 영역에 있는 플레이어들로 부터 상태 변경 액션을 수신하고 처리한 후 서버는 다시 1024 개의 영역에 있는 영역 조정자들한테 전송하게 된다.

2. 통신 대역폭 분석

MMOG의 1024 개 영역 중 256 개 영역에만 플레이어들이 증가하는 상황을 가정하여 실험이 수행되었다. 1024 개 영역에 16 명의 플레이어들이 있을 경우 총 플레이어 수는 16384가 된다. 이후 시간이 지남에 따라 256 개의 영역에만 플레이어들이 동일한 비율로 증가하여 영역당 64 명, 128 명, 192 명, 256 명의 플레이어들이 각각 유지되어 총 플레이어들의 수가 28672 명, 45056 명, 61440 명, 77824 명이 된 경우 통신대역폭이 분석되었다.

총 플레이어들의 수 Total이 증가함에 따라 256 개 영역 내 영역 조정자들의 수 n과 수식 (1)에 따라 영역 조정자가 아닌 플레이어 i의 평균 대역폭 Bpl(i)는 표 1과같이 기술되었다. 영역 내 영역 조정자들의 수 n이 증가함에 따라 플레이어의 평균대역폭 Bpl(i)도 비례하여 증가됨을 알 수 있다. 수식 (2)에 따라 m이 15일 경우 영역조정자들의 대역폭은 52200 바이트/초가 되며 영역 조정자인 플레이어들과 영역 조정자가 아닌 플레이어들을 모두 고려한 평균 대역폭 Bmean도 표 1에서 기술되었다. Bmean도 영역 조정자 n의 증가에 비례하긴 하나 Bpl(i)와비교할 경우 최대 15 배에서 최소 2.1 배로 증가폭이 다소 완만하게 나타났다.

표 1. 영역 조정자가 포함된 플레이어의 평균 대역폭

Table 1. Mean bandwidth of player with the region coordinator

1024 개 영역에 대한 영역 조정자를 이용하지 않고 서버가 16384 명의 플레이어들과 직접 상태 변경 액션 결과를 처리하고 전송할 경우 필요한 서버의 통신 대역폭 Bactual은 다음과 같다.

Bactual=320*6/60*16384*16384        (4)

=8192 MB/초

그러나 서버가 1024 개의 영역 조정자를 활용할 경우 통신 대역폭은 수식 (3)에 따라 512 MB/초로 감소된다. 1024 개 영역마다 16 명의 플레이어들이 존재하므로 수식 (3)의 Nk와 Ml은 모두 16이다. 그러나 256 개 영역에만 플레이어들이 급증하여 Total이 28672, 45056, 61440, 77824로 증가될 경우 Ml도 각각 64, 128, 192, 256 명으로 증가되며 이에 대한 서버의 통신 대역폭 Bser(그림 7에서 ‘영역 조정자 활용’으로 표기)는 GB/초로 기술되며 완만하게 증가되는 것으로 나타났다. 그러나 256 개 영역에서 추가 영역 조정자를 활용하지 않고 서버가 직접 증가된 플레이어들의 상태 변경 액션을 처리하고 전송할 경우 필요한 통신 대역폭(그림 9에서 ‘영역 조정자 미활용’으로 표기) B’ser는 급격하게 증가되는것으로 나타났으며 Bser보다 최소 6.4 배에서 13.64 배로 증가되었다.

그림 7. 플레이어들의 수 Total에 따른 서버의 평균 대역폭

Fig. 7. Mean bandwidth of the server for Total, number of players in the MMOG

MMOG의 특정 영역에 진입하는 플레이어들의 수가 급증할 경우 일부 플레이어들을 영역 조정자로 설정함으로써 최대한 사용자 자원을 활용하고 서버의 부하를 증가시키지 않는 P2P 시스템[16]의 플레이어와 서버의 통신대역폭 결과가 본 논문에서 분석되었다.

V. 결론

본 논문은 다수의 영역으로 구성되는 MMOG에서 플레이어들의 수가 급증할 경우 영역 내 플레이어들의 자원을 효과적으로 사용하고 서버의 부하를 최소화함으로써 전체 시스템의 부하 관리를 효율적으로 수행할 수 있는 확장적 하이브리드 P2P MMOG 클라우드 구조를 제시한다. 제시된 구조에 기반한 MMOG는 각 영역에서 통신 대역폭과 컴퓨팅 능력이 충분한 플레이어를 영역 조정자로 설정하며 플레이어들의 위치 변경 액션 결과를 처리한다. 또한 영역 조정자는 중앙 서버로부터 수신한 상태 변경 액션 결과를 영역 내 관련 플레이어들에게 전송함으로써 서버의 통신 대역폭[17]과 컴퓨팅 자원의 사용을 최소화할 수 있다.

특히 컴퓨팅 능력이 향상된 스마트폰을 사용하는 플레이어들의 수가 급증할 경우 일부 플레이어들을 영역 조정자로 설정함으로써 최대한 사용자 자원을 활용하고 서버의 부하를 증가시키지 않는 하이브리드 P2P 클라우드 구조는 MMOG의 효율적 부하 관리 및 성능 향상을 도모할 수 있다.

References

  1. G. Wang and K. Wang, "An Efficient Hybrid P2P MMOG Cloud Architecture for Dynamic Load Management," International Conference on Information Network, 2012. DOI:https://doi.org/10.1109/ICOIN.2012.6164377
  2. A. Shaikh, S. Sahu, M.-C. Rosu, M. Shea, and D. Saha, "On Demand Platform for Online Games," IBM Systems Journal, Vol. 45, No. 1, pp. 7-20, 2006. DOI:https://doi.org/10.1147/sj.451.0007
  3. S. Sukhyun and et al., "Blue Eyes: Scalable and Reliable System Management for Cloud Computing," IEEE International Symposium on Parallel & Distributed Processing, pp. 1-8, 2009. DOI:https://doi.org/10.1109/IPDPS.2009.51
  4. Torque MMO Kit - Server Architecture http://www.mmoworkshop.com/trac/mom/wiki/ServerArchitecture.
  5. Q. Zhaoyang and W. Yanguang, "The Design of the Substation Simulation Model of Distributed Virtual Environment," International Symposium on Computational Intelligence and Design, pp. 249-252, 2009. DOI:https://doi.org/ 10.1109/ISCID.2009.69
  6. P. Zhao, T. Huang, C. Liu, and X. Wang, "Research of P2P Architecture Based on Cloud Computing," International Conference on Intelligent Computing and Integrated Systems, pp. 652-655, 2010. DOI:https://doi.org/ 10.1109/ICISS.2010.5655474.
  7. N. Kasenides and N. Paspallis, "A Systematic Mapping Study of MMOG Backend Architectures," Information, Vol. 10, No. 9, 2019. DOI:https://doi.org/10.3390/info100 90264.61232.
  8. Krause, S. "A Case for Mutual Notification: a Survey of P2P Protocols for Massively Multiplayer Online Games," ACM SIGCOMM Workshop on Network and System Support for Games, pp. 28-33, 2008. DOI:https://doi.org/ 10.1145/1517494.1517500
  9. V. Nae, R. Prodan, A. Iosup,and T. Fahringer, " A New Business Model for Massively Multiplayer Online Games. WOSP/SIPEW International Conference on Performance Engineering, pp 271-282. 2011. DOI:https://doi.org/ 10.1145/1958746.1958785
  10. H. Kavalionak, E. Carlini, L. Ricci, A. Montresor and M. Coppola, "Integrating Peer-to-Peer and Cloud Computing for Massively Multiuser Online Games," Demo: combat state-aware interest management for online games," Peer-to-Peer Networking and Applications, Vol. 5, No. 2, 2013. DOI:https://doi.org/10.1007/s12083-013-0232-4
  11. K. Morse, L. Bic, and M. Dillencourt, "Interest Management in Large-scale Virtual Environments," Presence: Teleoperators & Virtual Environments, Vol. 9, No. 1, pp.52-68, 2000. DOI:https://doi.org/10.1162/105474600566619
  12. A. Rhalibi, M. Merabti and Y. Shen. "Aoim in Peer-to-Peer Multiplayer Online Games. ACM SIGCHI International Conference on Advances in Computer Entertainment Technology, pp. 71. 2006. DOI:https://doi.org/ 10.1145/1178823.1178907
  13. M. Ye and L. Cheng, "System-Performance Modeling for Massively Multiplayer Online Role-Playing Games", IBM Systtems Journal, Vol. 45, No. 1, pp. 45-48, 2006. DOI:https://doi.org/ 10.1147/sj.451.0045
  14. J. Kim, "Bandwidth Analysis of Massively Multiplayer Online Games based on Peer-to-Peer and Cloud Computing", International Journal of Internet, Broadcasting and Communication, Vol. 19, No. 5, pp.143-150, 2019. DOI:https://doi.org/10.7236/JIIBC.2019.19.5.143.
  15. J. Jardine amd D. Zappala, "A Hybrid Architecture for Massively Multiplayer Online Games," ACM SIGCOMM Workshop on Network and System Support for Games, pp. 60-65, 2008. DOI:https://doi.org/ 10.1145/1517494.1517507
  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, Vol. 7, No. 1, pp. 42-48, 2015. DOI:https://doi.org/10.7236/IJIBC.2015.7.1.42.
  17. B. Kim, Y. Woo and I. Kim, "Aggressive Cooperative Caching Scheme in Mobile Ad Hoc Networks," The Journal of Korean Institute of Information Technology, Vol. 18, No. 1, pp. 41-48, 2020. DOI:https://doi.org/10.14801/jkiit.2020.18.1.41.