프레즌스(Presence) 정보는 사용자의 온라인 상태, 현재 위치, 네트워크 접속 방식 및 접속 주소 등 사용자에 관한 다양한 내용을 제공하며 XMPP(Extensible Massaging and Presence Protocol) 기반 프레즌스 정보와 SIP(Session Initiation Protocol) 기반 프레즌스 정보의 두 종류가 사용된다, 본 논문에서는 이 두 종류의 프레즌스 정보를 모두 처리 할 수 있는 XMPP/SIP 프레즌스 서비스 시스템에서 서버 부하 증가에 따른 확장성의 제한을 해결하기 위하여 사용자 수의 증가에 따라 동적으로 서버가 추가되고 각 서버의 부하를 효율적으로 제어 할 수 있는 새로운 다중 서버 구조 방식을 제안하였다. 이 방식에서는 부하 제어를 위한 새로운 XMPP 스탠자 구조와 SIP 프레즌스 정보 데이터 구조가 설계되었고, 동적 서버 제어를 위한 각 서버와 사용자 사이의 메시지 교환 절차가 제시되었다. 제안된 시스템의 성능은 시뮬레이션 실험을 통하여 분석하였다.
프레즌스(Presence) 정보는 사용자의 온라인 상태, 현재 위치, 네트워크 접속 방식 및 접속 주소 등 사용자에 관한 다양한 내용을 제공하며 XMPP(Extensible Massaging and Presence Protocol) 기반 프레즌스 정보와 SIP(Session Initiation Protocol) 기반 프레즌스 정보의 두 종류가 사용된다, 본 논문에서는 이 두 종류의 프레즌스 정보를 모두 처리 할 수 있는 XMPP/SIP 프레즌스 서비스 시스템에서 서버 부하 증가에 따른 확장성의 제한을 해결하기 위하여 사용자 수의 증가에 따라 동적으로 서버가 추가되고 각 서버의 부하를 효율적으로 제어 할 수 있는 새로운 다중 서버 구조 방식을 제안하였다. 이 방식에서는 부하 제어를 위한 새로운 XMPP 스탠자 구조와 SIP 프레즌스 정보 데이터 구조가 설계되었고, 동적 서버 제어를 위한 각 서버와 사용자 사이의 메시지 교환 절차가 제시되었다. 제안된 시스템의 성능은 시뮬레이션 실험을 통하여 분석하였다.
Presence information provides various informations about users such as on-line status, current location, network connection method and connection address, and there are two kinds of presence information, SIP(Session Initiation Protocol) based presence information and XMPP(Extensible Massaging and Pr...
Presence information provides various informations about users such as on-line status, current location, network connection method and connection address, and there are two kinds of presence information, SIP(Session Initiation Protocol) based presence information and XMPP(Extensible Massaging and Presence Protocol) based presence information. In this paper, a multiple server architecture that can handle these two kinds of presence information has been proposed. In this architecture, severs are added dynamically according to number of users to provide system scalability, and load of each server can be effectively controlled. In this system, a new XMPP stanza architecture and presence information data format are designed for load control. Furthermore message exchanging procedures between servers and users for dynamic server control has been also suggested. The performance of the proposed system has been analysed by simulation.
Presence information provides various informations about users such as on-line status, current location, network connection method and connection address, and there are two kinds of presence information, SIP(Session Initiation Protocol) based presence information and XMPP(Extensible Massaging and Presence Protocol) based presence information. In this paper, a multiple server architecture that can handle these two kinds of presence information has been proposed. In this architecture, severs are added dynamically according to number of users to provide system scalability, and load of each server can be effectively controlled. In this system, a new XMPP stanza architecture and presence information data format are designed for load control. Furthermore message exchanging procedures between servers and users for dynamic server control has been also suggested. The performance of the proposed system has been analysed by simulation.
그러나 이와 같은 프레즌스 서비스 시스템은 XMPP를 지원하지 않거나 XMPP를 지원하는 시스템의 경우 단일 프레즌스 서버를 사용한다는 제약이 있으며 따라서 XMPP와 SIP 프레즌스 서비스를 모두 지원하는 대용량 프레즌스 서비스 시스템으로의 확장이 어렵다는 문제점이 있다. 본 연구에서 는 사용자 수의 증가에 따라 동적으로 XMPP/SIP 프레즌스 서버가 추가되고 각 프레즌스 서버의 부하를 효율적으로 제어 할 수 있는 다중 XMPP/SIP 프레즌스 서버 구조를 제안하여 대용량 XMPP/SIP 프레즌스 서비스 시스템의 구성이 가능하도록 하였다.
만일 동작 중인 모든 서버들의 부하 레벨이 지정된 값에 이르러 추가로 부하를 처리할 상황이 아닌 경우에는 동적으로 새로운 서버를 생성하여 부하를 분산 처리한다. 이와 같은 동작을 위하여 본 연구에서는 시스템 부하의 분산 처리에 필요한 요소들이 추가된 새로운 프레즌스 정보 데이터 구조와 XMPP IQ 스탠자 구조를 설계하였고 서버 사이의 메시지 교환 절차가 제시되었다. 이와 같이 제안된 방식에 의하여 전체 시스템의 부하를 적절히 제어 할 수 있으며 시스템의 확장성도 높일 수 있게 된다.
제안 방법
본 논문에서는 XMPP/SIP 프레즌스 서비스 시스템에서 서버의 부하 레벨이 증가하면 동적으로 서버가 추가되고 각 서버의 부하를 효율적으로 제어할 수 있는 다중 서버 구조를 새롭게 제시하였다. 이 구조에서 특정 서버의 부하 레벨이 지정된 값을 초과하면 주 서버는 동작 중인 서버 중 가장 부하가 적은 서버를 선택하여 이 서버가 XMPP/SIP 프레즌스 서비스를 분산 처리하도록 하고 만일 동작 중인 모든 서버들의 부하 레벨이 지정된 값까지 상승하면 동적으로 새로운 서버를 생성하여 부하를 분산 처리한다.
이를 위하여 본 논문에서는 XMPP/SIP 프레즌스 정보 처리에 따른 서버의 부하 레벨이 증가하면 동적으로 서버가 추가되고 각 서버의 부하를 효율적으로 제어할 수 있는 다중 서버 구조에 의한 프레즌스 서비스 시스템을 새롭게 제시하였다. 이 구조에서 각 서버들은 현재 부하 레벨을 실시간으로 교환하며 특정 서버의 부하 레벨이 지정된 값을 초과하게 되면 주 서버는 동작 중인 서버 중 가장 부하가 적은 서버를 선택하여 이 서버가 XMPP/SIP 프레즌스 서비스를 분산 처리하도록 한다.
이 구조에서 특정 서버의 부하 레벨이 지정된 값을 초과하면 주 서버는 동작 중인 서버 중 가장 부하가 적은 서버를 선택하여 이 서버가 XMPP/SIP 프레즌스 서비스를 분산 처리하도록 하고 만일 동작 중인 모든 서버들의 부하 레벨이 지정된 값까지 상승하면 동적으로 새로운 서버를 생성하여 부하를 분산 처리한다. 이를 위하여 본 연구에서는 시스템 부하의 분산 처리에 필요한 요소들이 추가된 새로운 프레즌스 정보 데이터 구조와 XMPP IQ 스탠자 구조를 설계하였고 서버 사이의 메시지 교환 절차가 제시되었다. 제안된 시스템의 성능 측정 결과 본 연구에서 제안한 다중 서버 구조를 적용한 경우 서버에서의 평균 프레즌스 등록 처리 시간이 44.
대상 데이터
본 논문에서 설계한 다중 서버 구조의 XMPP/SIP 프레즌스 서비스 시스템을 그림 3에 보였다. 여기서 각각의 프레즌스 서버는 부하제어 모듈, XMPP/SIP 변환모듈, XMPP/SIP 프레즌스 정보 데이터베이스, XMPP 프레즌스 처리모듈, XMPP 스트림 처리 모듈, SIP 프레즌스 처리모듈 및 SIP 메시지 처리모듈로 구성된다.
성능/효과
100명을 초과하는 경우 서버가 추가되어 다중 서버 방식의 경우 처리 시간의 증가가 거의 없음을 보여준다. 기존 방식과 비교해 200명인 경우 평균 처리 시간이 45.6% 감소하고, 300명 일 때는 63.3% , 500명 일 때는 72.9%가 감소하여 사용자가 수가 증가할수록 본 논문에서 제안한 방식의 개선 효과가 커짐을 알 수 있다.
본 논문에서는 XMPP/SIP 프레즌스 서비스 시스템에서 서버의 부하 레벨이 증가하면 동적으로 서버가 추가되고 각 서버의 부하를 효율적으로 제어할 수 있는 다중 서버 구조를 새롭게 제시하였다. 이 구조에서 특정 서버의 부하 레벨이 지정된 값을 초과하면 주 서버는 동작 중인 서버 중 가장 부하가 적은 서버를 선택하여 이 서버가 XMPP/SIP 프레즌스 서비스를 분산 처리하도록 하고 만일 동작 중인 모든 서버들의 부하 레벨이 지정된 값까지 상승하면 동적으로 새로운 서버를 생성하여 부하를 분산 처리한다. 이를 위하여 본 연구에서는 시스템 부하의 분산 처리에 필요한 요소들이 추가된 새로운 프레즌스 정보 데이터 구조와 XMPP IQ 스탠자 구조를 설계하였고 서버 사이의 메시지 교환 절차가 제시되었다.
이를 위하여 본 연구에서는 시스템 부하의 분산 처리에 필요한 요소들이 추가된 새로운 프레즌스 정보 데이터 구조와 XMPP IQ 스탠자 구조를 설계하였고 서버 사이의 메시지 교환 절차가 제시되었다. 제안된 시스템의 성능 측정 결과 본 연구에서 제안한 다중 서버 구조를 적용한 경우 서버에서의 평균 프레즌스 등록 처리 시간이 44.0%에서 72.9%까지 감소하였고 평균 프레즌스 통지 처리 시간은 43.1%에서 69.4%까지 감소하여 사용자 수가 증가할수록 제안한 방식의 개선 효과가 커짐을 보여 주었다. 향후 과제로는 모바일 환경에서 사용 대역폭을 최소화 할 수 있는 XMPP/SIP 프레즌스 서비스 시스템을 연구 할 필요가 있다.
여기서는 최대 부하 허용값의 증가로 그림 6 경우와는 달리 사용자 수가 200명 일 때까지는 1개의 서버만을 사용하다가 이를 초과하면 프레즌스 서버가 새롭게 추가되고 400명을 초과하면 다시 서버가 추가되는 식으로 동작한다. 측정 결과 300명에서 48.8%, 400명에서 44.0%, 500명에서 65.7% 만큼 감소하여 역시 처리 시간이 기존 방식과 비교해 크게 감소함을 보여준다. 이와 같이 본 연구에서는 프레즌스 정책으로 최대 부하 허용값을 상황에 따라 다르게 설정하여 각 서버가 담당하는 사용자 수를 제어 할 수 있다.
후속연구
4%까지 감소하여 사용자 수가 증가할수록 제안한 방식의 개선 효과가 커짐을 보여 주었다. 향후 과제로는 모바일 환경에서 사용 대역폭을 최소화 할 수 있는 XMPP/SIP 프레즌스 서비스 시스템을 연구 할 필요가 있다.
참고문헌 (11)
Ronny Klauck and Michael Kirsche, "Combining Mobile XMPP Entities and Cloud Services for Collaborative Post-Disaster Management in Hybrid Network Environments," Mobile Networks and Applications, Volume 18 Issue 2, pp. 253-270, April 2013.
Huber Flores and Satish Srirama, "Mobile cloud messaging supported by XMPP primitives," MCS '13: Proceeding of the fourth ACM workshop on Mobile cloud computing and services, June 2013.
Arup Acharya et al, "Pressentials: a flexible middleware for presence-enabled applications," Proceedings of the 5th International Conference on Principles, Systems and Applications of IP Telecommunications, August 2011.
Robin Acker et a1, "Ubiquitous home control based on SIP and presence service," Proceedings of the 12th International Conference on Information Integration and Web-based Applications & Services, November 2010.
H. Sugano and G. Klyne, "Presence Information Data Format (PIDF)," RFC 3863, August 2004.
P. Saint-Andre, "Extensible Messaging and Presence Protocol (XMPP):Instant Messaging and Presence," RFC 6121, March 2011.
P. Saint-Andre, "Extensible Messaging and Presence Protocol (XMPP): Core,"RFC 6120, March 2011.
M. Lonnfors, E. Leppanen, H. Khartabil and J. Urpalainen, "SIP Extension for Partial Notification of Presence Information", RFC 6261, September 2011.
A. Niemi, M. Lonnfors and E. Leppanen, "Publication of Partial Presence Information", RFC 5264, September 2008.
G. Camarillo, A.B. Roach and O. Levin, "Subscriptions to Request-Contained Resource Lists in the Session Initiation Protocol (SIP)," RFC 5367, October 2009.
C. Jang, "XMPP/SIP Presence Service System using Efficient Message Control Method," Journal of Korea Inst. of. Information and Communication Eng., vol. 13, no. 11, pp. 2678-2683, November 2014.
※ AI-Helper는 부적절한 답변을 할 수 있습니다.