KR20100048491A - 이동 에이전트를 이용하는 컨텐츠 분산 저장형 멀티미디어 스트리밍 시스템 및 방법 - Google Patents

이동 에이전트를 이용하는 컨텐츠 분산 저장형 멀티미디어 스트리밍 시스템 및 방법 Download PDF

Info

Publication number
KR20100048491A
KR20100048491A KR1020080107677A KR20080107677A KR20100048491A KR 20100048491 A KR20100048491 A KR 20100048491A KR 1020080107677 A KR1020080107677 A KR 1020080107677A KR 20080107677 A KR20080107677 A KR 20080107677A KR 20100048491 A KR20100048491 A KR 20100048491A
Authority
KR
South Korea
Prior art keywords
node
content
meta information
streaming
nodes
Prior art date
Application number
KR1020080107677A
Other languages
English (en)
Other versions
KR101137248B1 (ko
Inventor
장현민
김경환
전재식
Original Assignee
에스케이텔레콤 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 에스케이텔레콤 주식회사 filed Critical 에스케이텔레콤 주식회사
Priority to KR1020080107677A priority Critical patent/KR101137248B1/ko
Publication of KR20100048491A publication Critical patent/KR20100048491A/ko
Application granted granted Critical
Publication of KR101137248B1 publication Critical patent/KR101137248B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/231Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04HBROADCAST COMMUNICATION
    • H04H60/00Arrangements for broadcast applications with a direct linking to broadcast information or broadcast space-time; Broadcast-related systems
    • H04H60/68Systems specially adapted for using specific information, e.g. geographical or meteorological information
    • H04H60/73Systems specially adapted for using specific information, e.g. geographical or meteorological information using meta-information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/232Content retrieval operation locally within server, e.g. reading video streams from disk arrays
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/239Interfacing the upstream path of the transmission network, e.g. prioritizing client content requests
    • H04N21/2393Interfacing the upstream path of the transmission network, e.g. prioritizing client content requests involving handling client requests
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/251Learning process for intelligent management, e.g. learning user preferences for recommending movies

Abstract

본 발명은 이동 에이전트를 이용하는 컨텐츠 분산 저장형 멀티미디어 스트리밍 시스템 및 방법에 관한 것이다. 본 발명에 따르면, 멀티미디어 컨텐츠를 여러 노드에 분산 저장하는 분산 저장형 시스템에서, 각 노드를 순회하는 이동 에이전트를 이용하여 컨텐츠의 메타정보를 주기적으로 갱신하고, 클라이언트의 스트리밍 요청을 받은 노드가 메타정보를 이용하여 스트리밍을 수행할 최적의 서버를 클라이언트에게 반환한다. 본 발명은 각 노드의 서버들이 직접 컨텐츠 정보를 획득하기 위해 관여하지 않고 노드들을 순회하는 이동 에이전트를 통해 컨텐츠 정보를 수집하고 갱신하므로, 네트워크의 부담을 대폭 줄일 수 있다.
스트리밍, 멀티미디어 컨텐츠, 노드, 이동 에이전트, 메타정보

Description

이동 에이전트를 이용하는 컨텐츠 분산 저장형 멀티미디어 스트리밍 시스템 및 방법{System and Method for Multimedia Streaming of Distributed Contents Using Mobile Agent}
본 발명은 멀티미디어 스트리밍 서비스에 관한 것으로서, 좀더 구체적으로는 멀티미디어 컨텐츠를 여러 노드에 분산 저장하는 분산 저장형 시스템에서 각 노드를 순회하는 이동 에이전트를 이용하여 컨텐츠의 메타정보를 주기적으로 갱신하고 클라이언트의 스트리밍 요청을 받은 노드가 메타정보를 이용하여 스트리밍을 수행할 최적의 서버를 클라이언트에게 반환하는 스트리밍 시스템과 방법에 관한 것이다.
인터넷 기술의 발전에 따라 인터넷을 통해 동영상이나 애니메이션 등의 멀티미디어 컨텐츠를 실시간으로 제공받는 스트리밍(streaming) 서비스가 활성화되고 있다. 스트리밍이란 멀티미디어 컨텐츠 파일을 모두 전송 받은 후에 재생하는 다운로드 방식과 달리, 전체 파일의 일정량만 전송되면 이를 버퍼링하면서 실시간으로 재생하는 기법을 말한다. 버퍼링된 부분을 재생하는 동안 나머지 부분을 지속적으로 전송 받기 때문에, 전송되는 데이터가 마치 끊임없고 지속적인 물 흐름처럼 처 리된다고 하여 '스트리밍'이라는 명칭이 붙여졌다. 이러한 스트리밍 서비스에는 실시간 방송 서비스나 주문형 비디오 서비스가 있다.
한편, UCC(user created contents)를 비롯한 동영상 컨텐츠의 폭발적인 증가에 따라 최근 인터넷 트래픽이 급속히 늘고 있다. 인터넷 대역폭(공급)의 성장 속도가 인터넷 트래픽(수요)의 성장 속도를 따라가지 못하는 상황에 직면한 것이다. 2007년의 경우만 보더라도 글로벌 인터넷 트래픽은 75% 성장했지만 인터넷 대역폭은 44% 증가하는데 그친 것으로 보고되고 있다.
이러한 인터넷 대역폭 부족 현상을 해결하기 위한 방안으로 CDN(contents delivery network) 기술이 관심을 끌고 있다. CDN 기술은 능동적인 트래픽 분산을 이용하여 네트워크의 평균 가동률을 높이고 피크 트래픽을 낮추어 인터넷 망을 더욱 효율적으로 활용할 수 있는 기술이다. CDN 기술에 따르면, 컨텐츠 제공자(contents provider)는 클라이언트에게 제공할 컨텐츠를 지역적으로 분산된 다수의 서버에 복제하고, 클라이언트의 요청이 있을 경우 최적의 서버로부터 컨텐츠를 제공받을 수 있도록 한다.
스트리밍 서비스의 경우에도 멀티미디어 컨텐츠를 여러 노드에 분산 저장하는 분산 저장형 시스템이 알려져 있다. 이러한 분산 저장 방식은 각 노드의 부하를 분산하고 네트워크의 효율을 높여 스트리밍 서비스의 품질을 향상시킬 수 있다. 그런데 이러한 분산 저장형 시스템이 효율적으로 운용되려면 각 노드는 다른 노드들에 분산 저장되어 있는 멀티미디어 컨텐츠에 대한 정보를 실시간으로 그리고 능률적으로 획득할 수 있어야 한다. 그러나 수많은 노드에 한꺼번에 컨텐츠 정보를 요 청하고 수집하는 종래의 일반적인 방식은 사용되는 대역폭이 증가함에 따라 오히려 네트워크 부하를 가중시키고 응답 지연에 따른 초기 버퍼링 지연을 발생시킴으로써 결국 서비스 품질을 떨어뜨리고 데이터 분산 저장의 효과를 반감시키게 된다.
따라서 본 발명은 종래의 문제점을 해결하기 위한 것으로, 컨텐츠 분산 저장형 멀티미디어 스트리밍 서비스에서 각 노드에 분산 저장되어 있는 멀티미디어 컨텐츠에 대한 정보를 효율적으로 획득하고 유지, 관리할 수 있도록 하기 위한 것이다.
또한, 본 발명은 컨텐츠 분산 저장형 멀티미디어 스트리밍 서비스에서 네트워크의 부담을 줄이면서 응답 지연 없이 다른 노드의 컨텐츠 정보를 획득할 수 있도록 하기 위한 것이다.
이러한 목적을 달성하기 위하여, 본 발명은 이동 에이전트를 이용하는 컨텐츠 분산 저장형 멀티미디어 스트리밍 시스템 및 방법을 제공한다.
본 발명에 따른 컨텐츠 분산 저장형 멀티미디어 스트리밍 시스템은 컨텐츠 제공자와 다수의 클라이언트 사이에 지역적으로 분산되어 분포하는 다수의 노드들을 포함하고, 각각의 상기 노드는 스트리밍 서버, 컨텐츠 서버, 메타정보 서버, 이동 에이전트 서버를 포함하며, 상기 컨텐츠 서버는 멀티미디어 컨텐츠를 저장하고, 상기 메타정보 서버는 상기 노드들에 저장된 상기 멀티미디어 컨텐츠에 대한 메타정보를 저장하고, 상기 이동 에이전트 서버는 이동 에이전트를 생성하여 상기 이동 에이전트가 상기 노드들을 순회하면서 상기 메타정보를 수집하고 갱신하도록 제어하고, 상기 스트리밍 서버는 상기 클라이언트의 스트리밍 요청을 수신하여 상기 메 타정보 서버로부터 상기 메타정보를 검색하고 검색결과를 바탕으로 최적의 스트리밍 노드를 결정하여 상기 클라이언트에게 반환하며 상기 최적의 노드에 속할 경우 상기 컨텐츠 서버로부터 상기 멀티미디어 컨텐츠를 획득하여 상기 클라이언트에게 전송한다.
본 발명의 컨텐츠 분산 저장형 멀티미디어 스트리밍 시스템에 있어서, 상기 이동 에이전트는 상기 노드들에 저장된 모든 컨텐츠에 대한 메타정보가 기록된 메타정보 리스트를 가질 수 있으며, 각 노드에 도착할 때마다 상기 메타정보 리스트를 전달하고 각 노드가 저장 중인 컨텐츠의 메타정보를 받아 상기 메타정보 리스트를 갱신할 수 있다.
또한, 상기 메타정보는 각 노드의 각 컨텐츠에 접속 가능한 사용자 수를 의미하는 접속 가능수와, 각 노드의 각 컨텐츠에 접속 중인 사용자들 중 가장 먼저 접속한 사용자의 잔여재생시간을 의미하는 최소 잔여재생시간 중 적어도 하나를 포함할 수 있다.
또한, 상기 스트리밍 서버는 상기 메타정보의 검색결과 상기 클라이언트가 요청한 컨텐츠를 보유하고 있는 노드들 중 상기 접속 가능수가 가장 큰 노드를 상기 최적 스트리밍 노드로 결정할 수 있다.
또한, 상기 스트리밍 서버는 상기 메타정보의 검색결과 상기 클라이언트가 요청한 컨텐츠를 보유하고 있는 노드들 중 상기 최소 잔여재생시간이 가장 작은 노드를 상기 최적 스트리밍 노드로 결정할 수 있다.
한편, 본 발명에 따른 컨텐츠 분산 저장형 멀티미디어 스트리밍 방법은, 컨 텐츠 제공자와 다수의 클라이언트 사이에 다수의 노드들이 지역적으로 분산되어 분포하고 각각의 상기 노드가 멀티미디어 컨텐츠와 상기 멀티미디어 컨텐츠에 대한 메타정보를 저장하는 컨텐츠 분산 저장형 시스템에서의 멀티미디어 스트리밍 방법으로서, 상기 노드들 중 적어도 하나의 노드에서 생성한 이동 에이전트가 상기 노드들을 순회하면서 상기 메타정보를 수집하고 갱신하는 단계와, 상기 클라이언트로부터 상기 노드들 중 특정 노드에 스트리밍 요청이 오면 상기 특정 노드에서 상기 메타정보를 검색하는 단계와, 상기 특정 노드에서 상기 메타정보의 검색결과를 바탕으로 최적의 스트리밍 노드를 결정하여 상기 클라이언트에게 반환하는 단계와, 상기 클라이언트로부터 스트리밍 요청이 오면 상기 최적의 스트리밍 노드에서 상기 멀티미디어 컨텐츠를 상기 클라이언트에게 전송하는 단계를 포함한다.
본 발명의 컨텐츠 분산 저장형 멀티미디어 스트리밍 방법에 에 있어서, 상기 이동 에이전트는 상기 노드들에 저장된 모든 컨텐츠에 대한 메타정보가 기록된 메타정보 리스트를 가질 수 있으며, 각 노드에 도착할 때마다 상기 메타정보 리스트를 전달하고 각 노드가 저장 중인 컨텐츠의 메타정보를 받아 상기 메타정보 리스트를 갱신할 수 있다.
또한, 상기 메타정보는 각 노드의 각 컨텐츠에 접속 가능한 사용자 수를 의미하는 접속 가능수와, 각 노드의 각 컨텐츠에 접속 중인 사용자들 중 가장 먼저 접속한 사용자의 잔여재생시간을 의미하는 최소 잔여재생시간 중 적어도 하나를 포함할 수 있다.
또한, 상기 특정 노드는 상기 메타정보의 검색결과 상기 클라이언트가 요청 한 컨텐츠를 보유하고 있는 노드들 중 상기 접속 가능수가 가장 큰 노드를 상기 최적 스트리밍 노드로 결정할 수 있다.
또한, 상기 특정 노드는 상기 메타정보의 검색결과 상기 클라이언트가 요청한 컨텐츠를 보유하고 있는 노드들 중 상기 최소 잔여재생시간이 가장 작은 노드를 상기 최적 스트리밍 노드로 결정할 수 있다.
본 발명은 컨텐츠 분산 저장형 멀티미디어 스트리밍 서비스에 있어서 멀티미디어 컨텐츠를 분산 저장하고 있는 각 노드를 이동 에이전트가 순회하면서 컨텐츠 메타정보를 수집하고 갱신하므로, 효율적으로 컨텐츠 정보를 획득하고 유지, 관리할 수 있는 장점이 있다.
또한, 본 발명은 각 노드의 서버들이 직접 컨텐츠 정보를 획득하기 위해 관여하지 않고 노드들을 순회하는 이동 에이전트를 통해 컨텐츠 정보를 수집하고 갱신하므로, 네트워크의 부담을 대폭 줄일 수 있는 장점이 있다.
또한, 본 발명은 주기적으로 이동 에이전트를 생성하고 이를 통해 컨텐츠 정보를 수집, 갱신하므로, 클라이언트로부터 스트리밍 요청이 왔을 때 응답 지연 없이 바로 스트리밍 서비스를 개시할 수 있는 장점이 있다.
또한, 본 발명은 네트워크 대역폭을 일정하게 사용하는 이동 에이전트를 이용하므로, 분산 멀티미디어 서비스 환경의 규모가 커지더라도 네트워크 부하를 일정하게 유지할 수 있는 장점이 있다.
이하, 첨부 도면을 참조하여 본 발명의 실시예를 보다 상세하게 설명하고자 한다. 실시예를 설명함에 있어서 본 발명이 속하는 기술 분야에 잘 알려져 있고 본 발명과 직접적으로 관련이 없는 기술 내용에 대해서는 가급적 설명을 생략한다. 이는 불필요한 설명을 생략함으로써 본 발명의 핵심을 흐리지 않고 더욱 명확히 전달하기 위함이다. 한편, 첨부 도면을 통틀어 동일하거나 대응하는 구성요소에는 동일한 참조부호를 부여한다.
도 1은 본 발명에 따른 멀티미디어 스트리밍 시스템의 구성을 개략적으로 나타내는 도면이고, 도 2는 본 발명의 실시예에 따른 멀티미디어 스트리밍 시스템의 노드 구성을 보여주는 도면이다.
도 1을 참조하면, 본 발명의 멀티미디어 스트리밍 시스템은 컨텐츠 제공자(CP)와 다수의 클라이언트(C1, C2, C3, C4, C5, …, Cn) 사이에 지역적으로 분산되어 분포하는 다수의 노드(node; N1, N2, N3, …, Nn)들을 포함한다.
컨텐츠 제공자(CP)는 스트리밍 서비스를 제공하고자 하는 멀티미디어 컨텐츠의 원본을 저장하는 서버로, 근원 서버(origin server), 멀티미디어 서버 등으로도 불린다. 컨텐츠 제공자(CP)는 멀티미디어 컨텐츠의 복제본을 미리 결정된 컨텐츠 분산 저장 정책에 따라 각각의 노드(N1, N2, N3, …, Nn)에 분산 저장한다.
클라이언트(C1, C2, C3, C4, C5, …, Cn)는 스트리밍 서비스를 통해 특정 노드로부터 멀티미디어 컨텐츠를 제공받고 이를 일시 저장하면서 재생한다. 이를 위해 클라이언트는 전송 받은 데이터를 일시 저장하는 하나 이상의 버퍼를 구비한다. 클라이언트는 스트리밍 데이터를 수신하고 디코딩하여 재생할 수 있는 각종 전자기 기를 망라한다. 예를 들어, 클라이언트(C1)는 컴퓨터, 셋탑 박스, 개인정보 단말기(PDA), 휴대폰, 게임기, MP3 플레이어 등이 가능하다.
도 2에 예시된 바와 같이, 각각의 노드(N1, N2, N3, N4)는 스트리밍 서버(11), 컨텐츠 서버(12), 메타정보 서버(13), 이동 에이전트 서버(14)를 포함하여 구성된다.
스트리밍 서버(11)는 클라이언트(C1)의 스트리밍 요청을 수신하고, 클라이언트(C1)로부터 요청 받은 멀티미디어 컨텐츠의 메타정보를 메타정보 서버(13)에 접속하여 검색한다. 또한, 스트리밍 서버(11)는 메타정보 검색결과를 바탕으로 최적의 스트리밍 노드를 결정하여 클라이언트(C1)에게 반환하며, 자신이 최적의 스트리밍 서버일 경우 컨텐츠 서버(12)로부터 해당 컨텐츠를 획득하여 클라이언트(C1)에게 전송한다. 스트리밍 서버(11)는 스트리밍을 수행하기 위해 국제표준규격 IETF RFC2326의 RTSP(real-time streaming protocol)와 IETF RFC3550의 RTP(real-time transport protocol)/RTCP(RTP control protocol)를 지원한다.
컨텐츠 서버(12)는 컨텐츠 제공자가 제공한 멀티미디어 컨텐츠를 저장한다. 멀티미디어 컨텐츠는 UCC를 비롯한 동영상 컨텐츠, 온라인 교육, 영화, 방송, 음악 등 대용량 미디어 컨텐츠, 녹화 및 생방송 컨텐츠 등을 포함한다. 컨텐츠 서버(12)는 스트리밍 서버(11)의 요청에 의해 멀티미디어 컨텐츠를 스트리밍 서버(11)로 제공한다.
메타정보 서버(13)는 각 노드(N1, N2, N3, N4)에 저장되어 있는 멀티미디어 컨텐츠에 대한 정보, 즉 메타정보를 저장한다. 특히, 각 노드의 메타정보 서버(13) 는 해당 노드가 저장하고 있는 컨텐츠의 메타정보만 아니라, 다른 노드들이 저장하고 있는 컨텐츠의 메타정보들도 저장한다. 뒤에서 예를 들어 자세히 설명하겠지만, 메타정보는 예컨대 노드 ID, 컨텐츠 이름, 컨텐츠 유형, 컨텐츠 크기, 컨텐츠 재생시간, 접속 가능수, 최소 잔여재생시간, 메타정보 저장시간 등의 항목을 포함한다. 이 중에서, 접속 가능수는 해당 노드의 해당 컨텐츠에 접속 가능한 사용자 수를 의미하고, 최소 잔여재생시간은 해당 노드의 해당 컨텐츠에 접속 중인 사용자들 중 가장 먼저 접속한 사용자의 잔여재생시간을 의미한다. 또한, 메타정보 저장시간은 각 노드에서 이동 에이전트의 메타정보 리스트에 메타정보를 기록한 시간을 의미한다. 메타정보와 관련해서는 표 1을 참조하여 자세히 후술한다.
메타정보 서버(13)는 스트리밍 서버(11)에게 컨텐츠의 메타정보 검색 결과를 제공한다. 또한, 메타정보 서버(13)는 이동 에이전트에게 자신이 저장 중인 메타정보를 제공하거나, 이동 에이전트로부터 새로운 메타정보를 제공 받아 자신이 저장 중인 메타정보를 갱신한다.
이동 에이전트 서버(14)는 주기적으로 이동 에이전트를 생성하고 이동경로를 지정하여 이동 에이전트가 다른 노드들을 순회하도록 제어한다. 또한, 이동 에이전트 서버(14)는 자신의 이동 에이전트 또는 다른 노드에서 온 이동 에이전트가 메타정보 서버(13)와 메타정보를 주고받을 수 있도록 제어한다.
이어서, 도 2와 도 3을 참조하여 본 발명의 실시예에 따른 멀티미디어 스트리밍 시스템과 방법에 대하여 좀더 구체적으로 설명한다. 도 3은 본 발명의 실시예에 따른 멀티미디어 스트리밍 방법을 나타내는 흐름도이다.
먼저, 각 노드에 분산 저장되어 있는 멀티미디어 컨텐츠에 대한 정보를 획득하고 유지하기 위해, 특정 노드(N1)의 이동 에이전트 서버(14)는 이동 에이전트를 생성한다. 이동 에이전트(mobile agent)는 인터넷 등과 같은 분산 환경에서 사용자의 요구에 충족하는 정보를 망 내의 필요한 여러 호스트들을 자율적으로 이동하면서 대신 수집 제공해 주는 소프트웨어 프로세서이다. 이동 에이전트는 본 발명이 속하는 기술분야에 잘 알려져 있으며, 예를 들어 다음과 같은 논문에 이동 에이전트가 소개되어 있다.
- V. A. Pham and A. Karmouch, "Mobile Software Agents: An Overview", IEEE Communication Magazine, Jul. 1998
- W. R. Cockayne and M. Zyda, "Mobile Agents", Manning Publications Co., 1999
이동 에이전트는 미리 설정된 하나 또는 그 이상의 노드에서 생성되고 노드들을 순회하며 각 노드의 멀티미디어 컨텐츠 정보를 수집하고 갱신한다. 이동 에이전트 서버(14)는 최신의 컨텐츠 정보를 수집하기 위해 주기적으로 이동 에이전트를 생성한다. 이동 에이전트는 이동 에이전트 서버(14)가 지정한 이동경로를 따라 다른 노드들(N2, N3, N4)을 순회하면서 해당 노드와 컨텐츠 정보를 주고 받는다(단계 S1, S2, S3). 즉, 이동 에이전트는 모든 노드에 저장된 컨텐츠에 대한 메타정보가 기록된 메타정보 리스트를 가지고 있으며, 특정 노드에 도착할 때마다 자신의 메타정보 리스트를 노드에 전달하고 그 노드가 저장 중인 컨텐츠의 최신 메타정보를 받아 자신의 메타정보 리스트를 갱신한다. 지정된 경로의 모든 노드들(N2, N3, N4)을 경유한 이동 에이전트는 다시 출발 노드(N1)로 돌아와서 메타정보 리스트를 전달한다(단계 S4).
다음의 표 1은 메타정보 리스트의 예이다.
노드 ID 컨텐츠 이름 컨텐츠 유형 컨텐츠 크기 컨텐츠 재생시간 접속 가능수 최소 잔여 재생시간 메타정보 저장시간
N1 A 영화 1.5GB 100분 3 9:15am
N1 C 방송 0.9GB 60분 1 9:15am
N2 B UCC 300MB 20분 0 0:05:38 9:16am
N2 C 방송 0.9GB 60분 7 9:16am
N3 A 영화 1.5GB 100분 5 9:18am
N3 B UCC 300MB 20분 0 0:08:41 9:18am
N4 A 영화 1.5GB 100분 0 0:13:20 9:19am
N4 B UCC 300MB 20분 0 0:01:50 9:19am
N4 C 방송 0.9GB 60분 12 9:19am
표 1의 예를 보면, 노드 N4는 컨텐츠 A, B, C를 저장하고 있는데, 컨텐츠 A는 크기가 1.5GB이고 재생시간이 100분인 영화이고, 컨텐츠 B는 크기가 300MB이고 재생시간이 20분인 UCC이며, 컨텐츠 C는 크기가 0.9GB이고 재생시간이 60분인 방송이다. 컨텐츠 A는 노드 N4 외에 노드 N1과 노드 N3에 저장되어 있고, 컨텐츠 B는 노드 N4 외에 노드 N2와 노드 N3에 저장되어 있으며, 컨텐츠 C는 노드 N4 외에 노드 N1과 노드 N2에 저장되어 있다.
한편, 컨텐츠 A의 경우, 노드 N1의 접속 가능수는 3, 노드 N3의 접속 가능수는 5, 노드 N4의 접속 가능수는 0이다. 즉, 노드 N1에는 3명, 노드 N3에는 5명의 사용자가 더 접속하여 컨텐츠 A를 전송 받을 수 있으나, 노드 N4에는 현재 접속 가능한 사용자가 없음을 의미한다. 이때, 노드 N4의 경우, 최소 잔여재생시간이 13분 20초인데, 이는 현재 노드 N4에 접속하여 컨텐츠 A를 서비스 받고 있는 사용자들 중에서 가장 먼저 접속한 사용자의 잔여재생시간이 13분 20초임을 의미한다. 즉, 사용자가 중도에 서비스를 종료하지 않는 한, 13분 20초 후에 서비스 이용이 완료된다는 뜻이다.
메타정보 저장시간은 노드 N1, 노드 N2, 노드 N3, 노드 N4가 각각 오전 9시 15분, 9시 16분, 9시 18분, 9시 19분으로 나타나는데, 이는 이동 에이전트가 해당 노드들을 순회하면서 메타정보를 갱신한 시간을 의미한다.
메타정보의 갱신에 대하여 설명하면, 특정 노드(N1)에서 생성된 이동 에이전트는 다른 노드들(N2, N3, N4)을 모두 순회하면서 각 노드들과 메타정보를 주고받아 자신의 메타정보 리스트를 갱신할 뿐만 아니라 해당 노드들이 저장 중인 메타정보도 갱신하도록 한다.
예를 들면, 노드 N1에서 생성되어 출발한 이동 에이전트가 노드 N2에 도착했다고 할 때, 이동 에이전트는 자신의 메타정보 리스트를 노드 N2에 전달한다. 메타정보 리스트에는 모든 노드들(N1 ~ N4)의 메타정보가 기록되어 있다. 노드 N2는 메타정보 리스트에서 다른 노드들(N1, N3, N4)의 메타정보를 받아 자신이 저장 중인 메타정보와 비교하여 갱신하며, 자신의 메타정보를 제공하여 메타정보 리스트에 기록된 자신의 메타정보를 갱신한다. 이러한 식으로 모든 노드들을 경유하면, 각 노드는 자신 뿐만 아니라 다른 노드들의 메타정보도 최신의 것으로 유지할 수 있게 된다.
이와 같이, 모든 노드들이 이동 에이전트를 통해 최신의 메타정보들을 유지하고 있을 때, 클라이언트(C1)가 특정 노드(N1)에 접속하여 스트리밍 요청을 하면, 그 노드(N1)의 스트리밍 서버(11)는 클라이언트(C1)의 스트리밍 요청을 수신한다(단계 S5).
클라이언트(C1)로부터 스트리밍 요청을 받은 노드(N1)의 스트리밍 서버(11)는 메타정보 서버(13)에 접속하여 클라이언트가 요청한 컨텐츠에 대한 메타정보를 검색한다(단계 S6). 또한, 스트리밍 서버(11)는 메타정보 검색결과를 바탕으로 최적의 스트리밍 노드(즉, 최적의 스트리밍 서버)를 결정하고 이를 클라이언트(C1)에게 반환한다(단계 S7). 메타정보 검색 및 최적서버 결정 방법은 다음과 같다.
(1) 클라이언트가 요청한 컨텐츠를 보유하고 있는 노드를 검색한다.
(2) 검색된 노드들의 접속 가능수를 비교한다.
(3) 접속 가능수가 가장 큰 노드를 최적서버로 결정한다.
(4) 검색된 노드들의 접속 가능수가 모두 '0'일 경우, 최소 잔여재생시간을 비교한다.
(5) 최소 잔여재생시간이 가장 작은 노드를 최적서버로 결정한다.
표 1의 예를 이용하여 설명하면, 만약 클라이언트가 컨텐츠 A를 요청했다고 할 때, 컨텐츠 보유 노드는 N1, N3, N4가 검색된다. 검색된 노드의 접속 가능수는 각각 3, 5, 0이므로, 접속 가능수 비교 결과 최적서버는 접속 가능수가 가장 큰 노드 N3으로 결정된다. 만약 클라이언트가 컨텐츠 B를 요청한 경우, 컨텐츠 보유 노드는 N2, N3, N4가 검색된다. 검색된 노드의 접속 가능수는 모두 0이므로, 다시 최소 잔여재생시간을 비교한다. 최소 잔여재생시간 비교 결과 최적서버는 최소 잔여재생시간이 가장 작은 노드 N4로 결정된다.
이와 같이, 클라이언트(C1)로부터 스트리밍 요청을 받은 노드(N1)가 요청 받은 컨텐츠의 메타정보를 검색하고 그로부터 최적서버를 결정하여(예컨대, 노드 N3) 클라이언트에게 반환하면, 클라이언트(C1)는 최적서버(N3)에 접속하여 스트리밍을 요청한다(단계 S8). 스트리밍 요청을 받은 최적서버(N3)는 자신의 컨텐츠 서버(12)로부터 해당 컨텐츠를 획득하여 클라이언트(C1)에게 스트리밍 서비스를 개시한다(단계 S9).
이상과 같이, 본 명세서와 도면에는 본 발명의 바람직한 실시예에 대하여 개시하였으며, 비록 특정 용어들이 사용되었으나, 이는 단지 본 발명의 기술 내용을 쉽게 설명하고 발명의 이해를 돕기 위한 일반적인 의미에서 사용된 것이지, 본 발명의 범위를 한정하고자 하는 것은 아니다. 여기에 개시된 실시예 외에도 본 발명의 기술적 사상에 바탕을 둔 다른 변형예들이 실시 가능하다는 것은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에게 자명한 것이다.
본 발명은 UCC를 비롯한 동영상 컨텐츠, 온라인 교육, 영화, 방송, 음악 등 대용량 미디어 컨텐츠, 녹화 및 생방송 컨텐츠, IPTV 등 다양한 형태로 나타나고 있는 각종 멀티미디어 스트리밍 서비스에 유용하게 이용할 수 있다.
도 1은 본 발명에 따른 멀티미디어 스트리밍 시스템의 구성을 개략적으로 나타내는 도면이다.
도 2는 본 발명의 실시예에 따른 멀티미디어 스트리밍 시스템의 노드 구성을 보여주는 도면이다.
도 3은 본 발명의 실시예에 따른 멀티미디어 스트리밍 방법을 나타내는 흐름도이다.
<도면의 주요부분에 대한 설명>
CP: 컨텐츠 제공자
N1, N2, N3, N4, …, Nn: 노드
C1, C2, C3, C4, C5, …, Cn: 클라이언트
11: 스트리밍 서버
12: 컨텐츠 서버
13: 메타정보 서버
14: 이동 에이전트 서버

Claims (10)

  1. 컨텐츠 제공자와 다수의 클라이언트 사이에 지역적으로 분산되어 분포하는 다수의 노드들을 포함하는 컨텐츠 분산 저장형 멀티미디어 스트리밍 시스템에 있어서,
    각각의 상기 노드는 스트리밍 서버, 컨텐츠 서버, 메타정보 서버, 이동 에이전트 서버를 포함하며,
    상기 컨텐츠 서버는 멀티미디어 컨텐츠를 저장하고,
    상기 메타정보 서버는 상기 노드들에 저장된 상기 멀티미디어 컨텐츠에 대한 메타정보를 저장하고,
    상기 이동 에이전트 서버는 이동 에이전트를 생성하여 상기 이동 에이전트가 상기 노드들을 순회하면서 상기 메타정보를 수집하고 갱신하도록 제어하고,
    상기 스트리밍 서버는 상기 클라이언트의 스트리밍 요청을 수신하여 상기 메타정보 서버로부터 상기 메타정보를 검색하고 검색결과를 바탕으로 최적의 스트리밍 노드를 결정하여 상기 클라이언트에게 반환하며 상기 최적의 노드에 속할 경우 상기 컨텐츠 서버로부터 상기 멀티미디어 컨텐츠를 획득하여 상기 클라이언트에게 전송하는 것을 특징으로 하는 컨텐츠 분산 저장형 멀티미디어 스트리밍 시스템.
  2. 청구항 1에 있어서,
    상기 이동 에이전트는 상기 노드들에 저장된 모든 컨텐츠에 대한 메타정보가 기록된 메타정보 리스트를 가지며, 각 노드에 도착할 때마다 상기 메타정보 리스트를 전달하고 각 노드가 저장 중인 컨텐츠의 메타정보를 받아 상기 메타정보 리스트를 갱신하는 것을 특징으로 하는 컨텐츠 분산 저장형 멀티미디어 스트리밍 시스템.
  3. 청구항 2에 있어서,
    상기 메타정보는 각 노드의 각 컨텐츠에 접속 가능한 사용자 수를 의미하는 접속 가능수와, 각 노드의 각 컨텐츠에 접속 중인 사용자들 중 가장 먼저 접속한 사용자의 잔여재생시간을 의미하는 최소 잔여재생시간 중 적어도 하나를 포함하는 것을 특징으로 하는 컨텐츠 분산 저장형 멀티미디어 스트리밍 시스템.
  4. 청구항 3에 있어서,
    상기 스트리밍 서버는 상기 메타정보의 검색결과 상기 클라이언트가 요청한 컨텐츠를 보유하고 있는 노드들 중 상기 접속 가능수가 가장 큰 노드를 상기 최적 스트리밍 노드로 결정하는 것을 특징으로 하는 컨텐츠 분산 저장형 멀티미디어 스트리밍 시스템.
  5. 청구항 3에 있어서,
    상기 스트리밍 서버는 상기 메타정보의 검색결과 상기 클라이언트가 요청한 컨텐츠를 보유하고 있는 노드들 중 상기 최소 잔여재생시간이 가장 작은 노드를 상기 최적 스트리밍 노드로 결정하는 것을 특징으로 하는 컨텐츠 분산 저장형 멀티미 디어 스트리밍 시스템.
  6. 컨텐츠 제공자와 다수의 클라이언트 사이에 다수의 노드들이 지역적으로 분산되어 분포하고 각각의 상기 노드가 멀티미디어 컨텐츠와 상기 멀티미디어 컨텐츠에 대한 메타정보를 저장하는 컨텐츠 분산 저장형 시스템에서의 멀티미디어 스트리밍 방법에 있어서,
    상기 노드들 중 적어도 하나의 노드에서 생성한 이동 에이전트가 상기 노드들을 순회하면서 상기 메타정보를 수집하고 갱신하는 단계와,
    상기 클라이언트로부터 상기 노드들 중 특정 노드에 스트리밍 요청이 오면 상기 특정 노드에서 상기 메타정보를 검색하는 단계와,
    상기 특정 노드에서 상기 메타정보의 검색결과를 바탕으로 최적의 스트리밍 노드를 결정하여 상기 클라이언트에게 반환하는 단계와,
    상기 클라이언트로부터 스트리밍 요청이 오면 상기 최적의 스트리밍 노드에서 상기 멀티미디어 컨텐츠를 상기 클라이언트에게 전송하는 단계
    를 포함하는 것을 특징으로 하는 컨텐츠 분산 저장형 멀티미디어 스트리밍 방법.
  7. 청구항 6에 있어서,
    상기 이동 에이전트는 상기 노드들에 저장된 모든 컨텐츠에 대한 메타정보가 기록된 메타정보 리스트를 가지며, 각 노드에 도착할 때마다 상기 메타정보 리스트 를 전달하고 각 노드가 저장 중인 컨텐츠의 메타정보를 받아 상기 메타정보 리스트를 갱신하는 것을 특징으로 하는 컨텐츠 분산 저장형 멀티미디어 스트리밍 방법.
  8. 청구항 7에 있어서,
    상기 메타정보는 각 노드의 각 컨텐츠에 접속 가능한 사용자 수를 의미하는 접속 가능수와, 각 노드의 각 컨텐츠에 접속 중인 사용자들 중 가장 먼저 접속한 사용자의 잔여재생시간을 의미하는 최소 잔여재생시간 중 적어도 하나를 포함하는 것을 특징으로 하는 컨텐츠 분산 저장형 멀티미디어 스트리밍 방법.
  9. 청구항 8에 있어서,
    상기 특정 노드는 상기 메타정보의 검색결과 상기 클라이언트가 요청한 컨텐츠를 보유하고 있는 노드들 중 상기 접속 가능수가 가장 큰 노드를 상기 최적 스트리밍 노드로 결정하는 것을 특징으로 하는 컨텐츠 분산 저장형 멀티미디어 스트리밍 방법.
  10. 청구항 8에 있어서,
    상기 특정 노드는 상기 메타정보의 검색결과 상기 클라이언트가 요청한 컨텐츠를 보유하고 있는 노드들 중 상기 최소 잔여재생시간이 가장 작은 노드를 상기 최적 스트리밍 노드로 결정하는 것을 특징으로 하는 컨텐츠 분산 저장형 멀티미디어 스트리밍 방법.
KR1020080107677A 2008-10-31 2008-10-31 이동 에이전트를 이용하는 컨텐츠 분산 저장형 멀티미디어 스트리밍 시스템 및 방법 KR101137248B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020080107677A KR101137248B1 (ko) 2008-10-31 2008-10-31 이동 에이전트를 이용하는 컨텐츠 분산 저장형 멀티미디어 스트리밍 시스템 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020080107677A KR101137248B1 (ko) 2008-10-31 2008-10-31 이동 에이전트를 이용하는 컨텐츠 분산 저장형 멀티미디어 스트리밍 시스템 및 방법

Publications (2)

Publication Number Publication Date
KR20100048491A true KR20100048491A (ko) 2010-05-11
KR101137248B1 KR101137248B1 (ko) 2012-04-20

Family

ID=42275248

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020080107677A KR101137248B1 (ko) 2008-10-31 2008-10-31 이동 에이전트를 이용하는 컨텐츠 분산 저장형 멀티미디어 스트리밍 시스템 및 방법

Country Status (1)

Country Link
KR (1) KR101137248B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108121507A (zh) * 2017-12-06 2018-06-05 北京奇艺世纪科技有限公司 一种数据处理方法、装置以及电子设备

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20040074403A (ko) * 2003-02-18 2004-08-25 주식회사 케이티 Cdn 통합 서비스 제공시스템 및 방법
US7565354B2 (en) * 2003-09-30 2009-07-21 Sony Corporation Content acquisition method
KR100714462B1 (ko) * 2005-06-30 2007-05-04 고려대학교 산학협력단 다중 지역 이동 에이전트 컴퓨팅 환경에서의 이동 에이전트위치관리 및 메시지 전달 방법 및 그 시스템

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108121507A (zh) * 2017-12-06 2018-06-05 北京奇艺世纪科技有限公司 一种数据处理方法、装置以及电子设备
CN108121507B (zh) * 2017-12-06 2021-04-02 北京奇艺世纪科技有限公司 一种数据处理方法、装置以及电子设备

Also Published As

Publication number Publication date
KR101137248B1 (ko) 2012-04-20

Similar Documents

Publication Publication Date Title
US10085063B2 (en) Peer-to-peer video on demand techniques
US7908389B2 (en) Methods and systems for retrieving fragments from peer clients and servers
US9176955B2 (en) Method and apparatus for sharing media files among network nodes
KR101104729B1 (ko) 최적의 캐시조각 획득방식을 이용하는 컨텐츠 분산 저장형 멀티미디어 스트리밍 시스템 및 방법
EP2288085A1 (en) P2p based method, device and system for playing media
JP2014523667A (ja) セグメント化されたコンテンツの位置特定および抽出
CN101552800A (zh) 提供媒体内容的方法、装置和系统
US20120036105A1 (en) Method and Apparatus for Distributing Data in a Peer-To-Peer Network
CN101631034A (zh) 对等网络中节点管理和接入方法、装置及系统
KR20100055297A (ko) 분산 저장된 컨텐츠의 리다이렉티드 url을 이용한 동시 멀티미디어 스트리밍 시스템 및 방법
KR101705898B1 (ko) 디지털 방송 시스템에서 타임시프트 서비스 제공 방법 및 시스템
JP2013516854A (ja) Iptvシステムのためのエッジコンテンツ配信デバイスおよびコンテンツ配信ネットワーク
US20100293172A1 (en) Method and system for storing and distributing electronic content
KR101088022B1 (ko) Vcr기능조작을 사용자 선호도로 반영하는 컨텐츠 분산 저장형 멀티미디어 스트리밍 시스템 및 방법
KR101137248B1 (ko) 이동 에이전트를 이용하는 컨텐츠 분산 저장형 멀티미디어 스트리밍 시스템 및 방법
KR101128293B1 (ko) 캐시 조각 획득시간 기반의 노드 전환을 이용하는 컨텐츠 분산 저장형 멀티미디어 스트리밍 시스템 및 방법
JP6497993B2 (ja) 中継装置、視聴端末およびそれらのプログラム
KR20100059117A (ko) 컨텐츠 분산형 스트리밍 시스템, 캐시서버 및 컨텐츠 스트리밍 방법
KR101112572B1 (ko) 캐시 조각 저장량 기반의 노드 전환을 이용하는 컨텐츠 분산 저장형 멀티미디어 스트리밍 시스템 및 방법
KR20100055296A (ko) 분산 저장된 컨텐츠의 리다이렉티드 url을 이용한 순차적 멀티미디어 스트리밍 시스템 및 방법
JP2006270846A (ja) データ配信サーバ、データ配信システム、及び、データ配信方法

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
N231 Notification of change of applicant
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20160408

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20170410

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20180410

Year of fee payment: 7