CN101116313B - 为覆盖网络中的节点确定最高工作负荷 - Google Patents
为覆盖网络中的节点确定最高工作负荷 Download PDFInfo
- Publication number
- CN101116313B CN101116313B CN200580047845.5A CN200580047845A CN101116313B CN 101116313 B CN101116313 B CN 101116313B CN 200580047845 A CN200580047845 A CN 200580047845A CN 101116313 B CN101116313 B CN 101116313B
- Authority
- CN
- China
- Prior art keywords
- tabulation
- service node
- service
- node
- network
- 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.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
-
- 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/02—Topology update or discovery
-
- 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/26—Route discovery packet
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1004—Server selection for load balancing
- H04L67/1008—Server selection for load balancing based on parameters of servers, e.g. available memory or workload
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1029—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers using data related to the state of servers by a load balancer
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
- H04L67/1087—Peer-to-peer [P2P] networks using cross-functional networking aspects
- H04L67/1093—Some peer nodes performing special functions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/51—Discovery or management thereof, e.g. service location protocol [SLP] or web services
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Computer And Data Communications (AREA)
Abstract
网络(210)中的节点(130)用于提供信息服务。通过经由网络(210)将工作负荷列表(712)路由到最终目的地(701),识别具有最高工作负荷的节点集合。接收列表(712)的每个节点确定在列表(712)中是否包括相应节点的工作负荷。
Description
技术领域
本发明通常涉及网络,更特别地,本发明涉及网络中节点的工作负荷。
背景技术
大型网络,如因特网,可以为许多对等网络系统提供基础结构,其正被用于为用户提供多种服务。例如,媒体服务,如流送和译码;和用于电子商务的网络服务,如航空和旅店预定;或者用于计算和数据的网格计算服务都可以通过大型网络获得。
有效地利用这些网络服务的一个根本性挑战是在大型网络中,如因特网,有效并且快速地查找到所期望的服务。由于受到一些因素的影响,发现服务的这一挑战是复杂的。例如,如果使用集中式信息服务来促进这样的发现,如用于对等网络文件共享系统中的集中式信息服务,可用服务的数量和用户数量的增长无法容易地进行衡量。另外,每个服务都具有若干动态属性,例如在信息服务中保持变化及需要更新的负荷和等待时间。集中式信息服务可能无法维持期望的更新速率。此外,提供具有最小停机时间(downtime)的信息服务可能需要几个系统管理员来维护而成本较高。最后,该信息服务应具有位置感知特性,以获取更快的反应时间。例如,包含对所需服务的请求的查询应该被指引到网络中邻近最初发送查询的节点的节点,并且作为对查询的响应而返回的服务在网络中也应该邻近查询节点。
发明内容
根据一个实施例,网络中的节点能够提供信息服务。通过将节点的工作负荷列表经由覆盖网络中的节点路由到网络中的最终目的地,来识别具有最高负荷的节点集合。接收该列表的每个节点确定是否在该列表中包括工作负荷。
附图说明
参考以下对实施例的详细描述并结合附图,所述实施例的各方面特性能够得到更充分地认识,同时变得更容易理解,其中:
图1示出了根据实施例的网络;
图2示出了根据实施例的对等网络中的覆盖网络;
图3示出了根据实施例的属性空间和属性子空间;
图4示出了根据实施例的储存在一信息服务节点中的信息;
图5示出了根据实施例路由一查询;
图6示出了根据实施例路由一公告;
图7示出了根据实施例的交换阶段和分发(dissemination)阶段;
图8A-D示出了根据实施例的用于信息服务节点的路由表;
图9示出了根据实施例的包括交换阶段中的步骤的方法的流程图;以及
图10示出了根据实施例的用于top K路由算法的方法的流程图;和
图11示出了根据实施例的计算机系统。
具体实施方式
为了简化和说明的目的,将描述所述实施例的原理。然而,本领域的普通技术人员容易知道相同原理可以同等地应用和实施在所有类型的网络系统中,并且任何这样的变化都不会偏离实施例的真实精神和范围。此外,在以下的详细描述中,参考了附图,它们示出了具体的实施例。可以对实施例进行电气的、机械的、逻辑的和结构的改变,而不会脱离该实施例的精神和范围。
根据一个实施例,在网络中,提供分布式信息服务用于发现服务。所述信息服务为用户提供关于通过网络可利用的服务的信息。用户向该信息服务查询关于期望的通过网络可利用的服务的信息。该信息服务可以用网络中能够提供期望服务的服务节点的列表来响应。
所述信息服务是一种分布式信息服务,其包括在对等网络中存储关于可用服务的信息的多个信息服务节点。与节点趋于瞬变的传统对等网络不同,所述信息服务节点是对等结构中的稳定节点,它们很可能在一段延长的时期里保留在对等网络中,而不是在短时期内加入对等网络。所述对等网络是在分布式结构中用于管理信息服务节点的一个例子,任何类型的分布式结构都可以被使用,这一点对于本领域中的一般技术人员是显然的。
信息服务的分布式特性将由于使用处理所有信息查询的传统中央信息储藏库带来的瓶颈最小化,并且因此改善查询响应时间。对于对等网络,使用覆盖网络高效率地路由查询和分布式信息服务中服务的有关信息,以此来帮助在网络中发现可用的服务。
在这里使用的服务涉及作用于输入的任何函数并且产生输出。服务的实例包括译码、语言翻译、加密、图像修复和分析、错误校正、以及将内容转换到不同的语言,等等。另外,一种服务可以由多种服务构成。例如,一个服务的输出可能是另外一个服务的输入,等等以作为用于构成该服务的许多中间服务。组合服务的例子有媒体服务,它包括输入到译码服务中的视频流服务,这样用户就可以接收到具有在特定的终端用户设备上可观看的格式的流视频。
其它类型的服务包括计算服务、数据存储服务、以及包含共享计算机资源的网格计算服务。例如,网格计算服务允许用户基于规范,如应用请求,访问计算服务。
1.系统概述
图1示出了包含用户节点110、服务节点12O、和信息服务节点130的网络100。所述网络100的一个实例包括大型网络,如因特网,在这样的网络中,服务对于用户可用。然而,所述实施例可以在较小的提供服务的网络中实施。用户节点包括任何可用于接收服务的节点。典型地,用户节点向信息服务提交一个查询来确定在网络100中用户期望的一个服务是否可用,如果该服务可用,再确定联系哪一个服务节点来接收该服务。服务节点120包括可用于提供服务的节点。在用户节点通过查询信息服务确定可提供所期望的服务的服务节点后,该用户节点从该提供所期望服务的服务节点接收该服务。节点是可以通过网络发送和/或接收消息的任何设备,这种设备通常能够执行某种类型的数据处理。节点的实例包括路由器、服务器,以及终端用户设备,如PDA、个人计算机、膝上电脑和便携式电话。
根据实施例,所述信息服务由信息服务节点130提供。在网络100中,信息服务节点130允许发现服务。除了发现服务,信息服务节点130使用若干技术来平衡它们自己之间的工作负荷,这几种技术在SujoyBasu等人的名为“划分节点的工作负荷”的待决美国专利申请(代理人摘要号200500031-1)中描述,并且按照Sujoy Basu等人的名为“在覆盖网络中路由服务查询”的待决美国专利申请(代理人摘要号200406058-1)所述来执行路由,通过完全引用将这两个申请结合在此。如上所述,包括信息服务节点130的信息服务执行与网络100中的服务发现有关的功能。两个重要的功能包括存储与可用服务相关的信息和响应关于可用服务的查询。如图2所示,在网络100中,信息服务节点130被提供在对等网络200中。所述对等网络200和和用于对等网络200的覆盖网络210尤其用于存储信息服务节点130中服务的有关信息,用于在信息服务节点130之间路由,并且用于响应查询。
如图2所示,所述覆盖网络210覆盖在下面的对等网络200。覆盖网络210是对等网络200的逻辑表示,并且如以下详细描述的那样,其可用于基于定义服务的属性和属性范围来高效率地路由查询和服务信息。图2示出了位于网络100的中心的信息服务节点130,和在覆盖网络210的周围提供的用户节点110和服务节点120,这是为了说明对等网络200包括信息服务节点130并且用户节点110和服务节点120按照需要与对等网络200中的信息服务节点130进行通信。所述信息服务节点130可以被提供在网络100中的几个不同区域,以便将等待时间最小化,例如,使一个用户节点收到对查询响应的响应所花费的时间长度。
2.属性空间和属性子空间
一个服务可以通过为各种服务属性指定值来表征。例如,一个计算服务可以由属性值,例如,操作系统和应用程序、物理存储器的数量、磁盘空间以及网络带宽来表征。
信息服务追踪这些属性和属性值。每一个信息服务节点有责任追踪一个或多个属性的值的某个集合。所有被追踪的属性的属性值集合的组合构成了由该信息服务节点追踪的属性子空间。
如图3所示,由信息服务节点130组成的信息服务包括一个属性空间300。所述属性空间300包括对等网络100中的可用服务的所有信息。该属性空间300是存储在信息服务中的信息的逻辑表示。
属性空间300分布在信息服务节点130之间。为了说明,如图3所示,只显示了三个信息服务节点130a-c。在属性空间300中,每一个信息服务节点130都被指派对一个属性子空间负责。每一个属性子空间与特定的属性和属性值相关联。在信息服务中,一个服务由预定的属性和属性值来定义,这些属性和属性值因服务而不同。属性和属性值被分配给每一个信息服务节点130。确定一个服务落在信息服务节点的一个子空间内,因此如果该服务的属性和属性值与分配给该信息服务节点的属性子空间的属性和属性值相匹配,则将关于该服务的信息最终存储在该信息服务节点中。例如,一个属性子空间可以包括特定属性的属性值。如果服务使用与一属性子空间的属性值相交的一个和多个属性值来定义,则该服务就可能落在该属性子空间内。下面将用一个实例进一步描述属性子空间。在网络100中,用于定义所有服务的预定属性列表包括,磁盘空间、平均负荷、操作系统、应用程序、服务正常工作时间、以及响应时间。网格计算服务包括共享计算机资源。网格计算服务,例如,网格计算服务1可以基于可共享的计算机资源来定义。使用以下属性值来定义网格计算服务1:
表1网格计算服务1的属性和属性值
存储器:1GB
磁盘空间:2.5-5GB
操作系统:Linux 2.4
平均负荷:0
应用程序:Maya,Renderman
服务正常工作时间:99.5%
响应时间:≤20ms
如图3所示,给信息服务节点130a分配由存储器≤1GB的属性值定义的属性子空间。网格计算服务1的公告310包括表1中列出的属性值,该公告被存储在信息服务节点130a中,因为该信息服务节点130a存储了所有具有存储器属性值≤1GB的公告。
公告包括用于定义特定的服务的属性和属性值。预定属性集合可以被用于定义网络100中的所有服务。每个服务节点120为预定属性集合中的每个属性测量或确定属性值。每个服务节点120还周期性地向信息服务发送它们的公告。覆盖网络210自动地将该公告路由到拥有该公告所落入的属性子空间的合适信息服务节点。上面所示的网格计算服务1的属性和属性值是网格计算服务1的公告130中的信息的一个实例。例如,提供网格计算服务1的服务节点周期性地测量或确定如表1所示的网格计算服务1的属性值,并将包括该属性值的公告310传输到覆盖网络210,以存储在拥有该公告所落入的属性子空间的信息服务节点中。在图3所示的实例中,信息服务节点130将网格计算服务1的公告310路由到信息服务节点130a,因为该信息服务节点130a存储了所有关于被传输至覆盖网络210,并具有存储器≤1GB的属性值的服务的信息。这就是说,用“存储器=属性”的属性值1GB来定义网格计算服务1,并且1GB属性值与信息服务节点130a的属性子空间的属性范围存储器≤1GB相交,即被包括在其中。这样,网格计算服务1落入信息服务节点130a的属性子空间。
上面所示的用于网格计算服务1的属性是用于定义网络100中的服务的预定属性组的实例。对于本领域普通技术人员来说很明显,其它的属性也可以用于定义可用服务。另外,预定的属性组可以用于定义服务。然而,每个服务可以具有不同的属性值,其被周期性地测量并被存储在具有相应属性子空间的信息服务节点中。
查询同样被存储在对等网络200中。例如,如图2所示的覆盖网络210可以接收图3所示的查询320,其包括请求具有以下属性的服务:存储器>1GB以及磁盘空间=2GB。查询320落在属于信息服务节点130b的属性子空间中。因此,经由覆盖网络210,将查询320路由到信息服务节点130b。查询320被自动地路由和存储到信息服务节点130b,并且信息服务节点130b通过搜索存储在信息服务节点130b的公告并将任何匹配的内容发送到请求该服务的节点来响应该查询。
包括属性空间300的覆盖网络210支持范围查询。范围查询包括一个或多个用于识别所期望的服务的属性空间。利用覆盖网络210,信息服务节点130能够将范围查询路由到包括该属性值范围的属性子空间或者与该查询中的属性值范围相交的子空间。另外,该查询可包括多个属性范围,而且该查询可以被路由到多于一个的信息服务节点,其具有包括属性范围或与属性范围相交的属性空间。
3.信息服务节点
图4示出了存储在信息服务节点例如信息服务节点130b的一些信息的一个实例。信息服务节点130b包括存储缓存器410、覆盖路由表420以及副本位置缓存器440。存储缓存器410存储局部查询401和全局查询402。存储缓存器410也用来存储局部公告405和全局公告406。所述全局查询402包括经由覆盖网络210被路由到信息服务节点130b的查询,因为这些查询落在信息服务节点130b所拥有的属性子空间中。图3所示的查询320是全局查询的一个实例。
局部查询401包括由信息服务节点130b接收到的任何查询。例如,信息服务节点130a接收到一个查询并向它在覆盖网络210中的目的地转发该查询,目的地可包括拥有该查询所落入的属性子空间的信息服务节点。在向其目的地转发之前,该查询被本地缓存在存储缓存器410中。并且,在向其目的地查询查询之前,所述信息服务节点130b搜索存储在存储缓存器410中的本地公告405,以确定是否有任何与该查询相匹配的公告。如果找到了匹配,则信息服务节点130b例如通过向请求该服务的节点以及相关联的服务节点发送相匹配的公告来响应该查询。信息服务节点130b可继续向目的地路由该查询,因为该目的地可能包括由更接近请求服务的节点的服务节点提供的、与该查询匹配的服务的公告。或者,如果相匹配的公告被本地缓存,信息服务节点130b就不转发该查询。
全局公告406包括那些经由覆盖网络210被路由到信息服务节点130b的公告,因为所述公告落在信息存储节点130b所拥有的属性子空间中。图3所示的公告310是信息服务节点130a的一个全局公告的实例。
局部公告405包括任何由信息服务节点130a接收的公告。例如,信息服务节点130a可能接收一个公告并将该公告转发到它的目的地。这些公告都被本地缓存在存储缓存器410中,并且如果在本地缓存中找到匹配的公告,可以搜索它们以便为查询提供较快的响应时间。
信息服务节点130b还包括覆盖路由表420。该覆盖路由表420包括以下字段:级别421、IP地址422、概率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。信息服务节点130a的IP地址可以在条目430的IP地址字段中提供,并且信息服务节点130b利用IP路由将该消息传送到网络200中的信息服务节点130a。
副本位置缓存器440存储的信息是关于每一个服务节点被联系的次数以及已经被联系过的服务节点的等待时间。副本就是一个信息服务节点的复制。例如,在确定原始信息服务节点被网络100中某一区域的用户节点频繁地联系,以及/或从原始信息服务节点接收消息(诸如对查询的响应)的用户节点已经历对该信息服务节点的高等待时间的情况下,在网络100中的一个新位置复制该服务节点。信息服务节点130b可以利用副本位置缓存器440中的信息来确定是否在网络100中的另外一个区域添加副本来减少等待时间。
4.路由
图5示出了在覆盖网络210中路由查询501的一个实例。用户节点110a将查询501传送到信息服务节点,例如,覆盖网络210中的信息服务节点130a。在一个实例中,可以基于网络邻近度来选择覆盖网络210中与用户节点建立初始联系的信息服务节点。例如,在初始化步骤期间,当用户节点110a加入到对等网络100中时,用户节点110a接收来自信息服务节点的消息,该消息指明在用户节点110a较近的网络邻近度内的信息服务节点的IP地址。利用基于网络度量,如等待时间、跳数等测量的距离来确定节点的位置信息的一个实例,在以下美国专利申请中被描述:申请号为10/767,285,于2004年1月30日提交,发明人为XuZhichen等,名称为“利用节点的位置信息选择接近网络中另一节点的节点”,该专利被转让给本申请的专利权人。所述位置信息用于确定与网络中其它节点的邻近度,并且用于选择最接近的信息服务节点。也可以使用确定网络中节点的距离和位置信息的其它技术。
当用户节点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属性值相交叉的属性值的条目。示出了一个条目510,包括:级别0、信息服务节点130b的IP地址、概率为1、以及存储器>1GB。基于该条目510,信息服务节点130a将查询501传送到信息服务节点130b。信息服务节点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,条目611包括属性值磁盘空间≤5GB。公告601落在信息服务节点130c的属性子空间内,并且被存储在信息服务节点130c。在转发公告601之前,信息服务节点130a和130b将公告601存储在其本地缓存中。另外,信息服务节点130c可以复制公告601以存储在其全局缓存中,并且将公告601转发到其它包括公告601落入的属性子空间的信息服务节点。
4.识别Top K节点的分布式算法
在图2所示的覆盖网络210中,由每个信息服务节点130周期性测量工作负荷。可以根据一个或多个度量来计算工作负荷,这些度量包括但是不限于,所存储的公告的数目、已处理的查询的数目、处理一个查询的平均等待时间、吞吐率,例如每秒处理的查询,等等。
在每个时期的开始,信息服务节点130参与交换阶段。每个时期可以包括当执行交换阶段和/或分发阶段的一段时间。时期计数器或下一个时期的开始时间可以包括在top K列表中。时期计数器或下一个时期的开始时间可以由信息服务节点用来确定由该信息服务节点接收的列表是否用于当前时期。在交换阶段中,top K节点列表被向上路由到由信息服务节点130组成的服务树。在服务树的顶端是领导者节点,其可以是预先选择的服务节点。
将top K列表(包括由覆盖网络210中的信息服务节点130测量的最高工作负荷)经由覆盖网络210中的每个信息服务节点130路由到图7所示的领导者节点710。当top K列表被路由经过每个信息服务节点130,每个信息服务节点将其测量的工作负荷与top K列表中的其它工作负荷进行比较。如果接收top K列表的信息服务节点的工作负荷大于top K列表中的另一个工作负荷,则该信息服务节点将它的工作负荷包括在top K列表中,可能替换较小的工作负荷。top K列表可以包括预定数目的工作负荷,K个。因而,如果top K列表包括少于K个工作负荷,则该信息服务节点将它的工作负荷包括在top K列表中。另外,topK列表可以最初由几个top K列表构成。例如,包括信息服务节点130的服务树的每个叶子可以发起一个top K列表。可以在接收几个top K列表的信息服务节点将这些top K列表组合。最后,领导者节点710编译单个top K列表。
除了top K列表,通过覆盖网络210还传播覆盖网络中的L最小级别向量和最高路由表值。最小级别向量包括覆盖网络210中的L个最小路由表级别。当最小级别向量经由每个信息服务节点130路由时,每个信息服务节点将其路由表的最高级别与最小级别向量中的其它值比较。如果接收最小级别向量的信息服务节点的路由表中的最高级别小于最小级别向量中的另一个值,则该信息服务节点将它的最高级别包括在该最小级别向量中,可能替换较大的值。最小级别向量可以包括预定数目的值,L个。因此,如果最小级别向量包括小于L个值,则该信息服务节点将它的最高级别包括在最小级别向量中。另外,最小级别向量最初可以由几个最小级别向量构成。例如,包括信息服务节点130的服务树的每个叶子可以发起一个最小级别向量。可以在接收到几个最小级别向量的信息服务节点处将这些最小级别向量组合。最后,领导者节点701编译包括L个值的单个最小级别向量。
覆盖网络210中的信息服务节点130中的路由表的最高级别也可以经由覆盖网络210中的每个信息服务节点130路由到图7所示的相同的领导者节点701。当最高级别路由经过每个信息服务节点130,每个信息服务节点将其路由表的最高级别与接收到的值比较。如果该信息服务节点的路由表中的最高级别大于接收到的值,则该信息服务节点用它自己的来替换该接收到的值。包括信息服务节点130的服务树的每个叶子可以发起它的最高级别。可以在接收几个最高级别值的信息服务节点将这些值组合。最后,领导者节点701编译单个最高级别。为了方便最高路由表级别可以包括在L最小级别向量中,以便利用该L最小级别向量通过覆盖网络发送。
在交换阶段,当top K列表路由到领导者节点701的时候,每个信息服务节点130在top K列表中包括标识符,诸如IP地址。即使接收top K列表的信息服务节点在top K列表中没有包括其工作负荷,该标识符也被包括。在分发阶段,使用该标识符将top K列表在服务树中经由每个信息服务节点130向下传送。例如,以每个信息服务节点接收到top K列表的相反顺序将top K列表传送到每个信息服务节点130。另外,当一个新的信息服务节点加入信息服务时,除了为该新信息服务节点产生路由表和在全局缓存器中存储公告和查询之外,该新信息服务节点接收包括在最近时期测量的工作负荷的top K列表。
交换和分发阶段还相对图7进行说明。图7示出了包括覆盖网络210中的信息服务节点130a-d的服务树的一部分。领导者节点701是信息服务节点130a。在交换阶段中,信息服务节点130a-d测量它们的工作负荷。工作负荷的top K列表在服务树中从叶子向上传送,例如,从信息服务节点130d和130e传送到领导者节点701。
信息服务节点130产生top K列表的工作负荷向量和最小级别向量,来估计服务树有多倾斜或服务树有多平衡。最小级别向量可以用于选择进行工作负荷划分的信息服务节点,同时试图维持平衡的服务树。
如图7所示,信息服务节点130d和130e分别测量它们的工作负荷,并且产生工作负荷向量710和711。包括最高K个工作负荷的覆盖网络210中的工作负荷向量被组合形成top K列表。每个工作负荷向量至少包括信息服务节点的标识和测量到的工作负荷。
信息服务节点130d和130e还分别产生最小级别向量720和721。最小级别向量包括该信息服务节点的路由表中的最高级别。信息服务节点130a-d的最高级别的例子在图8A-D中示出,分别包括0,2,1,2。最小级别向量用于形成包括覆盖网络210中的L个最低级别的L最小级别列表。L最小级别列表还包括具有覆盖网络210中最高级别的信息服务节点的信息服务节点ID和路由表级别。
几个top K列表可以在交互阶段交换并且在中间节点,诸如信息服务节点130b组合。另外,工作负荷向量710和711是发送给信息服务节点130b的top K列表。假定K为3,信息服务节点130b将工作负荷向量710和711和它自己的工作负荷向量组合为top K列表712。该top K列表712被发送到领导者节点701,并且如果信息服务节点130a和/或130c的工作负荷高于每个信息服务节点接收到的top K列表712中的工作负荷,则top K列表712可以包括信息服务节点130a和/或130c的工作负荷。
同样,在交换阶段中,最小级别向量720和721被发送到信息服务节点130b。信息服务节点130b将最小级别向量720和721和它自己的最小级别向量组合为L最小级别列表722(也称为L最小级别向量)。向领导节点701发送L最小级别列表,并且如果信息服务节点130a和/或130c的级别小于L最小级别列表中的级别,则最小级别列表可以包括信息服务节点130a和/或130c的最高路由表级别。另外,L最小级别列表包括具有覆盖网络210中的最高级别的服务节点。可以将最高路由表级别和最初选择用于工作负荷划分的信息服务节点的最小级别之间的差与一个阈值进行比较,以确定最初选择用于工作负荷划分的服务节点是否仍然选定用于工作负荷划分。该比较是维护平衡的服务树的一种技术。
另外,在交换阶段中,将信息服务节点接收top K列表的顺序存储在信息服务节点130,以便在分发阶段中可以将该top K列表分发给所有信息服务节点。例如,顺序信息730包括信息服务节点130e和130d的标识,诸如IP地址,使得信息服务节点130b在分发阶段将top K列表712传送到信息服务节点130e和130d。顺序信息的其它例子包括,在信息服务节点130c的顺序信息731,诸如信息服务节点130b的IP地址,和在信息服务节点130a的顺序信息732,诸如信息服务节点130c的IP地址。因此,在分发阶段中,top K列表712沿服务树被向下传送到所有信息服务节点130。在分发阶段中,K最小级别列表也被沿服务树向下传送。
top K路由算法用于基于正传送top K列表的信息服务节点的路由表来确定哪个信息服务节点传送top K列表。例如,图8A-D示出了信息服务节点130a-d的路由表。为了将top K列表路由到领导者节点,接收top K列表的信息服务节点将该top K列表传送到它的路由表中的最大级别,其负责在对应的划分值之下的范围。只要top K列表被路由到领导者节点,top K列表中的信息就标识top K节点和它们的已知工作负荷。例如,涉及图8D中信息服务节点130d的路由表,最大或最小级别是条目840中的级别2。条目840包括响应时间属性的属性划分值20ms。响应时间的范围包括:响应时间≤20ms。因为该范围在相应的划分值之下,即小于20ms的划分值,所以将节点130b确定为接收该top K列表的下一个节点。节点130d将top K列表传送给节点130b。
信息服务节点130b接收该top K列表,并且基于top K路由算法,使用图8b所示信息服务节点130b的路由表的条目820来将信息服务节点130c识别为接收该top K列表的下一个信息服务节点。信息服务节点130b在top K列表中包括它的工作负荷,并且将该top K列表传送到信息服务节点130c。
在该实例中,K的值=3。另外,信息服务节点130c接收信息服务节点130b、130d和130e的工作负荷,如图7所示。如果信息服务节点130c的工作负荷小于信息服务节点130b、130d和130e的工作负荷,则信息服务节点130c不将它的工作负荷包括在该top K列表中。基于所述top K路由算法,信息服务节点130c的路由表的条目830将信息服务节点130a识别为接收该top K列表的下一个节点。信息服务节点130a确定它的工作负荷是否大于topK列表中的三个工作负荷。如果是,则信息服务节点130a将它的工作负荷包括在top K列表中。另外,信息服务节点130a是领导者节点。领导者节点是在它的路由表中只具有大于相应的划分值的属性范围的信息服务节点。图8A所示的信息服务节点130a的路由表包括一个条目810。条目810包括大于相应的划分值1GB的属性范围。因而,信息服务节点130a的路由表只包括大于相应的划分值的属性范围,并且信息服务节点130a是领导者节点。相反,信息服务节点130b-d包括至少一个小于相应的划分值的属性范围,诸如条目820、830和840。
在领导者节点接收top K列表之后,分发阶段开始。如图7所示,领导者节点,例如信息服务节点130a将top K列表传送到信息服务节点130c。该top K列表最后例如以它沿着服务树向上被路由到领导者节点时服务者节点先前接收它的顺序的相反顺序,被分发到所有信息服务节点。
top K列表包括覆盖网络210中的K个最高工作负荷的列表。这里所说的列表是可以在节点之间传送的一个或多个数据的数据表示。例如,top K列表包括覆盖网络210中的最大工作负荷的值。这些值在信息服务节点130之间传送。除了包括工作负荷,top K列表还包括具有top K列表中工作负荷的信息服务节点的标识符。标识符的一个例子是IP地址,但是也可以使用其它标识符。
图9示出了依照本发明实施例,包括交换阶段中的步骤的方法900。方法900是参照图1-8描述,但只是作为例子不是限制。在步骤901,经由覆盖网络210中的信息服务节点130将top K列表路由到覆盖网络210中的最终目的地。在一个例子中,最终目的地包括图7所示的领导者节点130a。在交换阶段中,图7所示的领导者节点130a接收topK列表,该top K列表包括具有图2所示的覆盖网络210中的最高K个工作负荷的信息服务节点的标识。领导者节点是路由表只具有大于其路由表中的相应划分值的属性范围的信息服务节点。领导者节点可以最初由管理员选择。可以选择健壮的信息服务节点作为领导者节点。
在步骤902(当top K列表被路由到最终目的地时,该步骤可以由信息服务节点130执行),接收该top K列表的每个信息服务节点确定是否包括接收该列表的相应节点的工组负荷。例如,如图7所示,在交换阶段中,信息服务节点130c从信息服务节点130b接收top K列表。如果信息服务节点130c的工作负荷小于信息服务节点130b和130d的工作服务,那么信息服务节点130c不在K为2的top K列表中包括它的工作负荷。如果信息服务节点130c确定它的工作负荷大于top K列表中的两个工作负荷,那么将信息服务节点130c的工作负荷包括在top K列表中,并且将top K列表路由到最终目的地例如领导者节点130a。
图10示出了依照实施例,在一个节点诸如信息服务节点处执行的top K路由算法的方法1000的流程图。方法1000参照图1-8进行描述,只作为例子而不是限制。
在步骤1001,图7所示的信息服务节点130b接收top K列表。在步骤1002,信息服务节点130b确定top K列表中是否包括它的工作负荷。例如,如果信息服务节点130b的工作负荷大于top K列表中的另一个工作负荷或者如果top K列表还没有包括K个工作负荷,则信息服务节点130b将它的工作负荷包括在top K列表中。例如,对于图7的例子,如果K=2,则因为top K列表包括信息服务节点130d的一个工作负荷,所以信息服务节点130b将它的工作负荷包括在top K列表中。在步骤1003,信息服务节点130b先对等网络,覆盖网络210中的领导者节点转发该列表。例如,信息服务节点130b从它的路由表识别包括小于或等于属性划分值的属性范围的最高级别条目。如图8b的信息服务节点130b的路由表所示,包括小于或等于属性划分值的属性范围的最高级别条目是条目820。从该条目820识别信息服务节点130c,并且将top K列表传送到信息服务节点130c。
图8B-D所示的路由表可以基于划分算法来产生,该划分算法用来平衡具有最高工作负荷的信息服务节点(诸如top K列表中所确定的)的工作负荷。一个局部划分算法可以包括基于第二节点的至少一个属性划分值,来划分覆盖网络中的第二节点与第一节点的工作负荷。第一节点可以包括加入覆盖网络210的一个新节点。基于划分值给该新节点分配属性子空间。随后,将第二节点的路由表中的所有条目复制到第一节点的路由表,并且基于所述至少一个属性划分值为第一节点的路由表产生第一节点的路由表的至少一个最高级别条目。
图11示出了计算机系统1100的结构图,其可被用作覆盖网络210中的一个信息服务节点。所述计算机系统1100包括一个或多个处理器,例如处理器1002,其为执行软件提供了一个执行平台。
来自处理器1002的命令和数据通过通信总线1004进行通信。计算机系统1100还包括软件运行时可以常驻的主存储器1106,如随机存取存储器(RAM),以及辅助存储器1108。该辅助存储器1108例如包括硬盘驱动器1110和/或可移动存储驱动器1112,代表有软盘驱动器、磁带驱动器、光盘驱动器等,或者是可以存储软件副本的非易失性存储器。所述辅助存储器1108还可包括ROM(只读存储器)、EPROM(可擦除,可编程ROM)、EEPROM(电可擦除,可编程ROM)。除了软件、路由表、全局信息表以及测量的服务质量(QoS)特性,测量的可用带宽和需要的带宽可以被存储在主存储器1106和/或辅助存储器1108中。所述可移动存储驱动器1112以众所周知的方式从可移动存储单元1114中读取和/或写入数据。
计算机系统1100的用户接口具有一个或多个输入设备1128,例如,键盘、鼠标、手写笔,以及类似的设备。显示适配器1122与通信总线1104和显示器1120对接,接收来自处理器1102的显示数据并为显示器1120将显示数据转换为显示命令。网络接口1130被提供用于通过图1所示的网络200与其它的节点进行通信。
当软件被嵌入在计算机可读媒体上时,如存储器1106和/或1108,方法700、800和900中的一个或多个步骤可以在计算机系统1100上执行,例如,由处理器1102来执行。这些步骤可以由计算机程序体现,其能够以多种激活和未激活的形式存在。例如,它们可以以软件程序的形式存在,该软件程序可以由源代码、目标代码、可执行代码或者其它格式的程序指令组成,用来执行某些步骤。以上任何内容都能以压缩或者非压缩的形式体现在计算机可读媒体上,包括存储设备和信号。
计算机可读设备的适当的实例包括传统的计算机RAM(随机存取存储器)、ROM(只读存储器)、EPROM(可擦除,可编程ROM)、EEPROM(电可擦除,可编程ROM),以及磁盘或者光盘。计算机可读信号的例子,无论是否利用载波调制,是容纳或运行计算机程序的计算机系统可以配置来访问的信号,包括通过因特网或者其它网络下载的信号。前述的具体实例包括CD ROM上的和通过因特网下载的程序的分派。在某种意义上,作为一个抽象的实体,因特网本身就是一个计算机可读媒体。一般的计算机网络也是同样。因此,可以理解,执行以上描述的功能的任何电子设备都可以执行下面列举的那些功能。
尽管已经参考实例描述了实施例,本领域的熟练技术人员能够对所描述的实施例做各种修改,而不会偏离其真实精神和范围。这里使用的术语和描述仅以说明的方式列出,并不是作为限制。尤其是,尽管用实例描述了这些方法,但是可以以与举例说明的不同顺序执行或者是同时执行该方法的步骤。本领域的熟练技术人员将会认识到这些和其它变化都可以在随附权利要求和其等价物所定义的精神和范围内。
Claims (8)
1.一种从用于信息服务的网络(210)中的节点(130)中确定具有最高工作负荷的节点集合的方法,包括:
经由网络(210)中的节点将网络(210)中具有最高工作负荷的节点集合的列表(712)路由到网络(210)中的最终目的地(701);
在列表(712)被路由到最终目的地(701)的过程中,在接收列表(712)的每个节点处确定是否包括接收该列表(712)的相应节点的工作负荷;
其中,经由网络(210)中的节点将网络(210)中具有最高工作负荷的节点集合的列表(712)路由到网络(210)中的最终目的地(701)还包括:
在接收列表(712)的节点处,识别接收列表(712)的节点的路由表中的最高级别条目,该最高级别条目包括小于或等于属性划分值的属性范围;并且
根据该最高级别条目来识别一节点;
将列表(712)传送到所识别的最高级别条目中的所述节点;
其中在列表(712)被路由到最终目的地(701)的过程中,在接收列表(712)的每个节点处确定是否包括接收该列表(712)的相应节点的工作负荷的步骤还包括:
确定接收列表(712)的相应节点的工作负荷是否大于列表(712)中另一个节点的工作负荷;和
响应于接收列表(712)的相应节点的工作负荷大于列表(712)中另一个节点的工作负荷,而向列表(712)添加接收列表(712)的相应节点的工作负荷。
2.权利要求1中所述的方法,其中所述列表(712)包括预定数目的工作负荷。
3.权利要求1所述的方法,还包括:
在列表(712)被路由到最终目的地(701)的过程中,把每个接收列表(712)的节点的标识包括在列表(712)中。
4.权利要求3所述的方法,还包括:
使用所述标识,将所述列表(712)从最终目的地(701)发送到将列表(712)路由到最终目的地(701)的过程中接收过列表(712)的每个节点。
5.权利要求1所述的方法,其中网络(210)中的每个节点用于存储关于网络(210)中可用服务的信息,并且用于响应关于服务的查询。
6.一种网络(210)中的节点(130),包括:
接口(1130),用于接收网络(210)中节点的工作负荷的列表(712);
处理电路(1102);
其中,处理电路(1102)用于确定该列表(712)中是否包括该节点的工作负荷,
其中,确定该列表(712)中是否包括该节点的工作负荷还包括:
确定接收列表(712)的相应节点的工作负荷是否大于列表(712)中另一个节点的工作负荷;和
响应于接收列表(712)的相应节点的工作负荷大于列表(712)中另一个节点的工作负荷,而向列表(712)添加接收列表(712)的相应节点的工作负荷,
以及
其中,处理电路(1102)还用于向网络(210)中的最终目的地(701)转发列表(712),其中向网络(210)中的最终目的地(701)转发列表(712)还包括:
在每个接收列表(712)的节点处,识别接收列表(712)的节点的路由表中的最高级别条目,该最高级别条目包括小于或等于属性划分值的属性范围;以及
根据该最高级别条目来识别一节点;
将列表(712)传送到所识别的最高级别条目中的所述节点。
7.权利要求6所述的节点(130),其中处理电路(1102)还用于产生用于向最终目的地(701)转发列表(712)的路由表。
8.权利要求6所述的节点(130),其中节点(130)是对等网络覆盖网络(210)中用于为网络(210)中至少一个可用服务提供信息的节点。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/006,068 | 2004-12-07 | ||
US11/006,068 US7636325B2 (en) | 2004-12-07 | 2004-12-07 | Determining highest workloads for nodes in an overlay network |
PCT/US2005/039257 WO2006062623A1 (en) | 2004-12-07 | 2005-10-31 | Determining highest workloads for nodes in an overlay network |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101116313A CN101116313A (zh) | 2008-01-30 |
CN101116313B true CN101116313B (zh) | 2010-10-27 |
Family
ID=36574136
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200580047845.5A Active CN101116313B (zh) | 2004-12-07 | 2005-10-31 | 为覆盖网络中的节点确定最高工作负荷 |
Country Status (5)
Country | Link |
---|---|
US (1) | US7636325B2 (zh) |
JP (1) | JP4588768B2 (zh) |
CN (1) | CN101116313B (zh) |
DE (1) | DE112005003037B4 (zh) |
WO (1) | WO2006062623A1 (zh) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8335760B1 (en) * | 2005-02-07 | 2012-12-18 | Hewlett-Packard Development, L. P. | Grid computing system to manage utility service content |
WO2009121425A2 (en) * | 2008-04-03 | 2009-10-08 | Telefonaktiebolaget Lm Ericsson (Publ) | Network diagnostics |
JP5765950B2 (ja) * | 2010-01-28 | 2015-08-19 | トムソン ライセンシングThomson Licensing | 票ベクトルに従って、ワイヤレス・コミュニケーション能力を有するピア間のコンテンツ配布を制御するためのデバイス、及び方法 |
US10110412B2 (en) * | 2012-10-17 | 2018-10-23 | Disney Enterprises, Inc. | Dynamically allocated computing method and system for distributed node-based interactive workflows |
US9300544B2 (en) | 2014-02-28 | 2016-03-29 | International Business Machines Corporation | Calculating workload closure in networks |
JP6485811B2 (ja) * | 2016-02-18 | 2019-03-20 | 日本電信電話株式会社 | ノード装置および経路表管理方法 |
US11064019B2 (en) * | 2016-09-14 | 2021-07-13 | Advanced Micro Devices, Inc. | Dynamic configuration of inter-chip and on-chip networks in cloud computing system |
EP3804239A4 (en) * | 2018-06-05 | 2022-03-23 | Gramboo Inc. | DIRECTORY-ASSISTED ROUTING OF CONTENT IN AN INFORMATION-CENTRIC NETWORK |
JP6750646B2 (ja) * | 2018-06-07 | 2020-09-02 | トヨタ自動車株式会社 | 車載装置、情報処理方法、および、情報処理プログラム |
CN112491717A (zh) * | 2019-09-12 | 2021-03-12 | 华为技术有限公司 | 一种服务路由方法及装置 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1226702A (zh) * | 1998-02-19 | 1999-08-25 | 国际商业机器公司 | 客户机/服务器网络中服务器对象之间的工作负荷管理 |
CN1547351A (zh) * | 2003-12-04 | 2004-11-17 | 上海交通大学 | 处理超大量用户的协同过滤推荐方法 |
Family Cites Families (28)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
IL99923A0 (en) * | 1991-10-31 | 1992-08-18 | Ibm Israel | Method of operating a computer in a network |
JP3522820B2 (ja) * | 1994-03-15 | 2004-04-26 | 株式会社東芝 | 分散処理システム |
US5774668A (en) * | 1995-06-07 | 1998-06-30 | Microsoft Corporation | System for on-line service in which gateway computer uses service map which includes loading condition of servers broadcasted by application servers for load balancing |
JP3085515B2 (ja) * | 1995-07-03 | 2000-09-11 | 日本電信電話株式会社 | 帯域可変通信装置 |
US6173322B1 (en) * | 1997-06-05 | 2001-01-09 | Silicon Graphics, Inc. | Network request distribution based on static rules and dynamic performance data |
US6691165B1 (en) | 1998-11-10 | 2004-02-10 | Rainfinity, Inc. | Distributed server cluster for controlling network traffic |
US6820262B1 (en) * | 1999-07-22 | 2004-11-16 | Oracle International Corporation | Method for computing the degree of parallelism in a multi-user environment |
US6389448B1 (en) | 1999-12-06 | 2002-05-14 | Warp Solutions, Inc. | System and method for load balancing |
JP2001244973A (ja) * | 2000-02-28 | 2001-09-07 | Nippon Telegr & Teleph Corp <Ntt> | インタネットパケット交換装置 |
JP2001268094A (ja) * | 2000-03-22 | 2001-09-28 | Toshiba Corp | ノード装置、同装置を複数備えた情報処理システム、及びパラメータ交換方法 |
US7346702B2 (en) | 2000-08-24 | 2008-03-18 | Voltaire Ltd. | System and method for highly scalable high-speed content-based filtering and load balancing in interconnected fabrics |
US6965930B1 (en) | 2000-10-20 | 2005-11-15 | International Business Machines Corporation | Methods, systems and computer program products for workload distribution based on end-to-end quality of service |
US20020107962A1 (en) | 2000-11-07 | 2002-08-08 | Richter Roger K. | Single chassis network endpoint system with network processor for load balancing |
US7296268B2 (en) | 2000-12-18 | 2007-11-13 | Microsoft Corporation | Dynamic monitor and controller of availability of a load-balancing cluster |
JP2002252640A (ja) * | 2001-02-23 | 2002-09-06 | Fujitsu Ltd | ネットワーク中継装置及び方法並びにシステム |
US7272645B2 (en) | 2001-05-25 | 2007-09-18 | Sbc Technology Resources, Inc. | Method of improving the reliability of peer-to-peer network downloads |
US20030110291A1 (en) * | 2001-12-12 | 2003-06-12 | Nokia Corporation | Method and device for route searching in a bluetooth ad-hoc network |
JP4046562B2 (ja) * | 2002-07-10 | 2008-02-13 | 富士通株式会社 | 負荷分散方法 |
US7353538B2 (en) | 2002-11-08 | 2008-04-01 | Federal Network Systems Llc | Server resource management, analysis, and intrusion negation |
US7197573B1 (en) * | 2002-11-18 | 2007-03-27 | Packet Design, Inc. | System and method for identifying addresses to modify and the effects thereof |
ATE515856T1 (de) | 2003-01-13 | 2011-07-15 | Meshnetworks Inc | System und verfahren zur erzielung kontinuierlicherkonnektivität mit einem zugangspunkt oder gateway in einem drahtlosennetzwerk |
JP4231002B2 (ja) * | 2003-01-21 | 2009-02-25 | 株式会社日立製作所 | 通信装置、ネットワークシステム及びリンク生成方法 |
GB0306971D0 (en) | 2003-03-26 | 2003-04-30 | British Telecomm | Client server model |
JP2004320405A (ja) * | 2003-04-16 | 2004-11-11 | Matsushita Electric Ind Co Ltd | 情報端末検索システム |
CN1311665C (zh) * | 2003-07-01 | 2007-04-18 | 株式会社日立制作所 | 具有多个分布式回归代理的移动IPv6网络及其负载平衡方法 |
US7353448B1 (en) * | 2003-10-21 | 2008-04-01 | Marvell Semiconductor Israel Ltd. | Methods, architectures, circuits and systems for transmission error determination |
US7389510B2 (en) | 2003-11-06 | 2008-06-17 | International Business Machines Corporation | Load balancing of servers in a cluster |
WO2005112334A2 (en) * | 2004-05-07 | 2005-11-24 | Home Box Office, Inc. | Method and system for secure distribution of content over a communications network |
-
2004
- 2004-12-07 US US11/006,068 patent/US7636325B2/en not_active Expired - Fee Related
-
2005
- 2005-10-31 DE DE112005003037T patent/DE112005003037B4/de active Active
- 2005-10-31 JP JP2007545468A patent/JP4588768B2/ja not_active Expired - Fee Related
- 2005-10-31 WO PCT/US2005/039257 patent/WO2006062623A1/en active Application Filing
- 2005-10-31 CN CN200580047845.5A patent/CN101116313B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1226702A (zh) * | 1998-02-19 | 1999-08-25 | 国际商业机器公司 | 客户机/服务器网络中服务器对象之间的工作负荷管理 |
CN1547351A (zh) * | 2003-12-04 | 2004-11-17 | 上海交通大学 | 处理超大量用户的协同过滤推荐方法 |
Also Published As
Publication number | Publication date |
---|---|
US20060120391A1 (en) | 2006-06-08 |
WO2006062623A1 (en) | 2006-06-15 |
JP4588768B2 (ja) | 2010-12-01 |
CN101116313A (zh) | 2008-01-30 |
DE112005003037B4 (de) | 2011-09-08 |
DE112005003037T5 (de) | 2007-12-20 |
US7636325B2 (en) | 2009-12-22 |
JP2008526056A (ja) | 2008-07-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101133622B (zh) | 划分节点的工作负荷 | |
CN101116313B (zh) | 为覆盖网络中的节点确定最高工作负荷 | |
CN101116312B (zh) | 在覆盖网络中路由业务查询的方法和信息业务节点 | |
CN100417158C (zh) | 在分布式计算机网络上升级资源的发现及重置 | |
US8346882B2 (en) | Method for structuring a self-organized content distribution overlay network for a peer-to-peer network | |
US9218220B2 (en) | Elastic and scalable publish/subscribe service | |
US20090319686A1 (en) | Communication route selecting method and apparatus | |
US20080270421A1 (en) | Information distribution system, information processing device and memory medium | |
US20120311099A1 (en) | Method of distributing files, file distribution system, master server, computer readable, non-transitory medium storing program for distributing files, method of distributing data, and data distribution system | |
KR20120072907A (ko) | 오브젝트를 복수 개의 데이터 노드들의 위치에 기반하여 분산 저장하는 분산 저장 시스템 및 그 위치 기반 분산 저장 방법 및 컴퓨터에 의하여 독출 가능한 저장 매체 | |
EP2030414A1 (en) | Self-managed distributed mediation networks | |
US20090172387A1 (en) | Managing dynamic configuration modifications in a computer infrastructure | |
CN101741907A (zh) | 一种均衡服务器负载的方法、系统和主服务器 | |
US20090154420A1 (en) | Method of and apparatus for managing neighbor node having similar characteristic to that of active node and computer-readable recording medium having recorded thereon program for executing the method | |
CN103107944A (zh) | 一种内容定位方法和路由设备 | |
CN102404372A (zh) | Web缓存中内容分布式存储的方法、系统及节点设备 | |
JP2012531765A (ja) | P2pネットワークのノード情報を提供するサーバ、方法、およびシステム | |
RU2586598C2 (ru) | Тиражирование данных | |
CN102144373A (zh) | 概率动态路由器-服务器网格路由 | |
Filali et al. | A simple cache based mechanism for peer to peer resource discovery in grid environments | |
Lu et al. | Autonomous integration and optimal allocation of heterogeneous information services for high-assurance in distributed information service system | |
CN116436978B (zh) | 面向云计算的内存分配方法、内存获取方法、装置和设备 | |
Epifˆanio | Cathode: A consistency-aware data placement algorithm for the edge | |
CA2677367A1 (en) | Interface module | |
Morris et al. | Context dissemination for dynamic urban-scale applications |
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 | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20170207 Address after: American Texas Patentee after: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP Address before: American Texas Patentee before: HP Development Co., Ltd. |