CN104919780B - 对超文本传输协议(http)请求实现弹性响应时间的方法、服务器及介质 - Google Patents
对超文本传输协议(http)请求实现弹性响应时间的方法、服务器及介质 Download PDFInfo
- Publication number
- CN104919780B CN104919780B CN201380068459.9A CN201380068459A CN104919780B CN 104919780 B CN104919780 B CN 104919780B CN 201380068459 A CN201380068459 A CN 201380068459A CN 104919780 B CN104919780 B CN 104919780B
- Authority
- CN
- China
- Prior art keywords
- request
- server
- http server
- processor
- http
- Prior art date
- Legal status (The legal status 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 status listed.)
- Expired - Fee Related
Links
- 230000004044 response Effects 0.000 title claims abstract description 37
- 238000000034 method Methods 0.000 title claims abstract description 24
- 238000012546 transfer Methods 0.000 title claims description 15
- 230000011218 segmentation Effects 0.000 claims abstract description 139
- 230000005540 biological transmission Effects 0.000 claims description 31
- 230000014759 maintenance of location Effects 0.000 claims description 26
- 238000003860 storage Methods 0.000 claims description 20
- 238000012545 processing Methods 0.000 claims description 18
- 230000006978 adaptation Effects 0.000 claims 1
- 230000006870 function Effects 0.000 description 11
- 238000004422 calculation algorithm Methods 0.000 description 5
- 239000012634 fragment Substances 0.000 description 5
- 230000008859 change Effects 0.000 description 4
- 235000019580 granularity Nutrition 0.000 description 4
- 230000001413 cellular effect Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 3
- 230000001934 delay Effects 0.000 description 3
- 230000001360 synchronised effect Effects 0.000 description 3
- 230000003139 buffering effect Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000006698 induction Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 230000008901 benefit Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000000151 deposition Methods 0.000 description 1
- 230000005670 electromagnetic radiation Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- VJYFKVYYMZPMAB-UHFFFAOYSA-N ethoprophos Chemical compound CCCSP(=O)(OCC)SCCC VJYFKVYYMZPMAB-UHFFFAOYSA-N 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 230000002045 lasting effect Effects 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000005012 migration Effects 0.000 description 1
- 238000013508 migration Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000002035 prolonged effect Effects 0.000 description 1
- 230000001020 rhythmical effect Effects 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
- 230000004083 survival effect Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/75—Media network packet handling
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/60—Scheduling 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/62—Establishing a time schedule for servicing the requests
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/61—Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
- H04L65/612—Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for unicast
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/65—Network streaming protocols, e.g. real-time transport protocol [RTP] or real-time control protocol [RTCP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/75—Media network packet handling
- H04L65/756—Media network packet handling adapting media to device capabilities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/80—Responding to QoS
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/60—Scheduling 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/63—Routing a service request depending on the request content or context
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/24—Monitoring of processes or resources, e.g. monitoring of server load, available bandwidth, upstream requests
- H04N21/2402—Monitoring of the downstream path of the transmission network, e.g. bandwidth available
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/24—Monitoring of processes or resources, e.g. monitoring of server load, available bandwidth, upstream requests
- H04N21/2407—Monitoring of transmitted content, e.g. distribution time, number of downloads
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/24—Monitoring of processes or resources, e.g. monitoring of server load, available bandwidth, upstream requests
- H04N21/2408—Monitoring of the upstream path of the transmission network, e.g. client requests
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/25—Management 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/262—Content 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing 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/442—Monitoring 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/44204—Monitoring of content usage, e.g. the number of times a movie has been viewed, copied or the amount which has been watched
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing 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/442—Monitoring 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/44209—Monitoring of downstream path of the transmission network originating from a server, e.g. bandwidth variations of a wireless network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/60—Network 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/63—Control 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/632—Control 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/60—Network 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/63—Control 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/637—Control signals issued by the client directed to the server or network components
- H04N21/6377—Control signals issued by the client directed to the server or network components directed to server
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/83—Generation or processing of protective or descriptive data associated with content; Content structuring
- H04N21/845—Structuring of content, e.g. decomposing content into time segments
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/83—Generation or processing of protective or descriptive data associated with content; Content structuring
- H04N21/845—Structuring of content, e.g. decomposing content into time segments
- H04N21/8456—Structuring 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)
- Computer And Data Communications (AREA)
- Computer Security & Cryptography (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
各个实施例的系统、方法和设备实现了服务器对于文件请求的弹性响应时间。用此方式,当文件临时不可用时,以及由于发生网络延迟时,服务器可以在对象/分段可用性中考虑不可预知的延迟,并减少响应于文件请求而返回错误消息(例如,404错误消息)的频率。
Description
相关申请
本申请要求享有2012年12月28日提交的、标题为“Device Timing Adjustmentsand Method for Supporting DASH Over Broadcast”的美国临时专利申请No.61/747,188的优先权,故以引用方式将其全部内容并入本文。
背景技术
当前,超文本传输协议(HTTP)流是互联网上最流行的用于传送内容的方法。对于实时事件而言,通过不断的持续时间分段而使内容逐渐可用。这种沿着时间轴的分段可用性,指示每一个连续的分段何时在HTTP服务器处变得可用。
基于超文本传输协议的动态自适应流(DASH)是一种实现HTTP流的标准。DASH在媒体呈现描述(MPD)中通告分段可用性。MPD是用于通告分段、分段可用的时间以及这些分段的大小的分段可用时间轴。
在当前系统中,经由空中下载(OTA)传送来向接收机设备提供MPD。在所提供的MPD中,分段可用时间可以对应于生成这些分段的网络侧编码器的编码器输出时间。由于分段可用时间可以对应于编码器输出时间,因此对于在接收机设备上运行的DASH客户端来说,这些可用时间可能并没有说明与实际的分段可用的差别(例如,传送路径延迟、接收机设备处理延迟、或者接收机设备时钟漂移)。因此,在当前MPD中所通告的可用时间,可能并不对应于分段可用于DASH客户端的实际时间。
当通过内容传送网络(CDN)来传输DASH内容时,发生类似的问题。 DASH内容在源编码器处产生,但是,在不同的CDN服务点处,远程CDN 服务器处的分段的可用时间是不同的。
发明内容
各个实施例的系统、方法和设备实现了服务器对于文件请求的弹性响应时间。用此方式,当文件临时不可用时,以及由于发生网络延迟时,服务器可以在对象/分段可用性中考虑不可预知的延迟,并减少响应于文件请求而返回错误消息(例如,404错误消息)的频率。
附图说明
被并入本文并且构成本说明书一部分的附图,描绘了本发明的示例性实施例,并且连同上面给出的概括描述以及下面给出的详细描述一起来解释本发明的特征。
图1是适合于结合各种实施例使用的网络的通信系统框图。
图2是用于示出根据一个实施例的接收机设备的体系结构的框图。
图3示出了根据另一个实施例的分段可用时间。
图4是描绘用于对HTTP请求的响应进行延迟的实施例方法的处理流程图。
图5根据一个实施例,示出了分段缓冲区随时间的状态。
图6是适合于结合各种实施例使用的示例性移动设备的组件图。
图7是适合于结合各种实施例使用的示例性服务器的组件图。
具体实施方式
现在参照附图来详细地描述各个实施例。只要可能,贯穿附图使用相同的附图标记来指代相同或者类似的部件。对于特定示例和实现的引用只是用于说明目的,而不是旨在限制本发明或者权利要求的保护范围。
本文所使用的“示例性的”一词意味着“用作例子、示例或说明”。本文中描述为“示例性”的任何实现不应被解释为比其它实现更优选或更具优势。
如本文所使用的,本文互换地使用术语“移动设备”和“接收机设备”,以指代以下各项中的任何一项或者全部:蜂窝电话、智能电话、个人或移动多媒体播放器、个人数据助理(PDA)、膝上型计算机、平板计算机、智能本、掌上计算机、无线电子邮件接收机、具备多媒体互联网功能的蜂窝电话、无线游戏控制器、以及类似的个人电子设备,其中这些个人电子设备包括可编程处理器和存储器,以及用于接收文件和向请求的应用/客户端(例如,请求的DASH客户端)提供文件的电路。
如本文所使用的,本文互换地使用术语“分段”、“对象”和“文件”,以指代可以从服务器请求的任何一个或者所有的数据结构或数据单元。
基于超文本传输协议的动态自适应流(DASH)是一种实现HTTP流的标准。DASH在媒体呈现描述(MPD)中通告分段可用性。MPD是用于通告分段、分段可用的时间以及分段的大小的分段可用性时间轴。在当前系统中,经由空中下载(OTA)传送来向接收机设备提供MPD。第三代合作伙伴计划(3GPP)将下载传输上的DASH标准化成用于在长期演进(LTE) 上使用广播来提供HTTP流的方法(即,演进的多媒体广播多播服务 (eMBMS))。
本文讨论了不同的应用/客户端、中间件、分段可用时间轴、无线电技术和传输协议的各个示例,特别是DASH客户端、多播服务设备客户端、MPD、eMBMS和HTTP。对于DASH客户端、多播服务设备客户端、MPD、eMBMS和HTTP的讨论,只是提供为用于更好地说明各个实施例的方面的例子,而不是旨在以任何方式来限制各个实施例。其它的应用/客户端、中间件、分段可用时间轴、无线电技术和传输协议也可以结合各个实施例来使用,并且在不脱离本发明的精神或保护范围的基础上,可以在各个例子中替换其它的应用/客户端、中间件、分段可用时间轴、无线电技术和传输协议。
各个实施例使接收机设备能够在用于该接收机设备的数据流中的数据分段的可用性(“分段可用性”)中考虑延迟。在一个实施例中,服务器(例如,接收机设备上向请求的应用/客户端(例如,请求的DASH客户端)提供分段的本地HTTP服务器)可以响应于分段请求,以用于服务分段的弹性响应时间进行操作。用此方式,服务器可以在分段可用性中考虑不可预测的延迟。
在一个实施例中,可以在用于描述发送给接收机设备的分段可用性时间轴(例如,MPD)的媒体描述片段中,提供网络抖动估计。在另一个实施例中,可以在接收机设备上预先提供网络抖动(例如,在接收机设备制造时,将其存储在该接收机设备的非易失性存储器中)。在其它实施例中,可以在任何消息(例如,服务通告)中向接收机设备传输网络抖动估计量。如本文所使用的,“抖动”将分段的最早和最晚可能到达时间之间的差值,指代成该分段的可用性时间轴中的差值。
如本文所使用的,“网络抖动”指代分段在接收机设备处的最早和最晚相对到达时间之间的最大差值。相对到达时间指代:绝对到达时间和根据传输时间轴的预期到达时间之间的差值。在一个实施例中,传输时间轴可以提供分段列表(其中这些分段携带服务的媒体)中的每一个分段的预期到达时间,可以对传输时间轴进行规定,使得基于所提供的第一分段的绝对可用时间,下一个分段可用时间是前一分段可用时间加上前一分段的持续时间。在另一个实施例中,对于连续的分段来说,可以将可用时间提供成绝对值。在另一个实施例中,可以将可用时间提供成具有周期的周期可用性。在另外的实施例中,可以将可用时间提供成一些机制的组合,例如,绝对值和周期可用性的组合。网络抖动可能与以下各项有关:分段大小的变化、调度周期粒度(例如,关于分段到达的1秒周期,320ms变化量的多播信道(MCH)调度周期粒度)、网络设备延迟(例如,带宽、传输延迟、处理延迟、缓冲器延迟等等)。网络抖动可以是依赖于环境的。例如,视频分段大小的变化可能造成网络抖动估计在该视频分段的平均大小的70%和 130%之间变化。
如本文所使用的,“接收机设备抖动”指代分段的到达时间和该分段可用于在该接收机设备上运行的请求应用/客户端的时间之间的最大差值。接收机设备抖动可能与下面各项有关:分段大小的变化、调度周期粒度(例如,关于分段到达的1秒周期,320ms变化量的MCH调度周期粒度)、接收机设备上的处理延迟(例如,前向纠错(FEC)处理、解码时间等等)和接收机设备时钟漂移。
在分段可用性时间轴(例如,MPD)中传输网络抖动估计量,可以使接收机设备服务器(例如,接收机设备上的本地HTTP服务器)能更佳地估计缓冲需求,实现时间轴调整的改进(当接收机设备时钟没有同步到服务器时钟时),和/或在无需时间轴计算情况下进行操作的弹性服务器响应时间算法(例如,弹性HTTP服务器响应时间算法)。
在当前系统中,可以对提供给设备的MPD中的可用时间进行设置,使得在分段变得可用于该设备上的本地HTTP服务器之后,才进行针对分段的所有请求。但是,这种在所提供的MPD中进行的内置调整,在将分段服务于消费该服务的用户时会产生延迟,直到保证该分段在本地HTTP服务器上可用为止。举例而言,在当前系统中,如果抖动很大,延迟很小(除了统计性离群值之外),或者在设备处存在时钟漂移,则针对最坏情形时钟漂移(例如,一秒、两秒、几秒等等),对所提供的MPD中的可用时间进行预先调整。结果,与分段在接收机设备处实际可用的时间相比,针对这些分段的请求可能更晚,这是由于每一个分段的可用时间都针对最坏情形时钟漂移进行了调整(无论是否发生了最坏情形延迟)。延迟的请求直接增加了传输路径上的时延以及信道切换和初始捕获延迟。
各个实施例的系统、方法和设备实现了服务器对于文件请求的弹性响应时间。用此方式,当文件临时不可用时,以及由于发生网络延迟时,服务器可以在分段可用性中考虑不可预知的延迟,并减少响应于文件请求而返回错误消息(例如,404错误消息)的频率。在各个实施例中,服务器对于文件请求的弹性响应时间可以使时延和延迟得到减小,并在实际接收到分段时使分段可用。在一个实施例中,可以对MPD中的可用时间进行设置,以在不考虑时钟漂移的情况下,考虑正常延迟(例如,百分之90的延迟)。在一个实施例中,与所接收的MPD中列出的时间相比,可以使DASH客户端能够更早地进行针对分段的请求,可以基于服务器对于文件请求的弹性响应时间,来立即被提供这些分段,或者一旦该分段变得可用就被提供分段。
图1示出了适合于结合各个实施例使用的蜂窝网络系统100。蜂窝网络系统100可以包括多个设备,例如,接收机设备102、一个或多个蜂窝塔或基站104、以及连接到互联网110的服务器108和112。接收机设备102可以通过一个或多个蜂窝连接106(包括CDMA、TDMA、GSM、PCS、3G、 4G、LTE或任何其它类型的连接),与蜂窝塔或基站104交换数据。蜂窝塔或基站104可以与路由器进行通信,其中路由器可以连接到互联网110。用此方式,通过与蜂窝塔或基站104和/或互联网110的连接,可以在接收机设备102和服务器108和112之间交换数据。在一个实施例中,服务器108 可以是提供用于通过DASH客户端来输出的MPD和分段的内容提供商服务器或编码器。在一个实施例中,服务器112可以是能从编码器接收MPD和分段输出,并控制这些MPD和分段向接收机设备102的OTA传输的广播多媒体服务中心(BMSC)服务器。当然,虽然本文所描述的接收机设备的特征是参照OTA传输来描述的,但这些特征也可以结合有线传输、无线传输或者有线传输和无线传输的组合来使用。因此,并不是必须进行OTA传输。
图2示出了根据一个实施例的简化接收机设备202的架构。接收机设备202可以包括调制解调器层208,后者管理接收机设备202的所有无线电方面,例如,捕获、切换、链路维持等等。调制解调器层208可以对接收的eMBMS承载信号进行解码,将互联网协议(IP)分组传送给多播服务设备客户端(MSDC)206。多播服务设备客户端206可以是接收机设备202 的服务层,其从传送的IP分组中恢复分段,并使分段可用于应用/客户端(例如,应用/DASH客户端204)。此外,多播服务设备客户端206还可以从传送的IP分组中恢复MPD。多播服务设备客户端206可以将接收的分段存储在该接收机设备的存储器中。在一个实施例中,多播服务设备客户端206 可以操作成用于接收机设备202的本地超文本传输协议(HTTP)服务器,其向诸如应用/DASH客户端204之类的应用/客户端提供分段。在另一个实施例中,多播服务设备客户端206可以结合接收机设备202上的单独的本地超文本传输协议(HTTP)服务器进行操作,以向诸如应用/DASH客户端 204之类的应用/客户端提供分段。应用/DASH客户端204可以是具备DASH 能力的应用和/或用于发起DASH客户端以呈现媒体(直接呈现和/或通过诸如媒体播放器之类的另一个应用进行呈现)的应用。应用/DASH客户端204 可以从多播服务设备客户端206获得MPD位置(例如,统一资源定位符 (URL)),从多播服务设备客户端206请求和接收MPD,并可以根据该 MPD中的可用性时间轴来从多播服务设备客户端206请求分段。应用 /DASH客户端204可以从多播服务设备客户端206接收所请求的分段,并可以呈现分段内容(直接呈现和/或通过诸如媒体播放器之类的另一个应用进行呈现)。
图3示出了流路径上的各种延迟,以及接收机设备(例如eMBMS接收机设备)所经历的这些延迟在时间上对于分段可用性的影响。编码器可以生成分段,并通过诸如LTE广播网络之类的广播网络进行广播。接收机设备可以接收这些广播分段,并存储在本地HTTP服务器中,使其可被该接收机设备上运行的DASH客户端进行消费。DASH客户端可以根据与分段相关联的服务的MPD中所列出的分段可用时间来请求分段。当被接收机设备在MPD中所列出的可用时间之外接收时,该分段是不可用的。在图3 所示的实施例中,可以使接收机设备上的本地主机HTTP服务器能够保持针对不可用分段的请求。用此方式,如果分段到达时迟到,则由于将针对该分段的请求保持到该分段可用为止,因此可以适应这种迟到的到达。
在一个实施例中,编码器可以将实时记录的原始媒体源分割成一些分段(例如,图3中所示的0、1、2、3、4、5、6)。编码器可以根据网络时间协议(NTP)时间来同步这些分段的边界,这些分段0、1、2、3、4、5、 6可以在编码延迟后从编码器中输出。在一个实施例中,编码器可以生成可用时间轴(例如,编码器生成的MPD),其将分段0、1、2、3、4、5、6 的可用时间列成为编码器输出时间的。编码器可以向BMSC发送分段0、1、 2、3、4、5、6和MPD,分段0、1、2、3、4、5、6向BMSC的传输可能进一步延迟分段0、1、2、3、4、5、6。BMSC可以处理这些分段,以将这些分段分割成媒体分段分组(MSP),使这些MSP同步,并调度这些MSP 进行OTA传输。每一个MSP可以被分配一个设定的MSP持续时间(例如, 1秒)。可以将MSP广播OTA给接收机设备,在接收机设备处接收到分段的MSP时,设备就可以接收到该分段。在一个实施例中,原始媒体源分段记录时间和接收机设备处接收到与该分段相对应的MSP之间的时间,可以是网络抖动。在一个实施例中,BMSC还可以向接收机设备发送MPD。当在接收机设备处接收到与分段相对应的MSP时,在该接收机设备可用该分段之前,可能需要进行另外的处理。另外的处理可以包括:根据分段0、1、 2、3、4、5、6各自的MSP,对分段0、1、2、3、4、5、6进行拆包和重组,应用FEC,对这些分段进行解码等等。接收机设备处的最差情况处理延迟,可能进一步延迟这些分段0、1、2、3、4、5、6的可用性。除了最差情况处理延迟之外,接收机时钟漂移也可能进一步影响分段0、1、2、3、 4、5、6在该接收机设备处的可用时间。
在一个实施例中,当分段(例如,0、1、2、3、4、5、6)到达接收机时,处理操作可能会延迟分段的可用性,时钟漂移可能导致应用/DASH客户端对于分段的过早请求。在图3所示的实施例中,可以将MPD中的通告时间设置成该设备上的最早可用时间。当设备时钟漂移、处理延迟和/或传输抖动导致针对分段的过早请求时(即,在分段可用之前进行针对该分段的请求),本地HTTP服务器可以将这些请求保持在存储器中(即,并不立即执行这些请求),以便考虑设备时钟漂移、处理延迟和/或传输抖动,并在该分段变得可用时,以请求的分段进行响应。用此方式,可以解决时钟漂移和分段处理中的变化性。
在一个实施例中,使可用性时间轴过分地太早,可能导致应用/DASH 客户端在启动时间没有请求所有必需的分段,这是由于分段可用性时间轴中所列出的分段可能具有早于该应用/DASH客户端的启动时间的相应可用时间。在一个实施例中,可以使应用/DASH客户端能够针对下面的分段进行分段请求:根据可用性时间轴而列出为当前可用的分段和更早可用的分段(例如,根据MPD中的时间轴,其可用时间在当前可用的分段之前的一个、两个或更多分段)。在一个实施例中,应用/DASH客户端可以在该应用的启动时间,请求所有接收的分段。在一个实施例中,将可以请求的过去分段的数量确定成:延迟抖动值除以分段持续时间。举例而言,如果抖动值是三秒,分段持续时间是一秒,该服务在8:00:00启动,根据MPD,在 8:00:00时,索引100的分段是可用的,结果,应用/DASH客户端可以确定应当请求三个分段(即,三秒的抖动值除以一秒的分段持续时间),并在启动时发出针对分段98、99和100的请求。
在一个实施例中,使HTTP服务器能够保持请求,从而具有对HTTP 请求的弹性响应时间,其可以减少启动、端到端和切换延迟,以及只要接收到第一分段就启动媒体播放器。只要接收到第一分段就启动媒体播放器的缺点可能在于:如果下一个分段的可用时间发生延迟时,可能发生重新缓冲事件。另外,在存在慢漂移时钟的情形下,如果一旦接收到第一分段就启动媒体播放器,可能会造成按照周期的较长时间间隔发生重新缓冲事件。
图4示出了用于对HTTP请求的响应进行延迟的实施例方法400。虽然结合本地主机服务器延迟向DASH客户端提供分段的响应来进行讨论,但方法400的操作可以由任何HTTP服务器执行,以延迟针对文件请求的响应。在方框402中,HTTP服务器可以接收HTTP Get()请求。在一个实施例中,HTTP Get()请求可以是来自DASH客户端的针对分段的请求。在方框 404中,HTTP服务器可以针对该请求,启动保持时钟。在方框406中,HTTP 服务器可以判断所请求的分段是否是可用的。如果该分段是可用的(即,判断框406=“是”),则在方框418中,HTTP服务器可以向请求方(例如, DASH客户端)发送该分段,在方框420中,可以对保持时钟进行重置。在方框402中,HTTP服务器可以返回到方框402以等待下一个HTTP Get()请求。
如果该分段是不可用的(即,判断框406=“否”),则在方框408中, HTTP服务器可以保持该HTTP Get()请求。在方框410中,HTTP服务器可以判断序列中的下一个分段是否是可用的。在一个实施例中,如果MPD中列出的下一个分段已经是可用的,则可能不需要该遗漏的分段。如果下一个分段是可用的(即,判断框410=“是”),则在方框414中,HTTP服务器可以向请求方(例如,DASH客户端)发送诸如HTTP 400系列响应(例如,404或410)之类的错误指示。在方框416中,HTTP服务器可以对保持时钟进行重置。在方框402中,HTTP服务器可以返回到方框402以等待下一个HTTP Get()请求。
如果下一个分段是不可用的(即,判断框410=“否”),则在判断框412 中,HTTP服务器可以判断是否超过了保持时间门限。在一个实施例中,该保持时间门限可以是延迟抖动值加上分段持续时间再加上当前时间。在一个实施例中,该保持时间门限可以是至少部分地基于所请求的分段到HTTP 服务器的预期传输时间。在另外的实施例中,该保持时间门限还可以包括用于考虑传输延迟或者处理延迟的安全边缘。在另一个实施例中,该保持时间门限可以是分段可用性时间轴中的分段的可用时间。举例而言,该保持时间门限可以是至少部分地基于:用于描述所请求的DASH分段的MPD 中所列出的传输时间。
当保持时钟上的时间大于保持时间门限时,就可能超过了该保持时间门限。如果超过了该保持时间门限(即,判断框412=“是”),则在方框414 中,HTTP服务器可以向请求方(例如,DASH客户端)发送诸如HTTP 400 系列响应(例如,404或410)之类的错误指示。在方框416中,HTTP服务器可以对保持时钟进行重置。在方框402中,HTTP服务器可以返回到方框402以等待下一个HTTP Get()请求。如果没有超过该保持时间门限(即,判断框412=“否”),则在方框406中,HTTP服务器可以判断该分段是否变得可用。用此方式,可以对该HTTP Get()请求可以保持,直到该分段可用、下一个分段可用、或者超过该保持时间门限为止。
图5根据一个实施例,示出了分段缓冲区随时间的状态,该实施例可以用于确定针对弹性服务器的保持时间门限。在一个实施例中,在接收到分段N之后,接收机设备抖动延迟可能导致分段N不能立即在本地HTTP 服务器处可用。一旦分段N可用,分段持续时间加上MPD@时间偏移缓冲深度(MPD@TimeShiftBufferDepth)就可以规定该分段的缓冲区存活时间,在该时间之后,将从缓冲区中删除该分段。在一个实施例中,为了考虑接收机设备抖动延迟和分段的存活时间,可以将针对不可用分段的、用于保持HTTP Get()请求的保持时间门限设置成:接收机设备抖动延迟加上分段持续时间再加上MPD@TimeShiftBufferDepth。
在另一个实施例中,保持时间门限可以是可变的。如上面参照图3所描述的,在分段在接收机设备上变得可用之前,应用/DASH客户端可以请求该分段。在一个实施例中,可以使HTTP服务器能够保持HTTP Get()请求,直到实际接收到该分段的时间为止。用此方式,只要分段变得可用于 HTTP服务器,就可以向进行请求的应用/DASH客户端提供保持了Get()请求的分段。
各种实施例可以在各种各样的移动设备(即,接收机设备)中的任何一种之中实现,图6描绘了其一种例子。例如,移动设备600可以包括耦合到内部存储器604和610的处理器602。内部存储器604和610可以是易失性存储器或非易失性存储器,还可以是安全和/或加密存储器,或者非安全和/或非加密存储器、或者其任意组合。此外,处理器602还可以耦合到触摸屏显示器606,例如,电阻式感应触摸屏、电容感应触摸屏、红外线感测触摸屏等等。另外,移动设备600的显示器不需要具有触摸屏能力。另外,移动设备600可以具有用于发送和接收电磁辐射的一付或多付天线608,后者可以连接到与处理器602相耦合的一个或多个网络收发机616,例如,无线数据链路和/或蜂窝(例如,CDMA、TDMA、GSM、PCS、3G、4G、LTE、或者任何其它类型)收发机。此外,移动设备600还可以包括用于接收用户输入的物理按键612a和612b。此外,移动设备600还可以包括用于打开和关闭移动设备600的电源键618。
本文的各个实施例可以用各种各样的商业可获得的服务器设备中的任何一种(例如,图7中所示出的服务器700)来实现。通常,这种服务器 700包括耦合到易失性存储器702和大容量非易失性存储器(例如,硬盘驱动器704)的处理器701。此外,服务器700还可以包括耦合到处理器701 的软盘驱动器、激光光盘(CD)或DCD光盘驱动器706。此外,服务器 700还可以包括耦合到处理器701的一个或多个网络收发机703(例如,网络接入端口),以便与通信网络707(例如,耦合到其它通告系统计算机和服务器的局域网、互联网、公众交换电话网和/或蜂窝网络(例如,CDMA、 TDMA、GSM、PCS、3G、4G、LTE或任何其它类型的蜂窝网络))建立网络接口连接。
处理器602和701可以是能通过软件指令(应用)进行配置,以执行多种功能(其包括上面所描述的各种实施例的功能)的任何可编程的微处理器、微计算机或多处理器芯片或芯片集。在一些设备中,可以提供多个处理器,例如,一个处理器专用于无线通信功能,一个处理器专用于运行其它应用。通常,在访问软件应用并将它们装载到处理器602和701之前,可以将这些软件应用存储在内部存储器604、610、702或704中。处理器 602和701可以包括足够用于存储这些应用软件指令的内部存储器。在很多设备中,内部存储器可以是易失性存储器或者非易失性存储器(例如,闪存)、或者二者的混合。为了便于说明目的,对于存储器的引用通常指代:处理器602和701可访问的存储器,其包括内部存储器或者插入在设备之中的可移除存储器、以及处理器602和701自身中的存储器。
上述的方法描述和处理流程图仅仅是用作为说明性例子,而不是旨在要求或者隐含着必须以所给出的顺序来执行各个实施例的步骤。如本领域普通技术人员所应当理解的,可以以任何顺序来执行上述的实施例中的步骤顺序。此外,诸如“其后”、“转而”、“接着”等等之类的词语,并不旨在限制这些步骤的顺序;这些词语仅仅只是用于引导读者遍历该方法的描述。此外,任何对权利要求元素的单数引用(例如,使用冠词“一个(a)”、“某个(an)”或者“该(the)”),不应被解释为将该元素限制为单数形式。
结合本文所公开的实施例描述的各种示例性的逻辑框、模块、电路和算法步骤均可以实现成电子硬件、计算机软件或二者的组合。为了清楚地表示硬件和软件之间的这种可交换性,上面对各种示例性的部件、框、模块、电路和步骤均围绕其功能进行了总体描述。至于这种功能是实现成硬件还是实现成软件,取决于特定的应用和对整个系统所施加的设计约束条件。熟练的技术人员可以针对每个特定应用,以变通的方式实现所描述的功能,但是,这种实现决策不应解释为背离本发明的保护范围。
用于执行本文所述功能的通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或其它可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件部件或者其任意组合,可以用来实现或执行结合本文所公开的方面描述的用于实现各种示例性的逻辑、逻辑框、模块和电路的硬件。通用处理器可以是微处理器,或者,该处理器也可以是任何常规的处理器、控制器、微控制器或者状态机。处理器也可以实现为计算设备的组合,例如,DSP和微处理器的组合、若干微处理器、一个或多个微处理器与DSP内核的结合,或者任何其它此种结构。替代地,一些步骤或方法可以由特定于给定的功能的电路来执行。
在一个或多个示例性方面,本文所述功能可以用硬件、软件、固件或它们任意组合的方式来实现。当在软件中实现时,可以将这些功能存储成非临时性计算机可读介质或者非临时性处理器可读介质上的一个或多个指令或代码。本文所公开的方法或算法的步骤,可以体现在处理器可执行软件模块中,后者可以位于非临时性计算机可读或者处理器可读存储介质上。非临时性服务器可读、计算机可读或者处理器可读存储介质可以是计算机或处理器能够存取的任何存储介质。举例而言,但非做出限制,这种非临时性服务器可读、计算机可读或处理器可读介质可以包括RAM、ROM、 EEPROM、闪存、CD-ROM或其它光盘存储器、磁盘存储器或其它磁存储设备、或者能够用于存储具有指令或数据结构形式的期望的程序代码并能够由计算机进行存取的任何其它介质。如本文所使用的,磁盘和光盘包括压缩光盘(CD)、激光光盘、光盘、数字通用光盘(DVD)、软盘和蓝光光盘,其中磁盘通常磁性地复制数据,而光盘则用激光来光学地复制数据。上述的组合也应当包括在非临时性服务器可读、计算机可读和处理器可读介质的保护范围之内。另外,一种方法或算法的操作可以作为一个代码和/ 或指令集或者其任意组合,位于非临时性服务器可读介质、处理器可读介质和/或计算机可读介质上,其中该非临时性服务器可读介质、处理器可读介质和/或计算机可读介质可以并入到计算机程序产品中。
为使本领域任何普通技术人员能够实现或者使用本发明,上面围绕所公开的实施例进行了描述。对于本领域普通技术人员来说,对这些实施例的各种修改是显而易见的,并且,本文定义的总体原理也可以在不脱离本发明的精神或保护范围的基础上应用于其它实施例。因此,本发明并不限于本文所示出的实施例,而是与所附权利要求书和本文公开的原理和新颖性特征的最广范围相一致。
Claims (24)
1.一种用于从超文本传输协议(HTTP)服务器提供文件的方法,包括:
在所述HTTP服务器中从应用接收针对对象的请求,其中,所述对象是基于超文本传输协议的动态自适应流(DASH)分段,并且所述请求来自于DASH客户端;
确定所请求的对象在所述HTTP服务器中是否可用;
响应于确定所请求的对象是不可用的,保持所述请求直到所述对象在所述HTTP服务器中变得可用为止;
确定在所述对象没有在所述HTTP服务器中变得可用的情况下,是否超过了保持时间门限;
确定下一个对象在所述HTTP服务器中是否可用;以及
响应于确定在所述对象没有在所述HTTP服务器中变得可用的情况下超过了所述保持时间门限并且确定所述下一个对象在所述HTTP服务器中可用,而响应于所述请求,发送错误指示。
2.根据权利要求1所述的方法,还包括:
当所述对象变得可用时,响应于所述请求,向所述应用发送所述对象。
3.根据权利要求1所述的方法,其中,所述保持时间门限包括用于考虑传输延迟或处理延迟的安全边缘。
4.根据权利要求1所述的方法,其中,所述保持时间门限是至少部分地基于用于描述所述DASH分段的媒体呈现描述(MPD)中的传输时间的。
5.根据权利要求1所述的方法,其中,所述对象在所述服务器处的当前时间之前的时间段中,在所述服务器处具有可用时间。
6.根据权利要求5所述的方法,其中,所述时间段是延迟抖动。
7.一种超文本传输协议(HTTP)服务器,包括:
用于从应用接收针对对象的请求的单元,其中,所述对象是基于超文本传输协议的动态自适应流(DASH)分段,并且所述请求来自于DASH客户端;
用于确定所请求的对象是否可用的单元;
用于响应于确定所请求的对象是不可用的,保持所述请求直到所述对象变得可用为止的单元;
用于确定在所述对象没有变得可用的情况下,是否超过了保持时间门限的单元;
用于确定下一个对象在所述HTTP服务器中是否可用的单元;以及
用于响应于确定在所述对象没有变得可用的情况下超过了所述保持时间门限并且确定所述下一个对象在所述HTTP服务器中可用,而响应于所述请求,发送错误指示的单元。
8.根据权利要求7所述的HTTP服务器,还包括:
用于当所述对象变得可用时,响应于所述请求,向所述应用发送所述对象的单元。
9.根据权利要求7所述的HTTP服务器,其中,所述保持时间门限包括用于考虑传输延迟或处理延迟的安全边缘。
10.根据权利要求7所述的HTTP服务器,其中,所述保持时间门限是至少部分地基于用于描述所述DASH分段的媒体呈现描述(MPD)中的传输时间的。
11.根据权利要求7所述的HTTP服务器,其中,所述对象在所述服务器处的当前时间之前的时间段中,在所述服务器处具有可用时间。
12.根据权利要求11所述的HTTP服务器,其中,所述时间段是延迟抖动。
13.一种超文本传输协议(HTTP)服务器,包括:
处理器,其配置有处理器可执行指令以执行包括以下各项的操作:
从应用接收针对对象的请求,其中,所述对象是基于超文本传输协议的动态自适应流(DASH)分段,并且所述请求来自于DASH客户端;
确定所请求的对象是否可用;
响应于确定所请求的对象是不可用的,保持所述请求直到所述对象变得可用为止;
确定在所述对象没有变得可用的情况下,是否超过了保持时间门限;
确定下一个对象在所述HTTP服务器中是否可用;以及
响应于确定在所述对象没有变得可用的情况下超过了所述保持时间门限并且确定所述下一个对象在所述HTTP服务器中可用,而响应于所述请求,发送错误指示。
14.根据权利要求13所述的HTTP服务器,其中,所述处理器配置有处理器可执行指令以执行还包括以下各项的操作:
当所述对象变得可用时,响应于所述请求,向所述应用发送所述对象。
15.根据权利要求13所述的HTTP服务器,其中,所述处理器配置有处理器可执行指令以执行操作,使得所述保持时间门限包括用于考虑传输延迟或处理延迟的安全边缘。
16.根据权利要求13所述的HTTP服务器,其中,所述处理器配置有处理器可执行指令以执行操作,使得所述保持时间门限是至少部分地基于用于描述所述DASH分段的媒体呈现描述(MPD)中的传输时间的。
17.根据权利要求13所述的HTTP服务器,其中,所述处理器配置有处理器可执行指令以执行操作,使得所述对象在所述服务器处的当前时间之前的时间段中,在所述服务器处具有可用时间。
18.根据权利要求17所述的HTTP服务器,其中,所述处理器配置有处理器可执行指令以执行操作,使得所述时间段是延迟抖动。
19.一种其上存储有处理器可执行指令的非临时性处理器可读存储介质,其中所述处理器可执行指令被配置为使超文本传输协议(HTTP)服务器执行包括以下各项的操作:
从应用接收针对对象的请求,其中,所述对象是基于超文本传输协议的动态自适应流(DASH)分段,并且所述请求来自于DASH客户端;
确定所请求的对象是否可用;
响应于确定所请求的对象是不可用的,保持所述请求直到所述对象变得可用为止;
确定在所述对象没有变得可用的情况下,是否超过了保持时间门限;
确定下一个对象在所述HTTP服务器中是否可用;以及
响应于确定在所述对象没有变得可用的情况下超过了所述保持时间门限并且确定所述下一个对象在所述HTTP服务器中可用,而响应于所述请求,发送错误指示。
20.根据权利要求19所述的非临时性处理器可读存储介质,其中,所存储的处理器可执行指令被配置为使HTTP服务器执行还包括以下各项的操作:
当所述对象变得可用时,响应于所述请求,向所述应用发送所述对象。
21.根据权利要求19所述的非临时性处理器可读存储介质,其中,所存储的处理器可执行指令被配置为使HTTP服务器执行操作,使得所述保持时间门限包括用于考虑传输延迟或处理延迟的安全边缘。
22.根据权利要求19所述的非临时性处理器可读存储介质,其中,所存储的处理器可执行指令被配置为使HTTP服务器执行操作,使得所述保持时间门限是至少部分地基于用于描述所述DASH分段的媒体呈现描述(MPD)中的传输时间的。
23.根据权利要求19所述的非临时性处理器可读存储介质,其中,所存储的处理器可执行指令被配置为使HTTP服务器执行操作,使得所述对象在所述服务器处的当前时间之前的时间段中,在所述服务器处具有可用时间。
24.根据权利要求23所述的非临时性处理器可读存储介质,其中,所存储的处理器可执行指令被配置为使HTTP服务器执行操作,使得所述时间段是延迟抖动。
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 |
---|---|
CN104919780A CN104919780A (zh) | 2015-09-16 |
CN104919780B true CN104919780B (zh) | 2018-04-24 |
Family
ID=51018532
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201380068459.9A Expired - Fee Related CN104919780B (zh) | 2012-12-28 | 2013-12-16 | 对超文本传输协议(http)请求实现弹性响应时间的方法、服务器及介质 |
CN201380068479.6A Active CN104904180B (zh) | 2012-12-28 | 2013-12-16 | 设备定时调整和用于支持广播上的dash的方法 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201380068479.6A Active CN104904180B (zh) | 2012-12-28 | 2013-12-16 | 设备定时调整和用于支持广播上的dash的方法 |
Country Status (8)
Country | Link |
---|---|
US (3) | US9386062B2 (zh) |
EP (2) | EP2939389B1 (zh) |
JP (2) | JP6096931B2 (zh) |
KR (1) | KR101675055B1 (zh) |
CN (2) | CN104919780B (zh) |
ES (1) | ES2709033T3 (zh) |
HU (1) | HUE041668T2 (zh) |
WO (2) | WO2014105487A1 (zh) |
Families Citing this family (30)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9386062B2 (en) | 2012-12-28 | 2016-07-05 | Qualcomm Incorporated | Elastic response time to hypertext transfer protocol (HTTP) requests |
CN105075276B (zh) * | 2013-01-11 | 2019-04-16 | 瑞典爱立信有限公司 | 在广播通信网络中操作客户端设备和服务器设备的技术 |
US10440084B2 (en) * | 2013-02-06 | 2019-10-08 | 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 |
ES2703153T3 (es) * | 2015-02-24 | 2019-03-07 | Alcatel Lucent Espana S A | Método, dispositivo, producto de programa informático y medio de almacenamiento para distribuir solicitudes de archivos en sistemas de transmisión en continuo adaptables |
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 |
EP3089462A1 (en) * | 2015-04-30 | 2016-11-02 | Advanced Digital Broadcast S.A. | A system and a method for distributed processing of video content in a mobile content gateway |
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 |
EP3148202A1 (en) * | 2015-04-30 | 2017-03-29 | Advanced Digital Broadcast S.A. | A system and a method for a time shift function for selected content 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 |
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 | 北京达佳互联信息技术有限公司 | 弹幕下发方法、接收方法、装置、电子设备及存储介质 |
US20240348848A1 (en) * | 2023-04-13 | 2024-10-17 | Netflix, Inc. | Techniques for selectively delaying responses to premature requests for encoded media content |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101119385A (zh) * | 2007-08-10 | 2008-02-06 | 深圳市深信服电子科技有限公司 | 利用WebPush技术提高HTTP网络速度的方法 |
CN102449975A (zh) * | 2009-04-09 | 2012-05-09 | 诺基亚公司 | 用于媒体文件流式传输的系统、方法和装置 |
Family Cites Families (50)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3600529B2 (ja) | 1999-03-01 | 2004-12-15 | 富士通株式会社 | Cdma用受信機 |
KR100559026B1 (ko) | 2003-05-30 | 2006-03-10 | 엘지전자 주식회사 | 홈 네트워크 시스템 |
US20050227657A1 (en) | 2004-04-07 | 2005-10-13 | Telefonaktiebolaget Lm Ericsson (Publ) | Method and apparatus for increasing perceived interactivity in communications systems |
US20060095573A1 (en) * | 2004-11-01 | 2006-05-04 | Microsoft Corporation | Delayed HTTP response |
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 |
US20080005767A1 (en) * | 2006-01-27 | 2008-01-03 | Samsung Electronics Co., Ltd. | Multimedia processing apparatus and method for mobile phone |
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 |
EP2179549B1 (en) * | 2007-08-09 | 2012-03-21 | Markport Limited | Network resource management |
WO2010137330A1 (ja) * | 2009-05-27 | 2010-12-02 | パナソニック株式会社 | 遅延調整装置、遅延調整方法 |
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 |
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 |
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 |
US20120066711A1 (en) * | 2009-08-24 | 2012-03-15 | Novara Technology, LLC | Virtualized home theater service |
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 | 受信装置およびカメラシステム |
JP2011232893A (ja) | 2010-04-26 | 2011-11-17 | Canon Inc | 印刷データ作成サーバ及び印刷装置及び印刷システム |
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 |
US9026671B2 (en) | 2011-04-05 | 2015-05-05 | Qualcomm Incorporated | IP broadcast streaming services distribution using file delivery methods |
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 |
EP2805523B1 (en) * | 2012-01-19 | 2019-03-27 | VID SCALE, Inc. | Methods and systems for video delivery supporting adaption to viewing conditions |
US8640174B2 (en) * | 2012-03-01 | 2014-01-28 | Motorola Mobility Llc | Method for retrieving content, wireless communication device and communication system |
US9009764B2 (en) * | 2012-04-12 | 2015-04-14 | Qualcomm Incorporated | Broadcast content via over the top delivery |
WO2013163224A1 (en) * | 2012-04-24 | 2013-10-31 | Vid Scale, Inc. | Method and apparatus for smooth stream switching in 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 |
CN109618185A (zh) | 2012-07-10 | 2019-04-12 | Vid拓展公司 | 由wtru执行的方法、wtru及编码设备 |
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 |
DK2920938T3 (en) * | 2012-11-13 | 2017-04-10 | ERICSSON TELEFON AB L M (publ) | MULTIMEDIA DATA PROCESSING |
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 |
US9386062B2 (en) | 2012-12-28 | 2016-07-05 | Qualcomm Incorporated | Elastic response time to hypertext transfer protocol (HTTP) requests |
WO2014113197A1 (en) * | 2013-01-17 | 2014-07-24 | Intel IP Corporation | Presence service using ims based dash service |
US10440084B2 (en) * | 2013-02-06 | 2019-10-08 | 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 |
-
2013
- 2013-03-14 US US13/802,718 patent/US9386062B2/en not_active Expired - Fee Related
- 2013-03-14 US US13/802,709 patent/US10735486B2/en active Active
- 2013-12-16 EP EP13818102.9A patent/EP2939389B1/en active Active
- 2013-12-16 WO PCT/US2013/075425 patent/WO2014105487A1/en active Application Filing
- 2013-12-16 HU HUE13818102A patent/HUE041668T2/hu unknown
- 2013-12-16 EP EP13817811.6A patent/EP2939397B1/en active Active
- 2013-12-16 WO PCT/US2013/075441 patent/WO2014105491A1/en active Application Filing
- 2013-12-16 ES ES13818102T patent/ES2709033T3/es active Active
- 2013-12-16 JP JP2015550463A patent/JP6096931B2/ja not_active Expired - Fee Related
- 2013-12-16 CN CN201380068459.9A patent/CN104919780B/zh not_active Expired - Fee Related
- 2013-12-16 JP JP2015550461A patent/JP2016506682A/ja active Pending
- 2013-12-16 CN CN201380068479.6A patent/CN104904180B/zh active Active
- 2013-12-16 KR KR1020157019689A patent/KR101675055B1/ko active IP Right Grant
-
2019
- 2019-12-18 US US16/719,136 patent/US20200128058A1/en not_active Abandoned
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101119385A (zh) * | 2007-08-10 | 2008-02-06 | 深圳市深信服电子科技有限公司 | 利用WebPush技术提高HTTP网络速度的方法 |
CN102449975A (zh) * | 2009-04-09 | 2012-05-09 | 诺基亚公司 | 用于媒体文件流式传输的系统、方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN104904180A (zh) | 2015-09-09 |
EP2939389A1 (en) | 2015-11-04 |
JP2016510523A (ja) | 2016-04-07 |
US20140189052A1 (en) | 2014-07-03 |
US20140189066A1 (en) | 2014-07-03 |
US20200128058A1 (en) | 2020-04-23 |
US9386062B2 (en) | 2016-07-05 |
US10735486B2 (en) | 2020-08-04 |
JP6096931B2 (ja) | 2017-03-15 |
CN104904180B (zh) | 2017-12-12 |
HUE041668T2 (hu) | 2019-05-28 |
ES2709033T3 (es) | 2019-04-12 |
EP2939397A1 (en) | 2015-11-04 |
KR20150103074A (ko) | 2015-09-09 |
JP2016506682A (ja) | 2016-03-03 |
WO2014105491A1 (en) | 2014-07-03 |
WO2014105487A1 (en) | 2014-07-03 |
CN104919780A (zh) | 2015-09-16 |
EP2939397B1 (en) | 2017-12-06 |
EP2939389B1 (en) | 2018-10-31 |
KR101675055B1 (ko) | 2016-11-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104919780B (zh) | 对超文本传输协议(http)请求实现弹性响应时间的方法、服务器及介质 | |
JP6487076B2 (ja) | インターネットプロトコル(ip)マルチメディア・サブシステム(ims)ベースのピアツーピア(p2p)コンテンツ配信 | |
CN107005727B (zh) | 媒体内容流 | |
CN105474672B (zh) | 目标媒体内容的递送 | |
US20190089760A1 (en) | Systems and methods for real-time content creation and sharing in a decentralized network | |
JP6254188B2 (ja) | Imsベースのdashサービスにおいて、プレゼンスサーバによりプレゼンス情報を供給する方法、および、プレゼンスサーバを介してプレゼンス情報を受信するユーザ機器(ue) | |
KR102486847B1 (ko) | 링크 인식 스트리밍 적응 | |
CN110049011A (zh) | 用于媒体数据递送控制的方法和装置 | |
KR102403081B1 (ko) | 브로드캐스트 적응형 비트레이트 스트리밍에 대한 지연 보상 | |
CN107251561A (zh) | 设备对通过广播的dash的可用性开始时间调整 | |
Evensen et al. | Adaptive media streaming to mobile devices: challenges, enhancements, and recommendations | |
JP6418665B2 (ja) | Imsベースのdashサービスにおいて、プレゼンスサーバによりプレゼンス情報を供給する方法、および、プレゼンスサーバを介してプレゼンス情報を受信するユーザ機器(ue) | |
WO2015106524A1 (zh) | 业务套餐使用情况的通知/发送方法及装置、服务器 | |
US10819802B2 (en) | Enabling transmission of streaming content using point to multipoint delivery | |
BR112017018324B1 (pt) | Método para gerenciar um tempo inicial de conteúdo de mídia em um aparelho receptor, memória não transitória legível por computador e aparelho receptor |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20180424 Termination date: 20181216 |