CN101116312A - 在覆盖网络中路由业务查询 - Google Patents

在覆盖网络中路由业务查询 Download PDF

Info

Publication number
CN101116312A
CN101116312A CNA2005800478370A CN200580047837A CN101116312A CN 101116312 A CN101116312 A CN 101116312A CN A2005800478370 A CNA2005800478370 A CN A2005800478370A CN 200580047837 A CN200580047837 A CN 200580047837A CN 101116312 A CN101116312 A CN 101116312A
Authority
CN
China
Prior art keywords
node
inquiry
attribute
service node
information service
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.)
Granted
Application number
CNA2005800478370A
Other languages
English (en)
Other versions
CN101116312B (zh
Inventor
S·巴苏
S·巴纳吉
P·沙马
S·-J·李
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hewlett Packard Enterprise Development LP
Original Assignee
Hewlett Packard Development Co LP
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Hewlett Packard Development Co LP filed Critical Hewlett Packard Development Co LP
Publication of CN101116312A publication Critical patent/CN101116312A/zh
Application granted granted Critical
Publication of CN101116312B publication Critical patent/CN101116312B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1061Peer-to-peer [P2P] networks using node-based peer discovery mechanisms
    • H04L67/1068Discovery involving direct consultation or announcement among potential requesting and potential source peers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1087Peer-to-peer [P2P] networks using cross-functional networking aspects
    • H04L67/1093Some peer nodes performing special functions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/51Discovery or management thereof, e.g. service location protocol [SLP] or web services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/61Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources taking into account QoS or priority requirements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/63Routing a service request depending on the request content or context

Abstract

接收一个查询(501),该查询包含所期望业务的多个属性和属性值。利用该查询(501)中的不同属性,将该查询(501)路由到覆盖网络(210)中的目的地(130d)。

Description

在覆盖网络中路由业务查询
技术领域
总的来说,本发明涉及网络,具体而言,本发明涉及在覆盖网络中路由业务查询。
背景技术
能为许多对等网络系统提供基础架构的大型网络,例如因特网,目前正被用于为用户提供多种业务(service)。例如,通过大型网络,可以获得诸如流和代码转换之类的媒体业务,诸如航空和旅店预定之类电子商务的网络业务,或是用于计算和数据的网格计算业务。
有效利用这些网络业务的一个根本性挑战在于,如何在大型网络-如因特网中,有效并且快速地查找到所期望的业务。由于受到一些因素的影响,查找业务这一问题变得更加复杂。例如,若为了便于查找业务,使用集中式信息业务,如用于对等(点对点)文件共享系统中的集中式信息业务,则当可用的业务和用户数量增长时,不易进行同比增长。另外,每个业务都具有多个动态属性,如信息业务中总在变化并需要更新的负载和延迟属性。对于集中式信息业务来说,无法保持这些属性所期望的更新速率。此外,以最小的停机时间提供信息业务,需要多个系统管理员来维护该业务,并且成本可能会很高。最后,为获得更快的响应时间,该信息业务应该是局部性敏感的。例如,一个包含对所期望业务的请求的查询应该被指引到在与始发该请求的节点接近的网络中的那个节点,并且,响应该查询而返回的业务也应该是在该查询节点接近的网络中。
发明概述
按本发明的一个实施例,接收一个查询,该查询包含所期望业务的多个属性和属性值。利用该查询中的不同属性,将该查询路由到覆盖网络中的目的地。
附图简述
结合以下附图考虑时参考对实施例的详细描述,所述实施例的各方面特性就能够得到更充分地认识,同时得到更好的理解,其中:
图1图示了根据实施例的对等网络;
图2图示了根据实施例的对等网络中的覆盖网络;
图3图示了根据实施例的一个属性空间和属性子空间;
图4图示了根据实施例的存储在一个信息业务节点中的信息;
图5图示了根据实施例路由查询;
图6图示了根据实施例路由公告(advertisement);
图7图示了根据实施例,路由查询或公告的方法的流程图;
图8图示了按照本发明实施例路由查询或公告的方法的更详细的流程图;
图9图示了根据实施例,对传输到所述信息业务的查询做出应答的方法;以及
图10图示了根据实施例的计算机系统。
实施例的详细描述
为简化并便于理解,此处对所述实施例的原理进行描述。然而,本领域的普通技术人员容易理解,该原理同样可被应用和实施在所有类型的网络系统中,并且任何对该实施例的此类变化都不脱离本实施例的实质和范围。此外,在以下的详细描述中,可参考附图,它们图示了具体的实施例。在不脱离该实施例的实质和范围的情况下,可以做出对实施例所做的电气、机械、逻辑和结构的改变。
根据实施例,在网络中,为查找业务提供分布式信息业务。该信息业务为用户提供有关通过网络可获得的业务的信息。用户就关于通过网络可得到的期望业务的信息而查询该信息业务。该信息业务可以用在该网络中可操作来提供所述期望业务的业务节点的列表来做出应答。
所述信息业务是一种分布式信息业务,包括对等网络中存储关于可用业务的信息的多个信息业务节点。与节点趋向于是暂时的传统对等网络不同,所述信息业务节点在对等结构中是稳定的节点,它们更加能够在对等网络中保持一段较长的时期,而不是加入对等网络很短的时间。所述对等网络是一个在分布式体系结构中组织信息业务节点的一个例子,任何类型的分布式结构都可以被使用,这一点对于本领域中的一般技术人员是显然的。
信息业务的分布式性质,可将使用传统的处理对所有信息查询的中央信息库所关联的瓶颈问题最小化,从而提高查询响应时间。对等网络的覆盖网络被用于高效率地路由分布式信息业务中的查询及业务信息,以便于在网络中查找可使用的业务。
这里所说的业务指的是与对输入执行操作并产生输出的任何功能。业务的实例包括代码转换、语言翻译、加密、图像修复和分析、纠错、以及将内容转换到不同的语言,等等。另外,一项业务可以由多个业务构成。例如,一个业务的输出可能是另外一个业务的输入,以及其它许多用于构成该业务的中间业务。一个组合业务的例子有媒体业务,包括将视频流送业务输入到代码转换业务中,使得用户就可以接收到具有可在特定终端用户设备上收看的格式的流送视频。
其它类型的业务包括计算业务、数据存储业务、以及网格计算业务,这些业务可能包括对计算机资源的共享。例如,网格计算业务允许用户根据规范(如应用要求)来访问计算业务。
1.系统概述
图1示出了包含用户节点110、业务节点120、和信息业务节点130在内的网络100。网络100的一个实例包括大型网络,如因特网,在这样的网络中,业务对于用户来说可以获得而使用。不过,所说实施例可以被实现在较小的提供业务的网络中。用户节点包括任何可用于接收业务的节点。典型地,一个用户节点向信息业务提交一个查询,用于确定在网络100中用户所期望的业务是否可获得使用,如果该业务是可获得使用的,再确定联系哪一个业务节点来接收该业务。业务节点120包括可用于提供业务的节点。在用户节点通过查询信息业务,识别确认某个业务节点可用于提供所期望的业务之后,该用户节点从可提供所期望业务的业务节点接收业务。一个节点可以是任何能通过网络发送和/或接收消息并且典型地可用于执行某种类型的数据处理的的设备。节点的实例包括路由器、服务器,以及终端用户设备,如PDA、个人计算机、膝上电脑和蜂窝电话。
按照实施例,所述信息业务是由信息业务节点130提供的。信息业务节点130兼顾查找网络100的业务。信息业务有两个重要的功能,包括存储与可用业务相关的信息和对对可用业务的查询做出应答。
如图2所示,在网络100中的对等网络200中提供信息业务节点130。所述对等网络200及其覆盖网络210特别用于存储与信息业务节点130中的业务相关的信息,用于信息业务节点130之间路由,用于对查询做出响应等等。
如图2所示,所述覆盖网络210覆盖下层的对等网络200。覆盖网络210是对等网络200的一个逻辑表示,并且如以下详细描述的那样,它可操作来根据用于定义业务的属性及属性范围高效率地路由查询和业务信息。图2图示了信息业务节点130位于网络100的中心,用户节点110和业务节点120分布在覆盖网络210的周围,这是为了图示对等网络200包括信息业务节点130,以及用户节点110和业务节点120根据需要与对等网络200中的信息业务节点130进行通信。可以在网络100中的不同区域提供所述信息业务节点130,以便将等待时间(例如,用户节点接收到对一个查询响应的响应所消耗的时间长度)最小化。
除了业务查找之外,信息业务节点130还可以利用一些技术平衡它们之间作业量,这些技术可参见Sujoy Basu等申请的共同待审的美国专利(代理案号200500031-1),题目为“Splitting Workload of aNode”以及Sujoy Basu等申请的共同待审的美国专利(代理案号200500030-1),题目为“Determining Highest Workload for Nodes in aNetwork”,在此将这两个专利整体引用以供参考。在这些申请中,识别确认具有最高作业量的信息业务节点,并可以选择该节点进行作业量划分。按另一个实施例,可以在单个节点基础上实现作业量平衡。例如,假设已经通过一个准入控制过程把网络100中的一组节点(一个或多个)确定为是适合于信息业务的节点。覆盖网络210中的每一个信息业务节点130定期地计算它们的作业量。如果作业量大于一个阈值,那么相应的信息业务节点邀请该同组中的一个节点加入该信息业务,并且该信息业务节点与被邀请加入到该信息业务的新节点共担该作业量。所述新节点可以包括与作业量重的信息业务节点紧邻的网络中的该组的节点。此外,以前添加的一个信息业务节点,如果其作业量降低到低于某一个阈值,那么该节点就可以被从该信息业务中移除。
2.属性空间和属性子空间
一项业务是通过为其各业务属性指定值而表征的。例如,计算业务可以用诸如操作系统、应用程序、物理内存量、磁盘空间以及网络带宽等这样一些属性的值来表征。
信息业务跟踪这些属性和属性值。每一个信息业务节点都负责跟踪一个或多个属性的某一组值。所有被跟踪的属性的属性值组的组合构成了由该信息业务节点所跟踪的属性子空间。
由信息业务节点130组成的信息业务,包括如图3所示的属性空间300。该属性空间300包括关于对等网络100中可用业务的所有信息。该属性空间300是存储在信息业务中的信息的逻辑表示。
属性空间300分布在信息业务节点130之间。为便于图示,在图3中仅仅示出了三个信息业务节点130a-c。每一个信息业务节点130都被分配负责属性空间300中的一个属性子空间。每一个属性子空间都与特定的属性和属性值相关。在信息业务中,一项业务由预定的属性和属性值来定义,所述属性值因业务不同而有所变化。属性和属性值被分配给每一个信息业务节点130。若某一业务的属性和属性值与分配给某个信息业务节点的属性子空间的属性和属性值相匹配,则确定该项业务落在该信息业务节点的属性子空间,从而,与该业务相关的信息最终会被存储在该信息业务节点内。例如,一个属性子空间可以包含特定属性的属性值。如果一个业务是使用一个或多个与某一属性子空间的属性值相交的属性值所定义的,则该业务就可能落在该属性子空间内。下面将用一个实例进一步描述属性子空间。用于定义网络100中所有业务的预定属性的列表可以包括内存、磁盘空间、平均负载、操作系统、应用程序、业务运行时间、以及响应时间。网格计算业务可包括对计算机资源的共享。可以根据能够被共享的计算机资源来定义一项网格计算业务,例如,网格计算业务1。使用以下属性值定义网格计算业务1:
表1网格计算业务1的属性和属性值
内存:1GB
磁盘空间:2.5-5GB
操作系统:Linux 2.4
平均负载:0
应用程序:Maya,Renderman
业务运行时间:99.5%
响应时间:<=20ms
如图3所示,向信息业务节点130a分配由内存<=1GB的属性值定义的属性子空间。包括表1中的属性值的网格计算业务1的公告(advertisement)310,被存储在信息业务节点130a中,这是因为该信息业务节点130a存储所有具有内存属性值<=1GB的公告。
一个公告包括用于定义一项特定业务的属性和属性值。预定的属性组可被用于定义网络100中的所有业务。每个业务节点120都测量或另外确定预定属性组中每个属性的属性值。每个业务节点120还都周期性地向信息业务发送它们自己的公告。覆盖网络210自动将该公告路由到合适的、具有该公告所落在的属性子空间的信息业务节点。上述为网格计算业务1所示的属性和属性值是网格计算业务1的公告130中的信息的例子。例如,提供网格计算业务1的业务节点周期性地测量或另外确定如表1所示的网格计算业务1的属性值,并将包括这些属性值的公告310发送到覆盖网络210,以供存储在具有公告310所落入在的属性子空间的信息业务中。在图3所示的实例中,信息业务节点130将网格计算业务1的公告310路由到信息业务节点130a,这是因为,信息业务节点130a存储有所有关于被传输到覆盖网络210、具有内存<=1GB的属性值的业务的信息。即,网格计算业务1是用“内存=属性”的属性值1GB定义的,而1GB的属性值是与信息业务节点130a的属性子空间中内存<=1GB的属性范围相交的,即,包括在内存<=1GB的属性范围中。这样,网格计算业务1落入信息业务节点130a的属性子空间。
上述为网格计算业务1所示的属性是用来定义网络100中的业务的预定属性组的实例。对于本领域普通技术人员来说,很明显,其它的属性也可被用于定义可用业务。另外,可以使用预定的属性组来定义业务。不过,每个业务可以具有不同的属性值,这些属性值被周期性地测量并被存储在具有相应属性子空间的信息业务节点中。
类似地,查询也被存储在对等网络200中。例如,图2所示的覆盖网络210接收到图3所示的查询320,该查询包含对具有以下属性的业务的请求:内存1GB以及磁盘空间=2GB。查询320落在信息业务节点130b所拥有的属性子空间。因此,查询320被通过覆盖网络210路由到信息业务节点130b。查询320被自动路由和存储到信息业务节点130b,信息业务节点130b通过搜索存储在信息业务节点130b自身中的公告,并将任何匹配发送到请求该业务的节点来对该查询做出应答响应。
包括属性空间300的覆盖网络210支持范围查询。范围查询包括一个或多个用于识别确认一项期望业务的属性范围。利用覆盖网络210,信息业务节点130可操作来把将范围查询路由到与所查询中的属性值范围相交的属性值范围或者属性子空间。另外,该查询可包括多个属性范围,而且该查询可以被路由到不止一个信息业务节点,所述节点的属性子空间包含一个属性范围或与该属性范围相交。
3.信息业务节点
图4图示了存储在信息业务节点-例如信息业务节点130b中的一些信息。信息业务节点130b包括存储缓存器410,覆盖路由表420以及副本位置缓存器430。存储缓存器410用来存储局部查询401和全局查询402。存储缓存器410还存储局部公告405和全局公告406。所述全局查询402包括经由覆盖网络210被路由到信息业务节点130b的查询,因为这些查询落在信息业务节点130b所拥有的属性子空间中。图3所示的查询320是全局查询的一个实例。
局部查询401包括由信息业务节点130b接收到的任何查询。例如,信息业务节点130a接收到一个查询并将该查询转发到它在覆盖网络210中的目的地,其包括拥有该查询落入的属性子空间的信息业务节点。在把该查询转发到其目的地之前,该查询在本地被缓存在存储缓存器410中。同样,在将该查询转发到其目的地之前,所述信息业务节点130b搜索存储在存储缓存器410中的本地公告405,以确定是否找到任何与该查询相匹配的公告。如果发现是匹配的,那么信息业务节点130b就例如通过将相匹配的公告发送给请求该业务的节点以及相关联的业务节点来应答该查询。信息业务节点130b可以继续把该查询向其目的地路由,这是因为该目的地可能包括与该查询相匹配的业务公告,而该公告是由距离请求该业务的节点更近的业务节点提供的。可替换地,如果相匹配的公告存在于本地的缓存中,信息业务节点130b就可以不转发该查询。
全局公告406包括那些经由覆盖网络被路由到信息业务节点130b的公告,因为所述公告落在信息存储节点130b所拥有的属性子空间。图3所示的公告310是信息业务节点130a的全局公告的实例。
局部公告405包括任何由信息业务节点130a接收的公告。例如,信息业务节点130a接收公告并将该公告转发到它的目的地。这些公告都在本地被缓存在存储缓存器410中,并且若在本地缓存中找到来与查询相匹配的公告,则对这些公告进行搜索以便提供更快的查询响应时间。
信息业务节点130a还包括覆盖路由表420。该覆盖路由表420包括以下字段:级别421,IP地址22,概率423,以及属性范围424。级别421一般与信息业务节点130b和另一信息业务节点共担其作业量的次数相关联。当信息业务节点130b与另一信息业务节点共担其作业量时,在信息业务节点130b的路由表中就会有一条新的条目被创建,其级别高于该路由表中已有的最高级别。例如,当信息业务节点130b与信息业务节点130c共担其作业量时,条目431和432就会被创建在级别1处。随后,当信息业务节点130b与信息业务节点130d共担其作业量的时候,就创建了条目433,其级别为2。当与覆盖网络210中的其它信息业务节点相比,确定出一个信息业务节点的作业量较高时,就可以执行作业量共担划分。概率423表明一个信息业务节点将具有所期望数据的概率。例如,条目430表明信息业务节点130a总是存储内存<=1GB的公告,条目431表明信息业务节点130c总是存储磁盘空间<=2GB的公告。不过,信息业务节点130c有50%的概率存储磁盘空间<=5GB的公告。在前面引用的美国专利申请中有对在路由表中生成条目和概率的进一步详细描述。
在路由表420中的IP地址字段422用于指定某一特定条目中信息业务节点的目的地。例如,如果信息业务节点130b接收到一个公告并确定该公告具有内存属性<1GB,那么信息业务节点130b利用条目430将该公告路由到其下一个目的地,如信息业务节点130a。可以在条目430的IP地址字段中提供信息业务节点130a的IP地址,并且信息业务节点130b利用IP路由来将消息传送到网络200中的信息业务节点130a。
副本(replica)位置缓存器430存储与每一个业务节点被联系的次数以及对已经被联系过的节点的等待时间相关联的信息。副本就是一个信息业务节点的拷贝。例如,在确定出原始信息业务节点已经被网络100中某一区域的用户节点频繁联系的情况下,以及/或从该原始信息业务节点接收消息(例如对查询的响应)的用户节点已经经历了对该信息业务节点很长的等待时间的情况下,一个信息业务节点就可以被复制在网络100中的新位置。信息业务节点130b可以利用副本位置缓存器430中的信息来确定是否在网络100中的另外一个区域添加一个副本以此来降低等待时间。
4.路由
图5图示了在覆盖网络210中路由查询501的一个实例。用户节点110a向一个信息业务节点-例如覆盖网络210中的信息业务节点130a发送查询501。在一个实例中,可以基于网络临近程度来选择覆盖网络210中与用户节点建立初始联系的信息业务节点。例如,在用户节点110a加入对等网络100时的初始化步骤中,用户节点110a从一个信息业务节点接收消息,该消息指示出表明该信息业务节点在紧邻用户节点110a的网络中的IP地址。在徐志成(Zhichen Xu)等人于2004年1月30日提出的美国专利第10/767,285号(标题为“Selecting NodesClose To Another Node in a Network Using Location Information Forthe Nodes”)中,描述了利用基于网络度量-如等待时间、跳数等测量的距离来确定节点的位置信息的一个实例,该专利被转让给本申请的受让人。位置信息被用于确定与网络中其它节点的网络临近程度,并能够用于选择最接近的信息业务节点。也可以使用其它技术来确定网络中节点的距离和位置信息。
在用户节点110a识别确认了紧邻的信息业务节点-如信息业务节点130a时,用户节点110b就把查询501传送到信息业务节点130a。查询501包含定义用户节点110a所期望业务的属性值。该属性值可以是一个范围或是单一值。在该实例中,查询501包括以下属性值:
表2查询501的属性和属性值
内存:2GB
磁盘空间:10GB
操作系统:Linux 2.4
响应时间:50-100ms
信息业务节点130a接收查询501。信息业务节点130a的属性子空间包括内存<=1GB。查询501包括2GB内存的属性值。所述2GB的属性值不包含在信息业务节点130a属性子空间中内存<=1GB的属性范围内,因此查询501不落在信息业务节点130a的属性子空间中。
信息业务节点130a从其路由表中识别确认出包括查询501的属性值的信息业务节点。例如,信息业务节点130a从最低级别-例如级别0的条目开始并且搜索其路由表,以查找包含与查询501属性值相交的属性值的条目。示出条目501,包括:级别0、信息业务节点130b的IP地址、概率为1、以及内存>1GB。根据条目501,信息业务节点130a向信息业务节点130b发送查询501。而信息业务节点130b的属性子空间包括响应时间<20ms,该属性值不包括在查询501中所指定的响应时间范围50-100ms内。因此,信息业务节点130d查找其路由表并找到一项条目,例如条目511。条目511标识信息业务节点130d,查询501被传送到信息业务节点130d。信息业务节点130d的属性子空间包含查询501的属性值,因此查询501落在该属性子空间内。信息业务节点130a判断其全局缓存器中所存储的任何公告是否有满足该查询。例如,一个业务可能需要让所有属性值都指定在它视为是匹配的查询501中。如果发现是匹配的,那么信息业务节点130a通过向用户节点110a发送该公告(包括,例如,提供该业务的业务节点的IP地址)来对查询501作出应答响应。此外,信息业务节点130a还向该公告的业务节点连同用户节点110a的IP地址一起发送一条消息,表明用户节点110a正在请求该公告中所描述的业务。查询501也被存储在信息业务节点130c的全局缓存器中。
在转发查询501之前,信息业务节点130a和130b可以在其本地缓存器中存储查询501的拷贝。在转发该查询之前,信息业务节点130a和130b也可以判断在其本地缓存器中存储的任何公告是否满足该查询501。如果发现是匹配的,信息业务节点130a可以通过向用户节点110a发送该公告(包括例如提供该业务的业务节点的IP地址)来对查询501做出应答响应。此外,信息业务节点130a也可以向提供该公告中所描述业务的业务节点连同用户节点110a的IP地址一起发送一条消息,表明用户节点110a正在请求该公告中的业务。
在以上相对于图5描述的实例中,由于查询501落在信息业务节点130d的属性子空间中,因此查询501就被路由到信息业务节点130d。查询501可以继续被路由到其它可能包括与查询501匹配的公告的信息业务节点。例如,另一信息业务节点可能包括以下属性子空间:内存>1GB、磁盘空间>5GB、响应时间>=20ms,以及操作系统(包括Linux 1.0-2.5)。信息业务节点130d可以将查询501路由到包含上述属性子空间的信息业务节点,这是因为所述查询501也落在了该属性子空间内。这样,用户节点110a可以从多个信息业务节点(包括在其本地缓存器中发现匹配公告的信息业务节点)接收到搜索结果,并且用户节点110a可以选择一个业务节点来接收所期望的业务。
除此之外,应该注意到覆盖网络210支持范围查询。查询501包含一个属性值范围,响应时间这一属性的范围是50-100ms。查询501可以包括一个或多个范围,该查询被路由到与该范围相交的信息业务节点。例如,查询501可能被路由到任何一个包括属性值50-100ms在内的属性子空间。
图6图示在覆盖网络210中路由公告601。在覆盖网络210中公告被类似于查询地路由。业务节点120周期性地测量其属性,并将包括所测量的属性的公告传送到覆盖网络210。每个公告都可以包含预定属性组中每个属性的属性值或属性值范围。预定属性组的实例包括内存、磁盘空间、操作系统、提供业务的业务节点的平均负载、应用程序、业务运行时间,以及提供业务的信息业务节点的响应时间。
图6图示业务节点120b所生成的公告601。所述公告601包括以下内容:
表3公告601的属性值
内存:1GB
磁盘空间:2.5-5GB
操作系统:Linux 2.4
平均负载:0
应用程序:Maya,Renderman
业务运行时间:99.5%
响应时间:<=20ms
业务节点120b可以将公告601传送到信息业务节点130a,这是由于例如信息业务节点130a紧邻业务节点120b。公告601并未落入信息业务节点130a所拥有的属性子空间,因为公告601的内存>1GB,而信息业务节点130a的属性子空间包括内存<=1GB的属性。这样,信息业务节点130a从其路由表的条目610中识别出信息业务节点130b。例如,信息业务节点130b从最低级别的条目开始并且搜索器其路由表,以查找属性值与公告601的属性值相交的条目。条目610确认标识信息业务节点130b,公告601被传送到信息业务节点130b。公告601并未落在信息业务节点130b拥有的属性子空间内,因为公告601的磁盘空间小于或等于5GB。信息业务节点130b从其路由表中的条目611识别出信息业务节点130c,其包括属性值磁盘空间<=5GB。公告601落在信息业务节点130c的属性子空间内,并且被存储在信息业务节点130c。在转发公告601之前,信息业务节点130a和130b将公告601存储在其本地缓存器中。除此之外,信息业务节点130c还可以复制公告601,以存储在其全局缓存器中,并且将公告601转发到其它包括广告601落在的属性子空间的信息业务节点。
如以上描述的实例,单一的覆盖网络-例如覆盖网络210可被用于将查询和公告路由到目的地。除此之外,还能够使用查询或公告中的不止一个属性执行在覆盖网络210中将该公告或查询路由到一个最终的目的地,例如,该查询或公告落在的一个或多个属性子空间。
图7图示了按本发明的一个实施例在覆盖网络210中路由查询和公告的方法700。此处,可把所述查询或公告称作业务查询或是业务公告,因为该查询或公告是关于一个被请求的业务或是网络100中一个可用的业务。图7是相对于图5和图6所示实例通过举例而不是限制地加以描述的。在步骤701中,接收包含多个属性和属性值的查询或公告。在步骤702中,利用不同的属性,将该查询和公告路由到覆盖网络中的一个节点。例如,利用网络跳的内存属性,把图5中所示的查询501路由到130b。然后,利用响应时间属性将查询501路由到信息业务节点130d。在图6中,也利用在不同跳的内存和磁盘空间属性来路由公告601。
图8图示按本发明的一个实施例在覆盖网络210中路由查询或公告的更详细的方法800。图8是相对于图5和图6所示实例通过举例而不是作为限制地加以描述的。
在步骤801中,一个信息业务节点接收一个查询或公告。在步骤802中,该信息业务节点确定所述查询或公告是否落在该信息业务节点的属性子空间内。例如,在图5中,查询501没有落在信息业务节点130a和130b的属性子空间内。类似地,图6所示的公告601也没有落在信息业务节点130a和130b的属性子空间内。
如果查询或公告没有落在该属性子空间内,则在步骤804中,搜索包含在图4所示的存储缓存器410中的本地缓存器,和/或使用该本地缓存器来存储该查询或公告。例如,在图5,搜索所示的信息业务节点130a和130b的本地缓存器,以确定在其本地缓存器中的任何公告是否与查询501相匹配。相匹配的公告可以被传送到用户节点110a和该匹配公告中所描述的提供该业务的业务节点。查询501也被存储在信息业务节点130c和130d的本地缓存器中。在图6中,公告601被存储在信息业务节点130c和130d的本地缓存器中。
在步骤805中,搜索信息业务节点的路由表以查找包括与该查询或公告的属性范围或属性值相交的属性范围或属性值的条目。例如,图5中的信息业务节点130a和130b分别识别出条目510和条目511。可以从最低级别的条目开始搜索路由表,以确认识别基本上最近的信息业务节点来转发查询501。然后,在步骤806中,查询501被路由到该条目中指定的信息业务节点。如果在该路由表条目中提供有(IP)地址,那么可以利用网际协议(IP)路由来路由查询501。类似地,相对于图6,信息业务节点130a和130b分别确认识别条目610和611来路由公告601。然后,公告601被路由到在每一跳在该条目中确认识别出的信息业务节点。
然后,重复步骤802,以确定接收所述查询和公告的信息业务节点是否拥有该查询和公告落入的属性子空间。在步骤803中,如果接收该公告的信息业务节点拥有该公告落入其中的属性子空间,则该信息业务节点将该广告存储在其全局缓存器中,该缓存器可以包含在图4所示的存储缓存器410中。在步骤803中,如果接收一个查询的信息业务节点拥有该查询落入其中的属性子空间,则该信息业务节点也存储该查询并搜索其全局缓存器以查找任何与该查询相匹配的公告。如果发现是匹配的,则将该公告发送到请求该业务的节点和提供该业务的业务节点。除此之外,在步骤803中,该信息业务节点可以将该查询转发到其它具有该查询所落入的属性子空间的信息业务节点。
方法800中的一个或多个步骤可以以不同的次序被执行,这一点对于本领域的一般技术人员是显而易见的。例如,可以在步骤802之前,执行用于搜索本地缓存器或在本地缓存器中存储信息的步骤804。
图9图示了按本发明的一个实施例用于对被传送到信息业务的查询做出应答响应的方法900。图9是相对于图5和图6所示实施例并且通过举例而不是作为限制地加以描述的。
在步骤901中,信息业务中的一个信息业务节点,例如图5所示的信息业务节点130a,接收查询501。在步骤902中,根据查询501中的不同属性,将查询501路由到信息业务节点。例如,查询501被路由到拥有该查询所落入的属性子空间的信息业务节点130d。如图5另外所示的,利用至少两个不同的属性,如内存属性和响应时间属性,将查询501路由到信息业务节点130d,因为查询501所包括的属性值被包括在信息业务节点130d所拥有的属性子空间的属性值内。
在步骤903中,信息业务节点130d判断在其全局缓存器中所存储的任何公告是否与查询501相匹配。如果发现是匹配的,则在步骤904中,与该公告相关联并且表明在网络100中该业务是可用的信息被传送到用户节点110a。被传送的信息可以包括提供所期望业务的业务节点的IP地址。信息业务节点130d也可以把包括用户节点110a的IP地址的消息传送给提供所期望业务的业务节点。如果在步骤903中发现没有任何的匹配,则在步骤905,信息业务节点130d可以发送一个表明未找到任何匹配的指示,并信息业务节点130d可以将该查询转发到覆盖网络210中的其它信息业务节点。例如,查询501可以落在另一个信息业务节点的属性子空间,并且通过覆盖网络210,把查询501路由到该信息业务节点。
图10图示了可被用作覆盖网络210中的一个信息业务节点的计算机系统1000的示例性框图。该计算机系统1000包括一个或多个处理器,例如处理器1002,其为执行软件提供了一个执行平台。
来自处理器1002的命令和数据通过通信总线1004进行传送。计算机系统1000还包括主存储器1006,如随机存取存储器(RAM),软件运行时可以驻留在这里,以及一个从存储器1008。该从存储器1008包括,例如,硬盘驱动器1010和/或可拆卸存储驱动器1012,表示软盘驱动器、磁带驱动器、光盘驱动器等,或者是可以存储软件副本的非易失性存储器。所述从存储器1008还可包括ROM(只读存储器)、EPRPM(可擦除,可编程ROM)、EEPROM(电可擦除,可编程ROM)。在主存储器1006和/或从存储器1008中,除存储软件之外,还可以存储路由表、全局信息表以及所测量的业务质量(QoS)特性、所测量的可用带宽和业务所需的带宽。所述可拆卸存储驱动器1012以众所周知的方式从可拆卸存储单元1014中读取和/或写入数据。
用户使用一个或多个输入设备1028,例如,键盘、鼠标、手写笔等等与计算机系统1000接口联系。显示适配器1022与通信总线1004和显示器1020接口联系,并且接收来自处理器1002的显示数据并将显示数据转换为显示器1020的显示命令。提供网络接口1030,用于通过图10所示的网络1020与其它的节点进行通信。
方法700、800和900中的一个或多个步骤可用嵌入在计算机可读媒体-如存储器1006和/或1008并在计算机系统1000上例如由处理器1002来执行的软件来实现。这些步骤可通过一个计算机程序所体现,其能够以多种活动和不活动的形式存在。例如,它们可以以软件程序的形式存在,该软件程序可以由源代码、目标代码、可执行代码或者用来执行某些步骤的其它格式的程序指令组成。以上任何内容都能以压缩或者非压缩的形式嵌入在在计算机可读媒体上,包括存储设备和信号。
计算机可读设备的适当的实例包括传统的计算机RAM(随机存取存储器)、ROM(只读存储器)、EPRPM(可擦除,可编程ROM)、EEPROM(电可擦除,可编程ROM),以及磁盘、光盘或磁带。举例来说,计算机可读信号(无论是否利用载波调制)是驻留或运行计算机程序的计算机系统可被配置成去访问的那些信号,包括从因特网或者其它网络下载的信号。前述所述内容的具体实例包括CD ROM上的或者通过因特网下载对程序的分发。在某种意义上,作为一个抽象的实体,因特网本身就是一个计算机可读媒体。总的来说计算机网络也是同样。因此,可以理解,利用能执行上述功能的任何电子设备都可以实现下面列举的那些功能。
尽管前面参考一些例子描述了本发明的实施例,不过,本领域的熟练技术人员能够在不脱离本发明实质和范围的情况下,对所述实施例做各种修改。这里使用的术语和描述仅以说明的方式列出,并不是意味着是限制。尤其是,尽管已经用实例描述了这些方法,但方法中的步骤可以用与例子不同的步骤被执行,或者可以同时执行。本领域的熟练技术人员将会意识到,所有这些变动都落在以下权利要求及其等同要求中所定义的本发明的实质和范围。

Claims (10)

1.一种用于在覆盖网络210中路由业务查询501的方法,其中覆盖网络210中的节点130能被操作来存储与业务的属性和属性值相关联的信息,该方法包括:
接收查询501,该查询包括所期望业务的多个属性和属性值;以及
利用该查询501中的不同属性将该查询501路由到覆盖网络210中的目的地130d。
2.根据权利要求1的方法,其中利用查询501的不同属性将查询501路由到覆盖网络210中的目的地130d进一步包括:
利用在覆盖网络210中的不同跳130a,130b处的不同属性,将该查询路由到覆盖网络210中的目的地130d。
3.根据权利要求2的方法,其中利用在覆盖网络210中的不同跳130a,130b处的不同属性将该查询501路由到覆盖网络210的目的地130d进一步包括:
搜索第一节点130a处的路由表中的条目,以查找包含查询501中的第一属性的属性值的属性范围;
从路由表中的条目识别第二节点130b,该节点具有包括该属性值的属性范围;
将查询501传送到覆盖网络210中的第二节点130b;
确定第二节点130b的属性子空间是否包括查询501中的属性值;
搜索第二节点130b的路由表中的条目,以查找包含查询501中的第二属性的属性值的属性范围;
根据第二节点130b的路由表中的条目识别覆盖网络210中的第三节点130d,第三节点130d具有包含查询501中的第二属性的属性值的属性范围;以及
将查询501传送到第三节点130d。
4.根据权利要求3的方法,进一步包括:
确定存储在第三节点130d的公告是否与查询501相匹配;以及
将公告501传送到请求查询501中所述业务的节点110a。
5.根据权利要求3的方法,其中搜索第一节点130a处的路由表中的条目以查找包含查询501中的第一属性的属性值的属性范围进一步包括:
搜索第一个节点130a处的路由表中的条目从最低级别的条目开始进行。
6.根据权利要求1的方法,其中覆盖网络210中的每个节点130负责存储与预定属性值相匹配的公告。
7.根据权利要求1的方法,其中查询501包括范围查询,该范围查询包括至少一个属性值范围,并且利用查询501的不同属性将查询501路由到覆盖网络210中的目的地130d进一步包括:
将该范围查询路由到覆盖网络210中的节点,该节点具有包括属性值与至少一个范围相交叉的属性子空间。
8.根据权利要求1的方法,其中利用查询501的不同属性将查询501路由到覆盖网络210中的目的地130d进一步包括:
将查询501路由到覆盖网络210中的多个节点130a、130b和130d,所述多个节点130a、130b和130d中的每一个节点都具有包括查询501中的至少一个属性值的属性子空间。
9.一种覆盖网络210中的节点130,其中覆盖网络210中的每一个节点都负责存储与预定属性值相匹配的公告,该节点130包括:
接口1030,可操作来接收公告或查询;
路由表,可操作来存储覆盖网络210中的其它节点的条目;以及
处理电路1002,可操作来以覆盖网络210中的节点的最低级别条目开始搜索路由表,该节点负责包括所述公告或查询中的属性值的至少一个属性范围。
10.根据权利要求9的节点130,其中接口1030可进一步用于向覆盖网络中的节点传送公告或查询,该节点负责包括所述公告或查询中的属性值的至少一个属性范围,其中,利用覆盖网络210中不同跳处的不同属性将所述公告和查询路由到该节点。
CN2005800478370A 2004-12-07 2005-10-31 在覆盖网络中路由业务查询的方法和信息业务节点 Active CN101116312B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/006,041 2004-12-07
US11/006,041 US7529196B2 (en) 2004-12-07 2004-12-07 Routing a service query in an overlay network
PCT/US2005/039559 WO2006062628A1 (en) 2004-12-07 2005-10-31 Routing a service query in an overlay network

Publications (2)

Publication Number Publication Date
CN101116312A true CN101116312A (zh) 2008-01-30
CN101116312B CN101116312B (zh) 2013-11-06

Family

ID=35583411

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2005800478370A Active CN101116312B (zh) 2004-12-07 2005-10-31 在覆盖网络中路由业务查询的方法和信息业务节点

Country Status (7)

Country Link
US (1) US7529196B2 (zh)
EP (1) EP1825654B1 (zh)
JP (1) JP4679584B2 (zh)
CN (1) CN101116312B (zh)
AT (1) ATE450969T1 (zh)
DE (1) DE602005018104D1 (zh)
WO (1) WO2006062628A1 (zh)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7680771B2 (en) * 2004-12-20 2010-03-16 International Business Machines Corporation Apparatus, system, and method for database provisioning
US20100195538A1 (en) * 2009-02-04 2010-08-05 Merkey Jeffrey V Method and apparatus for network packet capture distributed storage system
AU2005322350B2 (en) * 2004-12-23 2010-10-21 Symantec Corporation Network packet capture distributed storage system
WO2008054020A1 (en) * 2006-11-02 2008-05-08 Panasonic Corporation Overlay network node
JP4702314B2 (ja) * 2007-03-23 2011-06-15 ブラザー工業株式会社 コンテンツ分散保存システム、ノード装置、ノード処理プログラム、及びコンテンツデータ取得方法
JP4877107B2 (ja) * 2007-07-06 2012-02-15 ブラザー工業株式会社 情報配信システムにおける端末装置及び情報処理プログラム、並びに端末装置の情報処理方法
KR101495915B1 (ko) * 2007-10-03 2015-02-25 삼성전자주식회사 근거리 통신망 내 통신 방법 및 시스템
US8625642B2 (en) 2008-05-23 2014-01-07 Solera Networks, Inc. Method and apparatus of network artifact indentification and extraction
US8521732B2 (en) 2008-05-23 2013-08-27 Solera Networks, Inc. Presentation of an extracted artifact based on an indexing technique
US8004998B2 (en) * 2008-05-23 2011-08-23 Solera Networks, Inc. Capture and regeneration of a network data using a virtual software switch
US8199673B2 (en) * 2008-06-17 2012-06-12 Qualcomm Incorporated Methods and apparatus for discovery of peer to peer overlaying networks
US9301238B2 (en) * 2009-03-06 2016-03-29 Qualcomm Incorporated Methods and apparatus for automated local network formation using alternate connected interfaces
US8849991B2 (en) 2010-12-15 2014-09-30 Blue Coat Systems, Inc. System and method for hypertext transfer protocol layered reconstruction
GB2487992A (en) * 2011-01-31 2012-08-15 Sita Information Networking Computing Uk Ltd Inventory control system
US8666985B2 (en) 2011-03-16 2014-03-04 Solera Networks, Inc. Hardware accelerated application-based pattern matching for real time classification and recording of network traffic
JP6135509B2 (ja) * 2011-09-27 2017-05-31 日本電気株式会社 情報システム、その管理方法およびプログラム、データ処理方法およびプログラム、ならびに、データ構造
US9007945B2 (en) * 2013-01-23 2015-04-14 Dell Products L.P. Automated network service discovery and communication
US9438439B2 (en) * 2013-10-30 2016-09-06 Aruba Networks, Inc. Dynamic optimization of advertisement packets

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10254805A (ja) * 1997-03-12 1998-09-25 Fuji Xerox Co Ltd データ処理システムおよびデータ処理方法
US6308216B1 (en) * 1997-11-14 2001-10-23 International Business Machines Corporation Service request routing using quality-of-service data and network resource information
US6760775B1 (en) * 1999-03-05 2004-07-06 At&T Corp. System, method and apparatus for network service load and reliability management
US7133368B2 (en) * 2002-02-01 2006-11-07 Microsoft Corporation Peer-to-peer method of quality of service (QoS) probing and analysis and infrastructure employing same
US7263560B2 (en) * 2002-08-30 2007-08-28 Sun Microsystems, Inc. Decentralized peer-to-peer advertisement
JP3964808B2 (ja) * 2003-03-05 2007-08-22 日本電信電話株式会社 ルーチング方法及びルーチング装置並びにプログラム及び記録媒体
JP3803329B2 (ja) * 2003-03-14 2006-08-02 日本電信電話株式会社 エンティティ装置、代替エンティティ探索方法及び代替エンティティ探索プログラム並びにその記録媒体
JP3946658B2 (ja) * 2003-03-31 2007-07-18 日本電信電話株式会社 エンティティ装置、イベント転送制御方法、イベント転送制御プログラム及びその記録媒体

Also Published As

Publication number Publication date
JP2008525868A (ja) 2008-07-17
JP4679584B2 (ja) 2011-04-27
US7529196B2 (en) 2009-05-05
EP1825654B1 (en) 2009-12-02
CN101116312B (zh) 2013-11-06
DE602005018104D1 (de) 2010-01-14
WO2006062628A1 (en) 2006-06-15
EP1825654A1 (en) 2007-08-29
US20070115844A1 (en) 2007-05-24
ATE450969T1 (de) 2009-12-15

Similar Documents

Publication Publication Date Title
CN101116312B (zh) 在覆盖网络中路由业务查询的方法和信息业务节点
CN101133622B (zh) 划分节点的工作负荷
CN101116313B (zh) 为覆盖网络中的节点确定最高工作负荷
US7792915B2 (en) Content distribution overlay network and methods for operating same in a P2P network
JP6074430B2 (ja) クラウド選択のための調整エンジン
US7814207B2 (en) Method and system for identifying available resources in a peer-to-peer network
US8271987B1 (en) Providing access to tasks that are available to be performed
US7543020B2 (en) Distributed client services based on execution of service attributes and data attributes by multiple nodes in resource groups
US20080195597A1 (en) Searching in peer-to-peer networks
EP2030414A1 (en) Self-managed distributed mediation networks
JP3842768B2 (ja) サービス検索装置およびサービス検索方法
Meneguette et al. Vehicular clouds leveraging mobile urban computing through resource discovery
Li et al. An efficient scheduling optimization strategy for improving consistency maintenance in edge cloud environment
AlQerm et al. Enhanced online Q-learning scheme for resource allocation with maximum utility and fairness in edge-IoT networks
Khodaparas et al. A software-defined caching scheme for the Internet of Things
US20090319645A1 (en) Method, Apparatus, and Computer Program Product for Distributed Information Management
CN101316377A (zh) 即时消息路由方法、设备和系统
JP2010009449A (ja) 分散情報配置システム
CN102144373A (zh) 概率动态路由器-服务器网格路由
Almobaideen et al. Application based caching in fog computing to improve quality of service
Roussaki et al. Optimising context data dissemination and storage in distributed pervasive computing systems
Lu et al. Autonomous integration and optimal allocation of heterogeneous information services for high-assurance in distributed information service system
Jacob et al. Bio-inspired context gathering in loosely coupled computing environments
Epifˆanio Cathode: A consistency-aware data placement algorithm for the edge
Liu et al. A centralized service discovery approach for agent-based cloud computing system

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
C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20170123

Address after: American Texas

Patentee after: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP

Address before: American Texas

Patentee before: Hewlett Packard Development Co.