CN105379295A - 分段内容的流送 - Google Patents
分段内容的流送 Download PDFInfo
- Publication number
- CN105379295A CN105379295A CN201480037577.8A CN201480037577A CN105379295A CN 105379295 A CN105379295 A CN 105379295A CN 201480037577 A CN201480037577 A CN 201480037577A CN 105379295 A CN105379295 A CN 105379295A
- Authority
- CN
- China
- Prior art keywords
- advance
- segmentation
- node
- client
- message
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 claims abstract description 116
- 230000011218 segmentation Effects 0.000 claims description 326
- 230000008569 process Effects 0.000 claims description 79
- 230000006870 function Effects 0.000 claims description 75
- 230000006978 adaptation Effects 0.000 claims description 19
- 238000004891 communication Methods 0.000 claims description 18
- 230000005540 biological transmission Effects 0.000 claims description 8
- 238000000926 separation method Methods 0.000 claims description 8
- 230000001960 triggered effect Effects 0.000 claims description 8
- 238000004590 computer program Methods 0.000 claims description 5
- 238000005192 partition Methods 0.000 claims description 4
- 230000003044 adaptive effect Effects 0.000 abstract 1
- 235000014510 cooky Nutrition 0.000 description 16
- 230000004044 response Effects 0.000 description 13
- 238000012545 processing Methods 0.000 description 9
- 208000016638 multiple benign circumferential skin creases on limbs Diseases 0.000 description 8
- 239000012634 fragment Substances 0.000 description 6
- 238000010521 absorption reaction Methods 0.000 description 5
- 230000008901 benefit Effects 0.000 description 4
- VYZAHLCBVHPDDF-UHFFFAOYSA-N Dinitrochlorobenzene Chemical compound [O-][N+](=O)C1=CC=C(Cl)C([N+]([O-])=O)=C1 VYZAHLCBVHPDDF-UHFFFAOYSA-N 0.000 description 3
- 230000009471 action Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000001914 filtration Methods 0.000 description 3
- 239000004065 semiconductor Substances 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 230000003111 delayed effect Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000014509 gene expression Effects 0.000 description 2
- 230000000977 initiatory effect Effects 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000002085 persistent effect Effects 0.000 description 2
- 238000011144 upstream manufacturing Methods 0.000 description 2
- 230000000454 anti-cipatory effect Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000000712 assembly Effects 0.000 description 1
- 238000000429 assembly Methods 0.000 description 1
- 239000003795 chemical substances by application Substances 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000006866 deterioration Effects 0.000 description 1
- 230000003292 diminished effect Effects 0.000 description 1
- 238000013467 fragmentation Methods 0.000 description 1
- 238000006062 fragmentation reaction Methods 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Classifications
-
- 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/44213—Monitoring of end-user related data
- H04N21/44222—Analytics of user selections, e.g. selection of programs or purchase activity
- H04N21/44224—Monitoring of user activity on external systems, e.g. Internet browsing
-
- 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
-
- 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
- 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
- H04N21/26258—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 for generating a list of items to be played back in a given order, e.g. playlist, or scheduling item distribution according to such list
-
- 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/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/45—Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
- H04N21/458—Scheduling content for creating a personalised stream, e.g. by combining a locally stored advertisement with an incoming stream; Updating operations, e.g. for OS modules ; time-related management operations
-
- 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/45—Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
- H04N21/466—Learning process for intelligent management, e.g. learning user preferences for recommending movies
- H04N21/4667—Processing of monitored end-user data, e.g. trend analysis based on the log file of viewer selections
-
- 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)
- Databases & Information Systems (AREA)
- Computer Networks & Wireless Communication (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Social Psychology (AREA)
- Information Transfer Between Computers (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
描述了用于实现基于清单文件从内容递送网络向自适应流送客户端流送分段内容的方法和系统,其中,所述清单文件可以包括一个或多个分段标识符。该方法可以包括:从所述清单文件中选择至少一个分段标识符,所述标识符标识所述客户端尚未请求的分段;以及向所述内容递送网络发送预先通告信息,用于预先通告所述分段可能被所述客户端请求,所述预先通告信息包括所述至少一个分段标识符,所述预先通告信息进一步被布置用于触发所述内容递送网络以确保在接收所述请求时所述分段的可用性。
Description
技术领域
本发明涉及分段内容的流送,并且具体地但不排他地,涉及用于实现将分段内容从递送节点流送到包括自适应流送客户端的设备的方法、包括用于流送分段内容的自适应流送客户端的设备、用于与客户端一起使用的网络节点和数据结构以及使用这样的方法的计算机程序产品。
背景技术
目前,越来越多数量的视频流送技术利用所谓的分段。例如,HTTP自适应流送(HAS)、可缩放视频编码(SVC)和空间分段视频(例如平铺视频)分别使用基于时间、质量和空间的分段。在分段过程期间,将生成所谓的清单文件,其描述了在不同的分段文件和/或流与可以检索分段的位置之间的关系。分段文件可以与包括与至少一个分段相关联的数据的文件相关,该至少一个分段可以通过例如HTTP或FTP的文件检索协议来被检索。类似地,分段流可以涉及包括与至少一个分段相关联的数据的流,该至少一个分段可以通过例如RTSP/RTP或HAS的流送协议来检索。下文中,分段文件或流将被称为分段。此外,视频,或者更一般地,通过分段方案呈现的内容可以被称为分段内容。
为了播出(重放)清单文件中的分段,HAS客户端(以下简称为客户端)连续地向网络请求分段,该网络通常是所谓的内容递送网络(CDN)。CDN可以被视为递送节点的管理的网络,该管理网络被配置为向客户端递送分段。客户端可以使用清单文件中所定义的分段,以便例如通过从高质量视频流切换到低质量视频流或反之亦然,来针对改变带宽要求和/或用户输入而动态地调整播出。此外,分段内容还可以由内容递送系统(例如CDN)使用,以便在流行的和不太流行的视频分段之间进行区分。例如,与视频的开始相关联的内容通常将比在视频结束时的内容更频繁(更流行)地被观看(下载/访问/检索)。类似地,低比特率较低质量的视频内容(例如,最低分辨率HAS分段或所谓的SVC基本层)将比高质量内容(例如更高分辨率HAS分段或SVC增强层)更频繁被观看(下载/访问/检索)。
从单个(也)远程的服务器向客户端递送流行分段可能阻塞网络带宽。因此,配置为高效地向消费者递送内容的内容递送网络(CDN)可以将与更流行的内容相关联的分段存储(高速缓存)在CDN中的多个递送节点处,使得潜在的带宽问题可以被减少,并且保证高效的递送。此外,CDN可以在递送节点上存储流行分段达更长的时段。CDN内容位置管理器可以集中管理分段可以被检索的CDN内的位置以及分段可以从那些位置被检索多久。
为了使得客户端能够访问存储在CDN中的分段,客户端提供有所谓的清单文件,清单文件标识分段标识符的列表以及可选地标识指向网络中的位置的分段定位符,这使得客户端能够检索分段。典型地,客户端被配置为检索分段,使得与客户端(设备)相关联的分段缓冲器在开始播出之前被加载有预定数目的分段。此外,在播出期间,客户端基于清单文件来从网络持续检索分段,使得足够的分段被保持在缓冲器中。这样,与分段检索过程相关联的时延不干扰分段的无缝播出。
然而,在一些情况下,清单文件中标识的分段当客户端请求时可能(尚)未在递送节点上可用。分段的非可用性可能具有不同的原因。例如,CDN可以被配置为在分段实际被请求之前在其递送节点不预先放置分段。当第一次请求分段时,CDN可以触发吸取过程,其中内容起源,例如媒体存储装置或另一CDN,可以将分段递送到CDN(或CDN中的一个或多个递送节点)。这样的内容吸取方案可以提供如下优点:仅当存在对内容的真实需求时分段被存储在递送节点上。此外,为了高效地管理在CDN中存储的分段的量,分段可用(被高缓存)达预定时间。不太流行的分段可以在递送节点上被存储达相对短的高速缓存时段。在该时段之后,分段被移除,使得当在该时段之后对其进行请求时,所请求的分段需要被重新吸取。在另一情况下,在例如实况转播流中的分段的流行度可能突然急剧增加,使得在递送节点接收对分段的请求的时刻,所请求的分段不在所有递送节点上可用。
在上述情况下,分段请求可能导致分段的不可用(“高速缓存丢失”),这可能触发一过程(例如,动态吸取过程),其中所请求的分段被提供给递送节点。分段的吸取可能由于客户端和可用于客户端的带宽的减少而在分段检索过程中产生延迟。当吸取过程需要针对多个分段被执行时,所请求的分段的递送可以被大大减少。为了尝试保持连续播出,HAS客户端将该延迟视作带宽问题,并且可以通过切换到消耗低(较低)质量分段流的较小带宽的播出来对这样的情况进行反应。这可能导致用户体验的大幅恶化。在最坏的情况下,客户端无法保持分段的无缝播出。
US2009/0292819描述了一种方法,其中在媒体流的常规播出期间,客户端可以从媒体服务器预先取得“先行”分段。这样,客户端可以容易地跳到先行分段,而没有任何明显延迟。在实践中,这样的预先取得方案将导致一种情况,其中在正常的流送过程期间,额外的“先行”分段被检索,使得在客户端和媒体服务器之间存在较小带宽可用于常规分段。如果人们将在自适应流送系统中使用这样的方案,则HAS客户端将通过切换到较低质量的分段流来对带宽减小进行反应。
因此,本领域需要用于将分段内容流送到客户端的改进方法和系统。具体地,需要甚至在客户端接收清单文件的时刻不是清单文件中的所有分段都可用于递送到客户端的情况下也提供对分段内容的无缝播出的方法和系统。
发明内容
本发明的目的是减少或消除现有技术中已知的缺点中的至少一个,并且在本发明的第一方面中提供一种用于实现基于清单文件从递送节点向自适应流送客户端流送分段内容的方法,所述清单文件包括一个或多个分段标识符,所述方法包括:从所述清单文件中选择至少一个分段标识符,所述分段标识符与在执行所述选择时所述客户端尚未请求的分段相关联;以及向递送节点或与所述递送节点相关联的内容递送网络预先发送预先通告信息以用于通告所述分段可以通过所述客户端来请求,所述预先通告信息包括所述至少一个分段标识符,所述预先通告信息进一步被布置用于触发所述递送节点或所述内容递送网络,以确保在所述至少一个分段被请求时所述分段的可用性。该方法可以在简单的客户端-服务器模型中被使用,客户端-服务器模型包括用于向客户端或在一个或多个内容递送网络中递送分段的一个递送节点(媒体服务器),其中多个递送节点可以向客户端递送分段。
根据本发明的方法允许自适应流送客户端选择清单文件中列出的下述分段的一个或多个分段标识符:该分段(尚)未被所述客户端请求,但是其可能(即,预计或预测)被所述客户端请求。分段标识符可以用于当客户端请求分段时向递送节点预先通告该分段应当对客户端可用。因此,预先通告信息被发送到递送节点或内容递送网络,以预期客户端对所述分段可能或未来的请求。如果分段在内容递送网络中不可用,则网络可以启动一过程以用于检索这些分段并将其存储在递送节点上或存储在内容递送网络中。这样,分段可以容易地被递送到请求该分段的客户端。由于分段丢失而导致的延迟可以被大幅减少,使得自适应流送客户端将不切换到低质量分段,从而确保高质量分段被递送到客户端。
在实施例中,所述预先通告信息可以包括定义时段的时间段,其中预计所述分段请求将被所述客户端请求。因此,预先通告信息包括关于不久的将来(即在预定时间段内)可能被请求的分段的信息。该时间段可以基于用户统计等来确定(预测)。
在一个实施例中,确保所述分段的可用性进一步可以包括:验证与所述至少一个分段标识符相关联的分段是否被存储在所述递送节点上;以及如果所述分段没有被存储在所述递送节点上,则在所述递送节点上存储所述分段;或者
如果所述分段被存储在所述递送节点上,则在预定时间段中保持所述分段的存储,优选地所述预定时段如预计所述分段请求要被所述客户端请求的时段那么长。因此,预先通告信息可以触发递送节点或内容递送网络来验证分段的可用性。如果该分段不可用,则分段检索过程可以被触发,该分段检索过程检索分段并且将该分段存储在递送节点或内容递送网络上,这样的分段检索过程可以包括例如吸取过程。如果分段仅被存储达预定时间,并且例如高速缓存算法将在特定时间段内从高速缓存移除分段,则这些分段的存储时间可以被延长,使得分段的可用性被保持。
在实施例中,所述方法可以进一步包括在预先通告消息中向所述内容递送节点、所述内容递送网络或在所述内容递送网络中的(请求路由)节点发送所述预先通告信息。在实施例中,所述预先通告消息可以是(HTTP)消息。在又另一实施例中,(HTTP)消息的报头可以包括预先通告指示符,其用信号通知所述递送节点或所述内容递送网络该消息是预先通告消息(或者应当被解释为预先通告消息)。在另一实施例中,所述消息可以包括与所述至少一个分段相关联的至少一个分段定位符(URL)。在又另一实施例中,至少部分的所述预先通告信息可以被插入所述消息的报头中;和/或在所述消息的主体中。在另一实施例中,所述消息可以是HTTP HEAD、HTTP
GET或HTTP POST消息中的一个。
因此,为了使内容递送网络,更具体地CDN中的请求路由节点或递送节点在标准(HTTP)消息和用作预先通告消息的(HTTP)消息之间进行区分,(HTTP)消息的报头可以包括字段,该字段包括预先通告指示符,该预先通告指示符用信号通知递送节点或内容递送网络该消息应当被解释为预先通告消息。在本申请中描述了这样的预先通告指示符的各种实现方式,包括可以被插入(HTTP)消息的报头中的标志、令牌或预先通告cookie值。
在另一实施例中,所述发送可以进一步包括:在HTTP请求消息中向内容递送网络的请求路由节点发送所述预先通告信息;(随后)从所述请求路由节点接收HTTP重新定向消息,所述重新定向消息包括与所述内容递送节点中的由所述客户端可以向其请求所述分段的递送的递送节点相关联的地址或分段定位符;以及所述客户端或所述请求路由节点基于所述地址或分段定位符来在HTTP请求消息中向所述递送节点发送所述预先通告信息。在另一实施例中,所述客户端可以将所述地址或分段定位符写入(插入)所述清单文件中。因此,用于处理预先通告HTTP消息的信息,包括HTTP重新定向消息中的信息,可以用于至少部分地解析存储在包括自适应流送客户端的设备的高速缓存中的清单文件的一个或多个分段定位符。这样,预先通告和预先解析可以被组合以甚至进一步减小在客户端请求分段期间的延迟。
在另一实施例中,所述方法可以包括:向所述递送节点或内容递送网络发送预先通告支持消息,以验证由所述递送节点或所述内容递送网络进行的、用于确保所述分段的可用性的所述触发是否得到所述递送节点或所述内容递送网络支持。在另一实施例中,所述方法可以包括:如果所述递送节点或所述内容递送网络支持客户端的预先通告信息的处理,则从所述递送节点或所述内容递送网络接收指示所述触发得到支持的支持确认消息。
在实施例中,选择所述至少一个分段标识符可以进一步包括:使用来自所述客户端中的用户导航功能的用户导航信息和/或所述清单文件中的一般导航信息,来预测在预定时间段内可能被请求的所述分段。
在实施例中,所述预先通告信息可以通过分离的通信信道被发送到所述递送节点或所述内容递送网络。在另一实施例中,所述分离的通信信道可以由所述递送节点或所述内容递送网络使用,以激活或去激活所述客户端中的预先通告功能和/或向所述客户端发送更新的清单文件。在另一实施例中,通信信道可以是(双向)WebSocket通信信道。因此,分离的双向WebSocket信道可以在客户端和递送节点或CDN之间建立,以允许预先通告消息的高效处理。此外,这允许网络动态地激活(去激活)和/或调整预先通告功能。
在实施例中,所述递送节点或所述内容递送网络可以保持跟踪在预定时段内它已经存储的分段。在实施例中,如果所述内容递送网络接收到与在所述预定时段内已经存储的分段(标识符)相关联的预先通告信息,则所述递送节点或内容递送网络不由所述预先通告信息触发。因此,这些实施例暗示了,如果预先通告信息中的分段标识符被确定为与在预定时段期间存储的分段的分段标识符相同,则确保机制不被触发。确保机制消耗资源,尤其在非常大的分段数据库和存储装置的情况下。如果预定时段例如足够短,则可以仅假定分段仍然存在并且还没有被移除。
在另一实施例中,所述方法可以进一步包括:所述内容递送节点、所述内容递送节点、或所述内容递送节点中的请求路由节点中的过滤器功能对包括预先通告信息的消息和不包括预先通告信息的消息进行过滤。在实施例中,所述过滤包括:检查所述消息是否包括预先通告指示符。
在又另一实施例中,所述方法可以包括:包括预先通告信息的消息,其触发所述递送节点或所述内容递送网络中的高速缓存控制功能以检查分段的可用性,并且如果所述分段没有被存储在所述递送节点上,则将所述分段存储在所述递送节点上;或者如果所述分段被存储在所述递送节点上,则保持所述分段的存储达预定的时间段,优选地所述预定时段至少如预计所述分段请求将被所述客户端请求的时段那么长。
在另一方面中,本发明可以涉及一种包括自适应流送客户端的设备,自适应流送客户端被配置用于请求存储在递送节点上,优选地内容递送网络的递送节点上的分段内容,其中所述客户端设备包括下述各项中的至少一个:用于存储清单文件的至少一部分的高速缓存,所述清单文件包括用于定位所述递送节点的一个或多个分段标识符;分段选择器,被配置用于从所述清单文件中选择至少一个分段标识符,所述分段标识符标识在执行所述选择时所述客户端尚未请求的分段;和/或预先通告功能,被配置用于向递送节点或与所述递送节点相关联的内容递送网络预先发送预先通告信息以通告所述分段可以由所述客户端请求,所述预先通告信息包括所述至少一个分段标识符,所述预先通告信息进一步被布置用于触发所述递送节点或所述内容递送网络,以确保在所述至少一个分段被请求时所述分段的可用性。
在另一实施例中,所述客户端可以进一步被配置用于:准备消息,优选地(HTTP)请求消息,所述消息包括预先通告信息和预先通告指示符;并且向所述递送节点或所述内容递送网络发送所述消息,在消息(优选地(HTTP)请求消息)中发送所述预先通告信息到与所述内容递送节点相关联的内容递送网络,优选地所述消息包括与客户端可能请求的所述至少一个分段相关联的至少一个分段定位符(URL),并且其中,所述预先通告信息被插入所述消息的报头中;和/或在所述消息的主体中,优选地所述消息可以是HTTP
HEAD、HTTP GET、HTTP
POST消息中的一个。
在另一方面中,本发明可以涉及一种网络节点,该网络节点优选地供上述设备使用,其中所述网络节点可以包括下述各项中的至少一个:高速缓存控制功能,被配置用于接收预先通告信息以通告分段可能由客户端请求,所述预先通告信息包括所述至少一个分段标识符,所述预先通告信息进一步被布置用于触发所述网络节点以在所述至少一个分段被请求时确保所述分段的可用性;和/或
过滤器功能,用于优选地通过检查所述消息中的预先通告指示符的存在而在包括预先通告信息的所述消息和不包括预先通告信息的其他消息之间进行区分,其中预先通告信息包括所述至少一个分段标识符,所述预先通告信息被布置用于触发递送节点或内容递送网络以确保在所述分段由客户端请求时由所述递送节点或内容递送网络对所述分段的可用性。
在实施例中,确保所述分段的可用性可以包括:验证与所述至少一个分段标识符相关联的分段是否被存储在所述递送节点上;以及,如果所述分段没有被存储在所述递送节点上,则将所述分段存储在所述递送节点上;或者,如果所述分段被存储在所述递送节点上,则保持所述分段的存储达预定时间段,优选地所述预定时段至少如预计所述分段请求被所述客户端请求的时段那么长。
在又另一方面中,本发明可以涉及一种数据结构,优选地涉及用于由上述自适应流送客户端使用的清单文件的至少一部分,其中所述数据结构可以包括一个或多个分段标识符,优选地是URL,用于定位配置为向所述客户端递送由所述一个或多个分段标识符所标识的一个或多个分段的一个或多个递送节点;并且其中,所述数据结构可以进一步包括下述各项中的至少一个:预先通告支持信息,指令所述客户端所述一个或多个递送节点被配置为处理预先通告信息,并且可选地指令所述客户端使用其预先通告功能,该预先通告功能被配置用于向所述一个或多个递送节点发送预先通告信息以用于预先通告分段可能被所述客户端请求;和/或与所述一个或多个分段标识符相关联的一个或多个标记,标记使得所述客户端中的所述预先通告功能能够从所述清单文件中选择至少一个分段标识符。
本发明还可以涉及一种包括软件代码部分的程序产品,软件代码部分被配置用于当在计算机的存储器中运行时,执行根据上述任何方法步骤的方法步骤。将进一步参考附图来说明本发明,附图将示意性地示出根据本发明的实施例。将理解,本发明不以任何方式被限制为这些具体实施例。
附图说明
图1A和1B描绘了传统自适应流送客户端和用于在这样的客户端中使用的清单文件。
图2描绘了用于传统HAS客户端的分段检索和播出过程的流程图。
图3A-3C描绘了根据本发明的各种实施例的用于流送分段内容的流程图。
图4描绘了根据本发明的一个实施例的用于分段内容的播出的HAS客户端。
图5示意性地描绘了根据本发明的实施例的用于流送分段内容的网络节点。
图6描绘了根据本发明一个实施例的用于流送分段内容的系统。
图7描绘了根据本发明另一实施例的分段内容的流送过程的协议流程。
图8A和8B描绘了根据本发明的各种实施例的分段内容的流送过程的协议流程。
图9描绘了根据本发明的一个实施例的预先解析清单文件的至少一部分的分段定位符的示例。
图10A和10B分别描绘了根据本发明的实施例的协议流程和清单文件。
图11描绘了根据本发明的实施例的包括用于建立分离的通信信道的信息的清单文件。
图12描绘了根据本发明的实施例的用于建立双向HAS控制信道的协议流程。
图13描绘了示例性设备结构或服务器系统(优选地网络节点)结构。
具体实施方式
图1A和1B分别描绘了传统自适应流送(AS)客户端和供这样的HAS客户端使用的清单文件。客户端102可以被托管在终端(未示出)上,该终端被配置为与网络中的一个或多个媒体服务器进行通信,并且基于自适应流送协议来实现内容的流送,自适应流送协议例如,诸如苹果HTTP实况转播流送 [http://tools.ietf.org/html/draft-pantos-http-live-streaming-07]、微软平滑流送[http://www.iis.net/download/SmoothStreaming]、Adobe HTTP动态流送[http://www.adobe.com/products/httpdynamicstreaming]、3GPP-DASH [TS 26.247透明端到端分组交换流服务(PSS);通过HTTP的渐进式下载和动态自适应流送]以及通过HTTP的MPEG动态自适应流送[MPEG DASH ISO/IEC 23001-6]。
终端通常可以涉及内容处理设备,例如(移动)内容播出设备,诸如电子平板电脑、智能电话、笔记本、媒体播放器等。在一些实施例中,终端可以是被配置为处理并且临时存储内容以供内容播出设备未来消费的机顶盒或内容存储设备。
用户可以将终端连接到例如互联网的网络,浏览包括视频标题链接的内容提供商的网站,并且选择一个。当选择例如URL的链接时,清单文件可以被发送到客户端。这里,术语清单文件通常指特殊数据结构,其包括:标识构建视频标题或其一部分的分段标识符(描述符);例如(一个或多个)媒体服务器的网络节点(的集合)的位置信息,其可以被配置为向客户端递送分段或者向客户端提供分段可以在哪里被检索的信息;以及可选地包括分段控制信息,分段控制信息确定在客户端可以使用的分段之间的关系以正确地确定用于播出的分段的序列。在一些情况下,例如实况转播流的情况下,多个清单文件可以用于播出媒体。不同协议对于清单文件可以使用不同的名称。例如,在DASH流送协议中,清单文件可以被称为媒体呈现描述(MPD)。
图1B描绘了清单文件的示意图,该清单文件包括用于标识构建内容项的分段的分段标识符。可选地,清单文件可以包括位置信息,位置信息包括对一个或多个网络节点的引用,网络节点可以被配置为向客户端递送所标识的分段或者被配置为向客户端提供分段可以在哪里被检索的信息。因此,下文中可以被称为分段定位符的这样的引用可以指向配置为递送所标识的分段的网络节点;或者替代地,指向网络节点,该网络节点能够确定可能能够递送所标识的分段的一个或多个网络节点。在又另一实施例中,分段定位符还可以指向网络节点上的位置。例如,不同的分段定位符可以指向在一个递送节点中定义的不同的文件夹。
这里,术语递送节点可以是配置为向客户端递送分段的任何类型的网络节点。根据情境,递送节点还可以被称为边缘节点、高速缓存、服务节点或HTTP(web)服务器。
HAS客户端可以使用清单文件来定位配置为向客户端递送在清单文件中标识的分段的递送节点。为此,清单文件可以包括用于标识分段的至少一个分段标识符,例如分段文件名。其可以进一步包括与分段标识符相关联的至少一个分段定位符形式的位置信息。分段定位符可以被定义为对一个或多个网络节点(或网络节点上的一个或多个文件夹)的指示符,网络节点被配置为托管所标识的分段并且向客户端递送分段,或者被配置为确定可能能够向客户端递送所标识的分段的一个或多个其他网络节点。
在一些实施例中,分段标识符和分段定位符可以是诸如URL之类的预定数据结构的一部分。例如,URL
central.cdnA.com/segment1- 1.avi包括分段定位符central.cdnA.com,即对CDN A的网络节点的指示符(或引用)和分段标识符,即分段文件名segment1-1.avi,其中与分段定位符central.cdnA.com相关联的网络节点可以被配置为向客户端递送分段,或者可以被配置为递送一个或多个其他分段定位符,该其他分段定位符指向可能能够递送分段segment1-1.avi的一个或多个网络节点。
虽然以下示例使用URL来描述,但是应当认为本发明不限于此。在另一实施例中,分段标识符和分段定位符可以采取适用于标识和定位网络中的分段的任何适当格式。在一些实施例中,分段标识符和分段定位符可以在下述意义上一致:分段标识符或分段定位符可以用于标识和定位在网络中的分段。
在图1B的示例中,清单文件包括与两个不同的分段集合相关联的URL,即低比特率分段的第一集合和高比特率分段的第二集合,其中每个集合包含视频标题。这里,与低比特率分段相关联的URL的分段定位符部分可以指向第一内容递送网络CDN A的网络节点,并且高比特率分段可以指向第二CDN B的网络节点。不同的分段集合可以定义不同的表示,即相同内容的高质量表示和低质量表示。客户端可以基于清单文件中的分段URL来检索分段。该方案在以下更具体地描述。
如图1A中所示,清单文件可以被存储在清单高速缓存104中,并且被解析和结构化成分段列表,即逻辑数据结构,包括:用于检索分段的信息,例如分段标识符(例如分段文件名)和分段定位符(例如(一个或多个)URL的预定部分),用于确定可以从哪里检索这些分段;以及用于控制分段的播出的播出控制信息,即分段之间的关系(例如,时间关系、质量关系和/或空间关系)。
分段检索功能106可以使用清单高速缓存中的位置信息,以便从媒体服务器或与内容递送网络(CDN)相关联的一个或多个递送节点检索分段。分段可以使用(分段)传输协议(通常这可以是HTTP,但也可以是RTSP/RTP、FTP,并且可以使用其它协议)来检索,并且被临时存储到分段缓冲器108中。此外,视频播出功能110(也可以被称为媒体引擎)可以基于清单高速缓存中的信息来播出存储在分段缓冲器中的分段。
分段检索功能可以被配置为检索分段,使得在播出开始之前,分段缓冲器被加载有预定数目的分段。此外,在播出期间,分段检索功能基于清单文件来持续检索分段,使得足够的分段被存储在分段缓冲器中。典型地,分段检索功能可以被配置为基于在客户端和递送节点之间可用的带宽来优化检索过程。这样,与分段检索相关联的时延不会干扰分段的无缝播出。分段检索功能可以接受和处理来自用户导航功能112的分段检索指令,使得用户能够贯穿清单文件所定义的分段内容导航。这里,来自用户导航功能的分段检索指令可能涉及时间导航(例如快进)和/或空间导航(例如平移-缩放-倾斜)。
图2描绘了如图1A中描绘的传统HAS客户端的分段检索和播出过程的协议流程。该过程可以开始于客户端向网络请求清单文件,网络例如是内容递送网络CDNA。该请求消息(例如包括与清单文件相关联的URL的HTTP
GET消息)可以被发送到CDN的请求路由RR节点(步骤200)。然后,请求路由节点可以将消息重新定向到CDN A中的递送节点(步骤202-204),该递送节点被配置为将清单文件和清单文件中列出的分段递送到客户端。响应于清单请求,CDN A中的递送节点DN1可以将清单文件发送到客户端。此后,客户端可以解析清单文件(步骤208),从清单文件中选择分段,并且基于与所选择的分段相关联的分段定位符(例如URL)来请求所选择的分段。客户端中的分段检索功能可以评估可用于向客户端递送所请求的分段的带宽。在该具体情况下,足够的带宽可用于请求分段的高质量版本(还参见图1B中描绘的清单文件)。
当递送节点D1接收对第一分段“segment1-1.avi”的请求(步骤210)时,其可以确定所请求的分段文件不可用。这样的情况可以被称为“高速缓存丢失”212)。分段的不可用可能具有各种原因(如上面已经讨论的)。高速缓存丢失的确定可以触发一过程,该过程用于使用例如传统HTTP请求来从另一内容起源(例如另一CDN或中央内容存储装置)吸取所请求的分段(步骤214-216)。一旦分段被吸取并且被递送到递送节点,递送节点就可以向客户端发送所请求的分段(步骤218),客户端可以开始高质量分段的播出,同时在清单文件的基础上继续检索其他分段的过程。吸取过程将在向客户端递送所请求的分段中产生延迟。如果清单文件中的分段定位符(中的一些)需要在网络中被解析,则这些延迟可能甚至进一步增加。这样的解析过程可以包括DNS查找和重定向,DNS查找和重定向导致了与由于高速缓存丢失而导致的延迟相加的延迟。
客户端中的分段检索功能可能已经注意到,它在第一分段被完全递送到客户端之前花费相对长的时间。基于该信息,客户端可以判定,不(再)存在可用于向客户端递送高质量分段的足够带宽,并且切换到内容的(较)低质量版本的播出(步骤219)。因此,在该情况下,分段检索功能可以通过向内容递送节点发送包括与第二分段相关联的分段定位符的分段请求,基于较低质量的第二分段 “segment2-2.avi”来继续分段检索过程(步骤220)。而且在该情况下,分段可能不可用,使得另一高速缓存丢失被确定(步骤222)。高速缓存丢失可以再次启动吸取过程,其中从内容起源吸取所请求的分段。在吸取之后,所请求的(较)低质量分段被提供给可能以较低质量启动播出第二分段的客户端。
因此,根据以上内容可以得出,由于高速缓存丢失和解析过程而导致的网络中的延迟可能产生客户端请求并且播出低质量分段,这可能使用户体验降级。最终,多个后续高速缓存丢失的发生可能产生分段播出的中断。
图3A描绘了根据本发明的实施例的用于流送分段内容的协议流程。具体地,图3描绘了HAS客户端和内容递送网络被配置为最小化在客户端请求分段和所请求的分段实际递送之间可能发生的延迟的流程图。
该过程可以开始于以与参考图2描述的类似方式从递送节点检索清单文件(步骤300-306)。此后,HAS客户可以解析清单文件(步骤308),并且准备用于传输到网络的第一预先通告消息。预先通告消息可以包括关于将在不久的将来检索的分段的预先通告信息。预先通告信息可以包括一个或多个分段标识符。分段标识符可以与被指定用于向客户端递送这些分段的递送节点相关联。例如,在图3A中,发送到递送节点(步骤310)的预先通告消息可以包括标识被存储在递送节点DN1上的分段文件的一个或多个URL。在其他实施例中,预先通告信息可以包括定义预计所述分段请求由所述客户端请求的时段的时间段。
在接收预先通告消息之后,递送节点可以解析该消息(步骤312)。响应于该预先通告消息,递送节点中的高速缓存控制功能可以确定在预先通告消息中所标识的分段是否在递送节点上可用。高速缓存控制功能可以确定分段(或其中的一些)不可用。在该情况下,可以触发用于从其他内容源吸取这些段的过程。例如,可以触发动态吸取过程,其中递送节点(或请求路由节点)向内容源请求丢失的分段(步骤314-316)。这些分段可以由内容源递送到递送节点。
替代地,高速缓存控制功能可以确定分段(或其中的一些)可用,但是将要在预定时段内从高速缓存中移除,例如因为该分段已经在高速缓存处被存储达比预定最大存储时间更长的时段。在该情况下,高速缓存控制功能可以延长针对该分段的最大存储时间。这样,高速缓存控制功能将不从高速缓存中移除这些分段,使得他们可用于由客户端请求。
同时,客户端可以启动向递送节点请求第一分段的过程(步骤318和322)。因为预先通告消息已经注意到清单文件中的第一分段实际上可用于请求,该分段可以容易地被递送到客户端。分段的吸取过程(步骤320和324)可以在客户端请求分段的递送(步骤318和322)的时间期间继续,使得由于高速缓存丢失而导致的延迟被消除或者至少基本上被减小。
一旦与第一预先通告消息相关联的分段的吸取过程结束,就可以将包括来自清单文件的其他分段的第二预先通告消息发送到递送节点,使得在分段检索过程期间该分段在递送节点上可用。
如上所述的预先通告消息可以以各种方式被发送到网络。在一个实施例中,预先通告消息可以被实现为HTTP消息。在实施例中,预先通告消息可以被实现为HEAD消息,HEAD消息包括客户端在不久的将来可能将要请求的分段的分段定位符(URL)。
为了使内容递送网络(或请求路由节点和/或递送节点)在标准HTTP消息和用作针对递送节点或内容递送网络的预先通告消息的HTTP消息之间进行区分,HTTP消息的报头可以包括一字段,该字段包括预先通告指示符,预先通告指示符用信号通知递送节点或内容递送网络该消息应当被解释为预先通告消息。预先通告指示符可以是预先通告信息的一部分,预先通告信息的一部分是递送节点或CDN在标准HTTP消息和用作(除其他之外)预先通告消息的HTTP消息之间进行区分所需要的。替代地,一种或多种类型的HTTP消息,例如所有HEAD信息,可以由递送节点或内容递送网络视作预先通告消息。
在一个实施例中,指示符可以是标志,例如二进制标志。在另一实施例中,指示符可以是令牌。令牌可以是分段和/或用户特定的。在实施例中,分段标识符(的至少一部分)可以与令牌相关联。当客户端准备预先通告消息时,客户端可以从清单文件中选择一个或多个分段标识符和关联的令牌,其中,分段标识符与客户端在预定时间段内可以请求的分段相关联。此后,客户端可以向递送网络或内容递送网络发送包括至少一个分段标识符和令牌的HTTP消息作为预先通告指示符。
在另一实施例中,预先通告指示符可以基于(HTTP)cookie来实现。在该情况下,递送节点或内容递送网络可以向(cookie使能的)客户端发送设置cookie指令。在实施例中,设置cookie指令可以通过分离的通信信道被发送到客户端,分离的通信信道诸如是(基于WebSocket的)HAS控制信道,如以下参考图12所描述的。替代地,
cookie可以包括预先通告cookie值,表示可以由递送节点或CDN检测和解释的预先通告指示符。cookie值可以特定于cookie在其中有效的域。在实施例中,域可以是分段内容项(如清单文件中定义的)、分段内容项的特定表示(如清单文件中定义的)或一个或多个个体分段。
当客户端向递送节点或CND发送针对域的HTTP消息时,其向递送节点或CDN发送预先通告cookie值以及HTTP消息,使得该HTTP消息由递送节点或内容递送网络解释为预先通告消息。在实施例中,客户端可以将预先通告cookie值插入HTTP消息的cookie报头字段中,例如HTTP HEAD中。这样,递送节点或在CDN,特别是CDN的请求路由节点,可以针对预先通告cookie值来检查HTTP消息的cookie报头。如果消息不包括预先通告cookie值,则递送节点或CDN可以将该消息解释为标准的HTTP消息。
该实施例的优点在于,它允许网络在任何时间使用设置cookie指令来动态地激活(去激活)和/或调整预先通告功能。
在实施例中,预先通告消息可以被实现为HTTP GET消息,HTTP
GET消息包括预先通告指示符和客户端所请求的分段的分段标识符和/或定位符(URL),其中GET消息的HTTP报头进一步包括一个或多个分段标识符和/或定位符,该一个或多个分段标识符和/或定位符与客户端(可能)将在不久的将来请求的一个或多个分段相关联。
在再另一实施例中,预先通告消息可以被实现为HTTP GET或POST消息,其中报头具有预先通告指示符,并且其中主体可以包括客户端(可能)将在不久的将来请求的一个或多个分段定位符。一个或多个分段标识符和/或定位符可以以XML或JSON格式被存储。此外,一个或多个分段标识符和/或定位符还可以作为子HTTP请求的列表被存储在HTTP GET消息的主体中。
替代地,预先通告消息可以经由分离的通信信道被发送到网络。在一个实施例中,这样的分离通信信道可以基于WebSocket协议来建立。以下参考图11和图12来更具体地描述建立WebSocket信道的过程。
图3B和图3C描绘了根据本发明的两个实施例的客户端侧的流送过程的流程图。在图3B中,该过程可以开始于HAS客户端请求与视频标题相关联的清单文件(步骤300)。在接收到清单文件(步骤301)之后,客户端可以启动视频的播出。在启动分段的播出(步骤302)之后,客户端可以在清单文件中确定(很可能)将在预定时段内被请求的一个或多个分段标识符(分段的集合)(步骤303)。然后,客户端可以准备包括一个或多个分段标识符的预先通告消息,并且将预先通告消息发送到CDN(步骤304)。如果CDN接收预先通告消息,则CDN将注意到使分段对客户端可用。这里“对客户端可用”是指:当客户端作出对分段的请求时,该分段位于并且被存储在递送节点上。预先通告过程可以针对分段的其他集合被重复,直到视频的播出结束(步骤305)。图3C中的过程类似于图3B的过程,除了在视频播出之前将第一预先通告消息发送到网络。这样,贯穿视频的播出避免高速缓存丢失。图3B中的过程提供了快速初始播出,然而存在遭遇在开始时由于高速缓存丢失而导致的延迟的风险。
图4描绘了根据本发明的一个实施例的用于分段内容的播出的HAS客户端。具体地,图4描绘了包括(分段)预先通告功能414的HAS客户端,(分段)预先通告功能414被配置为生成包括在清单文件中列出的分段标识符的一个或多个预先通告消息。在一个实施例中,预先通告功能可以被配置为生成一个或多个预先通告消息,该预先通告消息包括预计在不久的将来由客户端选择用于播出的分段的分段标识符。
为了预测这样的分段,分段选择器413可以使用来自用户导航功能412的用户导航信息,以便于从存储在清单实例404中存储的分段列表中选择至少一个分段。该过程将在下文中更具体地描述。类似于参考图1A描述的那些,客户端可以进一步包括分段检索功能406、分段缓冲器408(高速缓存)和视频播出功能410(媒体引擎)。
基于播出的分段并且基于由用户导航功能提供的用户导航信息,分段选择器可以预测客户端在不久的将来(即在预定时间段内)很可能选择哪个(哪些)分段用于播出。用户导航信息可以提供情境信息,即用户特定的(例如,用户简档、用户导航历史、用户的(地理)位置等)信息,该信息由分段选择器使用来预测未来分段播出。
预先通告功能还可以使用与播放的分段内容相关联的一般导航信息,例如关于与具体内容项目相关联的被频繁请求的分段的信息。该一般导航信息可以与用户导航信息一起使用,以便于预测未来的分段播出。在一个实施例中,内容提供商或CDN中的控制功能可以在清单文件被递送到客户端时将一般导航信息插入清单文件(例如,标记为流行的分段)中。该实施例参考图10B来更具体地描述。在另一实施例中,预先通告功能可以经由另一通信信道从内容提供商、CDN或第三方接收一般导航信息。
如果(一个或多个)预测分段不在分段缓冲器中,则通告功能可以开始向网络发送包括(一个或多个)预测分段的分段标识符的一个或多个预先通告消息,以便于向CDN通告这些分段将在不久的将来被请求。基于预先通告消息,如果CDN(或CDN中的递送节点)已经确定预先通告消息中标识的至少一些分段在CDN中不可用,则CDN(或CDN中的递送节点)可以启动在预先通告消息中提到的分段的吸取。
图5示意性地描绘了根据本发明实施例的用于流送分段内容的网络节点。具体地,图5示意性地描绘了网络节点502,网络节点502包括用于存储分段文件的高速缓存508(存储介质)和用于控制分段的吸取和存储以及分段向客户端的递送的高速缓存控制功能512。网络节点(其可以是内容递送网络的一部分)可以被配置为从一个或多个客户端或CDN的请求路由节点接收请求消息,例如HTTP请求消息,诸如HTTP
HEAD、HTTP GET或HTTP
POST。高速缓存控制功能被配置为由预先通告消息来触发,该预先通告消息包括预先通告信息以确保在预先通告信息中的分段的可用性。
在一些实施例中,网络节点可以包括过滤器功能513。在预先通告消息被实现为诸如HTTP
HEAD、GET或POST消息(如上所述)之类的HTTP消息的情况下,可以使用递送节点中的过滤器功能513,以允许递送节点在HTTP请求消息506之间进行区分。过滤器可以通过检查消息(的报头)中的预先通告指示符的存在来在标准HTTP消息和特殊预先通告HTTP消息之间进行区分。如果请求消息是标准HTTP请求消息(与常规分段请求相关联的HTTP请求),则所请求的分段是从高速缓存506中选择的,并且被发送到已经请求了该分段的客户端510。如果请求消息是“特殊”(HTTP)请求消息,其包括预先通告信息(包括预先通告指示符)和/或应当由递送节点解释为预先通告消息(例如,在CDN应当将诸如HTTP HEAD消息之类的特定HTTP消息解释为预先通告消息的情况下),则该过滤器确保该消息被转发到高速缓存控制功能512,该高速缓存控制功能512被触发以检查分段507的可用性,并且如果该分段不可用,则触发分段检索过程509(例如,内容吸取过程),以便于从内容起源检索分段。在预先通告消息是与其他消息不同的消息的情况下,或者如果分离的通信信道用于向网络传送预先通告消息,则没有必要使用过滤器功能。
在实施例中,高速缓存控制器可以包括高速缓存算法,该算法保持跟踪存储在高速缓存中的分段并且根据特定规则从高速缓存中移除分段。高速缓存控制器可以向存储在高速缓存中的分段分配时间(例如时间戳),使得高速缓存控制器可以确定分段在高速缓存中的存储时间。如果分段被存储达比预定(最大)时段更长的时段,则高速缓存控制器可以从高速缓存中移除该分段。在一些实施例中,高速缓存控制器可以保持跟踪在特定时段内分段被请求的次数。被请求多次的分段(流行分段)可以在高速缓存中被存储达比不太流行分段更长的时段。这样,高速缓存控制器确保旧的和不太流行的分段从高速缓存中被移除。
在实施例中,如果高速缓存控制器被触发以检查分段的可用性并且高速缓存控制器确定分段是可用的,但是该分段将在预定时间内通过高速缓存算法从存储装置中被移除,那么高速缓存控制器可以延长该分段的存储时间,以使得该分段的可用性被确保。
在一些实施例中,过滤器功能可以在另一网络节点中实现,例如分离的独立节点中或在内容递送网络的请求路由节点中。
图6描绘了根据本发明一个实施例的用于流送分段内容的系统。具体地,图6图示了基于CDN的内容递送系统,包括经由CDN互连接口664互连到至少第二CDN 604(也称为下游CDN)第一CDN 602(也称为上游CDN)。
内容递送系统可以进一步包括经由传输网络407连接到托管客户端的一个或多个终端608的内容源606。内容源可以涉及内容提供商系统CPS、内容准备系统或另一CDN。CPS可以被配置为向客户提供内容(例如视频标题),客户可以使用如参考图4所描述的HAS客户端购买并且接收内容以用于视频播出。
CDN可以包括如例如参考图5描述的递送节点610、613、614以及至少一个中央CDN节点616、618。每个递送节点可以包括或关联于控制器620、622、624以及用于存储和缓冲内容的高速缓存640、642、644。每个中央CDN节点可以包括或可以关联于:用于控制从外部源(例如内容提供商或另一CDN)的内容吸取的吸取节点(或内容起源功能COF)625、627;用于保持关于内容在CDN内被存储在何处的信息的内容位置数据库634、636;以及用于控制内容的一个或多个副本向递送节点的分配并且用于将客户端重新定向到适当递送节点(也称为请求路由的过程)的CDN控制功能(CDNCF)626、628。托管CDNCF的节点可以被称为请求路由(RR)节点。客户可以通过向web门户(WP)632发送请求来从CPS 630购买内容(例如视频标题),web门户(WP)632被配置为提供标识可购买内容项的标题参考。CDNCF可以管理分段可以使用内容位置数据库634、636来检索的位置。
在图6的内容递送系统中,上游CDN可以将分段向客户端的递送的一部分外包给下游CDN。例如,在一个实施例中,低质量分段可以由第一CDN A(被配置例如用于向移动设备递送内容)定位和递送,并且高质量分段可以由第二CDN B(被配置例如用于向支持HDTV技术的家庭媒体设备递送高质量分段)定位和递送。
图7描绘了根据本发明的另一实施例的分段内容的流送过程的协议流程。该过程可以开始于以与参考图3A描述的类似的方式递送清单文件。清单文件可以由HAS客户端来解析(步骤704),HAS客户端此后准备包括分段标识符(URL)集合的预先通告消息,并且将预先通告消息发送到所述内容递送网络,具体地发送到所述内容递送网络中的内容递送网络(步骤705)。
在该具体实施例中,递送节点可以保持跟踪内容递送网络在预定时段内已经吸取的分段。因此,当已经接收到来自另一HAS客户端的针对相同分段的第二预先通告消息时,该预先通告消息可能被丢弃(即滤除),使得在相同时段中分段不会被吸取两次。如果预先通告消息没有被丢弃,则该消息被解析,并且可以以与参考图3A描述的类似的方式开始吸取过程。这样,一时段中仅第一预先通告消息触发另一动作,例如类似于参考图3A描述的过程的吸取过程,或者替代地,将要从高速缓存移除的分段的(最大)存储时间的延长。在其他实施例中,预先通告消息可以被滤除,以避免递送节点或起源服务器的过载。
图8A和8B描绘了根据本发明的各种实施例的分段内容的流送过程的协议流程。图8A的过程可以开始于内容提供商(CP)向HAS客户端提供与视频标题相关联的清单文件(步骤800)。在该情况下,清单文件可以包括分段标识符和CDNA的请求路由器的指示符(例如URL)。在解析文件(步骤802)之后,客户端可以准备HTTP消息形式的预先通告消息,例如HTTP HEAD消息,其包括客户端在不久的将来可能将要请求的分段的分段定位符(URL)。此外,HEAD消息的HTTP报头可以包括一字段,该字段包括预先通告指示符,该预先通告指示符指示HEAD消息是预先通告消息,并且允许CDN在标准HTTP消息和HTTP消息之间进行区分,HTTP消息应当触发CDN中的高速缓存控制功能(例如,CDN中的递送节点的高速缓存控制功能)以确保在客户端请求所述分段时所述分段对所述递送节点或内容递送节点的可用性。
此后,HEAD消息被发送到CDN的请求路由节点(步骤804a)。响应于HEAD消息,请求路由节点可以发送HTTP REDIRECT消息(步骤806a),该消息包括与所请求的分段被存储在的递送节点相关联的位置信息。
在接收到REDIRECT消息时,客户端可以执行DNS请求以将位置信息解析成递送节点(未示出)的IP地址。客户端可通过将递送节点的IP地址插入到清单文件中来更新清单文件(步骤808)。此外,响应于该REDIRECT消息,客户端可以使用递送节点的地址来以HTTP HEAD消息的形式将预先通告消息重新发送到递送节点(步骤810)。递送节点的过滤器功能可以解析(确定)HEAD消息是预先通告消息(步骤812),使得其可以触发高速缓存控制功能以便启动用于从内容起源(814、816)吸取分段的吸取过程。
因此,在该示例中,预先通告消息不仅用于向递送节点通告需要特定分段可用于在预定时间内递送到客户端,而且还用于预先解析清单文件的各部分。预先通告和预先解析过程的组合允许对分段内容的快速和高效处理(即分段的请求、递送和播出)。
图8B的过程类似于图8A中的过程。然而,在图8B的过程中,请求路由节点将消息转发到内容递送网络中的递送节点D1。因此,图8B的过程可以开始于内容提供商(CP)向HAS客户端提供与视频标题相关联的清单文件(步骤800)。在该情况下,清单文件可以包括分段标识符和CDNA的请求路由器的指示符(例如URL)。在解析文件(步骤802)之后,客户端可以以HTTP消息的形式准备预先通告信息,例如HTTP HEAD消息,其包括客户端将在不久的将来可能请求的分段的分段定位符(URL)。HEAD消息的HTTP报头可以包括指示HEAD消息是预先通告消息的字段。
此后,HEAD消息被发送到CDN的请求路由节点(步骤804b)。响应于该HEAD消息,请求路由节点可以发送HTTP REDIRECT消息(步骤805b),HTTP REDIRECT消息包括与所请求的分段被存储在的递送节点相关联的位置信息。在接收到REDIRECT消息时,客户端可以执行DNS请求,以将该位置信息解析成递送节点(未示出)的IP地址。客户端可以通过将递送节点的IP地址插入清单文件中来更新清单文件(步骤808)。
然而,在该具体实施例中,客户端不用另一HEAD消息来对该重新定向进行响应。相反,响应于包括预先通告信息的HEAD信息,请求路由节点可以向包括所请求的分段的递送节点发送包括预先通告信息的HEAD消息(步骤806b)。递送节点可以用200 OK消息来响应于HEAD消息(步骤807b)。因此,这样,该预先通告消息由递送节点来接收,该递送节点可以解析该信息(步骤812)并且验证在预先通告消息中标识的分段是否对客户端可用。此后,该过程(步骤814-824)可以与图8A中示出的过程相同。该实施例提供了下述优点:预先通告过程的一部分在网络中发生,从而减少了客户端上的负载。
图9描绘了根据本发明的一个实施例的清单文件的至少一部分的预先解析分段定位符的示例。具体地,图9描绘了客户端可以如何使用如下过程的示例:预先通告将非常可能在预定的时间段内被请求的一个或多个分段以便于预先解析清单文件中的信息的一部分。预先解析可以包括用递送节点的IP地址来替换分段定位符,例如存储在终端的清单高速缓存中的URL的预定部分。第一清单文件700可以由客户端从内容提供商接收,如参考图8描述的。在该情况下,清单文件指多个所谓的时间分段内容。
图9中的清单文件指示其定义了时间上分段的内容文件,该内容文件包括由分段标识符(文件名)Segment1-1.avi、Segmentl-2.avi、Segment1-3.avi和Segment1-4.avi定义的四个分段被存储在域CDN A内。这里,URL central.cdn_A.com的预定部分(901a-901d)可以指向CDN A内的一般请求路由(RR)节点。因此,在不包括可以检索分段的节点的网络地址的意义上,不解析这些分段定位符。当在流送过程中客户端使用清单文件时,在预先通告过程期间,分段定位符还可以如参考图8描述的那样被预先解析。
在预先解析过程期间,与四个分段相关联的URL 901a-901d中的未解析的分段定位符的至少一部分central.cdn_A.com可以用网络地址来替换。这样,可以形成四个解析的URL 903a-903d,每一个都包括可以检索这些分段的递送节点的网络地址。所解析的URL可以指向例如一个或多个递送节点,其中的一些可以位于例如另一CDN B中。如可以在图9中看出的,分段可以全部从由网络地址24.67.13.57标识的一个递送节点检索。
图10A描绘了针对向网络请求其是否支持预计在不久的将来要由客户端请求的分段的预先通告的协议流程。在该过程中,预先通告支持信息消息可以被发送到内容递送节点(步骤1000)。如果过滤器无法解释该消息(步骤1001)(或者,如果不存在这样的过滤器),则该消息被丢弃,并且否定响应(例如HTTP
40x响应消息,如400-错误请求或405-方法不被允许)或没有响应被发送回客户端(步骤1002)。替代地,如果预先通告支持信息消息可由过滤器解释,则该消息可以被解析(步骤1003),并且支持确认响应消息(例如预先通告支持(HTTP))可以被发送回客户端(步骤1004),使得客户端知道其可以执行预先通告过程。
图10B描绘了根据本发明的实施例的清单文件的至少一部分。清单文件可以包括CDN支持预先通告过程和/或客户端需要使用其预先通告功能的预先通告指示符1010。此外,清单文件可以包括(未解析的)分段定位符1102(作为URL的一部分)。在该具体实施例中,内容提供商或CDN提供商可以在清单文件1100内插入用于标记特定分段定位符的标记1101a、1101b。可以基于分段导航统计来插入这些标记,使得流行分段(即被频繁请求的分段)可以由客户端基于清单文件中的标记来标识。这样的标记可以将清单文件中的一个或多个分段标识为适用于预先通告和(如果需要的话)预先解析。
在一个实施例中,标记可以与等级值(例如流行度评分)相关联,使得未解析的分段定位符可以根据等级被排位。因此,这些标记可以提供一种排位方案用于分段选择器选择针对未来分段请求的一个或多个其它分段定位符。这样,与高流行度评分相关联的未解析的分段定位符可以比具有较低流行度评分的那些被更早预先解析。在一个实施例中,内容提供商或CDN可以将这些标记插入清单文件中。在另一实施例中,内容提供商或CDN可以生成新的标记清单文件。
如以上已经简单讨论的,预先通告过程并且最终预先解析过程可以通过在客户端和CDN之间的分离通信信道来执行。
图11描绘了根据本发明的实施例的包括用于建立分离的WebSocket通信信道的信息的清单文件。清单文件可以包括用于建立与流送路径相关联的通信信道(特别是(双向)HAS控制信道)的信道建立信息1124、1126。在一个实施例中,信道建立信息可以包括信道目标参数1124,信道目标参数1124提供对包括流送控制功能的网络节点的引用。此外,在另一实施例中,信道建立信息可以包括信道参数1102,即由流送控制功能/控制信道服务器功能使用的参数。例如,在WebSocket的情况下,参数可以指使用WebSocket子协议、WebSocket版本等。HAS控制信道的建立和使用参考图12来更具体地描述。
图12描绘了根据本发明实施例的包括双向HAS控制信道的建立的、在内容处理设备1230和服务器系统1232之间的协议流程。内容处理设备可以包括HAS客户端1248,并且使用媒体引擎1246用于内容播出。类似地,服务器系统可以包括用于向HAS客户端流送内容的HTTP流送功能1242。
内容处理设备和服务器系统可以进一步分别包括控制信道客户端功能(CCCF)1244和控制信道服务器功能(CCSF),例如HAS控制信道服务器功能1234,其被配置为在CCSF和CCCF 1244之间建立流送控制信道1236。这里,流送控制信道可以用于在客户端和服务器之间交换流送控制信息。具体地,流送控制信道可以用于在想向客户端流送分段内容1238期间向客户端发送从服务器系统源发的流送控制信息。例如,在一个实施例中,流送控制信道可以用于向CCCF发送来自服务器系统(或监视系统)的更新清单触发,使得客户端将向服务器系统发送对清单文件(或清单更新)的请求。
在另一实施例中,控制信道可以用于预先通告消息。这里,该过程可以以类似于以上参考其他过程描述的方式(例如用户加入实况转播流送事件)开始(步骤1200)。客户端可以发送HTTP GET请求,以从服务器系统获得清单文件,其可以通过向客户端发送清单文件来对该请求进行响应(步骤1202、1204)。
服务器中的CCSF被配置为将信道建立信息插入清单文件中,这允许客户端中的CCCF和服务器中的CCSF建立流送控制信道。因此,在解析清单文件(步骤1206)期间,信道建立信息可以从清单文件中提取(参见例如图11),并且由内容处理设备中的CCCF使用以向服务器中的CCSF发送信道建立请求(步骤1208),以用于建立服务器到客户端流送控制信道。
在一个实施例中,CCCF和CCSF可以包括HTTP WebSocket API,其被配置为使用WebSocket协议和信道建立信息来在客户端和服务器之间建立流送控制信道。WebSocket连接通常使用标准HTTP端口80和443,使得数据可以容易地传输防火墙和NAT,但是也可以使用其他端口。
使用WebSocket协议在CDN和HAS的情境内具有几个优点,诸如可缩放性的低消息开销、使用HTTP用于协议融合和防火墙的穿越以及隧穿其他协议的可能性。在另一实施例中,可以使用会话发起协议(SIP)(http://tools.ietf.org/html/rfc3261),其中客户端可以包括SIP用户代理,并且服务器是SIP应用服务器。
在又另一实施例中,使用可扩展消息收发和存在协议(XMPP)(http://www.ietf.org/rfc/rfc3920.txt),其中客户端可以包括XMPP客户端,并且服务器包括XMPP服务器。SIP和XMPP协议消息二者都可以根据draft-ibc-rtcweb-sip-websocket-00和draft-moffitt-xmpp-over-websocket-00来通过WebSocket被隧穿。
在流送控制信道的建立期间,可以在CCCF和CCSF之间交换信道参数(步骤1210)。此外,为了处理从客户端源发的消息,CCSF可以创建专用信道处理过程(线程)(步骤1212)。一旦流送控制信道被建立1214,客户端就可以启动预先通告和可选地预先解析在清单文件中标识的一个或多个分段的过程。同时,流送过程可以开始于HTTP
GET请求,HTTP GET请求包括与第一分段segment_low-1.avi相关联的URL(步骤1216)。一旦第一分段的递送通过HTTP 200 OK响应被确认(步骤1218),客户端就可以请求后续分段segment_high-2.avi(步骤1220、1222)。
在实施例中,流送控制信道可以允许网络控制客户端中的预先通告功能。例如,内容递送网络可以根据特定参数或环境来激活或去激活预先通告功能。例如,如果特定分段变得(突然)流行,则网络可以启动预先通告功能。在实施例中,递送节点或内容递送网络网络可以向客户端发送包括与图10B中的清单文件类似的信息的更新的清单文件,其中预先通告指示符向客户端指令该CDN支持预先通告过程和/或其需要使用其预先通告功能。
在一个实施例中,作为传输在清单文件中的信道建立信息的替代,信道建立信息可以预先安装到终端中或者可以经由分离的通信信道从另一(网络)源被检索。在该情况下,当客户端接收到清单文件时,它触发流送控制信道客户端功能以检索信道建立信息,以便于如参考图12的步骤1208-1214所述的那样建立流送控制信道。
在另一实施例中,服务器系统可以被配置为将分段流送到多个客户端,其中,每个客户端与其自己的流送控制信道相关联,以便于实现网络发起的(例如服务器发起的)控制,如参考图12所述的。
应当理解,关于任何一个实施例描述的任何特征可以单独使用或结合所描述的其他特征使用,并且还可以结合使用任何其他实施例的一个或多个特征或任何其他实施例的任何组合来使用。
本发明的一个实施例可以被实现为供计算机系统使用的程序产品。该程序产品的(一个或多个)程序定义了实施例(包括本文所描述的方法)的功能,并且可以被包含在各种计算机可读存储介质上。说明性计算机可读存储介质包括但不限于:(i)信息被永久存储在的非可写入存储介质(例如,计算机内的只读存储器设备,诸如可由CD-ROM驱动器读取的CD-ROM盘、闪速存储器、ROM芯片或任何类型的固态非易失性半导体存储器);和(ii)可变更信息被存储在的可写入存储介质(例如,在软盘驱动器或硬盘驱动器内的软盘或任何类型的固态随机存取半导体存储器)。
图13是图示可以在参考图1-12描述的系统和方法中使用的示例性数据处理系统的框图。数据处理系统1300可以包括通过系统总线1306耦合到存储器元件1304的至少一个处理器1302。这样,数据处理系统可以将程序代码存储在存储器元件1304内。此外,处理器1302可以执行经由系统总线1306从存储器元件1304存取的程序代码。在一个方面中,数据处理系统可以被实现为适用于存储和/或执行程序代码的计算机。然而,应当理解,数据处理系统1300可以以包括处理器和存储器的任何系统的形式被实现,该系统能够执行本说明书内描述的功能。
存储器元件1304可以包括一个或多个物理存储器设备,诸如例如,本地存储器1308和一个或多个大容量存储设备1310。本地存储器可以指通常在程序代码的实际执行期间使用的随机存取存储器或(一个或多个)其他非持久性存储器设备。大容量存储设备可以被实现为硬盘驱动器或其他持久性数据存储设备。处理系统1300还可以包括一个或多个高速缓存存储器(未示出),其提供至少一些程序代码的临时存储,以减少在执行期间必须从大容量存储设备1310检索的程序代码的次数。
描绘为输入设备1312和输出设备1314的输入/输出(I/O)设备可以可选地被耦合到数据处理系统。输入设备的示例可以包括但不限于,例如键盘、诸如鼠标之类的指示设备等。输出设备的示例可以包括但不限于,例如监视器或显示器、扬声器等。输入设备和/或输出设备可以直接地或通过中间I/O控制器被耦合到数据处理系统。网络适配器1316还可以被耦合到数据处理系统,以使其能够通过中间私人或公共网络被耦合到其他系统、计算机系统、远程网络设备和/或远程存储设备。网络适配器可以包括:用于接收数据的数据接收机,所述数据由所述系统、设备和/或网络传送到所述数据;以及用于向所述系统、设备和/或网络传送数据的数据发射机。调制解调器、电缆调制解调器和以太网卡是可以与数据处理系统1350一起使用的不同类型的网络适配器的示例。
如图13中所描绘的,存储器元件1304可以存储应用1318。应当理解,数据处理系统1300可以进一步执行可以促进应用的执行的操作系统(未示出)。以可执行程序代码形式实现的应用可以通过数据处理系统1300来执行,例如通过处理器1302来执行。响应于执行应用,数据处理系统可以被配置为执行要在本文中更详细描述的一个或多个操作。
在一个方面中,例如,数据处理系统1300可以表示客户端数据处理系统。在该情况下,应用1318可以表示客户端应用,客户端应用在被执行时配置数据处理系统1300以执行本文中参考“客户端”描述的各种功能。客户端数据处理系统的示例可以包括但不限于个人计算机、便携式计算机、移动电话等。
此外,如本领域技术人员将可以理解的,本发明的各方面可以被实现为系统、方法或计算机程序产品。因此,本发明的各方面可以采取完全硬件实施例、完全软件实施例(包括固件、常驻软件、微代码等)或组合软件和硬件方面的实施例的形式,这些实施例在本文中通常可以全部被称为“电路”、“模块”、“节点”或“系统”。此外,本发明的各方面可以采取计算机程序产品的形式,该计算机程序产品在一个或多个计算机可读介质中实现,该计算机可读介质具有实现在其上的计算机可读程序代码。
在本说明书中描述的许多功能单元已经被标记为模块、功能或客户端,以便于更具体地强调其实现独立性。例如,模块、功能或客户端可以被实现为包括定制VLSI电路或门阵列、现货供应的半导体(诸如逻辑芯片、晶体管)或其他分立组件的硬件电路。模块、功能或客户端还可以在可编程硬件设备(诸如现场可编程门阵列、可编程阵列逻辑、可编程逻辑器件等)中实现。
模块、功能或客户端还可以以软件实现,以用于通过各种类型的处理器来执行。计算机可读程序代码的标识模块可以例如包括计算机指令的一个或多个物理或逻辑块,该物理或逻辑块可以例如被组织为对象、过程或功能。然而,所标识的模块的可执行性不必物理地位于一起,而是可以包括存储在不同位置的不同指令,这些不同指令在逻辑上被结合在一起时包括所述模块并且实现模块的所阐述目的。
本文所用的术语仅出于描述具体实施例的目的,并且不意在限制本发明。如本文使用的单数形式“一”、“一个”和“该”意在还包括复数形式,除非上下文另外明确指出。还将理解,术语“包括”和/或“包含”当在本说明书中使用时指明所阐述的特征、整体、步骤、操作、元件和/或组件的存在,但不排除存在或添加一个或多个其他特征、整体、步骤、操作、元件、组件和/或其组合。
以下权利要求中的所有装置或步骤加功能元件的对应结构、材料、动作和等同物意在包括用于结合具体要求保护的其他要求保护的元件执行功能的任何结构、材料或动作。本发明的描述已经出于说明和描述的目的被呈现,但不意在穷举或以所公开的形式限制本发明。在不脱离本发明的范围和精神的情况下,许多修改和变化对本领域普通技术人员来说将是显而易见的。实施例被选择和描述以便最好地解释本发明的原理和实际应用,并且使本领域普通技术人员能够理解针对具有各种修改的各种实施例的本发明适合于设想的具体用途。
Claims (16)
1.用于实现基于清单文件从递送节点向包括自适应流送客户端的设备流送分段内容的方法,所述清单文件包括一个或多个分段标识符,所述方法包括:
从所述清单文件中选择至少一个分段标识符,所述分段标识符标识当执行所述选择时尚未被所述客户端请求的分段;以及
向递送节点或内容递送网络预先发送预先通告信息,用于通告所述分段可能被所述客户端请求,所述预先通告信息包括所述至少一个分段标识符,所述预先通告信息进一步被布置用于触发所述递送节点或所述内容递送网络以确保在所述至少一个分段被请求时所述分段的可用性。
2.根据权利要求1所述的方法,其中,所述预先通告信息包括时间段,所述时间段定义预计所述分段请求被所述客户端请求的时段。
3.根据权利要求1或2所述的方法,其中,确保所述分段的可用性进一步包括:
验证与所述至少一个分段标识符相关联的分段是否被吸取和/或被存储在所述递送节点上或所述内容递送网络中;以及
如果所述分段没有被吸取和/或存储在所述递送节点上或所述内容递送网络中,则在所述递送上存储所述分段;或者
如果所述分段被吸取和/或存储在所述递送节点上或所述内容递送网络中,则在预定时间段中保持所述分段的存储,优选地所述预定时段至少如预计所述分段请求要被所述客户端请求的时段那么长。
4.根据权利要求1-3中的任何一项所述的方法,进一步包括:
在预先通告消息中,优选地在(HTTP)请求消息中,向所述内容递送节点或所述内容递送网络发送所述预先通告信息;其中所述预先通告信息的至少一部分被插入在所述消息的报头中;和/或在所述消息的主体中向所述内容递送节点或所述内容递送网络发送所述预先通告信息,优选地所述消息是HTTP HEAD、HTTP GET或HTTP POST消息中的一个。
5.根据权利要求4所述的方法,其中,所述消息的报头包括预先通告指示符,所述预先通告指示符用信号通知所述递送节点或所述内容递送网络所述消息是预先通告消息。
6.根据权利要求1-5中的任何一项所述的方法,所述发送进一步包括:
在HTTP请求消息中向内容递送网络的请求路由节点发送所述预先通告信息;
随后从所述请求路由节点接收HTTP重新定向消息,所述重新定向消息包括与所述内容递送节点中的递送节点相关联的地址或分段定位符(URL),所述客户端可能向所述递送节点请求递送所述分段;以及
所述客户端或所述请求路由节点基于所述地址或分段定位符在HTTP请求消息中向所述递送节点发送所述预先通告信息,
以及可选地,
将所述地址或分段定位符写入所述清单文件中。
7.根据权利要求1-6中的任何一项所述的方法,进一步包括:
向所述递送节点或内容递送网络发送预先通告支持消息,所述预先通告支持消息被配置用于:验证由所述递送节点或所述内容递送网络确保当所述至少一个分段被请求时所述分段的可用性的所述触发是否得到所述递送节点或所述内容递送网络支持;以及可选地
如果所述递送节点或所述内容递送网络支持客户端的预先通告信息的处理,则从所述递送节点或所述内容递送网络接收所述触发被支持的预先通告支持确认消息。
8.根据权利要求1-7中的任何一项所述的方法,其中,选择所述至少一个分段标识符进一步包括:
使用来自所述客户端中用户导航功能的用户导航信息和/或所述清单文件中的一般导航信息来预测在预定时间段内可能被请求的所述分段。
9.根据权利要求1-8中的任何一项所述的方法,其中,所述预先通告信息通过分离的通信信道,优选地通过(双向)WebSocket通信信道,被发送到所述递送节点或所述内容递送网络;并且可选地,其中,所述分离的通信信道由所述递送节点或所述内容递送网络来使用以激活或去激活所述客户端中的预先通告功能和/或向所述客户端发送更新的清单文件。
10.根据权利要求1-9中的任何一项所述的方法,其中,所述递送节点或所述内容递送网络保持跟踪在预定时段内它已经存储和/或吸取的分段,并且其中,如果所述递送节点或所述内容递送网络接收到与在所述预定时段内已经被存储和/或吸取的分段标识符相关联的预先通告信息,则所述递送节点或所述内容递送网络被布置为不被所述预先通告信息触发,以确保在所述分段被请求时所述分段的可用性。
11.根据权利要求4或5所述的方法,进一步包括:
中所述递送节点、所述内容递送网络或所述内容递送网络中的请求路由节点中的过滤器功能,所述过滤器功能优选地通过检查所述消息中的预先通告指示符的存在来对包括预先通告信息的消息和不包括预先通告信息的消息进行过滤;以及可选地,
包括预先通告信息的消息,所述预先通告信息触发所述递送节点或所述内容递送网络中的高速缓存控制功能来检查分段的可用性,并且如果所述分段没有被存储在所述递送节点上和/或没有被吸取,则吸取所述分段和/或将所述分段存储在所述递送节点上或所述内容递送网络中;或者如果所述分段被存储在所述递送节点上或所述内容递送网络中,则保持所述分段的存储达预定时间段,优选地所述预定时段至少如预计所述分段请求被所述客户端请求的时段那么长。
12.包括自适应流送客户端的设备,所述自适应流送客户端被配置用于请求存储在递送节点上,优选地内容递送网络的递送节点上的分段内容,所述设备包括:
用于存储清单文件的至少一部分的高速缓存,所述清单文件包括用于定位所述递送节点的一个或多个分段标识符;
分段选择器,被配置用于从所述清单文件中选择至少一个分段标识符,所述分段标识符标识在执行所述选择时尚未被所述客户端请求的分段;以及
预先通告功能,被配置用于向递送节点或内容递送网络预先发送用于通告所述分段可能被所述客户端请求的预先通告信息,所述预先通告信息包括所述至少一个分段标识符,所述预先通告信息进一步被布置用于触发所述递送节点或所述内容递送网络,以确保在所述至少一个分段被请求时所述分段的可用性。
13.根据权利要求12所述的设备,其中,所述客户端进一步被配置用于:
准备消息,优选地(HTTP)请求消息,所述消息包括预先通告信息和预先通告指示符;以及向所述递送节点或所述内容递送网络发送所述消息,优选地所述预先通告信息被插入在所述消息的报头中,和/或被插入在所述消息的主体中,优选地所述消息是HTTP HEAD、HTTP GET或HTTP POST消息中的一个。
14.一种网络节点,优选地供根据权利要求12或13所述的客户端使用,其中所述网络节点包括:
高速缓存控制功能,被配置用于接收预先通告信息,所述预先通告信息用于通告分段可能被客户端请求,所述预先通告信息包括所述至少一个分段标识符,所述预先通告信息进一步被布置用于触发所述网络节点以在所述至少一个分段被请求时确保所述分段的可用性,优选地,实现所述分段的可用性进一步包括:验证与所述至少一个分段标识符相关联的分段是否被吸取和/或存储在所述递送节点上;以及,如果所述分段没有被吸取和/或存储在所述递送节点上,则吸取所述分段和/或将所述分段存储在所述递送节点上;或者,如果所述分段被吸取和/或存储在所述递送节点上,则保持所述分段的存储达预定时间段,优选地所述预定时段至少如预计所述分段请求被所述客户端请求的时段那么长;和/或
过滤器功能,用于优选地通过检查所述消息中的预先通告指示符的存在来在包括预先通告信息的所述消息和不包括预先通告信息的其他消息之间进行区分,其中预先通告信息包括所述至少一个分段标识符,所述预先通告信息被布置用于触发递送节点或内容递送网络以由所述递送节点或内容递送网络确保在所述分段被客户端请求时所述分段的可用性。
15.一种数据结构,优选地是用于由根据权利要求12和13的自适应流送客户端使用的清单文件的至少一部分,所述数据结构包括一个或多个分段标识符,优选地是URL,用于定位一个或多个递送节点,所述一个或多个递送节点被配置为向所述客户端递送由所述一个或多个分段标识符所标识的一个或多个分段;所述数据结构进一步包括:
预先通告支持信息,指令所述客户端所述一个或多个递送节点被配置为处理预先通告信息,并且可选地,指令所述客户端使用其预先通告功能,所述预先通告功能被配置用于向所述一个或多个递送节点发送用于预先通告分段可能被所述客户端请求的预先通告;和/或
与所述一个或多个分段标识符相关联的一个或多个标记,标记使得所述客户端中的所述预先通告功能能够从所述清单文件中选择至少一个分段标识符。
16.一种包括软件代码部分的计算机程序产品,所述软件代码部分被配置用于当在计算机的存储器中运行时,执行根据权利要求1-11中的任何一项所述的方法步骤。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP13174981 | 2013-07-03 | ||
EP13174981.4 | 2013-07-03 | ||
PCT/EP2014/064022 WO2015000936A1 (en) | 2013-07-03 | 2014-07-02 | Streaming of segmented content |
Publications (1)
Publication Number | Publication Date |
---|---|
CN105379295A true CN105379295A (zh) | 2016-03-02 |
Family
ID=48747384
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201480037577.8A Pending CN105379295A (zh) | 2013-07-03 | 2014-07-02 | 分段内容的流送 |
Country Status (5)
Country | Link |
---|---|
US (2) | US10171528B2 (zh) |
EP (1) | EP3017605B1 (zh) |
JP (2) | JP6444398B2 (zh) |
CN (1) | CN105379295A (zh) |
WO (1) | WO2015000936A1 (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109639758A (zh) * | 2018-10-31 | 2019-04-16 | 中国科学院信息工程研究所 | 内容中心网络中用户行为隐私的保护方法及装置 |
US10931985B2 (en) | 2017-01-06 | 2021-02-23 | Sony Corporation | Information processing apparatus and information processing method |
CN112787927A (zh) * | 2021-03-26 | 2021-05-11 | 新华三信息安全技术有限公司 | 一种分段路由报文转发方法、装置及预设逻辑电路单元 |
CN114051750A (zh) * | 2019-05-31 | 2022-02-15 | 苹果公司 | 用于性能数据流式传输、性能数据文件报告和性能阈值监测的系统和方法 |
Families Citing this family (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3525474A1 (en) | 2011-12-29 | 2019-08-14 | Koninklijke KPN N.V. | Controlled streaming of segmented content |
WO2015000936A1 (en) | 2013-07-03 | 2015-01-08 | Koninklijke Kpn N.V. | Streaming of segmented content |
FR3016263A1 (fr) * | 2014-01-07 | 2015-07-10 | Orange | Procede de traitement d'erreur de restitution d'un contenu numerique |
WO2015121342A1 (en) | 2014-02-13 | 2015-08-20 | Koninklijke Kpn N.V. | Requesting multiple chunks from a network node on the basis of a single request message |
US10523723B2 (en) | 2014-06-06 | 2019-12-31 | Koninklijke Kpn N.V. | Method, system and various components of such a system for selecting a chunk identifier |
KR20160041398A (ko) * | 2014-10-07 | 2016-04-18 | 삼성전자주식회사 | 컨텐츠 처리 장치 및 그의 컨텐츠 처리 방법 |
US10084838B2 (en) | 2014-10-29 | 2018-09-25 | DLVR, Inc. | Generating and using manifest files including content delivery network authentication data |
US10142386B2 (en) | 2014-10-29 | 2018-11-27 | DLVR, Inc. | Determining manifest file data used in adaptive streaming video delivery |
US9509742B2 (en) * | 2014-10-29 | 2016-11-29 | DLVR, Inc. | Configuring manifest files referencing infrastructure service providers for adaptive streaming video |
US9916457B2 (en) * | 2015-01-12 | 2018-03-13 | Cisco Technology, Inc. | Decoupled name security binding for CCN objects |
US20160337424A1 (en) * | 2015-05-13 | 2016-11-17 | Qualcomm Incorporated | Transferring media data using a websocket subprotocol |
CA3015486A1 (en) * | 2016-02-23 | 2017-08-31 | Level 3 Communications, Llc | Systems and methods for content server rendezvous in a dual stack protocol network |
US11290755B2 (en) * | 2017-01-10 | 2022-03-29 | Qualcomm Incorporated | Signaling data for prefetching support for streaming media data |
US10666707B2 (en) * | 2017-01-11 | 2020-05-26 | Microsoft Technology Licensing, Llc | Nonconsecutive file downloading |
US10838924B2 (en) * | 2017-10-02 | 2020-11-17 | Comcast Cable Communications Management, Llc | Multi-component content asset transfer |
CN108063769B (zh) * | 2017-12-26 | 2020-10-02 | 南京中兴新软件有限责任公司 | 一种内容服务的实现方法、装置及内容分发网络节点 |
US11089103B1 (en) | 2018-09-26 | 2021-08-10 | Amazon Technologies, Inc. | Content management in a distributed cache of a wireless mesh network |
US10986387B1 (en) * | 2018-09-26 | 2021-04-20 | Amazon Technologies, Inc. | Content management for a distributed cache of a wireless mesh network |
US11758203B2 (en) * | 2019-12-13 | 2023-09-12 | At&T Intellectual Property I, L.P. | Adaptive bitrate video cache |
EP3863272A1 (en) * | 2020-02-04 | 2021-08-11 | Nokia Technologies Oy | Notifications sent with indirect communication in sba |
US11445270B2 (en) * | 2020-04-15 | 2022-09-13 | Comcast Cable Communications, Llc | Content information for manifest determination |
AU2021283275A1 (en) | 2020-06-03 | 2023-02-02 | Gojo Industries, Inc. | Dispensers and dispenser systems for precisely controlled output dosing of soap or sanitizer |
KR20220012740A (ko) * | 2020-07-23 | 2022-02-04 | 삼성전자주식회사 | 통신 시스템에서 컨텐츠의 송수신을 제어하기 위한 방법 및 장치 |
US11412283B1 (en) | 2021-04-27 | 2022-08-09 | City University Of Hong Kong | System and method for adaptively streaming video |
US12069032B2 (en) * | 2021-11-22 | 2024-08-20 | Whitestar Communications, Inc. | Autonomic distribution of hyperlinked hypercontent in a secure peer-to-peer data network |
US12052266B2 (en) * | 2021-12-16 | 2024-07-30 | Whitestar Communications, Inc. | Secure streaming media based on updating hypercontent in a secure peer-to-peer data network |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040010613A1 (en) * | 2002-07-12 | 2004-01-15 | Apostolopoulos John G. | Storage and distribution of segmented media data |
US20100161756A1 (en) * | 2008-12-23 | 2010-06-24 | At&T Mobility Ii Llc | Streaming enhancements through pre-fetch background |
WO2012178174A1 (en) * | 2011-06-24 | 2012-12-27 | General Instrument Corporation | Intelligent buffering of media streams delivered over internet |
Family Cites Families (103)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH1153244A (ja) * | 1997-08-01 | 1999-02-26 | Fujitsu Ltd | 情報提供システム |
US6553376B1 (en) | 1998-11-18 | 2003-04-22 | Infolibria, Inc. | Efficient content server using request redirection |
JP2001101061A (ja) * | 1999-09-27 | 2001-04-13 | Ddi Corp | キャッシュサーバ |
WO2002044905A1 (fr) | 2000-11-29 | 2002-06-06 | Flex-Firm Inc. | Procede de gestion de session pour la fourniture de contenu |
US6938005B2 (en) | 2000-12-21 | 2005-08-30 | Intel Corporation | Digital content distribution |
US6839865B2 (en) | 2000-12-29 | 2005-01-04 | Road Runner | System and method for multicast stream failover |
US7356838B2 (en) | 2001-06-06 | 2008-04-08 | Yahoo! Inc. | System and method for controlling access to digital content, including streaming media |
US20030097443A1 (en) | 2001-11-21 | 2003-05-22 | Richard Gillett | Systems and methods for delivering content over a network |
US9137324B2 (en) | 2002-04-10 | 2015-09-15 | International Business Machines Corporation | Capacity on-demand in distributed computing environments |
US20030204602A1 (en) | 2002-04-26 | 2003-10-30 | Hudson Michael D. | Mediated multi-source peer content delivery network architecture |
US7289519B1 (en) | 2002-05-01 | 2007-10-30 | Cisco Technology, Inc. | Methods and apparatus for processing content requests using domain name service |
JP2004310593A (ja) | 2003-04-09 | 2004-11-04 | Mitsubishi Electric Corp | コンテンツ提供方法およびシステム |
US20050071881A1 (en) | 2003-09-30 | 2005-03-31 | Deshpande Sachin G. | Systems and methods for playlist creation and playback |
US7889697B2 (en) | 2004-05-04 | 2011-02-15 | Qualcomm Incorporated | Method and apparatus for content delivery to a mobile device |
JP2006171822A (ja) | 2004-12-13 | 2006-06-29 | Nippon Telegr & Teleph Corp <Ntt> | コンテンツ配信方法 |
WO2007001275A1 (en) | 2005-06-22 | 2007-01-04 | Thomson Licensing | Multicast downloading using path information |
US8321690B2 (en) | 2005-08-11 | 2012-11-27 | Microsoft Corporation | Protecting digital media of various content types |
US20070242666A1 (en) | 2006-04-13 | 2007-10-18 | Alcatel | Apparatus for managing requests for data in a communication network |
US9386064B2 (en) | 2006-06-09 | 2016-07-05 | Qualcomm Incorporated | Enhanced block-request streaming using URL templates and construction rules |
EP2596801B1 (en) | 2006-10-06 | 2018-05-02 | Bavarian Nordic A/S | Recombinant modified vaccinia ankara virus encoding a her-2 antigen for use in treating cancer |
CN101201827B (zh) * | 2006-12-14 | 2013-02-20 | 阿里巴巴集团控股有限公司 | 一种网页显示的方法和系统 |
US20080189429A1 (en) | 2007-02-02 | 2008-08-07 | Sony Corporation | Apparatus and method for peer-to-peer streaming |
CN101146110B (zh) | 2007-09-25 | 2011-06-29 | 深圳市迅雷网络技术有限公司 | 一种播放流媒体的方法 |
JP4561804B2 (ja) | 2007-10-09 | 2010-10-13 | ブラザー工業株式会社 | サムネイル配信システム、サーバ、クライアント、およびプログラム |
CN101141627A (zh) | 2007-10-23 | 2008-03-12 | 深圳市迅雷网络技术有限公司 | 一种流媒体文件的存储系统及方法 |
WO2009075033A1 (ja) | 2007-12-13 | 2009-06-18 | Fujitsu Limited | パケット通信システム及びパケット通信方法並びにノード及びユーザ端末 |
JP5011092B2 (ja) | 2007-12-27 | 2012-08-29 | 三菱電機株式会社 | データダウンロードシステム及びデータダウンロード方法 |
WO2009095078A1 (en) * | 2008-01-31 | 2009-08-06 | Telefonaktiebolaget Lm Ericsson (Publ) | Method and apparatus for obtaining media over a communications network |
JP2009187466A (ja) | 2008-02-08 | 2009-08-20 | Ntt Docomo Inc | プロキシシステム及び中継方法 |
US8028081B2 (en) | 2008-05-23 | 2011-09-27 | Porto Technology, Llc | System and method for adaptive segment prefetching of streaming media |
EP2131362A1 (en) | 2008-06-06 | 2009-12-09 | Koninklijke KPN N.V. | Method and system for managing content data |
JP5223480B2 (ja) | 2008-06-13 | 2013-06-26 | 富士通株式会社 | コンテンツ配信方法及び通信端末装置 |
US20100169303A1 (en) | 2008-12-31 | 2010-07-01 | David Biderman | Playlists for real-time or near real-time streaming |
US9225794B2 (en) | 2009-03-31 | 2015-12-29 | Google Inc. | Adaptive DNS pre-resolution |
GB2472985A (en) | 2009-08-24 | 2011-03-02 | Christopher James Boulton | Media Resource Broker Location Function |
JP2011053244A (ja) | 2009-08-31 | 2011-03-17 | Sumitomo Bakelite Co Ltd | 偏光板、偏光レンズおよび防眩製品 |
EP2986016A1 (en) * | 2009-09-03 | 2016-02-17 | Koninklijke KPN N.V. | Determination and pre-loading of follow-up content at a receiving equipment |
US8392600B2 (en) | 2009-09-14 | 2013-03-05 | Adobe Systems Incorporated | Dynamic stream switch control |
US8341255B2 (en) | 2009-10-06 | 2012-12-25 | Unwired Planet, Inc. | Managing network traffic by editing a manifest file |
US9124642B2 (en) | 2009-10-16 | 2015-09-01 | Qualcomm Incorporated | Adaptively streaming multimedia |
KR101786051B1 (ko) | 2009-11-13 | 2017-10-16 | 삼성전자 주식회사 | 데이터 제공 방법 및 장치와 데이터 수신 방법 및 장치 |
CN102714602B (zh) * | 2009-12-04 | 2016-03-02 | 清流迅有限公司 | 通过网络传输用来播放的多媒体内容的系统和方法 |
US9355144B2 (en) * | 2009-12-10 | 2016-05-31 | Nokia Technologies Oy | Method and apparatus for recycling information fragments in information spaces |
CN102714662B (zh) | 2010-01-18 | 2017-06-09 | 瑞典爱立信有限公司 | 用于http媒体流分发的方法和装置 |
EP2362651A1 (en) | 2010-02-19 | 2011-08-31 | Thomson Licensing | Multipath delivery for adaptive streaming |
EP2360923A1 (en) | 2010-02-24 | 2011-08-24 | Thomson Licensing | Method for selectively requesting adaptive streaming content and a device implementing the method |
US8850116B2 (en) * | 2010-03-10 | 2014-09-30 | Lsi Corporation | Data prefetch for SCSI referrals |
EP2375680A1 (en) | 2010-04-01 | 2011-10-12 | Thomson Licensing | A method for recovering content streamed into chunk |
CN102882845B (zh) | 2010-04-07 | 2016-07-13 | 苹果公司 | 实时或准实时流传输 |
US9137278B2 (en) | 2010-04-08 | 2015-09-15 | Vasona Networks Inc. | Managing streaming bandwidth for multiple clients |
WO2011139305A1 (en) * | 2010-05-04 | 2011-11-10 | Azuki Systems, Inc. | Method and apparatus for carrier controlled dynamic rate adaptation and client playout rate reduction |
EP2410743A1 (en) | 2010-07-23 | 2012-01-25 | Alcatel Lucent | Method for transferring video chunks, server entity, client entity and intermediate network entity realizing such a method |
EP2429189A1 (en) | 2010-09-09 | 2012-03-14 | Irdeto B.V. | Method and system for providing content to a recipient device |
US8811393B2 (en) | 2010-10-04 | 2014-08-19 | Cisco Technology, Inc. | IP address version interworking in communication networks |
KR101854919B1 (ko) | 2010-10-07 | 2018-05-04 | 삼성전자주식회사 | Drm 서비스 제공 방법 및 장치 |
WO2012065186A2 (en) | 2010-11-12 | 2012-05-18 | Realnetworks, Inc. | Traffic management in adaptive streaming protocols |
EP2487609A1 (en) | 2011-02-07 | 2012-08-15 | Alcatel Lucent | A cache manager for segmented multimedia and corresponding method for cache management |
US8156239B1 (en) | 2011-03-09 | 2012-04-10 | Metropcs Wireless, Inc. | Adaptive multimedia renderer |
US9571547B2 (en) | 2011-03-14 | 2017-02-14 | Canon Kabushiki Kaisha | Method and device for generating media fragment requests for requesting fragments of an encoded media stream |
US9271021B2 (en) | 2011-03-31 | 2016-02-23 | Verizon Patent And Licensing Inc. | Delivery of streaming media content |
US20120254591A1 (en) * | 2011-04-01 | 2012-10-04 | Hughes Christopher J | Systems, apparatuses, and methods for stride pattern gathering of data elements and stride pattern scattering of data elements |
US8849950B2 (en) | 2011-04-07 | 2014-09-30 | Qualcomm Incorporated | Network streaming of video data using byte range requests |
US8683013B2 (en) | 2011-04-18 | 2014-03-25 | Cisco Technology, Inc. | System and method for data streaming in a computer network |
US20120278495A1 (en) | 2011-04-26 | 2012-11-01 | Research In Motion Limited | Representation grouping for http streaming |
EP2716011A1 (en) * | 2011-06-01 | 2014-04-09 | Interdigital Patent Holdings, Inc. | Content delivery network interconnection (cdni) mechanism |
JP2012252467A (ja) | 2011-06-01 | 2012-12-20 | Canon Inc | 画像処理システム、情報処理装置、その制御方法、及び制御プログラム |
JP5187984B2 (ja) * | 2011-06-16 | 2013-04-24 | パナソニック株式会社 | コンテンツ処理装置およびコンテンツ処理システム |
US8713420B2 (en) * | 2011-06-30 | 2014-04-29 | Cable Television Laboratories, Inc. | Synchronization of web applications and media |
EP2754300A1 (en) * | 2011-08-10 | 2014-07-16 | Telefonaktiebolaget LM Ericsson (PUBL) | Media stream handling |
US9026670B2 (en) | 2011-08-22 | 2015-05-05 | Allot Communications Ltd. | System and method for efficient caching and delivery of adaptive bitrate streaming |
US8897753B2 (en) | 2011-10-12 | 2014-11-25 | Motorola Mobility Llc | Method for retrieving content by a wireless communication device having first and second radio access interfaces, wireless communication device and communication system |
US9674266B2 (en) | 2011-10-17 | 2017-06-06 | Telefonaktiebolaget Lm Ericsson (Publ) | Method for adaptive streaming, local storing and post-storing quality increase of a content file |
EP2587824A1 (en) * | 2011-10-27 | 2013-05-01 | Thomson Licensing | Method and apparatus to manage the operation of an adaptive streaming client |
US9860604B2 (en) * | 2011-11-23 | 2018-01-02 | Oath Inc. | Systems and methods for internet video delivery |
JP2013115592A (ja) | 2011-11-28 | 2013-06-10 | Toshiba Corp | 情報処理装置、情報処理方法及び情報処理プログラム |
EP2605469A1 (en) | 2011-12-13 | 2013-06-19 | Thomson Licensing | Method and apparatus to control a multipath adaptive streaming session |
US10038927B2 (en) * | 2011-12-22 | 2018-07-31 | Cisco Technology, Inc. | Out-of-band signaling and device-based content control |
US8806193B2 (en) | 2011-12-22 | 2014-08-12 | Adobe Systems Incorporated | Methods and apparatus for integrating digital rights management (DRM) systems with native HTTP live streaming |
EP3525474A1 (en) * | 2011-12-29 | 2019-08-14 | Koninklijke KPN N.V. | Controlled streaming of segmented content |
EP3068102B1 (en) | 2011-12-29 | 2017-11-08 | Koninklijke KPN N.V. | Network-initiated content streaming control |
EP2805463A1 (en) | 2012-01-17 | 2014-11-26 | Telefonaktiebolaget L M Ericsson (publ) | Method for sending respectively receiving a media stream |
US9401968B2 (en) * | 2012-01-20 | 2016-07-26 | Nokia Techologies Oy | Method and apparatus for enabling pre-fetching of media |
US9712887B2 (en) | 2012-04-12 | 2017-07-18 | Arris Canada, Inc. | Methods and systems for real-time transmuxing of streaming media content |
US9380092B2 (en) | 2012-04-18 | 2016-06-28 | Google Inc. | Method and system for inserting content into streaming media at arbitrary time points |
US9219765B2 (en) | 2012-05-10 | 2015-12-22 | International Business Machines Corporation | End user QoS selection |
US9819715B2 (en) | 2012-06-21 | 2017-11-14 | Adobe Systems Incorporated | Client side control of adaptive streaming |
JP2014017741A (ja) | 2012-07-10 | 2014-01-30 | Sharp Corp | コンテンツ送信装置、コンテンツ再生装置、コンテンツ配信システム、コンテンツ送信装置の制御方法、コンテンツ再生装置の制御方法、制御プログラムおよび記録媒体 |
WO2014023330A1 (en) | 2012-08-06 | 2014-02-13 | Huawei Technologies Co., Ltd. | Method for providing a multimedia message service |
US20140089467A1 (en) * | 2012-09-27 | 2014-03-27 | Andre Beck | Content stream delivery using pre-loaded segments |
US8923880B2 (en) | 2012-09-28 | 2014-12-30 | Intel Corporation | Selective joinder of user equipment with wireless cell |
US9607132B2 (en) | 2012-10-22 | 2017-03-28 | Koninklijke Kpn N.V. | Token-based validation method for segmented content delivery |
US9143543B2 (en) | 2012-11-30 | 2015-09-22 | Google Technology Holdings LLC | Method and system for multi-streaming multimedia data |
US9612972B2 (en) * | 2012-12-03 | 2017-04-04 | Micron Technology, Inc. | Apparatuses and methods for pre-fetching and write-back for a segmented cache memory |
EP2929695A1 (en) | 2012-12-10 | 2015-10-14 | Koninklijke KPN N.V. | Digital rights management for segmented content |
US20140244828A1 (en) | 2013-02-26 | 2014-08-28 | Jan Besehanic | Methods and apparatus to measure exposure to streaming media |
US9622275B2 (en) | 2013-03-15 | 2017-04-11 | Qualcomm Incorporated | System and method for allowing multiple devices to communicate in a network |
WO2015000936A1 (en) | 2013-07-03 | 2015-01-08 | Koninklijke Kpn N.V. | Streaming of segmented content |
EP3085147A1 (en) | 2013-12-17 | 2016-10-26 | Nokia Solutions and Networks GmbH & Co. KG | Cell load based content data network selection |
US20150207846A1 (en) | 2014-01-17 | 2015-07-23 | Koninklijke Kpn N.V. | Routing Proxy For Adaptive Streaming |
WO2015121342A1 (en) | 2014-02-13 | 2015-08-20 | Koninklijke Kpn N.V. | Requesting multiple chunks from a network node on the basis of a single request message |
US10523723B2 (en) | 2014-06-06 | 2019-12-31 | Koninklijke Kpn N.V. | Method, system and various components of such a system for selecting a chunk identifier |
US9614579B2 (en) | 2014-09-10 | 2017-04-04 | Texas Instruments Incorporated | Techniques for generation of a frequency hopping sequence |
US9826016B2 (en) | 2015-02-24 | 2017-11-21 | Koninklijke Kpn N.V. | Fair adaptive streaming |
-
2014
- 2014-07-02 WO PCT/EP2014/064022 patent/WO2015000936A1/en active Application Filing
- 2014-07-02 EP EP14734176.2A patent/EP3017605B1/en active Active
- 2014-07-02 US US14/899,534 patent/US10171528B2/en active Active
- 2014-07-02 JP JP2016522589A patent/JP6444398B2/ja active Active
- 2014-07-02 CN CN201480037577.8A patent/CN105379295A/zh active Pending
-
2018
- 2018-07-05 JP JP2018128428A patent/JP6698755B2/ja active Active
- 2018-11-16 US US16/194,064 patent/US10609101B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040010613A1 (en) * | 2002-07-12 | 2004-01-15 | Apostolopoulos John G. | Storage and distribution of segmented media data |
US20100161756A1 (en) * | 2008-12-23 | 2010-06-24 | At&T Mobility Ii Llc | Streaming enhancements through pre-fetch background |
WO2012178174A1 (en) * | 2011-06-24 | 2012-12-27 | General Instrument Corporation | Intelligent buffering of media streams delivered over internet |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10931985B2 (en) | 2017-01-06 | 2021-02-23 | Sony Corporation | Information processing apparatus and information processing method |
CN109639758A (zh) * | 2018-10-31 | 2019-04-16 | 中国科学院信息工程研究所 | 内容中心网络中用户行为隐私的保护方法及装置 |
CN114051750A (zh) * | 2019-05-31 | 2022-02-15 | 苹果公司 | 用于性能数据流式传输、性能数据文件报告和性能阈值监测的系统和方法 |
CN114051750B (zh) * | 2019-05-31 | 2024-04-09 | 苹果公司 | 用于性能数据流式传输、性能数据文件报告和性能阈值监测的系统和方法 |
US12022306B2 (en) | 2019-05-31 | 2024-06-25 | Apple Inc. | Systems and methods for performance data streaming, performance data file reporting, and performance threshold monitoring |
CN112787927A (zh) * | 2021-03-26 | 2021-05-11 | 新华三信息安全技术有限公司 | 一种分段路由报文转发方法、装置及预设逻辑电路单元 |
CN112787927B (zh) * | 2021-03-26 | 2022-03-22 | 新华三信息安全技术有限公司 | 一种分段路由报文转发方法、装置及预设逻辑电路单元 |
Also Published As
Publication number | Publication date |
---|---|
JP2018196123A (ja) | 2018-12-06 |
JP6698755B2 (ja) | 2020-05-27 |
US20190089756A1 (en) | 2019-03-21 |
JP2016533062A (ja) | 2016-10-20 |
WO2015000936A1 (en) | 2015-01-08 |
US10609101B2 (en) | 2020-03-31 |
US10171528B2 (en) | 2019-01-01 |
US20160149978A1 (en) | 2016-05-26 |
EP3017605A1 (en) | 2016-05-11 |
JP6444398B2 (ja) | 2018-12-26 |
EP3017605B1 (en) | 2022-12-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105379295A (zh) | 分段内容的流送 | |
JP6461895B2 (ja) | 適応ビットレート切換えのための方法および装置 | |
US20190149589A1 (en) | Controlled streaming of segmented content | |
US8489760B2 (en) | Media file storage format and adaptive delivery system | |
US9721254B2 (en) | Method and apparatus for providing streaming media programs and targeted advertisements using multiple advertisement version segments | |
US10110507B2 (en) | Push-based transmission of resources and correlated network quality estimation | |
US20130117413A1 (en) | Content distribution device, content playback device, content distribution system, method for controlling a content distribution device, control program, and recording medium | |
KR101364824B1 (ko) | 스트리밍 미디어 콘텐츠에 대응하는 광고 콘텐츠를 관리하는 시스템 및 방법 | |
US8087056B2 (en) | Operating method of contents on demand system | |
JP6606516B2 (ja) | 効率的なピア支援ストリーミングのためのキャッシュマニフェスト | |
CN105900438A (zh) | 用于在内容递送网络中优化内容的碎片整理的系统和方法 | |
US9866602B2 (en) | Adaptive bit rates during broadcast transmission in distributed content delivery networks | |
JP6478980B2 (ja) | キャッシュベースのコンテンツ配信のためのシステム及び方法 | |
US20110082943A1 (en) | P2p network system and data transmitting and receiving method thereof | |
CN110213662A (zh) | 一种视频点播方法、服务器、客户端及视频点播系统 | |
CN105306520A (zh) | 操作高速缓存器的方法及相应高速缓存器 | |
US9386056B1 (en) | System, method and computer readable medium for providing media stream fragments | |
US10158923B2 (en) | Method of broadcasting contents by streaming in a peer-to-peer network | |
CN107851072B (zh) | 接收设备、发送设备和数据处理方法 | |
US9948573B2 (en) | Delivery of multimedia components according to user activity | |
KR20080004826A (ko) | 구간정보를 이용한 멀티미디어 콘텐츠의 스트리밍 방법 및그 스트리밍 단말기 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20170906 Address after: Holland Hague Applicant after: KPN N. V. Address before: Holland Hague Applicant before: KPN N. V. Applicant before: Nederlandse Organisatie Voor Toegepast Natuurwetenschappelijk Onderzoek TNO |
|
TA01 | Transfer of patent application right | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20160302 |
|
RJ01 | Rejection of invention patent application after publication |