用于将推模式和拉模式相结合的系统和方法

文档序号:7936282阅读:361来源:国知局

专利名称::用于将推模式和拉模式相结合的系统和方法
技术领域
:本发明总体涉及内容下载,具体涉及推方法和拉方法的结合使用。
背景技术
:本部分旨在向读者介绍可能与以下描述和/或要求的本发明的各方面有关的领域的各方面。相信该讨论有助于为读者提供背景信息,以便于更好地理解本发明的各方面。相应地,应当理解,需要就这方面来阅读这些陈述,而不是作为对现有技术的认可来阅读这些陈述。在服务器与多个接收机之间对内容的分发需要建立服务器与每个接收机之间的点对点连接或建立多点连接。点对点连接允许以单播方式将内容分发给每个接收机并提供鲁棒分发;这在下文中被称作拉模式,并且客户端通常是主动发起者。然而,在采用大量接收机的情况下,需要对所有连接进行繁重的管理。还可能显著地提高网络上的业务量。多播分发以更低鲁棒性的分发提供了更小的网络负荷。这在下文中被称作推模式。管理服务器的服务运营商无法精确预测接收机的行为。在推内容传递会话中,可以基于以下原因将接收机排除在完整的或部分的内容下载之外在推分发期间关断接收机;当正在进行推分发时接通接收机;所有预留带宽不都可用于推分发,例如,STB用户正在观看一个节目同时录制另一个节目;接收机在推分发时缺少存储空间;接收机在推分发时使用整个CPU;网络无法处理多播业务量;等等。为了对带宽进行优化,运营商可能必须选择保持推会话或停止推会话。停止推会话允许运营商解放大量业务量的网络,并且丢失了内容的接收机可以使用恢复模式取回丢失的内容。在欧洲专利申请06291464.3中定义了一种恢复方法。另一方面,在拉模式下,运营商可能必须面对内容的最高需求。然后,运营商可以通过以推模式而不是使用拉模式对该内容进行多播,来更高效地对网络带宽和调配延迟的使用进行优化。
发明内容本发明涉及一种用于在推模式与拉模式之间进行高效切换的方法。为此,本发明涉及一种用于在通信系统中下载内容的方法,所述通信系统包括第一终端、至少第二终端、以及内容服务器。所述方法在第一终端级包括以下步骤以拉模式从内容服务器或至少第二终端下载内容,或以推模式从内容服务器下载内容;以及在模式之间进行无缝切换以继续下载内容。在上下文中,无缝是指终端连续地从一个模式切换至另一个模式而不必请求任何另外的信息。根据实施例,所述方法包括以下步骤以推模式下载内容;以及当在内容服务器处停止推模式时,以拉模式继续下载内容。当运营商停止推会话时,终端在没有很多中断的情况下继续下载。终端在推会话期间得到了足够的信息以切换至拉下载模式并管理拉下载模式。根据另一实施例,所述方法包括以下步骤以拉模式下载内容;-以及当在内容服务器处开始推模式时,以推模式继续下载内容。根据实施例,所述方法包括以下步骤根据FLUTE协议在会话传递中接收推内容;以及在会话传递期间接收文件传递表FDT中的信息,以允许切换至拉模式。FDT包括对于无缝切换至拉模式而言必要的附加信息。当停止推模式时,终端不必取回任何另外的信息。终端己经接收到与FDT相关的信息以切换至拉模式。根据实施例,所述方法包括以下步骤检验FDT实例的完整性;向索引服务器指示是否已成功接收到FDT实例;以及向索引服务器指示是否已成功接收到与FDT实例相关联的文件。根据实施例,所述方法在检测到遭到破坏的FDT实例时包括以下5步骤等待文件传递结束;以及以拉模式执行FDT实例修复。根据实施例,所述方法在检测到遭到破坏的完整FDT时包括以下步骤等待会话传递结束;以及以拉模式执行完整FDT修复。根据实施例,所述方法包括以下步骤根据对等协议接收拉内容;以及接收包括允许切换至推模式的信息的对等元信息文件。本发明还涉及一种终端,包括用于以推模式下载内容的装置;用于以拉模式下载内容的装置;以及用于从一个模式无缝切换至另一模式的装置。本发明的另一个目的是一种包括程序代码指令的计算机程序产品,当在计算机上执行程序时,所述程序代码指令执行根据本发明的过程的步骤。"计算机程序产品"是指计算机程序承载物,其不仅可以存在于包含程序的存储空间(如磁盘或盒式磁带)中,也可以存在于信号(如电信号或光信号)中。以下阐述了在范围上与所公开的实施例相当的特定方面。应当理解,提供这些方面仅仅是为了为用户提供本发明可能采用的特定形式的简要概括,这些方面不旨在限制本发明的范围。事实上,本发明可以包括以下可能没有阐述的多个方面。参照附图,通过以下非限制性的实施例和执行示例,将更好地理解和示出本发明,附图中'-图l是依照实施例的系统的框图;-图2示出了根据实施例的终端;-图3是示出了推模式的流程图;以及-图4是示出了推模式和拉模式的结合的流程图。具体实施例方式在图1和2中,所示的方框仅是功能性实体,不必与物理上分离的实体相对应。也就是说,可以采用软件的形式来开发这些功能性实体,或者以一个或多个集成电路来实现这些功能性实体。6图l示出了根据实施例的、用于分发内容的通信系统io的架构。终端1、2、3包括客户端应用程序。具体地,这些终端包括机顶盒(STB)的功能。在下列实施例中,终端是STB,而实施例不限于这样的终端。这样的终端可应用于包括用于从内容服务器下载数据的客户端应用程序的设备。终端还包括用于以推模式下载内容的装置;以及用于以拉模式下载内容的装置。如下所述,终端执行推功能和拉功能。系统包括推内容服务器5和拉内容服务器8。拉内容服务器适于以拉模式分发内容。拉内容服务器包括用于与多个客户端建立点对点连接的装置。推内容服务器适于以推模式分发内容。当然,这些服务器可以被包括在相同的设备中。索引服务器6的作用是使对等端STB彼此相关,以完成内容的修复或取回。索引服务器的作用是使需要恢复文件或部分文件的对等端与能够提供丢失信息的对等端相关。索引服务器不存储任何内容文件,索引服务器充当集中式索引以存储与文件的位置有关的信息。拉协议需要保持每个STB向索引服务器通知内容的下载状态。根据实施例,系统包括仅一个索引服务器。网络可以具有多个索引服务器,以对例如每个地理区域或每个内容类型的访问进行优化。在推模式环境下以及在拉模式环境下使用相同的索引服务器。如在"ETSITS102034V1.2.1(2006-09)数字视频广播(DVB)、在基于IP的网络上对基于MPEG-2的DVB服务的传输"标准中指示的,服务发现服务器7(下文中记为SD&S)适于执行服务发现和选择机制。根据实施例,在推模式环境下以及在拉模式环境下使用相同的SD&S服务器。图2示出了根据实施例的终端的构件块。终端包括存储装置l.l、通信装置1,2、处理装置1.3以及内部总线1.4。存储装置用于存储允许终端以推模式或拉模式下载文件的程序。因此,终端包括推下载装置1.6和拉下载装置1.5。终端包括用于从一个模式切换1.7至另一个模式的装置。现在描述拉方法。拉方法基于对等策略,记为P2P。为了实施拉方法,终端首先执行索引服务器地址发现阶段。STB通过浏览可用于下载的内容的目录来查找用于下载的内容。使用以下内容来查找目录的地址如在ETSITS102034Vl.2,1(2006-09)中以及在ETSITS102539V1.1.1数字视频广播(DVB)中详细说明的、DVB-IP的宽带内容指南记录;基于互联网协议(IP)对宽带内容指南(BCG)信息的运送;以上内容在DVB-IP的上下文中描述了内容指南的传输和信号通知。终端在目录中查找索引服务器的地址。当然,可以利用其他手段来査找索引服务器的地址,其他手段例如用于提供通过DVB-IP/SD&S信号通知而传递的记录的内容下载。为了改进下载大内容的能力,内容的每个文件被分割成更小的块。对等端从而能够接收和检验内容块,并在完整地或部分地接收内容之前交换这些块。通过每个块计算散列码。将如表l所示的元信息作为文件存储在内容服务器中。元信息包括对于以对等方式执行文件交换而言必要的所有信息。散列操作可以由内容服务器来完成。以下表格示出了根据实施例的内容元信息。在FLUTE协议中定义了TSI和TOI字段;它们是可选的。它们在这里用于支持拉模式与推模式之间的无缝切换。Content-Block-Length、Content-Block-Digests、File-Name、File-Length、File-Digest、File-Block-Length以及File-Block-Digests字段是对于P2P协议而言必要的最小源信息。<table>tableseeoriginaldocumentpage8</column></row><table>File-Name要下载的文件的标识和位置,例如URIFile-Length文件的大小File-Digest文件的散列(例如,SHA1……)File-Block-Length块的大小File-Block-Digests(每块一个)块的散列(SHA1……)Meta4nfo-Digest:■■■■■■Meta-lnfo-Digest元信息的散列(例如,MD5、SHA1)表lMeta-Info-Digest字段可以用于传送RSA签名,以允许对元信息文件进行认证。那么,如图3所示,文件下载的方法如下在步骤S1,STBl向索引服务器发送针对所选内容的请求。在步骤S2,索引服务器以能够提供内容元信息的对等端STB2的地址对STB作出响应。当然,索引服务器可能提供多个对等端的地址。在步骤S3,STBl发起与所指示的对等端的连接。STB1在步骤S4取回元信息文件,在步骤S5检验元信息文件的完整性,在步骤S6存储该文件并将元信息接收通知给索引服务器。STBl在存储器中保存该文件,直到与该文件相关联的内容被删除为止。利用该元信息文件,STB可以向其他对等端请求任何字节范围的块,并检验接收到的数据的完整性。在STB已接收到元信息文件之后,STB可以下载一个或多个文件或者一个或多个文件的块。在步骤7,STB向索引服务器请求一个块。当然,STB可以同时请求多个块。STB发送块编号和文件标识符(这可以是文件名);当同时下载多个文件时,文件ID是必要的。在步骤8,索引服务器返回能够提供内容块的对等端的地址。STB在步骤9发起与所指示的对等端的连接,在步骤10取回内容块,并在步骤ll检验内容块的完整性。在步骤S12,STB向索引服务器以成功或失败指示块下载的状态。客户端可以向索引服务器发送针对其他块的请求,直到客户端下载了完整内容为止。使用在索引服务器从STB接收到的报告中给出的信息,该索引服务器连续更新其数据库。在任何给定时刻,索引服务器可以使需要数据恢复的STB与能够提供丢失信息的对等端STB相关。由于有TSI和TOI字段,终端可以无缝切换至推模式以下载文件。在图3中,提供内容块的对等端与提供内容元信息的对等端相同。当然,其也可以是另一个对等端。此外,索引服务器可以返回能提供内容块的多于一个对等端的地址。STB然后可能连接至多于一个对等端。索引服务器可能具有以下信息任何对等端STB都无法提供所请求的内容或元信息文件。在这种情况下,索引服务器可以提供能直接传递内容的内容服务器的地址。为了避免使内容服务器充满针对内容的请求,索引服务器可以仅对一组对等端STB提供服务。索引服务器使其他STB中断,并稍后向它们指示已成功下载了内容的这组对等端STB的地址。备选地,索引服务器可以向另一索引服务器或向"超级"索引服务器提出请求。如果索引服务器找到所请求的信息,则索引服务器可以将该信息存储在其数据库中并向STB作出肯定应答。索引服务器可以针对相同的内容提供多个地址。内容可以分散在多个对等端STB上,即,没有对等端STB具有整个内容,但总内容可以由驻留于对等端STB上的部分内容构造而成。索引服务器还可以指示能完整地或部分地提供所请求的内容的备选对等端STB,以使STB在其发现下载速度过低或者该对等端被证明不可用的情况下,有机会从另一对等端取回内容。另一方面,可以向索引服务器提供算法,该算法允许例如基于从对等端进行的成功下载的数目上的统计来进行智能的对等端选择。现在描述推分发的方法。如在RFC3926中详细说明的,推分发基于单向传输文件传递协议,记为FLUTE。推分发包括使用下述对等机制的恢复机制。FLUTE协议定义了多播对象传送以及关联的描述符表。FLUTE协议定义了文件传递表(记为FDT),该文件传递表包含必须在当前会话中传送的文件的信息。FLUTE协议以多播模式从内容服务器向所有STB传送FDT。FLUTE定义了多个传送模式,例如,一个完整FDT后10紧跟多个文件,或FDT实例系列(中间FDT)后紧跟它们的关联文件。后一种传送模式尤其适于大视频文件的传送,其使接收机能够检验是否在会话达到结束之前已正确接收到对象或文件。而前一种传送模式在传送小文件的情况下是相当方便的。根据相同会话的所有FDT实例来构建完整的FDT。根据实施例,如在以下表2所示,FLUTEFDT包括特定的对等元信息(包括块长度和块散列)。然后可以在内容下载期间从一个协议无缝切换至另一个协议。事实上,在FLUTE多播推会话结束时尚未完整地或完全下载内容的接收机可以无缝切换至对等拉模式,并根据FDT中的信息来下载丢失的块,其中,FDT中的信息使这些接收机精确获知内容的丢失的块。类似地,已开始通过对等拉模式下载内容的接收机可以使用FDT来无缝切换至推模式,其中,FDT向接收机给出了对于在推模式下恢复丢失的文件块而言必要的信息。以下表格示出了FLUTE文件传递表,包括根据实施例的P2P元信息。<table>tableseeoriginaldocumentpage11</column></row><table>TOI传输对象标识符Transfert-Length承载文件的传输对象的大小Bandwidth-Requirement向所有通道发送分组的总计速率FEC-OTI-FEC-Encoding-IDFEC算法的标识FEC-Cm-FEC-lnstance-ID依赖于FEC算法标识的FEC实例FEC-O"n-Maximum-Source-Block-匕ength每个源块的源符号的最大数目FEC-OTI-Encoding-Symbol-Length以字节表示的编码符号长度FEC-OT卜MaxNumber-Of-Encoding-Symbols可针对源块而产生的编码符号的最大数目File-Attributes与文件自身有关的属性File-Type文件的MIME媒体类型File-Encoding压縮Client-Id根据客户端标识符(HW、SW、简档……)来定位文件下载File-Name要下载的文件的标识和位置,例如URIFile-Length文件的大小File-Digest文件的散列(例如,MD5、SHA1……)FJIe-Block-Length块的大小File-Block-Digests(每块一个)块的散列(SHA1……)FDT-lnstance-DigestFDT-lnstance-DigestFDT实例的散列(例如,MD5、SHA1)FDT-Complete-Digest(仅在最后的FDT实例中)Complete-FDT-Digest完整FDT的散列(例如,MD5、SHA1)2Content-Block-Length、Content-Block-Digests、File-Name、File-Length、File-Digest、File-Block-Length禾卩File陽Block-Digests字段是对于P2P协议而言必要的最小元信息。将文件切割成多个块。Complete-FDT-Digest字段可以用于传送RSA签名,以允许对完整FDT进行认证。为了以推方法来下载内容,客户端执行推内容下载会话发现阶段。客户端STB预订推下载的提供。作为预订的一部分,客户端STB获得分发地址,在该分发地址处,SD&S服务器通过DVB-IP/SD&S机制来传送服务的信号通知。然后,STB收听专用多播地址。STB査找DVB-IP内容下载提供记录。在该内容下载提供记录中,STB查找内容下载会话的开始和结束日期/时间以及其他信息,例如,多播地址、用于分发内容的端口、以12及STB所依赖的索引服务器的地址。在以下表3中指示了根据实施例的SD&S记录文件。<table>tableseeoriginaldocumentpage13</column></row><table>P2PIndexServerBackupURI索引备份服务器的列表URICurrentSessionFileRepairOffsetTime在文件传递或内容传递会话(依赖于FLUTE传送模式)结束之后客户端为了开始文件恢复过程而应该等待的时间CurrentSessionFileRepairRandomTimePeriod时间窗口长度,在该时间窗口长度上,客户将计算发起文件恢复过程的随机时间。lnte:grity::type「),:::■:■'■,),::■■■■::',AnnouncementDigest通告的摘要(Hash、CRC……)表3AnnouncementDigest子段可以用于传送RSA签名,以允许对通告进行认证。如图4所示,在步骤S'1,使用在发现阶段所获取的信息,STB收听用于分发推会话内容的多播地址。每个FDT实例包含多个散列码,这就允许验证该FDT自身的完整性以及与其相关联的文件块的完整性。该信息与针对拉模式而描述的元信息文件相对应。就拉模式而言,只要STB保存了与元信息文件相关联的内容,STB就存储元信息文件。随后可以使用该文件以拉模式向对等端提供服务。STB通过FLUTE协议的"End-Of-Transmission-File"标记来检测文件传递何时结束。从那一刻起,在步骤S'2、S'3,每个STB可以检验FDT实例的完整性。在该检验之后,在步骤S'4、S'5,每个STB向索引服务器发送消息,该消息指示STB是否己接收到FDT实例。如果FDT实例的完整性检查成功,贝ijSTB检验与该FDT实例相关联的文件的块的完整性(步骤S'6、S'7),并针对关联的文件向索引服务器发送报告(步骤S'8、S,9);该报告包含与正确接收到的块有关的信息以及文件标识符。索引服务器存储该信息并更新其数据库。如以下所述的,对于文件的丢失部分,STB执行文件恢复。如果FDT实例的完整性检查失败,则遭到破坏的FDT实例不允许STB检验与该FDT实例相关联的文件的块的完整性,这是因为该信息被包含在该FDT实例中。STB存储紧跟遭到破坏的FDT的文件,并如下所述的那样等待对文件传递结束的检测以开始FDT实例修复。包含块的FLUTE分组包括被称作TOI的标识符,对于每个文件而言,该标14识符是唯一的。FDT也包含该标识符,这就允许了使块与文件相关。会话的最后FDT实例还包含通过作为会话一部分的所有FDT实例的总计而计算出的散列码。这就允许检验完整FDT的完整性以及获知是否丢失了FDT实例。这可以用于检测以下情况仅通过一个FLUTE分组来传递FDT实例,并且丢弃了该分组。STB通过会话信号通知记录中所包括的end-of-session时间/日期,或通过FLUTE分组报头中所提供的"End-Of-Session"标记,来检测会话何时结束。因此,每个STB检验完整FDT的完整性,该完整FDT是接收到的所有FDT实例的总和;然后,每个STB检验完整FDT是否遭到破坏或者是否丢失了一些FDT实例。如果完整FDT没有遭到破坏,则可能仍然有必要根据一些文件的接收状态来激活这些文件的恢复过程。另一方面,如果发现完整FDT遭到破坏,贝ijSTB向索引服务器发送消息来指示针对完整FDT的请求,此后,STB检验遭到破坏的文件是否需要恢复过程。在如下所述的正常拉模式阶段内可以恢复丢失的或遭到破坏的推内容。如果在步骤S'IO,对完整FDT或对FDT实例的完整性检查失败,则STB向索引服务器发送消息来指示针对完整FDT(分别是FDT实例,如图4所示)的请求。因为索引服务器不被认为对FLUTE有任何了解,所以应用以下过程以允许取回完整FDT(分别是FDT实例)在特定时段内,具体是直到在新会话中下载新内容时,STB在存储器中保存完整FDT和FDT实例。STB将该完整FDT(分别是FDT实例)的正确接收报告给索引服务器。具有未遭破坏的完整FDT(分别是未遭破坏的FDT实例)的STB可以询问索引服务器(步骤S,ll),在步骤S'12、S'13,该索引服务器提供能发送未遭破坏版本的对等端的地址。在步骤S,14、S'15、S'16、S'17,STB可以用未遭破坏的完整FDT的散列值取回未遭破坏的完整FDT(分别是未遭破坏的FDT实例)。STB检验该完整FDT的完整性。STB对完整FDT进行分析,以识别其丢失了推会话的哪些文件或者修复遭到破坏的FDT实例。然后,STB检验关联的文件的完整性。如果STB检测到丢失的文件,贝ljSTB幵始对丢失的文件进行文件恢复。如果STB检测到遭到破坏的文件,贝ijSTB开始块恢复。使用在索引服务器从STB接收到的报告中所给出的信息,索引服务器连续更新其数据库。在任何给定的时刻,索引服务器都可以使需要数据恢复的STB与能提供丢失信息的对等端STB相关。由于SD&S记录中的会话通告所给出的会话持续时间,STB获知其是否己丢失推会话。已丢失推会话的STB可以向索引服务器询问文件名为"FDT"的完整FDT,并对丢失的文件进行文件恢复。在进行文件传递会话时连接的STB仍然能够从FLUTE多播会话得到内容的一部分。为了获得在FLUTE会话中丢失的文件,所连接的STB等待会话结束,以执行"完整"FDT的恢复并从对等端获得丢失的文件。在视频文件下载的环境下,推方法和拉方法的结合提供了增强型分发模式。分发策略可以如下所述。在推模式下可以建议相对受欢迎的影片,而在拉模式下可以建议需求量更小的其他影片。当推模式影片的集合被新的集合所取代时,旧的集合加入可用于拉模式的影片的隹A朱no另一方面,索引服务器可以向内容服务器指示其有兴趣根据与索引服务器所能收集的需求有关的统计,将一些影片的传递模式从拉模式切换至推模式,反之亦然。对于监控或管理实体,索引服务器提出了收集与文件恢复活动有关的统计的可能性。运营商使用该信息来监控或动态适配传递策略。动态适配传递策略可以在于对推传递的额外会话进行计划或者添加FEC。其他动作可以包括改变针对下载文件传递而分配的带宽。这里对"一个实施例"或"实施例"的引用是指,在本发明的至少一个实施方式中可以包括结合实施例描述的具体特征、结构或特性。在说明书各处出现的短语"在一个实施例中"不一定都指的是相同的实施例,也不一定是必须与其他实施例互斥的单独或备选实施例。权利要求中出现的参考数字仅作示意,不应对权利要求的范围造成限制性影响。权利要求1、一种用于在通信系统(10)中下载内容的方法,所述通信系统(10)包括第一终端(1)、至少第二终端(2)、和内容服务器(5、8),所述方法在第一终端级包括以下步骤-以拉模式从所述内容服务器或至少所述第二终端下载内容,或者以推模式从所述内容服务器下载内容;以及-在模式之间进行无缝切换以继续下载内容。2、根据权利要求l所述的方法,还包括以下步骤-以推模式下载内容;以及-当在所述内容服务器处停止所述推模式时,以拉模式继续下载内容。3、根据权利要求l所述的方法,还包括以下步骤-以拉模式下载内容;以及-当在所述内容服务器处开始推模式时,以所述推模式继续下载内容。.4、根据权利要求2所述的方法,还包括以下步骤-根据FLUTE协议接收会话传递中的推内容;以及-在会话传递期间,接收文件传递表FDT中的信息,以允许切换至拉模式。5、根据权利要求4所述的方法,还包括以下步骤-检验FDT实例的完整性;-向索引服务器(6)指示是否已成功接收到FDT实例;以及-向所述索引服务器指示是否已成功接收到与FDT实例相关联的文件。6、根据权利要求5所述的方法,其中,所述方法在检测到遭到破坏的FDT实例时包括以下步骤-等待文件传递结束;以及-以拉模式执行FDT实例修复。7、根据权利要求5所述的方法,其中,所述方法在检测到遭到破坏的完整FDT时包括以下步骤-等待会话传递结束;以及-以拉模式执行完整FDT修复。8、根据权利要求3所述的方法,还包括以下步骤-根据对等协议接收拉内容;以及-接收包括允许切换至推模式的信息的对等元信息文件。9、一种终端(1、2、3),包括-用于以推模式下载内容的装置(1.6);-用于以拉模式下载内容的装置(1.5);以及-用于从一个模式无缝切换至另一模式的装置(1.7)。全文摘要本发明涉及一种结合使用推模式和拉模式来下载内容的方法。在包括第一终端(1)、至少第二终端(2)、和内容服务器(5、8)的通信系统(10)中,本发明涉及一种用于下载内容的方法,该方法在第一终端级包括以下步骤以拉模式从内容服务器或至少第二终端下载内容,或者以推模式从内容服务器下载内容;以及在模式之间进行无缝切换以继续下载内容。文档编号H04L29/08GK101584190SQ200880002046公开日2009年11月18日申请日期2008年1月11日优先权日2007年1月12日发明者威廉·吕贝尔斯,弗朗索瓦·热拉尔,艾里克·戈蒂埃申请人:汤姆森许可贸易公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1