KR102355325B1 - 적응형 스트리밍 클라이언트에 대해 대역폭을 예약하기 위한 방법 및 디바이스 - Google Patents

적응형 스트리밍 클라이언트에 대해 대역폭을 예약하기 위한 방법 및 디바이스 Download PDF

Info

Publication number
KR102355325B1
KR102355325B1 KR1020167011061A KR20167011061A KR102355325B1 KR 102355325 B1 KR102355325 B1 KR 102355325B1 KR 1020167011061 A KR1020167011061 A KR 1020167011061A KR 20167011061 A KR20167011061 A KR 20167011061A KR 102355325 B1 KR102355325 B1 KR 102355325B1
Authority
KR
South Korea
Prior art keywords
client
bandwidth
transient
data rate
streaming content
Prior art date
Application number
KR1020167011061A
Other languages
English (en)
Other versions
KR20160077077A (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
Priority claimed from EP20130306478 external-priority patent/EP2869523A1/en
Application filed by 인터디지털 씨이 페이튼트 홀딩스, 에스에이에스 filed Critical 인터디지털 씨이 페이튼트 홀딩스, 에스에이에스
Publication of KR20160077077A publication Critical patent/KR20160077077A/ko
Application granted granted Critical
Publication of KR102355325B1 publication Critical patent/KR102355325B1/ko

Links

Images

Classifications

    • H04L65/605
    • 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/75Media network packet handling
    • H04L65/765Media network packet handling intermediate
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0876Network utilisation, e.g. volume of load or congestion level
    • H04L43/0882Utilisation of link capacity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/52Queue scheduling by attributing bandwidth to queues
    • H04L47/522Dynamic queue service slot or variable bandwidth allocation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • H04L47/72Admission control; Resource allocation using reservation actions during connection setup
    • 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/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/752Media network packet handling adapting media to network capabilities
    • 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]

Landscapes

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

Abstract

본 발명은, 적어도 하나의 네트워크에 속하며 적어도 하나의 서버로부터 스트리밍 컨텐츠를 수신하도록 구성된 적응형 스트리밍 클라이언트에 대해 대역폭을 예약하기 위한 디바이스에 관한 것이고, 스트리밍 컨텐츠는 서버에서 하나보다 많은 데이터 레이트에서 이용가능하고, 상기 디바이스는, 상기 클라이언트에 의해 요청된 적어도 하나의 스트리밍 컨텐츠를 검출하도록 구성된 스트림 식별기(12); 및 적어도 하나의 이벤트가 발생할 때, 과도 마진 및 요청된 스트리밍 컨텐츠와 연관되는 미리 결정된 타겟 데이터 레이트에 종속하여, 클라이언트에 대해, 과도 대역폭을 일시적으로 예약하도록 구성된 대역폭 관리자(13)를 포함한다.

Description

적응형 스트리밍 클라이언트에 대해 대역폭을 예약하기 위한 방법 및 디바이스{METHOD AND DEVICE FOR RESERVING BANDWIDTH FOR AN ADAPTIVE STREAMING CLIENT}
본 발명은 일반적으로 비디오 스트리밍 컨텐츠 분배에 관한 것이며, 특히 비디오 스트리밍 컨텐츠에 의해 이용되는 대역폭을 제어하기 위한 방법에 관한 것이다.
본 섹션은, 아래에서 설명되고 그리고/또는 주장되는 본 발명의 다양한 양태들과 관련될 수 있는 분야의 다양한 양태들을 독자에게 소개하도록 의도된다. 본 논의는, 본 발명의 다양한 양태들의 더 양호한 이해를 용이하게 하기 위한 배경 정보를 독자에게 제공하는데 도움이 되는 것으로 믿어진다. 따라서, 이러한 서술은, 종래 기술의 인정이 아닌, 이러한 관점으로 판독되어야 하는 것으로 이해해야 한다.
HTTP 적응형 기술들은, 인터넷에서 오버더톱(over the top) 시청각적 전달의 제공을 허용하기 위해 다양한 이해관계자들에 의해 푸시된다. 이러한 기술들은, 클라이언트 단말이 작은 연속적인 세그먼트들(수 초 길이), 소위 청크(chunk)의 형태로 비디오를 수신하도록 허용한다. 각각의 세그먼트는 HTTP 프로토콜을 통해 요청되고, 상이한 변형들(소위 표현들)로 존재할 수 있어서, 클라이언트 단말이 임의의 시간에, 네트워크 및 디바이스 제약들에 매칭하는 적절한 비트 레이트를 선택하도록 허용한다.
이미 이용되고 있는 HTTP 적응형 스트리밍(HAS) 프로토콜들 중, 가장 유명한 것은, Apple의 HLS(HTTP Live Streaming), Microsoft의 SSS(Silverlight Smooth Streaming), Adobe의 ADS(Adobe Dynamic Streaming), 및 SA4 그룹 내의 3GPP에 의해 개발된 DASH(Dynamic Adaptive Streaming over HTTP)이다. 이러한 기존의 HTTP 적응형 스트리밍 기술들은 매니페스트(manifest) 파일 포맷에서 상이하고, 상기 매니페스트는, 세그먼트들, 지원되는 코덱들 및 컨텐츠 보호 기술들에서 컨텐츠의 이용가능한 표현들의 조직화인 컨텐츠 옵션들(비트 레이트, 이미지 차원들, 프레임 레이트...)을 설명하는 메타-데이터를 제공한다.
특히, 클라이언트 단말이 오디오/비디오 컨텐츠를 플레이하기를 원하는 경우, 클라이언트 단말은 먼저, 이러한 특정 컨텐츠가 어떻게 획득될 수 있는지를 설명하는 이러한 매니페스트를 획득해야 한다. 이는, URL로부터 일부 '파일'을 획득함으로써 HTTP를 통해 행해진다. 이러한 매니페스트 파일은, (비트 레이트 및 다른 특성들의 측면에서) 컨텐츠의 이용가능한 표현들, 및 각각의 표현에 대해 각각의 시간 슬라이스 동안 컨텐츠 청크들의 로딩을 허용하는 URL들을 나열한다. 주문형 비디오(VoD)의 경우, A/V 컨텐츠의 전체 설명이 제공되는 한편, 라이브 컨텐츠(예를 들어, TV 컨텐츠)의 경우, 설명은 오직 짧은 시간 기간만을 커버하고, 시간이 경과하는 경우 새로운 항목들을 발견하기 위해 주기적으로 재로딩될 필요가 있다.
클라이언트 단말의 능력들 및 클라이언트 단말이 네트워킹 환경으로부터 갖는 지식에 종속하여, 클라이언트 단말은 (예를 들어, 표현의 비트 레이트에 기초하여) 하나의 표현을 선택하고, 컨텐츠의 제1 청크(들)를 로딩한다. 클라이언트 단말은 네트워크 장애에 대처할 수 있기 위해 몇몇 청크들을 버퍼링한다. 그 다음, A/V 컨텐츠는 각각의 수신된 청크들로부터 차례로 플레이된다. 이와 동시에, 클라이언트 단말은 수신 레이트를 측정하고, 더 높거나 더 낮은 비트 레이트를 선택하는 것으로 판단할 수 있다. 이러한 경우, 클라이언트 단말은 단지 다른 표현으로부터 다음 청크(들)를 요청한다. 모든 HTTP 스트리밍 기술은, 클라이언트 단말이 주어진 비트 레이트를 갖는 청크로부터 다른 비트 레이트를 갖는 다음 청크로 이동하면서 연속적인 플레이를 유지하는 것을 가능하게 한다. 이러한 방식으로, A/V 컨텐츠가 수신되는 레이트에 대해 네트워크 상의 경합하는 트래픽이 변동들을 도입시키는 경우, 클라이언트 단말은, 버퍼 채움(buffer filling)을 안전한 레벨까지 유지하는 것을 허용하는 비트 레이트를 갖는 청크들을 선택함으로써 반응하고 적응할 수 있다. 실제로, 클라이언트 단말은, 최종 사용자에게 양호한 시청 품질을 제공하기 위해 가능한 최고 비트 레이트에 도달하려 시도하는 한편, 렌더링이 데이터의 늦은 수신을 겪어서 매크로-차단들 또는 영상 동결들을 초래하지 않을 레벨로 유지한다.
더 상세하게, HAS 플레이어는 통상적으로 서비스 제공자 애플리케이션으로부터 이용가능하게 되고, 사용자에 의해 다운로딩될 수 있다. 적응형 스트리밍 플레이어는 다음의 3가지 핵심적 기능들을 수반한다.
- 청크 요청 스케줄링. 2개의 요청 전략들이 일반적으로 구현된다. 플레이어 버퍼를 구축하기 위한 초기 램프-업 상태 동안 이용되는 즉시 다운로드 및 일정한 플레이백 버퍼를 유지하기 위해 정상 상태에서 이용되는 주기적 다운로드. 플레이어의 초기 상태들에 종속하여, 주기적 다운로드는, 차선의 시간 할당을 야기하여, CoNext 2012, Junchen Jiang 등의 "Improving Fairness, Efficiency, and Stability in HTTP-based Adaptive Video Streaming with FESTIVE"에서 설명된 바와 같이, 다른 스트림을 갖는 대역폭에 대해 HAS 스트림이 경합하는 경우 대역폭 할당에서의 불공정을 초래할 수 있다;
- 비트 레이트 선택. 기본적 전략은, 보수적으로, 추정된 대역폭보다는 작은 최고 이용가능한 비트 레이트를 선택하는 것이다. 선택 알고리즘의 보수성은, 추정된 대역폭의 값과 허용되는 최대 요청된 비트 레이트의 값 사이에서 취해진 마진에 따라 평가될 것이다. 보수적 값은 퍼센티지로 표현될 수 있다;
- 대역폭 추정. 대역폭 추정은, 순시 스루풋(즉, 다운로드 크기를 다운로드 시간으로 나눈 것)에 기초한다. 대부분의 상업적 플레이어들은 필터링 기술들을 이용하여 추정을 개선한다. 그 다음, 현재의 추정은, 추정의 다이나믹을 평활화하기 위해 마지막 수개의 관측들에 걸쳐 평균화된다.
이러한 HAS 기술들은, 기존의 기술들에 비해 타당하게 양호하게 동작하는 것으로 입증되었지만, 최근의 작업들에서는, 일부 특정한 도전적 환경들(즉, 다른 HAS 클라이언트와 또는 병목현상에 있는 다른 TCP 플로우와의 경합)에서, HAS 구현들이 심각한 안정성, 공정성 및 효율 문제들을 겪을 수 있는 것으로 판명되었다.
특히, 대역폭에 대해 경합하는 2개의 HAS 클라이언트들은 예측불가능한 결과들을 초래하여 궁극적으로 사용자 경험을 위협하는 것으로 관측되었다. 또한, HAS 단말들은, 그리디(greedy) TCP 플로우(예를 들어, 벌크 전송)와 경합하는 경우 대역폭의 공정한 공유를 되찾지 못하는 것으로 나타나는데, 이는, 대역폭이 평가되지 않고 그 다음 잠재적으로 과소평가되는 OFF 기간들을 초래하는, 단말들의 주기적인 다운로드 프로파일 때문이다. 또한, 특히 이러한 OFF 기간들 동안, 다른 TCP 플로우가 대역폭을 차지할 기회를 가질 수 있다.
마지막으로, 정상 상태 동안, HAS 클라이언트 단말들은 주어진 타겟 레이트(예를 들어, 20%의 보수적 값)를 유지하기 위해 주어진 대역폭 보수성을 적용하여, HTTP 스트리밍은 제공된 대역폭의 100%를 채우지 못하여 대역폭의 과소활용을 초래한다.
또한, 컨버전스가 효율을 평가하는 중요한 기준이며 초기 상태들에 종속하는 것이 본 출원인에 의해 관측되었다. 컨버전스 시간은 현재 결정적이 아니고 긴 시간일 수 있어서, 열악한 사용자 경험 및 잠재적으로 차선의 대역폭 사용을 초래한다.
본 발명은, 적어도, 스트리밍 컨텐츠의 컨버전스를, 정의된 타겟 레이트로 개선하기 위해, 상기 언급된 사항들의 적어도 일부를 처리하려 시도한다.
본 발명은, 적어도 하나의 네트워크에 속하며 적어도 하나의 서버로부터 스트리밍 컨텐츠를 수신하도록 구성된 적응형 스트리밍 클라이언트에 대해 대역폭을 예약하기 위한 방법에 관한 것이고 - 스트리밍 컨텐츠는 서버에서 하나보다 많은 데이터 레이트에서 이용가능함 -, 이 방법은, 적어도 하나의 이벤트가 발생할 때, 과도 마진(transient margin) 및 클라이언트에 의해 요청된 스트리밍 컨텐츠와 연관되는 미리 결정된 타겟 데이터 레이트에 종속하여, 클라이언트에 대해, 과도 대역폭(transient bandwidth)을 예약하는 단계를 포함한다는 점에서 주목할 만하다.
본 발명의 덕분에, 스타트업 시에 요청된 스트리밍 컨텐츠에 할당되는 대역폭을 일시적으로 광범위하게 개방함으로써, 타겟 데이터 레이트로의 스트리밍 클라이언트의 컨버전스를 개선하기 위해, 적응형 스트리밍 클라이언트의 초기 상태들이 수정되고/되거나 영향받을 수 있다. 컨버전스 시간을 감소시키고 안정성을 강제하기 위해, 본 발명은 적어도 클라이언트 과도 상태 동안 과도 대역폭을 할당하는 것을 제안한다. 본 출원인은, HAS 스트리밍 컨텐츠에 대해 대역폭이 더 많이 (예를 들어, 주어진 한계까지) 예약될수록 컨버전스가 더 빨라지는 것을 관측하였다. 또한, 적응형 스트리밍 클라이언트의 컨버전스가 더 빠를 때, 적응형 스트리밍 세션의 전체 지속기간에 대한 안정성 및 공정성이 강제된다.
바람직한 실시예에 따르면, 상기 과도 마진은, 다음의 파라미터들, 즉,
- 상기 네트워크의 전체 이용가능한 대역폭;
- 상기 스트리밍 컨텐츠와 연관되는 결정된 타겟 데이터 레이트;
- 네트워크 대역폭을 공유하는 경합 스트림들;
- 상기 스트리밍 컨텐츠의 우선순위; 및
- 상기 적응형 스트리밍 클라이언트의 보수적 값
중 적어도 하나에 종속한다.
특히, 상기 적응형 스트리밍 클라이언트가 보수적 값을 이용할 때, 과도 마진은 상기 보수적 값보다 더 큰 것이 유리하다.
또한, 과도 대역폭은 바람직하게는 타겟 데이터 레이트와 보수적 값을 더한 것보다 더 클 수 있고, 타겟 데이터 레이트보다 더 높은 적어도 하나의 다른 데이터 레이트가 서버에서 이용가능할 때, 클라이언트가 더 높은 데이터 레이트로 스위칭하는 것을 방지하기 위해, 과도 대역폭은 바람직하게는 상기 더 높은 데이터 레이트와 적응형 스트리밍 클라이언트의 보수적 값을 더한 것보다 더 작다.
본 발명의 다른 양태에서, 타겟 데이터 레이트는 서버에 의해 제공되는 최고 데이터 레이트일 때, 과도 마진은, 네트워크의 전체 이용가능한 대역폭과 타겟 데이터 레이트 사이의 차이 이하일 수 있다.
본 발명의 추가적인 양태에서, 상기 과도 대역폭은, 상기 클라이언트의 버퍼의 채움 속도 또는 채움 레이트(또한 채움 상태로 지칭됨)에 종속하는 과도 기간 동안 적응형 스트리밍 클라이언트에 대해 예약될 수 있다.
더 상세하게는, 상기 클라이언트는 스트리밍 컨텐츠를 데이터의 연속적인 청크들의 형태로 수신하고, 과도 기간은, 클라이언트 버퍼가 채워지면, 즉, 예를 들어,
- 상기 클라이언트 버퍼에서 로딩되는 청크들의 개수가, 적응형 스트리밍 클라이언트에 의해 플레이되는 것으로 가정되는 청크들의 개수와 버퍼 길이를 더한 것을 초과할 때; 또는
- 청크 요청 빈도가 청크의 지속기간과 동일할 때
종료될 수 있다.
또한, 상기 이벤트는, 다음의 이벤트들의 그룹, 즉,
- 적응형 스트리밍 클라이언트에 의한 스트리밍 컨텐츠의 수신의 시작;
- 네트워크 상태들의 (바람직하게는 현저한) 변화; 및
- 다른 스트림의 수신의 중단
의 그룹에 속한다.
게다가, 본 발명은 또한, 적어도 하나의 네트워크에 속하며 적어도 하나의 서버로부터 스트리밍 컨텐츠를 수신하도록 구성된 적응형 스트리밍 클라이언트에 대해 대역폭을 예약하기 위한 디바이스에 관한 것이고, 스트리밍 컨텐츠는 서버에서 하나보다 많은 데이터 레이트에서 이용가능하다. 본 발명에 따르면, 상기 디바이스는,
- 상기 클라이언트에 의해 요청된 적어도 하나의 스트리밍 컨텐츠를 검출하도록 구성된 스트림 식별기;
- 대역폭 관리자
를 포함하고, 대역폭 관리자는,
■ 클라이언트에 의해 요청된 스트리밍 컨텐츠와 연관되는 타겟 데이터 레이트를 결정하고,
■ 적어도 하나의 이벤트가 발생할 때, 과도 마진 및 결정된 타겟 데이터 레이트에 종속하여, 클라이언트에 대해, 과도 대역폭을 일시적으로 예약하도록 구성된다.
또한, 상기 디바이스는, 다음의 이벤트들의 그룹, 즉
- 적응형 스트리밍 클라이언트에 의한 스트리밍 컨텐츠의 수신의 시작;
- 네트워크 상태들의 변화; 및
- 다른 스트림의 수신의 중단
의 그룹에 속하는 상기 이벤트를 검출하도록 구성된다.
또한, 상기 적응형 스트리밍 클라이언트는 보수적 값을 이용하고, 과도 마진은 바람직하게는 보수적 값보다 더 크다.
타겟 데이터 레이트보다 더 높은 적어도 하나의 다른 이용가능한 데이터 레이트가 서버에서 이용가능할 때, 클라이언트가 더 높은 데이터 레이트로 스위칭하는 것을 방지하기 위해, 과도 대역폭은 바람직하게는, 상기 더 높은 데이터 레이트와 적응형 스트리밍 클라이언트의 보수적 값을 더한 것보다 더 작다.
상기 디바이스는, 예를 들어, 게이트웨이 또는 라우터일 수 있다.
본 발명은 추가로, 통신 네트워크로부터 다운로딩가능하고/하거나 컴퓨터에 의해 판독가능한 그리고/또는 프로세서에 의해 실행가능한 매체 상에 기록된 컴퓨터 프로그램 제품에 관한 것이고, 상기 언급된 방법을 구현하기 위한 프로그램 코드 명령어들을 포함한다.
추가적으로, 본 발명은 또한 컴퓨터 프로그램 제품이 기록되어 있으며 프로세서에 의해 실행될 수 있는 비일시적인 컴퓨터 판독가능 매체에 관한 것이고, 앞서 설명된 방법을 구현하기 위한 프로그램 코드 명령어들을 포함한다.
개시된 실시예들과 범주에서 상응하는 특정 양태들이 아래에서 기술된다. 이러한 양태들은 단지, 본 발명이 취할 수 있는 특정 형태들의 간략한 요약을 독자에게 제공하기 위해 제시되며, 이러한 양태들은 본 발명의 범주를 제한하는 것으로 의도되지 않음을 이해해야 한다. 실제로, 본 발명은, 아래에서 기술되지 않을 수 있는 다양한 양태들을 포함할 수 있다.
본 발명은, 첨부 도면들을 참조하여, 제한적이지 않은 방식으로 다음의 실시예 및 실행 예들에 의해 양호하게 이해되고 예시될 것이다.
도 1은 본 발명이 구현될 수 있는 클라이언트-서버 네트워크 아키텍쳐의 개략도이다.
도 2는 도 1의 네트워크 아키텍쳐의 클라이언트 단말의 예의 블록도이다.
도 3은 본 발명의 바람직한 실시예에 따른 게이트웨이의 예의 블록도이다.
도 4는 바람직한 실시예에 따른 도 3의 게이트웨이에 의해 구현되는 대역폭 예약 방법의 단계들을 도시하는 흐름도이다.
도 2 및 도 3에서, 표현된 블록들은 순수하게 기능 엔티티들이고, 이들은 반드시 물리적으로 별개의 엔티티들에 대응하는 것은 아니다. 즉, 이들은, 소프트웨어나 하드웨어의 형태로 개발될 수 있거나, 또는 하나 이상의 프로세서들을 포함하는 하나의 또는 수개의 집적 회로들에서 구현될 수 있다.
가능한 곳마다, 동일하거나 유사한 부분들을 지칭하기 위해 도면들 전체에 걸쳐 동일한 참조 번호들이 이용될 것이다.
본 발명의 도면들 및 설명들은, 본 발명의 명백한 이해를 위해 관련된 엘리먼트들을 예시하기 위해 단순화된 한편, 명확화를 위해, 통상적인 디지털 멀티미디어 컨텐츠 전달 방법들 및 시스템들에서 발견되는 많은 다른 엘리먼트들을 제거했음을 이해해야 한다. 그러나, 이러한 엘리먼트들은 본 기술분야에서 널리 공지되기 때문에, 이러한 엘리먼트들의 상세한 논의는 본원에 제공되지 않는다.
바람직한 실시예에 따르면, 본 발명은, HTTP 적응형 스트리밍(소위 HAS) 프로토콜에 관해 서술된다. 당연히, 본 발명은 이러한 특정 환경에 제한되지 않으며, 다른 적응형 스트리밍 프로토콜이 물론 고려되고 구현될 수 있다.
도 1에 도시된 바와 같이, 본 발명이 구현될 수 있는 클라이언트-서버 네트워크 아키텍쳐는, 예를 들어, 2개의 클라이언트 단말들 C1 및 C2, 게이트웨이 GW 및 하나 이상의 HTTP 서버들 S(도 1에는 오직 하나만 표현됨)를 포함한다. 분명하게, 추가적인 클라이언트 단말들이 상기 아키텍쳐에 존재할 수 있다.
(기업 네트워크 또는 홈 네트워크와 같은) 로컬 네트워크 N1을 통해 게이트웨이 GW에 접속된 HTTP 적응형 스트리밍(HAS) 클라이언트 단말인 클라이언트 단말 C1은 (인터넷 네트워크와 같은) 광대역 네트워크 N2를 통해 HTTP 서버 S에 접속하기를 원한다. HAS 클라이언트 단말 C1은 주어진 보수적 값을 제시한다. 로컬 네트워크 N1은 게이트웨이 GW의 덕분에 광대역 네트워크 N2에 접속된다.
보수적 값은, 추정된 대역폭의 값과 선택된 요청된 비트 레이트의 값 사이에서 클라이언트 단말에 의해 취해진 최소 마진일 수 있다. 보수적 값은 추정된 대역폭의 퍼센티지로 표현될 수 있다.
HTTP 서버 S는, 클라이언트 요청 시에, 하나 이상의 TCP/IP 접속들을 통한 HAS 프로토콜을 이용하여, 클라이언트 단말 C1에 청크들을 스트리밍한다.
도 2에 설명된 바와 같이, 바람직한 실시예에 따르면, HAS 클라이언트 단말 C1은, 적어도,
- 로컬 네트워크 N1로의 LAN(Local Area Network) 접속 인터페이스(1)(유선 및/또는 무선, 예를 들어, Wi-Fi, 이더넷 등);
- HTTP 서버 S에 통신하기 위한 프로토콜 스택들을 포함하는 통신 모듈(2). 특히, 통신 모듈(2)은, 본 기술분야에서 널리 공지된 TCP/IP 스택을 포함한다. 물론, 통신 모듈은, 클라이언트 단말 C1이 HTTP 서버 S에 통신할 수 있게 하는 임의의 다른 타입의 네트워크 및/또는 통신 수단일 수 있다;
- HTTP 서버 S로부터 HTTP 스트리밍 멀티미디어 컨텐츠를 수신하는 적응형 스트리밍 모듈(3). 적응형 스트리밍 모듈은, 네트워크 제약들 및 자기 자신의 제약들에 더 양호하게 매칭하는 비트 레이트로 청크를 연속적으로 선택한다;
- 멀티미디어 컨텐츠를 디코딩 및 렌더링하도록 되어 있는 비디오 플레이어(4);
- 클라이언트 단말 C1의 비휘발성 메모리에 저장되는 애플리케이션들 및 프로그램들을 실행하기 위한 하나 이상의 프로세서(들)(5);
- HTTP 서버 S로부터 수신된 청크들을, 비디오 플레이어(4)로 송신 전에 버퍼링하도록 구성된 버퍼(6);
- 고유의 클라이언트 단말 기능들을 수행하기 위해 본 기술분야의 통상의 기술자에게 널리 공지된 다양한 모듈들 및 모든 수단들을 접속시키는 내부 버스 B1
을 포함한다.
바람직한 실시예에서, 클라이언트 단말 C1은 휴대용 미디어 디바이스, 모바일 폰, 태블릿 또는 랩톱이다. 당연히, 클라이언트 단말 C1은, 완전한 비디오 플레이어를 포함하는 것이 아니라 오직 일부 서브-엘리먼트들, 예를 들어, 미디어 컨텐츠를 디멀티플렉싱 및 디코딩하기 위한 서브-엘리먼트들만을 포함할 수 있고, 디코딩된 컨텐츠를 최종 사용자에게 디스플레이하기 위해 외부 수단에 의존할 수 있다. 이러한 경우, 클라이언트 단말 C1은, 셋톱 박스와 같은 HTTP 적응형 스트리밍 가능한 비디오 디코더이다.
또한, 바람직한 실시예의 게이트웨이 GW는, 디지털 가입자 라인(DSL) 기술을 통해 로컬 네트워크 N1에 인터넷 광대역 액세스를 제공하는 DSL 게이트웨이이다. 물론, 게이트웨이는, 케이블, 섬유 또는 무선과 같은 임의의 타입의 광대역 게이트웨이일 수 있다.
도 3에 도시된 바와 같이, 게이트웨이 GW는,
- 로컬 네트워크 N1로의 LAN 접속 인터페이스(7)(유선 및/또는 무선, 예를 들어, Wi-Fi, 이더넷 등);
- 광대역 네트워크 N2로의 광대역 접속 인터페이스(8)(유선 및/또는 무선); 및
- 접속 인터페이스들(7 및 8)을 통해 통신하기 위한 프로토콜 스택들을 포함하는 통신 모듈(9). 특히, 통신 모듈은, IP 스택으로 언급되는 인터넷 프로토콜 스택을 포함한다;
- 특히, 매니페스트(예를 들어, 플레이리스트 또는 XML 파일들)로부터 추출되는 정보를 저장하도록 되어 있는 메모리(10);
- 게이트웨이 GW의 비휘발성 메모리에 저장되는 애플리케이션들 및 프로그램들을 실행하기 위한 하나 이상의 프로세서(들)(15);
- 고유의 상주 게이트웨이 기능들을 수행하기 위해 본 기술분야의 통상의 기술자에게 널리 공지된 다양한 모듈들 및 처리 수단들, 라우팅 및 브리지 수단들 및 모든 수단들을 접속시키는 내부 버스 B2
를 포함한다.
앞서 설명된 바와 같이, 적응형 스트리밍으로 멀티미디어 컨텐츠(예를 들어, 영화)를 플레이하기 위해, 클라이언트 단말 C1은 먼저, 서버 S로부터, 요청된 멀티미디어 컨텐츠의 (비트레이트 및 해상도 측면에서) 이용가능한 표현들을 나열하는 매니페스트를 획득할 필요가 있다. 이러한 매니페스트는 미리 생성되어 HTTP 서버들 S 상에 저장된다.
또한, 게이트웨이 GW는, 네트워크 상태들의 변화들을 식별하기 위한 네트워크 모니터링 유닛(11), 및 게이트웨이에서 수신되는 스트림들을 분석하도록 되어 있는 스트림 식별기(12)를 더 포함한다. 클라이언트 단말 C1이 서비스 요청을 발행할 때마다, 스트림 식별기(12)는 상기 요청을 식별하고, 서버 S에 의해 어나운스된 이용가능한 비트 레이트들 및 연관된 청크 URL들과 같은 정보를 분석 및 추출하기 위해, 서버 S로부터 상기 클라이언트 C1로 리턴되는 매니페스트를 인터셉트함으로써 서비스 정보를 수집한다. 매니페스트를 인터셉트하기 위해, 스트림 식별기(12)는 이용가능한 스트리밍 기술들 및 연관된 프로토콜들을 인식한다. 각각의 프로토콜에 대해, 스트림 식별기(12)는, 매니페스트를 전송하는 패킷의 타입을 인식한다. 예를 들어, 스트림 식별기(12)는 Apple HTTP Live Streaming, Microsoft Smooth Streaming 및 Adobe Open Source Media Framework 기술들을 인식한다. 물론, 스트림 식별기는 다른 스트리밍 기술들을 인식하도록 구성될 수 있다.
스트림 식별기(12)는 또한, 스트림이 게이트웨이 GW에서 언제 더 이상 수신되지 않는지를 식별한다. 예시적이며 비제한적인 예로서, 스트림이 미리 정의된 시간 기간 동안 수신되지 않는 경우, 스트림 식별기(12)는 세션이 종료된 것으로 간주할 수 있고, 이하 설명되는 바와 같이, 트래픽 제어 규칙들을 수정하고 그에 따라 대역폭 예약을 수정할 수 있는 게이트웨이 GW의 대역폭 관리자(13)에게 경고할 수 있다.
그 다음, 상기 대역폭 관리자(13)는, 스트림 식별기(12)에 의해 획득되는 정보를 수신하도록 되어 있다. 특히, 대역폭 관리자(13)는, 서비스가 승인되는지 판단하고, 서비스에 대해 타겟 비트레이트를 결정하여, 가능하게는, 이미 실행 중일 수 있는 다른 서비스들에 대한 타겟들을 동시에 변화시킨다. 대역폭 관리자(13)는, 게이트웨이 GW의 광대역 인터페이스(8) 상에서 이용가능한 최대 대역폭의 값을 측정한다.
특히, HAS 클라이언트 단말 C1이 서버 S에 스트리밍 컨텐츠를 요청하는 경우, 대역폭 관리자(13)는, 스트림 식별기(13)로부터 수신된 정보 및 추가적인 파라미터들(예를 들어, 이용가능한 네트워크 대역폭, 스트림의 우선순위, 클라이언트 단말의 보수적 값 등)에 기초하여 타겟 비트레이트 RT를 결정한 후, 요청된 스트리밍 컨텐츠와 연관되는 과도 대역폭 BWt를 결정 및 일시적으로 예약하며, 그 다음, 게이트웨이 GW의 스케줄러(14)를 구성한다.
스케줄러(14)는, 로컬 네트워크 N1에서 패킷들의 송신을 관리하도록 되어 있다. 특히, 각각의 HAS 스트림에는 독립적 큐가 할당되고, 독립적 큐에는 과도 기간 Dc 동안 정확하게 하나의 과도 대역폭 BWt, 그리고 스트림 수신의 종료까지 하나의 정상 대역폭(steady bandwidth) BWs가 할당된다.
과도 대역폭 BWt는, 과도 기간 Dc 동안 예약되고, 결정된 타겟 데이터 레이트 RT 및 과도 마진 mt에 종속한다. 더 구체적으로, 과도 대역폭 BWt는,
Figure 112016040298701-pct00001
에 대해,
Figure 112016040298701-pct00002
와 같이, 타겟 비트레이트 RT와 과도 마진 mt를 더한 것과 동일할 수 있고,
여기서, t는 시간이고 To는 스트리밍 컨텐츠의 수신의 시작이다.
유리하게, 과도 마진 mt는,
Figure 112016040298701-pct00003
에 대해,
Figure 112016040298701-pct00004
가 되도록, 보수적 값 Vc보다 크다(mt > Vc).
타겟 비트레이트 RT보다 더 높은 적어도 하나의 다른 비트레이트(RT+1로 언급됨)가 수신된 매니페스트에 나열되고 서버 S에서 이용가능할 때, 과도 대역폭 BWt는,
Figure 112016040298701-pct00005
가 되도록, 상기 더 높은 데이터 레이트 RT+1과 HAS 클라이언트 단말 C1의 보수적 값 Vc를 더한 것보다 더 작다.
다른 예시적인 예로서, 과도 대역폭 BWt는, 다음의 관계:
Figure 112016040298701-pct00006
에 대해,
Figure 112016040298701-pct00007
에 의해 획득될 수 있다.
당연히, 과도 대역폭을 결정하기 위해 다른 공식들이 이용될 수 있다.
과도 마진 mt는 다음의 파라미터들, 즉
- 광대역 네트워크(N2)의 전체 이용가능한 대역폭 BWTOTAL;
- HAS 클라이언트 단말 C1에 의해 요청된 상기 스트리밍 컨텐츠와 연관되는 결정된 타겟 데이터 레이트 RT;
- 네트워크 대역폭을 공유하는 경합 스트림들(예를 들어, 제2 클라이언트 C2에 의해 수신되는 스트림);
- 상기 스트리밍 컨텐츠의 우선순위;
- 상기 적응형 스트리밍 클라이언트 단말 C1의 보수적 값
중 하나 이상에 기초할 수 있다.
특히, 타겟 비트레이트 RT가 서버에 의해 제공된 (매니페스트에 나열된) 최고 비트레이트일 때, 과도 마진 mt는,
Figure 112016040298701-pct00008
가 되도록, 최대 전체 이용가능한 대역폭 BWTOTAL과 타겟 비트레이트 RT 사이의 차이와 동일하다.
바람직한 실시예에서, 대역폭 관리자(13)는, 광대역 인터페이스(8)에서 이용가능한 최대 대역폭의 값에 기초하여, 대역폭 예약을 결정한다. 대안적으로, 광대역 네트워크 N2의 광대역 인터페이스(8)에서 이용가능한 최대 대역폭 대신에, 대역폭 관리자(13)는, 로컬 네트워크 N1의 LAN 인터페이스에서 이용가능한 최대 대역폭을 고려할 수 있다. 그 다음, 대역폭 관리자는, 로컬 네트워크 N1에서 이용가능한 최대 대역폭의 값에 기초하여 대역폭 예약을 결정할 것이다. 이것은, 광대역 네트워크 N2 대신에 로컬 네트워크 N1에 병목현상이 존재하면 발생한다.
HAS 클라이언트 단말 C1이 자신의 요청된 스트리밍 컨텐츠를 서버 S로부터 수신하기 시작하는 경우, 대역폭 관리자(13)에 의한 과도 기간 Dc 동안의 과도 대역폭 BWt의 예약이 설명되었지만, 이러한 과도 대역폭 예약은 또한, 네트워크 상태들의 큰 변화(특히 HAS 클라이언트 C1에 대한 대역폭 부분의 증가) 또는 HAS 클라이언트 단말 C1에 할당된 대역폭 부분의 증가를 초래하는 다른 스트림의 수신의 중단에 의해 대역폭 공유가 수정되어야 하는 경우에도 수행될 수 있다. (예를 들어, 게이트웨이 GW에 의해 전송되는) 대응하는 메시지에 의해 식별되는 이러한 이벤트들은, 정상 상태로의 컨버전스를 가속하기 위해, HAS 클라이언트 단말 C1에 대한 대역폭의 과도한 부분의 일시적 승인을 트리거링한다. 즉, 이러한 이벤트는, 클라이언트 단말 C1에 의한 연관된 메시지의 수신 시에 검출된다.
또한, 과도 기간 Dc는 대역폭 관리자(13)에 의해 미리 설정될 수 있고, 예를 들어, 고정 값(예를 들어, 수 초)과 동일할 수 있다. 반대로, 상기 과도 기간 Dc는 또한, 미리 설정되지 않을 수 있고, HAS 클라이언트 단말 C1의 버퍼(6)의 채움 속도에 종속할 수도 있다. 특히, 과도 기간 Dc는, 클라이언트 단말 C1의 버퍼(6)에서 로딩되는 청크들의 개수에 의존할 수 있고, 예를 들어, HAS 클라이언트 단말 C1에 의해 수신되는 청크들의 개수가, 경과된 시간 동안 적응형 스트리밍 클라이언트에 의해 플레이되는 것으로 가정되는 청크들의 개수와 버퍼 길이를 더한 것을 초과할 때 종료될 수 있다.
버퍼 채움 기간 Tb는, 다음의 관계:
Figure 112016040298701-pct00009
에 의해 근사화될 수 있고,
여기서,
- LB는 버퍼 길이(초 단위)이고;
- RT는 타겟 비트레이트(kbps 단위)이고;
- BWt는 예약된 과도 대역폭(kbps 단위)임을 주목한다.
변형예에서, 과도 기간 Dc는, 청크 요청 빈도가, 청크의 지속기간(그 후에는 버퍼(6)가 채워진 것으로 간주됨)과 - 적어도 대략적으로 - 동일할 때까지 유지될 수 있다.
다른 변형예에서 또는 보완예로서, 과도 기간은 또한, 클라이언트 단말 C1의 버퍼(6)의 채움 레이트(또는 상태)(예를 들어, 버퍼의 80%)에 종속할 수 있다.
게다가, 본 발명의 추가적인 양태에서, 대역폭 관리자(13)는 또한, 정상 상태 동안, 과도 기간 Dc의 종료 이후, 단말 C1에 의해 요청된 스트리밍 컨텐츠와 연관되는 하나의 정상 대역폭 BWs를 예약할 수 있다.
정상 대역폭 BWs는, 결정된 타겟 데이터 레이트 RT 및 정상 마진 ms와 동일하고, 상기 정상 마진 ms는,
Figure 112016040298701-pct00010
Figure 112016040298701-pct00011
에 대해,
Figure 112016040298701-pct00012
와 같이, 과도 마진 mt보다 작다(ms < mt).
특히, 정상 대역폭 BWs는,
Figure 112016040298701-pct00013
에 대해
Figure 112016040298701-pct00014
가 되도록, 적어도, 타겟 비트레이트 RT와 보수적 값 Vc를 더한 것과 동일할 수 있다(그 다음, 정상 마진 ms는 보수적 값 Vc와 동일하다).
다른 예로서, 정상 대역폭 BWs는 다음의 관계:
Figure 112016040298701-pct00015
에 대해
Figure 112016040298701-pct00016
에 의해 획득될 수 있다.
HAS 스트리밍 컨텐츠에 대한 대역폭 예약(과도 대역폭 BWt, 정상 대역폭 BWs)에 관한 대역폭 관리자(13)의 판단들은 많은 파라미터들 및 사용자 또는 서비스 제공자 선호도들에 종속한다. 이들은, 대역폭 관리자에 의해 강제되고, 요청된 컨텐츠, 네트워크, 네트워크의 클라이언트 단말들의 특성들에 의해 제공되는 중재 방식들의 세트를 도출한다.
(예를 들어, 클라이언트 단말 C1 및 C2에 의해 요청되는) 경합 스트림들의 경우, 대역폭 관리자(13)에 의한 대역폭 예약은 클라이언트 단말 타입에 의존할 수 있다. 예를 들어, 텔레비젼 세트에 대한 스트림은 휴대용 미디어 플레이어에 대한 스트림보다 더 높은 우선순위를 가질 수 있다. 대안적으로, 대역폭 예약은 또한, 로컬 네트워크 N1의 클라이언트 단말 C1, C2의 위치, 사용자의 아이덴티티 등에 기초할 수 있다. 거실에 위치된 클라이언트 단말 C1, C2는 침실에 위치된 클라이언트 단말 C1, C2보다 높은 우선순위를 가질 수 있다. 바람직하게, 게이트웨이 GW는, 스트림들 사이에서 우선순위들의 조정을 가능하게 하는 사용자 인터페이스(도면들에는 미도시)를 포함한다. 사용자 인터페이스의 엔트리들은, 예를 들어, 디바이스 타입, 디바이스 위치 및 디바이스 우선순위일 수 있다.
그 다음, 본 발명에 따르면, 대역폭 관리자(13)는, 클라이언트 단말 C1에 의해 요청된 HAS 스트리밍 컨텐츠에 대한 2개의 별개의 규칙들을 정의한다. 제1 규칙은, 컨버전스 기간에 대응하는 매우 짧은 지속기간(또한 과도 기간 Dc로도 공지됨)에 대해 적용되고, 그 다음, 제2 규칙은 스트림 수신의 종료까지 적용된다. 컨버전스 기간은, HAS 클라이언트 단말 C1이 과도 상태에 있어서 타겟 레이트 RT에 도달하고 자신의 버퍼를 채우려고 시도하는 기간에 대응한다. 이러한 컨버전스 기간 이후, HAS 클라이언트 단말 C1은 정상 상태가 되어, 스트림의 종료까지 또는 네트워크 상태들이 변화될 때까지 동일한 레이트를 유지해야 한다. 제1 규칙은, 정상 상태로의 컨버전스를 가속하고 안정성을 강제하기 위해, HAS 클라이언트 단말 C1에 일시적으로 과도한 대역폭 부분을 승인한다. 본 출원인은, 더 많은 대역폭이 예약될수록, 타겟 비트레이트로의 컨버전스가 더 빨라지는 것을 관측하였다.
제안된 발명은, 주어진 HAS 스트림과 경합하는 스트림이 대량(bulky) TCP 다운로드, 꾸준한 다운로드 스트림 또는 다른 HAS 스트림인 경우 적용될 수 있다.
과도 및 정상 마진들은 앞서 언급된 파라미터들(우선순위, 사용자 선호도, 경합 스트림들 등)에 기초한 실험들에 의해 결정됨을 이해해야 한다.
예시적이고 비제한적인 예로서, 30초 버퍼를 갖는 Smooth Streaming HAS 서비스의 경우, 다음의 통상적인 값들이 선택될 수 있다.
- 과도 마진 = 결정될 할당된 과도 대역폭의 40%(예를 들어,
Figure 112016040298701-pct00017
에 대해 공식
Figure 112016040298701-pct00018
에서 mt = 40);
- 정상 마진 = 결정될 할당된 정상 대역폭의 20%(예를 들어,
Figure 112016040298701-pct00019
에 대해 공식
Figure 112016040298701-pct00020
에서 ms = 20).
바람직한 실시예에 따르면, 도 4에 도시된 바와 같이, 게이트웨이 GW는, 다음의 단계들을 포함하는, HAS 클라이언트 단말 C1에 대해 대역폭을 예약하기 위한 방법을 구현하도록 구성된다.
- 게이트웨이 GW에서 수신된 스트림들을 분석하는 단계(단계 S0);
- 주어진 이벤트(예를 들어, 클라이언트 단말 C1에 의한 HAS 스트리밍 컨텐츠의 수신의 시작, 네트워크 상태들의 큰 변화)를 검출하는 단계(단계 S1);
- HAS 클라이언트 단말 C1에 의해 요청된 스트리밍 컨텐츠와 연관되는 타겟 데이터 레이트를 결정하는 단계(단계 S2);
- 적어도 하나의 이벤트가 검출될 때, HAS 클라이언트 단말 C1에 대해, 과도 기간 Dc 동안의 과도 대역폭 BWt 및 HAS 스트리밍 컨텐츠의 종료까지의 정상 대역폭 BWs를 예약하는 단계(단계 S3).
바람직한 실시예에서, 대역폭 예약은 게이트웨이 GW에서 수행된다. 대안적으로, 대역폭 예약은 또한, 로컬 네트워크 N1에 위치되고 게이트웨이 GW에 접속되는 라우터에서 또는 외부 라우터에서 또는 광대역 네트워크 N2에 위치된 캐시에서 수행될 수 있다.
도면들의 흐름도 및/또는 블록도들은, 본 발명의 다양한 실시예들에 따른 시스템들, 방법들 및 컴퓨터 프로그램 제품들의 가능한 구현들의 구성, 동작 및 기능을 예시한다. 이와 관련하여, 흐름도 또는 블록도들의 각각의 블록은, 특정된 논리 기능(들)을 구현하기 위한 하나 이상의 실행가능한 명령어들을 포함하는 모듈, 세그먼트 또는 코드의 일부를 표현할 수 있다. 일부 대안적인 구현들에서, 블록에 언급된 기능들은 도면들에서 언급된 순서 이외의 순서로 발생할 수 있음을 또한 주목해야 한다. 예를 들어, 연속적으로 도시된 2개의 블록들이, 실제로는 실질적으로 동시에 실행될 수 있거나, 또는 블록들은 때때로 반대 순서로 실행될 수 있거나, 또는 블록들은, 수반되는 기능에 종속하여 대안적인 순서로 실행될 수 있다. 블록도들 및/또는 흐름도 예시의 각각의 블록, 및 블록도들 및/또는 흐름도 예시의 블록들의 결합들은, 특정된 기능들 또는 동작들을 수행하는 특수 목적 하드웨어-기반 시스템들, 또는 특수 목적 하드웨어 및 컴퓨터 명령어들의 결합들에 의해 구현될 수 있음이 또한 주목될 것이다. 명시적으로 설명되지 않지만, 본 실시예들은 임의의 결합 또는 하위-결합으로 이용될 수 있다.
본 기술분야의 통상의 기술자에 의해 인식될 바와 같이, 본 원리들의 양태들은 시스템, 방법 또는 컴퓨터 판독가능 매체로 구현될 수 있다. 따라서, 본 원리들의 양태들은, 완전한 하드웨어 실시예, 완전한 소프트웨어 실시예(펌웨어, 상주 소프트웨어, 마이크로-코드 등을 포함함), 또는 모두가 일반적으로 본원에서 "회로", "모듈" 또는 "시스템"으로 지칭될 수 있는 소프트웨어 및 하드웨어 양태들을 결합한 실시예의 형태를 취할 수 있다. 또한, 본 원리들의 양태들은 컴퓨터 판독가능 저장 매체의 형태를 취할 수 있다. 하나 이상의 컴퓨터 판독가능 저장 매체(들)의 임의의 결합이 활용될 수 있다.
컴퓨터 판독가능 저장 매체는, 하나 이상의 컴퓨터 판독가능 매체(들)에 구현되고, 컴퓨터에 의해 실행가능한 컴퓨터 판독가능 프로그램 코드가 구현되는 컴퓨터 판독가능 프로그램 제품의 형태를 취할 수 있다. 본원에서 이용되는 컴퓨터 판독가능 저장 매체는, 정보를 저장할 고유의 능력 뿐만 아니라 정보의 조회를 제공할 고유의 능력이 주어지는 비일시적인 저장 매체로 간주된다. 컴퓨터 판독가능 저장 매체는, 예를 들어, 전자, 자기, 광학, 전자기, 적외선 또는 반도체 시스템, 장치 또는 디바이스, 또는 전술된 것들의 임의의 적절한 결합일 수 있지만 이에 제한되는 것은 아니다. 다음의 것들, 즉, 휴대용 컴퓨터 디스켓; 하드 디스크; 랜덤 액세스 메모리(RAM); 판독 전용 메모리(ROM); 소거가능한 프로그래머블 판독 전용 메모리(EPROM 또는 플래시 메모리); 휴대용 컴팩트 디스크 판독 전용 메모리(CD-ROM); 광학 저장 디바이스; 자기 저장 디바이스; 또는 전술된 것들의 임의의 적절한 결합은, 본 원리들이 적용될 수 있는 컴퓨터 판독가능 저장 매체들의 더 구체적인 예들을 제공하지만, 본 기술분야의 통상의 기술자에 의해 쉽게 인식되는 바와 같이, 단지 예시적이며, 포괄적인 나열은 아님을 인식해야 한다.

Claims (15)

  1. 적어도 하나의 네트워크(N1, N2)에 속하도록 구성되고 적어도 하나의 서버(S)로부터 스트리밍 컨텐츠를 수신하도록 구성된 적응형 스트리밍 클라이언트(C1)에 대해 대역폭을 예약하기 위한 방법으로서 - 상기 스트리밍 컨텐츠는 상기 서버(S)에서 복수의 데이터 레이트에서 이용가능함 -,
    상기 방법은 네트워크 기기에서:
    적어도 하나의 이벤트가 발생할 때, 상기 클라이언트(C1)에 대해, 상기 클라이언트(C1)에 의해 요청된 스트리밍 콘텐츠와 연관된 미리 결정된 타겟 데이터 레이트 및 상기 적응형 스트리밍 클라이언트(C1)의 보수적 값보다 큰 과도 마진(transient margin)에 의존하는 과도 대역폭(transient bandwidth)을 예약하는 단계를 포함하며,
    상기 과도 대역폭은:
    상기 타겟 데이터 레이트와 상기 보수적 값을 더한 것보다 더 크고,
    상기 타겟 데이터 레이트보다 더 높은 적어도 하나의 다른 데이터 레이트와 상기 보수적 값을 더한 것보다 더 작은 방법.
  2. 제1항에 있어서,
    상기 과도 마진은 다음의 파라미터들, 즉
    상기 네트워크(N1, N2)의 전체 이용가능한 대역폭;
    상기 스트리밍 컨텐츠와 연관되는 결정된 타겟 데이터 레이트;
    네트워크 대역폭을 공유하는 경합 스트림들;
    상기 스트리밍 컨텐츠의 우선순위; 및
    상기 적응형 스트리밍 클라이언트(C1)의 보수적 값(conservative value)
    중 적어도 하나에 종속하는 방법.
  3. 삭제
  4. 삭제
  5. 제1항 또는 제2항에 있어서,
    상기 타겟 데이터 레이트가 상기 서버(S)에 의해 제공되는 최고 데이터 레이트일 때, 상기 과도 마진은 상기 네트워크(N1, N2)의 전체 이용가능한 대역폭과 상기 타겟 데이터 레이트 사이의 차이 이하인 방법.
  6. 제1항 또는 제2항에 있어서,
    상기 과도 대역폭은, 상기 클라이언트(C1)의 버퍼(6)의 채움 속도(filling speed)에 종속하는 과도 기간 동안 상기 적응형 스트리밍 클라이언트(C1)에 대해 예약되는 방법.
  7. 제1항 또는 제2항에 있어서,
    상기 과도 대역폭은, 상기 클라이언트(C1)의 버퍼(6)의 채움 레이트에 종속하는 과도 기간 동안 상기 적응형 스트리밍 클라이언트(C1)에 대해 예약되는 방법.
  8. 제6항에 있어서,
    상기 클라이언트(C1)는 데이터의 연속적인 청크들의 형태로 상기 스트리밍 컨텐츠를 수신하고, 상기 과도 기간은, 상기 클라이언트의 버퍼(6)에서 상기 클라이언트(C1)에 의해 로딩되는 청크들의 개수가, 경과된 시간 동안 상기 적응형 스트리밍 클라이언트(C1)에 의해 플레이되는 것으로 가정되는 청크들의 개수와 버퍼 길이를 더한 것을 초과할 때 종료되는 방법.
  9. 제6항에 있어서,
    상기 클라이언트(C1)는 데이터의 연속적인 청크들의 형태로 상기 스트리밍 컨텐츠를 수신하고, 상기 과도 기간은, 청크 요청 빈도(chunk request frequency)가 청크의 지속기간과 동일할 때 종료되는 방법.
  10. 제1항 또는 제2항에 있어서,
    상기 이벤트는 다음의 이벤트들의 그룹, 즉
    상기 적응형 스트리밍 클라이언트(C1)에 의한 상기 스트리밍 컨텐츠의 수신의 시작;
    네트워크 상태들의 변화; 및
    다른 스트림의 수신의 중단
    의 그룹에 속하는 방법.
  11. 적어도 하나의 네트워크(N1, N2)에 속하도록 구성되고 적어도 하나의 서버(S)로부터 스트리밍 컨텐츠를 수신하도록 구성된 적응형 스트리밍 클라이언트(C1)에 대해 대역폭을 예약하기 위한 디바이스로서 - 상기 스트리밍 컨텐츠는 상기 서버(S)에서 복수의 데이터 레이트에서 이용가능함 -,
    상기 디바이스는:
    상기 클라이언트(C1)에 의해 요청된 적어도 하나의 스트리밍 컨텐츠를 검출하도록 구성된 스트림 식별기(12); 및
    적어도 하나의 이벤트가 발생할 때, 상기 클라이언트(C1)에 대해, 상기 요청된 스트리밍 콘텐츠와 연관된 미리 결정된 타겟 데이터 레이트 및 상기 적응형 스트리밍 클라이언트(C1)의 보수적 값보다 큰 과도 마진(transient margin)에 종속하는 과도 대역폭(transient bandwidth)을 예약하도록 구성된 대역폭 관리자(13)
    를 포함하며,
    상기 과도 대역폭은:
    상기 타겟 데이터 레이트와 상기 보수적 값을 더한 것보다 더 크고,
    상기 타겟 데이터 레이트보다 더 높은 적어도 하나의 다른 데이터 레이트와 상기 보수적 값을 더한 것보다 더 작은 디바이스.
  12. 제11항에 있어서,
    다음의 이벤트들의 그룹, 즉
    상기 적응형 스트리밍 클라이언트(C1)에 의한 상기 스트리밍 컨텐츠의 수신의 시작;
    네트워크 상태들의 변화; 및
    다른 스트림의 수신의 중단
    의 그룹에 속하는 상기 이벤트를 검출하도록 구성되는 디바이스.
  13. 삭제
  14. 컴퓨터에 의해 판독가능한 그리고/또는 프로세서에 의해 실행가능한 기록 매체 상에 기록된 컴퓨터 프로그램으로서,
    제1항 또는 제2항에 따른 방법을 구현하기 위한 프로그램 코드 명령어들을 포함하는, 기록 매체 상에 기록된 컴퓨터 프로그램.
  15. 컴퓨터 프로그램이 기록되어 있으며 프로세서에 의해 실행될 수 있는 비일시적인 컴퓨터 판독가능 매체로서,
    제1항 또는 제2항에 따른 방법을 구현하기 위한 프로그램 코드 명령어들을 포함하는 비일시적인 컴퓨터 판독가능 매체.
KR1020167011061A 2013-10-29 2014-10-02 적응형 스트리밍 클라이언트에 대해 대역폭을 예약하기 위한 방법 및 디바이스 KR102355325B1 (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
EP20130306478 EP2869523A1 (en) 2013-10-29 2013-10-29 Method and device for reserving bandwidth for an adaptive streaming client
EP13306478.2 2013-10-29
EP14305008 2014-01-06
EP14305008.6 2014-01-06
PCT/EP2014/071137 WO2015062808A1 (en) 2013-10-29 2014-10-02 Method and device for reserving bandwidth for an adaptive streaming client

Publications (2)

Publication Number Publication Date
KR20160077077A KR20160077077A (ko) 2016-07-01
KR102355325B1 true KR102355325B1 (ko) 2022-01-26

Family

ID=51662088

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020167011061A KR102355325B1 (ko) 2013-10-29 2014-10-02 적응형 스트리밍 클라이언트에 대해 대역폭을 예약하기 위한 방법 및 디바이스

Country Status (7)

Country Link
US (1) US10419507B2 (ko)
EP (1) EP3063918B1 (ko)
JP (1) JP6403768B2 (ko)
KR (1) KR102355325B1 (ko)
CN (1) CN105684390B (ko)
TW (1) TW201517602A (ko)
WO (1) WO2015062808A1 (ko)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR3021489A1 (fr) * 2014-05-22 2015-11-27 Orange Procede de telechargement adaptatif de contenus numeriques pour plusieurs ecrans
CN109937575B (zh) 2016-12-30 2022-04-01 谷歌有限责任公司 中断经不可侵犯清单协议提供的流传输内容的***和方法
US10652166B2 (en) * 2017-06-27 2020-05-12 Cisco Technology, Inc. Non-real time adaptive bitrate recording scheduler
KR101956899B1 (ko) * 2017-11-15 2019-06-19 한림대학교 산학협력단 사물 인터넷에서 CoAP를 통한 스트리밍을 수행하는 방법 및 이 방법이 적용된 기기
CN110035480B (zh) * 2018-01-11 2021-06-22 华为技术有限公司 一种去激活bwp的方法、设备及***
CN109040854B (zh) * 2018-08-09 2021-02-02 武汉烽火凯卓科技有限公司 一种适用于多服务器自适应流媒体***的流连接调度方法
JP7206920B2 (ja) * 2019-01-08 2023-01-18 富士フイルムビジネスイノベーション株式会社 情報処理装置及びプログラム
TWI758680B (zh) 2019-01-31 2022-03-21 日商日本電氣股份有限公司 資料中繼裝置、方法、發送系統及程式
CN111935033B (zh) * 2020-08-05 2022-11-25 上海映驰科技有限公司 用于时间敏感流的终端流预留方法、***及计算机设备
KR20220039114A (ko) * 2020-09-21 2022-03-29 삼성전자주식회사 전자 장치 및 그 동작 방법

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100274919A1 (en) * 2007-01-23 2010-10-28 Juniper Networks, Inc. Bandwidth allocation to support fast buffering

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6643569B2 (en) * 2001-03-30 2003-11-04 The Regents Of The University Of Michigan Method and system for detecting a failure or performance degradation in a dynamic system such as a flight vehicle
US7742504B2 (en) * 2002-01-24 2010-06-22 University Of Southern California Continuous media system
FR2887102A1 (fr) * 2005-06-13 2006-12-15 France Telecom Procede de modification du mode de service demande par un terminal de communication en fonction d'au moins un parametre de configuration et/ou representatif de la qualite de service reseau
US7818445B2 (en) * 2008-10-15 2010-10-19 Patentvc Ltd. Methods and devices for obtaining a broadcast-like streaming content
CN101488898B (zh) * 2009-03-04 2014-12-31 北京邮电大学 一种基于多Agent协作的树形快速连接建立方法
EP2317754A1 (en) * 2009-10-30 2011-05-04 Thomson Licensing, Inc. Method of reception of digital audio/video and corresponding apparatus
EP2573997A1 (en) * 2011-09-26 2013-03-27 Thomson Licensing Method for controlling bandwidth and corresponding device
US9667562B2 (en) * 2012-07-26 2017-05-30 Cisco Technology, Inc. Method and apparatus for supporting variable bit-rate reservations

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100274919A1 (en) * 2007-01-23 2010-10-28 Juniper Networks, Inc. Bandwidth allocation to support fast buffering

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Ingo Kofler et al., "Improving IPTV Services by H.264/SVC Adaptation and Traffic Control", 2009 IEEE International Symposium on Broadband Multimedia Systems and Broadcasting (2009.)*

Also Published As

Publication number Publication date
CN105684390B (zh) 2019-10-11
EP3063918B1 (en) 2020-07-15
US20160261661A1 (en) 2016-09-08
KR20160077077A (ko) 2016-07-01
JP2016541161A (ja) 2016-12-28
WO2015062808A1 (en) 2015-05-07
TW201517602A (zh) 2015-05-01
JP6403768B2 (ja) 2018-10-10
CN105684390A (zh) 2016-06-15
US10419507B2 (en) 2019-09-17
EP3063918A1 (en) 2016-09-07

Similar Documents

Publication Publication Date Title
KR102355325B1 (ko) 적응형 스트리밍 클라이언트에 대해 대역폭을 예약하기 위한 방법 및 디바이스
US10225620B1 (en) System and method for effectuating selective ABR segment delivery for ABR bandwidth control
US10848433B2 (en) Method for distributing available bandwidth of a network amongst ongoing traffic sessions run by devices of the network, corresponding device
JP6268090B2 (ja) 帯域幅および対応する装置を制御する方法
US20190069038A1 (en) System and method for providing fast abr startup with selective abr segment delivery
EP3172864B1 (en) Management of heterogeneous client device groups
KR20150119170A (ko) 적응형 스트리밍 트래픽을 관리 및 조절하기 위한 장치, 시스템, 및 방법
Wamser et al. Using buffered playtime for QoE‐oriented resource management of YouTube video streaming
EP2869523A1 (en) Method and device for reserving bandwidth for an adaptive streaming client

Legal Events

Date Code Title Description
AMND Amendment
AMND Amendment
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
AMND Amendment
X701 Decision to grant (after re-examination)