KR102197974B1 - 멀티미디어 컨텐츠를 수신하도록 구성되는 클라이언트 단말기의 다운로딩 거동을 적응시키는 방법 및 대응 단말기 - Google Patents

멀티미디어 컨텐츠를 수신하도록 구성되는 클라이언트 단말기의 다운로딩 거동을 적응시키는 방법 및 대응 단말기 Download PDF

Info

Publication number
KR102197974B1
KR102197974B1 KR1020157036157A KR20157036157A KR102197974B1 KR 102197974 B1 KR102197974 B1 KR 102197974B1 KR 1020157036157 A KR1020157036157 A KR 1020157036157A KR 20157036157 A KR20157036157 A KR 20157036157A KR 102197974 B1 KR102197974 B1 KR 102197974B1
Authority
KR
South Korea
Prior art keywords
cache
client terminal
multimedia content
server
detected
Prior art date
Application number
KR1020157036157A
Other languages
English (en)
Other versions
KR20160026886A (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 KR20160026886A publication Critical patent/KR20160026886A/ko
Application granted granted Critical
Publication of KR102197974B1 publication Critical patent/KR102197974B1/ko

Links

Images

Classifications

    • H04L65/4084
    • 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
    • H04L65/4092
    • 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/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • H04L65/613Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for the control of the source by the destination
    • 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/65Network streaming protocols, e.g. real-time transport protocol [RTP] or real-time control protocol [RTCP]
    • 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/752Media network packet handling adapting media to network capabilities
    • 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]
    • H04L67/2842
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Transfer Between Computers (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

본 발명은 적어도 하나의 서버로부터 멀티미디어 컨텐츠를 수신하도록 구성되는 클라이언트 단말기의 다운로딩 거동을 적응시키는 방법에 관련되고, 상기 멀티미디어 컨텐츠의 적어도 하나의 표현은 이용가능하고, 본 방법은 주어진 표현을 갖는 상기 멀티미디어 컨텐츠의 제 1 부분을 요청하는 것 (S0); 상기 제 1 부분의 요청에 기초하여, 캐시가 클라이언트 단말기와 서버 사이의 송신 경로를 따라 위치되는지를 검출하는 것 (S1); 캐시가 검출되는 경우에, 적어도 하나의 성능 기준에 의존하여, 표현을 갖는 상기 멀티미디어 컨텐츠의 제 2 부분을 요청하는 것 (S3) 의 단계들을 포함한다.

Description

멀티미디어 컨텐츠를 수신하도록 구성되는 클라이언트 단말기의 다운로딩 거동을 적응시키는 방법 및 대응 단말기{METHOD FOR ADAPTING THE DOWNLOADING BEHAVIOR OF A CLIENT TERMINAL CONFIGURED TO RECEIVE MULTIMEDIA CONTENT, AND CORRESPONDING TERMINAL}
본 발명은 일반적으로, 비제한적으로 예를 들어, 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 컨텐츠의 이용가능한 표현들을 리스트한다. 상기 매니페스트는 미리 생성되어 예를 들어, 원격 서버에 의해 클라이언트 단말기에 전달된다.
실제로, 상이한 품질들을 지닌 A/V 컨텐츠에 대응하는 데이터의 스트림은 HTTP 서버 상에서 이용가능하다. 최고 품질은 높은 비트레이트와 연관되어 있고, 최저 품질은 낮은 비트레이트와 연관되어 있다. 이는 매우 다양한 네트워크 조건들을 겪을 수도 있는 수많은 상이한 단말기로의 배포를 허용한다.
전체 데이터 스트림은 클라이언트 단말기가 두개의 청크들 사이에서 한 품질 레벨에서 다른 품질 레벨로 원활하게 스위칭할 수도 있도록 이루어지는 청크들로 분할된다. 그 결과, 플레이 동안 비디오 품질은 변할 수도 있지만, 인터럽션들 (또한 동결 상태들 (freezes) 이라 지칭됨) 을 거의 겪지 않는다.
프로토콜에 의존하여, 매니페스트는 다양한 포맷들을 제공할 수 있다. Apple HLS 프로토콜에서, 이는 "마스터 플레이리스트"라 지칭되는 M3U8 플레이리스트이다. 이 플레이리스트의 각각의 엘리먼트는 표현 당 하나씩 다른 플레이리스트이다. 다른 프로토콜들 (예를 들어, DASH) 에 따르면, 매니페스트는 표현들을 하나씩 차례로 기술하는 하나 이상의 XML 파일로 구성된다. 어느 경우에도, 매니페스트를 생성하는 것은 결정논적 문법에 따라 텍스트 파일을 생성하고 텍스트를 기록하는 것만큼 단순하다.
이 이용가능한 대역폭에 따르면, 클라이언트 단말기는 품질 (예를 들어, 비디오 품질) 과 네트워크 변동성들에 대한 견고성 상의 절충안을 최적화하는 주어진 시점에서 최상의 표현을 선택하는 것이 잘 알려져 있다. 이용가능한 대역폭은 매 수신 청크마다 동적으로 결정된다. 그 대신에, 주어진 청크에 대한 HTTP 요청의 방출 시간과 대응하는 HTTP 응답의 수신 사이에 정의되는 라운드 트립 시간 (이하, HTTP RTT라 지칭됨) 이 일반적으로 측정 및 이용되어, 송신 경로를 따라 이용가능한 대역폭이 추정된다.
클라이언트 측에서의 수신 레이트는 청크를 다운로드할 때의 시간에 있어서 변화한다. 시작시에는, 클라이언트 단말기가 청크에 대한 HTTP 요청을 발행한다. 상기 HTTP 요청의 HTTP RTT 에 대응하는 "유휴" 시간의 제 1 주기가 존재한다. 그 후, 청크의 패킷들이 수신된다. 이들 패킷들은 접속의 피크 레이트에 도달한다. 마지막으로, 수신 레이트는 청크의 다운로딩이 마무리될 때 다시 제로로 떨어진다.
따라서, 클라이언트 단말기는 HTTP 요청의 HTTP RTT 과 이용가능한 피크 대역폭 양쪽 모두를 추정할 수 있고, 그 후, 이들 추정된 값들을 이용하여, 하나의 청크의 지속기간 내에서 수신되는 높은 가능성으로 요청될 수도 있는 최대 청크 사이즈를 결정한다.
이미 알려진 바와 같이, 클라이언트 단말기들은 통상적으로, 다음의 식으로 인하여 대역폭 추정값을 평균화한다.
Figure 112015125418089-pct00001
여기에서:
- BWn 는 다음 청크 n+1 요청에 이용되는, 청크 n 에 대한 평균 대역폭이고,
- Dn 은 (청크 n 송신의 시작과 종료 사이에) 청크 n 의 순시적으로 수신되는 데이터 레이트이고,
-
Figure 112015125418089-pct00002
Figure 112015125418089-pct00003
이도록 된다.
추가로, 클라이언트 단말기들은 또한 대역폭의 갑작스런 결여에 대해 보호하도록 일부 버퍼들을 이용한다. 버퍼를 채우기 위해, 이러한 단말기들은 청크 지속기간보다 더 짧은 시간에서 수신될 정도로 작은 청크를 요구하기 때문에, 이전 청크가 수신되자마자 다음 청크를 요청한다. 버퍼가 정규 사이즈에 있을 때, 클라이언트 단말기는 청크 지속기간에 맞추어지는 청크들을 로딩하려 시도한다. 일부 청크가 너무 느리게 로딩되면, 버퍼가 소모되고, 클라이언트 단말기는 다음 청크들에 대하여 이를 채우려 시도할 것이다.
캐시가 클라이언트 단말기와 원격 서버 사이에서 빈번하게 발생하는 송신 경로를 따라 위치될 때, 다른 클라이언트가 동일한 표현을 가진 동일한 청크를 이전에 요청하였을 경우, 또는 CDN (Content Delivery Network) 이 이미 캐시에 청크를 프로비져닝하였을 경우, 하나의 청크가 이미 상기 캐시에 저장될 수도 있다.
따라서, 상기 주어진 청크에 대한 HTTP 요청에 대한 응답은, 청크가 원격 서버로부터 오는 경우에는 보다 고속이 된다. 클라이언트 단말기와 캐시 사이의 HTTP 요청의 HTTP RTT 는, 송신 경로가 더 짧기 때문에, 클라이언트 단말기와 원격 서버 사이의 것보다 훨씬 더 작을 수도 있다.
추가로, 송신 경로를 따른 캐시의 존재의 경우 (요청된 청크가 캐시에 저장되어 있음), 특히, 캐시와 원격 서버 사이에 위치된 상기 송신 경로에 혼잡이 있을 때, 피크 레이트는 더 양호할 수도 있다.
클라이언트 단말기는 통상 원격 서버에 의해 또는 중간 캐시에 의해 전송되는 리플라이들에 차등을 두지 않기 때문에, 엔드 투 엔드 네트워크 조건들의 변동에 따라 대역폭의 변동을 잘못 해석하는 한편, 이는 실제로 "클라이언트 단말기/서버" 경로로부터 "클라이언트 단말기/캐시" 경로로의 송신 경로의 스위치를 관측하게 한다.
결과적으로, 클라이언트 단말기에 의해 수행되는 대역폭 추정은 과잉 추정되고 예상되는 대로 엔드 투 엔드 송신 경로 특성들을 정확하게 반영하지 않게 된다.
이러한 과잉 추정은 일반적으로 엔드 유저에 대해 열악한 경험을 가져온다. 실제로, 추정된 대역폭이 예상되는 것보다 높으면, 적응성 스트리밍 클라이언트 단말기는 항상 더 높은 품질 표현 (예를 들어, 더 높은 비트레이트) 으로부터의 청크를 요청한다. 이 요청된 청크는 따라서, 표현이 변경됨에 따라, (일정한 비트레이트에서 동일한 멀티미디어 컨텐츠를 플레이하는 이전 클라이언트 단말기에 의해 캐시가 채워졌다고 추정함으로써) 캐시에 있을 가능성이 더 낮아야 한다. 상기 요청된 청크와 연관된 다운로딩 시간은 예상되는 것보다 훨씬 더 길어야 하고, 이는 요청된 청크의 너무 늦은 도달의 결과를 가져온다. 그 후, 클라이언트 단말기는 다시 캐시에서 구해질 수도 있는 더 낮은 품질 표현으로 다시 스위칭되어야 한다.
결과적으로, 클라이언트 단말기는 높고 낮은 품질 청크들로 이리저리 스위칭하고, 캐시 미스들로 인하여 지속적으로 인터럽트되고, 이는 캐시의 이점들을 완전하게 위협한다.
본 발명은 엔드 유저 경험의 품질을 개선하기 위하여, 위에 언급된 관심 사항의 적어도 일부를 해결하려 시도한다.
본 발명은 적어도 하나의 서버로부터 멀티미디어 컨텐츠를 수신하도록 구성되는 클라이언트 단말기의 다운로딩 거동을 적응시키는 방법에 관련되고, 상기 멀티미디어 컨텐츠의 적어도 하나의 표현이 이용가능하며,
이는 바람직하게, 클라이언트 측에서는 다음 단계들을 갖는 점에서 주목할 만하다:
- 주어진 표현을 갖는 상기 멀티미디어 컨텐츠의 제 1 부분을 요청하는 것;
- 상기 제 1 부분의 요청에 기초하여, 캐시가 클라이언트 단말기와 서버 사이의 송신 경로를 따라 위치되는지를 검출하는 것;
- 캐시가 검출되는 경우에, 적어도 하나의 성능 기준에 의존하여, 표현을 갖는 상기 멀티미디어 컨텐츠의 제 2 부분을 요청하는 것.
따라서, 본 발명으로 인하여, 중간 캐시(들)의 존재에서 클라이언트 단말기의 다운로딩 거동의 적응성은 불규칙한 플레이백을 회피할 수 있고, 방대한 양의 배치된 캐시들에 영향을 주는 가능성을 복구할 수 있다. 실제로, 대부분의 HTTP 적응성 스트리밍 서버들은 일부 청크들이 캐시되고 다른 청크들은 캐시되지 않을 때 클라이언트 단말기가 이들의 대역폭 추정값에서 혼란을 겪는 것을 회피하기 위하여, "무-캐시"를 갖는 청크 데이터를 전송하여 캐시를 방지한다. 본 발명은 전체 클라이언트 서버 아키텍쳐에 대한 캐시 이점들을 가져올 수도 있어, 전체적인 네트워크 성능을 개선한다.
바람직하게, 상기 방법은 검출된 캐시와 클라이언트 단말기 사이의 송신 경로의 대역폭을 추정하는 것을 더 포함한다.
상기 성능 기준에 따르면, 상기 멀티미디어 컨텐츠의 요청된 제 2 부분은 다음에 의해 정의될 수 있다:
- 대역폭 추정값의 결과가 무엇이든간에 상기 검출된 캐시에 저장된 제 1 부분의 하나와 동일한 표현; 또는
- 추정된 대역폭을 고려한 대안의 표현으로서, 상기 새로운 표현은 제 1 부분의 표현과는 상이한, 대안의 표현.
또한, 상기 제 2 부분이 검출된 캐시에 저장되지 않는 경우, 상기 제 2 부분이 상기 캐시로부터 이용가능하지 않음을 특정하는 메시지를 클라이언트 단말기가 수신하게 되도록, 상기 제 2 부분의 요청은 상기 검출된 캐시에 의해 이해가능한 정보의 피스를 유리하게 포함할 수도 있다. 예를 들어, 이러한 정보 피스는 HTTP 요청의 제어 헤더에서의 지시어 "only if cached" 일 수도 있다.
다른 양태에서, 상기 방법은 검출된 캐시로부터 상기 멀티미디어 컨텐츠의 다운로딩이 적어도 하나의 다운로딩 기준을 충족하는 경우에, 상기 제 1 부분의 표현과는 상이한 새로운 표현을 가진 상기 멀티미디어 컨텐츠의 추가의 부분을 요청하는 것을 더 포함한다.
본 발명의 선호되는 실시형태에 따르면, 캐시를 검출하는 것은, 클라이언트 단말기로부터 서버로의 접속 확립 요청에 대한 라운드 트립 시간을 결정하는 것을 더 포함한다.
추가로, 캐시를 검출하는 것은, 멀티미디어 컨텐츠의 제 1 부분에 대한 요청의 방출과 상기 요청된 제 1 부분의 수신의 시작 사이의 수신 지연을 측정하는 것을 더 포함할 수 있다.
또한, 캐시를 검출하는 것은 측정된 수신 지연과 접속 확립 요청의 결정된 라운드 트립 시간을 비교하는 것을 더 포함할 수 있다.
바람직한 실시형태의 추가의 양태에서, 접속 확립 요청의 결정된 라운드 트립 시간과 측정된 수신 지연 사이의 차이가:
- 제 1 검출 임계값과 적어도 동일한 경우, 캐시는 상기 검출된 캐시에서의 요청된 제 1 부분의 저장 없이 클라이언트 단말기와 서버 사이의 송신 경로를 따라 검출되며,
- 그렇지 않으면:
■ 캐시가 클라이언트 단말기와 서버 사이의 송신 경로를 따라 존재하고 요청된 제 1 부분은 캐시로부터 오거나; 또는
■ 캐시가 클라이언트 단말기와 서버 사이의 송신 경로를 따라 존재하지 않고 요청된 제 1 부분은 캐시로부터 온다.
바람직한 실시형태의 변형예 또는 보완예에서, 캐시를 검출하는 것은:
- 클라이언트 단말기로부터 서버로의 에코 요청의 방출과 상기 에코 요청에 대한 응답의 수신 사이의 응답 시간을 측정하는 것;
- 응답 시간과 접속 확립 요청의 결정된 라운드 트립 시간을 비교하는 것을 더 포함할 수 있다.
이 외에, 캐시를 검출하는 것은, 측정된 수신 지연과 측정된 응답 시간을 비교하는 것을 더 포함할 수 있다.
이 변형예 또는 보완예의 추가적인 양태에 따르면, 측정된 응답 시간과, 접속 확립 요청의 결정된 라운드 트립 시간 사이의 차이가:
- 제 2 검출 임계값과 대부분 동일한 경우, 클라이언트 단말기와 서버 사이의 송신 경로를 따라 캐시가 검출되지 않고 청크가 서버로부터 오며;
- 제 3 임계값과 적어도 동일한 경우, 캐시가 클라이언트 단말기와 서버 사이의 송신 경로를 따라 검출되고, 청크는:
■ 측정된 수신 지연과 측정된 응답 시간 사이의 차이가 제 4 검출 임계값과 적어도 동일한 경우, 검출된 캐시에 로딩되거나; 또는
■ 서버로부터 오는 것이 반대로 발생해야 한다.
다른 양태에서, 상기 성능 기준은 적어도 다음을 포함하는 기준의 그룹에 속할 수도 있다:
- 멀티미디어 컨텐츠의 품질에 관련된 기준;
- 멀티미디어 컨텐츠의 다운로딩의 속도에 관련된 기준.
본 발명은 또한 적어도 하나의 서버로부터 멀티미디어 컨텐츠를 수신하는 다운로딩 거동을 적응시키도록 구성되는 단말기에 관련되며, 상기 멀티미디어 컨텐츠의 적어도 하나의 표현이 이용가능하다. 본 발명에 따르면, 상기 단말기는 다음을 포함한다:
- 주어진 표현을 갖는 상기 멀티미디어 컨텐츠의 제 1 부분을 요청하는 통신 모듈;
- 상기 제 1 부분의 요청에 기초하여, 캐시가 클라이언트 단말기와 서버 사이의 송신 경로를 따라 위치되는지를 검출하는 캐시 검출기;
- 캐시가 검출되는 경우, 적어도 하나의 성능 기준에 의존하여 표현을 갖는 상기 멀티미디어 컨텐츠의 제 2 부분을 요청하는 결정 모듈.
추가로, 상기 단말기는 검출된 캐시와 상기 단말기 사이의 송신 경로의 대역폭을 추정하는 대역폭 추정기를 더 포함할 수 있다.
상기 성능 기준에 따르면, 상기 멀티미디어 컨텐츠의 요청된 제 2 부분 (In+1) 은 다음으로 정의될 수도 있다:
- 대역폭 추정의 결과가 무엇이든, 상기 검출된 캐시에 저장된 제 1 부분 중 하나와 동일한 표현; 또는
- 추정된 대역폭을 고려한 대안의 표현으로서, 이 새로운 표현은 제 1 부분의 표현과 상이한, 대안의 표현.
추가로, 상기 제 2 부분의 요청은 상기 검출된 캐시에 의해 이해가능한 정보의 피스를 포함할 수 있어, 상기 제 2 부분이 상기 검출된 캐시에 저장되지 않은 경우, 상기 제 2 부분이 상기 캐시로부터 이용가능하지 않음을 특정하는 메시지를 클라이언트 단말기가 수신하게 된다.
또한, 단말기는, 검출된 캐시로부터의 상기 멀티미디어 컨텐츠의 다운로딩이 적어도 하나의 다운로딩 기준을 충족하는 경우, 상기 제 1 부분의 표현과 상이한 새로운 표현을 가진 상기 멀티미디어 컨텐츠의 추가의 부분을 요청하도록 추가로 구성될 수 있다.
개시된 실시형태의 범위에 상응하는 특정 양태들이 아래 설명된다. 이들 양태들은 단지 본 발명이 취할 수도 있는 특정 형태들의 간략한 개요를 독자에게 제공하기 위하여 제시된 것일 뿐, 이들 양태들이 본 발명의 범위를 제한하려 의도되지 않음을 이해하여야 한다. 실제로, 본 발명은 아래 설명되지 않을 수도 있는 다양한 양태들을 수반할 수도 있다.
본 발명은 첨부된 도면들을 참조로 비예시적으로 다음 실시형태 및 실시예에 의해 보다 잘 이해되어 예시될 것이다.
- 도 1 은 본 발명이 구현될 수도 있는 클라이언트-서버 네트워크 아키텍쳐의 개략도이다.
- 도 2 는 본 발명의 바람직한 실시형태에 따른 클라이언트 단말기의 일 예의 블록도이다.
- 도 3 은 도 2 의 클라이언트 단말기에 의해 구현되는 제 1 캐시 검출 메카니즘을 묘사하는 흐름도이다.
- 도 4a 및 도 4b 는 캐시 없는 TCP-RTT (도 4a) 및 캐시가 송신 경로를 따라 위치된 TCP-RTT (도 4b) 를 예시한다.
- 도 4c, 도 4d 및 도 4e 는 캐시 없는 HTTP-RTT (도 4c) 및 송신 경로를 따라 캐시를 가진 HTTP-RTT (도 4d 및 도 4e) 를 나타내며, 주어진 청크는 캐시되어 있지 않거나 (도 4d) 또는 캐시되어 있다 (도 4e).
- 도 5 는 도 2 의 클라이언트 단말기에 의해 구현되는 제 2 캐시 검출 메카니즘을 묘사하는 흐름도이다.
- 도 6 은 도 2 의 클라이언트 단말기에 의해 구현되는 다운로딩 거동을 적응시키는 방법을 예시하는 흐름도이다.
도 1 및 도 2 에서, 표현된 블록들은 물리적으로 개별적인 엔티티들에 반드시 대응하는 것은 아닌 순수 기능 엔티티들이다. 즉, 이들은 소프트웨어, 하드웨어의 형태로 개발될 수도 있거나 또는 하나 이상의 프로세서들을 포함하는, 하나 또는 수개의 집적 회로들에서 구현될 수도 있다.
가능하다면 언제든지, 동일한 도면 부호들은 도면 전반에 걸쳐 동일 또는 유사한 부분을 지칭하는데 이용된다.
본 발명의 도면들 및 설명들은 본 발명의 명확한 이해에 관련된 엘리먼트들을 예시하도록 간략화되었으며, 한편으로, 통상의 디지털 멀티미디어 컨텐츠 전달 방법들 및 시스템들에서 알려진 많은 다른 엘리먼트들을 명료화를 위하여 제거하였다. 그러나, 이러한 엘리먼트는 당해 기술 분야에 잘 알려진 것이기 때문에, 이러한 엘리먼트들의 자세한 설명은 여기에서는 제공되지 않는다. 여기에서의 본 개시물은 당해 기술 분야의 당업자에 의해 알려진 모든 이러한 변경 및 수정예에 대해 지시된다.
바람직한 실시형태에 따르면, 본 발명은 HTTP 적응성 스트리밍 프로토콜에 관하여 묘사된다. 당연히, 본 발명은 이러한 특정 환경으로 제한되지 않고, 다른 적응성 스트리밍 프로토콜도 물론 고려되어 구현될 수 있다.
도 1 에 묘사된 바와 같이, 본 발명이 구현될 수도 있는 클라이언트 서버 네트워크 아키텍쳐는 클라이언트 단말기 (C), 게이트웨이 (GW), 및 하나 이상의 HTTP 서버들 (S) (도 1 에는 오직 하나만이 표시됨) 을 포함한다.
(홈 네트워크 또는 회사 네트워크와 같은) 제 1 네트워크 (N1) 를 통하여 게이트웨이 (GW) 에 접속된 클라이언트 단말기 (C) 는 (인터넷 네트워크와 같은) 제 2 네트워크 (N2) 를 통하여 HTTP 서버 (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) 실행가능 비디오 디코더, 이를 테면, 셋톱 박스이다.
본 발명에 따르면, 클라이언트 단말기 (C) 는 서버 (S) 로부터 멀티미디어 컨텐츠를 수신하기 위한 다운로딩 거동을 적응시키도록 구성된다.
이러한 목적을 위하여, 클라이언트 단말기 (C) 는 다음을 더 포함한다:
- 클라이언트 단말기 (C) 와 서버 (S) 사이의 송신 경로를 따라 캐시를 검출하도록 적응되는 캐시 검출기 (7);
- 클라이언트 단말기 (C) 와 검출된 캐시 (R) 사이의 송신 경로의 대역폭 및/또는 클라이언트 단말기 (C) 와 서버 (S) 사이의 송신 경로의 대역폭을 결정하도록 구성되는 대역폭 추정기 (8);
- 성능 기준에 따라 상기 멀티미디어 컨텐츠의 청크들을 요청하기 위하여 구성되는 결정 모듈 (9). 변형예에서, 결정 모듈 (9) 은 통신 모듈 (2) 내에 또는 적응성 스트리밍 모듈 (3) 내에 통합될 수도 있다.
특히, 상기 바람직한 실시형태에 따르면, 클라이언트 단말기 (C) 의 캐시 검출기 (7) 는 클라이언트 단말기 (C) 와 서버 (S) 사이에서 캐시 (R) 를 검출하는 제 1 메카니즘 (M1) 을 구현한다.
제 1 캐시 검출 메카니즘 (M1) 은 다음 단계들을 포함한다:
- (도 4a 및 도 4b 에 예시된 바와 같이 TCP-RTT 로 지칭되는) 클라이언트 단말기 (C) 로부터 서버 (S) 로의 접속 확립 요청에 대한 라운드 트립 시간을 결정하는 단계 (단계 E0);
- 주어진 표현 (r) 을 가진 멀티미디어 컨텐츠의 주어진 청크 (In) 에 대한 요청의 방출과, 상기 요청된 청크 (In) 의 수신의 시작 사이의 수신 지연 (DelayRx) 을 측정하는 단계 (단계 E1);
- 접속 확립 요청의 결정된 라운드 트립 시간 (TCP-RTT) 을 측정된 수신 지연 (DelayRx) 과 비교하는 단계 (단계 E2).
요청된 청크 (In) 가 (검출된) 캐시 (R) 에 있을 때 수신 지연 (DelayRx) 은 다음을 포함한다:
- (도 4e 에 묘사된 바와 같이) 클라이언트 단말기 (C) 와 캐시 (R) 사이에 주어진 청크 (In) 를 요청하는 라운드 트립 시간 (HTTP-RTT);
- 캐시 (R) 가 요청된 청크 (In) 의 이용가능성을 체크하는 시간;
- 캐시 (R) 로부터 데이터를 페치하는 시간;
- 청크 (In) 의 제 1 데이터 패킷의 전달 시간.
모든 이들 시간들은 캐시가 적절하게 위치될 때 짧을 것으로 예상된다.
요청된 청크 (In) 가 캐시 (R) 에 로딩되지 않을 때, 수신 지연 (DelayRx) 은 다음으로 이루어진 추가적인 지연을 포함한다:
- (도 4d 에 도시된 바와 같은) 캐시 (R) 와 서버 (S) 사이에 주어진 청크 (In) 를 요청하는 라운드 트립 시간 (HTTP-RTT);
- 서버 (S) 가 청크 (In) 를 페치하는 시간;
- 서버 (S) 로부터 캐시 (R) 로의 제 1 데이터 패킷의 트랜스퍼 시간.
이 추가적인 지연은 일반적으로 이전 지연 보다 훨씬 더 길며, 그 이유는:
- 서버 (S) 에 대한 홉 수가 클 수도 있어 큰 RTT 를 야기하며, 각각의 라우팅 노드는 혼잡 가능성이 있으며;
- TCP 대역폭은 경로에서 혼잡이 어느 곳에 발생하는 경우 극적으로 드롭 다운할 수 있고;
- 서버 (S) 는 다수의 클라이언트를 갖고 있고 오버로드될 수 있기 때문이다.
측정된 수신 지연 (DelayRx) 과, 접속 확립 요청의 결정된 라운드 트립 시간 (TCP-RTT) 사이의 차이가 0 과 다른 제 1 검출 임계값 (Th1) 과 적어도 동일한 경우 (즉,
Figure 112015125418089-pct00004
), 캐시 (R) 는 클라이언트 단말기 (C) 와 서버 (S) 사이에서 송신 경로를 따라 검출된다. 요청된 주어진 청크 (In) 이 (도 4d 에 도시된 바와 같이) 검출된 캐시 (R) 에 저장되지 않는다.
측정된 수신 지연 (DelayRx) 과, 접속 확립 요청의 결정된 라운드 트립 시간 (TCP-RTT) 사이의 차이가 제 1 임계값보다 낮은 경우 (즉,
Figure 112015125418089-pct00005
):
- (도 4e 에 도시된 바와 같이) 캐시 (R) 가 클라이언트 단말기 (C) 와 서버 (S) 사이의 송신 경로를 따라 존재하고 요청된 주어진 청크 (In) 은 캐시 (R) 로부터 오거나; 또는
- (도 4c 에 도시된 바와 같이) 캐시 (R) 가 클라이언트 단말기 (C) 와 서버 (S) 사이의 송신 경로를 따라 존재하지 않고 요청된 주어진 청크 (In) 은 캐시 (R) 로부터 온다.
후속하는 DelaysRx 를 비교함으로써, 캐시 검출기 (7) 는 요청된 청크가, 이것이 서버 (S) 로부터인지 캐시 (R) 로부터인지 간에, 이전 수신된 청크와 동일한 소스로부터 오는 것인지를 알게 된다.
또한, 주어진 청크에 대해, 캐시가 송신 경로를 따라 검출될 때, 이러한 캐시의 존재에 관한 정보가 후에 재이용될 수도 있다.
또한, 변형예에서, 클라이언트 단말기 (C) 의 캐시 검출기 (7) 는 클라이언트 단말기 (C) 와 서버 (S) 사이에서 캐시 (R) 를 검출하기 위한 제 2 메카니즘 (M2) 을 구현할 수도 있다.
도 5 에 도시된 바와 같이, 상기 제 2 메카니즘 (M2) 은 제 1 메카니즘 (M1) 의 단계들 (E0 및 E1) 및 다음의 추가의 단계들을 포함한다:
- 클라이언트 단말기 (C) 로부터 서버 (S) 로의 인터넷 제어 메시지 프로토콜 에코 요청 (ICMP 에코라 지칭됨) 의 방출과 상기 ICMP 에코 요청에 대한 응답의 수신 사이의 응답 시간 (TRx) 을 측정하는 단계 (단계 E3);
- 응답 시간 (TRx) 과 접속 확립 요청의 결정된 라운드 트립 시간 (TCP-RTT) 을 비교하는 단계 (단계 E4);
- 측정된 응답 시간 (TRx) 을 측정된 수신 지연 (DelayRx) 과 비교하는 단계 (단계 E5).
측정된 응답 시간 (TRx) 과, 접속 확립 요청의 결정된 라운드 트립 시간 (TCP-RTT) 사이의 차이가 (예를 들어, 0 에 가까운 값을 가진) 제 2 검출 임계값 (Th2) 과 거의 동일한 경우, 즉
Figure 112015125418089-pct00006
인 경우, 캐시가 클라이언트 단말기 (C) 와 서버 (S) 사이에서 송신 경로를 따라 검출되지 않고 청크 (In) 는 서버 (S) 로부터 온다.
이와 대조적으로, 측정된 응답 시간 (TRx) 과, 접속 확립 요청의 결정된 라운드 트립 시간 (TCP-RTT) 사이의 차이가 0 과 상이한 제 3 검출 임계값 (Th3) 과 적어도 동일한 경우, 즉
Figure 112015125418089-pct00007
인 경우, 캐시 (R) 가 클라이언트 단말기 (C) 와 서버 (S) 사이에서 송신 경로를 따라 검출되고 청크 (In) 는:
- 측정된 수신 지연 (DelayRx) 과 측정된 응답 시간 (TRx) 사이의 차이가 제 4 검출 임계값과 적어도 동일한 경우 (예를 들어, 응답 시간 (TRx) 의 1/2), 즉
Figure 112015125418089-pct00008
인 경우, 검출된 캐시 (R) 에 로딩되거나; 또는
- 서버 (S) 로부터 오는 것이 반대로 발생해야 한다.
캐시 (R) 는 이러한 ICMP 요청의 어느 것도 행하지 않을 것이기 때문에, ICMP 에코 요청을 상기 서버 (S) 에 전송함으로써 그리고 응답 시간 (TRx) 을 측정함으로써, 제 2 메카니즘 (M2) 이 원격 서버 (S) 까지의 거리의 명시적 측정을 포함한다.
TCP-RTT 및 TRx 가 비슷하면, 이는 서버 (S) 에 직접 오직 하나의 TCP 접속만이 존재함을 의미한다 (도 4a 참조). 캐시 (R) 가 이중 TCP 접속을 확립하면 (도 4b 참조), ICMP 에코의 완전한 RTT (즉, TRx) 는 훨씬 더 크다.
추가로, 양쪽 메카니즘은 캐시 검출에 대한 보다 양호한 신뢰도를 얻도록 결합될 수 있음을 알 수 있다. 위에 언급된 파라미터들의 수개의 측정들은 예를 들어, 일시적인 네트워크 혼잡으로 인한 에러의 리스크를 제한하도록 실현될 수 있다.
그 외에, 클라이언트 단말기 (C) 의 대역폭 추정기 (8) 는 위에 언급된 식들:
Figure 112015125418089-pct00009
에 의해, 송신 경로의 이용가능한 대역폭을 추정하도록 구성된다.
클라이언트 단말기 (C) 가 캐시 검출기 (7) 로 인하여, 청크 (In) 가 캐시 (R) 를 통하여 수신되는지 또는 원격 서버 (S) 로부터 수신되는지의 여부를 알게 될 때, 대역폭 추정기 (8) 는 수신 지연 (DelayRx) 의 별도의 값들 및 양쪽 상황 (청크 (In) 이 캐시되고 청크 (In) 이 서버 (S) 로부터 오는 것) 에 대한 피크 레이트를 유지하고, 대역폭 추정에 대한 다음의 두개의 상이한 값들을 유지하도록 구성된다:
- "클라이언트 단말기 (C) 로부터 서버 (S) 로의" 송신 경로에 대한 하나의 값 (BWserver);
- "클라이언트 단말기 (C) 로부터 검출된 캐시 (R) 로의" 송신 경로에 대한 하나의 값 (BWcache).
대역폭 추정값은 클라이언트 단말기 (C) 의 캐시 검출기 (7) 로부터의 검출 정보의 수신시 업데이트될 수도 있다.
추가의 양태에서, 피크 레이트가 주로 "라스트 마일" 액세스 링크에 의해 및/또는 무선 홈 링크의 이용에 의해 영향을 받기 때문에, 클라이언트 단말기 (C) 가 피크 레이트 감소를 관찰하면, 이는 양쪽 상황에 대한 유사한 감소인 것으로 보고, 이에 의해 추정값들이 피크 레이트 감소를 고려하여 업데이트되게 될 수 있다.
바람직한 실시형태에 따르면, 캐시 (R) 가 검출되는 경우, 결정 모듈 (9) 은 성능 기준에 의존하여 다음의 결정 프로세스를 구현하여, 다음 청크 (In+1) 을 요청한다:
- 대역폭 추정값의 결과가 무엇이든 간에, 상기 캐시 (R) 에 머무를 가능성을 최대로 하기 위하여, 캐시 (R) 에 저장된 청크 (In) 의 것과 동일한 표현 (r). 이 경우, 결정 모듈 (9) 은 대역폭 추정값 아래 최근접값이 아닌 관련 비트레이트와 연관된 표현을 요청할 수도 있다. 따라서, 캐시를 통하여 견고성이 최대 품질로 선호되거나; 또는
- 대역폭 추정값 ((예를 들어, 청크 (In) 가 캐시된 경우 BWcache, 청크 (In) 가 서버 (S) 로부터 오는 경우 BWserver)) 을 고려한 대안의 표현 (r')(청크 (In) 의 것과 상이함). 상기 대안의 표현 (r') 은 대역폭 추정값에 유리하게 의존할 수 있다. 대안의 표현 (r') 이 청크 (In) 의 현재 표현 (r) 보다 높은 비트레이트로 정의되는 경우, 품질은 견고성으로 선호된다.
바람직한 실시형태의 추가의 양태에 따르면, 동일한 표현 (r) 및 대안의 표현 (r') 을 가진 다음 청크 (In+1) 의 요청은 상기 검출된 캐시 (R) 에 의해 이해가능한 정보의 피스 (예를 들어, "only-if-cached" HTTP 헤더) 를 유리하게 포함할 수도 있어, 다음 청크 (In+1) 이 검출된 캐시에 저장되지 않는 경우, 클라이언트 단말기 (C) 는 상기 다음 청크 (In+1) 이 캐시 (R) 에서 이용가능하지 않음을 특정하는 메시지를 수신한다. 이는 추가의 청크의 캐시 (R) 에서의 이용가능성 테스트에 제한된 지연 패널티를 허용한다. 대안의 표현 (r') 이 캐시 (R) 에 이용가능하지 않으면, 클라이언트 단말기 (C) 는 표현 (r) 을 가진 청크를 다시 요청할 수 있다.
예로서, 성능 기준은 클라이언트 단말기 (C) 의 엔드 유저에 의해 엔드 유저의 선호도들, 예를 들어, 멀티미디어 컨텐츠, 다운로딩 속도 등을 선택하도록 선택될 수도 있다. 변형예에서, 상기 성능 기준은 멀티미디어 컨텐츠의 기준 (예를 들어, 스포츠 이벤트, 영화, 다큐멘터리들 등) 에 대하여 자동으로 정의될 수도 있다. 명백히, 다른 변형예에서, 하나 이상의 추가적인 기준이 이용될 수도 있다.
바람직한 실시형태의 추가의 양태에서, 검출된 캐시 (R) 로부터의 멀티미디어 컨텐츠의 다운로딩이 다운로딩 기준에 충족할 때 (예를 들어, 캐시로부터의 다운로딩이 컨텐츠 단말기 (C) 의 버퍼 (6) 가 풀 상태가 되기에 충분할 정도로 고속임), 결정 모듈 (9) 은 표현 변경 (예를 들어, 보다 높은 품질) 을 시도하고, 이 새로운 품질 (r") 이 지속가능한지의 여부 (다음 청크 (Ik) 가 제시간에 도달하는 것 및 다음 대역폭 추정값이 이 새로운 표현 (r") 으로 진행하도록 허용함을 의미함) 를 결정하기 위해 청크 (In) 의 표현 (r) 과는 상이한 새로운 표현 (r") 을 가진 멀티미디어 컨텐츠의 추가의 청크 (Ik) 를 요청할 수도 있다. 새로운 표현 (r") 이 지속가능하지 않으면, 검출 모듈 (9) 은 이전의 캐시된 표현 (r) 으로 다시 스위칭한다.
바람직한 실시형태의 추가의 양태에서, 멀티미디어 컨텐츠의 모든 표현들에 대한 플래그 리스트는 클라이언트 단말기 (C) 에 저장될 수도 있으며, 상기 플래그 리스트는 표현이 캐시 (R) 에서 이전에 검출되었는지의 여부를 표시한다. 검출 모듈 (9) 이 현재 표현 (r) 을 변경하기를 원할 때, 이러한 플래그 리스트는 검출된 캐시 (R) 에서 이를 찾기 위해 변경의 표시를 제공할 수도 있다.
캐시가 있는 대역폭 추정 (BWcache) 과 캐시가 없는 대역폭 추정 (BWserver) 사이의 비에 의존하여, 현재 청크 (In) 이 캐시 (R) 에 있고 다음 청크 (In+1) 가 없을 때, 현재의 값 미만으로 비트레이트를 선택하는 것은, 현재 청크 현재의 값 보다 더 열악한 수신 조건들을 가져올 수도 있음을 알 수 있다. 따라서, 결정 모듈 (9) 은 비캐시 패널티를 보상하기 위해 훨씬 더 낮은 비트레이트를 선택하도록 결정할 수도 있다.
본 발명에 따르면 그리고 도 6 에 도시된 바와 같이, 클라이언트 단말기 (C) 는 네트워크 (N2) 로부터의 주어진 멀티미디어 컨텐츠를 수신하기 위한 자신의 다운로딩 거동을 적응시키도록 구성된다. 특히, 클라이언트 단말기 (C) 는 하기의 단계들을 포함하는 다음의 적응성 방법 (AM) 을 구현할 수 있다:
- 주어진 표현 (r) 을 갖는 멀티미디어 컨텐츠의 제 1 청크 (In) 를 요청하는 단계 (단계 S0);
- 캐시 검출 메카니즘(들)(M1 및/또는 M2) 에 기초하여 클라이언트 단말기 (C) 와 원격 서버 (S) 사이에서, 상기 주어진 멀티미디어 컨텐츠를 포함하는 캐시 (R) 를 검출하는 단계 (단계 S1);
- 클라이언트 단말기 (C) 와 검출된 캐시 (R) 사이의 송신 경로의 대역폭 (BWcache) 을 추정하는 단계 (단계 S2);
- 캐시 (R) 가 단계 S1 에서 검출된 경우에, 위에 설명된 바와 같이, 결정 프로세스에 따라 성능 기준에 의존하여, 표현 (r', r') 을 가진 멀티미디어 컨텐츠의 다음 청크 (In+1) 를 요청하는 단계 (단계 S3).
본 발명으로 인하여, HTTP 적응성 스트리밍 클라이언트 단말기의 거동은 송신경로에 따라 캐시의 존재를 검출하기 위해 이에 따라 그 결정 프로세스를 조정하기 위해 적응될 수 있다. 엔드 유저의 체감 품질 (QoE) 이 개선될 수도 있다.
실제로, 요청된 청크 (In) (표현 (r) 의 청크 n) 가 검출된 캐시 (R) 에서 이미 존재하였을 때, 다음 청크 (표현 (r) 의 청크 (In+1)) 가 또한 동일한 레이트에서 캐시 (R) 에 로딩될 높은 가능성이 존재한다. 일부 경우들에서, 동일한 표현 (r) 을 유지하고 이 특정 청크 (표현 (r) 의 청크 (In+1)) 를 요청하는 것이 유리할 수도 있다. 이러한 경우에 명백한 이점은 캐시된 청크들의 재이용일 수도 있으며 이는 캐시 (R) 와 서버 (S) 사이의 트래픽의 상당한 감소 및 원활한 플레이백 경험을 가져온다. 캐시 (R) 의 존재의 정보에 기초하여 다른 결정들이 행해질 수 있다.
이외에, 또한, 검출된 캐시가 다음을 허용하는 게이트웨이 (GW) 의 내부 캐시에 대응할 수도 있음을 이해하여야 한다.
- 더 고속으로 다운로딩될 멀티미디어 컨텐츠의 이전에 요청된 청크들;
- 유저 경험을 향상시키기 위해 이들의 컨텐츠를 가진 게이트의 내부 캐시를 프로비져닝하는 오버-더-탑 오퍼레이터.
명세서, 청구항들 및 도면들에 개시된 참조문헌들은 임의의 적절한 조합들로 또는 독립적으로 제공될 수도 있다. 예를 들어, 피쳐는 적절한 경우 하드웨어, 소프트웨어 또는 이들의 둘의 조합으로 구현될 수도 있다.
클레임에 나타내어진 참조 번호들은 예시적인 목적일 뿐, 클레임들의 범위에 대하여 어떠한 제한 효과도 없다.
본 발명은 바람직한 실시형태로 설명되어 있지만, 발명적 기능적 실시 없이 그리고 당해 기술 분야의 당업자의 능력 내에서 다수의 변형예들 및 실시형태들이 이루어질 수도 있음이 명확하다. 따라서, 본 발명의 범위는 다음의 청구항들의 범위에 의해 정의된다.
본 발명의 청구항들에 있어서, 특정 기능을 수행하기 위한 수단으로서 표현되는 임의의 엘리먼트 (예를 들어, 캐시 검출기 (7), 대역폭 추정기 (8), 결정 모듈 (9) 등) 는 a) 그 기능을 수행하는 회로 엘리먼트들의 조합 (예를 들어, 하나 이상의 프로세서들) 또는 b) 따라서, 임의의 형태의 소프트웨어 (이에 따라 기능을 수행하는 그 소프트웨어를 실행하기 위한 적절한 회로와 결합된 펌웨어, 마이크로코드 등을 포함) 를 포함하여 그 기능을 수행하는 임의의 방식을 수반하도록 의도된다. 여러 언급된 수단에 의해 제공되는 기능들이 청구항이 청구하는 방식으로 함께 결합 및 유도되는 점에서 이러한 청구항들에 의해 정의되는 본 원리들이 존재한다. 따라서, 이들 기능들을 제공할 수 있는 임의의 수단이 여기에 나타낸 것들과 등가물인 것으로 간주된다.

Claims (14)

  1. 적어도 하나의 서버 (S) 로부터 멀티미디어 컨텐츠를 수신하도록 구성되는 클라이언트 단말기 (C) 의 다운로딩 거동을 적응시키는 방법으로서,
    상기 멀티미디어 컨텐츠의 적어도 하나의 표현이 상기 적어도 하나의 서버 (S) 에서 이용가능하고,
    상기 방법은:
    주어진 표현을 갖는 상기 멀티미디어 컨텐츠의 제 1 부분 (In) 을 요청하는 것 (S0);
    상기 제 1 부분 (In) 의 요청에 기초하여, 캐시 (R) 가 상기 클라이언트 단말기 (C) 와 서버 (S) 사이의 송신 경로를 따라 위치되는지를 검출하는 것 (S1); 및
    캐시 (R) 가 검출되는 경우에, 적어도 하나의 성능 기준에 의존하여, 표현을 갖는 상기 멀티미디어 컨텐츠의 제 2 부분 (In+1) 을 요청하는 것 (S3) 을 포함하는, 클라이언트 단말기 (C) 의 다운로딩 거동을 적응시키는 방법.
  2. 제 1 항에 있어서,
    검출된 상기 캐시 (R) 와 상기 클라이언트 단말기 (C) 사이의 송신 경로의 대역폭을 추정하는 것을 더 포함하는, 클라이언트 단말기 (C) 의 다운로딩 거동을 적응시키는 방법.
  3. 제 2 항에 있어서,
    상기 성능 기준에 따라, 상기 멀티미디어 컨텐츠의 요청된 상기 제 2 부분 (In+1) 은:
    상기 대역폭의 추정의 결과가 무엇이든 간에 검출된 상기 캐시 (R) 에 저장된 상기 제 1 부분 (In) 의 표현과 동일한 표현에 의해 정의되거나; 또는
    추정된 상기 대역폭을 고려한 대안의 표현으로서, 새로운 표현은 상기 제 1 부분 (In) 의 표현과는 상이한, 상기 대안의 표현에 의해 정의되는, 클라이언트 단말기 (C) 의 다운로딩 거동을 적응시키는 방법.
  4. 제 1 항 내지 제 3 항 중 어느 한 항에 있어서,
    상기 제 2 부분 (In+1) 이 검출된 상기 캐시 (R) 에 저장되지 않는 경우, 상기 제 2 부분 (In+1) 이 상기 캐시 (R) 로부터 이용가능하지 않음을 특정하는 메시지를 상기 클라이언트 단말기 (C) 가 수신하게 되도록, 상기 제 2 부분 (In+1) 의 요청은 검출된 상기 캐시 (R) 에 의해 해석 가능한, 정보의 피스를 포함하는, 클라이언트 단말기 (C) 의 다운로딩 거동을 적응시키는 방법.
  5. 제 1 항 내지 제 3 항 중 어느 한 항에 있어서,
    검출된 상기 캐시 (R) 로부터의 상기 멀티미디어 컨텐츠의 다운로딩이 적어도 하나의 다운로딩 기준을 충족하는 경우에, 상기 제 1 부분 (In) 의 표현과는 상이한 새로운 표현을 가진 상기 멀티미디어 컨텐츠의 추가의 부분 (Ik) 을 요청하는 것을 더 포함하는, 클라이언트 단말기 (C) 의 다운로딩 거동을 적응시키는 방법.
  6. 제 1 항 내지 제 3 항 중 어느 한 항에 있어서,
    상기 캐시 (R) 를 검출하는 것은, 상기 클라이언트 단말기 (C) 로부터 서버 (S) 로의 접속 확립 요청에 대한 라운드 트립 시간 (TCP-RTT) 을 결정하는 것을 더 포함하는, 클라이언트 단말기 (C) 의 다운로딩 거동을 적응시키는 방법.
  7. 제 6 항에 있어서,
    상기 캐시 (R) 를 검출하는 것은, 상기 멀티미디어 컨텐츠의 제 1 부분 (In) 에 대한 요청의 방출과 요청된 상기 제 1 부분 (In) 의 수신의 시작 사이의 수신 지연을 측정하는 것을 더 포함하는, 클라이언트 단말기 (C) 의 다운로딩 거동을 적응시키는 방법.
  8. 제 7 항에 있어서,
    상기 캐시 (R) 를 검출하는 것은, 측정된 상기 수신 지연과 상기 접속 확립 요청의 결정된 상기 라운드 트립 시간 (TCP-RTT) 을 비교하는 것을 더 포함하는, 클라이언트 단말기 (C) 의 다운로딩 거동을 적응시키는 방법.
  9. 제 7 항에 있어서,
    상기 캐시 (R) 를 검출하는 것은,
    상기 클라이언트 단말기 (C) 로부터 서버 (S) 로의 에코 요청의 방출과 상기 에코 요청에 대한 응답의 수신 사이의 응답 시간을 측정하는 것; 및
    상기 응답 시간과, 상기 접속 확립 요청의 결정된 상기 라운드 트립 시간 (TCP-RTT) 을 비교하는 것을 더 포함하는, 클라이언트 단말기 (C) 의 다운로딩 거동을 적응시키는 방법.
  10. 적어도 하나의 서버 (S) 로부터 멀티미디어 컨텐츠를 수신하는 다운로딩 거동을 적응시키도록 구성되는 단말기로서,
    상기 멀티미디어 컨텐츠의 적어도 하나의 표현이 상기 적어도 하나의 서버 (S) 에서 이용가능하고,
    상기 단말기는:
    주어진 표현을 갖는 상기 멀티미디어 컨텐츠의 제 1 부분 (In) 을 요청하는 통신 모듈 (3);
    상기 제 1 부분 (In) 의 요청에 기초하여, 캐시 (R) 가 클라이언트 단말기 (C) 와 서버 (S) 사이의 송신 경로를 따라 위치되는지를 검출하는 캐시 검출기 (7); 및
    캐시 (R) 가 검출되는 경우, 적어도 하나의 성능 기준에 의존하여 표현을 갖는 상기 멀티미디어 컨텐츠의 제 2 부분 (In+1) 을 요청하는 결정 모듈 (9) 을 포함하는, 멀티미디어 컨텐츠를 수신하는 다운로딩 거동을 적응시키도록 구성되는 단말기.
  11. 제 10 항에 있어서,
    검출된 상기 캐시와 상기 단말기 사이의 송신 경로의 대역폭을 추정하는 대역폭 추정기를 더 포함하는, 멀티미디어 컨텐츠를 수신하는 다운로딩 거동을 적응시키도록 구성되는 단말기.
  12. 제 11 항에 있어서,
    상기 성능 기준에 따르면, 상기 멀티미디어 컨텐츠의 요청된 상기 제 2 부분 (In+1) 은:
    상기 대역폭의 추정의 결과가 무엇이든, 검출된 상기 캐시 (R) 에 저장된 상기 제 1 부분 (In) 의 표현과 동일한 표현; 또는
    추정된 상기 대역폭을 고려한 대안의 표현으로서, 새로운 표현은 상기 제 1 부분 (In) 의 표현과는 상이한, 상기 대안의 표현
    으로 정의되는, 멀티미디어 컨텐츠를 수신하는 다운로딩 거동을 적응시키도록 구성되는 단말기.
  13. 제 10 항 내지 제 12 항 중 어느 한 항에 있어서,
    상기 제 2 부분 (In+1) 의 요청은 검출된 상기 캐시 (R) 에 의해 이해가능한 정보의 피스를 포함하여, 상기 제 2 부분 (In+1) 이 검출된 상기 캐시 (R) 에 저장되지 않은 경우, 상기 제 2 부분 (In+1) 이 상기 캐시 (R) 로부터 이용가능하지 않음을 특정하는 메시지를 상기 클라이언트 단말기 (C) 가 수신하게 되는, 멀티미디어 컨텐츠를 수신하는 다운로딩 거동을 적응시키도록 구성되는 단말기.
  14. 제 10 항 내지 제 12 항 중 어느 한 항에 있어서,
    상기 단말기는 또한, 검출된 상기 캐시 (R) 로부터의 상기 멀티미디어 컨텐츠의 다운로딩이 적어도 하나의 다운로딩 기준을 충족하는 경우, 상기 제 1 부분 (In) 의 표현과는 상이한 새로운 표현을 가진 상기 멀티미디어 컨텐츠의 추가의 부분 (Ik) 을 요청하도록 구성되는, 멀티미디어 컨텐츠를 수신하는 다운로딩 거동을 적응시키도록 구성되는 단말기.


KR1020157036157A 2013-06-28 2014-06-12 멀티미디어 컨텐츠를 수신하도록 구성되는 클라이언트 단말기의 다운로딩 거동을 적응시키는 방법 및 대응 단말기 KR102197974B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP13305910.5A EP2819379A1 (en) 2013-06-28 2013-06-28 Method for adapting the downloading behavior of a client terminal configured to receive multimedia content, and corresponding terminal
EP13305910.5 2013-06-28
PCT/EP2014/062220 WO2014206749A1 (en) 2013-06-28 2014-06-12 Method for adapting the downloading behavior of a client terminal configured to receive multimedia content, and corresponding terminal.

Publications (2)

Publication Number Publication Date
KR20160026886A KR20160026886A (ko) 2016-03-09
KR102197974B1 true KR102197974B1 (ko) 2021-01-04

Family

ID=48808270

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020157036157A KR102197974B1 (ko) 2013-06-28 2014-06-12 멀티미디어 컨텐츠를 수신하도록 구성되는 클라이언트 단말기의 다운로딩 거동을 적응시키는 방법 및 대응 단말기

Country Status (10)

Country Link
US (1) US11057445B2 (ko)
EP (2) EP2819379A1 (ko)
JP (1) JP6337105B2 (ko)
KR (1) KR102197974B1 (ko)
CN (1) CN105340245B (ko)
AU (1) AU2014301454B2 (ko)
BR (1) BR112015032678B1 (ko)
HK (1) HK1224459A1 (ko)
TW (1) TWI661717B (ko)
WO (1) WO2014206749A1 (ko)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016149863A1 (zh) * 2015-03-20 2016-09-29 华为技术有限公司 流媒体资源的下载方法、装置和终端设备
US10887371B2 (en) 2015-09-14 2021-01-05 Google Llc Systems and methods for content storage and retrieval
GB2545397A (en) * 2015-12-07 2017-06-21 Fujitsu Ltd A communications system, user apparatus, content source and method for secure content delivery
US10389785B2 (en) * 2016-07-17 2019-08-20 Wei-Chung Chang Method for adaptively streaming an audio/visual material
US20180176116A1 (en) * 2016-12-15 2018-06-21 Man Wai Ip Method and system for determining optimized paths of client devices
JP6247782B1 (ja) * 2017-02-15 2017-12-13 パナソニック株式会社 端末装置、映像配信システムおよび映像配信方法
JP6271072B1 (ja) * 2017-10-10 2018-01-31 パナソニック株式会社 端末装置、映像配信システムおよび映像配信方法
EP3633999A1 (en) * 2018-10-05 2020-04-08 InterDigital CE Patent Holdings Method to be implemented at a device able to run one adaptive streaming session, and corresponding device
US11622164B2 (en) 2019-07-12 2023-04-04 Carrier Corporation System and method for streaming video/s
EP4038888A1 (en) * 2019-10-01 2022-08-10 Streamonkey GmbH Server-side adaptive media streaming
GB2588930A (en) * 2019-11-14 2021-05-19 British Broadcasting Corp Multimedia system & method

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006100684A2 (en) * 2005-03-24 2006-09-28 Rsa Security Inc. System and method for detecting a proxy between a client and a server
US20100235472A1 (en) * 2009-03-16 2010-09-16 Microsoft Corporation Smooth, stateless client media streaming

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6067545A (en) * 1997-08-01 2000-05-23 Hewlett-Packard Company Resource rebalancing in networked computer systems
CN1965309B (zh) * 2004-01-09 2010-11-17 Npx科技有限公司 中继设备确定方法和系统
JP4020091B2 (ja) 2004-03-10 2007-12-12 日本電気株式会社 データ送受信システム、データ送受信方法およびデータ送受信プログラム
US7715330B2 (en) * 2005-10-06 2010-05-11 International Business Machines Corporation System and method for optimizing the topology of a virtual ring based upon a TCP/IP network
US7693157B2 (en) 2006-04-25 2010-04-06 Microsoft Corporation Quality of service support for A/V streams
US9432433B2 (en) 2006-06-09 2016-08-30 Qualcomm Incorporated Enhanced block-request streaming system using signaling or block creation
US20080209053A1 (en) 2007-02-28 2008-08-28 Microsoft Corporation HTTP-Based Peer-to-Peer Framework
CN101938508B (zh) * 2009-07-01 2013-01-02 中国电信股份有限公司 对等网络流媒体直播系统中延时减小的方法和系统
EP2410743A1 (en) 2010-07-23 2012-01-25 Alcatel Lucent Method for transferring video chunks, server entity, client entity and intermediate network entity realizing such a method
US8683013B2 (en) 2011-04-18 2014-03-25 Cisco Technology, Inc. System and method for data streaming in a computer network
EP2525587B1 (en) 2011-05-17 2017-07-05 Alcatel Lucent Method for streaming video content, node in a network for monitoring video content streaming
CN102333089A (zh) 2011-09-26 2012-01-25 南京邮电大学 基于超文本传输协议流化的多码率媒体流自适应控制方法
JP6236459B2 (ja) * 2012-10-19 2017-11-22 インターデイジタル パテント ホールディングス インコーポレイテッド Httpストリーミングのための多仮説レート適合

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006100684A2 (en) * 2005-03-24 2006-09-28 Rsa Security Inc. System and method for detecting a proxy between a client and a server
US20100235472A1 (en) * 2009-03-16 2010-09-16 Microsoft Corporation Smooth, stateless client media streaming

Also Published As

Publication number Publication date
TW201505426A (zh) 2015-02-01
EP3014854B1 (en) 2020-05-06
JP6337105B2 (ja) 2018-06-06
EP3014854A1 (en) 2016-05-04
TWI661717B (zh) 2019-06-01
HK1224459A1 (zh) 2017-08-18
AU2014301454A1 (en) 2016-02-11
CN105340245A (zh) 2016-02-17
KR20160026886A (ko) 2016-03-09
BR112015032678A2 (pt) 2017-07-25
BR112015032678B1 (pt) 2023-03-14
EP2819379A1 (en) 2014-12-31
JP2016533569A (ja) 2016-10-27
WO2014206749A1 (en) 2014-12-31
US20170126765A1 (en) 2017-05-04
CN105340245B (zh) 2018-12-28
AU2014301454B2 (en) 2018-05-10
US11057445B2 (en) 2021-07-06

Similar Documents

Publication Publication Date Title
KR102197974B1 (ko) 멀티미디어 컨텐츠를 수신하도록 구성되는 클라이언트 단말기의 다운로딩 거동을 적응시키는 방법 및 대응 단말기
US20150200992A1 (en) Method for downloading, at a client terminal, an upcoming sequence of segments of a multimedia content, and corresponding terminal
US20160330500A1 (en) Method for obtaining network information by a client terminal configured for receiving a multimedia content divided into segments
KR20160028985A (ko) 적어도 2 개의 연속 세그먼트들로 스플릿되는 멀티미디어 컨텐츠를 수신하기 위한 방법 및 클라이언트 단말, 그리고 대응하는 컴퓨터 프로그램 제품 및 컴퓨터 판독가능 매체
KR20160134802A (ko) 클라이언트 단말기들과 적어도 하나의 서버 사이의 전송 경로를 따라 배열된 캐시를 동작시키기 위한 방법, 및 대응하는 캐시
EP2928145A1 (en) Method for estimating a bandwidth associated with a connection between a client terminal and at least one server, corresponding client terminal
CN106464738B (zh) 用于操作网络设备的方法及相应的网络设备
US20160352857A1 (en) Method for adapting the behavior of a cache, and corresponding cache
KR102212973B1 (ko) 멀티미디어 컨텐츠의 컨텐츠 부분을 클라이언트 단말기, 대응 캐시에 제공하는 방법
KR102237900B1 (ko) 클라이언트 단말에 의해 멀티미디어 콘텐츠의 콘텐츠 부분을 검색하기 위한 방법
TW201501526A (zh) 提供多媒體內容之內容部分至用戶端之方法及對應之快取
US20160164996A1 (en) Method for adapting the behavior of a cache and corresponding cache
EP2894871A1 (en) Method for obtaining a network information by a client terminal configured for receiving a multimedia content divided into segments
EP2958301A1 (en) Method for operating a cache arranged along a transmission path between a client terminal and at least one server, and corresponding cache
GB2588930A (en) Multimedia system & method
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
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant