基于移动节点的动态空间/组织状态在节点之间分发数据的技术的制作方法

文档序号:7635546阅读:145来源:国知局
专利名称:基于移动节点的动态空间/组织状态在节点之间分发数据的技术的制作方法
技术领域
本发明涉及利用动态位置或组织数据来确定如何在节点之间分发数据。
背景技术
由外部通信链路连接的通用计算机系统网络是公知的,并且在商业上 被广泛使用。网络通常包括一个或多个网络设备,网络设备辅助实现计算 机系统之间的信息传递。网络节点是由通信链路连接的网络设备或计算机 系统。"末端节点"是配置来发起或者终止网络上的通信的节点。"中间 网络节点"辅助实现末端节点之间的数据传递。节点之间的通信一般通过交换离散的数据分组来实现。信息在根据多 种公知的、新的或者开发中的协议中的一种或者多种的数据分组中被交 换。在此上下文中,协议包括一组规则,这组规则定义节点如何基于通过 通信链路发送的信息而彼此交互。每个分组一般包括l]与特定协议相关联的头部信息,和2]在头部信息之后包含可以独立于该特定协议被处理的有 效载荷信息。在一些协议中,分组包括3]在有效载荷后指示有效载荷信息 的末尾的尾部信息。头部包括这样的信息,例如,分组的源、其目的地、 有效载荷的长度和由该协议使用的其他属性。通常,针对特定协议的有效 载荷中的数据包括针对与用于信息交换的细节的不同层相关联的不同协议 的有效载荷和头部。特定协议的头部一般指示出其有效载荷中包含的下一 种协议的类型。可以说较高层协议被封装在较低层协议中。穿过多个异构 网络(例如因特网)的分组中包括的头部一般包括物理(第一层)头部、 数据链路(第二层)头部、网络(第三层)头部和传输(第四层)头部, 如开放系统互连(OSI)参考模型所定义的。OSI参考模型通常在1999年 9月出版的Radia Perlman的题为Interconnections Second Edition的参考文本的Section 1.1中被详细描述,其通过引用被结合于此,如同在此全面阐
释了一样。
数据链路头部提供了定义一个网络节点和相邻节点之间的特定通信链 路的信息。网络头部提供了定义计算机网络中的源和目的地地址的信息。 值得注意的是,路径可能跨越多个物理链路。网络头部可以根据因特网协 议(IP)被格式化,因特网协议指定位于逻辑路径终点处的源和目的地二 者的IP地址。因此,分组可以沿着其逻辑路径从一个节点"跳"到另一个 节点,直到其到达被分配给存储在该分组的网络头部中的目的地IP地址的 末端节点为止。在每一跳后,分组的数据链路头部中的源或目的地地址可 以按需被更新。但是,在分组在网络中从一条链路被传送到另一条链路 时,源和目的地IP地址一般保持不变。
路由器和交换机是确定哪条或者哪些通信链路被用来支持数据分组通 过网络的过程的网络设备。基于网络头部(第三层)中的信息来确定采用 哪些链路的网络节点被称作路由器。 一些协议用专门的控制分组在两个或 更多个网络节点之间传递协议相关信息,所述控制分组是单独传输的,并 且包括由协议自身使用的信息的有效载荷而不是针对另一应用要被传输的 数据的有效载荷。这弯控制分组和在利用这些控制分组的网络节点处的处 理被称为处于不同于"数据平面"维度的另一维度,即"控制平面"中, 其中所述"数据平面"维度具有针对其他应用的有效载荷的数据分组。
链路状态协议是"路由协议"的一种示例,该协议仅交换用于路由以 不同"路由协议"(例如IP)发送的数据分组的控制平面消息。链路状态 方法用链路状态协议控制平面数据分组将路由信息泛洪到网络中的所有节
点;但是,每个路由器仅发送路由信息的一部分,该部分描述其自己的链 路的状态。链路状态数据指示执行路由功能的网络节点(一个路由器)与 其他路由器之间的直接链路(例如,同一网段上的链路,这些链路不包括 第三路由器)。链路状态数据还指示那些链路的其他特性,例如带宽和拥 塞。根据链路状态方法,每个路由器基于从整个网络中的其他路由器接收 到的链路状态数据,在其路由表中构造该网络中的连接的拓扑模型。路由 判决是基于整个网络的连接的拓扑模型来执行的。用户数据包括在网络上的末端节点之间被路由的其他数据。在末端节 点处的用户数据的数据库和数字文件是公知的并且也被广泛使用。用户数 据的分布式系统利用网络中的节点的多样性来在不同的末端节点之间分发 存储、处理和通信负载。分布式系统是公知的,并且在各种网络中被广泛 使用。例如,万维网在公共因特网中的多个末端节点上分发用户数据文
件、被调用的页面。许多分布式系统,包括万维网、电子邮件(e-maU) 和文件传输协议(FTP),都被构造在用于在一个或多个节点上执行的多 个处理之间交互的客户机-服务器模型上。
一些分布式系统不依赖于客户端请求和服务器响应,而是在不等待请 求的情况下自动发送信息到一些节点。这种分布式系统的一个示例是广播 或订购服务。这些系统与无线电和电视广播或者报纸家庭递送类似。订购 者签约该服务,然后发布者/广播者在发布者/广播者确定的时刻发送信 息,例如在发布者/广播者产生出数据时。例如,真正简单整合(RSS)服 务(也被称作丰富站点总结)在特定万维网页面改变时,将新web页面内 容发送到订购者。RSS使用特定的格式,所以信息可以被插入到在订购者 的节点中存储的万维网页面的现有拷贝中。然而,客户端-服务器模型是 "拉"信息,而订购服务提供"推"信息。
在正出现的网络系统中,包括中间网络节点和末端节点在内的网络节 点不是建筑或园区中的固定资产,而是包括被布署为移动用户(例如,人 员、动物、机器人、车辆和地球同步轨道卫星)的移动资产的移动网络节 点。在这种系统中,当前通信链路的拓扑模型不足以判断如何路由由网络 管理的信息以及将其路由到何处。关于节点的空间布置和那些节点的用户 的信息变重要了,并且甚至可能影响用来分发数据的路由。通常希望由客 户端拉的数据或者由发布者推的数据取决于分布式系统中的移动节点的用 户和其他用户、节点或者数据项之间的空间关系。
例如,移动自组织网络(MANet)包括移动无线路由器,这些移动无 线路由器与它们进入发射范围中的其他固定或移动无线路由器联网。移动 路由器可由人类、动物或者车辆(包括机器人和地球轨道卫星)携带,来 用接口连接也被携带的多个电子设备。MANet可以应用于战术策略和军事和急救服务情况,包括对环境危害事件、恐怖袭击、自然灾难等等的搜索 和救援以及其他响应。移动路由器将信息馈送到车辆的各个控制接口,或 者用于人类用户的各种显示元件,或者对动物进行刺激。路由器还接收来 自由用户操作的输入设备或各种传感器的网络信息,将网络信息发送到输
入设备或各种传感器,所述用户例如是人员、动物或车辆。MANet允许不
同单元更快地共享更多的信息,以使得多个单元可以作为协同整体行动。 许多网络节点具有可用的位置信息,例如来自公知并且在商业上使用的全
球定位系统(GPS)的位置,或者来自利用三个或更多个电磁波信标或者 声波信标的本地三角测量系统的位置。
在示例场景中,救援工人必须进入多个房间的洞穴搜寻示踪受害人 员。工人和多个机器人被大型车辆运输到地点。大型车辆有到数据中心的 广域网连接,数据中心具有包括洞穴房间的地图在内的地理信息系统 (GIS)。机器人携带末端节点和无线路由器,并且末端节点被编程来操 作机器人,以便在工人通过洞穴时维护车辆和工人之间的MANet连通 性。
首先所有机器人和工人都在无线覆盖的重叠区域中。消耗网络资源的 完整的网络连通性以及全部机器人和工人之间的邻接关系是临时的并且是 不需要的。相反,最好机器人基于大型车辆和工人的空间位置形成从该大 型车辆到工人的线路。然后仅在空间上在前的和在后的机器人之间建立每 个无线路由器的地形邻接关系。从而路由信息取决于位置信息。
随着工人进入洞穴,机器人基于空间信息增大它们的间隔以维护从工 人到大型车辆的串行的无线MANet通信。因此,传输到用户的中间节点 的信息优选是基于位置数据的。如果必要的话, 一个或多个路由器被重配 置来增大功率以保持相邻机器人上的路由器在范围内。因此,中间节点配 置优选是基于位置数据的。
工人希望通过这种机器人协助的网络从GIS传输的信息取决于工人所 处的位置。如果工人的位置和工人的去向(朝向)被该工人的末端节点传 输到GIS客户端,则优选在网络上某处的该GSI客户端从GIS请求在该工 人前方的情况。因此,要通过网络传输的非路由信息优选是基于工人位置和去向数据的。其他空间信息,例如尺寸和形状,在通过网络传输数据时也是有用 的。例如,如果大型车辆比洞穴口大,则不希望使该大型车辆位于该洞穴 入口处来支持与工人的网络通信。大型车辆的质心的位置到洞穴入口的中 心的位置之间的期望接近度取决于该大型车辆的尺寸和形状以及洞穴口的 尺寸和形状。作为另一个示例,注意许多建筑当前都配备有用于无线网络通信链路 的多个接入点。如果利用接入点的移动节点请求关于该建筑的信息,则响 应优选基于用户的位置而不是接入点的位置。例如,如果用户位于接入点 上方的楼层,则对休息室或者灭火器位置的请求最好用到与该用户在同一 楼层上的休息室或灭火器的方向作答,而不是用到与接入点在同一楼层上 的休息室或灭火器的方向作答。在一些方法中,来自网络节点的可用的位置数据被用来通过改变例如 用于一个或多个无线通信链路的功率和频率来选择和配置网络节点。例如,参见2004年6月8日的H. Arnold等的美国专利No. 6,748,233, 2004 年7月13日的R. Kennedy的美国专利No. 6,763,013和6,763,014。位置数 据的时间序列被用来预测当前和将来的有利节点和配置以维护连通性。在另一种方法中,携带移动节点的车辆被移动来建立或者保持支持期 望路由的邻接关系。参见2003年10月7日提交的Billy Moon等的美国专 禾U申请No. 10/679,319, "Arrangement For Autonomous Mobile Network Nodes to Organize A Wireless Mobile Network Based On Detected Physical And Logical Changes"。遗憾地是,这些动态网络系统都未利用来自移动节点的可用的空间信 息来选择要通过无线通信链路递送的非路由数据。如这里所使用的,空间 信息包括物理位置信息、物理形状信息、物理尺寸信息、物理朝向信息, 或者一些组合。因此,在上述示例中,所述动态网络系统方法未自动地向 救援工人发送适当的洞穴信息,或者向办公室工人提供正确建筑楼层的信 息。基于前述内容,很清楚,需要用于确定基于移动节点的动态空间状态利用该移动节点传输的数据的技术。本部分所述的方法可以被实现,但是不一定是先前已被设想出或者被 实现的方法。因此,除非这类另行指出,否则本部分所述的方法不应由于 这些方法出现在背景技术部分而被认为是本申请中权利要求的现有技术。


通过示例而非通过限制说明了本发明,在附图的图示中,相似的标号 指示类似的元件,并且其中图l是根据一个实施例示出了作为多个节点上的对象(object)的数据 项的分布式系统的框图;图2是根据一个实施例示出了涉及分布式系统中的对象的多个层次的 框图;图3是根据一个实施例示出了对象的内容的框图;图4是根据一个实施例示出了利用移动节点传输的路由选择消息的内 容的框图;图5A是根据一个实施例示出了在高层次上用于基于移动节点的空间 状态分发数据的方法的流程图;图5B是根据一个实施例更详细地示出了图5A的步骤的流程图;以及 图6是可以在其上实现本发明实施例的计算机系统的框图。
具体实施方式
下面描述用于基于与移动节点相关联的空间或组织状态来分发数据的 方法和装置。在下面的描述中,为了说明目的,阐述了许多具体细节,以 便全面理解本发明。但是,对于本领域技术人员应当清楚,没有这些具体 细节,也可以实现该发明。在其他实例中,以框图的形式示出了公知的结 构和设备,以免不必要地模糊本发明。为了说明目的,在由救援部队使用的MANet的上下文中描述了本发 明的实施例,但是本发明不限于该上下文。在其他上下文中,其他网络 (包括用于移动节点的固定无线接入点和蜂窝电话网络)采用本发明的技术来支持相同或不同的服务。
1.结构概述
图1是根据一个实施例示出了作为多个节点上的对象的数据项的分布 式系统100的框图。系统100包括一个或多个子网102,它们被连接到一个或多个网络节点(例如,网络节点110a、 110b、 110c、 110d禾P 110e, 下文中总称为网络节点110)。网络节点110包括中间网络节点(例如, 网络节点110a禾Q 110b)和无线移动末端节点(例如,节点110c和 110d)。系统100包括多个数据项,例如面向对象系统中的数据对象140a 和140b (下文中总称为数据对象140)。系统100还包括拓扑数据120和 空间树数据结构130。
子网102包括连接网络节点的任何网络,包括但不限于局域网 (LAN)、无线网络、广域网(WAN)、因特网(利用因特网协议(IP) 的异构网络中的一种网络)和虚拟专用网。为了说明目的,图1中示出了 五个网络节点110被连接到子网102。在其他实施例中,系统100包括更 多或者更少的网络节点。为了说明目的,移动末端节点110c由第一用户携带,并且通过无线链 路112a与充当建筑接入点的中间网络节点110a通信。例如,第一用户携 带作为末端节点110c的具有无线网络接口卡的膝上型计算机。作为另一个 示例,第一用户携带蜂窝电话,该蜂窝电话具有与连接到中间蜂窝网络节 点110a的蜂窝塔之间的无线链路。
同样为了说明目的,移动中间网络节点110d由第二用户携带,并且 通过无线连接112b与充当第二无线接入点的中间网络节点110b通信。移 动中间网络节点110d还被连接到由第二用户携带的网段(未示出)。网 段是网络的不包括中间网络节点的一部分。网段将移动中间网络节点110d 连接到也由第二用户携带的移动末端节点(未示出)。例如,救援工人携 带通过一个或多个网段连接到可穿戴计算机、数码相机、耳塞和头戴显示 屏的控制器的作为中间网络节点110d的个人路由器,以及作为末端节点 (未示出)的全球定位系统(GPS)。在其他实施例中,更多或者更少的用户携带更多或者更少的网络节点。
为了说明目的,假设节点110a和携带节点110C、 110d的用户在建筑 192a的房间190a中。还假设节点110b在房间190b中,该房间直接在建 筑192a中的房间190a的下面。还假设节点110e在相同园区中的建筑 192b中。
根据本发明的实施例,分布式系统100中的非路由数据基于与移动节 点(例如,节点110d)的空间状态相关的空间数据利用该节点被传输。
分布式系统100中的数据被存储在多个数据对象中,例如,节点110a 上的数据对象140a、 140b。数据对象是公知的,并且在面向对象的系统中 被广泛使用。数据对象是代表一个或多个属性和用于对那些属性进行操作 的方法的数据集合。例如参见Scott W. Ambler, 77ze Oty'e"尸n'me厂77ze v4,/z.cartow Z)eve/o/ er's gwZde to C^eC-on'ew她.ow, University of Cambridge Press, Cambridge, United Kingdom, 248pp, 1998,该参考文献的所有内容通 过引用结合于此,如同在此完整阐述了一样。对象通常被形成为共享某些 特性的对象类的实例,所述特性例如是属性的类型和名称以及用于对此进 行操纵的实际方法。例如,代表例如第一用户的人员的对象是通过向在一 类人员中定义的人员的属性赋予特定值而形成的。个体对象在针对一个或 多个对象所存储的值方面是不同的。类从而可以与不同的类共享属性和方 法。例如,人员的一些属性也是装备的属性,例如在特定经理的管理下。 类一般按层次结构相关,其中层次结构中较低的类从层次结构中较高的类 继承属性类别和方法。在其他实施例中,数据被存储在与数据对象不同的 结构中,例如平数据文件中或者关系数据库中。
尽管为了说明图1中仅示出了两个数据对象140a、 140b,但是在其他 实施例中,更多或更少的数据对象被包括在分布式系统100的两个或更多 个节点的每个中。
诸如对象140a和140b之类的数据对象存储关于作为分布式系统100 的对象的任何实体的信息,包括物理的、逻辑的、抽象的和虚构的实体。 一些对象代表物理实体,例如网络节点110、其他装备、结构、地理区域 和一个或多个人员,这是通过存储适于描述那些物理实体的属性的值和方法来实现的。在所示实施例中,对象140a和140b分别包括空间数据142a 和142b,它们指示一类对象中的空间属性的值。
节点110和子网102之间的连接被表示为分布式系统中的拓扑数据。 例如,由网络中的多个路由器维护的路由表组成分布式网络拓扑数据。至 少一些拓扑数据,例如,节点110a上的拓扑数据120,被存储在分布式系 统中多个节点处。
物理实体的空间关系被表示为空间树。至少一些空间关系被存储在分 布式系统中的多个节点处,例如节点110a上的空间树数据结构130。
2.数据对象的多个层次
在所示实施例中,大多数对象是超类(superclass)泣界的实例。,界 超类指定每个世界对象包括的最少数目和类型的属性和方法。泣界类包括 指示属性数目的属性,用于设置和获取属性的值的方法,以及用于标识对 象的父或子的方法。,岸类允许一个或多个属性是其他世界对象。
在所示实施例中,度界类包括一个被称作"形状"的属性,其是桌合 类的形^f子类的对象。桌合类包括多个属性(n元组)和用于设置和获取 那些属性的方法。形拔子类包括用于描述一个或多个多面体 (polyhedron)(其被描述为三维形状)的集合的属性n元组,以及用于 对两个或多个n元组进行比较的方法。
在所示实施例中,泣界类还包括一个被称作"路点(Way-Point)"的 属性,其是路点子类的世界对象。錄A子类包括用于指定参考帧和位置坐 标的属性n元组。在本实施例中,度界类还包括一个或多个变形方法,用 于对作为从,界类实例化的对象(所拥有)的属性的世界对象的不同参考 帧之间的坐标进行转换。在一些实施例中,/泉点子类n元组包括指示朝向 的属性。从/泉点子类实例化的路点对象是代表世界中的"地点"属性的一 类世界对象。正如这里所使用的,术语"路点"不限于地理路点,例如, GPS系统所使用的测量坐标,而是也可以指定任意向量空间中的对象的位 置。例如,在一些实施例中,对象代表物理实体,例如主机计算机或者某 些路由器,并且路点属性代表从参考网络节点起就跳数("跳计数")而言的位置。在另一个示例实施例中,路点属性代表以分贝(dB)为单位相 对于无线网络节点上的射频(RF)发射机或接收机的参考信号强度的信号 强度。由于路点对象是世界对象,所以其具有形状属性,这是因为所有世 界对象都拥有来自预定形状对象的容器的形状。不同于度岸类的更一般的 对象,路点对象不拥有世界对象(即,它们不包括作为世界对象的属 性);因此世界对象不能作为属性被添加到路点对象。
在所示实施例中,存在对象的^^ 。 ^^凌类包括用于描述一个或多
个反应的集合的属性n元组,它们自身是及应类的对象。拥有头脑子类的
对象的世界对象被称作"灵巧世界对象"或者简称为"灵巧对象"。乂i应 类包括将来自一个或多个反应的值组合,以产生被称作行为的属性的值。 ^/^类包括用来基于一个或多个其他世界对象(例如,代表传感器的世界 对象)的属性值确定反应值的方法。
如这里所使用的,"信息球(Infosphere)"是从世界超类生成的世界 对象的集合,用于描述特定的操作场景。信息球分布在分布式系统100的 多个节点上,并且描述分布式系统100的用户和多个节点的环境和操作。 在所示实施例中,特定的操作场景包括分布式系统自身的布置在一个地理 区域中的多个网络节点来支持一个或多个组织的操作。因此,信息球包括 描述分布式系统的所有网络节点的世界对象,所有感兴趣的地理位置,以 及一个或多个组织的所有元素。不同的组成部分被组织到多个层次,其中 每个层次可由一个树数据结构代表。因此,示例操作场景被组织到一个层 次中,该层次描述网络节点连通性、另一个层次的地理实体,以及所涉及 的每个组织的另一个层次,例如,政府、政府机构、军队、救援力量、紧 急反应力量等等。在一些实施例中,组织层次结构描述社会基础结构,例 如,动力网、给排水系统、铁路系统和公路系统等等。
在所示实施例中,信息球由根世界对象表示。根世界对象包括作为其 属性值的指针,这些指针指向信息球的不同层次的根对象,例如,针对网 络节点、地理区域和在操作场景中互动的一个或多个组织的根对象。
空间层次结构基于空间关系使其对象相关。例如,在所示实施例中, 作为层次结构中的一个对象的关系处在该层次结构的不同对象内。例如,代表建筑的对象在代表建筑的城市的对象的内部。这种关系在下文中被称
作INSIDE-A关系。这种空间关系与网络拓扑关系不同。在其他实施例 中,由层次结构代表的空间关系与INSIDE-A关系不同。例如,在其他实 施例中,空间关系指示一个对象在另一个对象前面(或者后面);或者指 示一个对象比另一个对象大(或者小);或者指示一个对象具有比另一个 对象更多的多面体顶点;或者指示一个对象在另一个对象的发射范围内, 或者指示其他空间关系。
组织层次结构基于组织关系使其对象相关。例如,在所示实施例中, 作为层次结构中的一个对象的关系是该层次结构中的不同对象的组成部 分。例如,代表特定骑兵的对象是代表骑兵排的对象的组成部分。这种关 系在下文中被称为IS-A关系。这种关系不同于网络拓扑关系或空间关系。 在其他实施例中,由层次机构代表的组织关系不同于IS-A关系。
网络层次结构基于网络连接关系使其对象相关。例如,在所示实施例 中,作为层次结构中的一个对象的关系被连接到该层次结构中的不同对 象。例如,代表子网上的特定网络节点的对象被连接到代表子网的对象。 该关系在下文中被称作CONNECTED-TO关系。在其他实施例中,由层次 结构代表的网络拓扑关系不同于CONNECTED-TO关系。
图2是根据一个实施例示出了使信息球中的对象相关的多个层次200 的框图。在根层级以下的每个层次中, 一个对象具有与在上层处的一个父 对象之间的关系,从该父对象该对象可以继承一个或多个属性值。 一个对 象在下一层处可以具有任意数目个子对象,这些子对象对该对象具有相同 的关系。至少三个层次被示出从网络拓扑根对象210下来的网络拓扑层 次;从空间根对象220下来的空间层次;以及从组织根对象220下来的组 织层次。在其他实施例中,还包括其他层次,如省略号201所示。例如, 如果组织根对象230代表军队的军官,则其他组织根对象被用来代表救援 部队的军官、或者警察部队的警官、或者政治组织的领导,或者基础设施 系统,例如,动力网、给排水系统和道路系统等等。
多层次通过具有相同的父对象(根世界对象202)而被结合到一起。
层次中的每个对象与父对象之间具有特定类型的关系。例如,子网对象212a、 212b和由省略号211a所指示的其他对象与网络拓扑根对象210 之间具有CONNECTED-TO关系,如实线箭头216a禾n 216b所示。类似 地,剧院对象222a、 222b和由省略号221a所示的其他对象与空间根对象 220之间具有INSIDE-A关系,如虚线箭头226a、 226b所示。类似地,部 分对象232a、 232b和由省略号231a所示的其他对象与组织根对象230之 间具有IS-A关系,如虚线箭头236a、 236b所示。这些层次继续通过一个 或多个级别,如省略号211b、 221b和231b所示。这些层次在原子对象处 结束,原子对象不再被细分,并且可以在层次中的任意级别出现。例如, 网络拓扑层次在对象214a、 214b和由省略号211c所示的对象处结束,这 些对象代表独立网络节点。类似地,空间层次在对象224a、 224b和由省略 号221所示的其他对象处结束,这些对象代表最精细粒度的空间单元,例 如,在给定位置处地球或空气的立方英里或者立方米,或者建筑内的房 间。类似地,组织层次在对象234a、 234b和由省略号231c所示的对象处 结束,这些对象代表最精细粒度的组织单元,例如,救援组织中的救援工 人、或者动力系统中的动力电路。
与不同关系相对应的不同层次中的每个层次在分布式数据系统100中 由树数据结构表示。树数据结构提供了比图数据结构更高效的方式来表示 对象之间的层次关系。 一个树数据结构代表世界根对象202和三个或更多 个根对象210、 220、 230和由省略号201所示的其他对象之间的关系。三 个或更多个分开的树数据结构代表从根对象210、 220、 230或者由省略号 201所示的其他根结构下来的树。在一些实施例中,代表在树结构中维护 的一类关系的每个层次被称作"调味(flavor)"层级,或者简称为调味, 并且关联的关系被称作关系调味。
一般来说,树数据结构仅包括指向可以检索出对象的位置的数据,例 如存储器位置或者统一资源定位符(URL)地址,而不是对象自身。在一 些实施例中,在树数据结构中包括一个或多个对象。
在所示实施例中,允许一个层次中的对象与另一个层次中的对象形成 关系。这种对象(或者指向这种对象的数据)然后出现在多于一个层次的例如,对象214a代表无线接入点(例如,网络节点110a),该对象 允许与空间对象形成INSIDE-A关系226c,所述空间对象例如是代表房间 (例如房间190a)的对象224b。类似地,允许代表单个救援工人的对象 234a与空间对象之间形成INSIDE-A关系226d,所述空间对象例如是代表 房间190a的对象224b。允许代表由救援人员穿着的移动节点(例如,网 络节点110d)的对象214b与组织对象之间形成IS-A关系236c,所述组织 对象例如是代表房间190a中的救援工人的对象234a。
这些关系中的许多是动态的。例如,随着网络节点214b移动,其打 破了与一个节点(例如,由对象212a所代表的)的CONNECTED-TO关 系,然后建立与另一个节点(例如,由对象214a所代表的)的 CONNECTED-TO关系。期望跨层次的关系是格外动态的。例如,随着与 对象234a相关联的救援工人移动穿过城市,期望INSIDE-A关系226d从 空间层次中的一个对象改变到另一个,例如,从代表房间190a的对象 224b到代表相同或者不同建筑中的不同房间(例如,房间190b)的对象 224a。
注意,空间调味(例如,房间190a)的世界对象一般具有固定的形 状,并且具有可变数目个孩子,所述孩子是根据在它们的形状内的对象来 确定的。相反,组织调味(例如,排对象)的世界对象一般具有固定的或 者缓慢改变的数目的孩子(例如,排中的所有救援工人),但是随着那些 孩子在周围移动而具有可变的形状。组织对象的形状变化成正确维度的多 面体来包围其孩子的所有形状和位置。
图3是根据一个实施例示出了世界对象300的内容的框图。每个世界 对象300包括属性和方法,如上所述。例如,世界对象300包括数据描述 属性302和数据指示方法304。 一般来说,对象300中存储的方法数据 304是对其指令被存储在其他地方(例如描述对象的超类或者类的数据结 构中)的例程的调用。在图3所示的实施例中,属性保存描述对象的数据 302,例如,网络地址302a、组织标识符(ID) 302b、空间n元组302c和 其他对象数据302d。不描述网络节点的对象不包括网络地址302a。不是 组织的一部分的对象不包括组织ID 302b。不具有空间性质的对象不包括空间n元组302c。
空间n元组是描述对象的空间性质的一个或多个值的任意向量。例 如,在一个实施例中,空间n元组包括用于以下11个属性的值 一个指 示参考帧的值,指示相对于该参考帧的原点的位置的三个坐标,三个尺寸 因子, 一个指对形状的指针,以及指示朝向的三个坐标。在所示实施例 中,参考帧和坐标被包含在路点对象中,并且空间n元组302c包括指向该 路点对象的指针。类似地,形状被表示的形状对象中,并且空间n元组 302c包括指向该形状对象的指针。形状在空间n元组302c中给出尺寸和 朝向值的上下文。
其他对象数据302d包括描述与对象300相关联的特定实体的属性的 值。例如,在代表房间190a的对象224b中,其他对象数据302d包括指示 以下内容的数据该房间中的动力和光线类型、该房间中的窗户的数目和 位置、最大分类级别、该房间可容纳的人数、该房间的墙壁的颜色、该房 间的居民和该房间中当前存储的材料,等等。对房间进行描述的属性一般 在房/坊类中列出,该类是度界类的特定子类。这种信息中的一些作为指向 其他对象的指针被包括。例如,该房间的居民由指向描述该居民的另一个 对象的指针指示。如上所述,世界对象可以包括一个或多个其他世界对 象;在这种对象中,其他数据302d包括指向其他世界对象的指针。例 如,在代表建筑的世界对象300中,其他数据302d包括指向由该建筑所 拥有的世界对象的指针,例如,代表该建筑中的不同楼层或不同房间的世 界对象。世界对象中的非空间信息(例如,其他对象数据302d)有时被称 作信息球的"信息内容(infomatics)"。
在一些实施例中,数据302包括指向一个或多个层次中的父的指针。 由于每个对象在特定层次中仅具有一个父(除了没有父的世界根对象), 所以这是容易实现的。在所示实施例中,对象300包括指向网络拓扑层次 中的父的指针310;包括指向空间层次中的父的指针320;包括指向第一 组织层次中的父的指针330;并且还包括指向另一个层次中的父的指针 340。这些指针构成树数据结构的一部分。在一些实施例中,指针310、 320、 330和340是桌合类的义、子类的对象中的属性的值。在一些实施例中,省略了指针310、 320、 330和340,并且在独立的树结构中维护父子 关系,所述独立的树结构例如是在图1中被分别示作120和130的拓扑数 据和空间数据的树结构的多个部分。在一些实施例中,数据302包括指向 一个或多个层次中的对象的子的指针。 一个对象可以具有特定层次调味的 任意数目个子,并且因此可以具有指向同一调味层次中的子对象的多个指 针。在一些实施例中,指向子的指针是桌合类的子子类的对象中的属性的 值。
方法304包括对数据302所示的由世界对象300所拥有的两个或更多 个对象执行空间操作的方法。在一些实施例中,方法304包括用于接受第 二对象的空间n元组并且确定两个对象之间的空间关系的方法。例如,一 种方法根据层次确定一个对象是否在其他对象内部。 一种方法确定由对象 所述的两个实体的原点之间的距离。 一种方法确定两个实体的外表面之间 的距离(负距离指示两个实体重叠,与其尺寸相比足够大的负值指示一个 在另一个内部)。 一种方法确定第二实体相对于第一实体的朝向(例如, 答复关于一个是否在另一个前面的问题)。 一种方法确定任一对象的全局 坐标。 一种方法计算一个对象的移动来增大或者减小到另一个对象的距 离。用于空间变换或者答复空间查询的许多其他方法被包括在各种实施例 中。
在示例实施例中,每个世界对象300是可扩展标记语言(XML)文 档。XML在网络通信领域是公知的。XML文档采用用户定义的标签来将 数据流划分成可以被嵌套(nest)的独立部分。 一组标签被用来对描述空 间和组织信息的信息进行划分。
根据在下一部分中描述的实施例,来自一个或多个世界对象(例如对 象300)的非路由数据基于空间或组织关系从一个网络节点被发送到另一 个。在一些实施例中,非路由数据在特殊的世界对象数据消息中被发送。 在一些实施例中,非路由数据与路由数据一起或者与路由数据分离地在路 由协议控制消息中被发送。图4是根据一个实施例示出了利用移动节点传 输的路由协议控制消息400的内容的框图。
路由协议控制消息400包括头部信息和有效载荷410,所述头部信息将该消息标识为路由协议控制消息,并且还指示该消息的长度。有效载荷 410包括来自发送节点的链路状态数据412和针对接收节点的非路由(空
间或组织相关的)数据414。链路状态数据412根据许多公知链路状态协 议中的任意协议指示被直接连接到发送节点的当前节点。在其他实施例 中,除链路状态数据412之外还包括其他路由数据,或者其他路由数据被 包括来替换链路状态数据412。
空间/组织相关数据414包括来自一个或多个对象的数据,这些数据被 用来更新在接收节点上存储的对象或者通过接收节点到达的对象。在一些 实施例中,.数据414包括对己存储在接收节点上的一个或多个对象(例 如,图1中的节点110a上的对象140a)的内容进行更新的数据。在一些 实施例中,数据414包括将作为存储在分布式系统中的其他地方的对象
(例如,存储在分布式系统100的节点110d上的对象)的复本的对象
(例如,对象140b)添加到接收节点的数据。
在示例实施例中,路由协议控制有效载荷410的至少一部分是XML 文档。例如,在一些实施例中, 一组标签被用来划分描述链路状态的信息 412,而另一组标签被用来划分描述空间/组织相关信息414的信息。在一 些实施例中,路由协议有效载荷410包括利用对于发送和接收节点来说已 知的任意压縮方法压縮的XML文档的压縮版本。存在许多本领域公知的 并且适于压縮有效载荷410中的XML文档的压縮方法。例如,在一些实 施例中,所使用的压縮方法是在Moon等的美国专利申请No. 6,711,741中 描述的压縮方法,该专利申请的全部内容通过引用结合于此,如同在此完 整阐述了一样。在一些实施例中,XML文档是RSS流。
3.用于基于空间状态分发数据的方法
图5A是根据一个实施例在高层次示出了用于基于移动节点的空间状 态分发数据的方法的流程图。尽管为了说明目的在图5A中示出了步骤并 且后续流程图是按照特定顺序示出的,但是在其他实施例中, 一个或多个 步骤是按不同顺序执行的、或者在时间上重叠执行的、或者被省略,或者 以这些方式的某些组合被改变。 一般而言,图5A和5B所代表的用来对代表网络节点的对象的子和父的关系和属性进行处理的处理一般是由分布式 系统中受影响的网络节点执行的,并且作为消息被中继到分布式系统中的 其他网络节点。
在步骤502中,对网络节点连接、信息球中的对象之间的空间关系和 组织关系进行描述的树数据结构被建立。例如,建立了四个树数据结构。 网络树数据结构根据网络拓扑根对象210描述分布式数据系统的网络节点
110之间的CONNECTED-TO关系。空间树数据结构根据空间根对象220 描述分布式数据系统100的对象之间的INSIDE-A关系。组织树数据结构 根据组织根对象230描述分布式数据系统100的对象之间的IS-A关系。世 界树数据结构根据世界根对象202描述到根对象210、 220和230的关系。
在一些实施例中,每个树数据结构描述一个完整的树,并且中心位于 一个节点上。在一些实施例中,每个树数据结构描述一个完整的树,并且 被复制到多个网络节点上。在一些实施例中,每个树数据结构描述树的一 部分,并且一起描述整个树的多个树结构在被复制或者未被复制的情况下 被分布在多个节点上。在一些实施例中,每个树数据结构描述一个父-子关 系,并且在被复制或者未被复制的情况下被存储在单个对象中,并且多个 树结构一起描述整个树。在所示实施例中,每个节点开始于预配置的初始 信息球和相关联的树,并且与其他节点通信来至少完全填充空间树。
在示例实施例中,网络节点树、空间树和组织树中的每个世界对象是 灵巧世界对象。当分布式系统的网络节点被加电时,分布式系统引导进程 被执行。分布式系统引导进程加载根据一个或多个预配置的数据库描述信 息球的版本的数据(如果存在的话)。 一种预配置的数据库描述信息球的 一个或多个对象的初始状态。例如,每个网络节点以作为其数据库中的对 象的建筑192a和192b的描述开始启动。那些建筑拥有两个房间;例如, 建筑192a拥有描述房间190a和190b的对象224b和224a。类似地,每个 网络节点以对至少低至排级的救援组织的描述进行引导。所以,在初始信 息球中存在多个世界对象。每个都具有位置、父和形状。其他预配置的数 据库描述对于信息球有用的一个或多个形状对象。例如,形状数据库包括 被称作人类的形状对象,其是定义人类形状的坐标的n元组。作为又一个示例,形状数据库包括被称作盒子的形状对象,其是定义用作一些房间的
形状的盒子形状的坐标的n元组。
网络节点还检索指示其自己身份的数据,例如,其自己的媒体访问控
制(MAC)号或者其自己的序列号,或者路由器号。网络节点然后确定其
是否被标识为信息球的初始状态中的对象。如果是,则然后所找到的世界
对象变为被称作ThisWorldObject的特定对象,该对象是7T^『orWC^e" 类的实例,并且利用该类的若干属性和方法而被专门对待。例如,接入点 网络节点110a确定出其是初始信息球中的网络节点对象214a;并且网络 节点对象214a拥有ThisWorldObject的实例。如果网络节点在初始信息球 中未被找到,则节点创建代表其自身的ThisWorldObject, ThisWorldObject 首先既未被初始信息球中的其他对象所拥有也不被初始信息球中的其他对 象所指向。例如,个人路由器网络节点110d在初始信息球中未被找到, 并且创建由网络对象(例如,214b)所拥有的ThisWorldObject来代表其 自身。在引导时,对象214b未被与层次结构中的任何其他对象相关(例 如,未包括到代表特定救援工人的组织单元234a的IS-A关系236c)。
在步骤510中,包括空间和组织数据的移动数据从移动节点被接收 到。空间数据包括位置、尺寸、形状和朝向数据的任意组合。在所示实施 例中,移动数据包括非空间数据,例如,与与移动节点相关联的一个或多 个组织对象相关的数据(例如,关于携带节点110d的救援工人的数 据)。移动节点被与分布式数据系统中的数据对象(例如,214b)相关 联。
在示例实施例中,在步骤510期间,连接到网络节点的任意传感器对 其环境进行测量,并且将数据报告给适当的数据对象。例如,被连接到网 络节点110d的GPS传感器向由节点110d创建并由对象214b所拥有的灵 巧ThisWorldObject的头脑对象所拥有的位置反应对象报告当前位置。为 了说明,还假设救援工人的标识芯片被査询,向由节点110d创建的 ThisWorldObject的头脑对象所拥有的用户反应对象报告该救援工人的标识 (工人ID)和排标识(排ID)。为了说明,还假设无线路由器报告从接 入点网络节点110b接收到用于发现的路由选择协议控制分组。因此,网络节点110d接收包括非路由选择数据的数据(例如,指示其GPS位置的 空间数据)和指示救援工人或者某个排的组织数据。为了说明,还假设接 入点网络节点110b和某个排在初始信息球中具有对象,但是移动网络节 点和特定救援工人在初始信息球中未被对象表示。因此,在510的初始执
行期间,在所示实施例中,新对象214b和234a被实例化。
结果,移动网络节点110d被与分布式系统100中的对象的层次200中 的对象214b相关联。移动网络节点110d还通过IS-A关系236c被与代表 救援工人的对象234a相关联。因此,在该示例中,对象214b和234a二者 都被与移动网络节点110d相关联。
在一些实施例中,这种数据在路由协议控制消息(例如,消息400) 中被节点110d发送并在节点110b处被接收到。链路状态数据412指示新 的网络节点对象214b正被添加到信息球。该空间/组织相关数据414指示 新的对象234a正被添加到信息球,下面将参考步骤550更详细地描述。当 由对象234a所代表的工人稍后移动到另一个房间时,可能是不同的接入点 网络节点接收到另一条消息,该消息包括指示由对象214b、 234a所拥有的 路点对象正被利用一个或多个新坐标或者朝向更新的空间相关数据414。 在该示例实施例中,数据414被格式化为用于代表与网络节点110d相关 联的世界对象214b、 234a的XML文档的RSS更新。利用RSS的一个优 点是其被设计来对XML文档的一个或多个标签的特定集合中的信息进行 更新,而不是产生整个文档。
类似地,链路状态数据412指示拥有对象214b的对象因为连接改变 而正被更新。新的连接包括与节点110a之间的直接无线连接,并且丢弃与 不同建筑中的其他网络节点(例如,节点110e)的先前连接。在一些实施 例中,数据412还被格式化为RSS更新,这次被格式化为用于下述XML 文档的更新,该XML文档代表表示以前拥有网络节点110d的节点(例 如,节点110e)的世界对象。在一些实施例中,数据412被格式化为用于 下述XML文档的RSS更新,该XML文档代表表示现在拥有网络节点 110d的节点110a、 110b的世界对象(包括对象214a)。在一些实施例 中,该数据被格式化为针对节点110的以前的拥有者和新拥有者二者的XML文档的RSS更新。
在步骤520中,与移动节点相关联的对象和分布式数据系统中的第二 对象之间的非拓扑关系基于非路由数据被确定。例如,对象214b或对象 234a (或者这二者)与诸如224b之类的空间单元之间的关系基于空间数据
在示例实施例中的步骤520期间,信息球中的每个灵巧世界对象进入 操作循环,在该操作循环中允许其头脑思考一定量的时间。这种思考操作 循环的结果是可能导致一个或多个灵巧世界对象改变它们与一个或多个层 次中的其他对象之间的关系的行为。例如,在引导过程期间,灵巧组织单 元对象(工人对象234a)被实例化为某个排对象的IS-A孩子来代表该特 定的救援工人。作为另一个示例,拥有由节点110d创建的 ThisWorldObject的网络节点对象214b确定在初始信息球中,其与代表 110b的网络节点对象之间具有CONNECTED-TO关系,并且与工人对象 234a之间具有IS-A关系。在步骤520的后续执行期间,作为与在步骤510 期间接收到的一个或多个对象的属性值的改变的结果, 一个或多个关系发 生改变。
为了说明目的,假设在引导过程之后,移动节点110d的新的坐标将 该移动节点置于在分布式系统100中由对象224b代表的房间190a的内 部。在本实施例中,对象234a的方法与其路点对象的新坐标一起被用来确 定对象234a是否在空间层次的一个对象内部。该方法考虑了空间层次的对 象和对象234a二者的尺寸和形状。该步骤的结果是在代表特定救援工人的 对象234a和代表房间190a的对象224b之间建立了 IS-A关系226d。
在一个实施例中,该方法首先被应用到空间根对象220的子对象 222a、 222b和221a。为了说明目的,假设该方法确定出对象234a在剧院 对象222b的内部。接下来剧院对象222b的子被检查,以找到对象234a在 其内部的子。该过程被重复,直到不再有对象234b在其内部的子被找 到。因此对象234b在该父内部,并且INSIDE-A关系被添加到该空间树。 在另一个实施例中,如果有的话,该过程开始于对象234a的当前INSIDE-A父。如果对象234a不再在该父内部,则该父的父接下来被操作,直到找到对象234b位于其内部的一个父。然后该父的子被检查,直到不再有该 对象在其内部的子被找到为止。
因此,在步骤520中确定出对象234a位于代表房间190a的对象224b 的内部;并且空间树结构被更新来包括从救援工人的对象234a到代表房间 190a的对象224b的INSIDE-A关系226d。
在步骤550中,与移动节点的通信是至少部分基于非拓扑关系的。在 所示实施例中,接收移动数据的网络节点确定拥有ThisWorldObject的对 象的任意属性是否已经改变。该改变被调度来被发送到网络中的其他节 点。在所示实施例中,在与相邻节点的网络协议通信期间,该节点将被调 度的改变发送到其所有邻居,并且接收来自其他节点的被调度的改变。在 一些实施例中,从其他节点接收到的改变被调度以在与另一些节点的下一 次通信期间发送。从而信息球改变被传播遍整个网络。
在一些实施例中,发送的改变被过滤,以使得仅某些信息被发送。例 如,空间数据被发送到所有相邻节点,但是关于救援工人的物理条件的数 据仅被发送到一个节点并且被导向组织健康服务器,该服务器充当健康信 息的中央仓库。在一些实施例中,仅从影响ThisWorldObject的另一个节 点接收到的改变被存储以发送到其他节点。
例如,在初始引导后,移动节点110d发送路由控制消息400,路由控 制消息400包括指示作为CONNECTED-TO接入点网络节点214a的新对 象214b的形成的路由数据412,路由控制消息400还包括非路由数据 414,非路由数据414指示新对象234a的形成、214b和234a之间的IS-A 关系、以及对象234a和代表某个排的对象之间的IS-A关系。在一些实施 例中,非路由数据414还包括组织对象234a和空间对象224b之间的IN-A 关系。在一些实施例中,接收节点确定后面的IN-A关系。下面参考图5B 更详细地描述步骤550的另一个实施例。
在所示实施例中,步骤520包括步骤522、 524、 526、 528。在步骤 522中,第一对象被与移动节点相关联。例如,代表特定救援工人的对象 234a被与移动节点110d相关联。
在步骤524中,第一对象中的空间数据基于在步骤510中从移动节点接收到的空间数据被更新。例如,对象234a所拥有的路点对象的坐标基于 在步骤510期间接收到的描述坐标改变的RSS数据被更新。
在步骤526中,确定感兴趣的空间关系。例如,在步骤526中确定感 兴趣的空间关系是针对在救援工人IM的对象的空间关系,并且确定该救 援工人在其内部的空间对象。
在步骤528中,第二对象基于第一对象和第二对象中的空间数据、感 兴趣的关系和空间关系树而被确定。例如,基于救援工人的新位置和 INSIDE-A空间关系树,确定出代表救援工人的对象234a是代表房间190a 的INSIDE-A对象224b。基于感兴趣的关系和代表救援工人的对象234a 的朝向,确定出救援工人正面对房间190a的北侧墙壁中的对象。从而在步 骤528中确定出在北侧墙壁中房间对象224b所拥有的若干个对象。为了 说明目的,假设描述燃气管线的对象是房间对象234b所拥有的对象之一 并且位于北侧墙壁中。因此,第二对象描述燃气管线。对于救援工人该信 息可能是关键的,例如,如果救援工人正试图切入北侧墙壁来接近被邻近 房间中的墙壁坍塌产生的瓦砾堵在该墙壁后的人员的话。
因此,在一些实施例中,第二对象是由空间树结构定义的对象(由树 结构的INSIDE-A关系定义的代表房间190a的对象224b)。在一些实施 例中,第二对象是基于与在空间树中使用的空间关系不同的空间关系的 (代表AHEAD-OF救援工人的墙壁中的燃气管线的对象)。
在步骤550中,基于空间关系执行与移动节点的通信。例如,在初始 引导后,描述房间190a的对象224b的一些或者全部内容被发送到移动节 点110d。例如,空间内容是描述房间的在救援工人前面的部分的内容部 分,如上所述。仅发送部分内容是有利的,这是因为最关键的信息通过网 络被发送,而无需将不感兴趣的数据发送到接收方而额外消耗网络资源。 步骤550包括接收来自移动网络节点的数据,例如如上所述在引导期间。
同样在步骤550期间,基于网络拓扑层次结构,根据路由协议和路由 方法,这种信息被路由过与移动节点110d直接通信的节点之一,例如, 节点110a或者节点110b。
在所示实施例中,来自对象224b的对房间190a的全部或一部分进行描述的RSS数据被包括在路由协议消息400中的空间/组织相关数据414 中。在本实施例中,对指示被连接到节点110a的网络节点和子网的链路状 态数据412进行描述的RSS数据被包括在路由协议消息400中的链路状态 数据412中。这些链路状态数据是从代表节点110a的对象214a抽取的。
在一些实施例中,步骤550包括基于空间关系(例如,节点110c和携 带节点110d的救援工人INSIDE-A由对象224b代表的房间190a)来路 由数据(例如,确定是使用节点110a还是110b),或者配置一个或多个 节点(例如,将节点110b配置为使用不同的功率水平和射频(RFp ,或 者命令一个移动节点移动(例如,使一个机器人上的节点110c远离节点 110b向节点110a移动),或者某些组合。
图5B是根据步骤550的实施例552更详细地示出了一个步骤的流程 图。在所示实施例中,步骤552包括步骤562、 566、 568和570。
在步骤562中,第二网络节点被与第二对象相关联。在上述示例中, 第二对象是代表房间190a的对象224b。在步骤562期间,第二节点被与 对象224b相关联。例如,由对象214a代表的接入点网络节点110a被与代 表房间190a的对象224b相关联。这种关联是基于初始信息球中的对象 214a (节点110a)和对象224b (房间190a)之间的INSIDE-A关系226c 的。
在步骤566中,数据从与移动节点相关联的第一对象被发送到第二节 点。在上述示例之一中,第一对象是代表携带节点110d的救援工人的对 象234a。因此,在本示例中,数据从描述救援工人的对象234a被发送到 节点110a。例如,对象234a的拷贝在节点110a处被复制,以在节点110a 处支持上下文敏感通信。在一些实施例中,对与对象234a相关联的网络节 点110d进行描述的对象214b的拷贝也在节点110a处被复制,以在节点 110a处支持上下文敏感通信。在一些实施例中,步骤566被省略,或者在 下面将描述的步骤568或570之后。
在步骤568中,建立第二节点和移动节点之间的直接通信。例如,在 节点110a处确定形成与节点110d之间的邻接关系。结果,节点110a处的 拓扑数据120被更新来示出与节点110d的连接。在一些实施例中,省略了步骤568。
在步骤570中,路由数据从第二节点被发送到移动节点。例如,在节 点110a处存储的一些或全部拓扑数据120被发送到节点110d。在一些实 施例中,由代表节点110a的对象214a所拥有的并且作为对象140a存储在 节点110a上的一些或者全部网络节点对象被发送到节点110d。在所示实 施例中,路由数据作为代表拓扑数据120或者对象214a的XML文档的 RSS更新流在消息400的链路状态数据412中被发送。
在一些实施例中,步骤570包括步骤572。在步骤572中,来自第二 对象的数据被包括在来自与第二对象相关联的第二节点的路由消息中。在 上述示例中,第二对象是代表房间190a的对象224b。因此,来自对象 224b的房间数据被包括在被发送向移动节点110a的消息400中。例如, 整个对象224b被发送到移动节点110d,以被复制在该移动节点上。由于 该移动节点现在位于房间190a的内部,所以房间对象224a中描述的数据 与该移动节点相关。在所示实施例中,房间数据作为来自消息400的空间Z 组织相关数据414中代表对象224b的XML文档的RSS更新流而被发送。
如前述实施例所述,信息球内的信息内容以空间/组织相关的方式被传 播到网络节点。该方法的优点在于这种信息内容传播不利用发送在接收节 点处不大可能使用的分布式数据而加重网络资源的负担。
4.更多示例实施例
在本部分中,参考图5A和图5B描述本发明的额外实施例。 4.1基于空间状态的路由
在下一个示例实施例中,第一对象是代表移动节点110d的对象 214b,而第二对象是代表与移动节点110d最接近的接入点网络节点110b 的对象(未示出)。为了说明目的,假设最接近的接入点是房间190a下的 房间190b中的网络节点110b。
在步骤510中,从移动节点110d接收到指示其当前位置的数据,例 如,具有参考由对象234b代表的分布式系统100中的人员运送工具的位 置的坐标的本地三角测量系统。例如,通过从节点110d到人员运送工具(未示出)再到子网102上的另一个接入点(未示出)的通信链路(未示
出),在网络节点110e上的过程处接收到来自子网102的该数据。接收到 的数据指示移动节点具有特定的节点标识符(节点ID)。
在步骤520期间,确定与节点110d相关联的第一对象和第二对象之 间的空间关系。在步骤522中,节点110e上的过程确定第一对象被限制为 代表移动节点自身的对象。基于节点ID,节点110e处的过程在步骤522 期间与分布式系统100的一个或多个节点上的过程交互,来确定对象214b 描述节点110d。在其他实施例中,对象214b被包括在从移动节点110d接 收到的数据中。在步骤524期间,由对象214b拥有的路点基于在步骤510 中接收到的空间数据被更新。例如,在其中在步骤510期间接收到对象 214b的实施例中,接收到的对象214b被复制到分布式系统中存储了该对 象的其他节点。
在步骤526中,节点110e处的过程确定空间关系是最接近对象。 在步骤528中,节点110e处的过程确定第二对象被限制为接入点,并 且从而确定到移动节点110的的最接近接入点。可以使用任何方法。在所 示实施例中,对象214b包括指示下述内容的数据该对象所拥有的路点 坐标参考了由对所234b代表的人员运送工具的位置。节点110e处的过程 与分布式系统100的一个或多个节点上的过程交互,来确定由代表该人员 运送工具的对象234b拥有的路点对象中的位置。节点110e处的过程基于 其相对坐标、对象234b相对于由对象222b代表的剧院的坐标的坐标,确 定对象214b的位置。在一个实施例中,节点110e处的过程考虑由网络节 点拓扑层级中的接入点网络节点拥有的路点对象,并且调用剧院对象222b 的方法来确定每个接入点与对象214b之间的距离。在另一个实施例中, 节点110e处的过程确定网络节点110d INSIDE-A对象224b,并且仅考虑 具有与对象224b的先辈(例如,父或者父的父,等等)的INSIDE-A关系 的网络节点对象。在这些网络节点对象中,节点110e处的过程考虑由这些 对象拥有的路点对象,并且调用剧院对象222b的方法来确定对象214b和 这些网络节点对象中的每个之间的距离。最接近的一个被确定为第二对 象。因此,代表节点110b的网络节点对象在第二步骤528中被确定为第二对象。
在步骤562中,第二对象与网络节点相关联。在该示例中,由于第二
对象代表网络节点110b,因此这样做是繁琐的,因此在步骤562中,网络 节点110b被识别出。
在步骤566中,数据从对象214b被发送到节点110b。例如,节点 110e使对象214b被发送到节点110b,以使得对象214b被复制到节点 110b上。在一些实施例中,省略了步骤566。
在步骤568中,建立移动节点U0d和第二节点110b之间的直接通 信。例如,网络节点110d被使得与网络节点110b相邻。在一些实施例 中,网络节点110b改变功率或频率来建立与网络节点110d的通信。
在步骤570中,对节点110b拥有的子网和网络节点进行描述的路由 数据在路由协议控制消息中被从网络节点110b发送到网络节点110d。在 步骤572中,该消息包括来自第二对象的非路由数据。例如,空间相关数 据414包括接入点网络节点110b的位置、形状、尺寸和朝向,以及一些 信息内容,例如,接入点网络节点110b的年龄和健康和组织拥有关系。
4.2基于空间状态引导非路由数据
在另一个示例中,移动节点110d存储分布式系统的若干个对象,包 括描述其自身的对象214b的拷贝,描述携带移动节点110d的救援工人的 对象234a。对象234a被与移动节点110d相关联。为了说明目的,假设对 象234a包括指示以下内容的数据救援工人的当前健康,例如,从该救援 工人穿戴的并且被连接到主机的传感器获得的该救援工人的血液中当前的 氧气水平,其中主机通过代表个人区域网络的网段被连接到移动节点 110d。
在步骤510中,网络节点110e经由人员运送工具接收指示移动节点 110d当前位置的数据,如上所述。
在步骤520期间,基于从移动节点110d的空间数据确定的INSIDE-A 关系226d,确定代表携带移动节点110d的救援工人的第一对象234a被与 代表房间190a的第二对象224b相关联,如上所述。
在步骤550中,基于这种关系执行与移动节点的通信。在步骤562中,基于INSIDE-A关系226c,确定接入点网络节点110a被与代表房间 190a的对象224b相关联,如上所述。
在在本实施例中的步骤566之前执行的步骤568期间,建立网络节点 110a和110d之间的直接通信。这包括将路由协议控制消息从节点110a发 送到节点110d。
在步骤566期间,来自代表救援工人的第一对象234a的数据从移动节 点110d被发送到第二节点110a。例如,该工人的血液中的当前氧气水平 被发送来对分布式系统中的另一个节点(例如,另一个建筑中的节点110e 处救援组织的中央现场网络节点处)上的对象234a的复本进行更新。
响应于在步骤568期间节点110a发送的控制消息,路由协议控制消息 被从节点110d发送到节点110a。在本实施例中,血液氧气水平在路由控 制消息400中的空间/组织相关数据414中作为对代表对象234a的XML文 档的RSS更新与描述到移动节点110d的当前连接的链路状态数据412 — 起被发送到第二节点110a。空间/组织相关数据414在从节点110a到节点 110e的路由控制协议消息中被转发到节点110e上的复制的对象234a。在 一些实施例中,从节点110a到节点110e的该路由协议控制消息不包括链 路状态数据412。
4.3临时空间对象
在一些实施例中,方法500包括基于移动节点的空间状态,生成空间 层次结构中的临时对象。在这些实施例中,步骤510包括从移动节点接收 指示要与空间对象相关联的临时对象的数据。在这里被称作信标对象的临 时世界对象指示与在空间上与移动节点的空间状态相关的第二对象相关联 的额外数据。
首先,基于在步骤510中接收的空间数据,诸如代表房间190a的房间 对象224b之类的空间单元对象被与移动节点110d相关联。包括在在步骤 510期间接收到的数据中的(例如,路由控制消息400的空间/组织相关对 象414中的)例如世界对象300之类的信标对象然后也被与代表房间190a 的对象224b相关联。信标对象的其他属性302d指示该对象的生命期和与 该信标相关联的状态。信标状态包括移动节点的用户希望与空间对象相关联的任意信息。信标状态的示例包括但不限于由已被搜索并被找到的空 间对象代表的空间单元(例如,房间);所找到受伤人员;所找到的危险 的装备;检查到的敌对人员;与房间中的电话相关联的呼叫者标识(呼叫 者ID)信息;与房间相关联的联系信息;与会议室相关联的调度信息;房
间的占有历史(例如,Fred Apple、 John Banana禾Q Bill Coconut分别周 二、周三和周四在该房间中);从该房间到建筑的紧急出口的一个或多个 地图;该房间的相关广播信息(例如,购买和出售与该房间相关联的企业 实体的当前股票报价,该房间的建筑附近的当前天气,该房间的建筑附近 的当前交通);该房间中来自该时刻的已记录的环境数据(例如,温度、 湿度、氧气水平、污染水平);与该房间相关联的其他信息(例如,正在 该房间的音频扬声器或者对讲装置上播放的歌曲的名称)。 4.4空间查询
在一些实施例中,方法500包括利用空间结构对查询作出响应。在这 些实施例中,步骤510包括从移动节点接收数据,该数据包括对基于空间 状态的关于一个或多个对象的信息的查询。例如,查询被包括在路由控制 消息400的空间/组织相关数据414中。该査询指定一个或多个空间条件。
在示例实施例中,该查询指示对关于移动节点刚好在内部的特定空间 单元的数据的请求,或者对关于比该特定空间单元高或者低一个或多个级 别的数据的请求。
作为另一个示例,该査询指示对关于在距移动节点特定距离内的所有 空间对象或者组织对象或者网络节点对象的数据的请求。在这里,距离是 利用对对象n元组(例如,米数、跳数和发射强度的dB数)进行操作的 方法确定的任意距离。
作为另一个示例,该査询指示对关于与移动节点相关联的对象的特定 方向内的(例如,在由对象234a代表的救援工人的前面的)所有空间对象 或者组织对象或者网络节点对象的数据的请求。在这里,方向是利用对对 象n元组(例如,从前向的水平和垂直方向的度数、跳的方向和发射频 率)进行操作的方法确定的任意函数。
在这些实施例中,在步骤520中确定的空间关系和对象取决于查询中的空间结构。在步骤550中直接或间接传输到移动节点的数据取决于在步 骤520中确定的空间关系和对象。
5.0实现机构一硬件概述
图6是可以在其上实现本发明实施例的计算机系统600的框图。计算 机系统600包括诸如总线610之类的通信机构,用于在计算机系统600的 其他内部和外部组件之间传递信息。信息被表示为可测量现象的物理信 号,典型的是电压,但是在其他实施例中包括例如磁、电磁、压力、化 学、分子原子和量子反应之类的现象。例如,北磁场和南磁场、或者零和 非零电压代表二进制数位(位)的两种状态(0、 1) 。 二进制数位的序列 组成用于表示数字或字母代码的数字数据。总线610包括并行的信息导 体,以使得信息在耦合到总线610的多个设备之间被快速传送。用于对信 息进行处理的一个或多个处理器602被与总线610耦合。处理器602对信 息执行一组操作。该组操作包括从总线610取回信息和将信息放置到总线 610上。该组操作一般还包括对两个或更多个信息单元进行比较,对信息 单元的多个部分移位,以及例如通过加或者乘来对两个或更多个信息单元 进行组合。要被处理器602执行的操作序列构成计算机指令。
计算机系统600还包括耦合到总线610的存储器604。存储器604 (例如,随机存取存储器(RAM)或其他动态存储设备)存储包括计算机 指令在内的信息。动态存储器允许存储在其中的信息被计算机系统600改 变。RAM允许存储在被称作存储器地址的位置处的信息单元独立于在相 邻地址处的信息而被存储和提取出。存储器604也被处理器602用来在执 行计算机指令期间存储临时值。计算机系统600还包括只读存储器 (ROM) 606或者其他静态存储设备,所述设备耦合到总线610用于存储 不被计算机系统要600改变的静态信息,包括指令。被耦合到总线610的 还有非易失性(持久)存储设备608,例如是磁盘或光盘,用于存储包括指令在内的信息,该信息即使在计算机系统600被关机或者以其他方式掉 电也被保持。
包括指令在内的信息从外部输入设备612 (例如,包含由人类用户操作的字母数字键的键盘、或者传感器)被提供给总线610,以由处理器使 用。传感器检测其附近的条件,然后将那些检测转换成与用于在计算机系
统600中表示信息的信号兼容的信号。耦合到总线610的其他外部设备主
要用于与人类交互,这些设备包括用于呈现图像的显示器设备614,例
如,阴极射线管(CRT)或者液晶显示器(LCD);以及用于对在显示器 614上呈现的小光标图像的位置进行控制和分发与显示器614上呈现的图 形元件相关联的命令的点选设备616,例如,鼠标、轨迹球、或者光标方 向键。
在所示实施例中,诸如专用集成电路(IC) 620之类的专用硬件被耦 合到总线610。专用硬件被配置来为了专门目的足够快地执行不由处理器 602执行的操作。专用IC的示例包括用于生成显示器614的图像的图形加 速卡、用于对通过网络发送的消息进行加密和解密的密码板、语音识别和 到专用外部设备的接口 ,所述专用外部设备例如是重复执行用硬件更有效 地实现的某些复杂操作序列的机器人手臂和医学扫描装备。
计算机系统600还包括耦合到总线610的通信接口 670的一个或多个 实例。通信接口 670提供到利用它们自己的处理器进行工作的多种外部设 备(例如,打印机、扫描仪和外部磁盘)的双向通信耦合。 一般而言,该 耦合是利用被连接到本地网络680的网络链路678实现的,那些利用它们 自己的处理器工作的多种外部设备也被连接到本地网络680。例如,通信 接口 670可以是个人计算机上的并行端口或者串行端口或者通用串行总线 (USB)端口。在一些实施例中,通信接口 670是综合业务数字网 (ISDN)卡、数字订户线(DSL)卡,或者提供到对应类型的电话线的信 息通信连接的电话调制解调器。在一些实施例中,通信接口 670是有线调 制解调器,用于将总线610上的信号转换成用于通过同轴线缆的通信连接 的信号,或者转换成用于通过光缆的通信连接的光信号。作为另一个示 例,通信接口 670可以是提供到兼容LAN (例如,以太网)的数据通信连 接的局域网(LAN)卡。也可以实现无线链路。对于无线链路,通信接口 670发送和接收传输信息流(例如,数字数据)的电、声或者电磁信号, 包括红外和光信号。这种信号是载波的示例。术语计算机可读介质在这里被用来指代参与向处理器602提供指令以 执行的任何介质。这种介质可以采用多种形式,包括单不限于非易失性介 质、易失性介质和传输介质。非易失性介质包括例如光或磁盘,例如,存
储设备608。易失性介质包括例如动态存储器604。传输介质包括例如同 轴线缆、铜线、光缆,以及在不利用线路或线缆的情况下通过空间传输的 波,例如声波和电磁波,包括无线电、光和红外波。通过传输介质传输的 信号在这里被称作载波。
计算机可读介质的常见形式包括例如软盘、柔性盘、硬盘、磁带、或 者任何其他磁介质,致密盘ROM (CD-ROM)、或者任何其他光介质, 穿孔卡、纸带、或者具有孔装图案的任何其他物理介质,RAM、可编程 ROM (PROM)、可擦除PROM (EPROM) 、 FLASH-EPROM、或者任 何其他存储器芯片或盒带,载波,或者计算机可从其读取的任何其他介 质。
网络连接678 —般提供通过一个或多个网络到使用或处理信息的其他 设备的信息通信。例如,网络连接678可以提供通过局域网680到由因特 网服务提供商(ISP)操作的主机计算机682或者装置684的连接。ISP装 备684又通过网络中现在被称作因特网690的公共全球分组交换通信网络 提供数据通信服务。连接到因特网的被称作服务器692的计算机响应于通 过因特网接收到的信息提供服务。例如,服务器692提供代表视频数据的 信息以在显示器614上呈现。
本发明涉及利用用于实现这里所述技术的计算机系统600。根据本发 明的一个实施例,那些技术由计算机系统600响应于处理器602执行存储 器604中包含的一条或者多条指令的一个或多个序列。这些指令也被称作 软件和程序代码,可以从诸如存储设备608之类的一种计算机可读介质读 取到存储器604中。执行存储器604中包含的指令序列使处理器602执行 这里所述的方法步骤。在替换实施例中,诸如专用集成电路620之类的硬 件可以被用来替换软化或者与软件组合来实现本发明。因此,本发明的实 施例不限于硬件和软件的任何特定组合。
经通信接口 670 (其向和从计算机系统600传输信息)通过网络链路678和其他网络发送的信号是载波的示例形式。计算机系统600可以通过
网络680、 690等、通过网络链路678和通信接口 670,发送和接收包括程 序代码在内的信息。在利用因特网690的示例中,服务器692通过因特网 690、 ISP装备684、本地网络680和特性接口 670,发送从计算机600发 送的消息所请求的用于特定应用的程序代码。被接收到的代码可以在其被 接收到时由处理器602执行,或者可以被存储在存储设备608或者其他非 易失性存储设备中用于稍后执行,或者这二者兼有。这样,计算机系统 600可以以载波形式获得应用程序代码。
各种形式的计算机可读介质可以被用来将一个或多个指令序列或者数 据或者这二者传递到处理器602以被执行。例如,指令和数据可能最初被 存储在诸如主机682之类的远程计算机的磁盘上。远程计算机将指令和数 据加载到其动态存储器中,并且利用调制解调器通过电话线发送指令和数 据。计算机系统600本地的调制解调器接收电话线上的指令和数据,然后 利用红外发射器将这些指令和数据转换成红外信号,其中载波充当网络连 接678。充当通信接口 670的红外探测器接收红外信号中传递的指令和数 据,并且将代表这些指令和数据的信息放置到总线610上。总线610将信 息传递到存储器604,处理器602从存储器604提取并利用与指令一起发 送数据中的一些执行指令。在存储器604中接收到的指令和数据在处理器 602执行之前或之后可以可选地被存储到存储设备608上。
6.0扩展和修改
在前面的说明书中,已参考本发明的特定实施例描述了本发明。但 是,将清楚,在不脱离本发明的宽广精神和范围的情况下,可以对本发明 作出各种修改和改变。因此,说明书和附图应当被认为是说明性的而非限 制性的。
权利要求
1.一种用于管理分布式系统中的数据的方法,包括以下步骤接收第一移动数据,该第一移动数据包括针对多个节点中的一个移动节点的非路由数据,其中,所述移动节点被与所述多个节点上的分布式数据系统中的多个数据项中的第一数据项相关联,所述非路由数据包括分布式数据库中的数据项的组织数据和空间数据中的至少一种,并且空间数据包括物理位置、形状、尺寸和朝向中的至少一种;基于所述非路由数据,确定所述多个数据项中的所述第一数据项和不同的第二数据项之间的非拓扑关系;以及至少部分基于所述非拓扑关系致使与所述移动节点之间传输内容。
2. 如权利要求1所述的方法,其中 第一物理实体被与所述第一数据项相关联;以及第二物理实体被与所述第二数据项相关联。
3. 如权利要求2所述的方法,其中,所述非拓扑关系指示以下各项中 的至少一个所述第一物理实体和所述第二物理实体中的一个在另 一个内部; 所述第一物理实体与所述第二物理实体重叠; 所述第一物理实体距离所述第二物理实体特定距离;以及 所述第一物理实体相对于所述第二物理实体朝向特定方向。
4. 如权利要求2所述的方法,其中,所述非拓扑关系指示所述第一物理实体和所述第二物理实体中的至少一个对于另一个是可见的。
5. 如权利要求2所述的方法,其中,所述非拓扑关系指示所述第一物理实体和所述第二物理实体处在特定类型通信的通信距离内。
6. 如权利要求2所述的方法,其中,所述非拓扑关系指示所述第一物 理实体和所述第二物理实体中的至少一个处在另一个的空间影响体积内。
7. 如权利要求2所述的方法,其中,所述非拓扑关系指示所述第一物 理实体和所述第二物理实体中的一个属于另一个的组织组成部分。
8. 如权利要求1所述的方法,其中所述多个数据项中的至少一些数据项在所述分布式数据系统中的与网 络拓扑树数据结构不同的空间树数据结构中被相关;并且一对特定数据项形成所述空间树中的父-子关系,所述这对特定数据项 具有指示所述数据项在空间上被嵌套的空间数据。
9. 如权利要求8所述的方法,其中所述多个数据项中的至少一些数据项在所述分布式数据系统中的组织 树数据结构中被相关;并且在组织上被嵌套的一对特定数据项形成所述组织树中的父-子关系。
10. 如权利要求1所述的方法,所述致使与所述移动节点之间传输内容的步骤还包括将数据从所述第二数据项发送到所述移动节点。
11. 如权利要求IO所述的方法,其中,所述第一移动数据包括指示所述第二数据项要满足的空间条件的请求数据。
12. 如权利要求1所述的方法,所述致使与所述移动节点之间传输内 容的步骤还包括与所述第一移动数据中包括的所述第二数据项数据相关 联。
13. 如权利要求1所述的方法,所述致使与所述移动节点之间传输内容的步骤还包括从所述移动节点接收第二移动数据;以及 将所述第二移动数据与所述第二数据项相关联。
14. 如权利要求1所述的方法,其中与所述移动节点不同的第二节点被与所述第二数据项相关联;并且 所述致使与所述移动节点之间传输内容的步骤还包括致使所述第二节 点与所述移动节点之间传输所述内容。
15. 如权利要求8所述的方法,所述致使与所述移动节点之间传输内 容的步骤还包括致使描述所述空间树数据结构的至少一部分的空间树数据 被传输,其中所述部分是基于所述非拓扑关系的。
16. 如权利要求1所述的方法,所述致使内容被传输的步骤还包括致使根据可扩展标记语言(XML)格式化的内容被传输。
17. 如权利要求1所述的方法,所述致使内容被传输的步骤还包括致使内容在路由协议数据分组的有效载荷中被传输,所述路由协议数据分组 被设计来传输指示到所述多个节点中的一个节点的连接的数据。
18. 如权利要求1所述的方法,所述致使与所述移动节点之间传输内 容的步骤还包括致使通过至少部分基于所述非拓扑关系利用订购流从所述 多个数据项中的一个数据项获得数据,来生成所述数据。
19. 如权利要求18所述的方法,所述致使生成所述移动节点的数据的 步骤还包括致使真正简单整合(RSS)流至少部分基于所述非拓扑关系, 从以可扩展标记语言(XML)格式化的数据项中生成改变数据。
20. —种用于管理分布式系统中的数据的方法,包括以下步骤 接收第一移动数据,该第一移动数据包括针对多个节点中的一个移动节点的非位置空间数据, 其中,所述移动节点被与所述多个节点上的分布式数据系统中的多个数 据项中的第一数据项相关联,并且非位置空间数据包括物理形状、尺寸和朝向中的至少一种; 基于所述第一移动数据,确定所述多个数据项中的所述第一数据项和 不同的第二数据项之间的空间关系;以及至少部分基于所述空间关系来致使与所述移动节点之间进行通信。
21. —种用于管理分布式系统中的数据的装置,包括 用于接收第一移动数据的装置,所述第一移动数据包括针对多个节点中的一个移动节点的非路由数据, 其中,所述移动节点被与所述多个节点上的分布式数据系统中的多个数 据项中的第一数据项相关联,所述非路由数据包括分布式数据库中的数据项的组织数据和空间 数据中的至少一种,并且空间数据包括物理位置、形状、尺寸和朝向中的至少一种; 用于基于所述非路由数据确定所述多个数据项中的所述第一数据项和不同的第二数据项之间的非拓扑关系的装置;以及用于至少部分基于所述非拓扑关系致使与所述移动节点之间传输内容的装置。
22. —种用于管理分布式系统中的数据的装置,包括用于接收第一移动数据的装置,所述第一移动数据包括针对多个节点 中的一个移动节点的非位置空间数据, 其中,所述移动节点被与所述多个节点上的分布式数据系统中的多个数 据项中的第一数据项相关联,并且非位置空间数据包括物理形状、尺寸和朝向中的至少一种; 用于基于所述第一移动数据确定所述多个数据项中的所述第一数据项 和不同的第二数据项之间的空间关系的装置;以及用于至少部分基于所述空间关系来致使与所述移动节点之间进行通信 的装置。
23. —种用于管理分布式系统中的数据的装置,包括 网络接口,其耦合到用于与其传输一个或多个分组流的网络; 一个或多个处理器; 一个或多个计算机可读介质;以及由所述计算机可读介质承载的一个或多个指令序列,其在被所述一个 或多个处理器执行时致使所述一个或多个处理器执行以下步骤接收第一移动数据,所述第一移动数据包括针对多个节点中的一 个移动节点的非路由数据, 其中,所述移动节点被与所述多个节点上的分布式数据系统中的多 个数据项中的第一数据项相关联,所述非路由数据包括分布式数据库中的数据项的组织数据和 空间数据中的至少一种,并且空间数据包括物理位置、形状、尺寸和朝向中的至少一种; 基于所述非路由数据,确定所述多个数据项中的所述第一数据项 和不同的第二数据项之间的非拓扑关系;以及至少部分基于所述非拓扑关系致使与所述移动节点之间传输内容。
24. 如权利要求23所述的装置,其中 第一物理实体被与所述第一数据项相关联;以及 第二物理实体被与所述第二数据项相关联。
25. 如权利要求24所述的装置,其中,所述非拓扑关系指示以下各项 中的至少一个所述第一物理实体和所述第二物理实体中的一个在另一个内部-, 所述第一物理实体与所述第二物理实体重叠; 所述第一物理实体距离所述第二物理实体特定距离;以及 所述第一物理实体相对于所述第二物理实体朝向特定方向。
26. 如权利要求24所述的装置,其中,所述非拓扑关系指示所述第一物理实体和所述第二物理实体中的至少一个对于另一个是可见的。
27. 如权利要求24所述的装置,其中,所述非拓扑关系指示所述第一 物理实体和所述第二物理实体处在特定类型通信的通信距离内。
28.如权利要求24所述的装置,其中,所述非拓扑关系指示所述第一物理实体和所述第二物理实体中的至少一个处在另一个的空间影响体积内。
29. 如权利要求24所述的装置,其中,所述非拓扑关系指示所述第一 物理实体和所述第二物理实体中的一个属于另一个的组织组成部分。
30. 如权利要求23所述的装置,其中所述多个数据项中的至少一些数据项在所述分布式数据系统中的与网 络拓扑树数据结构不同的空间树数据结构中被相关;并且一对特定数据项形成所述空间树中的父-子关系,所述这对特定数据项 具有指示所述数据项在空间上被嵌套的空间数据。
31. 如权利要求30所述的装置,其中所述多个数据项中的至少一些数据项在所述分布式数据系统中的组织树数据结构中被相关;并且在组织上被嵌套的一对特定数据项形成所述组织树中的父-子关系。
32. 如权利要求23所述的装置,所述致使与所述移动节点之间传输内 容的步骤还包括将数据从所述第二数据项发送到所述移动节点。
33. 如权利要求32所述的装置,其中,所述第一移动数据包括指示所 述第二数据项要满足的空间条件的请求数据。
34. 如权利要求23所述的装置,所述致使与所述移动节点之间传输内 容的步骤还包括与所述第一移动数据中包括的所述第二数据项数据相关 联。
35. 如权利要求23所述的装置,所述致使与所述移动节点之间传输内 容的步骤还包括从所述移动节点接收第二移动数据;以及 将所述第二移动数据与所述第二数据项相关联。
36. 如权利要求23所述的装置,其中与所述移动节点不同的第二节点被与所述第二数据项相关联;并且 所述致使与所述移动节点之间传输内容的步骤还包括致使所述第二节 点与所述移动节点之间传输所述内容。
37. 如权利要求30所述的装置,所述致使与所述移动节点之间传输内 容的步骤还包括致使描述所述空间树数据结构的至少一部分的空间树数据 被传输,其中所述部分是基于所述非拓扑关系的。
38. 如权利要求23所述的装置,所述致使内容被传输的步骤还包括致 使根据可扩展标记语言(XML)格式化的内容被传输。
39. 如权利要求23所述的装置,所述致使内容被传输的步骤还包括致 使内容在路由协议数据分组的有效载荷中被传输,所述路由协议数据分组 被设计来传输指示到所述多个节点中的一个节点的连接的数据。
40. 如权利要求23所述的装置,所述致使与所述移动节点之间传输内 容的步骤还包括致使通过至少部分基于所述非拓扑关系利用订购流从所述 多个数据项中的一个数据项获得数据,来生成所述数据。
41. 如权利要求40所述的装置,所述致使生成所述移动节点的数据的步骤还包括致使真正简单整合(RSS)流至少部分基于所述非拓扑关系,从以可扩展标记语言(XML)格式化的数据项中生成改变数据。
42. —种用于管理分布式系统中的数据的装置,包括网络接口 ,其耦合到用于与其传输一个或多个分组流的网络;一个或多个处理器;一个或多个计算机可读介质;以及由所述计算机可读介质承载的一个或多个指令序列,其在被所述一个 或多个处理器执行时使所述一个或多个处理器执行以下步骤接收第一移动数据,该第一移动数据包括针对多个节点中的一个 移动节点的非位置空间数据, 其中,所述移动节点被与所述多个节点上的分布式数据系统中的多个数 据项中的第一数据项相关联,并且非位置空间数据包括物理形状、尺寸和朝向中的至少一种;基于所述第一移动数据,确定所述多个数据项中的所述第一数据 项和不同的第二数据项之间的空间关系;以及至少部分基于所述空间关系致使与所述移动节点之间进行通信。
43. —种用于管理分布式系统中的数据的系统,包括 由多个通信链路连接的多个网络节点,其中,每个网络节点包括网络接口,其耦合到用于与其传输一个或多个分组流的网络;一个或多个处理器;一个或多个计算机可读介质;以及由所述计算机可读介质承载的 一个或多个指令序列;存储在所述多个网络节点的计算机可读介质上的多个数据项,其中所 述多个数据项包括代表所述多个网络节点的第一多个数据项,以及 代表所述多个网络节点可以位于其中的多个空间实体的第二多个数据项;其中,所述一个或多个处理器执行所述一个或多个指令序列使所述一个或多个处理器执行以下步骤接收第一移动数据,该第一移动数据包括针对多个节点中的一个 移动节点的非路由数据,其中,所述非路由数据包括所述多个数据项 中的至少一些数据项的组织数据和空间数据中的至少一种,并且所述 空间数据包括物理位置、形状、尺寸和朝向中的至少一种;基于所述非路由数据,确定所述多个数据项中的所述第一数据项 和不同的第二数据项之间的非拓扑关系;以及至少部分基于所述非拓扑关系致使与所述移动节点之间传输内容。
44. 如权利要求43所述的系统,其中,所述多个数据项包括第三多个数据项,所述第三多个数据项代表与移动节点的网络和所述多个空间实体 中的至少 一个相关联的组织的组织单元。
45. 如权利要求43所述的系统,其中所述多个数据项中的第一数据项被与所述移动节点相关联; 第一物理实体被与所述第一数据项相关联;以及不同的第二物理实体被与所述多个数据项中的不同的第二数据项相关联。
46. 如权利要求45所述的系统,其中,所述非拓扑关系指示以下各项 中的至少一个所述第一物理实体和所述第二物理实体中的一个在另一个内部; 所述第一物理实体与所述第二物理实体重叠-, 所述第一物理实体距离所述第二物理实体特定距离;以及 所述第一物理实体相对于所述第二物理实体朝向特定方向。
47. 如权利要求45所述的系统,其中,所述非拓扑关系指示所述第一 物理实体和所述第二物理实体中的至少一个对于另一个是可见的。
48. 如权利要求45所述的系统,其中,所述非拓扑关系指示所述第一 物理实体和所述第二物理实体在特定类型通信的通信距离内。
49. 如权利要求45所述的系统,其中,所述非拓扑关系指示所述第一 物理实体和所述第二物理实体中的至少一个处在另一个的空间影响体积内。
50. 如权利要求45所述的系统,其中,所述非拓扑关系指示所述第一物理实体和所述第二物理实体中的一个属于另一个的组织组成部分。
51. 如权利要求43所述的系统,其中所述多个数据项中的至少一些数据项在所述分布式数据系统中的与网络拓扑树数据结构不同的空间树数据结构中被相关;并且一对特定数据项形成所述空间树中的父-子关系,所述这对特定数据项 具有指示所述数据项在空间上被嵌套的空间数据。
52. 如权利要求51所述的系统,其中所述多个数据项中的至少一些数据项在所述分布式数据系统中的组织树数据结构中被相关;并且在组织上被嵌套的特定一对数据项形成所述组织树中的父-子关系。
53. 如权利要求43所述的系统,所述致使与所述移动节点之间传输内 容的步骤还包括将数据从所述第二数据项发送到所述移动节点。
54. 如权利要求53所述的系统,其中,所述第一移动数据包括指示所 述第二数据项要满足的空间条件的请求数据。
55. 如权利要求43所述的系统,所述致使与所述移动节点之间传输内 容的步骤还包括与所述第一移动数据中包括的所述第二数据项数据相关 联。
56. 如权利要求43所述的系统,所述致使与所述移动节点之间传输内 容的步骤还包括从所述移动节点接收第二移动数据;以及 将所述第二移动数据与所述第二数据项相关联。
57. 如权利要求43所述的系统,其中与所述移动节点不同的第二节点被与所述第二数据项相关联;并且 所述致使与所述移动节点之间传输内容的步骤还包括致使所述第二节 点与所述移动节点传输所述内容。
58. 如权利要求51所述的系统,所述致使与所述移动节点之间传输内 容的步骤还包括使描述所述空间树数据结构的至少一部分的空间树数据被传输,其中所述部分是基于所述非拓扑关系的。
59. 如权利要求43所述的系统,所述致使内容被传输的步骤还包括使 根据可扩展标记语言(XML)格式化的内容被传输。
60. 如权利要求43所述的系统,所述致使内容被传输的步骤还包括使 内容在路由协议数据分组的有效载荷中被传输,所述路由协议数据分组被 设计来传输指示到所述多个网络节点中的一个节点的连接的数据。
61. 如权利要求43所述的系统,所述致使与所述移动节点之间传输内 容的步骤还包括致使通过至少部分基于所述非拓扑关系利用订购流从所述 多个数据项中的一个数据项获得数据,来生成所述数据。
62. 如权利要求61所述的系统,所述致使所述移动节点的数据被生成 的步骤还包括致使真正简单整合(RSS)流至少部分基于所述非拓扑关 系,从以可扩展标记语言(XML)格式化的数据项中生成改变数据。
全文摘要
用于管理分布式系统中的数据的技术包括接收第一移动数据,该第一移动数据包括针对分布式数据系统中的多个节点中的一个移动节点的非路由数据。该移动节点被与分布式数据系统中的多个数据项中的第一数据项相关联。非路由数据包括分布式数据库中的数据项的组织数据或空间数据,或者这二者。空间数据包括物理位置、形状、尺寸和朝向中的至少一种。基于非路由数据,第一数据项和不同的第二数据项之间的非拓扑关系被确定。至少部分基于非拓扑关系与移动节点之间传输内容。这些技术允许基于通信节点的空间或组织上下文仅传输与接收相关的数据,从而节省宝贵的网络资源。
文档编号H04Q7/20GK101300856SQ200680001664
公开日2008年11月5日 申请日期2006年2月18日 优先权日2005年2月24日
发明者比利·穆恩, 詹姆士·迈纳 申请人:思科技术公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1