專(zhuān)利名稱(chēng):用于網(wǎng)絡(luò)中節(jié)點(diǎn)發(fā)現(xiàn)和通信的方法和系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本公開(kāi)一般地涉及用于網(wǎng)絡(luò)中的節(jié)點(diǎn)發(fā)現(xiàn)和通信的方法、系統(tǒng)和制造產(chǎn)品。
背景技術(shù):
網(wǎng)絡(luò)可以包括節(jié)點(diǎn)的集合,所述節(jié)點(diǎn)諸如計(jì)算系統(tǒng),存儲(chǔ)服務(wù)器等,它們通過(guò)通信鏈路彼此通信。有許多類(lèi)型的網(wǎng)絡(luò),包括局域網(wǎng)(LAN)、廣域網(wǎng)(WAN)、內(nèi)聯(lián)網(wǎng)、因特網(wǎng)、存儲(chǔ)區(qū)域網(wǎng)(SAN)等。存儲(chǔ)服務(wù)器和存儲(chǔ)設(shè)備的高速子網(wǎng)絡(luò)可以被包括在SAN中,其中存儲(chǔ)服務(wù)器可以提供或控制對(duì)被存儲(chǔ)在所述存儲(chǔ)設(shè)備內(nèi)的數(shù)據(jù)的訪問(wèn)。例如,IBM*TotalStorage*Enterprise Storage Servers*(ESS)可以起SAN環(huán)境中的存儲(chǔ)服務(wù)器的作用。
新節(jié)點(diǎn)可以被增加到這樣的網(wǎng)絡(luò)中,在所述的網(wǎng)絡(luò)中一組已存在的節(jié)點(diǎn)已經(jīng)彼此通信。此外,網(wǎng)絡(luò)中的某些節(jié)點(diǎn)可能出現(xiàn)故障??梢栽诰W(wǎng)絡(luò)中在路由器或交換機(jī)上實(shí)現(xiàn)監(jiān)視系統(tǒng)以便監(jiān)視所述節(jié)點(diǎn)的狀態(tài)。監(jiān)視系統(tǒng)可以監(jiān)視所述節(jié)點(diǎn)和網(wǎng)絡(luò)的故障或節(jié)點(diǎn)的激活。
可以由網(wǎng)絡(luò)中的路由器或交換機(jī)處理在節(jié)點(diǎn)出現(xiàn)故障的情況下對(duì)消息的重新路由。此外,某些監(jiān)視系統(tǒng)可以使用廣播信息監(jiān)視網(wǎng)絡(luò)的節(jié)點(diǎn)的狀態(tài),其中廣播是一種用于通過(guò)消息同時(shí)向網(wǎng)絡(luò)中多個(gè)接受節(jié)點(diǎn)發(fā)送同一信息的方法。
發(fā)明內(nèi)容
—————————————*IBM,TotalStorage和Enterprise Storage Server是IBM公司的注冊(cè)商標(biāo)提供了一種方法、系統(tǒng)和制造產(chǎn)品,其中多個(gè)廣播消息被從網(wǎng)絡(luò)的多個(gè)節(jié)點(diǎn)中的至少一個(gè)節(jié)點(diǎn)發(fā)送?;诮邮盏降南l(fā)現(xiàn)節(jié)點(diǎn)。存儲(chǔ)一個(gè)表項(xiàng),其中該表項(xiàng)相應(yīng)于所述節(jié)點(diǎn)和指出所述節(jié)點(diǎn)最后被發(fā)現(xiàn)的時(shí)間的時(shí)間戳。響應(yīng)確定自從所述時(shí)間戳最后更新以來(lái)已經(jīng)經(jīng)過(guò)了一個(gè)預(yù)定的時(shí)間,做出該節(jié)點(diǎn)離線的通知。
在某些另外的實(shí)施例中,所述多個(gè)節(jié)點(diǎn)包括存儲(chǔ)服務(wù)器,其中網(wǎng)絡(luò)是存儲(chǔ)區(qū)域網(wǎng),并且其中所述節(jié)點(diǎn)是第一節(jié)點(diǎn)。響應(yīng)確定所述第一節(jié)點(diǎn)離線了,向可運(yùn)行的第二節(jié)點(diǎn)發(fā)送一個(gè)消息,其中第二節(jié)點(diǎn)是包括所述第一節(jié)點(diǎn)和第二節(jié)點(diǎn)兩者的域組中所述第一節(jié)點(diǎn)的替代節(jié)點(diǎn)。
在另外的實(shí)施例中,所述的發(fā)送、發(fā)現(xiàn)、存儲(chǔ)以及通知由執(zhí)行在多個(gè)節(jié)點(diǎn)上的消息路由器執(zhí)行,其中消息路由器包括用于發(fā)送廣播消息的廣播線程,以及用于發(fā)現(xiàn)節(jié)點(diǎn)的發(fā)現(xiàn)線程。
在其它實(shí)施例中,發(fā)送廣播消息包括產(chǎn)生廣播消息,包括(a)廣播消息的發(fā)送方節(jié)點(diǎn)的節(jié)點(diǎn)識(shí)別;(b)在發(fā)送方節(jié)點(diǎn)中接收進(jìn)入消息的網(wǎng)際協(xié)議地址;和(c)在發(fā)送方節(jié)點(diǎn)中接收進(jìn)入消息的端口號(hào)。所述廣播消息被廣播到所述網(wǎng)絡(luò)。
在其它實(shí)施例中,所述節(jié)點(diǎn)是多個(gè)節(jié)點(diǎn)中的一個(gè)被選擇的節(jié)點(diǎn)。從路由表中讀出被選擇的節(jié)點(diǎn)和相應(yīng)于被選擇的節(jié)點(diǎn)的被選擇的時(shí)間戳。做出自從在路由表中為該被選擇的節(jié)點(diǎn)最后更新時(shí)間戳以來(lái)是否已經(jīng)經(jīng)過(guò)了一個(gè)預(yù)定的時(shí)間的確定。確定在離線節(jié)點(diǎn)上已注冊(cè)為將被通知的那些注冊(cè)的組件,其中所述離線節(jié)點(diǎn)被通知給所述注冊(cè)的組件。在其它實(shí)施例中,響應(yīng)對(duì)自從在路由表中該被選擇的節(jié)點(diǎn)的時(shí)間戳被最后更新以來(lái),已經(jīng)經(jīng)過(guò)了一個(gè)預(yù)定的時(shí)間的確定,從路由表中刪除該被選擇的節(jié)點(diǎn)。
在其它實(shí)施例中,所述發(fā)現(xiàn)和存儲(chǔ)還包括在組播端口上監(jiān)聽(tīng)廣播消息。確定路由表中是否指出了該廣播消息的發(fā)送方節(jié)點(diǎn),其中被發(fā)現(xiàn)的節(jié)點(diǎn)是該發(fā)送方節(jié)點(diǎn)。響應(yīng)確定在路由表中指出了該發(fā)送方節(jié)點(diǎn),更新發(fā)送方節(jié)點(diǎn)的時(shí)間戳。響應(yīng)確定在路由表中沒(méi)有指出該發(fā)送方節(jié)點(diǎn),發(fā)送方節(jié)點(diǎn)和發(fā)送方節(jié)點(diǎn)的時(shí)間戳被添加到路由表。
在其它實(shí)施例中,保持一個(gè)路由表,該路由表以從多個(gè)節(jié)點(diǎn)中選擇的一組節(jié)點(diǎn)的最后記錄的處于可運(yùn)行的時(shí)間指出該組節(jié)點(diǎn)。還保持指出所述多個(gè)節(jié)點(diǎn)的多個(gè)域組的域組表,其中被選擇的域組的可運(yùn)行的節(jié)點(diǎn)可以處理為該被選擇的域組的離線節(jié)點(diǎn)產(chǎn)生的重定向的消息。
現(xiàn)在參考附圖,其中相同的參考號(hào)表示相應(yīng)的部分圖1示出了根據(jù)某些實(shí)施例的計(jì)算環(huán)境的方框圖;圖2示出了一個(gè)方框圖,示出了根據(jù)某些實(shí)施例包括在該計(jì)算環(huán)境的節(jié)點(diǎn)內(nèi)的組件和數(shù)據(jù)結(jié)構(gòu);圖3示出了根據(jù)某些實(shí)施例的路由表的方框圖;圖4示出了根據(jù)某些實(shí)施例的廣播消息的方框圖;圖5示出了根據(jù)某些實(shí)施例,用于確定離線節(jié)點(diǎn)并且廣播消息的操作;圖6示出了根據(jù)某些實(shí)施例,用于發(fā)現(xiàn)和添加節(jié)點(diǎn)的操作;圖7示出了根據(jù)某些實(shí)施例的域組表的方框圖;圖8示出了根據(jù)某些實(shí)施例,用于向替代節(jié)點(diǎn)發(fā)送消息的操作;和圖9示出了某些實(shí)施例可以被實(shí)現(xiàn)在其內(nèi)的一種系統(tǒng)。
具體實(shí)施例方式
在下面的說(shuō)明中參考了附圖,這些附圖構(gòu)成了本說(shuō)明的一部分,并且示出了若干實(shí)施例。應(yīng)當(dāng)理解,可以使用其它實(shí)施例,并且可以做出結(jié)構(gòu)上的和操作上的改變。
圖1示出了根據(jù)某些實(shí)施例的計(jì)算環(huán)境100的方框圖。計(jì)算環(huán)境100包括通過(guò)網(wǎng)絡(luò)106與管理控制臺(tái)108通信的一個(gè)或多個(gè)存儲(chǔ)設(shè)備102,104。
存儲(chǔ)設(shè)備102,104可以由兩個(gè)或多個(gè)節(jié)點(diǎn)組成。例如,存儲(chǔ)設(shè)備102可以包括主圖像服務(wù)器110和替代圖像服務(wù)器112,并且存儲(chǔ)設(shè)備104可以包括主圖像服務(wù)器114和替代圖像服務(wù)器116。在某些實(shí)施例中,替代圖像服務(wù)器112,116可以分別存儲(chǔ)主圖像服務(wù)器110,114的備份數(shù)據(jù)。在某些其它實(shí)施例中,節(jié)點(diǎn)110,112,114,116可以是ESS服務(wù)器。
某些其它實(shí)施例中,節(jié)點(diǎn)108,110,112,114,116可以包括任意適合的計(jì)算設(shè)備,包括本領(lǐng)域目前公知的那些,諸如存儲(chǔ)服務(wù)器,服務(wù)器,個(gè)人計(jì)算機(jī),工作站,大型機(jī),中型計(jì)算機(jī),網(wǎng)絡(luò)應(yīng)用,掌上計(jì)算機(jī),電話設(shè)備,刀片計(jì)算機(jī),手持計(jì)算機(jī)等。節(jié)點(diǎn)108,110,112,114,116可以被作為網(wǎng)絡(luò)106的節(jié)點(diǎn)部署在計(jì)算環(huán)境100中,其中網(wǎng)絡(luò)106可以包括任意適合的網(wǎng)絡(luò),包括本領(lǐng)域目前公知的那些,諸如SAN,LAN,內(nèi)聯(lián)網(wǎng),因特網(wǎng),ESS網(wǎng)絡(luò)等。
因此,圖1示出了某些實(shí)施例,其中可以包括存儲(chǔ)服務(wù)器的多個(gè)節(jié)點(diǎn)108,110,112,114,116通過(guò)網(wǎng)絡(luò)106連接。所述多個(gè)節(jié)點(diǎn)可以在網(wǎng)絡(luò)106上發(fā)送消息。
圖2示出了一個(gè)方框圖,示出了根據(jù)某些實(shí)施例,被包括在計(jì)算環(huán)境100的示例節(jié)點(diǎn)內(nèi)的組件和數(shù)據(jù)結(jié)構(gòu)。
在圖2中,多個(gè)示例節(jié)點(diǎn)200,202,204,206通過(guò)網(wǎng)絡(luò)106連接。示例節(jié)點(diǎn)200,202,204,206可以包括圖1中示出的節(jié)點(diǎn)108,110,112,114,116。例如,在某些實(shí)施例中,節(jié)點(diǎn)200可以是管理控制臺(tái)108,并且節(jié)點(diǎn)202,204,206可以是分別是節(jié)點(diǎn)110,114,116。在可替換的實(shí)施例中,可以有更少或更多數(shù)目的節(jié)點(diǎn)在網(wǎng)絡(luò)106上通信。
每個(gè)節(jié)點(diǎn)200,202,204,206可以包括消息路由器,路由表和域組表。例如,示例節(jié)點(diǎn)200可以包括消息路由器208,路由表210和域組表212,示例節(jié)點(diǎn)202可以包括消息路由器214,路由表216和域組表218,示例節(jié)點(diǎn)204可以包括消息路由器220,路由表222和域組表224,并且示例節(jié)點(diǎn)206可以包括消息路由器226,路由表228和域組表230。
消息路由器208,214,220,226能夠在網(wǎng)絡(luò)106上發(fā)送和接收消息。在某些實(shí)施例中,每個(gè)消息路由器可以包括廣播線程和發(fā)現(xiàn)線程,廣播線程廣播消息,而發(fā)現(xiàn)線程監(jiān)聽(tīng)消息,其中消息包括在網(wǎng)絡(luò)106上發(fā)送的通信。例如,在某些實(shí)施例中,消息路由器208可以包括廣播線程232和發(fā)現(xiàn)線程234,消息路由器214可以包括廣播線程236和發(fā)現(xiàn)線程238,消息路由器220可以包括廣播線程240和發(fā)現(xiàn)線程242,并且消息路由器226可以包括廣播線程244和發(fā)現(xiàn)線程246。
在某些實(shí)施例中,路由表210,216,222,228可以包括相應(yīng)于由其上存儲(chǔ)著該路由表的節(jié)點(diǎn)以前發(fā)現(xiàn)的一組節(jié)點(diǎn)的表項(xiàng)。例如,節(jié)點(diǎn)200上的路由表210可以存儲(chǔ)相應(yīng)于運(yùn)行在節(jié)點(diǎn)200的消息路由器208上的發(fā)現(xiàn)線程234以前發(fā)現(xiàn)的節(jié)點(diǎn)204,206的表項(xiàng)。
域組表212,218,224,230可以包括相應(yīng)于域組的表項(xiàng),其中對(duì)于某些處理,屬于同一域組的節(jié)點(diǎn)可以彼此替代。例如,在某些實(shí)施例中,如果節(jié)點(diǎn)200相應(yīng)于主圖像服務(wù)器110,并且節(jié)點(diǎn)202相應(yīng)于可替代圖像服務(wù)器112,則節(jié)點(diǎn)200和202可以屬于同一個(gè)域組。
因此,圖2示出了某些實(shí)施例,其中多個(gè)節(jié)點(diǎn)200,202,204,206通過(guò)網(wǎng)絡(luò)106通信,每個(gè)節(jié)點(diǎn)具有一個(gè)廣播消息并且發(fā)現(xiàn)新節(jié)點(diǎn)的消息路由器。通過(guò)使用路由表和域組表,消息路由器還可以向可替代節(jié)點(diǎn)發(fā)送消息。
圖3示出了根據(jù)某些實(shí)施例可以實(shí)現(xiàn)在節(jié)點(diǎn)108,110,112,114,116,200,202,204,206中的示例路由表300的方框圖。在某些實(shí)施例中,該示例的路由表300可以是路由表210,216,222,228的一個(gè)實(shí)施例。
用于節(jié)點(diǎn)的路由表可以存儲(chǔ)相應(yīng)于以前由發(fā)現(xiàn)線程234,238,242,246發(fā)現(xiàn)的節(jié)點(diǎn)的表項(xiàng)。例如,路由表300可以包括用于多個(gè)節(jié)點(diǎn)302a,302b,...302n的表項(xiàng),其中每個(gè)表項(xiàng)與一個(gè)時(shí)間戳304a,304b,...304n相關(guān)聯(lián)。與節(jié)點(diǎn)相關(guān)聯(lián)的時(shí)間戳指示最后發(fā)現(xiàn)該節(jié)點(diǎn)的時(shí)間。
例如,在某些實(shí)施例中,節(jié)點(diǎn)302a可以在某個(gè)時(shí)刻被加入路由表300,該時(shí)刻被存儲(chǔ)在時(shí)間戳304a中。隨后,當(dāng)在新的時(shí)刻再次發(fā)現(xiàn)增加的節(jié)點(diǎn)302a的出現(xiàn)時(shí),則以該新的時(shí)刻更新時(shí)間戳304a。
因此,圖3示出了某些實(shí)施例,其中路由表300存儲(chǔ)著包括已發(fā)現(xiàn)的節(jié)點(diǎn)302a,...302n以及相應(yīng)的時(shí)間戳304a,...304n的表項(xiàng)。當(dāng)對(duì)于一個(gè)預(yù)定的時(shí)間段沒(méi)有接收到來(lái)自被選擇的節(jié)點(diǎn)的消息時(shí),可以從路由表300中刪除用于被選擇的節(jié)點(diǎn)和相應(yīng)的時(shí)間戳的表項(xiàng)。
圖4示出了根據(jù)某些實(shí)施例,由消息路由器諸如消息路由器208,214,220或226產(chǎn)生的示例廣播消息400的方框圖。
示例廣播消息400包括節(jié)點(diǎn)標(biāo)識(shí)402,網(wǎng)際協(xié)議(IP)地址404,端口號(hào)406,其它字段408。例如,節(jié)點(diǎn)標(biāo)識(shí)402可以包括發(fā)送廣播消息400的ESS服務(wù)器110的名稱(chēng)。IP地址404表示進(jìn)入的應(yīng)用消息可以被示例廣播消息400的發(fā)送節(jié)點(diǎn)接收到的IP地址。端口號(hào)406表示進(jìn)入的應(yīng)用消息可以被示例廣播消息400的發(fā)送節(jié)點(diǎn)接收到的端口號(hào)。其它字段408可以包括該示例廣播消息的發(fā)送節(jié)點(diǎn)所屬的域名。例如,相應(yīng)于ESS服務(wù)器110,112的域名可以是存儲(chǔ)設(shè)備102。
因此,圖4示出了某些實(shí)施例,其中示例廣播消息400被從網(wǎng)絡(luò)106中的一個(gè)節(jié)點(diǎn)傳輸?shù)狡渌?jié)點(diǎn)。連接到網(wǎng)絡(luò)106的多個(gè)節(jié)點(diǎn)可以通過(guò)網(wǎng)絡(luò)106發(fā)送多個(gè)廣播消息。
圖5示出了根據(jù)某些實(shí)施例,以廣播線程諸如廣播線程232,236,240或244實(shí)現(xiàn)的用于確定離線節(jié)點(diǎn)的操作和用于廣播消息諸如廣播消息400的操作。
控制從方框500開(kāi)始,其中廣播線程開(kāi)始運(yùn)行。例如,在某些實(shí)施例中,在被消息路由器諸如消息路由器208,214,220或226產(chǎn)生之后,廣播線程可以開(kāi)始首次運(yùn)行。在其它實(shí)施例中,可以將廣播線程從睡眠中喚醒并且再次開(kāi)始運(yùn)行。從方框500,控制可以平行地進(jìn)入方框502和方框512,在方框502發(fā)起廣播消息的傳輸,在方框512發(fā)起將離線節(jié)點(diǎn)通知給注冊(cè)的組件。
廣播線程(在方框502)格式化廣播消息400,包括節(jié)點(diǎn)標(biāo)識(shí)402,進(jìn)入的應(yīng)用消息被接收的IP地址404,進(jìn)入的應(yīng)用消息可以被接收的端口號(hào)406。在某些實(shí)施例中,廣播線程格式化廣播消息400中的其它字段408,諸如指示域名的字段。
廣播線程廣播(在方框504)該廣播消息,并且控制進(jìn)入方框506,其中廣播線程確定將離線節(jié)點(diǎn)通知給注冊(cè)的組件和廣播所述廣播消息是否已經(jīng)完成。如果是的,廣播線程計(jì)算(在方框508)一個(gè)睡眠時(shí)間,并且在由該睡眠時(shí)間指示的時(shí)間段內(nèi)睡眠(在方框510)。隨后,該廣播線程醒來(lái),并且再次開(kāi)始運(yùn)行(在方框500)。
與方框502和504中描述的操作的執(zhí)行平行,廣播線程在示例路由表300中讀(在方框512)一個(gè)被選擇的節(jié)點(diǎn)和該節(jié)點(diǎn)相應(yīng)的時(shí)間戳。例如,廣播線程232可以讀路由表210并且廣播線程236可以讀路由表216。
廣播線程確定(在方框514)是否已經(jīng)經(jīng)過(guò)的一個(gè)預(yù)選確定的時(shí)間段而沒(méi)有為該被選擇的節(jié)點(diǎn)進(jìn)行時(shí)間戳更新。例如,廣播線程可以確定是否已經(jīng)經(jīng)過(guò)了20秒而沒(méi)有更新被選擇的節(jié)點(diǎn)302a的時(shí)間戳304a。如果已經(jīng)經(jīng)過(guò)了預(yù)定的時(shí)間段而沒(méi)有為該被選擇的節(jié)點(diǎn)更新時(shí)間戳,則已經(jīng)有該預(yù)定的一段時(shí)間沒(méi)有發(fā)現(xiàn)路由表中該被選擇的節(jié)點(diǎn)了,并且廣播線程確定(在方框516)該被選擇的節(jié)點(diǎn)離線了。所述預(yù)定的時(shí)間可以是任意的時(shí)間間隔,諸如10微秒,30毫秒,5秒,2分鐘等。
當(dāng)被選擇的節(jié)點(diǎn)已被確定為離線時(shí),廣播線程將該被選擇的節(jié)點(diǎn)從路由表300中刪除(在方框518)。廣播線程確定(在方框520)路由表300中是否有更多的節(jié)點(diǎn),并且如果(在方框520)有更多的節(jié)點(diǎn),則在某些實(shí)施例中可以重復(fù)方框512,514,516,518的操作。廣播節(jié)點(diǎn)將所有被刪除的節(jié)點(diǎn)的標(biāo)識(shí)通知(在方框520)給注冊(cè)的組件,諸如系統(tǒng)和應(yīng)用程序,刪除的節(jié)點(diǎn)已被確定為離線,其中離線意味著離線的節(jié)點(diǎn)對(duì)于連接到網(wǎng)絡(luò)106的其它節(jié)點(diǎn)來(lái)說(shuō)不可用。
如果廣播線程確定(在方框514)在沒(méi)有為被選擇的節(jié)點(diǎn)更新時(shí)間戳的情況下,還沒(méi)有經(jīng)過(guò)一個(gè)預(yù)定的時(shí)間段,則廣播節(jié)點(diǎn)確定(在方框520)路由表中是否有更多的節(jié)點(diǎn)。如果是的,控制進(jìn)入方框512,并且如果不是,控制進(jìn)入方框522。
在廣播線程已經(jīng)將所有離線節(jié)點(diǎn)通知(在方框522)給所有注冊(cè)的組件之后,控制進(jìn)入方框506,其中廣播線程確定離線節(jié)點(diǎn)的通知和廣播消息的廣播是否已經(jīng)完成。
因此,圖5示出了某些實(shí)施例,其中節(jié)點(diǎn)的消息路由器的廣播線程諸如廣播線程232,236,240或244確定以前發(fā)現(xiàn)的任意節(jié)點(diǎn)是否已經(jīng)離線,并且將該離線狀態(tài)通知注冊(cè)的組件。該廣播線程還向網(wǎng)絡(luò)106的其它節(jié)點(diǎn)發(fā)送廣播消息400。
圖6示出了根據(jù)某些實(shí)施例,發(fā)現(xiàn)線程諸如發(fā)現(xiàn)線程234,238,242或244中實(shí)現(xiàn)的用于發(fā)現(xiàn)和添加節(jié)點(diǎn)的操作。
控制從方框600開(kāi)始,其中發(fā)現(xiàn)線程在該發(fā)現(xiàn)線程運(yùn)行于其上的節(jié)點(diǎn)的組播端口上監(jiān)聽(tīng)消息。該發(fā)現(xiàn)線程接收由一個(gè)或多個(gè)節(jié)點(diǎn)廣播的消息,其中所述消息被在該組播端口上接收。
對(duì)于接收到的消息,發(fā)現(xiàn)線程確定(在方框604)發(fā)送該消息的節(jié)點(diǎn)是否在路由表內(nèi)。例如,發(fā)現(xiàn)線程234通過(guò)檢查消息可以確定已經(jīng)從節(jié)點(diǎn)202接收到消息,并且然后可以確定節(jié)點(diǎn)202是否已經(jīng)包括在發(fā)現(xiàn)線程234執(zhí)行于其上的節(jié)點(diǎn)200的路由表210內(nèi)。
如果發(fā)現(xiàn)線程確定(在方框604)相應(yīng)于接收到的消息的發(fā)送方節(jié)點(diǎn)已包括在路由表300的表項(xiàng)中,則發(fā)現(xiàn)線程更新(在方框606)相關(guān)的時(shí)間戳,諸如時(shí)間戳304a,304b,...,304n等。因此,發(fā)現(xiàn)線程記錄從節(jié)點(diǎn)接收到消息的最近的時(shí)間。
如果發(fā)現(xiàn)線程確定(在方框604)相應(yīng)于接收到的消息的發(fā)送方節(jié)點(diǎn)沒(méi)有包括在路由表300內(nèi)的表項(xiàng)內(nèi),則發(fā)現(xiàn)線程將發(fā)送方節(jié)點(diǎn)以及相關(guān)的時(shí)間戳添加(在方框608)到路由表300中。發(fā)現(xiàn)線程將新添加的發(fā)送方節(jié)點(diǎn)的出現(xiàn)通知給注冊(cè)的組件,諸如系統(tǒng)和應(yīng)用程序。
因此,圖6示出了某些實(shí)施例,其中發(fā)現(xiàn)線程在路由表300中添加新發(fā)現(xiàn)的節(jié)點(diǎn)并且更新時(shí)間戳。發(fā)現(xiàn)線程還將新發(fā)現(xiàn)的節(jié)點(diǎn)的出現(xiàn)通知注冊(cè)的組件。
圖7示出了根據(jù)某些實(shí)施例,在連接到網(wǎng)絡(luò)106的某些或全部節(jié)點(diǎn)中實(shí)現(xiàn)的示例域組表700的方框圖。
示例域組表700可以是域組表212,218,224,230的一個(gè)例子。域組表700包括多個(gè)表項(xiàng),其中每個(gè)表項(xiàng)可以包括屬于一個(gè)域組的多個(gè)節(jié)點(diǎn)。例如,節(jié)點(diǎn)702a和704a可以被分組到一個(gè)表項(xiàng),節(jié)點(diǎn)702b和704b可以被分組到另一個(gè)表項(xiàng),并且節(jié)點(diǎn)702m和704m可以被分組到再一個(gè)表項(xiàng)。雖然圖7示出了每個(gè)域組的兩個(gè)節(jié)點(diǎn),在可替換的實(shí)施例中,每個(gè)域組可以有更多的節(jié)點(diǎn)數(shù)目,并且不同的域組可以包括不同數(shù)目的節(jié)點(diǎn)。
例如,在某個(gè)實(shí)施例中,節(jié)點(diǎn)702可以是存儲(chǔ)設(shè)備102的主圖像服務(wù)器110,該域組的替代節(jié)點(diǎn)704a可以是存儲(chǔ)設(shè)備102的替代圖像服務(wù)器112。
如果一個(gè)節(jié)點(diǎn)不可用,則消息可被重定向或重傳到同一個(gè)域組的替代節(jié)點(diǎn)。例如,如果節(jié)點(diǎn)702不可用,即離線了,則消息可被重定向或重傳到替代節(jié)點(diǎn)704a。
圖8示出了根據(jù)某些實(shí)施例在示例消息路由器諸如消息路由器208,214,220,或226中實(shí)現(xiàn)的用于向替代節(jié)點(diǎn)發(fā)送消息的操作。
控制在方框800開(kāi)始,其中示例消息路由器在一個(gè)節(jié)點(diǎn)上執(zhí)行。例如,消息路由器208可以在節(jié)點(diǎn)200上執(zhí)行。控制平行地進(jìn)入方框802和方框804,在方框802示例的發(fā)現(xiàn)線程建立域組表700,在方框804示例的廣播線程確定一個(gè)節(jié)點(diǎn)不可用,即離線了。當(dāng)一個(gè)節(jié)點(diǎn)不能通過(guò)網(wǎng)絡(luò)106為其它節(jié)點(diǎn)所用時(shí),它是離線的。
在發(fā)現(xiàn)線程建立(在方框802)域組表700之后,控制返回方框800。在廣播線程確定(在方框804)一個(gè)節(jié)點(diǎn)不可用之后,控制進(jìn)入到方框806,其中示例的消息路由器確定域組表700中相應(yīng)于該不可用的節(jié)點(diǎn)的替代節(jié)點(diǎn)是否是可用的。如果是,則消息路由器向替代節(jié)點(diǎn)發(fā)送(在方框808)一個(gè)消息。如果不是,則控制返回方框800。在向替代節(jié)點(diǎn)發(fā)送(在方框808)消息之后,消息路由器繼續(xù)(在方框800)執(zhí)行。
因此,圖8示出了這樣一些實(shí)施例,其中消息路由器向?qū)儆谕粋€(gè)域組的作為不可用節(jié)點(diǎn)的替代節(jié)點(diǎn)發(fā)送消息。
某些實(shí)施例允許檢測(cè)成為在線或處于離線的ESS服務(wù)器節(jié)點(diǎn)而不需要人工干預(yù)。消息路由器208,214,220,226可以檢測(cè)計(jì)算環(huán)境100中的改變,識(shí)別改變的類(lèi)型,并能夠響應(yīng)所述改變或從所述改變中恢復(fù)。通過(guò)ESS節(jié)點(diǎn)發(fā)現(xiàn),組件可以學(xué)習(xí)添加到計(jì)算環(huán)境中的新的存儲(chǔ)設(shè)備,而不必重新配置ESS管理軟件或各個(gè)存儲(chǔ)設(shè)備。結(jié)果,ESS網(wǎng)絡(luò)106可以鏈接附加的節(jié)點(diǎn),或者要是某些節(jié)點(diǎn)出現(xiàn)了故障則采取糾正行動(dòng)。
某些實(shí)施例允許發(fā)現(xiàn)可運(yùn)行的ESS節(jié)點(diǎn)。一些實(shí)施例能夠發(fā)現(xiàn)何時(shí)這些可運(yùn)行的節(jié)點(diǎn)變?yōu)殡x線。此外某些實(shí)施例還能夠發(fā)現(xiàn)何時(shí)這些離線的節(jié)點(diǎn)再次成為在線。當(dāng)ESS節(jié)點(diǎn)的狀態(tài)改變時(shí),某些實(shí)施例還能通知注冊(cè)的應(yīng)用。
在某些實(shí)施例中,當(dāng)并行的應(yīng)用運(yùn)行在不同的節(jié)點(diǎn)上時(shí),可以對(duì)在特定的目的地節(jié)點(diǎn)上的應(yīng)用發(fā)送一個(gè)命令。如果所述特定的目的地節(jié)點(diǎn)是不可用的,某些實(shí)施例可以允許向替代節(jié)點(diǎn)發(fā)送命令以便進(jìn)行處理。在某些實(shí)施例中,所述替代節(jié)點(diǎn)可以是冗余節(jié)點(diǎn)??梢杂纱_定與不可用節(jié)點(diǎn)在同一域組中的一個(gè)可用節(jié)點(diǎn)的消息路由器執(zhí)行命令的重新路由。該實(shí)施例提供了一種基于節(jié)點(diǎn)中消息路由器的需要重新路由消息機(jī)制。
附加的實(shí)施例細(xì)節(jié)所述的技術(shù)可被實(shí)現(xiàn)為包括軟件、固件、微代碼、硬件與/或它們的任意組合的一種方法、裝置或制造產(chǎn)品。這里使用的術(shù)語(yǔ)“制造產(chǎn)品”指的是在電路(例如集成電路芯片,可編程的門(mén)陣列(PGA),ASIC等),和/或計(jì)算機(jī)可讀介質(zhì)(例如,磁存儲(chǔ)介質(zhì),諸如硬盤(pán)驅(qū)動(dòng)器,軟盤(pán),磁帶等),光學(xué)存儲(chǔ)器(例如,CD-ROM,DVD-ROM,光盤(pán)等),易失的和非易失的存儲(chǔ)器裝置(例如,電可擦除可編程只讀存儲(chǔ)器(EEPROM),只讀存儲(chǔ)器(ROM),可編程只讀存儲(chǔ)器(PROM),隨機(jī)訪問(wèn)存儲(chǔ)器(RAM),動(dòng)態(tài)隨機(jī)訪問(wèn)存儲(chǔ)器(DRAM),靜態(tài)隨機(jī)訪問(wèn)存儲(chǔ)器(SRAM),閃速存儲(chǔ)器,固件,可編程邏輯等)中實(shí)現(xiàn)的程序指令、代碼和/或邏輯。計(jì)算機(jī)可讀介質(zhì)中的代碼可由機(jī)器例如處理器訪問(wèn)和執(zhí)行。在某些實(shí)施例中,用于實(shí)現(xiàn)這些實(shí)施例的代碼還可以通過(guò)傳輸介質(zhì)或通過(guò)網(wǎng)絡(luò)從文件服務(wù)器被訪問(wèn)。在這種情況下,其中實(shí)現(xiàn)所述代碼的制造產(chǎn)品可以包括傳輸介質(zhì),例如網(wǎng)絡(luò)傳輸線、無(wú)線傳輸介質(zhì)、通過(guò)空間傳播的信號(hào)、無(wú)線電波、紅外信號(hào)等。當(dāng)然,本領(lǐng)域技術(shù)人員將會(huì)理解,可以做出許多改型而不脫離這些實(shí)施例的范圍,并且所述制造產(chǎn)品可以包括本領(lǐng)域已知的任何信息承載介質(zhì)。例如,制造產(chǎn)品包括其中存儲(chǔ)有指令的存儲(chǔ)介質(zhì),當(dāng)由機(jī)器執(zhí)行所述指令時(shí),引起操作的執(zhí)行。
圖9示出了系統(tǒng)900的方框圖,其中可以實(shí)現(xiàn)某些實(shí)施例。在某些實(shí)施例中,節(jié)點(diǎn)108,110,112,114,116,200,202,204,206可以根據(jù)系統(tǒng)900被實(shí)現(xiàn)。系統(tǒng)900可以包括電路902,在某些實(shí)施例中電路902可以包括處理器904。系統(tǒng)900還可以包括存儲(chǔ)器906(例如,易失存儲(chǔ)器裝置)以及存儲(chǔ)設(shè)備908。系統(tǒng)900的某些元件可以見(jiàn)于或者可不見(jiàn)于節(jié)點(diǎn)108,110,112,114,116,200,202,204,206中的一些或全部中。存儲(chǔ)設(shè)備908可以包括非易失存儲(chǔ)裝置(例如,EEPROM,ROM,PROM,RAM,DRAM,SRAM,閃速存儲(chǔ)器,固件,可編程邏輯等),磁盤(pán)驅(qū)動(dòng)器,光盤(pán)驅(qū)動(dòng)器,磁帶驅(qū)動(dòng)器等。存儲(chǔ)設(shè)備908可以包括內(nèi)部存儲(chǔ)設(shè)備,連附的存儲(chǔ)設(shè)備和/或可通過(guò)網(wǎng)絡(luò)訪問(wèn)的存儲(chǔ)設(shè)備。系統(tǒng)900可以包括程序邏輯910,包括可被裝載到存儲(chǔ)器906中并由處理器904或電路902執(zhí)行的代碼912。在某些實(shí)施例中,包括代碼912的程序邏輯910可被存儲(chǔ)在存儲(chǔ)設(shè)備908中。在某些其它的實(shí)施例中,程序邏輯910可以被實(shí)現(xiàn)在電路902中。因此,雖然圖9與其它元件分開(kāi)地示出了程序邏輯910,程序邏輯910可以實(shí)現(xiàn)在存儲(chǔ)器906和/或電路902中。
某些實(shí)施例可能涉及由人或?qū)⒂?jì)算機(jī)可讀代碼集成到計(jì)算系統(tǒng)內(nèi)的自動(dòng)處理來(lái)部署計(jì)算指令的方法,其中與計(jì)算系統(tǒng)相結(jié)合的代碼能夠執(zhí)行所述實(shí)施例的操作。
圖5,6,8所示的操作中的至少一些可以并行地和順序地被執(zhí)行。在另一些實(shí)施例中,某些操作可被以不同順序執(zhí)行、被修改或被取消。
此外,為了說(shuō)明的目的以單獨(dú)的模塊說(shuō)明了許多軟件和硬件組件。這些組件可被集成在少量的幾個(gè)組件中,或者被分成更多數(shù)目的組件。另外,所述的由特定組件執(zhí)行的某些操作可以由其它組件執(zhí)行。
圖1-9示出的數(shù)據(jù)結(jié)構(gòu)和組件被描述為具有特定信息類(lèi)型。在另外的實(shí)施例中,這些數(shù)據(jù)結(jié)構(gòu)和組件可以被不同地構(gòu)成,并具有比圖中所示或指出的那些更少的、更多的或者不同的字段或不同的功能。
因此,為了說(shuō)明和描述的目的給出了上面的實(shí)施例的說(shuō)明。其并非是無(wú)遺露的,或者要把這些實(shí)施例限制于所披露的精確的形式。根據(jù)上述的教導(dǎo),可以做出許多改變和改型。
權(quán)利要求
1.一種方法,包括從網(wǎng)絡(luò)的多個(gè)節(jié)點(diǎn)的至少一個(gè)節(jié)點(diǎn)發(fā)送多個(gè)廣播消息;基于接收的消息發(fā)現(xiàn)節(jié)點(diǎn);存儲(chǔ)相應(yīng)于所述節(jié)點(diǎn)和相應(yīng)的時(shí)間戳的表項(xiàng),所述時(shí)間戳指示該節(jié)點(diǎn)最后被發(fā)現(xiàn)的時(shí)間;以及響應(yīng)確定自從所述相應(yīng)的時(shí)間戳被最后更新以來(lái)已經(jīng)經(jīng)過(guò)了一個(gè)預(yù)定的時(shí)間,做出該節(jié)點(diǎn)離線的通知。
2.如權(quán)利要求1的方法,其中所述多個(gè)節(jié)點(diǎn)包括存儲(chǔ)服務(wù)器,其中所述網(wǎng)絡(luò)是存儲(chǔ)區(qū)域網(wǎng)絡(luò),其中所述節(jié)點(diǎn)是第一節(jié)點(diǎn),并且其中所述方法還包括響應(yīng)確定所述第一節(jié)點(diǎn)離線了,向可運(yùn)行的第二節(jié)點(diǎn)發(fā)送消息,其中所述第二節(jié)點(diǎn)是包括所述第一節(jié)點(diǎn)和所述第二節(jié)點(diǎn)兩者的域組中所述第一節(jié)點(diǎn)的替代節(jié)點(diǎn)。
3.如權(quán)利要求1的方法,其中所述發(fā)送、發(fā)現(xiàn)、存儲(chǔ)和通知由執(zhí)行在所述多個(gè)節(jié)點(diǎn)上的消息路由器執(zhí)行,其中消息路由器包括用于發(fā)送廣播消息的廣播線程和用于發(fā)現(xiàn)所述節(jié)點(diǎn)的發(fā)現(xiàn)線程。
4.如權(quán)利要求1的方法,其中所述廣播消息的發(fā)送還包括產(chǎn)生一個(gè)廣播消息,以便包括該廣播消息的發(fā)送方節(jié)點(diǎn)的節(jié)點(diǎn)識(shí)別,在所述發(fā)送方節(jié)點(diǎn)中接收進(jìn)入的消息的網(wǎng)際協(xié)議地址,以及在所述發(fā)送方節(jié)點(diǎn)中接收進(jìn)入的消息的端口號(hào);以及向所述網(wǎng)絡(luò)廣播所述廣播消息。
5.如權(quán)利要求1的方法,其中所述節(jié)點(diǎn)是所述多個(gè)節(jié)點(diǎn)中一個(gè)被選擇的節(jié)點(diǎn),其中所述方法還包括從路由表中讀所述被選擇的節(jié)點(diǎn)和相應(yīng)于所述被選擇的節(jié)點(diǎn)的被選擇的時(shí)間戳;確定自從在所述路由表中為所述被選擇的節(jié)點(diǎn)最后更新所述相應(yīng)的時(shí)間戳以來(lái)是否已經(jīng)經(jīng)過(guò)了所述預(yù)定的時(shí)間;以及確定已在離線節(jié)點(diǎn)上注冊(cè)為將被通知的注冊(cè)的組件,其中所述離線節(jié)點(diǎn)被通知給所述注冊(cè)的組件。
6.如權(quán)利要求5的方法,還包括響應(yīng)確定在所述路由表中為所述被選擇的節(jié)點(diǎn)最后更新所述相應(yīng)的時(shí)間戳以來(lái)已經(jīng)經(jīng)過(guò)了所述預(yù)定的時(shí)間,從所述路由表中刪除所述被選擇的節(jié)點(diǎn)。
7.如權(quán)利要求1的方法,其中所述發(fā)現(xiàn)和存儲(chǔ)還包括在組播端口上監(jiān)聽(tīng)廣播消息;確定路由表中是否指出了所述廣播消息的發(fā)送方節(jié)點(diǎn),其中所述被發(fā)現(xiàn)的節(jié)點(diǎn)是所述發(fā)送方節(jié)點(diǎn);響應(yīng)確定所述路由表中指出了所述發(fā)送方節(jié)點(diǎn),更新所述發(fā)送方節(jié)點(diǎn)的相應(yīng)的時(shí)間戳;以及響應(yīng)確定所述路由表中未指出所述發(fā)送方節(jié)點(diǎn),將所述發(fā)送方節(jié)點(diǎn)和所述相應(yīng)的時(shí)間戳添加到所述路由表。
8.如權(quán)利要求1的方法,還包括以從所述多個(gè)節(jié)點(diǎn)中選擇的一組節(jié)點(diǎn)處于可運(yùn)行的最后記錄的時(shí)間,維持指出了所述一組節(jié)點(diǎn)的路由表;以及維持指出多個(gè)節(jié)點(diǎn)的多個(gè)域組的域組表,其中被選擇的域組的可運(yùn)行的節(jié)點(diǎn)可以處理為所述被選擇的域組的離線節(jié)點(diǎn)產(chǎn)生的重定向消息。
9.一種與網(wǎng)絡(luò)通信的系統(tǒng),該系統(tǒng)包括存儲(chǔ)器;和連接到所述存儲(chǔ)器的處理器,其中所述處理器能夠執(zhí)行操作,所述操作包括(i)向所述網(wǎng)絡(luò)的多個(gè)節(jié)點(diǎn)發(fā)送多個(gè)廣播消息;(ii)基于接收的消息發(fā)現(xiàn)節(jié)點(diǎn);(iii)存儲(chǔ)相應(yīng)于所述節(jié)點(diǎn)和相應(yīng)的時(shí)間戳的表項(xiàng),所述時(shí)間戳指示該節(jié)點(diǎn)最后被發(fā)現(xiàn)的時(shí)間;以及(iV)響應(yīng)確定自從所述相應(yīng)的時(shí)間戳被最后更新以來(lái)已經(jīng)經(jīng)過(guò)了一個(gè)預(yù)定的時(shí)間,做出該節(jié)點(diǎn)離線的通知。
10.如權(quán)利要求9的系統(tǒng),其中所述多個(gè)節(jié)點(diǎn)包括存儲(chǔ)服務(wù)器,其中所述網(wǎng)絡(luò)是存儲(chǔ)區(qū)域網(wǎng)絡(luò),其中所述節(jié)點(diǎn)是第一節(jié)點(diǎn),并且其中所述操作還包括響應(yīng)確定所述第一節(jié)點(diǎn)離線了,向可運(yùn)行的第二節(jié)點(diǎn)發(fā)送消息,其中所述第二節(jié)點(diǎn)是包括所述第一節(jié)點(diǎn)和所述第二節(jié)點(diǎn)兩者的域組中所述第一節(jié)點(diǎn)的替代節(jié)點(diǎn)。
11.如權(quán)利要求9的系統(tǒng),其中所述發(fā)送、發(fā)現(xiàn)、存儲(chǔ)和通知由執(zhí)行在所述多個(gè)節(jié)點(diǎn)上的消息路由器執(zhí)行,其中消息路由器包括用于發(fā)送廣播消息的廣播線程和用于發(fā)現(xiàn)所述節(jié)點(diǎn)的發(fā)現(xiàn)線程。
12.如權(quán)利要求9的系統(tǒng),其中所述廣播消息的發(fā)送還包括產(chǎn)生一個(gè)廣播消息,以便包括該廣播消息的發(fā)送方節(jié)點(diǎn)的節(jié)點(diǎn)識(shí)別,在所述發(fā)送方節(jié)點(diǎn)中接收進(jìn)入的消息的網(wǎng)際協(xié)議地址,以及在所述發(fā)送方節(jié)點(diǎn)中接收進(jìn)入的消息的端口號(hào);以及向所述網(wǎng)絡(luò)廣播所述廣播消息。
13.如權(quán)利要求9的系統(tǒng),其中所述節(jié)點(diǎn)是所述多個(gè)節(jié)點(diǎn)中一個(gè)被選擇的節(jié)點(diǎn),其中所述操作還包括從路由表中讀所述被選擇的節(jié)點(diǎn)和相應(yīng)于所述被選擇的節(jié)點(diǎn)的被選擇的時(shí)間戳;確定自從在所述路由表中為所述被選擇的節(jié)點(diǎn)最后更新所述相應(yīng)的時(shí)間戳以來(lái)是否已經(jīng)經(jīng)過(guò)了所述預(yù)定的時(shí)間;以及確定已在離線節(jié)點(diǎn)上注冊(cè)為將被通知的注冊(cè)的組件,其中所述離線節(jié)點(diǎn)被通知給所述注冊(cè)的組件。
14.如權(quán)利要求13的系統(tǒng),所述操作還包括響應(yīng)確定在所述路由表中為所述被選擇的節(jié)點(diǎn)最后更新所述相應(yīng)的時(shí)間戳以來(lái)已經(jīng)經(jīng)過(guò)了所述預(yù)定的時(shí)間,從所述路由表中刪除所述被選擇的節(jié)點(diǎn)。
15.如權(quán)利要求9的系統(tǒng),其中所述發(fā)現(xiàn)和存儲(chǔ)還包括在組播端口上監(jiān)聽(tīng)廣播消息;確定路由表中是否指出了所述廣播消息的發(fā)送方節(jié)點(diǎn),其中所述被發(fā)現(xiàn)的節(jié)點(diǎn)是所述發(fā)送方節(jié)點(diǎn);響應(yīng)確定所述路由表中指出了所述發(fā)送方節(jié)點(diǎn),更新所述發(fā)送方節(jié)點(diǎn)的相應(yīng)的時(shí)間戳;以及響應(yīng)確定所述路由表中未指出所述發(fā)送方節(jié)點(diǎn),將所述發(fā)送方節(jié)點(diǎn)和所述相應(yīng)的時(shí)間戳添加到所述路由表。
16.如權(quán)利要求9的系統(tǒng),所述操作還包括以從所述多個(gè)節(jié)點(diǎn)中選擇的一組節(jié)點(diǎn)處于可運(yùn)行的最后記錄的時(shí)間,維持指出了所述一組節(jié)點(diǎn)的路由表;以及維持指出多個(gè)節(jié)點(diǎn)的多個(gè)域組的域組表,其中被選擇的域組的可運(yùn)行的節(jié)點(diǎn)可以處理為所述被選擇的域組的離線節(jié)點(diǎn)產(chǎn)生的重定向消息。
17.一種用于網(wǎng)絡(luò)中節(jié)點(diǎn)發(fā)現(xiàn)的制造產(chǎn)品,其中所述制造產(chǎn)品能夠引起操作,所述操作包括從所述網(wǎng)絡(luò)的多個(gè)節(jié)點(diǎn)的至少一個(gè)節(jié)點(diǎn)發(fā)送多個(gè)廣播消息;基于接收的消息發(fā)現(xiàn)節(jié)點(diǎn);存儲(chǔ)相應(yīng)于所述節(jié)點(diǎn)和相應(yīng)的時(shí)間戳的表項(xiàng),所述時(shí)間戳指示該節(jié)點(diǎn)最后被發(fā)現(xiàn)的時(shí)間;以及響應(yīng)確定自從所述相應(yīng)的時(shí)間戳被最后更新以來(lái)已經(jīng)經(jīng)過(guò)了一個(gè)預(yù)定的時(shí)間,做出該節(jié)點(diǎn)離線的通知。
18.如權(quán)利要求17的制造產(chǎn)品,其中所述多個(gè)節(jié)點(diǎn)包括存儲(chǔ)服務(wù)器,其中所述網(wǎng)絡(luò)是存儲(chǔ)區(qū)域網(wǎng)絡(luò),其中所述節(jié)點(diǎn)是第一節(jié)點(diǎn),并且其中所述操作還包括響應(yīng)確定所述第一節(jié)點(diǎn)離線了,向可運(yùn)行的第二節(jié)點(diǎn)發(fā)送消息,其中所述第二節(jié)點(diǎn)是包括所述第一節(jié)點(diǎn)和所述第二節(jié)點(diǎn)兩者的域組中所述第一節(jié)點(diǎn)的替代節(jié)點(diǎn)。
19.如權(quán)利要求17的制造產(chǎn)品,其中所述發(fā)送、發(fā)現(xiàn)、存儲(chǔ)和通知由執(zhí)行在所述多個(gè)節(jié)點(diǎn)上的消息路由器執(zhí)行,其中消息路由器包括用于發(fā)送廣播消息的廣播線程和用于發(fā)現(xiàn)所述節(jié)點(diǎn)的發(fā)現(xiàn)線程。
20.如權(quán)利要求17的制造產(chǎn)品,其中所述廣播消息的發(fā)送還包括產(chǎn)生一個(gè)廣播消息,以便包括該廣播消息的發(fā)送方節(jié)點(diǎn)的節(jié)點(diǎn)識(shí)別,在所述發(fā)送方節(jié)點(diǎn)中接收進(jìn)入的消息的網(wǎng)際協(xié)議地址,以及在所述發(fā)送方節(jié)點(diǎn)中接收進(jìn)入的消息的端口號(hào);以及向所述網(wǎng)絡(luò)廣播所述廣播消息。
21.如權(quán)利要求17的制造產(chǎn)品,其中所述節(jié)點(diǎn)是所述多個(gè)節(jié)點(diǎn)中一個(gè)被選擇的節(jié)點(diǎn),其中所述操作還包括從路由表中讀所述被選擇的節(jié)點(diǎn)和相應(yīng)于所述被選擇的節(jié)點(diǎn)的被選擇的時(shí)間戳;確定自從在所述路由表中為所述被選擇的節(jié)點(diǎn)最后更新所述相應(yīng)的時(shí)間戳以來(lái)是否已經(jīng)經(jīng)過(guò)了所述預(yù)定的時(shí)間;以及確定已在離線節(jié)點(diǎn)上注冊(cè)為將被通知的注冊(cè)的組件,其中所述離線節(jié)點(diǎn)被通知給所述注冊(cè)的組件。
22.如權(quán)利要求21的制造產(chǎn)品,所述操作還包括響應(yīng)確定在所述路由表中為所述被選擇的節(jié)點(diǎn)最后更新所述相應(yīng)的時(shí)間戳以來(lái)已經(jīng)經(jīng)過(guò)了所述預(yù)定的時(shí)間,從所述路由表中刪除所述被選擇的節(jié)點(diǎn)。
23.如權(quán)利要求17的制造產(chǎn)品,其中所述發(fā)現(xiàn)和存儲(chǔ)還包括在組播端口上監(jiān)聽(tīng)廣播消息;確定路由表中是否指出了所述廣播消息的發(fā)送方節(jié)點(diǎn),其中所述被發(fā)現(xiàn)的節(jié)點(diǎn)是所述發(fā)送方節(jié)點(diǎn);響應(yīng)確定所述路由表中指出了所述發(fā)送方節(jié)點(diǎn),更新所述發(fā)送方節(jié)點(diǎn)的相應(yīng)的時(shí)間戳;以及響應(yīng)確定所述路由表中未指出所述發(fā)送方節(jié)點(diǎn),將所述發(fā)送方節(jié)點(diǎn)和所述相應(yīng)的時(shí)間戳添加到所述路由表。
24.如權(quán)利要求17的制造產(chǎn)品,還包括以從所述多個(gè)節(jié)點(diǎn)中選擇的一組節(jié)點(diǎn)處于可運(yùn)行的最后記錄的時(shí)間,維持指出了所述一組節(jié)點(diǎn)的路由表;以及維持指出多個(gè)節(jié)點(diǎn)的多個(gè)域組的域組表,其中被選擇的域組的可運(yùn)行的節(jié)點(diǎn)可以處理為所述被選擇的域組的離線節(jié)點(diǎn)產(chǎn)生的重定向消息。
25.一種用于部署計(jì)算基礎(chǔ)設(shè)施的方法,包括將計(jì)算機(jī)可讀代碼集成到計(jì)算系統(tǒng)內(nèi),其中與所述計(jì)算系統(tǒng)相結(jié)合的所述代碼能夠執(zhí)行向網(wǎng)絡(luò)的多個(gè)節(jié)點(diǎn)發(fā)送多個(gè)廣播消息;基于接收的消息發(fā)現(xiàn)節(jié)點(diǎn);存儲(chǔ)相應(yīng)于所述節(jié)點(diǎn)和相應(yīng)的時(shí)間戳的表項(xiàng),所述時(shí)間戳指示該節(jié)點(diǎn)最后被發(fā)現(xiàn)的時(shí)間;以及響應(yīng)確定自從所述相應(yīng)的時(shí)間戳被最后更新以來(lái)已經(jīng)經(jīng)過(guò)了一個(gè)預(yù)定的時(shí)間,做出該節(jié)點(diǎn)離線的通知。
26.如權(quán)利要求25的方法,其中所述多個(gè)節(jié)點(diǎn)包括存儲(chǔ)服務(wù)器,其中所述網(wǎng)絡(luò)是存儲(chǔ)區(qū)域網(wǎng)絡(luò),其中所述節(jié)點(diǎn)是第一節(jié)點(diǎn),并且其中與所述計(jì)算系統(tǒng)相結(jié)合的所述代碼還能夠執(zhí)行響應(yīng)確定所述第一節(jié)點(diǎn)離線了,向可運(yùn)行的第二節(jié)點(diǎn)發(fā)送消息,其中所述第二節(jié)點(diǎn)是包括所述第一節(jié)點(diǎn)和所述第二節(jié)點(diǎn)兩者的域組中所述第一節(jié)點(diǎn)的替代節(jié)點(diǎn)。
27.如權(quán)利要求25的方法,所述廣播消息的發(fā)送還包括產(chǎn)生一個(gè)廣播消息,以便包括該廣播消息的發(fā)送方節(jié)點(diǎn)的節(jié)點(diǎn)識(shí)別,在所述發(fā)送方節(jié)點(diǎn)中接收進(jìn)入的消息的網(wǎng)際協(xié)議地址,以及在所述發(fā)送方節(jié)點(diǎn)中接收進(jìn)入的消息的端口號(hào);以及向所述網(wǎng)絡(luò)廣播所述廣播消息。
28.如權(quán)利要求25的方法,其中所述節(jié)點(diǎn)是所述多個(gè)節(jié)點(diǎn)中一個(gè)被選擇的節(jié)點(diǎn),并且其中與所述計(jì)算系統(tǒng)相結(jié)合的所述代碼還能夠執(zhí)行從路由表中讀所述被選擇的節(jié)點(diǎn)和相應(yīng)于所述被選擇的節(jié)點(diǎn)的被選擇的時(shí)間戳;確定自從在所述路由表中為所述被選擇的節(jié)點(diǎn)最后更新所述相應(yīng)的時(shí)間戳以來(lái)是否已經(jīng)經(jīng)過(guò)了所述預(yù)定的時(shí)間;以及確定已在離線節(jié)點(diǎn)上注冊(cè)為將被通知的注冊(cè)的組件,其中所述離線節(jié)點(diǎn)被通知給所述注冊(cè)的組件。
29.如權(quán)利要求28的方法,并且其中與所述計(jì)算系統(tǒng)相結(jié)合的所述代碼還能夠執(zhí)行響應(yīng)確定自從在所述路由表中為所述被選擇的節(jié)點(diǎn)最后更新所述相應(yīng)的時(shí)間戳以來(lái)已經(jīng)經(jīng)過(guò)了所述預(yù)定的時(shí)間,從所述路由表中刪除所述被選擇的節(jié)點(diǎn)。
30.如權(quán)利要求25的方法,其中所述發(fā)現(xiàn)和存儲(chǔ)還包括在組播端口上監(jiān)聽(tīng)廣播消息;確定路由表中是否指出了所述廣播消息的發(fā)送方節(jié)點(diǎn),其中所述被發(fā)現(xiàn)的節(jié)點(diǎn)是所述發(fā)送方節(jié)點(diǎn);響應(yīng)確定所述路由表中指出了所述發(fā)送方節(jié)點(diǎn),更新所述發(fā)送方節(jié)點(diǎn)的相應(yīng)的時(shí)間戳;以及響應(yīng)確定所述路由表中未指出所述發(fā)送方節(jié)點(diǎn),將所述發(fā)送方節(jié)點(diǎn)和所述相應(yīng)的時(shí)間戳添加到所述路由表。
全文摘要
提供了一種方法、系統(tǒng)和制造產(chǎn)品,其中從網(wǎng)絡(luò)的多個(gè)節(jié)點(diǎn)的至少一個(gè)節(jié)點(diǎn)發(fā)送多個(gè)廣播消息?;诮邮盏南l(fā)現(xiàn)節(jié)點(diǎn)。存儲(chǔ)表項(xiàng),其中所述表項(xiàng)相應(yīng)于所述節(jié)點(diǎn)和一個(gè)時(shí)間戳,所述時(shí)間戳指示該節(jié)點(diǎn)最后被發(fā)現(xiàn)的時(shí)間。響應(yīng)確定自從所述時(shí)間戳被最后更新以來(lái)已經(jīng)經(jīng)過(guò)了一個(gè)預(yù)定的時(shí)間,做出該節(jié)點(diǎn)離線的通知。
文檔編號(hào)H04L12/24GK1777192SQ20051011482
公開(kāi)日2006年5月24日 申請(qǐng)日期2005年11月15日 優(yōu)先權(quán)日2004年11月16日
發(fā)明者J·D·勞爾, R·K·馬丁內(nèi)斯, B·S·麥卡恩, A·L·塞里恩, 徐燕 申請(qǐng)人:國(guó)際商業(yè)機(jī)器公司