专利名称::需求驱动排定优先顺序的数据结构的制作方法
技术领域:
:本发明一般涉及自组织联网,尤其涉及在无线电环境中的各节点之间散布数据。
背景技术:
:在其中深度衰落和噪声情况较为普遍的恶劣的无线电环境中,任何两个节点之间的链路的可用性都是不确定的。可期望连接丢失可持续延长的时间段。然而,在恶劣环境中四处移动的自组织移动节点团队需要将数据发送到该环境中的所有其他无线电节点。由于链路可用性的不确定性,很大百分比的发送数据在首次发送时未到达所有其他节点。因此,这些数据必须在随后再次发送。诸如传染(epidemic)算法和闲谈(gossip)算法等现有算法传统上用于重发最初未在所有节点处接收到的数据。在这些方法中,每一个节点随机挑选一邻居,找出从该邻居丢失了什么数据并发送该丢失数据。然而,使用这些方法的重发是低效的,因为要发送冗余数据等。在1987年关于分布式计算原理的ACM讨论会中的"EpidemicAlgorithmsforReplicatedDatabaseManagement(用于复制的数据库管理的传染算法)"中,Demers等人描述了反熵(anti-entropy)禾口流言散布(rumormongering)作为传染过程的示例。在反熵中,每一站点定期随机选择另一站点并与其交换信息。5这是用于传播数据的可靠技术,但相当麻烦,因为交换可涉及冗余或重复的数据传输。在流言散布中,站点接收更新或"热流言(hotrumor)",它试图通过向其他站点中的一个询问其是否具有该热流言来与那些其他站点共享该热流言。如果已与一个站点共享该热流言,则可询问另一站点。流言散布同样可涉及冗余数据传输,并且同样并非与反熵一样可靠,因为存在更新将不会到达所有站点的可能性。在2001年关于分布式计算系统的国际会议上的"AnonymousGossip:ImprovingMulticastReliabilityinMobileAd-HocNetworks(匿名闲谈提高移动自组织网络中的多播可靠性)"中,R.Chandra等人描述了在后台实现周期性匿名闲谈以确保可到达的网络成员中的大多数接收到已被多播至该组的分组。在闲谈轮回(round)中,始发者节点随机选择其组中的另一节点并向所选节点发送关于该始发者的消息的信息。如果所选节点尚未具有该始发者的消息,则这两个节点可交换消息。然而,可能发生重复或冗余数据传输。以上所提到的方法的问题是使用点到点或节点到节点解决方案以及缺乏关于其余节点正在做什么的信息。结果,这些方法对于本质上是同时向多个节点发送的广播介质的无线电环境并非最佳。
发明内容在其中自组织无线节点被配置成网格网络的恶劣无线环境中,常见的应用是使得每一个节点将数据广播或多播至其他节点。因为无线自组织网络固有地不可靠,所以发送的数据经常无法到达预期目的地并因此需要重发该数据,且经常多次重发。在缺少仔细的调度和计划的情况下,该重发由于冗余和不知道数据的紧急性而导致从整个网络的观点来看显著的低效。本发明有利地提供了允许优化整个系统所接收到的数据总量的高效数据结构。本发明使用关于节点状态、要散布的数据单元的重要性以及无线环境信息的知识来优化数据应被如何排定优先顺序和调度。具体而言,本发明的系统和方法包括标识数据单元,一般基于谁最需要该数据来将类分配给数据单元,标识可描述节点的拓扑结构和节点间的传输速率的连接类型,基于连接类型和类来计算重要性因数,将重要性因数映射到优先级因数,以及基于优先级因数6来调度数据单元的输出。在一个实施例中,类基于哪些节点在给定时刻拥有数据单元的副本来分配。在一个实施例中,计算重要性因数使用基于多少节点将接收数据以及对于特定节点而言获取数据的重要性的算法来完成。附图简述本发明通过引用作为本发明的非限制性、说明性实施例的所注附图来在随后的详细描述中进一步描述,在各附图中相同的附图标记表示相同的部分。然而,如应理解的,本发明不限于所示的精确安排和手段。在附图中图1是本发明的排定优先顺序部分的示意图2是节点中的四个应用程序图的快照;图3示出了连接矩阵和无线电跳;图4示出了邻域组的类型;图5示出了对仲裁的距离度量;图6示出了对2跳节点的权重分配;图7是本发明的一实施例的流程图8是策略I中的收益计数;以及图9是策略II中的收益计数。发明详述本发明有利地提供了一种用于优化恶劣无线电环境中的一组无线电节点之间的数据共享效率的系统和方法。该解决方案允许高效地散布在首次数据广播期间未被所有节点成功接收的数据。该系统和方法考虑包括每一个节点的数据接收状态和所有节点的连接在内的动态情形,并向每一个数据单元分配优先级以使总体性能得以优化。诸如自适应认知增强无线电团队(AdaptiveCognitionEnhancedRadioTeams)(ACERT)等其中连接是间歇性的恶劣无线电环境提供了可应用本发明的环境的示例。四处移动的四个无线电节点将试图将数据发送到所有无线电节点或团队成员。目标是为了使每一个节点将所有本地生成的数据在最短时间内发送到所有团队成员。对于ACERT环境的类似情形包括其中等待散布的数据量和已接收到的数据量可取决于节点的连接和信道容量而对于每一个节点大不相同的情形。对于广播(或多播)环境的数据散布优化被称为"非单调(non-flat)"广播。ACERT环境进一步增添了复杂性,因为信道容量是变化的。数据源、数据汇和信道容量中的不均性暗示排定优先顺序的数据结构和机制可极大地提高总体性能。本发明示出了数据应被如何组织、排定优先顺序并传播以更好地匹配动态信道和多播应用程序的特性,从而优化数据散布。图1示出了本发明的一实施例中的优先级信息计算的示意图,而图2是节点中的四个应用程序图的快照。每一个数据对象10都具有3部分数据状态12、数据单元14和元数据16。数据状态12是指示数据单元14是否存在于图2所示的节点20中的数据特性。图2所示并在以下详细描述的用户摘要22基于数据状态12来创建。数据单元14携带数据类型或数据内容,诸如环境信噪比(SNR)度量、无线电链路SNR、时间以及诸如经由全球定位卫星(GPS)来确定的位置等位置信息或其他数据等。元数据16是优先级数据并可携带诸如对于如何处理数据对象的指令等其他信息。ACERT应用程序多播不同数据类型的数据。不同类型的数据可被放置在单独的分组(单独分组化的)或捆绑在一起。这些数据分组是ACERT数据单元14。全体数据被称为应用程序数据图或应用程序图18,如图2所示。数据单元14可表示以上数据类型中的任一种。这被称为应用程序数据图18是因为当生成数据单元14的片段时,它通常与诸如SNR度量或时间和位置数据片段等网格位置相关联。一般而言,数据单元14不需要与特定位置相关联。相反,例如,数据单元14可与时间相关联,或只与序列号相关联。如以上所讨论的,图2示出了节点D20中的四个应用程序图18的快照,其中阴影单元格或小方块表示本地生成的数据或接收到的数据的数据单元14。该快照可用于度量ACERT系统关于广播数据单元14的片段的收益。每一个节点20的应用程序图18都可被表示为用户级摘要或用户摘要22,即,对节点20具有项0和1的表。0指示缺少特定数据单元14而1指示其存在。用户摘要22被定期广播到所有其他节点20,例如,每十秒一次。用户摘要广播频率的最优值是系统参数并将取决于总体系统资源。在每一个节点20处,比较来自所有节点的所有用户摘要22以创建被称为重要性加权因数(SWF)的实体,即ny其按如下定义Vt^-对节点y不具有的数据单元的重要性的度量,其通过以下等式给出:W广"(l刺(3.1)其中6是固定偏倚0.5。厶=7所接收到的数据除以全部获取的数据(不包括y所生成的数据)的分数。作为示例,节点C所接收到的数据的分数,即,,通过以下等式给出一d+a+b一D+A+B(3.2)其中大写字母表示所生成的数据,而小写字母表示所接收到的数据。在该定义下,^的范围从0到1且相应,的范围从1.5到0.5。如以上所讨论的,ACERT环境的特性是数据单元的需求或重要性根据诸如时间、位置、无线电条件等数据类型、以及整个ACERT行程中的所有数据传递的聚合状态而变化。为了最佳地适合该需求结构,提供了被称为需求驱动优先级数据结构(DDPDS)的本发明的排定优先顺序的数据结构。该结构基于根据ACERT团队中的哪组节点在特定时间间隔期间拥有该数据单元来对ACERT节点处的所有数据单元14的分类。该类被称为数据传递类或简单类24。类24的总数通过具有该数据单元14的所有节点集的组合来给出。表1示出了对于4节点ACERT情形的类24的基本结构。组织DDPDS的类24中的数据显式地区分对每一个数据单元14的需求等级。作为示例,类001024是指仅节点320拥有的数据。在节点320广播该数据单元14时,如果广播成功,则三个其他节点20将接收到并受益于该数据,由此将ACERT系统的总收益计数增加三个数据单元。作为比较,对于类101124而言,节点1、3和4全都具有数据单元14。如果节点320广播该数据单元14,如果广播成功,则仅节点220将从中受益,从而将总收益计数提高一个单元。从ACERT的总体目标的观点来看,预期发送来自类101124的数据提供与类001024相比较少的价值。9<table>tableseeoriginaldocumentpage10</column></row><table>表1数据传递类广播特定数据单元14的收益还将取决于节点20之间的当前通信信道。一般而言,ACERT节点20之间的连接可由wXM矩阵H来描述,其中第Z-y个元素指示节点/和节点乂之间的无线电跳的最少数量。如图3所示,如果节点/和乂的无线电功率能够彼此到达,则它们是1跳连接。如果节点1和3是1跳连接并且节点3和2也是1跳连接,但节点1和2并非处于彼此的无线电范围内,则节点1和2是2跳连接,且H矩阵中的相应项为2(第一行第二列)。一般而言,如果节点x和节点y之间的最短路径包含"个无线电链路,则它们是M跳连接。为了在DDPDS的上下文中结合连接类型或状态26,对于广播无线电节点20定义邻域组即Gi的概念。组Gi由广播节点/和1跳连接到/的所有节点组成。对于图3中的不同无线电节点20的不同类型的相邻组在图4中示出。如图4所示,对于每一组,在四节点ACERT环境中存在八种连接类型。每一组的划圈的连接类型26对应于图3的无线电跳拓扑结构。连接拓扑结构将对于总体ACERT目标影响传递数据类24的重要性,并将在以下更详细地描述。连接对广播特定类24的数据的收益的影响在表2中示出,表2具有不同组类型的列、以及类24的行,并且可针对相邻组类型来描绘放置类24。在表2中,数值被放置在表中的相关项中,每一个值或项都是在广播特定类24的数据单元14的情况下ACERT系统中所接收到的数据单元14的总数。该项可被认为是第一级优先级分配,其中较大的数字暗示较高的优先级。在表2中,存在其中输入节点ID(例如,-(B))的特定项。这指示提议括号内的节点(节点B)将发送数据,而不是节点A发送该数据。另一节点发送数据的原因是当不止一个节点拥有该数据时,只有一个节点应发送该数据以避免重复。因此,可在节点20之间执行仲裁过程以使得只有一个节点20发送数据单元14。该仲裁过程取决于对等体之间的邻近性和信道条件,该算法的细节将在以下给出。在一个实施例中,如图5所示的距离度量可提供用于选择表2中的特定节点的准则。在该实施例中,选择较短距离。类ABCD节点A的令卩域组类型A-BCDA-BCA-BDA-CDA-BA-CA-DA-0000--------0001--一----0010--一-----0011-—---—--0100-一--一---0101-一--—---0110-一------0111--—-一---10003222111-画221111-一10102-(Q2-(c)1—1-1011-(D)-(c)1-1--1100國(B)1陽(B)2一11-110111-1—1--1110-(B)--(B)1--1-1111一-一-一---表2优先级考虑已探究了连接和关于对DDPDS中的数据类24赋值的仲裁的效果。另外,SWF的效果,即,对数据片段相对于两个节点的重要性的度量(例如,等式3.1)可通过由重要性因数(SF)28替换DDPDS表2中的项来包括在DDPDS中,该SF根据以下公式11对于节点X的SF:Z(l-Sy)Wy/7xy(3.3)其中类24被表示为二进制,例如,0010是类2。如果节点少不具有该数据,则Sy为0,且如果节点y具有该数据,则为l。因此,类2(0010)指示节点3具有该数据而节点1、2和4不具有该数据;wy是对数据单元14的重要性的度量,其中节点x具有,而节点y不具有(参见以上等式3.1);以及/xy是节点x和之间的成功通信的概率。有了该公式,并假设Ay为l,获得DDPDS表3。<table>tableseeoriginaldocumentpage12</column></row><table>表3DDPDS表(l跳节点)SF28然后可经由预定义映射或基于排序的映射来映射到优先级类。由此,描述了将连接拓扑结构考虑在内的如何向类24分配重要性。尚未考虑远离不止l跳的节点,或假设将权重0赋予2跳或更远的节点。这是因为初始焦点在直接数据传输路径上,且未考虑诸如A—B—C等间接路径。然而,在某些非常恶劣的无线电环境中,某些节点可能长时间不在彼此的范围内。在这些情况下,期望利用间接路径。为了启用间接路径,SF28被扩充成包括向第二跳节点分配权重。这在图6中示出。在这种情况下,节点120直接连接到节点320和节点420,并经由节点320来2跳连接到节点220。当节点220渴望数据,即,缺少很多数据时,将数据单元14发送到节点320并请求将该数据单元14转发到节点220是值得的。这在W2较大时发生。为了实现第二跳节点,例如节点120需要标记数据以使得节点320可将数据单元14以最高优先级立即发送到节点220。对于2跳网络的新SF28通过以下等式给出对于节点x(2瑕fe)的SF:Z[(1-Sy)Oyjpxyt2Wz/yz)](3.4)少^xyt;c其中12是分配给2跳节点且被定义为a(l-Sy)的系数。a的初始值可被赋予在0.5-1之间。a的细节不在此赘述。针对图6的拓扑结构来比较1跳和2跳优先级分配的示例如下(假设w2=w3〉w4,a是0.5且w4>0.5w2)。在表4中,将SF28映射到优先级因数30基于直排序排列(straightrankingarrangement)以示出2跳连接的影响。<table>tableseeoriginaldocumentpage13</column></row><table>表4l跳和2跳优先级分配的比较优先级计算如下运算。创建数据单元14并分配唯一标识符,诸如文件名等。用户摘要22被周期性地获取,其用于根据表1来将类映射分配给数据单元14。H矩阵标识对应于表3的列的连接类型26,其用于使用等式3.4来计算SF28。然后根据某一预定义映射或直排序排列来将SF28映射到优先级因数30,例如,l到q。图7是根据图l和2的本发明的一实施例的流程图。在步骤S1,在节点20处创建数据单元14并分配唯一标识符,诸如文件名等。在步骤S2,基于应用程序图18来将类24分配给数据单元14。在步骤S3,如上所述地根据H矩阵来标识对应于表3或表4的列的连接类型26。在步骤S4,基于连接类型26和类24来计算SF28。在步骤S5,然后根据某一预定义映射或直排序排列来将SF28映射到优先级因数30。在步骤S6,一旦创建了优先级映射,就使用调度程序(未示出)来在FIFO缓冲区中调度数据单元的输出。可使用诸如优先级排队和/或加权优先级队列等调度算法。仲裁过程当不止一个节点20具有相同类24的数据时,期望具有仲裁过程以使得只有一个节点20发送该数据或数据单元14。本节提供了可用于该仲裁的算法。注意,基于网络连接的节点局部视图来对每一个节点20单独运行该仲裁过程。这些节点持续共享关于通信环境的数据,但对于仲裁而言,它们不进行显式通信;这些节点只使用它们已经收集的信息。该仲裁算法如下。1.如果两个或多个节点20具有数据单元14,则比较与这些节点1跳连接的节点数。具有较多数量的1跳连接节点的节点获胜。该规则可扩展至《跳。2.如果规则1无法解决,即,这些节点具有相同数量的1跳连接节点(或多至n跳),则计算所有1跳连接节点的距离总数;具有较短距离的节点获胜。3.如果规则2无法解决,则使用节点ID的次序以使得最小或最低ID获胜。应当注意,这些规则应解决大多数情况。然而,在某些情况下,规则可能变成缺乏判断力的(undetermined)。问题在于一个节点可决定一种方式,而另一个节点可能得出不同的结论,这可能是由于数据同步或错误情况。然而,这些情况是罕见的,并且即使它发生,对于非最优决定的性能损失也是较小的。14示例ACERT环境可被定义在100m乘100m的网格中,该网格被分成各lm2"单元格"。在该ACERT示例中,四个ACERT节点将以约1.4m/s的速度按指定路径移动被称为一行程的三十分钟时间段。在该时间段期间,每一个节点都将遍历大约25%的网格,从而执行包括定位本身在内的多个度量,测量被称为SNR图的环境SNR值,以及估算传送到团队中的所有其他节点的能力。所有测量数据都需要在该行程内被散布到团队中的所有其他节点。在行程的末端,将针对某些预定义度量来评估所测得的数据的完整性。在第一行程之后,可保存通信无线电链路性能信息,丢弃包括SNR图在内的所有其他度量。将执行另一三十分钟的第二行程。该第二行程的目的是测试认知算法执行得有多好。在第二行程中将测量相同的参数集,不同之处在于度量更严格。ACERT应用程序的基本特性是数据需要在这三十分钟行程期间从每一个节点散布到所有其他节点。因为评估度量评估在行程期间被散布到所有节点的数据量,所以不存在对每一个消息或分组在ACERT节点之间的通信期间的延迟要求。每一个节点都将在遍历网格时生成新数据。ACERT的实现被称为认知自适应无线电团队(CART)。CART物理环境由以下特性来表征固有的无线广播介质。单播和多播在相同的共享介质中得到支持。初始实现基于802.11b,因此,单播分组得到确认而多播分组未得到确认。每一个节点的精确位置经由GPS和锚定(anchored)节点系统来获取。位置信息分布在ACERT节点中。每一个节点都能够经由被称为无线电环境建模应用程序或REMA的应用程序来了解其周围的无线电环境,该应用程序提供了对所有ACERT节点之间的通信能力的最佳估算和预期。每一个节点还能够了解其自己的迹线和速度以及其对等体的迹线和速度。该信息构成知识库并用于设计推荐发送什么数据以及应如何发送数据的认知计划。路由因为特殊的多播应用程序而被认为是阶段1中的数据散布机制中所固有的。因此,不使用自组织路由算法。将来的阶段可在包括诸如具有实时要求的应用程序等其他应用程序时结合自组织路由。之后是使用DDPDS的定量优点的展示。该示例聚焦于一个ACERT节点(即,节点A)处的数据存储和传输。在节点A处,类1000、1001、...1110,即以上表1中的类8到14可被建模为FIFO缓冲区。在该ACERT环境中,由于连接和所得信道速率的不确定性,期望每一个节点处的FIFO缓冲区都具有等待被发出的数据。对于启发式计算而言,假设所有信道速率都是每一时间间隔四个单元。比较以下两个策略策略I:在该可被视作与以上所讨论的传染算法和相关的闲谈方法紧密相关的方法中,每一个节点随机挑选另一节点,例如,节点A挑选节点C。节点A确定节点C所具有的其丢失数据的部分,并发起节点A和节点C之间的会话以获取该丢失片段。尽管在闲谈方法中丢失数据的交互是节点A和节点C之间的单播,但可扩展该模型并可允许其他节点窃听该数据。例如,考虑节点B经由802.11广播来与节点A闲谈。因为节点B找出节点A所具有的丢失数据,所以节点B从节点A拉取该丢失数据。节点A发送到节点B的数据可被认为是对应于类1000、1001、1010和1011的数据。注意,该方法并非显式地采用类,而是在此使用类来与以下的策略II进行比较。节点C和节点D在其同时与节点B闲谈时所选的类在图8中示出。因为每一个节点(A、C、D)只担心发送B丢失的数据,所以来自这些节点的某些广播数据重叠,如图8中的阴影圈所示。考虑该冗余,总收益计数可通过对图8中的所有类中的0的数量进行计数,并在阴影圈中减去0的数量(因为它们是冗余的)来计算。总收益计数是十六个单元。策略II(DDPDS):在该方法中,每一个节点都知道所有其他节点的用户摘要并根据数据传递类来组织数据。为了进行比较,也计算节点A、C和D中的每一个都发出四个数据单元时的收益。与策略I的区别在于每一个节点并非仅将数据发送到特定节点,以及选择类以最大化总收益的增长。DDPDS也将使用仲裁机制来确保最小化数据冗余。假设如图9所示地选择类,总收益单元可通过对所选加阴影类中的0的数量的加权总和进行计数来计算,权重是对于该特定类选择的数据单元数,即,三十个单元。这比策略I好超过百分之五十。如上所述,在阶段1ACERT环境中,每一个节点都以大约1.4m/s的速率移动。用于阶段1的802.11无线电链路具有数十米的范围。对于100mX100m网格而言,期望连接拓扑结构在数秒或数十秒的数量级改变。这是直接涉及对优先级更新速率的系统要求的重要系统参数。虽然本发明已在特定实施例中描述,但可以理解,本发明不应被解释为限于这些实施例,而是根据以下权利要求书来解释。权利要求1.一种用于优化无线电环境中的一组无线电节点之间的数据共享效率的方法,在每一个节点上包括以下步骤标识数据单元;将类分配给所述数据单元;标识连接类型;基于所述连接类型和所分配的类来计算重要性因数;将所述重要性因数映射到优先级因数;以及基于所述优先级因数来调度所述数据单元的输出。2.如权利要求1所述的方法,其特征在于,所述调度步骤使用调度算法来执行。3.如权利要求1所述的方法,其特征在于,所述分配类的步骤基于所述那组无线电节点中的哪一个或多个节点在给定时刻拥有所述数据单元的副本。4.如权利要求1所述的方法,其特征在于,所述映射步骤还包括执行仲裁过程以确定所述优先级因数的步骤。5.如权利要求1所述的方法,其特征在于,所述计算步骤使用重要性因数加权算法来执行,所述算法基于接收所述数据的节点数以及对于节点而言获取所述数据的重要性。6.如权利要求1所述的方法,其特征在于,所述数据单元包括本地测得的值。7.如权利要求6所述的方法,其特征在于,所述本地测得的值包括来自特定无线电源的SNR、节点之间的无线电链路SNR以及在给定时刻的GPS位置中的至少一个。8.如权利要求1所述的方法,其特征在于,所述连接类型包括所述那组无线电节点的拓扑结构和所述那组无线电节点之间的传输速率。9.一种用于优化无线电环境中的一组无线电节点之间的数据共享效率的系统,包括具有类的数据单元;连接类型;以及基于所述连接类型和所分配的类来计算的重要性因数,其中所述重要性因数被映射到优先级因数并且所述数据单元基于所述优先级因数来调度输出。10.如权利要求9所述的系统,其特征在于,所述数据单元使用调度算法来调度输出。11.如权利要求9所述的系统,其特征在于,类基于所述那组无线电节点中拥有所述数据单元的副本的一个或多个节点来分配给所述数据单元。12.如权利要求9所述的系统,其特征在于,还包括用于确定所述优先级因数的仲裁过程。13.如权利要求9所述的系统,其特征在于,所述重要性因数的计算使用重要性因数加权算法来执行,所述算法基于接收所述数据的节点数以及对于节点而言获取所述数据的重要性。14.如权利要求9所述的系统,其特征在于,所述数据单元还包括本地测得的数据类型。15.如权利要求14所述的系统,其特征在于,所述本地测得的数据类型包括来自特定无线电源的SNR、节点之间的无线电链路SNR以及在给定时刻的GPS位置中的至少一个。16.如权利要求9所述的系统,其特征在于,所述连接类型包括所述那组无线电节点的拓扑结构和所述那组无线电节点之间的传输速率。全文摘要提供了一种用于优化无线电环境中的一组无线电节点之间的数据共享效率的系统和方法。该技术包括标识数据单元并将类分配给该数据单元,标识连接类型,基于连接类型和所分配的类来计算重要性因数,将重要性因数映射到优先级因数,以及基于优先级因数来调度数据单元的输出。可使用调度算法来调度输出。类可基于该组节点中的哪些节点在给定时刻拥有数据单元的副本来分配。可使用仲裁过程来确定优先级因数。可使用基于多少节点将接收数据以及节点需要多少数据的重要性因数加权算法来确定重要性因数。文档编号H04W40/24GK101636719SQ200780048809公开日2010年1月27日申请日期2007年11月27日优先权日2006年11月27日发明者B·希格尔,H·金,R·劳申请人:特尔科迪亚许可公司有限公司