MMORPG(Massively Multiplayer Online Role-Playing Game)은 대규모의 인원들이 동일한 가상공간에서 동일한 시각에 상호작용하면서 활동하는 온라인 롤플레잉 게임이다. 대부분의 경우, 서버와 대역폭 등에서 상당한 수준의 하드웨어 사양과 지원 스태프를 필요로 한다. 수많은 개발자들의 노력에도 불구하고 사용자들은 여전히 플레이어의 과밀, 랙, 그리고 부족한 지원 등에 대해 불만을 가지는 경우가 많다. 본 논문에서는 MMORPG에서의 부하 분산을 위한 동적 지역 분할 방법을 제안한다. Field, sector group, sector, cell 등으로 구성되는 가상 영역 정보를 가진 VML(Virtual Map Layer)를 이용하여 지역을 분할함으로써 부하 분산을 시도한다. 실험 결과, 제안된 기법이 $23^{\sim}67%$ 정도의 부하를 줄이는 효과를 가져왔다. 맵 데이터, 자원의 상태, 그리고 사용자들의 행동 패턴의 변화 등에 대해서는 VML에 대한 간단한 수정으로 유연하게 적응할 수 있다.
MMORPG(Massively Multiplayer Online Role-Playing Game)은 대규모의 인원들이 동일한 가상공간에서 동일한 시각에 상호작용하면서 활동하는 온라인 롤플레잉 게임이다. 대부분의 경우, 서버와 대역폭 등에서 상당한 수준의 하드웨어 사양과 지원 스태프를 필요로 한다. 수많은 개발자들의 노력에도 불구하고 사용자들은 여전히 플레이어의 과밀, 랙, 그리고 부족한 지원 등에 대해 불만을 가지는 경우가 많다. 본 논문에서는 MMORPG에서의 부하 분산을 위한 동적 지역 분할 방법을 제안한다. Field, sector group, sector, cell 등으로 구성되는 가상 영역 정보를 가진 VML(Virtual Map Layer)를 이용하여 지역을 분할함으로써 부하 분산을 시도한다. 실험 결과, 제안된 기법이 $23^{\sim}67%$ 정도의 부하를 줄이는 효과를 가져왔다. 맵 데이터, 자원의 상태, 그리고 사용자들의 행동 패턴의 변화 등에 대해서는 VML에 대한 간단한 수정으로 유연하게 적응할 수 있다.
A MMORPG(Massively Multiplayer Online Role-Playing Game) is an online role-playing game in which a large number of players can interact with each other in the same world at the same time. Most of them require significant hardware requirements(e.g., servers and bandwidth), and dedicated support staff...
A MMORPG(Massively Multiplayer Online Role-Playing Game) is an online role-playing game in which a large number of players can interact with each other in the same world at the same time. Most of them require significant hardware requirements(e.g., servers and bandwidth), and dedicated support staff. Despite the efforts of developers, users often cite overpopulation, lag, and poor support as problems of games. In this paper, a dynamic load balancing method for MMORPGS is proposed. It tries to adapt to dynamic change of population by using dynamic map-partition method with VML(Virtual Map Layer) which consists of fields, sector groups, sectors, and cells. From the experimental results, our approach achieves about $23^{\sim}67%$ lower loads for each field server. By the modification to Virtual Area Layer, we can easily manage problems that come from changes of map data, resources' status, and users' behavior pattern.
A MMORPG(Massively Multiplayer Online Role-Playing Game) is an online role-playing game in which a large number of players can interact with each other in the same world at the same time. Most of them require significant hardware requirements(e.g., servers and bandwidth), and dedicated support staff. Despite the efforts of developers, users often cite overpopulation, lag, and poor support as problems of games. In this paper, a dynamic load balancing method for MMORPGS is proposed. It tries to adapt to dynamic change of population by using dynamic map-partition method with VML(Virtual Map Layer) which consists of fields, sector groups, sectors, and cells. From the experimental results, our approach achieves about $23^{\sim}67%$ lower loads for each field server. By the modification to Virtual Area Layer, we can easily manage problems that come from changes of map data, resources' status, and users' behavior pattern.
* AI 자동 식별 결과로 적합하지 않은 문장이 있을 수 있으니, 이용에 유의하시기 바랍니다.
문제 정의
본 논문에서는 MMORPG에서의 부하 분산을 위한 동적 지역 분할 방법을 제안하였다. Field, sector group, sector, cell 등으로 구성되는 VML을 이용하여 지역을 분할 함으로써 부하 분산을 시도하였다.
본 논문에서는 Seamless한 MMORPG를 지원하기 위해 정적인 지역 분할 대신 동적인 지역 분할을 통한 부하 분산방식을 제안한다. Field, sector group, sector, cell 등으로 구성되는 가상 영역 정보를 갖는 VML(Virtual Map Layer)를 이용하여 지역을 분할함으로써 부하 분산을 시도한다.
있다. 본 논문에서는 이러한 상황에 능동적으로 대처할 수 있는 MMORPG 게임 시스템을 위해 설계단 계에서 각 필드의 특성에 따라 이웃한 필드들과의 관계를 고려하여 VML을 설계하도록 하고 분할 및 병합이 이루어질 때 VML 정보를 기반으로 동작하도록 함으로써 게임 시나리오에 적합하게 동작하도록 하는 게임 시스템을 제안한다.
제안 방법
CORBA 자체적으로 제공하는 IIOP(Intemet Inter-ORB Protocol)를 이용하고, 동적으로 쓰레드를 생성하고 및 다른 서버로 연결해 줌으로써 좀 더 효율적인 동시성 제어 및 네트워크 부하를 줄일 수 있도록 제안되었다. 그러나 CORBA 자체가 서버 쪽의 부하 분산과 오류 감내 구현이 아직 미미하고 설계 및 구현이 아직은 상대적으로 어렵다는 단점이 있다.
EMERGENT 프로젝트는 Globus Toolkit을 이용하여 그리드 컴퓨팅 기술을 도입한 Butterfly Grid[기에서 출발하였으며, 과학 연산 분야에서만 쓰이던 그리드 컴퓨팅 기술을 게임 네트워크에 적용할 수 있는 시스템 구조로 설계 및 연구하였다. 오픈소스인 미들웨어 Globus Toolkit에 기반 하여 자체 개발한 시스템으로 구축하였으며, PC를 상황에 따라 서버를 넘나들 수 있도록 제안된 시스템이다.
분할 방법을 제안하였다. Field, sector group, sector, cell 등으로 구성되는 VML을 이용하여 지역을 분할 함으로써 부하 분산을 시도하였다. PC들의 활동성을 나타내는 PA 값과 특정 방향으로의 이동성을 나타내는 PG값의 변화에 따른 초과 부하의 변화를 측정하였다.
제안한다. Field, sector group, sector, cell 등으로 구성되는 가상 영역 정보를 갖는 VML(Virtual Map Layer)를 이용하여 지역을 분할함으로써 부하 분산을 시도한다. VML 은 전체 맵 영역에 대해 하위 단위의 영역 경계 정보를 담고 있으며 각 단위 영역 내의 부하를 측정하여 영역의 분할 또는 다른 영역과의 병합을 수행한다.
Field, sector group, sector, cell 등으로 구성되는 VML을 이용하여 지역을 분할 함으로써 부하 분산을 시도하였다. PC들의 활동성을 나타내는 PA 값과 특정 방향으로의 이동성을 나타내는 PG값의 변화에 따른 초과 부하의 변화를 측정하였다. PG의 값이 0.
본 논문에서는 시스템의 성능 평가를 위해 PC의 행동 패턴을 조절하기 위한 척도로 PC의 활동성과 그룹핑 정도를 뜻하는 PA(PC's Activity)와 PG(PC's Grouping degree)를 도입하여 실험을 진행하였다. 실험에 사용된 PA와 PG는 다음 표와 같다.
오픈소스인 미들웨어 Globus Toolkit에 기반 하여 자체 개발한 시스템으로 구축하였으며, PC를 상황에 따라 서버를 넘나들 수 있도록 제안된 시스템이다. 묵시적 지열 분할 구조에 네트워크 트래픽, 데이터베이스 접근 시간 등을 줄이기 위해 자체적으로 시스템 구조를 최적화한 독특한 구조이지만 동적인 부하 분산이 제대로 이루어지지 못하고 있다는 단점이 있다.
성능/효과
또한 PG의 값이 작을수록, 즉 특정 영역에 몰리는 정도가 강할수록 전체적으로 초과부하의 크기가 커진다. VML기반의 동적 지역분할을 사용함으로써 PG의 값이 0.3일 경우 23~67% 정도의 성능향상을 보였다.
실험 결과 PA값보다는 PG 값에 의한 변화가 더 큰 것을 확인할 수 있었으며 PG값에 변화를 주었을 때 VML 기반의 동적 지역분할이 더 큰 효과를 발휘하였다. 결론적으로 본 논문에서 제안한 VML 기반의 동적 지역 분할 기법은 특정지역에 많은 PC들이 몰리는 상황에서 정적 지역분할 기법에 비교하여 더 큰 효과를 발휘하였다.
본 논문에서 제안한 기법을 적용할 경우 VML에서 지정한 각 필드의 부하를 모니터링하고 필요시 분할 및 병합을 수행하는데 오버헤드가 발생할 수 있다.
본 논문에서 제안한 기법의 경우 VM但의 각 필드는 독립된 필드 서버가 관리하며 이는 기존의 정적 지역 분할 방식의 MMORPG와 거의 유사하다. 기존의 MMORPG에서도 상시 모니터링을 통해 각 게임서버의 부하를 계산하여 측정하고 측정된 결과를 차후 분석을 위해 기록으로 남기고 있다.
기존의 MMORPG에서도 상시 모니터링을 통해 각 게임서버의 부하를 계산하여 측정하고 측정된 결과를 차후 분석을 위해 기록으로 남기고 있다. 본 논문에서 제안한 기법의 경우 이 과정의 중간에 VML Management Server가 추가되어 중계하도록 하고 있으므로이 부분으로 인한 오버헤드는 없다고 할 수 있다.
3일 경우 23~67% 정도의 성능향상을 보였다. 실험 결과 PA값보다는 PG 값에 의한 변화가 더 큰 것을 확인할 수 있었으며 PG값에 변화를 주었을 때 VML 기반의 동적 지역분할이 더 큰 효과를 발휘하였다. 결론적으로 본 논문에서 제안한 VML 기반의 동적 지역 분할 기법은 특정지역에 많은 PC들이 몰리는 상황에서 정적 지역분할 기법에 비교하여 더 큰 효과를 발휘하였다.
즉, 특정 지역에 밀집하는 정도(PG)가 클 경우에 더 큰 위력을 발휘한다고 할 수 있다. 전체적으로 VML 기반의 동적 지역분할을 한 경우 field server당 초과 부하의 크기는 줄어들었으나 PC의 수가 커진 경우 오히려 성능 저하를 가져왔다. 이는 실험에서의 맵의 크기에 비해 PC의 턴 당 이동속도가 커서 나타나며 휴면 대기 서버의 부족으로 더 이상 분할이 일어날 수 없는 상황에서 기인하는 현상으로 분석된다.
후속연구
게임 중 유동적으로 변하는 PC들의 행동 패턴의 변화에 따른 인구 과밀 현상에 대해서도 능동적으로 대처할 수 있을 뿐만 아니라 수용할 수 있는 맵의 크기와 PC 수를 크게 늘릴 수 있다. 또한 게임 운영 도중 얻을 수 있는 시스템 분석 자료, 맵의 변경, PC들의 행동 패턴 변화 등의 자료를 바탕으로 지역 분할 방법을 변경하고자 할 때 VML의 계층 구조에 간단한 변화를 줌으로써 곧바로 적용가능하다. 그러나 이 방식의 경우 게임 설계단계에서 동적 지역분할을 위한 고려를 해야 하며 각 게임에 따라 동적 지역분할이 필요하지 않은 경우에는 적합하지 않다.
참고문헌 (12)
World of Wareraft Community Site, http://www.worldofwarcraft.com
이남재, 곽훈성 '진화하는 온라인 롤플레잉 게임을 위한 분산형 게임 서버 모델' 한국게임학회 논문지 제2권 제1호 pp.36-41, 05, 2002
Tobin J. Lehman, James H. Kaufman, 'OptimalGrid: middleware for automatic deployment of distributed FEM problems on an Internet-based computing grid,' Cluster Computing, Proceedings, 2003 IEEE International Conference on cluster computing, pp.164-171, Dec., 2003
최재언, 이해원, 하수철, 'CORBA 기반 분산 네트워크 게임 서버에 관한 연구', 한국정보처리학회 2001년 춘계학술대회, 제8권 제1호, pp.159-162, 04. 2001
IBM Grid Research Lab, 'Butterfly.net : Powering Next-Generation Gaming with Computing On-Demand,' http://www.butterfly.net, 2004
이철민, 박홍성, '다중 사용자 게임 성능 향상을 위한 데이터 가상 그룹핑 방법', 정보과학회논문지, 소프트웨어 및 응용 제30권 제3호, pp.231-238, 04. 2003
이현진, '프로세스 기반 분산 게임 서버 아키텍쳐의 연구', 인제대학교 석사학위논문, 02. 2004
문성원, '분산 seamless게임 서버에서의 효율적인 게임 공간 관리 기술', 서강대 정보통신대학원 학위 논문 ,02. 2005
남재욱, '온라인 게임서버 프로그래밍', 한빛미디어, 05. 2004
원동기 외 6명, 'Seamless Games에서의 부하 분산을 위한 MigAgent시스템 설계', 정보 및 제어 심포지엄, pp.466-469, 10. 2005
※ AI-Helper는 부적절한 답변을 할 수 있습니다.