Nothing Special   »   [go: up one dir, main page]

KR20160105803A - 멀티미디어 컨텐츠의 컨텐츠 부분을 클라이언트 단말기, 대응 캐시에 제공하는 방법 - Google Patents

멀티미디어 컨텐츠의 컨텐츠 부분을 클라이언트 단말기, 대응 캐시에 제공하는 방법 Download PDF

Info

Publication number
KR20160105803A
KR20160105803A KR1020167018200A KR20167018200A KR20160105803A KR 20160105803 A KR20160105803 A KR 20160105803A KR 1020167018200 A KR1020167018200 A KR 1020167018200A KR 20167018200 A KR20167018200 A KR 20167018200A KR 20160105803 A KR20160105803 A KR 20160105803A
Authority
KR
South Korea
Prior art keywords
cache
client terminal
request
representations
representation
Prior art date
Application number
KR1020167018200A
Other languages
English (en)
Other versions
KR102212973B1 (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 톰슨 라이센싱
Publication of KR20160105803A publication Critical patent/KR20160105803A/ko
Application granted granted Critical
Publication of KR102212973B1 publication Critical patent/KR102212973B1/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/21Server components or server architectures
    • H04N21/218Source of audio or video content, e.g. local disk arrays
    • H04N21/2183Cache memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/40Information retrieval; Database structures therefor; File system structures therefor of multimedia data, e.g. slideshows comprising image and additional audio data
    • G06F16/44Browsing; Visualisation therefor
    • G06F17/30058
    • H04L29/08801
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • H04L65/612Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for unicast
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/75Media network packet handling
    • H04L65/765Media network packet handling intermediate
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/80Responding to QoS
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/101Server selection for load balancing based on network conditions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/2885Hierarchically arranged intermediate devices, e.g. for hierarchical caching
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/568Storing data temporarily at an intermediate stage, e.g. caching
    • 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
    • H04N21/23106Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion involving caching operations
    • 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/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/845Structuring of content, e.g. decomposing content into time segments
    • H04N21/8456Structuring of content, e.g. decomposing content into time segments by decomposing the content in the time domain, e.g. in time segments

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Between Computers (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

멀티미디어 컨텐츠의 컨텐츠 부분을 클라이언트 단말기, 대응 캐시에 제공하는 방법이 개시된다. 본 개시물에 따르면, 클라이언트 단말기에 멀티미디어 컨텐츠의 컨텐츠 부분을 제공하는 방법으로서, 하나 이상의 캐시들이 클라이언트 단말기와 원격 서버 사이의 송신 경로를 따라 배열되며, 상기 컨텐츠 부분의 수개의 표현들이 이용가능하고, 상기 방법은: - 제 1 캐시 (R) 에서, 상기 클라이언트 단말기로부터, 이용가능한 상기 표현들 중에서 선택된 허용가능 표현들의 세트에 속하는 상기 컨텐츠 부분의 주어진 표현에 대한 요청을 수신하는 단계 (S0) 로서, 상기 요청은 상기 세트의 대안의 표현들의 리스트, 및 요청들의 범위를 특정하는 보조 정보를 더 포함하는, 상기 요청을 수신하는 단계; - 상기 제 1 캐시 (R) 에서, 상기 주어진 표현이 상기 캐시에 저장되는지를 체크하는 단계 (S1); - 상기 주어진 표현이 캐싱되지 않은 경우에, 상기 제 1 캐시 (R) 에서, 리스트된 대안의 표현들을 브라우징하는 단계 (S2) 를 포함한다.

Description

멀티미디어 컨텐츠의 컨텐츠 부분을 클라이언트 단말기, 대응 캐시에 제공하는 방법{METHOD FOR PROVIDING A CONTENT PART OF A MULTIMEDIA CONTENT TO A CLIENT TERMINAL, CORRESPONDING CACHE}
본 개시물은 일반적으로, 예를 들어, 비배타적으로 HTTP (HyperText Transfer Protocol) 를 통한 적응성 스트리밍 기술의 도메인에 관한 것이고, 보다 구체적으로, 클라이언트 단말기에 멀티미디어 컨텐츠의 컨텐츠 부분을 제공하는 방법으로서, 캐시가 클라이언트 단말기와 원격 서버 사이의 송신 경로를 따라 배열되는, 방법에 관한 것이다.
본 섹션은 아래 설명되고/되거나 청구된 본 개시물의 여러 양태들에 관련될 수도 있는 당해 기술의 여러 양태들을 독자에게 도입하도록 의도된다. 본 설명은 본 개시물의 여러 양태들의 보다 나은 이해를 용이하게 하기 위해 백그라운드 정보를 독자에게 제공하는데 있어 도움이 될 것으로 믿는다. 따라서, 이들 설명들은 이러한 견지에서 읽혀져야 하며 종래 기술의 인정으로서 간주되지 않음을 이해하여야 한다.
HTTP 를 통한 적응성 스트리밍 (또한, 멀티-비트레이트 스위칭이라 지칭됨) 은 멀티미디어 컨텐츠 분배를 위한 메이저 기술로 급진전되고 있다. 이미 이용되고 있는 HTTP 적응성 스트리밍 프로토콜들 중에서, 가장 유명한 것은 Apple 사의 HLS (HTTP Live Streaming), Microsoft 사의 SSS (Silverlight Smooth Streaming), Adobe 사의 ADS (Adobe Dynamic Streaming) 및 SA4 그룹 내의 3GPP 에 의해 개발된 DASH (Dynamic Adaptive Streaming over HTTP) 이다.
클라이언트 단말기가 적응성 스트리밍에서 오디오비쥬얼 컨텐츠 (또는 A/V 컨텐츠) 를 플레이하기 원할 때, 클라이언트 단말기는 먼저 이 A/V 컨텐츠가 어떻게 얻어지는지를 기술하는 파일을 구해야 한다. 이는 일반적으로 URL (Uniform Resource Locator) 로부터 기술 파일, 소위 매니페스트를 구함으로써 HTTP 프로토콜을 통하여 행해지지만, 또한 다른 수단들 (예를 들어, 브로드캐스트, 이메일, SMS 등) 에 의해 실현될 수 있다. 매니페스트는 기본적으로, (비트레이트, 분해능, 및 다른 특성들의 관점에서) 이러한 A/V 컨텐츠의 이용가능한 표현들을, 품질 레벨 당 한 표현 (비트레이트) 으로 리스트한다. 각각의 표현은 - 별도의 URL 에 의해 액세스가능한 - 동일한 지속기간의 일련의 청크들로 이루어지며, 클라이언트에 의한 선택을 위하여 첨부된 디스크립티브 엘리먼트들의 세트를 갖는다. 상기 매니페스트는 미리 생성되어 예를 들어, 원격 서버에 의해 클라이언트 단말기에 전달된다.
실제로, A/V 컨텐츠에 대응하는 데이터의 스트림은 상이한 품질들로 HTTP 서버 상에서 이용가능하다. 최고 품질은 높은 비트레이트와 연관되고 최저 품질은 낮은 비트레이트와 연관된다. 이는 매우 다양한 네트워크 조건들을 겪을 수도 있는 수많은 상이한 단말기로의 배포를 허용한다.
각각의 표현의 전체 데이터 스트림은, 클라이언트 단말기가 2 개의 청크들 사이에서 한 품질 레벨에서 다른 품질 레벨로 원활하게 스위칭할 수도 있도록 이루어진 균등한 지속기간의 청크들로 나누어진다. 그 결과, 비디오 품질은 플레이 동안에 변할 수도 있지만, 인터럽션들 (또한 동결 상태들 (freezes) 이라 지칭됨) 을 거의 겪지 않는다.
클라이언트 측에서, 청크들은 송신 경로의 가용 대역폭의 측정에 기초하여 선택된다. 특히, 클라이언트 단말기는 항상 비트-레이트 인코딩에 대응하는 청크의 표현, 및 이에 따라 측정된 대역폭에 따르는 품질을 요청한다.
캐시가 클라이언트 단말기와 원격 서버 사이에서 빈번하게 발생하는 송신 경로를 따를 때, 다른 클라이언트가 동일한 표현을 가진 동일한 청크를 이전에 요청하였을 경우, 또는 CDN (Content Delivery Network) 이 이미 캐시에 청크를 프로비져닝하였을 경우, 주어진 청크의 한 표현이 이미 상기 캐시에 저장될 수도 있다. 따라서, 상기 주어진 청크에 대한 HTTP 요청에 대한 응답은, 청크가 원격 서버로부터 오는 경우에는 보다 고속으로 되고, 중복 송신이 회피될 수 있어, 네트워크 리소스들을 효과적으로 절감할 수 있다.
그럼에도 불구하고, HTTP 적응성 스트리밍은 캐시 친화적이지 않은 것으로 보여진다 (또는 예를 들어, H264-SVC 로서 소위 계층화된 베이스 스위칭 보다는 적어도 덜 캐시 친화적이다). 실제로, 제 1 클라이언트 단말기가 주어진 청크의 표현 (r) 을 요청하고 - 상기 제 1 클라이언트 단말기와 캐시에 의한 송신 경로의 일부분을 공유하는 - 제 2 클라이언트 단말기가 상기 주어진 청크의 표현 (r') 을 (보다 높거나 또는 보다 낮은 품질에서) 요청하면, 캐시가 히팅되지 않아, 혼잡을 야기하는 위험과 함께 캐시와 서버 사이의 네트워크 세그먼트에 더 높은 부하를 야기한다. 그 후, 캐싱의 이점들은 완전하게 없어지고 캐시들은 현재 이 상황을 개선할 수 없다.
본 개시물은 네트워크 혼잡들을 방지하는데 초점을 두며, 특히 클라이언트 단말기와 하나 또는 수개의 원격 서버들 사이의 송신 경로를 따라 가능하게 위치되는 캐시들을 동작시키려 시도한다.
본 개시물은 클라이언트 단말기에 멀티미디어 컨텐츠의 컨텐츠 부분을 제공하는 방법으로서, 하나 이상의 캐시들이 클라이언트 단말기와 원격 서버 사이의 송신 경로를 따라 배열되며, 상기 컨텐츠 부분의 수개의 표현들이 이용가능한, 상기 방법에 관련된다.
이는 다음:
- 제 1 캐시에서, 클라이언트 단말기로부터, 표현들 중에서 선택된 허용가능 표현들의 세트에 속하는 상기 컨텐츠 부분의 주어진 표현에 대한 요청을 수신하는 것으로서, 상기 요청들은 그 세트의 대안의 표현들의 리스트, 및 요청들의 범위를 특정하는 보조 정보를 더 포함하는, 상기 요청을 수신하는 것;
- 상기 제 1 캐시에서, 상기 주어진 표현이 캐시에 저장되는지를 체크하는 것;
- 상기 주어진 표현이 캐싱되지 않은 경우, 상기 제 1 캐시에서, 리스트된 대안의 표현들을 브라우징하는 것을 포함하는 점에서 현저함이 있다.
따라서, 본 개시물로 인하여, 캐시 히트들의 수를 증가시키는 캐싱에 의해, 클라이언트 단말기 (즉, HTTP 적응성 스트리밍 클라이언트 단말기) 와 대응하는 오리진 서버 사이의 엔드-투-엔드 트래픽을 감소시키는 것이 가능하다. 이 때문에, 캐시는 클라이언트 단말기에 의해 전송된 요청의 지시어 (directive) 를 지원하도록 구성되어, 주어진 표현이 캐싱되지 않을 때 이 지시어에 포함된 대안의 표현들을 페치할 수 있게 된다. 이후 이는 클라이언트 단말기와 오리지널 서버 사이의 트래픽을 덜 야기할 수 있고 그 결과 보다 적은 혼잡을 야기할 수 있다. 따라서, 본 개시물은 서버로부터 청크들을 다운로딩할 필요성을 제한하기 때문에, 엔드 사용자에게 보다 양호한 사용자 경험을 제공할 수 있다.
선호된 실시형태의 제 1 양태에서, 상기 보조 정보는, 상기 주어진 표현들 및 상기 대안의 표현들이 저장되지 않은 경우에, 다음 캐시에 상기 요청을 포워딩하도록 허용되는, 클라이언트와 서버 사이에 배열된 나머지 캐시들의 수를 정의할 수 있다.
특히, 나머지 캐시들 중 최종 캐시가 상기 주어진 표현 및 상기 대안의 표현들이 없을 때, 에러 메시지가 클라이언트에 전송될 수도 있다.
선호되는 실시형태의 제 2 양태에서, 상기 보조 정보는 송신 경로를 따라 배열된 최종 캐시를 정의할 수 있어, 상기 주어진 표현 및 상기 대안의 표현들이 상기 최종 캐시에 저장되지 않은 경우에, 요청이 상기 최종 캐시에 의해 포워딩되지 않게 된다.
유리하게, 상기 최종 캐시가 상기 주어진 표현 및 상기 대안의 표현들이 없을 때 에러 메시지가 클라이언트에 전송될 수도 있다.
추가로, 대안의 표현들은 선호도의 순서로 바람직하게 브라우징되며, 상기 대안의 표현들은 예를 들어, 감소하는 선호도의 순서로 리스트된다.
추가로, 각각의 대안의 표현은 주어진 표현의 대응 비트레이트보다 더 낮은 대응 비트레이트를 바람직하게 갖는다. 물론, 변형예로서, 적어도 하나의 대안의 표현은 주어진 표현의 대응 비트레이트보다 더 높은 대응 비트레이트를 가질 수도 있다.
또한, 세트의 각각의 허용가능 표현은 클라이언트 단말기와 원격 서버 사이의 송신 경로의 대역폭에 최대한 동일한 대응 비트레이트를 유리하게 가질 수 있다.
선호되는 실시형태의 다른 양태에서, 이용되는 송신 프로토콜은 HTTP 이며, 요청은 HTTP 요청이며, 상기 HTTP 요청의 캐시 제어 익스텐션은 대안의 표현들의 리스트를 포함한다.
변형예로서 또는 보완으로서, 상기 요청은, 캐시가 캐싱되는 경우에 그 요청된 표현 또는 리스트된 대안의 표현을 리턴시키거나 또는 주어진 표현도 어떠한 리스트된 대안의 표현들도 캐싱되지 않은 경우에 응답 메시지를 리턴시키도록 추가적인 정보를 포함할 수도 있다.
특히, 이용된 송신 프로토콜이 HTTP 일 때, 상기 추가적인 정보는 상기 HTTP 요청의 캐시 제어 익스텐션 내에 포함된다.
추가로, 본 개시물은 클라이언트 단말기에 멀티미디어 컨텐츠의 컨텐츠 부분을 제공하기 위하여 구성된 캐시로서, 상기 캐시는 클라이언트 단말기와 원격 서버 사이의 송신 경로를 따라 배열되며, 상기 컨텐츠 부분의 수개의 표현들이 이용가능한, 상기 캐시에 관련된다.
본 개시물에 따르면, 상기 캐시는 하기:
- 클라이언트 단말기로부터, 이용가능한 표현들 중에서 선택된 허용가능 표현들의 세트에 속하는 상기 컨텐츠 부분의 주어진 표현에 대한 요청을 수신하는 인터페이스 모듈로서, 상기 요청들은 그 세트의 대안의 표현들의 리스트, 및 요청들의 범위를 특정하는 보조 정보를 더 포함하는, 상기 인터페이스 모듈;
- 상기 주어진 표현이 저장되는지를 체크하기 위한 제어 모듈;
- 상기 주어진 표현이 캐싱되지 않은 경우에 리스트된 대안의 표현들을 브라우징하도록 형성된 브라우징 모듈을 포함한다.
바람직하게, 대안의 표현들은 선호도의 순서로 브라우징될 수 있다.
선호되는 실시형태의 제 1 양태에서, 보조 정보는 상기 주어진 표현 및 상기 대안의 표현들이 저장되지 않은 경우에, 상기 요청을 다음 캐시에 포워딩하도록 허용되는, 클라이언트와 서버 사이에 배열된 나머지 캐시들의 수를 정의하며, 상기 요청은 상기 캐시에서, 나머지 캐시들의 수가 0 과 같을 때 바람직하게 포워딩되지 않는다.
선호되는 실시형태의 추가의 양태에서, 보조 정보는 송신 경로를 따라 배열되는 최종 캐시를 정의하고, 요청은 하기의 경우에 바람직하게 포워딩되지 않는다:
- 상기 주어진 표현 및 상기 대안의 표현들이 상기 캐시에 저장되지 않은 경우; 그리고
- 상기 캐시가 최종 캐시에 대응하는 경우.
개시된 실시형태의 범위에 상응하는 특정 양태들이 아래 설명된다. 이들 양태들은 단지 특정 형태들의 간략한 개요를 독자에게 제공하기 위하여 제시된 것일 뿐, 이들 양태들이 본 개시물의 범위를 제한하려 의도되지 않음을 이해하여야 한다. 실제로, 본 개시물은 아래 설명되지 않을 수도 있는 다양한 양태들을 수반할 수도 있다.
본 개시물은 첨부된 도면들을 참조로 비예시적으로 다음 실시형태 및 실시예에 의해 보다 잘 이해되어 예시될 것이다.
- 도 1 은 본 개시물이 구현될 수도 있는 클라이언트-서버 네트워크 아키텍쳐의 개략도이다.
- 도 2 는 본 개시물의 바람직한 실시형태에 따른 클라이언트 단말기의 일 예의 블록도이다.
- 도 3 은 본 개시물의 바람직한 실시형태에 따른 캐시의 일 예의 블록도이다.
- 도 4 는 도 3 의 캐시에 의해 구현되는 주어진 청크의 표현을 취출하기 위한 방법을 예시하는 흐름도이다.
도 1 내지 도 3 에서, 표현된 블록들은 물리적으로 개별적인 엔티티들에 반드시 대응하는 것은 아닌 순수 기능 엔티티들이다. 즉, 이들은 소프트웨어, 하드웨어의 형태로 개발될 수도 있거나 또는 하나 이상의 프로세서들을 포함하는, 하나 또는 수개의 집적 회로들에서 구현될 수도 있다.
언제든지 가능하다면, 동일한 도면 부호들은 도면 전반에 걸쳐 동일 또는 유사한 부분을 지칭하는데 이용된다.
본 개시물의 도면들 및 설명들은 본 개시물의 명확한 이해에 관련된 엘리먼트들을 예시하도록 간략화되었으며, 한편으로, 통상의 디지털 멀티미디어 컨텐츠 전달 방법들 및 시스템들에서 알려진 많은 다른 엘리먼트들을 명료화를 위하여 제거하였다. 그러나, 이러한 엘리먼트는 당해 기술 분야에 잘 알려진 것이기 때문에, 이러한 엘리먼트들의 자세한 설명은 여기에서는 제공되지 않는다. 여기에서의 본 개시물은 당해 기술 분야의 당업자에 의해 알려진 모든 이러한 변경 및 수정예에 대해 지시된다.
바람직한 실시형태에 따르면, 본 발명은 HTTP 적응성 스트리밍 프로토콜에 관하여 묘사된다. 물론, 본 개시물은 이러한 특정 환경으로 제한되지 않고, 다른 적응성 스트리밍 프로토콜도 물론 고려되어 구현될 수 있다.
도 1 에 묘사된 바와 같이, 본 개시물이 구현될 수도 있는 클라이언트-서버 네트워크 아키텍쳐는 클라이언트 단말기 (C), 게이트웨이 (GW), 및 하나 이상의 HTTP 서버들 (S) (도 1 에는 오직 하나만이 표시됨) 을 포함한다.
제 1 네트워크 (N1)(이를 테면, 네트워크 또는 엔터프라이즈 네트워크) 를 통하여 게이트웨이 (GW) 에 접속된 - 클라이언트 단말기 (C) 는 제 2 네트워크 (N2)(이를 테면, 인터넷 네트워크) 를 통하여 원격 서버 (S) 상에 저장된 멀티미디어 컨텐츠를 요청하기를 희망할 수도 있다. 제 1 네트워크 (N1) 는 게이트웨이 (GW) 로 인하여 제 2 네트워크 (N2) 에 접속된다.
HTTP 서버 (S) 는 하나 이상의 TCP/IP 접속들을 통하여 HTTP 적응성 스트리밍 프로토콜을 이용하여 클라이언트 요청시, 클라이언트 단말기 (C) 에 청크들을 스트리밍한다.
도 2 에 설명된 바람직한 실시형태에 따르면, 클라이언트 단말기 (C) 는 적어도 하기를 포함한다:
- 제 1 네트워크 (N1) 로의 접속 인터페이스 1 (유선 및/또는 무선, 예를 들어, Wi-Fi, 이더넷 등);
- HTTP 서버 (S) 와 통신하기 위해 프로토콜 스택들을 포함하는 통신 모듈 (2). 특히, 통신 모듈 (2) 은 당해 기술 분야에 잘 알려진 TCP/IP 스택을 포함한다. 물론, 이는 클라이언트 단말기 (C) 가 HTTP 서버 (S) 와 통신할 수 있게 하는 임의의 다른 유형들의 네트워크 및/또는 통신 수단일 수 있다;
- HTTP 서버 (S) 로부터 HTTP 스트리밍 멀티미디어 컨텐츠를 수신하는 적응성 스트리밍 모듈 (3). 이는 아래 설명된 바와 같은 구속요건들에 보다 양호하게 매칭하는 대응 비트레이트를 갖는 청크의 표현을 연속적으로 선택한다;
- 멀티미디어 컨텐츠를 디코딩 및 렌더링하도록 구성되는 비디오 플레이어 (4);
- 클라이언트 단말기 (C) 의 비휘발성 메모리에 저장된 프로그램들 및 애플리케이션들을 실행시키는 하나 이상의 프로세서(들)(5);
- 비디오 플레이어 (4) 로의 이들의 송신 전에, HTTP 서버 (S) 로부터 수신된 청크들을 버퍼링하기 위한 저장 수단 (6), 이를 테면, 휘발성 메모리;
- 일반 클라이언트 단말기 기능들을 수행하기 위한 당해 기술 분야의 당업자에게 잘 알려진 모든 수단들 및 여러 모듈들을 연결시키는 내부 버스 (B1).
일 예로서, 클라이언트 단말기 (C) 는 포터블 미디어 디바이스, 모바일 폰, 테블릿, 또는 랩탑이다. 물론, 클라이언트 단말기 (C) 는 완전한 비디오 플레이어를 포함하지 않고, 미디오 컨텐츠를 디멀티플렉싱하고 디코딩하기 위한 것들과 같은 일부 서브-엘리먼트들만을 포함할 수도 있고, 엔드 사용자에 디코딩된 컨텐츠를 디스플레이하는 외부 수단들에 의존할 수도 있다. 이 경우에, 클라이언트 단말기 (C) 는 HAS (HTTP Adaptive Streaming) 실행가능 비디오 디코더, 이를 테면, 셋톱 박스이다.
도 1 에 설명된 바와 같은 선호되는 실시형태에 따르면, 게이트웨이 (GW) 는 클라이언트 단말기 (C) 와 서버 (S) 사이의 송신 경로를 따라 배열되는 캐시 (R) 를 포함한다. 변형예에서, 상기 캐시 (R) 은 제 1 네트워크 (N1) 의 프록시에서 또는 송신 경로를 따르는 임의의 다른 위치에서 배열될 수도 있다.
다음에서, 클라이언트 단말기 (C) 는 HAS (HTTP Adaptive Streaming) 멀티미디어 컨텐츠를 원격 서버 (S) 에 요청하며, 상기 HAS 멀티미디어 컨텐츠는 일련의 청크들로 이루어진 수개의 표현들에 이용가능하다고 본다. 각각의 표현의 품질은 미디어 인코딩 품질, 미디어 인코딩 유형 (예를 들어, 2D 대 3D), 미디어 인코딩 컬러 스킴 등에 관련된 것으로서 이해되어야 한다.
이를 위하여, 도 2 에 도시된 바와 같이, 클라이언트 단말기 (C) 는 하기를 더 포함한다:
- 송신 경로의 대역폭을 추정하기 위하여 구성되는 대역폭 추정기 (7);
- 클라이언트 단말기 (C) 가 요청할 수도 있는 허용가능 표현들의 세트를 결정하기 위하여 구성된 선택 모듈 (8). 허용가능 표현들은 관련 메니페스트에 리스트된 바와 같이, 멀티미디어 컨텐츠의 주어진 청크 (In) 의 이용가능한 표현들 중에서 선택된다. 특히, 주어진 청크 (In) 의 허용가능 표현들의 세트의 - 모듈 (8) 에 의한 - 결정은 예로서 하기와 같이 하나 또는 수개의 성능 기준들에 기초할 수도 있다:
Figure pct00001
추정기 (7) 에 의해 추정된 대역폭;
Figure pct00002
클라이언트 단말기 (C) 의 능력들;
Figure pct00003
이전에 요청된 청크 (In-1) 의 표현;
Figure pct00004
클라이언트 단말기 (C) 의 엔드 사용자에 의해 요구되는 경험 품질.
명확하게는, 선택 모듈 (8) 은 변형예에서, 적응성 스트리밍 모듈 (3) 내에 통합될 수도 있다.
≪허용가능한≫ 표현들의 의미는 구현에 의존하는 것임을 알 수 있다. 실제로, 이는 이전에 요청된 청크 (In-1) 의 표현과의 비교에 의한, 주어진 청크 (In) 의 업그레이되거나 또는 다운그레이드된 품질을 의미할 수도 있다.
주어진 청크 (In) 의 요청된 표현이, 이전에 요청된 청크 (In-1) 의 표현의 대응 비트레이트보다 상당히 더 낮은 (엔드 사용자에 의해 가시적인) 대응 품질을 갖는다면, 선택 모듈 (8) 은 이용가능 대역폭에 의해 구속되는 경우를 제외하고는, 잠재적 캐싱된 청크를 동작시키는데 있어 품질을 추가로 다운그레이드하려 시도하지 않도록 구성될 수도 있다.
본 개시물에 따르는 예시적이지만 비제한적인 예에서, (매니페스트에서 리스트된 이용가능 표현들로부터 선택되는) 주어진 청크 (In) 의 허용가능 표현들은 추정된 대역폭에 최대 동일한 (주어진 품질에 관련된) 대응 비트레이트를 갖는다. 추가로, 세트의 허용가능 표현들의 비트레이트는 또한, 어느 품질이 클라이언트 단말기 (C) 에 의해 수락가능하지 않은지 하에서, 정의된 임계값과 최소 동일하게 될 수도 있다.
명확하게는, 변형예로서 또는 보완으로서, 허용가능 표현들의 결정된 세트는 캐시 (R) 에 이미 저장된 표현을 페치하려 시도하기 위해, 추정된 대역폭보다 더 높은 비트레이트를 갖는 하나 이상의 표현들을 포함할 수 있다.
그 외에, 적응성 스트리밍 모듈 (3) 은 허용가능 표현들의 세트로부터, HAS 멀티미디어 컨텐츠의 주어진 청크 (In) 의 선호되는 표현 (r) 을 요청하도록 구성된다. 예를 들어, 청크 (In) 의 선호되는 표현 (r) 은 추정된 대역폭보다 훨씬 더 낮은 연관된 비트레이트를 갖는 표현에 대응할 수도 있다.
이를 위하여, 통신 모듈 (2) 은 HTTP 요청을 전송하고, 그 헤더의 캐시 제어 익스텐션은 지시어 "altlist"를 포함하며, 이는 선호되는 표현 (r) 이 캐싱되는 경우에 클라이언트 단말기 (C) 가 캐시 (R) 에 의해 리턴될 수 있는 대안의 표현 (r') 을, 선호도 또는 우선순위의 순서로 리스트하는 것을 허용한다.
"altlist" 지시어의 대안의 표현 (r') 은 결정된 세트의 허용가능 표현들에 바람직하게 대응한다. 명확하게는, (예를 들어, 추정된 대역폭보다 더 높은 비트레이트를 갖는) 추가적인 표현들이 추가될 수도 있다.
"altlist" 지시어를 포함하는 이러한 HTTP 요청의 일예는 이하와 같다.
GET /hi/fileSequence2681.ts HTTP/1.1
Host: example.com
Cache_Control:altlist=http://example.com/med/fileSequence2681.ts,http://example.com/low/fileSequence2681.ts
선호되는 실시형태에 따르면, 캐시 (R) 가 "altlist" 지시어를 지원하며, 이는 캐시 (R) 가 그 컨텐츠를 해석하도록 구성되는 것을 의미하는 것으로 이해될 수도 있다. 이러한 캐시 (R) 는 이하 "스마트" 캐시로서 지칭되며, 다른 캐시들은 레가시 캐시로서 지칭된다 (이들은 비스마트 캐시로서도 알려져 있다).
이를 위하여, 선호되는 실시형태에 따르면, 그리고 도 3 에 도시된 바와 같이, 스마트 캐시 (R) 는 하기를 포함한다:
- 이러한 미디어 컨텐츠를 요청하는 클라이언트 단말기 (C) 로의 송신 전에 하나 이상의 서버들 (S) 로부터 수신된 멀티미디어 컨텐츠들의 청크들을 저장하기 위한 저장 모듈 (9), 이를 테면, 휘발성 메모리 및/또는 영구 메모리;
- 클라이언트 단말기 (C) 로부터, 컨텐츠 부분의 선호되는 표현 (r) 에 대한 HTTP 요청을 수신하도록 구성되는 인터페이스 모듈 (10) 로서, 상기 선호되는 표현 (r) 은 허용가능 표현들의 세트에 속하는, 상기 인터페이스 모듈 (10),- 상기 HTTP 요청이 -"altlist" 지시어 내에서- 선호되는 표현 (r) 이 캐싱되지 않은 경우에 클라이언트 단말기 (C) 에 의해 대안으로서 수용될 수도 있는 대안의 표현들 (r') 을 표시한다고 본다;
- 스마트 캐시 (R) 가 이미, 요청되어진 선호되는 표현 (r) 을 갖는지의 여부를 체크하도록 형성된 제어 모듈 (11);
- 선호되는 표현 (r) 이 캐싱되지 않은 경우에, 클라이언트 단말기 (C) 에 의해 전송된 HTTP 요청의 "altlist" 지시어에 리스트된 선호되는 대안의 표현들의 순서로 브라우징하도록 적응되는 브라우징 모듈 (12). 변형예로서, 제어 모듈 및 브라우징 모듈은 오직 하나의 모듈만을 형성한다.
클라이언트 단말기 (C) 로부터 주어진 청크 (In) 의 선호되는 표현 (r) 에 대한 이러한 HTTP 요청의 수신시, 스마트 캐시 (R) 의 제어 모듈 (11) 은 상기 선호되는 표현 (r) 이 캐싱되는지의 여부를 체크한다.
- 캐싱되면, 스마트 캐시 (R) 는 클라이언트 단말기 (C) 에 선호되는 표현 (r) 을 리턴하고;
- 캐싱되지 않으면, 브라우징 모듈 (12) 은 대안의 표현 (r') 이 캐싱되는지의 여부를, 선호도의 순서로 연속적으로 체크하도록 HTTP 요청의 "altlist" 지시어를 브라우징한다.
"altlist" 지시어의 대안의 표현 (r') 이 캐싱될 때, 스마트 캐시 (R) 는 상기 대안의 표현 (r') 을 클라이언트 단말기 (C) 로 리턴한다.
어떠한 "altlist" 지시어의 대안의 표현 (r') 도 캐싱되지 않은 경우에, 스마트 캐시 (R) 는 서버 (S) 를 향하여 클라이언트 단말기 (C) 에 의해 전송된 HTTP 요청을 배포하도록 구성된다.
그 후, 배포된 HTTP 요청은 스마트 캐시 (R) 와 원격 서버 (S) 사이의 송신 경로를 따라 다음 캐시에 의해 인터셉트될 수도 있어, 상기 다음 캐시가 스마트 캐시이면, 이는 스마트 캐시 (R) 로서 거동하게 된다. 그렇지 않으면 (다음 캐시가 "altlist" 지시어를 지원하지 않으면), 이는 에러 메시지를 리턴할 수도 있거나 또는 서버 (S) 를 향하여 HTTP 요청을 배포할 수도 있다.
개선예에서, - 클라이언트 단말기 (C) 의 통신 모듈 (2) 에 의해 전송된 - HTTP 요청은 그 헤더의 캐시 제어 익스텐션에서 보조 지시어 (보조 정보를 정의하는) "타임-투-리브 (Time-To-Live; TTL)" 를 포함할 수 있다. "타임-투-리브 (Time-To-Live)" 지시어 (또한, 토큰으로서 지칭됨) 는 "altlist" 지시어가 재귀적이도록 허용한다. 이를 위하여, TTL 지시어는 상기 선호되는 표현 및 상기 대안의 표현들이 저장되지 않은 경우에 다음 캐시에 상기 요청을 포워딩하도록 허용되는, 클라이언트 단말기 (C) 와 서버 (S) 사이에 배열된 남아있는 캐시들 (스마트 캐시 또는 레가시 캐시) 의 수를 정의하는 TTL 값과 연관된다. 실제로, 클라이언트 단말기로부터의 요청을 수신하는 각각의 캐시 (스마트 캐시 또는 레가시 캐시) 는 이를 처리하는 한편, 요청의 TTL 값을 감분시킨다. 요청의 TTL 값이 0과 동일하게 될 때, 요청은 더이상 포워딩되지 않고, 에러 코드에 의한 응답 (예를 들어, 412) 이 클라이언트 단말기 (C) 에 전송될 수도 있다. 실패 이유는 상기 응답에 추가될 수도 있다.
"altlist" 및 "TTL" 지시어들을 포함하는 이러한 HTTP 요청의 일 예가 아래 예시된다.
GET /hi/fileSequence2681.ts HTTP/1.1
Host: example.com
Cache_Control:altlist=http://example.com/med/fileSequence2681.ts,http://example.com/low/fileSequence2681.ts,TTL=3
추가의 개선예에서 또는 보완예에서, - 클라이언트 단말기 (C) 의 통신 모듈 (2) 에 의해 전송된 - HTTP 요청은 자신의 헤더의 캐시 제어 익스텐션에서 보조 지시어 "until element" 를 포함할 수 있다. "until element" 지시어는 최종 캐시를 식별하는 값 (예를 들어, 캐시의 IP 어드레스, 정량화된 도메인 네임, 또는 임의의 다른 유형의 식별자) 과 연관된다.
TTL 지시어가 "altlist" 지시어의 선호되는 표현 또는 대안의 표현들을 포함하지 않는 경우에, HTTP 요청이 식별된 최종 캐시에 도달될 때 HTTP 요청이 더이상 포워딩되지 않는 것을 제외하고는, "until element" 지시어는 TTL 지시어와 유사한 방식으로 동작한다. 그 경우, 에러 코드에 의한 응답 (예를 들어, 412) 이 바람직하게 생성되어 클라이언트 단말기 (C) 에 전송된다. 실패 이유는 또한 상기 응답에 추가될 수도 있다.
도 4 에 예시되는 바와 같이, 상기 선호되는 실시형태에 따르면, 캐시 (R) 는 클라이언트 단말기 (C) 에 HAS 멀티미디어 컨텐츠의 주어진 청크 (In) 의 요청된 표현을 제공하기 위하여 다음의 메카니즘 (M) 을 구현하도록 구성된다. 상기 메카니즘 (M) 은 하기 단계들을 포함한다:
- 이전에 정의된 허용가능 표현들의 세트에 속하는 주어진 청크 (In) 부분의 선호되는 표현 (r) 에 대한 HTTP 요청을 클라이언트 단말기 (C) 로부터 수신하는 단계 (단계 S0). HTTP 요청은 세트의 대안의 표현들을 리스트하는 "altlist" 지시어를 더 포함한다;
- 선호되는 표현 (r) 이 저장 모듈 (9) 에 저장되는지를 체크하는 단계 (단계 S1);
- 선호되는 표현 (r) 이 캐싱되지 않은 경우에 상기 "altlist" 지시어에 리스트된 대안의 표현들 (r') 을 선호도의 순서로 브라우징하는 단계 (단계 S2);
- 어떠한 대안의 표현들 (r') 도 스마트 캐시 (R) 의 저장 모듈 (9) 에 캐싱되지 않을 때 서버 (S) 를 향하여 HTTP 요청을 배포하는 단계 (단계 S3).
선호되는 실시형태의 변형예에서, 클라이언트 단말기 (C) 에 의해 전송된, HTTP 요청의 캐시 제어 익스텐션은 "only_if_cached" 로서 명명되는 추가적인 지시어 (추가적인 정보를 정의함) 를 더 포함할 수도 있다. "altlist" 지시어는 캐시 제어 헤더의 "only_if_cached" 지시어보다 우선순위를 유지한다. 위에 언급된 지시어들을 갖는 이러한 HTTP 요청의 일 예가 아래 예시된다.
GET /hi/fileSequence2681.ts HTTP/1.1
Host: example.com
Cache_Control:only_if_cached,altlist=http://example.com/med/fileSequence2681.ts,http://example.com/low/fileSequence2681.ts
이 변형예에서, 주어진 청크 (In) 의 선호되는 표현 (r) 에 대하여 (지시어 "only_if_cached" 및 "altlist" 양쪽 모두를 포함한) 이러한 HTTP 요청의 수신시, 스마트 캐시 (R) 는 상기 선호되는 표현 (r) 이 캐싱되었는지의 여부를 체크한다:
- 캐싱되면, 스마트 캐시 (R) 는 클라이언트 단말기 (C) 에 선호되는 표현 (r) 을 리턴하고;
- 캐싱되지 않으면, 브라우징 모듈 (12) 은 대안의 표현 (r') 이 캐싱되는지의 여부를, 선호도의 순서로 연속적으로 체크하도록 HTTP 요청의 "altlist" 지시어를 브라우징한다.
"altlist" 지시어의 대안의 표현 (r') 이 캐싱될 때, 스마트 캐시 (R) 는 상기 대안의 표현 (r') 을 클라이언트 단말기 (C) 로 리턴한다.
"altlist" 지시어의 대안의 표현들 (r') 의 어느 것도 캐싱되지 않은 경우, 스마트 캐시 (R) 는 하기:
- 선호되는 표현 (r) 이 캐싱되지 않음;
- 캐시 (R) 가 "altlist" 지시어를 지원하여, "altlist" 지시어의 대안의 표현들 (r') 어느 것도 캐싱되지 않는다는 이러한 에러 메시지의 수신으로부터 "altlist" 지시어가 유도될 수 있게 함
을 양쪽 모두 표시하기 위한 "only_if_cached" 지시어로 인하여, 에러 메시지 (예를 들어, "http/1.1 504 altlist supported") 를 리턴하도록 구성된다.
추가의 단계에서, 클라이언트 단말기 (C) 는 서버 (S) 로부터 직접, 주어진 청크 (In) 의 선호되는 표현 (r) 을 취출하라는 새로운 요청을 원격 서버 (S) 에 전송할 수도 있다. 이를 위하여, "only_if_cached" 지시어도 "altlist" 지시어도 이 새로운 요청의 헤더에 이용되지 않는다. 명확하게는, 이 새로운 요청은 또한, "only_if_cached" 지시어 없이 "altlist" 지시어만을 포함할 수도 있다.
명세서, 청구항들 및 도면들에 개시된 참조문헌들은 임의의 적절한 조합들로 또는 독립적으로 제공될 수도 있다. 예를 들어, 피쳐는 적절한 경우 하드웨어, 소프트웨어 또는 이들의 둘의 조합으로 구현될 수도 있다.
청구항에 나타내어진 참조 번호들은 예시적인 목적일 뿐, 클레임들의 범위에 대하여 어떠한 제한 효과도 없다.
본 개시물은 바람직한 실시형태로 설명되어 있지만, 발명적 기능적 실시 없이 그리고 당해 기술 분야의 당업자의 능력 내에서 다수의 변형예들 및 실시형태들이 이루어질 수도 있음이 명확하다. 따라서, 본 개시물의 범위는 다음의 청구항들의 범위에 의해 정의된다.
본 개시물의 청구항들에 있어서, 특정 기능을 수행하기 위한 수단으로서 표현되는 임의의 엘리먼트 (예를 들어, 적응성 스트리밍 모듈 (3), 대역폭 추정기 (7), 선택 모듈 (8), 제어 모듈 (11), 브라우징 모듈 (12) 등) 는 a) 그 기능을 수행하는 회로 엘리먼트들의 조합 (예를 들어, 하나 이상의 프로세서들) 또는 b) 따라서, 기능을 임의의 형태로 된 소프트웨어 (이에 따라 기능을 수행하는 그 소프트웨어를 실행하기 위한 적절한 회로부와 결합되는 펌웨어, 마이크로코드 등을 포함) 를 포함하는 그 기능을 수행하는 임의의 방식을 수반하도록 의도된다. 여러 인용된 수단에 의해 제공되는 기능들이 청구항들이 청구하는 방식으로 함께 결합 및 유도되는 점에서 이러한 청구항들에 의해 정의되는 본 원리들이 존재한다. 따라서, 이들 기능들을 제공할 수 있는 임의의 수단이 여기에 나타낸 것들과 동등한 것으로 간주된다.

Claims (15)

  1. 클라이언트 단말기 (C) 에 멀티미디어 컨텐츠의 컨텐츠 부분을 제공하는 방법으로서,
    하나 이상의 캐시들 (R) 은 상기 클라이언트 단말기 (C) 와 원격 서버 (S) 사이의 송신 경로를 따라 배열되고, 상기 컨텐츠 부분의 수개의 표현들이 이용가능하며,
    상기 방법은:
    - 제 1 캐시 (R) 에서, 상기 클라이언트 단말기 (C) 로부터, 이용가능한 상기 표현들 중에서 선택된 허용가능 표현들의 세트에 속하는 상기 컨텐츠 부분의 주어진 표현에 대한 요청을 수신하는 단계 (S0) 로서, 상기 요청은 상기 세트의 대안의 표현들의 리스트, 및 요청들의 범위를 특정하는 보조 정보를 더 포함하는, 상기 요청을 수신하는 단계;
    - 상기 제 1 캐시 (R) 에서, 상기 주어진 표현이 상기 캐시 (R) 에 저장되는지를 체크하는 단계 (S1); 및
    - 상기 주어진 표현이 캐싱되지 않은 경우에, 상기 제 1 캐시 (R) 에서, 리스트된 대안의 표현들을 브라우징하는 단계 (S2) 를 포함하는, 멀티미디어 컨텐츠의 컨텐츠 부분을 제공하는 방법.
  2. 제 1 항에 있어서,
    상기 보조 정보는, 상기 주어진 표현 및 상기 대안의 표현들이 저장되지 않은 경우에, 다음 캐시에 상기 요청을 포워딩하도록 허용되는, 클라이언트와 상기 서버 사이에 배열된 나머지 캐시들의 수를 정의하는, 멀티미디어 컨텐츠의 컨텐츠 부분을 제공하는 방법.
  3. 제 2 항에 있어서,
    상기 나머지 캐시들 중 최종 캐시가 상기 주어진 표현 및 상기 대안의 표현들이 없을 때, 에러 메시지가 클라이언트에 전송되는, 멀티미디어 컨텐츠의 컨텐츠 부분을 제공하는 방법.
  4. 제 1 항 내지 제 3 항 중 어느 한 항에 있어서,
    상기 보조 정보는 상기 송신 경로를 따라 배열된 최종 캐시를 정의하여, 상기 주어진 표현 및 상기 대안의 표현들이 상기 최종 캐시에 저장되지 않은 경우에, 상기 요청이 상기 최종 캐시에 의해 포워딩되지 않게 되는, 멀티미디어 컨텐츠의 컨텐츠 부분을 제공하는 방법.
  5. 제 4 항에 있어서,
    상기 최종 캐시가 상기 주어진 표현 및 상기 대안의 표현들이 없을 때, 에러 메시지가 클라이언트에 전송되는, 멀티미디어 컨텐츠의 컨텐츠 부분을 제공하는 방법.
  6. 제 1 항 내지 제 5 항 중 어느 한 항에 있어서,
    상기 대안의 표현들은 선호도의 순서로 브라우징되는, 멀티미디어 컨텐츠의 컨텐츠 부분을 제공하는 방법.
  7. 제 1 항 내지 제 6 항 중 어느 한 항에 있어서,
    각각의 대안의 표현은 상기 주어진 표현의 대응 비트레이트보다 더 낮은 대응 비트레이트를 갖는, 멀티미디어 컨텐츠의 컨텐츠 부분을 제공하는 방법.
  8. 제 7 항에 있어서,
    상기 세트의 각각의 허용가능 표현은 상기 클라이언트 단말기 (C) 와 상기 원격 서버 (S) 사이의 상기 송신 경로의 대역폭에 최대한 동일한 대응 비트레이트를 갖는, 멀티미디어 컨텐츠의 컨텐츠 부분을 제공하는 방법.
  9. 제 1 항 내지 제 8 항 중 어느 한 항에 있어서,
    이용되는 상기 송신 프로토콜은 HTTP 이며, 상기 요청은 HTTP 요청이며, 상기 HTTP 요청의 캐시 제어 익스텐션은 상기 대안의 표현들의 리스트를 포함하는, 멀티미디어 컨텐츠의 컨텐츠 부분을 제공하는 방법.
  10. 제 1 항 내지 제 9 항 중 어느 한 항에 있어서,
    상기 요청은, 상기 제 1 캐시 (R) 가, 캐싱되는 경우, 요청된 상기 표현 또는 리스트된 대안의 표현을 리턴시키거나 또는 상기 주어진 표현도 어떠한 리스트된 대안의 표현들도 캐싱되지 않은 경우에 응답 메시지를 리턴시키도록 하는 추가적인 정보를 포함하는, 멀티미디어 컨텐츠의 컨텐츠 부분을 제공하는 방법.
  11. 제 10 항에 있어서,
    이용된 상기 송신 프로토콜이 HTTP 일 때, 상기 추가적인 정보는 상기 HTTP 요청의 상기 캐시 제어 익스텐션 내에 포함되는, 멀티미디어 컨텐츠의 컨텐츠 부분을 제공하는 방법.
  12. 클라이언트 단말기 (C) 에 멀티미디어 컨텐츠의 컨텐츠 부분을 제공하도록 구성되는 캐시로서,
    상기 캐시 (R) 는 상기 클라이언트 단말기 (C) 와 원격 서버 (S) 사이의 송신 경로를 따라 배열되고, 상기 컨텐츠 부분의 수개의 표현들이 이용가능하며,
    상기 캐시는:
    - 상기 클라이언트 단말기 (C) 로부터, 이용가능한 상기 표현들 중에서 선택된 허용가능 표현들의 세트에 속하는 상기 컨텐츠 부분의 주어진 표현에 대한 요청을 수신하는 인터페이스 모듈 (10) 로서, 상기 요청은 상기 세트의 대안의 표현들의 리스트, 및 요청들의 범위를 특정하는 보조 정보를 더 포함하는, 상기 요청을 수신하는 인터페이스 모듈 (10);
    - 상기 주어진 표현이 저장되는지를 체크하기 위한 제어 모듈 (11); 및
    - 상기 주어진 표현이 캐싱되지 않은 경우에 리스트된 대안의 표현들을 브라우징하도록 형성된 브라우징 모듈 (12) 을 포함하는 것을 특징으로 하는 멀티미디어 컨텐츠의 컨텐츠 부분을 제공하도록 구성되는 캐시.
  13. 제 12 항에 있어서,
    상기 대안의 표현들은 선호도의 순서로 브라우징되는, 멀티미디어 컨텐츠의 컨텐츠 부분을 제공하도록 구성되는 캐시.
  14. 제 12 항 또는 제 13 항에 있어서,
    보조 정보는 상기 주어진 표현 및 상기 대안의 표현들이 저장되지 않은 경우에, 상기 요청을 다음 캐시에 포워딩하도록 허용되는, 클라이언트와 상기 서버 사이에 배열된 나머지 캐시들의 수를 정의하며, 상기 요청은 상기 캐시에서, 상기 나머지 캐시들의 수가 0 과 같을 때 포워딩되지 않는, 멀티미디어 컨텐츠의 컨텐츠 부분을 제공하도록 구성되는 캐시.
  15. 제 12 항 내지 제 14 항 중 어느 한 항에 있어서,
    보조 정보는 상기 송신 경로를 따라 배열되는 최종 캐시를 정의하고, 상기 요청은:
    - 상기 주어진 표현 및 상기 대안의 표현들이 상기 캐시에 저장되지 않은 경우; 그리고
    - 상기 캐시가 최종 캐시에 대응하는 경우
    포워딩되지 않는, 멀티미디어 컨텐츠의 컨텐츠 부분을 제공하도록 구성되는 캐시.
KR1020167018200A 2014-01-07 2014-06-12 멀티미디어 컨텐츠의 컨텐츠 부분을 클라이언트 단말기, 대응 캐시에 제공하는 방법 KR102212973B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP14305015 2014-01-07
EP14305015.1 2014-01-07
PCT/EP2014/062215 WO2015104070A1 (en) 2014-01-07 2014-06-12 Method for providing a content part of a multimedia content to a client terminal, corresponding cache

Publications (2)

Publication Number Publication Date
KR20160105803A true KR20160105803A (ko) 2016-09-07
KR102212973B1 KR102212973B1 (ko) 2021-02-04

Family

ID=49999852

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020167018200A KR102212973B1 (ko) 2014-01-07 2014-06-12 멀티미디어 컨텐츠의 컨텐츠 부분을 클라이언트 단말기, 대응 캐시에 제공하는 방법

Country Status (9)

Country Link
US (1) US10735544B2 (ko)
EP (1) EP3092811B1 (ko)
JP (1) JP6538061B2 (ko)
KR (1) KR102212973B1 (ko)
CN (1) CN105900433B (ko)
AU (1) AU2014377337B2 (ko)
BR (1) BR112016015878B1 (ko)
TW (2) TW201527979A (ko)
WO (1) WO2015104070A1 (ko)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10033824B2 (en) * 2014-06-30 2018-07-24 Samsung Electronics Co., Ltd. Cache manifest for efficient peer assisted streaming
US10152080B2 (en) 2015-09-23 2018-12-11 Adobe Systems Incorporated Power efficient multimedia content streaming based on media segment duration
WO2021009597A1 (en) 2019-07-12 2021-01-21 Carrier Corporation A system and a method for streaming videos by creating object urls at client

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080195761A1 (en) * 2007-02-09 2008-08-14 Dilithium Holdings, Inc. Method and apparatus for the adaptation of multimedia content in telecommunications networks
US20120284371A1 (en) * 2011-05-03 2012-11-08 Cisco Technology, Inc. Reducing Fetching Load on Cache Servers in Adaptive Streaming

Family Cites Families (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8756342B1 (en) * 2000-02-07 2014-06-17 Parallel Networks, Llc Method and apparatus for content synchronization
GB2366965A (en) * 2000-09-01 2002-03-20 Ncr Int Inc Downloading data to a requesting client form the local cache of another client
US6820114B2 (en) * 2001-09-27 2004-11-16 Sap Aktiengesellschaft Identifying object suppliers in a network
US8650266B2 (en) * 2002-03-26 2014-02-11 At&T Intellectual Property Ii, L.P. Cache validation using smart source selection in a data network
US7076544B2 (en) 2002-04-08 2006-07-11 Microsoft Corporation Caching techniques for streaming media
US7085894B2 (en) * 2003-09-11 2006-08-01 International Business Machines Corporation Selectively accepting cache content
JP2006171822A (ja) 2004-12-13 2006-06-29 Nippon Telegr & Teleph Corp <Ntt> コンテンツ配信方法
US20090094224A1 (en) * 2007-10-05 2009-04-09 Google Inc. Collaborative search results
US8799409B2 (en) * 2009-01-15 2014-08-05 Ebay Inc. Server side data cache system
US9310959B2 (en) * 2009-06-01 2016-04-12 Zya, Inc. System and method for enhancing audio
KR101218828B1 (ko) * 2009-07-02 2013-01-04 (주)에임투지 요청배정장치를 이용한 상호협력캐시 방법 및 컨텐츠 제공 방법
US8000259B2 (en) * 2009-09-04 2011-08-16 Viasat, Inc. Distributed cache—adaptive multicast architecture for bandwidth reduction
US8560598B2 (en) * 2009-12-22 2013-10-15 At&T Intellectual Property I, L.P. Integrated adaptive anycast for content distribution
EP2410744A1 (en) 2010-07-23 2012-01-25 Alcatel Lucent Method for transferring video segments, client entity and proxy entity realizing such a method
US20120194534A1 (en) 2011-02-02 2012-08-02 Alcatel-Lucent Usa Inc. System and Method for Managing Cache Storage in Adaptive Video Streaming System
EP2487609A1 (en) 2011-02-07 2012-08-15 Alcatel Lucent A cache manager for segmented multimedia and corresponding method for cache management
CN103493499B (zh) * 2011-03-16 2018-04-06 韩国电子通信研究院 提供使用表示的流媒体内容的装置及方法
WO2011157150A2 (zh) * 2011-05-31 2011-12-22 华为技术有限公司 数据处理方法、缓存节点、协作控制器及系统
JP2013069073A (ja) 2011-09-21 2013-04-18 Nec Corp 配信ネットワークとサーバ及び配信方法
US8977704B2 (en) * 2011-12-29 2015-03-10 Nokia Corporation Method and apparatus for flexible caching of delivered media
US9729603B2 (en) * 2012-09-27 2017-08-08 Alcatel Lucent Content stream delivery using variable cache replacement granularity
US9621399B1 (en) * 2012-12-19 2017-04-11 Amazon Technologies, Inc. Distributed caching system
EP2819368A1 (en) 2013-06-28 2014-12-31 Thomson Licensing Method for providing a content part of a multimedia content to a client terminal, corresponding cache
US9887958B2 (en) * 2013-09-16 2018-02-06 Netflix, Inc. Configuring DNS clients
US8819187B1 (en) * 2013-10-29 2014-08-26 Limelight Networks, Inc. End-to-end acceleration of dynamic content
US9325639B2 (en) * 2013-12-17 2016-04-26 At&T Intellectual Property I, L.P. Hierarchical caching system for lossless network packet capture applications
US20160048344A1 (en) * 2014-08-13 2016-02-18 PernixData, Inc. Distributed caching systems and methods

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080195761A1 (en) * 2007-02-09 2008-08-14 Dilithium Holdings, Inc. Method and apparatus for the adaptation of multimedia content in telecommunications networks
US20120284371A1 (en) * 2011-05-03 2012-11-08 Cisco Technology, Inc. Reducing Fetching Load on Cache Servers in Adaptive Streaming

Also Published As

Publication number Publication date
JP6538061B2 (ja) 2019-07-03
EP3092811A1 (en) 2016-11-16
US20160330289A1 (en) 2016-11-10
KR102212973B1 (ko) 2021-02-04
TWI634789B (zh) 2018-09-01
TW201528806A (zh) 2015-07-16
TW201527979A (zh) 2015-07-16
WO2015104070A1 (en) 2015-07-16
AU2014377337A1 (en) 2016-08-18
BR112016015878A2 (ko) 2017-08-08
AU2014377337B2 (en) 2019-08-01
BR112016015878B1 (pt) 2023-02-23
CN105900433B (zh) 2020-02-21
US10735544B2 (en) 2020-08-04
EP3092811B1 (en) 2020-02-12
CN105900433A (zh) 2016-08-24
JP2017510120A (ja) 2017-04-06

Similar Documents

Publication Publication Date Title
US11057445B2 (en) Method for adapting the downloading behavior of a client terminal configured, to receive multimedia content, and corresponding terminal
EP3047627B1 (en) Dash representations adaptations in network
KR20160106701A (ko) 세그먼트들로 분할된 멀티미디어 콘텐츠를 수신하도록 구성된 클라이언트 단말에 의해 네트워크 정보를 획득하기 위한 방법
CN106105145B (zh) 用于操作沿客户端终端和至少一个服务器之间的传输路径布置的缓存器的方法、及相应的缓存器
CN106464738B (zh) 用于操作网络设备的方法及相应的网络设备
KR102212973B1 (ko) 멀티미디어 컨텐츠의 컨텐츠 부분을 클라이언트 단말기, 대응 캐시에 제공하는 방법
CN113037821B (zh) 操作高速缓存器的方法及相应高速缓存器
EP2819368A1 (en) Method for providing a content part of a multimedia content to a client terminal, corresponding cache
US10348789B2 (en) Method for retrieving, by a client terminal, a content part of a multimedia content
WO2015104146A1 (en) Method for obtaining network information by a client terminal configured for receiving a multimedia content divided into segments

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant