CN102256270B - 用于动态自配置覆盖的方法和系统 - Google Patents
用于动态自配置覆盖的方法和系统 Download PDFInfo
- Publication number
- CN102256270B CN102256270B CN201110133917.5A CN201110133917A CN102256270B CN 102256270 B CN102256270 B CN 102256270B CN 201110133917 A CN201110133917 A CN 201110133917A CN 102256270 B CN102256270 B CN 102256270B
- Authority
- CN
- China
- Prior art keywords
- node
- hypercube
- metadata
- network
- computer
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/48—Routing tree calculation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/64—Routing or path finding of packets in data switching networks using an overlay routing layer
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Mathematical Physics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Computer And Data Communications (AREA)
Abstract
一种用于动态自配置覆盖的方法和系统。支持计算机网络中的节点形成包括存储元数据的超立方体。支持该节点与邻居节点交换该超立方体元数据和该邻居节点中的任何超立方体元数据。响应于在节点处接收到查询,使用超立方体元数据发起元数据发现,以及使用来自元数据发现的结果建立覆盖。
Description
技术领域
本发明总体上涉及改进网络功能,并且更具体地,涉及使用元数据来构建网络覆盖。
背景技术
计算机网络尤其是因特网对于业务的处理已变得至关重要。因此,网络得以驱动以提供更宽的带宽、更大的灵活性和更高的安全性,这仅是几个示例。覆盖网络已经作为一种从可能非常无组织甚至混乱的网络中获取更大功能的方式而出现。覆盖网络建立在其他网络之上。覆盖中的节点可被认为通过虚拟链路或逻辑链路连接,其中每个链路对应于基础网络中可能通过多个物理链路的路径。例如,许多端对端网络是覆盖网络,因为它们在因特网之上运行,并且拨号因特网是电话网络上的覆盖。
覆盖还可以用于其他方式,诸如例如数据搜索。当虚拟网络建立在现有网络之上时,该虚拟网络可以用于管理和支配现有网络。如果主控敏感数据的所有节点都需要被保护,则覆盖网络可以由所有此类节点形成。出于维护的目的,如果节点集需要安装新的软件,则可以创建此类节点的覆盖,并且分发软件的应用可以配置用于向节点的网络分发该新的软件。
发明内容
根据本发明的一个实施方式,一种计算机实现的方法动态地建立计算机网络的覆盖。支持至少一个节点形成其中存储元数据的超立方体(hypercube)。支持该至少一个节点与邻居节点交换超立方体元数据以及该邻居节点中的任何超立方体元数据。响应于在计算机网络中的任何节点处接收到查询,使用超立方体元数据发起元数据发现。使用来自元数据发现的结果来建立覆盖。
根据本发明的另一实施方式,计算机系统使用处理器来动态建立计算机网络的覆盖。支持至少一个节点形成其中存储元数据的超立方体。支持该至少一个节点与邻居节点交换该超立方体元数据和该邻居节点中的任何超立方体元数据。响应于在计算机网络中的任何节点处接收到查询,使用超立方体元数据发起元数据发现。使用来自元数据发现的结果来建立覆盖。
根据本发明的又一实施方式,一种用于动态建立计算机网络覆盖的计算机程序产品,包括计算机可读存储介质,其包含有计算机可读程序代码。计算机可读程序代码配置用于支持至少一个节点形成其中存储元数据的超立方体。计算机可读程序代码配置用于支持该至少一个节点与邻居节点交换该超立方体元数据和该邻居节点中的任何超立方体元数据。计算机可读程序代码配置用于响应于在计算机网络中的任何节点处接收到查询,使用超立方体元数据发起元数据发现。计算机可读程序代码配置用于使用来自元数据发现的结果来建立覆盖。
附图说明
图1示出了用于与本发明结合使用的计算机系统;
图2示出了通过层级进行例示化的典型节点;
图3是根据本发明的具有三个维度的超立方体;
图4是将元数据层级转换成超立方体的元数据变换函数的图形表示;
图5示出了层级到立方体的映射;
图6示出了根据本发明的并运算;
图7示出了针对S3/*/脸部识别的信息立方体的投影;
图8示出了针对S3/机场/*的信息立方体的投影;
图9示出了在形成覆盖网络中涉及的各个阶段的高层概观;
图10示出了生成树;
图11示出了净荷的组成部分;
图12示出了用于形成随机网络的自举;
图13和图14进一步示出了自举操作;
图15示出了信息立方体的传播;
图16示出了针对两种不同类型的消息而进行的步骤;
图17示出了一个节点如何能够基于该节点在其信息立方体中具有的数据来成为多个覆盖中的一部分;
图18示出了覆盖形成的开始;
图19示出了最终的覆盖;
图20示出了增大TTL的结果,以及它在用于覆盖形成所花费的时间上的影响;
图21A、图21B、图21C和图21D示出了十五个节点系统;以及
图22A、图22B、图22C和图22D示出了具有与图2中所示元数据树相似的元数据树的二十个节点。
具体实施方式
本领域技术人员应当理解,本发明的多个方面可以体现为系统、方法或计算机程序产品。因此,本发明的多个方面可以采取完全硬件实施方式或者组合软件方面和硬件方面的实施方式的形式,此处通常都可以被称作“电路”、“模块”或“系统”。此外,本发明的多个方面可以采取嵌入在其上具体化了计算机可读程序代码的一个或多个计算机可读介质中的计算机程序产品的形式。
可以利用一个或多个计算机可读介质的任意组合。计算机可读介质可以是计算机可读信号介质或计算机可读存储介质。计算机可读存储介质例如可以是但不限于:电子、磁、光、电磁、红外或半导体系统、装置、设备或前述的任何适当组合。计算机可读存储介质的更具体示例(非穷举性列表)可以包括:具有一个或多个线的电连接、便携式计算机软盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或闪存)、光纤、便携式压缩盘只读存储器(CD-ROM)、光存储设备、磁存储设备或前述的任何适当组合。在本文档的上下文中,计算机可读存储介质可以是能够包含或存储由指令执行系统、装置或设备使用或与其结合使用的程序的任何有形介质。
计算机可读信号介质可以包括具有以基带或作为载波的一部分嵌入其中的计算机可读程序代码的传播数据信号。此类传播信号可以采取各种形式中的任意形式包括但不限于电磁、光或其中的任意适当组合。计算机可读信号介质可以为不是计算机可读存储介质但能够通信、传播或传输由指令执行系统、装置或设备使用或与其结合使用的程序的任何计算机可读介质。
计算机可读介质上嵌入的程序代码可以使用任意适当的介质进行传输,包括但不限于无线、有线、光纤电缆、RF等或者前述的任意适当组合。
用于执行本发明多个方面操作的计算机程序代码可以通过一个或多个编程语言的任意组合进行编写,包括面向对象的编程语言(诸如,Java、Smalltalk、C++等)和常规过程编程语言(诸如,“C”编程语言或类似编程语言)。该程序代码可以完全在用户的计算机上执行、部分在用户的计算机上执行,作为独立的软件包,部分在用户的计算机上部分在远程计算机上或者完全在远程计算机或服务器上执行。在后一场景中,远程计算机可以通过任意类型的网络(包括局域网(LAN)或广域网(WAN))连接到用户的计算机,或者该连接可以(例如,通过使用因特网服务提供商的因特网)连接到外部计算机。
下面参考根据本发明实施方式的方法、装置(系统)和计算机程序产品的流程图说明和/或框图描述本发明的多个方面。应当理解,流程图说明和/或框图的每个块以及流程图说明和/或框图中块的组合可以由计算机程序指令实现。可以向通用计算机、专用计算机或其他可编程数据处理装置提供这些计算机程序指令用于生产机器,使得经由计算机或其他可编程数据处理装置的处理器执行的指令创建用于实现流程图和/或框图块或多个块中指定的功能/动作的装置。
这些计算机程序指令还可以存储在计算机可读介质中,该计算机可读介质可以通过特定方式将计算机、其他可编程数据处理装置或其他设备指向功能,使得存储在计算机可读介质中的指令产生包括以下指令的制品,该指令实现了流程图和/或框图块或多个块中指定的功能/动作。
计算机程序指令还可以加载到计算机、其他可编程数据处理装置或其他设备上,用于引起将在计算机、其他可编程装置或其他设备上执行的一系列操作步骤来产生计算机实现的过程,使得计算机或其他可编程装置上执行的指令提供用于实现流程图和/或框图块或多个块中指定的功能/动作的过程。
计算机程序指令还可以加载到计算机或其他可编程数据处理装置上,用于引起将在计算机或其他可编程装置上执行的一系列操作步骤来产生计算机实现的过程,使得计算机或其他可编程装置上执行的指令提供用于实现流程图和/或框图块或多个块中指定的功能/动作的步骤。
附图中的流程图和框图示出了根据本发明的各种实施方式的架构、功能以及系统、方法和计算机程序产品的可能实现的操作。在这方面,流程图或框图中的每个块都可以表示代码的模块、段或部分,其包括一个或多个可执行指令用于实现指定逻辑功能。还应当指出,在某些备选实现中,块中指出的功能可以不以图中指出的顺序出现。例如,连续示出的两个块实际上可以基本上同时执行,或者块有时可以以相反顺序来执行,这依赖于所涉及的功能。还应当指出框图和/或流程图中的每个块,以及框图和/或流程图中块的组合可以由执行指定功能或动作的基于专用硬件的系统或者专用硬件和计算机指令的组合来实现。
这里使用的术语仅是为了描述特定实施方式的目的,而并非意在在用于限制本发明。如此处使用的,单数形式“一个”、“一”和“该”还旨在包括复数形式,除非上下文中明确指出。应当进一步理解术语“包括”和/或“包含”,当在本说明书中使用时,表示出现所列举的特征、整数、步骤、操作、元件和/或组件,但不排除出现或附加的一个或多个其他特征、整数、步骤、操作、元件、组件和/或其中的分组。
图1是适于根据所述技术来执行用于创建和分发个性化内容的计算机软件的计算机系统10的一个示例。适于执行该软件的其他处理设备可以是无线电话、个人助理设备(PDA)、便携式计算机、智能遥控设备或者能够执行这种软件的任何其他处理设备。
计算机系统10是在安装于计算机系统10上的适当操作系统下执行的一种类型,并且可以认为包括用于通过端对端消息发送系统中的策略控制和交换(bartering)来高效控制在线提醒的软件代码。计算机系统10的组件包括:计算机12、键盘22、鼠标24和视频显示器20。计算机12包括:处理器26、存储器28、输入/输出(I/O)接口30和32、视频接口34和存储设备36。
处理器26是执行操作系统以及在该操作系统下执行的计算机软件的中央处理单元(CPU)。存储器28包括随机访问存储器(RAM)和只读存储器(ROM),并且在处理器26的指导下使用。
视频接口34连接到视频显示器20,并且提供用于在其上显示的视频信号。用于操作计算机12的用户输入提供自键盘22和鼠标24。存储设备36可以包括盘驱动器或如上文讨论的任何其他适当的存储介质。计算机12的每个组件连接到内部总线40,该内部总线40包括数据总线、地址总线和控制总线,用于允许计算机12的组件经由该总线40彼此进行通信。计算机系统10可以使用到被称作因特网18的网络的通信信道38经由输入/输出(I/O)接口32连接到一个或多个其他类似计算机。一个或多个服务器19可以经由网络(诸如,因特网18)连接到计算机12。服务器19可以包括与计算机12相同的物理布置并且可以与计算机12处于同一位置或者成为其一部分。
计算机软件可以记录在计算机可读存储介质上,在这种情况下,计算机软件程序可以由计算机系统10从存储设备36进行访问。备选地,计算机软件可以由计算机12直接从因特网18进行访问。无论在哪种情况下,用户都可以使用键盘22和鼠标24与计算机系统10交互,以对计算机12上执行的已编程计算机软件进行操作。
本发明的一个实施方式将参考以下典型连锁零售店铺的布置进行讨论。该连锁店在整个美国遍布了上百家店铺。每个店铺可以具有多个计算节点,诸如例如,销售点(POS)终端、存储区域网(SAN)节点以及包含采购订单和销售订单的数据库节点。因此,在连锁店铺中存在上千个节点。无论何时,都可能存在将需要不同类型的数据请求的各种业务需求。此处将使用以下三种动态(自发起)情景。
第一情景是,需要确定在特定日期的特定时间访问过他们位于特定地理位置的商店的所有顾客。进行该搜索所需的监视视频可以(可能)驻留在分布于存储网络之间的若干节点中。因此,需要标识这些节点并建立连接它们的覆盖网络,这将在下文中进一步详细描述。一旦形成覆盖网络,所有需要的节点便在功能上被链接,并且可以利用视频处理应用(诸如例如面部识别程序)进行研究。
第二情景涉及财务部门生成指定时段期间处理的所有采购订单相关文档的报告这一需求。因此,需要将存储采购订单文档的所有节点互连。继而,生成该报告的适当应用可以在覆盖上透明地发送查询以访问所需的信息。
第三情景是来业务智能部门的请求,用以找到查看特定时段期间与他们的一些店铺之前进行的促销相关的所有销售额的方式。因此,需要将具有与该促销的销售额相关的POS日志的所有节点互连,以便确定该促销是否应当继续进行。
零售店铺网络节点包含关于以下内容的数据:
位于店铺与机场的监视视频;
如销售订单、采购订单等的商业交易文档;
店铺的产品类别;
物品信息;以及
关于仓库中物品的库存信息等。
本发明的一个实施方式利用了元数据,即,描述其他数据的数据。在主控多类型数据的计算节点方面,元数据是与所述节点中出现的信息有关的信息。在上述第一情景中,元数据可以描述网络中存储的不同类型的视频监视数据,诸如:
记录视频的日期;
记录视频的地点;
视频文件的大小和格式;以及
用于分析视频的过滤器,诸如:
面部视频;以及
特定禁区中的移动。
如果需要检查所有数据,则元数据能够较快地对分类、组织、搜索和定位数据提供辅助。这在处理包括主控了所需数据的上千个节点的网络时尤其明显。因此,可能优选使用元数据,这是因为试图使用所有数据元素可能过于复杂。
典型节点中存储的数据由图2中所示的层级200进行例示。在第一层,存在三个类别(S3类别(视频监视系统)202、文档228和店铺物品230)。在S3类别202下面,还存在三种类别(店铺204、机场206和街道(交通)208)。另外,每个视频文件可以利用事件感测过滤器进行处理,并且分别将层204、206和208进一步分类成以下子层:
脸部/面部识别210;
对象移除212;
仓库214;
脸部/面部识别216;
未经许可进入218;
关税区220;
未经许可进入222;
不遵守交通规则224;以及
车辆牌照226。
附加的第一层(文档228和店铺物品230),每个都具有其自身的子层集合。层级200还可以将实际数据的定量测量存储为其元数据条目的一部分。括号中的数字表示物品的简单定量测量。例如,仓库(15)214被列入S3类别202/存储204下面。S3类别202是视频监视系统,因此定量测量(15)可以指示在属于店铺204的仓库拍摄的15分钟视频。在另一定量示例中,童装(100)254被列入店铺物品230/服装240下面。因此,定量测量(100)可以指示存在100套童装。
即使对于该简化示例,显而易见的是,类别层级将迅速变得过于复杂以至于无法快速并高效地查询元数据。在本发明的实施方式中,元数据被用于将数据层级(诸如层级200)转换成超立方体,超立方体是能够更高效保持元数据的数据结构。
超立方体是具有最大高度(n)和最大深度(d)的节点的数组。如图3中所示,超立方体300是具有最大高度为2(n=2)和最大深度为2(d=2)的三维超立方体。超立方体被用作一种数据结构,用于将产生自数据层级转译(诸如图2中所示)的元数据存储至其对应的超立方体。
元数据变换函数FM使用元数据层级信息作为输入,并且将其每个元素映射到如图3所示的超立方体中的单元。如图4图形化所示,该函数(FM:M→H)将每个节点中存在的元数据层级(M)转换成元数据超立方体(H)。因此,通过使用图2中所示的元数据层级200,层级200可以具有限定的深度和高度。层级200的深度(d)指示元数据树跨过的层数。例如,S3类别202具有的深度为3,这是因为类别包含诸如S3/存储/脸部识别之类的路径。文档228类别具有的深度为2,这是因为路径停止在文档/发票。类似地,高度(n)指示每个根类别存在的类别数。例如,完整层级200在第一层具有的高度为3(n=3),S3类别202在其第一层具有的高度为3,等等。
假设元数据层级M(n,d)其中n=最大(高度)并且d=最大(深度),FM将M的元素映射到超立方体H(n,d),该超立方体H(n,d)是d维超立方体。由于d可以是任何数目,因此可能无法“形象化”该超立方体的维度。例如,一个人可以由如下四个参数表示:年龄、薪水、子女数和车辆数。虽然不能形象化四维空间,但这个人可以在四维空间中进行限定。
超立方体具有正交轴,用于表示元数据的每一层。因此,为了确定超立方体的维度,必须确定超立方体的最大高度和深度。由于存在独立的轴来表示数据的每一层,因此立方体必须能够存储任意层中存在的元素的最大深度。在图2的第一层中,存在3个类别:S3类别202、文档228和店铺物品230。在S3下面,存在3个类别:店铺204、机场206和交通208。因此,层级的最大高度为3。
类似地,查看层级200的最大深度,S3类别202具有3层,文档228具有2层,以及店铺物品230具有3层。因此,最大深度为3。例如图2中所示,超立方体将是H(3,3)。每个元数据元素(如S3类别202、机场206、店铺204、脸部识别210等)形成超立方体的维度。
如先前所述,函数FM将元数据树M(n,d)映射/转译成超立方体H(n,d):
FM:M→H,其中FM是元数据变换函数,M是元数据层级,以及H是超立方体。具体地:
FM:
使得对应于索引i1、i2...il(l<n)的超立方体中的单元h(i1,i2,il)映射到元数据层级中的对应条目。
此外,元数据变换函数定义了FM,使得M(M是元数据层级)中存在的每个值与属于H(H是超立方体)的每个值进行“与”操作,存在索引值i1、i2...il。这些值是用于标识对应元数据条目的超立方体的索引。例如,S3/店铺/脸部识别被映射到H(0,0,0),这里i1为0、i2为0并且i3为0,而l(L的小写)用于指示索引将小于n(其中n是层级树的最大(高度))。另外,上文所用符号定义如下:
:等同于“使得”
等同于“所有”
∈等同于“属于”
m∈M(n,d)等同于“存在于元数据层级中m的所有值”
h∈H(n,d)等同于“存在于超立方体中h的所有值”
等同于“存在i1、i2...il”
(l<n)等同于“其中l小于n”。
FM将元数据层级200(图2)的条目映射到超立方体H(n,d)的对应单元。例如,参考图5,S3类别202/店铺204/脸部识别210被映射到由参考标号501表示的H(0,0,0)。S3类别202/店铺204/对象移除212被映射到由参考标号503表示的H(0,0,1)等。FM试图构建该映射,使得超立方体中的每个单元具有最小可能的汉明距离(测量有多少索引值需要改变以从一个单元移至其他单元)。建立该函数使得紧密相关的单元彼此靠近出现(最小汉明距离)。例如,S3/店铺/脸部识别被映射到H(0,0,0),S3/店铺/对象移除被映射到H(0,0,1),等等。映射可以是随机索引,但这可能会减缓取回信息。
由于元数据被映射到正交轴,使得最小可能的汉明距离确保了针对给定查询维度的超立方体投影产生最相关的结果。图5较为详细地示出了S3类别的映射。以下列出了从元数据层级映射到括号中具有对应元数据值的超立方体的更多示例:
S3 202/机场206/关税区220→H(0,1,2)[0]
文档228/采购订单232→H(1,0,0)[350]
文档228/发票236→H(1,1,0)[450]
店铺物品230/食品238/奶酪246→H(2,0,1)[20]
元数据超立方体(这里还可交替称作信息立方体)是覆盖节点之间主要信息交换元素。当一个节点作为对等体与另一节点连接时,交换信息立方体。每个信息立方体支持如下操作,在元数据发现阶段节点利用:
一元操作:二元操作:
累积 并
投影
累积:
该操作使得信息立方体累加其下游信息并将该下游信息向上游传播。通常,只有叶节点包含存在的数据的定量信息。例如,S3类别202/店铺204/脸部识别210的值可能为300。查询以S3/*的形式来查找与店铺的数字视频相关的所有信息,脸部识别210信息可能丢失并且其节点可能不参与覆盖。因此,该值300还应当在S3类别202/店铺204层出现,连同店铺中任何其他视频一起。累积操作确保了这一点。
并:
当需要整合两个或更多节点中出现的元数据信息时,使用并运算。当节点加入邻居关系时,交换信息立方体,这会使得每个节点具有关于其邻居的元数据的信息。在这种情景下,可以如图6所示执行并运算。信息立方体将每个单元中的数据存储为[键、值]对的列表。键为节点(计算机或任何其他适当设备)的IP地址,而值为先前定义的数据的定量测量。例如,第一信息立方体600位于具有IP地址为9.1.1.4的第一节点604上。信息立方体600中有多个单元,但为了清楚起见,只讨论两个单元。信息立方体600中的两个单元622和624分别包含脸部识别元数据450和300。因此,单元622和624中的数据将分别如参考标号608和610所示存储为(9.1.1.4,450)和(9.1.1.4,300)。
第二信息立方体602位于具有IP地址为9.1.1.7的第二节点606上。信息立方体602中的两个单元623和625(对应于信息立方体600的单元622和624)分别包含脸部识别元数据100和190。因此,单元623和625中的数据将分别如参考标号614和612所示存储为(9.1.1.7,100)和(9.1.1.7,190)。
当执行信息立方体600和602的并运算时,形成合并的信息立方体620。信息立方体620中的两个单元627和629(对应于信息立方体600的单元622和624以及信息立方体602的单元623和625)包含信息立方体600和602两者的脸部识别元数据。因此,单元627和629中的数据将分别如参考标号613和615所示存储为[(9.1.1.4,450)和(9.1.1.7,100)]和[(9.1.1.4,300)和(9.1.1.7,190)]。
投影:
节点通常发出搜索请求以作为查询维度。该查询维度用于沿期望轴减小信息立方体,并且提取拥有查询维度所指数据的节点的IP地址。例如,特定应用可能请求与在具有脸部识别事件的所有位置的S3视频相关的数据。针对该请求构建的查询维度可能看似S3/*/脸部识别。或者,如果有要监测机场的特定需求,则该查询可以形如S3/机场/脸部识别。使用该查询维度,便可以在信息立方体上执行投影操作。
当需要建立覆盖时(以加快搜索、管理和支配安全敏感性数据等),节点得到针对特定类型搜索的请求。例如,如果存在针对脸部识别所有视频的查询,则典型的查询可以是S3/*/脸部识别。针对这种请求的最终结果必须是存储为信息立方体单元中键的所有节点的IP地址。该立方体上的投影针对传入查询执行。为了获得这种查询的结果,该信息立方体经受了一系列维度减少投影,该一系列维度减少投影成功地消减了信息立方体的维度,直到只是获得了所需维度以及提取了所需数据。
图7示出了针对S3/*/脸部识别的信息立方体的投影,同时图8示出了针对S3/机场/*的信息立方体的投影。首先参考图7,针对脸部识别的所有视频的查询被生成为S3/*/脸部识别。信息立方体700包含多个单元,但只有单元702和704包含脸部识别元数据。因此,包含所需数据的投影被示作维度706。
类似地,图8反映了被生成为S3/机场/*的、针对来自机场所有视频的查询。信息立方体800包含多个单元,但只有单元802、804和806包含机场视频元数据。因此,包含所需数据的投影被示作维度808。
在投影操作期间,汉明距离发挥了重要作用。例如,在图7中,可以看出所有FR(脸部识别)单元沿S3/*轴彼此相邻出现。当构建了信息立方体时,元数据变换函数FM确保所有相似元素彼此相邻叠置,使得投影更快地产生结果并且减少查询时间。针对类似信息(如S3/*/FR)搜索信息立方体将一起投影具有FR信息的所有这种单元,而不是遍及该信息立方体对它们进行搜索。
在本发明的一个实施方式中,信息立方体用于表示网络节点中出现的元数据。信息立方体将用于对元数据的不同类型进行查询。将数据表示为信息立方体提供了丰富的动作集,可以对其执行诸如并、累积和投影,否则这些不可能执行。返回图2的元数据层级200,多个数据存储节点分布在各个位置之间,所有都存储了视频监视数据(S类别202)。例如,视频文件必须针对已经发生的特定事件进行分析。
视频事件过滤器筛选视频文件并且利用各种检测到的事件对它们进行标记,例如禁区中是否存在人脸或违规视频等。在该示例中,网络通常由存储该视频监视数据的所有节点形成,并且具体地为标记为脸部识别视频的视频。此外,具有该视频数据的监视应用位于物理网络上。因此,虚拟网络将建立在物理网络之上。该虚拟网络将包括具有视频监视数据的所有节点。换言之,需要所有S3(视频)数据的覆盖网络。该覆盖无需是永久的,这是因为在该特定需求之后,该覆盖可能不会再重新使用。因此,覆盖需要是动态的。
当针对特定类型的数据查询任何节点时,该节点检查针对该特定类型查询的覆盖是否已经形成。如果没有,则该节点形成包括具有相关数据的所有节点的覆盖。图9示出了形成覆盖网络所涉及的各个阶段的高层总览。
参考图9,做出如下假设:
给出的:
包含多个数据元素的节点的随机网络,数据元素的元数据被捕获作为信息立方体;以及
做出针对特定类别数据的请求。
需要的:
标识拥有查询中给定数据的节点的子集;以及
在现有网络上形成覆盖网络,使得该覆盖包含拥有查询中提到的特定类别类型(由类别层级指示)的元素的所有节点。
阶段1:初始网络(阶段在附图中用圆圈数字标识)。
在初始阶段,认为节点(或者更具体地,针对基于内容覆盖的数据节点)未连接,并且还不是任何网络的一部分,通常由参考标号900指示。这些数据节点的每个数据节点包含数据元素,其元数据在类别层级中捕获,如先前在图2中所示的元数据。节点还具有在其中出现的实际数据的定量测量。随着网络从未连接状态演进到覆盖感知阶段,该信息将在随后的网络阶段中使用。
阶段2:针对随机网络信息的自举(bootstrapping)。
当节点加电时,未连接节点开始彼此连接以形成未规划的随机网络,通常由参考标号902表示。某些基本规则,如网络接近可以形成随机网络形成的基础,但这并不是必须的。初生节点连接到自举服务器来得到关于与哪个节点连接的信息。一旦节点加入网络,节点便变得完全自主并且与它们的对等节点进行通信而不需要集中控制器(如自举服务器)介入。
阶段3:使用信息立方体传播的元数据感知网络
在阶段3中,未规划网络继续保持基本上相同的状态,总体上由参考标号904所示。然而,节点现在感知到其与元数据相关的邻居的内容。每个节点形成其信息立方体并且还与它们的直接邻居进行交换。称作存活时间(TTL)的可配置参数被用作确定消息在网络中存活多久的参数。如果消息的TTL为3,则在其穿过3个节点之后,该消息期满。因此,TTL确定该信息通过网络传播的深度。散播该元数据信息花费的时间与形成最终覆盖所用的时间之间存在权衡。在该阶段花费的时间越多,用于建立最终覆盖的时间越少。
阶段4:使用生成树形成覆盖。
当外部节点或内部节点请求特定类型的数据时,在网络中触发覆盖形成。随机/未规划网络的节点现在使用信息立方体中存储的信息执行元数据发现过程,并且使用结果数据来形成请求的覆盖网络,通常由参考标号906标识。覆盖网络以生成树(网络子集)的形式出现。针对传入查询维度投影信息立方体,用于获得应当形成部分所述覆盖的节点。
参考图10,以虚线示出了图1100的最小生成树。图1100中存在2个环(闭合路径),包括顶点(1,2,3)和(1,2,6,4)。在第一环(1,2,3)中,边(1,3)被移除,因为其在该环中具有最高权重(500);在第二环(1,2,6,4)中,边(4,6)被移除,因为其具有最高权重(700)。在本发明的一个实施方式中,边权重转译成对应节点中主控的类似内容的定量测量,诸如例如由图2中所示参考标号254标识的童装数目(100)。通过移除具有最高权重的边,具有可比较的数量的节点被连接在一起。
在本发明的一个实施方式中,元数据超立方体(信息立方体)用于建立最小生成树,该最小生成树根据网络中出现的元数据向覆盖添加语义。此外,针对传入查询维度投影信息立方体而产生需要成为覆盖一部分的节点的准确集合。最终表示整个覆盖的生成树可以通过连续使用投影创建。而且,当建立用于复杂真实生活数据搜索应用的覆盖时,信息立方体支持通配符查询(如S3/*/脸部识别)。
网络的节点使用标准TCP-IP消息分组进行通信。由于覆盖构建算法需要不同类型的消息,因此存在多种类型的净荷与每个特定消息相关联。根据本发明的一个实施方式,净荷的组成如图11中所示,并作为标准TCP-IP消息中的净荷。表-1(如下)示出了用于描述消息和净荷的消息的完整列表。
表1-本发明的一个实施方式使用的消息类型
网络层被抽象至“黑盒”中,其用于在设计使用网络服务的节点之间传送消息。这些节点驻留在网络抽象之上,并且每个节点具有随附于它的消息队列。节点从该队列读取消息并且网络向该队列写入。向另一节点发送消息的任何节点构建具有相关净荷的消息,并且将其移交至网络。网络继而将该消息写入目的地节点的消息队列中,该消息随后将由目的地节点从其队列中读取。
参考图12进一步示出上文描述的阶段2(用于随机网络信息的自举)。当节点开始但还未加入网络时,该节点处于未连接阶段1300。一旦该节点执行了其最初启动活动,该节点便移至探测(Probe)状态1302。探测状态中的节点通过如下文解释的过程,直到该节点成为网络的一部分。一旦节点加入网络,其移至连接状态1304。
为了进一步描述自举操作,参考图13和图14。在图13中,通常由参考标号1400标识的节点X需要加入现有网络1402。起初,所有节点配置用于与自举节点的集合联系,诸如例如自举节点1404。自举节点维护着已经是网络一部分的节点的列表。基于定义的接近测量,自举返回针对新节点的候选节点列表。
在图14中,节点X1400在块1510向自举节点1404发送REQ_NETWORK_JOIN消息。自举节点地址在启动时就已经出现在节点X1400中。自举节点1404继而仔细查看其已经是网络一部分的节点的知识库。基于可配置的接近测量(诸如,相同子网中的节点),自举节点1404继而计算现有网络中节点X1400可以连接的最有可能的节点。在块1512,自举节点1404向节点X1400返回包含现有网络1402中节点的IP地址列表的ACK_NETWORK_JOIN。
在块1514,节点X1400继而“走”过该列表,并且向该IP地址列表中的节点发送REQ_REER_JOIN,直到其中之一响应。作为净荷的一部分,节点X1400发送其自身的信息立方体,使得如果其他节点接受其请求,则可以将X的信息立方体并入网络。
在决策块1516,确定潜在候选节点中的至少一个是否响应ACK_PEER_JOIN消息。如果对决策块1516的响应为否,则过程返回块1514并向列表中的下一节点发送另一REQ_REER_JOIN。如果对决策块1516的响应为是,则过程流向块1518,其中节点X1400作为响应其请求的节点的对等节点加入网络,并且向自举节点1404发出CONF_NETWORK_JOIN(确认消息),指示该节点成功地加入网络。
自举节点1404利用关于加入网络的节点X1400的最近信息连同以下信息一起更新其数据库,该信息将在自举节点1404需要响应有兴趣加入该网络的其他节点时使用。过程继而在1520结束。在节点X1400加入之后,网络的象征表示由图13中的参考标号1406指示。
图15中象征性示出了信息立方体传播。每个节点(由小圆圈表示,诸如节点1600)从其自身在信息立方体中捕获的元数据信息开始。当节点彼此连接形成邻居时,每个节点使用如上文先前描述的并运算来更新其信息立方体。当信息立方体发生变化时,每个节点向其邻居中的每个邻居发出UPDATE_INFO_CUBE。这些邻居转而向它们的邻居发送该UPDATE_INFO_CUBE等,直到原始消息中的存活时间(TTL)参数期满。如上文先前所述,TTL是确定网络上信息立方体传播深度的临界参数。UPDATE_INFO_CUBE消息在网络中存活越长,该信息向网络中所有节点的渗透能力越大,从而引起网络中可用元数据的更大感知。图15示出了在指示为TTL1 1602、TTL2 1604和TTL3 1606的节点网络上传播的UPDATE_INFO_CUBE消息(因此,指示TTL的设置为3)。随后将更加详细讨论在最终覆盖信息期间具有较大TTL的影响。
在两种类型消息到达时更新信息立方体:REQ_PEER_JOIN和UPDATE_INFO_CUBE。图16示出了针对这两种不同类型的消息所采取的步骤。在1700,读取传入消息。在块1708,消息类型被读取作为来自其对等节点之一的REQ_PEER_JOIN 1704或者UPDATE_INFO_CUBE 1706。消息的净荷包含消息发送者的信息立方体。这两种消息都会使得本地元数据更新。节点提取传入信息立方体作为净荷的一部分,并且分别在块1710或块1712更新其自身的信息立方体,指示如下:
I现有=I现有UI额外
其中U是上文先前讨论的“并”操作符,I现有是节点的本地信息立方体,而I额外是接收消息中的信息立方体。
如果消息是类型REQ_PEER_JOIN 1704,除了在块1710更新信息立方体,节点还通过在块1714发送ACK_PEER_JOIN消息来响应发送者。在块1712或块1714之后,其在决定块1716确定传入消息是否期满。如果对决定块1716的响应为否,则TTL参数递减并且在块1718利用新的TTL向与其连接的所有节点发送UPDATE_INFO_CUBE及其自身的信息立方体拷贝。如果对决定块1716的响应为是,或在块1718之后,则过程在块1720停止。
一旦网络到达阶段3(使用信息立方体传播的元数据感知网络),便可以请求驻留在网络中的特定数据类型。任何这种请求被转译并用于通过触发元数据感知网络上的搜索查询来建立覆盖。该覆盖是以生成树的形式出现,其包含针对特定查询维度需要成为覆盖一部分的节点。可以构建多个这种覆盖。图17示出了基于投影在三个不同覆盖上的查询维度而变换成三个不同覆盖的基本未规划网络1800。例如,覆盖1802可以表示S3/店铺/*查询维度,覆盖1804可以表示文档/采购查询维度,以及覆盖1806可以表示店铺物品/化妆品/*查询维度。图17还示出了一个节点如何能够基于该节点拥有的数据(如在其信息立方体中所体现的)成为多个覆盖的一部分。
在本发明的一个实施方式中,当向网络中的任意节点提交查询维度时,在所有节点中存在的算法被触发。该算法允许节点获知其他节点中存在的元数据。数据交换以利用节点中可用定位信息构建的最小生成树的形式出现。随着时间,所有节点具有推断网络中存在的全局元数据信息所需的信息。
网络中存在的全局信息由节点使用来推断最终网络覆盖。覆盖形成包括两种不同类型的消息。初始触发消息(REQ_DATA)来自外部世界,并且被发送至网络中的任何节点。接收该初始触发消息(REQ_DATA)的节点开始覆盖形成的过程。从其自身本地信息计算第一初步生成树,以及触发向更新该生成树并完成该生成树的所有对等节点传达UPDATE_SPAN_TREE消息。
如图18所示,覆盖形成开始于接收在块1902读取的REQ_DATA消息的节点。在块1904,接收节点(诸如,节点X)针对出现的信息立方体投影查询维度,并且提取拥有该元数据的所有节点。接收节点通过利用其可用的信息在块1906构建第一生成树来触发覆盖形成。节点继而在块1908触发向所有其对等节点传达UPDATE_SPAN_TREE消息。每个对等节点(对等是任何节点与其连接的节点集)向生成树添加其自身的本地信息,使得树逐渐地成长为所需的覆盖并且在1910停止。
参考图19,最终覆盖是通过在块2002 UPDATE_SPAN_TREE消息的层次使生成树连续生长以形成完整覆盖来完成的。在块2004,针对查询维度(如上文先前讨论的)投影信息立方体。在块2006,根据块2004的投影来构建生成树(Cube_ST)。在块2008,通过将Cube_ST和传入_ST(作为在块2002的UPDATE_SPAN_TREE消息中的净荷完成的生成树)和已经存储在节点(Existing_ST)中的生成树组合,构建复合树。
在块2010,分配定量边权重(元数据元素的定量测量中的差,针对该差构建覆盖)。如上文先前讨论的,移除环,以在块2012构建最小生成树[Final_ST]。在判定块2014,确定Final_ST是否与Incoming_ST不同。如果对判定块2014的响应为否,过程在2018结束。如果对判定块2014的响应为是,在块2016向所有对等节点发送UPDATE_SPAN_TREE消息,并且过程在2018结束。
在以下的表-2中非常详细地提供了体现为生成树的生长覆盖的不同阶段。该表描述了节点(9.1.1.1)在从它的邻居节点中的一个获得关于覆盖的一条信息(以生成树的形式)时更新它自身对覆盖的拷贝(以生成树的形式)所进行的步骤。最初,在排1中,不存在关于节点(在此,称为Existing_ST)的覆盖信息(以生成树的形式)。在排2中,当针对S3/*/FR的请求到来时,该节点首先针对这个查询投影它自身的信息立方体,并且获得匹配的节点的列表(在树细节栏中示出)。使用这个数据构建生成树(在此,称为Cube_ST),如树栏中所示。在排3中,节点从它的邻居获得关于覆盖的附加信息,Incoming_ST。在排4中,节点将通过执行对Existing_ST、Cube_ST和Incoming_St的合并更新它自身的覆盖信息(以生成树的形式)。
表2-生成树构建细节
构建最小生成树
最终覆盖建立为层级完全连通图GF(Vf,Ef)的子图GS的最小生成树。Vf包含原始未规划图中出现的所有节点。为了进一步解释最终覆盖和理解算法,使用了层级图GF。
从假设存在完全连通图GF(Vf,Ef)开始(其中G为图,V是顶点集并且E是边集)。最终覆盖(如生成树(其也是图))是该完全连通图的子图。子图只包含原始完全连通图的某些节点和某些边。接下来,将从GF选择的节点和边由以下条件指示:
GS(VS,ES)是GF的子图,使得条件1被满足:
条件1:
如果v1和v2是对应于任何边e的顶点,其中e∈ES,并且H(n,d)是信息立方体,由此:
使得h(i1,i2,il)=查询维度AND(v1,v2)∈h(i1,i2,il)
(v1,v2)∈h(i1,i2,il)意味着节点v1,v2以h(i1,i2,il)中存储的列表中的键出现。
换言之,构建GS使得当且仅当对应顶点沿着在系统中存在的任何信息立方体的查询维度连接时存在Es中的全部边。
-(解释为“针对每个边‘e’,存在指数i1,i2,il(l<n),从而使得”h(i1,i2,il)=查询维度)并且(v1,v2)∈h(i1,i2,il)-(解释为“指数匹配查询维度并且对应于边的顶点(v1,v2)属于超立方体”
以上条件指示:在生成树中,仅当在超正方体h中存在指数i1,i2,il时将在子图中保留顶点v1和v2,从而使得这些指数对应于查询维度(针对该查询维度构建覆盖)(其中查询维度意指对应于查询的超立方体的索引,例如,针对S3/机场/关税区域的查询维度是H(0、1、2)等等),并且节点v1、v2作为存储在h(i1,i2,il)中的键出现-意味着这两个节点具有所请求的元数据。
为了计算最小生成树,基本前提在于应当对图进行加权。为了满足这个条件,在构建生成树之前向图分配Edge_Weights(边权重)。边权重是元数据元素的定量测量中的差(针对该元数据元素构建覆盖)。例如,再次参考表2,在树细节栏下对于针对‘S3/*/FR所请求的覆盖:
节点1具有250个单元而节点3具有750个单元。因此,连接节点1和节点3的边具有500(750-250=500)的Edge_Weights。
当按照表2的最后一排中所示执行三个树的合并时,环可以导致图。权重形成了从图移除边的基础。从环中移除具有最高权重的边,从而使得类似定量测量的节点连接在一起。在最后一排中,当合并了全部三个版本的生成树时,产生的图具有一个环呈现(1、2、3)。通过研究这个环,边(1、3)具有最高权重(500)。因此,移除这个边(作为虚线示出),产生具有对应于(1、2)(2、3)(2、7)(2、6)的边的最小生成树。
如上文先前讨论的,UPDATE_INFO_CUBE消息的TTL越大,它用于最终覆盖形成所花费的时间越少。图20示出了增大TTL的结果,以及它在用于覆盖形成所花费的时间上的影响。针对具有不同节点大小的3种不同网络重复进行仿真。仿真的结果指示与TTL=0(根本不传送UPDATE_INFO_CUBE消息)时相比,当TTL=1(传送UPDATE_INFO_CUBE消息一次)时,用于最终覆盖形成的时间削减了50%。因此,随着TTL中的小幅增加,在用于最终覆盖形成所需要的时间中存在显著的影响。同样地,节点的数目越多,针对TTL大于1使信息立方体围绕网络传送的影响越大。表3图示了图20中的数值:
表3-针对各种TTL的覆盖形成时间
图21A示出了具有随机网络配置的15节点系统。该网络关于其主控的内容不具有特殊的重要性。然而,当请求查看对象移除相关视频的所有S3内容时,创建查询“S3/店铺/对象移除”。图21B示出了具有与传入查询相关内容的网络的实际节点。因此,需要连接具有对象移除视频的所有节点的覆盖网络。一旦向网络中的任意节点提出查询,该节点便发起覆盖形成,并且最终产生如图21C所示的新覆盖网络。该覆盖网络包括具有对象移除视频的所有节点。类似地,针对网络中存有化妆品的所有店铺的另一请求(查询,诸如店铺物品/化妆品/*)产生如图21D中所示的另一覆盖。
类似地,图22A示出了具有随机网络配置的20节点系统。该网络关于其主控的内容不具有特殊意义。在该示例中,存在对查找具有脸部识别相关视频的所有S3内容的请求。这会转译成包括“S3/*/脸部识别”的查询。图22B示出了具有与传入查询相关内容的网络的真实节点。因此,需要连接与传入查询相关的所有这些节点的覆盖网络。一旦向网络中的任意节点提出查询,该节点便发起覆盖形成并且最终产生如图22C所示的新覆盖网络。该覆盖网络包括具有脸部识别视频的所有节点。类似地,针对网络中所有文档的另一请求(查询“文档/*”)产生如图22D中所示的另一覆盖。
对应的结构、材料、动作和以下权利要求书中所有装置或步骤加功能元件的等价物旨在包括任意结构、材料或动作与明确要求的其他要求的元件一起执行功能。本发明的描述已经为了说明和描述的目的进行了呈现,但不旨在穷尽或限制于以公开形式的本发明。许多修改和变化对于本领域普通技术人员而言应当容易理解,而不脱离本发明的范围和精神。选择和描述实施方式是为了最好地解释本发明的原理和实践应用,使得本领域普通技术人员能够理解本发明,因为具有各种修改的各种实施方式同样适于设想的具体使用。
已经参考本发明的实施方式详细描述了本申请的发明,应当理解,可能存在修改和变化而不脱离所附权利要求书中定义的本发明的范围。
Claims (18)
1.一种用于动态建立计算机网络的覆盖的计算机实现的方法,包括:
支持所述计算机网络中的至少一个节点形成超立方体H(n,d),所述超立方体包括存储在所述至少一个节点上的存储器中的超立方体元数据,其中利用元数据变换函数FM将所述至少一个节点中存在的元数据层级M(n,d)转换成所述超立方体H(n,d),其中,n为最大高度,d为最大深度,所述超立方体具有正交轴,用于表示元数据的每一个层级:
FM:M→H
其中:FM是元数据变换函数,M是元数据层级,H是超立方体;并且:
FM:
使得对应于索引i1、i2...il(l<n)的超立方体中的单元h(i1,i2,...,il)映射到元数据层级中的对应条目;
FM使得超立方体中的每个单元具有最小可能的汉明距离;
支持所述至少一个节点触发与至少一个邻居节点交换存储在所述至少一个节点上的所述存储器中的所述超立方体元数据和存储在所述至少一个邻居节点上的第二存储器中的任何超立方体元数据;
响应于在所述计算机网络中的任何节点处接收到查询,使用所述存储的超立方体元数据发起元数据发现,经过累积、并和投影操作,根据接收到的查询,经受一系列维度减少投影获得所需维度并提取所述数据;以及
使用来自所述元数据发现的结果建立所述覆盖。
2.根据权利要求1所述的计算机实现的方法,其中所述覆盖包括生成树。
3.根据权利要求2所述的计算机实现的方法,进一步包括:向所述生成树的边添加定量值。
4.根据权利要求3所述的计算机实现的方法,进一步包括:通过移除具有最大定量值的边从所述生成树移除环。
5.根据权利要求1所述的计算机实现的方法,其中所述至少一个节点形成具有所述邻居节点的初始随机网络。
6.根据权利要求1所述的计算机实现的方法,进一步包括:使用自举服务器获得关于要连接所述计算机网络中的哪些节点的信息。
7.根据权利要求1所述的计算机实现的方法,进一步包括:使用投影来扩展所述覆盖。
8.根据权利要求1所述的计算机实现的方法,进一步包括:使用存活时间参数来确定超立方体传播跨所述网络的深度。
9.根据权利要求8所述的计算机实现的方法,进一步包括:检查所述存活时间参数的期限,并且如果期满,则向所述覆盖中的所有节点发送更新消息。
10.一种用于动态建立计算机网络的覆盖的计算机系统,包括:
配置用于支持所述计算机网络中的至少一个节点形成超立方体H(n,d)的装置,所述超立方体包括存储在所述至少一个节点中的超立方体元数据,其中利用元数据变换函数FM将所述至少一个节点中存在的元数据层级M(n,d)转换成所述超立方体H(n,d),其中,n为最大高度,d为最大深度,所述超立方体具有正交轴,用于表示元数据的每一个层级:
FM:M→H
其中:FM是元数据变换函数,M是元数据层级,H是超立方体;并且:
FM:
使得对应于索引i1、i2...il(l<n)的超立方体中的单元h(i1,i2,...,il)映射到元数据层级中的对应条目;
FM使得超立方体中的每个单元具有最小可能的汉明距离;
配置用于支持所述至少一个节点与至少一个邻居节点交换所述至少一个节点中存储的所述超立方体元数据和存储在所述至少一个邻居节点中的任何超立方体元数据的装置;
配置用于响应于在所述计算机网络中的任何节点处接收到查询而使用所述超立方体元数据发起元数据发现的装置,经过累积、并和投影操作,根据接收到的查询,经受一系列维度减少投影获得所需维度并提取所述数据;以及
配置用于使用来自所述元数据发现的结果建立所述覆盖的装置。
11.根据权利要求10所述的计算机系统,其中所述覆盖包括生成树。
12.根据权利要求11所述的计算机系统,进一步包括:配置用于向所述生成树的边添加定量值的装置。
13.根据权利要求12所述的计算机系统,进一步包括:配置用于通过移除具有最大定量值的边从所述生成树移除环的装置。
14.根据权利要求10所述的计算机系统,其中所述至少一个节点形成具有所述邻居节点的初始随机网络。
15.根据权利要求10所述的计算机系统,进一步包括:配置用于使用自举服务器获得关于要连接所述计算机网络中的哪些节点的信息的装置。
16.根据权利要求10所述的计算机系统,进一步包括:配置用于使用投影来扩展所述覆盖的装置。
17.根据权利要求10所述的计算机系统,进一步包括:配置用于使用存活时间参数来确定超立方体传播跨所述网络的深度的装置。
18.根据权利要求17所述的计算机系统,进一步包括:配置用于检查所述存活时间参数的期限,并且如果期满,则向所述覆盖中的所有节点发送更新消息的装置。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/783,674 US8650218B2 (en) | 2010-05-20 | 2010-05-20 | Dynamic self configuring overlays |
US12/783,674 | 2010-05-20 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102256270A CN102256270A (zh) | 2011-11-23 |
CN102256270B true CN102256270B (zh) | 2014-12-24 |
Family
ID=44973326
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201110133917.5A Expired - Fee Related CN102256270B (zh) | 2010-05-20 | 2011-05-19 | 用于动态自配置覆盖的方法和系统 |
Country Status (3)
Country | Link |
---|---|
US (1) | US8650218B2 (zh) |
KR (1) | KR20110128137A (zh) |
CN (1) | CN102256270B (zh) |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101110202B1 (ko) * | 2010-08-02 | 2012-02-16 | (주)엔써즈 | 동영상 데이터들의 상호 관계에 기초한 데이터베이스 형성 방법 및 데이터베이스 형성 시스템 |
KR101369383B1 (ko) * | 2012-05-22 | 2014-03-06 | 한국전자통신연구원 | 네트워크 데이터 트래픽 수집 장치 및 그 방법 |
US9244621B2 (en) | 2012-10-18 | 2016-01-26 | International Business Machines Corporation | Global data establishment for storage arrays controlled by a plurality of nodes |
US9207868B2 (en) | 2012-10-18 | 2015-12-08 | International Business Machines Corporation | Validation of storage arrays based on information stored in global metadata |
US10642891B2 (en) * | 2013-04-12 | 2020-05-05 | Avigilon Fortress Corporation | Graph matching by sub-graph grouping and indexing |
US10122583B2 (en) * | 2014-07-08 | 2018-11-06 | Oracle International Corporation | Aggregated network model with component network aggregation |
US9720947B2 (en) | 2014-08-04 | 2017-08-01 | Cohesity, Inc. | Backup operations in a tree-based distributed file system |
US9720926B2 (en) * | 2014-08-04 | 2017-08-01 | Cohesity, Inc. | Read operations in a tree-based distributed file system |
US9792309B2 (en) * | 2014-08-04 | 2017-10-17 | Cohesity, Inc. | Write operations in a tree-based distributed file system |
US9781055B2 (en) | 2014-08-18 | 2017-10-03 | Cisco Technology, Inc. | Dynamic cascaded clustering for dynamic VNF |
US11222274B2 (en) | 2017-12-01 | 2022-01-11 | At&T Intellectual Property I, L.P. | Scalable integrated information structure system |
CN110519170B (zh) * | 2019-08-30 | 2021-07-09 | 苏州大学 | 一种数据安全分发方法 |
US11531687B2 (en) * | 2020-04-02 | 2022-12-20 | Jpmorgan Chase Bank, N.A. | Method and apparatus for application of an N-dimensional hypercube datatype |
CN117176589B (zh) * | 2023-11-03 | 2023-12-29 | 南京邮电大学 | 一种低开销的数据中心网络系统及其构建方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101465796A (zh) * | 2007-12-19 | 2009-06-24 | 中国移动通信集团公司 | P2p系统元数据收集、分发方法及其装置和系统 |
WO2009155374A2 (en) * | 2008-06-17 | 2009-12-23 | Qualcomm Incorporated | Methods and apparatus for discovery of peer-to-peer overlay networks |
CN101640623A (zh) * | 2008-07-31 | 2010-02-03 | 国际商业机器公司 | 在对等网络中搜索资源的方法和设备 |
Family Cites Families (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5471580A (en) * | 1991-10-01 | 1995-11-28 | Hitachi, Ltd. | Hierarchical network having lower and upper layer networks where gate nodes are selectively chosen in the lower and upper layer networks to form a recursive layer |
US6424967B1 (en) * | 1998-11-17 | 2002-07-23 | At&T Corp. | Method and apparatus for querying a cube forest data structure |
US6442560B1 (en) * | 1999-06-22 | 2002-08-27 | Microsoft Corporation | Record for multidimensional databases |
CA2279359C (en) * | 1999-07-30 | 2012-10-23 | Basantkumar John Oommen | A method of generating attribute cardinality maps |
US6898603B1 (en) * | 1999-10-15 | 2005-05-24 | Microsoft Corporation | Multi-dimensional data structure caching |
US6434557B1 (en) * | 1999-12-30 | 2002-08-13 | Decode Genetics Ehf. | Online syntheses programming technique |
US20020029207A1 (en) * | 2000-02-28 | 2002-03-07 | Hyperroll, Inc. | Data aggregation server for managing a multi-dimensional database and database management system having data aggregation server integrated therein |
US6917943B2 (en) * | 2000-05-12 | 2005-07-12 | Limit Point Systems, Inc. | Sheaf data model |
US7571166B1 (en) * | 2001-06-19 | 2009-08-04 | Click Acquisitions, Inc. | Virtual private supply chain |
US7756896B1 (en) * | 2002-03-11 | 2010-07-13 | Jp Morgan Chase Bank | System and method for multi-dimensional risk analysis |
US9195699B2 (en) * | 2003-08-08 | 2015-11-24 | Oracle International Corporation | Method and apparatus for storage and retrieval of information in compressed cubes |
US7707045B2 (en) * | 2003-08-28 | 2010-04-27 | Cerner Innovation, Inc. | System and method for multi-dimensional extension of database information |
US20050079511A1 (en) * | 2003-10-14 | 2005-04-14 | Pharsight Corporation | Drug model explorer |
US7900201B1 (en) * | 2004-12-21 | 2011-03-01 | Zenprise, Inc. | Automated remedying of problems in software application deployments |
CA2545237A1 (en) * | 2005-07-29 | 2007-01-29 | Cognos Incorporated | Method and system for managing exemplar terms database for business-oriented metadata content |
US7484121B2 (en) * | 2005-08-30 | 2009-01-27 | International Business Machines Corporation | Self-aware and self-healing computing system |
WO2007147166A2 (en) * | 2006-06-16 | 2007-12-21 | Quantum Leap Research, Inc. | Consilence of data-mining |
US7779031B2 (en) * | 2007-02-15 | 2010-08-17 | International Business Machines Corporation | Multidimensional query simplification using data access service having local calculation engine |
US8069188B2 (en) * | 2007-05-07 | 2011-11-29 | Applied Technical Systems, Inc. | Database system storing a data structure that includes data nodes connected by context nodes and related method |
US8554784B2 (en) | 2007-08-31 | 2013-10-08 | Nokia Corporation | Discovering peer-to-peer content using metadata streams |
US8201219B2 (en) * | 2007-09-24 | 2012-06-12 | Bridgewater Systems Corp. | Systems and methods for server load balancing using authentication, authorization, and accounting protocols |
US20090287666A1 (en) * | 2008-05-13 | 2009-11-19 | International Business Machines Corporation | Partitioning of measures of an olap cube using static and dynamic criteria |
US8495007B2 (en) * | 2008-08-28 | 2013-07-23 | Red Hat, Inc. | Systems and methods for hierarchical aggregation of multi-dimensional data sources |
US8386916B2 (en) * | 2008-12-29 | 2013-02-26 | SAP France S.A. | Systems and methods to create a multidimensional expression calculated member in a spreadsheet cell |
-
2010
- 2010-05-20 US US12/783,674 patent/US8650218B2/en not_active Expired - Fee Related
-
2011
- 2011-05-13 KR KR1020110044883A patent/KR20110128137A/ko not_active Application Discontinuation
- 2011-05-19 CN CN201110133917.5A patent/CN102256270B/zh not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101465796A (zh) * | 2007-12-19 | 2009-06-24 | 中国移动通信集团公司 | P2p系统元数据收集、分发方法及其装置和系统 |
WO2009155374A2 (en) * | 2008-06-17 | 2009-12-23 | Qualcomm Incorporated | Methods and apparatus for discovery of peer-to-peer overlay networks |
CN101640623A (zh) * | 2008-07-31 | 2010-02-03 | 国际商业机器公司 | 在对等网络中搜索资源的方法和设备 |
Also Published As
Publication number | Publication date |
---|---|
CN102256270A (zh) | 2011-11-23 |
US20110289071A1 (en) | 2011-11-24 |
US8650218B2 (en) | 2014-02-11 |
KR20110128137A (ko) | 2011-11-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102256270B (zh) | 用于动态自配置覆盖的方法和系统 | |
Eldrandaly et al. | A COM-based spatial decision support system for industrial site selection | |
Sapaty | Ruling distributed dynamic worlds | |
Li et al. | Concepts, methodologies, and tools of an integrated geographical simulation and optimization system | |
CN110024422A (zh) | 物联网的命名和区块链记录 | |
CN103714185B (zh) | 主题事件更新方法库及城市多源时空信息并行更新方法 | |
US20220358323A1 (en) | Machine learning systems and methods for facilitating parcel combination | |
Eyckerman et al. | Requirements for distributed task placement in the fog | |
Talcott et al. | Formal specification and analysis of robust adaptive distributed cyber-physical systems | |
Taghavifard et al. | Identifying cloud computing risks based on firm’s ambidexterity performance using fuzzy VIKOR technique | |
Yang et al. | Complex systems and network science: a survey | |
Rinner | GS-25-Spatial Decision Support | |
Wang et al. | Structural centrality in fuzzy social networks based on fuzzy hypergraph theory | |
Subahi | A Model Transformation Approach for Detecting Distancing Violations in Weighted Graphs. | |
Laskey et al. | Envisioning uncertainty in geospatial information | |
Pozanco et al. | Learning-driven goal generation | |
CN109492065B (zh) | 一种室内语义地图时空关系的抽取方法 | |
Serugendo et al. | Spatial edge services | |
Visconti et al. | Model-driven design of city spaces via bidirectional transformations | |
Chen et al. | Real‐Time Vehicle Routing for Repairing Damaged Infrastructures Due to Natural Disasters | |
Tran | A reference architecture and a software platform for engineering internet of things search engines | |
KR100500837B1 (ko) | 운용시스템간 공유정보 관리방법 | |
Nash et al. | A model for spatio-temporal network planning | |
CN113326341B (zh) | 街道疫情发展推演方法、装置及计算机可读介质 | |
Chen et al. | [Retracted] Automatic Mining Method of Group Behavior Patterns Based on Incremental Spatiotemporal Trajectory Big Data |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20141224 Termination date: 20200519 |