따라서 본 발명은 종래의 문제점을 해결하기 위한 것으로, 멀티미디어 컨텐츠를 다수의 캐시 서버에 분산 저장하는 컨텐츠 분산 저장형 시스템에서 컨텐츠 재생 중에 이루어지는 사용자의 VCR 기능조작 정보를 해당 컨텐츠의 선호도에 반영함으로써 보다 정확한 컨텐츠 분산저장 정책을 수립하기 위한 것이다.
또한, 본 발명은 한정된 네트워크 자원을 더욱 효율적으로 이용하고, 이를 통해 스트리밍의 서비스 품질(QoS)을 향상시키기 위한 것이다.
이러한 목적을 달성하기 위하여, 본 발명은 VCR 기능조작을 사용자 선호도로 반영하는 컨텐츠 분산 저장형 멀티미디어 스트리밍 시스템 및 방법을 제공한다.
본 발명에 따른 컨텐츠 분산 저장형 멀티미디어 스트리밍 시스템은 컨텐츠 제공 서버와 다수의 캐시 서버를 포함하여 구성된다. 상기 컨텐츠 제공 서버는 컨텐츠 분산저장 정책에 따라 멀티미디어 컨텐츠를 제공한다. 다수의 캐시 서버는 상기 컨텐츠 제공 서버와 다수의 클라이언트 사이에 지역적으로 분산되어 분포하고, 상기 컨텐츠 분산저장 정책에 따라 상기 컨텐츠 제공 서버로부터 상기 멀티미디어 컨텐츠를 제공 받아 저장하며, 상기 클라이언트에게 스트리밍 방식으로 상기 멀티디미어 컨텐츠를 전송하고, 상기 클라이언트로부터 상기 멀티미디어 컨텐츠의 재생 중에 이루어지는 VCR 기능조작 정보를 피드백 받아 해당 컨텐츠의 사용자 선호도에 반영하고, 상기 사용자 선호도를 상기 컨텐츠 제공 서버에게 전송하여 상기 컨텐츠 분산저장 정책을 수정하도록 한다.
또한, 본 발명에 따른 멀티미디어 스트리밍 캐시 서버는 컨텐츠 제공 서버와 다수의 클라이언트 사이에 지역적으로 분산되어 분포하며, 스트리밍 제어부, 컨텐츠 저장부, VCR 조작 정보 수집부, 선호도 산출부 및 통신부를 포함하여 구성된다. 상기 스트리밍 제어부는 상기 클라이언트의 스트리밍 요청을 수신하고, 상기 클라이언트와 스트리밍 세션을 연결하여 멀티미디어 컨텐츠를 스트리밍 방식으로 전송한다. 상기 컨텐츠 저장부는 상기 컨텐츠 제공 서버가 배포한 상기 멀티미디어 컨텐츠를 저장하고, 상기 스트리밍 제어부를 통해 상기 클라이언트에게 상기 컨텐츠를 제공한다. 상기 VCR 조작 정보 수집부는 상기 클라이언트와 제어 세션을 연결하고, 상기 클라이언트로부터 상기 컨텐츠의 재생 중에 이루어지는 사용자의 VCR 기능조작 정보를 수신한다. 상기 선호도 산출부는 상기 VCR 조작정보 수집부가 수신한 상기 VCR 기능조작 정보를 토대로 해당 컨텐츠에 대한 사용자의 선호도를 산출하여 반영한다. 그리고 상기 통신부는 상기 컨텐츠 제공 서버로부터 상기 컨텐츠를 제공 받고, 상기 선호도 산출부에서 산출한 상기 사용자 선호도를 상기 컨텐츠 제공 서버에게 전송하여 상기 컨텐츠 분산저장 정책을 수정하도록 한다.
이러한 컨텐츠 분산 저장형 멀티미디어 스트리밍 캐시 서버에 있어서, 상기 VCR 기능조작 정보는 끝까지 재생, 중도 정지, 앞으로 감기, 뒤로 감기, 앞으로 건너뛰기, 뒤로 건너뛰기, 2배속 재생 중 적어도 하나 이상의 VCR 기능을 포함할 수 있다.
또한, 상기 VCR 기능조작 정보는 가장 높은 점수가 부여되는 끝까지 재생 기 능, 가장 낮은 점수가 부여되는 중도 정지 기능, 각각 양의 점수가 부여되는 뒤로 감기 기능, 뒤로 건너뛰기 기능, 각각 음의 점수가 부여되는 앞으로 감기 기능, 앞으로 건너뛰기 기능, 2배속 재생 기능 중 적어도 하나 이상의 VCR 기능을 포함할 수 있다.
또한, 상기 VCR 기능조작 정보는 적어도 하나 이상의 VCR 기능, 상기 VCR 기능별로 차등화되어 부여된 점수, 상기 VCR 기능별 조작 횟수를 포함할 수 있으며, 상기 사용자 선호도는 상기 VCR 기능별 점수와 상기 VCR 기능별 조작 횟수를 곱하여 산출된 누적점수의 합계일 수 있다.
한편, 본 발명에 따른 컨텐츠 분산 저장형 멀티미디어 스트리밍 방법은, 컨텐츠 분산저장 정책에 따라 컨텐츠 제공 서버로부터 제공 받은 멀티미디어 컨텐츠를 분산 저장하는 캐시 서버가 클라이언트의 스트리밍 요청을 수신하는 단계와, 상기 캐시 서버는 상기 클라이언트와 스트리밍 세션을 연결하고 상기 클라이언트에게 스트리밍 방식으로 상기 멀티미디어 컨텐츠를 전송하는 단계와, 상기 캐시 서버는 상기 클라이언트와 제어 세션을 연결하고 상기 클라이언트로부터 VCR 기능조작 정보를 수신하는 단계와, 상기 캐시 서버는 상기 VCR 기능조작 정보를 토대로 해당 멀티미디어 컨텐츠에 대한 사용자의 선호도를 산출하는 단계와, 상기 캐시 서버는 상기 사용자 선호도를 상기 컨텐츠 제공 서버에게 전송하여 상기 컨텐츠 분산저장 정책을 수정하도록 하는 단계를 포함한다.
한편, 본 발명에 따른 컨텐츠 분산 저장형 멀티미디어 스트리밍 방법은, 컨텐츠 제공 서버는 컨텐츠 분산저장 정책에 따라 멀티미디어 컨텐츠를 다수의 캐시 서버로 분산 저장하는 단계와, 상기 컨텐츠 제공 서버는 상기 캐시 서버로부터 사용자의 VCR 기능조작 정보가 반영된 사용자 선호도를 수신하여 상기 컨텐츠 분산저장 정책을 수정하는 단계를 포함한다.
본 발명에 따른 컨텐츠 분산 저장형 멀티미디어 스트리밍 방법에 있어서, 상기 컨텐츠 분산저장 정책을 수정하는 단계에서 상기 컨텐츠 제공 서버는 멀티미디어 컨텐츠별로 사용자 선호도가 높은 쪽의 캐시 서버에 멀티미디어 컨텐츠를 분산 저장하도록 상기 컨텐츠 분산저장 정책을 수정한다.
이와 같이, 본 발명은 멀티미디어 컨텐츠를 다수의 캐시 서버에 분산 저장하는 컨텐츠 분산 저장형 시스템에서 사용자 선호도를 토대로 컨텐츠의 분산저장 정책을 결정하되, 스트리밍 컨텐츠의 재생 중에 이루어지는 사용자의 VCR 기능조작 정보를 피드백 받아 해당 컨텐츠의 선호도에 반영함으로써 보다 정확한 컨텐츠 분산저장 정책을 수립할 수 있다는 장점이 있으며, 이를 통해 한정된 네트워크 자원을 더욱 효율적으로 이용하고 스트리밍의 서비스 품질(QoS)을 향상시킬 수 있다.
이하, 첨부 도면을 참조하여 본 발명의 실시예를 보다 상세하게 설명하고자 한다. 실시예를 설명함에 있어서 본 발명이 속하는 기술 분야에 잘 알려져 있고 본 발명과 직접적으로 관련이 없는 기술 내용에 대해서는 가급적 설명을 생략한다. 이는 불필요한 설명을 생략함으로써 본 발명의 핵심을 흐리지 않고 더욱 명확히 전달하기 위함이다. 한편, 첨부 도면을 통틀어 동일하거나 대응하는 구성요소에는 동일 한 참조부호를 부여한다.
도 1은 본 발명에 따른 멀티미디어 스트리밍 시스템의 구성을 개략적으로 나타내는 도면이고, 도 2는 본 발명의 실시예에 따른 멀티미디어 스트리밍 시스템의 캐시 서버 구성을 보여주는 도면이다.
도 1을 참조하면, 본 발명의 멀티미디어 스트리밍 시스템은 컨텐츠 제공 서버(CP)와 다수의 클라이언트(C1, C2, C3, C4, C5, …, Cn) 사이에 지역적으로 분산되어 분포하는 다수의 캐시 서버(cache server; CS1, CS2, CS3, …, CSn)를 포함한다.
컨텐츠 제공 서버(CP)는 스트리밍 서비스를 제공하고자 하는 멀티미디어 컨텐츠(이하, '컨텐츠'라 한다)의 원본을 저장하는 서버로, 근원 서버(origin server), 멀티미디어 서버 등으로도 불린다. 컨텐츠 제공 서버(CP)는 비디오 파일, 오디오 파일 등의 각종 멀티미디어 혹은 리치 미디어(rich media) 컨텐츠를 제공하는 서버로서, 해당 컨텐츠의 복제본을 미리 결정된 컨텐츠 분산저장 정책에 따라 각각의 캐시 서버(CS1, CS2, CS3, …, CSn)에 분산 저장한다.
클라이언트(C1, C2, C3, C4, C5, …, Cn)는 스트리밍 서비스를 통해 특정 노드로부터 컨텐츠를 제공받고 이를 일시 저장하면서 재생한다. 이를 위해 클라이언트(C1, C2, C3, C4, C5, …, Cn)는 전송 받은 데이터를 일시 저장하는 하나 이상의 버퍼를 구비한다. 클라이언트(C1, C2, C3, C4, C5, …, Cn)는 스트리밍 데이터를 수신하고 디코딩하여 재생할 수 있는 각종 전자기기를 망라한다. 예를 들어, 클라이언트(C1)는 컴퓨터, 셋탑 박스, 개인정보 단말기(PDA), 휴대폰, 게임기, MP3 플 레이어 등이 가능하다.
캐시 서버(CS1, CS2, CS3, …, CSn)는 컨텐츠 제공 서버(CP)로부터 복제 컨텐츠를 배포 받아 저장하고, 클라이언트(C1, C2, C3, C4, C5, …, Cn)로 컨텐츠의 스트리밍 서비스를 제공할 수 있는 서버이다. 캐시 서버(CS1, CS2, CS3, …, CSn)는 스트리밍을 수행하기 위해 국제표준규격 IETF RFC2326의 RTSP(real-time streaming protocol)와 IETF RFC3550의 RTP(real-time transport protocol)/RTCP(RTP control protocol)를 지원한다. 또한, 캐시 서버(CS1, CS2, CS3, …, CSn)는 장애(fail-over) 허용 및 부하 분산을 위해 백업 서버를 포함할 수 있다.
도 2에 예시된 바와 같이, 각각의 캐시 서버(CS)는 스트리밍 제어부(11), 컨텐츠 저장부(12), VCR 조작정보 수집부(13), 선호도 산출부(14), 통신부(15)를 포함하여 구성될 수 있다.
스트리밍 제어부(11)는 클라이언트(C)의 스트리밍 요청을 수신하고, 클라이언트(C)와 스트리밍 세션을 연결하여 클라이언트(C)로부터 요청 받은 컨텐츠를 스트리밍 방식으로 전송한다.
컨텐츠 저장부(12)는 컨텐츠 제공 서버(CP)가 배포한 복제 컨텐츠를 저장하고, 스트리밍 제어부(11)를 통해 클라이언트(C1)에게 컨텐츠를 제공한다.
VCR 조작정보 수집부(13)는 캐시 서버(CS)가 클라이언트(C)에게 컨텐츠를 스트리밍하는 도중에 클라이언트(C)와 제어 세션을 연결하고, 클라이언트(C)로부터 사용자의 VCR 기능조작 정보를 수신한다. 즉, 클라이언트(C)가 스트리밍 컨텐츠를 재생하는 중에 VCR 기능을 조작하면 이에 대한 정보를 피드백 받아 저장한다. VCR 기능조작 정보의 예는 뒤에서 설명한다.
선호도 산출부(14)는 VCR 조작정보 수집부(13)가 취득한 VCR 기능조작 정보를 토대로 해당 컨텐츠에 대한 사용자의 선호도를 산출한다. VCR 기능조작 정보에 따른 사용자 선호도 산출 방식의 예는 후술한다.
통신부(15)는 컨텐츠 제공 서버(CP)와 유무선 통신경로를 형성하고, 컨텐츠 제공 서버(CP)로부터 복제 컨텐츠를 제공 받거나, 선호도 산출부(14)에서 산출한 사용자 선호도를 컨텐츠 제공 서버(CP)에게 전송한다.
이어서, VCR 기능조작 정보와 이를 이용한 사용자 선호도 산출에 대하여 예를 들어 설명한다.
VCR 기능조작 정보는 클라이언트(C)가 스트리밍 컨텐츠를 재생하는 중에 조작하는 VCR 기능들과 관련된 정보로서, 예를 들면 '끝까지 개생', '중도 정지', '앞으로 감기', '뒤로 건너뛰기', '2배속 재생' 등이 있다.
한편, 사용자 선호도를 산출하기 위해 각각의 VCR 기능에 차등화된 점수를 부여한다. 다음의 표 1은 VCR 기능에 따라 부여된 점수의 예이다. 이는 단지 설명을 위해 예시한 것일 뿐, 본 발명의 범위를 제한하고자 하는 것이 아니다.
VCR 기능 |
점수 |
끝까지 재생 |
20 |
중도 정지 |
-5 |
앞으로 감기 |
-2 |
뒤로 감기 |
2 |
앞으로 건너뛰기 |
-3 |
뒤로 건너뛰기 |
3 |
2배속 재생 |
-2 |
표 1의 예를 보면, 사용자가 컨텐츠를 끝까지 재생하면 20점의 점수가 부여되고 컨텐츠를 중도 정지하면 -5점의 점수가 부여된다. 즉, 사용자가 컨텐츠를 끝까지 재생하였다는 것은 그 컨텐츠에 대한 사용자의 만족도 혹은 관심도가 높음을 의미하므로 가장 높은 점수를 부여하는 반면, 중도에 컨텐츠 재생을 중단하였다면 사용자의 만족도 혹은 관심도가 낮음을 의미하므로 가장 낮은 점수를 부여한다.
마찬가지로, 앞으로 감기, 앞으로 건너뛰기, 2배속 재생은 사용자의 만족도 혹은 관심도가 떨어짐을 의미하므로 음(-)의 점수를 부여하되, 중도 정지보다는 높은 점수를 부여한다. 또한, 뒤로 감기, 뒤로 건너뛰기는 사용자의 만족도 혹은 관심도가 높음을 의미하므로 양(+)의 점수를 부여하되, 끝까지 재생보다는 낮은 점수를 부여한다.
다음의 표 2 내지 표 4는 VCR 기능조작 정보에 따른 사용자 선호도 산출 방식의 예이다.
사용자 A |
VCR 기능 |
단위 점수 |
횟수 |
누적 점수 |
끝까지 재생 |
20 |
1 |
20 |
중도 정지 |
-5 |
0 |
0 |
앞으로 감기 |
-2 |
1 |
-2 |
뒤로 감기 |
2 |
2 |
4 |
앞으로 건너뛰기 |
-3 |
0 |
0 |
뒤로 건너뛰기 |
3 |
1 |
3 |
2배속 재생 |
-2 |
0 |
0 |
점수 합계 |
25 |
사용자 B |
VCR 기능 |
단위 점수 |
횟수 |
누적 점수 |
끝까지 재생 |
20 |
0 |
0 |
중도 정지 |
-5 |
1 |
-5 |
앞으로 감기 |
-2 |
2 |
-4 |
뒤로 감기 |
2 |
1 |
2 |
앞으로 건너뛰기 |
-3 |
1 |
-3 |
뒤로 건너뛰기 |
3 |
0 |
0 |
2배속 재생 |
-2 |
1 |
-2 |
점수 합계 |
-12 |
사용자 C |
VCR 기능 |
단위 점수 |
횟수 |
누적 점수 |
끝까지 재생 |
20 |
1 |
20 |
중도 정지 |
-5 |
0 |
0 |
앞으로 감기 |
-2 |
5 |
-10 |
뒤로 감기 |
2 |
2 |
4 |
앞으로 건너뛰기 |
-3 |
1 |
-3 |
뒤로 건너뛰기 |
3 |
0 |
0 |
2배속 재생 |
-2 |
0 |
0 |
점수 합계 |
11 |
표 2 내지 표 4에 나타난 사용자들의 행태를 살펴보면, 먼저 사용자 A는 컨텐츠 재생 중에 앞으로 감기 1회, 뒤로 감기 2회, 뒤로 건너뛰기 1회를 조작한 후 컨텐츠를 끝까지 재생하였다. 이 경우 사용자 A의 점수 합계는 25점이 산출된다.
사용자 B는 컨텐츠 재생 중에 앞으로 감기 2회, 뒤로 감기 1회, 앞으로 건너뛰기 1회, 2배속 재생 1회를 조작한 후 컨텐츠 재생을 중도 정지하였다. 이 경우 사용자 B의 점수 합계는 -12점이 산출된다.
사용자 C는 컨텐츠 재생 중에 앞으로 감기 5회, 뒤로 감기 2회, 앞으로 건너뛰기 1회를 조작한 후 컨텐츠를 끝까지 재생하였다. 이 경우 사용자 C의 점수 합계는 11점이 산출된다.
다시 정리하면, VCR 기능조작 정보는 사용자가 조작 가능한 VCR 기능들, VCR 기능별로 차등화되어 부여된 점수, VCR 기능별 조작 횟수를 포함하며, 사용자 선호도는 VCR 기능별 점수와 VCR 기능별 조작 횟수를 곱하여 산출된 누적점수의 합계가 된다.
이와 같이 컨텐츠 재생 중에 사용자가 조작하는 VCR 기능의 유형에 따라 그 사용자의 해당 컨텐츠에 대한 만족도 내지 관심도를 알 수 있다. 이를 종합하여 사용자 선호도에 반영하면 보다 정확한 컨텐츠 분산저장 정책을 수립하는데 큰 도움이 될 것이다.
이어서, 도 2와 도 3을 참조하여 본 발명의 실시예에 따른 멀티미디어 스트리밍 방법에 대하여 설명한다. 도 3은 본 발명의 실시예에 따른 멀티미디어 스트리밍 방법을 나타내는 흐름도이다.
먼저, 클라이언트(C)가 특정 캐시 서버(CS)의 스트리밍 제어부(11)에 접속하여 스트리밍 요청을 하면, 그 캐시 서버(CS)의 스트리밍 제어부(11)는 클라이언트(C)의 스트리밍 요청을 수신한다(단계 S11).
캐시 서버(CS)의 스트리밍 제어부(11)는 스트리밍을 요청한 클라이언트(C)와 스트리밍 세션을 연결하고(단계 S12), 컨텐츠 저장부(12)로부터 해당 컨텐츠를 획득하여 클라이언트(C)에게 스트리밍 방식으로 전송한다(단계 S13).
한편, 캐시 서버(CS)의 VCR 조작정보 수집부(13)는 클라이언트(C)와 제어 세션을 연결하고(단계 S14), 클라이언트(C)로부터 VCR 기능조작 정보를 수신한다(단계 S15).
이어서, 캐시 서버(CS)의 선호도 산출부(14)는 VCR 조작정보 수집부(13)가 취득한 VCR 기능조작 정보를 토대로 해당 컨텐츠에 대한 사용자의 선호도를 산출한다(단계 S16).
캐시 서버(CS)의 통신부(15)는 컨텐츠 제공 서버(CP)와 통신경로를 형성하고, 선호도 산출(14)에서 제공한 사용자 선호도를 컨텐츠 제공 서버(CP)에게 전송한다(단계 S17).
이와 같은 식으로 각 캐시 서버(CS)로부터 컨텐츠별 사용자 선호도를 전송 받은 컨텐츠 제공 서버(CP)는 사용자의 VCR 기능조작 정보가 반영된 사용자 선호도를 이용하여 컨텐츠 분산저장 정책을 수정한다(단계 S18). 즉, 컨텐츠 제공 서버(CP)는 컨텐츠별로 사용자 선호도가 높은 쪽의 캐시 서버(CS)에 컨텐츠를 분산 저장한다. 이때, 컨텐츠 분산저장 정책에는 VCR 기능조작 정보를 토대로 산출된 사용자 선호도뿐만 아니라, 기존의 히트수나 히트율 등의 선호도 기준도 함께 포함될 수 있다. 또한, 컨텐츠 제공 서버(CP)가 컨텐츠 분산저장 정책을 수립할 때 사용자 선호도의 임계치를 정해두고 그 임계치를 만족하는 캐시 서버 모두에 컨텐츠를 배포하도록 할 수 있다.
이와 같이 컨텐츠 재생 중에 이루어지는 사용자의 VCR 기능조작 정보를 해당 컨텐츠의 선호도에 반영함으로써 보다 정확한 컨텐츠 분산저장 정책을 수립할 수 있으며, 이에 따라 한정된 네트워크 자원을 더욱 효율적으로 이용하고 스트리밍의 서비스 품질(QoS)을 향상시킬 수 있다.
이상과 같이, 본 명세서와 도면에는 본 발명의 바람직한 실시예에 대하여 개시하였으며, 비록 특정 용어들이 사용되었으나, 이는 단지 본 발명의 기술 내용을 쉽게 설명하고 발명의 이해를 돕기 위한 일반적인 의미에서 사용된 것이지, 본 발명의 범위를 한정하고자 하는 것은 아니다. 여기에 개시된 실시예 외에도 본 발명의 기술적 사상에 바탕을 둔 다른 변형예들이 실시 가능하다는 것은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에게 자명한 것이다.