以信令通知对字节范围文件修复使用哪个版本信息的制作方法

文档序号:16811068发布日期:2019-02-10 13:39阅读:199来源:国知局
本申请要求于2016年6月19日提交的题为“signalingwhichversioninformationtouseonbyte-rangefilerepair”的美国临时专利申请no.62/351,979的优先权,其全部内容由此通过引用并入本文。
背景技术
::在数字文件(诸如,在被称为段的单个文件中发送的视频片段或段)的网络传输期间,可以发生各种事件或错误(例如,调离(tune-away)、无线电信道错误等),这导致仅收到部分文件。例如,由于发送文件的广播多媒体服务中心(bmsc)和接收文件的计算设备之间的传输错误,计算设备上的当前演进多媒体广播多播服务(embms)中间件可能仅接到部分文件。在一些网络中,当计算设备仅接收到部分文件时,可以使用字节范围文件修复(byte-rangefilerepair)来尝试修复文件。被请求的文件的版本信息可以允许服务器区分由服务器容纳的文件的多个版本,并将与所请求的文件版本匹配的丢失的源符号返回到计算设备。技术实现要素:各种实施例的系统、方法和设备实现了向计算设备以信令(signaling)通知服务器(诸如web服务器或内容传送网络(cdn)服务器)的使用诸如md5(消息摘要5(md5)算法哈希值)和/或实体标签(etag)的文件版本信息的一个或多个能力,以用于字节范围文件修复。各种实施例可以包括:响应于确定计算设备需要字节范围文件修复来修复文件,确定服务的描述是否包括所述文件的etag值,并且响应于确定所述服务的描述包括etag值,生成对字节范围文件修复的部分超文本传输协议(http)请求,其在if-match头元素中包括所述etag值。各种实施例可以包括:生成提供文件的服务的描述,所述服务的描述指示容纳所述文件的服务器的使用etag值的能力;并将所述服务的描述发送到计算设备,使得计算设备响应于确定需要字节范围文件修复而确定所述服务的描述是否包括etag值,并且计算设备响应于确定所述服务的描述包括etag值,生成对字节范围文件修复的部分httpget请求,其在if-match头元素中包括所述etag值。另外的实施例包括一种具有处理器的计算设备,该处理器被配置有处理器可执行指令,以执行上述方法的操作。另外的实施例包括一种计算设备,其包括用于执行上述方法的功能的模块。另外的实施例包括一种非暂时性处理器可读储存介质,其上存储有处理器可执行指令,所述处理器可执行指令被配置为使计算设备的处理器执行上述方法的操作。另外的实施例包括一种服务器,其配置有执行上述方法的操作的处理器可执行指令。另外的实施例包括一种服务器,其包括用于执行上述方法的功能的模块。另外的实施例包括一种非暂时性处理器可读储存介质,其上存储有处理器可执行指令,所述处理器可执行指令被配置为使服务器处理器执行上述方法的操作。附图说明并入本文并且构成本说明书的一部分的附图示出了本发明的示例性实施例,并且与以上给出的一般描述和下面给出的详细描述一起用于解释本发明的特征。图1是适用于各种实施例的网络的通信系统方框图。图2是示出用于以信令通知服务器的能力的实施例方法的过程流程图。图3示出了根据实施例的示例性文件传送表(filedeliverytable,fdt)模式。图4示出了根据实施例的示例性fdt模式。图5示出了根据实施例的示例性关联传送过程描述(associateddeliveryproceduredescription,adpd)模式。图6a是示出用于支持字节范围文件修复的实施例方法的过程流程图。图6b是示出用于支持字节范围文件修复的另一实施例方法的过程流程图。图7示出了根据各种实施例的部分超文本传输协议(http)get请求的报头的示例性模式。图8是适用于各种实施例的示例性计算设备的组件图。图9是适用于各种实施例的示例性服务器的组件图。具体实施方式将参考附图详细描述各种实施例。尽可能地,在整个附图中将使用相同的附图标记来指代相同或相似的部件。对具体示例和实施方式的参考是为了说明的目的,并不旨在限制本发明或权利要求的范围。如本文所使用的,术语“移动设备”、“接收机设备”和“计算设备”在本文中可互换使用以指代以下中的任何一个或全部:蜂窝电话、智能电话、个人或移动多媒体播放器、个人数据助理(pda)、笔记本电脑、个人计算机、平板电脑、智能书、掌上电脑、无线电子邮件接收机、支持多媒体互联网的蜂窝电话、无线游戏控制器、卫星或有线机顶盒、流媒体播放器(例如rokutm或chromecasttm或firetvtm)、智能电视机、数字录像机(dvr),以及包括可编程处理器和存储器以及用于接收文件的电路的类似个人电子设备。本文使用术语“服务器”来描述各种实施例以指代能够用作服务器的任何计算设备,诸如主交换服务器、web服务器、邮件服务器、文档服务器、内容服务器或任何其他类型的服务器。服务器可以是专用计算设备或包括服务器模块(例如,运行可以使得计算设备作为服务器操作的应用程序)的计算设备。服务器模块(例如,服务器应用程序)可以是全功能服务器模块,或被配置为在接收机设备上的动态数据库之间提供同步服务的轻型或辅助服务器模块(例如,轻型或辅助服务器应用程序)。轻型服务器或辅助服务器可以是可在接收机设备上实现的服务器类型功能的缩减版本,从而使其能够仅在提供本文所述功能所必需的程度上用作互联网服务器(例如,企业电子邮件服务器)。在根据第三代合作伙伴计划(3gpp)技术规范(ts)26.346release13操作的当前embms网络中,可以使用在互联网工程工作组(ietf)注释请求(rfc)6726“flute–filedeliveryoverunidirectionaltransport”(flute)中定义的协议,通过多媒体广播多播服务(mbms)下载传送方法将文件传送到计算设备。在这种当前embms网络中,当计算设备仅接收到部分文件时,可以使用字节范围文件修复来尝试修复文件。响应于确定仅接收到部分文件,计算设备可以通过单播向容纳仅被部分地接收到的文件的服务器(诸如内容传送网络(cdn)服务器的web服务器)发送如网络工作组rfc2616“hypertexttransferprotocol–http/1.1”中所述的部分超文本传输协议(http)get请求。部分httpget请求可以请求部分文件的缺失源符号。例如,部分httpget请求的请求报头可以包括原始文件中的与部分文件的缺失源符号匹配的字节范围的一个列表。当在服务的文件传送表(fdt)上的文件的描述中包括文件的消息摘要(md)算法哈希值(例如md5哈希值(本文为了便于引用简称为md5))时,部分httpget请求在部分httpget请求的if-match(如果-匹配)头元素中包括md5作为实体标签(etag)。以此方式,md5可以用作正被请求的文件的版本号,使服务器(诸如web服务器或cdn服务器)能够区分由服务器容纳的文件的多个版本。响应于确定由服务器(诸如web服务器或cdn服务器)容纳的文件的版本与基于md5的请求版本相匹配,服务器将所请求的缺失源符号返回给做出请求的计算设备。响应于确定没有由服务器(诸如web服务器或cdn服务器)容纳的文件的版本与基于md5的请求版本匹配时,服务器向做出请求的计算设备返回412“前提条件失败(preconditionfailed)”回复。不是所有服务器(诸如web服务器或cdn服务器)都支持使用md5作为etag。不支持使用md5作为etag的服务器(诸如web服务器或cdn服务器)将不会将包括作为etag的md5的部分httpget请求识别为对有效文件版本的请求,并将对包括作为etag的md5的所有部分httpget请求返回412“前提条件失败”回复。当服务器(诸如web服务器或cdn服务器)不支持使用md5作为etag时,对包括作为etag的md5的所有部分httpget请求返回412“前提条件失败”回复使字节范围文件修复无效。各种实施例实现了:向计算设备以信令通知服务器(诸如web服务器或cdn服务器)的使用文件版本信息(诸如md5和/或etag)的一个或多个能力,以用于字节范围文件修复。通过以信令通知服务器(诸如web服务器或cdn服务器)使用文件版本信息(诸如md5和/或etag)的一个或多个能力,各种实施例使得计算设备能够生成对字节范围文件修复的部分httpget请求,其可以被定制以针对容纳要被修复的特定文件的特定服务器的一个或多个功能。通过使计算设备能够生成对字节范围文件修复的部分httpget请求(其可以被定制以针对容纳要被修复的特定文件的特定服务器(诸如web服务器或cdn服务器)的一个或多个能力),各种实施例可以使得计算设备能够向不支持使用md5作为etag的服务器发送对字节范围文件修复的部分httpget请求,这将不会自动导致服务器对部分httpget请求返回412“前提条件失败”回复。各种实施例可以在服务的描述(诸如服务的fdt和/或相关传送过程描述(adpd))中以信令通知服务器(诸如web服务器或cdn服务器)的使用文件版本信息(诸如md5和/或etag)的一个或多个能力。在各种实施例中,诸如广播多媒体服务中心(bmsc)服务器的服务器可以接收关于服务器(诸如web服务器或cdn服务器)的使用文件版本信息(诸如md5和/或etag)的一个或多个能力的指示,并且可以生成用于以信令通知一个或多个能力的fdt和/或adpd。例如,bmsc可以接收关于cdn服务器不支持使用md5作为etag的指示,并且可以在为该cdn服务器容纳的文件所生成的fdt中指示cdn服务器不支持使用md5作为etag。作为另一示例,bmsc可以接收关于cdn服务器不支持使用md5作为etag的指示,并且可以在为提供该cdn服务器容纳的文件的服务所生成的adpd中指示cdn服务器不支持使用md5作为etag。在一个实施例中,诸如bmsc服务器的服务器可以通过生成可包括文件的etag的服务的fdt,来以信令通知服务器(诸如web服务器或cdn服务器)的能力。当诸如bmsc服务器的服务器摄取要在flute上传输的文件的文件名时,服务器还可以接收该文件的etag。诸如bmsc服务器的服务器可以在fdt的content-location(内容-位置)属性下添加文件名,在fdt的content-md5(内容-md5)属性下添加为文件所计算的md5,并在fdt的新fileetag属性下添加文件的etag。以此方式,fdt的fileetag属性可以表示etag的值。计算设备可以接收fdt,并且当执行文件的字节范围文件修复时,计算设备可以基于fdt生成对该文件的部分httpget请求。响应于确定文件的fileetag属性存在于fdt中,计算设备可以在对文件的字节范围文件修复的部分httpget请求的if-match头元素中包括etag。响应于确定文件的fileetag属性不存在于fdt中,计算设备可以生成不包括if-match头元素的httpget请求。在一个实施例中,诸如bmsc服务器的服务器可以通过生成可在有条件(包括if-match头)部分get请求上包括关于禁止使用md5作为etag的标志的服务的fdt,来以信令通知服务器(诸如web服务器或cdn服务器)的能力。在一个实施例中,该标志可以在每个文件的基础上禁止使用md5作为etag。例如,fdt中的文件的byterangefilerepairwithmd5属性中的诸如真或假指示的标志可以指示容纳该文件的服务器(诸如web服务器或cdn)是否支持使用md5作为etag。计算设备可以接收fdt,并且当执行文件的字节范围文件修复时,计算设备可以基于fdt中的文件的byterangefilerepairwithmd5属性的标志状态,生成还包括if-match头的对文件的部分httpget请求。作为示例,响应于确定fdt中的文件的byterangefilerepairwithmd5属性被设置为假(例如,容纳文件的服务器不支持md5作为etag),计算设备可以生成不包括if-match头元素的httpget请求。响应于确定fdt中的文件的byterangefilerepairwithmd5属性被设置为真(例如,容纳文件的服务器支持md5作为etags),计算设备可以在对文件的字节范围文件修复的部分httpget请求的if-match头元素中包括md5作为etag。在一个实施例中,诸如bmsc服务器的服务器可以通过生成可包括关于禁止使用md5作为etag的标志的服务的adpd元数据段,来以信令通知服务器(诸如web服务器或cdn服务器)的能力。在一个实施例中,该标志可以禁止使用md5作为该服务的所有文件的etag。例如,adpd元数据段的byterangefilerepairwithmd5属性中的诸如真或假指示的标志可以指示容纳该文件的服务器(诸如web服务器或cdn)是否支持使用md5作为etag。计算设备可以接收adpd元数据段,并且当执行文件的字节范围文件修复时,计算设备可以基于adpd元数据段的byterangefilerepairwithmd5属性的标志状态,生成还包括if-match头的对文件的部分httpget请求。作为示例,响应于确定adpd元数据段的byterangefilerepairwithmd5属性被设置为假(例如,容纳文件的服务器不支持md5作为etag),计算设备可以生成不包括if-match头元素的httpget请求。响应于确定adpd元数据段的byterangefilerepairwithmd5属性被设置为真(例如,容纳文件的服务器支持md5作为etag),计算设备可以在对文件的字节范围文件修复的部分httpget请求的if-match头元素中包括md5作为etag。本文讨论了不同的中间件、无线电技术和传输协议的各种示例,具体而言是embms、flute和http。提供具体的embms、flute和http的讨论仅作为示例来更好地说明各种实施例的各方面,并不旨在以任何方式限制各种实施例。可以结合各种实施例使用其他中间件、无线电技术和传输协议,并且在不脱离本发明的精神或范围的情况下,可以在各种示例中替换其他中间件、无线电技术和传输协议。图1示出了适用于各种实施例的蜂窝网络系统100。蜂窝网络系统100可以包括多个设备,诸如计算设备102、一个或多个蜂窝塔或基站104以及连接到互联网110的服务器108和112。计算设备102可以经由一个或多个蜂窝连接106(包括码分多址(cdma)、时分多址(tdma)、全球移动通信系统(gsm)、个人通信服务(pcs)、第三代(3g)、第四代(4g)、长期演进(lte)或任何其他类型的连接)与蜂窝塔或基站104交换数据。蜂窝塔或基站104可以与可连接到互联网110的路由器通信。以这种方式,经由到蜂窝塔或基站104和/或互联网110的连接,可以在计算设备102和服务器108和112之间交换数据。在一个实施例中,服务器108可以是web服务器或内容提供商服务器,诸如内容传送网络(cdn)服务器,提供用于向计算设备(诸如计算设备102)传送的文件。在一个实施例中,服务器112可以是广播多媒体服务中心(bmsc)服务器,其可以接收文件(诸如来自服务器108的文件),并且控制文件到计算设备102的空中(over-the-air,ota)传输。例如,服务器112可以使用flute协议,借助mbms下载传送方法将文件发送到计算设备102。当然,尽管可以参考ota传输来描述本文所述的计算设备(诸如计算设备102)的特征,但是这些特征可以与有线传输、无线传输或有线和无线传输的组合结合使用。因此,ota传输不是必需的。图2示出了用于以信令通知服务器(诸如web服务器或cdn服务器)的能力的实施例方法200。在一个实施例中,方法200的操作可以由embms网络中的服务器(诸如bmsc)来执行。在块202中,服务器可以接收要通过flute传输的文件的文件名,以及关于容纳文件的服务器使用md5作为etag值的能力的指示。例如,当bmsc服务器摄取要通过flute传输的文件的文件名时,bmsc服务器还可以接收关于容纳该文件的服务器是否支持md5作为etag的指示。在一些实施例中,关于服务器支持使用md5作为etag的指示可以是在bmsc处接收到文件的etag本身。在块204中,服务器可以生成提供由服务器容纳的文件的服务的描述,所述服务的描述指示容纳文件的服务器的使用md5作为etag值的能力。在各种实施例中,服务的描述可以是fdt。例如,诸如bmsc服务器的服务器可以在fdt的content-location属性下添加文件名,在fdt的content-md5属性下添加为文件所计算的md5,并在fdt的fileetag属性下添加文件的etag。作为另一示例,服务器可以生成服务的fdt,所述服务的fdt可以在fdt中的文件的byterangefilerepairwithmd5属性中包括关于禁止使用md5作为etag的标志(诸如真或假指示),其指示容纳该文件的服务器(诸如web服务器或cdn)是否支持使用md5作为etag。在各种实施例中,服务的描述可以包括描述相关传送过程(诸如被部分地接收到的文件的文件修复)的相关传送过程描述(adpd)元数据段。例如,诸如bmsc服务器的服务器可以生成服务的adpd元数据段,其可以在adpd元数据段的文件修复单元上的byterangefilerepairwithmd5属性中包括关于禁止使用md5作为etag的标志(诸如真或假指示),其指示容纳该文件的服务器(诸如web服务器或cdn)是否支持使用md5作为etag。在块206中,服务器可以将服务的描述发送到计算设备。在各种实施例中,服务的描述可以通过embms网络经由一个或多个ota传输发送到计算设备。图3示出了根据实施例的示例性fdt300模式。在各种实施例中,可以根据参考图2描述的方法200的操作生成fdt300。对于fdt300中所指示的每个文件302,fdt300可以包括content-location属性304下的文件名、content-md5属性306下的为文件所计算的md5以及新fileetag属性308下的文件的etag。图4示出了根据实施例的示例性fdt400模式。在各种实施例中,可以根据参考图2描述的方法200的操作生成fdt400。对于fdt400中所指示的每个文件302,fdt400可以包括content-location属性304下的文件名、content-md5属性306下的为文件所计算的md5以及新byterangefilerepairwithmd5属性402中的诸如真或假指示的标志。byterangefilerepairwithmd5属性402可以指示容纳该文件的服务器(诸如web服务器或cdn)是否支持使用md5作为etag。图5示出了根据实施例的示例性adpd500模式。在各种实施例中,可以根据参考图2描述的方法200的操作生成adpd500。adpd500可以在新byterangefilerepairwithmd5属性502中包括诸如真或假指示的标志,其可以指示容纳该文件的服务器(诸如web服务器或cdn)是否支持使用md5作为etag。图6a示出了用于支持用于被部分地接收到的文件的字节范围文件修复的实施例方法600。在一个实施例中,方法600的操作可以由embms网络中的计算设备(诸如embms接收机设备)的处理器执行。在块602中,处理器可以接收提供文件的服务的描述,所述服务的描述指示容纳文件的服务器的使用md5作为etag值的能力。在各种实施例中,服务的描述可以是fdt,诸如分别参考图3和4描述的fdt300或fdt400。在各种实施例中,服务的描述可以是adpd,诸如参考图5描述的adpd500。在块604中,处理器可以经由flute接收服务的文件。在确定块606中,处理器可以确定是否需要字节范围文件修复来修复文件。例如,处理器可以确定文件是完全地还是部分地被接收,以及对源符号的取得是否使得纠错技术能够被应用来修复文件。响应于确定不需要字节范围文件修复来修复文件(即,确定块606=“否”),处理器可以在块604中接收服务的下一个文件。响应于确定需要字节范围文件修复来修复文件(即,确定块606=“是”),在块608中,处理器可以至少部分地基于在服务的描述中指示的容纳文件的服务器的使用md5作为etag值的能力,生成对字节范围文件修复的部分httpget请求。在一个实施例中,服务的描述可以是包括etag的fdt,例如参考图3描述的fdt300,并且,至少部分地基于在fdt中指示的容纳文件的服务器的使用md5作为etag的能力生成对字节范围文件修复的部分httpget请求可以包括:确定服务的fdt是否包括etag。响应于确定服务的fdt包括etag,处理器可以生成在部分httpget请求的if-match头元素中包括etag的部分httpget。响应于确定服务的fdt不包括etag,处理器可以生成部分httpget请求,而不在部分httpget请求中包括if-match头元素。在一个实施例中,服务的描述可以是包括用于指示容纳文件的服务器是否支持使用md5作为etag的属性的fdt,例如参考图4描述的fdt400,并且,至少部分地基于在fdt中指示的容纳文件的服务器的使用md5作为etag的能力生成对字节范围文件修复的部分httpget请求可以包括:确定fdt的属性是否指示服务器支持使用md5作为etag。响应于确定fdt的属性指示服务器支持使用md5作为etag,处理器可以生成在部分httpget请求的if-match头元素中包括md5的部分httpget。响应于确定fdt的属性指示服务器不支持使用md5作为etag,处理器可以生成部分httpget请求,而不在部分httpget请求中包括if-match头元素。在一个实施例中,服务的描述可以是包括用于指示容纳文件的服务器是否支持使用md5作为etag的属性的adpd,例如参考图5描述的adpd500,并且,至少部分地基于在adpd中指示的容纳文件的服务器的使用md5作为etag的能力生成对字节范围文件修复的部分httpget请求可以包括:确定adpd的属性是否指示服务器支持使用md5作为etag。响应于确定adpd的属性指示服务器支持使用md5作为etag,处理器可以生成在部分httpget请求的if-match头元素中包括md5的部分httpget。响应于确定adpd的属性指示服务器不支持使用md5作为etag,处理器可以生成部分httpget请求,而不在部分httpget请求中包括if-match头元素。在块610中,处理器可以发送部分httpget请求。例如,处理器可以向文件的主机发送单播请求。处理器可以进行到块604以经由flute接收服务的下一个文件。图6b示出了用于支持对被部分地接收到的文件的字节范围文件修复的实施例方法650。在一个实施例中,方法650的操作可以由embms网络中的计算设备(诸如embms接收机设备)的处理器来执行。在块602中,处理器可以接收提供文件的服务的描述,所述服务的描述指示容纳文件的服务器的使用md5作为etag的能力。在一些实施例中,服务的描述可以是fdt,诸如分别参考图3和4描述的fdt300或fdt400。在一些实施例中,服务的描述可以是adpd,诸如参考图5描述的adpd500。在块604中,处理器可以经由flute接收服务的文件。在确定块606中,处理器可以确定是否需要字节范围文件修复来修复文件。例如,处理器可以确定文件是完全地还是部分地被接收,以及对源符号的取得是否使得能够纠错技术被应用来修复文件。响应于确定不需要字节范围文件修复来修复文件(即,确定块606=“否”),处理器可以在块604中接收服务的下一个文件。响应于确定需要字节范围文件修复来修复文件(即,确定块606=“是”),处理器可以在确定块652中确定服务的描述是否包括文件的etag值。诸如fdt、apdp等的服务的描述可以包括作为服务的描述的属性的etag。例如,可以在fdt中包括etag作为fileetag属性。并非所有服务的描述都可以包含etag。处理器可以爬行(crawl)或以其他方式扫描服务的描述的属性,以确定服务的描述是否包括etag。响应于确定服务的描述包括etag值(即,确定块652=“是”),处理器可以在块654中生成对字节范围文件修复的部分httpget请求,其在if-match头元素中包括etag值。响应于确定服务的描述不包括etag值(即,确定块652=“否”),处理器可以在确定块656中确定服务的描述的属性是否指示服务器支持使用md5作为etag值。诸如fdt、apdp等的服务的描述可以包括作为服务描述的属性的md5,其可以指示服务器支持使用md5作为etag。例如,为文件所计算的md5可以被包括在fdt的content-md5属性下,以指示服务器支持使用md5作为etag。并非所有服务描述都可以包含md5。处理器可以爬行或以其他方式扫描服务的描述的属性以确定md5是否存在,并且服务器因此支持使用md5作为etag。响应于确定服务的描述指示服务器确实支持使用md5作为etag值(即,确定块656=“是”),处理器可以在块658中生成对字节范围文件修复的部分httpget请求,其在if-match头元素中包括md5。响应于确定服务的描述指示服务器不支持使用md5作为etag值(即,确定块656=“否”),则处理器可以在块660中生成不包括if-match头元素的部分httpget请求。在块654、658或660中的任一个中生成部分httpget请求之后,处理器可以在块610中发送部分httpget请求。例如,处理器可以向文件的主机发送单播请求。处理器可以进行到块604以经由flute接收服务的下一个文件。图7示出了根据各种实施例的部分httpget请求的报头的示例性模式。部分httpget请求报头702指向要修复的文件“/service1/news_service/latest_news.mp4”,并且包括在服务的fdt中的alternate-content-location(替代-内容-位置)元素中指示的文件主机的统一资源指示符(uri)值“www.example.com”。部分httpget请求报头702还包括if-match元素,其包括等于fdt中指示的etag的值。部分httpget请求报头702中所示的etag的格式是apache服务器格式“inode-size-mtime”。部分httpget请求报头702还包括范围头元素,范围头元素包括正在被请求的所有字节范围。部分httpget请求报头704指向要修复的文件“/service1/news_service/latest_news.mp4”,并且包括在服务的fdt中的alternate-content-location元素中指示的文件主机的统一资源指示符(uri)值“www.example.com”。部分httpget请求报头704还包括if-match元素,其包括等于fdt中指示的md5的值。在部分httpget请求报头704中所示的md5的格式可以是base64编码的字符串。部分httpget请求报头704还包括范围头元素,范围头元素包括正在被请求的所有字节范围。部分httpget请求报头706指向要修复的文件“/service1/news_service/latest_news.mp4”,并且包括在服务的fdt中的alternate-content-location元素中指示的文件主机的统一资源指示符(uri)值“www.example.com”。部分httpget请求报头706不包括if-match头元素。部分httpget请求报头706还包括范围头元素,范围头元素包括正在被请求的所有字节范围。部分httpget请求报头702、704和/或706可以被包括在根据参考图6a和6b描述的方法600和650的操作生成的部分httpget请求中。例如,响应于确定服务的fdt包括要被修复的文件的etag,可以将部分httpget请求报头702包括在对字节范围文件修复的部分httpget请求中。作为另一示例,响应于确定fdt的属性或adpd的属性指示容纳要被修复的文件的服务器支持使用md5作为etag,可以将部分httpget请求报头704包括在对字节范围文件修复的部分httpget请求中。作为另一示例,响应于确定服务的fdt不包括要被修复的文件的etag,可以将部分httpget请求报头706包括在对字节范围文件修复的部分httpget请求中。作为另一个示例,响应于确定fdt或adpd的属性未指示容纳要被修复的文件的服务器支持使用md5作为etag,可以将部分httpget请求报头706包括在对字节范围文件修复的部分httpget请求中。各种实施例(包括但不限于上文参考图2-7讨论的实施例)可以在各种计算设备(即,接收机设备)中的任何计算设备中实现,其示例在图8中示出。例如,计算设备800可以包括耦合到触摸屏控制器804和内部存储器802的处理器801。处理器801可以是指定用于通用或专用处理任务的一个或多个多核集成电路(ic)。内部存储器802可以是易失性或非易失性存储器,并且还可以是安全和/或加密的存储器,或非安全和/或未加密的存储器,或其任何组合。触摸屏控制器804和处理器801还可以耦合到触摸屏面板812,诸如电阻感测触摸屏、电容感应触摸屏、红外感测触摸屏等。计算设备800可以具有用于发送和接收的一个或多个无线电信号收发机808(例如,wi-fi、蜂窝等)和天线810,其彼此耦合和/或耦合到处理器801。收发机808和天线810可以与上述电路一起使用以实现各种无线传输协议栈和接口。计算设备800可以包括蜂窝网络无线调制解调器芯片816,其使得能够经由蜂窝网络进行通信并且耦合到处理器。计算设备800可以包括耦合到处理器801的外围设备连接接口818。外围设备连接接口818可以被独特地配置为接受一种类型的连接,或者被多样地配置成为接受各种类型的物理和通信连接,通用或专有的,如usb、firewire、thunderbolt或pcie。外围设备连接接口818还可以耦合到被类似地配置的外围设备连接端口(未示出)。计算设备800还可以包括用于提供音频输出的扬声器814。计算设备800还可以包括由塑料、金属或各种材料的组合构成的壳体820,用于容纳本文所讨论的全部或部分组件。计算设备800可以包括耦合到处理器801的电源822,诸如一次性或可充电电池。可充电电池还可以耦合到外围设备连接端口,以从计算设备800外部的源接收充电电流。各种实施例(包括但不限于上文参考图2-7讨论的实施例)也可以在各种商业上可获得的服务器设备中的任何服务器设备上实现,诸如图9所示的服务器900。这样的服务器900通常包括处理器901,其耦合到易失性存储器902和诸如磁盘驱动器904的大容量非易失性存储器。服务器900还可以包括耦合到处理器901的软盘驱动器、压缩盘(cd)或数字通用盘(dvd)驱动器906。服务器900还可以包括耦合到处理器901的一个或多个网络收发机903,诸如网络接入端口,用于与通信网络907(诸如耦合到其他公告系统计算机和服务器的局域网、互联网、公共交换电话网络和/或蜂窝网络(例如,cdma、tdma、gsm、pcs、3g、4g、lte或任何其他类型的蜂窝网络))建立网络接口连接。处理器801和901可以是可由软件指令(应用程序)配置以执行各种功能(包括上述各种实施例的功能)的任何可编程微处理器、微计算机或多处理器芯片或多个芯片。在一些设备中,可以提供多个处理器,例如专用于无线通信功能的一个处理器和专用于运行其他应用程序的一个处理器。通常,软件应用程序可能在其被访问并被加载到处理器801和901之前被存储在内部存储器中。处理器801和901可以包括足以存储应用程序软件指令的内部存储器。在许多设备中,内部存储器可以是易失性或非易失性存储器,诸如闪存,或两者的混合。对于本说明,对存储器的一般提及是指由处理器801和901可访问的存储器,其包括内部存储器或插入到设备中的可移动存储器以及处理器801和901自身内的存储器。前述方法描述和过程流程图仅作为说明性示例而提供,并不旨在要求或暗示各种实施例的步骤必须按照呈现的顺序执行。如本领域技术人员将理解的,前述实施例中的步骤的顺序可以以任何顺序执行。诸如“此后”、“然后”、“下一个”等的词语并非旨在限制步骤的顺序;这些词语仅用于指导读者完成方法的说明。此外,例如使用冠词“一”、“一个”或“该”的对单数形式的权利要求要素的提及不应被解释为将元素限制为单数。结合本文公开的实施例描述的各种说明性逻辑块、模块、电路和算法步骤可以实现为电子硬件、计算机软件或二者的组合。为了清楚地说明硬件和软件的这种可互换性,已经在其功能方面一般地描述了各种说明性组件、块、模块、电路和步骤。这种功能是被实现为硬件还是软件取决于特定应用和施加在整个系统上的设计约束。技术人员可以针对每个特定应用以变通的方式实现所述的功能,但是这种实现决策不应被解释为导致脱离本发明的范围。用于实现结合本文公开的方面描述的各种说明性逻辑、逻辑块、模块和电路的硬件可以用通用处理器、数字信号处理器(dsp)、专用集成电路(asic)、现场可编程门阵列(fpga)或其他可编程逻辑器件、分立门或晶体管逻辑、分立硬件组件或设计用于执行本文所述的功能的其任何组合来实现或执行。通用处理器可以是微处理器,但是在替代方案中,处理器可以是任何常规的处理器、控制器、微控制器或状态机。处理器还可以被实现为计算设备的组合,例如dsp和微处理器的组合、多个微处理器、结合dsp内核的一个或多个微处理器,或任何其他此类配置。可替换地,一些步骤或方法可以由专用于给定功能的电路来执行。在一个或多个示例性方面,所述的功能可以以硬件、软件、固件或其任何组合来实现。如果以软件实现,则这些功能可以作为一个或多个指令或代码存储在非暂时性计算机可读介质或非暂时性处理器可读介质上。本文公开的方法或算法的步骤可以体现在处理器可执行软件模块和/或处理器可执行指令中,其可以驻留在非暂时性计算机可读或非暂时性处理器可读储存介质上。非暂时性性服务器可读、计算机可读或处理器可读储存介质可以是可由计算机或处理器访问的任何储存介质。作为示例而非限制,这种非暂时性服务器可读、计算机可读或处理器可读介质可以包括ram、rom、eeprom、flash存储器、cd-rom或其他光盘储存器、磁盘储存器或其他磁储存设备或可以用于以指令或数据结构的形式存储期望的程序代码并且可由计算机访问的任何其他介质。如本文所使用的磁盘和光盘包括压缩盘(cd)、激光盘、光盘、dvd、软盘和蓝光盘,其中,磁盘通常以磁性方式再现数据,而光盘用激光光学地再现数据。以上的组合也包括在非暂时性服务器可读、计算机可读和处理器可读介质的范围内。另外,方法或算法的操作可以作为代码和/或指令的一个或任何组合或集合而驻留在非暂时性服务器可读、处理器可读介质和/或计算机可读介质上,其可以并入一个计算机程序产品。提供了所公开的实施例的前述描述,以使本领域任何技术人员能够实现或使用本发明。对这些实施例的各种修改对于本领域技术人员将是显而易见的,并且在不脱离本发明的精神或范围的情况下,本文定义的一般原理可以应用于其他实施例。因此,本发明部分旨在限于本文所示的实施例,而是应被赋予与所附权利要求和本文公开的原理和新颖特征相一致的最大范围。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1