用于基于功能冗余的服务质量的方法和系统的制作方法

文档序号:7677030阅读:185来源:国知局
专利名称:用于基于功能冗余的服务质量的方法和系统的制作方法
技术领域
目前所描述的技术大体上涉及通信网络。更明确地说,目前所描述的技术涉及用于 服务质量的协议过滤的系统和方法。
背景技术
通信网络用于各种环境中。通信网络通常包括由一个或一个以上链路所连接的两个 或两个以上节点。 一般来说,通信网络用以支持介于所述链路上的两个或两个以上参与 节点与所述通信网络中的中间节点之间的通信。在所述网络中可能有许多种节点。例如, 网络可包括例如客户端、服务器、工作站、交换器和/或路由器等节点。链路可为(例如) 经由电话线的调制解调器连接、线路、以太网链路、异步传送模式(ATM)电路、卫星 链路和/或光纤电缆。
通信网络实际上可由一个或一个以上较小的通信网络组成。例如,经常将因特网描 述为互连计算机网络的网络。每一网络可利用不同的结构和/或拓扑。例如, 一个网络可 为具有星状拓扑的交换以太网,而另一网络可为光纤分布式数据接口 (FDDI)环。
通信网络可载送各式各样的数据。例如,网络可载送与用于交互实时交谈的数据并 排的大量文件传送。在网络上所发送的数据经常以包、小区或帧来发送。或者,数据可 发送为一串流。在某些实例中,数据串流或流实际上可为包序列。例如因特网的网络在 一范围的节点之间提供通用数据路径,并载送具有不同需求的庞大数据阵列。
经由网络的通信通常涉及多个等级的通信协议。协议堆栈(也称为联网堆栈或协议 组(protocol suite))是指用于通信的协议的集合。每一协议可着重于一特定类型的通信 能力或形式。例如, 一个协议可关于与由铜线所连接的装置通信所需的电信号。其它协 议可解决例如在由许多中间节点分隔开的两个节点之间的排序和可靠传输。
协议堆栈中的协议通常存在于一层级中。协议经常被分类成若干层。协议层的一种 参考模型是开放系统互连(OSI)模型。所述OSI参考模型包括七层物理层、数据链 路链接层、网络层、传送层、会话层、表示层以及应用层。所述物理层是"最低"层, 而所述应用层是"最高"层。两种众所周知的传送层协议是传输控制协议(TCP)与用 户数据报协议(UDP)。 一种众所周知的网络层协议是因特网协议(IP)。
在传输节点处,待传输的数据从最高到最低向下通过协议堆栈的层。相反地,在接收节点处,数据从最低到最高向上通过所述层。在每一层处,所述数据可由所述层处处 置通信的协议来操控。例如,传送层协议可向所述数据添加一标头,其允许在到达目的 地节点后对包进行排序。视应用而定,可能不使用某些层,或即使存在,却仅可使数据 通过。
一种通信网络是战术数据网络。战术数据网络也可称为战术通信网络。战术数据网 络可由例如军队(例如,陆军、海军和/或空军)的编制内的单元所利用。战术数据网络 内的节点可包括(例如)单兵、飞机、指挥单元、卫星和/或无线电。战术数据网络可用 于传送数据,例如语音、位置遥测、传感器数据和/或实时视频。
可如何运用战术数据网络的实例如下。后勤护卫在野地里可沿途为战斗单元提供供 应。所述护卫与所述战斗单元两者均可通过卫星无线电链路提供对指挥哨所的位置遥 测。无人飞行载具(UAV)可沿所述护卫行经的路巡逻,且还将实时视频数据通过卫星 无线电链路传输到所述指挥哨所。在所述指挥哨所处,在管理员要求所述UAV对特定 路段提供视频的同时分析员可检视视频数据。所述分析员随后可能发现所述护卫正逐渐 接近的临时爆炸装置(IED),并通过直接无线电链路向所述护卫发送出停止行进的命令, 且告知所述护卫有正D出现。
在战术数据网络内可能存在的各种网络可具有许多不同结构与特性。例如,指挥单 元中的网络可包括千兆位以太网局域网(LAN)连同以较低的处理量和较高的等待时间 来运作的到卫星与野地单元的无线电链路。野地单元可经由卫星与直接路径射频(RF) 两者来通信。视数据的本质和/或网络的特定物理特性而定,数据可点对点、多播或广播 发送。网络可包括(例如)经设置以中继数据的无线电。此外,网络可包括允许长距离 通信的高频(HF)网络。例如,还可使用微波网络。除了其它原因之外,由于链路与节 点的类型的多样性,战术网络经常具有极度复杂的网络寻址方案与路由表。此外,某些 网络(例如基于无线电的网络)可使用突发来操作。即,不是连续地传输数据,而是发 送周期性的数据突发。这是有用的,因为所述无线电是在由参与者所共享的特定信道上 进行广播,且一次有一个无线电可传输。
战术数据网络通常具有带宽限制。即,在任何给定的时间点待传送的数据通常会比 可用带宽多。这些限制可能由于例如对带宽的需求超过供应,和/或可用通信技术无法供 应足够的带宽以满足用户的需要。例如,在某些节点之间,带宽可处于约千位/秒。在具 有带宽限制的战术数据网络中,较不重要的数据可阻塞所述网络,进而妨碍较重要数据 及时地通过,或甚至完全妨碍到达接收节点。此外,所述网络的部分可包括内部缓冲以 补偿不可靠的链路。这可导致额外的延迟。此外,当缓冲器变满时,数据可能被丢弃。宽。例如,卫星通信链路上可用的带宽可能 是固定的且在没有部署另一卫星的情况下无法有效地增加。在这些情形中,带宽必须加 以管理而非单纯地扩充以迎合需求。在较大的系统中,网络带宽是重要资源。需要应用 尽可能有效地利用带宽。此外,当带宽有限时,需要应用避免"阻塞管道"(即,以数 据淹没链路)。当带宽分配改变时,应用优选地应作出反应。带宽可因(例如)服务质 量、拥塞、信号阻碍物、优先级再分配和视线而动态改变。网络可为高度易变的,且可 用带宽可动态地且无预警地改变。
除了带宽限制外,战术数据网络可经历高等待时间。例如,涉及卫星链路上的通信 的网络可蒙受约半秒或更久的等待时间。对某些通信来说,这可能并不构成问题,然而 对例如实时、交互通信(例如,语音通信)等其它通信来说,非常希望能尽可能最小化 等待时间。
许多战术数据网络常见的另一特性是数据损失。数据可能因各种理由而损失。例如, 具有待发送的数据的节点可能遭损害或毁坏。作为另一实例,目的地节点可能临时脱离 网络。这可能因为(例如)节点己经移动超出范围、通信的链路遭阻碍和/或节点被拥塞 而发生。数据可能因目的地节点无法接收数据且中间节点在所述目的地节点变成可用之 前缺乏足够能力来缓冲所述数据而损失。此外,中间节点可能根本无法缓冲所述数据, 而是任其离开到发送节点,以确定所述数据实际上是否曾经到达目的地。
在战术数据网络中的应用经常不知道和/或不考虑到网络的特定特性。例如, 一应用 可能简单地认为其具有与其所需一样多的可用的带宽。作为另一实例, 一应用可认为在 网络中将不会损失数据。未考虑基本通信网络的特定特性的应用可能采用实际上使问题 恶化的方式来运作。例如, 一应用可持续发送一数据串流,其可恰好与以较大批次较低 频率发送一样有效。所述连续串流可能在(例如)广播无线电网络中导致大得多的额外 开销而有效地使其它节点无法通信,而较低频率的突发将会允许更有效地使用共享带
宽o
某些协议在战术数据网络上无法运作得很好。例如,例如TCP的协议因为此网络可 能遭遇的高损失率与等待时间而无法在基于无线电的战术网络上充分发挥功能。TCP需 要发生若干形式的信号交换和确认以发送数据。高等待时间与损失可导致TCP遇到超时 且无法通过此网络发送许多(如果有的话)有意义的数据。
用战术数据网络传送的信息相对于网络中的其它数据经常具有各种优先级等级。例 如, 一架飞机里的威胁警告接收器可具有的优先级高于地面上数英里之外部队的位置遥 测信息。作为另一实例,来自负责交战的司令部的命令具有的优先级可高于友好线后方
6的后勤通信。所述优先级等级可取决于发送器和/或接收器的特定情形。例如,位置遥测 数据在单元积极参与作战时可比所述单元仅沿标准巡逻路线行进时具有更高的优先级。 类似地,来自UAV的实时视频数据在其是在目标区域上时可比其仅在途中时具有更高 的优先级。
存在若干种通过网络传递数据的方法。 一种由许多通信网络使用的方法是"尽力服 务(best-effort)"方法。艮P,如果有其它需求(关于能力、等待时间、可靠性、排序和 误差),所述网络将竭尽所能地妥善处理所传送的数据。因此,所述网络对任何给定条 数据将及时到达其目的地不(或丝毫不)提供保证。此外,也不保证数据将以被发送次 序或甚至在没有传输误差改变数据中的一个或一个以上位的情况下到达。
另一方法是服务质量(QoS)。 QoS是指网络对所载送的数据提供各种形式的保证的 一种或一种以上能力。例如,支持QoS的网络可对一数据串流保证特定量的带宽。作为 另一实例,网络可保证在两个特定节点之间的包具有某一最大等待时间。此保证在其中 所述两个节点是通过网络进行交谈的两个人的语音通信的情况中可能有用。在此情况中 数据传递的延迟可能导致(例如)通信的恼人间断和/或完全静默。
QoS可视为网络提供对选定的网络业务的较好服务的能力。QoS的主要目的是提供 包括专用带宽、受控抖动与等待时间(某一实时与交互业务所需要的)和改进的损失特 性的优先级。另一重要目的是确保为一个流提供优先级不会使其它流失效。即,对后续 流所作的保证不能破坏对现有流所作的保证。
目前针对QoS的方法经常需要网络中的每一节点均支持QoS,或至少需要所述网络 中涉及特定通信的每一节点支持QoS。例如,在目前系统中,为了在两个节点之间提供 等待时间保证,在那两个节点之间载送业务的每一节点必须知道并同意兑现以及能够兑 现所述保证。
存在若干种提供QoS的方法。 一种方法是整合服务(或"IntServ")。整合服务提供 一种QoS系统,其中网络中的每一节点支持所述服务,且当建立连接时保留那些服务。 整合服务因每一节点处必须维持的大量状态信息以及与建立此类连接相关联的额外开 销而无法妥善调整。
另一种提供QoS的方法是区分服务(或"DiffServ")。区分服务是一类增强例如因 特网等网络的尽力服务的服务模型。区分服务依据用户、服务要求与其它准则而区分业 务。然后,区分服务标记包,使得网络节点可经由优先级排队或带宽分配,或通过针对 特定业务流选择专用路线而提供不同等级的服务。通常,节点针对每一类服务具有多种 队列。所述节点随后基于种类类别而从那些队列中选择下一个要发送的包。现有QoS解决方案经常是网络特定的且每一网络类型或结构可能需要不同的QoS 配置。由于现有QoS解决方案利用的机制的缘故,目前QoS系统看起来相同的消息实 际上可基于消息内容而具有不同的优先级。然而,数据消费者可能需要在不被较低优先 级数据淹没的情况下存取高优先级数据。现有QoS系统在传送层处无法基于消息内容提 供QoS。
如所提及,现有QoS解决方案需要至少涉及特定通信的节点来支持QoS。然而,在 网络的"边缘"处的节点可适合于提供QoS的某一改进,即便其无法完全保证。如果节 点是通信中的参与节点(即,传输和/或接收节点)和/或如果其位于网络中的阻塞点, 那么认为所述节点在网络的边缘处。阻塞点是其中所有业务均必须通过以到达另一部分 的网络区段。例如,从LAN到卫星链路的路由器或网关将为阻塞点,因为从所述LAN 到任何不在所述LAN上的节点的全部业务均必须通过所述网关以到达所述卫星链路。
因此,需要在战术数据网络中提供QoS的系统和方法。需要用于在战术数据网络的 边缘上提供QoS的系统和方法。此外,需要在战术数据网络中的自适应、可配置的QoS 系统和方法。

发明内容
本发明的某些实施例提供一种用于数据通信的方法。所述方法包括接收第一数据 集,并将所述第一数据集存储在队列中。所述方法还包括接收第二数据集。接着,所述 方法包括基于冗余规则确定是否对所述第二数据集执行功能冗余处理。所述冗余规则可 由选定模式来控制。接着,所述方法包括搜索所述队列以寻找所述第一数据集,并基于 所述冗余规则确定所述第一数据集对所述第二数据集是否为功能冗余。如果所述第一数 据集对所述第二数据集为功能冗余,那么从所述队列丢弃所述第一数据集并将所述第二 数据集添加到所述队列。在一实施例中,当所述第一数据集由所述第二数据集取代时, 保留所述队列中的点。在另一实施例中,将所述第二数据集添加到所述队列的末端。
本发明的某些实施例提供一种计算机可读媒体,其具有供在处理装置上执行的指令 集。所述指令集包括用于接收第一数据集与第二数据集的接收例行程序。所述指令集还 包括用于在队列中存储所述第一数据集的存储例行程序。所述指令集还包括用于基于冗 余规则确定是否对所述第二数据集执行功能冗余处理的确定例行程序。所述冗余规则由 选定模式来控制。所述指令集还包括用于搜索所述队列以寻找第一数据集并基于所述冗 余规则确定所述第一数据集对所述第二数据集是否为功能冗余的搜索例行程序。如果所 述第一数据集对所述第二数据集为功能冗余,那么从所述队列丢弃所述第一数据集并将
8所述第二数据集添加到所述队列。
本发明的某些实施例包括一种用于数据通信的方法,所述方法包含接收第一数据集 和接收第二数据集。所述方法还包括检视选定模式以确定是否对所述第二数据集执行功 能冗余处理。所述选定模式具有用于确定是否执行功能冗余处理的冗余规则集。所述方 法还包括通过确定所述第二数据集对所述第一数据集是否为功能冗余来执行功能冗余 处理。根据所述冗余规则集所述第二数据集对所述第一数据集为功能冗余。如果所述第 一数据集对所述第二数据集为功能冗余,那么从队列丢弃所述第一数据集并将所述第二 数据集添加到所述队列。


图1说明以本发明的实施例来操作的战术通信网络环境。
图2展示根据本发明实施例的数据通信系统在七层OSI网络模型中的定位。
图3描绘根据本发明实施例使用数据通信系统促进的多个网络的实例。
图4说明以本发明的实施例来操作的数据通信环境。
图5说明以本发明的实施例来操作的数据通信环境。
图6说明根据本发明实施例的流程图。
图7说明根据本发明实施例的流程图。
图8说明根据本发明实施例的方法。
图9说明根据本发明实施例的方法。
结合附图阅读时将更好地了解以上发明内容以及以下本发明的某些实施例的详细 描述。出于说明本发明的目的,在图中展示某些实施例。然而,应了解,本发明不限于 附图中所展示的布置和手段。
具体实施例方式
图1说明以本发明实施例来操作的战术通信网络环境100。所述网络环境100包括 多个通信节点110、 一个或一个以上网络120、连接所述节点与网络的一个或一个以上 链路130,以及一个或一个以上通信系统150,所述通信系统150通过所述网络环境100 的组件来促进通信。以下论述假定网络环境IOO包括一个以上网络120与一个以上链路 130,但应了解,可能且预期有其它环境。
通信节点110可以是和/或包括(例如)无线电、传输器、卫星、接收器、工作站、 服务器和/或其它计算或处理装置。
网络120可以是(例如)用于在节点110之间传输数据的硬件和/或软件。网络120可包括(例如) 一个或一个以上节点110。
链路130可以是用以允许节点110和/或网络120之间的传输的有线和/或无线连接。
所述通信系统150可包括用以促进(例如)节点110、网络120与链路130之间的 数据传输的软件、固件和/或硬件。如图1中所说明,可相对于节点110、网络120和/ 或链路130实施通信系统150。在某些实施例中,每一节点IIO包括通信系统150。在 某些实施例中,一个或一个以上节点IIO包括通信系统150。在某些实施例中, 一个或 一个以上节点IIO可不包括通信系统150。
所述通信系统150提供数据的动态管理以有助于确保战术通信网络(例如,网络环 境IOO)上的通信。如图2所示,在某些实施例中,所述系统150作为所述OSI七层协 议模型中的传送层的一部分而操作和/或在所述传送层的顶部操作。所述系统150可(例 如)给予所述战术网络中传递到所述传送层的较高优先级数据优先。所述系统150可用 以促进单一网络(例如,局域网(LAN)或广域网(WAN))中或跨越多个网络的通信。 多个网络系统的实例展示在图3中。所述系统150可(例如)用以管理可用带宽而非向 所述网络添加额外带宽。
在某些实施例中,所述系统150是软件系统,但所述系统150在各种实施例中可包 括硬件与软件组件两者。所述系统150可(例如)为独立的网络硬件。即,所述系统150 可适合于在各种硬件与软件平台上起作用。在某些实施例中,所述系统150在所述网络 的边缘上而非所述网络内部的节点上操作。然而,所述系统150也可在所述网络内部操 作,例如在所述网络中的"阻塞点"处操作。
所述系统150可使用规则与模式或简档来执行处理量管理功能,例如优化可用带宽、 设定信息优先级与管理网络中的数据链路。优化带宽使用率可包括(例如)移除功能冗 余消息、消息串流管理或定序和消息压縮。就"优化"带宽来说,其指可运用目前所描 述的技术来增加用以在一个或一个以上网络中传送数据的带宽的效率。设定信息优先级 可包括(例如)用比基于因特网协议(IP)的技术更精细的粒度来区分消息类型和经由 基于选定规则的定序算法将消息定序到数据串流上。数据链路管理可包括(例如)基于 规则的对网络测量的分析以影响规则、模式和/或数据传送的改变。模式或简档可包括关 于特定网络健康状态或条件的操作需要的规则集。所述系统150提供对模式的动态、"运 行中"重新配置,其包括在运行中定义并切换到新模式。
所述通信系统150可经配置以适应改变(例如)在易变、带宽有限的网络中服务的 优先级与等级。所述系统150可经配置以管理改进数据流的信息,进而有助于增加网络 中的响应能力并縮短通信等待时间。此外,所述系统150可经由可升级且可调整的灵活
10结构提供互操作性,以改进通信的可用性、残存性和可靠性。所述系统150 (例如)在 使用预定义与可预测系统资源和带宽时支持可自主适应动态改变环境的数据通信结构。
在某些实施例中,所述系统150在使用网络以保持对应用透明时提供对有带宽限制 的战术通信网络的处理量管理。所述系统150提供网络复杂度降低的跨越多个用户与环 境的处理量管理。如上所提及,在某些实施例中,所述系统150运行在所述OSI七层模 型中的主机节点上和/或在所述OSI七层模型的第四层(传送层)的顶部,且无需专门 的网络硬件。所述系统150可对第四层接口透明地操作。g卩,应用可针对所述传送层利 用标准接口,且不知晓所述系统150的操作。例如,当应用打开套接字(socket)时, 所述系统150可在协议堆栈中的此点处过滤数据。所述系统150通过允许应用使用(例 如)由在所述网络上的通信装置处的操作系统所提供的TCP/IP套接字接口而非所述系 统150特有的接口来实现透明度。系统150规则可(例如)以可扩展标记语言(XML) 来编写和/或经由定制的动态链接程序库(DLL)来提供。
在某些实施例中,所述系统150在所述网络的边缘上提供服务质量(QoS)。所述系 统的QoS能力(例如)在网络的边缘上提供基于内容、基于规则的数据优先化。优先化 (例如)可包括区分和/或定序。所述系统150 (例如)可基于用户可配置的区分规则将 消息区分成队列。所述消息以用户配置的定序规则(例如,资源缺乏、循环、相对频率 等)所指定的次序而定序成数据串流。使用边缘上的QoS,传统QoS方法无法辨识的数 据消息可(例如)基于消息内容来区分。规则可(例如)以XML来实施。在某些实施 例中,为了适应超越XML的能力和/或支持极低的等待时间要求,所述系统150允许动 态链接程序库(例如)具有定制码。
网络上的入站和/或出站数据可经由所述系统150来定制。优先化保护客户端应用免 于(例如)高容量、低优先级数据。所述系统150有助于确保应用接收数据以支持特定 的操作情景或限制。
在某些实施例中,当主机连接到包括作为到有带宽限制的战术网络的接口的路由器 的LAN时,所述系统可通过代理以称为QoS的配置操作。在此配置中,前往本地LAN 的包绕过所述系统并立即去往所述LAN。所述系统在所述网络的边缘上对前往有带宽限 制的战术链路的包应用QoS。
在某些实施例中,所述系统150经由命令简档切换提供对多个操作情景和/或网络环 境的动态支持。简档可包括名称或允许用户或系统改变到巳命名简档的其它识别符。简 档还可包括(例如) 一个或一个以上识别符,例如功能冗余规则识别符、区分规则识别 符、归档接口识别符、定序规则识别符、预传输接口识别符、后传输接口识别符、传送识别符和/或其它识别符。功能冗余规则识别符规定(例如)从如陈旧数据或实质上类似 的数据检测功能冗余的规则。区分规则识别符规定(例如)将消息区分成队列以便进行 处理的规则。归档接口识别符规定(例如)到归档系统的接口。定序规则识别符识别控 制队列前端的样本和(因此)数据串流上的数据定序的定序算法。预传输接口识别符规 定用于预传输处理的接口,其(例如)提供特殊处理,例如加密与压縮。后传输接口识 别符识别用于后传输处理的接口,其(例如)提供例如解密与解压缩的处理。传送识别 符规定用于选定的传送的网络接口。
简档还可包括(例如)其它信息,例如队列调整大小信息。队列调整大小信息识别 (例如)队列的数目和专用于每一队列的存储器与次级存储装置的量。
在某些实施例中,所述系统150提供用于优化带宽的基于规则的方法。例如,所述 系统150可运用队列选择规则以将消息区分成消息队列,使得可在数据串流上为消息指 派优先级与适当相对频率。所述系统150可使用功能冗余规则来管理功能冗余消息。如 果消息(例如)与尚未在网络上发送的先前消息差异不足(由所述规则来定义),那么 其为功能冗余。S卩,如果提供了与已经调度而待发送但尚未发送的较旧消息差异不充足 的新消息,那么可丢弃较新的消息,因为所述较旧消息将载送功能等效信息且在所述队 列中更居前。此外,功能冗余可包括实际复制的消息和在较旧消息己被发送之前到达的 较新消息。例如,节点可因基本网络的特性而接收特定消息的相同副本,例如因故障容 限的理由而以两个不同路径发送的消息。作为另一实例,新消息可包含取代尚未被发送 的较旧消息的数据。在此情形中,所述系统150可丢弃所述较旧消息并仅发送所述新消 息。所述系统150还可包括确定数据串流的基于优先级的消息序列的优先级定序规则。 此外,所述系统150可包括提供预传输与后传输特殊处理(例如压缩和/或加密)的传输 处理规则。
在某些实施例中,所述系统150提供故障容限能力以有助于保护数据完整性与可靠 性。例如,所述系统150可使用用户定义的队列选择规则以将消息区分成队列。根据(例 如)用户定义的配置调整所述队列的大小。所述配置规定(例如)队列可消耗的最大存 储器量。此外,所述配置可允许用户规定可用于队列溢出的次级存储装置的位置与量。 在填充所述队列中的存储器之后,消息可排队于次级存储装置中。当所述次级存储装置 也为满时,所述系统150可移除所述队列中的最旧消息,记录错误消息,并排队最新消 息。如果针对所述操作模式启用归档,那么出队的消息可用所述消息未在所述网络上发 送的指示符来归档。
所述系统150中队列的存储器与次级存储装置可(例如)针对特定应用在每链路基
12础上配置。网络可用性周期之间的较长时间可对应于较多存储器和次级存储装置以支持 网络损耗。所述系统150可与(例如)网络模型化与模拟应用集成以有助于识别调整大 小,进而有助于确保适当调整队列的大小且损耗之间的时间足以有助于实现稳定状态并 有助于避免最终队列溢出。
此外,在某些实施例中,所述系统150提供计量入站("整形(shaping)")和出站 ("管制(policing)")数据的能力。管制与整形能力有助于解决网络中时序上的失配。整 形有助于防止网络缓冲器免于被排队等候在较低优先级数据之后的高优先级数据淹没。 管制有助于防止应用数据消费者被低优先级数据超过。管制与整形受两个参数支配有 效链路速度与链路比例。所述系统150可(例如)形成数据串流,其不超过有效链接速 度乘以链接比例。所述参数可随网络改变而动态修改。所述系统还可提供对所检测链接 速度的存取,以支持关于数据计量的应用层决策。由所述系统150提供的信息可结合其 它网络操作信息以有助于决定何种链接速度适合于给定网络情景。
图4说明以本发明实施例来操作的数据通信环境400。所述环境400包括一个或一 个以上源节点420、 一数据通信系统410与一个或一个以上目的地节点430。所述数据 通信系统410与所述源节点420和所述目的地节点430进行通信。所述数据通信系统410 可(例如)通过链路(例如线路、无线电、卫星、网络链路)和/或通过处理间通信与所 述源节点420和/或目的地节点430通信。在某些实施例中,所述数据通信系统410可通 过一个或一个以上战术数据网络与一个或一个以上源节点420和/或目的地节点430通 信。所述系统400的组件可为单一单元、独立单元,可以各种形式集成,且可在硬件和 /或软件中实施。
所述数据通信系统410可(例如)类似于上文描述的通信系统150。在某些实施例 中,所述数据通信系统410适合于接收来自所述一个或一个以上源节点420的数据。在 某些实施例中,所述数据通信系统410可包括用于存储计算机指令和规则的存储器单元 和/或数据库。所述数据通信系统410还可包括用于处理数据、规则与指令的处理器。在 某些实施例中,所述数据通信系统410可包括用于存储、组织和/或优先化数据的一个或 一个以上队列。或者,可使用其它数据结构来存储、组织和/或优先化数据。例如,可使 用表、树或链接列表。在某些实施例中,所述数据通信系统410适合于将数据传送到所 述一个或一个以上目的地节点430。
在某些实施例中,所述数据通信系统410对其它应用是透明的。例如,由所述数据 通信系统410执行的处理、组织和/或优先化对一个或一个以上源节点420或其它应用或 数据源可为透明的。例如,在与数据通信系统410相同的系统上或在连接到所述数据通信系统410的源节点420上运行的应用可不知晓由所述数据通信系统410执行的数据优 先化。
所述数据通信系统410的组件、元件和/或功能性(例如)可单独或以各种形式组合 而实施在硬件、固件中和/或作为软件中的指令集来实施。某些实施例可提供为驻存在计 算机可读媒体(例如存储器、硬盘、DVD或CD)上的指令集,以用于在通用计算机或 其它处理装置上执行。
所述源节点420可包括用以收集数据或遥测信息的传感器或测量装置。例如,所述 源节点420可为用以指示移动运载工具(例如坦克、悍马(hunwee)单元、人员运送器 或单兵)的位置数据的全球定位系统传感器。在另一实例中,所述源节点420可为摄影 单元,例如获取视频或图像的视频或静态图片相机。在另一实例中,所述源节点可为通 信模块,例如无线电或麦克风。所述目的地节点430可为对所述源节点420所获取的数 据有兴趣的任何装置或系统。例如,所述目的地节点430可为指挥哨所或侦察单元所利 用的接收器、中央计算机系统和/或计算机。
数据通信系统410所接收、存储、优先化、处理、传送和/或传输的数据可包括数据 块。所述数据块可为(例如)包、小区、帧和/或串流。例如,所述数据通信系统410 可接收来自源节点420的数据包。作为另一实例,所述数据通信系统410可处理来自源 节点420的数据串流。
在某些实施例中,数据包括协议信息。例如, 一个或一个以上协议可使用所述协议 信息来传送数据。所述协议信息可包括(例如)源地址、目的地地址、源端口、目的地 端口和/或协议类型。所述源和/或目的地地址可为(例如)源节点420和/或目的地节点 430的IP地址。所述协议类型可包括用于一个或一个以上数据通信层的协议种类。例如, 所述协议类型可为传送协议,例如传输控制协议(TCP)、用户数据报协议(UDP)或串 流控制传输协议(SCTP)。作为另一实例,所述协议类型可包括因特网协议(IP)、网络 间包交换(IPX)、以太网、异步传送模式(ATM)、文件传送协议(FTP)和/或实时传 送协议(RTP)。在某些实施例中,数据还可包括时间戳信息。所述时间戳信息可指示(例 如)所述源节点420的数据获取时间。
在某些实施例中,数据包括标头和有效负载。所述标头(例如)可包括所述协议信 息与所述时间戳信息的一些或全部。在某些实施例中,所述协议信息与所述时间戳信息 的一些或全部包括在所述有效负载中。例如,协议信息可包括关于数据块的有效负载部 分中所存储的较高层级协议的信息。在某些实施例中,数据在存储器中并不连续。艮口, 数据的一个或一个以上部分可位于存储器的不同区域中。例如,协议信息可存储在存储器的一个区域中,而所述有效负载存储在另一缓冲器中,且所述时间戳信息存储在又一 缓冲器中。
在一实施例中,所述源节点420与所述数据通信系统410可为同一移动单元的一部 分。移动单元可为坦克、悍马单元、人员运送器、单兵、无人飞行载具(UAV)或其它 移动单元。坦克可具有用以将位置数据指示为源单元420的GPS传感器。所述位置数据 可传送到所述数据通信系统410。所述数据通信系统410可位于所述坦克上。所述数据 通信系统410可制备用于传送到所述目的地节点430的数据。作为用于传送到所述目的 地节点的制备的一部分,所述数据通信系统410可执行某一形式的网络接入协议。所述 网络接入协议可包括请求来自控制单元的网络接入权、感测载波可用性或其它形式的接 入控制。
在一实例中,所述数据通信系统410尝试要获取接入权的网络可能有带宽限制。此 外, 一个或一个以上链路可能不可靠和/或间歇性中断。因此,所述数据通信系统410 可临时将从所述源420接收的数据排队,直到所述数据通信系统410己能够接入网络以 将数据传送到所述目的地430为止。例如,所述源420可获取第一数据集。所述源420 可将所述第一数据集传送到所述数据通信系统410。所述数据通信系统410目前可能并 不具有用以将所述第一数据集传输到所述目的地430的网络接入权。接着,所述第一数 据集可临时在队列中排队,直到所述数据通信系统410具有网络接入权为止。所述源同 时可获取第二数据集。所述第二数据集可被传送到所述数据通信系统410。所述数据通 信系统410可能尚未具有用以将所述第一数据集或所述第二数据集传输到所述目的地 430的网络接入权。如果所述数据属于其中所述数据的时序为相关的类型(例如,最新 数据与所述目的地430相关,例如位置数据),那么所述第一数据集不再相关。换句话 说,鉴于所述第二数据集,所述第一数据集已变为功能冗余。因此,传输所述第一数据 集到所述目的地430可无需消耗网络带宽。
在另一实例中,源可获取第一数据集并将所述第一数据集传送到所述数据通信系统 410。所述数据通信系统410目前可能或可能不具有用以将所述第一数据集传输到所述 目的地430的网络接入权。如果所述数据通信系统410具有对网络的接入权,那么所述 数据通信系统410可将所述第一数据集传输到所述目的地430。所述源420可获取第二 数据集。所述数据通信系统410目前可能或可能不具有用以将所述第二数据集传输到所 述目的地430的网络接入权。如果所述数据通信系统410具有对网络的接入权,那么所 述数据通信系统410可将所述第二数据集传输到所述目的地430。如果所述数据属于其 中获取时间使所述数据在连续获取之间改变相对较小量的类型(例如由无人飞行载具(UAV)从地面上5000英尺处每秒钟所拍摄的图片),那么连续数据集可能为功能冗余 的,换句话说主要俘获同一图像。因此,传输所述连续数据集到所述目的地430可无需 消耗网络带宽。
在另一实例中,源可获取第一数据集并将所述第一数据集传送到所述数据通信系统 410。所述数据通信系统410目前可能或可能不具有用以将所述第一数据集传输到所述 目的地430的网络接入权。如果所述数据通信系统410具有对网络的接入权,那么所述 数据通信系统410可将所述第一数据集传输到所述目的地430。所述源420可获取第二 数据集。所述数据通信系统410目前可能或可能不具有用以将所述第二数据集传输到所 述目的地430的网络接入权。如果所述数据通信系统410具有对网络的接入权,那么所 述数据通信系统410可将所述第二数据集传输到所述目的地430。如果所述第一数据集 的内容与所述第二数据集的内容相同和/或类似(例如预期具有音频分量的数据集中缺少 音频分量),那么所述连续数据集可能为功能冗余的。因此,传输所述连续数据集到所 述目的地430可无需消耗网络带宽。
图5说明以本发明实施例来操作的数据通信环境500。所述环境500包括如图4中 所展示的所述数据通信系统410、所述源420和所述目的地430。所述数据通信系统410 经扩展和详述来说明本发明的某些实施例。
如图5中所示,所述数据通信系统410包括一冗余规则数据库510、 一接收器520、 一操作处理器530、 一个或一个以上队列540和一传输器550。所述冗余规则数据库510 与操作处理器530进行通信。所述接收器520与所述操作处理器530和源420进行通信。 所述操作处理器530与所述队列540进行通信。如图5中所示,所述数据通信系统410 可(例如)通过链路(例如线路、无线电、卫星、网络链路),和/或通过处理间通信与 所述源节点420和/或目的地节点430通信。在某些实施例中,所述数据通信系统410 可通过一个或一个以上战术数据网络与一个或一个以上源节点420和/或目的地节点430 通信。所述系统500的组件、所述系统500中的连接与所述系统500可为单一单元、独 立单元,可以各种形式集成,且可在硬件和/或软件中实施。
在一实施例中,所述冗余规则数据库510可为用于将各种规则和/或协议存储并传送 到操作处理器530的数据库。所述冗余规则数据库510和所述冗余规则数据库510与所 述操作处理器530之间所展示的连接代表用于执行操作与存储规则和指令的各种组件和 /或软件。所述接收器520代表各种用于接收来自所述源420的数据的组件和/或软件。 所述操作处理器530代表用以基于所述冗余规则数据库510所传送的规则处理数据并执 行操作的处理器。所述队列540代表各种用于将数据排队的组件和/或软件。所述传输器
16550代表各种用于将数据传输到目的地430的组件和/或软件。
如上文所讨论,数据通信系统410所接收、存储、优先化、处理、传送和/或传输的 数据可包括数据块。所述数据块可为(例如)包、小区、帧和/或串流。例如,所述接收 器520展示为具有数据块。数据集可包括单一数据块,或多个数据块。
在某些实施例中,数据包括协议信息。例如, 一个或一个以上协议可使用所述协议 信息来传送数据。所述协议信息可包括(例如)源地址、目的地地址、源端口、目的地 端口和/或协议类型。所述源和/或目的地地址可为(例如)源节点420和/或目的地节点 430的IP地址。所述协议类型可包括用于一个或一个以上数据通信层的协议种类。例如, 所述协议类型可为传送协议,例如传输控制协议(TCP)、用户数据报协议(UDP)或串 流控制传输协议(SCTP)。作为另一实例,所述协议类型可包括因特网协议(IP)、网络 间包交换(IPX)、以太网、异步传送模式(ATM)、文件传送协议(FTP)和/或实时传 送协议(RTP)。在某些实施例中,数据还可包括时间戳信息。所述时间戳信息可指示(例 如)所述源节点420的数据获取时间。
在某些实施例中,数据包括标头与有效负载。所述标头(例如)可包括所述协议信 息与所述时间戳信息的一些或全部。在某些实施例中,所述协议信息与所述时间戳信息 的一些或全部包括在所述有效负载中。例如,协议信息可包括关于数据块的有效负载部 分中所存储的较高层协议的信息。在某些实施例中,数据在存储器中并不连续。即,数 据的一个或一个以上部分可位于存储器的不同区域中。例如,协议信息可存储在存储器 的一个区域中,而所述有效负载存储在另一缓冲器中,且所述时间戳信息存储在又一缓 冲器中。
在操作中,可由一个或一个以上数据源420提供和/或产生数据集。在所述接收器 520处接收所述数据集。所述数据集可(例如)通过一个或一个以上链路来接收。例如, 可通过战术数据网络从无线电在所述数据通信系统410处接收所述数据集。作为另一实 例,可通过以处理间通信机制在同一系统上运行的应用将数据集提供到所述数据通信系 统410。如上文所讨论,数据集可包括单一数据块,或多个数据块。
在某些实施例中,所述接收器520可将所述数据集传送到操作处理器530。所述操 作处理器530可接收所述数据集并确定是否对所述数据集执行功能冗余处理。所述操作 处理器530可使确定是否对所述数据集执行功能冗余处理基于来自所述冗余规则数据库 510的冗余规则。
在一实施例中,所述冗余规则可以是控制是否对特定数据集执行功能冗余处理且如 果将执行功能冗余处理那么如何执行所述功能冗余处理的规则。基于各种因素由用户所
17选定或由计算机软件所选定的模式可定义适用于所述数据集的冗余规则的"集"。
例如,所述冗余规则可基于由用户所选定的"模式"设定为"开启"或"关闭"。 如上文所讨论,所述数据通信系统410可使用规则和模式或简档来执行处理量管理功能, 例如优化可用带宽、设定信息优先级和管理网络中的数据链路。不同模式(例如)可影 响规则、模式和/或数据传送的改变。模式或简档可包括关于特定网络健康状态或条件的 操作需要的规则集。所述数据通信系统410可提供模式的动态重新配置,包括(例如) 在"运行中"定义并切换到新模式或由用户选择模式。
如果所选定的模式利用冗余规则集,那么所述操作处理器530可分析所述数据集以 基于所述冗余规则确定是否执行功能冗余处理。在一实施例中,可用模式可具有不同的 冗余规则。例如,模式A可具有第一冗余规则集且模式B可具有第二冗余规则集。冗余 规则集可属于单一模式或多个模式。 一模式可包括一个以上冗余规则集。
在确定是否执行功能冗余处理时,所述操作处理器530可读取来自所述数据块的信 息,例如所述数据块的协议信息、有效负载和/或时间戳。如上文所讨论,所述协议信息 可包括(例如)源地址、目的地地址、源端口、目的地端口、协议类型和/或时间戳。如 果(例如)对于所选定的模式,所述冗余规则数据库510中的冗余规则指示应对来自特 定源的数据执行功能冗余,那么所述操作处理器530对来自所述特定源的数据执行功能 冗余处理。例如,所选定的模式的冗余规则可指示对来自源节点A的数据而非来自源节 点B的数据执行功能冗余处理。因此,在此实例中将不会对来自源节点B的数据执行功 能冗余处理。
如果所述操作处理器530确定应对所述数据集执行功能冗余处理,那么所述操作处 理器530可根据所述冗余规则对所述数据集执行功能冗余处理。所述冗余规则可由所述 选定模式来确定。例如,所述冗余规则可指定所述操作处理器530搜索队列540以寻找 源自与目前数据集相同源的数据集。所述冗余规则可指定如果在所述队列中发现来自特 定源的较旧数据集,那么较旧数据集对目前、较新数据集为功能冗余的。或者,所述冗 余规则可指定所述操作处理器530搜索队列540以寻找源自与目前数据集相同源的数据 集。所述冗余规则可指令所述操作处理器检视排队数据集与目前数据集的时间戳信息, 以确定所述排队数据集与所述目前数据集是否包含功能冗余信息。在另一替代方案中, 所述冗余规则可指令所述操作处理检视有效负载信息,以确定所述排队数据集与所述目 前数据集是否具有类似和/或相同功能内容并因此为功能冗余的。
例如,如果第一、较早数据集与第二、较晚数据集是从同一源获取的,那么所述冗 余规则可将所述第一数据集识别成对所述第二数据集为功能冗余的。在另一实例中,如果以少于第一、较早数据集与第二、较晚数据集之间的预定时间周期获取第一数据集与 第二数据集,那么所述冗余规则可将所述第一数据集识别成对所述第二数据集为功能冗 余的。在另一实例中,如果第一、较早数据集与第二、较晚数据集(例如)具有功能类 似和/或相同的内容(例如预期具有音频分量的数据集中缺少音频分量),那么所述冗余 规则可将所述第二数据集识别成对所述第一数据集为功能冗余的。
可归类为功能冗余的数据的实例可为位置数据。源420 (例如GPS指示器)可产 生第一数据集用于在特定时间报告悍马的位置。由于网络限制,所述第一数据集可存储 在所述队列540中。因为所述悍马可能正移动,所述源420可产生报告与所述第一数据 集不同的位置的第二数据集。当所述操作处理器530接收所述第二数据集时,所述操作 处理器530可确定所选定模式针对来自所述源420的位置数据利用功能冗余。
所述操作处理器530随后可搜索所述队列540以确定来自所述源420的数据集是否 存储在所述队列540中。如果来自所述源420的数据集被定位,那么所述操作处理器530 可确定位置数据的第一数据集对位置数据的第二数据集为功能冗余的。所述操作处理器 530可丢弃来自所述队列540的位置数据的较早第一数据集,因为位置数据的第一数据 集(时间上较早获取)现在的精确度低于位置数据的第二数据集(时间上较晚获取)。 所述操作处理器530随后可将位置数据的第二数据集添加到所述队列540。
所述操作处理器530可将所述第二数据集添加到所述队列540,使得所述队列540 的传输次序不会改变。例如,所述第二数据集在所述队列的位置中可取代所述第一数据 集。在一实施例中,当所述第一数据集由所述第二数据集取代时,保留所述队列中的点。 在另一实施例中,将所述第二数据集添加到所述队列的末端。所述操作处理器530可以 先进先出协议将所述第二数据集添加到所述队列540。以此方式,最新位置数据在不使 所述网络负担"旧"且不再精确也不再相关的位置数据的情况下发送到所述目的地430。
可归类为功能冗余的数据的另一实例可为在短时间周期内获取的连续数据集。例 如,无人飞行载具(UAV)可飞行在5000英尺处且每秒钟拍摄一个图片。所述UAV可 飞得相对较慢,因此由所述UAV所拍得的图片彼此实质上并无不同。当在短时间周期 内所拍得的连续图片无法说明新信息时,所述连续图片为功能冗余的。传输功能冗余图 片可无需消耗宝贵带宽。
在为获得更好理解而提供的实例中,UAV可用相机(在此实例中为所述源420)俘 获第一图片(在此实例中为第一数据集),并将所述第一图片传送到所述接收器520。所 述接收器520可将所述第一图片传送到所述操作处理器530。所述操作处理器530可将 所述第一图片传送到所述队列540。所述第一图片可等候于所述队列540中,直到所述传输器550具有网络接入权为止。在某些实施例中,所述传输器550在将来自所述相机 (在此实例中为所述源420)的第二图片(在此实例中为第二数据集)传送到所述操作处 理器530之前可能不具有网络接入权或可能不请求网络接入权。
在接收所述第二数据集之后,所述操作处理器530确定是否对所述第二数据集执行 功能冗余处理。如上文所讨论,所述操作处理器530可读取来自所述数据块的信息,例 如所述数据块的协议信息、有效负载和/或时间戳。所述协议信息可包括(例如)源地址、 目的地地址、源端口、目的地端口、协议类型和/或时间戳。当所述操作处理器530接收 所述第二数据集时,所述操作处理器530可确定所选定模式根据冗余规则对来自所述源 420 (在此实例中为所述UAV上的相机)的数据利用功能冗余。例如,所述冗余规则可 规定时间阈值分离从所述源420传输到所述目的地430的数据集。
所述操作处理器530可搜索所述队列540以确定来自所述源420的数据集是否存储 在所述队列540中。如果来自所述源420的数据集被定位,那么所述操作处理器530可 检视所述第一数据集的时间戳与所述第二数据集的时间戳。所述操作处理器530可确定 所述第一数据集与所述第二数据集之间的获取时间(例如时间戳中所识别)的差异小于 特定时间阈值。如果所述第一数据集与所述第二数据集的获取时间之间的差异小于特定 时间阈值,那么所述操作处理器530可确定所述第一数据集对所述第二数据集为功能冗 余的。所述时间阈值可由选定模式来确定。
在一实施例中,所述操作处理器530可从所述队列540丢弃所述较早的第一数据集
(第一图片),因为时间上较早获取的第一数据集现不如时间上较晚获取的第二数据集
(第二图片)相关。所述操作处理器530随后可将所述第二数据集(第二图片)添加到
所述队列540。所述操作处理器530可将所述第二数据集添加到所述队列540,使得所
述队列540的传输次序不会改变。例如,所述第二数据集在所述队列的所述位置中可取
代所述第一数据集。在一实施例中,当所述第一数据集由所述第二数据集取代时,保留
所述队列中的点。在另一实施例中,将所述第二数据集添加到所述队列的末端。所述操
作处理器530可以先进先出协议将所述第二数据集添加到所述队列540。
可归类为功能冗余的数据的另一实例可为具有相同或类似内容的数据集。如果所述 第一数据集的内容与所述第二数据集的内容相同和/或类似(例如预期具有音频分量的数
据集中缺少音频分量),那么所述连续数据集可为功能冗余的。例如,预期含有音频数 据而未含有音频数据的数据集可指示所述数据集正传输无线电静默。如果无线电静默对 所述目的地430并非有用信息,那么传输含有无线电静默的数据集可无需消耗带宽。因 此,对于其中预期有音频分量的数据集来说,具有极少或不具有任何音频分量的连续数据集可为功能冗余的。
在为获得更好理解而提供的实例中,无线电或麦克风(在此实例中为所述源420) 可获取第一数据集并将所述第一数据集传送到所述接收器520。所述接收器520可将所 述第一数据集传送到所述操作处理器530。所述操作处理器530可将所述第一数据集传 送到所述队列540。所述第一数据集可等候于所述队列540中,直到所述传输器550具 有网络接入权为止。在某些实施例中,所述传输器550在将第二数据集从所述源420传 送到所述操作处理器530之前可能不具网络接入权或可能不请求网络接入权。
在接收所述第二数据集之后,所述操作处理器530确定是否对所述第二数据集执行 功能冗余处理。如上文所讨论,所述操作处理器530可读取来自所述数据块的信息,例 如所述数据块的协议信息、有效负载和/或时间戳。所述协议信息可包括(例如)源地址、 目的地地址、源端口、目的地端口、协议类型和/或时间戳。当所述操作处理器530接收 所述第二数据集时,所述操作处理器530可确定所选定模式根据所述冗余规则对来自所 述源420 (在此实例中为无线电麦克风)的数据利用功能冗余。例如,所述冗余规则可 规定音频分量存在于来自所述源420的数据有效负载中。
所述操作处理器530可搜索所述队列540以确定来自所述源420的数据集是否存储
在所述队列540中。如果来自所述源420的数据集被定位,那么所述操作处理器530可
在所述音频分量的预期位置处检视所述第一数据集的有效负载。所述操作处理器530还
可在所述音频分量的预期位置处检视所述第二数据集的有效负载。所述操作处理器530
可确定所述第一数据集不含有音频分量且所述第二数据集不含有音频分量。如果所述第 一数据集与所述第二数据集两者均不具有音频分量,且两个数据集均预期具有音频分
量,那么传输所述第一与第二数据集两者不会将有用信息传送到所述目的地430。因此,
所述操作处理器540可确定所述第一数据集对所述第二数据集为功能冗余的或所述第二
数据集对所述第一数据集为功能冗余的。
在一实施例中,所述操作处理器530可从所述队列540丢弃所述较早第一数据集。 所述操作处理器530随后可将所述第二数据集添加到所述队列540。所述操作处理器530 可将所述第二数据集添加到所述队列540,使得所述队列540的传输次序不会改变。例 如,所述第二数据集在所述队列的所述位置中可取代所述第一数据集。在一实施例中, 当所述第一数据集由所述第二数据集取代时,保留所述队列中的点。在另一实施例中, 将所述第二数据集添加到所述队列的末端。或者,所述操作处理器530可以先进先出协 议将所述第二数据集添加到所述队列540。
在另一实施例中,所述操作处理器530可丢弃所述队列540中的较晚第二数据集并保留第一数据集。在一实施例中,可能较有效的是,所述操作处理器530丢弃所述第二 数据集而非将所述第二数据集添加到所述队列并丢弃所述第一数据集。在其中所述第一 数据集与所述第二数据集大体含有类似和/或相同内容的实施例中,所述系统500在选择 所述第一数据集或所述第二数据集以用于传输方面可大体并无不同。在其它因素大体相 等的情况下,所述操作处理器530可较有效地操作以传输所述第一数据集并删除所述第 二数据集以获得特定数据。
上述功能冗余的实例仅为实例。可精制所述冗余规则以基于源、时间、有效负载或 其它因素定义冗余数据。所述冗余规则可适用于单一模式或多个模式。 一模式可利用单 一冗余规则集或多个冗余规则集。
图6说明根据本发明实施例操作处理器530的流程图600。在步骤610处,在所述 队列540中已接收并存储第一数据集。第二数据集已经接收并传送到所述操作处理器 530。所述数据通信系统410处于针对来自所述源420的数据利用功能冗余的模式中。 所述操作处理器530操作所述第二数据集。所述操作处理器530的操作可包括确定是否 按照所选定模式所支配基于来自冗余规则数据库510的冗余规则对所述第二数据集执行 功能冗余处理。例如,所述操作处理器530可读取来自所述第二数据集的信息,例如所 述数据集的协议信息、有效负载和/或时间戳。如上文所讨论,所述协议信息可包括(例 如)源地址、目的地地址、源端口、目的地端口、协议类型和/或时间戳。如果(例如) 对于所选定的模式,所述冗余规则数据库510中的冗余规则指示应对目前数据集执行功 能冗余,那么所述操作处理器执行功能冗余处理。
如果所述冗余规则指定待执行功能冗余处理,那么指示所述操作处理器530的功能 性的流程图移动到步骤620。如果所述功能冗余规则指定将不执行功能冗余处理,那么 所述操作处理器530(流程图)移动到步骤640并将所述第二数据集添加到所述队列540。 在一实施例中,当所述第一数据集由所述第二数据集取代时,保留所述队列中的点。在 另一实施例中,将所述第二数据集添加到所述队列的末端。 一旦已将所述第二数据集添 加到所述队列540,所述第二数据集就等待传输到所述目的地430。
在步骤620处,所述操作处理器530根据所述冗余规则搜索所述队列540。在一实 施例中,所述操作处理器530搜索所述队列540以寻找对所述第二数据集为功能冗余的 第一数据集。如上文所解释,所述操作处理器按照所选定模式所指定基于所述冗余规则 数据库510中的规则确定第一数据集对所述第二数据集是否为功能冗余的。作为一实例, 如果所述第一与第二数据集源自同一源,那么所述操作处理器530可决定所述第一数据 集对所述第二数据集为功能冗余的。作为另一实例,如果所述第一与第二数据集源自同
22一源且时间戳之间的差异不大于预定阈值,那么所述操作处理器530可决定所述第一数 据集对所述第二数据集为功能冗余的。作为又一实例,如果所述第一与第二数据集具有 对传输到所述目的地430多次可能无用的共同元件,那么所述操作处理器530可决定所 述第一数据集对所述第二数据集为功能冗余的。
如果在步骤620处,所述操作处理器530在所述队列540中定位到功能冗余数据, 那么所述操作处理器530移动到步骤630。如果在步骤630处,所述操作处理器在所述 队列540中并未定位到功能冗余数据,那么所述操作处理器530移动到步骤640并将所 述第二数据集添加所述队列540以等待传输。
在步骤630处,所述操作处理器530可从所述队列540丢弃所述较早第一数据集。 所述操作处理器530随后可将所述较晚第二数据集添加到所述队列540。在一实施例中, 所述操作处理器530可将所述第二数据集添加到所述队列540,使得所述队列540的传 输次序不会改变。在一实施例中,当所述第一数据集由所述第二数据集取代时,保留所 述队列中的点。在另一实施例中,将所述第二数据集添加到所述队列的末端。所述操作 处理器530可以先进先出协议将所述第二数据集添加到所述队列540。流程图600的步 骤可重复执行以便有效利用带宽。
图7说明根据本发明实施例操作处理器530的流程图700。在步骤710处,在所述 队列540中已接收并存储第一数据集。第二数据集已经接收并传送到所述操作处理器 530。所述数据通信系统410处于针对来自所述源420的数据利用功能冗余的模式中。 所述操作处理器530操作所述第二数据集。所述操作处理器530的操作可包括确定是否 按照所选定模式所支配基于来自冗余规则数据库510的冗余规则对所述第二数据集执行 功能冗余处理。例如,所述操作处理器530可读取来自所述第二数据集的信息,例如所 述数据集的协议信息、有效负载和/或时间戳。如上文所讨论,所述协议信息可包括(例 如)源地址、目的地地址、源端口、目的地端口、协议类型和/或时间戳。如果(例如) 对于所选定的模式,所述冗余规则数据库510中的冗余规则指示应对目前数据集执行功 能冗余,那么所述操作处理器执行功能冗余处理。
如果所述冗余规则指定将执行功能冗余处理,那么指示所述操作处理器530的功能 性的流程图移动到步骤720。如果所述功能冗余规则指定将不执行功能冗余处理,那么 所述操作处理器530(流程图)移动到步骤740并将所述第二数据集添加到所述队列540。 一旦已将所述第二数据集添加到所述队列540,所述第二数据集就等待传输到所述目的 地430。
在步骤720处,所述操作处理器530根据所述冗余规则搜索所述队列540。在一实施例中,所述操作处理器530搜索所述队列540以寻找对所述第二数据集为功能冗余的 第一数据集。如上文所解释,所述操作处理器按照所选定模式所指定基于所述冗余规则 数据库510中的规则确定第一数据集对所述第二数据集是否为功能冗余的。作为一实例, 如果所述第一与第二数据集源自同一源,那么操作处理器530可决定所述第一数据集对 所述第二数据集为功能冗余的。作为另一实例,如果所述第一与第二数据集源自同一源 且时间戳之间的差异不大于预定阈值,那么所述操作处理器530可决定所述第一数据集 对所述第二数据集为功能冗余的。作为又一实例,如果所述第一与第二数据集具有对传 输到所述目的地430多次可能无用的共同元件,那么所述操作处理器530可决定所述第 一数据集对所述第二数据集为功能冗余的。
在步骤720处,如果所述操作处理器530在所述队列540中定位到功能冗余数据, 那么所述操作处理器530移动到步骤730。如果在步骤730处,所述操作处理器在所述 队列540中并未定位到功能冗余数据,那么所述操作处理器530移动到步骤740并将所 述第二数据集添加所述队列540以等待传输。
在步骤730处,所述操作处理器530可丢弃所述队列540中的较晚第二数据集并保 留第一数据集。在一实施例中,可能较有效的是,所述操作处理器530丢弃所述第二数 据集而非将所述第二数据集添加到所述队列并丢弃所述第一数据集。在其中所述第一数 据集与所述第二数据集大体含有类似和/或相同内容的实施例中,所述系统500在选择所 述第一数据集或所述第二数据集以用于传输方面可大体并无不同。在其它因素大体相等 的情况下,所述操作处理器530可较有效地操作以传输所述第一数据集并删除所述第二 数据集以获得特定数据。流程图700的步骤可重复执行以便有效利用带宽。
图8说明根据本发明实施例的方法800。在步骤810处,可接收第一数据集。在步 骤820处,可将所述第一数据集存储在队列中。在步骤830处,可接收第二数据集。在 步骤840处,可确定是否对所述第二数据集执行功能冗余处理。是否对所述第二数据集 执行功能冗余处理的确定可取决于所选定模式,以及与所选定模式相关联的冗余规则。 可基于(例如)网络条件,手动或自动地选择模式。
在步骤850处,可搜索队列以寻找对所述第二数据集可为功能冗余的数据集。位于 队列中的数据集对目前数据集是否为功能冗余可由所述冗余规则来确定。所述冗余规则 可由所述选定模式来确定。作为一实例,如果所述第一与第二数据集源自同一源,那么 所述冗余规则可指定所述第一数据集对所述第二数据集为功能冗余的。作为另一实例, 如果所述第一与第二数据集源自同一源且时间戳之间的差异不大于预定阈值,那么所述 冗余规则可指定所述第一数据集对所述第二数据集为功能冗余的。作为又一实例,如果所述第一与第二数据集具有相同和/或类似内容,那么所述冗余规则可指定所述第一数据 集对所述第二数据集为功能冗余的。
在步骤860处,如果确定所述第二数据集对所述第一数据集为功能冗余的,那么可 从所述队列中丢弃所述较早、第一数据集。在步骤870处,随后可将所述较晚、第二数 据集添加到所述队列。在一实施例中,可将所述第二数据集添加到所述队列,使得所述 队列的传输次序不会改变。在一实施例中,当所述第一数据集由所述第二数据集取代时, 保留所述队列中的点。在另一实施例中,将所述第二数据集添加到所述队列的末端。或 者,可以先进先出协议将所述第二数据集添加到所述队列。流程图800的步骤可重复执 行以便有效利用带宽。
方法800的步骤的一者或一者以上可(例如)单独或组合而实施在硬件、固件中和 /或作为软件中的指令集来实施。某些实施例可提供为驻存在计算机可读媒体(例如存储 器、硬盘、DVD或CD)上的指令集,以用于在通用计算机或其它处理装置上执行。
本发明的某些实施例可省略方法800步骤中的一者或一者以上和/或以不同于所列 举的次序的次序执行所述步骤。例如,在本发明的某些实施例中可不执行一些步骤。作 为另一实例,某些步骤可以不同于上文所列举的时间次序(包括同时)来执行。
上文描述的系统与方法800可实施为计算机的一部分-包括用于计算机的指令集的 可读存储媒体。所述指令集可包括用于接收第一数据集与第二数据集的接收例行程序。 所述指令集还可包括用于将所述第一数据集存储在队列中的存储例行程序。所述指令集 还可包括用于基于冗余规则确定是否对所述第二数据集执行功能冗余处理的确定例行 程序。
所述冗余规则可由选定模式例行程序来控制。可由选择例行程序来选择所述选定模 式例行程序。所述选择例行程序可由用户来选择或可基于网络条件来动态地选择。所述 冗余规则可包括用于确定所述第二数据集与所述第一数据集是否源自同一源节点的第 一冗余例行程序。所述冗余规则还可包括用于确定所述第二数据集的时间戳与所述第一 数据集的时间戳之间的时间的第二冗余例行程序。所述冗余规则还可包括用于确定所述 第一数据集与所述第二数据集之间是否存在共同元件的第三冗余例行程序。
所述指令集还可包括用于搜索队列以寻找所述第一数据集的搜索例行程序。如果所 述第一数据集对所述第二数据集为功能冗余的,那么可从所述队列丢弃所述第一数据集 并将所述第二数据集添加到所述队列。在一实施例中,当所述第一数据集由所述第二数 据集取代时,保留所述队列中的点。在另一实施例中,将所述第二数据集添加到所述队 列的末端。将所述第二数据集添加到所述队列的步骤包括用于以先进先出协议将所述第二数据集添加到所述队列的先进先出例行程序。
图9说明根据本发明实施例的方法900。在步骤910处,可接收第一数据集。在步 骤920处,可将将所述第一数据集存储在队列中。在步骤930处,可接收第二数据集。 在步骤940处,可确定是否对所述第二数据集执行功能冗余处理。是否对所述第二数据 集执行功能冗余处理的确定可取决于所选定模式,以及与所选定模式相关联的冗余规 则。可基于(例如)网络条件,手动或自动地选择模式。
在步骤950处,可搜索队列以寻找对所述第二数据集为功能冗余的数据集。位于队 列中的数据集对目前数据集是否为功能冗余可由所述冗余规则来确定。所述冗余规则可 由所述选定模式来确定。作为一实例,如果所述第一与第二数据集源自同一源,那么所 述冗余规则可指定所述第一数据集对所述第二数据集为功能冗余的。作为另一实例,如 果所述第一与第二数据集源自同一源且时间戳之间的差异不大于预定阈值,那么所述冗 余规则可指定所述第一数据集对所述第二数据集为功能冗余的。作为又一实例,如果所 述第一与第二数据集具有对传输多次可能无用的共同元件,那么所述冗余规则可指定所 述第一数据集对所述第二数据集为功能冗余的。
在步骤960处,如果确定所述第二数据集对所述第一数据集为功能冗余的,那么可 丢弃所述第二数据集且所述第一数据集可保留在所述队列中。在一实施例中,可能较有 效的是,丢弃所述第二数据集而非将所述第二数据集添加到所述队列并丢弃所述第一数 据集。在其中所述第一数据集与所述第二数据集大体含有类似信息的实施例中,可选择
所述第一数据集或所述第二数据集以用于传输。在其它因素大体相等的情况下,较有效 的是,传输所述第一数据集并丢弃所述第二数据集以获得特定数据。流程图900的步骤 可重复执行以便有效利用带宽。
方法900的步骤的一者或一者以上可(例如)单独或组合而实施在硬件、固件中和 /或作为软件中的指令集来实施。某些实施例可提供为驻存在计算机可读媒体(例如存储 器、硬盘、DVD或CD)上的指令集,以用于在通用计算机或其它处理装置上执行。
本发明的某些实施例可省略方法900步骤中的一者或一者以上和/或以不同于所列 举的次序的次序来执行所述步骤。例如,在本发明的某些实施例中可不执行一些步骤。 作为另一实例,某些步骤可以不同于上文所列举的时间次序(包括同时)来执行。
上文描述的系统与方法900可实施为计算巧的一部分-包括用于计算机的指令集的 可读存储媒体。所述指令集可包括用于接收第一数据集与第二数据集的接收例行程序。 所述指令集还可包括用于将所述第一数据集存储在队列中的存储例行程序。所述指令集 还可包括用于基于冗余规则确定是否对所述第二数据集执行功能冗余处理的确定例行
26程序。
所述冗余规则可由选定模式例行程序来控制。可由选择例行程序来选择所述选定模 式例行程序。所述选择例行程序可由用户来选择或可基于网络条件来动态地选择。所述 冗余规则可包括用于确定所述第二数据集与所述第一数据集是否源自同一源节点的第 一冗余例行程序。所述冗余规则还可包括用于确定所述第二数据集的时间戳与所述第一 数据集的时间戳之间的时间的第二冗余例行程序。所述冗余规则还可包括用于确定所述 第一数据集的内容对所述第二数据集的内容是否为功能冗余的第三冗余例行程序。
所述指令集还可包括用于搜索队列以寻找所述第一数据集的搜索例行程序。所述指 令集还可包括用于在所述第一数据集的内容对所述第二数据集的内容为功能冗余的情 况下传输所述第一数据集并丢弃所述第二数据集的传输例行程序。
权利要求
1. 一种用于数据通信的方法,所述方法包含接收第一数据集;将所述第一数据集存储在队列中;接收第二数据集;基于冗余规则确定是否对所述第二数据集执行功能冗余处理,所述冗余规则由选定模式来控制;搜索所述队列以寻找所述第一数据集并基于所述冗余规则确定所述第一数据集对所述第二数据集是否为功能冗余的;以及如果所述第一数据集对所述第二数据集为功能冗余的,那么从所述队列丢弃所述第一数据集并将所述第二数据集添加到所述队列。
2. 根据权利要求l所述的方法,其中由用户选择所述选定模式。
3. 根据权利要求1所述的方法,其中所述冗余规则基于所述第二数据集中的数据的标 头所含有的信息来确定是否执行功能冗余处理。
4. 根据权利要求1所述的方法,其中如果所述第二数据集的时间戳与所述第一数据集 的时间戳之间的时间在预定时间周期以下,那么所述冗余规则确定所述第一数据集 对所述第二数据集为功能冗余的。
5. 根据权利要求1所述的方法,其中将所述第二数据集添加到所述队列的所述步骤包 括以先进先出协议将所述第二数据集添加到所述队列。
6. —种计算机可读媒体,其具有用于在处理装置上执行的指令集,所述指令集包含接收例行程序,其用于接收第一数据集与第二数据集; 存储例行程序,其用于将所述第一数据集存储在队列中;确定例行程序,其用于基于冗余规则确定是否对所述第二数据集执行功能冗余处 理,所述冗余规则由选定模式来控制;以及,搜索例行程序,其用于搜索所述队列以寻找所述第一数据集并基于所述冗余规则 确定所述第一数据集对所述第二数据集是否为功能冗余的,其中如果所述第一数据 集对所述第二数据集为功能冗余的,那么从所述队列丢弃所述第一数据集并将所述 第二数据集添加到所述队列。
7. 根据权利要求6所述的指令集,其中所述选定模式由选定模式例行程序来选择,所 述选定模式例行程序由用户来控制。
8. —种用于数据通信的方法,所述方法包含接收第一数据集; 接收第二数据集;检视选定模式以确定是否对所述第二数据集执行功能冗余处理,所述选定模式具 有用于确定是否执行功能冗余处理的冗余规则集;通过确定所述第二数据集对所述第一数据集是否为功能冗余的来执行功能冗余 处理,根据所述冗余规则集,所述第二数数据集对所述第一据集为功能冗余的;以 及,如果所述第一数据集对所述第二数据集为功能冗余的,那么从队列丢弃所述第一 数据集并将所述第二数据集添加到所述队列。
9. 根据权利要求8所述的方法,其中所述冗余规则基于所述第二数据集的源节点来确 定是否执行功能冗余处理。
10. 根据权利要求8所述的方法,其中如果所述第二数据集与所述第一数据集源自同一 源节点,那么所述冗余规则确定所述第一数据集对所述第二数据集为功能冗余的。
全文摘要
本发明的某些实施例提供一种用于在数据网络中保留带宽的系统(100)和方法(800)(900)。所述方法(800)(900)包括确定是否对目前数据集执行功能冗余处理(840)(940)。确定是否对目前数据集执行功能冗余处理可根据冗余规则来进行。在执行功能冗余处理时,所述方法包括搜索至少一个队列以寻找对所述目前数据集为功能冗余的数据集(850)(950)。所述搜索可根据冗余规则来进行。如果发现所排队的数据集对所述目前数据集为功能冗余的,那么可从所述队列丢弃所述排队的数据集,并将所述目前数据集添加到所述队列(860)(960)。以此方式,在传输之前丢弃功能冗余消息并优化带宽。
文档编号H04L12/66GK101449532SQ200780018131
公开日2009年6月3日 申请日期2007年5月15日 优先权日2006年5月18日
发明者唐纳德·L·史密斯, 安东尼·P·加卢希奥, 罗伯特·J·克纳齐克 申请人:贺利实公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1