KR20150010731A - Http 의사 스트리밍용 적분 제어기 기반 페이싱 - Google Patents

Http 의사 스트리밍용 적분 제어기 기반 페이싱 Download PDF

Info

Publication number
KR20150010731A
KR20150010731A KR1020147031764A KR20147031764A KR20150010731A KR 20150010731 A KR20150010731 A KR 20150010731A KR 1020147031764 A KR1020147031764 A KR 1020147031764A KR 20147031764 A KR20147031764 A KR 20147031764A KR 20150010731 A KR20150010731 A KR 20150010731A
Authority
KR
South Korea
Prior art keywords
epoch
target
bytes
transmission
estimating
Prior art date
Application number
KR1020147031764A
Other languages
English (en)
Other versions
KR101931407B1 (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 KR20150010731A publication Critical patent/KR20150010731A/ko
Application granted granted Critical
Publication of KR101931407B1 publication Critical patent/KR101931407B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/238Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams
    • H04N21/23805Controlling the feeding rate to the network, e.g. by controlling the video pump
    • 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/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/80Responding to QoS
    • 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/24Monitoring of processes or resources, e.g. monitoring of server load, available bandwidth, upstream requests
    • H04N21/2401Monitoring of the client buffer
    • 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/24Monitoring of processes or resources, e.g. monitoring of server load, available bandwidth, upstream requests
    • H04N21/2402Monitoring of the downstream path of the transmission network, e.g. bandwidth available
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/65Transmission of management data between client and server
    • H04N21/658Transmission by the client directed to the server
    • H04N21/6581Reference data, e.g. a movie identifier for ordering a movie or a product identifier in a home shopping application
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/65Transmission of management data between client and server
    • H04N21/658Transmission by the client directed to the server
    • H04N21/6587Control parameters, e.g. trick play commands, viewpoint selection
    • 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]

Abstract

HTTP 의사-스트리밍용 적분 제어기 기반 페이싱을 위한, 컴퓨터 프로그램 제품을 포함하는 방법 및 장치가 제공된다. 방법은 사용자 장비에 주재하는 미디어 플레이어로부터 컨텐트 서버에 주재하는 멀티미디어 클립의 요청 부분을 수신하는 단계 및 네트워크에서 제어 잡음의 존재 시 목표 비트레이트를 유지하면서 미디어 플레이어에 멀티미디어 클립의 요청 부분을 전달하는 단계를 포함한다. 멀티미디어 클립의 요청 부분을 전달하는 단계는 목표 전송 레이트를 추정하는 단계, 목표 탄성 버퍼를 결정하는 단계, 및 현재 전송 에포크에서 보낼 바이트 수를 추정하는 단계를 포함할 수 있다.

Description

HTTP 의사 스트리밍용 적분 제어기 기반 페이싱{INTEGRAL CONTROLLER BASED PACING FOR HTTP PSEUDO-STREAMING}
본 발명은 일반적으로 통신 네트워크에 관한 것으로, 더 구체적으로는 하이퍼텍스트 전송 프로토콜(Hypertext Transfer Protocol: HTTP) 의사-스트리밍용 적분 제어기 기반 페이싱(integral controller based pacing)에 관한 것이다.
다운로드에 비해 스트리밍의 가장 큰 장점은 플레이어에 아직 다운로드되지 않은 위치로 타임라인에서 탐색할 수 있는 능력이다. 이것은, 방문객이 그녀가 원하면 2-시간짜리 영화 중 마지막 장면으로 탐색할 수 있기 때문에, 장편 영화에 대해 가장 바람직하다. HTTP 의사-스트리밍은 다운로드되지 않은 부분으로 탐색할 수 있는 능력과 스트레이트 HTTP 다운로드의 장점들을 조합한다(예를 들어, 그것은 어느 방화벽이라도 지나가고, 불량 커넥션 상의 관람자는 단순히 다운로드를 기다릴 수 있다).
HTTP 의사-스트리밍은 전송 프로토콜과 같이 원래는 벌크 데이터 전송을 위해 설계된 전송 제어 프로토콜(TCP)을 사용한다. 그와 같이, TCP는 페이로드 내 미디어의 타이밍 정보를 명시적으로 나타내고 있지는 않다. TCP는 단지 (예를 들어, .flv 또는 .mp4 파일과 같은) 미디어 클립을 전송하도록 사용된다. 미디어 시간 정보는 미디어 클립 포맷 내에서 암시적으로 보내지고, 단지 플레이어는 그 부분들이 다운로드되는 대로 클립을 재생할 뿐이다.
HTTP 의사-스트리밍은 TCP를 통한 스트리밍 미디어 다운로드를 제어하도록 HTTP를 사용한다. 스트리밍 클라이언트는 흔히 HTTP 요청에서 URL 옵션으로서 소망 미디어 탐색 위치 정보를 제공하며, 그것은 HTTP에 의해 의사-스트리밍 서버로 이양된다. 의사-스트리밍 서버는 그 정보를 사용하여 소망 탐색 위치로부터 재생하는 미디어 클립을 준비하고 HTTP를 통해 전송한다.
스트리밍 미디어 전송을 오로지 TCP에 의존하는 HTTP 의사-스트리밍은 바람직한 목표 스트리밍 비트레이트를 유지할 수 없지만, 흔히 목표 비트레이트보다 더 높은 가용 링크 속도로 클라이언트에 미디어를 전달하는 일이 자주 있다. 이것은 관람자가 그 미디어에 흥미를 잃어 전송을 중지할 때 대역폭 낭비의 결과를 초래할 수 있다. 그리하여, 미디어 전송 레이트를 소망 비트레이트로 제어하는 전송 페이싱 메커니즘이 HTTP 의사-스트리밍에는 매우 바람직하다.
일반적으로, 레이트 제어는 패킷 네트워크를 통한 미디어 스트리밍에는 필수적이다. 용량-제한된, 공유된 링크를 통해 멀티미디어 같은 대역폭-집약적 컨텐트를 전달함에 있어서의 난제는 사용자의 관람 및 청취 체감을 최적화하도록 비트레이트 및 미디어 인코딩 스킴을 조절함으로써 네트워크 조건 변화에 신속하게 반응하는 것이다. 특히, 필요한 스루풋을 제공할 수 없는 커넥션을 통해 미디어 스트림을 전송할 때에는, 수개의 바람직하지 못한 효과가 생긴다. 예를 들어, 네트워크 버퍼가 오버플로우하여, 알아볼 수 없는 비디오 또는 오디오 재생을 야기하는 패킷 손실의 결과를 초래할 수 있거나, 또는 미디어 플레이어 버퍼가 언더플로우하여 재생 멎음의 결과를 초래할 수 있다.
하기의 것은 본 발명의 일부 태양의 기본 이해를 제공하기 위하여 혁신의 단순 개요를 제시한다. 이러한 개요는 본 발명의 광범위에 걸친 개관은 아니다. 그것은 본 발명의 핵심 또는 중대 구성요소를 식별하려는 것도 아니고 본 발명의 범위를 상술하려는 것도 아니다. 그 유일한 목적은 추후 제시되는 더 상세한 설명으로의 서두로서 단순 형태로 본 발명의 일부 개념을 제시하는 것이다.
본 발명은 HTTP 의사-스트리밍용 적분 제어기 기반 페이싱을 위한, 컴퓨터 프로그램 제품을 포함하는 방법 및 장치를 제공한다.
일반적으로, 일 태양에 있어서, 본 발명은, 컨텐트 서버 및 하이퍼텍스트 전송 프로토콜(HTTP) 스트리밍용 적분 제어기 기반 페이싱 매니저에 링크된 사용자 장비를 포함하는 네트워크에서, 사용자 장비에 주재하는 미디어 플레이어로부터 컨텐트 서버에 주재하는 멀티미디어 클립의 요청 부분을 수신하는 단계 및 네트워크에서 제어 잡음의 존재 시 목표 비트레이트를 유지하면서 미디어 플레이어에 멀티미디어 클립의 요청 부분을 전달하는 단계를 포함하는 방법을 특징으로 한다. 멀티미디어 클립의 요청 부분을 전달하는 단계는 목표 전송 레이트를 추정하는 단계, 목표 탄성 버퍼(target elasticity buffer)를 결정하는 단계, 및 현재 전송 에포크(current transmission epoch)에서 보낼 바이트 수를 추정하는 단계를 포함할 수 있다.
본 발명의 다른 특징 및 이점은 하기 설명으로부터 그리고 특허청구범위로부터 분명하다.
본 발명은 이하의 도면과 함께 상세한 설명을 참조함으로써 더 충분히 이해될 것이다:
도 1은 블록 선도;
도 2는 블록 선도;
도 3은 흐름 선도.
본 혁신이 도면을 참조하여 이제 설명되며, 유사한 참조 숫자는 곳곳에서 유사한 구성요소를 지칭하는데 사용된다. 하기 설명에 있어서는, 설명의 목적으로, 수많은 특정 상세가 본 발명의 철저한 이해를 제공하기 위해 제시된다. 그렇지만, 분명히 본 발명은 이들 특정 상세 없이 실시될 수도 있다. 다른 사례에 있어서는, 본 발명의 설명을 용이하게 하기 위해 주지의 구조 및 디바이스를 블록 선도 형태로 보여준다.
본 출원에서 사용되는 바와 같이, 용어 "컴포넌트", "시스템", "플랫폼" 등은 컴퓨터-관련 엔티티 또는 하나 이상의 특정 기능성을 갖는 연산 머신과 관련된 엔티티를 지칭할 수 있다. 여기서 개시되는 엔티티는 하드웨어, 하드웨어와 소프트웨어의 조합, 소프트웨어, 또는 실행 소프트웨어 중 어느 것일 수 있다. 예를 들어, 컴포넌트는, 국한되는 것은 아니지만, 프로세서 상에서 실행 중인 프로세스, 프로세서, 오브젝트, 실행문, 실행 스레드, 프로그램 및/또는 컴퓨터일 수 있다. 예로써, 서버 상에서 실행 중인 애플리케이션 및 서버 둘 다 컴포넌트일 수 있다. 하나 이상의 컴포넌트는 실행 스레드 및/또는 프로세스 내 주재할 수 있고 컴포넌트는 하나의 컴퓨터 상에서 로컬이거나 그리고/또는 2개 이상의 컴퓨터 간 분산될 수 있다. 또한, 이들 컴포넌트는 다양한 데이터 구조가 저장되어 있는 다양한 컴퓨터 판독가능한 매체로부터 실행될 수 있다. 컴포넌트는 하나 이상의 데이터 패킷(예를 들어, 신호를 통해 인터넷과 같은 네트워크를 가로질러 다른 시스템과, 그리고/또는 로컬 시스템, 분산된 시스템에서 또 다른 컴포넌트와 상호작용하는 하나의 컴포넌트로부터의 데이터)을 갖는 신호에 따라서 등 로컬 및/또는 원격 프로세스를 통해 통신할 수 있다.
부가적으로, 용어 "또는"은 배타적 "또는"보다는 포함적 "또는"을 의미하려는 의도이다. 즉, 달리 특정되거나 맥락으로부터 명확하지 않은 한, "X가 A 또는 B를 채용한다"는 자연 포함적 순열 중 어느 것이라도 의미하려는 의도이다. 즉, X가 A를 채용하거나; X가 B를 채용하거나; 또는 X가 A 및 B 둘 다 채용하면, 그때 "X가 A 또는 B를 채용한다"는 전술한 사례 중 어느 하나 하에 충족된다. 더욱, 본 명세서 및 부속 도면에서 사용되는 바와 같은 부정 관사는 일반적으로는 단수 형태로 지시되도록 달리 특정되거나 맥락으로부터 명확하지 않은 한 "하나 이상"을 의미하는 것으로 해석되어야 한다.
더욱, "사용자 장비", "모바일 스테이션", "모바일", "가입자 스테이션", "통신 디바이스", "액세스 단말", "단말", "핸드셋" 및 유사한 술어와 같은 용어는 데이터, 제어, 음성, 비디오, 음향, 게이밍 또는 실질적으로 어떠한 데이터-스트림 또는 시그널링-스트림이라도 수신 또는 전하도록 무선 통신 서비스의 가입자 또는 사용자에 의해 이용되는 무선 디바이스(예를 들어, 셀룰러 폰, 스마트 폰, 컴퓨터, 개인용 정보 단말(PDA), 셋-톱 박스, 인터넷 프로토콜 텔레비전(IPTV), 전자 게이밍 디바이스, 프린터 등)를 지칭한다. 전술한 용어는 본 명세서 및 관련 도면에서 호환가능하게 이용된다. 마찬가지로, 용어 "액세스 포인트", "베이스 스테이션", "노드 B", "진화형 노드 B", "홈 노드 B(HNB)" 등은 본 출원에서 호환가능하게 이용되고, 가입자 스테이션 세트로부터 데이터, 제어, 음성, 비디오, 음향, 게이밍 또는 실질적으로 어떠한 데이터-스트림 또는 시그널링-스트림이라도 수신 및 서비스 제공하는 무선 네트워크 컴포넌트 또는 기기를 지칭한다. 데이터 및 시그널링 스트림은 패킷화된 또는 프레임-기반의 흐름일 수 있다.
더욱, 용어 "사용자", "가입자", "고객" 등은, 맥락이 용어 간 특정 구별(들)을 보증하지 않는 한, 본 명세서 곳곳에서 호환가능하게 채용된다.
도 1에 도시된 바와 같이, 일례의 시스템(100)은, 여러 다른 것들 중에서도, 단말(102), 게이트웨이(104), 하나 이상의 네트워크(106, 110), 적분 제어기 기반 페이싱 매니저(108) 및 하나 이상의 컨텐트 서버(112 내지 114)를 포함한다.
단말(102)은 단말(102)이 스트리밍 미디어에 대응하는 패킷을 통신 및 수신 가능하게 하는 소프트웨어 애플리케이션을 포함하는 하드웨어 컴포넌트이다. 단말(102)은 단말(102)의 사용자에게 스트리밍 미디어를 디스플레이하기 위한, 미디어 플레이어와 같은, 하나 이상의 소프트웨어 애플리케이션 및 디스플레이를 제공한다. 더욱, 단말(102)은 인터넷으로부터, 스트리밍 미디어의 데이터 패킷과 같은, 데이터 패킷을 요청 및 수신할 수 있는 능력을 갖는다. 예를 들어, 단말(102)은 그 범용 자원 위치자(URL)에 의해 웹 페이지의 특정 파일 또는 오브젝트 데이터에 대하여 컨텐트 서버(112 내지 114)에 요청 데이터를 보낼 수 있고, 웹 페이지의 컨텐트 서버는 데이터베이스 내 오브젝트 데이터를 질의하고 그 대응하는 응답 데이터를 단말(102)에 보낼 수 있다. 일부 실시예에 있어서, 응답 데이터는 적분 제어기 기반 페이싱 매니저(108)를 통해 라우팅될 수 있다.
단말(102)이 유선 단말일 수 있기는 하지만, 본 발명의 실시예는, 모바일 단말이 적분 제어기 기반 페이싱 매니저(108)로부터 더 혜택을 볼 네트워크에 있을 가능성이 더 크기 때문에, 모바일 단말을 사용하는 것을 포함할 수 있다. 모바일 네트워크에서의 네트워크 커넥션은, 예를 들어, 모바일 단말과 네트워크 간 데이터 레이트 전송이 일부 경우에서는 상당히 극적으로 요동할 수 있는 모바일 단말의 변화하는 위치에 기인하여, 유선 네트워크 커넥션에 비해 덜 안정적인 경향이 있다.
게이트웨이(104)는 일 유형의 네트워크에서 제공된 포맷 형식의 데이터를 다른 유형의 네트워크에 요구되는되는 특정 포맷으로 변환하는 디바이스이다. 게이트웨이(106)는, 예를 들어, 서버, 라우터, 방화벽 서버, 호스트 또는 프록시 서버일 수 있다. 게이트웨이(104)는 단말(102)로부터 수신된 신호를 네트워크(106)가 이해할 수 있는 신호로 그리고 그 역으로 변환할 수 있는 능력을 갖는다. 게이트웨이(104)는 오디오, 비디오 및 T.120 전송을 단독으로 또는 어떠한 조합으로라도 프로세싱할 수 있고, 전 이중 미디어 변환을 할 수도 있다.
네트워크(106, 110)는, 인터넷 통신과 같이, 광역 통신망(WAN), 근거리 통신망(LAN), 또는 패킷-유형 통신에 적합한 무선 네트워크(예를 들어, GSM, CDMA, LTE, WiMAX 등)의 어떠한 조합이라도 포함할 수 있다. 더욱, 네트워크(106, 110)는 패킷을 그 의도된 목적지에 전송하기 이전에 그것들을 저장하기 위한 버퍼를 포함할 수 있다.
적분 제어기 기반 페이싱 매니저(108)는 게이트웨이(104)와 컨텐트 서버(112 내지 114) 간 통신을 제공하는 서버이다. 적분 제어기 기반 페이싱 매니저(108)는 컨텐트 서버(112 내지 114)에서 과도적 네트워크 정체 또는 불일치 패킷 스케줄링 에포크와 같은 제어 잡음의 존재 시 목표 비트레이트를 평균적으로 유지한다. 하나의 특정 실시예에 있어서, 적분 제어기 기반 페이싱 매니저(108)는 매사추세츠주 액톤 소재의 Affirmed Networks, Inc.에 의해 제조된 AN-3000 프록시 캐시에 구현되어 있다.
컨텐트 서버(112 내지 114)는, 일부 실시예에 있어서, 적분 제어기 기반 페이싱 매니저(108)를 통해 단말(102)로부터 요청 데이터를 수신하고, 그에 따라 요청 데이터를 프로세싱하고, 응답 데이터를 단말(102)에 다시 반환하는 서버이다. 예를 들어, 컨텐트 서버(112 내지 114)는 웹 서버, 기업용 서버 또는 어느 다른 유형의 서버일 수 있다. 컨텐트 서버(112 내지 114)는 단말(102)로부터 요청(예를 들어, 미디어 세션을 개시할 수 있는 HTTP, RTSP 또는 다른 프로토콜)을 수용하고 단말(102)에 스트리밍 미디어를 서비스 제공하도록 책임지고 있는 컴퓨터 또는 컴퓨터 프로그램일 수 있다.
도 2에 도시된 바와 같이, 단말(102)은, 여러 다른 것들 중에서도, 미디어 플레이어(202) 및 버퍼(204)를 포함할 수 있다. 적분 제어기 기반 페이싱 매니저(108)는, 여러 다른 것들 중에서도, 프로세서(210) 및 메모리(212)를 포함할 수 있다. 메모리(212)는 리눅스(Linux)(등록상표), 유닉스(Unix)(등록상표) 또는 윈도즈(Windows)(등록상표)와 같은 운영 체제(214), 및 HTTP 의사-스트리밍용 적분 제어기 기반 페이싱 프로세스(300)를 포함할 수 있다.
미디어 플레이어(202)는 비디오 및/또는 오디오 미디어 파일을 포함하는 (스트리밍 미디어와 같은) 멀티미디어 파일을 재생하기 위한 컴퓨터 소프트웨어이다. 미디어 플레이어(202)의 예는 마이크로소프트(Microsoft)(등록상표) 윈도우즈 미디어 플레이어, 애플(Apple)(등록상표) 퀵타임(Quicktime)(등록상표) 플레이어, 리얼원(RealOne)(등록상표) 플레이어, 및 웹-내장형 비디오용 아도브(Adobe)(등록상표) 플래시 플러그인을 포함할 수 있다. 일부 실시예에 있어서, 미디어 플레이어(202)는 코덱을 사용하여 스트리밍 비디오 또는 오디오를 압축해제하고 그것을 단말(102)의 디스플레이 상에 재생한다. 미디어 플레이어(202)는 독립형 애플리케이션으로서 사용되거나 웹 페이지에 내장되어 HTML 컨텐트와 상호작용하는 비디오 애플리케이션을 생성할 수 있다. 더욱, 미디어 플레이어(202)는 미디어 수신시 피드백을 미디어 수신기 보고 형태로 적분 제어기 기반 페이싱 매니저(108)에 제공할 수 있다. 미디어 수신기 보고는 RTP 스트리밍 세션에 대한 RTCP 패킷, 또는 의사-스트리밍 세션에 대한 TCP ACK를 포함할 수 있다.
버퍼(204)(단말 버퍼(204)라고도 알려져 있음)는 멀티미디어 패킷을 미디어 플레이어(202)에 제공하기 전에 멀티미디어 패킷을 임시로 저장하는 하드웨어 디바이스 및/또는 소프트웨어 프로그램이다. 일부 실시예에 있어서, 버퍼(204)는 네트워크(106)를 통해 적분 제어기 기반 페이싱 매니저(108)로부터 멀티미디어 패킷을 수신한다. 일부 실시예에 있어서, 버퍼(204)는 적분 제어기 기반 페이싱 매니저(108) 이외의 디바이스로부터 멀티미디어 패킷을 수신한다. 버퍼(204)가 멀티미디어 패킷(또는 의사-스트리밍이면 미디어 클립의 부분들)을 수신하고 나면, 그것은 저장된 멀티미디어 패킷을 미디어 플레이어(202)에 제공할 수 있다. 단말 버퍼(204) 및 미디어 플레이어(202)가 별개의 컴포넌트로서 도시되고 있지만, 다른 구현에서는, 단말 버퍼(204)가 미디어 플레이어(202)의 일부분일 수 있다. 더욱, 버퍼가 단 하나뿐이지만, 구현은 다수의 버퍼, 예를 들어, 오디오 미디어 패킷을 위한 하나 이상의 버퍼 및 비디오 미디어 패킷을 위한 하나 이상의 버퍼를 포함할 수 있다.
HTTP 의사-스트리밍은 컨텐트 전체 전에 재생될 수 있는 오디오/비디오 컨텐트가 단일 HTTP 오브젝트로서 전송되는 것인 전송 기술을 지칭한다. 에어링크 자원은 비싸고 그/그녀가 상영 종료 전에 컨텐트에 흥미를 잃을 때 그 사용자에 의해 미디어 상영은 취소될 수 있는 가능성이 있으므로, 특히 무선 네트워크에 대해서는 초기 미디어 버퍼링 기간 후에 미디어의 인코딩되는 비트레이트에 가까운 소정 비트레이트로 미디어 전송을 페이싱하는 것이 바람직하다.
HTTP 의사-스트리밍용 적분 제어기 기반 페이싱 프로세스(300)는 서버에서 불일치 패킷 스케줄링 에포크 또는 과도적 네트워크 정체와 같은 제어 잡음의 존재 시 목표 비트레이트를 평균적으로 유지하도록 미디어 서버 또는 프록시에 의해 사용될 수 있는 패킷 전송 페이싱 기술이다.
도 3에 도시된 바와 같이, 프로세스(300)는 목표 전송 레이트를 추정하는 단계(310)를 포함한다. 목표 전송 레이트 추정은 멀티미디어 컨텐트의 사이즈 및 시간 듀레이션에 대한 정보를 요구하며, 이는 미디어 컨테이너를 파싱(parsing)함으로써 획득될 수 있다. (라이브 컨텐트에 대해서와 같이) 사이즈 또는 시간 듀레이션이 이용가능하지 않은 경우에 있어서는, 컨테이너 헤더에서 알아낸 미디어 인코딩 비트레이트가 목표 전송 레이트로서 사용될 수 있다. 목표 전송 레이트는 불안정한 네트워크 조건에 기인하여 미디어 상영에서의 멈춤을 회피하기 위해 미디어의 전송을 상영 속도보다 조금 더 빠르게 하도록 1보다 큰 인수를 적용함으로써 교정될 수 있다.
프로세스(300)는 목표 탄성 버퍼를 결정한다(312). (클라이언트에 의해 인지된 디스플레이 시간) - (그것을 전달하는데 요구되는 벽시계 시간)으로 측정되는 바와 같은 컨텐트의 양은 디스플레이 탄성 버퍼로서 생각될 수 있다(여기서 "-"는 "빼기"의 의미이다). 이러한 경우에 있어서는, 항상 2개의 목표, 즉, 전송 레이트 목표 및 수신기 탄성 목표가 존재한다. 초기 버퍼 채움 동안, 전송 레이트 목표는 전형적으로는 탄성 목표가 처음 충족되고 나서보다 더 높다.
목표 탄성 버퍼는 수신 디바이스 유형 및 가입자 유형과 같은 각종 파라미터에 기반하여 설정될 수 있다. 더욱, 전송 채널은 그 전달 안정성으로 특징지어질 수 있다. 채널이 덜 안정적이면, 그때 특정 수신기에 대한 목표 탄성 버퍼는 증가될 수 있다. 전송 스루풋의 정기적 샘플을 비교하는 것이 전개되어 목표 탄성 버퍼링을 조절하도록 사용될 수 있다. 예를 들어, 겉보기 수신기 탄성이 감소하고 있으면, 그때 전송 레이트는 조금 증가될 수 있다. 전송 레이트를 증가시키는 것이 탄성을 개선하지(또는 적어도 감소를 느리게 하지) 않으면, 그때는 추가적 전송 레이트 증가를 위한 이유가 없을 수 있다.
목표 전송 비트레이트(target_bitrate)가 결정되고 나면, 프로세스(300)는 다음과 같이 적분 제어기를 사용하여 현재 전송 에포크에서 보낼 바이트 수를 추정한다(314).
프로세스(300)는, 현재 에포크에서 보낼 바이트 수(bytes_to_send_epoch)를, (목표 비트레이트) × (추정된 에포크 길이 및 시작 전송)에 의해 획득된 값으로 초기화한다(여기서 "×"는 "곱하기"의 의미이다)(316). 각각의 에포크에 있어서,
(a) 평균 전송 비트레이트는 (총 전송 바이트 수) ÷ (첫 바이트 전송 후의 경과 시간)으로서 (average_bitrate) 컴퓨팅된다(여기서 "÷"는 "나누기"의 의미이다).
(b) 적분 제어를 위해 현재 에포크에서 보낼 바이트 수를 다음과 같이 업데이트한다:
Figure pct00001
BYTES_EPOCH_MAX는 (초기 bytes_to_send_epoch) × (1보다 큰 인수)로 설정될 수 있고, BYTES_EPOCH_MIN은 (초기 bytes_to_send_epoch) × (1보다 작은 인수)로 설정될 수 있다.
(c) 컨텐트의 에포크 양을 보내도록 업데이트된 바이트를 전송한다.
프로세스(300)는 다음 이점 중 하나 이상을 포함한다. 프로세스(300)는 TCP와 같이 네트워크 레벨 스로틀링이 없을 때 유용하다. 프로세스(300)의 하나의 견고성은 그것이 평균 목표 비트레이트를 달성하도록 서버 또는 네트워크로부터의 어느 작은 제어 잡음에라도 탄력적이라는 것이다.
프로세스(300)는 과도적 에어링크 정체가 흔한 무선 네트워크와 대면하는 미디어 서버/프록시에 유용하다.
여기서 설명된 시스템 및 기술의 다양한 구현은 디지털 전자 회로, 집적 회로, 특수 설계된 ASIC(주문형 반도체), 컴퓨터 하드웨어, 펌웨어, 소프트웨어 및/또는 그 조합으로 실현될 수 있다. 이들 다양한 구현은 데이터 및 명령어를 저장 시스템, 적어도 하나의 입력 디바이스 및 적어도 하나의 출력 디바이스에 송신하고 그로부터 데이터 및 명령어를 수신하도록 결합된, 특수 목적 또는 범용일 수 있는, 적어도 하나의 프로그램가능한 프로세서를 포함하는 프로그램가능한 시스템 상에서 실행가능하고 그리고/또는 해석가능한 하나 이상의 컴퓨터 프로그램으로의 구현을 포함할 수 있다.
이들 컴퓨터 프로그램(프로그램, 소프트웨어, 소프트웨어 애플리케이션 또는 코드라고도 알려져 있음)은 프로그램가능한 프로세서용 머신 명령어를 포함할 수 있고, 하이-레벨 프로시저 및/또는 객체-지향형 프로그래밍 언어로, 그리고/또는 어셈블리/머신 언어로 구현될 수 있다. 여기에서 사용되는 바와 같이, 용어 "머신-판독가능한 매체", "컴퓨터-판독가능한 매체"는 머신 명령어 및/또는 데이터를 프로그램가능한 프로세서에 제공하도록 사용되는 어떠한 컴퓨터 프로그램 제품, 장치 및/또는 디바이스(예를 들어, 자기 디스크, 광학 디스크, 메모리, 프로그램가능한 로직 디바이스(PLD))라도 지칭하며, 머신-판독가능한 신호로서 머신 명령어를 수신하는 머신-판독가능한 매체를 포함한다. 용어 "머신-판독가능한 신호"는 머신 명령어 및/또는 데이터를 프로그램가능한 프로세서에 제공하도록 사용되는 어떠한 신호라도 지칭한다.
사용자와의 상호작용을 위해 제공하도록, 여기에 설명된 시스템 및 기술은 사용자에게 정보를 디스플레이하기 위한 디스플레이 디바이스(예를 들어, CRT(캐소드 레이 튜브) 또는 LCD(액정 디스플레이) 모니터) 및 사용자가 컴퓨터에 입력을 제공할 수 있는 키보드 및 포인팅 디바이스(예를 들어, 마우스 또는 트랙볼)를 갖는 컴퓨터 상에 구현될 수 있다. 다른 종류의 디바이스 역시 사용자와의 상호작용을 위해 제공하도록 사용될 수 있다; 예를 들어, 사용자에게 제공되는 피드백은 어떠한 형태의 감각적 피드백(예를 들어, 시각 피드백, 청각 피드백 또는 촉각 피드백)이라도 될 수 있고, 사용자로부터의 입력은 음향, 말 또는 촉각 입력을 포함하는 어떠한 형태로라도 수신될 수 있다.
여기서 설명된 시스템 및 기술은 백-엔드 컴포넌트(예를 들어, 데이터 서버)를 포함하는, 또는 미들웨어 컴포넌트(예를 들어, 애플리케이션 서버)를 포함하는, 또는 프론트-엔드 컴포넌트(예를 들어, 사용자가 여기서 설명된 시스템 및 기술의 구현과 상호작용할 수 있는 웹 브라우저 또는 그래픽 사용자 인터페이스를 갖는 클라이언트 컴퓨터)를 포함하는 컴퓨팅 시스템, 또는 그러한 백-엔드, 미들웨어 또는 프론트-엔드 컴포넌트의 어떠한 조합으로라도 구현될 수 있다. 그 시스템의 컴포넌트는 디지털 데이터 통신의 어떠한 형태 또는 매체(예를 들어, 통신 네트워크)에 의해서라도 상호접속될 수 있다. 통신 네트워크의 예는 근거리 통신망("LAN"), 광역 통신망("WAN") 및 인터넷을 포함한다.
컴퓨팅 시스템은 클라이언트 및 서버를 포함할 수 있다. 클라이언트 및 서버는 일반적으로는 서로 원격이고 전형적으로는 통신 네트워크를 통해 상호작용한다. 서로 클라이언트-서버 관계를 갖고 각각의 컴퓨터 상에서 실행되는 컴퓨터 프로그램 덕분에 클라이언트와 서버의 관계가 생긴다.
전술한 설명은 설명된 구현의 모든 가능한 변형 또는 본 발명과 일치하는 모든 가능한 구현의 리스트를 빠짐없이 표현하는 것은 아니다. 소정 수의 구현이 설명되었다. 그렇더라도, 다양한 수정이 여기에서 설명된 시스템, 디바이스, 방법 및 기술의 취지 및 범위로부터 벗어남이 없이 이루어질 수 있음을 이해할 것이다. 예를 들어, 위에서 도시된 다양한 형태의 흐름은 단계가 순서변경, 부가 또는 제거되어 사용될 수 있다. 따라서, 다른 구현들이 이하의 특허청구범위의 범위 내에 있다.

Claims (17)

  1. 방법으로서,
    컨텐트 서버 및 하이퍼텍스트 전송 프로토콜(Hypertext Transfer Protocol: HTTP) 스트리밍용 적분 제어기 기반 페이싱(integral controller based pacing) 매니저에 링크된 사용자 장비를 포함하는 네트워크에서, 상기 사용자 장비에 주재하는 미디어 플레이어로부터 상기 컨텐트 서버에 주재하는 멀티미디어 클립의 요청 부분을 수신하는 단계; 및
    상기 네트워크에서 제어 잡음의 존재 시 목표 비트레이트를 유지하면서 상기 미디어 플레이어에 상기 멀티미디어 클립의 상기 요청 부분을 전달하는 단계를 포함하는 방법.
  2. 제1항에 있어서, 상기 미디어 플레이어는 상기 멀티미디어 클립의 전달된 부분을 재생하도록 설계되는 것인 방법.
  3. 제1항에 있어서, 상기 네트워크는 광역 통신망(WAN), 근거리 통신망(LAN), 글로벌 이동 통신 시스템(GSM) 네트워크, 코드 분할 다중 액세스(CDMA) 네트워크, 롱 텀 에볼루션(LTE) 네트워크 및 와이맥스(WiMAX: worldwide interoperability formicrowave access) 네트워크로 이루어진 군으로부터 선택되는 것인 방법.
  4. 제1항에 있어서, 상기 사용자 장비는 스마트 폰, 셀룰러 폰, 컴퓨터, 개인용 정보 단말(PDA), 셋-톱 박스, 인터넷 프로토콜 텔레비전(IPTV), 전자 게이밍 디바이스, 태블릿 및 와이파이 핫스팟으로 이루어진 군으로부터 선택되는 것인 방법.
  5. 제1항에 있어서, 상기 멀티미디어 클립의 상기 요청 부분을 전달하는 단계는,
    목표 전송 레이트를 추정하는 단계;
    목표 탄성 버퍼를 결정하는 단계; 및
    현재 전송 에포크(current transmission epoch)에서 보낼 바이트 수를 추정하는 단계를 포함하는 것인 방법.
  6. 제5항에 있어서, 상기 목표 전송 레이트를 추정하는 단계는 상기 멀티미디어 클립의 상기 부분의 사이즈 및 시간 듀레이션에 대한 정보를 획득하도록 미디어 컨테이너를 파싱(parsing)하는 단계를 포함하는 것인 방법.
  7. 제5항에 있어서, 상기 목표 전송 레이트를 추정하는 단계는 미디어 인코딩 비트레이트를 컨테이너 헤더에서 알아내는 단계를 포함하는 것인 방법.
  8. 제5항에 있어서, 상기 목표 탄성 버퍼를 결정하는 단계는, 멀티미디어 클립 컨텐트의 양을 (상기 사용자 장비에 의해 인지된 디스플레이 시간) - (그것을 전달하는데 요구되는 벽시계 시간)으로 측정하는 단계를 포함하는 것인 방법.
  9. 제5항에 있어서, 상기 현재 전송 에포크에서 보낼 바이트 수를 추정하는 단계는 상기 현재 에포크에서 보낼 바이트 수를 (상기 목표 비트레이트) × (추정된 에포크 길이 및 시작 전송)에 의해 획득된 값으로 초기화하는 단계를 포함하는 것인 방법.
  10. 제9항에 있어서,
    각각의 에포크에서, 평균 전송 비트레이트를 (총 전송 바이트 수) ÷ (첫 바이트 전송 후의 경과 시간)으로서 컴퓨팅하는 단계;
    적분 제어를 위해 상기 현재 에포크에서 보낼 바이트 수를 업데이트하는 단계; 및
    멀티미디어 컨텐트의 에포크 양을 보내도록 업데이트된 바이트를 전송하는 단계를 더 포함하는 방법.
  11. 적분 제어기 기반 페이싱 서버로서,
    프로세서; 및
    메모리를 포함하되,
    상기 메모리는 운영 체제 및 하이퍼텍스트 전송 프로토콜(HTTP) 스트리밍용 적분 제어기 기반 페이싱 프로세스를 포함하고,
    상기 프로세스는, 네트워크에서 제어 잡음의 존재 시 목표 비트레이트를 유지하면서 미디어 플레이어에 멀티미디어 클립의 요청 부분을 전달하는 단계를 포함하는 것인 서버.
  12. 제11항에 있어서, 상기 멀티미디어 클립의 상기 요청 부분을 전달하는 단계는,
    목표 전송 레이트를 추정하는 단계;
    목표 탄성 버퍼를 결정하는 단계; 및
    현재 전송 에포크에서 보낼 바이트 수를 추정하는 단계를 포함하는 것인 서버.
  13. 제12항에 있어서, 상기 목표 전송 레이트를 추정하는 단계는 상기 멀티미디어 클립의 상기 부분의 사이즈 및 시간 듀레이션에 대한 정보를 획득하도록 미디어 컨테이너를 파싱하는 단계를 포함하는 것인 서버.
  14. 제12항에 있어서, 상기 목표 전송 레이트를 추정하는 단계는 미디어 인코딩 비트레이트를 컨테이너 헤더에서 알아내는 단계를 포함하는 것인 서버.
  15. 제12항에 있어서, 상기 목표 탄성 버퍼를 결정하는 단계는 멀티미디어 클립 컨텐트의 양을 (사용자 장비에 의해 인지된 디스플레이 시간) - (그것을 전달하는데 요구되는 벽시계 시간)으로 측정하는 단계를 포함하는 것인 서버.
  16. 제12항에 있어서, 상기 현재 전송 에포크에서 보낼 바이트 수를 추정하는 단계는 상기 현재 에포크에서 보낼 바이트 수를 (상기 목표 비트레이트) × (추정된 에포크 길이 및 시작 전송)에 의해 획득된 값으로 초기화하는 단계를 포함하는 것인 서버.
  17. 제16항에 있어서, 상기 프로세스는,
    각각의 에포크에서, 평균 전송 비트레이트를 (총 전송 바이트 수) ÷ (첫 바이트 전송 후의 경과 시간)으로서 컴퓨팅하는 단계;
    적분 제어를 위해 상기 현재 에포크에서 보낼 바이트 수를 업데이트하는 단계; 및
    멀티미디어 컨텐트의 에포크 양을 보내도록 업데이트된 바이트를 전송하는 단계를 더 포함하는 것인 서버.
KR1020147031764A 2012-04-23 2012-04-23 Http 의사 스트리밍용 적분 제어기 기반 페이싱 KR101931407B1 (ko)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2012/034690 WO2013162506A1 (en) 2012-04-23 2012-04-23 Integral controller based pacing for http pseudo-streaming

Publications (2)

Publication Number Publication Date
KR20150010731A true KR20150010731A (ko) 2015-01-28
KR101931407B1 KR101931407B1 (ko) 2018-12-20

Family

ID=49483620

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020147031764A KR101931407B1 (ko) 2012-04-23 2012-04-23 Http 의사 스트리밍용 적분 제어기 기반 페이싱

Country Status (7)

Country Link
EP (1) EP2842046A4 (ko)
JP (1) JP6425649B2 (ko)
KR (1) KR101931407B1 (ko)
CN (1) CN104380275B (ko)
HK (1) HK1207434A1 (ko)
IN (1) IN2014KN02382A (ko)
WO (1) WO2013162506A1 (ko)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2955381C (en) 2014-09-12 2022-03-22 Exxonmobil Upstream Research Company Discrete wellbore devices, hydrocarbon wells including a downhole communication network and the discrete wellbore devices and systems and methods including the same
US10526888B2 (en) 2016-08-30 2020-01-07 Exxonmobil Upstream Research Company Downhole multiphase flow sensing methods
US10397286B2 (en) 2017-05-05 2019-08-27 At&T Intellectual Property I, L.P. Estimating network data streaming rate
US10382517B2 (en) 2017-06-09 2019-08-13 At&T Intellectual Property I, L.P. Estimating network data encoding rate
CN111201727B (zh) * 2017-10-13 2021-09-03 埃克森美孚上游研究公司 利用混合通信网络进行烃操作的方法和系统
US10837276B2 (en) 2017-10-13 2020-11-17 Exxonmobil Upstream Research Company Method and system for performing wireless ultrasonic communications along a drilling string
US10844708B2 (en) 2017-12-20 2020-11-24 Exxonmobil Upstream Research Company Energy efficient method of retrieving wireless networked sensor data
US11156081B2 (en) 2017-12-29 2021-10-26 Exxonmobil Upstream Research Company Methods and systems for operating and maintaining a downhole wireless network
CA3086529C (en) 2017-12-29 2022-11-29 Exxonmobil Upstream Research Company Methods and systems for monitoring and optimizing reservoir stimulation operations
US11293280B2 (en) 2018-12-19 2022-04-05 Exxonmobil Upstream Research Company Method and system for monitoring post-stimulation operations through acoustic wireless sensor network
US11952886B2 (en) 2018-12-19 2024-04-09 ExxonMobil Technology and Engineering Company Method and system for monitoring sand production through acoustic wireless sensor network

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FI113124B (fi) * 1999-04-29 2004-02-27 Nokia Corp Tiedonsiirto
JP3432769B2 (ja) * 1999-05-24 2003-08-04 松下電器産業株式会社 帯域制御装置
US7539756B2 (en) * 2002-01-31 2009-05-26 Darby & Mohaine, L.L.C. Method and system of data packet transmission timing for controlling bandwidth
EP1359722A1 (en) * 2002-03-27 2003-11-05 BRITISH TELECOMMUNICATIONS public limited company Data streaming system and method
SG111978A1 (en) * 2002-11-20 2005-06-29 Victor Company Of Japan An mpeg-4 live unicast video streaming system in wireless network with end-to-end bitrate-based congestion control
US7234007B2 (en) 2003-09-15 2007-06-19 Broadcom Corporation Adjustable elasticity FIFO buffer have a number of storage cells equal to a frequency offset times a number of data units in a data stream
WO2005043329A2 (en) * 2003-10-31 2005-05-12 Sony Corporation System, method, and computer program product for remotely determining the configuration of a multi-media content user
DK1716672T3 (da) * 2004-02-20 2009-06-02 Ericsson Telefon Ab L M Fremgangsmåde, apparat og computerprogram-produkt til at styre datapakke-transmissioner
JP2006303724A (ja) * 2005-04-18 2006-11-02 Sumitomo Electric Ind Ltd 可変長フレームのシェーピング装置およびシェーピング方法
US8112513B2 (en) 2005-11-30 2012-02-07 Microsoft Corporation Multi-user display proxy server
CN100438504C (zh) * 2006-05-15 2008-11-26 武汉虹旭信息技术有限责任公司 一种流媒体发送速率控制方法
US8812673B2 (en) * 2007-02-14 2014-08-19 Alcatel Lucent Content rate control for streaming media servers
JP5234719B2 (ja) * 2007-03-30 2013-07-10 三菱電機株式会社 映像サーバ装置
US7991904B2 (en) * 2007-07-10 2011-08-02 Bytemobile, Inc. Adaptive bitrate management for streaming media over packet networks
US8812712B2 (en) * 2007-08-24 2014-08-19 Alcatel Lucent Proxy-driven content rate selection for streaming media servers
US7895629B1 (en) * 2007-11-07 2011-02-22 At&T Mobility Ii Llc Video service buffer management in a mobile rate control enabled network
CN101646075B (zh) * 2008-08-06 2011-07-13 中兴通讯股份有限公司 一种多媒体码流的码率调整装置及方法
EP2321969A4 (en) * 2008-09-09 2012-05-09 Onmobile Global Ltd METHOD AND APPARATUS FOR VIDEO TRANSMISSION
US8553540B2 (en) * 2010-03-05 2013-10-08 Microsoft Corporation Congestion control for delay sensitive applications
CN102598628A (zh) * 2010-03-15 2012-07-18 莫维克网络公司 用于多媒体传送的自适应分块和内容感知同步设备及方法
US8504713B2 (en) * 2010-05-28 2013-08-06 Allot Communications Ltd. Adaptive progressive download
US20110299589A1 (en) * 2010-06-04 2011-12-08 Apple Inc. Rate control in video communication via virtual transmission buffer

Also Published As

Publication number Publication date
JP6425649B2 (ja) 2018-11-21
CN104380275B (zh) 2017-10-13
EP2842046A1 (en) 2015-03-04
IN2014KN02382A (ko) 2015-05-01
CN104380275A (zh) 2015-02-25
KR101931407B1 (ko) 2018-12-20
WO2013162506A1 (en) 2013-10-31
JP2015520964A (ja) 2015-07-23
EP2842046A4 (en) 2016-01-06
HK1207434A1 (en) 2016-01-29

Similar Documents

Publication Publication Date Title
KR101931407B1 (ko) Http 의사 스트리밍용 적분 제어기 기반 페이싱
EP2608559B1 (en) System and method for adaptive streaming in a multipath environment
US9473406B2 (en) On-demand adaptive bitrate management for streaming media over packet networks
US9191664B2 (en) Adaptive bitrate management for streaming media over packet networks
US8769141B2 (en) Adaptive bitrate management for streaming media over packet networks
US9288251B2 (en) Adaptive bitrate management on progressive download with indexed media files
US20170208106A1 (en) Integral controller based pacing for http pseudo-streaming
WO2013023271A1 (en) Dynamic bit rate adaptation over bandwidth varying connection
CN107210999B (zh) 链路感知流送自适应
CN111886875B (zh) 一种通过网络传送媒体内容的方法及服务器

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