Ⅰ. 서론
대규모 멀티플레이어 온라인 게임(MMOG; Massively Multiplayer Online Game)은 전세계의 수많은 사용자들이 실시간 가상 환경을 공유할 수 있는 대규모 분산 응용이다[1] . MMOG 운영자들은 MMOG의 어려운 요건을 충족시키기 위해서 필요한 하드웨어 기반을 제공하게 된다. 사용자들이 가상 환경에 참여하기 위해서 주기적으로 지불하는 비용이 운영자의 이익이 되는 것이다. 사업 모델과 무관하게 운영자의 이익은 MMOG에 참여하는 사용자들의 수와 직결되어 있으며 인기있는 MMOG일수록 새로운 사용자를 유인할 가능성이 실제로 더 크다.
현재 대부분의 상업적인 MMOG는 집중화된 구조에 의존하고 있으며 이 구조는 사용자 인식, 가상 환경 관리, 플레이어들 간의 동기화, 과금 등 MMOG의 주요 기능을 직접 관리한다. 그러나 동시에 실행되는 사용자들의 수가 급증할 경우 집중화된 구조는 규모조정에 관한 제약 상황이 나타난다. 실제로 최대치의 서비스를 제공하기 위해 서버 클러스터를 구입 후 제한 범위 내에서 컴퓨팅 능력과 전력의 균형을 유지하며 운영한다. 클러스터 기반의 집중화된 구조는 대규모의 대역폭 능력이 미리 설정되도록 요구하며 모든 통신 대역폭을 하나의 데이터 센터에 집중시킨다. 결과적으로 플랫폼의 최대 부하를 해결하고자 대규모의 자원이 사전에 설정되는 준비 작업은 평상시에는 사용되지 않는 자원이 존재하게 되므로 MMOG 운영자들은 항상 준비 작업을 초과 상태로 유지해야 한다.
클라우드 컴퓨팅은 이러한 초과 준비 문제를 해결할 수 있는 컴퓨팅 패러다임으로 검토된 바 있으며[2] 물품이라기 보다는 서비스로서 컴퓨팅 자원을 고려하는 유틸리티 컴퓨팅 형태이다. MMOG 운영자들은 IaaS(Infrastructure as a Service) 형태[3] 로 클라우드를 활용하게 되며 MMOG의 규모조정과 하드웨어 소유 문제를 해결할 수 있다. 즉 관련 설비를 임차하는 가능성은 MMOG 운영자들이 하드웨어를 직접 구매 유지하는 부담을 경감시키며 규모조정 효과와 함께 설비를 제한없이 활용할 수 있는 상황을 유지시켜준다. 그러나 클라우드 컴퓨팅을 활용하여 MMOG를 운영할 때 서버의 실행 시간외에도 대역폭 소비가 주요 지출 원인이 될 수 있다. 따라서 요구형 자원에 기반한 구조가 사용가능하더라도 MMOG의 부하 일부를 사용자가 제공하는 자원으로 공유해서 처리할 필요가 있다.
사용자가 제공하는 자원을 MMOG에 통합하는 메카니즘은 peer-to-peer(P2P) 기법에서 유래되었다. 집중화된 서버에 대한 부하를 감소시키는 한편 P2P 기반 해결책은 규모조정, 자체 복구, 통신량 분산 등에 관한 여러 장점을 가지고 있다. 그러나 P2P 기반 하부구조는 MMOG의 요건을 충족시키기 위해서 추가 메카니즘이 필요하다. 사용자들이 시스템을 떠날 때 일부 데이터는 어딘가로 전송되어야 하며 급작스런 단절시 백업 메카니즘으로 데이터의 유용성을 보장해야만 한다. 중앙 감시 장치의 부재도 보안 강화와 가상 세계의 갱신 결과를 보장하지 못하는 문제가 있다. 또한 사용자 컴퓨터마다 컴퓨팅 처리능력과 통신 능력이 상이하여 충분히 활용되기 어려운 점도 있다.
요구형 자원과 사용자가 제공하는 자원 기법은 상호보완적이며 두 가지가 통합된 기법은 비디오 스트리밍[4], 저장장치[5], 복제본 관리[4], 콘텐츠 분산 응용[7] 분야 등에 활용된 바 있다. 이 논문도 요구형 자원을 사용하는 클라우드 컴퓨팅과 사용자가 제공하는 자원을 사용하는 P2P를 통합하는 하이브리드 구조를 MMOG에 적용하고 전체 시스템의 통신 대역폭을 분석하고자 한다. 수천 명 이상의 플레이어들이 하나의 게임 세계를 공유하는 MMOG는 대부분 RPG(Role Playing Game), RTS(Real-time Strategy), FPS(First Person Shooting) 게임 등이며 각 플레이어는 가상 세계에서 캐릭터의 역할을 가정한다[8] . 본 논문의 하이브리드 구조 기반의 MMOG는 다수의 영역으로 분할되며 각 영역에서 특정 플레이어를 영역의 조정자로 설정하게 된다.
게임 상태에 중대한 영향을 주지 않는 위치 변경 액션은 영역 내 플레이어들이 상호 간에 직접 교환하며 게임 상태에 영향을 주는 중요 액션들은 플레이어가 클라우드 컴퓨팅 환경의 서버에 직접 전송하게 된다. 클라우드의 서버는 게임 상태의 일관성을 유지하며 플레이어들이 유발하는 부정 행위도 예방할 수 있고 또한 게임 상태를 직접 플레이어들에게 전송하는 대신 영역 조정자에게 전송함으로써 상당량의 대역폭을 절감할 수 있다. 반면 영역 조정자는 서버로부터 수신한 게임 상태를 영역 내 플레이어들에게 다시 전송해야 하므로 일반 플레이어보다 다소 증가된 통신 대역폭이 필요하게 된다.
제시된 하이브리드 구조 기반 MMOG에서 특정 영역에 플레이어들이 급증할 경우에도 서버와 영역 조정자 그리고 플레이어들은 역할을 분담함으로써 영역 조정자를 포함한 플레이어들의 통신 대역폭을 충분히 활용하고 서버의 통신 대역폭을 대폭 감소시킬 수 있다. MMOG에서 영역 내 플레이어들의 수에 따른 서버의 대역폭과 영역 조정자를 포함한 플레이어들의 대역폭에 대한 실험 결과가 분석되었다.
본 논문에서는 MMOG를 위한 하이브리드 구조가 2 장에서 기술되며 3 장에서 이 구조에 기반한 MMOG의 게임 액션이 기술된다. 4 장에서는 하이브리드 게임 구조에서 서버와 플레이어들의 통신 대역폭이 분석되었으며 5 장에서 결론이 기술된다.
Ⅱ. 하이브리드 구조 기반 MMOG
1. MMOG
MMOG는 수천명 이상의 플레이어들이 동시에 실행되며 상호 협력하는 동기적이고 지속적인 상호작용적 가상 환경이다[9]. MMOG 플레이어의 기본적 경험은 가상 세계의 분신인 아바타의 존재를 갖는 것이다. 플레이어가 제어하는 아바타는 가상 세계를 방문하고 탐험하므로 위치와 연관되며 능력과 건강 척도 등은 게임 상태로 표현된다. MMOG의 다른 엔터티로는 시스템에 의해 제어되는 NPC(Non-Player Character)와 객체들도 있다. 객체들은 음식이나 무기같은 변경가능한 객체와 풍경이나 건물 같은 변경 불가능한 객체로 분류된다.
MMOG는 대규모이면서 상대적으로 속도가 다소 느린 Second Life[10] , World of Warcraft[11] 등의 RPG(Role Playing Game)와 동시 실행되는 플레이들의 수가 적고 속도가 빠른 Quake[12] 같은 FPS(First Person Shooter) 게임 등이 존재한다. 단독 혹은 집단의 일부로써 임무나 모험을 수행하는 게임 캐릭터가 게임 공간의 여러 지역을 탐험하면서 경험을 축적하여 점수를 획득하거나 다른 플레이어들과 상호 작용을 하는 행위, 특정 아이템을 찾거나 이익을 추구하는 행위 등이 전형적인 게임에 포함된다. 따라서 MMOG마다 미세한 차이는 있지만 기본 게임 메카니즘, 자료 구조, 통신 패턴 등은 매우 유사하다[8] .
2. P2P와 클라우드 컴퓨팅 기반 하이브리드
MMOG를 위한 구조는 대부분 클라이언트-서버 모델에 의존하고 있다[1] . 이 집중화된 구조는 사용자 인증, 상태 관리, 플레이어들 간의 동기화, 과금 등 가상 환경에서의 주요 기능에 대한 직접적 관리를 가능하게 한다. 그러나 동시에 실행되는 사용자들의 수가 급증할 경우 집중화된 구조는 특히 운영자를 위한 경제적 보상 관점에서 규모조정에 대한 한계가 존재하게 된다. MMOG의 부하는 다수의 서버에 분산되며 컴퓨팅 능력과 전력의 균형을 조정하면서 최대치의 서비스를 제공할 경우 서버 클러스터가 필요하게 된다. 클러스터 기반의 집중화된 구조는 모든 통신 대역폭을 특정 데이터 센터에 집중시키며 대규모 대역폭 능력을 사전에 준비하도록 요구한다. 따라서 플랫폼의 부하가 최대치를 필요로 하는 경우가 아닐 때는 사용되지 않는 자원이 존재하게 되므로 결과적으로 초과 준비 상황이 발생하게 된다.
주문형 자원 준비가 가능한 클라우드 컴퓨팅은 규모조정과 하드웨어 구입 문제를 완화시킬 수 있다[13] . 설비 임차의 가능성은 MMOG 운영자들로 하여금 하드웨어의 구매와 유지 부담을 경감시키며 제한없는 규모조정의 허용으로 자원의 무제한적 사용이 가능한 것 같은 상황을 유발한다. 또한 사용량에 따라 요금을 지불하는 과금 모델은 MMOG의 일간, 주간, 계절별 액세스 패턴을 반영하게 한다. 그러나 요구형 자원의 기동 시간 대처와 사용되지 않는 서버로 인한 불필요한 비용 지출을 회피하기 위해 장비의 도입과 반납은 주의깊게 고려되어야 한다. 즉 전적으로 주문형 자원에 기반한 하부 구조가 실현 가능하더라도 사용자가 제공하는 자원 활용은 서버의 부하를 감소시킬 수 있으며 MMOG 운영자를 위한 제반 비용을 감소시킬 수 있다.
사용자가 제공하는 자원을 MMOG 하부구조에 통합하기 위한 메카니즘은 P2P 패러다임에서 도래되었으며 집중화된 서버의 부하를 감소킴으로써 P2P 기반 해결책은 여러 장점을 나타낸다. 첫째, P2P 기법은 본질적으로 규모조정이 가능하므로 사용자가 증가되더라도 자원의 지속적인 이용이 가능하다. 둘째, 한 peer 즉 사용자에 결함이 발생할 경우 P2P 통신망은 자체 복구와 재구성이 가능하며 하부구조를 강건하게 유지할 수 있다. 셋째, 통신량이 사용자들 간에 분산되므로 통신 대역폭에 관한 병목현상 발생이 어렵다.
그러나 P2P 기반 하부구조는 MMOG의 요건을 충족 시키기 위해서 추가 메카니즘이 요구된다. 한 사용자가 시스템을 떠날 때 소유하던 데이터를 특정 장소로 전송해야 하며 갑자기 단절이 될 경우 복제본 메카니즘으로 데이터 손실 방지를 보장해야만 한다. 중앙 감시의 부재는 보안과 부정 행위 방지를 어렵게 만들며 사용자 장비는 컴퓨팅, 저장장치, 통신 능력 등이 각각 상이하므로 활용하기가 용이하지 않다. 따라서 주문형 자원과 사용자 제공형 자원 간의 균형을 정하고 상호 보완함으로써 두가지 기법을 통합할 필요가 있다. 본 논문에서는 주문형 자원이 제공되는 클라우드 컴퓨팅과 사용자 제공형 자원이 제공되는 P2P 두 가지 기법을 통합하는 하이브리드 구조를 MMOG의 기반으로 제시하고 이에 대한 게임 액션을 수행하게 된다.
Ⅲ. 하이브리드 기반 MMOG의 액션
1. 분산된 MMOG
한 개의 서버 구조를 갖는 MMOG와는 달리 분산된 MMOG 구조는 가상 세계를 다수의 영역으로 분할하고 영역들은 다수의 서버들로 설정된다[14] . 본 논문에서도 플레이어들이 제한된 이동 속도와 감지 능력을 가지고 있다는 사실을 기반으로 게임 세계가 다수의 영역으로 분할되는 것을 가정한다. 이 영역은 관심 구역(AOI;Area of Interest)으로도 기술되며 게임 지도의 위치상 동일한 영역에 있는 플레이어들은 해당 구역에 대한 관심 그룹을 형성하며 구역 내 상태 갱신 행위만 그룹 내에서 교환한다. 특정 영역에 있는 모든 엔터티들은 특정 노드에 설정된다. 여기서 노드는 클라우드 컴퓨팅의 서버 또는 사용자에 의해 수행되는 peer 즉 플레이어를 의미한다. 엔터티들이 공간적 위치에 따라 구성되므로 영역 기반 분할은 관심 구역을 위한 효율적 해결책이다[1] . 그러나 엔터티 분산은 엔터티들이 몰려있는 영역 즉 핫스팟 (hotspot)의 존재로 인하여 공간적으로 대부분 균일하지 않다. 핫스팟으로 인한 결점 중 하나는 엔터티 관리를 하는 노드들에 대한 부담이 상당히 증가한다는 것이다.
본 논문에서 각 영역마다 특정 플레이어를 영역 조정자로 설정하며 영역 조정자는 다른 플레이어들에 비하여 컴퓨팅 능력과 통신 대역폭 처리 능력이 다소 우수한 것으로 가정한다. 클라우드 컴퓨팅의 서버와 영역이 구성된 하이브리드 구조는 그림 1과 같다.
그림 1. 클라우드의 서버와 영역 조정자가 있는 하이브리드 구조
Fig. 1. A hybrid architecture with servers in the cloud and regional coordinators
그림 1에서 클라우드 컴퓨팅 환경의 서버 S1은 영역 1을 담당하며 서버 S2 는 영역 2를 각각 담당하는 것으로 가정한다. 영역 1의 P1,1 은 영역 1의 조정자 역할을 수행하며 이중 원으로 표시되고 다른 플레이어 P1,2와 P1,3는단일 원으로 표시된다. 영역 2에서도 P2,1 은 영역 조정자 이며 P2,2 와 P2,3 은 일반 플레이어들임을 가정한다.
2. 게임 액션
일반적으로 플레이어에게 위치 변경, 플레이어와 객체 간의 상호작용, 플레이어들 간의 상호작용 등 세 종류의 액션이 허용된다. 플레이어들은 게임 규칙에 따라 아바타들의 상태는 물론 NPC(Non-Player Character)를 포함한 객체들 또는 다른 플레이어들의 상태도 변경시킬 수 있다. 예를 들면 병에 있는 액체를 마실 경우 병이라는 객체의 상태는 가득찬 상태에서 비어있는 상태로 변경되며 플레이어 객체의 갈증을 나타내는 특정 변수의 수치도 변경되는 것이다. 또한 플레이어가 다른 플레이어와 전투를 할 경우 두 플레이어 객체들의 강건함을 나타내는 변수들도 변경된다.
게임 상태를 변경하지 않는 플레이어의 위치 변경 액션은 본 논문에서 상태 불변 액션으로 기술하며 게임 상태가 변경되는 플레이어와 객체 간의 상호작용과 플레이어들 간의 상호작용은 상태 변경 액션으로 기술한다. 본 논문에서 상태 불변 액션은 영역 내의 모든 플레이어들이 직접 상호 교환하며(그림 1에서 화살표가 양단에 있는 실선으로 표현됨) 상태 변경 액션은 플레이어가 클라우드의 담당 서버에게 직접 전송하는 것을 가정한다. 클라우드의 담당 서버는 수신한 플레이어의 상태 변경 액션의 승인 여부를 결정한 후 영역 조정자에게 객체가 변경된 결과를 전달하고 영역 조정자는 이 결과를 다시 영역 내 모든 플레이어들에게 전달한다(그림 1에서 영역과 담당 서버 간에 네모 상자가 양단에 있는 실선으로 표현됨). 임의의 플레이어는 자신이 속한 영역에서 다른 영역으로 이동할 수도 있으며 게임 기법에 따라 다른 이웃 영역의 갱신 과정도 파악할 수 있다.
각 플레이어는 자신의 영역에 있는 객체 그리고 플레이어들과 상호 작용을 하게 되므로 게임 세계의 모든 객체들 대신 영역 즉 관심 구역에 있는 객체들의 복제복만 필요한 것이다. 따라서 관심 관리 기법은 복제된 객체 갱신 작업시 통신량을 감소시키는 중요한 역할을 수행한다. 게임 세계에 존재하는 모든 객체들의 복제본을 유지하는 것과 비교하면 필요한 컴퓨팅 자원과 통신 대역폭이 상당히 감소될 수 있는 것이다.
3. 영역 내 작업 부하 분산
제시된 하이브리드 게임 구조에서 게임 세계를 다수의 영역으로 분할하고 각 영역마다 컴퓨팅 자원과 통신 대역폭의 여유가 있는 특정 플레이어가 영역의 조정자로 설정된다. 어느 시점에서 영역 내의 플레이어들의 수가 증가하여 조정자의 능력을 초과할 때 작업 부하를 분산하는 것은 이 하이브리드 구조의 중요한 문제이다.
영역에 새로 진입한 플레이어들의 수가 증가하여 기존 영역 조정자의 능력으로 해결이 어려울 경우 새로운 영역 조정자를 설정하게 된다. 플레이어마다 컴퓨팅 능력과 대역폭 여유가 상이하므로 감당할 수 있는 범위 내에서 조정자의 역할을 수행하는 것으로 가정한다. 그림 2에서 영역 1에 새로운 플레이어들 P1,4, P1,5, P1,6이 진입한 경우 한 그룹을 형성하며 P1,4 를 새로운 그룹의 영역 조정자로 설정한 상황이다.
그림 2. 새로운 영역 조정자 P1,4가 추가된 영역 1
Fig. 2. Region 1 with a new region coordinator, P1,4
P1,4, P1,5, P1,6의 상태 변경 액션은 클라우드의 서버 S1에게 직접 전송되며 S1이 승인한 결과는 영역 조정자 P1,1 과 P1,4 에게만 보낸다. 즉 P1,4 가 수신한 상태 변경 액션 결과를 같은 그룹에 있는 P1,5와 P1,6에게 전달하게 된다. P1,4, P1,5, P1,6의 상태 불변 액션은 세 플레이어들 간에는 직접 상호 교환하고 P1,1 에게도 보낸다. 즉 P1,2 와 P1,3은 그룹 내 영역 조정자인 P1,1을 거쳐서 수신하게 되는 것이며 이때 시간이 다소 지연되는 문제는 존재한다. 마찬가지로 P1,1 , P1,2 , P1,3 의 상태 불변 액션도 다른 그룹에 있는 P1,5 와 P1,6 은 영역 조정자 P1,4 를 통해서 수신하게 된다. 같은 영역에 있는 특정 플레이어의 위치 변경을 모든 플레이어들에게 직접 전송하기에는 해당 플레이어의 통신 대역폭이 부족할 수 있으므로 새로 설정된 그룹의 영역 조정자를 거쳐서 다른 플레이어들에게 전달하고자 하는 것이다. 추후 새로운 플레이어들이 또 영역 1에 유입될 경우 세 번째 그룹과 영역 조정자가 설정될 수 있으며 그림 2와 동일한 방법으로 영역 내 다른 플레이어들에게 상태 불변 액션을 전송하게 된다.
IV. 성능 분석
1. 실험 환경과 변수
실제 MMOG에서 발생하는 플레이어의 움직임과 데이터 객체의 갱신 등의 결과를 추적하기 어렵기 때문에 본 논문에서는 가상의 MMOG가 하이브리드 구조에 적용되는 게임 모델을 가정한다. 이 모델에서 플레이어 객체는 다른 MMOG와 유사하게 자신의 위치 그리고 다른 게임 상태를 관리하며 각 플레이어는 이동, 음식 섭취, 전투 등 세 가지 액션을 수행할 수 있다. 음식 섭취는 전형적인 플레이어와 객체 간의 상호작용이며 전투 행위는 전형적인 플레이어들 간의 상호작용이다[15] . 이 게임 모델에서 각 플레이어는 자신과 NPC를 포함한 객체들을 매초 20회의 위치 변경을 수행하며 영역 내 다른 플레이어들에게 전송한다.
각 플레이어가 보유한 객체들의 평균 수를 Nobject 로 기술하며 영역 내 같은 그룹에서 위치 변경 액션을 직접 상호 교환하는 플레이어들의 평균 수(즉 동일 그룹에 있는 플레이어들의 수)를 Nplayer 로 기술하고 객체의 평균 크기 Sobject 는 200바이트로 가정한다. 동일 영역 내에 있지만 영역 조정자가 각각 상이한 그룹들의 수를 Ngroup이라 할 때 각 플레이어는 위치 변경 즉 상태 불변 액션을 직접 상호 교환하는 Nplayer 외에 Ngroup한테도 전송해야 하므로 필요한 통신 대역폭 Bposition(Bytes/초)은 다음과 같다.
Bposigion =Nobject *Sobject *(Nplayer -1+Ngroup -1)*20 (1)
각 플레이어는 상태 변경 액션인 음식 섭취와 전투 행위를 1분에 평균 각각 5회씩 수행한다고 가정한다. 음식 섭취 횟수와 전투 행위 횟수는 각각 Neating 과 Nfighting으로 표기된다. 음식 섭취와 전투 행위에서 각각 1개의 객체만 상태가 변경되는 것을 가정할 때 플레이어가 클라우드에 있는 영역 담당 서버에게 전송시 필요한 대역폭 Bstate (Bytes/초)는 다음과 같다.
Bstate=Sobject*(Neating+Nfighting)/60 (2)
Bstate 는 Bposition 에 비해서 수치가 매우 작다. 플레이어들로부터 수신한 Bstate를 영역의 담당 서버가 컴퓨팅한 후 갱신된 객체들을 영역 조정자들에게 전송하며 이때 필요한 대역폭 Bregion_server 는 다음과 같다.
Bregion_server =Nplayer *Ngroup *Bstate *Ncorup (3)
각 영역 조정자는 영역 담당 서버로부터 수신한 대역폭 Nplayer *Ngroup *Bstate를 영역 조정자가 담당하는 플레이어들 Nplayer 에게 다시 전송하게 되고 이 대역폭 Bcooordi는 다음과 같다.
Bcoordi =Nplayer *Ngroup *Bstate *(Nplayer -1) (4)
2. 통신 대역폭 분석
전형적인 클라이언트-서버 구조에서 중앙 서버는 모든 플레이어들로부터 수신한 모든 액션 요청을 처리한 후 다시 모든 플레이어들에게 전송해야 하므로 플레이어 수 제곱에 비례하는 통신 대역폭이 필요하다[16] . 본 논문의 하이브리드 구조에서 클라우드의 영역 담당 서버는 플레이어들의 상태 변경 액션만 수신해서 처리 결과를 영역 조정자들에게 전송한다. 실험에서 영역 내 플레이어들의 수 Nregion 이 50명에서 200명까지 50명씩 증가될 때 상태 불변 액션을 직접 상호 교환하는 플레이어들의 수 Nplayer는 50명으로 가정할 경우 영역 조정자는 50명의 플레이어마다 1개씩 추가로 설정된다. 즉 영역 내에 200명의 플레이어들이 존재할 경우 임의의 플레이어는 49명의 플레이어들과는 직접 상태 불변 액션을 상호 교환하며 나머지 150명의 플레이어들과는 추가로 설정된 3개의 영역 조정자를 통해서 상태 불변 액션을 전송하게 되는 것이다. 각 플레이어는 16개 이상 48개 이하의 객체들을 유지하며 평균 객체 수 Nobject 는 32로 설정한다. 표 1에서 영역 내 플레이어들의 수가 50명 단위로 증가할 때 각 플레이어의 대역폭(MBytes/sec) Bposition은 근소한 차이로 증가한 결과가 나타났다. 그리고 Bposition에 비하여 수치는 작지만 영역 서버의 대역폭 Bregion_server도 영역 내 플레이어들의 수가 증가함에 따라 비례하여 증가된 결과가 나타났다.
표 1. 플레이어 수에 따른 대역폭 Bposition 와 Bregion_server
Table1. Bandwidth Bposition 와 B egion_server for Nregion
영역 조정자들의 대역폭은 Bposition 에 Bcoordi 를 합한 수치이나 Bcoordi는 Bregion_server와 거의 차이가 없고 Bposition에 비하여 수치가 작아서 본 논문에서 기술하지 않기로 한다. 영역 내 플레이어들이 50명을 초과할 경우 특정 플레이어를 영역 조정자로 설정하지 않고 영역 서버를 활용하여 모든 상태 불변 액션을 처리할 경우 영역 서버는 상태 변경 액션 대역폭 Bregion_server 외에 추가로 대역폭이 필요하게 된다. 즉 영역 내 플레이어들의 수가 Nregion(>Nplayer)일 경우 Nregion의 플레이어들로부터 수신한 위치 변경 액션을 Nplayer 를 담당하는 1개의 영역 조정자와 추가로 유입된 Nregion-Nplayer 플레이어들에게 직접 전송해야 하므로 영역 서버의 추가 대역폭 B‘region_position 은 다음과 같이 증가된다.
B‘region_position=Nregion*Nobject*Sobject*20*(Nregion-Nplayer+1)
그림 3에서 영역 내 플레이어들의 수가 증가할 때 거의 제곱에 비례하는 영역 서버의 대역폭 결과가 나타났다.
그림 3. 플레이들의 수에 따른 영역 서버의 추가 대역폭
Fig. 3. Additional bandwidth of regional server for increasing Nregion
영역을 담당하는 서버의 통신 대역폭을 많이 사용할수록 비용 증가 요인이 된다. 영역 내 플레이어들의 수가 급증할 경우 MMOG를 위한 클라우드[17,18] 의 영역 서버 1 개당 그림 3에서 나타난 평균적인 추가 대역폭이 필요하게 된다. 예를 들어 MMOG를 구성하는 전체 영역의 평균 10% 정도에서 플레이어의들의 수가 50명에서 100명으로 급증할 경우 전체 영역 서버들 중 10% 정도의 서버들은 추가로 622.56Mbytes/sec 대역폭이 각각 필요하게 되는 것이다. 본 논문에서는 영역 내 새로 유입된 플레이어들 중 하나를 영역 조정자로 추가 설정하고 모든 플레이어들의 대역폭을 사용함으로써 클라우드에 있는 서버 대역폭을 절감할 수 있다.
V. 결론
본 논문에서 대규모의 플레이어들이 참여하는 MMOG를 위하여 클라우드 컴퓨팅과 P2P 기법의 장점을 모두 활용하는 하이브리드 구조를 제시한다. 이 하이브리드 구조에서 MMOG 세계를 다수의 영역으로 분할하며 영역 내 상태 변경 액션을 처리하는 서버는 클라우드에 구성된다. 각 영역에서 처리 능력이 확보된 플레이어를 영역의 조정자로 설정하여 영역 서버로부터 수신한 상태 변경 액션 결과를 다른 플레이어들에게 전송한다. 영역 내 플레이어들은 상태 불변 액션을 상호 간에 직접 교환하며 영역 내 플레이어들이 급증할 경우 새로운 영역 조정자가 추가로 설정된다. 플레이어들은 추가된 영역 조정자들한테도 상태 불변 액션을 전송하여 영역 내 모든 플레이어들은 상호 간의 위치 변경을 파악할 수 있다. 본 논문에서는 영역 내 플레이어들의 대역폭을 활용함으로써 서버의 통신 대역폭을 대폭 절감할 수 있다.
MMOG의 영역을 담당하는 클라우드 서버는 게임 세계의 주요 데이터를 관리하며 보안성을 강화할 수 있고 플레이어들의 대역폭을 효율적으로 활용함으로써 급증하는 플레이어들을 수용할 수 있다. 하이브리드 구조에서 플레이어들의 수와 게임 환경을 고려한 영역 분할과 구성에 대한 구체적 연구와 실험 결과가 더욱 필요할 것으로 전망된다.
References
- 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, v. 5, n. 2, 2013.
- E. Carlini, M. Coppola, and L. Ricci. "Integration of P2P and Clouds to Support Massively Multiuser Virtual Environments," IEEE 9th Annual Workshop on Network and Systems Support for Games, pp. 1-6, 2010.
- S. Bhardwaj, L. Jain, and S. Jain. "Cloud omputing: A study of infrastructure as a service (iaas)," International Journal of engineering and information Technology, v.2, n. 1, pp.60-63, 2010.
- 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.
- 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.
- H. Kavalionak and A. Montresor, "P2p and cloud: A marriageof convenience for replica management," Self-Organizing Systems, pp. 60-71, 2012.
- A. Montresor and L. Abeni, "Cloudy weather for p2p, with a chance of gossip," IEEE International Conference on Peer-to-Peer Computing, pp. 250-259. 2011.
- B. Knutsson, H. Lu, W. Xu, and B. Hopkins. " Peer-to-Peer support for massively multiplayer games," 23rd Annual Joint Conference of the IEEE Computer and Communications Societies, 2004.
- 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
- Linden Lab. Second life website. http://secondlife.com/,2012.
- Linden Lab.Blizzard Entertainment. World of warcraft website. http://us.blizzard.com/en-us/games/wow/, 2012.
- Doom, Quake, ID Software, Inc. http://www.idsoftware.com03., 2003.
- V. Nae, R. Prodan, A. Iosup and T. Fahringer, "A new business model for massively multiplayer online games," 2nd Joint WOSP/SIPEW International Conference Performance Engineering, ACM, pp. 271-282, 2011.
- M. Chen, J., Wu, B., Delap, M., Knutson, B., Lu, H., and Amza, C., "Locality aware dynamic load management for massively multiplayer games," ACM SIGPLAN Symp. on Principles and Practice of Parallel Programming (PPoPP). ACM, pp. 289-300, 2005.
- 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.
- H. Ko, S. Jung, I. Lee, J. Cho, J. Cha, "A Study on Compatibility between LTE and WLAN System for Mobile Satellite Wireless Package System," International Journal of Internet, Broadcasting and Communication, v. 7, no. 2, pp. 130-136, 2015. https://doi.org/10.7236/IJIBC.2015.7.2.130
- M. Kang and J. Nam, "A Study on Smart Network Utilizing the Data Localization for the Internet of Things," Journal of the Korea Academia-Industrial cooperation Society, v. 18, no. 6, pp. 336-342, 2017. https://doi.org/10.5762/KAIS.2017.18.1.336
- J. Lee, J. Choi and J. Park, "A Practical Quality Evaluation Model of Mobile Cloud Software," Journal of Korean Institute of Information Technology, v. 13, no. 3, pp. 95-110, 2015.