用于通过在定序时应用背压来提供服务质量的方法

文档序号:7678449阅读:170来源:国知局
专利名称:用于通过在定序时应用背压来提供服务质量的方法
技术领域
目前所说明的技术大体来说涉及通信网络。更特定来说,目前所说明的技术涉及将背压用于定序以获得服务质量的系统及方法。
背景技术
通信网络用于各种各样的环境中。通信网络通常包括由一个或一个以上链路连接的两个或更多个节点。通常,通信网络用于支持经由所述通信网络中的链路及中间节点在两个或更多个参与节点之间进行通信。所述网络中可存在许多种节点。举例来说,网络可包括例如客户端、服务器、工作站、开关及/或路由器等节点。举例来说,链路可以是经由电话线、电线的调制解调器连接、以太网链路、异步转移模式(ATM)电路、卫星链路及/或光纤电缆。
通信网络实际上可由一个或一个以上较小的通信网络组成。举例来说,经常将因特网描述为互连计算机网络的网络。每一网络可使用不同的架构及/或拓扑。举例来说, 一个网络可以是具有星形拓扑的交换式以太网且另一网络可以是光纤分布式数据接口 (FDDI)环。
通信网络可携载各种各样的数据。举例来说,网络可随用于互动实时会谈的数据携载批量文件转移。经常以包、信元或帧发送在网络上发送的数据。另一选择为,可将数据作为串流发送。在一些实例中,数据串流或数据流实际上可以是包的序列。例如因特网等网络提供位于各种节点之间且携载具有不同需求的巨大数据阵列的通用数据路径。
经由网络的通信通常涉及多个通信协议等级。协议堆栈(还称作联网堆栈或成套协议)是指用于通信的协议的集合。每一协议可聚焦于特定的能力类型或通信形式。举例来说, 一种协议可涉及与通过铜线连接的装置进行通信所需要的电信号。举例来说,其它协议可解决两个被许多中间节点分开的节点之间的排序及可靠传输。
协议堆栈中的协议通常以层级而存在。经常,将协议分类为层。协议层的一个参
考模型是开放系统互连("osr )模型。所述osi参考模型包括七个层物理层、数据链路层、网络层、传送层、会话层、表示层及应用层。物理层是"最低"层,而
应用层是"最高"层。两个熟知的传送层协议是传输控制协议("TCP")及用户数据报协议("UDP")。熟知的网络层协议是因特网协议("IP")。
在传输节点处,将将要传输的数据向下递送穿过协议堆栈的层(从最高层到最低层)。相反,在接收节点处,将所述数据向上递送穿过所述层(从最低层到最高层)。在每一层处,可通过处置所述层处的通信的协议操纵所述数据。举例来说,传送层协议可向所述数据添加标头以允许在包到达目的地节点时对其进行排序。依据应用,可不使用某些层,或即使存在,且可将数据递送穿过所述层。
一种通信网络是战术数据网络。还可将战术数据网络称作战术通信网络。组织(例如,军队(例如,陆军、海军及/或空军))内的单元可使用战术数据网络。战术数据网络内的节点可包括(举例来说)个别战士、飞机、指挥单元、卫星及/或无线电装置。战术数据网络可用于传递数据,例如话音、位置遥测数据、传感器数据及/或实时视频。
如何采用战术数据网络的实例如下所述。后勤护卫可在路途中以向战场中的战斗单元提供补给。护卫及战斗单元两者可经由卫星无线电链路向指挥所提供位置遥测数据。无人机("UAV")可沿着所述护卫行进的路进行巡逻且还经由卫星无线电链路向所述指挥所传输实时视频数据。在所述指挥所,分析者可正在检査所述视频数据,而控制者正在对所述UAV分派任务以提供路的特定区段的视频。然后,所述分析者可辨认护卫正在靠近的简易爆炸装置("IED")且经由直接无线电链路向护卫发出命令以令其停止并警告护卫所述IED的存在。
可存在于战术数据网络内的各种网络可具有许多不同的架构及特性。举例来说,指挥单元中的网络可包括吉位以太局域网("LAN")连同到卫星及战场单元的以极
低处理量及较高等待时间操作的无线电链路。战场单元可经由卫星及经由直接路径射频("RF")两者来进行通信。可依据数据的性质及/或网络的特定物理特性以点对点、多播或广播方式发送数据。网络可包括无线电装置,举例来说,其经设立以中继数据。此外,网络可包括允许远程通信的高频率("HF")网络。举例来说,还可使用微波网络。除其它原因以外,由于链路及节点的类型差异,战术网络经常具有过度复杂的网络寻址方案及路由选择表。此外, 一些网络(例如,基于无线电的网络)可使用突发进行操作。也就是说,不是连续地传输数据,而是其发送数据的周期性突发。此是有用的,这是因为无线电装置在所有参与者必须共享的特定信道上广播且每次仅一个无线电装置可进行传输。
战术数据网络通常是带宽受限制的。也就是说,在任何给定时间点通常存在比可用带宽多的将要传递数据。举例来说,这些限制可能是由于对带宽的超出供应的需求及/或不能供应满足用户需要的充足带宽的可用通信技术。举例来说,在一些节点之间,带宽大约可为千位/秒。在带宽受限制的战术数据网络中,不太重要的数据可堵塞网络,因此阻碍更重要的数据以及时的方式通过,或甚至使所述更重要数据根本到达不了接收节点。此外,所述网络的部分可包括内部缓冲以补偿不可靠的链路。此可导致额外延迟。此外,当所述缓冲器填满时,可能会丢弃数据。
在许多实例中,不能够增加网络可用的带宽。举例来说,在卫星通信链路上可用的带宽可以是固定的且在不部署另一卫星的情况下不能够有效地增加。在这些情形下,必须管理带宽而不是简单地扩张来以处置需求。在大系统中,网络带宽是关键资
4源。期望应用尽可能高效地使用带宽。此外,当带宽受限时,期望应用避免"堵塞管道"(也就是说,用数据覆没链路)。当带宽分配变化时,应用优选地应起反应。举例来说,带宽因服务质量、干扰、信号遮断、优先级重新分配及视线而动态地变化。网络可能是高度不稳定的且可用带宽可动态地变换而没有通知。
除带宽限制以外,战术数据网络还可经历高等待时间。举例来说,涉及经由卫星链路的通信的网络可引发大约半秒或更多的等待时间。对于某些通信,此可成为问题,但对于其它通信(例如,实时、互动通信(例如,话音通信)),高度期望尽可能多地最小化等待时间。
许多战术数据网络常见的另一特性是数据丢失。数据可因各种各样的原因而丢失。举例来说,具有将要发送的数据的节点可被破坏或毁坏。作为另一实例,目的地节点可能暂时脱离网络。举例来说,此可因所述节点已移动出范围、通信的链路被遮断及/或所述节点正被干扰等原因而发生。由于所述目的地节点不能够接收数据且中间节点缺乏用以在所述目的地节点变得可用之前缓冲所述数据的充足容量,因此可能会丢失所述数据。另外,中间节点可能根本不缓冲所述数据,而是将其留给发送节点以确定所述数据实际上是否曾到达所述目的地。
经常,战术数据网络中的应用不注意及/或不计及网络的特定特性。举例来说,应用可能简单地假设其具有其所需要量的可用带宽。作为另一实例,应用可能假设将不会在网络中丢失数据。不考虑基本通信网络的具体特性的应用可能以实际上使问题加剧的方式运转。举例来说,应用可能连续地发送数据串流,其效率就像以较大束较不频繁地发送一样。连续的串流可在(举例来说)有效地使其它节点停止通信的广播无线电网络中引发大得多的开销,而较不频繁的突发将允许更高效地使用共享的带宽。
某些协议不能够在战术数据网络上良好地工作。举例来说,由于基于无线电的战术网络可遇到高丢失率及等待时间,例如TCP等协议可能不能在所述网络上良好地起作用。为发送数据,TCP需要若干种形式的信号交换及确认发生。高等待时间及丢失可导致TCP命中超时且不能够经由所述网络发送许多(如果存在)有意义的数据。
用战术数据网络传递的信息经常具有相对于所述网络中的其它数据的各种等级的优先级。举例来说,飞机中的威胁警报接收器可具有比在几英里外的地面上的部队的位置遥测信息高的优先级。作为另一实例,来自司令部的关于交战的命令可具有比友好战线后方的后勤通信高的优先级。优先级等级可取决于发送者及/或接收者的特定情形。举例来说,与单元仅仅是沿着标准的巡逻路途而行相比,当所述单元积极地从事战斗时,位置遥测数据可具有高得多的优先级。类似地,当来自UAV的实时视频数据在目标区域上方时可具有较高的优先级(与其仅仅是在路途中时相反)。
存在经由网络投送数据的若干种方法。许多通信网络所使用的一种方法是"最大努力"方法。也就是说,在假定其它需求的情况下,所述网络将尽可能好地在容量、等待时间、可靠性、排序及错误方面处置正被传递的数据。因此,所述网络不提供任
5何给定数据段将以及时方式到达其目的地的保证,或根本不能使所述数据段到达其目 的地。另外,不能做出数据将以发送的次序或甚至在没有改变所述数据中的一个或一 个以上位的传输错误的情况下到达的保证。
另一种方法是服务质量("QoS" ) 。 QoS是指网络提供各种形式的关于被携载 数据的保证的一个或一个以上能力。举例来说,支持QoS的网络可向数据串流保证 某个量的带宽。作为另一实例,网络可保证两个特定节点之间的包具有某一最大等待 时间。所述保证在话音通信(其中所述两个节点是经由网络进行会谈的两个人)的情 况下可有用。举例来说,在所述情况下,数据投送中的延迟可导致通信中令人愤怒的 中断及/或死寂。
可将QoS看作网络向所选择的网络业务提供较好服务的能力。QoS的主要目标 是提供包括专用带宽、受控制的抖动及等待时间(一些实时及互动业务要求)及经改 善的丢失特性的优先级。另一重要目标是确保提供一个流的优先级不会使其它流失 败。也就是说,针对后续流所做的保证必须不能打破向现有流所做的保证。
获得QoS的当前方法经常要求网络中的每一节点支持QoS,或起码要求所述网 络中特定通信中所涉及的每一节点支持QoS。举例来说,在当前系统中,为提供两个 节点之间的等待时间保证,那两个节点之间的携载业务的每一节点必须知道并同意尊 重(且能够尊重)所述保证。
存在提供QoS的若干种方法。 一种方法是综合服务或"IntServ" 。 IntServ提供 QoS系统,在所述系统中,网络中的每一节点支持所述服务且在设立连接时保留那些 服务。由于在每一节点处必须维持大量的状态信息及与设立所述连接相关联的开销, 因此IntServ不能很好地縮放。
提供QoS的另一种方法是区分服务或"DiffServ" 。 DiffServ是增强网络(例如, 因特网)的最大努力服务的一类服务模型。DiffServ通过用户、服务要求及其它准则 区分业务。然后,DiffServ标记包,使得网络节点可通过优先级排队或带宽分配或通 过针对特定业务流选择专用线路来提供不同等级的服务。通常,节点具有用于每一类 服务的各种各样的队列。然后,所述节点基于分类类别从那些队列选择将要发送的下 一个包。
现有QoS解决方案经常是网络特定的且每一网络类型或架构可需要不同的QoS 配置。由于现有QoS解决方案所使用的机构,基于消息内容,在当前QoS系统看来 相同的消息实际上可具有不同的优先级。然而,数据消费者可需要对高优先级数据进 行存取而不被低优先级数据淹没。现有QoS系统不能够在传送层处基于消息内容提 供QoS。
如所提及,现有QoS解决方案要求至少特定通信中所涉及的节点支持QoS。然 而,网络"边缘"处的节点可适于提供QoS的某种改善,即使其不能够做出全部保 证。如果节点是通信中的参与节点(即,传输及/或接收节点)及/或如果其位于网络 中的阻塞点处,那么认为所述节点处于网络的边缘。阻塞点是其中所有业务必须递送到另一部分的网络区段。举例来说,从LAN到卫星链路的路由器或网关将是阻塞点, 因为从所述LAN到不在所述LAN上的任何节点的所有业务必须穿过到所述卫星链路 的网关。
当前网络链路设计繁重且困难。对网络链路设计的动态、"进行中"改变也比较 困难。应用被迫针对给定的操作情景使用特定的通信路径而不是选择最好的通信路径 及处理量优化机构。通常,事务、协议及通信路径被包在一起,且并非从所述链路所 传送的信息中抽象通信链路。实施方案经常折叠或组合OSI网络模型的各种层。许多 网络要求针对特定的参与者群组设计所述网络。所述网络是静态的,且即使较小的改 变也需要大量的重做工作。举例来说,当前的战术通信链路(例如,UAV)需要显著 的运营商介入来从卫星通信链路切换到视线无线链路。 一些QoS解决方案提供定序 算法以服务于数据优先级队列。根据所述算法从所述队列中拉出数据且将所述数据传 输到网络上。未经检查,队列序列过程可仅受主机处理器的限制且显著地提高淹没网 络的可能性(尤其在带宽受限制的环境中)。因此,需要降低淹没网络的可能性的系 统及方法。需要用于以改善的方式地将数据定序到网络上的系统及方法。
因此,需要在战术数据网络中提供QoS的系统及方法。需要用于在战术数据网 络的边缘上提供QoS的系统及方法。另外,在战术数据网络中需要自适应的可配置 的QoS系统及方法。

发明内容
本发明的实施例提供用于数据通信的系统及方法。
某些实施例包括一种用于提供数据通信中的服务质量的方法。所述方法包括将数 据保存在队列中。所述方法还包括基于至少一个定序准则来确定所述队列中的数据的 顺序。另外,所述方法包括基于至少一个计量准则来计量数据离开队列的流动,以提 供传递与至少一个定序准则及至少一个计量准则相关的所述数据时的服务质量等级。
某些实施例提供一种具有供在处理装置上执行的指令集的计算机可读媒体。所述 指令集包括用于暂时保存正被传输的数据的保存例行程序。所述指令集还包括用于基 于至少一个定序准则来确定所述数据的顺序的定序例行程序。此外,所述指令集包括 用于基于至少一个计量准则来计量数据的流动以提供传输与至少一个定序准则及至 少一个计量准则相关的所述数据时的服务质量等级的计量例行程序。
某些实施例提供一种用于提供数据通信中的服务质量的方法。所述方法包括暂时 保存正被传输的数据。所述方法进一步包括至少基于数据优先级来确定所述数据的顺 序。另外,所述方法包括基于至少一个用户规定的计量准则来计量所述数据的传输以 提供传输与至少一个用户规定的计量准则及数据优先级相关的所述数据时的服务质 量等级。


图1图解说明通过本发明的实施例操作的战术通信网络环境。
图2显示根据本发明实施例的数据通信系统在七层OSI网络模型中的定位。
图3描绘使用根据本发明实施例的数据通信系统促进的多个网络的实例。
图4图解说明通过本发明的实施例操作的数据通信环境。
图5图解说明根据本发明实施例的用于传递数据的方法的流程图。
图6图解说明根据本发明实施例的具有分段及重新汇编能力的数据通信系统。
具体实施例方式
当结合附图阅读时,将更好地了解上述说明内容以及对目前所说明技术的某些实 施例的以下详细说明。出于图解说明目前所说明的技术的目的,在图式中显示某些实 施例。然而,应了解目前所说明的技术并不限于附图中所显示的布置及手段。
图1图解说明用目前所说明的技术的实施例操作的战术通信网络环境100。网络 环境100包括多个通信节点110、 一个或一个以上网络120、连接所述节点与网络的 一个或一个以上链路130及促进经由网络环境100的组件的通信的一个或一个以上通 信系统150。以下论述假设网络环境IOO包括一个以上网络120及一个以上链路130, 但应了解,其它环境也是可行的且是预期的。
举例来说,通信节点110可以是及/或包括无线电装置、传输器、卫星、接收器、 工作站、服务器及/或其它计算或处理装置。举例来说,网络120可以是用于在节点 110之间传输数据的硬件及/或软件。举例来说,网络120可包括一个或一个以上节点 110。链路130可以是有线及/或无线连接以允许节点110及/或网络120之间的传输。
举例来说,通信系统150可包括用于促进节点110、网络120与链路130之间的 数据传输的软件、固件及/或硬件。如图1中所图解说明,可相对于节点110、网络 120及/或链路130实施通信系统150。在某些实施例中,每一节点IIO包括通信系统 150。在某些实施例中, 一个或一个以上节点110包括通信系统150。在某些实施例 中, 一个或一个以上节点IIO可不包括通信系统150。
通信系统150提供数据的动态管理以有助于确保战术通信网络(例如,网络环境 100)上的通信。如图2中所示,在某些实施例中,系统150作为OSI七层协议模型 中传送层的部分及/或在传送层的顶部操作。举例来说,系统150可给予所述战术网 络中的高优先级数据递送到所述传送层的优先权。系统150可用于在单个网络(例如, 局域网(LAN)或广域网(WAN))中或跨越多个网络促进通信。多网络系统的实 例显示于图3中。举例来说,系统150可用于管理可用带宽而不是向所述网络增加额 外带宽。
在某些实施例中,系统150是软件系统,但系统150在各种实施例中可包括硬件及软件组件两者。举例来说,系统150可独立于网络硬件。也就是说,系统150可适 于在各种各样的硬件及软件平台上起作用。在某些实施例中,系统150在网络的边缘 上操作而非在网络内部中的节点上操作。然而,系统150也可在网络的内部中操作, 例如在网络中的"阻塞点"处。
系统150可使用规则及模式或简档来执行处理量管理功能,例如优化可用带宽、 设定信息优先级及管理网络中的数据链路。通过"优化"带宽,其意指(举例来说) 可采用目前所说明的技术来提高用以在一个或一个以上网络中传递数据的带宽使用 的效率。举例来说,优化带宽使用可包括移除功能冗余消息、消息串流管理或定序及 消息压縮。举例来说,设定信息优先级可包括以比基于因特网协议(IP)的技术更细 的粒度区分消息类型及通过所选择的基于规则的定序算法将消息定序到数据串流上。 举例来说,数据链路管理可包括对网络测量的基于规则的分析以影响规则、模式及/ 或数据传送的变化。模式或简档可包括与特定的网络健康状态或条件的操作需要相关 的一组规则。系统150提供模式的动态的、"在进行中(on-the-fly)"的重新配置, 包括在进行中(on the fly)定义并切换到新模式。
通信系统150可经配置以(举例来说)在不稳定的带宽受限制的网络中适应变化 的服务优先级及级别。系统150可经配置以管理经改善数据流的信息以帮助提高网络 中的响应能力并降低通信等待时间。另外,系统150可通过灵活的架构提供互操作性, 所述架构可升级且可縮放以改善通信的可用性、抗毁性及可靠性。系统150支持在使 用预定及可预测的系统资源及带宽时可自主地适应于动态变化的环境的数据通信架 构。
在某些实施例中,系统150向带宽受限制的战术通信网络提供处理量管理,而对 于使用所述网络的应用保持透明。系统150以降低的复杂性跨越多个用户及环境向网 络提供处理量管理。如上文所提及,在某些实施例中,系统150在主机节点(其在 OSI七层模型的层四(传送层)中及/或在所述层四的顶部)上运行且不需要专门的网 络硬件。系统150可以对于所述层四接口来说为透明的方式操作。也就是说,应用可 使用传送层的标准接口且不知道系统150的操作。举例来说,当应用开启套接字时, 系统150可在协议堆栈中在此点处过滤数据。系统150通过允许应用使用(举例来说) 网络上的通信装置处的操作系统所提供的TCP/IP套接口而不是系统150特定的接口 来实现透明性。举例来说,可用扩展置标语言(XML)写入系统150规则及/或经由 定制的动态链接库(DLL)提供写入系统150规则。
在某些实施例中,系统150在网络的边缘上提供服务质量(QoS)。举例来说, 系统的QoS能力在网络的边缘上提供基于内容、基于规则的数据优先等级确定。举 例来说,确定优先等级可包括区分及/或定序。举例来说,系统150可基于用户可配 置的区分规则将消息区分为队列。以用户配置的定序规则(例如,不足、循环法、相 对频率等)所指定的次序将消息定序到数据串流中。举例来说,使用边缘上的QoS, 可基于消息内容区分传统QoS方法不可辨别的数据消息。举例来说,规则可实施在
9XML中。在某些实施例中,举例来说,为适应超出XML的能力及/或为支持极低等 待时间的要求,系统150允许向动态链接库提供定制码。
可通过系统150定制网络上的入站及/或出站数据。举例来说,确定优先等级保 护客户端应用免受大容量低优先级数据。系统150有助于确保应用接收数据以支持特 定的操作情景或限制。
在某些实施例中,当主机连接到包括路由器作为到带宽受限制的战术网络的接口 的LAN时,系统可通过代理人以称作QoS的配置操作。在此配置中,准备去向局域 LAN的包绕开所述系统且直接去往所述LAN。所述系统对准备去向带宽受限制的战 术链路的包应用网络边缘上的QoS。
在某些实施例中,系统150通过受指挥的简档切换来提供对多个操作情景及/或 网络环境的动态支持。简档可包括名称或允许用户或系统改变为所命名的简档的其它 识别符。举例来说,简档还可包括一个或一个以上识别符,例如功能冗余规则识别符、 区分规则识别符、档案接口识别符、定序规则识别符、预传输接口识别符、传输后接 口识别符、传送识别符及/或其它识别符。举例来说,功能冗余规则识别符规定从(例 如)陈旧数据或大致类似的数据检测功能冗余的规则。举例来说,区分规则识别符规 定将消息区分为队列以进行处理的规则。举例来说,档案接口识别符规定到档案系统 的接口 。定序规则识别符识别控制队列前部的样本且因此控制数据在数据串流上的定 序的定序算法。举例来说,预传输接口识别符规定用于预传输处理的接口,所述接口 提供特殊处理,例如加密及压縮。举例来说,传输后接口识别符识别用于传输后处理 的接口,所述接口提供例如解密及解压等处理。传送识别符规定用于所选择的传送的 网络接口。
举例来说,简档还可包括其它信息,例如队列大小确定信息。举例来说,队列大 小确定信息识别多个队列及每一队列专用的存储器及二级存储装置的量。
在某些实施例中,系统150提供用于优化带宽的基于规则的方法。举例来说,系 统150可采用队列选择规则来将消息区分为消息队列,以便可在数据串流上向消息指 派优先级及适当的相对频率。系统150可使用功能冗余规则来管理功能冗余消息。举 例来说,如果消息不与尚未在网络上发送的先前消息足够不同(如所述规则所定义), 那么所述消息是功能冗余的。也就是说,如果提供不与较旧的消息(其已经调度以进 行发送,但尚未发送)充足不同的新消息,那么可丢弃所述较新的消息,因为所述较 旧的消息将携载在功能上相等的信息且在队列中进一步向前。此外,功能冗余可包括 实际重复消息及较新的消息,其在已被发送的较旧消息之前到达。举例来说,由于基 本网络的特性,节点可接收特定消息(例如,由于容错原因,通过两个不同路径发送 的消息)的相同拷贝。作为另一实例,新消息可包含代替尚未发送的较旧消息的数据。 在此情形下,系统150可丢弃所述较旧的消息且仅发送所述新消息。系统150还可包 括优先级定序规则以确定数据串流的基于优先级的消息顺序。另外,系统150可包括 传输处理规则以提供预传输及传输后特殊处理,例如压縮及/或加密。在某些实施例中,系统150提供容错能力以有助于保护数据完整性及可靠性。举 例来说,系统150可使用用户定义的队列选择规则来将消息区分为队列。举例来说,
根据用户定义的配置来确定所述队列的大小。举例来说,所述配置规定队列可消耗的 最大存储器量。另外,所述配置可允许所述用户规定队列溢出可使用的二级存储装置 的位置及量。在所述队列中的存储器被填满之后,可将消息排队到二级存储装置中。
当所述二级存储装置也填满时,系统150可移除队列中最旧的消息,记录错误消息并 将最新消息排队。如果针对所述操作模式启用归档,那么可用指示未在网络上发送被 移出队列的消息的指示符将所述消息归档。
举例来说,可针对特定应用在每链路的基础上配置系统150中用于队列的存储器 及二级存储装置。网络可用性周期之间的较长时间可对应于更多存储器及二级存储装 置以支持网络故障。可将系统150与网络建模及模拟应用整合(举例来说)以有助于 识别大小确定,以有助于确保适当地确定队列的大小及故障之间的时间足以帮助实现 稳态并帮助避免最后的队列溢出。
此外,在某些实施例中,系统150提供计量入站("成形")及出站("管控") 数据的能力。管控及成形能力有助于解决网络中计时上的失配。成形有助于防止网络 缓冲器充满在较低优先级的数据后面排队等候的高优先级数据。管控有助于防止应用 数据消费者被低优先级数据侵扰。管控及成形由两个参数支配有效链路速度及链路 比例。举例来说,系统150可形成不高于所述有效链路速度乘以所述链路比例的数据 串流。可随网络的变化动态地修改所述参数。所述系统还可提供对所检测链路速度的 存取以支持关于数据计量的应用等级决策。可将系统150所提供的信息与其它网络操 作信息组合以帮助决定什么链路速度适合于给定的网络情景。
在某些实施例中,可在OSI协议模型的传送层上方向通信网络提供QoS。具体 来说,可仅在传送协议连接的套接字层下方实施QoS技术。举例来说,传送协议可 包括传输控制协议(TCP)、用户数据报协议(UDP)、串流控制传输协议(SCTP)。 作为另一实例,协议类型可包括因特网协议(IP)、因特网包交换(IPX)、以太网、 异步转移模式(ATM)、文件转移协议(FTP)及/或实时传送协议(RTP)。出于图 解说明的目的,将使用TCP提供一个或一个以上实例。
图4图解说明通过本发明的实施例操作的数据通信环境400。环境400包括数据 通信系统410、 一个或一个以上源节点420及一个或一个以上目的地节点430。数据 通信系统410与源节点420及目的地节点430进行通信。举例来说,数据通信系统 410可经由链路(例如,无线电、卫星、网络链路)及/或通过进程间通信来与源节点 420及/或目的地节点430进行通信。在某些实施例中,数据通信系统410可经由一个 或一个以上战术数据网络与一个或一个以上源节点420及/或目的地节点430进行通 信。
举例来说,数据通信系统410可类似于上文所说明的通信系统150。在某些实施 例中,数据通信系统410适于从一个或一个以上源节点420接收数据。在某些实施例
11中,数据通信系统410可包括用于保存、存储、组织及/或确定数据的优先等级的一
个或一个以上队列。另一选择为,可使用其它数据结构来保存、存储、组织及/或确 定数据的优先等级。举例来说,可使用表格、树或链接表。在某些实施例中,数据通
信系统410适于向一个或一个以上目的地节点430传递数据。
由数据通信系统410接收、存储、确定优先等级、处理、传递及/或另外传输的 数据可包括数据块。举例来说,所述数据块可以是包、信元、帧及/或数据串流。举 例来说,数据通信系统410可从源节点420接收数据包。作为另一实例,数据通信系 统410可处理来自源节点420的数据串流。
在某些实施例中,数据包括标头及有效负载。举例来说,所述标头可包括协议信 息及时间戳信息。在某些实施例中,协议信息、时间戳信息、内容及其它信息可包括 在所述有效负载中。在某些实施例中,所述数据在存储器中可以或可不邻近。也就是 说,所述数据的一个或一个以上部分可位于存储器的不同区域中。在某些实施例中, 举例来说,数据可包括指向包含数据的另一位置的指针。
源节点420至少部分地提供及/或产生由数据通信系统410处置的数据。源节点 420可包括(举例来说)应用程序、无线电、卫星或网络。源节点420可经由链路与 数据通信系统410进行通信,如上文所论述。举例来说,源节点420可产生连续的数 据串流或可突发数据。在某些实施例中,源节点420及数据通信系统410是同一系统 的部分。举例来说,源节点420可以是在与数据通信系统410相同的计算机系统上运 行的应用程序。
目的地节点430接收由数据通信系统410处置的数据。目的地节点430可包括(举 例来说)应用程序、无线电、卫星或网络。目的地节点430可经由链路与数据通信系 统410进行通信,如上文所论述。在某些实施例中,目的地节点430及数据通信系统 410是同一系统的部分。举例来说,目的地节点430可以是在与数据通信系统410相
同的计算机系统上运行的应用程序。
数据通信系统410可经由链路与一个或一个以上源节点420及/或目的地节点430
进行通信,如上文所论述。在某些实施例中,所述一个或一个以上链路可以是战术数 据网络的部分。在某些实施例中, 一个或一个以上链路可以是带宽受限制的。在某些 实施例中, 一个或一个以上链路可能不可靠及/或间歇性地断开。在某些实施例中, 传送协议(例如,TCP)开启源节点420与目的地节点430处的套接字之间的连接, 以在链路上从源节点420向目的地节点430传输数据。
在操作中,数据由一个或一个以上数据源420提供及/或产生。在数据通信系统 410处接收所述数据。举例来说,可经由一个或一个以上链路接收所述数据。举例来 说,可经由战术数据网络从无线电装置在数据通信系统410处接收数据。作为另一实 例,在同一系统上运行的应用程序可通过进程间通信机构向数据通信系统410提供数 据。如上文所论述,举例来说,所述数据可以是数据块。
在某些实施例中,数据通信系统410可组织及/或确定数据的优先等级。在某些实施例中,数据通信系统410可确定数据块的优先级。举例来说,当通过数据通信系 统410接收数据块时,数据通信系统410的优先等级确定组件可确定所述数据块的优 先级。作为另一实例,可将数据块存储在数据通信系统410中的队列中且优先等级确 定组件可基于针对所述数据块及/或针对所述队列所确定的优先级从所述队列抽取所 述数据块。
举例来说,数据通信系统410进行的数据优先等级确定可用于提供QoS。举例来 说,数据通信系统410可确定经由战术数据网络接收的数据的优先级。举例来说,所 述优先级可基于所述数据的源地址。举例来说,可给予来自与数据通信系统410所属
于的排相同的排的成员的无线电装置的数据的源IP地址比源自不同的操作区域中的 不同师中的单元的数据高的优先级。所述优先级可用于确定应将数据放置于多个队列
中的哪一个队列中以通过数据通信系统410进行后续传递。举例来说,可将较高优先 级的数据放置于既定保存较高优先级数据的队列中,且数据通信系统410在确定下一 步传递什么数据时又可首先注意所述较高优先级的队列。
可至少部分地基于一个或一个以上规则来确定所述数据的优先等级。如上文所论 述,所述规则可以是由用户定义的。在某些实施例中,举例来说,可用扩展置标语言 ("XML")写入规则及/或经由定制的动态链接库("DLL")提供所述规则。举 例来说,可使用规则来在网络上对数据进行区分及/或定序。举例来说,规则可规定 比使用一个协议接收的数据偏爱使用另一协议接收的数据。举例来说,命令数据可使 用通过规则被给予比使用另一协议发送的位置遥测数据高的优先级的特定协议。作为 另一实例,规则可规定可给予来自第一地址范围的位置遥测数据比来自第二地址范围 的位置遥测数据高的优先级。举例来说,所述第一地址范围可代表与上面运行有数据 通信系统410的飞机相同的中队中的其它飞机的IP地址。那么所述第二地址范围可 代表(举例来说)不同操作区域中的其它飞机的IP地址,且因此上面运行有数据通 信系统410的飞机对所述第二地址范围不太感兴趣。
在某些实施例中,数据通信系统410不丢弃数据。也就是说,虽然数据可能是低 优先级,但其不会被数据通信系统410丢弃。而是,所述数据可能会被延迟一时间周 期,此潜在地取决于所接收的较高优先级数据的量。在某些实施例中,可将数据排队 或另外存储(举例来说)以有助于确保在带宽可用于发送所述数据之前不会丢失或丢 弃所述数据。
在某些实施例中,数据通信系统410包括模式或简档指示符。举例来说,所述模 式指示符可代表数据通信系统410的当前模式或状态。如上文所论述,数据通信系统 410可使用规则及模式或简档来执行处理量管理功能,例如优化可用带宽、设定信息 优先级及管理网络中的数据链路。举例来说,不同的模式可影响规则、模式及/或数 据传送的变化。模式或简档可包括与特定的网络健康状态或条件的操作需要相关的一 组规则。举例来说,不同的模式可具有与其相关联的不同规则。也就是说,可在模式 A中使用一组规则,且可在模式B中使用不同但可能重叠的规则组。模式或简档可包
13括与特定的网络健康状态或条件的操作需要相关的一组规则。在某些实施例中,可至 少部分地基于模式或简档来选择经选择以应用到数据及/或通信的规则。举例来说, 数据通信系统410可提供模式的动态重新配置,包括"在进行中"定义及切换到新模 式。
在某些实施例中,数据通信系统410对于其它应用是透明的。举例来说,数据通 信系统410所执行的处理、组织及/或优先等级确定对于一个或一个以上源节点420 或其它应用或数据源可以是透明的。举例来说,在与数据通信系统410相同的系统上 或在连接到数据通信系统410的源节点420上运行的应用程序可能不知道数据通信系 统410所执行的数据优先等级确定。
经由数据通信系统410传递数据。举例来说,可将所述数据传递到一个或一个以 上目的地节点430。举例来说,可经由一个或一个以上链路传递所述数据。举例来说, 可经由到无线电装置的战术数据网络通过数据通信系统410传递所述数据。作为另一 实例,数据通信系统410可通过进程间通信机构向在同一系统上运行的应用程序提供 数据。
如上文所论述,举例来说,可单独或以各种形式的组合在硬件、固件中及/或作 为软件中的指令集实施数据通信系统410的组件、元件及/或功能性。可将某些实施 例提供为驻存在计算机可读媒体(例如,存储器、硬盘、DVD或CD)上的指令集, 以在通用计算机或其它处理装置上执行。
在某些实施例中,可经由具有用于数据传送的受限制带宽及/或可用性的通信连 接来传递数据。举例来说,所述连接可实施关于数据选择、更新频率、拥塞控制及/ 或优先等级确定的规则。规则及/或格式的可变性可有助于提高经由所述连接的通信 的效率。举例来说,可在模式或简档中规定所述规则、格式及/或其它参数。举例来 说,所述模式/简档可自动由通信系统中的软件产生,可由管理员或技术员产生,可 由用户产生及/或可提供为默认。在某些实施例中,举例来说,所述模式/简档可由软 件、管理员及/或用户修改。
在某些实施例中,基于模式或简档来管理(例如,动态地管理)系统中节点之间 的链路。举例来说,模式包括用于控制数据在网络链路上向及从传送层的传播的规则 集合及配置信息。通信系统检测网络健康(例如,可用带宽、数据业务、缓冲器淹没 等)且动态地命令所述系统在适当的模式中操作。另外,随着操作情景改变,可命令 所述通信系统改变模式。可人工及/或自动命令所述系统改变模式。举例来说,模式 规定处理量管理规则、归档配置、预传输及传输后规则及/或传送选择。因此,举例 来说,可在OSI协议堆栈的表示层及会话层处启用透明链路管理。
在某些实施例中,简档及/或其它表示法提供对通信系统可在其中操作的操作情 景或模式的描述。所述通信系统可基于所述通信系统的操作环境来切换为一个或一个 以上不同的模式。举例来说,如果通信系统用户受到攻击,那么所述系统可在攻击模 式中操作。如果用户正在撤退,那么所述系统可在撤退模式中操作。如果用户正在巡逻,那么所述系统可在巡逻模式中操作。不同的数据在不同模式中可具有不同的优先 级。不同的网络的不同模式具有不同的特性。因此,举例来说,可基于操作、条件及 /或目标来将系统置于特定模式中。
在某些实施例中,可使用命令(例如,单个命令)来将通信系统置于特定模式中。 举例来说,可人工及/或自动执行所述命令以将通信系统置于某个模式中。举例来说, 不同的命令可对应于不同的模式。单个命令(举例来说)可改变系统的多个特性或参 数。举例来说,特性或参数可包括选择规则、功能冗余规则、归档能力、定序规则、 预传输规则及/或链路特性。因此,可将情形转译为上下文,所述上下文包括"包入" 或并入到所述上下文中的多个参数/设定。在某些实施例中,可实施应用编程接口以 允许基于模式的通信能力与网络操作软件及/或其它高等级决策软件整合。在某些实 施例中,举例来说,用于切换模式的命令可以是话音命令。
举例来说, 一个战斗机可能远离另一战斗机,因此导致降低的信号强度,或天气 可导致所述飞机之间的通信链路的带宽改变。随着所述飞机之间的带宽恶化,在所述 战斗机上运行的网络操作软件指令通信系统切换到不同的模式,例如保持高优先级数 据更高效地流动跨越通信链路的较低带宽模式。
在某些实施例中,简档在定义模式的配置文件的XML文件或XML区段中提供 所述模式的参数。举例来说,模式可由一个或一个以上XML元素定义,且可指令通 信系统选择现有XML模式或XML元素及/或可动态地添加及选择新XML模式。在 某些实施例中,举例来说,基于模式的通信系统可基于通信条件动态地反应以改变现 有模式及/或添加新模式并切换到所述新模式。在某些实施例中,可使用公布及预订 系统来向一个或一个以上服务器(将使其可用于通信)"公布"XML模式文件。另 一选择为, 一个或一个以上DLL可规定简档及/或对应的模式。
在某些实施例中,提供定序算法以服务于数据优先级队列或其它消息数据存储或 保存结构。根据所述定序算法从所述队列中拉出数据且将所述数据传输到网络上。用 户可配置的"成形"能力计量对来自优先级队列的数据进行定序且将所述数据放置到 网络上的速率。因此,某些实施例基于用户定义的数据成形及/或计量参数向用于对 数据进行定序并在网络上传输所述数据的基于QoS的定序机构应用背压。成形及定 序与数据通信网络的QoS解决方案整合。
某些实施例在传入数据上应用背压以使所述数据备份。也就是说,数据比传输出 网络更快地到达网络,从而对传入数据串流产生"压力"。通过"备份"或减缓所述 数据,优先等级确定算法可用于相应地处理所述数据以帮助改善算法有效性、优先级
数据传输及网络健康。因此,举例来说,通过优先等级确定及定序算法可首先识别并 传输较高优先级的数据。
在某些实施例中,背压可至少部分地由用户及/或其它配置参数/偏好定义。在某 些实施例中,举例来说,检验链路速度(例如,通信链路的通信速度或速度能力)及 链路比例(例如,链路携载数据业务的时间比例)以确定将要向传入数据应用的背压。
15举例来说,如果链路速度乘以链路比例低于数据输入速率,那么优先级队列开始备份 以允许优先等级确定算法处理所述数据。举例来说,如果链路速度是l兆位且链路比 例是.5,那么输出是.5兆位。也就是说,将以半兆位的速率将数据馈入到网络。如果 10兆位传入,那么使所述数据入队列,且队列开始填充。较高优先级的数据首先得 到服务,此有助于经由所述网络首先传输所述较高优先级的数据。因此, 一旦应用背 压,那么定序及其它优先等级确定算法连同成形/计量参数对所保存的数据进行定序 以用于传输。举例来说,只要数据速率不超出链路速度乘以链路比例期望值则在网络 上对数据进行定序。在某些实施例中,链路速度及链路比例可由模式、系统参数、用 户偏好及/或操作条件改变。随着链路速度及/或链路比例改变,也可动态地配置及/或 另外调整背压。在某些实施例中,基于链路速度及链路比例来自动调整背压。
在某些实施例中,替代在数据通信系统中创建背压及/或除在数据通信系统中创 建背压以外,可使用系统测量(例如,链路速度乘以链路比例)来划分可用带宽。举 例来说,五个人尝试使用共用的十千位无线电链路,此导致每个人使用可用带宽的两 个千位。可使用成形来将每个人的传输配置到十千位带宽的两个千位。
图5图解说明根据本发明实施例的用于传递数据的方法500的流程图。方法500 包括以下步骤,将在下文中更加详细地说明所述步骤。在步骤510处,使数据入队列。 在步骤520处,将数据流成形。在步骤530处,对数据进行定序。参照上文所说明系 统的元件说明了方法500,但应了解其它实施方案也是可行的。
在步骤510处,使数据入队列或另外暂时存储所述数据。另一选择为及/或除一 个或一个以上队列以外,可使用其它数据结构来保存、存储、组织及/或确定所述数 据的优先等级。举例来说,可使用表格、树或链接表。举例来说,可在网络中的传输 期间及/或在路由到应用之前在目的地节点处接收时,使数据入队列或另外保存/存储 数据以从源节点传输到目的地节点。
可在通信期间使一个或一个以上数据块或数据段入队列,以便基于一个或一个以 上规则及/或准则(其可依据模式)来确定消息的优先等级及/或另外处理所述消息。 举例来说,可以接收消息的次序及/或以替代次序使所述消息入队列。在某些实施例 中,可将消息存储在一个或一个以上队列或其它存储装置中。举例来说,可向所述一 个或一个以上队列指派不同的优先级及/或不同的处理规则。举例来说,所述不同的 优先级及/或规则可基于模式。举例来说,可至少部分地基于操作模式来确定所述队 列中的消息的优先等级及/或另外处理所述消息。
举例来说,所述通信系统可确定经由战术通信网络接收的消息的优先级。举例来 说,所述优先级可基于所述消息的源地址。举例来说,可给予来自与所述通信系统所 属于的排相同的排的成员的无线电装置的消息的源IP地址比源自不同的操作区域中 的不同师中的单元的消息高的优先级。可使用所述优先级来确定应将所述消息放置于 多个队列中的哪一个队列中以供后续传递。举例来说,可将较高优先级的数据放置于 既定保存较高优先级数据的队列中,且所述通信系统在确定下一步传递什么数据时又
16可首先注意所述较高优先级的队列。
在某些实施例中,举例来说,模式或简档指示符可代表所述通信系统的当前模式 或状态。如上文所论述,可使用规则及模式或简档来执行处理量管理功能,例如优化 可用带宽、设定信息优先级及管理网络中的数据链路。举例来说,不同的模式可影响 规则、模式及/或数据传送的变化。模式或简档可包括与特定的网络健康状态或条件 的操作需要相关的一组规则。举例来说,所述通信系统可提供模式的动态重新配置, 包括"在进行中"定义及切换到新模式。
在某些实施例中,消息的优先等级确定对于其它应用是透明的。举例来说,所述 通信系统所执行的处理、组织及/或优先等级确定对于一个或一个以上源节点或其它 应用或数据源可以是透明的。举例来说,在与通信系统相同的系统上或在连接到所述 通信系统的源节点上运行的应用程序可能不知道所述通信系统所执行的消息优先等 级确定。
在步骤520处,成形或计量数据流。如上文所论述,成形确定数据从队列或其它 存储装置输出的速率。成形参数及/或系统时钟数据(举例来说)帮助提供空闲时间 或从所述队列输出数据的速率。经传输位计数及/或其它信息可提供反馈以影响成形 或计量速率。在某些实施例中,用户及/或系统可提供及/或修改成形/计量参数以帮助 支配来自一个或一个以上队列或其它保存/存储装置的数据流。
在步骤530处,对数据进行定序。也就是说,可基于一个或一个以上因素来确定 数据用于传输或其它路由或投送的次序。举例来说,可使用与所述队列及/或其它数 据存储装置相关的信息(例如,内容及/或容量信息)来帮助对数据进行定序。可使 用基于消息内容、传输协议及/或环境/操作信息的一个或一个以上定序规则来帮助对 数据进行定序。可使用成形/计量信息(例如,时钟信息及/或成形参数(例如,用户 及/或系统定义的成形参数))来提供定时信息以帮助对数据进行定序。举例来说, 可向离开队列的数据应用背压以有助于确保不超出某个数据流速率或速度。
举例来说,可单独或以组合在硬件、固件中及/或作为软件中的指令集实施方法 500的步骤中的一者或一者以上。可将某些实施例提供为驻存在计算机可读媒体(例 如,存储器、硬盘、DVD或CD)上的指令集,以在通用计算机或其它处理装置上执 行。
本发明的某些实施例可省略这些步骤中的一者或一者以上及/或以不同于所列次 序的次序执行所述步骤。举例来说,可在本发明的某些实施例中不执行某些步骤。作 为其它实例,可以不同于上文所列次序的时间次序(包括同时)执行某些步骤。
图6图解说明根据本发明实施例的允许数据传输的成形及定序的数据通信系统 600。系统600包括一个或一个以上包括队列统计数据615的队列610、 一个或一个 以上定序规则620、系统时钟630及一个或一个以上成形参数640。
使消息数据入队到一个或一个以上队列610中以允许(除其它以外)确定数据的 优先等级及/或以一速率计量数据流。另一选择为及/或除入队列以外,可使用其它结构(例如,表格、树、链接表及/或其它数据结构)暂时存储、保存或延迟数据。如
图6中所示,可提供多个队列610以保存数据(如图6的队列610中的颜色较深的块 所示)。举例来说,可根据不同的优先级(例如,队列0保存比队列9优先级高的数 据)来组织队列610及/或队列610可以是相等的优先级(例如,不基于优先级区分 队列)。举例来说,系统600可产生关于队列610及/或队列610内的数据的内容、 容量及流动速率的统计数据615。
成形参数640及/或系统时钟数据630 (举例来说)可用于帮助提供空闲时间或从 队列610输出数据的速率。经传输位计数及/或其它信息可提供反馈以影响成形/计量 速率。可使用通信参数(例如,链路速度及/或链路比例)来设定及/或修改所述成形/ 计量速率。在某些实施例中,用户及/或系统可提供及/或修改成形/计量参数或准则640
以帮助支配来自一个或一个以上队列610或其它保存/存储装置的数据流。在传出队 列610的数据上提供背压允许向队列610中的数据应用一个或一个以上服务质量技 术,例如优先级定序及/或冗余分析。
可基于一个或一个以上因素来确定数据用于传输或其它路由或投送的顺序或次 序。举例来说,可使用与队列610及/或其它数据存储装置相关的统计数据615 (例如, 内容及/或容量信息)来帮助对数据进行定序。可使用基于消息内容、传输协议及/或 环境/操作信息的一个或一个以上定序规则及/或准则620来帮助对流出队列610的数 据进行定序。可使用成形/计量信息(例如,时钟信息630及/或成形参数640 (例如, 用户及/或系统定义的成形参数))来提供定时信息以帮助对数据进行定序。举例来 说,然后可将数据从队列610定序及计量到目的地节点。
因此,本发明的某些实施例提供用于在网络中对数据进行计量及定序的系统及方 法。某些实施例提供基于用户定义的数据成形/计量参数向基于QoS的定序机构应用
背压的技术效果。某些实施例提供用户可配置的"成形"能力以计量对来自优先级队 列的数据进行定序且将所述数据放置到网络上的速率。
权利要求
1、一种用于提供数据通信中的服务质量的方法,所述方法包含将数据保存在队列中;基于至少一个定序准则来确定所述队列中的所述数据的顺序;及基于至少一个计量准则来计量所述数据离开所述队列的流动以提供传递与所述至少一个定序准则及所述至少一个计量准则相关的所述数据时的服务质量等级。
2、 如权利要求l所述的方法,其中所述至少一个定序准则包含所述数据的内容 及协议中的至少一者。
3、 如权利要求1所述的方法,其中所述确定步骤进一步包含基于队列统计数据 来确定所述顺序。
4、 如权利要求1所述的方法,其中所述至少一个计量准则包含链路速度及链路 比例中的至少一者。
5、 如权利要求l所述的方法,其中所述计量步骤进一步包含在流出所述队列的 所述数据上应用背压以将数据流的速率减缓到阔值以下。
6、 如权利要求1所述的方法,其中所述至少一个定序准则及至少一个计量准则 中的至少一者是由用户定义的。
7、 一种用于提供数据通信中的服务质量的方法,所述方法包含 暂时保存正被传输的数据;至少基于数据优先级来确定所述数据的顺序;及基于至少一个用户规定的计量准则来计量所述数据的传输以提供传输与所述至 少一个用户规定的计量准则及所述数据优先级相关的所述数据时的用户定义的服务 质量等级。
8、 如权利要求7所述的方法,其中所述数据优先级基于所述数据的内容及协议 中的至少一者。
9、 如权利要求7所述的方法,其中所述至少一个用户规定的计量准则包含链路 速度及链路比例中的至少一者。
10、 如权利要求1所述的方法,其中所述计量步骤进一步包含在所述数据上应用 背压以实现所述数据的优先等级确定及定序以用于传输。
全文摘要
本发明的某些实施例提供用于数据通信的系统及方法。某些实施例提供一种包括以下步骤的方法暂时保存正被传输的数据(510);至少基于数据优先级来确定所述数据的顺序(530);及基于至少一个用户规定的计量准则来计量所述数据的传输,以提供传输所述数据时的服务质量等级(520)。某些实施例提供一种具有供在处理装置上执行的指令集的计算机可读媒体。数据优先级可基于所述数据的内容及协议中的至少一者。所述至少一个用户规定的计量准则可包含链路速度及链路比例中的至少一者。所述计量步骤可包含在所述数据上应用背压以实现所述数据的优先等级确定及定序以用于传输。暂时保存数据可包含将数据保存在队列中。
文档编号H04L12/56GK101502065SQ200780030046
公开日2009年8月5日 申请日期2007年7月12日 优先权日2006年7月14日
发明者唐纳德·L·史密斯, 安东尼·P·加卢希奥, 罗伯特·J·克纳齐克 申请人:贺利实公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1