온라인게임 서버에서의 효율적인 클라이언트 접속 처리를 위한 비대칭 분산형 다중 서버 구조 Asymmetric distributed multi server architecture for efficient method of client connection process at online game servers원문보기
온라인 게임 시스템은 크게 서버와 클라이언트 두 부분으로 나누어 볼 수 있다. 클라이언트는 게임 서버와의 접속 그리고 서버로부터 전송되는 패킷 분석 등의 역할을 하며, 게임 서버는 사용자 정보와 데이터베이스 둥의 관리를 수행한다. 특히 게임 서버는 새로운 클라이언트가 게임을 수행하기 위해 서버로의 접속을 허용할 경우 기존에 연결된 사용자와의 온라인 연결을 유지하면서 새로운 클라이언트의 접속 요청을 받아들여 야 한다. 본 논문에서는 서버의 다중 작업 처리를 위한 방법 중 프로세스(Process) 방법과 쓰레드(Thread) 방법의 처리 형태를 비교한 후, 현재 대부분의 게임 서버에 적용되어 있는 비대칭 분산형 구조에 적합한 비대칭 분산형 다중 서버 구조를 제안하였다. 제안한 비대칭 분산형 다중 서버 구조는 서버의 기능을 로그인 서버, 게임 서버, 통신 서버, 데이터베이스 서버 형태로 세부적으로 분리하여 각각의 기능을 독립적으로 수행한다. 따라서 다른 구조들과 비교하였을 경우 경제적, 기능적으로 더 나은 성능을 보이며 특히 서버의 안정성과 확장성이 향상되었다.
온라인 게임 시스템은 크게 서버와 클라이언트 두 부분으로 나누어 볼 수 있다. 클라이언트는 게임 서버와의 접속 그리고 서버로부터 전송되는 패킷 분석 등의 역할을 하며, 게임 서버는 사용자 정보와 데이터베이스 둥의 관리를 수행한다. 특히 게임 서버는 새로운 클라이언트가 게임을 수행하기 위해 서버로의 접속을 허용할 경우 기존에 연결된 사용자와의 온라인 연결을 유지하면서 새로운 클라이언트의 접속 요청을 받아들여 야 한다. 본 논문에서는 서버의 다중 작업 처리를 위한 방법 중 프로세스(Process) 방법과 쓰레드(Thread) 방법의 처리 형태를 비교한 후, 현재 대부분의 게임 서버에 적용되어 있는 비대칭 분산형 구조에 적합한 비대칭 분산형 다중 서버 구조를 제안하였다. 제안한 비대칭 분산형 다중 서버 구조는 서버의 기능을 로그인 서버, 게임 서버, 통신 서버, 데이터베이스 서버 형태로 세부적으로 분리하여 각각의 기능을 독립적으로 수행한다. 따라서 다른 구조들과 비교하였을 경우 경제적, 기능적으로 더 나은 성능을 보이며 특히 서버의 안정성과 확장성이 향상되었다.
The online game system could be largely divided into two parts: servers and clients. Clients accesses to a game server and analyzes the packets transmitted from a server. A game server manages users information and database. U a game server allows a new client to access the server to execute a game,...
The online game system could be largely divided into two parts: servers and clients. Clients accesses to a game server and analyzes the packets transmitted from a server. A game server manages users information and database. U a game server allows a new client to access the server to execute a game, it should accept the access request of the new client maintaining the online connection of the existing users. In this paper, we compare Process method and Thread method within the multiple jobs process methods of a server. Then we propose an asymmetric distributed multi server architecture that is adequate to asymmetric distributed architecture that is widely applied to most game servers. The proposed asymmetric distributed multi server architecture includes login server, game server, communication server and database server to perform its own feature independently. Comparing its other architectures, it shows better performance economically and technically. Especially it improves the stability and expandability of a server.
The online game system could be largely divided into two parts: servers and clients. Clients accesses to a game server and analyzes the packets transmitted from a server. A game server manages users information and database. U a game server allows a new client to access the server to execute a game, it should accept the access request of the new client maintaining the online connection of the existing users. In this paper, we compare Process method and Thread method within the multiple jobs process methods of a server. Then we propose an asymmetric distributed multi server architecture that is adequate to asymmetric distributed architecture that is widely applied to most game servers. The proposed asymmetric distributed multi server architecture includes login server, game server, communication server and database server to perform its own feature independently. Comparing its other architectures, it shows better performance economically and technically. Especially it improves the stability and expandability of a server.
* AI 자동 식별 결과로 적합하지 않은 문장이 있을 수 있으니, 이용에 유의하시기 바랍니다.
문제 정의
본 논문에서는 프로세스 방법과 쓰레드 방식을 비교하여 현재 대부분의 게임서버에 적용되어 있는 비대칭 분산형 구조에 적합한 방법을 제안하였다.
제안 방법
처리속도를 비교해 보았다. 각 서버 접속 방식에 따른 최대 접속 클라이언트 수와 CPU의 사용률을 알아보기 위하여 CPU 펜티엄 m 1GHz, RAM 512MB의 하드웨어 사양에 운영체제는 리눅스를 탑재하여 시스템을 구축하였으며, 가상의 시뮬레이션 프로그램을 사용하여 클라이언트를 생성한 후 자료를 구하였다.
도출된 접속처리 방식은 서버의 기능을 세부적으로 분리하여 각각의 기능을 독립적으로 수행하는 비대칭 분산형 다중 서버 구조에 적합하였으며 이를 위하여 이 방식에 가장 알맞은 서버 구조를 제안하였다.
하지만 데이터베이스 서버의 경우 만약 문제가 발생한다면 사용자의 게임 캐릭터, 게임 단계 등 게임 사용자에게는 중대하고 민감한 문제가 발생할 수 있으므로 다중 프로세스 방식을 사용하여 하나의 프로세스에 이상이 발생하는 경우 다른 프로세스가 서버의 기능을 수행할 수 있으므로 서버의 안정성을 확보할 수 있다. 또한 다중 통신서버를 사용하여 로드 밸런싱 및 게임 서버의 부하를 최소화하였다. 게임처리에 실질적 관계가 없는 채팅 부분과 같은 메시지는 통신서버에서 처리하도록 하였으며 통합된 단일의 데이터베이스 관리로 게임 배경의 추가 삭제가 용이하다는 장점을 가진다.
본 논문에서 제안한 비대칭 분산형 다중 서버 구조는 각기 능을 물리적으로 독립시켜 전체적인 서버의 안정성을 증대시킬 수 있으며 통신 서버, 로그인 서버 그리고 게임 서버에는 1P0T 방식을 데이터베이스 서버에는 nPOT 방식을 적용하였다. 로그인 서버, 통신 서버 그리고 게임서버에 1P0T방식을 채택한 것은 만약 각 서버에 과부하 등의 문제가 발생할 경우 게임의 전체적인 흐름으로 보아 새로운 사용자의 로그인이 지연되는 등의 비교적 사소한 경우의 문제가 발생한다고 볼 수 있다.
또한 게임 서버의 경우 사용자의 증가에 따른 점진적인 투자를 할 수 있는 구조이므로 게임 개발 시 초기 투자비용이 절감되는 효과가 있다. 본 논문에서는 제안한 비대칭 분산형 다중 서버 구조는 대칭형 서버 구조일 경우에는 불가능한 하나의 캐릭터로 여러 배경을 돌아다닐 수 있으며 게임 배경의 물리적 공간과 논리적 공간이 1:1로 매치된 형태를 가지게 되며, 하나의 게임 서버가 하나의 게임 배경만을 처리하게 된다.
대하여 비교하였다. 서버의 구축비용은 서버에 동시 접속할 수 있는 사용자 수를 기준으로 하였으며, 본 논문에서는 서버의 속도와 용량보다는 동시에 접속할 수 있는 사용자 수를 기준으로 하였으며, 각 구조에 따른 서버 구축 비용은 2, (皿명의 사용자가 동시에 접속할 수 있는 서버를 기준으로 비용을 산출하였다. 단일 서버의 경우 한 대의 서버 내에서 로그인, 통신, 데이터베이스, 게임 서버 등 게임에 관한 모든 부분이 한 대에서 운영이 되므로 초기 구축은 쉬운 반면 보안성이 약하며 서버의 확장이 어려운 단점이 있다.
제안한 비대칭 분산형 다중 서버 구조는 서버의 기능을 로그인 서버, 게임 서버, 통신 서버, 데이터베이스 서버 형태로 세부적으로 분리하여 각각의 기능을 독립적으로 수행한다. 따라서 다른 구조들과 비교하였을 경우 서버의 점진적인 확장이 가능하여 경제적이며, 각 서버의 기능을 분리하여 각각의 기능을 독립적으로 수행하므로 기능적으로 더 나은 성능을 보인다.
성능/효과
본 논문에서 제안한 비대칭 분산형 다중 서버 구조는 서버 운영에 있어서의 사용자 수에 따른 점진적인 서버의 화장이 가능하며, 필요한 부분의 서버만 추가하면 되므로 단일서버 구조 등 다른 서버 구조에 비하여 경제성을 가지게 되며, 게임의 각 기능이 로그인 서버, 통신 서버, 데이터베이스 서버 그리고 게임 서버 등으로 나누어져 있으므로 각 서버의 안정성을 확보할 수 있는 장점을 가진다.
본 논문에서는 클라이언트 연결을 처리하는 게임 서버의 처리 형태 중 1P0T, nPOT 그리고 lPnT 방식의 성능을 비교, 분석하였고 이를 기반으로 1POT 방식이 게임 서버에서 클라이언트의 연결 처리에 가장 적합한 방식임을 실험 결과를 통하여 알 수 있었다.
(그림 6)에서 1P0T 서버 처리방식의 CPU 처리속도가 가장 늦게 나오는 이유는<표 1>에서 보는 바와 같이 최대 접속 클라이언트의 수가 동일하지 않아서 발생하는 것이며, 클라이언트의 수를 동일하게 확대하여 처리속도를 비교하면 1P0T 방식이 다른 방식에 비하여 우수하다. 실험 결과에서 보는 바와 같이 서버의 성능은 CPU의 개수보다는 처리속도에 더욱 민감하다는 것을 알 수 있다.
실험을 통하여과 그림 5)에서 비교된 바와 같이 3가지 서버의 접속처리 방식 중에서 1P0T 방식은 최대 클라이언트 접속 수에서 가장 우수하였으며, CPU 사용률에서는 수치상으로 IPnT 방식과 유사한 결과를 나타내지만 접속한 클라이언트의 수가 많은 점을 감안하면 1P0T 방식이 더 우수한 방식이다.
기존 3-Tier 분산형은 시스템의 초기 구축이 어렵고 보안성이 약한 단점이 있으나 확장성이 우수하며 게임 에피소드간 이동이 일부 가능하다는 장점을 가지고 있다.<표 2>에서 보는 바와 같이 제안한 4-Tier 비대칭 분산형 다중 서버 구조는 서버의 추가 비용이 적게 든다는 장점 즉, 여러 대의 저가형 PC를 이용하여 서버로 활용할 수 있으므로 시설 투자비용에 대한 부담을 줄일 수 있다. (그림 8)에는 각 서버 구조별로 접속자 수에 따르는 예상 서버 구축비용을 도표화 하였다.
제안한 4-Tier 비대칭 분산형 구조는 앞에서 설명한 바와 같이 초기 시스템 구축에 어려움이 있는 단점을 가지고 있으나, 초기 설치비용과 서버 추가 비용이 저렴하며 확장성과 보안성이 뛰어나고 실시간 이벤트 그리고 게임 에피소드 간 이동이 가능하여 다른 서버구조에 비해 경제적, 성능적인 면에서 우수하다.
제안한 비대칭 분산형 다중 서버 구조는 위에서 살펴본 바와 같이 게임 서버 구조를 위한 경제성과 기능성을 갖추었으며, 특히 서버의 안정성을 향상시킬 수 있으며, 필요한 시기에 필요한 부분의 서버만을 추가하여 확장할 수 있으므로 서버 시스템의 확장성과 경제성이 크게 향상되었다.
참고문헌 (5)
이남재 '온라인롤플레잉 게임을 위한 FULL 3D 맵 관리방법에 관한 연구' 박사학위논문 전북대학교 2003. 8
2004 대한민국 게임백서, 문화관광부 한국게임산업개발원, pp.65-81, 2004.6
2003 대한민국 게임백서, (재)한국게임산업개발원, pp.66-75, 2003. 6
2002 대한민국 게임백서, (재)한국게임산업개발원, pp.28-39, 2002. 4
이남재, 곽훈성, 온라인 RPG의 시리즈 시나리오(캠페인)를 위한 분산형 게임 서버 적용방법, 한국게임학회 2002년 동계학술 대회 논문집, pp.353-357, 2002. 1
※ AI-Helper는 부적절한 답변을 할 수 있습니다.