The performance degradation is the challenging issue of P2P live streaming services caused by the service instability. Since the service instability is generated by the user join/leave behaviors on the P2P overlay network, it is important to analyze and estimate the user behavior on the P2P live streaming services to improve the performance of the system as well as to design a new P2P live streaming architecture. Therefore, in this thesis, user behaviors such as the user join/leave time and the user session duration are modeled with the stochastic distributions for utilizing to anticipate the user dynamics. Besides, the analysis according to content categories is also conducted and it is found that the content category of the channel affect user behaviors significantly. Finally, two indexes, channel stability index(CSI) and user stability index(USI), are proposed to be utilized for designing a new P2P streaming architecture aware of content categories.
최근 들어서 비디오 스트리밍에 대한 수요가 증가하게 되었으며, 기존의 클라이언트 서버 아키텍쳐 방식의 스트리밍 방식으로는 늘어나는 수요를 감당하기 힘들게 되었다. 이에 대한 대안책으로 P2P 아키텍쳐를 사용하는 새로운 비디오 스트리밍 서비스가 등장하게 되었다. P2P는 망 확장성 면이나 가격 면에서 상당히 큰 장점을 가졌기 때문에, P2P 스트리밍 시스템을 사용하는 서비스가 점차 늘어나게 되었다. 하지만 P2P 스트리밍 서비스는 비디오 데이터의 전송이 사용자의 참여에 의존하기 때문에 서비스의 성능이 사용자의 행동에 상당히 큰 영향을 받는 단점이 있다. 따라서 이번 연구에서는 먼저 드라마, 버라이어티 쇼, 스포츠 중계방송, 그리고 개인 방송 총 네 가지 종류에 대해서 데이터를 수집하여서 모델링을 진행하였다. 그리고 기존의 P2P 실시간 스트리밍 서비스에서의 성능을 향상시키는데 도움을 주기 위해 P2P 실시간 스트리밍 서비스에서의 사용자의 행동을 수학적으로 모델링하여서 예측 가능하게 하였으며, 또한 이번 연구에서 분석한 사용자의 행동에 적합한 P2P 스트리밍 시스템을 설계하는데 도움을 줄 수 있는 인덱스를 제안하였다.
이번 연구에서 모델링을 한 사용자 행동은 총 세가지로 사용자 참여 시간, 사용자 퇴장 시간, 그리고 사용자 상주 시간이다. 사용자 참여 시간은 사용자가 채널에 참여한 시간을 의미하며, 이 사용자 특성은 실시간 스트리밍 서비스에서 갑자기 사용자가 몰려서 채널에 입장하는 것을 사전에 예측을 하기 위해서 모델링이 필요하다. 사용자 퇴장 시간은 사용자가 채널에서 퇴장한 시간을 의미하며, 사용자가 채널이 종료하기 전에 퇴장을 하지 않았다면 그 사용자의 퇴장 시간은 채널 종료 시점과 동일하다. 사용자 퇴장 시간은 사용자가 채널에서 퇴장을 했을 시에 발생되는 사용자간 재연결에서 비롯되는 오버헤드가 언제 발생하는지를 알려주기 때문에 상당히 중요하다. 마지막으로 사용자 상주 시간은 사용자가 채널에 들어왔을 때 부터 채널에서 나갈 때까지의 기간을 의미한다. 이 사용자 특성은 실험적으로 사용자가 얼마나 채널에 있다가 나가는지에 대한 확률을 알려주기 때문에, 이 확률 함수를 이용하여 채널에서의 여러 가지 사용자 특성을 수학적 모델로 표시할 수 있기 때문에 중요하다. lambda-square discrepancy measure 방법을 사용하여 각 사용자 행동에 대해서 모델링을 진행한 결과, 사용자 참여 시간은 Weibull 분포로 표현이 가능하였으며 사용자 상주 시간은 Johnson SB 분포로 단일한 분포로 모델링이 되었으며, 사용자 퇴장 시간은 Beta 분포와 delta 함수가 결합한 분포로 모델링 되었다.
모델링한 사용자 행동을 분석해본 결과, 사용자 행동은 컨텐츠의 종류에 따라서 서로 상이한 특성을 보여주었다. 드라마나 버라이어티 쇼를 방송한 채널에서의 사용자들은 채널이 시작하는 시간에 주로 채널에 입장하였으며 또한 채널이 끝나는 시간에 채널에서 퇴장하는 모습을 보여주었다. 또한 많은 사용자들은 오랫동안 채널에 상주하는 모습을 보여주었다. 이와는 반대로 스포츠 중계방송이나 개인 방송을 방송한 채널에서의 사용자들은 시간과는 상관없이 일정하게 채널에 입장하였다가 퇴장하는 모습을 보여주었다. 또한 많은 사람들이 방송을 아주 조금만 보고 나가는 것을 볼 수 있었다. 이러한 사용자의 행동은 망의 관리 입장에 큰 영향을 미친다. 드라마나 버라이어티를 방송하는 채널에서는 사용자들이 안정적으로 망에 상주하고 있기 때문에, 사용자의 행동에 따라서 전송이 실패한다거나 사용자 간의 재결합에 대한 부담은 적었지만, 대역폭을 많이 잡아먹게 된다. 이와는 반대로 스포츠 중계 방송이나 개인 방송을 방송하는 채널에서는 사용자들이 짧게 방송을 보고 나가기 때문에 P2P 아키텍쳐를 사용하여 망을 구성하는데 있어서 사용자 간의 재결합에서 발생하는 오버 헤드가 많이 발생하게 된다. 또한 사용자 들이 계속적으로 끊기고 다시 연결되는 동작을 반복함에 따라서 비디오의 품질 또한 보장할 수 없게 된다. 하지만 이 사용자들은 방송을 조금만 시청하고 채널에서 퇴장하기 때문에 대역폭에 대한 부담은 덜하다. 이러한 성질들은 사용자의 행동에 맞춰서 효율적으로 비디오를 전송하는 P2P 스트리밍 시스템이나 컨텐츠에 따라 전송방식을 결정해주는 방식으로 발전시킬 수 있다.
새로운 방식에 이번 연구에서 분석한 내용을 사용하기 위해서는 컨텐츠에 따른 사용자의 행동을 수치화하여 나타낼 필요가 있다. 따라서 이번 연구에서는 채널에서의 사용자 행동을 반영하는 두 가지의 인덱스를 제안하였다. 첫번째로 제안한 인덱스는 채널 안정도 인덱스 이다. 채널 안정도 인덱스는 한 채널안에서의 사용자들이 전반적으로 안정한지 안한지를 나타내는 파라미터이다. 사용자 상주 기간에서 도출한 확률 함수를 사용하여 오랫동안 채널을 시청한 사람의 비율과 짧은 기간 채널을 시청한 사람의 비율을 구하여, 오랫동안 채널을 시청한 사람과 비례하고 짧은 기간 채널을 시청한 사람에 반비례하게 인덱스를 제안하였다. 따라서, 채널 안정도 인덱스 값이 높다면, 이는 오랫동안 채널을 시청한 사람이 많으며 또한 짧은 기간 채널을 시청한 사람이 적다는 의미를 가지며, 반대로, 채널 안정도 인덱스 값이 낮다면, 이는 짧게 채널을 시청한 사람이 많으며 오랫동안 채널을 시청한 사람이 적다는 것을 의미한다. 이 인덱스를 분석해보면, 인덱스 값이 높다면, 오랫동안 채널을 시청한 사람이 많기 때문에 대역폭에 대해서 많은 양을 보장해줘야 한다는 것을 의미하며 또한 이 사용자들로 P2P 망을 구성했을 때 사용자 행동에 따른 비디오 품질 저하가 크게 나타나지 않는 것을 알 수 있다. 반대로 인덱스 값이 낮다면, 오랫동안 채널을 시청한 사람이 거의 없으며 대부분이 채널을 짧게 시청하고 나가는 사용자들이 때문에 대역폭에 대해서 많이 보장해줄 필요는 없다. 또한 사용자들이 불안정하기 때문에 이 사용자들을 이용하여 P2P 비디오 전송 망을 만들어서 유지하기 위해선 많은 오버헤드가 발생하는 것도 알 수 있다. 따라서 채널 안정도 인덱스가 높다면, tree-based 혹은 mesh-based P2P 실시간 스트리밍 방식으로 데이터를 전송하는 것이 효율적이라는 것을 결정할 수 있으며, 반대일 경우에는 CDN 서버에서 직접 데이터를 내려 받는 것이 더 효율적이라고 결정할 수 있다. 비디오 전송 방식을 결정하는데 도움을 주는 채널 안정도 인덱스와 함께, P2P에서 오버레이 망을 안정적으로 설계하는데 필요한 사용자 안정도 인덱스도 함께 제안을 하였다. 먼저 사용자가 안정된 사용자라고 판단할 수 있는 역치점을 설정을 하였다. 이번 연구에서는 70% 이상의 방송을 본 사용자를 오랫동안 비디오를 시청한 사용자로 판단을 하였다. 하지만 실제로 안정된 사용자를 판단하기 위해서 70% 동안 사용자의 상주 시간을 측정하기에는 어려움이 있기 때문에, 이 지점을 사용자 상주 시간 확률 함수를 사용하여 줄였으며 이를 통해 새로운 역치점을 만들었다. 사용자 안정도 인덱스는 이 역치점에 사용자의 상주 시간이 얼마나 다가갔는지에 대한 정도를 의미한다. 사용자가 오랫동안 채널에서 방송을 시청하였다면, 그 사용자의 상주 시간은 역치점에 다다르게 되고 따라서 그 사용자의 안정도 인덱스는 상주 시간에 따라서 올라가게 된다. 사용자 안정도 인덱스가 1이 되면 사용자는 안정된 사용자로 판단되며 채널에서 비디오 데이터를 전송하는데 있어서 안정적인 경로를 제공해주는 노드의 역할을 하게 된다. 결과적으로 사용자의 행동을 수치화해주는 인덱스를 사용하면 사용자의 행동에 적합한 새로운 P2P 비디오 스트리밍 아키텍쳐를 디자인 할 수 있을 것이다.