文件递送会话处理的制作方法

文档序号:7947553阅读:182来源:国知局

专利名称::文件递送会话处理的制作方法
技术领域
:本发明一般地涉及通过数字通信系统的资源递送。本发明特别地涉及一种用于接收在文件递送会话中传输的数据的接收器模块和一种处理文件递送会话的方法。本发明还涉及一种可针对文件递送会话进行操作的网络节点和一种可针对文件递送会话进行操作的发射器。
背景技术
:FLUTE是在因特网工程任务组(IETF)的控制之下管理的项目。FLUTE为通过因特网单向递送文件定义了协议。该协议特别地适合于多播网络,不过该技术同样地可应用于与单播寻址一起使用。FLUTE规范构建于异步分层编码(ALC)上,该ALC是为大规模可缩放的多播分布而设计的基本协议。ALC定义了任意二进制对象的传输,而且在如下文章中有所拟定Luby,M.,Gemmell,J.,Vicisano,L.,RiZZo,L.和J,Crowcroft的“AysnchronousLayeredCoding(ALC)ProtocolInstantiation”,RFC3450,2002年12月。对于文件递送应用而言,仅有对象传输是不够的。终端系统需要知道对象实际上代表什么。FLUTE提供了如下机制,该机制用于以允许接收器设计那些用于所接收的对象的参数这一方式以信号发送文件的特性和将该特性映射到ALC的概念。在FLUTE中,‘文件’与‘对象’有关,这一点在上述ALC文章中有所讨论。在FLUTE文件递送会话中,有发送该会话的发送器和接收该会话的多个接收器。接收器可以在任意时刻加入会话。该会话递送一个或多个抽象对象如文件。文件数目可以变化。任何文件可以使用多个分组来发送。在会话中发送的任何分组可能丢失。FLUTE具有用于递送任何文件种类和任何文件大小的可能。FLUTE可应用于使用数秒或者更久的递送会话将文件递送到许多主机。例如,FLUTE可以用于同时将大型软件更新递送到许多主机。它也可以用于连续而分段的数据,比如用于字幕的按时间排列的文本,由此使用它传承于ALC和LCT的分层本质以便根据网络的拥堵状态来缩放会话的丰富度。它也可适合于基本的元数据传送,该元数据例如是使得用户应用能够访问多媒体会话的SDP文件。它可以与无线电广播系统一起使用,因为它有望特别地通过目前正在为之开发标准的DVB-H(数字视频广播-手机)来与IPDC(因特网协议数据广播)结合使用。FLUTE没有允许接收器确定它需要在信道上停留多久以便实现由发送器设置会话的目的。因此接收器无法知道它何时收到整个文件广播。FLUTE也没有定义通向接收器的会话的语义。FLUTE使用静态的和定义好的文件递送会话,即每个文件递送会话递送固定的文件集,而该文件在会话期间不可改变。本发明不但寻求克服这些不足,而且在它迄今为止所涉及的任何文件递送中具有更广阔的适用性。
发明内容根据本发明的第一方面,提供了一种用于接收在文件递送会话中传输的数据的接收器模块,该模块包括以下计时器中的一个或多个计时器a)片段等待计时器;b)新对象等待计时器;以及c)表等待计时器;该接收器模块用于响应于检测到一个或多个计时器中任何计时器的到期而离开文件递送会话。片段等待计时器可以用于响应于接收器模块收到引用一个或多个对象的声明而被启动,以及用于响应于接收器模块收到一个或多个对象中一个对象的全部或者至少部分或者可选地响应于接收器模块收到一个或多个对象中的所有对象的全部或者至少部分而被取消。在这一情况下,接收器模块可以包括多个片段等待计时器,每个片段等待计时器与在声明中引用的对象中的不同对象相关,而且用于响应于接收器模块收到关联对象的全部或者至少部分而被取消。新对象等待计时器可以用于响应于检测到接收器模块已经收到在由接收器模块收到的声明中引用的一个或多个对象中的所有对象而被启动;以及用于响应于接收器模块收到又一不同声明而被取消。表等待计时器可以用于响应于接收器模块收到在任何收到的声明中都未引用的对象而被启动,以及用于响应于接收器模块收到引用那一对象的声明而被取消。这里,接收器模块可以包括多个表等待计时器,每个表等待计时器与由接收器模块已经收到的而在任何收到的声明中都未引用的不同对象相关,每个表等待计时器用于响应于接收器模块收到引用它的关联对象的声明而被取消。该计时器或每个计时器可以被设置为具有由对应计时器参数确定的持续时间。这里,一个或多个计时器参数可以永久地存储于接收器模块中,或者可选地以可更新的方式存储于接收器模块中。一个或多个计时器参数可以作为通过通信网络接收的信号的部分来接收,例如作为数据分组的部分来接收。该接收器模块可以用于接收包含对象和声明以及可选地也包含一个或多个计时器参数的分组,例如因特网协议分组。该接收器模块可以用于响应于计时器到期而确定对文件递送会话接收完整性的测量,用于将该测量与阈值做比较,以及用于基于该比较近似立即地离开会话或者在有效时间段之后离开会话。这里,有效时间段具有与计时器或者计时器中最短计时器的到期时间的一半相等或者更短的持续时间。该接收器模块可以用于响应于计时器到期而估计文件递送会话的接收预期完成的时间,用于将该时间与阈值做比较,以及用于基于该比较近似立即地离开会话或者在有效时间段之后离开会话。本发明也提供一种包括上述接收器模块的便携手持设备。根据本发明的第二方面,提供了一种接收文件递送会话的方法,该方法包括以下步骤中的一个或多个步骤a)启动片段等待计时器;b)启动新对象等待计时器;以及c)启动表等待计时器;该方法还包括响应于检测到一个或多个计时器中任何计时器的到期而离开文件递送会话。根据本发明的第三方面,提供了一种网络节点,可操作用以针对文件递送会话提供由接收器使用的片段等待计时器参数、新对象等待计时器参数和表等待计时器参数中的一个或多个参数。根据本发明的第四方面,提供了一种发射器,可操作用以针对文件递送会话发射由接收器使用的片段等待计时器参数、新对象等待计时器参数和表等待计时器参数中的一个或多个参数,该一个或多个参数可选地随同文件递送会话一起发射或者形成文件递送会话的部分而发射。现在参照附图仅通过例子来描述本发明的实施例。在附图中图1是对于从通过因特网连接的服务器接收数据的移动电话手机进行图示的示意框图;图2是图1中所示移动手机的电路的示意框图;图3和图4是对于图2手机在接收文件广播作为文件递送会话的一部分时的操作进行图示的流程图;图5是结合具体例子对图2的操作进行图示的时间表图;以及图6至图8是图2手机的操作的状态机表示图。具体实施例方式在图1中,形式为移动电话手机1的移动台从DVB-H广播器B接收广播数据,该广播器B通过网络2如因特网连接到可以将数据内容下载到移动手机1的内容服务器3。内容服务器3具有用于向订户进行下载内容计费的关联计费服务器4。手机1包括麦克风5、小键盘6、软键7、显示器8、耳机9和内部天线10。手机1具有语音操作和数据操作双重功能。例如,该手机可以配置为与GSM网络一起使用,而且可以具有DVB-H操作的功能,不过本领域技术人员将认识到也可以使用其它网络和信号通信协议。信号处理在控制器11的控制之下进行。关联存储器12包括较大容量的非易失性固态存储器以便存储从内容服务器3下载的数据,比如应用程序、视频剪辑、广播电视服务等。电模拟音频信号由麦克风5产生和由前置放大器13a放大。同样,模拟音频信号通过放大器13b馈送到耳机9或者外部手机(未示出)。控制器11从小键盘和软键6,7接收指令信号并控制显示器8的操作。关于用户身份的信息保持于可抽取智能卡14上。这可以采用GSMSIM卡的形式,该卡包含普通GSM国际移动用户标识和用于以本身已知的方式对无线传输进行编码的加密密钥Ki。无线信号借助于天线10来发射和接收,该天线通过rf级15连接到配置用以在控制器11的控制之下处理信号的编码解码器16。因此在使用中,对于语音而言,编码解码器16从麦克风放大器13a接收模拟信号,将该信号数字化成适合于传输的形式,而且将该信号馈送到rf级15以便通过天线10发射到PLMN(在图1中未示出)。同样,从PLMN接收的信号通过天线10馈送以便由rf级15解调、而且馈送到编码解码器16以便产生馈送到放大器13b和耳机9的模拟信号。该手机可以具有WAP功能而且能够例如以40Kbit/秒级的速率通过GPRS信道接收数据。然而将会理解到,本发明不限于任何特定数据速率或者数据传送机制,而且例如也可以使用WCDMA、CDMA、GPRS、EDGE、WLAN、BT、DVB-T、IPDC、DAB、ISDB-T、ATSC、MMS、TCP/IP、UDP/IP或者IP系统。手机1由常规可再充电电池17驱动。该电池的充电状态由可以对电池17所递送的电池电压和/或电流进行监视的电池监视器18来监视。该手机也包括DVB-H接收器模块19。此模块通过DVB天线20从DVB广播器B接收广播信号。手机1的用户可以请求从一个或多个服务器如服务器3下载数据内容,例如请求下载要在显示器8上重播和显示的视频剪辑等。这样下载的视频剪辑存储于存储器12中。大小不同的其它数据文件也可以下载和存储于存储器12中。可以由用户启动下载,或者基于手机的设置由用户允许下载。可选地可以由网络2的运营商要求数据下载,特别是针对软件升级时。在FLUTE中,文件递送会话具有开始时刻和结束时刻,而且涉及到一个或多个信道。开始时刻和结束时刻中的一个或者两个时刻可以是未经限定的,也就是说,一个或多个时刻可能不为接收器所知。如果在会话中使用有多个信道,则这些信道可以是并行、串行或者并行和串行的混合。文件递送会话将文件作为传送对象来运送。当传送对象具有语义时,该对象变成文件。语义可以包括名称、位置、大小和类型。每个文件递送会话运送零个、一个或多个传送对象(TO)。每个TO可以作为封装于底层协议中的一个或多个分组来递送。特定分组可以在每一会话出现数次。特定TO可以使用一个信道或者使用数个信道来递送。TO可以传输数次。有文件递送表(FDT)之称的专门TO以信号发送文件集对TO的映射。可以有数个FDT。每个不同的FDT可以称为FDT实例。不同FDT实例的内容可以重叠或者可以不重叠。FDT实例可以为空。FLUTE提供可以如何使用FDT实例的具体定义。对TO和FDT的内容进行的接收和处理将可为本领域技术人员所理解,因此这里不再赘述。在本发明的这些实施例中定义了三个参数。这些参数或者它们的任何混合可以由接收器使用以确定它是否应当离开文件递送会话。因此,接收器可以能够在确信地或者合理程度确信地知道已经收到递送会话的所有相关文件时较早地离开那一会话。接收器使用三个参数中的一个或多个参数和关联计时器以及对收到的分组和收到的FDT的了解来确定是否继续接收文件递送会话。简而言之,这三个参数是片段等待时间-此参数涉及在接收FDT与接收来自那一FDT的TO的至少第一片段之间的最大容许时间。新对象等待时间-此参数涉及在接收FDT的所有TO与接收不同FDT之间的最大容许时间。表等待时间-此参数涉及在接收在迄今为止所见的FDT中都没有声明的TO与接收声明那一TO的FDT之间的最大容许时间。例如其值可以用毫秒为单位的该参数可以用任何适当的方式以信号发送到接收器。作为替代,该参数可以在制造时硬连线到接收器中。在一个实施例中,借助通过DVB-H网络B广播的信号,将参数以信号发送到手机1。可选地在制造时将参数内置到手机1中。以信号发送参数之所以有利是因为它可以在无需接收器操作折衷的情况下允许文件递送会话的灵活性,特别是在会话某些组成的传输之间的时间上的灵活性。在任一情况下,参数都存储在手机1中,例如存储在存储器12中或者形成DVB-H接收器19一部分的存储器中。现在将使用图3和图4来描述手机1(广而言之是它的DVB-H接收器19)在它加入文件递送会话时的操作。在图3中,操作开始于步骤S3.1,接下来在步骤S3.2中将新对象等待计时器t3设置成具有新对象等待时间参数的值并启动该计时器t3。DVB-H接收器19然后在步骤S3.3中接收第一TO。在这一例子中,如果仅有一个分组则在正确地接收该分组时,或者如果TO散布于多个分组则在正确地接收所有分组时,认为已经收到该TO。可以依次地接收与单个TO有关的两个或多个分组,但是也可能在间歇时段中接收与其它TO有关的一个或多个分组。当收到TO的最后分组时,就将那一TO视为步骤S3.3中的接收了。在步骤S3.4确定分组是否与FDT有关。如果是这样,则操作继续到步骤S3.5。在步骤S3.5确定FDT是否为新的FDT,即它是否为迄今为止在当前文件递送会话中都未收到的FDT。如果它是新的FDT,则在步骤S3.6从FDT选择TO标识符(TOI)。每个TO具有对应的TOI,而且没有用于多个TO的TOI。然后在步骤S3.7确定这是否为新的TOI,即在当前文件递送会话中收到的FDT中尚未包含的TOI。如果它是新的TOI,则在步骤S3.8确定用于那一TOI的表等待计时器t2(TOIN)是否有效,即这一计时器是否正在计时。对于每个TOI有单独的表等待计时器t2。如果是这样,则在步骤S3.9中停止该表等待计时器。如果该表等待计时器t2(TOIN)不是有效的,则在步骤S3.10将对于那一TOI的片段等待计时器t1设置成具有片段等待时间参数并启动该计时器t1。对于每个TOI有单独的片段等待计时器t2。继步骤S3.9或者步骤S3.10之后,根据步骤S3.8的询问结果,在步骤S3.11确定该FDT是否包括更多TOI。如果有更多TOI,则操作返回到步骤S3.6,其中选择新的TOI,即在当前过程中尚未处理的TOI。如果步骤S3.7在任何阶段表明所考虑的TOI不是新的,即在当前会话中已经收到该TOI,则该操作直接继续到步骤S3.11的询问,而且相应地跳过步骤S3.9、S3.10和S3.10。如果在步骤S3.5表明FDT不是新的,即在当前会话中已经收到该FDT,则跳过步骤S3.6至S3.11,而操作代之以继续到步骤S3.12。步骤S3.5至S3.10的结果是,如果在新的FDT中有新的TOI如果用于那一TOI的表等待计时器t2不是有效的,则设置和启动用于那一TOI的片段等待计时器t1,而如果用于那一TOI的表等待计时器t2是有效的,则停止该计时器t2。该过程检查FDT中所有新的TOI,而且适当地为每个TOI设置和启动片段等待计时器t1或者停止表等待计时器t2。紧随步骤S3.11之后,或者紧随从步骤S3.5的否定确定之后,在步骤S3.12中确定收到的FDT是否包括任何新的TOI,即包括与迄今为止在当前会话中尚未收到的TO有关的TOI。如果有肯定确定,即发现FDT包括一个或多个与迄今为止在当前会话中尚未收到的TO有关的TOI,则在步骤S3.13重置和重启新对象等待计时器t3。继此步骤之后或者继从步骤S3.12的否定确定之后,操作返回到步骤S3.3,其中开始处理新的TO或者FDT。如果在步骤S3.4确定收到的TO与FDT无关,则假定该TO与文件有关,而且操作继续到步骤S3.14。这里确定用于该TO的TOI的片段等待计时器t1是否有效。如果是有效,则在步骤S3.15停止片段等待计时器t1。由于用于给定TOI的片段等待计时器t1只有在步骤S3.10设置过才有效,所以有效的该计时器指示已经收到新的FDT。由于如果片段等待计时器t1在它在步骤S3.14发现有效,则在步骤S3.15被停止,所以结果就是如果在由片段等待时间参数所设置的时间之内没有收到对应的TO则用于给定TOI的片段等待计时器t1到期。如果在由片段等待时间参数所设置的时间之内收到TO,则该计时器没有到期就被取消。因此,接收器如果没有收到FDT的每个TO则在离开文件递送会话之前为了接收那些TO将仅等待由片段等待参数所确定的时间。继步骤S3.14和S3.15之后,操作继续到步骤S3.16。这里确定是否对于TOI收到声明,即确定是否在当前会话中收到包括该TOI的FDT。如果做出否定确定,则在步骤S3.17将用于那一TOI的表等待计时器t2设置成具有由表等待时间参数所确定的值,然后启动计时器。这样的效果在于,当收到TO而尚未声明该TOI时启动用于该TOI的表等待计时器t2。如果TOI在表等待计时器t2到期之前就被声明,则在步骤S3.9取消此计时器t2。如果没有收到该TO,则表等待计时器到期。继步骤S3.16和S3.17之后,操作返回到步骤S3.3,其中接收另一TO以供处理。可以用任何适当的方式实施用于每个TOI的新对象等待计时器t3以及片段等待计时器t1和表等待计时器t2,例如使用分立计时器(未示出)或者使用在控制器11上或者包含于DVB-H接收器19中的处理器(未示出)上实施的子例程来实施。根据对图3流程图的分析将会理解到,用于给定TOI的表等待计时器t2仅在DVB-H接收器19正在等待FDT时才有效,这一点仅在收到TO而在当前会话期间收到的FDT中没有标识此TO时才会发生。在这一情况下,DVB-H接收器19期待接收FDT或者与迄今为止收到的任何FDT都不同的FDT,而对表等待计时器t2的使用会造成DVB-H接收器为了接收那一表而等待与由表等待时间参数所指示的时间量相等的预定时间量。如果在用于那一TO的TOI的表等待计时器t2倒计时到零之前没有收到适当的FDT,即包括那一TOI在内的FDT,则DVB-H接收器19离开该会话。虽然在上文中当正确地收到散布于多个分组的TO的所有分组时认为在步骤3.3中已经收到TO,但是作为替代,即使尚未收到构成TO的所有分组仍然可以关于单独的分组来进行操作。在这一情况下,步骤S3.3涉及单个分组的接收,而且紧接在步骤S3.14之前插入步骤S3.18。在步骤S3.18中确定该分组是否为关于TO而收到的第一分组。如果做出肯定确定,则操作继续到步骤S3.14。否则操作忽略该分组而且返回到步骤S3.3。此步骤的结果是如果收到那一TO的任何片段则停止用于该TO的片段等待计时器t1。现在将描述可选操作。取代于根据步骤S3.12的询问来提供步骤S3.13,可以完全地省略步骤S3.12,而可以代之以在步骤S3.7的肯定确定分支之后插入步骤S3.13。例如,步骤S3.13可以直接地放在步骤S3.7之后或者直接地放在步骤S3.11之前。这一可选操作的效果与前述实施例相同,不过由于可以省略步骤S3.12,所以这一可选操作涉及到的确定要少一个。在图2中的24a、24b...24n处图示了片段等待计时器。在25a、25b...25c处图示了表等待计时器。在26处图示了新对象等待计时器。现在参照图4来描述与片段等待计时器t1、新对象等待计时器t3和表等待计时器t2相关的手机1和DVB-H接收器19的操作。此操作与图3的操作并行地执行。这可以通过使用单独的硬件、可选地通过使用子例程和适当的操作系统软件来实现。参照图4,在会话正在进行之中时,即会话正在接收之中时,这通过开始会话步骤S4.1来表示,操作在步骤S4.2中停留于循环中直至确定计时器到期为止。如果片段等待计时器t1、新对象等待计时器t3和表等待计时器t2中的任一个计时器到期,即倒计时到零,则步骤S4.2提供肯定确定,因此造成进展到步骤S4.3。当然,计时器可以代之以从零或者另一值顺计时到预定值。步骤S4.2可以用任何适当方式来进行。没有必要在计时器到期之时就立即有通知,只要充分频繁地检查每个计时器而在计时器到期与图4中移到步骤S4.3的操作之间没有过度延迟即可。在步骤S4.3确定是否已经收到由在当前会话期间接收的FDT中的对应TOI所标识的所有TO。如果做出肯定确定,则确定文件递送会话已经成功完成,因为迄今为止手机1已经收到预定要由该会话递送的所有文件,而且在步骤S4.4离开该会话。离开会话将被理解为包括终止接收用于该会话的分组。在多数情况下,这涉及到切断DVB-H接收器19的至少一些接收器功能,不过它也可以保持接通以便接收其它广播数据。一旦已经离开会话,手机的功率消耗可以极大地减少,由此延长在电池17需要再充电之前的时间。手机1包括用于在接近完成文件递送过程时避免离开会话的装置。在这一例子中,如果在步骤S4.3做出否定确定,则操作继续到步骤S4.5。这里确定是否仅有一个TO留待接收,即是否已经收到在会话的一个或多个FDT中标识的除该TO之外的所有TO。这实际上被确定为接近完成文件递送过程,但是将会理解到可以使用其它方案来替代。例如,没有收到的分组或者没有收到的TO的数目可以用作为可选阈值,其中该数目大于一。如果确定文件递送过程并非接近完成,则在步骤S4.4离开会话。继步骤S4.5的肯定确定之后,操作继续到可选步骤S4.6。此步骤之所以可选是因为它可以完全省略。在步骤S4.6确定文件递送过程是否不久将完成,在这一例子中是通过确定是否将在短的预定时间段之内收到或者完成一个遗漏或者不完整的TO来实现的。这可以用任何适当的方式来进行。例如可能的是,如果当前正在以稳定的速率接收分组而分组长度又已知,这可以预测完成分组接收所需要的时间量。可以使用对分组传输定时或者调度(例如从转盘式存储器(carousel)等反复地发射分组)的任何了解、对平均或者最近的数据接收速率的计算和/或留待接收的数据的量来计算或者估计完成文件递送会话接收的时间。如果正向纠错数据如ReedSolomon数据形成TO的一部分,则可以确定DVB-H接收器19不需要零填充。同样在这一情况下,不需要接收所有应用数据和/或奇偶数据,这既因为奇偶数据可以纠正应用数据中的错误,又因为奇偶数据只有在应用数据中有错误时才需要。构成少许时间量的时间可以用任何适当的方式来确定。它可以是预定的。它可以依赖于电池17中剩余的电荷量。特别地,如果检测到电池17中有相对高的电荷电平则时间量可以较大,而如果电池没有太多电荷则时间量可以较少。电池电荷电平可以用任何适当的方式来确定。如果步骤S4.6提供肯定确定,则在步骤S74.4接收器19离开会话之前,该会话在步骤S4.7继续短的时间,例如在步骤S4.6中用作为阈值的预定时间。可以使用单独的计时器来实施步骤S4.7。如果步骤S.5和4.6中的一个步骤提供否定确定,则在没有收到所有文件的情况下就在步骤S4.4离开会话。这一点在继步骤S4.7之后没有收到所有文件时同样适用。在这些情况中的任一情况下,可以例如在显示器8上提供错误消息。DVB-H接收器可以据此推断该文件递送会话是不受支持的会话类型。可以允许系统在离开会话之前通过等待到在计时器到期之后的下一个调度链路层复用时隙(即用于DVB-H的时间片脉冲串(timesliceburst))或者整个时隙周期(该周期占用DVB-H最多41秒)为止来进行刷新(flush)。图3的步骤S3.3至S18的操作可以用软件实施,例如通过基于不言自明的如下伪代码。从会话接收具有TOIM的分组PIf分组P携带部分或者完整的FDT实例{If在接收之后完整地收到FDT实例{If完整收到的FDT实例是“新的”FDT实例{For在收到的FDT实例中的每个TOIN,do{IfN是“新的”TOI声明{Iftable_wait_timer(N)有效{停止table_wait_timer(N)}else{设置fragment_wait_timer(N);启动fragment_wait_timer(N)}}}If在FDT实例中有任何“新的”TOI声明{重置global_new_table_wait_timer;}}}else{If这是由接收器看到/收到的用于TOIM的第一分组{Iffragment_wait_timer(M)有效{停止fragment_wait_timer(M)}If接收器尚未看到/收到用于TOIM的声明{设置table_wait_timer(M);启动table_wait_timer(M)}}}针对下一个分组P进行重复。作为上述实施的可选的实施如下。取代了设置所示命令“重置globa_new_table_wait_timer”,同一效果可以实现如下代之以将该命令设置于“IfN是“新的”TOI声明”确定之后,即作为与“Iftable_wait_timer(N)有效”确定步骤相连续的命令。这就具有与上述关于图3操作的可选操作之一相同的效果。DVB-H接收器19的操作可以总结如下。在接收文件递送会话时,其中字段描述符表FDT标识了随同FDT一起发送的TO,接收器19使用多个计时器来确定是否收到该会话的文件。当收到该FDT时为在该FDT中声明的每个新TO启动片段等待计时器t1。当收到对应TO的至少一个片段时取消每个计时器。可选地在已经收到所有TO时取消单个计时器。当收到在FDT中声明的所有TO时启动新对象等待计时器t3,而在收到新的FDT时取消该计时器。只要收到在任何收到的FDT中都未声明的TO时就启动许多表等待计时器t2之一,而在收到声明那一对象的FDT时取消该计时器。如果任何计时器到期则离开文件递送会话。如果继计时器到期之后认为已经接近完全地收到文件递送会话,则在短的时间段之后离开会话以便允许完全地接收该会话。图3和图4的操作提供了对动态文件广播会话的支持,即在该会话中文件可以而且由此TO也可以在会话中改变。特别地就是有助于提供这一支持的步骤S3.12。现在参照图5来描述将图3的操作应用到预期的文件递送会话场合。在图5中,示出了随时间向右进展的时间表,该时间表图示了手机1的DVB-H接收器19在接收文件递送会话期间的操作。该会话开始于T开始而结束于T结束。在时刻T1,DVB-H接收器19加入文件递送会话。在时刻T2,接收器19接收FDT表的实例A(FDTA)。此表将对象与它们的语义(比如名称、大小、媒体类型等)相关联。在这一例子中,FDTA声明了传送对象x、y,也可以声明一些其它传送对象。这是接收器19看到的FDT表的第一实例。接收器利用与片段等待时刻参数相等的值来为FDT中的每个TOI设置片段等待计时器t1。然后启动这些计时器。在时刻T1与时刻T3之间,接收器19接收一些分组。这些分组中的一些分组属于在FDTA中声明的TO。接收器19在收到在FDTA中声明的TO的第一片段时停止用于那一TO的片段等待计时器t1。在这一例子中,接收来自每个所声明的TO的片段,但是如果不是这样则将会离开会话。在时刻T4,接收器19接收属于传送对象“z”的分组,该传送对象在迄今为止看到的任何表实例中都没有声明过。接收器19然后利用表等待参数的值来为那一分组设置表等待计时器t2,而且启动该计时器。截至时刻T5,接收器19已经收到在迄今为止看到的FDT表的实例中声明的所有文件。虽然截至时刻T3已经收到来自每个TO的至少一个片段,但是截至时刻T5已经收到用于每个TO的所有片段。接收器19在这里利用与新对象等待参数相等的值来设置对象等待计时器t3,而且启动该计时器。在时刻T6,接收器19收到FDT表的实例B(FDTB)。在这一例子中,FDTB不同于FDTA,而且声明TOw、v以及可能一些其它TO。如果在FDTB中声明的任何TO是在FDT表的任何先前实例即FDTA中未声明的TO,则接收器停止(以及可选地也重置)用于这些TO的表等待计时器t2(见图3的步骤S3.8)。另外,如果FDTB声明了传送对象“z”,则接收器19停止(以及可选地也重置)对象等待计时器t3(见步骤S3.13)。文件递送会话具有在这一例子中接收器19已知的经定义的结束时刻T结束。在这一情况下,当接收器19到达文件递送会话的结束时刻T结束时,它就离开文件递送会话。图6的状态机29包括第一状态30至第五状态34。在第二状态31中,接收器等待TOI或者等待TOI的声明。在第三状态32中,接收器空闲。在第五状态34中,已经完全收到所有声明的对象。可以在作为错误状态的第一状态30中或者指示了会话完成的第四状态33中离开话路。有许多事件可以触发自等待状态31起的转变。当收到包含一个或多个新TOI,也就是先前尚未声明的TOI,的FDT时触发第一转变36。这触发了为每个新的TOI设置和启动片段等待计时器t1。该转变36去往等待状态31。响应于收到用于如下TOI的分组这一事件来触发第二转变37,该TOI具有有效的片段等待计时器t1。该响应是停止用于那一TOI的片段等待计时器t1。此转变37可以仅在仍然有一个或多个有效片段等待计时器t1时才发生。该转变37返回到等待状态31。通过收到包含用于如下TOI的声明的FDT这一事件来触发第三转变38,该TOI具有有效的表等待计时器t2。此转变38可以仅在仍然有一个或多个有效表等待计时器t2时才发生。在转变38时停止用于那一TOI的有效等待表t2。第三转变38去往等待状态31。通过收到用于不是FDT表的TOI的第一分组这一事件来触发第四转变39。这触发了为那一TOI启动表等待计时器t2。该转变去往等待状态31。响应于收到用于如下TOI的分组这一事件来进行从等待状态31到空闲状态32的转变,该TIO具有有效的片段等待计时器t1。停止用于那一TOI的片段等待计时器t1。通过收到包含用于如下TOI的声明的FDT这一事件来触发第六转变41,该TOI具有有效的表等待计时器t2。用于那一TOI的表等待计时器由于此转变41而停止。第六转变41是从等待状态31到空闲状态32。当在空闲状态32中时,有三个可能的转变。响应于收到包含一个或多个新TOI的FDT这一事件的是第一转变42。这触发了为每个新的TOI设置和启动片段等待计时器t1。该转变是从空闲状态32到等待状态31。响应于收到用于不是FDT表的TOI的第一分组而发生从空闲状态32到等待状态31的另一转变43。这触发了为那一TOI启动表等待计时器t2。第三转变是从空闲状态32转变到对象已接收状态34。此转变在图中标记为44。此转变44在收到最后的遗漏文件片段时发生。这触发了重置和启动对象等待计时器t3。当在TO已接收状态34中时,三种转变是可能的。第一转变45A去往等待状态31而且在收到包含一个或多个新TOI的FDT时发生。这触发了为每个新的TOI设置和启动片段等待计时器t1。可选地,此转变45A可以造成对象等待计时器t3停止。第二转变45B去往等待状态31。此转变45B在收到具有如下TOI的分组时发生,该TOI在迄今为止收到的任何FDT实例中都尚未声明。转变45B触发了为收到的新TOI设置和启动表等待计时器t2。可选地,此转变45B可能造成对象等待计时器t3停止。第三转变46是从TO已接收状态34到会话完成状态33的转变。此转变46在对象等待计时器t3到期时发生。从等待状态31到错误状态30的转变在用于任何TOI的片段等待计时器t1或者表等待计时器t2中的任何计时器到期时发生。此转变在图中标记为47。从等待状态31到TO已接收状态34的转变48在收到最后的遗漏文件片段时发生。这重置和启动对象等待计时器t3。现在将参照图7来描述可选状态机49。在这一状态机中,等待状态50涉及正在等待TOI或者TOI的声明这一状态。提供了会话未完成状态51。通过转变52从等待状态50转变到此状态51,该转变响应于对象等待计时器t3到期而发生。这仅在尚未收到一个或多个声明的对象时才发生。响应于用于任何TOI的任何片段等待计时器t1或者任何表等待计时器t2到期而进行从等待状态50到错误状态54的转变53。还存在空闲状态55和会话完成状态56。响应于收到包含新TOI(即先前未曾声明的TOI)的FDT这一事件来进行从等待状态50到它本身的转变57。由于该转变57而产生的动作是为在FDT中声明的每个新TOI启动和设置片段等待计时器t1以及重置对象等待计时器t3。响应于收到用于如下TOI的分组这一事件而发生从等待状态到它本身的第二转变58,该TOI具有有效的片段等待计时器t1。这造成用于那一TOI的片段等待计时器t1停止。这仅在有一个或多个有效的片段等待计时器t1时才发生。响应于收到包含用于如下TOI的声明的FDT这一事件而发生从等待状态50到它本身的第三转变59,该TOI具有有效的表等待计时器t2。这样的结果是用于那一TOI的表等待事件t2停止。这仅在有一个或多个有效的表等待计时器t2时才发生。当收到用于不是FDT表的TOI的第一分组时发生从等待状态50到它本身的第四转变60。这造成用于那一TOI的表等待计时器t2启动。当收到用于如下TOI的分组时进行从等待状态50到空闲状态55的转变61,该TOI具有有效的片段等待计时器t1。这造成用于那一TOI的片段等待计时器t1停止。当收到包含用于如下TOI的声明的FDT时发生从等待状态50到空闲状态55的又一转变62,该TOI具有有效的表等待计时器t2。这样的结果是用于那一TOI的表等待计时器t2停止。响应于收到包含一个或多个新TOI的FDT这一事件来进行从空闲状态55到等待状态50的转变63。在进行该转变63时,设置和启动用于每个新TOI的片段等待计时器t1以及重置对象等待计时器t3。当收到用于不是FDT表的TOI的第一分组时发生从空闲状态55到等待状态50的又一转变64。这造成用于那一TOI的表等待计时器t2停止。当对象等待计时器t3到期时发生从空闲状态55到会话未完成状态51的转变65。这仅在尚未收到一个或多个声明的对象时才发生。如果在空闲状态55中对象等待计时器t3到期而且已经收到所有声明的对象,则代之以进行去往会话完成状态56的转变66。在会话未完成状态51中时,五个转变是可能的。首先,响应于收到对于声明的TOI而言遗漏的分组这一事件,而且在已经收到所有声明的对象这一条件下,进行去往会话完成状态56的转变67。响应于收到用于不是FDT的未声明TOI的第一分组这一事件,构成两个不同实施例的两个可选转变是可能的。第一可选转变是从会话未完成状态51到等待状态50的转变68A。此转变68A造成用于该TOI的表等待计时器t2启动。提供了转变68A从而允许利用尚未遇到的文件来补充迄今为止已经收到的文件集。可选地从会话未完成状态51到它本身的转变68B更为严格,仅允许完成已经遇到的文件。此转变不造成任何计时器有所更改。响应于收到包含一个或多个新TOI的FDT这一事件而发生第四转变69A。该转变69A是从会话未完成状态51到错误状态54的转变。这在提供了会话中的文件集未经更改的某种确信的同时还为会话提供了如下定义好的时间窗,在该时间窗之内接收器可以完成对可能未完成的文件的取回。这在如下应用中特别地有利,该应用在发送方想要确保有足够的传输以供任何接收器完成对会话内容的取回时却使用不可靠的底层传送。当第四计时器t4到期时发生从会话未完成状态51到错误状态54的第五转变69B。只要进入会话未完成状态51时就重置和启动计时器t4,而只要退出该状态时就停止该计时器。包括计时器t4是为了确保不会无限地占用会话未完成状态。也可以有从会话未完成状态51到错误状态54的其它转变(未示出)。在图8中示出了可选状态机70。状态机70包括等待状态71。在该等待状态中,状态机70在等待TOI或者等待TOI的声明。状态机70中的其它状态是错误状态72、空闲状态73和会话完成状态74。当在等待状态71中时,状态机70可以经历回到等待状态71的转变75。响应于收到包含一个或多个新TOI的FDT这一事件来进行转变75。此转变75触发了为每个新TOI设置和启动片段等待计时器t1。它也触发了重置对象等待计时器t3。当收到用于如下TOI的分组时发生从等待状态71到它本身的又一转变76,该TOI具有有效的片段等待计时器t1。这造成了停止用于那一TOI的片段等待计时器。这仅在有一个或多个有效的等待计时器t1时才发生。当收到包含用于如下TOI的声明的FDT时发生从等待状态71到它本身的第三转变78,该TOI具有有效的表等待计时器t2。这仅在有一个或多个有效的表等待计时器t2时才发生。用于在收到的FDT中包含的每个TOI的表等待计时器t2被停止。当收到用于不是FDT表的TOI的第一分组时发生从等待状态71到它本身的第四转变79。这触发了为那一TOI启动表等待计时器t2。如果在等待状态71中,由收到用于如下TOI的分组这一事件来触发去往空闲状态73的转变80,该TOI具有有效的片段等待定时器t1。转变80触发了停止用于那一TOI的片段等待计时器。响应于收到包含用于如下TOI的声明的FDT而发生从等待状态71到空闲状态73的又一转变81,该TOI具有有效的表等待计时器t2。用于那一TOI的表等待计时器t2被停止。当在空闲状态73中时,响应于收到包含一个或多个新TOI的FDT来进行去往等待状态71的转变。这造成为每个新的TOI设置和启动片段等待计时器t1以及重置对象等待计时器t3。当收到用于不是FDT表的TOI的第一分组时发生从空闲状态73到等待状态71的又一转变83。这造成为那一TOI启动表等待计时器t2。如果状态机70在等待状态71中而且对象等待计时器t3到期,则进行去往错误状态72的转变84。这仅在有尚未收到的一个或多个声明的对象时才发生。如果在等待状态51中用于任何TOI的任何片段等待计时器t1或者任何表等待计时器t2到期,则进行去往错误状态72的转变85。当在空闲状态73中而且在对象等待计时器t3到期时,进行去往会话完成状态74的转变86。这一点的条件是已经收到所声明的对象。如果对象等待计时器t3到期而一个或多个声明的对象尚未收到,则代之以进行去往错误状态72的转变87。片段等待时间、表等待时间和对象等待事件参数可以在空中以信号发送到接收器19。使用以信号发送的参数之所以有利是因为它提供了由服务器驱动的优化,即文件广播器可以根据会话内容来修改参数。信号发送可以用任何适当的方式发生。若干例子如下所述。可以在LCT(分层编码传送)扩展报头中以信号发送参数。例如,可以在单个可变长度的LCT扩展之内以信号发送所有参数。这里,该LCT扩展报头可以依次包括以下字段HET(报头扩展类型);HEL(报头扩展长度);片段等待时间参数;表等待时间参数;以及对象等待时间参数。字段的次序无关紧要。可选地可以在固定长度的相应LCT报头扩展中用信号发送每个参数。例如,可以有各自包括HET字段和相应时间参数字段的三个报头扩展。可选地可以使用这两个选项的任何组合以信号发送参数,例如使用一个固定长度的报头扩展和两个可变长度的报头扩展。可以代之以使用FDT扩展字段作为FDT实例中的一个或多个属性来实现以信号发送参数。对于FLUTE而言,扩展字段可以如下所示<xs:attributename=″tablc_wait″type=″xs:unsignedLong″use=″optional″/><xs:attributename=″fragment_wait″type=″xs:unsigncdLong″use=″optional″/><xs:attributename=″new_object″type=″xs:unsignedLong″use=″optional″/>例如,这一点的实例可以是<Pxmlvcrsion=″1.0″encoding=″UTF-8″?><FDT-Instancexmlns:xsi=″http://www.w3.org/2001/XMLSchema-instancc″xmlns:fl=″http://www.examplc.com/flute″xsi:schcmaLocation=″http://www.cxample.com/flutc-fdt.xsd″Expircs=″2890842807″table_wait=″100″fragment_wait=″50″new_obiect=″200″><FileContent-Location=″www.example.com/menu/tracklist.html″TOI=″1″Content-Type=″text/html″/><FileContent-Location=″www.example.com/tracks/trackl.mp3″TOI=″2″Content-Length=″6100″Content-Type=″audio/mp3″Content-Encoding=″gzip″Content-MD5=″Eth76GlkJU45sghK″Some-Private-Extension-Tag=″abc123″/></FDT-Instancc>可以代之以将参数作为任何其它协议级如L2、IP、UDP、TCP或者RTP的扩展报头以信号来发送。可以代之以例如在(短)文件中通过TO来携带参数。可以使用任何适当的格式如XML,不过也可能使用任何自由文本或者数据文件。作为例子的文件如下<start-of-file>table_wait=100;fragment_wait=200;new_object=300<end-of-file>可选地可以在带外以信号发送该参数。这一点的一个例子使用了SDP(会话描述协议)描述字段。作为例子的字段如下a=fragment_wait:100a=table_wait:200a=new_object:300可选地a=fragment_wait:100;tablewait:200;new_object300上述字段可以是会话级或者媒体级的参数。可以取回在带外以信号发送的参数,或者可以在单独的信道上广播该参数。可以代之以将参数嵌入于包络中,例如<file-envclopetable_wait=100fragment_wait=200new_object=300<file-body...theactualfiledata...</file-body</filc-envelope可以将一个或多个参数预安装到接收器中,而其它参数可以用任何适当的方式以信号发送。这在一个或多个参数不可变时可以减少信号发送开销,但是允许可变参数传达到接收器。所述系统的许多其它改型和变形是可能的。例如,尽管已经结合移动电信手机特别是移动电话来描述了本发明,但是本发明可应用于能够用来接收在递送会话中的文件的其它装置。传输可以是通过空中、通过DVB或者其它数字系统的传输。该传输可以代之以是通过电话或者连接到固定网络,例如通过因特网多播连接到PC或者服务器计算机或者其它装置的其它有线连接的传输。虽然结合了DVB-H上的IPDC来描述了实施例,但是本发明可以应用于能够支持一对一(单播)、一对多(广播)或者多对多(多播)分组传送的任何系统。同样,通信系统的承载可以是原本单向(比如DVB-T/S/C/H,DAB)或者双向的(比如GPRS、UMTS、MBMS、BCMCS、WLAN等)。数据分组可以是IPv4或者IPv6分组,不过本发明并不拘泥于这些分组类型。权利要求1.一种用于接收在文件递送会话中传输的数据的接收器模块,所述模块包括以下计时器中的一个或多个计时器a)片段等待计时器;b)新对象等待计时器;以及c)表等待计时器;所述接收器模块用于响应于检测到所述一个或多个计时器中任何计时器的到期而离开所述文件递送会话。2.如权利要求1所述的接收器模块,其中所述片段等待计时器用于响应于所述接收器模块收到引用一个或多个对象的声明而被启动,以及用于响应于所述接收器模块收到所述一个或多个对象中一个对象的全部或者至少部分或者可选地响应于所述接收器模块收到所述一个或多个对象中的所有对象的全部或者至少部分而被取消。3.如权利要求2所述的接收器模块,包括多个片段等待计时器,每个片段等待计时器与在所述声明中引用的所述对象中的不同对象相关,而且用于响应于所述接收器模块收到所述关联对象的全部或者至少部分而被取消。4.如任一前述权利要求所述的接收器模块,其中所述新对象等待计时器用于响应于检测到所述接收器模块已经收到在由所述接收器模块收到的声明中引用的一个或多个对象中的所有对象而被启动;以及用于响应于所述接收器模块收到又一不同声明而被取消。5.如任一前述权利要求所述的接收器模块,其中所述表等待计时器用于响应于所述接收器模块收到在任何收到的声明中都未引用的对象而被启动,以及用于响应于所述接收器模块收到引用那一对象的声明而被取消。6.如权利要求5所述的接收器模块,包括多个表等待计时器,每个表等待计时器与由所述接收器模块已经收到的而在任何收到的声明中都未引用的不同对象相关,每个表等待计时器用于响应于所述接收器模块收到引用它的关联对象的所述声明而被取消。7.如任一前述权利要求所述的接收器模块,其中所述计时器或每个计时器被设置为具有由对应计时器参数确定的持续时间。8.如权利要求7所述的接收器模块,其中一个或多个计时器参数永久地存储于所述接收器模块中。9.如权利要求7或8所述的接收器模块,其中一个或多个计时器参数以可更新的方式存储于所述接收器模块中。10.如权利要求7至9中任一权利要求所述的接收器模块,其中所述接收器模块用于将一个或多个计时器参数作为通过通信网络接收的信号的部分来接收。11.如权利要求10所述的接收器模块,其中一个或多个计时器参数作为数据分组的部分而接收。12.如任一前述权利要求所述的接收器模块,其中所述接收器模块用于接收包含对象和声明的分组,例如因特网协议分组。13.如权利要求1至11中任一权利要求所述的接收器模块,其中所述接收器模块用于接收包含对象、声明和一个或多个计时器参数的分组,例如因特网协议分组。14.如任一前述权利要求所述的接收器模块,其中所述接收器模块用于响应于计时器到期而确定对文件递送会话接收完整性的测量,用于将该测量与阈值做比较,以及用于基于所述比较近似立即地离开所述会话或者在有效时间段之后离开所述会话。15.如权利要求14所述的接收器模块,其中所述有效时间段具有与所述计时器或者所述计时器中最短计时器的到期时间的一半相等或者更短的持续时间。16.如任一前述权利要求所述的接收器模块,其中所述接收器模块用于响应于计时器到期而估计所述文件递送会话的接收预期完成的时间,用于将该时间与阈值做比较,以及用于基于所述比较近似立即地离开所述会话或者在有效时间段之后离开所述会话。17.一种便携手持设备,包括如任一前述权利要求所述的接收器模块。18.一种接收文件递送会话的方法,所述方法包括以下步骤中的一个或多个步骤a)启动片段等待计时器;b)启动新对象等待计时器;以及c)启动表等待计时器;所述方法还包括响应于检测到所述一个或多个计时器中任何计时器的到期而离开所述文件递送会话。19.如权利要求18所述的方法,其中响应于收到与一个或多个对象有关的声明而执行所述启动片段等待计时器的步骤,以及所述方法还包括响应于收到所述一个或多个对象中一个对象的全部或者至少部分或者可选地响应于收到所述一个或多个对象中的所有对象的全部或者至少部分而取消所述片段等待计时器。20.如权利要求18或19所述的方法,其中响应于检测到已经收到在收到的声明中引用的一个或多个对象中的所有对象而执行所述启动所述新对象等待计时器的步骤,所述方法还包括响应于收到又一声明而取消所述新对象等待计时器。21.如权利要求18至20中任一权利要求所述的方法,其中响应于收到在任何收到的声明中都未引用的对象而执行所述启动所述表等待计时器的步骤,所述方法还包括响应于收到引用那一对象的声明而取消所述表等待计时器。22.一种网络节点,可用于针对文件递送会话提供由接收器使用的片段等待计时器参数、新对象等待计时器参数和表等待计时器参数中的一个或多个参数。23.一种发射器,可用于针对文件递送会话发射由接收器使用的片段等待计时器参数、新对象等待计时器参数和表等待计时器参数中的一个或多个参数,所述一个或多个参数可选地随同所述文件递送会话一起发射或者形成所述文件递送会话的部分而发射。24.一种系统,包括如权利要求23所述的发射器和包括如权利要求10或者权利要求10的任一从属权利要求所述的接收器模块的接收器。全文摘要在收到其中字段描述符表(FDT)对随同FDT一起传输的传送对象(TO)进行标识的文件递送会话时,接收器使用多个计时器来确定是否已经收到会话的文件。当收到FDT时为在那一FDT中声明的每个新TO启动片段等待计时器t1。当收到对应TO的至少一个片段时取消每个计时器。可选地在已经收到所有TO的至少一个片段时取消单个计时器。当收到在FDT中声明的所有TO时启动新对象等待计时器t3,而在收到新的FDT时取消该计时器。只要收到在任何收到的FDT中都未声明的TO时就启动多个表等待计时器t2中的一个计时器,而在收到声明那一对象的FDT时取消该计时器。如果任何计时器到期则离开文件递送会话。如果继计时器到期之后认为已经接近完全地收到文件递送会话,则在短的时间段之后离开会话,以便允许完全地接收该会话。文档编号H04L29/06GK1973514SQ200580020889公开日2007年5月30日申请日期2005年6月10日优先权日2004年6月25日发明者托尼·佩拉,托皮·波若莱南申请人:诺基亚公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1