用于分布式计算机网络的XML驱动 的自动自还原文件传送系统 相关的申请
本发明权利要求书是以2001年6月12日公开的申请号为60/297,245的美国临时申请为优先权基础。
发明的背景
本发明涉及使用元数据的集中文件和/或内容分布式方案,例如基于诸如可扩展标记语言(XML)的标记语言的元数据。该元数据可用作描述性标记以用于诸如文件传输和重发处理的数据网络传送任务。这种元数据标记能力的新颖应用允许集中文件传送系统在处理文件传输误差的时候,特别是处理由单个集中文件传送系统所服务的多用户/客户、多文件传送应用/任务中的文件传输误差的时候,优化它的文件自还原能力。
由于多个用户应用比如国际互联网络的数据网络来完成文件和内容的传送,数据传输的优先化以及丢弃或错误数据地重发变得越来越复杂。此外,根据文件传送和网络管理的有效地带宽应用也已经变得越来越复杂。
在许多系统中,数据以一种多路广播方式传输,即同时到达很多接收器。包丢失以一个不可预计的比例发生。通常,当接收器未能接收全部需要的数据包时,系统利用一种带宽的预约,例如前向纠错。在一种最坏条件情况下,由于缺乏对由接收器接收的文件的状态的认识,整个文件可以都需要传输。在多路广播环境中这种情况更加严重。
需要一种用于数据传输的自动自还原系统,它考虑了数据传输以外的因素并且结合了基于决策的业务规则。
【附图说明】
本发明的这些及其它特征、方面,和优点将根据下面的描述、附加权利要求、和附图更充分地表现,其中:
图1是为一个分布式计算机网络提供自还原文件传送系统的一个系统的示意图;
图2是系统组成部分的示意图概观;并且
图3是优选实施例的方法的流程图。
【具体实施方式】
通常,通过这些描述,如果一个项目是通过软件实现,它同样能够使用硬件实现。
参照图1,为分布式计算机网络提供自还原文件传送系统的系统示意图,系统10包括数据网络100;将被传送到一个或多个接收器30的一个或多个文件22的源20(通常由数字″20″表示并且在图1中由20a和20b表示);网络操作中心40;以及至少部分地在网络操作中心40运行的文件恢复软件50。在此应用的“分布式计算机网络”和“数据网络”是相同的。
源20、接收器30,和网络操作中心40全部有效地与数据网络100连接。网络操作中心40逻辑地被配置在源20和接收器30中间,并且可以用来接收并存储来自源20的文件22并且随后分配文件22到一个或多个接收器30。
另外参考到图2,系统组成部分的示意图概观,在一个示范的实施例中,系统10进一步包括文件加载列表23。文件加载列表23包括可查询的、基于规则的文件传输元信息,以供网络操作中心40(图1)在传输文件22时使用。在优选实施例中,与文件22的传送相关的加载列表23和基于规则的元数据是XML格式,虽然其它的格式也可以很好的使用,例如超级文本标记语言(HTML)、资源描述框架(RDF)、开放软件分布处理(OSD)、等等或它们组合的。
在优选实施例中,任务处理器24的预处理包括分析在文件传送加载列表23中的XML,从而预处理文件传送加载列表。
网络操作中心40(图1)进一步包括示意储存库44。在一个实施例中,示意储存库44包括与多个源20、多个接收器30或它的组合相关的数据。在优选实施例中,示意储存库44数据是XML、RDF、OSD格式等等或它们的组合。
另外,示意储存库44可以包括示意45,它可以包括比如通过使用存储管理器55存储在59的文件22的预定结构的描述,文件22的一个可接受数据类型的描述,等等或它们的组合。文件22的预定结构的描述可以使用XML以一种可读格式来描述一个高级XML文档的结构,例如英语这一自然语言。示意45可以在集中文件传送系统中共享,该文件传输系统对许多用户/顾客是可使用的,例如示意储存库44。
在优选实施例中,文件恢复软件50(图1)进一步包括用于预处理该文件传送加载列表23的任务处理器52,用于文件22的管理存储与检索的存储管理器55,其中文件22可以是比如那些存储在文件存储器59中的文件22,以及用于解释由接收器30返回的文件错误信息的远程状态处理器54。文件存储器59可以是一种持久性数据存储,例如包括电子、磁性的,和光学介质。在优选实施例中,文件错误信息是至少部分地以XML格式被格式化。
在此使用的业务规则可以包括一个或多个用于将数据传输至数据网络100中的指令。这些规则可以由例如源20的顾客的合同协议产生;基于数据网络100操作的规则;这样的优先权方案,源20a的数据将被给予比来自另一个源20b的数据更高的优先权;等等;或它们的组合。调度数据可以在加载列表23的规则中。
任务处理器52包括业务处理逻辑以便处理来自远程状态处理器54的进入加载列表23和重发加载列表23。例如:任务处理器52可以根据在加载列表23a中特定的业务规则处理加载列表23a,并且还处理与由远程状态处理器54提出的重发结果有关的加载列表23。任务调度器52与存储器管理55和传输优化器53协同工作,将文件22或文件22的一部分转移到传输队列56。
存储器管理器55、任务调度器52,和传输优化器53可以共享高级定义,其定义了示意44中的数据如何被组织,例如使用XML结构。
远程文件处理机58处理进入的消息,包括从接收器30接收的错误信息,并且包括远程状态存储器57。另外,远程状态存储器57对远程状态处理器54来说可访问的。远程状态存储器57可以是一个暂时或持久数据存储,例如包括电子的,磁性的,或光学介质。
在此使用的文件传送模块51泛指一个或多个任务处理器52、传输优化器53、远程状态处理器54、存储器管理器55、传输队列56,和远程状态存储器57。
现在参考图3,在一个示范性实施例的操作中,一个示范方法的流程图,就一般来讲,与图1和图2,文件22由源20提供,在步骤200被任务处理器24预处理,并且根据一个或多个预先决定的业务规则存储,例如在示意储存库44中或传送到存储管理55器上。在一个实施例中,源20可以是在一个供应者20a(图1)或文件22的其它的创建者的支配下。源20,例如供应者20a,可以另外提供一个或多个业务规则以便指示关于文件22的预先决定传送参数,比如在加载列表23中提供。这些预定的业务规则可用于为来自源20的文件22指示系统10的文件传输行为,同时提供灵活性以兼容多个源20,例如,每个源都有自己的业务规则。这些规则可以以一个XML格式的加载列表23被提供。
在一个优选实施例中,任务处理器24作为一个业务规则管理器并且是基于XML的。任务处理器24可以创建元数据,该元数据可以更进一步地包括规则,例如政策和业务规则,以便决定如何通过网络操作中心40加工和处理文件22,例如文件22是否能够传送到单个接收器30或多个接收器30。元数据可以更进一步地包括一个用于文件22的任务标识符,一个用于文件22的所有者标识符,一个用于文件22的优先权描述符,一个用于文件22的服务质量描述符等等或它们的组合。使用示意45,任务处理器24能够检验和确认在文件22中示意45的语法并且解释和与文件22的内容有关的元数据的结构和正确性。任务处理器24由此作为业务规则管理器并且屏蔽示意储存库44以便保证示意储存库45在系统10之内是统一的。
然后,预处理文件22在步骤210被提交到任务调度器52,通过分布式计算机网络诸如数据网络100,作为例如一个任务,传送到一个或多个期望的接收器30。任务调度器52分析加载列表23,例如描述与加载列表23有关的文件22中的内容的所有者、任务ID、优先权和/或服务质量参数等等的XML标记。
在此使用的一个提交的任务,在一个示范性实施例中,包括作为软件对象实现的示意45,该示意45包括在文件22中期望的内容以及描述了该内容的元数据,例如使用XML元标记描述。另外,任务调度器52可以传送文件22的全部或一部分到存储器管理器55,用于在存储器59中选择地、可检索地贮存。
在将任务调度到传输队列56的时候,任务调度器52与传输优化器53协同工作。当确定任务将要放置在传输队列中的什么位置时,传输优化器53可以分析很多预先决定的参数,包括从加载列表23收集的优先权参数以及数据网络100的特征以及诸如一个给定任务的重发重试的当前次数的操作特征。传送队列56与数据网络100相连接,以便将数据包放置到数据网络100。传输优化器53也与远程状态处理器54通信并且协同工作。
接收器30在步骤220通过一个分布式计算机网络比如数据网络100,接收至少一部分文件22。在一个优选实施例中,接收器30保存一个日志文件表示接收文件12或数据包的预定数目。接收器30在步骤230确定接收文件22或文件22的一部分的正确性,并且在步骤240放置所确定的正确性描述符到一个被格式化的消息中,用于传输回到网络操作中心40。在一个优选实施例中,该消息作为登录文件的一部分被创建,并以XML被格式化。因此,被确定的正确性描述符可以包括作为XML元数据的XML标记。
接收器30在步骤250通过数据网络100将XML消息(们)报告给网络操作中心40。接收的消息首先由远程文件处理器58处理,然后放入一个诸如远程状态存储器57的数据存储器。
在一个优选实施例中,网络操作中心40在步骤260通过分析由接收器30放入到消息中的XML标记,比如通过使用远程状态处理器54来分析,从而解释返回消息。网络操作中心40能由此从该消息中得到信息,诸如与文件22有关的、例如内容所有者标识符、任务标识符、优先权描述符、服务质量描述符等等或它们的组合。因为示意45可以在不同的处理器中共享,例如任务调度器52和传输优化器53,系统10内部的查询和检索功能可以被提高,例如通过本地的XML数据库的使用,该数据库是与后端的传统的关系数据库无关的。另外,任务调度器52能够使用示意45以便检测在示意储存库44中已接收的XML文件是否有丢失数据、无效数据等等或它们的组合。
被解释的消息的预先决定部分能由此被存储或进行其它处理。例如网络操作中心40的一部分,例如远程状态处理器54,能够处理该消息以便确定哪个文件22,即整个文件22,或是文件22的哪个部分需要被重发,以及确定特定的一个或多个需要该文件22或文件22的该部分的接收器,例如发送回表示文件的接收状态或错误的消息的接收器30。系统10包括多个接收器30,网络操作中心40能够分析每个消息以便确定多个接收器30中的哪个发送一个单独消息以及确定多个接收器30中的哪个需要重发的一个普通文件或仅仅是文件22的一部分。
如果一个全部文件22或文件22的一部分需要被再次传输,网络操作中心40,例如通过在远程状态处理器54和传输优化器53之间的通信,能够基于预定的业务和算法逻辑确定一个期望的重发方法,例如多路广播或单路传送。另外,远程状态处理器54可以把对特定文件22或文件22的一部分的需求传送到任务调度器52,例如通过传输优化器53,然后,任务调度器52可以从文件存储器59检索所需的文件22或文件22的一部分,例如通过存储器管理55。
以这样的方式,当放置数据到传送队列56里时,任务调度器52和传输优化器53可以协同工作,包括使用从接收器30送回到网络操作中心40的消息内容。这种方法提供一个自包含文件恢复循环,该循环保持与任务调度器52的功能独立,例如当放置重发包到传送队列56里时,与任务调度器52协同工作而不给任务调度器52负担。紧急优先权可以被使用,例如在需要满足一个重发请求时存在一个窗口,并且将数据放置到任务排队里可以是至少部分地以一个或多个业务规则为基础。例如:一个业务规则可以决定卫星110将用于很大区域的多路广播或用于大量的接收器30。当放置数据到任务队列里时,传输优化器53还使用与加载列表23有关的业务规则,不论是为了首次传输还是重发,例如放置和优先权可以是至少部分地取决于与源20的协议。以这种的方式,任务处理器52和传输优化器可以协商实际传输。
从上面示范性实施例的描述可以了解,在接收器30中的文件22包含传输错误时,文件22的恢复循环在文件传输上是独立于系统10的,即任务调度器52继续创建新任务以便传输到数据网络100中,并且传输优化器53独立地处理插入到传送队列56中的重发请求以用于需要重发的全部文件22或文件22的一部分。传输优化器53可以与任务调度器52协同工作,例如调度数据传输可以通过预先决定的操作业务规则被决定。传送队列56可以由此既包括新的传输任务又包括重发任务。诸如XML元标记的元标记的使用允许网络操作中心40分析接收器30与被传送给接收器30的文件22相关的状态,并且最小化重发带宽分配和传输效率,同时保持文件和数据的完整性,包括用户间屏蔽文件22。
应该理解在上面已经描述和说明的部分的元件原料和方案中的各种的变化的目的是为了解释本发明的本质,对本领域的普通技术人员来讲,它们都没有脱离本发明的如下所述的权利要求书定义的精神和范围。