有助于分布式計算系統(tǒng)的服務提供和協(xié)調(diào)的方法和系統(tǒng)的制作方法
【專利摘要】本
【發(fā)明內(nèi)容】
涉及有助于分布式計算系統(tǒng)的服務提供和協(xié)調(diào)的方法和系統(tǒng)。一種分布式節(jié)點服務管理系統(tǒng)利用分布式計算系統(tǒng)的多個已有處理器節(jié)點支持分布式計算系統(tǒng)的主要數(shù)據(jù)處理功能。該分布式節(jié)點服務管理系統(tǒng)代表分布式計算系統(tǒng)的處理器節(jié)點協(xié)調(diào)和管理服務功能。根據(jù)特定應用,可以實現(xiàn)其它特征和方面。
【專利說明】有助于分布式計算系統(tǒng)的服務提供和協(xié)調(diào)的方法和系統(tǒng)
[0001]相關申請
[0002]本申請涉及轉(zhuǎn)讓給本申請的受讓人的、提交于2012年8月9日、申請?zhí)枮?3/571102、代理卷號為 TUC920120063US1 的標題為 “Service Management Modes ofOperation in Distributed node Service Management”的待審申請,通過引用將其全部內(nèi)
容合并于此。
【技術領域】
[0003]本描述大體上涉及分布式計算系統(tǒng),并且更特別地,涉及用于有助于分布式計算系統(tǒng)的服務提供和協(xié)調(diào)的方法、系統(tǒng)和程序產(chǎn)品。
【背景技術】
[0004]為了提供高的工作吞吐量或幾乎連續(xù)的可用性,通常利用分布式計算系統(tǒng)。分布式計算系統(tǒng)典型地包括兩個或更多計算裝置,這些計算裝置有點自治地頻繁操作,并且在網(wǎng)絡或其他通信路徑上彼此通信。
[0005]具有共享資源的能力的分布系統(tǒng)的計算裝置通常被稱為集群(cluster),集群具有兩個或更多節(jié)點,每個節(jié)點具有處理器或至少處理器資源,并且典型地具有單獨的操作系統(tǒng)。利用一個或多個集群的分布式計算系統(tǒng)的一個示例是IBM System StorageTS7650ProtecTIER Deduplication Gateway,其提供諸如虛擬帶庫(virtual tapelibrary)的功能,虛擬帶庫對于應用來說看似一個自動帶庫。TS7650的分布式計算系統(tǒng)通常還包括在網(wǎng)絡上與集群通信的幾個控制器。
[0006]圖1示出分布式計算系統(tǒng)100的例子,分布式計算系統(tǒng)100具有集群計算裝置102、104、一個或多個單個節(jié)點計算裝置106、以及系統(tǒng)或服務控制臺110,系統(tǒng)或服務控制臺110為具有多個計算裝置的分布式計算系統(tǒng)(諸如ProtecTIER系統(tǒng))提供服務的中心點。計算裝置102、104、106和服務控制臺110典型地通過網(wǎng)絡112鏈接在一起,網(wǎng)絡112例如可以是分布式計算系統(tǒng)內(nèi)部的網(wǎng)絡。
[0007]服務控制臺可以具有外出連接114,以便連接到支持中心120。可以在例如寬帶以太網(wǎng)連接上形成這種連接114,其包括例如內(nèi)聯(lián)網(wǎng)115、防火墻116和互聯(lián)網(wǎng)118。服務控制臺還可以具有另一個連接122,連接122可以是例如到支持中心120的調(diào)制解調(diào)器連接。
[0008]在一種集群配置中,諸如在集群102中所見的配置中,兩個處理器節(jié)點124通常都是激活的(通常稱為“激活-激活”操作),以便提供對相同數(shù)據(jù)集的訪問。在集群內(nèi)部的網(wǎng)絡130可用于在集群102的兩個處理器節(jié)點之間提供通信。
[0009]分布式計算系統(tǒng)100還可以包括工作站134,例如,工作站134在網(wǎng)絡136(諸如用戶網(wǎng)絡)上連接到計算裝置102、104、106中的每一個。適合的管理器程序(諸如ProtecTIERManager)例如可以運行在工作站134上,以便提供配置并且監(jiān)控對每個計算裝置102、104、106的訪問。另外,可以為服務控制臺110以及計算裝置102、104、106的處理器節(jié)點124提供一個或多個鍵盤、視頻和監(jiān)視器(KVM)接口 140,以便提供本地訪問??梢酝ㄟ^適合的KVM交換機在服務控制臺Iio和計算裝置102、104、106的一個或多個處理器節(jié)點124之間共享KVM 接口 140。
[0010]服務控制臺110有助于遠程支持中心120接入到服務控制臺110以及到各個計算裝置102、104、106。相反地,服務控制臺110有助于計算裝置102、104、106接入到遠程支持中心120以提供錯誤或其它服務通知。例如,如果集群102的處理器節(jié)點124遇到一個錯誤,它可以產(chǎn)生錯誤通知(通常稱為“通報請求”或“消息卸載請求”),并且將通報請求發(fā)送到服務控制臺110。服務控制臺110又將錯誤通知和任意相關聯(lián)的錯誤數(shù)據(jù)(通常稱為通報包)(諸如存儲器內(nèi)容更新(core dump))轉(zhuǎn)發(fā)到遠程支持中心120。另外,支持中心120的服務人員可以登錄服務控制臺110以便遠程訪問附接到服務控制臺110的計算裝置102、104、106。在一些設施中,服務控制臺(諸如服務控制臺110)可以具有提供web瀏覽器及其他圖形用戶接口以便有助于對分布式計算系統(tǒng)的本地或遠程監(jiān)控和管理的軟件。
[0011]一些分布式計算系統(tǒng)缺少諸如服務控制臺110的系統(tǒng)或服務控制臺。因此,這種分布式計算系統(tǒng)典型地不具有用于用戶位置處的多個處理器節(jié)點之間的服務或協(xié)調(diào)的綜合、集中的管理點。在這種缺少服務控制臺或集中管理點的分布式計算系統(tǒng)中,分布式計算系統(tǒng)的每個計算裝置可以具有其自己的單獨的互聯(lián)網(wǎng)或調(diào)制解調(diào)器連接,以便連接到支持中心。
【發(fā)明內(nèi)容】
[0012]在本描述的一個方面,針對如下兩者描述操作:在具有多個處理器節(jié)點的分布式計算系統(tǒng)中在所述多個處理器節(jié)點中的每一個處執(zhí)行數(shù)據(jù)處理功能,和對于所述分布式計算系統(tǒng)中的所述多個處理器節(jié)點中的每一個,從在分布式節(jié)點服務管理系統(tǒng)中能夠使用的多個分布式節(jié)點服務管理操作角色中選擇分布式節(jié)點服務管理操作角色。操作還包括在所述多個處理器節(jié)點中的每一個處執(zhí)行分布式節(jié)點服務管理,其中在每個處理器節(jié)點處在為特定處理器節(jié)點選擇的分布式節(jié)點服務管理角色中執(zhí)行所述分布式節(jié)點服務管理,并且所述分布式節(jié)點服務管理包括對服務請求進行處理以為分布式計算系統(tǒng)的處理器節(jié)點提供服務。
[0013]在另一個方面,所述分布式節(jié)點服務管理在所述多個處理器節(jié)點中的第一處理器節(jié)點處,在為所述第一處理器節(jié)點選擇的主分布式節(jié)點服務管理角色中被執(zhí)行。在一個實施例中,主分布式節(jié)點服務管理角色包括:從所述多個處理器節(jié)點中的第二處理器節(jié)點接收服務請求,并且代表第二處理器節(jié)點將該服務請求轉(zhuǎn)發(fā)到遠程服務中心,以為分布式計算系統(tǒng)的第二處理器節(jié)點提供服務。
[0014]在另一個方面,所述分布式節(jié)點服務管理在所述多個處理器節(jié)點中的所述第二處理器節(jié)點處,在為所述第二處理器節(jié)點選擇的成員分布式節(jié)點服務管理角色中被執(zhí)行。在一個實施例中,成員分布式節(jié)點服務管理角色包括:代表第二處理器節(jié)點產(chǎn)生服務請求,并且將該服務請求發(fā)送到第一處理器節(jié)點以便轉(zhuǎn)發(fā)到遠程服務中心,其中該服務請求是響應于第二處理器節(jié)點處的服務狀況而產(chǎn)生的,并且包括第二處理器節(jié)點處的服務狀況的服務通知。
[0015]在另一個方面,所述分布式計算系統(tǒng)中的多個處理器節(jié)點中的每一個處的數(shù)據(jù)處理功能包括數(shù)據(jù)備份功能,所述數(shù)據(jù)備份功能包括在主機和數(shù)據(jù)存儲之間傳送數(shù)據(jù)。[0016]在本描述的另一個方面,所述分布式節(jié)點服務管理在所述多個處理器節(jié)點中的第三處理器節(jié)點處,在為所述第三處理器節(jié)點選擇的備用分布式節(jié)點服務管理角色中被執(zhí)行。在一個實施例中,備用分布式節(jié)點服務管理角色包括:在所述第一處理器節(jié)點處執(zhí)行所述主分布式節(jié)點服務管理角色中的分布式節(jié)點服務管理功能時失敗的情況下,將為所述第三處理器節(jié)點選擇的分布式節(jié)點服務管理角色從所述備用分布式節(jié)點服務管理角色改變?yōu)樗鲋鞣植际焦?jié)點服務管理角色,使得在第三處理器節(jié)點處而不是在第一處理器節(jié)點處執(zhí)行主分布式節(jié)點服務管理角色中的分布式節(jié)點服務管理功能。
[0017]在另一個方面,在所述第二處理器節(jié)點處執(zhí)行的成員分布式節(jié)點服務管理角色包括:在所述第一處理器節(jié)點處執(zhí)行所述主分布式節(jié)點服務管理角色中的分布式節(jié)點服務管理服務請求轉(zhuǎn)發(fā)功能時失敗的情況下,將該服務請求發(fā)送到第三處理器節(jié)點,以便在第三處理器節(jié)點的所述主分布式節(jié)點服務管理角色中轉(zhuǎn)發(fā)到遠程服務中心。
[0018]在另一個方面,所述分布式節(jié)點服務管理在所述多個處理器節(jié)點中的多個額外處理器節(jié)點處,在為每個額外處理器節(jié)點選擇的分布式-備用分布式節(jié)點服務管理角色中被執(zhí)行,其中分布式-備用分布式節(jié)點服務管理角色包括:在所述第一處理器節(jié)點處執(zhí)行所述主分布式節(jié)點服務管理角色中的分布式節(jié)點服務管理功能時失敗的情況下,對于所述多個處理器節(jié)點中的每個特定處理器節(jié)點,在每個特定處理器節(jié)點處而不是在第一處理器節(jié)點處代表該特定處理器節(jié)點執(zhí)行分布式節(jié)點服務管理功能。
[0019]在另一個方面,在所述多個額外處理器節(jié)點中的每一個處執(zhí)行的分布式-備用分布式節(jié)點服務管理角色包括:對于所述多個處理器節(jié)點中的每個特定處理器節(jié)點,在所述第一處理器節(jié)點處執(zhí)行所述主分布式節(jié)點服務管理角色中的分布式節(jié)點服務管理服務請求轉(zhuǎn)發(fā)功能時失敗的情況下,代表所述多個額外處理器節(jié)點中的該特定處理器節(jié)點將服務請求發(fā)送到遠程服務中心。
[0020]在另一個方面,在所述多個處理器節(jié)點中的每一個處執(zhí)行的分布式節(jié)點服務管理角色包括:對于所述多個處理器節(jié)點中的每個特定處理器節(jié)點,代表該特定處理器節(jié)點產(chǎn)生服務請求,并且將該服務請求發(fā)送到用于為分布式計算系統(tǒng)提供服務的服務中心,其中該服務請求是響應于該特定處理器節(jié)點處的服務狀況而產(chǎn)生的,并且包括該特定處理器節(jié)點處的服務狀況的服務通知。
[0021]在另一個方面,所述分布式節(jié)點服務管理在所述多個處理器節(jié)點中的第三處理器節(jié)點處,在為所述第三處理器節(jié)點選擇的主分布式節(jié)點服務管理角色中被執(zhí)行,其中主分布式節(jié)點服務管理角色包括:從所述多個處理器節(jié)點中的第四處理器節(jié)點接收服務請求,并且代表第四處理器節(jié)點將該服務請求轉(zhuǎn)發(fā)到用于為分布式計算系統(tǒng)提供服務的遠程服務中心。
[0022]在另一個方面,在所述第一處理器節(jié)點和第三處理器節(jié)點處在主分布式節(jié)點服務管理角色中執(zhí)行的所述分布式節(jié)點服務管理包括:在所述第一處理器節(jié)點和第三處理器節(jié)點之間平衡主分布式節(jié)點服務管理角色中的分布式節(jié)點服務管理工作負載。
[0023]在另一個方面,在所述第一處理器節(jié)點和第三處理器節(jié)點處在主分布式節(jié)點服務管理角色中執(zhí)行的所述分布式節(jié)點服務管理包括:在所述第一處理器節(jié)點處執(zhí)行所述主分布式節(jié)點服務管理角色中的分布式節(jié)點服務管理功能時失敗的情況下,承擔來自所述第一處理器節(jié)點的分布式節(jié)點服務管理功能,使得在第三處理器節(jié)點處而不是在第一處理器節(jié)點處在主分布式節(jié)點服務管理角色中執(zhí)行所承擔的分布式節(jié)點服務管理功能。
[0024]在另一個方面,所述服務請求包括如下之一:服務通知,服務中心對所述多個處理器節(jié)點中的處理器節(jié)點的遠程訪問的請求,本地用戶對所述多個處理器節(jié)點中的處理器節(jié)點的本地訪問的請求,以及處理器節(jié)點健康狀態(tài)請求。
[0025]在另一個方面,所述第一處理器節(jié)點處的主分布式節(jié)點服務管理角色中的分布式節(jié)點服務管理功能還包括如下至少一項:為所述服務中心提供對所述分布式計算系統(tǒng)的其它處理器節(jié)點的遠程訪問,為用戶提供對所述分布式計算系統(tǒng)的其它處理器節(jié)點的本地訪問,以及監(jiān)視所述分布式計算系統(tǒng)的其它處理器節(jié)點的健康。
[0026]在另一個方面,所述分布式節(jié)點服務管理在所述多個處理器節(jié)點中的第三處理器節(jié)點處,也在為所述第三處理器節(jié)點選擇的成員分布式節(jié)點服務管理角色中被執(zhí)行,其中所述第一處理器節(jié)點和第二處理器節(jié)點均是集群中的對等節(jié)點,其中第三處理器節(jié)點的成員分布式節(jié)點服務管理角色包括:在第一處理器節(jié)點未能響應由第二處理器節(jié)點發(fā)送的服務請求的情況下,代表第二處理器節(jié)點向第一處理器節(jié)點重新發(fā)送該服務請求以便轉(zhuǎn)發(fā)到遠程服務中心,其中在所述多個處理器節(jié)點中的第四處理器節(jié)點處,在為所述第四處理器節(jié)點選擇的備用分布式節(jié)點服務管理角色中執(zhí)行所述分布式節(jié)點服務管理,其中備用分布式節(jié)點服務管理角色包括:在第一處理器節(jié)點未能響應由第三處理器節(jié)點代表第二處理器節(jié)點發(fā)送的服務請求的情況下,將為所述第四處理器節(jié)點選擇的分布式節(jié)點服務管理角色從所述備用分布式節(jié)點服務管理角色改變?yōu)樗鲋鞣植际焦?jié)點服務管理角色,使得在第四處理器節(jié)點處而不是在第一處理器節(jié)點處執(zhí)行主分布式節(jié)點服務管理角色中的分布式節(jié)點服務管理功能。
[0027]在另一個方面,所述分布式節(jié)點服務管理在所述多個處理器節(jié)點中的處理器節(jié)點處,在如下分布式節(jié)點服務管理角色中被執(zhí)行,該分布式節(jié)點服務管理角色包括用于檢測與分布式計算系統(tǒng)的其它處理器節(jié)點的分布式節(jié)點服務管理操作有關的錯誤的健康檢查功能,其中所述健康檢查功能包括向分布式計算系統(tǒng)中的每個節(jié)點發(fā)送請求消息以便確定它們的當前操作狀態(tài),以及其中所述分布式計算系統(tǒng)中的所述多個處理器節(jié)點中的任何處理器節(jié)點能夠被選擇來在包括健康檢查功能的分布式節(jié)點服務管理角色中執(zhí)行分布式節(jié)點服務管理。
[0028]在另一個方面,分布式節(jié)點服務管理還包括:自動重新配置第一處理器節(jié)點處的分布式節(jié)點服務管理角色,以便恢復到在第一處理器節(jié)點處執(zhí)行的分布式節(jié)點服務管理再次處于主分布式節(jié)點服務管理角色中的以前配置,使得其它處理器節(jié)點選擇第一處理器節(jié)點處理服務通知以便聯(lián)系遠程服務中心,以及其中分布式節(jié)點服務管理還包括:自動重新配置第三處理器節(jié)點處的分布式節(jié)點服務管理角色,以便恢復到在第三處理器節(jié)點處執(zhí)行的分布式節(jié)點服務管理再次處于備用分布式節(jié)點服務管理角色中的以前配置。
[0029]在另一個方面,響應于為所述第三處理器節(jié)點選擇的分布式節(jié)點服務管理角色從所述備用分布式節(jié)點服務管理角色到所述主分布式節(jié)點服務管理角色的改變,在所述主分布式節(jié)點服務管理角色中的第三處理器節(jié)點處的分布式節(jié)點服務管理還包括:向分布式計算系統(tǒng)中的其它處理器節(jié)點廣播分布式節(jié)點服務管理系統(tǒng)狀態(tài)消息,以指示主分布式節(jié)點服務管理角色中的分布式節(jié)點服務管理功能正在第三處理器節(jié)點處而不是在第一處理器節(jié)點處被執(zhí)行,以及其中響應于該狀態(tài)消息,每個處理器節(jié)點更新分布式節(jié)點服務管理配置信息的本地拷貝,以便指示主分布式節(jié)點服務管理角色正在第三處理器節(jié)點處而不是在第一處理器節(jié)點處被執(zhí)行。
[0030]在另一個方面,所述分布式節(jié)點服務管理在所述多個處理器節(jié)點中的額外處理器節(jié)點處,在為所述額外處理器節(jié)點選擇的激活備用分布式節(jié)點服務管理角色中被執(zhí)行,其中激活備用分布式節(jié)點服務管理角色包括:在所述第一處理器節(jié)點處執(zhí)行所述主分布式節(jié)點服務管理角色中的分布式節(jié)點服務管理功能時失敗的情況下,在所述額外處理器節(jié)點中的每一個處執(zhí)行的激活分布式節(jié)點服務管理角色包括對于所述額外處理器節(jié)點中的每個特定處理器節(jié)點,代表該特定處理器節(jié)點產(chǎn)生服務請求,并且將該服務請求發(fā)送到用于為分布式計算系統(tǒng)提供服務的服務中心,其中該服務請求是響應于該特定處理器節(jié)點處的服務狀況而產(chǎn)生的,并且包括該特定處理器節(jié)點處的服務狀況的服務通知。
[0031 ] 根據(jù)特定應用,可以實現(xiàn)其它特征和方面。
【專利附圖】
【附圖說明】
[0032]圖1示出了采用分布式計算系統(tǒng)的現(xiàn)有技術的計算環(huán)境。
[0033]圖2示出了根據(jù)本描述的一個方面的具有采用分布式節(jié)點服務管理系統(tǒng)的分布式計算系統(tǒng)的計算環(huán)境的例子。
[0034]圖3示出了結(jié)合圖2的分布式節(jié)點服務管理系統(tǒng)使用的分布式計算系統(tǒng)的處理器節(jié)點的例子。
[0035]圖4示出根據(jù)本描述的一個方面的用于分布式節(jié)點服務管理的操作的例子。
[0036]圖5示出根據(jù)本描述的另一個方面的用于分布式節(jié)點服務管理的操作的另一個例子。
[0037]圖6示出了根據(jù)本描述的一個方面的具有采用分布式節(jié)點服務管理系統(tǒng)的分布式計算系統(tǒng)的計算環(huán)境的另一個例子。
[0038]圖7示出根據(jù)本描述的另一個方面的用于分布式節(jié)點服務管理的操作的另一個例子。
[0039]圖8示出根據(jù)本描述的另一個方面的用于分布式節(jié)點服務管理的操作的另一個例子。
【具體實施方式】
[0040]在圖2中的200示出合并并且使用根據(jù)本描述的一個實施例的分布式節(jié)點服務管理系統(tǒng)的方面的分布式計算系統(tǒng)的一個示例,并在這里進行描述。根據(jù)本描述的分布式計算系統(tǒng)可以包括多個處理器節(jié)點,所述處理器節(jié)點可通過各種計算裝置被提供,包括集群、控制器以及其它編程的或?qū)S锰幚砥?。分布式計算系統(tǒng)的主要功能是提供數(shù)據(jù)處理功能,諸如數(shù)據(jù)備份、數(shù)據(jù)檢索、重復數(shù)據(jù)刪除、數(shù)據(jù)挖掘、數(shù)據(jù)獲取、數(shù)據(jù)歸檔、數(shù)據(jù)復制、帶寬縮減的數(shù)據(jù)復制、數(shù)據(jù)加密等等。
[0041]在本描述的一個方面,提供利用分布式計算系統(tǒng)的多個已有處理器節(jié)點的分布式節(jié)點服務管理系統(tǒng),以支持分布式計算系統(tǒng)的主要數(shù)據(jù)處理功能。該分布式節(jié)點服務管理系統(tǒng)代表分布式計算系統(tǒng)的處理器節(jié)點協(xié)調(diào)和管理服務功能。例如,分布式節(jié)點服務管理系統(tǒng)的處理器節(jié)點可以管理向遠程支持中心(諸如遠程支持中心201)發(fā)送錯誤通知或其它服務通知。
[0042]如下面更詳細解釋的,根據(jù)本描述的分布式節(jié)點服務管理系統(tǒng)可以減少或消除對用于向遠程支持中心發(fā)送服務通知的服務控制臺的單獨硬件的需要。而是,該分布式節(jié)點服務管理系統(tǒng)可以在已經(jīng)就位并且正在執(zhí)行分布式計算系統(tǒng)的主要數(shù)據(jù)處理功能的分布式計算系統(tǒng)的處理器節(jié)點上操作。
[0043]在另一個方面,分布式節(jié)點服務管理的許多功能可被集中在分布式計算系統(tǒng)的少至一個處理器節(jié)點內(nèi)。結(jié)果,可以減少或消除例如為分布式計算系統(tǒng)的每個計算裝置使用單獨的互聯(lián)網(wǎng)或調(diào)制解調(diào)器連接以便連接支持中心。
[0044]在本描述的另一個方面,根據(jù)本描述的分布式節(jié)點服務管理系統(tǒng)的處理器節(jié)點可以提供額外服務功能,包括提供對分布式計算系統(tǒng)的計算裝置的遠程訪問、監(jiān)視分布式計算系統(tǒng)的計算裝置和相關網(wǎng)絡基礎設施的健康、以及提供對分布式計算系統(tǒng)的計算裝置的本地訪問。根據(jù)特定應用,還可以提供其它服務功能。
[0045]此外,在一個實施例中,根據(jù)本描述的分布式節(jié)點服務管理系統(tǒng)可根據(jù)不同的用戶環(huán)境或要求被動態(tài)地配置,同時仍然為分布式計算系統(tǒng)的多個計算裝置提供集中的服務點。例如,用戶可以配置分布式節(jié)點服務管理系統(tǒng)的不同服務操作模式,其中在特定模式中處理服務功能的方式可以不同。因此,可以提供不同操作模式,以便根據(jù)選擇和配置的模式或多個模式以不同方式協(xié)調(diào)錯誤或其它服務通知、故障恢復和健康檢查。另外,在一個實施例中,用戶可以啟動從一種分布式節(jié)點服務管理操作模式到另一種模式的改變,同時處理器節(jié)點的主要數(shù)據(jù)處理功能保持在線,并且不由于分布式節(jié)點服務管理系統(tǒng)的操作模式的改變而中斷。
[0046]在另一個方面,根據(jù)本描述的分布式節(jié)點服務管理系統(tǒng)可以根據(jù)分布式節(jié)點服務管理系統(tǒng)的當前操作模式,給分布式節(jié)點服務管理系統(tǒng)的每個處理器節(jié)點分配不同的分布式節(jié)點服務管理角色。例如,如在下面更詳細解釋的,在一些操作模式中,可以根據(jù)當前的操作模式給處理器節(jié)點分配不同的操作角色,包括例如主激活角色、備用角色和成員角色。而且,在錯誤狀態(tài)的情況下,分布式節(jié)點服務管理系統(tǒng)可以將分布式節(jié)點服務管理功能從一個處理器節(jié)點故障轉(zhuǎn)移(failover)到另一個處理器節(jié)點,同時處理器節(jié)點的主要數(shù)據(jù)處理功能保持在線,并且不由于分布式節(jié)點服務管理系統(tǒng)的處理器節(jié)點的操作角色的改變而中斷。
[0047]在圖2的例子中,分布式計算系統(tǒng)200包括具有兩個服務器(服務器210和服務器212)的集群202,每個服務器可以包括在執(zhí)行系統(tǒng)任務時彼此共享資源和協(xié)作的一個或多個處理器節(jié)點220。雖然在該說明性實施例中示出了一個集群202和兩個服務器210、212,但是應當理解,根據(jù)特定應用,分布式計算系統(tǒng)200可以具有更少或更多數(shù)目的集群和服務器。
[0048]每個服務器210、212可以具有一個或多個中央處理單元(CPU),其中服務器的處理、存儲器及其它資源可被分配到邏輯分區(qū)(partition)(通常被稱為“虛擬服務器”)中,每個虛擬服務器能夠運行操作系統(tǒng)的單個拷貝并且執(zhí)行“服務器”的服務功能。因此,如本文中使用的,術語“服務器”可用于指物理服務器或者執(zhí)行服務器功能的邏輯分區(qū)或虛擬服務器。
[0049]每個處理器節(jié)點220典型地包括具有運行操作系統(tǒng)的單個拷貝的處理器和存儲器資源的虛擬或物理服務器。因此,每個處理器節(jié)點220能夠獨立地執(zhí)行數(shù)據(jù)處理功能以及分配給該處理器節(jié)點的分布式節(jié)點服務管理功能。
[0050]服務器可以具有多個I/O適配器,包括例如通過交換機(諸如PCIe交換機)接入的主機和裝置適配器。為了提高效率,通常希望在集群的服務器之間共享I/o適配器。因此,裝置適配器例如可作為“虛擬”裝置適配器被共享。服務器典型地在一種“構(gòu)造”上與裝置適配器及其它I/o適配器通信,所述“構(gòu)造”可以包括提供服務器和適配器之間的通信路徑的一個或多個接口。
[0051]在示出的實施例中,服務器210和服務器212中的每一個被示出為例如具有兩個處理器節(jié)點220。應當理解,根據(jù)特定應用,每個服務器210、212中的處理器節(jié)點220的數(shù)目可以改變。
[0052]服務中心201的服務技術人員240或其它操作員可以使用根據(jù)本描述的分布式節(jié)點服務管理系統(tǒng)來訪問服務器210、212的處理器節(jié)點220,該分布式節(jié)點服務管理系統(tǒng)包括運行分布式計算系統(tǒng)200的一個或多個處理器節(jié)點220的管理系統(tǒng)程序或其它軟件。與分布式節(jié)點服務管理系統(tǒng)兼容的額外軟件(諸如web瀏覽器)例如運行在服務中心201的工作站242上,工作站242可被遠程定位或可以與分布式計算系統(tǒng)200的一個或多個組件處于相同的地點。通信路徑248互連分布式計算系統(tǒng)200的各個處理器節(jié)點220以及工作站242。通信路徑248可以是例如以太網(wǎng)的一部分,使得每個處理器節(jié)點220具有單獨的網(wǎng)絡(網(wǎng)際協(xié)議)地址。根據(jù)特定應用,可以利用其它類型的網(wǎng)絡或其它通信路徑,諸如調(diào)制解調(diào)器電話路徑、無線網(wǎng)絡等等。
[0053]在示出的實施例中,服務技術人員240可以登錄服務器210、212的第一處理器節(jié)點220,例如,以便監(jiān)視該特定處理器節(jié)點。服務技術人員可以例如響應于收到來自分布式計算系統(tǒng)200的處理器節(jié)點220的通報請求而登錄處理器節(jié)點??商鎿Q地,服務技術人員可以登錄特定處理器節(jié)點以便例如作為預定維修或其它操作的一部分監(jiān)視該處理器節(jié)點的操作。
[0054]在示出的實施例中,分布式計算系統(tǒng)200可以包括例如虛擬帶庫,虛擬帶庫對于運行在一個或多個主機250上的應用來說看似一個自動帶庫。因此,分布式計算系統(tǒng)200可以包括例如虛擬帶庫,諸如用于System z的IBM System Storage TS7650ProtecTIERDeduplication Gateway。應當理解,例如,根據(jù)本描述的分布式計算系統(tǒng)可以具有其它主要數(shù)據(jù)處理應用,諸如存儲控制器。分布式計算系統(tǒng)200還可以提供例如額外數(shù)據(jù)處理功能,諸如網(wǎng)絡協(xié)議,例如常見互聯(lián)網(wǎng)文件系統(tǒng)(CIFS)網(wǎng)絡協(xié)議,其也被稱為服務器消息塊(SMB)協(xié)議。該協(xié)議的常見用途是在局域網(wǎng)(LAN)上提供文件共享。使用該協(xié)議,客戶端可以操縱存儲在遠程服務器上的文件,好像這些文件存儲在本地計算機上一樣。文件操縱包括例如諸如讀、寫、創(chuàng)建、刪除和改名之類的操作。分布式計算系統(tǒng)200提供的其它數(shù)據(jù)處理功能可以包括例如與其它備份系統(tǒng)(諸如Netbackup Open Storage (OST))的接口。根據(jù)特定應用,可以實現(xiàn)其它分布式計算系統(tǒng)。典型設施中的IBM System Storage TS7650GProtecTIER Deduplication Gateway具有包括兩個物理服務器的單個集群,每個物理服務器具有處理器節(jié)點。
[0055]TS7650G的服務器允許運行在主機上的磁存儲帶處理應用訪問虛擬機器人以移動虛擬盒帶,雖然服務器實際上將數(shù)據(jù)存儲在由一個或多個盤存儲裝置260表示的存儲構(gòu)造(storage fabric)的一個或多個虛擬卷上。所述存儲構(gòu)造包括存儲構(gòu)造的存儲裝置260和服務器210、212之間的適合的通信路徑270。所述存儲構(gòu)造可以包括適合的交換機和其他
構(gòu)造裝置。
[0056]主機250通過網(wǎng)絡構(gòu)造的通信路徑276耦連到分布式計算系統(tǒng)200。該網(wǎng)絡構(gòu)造可以類似地包括適合的交換機和其它構(gòu)造通信裝置。
[0057]在示出的實施例中,服務器210、212提供耦連到主機250的通信路徑276和存儲構(gòu)造的存儲裝置260與服務器210、212之間的通信路徑270之間的接口。因此,到主機250的通信路徑可以例如基于特定的主機連接協(xié)議,(諸如FIC0N),并且通信路徑270可以基于例如光纖通道協(xié)議。應當理解,根據(jù)特定應用,可以利用其它通信路徑協(xié)議。
[0058]圖3示出了分布式計算系統(tǒng)200的處理器節(jié)點220的一個實施例。處理器節(jié)點220可以包括任意適合的計算裝置,諸如大型機、服務器、個人計算機、膝上計算機、手持式計算機、電話裝置、網(wǎng)絡設備、虛擬化裝置、存儲控制器等等。處理器節(jié)點220可以包括處理器302 (例如,微處理器)、存儲器304 (例如,易失性存儲器裝置)和存儲306 (例如,非易失性存儲,諸如磁盤驅(qū)動器、光盤驅(qū)動器、磁帶驅(qū)動器、閃存存儲等等)。存儲306可以包括內(nèi)部存儲裝置或者附連的或可通過網(wǎng)絡訪問的存儲。如以操作系統(tǒng)310和程序312表示的,存儲306中的程序被裝入存儲器304,并且由處理器302執(zhí)行。處理器節(jié)點220還包括網(wǎng)絡控制器或適配器316,以便使得能夠與諸如網(wǎng)絡248(圖2)之類的網(wǎng)絡(諸如互連分布式計算系統(tǒng)200的處理器節(jié)點的以太網(wǎng)、光纖通道仲裁環(huán)等等)通信。網(wǎng)絡控制器或適配器316還可以使得能夠與到主機250的網(wǎng)絡路徑276或與到存儲260的網(wǎng)絡路徑270通信。
[0059]用戶輸入裝置320給處理器302提供用戶輸入,并且可以包括鍵盤、鼠標、輸入筆、麥克風、觸敏顯示屏、或任意其它適合的激活或輸入機構(gòu)。輸出裝置322能夠呈現(xiàn)從處理器302或其它組件(諸如顯示監(jiān)視器、打印機、存儲等等)傳輸?shù)男畔?。在一些應用中,輸入裝置320和輸出裝置322可使用適合的KVM(鍵盤、視頻、鼠標)交換機330直接耦連到處理器節(jié)點。
[0060]在一個實施例中,分布式計算系統(tǒng)200的每一個服務器210、212的處理器節(jié)點220執(zhí)行主要數(shù)據(jù)處理功能,諸如虛擬帶庫的功能,諸如IBM System StorageTS7650ProtecTIER Deduplication Gateway。因此,存儲器304中包括的是例如用于執(zhí)行數(shù)據(jù)處理功能(諸如虛擬帶庫功能)的適合的數(shù)據(jù)處理編程350。應當理解,分布式計算系統(tǒng)的處理器節(jié)點220可以執(zhí)行其它數(shù)據(jù)處理功能,例如,諸如磁盤陣列中的數(shù)據(jù)存儲和管理。因此,處理器節(jié)點220可以執(zhí)行數(shù)據(jù)處理任務,諸如數(shù)據(jù)備份、重復數(shù)據(jù)刪除、數(shù)據(jù)挖掘、數(shù)據(jù)獲取、數(shù)據(jù)歸檔、數(shù)據(jù)復制、帶寬縮減數(shù)據(jù)復制、數(shù)據(jù)加密等等,并且典型地涉及主機250和存儲260之間的大量數(shù)據(jù)的傳送。
[0061]根據(jù)本描述,每個處理器節(jié)點220還具有分布式節(jié)點服務管理編程360,其可以共享特定處理器節(jié)點220的硬件和軟件資源中的一些或全部。如下面更詳細解釋的,運行分布式節(jié)點服務管理編程360中的一個或多個這種處理器節(jié)點220可以用作例如“服務代理”,以便代表分布式計算系統(tǒng)200的其它處理器節(jié)點提供主要分布式節(jié)點服務管理功能,包括為多個處理器節(jié)點220提供遠程支持中心連接、以及為多個處理器節(jié)點220向遠程支持中心轉(zhuǎn)發(fā)錯誤通知或其它服務通知。如下面更詳細解釋的,處理器節(jié)點220可以執(zhí)行分布式節(jié)點服務管理系統(tǒng)中的其它分布式節(jié)點服務管理角色。[0062]因為編程360提供的分布式節(jié)點服務管理功能可以與數(shù)據(jù)處理編程350提供的主要數(shù)據(jù)處理功能共享特定處理器節(jié)點220的硬件和軟件資源,所以根據(jù)本描述的分布式節(jié)點服務管理可以減少或消除外部服務器或服務控制臺的使用以便提供集中服務點。另外,可以針對單點故障提供保護。例如并且如下面更詳細解釋的,用戶可以選擇性地配置分布式節(jié)點服務管理系統(tǒng),以便在處理器節(jié)點故障的情況下自動重新分配分布式節(jié)點服務管理服務冗余。
[0063]每個處理器節(jié)點還可以具有一個或多個分布式節(jié)點服務管理隊列370,包括外出隊列和進入隊列,分別用于在處理器節(jié)點220之間發(fā)送服務相關消息和接收服務相關消息。這種服務相關消息的例子包括服務通知,包括錯誤通知、通報請求和通報包。
[0064]并且,每個處理器節(jié)點220可以具有數(shù)據(jù)結(jié)構(gòu)380,用于存儲分布式節(jié)點服務管理信息的本地拷貝。這種信息的例子可以包括分布式節(jié)點服務管理系統(tǒng)的操作模式的標識、分布式節(jié)點服務管理系統(tǒng)中的每個處理器節(jié)點的網(wǎng)絡地址、以及每個處理器節(jié)點正在標識出的分布式節(jié)點服務管理操作模式內(nèi)執(zhí)行的角色。根據(jù)特定應用,可以包括其它信息。
[0065]在本描述的一個方面,用于執(zhí)行數(shù)據(jù)處理功能(諸如帶庫功能)的數(shù)據(jù)處理編程350例如基本上獨立于分布式節(jié)點服務管理編程360操作,分布式節(jié)點服務管理編程360代表分布式計算系統(tǒng)200的一個或多個處理器節(jié)點提供分布式節(jié)點服務管理功能。因此,例如,特定處理器節(jié)點220處的數(shù)據(jù)處理編程350提供的數(shù)據(jù)處理功能中的軟件故障或關閉可以不干擾相同處理器節(jié)點220處的分布式節(jié)點服務管理功能。相反地,特定處理器節(jié)點處的分布式節(jié)點服務管理功能中的軟件故障或關閉可以不干擾相同處理器節(jié)點220處的數(shù)據(jù)處理編程350提供的數(shù)據(jù)處理功能。數(shù)據(jù)處理功能和分布式節(jié)點服務管理功能兩者將獨立于另一方中的故障或關閉而繼續(xù)操作,只要該故障或關閉不涉及該處理器節(jié)點處的數(shù)據(jù)處理功能和分布式節(jié)點服務管理功能兩者所需的硬件或軟件。
[0066]圖4示出根據(jù)本描述的一個實施例的用于分布式節(jié)點服務管理的操作的一個示例。在第一操作中,選擇處理器節(jié)點(方框410)以便執(zhí)行分布式節(jié)點服務管理,例如,諸如服務代理功能。在一個實施例中,可由用戶手工地選擇處理器節(jié)點。在另一個實施例,可以自動選擇處理器節(jié)點。如下面更詳細解釋的,根據(jù)本描述的一個方面的分布式節(jié)點服務管理可以具有可以影響選擇處理器節(jié)點的方式的各種配置和操作模式。
[0067]正如前面提到的那樣,可以獨立于所選擇的處理器節(jié)點處的分布式節(jié)點服務管理,在所選擇的處理器節(jié)點處執(zhí)行(方框414)數(shù)據(jù)處理編程350提供的數(shù)據(jù)處理功能(諸如數(shù)據(jù)存儲功能)。因此,在另一個操作中,做出關于是否在特定處理器節(jié)點處選擇了分布式節(jié)點服務管理角色(方框416)的確定。如果沒有選擇分布式節(jié)點服務管理角色,可以繼續(xù)在該特定處理器節(jié)點處執(zhí)行數(shù)據(jù)處理編程350提供的數(shù)據(jù)存儲功能(方框414),而不在分布式計算系統(tǒng)的該處理器節(jié)點處同時執(zhí)行分布式節(jié)點服務管理。
[0068]如果在該特定處理器節(jié)點處選擇了分布式節(jié)點服務管理角色(方框416),那么做出關于所選擇的分布式節(jié)點服務管理角色是否是新選擇的確定(方框418)。如果是,那么針對新選擇的分布式節(jié)點服務管理角色配置(方框420)選擇的處理器節(jié)點,并且可以開始分布式節(jié)點服務管理。
[0069]可以獨立于選擇的處理器節(jié)點處的分布式節(jié)點服務管理,在選擇的節(jié)點處繼續(xù)執(zhí)行(方框422)數(shù)據(jù)處理編程350提供的數(shù)據(jù)處理功能(諸如數(shù)據(jù)存儲功能)。在處理器節(jié)點處執(zhí)行分布式節(jié)點服務管理時,該特定處理器節(jié)點可以接收(方框424)分布式節(jié)點服務管理請求。在本描述的一個方面,分布式節(jié)點服務管理可以利用選擇的處理器節(jié)點以用作用于代表分布式節(jié)點服務管理系統(tǒng)的其它處理器節(jié)點執(zhí)行分布式節(jié)點服務管理的服務代理。因此,分布式節(jié)點服務管理系統(tǒng)中的服務代理節(jié)點可以協(xié)調(diào)和管理代表分布式節(jié)點服務管理系統(tǒng)的其它處理器節(jié)點向遠程支持中心(諸如遠程支持中心201)發(fā)送錯誤或其它服務通知。其它服務請求可以涉及其它服務代理功能,包括提供對分布式計算系統(tǒng)的計算裝置的遠程訪問、監(jiān)視分布式計算系統(tǒng)的計算裝置和相關網(wǎng)絡基礎設施的健康、以及提供對分布式計算系統(tǒng)的計算裝置的本地訪問。
[0070]在本描述的另一個方面,分布式節(jié)點服務管理可以利用選擇的處理器節(jié)點來提供服務以代表分布式節(jié)點服務管理系統(tǒng)的該特定處理器節(jié)點在本地執(zhí)行分布式節(jié)點服務管理。因此,分布式節(jié)點服務管理系統(tǒng)中的處理器節(jié)點可以協(xié)調(diào)和管理代表分布式計算系統(tǒng)的該處理器節(jié)點向遠程支持中心(諸如遠程支持中心201)發(fā)送錯誤通知。其它服務請求可以涉及其它服務功能,包括提供對分布式計算系統(tǒng)的該特定處理器節(jié)點的遠程訪問、監(jiān)視分布式計算系統(tǒng)的該特定處理器節(jié)點和相關網(wǎng)絡基礎設施的健康、以及提供對分布式計算系統(tǒng)的該特定處理器節(jié)點的本地訪問。
[0071]因此,可以在特定處理器節(jié)點中本地產(chǎn)生分布式節(jié)點服務管理請求以便由該特定處理器節(jié)點響應,或者可以由特定處理器節(jié)點產(chǎn)生分布式節(jié)點服務管理請求以便發(fā)送到分布式計算系統(tǒng)的不同處理器節(jié)點來處理。并且,可由遠程服務中心或由本地用戶產(chǎn)生分布式節(jié)點服務管理請求。根據(jù)特定應用,還可以提供與其它服務功能有關的服務請求。
[0072]響應于服務請求(方框424),進行在選擇的處理器節(jié)點處執(zhí)行適當?shù)姆植际焦?jié)點服務管理任務或多個任務的嘗試(方框430)。在執(zhí)行該任務時在選擇的處理器節(jié)點處分布式節(jié)點服務管理系統(tǒng)失敗(方框440)的情況下,可以選擇(方框410)、配置(方框420)另一個處理器節(jié)點,并響應于分布式節(jié)點服務管理請求(方框424),進行在該下一個選擇的處理器節(jié)點處而不是原來選擇的處理器節(jié)點處執(zhí)行適當?shù)姆植际焦?jié)點服務管理任務或多個任務的另一個嘗試(方框430)。
[0073]在原來選擇的處理器節(jié)點處沒有失敗的情況下,在選擇的分布式節(jié)點服務管理角色中恢復原來選擇的處理器節(jié)點處的分布式節(jié)點服務管理,從而等待(方框424)下一個分布式節(jié)點服務請求。然而,在原來選擇的處理器節(jié)點處分布式節(jié)點服務管理失敗(方框440)的情況下,可以在不同的分布式節(jié)點服務管理角色中再次選擇(方框410)并配置(方框420)原來的處理器節(jié)點,所述不同的分布式節(jié)點服務管理角色可能不太可能出于與原來選擇的角色可能失敗的原因相同的原因而失敗。例如,如果失敗與不能聯(lián)系遠程服務中心有關,那么可以在該處理器節(jié)點處成功地執(zhí)行與聯(lián)系遠程服務中心無關的角色中的分布式節(jié)點管理服務。
[0074]正如前面提到的那樣,根據(jù)本描述的一個方面的分布式節(jié)點服務管理可以具有可以影響選擇處理器節(jié)點的方式的各種操作模式。此處被稱為“激活一備用”模式的這樣一種模式允許用戶配置處理器節(jié)點220中的一個作為主激活節(jié)點,并且配置一個或多個其它激活節(jié)點220作為備用處理器節(jié)點。處理器節(jié)點220的主激活節(jié)點可以執(zhí)行服務代理類分布式節(jié)點服務管理功能,包括協(xié)調(diào)和管理向遠程支持中心(諸如遠程支持中心201)發(fā)送錯誤及其它服務通知??梢杂芍骷せ罟?jié)點執(zhí)行的其它服務功能包括提供對分布式計算系統(tǒng)的計算裝置的遠程訪問、監(jiān)視分布式計算系統(tǒng)的計算裝置和相關網(wǎng)絡基礎設施的健康、以及提供對分布式計算系統(tǒng)的計算裝置的本地訪問。根據(jù)特定應用,還可由主激活節(jié)點提供其它服務功能。
[0075]在執(zhí)行分布式節(jié)點服務管理功能(諸如向服務中心發(fā)送通報包)時主激活節(jié)點遇到錯誤(方框440)的情況下,根據(jù)用戶的配置設置或默認配置,分布式節(jié)點服務管理的一個或多個服務代理功能可以故障轉(zhuǎn)移到備用節(jié)點以便由該備用節(jié)點執(zhí)行。在故障轉(zhuǎn)移操作完成之后,作為故障轉(zhuǎn)移操作的目標的備用節(jié)點被重新指定為替代主激活節(jié)點,用于經(jīng)受了故障轉(zhuǎn)移操作的那些服務功能。因此,替代主激活節(jié)點可以執(zhí)行一個或多個服務代理分布式節(jié)點服務管理功能,包括協(xié)調(diào)和管理向遠程支持中心(諸如遠程支持中心201)發(fā)送錯誤及其它服務通知、提供對分布式計算系統(tǒng)的計算裝置的遠程訪問、監(jiān)視分布式計算系統(tǒng)的計算裝置和相關網(wǎng)絡基礎設施的健康、以及提供對分布式計算系統(tǒng)的計算裝置的本地訪問。
[0076]故障轉(zhuǎn)移操作可被用戶配置為在檢測到錯誤之后自動發(fā)生,或可以被配置為由用戶手工地執(zhí)行。分布式節(jié)點服務管理可被配置為自動選擇(方框410)備用處理器節(jié)點作為故障轉(zhuǎn)移操作的目標,或可被配置為用戶手動選擇備用節(jié)點作為故障轉(zhuǎn)移目標。可由用戶事先指定用于自動選擇的作為故障轉(zhuǎn)移目標備用節(jié)點的適當候選。被選擇(方框410)為故障轉(zhuǎn)移操作的目標的備用節(jié)點被配置(方框420)為替代主激活節(jié)點,用于經(jīng)受了故障轉(zhuǎn)移操作的那些服務代理功能。
[0077]在替代主激活節(jié)點隨后也在執(zhí)行服務代理分布式節(jié)點服務管理功能(諸如向服務中心發(fā)送通報包)時遇到錯誤(方框440)的情況下,根據(jù)用戶的配置設置,分布式節(jié)點服務管理可以故障轉(zhuǎn)移到再一個備用節(jié)點,以便執(zhí)行一個或多個服務代理分布式節(jié)點服務管理功能,諸如協(xié)調(diào)和發(fā)送通報包。在遇到后續(xù)額外的失敗時可重復該處理,直到根據(jù)用戶配置的服務策略,系統(tǒng)中的所有備用節(jié)點已被耗盡為止。因此,分布式節(jié)點服務管理系統(tǒng)以串行方式協(xié)調(diào)到額外備用節(jié)點的故障轉(zhuǎn)移,這可以限制網(wǎng)絡上的外出連接。
[0078]在本描述的另一個方面,分布式節(jié)點服務管理可以包括用戶可以選擇的此處被稱為“激活一分布式備用”模式的操作模式。在激活一分布式備用模式中,主激活節(jié)點可被最初選擇(方框410),并被配置(方框420)為執(zhí)行與上面描述的激活一備用模式中的主激活節(jié)點所執(zhí)行的分布式節(jié)點服務管理的服務代理功能相同的服務代理功能。然而,在失敗(方框440)的情況下,分布式計算系統(tǒng)的每個備用節(jié)點可被選擇(方框410),并被配置(方框420)為在本地的基礎上執(zhí)行(方框430)它們自己的分布式節(jié)點服務管理功能,包括管理為該特定備用節(jié)點向遠程支持中心發(fā)送錯誤及其它服務通知、提供對分布式計算系統(tǒng)的該特定備用節(jié)點的遠程訪問、監(jiān)視分布式計算系統(tǒng)的該特定備用節(jié)點的健康、以及提供對分布式計算系統(tǒng)的該特定備用節(jié)點的本地訪問。因此,在激活-分布式備用模式中,在主激活節(jié)點失敗的情況下,每個備用節(jié)點可被配置為執(zhí)行分布式節(jié)點服務管理功能的本地服務功能,而不是如激活-備用模式中那樣由服務代理(諸如替代主激活節(jié)點)執(zhí)行。
[0079]在本描述的另一個方面,根據(jù)本描述的一個實施例的分布式節(jié)點服務管理可以包括用戶可以選擇的此處被稱為“全分布式”模式的另一個操作模式。在全分布式模式中,分布式計算系統(tǒng)的每個備用節(jié)點可被選擇(方框410),并被配置(方框420)為執(zhí)行(方框430)它們自己的分布式節(jié)點服務管理功能,而沒有服務代理節(jié)點。因此,在全分布式模式中,分布式計算系統(tǒng)的每個備用節(jié)點可被選擇(方框410),并被配置(方框420)為執(zhí)行(方框430)它們自己的分布式節(jié)點服務管理功能,包括在沒有服務代理的服務的情況下,管理為該特定備用節(jié)點向遠程支持中心發(fā)送錯誤及其它服務通知、提供對分布式計算系統(tǒng)的該特定備用節(jié)點的遠程訪問、監(jiān)視分布式計算系統(tǒng)的該特定備用節(jié)點的健康、以及提供對分布式計算系統(tǒng)的該特定備用節(jié)點的本地訪問。因此,在全分布式模式中,不利用主激活節(jié)點為分布式計算系統(tǒng)的所有處理器節(jié)點執(zhí)行服務代理分布式節(jié)點服務管理功能。而是,在全分布式模式中,每個備用節(jié)點可被配置為,在沒有如激活一備用模式和激活一分布式備用模式中那樣由主激活節(jié)點提供的服務代理的服務的情況下,執(zhí)行它自己的分布式節(jié)點服務管理功能。
[0080]在本描述的再一個方面,根據(jù)本描述的一個實施例的分布式節(jié)點服務管理可以包括此處被稱為“服務聚集”模式的另一個可用操作模式。在服務聚集模式中,兩個或更多處理器節(jié)點被選擇(方框410),并被配置(方框420)為同時承擔主激活節(jié)點的角色和職責。因此,在服務聚集模式中,所有主激活節(jié)點在這些主激活節(jié)點之間并且代表分布式計算系統(tǒng)的其它處理器節(jié)點協(xié)調(diào)和平衡服務代理分布式節(jié)點服務管理功能的負載。
[0081]可以在主激活節(jié)點之間分配服務代理分布式節(jié)點服務管理功能的負載的方式可以根據(jù)特定應用而改變。例如,代表特定處理器節(jié)點起作用的職責可被指定到特定主激活節(jié)點。另外,服務代理分布式節(jié)點服務管理功能可根據(jù)每個主激活節(jié)點在特定時刻的工作負荷從一個主激活節(jié)點轉(zhuǎn)移到另一個主激活節(jié)點。在一些情況下,大的錯誤或其它服務通知包(諸如通報包)可被再分并且卸載到多于一個主激活節(jié)點以便轉(zhuǎn)送到遠程支持中心。
[0082]在主激活節(jié)點失敗(方框440)的情況下,一個或多個其它主激活節(jié)點可以完全承擔失敗的主激活節(jié)點的服務代理分布式節(jié)點服務管理職責。因此,在主激活節(jié)點失敗(方框440)的情況下,一個或多個其它主激活節(jié)點可以被選擇(方框410),并被配置(方框420)為執(zhí)行(方框430)由選擇的主激活節(jié)點已經(jīng)執(zhí)行的功能之外的服務代理分布式節(jié)點服務管理功能的額外份額。
[0083]在本描述的又一個方面,根據(jù)本描述的一個實施例的分布式節(jié)點服務管理可以包括此處被稱為“健康檢查”模式的用于分布式節(jié)點服務管理的再一個可用操作模式。在健康檢查模式中,分布式節(jié)點服務管理根據(jù)選擇的模式監(jiān)視分布式計算系統(tǒng)的處理器節(jié)點(包括任意主激活節(jié)點、備用節(jié)點或全分布式主激活節(jié)點),以便識別各種錯誤(包括軟件、硬件和網(wǎng)絡錯誤)。另外,健康檢查模式可以有助于保持一致的主激活和備用節(jié)點狀態(tài)。
[0084]圖5示出根據(jù)本描述的一個實施例的用于分布式節(jié)點服務管理的操作的另一個例子。正如前面提到的那樣,每個處理器節(jié)點220的數(shù)據(jù)處理編程350提供的數(shù)據(jù)處理功能(諸如數(shù)據(jù)存儲功能)可在分布式計算系統(tǒng)的多個處理器節(jié)點220處被執(zhí)行(方框508)。在分布式計算系統(tǒng)中,做出關于是否選擇了分布式節(jié)點服務管理的模式的確定(方框510)。正如前面提到的那樣,可在一個實施例中使用的分布式節(jié)點服務管理的各種模式包括激活一備用模式、激活-分布式備用模式、全分布式模式、服務聚集模式和健康檢查模式。應當理解,除了這些模式之外或取代此處明確說明的模式,根據(jù)特定應用,還可以利用其它模式。
[0085]在一個實施例中,可由用戶手工選擇模式。在另一個實施例中,可以自動選擇模式。如果沒有選擇分布式節(jié)點服務管理模式,那么可以在分布式計算系統(tǒng)的多個處理器節(jié)點220處繼續(xù)執(zhí)行(方框508)每個處理器節(jié)點220的數(shù)據(jù)處理編程350提供的數(shù)據(jù)處理功能(諸如數(shù)據(jù)存儲功能),而不在分布式計算系統(tǒng)的多個處理器節(jié)點220處同時執(zhí)行分布式節(jié)點服務管理。如果選擇了分布式節(jié)點服務管理模式,那么做出關于該分布式節(jié)點服務管理模式是否是新選擇的確定(方框514)。如果是,可以針對選擇的模式中的分布式節(jié)點服務管理來配置(方框520)分布式計算系統(tǒng)的處理器節(jié)點220。然后可以在選擇的模式中執(zhí)行(方框530)分布式節(jié)點服務管理。
[0086]在本描述的另一個方面,用戶具有改變(方框514)所選擇的操作模式的選擇能力。因此,可以改變分布式計算系統(tǒng)中的狀況,使得不同的操作模式可能更為適合。例如,可以改變分布式計算系統(tǒng)中的處理器節(jié)點的數(shù)目,使得分布式節(jié)點服務管理的不同操作模式可能更為適合。如果是,分布式節(jié)點服務管理的不同模式被選擇(方框514),并針對分布式節(jié)點服務管理被配置(方框520)。然后,可以在新選擇的模式中執(zhí)行(方框530)分布式節(jié)點服務管理。
[0087]另外,可以周期地進入某些操作模式(諸如健康檢查模式)以便檢查分布式節(jié)點服務管理的健康。另外,例如,可以與其它操作模式(諸如激活一備用模式)同時進入某些操作模式(諸如健康檢查模式)。如果是,可以利用計時器例如以便確定何時進入健康檢查模式。
[0088]正如前面提到的那樣,激活-備用模式允許用戶配置一個處理器節(jié)點220作為主激活節(jié)點、以及一個或多個其它激活節(jié)點220作為備用節(jié)點??梢允止せ蜃詣舆M行該配置。處理器節(jié)點220的主激活節(jié)點執(zhí)行服務代理分布式節(jié)點服務管理功能,包括協(xié)調(diào)和管理向遠程支持中心(諸如遠程支持中心201)發(fā)送錯誤或其它服務通知。在主激活節(jié)點在執(zhí)行分布式節(jié)點服務管理功能(諸如向服務中心發(fā)送通報包)時遇到錯誤的情況下,根據(jù)用戶的配置設置,分布式節(jié)點服務管理的一個或多個服務代理功能可以故障轉(zhuǎn)移到備用節(jié)點以便由該備用節(jié)點執(zhí)行。
[0089]主激活節(jié)點代表作為分布式計算系統(tǒng)的成員的其它處理器節(jié)點執(zhí)行服務代理分布式節(jié)點服務管理功能。因此,當分布式節(jié)點服務管理在激活一備用模式中操作時,成員節(jié)點向主激活節(jié)點發(fā)送錯誤或其它服務通知,所述主激活節(jié)點協(xié)調(diào)成員節(jié)點的這些通知到遠程支持中心的卸載。
[0090]如果發(fā)生了錯誤以使得錯誤通知不能被卸載到遠程支持中心,那么可以調(diào)用節(jié)點故障轉(zhuǎn)移過程。在啟動故障轉(zhuǎn)移時,在分布式計算系統(tǒng)的所有成員節(jié)點之間傳遞并以其它方式協(xié)調(diào)成員節(jié)點的新狀態(tài),包括新的主激活節(jié)點的身份。
[0091]在一個實施例中,如果遇到錯誤的成員節(jié)點不能與主激活節(jié)點通信、但是處于包含一個或多個對等節(jié)點的集群中(這些對等節(jié)點不僅是相同集群中的激活節(jié)點,而且是分布式計算系統(tǒng)的成員),那么分布式節(jié)點服務管理的一個實施例提供有限的故障轉(zhuǎn)移,其允許集群中的對等成員節(jié)點代表最初遇到錯誤的處理器節(jié)點向主激活節(jié)點發(fā)送錯誤或其它服務通知??梢栽诩褐械膶Φ裙?jié)點之間使用代替的通信路徑或方法以便協(xié)調(diào)服務通知向分布式節(jié)點服務管理的主激活節(jié)點的發(fā)送。因此,可以在集群的對等成員節(jié)點能夠與主激活節(jié)點通信的情形下避免導致新的主激活節(jié)點的完整故障轉(zhuǎn)移操作。
[0092]然而,在一些狀況下,完整的故障轉(zhuǎn)移操作可能是適當?shù)?。如果是這樣,那么分布式節(jié)點服務管理可以在檢測到包括以下狀況的各種狀態(tài)時,請求一個或多個備用節(jié)點向支持中心發(fā)送錯誤通知,并啟動故障轉(zhuǎn)移操作,以使得備用代理服務器成為新的主激活節(jié)點:a)主激活節(jié)點能夠與遇到錯誤的成員節(jié)點通信,但是不能與遠程服務中心通信,b)遭遇失敗的成員節(jié)點不在集群內(nèi)(即,不具有作為分布式計算系統(tǒng)的成員節(jié)點的任意對等節(jié)點)并且不能與主激活節(jié)點通信,或c)遭遇失敗的成員節(jié)點在集群內(nèi)的集群對等成員節(jié)點不能與主代理服務器通信。
[0093]在本描述的另一個方面,在從主激活節(jié)點到備用節(jié)點的完整故障轉(zhuǎn)移狀況的情況下,或者在相同集群內(nèi)的對等節(jié)點之間的有限故障轉(zhuǎn)移的情況下,分布式節(jié)點服務管理可以被配置為進入健康檢查模式并周期地檢查分布式計算系統(tǒng)的成員節(jié)點的狀態(tài)。如果在這種健康檢查中確定最初配置的成員節(jié)點是健康的,那么該處理器節(jié)點可被重新配置為自動恢復到優(yōu)選的分布式節(jié)點服務管理系統(tǒng)配置。以這種方式,分布式節(jié)點服務管理可以表現(xiàn)出一定程度的自愈性。
[0094]圖6示出根據(jù)本描述的分布式計算系統(tǒng)600的另一個例子。分布式計算系統(tǒng)600可以是以圖2中的200指示的類型的分布式計算系統(tǒng),或者可以是根據(jù)特定應用的另一種類型的分布式計算系統(tǒng)。
[0095]在該實施例中,分布式計算系統(tǒng)600具有三個集群計算裝置:具有對等處理器節(jié)點604a、604b的集群602,具有對等處理器節(jié)點608a、608b的集群606,以及具有對等處理器節(jié)點612a、612b的集群610。另外,分布式計算系統(tǒng)600具有單個處理器節(jié)點計算裝置:具有在該例子中缺少對等節(jié)點的處理器節(jié)點616的計算機614。應當理解,根據(jù)特定應用,分布式計算系統(tǒng)600可以具有更多或更少的集群、更多或更少的單個處理器節(jié)點計算裝置、以及每個裝置中更多或更少的處理器節(jié)點。
[0096]處理器節(jié)點604a、604b、608a、608b、612a、612b和616可以類似于例如圖3中示出的處理器節(jié)點220,并且因此可以包括分布式節(jié)點服務管理的方面。然而,應當理解,處理器節(jié)點的軟件和硬件配置可以根據(jù)特定應用而改變。
[0097]在示出的實施例中,分布式計算系統(tǒng)600的分布式節(jié)點服務管理可以被配置為例如在激活-備用模式中操作。因此,集群602的處理器節(jié)點604a例如可被配置為分布式節(jié)點服務管理的主激活節(jié)點。另外,集群602的處理器節(jié)點604b例如可被配置為分布式節(jié)點服務管理的第一備用節(jié)點。
[0098]另外,集群606的處理器節(jié)點608a例如可被配置為分布式節(jié)點服務管理的第二備用節(jié)點。另外,集群606的處理器節(jié)點608b例如可被配置為分布式節(jié)點服務管理的成員節(jié)點。在這個例子中,集群610的處理器節(jié)點612a、612b兩者均被配置為了成員節(jié)點。類似地,計算機614的處理器節(jié)點616可被配置為成員節(jié)點。
[0099]分布式計算系統(tǒng)600還可以包括工作站634,工作站634例如在用戶網(wǎng)絡636上連接到計算裝置602、606、610、614中的每一個。適合的管理器程序(諸如ProtecTIERManager)例如可以運行在工作站634上,以便提供配置并且監(jiān)視對計算裝置602、606、610、614中的每一個的訪問。另外,可以為計算裝置602、606、610、614的處理器節(jié)點提供一個或多個鍵盤、視頻和監(jiān)視器(KVM)接口 640,以便提供本地訪問??梢酝ㄟ^適合的KVM交換機在計算裝置602、606、610、614的一個或多個處理器節(jié)點之間共享KVM接口 640。
[0100]在諸如集群602中發(fā)現(xiàn)的集群配置之類的集群配置中,兩個處理器節(jié)點604a、604b都是激活的(“激活-激活”),以便提供對相同數(shù)據(jù)集的訪問。類似地,集群606、610中的每一個的兩個處理器節(jié)點是激活-激活的,以便提供對相同數(shù)據(jù)集的訪問??梢允褂脙?nèi)部網(wǎng)絡650提供每個集群602、606、610的兩個處理器節(jié)點之間的通信。
[0101]在示出的實施例中,分布式計算系統(tǒng)600的分布式節(jié)點服務管理缺少單獨的服務控制臺。而是,配置為分布式節(jié)點服務管理的主激活節(jié)點的集群602的處理器節(jié)點604a提供用于具有多個計算裝置(諸如多個ProtecTIER系統(tǒng))的分布式計算系統(tǒng)的中心服務點。每個計算裝置602、606、610、614在內(nèi)部網(wǎng)絡660上具有連接,以便關于分布式節(jié)點服務管理彼此通信。配置為分布式節(jié)點服務管理系統(tǒng)的主激活節(jié)點的集群602的處理器節(jié)點604a具有連接到支持中心670的進入/外出連接664。可以在例如包括例如網(wǎng)絡636、防火墻672和互聯(lián)網(wǎng)674的寬帶以太網(wǎng)連接上形成這種連接664。集群602的主激活節(jié)點604a和第一備用節(jié)點604b還可以具有一個或多個額外連接676,其可以是例如到支持中心670的調(diào)制解調(diào)器連接。在到除了節(jié)點604a之外的目標備用節(jié)點的故障轉(zhuǎn)移的情況下,該目標備用節(jié)點可被配置為故障轉(zhuǎn)移操作的一部分,以便具有與原始主激活節(jié)點604a的外出連接相似的外出連接664。
[0102]在示出的實施例中,分布式計算網(wǎng)絡600的每個成員節(jié)點可以在數(shù)據(jù)結(jié)構(gòu)(諸如圖3的數(shù)據(jù)結(jié)構(gòu)380)中保持分布式節(jié)點服務管理的處理器節(jié)點的配置信息的本地拷貝。因此,每個處理器節(jié)點通過參考它的處理器節(jié)點配置信息的本地拷貝,可以確定每個處理器節(jié)點作為主激活、備用、成員、對等成員等等的分配角色。
[0103]分布式節(jié)點服務管理的集群602的主激活節(jié)點604a有助于遠程支持中心670到計算裝置602、606、610、614的處理器節(jié)點的訪問。相反地,主激活節(jié)點604a協(xié)調(diào)計算裝置602、606、610、614向遠程支持中心670轉(zhuǎn)發(fā)錯誤或其它服務通知。例如,如果集群610的成員節(jié)點612b遇到錯誤,那么它可以產(chǎn)生錯誤通知(諸如“通報包”)并且將該通報包發(fā)送到主激活節(jié)點604a,主激活節(jié)點604a又將該通報包轉(zhuǎn)發(fā)到遠程支持中心670。另外,支持中心670的服務人員可以使用分布式節(jié)點服務管理的主激活節(jié)點604a提供的資源來登錄計算裝置602、606、610、614的處理器節(jié)點。
[0104]現(xiàn)在將描述用于說明根據(jù)本描述的一個實施例的分布式節(jié)點服務管理的各個方面的情景。該情景開始于集群610的成員節(jié)點612b遇到問題,并且在集群610的處理器節(jié)點612b的隊列370中的外出請求隊列中對“通報”請求進行排隊。該通報請求是請求將錯誤或其它服務通知發(fā)送到服務中心670的消息。
[0105]集群610的成員節(jié)點612b將其排隊的通報請求標記為“處理中”,并且通過網(wǎng)絡660將該通報請求發(fā)送到主激活節(jié)點,在這個例子中,主激活節(jié)點是集群602的處理器節(jié)點604a。在該情景中,由于一些錯誤或其它狀況,集群610的成員節(jié)點612b不能接收及時響應,而是集群610的成員節(jié)點612b等待來自集群602的主激活節(jié)點604a的響應超時。可通過適合的計時器或其它定時處理來設置超時期限。
[0106]在等待響應的超時期限過期之后,集群610的成員節(jié)點612b確定它是集群(集群610)的一部分、以及其對等節(jié)點(集群610的處理器節(jié)點612a)在線(是激活的)并且也是分布式計算系統(tǒng)600的成員節(jié)點。因此,在這個實施例中,集群610的成員節(jié)點612b使用適合的網(wǎng)絡(諸如網(wǎng)絡650或網(wǎng)絡660)聯(lián)系集群610的對等成員節(jié)點612a,以便通過將通報請求放入集群610的對等節(jié)點612a進入請求隊列中來發(fā)送錯誤或其它服務通知。
[0107]作為響應,集群610的對等成員節(jié)點612a從其進入請求隊列獲得該通報請求消息,并且將其標記為處理中。另外,集群610的對等成員節(jié)點612a通過網(wǎng)絡660將通報請求發(fā)送到集群602的主激活節(jié)點604a。集群602的主激活節(jié)點604a在其進入請求隊列中接收該通報請求。
[0108]集群602的主激活節(jié)點604a從其進入請求隊列中去除該通報請求消息,并且嘗試通過網(wǎng)絡636和外出連接664將與該通報請求消息相關聯(lián)的通報包發(fā)送到服務中心670。在該情景中,集群602的主激活節(jié)點604a在它嘗試通過網(wǎng)絡636和外出連接664將通報包發(fā)送到服務中心670時失敗。
[0109]因此,集群602的主激活節(jié)點604a使用適合的網(wǎng)絡(諸如網(wǎng)絡650或網(wǎng)絡660)向集群610的對等成員節(jié)點612a發(fā)送失敗消息,以指示它不能將通報錯誤通知消息發(fā)送到支持中心670。
[0110]響應于接收到的失敗消息,集群610的對等成員節(jié)點612a從其進入請求隊列中去除通報請求,并且向集群610的成員節(jié)點612b通知該失敗。在示出的實施例中,集群610的對等成員節(jié)點612a通過更新通報請求消息中的標志并且將通報請求消息放入集群610的成員節(jié)點612b的進入請求隊列中,將該失敗通知集群610的成員節(jié)點612b。更新的標志向集群610的成員節(jié)點612b指示:集群610的對等成員節(jié)點612a可以與集群602的主激活節(jié)點604a通信,但是集群602的主激活節(jié)點604a不能將通報錯誤通知包發(fā)送到支持中心670。
[0111]響應于更新的標志,在示出的實施例中,集群610的成員節(jié)點612b基于由集群610的對等成員節(jié)點612a提供的更新的標志信息并且根據(jù)集群610的成員節(jié)點612b接收來自集群602的主激活節(jié)點604a的響應的初始失敗,產(chǎn)生兩個警告。在示出的實施例中,這些警告是:I)指示集群610的成員節(jié)點612b和集群602的主激活節(jié)點604a之間的鏈接無效(down)的警告,和2)指示集群602的主激活節(jié)點604a不能與外部支持中心670通信的警告。作為結(jié)果,支持中心670可以不僅解決導致原始通報請求的原始錯誤,而且解決上面描述并且在警告中提出的附屬問題。
[0112]另外,集群610的成員節(jié)點612b檢查其存儲在成員節(jié)點612b處的分布式節(jié)點配置信息的本地拷貝,并且確定集群602的處理器節(jié)點604b已被配置為第一備用節(jié)點。雖然主激活節(jié)點604a和第一備用節(jié)點604b在該情景中處于相同集群602中,但是應當理解,可以選擇在完全不同的集群中的處理器節(jié)點分別配置為主激活節(jié)點和第一備用節(jié)點。針對分布式計算系統(tǒng)的每個處理器節(jié)點的特定角色的選擇可以根據(jù)若干因素而改變,所述因素包括例如用戶的配置設置和處理器節(jié)點被添加到系統(tǒng)的順序。
[0113]識別出集群602的處理器節(jié)點604b被配置為第一備用節(jié)點,集群610的成員節(jié)點612b向集群602的第一備用節(jié)點604b發(fā)送通報請求。作為響應,集群602的第一備用節(jié)點604b從其進入請求隊列中去除該通報請求消息,并且嘗試通過網(wǎng)絡636和外出連接664向服務中心670發(fā)送通報消息。在該情景中,集群602的第一備用節(jié)點604b同樣在嘗試通過網(wǎng)絡636和外出連接664向服務中心670發(fā)送通報消息時失敗。
[0114]因此,集群602的第一備用節(jié)點604b通過網(wǎng)絡660向集群610的成員節(jié)點612b發(fā)送失敗消息。作為響應,集群610的成員節(jié)點612b產(chǎn)生再一個警告,以指示集群602的第一備用節(jié)點604b不能與外部支持中心670通信。另外,集群610的成員節(jié)點612b檢查它的分布式計算系統(tǒng)配置信息的本地拷貝,并且確定集群606的處理器節(jié)點608a已被配置為下一個備用節(jié)點。[0115]因此,集群610的成員節(jié)點612b將其外出消息隊列中的通報請求標記為正去向集群606的第二備用節(jié)點608a,并且通過網(wǎng)絡660將該通報請求發(fā)送到集群606的第二備用節(jié)點608a。作為響應,集群606的第二備用節(jié)點608a從其進入請求隊列中去除該通報請求消息,并且嘗試通過網(wǎng)絡636和外出連接664向服務中心670發(fā)送通報消息。在該情景中,如通過進入連接664和網(wǎng)絡636接收到來自服務中心的應答消息所指示的那樣,集群606的第二備用節(jié)點608a成功地發(fā)送該消息。
[0116]響應于從服務中心670接收到應答消息,集群606的第二備用節(jié)點608a通過網(wǎng)絡660向集群610的成員節(jié)點612b發(fā)送成功響應消息。響應于該成功響應消息,集群606的成員節(jié)點608a向分布式計算系統(tǒng)中的所有處理器節(jié)點廣播主代理節(jié)點狀態(tài)改變通知消息。另外,集群610的成員節(jié)點612b從其外出請求隊列中去除通報請求。
[0117]響應于該主代理節(jié)點狀態(tài)改變通知,每個處理器節(jié)點更新它的分布式節(jié)點服務管理配置信息的本地拷貝,以便指示集群606的第二備用節(jié)點608a現(xiàn)在是主激活節(jié)點。另外,一個或多個處理器節(jié)點可被配置為備用節(jié)點。
[0118]在替代實施例中,用戶可以可選擇地配置分布式節(jié)點服務管理,使得在成功到達遠程支持中心失敗的情況下,主激活節(jié)點嘗試通過替代的連接(諸如調(diào)制解調(diào)器676)向支持中心發(fā)送通報包或其它服務通知。例如,可以在分布式節(jié)點服務管理使得備用節(jié)點承擔服務代理的角色并且接管嘗試向支持中心發(fā)送服務通知之前,進行主激活節(jié)點在替代的連接上的嘗試。因此,在上面的情景中,集群602的主激活節(jié)點604a在嘗試通過網(wǎng)絡636和外出連接664向服務中心670發(fā)送通報包時失敗之后,可以再次試著在調(diào)制解調(diào)器連接676上而不是在網(wǎng)絡636和外出連接664上向服務中心670發(fā)送通報包。如果成功了,可以避免服務代理從主激活節(jié)點604a到備用節(jié)點的故障轉(zhuǎn)移。然而,主激活節(jié)點604a可以發(fā)出警告,以指示通過網(wǎng)絡636和外出連接664向服務中心670發(fā)送通報包失敗。如果不成功,集群602的主激活節(jié)點604a通過網(wǎng)絡660向集群610的對等成員節(jié)點612a發(fā)送失敗消息,以指示它不能向支持中心670發(fā)送通報服務通知消息,這如上所述那樣啟動服務代理從主激活節(jié)點604a到備用節(jié)點的故障轉(zhuǎn)移。
[0119]在上面描述的情景中,分布式節(jié)點服務管理被配置為了處于激活-備用模式中。在替代實施例中,分布式節(jié)點服務管理可被配置為處于激活-分布式備用模式中。在該替代情景中,與配置備用節(jié)點發(fā)送通報包相反,未成功請求主激活節(jié)點代表成員節(jié)點轉(zhuǎn)發(fā)通報包的該成員節(jié)點可以自己直接向支持中心發(fā)送通報包或其它服務通知。例如,在集群610的成員節(jié)點612b未能接收到及時響應、而是集群610的成員節(jié)點612b等待來自集群的主激活節(jié)點604a的響應超時的上述情景中,與請求另一個備用節(jié)點(諸如集群602的第一備用節(jié)點604b)發(fā)送通報相反,集群610的成員節(jié)點612b可以直接向支持中心發(fā)送通報包。這種布置提供集中并且統(tǒng)一的服務代理點,只要主激活節(jié)點恰當?shù)仄鹱饔眉纯?。然而,如果主激活?jié)點失敗,那么激活-分布式備用模式提供在分布式節(jié)點服務管理的故障轉(zhuǎn)移特性中的額外靈活性,以便應對不同的用戶需要。
[0120]在再一個實施例中,分布式計算系統(tǒng)600的分布式節(jié)點服務管理可被配置為例如在服務聚集模式中操作。因此,在替代情景中,集群602的處理器節(jié)點604a例如可被再次配置為分布式節(jié)點服務管理的主激活節(jié)點。然而,在該替代情景中,集群602的處理器節(jié)點604b例如可被配置為成員節(jié)點而不是分布式節(jié)點服務管理的第一備用節(jié)點。[0121]另外,集群606的處理器節(jié)點608a例如可被配置為分布式節(jié)點服務管理的主激活節(jié)點。另外,集群606的處理器節(jié)點608b例如可被配置為分布式節(jié)點服務管理的成員節(jié)點。在這個例子中,集群610的處理器節(jié)點612a、612b兩者均被配置為了成員節(jié)點。類似地,計算機614的處理器節(jié)點616可被配置為成員節(jié)點。
[0122]在該替代情景中,集群610的成員節(jié)點612b遇到問題,并且將錯誤或其它服務通知放入隊列,該通知包括包含要被轉(zhuǎn)發(fā)到遠程支持中心670的存儲器內(nèi)容更新的通報包,該存儲器內(nèi)容更新的大小為幾百兆字節(jié)。另外,集群610的成員節(jié)點612b將其本地外出請求隊列中的通報請求標記為正在進行中,并且通過網(wǎng)絡660將該通報請求發(fā)送到集群602的主激活節(jié)點604a。
[0123]集群602的主激活節(jié)點604a與集群606的主激活節(jié)點608a協(xié)調(diào),以便確定哪個處理器節(jié)點最適合為該通報請求服務并且將該通報包卸載即轉(zhuǎn)發(fā)到服務中心。根據(jù)本描述的一個方面,在確定最適合執(zhí)行到服務中心的消息卸載的處理器節(jié)點時可以考慮各種因素。在示出的實施例中,考慮的因素包括每個候選處理器節(jié)點在a)主機輸入/輸出活動、
b)數(shù)據(jù)處理活動(諸如數(shù)據(jù)復制、重復數(shù)據(jù)刪除、數(shù)據(jù)備份等等)、c)存儲活動(包括盤和帶活動)、以及d)進行中的其它服務代理相關任務(諸如遠程訪問、額外通報服務通知、隊列深度等等)中的牽涉級別。在確定處理通報包的適當處理器節(jié)點時考慮的額外因素包括a)卸載的通報包的大小、b)卸載通報包的估計的時間或數(shù)據(jù)速率、以及c)候選處理器節(jié)點的(PU利用率。應當理解,根據(jù)特定應用,可以考慮其它因素。
[0124]在該替代情景中,在考慮上述因素之后,分布式節(jié)點服務管理確定集群606的主激活節(jié)點608a最適合處理通報服務通知卸載到遠程支持中心。因此,集群602的主激活節(jié)點604a對于集群610的成員節(jié)點612b做出響應以表明該通報請求應當被路由到集群606的主激活節(jié)點608a。
[0125]作為響應,集群610的成員節(jié)點612b將該通報請求發(fā)送到集群606的主激活節(jié)點608a。為了防止對于相同通報服務通知的進一步協(xié)調(diào)并且防止兩個主節(jié)點都表明另一個處理器節(jié)點應當處理該請求的乒乓效應,每個主節(jié)點通過檢查協(xié)商標識信息來跟蹤經(jīng)協(xié)商/協(xié)調(diào)的請求。例如,當集群606的主激活節(jié)點608a接收到通報服務通知請求時,它檢查與該請求相關聯(lián)的協(xié)商標識信息,并且確定該請求已經(jīng)經(jīng)過協(xié)商并且主激活節(jié)點608a需要為該請求提供服務。因為主節(jié)點利用率可能是動態(tài)的并且隨時間波動,所以可以在協(xié)商時根據(jù)主激活節(jié)點的相應利用率來選擇不同的主激活節(jié)點。
[0126]響應于接收到通報請求,集群606的主激活節(jié)點608a從其進入請求隊列中去除該消息,并且嘗試通過網(wǎng)絡636和外出連接664將該通報包發(fā)送到服務中心。在該情景中,集群606的主激活節(jié)點608a成功,并且通過進入連接664和網(wǎng)絡636從服務中心得到成功應答消息。另外,集群606的主激活節(jié)點608a通過網(wǎng)絡660向集群610的成員節(jié)點612b發(fā)送成功響應消息。作為響應,集群610的成員節(jié)點612b從其本地外出請求隊列中去除通報請求。因此,可以實現(xiàn)一種推送(push)方法,其中主節(jié)點協(xié)調(diào)哪個處理器節(jié)點最適合為請求提供服務,以便在主節(jié)點失敗的情況下有助于故障轉(zhuǎn)移。
[0127]在再一個實施例中,可以配置分布式計算系統(tǒng)600的分布式節(jié)點服務管理以使分布式節(jié)點服務管理例如在健康檢查模式中操作。因此,在替代情景中,健康檢查模式可被配置為周期地被進入,以便檢測與當前操作模式內(nèi)的主激活、備用和成員的處理器節(jié)點角色有關的錯誤。
[0128]例如,按照健康檢查模式,主激活節(jié)點可以周期地向分布式計算系統(tǒng)中的每個激活節(jié)點發(fā)送請求消息,以便確定它們的當前操作狀態(tài)。如果主激活節(jié)點未從特定處理器節(jié)點得到對操作狀態(tài)請求的響應,那么主激活節(jié)點可以檢查它的本地數(shù)據(jù)結(jié)構(gòu)360,并且檢查分布式節(jié)點服務管理系統(tǒng)節(jié)點配置信息的本地拷貝,以便確定該主激活節(jié)點是否在集群中并具有在線的對等成員節(jié)點。如果確定主激活節(jié)點在集群中并且確實具有在線的對等成員節(jié)點,那么主激活節(jié)點向該集群的對等成員節(jié)點發(fā)送請求,以便確定未對操作狀態(tài)請求給出響應的目標成員節(jié)點的健康。雖然上面結(jié)合主激活節(jié)點進行了描述,但是應當理解,在根據(jù)本描述的分布式節(jié)點服務管理系統(tǒng)中,用戶可以配置分布式節(jié)點服務管理系統(tǒng)的任何節(jié)點以執(zhí)行如上所述的系統(tǒng)的健康檢查,同時每個節(jié)點繼續(xù)提供數(shù)據(jù)處理功能以及其它分布式節(jié)點服務管理功能。
[0129]如果主激活節(jié)點的對等成員節(jié)點不能確定目標成員節(jié)點的健康,那么主激活節(jié)點檢查它的分布式節(jié)點服務管理系統(tǒng)節(jié)點配置信息的本地拷貝,以便確定目標成員節(jié)點是否是集群的一部分,并且如果是,確定它是否具有在線的對等成員節(jié)點。如果目標成員節(jié)點是集群的一部分、并且目標成員節(jié)點的對等成員節(jié)點在線,那么主激活節(jié)點向目標成員節(jié)點的對等成員節(jié)點發(fā)送請求,以便通過該集群的對等節(jié)點之間的內(nèi)部集群網(wǎng)絡650或其它適合接口來確定目標成員節(jié)點的健康。
[0130]在一個實施例中,如果備用節(jié)點未從主激活節(jié)點接收到預期的操作狀態(tài)請求消息,那么該備用節(jié)點可以假設主激活節(jié)點經(jīng)歷了失敗,并且該備用節(jié)點可以承擔主激活節(jié)點的服務代理角色。因為分布式節(jié)點服務管理中的處理器節(jié)點的特定拓撲可以包括多個備用節(jié)點,所以在一個實施例中,分布式節(jié)點服務管理可以被配置為使得主激活節(jié)點的服務代理角色將故障轉(zhuǎn)移到第一備用節(jié)點。如果第一備用節(jié)點沒有操作,那么分布式節(jié)點服務管理可被配置為故障轉(zhuǎn)移到在操作的其它備用節(jié)點之一。在另一個實施例中,為了減少或消除過早的故障轉(zhuǎn)移,容限或閾值級別可以被設置為使得不發(fā)生從主激活節(jié)點到備用節(jié)點的服務代理功能的故障轉(zhuǎn)移,直到備用節(jié)點沒有接收到的預期的操作狀態(tài)請求的數(shù)目超過了閾值為止。
[0131]在本描述的另一個方面,分布式節(jié)點服務管理系統(tǒng)可被配置為指示在嘗試與服務中心通信時遭遇失敗的處理器節(jié)點周期地向服務中心發(fā)送測試消息。在從服務中心接收到成功響應時,可以將分布式節(jié)點服務管理系統(tǒng)狀態(tài)廣播到分布式計算系統(tǒng)中的所有處理器節(jié)點,以指示特定處理器節(jié)點現(xiàn)在能夠成功地與遠程服務中心通信。
[0132]在上面討論的原始主激活節(jié)點604a和第一備用節(jié)點604b在嘗試與遠程服務中心通信時經(jīng)歷了失敗的情景中,響應于給遠程服務中心的測試消息隨后從服務中心接收到成功響應時,分布式節(jié)點服務管理系統(tǒng)可被配置為恢復到使用原始主激活節(jié)點604a作為處理請求以便聯(lián)系遠程服務中心的第一啟動點的原始配置,并且恢復到在遇到主激活節(jié)點604a處的另一個失敗時使用第一備用節(jié)點604b。
[0133]類似地,分布式節(jié)點服務管理系統(tǒng)可被配置為指示在嘗試與其它處理器節(jié)點通信時遭遇失敗的處理器節(jié)點向其它處理器節(jié)點周期地發(fā)送測試消息。響應于給其它處理器節(jié)點的測試消息隨后從其它處理器節(jié)點接收到成功響應時,分布式節(jié)點服務管理系統(tǒng)可被配置為恢復原始配置。[0134]因此,可以認識到,在測試消息指示引發(fā)配置改變的問題的成功解決方案克服該問題的那些實施例中,根據(jù)本描述的分布式節(jié)點服務管理系統(tǒng)可以自動恢復到優(yōu)選配置而無需用戶干涉。另外,這種布置可以有助于識別和隔離特定的故障處理器節(jié)點、通信路徑、軟件實例和硬件組件。根據(jù)特定應用,在其它實施例中可以實現(xiàn)其它特征。
[0135]正如前面提到的那樣,可以選擇(圖5的方框510)分布式節(jié)點服務管理的操作模式,例如,諸如激活-備用模式、激活-分布式備用模式、全分布式模式、服務聚集模式或健康檢查模式。應當理解,根據(jù)特定應用,除了這些模式之外或取代此處明確描述的這些模式,還可以利用其它模式。
[0136]在一個實施例中,可由用戶手動選擇模式,或可以自動選擇模式。在本描述的一個方面,分布式節(jié)點服務管理可以基于特定用戶硬件和軟件環(huán)境以及用戶需求(如果有的話),提供分布式節(jié)點服務管理系統(tǒng)拓撲的動態(tài)和靈活配置。用戶可以使用圖形用戶界面來選擇和操作特定分布式節(jié)點服務管理操作模式(例如,激活-備用、激活-分布式備用、全分布式、聚集服務模式),并且給特定處理器節(jié)點(例如,主激活節(jié)點、備用(故障轉(zhuǎn)移)節(jié)點等等)分配分布式節(jié)點服務管理角色,并且配置分布式節(jié)點服務管理系統(tǒng)以便提供分布式節(jié)點服務管理系統(tǒng)拓撲的自動創(chuàng)建。分布式節(jié)點服務管理拓撲的這種自動創(chuàng)建可以包括自動節(jié)點加入過程,其中處理器節(jié)點可被自動加入到分布式節(jié)點服務管理系統(tǒng),并且根據(jù)選擇的分布式節(jié)點服務管理模式被配置為分布式節(jié)點服務管理角色。
[0137]例如,對于特定分布式節(jié)點服務管理模式,可以基于各種因素給加入分布式節(jié)點服務管理系統(tǒng)的拓撲的處理器節(jié)點分配角色,所述因素包括預定義和可配置的用戶偏好,其可能在處理器節(jié)點被添加到分布式節(jié)點服務管理系統(tǒng)時有助于"即插即用"類處理。其它因素包括分布式節(jié)點服務管理系統(tǒng)可以發(fā)現(xiàn)有助于〃即插即用〃類處理的硬件配置和網(wǎng)絡連接??商娲?,當處理器節(jié)點被添加或重新配置時,分布式節(jié)點服務管理系統(tǒng)可以允許用戶逐節(jié)點指定分布式節(jié)點服務管理角色。
[0138]在再一個方面,分布式節(jié)點服務管理系統(tǒng)可以根據(jù)特定應用允許以如下方式在分布式節(jié)點服務管理操作模式之間切換,所述方式對于正在進行的與分布式節(jié)點服務管理無關的數(shù)據(jù)處理功能可以是不能中斷的,并且可以被配置為以自動方式切換操作模式。在又一個方面,分布式節(jié)點服務管理系統(tǒng)可以被配置為例如基于節(jié)點能力自動選擇用于主激活角色的處理器節(jié)點??梢岳梅植际焦?jié)點服務管理系統(tǒng)基于對各種類型的分布計算應用的用戶需要來配置不同的分布式節(jié)點服務管理操作模式,從而實現(xiàn)這種特征。
[0139]下面將描述建立根據(jù)本描述的一個實施例的分布式節(jié)點服務管理系統(tǒng)的一個不例。在該例子中,分布式節(jié)點服務管理系統(tǒng)的操作模式將包括主激活節(jié)點。在該例子中,主激活節(jié)點協(xié)調(diào)額外處理器節(jié)點被添加到分布式節(jié)點服務管理系統(tǒng)的節(jié)點加入處理。應當理解,在其它操作模式中,主激活節(jié)點可能不存在。在這種操作模式中,可以例如通過其它處理器節(jié)點(諸如分布式備用節(jié)點)協(xié)調(diào)節(jié)點加入處理,或例如由用戶手動指示節(jié)點加入處理。
[0140]此外,描述處理器節(jié)點加入已有的分布式節(jié)點服務管理系統(tǒng)的例子。以下將描述根據(jù)本描述的分布式節(jié)點服務管理系統(tǒng)中的操作模式和節(jié)點角色之間的非中斷、在線切換的例子。還將描述在節(jié)點失敗的情況下自動重新分配備用節(jié)點冗余的分布式節(jié)點服務管理系統(tǒng)的例子。[0141]正如前面提到的那樣,可以手動或自動建立具有主激活節(jié)點的分布式節(jié)點服務管理系統(tǒng)。在手動設施中,服務分布式節(jié)點服務管理系統(tǒng)可以在圖形用戶界面中,例如,提示用戶確認是否安裝新的分布式節(jié)點服務管理系統(tǒng),選擇分布式節(jié)點服務管理系統(tǒng)操作模式(例如激活-備用),指示任意節(jié)點角色分配偏好(諸如,例如,保持最少33%的處理器節(jié)點作為備用角色中的節(jié)點),和指示在一些失敗的情況下分布式節(jié)點服務管理系統(tǒng)是否將自動重新分配冗余。根據(jù)特定應用,可以手動選擇或配置其它信息。例如,當處理器節(jié)點正被添加到分布式計算系統(tǒng)時,或當重新分配已有分布式節(jié)點服務管理系統(tǒng)的操作模式或重新分配分布式節(jié)點服務管理系統(tǒng)中的一個或多個處理器節(jié)點的角色時,可以發(fā)生這種用戶提
/Jn ο
[0142]可替代地,在安裝根據(jù)本描述的分布式節(jié)點服務管理系統(tǒng)中的一些或所有部分期間,用戶可以指示分布式節(jié)點服務管理系統(tǒng)完全自動化操作模式中分布式節(jié)點服務管理系統(tǒng)的建立、以及在該操作模式中處理器節(jié)點加入該分布式節(jié)點服務管理系統(tǒng)。例如,用戶可以接受工廠默認的分布式節(jié)點服務管理系統(tǒng)設置,諸如例如默認設置,其將操作模式指定為例如激活-備用操作模式,保持至少例如25%的處理器節(jié)點操作于備用角色中,在某些失敗的情況下自動重新分配節(jié)點冗余等等。
[0143]圖7示出了用于以自動模式建立分布式節(jié)點服務管理系統(tǒng)的操作的例子。在一個操作中,操作分布式節(jié)點服務管理軟件360的處理器節(jié)點根據(jù)適合的網(wǎng)絡配置協(xié)議(諸如動態(tài)主機配置協(xié)議(DHCP))向為網(wǎng)絡660上的計算裝置提供網(wǎng)絡尋址服務的服務器或其它主機發(fā)送(方框710)對網(wǎng)絡地址(諸如網(wǎng)際協(xié)議(IP)地址)的請求。在示出的實施例中,由主激活節(jié)點在一些模式(諸如激活-備用操作模式)中提供網(wǎng)絡地址分配功能。因此,如果在計時器超時(方框712)之前響應于對網(wǎng)絡地址的請求接收到網(wǎng)絡地址,則確定主激活節(jié)點已經(jīng)存在并且可操作,以及分布式節(jié)點服務管理系統(tǒng)已經(jīng)被建立。因此,處理器節(jié)點可以前進到用于加入已有的分布式節(jié)點服務管理系統(tǒng)的“加入”過程(方框714)。
[0144]另一方面,如果在計時器超時之前(方框712)響應于對網(wǎng)絡地址的請求未接收到網(wǎng)絡地址,則確定主激活節(jié)點還沒有存在并且分布式節(jié)點服務管理系統(tǒng)還不是完全可操作的。因此,處理器節(jié)點可以前進到被配置為主激活節(jié)點,新的分布式節(jié)點服務管理系統(tǒng)的第一處理器節(jié)點。
[0145]因為提供網(wǎng)絡地址分配功能的主激活節(jié)點尚未被建立,所以可以通過例如調(diào)用隨機數(shù)產(chǎn)生器創(chuàng)建明確定義的網(wǎng)絡地址的例如最后八位字節(jié)來為該處理器節(jié)點產(chǎn)生隨機網(wǎng)絡地址(方框716)。應當理解,根據(jù)特定應用,可以使用其它過程產(chǎn)生適合的網(wǎng)絡地址。
[0146]還應當理解,在一些應用中,存在如下小的可能性:如果多于一個處理器節(jié)點正在執(zhí)行建立過程,那么以自動模式建立分布式節(jié)點服務管理系統(tǒng)的該處理可能在網(wǎng)絡600上產(chǎn)生重復的網(wǎng)絡地址。因此,在建立過程中,進行檢查(方框720)以便確定是否檢測到重復的網(wǎng)絡地址。如果檢測到重復的網(wǎng)絡地址,那么建立過程前進到糾正(方框722-732)重復的網(wǎng)絡地址。
[0147]更具體地,糾正重復網(wǎng)絡地址錯誤狀況的過程被啟動(方框722),其包括:對臨時隨機產(chǎn)生的重復網(wǎng)絡地址取消賦值(方框724),增加(方框726)重試計數(shù)器,并允許建立過程在預先確定的時段內(nèi)睡眠(方框728)。該睡眠時段允許例如在另一個處理器節(jié)點處于建立臨時主節(jié)點的處理中的情況下處理網(wǎng)絡660上的狀況。[0148]在醒來之后,建立過程檢查(方框730)重試計數(shù)器,以便確定重試計數(shù)器是否超過閾值。如果超過閾值,那么確定已經(jīng)有太多的重試嘗試,并且建立過程前進到產(chǎn)生(方框732)錯誤警告,并且建立過程結(jié)束(方框733)。如果重試計數(shù)器未超過(方框730)重試閾值,那么建立過程返回以便再次發(fā)送(方框710)對網(wǎng)絡地址的請求,從而確定是否在另一個處理器節(jié)點處建立了主激活節(jié)點。
[0149]因此,如果在計時器超時(方框712)之前響應于對網(wǎng)絡地址的請求接收到網(wǎng)絡地址,則確定主激活節(jié)點已經(jīng)存在并且是可操作的,以及分布式節(jié)點服務管理系統(tǒng)已被建立。因此,處理器節(jié)點可以前進到用于加入已有的分布式節(jié)點服務管理系統(tǒng)的“加入”過程(方框 714)。
[0150]另一方面,如果在計時器超時(方框712)之前響應于對網(wǎng)絡地址的請求沒有接收到網(wǎng)絡地址,則確定主激活節(jié)點還沒有存在,并且分布式節(jié)點服務管理系統(tǒng)尚未被建立。因此,可以再次產(chǎn)生隨機網(wǎng)絡地址(方框716),并且再次進行檢查(方框720)以便確定是否檢測到重復的網(wǎng)絡地址。如果檢測到重復的網(wǎng)絡地址,那么建立過程再次前進到糾正(方框722-732)重復的網(wǎng)絡地址。
[0151]如果確定(方框720)隨機產(chǎn)生的網(wǎng)絡地址不是重復的,那么處理器節(jié)點可以利用該隨機產(chǎn)生的網(wǎng)絡地址作為其網(wǎng)絡地址,除非存在可能處于正被建立的過程中或者可能最近被建立了的另一個主激活節(jié)點。在示出的實施例中,在網(wǎng)絡660上對于分布式節(jié)點服務管理系統(tǒng)的處理器節(jié)點保留一網(wǎng)絡地址范圍。為了確定另一個主激活節(jié)點是否已被建立為保留范圍內(nèi)的網(wǎng)絡地址,在這個例子中,建立過程通過探測保留范圍內(nèi)的網(wǎng)絡地址來測試(方框734)該地址。如果探測成功(方框736),被探測的網(wǎng)絡地址可能屬于已經(jīng)建立的主激活節(jié)點。因此,如果探測成功,建立過程對當前處理器節(jié)點的隨機網(wǎng)絡地址取消復制(方框724),并且前進到請求(方框710)另一個網(wǎng)絡地址。如果在計時器超時(方框712)之前響應于對網(wǎng)絡地址的請求接收到網(wǎng)絡地址,則確定主激活節(jié)點已經(jīng)存在并且可操作,以及分布式節(jié)點服務管理系統(tǒng)已經(jīng)被建立。
[0152]如果探測不成功(方框736),那么建立過程確定(方框738)在保留范圍內(nèi)是否存在要檢查的額外地址。如果存在,建立過程選擇(方框740)下一個地址并且探測(方框734)該地址。一旦已經(jīng)測試了保留范圍內(nèi)的所有網(wǎng)絡地址(方框734)而當前處理器節(jié)點沒有接收到探測響應(方框736),就暫時確定分布式節(jié)點服務管理系統(tǒng)中沒有其它主激活節(jié)點已被建立,并且當前處理器節(jié)點被暫時認為(方框742)是主激活節(jié)點。
[0153]為了確保另一個主激活節(jié)點在以前的探測檢查(方框734)期間未處于正被建立的過程中,建立過程睡眠(方框744)以便提供用于處理網(wǎng)絡660上的狀況的額外時間。因此,在睡眠之后,建立過程通過探測保留范圍內(nèi)的定義好的網(wǎng)絡地址再次測試(方框746),以便確定是否多個處理器節(jié)點可能已被指定為臨時主激活節(jié)點。如果該測試(方框746)成功(方框748),那么做出關于響應的處理器節(jié)點是否是主激活節(jié)點(臨時的或永久的)的確定(方框750)。如果該測試(方框746)不成功(方框748),或確定(方框750)響應的處理器節(jié)點不是主激活節(jié)點(臨時的或永久的),那么做出關于保留范圍內(nèi)是否存在要檢查的額外地址的確定(方框752)。如果存在,選擇下一個網(wǎng)絡地址(方框753),并且測試該下一個地址(方框746)。
[0154]一旦已經(jīng)測試(方框746) 了所有網(wǎng)絡地址而沒有發(fā)現(xiàn)(方框750)另一個主激活節(jié)點,當前處理器節(jié)點就承擔(方框754)分布式節(jié)點服務管理系統(tǒng)中的主激活節(jié)點的角色,并且建立過程結(jié)束(方框733)。作為其作為主激活節(jié)點的角色的一部分,當前處理器節(jié)點成為網(wǎng)絡地址分配服務器,例如,諸如DHCP服務器。
[0155]另一方面,如果測試(方框746)成功(方框748),并且確定(方框750)響應的處理器節(jié)點是主激活節(jié)點(臨時的或永久的),那么僅有臨時主激活節(jié)點中的一個將保持其作為主激活節(jié)點的角色。在示出的實施例中,按照相應網(wǎng)絡地址選擇存留的臨時主激活節(jié)點。在示出的實施例中,具有較高網(wǎng)絡地址的臨時主激活節(jié)點保持其作為主激活節(jié)點的角色。因此,做出關于響應探測請求的主激活節(jié)點的網(wǎng)絡地址是否高于當前處理器節(jié)點的網(wǎng)絡地址的確定(方框760)。如果響應探測請求的主激活節(jié)點的網(wǎng)絡地址高于當前處理器節(jié)點的網(wǎng)絡地址,那么建立過程對當前處理器節(jié)點的隨機網(wǎng)絡地址的分配取消賦值(方框724),并且前進到從其它主激活節(jié)點請求(方框710)網(wǎng)絡地址。應當理解,可以使用其它技術確保保持單個主激活節(jié)點。
[0156]一旦建立了分布式節(jié)點服務管理系統(tǒng),候選處理器節(jié)點就可以加入(方框714)該分布式節(jié)點服務管理系統(tǒng)。在一個示例中,具有已有的分布式節(jié)點服務管理系統(tǒng)的分布式計算系統(tǒng)600 (圖6)包括具有處理器節(jié)點604a、604b的集群602,處理器節(jié)點604a、604b可以是例如ProtecTIER DD4網(wǎng)關。第二集群606具有處理器節(jié)點608a和處理器節(jié)點608b。在這個例子中,集群602的處理器節(jié)點604a已通過上面討論的建立過程被建立為了主激活節(jié)點。另外,集群606的處理器節(jié)點608a以備用服務節(jié)點的角色加入了該分布式節(jié)點服務管理系統(tǒng)。這在圖2中被示出。
[0157]在示出的實施例中,如圖8所示,進入或離開分布式節(jié)點服務管理系統(tǒng)的處理器節(jié)點可被視為具有四個狀態(tài)的狀態(tài)機。圖8示出的四個分布式節(jié)點服務管理狀態(tài)獨立于特定處理器節(jié)點的數(shù)據(jù)處理狀態(tài)。因此,處理器節(jié)點可以進入或離開圖8示出的分布式節(jié)點服務管理狀態(tài),而不中斷該處理器節(jié)點的數(shù)據(jù)處理功能。因此,在被指定為“離線”的第一狀態(tài)810中,處理器節(jié)點離線,并且當前在分布式節(jié)點服務管理系統(tǒng)中不被激活。然而,在離線的分布式節(jié)點服務管理狀態(tài)810中的處理器節(jié)點仍然可以完全在線并且可以操作以執(zhí)行數(shù)據(jù)處理功能。在第二“待決”狀態(tài)814中,處理器節(jié)點再次在分布式節(jié)點服務管理系統(tǒng)中不被激活,但是正嘗試獲得啟動加入過程712 (圖7)的授權以便加入分布式節(jié)點服務管理系統(tǒng)。在示出的實施例中,啟動加入過程的授權在此處被稱為“加入鎖”,使得在示出的實施例中每次僅有一個處理器節(jié)點被授予加入鎖。應當理解,可以利用其它過程來管理處理器節(jié)點加入分布式節(jié)點服務管理。
[0158]在此處被稱為“加入”狀態(tài)的第三分布式節(jié)點服務管理狀態(tài)820中,處理器節(jié)點當前正在加入過程712中加入分布式節(jié)點服務管理系統(tǒng)。如前面所述,在示出的實施例中,每次僅有一個處理器節(jié)點可以處于加入狀態(tài)820。然而,應當理解,在其它應用中,根據(jù)特定應用,每次多于一個處理器節(jié)點可以加入。在被稱為“激活”狀態(tài)的第四狀態(tài)824中,處理器節(jié)點是分布式節(jié)點服務管理系統(tǒng)中的激活的參與者。再次,因為圖8示出的分布式節(jié)點服務管理狀態(tài)獨立于特定處理器節(jié)點的數(shù)據(jù)處理狀態(tài),所以處理器節(jié)點可以進入或離開圖8示出的分布式節(jié)點服務管理狀態(tài),而不中斷該處理器節(jié)點的數(shù)據(jù)處理功能。
[0159]在示出的實施例中,作為特定處理器節(jié)點的加電初始化處理(Ρ0Ι)的一部分,處理器節(jié)點在轉(zhuǎn)變830中從離線狀態(tài)810移動到待決狀態(tài)814。因此,在圖6的例子中,具有兩個處理器節(jié)點(集群610的節(jié)點612a、集群610的處理器節(jié)點612b)的新集群610被添加到它們的分布式節(jié)點服務管理系統(tǒng)。在集群610的處理器節(jié)點612a加電初始化之后,集群610的處理器節(jié)點612a在分布式計算系統(tǒng)600的內(nèi)部網(wǎng)絡660上發(fā)送網(wǎng)絡地址請求(諸如DHCP請求)。由主激活節(jié)點(集群602的主激活節(jié)點604a)回答該網(wǎng)絡地址請求,該主激活節(jié)點也是DHCP服務器或其它適合的網(wǎng)絡地址協(xié)議服務器,并且網(wǎng)絡地址被分配給集群610的處理器節(jié)點612a。
[0160]接收到分配的網(wǎng)絡地址之后,集群610的處理器節(jié)點612a根據(jù)加入過程714向主激活節(jié)點604a發(fā)送分布式節(jié)點服務管理系統(tǒng)加入鎖請求,以便如此處下面描述的那樣啟動加入過程(圖7的方框714)。如前面所述,在示出的實施例中,如果兩個或更多處理器節(jié)點正在嘗試同時加入分布式節(jié)點服務管理系統(tǒng),那么每次僅有一個處理器節(jié)點可以從主激活節(jié)點獲得加入鎖。這個鎖過程對自動化的加入處理建立控制,以便有助于提供與用戶偏好一致的分布式節(jié)點服務管理系統(tǒng)分配。應當理解,在其它實施例中,根據(jù)特定應用,每次多于一個處理器節(jié)點可以加入分布式節(jié)點服務管理系統(tǒng)。
[0161]響應于該加入鎖請求,集群602的主激活節(jié)點604a向處理器節(jié)點612a發(fā)送分布式節(jié)點服務管理系統(tǒng)加入鎖授予(grant)。在收到加入鎖授予之后,處理器節(jié)點612a在“鎖授予”轉(zhuǎn)變834中移動到加入狀態(tài)820。在示出的實施例中,缺少鎖授予的處理器節(jié)點不能進入加入狀態(tài)820。在處理器節(jié)點612a遇到錯誤或阻止成功加入到分布式節(jié)點服務管理系統(tǒng)的其它狀況的情況下,處理器節(jié)點612a在“加入失敗事件”轉(zhuǎn)變840中移動回到待決狀態(tài) 814。
[0162]錯誤狀況的一個示例可以包括處理器節(jié)點612a發(fā)送了加入鎖請求但是未能繼而收到鎖授予。在替代實施例中,在未能響應于加入鎖請求接收到鎖授予之后,分布式節(jié)點服務管理軟件360可以引導集群610的處理器節(jié)點612a進入定時睡眠并且增加計數(shù)器。在處理器節(jié)點612a處將為分布式節(jié)點服務管理功能的懸置提供這種定時睡眠,從而使得處理器節(jié)點612a按照數(shù)據(jù)處理軟件350的數(shù)據(jù)處理功能可以繼續(xù)。
[0163]在從睡眠醒來之后,處理器節(jié)點612a可以向主激活節(jié)點604a發(fā)出另一個加入鎖請求。如果處理器節(jié)點612a再次未能響應于加入鎖請求接收到鎖授予,那么集群610的處理器節(jié)點612a可以再次進入定時睡眠并且增加計數(shù)器。
[0164]如果失敗嘗試計數(shù)器超過了閾值(該閾值可以具有缺省值或可以由用戶配置),那么處理器節(jié)點612a在分布式節(jié)點服務管理軟件360的引導下可以啟動鎖接管處理,以便使來自保持加入鎖的處理器節(jié)點的加入鎖空閑。這種鎖接管處理可以包括,例如,在一個實施例中,處理器節(jié)點612a嘗試與包含該鎖的處理器節(jié)點建立通信。例如,處理器節(jié)點612a可以向主激活節(jié)點604a查詢占有加入鎖的處理器節(jié)點的操作狀態(tài)的狀態(tài)。如果確定占有加入鎖的處理器節(jié)點沒有在操作,那么主激活節(jié)點604a可以釋放由沒有操作的處理器節(jié)點占有的加入鎖,并且向處理器節(jié)點612a重新發(fā)出加入鎖授予。
[0165]在加入狀態(tài)820中,集群610的處理器節(jié)點612a向主激活節(jié)點604a發(fā)送加入分布式節(jié)點服務管理系統(tǒng)的請求。該請求可以包括節(jié)點說明信息(諸如,例如,標識正被集群610的處理器節(jié)點612a利用的軟件版本的說明),以便幫助主激活節(jié)點604a確定是否應當允許處理器節(jié)點612a加入該分布式節(jié)點服務管理系統(tǒng)。
[0166]響應于接收到加入請求,集群602的主激活節(jié)點604a審閱在加入請求中提供的節(jié)點軟件說明,比較處理器節(jié)點612a的這些說明和已經(jīng)加入分布式節(jié)點服務管理系統(tǒng)的其它處理器節(jié)點的說明,并且確定是否批準處理器節(jié)點612a的軟件操作為分布式節(jié)點服務管理系統(tǒng)中的處理器節(jié)點。如果批準,主激活節(jié)點604a在給處理器節(jié)點612a的軟件說明確認應答消息中確認對處理器節(jié)點612a的軟件說明的批準。
[0167]如果集群610的處理器節(jié)點612a未能接收到批準處理器節(jié)點612a的軟件說明的軟件說明確認應答消息,那么在一個實施例中,處理器節(jié)點612a可以產(chǎn)生錯誤狀況警告,以向分布式節(jié)點服務管理系統(tǒng)的用戶指示存在阻止處理器節(jié)點612a加入分布式節(jié)點服務管理系統(tǒng)的軟件或代碼版本差異。因此,通過恰當?shù)厣壔蚪导壧幚砥鞴?jié)點處的軟件版本,用戶可以解決代碼版本差異,從而允許處理器節(jié)點612a加入分布式節(jié)點服務管理系統(tǒng)。
[0168]在等待清除錯誤狀況的同時,集群610的處理器節(jié)點612a可以向集群602的主激活節(jié)點604a發(fā)送鎖釋放請求,這釋放分布式節(jié)點服務管理系統(tǒng)加入鎖,從而允許待決狀態(tài)814中的另一個處理器節(jié)點請求加入鎖以便啟動加入分布式節(jié)點服務管理系統(tǒng)的處理。另夕卜,集群602的主激活節(jié)點604a向集群610的處理器節(jié)點612a發(fā)送鎖釋放確認。作為響應,處理器節(jié)點612a在〃加入失敗〃轉(zhuǎn)變840中恢復到待決狀態(tài)814。
[0169]一旦處理器節(jié)點加入了分布式節(jié)點服務管理系統(tǒng),就可由分布式節(jié)點服務管理系統(tǒng)的每個處理器節(jié)點在其本地數(shù)據(jù)結(jié)構(gòu)380 (圖3)中保持軟件說明的持久拷貝。因此,如果特定處理器節(jié)點將離開分布式節(jié)點服務管理系統(tǒng)并且進入離線狀態(tài)810,那么主激活節(jié)點仍然可以使用該離線處理器節(jié)點的軟件說明,以便比較以后加入該分布式節(jié)點服務管理系統(tǒng)的處理器節(jié)點的軟件說明。因此,當離線處理器節(jié)點尋求回到分布式節(jié)點服務管理系統(tǒng)時,如下具有很小可能性:存在阻止其返回的不兼容的軟件說明問題。
[0170]響應于來自主激活節(jié)點604a的軟件說明確認應答消息,尋求加入分布式節(jié)點服務管理系統(tǒng)的集群610的處理器節(jié)點612a可以發(fā)送另一個加入請求消息,其可以包括額外節(jié)點說明信息,諸如,例如標識硬件版本的說明。這種硬件說明可以包括例如集群610的處理器節(jié)點612a利用的機器類型和序列號,以便幫助主激活節(jié)點604a確定是否應當允許處理器節(jié)點612a加入分布式節(jié)點服務管理系統(tǒng)。
[0171]響應于接收到第二個加入請求,集群602的主激活節(jié)點604a審閱在硬件說明加入請求中提供的節(jié)點硬件說明,比較處理器節(jié)點612a的這些硬件說明和已經(jīng)加入分布式節(jié)點服務管理系統(tǒng)的其它處理器節(jié)點的硬件說明,并且確定是否批準處理器節(jié)點612a的硬件操作為分布式節(jié)點服務管理系統(tǒng)中的處理器節(jié)點。如果批準,主激活節(jié)點604a在給處理器節(jié)點612a的硬件說明確認應答消息中確認對處理器節(jié)點612a的硬件說明的批準。該硬件說明確認應答消息批準處理器節(jié)點612a加入該分布式節(jié)點服務管理系統(tǒng),并且包括關于該分布式節(jié)點服務管理系統(tǒng)的各種信息,包括例如當前分布式節(jié)點服務管理模式(諸如激活-備用)。
[0172]該確認應答消息還標識在分布式節(jié)點服務管理系統(tǒng)內(nèi)處理器節(jié)點612a將執(zhí)行的角色??梢允褂酶鞣N技術來選擇處理器節(jié)點612a在分布式節(jié)點服務管理模式內(nèi)的角色。例如,用戶可能配置了用于分布式節(jié)點服務管理系統(tǒng)中的角色分配的預先定義的規(guī)則。例如,分布式節(jié)點服務管理系統(tǒng)可被配置為將執(zhí)行選擇的角色的處理器節(jié)點的數(shù)目指定為達到或超過某些百分數(shù)。因此,在一種情景中,分布式節(jié)點服務管理系統(tǒng)可以被配置為指定分布式節(jié)點服務管理系統(tǒng)中例如至少20%的處理器節(jié)點為備用節(jié)點。一旦達到了至少20%的目標,新加入該分布式節(jié)點服務管理的處理器節(jié)點就可被分配為其它角色。
[0173]因此,在執(zhí)行加入過程714中,主激活節(jié)點可以確定在分布式節(jié)點服務管理系統(tǒng)中已經(jīng)存在例如四個處理器節(jié)點,并且它們中的一個已經(jīng)是備用節(jié)點,使得25%的處理器節(jié)點是備用節(jié)點。因此,已經(jīng)實現(xiàn)了 20%的處理器節(jié)點處于備用角色的目標。因此,當下一個處理器節(jié)點(這個例子中的處理器節(jié)點612a)尋求加入分布式節(jié)點服務管理系統(tǒng)時,管理加入過程的主激活節(jié)點可以給新的集群610的處理器節(jié)點612a分配成員節(jié)點的角色。在處理器節(jié)點612a作為成員節(jié)點而不是備用節(jié)點加入之后,保持滿足20%的處理器節(jié)點處于備用角色(即,五分之一是備用)的限制。
[0174]繼續(xù)在這種情景中,如果加入的下一個處理器節(jié)點是集群610的處理器節(jié)點612b、而集群610的處理器節(jié)點612a已經(jīng)如上所述作為成員節(jié)點加入了分布式節(jié)點服務管理系統(tǒng),那么管理加入過程的主激活節(jié)點可以將集群610的處理器節(jié)點612b (或另一個已有的處理器節(jié)點)指定為備用節(jié)點,以便繼續(xù)滿足至少20%的處理器節(jié)點為備用節(jié)點的目標(六分之二的處理器節(jié)點(即,33%)是備用節(jié)點)??梢曰谟糜趥溆媒巧膬?yōu)選處理器節(jié)點特性(例如,諸如寬帶連接而不是調(diào)制解調(diào)器連接),來選擇被指定為備用角色的處理器節(jié)點。如果另一方面,管理加入過程的主激活節(jié)點已經(jīng)將集群610的處理器節(jié)點612b指定為成員節(jié)點、并且沒有已有的處理器節(jié)點被重新配置為備用節(jié)點,那么因為僅有六分之一 (17%)會是備用節(jié)點,所以將不滿足至少20%的處理器節(jié)點是備用節(jié)點的目標。
[0175]用于在分布式節(jié)點服務管理系統(tǒng)中配置角色分配的技術的另一個例子是規(guī)定每個集群中的一個處理器節(jié)點將被分配備用節(jié)點的角色。因此,在集群610的處理器節(jié)點612a被分配成員節(jié)點的角色的上述情景中,相同集群610的處理器節(jié)點612b將被分配備用節(jié)點的角色。
[0176]用于在分布式節(jié)點服務管理系統(tǒng)中配置角色分配的技術的另一個例子是規(guī)定可以按照處理器節(jié)點的硬件或軟件說明以及處理器節(jié)點的網(wǎng)絡連接來給處理器節(jié)點分配角色。例如,在一個實施例中,主激活節(jié)點可以確定加入分布式節(jié)點服務管理系統(tǒng)的處理器節(jié)點是否具有可選擇的調(diào)制解調(diào)器,并且如果具有,那么自動給具有這種調(diào)制解調(diào)器的處理器節(jié)點分配備用角色。
[0177]用于在分布式節(jié)點服務管理系統(tǒng)中配置角色分配的技術的再一個例子是給用戶提供為各個處理器節(jié)點指定特定角色的機會,處理器節(jié)點在加入分布式節(jié)點服務管理系統(tǒng)時將被分配該特定角色。這種選項可以提供額外的靈活性,并且允許用戶設置服務分布式節(jié)點服務管理系統(tǒng)中的錯誤恢復和冗余的定制級別。
[0178]如前面所述,硬件說明確認應答消息批準處理器節(jié)點612a加入分布式節(jié)點服務管理系統(tǒng),并且包括各種關于該分布式節(jié)點服務管理系統(tǒng)的信息,所述信息包括分布式節(jié)點服務管理模式,例如,諸如激活-備用??梢园ㄔ谠摯_認應答消息中的另一種信息是用戶信息,諸如企業(yè)公司名稱、機器位置、聯(lián)系人信息等等。
[0179]確認應答消息還可以包括網(wǎng)絡信息,諸如分布式節(jié)點服務管理系統(tǒng)的網(wǎng)絡660中的每個處理器節(jié)點的網(wǎng)絡地址。另外,該確認應答消息還可以標識分布式節(jié)點服務管理系統(tǒng)中的每個處理器節(jié)點的角色。因此,在上述情景中,確認應答消息可以向處理器節(jié)點612a指出主激活節(jié)點是集群602的處理器節(jié)點604a、第一備用節(jié)點是集群602的處理器節(jié)點604b、第二備用節(jié)點是集群606備用的處理器節(jié)點608a、以及集群606的處理器節(jié)點608b是成員節(jié)點。
[0180]在收到向集群610的處理器節(jié)點612a通知分布式節(jié)點服務管理系統(tǒng)的信息的確認應答消息之后,處理器節(jié)點612a在其數(shù)據(jù)結(jié)構(gòu)320中填充其本地拷貝,并且配置分布式節(jié)點服務管理軟件360以便在當前操作于分布式計算系統(tǒng)600的分布式節(jié)點服務管理中的相同的分布式節(jié)點服務管理模式中運行。以這種方式,處理器節(jié)點612a在“加入成功”轉(zhuǎn)變844中移動到激活狀態(tài),其中在完成配置處理之后,處理器節(jié)點612a用作分布式節(jié)點服務管理系統(tǒng)的激活節(jié)點。
[0181]因此,如果分布式節(jié)點服務管理系統(tǒng)被配置為在激活備用模式中操作,并且處理器節(jié)點612a被選擇為操作于該分布式節(jié)點服務管理系統(tǒng)內(nèi)的備用角色,那么處理器節(jié)點612a的分布式節(jié)點服務管理軟件360被配置為向主激活節(jié)點604a發(fā)送在處理器節(jié)點612a處發(fā)生的服務事件的通知。另外,處理器節(jié)點612a還被配置為在從主激活節(jié)點進行故障轉(zhuǎn)移的情況下,向分布式節(jié)點服務管理系統(tǒng)的一個或多個備用節(jié)點發(fā)送這種事件。
[0182]如果分布式節(jié)點服務管理系統(tǒng)被配置為操作于全分布式模式,那么處理器節(jié)點612a的分布式節(jié)點服務管理軟件360被配置為直接向遠程支持中心發(fā)送涉及處理器節(jié)點612a的服務事件的通知??商娲?,如果分布式節(jié)點服務管理系統(tǒng)被配置為操作于激活分布式備用模式,那么處理器節(jié)點612a的分布式節(jié)點服務管理軟件360被配置為向主激活節(jié)點604a發(fā)送涉及處理器節(jié)點612a的服務事件的通知。另外,處理器節(jié)點612a還被配置為在主激活節(jié)點失敗的情況下直接向遠程支持中心發(fā)送這種事件。如果分布式節(jié)點服務管理系統(tǒng)被配置為操作于服務聚集模式,那么處理器節(jié)點612a的分布式節(jié)點服務管理軟件360被配置為向主激活節(jié)點中的一個發(fā)送事件。
[0183]在示出的實施例中,在配置分布式節(jié)點服務管理軟件360以便在分配給處理器節(jié)點612a的分布式節(jié)點服務管理角色中操作處理器節(jié)點612a時,處理器節(jié)點612a產(chǎn)生測試“通報”通知,以便測試成功的“通報”消息是否可被傳輸?shù)竭h程服務中心(諸如遠程服務中心670)。如果分布式計算系統(tǒng)600的分布式節(jié)點服務管理系統(tǒng)被配置為了操作于具有主激活節(jié)點的模式,那么處理器節(jié)點612a向主激活節(jié)點(諸如在這個例子中的處理器節(jié)點604a)發(fā)送測試通報通知,以便由主激活節(jié)點轉(zhuǎn)發(fā)到遠程服務中心。
[0184]因此,集群602的主激活節(jié)點604a向遠程支持中心發(fā)送測試通報通知。響應于接收到測試通報通知,遠程支持中心向集群602的主激活節(jié)點604a發(fā)回確認消息。集群602的主激活節(jié)點604a又向集群610的發(fā)起處理器節(jié)點612a轉(zhuǎn)發(fā)確認消息。
[0185]在收到指示處理器節(jié)點612a已經(jīng)成功地加入分布式節(jié)點服務管理系統(tǒng)并且已經(jīng)成功地通過主激活節(jié)點604a聯(lián)系遠程服務中心的確認消息之后,集群610的處理器節(jié)點612a向集群602的主激活節(jié)點604a發(fā)送鎖釋放請求,其釋放分布式節(jié)點服務管理系統(tǒng)加入鎖,從而允許待決狀態(tài)814中的另一個處理器節(jié)點請求加入鎖,以便啟動加入分布式節(jié)點服務管理系統(tǒng)的處理。另外,集群602的主激活節(jié)點604a向分布式計算系統(tǒng)600的分布式節(jié)點服務管理系統(tǒng)中的所有處理器節(jié)點廣播拓撲狀態(tài)改變通知。該拓撲狀態(tài)改變通知引導分布式節(jié)點服務管理系統(tǒng)中的每個處理器節(jié)點更新它們的本地數(shù)據(jù)結(jié)構(gòu)380,以便包括新加入的處理器節(jié)點612a的上述軟件說明、硬件說明以及操作角色。另外,集群602的主激活節(jié)點604a向集群610的處理器節(jié)點612a發(fā)送鎖釋放確認。
[0186]在處于待決狀態(tài)814、加入狀態(tài)820或激活狀態(tài)824之一中時處理器節(jié)點612a需要提供服務(或經(jīng)歷未預期的錯誤)的情況下,該處理器節(jié)點在"服務模式/未預期錯誤"轉(zhuǎn)變850中移動回到離線狀態(tài)810。在替代實施例中,在處理器節(jié)點612a未能接收到鎖釋放確認的情況下,在一個實施例中,處理器節(jié)點612a可以恢復到待決狀態(tài)814,并且抑制加入分布式節(jié)點服務管理系統(tǒng)的進一步嘗試,直到錯誤狀況被清除。
[0187]類似地,在另一個實施例中,如果處理器節(jié)點612a在上面所述的加入處理過程期間未能接收到來自主激活節(jié)點604a的預期響應(諸如對加入鎖請求的響應、軟件或硬件說明確認應答消息、測試通報確認消息、或鎖釋放確認消息),那么分布式節(jié)點服務管理軟件360可以引導集群610的處理器節(jié)點612a進入定時睡眠并且增加計數(shù)器。這種定時睡眠將提供用于分布式節(jié)點服務管理功能的掛起,以使得處理器節(jié)點612a按照數(shù)據(jù)處理軟件350的數(shù)據(jù)處理功能可以繼續(xù)。
[0188]在從睡眠中醒來之后,處理器節(jié)點612a的分布式節(jié)點服務管理功能可以向主激活節(jié)點604a發(fā)出另一個請求。如果處理器節(jié)點612a再次未能接收到預期響應,那么集群610的處理器節(jié)點612a可以再次進入定時睡眠并且增加計數(shù)器。
[0189]如果失敗嘗試計數(shù)器超過閾值(該閾值可能具有默認值或可由用戶配置),那么在分布式節(jié)點服務管理軟件360的引導下,處理器節(jié)點612a可以公布錯誤,以指示它不能加入分布式節(jié)點服務管理系統(tǒng)、并且抑制加入服務分布式節(jié)點服務管理系統(tǒng)的進一步嘗試。處理器節(jié)點612a可以抑制加入分布式節(jié)點服務管理系統(tǒng)的進一步嘗試,直到錯誤狀況被清除為止。
[0190]在等待清除錯誤狀況的同時,集群610的處理器節(jié)點612a可以向集群602的主激活節(jié)點604a發(fā)送鎖釋放請求,其釋放分布式節(jié)點服務管理系統(tǒng)加入鎖,從而允許待決狀態(tài)814中的另一個處理器節(jié)點請求加入鎖,以便啟動加入分布式節(jié)點服務管理系統(tǒng)的處理。另夕卜,集群602的主激活節(jié)點604a向集群610的處理器節(jié)點612a發(fā)送鎖釋放確認。作為響應,處理器節(jié)點612a在〃加入失敗〃轉(zhuǎn)變840中恢復到待決狀態(tài)814。
[0191]在缺少主激活節(jié)點的那些分布式節(jié)點服務管理模式中,處理器節(jié)點612a可以直接向遠程支持中心發(fā)送測試通報通知,并且直接從遠程支持中心接收確認。另外,處理器節(jié)點612a可以向分布式計算系統(tǒng)600的分布式節(jié)點服務管理系統(tǒng)中的所有處理器節(jié)點廣播拓撲狀態(tài)改變通知。以這種方式,可以引導分布式節(jié)點服務管理系統(tǒng)的每個處理器節(jié)點更新它們的本地數(shù)據(jù)結(jié)構(gòu)380,以便包括新加入的處理器節(jié)點612a的上述軟件說明、硬件說明以及操作角色。
[0192]根據(jù)本描述的另一個方面,用戶可以指示分布式節(jié)點服務管理系統(tǒng)從服務分布式節(jié)點服務管理系統(tǒng)中去除特定處理器節(jié)點。作為響應,主激活節(jié)點更新分布式節(jié)點服務管理系統(tǒng)拓撲,以便指示該特定處理器節(jié)點的去除。另外,主激活節(jié)點向分布式節(jié)點服務管理系統(tǒng)中的剩余處理器節(jié)點廣播消息,以指示剩余處理器節(jié)點更新保持在它們的本地數(shù)據(jù)結(jié)構(gòu)380中的分布式節(jié)點服務管理系統(tǒng)拓撲信息。在示出的實施例中,在上述處理器節(jié)點加入分布式節(jié)點服務管理系統(tǒng)的協(xié)商期間,不再出于比較目的使用從系統(tǒng)中被去除的處理器節(jié)點的硬件和軟件說明的拷貝。另外,如果用戶選擇使得能夠?qū)崿F(xiàn)服務冗余的自動重新分配,那么如下面解釋的,根據(jù)需要可以為主激活節(jié)點重新分配處理器節(jié)點角色。
[0193]在本描述的另一個方面,分布式節(jié)點服務管理系統(tǒng)允許用戶重新分配處理器節(jié)點角色并且以非中斷的在線方式切換分布式節(jié)點服務管理系統(tǒng)模式。例如,用戶可以在從激活備用操作模式到全分布式操作模式操作分布式節(jié)點服務管理系統(tǒng)之間進行切換。在一個實施例中,這種操作模式改變可以包括指示分布式節(jié)點服務管理系統(tǒng)的每一個處理器節(jié)點在“拓撲改變”轉(zhuǎn)變860中將狀態(tài)從激活狀態(tài)824改變到待決狀態(tài)814。一旦在待決狀態(tài)814中,每個處理器節(jié)點就將啟動從分布式節(jié)點服務管理系統(tǒng)加入鎖請求開始的上面討論的加入過程714。因此,根據(jù)選擇的分布式節(jié)點服務管理模式給每個處理器節(jié)點分配分布式節(jié)點服務管理角色。另外,在加入分布式節(jié)點服務管理系統(tǒng)中的每個處理器節(jié)點學習并且記錄新的分布式節(jié)點服務管理系統(tǒng)拓撲。因為圖8示出的分布式節(jié)點服務管理狀態(tài)獨立于特定處理器節(jié)點的數(shù)據(jù)處理功能,所以處理器節(jié)點可以進入或離開圖8示出的分布式節(jié)點服務管理狀態(tài)而不中斷該處理器節(jié)點的數(shù)據(jù)處理功能。因此,任意處理器節(jié)點的分布式節(jié)點服務管理角色同樣地獨立于特定處理器節(jié)點的數(shù)據(jù)處理角色,并且任意處理器節(jié)點的分布式節(jié)點服務管理角色可被容易地配置或重新配置,而不中斷該處理器節(jié)點的數(shù)據(jù)處理功能。類似地,處理器節(jié)點的分布式節(jié)點服務管理操作模式同樣地獨立于該處理器節(jié)點的數(shù)據(jù)處理操作,并且處理器節(jié)點的分布式節(jié)點服務管理操作模式可被容易地配置或重新配置,而不中斷該處理器節(jié)點的數(shù)據(jù)處理功能。另外,分布式節(jié)點服務管理的任意數(shù)目的處理器節(jié)點可被配置或重新配置為健康檢查節(jié)點,所述健康檢查節(jié)點在分布式節(jié)點服務管理中在健康檢查模式中執(zhí)行,而不中斷進入或離開健康檢查模式的處理器節(jié)點正在執(zhí)行的數(shù)據(jù)處理功能。
[0194]在本描述的另一個方面,用戶還可以配置分布式節(jié)點服務管理系統(tǒng),以使得分布式節(jié)點服務管理軟件360能夠根據(jù)處理器節(jié)點能力為特定分布式節(jié)點服務管理角色自動選擇處理器節(jié)點。例如,如果當前主激活節(jié)點是具有單個四核處理器的計算裝置,并且具有更強大能力的另一個計算裝置(諸如具有四個八核處理器的計算裝置)加入分布式節(jié)點服務管理系統(tǒng),那么分布式節(jié)點服務管理軟件360可以被配置為檢測這種情況,并且將主激活角色從原始處理器節(jié)點重新分配到該更有能力的處理器節(jié)點。
[0195]在另一個例子中,當前主激活節(jié)點可以是通過調(diào)制解調(diào)器與遠程支持中心通信的計算裝置。當新處理器節(jié)點加入分布式節(jié)點服務管理系統(tǒng)、并且該新處理器節(jié)點具有與遠程支持中心進行寬帶通信的能力時,分布式節(jié)點服務管理軟件可以被配置為檢測這種情況,并且將主激活角色從具有調(diào)制解調(diào)器通信的原始處理器節(jié)點重新分配到具有寬帶通信能力的更有能力的處理器節(jié)點。
[0196]在本描述的另一個方面,如果分布式節(jié)點服務管理系統(tǒng)的處理器節(jié)點遇到失敗或是以其它方式離開分布式節(jié)點服務管理系統(tǒng),那么可由用戶配置該分布式節(jié)點服務管理系統(tǒng),以便自動識別保留在分布式節(jié)點服務管理中的處理器節(jié)點,并且在需要時在分布式節(jié)點服務管理系統(tǒng)的剩余處理器節(jié)點之間重新分配分布式節(jié)點服務管理角色。例如,在處理器節(jié)點執(zhí)行其在分布式節(jié)點服務管理系統(tǒng)內(nèi)的功能時失敗之后,或在處理器節(jié)點從分布式節(jié)點服務管理系統(tǒng)中退出之后,分布式節(jié)點服務管理系統(tǒng)可以指示分布式節(jié)點服務管理系統(tǒng)的每一個剩余處理器節(jié)點在"拓撲改變"轉(zhuǎn)變860中將狀態(tài)從激活狀態(tài)824改變到待決狀態(tài)814。一旦在待決狀態(tài)814中,每個處理器節(jié)點就將啟動從分布式節(jié)點服務管理系統(tǒng)加入鎖請求開始的上面討論的加入過程714。因此,根據(jù)選擇的分布式節(jié)點服務管理模式給每個處理器節(jié)點重新分配分布式節(jié)點服務管理角色,并且將由遇到了錯誤或退出了分布式節(jié)點服務管理系統(tǒng)的原始處理器節(jié)點空出的分布式節(jié)點服務管理角色提供給替代處理器節(jié)點,以便恢復選擇的冗余級別。另外,在加入分布式節(jié)點服務管理系統(tǒng)中的每個處理器節(jié)點學習并且記錄新的分布式節(jié)點服務管理系統(tǒng)拓撲。以這種方式,響應于分布式節(jié)點服務管理角色中的冗余損失,可以自動重新配置分布式計算系統(tǒng)的處理器節(jié)點,以便按照選擇的操作模式在分布式節(jié)點服務管理角色的不同分配中執(zhí)行分布式節(jié)點服務管理,并且恢復分布式節(jié)點服務管理角色中的冗余。
[0197]額外實施例細節(jié)
[0198]描述的操作可通過使用標準編程和/或工程技術產(chǎn)生軟件、固件、硬件或其任意組合而被實現(xiàn)為的方法、設備或計算機程序產(chǎn)品。因此,這些實施例的方面可以采取完全硬件實施例、完全軟件實施例(包括固件、駐留軟件、微代碼等等)、或者此處可被一般地稱為〃電路"、〃模塊〃或〃系統(tǒng)〃的合并軟件和硬件方面的實施例的形式。另外,這些實施例的方面可以采取體現(xiàn)在一個或多個計算機可讀介質(zhì)中的計算機程序產(chǎn)品的形式,所述計算機可讀介質(zhì)在其上包含有計算機可讀程序代碼。
[0199]可以采用一個或多個計算機可讀介質(zhì)的任意組合。計算機可讀介質(zhì)可以是計算機可讀信號介質(zhì)或者計算機可讀存儲介質(zhì)。計算機可讀存儲介質(zhì)例如可以是一但不限于——電、磁、光、電磁、紅外線、或半導體的系統(tǒng)、裝置或器件,或者任意以上的組合。計算機可讀存儲介質(zhì)的更具體的例子(非窮舉的列表)包括:具有一個或多個導線的電連接、便攜式計算機盤、硬盤、專用集成電路(ASIC)、隨機存取存儲器(RAM)、只讀存儲器(ROM)、可擦式可編程只讀存儲器(EPR0M或閃存)、光纖、便攜式緊湊盤只讀存儲器(CD-ROM)、光存儲器件、磁存儲器件、或者上述的任意合適的組合。在本文件中,計算機可讀存儲介質(zhì)可以是任何包含或存儲程序的有形介質(zhì),該程序可以被指令執(zhí)行系統(tǒng)、裝置或者器件使用或者與其結(jié)合使用。
[0200]計算機可讀的信號介質(zhì)可以包括在基帶中或者作為載波一部分傳播的數(shù)據(jù)信號,其中承載了計算機可讀的程序代碼。這種傳播的數(shù)據(jù)信號可以采用多種形式,包括——但不限于——電磁信號、光信號或上述的任意合適的組合。計算機可讀的信號介質(zhì)還可以是計算機可讀存儲介質(zhì)以外的任何計算機可讀介質(zhì),該計算機可讀介質(zhì)可以發(fā)送、傳播或者傳輸用于由指令執(zhí)行系統(tǒng)、裝置或者器件使用或者與其結(jié)合使用的程序。
[0201]計算機可讀介質(zhì)上包含的程序代碼可以用任何適當?shù)慕橘|(zhì)傳輸,包括一但不限于一無線、有線、光纜、RF等等,或者上述的任意合適的組合。
[0202]可以以一種或多種程序設計語言的任意組合來編寫用于執(zhí)行本發(fā)明操作的計算機程序代碼,所述程序設計語言包括面向?qū)ο蟮某绦蛟O計語言一諸如Java、Smalltalk、C++等,還包括常規(guī)的過程式程序設計語言一諸如“C”語言或類似的程序設計語言。程序代碼可以完全地在用戶計算機上執(zhí)行、部分地在用戶計算機上執(zhí)行、作為一個獨立的軟件包執(zhí)行、部分在用戶計算機上部分在遠程計算機上執(zhí)行、或者完全在遠程計算機或服務器上執(zhí)行。在涉及遠程計算機的情形中,遠程計算機可以通過任意種類的網(wǎng)絡一包括局域網(wǎng)(LAN)或廣域網(wǎng)(WAN)—連接到用戶計算機,或者,可以連接到外部計算機(例如利用因特網(wǎng)服務提供商來通過因特網(wǎng)連接)。
[0203]上面參照根據(jù)本發(fā)明實施例的方法、裝置(系統(tǒng))和計算機程序產(chǎn)品的流程圖和/或框圖描述本發(fā)明的方面。應當理解,流程圖和/或框圖的每個方框以及流程圖和/或框圖中各方框的組合,都可以由計算機程序指令實現(xiàn)。這些計算機程序指令可以提供給通用計算機、專用計算機或其它可編程數(shù)據(jù)處理裝置的處理器,從而生產(chǎn)出一種機器,使得這些計算機程序指令在通過計算機或其它可編程數(shù)據(jù)處理裝置的處理器執(zhí)行時,產(chǎn)生了實現(xiàn)流程圖和/或框圖中的一個或多個方框中規(guī)定的功能/動作的裝置。
[0204]也可以把這些計算機程序指令存儲在計算機可讀介質(zhì)中,這些指令使得計算機、其它可編程數(shù)據(jù)處理裝置、或其他裝置以特定方式工作,從而,存儲在計算機可讀介質(zhì)中的指令就產(chǎn)生出包括實現(xiàn)流程圖和/或框圖中的一個或多個方框中規(guī)定的功能/動作的指令的制造品(article of manufacture)0
[0205]計算機程序指令還可被裝載到計算機其它可編程數(shù)據(jù)處理裝置或其它裝置上,以便使得在計算機、其它可編程裝置或其它裝置上執(zhí)行一系列操作步驟,以便產(chǎn)生以計算機實現(xiàn)的處理,從而在計算機或其它可編程裝置上執(zhí)行的指令提供用于實現(xiàn)流程圖和/或方框圖方框或多個方框中指定的功能/動作的處理。
[0206]變量“a”和“b”當用于表示元件的可變數(shù)目時,可以指示該元件的實例的任意數(shù)目,并且當與不同元件一起使用時或當與相同元件的不同實例一起使用時,可以指示不同的整數(shù)數(shù)目。例如,用于指示若干源存儲和目標存儲的變量“a”和“b”可以指示相同或不同數(shù)目的這些元件。
[0207]除非明確地另外說明,術語“一個實施例”、“實施例”、“多個實施例”、“該實施例”、“這些實施例”、“ 一個或多個實施例”、“ 一些實施例”和“ 一種實施例”的含義是“本發(fā)明的一個或多個(但是不是所有)實施例”。
[0208]除非明確地另外說明,術語“包括”、“包含”、“具有”以及它們的變體的含義是“包括但不限于”。
[0209]除非明確地另外說明,列舉的項目列表不暗示著任意或所有項目是互斥的。
[0210]除非明確地另外說明,術語“一”、“一個”和“該”的含義是“一個或多個”。
[0211]除非明確地另外說明,彼此通信的裝置不必彼此連續(xù)通信。另外,彼此通信的裝置可以直接通信或通過一個或多個中間裝置間接通信。
[0212]對具有彼此通信的幾個組件的實施例的描述不暗示所有這些組件都是需要的。相反,描述了各種可選擇的組件,以便示出本發(fā)明的種種可能的實施例。
[0213]另外,雖然可以用順序的次序描述處理步驟、方法步驟、算法等等,這些處理、方法和算法可被配置為以交替的順序工作。換言之,可能被描述的任意步驟序列或順序不必然指示以該順序執(zhí)行這些步驟的要求。此處描述的處理步驟可被以任意實際順序執(zhí)行。另外,一些步驟可被同時執(zhí)行。
[0214]當此處描述單個裝置或制品時,將容易理解可以使用多于一個裝置/制品(不論它們是否結(jié)合在一起)取代單個裝置/制品。類似地,在此處描述多于一個裝置或制品(不論它們是否結(jié)合在一起)的情況下,將容易理解可以使用單個裝置/制品取代多于一個裝置或制品,或可以使用不同數(shù)目的裝置/制品而不是所示數(shù)目的裝置或程序。裝置的功能和/或特征可被可替代地以未被明確地描述為具有這種功能/特征的一個或多個其它裝置具體實現(xiàn)。因此,本發(fā)明的其它實施例不必包括該裝置本身。
[0215]圖4、5、7、8的示出的操作示出了以某一順序發(fā)生的某些事件。在替代實施例中,某些操作可以不同順序被執(zhí)行、修改或去除。另外,可以給上面描述的邏輯添加步驟,并且仍然符合描述的實施例。另外,此處描述的操作可以順序地發(fā)生,或某些操作可以被并行處理。另外,可由單個處理單元或分布式處理單元執(zhí)行操作。
[0216]已經(jīng)出于說明和描述的目的給出了對本發(fā)明的各種實施例的前面的描述。其不旨在是窮盡的或?qū)⒈景l(fā)明限制為公開的精確形式。根據(jù)上述教導可以有許多修改和變化。不旨在將本發(fā)明的范圍局限于該詳細說明書,而是由所附的權利要求限制本發(fā)明的范圍。上面的說明、例子和數(shù)據(jù)提供了對本發(fā)明的組成的制造和使用的完整描述。因為可以進行本發(fā)明的許多實施例而不脫離本發(fā)明的精神和范圍,所述本發(fā)明存在于所附的權利要求中。
【權利要求】
1.一種方法,包括: 在具有多個處理器節(jié)點的分布式計算系統(tǒng)中在所述多個處理器節(jié)點中的每一個處執(zhí)行數(shù)據(jù)處理功能; 對于所述分布式計算系統(tǒng)中的所述多個處理器節(jié)點中的每一個,從在分布式節(jié)點服務管理系統(tǒng)中能夠使用的多個分布式節(jié)點服務管理操作角色中選擇分布式節(jié)點服務管理操作角色;和 在所述多個處理器節(jié)點中的每一個處執(zhí)行分布式節(jié)點服務管理,其中在每個處理器節(jié)點處在為特定處理器節(jié)點選擇的分布式節(jié)點服務管理角色中執(zhí)行所述分布式節(jié)點服務管理,并且所述分布式節(jié)點服務管理包括對服務請求進行處理以為分布式計算系統(tǒng)的處理器節(jié)點提供服務。
2.如權利要求1所述的方法,其中所述分布式節(jié)點服務管理在所述多個處理器節(jié)點中的第一處理器節(jié)點處,在為所述第一處理器節(jié)點選擇的主分布式節(jié)點服務管理角色中被執(zhí)行,其中主分布式節(jié)點服務管理角色包括:從所述多個處理器節(jié)點中的第二處理器節(jié)點接收服務請求,并且代表第二處理器節(jié)點將該服務請求轉(zhuǎn)發(fā)到用于為分布式計算系統(tǒng)的第二處理器節(jié)點提供服務的遠程服務中心。
3.如權利要求2所述的方法,其中所述分布式節(jié)點服務管理在所述多個處理器節(jié)點中的所述第二處理器節(jié)點處,在為所述第二處理器節(jié)點選擇的成員分布式節(jié)點服務管理角色中被執(zhí)行,其中成員分布式節(jié)點服務管理角色包括:代表第二處理器節(jié)點產(chǎn)生服務請求,并且將該服務請求發(fā)送到第一處理器節(jié)點以便轉(zhuǎn)發(fā)到遠程服務中心,其中該服務請求是響應于第二處理器節(jié)點處的服務狀況而產(chǎn)生的,并且包括第二處理器節(jié)點處的服務狀況的服務通知。
4.如權利要求1所述的方法,其中所述分布式計算系統(tǒng)中的多個處理器節(jié)點中的每一個處的所述數(shù)據(jù)處理功能包括數(shù)據(jù)備份功能,所述數(shù)據(jù)備份功能包括在主機和數(shù)據(jù)存儲之間傳送數(shù)據(jù)。`
5.如權利要求3所述的方法,其中所述分布式節(jié)點服務管理在所述多個處理器節(jié)點中的第三處理器節(jié)點處,在為所述第三處理器節(jié)點選擇的備用分布式節(jié)點服務管理角色中被執(zhí)行,其中備用分布式節(jié)點服務管理角色包括:在所述第一處理器節(jié)點處執(zhí)行所述主分布式節(jié)點服務管理角色中的分布式節(jié)點服務管理功能時失敗的情況下,將為所述第三處理器節(jié)點選擇的分布式節(jié)點服務管理角色從所述備用分布式節(jié)點服務管理角色改變?yōu)樗鲋鞣植际焦?jié)點服務管理角色,使得在第三處理器節(jié)點處而不是在第一處理器節(jié)點處執(zhí)行主分布式節(jié)點服務管理角色中的分布式節(jié)點服務管理功能。
6.如權利要求5所述的方法,其中在所述第二處理器節(jié)點處執(zhí)行的成員分布式節(jié)點服務管理角色包括:在所述第一處理器節(jié)點處執(zhí)行所述主分布式節(jié)點服務管理角色中的分布式節(jié)點服務管理服務請求轉(zhuǎn)發(fā)功能時失敗的情況下,將該服務請求發(fā)送到第三處理器節(jié)點,以便在第三處理器節(jié)點的所述主分布式節(jié)點服務管理角色中轉(zhuǎn)發(fā)到遠程服務中心。
7.如權利要求3所述的方法,其中所述分布式節(jié)點服務管理在所述多個處理器節(jié)點中的多個額外處理器節(jié)點處,在為每個額外處理器節(jié)點選擇的分布式-備用分布式節(jié)點服務管理角色中被執(zhí)行,其中分布式-備用分布式節(jié)點服務管理角色包括:在所述第一處理器節(jié)點處執(zhí)行所述主分布式節(jié)點服務管理角色中的分布式節(jié)點服務管理功能時失敗的情況下,對于所述多個處理器節(jié)點中的每個特定處理器節(jié)點,在每個特定處理器節(jié)點處而不是在第一處理器節(jié)點處代表該特定處理器節(jié)點執(zhí)行分布式節(jié)點服務管理功能。
8.如權利要求7所述的方法,其中在所述多個額外處理器節(jié)點中的每一個處執(zhí)行的分布式-備用分布式節(jié)點服務管理角色包括:對于所述多個處理器節(jié)點中的每個特定處理器節(jié)點,在所述第一處理器節(jié)點處執(zhí)行所述主分布式節(jié)點服務管理角色中的分布式節(jié)點服務管理服務請求轉(zhuǎn)發(fā)功能時失敗的情況下,代表所述多個額外處理器節(jié)點中的該特定處理器節(jié)點將服務請求發(fā)送到遠程服務中心。
9.如權利要求1所述的方法,其中在所述多個處理器節(jié)點中的每一個處執(zhí)行的分布式節(jié)點服務管理角色包括:對于所述多個處理器節(jié)點中的每個特定處理器節(jié)點,代表該特定處理器節(jié)點產(chǎn)生服務請求,并且將該服務請求發(fā)送到用于為分布式計算系統(tǒng)提供服務的服務中心,其中該服務請求是響應于該特定處理器節(jié)點處的服務狀況而產(chǎn)生的,并且包括該特定處理器節(jié)點處的服務狀況的服務通知。
10.如權利要求1所述的方法,其中所述分布式節(jié)點服務管理在所述多個處理器節(jié)點中的第三處理器節(jié)點處,在為所述第三處理器節(jié)點選擇的主分布式節(jié)點服務管理角色中被執(zhí)行,其中主分布式節(jié)點服務管理角色包括:從所述多個處理器節(jié)點中的第四處理器節(jié)點接收服務請求,并且代表第四處理器節(jié)點將該服務請求轉(zhuǎn)發(fā)到用于為分布式計算系統(tǒng)提供服務的遠程服務中心。
11.如權利要求10所述的方法,其中在所述第一處理器節(jié)點和第三處理器節(jié)點處在主分布式節(jié)點服務管理角色中執(zhí)行的所述分布式節(jié)點服務管理包括:在所述第一處理器節(jié)點和第三處理器節(jié)點之間平衡主分布式節(jié)點服務管理角色中的分布式節(jié)點服務管理工作負載。
12.如權利要求11所述的方法,其中在所述第一處理器節(jié)點和第三處理器節(jié)點處在主分布式節(jié)點服務管理角色中執(zhí)行的所述分布式節(jié)點服務管理包括:在所述第一處理器節(jié)點處執(zhí)行所述主分布式節(jié)點服·務管理角色中的分布式節(jié)點服務管理功能時失敗的情況下,承擔來自所述第一處理器節(jié)點的分布式節(jié)點服務管理功能,使得在第三處理器節(jié)點處而不是在第一處理器節(jié)點處在主分布式節(jié)點服務管理角色中執(zhí)行所承擔的分布式節(jié)點服務管理功能。
13.如權利要求1所述的方法,其中所述服務請求包括如下之一:服務通知,服務中心對所述多個處理器節(jié)點中的處理器節(jié)點的遠程訪問的請求,本地用戶對所述多個處理器節(jié)點中的處理器節(jié)點的本地訪問的請求,以及處理器節(jié)點健康狀態(tài)請求。
14.如權利要求5所述的方法,其中所述第一處理器節(jié)點處的主分布式節(jié)點服務管理角色中的分布式節(jié)點服務管理功能還包括如下至少一項:為所述服務中心提供對所述分布式計算系統(tǒng)的其它處理器節(jié)點的遠程訪問,為用戶提供對所述分布式計算系統(tǒng)的其它處理器節(jié)點的本地訪問,以及監(jiān)視所述分布式計算系統(tǒng)的其它處理器節(jié)點的健康。
15.如權利要求3所述的方法,其中在所述多個處理器節(jié)點中的第三處理器節(jié)點處,也在為所述第三處理器節(jié)點選擇的成員分布式節(jié)點服務管理角色中執(zhí)行所述分布式節(jié)點服務管理,其中所述第一處理器節(jié)點和第二處理器節(jié)點均是集群中的對等節(jié)點,其中第三處理器節(jié)點的成員分布式節(jié)點服務管理角色包括:在第一處理器節(jié)點未能響應由第二處理器節(jié)點發(fā)送的服務請求的情況下,代表第二處理器節(jié)點向第一處理器節(jié)點重新發(fā)送該服務請求以便轉(zhuǎn)發(fā)到遠程服務中心,其中在所述多個處理器節(jié)點中的第四處理器節(jié)點處,在為所述第四處理器節(jié)點選擇的備用分布式節(jié)點服務管理角色中執(zhí)行所述分布式節(jié)點服務管理,其中備用分布式節(jié)點服務管理角色包括:在第一處理器節(jié)點未能響應由第三處理器節(jié)點代表第二處理器節(jié)點發(fā)送的服務請求的情況下,將為所述第四處理器節(jié)點選擇的分布式節(jié)點服務管理角色從所述備用分布式節(jié)點服務管理角色改變?yōu)樗鲋鞣植际焦?jié)點服務管理角色,使得在第四處理器節(jié)點處而不是在第一處理器節(jié)點處執(zhí)行主分布式節(jié)點服務管理角色中的分布式節(jié)點服務管理功能。
16.如權利要求1所述的方法,其中在所述多個處理器節(jié)點中的處理器節(jié)點處,在如下分布式節(jié)點服務管理角色中執(zhí)行所述分布式節(jié)點服務管理,該分布式節(jié)點服務管理角色包括用于檢測與分布式計算系統(tǒng)的其它處理器節(jié)點的分布式節(jié)點服務管理操作有關的錯誤的健康檢查功能,其中所述健康檢查功能包括向分布式計算系統(tǒng)中的每個節(jié)點發(fā)送請求消息以便確定它們的當前操作狀態(tài),以及其中所述分布式計算系統(tǒng)中的所述多個處理器節(jié)點中的任何處理器節(jié)點能夠被選擇來在包括所述健康檢查功能的分布式節(jié)點服務管理角色中執(zhí)行分布式節(jié)點服務管理。
17.如權利要求5所述的方法,其中分布式節(jié)點服務管理還包括:自動重新配置第一處理器節(jié)點處的分布式節(jié)點服務管理角色,以便恢復到在第一處理器節(jié)點處執(zhí)行的分布式節(jié)點服務管理再次處于主分布式節(jié)點服務管理角色中的以前配置,使得其它處理器節(jié)點選擇第一處理器節(jié)點處理服務通知以便聯(lián)系遠程服務中心,以及其中分布式節(jié)點服務管理還包括:自動重新配置第三處理器節(jié)點處的分布式節(jié)點服務管理角色,以便恢復到在第三處理器節(jié)點處執(zhí)行的分布式節(jié)點服務管理再次處于備用分布式節(jié)點服務管理角色中的所述以前配置。
18.如權利要求6所述的方法,其中響應于為所述第三處理器節(jié)點選擇的分布式節(jié)點服務管理角色從所述備用分布式節(jié)點服務管理角色到所述主分布式節(jié)點服務管理角色的改變,在所述主分布式節(jié)點服務管理角色中的第三處理器節(jié)點處的分布式節(jié)點服務管理還包括:向分布式計算系統(tǒng)中的其它處理器節(jié)點廣播分布式節(jié)點服務管理系統(tǒng)狀態(tài)消息,以指示主分布式節(jié)點服務管理角色中的分布式節(jié)點服務管理功能正在第三處理器節(jié)點處而不是在第一處理器節(jié)點處被執(zhí)行,以及其中響應于該狀態(tài)消息,每個處理器節(jié)點更新分布式節(jié)點服務管理配置信息的本地拷貝,以便指示主分布式節(jié)點服務管理角色正在第三處理器節(jié)點處而不是在第一處理器節(jié)點處被執(zhí)行。
19.如權利要求3所述的方法,其中所述分布式節(jié)點服務管理在所述多個處理器節(jié)點中的額外處理器節(jié)點處,在為所述額外處理器節(jié)點選擇的激活備用分布式節(jié)點服務管理角色中被執(zhí)行,其中激活備用分布式節(jié)點服務管理角色包括:在所述第一處理器節(jié)點處執(zhí)行所述主分布式節(jié)點服務管理角色中的分布式節(jié)點服務管理功能時失敗的情況下,在所述額外處理器節(jié)點中的每一個處執(zhí)行的激活分布式節(jié)點服務管理角色包括對于所述額外處理器節(jié)點中的每個特定處理器節(jié)點,代表該特定處理器節(jié)點產(chǎn)生服務請求,并且將該服務請求發(fā)送到用于為分布式計算系統(tǒng)提供服務的服務中心,其中該服務請求是響應于該特定處理器節(jié)點處的服務狀況而產(chǎn)生的,并且包括該特定處理器節(jié)點處的服務狀況的服務通知。
20.一種分布式計算系統(tǒng),包括: 多個處理器節(jié)點;和計算機可讀存儲介質(zhì),其中包含有由處理器節(jié)點執(zhí)行以便執(zhí)行計算操作的計算機可讀程序代碼,所述計算操作包括: 在具有多個處理器節(jié)點的分布式計算系統(tǒng)中在所述多個處理器節(jié)點中的每一個處執(zhí)行數(shù)據(jù)處理功能; 對于所述分布式計算系統(tǒng)中的所述多個處理器節(jié)點中的每一個,從在分布式節(jié)點服務管理系統(tǒng)中能夠使用的多個分布式節(jié)點服務管理操作角色中選擇分布式節(jié)點服務管理操作角色;和 在所述多個處理器節(jié)點中的每一個處執(zhí)行分布式節(jié)點服務管理,其中在每個處理器節(jié)點處在為特定處理器節(jié)點選擇的分布式節(jié)點服務管理角色中執(zhí)行分布式節(jié)點服務管理,并且分布式節(jié)點服務管理包括對服務請求進行處理以為分布式計算系統(tǒng)的處理器節(jié)點提供服務。
21.如權利要求20所述的系統(tǒng),其中所述分布式節(jié)點服務管理在所述多個處理器節(jié)點中的第一處理器節(jié)點處,在為所述第一處理器節(jié)點選擇的主分布式節(jié)點服務管理角色中被執(zhí)行,其中主分布式節(jié)點服務管理角色包括:從所述多個處理器節(jié)點中的第二處理器節(jié)點接收服務請求,并且代表第二處理器節(jié)點將該服務請求轉(zhuǎn)發(fā)到用于為分布式計算系統(tǒng)的第二處理器節(jié)點提供服務的遠程服務中心。
22.如權利要求21所述的系統(tǒng),其中所述分布式節(jié)點服務管理在所述多個處理器節(jié)點中的所述第二處理器節(jié)點處,在為所述第二處理器節(jié)點選擇的成員分布式節(jié)點服務管理角色中被執(zhí)行,其中成員分布式節(jié)點 服務管理角色包括:代表第二處理器節(jié)點產(chǎn)生服務請求,并且將該服務請求發(fā)送到第一處理器節(jié)點以便轉(zhuǎn)發(fā)到遠程服務中心,其中該服務請求是響應于第二處理器節(jié)點處的服務狀況而產(chǎn)生的,并且包括第二處理器節(jié)點處的服務狀況的服務通知。
23.如權利要求20所述的系統(tǒng),其中所述分布式計算系統(tǒng)中的多個處理器節(jié)點中的每一個處的所述數(shù)據(jù)處理功能包括數(shù)據(jù)備份功能,所述數(shù)據(jù)備份功能包括在主機和數(shù)據(jù)存儲之間傳送數(shù)據(jù)。
24.如權利要求22所述的系統(tǒng),其中所述分布式節(jié)點服務管理在所述多個處理器節(jié)點中的第三處理器節(jié)點處,在為所述第三處理器節(jié)點選擇的備用分布式節(jié)點服務管理角色中被執(zhí)行,其中備用分布式節(jié)點服務管理角色包括:在所述第一處理器節(jié)點處執(zhí)行所述主分布式節(jié)點服務管理角色中的分布式節(jié)點服務管理功能時失敗的情況下,將為所述第三處理器節(jié)點選擇的分布式節(jié)點服務管理角色從所述備用分布式節(jié)點服務管理角色改變?yōu)樗鲋鞣植际焦?jié)點服務管理角色,使得在第三處理器節(jié)點處而不是在第一處理器節(jié)點處執(zhí)行主分布式節(jié)點服務管理角色中的分布式節(jié)點服務管理功能。
25.如權利要求24所述的系統(tǒng),其中在所述第二處理器節(jié)點處執(zhí)行的成員分布式節(jié)點服務管理角色包括:在所述第一處理器節(jié)點處執(zhí)行所述主分布式節(jié)點服務管理角色中的分布式節(jié)點服務管理服務請求轉(zhuǎn)發(fā)功能時失敗的情況下,將該服務請求發(fā)送到第三處理器節(jié)點,以便在第三處理器節(jié)點的所述主分布式節(jié)點服務管理角色中轉(zhuǎn)發(fā)到遠程服務中心。
26.如權利要求22所述的系統(tǒng),其中所述分布式節(jié)點服務管理在所述多個處理器節(jié)點中的多個額外處理器節(jié)點處,在為每個額外處理器節(jié)點選擇的分布式-備用分布式節(jié)點服務管理角色中被執(zhí)行,其中分布式-備用分布式節(jié)點服務管理角色包括:在所述第一處理器節(jié)點處執(zhí)行所述主分布式節(jié)點服務管理角色中的分布式節(jié)點服務管理功能時失敗的情況下,對于所述多個處理器節(jié)點中的每個特定處理器節(jié)點,在每個特定處理器節(jié)點處而不是在第一處理器節(jié)點處代表該特定處理器節(jié)點執(zhí)行分布式節(jié)點服務管理功能。
27.如權利要求26所述的系統(tǒng),其中在所述多個額外處理器節(jié)點中的每一個處執(zhí)行的分布式-備用分布式節(jié)點服務管理角色包括:對于所述多個處理器節(jié)點中的每個特定處理器節(jié)點,在所述第一處理器節(jié)點處執(zhí)行所述主分布式節(jié)點服務管理角色中的分布式節(jié)點服務管理服務請求轉(zhuǎn)發(fā)功能時失敗的情況下,代表所述多個額外處理器節(jié)點中的該特定處理器節(jié)點將服務請求發(fā)送到遠程服務中心。
28.如權利要求20所述的系統(tǒng),其中在所述多個處理器節(jié)點中的每一個處執(zhí)行的分布式節(jié)點服務管理角色包括:對于所述多個處理器節(jié)點中的每個特定處理器節(jié)點,代表該特定處理器節(jié)點產(chǎn)生服務請求,并且將該服務請求發(fā)送到用于為分布式計算系統(tǒng)提供服務的服務中心,其中該服務請求是響應于該特定處理器節(jié)點處的服務狀況而產(chǎn)生的,并且包括該特定處理器節(jié)點處的服務狀況的服務通知。
29.如權利要求20所述的系統(tǒng),其中所述分布式節(jié)點服務管理在所述多個處理器節(jié)點中的第三處理器節(jié)點處,在為所述第三處理器節(jié)點選擇的主分布式節(jié)點服務管理角色中被執(zhí)行,其中主分布式節(jié)點服務管理角色包括:從所述多個處理器節(jié)點中的第四處理器節(jié)點接收服務請求,并且代表第四處理器節(jié)點將該服務請求轉(zhuǎn)發(fā)到用于為分布式計算系統(tǒng)提供服務的遠程服務中心。
30.如權利要求29所述的系統(tǒng),其中在所述第一處理器節(jié)點和第三處理器節(jié)點處在主分布式節(jié)點服務管理角色中執(zhí)行的所述分布式節(jié)點服務管理包括:在所述第一處理器節(jié)點和第三處理器節(jié)點之間平衡主分布式節(jié)點服務管理角色中的分布式節(jié)點服務管理工作負載。
31.如權利要求30所 述的系統(tǒng),其中在所述第一處理器節(jié)點和第三處理器節(jié)點處在主分布式節(jié)點服務管理角色中執(zhí)行的所述分布式節(jié)點服務管理包括:在所述第一處理器節(jié)點處執(zhí)行所述主分布式節(jié)點服務管理角色中的分布式節(jié)點服務管理功能時失敗的情況下,承擔來自所述第一處理器節(jié)點的分布式節(jié)點服務管理功能,使得在第三處理器節(jié)點處而不是在第一處理器節(jié)點處在主分布式節(jié)點服務管理角色中執(zhí)行所承擔的分布式節(jié)點服務管理功能。
32.如權利要求20所述的系統(tǒng),其中所述服務請求包括如下之一:服務通知,服務中心對所述多個處理器節(jié)點中的處理器節(jié)點的遠程訪問的請求,本地用戶對所述多個處理器節(jié)點中的處理器節(jié)點的本地訪問的請求,以及處理器節(jié)點健康狀態(tài)請求。
33.如權利要求24所述的系統(tǒng),其中所述第一處理器節(jié)點處的主分布式節(jié)點服務管理角色中的分布式節(jié)點服務管理功能還包括如下至少一項:為所述服務中心提供對所述分布式計算系統(tǒng)的其它處理器節(jié)點的遠程訪問,為用戶提供對所述分布式計算系統(tǒng)的其它處理器節(jié)點的本地訪問,以及監(jiān)視所述分布式計算系統(tǒng)的其它處理器節(jié)點的健康。
34.如權利要求22所述的系統(tǒng),其中在所述多個處理器節(jié)點中的第三處理器節(jié)點處,也在為所述第三處理器節(jié)點選擇的成員分布式節(jié)點服務管理角色中執(zhí)行所述分布式節(jié)點服務管理,其中所述第一處理器節(jié)點和第二處理器節(jié)點均是集群中的對等節(jié)點,其中第三處理器節(jié)點的成員分布式節(jié)點服務管理角色包括:在第一處理器節(jié)點未能響應由第二處理器節(jié)點發(fā)送的服務請求的情況下,代表第二處理器節(jié)點向第一處理器節(jié)點重新發(fā)送該服務請求以便轉(zhuǎn)發(fā)到遠程服務中心,其中在所述多個處理器節(jié)點中的第四處理器節(jié)點處,在為所述第四處理器節(jié)點選擇的備用分布式節(jié)點服務管理角色中執(zhí)行所述分布式節(jié)點服務管理,其中備用分布式節(jié)點服務管理角色包括:在第一處理器節(jié)點未能響應由第三處理器節(jié)點代表第二處理器節(jié)點發(fā)送的服務請求的情況下,將為所述第四處理器節(jié)點選擇的分布式節(jié)點服務管理角色從所述備用分布式節(jié)點服務管理角色改變?yōu)樗鲋鞣植际焦?jié)點服務管理角色,使得在第四處理器節(jié)點處而不是在第一處理器節(jié)點處執(zhí)行主分布式節(jié)點服務管理角色中的分布式節(jié)點服務管理功能。
35.如權利要求20所述的系統(tǒng),其中所述分布式節(jié)點服務管理在所述多個處理器節(jié)點中的處理器節(jié)點處,在如下分布式節(jié)點服務管理角色中被執(zhí)行,該分布式節(jié)點服務管理角色包括用于檢測與分布式計算系統(tǒng)的其它處理器節(jié)點的分布式節(jié)點服務管理操作有關的錯誤的健康檢查功能,其中所述健康檢查功能包括向分布式計算系統(tǒng)中的每個節(jié)點發(fā)送請求消息以便確定它們的當前操作狀態(tài),以及其中所述分布式計算系統(tǒng)中的所述多個處理器節(jié)點中的任何處理器節(jié)點能夠被選擇來在包括所述健康檢查功能的分布式節(jié)點服務管理角色中執(zhí)行分布式節(jié)點服務管理。
36.如權利要求24所述的系統(tǒng),其中分布式節(jié)點服務管理還包括:自動重新配置第一處理器節(jié)點處的分布式節(jié)點服務管理角色,以便恢復到在第一處理器節(jié)點處執(zhí)行的分布式節(jié)點服務管理再次處于主分布式節(jié)點服務管理角色中的以前配置,使得其它處理器節(jié)點選擇第一處理器節(jié)點處理服務通知以便聯(lián)系遠程服務中心,以及其中分布式節(jié)點服務管理還包括:自動重新配置第三處理器節(jié)點處的分布式節(jié)點服務管理角色,以便恢復到在第三處理器節(jié)點處執(zhí)行的分布式節(jié)點服務管理再次處于備用分布式節(jié)點服務管理角色中的所述以前配置。
37.如權利要求25所述的系統(tǒng),其中響應于為所述第三處理器節(jié)點選擇的分布式節(jié)點服務管理角色從所述備用分布式節(jié)點服務管理角色到所述主分布式節(jié)點服務管理角色的改變,在所述主分布式節(jié)點服務管理角色中的第三處理器節(jié)點處的分布式節(jié)點服務管理還包括:向分布式計算系統(tǒng)中的其它處理器節(jié)點廣播分布式節(jié)點服務管理系統(tǒng)狀態(tài)消息,以指示主分布式節(jié)點服務管理角色中的分布式節(jié)點服務管理功能正在第三處理器節(jié)點處而不是在第一處理器節(jié)點處被執(zhí)行,以及其中響應于該狀態(tài)消息,每個處理器節(jié)點更新分布式節(jié)點服務管理配置信息的本地拷貝,以便指示主分布式節(jié)點服務管理角色正在第三處理器節(jié)點處而不是在第一處理器節(jié)點處被執(zhí)行。
38.如權利要求22所述的系統(tǒng),其中所述分布式節(jié)點服務管理在所述多個處理器節(jié)點中的額外處理器節(jié)點處,在為所述額外處理器節(jié)點選擇的激活備用分布式節(jié)點服務管理角色中被執(zhí)行,其中激活備用分布式節(jié)點服務管理角色包括:在所述第一處理器節(jié)點處執(zhí)行所述主分布式節(jié)點服務管理角色中的分布式節(jié)點服務管理功能時失敗的情況下,在所述額外處理器節(jié)點中的每一個處執(zhí)行的激活分布式節(jié)點服務管理角色包括對于所述額外處理器節(jié)點中的每個特定處理器節(jié)點,代表該特定處理器節(jié)點產(chǎn)生服務請求,并且將該服務請求發(fā)送到用于為分布式計算系統(tǒng)提供服務的服務中心,其中該服務請求是響應于該特定處理器節(jié)點處的服務狀況而產(chǎn)生的,并且包括該特定處理器節(jié)點處的服務狀況的服務通知。
【文檔編號】H04L29/08GK103581289SQ201310345015
【公開日】2014年2月12日 申請日期:2013年8月9日 優(yōu)先權日:2012年8月9日
【發(fā)明者】J·W·丹, S·萊曼, D·米蘭德 申請人:國際商業(yè)機器公司