用于车辆和其它移动物体的动态多点传播分组的制作方法

文档序号:6696566阅读:195来源:国知局
专利名称:用于车辆和其它移动物体的动态多点传播分组的制作方法
技术领域
本发明一般来说涉及分布式信息系统。更具体地说,本发明涉及一种用于移动体的可缩放多点传播算法。本发明的应用包括智能运输系统,其中智慧型车辆与网络连接,并且周期地发送例如位置、速度、交通和天气条件等状态信息。本发明还应用于智能协同运输系统,其中车辆协同把货物运送到其目的地。本发明的原理还能扩展到其它移动物体应用,包括多用户网络游戏。
在这样的系统中,各车辆将既用作数据源又用作数据目的,收集关于各车辆的位置、车辆的速度、行驶方向的信息,以及其它状态信息,例如交通和天气条件。实际上,各车辆将收集关于其状态的信息,并将把该信息广播给感兴趣的车辆,该车辆将利用此信息。
构成用于这种应用的分布式信息系统的一种常用方式是建立一个中央服务器,它从所有用户(例如所有车辆)收集信息。当一个用户想得到关于特定区域的条件的信息时,该用户向服务器发送一个请求,然后服务器把结果送回给请求用户。这种方法具有规模问题,因为随着应用的用户数增加,网络带宽和中央服务器需要的处理资源快速地增加。中央服务器很快变得阻塞,并且成为系统的故障单点。
另一种常用技术是使所有用户联合一个共同多点传播组,用户通过它广播所有信息。在从多点传播组收到信息之后,各用户必须滤出它认为多余的任何消息。例如,在交通应用中,在城市的东上方的用户可能对西下方的交通条件不感兴趣,并且因此可能配置客户应用软件,以把西下方信息作为多余滤出。
虽然共同多点传播方法解决了与单服务器关联的单点故障问题,但是这样做是以增加网络带宽需求,并且还增加各用户的车载计算机所消耗的处理资源为巨大代价的。
随着移动实体的车辆到处移动,分区服务器获得关于这种移动的信息,并且重新配置四叉树数据结构,以使性能最优化。因而通过把一个或多个现有小区分成较小的小区,具有高用户密度的区域将被分成大量的小区。相反,通过合并较少占位的相邻小区,稀疏占位的区域可以分配给较较大的小区。
根据本发明的一个方面,动态四叉树分区算法对各小区分配一个协调器,它被这个小区的用户所选择。协调器然后根据本地的使用条件知识,估计与分裂或合并其小区关联的成本。通过使一个选择的协调器执行这个功能,在该小区之内的其它用户无需消耗收集这个信息的计算资源。协调器把成本信息送给分区服务器。分区服务器使用算法来确定哪些小区应该分裂,哪些小区应该合并,以使全局成本最小,从而使系统的性能最优化。分区服务器然后把新分区方案广播给所有用户。这样,用户全部被告知哪些小区可用作与其通信。因而,如果一个西上方的用户希望获得东下方的信息,该用户能识别哪个小区目前与可能包含感兴趣信息的东下方关联。
本发明因而提供一种混合解决方法,它使用分布元件(多点传播,协调器)和中央元件(分区服务器)两者,以动态地对一个地区分区,以便移动实体有效地分组。为了更完全地理解本发明、它的目的和优点,参考以下说明和附图。
本发明的动态多点传播分组算法具有许多应用。为了说明本发明的原理,

图1说明分布式交通条件发现应用。移动实体在一个地理区之内到处移动,并且通过联合不同多点传播组而相互通知交通条件,不同多点传播组各与该地理区之内的一个区域或小区关联。虽然移动实体可以是机动车,但是应该显而易见,本发明的原理能容易地用于其它类型的移动实体,例如航空器、步行者、甚至运送中的包装件或货物。此外,虽然这里已经说明了分布式交通条件发现应用,但是本发明能够具有各种各样的其它应用。这样应用的另一例是智能协同运输系统,其中车辆与其它车辆协同,以把其它商品运送到适当目的地。本发明还能用于多用户网络游戏和其它模拟装置。
参考图1,哥伦比亚特区的地图用10说明。该地图画出了感兴趣的示例地理区域,它包括哥伦比亚特区和其周围的维吉尼亚区和马里兰区。12表示的是相同哥伦比亚特区地图的复制,其上叠加了移动实体14的总体。例如,各移动实体可以是汽车、卡车或其它备有根据本发明的客户应用软件的车辆。各移动实体还备有适当的能够连接互联网的通信设备,以允许移动实体通过联合一个或多个多点传播话路,建立与其它移动实体的通信。移动实体总体分布可以是从均匀分布到正态分布、高聚束分布或聚类分布的任何分布。此外,分布能预期整天随移动实体为从事其商务在地区内到处移动而改变。为了说明,图1说明了均匀分布。然而,更可能地,聚束或聚类分布将是预期条件,因为特区的不同部分将无疑地比其它部分具有更多的交通。
图1用放大细节说明了两个移动实体14和16。为了说明,实体的尺寸和标度被放大。实体14占据实体16的西北方的位置。各实体具有一个视域,分别用圆形18和20表示,它们对应于实体感兴趣获得的有关信息的地理区。注意这两个说明的移动实体的视域18和20碰巧重叠。这就意味这两个实体共享共同兴趣。这不是系统要求,因为各实体控制其本身的视域,并且因此能包括或排除如希望那样多的地域。
所有通信实体集体汇编全局信息体22,它由所有本地信息例如与实体16关联的本地信息24的集体组成。在本优选实施例中,全局信息22以分布方式维护。因而不必在中央数据库中上载和存储全局信息的整个复制信息。相反,全局信息以本地信息体的集合形式按分布状态存在。各移动实体能根据其特定视域存取与该移动实体有关的信息。因为本地实体控制它们各自的视域,所以如果希望,任何移动实体能获得关于地理区之内的任何区域的信息。在交通应用中,典型地移动实体将对附近的交通条件感兴趣。
移动实体典型地基于地理考虑而与其它移动实体通信,以获得信息。实体与感兴趣的地理区之内物理存在的其它实体,或与已经获得关于感兴趣的地理区的信息的其它实体通信。移动实体使用反映移动实体怎样地理分组或排列的共用数据结构,确定它们希望与哪些其它实体通信。为了给所有移动实体提供一个对它们怎样分组进行组织的共同基础,本优选实施例使用一种四叉树数据结构,它随着实体到处移动而动态地更新,以反映实体的变化分布图形。在本优选实施例中,四叉树数据结构在分区服务器中根据本地收集和估计的信息集中地产生。每次四叉树被修订,四叉树数据结构的复制就为实体所共享。
四叉树数据结构之内的各节点或小区具有分配的多点传播组地址。希望获得与该小区关联的有关条件的信息的移动实体简单地联合多点传播组。四叉树数据结构因而根据该实体的当前视域,引导移动实体确定联合哪个多点传播组。
在本优选实施例中,各移动实体既起数据源作用又起数据目的作用。这在图1中以26和28图解说明。
在本优选实施例中,各移动实体具有一个计算机系统,它运行图2功能性说明的客户应用。客户应用具有一个数据目的端口40,输入信息通过它从全局信息集体22到达。因为全局信息22典型地以分布方式存储,所以实际数据流将来自一个或多个移动实体,客户应用使用一个或多个多点传播通道与这些实体通信。
所以客户应用还能对全局信息体22提供信息,客户应用包括一个数据源端口42。本地信息存储在本地数据存储44中。如说明,这个本地数据存储向数据源端口42供给信息。它还从数据目的端口40接收首先由信息过滤器46处理之后的信息。信息过滤器筛选出多余信息,例如不属于移动实体的视域的信息。
本地数据存储优选地存储在由客户应用所管理的计算机可读存储器中。如以50图解表示的,本地数据存储保存关于移动实体的信息和它在四叉树的本地区小区之内的全体成员。本地数据存储还保存其它专用的本地状态信息。如以52图解所示,本地状态信息可能包括移动实体的位置的数据、它的速度和其它相关定位数据,以及其它条件,例如温度、风速和其它环境条件。
在本优选实施例中,各移动实体具有用作该实体位于其中的小区的协调器的可能性。协调器的责任是估计该小区之内的拥塞条件,以估计该小区是否应该再分或与其它小区合并,以改善性能。在本优选实施例中,对于各小区,根据移动实体是否物理位于该小区之内来选择单协调器。如果希望,可以代替使用其它准则。客户应用使用一个处理模块54,它从本地数据存储44存取关于当前四叉树配置和特定小区之内的移动实体的位置的信息,以确定这个实体是否满足成为协调器的资格。所有其它移动实体具有相同的模块54,并且因而也能够确定它们是否取得协调器的资格。设计协调器选择规则,以便在本实施例中每小区选择一个且仅一个协调器。
因为各移动实体潜在地能够满足选择为一个特定小区的协调器的要求,所以处理模块54包括一个处理程序,以估计反映小区是否应该再分或合并的成本信息。如以下将更完全地讨论,这个成本信息在小区级估计,然后通知分区服务器。本优选实施例根据一个给定小区之内出现的多点传播组联合数,和该小区的成员必须滤出或拒绝的多余消息数来估计成本。联合成本是由联合小区之内关联的多点传播组的用户而引起。多余消息成本是对从多点传播组接收的不需要消息数进行计数而引起。把一个小区再分成少量的子小区建立了一个更精细网格,它给系统提供识别用户的更大能力,并且因而减少多余消息数。另一方面,把小区再分成更小子小区增加了用户为实现它们的视域而联合附加多点传播组的需要。因而,在多点传播组联合数与多余消息数之间有一个折衷。这个折衷直接与给定小区之内的用户密度有关。
如上所述,本优选实施例使用四小区数据结构来表示一个地区,并且表示该地区怎样再分成区域或小区。如图3说明,四叉树的基本原理是用一个正方形或其它形状覆盖感兴趣的平面区域,然后把这个正方形或其他形状递归分成较小的正方形或其他形状,直到各包含输入的适当均匀子集。在本优选实施例中,各正方形表示一个小区,对其分配一个多点传播组地址。虽然这里说明了四边(正方形)数据结构,并且是优选的,但是应该显而易见,可以使用其它几何形状(例如K-d树)和其它维数的数据结构来实施本发明的原理。因而如这里所使用,术语四叉树打算含盖n维数据结构,其中n是2或大于2的整数。
参考图3,如以60、62和64说明,在整个华盛顿D.C.地区周围正方形划线,然后根据对以上讨论的成本数据的估计,把这个正方形地区递归再分,直到达到适当尺寸的小区,可以构成用于华盛顿D.C.地区的四叉树。在本优选实施例中,并不是所有小区必须为相同尺寸。因而最西南象限可以再分成如70的较小的小区,而稍靠东北的小区可以如72那样的4倍大,同时剩余小区可以仍如76那样大。
根据本发明实现的动态再分区算法,四叉树小区的尺寸和配置将随移动实体到处移动而动态地改变。在任何给定时间配置四叉树的基本分区方案是由分区服务器使用各小区的选择协调器传给它的信息来计算的。图4表示这样动态再分区的消息流是怎样发生的。在图4中说明了一个单示例小区70。由圆形72表示的6个移动实体位于该小区之内。如互连线说明,小区70之内的所有移动实体使用与小区70关联的多点传播组地址相互通信。使用以下与图6有关将要叙述的选择规则,声明实体中的一个为协调器。在图4的说明例中,在小区70的右下角的移动实体指定为协调器74。协调器74从小区70的成员收集联合和多余消息处理数据,并且把该信息传给分区服务器80。在本优选实施例中,分区服务器80可以是一个负责区域之内所有小区的中央服务器。当然,如果希望,可以用服务器网络代替单服务器,以分配分区产生功能。
分区服务器使用预定算法,用从四叉树表示的不同小区的所有协调器接收的信息来确定新分区方案。它通过对所有用户多点传播组广播,或通过单用户例如协调器74转播信息,把新分区方案82广播给移动用户。系统可以具有为此目的的专用协调器多点传播组。新分区方案表示由各移动用户存储(在图2的本地数据存储44中)的新四叉树。四叉树信息然后由各移动实体使用,以根据该实体的视域确定该实体应该联合哪些多点传播组。
本优选分区服务器使用贪婪算法84,以根据本地估计的成本数据修改现有四叉树数据结构,来产生新分区方案。为了产生初始四叉树数据结构,自顶向下贪婪算法为优选。这种贪婪算法的流程图在图7说明,并且将在以下讨论。然而,在叙述初始化算法之前,将参考图5流程图和图6四叉树图更完全地叙述图4说明的基本动态再分区过程。
参考图5,动态分区算法在步骤100以选择协调器开始。在本优选实施例中,协调器是根据它与其小区所源自的父小区的中心的几何邻近性而选择的。图6说明这点。在图6中,多个移动实体如圆形说明。满足协调器准则的实体涂成黑色。
为了理解协调器选择过程,首先参考较较大的小区200。它的子小区之一202表示再分成孙小区204、206、208和210。各孙小区204至210将选择一个协调器。获胜候选者是与这个子小区的父小区的中心最近的一个。在这种情况下,父小区202的中心用X标记。因为孙小区204仅包含一个实体,所以这个实体默认与父小区的中心X最近。孙小区206的移动实体212比该小区中任何其它实体更靠近中心X。因而实体212选择为小区206的协调器。类似地,实体214和216在它们各自小区的中心竞争中赢得最近,并且因而选择为协调器。
虽然中心最近技术用来确定各小区的一个协调器,但是可选择使用其它选择协调器的技术。因为本系统设计为预期移动实体到处移动,所以协调器选择过程以足够频率重复,以捕获分布式信息系统的动态性质。
返回参考图5,一旦协调器选择过程完成,在步骤102,各协调器根据本地知识估计分裂或合并其小区的成本变化。然后在步骤104,协调器把成本估计信息送给服务器。在步骤106,服务器使用贪婪算法来判定哪些小区分裂,而哪些小区合并,以便全局成本最小。在步骤108,服务器把新近计算的分区方案广播返回给所有用户。这能通过对所有用户多点传播组的覆盖广播完成。可选择地,如步骤110说明,新分区或许通过协调器多点传播组,能送给各小区的协调器,并且该协调器对协调器的小区的各成员执行传播本地分裂和合并指令的责任。
如上所述,本优选实施例使用自顶向下贪婪算法来生产四叉树的初始分区方案。图7以步骤300开始说明贪婪算法。在步骤300,首先分析在整个地区周围划线的较大的小区。算法递归地进行。对于各小区,算法计算如果这个小区分成n个较较小的小区的减小成本。这在步骤302说明。其次,根据步骤302的结果,算法选择具有最大成本减小的小区。然后如步骤304所示,算法把这个小区分成n=4个较较小的小区。然后重复步骤302和304,直到所有小区都被处理或直到成本停止减小为止,如步骤306说明。虽然自顶向下贪婪算法为优选,但是其它算法也可能。例如,可以使用基于用户数的自顶向下贪婪算法,或根据自底向上贪婪算法,计算新分区方案。基于用户数的自顶向下贪婪算法的一例具有下列步骤1.开始用正方形在地区周围划线作为较大的小区。对于较大的小区之内的各小区,计算该小区内的用户数。
2.根据上述步骤的结果,选择具有最大用户数的小区,并且把它分成四个较小的正方形小区。
3.重复上述两个步骤,直到使用了所有组地址(小区)或每个小区内的用户数小于一个阈值为止。
4.如果还有任何可用组,使用贪婪算法例如图7所示算法继续划分。
自底向上贪婪算法的一例具有下列步骤1.根据一个给定深度的完全四叉树,把地区分成小区。
2.对于各可合并节点(它是具有四叶子节点的各节点),计算成本增加。
3.选择具有最小合并成本增加的节点,并且合并它。
4.重复上述两个步骤,直到小区数等于可用多点传播组数。
在使用中,移动实体使用它们各自的视域和当前四叉树,实现状态传播协议。协议设计为保证源自各移动实体的状态消息达到所有其它感兴趣的实体。协议包括下列步骤1.各用户使用四叉树数据结构中反映的它的当前分区方案的知识,计算与它自己“视域”相交的小区。
2.各用户联合与这些相交小区关联的所有多点传播组,并且准备从这些多点传播组接收信息。
3.各用户把它的状态信息送给它自己“本地区”小区组(即它所位于之内的小区组)。
4.在从所有联合多点传播组接收信息时,用户滤出多余消息,并且维护过滤的消息数的记录,以便该信息能被协调器用作成本量度。
本优选实施例以使用图7的贪婪算法(或等效算法)产生的静态分区开始,实现动态再分区。随着移动实体到处移动,它们可以动态地联合或脱离多点传播组话路。新协调器也根据新分区方案选择。本优选动态分区算法根据下列步骤进行1.用户四处移动。在每一步骤,选择新协调器。
2.协调器计算与分裂其各子叶关联的成本减小。
3.如果一个节点具有四个子节点,对应协调器计算与合并这四个节点关联的成本增加。
4.协调器各自把成本变化信息送给分区服务器。服务器判定是否应该创建新分区。可能准则包括在经过一定时间之后,或如果新分区的成本减小达到一定水平,周期地创建新分区。
5.如果服务器判定创建新分区,它使用贪婪算法来计算应该分裂和合并的小区,以创建新分区方案。新分区方案广播给所有用户。
虽然以上算法的确依靠分区服务器来判定新分区方案,但是服务器承担非常少的计算负载,因为成本估计由协调器分布地执行。
使用计算机模拟,用实际地理数据对本发明的动态分区算法进行了测试,并且发现消息成本减小80%那样多。在模拟中,测试了动态四叉树分区算法的性能,并且把它与基于小区的协议和静态四叉树分区比较。正方形模拟地区假定具有单位边长。在模拟中,假定所有用户具有相同的圆形视域。该视域的半径设为0.01。所有用户随机地选择一个方向,并且向这个方向移动恒定步。如果移动将使用户超出地区,用户被“弹回”地区内,以便用户数保持恒定。在模拟中,我们假定所有用户将具有相同步距。选择的步距分别是0.001、0.002、0.005和0.01。为了减小数据量,我们每100步抽样一个数据点。当新分区将使消息成本减小20%时,创建新分区。结果展示本动态四叉树分区算法将节省80%那样多的消息成本。
虽然已经就其优选实现叙述了本发明,但是应该理解,全部在如所附权利要求所述的本发明的精神之内,本发明能够变更,并且适用于各种各样的不同用户。
权利要求
1.一种用于对移动实体分组的方法,包括限定一个分区实体;构造一个初始数据结构,它限定由所述移动实体占据的多个小区;对于各小区,从占据该小区的移动实体集中选择一个协调器;所述协调器协同计算与选择地再分和合并所述小区关联的成本,并且把所述成本通知所述分区实体;以及所述分区实体使用所述成本产生新分区方案,并且所述新分区方案通知所述移动实体。
2.如权利要求1所述的方法,其特征在于还包括使一个多点传播组与各所述小区关联,并且使用所述多点传播组支持各小区之内的移动实体之间的通信。
3.如权利要求1所述的方法,其特征在于所述协同计算步骤包括各协调器计算与再分该协调器的小区关联的第一成本;以及使用所述四叉树数据结构以识别所述协调器之间的同胞关系,以限定同胞协调器;以及所述同胞协调器选择计算与合并所述同胞协调器占据的小区关联的第二成本。
4.如权利要求1所述的方法,其特征在于还包括把一个多点传播组与各所述小区关联;把一个视域与各所述实体关联;以及使所述实体能够根据所述视域选择地联合所述多点传播组中的至少一个。
5.如权利要求1所述的方法,其特征在于还包括把一个多点传播组与各所述小区关联,允许所述实体联合所述多点传播组中的至少一个,并且通过估计所述实体联合的多点传播组数,计算所述成本。
6.如权利要求1所述的方法,其特征在于还包括把一个多点传播组与各所述小区关联,并且使用所述多点传播组把所述新分区方案通知所述移动实体。
7.如权利要求1所述的方法,其特征在于所述分区实体通过划分所述小区中给出最大成本降低的小区,产生所述新分区方案。
8.一种用于对移动实体分组的系统,包括一个分区服务器;所述分区服务器限定一个数据结构,它具有与所述移动实体占据的小区对应的节点;多个客户应用,各与所述移动实体中的一个关联;所述客户应用各具有通信机制,能够与其它客户应用的通信机制以及与所述分区服务器通信;以及所述客户应用和所述分区服务器配置为建立动态分区协议,由此根据各所述小区之内的通信实体数,重新配置所述四叉树数据结构。
9.如权利要求8所述的系统,其特征在于所述客户应用各有存储器,用于存储与预定感兴趣地区对应的视域,并且各所述客户应用的所述通信机制配置为联合与所述视域重叠的小区中的多点传播组通信移动实体。
10.如权利要求8所述的系统,其特征在于所述移动实体是具有产生车辆位置数据的定位设备的车辆,并且其中所述客户应用把所述车辆位置数据通知与占据一个共同小区的移动实体关联的其它客户应用。
全文摘要
把一个地区分成各具有一个关联多点传播组地址的区域或小区。使用动态更新的四叉树数据结构来组织小区。在一个给定小区之内的移动实体选择它们成员中的一个作为协调器,用于估计与再分该小区或与其它同胞小区合并该小区关联的成本数据。协调器把这个成本数据通知一个分区实体,它可以是中央服务器,使用贪婪算法计算新分区方案。然后把新分区方案广播给移动实体,用于随后通信。移动实体联合与它们个别视域相交的多点传播组。这样,移动实体能无需监视所有多点传播组传送而从其它移动实体获得信息。
文档编号G08G1/13GK1409498SQ0214331
公开日2003年4月9日 申请日期2002年9月25日 优先权日2001年9月27日
发明者伊博拉希姆·穆斯塔法·卡麦尔 申请人:松下电器产业株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1