KR20150103074A - 하이퍼텍스트 전송 프로토콜(http) 요청들에 대한 탄성적 응답 시간 - Google Patents

하이퍼텍스트 전송 프로토콜(http) 요청들에 대한 탄성적 응답 시간 Download PDF

Info

Publication number
KR20150103074A
KR20150103074A KR1020157019689A KR20157019689A KR20150103074A KR 20150103074 A KR20150103074 A KR 20150103074A KR 1020157019689 A KR1020157019689 A KR 1020157019689A KR 20157019689 A KR20157019689 A KR 20157019689A KR 20150103074 A KR20150103074 A KR 20150103074A
Authority
KR
South Korea
Prior art keywords
processor
request
server
available
http
Prior art date
Application number
KR1020157019689A
Other languages
English (en)
Other versions
KR101675055B1 (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 KR20150103074A publication Critical patent/KR20150103074A/ko
Application granted granted Critical
Publication of KR101675055B1 publication Critical patent/KR101675055B1/ko

Links

Images

Classifications

    • 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
    • H04L67/325
    • 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/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/756Media network packet handling adapting media to device 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]
    • H04L67/327
    • 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/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/62Establishing a time schedule for servicing the requests
    • 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/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/63Routing a service request depending on the request content or context
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/28Timers or timing mechanisms used in protocols
    • 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/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/2407Monitoring of transmitted content, e.g. distribution time, number of downloads
    • 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/2408Monitoring of the upstream path of the transmission network, e.g. client requests
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/262Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/442Monitoring of processes or resources, e.g. detecting the failure of a recording device, monitoring the downstream bandwidth, the number of times a movie has been viewed, the storage space available from the internal hard disk
    • H04N21/44204Monitoring of content usage, e.g. the number of times a movie has been viewed, copied or the amount which has been watched
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/442Monitoring of processes or resources, e.g. detecting the failure of a recording device, monitoring the downstream bandwidth, the number of times a movie has been viewed, the storage space available from the internal hard disk
    • H04N21/44209Monitoring of downstream path of the transmission network originating from a server, e.g. bandwidth variations of a wireless network
    • 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/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/632Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing using a connection between clients on a wide area network, e.g. setting up a peer-to-peer communication via Internet for retrieving video segments from the hard-disk of other client devices
    • 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/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/637Control signals issued by the client directed to the server or network components
    • H04N21/6377Control signals issued by the client directed to the server or network components directed to server
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/845Structuring of content, e.g. decomposing content into time segments
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/845Structuring of content, e.g. decomposing content into time segments
    • H04N21/8456Structuring of content, e.g. decomposing content into time segments by decomposing the content in the time domain, e.g. in time segments

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Databases & Information Systems (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Information Transfer Between Computers (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Computer And Data Communications (AREA)
  • Computer Security & Cryptography (AREA)

Abstract

다양한 실시형태들의 시스템들, 방법들 및 디바이스들은, 서버가 요청을 제출하도록 탄성적 응답 시간을 가능하게 한다. 이러한 방식으로, 서버는 오브젝트/세그먼트 가용 상태의 예측불가능한 지연을 고려하고 제출 비가용 상태가 일시적이고 네트워크 지연들로 인한 것인 경우 요청들의 제출에 응답하여 에러 메시지들(예를 들어, 404 에러 메시지들)이 리턴되는 빈도를 감소시킬 수 있다.

Description

하이퍼텍스트 전송 프로토콜(HTTP) 요청들에 대한 탄성적 응답 시간{ELASTIC RESPONSE TIME TO HYPERTEXT TRANSFER PROTOCOL (HTTP) REQUESTS}
[0001]본 출원은, 2012년 12월 28일자로 출원된 "Device Timing Adjustments and Method for Supporting DASH Over Broadcast"라는 명칭의 미국 가특허 출원 제61/747,188호에 대한 우선권의 이익을 주장하고, 그에 의해 상기 가특허 출원의 전체 내용들이 인용에 의해 포함된다.
[0002]하이퍼 텍스트 전송 프로토콜 (HTTP) 스트리밍은 현재, 인터넷을 통해 콘텐츠를 전달하는 가장 인기있는 방법이다. 생방송의 경우, 콘텐츠는 일정한 지속기간 세그먼트들을 통해 점진적으로 이용 가능해 질 수 있다. 세그먼트의 가용 상태(availability)는, 각각의 연속적인 세그먼트가 HTTP 서버에서 가용 상태가 되는 시기를 나타내는 타임 라인을 따른다.
[0003]DASH(Dynamic Adaptive Streaming Over Hypertext Transfer Protocol)는 HTTP 스트리밍을 구현하는 표준이다. DASH는 MPD(Media Presentation Description)에 세그먼트 가용 상태를 통지한다. MPD는, 세그먼트들, 세그먼트들이 가용 상태에 있는 시간들, 및 세그먼트들의 사이즈를 통지하는 세그먼트 가용 타임라인이다.
[0004]현재 시스템에서, MPD는 OTA(Over-the-Air) 전달을 통해 수신기 디바이스로 제공된다. 제공된 MPD에서, 세그먼트 가용 시간들은 세그먼트들을 생성하는 네트워크 측 인코더의 인코더 출력 시간에 대응할 수 있다. 세그먼트 가용 시간들이 인코더 출력 시간에 대응할 수 있기 때문에, 이 가용 시간들은 수신기 디바이스에서 실행되는 DASH 클라이언트에 대한 실제 세그먼트 가용 상태의 차이(difference)들, 이를 테면, 전달 경로 지연들, 수신기 디바이스의 처리 지연들, 또는 수신기 디바이스 클록 드리프트를 고려하지 않을 수 있다. 이와 같이, 세그먼트가 DASH 클라이언트에 대해 가용 상태가 될 시기에, 현재 MPD들에 통지된 가용 시간들은 실제 시간들과 일치하지 않을 수 있다.
[0005]DASH 콘텐츠가 콘텐츠 전달 네트워크(CDN;Content Delivery Network)들을 통해 전달될 때, 유사한 문제가 발생한다. DASH 콘텐츠가 소스 인코더에서 생성되지만, 원격 CDN 서버들에서의 세그먼트의 가용 시간은 서로 다른 CDN 서빙 포인트들에서 상이할 수 있다.
[0006]다양한 실시형태들의 시스템들, 방법들 및 디바이스들은, 서버가 요청을 제출(file)하도록 탄성적 응답 시간을 가능하게 한다. 이러한 방식으로, 서버는 오브젝트/세그먼트 가용 상태의 예측불가능한 지연을 고려하고 제출 비가용 상태가 일시적이고 네트워크 지연들로 인한 것인 경우 요청들의 제출에 응답하여 에러 메시지들(예를 들어, 404 에러 메시지들)이 리턴되는 빈도를 감소시킬 수 있다.
[0007]본원에 포함되고 본 명세서의 일부를 구성하는 첨부한 도면들은 본 발명의 예시적 실시예들을 예시하며, 위에서 주어진 일반적 설명 및 아래에서 주어진 상세한 설명과 함께, 본 발명의 특징들을 설명하는 역할을 한다.
[0008]도 1은 다양한 실시예들에서의 이용에 적합한 네트워크의 통신 시스템 블록도이다.
[0009]도 2는 일 실시형태에 따른 수신기 디바이스의 아키텍처를 도시하는 블록도이다.
[0010]도 3은 다른 실시형태에 따른 세그먼트 가용 시간을 도시한다.
[0011]도 4는 HTTP 요청에 대한 응답을 지연시키기 위한 실시형태 방법을 도시하는 프로세스 흐름도이다.
[0012]도 5는 일 실시형태에 따른 세그먼트 버퍼의 스테이터스를 시간에 따라 도시한다.
[0013]도 6은 다양한 실시형태들과 함께 사용하기 위해 적합한 예시적인 모바일 디바이스의 컴포넌트 흐름도이다.
[0014]도 7은 다양한 실시형태들과 함께 사용하기 위해 적합한 예시적인 서버의 컴포넌트 흐름도이다.
[0015]다양한 실시예들은 첨부한 도면들을 참조하여 상세하게 설명될 것이다. 가능하다면, 동일한 도면 번호들은 동일하거나 유사한 부분들을 지칭하기 위해 도면들 전반에 걸쳐 이용될 것이다. 특정 예들 및 구현들에 대해 이루어지는 언급들은 예시를 위한 것이며, 본 발명 또는 청구항들의 범위를 제한하는 것으로 의도되지 않는다.
[0016]"예시적"이라는 단어는 본원에서 "예, 예시 또는 예증으로서 제공되는"의 의미로 이용된다. "예시적"으로서 본원에 설명되는 임의의 구현은 반드시 다른 구현들보다 선호되거나 또는 유리한 것으로 해석되는 것은 아니다.
[0017]본원에 이용되는 바와 같이, "모바일 디바이스," "UE(user equipment)" 및 "수신기 디바이스"라는 용어들은, 셀룰러 전화들, 스마트 폰들, 개인용 또는 모바일 멀티-미디어 플레이어들, PDA(personal data assistants)들, 랩탑 컴퓨터들, 태블릿 컴퓨터들, 스마트 북들, 팜-탑(palm-top) 컴퓨터들, 무선 전자 메일 수신기들, 멀티미디어 인터넷 가능 셀룰러 전화들, 무선 게이밍 제어기들 및 파일들을 수신하고 파일들을 요청 애플리케이션들/클라이언트들, 이를 테면, 요청 DASH 클라이언트들에 제공하기 위한 프로그래머블 프로세서 및 메모리 및 회로소자를 포함하는 유사한 개인용 전자 디바이스들 모두 또는 이들 중 임의의 것을 지칭하기 위해 본원에서 상호교환가능하게 이용된다.
[0018]본원에 사용된 바와 같이, 용어 "세그먼트", "오브젝트" 및 "파일"은, 서버로부터 요청될 수 있는 데이터 구조들 또는 데이터 유닛들 중 어느 하나 또는 모두를 지칭하기 위해 본원에서 상호교환가능하게 사용된다.
[0019]DASH(Dynamic Adaptive Streaming Over Hypertext Transfer Protocol)는 HTTP 스트리밍을 구현하는 표준이다. DASH는 MPD(Media Presentation Description)의 세그먼트의 가용 상태를 통지한다. MPD는, 세그먼트들, 세그먼트들이 가용 상태에 있는 시간들, 및 세그먼트들의 사이즈를 통지하는 세그먼트 가용 타임라인이다. 현재 시스템들에서, MPD는 OTA(Over-the-Air) 전달을 통해 수신기 장치에 제공된다. 제 3 세대 파트너십 프로젝트(3GPP)는, 롱텀 에볼루션(LTE)을 통한 브로드캐스트(즉, 이벌브드 멀티미디어 브로드캐스트 멀티캐스트 서비스(eMBMS))를 이용하여 HTTP 스트리밍을 제공하는 데에 사용되는 방법으로서 다운로드 전달을 통한 표준화된 DASH를 지닌다.
[0020]상이한 애플리케이션들/클라이언트들, 미들웨어, 세그먼트 가용 타임라인들, 무선 기술들, 및 이송 프로토콜들의 다양한 예들이 본원에서, 특히 DASH 클라이언트들, 멀티캐스트 서비스 디바이스 클라이언트들, MPD들, eMBMS, 및 HTTP로서 논의된다. DASH 클라이언트들, 멀티캐스트 서비스 디바이스 클라이언트들, MPD들, eMBMS, 및 HTTP의 논의들은 다양한 실시형태들의 양상들을 더욱 양호하게 예시하기 위해서 단지 실시예들로서 제공될 뿐이고, 어떤 식으로든 다양한 실시형태들을 제한하고자 의도되지 않는다. 다양한 애플리케이션들/클라이언트들, 미들웨어, 세그먼트 가용 타임라인들, 무선 기술들, 및 이송 프로토콜들이 다양한 실시형태들과 함께 사용될 수 있고, 다른 애플리케이션들/클라이언트들, 미들웨어, 세그먼트 가용 타임라인들, 무선 기술들, 및 전송 프로토콜들은 본 발명의 정신 또는 범위로부터 벗어나지 않고 다양한 실시예들에서 치환될 수 있다.
[0021]다양한 실시형태들은 수신기 디바이스가 그 수신기 디바이스에서의 사용을 위해 데이터 스트림의 데이터 세그먼트들의 가용 상태("세그먼트 가용 상태")의 지연들을 고려할 수 있게 한다. 일 실시형태에서, 서버(예를 들어, 요청 DASH 클라이언트들과 같은 요청 애플리케이션들/클라이언트들에 세그먼트들을 제공하는 수신기 디바이스 상의 로컬 HTTP 서버)는 세그먼트 요청들에 응답하여 세그먼트들의 서빙을 위해 탄성적 응답 시간들에 따라 동작할 수 있다. 이러한 방식으로, 서버는 세그먼트 가용 상태의 예측불가능한 지연을 고려할 수 있다.
[0022]일 실시형태에서, 네트워크 지터 추정치들이, 수신기 디바이스로 전송된 세그먼트 가용 타임라인(예를 들어, MPD)을 기술하는 미디어 디스크립션 프래그먼트에 제공될 수 있다. 다른 실시형태에서, 네트워크 지터는 수신기 디바이스 상에 미리-프로비저닝될 수 있다 (예를 들어, 제조 시 수신기 디바이스의 비휘발성 메모리에 저장될 수 있다). 다른 실시형태에서, 네트워크 지터 추정치가 임의의 메시지로, 이를 테면 서비스 통지로 수신기 디바이스에 전달될 수 있다. 본원에 사용된 바와 같이, "지터"는, 세그먼트의 가장 이른 가능한 도달시간과 가장 늦은 가능한 도달 시간 간의 차를 세그먼트의 가용 타임라인으로부터의 차를 지칭한다.
[0023]본원에 사용된 바와 같이, "네트워크 지터"는 수신기 디바이스에서의 세그먼트의 가장 이른 상대적인 도달 시간과 가장 늦은 상대적인 도달 시간 간의 최대 차를 지칭한다. 상대적인 도달 시간은 전달 타임라인에 따른 절대 도달 시간과 예상 도달 시간 간의 차를 지칭한다. 일 실시형태에서, 전달 타임라인은 서비스의 매체를 전달하는 세그먼트들의 리스트에 있는 모든 각각의 세그먼트의 예상 도달 시간을 제공하고, 전달 타임라인은, 다음 세그먼트 가용 상태가 제 1 세그먼트의 제공된 절대 가용 시간에 기초하여 선행 세그먼트의 가용 상태 플러스 선행 세그먼트의 지속기간의 것이 될 수 있도록 정의될 수 있다. 다른 실시형태에서, 가용 시간은 후속 세그먼트들에 대한 절대값들로서 제공될 수 있다. 또 다른 실시형태에서, 가용 시간은, 기간들 내에서의 주기적인 가용 상태로서 제공될 수 있다. 추가적인 실시형태에서, 가용 시간은 절대값들과 기간 가용 상태들의 조합과 같은 메커니즘들의 조합으로서 제공될 수 있다. 네트워크 지터는 세그먼트 사이즈의 가변성, 스케줄링 기간 입도(예를 들어, 세그먼트들의 도달의 1초 주기를 중심으로 320ms 가변성의 멀티캐스트 채널(MCH) 스케줄링 기간 입도), 네트워크 장비 지연들(예를 들어, 대역폭, 전송 지연들, 프로세싱 지연들, 버퍼 지연들 등)과 관련될 수 있다. 네트워크 지터는 콘텍스트 의존성일 수 있다. 예를 들어, 비디오 세그먼트 사이즈의 가변성은 네트워크 지터 추정치들로 하여금 비디오 세그먼트의 평균 사이즈의 70% 내지 130%에서 가변적이게 할 수 있다.
[0024]본원에 사용된 바와 같이, "수신기 디바이스 지터"는 수신기 디바이스 상에서 실행되는 요청 애플리케이션/클라이언트에 대한 세그먼트의 도달 시간과 세그먼트의 가용 상태 사이의 최대 차를 지칭한다. 수신기 디바이스 지터는 세그먼트 사이즈의 가변성, 스케줄링 기간 입도(예를 들어, 세그먼트들의 도달의 1초 주기를 중심으로 320ms 가변성의 MCH 스케줄링 기간 입도), 수신기 디바이스에 관한 프로세싱 지연들(예를 들어, 순방향 에러 정정(FEC) 프로세싱, 디코딩 시간 등), 및 수신기 디바이스 클록 드리프트와 관련될 수 있다.
[0025]세그먼트 가용 타임라인(예를 들어, MPD)에서의 네트워크 지터 추정들의 전달은 수신기 디바이스 서버(예를 들어, 수신기 디바이스 상의 로컬 HTTP 서버)에서의 버퍼링 요건들의 보다 양호한 추정들, 수신기 디바이스 클록이 서버 클록과 동기화되지 않을 경우 타임라인 조정들에 대한 개선, 및/또는 타임라인 계산을 필요로 하지 않고 동작하는 탄성적 서버 응답 시간 알고리즘(예를 들어, 탄성적 HTTP 서버 응답 시간 알고리즘)을 가능하게 할 수 있다.
[0026]현재 시스템들에서, 디바이스에 제공된 MPD의 가용 시간은, 세그먼트들이 디바이스 상의 로컬 HTTP 서버 상에서 가용 상태가 된 이후에 모든 세그먼트 요청들이 이루어지도록 세팅될 수 있다. 그러나, 이것은, 세그먼트들이 로컬 HTTP 서버 상에서 가용 상태가 되도록 보증될 때까지, 서비스를 소비하는 사용자들에 대한 세그먼트들의 서빙 지연 시에, 제공된 MPD 결과들의 조정 시에 확립된다. 예들로서, 현재 시스템들에서, 지터가 크고, 통계 이상점들을 제외하고 지연이 작거나, 또는 디바이스에 클록 드리프트가 있는 경우라면, 제공된 MPD에서의 가용 시간은 최악의 경우의 클록 드리프트(예를 들어, 1초, 2초, 수초 등)에 대해 미리 조정될 것이다. 그 결과, 각각의 세그먼트의 가용 시간이 최악의 경우의 클록 드리프트(최악의 경우의 지연이 발생하고 있는 중인지 여부)의 경우 조정되기 때문에, 세그먼트들이 수신기 디바이스에서 실제로 가용 상태에 있는 시기보다 훨씬 더 나중에 세그먼트 요청들이 이루어질 것이다. 지연된 요청은, 전달 경로뿐만 아니라 채널 전환의 레이턴시와 최초 포착 지연들을 직접적으로 증가시킨다.
[0027]다양한 실시형태들의 시스템들, 방법들, 및 디바이스들은 서버가 요청들을 제출하도록 탄성적 응답 시간을 가능하게 한다. 이러한 방식으로, 서버는, 오브젝트/세그먼트 가용 상태의 예측불가능한 지연을 고려하고 제출 비가용 상태가 일시적이고 네트워크 지연들로 인한 것인 경우 요청들을 제출하는 것에 응답하여 에러 메시지들(예를 들어, 404 에러 메시지들)이 리턴되는 빈도를 감소시킬 수 있다. 다양한 실시형태들에서, 서버에 의한 요청들의 제출에 대한 탄성적 응답 시간들은, 레이턴시 및 지연들을 감소시킬 수 있고 세그먼트들이 실제로 수신될 때 가용 상태가 되게 할 수 있다. 일 실시형태에서, MPD에서의 가용 시간들은 클록 드리프트를 고려하지 않고 통상의 지연들(예를 들어, 90 퍼센트의 지연)을 고려하도록 세팅될 수 있다. 일 실시형태에서, DASH 클라이언트는 수신된 MPD에 나열된 시간보다 더 빨리 세그먼트들을 요청하도록 인에이블될 수 있고 서버에 의한 요청들의 제출에 대한 탄성적 응답 시간들에 기초하여 세그먼트가 가용 상태가 되자마자 또는 그 즉시 세그먼트들을 서빙받을 수 있다.
[0028]도 1은 다양한 구현들에 이용하기에 적합한 셀룰러 네트워크 시스템(100)을 도시한다. 셀룰러 네트워크 시스템(100)은, 인터넷(110)에 연결된 수신기 디바이스(102), 하나 또는 둘 이상의 셀룰러 타워들 또는 기지국들(104) 및 서버들(108 및 112)과 같은 다수의 디바이스들을 포함할 수 있다. 수신기 디바이스(102)는 셀룰러 타워 또는 기지국(104)과의 하나 또는 둘 이상의 셀룰러 연결들(106)(CDMA, TDMA, GSM, PCS, 3G, 4G, LTE 또는 임의의 다른 타입의 연결을 포함함)을 통해 데이터를 교환할 수 있다. 셀룰러 타워 또는 기지국(104)은 인터넷(110)에 연결할 수 있는 라우터와 통신할 수 있다. 이러한 방식으로, 셀룰러 타워 또는 기지국(104) 및/또는 인터넷(110)으로의 연결들을 통해, 데이터는 수신기 디바이스(102)와 서버(들)(108 및 112) 사이에서 교환될 수 있다. 실시형태에서, 서버(108)는 DASH 클라이언트를 통한 출력을 위해 MPD들 및 세그먼트들을 제공하는 콘텐츠 제공자 서버 또는 인코더일 수 있다. 일 실시형태에서, 서버(112)는 인코더로부터 출력된 MPD들 및 세그먼트들을 수신할 수 있고 수신기 디바이스(102)로의 MPD들 및 세그먼트들의 OTA 송신을 제어할 수 있는 BMSC(Broadcast Multimedia Service Center) 서버일 수 있다. 물론, 본원에 설명된 수신기 디바이스들의 피쳐들이 OTA 송신들과 관련하여 설명될 수 있지만, 이러한 피쳐들은 유선 송신들, 무선 송신들, 또는 유선 및 무선 송신들의 조합과 연결하여 사용될 수 있다. 이와 같이, OTA 송신이 요구되지 않는다.
[0029]도 2는 일 실시형태에 따른 단순화된 수신기 디바이스(202) 아키텍쳐를 도시한다. 수신기 디바이스(202)는, 포착(acquisition), 핸드오프, 링크 유지보수 등과 같은 수신기 디바이스(202)의 모든 무선 양상들을 관리하는 모뎀 계층(208)을 포함할 수 있다. 모뎀 계층(208)은 수신된 eMBMS 베어러 신호를 디코딩하고 인터넷 프로토콜(IP) 패킷들을 MSDC(Multicast Service Device Client)(206)로 전달할 수 있다. 멀티캐스트 서비스 디바이스 클라이언트(206)는, 전달된 IP 패킷들로부터의 세그먼트들을 복원하고 세그먼트들이 애플리케이션/DASH 클라이언트(204)와 같은 애플리케이션들/클라이언트들에 대하여 가용 상태가 되게 하는 수신기 디바이스(202)의 서비스 계층일 수 있다. 멀티캐스트 서비스 디바이스 클라이언트(206)는 또한 전달된 IP 패킷들로부터 MPD를 복원할 수 있다. 멀티캐스트 서비스 디바이스 클라이언트(206)는 수신된 세그먼트들을 수신기 디바이스의 메모리에 저장할 수 있다. 일 실시형태에서, 멀티캐스트 서비스 디바이스 클라이언트(206)는, 수신기 디바이스(202)가 세그먼트들을 애플리케이션들/클라이언트들, 이를 테면, 애플리케이션/DASH 클라이언트(204)로 제공하는 경우, 로컬 HTTP(Hypertext Transfer Protocol) 서버로서 동작할 수 있다. 다른 실시형태에서, 멀티캐스트 서비스 디바이스 클라이언트(206)는 세그먼트들을 애플리케이션들/클라이언트들, 이를 테면, 애플리케이션/DASH 클라이언트(204)로 제공하기 위해서 수신기 디바이스(202)에서 별개의 로컬 HTTP(Hypertext Transfer Protocol) 서버와 함께 동작할 수 있다. 애플리케이션/DASH 클라이언트(204)는 DASH 인에이블 애플리케이션 및/또는 매체를 (직접적으로 그리고/또는 미디어 플레이어와 같은 다른 애플리케이션을 통해) 제공하기 위해서 DASH 클라이언트를 런칭하는 애플리케이션일 수 있다. 애플리케이션/DASH 클라이언트(204)는 멀티캐스트 서비스 디바이스 클라이언트(206)로부터의 MPD 위치(예를 들어, URL(Uniform Resource Locator))를 획득하고, 멀티캐스트 서비스 디바이스 클라이언트(206)로부터 MPD를 요청하고 수신할 수 있고, MPD의 가용 타임라인 단위로 멀티캐스트 서비스 디바이스 클라이언트(206)로부터 세그먼트들을 요청할 수 있다. 애플리케이션/DASH 클라이언트(204)는 멀티캐스트 서비스 디바이스 클라이언트(206)로부터 요청 세그먼트들을 수신할 수 있고 세그먼트 콘텐츠를 (직접적으로 그리고/또는 멀티미디어 플레이어와 같은 다른 애플리케이션을 통해) 렌더링할 수 있다.
[0030]도 3은, eMBMS 수신기 디바이스들과 같은 수신기 디바이스들에 의해 경험될 수 있는 세그먼트 가용 상태에 관한 스트리밍 경로 상의 다양한 지연들과 그러한 지연들의 효과들을 시간에 따라 도시한다. 세그먼트들이 인코더에서 생성되고 LTE 브로드캐스트 네트워크와 같은 브로드캐스트 네트워크를 통해 브로드캐스팅될 수 있다. 브로드캐스트 세그먼트들은, 수신기 디바이스에 수신되어 로컬 HTTP 서버에 저장되고 수신기 디바이스에서 실행 중인 DASH 클라이언트에 의한 소비를 위해 가용 상태가 될 수 있다. DASH 클라이언트는 세그먼트들과 연관된 서비스의 MPD에 나열된 세그먼트 가용 시간에 따라 세그먼트들을 요청할 수 있다. 세그먼트들은, MPD에 나열된 가용 시간을 초과하여 수신기 디바이스에서 수신될 경우 비가용 상태일 수 있다. 도 3에 도시된 실시형태에서, 수신기 디바이스 상의 로컬 호스트 HTTP 서버는 비가용 상태의 세그먼트들에 대한 요청들을 보유할 수 있게 될 수 있다. 이러한 방식으로, 세그먼트가 늦게 도달하면, 그 세그먼트에 대한 요청이 세그먼트가 가용 상태에 있을 때까지 보유될 수 있기 때문에 이런 늦은 도달이 수용될 수 있다.
[0031]일 실시형태에서, 라이브 레코딩된 원시 미디어 소스가 인코더에 의해 세그먼트들(예를 들어, 도 3에 도시된 0, 1, 2, 3, 4, 5, 6)로 분리될 수 있다. 인코더는 네트워크 시간 프로토콜(NTP) 시간에 따라 세그먼트들의 경계들을 동기화할 수 있고 세그먼트들(0, 1, 2, 3, 4, 5, 6)이 인코딩 지연 이후 인코더로부터 출력될 수 있다. 일 실시형태에서, 인코더는 세그먼트들(0, 1, 2, 3, 4, 5, 6)의 가용 시간들을 나열하는 가용 타임라인(예를 들어, 인코더 생성 MPD)을 인코더 출력 시간으로서 생성할 수 있다. 인코더는 세그먼트들(0, 1, 2, 3, 4, 5, 6) 및 MPD를 BMSC에 전송할 수 있고 세그먼트들(0, 1, 2, 3, 4, 5, 6)의 BMSC로의 전송은 세그먼트들(0, 1, 2, 3, 4, 5, 6)을 추가로 지연시킬 수 있다. BMSC는, 세그먼트들을 MSP(media segment packet)들로 분리되도록 세그먼트들을 프로세싱하고, MSP들을 동기화하고, OTA 송신을 위해 MSP들을 스케줄링할 수 있다. 각각의 MSP에는 1초와 같은 세트 MSP 지속기간이 할당될 수 있다. MSP들은 수신기 디바이스로 OTA 브로드캐스트될 수 있고 수신기 디바이스에서 세그먼트에 대한 MSP들의 수신 시 세그먼트가 디바이스에서 수신될 수 있다. 일 실시형태에서, 원시 미디어 소스 세그먼트 레코딩과 수신기 디바이스의 세그먼트에 대응하는 MSP들의 수신 사이의 시간이 네트워크 지터일 수 있다. 일 실시형태에서, BMSC는 또한 MPD를 수신기 디바이스로 전송할 수 있다. 세그먼트에 대응하는 MSP들이 수신기 디바이스에서 수신될 수 있지만, 수신기 디바이스에서 세그먼트들이 가용 상태가 되기 전에 추가 프로세싱이 요구될 수 있다. 추가 프로세싱은, 세그먼트들의 각각의 MSP들로부터 세그먼트들(0, 1, 2, 3, 4, 5, 6)을 팩킹해제하고 재구성하는 것, FEC를 적용하는 것, 세그먼트들을 디코딩하는 것 등을 포함할 수 있다. 수신기 디바이스에서의 최악의 경우의 프로세싱 지연은 추가로, 세그먼트들(0, 1, 2, 3, 4, 5, 6)의 가용 상태를 지연시킬 수 있다. 최악의 경우의 프로세싱 지연 이외에도, 수신기 클록 드리프트는 추가로 수신기 디바이스에서의 세그먼트들(0, 1, 2, 3, 4, 5, 6)의 가용 시간에 영향을 줄 수 있다.
[0032]일 실시형태에서, 세그먼트들(예를 들어, 0, 1, 2, 3, 4, 5, 6)이 수신기에 도달할 경우, 프로세싱은 세그먼트들의 가용 상태를 지연시킬 수 있고, 클록 드리프트는 애플리케이션들/DASH 클라이언트에 의한 조기 세그먼트 요청을 발생시킨다. 도 3에 예시된 실시형태에서, MPD에서의 통지 시간은 디바이스에서의 가장 빠른 가용 시간으로 세팅될 수 있다. 디바이스 클록 드리프트, 프로세싱 지연, 및/또는 전송 지터가 조기 세그먼트 요청을 발생시키는 경우(즉, 세그먼트들이 가용 상태이기 전에 세그먼트들을 요청함), 로컬 HTTP 서버는 디바이스 클록 드리프트, 프로세싱 지연, 및/또는 전송 지터를 고려하기 위해서 메모리에서 이러한 요청들을 홀딩하고(즉, 요청들을 즉시 프로세싱하지 않음), 그리고/또는 지터를 전송하고 세그먼트가 가용 상태가 될 때 요청된 세그먼트로 응답한다. 이러한 방식으로, 세그먼트 프로세싱 시 클록 드리프트 및 가변성이 고려될 수 있다.
[0033]일 실시형태에서, 가용 타임라인을 적극적으로 조기에 형성시키는 것은 애플리케이션/DASH 클라이언트들이 시작 시간에 모든 필수 세그먼트들을 요청하지 못하게 할 수 있는데, 이는 세그먼트 가용 타임라인에 나열된 세그먼트들이 애플리케이션/DASH 클라이언트의 시작 시간 이전이었던 대응하는 가용 시간을 가질 수 있기 때문이다. 일 실시형태에서, 애플리케이션들/DASH 클라이언트들은 가용 상태 타임라인 단위로 현재 가용 상태인 것으로 나열된 세그먼트들 및 더 조기에 가용 상태에 있었던 세그먼트들(예를 들어, 가용 시간이 MPD의 타임라인 단위로 현재 가용 상태인 세그먼트의 가용 시간 전의 1개, 2개, 또는 그보다 많은 세그먼트들) 둘 모두에 대해 세그먼트 요청을 할 수 있게 될 수 있다. 일 실시형태에서, 애플리케이션들/DASH 클라이언트들은 애플리케이션의 시동 시간에 모든 수신된 세그먼트들을 요청할 수 있다. 일 실시형태에서, 요청되었을 수 있는 과거 세그먼트들의 수는 세그먼트 지속기간에 의해 분할된 지연 지터로서 결정될 수 있다. 일예로, 지터가 3초인 경우, 세그먼트 지속기간은 1초이고, 서비스가 8:00:00에 시작되고, 인덱스가 100인 세그먼트는 MPD 단위로 8:00:00에 이용 가능하며, 그 결과 애플리케이션/DASH 클라이언트는, 3개의 세그먼트들이 요청되어야 한다(즉, 3초 지터를 1초 세그먼트 지속기간으로 나눔)는 것을 결정하고 시동 시 세그먼트들 98, 99 및 100 요청을 발행할 수 있다.
[0034]일 실시형태에서, HTTP 서버가 요청을 홀딩할 수 있게 함으로써 탄성적 응답 시간이 HTTP 요청들을 하게 하는 것은 시동, 양단간(end-to-end), 및 스위칭 지연들을 감소시킬뿐만 아니라 제 1 세그먼트가 수신되는 즉시 미디어 플레이어가 시작할 수 있게 한다. 제 1 세그먼트가 수신되는 즉시 미디어 플레이어가 시작하는 것에 대한 단점은, 다음 세그먼트의 가용 상태가 지연되는 경우 재-버퍼링 이벤트가 발생할 수 있다는 것일 수 있다. 이외에도, 느린 드리프팅 클록들이 존재하는 상황들에서 제 1 세그먼트가 수신되는 즉시 미디어 플레이어가 시작하는 것은 주기적인 긴 인터벌들로 재-버퍼링 해프닝이 발생할 수 있다.
[0035]도 4는 HTTP 요청에 대한 응답을 지연시키기 위한 실시형태의 방법(400)을 도시한다. 세그먼트들을 DASH 클라이언트로 제공하는 로컬 호스트 서버에 의한 지연 응답과 관련하여 논의되었지만, 방법(400)의 동작들은 요청들의 제출에 응답하여 지연시키도록 HTTP 서버에 의해 수행될 수 있다. 블록(402)에서, HTTP 서버는 HTTP Get() 요청을 수신할 수 있다. 일 실시형태에서, HTTP Get() 요청은 DASH 클라이언트로부터의 세그먼트 요청일 수 있다. 블록(404)에서, HTTP 서버는 그 요청에 대한 홀드 클록을 시작할 수 있다. 블록(406)에서, HTTP 서버는 요청된 세그먼트가 가용 상태인지 여부를 결정할 수 있다. 세그먼트가 가용 상태인 경우(즉, 결정 블록(406="예")), 블록(418)에서, HTTP 서버는, 세그먼트를 요청자(예를 들어, DASH 클라이언트)에게 전송할 수 있고, 블록(420)에서, 홀드 클록을 리셋할 수 있다. 블록(402)에서, HTTP 서버는 다음 HTTP Get() 요청을 대기하기 위해 블록(402)으로 리턴할 수 있다.
[0036]세그먼트가 비가용 상태인 경우(즉, 결정 블록(406)="아니오"), 블록(408)에서, HTTP 서버가 HTTP Get() 요청을 홀딩할 수 있다. 블록(410)에서, HTTP 서버는 그 시리즈 내의 다음 세그먼트가 가용 상태인지 여부를 결정할 수 있다. 일 실시형태에서, MPD에 나열된 다음 세그먼트가 이미 가용 상태인 경우 누락 세그먼트가 요청되지 않을 수 있다. 다음 세그먼트가 가용 상태인 경우(즉, 결정 블록(410)="예"), 블록(414)에서, HTTP 서버는 HTTP 400 시리즈 응답(예를 들어, 404 또는 410)과 같은 에러 인디케이션을 요청자(예를 들어, DASH 클라이언트)에게 전송할 수 있다. 블록(416)에서, HTTP 서버는 홀드 클록을 리셋할 수 있다. 블록(402)에서, HTTP 서버는 다음 HTTP Get() 요청을 대기하기 위해 블록(402)으로 리턴할 수 있다.
[0037]다음 세그먼트가 비가용 상태인 경우(즉, 결정 블록(410)="아니오"), 결정 블록(412)에서, HTTP 서버는 홀드 시간 임계치가 초과하였는지 여부를 결정할 수 있다. 일 실시형태에서, 홀드 시간 임계치는 지연 지터 플러스 세그먼트 지속기간 플러스 현재 시간일 수 있다. 일 실시형태에서, 홀드 시간 임계치는 요청 세그먼트가 HTTP 서버로 전달되는 예상 전달 시간에 적어도 부분적으로 기초될 수 있다. 추가적인 실시형태에서, 홀드 시간 임계치는 또한 전달 지연 또는 프로세싱 지연을 고려한 세이프티 마진을 포함할 수 있다. 다른 실시형태에서, 홀드 시간 임계치는 세그먼트 가용 타임라인에서의 세그먼트의 가용 시간일 수 있다. 예로서, 홀드 시간 임계치는 요청된 DASH 세그먼트를 기술하는 MPD에 나열된 전달 시간에 적어도 부분적으로 기초될 수 있다.
[0038]홀드 시간 임계치는, 홀드 클록 상의 시간이 홀드 시간 임계치보다 더 큰 경우 초과될 수 있다. 홀드 시간 임계치가 초과되는 경우(즉, 결정 블록 412="예"), 블록(414)에서, HTTP 서버는 HTTP 400 시리즈 응답(예를 들어, 404 또는 410)과 같은 에러 인디케이션을 요청자(예를 들어, DASH 클라이언트)에게 전송할 수 있다. 블록(416)에서, HTTP 서버는 홀드 클록을 리셋할 수 있다. 블록(402)에서, HTTP 서버는 다음 HTTP Get() 요청을 대기하기 위해 블록(402)으로 리턴할 수 있다. 홀드 시간 클록이 초과되지 않는 경우(즉, 결정 블록(412)="아니오"), 블록(406)에서, HTTP 서버는 세그먼트가 가용 상태가 되었는지 여부를 결정할 수 있다. 이 방식에서, HTTP Get() 요청은, 세그먼트가 가용 상태이거나, 다음 세그먼트가 가용 상태이거나, 또는 홀드 시간 임계치가 초과될 때까지 홀딩될 수 있다.
[0039]도 5는 탄성 서버에 대한 홀드 시간 임계치를 결정하기 위해서 사용될 수 있는 일 실시형태에 따른 시간에 따른 세그먼트 버퍼의 상태를 도시한다. 일 실시형태에서, 세그먼트 N이 수신된 후, 수신기 디바이스 지터 지연은, 세그먼트 N이 로컬 HTTP 서버에서 즉시 가용 상태가 되지 않게 할 수 있다. 일단 세그먼트 N이 가용 상태가 되면, 세그먼트 지속기간 플러스 MPD@TimeShiftBufferDepth는, 세그먼트가 버퍼에서 삭제될 수 있기 직전의, 세그먼트 용으로 남아있는 버퍼 시간을 정의할 수 있다. 일 실시형태에서, 수신기 디바이스 지터 지연과 세그먼트에 대해 남아있는 시간을 고려하기 위해서, 비가용 상태의 세그먼트들에 대한 HTTP Get() 요청들을 홀딩하기 위한 홀드 시간 임계치는 수신기 디바이스 지터 지연 플러스 세그먼트 지속기간 플러스 MPD@TimeShiftBufferDepth로 세팅될 수 잇다.
[0040]다른 실시형태에서, 홀드 시간 임계치는 가변일 수 있다. 도 3을 참고로 하여 상술된 바와 같이, 세그먼트들은, 이들이 수신기 디바이스에서 가용 상태이기 전에 애플리케이션/DASH 클라이언트에 의해 요청될 수 있다. 일 실시형태에서, HTTP 서버는, 세그먼트가 실제로 수신되는 시간까지 HTTP Get() 요청들을 홀딩할 수 있게 될 수 있다. 이러한 방식으로, Get() 요청을 홀딩하는 세그먼트들은, 세그먼트들이 HTTP 서버에게 가용 상태가 되는 즉시 요청 애플리케이션/DASH 클라이언트에게 서빙될 수 있다.
[0041]다양한 실시형태들은 다양한 모바일 디바이스들(즉, 수신기 디바이스들) ―이들의 예가 도 6에 예시됨― 중 임의의 것으로 구현될 수 있다. 예를 들어, 모바일 디바이스(600)는 내부 메모리들(604 및 610)에 커플링된 프로세서(602)를 포함할 수 있다. 내부 메모리들(604 및 610)은 휘발성 또는 비휘발성 메모리들일 수 있으며, 또한, 안전한 그리고/또는 암호화된 메모리들, 또는 안전하지 않은 그리고/또는 암호화되지 않은 메모리들, 또는 이들의 임의의 결합일 수 있다. 프로세서(602)는 또한, 저항-감지 터치 스크린, 용량-감지 터치 스크린, 적외선 감지 터치 스크린 등과 같은 터치 스크린 디스플레이(606)에 커플링될 수 있다. 추가적으로, 모바일 디바이스(600)의 디스플레이는 터치 스크린 능력을 가질 필요가 없다. 추가적으로, 모바일 디바이스(600)는 프로세서(602)에 커플링된, 무선 데이터 링크 및/또는 셀룰러(예를 들어, CDMA, TDMA, GSM, PCS, 3G, 4G, LTE 또는 임의의 다른 타입) 트랜시버와 같은 하나 또는 둘 이상의 네트워크 트랜시버들(616)에 연결될 수 있는, 전자기 방사를 전송 및 수신하기 위한 하나 또는 둘 이상의 안테나(608)를 가질 수 있다. 모바일 디바이스(600)는 또한, 사용자 입력들을 수신하기 위한 물리적 버튼들(612a 및 612b)을 포함할 수 있다. 모바일 디바이스(600)는 또한, 모바일 디바이스(600)를 턴온 및 턴오프하기 위한 전원 버튼(618)을 포함할 수 있다.
[0042]다양한 실시예들은 또한, 도 7에 예시된 서버(700)와 같이 다양한 상업적으로 이용가능한 서버 디바이스들 중 임의의 것 상에서 구현될 수 있다. 이러한 서버(700)는 전형적으로, 휘발성 메모리(702) 및 큰 용량의 비휘발성 메모리, 이를테면, 디스크 드라이브(704)에 커플링된 프로세서(701)를 포함한다. 서버(700)는 또한, 플로피 디스크 드라이브, CD(compact disc) 또는 프로세서(701)에 커플링된 DVD 디스크 드라이브(706)를 포함할 수 있다. 서버(700)는 또한, 다른 통지 시스템 컴퓨터들 및 서버들에 커플링된 근거리 네트워크와 같은 통신 네트워크(707), 인터넷, 공중 교환 전화 네트워크 및/또는 셀룰러 네트워크(예를 들어, CDMA, TDMA, GSM, PCS, 3G, 4G, LTE 또는 임의의 다른 타입의 셀룰러 네트워크)와의 네트워크 인터페이스 연결들을 확립하기 위해 프로세서(701)에 커플링된, 네트워크 액세스 포트와 같은 하나 또는 둘 이상의 네트워크 트랜시버들(703)을 포함할 수 있다.
[0043]프로세서들(602 및 701)은 위에서 설명된 다양한 실시예들의 기능들을 포함하는 다양한 기능들을 수행하기 위해 소프트웨어 명령들(애플리케이션들)에 의해 구성될 수 있는 임의의 프로그램가능한 마이크로프로세서, 마이크로컴퓨터 또는 다중 프로세서 칩 또는 칩들일 수 있다. 일부 디바이스들에서, 무선 통신 기능들에 전용되는 하나의 프로세서 및 다른 애플리케이션들을 실행시키는데 전용되는 하나의 프로세서와 같은 다수의 프로세서들이 제공될 수 있다. 전형적으로, 소프트웨어 애플리케이션들은, 이들이 액세스되어 프로세서들(602 및 701)로 로딩되기 이전에, 내부 메모리(604, 610, 702 또는 704)에 저장될 수 있다. 프로세서들(602 및 701)은 애플리케이션 소프트웨어 명령들을 저장하기에 충분한 내부 메모리를 포함할 수 있다. 많은 디바이스들에서, 내부 메모리는 휘발성 또는 비휘발성 메모리(이를테면, 플래시 메모리와 같음), 또는 이 둘 모두의 혼합일 수 있다. 이러한 설명을 목적으로, 메모리에 대한 일반적 참조는 디바이스로 플러깅(plug)되는 내부 메모리 또는 이동식(removable) 메모리를 포함하는, 프로세서들(602 및 701)에 의해 액세스가능한 메모리, 및 프로세서들(602 및 701) 자체 내의 메모리를 지칭한다.
[0044]상기 방법 설명들 및 프로세스 흐름도들은 단지 예시적 예들로서 제공되며, 다양한 실시예들의 단계들이 제시된 순서로 수행되어야 함을 요구하거나 함축하는 것으로 의도되지 않는다. 당업자에 의해 인식될 바와 같이, 상기 실시예들에서의 단계들의 순서는 임의의 순서로 수행될 수 있다. "그 후", "그 다음", "다음으로" 등과 같은 단어들은 단계들의 순서를 제한하는 것으로 의도되지 않고, 이 단어들은 단순히 방법들의 설명을 통해 독자를 가이드하는데 이용된다. 추가로, 예를 들어, 관사들("a," "an" 또는 "the")을 이용하는 단수형의 청구항 엘리먼트들에 대한 어떠한 언급도 엘리먼트를 단수형으로 제한하는 것으로 해석되지 않는다.
[0045]본원에 개시된 실시예들과 관련하여 설명된 다양한 예시적인 논리 블록들, 모듈들, 회로들 및 알고리즘 단계들이 전자 하드웨어, 컴퓨터 소프트웨어 또는 이 둘의 결합들로서 구현될 수도 있다. 하드웨어와 소프트웨어의 이러한 상호 호환성을 명확하게 설명하기 위해, 다양한 예시적인 컴포넌트들, 블록들, 모듈들, 회로들 및 단계들이 일반적으로 이들의 기능적 관점에서 위에서 설명되었다. 이러한 기능이 하드웨어로서 구현되는지 또는 소프트웨어로서 구현되는지는 전체 시스템 상에 부과되는 설계 제약들 및 특정 애플리케이션에 의존한다. 당업자들은 설명된 기능을 각각의 특정 애플리케이션에 대해 다양한 방식들로 구현할 수 있지만, 이러한 구현 결정들이 본 발명의 범위를 벗어나게 하는 것으로 해석되어서는 안 된다.
[0046]본원에 개시된 양상들과 관련하여 설명된 다양한 예시적 로직들, 논리 블록들, 모듈들 및 회로들을 구현하는데 이용되는 하드웨어는 범용 프로세서, DSP(digital signal processor), ASIC(application specific integrated circuit), FPGA(field programmable gate array) 또는 다른 프로그래머블 로직 디바이스, 이산 게이트 또는 트랜지스터 로직, 이산 하드웨어 컴포넌트들 또는 본원에 설명된 기능들을 수행하도록 설계된 이들의 임의의 결합으로 구현 또는 수행될 수 있다. 범용 프로세서는 마이크로프로세서일 수 있지만, 대안적으로, 프로세서는 임의의 종래의 프로세서, 제어기, 마이크로제어기 또는 상태 머신일 수 있다. 프로세서는 또한 컴퓨팅 디바이스들의 결합, 예를 들어, DSP 및 마이크로프로세서의 결합, 복수의 마이크로프로세서들, DSP 코어와 결합된 하나 또는 둘 이상의 마이크로프로세서들, 또는 임의의 다른 이러한 구성으로서 구현될 수 있다. 대안적으로, 일부 단계들 또는 방법들은 주어진 기능에 특정된 회로에 의해 수행될 수 있다.
[0047] 하나 또는 둘 이상의 예시적 양상들에서, 설명된 기능들은 하드웨어, 소프트웨어, 펌웨어, 또는 이들의 임의의 결합으로 구현될 수 있다. 소프트웨어로 구현되는 경우, 기능들은 비-일시적 컴퓨터-판독가능한 매체 또는 비-일시적 프로세서-판독가능한 매체 상에서 하나 또는 둘 이상의 프로세서-실행가능한 또는 서버-실행가능한 명령들 또는 코드로서 저장될 수 있다. 본원에 개시된 알고리즘 또는 방법의 단계들은 비-일시적 컴퓨터-판독가능한 또는 프로세서-판독가능한 저장 매체 상에 상주할 수 있는 프로세서-실행가능한 소프트웨어 모듈에서 구현될 수 있다. 비-일시적 서버-판독가능한, 컴퓨터-판독가능한 또는 프로세서-판독가능한 저장 매체들은 컴퓨터 또는 프로세서에 의해 액세스될 수 있는 임의의 저장 매체들일 수 있다. 제한이 아닌 예로서, 이러한 비-일시적 서버-판독가능한, 컴퓨터-판독가능한 또는 프로세서-판독가능한 매체들은 RAM, ROM, EEPROM, FLASH 메모리, CD-ROM 또는 다른 광학 디스크 저장소, 자기 디스크 저장 또는 다른 자기 저장 디바이스들, 또는 명령들 또는 데이터 구조들의 형태로 원하는 프로그램 코드를 저장하는데 이용될 수 있고, 컴퓨터에 의해 액세스될 수 있는 임의의 다른 매체를 포함할 수 있다. 본원에서 이용되는 디스크(disk 및 disc)는 CD(compact disc), 레이저 디스크(disc), 광 디스크(disc), DVD(digital versatile disc), 플로피 디스크(disk), 및 블루-레이 디스크(disc)를 포함하며, 여기서 디스크(disk)들은 통상적으로 데이터를 자기적으로 재생하지만, 디스크(disc)들은 레이저들을 이용하여 광학적으로 데이터를 재생한다. 위의 것의 결합들이 또한 비-일시적 서버-판독가능한, 컴퓨터-판독가능한 그리고 프로세서-판독가능한 매체들의 범위 내에 포함된다. 추가적으로, 알고리즘 또는 방법의 동작들은, 컴퓨터 프로그램 물건에 포함될 수 있는 비-일시적 서버-판독가능한, 프로세서-판독가능한 매체 및/또는 컴퓨터-판독가능한 매체 상에 코드들 및/또는 명령들의 하나 또는 임의의 결합 또는 세트로서 상주할 수 있다.
[0048] 개시된 실시예들의 이전의 설명은 임의의 당업자가 본 발명을 실시하거나 또는 이용할 수 있도록 제공된다. 이 실시예들에 대한 다양한 변형들은 당업자들에게 쉽게 명백할 것이며, 본원에 정의된 일반적인 원리들은 본 발명의 사상 또는 범위를 벗어나지 않으면서 다른 실시예들에 적용될 수 있다. 따라서, 본 발명은 본원에 나타낸 실시예들에 한정되는 것으로 의도되는 것이 아니라, 다음의 청구항들 및 본원에 개시된 원리들 및 신규한 특징들과 일치하는 가장 넓은 범위를 따를 것이다.

Claims (40)

  1. 하이퍼텍스트 전송 프로토콜(HTTP) 서버로부터 파일들을 제공하기 위한 방법으로서,
    상기 HTTP 서버 내의 오브젝트에 대한 요청을 애플리케이션으로부터 수신하는 단계;
    요청된 오브젝트가 상기 HTTP 서버에서 가용 상태인지 여부를 결정하는 단계; 및
    상기 요청된 오브젝트가 비가용 상태라는 결정에 응답하여 상기 오브젝트가 상기 HTTP 서버에서 가용 상태가 될 때까지 상기 요청을 홀딩하는 단계를 포함하는, 하이퍼텍스트 전송 프로토콜(HTTP) 서버로부터 파일들을 제공하기 위한 방법.
  2. 제 1 항에 있어서,
    상기 오브젝트가 가용 상태가 될 경우 상기 요청에 응답하여 상기 오브젝트를 상기 애플리케이션에 전송하는 단계를 더 포함하는, 하이퍼텍스트 전송 프로토콜(HTTP) 서버로부터 파일들을 제공하기 위한 방법.
  3. 제 1 항에 있어서,
    상기 오브젝트가 상기 HTTP 서버에서 가용 상태가 되지 않고 홀드 시간 임계치가 초과되는지 여부를 결정하는 단계; 및
    상기 오브젝트가 상기 HTTP 서버에서 가용 상태가 되지 않고 상기 홀드 시간 임계치가 초과되었다는 결정에 응답하여 상기 요청에 응답하여 에러 인디케이션을 전송하는 단계를 더 포함하는, 하이퍼텍스트 전송 프로토콜(HTTP) 서버로부터 파일들을 제공하기 위한 방법.
  4. 제 3 항에 있어서,
    상기 홀드 시간 임계치는 상기 서버에 대한 상기 요청된 오브젝트의 예상 전달 시간에 적어도 부분적으로 기초하는, 하이퍼텍스트 전송 프로토콜(HTTP) 서버로부터 파일들을 제공하기 위한 방법.
  5. 제 4 항에 있어서,
    상기 홀드 시간 임계치는 전달 지연 또는 프로세싱 지연을 고려한 세이프티 마진을 포함하는, 하이퍼텍스트 전송 프로토콜(HTTP) 서버로부터 파일들을 제공하기 위한 방법.
  6. 제 3 항에 있어서,
    상기 오브젝트는 DASH(Dynamic Adaptive Streaming Over Hypertext Transfer Protocol) 세그먼트이고 상기 요청은 DASH 클라이언트로부터 비롯된 것인, 하이퍼텍스트 전송 프로토콜(HTTP) 서버로부터 파일들을 제공하기 위한 방법.
  7. 제 6 항에 있어서,
    다음 오브젝트가 상기 HTTP 서버에서 가용 상태인지 여부를 결정하는 단계; 및
    상기 다음 오브젝트가 상기 HTTP 서버에서 가용 상태인 경우 상기 요청에 응답하여 상기 에러 인디케이션을 전송하는 단계를 더 포함하는, 하이퍼텍스트 전송 프로토콜(HTTP) 서버로부터 파일들을 제공하기 위한 방법.
  8. 제 6 항에 있어서,
    상기 홀드 시간 임계치는, 상기 DASH 세그먼트를 기술하는 MPD((Media Presentation Description)에서의 전달 시간에 적어도 부분적으로 기초하는, 하이퍼텍스트 전송 프로토콜(HTTP) 서버로부터 파일들을 제공하기 위한 방법.
  9. 제 1 항에 있어서,
    상기 애플리케이션으로부터의 요청은, 상기 애플리케이션의 시동 시간 전의 시간 기간에 상기 서버에서 사전에 가용 상태였던 오브젝트에 대한 요청인, 하이퍼텍스트 전송 프로토콜(HTTP) 서버로부터 파일들을 제공하기 위한 방법.
  10. 제 9 항에 있어서,
    상기 시간 기간은 지연 지터인, 하이퍼텍스트 전송 프로토콜(HTTP) 서버로부터 파일들을 제공하기 위한 방법.
  11. 하이퍼텍스트 전송 프로토콜(HTTP) 서버로서,
    오브젝트에 대한 요청을 애플리케이션으로부터 수신하기 위한 수단;
    요청된 오브젝트가 가용 상태인지 여부를 결정하기 위한 수단; 및
    상기 요청된 오브젝트가 비가용 상태라는 결정에 응답하여 상기 오브젝트가 가용 상태가 될 때까지 상기 요청을 홀딩하기 위한 수단을 포함하는, 하이퍼텍스트 전송 프로토콜(HTTP) 서버.
  12. 제 11 항에 있어서,
    상기 오브젝트가 가용 상태가 될 경우 상기 요청에 응답하여 상기 오브젝트를 상기 애플리케이션에 전송하기 위한 수단을 더 포함하는, 하이퍼텍스트 전송 프로토콜(HTTP) 서버.
  13. 제 11 항에 있어서,
    상기 오브젝트가 가용 상태가 되지 않고 홀드 시간 임계치가 초과되는지 여부를 결정하기 위한 수단; 및
    상기 오브젝트가 가용 상태가 되지 않고 상기 홀드 시간 임계치가 초과되었다는 결정에 응답하여 상기 요청에 응답하여 에러 인디케이션을 전송하기 위한 수단을 더 포함하는, 하이퍼텍스트 전송 프로토콜(HTTP) 서버.
  14. 제 13 항에 있어서,
    상기 홀드 시간 임계치는 상기 서버에 대한 상기 요청된 오브젝트의 예상 전달 시간에 적어도 부분적으로 기초하는, 하이퍼텍스트 전송 프로토콜(HTTP) 서버.
  15. 제 14 항에 있어서,
    상기 홀드 시간 임계치는 전달 지연 또는 프로세싱 지연을 고려한 세이프티 마진을 포함하는, 하이퍼텍스트 전송 프로토콜(HTTP) 서버.
  16. 제 13 항에 있어서,
    상기 오브젝트는 DASH(Dynamic Adaptive Streaming Over Hypertext Transfer Protocol) 세그먼트이고 상기 요청은 DASH 클라이언트로부터 비롯된 것인, 하이퍼텍스트 전송 프로토콜(HTTP) 서버.
  17. 제 16 항에 있어서,
    다음 오브젝트가 가용 상태인지 여부를 결정하기 위한 수단; 및
    상기 다음 오브젝트가 가용 상태인 경우 상기 요청에 응답하여 상기 에러 인디케이션을 전송하기 위한 수단을 더 포함하는, 하이퍼텍스트 전송 프로토콜(HTTP) 서버.
  18. 제 16 항에 있어서,
    상기 홀드 시간 임계치는, 상기 DASH 세그먼트를 기술하는 MPD((Media Presentation Description)에서의 전달 시간에 적어도 부분적으로 기초하는, 하이퍼텍스트 전송 프로토콜(HTTP) 서버.
  19. 제 11 항에 있어서,
    상기 애플리케이션으로부터의 요청은, 상기 애플리케이션의 시동 시간 전의 시간 기간에 상기 서버에서 사전에 가용 상태였던 오브젝트에 대한 요청인, 하이퍼텍스트 전송 프로토콜(HTTP) 서버.
  20. 제 19 항에 있어서,
    상기 시간 기간은 지연 지터인, 하이퍼텍스트 전송 프로토콜(HTTP) 서버.
  21. 하이퍼텍스트 전송 프로토콜(HTTP) 서버로서,
    오브젝트에 대한 요청을 애플리케이션으로부터 수신하는 것;
    요청된 오브젝트가 가용 상태인지 여부를 결정하는 것; 및
    상기 요청된 오브젝트가 비가용 상태라는 결정에 응답하여 상기 오브젝트가 상기 HTTP 서버에서 가용 상태가 될 때까지 상기 요청을 홀딩하는 것을
    포함하는 동작들을 수행하기 위해 프로세서-실행가능 명령들로 구성된 프로세서를 포함하는, 하이퍼텍스트 전송 프로토콜(HTTP) 서버.
  22. 제 21 항에 있어서,
    상기 프로세서는,
    상기 오브젝트가 가용 상태가 될 경우 상기 요청에 응답하여 상기 오브젝트를 상기 애플리케이션에 전송하는 것을 더 포함하는 동작들을 수행하기 위한 프로세서-실행가능 명령들로 구성되는, 하이퍼텍스트 전송 프로토콜(HTTP) 서버.
  23. 제 21 항에 있어서,
    상기 프로세서는,
    상기 오브젝트가 가용 상태가 되지 않고 홀드 시간 임계치가 초과되는지 여부를 결정하는 것; 및
    상기 오브젝트가 가용 상태가 되지 않고 상기 홀드 시간 임계치가 초과되었다는 결정에 응답하여 상기 요청에 응답하여 에러 인디케이션을 전송하는 것을
    더 포함하는 동작들을 수행하기 위한 프로세서-실행가능 명령들로 구성되는, 하이퍼텍스트 전송 프로토콜(HTTP) 서버.
  24. 제 23 항에 있어서,
    상기 프로세서는,
    상기 홀드 시간 임계치는 상기 서버에 대한 상기 요청된 오브젝트의 예상 전달 시간에 적어도 부분적으로 기초하도록 동작들을 수행하기 위한 프로세서-실행가능 명령들로 구성되는, 하이퍼텍스트 전송 프로토콜(HTTP) 서버.
  25. 제 24 항에 있어서,
    상기 프로세서는,
    상기 홀드 시간 임계치가 전달 지연 또는 프로세싱 지연을 고려한 세이프티 마진을 포함하도록 하는 동작들을 수행하기 위한 프로세서-실행가능 명령들로 구성되는, 하이퍼텍스트 전송 프로토콜(HTTP) 서버.
  26. 제 23 항에 있어서,
    상기 프로세서는,
    상기 오브젝트는 DASH(Dynamic Adaptive Streaming Over Hypertext Transfer Protocol) 세그먼트이고 상기 요청은 DASH 클라이언트로부터 비롯되도록 하는 동작들을 수행하기 위한 프로세서-실행가능 명령들로 구성되는, 하이퍼텍스트 전송 프로토콜(HTTP) 서버.
  27. 제 26 항에 있어서,
    상기 프로세서는,
    다음 오브젝트가 가용 상태인지 여부를 결정하는 것; 및
    상기 다음 오브젝트가 가용 상태인 경우 상기 요청에 응답하여 상기 에러 인디케이션을 전송하는 것을
    더 포함하는 동작들을 수행하기 위한 프로세서-실행가능 명령들로 구성되는, 하이퍼텍스트 전송 프로토콜(HTTP) 서버.
  28. 제 26 항에 있어서,
    상기 프로세서는,
    상기 홀드 시간 임계치가, 상기 DASH 세그먼트를 기술하는 MPD((Media Presentation Description)에서의 전달 시간에 적어도 부분적으로 기초하도록 하는 동작들을 수행하기 위한 프로세서-실행가능 명령들로 구성되는, 하이퍼텍스트 전송 프로토콜(HTTP) 서버.
  29. 제 21 항에 있어서,
    상기 프로세서는,
    상기 애플리케이션으로부터의 요청이, 상기 애플리케이션의 시동 시간 전의 시간 기간에 상기 서버에서 사전에 가용 상태였던 오브젝트에 대한 요청이도록 하는 동작들을 수행하기 위한 프로세서-실행가능 명령들로 구성되는, 하이퍼텍스트 전송 프로토콜(HTTP) 서버.
  30. 제 29 항에 있어서,
    상기 프로세서는,
    상기 시간 기간이 지연 지터이도록 하는 동작들을 수행하기 위한 프로세서-실행가능 명령들로 구성되는, 하이퍼텍스트 전송 프로토콜(HTTP) 서버.
  31. 프로세서-실행가능 명령들이 저장되어 있는 비일시적 프로세서 판독가능 저장 매체로서,
    저장된 프로세서-실행가능 명령들은,
    하이퍼텍스트 전송 프로토콜(HTTP) 서버로 하여금,
    오브젝트에 대한 요청을 애플리케이션으로부터 수신하는 것;
    요청된 오브젝트가 가용 상태인지 여부를 결정하는 것; 및
    상기 요청된 오브젝트가 비가용 상태라는 결정에 응답하여 상기 오브젝트가 상기 HTTP 서버에서 가용 상태가 될 때까지 상기 요청을 홀딩하는 것을
    포함하는 동작들을 수행하게 하도록 구성되는, 프로세서-실행가능 명령들이 저장되어 있는 비일시적 프로세서 판독가능 저장 매체.
  32. 제 31 항에 있어서,
    상기 저장된 프로세서-실행가능 명령들은,
    HTTP 서버로 하여금,
    상기 오브젝트가 가용 상태가 될 경우 상기 요청에 응답하여 상기 오브젝트를 상기 애플리케이션에 전송하는 것을
    더 포함하는 동작들을 수행하게 하도록 구성되는, 프로세서-실행가능 명령들이 저장되어 있는 비일시적 프로세서 판독가능 저장 매체.
  33. 제 31 항에 있어서,
    상기 저장된 프로세서-실행가능 명령들은,
    HTTP 서버로 하여금,
    상기 오브젝트가 가용 상태가 되지 않고 홀드 시간 임계치가 초과되는지 여부를 결정하는 것; 및
    상기 오브젝트가 가용 상태가 되지 않고 상기 홀드 시간 임계치가 초과되었다는 결정에 응답하여 상기 요청에 응답하여 에러 인디케이션을 전송하는 것을
    더 포함하는 동작들을 수행하게 하도록 구성되는, 프로세서-실행가능 명령들이 저장되어 있는 비일시적 프로세서 판독가능 저장 매체.
  34. 제 33 항에 있어서,
    상기 저장된 프로세서-실행가능 명령들은,
    HTTP 서버로 하여금,
    상기 홀드 시간 임계치가 상기 서버에 대한 상기 요청된 오브젝트의 예상 전달 시간에 적어도 부분적으로 기초하도록 하는 동작들을 수행하게 하도록 구성되는, 프로세서-실행가능 명령들이 저장되어 있는 비일시적 프로세서 판독가능 저장 매체.
  35. 제 34 항에 있어서,
    상기 저장된 프로세서-실행가능 명령들은,
    HTTP 서버로 하여금,
    상기 홀드 시간 임계치가 전달 지연 또는 프로세싱 지연을 고려한 세이프티 마진을 포함하도록 하는 동작들을 수행하게 하도록 구성되는, 프로세서-실행가능 명령들이 저장되어 있는 비일시적 프로세서 판독가능 저장 매체.
  36. 제 33 항에 있어서,
    상기 저장된 프로세서-실행가능 명령들은,
    HTTP 서버로 하여금,
    상기 오브젝트가 DASH(Dynamic Adaptive Streaming Over Hypertext Transfer Protocol) 세그먼트이고 상기 요청은 DASH 클라이언트로부터 비롯되도록 하는 동작들을 수행하게 하도록 구성되는, 프로세서-실행가능 명령들이 저장되어 있는 비일시적 프로세서 판독가능 저장 매체.
  37. 제 36 항에 있어서,
    상기 저장된 프로세서-실행가능 명령들은,
    HTTP 서버로 하여금,
    다음 오브젝트가 가용 상태인지 여부를 결정하는 것; 및
    상기 다음 오브젝트가 가용 상태인 경우 상기 요청에 응답하여 상기 에러 인디케이션을 전송하는 것을
    더 포함하는 동작들을 수행하게 하도록 구성되는, 프로세서-실행가능 명령들이 저장되어 있는 비일시적 프로세서 판독가능 저장 매체.
  38. 제 36 항에 있어서,
    상기 저장된 프로세서-실행가능 명령들은,
    HTTP 서버로 하여금,
    상기 홀드 시간 임계치가, 상기 DASH 세그먼트를 기술하는 MPD((Media Presentation Description)에서의 전달 시간에 적어도 부분적으로 기초하도록 하는 동작들을 수행하게 하도록 구성되는, 프로세서-실행가능 명령들이 저장되어 있는 비일시적 프로세서 판독가능 저장 매체.
  39. 제 31 항에 있어서,
    상기 저장된 프로세서-실행가능 명령들은,
    HTTP 서버로 하여금,
    상기 애플리케이션으로부터의 요청이, 상기 애플리케이션의 시동 시간 전의 시간 기간에 상기 서버에서 사전에 가용 상태였던 오브젝트에 대한 요청이도록 하는 동작들을 수행하게 하도록 구성되는, 프로세서-실행가능 명령들이 저장되어 있는 비일시적 프로세서 판독가능 저장 매체.
  40. 제 39 항에 있어서,
    상기 저장된 프로세서-실행가능 명령들은,
    HTTP 서버로 하여금,
    상기 시간 기간이 지연 지터이도록 하는 동작들을 수행하게 하도록 구성되는, 프로세서-실행가능 명령들이 저장되어 있는 비일시적 프로세서 판독가능 저장 매체.
KR1020157019689A 2012-12-28 2013-12-16 하이퍼텍스트 전송 프로토콜(http) 요청들에 대한 탄성적 응답 시간 KR101675055B1 (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201261747188P 2012-12-28 2012-12-28
US61/747,188 2012-12-28
US13/802,718 2013-03-14
US13/802,718 US9386062B2 (en) 2012-12-28 2013-03-14 Elastic response time to hypertext transfer protocol (HTTP) requests
PCT/US2013/075441 WO2014105491A1 (en) 2012-12-28 2013-12-16 Elastic response time to hypertext transfer protocol (http) requests

Publications (2)

Publication Number Publication Date
KR20150103074A true KR20150103074A (ko) 2015-09-09
KR101675055B1 KR101675055B1 (ko) 2016-11-10

Family

ID=51018532

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020157019689A KR101675055B1 (ko) 2012-12-28 2013-12-16 하이퍼텍스트 전송 프로토콜(http) 요청들에 대한 탄성적 응답 시간

Country Status (8)

Country Link
US (3) US10735486B2 (ko)
EP (2) EP2939389B1 (ko)
JP (2) JP6096931B2 (ko)
KR (1) KR101675055B1 (ko)
CN (2) CN104904180B (ko)
ES (1) ES2709033T3 (ko)
HU (1) HUE041668T2 (ko)
WO (2) WO2014105491A1 (ko)

Families Citing this family (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10735486B2 (en) 2012-12-28 2020-08-04 Qualcomm Incorporated Device timing adjustments and methods for supporting dash over broadcast
WO2014108207A1 (en) * 2013-01-11 2014-07-17 Telefonaktiebolaget L M Ericsson (Publ) Technique for operating client and server devices in a broadcast communication network
EP2954653B1 (en) * 2013-02-06 2018-11-28 Telefonaktiebolaget LM Ericsson (publ) Technique for detecting an encoder functionality issue
US9646162B2 (en) * 2013-04-10 2017-05-09 Futurewei Technologies, Inc. Dynamic adaptive streaming over hypertext transfer protocol service protection
US20150172066A1 (en) * 2013-12-13 2015-06-18 Qualcomm Incorporated Practical implementation aspects of unicast fetch for http streaming over embms
US20150199498A1 (en) * 2014-01-10 2015-07-16 Furturewei Technologies, Inc. Flexible and efficient signaling and carriage of authorization acquisition information for dynamic adaptive streaming
US11553018B2 (en) * 2014-04-08 2023-01-10 Comcast Cable Communications, Llc Dynamically switched multicast delivery
US9973345B2 (en) * 2014-09-10 2018-05-15 Qualcomm Incorporated Calculating and signaling segment availability times for segments of media data
US9756098B2 (en) * 2014-09-15 2017-09-05 Verizon Digital Media Services Inc. Multi-tenant over-the-top multicast
WO2016099354A1 (en) * 2014-12-18 2016-06-23 Telefonaktiebolaget Lm Ericsson (Publ) Request scheduling for streamed media
JP2016123097A (ja) * 2014-12-24 2016-07-07 沖電気工業株式会社 配信サーバ、配信方法、配信プログラム、及び配信システム
US20160248829A1 (en) * 2015-02-23 2016-08-25 Qualcomm Incorporated Availability Start Time Adjustment By Device For DASH Over Broadcast
EP3062474B1 (en) * 2015-02-24 2018-09-26 Alcatel-Lucent España, S.A. Method, device, computer program product and storage medium for distributing file requests in adaptive streaming systems
US10298647B2 (en) * 2015-02-26 2019-05-21 Qualcomm Incorporated Delay compensation for broadcast adaptive bitrate streaming
US20160308927A1 (en) * 2015-04-20 2016-10-20 Qualcomm Incorporated Further Device Timing Adjustments and Methods for Supporting DASH Over Broadcast
EP3089461A1 (en) * 2015-04-30 2016-11-02 Advanced Digital Broadcast S.A. A system and a method for distributing content via dynamic channel assignment in a mobile content gateway
EP3089460A1 (en) 2015-04-30 2016-11-02 Advanced Digital Broadcast S.A. A system and a method for distributing content via static channel assignment in a mobile content gateway
EP3089463A1 (en) * 2015-04-30 2016-11-02 Advanced Digital Broadcast S.A. A system and a method for a time shift function in a mobile content gateway
EP3160149A3 (en) * 2015-04-30 2017-08-02 Advanced Digital Broadcast S.A. A system and a method for distributed processing and selection of video content in a mobile content gateway
WO2016182481A1 (en) * 2015-05-08 2016-11-17 Telefonaktiebolaget Lm Ericsson (Publ) Scheduling in media stream sessions
US10291681B2 (en) * 2015-06-18 2019-05-14 Ericsson Ab Directory limit based system and method for storing media segments
CN107810625B (zh) * 2015-06-30 2020-12-08 英国电讯有限公司 通过客户端从服务器流传输媒体序列的方法和装置
US9843825B1 (en) * 2016-06-10 2017-12-12 Apple Inc. Distributed and synchronized media switching
KR101853441B1 (ko) * 2016-09-23 2018-05-02 재단법인 실감교류인체감응솔루션연구단 클라이언트 장치 및 그 로컬 클럭 스큐 보정 방법
US10601946B2 (en) 2017-02-23 2020-03-24 The Directv Group, Inc. Edge cache segment prefetching
JP7229696B2 (ja) 2018-08-02 2023-02-28 キヤノン株式会社 情報処理装置、情報処理方法、及びプログラム
US11405662B2 (en) 2019-03-22 2022-08-02 Comcast Cable Communications, Llc Content delivery
US11647242B2 (en) * 2019-07-30 2023-05-09 Comcast Cable Communications, Llc Methods and systems for low latency streaming
CN113365099B (zh) * 2021-05-31 2022-12-27 北京达佳互联信息技术有限公司 弹幕下发方法、接收方法、装置、电子设备及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060095573A1 (en) * 2004-11-01 2006-05-04 Microsoft Corporation Delayed HTTP response
US20110261401A1 (en) * 2010-04-26 2011-10-27 Canon Kabushiki Kaisha Server apparatus, and terminal apparatus
US20120259994A1 (en) * 2011-04-05 2012-10-11 Gillies Donald W Ip broadcast streaming services distribution using file delivery methods

Family Cites Families (49)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2000052863A1 (fr) 1999-03-01 2000-09-08 Fujitsu Limited Recepteur amrc
CN1771695B (zh) 2003-05-30 2010-09-29 Lg电子株式会社 家庭网络系统
US20050227657A1 (en) 2004-04-07 2005-10-13 Telefonaktiebolaget Lm Ericsson (Publ) Method and apparatus for increasing perceived interactivity in communications systems
US20060250977A1 (en) * 2005-05-04 2006-11-09 International Business Machines Corporation Method and apparatus for determining data center resource availablilty using multiple time domain segments
US7940687B2 (en) * 2005-11-16 2011-05-10 Qualcomm Incorporated Efficient partitioning of control and data fields
KR100850577B1 (ko) * 2006-01-27 2008-08-06 삼성전자주식회사 휴대단말기의 멀티데이터 처리장치 및 방법
US9178535B2 (en) * 2006-06-09 2015-11-03 Digital Fountain, Inc. Dynamic stream interleaving and sub-stream based delivery
US8274905B2 (en) 2006-08-22 2012-09-25 Embarq Holdings Company, Llc System and method for displaying a graph representative of network performance over a time period
US8090813B2 (en) * 2006-09-19 2012-01-03 Solid State Networks, Inc. Methods and apparatus for data transfer
US7706384B2 (en) * 2007-04-20 2010-04-27 Sharp Laboratories Of America, Inc. Packet scheduling with quality-aware frame dropping for video streaming
WO2009019671A1 (en) 2007-08-09 2009-02-12 Markport Limited Network resource management
CN101119385A (zh) 2007-08-10 2008-02-06 深圳市深信服电子科技有限公司 利用WebPush技术提高HTTP网络速度的方法
WO2010116241A1 (en) 2009-04-09 2010-10-14 Nokia Corporation Systems, methods and apparatuses for media file streaming
CN102124451A (zh) * 2009-05-27 2011-07-13 松下电器产业株式会社 延迟调整装置以及延迟调整方法
US20120281536A1 (en) * 2009-06-12 2012-11-08 Cygnus Broadband, Inc. Systems and methods for detection for prioritizing and scheduling packets in a communication network
US20120327779A1 (en) * 2009-06-12 2012-12-27 Cygnus Broadband, Inc. Systems and methods for congestion detection for use in prioritizing and scheduling packets in a communication network
US8146125B2 (en) 2009-07-01 2012-03-27 Spirent Communications, Inc Computerized device and method for analyzing signals in a multimedia over coax alliance (MOCA) network and similar TDM / encrypted networks
US8477950B2 (en) * 2009-08-24 2013-07-02 Novara Technology, LLC Home theater component for a virtualized home theater system
US20110096828A1 (en) 2009-09-22 2011-04-28 Qualcomm Incorporated Enhanced block-request streaming using scalable encoding
JP2011234341A (ja) * 2010-04-09 2011-11-17 Sony Corp 受信装置およびカメラシステム
KR101652255B1 (ko) 2010-04-26 2016-09-09 삼성전자주식회사 라이브 컨텐츠의 효과적인 재생방법
US20120102184A1 (en) * 2010-10-20 2012-04-26 Sony Corporation Apparatus and method for adaptive streaming of content with user-initiated quality adjustments
CN102571686B (zh) 2010-12-09 2014-09-03 中国科学院沈阳计算技术研究所有限公司 云会议系统的实现方法
US8489760B2 (en) 2011-03-31 2013-07-16 Juniper Networks, Inc. Media file storage format and adaptive delivery system
US8819264B2 (en) * 2011-07-18 2014-08-26 Verizon Patent And Licensing Inc. Systems and methods for dynamically switching between unicast and multicast delivery of media content in a wireless network
US20130042100A1 (en) * 2011-08-09 2013-02-14 Nokia Corporation Method and apparatus for forced playback in http streaming
US9088583B2 (en) * 2011-10-31 2015-07-21 Interdigital Patent Holdings, Inc. Method and apparatus for enabling multimedia synchronization
US9042247B2 (en) 2011-12-06 2015-05-26 Wi-Lan Labs, Inc. Systems and methods for preserving application identification information on handover in a communication network
US20130182643A1 (en) * 2012-01-16 2013-07-18 Qualcomm Incorporated Method and system for transitions of broadcast dash service receptions between unicast and broadcast
KR20190097306A (ko) * 2012-01-19 2019-08-20 브이아이디 스케일, 인크. 시청 조건에 대한 적응을 지원하는 비디오 전송 방법 및 시스템
US8640174B2 (en) * 2012-03-01 2014-01-28 Motorola Mobility Llc Method for retrieving content, wireless communication device and communication system
US9445138B2 (en) * 2012-04-12 2016-09-13 Qualcomm Incorporated Broadcast content via over the top delivery
KR20160063405A (ko) 2012-04-24 2016-06-03 브이아이디 스케일, 인크. Mpeg/3gpp-dash에서의 원활한 스트림 스위칭을 위한 방법 및 장치
US8949451B2 (en) * 2012-04-27 2015-02-03 Mobitv, Inc. Combined broadcast and unicast delivery
US9246842B2 (en) * 2012-04-27 2016-01-26 Intel Corporation QoE-aware radio access network architecture for http-based video streaming
US8725799B2 (en) * 2012-06-21 2014-05-13 Google Inc. Server-side timing estimation of client-side actions
TWI610554B (zh) * 2012-07-10 2018-01-01 Vid衡器股份有限公司 無線傳輸/接收單元中內容切換/品質驅動切換的方法
US9954717B2 (en) * 2012-07-11 2018-04-24 Futurewei Technologies, Inc. Dynamic adaptive streaming over hypertext transfer protocol as hybrid multirate media description, delivery, and storage format
US20140019635A1 (en) 2012-07-13 2014-01-16 Vid Scale, Inc. Operation and architecture for dash streaming clients
US8949440B2 (en) 2012-07-19 2015-02-03 Alcatel Lucent System and method for adaptive rate determination in mobile video streaming
US9003443B2 (en) * 2012-07-31 2015-04-07 Wideorbit Inc. Systems, methods and articles to provide content in networked environment
US9125073B2 (en) 2012-08-03 2015-09-01 Intel Corporation Quality-aware adaptive streaming over hypertext transfer protocol using quality attributes in manifest file
US9712585B2 (en) * 2012-11-13 2017-07-18 Telefonaktiebolaget Lm Ericsson (Publ) Processing of multimedia data
US9843845B2 (en) * 2012-11-28 2017-12-12 Sinclair Broadcast Group, Inc. Terrestrial broadcast market exchange network platform and broadcast augmentation channels for hybrid broadcasting in the internet age
US9143543B2 (en) * 2012-11-30 2015-09-22 Google Technology Holdings LLC Method and system for multi-streaming multimedia data
US10735486B2 (en) 2012-12-28 2020-08-04 Qualcomm Incorporated Device timing adjustments and methods for supporting dash over broadcast
US9801054B2 (en) * 2013-01-17 2017-10-24 Intel IP Corporation Presence service using IMS based dash service
EP2954653B1 (en) * 2013-02-06 2018-11-28 Telefonaktiebolaget LM Ericsson (publ) Technique for detecting an encoder functionality issue
US9900166B2 (en) * 2013-04-12 2018-02-20 Qualcomm Incorporated Methods for delivery of flows of objects over broadcast/multicast enabled networks

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060095573A1 (en) * 2004-11-01 2006-05-04 Microsoft Corporation Delayed HTTP response
US20110261401A1 (en) * 2010-04-26 2011-10-27 Canon Kabushiki Kaisha Server apparatus, and terminal apparatus
US20120259994A1 (en) * 2011-04-05 2012-10-11 Gillies Donald W Ip broadcast streaming services distribution using file delivery methods

Also Published As

Publication number Publication date
US20140189066A1 (en) 2014-07-03
EP2939397A1 (en) 2015-11-04
US20140189052A1 (en) 2014-07-03
JP2016510523A (ja) 2016-04-07
US9386062B2 (en) 2016-07-05
US20200128058A1 (en) 2020-04-23
EP2939389B1 (en) 2018-10-31
ES2709033T3 (es) 2019-04-12
CN104904180A (zh) 2015-09-09
EP2939389A1 (en) 2015-11-04
HUE041668T2 (hu) 2019-05-28
JP2016506682A (ja) 2016-03-03
US10735486B2 (en) 2020-08-04
EP2939397B1 (en) 2017-12-06
WO2014105487A1 (en) 2014-07-03
KR101675055B1 (ko) 2016-11-10
CN104919780A (zh) 2015-09-16
CN104919780B (zh) 2018-04-24
WO2014105491A1 (en) 2014-07-03
JP6096931B2 (ja) 2017-03-15
CN104904180B (zh) 2017-12-12

Similar Documents

Publication Publication Date Title
KR101675055B1 (ko) 하이퍼텍스트 전송 프로토콜(http) 요청들에 대한 탄성적 응답 시간
TWI827622B (zh) 用於對即時上行鏈路串流服務的高效操作的上行鏈路和下行鏈路方法
US10051031B2 (en) Further device timing adjustments and methods for supporting DASH over broadcast
EP2826267B1 (en) Multicast broadcast multimedia service-assisted content distribution
US20160248829A1 (en) Availability Start Time Adjustment By Device For DASH Over Broadcast
WO2015131638A1 (zh) 一种数据发送方法、设备和存储介质
US10182089B2 (en) Method and broadcast multicast service center, BM-SC, node for providing an on-request service
EP3549308B1 (en) Enabling transmission of streaming content using point to multipoint delivery

Legal Events

Date Code Title Description
A201 Request for examination
A302 Request for accelerated examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20190924

Year of fee payment: 4