CN1777192A - 用于网络中节点发现和通信的方法和系统 - Google Patents
用于网络中节点发现和通信的方法和系统 Download PDFInfo
- Publication number
- CN1777192A CN1777192A CN200510114827.6A CN200510114827A CN1777192A CN 1777192 A CN1777192 A CN 1777192A CN 200510114827 A CN200510114827 A CN 200510114827A CN 1777192 A CN1777192 A CN 1777192A
- Authority
- CN
- China
- Prior art keywords
- node
- routing table
- selecteed
- transmit leg
- broadcast
- 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
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/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/28—Timers or timing mechanisms used in protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/40—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass for recovering from a failure of a protocol instance or entity, e.g. service redundancy protocols, protocol state redundancy or protocol service redirection
Abstract
提供了一种方法、系统和制造产品,其中从网络的多个节点的至少一个节点发送多个广播消息。基于接收的消息发现节点。存储表项,其中所述表项相应于所述节点和一个时间戳,所述时间戳指示该节点最后被发现的时间。响应确定自从所述时间戳被最后更新以来已经经过了一个预定的时间,做出该节点离线的通知。
Description
技术领域
本公开一般地涉及用于网络中的节点发现和通信的方法、系统和制造产品。
背景技术
网络可以包括节点的集合,所述节点诸如计算系统,存储服务器等,它们通过通信链路彼此通信。有许多类型的网络,包括局域网(LAN)、广域网(WAN)、内联网、因特网、存储区域网(SAN)等。存储服务器和存储设备的高速子网络可以被包括在SAN中,其中存储服务器可以提供或控制对被存储在所述存储设备内的数据的访问。例如,IBM* TotalStorage*Enterprise Storage Servers*(ESS)可以起SAN环境中的存储服务器的作用。
新节点可以被增加到这样的网络中,在所述的网络中一组已存在的节点已经彼此通信。此外,网络中的某些节点可能出现故障。可以在网络中在路由器或交换机上实现监视系统以便监视所述节点的状态。监视系统可以监视所述节点和网络的故障或节点的激活。
可以由网络中的路由器或交换机处理在节点出现故障的情况下对消息的重新路由。此外,某些监视系统可以使用广播信息监视网络的节点的状态,其中广播是一种用于通过消息同时向网络中多个接受节点发送同一信息的方法。
发明内容
—————————————
*IBM,TotalStorage和Enterprise Storage Server是IBM公司的注册商标
提供了一种方法、系统和制造产品,其中多个广播消息被从网络的多个节点中的至少一个节点发送。基于接收到的消息发现节点。存储一个表项,其中该表项相应于所述节点和指出所述节点最后被发现的时间的时间戳。响应确定自从所述时间戳最后更新以来已经经过了一个预定的时间,做出该节点离线的通知。
在某些另外的实施例中,所述多个节点包括存储服务器,其中网络是存储区域网,并且其中所述节点是第一节点。响应确定所述第一节点离线了,向可运行的第二节点发送一个消息,其中第二节点是包括所述第一节点和第二节点两者的域组中所述第一节点的替代节点。
在另外的实施例中,所述的发送、发现、存储以及通知由执行在多个节点上的消息路由器执行,其中消息路由器包括用于发送广播消息的广播线程,以及用于发现节点的发现线程。
在其它实施例中,发送广播消息包括产生广播消息,包括:(a)广播消息的发送方节点的节点识别;(b)在发送方节点中接收进入消息的网际协议地址;和(c)在发送方节点中接收进入消息的端口号。所述广播消息被广播到所述网络。
在其它实施例中,所述节点是多个节点中的一个被选择的节点。从路由表中读出被选择的节点和相应于被选择的节点的被选择的时间戳。做出自从在路由表中为该被选择的节点最后更新时间戳以来是否已经经过了一个预定的时间的确定。确定在离线节点上已注册为将被通知的那些注册的组件,其中所述离线节点被通知给所述注册的组件。在其它实施例中,响应对自从在路由表中该被选择的节点的时间戳被最后更新以来,已经经过了一个预定的时间的确定,从路由表中删除该被选择的节点。
在其它实施例中,所述发现和存储还包括在组播端口上监听广播消息。确定路由表中是否指出了该广播消息的发送方节点,其中被发现的节点是该发送方节点。响应确定在路由表中指出了该发送方节点,更新发送方节点的时间戳。响应确定在路由表中没有指出该发送方节点,发送方节点和发送方节点的时间戳被添加到路由表。
在其它实施例中,保持一个路由表,该路由表以从多个节点中选择的一组节点的最后记录的处于可运行的时间指出该组节点。还保持指出所述多个节点的多个域组的域组表,其中被选择的域组的可运行的节点可以处理为该被选择的域组的离线节点产生的重定向的消息。
附图说明
现在参考附图,其中相同的参考号表示相应的部分:
图1示出了根据某些实施例的计算环境的方框图;
图2示出了一个方框图,示出了根据某些实施例包括在该计算环境的节点内的组件和数据结构;
图3示出了根据某些实施例的路由表的方框图;
图4示出了根据某些实施例的广播消息的方框图;
图5示出了根据某些实施例,用于确定离线节点并且广播消息的操作;
图6示出了根据某些实施例,用于发现和添加节点的操作;
图7示出了根据某些实施例的域组表的方框图;
图8示出了根据某些实施例,用于向替代节点发送消息的操作;和
图9示出了某些实施例可以被实现在其内的一种系统。
具体实施方式
在下面的说明中参考了附图,这些附图构成了本说明的一部分,并且示出了若干实施例。应当理解,可以使用其它实施例,并且可以做出结构上的和操作上的改变。
图1示出了根据某些实施例的计算环境100的方框图。计算环境100包括通过网络106与管理控制台108通信的一个或多个存储设备102,104。
存储设备102,104可以由两个或多个节点组成。例如,存储设备102可以包括主图像服务器110和替代图像服务器112,并且存储设备104可以包括主图像服务器114和替代图像服务器116。在某些实施例中,替代图像服务器112,116可以分别存储主图像服务器110,114的备份数据。在某些其它实施例中,节点110,112,114,116可以是ESS服务器。
某些其它实施例中,节点108,110,112,114,116可以包括任意适合的计算设备,包括本领域目前公知的那些,诸如存储服务器,服务器,个人计算机,工作站,大型机,中型计算机,网络应用,掌上计算机,电话设备,刀片计算机,手持计算机等。节点108,110,112,114,116可以被作为网络106的节点部署在计算环境100中,其中网络106可以包括任意适合的网络,包括本领域目前公知的那些,诸如SAN,LAN,内联网,因特网,ESS网络等。
因此,图1示出了某些实施例,其中可以包括存储服务器的多个节点108,110,112,114,116通过网络106连接。所述多个节点可以在网络106上发送消息。
图2示出了一个方框图,示出了根据某些实施例,被包括在计算环境100的示例节点内的组件和数据结构。
在图2中,多个示例节点200,202,204,206通过网络106连接。示例节点200,202,204,206可以包括图1中示出的节点108,110,112,114,116。例如,在某些实施例中,节点200可以是管理控制台108,并且节点202,204,206可以是分别是节点110,114,116。在可替换的实施例中,可以有更少或更多数目的节点在网络106上通信。
每个节点200,202,204,206可以包括消息路由器,路由表和域组表。例如,示例节点200可以包括消息路由器208,路由表210和域组表212,示例节点202可以包括消息路由器214,路由表216和域组表218,示例节点204可以包括消息路由器220,路由表222和域组表224,并且示例节点206可以包括消息路由器226,路由表228和域组表230。
消息路由器208,214,220,226能够在网络106上发送和接收消息。在某些实施例中,每个消息路由器可以包括广播线程和发现线程,广播线程广播消息,而发现线程监听消息,其中消息包括在网络106上发送的通信。例如,在某些实施例中,消息路由器208可以包括广播线程232和发现线程234,消息路由器214可以包括广播线程236和发现线程238,消息路由器220可以包括广播线程240和发现线程242,并且消息路由器226可以包括广播线程244和发现线程246。
在某些实施例中,路由表210,216,222,228可以包括相应于由其上存储着该路由表的节点以前发现的一组节点的表项。例如,节点200上的路由表210可以存储相应于运行在节点200的消息路由器208上的发现线程234以前发现的节点204,206的表项。
域组表212,218,224,230可以包括相应于域组的表项,其中对于某些处理,属于同一域组的节点可以彼此替代。例如,在某些实施例中,如果节点200相应于主图像服务器110,并且节点202相应于可替代图像服务器112,则节点200和202可以属于同一个域组。
因此,图2示出了某些实施例,其中多个节点200,202,204,206通过网络106通信,每个节点具有一个广播消息并且发现新节点的消息路由器。通过使用路由表和域组表,消息路由器还可以向可替代节点发送消息。
图3示出了根据某些实施例可以实现在节点108,110,112,114,116,200,202,204,206中的示例路由表300的方框图。在某些实施例中,该示例的路由表300可以是路由表210,216,222,228的一个实施例。
用于节点的路由表可以存储相应于以前由发现线程234,238,242,246发现的节点的表项。例如,路由表300可以包括用于多个节点302a,302b,...302n的表项,其中每个表项与一个时间戳304a,304b,...304n相关联。与节点相关联的时间戳指示最后发现该节点的时间。
例如,在某些实施例中,节点302a可以在某个时刻被加入路由表300,该时刻被存储在时间戳304a中。随后,当在新的时刻再次发现增加的节点302a的出现时,则以该新的时刻更新时间戳304a。
因此,图3示出了某些实施例,其中路由表300存储着包括已发现的节点302a,...302n以及相应的时间戳304a,...304n的表项。当对于一个预定的时间段没有接收到来自被选择的节点的消息时,可以从路由表300中删除用于被选择的节点和相应的时间戳的表项。
图4示出了根据某些实施例,由消息路由器诸如消息路由器208,214,220或226产生的示例广播消息400的方框图。
示例广播消息400包括节点标识402,网际协议(IP)地址404,端口号406,其它字段408。例如,节点标识402可以包括发送广播消息400的ESS服务器110的名称。IP地址404表示进入的应用消息可以被示例广播消息400的发送节点接收到的IP地址。端口号406表示进入的应用消息可以被示例广播消息400的发送节点接收到的端口号。其它字段408可以包括该示例广播消息的发送节点所属的域名。例如,相应于ESS服务器110,112的域名可以是存储设备102。
因此,图4示出了某些实施例,其中示例广播消息400被从网络106中的一个节点传输到其它节点。连接到网络106的多个节点可以通过网络106发送多个广播消息。
图5示出了根据某些实施例,以广播线程诸如广播线程232,236,240或244实现的用于确定离线节点的操作和用于广播消息诸如广播消息400的操作。
控制从方框500开始,其中广播线程开始运行。例如,在某些实施例中,在被消息路由器诸如消息路由器208,214,220或226产生之后,广播线程可以开始首次运行。在其它实施例中,可以将广播线程从睡眠中唤醒并且再次开始运行。从方框500,控制可以平行地进入方框502和方框512,在方框502发起广播消息的传输,在方框512发起将离线节点通知给注册的组件。
广播线程(在方框502)格式化广播消息400,包括节点标识402,进入的应用消息被接收的IP地址404,进入的应用消息可以被接收的端口号406。在某些实施例中,广播线程格式化广播消息400中的其它字段408,诸如指示域名的字段。
广播线程广播(在方框504)该广播消息,并且控制进入方框506,其中广播线程确定将离线节点通知给注册的组件和广播所述广播消息是否已经完成。如果是的,广播线程计算(在方框508)一个睡眠时间,并且在由该睡眠时间指示的时间段内睡眠(在方框510)。随后,该广播线程醒来,并且再次开始运行(在方框500)。
与方框502和504中描述的操作的执行平行,广播线程在示例路由表300中读(在方框512)一个被选择的节点和该节点相应的时间戳。例如,广播线程232可以读路由表210并且广播线程236可以读路由表216。
广播线程确定(在方框514)是否已经经过的一个预选确定的时间段而没有为该被选择的节点进行时间戳更新。例如,广播线程可以确定是否已经经过了20秒而没有更新被选择的节点302a的时间戳304a。如果已经经过了预定的时间段而没有为该被选择的节点更新时间戳,则已经有该预定的一段时间没有发现路由表中该被选择的节点了,并且广播线程确定(在方框516)该被选择的节点离线了。所述预定的时间可以是任意的时间间隔,诸如10微秒,30毫秒,5秒,2分钟等。
当被选择的节点已被确定为离线时,广播线程将该被选择的节点从路由表300中删除(在方框518)。广播线程确定(在方框520)路由表300中是否有更多的节点,并且如果(在方框520)有更多的节点,则在某些实施例中可以重复方框512,514,516,518的操作。广播节点将所有被删除的节点的标识通知(在方框520)给注册的组件,诸如系统和应用程序,删除的节点已被确定为离线,其中离线意味着离线的节点对于连接到网络106的其它节点来说不可用。
如果广播线程确定(在方框514)在没有为被选择的节点更新时间戳的情况下,还没有经过一个预定的时间段,则广播节点确定(在方框520)路由表中是否有更多的节点。如果是的,控制进入方框512,并且如果不是,控制进入方框522。
在广播线程已经将所有离线节点通知(在方框522)给所有注册的组件之后,控制进入方框506,其中广播线程确定离线节点的通知和广播消息的广播是否已经完成。
因此,图5示出了某些实施例,其中节点的消息路由器的广播线程诸如广播线程232,236,240或244确定以前发现的任意节点是否已经离线,并且将该离线状态通知注册的组件。该广播线程还向网络106的其它节点发送广播消息400。
图6示出了根据某些实施例,发现线程诸如发现线程234,238,242或244中实现的用于发现和添加节点的操作。
控制从方框600开始,其中发现线程在该发现线程运行于其上的节点的组播端口上监听消息。该发现线程接收由一个或多个节点广播的消息,其中所述消息被在该组播端口上接收。
对于接收到的消息,发现线程确定(在方框604)发送该消息的节点是否在路由表内。例如,发现线程234通过检查消息可以确定已经从节点202接收到消息,并且然后可以确定节点202是否已经包括在发现线程234执行于其上的节点200的路由表210内。
如果发现线程确定(在方框604)相应于接收到的消息的发送方节点已包括在路由表300的表项中,则发现线程更新(在方框606)相关的时间戳,诸如时间戳304a,304b,...,304n等。因此,发现线程记录从节点接收到消息的最近的时间。
如果发现线程确定(在方框604)相应于接收到的消息的发送方节点没有包括在路由表300内的表项内,则发现线程将发送方节点以及相关的时间戳添加(在方框608)到路由表300中。发现线程将新添加的发送方节点的出现通知给注册的组件,诸如系统和应用程序。
因此,图6示出了某些实施例,其中发现线程在路由表300中添加新发现的节点并且更新时间戳。发现线程还将新发现的节点的出现通知注册的组件。
图7示出了根据某些实施例,在连接到网络106的某些或全部节点中实现的示例域组表700的方框图。
示例域组表700可以是域组表212,218,224,230的一个例子。域组表700包括多个表项,其中每个表项可以包括属于一个域组的多个节点。例如,节点702a和704a可以被分组到一个表项,节点702b和704b可以被分组到另一个表项,并且节点702m和704m可以被分组到再一个表项。虽然图7示出了每个域组的两个节点,在可替换的实施例中,每个域组可以有更多的节点数目,并且不同的域组可以包括不同数目的节点。
例如,在某个实施例中,节点702可以是存储设备102的主图像服务器110,该域组的替代节点704a可以是存储设备102的替代图像服务器112。
如果一个节点不可用,则消息可被重定向或重传到同一个域组的替代节点。例如,如果节点702不可用,即离线了,则消息可被重定向或重传到替代节点704a。
图8示出了根据某些实施例在示例消息路由器诸如消息路由器208,214,220,或226中实现的用于向替代节点发送消息的操作。
控制在方框800开始,其中示例消息路由器在一个节点上执行。例如,消息路由器208可以在节点200上执行。控制平行地进入方框802和方框804,在方框802示例的发现线程建立域组表700,在方框804示例的广播线程确定一个节点不可用,即离线了。当一个节点不能通过网络106为其它节点所用时,它是离线的。
在发现线程建立(在方框802)域组表700之后,控制返回方框800。在广播线程确定(在方框804)一个节点不可用之后,控制进入到方框806,其中示例的消息路由器确定域组表700中相应于该不可用的节点的替代节点是否是可用的。如果是,则消息路由器向替代节点发送(在方框808)一个消息。如果不是,则控制返回方框800。在向替代节点发送(在方框808)消息之后,消息路由器继续(在方框800)执行。
因此,图8示出了这样一些实施例,其中消息路由器向属于同一个域组的作为不可用节点的替代节点发送消息。
某些实施例允许检测成为在线或处于离线的ESS服务器节点而不需要人工干预。消息路由器208,214,220,226可以检测计算环境100中的改变,识别改变的类型,并能够响应所述改变或从所述改变中恢复。通过ESS节点发现,组件可以学习添加到计算环境中的新的存储设备,而不必重新配置ESS管理软件或各个存储设备。结果,ESS网络106可以链接附加的节点,或者要是某些节点出现了故障则采取纠正行动。
某些实施例允许发现可运行的ESS节点。一些实施例能够发现何时这些可运行的节点变为离线。此外某些实施例还能够发现何时这些离线的节点再次成为在线。当ESS节点的状态改变时,某些实施例还能通知注册的应用。
在某些实施例中,当并行的应用运行在不同的节点上时,可以对在特定的目的地节点上的应用发送一个命令。如果所述特定的目的地节点是不可用的,某些实施例可以允许向替代节点发送命令以便进行处理。在某些实施例中,所述替代节点可以是冗余节点。可以由确定与不可用节点在同一域组中的一个可用节点的消息路由器执行命令的重新路由。该实施例提供了一种基于节点中消息路由器的需要重新路由消息机制。
附加的实施例细节
所述的技术可被实现为包括软件、固件、微代码、硬件与/或它们的任意组合的一种方法、装置或制造产品。这里使用的术语“制造产品”指的是在电路(例如集成电路芯片,可编程的门阵列(PGA),ASIC等),和/或计算机可读介质(例如,磁存储介质,诸如硬盘驱动器,软盘,磁带等),光学存储器(例如,CD-ROM,DVD-ROM,光盘等),易失的和非易失的存储器装置(例如,电可擦除可编程只读存储器(EEPROM),只读存储器(ROM),可编程只读存储器(PROM),随机访问存储器(RAM),动态随机访问存储器(DRAM),静态随机访问存储器(SRAM),闪速存储器,固件,可编程逻辑等)中实现的程序指令、代码和/或逻辑。计算机可读介质中的代码可由机器例如处理器访问和执行。在某些实施例中,用于实现这些实施例的代码还可以通过传输介质或通过网络从文件服务器被访问。在这种情况下,其中实现所述代码的制造产品可以包括传输介质,例如网络传输线、无线传输介质、通过空间传播的信号、无线电波、红外信号等。当然,本领域技术人员将会理解,可以做出许多改型而不脱离这些实施例的范围,并且所述制造产品可以包括本领域已知的任何信息承载介质。例如,制造产品包括其中存储有指令的存储介质,当由机器执行所述指令时,引起操作的执行。
图9示出了系统900的方框图,其中可以实现某些实施例。在某些实施例中,节点108,110,112,114,116,200,202,204,206可以根据系统900被实现。系统900可以包括电路902,在某些实施例中电路902可以包括处理器904。系统900还可以包括存储器906(例如,易失存储器装置)以及存储设备908。系统900的某些元件可以见于或者可不见于节点108,110,112,114,116,200,202,204,206中的一些或全部中。存储设备908可以包括非易失存储装置(例如,EEPROM,ROM,PROM,RAM,DRAM,SRAM,闪速存储器,固件,可编程逻辑等),磁盘驱动器,光盘驱动器,磁带驱动器等。存储设备908可以包括内部存储设备,连附的存储设备和/或可通过网络访问的存储设备。系统900可以包括程序逻辑910,包括可被装载到存储器906中并由处理器904或电路902执行的代码912。在某些实施例中,包括代码912的程序逻辑910可被存储在存储设备908中。在某些其它的实施例中,程序逻辑910可以被实现在电路902中。因此,虽然图9与其它元件分开地示出了程序逻辑910,程序逻辑910可以实现在存储器906和/或电路902中。
某些实施例可能涉及由人或将计算机可读代码集成到计算系统内的自动处理来部署计算指令的方法,其中与计算系统相结合的代码能够执行所述实施例的操作。
图5,6,8所示的操作中的至少一些可以并行地和顺序地被执行。在另一些实施例中,某些操作可被以不同顺序执行、被修改或被取消。
此外,为了说明的目的以单独的模块说明了许多软件和硬件组件。这些组件可被集成在少量的几个组件中,或者被分成更多数目的组件。另外,所述的由特定组件执行的某些操作可以由其它组件执行。
图1-9示出的数据结构和组件被描述为具有特定信息类型。在另外的实施例中,这些数据结构和组件可以被不同地构成,并具有比图中所示或指出的那些更少的、更多的或者不同的字段或不同的功能。
因此,为了说明和描述的目的给出了上面的实施例的说明。其并非是无遗露的,或者要把这些实施例限制于所披露的精确的形式。根据上述的教导,可以做出许多改变和改型。
Claims (30)
1.一种方法,包括:
从网络的多个节点的至少一个节点发送多个广播消息;
基于接收的消息发现节点;
存储相应于所述节点和相应的时间戳的表项,所述时间戳指示该节点最后被发现的时间;以及
响应确定自从所述相应的时间戳被最后更新以来已经经过了一个预定的时间,做出该节点离线的通知。
2.如权利要求1的方法,其中所述多个节点包括存储服务器,其中所述网络是存储区域网络,其中所述节点是第一节点,并且其中所述方法还包括:
响应确定所述第一节点离线了,向可运行的第二节点发送消息,其中所述第二节点是包括所述第一节点和所述第二节点两者的域组中所述第一节点的替代节点。
3.如权利要求1的方法,其中所述发送、发现、存储和通知由执行在所述多个节点上的消息路由器执行,其中消息路由器包括用于发送广播消息的广播线程和用于发现所述节点的发现线程。
4.如权利要求1的方法,其中所述广播消息的发送还包括:
产生一个广播消息,以便包括该广播消息的发送方节点的节点识别,在所述发送方节点中接收进入的消息的网际协议地址,以及在所述发送方节点中接收进入的消息的端口号;以及
向所述网络广播所述广播消息。
5.如权利要求1的方法,其中所述节点是所述多个节点中一个被选择的节点,其中所述方法还包括:
从路由表中读所述被选择的节点和相应于所述被选择的节点的被选择的时间戳;
确定自从在所述路由表中为所述被选择的节点最后更新所述相应的时间戳以来是否已经经过了所述预定的时间;以及
确定已在离线节点上注册为将被通知的注册的组件,其中所述离线节点被通知给所述注册的组件。
6.如权利要求5的方法,还包括:
响应确定在所述路由表中为所述被选择的节点最后更新所述相应的时间戳以来已经经过了所述预定的时间,从所述路由表中删除所述被选择的节点。
7.如权利要求1的方法,其中所述发现和存储还包括:
在组播端口上监听广播消息;
确定路由表中是否指出了所述广播消息的发送方节点,其中所述被发现的节点是所述发送方节点;
响应确定所述路由表中指出了所述发送方节点,更新所述发送方节点的相应的时间戳;以及
响应确定所述路由表中未指出所述发送方节点,将所述发送方节点和所述相应的时间戳添加到所述路由表。
8.如权利要求1的方法,还包括:
以从所述多个节点中选择的一组节点处于可运行的最后记录的时间,维持指出了所述一组节点的路由表;以及
维持指出多个节点的多个域组的域组表,其中被选择的域组的可运行的节点可以处理为所述被选择的域组的离线节点产生的重定向消息。
9.一种与网络通信的系统,该系统包括:
存储器;和
连接到所述存储器的处理器,其中所述处理器能够执行操作,所述操作包括:
(i)向所述网络的多个节点发送多个广播消息;
(ii)基于接收的消息发现节点;
(iii)存储相应于所述节点和相应的时间戳的表项,所述时间戳指示该节点最后被发现的时间;以及
(iV)响应确定自从所述相应的时间戳被最后更新以来已经经过了一个预定的时间,做出该节点离线的通知。
10.如权利要求9的系统,其中所述多个节点包括存储服务器,其中所述网络是存储区域网络,其中所述节点是第一节点,并且其中所述操作还包括:
响应确定所述第一节点离线了,向可运行的第二节点发送消息,其中所述第二节点是包括所述第一节点和所述第二节点两者的域组中所述第一节点的替代节点。
11.如权利要求9的系统,其中所述发送、发现、存储和通知由执行在所述多个节点上的消息路由器执行,其中消息路由器包括用于发送广播消息的广播线程和用于发现所述节点的发现线程。
12.如权利要求9的系统,其中所述广播消息的发送还包括:
产生一个广播消息,以便包括该广播消息的发送方节点的节点识别,在所述发送方节点中接收进入的消息的网际协议地址,以及在所述发送方节点中接收进入的消息的端口号;以及
向所述网络广播所述广播消息。
13.如权利要求9的系统,其中所述节点是所述多个节点中一个被选择的节点,其中所述操作还包括:
从路由表中读所述被选择的节点和相应于所述被选择的节点的被选择的时间戳;
确定自从在所述路由表中为所述被选择的节点最后更新所述相应的时间戳以来是否已经经过了所述预定的时间;以及
确定已在离线节点上注册为将被通知的注册的组件,其中所述离线节点被通知给所述注册的组件。
14.如权利要求13的系统,所述操作还包括:
响应确定在所述路由表中为所述被选择的节点最后更新所述相应的时间戳以来已经经过了所述预定的时间,从所述路由表中删除所述被选择的节点。
15.如权利要求9的系统,其中所述发现和存储还包括:
在组播端口上监听广播消息;
确定路由表中是否指出了所述广播消息的发送方节点,其中所述被发现的节点是所述发送方节点;
响应确定所述路由表中指出了所述发送方节点,更新所述发送方节点的相应的时间戳;以及
响应确定所述路由表中未指出所述发送方节点,将所述发送方节点和所述相应的时间戳添加到所述路由表。
16.如权利要求9的系统,所述操作还包括:
以从所述多个节点中选择的一组节点处于可运行的最后记录的时间,维持指出了所述一组节点的路由表;以及
维持指出多个节点的多个域组的域组表,其中被选择的域组的可运行的节点可以处理为所述被选择的域组的离线节点产生的重定向消息。
17.一种用于网络中节点发现的制造产品,其中所述制造产品能够引起操作,所述操作包括:
从所述网络的多个节点的至少一个节点发送多个广播消息;
基于接收的消息发现节点;
存储相应于所述节点和相应的时间戳的表项,所述时间戳指示该节点最后被发现的时间;以及
响应确定自从所述相应的时间戳被最后更新以来已经经过了一个预定的时间,做出该节点离线的通知。
18.如权利要求17的制造产品,其中所述多个节点包括存储服务器,其中所述网络是存储区域网络,其中所述节点是第一节点,并且其中所述操作还包括:
响应确定所述第一节点离线了,向可运行的第二节点发送消息,其中所述第二节点是包括所述第一节点和所述第二节点两者的域组中所述第一节点的替代节点。
19.如权利要求17的制造产品,其中所述发送、发现、存储和通知由执行在所述多个节点上的消息路由器执行,其中消息路由器包括用于发送广播消息的广播线程和用于发现所述节点的发现线程。
20.如权利要求17的制造产品,其中所述广播消息的发送还包括:
产生一个广播消息,以便包括该广播消息的发送方节点的节点识别,在所述发送方节点中接收进入的消息的网际协议地址,以及在所述发送方节点中接收进入的消息的端口号;以及
向所述网络广播所述广播消息。
21.如权利要求17的制造产品,其中所述节点是所述多个节点中一个被选择的节点,其中所述操作还包括:
从路由表中读所述被选择的节点和相应于所述被选择的节点的被选择的时间戳;
确定自从在所述路由表中为所述被选择的节点最后更新所述相应的时间戳以来是否已经经过了所述预定的时间;以及
确定已在离线节点上注册为将被通知的注册的组件,其中所述离线节点被通知给所述注册的组件。
22.如权利要求21的制造产品,所述操作还包括:
响应确定在所述路由表中为所述被选择的节点最后更新所述相应的时间戳以来已经经过了所述预定的时间,从所述路由表中删除所述被选择的节点。
23.如权利要求17的制造产品,其中所述发现和存储还包括:
在组播端口上监听广播消息;
确定路由表中是否指出了所述广播消息的发送方节点,其中所述被发现的节点是所述发送方节点;
响应确定所述路由表中指出了所述发送方节点,更新所述发送方节点的相应的时间戳;以及
响应确定所述路由表中未指出所述发送方节点,将所述发送方节点和所述相应的时间戳添加到所述路由表。
24.如权利要求17的制造产品,还包括:
以从所述多个节点中选择的一组节点处于可运行的最后记录的时间,维持指出了所述一组节点的路由表;以及
维持指出多个节点的多个域组的域组表,其中被选择的域组的可运行的节点可以处理为所述被选择的域组的离线节点产生的重定向消息。
25.一种用于部署计算基础设施的方法,包括将计算机可读代码集成到计算系统内,其中与所述计算系统相结合的所述代码能够执行:
向网络的多个节点发送多个广播消息;
基于接收的消息发现节点;
存储相应于所述节点和相应的时间戳的表项,所述时间戳指示该节点最后被发现的时间;以及
响应确定自从所述相应的时间戳被最后更新以来已经经过了一个预定的时间,做出该节点离线的通知。
26.如权利要求25的方法,其中所述多个节点包括存储服务器,其中所述网络是存储区域网络,其中所述节点是第一节点,并且其中与所述计算系统相结合的所述代码还能够执行:
响应确定所述第一节点离线了,向可运行的第二节点发送消息,其中所述第二节点是包括所述第一节点和所述第二节点两者的域组中所述第一节点的替代节点。
27.如权利要求25的方法,所述广播消息的发送还包括:
产生一个广播消息,以便包括该广播消息的发送方节点的节点识别,在所述发送方节点中接收进入的消息的网际协议地址,以及在所述发送方节点中接收进入的消息的端口号;以及
向所述网络广播所述广播消息。
28.如权利要求25的方法,其中所述节点是所述多个节点中一个被选择的节点,并且其中与所述计算系统相结合的所述代码还能够执行:
从路由表中读所述被选择的节点和相应于所述被选择的节点的被选择的时间戳;
确定自从在所述路由表中为所述被选择的节点最后更新所述相应的时间戳以来是否已经经过了所述预定的时间;以及
确定已在离线节点上注册为将被通知的注册的组件,其中所述离线节点被通知给所述注册的组件。
29.如权利要求28的方法,并且其中与所述计算系统相结合的所述代码还能够执行:
响应确定自从在所述路由表中为所述被选择的节点最后更新所述相应的时间戳以来已经经过了所述预定的时间,从所述路由表中删除所述被选择的节点。
30.如权利要求25的方法,其中所述发现和存储还包括:
在组播端口上监听广播消息;
确定路由表中是否指出了所述广播消息的发送方节点,其中所述被发现的节点是所述发送方节点;
响应确定所述路由表中指出了所述发送方节点,更新所述发送方节点的相应的时间戳;以及
响应确定所述路由表中未指出所述发送方节点,将所述发送方节点和所述相应的时间戳添加到所述路由表。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/991,288 US7539150B2 (en) | 2004-11-16 | 2004-11-16 | Node discovery and communications in a network |
US10/991,288 | 2004-11-16 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1777192A true CN1777192A (zh) | 2006-05-24 |
CN100571283C CN100571283C (zh) | 2009-12-16 |
Family
ID=36568482
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200510114827.6A Expired - Fee Related CN100571283C (zh) | 2004-11-16 | 2005-11-15 | 用于网络中节点发现和通信的方法和系统 |
Country Status (2)
Country | Link |
---|---|
US (1) | US7539150B2 (zh) |
CN (1) | CN100571283C (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2010111917A1 (zh) * | 2009-04-01 | 2010-10-07 | 华为技术有限公司 | 任务切换方法、服务器节点及集群系统 |
WO2011134159A1 (zh) * | 2010-04-29 | 2011-11-03 | 华为技术有限公司 | 一种获知机器类型通信设备离线的方法、装置和系统 |
CN103218380A (zh) * | 2011-11-30 | 2013-07-24 | 富士通株式会社 | 服务器装置和保证数据次序的方法 |
CN103997424A (zh) * | 2014-05-24 | 2014-08-20 | 上海新时达电气股份有限公司 | 一种网络管理方法及网关 |
CN107343032A (zh) * | 2017-06-21 | 2017-11-10 | 武汉慧联无限科技有限公司 | 远距离低功耗网络中终端节点离线的检测方法及装置 |
CN109218126A (zh) * | 2017-06-30 | 2019-01-15 | 中兴通讯股份有限公司 | 监测节点存活状态的方法、装置及系统 |
Families Citing this family (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7543300B2 (en) * | 2004-11-16 | 2009-06-02 | International Business Machines Corporation | Interface for application components |
KR101087102B1 (ko) * | 2005-02-01 | 2011-11-25 | 엘지전자 주식회사 | 디지털 방송 수신기의 프로그램 알림 방법 |
CN100454834C (zh) * | 2005-09-08 | 2009-01-21 | 华为技术有限公司 | Ngn网络中媒体流的统计方法 |
US8331263B2 (en) * | 2006-01-23 | 2012-12-11 | Microsoft Corporation | Discovery of network nodes and routable addresses |
KR100785482B1 (ko) * | 2006-12-14 | 2007-12-12 | 삼성전자주식회사 | 한 개 이상의 서브 네트워크간 컴포넌트를 디스커버리 하는방법 및 그 장치 |
US8838759B1 (en) * | 2007-06-29 | 2014-09-16 | Crimson Corporation | Systems and methods for detecting unmanaged nodes within a system |
JP2009230745A (ja) * | 2008-02-29 | 2009-10-08 | Toshiba Corp | バックアップ及びリストアの方法、プログラム、及びサーバ |
US9191236B2 (en) | 2010-05-20 | 2015-11-17 | International Business Machines Corporation | Message broadcasting in a clustered computing environment |
CN102325154B (zh) * | 2011-07-13 | 2014-11-05 | 百度在线网络技术(北京)有限公司 | 具有容灾备份功能的网络系统及实现容灾备份功能的方法 |
US9189758B2 (en) * | 2012-06-25 | 2015-11-17 | Vmware, Inc. | Administration of a network |
US9923859B1 (en) * | 2013-06-25 | 2018-03-20 | Vmware, Inc. | Creating a group of members based on monitoring a social network |
US9729493B1 (en) | 2012-06-25 | 2017-08-08 | Vmware, Inc. | Communicating messages over a social network to members of a virtualization infrastructure |
US9929998B1 (en) * | 2012-08-24 | 2018-03-27 | Vmware, Inc. | Tagged messages to facilitate administration of a virtualization infrastructure |
US9654479B2 (en) * | 2013-02-28 | 2017-05-16 | Apple Inc. | Private discovery of electronic devices |
JP6535994B2 (ja) * | 2014-08-13 | 2019-07-03 | 株式会社リコー | ファックス装置、通信プログラム、及び通信システム |
CN104967546A (zh) * | 2015-05-26 | 2015-10-07 | 重庆房慧科技有限公司 | 高可靠性多智能家居设备动态自组网构建方法 |
CN104967545A (zh) * | 2015-05-26 | 2015-10-07 | 重庆房慧科技有限公司 | 多智能家居设备动态自组网构建方法 |
US11113049B2 (en) * | 2019-02-25 | 2021-09-07 | Red Hat, Inc. | Deploying applications in a computing environment |
Family Cites Families (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6487607B1 (en) * | 1998-02-26 | 2002-11-26 | Sun Microsystems, Inc. | Methods and apparatus for remote method invocation |
US6385661B1 (en) * | 1998-10-19 | 2002-05-07 | Recursion Software, Inc. | System and method for dynamic generation of remote proxies |
US6775244B1 (en) * | 1999-06-21 | 2004-08-10 | Intel Corporation | Gathering of device discovery information |
WO2001006706A2 (en) | 1999-07-20 | 2001-01-25 | Broadcom Homenetworking, Inc. | A method and apparatus for verifying connectivity among nodes in a communications network |
US7197548B1 (en) * | 1999-07-20 | 2007-03-27 | Broadcom Corporation | Method and apparatus for verifying connectivity among nodes in a communications network |
US6947965B2 (en) * | 1999-11-30 | 2005-09-20 | Recursion Software, Inc. | System and method for communications in a distributed computing environment |
US6629128B1 (en) * | 1999-11-30 | 2003-09-30 | Recursion Software, Inc. | System and method for distributed processing in a computer network |
US7009980B1 (en) | 2000-03-13 | 2006-03-07 | Lucent Technologies Inc. | Apparatus and method for automatic port identity discovery in hierarchical heterogenous systems |
US7327683B2 (en) * | 2000-03-16 | 2008-02-05 | Sri International | Method and apparatus for disseminating topology information and for discovering new neighboring nodes |
US6735200B1 (en) * | 2000-03-21 | 2004-05-11 | International Business Machines Corporation | Method and apparatus for monitoring the availability of nodes in a communications network |
US7031288B2 (en) * | 2000-09-12 | 2006-04-18 | Sri International | Reduced-overhead protocol for discovering new neighbor nodes and detecting the loss of existing neighbor nodes in a network |
WO2002065329A1 (en) * | 2001-02-14 | 2002-08-22 | The Escher Group, Ltd. | Peer-to peer enterprise storage |
US7000238B2 (en) * | 2001-10-10 | 2006-02-14 | Borland Software Corporation | Development system providing extensible remoting architecture |
KR100411134B1 (ko) * | 2001-11-27 | 2003-12-18 | 에스케이 텔레콤주식회사 | 멀티-프로토콜 레이블 스위칭 기반의 멀티 캐스트 라우팅프로토콜 설정 방법 |
US7051341B2 (en) * | 2001-12-14 | 2006-05-23 | International Business Machines Corporation | Method, system, and program for implementing a remote method call |
US7243103B2 (en) * | 2002-02-14 | 2007-07-10 | The Escher Group, Ltd. | Peer to peer enterprise storage system with lexical recovery sub-system |
US7403996B2 (en) * | 2002-02-21 | 2008-07-22 | Bea Systems, Inc. | Systems and methods for migratable services |
US7475126B2 (en) * | 2002-03-15 | 2009-01-06 | Nortel Networks Limited | Method and apparatus for system lineup and testing |
US7171672B2 (en) * | 2002-04-24 | 2007-01-30 | Telefonaktie Bolaget Lm Ericsson (Publ) | Distributed application proxy generator |
US8266239B2 (en) * | 2002-06-27 | 2012-09-11 | Oracle International Corporation | Remote services system relocatable mid level manager |
US20040010538A1 (en) * | 2002-07-11 | 2004-01-15 | International Business Machines Corporation | Apparatus and method for determining valid data during a merge in a computer cluster |
GB0226762D0 (en) | 2002-11-15 | 2002-12-24 | British Telecomm | Method and apparatus for forming and maintaining a network of devices |
US8775649B2 (en) * | 2002-11-26 | 2014-07-08 | Oracle America, Inc. | Optimizing client code through automated server specialization |
US20040158780A1 (en) * | 2003-02-11 | 2004-08-12 | Conrad Jeffrey Richard | Method and system for presenting neighbors of a device in a network via a graphical user interface |
US7159070B2 (en) * | 2003-12-09 | 2007-01-02 | Emc Corp | Methods and apparatus for caching a location index in a data storage system |
US7453865B2 (en) * | 2005-02-16 | 2008-11-18 | International Business Machines Corporation | Communication channels in a storage network |
-
2004
- 2004-11-16 US US10/991,288 patent/US7539150B2/en not_active Expired - Fee Related
-
2005
- 2005-11-15 CN CN200510114827.6A patent/CN100571283C/zh not_active Expired - Fee Related
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2010111917A1 (zh) * | 2009-04-01 | 2010-10-07 | 华为技术有限公司 | 任务切换方法、服务器节点及集群系统 |
WO2011134159A1 (zh) * | 2010-04-29 | 2011-11-03 | 华为技术有限公司 | 一种获知机器类型通信设备离线的方法、装置和系统 |
CN103218380A (zh) * | 2011-11-30 | 2013-07-24 | 富士通株式会社 | 服务器装置和保证数据次序的方法 |
CN103218380B (zh) * | 2011-11-30 | 2016-08-24 | 富士通株式会社 | 服务器装置和保证数据次序的方法 |
CN103997424A (zh) * | 2014-05-24 | 2014-08-20 | 上海新时达电气股份有限公司 | 一种网络管理方法及网关 |
CN103997424B (zh) * | 2014-05-24 | 2018-05-08 | 上海新时达电气股份有限公司 | 一种网络管理方法及网关 |
CN107343032A (zh) * | 2017-06-21 | 2017-11-10 | 武汉慧联无限科技有限公司 | 远距离低功耗网络中终端节点离线的检测方法及装置 |
CN109218126A (zh) * | 2017-06-30 | 2019-01-15 | 中兴通讯股份有限公司 | 监测节点存活状态的方法、装置及系统 |
CN109218126B (zh) * | 2017-06-30 | 2023-10-17 | 中兴通讯股份有限公司 | 监测节点存活状态的方法、装置及系统 |
Also Published As
Publication number | Publication date |
---|---|
US20060117101A1 (en) | 2006-06-01 |
US7539150B2 (en) | 2009-05-26 |
CN100571283C (zh) | 2009-12-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1777192A (zh) | 用于网络中节点发现和通信的方法和系统 | |
US8838703B2 (en) | Method and system for message processing | |
CN1177436C (zh) | 移动网络中多播用户的管理方法 | |
EP1770508B1 (en) | Blade-based distributed computing system | |
AU2011244345B2 (en) | Distributed data storage | |
JP4920038B2 (ja) | 複数のグループに属するロケーションサーバを用いたユーザのログ情報管理方法及びシステム | |
JP5074516B2 (ja) | ゼロ単一障害点ロード・バランサ(azerosinglepointoffailureloadbalancer)の装置および方法 | |
CN103917972B (zh) | 用于在集群数据库环境中提供会话亲和性和改善的连通性的系统和方法 | |
JP5553364B2 (ja) | 分散データストレージ | |
US7194549B1 (en) | Multicast system using client forwarding | |
CN101056270A (zh) | 一种路由收敛的方法及路由设备 | |
US20090190587A1 (en) | Method for deploying multicast network, multicast network and control server | |
JP2004326790A (ja) | ネットワーク装置をディスカバリするための方法および装置 | |
CN1691591A (zh) | 松耦合式可扩展分布式多媒体流式传输系统的方法和设备 | |
CN1473445A (zh) | 用于向移动节点分配移动ip的系统和方法 | |
CN103220160A (zh) | 在分布式开关中管理全局转发表 | |
CN1309211C (zh) | 一种分布式网络环境中异型网络设备的分布式集中管理方法 | |
US8464272B2 (en) | Inter-process communication methods and apparatus for building scalable/redundant telecommunications systems | |
CN111026379A (zh) | 一种Redis主从分片集群高可用方法 | |
CN102437960B (zh) | 集群模式的检测处理方法、系统和网络设备 | |
US20210326224A1 (en) | Method and system for processing device failure | |
US20190155615A1 (en) | Method for performing wake-on-lan management and network system | |
CN102318272B (zh) | 一种进程组中的异常组成员离开的方法 | |
JPH11353202A (ja) | 分散データ処理システム | |
KR100970212B1 (ko) | 이기종간 db 쿼리의 동적 전환을 이용하여 장애에대처하는 인증 서비스 이중화 방법 및 시스템 |
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 |
Granted publication date: 20091216 Termination date: 20151115 |
|
EXPY | Termination of patent right or utility model |