專利名稱:虛擬應用交付機箱系統(tǒng)的制作方法
技術領域:
本發(fā)明大體上涉及數(shù)據通信,更具體地,涉及虛擬應用交付機箱系統(tǒng)。
背景技術:
Web服務和云計算正以史無前例的速度部署。每天都在資料處理中心卸載和安裝新的服務器。對于Web服務和企業(yè)計算的需求來自各個方面。面向用戶的服務包括iPhone 應用、移動應用(諸如基于位 置的服務)、路線規(guī)劃導航服務、諸如Kindle 的電子書服務、諸如YouTube 或Hulu 的視頻應用、諸如Pandora 或iTunes 的音樂應用、諸如Netflix 的互聯(lián)網電視服務、以及許多其他快速發(fā)展的用戶Web服務。在企業(yè)領域,包括諸如 Google docs 的基于云計算的服務、Microsoft Office Live 和 Sharepoint software、Salesforce. com 的在線軟件服務、遠地呈現(xiàn)和網絡會議服務、以及許多其他的企業(yè)云計算服務。因此,部署越來越多的服務器從而適應日益增長的計算需求。這些服務器傳統(tǒng)上是由服務器負載均衡器(SLB)或應用交付控制器(ADC)管理的。ADC通常是網絡裝置,諸如AlO網絡的AX系列流量管理器。ADC基于輸入服務請求來管理負載平衡和從客戶端主機計算機到服務器的服務會話交付。隨著部署更多服務器,相應地部署更多ADC。相似地,隨著更多服務器集中在數(shù)據中心或者跨多個數(shù)據中心延伸以提供可擴展服務解決方案,ADC成為瓶頸。
發(fā)明內容
在本發(fā)明的一個實施方式中,提供一種在虛擬應用交付機箱(virtualapplication distribution chassis)中選出主刀片的方法,該虛擬應用交付機箱包括多個刀片,該方法包括以下步驟(a)多個刀片中各個刀片將虛擬應用交付機箱消息發(fā)送至該虛擬應用交付機箱中的各個其他刀片;(b)各個刀片判定是否在預定時段內接收到來自主刀片的虛擬應用交付機箱消息;(C)響應于判定在預定時段內未接收到來自主刀片的虛擬應用交付機箱消息,各個刀片將主聲明消息(master claim message)發(fā)送至虛擬應用交付機箱中的各個其他刀片,各主聲明消息包含針對發(fā)送刀片的刀片優(yōu)先級;(d)接收主聲明消息的各個刀片判定從接收的主聲明消息獲得的刀片優(yōu)先級中是否有任意刀片優(yōu)先級高于該接收刀片的刀片優(yōu)先級;(e)響應于特定接收刀片判定從接收的主聲明消息獲得的刀片優(yōu)先級都不高于該特定接收刀片的刀片優(yōu)先級,將該特定接收刀片的狀態(tài)設定為新主刀片;以及(f)該特定接收刀片將第二虛擬應用交付機箱消息發(fā)送至該虛擬應用交付機箱中的其他刀片,該第二虛擬應用交付機箱消息指示該特定接收刀片的新主刀片狀態(tài)。在本發(fā)明的一方面中,多個刀片包括主刀片和一個以上從刀片,其中,如果至少一個從刀片正在正確運行,那么該至少一個從刀片將虛擬應用交付機箱消息發(fā)送至虛擬應用交付機箱中的各個其他刀片,以及其中,如果主刀片正在正確運行,那么該主刀片將虛擬應用交付機箱消息發(fā)送至虛擬應用交付機箱中的各個其他刀片。
在本發(fā)明的一方面中,多個刀片包括一主刀片和一個以上從刀片,其中,判定(b)進一步包括以下步驟(bl)由各個刀片判定是否在預定時段內接收到來自虛擬應用交付機箱的各個從刀片的虛擬應用交付機箱消息;(b2)響應于判定在預定時段內未接收到來自特定從刀片的虛擬應用交付機箱消息,接收該虛擬應用交付機箱消息的各個刀片將該特定從刀片標記為“故障”;以及(b3)響應于判定在預定時段內接收到來自特定從刀片的虛擬應用交付機箱消息,接收該虛擬應用交付機箱消息的各個刀片將該特定從刀片標記為正確運行。在本發(fā)明的一方面中,判定(d)和設定(e)包括以下步驟(dl)特定的接收刀片將從特定主聲明消息獲得的刀片優(yōu)先級與該特定的接收刀片的刀片優(yōu)先級進行比較;(el)響應于判定該特定的接收刀片的刀片優(yōu)先級高于從特定主聲明消息獲得的刀片優(yōu)先級,重復與另一接收的主聲明消息的比較(dl);以及(e2)響應于判定該特定的接收刀片的刀片優(yōu)先級高于從各個其他接收的主聲明消息獲得的刀片優(yōu)先級,將該特定的接收刀片的狀態(tài)設定為新的主刀片。
在本發(fā)明的一方面中,判定(d)和設定(e)包括以下步驟(dl)特定的接收刀片將從特定的主聲明消息獲得的刀片優(yōu)先級與該特定的接收刀片的刀片優(yōu)先級進行比較;以及(el)響應于判定從特定的主聲明消息獲得的刀片優(yōu)先級高于該特定的接收刀片的刀片優(yōu)先級,保持該特定的接收刀片的從狀態(tài)。在本發(fā)明的一方面中,各個主聲明消息進一步包括發(fā)送刀片的刀片標識,其中,t匕較(dl)、重復(el)和設定(e2)包括以下步驟(dli)特定的接收刀片判定從特定的主聲明消息獲得的刀片優(yōu)先級等于該特定的接收刀片的刀片優(yōu)先級;(dlii)響應于判定從特定主聲明消息獲得的刀片優(yōu)先級等于該特定的接收刀片的刀片優(yōu)先級,判定從特定的主聲明消息獲得的刀片優(yōu)先級在數(shù)值上是否小于該特定的接收刀片的刀片優(yōu)先級;(eli)響應于判定從特定的主聲明消息獲得的刀片優(yōu)先級在數(shù)值上小于該特定的接收刀片的刀片優(yōu)先級,重復與另一接收的主聲明消息的比較(dl);以及(e2i)響應于判定該特定的接收刀片的刀片優(yōu)先級高于或等于并且在數(shù)值上小于從各個其他接收的主聲明消息獲得的刀片優(yōu)先級,將該特定的接收刀片的狀態(tài)設定為新的主刀片。在本發(fā)明的一方面中,發(fā)送(f)包括以下步驟(fl)由多個刀片中的特定從刀片判定是否在第二預定時段內接收到第二虛擬應用交付機箱消息;以及(f2)響應于由該特定從刀片判定在第二預定時段內未接收到第二虛擬應用交付機箱消息,將該特定從刀片的狀態(tài)設定為新的主刀片,并且由該特定從刀片將第二虛擬應用交付消息發(fā)送至虛擬應用交付機箱中的其他刀片。在本發(fā)明的一方面中,所述方法還包括以下步驟(g)添加新刀片至虛擬應用交付機箱;(h)由該新刀片將第二主聲明消息發(fā)送至虛擬應用交付機箱中的各個其他刀片;
(i)響應于從該新刀片接收到第二主聲明消息,由各個其他刀片判定主刀片是否被標記為正確運行;以及(j)響應于由各個其他刀片判定主刀片被標記為正確運行,忽略第二主聲明消息,否則執(zhí)行發(fā)送(C)、判定(d)、設定(e)和發(fā)送(f)。在本發(fā)明的一方面中,多個刀片可操作地耦接為數(shù)據網絡內的虛擬應用交付機箱,該數(shù)據網絡包括網絡交換機,其中,該方法進一步包括以下步驟(g)將多個刀片中的第一刀片指定為對于虛擬地址的現(xiàn)役刀片,并且將多個刀片中的第二刀片指定為對于該虛擬地址的備用刀片,其中,目的地為該虛擬地址的服務請求由網絡交換機發(fā)送至第一刀片。在本發(fā)明的一方面中,該方法進一步包括以下步驟(h)由各個刀片判定在預定時段內未接收到來自第一刀片的虛擬應用交付機箱消息;(i)響應于判定在預定時段內未接收到來自第一刀片的虛擬應用交付機箱消息,將第二刀片的狀態(tài)改為針對該虛擬地址的現(xiàn)役刀片;以及(j)發(fā)送虛擬地址改變消息至網絡交換機,以通知網絡交換機將目的地為該虛擬地址的未來服務請求發(fā)送至第二刀片。也在本文描述并要求對應于上面概括的方法的計算機程序產品和系統(tǒng)。
圖I示出根據本發(fā)明的實施方式將服務會話從主 機分發(fā)至服務器的虛擬應用交付機箱。圖2示出根據本發(fā)明的實施方式的應用交付刀片、主機和服務器的部件。圖3示出根據本發(fā)明的實施方式在虛擬應用交付機箱中應用交付刀片的連接。圖4示出根據本發(fā)明的實施方式在虛擬應用交付機箱中刀片的角色。圖5示出根據本發(fā)明的實施方式在虛擬應用交付機箱中選出主刀片的處理。圖6示出根據本發(fā)明的實施方式將刀片加入虛擬應用交付機箱。圖7示出根據本發(fā)明的實施方式在虛擬應用交付機箱與主機之間的服務連接。
具體實施例方式呈現(xiàn)下面的描述使本領域的普通技術人員能夠實現(xiàn)并使用本發(fā)明,并且在專利申請及其要求的語境中提供以下描述。實施方式的各種變形例對本領域的技術人員而言是顯而易見的,并且本文的普通原理可以應用于其他實施方式。因此,本發(fā)明并不旨在限于所示實施方式,而是符合與本文所描述的原理和特征相一致的最寬范疇。本發(fā)明可以采用完全硬件實施方式、完全軟件實施方式、或包含硬件元件和軟件元素這兩者的實施方式的形式。在優(yōu)選的實施方式中,以軟件來實現(xiàn)本發(fā)明,該軟件包括但不限于固件、常駐軟件、微代碼等。此外,本發(fā)明可以采用從計算機可用或計算機可讀介質可訪問的計算機程序產品的形式,該計算機程序產品提供結合或由計算機或是任何指令執(zhí)行系統(tǒng)使用的程序代碼。出于描述的目的,計算機可用或計算機可讀介質可以是能夠含有、存儲、通信、傳播、或傳輸結合或由指令執(zhí)行系統(tǒng)、裝置、或設備使用的程序的任何裝置。該介質可以是電子的、磁的、光的、電磁的、紅外線的、或半導體系統(tǒng)(或者是裝置或設備)或傳播介質。計算機可讀介質的實例包括半導體或固態(tài)存儲器、磁帶、可移動計算機磁盤、隨機存取存儲器(RAM)、只讀存儲器(ROM)、硬磁盤以及光盤。目前的光盤實例包括光盤-只讀存儲器(CD-ROM)、光盤-讀/寫(CD-R/W)和DVD。適用于存儲和/或執(zhí)行程序代碼的數(shù)據處理系統(tǒng)將包括通過系統(tǒng)總線直接或間接耦接至存儲器元件的至少一個處理器。存儲器元件可以包括在執(zhí)行程序代碼期間使用的局部存儲器、體存儲器、以及高速緩沖存儲器,該高速緩沖存儲器提供對于某些程序代碼的臨時存儲從而減少在執(zhí)行期間必須從體存儲器中檢索代碼的次數(shù)。輸入/輸出或I/O設備(包括但不限于鍵盤、顯示器、定點設備等)可以直接或通過介于其間的I/O控制器間接地耦接至系統(tǒng)。網絡適配器也可以耦接至系統(tǒng),從而使數(shù)據處理系統(tǒng)能夠通過介于其間的專用網絡或公共網絡耦接至其他數(shù)據處理系統(tǒng)或遠程打印機或存儲設備。調制解調器、電纜調制解調器以及以太網卡僅僅是一些當前可用類型的網絡適配器。附圖中的框圖示出了根據本發(fā)明的多種實施方式的系統(tǒng)、方法、和計算機程序產品的可能的實現(xiàn)方式的架構、功能以及操作。就這一點而言,框圖中的每個框可以表示模塊、片段、或部分代碼,其包含用于實現(xiàn)指定的局部功能的一個或多個可執(zhí)行指令。還應當注意的是,在一些可替換實現(xiàn)方式中,可以不按照圖中所注解的順序實現(xiàn)框中注解的功能。例如,接連示出的兩個塊實際上可以基本上同時地執(zhí)行,或取決于所設計的功能,有時可以按照相反順序來執(zhí)行塊。還應當注意的是,框圖中塊的組合可以由執(zhí)行指定功能或動作的專用基于硬件的系統(tǒng)或專用硬件與計算機指令的組合來實現(xiàn)。
本文使用的術語只是為了描述具體的實施方式,并不旨在限制本發(fā)明。如本文所使用的,單數(shù)形式“一(a)”、“一(an)”、和“這個(the) ”旨在包括復數(shù)形式,除非文中清楚地表明正相反。將進一步理解的是,當在該說明書中使用術語“包含(comprises) ”和/或“包含(comprising) ”時,指明存在所闡明的特征、整體、步驟、操作、元件、和/或部件,但并不排除存在或增加一個或多個其他特征、整體、步驟、操作、元件、部件、和/或其組合。圖I示出根據本發(fā)明的實施方式、將應用服務會話401從服務器200交付至主機100的虛擬應用交付機箱300。虛擬應用交付機箱300從主機100接收在主機100與服務器200之間的應用服務會話401的服務請求403。通過數(shù)據網絡153傳遞服務請求403。在一個實施方式中,服務會話401為Web服務會話,并且服務請求403是Web服務請求,諸如HTTP (超文本傳輸協(xié)議)請求、安全HTTP請求、FTP (文件傳輸協(xié)議)請求、文件傳輸請求、 SIP (會話初始化協(xié)議)會話請求、基于Web技術的請求、視頻或音頻流請求、Web會議會話請求、或通過互聯(lián)網或企業(yè)網絡的任何請求。在一個實施方式中,服務會話401為非Web服務的會話,諸如遠程訪問服務、文件和打印服務、名稱或文件夾服務、企業(yè)應用服務、數(shù)據庫應用服務或者消息服務。服務請求403為服務會話401的相應請求。圖2示出根據本發(fā)明的實施方式的應用交付刀片、主機和服務器的部件。主機100是具有網絡訪問能力的計算設備。如圖2所示,主機100可操作地耦接至處理器103、計算機可讀介質104、以及網絡接口 105。計算機可讀介質104存儲當由處理器103執(zhí)行時用于實現(xiàn)本文所描述的本發(fā)明的各種實施方式的計算機可讀程序代碼。網絡接口 105連接至數(shù)據網絡153。網絡接口 105實例包括以太網、WiFi、移動網絡接口、藍牙、WiMAX、數(shù)字用戶線(DSL)、電纜接口、諸如Tl或T3的寬帶網絡接口、光網絡接口、無線網絡接口或者其他數(shù)據網絡接口。在一個實施方式中,主機100是工作站、桌上型個人計算機或膝上型個人計算機。在一個實施方式中,主機100是個人數(shù)字助理(PDA)、智能手機、或蜂窩電話。在一個實 施方式中,主機100是機頂盒、互聯(lián)網媒體展示器(viewer)、互聯(lián)網媒體播放器、智能傳感器、智能醫(yī)療器械、網頂盒、網絡電視、網絡DVR、網絡藍光播放器、或媒體中心。圖I中,虛擬應用交付機箱300包括多個刀片,諸如刀片310、刀片312、刀片314和刀片316。如圖2所示,各個刀片(例如,刀片310)可操作地耦接至處理器303、計算機可讀媒介304和網絡接口 305。計算機可讀介質304存儲計算機可讀程序代碼,當處理器303執(zhí)行該程序代碼時實現(xiàn)本文所描述的本發(fā)明的各種實施方式。在某些實施方式中,虛擬應用交付機箱300被實現(xiàn)為服務器負載均衡器、應用交付控制器、服務交付平臺、流量管理器、安全網關、防火墻系統(tǒng)的部件、虛擬專用網(VPN)的部件、用于視頻服務器的負載均衡器、或將負載分配給多個服務器的網關。網絡接口 305連接至數(shù)據網絡155。圖I中,刀片310、312、314、316也連接至數(shù)據網絡151。刀片310、312、314、316通過它們至數(shù)據網絡151的連接來形成虛擬應用交付機箱300。在一個實施方式中,網絡接口 305包括網絡接口105的各種實施方式。在一個實施方式中,網絡接口 305還包括光網絡接口。圖2所示,服務器200可操作地耦接至處理器203、計算機可讀介質204和網絡接口 205。計算機可讀介質204存儲計算機可讀程序代碼,當由處理器203執(zhí)行該計算機可讀程序代碼時實現(xiàn)如本文所描述的本發(fā)明的各種實施方式。在一些實施方式中,計算機可讀程序代碼將服務器200實現(xiàn)為用作Web服務器、文件服務器、視頻服務器、數(shù)據庫服務器、消息服務器、打印機服務器、應用服務器、語音服務器、會議服務器、媒體網關、SIP服務器、遠程訪問服務器、VPN服務器或者媒體中心。網絡接口 205連接至數(shù)據網絡155。 返回至圖1,在一個實施方式中,數(shù)據網絡153連接主機100和虛擬應用交付機箱300。在一個實施方式中,數(shù)據網絡153為互聯(lián)網協(xié)議(IP)網絡。在一個實施方式中,數(shù)據網絡153是企業(yè)數(shù)據網絡或者區(qū)域企業(yè)數(shù)據網絡,包括但不限于企業(yè)內部網、專用網絡云、虛擬專用網絡或者校園局域網絡。在一個實施方式中,數(shù)據網絡153為互聯(lián)網服務提供商網絡。在一個實施方式中,數(shù)據網絡153為常駐數(shù)據網絡,包括但不限于諸如DSL網絡、電纜網絡或者個人局域網絡的寬帶網絡。在一個實施方式中,數(shù)據網絡153包括諸如以太網的有線網絡。在一個實施方式中,數(shù)據網絡153包括無線網絡,諸如WiFi網絡或者蜂窩網絡。在一個實施方式中,網絡接口 205包括網絡接口 105和網絡接口 305的各種實施方式。數(shù)據網絡151將虛擬應用交付機箱300連接至數(shù)據網絡153。在一個實施方式中,數(shù)據網絡151包括數(shù)據網絡153的各種實施方式。在一個實施方式中,數(shù)據網絡151常駐于數(shù)據中心中,通過諸如光網絡的廣域網跨越多個數(shù)據中心或者在校園局域網絡中的多個建筑物上延伸。數(shù)據網絡155將服務器200連接至數(shù)據網絡151。在一個實施方式中,數(shù)據網絡 155為數(shù)據網絡151的子網絡。在一個實施方式中,數(shù)據網路155包括數(shù)據網絡151的各種實施方式。在一個實施方式中,數(shù)據網絡151是不同于數(shù)據網絡155的網絡。在一個實施方式中,主機100發(fā)起與服務器200的應用服務會話401。主機100將服務請求403發(fā)送至虛擬應用交付機箱300。在虛擬應用交付機箱300接收到服務請求403之后,虛擬應用交付機箱300建立服務器會話405,并且將服務請求403中繼至服務器200。虛擬應用交付機箱300通過服務器會話405接收來自服務器200的響應。虛擬應用交付機箱300隨后通過服務器會話405將作為對于服務請求403響應的響應進行中繼。圖3示出根據本發(fā)明的實施方式的虛擬應用交付機箱的刀片的連接。在一個優(yōu)選實施方式中,刀片310是與其他刀片分離的硬件。刀片310通過數(shù)據網絡151連接至諸如刀片312、刀片314和刀片316的其他刀片。在一個實施方式中,數(shù)據網絡151包括多個網絡交換機,諸如交換機414、交換機412和交換機416。網絡交換機412或者網絡交換機414是連接多個刀片和其他網絡交換機的聯(lián)網裝置。在一個實施方式中,交換機412是以太網交換機、IP路由器、光網絡交換機、WAN網絡設備、ATM交換機、MPLS交換機、層2網絡交換機/集線器/橋接器、或者層3網絡交換機/路由器。在如圖3所示的一個實施方式中,交換機412連接刀片312、刀片310和交換機416 ;交換機414連接刀片314、刀片316和交換機416。在該實施方式中,刀片312使用交換機412與刀片310通信,以及使用交換機412、交換機416和交換機414通信至刀片316。在一個實施方式中,交換機412、交換機414和交換機416位于相同地理位置,諸如數(shù)據中心。在一個實施方式中,交換機412、交換機414和交換機416位于不同地理位置,諸如兩個以上數(shù)據中心。在該實施方式中,刀片310、312、314和316地理上位于不同的數(shù)據中心。刀片310通過發(fā)送和接收虛擬應用交付機箱消息(VDS) 500從而與虛擬應用交付機箱300中的其他刀片通信。在一個實施方式中,刀片310使用諸如以太網廣播地址的廣 播網絡地址來發(fā)送虛擬應用交付機箱消息500。在一個實施方式中,使用諸如以太網多播地址、IP多播地址或者其他多播網絡地址的多播地址來發(fā)送虛擬應用交付機箱消息500。在一個實施方式中,刀片310建立與刀片312的通信會話(未示出),并且使用該通信會話將虛擬應用交付機箱消息500發(fā)送至刀片312。刀片310還建立與虛擬應用交付機箱300中其他刀片的單獨通信會話,并且通過它們各自的通信會話將虛擬應用交付機箱消息500發(fā)送至其他刀片。通信會話的實例可為UDP會話、TCP會話、基于IP通信會話、點到點通信會話、單播通信會話或者其他形式數(shù)據通信會話。在一個實施方式中,刀片310使用廣播、多播地址或者與刀片312或虛擬應用交付機箱300中其他刀片的通信會話來接收虛擬應用交付機箱消息500。圖4示出根據本發(fā)明的實施方式、在虛擬應用交付機箱中刀片的角色。各個刀片被配置為虛擬應用交付機箱300中的主角色或者從角色,其中,僅一個刀片被配置為主角色。例如,假設刀片312為主刀片,刀片310、314和316為從刀片。各個從刀片(包括從刀片310)將從報告消息510發(fā)送至虛擬應用交付機箱300中的其他刀片。從報告消息510為虛擬應用交付機箱消息500的一種形式。接收的來自從刀片310的從報告消息510自身向其他刀片表明從刀片310正在正確運行??蛇x地,從報告消息510包括對本發(fā)明范圍以外的功能有用的、關于刀片310的其他信息。在實施方式中,從刀片310包括定時器320。定時器320測量預先配置的時段。當定時器320超時時,從刀片310將從報告消息510發(fā)送至虛擬應用交付機箱300中的其他刀片。在一個實施方式中,從刀片310每30秒、每5秒或者每3分鐘定期發(fā)送消息510。在一個實施方式中,當從刀片310中信息改變(諸如由于升級所引起的軟件版本改變)時,從刀片310發(fā)送消息510。在一個實施方式中,當從刀片310接收到來自虛擬應用交付機箱300中的另一刀片的對應從報告消息或者主通知消息504時,從刀片310發(fā)送消息510。在圖4所示的實例中,從刀片314和主刀片312接收來自從刀片310的從報告消息510。與在從報告消息510內包括狀態(tài)指不相反,接收的從報告消息510自身向從刀片314和主刀片312表明從刀片310正在正確運行。從刀片314和主刀片312都將從刀片310標記為正處于正確運轉狀態(tài)。在一個實施方式中,從刀片314包括定時器324。如果在定時器324超時之前從刀片314未接收到來自從刀片310的消息510,那么從刀片314將從刀片310視為“故障”,即,對于處理服務請求不可用。相似地,如果在定時器322超時之前主刀片312未接收到來自從刀片310的消息510,那么主刀片312將從刀片310視為“故障”。
主刀片312發(fā)出虛擬應用交付機箱消息500的另一形式的主通知消息504,以向虛擬應用交付機箱300中的從刀片告知主刀片312正在正確運行。在一個實施方式中,主刀片312包括定時器322,該定時器被配置為測量預定時段,并且當定時器322超時時,主刀片發(fā)送主通知消息504。在一個實施方式中,主刀片312每半秒、每5秒、每30秒或者每分鐘定期發(fā)送主通知消息504。在實施方式中,每當主刀片312的信息改變(諸如由于升級引起的軟件版本改變)時,主刀片312就發(fā)送消息504。在一個實施方式中,各個從刀片(包括從刀片314)接收來自主刀片312的主通知消息504。與在主通知消息504內包含狀態(tài)指示相反,接收的主通知消息504自身向從刀片表明主刀片312處于正確運轉狀態(tài)。在圖4所示的實例中,當從刀片314在定時器324超時之前接收到主通知消息504時,從刀片314將主刀片312標記為以正常操作運轉。在實施方式中,如果從刀片314在定時器324超時之前未接收到來自主刀片312的主通知消息504,那么從刀片314將主刀片312標記為“故障”。在該情況下,相似地,從刀片310和316在它們各自定時器320和326超時之前未接收到來自主刀片312的主通知消息504,進而將主刀片312標記為“故障”。 在從刀片310、314和316識別出主刀片312的故障之后,從刀片將選出新的主刀片。圖5示出根據本發(fā)明的實施方式在虛擬應用交付機箱中選出主刀片的處理。圖5中,從刀片310、314和316都認為自身有資格成為新的主刀片。各個刀片310、314和316將主聲明消息520、524、516發(fā)送至虛擬應用交付機箱300中的其他刀片,其中,主聲明消息包括針對發(fā)送刀片的刀片優(yōu)先級。刀片優(yōu)先級被預先配置,并且基于由機箱管理員可配置的因子表達刀片要被指定為主角色的順序。主聲明消息是虛擬應用交付機箱消息500的一種形式。例如,圖5中,從刀片310發(fā)送包括其刀片優(yōu)先級530的主聲明消息520 ;從刀片314發(fā)送包括其刀片優(yōu)先級534的主聲明消息524 ;從刀片316發(fā)送包括其刀片優(yōu)先級536的主聲明消息526。從刀片314接收來自從刀片310的主聲明消息520,并且從主聲明消息520獲得刀片優(yōu)先級530。從刀片314將其自身的刀片優(yōu)先級534與來自主聲明消息520的刀片優(yōu)先級530進行比較,進而判定刀片優(yōu)先級530高于刀片優(yōu)先級534。作為響應,從刀片314保持從角色。相似地,從刀片316接收來自從刀片310的主聲明消息520,并且從主聲明消息520獲得刀片優(yōu)先級530。從刀片316將其自身的刀片優(yōu)先級536與來自主聲明消息520的刀片優(yōu)先級530進行比較,進而判定刀片優(yōu)先級530高于其自身的刀片優(yōu)先級536。作為響應,從刀片316保持從角色。從刀片310接收來自從刀片314的主聲明消息524,并且從主聲明消息524獲得刀片優(yōu)先級534。從刀片310將其自身的刀片優(yōu)先級530與來自主聲明消息524的刀片優(yōu)先級534進行比較,進而判定刀片優(yōu)先級530高于刀片優(yōu)先級534。從刀片310還接收來自從刀片316的主聲明消息526,并且從主聲明消息526獲得刀片優(yōu)先級536。從刀片310將其自身的刀片優(yōu)先級530與刀片優(yōu)先級536進行比較,進而判定刀片優(yōu)先級530高于刀片優(yōu)先級536。在一個實施方式中,作為響應,從刀片310將其角色改變?yōu)橹鞯镀?。在一個實施方式中,從刀片310包括定時器320,并且在定時器320超時之前未接收到任何包含高于刀片優(yōu)先級530的刀片優(yōu)先級的主聲明消息。作為響應,從刀片310將其角色改變?yōu)橹鞯镀?。然后,新的主刀?10通過將主通知消息515發(fā)送至虛擬應用交付機箱300中的各個其他刀片從而將其新主角色告知其他刀片。在一個實施方式中,從刀片310判定刀片優(yōu)先級530等于刀片優(yōu)先級534。作為響應,從刀片310使用預定判優(yōu)處理來判定是從刀片310還是從刀片314具有較高優(yōu)先級。例如,在一個實施方式中,從刀片310被分配刀片標識330。從刀片310在主聲明消息520中包含刀片標識330。相似地,從刀片314被分配刀片標識334,并且在主聲明消息524中包含刀片標識334。一旦接收到主聲明消息524,從刀片310就將來自主聲明消息524的刀片標識334與其自身的刀片標識330進行比較,進而判定刀片標識334在數(shù)值上小于刀片標識330。作為響應,從刀片310判定其自身具有比刀片314更高的優(yōu)先級。假設從刀片310未接收到任何具有更高刀片優(yōu)先級、或者具有相等刀片優(yōu)先級并具有較高刀片標識的其他主聲明消息,從刀片310將其角色改變?yōu)橹鞯镀?。在一個實施方式中,預定判優(yōu)處理優(yōu)選數(shù)值上較小的刀片標識,而不是較高刀片標識。在不脫離本發(fā)明的精神和范圍的情況下,預定判優(yōu)處理可使用除了刀片標識以外的信息。當?shù)镀?10將其角色改變?yōu)橹鞯镀瑫r,刀片310將主通知消息515發(fā)送至虛擬應 用交付機箱300中的各個其他刀片。接收的主通知消息515自身向各個其他刀片表明刀片310為主刀片。例如,當從刀片314接收到來自主刀片310的主通知消息515時,從刀片314將主刀片310記錄為虛擬應用交付機箱300的主刀片。在一個實施方式中,從刀片314包括定時器324,并且在定時器324超時之前未接收到任何主通知消息。從刀片314判定還未判定主刀片。作為響應,從刀片314選出它自己為主刀片,并且將主通知消息發(fā)送至虛擬應用交付機箱300中的其他刀片。圖6示出根據本發(fā)明的實施方式在添加刀片至虛擬應用交付機箱時的處理。刀片316被添加至虛擬應用交付機箱300,該虛擬應用交付機箱具有作為主刀片的刀片312。一旦添加,刀片316就發(fā)送包含其刀片優(yōu)先級536的主聲明消息526。虛擬應用交付機箱300中的其他刀片310、312、314接收來自刀片316的主聲明消息526,判定它們都處于報告模式中(即,主刀片312被標記為處于正確運轉狀態(tài))進而忽略消息526。一旦主刀片312的定時器322 (圖4)超時,主刀片就發(fā)出主通知消息504。在一個實施方式中,主通知消息504包含主刀片312的刀片優(yōu)先級532。響應于接收到主通知消息504,刀片316將其角色設定為從刀片。接收的主通知消息504自身向刀片316表明虛擬應用交付機箱300已經具有正確運轉的主刀片。隨后,一旦從刀片316的定時器326 (圖4)超時,從刀片316就將從報告消息516發(fā)出至虛擬應用交付機箱300中的其他刀片。如上文參考圖4所述,由其他刀片(包括主刀片312)接收到的來自從刀片316的從報告消息516表明刀片316已經新加入虛擬應用交付機箱300。在該實施方式中,上述處理可用于將刀片添加至現(xiàn)有機箱或者新形成的機箱。當形成新的虛擬應用交付機箱時,加入該機箱的各刀片將發(fā)出主聲明消息。如上文參考圖5所述,由于還沒有主刀片(B卩,在刀片的各自定時器超時之前刀片都未接收到主通知消息),所以刀片進入選出主刀片的處理?;仡櫶摂M應用交付機箱300與主機100之間的連接,圖7示出根據本發(fā)明實施方式的、在主機100與虛擬應用交付機箱300之間的連接。在該實施方式中,主機100通過網絡交換機418與虛擬應用交付機箱300通信。網絡交換機418連接至刀片310和刀片314。虛擬應用交付機箱300包括虛擬地址423。虛擬地址423為網絡地址,主機100使用該網絡地址與虛擬應用交付機箱300通信。在一個實施方式中,虛擬地址423為IP地址或者其他網絡地址。刀片310被指定為用于虛擬地址423的現(xiàn)役刀片。刀片314被指定為用于虛擬地址423的備用刀片。因此,虛擬應用交付機箱300中的現(xiàn)役刀片和備用刀片被指定用于數(shù)據網絡151的各個虛擬地址。網絡交換機418將目的地為虛擬地址423的數(shù)據包交付給現(xiàn)役刀片310。主機100使用虛擬地址423將服務請求403發(fā)送至虛擬應用交付機箱300。當網絡交換機418接收到服務請求403包時,網絡交換機418將該包發(fā)送至被指定用于虛擬地址423的現(xiàn)役刀片310?,F(xiàn)役刀片310接收服務請求403并且處理服務請求403。在一個實施方式中,現(xiàn)役刀片310出現(xiàn)故障,并且一旦定時器320超時時,如果現(xiàn)役刀片310為主刀片,現(xiàn)役刀片310未發(fā)送從報告消息510或者未發(fā)送主通知消息。在定時器324超時之前,備用刀片314未接收到來自現(xiàn)役刀片310的從報告消息510。作為響應,備用刀片314判定現(xiàn)役刀片310已經出現(xiàn)故障。備用刀片314將其角色改變?yōu)橛糜谔摂M地 址423的現(xiàn)役刀片?,F(xiàn)役刀片314發(fā)送虛擬地址改變消息446以告知網絡交換機418針對虛擬地址423的未來數(shù)據包應發(fā)送至現(xiàn)役刀片314。在一個實施方式中,虛擬地址423為IP地址,以及網絡交換機418為以太網交換機?,F(xiàn)役刀片314使用包含現(xiàn)役刀片314的網絡接口的MAC地址和虛擬地址423的地址解析協(xié)議(ARP)消息來告知網絡交換機418。一旦接收到虛擬地址改變消息446,網絡交換機418就改變狀態(tài),以便目的地為虛擬地址423的未來數(shù)據包將發(fā)送至現(xiàn)役刀片314。在一個實施方式中,當現(xiàn)役刀片310出現(xiàn)故障時,在主機100與服務器200之間基于服務請求403的服務會話失敗。在實施方式中,主機100隨后使用虛擬地址423來發(fā)送針對另一服務會話409的服務請求407。網絡交換機418接收服務請求407,并且將具有虛擬地址423的服務請求407發(fā)送至現(xiàn)役刀片314?,F(xiàn)役刀片314處理服務請求407,并且將該請求發(fā)送至服務器200。盡管已經根據所示實施方式描述了本發(fā)明,本領域的普通技術人員將容易地認識至IJ,可以存在對于這些實施方式的變形例,且那些變形例將在本發(fā)明的精神和范疇內。因此,在不偏離所附權利要求的精神和范疇的情況下,本領域的普通技術人員可以做出許多修改。
權利要求
1.一種在虛擬應用交付機箱中選出主刀片的方法,該虛擬應用交付機箱包括多個刀片,所述方法包括 (a)所述多個刀片中的各個刀片將虛擬應用交付機箱消息發(fā)送至所述虛擬應用交付機箱中的各個其他刀片; (b)各個刀片判定是否在預定時段內接收到來自所述主刀片的所述虛擬應用交付機箱消息; (C)響應于判定在所述預定時段內未接收到來自所述主刀片的所述虛擬應用交付機箱消息,各個刀片將主聲明消息發(fā)送至所述虛擬應用交付機箱中的各個其他刀片,各個主聲明消息包含發(fā)送刀片的刀片優(yōu)先級; (d)接收所述主聲明消息的各個刀片判定從所接收的所述主聲明消息獲得的所述刀片優(yōu)先級中是否有高于接收刀片的刀片優(yōu)先級的刀片優(yōu)先級; (e)響應于由特定的接收刀片判定從接收的所述主聲明消息獲得的所述刀片優(yōu)先級都不高于所述特定的接收刀片的刀片優(yōu)先級,將所述特定的接收刀片的狀態(tài)設定為新的主刀片;以及 (f)由所述特定的接收刀片將第二虛擬應用交付機箱消息發(fā)送至所述虛擬應用交付機箱中的其他刀片,所述第二虛擬應用交付機箱消息指示所述特定的接收刀片的新主刀片狀態(tài)。
2.根據權利要求I所述的方法,其中,所述多個刀片包括主刀片和一個以上從刀片, 其中,如果所述從刀片正在正確運行,則所述從刀片將所述虛擬應用交付機箱消息發(fā)送至所述虛擬應用交付機箱中的各個其他刀片, 其中,如果所述主刀片正在正確運行,則所述主刀片將所述虛擬應用交付機箱消息發(fā)送至所述虛擬應用交付機箱中的各個其他刀片。
3.根據權利要求I所述的方法,其中,所述多個刀片包括主刀片和一個以上從刀片,其中,所述判定(b)進一步包括 (bl)各個刀片判定是否在所述預定時段內接收到來自所述虛擬應用交付機箱的各個從刀片的所述虛擬應用交付機箱消息;(b2)響應于判定在所述預定時段內未接收到來自特定的從刀片的虛擬應用交付機箱消息,接收該虛擬應用交付機箱消息的各個刀片將所述特定的從刀片標記為“故障”;以及(b3)響應于判定在所述預定時段內接收到來自所述特定的從刀片的虛擬應用交付機箱消息,接收該虛擬應用交付機箱消息的各個刀片將所述特定的從刀片標記為正確運行。
4.根據權利要求I所述的方法,其中,所述判定(d)和所述設定(e)包括 (dl)所述特定的接收刀片將從特定的主聲明消息獲得的刀片優(yōu)先級與所述特定的接收刀片的刀片優(yōu)先級進行比較; (el)響應于判定所述特定的接收刀片的刀片優(yōu)先級高于從所述特定的主聲明消息獲得的刀片優(yōu)先級,重復與接收的另一主聲明消息的所述比較(dl);以及 (e2)響應于判定所述特定的接收刀片的刀片優(yōu)先級高于從接收的各個其他主聲明消息獲得的刀片優(yōu)先級,將所述特定的接收刀片的狀態(tài)設定為所述新的主刀片。
5.根據權利要求I所述的方法,其中,所述判定(d)和所述設定(e)包括 (dl)所述特定的接收刀片將從特定的主聲明消息獲得的刀片優(yōu)先級與所述特定的接收刀片的刀片優(yōu)先級進行比較;以及 (el)響應于判定從所述特定的主聲明消息獲得的刀片優(yōu)先級高于所述特定的接收刀片的刀片優(yōu)先級,保持所述特定的接收刀片的從狀態(tài)。
6.根據權利要求4所述的方法,其中,各個主聲明消息進一步包含所述發(fā)送刀片的刀片標識,其中,所述比較(dl)、所述重復(el)和所述設定(e2)包括 (dli)由所述特定的接收刀片判定從所述特定的主聲明消息獲得的刀片優(yōu)先級等于所述特定的接收刀片的刀片優(yōu)先級; (dlii)響應于判定從所述特定的主聲明消息獲得的刀片優(yōu)先級等于所述特定的接收刀片的刀片優(yōu)先級,判定從所述特定的主聲明消息獲得的刀片優(yōu)先級在數(shù)值上是否小于所述特定的接收刀片的刀片優(yōu)先級; (eli)響應于判定從所述特定的主聲明消息獲得的刀片優(yōu)先級在數(shù)值上小于所述特定的接收刀片的刀片優(yōu)先級,重復與接收的另一主聲明消息的所述比較(dl);以及 (e2i)響應于判定所述特定的接收刀片的刀片優(yōu)先級高于、或者等于并且在數(shù)值上小于從接收的各個其他主聲明消息獲得的刀片優(yōu)先級,將所述特定的接收刀片的狀態(tài)設定為所述新的主刀片。
7.根據權利要求I所述的方法,其中,所述發(fā)送(f)包括 (H)由所述多個刀片中的特定從刀片判定是否在第二預定時段內接收到所述第二虛擬應用交付機箱消息;以及 (f2)響應于由所述特定從刀片判定在所述第二預定時段內未接收到所述第二虛擬應用交付機箱消息,將所述特定從刀片的狀態(tài)設定為所述新的主刀片,并且所述特定從刀片將所述第二虛擬應用交付消息發(fā)送至所述虛擬應用交付機箱中的其他刀片。
8.根據權利要求I所述的方法,進一步包括 (g)添加新刀片至所述虛擬應用交付機箱; (h)由所述新刀片將第二主聲明消息發(fā)送至所述虛擬應用交付機箱中的各個其他刀片; (i)響應于接收到來自所述新刀片的所述第二主聲明消息,所述各個其他刀片判定所述主刀片是否被標記為正確運行;以及 (j)響應于所述各個其他刀片判定所述主刀片被標記為正確運行,忽略所述第二主聲明消息,否則執(zhí)行所述發(fā)送(C)、所述判定(d)、所述設定(e)和所述發(fā)送(f)。
9.根據權利要求I所述的方法,其中,所述多個刀片可操作地耦接為數(shù)據網絡內的所述虛擬應用交付機箱,所述數(shù)據網絡包括網絡交換機,其中,所述方法進一步包括 (g)將所述多個刀片中的第一刀片指定為對于虛擬地址的現(xiàn)役刀片,并且將所述多個刀片中的第二刀片指定為對于所述虛擬地址的備用刀片,其中,目的地為所述虛擬地址的服務請求通過所述網絡交換機發(fā)送至所述第一刀片。
10.根據權利要求9所述的方法,進一步包括 (h)由各個刀片判定在所述預定時段內未接收到來自所述第一刀片的所述虛擬應用交付機箱消息; (i)響應于判定在所述預定時段內未接收到來自所述第一刀片的所述虛擬應用交付機箱消息,將所述第二刀片的狀態(tài)改變?yōu)橛糜谒鎏摂M地址的現(xiàn)役刀片;以及(j)發(fā)送虛擬地址改變消息至所述網絡交換機,以告知所述網絡交換機將目的地為所述虛擬地址的未來服務請求發(fā)送至所述第二刀片。
11.一種包括計算機可讀存儲介質的計算機程序產品,所述計算機可讀存儲介質具有計算機可讀程序,其中,當在一個或多個計算機上執(zhí)行所述計算機可讀程序時使得所述計算機 (a)虛擬應用交付機箱的多個刀片中的各個刀片將虛擬應用交付機箱消息發(fā)送至所述虛擬應用交付機箱中的各個其他刀片; (b)各個刀片判定是否在預定時段內接收到來自主刀片的所述虛擬應用交付機箱消息; (C)響應于判定在所述預定時段內未接收到來自所述主刀片的所述虛擬應用交付機箱消息,各個刀片將主聲明消息發(fā)送至所述虛擬應用交付機箱中的各個其他刀片,各個主聲明消息包含發(fā)送刀片的刀片優(yōu)先級; (d)由接收所述主聲明消息的各個刀片判定從接收的所述主聲明消息獲得的所述刀片優(yōu)先級中是否有高于接收刀片的刀片優(yōu)先級的刀片優(yōu)先級; (e)響應于由特定的接收刀片判定從接收的所述主聲明消息獲得的所述刀片優(yōu)先級都不高于所述特定的接收刀片的刀片優(yōu)先級,將所述特定的接收刀片的狀態(tài)設定為新的主刀片;以及 (f)由所述特定的接收刀片將第二虛擬應用交付機箱消息發(fā)送至所述虛擬應用交付機箱中的其他刀片,所述第二虛擬應用交付機箱消息指示所述特定的接收刀片的新主刀片狀態(tài)。
12.根據權利要求11所述的計算機程序產品,其中,所述多個刀片包括主刀片和一個以上從刀片, 其中,如果所述從刀片正在正確運行,則所述從刀片將所述虛擬應用交付機箱消息發(fā)送至所述虛擬應用交付機箱中的各個其他刀片, 其中,如果所述主刀片正在正確運行,則所述主刀片將所述虛擬應用交付機箱消息發(fā)送至所述虛擬應用交付機箱中的各個其他刀片。
13.根據權利要求11所述的計算機程序產品,其中,所述多個刀片包括主刀片和一個以上從刀片,其中,所述判定(b)進一步包括 (bl)各個刀片判定是否在所述預定時段內接收到來自所述虛擬應用交付機箱的各個從刀片的所述虛擬應用交付機箱消息;(b2)響應于判定在所述預定時段內未接收到來自特定的從刀片的虛擬應用交付機箱消息,接收該虛擬應用交付機箱消息的各個刀片將所述特定的從刀片標記為“故障”;以及(b3)響應于判定在所述預定時段內接收到來自所述特定的從刀片的虛擬應用交付機箱消息,接收該虛擬應用交付機箱消息的各個刀片將所述特定的從刀片標記為正確運行。
14.根據權利要求11所述的計算機程序產品,其中,所述判定⑷和所述設定(e)包括 (dl)所述特定的接收刀片將從特定的主聲明消息獲得的刀片優(yōu)先級與所述特定的接收刀片的刀片優(yōu)先級進行比較; (el)響應于判定所述特定的接收刀片的刀片優(yōu)先級高于從所述特定的主聲明消息獲得的刀片優(yōu)先級,重復與接收的另一主聲明消息的所述比較(dl);以及 (e2)響應于判定所述特定的接收刀片的刀片優(yōu)先級高于從接收的各個其他主聲明消息獲得的刀片優(yōu)先級,將所述特定的接收刀片的狀態(tài)設定為所述新的主刀片。
15.根據權利要求14所述的計算機程序產品,其中,所述判定(d)和所述設定(e)包括 (dl)所述特定的接收刀片將從特定的主聲明消息獲得的刀片優(yōu)先級與所述特定的接收刀片的刀片優(yōu)先級進行比較;以及 (el)響應于判定從所述特定的主聲明消息獲得的刀片優(yōu)先級高于所述特定的接收刀片的刀片優(yōu)先級,保持所述特定的接收刀片的從狀態(tài)。
16.根據權利要求15所述的計算機程序產品,其中,各個主聲明消息進一步包含所述發(fā)送刀片的刀片標識,其中,所述比較(dl)、所述重復(el)和所述設定(e2)包括 (dli)由所述特定的接收刀片判定從所述特定的主聲明消息獲得的刀片優(yōu)先級等于所述特定的接收刀片的刀片優(yōu)先級; (dlii)響應于判定從所述特定的主聲明消息獲得的刀片優(yōu)先級等于所述特定的接收刀片的刀片優(yōu)先級,判定從所述特定的主聲明消息獲得的刀片優(yōu)先級在數(shù)值上是否小于所述特定的接收刀片的刀片優(yōu)先級; (eli)響應于判定從所述特定的主聲明消息獲得的刀片優(yōu)先級在數(shù)值上小于所述特定的接收刀片的刀片優(yōu)先級,重復與接收的另一主聲明消息的所述比較(dl);以及 (e2i)響應于判定所述特定的接收刀片的刀片優(yōu)先級高于、或者等于并且在數(shù)值上小于從接收的各個其他主聲明消息獲得的刀片優(yōu)先級,將所述特定的接收刀片的狀態(tài)設定為所述新的主刀片。
17.根據權利要求11所述的計算機程序產品,其中,所述發(fā)送(f)包括 (H)由所述多個刀片中的特定從刀片判定是否在第二預定時段內接收到所述第二虛擬應用交付機箱消息;以及 (f2)響應于由所述特定從刀片判定在所述第二預定時段內未接收到所述第二虛擬應用交付機箱消息,將所述特定從刀片的狀態(tài)設定為所述新的主刀片,并且所述特定從刀片將所述第二虛擬應用交付消息發(fā)送至所述虛擬應用交付機箱中的其他刀片。
18.根據權利要求11所述的計算機程序產品,進一步包括 (g)添加新刀片至所述虛擬應用交付機箱; (h)由所述新刀片將第二主聲明消息發(fā)送至所述虛擬應用交付機箱中的各個其他刀片; (i)響應于接收到來自所述新刀片的所述第二主聲明消息,所述各個其他刀片判定所述主刀片是否被標記為正確運行;以及 (j)響應于所述各個其他刀片判定所述主刀片被標記為正確運行,忽略所述第二主聲明消息,否則執(zhí)行所述發(fā)送(C)、所述判定(d)、所述設定(e)和所述發(fā)送(f)。
19.根據權利要求11所述的計算機程序產品,其中,所述多個刀片可操作地耦接為數(shù)據網絡內的所述虛擬應用交付機箱,所述數(shù)據網絡包括網絡交換機,其中,所述計算機程序廣品進一步包括 (g)將所述多個刀片中的第一刀片指定為對于虛擬地址的現(xiàn)役刀片,并且將所述多個刀片中的第二刀片指定為對于所述虛擬地址的備用刀片,其中,目的地為所述虛擬地址的服務請求通過所述網絡交換機發(fā)送至所述第一刀片。
20.根據權利要求19所述的計算機程序產品,進一步包括 (h)由各個刀片判定在所述預定時段內未接收到來自所述第一刀片的所述虛擬應用交付機箱消息; (i)響應于判定在所述預定時段內未接收到來自所述第一刀片的所述虛擬應用交付機箱消息,將所述第二刀片的狀態(tài)改變?yōu)橛糜谒鎏摂M地址的現(xiàn)役刀片;以及 (j)發(fā)送虛擬地址改變消息至所述網絡交換機,以告知所述網絡交換機將目的地為所述虛擬地址的未來服務請求發(fā)送至所述第二刀片。
21.—種系統(tǒng),包括 多個刀片,可操作地耦接為數(shù)據網絡內的虛擬應用交付機箱,其中,各個刀片包括處理器和具有計算機可讀程序的計算機可讀存儲介質,所述計算機可讀程序當由所述處理器執(zhí)行時使得所述多個刀片 (a)各個刀片將虛擬應用交付機箱消息發(fā)送至所述虛擬應用交付機箱中的各個其他刀片; (b)各個刀片判定是否在預定時段內接收到來自主刀片的所述虛擬應用交付機箱消息; (C)響應于判定在所述預定時段內未接收到來自所述主刀片的所述虛擬應用交付機箱消息,各個刀片將主聲明消息發(fā)送至所述虛擬應用交付機箱中的各個其他刀片,各個主聲明消息包含發(fā)送刀片的刀片優(yōu)先級; (d)由接收所述主聲明消息的各個刀片判定從接收的所述主聲明消息獲得的所述刀片優(yōu)先級中是否有高于所述接收刀片的刀片優(yōu)先級的刀片優(yōu)先級; (e)響應于由特定的接收刀片判定從接收的所述主聲明消息獲得的所述刀片優(yōu)先級都不高于所述特定的接收刀片的刀片優(yōu)先級,將所述特定的接收刀片的狀態(tài)設定為新的主刀片;以及 (f)由所述特定的接收刀片將第二虛擬應用交付機箱消息發(fā)送至所述虛擬應用交付機箱中的其他刀片,所述第二虛擬應用交付機箱消息指示所述特定的接收刀片的新主刀片狀態(tài)。
22.根據權利要求21所述的系統(tǒng),其中,所述多個刀片包括主刀片和一個以上從刀片, 其中,如果所述從刀片正在正確運行,則所述從刀片將所述虛擬應用交付機箱消息發(fā)送至所述虛擬應用交付機箱中的各個其他刀片, 其中,如果所述主刀片正在正確運行,則所述主刀片將所述虛擬應用交付機箱消息發(fā)送至所述虛擬應用交付機箱中的各個其他刀片。
23.根據權利要求21所述的系統(tǒng),其中,所述多個刀片包括主刀片和一個以上從刀片,其中,所述判定(b)進一步包括 (bl)各個刀片判定是否在所述預定時段內接收到來自所述虛擬應用交付機箱的各個從刀片的所述虛擬應用交付機箱消息; (b2)響應于判定在所述預定時段內未接收到來自特定的從刀片的虛擬應用交付機箱消息,接收該虛擬應用交付機箱消息的各個刀片將所述特定的從刀片標記為“故障”;以及(b3)響應于判定在所述預定時段內接收到來自所述特定的從刀片的虛擬應用交付機箱消息,接收該虛擬應用交付機箱消息的各個刀片將所述特定的從刀片標記為正確運行。
24.根據權利要求21所述的系統(tǒng),其中,所述判定(d)和所述設定(e)包括 (dl)所述特定的接收刀片將從特定的主聲明消息獲得的刀片優(yōu)先級與所述特定的接收刀片的刀片優(yōu)先級進行比較; (el)響應于判定所述特定的接收刀片的刀片優(yōu)先級高于從所述特定的主聲明消息獲得的刀片優(yōu)先級,重復與接收的另一主聲明消息的所述比較(dl);以及 (e2)響應于判定所述特定的接收刀片的刀片優(yōu)先級高于從接收的各個其他主聲明消息獲得的刀片優(yōu)先級,將所述特定的接收刀片的狀態(tài)設定為所述新的主刀片。
25.根據權利要求24所述的系統(tǒng),其中,所述判定(d)和所述設定(e)包括 (dl)所述特定的接收刀片將從特定的主聲明消息獲得的刀片優(yōu)先級與所述特定的接收刀片的刀片優(yōu)先級進行比較;以及 (el)響應于判定從所述特定的主聲明消息獲得的刀片優(yōu)先級高于所述特定的接收刀片的刀片優(yōu)先級,保持所述特定的接收刀片的從狀態(tài)。
26.根據權利要求25所述的系統(tǒng),其中,各個主聲明消息進一步包含所述發(fā)送刀片的刀片標識,其中,所述比較(dl)、所述重復(el)和所述設定(e2)包括 (dli)由所述特定的接收刀片判定從所述特定的主聲明消息獲得的刀片優(yōu)先級等于所述特定的接收刀片的刀片優(yōu)先級; (dlii)響應于判定從所述特定的主聲明消息獲得的刀片優(yōu)先級等于所述特定的接收刀片的刀片優(yōu)先級,判定從所述特定的主聲明消息獲得的刀片優(yōu)先級在數(shù)值上是否小于所述特定的接收刀片的刀片優(yōu)先級; (eli)響應于判定從所述特定的主聲明消息獲得的刀片優(yōu)先級在數(shù)值上小于所述特定的接收刀片的刀片優(yōu)先級,重復與接收的另一主聲明消息的所述比較(dl);以及 (e2i)響應于判定所述特定的接收刀片的刀片優(yōu)先級高于、或者等于并且在數(shù)值上小于從接收的各個其他主聲明消息獲得的刀片優(yōu)先級,將所述特定的接收刀片的狀態(tài)設定為所述新的主刀片。
27.根據權利要求21所述的系統(tǒng),其中,所述發(fā)送(f)包括 (H)由所述多個刀片中的特定從刀片判定是否在第二預定時段內接收到所述第二虛擬應用交付機箱消息;以及 (f2)響應于由所述特定從刀片判定在所述第二預定時段內未接收到所述第二虛擬應用交付機箱消息,將所述特定從刀片的狀態(tài)設定為所述新的主刀片,并且所述特定從刀片將所述第二虛擬應用交付消息發(fā)送至所述虛擬應用交付機箱中的其他刀片。
28.根據權利要求21所述的系統(tǒng),進一步包括 (g)添加新刀片至所述虛擬應用交付機箱; (h)由所述新刀片將第二主聲明消息發(fā)送至所述虛擬應用交付機箱中的各個其他刀片; (i)響應于接收到來自所述新刀片的所述第二主聲明消息,所述各個其他刀片判定所述主刀片是否被標記為正確運行;以及 (j)響應于所述各個其他刀片判定所述主刀片被標記為正確運行,忽略所述第二主聲明消息,否則執(zhí)行所述發(fā)送(C)、所述判定(d)、所述設定(e)和所述發(fā)送(f)。
29.根據權利要求21所述的系統(tǒng),其中,所述多個刀片可操作地耦接為數(shù)據網絡內的所述虛擬應用交付機箱,所述數(shù)據網絡包括網絡交換機,其中,所述計算機程序產品進一步包括 (g)將所述多個刀片中的第一刀片指定為對于虛擬地址的現(xiàn)役刀片,并且將所述多個刀片中的第二刀片指定為對于所述虛擬地址的備用刀片,其中,目的地為所述虛擬地址的服務請求通過所述網絡交換機發(fā)送至所述第一刀片。
30.根據權利要求29所述的系統(tǒng),進一步包括 (h)由各個刀片判定在所述預定時段內未接收到來自所述第一刀片的所述虛擬應用交付機箱消息; (i)響應于判定在所述預定時段內未接收到來自所述第一刀片的所述虛擬應用交付機箱消息,將所述第二刀片的狀態(tài)改變?yōu)橛糜谒鎏摂M地址的現(xiàn)役刀片;以及 (j)發(fā)送虛擬地址改變消息至所述網絡交換機,以告知所述網絡交換機將目的地為所述虛擬地址的未來服務請求發(fā)送至所述第二刀片。
全文摘要
本發(fā)明公開了一種虛擬應用交付機箱系統(tǒng)。一種用于在虛擬應用交付機箱(VADC)中選出主刀片的方法,包括各個刀片將VADC消息發(fā)送至各個其他刀片;由各個刀片判定在預定時段內未接收到來自主刀片的VADC消息;作為響應,各個刀片將包含刀片優(yōu)先級的主聲明消息發(fā)送至其他刀片;由各個刀片判定從接收的主聲明消息獲得的刀片優(yōu)先級中是否有高于接收刀片的刀片優(yōu)先級;響應于判定獲得的刀片優(yōu)先級都不高于接收刀片的刀片優(yōu)先級,將特定的接收刀片的狀態(tài)設定為新的主刀片;以及特定的接收刀片將第二VADC消息發(fā)送至其他刀片,表明特定的接收刀片的新主刀片狀態(tài)。
文檔編號G06F9/50GK102708004SQ201210007259
公開日2012年10月3日 申請日期2012年1月11日 優(yōu)先權日2011年1月11日
發(fā)明者丹尼斯·奧什巴, 拉賈庫瑪·亞蘭 申請人:瑞科網信科技有限公司