国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      用于網(wǎng)絡(luò)環(huán)境中的服務(wù)器的無(wú)中斷管理的系統(tǒng)和方法

      文檔序號(hào):7993731閱讀:134來(lái)源:國(guó)知局
      用于網(wǎng)絡(luò)環(huán)境中的服務(wù)器的無(wú)中斷管理的系統(tǒng)和方法
      【專利摘要】示例方法包括使目標(biāo)節(jié)點(diǎn)脫離集群,其中脫離包括:選擇繼承者;將流從目標(biāo)節(jié)點(diǎn)遷移到繼承者;通知遷移管理器:目標(biāo)節(jié)點(diǎn)脫離集群;以及向目標(biāo)節(jié)點(diǎn)的對(duì)等節(jié)點(diǎn)廣播:目標(biāo)節(jié)點(diǎn)已由繼承者代替。在本公開的具體實(shí)現(xiàn)方式中,集群能夠包括網(wǎng)絡(luò)拓?fù)涞牡谝粚樱浒▽?shí)現(xiàn)基于散列的分組轉(zhuǎn)發(fā)的轉(zhuǎn)發(fā)引擎;網(wǎng)絡(luò)拓?fù)涞牡诙樱浒繕?biāo)節(jié)點(diǎn)和繼承者,其中該目標(biāo)節(jié)點(diǎn)和繼承者實(shí)現(xiàn)基于流的分組轉(zhuǎn)發(fā);以及第三層,其包括被配置為在網(wǎng)絡(luò)中進(jìn)行分組處理的服務(wù)節(jié)點(diǎn)。
      【專利說(shuō)明】用于網(wǎng)絡(luò)環(huán)境中的服務(wù)器的無(wú)中斷管理的系統(tǒng)和方法
      【技術(shù)領(lǐng)域】
      [0001]本公開一般涉及通信領(lǐng)域,并且更具體地,涉及用于網(wǎng)絡(luò)環(huán)境中的服務(wù)器的無(wú)中斷管理的系統(tǒng)和方法。
      【背景技術(shù)】
      [0002]高速網(wǎng)絡(luò)和改進(jìn)的微處理器性能的新進(jìn)展正在使得計(jì)算機(jī)集群對(duì)企業(yè)具有吸引力。此誘惑力中的一部分與能夠提供物有所值的并行計(jì)算的企業(yè)相關(guān)聯(lián)。使用商品化硬件和軟件組件構(gòu)建的集群正在重新定義計(jì)算世界。企業(yè)可以維護(hù)計(jì)算機(jī)集群(比如,服務(wù)器群)來(lái)實(shí)現(xiàn)超越了單臺(tái)計(jì)算機(jī)的性能的服務(wù)器需求。計(jì)算機(jī)集群可以與網(wǎng)絡(luò)交換機(jī)和/或路由器共處于一地,這些網(wǎng)絡(luò)交換機(jī)和/或路由器共同使集群的不同部分和集群的用戶之間能夠通信。對(duì)大型計(jì)算機(jī)集群的有效管理通常包括:冗余性能、自動(dòng)故障轉(zhuǎn)移功能、以及對(duì)計(jì)算機(jī)群集進(jìn)行快速重新配置的能力。
      【專利附圖】

      【附圖說(shuō)明】
      [0003]為提供對(duì)本公開以及其特征和優(yōu)點(diǎn)的更全面的理解,結(jié)合附圖做出下面的描述,其中相同的參考標(biāo)號(hào)表不相同的部分,其中:
      [0004]圖1是根據(jù)本公開的通信系統(tǒng)的一個(gè)實(shí)施例的簡(jiǎn)化圖;
      [0005]圖2是示出了通信系統(tǒng)的另外的細(xì)節(jié)的簡(jiǎn)化框圖;
      [0006]圖3是通信系統(tǒng)的另一實(shí)施例的簡(jiǎn)化圖;
      [0007]圖4是示出了可以與通信系統(tǒng)的實(shí)施例相關(guān)聯(lián)的示例操作活動(dòng)的簡(jiǎn)化流程圖;
      [0008]圖5是示出了可以與通信系統(tǒng)的實(shí)施例相關(guān)聯(lián)的示例操作活動(dòng)的簡(jiǎn)化流程圖;
      [0009]圖6是可以與根據(jù)本公開的通信系統(tǒng)的實(shí)施例相關(guān)聯(lián)的一組示例流程表?xiàng)l目;
      [0010]圖7是示出了可以與根據(jù)本公開的通信系統(tǒng)的實(shí)施例相關(guān)聯(lián)的一組示例活動(dòng)的簡(jiǎn)化算法;
      [0011]圖8是示出了可以與根據(jù)本公開的通信系統(tǒng)的實(shí)施例相關(guān)聯(lián)的另一組示例活動(dòng)的簡(jiǎn)化算法;以及
      [0012]圖9是示出了可以與根據(jù)本公開的通信系統(tǒng)的實(shí)施例相關(guān)聯(lián)的又一組示例活動(dòng)的簡(jiǎn)化算法。
      【具體實(shí)施方式】
      [0013]概覽
      [0014]一種示例方法包括:使目標(biāo)節(jié)點(diǎn)脫離集群,其中脫離包括:選擇繼承者;將流從目標(biāo)節(jié)點(diǎn)遷移到繼承者;通知遷移管理器目標(biāo)節(jié)點(diǎn)脫離集群;并且向目標(biāo)節(jié)點(diǎn)的對(duì)等節(jié)點(diǎn)廣播該目標(biāo)節(jié)點(diǎn)被繼承者代替。在本公開的具體實(shí)現(xiàn)方式中,集群能夠包括:網(wǎng)絡(luò)拓?fù)涞牡谝粚?,其包括?shí)現(xiàn)基于散列的分組轉(zhuǎn)發(fā)的轉(zhuǎn)發(fā)引擎;網(wǎng)絡(luò)拓?fù)涞牡诙?,其包括目?biāo)節(jié)點(diǎn)和繼承者,其中目標(biāo)節(jié)點(diǎn)和繼承者實(shí)現(xiàn)基于流的分組轉(zhuǎn)發(fā);以及第三層,包括被配置為在網(wǎng)絡(luò)中進(jìn)行分組處理的服務(wù)節(jié)點(diǎn)。
      [0015]繼承者能夠包括目標(biāo)節(jié)點(diǎn)的對(duì)等節(jié)點(diǎn),在群集的節(jié)點(diǎn)的子集內(nèi)該對(duì)等節(jié)點(diǎn)具有最少數(shù)目的流。另外,繼承者能夠包括集群中的新的對(duì)等節(jié)點(diǎn)。對(duì)繼承者的選擇能夠包括:從遷移管理器接收對(duì)等節(jié)點(diǎn)的流處理統(tǒng)計(jì)數(shù)據(jù);以及基于流處理統(tǒng)計(jì)數(shù)據(jù)在對(duì)等節(jié)點(diǎn)之間分發(fā)流,以使得由對(duì)等節(jié)點(diǎn)處理的流的總數(shù)均勻地分發(fā)。另外,目標(biāo)節(jié)點(diǎn)可以包括流-分組分發(fā)器。
      [0016]遷移可以包括:復(fù)制(即,復(fù)制至少一部分)將被提供給繼承者的流表格。另外,本方法可以包括清除流表格;識(shí)別流表格是空的并且在目標(biāo)節(jié)點(diǎn)的接收/發(fā)送(RX/TX)隊(duì)列中沒有待決的數(shù)據(jù)分組;以及設(shè)置目標(biāo)節(jié)點(diǎn)的狀態(tài)以表明目標(biāo)節(jié)點(diǎn)脫離集群。本方法還可以包括將分組從目標(biāo)節(jié)點(diǎn)重定向到繼承者。本方法還可以包括提供用于移除目標(biāo)節(jié)點(diǎn)的指令;識(shí)別目標(biāo)節(jié)點(diǎn)被移除的確認(rèn);以及改變散列算法中的散列范圍以移除目標(biāo)節(jié)點(diǎn)。
      [0017]示例實(shí)施例
      [0018]轉(zhuǎn)到圖1,圖1是根據(jù)本公開的實(shí)施例的通信系統(tǒng)10的簡(jiǎn)化框圖。圖1的架構(gòu)可以包括匯聚路由器/交換機(jī)12A和12B,它們連接到流-分組分發(fā)器(FD) 14A和14B,流-分組分發(fā)器(FD) 14A和14B繼而連接到集群18中的服務(wù)節(jié)點(diǎn)16A、16B、16C和16D。如本文中所使用的,術(shù)語(yǔ)“集群(cluster) ”指的是彼此進(jìn)行通信并且一起工作(例如,執(zhí)行計(jì)算處理、網(wǎng)絡(luò)服務(wù)等:通常并行地)的一組節(jié)點(diǎn)。如本文中所使用的,術(shù)語(yǔ)“節(jié)點(diǎn)”意思是包含任何服務(wù)器、計(jì)算機(jī)、網(wǎng)絡(luò)設(shè)備、路由器、交換機(jī)、網(wǎng)關(guān)、橋接器、負(fù)載平衡器、防火墻、處理器或任何其它合適的物理設(shè)備、或能夠在網(wǎng)絡(luò)環(huán)境中交換信息的物理部件。在示例實(shí)現(xiàn)方式中,集群18是數(shù)據(jù)中心中的服務(wù)器集群。
      [0019]圖1中的元件可以通過(guò)一個(gè)或更多采用任何合適的(有線或無(wú)線)連接的接口彼此接連,這為電子通信提供了可行的途徑。另外,圖1中的這些元件的任何一個(gè)或更多都可以基于具體的配置需求被組合到架構(gòu)中或從架構(gòu)中移除。通信系統(tǒng)10可以包括能夠進(jìn)行傳輸控制協(xié)議/互聯(lián)網(wǎng)協(xié)議(TCP/IP)通信以在網(wǎng)絡(luò)中進(jìn)行分組的電子發(fā)送和接收的配置。在適當(dāng)情況下并且基于具體需求,通信系統(tǒng)10還可以結(jié)合用戶數(shù)據(jù)報(bào)協(xié)議/IP(UDP/IP)或任何其它合適的協(xié)議進(jìn)行操作。
      [0020]在操作中,服務(wù)節(jié)點(diǎn)16A-16D被配置為提供諸如分組處理、網(wǎng)絡(luò)服務(wù)、應(yīng)用服務(wù)等服務(wù)。服務(wù)節(jié)點(diǎn)的示例可以包括電子郵件服務(wù)器、web服務(wù)器、存儲(chǔ)服務(wù)器、防火墻、服務(wù)器負(fù)載平衡器、內(nèi)容緩存服務(wù)器等。匯聚路由器/交換機(jī)12A-12B包括連接網(wǎng)絡(luò)的各部分并且還能夠在分組(例如,數(shù)據(jù)分組)被接收到時(shí)檢測(cè)分組的節(jié)點(diǎn)。另外,匯聚路由器/交換機(jī)12A-12B被配置為確定每個(gè)分組的源設(shè)備和目的地設(shè)備,然后將這些分組適當(dāng)?shù)剞D(zhuǎn)發(fā)。匯聚路由器/交換機(jī)12A-12B還可以包括組合并行的多個(gè)網(wǎng)絡(luò)連接(例如,來(lái)增加超出單個(gè)連接所能支持的吞吐量,或者在鏈路之一故障的情況下提供冗余等)的節(jié)點(diǎn)。請(qǐng)注意,專業(yè)術(shù)語(yǔ)“匯聚路由器/交換機(jī)”與本說(shuō)明書中所使用的更通用的術(shù)語(yǔ)“交換機(jī)”可交換地使用。這樣的設(shè)備的示例包括路由器(例如,在計(jì)算機(jī)網(wǎng)絡(luò)之間轉(zhuǎn)發(fā)分組的設(shè)備)、匯聚路由器、匯聚交換機(jī)、網(wǎng)絡(luò)橋接器、第3層交換機(jī)、多層交換機(jī)、網(wǎng)關(guān)等。
      [0021]流-分組分發(fā)器包括截獲來(lái)自匯聚路由器/交換機(jī)的分組并且根據(jù)需要處理這些分組的節(jié)點(diǎn)。所述處理能夠基于所識(shí)別的流和/或其它因素(比如,集群中的節(jié)點(diǎn)的數(shù)目),在處理過(guò)程中分組能夠被進(jìn)一步定向(例如,轉(zhuǎn)發(fā)、重定向等)到適當(dāng)?shù)胤?wù)節(jié)點(diǎn)。FD14A-14B可以能夠確保屬于相同流的分組的正確的分組順序。在各個(gè)實(shí)施例中,F(xiàn)D知道集群中的全部流,并且能夠(例如,通過(guò)散列算法)確定任何單個(gè)流的擁有者。在一些實(shí)施例中,F(xiàn)D 14A和14B可以為獨(dú)立的裝置。在其他實(shí)施例中,F(xiàn)D 14A和14B可以被集成在服務(wù)節(jié)點(diǎn)16A-D中。流-分組分發(fā)器的示例包括配備用于執(zhí)行預(yù)期的流-分組分發(fā)功能的適當(dāng)應(yīng)用的交換機(jī)、路由器、服務(wù)器、處理器、引擎等。
      [0022]根據(jù)本公開的實(shí)施例,集群18可以在將基于散列的分組轉(zhuǎn)發(fā)和基于流的分組轉(zhuǎn)發(fā)相組合的二級(jí)網(wǎng)絡(luò)環(huán)境中實(shí)現(xiàn)分層設(shè)計(jì)。第一層能夠包括配備合適的轉(zhuǎn)發(fā)引擎19的匯聚路由器/交換機(jī)12A和12B,其中轉(zhuǎn)發(fā)引擎19實(shí)現(xiàn)基于散列的分組轉(zhuǎn)發(fā)。第二層能夠包括實(shí)現(xiàn)基于流的分組轉(zhuǎn)發(fā)的節(jié)點(diǎn)。第一層和第二層之間的網(wǎng)絡(luò)流量可以使用基于散列的分組轉(zhuǎn)發(fā)方案。第二層中以及第二層和其它層(比如,第三層)之間的網(wǎng)絡(luò)流量可以使用基于流的分組轉(zhuǎn)發(fā)方案。
      [0023]根據(jù)本公開的實(shí)施例,匯聚路由器/交換機(jī)12A和12B可以經(jīng)由虛擬端口通道(vPC)鏈路20連接到第一層,虛擬端口通道(vPC)鏈路20可以包括多端口 10千兆比特以太網(wǎng)端口通道(例如,IEEE802.3ad端口通道)。在一個(gè)實(shí)施例中,第一層可以提供用于流進(jìn)入和離開集群18的高速分組交換背板。第一層可以經(jīng)由各種鏈路(比如,10千兆比特以太網(wǎng)(GigaE)鏈路)連接到第二層(例如,在FD 14A和14B的層)。例如,匯聚路由器/交換機(jī)12A通過(guò)鏈路22 (可以是IOGigaE鏈路)連接到FD 14A。
      [0024]第二層可以執(zhí)行各種功能,比如,服務(wù)模塊集成、服務(wù)分類、分組重定向、分組封裝等。第二層可以經(jīng)由各種鏈路(比如,10千兆比特以太網(wǎng)(GigaE)鏈路、千兆比特以太網(wǎng)鏈路等)連接到第三層(例如,在服務(wù)節(jié)點(diǎn)16A-D的層)。例如,F(xiàn)D 14A通過(guò)鏈路24(可以是千兆比特以太網(wǎng)鏈路)連接到服務(wù)節(jié)點(diǎn)16A。在各種實(shí)施例中,集群18中的鏈路可以實(shí)現(xiàn)鏈路匯聚。分組遍歷集群18可以按如下方式跟隨從匯聚路由器/交換機(jī)12A到服務(wù)節(jié)點(diǎn)16A的路徑:分組可以由匯聚路由器/交換機(jī)12A使用散列算法(即,基于散列的分組轉(zhuǎn)發(fā)方案)經(jīng)由鏈路22發(fā)送到FD 14A,并且分組可以由FD 14A使用分組-流分發(fā)(B卩,基于流的分組轉(zhuǎn)發(fā)方案)在鏈路24上轉(zhuǎn)發(fā)到其目的地節(jié)點(diǎn)16A。
      [0025]根據(jù)本公開的某些實(shí)現(xiàn)方式,可以在FD 14A和14B的每個(gè)中都布置遷移客戶端模塊26。在一些實(shí)施例中,遷移客戶端模塊26可以是獨(dú)立的應(yīng)用。在一些其它實(shí)施例中,遷移客戶端模塊26可以與其它服務(wù)(比如,防火墻應(yīng)用、服務(wù)器負(fù)載平衡器應(yīng)用等)并存??梢栽趨R聚路由器/交換機(jī)12A和12B的每個(gè)中都布置遷移管理器28。遷移管理器28可以確定FD(或服務(wù)節(jié)點(diǎn))應(yīng)當(dāng)脫離(例如,成為脫機(jī)的),例如,以切斷節(jié)點(diǎn)的電源,來(lái)進(jìn)行維護(hù)和修理、來(lái)進(jìn)行服務(wù)升級(jí)等。為了說(shuō)明,假設(shè)FD 14A將脫離。根據(jù)本公開的實(shí)施例,F(xiàn)D14A的遷移客戶端模塊26從遷移管理器28接收指令,以從容地使FD 14A脫離集群組而不會(huì)導(dǎo)致數(shù)據(jù)路徑中斷(即,分組丟失)。當(dāng)遍歷網(wǎng)絡(luò)的一個(gè)或更多分組無(wú)法到達(dá)它們預(yù)期的目的地時(shí)可能發(fā)生數(shù)據(jù)路徑中斷。
      [0026]在各種實(shí)施例中,遷移客戶端模塊26可以選擇繼承者(其為諸如FD 14B之類的對(duì)等節(jié)點(diǎn))并且可以將來(lái)自FD 14A的流復(fù)制到繼承者FD 14B。如本文所使用的,“對(duì)等節(jié)點(diǎn)”包括在網(wǎng)絡(luò)中的同一層的節(jié)點(diǎn)。例如,在集群18中,F(xiàn)D 14A是FD 14B的對(duì)等節(jié)點(diǎn),并且服務(wù)節(jié)點(diǎn)16A是服務(wù)節(jié)點(diǎn)16B-16D的對(duì)等節(jié)點(diǎn)。隨后,遷移客戶端模塊26可以通知遷移管理器28FD 14A已經(jīng)成功地脫離。遷移客戶端模塊26還可以根據(jù)需要向集群18中的其它對(duì)等節(jié)點(diǎn)廣播(即,向集群18中的所有對(duì)等節(jié)點(diǎn)發(fā)送)FD 14B (從FD 14A繼承而來(lái))的新狀態(tài)。在一些實(shí)施例中,可以通過(guò)匯聚路由器/交換機(jī)12A和12B執(zhí)行廣播。在其它實(shí)施例中可以在目標(biāo)節(jié)點(diǎn)的層處的所有對(duì)等節(jié)點(diǎn)之間執(zhí)行廣播。遷移管理器28然后可以將分組轉(zhuǎn)發(fā)或重定向到繼承者(即,F(xiàn)D 14B)并且使FD 14A脫離集群。流中(例如,從下游服務(wù)器)返回的分組將自動(dòng)地被重定向到繼承者,然后繼承者將擁有該流。請(qǐng)注意,(例如,在服務(wù)器響應(yīng)中)返回的分組被當(dāng)作與進(jìn)入分組屬于相同的流。
      [0027]為了說(shuō)明通信系統(tǒng)10的某些示例技術(shù)的目的,理解可能正在遍歷網(wǎng)絡(luò)的通信是重要的。下面的基礎(chǔ)信息可以被視為本公開可以被恰當(dāng)?shù)亟忉尩幕A(chǔ)。鄭重地僅為了解釋的目的而提供這樣的信息,因此這樣的信息不應(yīng)該以任何方式被構(gòu)思為限制本公開及其可能的應(yīng)用的廣泛的范圍。
      [0028]在網(wǎng)絡(luò)通信中,稱為分組的多個(gè)信息塊在設(shè)備之間進(jìn)行交換。分組是八位位組(即,8比特)序列,并且一般由頭部和緊隨其后的主體構(gòu)成。通常情況下,頭部描述分組的目的地,以及可選地用于轉(zhuǎn)發(fā)分組直到該分組到達(dá)其目的地的路由器。通常情況下,主體包含被傳輸?shù)臄?shù)據(jù)(即,有效負(fù)載)。在典型的TCP連接中,服務(wù)器創(chuàng)建等候遠(yuǎn)程客戶端連接的監(jiān)聽器套接口??蛻舳四軌虬l(fā)布connect O套接口函數(shù)來(lái)開始TCP握手??蛻舳四軌虬l(fā)送SYN分組(例如,將段的序列號(hào)設(shè)置為隨機(jī)值A(chǔ))。服務(wù)器以SYN-ACK分組(例如,將確認(rèn)號(hào)設(shè)置為比所接收到的序列號(hào)大一的值(A+1),并且服務(wù)器為分組選擇的序列號(hào)是另一隨機(jī)數(shù)B)做出響應(yīng)??蛻舳艘訟CK(例如,將序列號(hào)設(shè)置為所接收到的確認(rèn)值(即,A+1),并且將確認(rèn)號(hào)設(shè)置為比所接收到的序列號(hào)大一的值(即,B+1))做出響應(yīng)。服務(wù)器發(fā)布acc印t()套接口函數(shù)來(lái)接受連接請(qǐng)求??蛻舳撕头?wù)器發(fā)布read O套接口函數(shù)和write O套接口函數(shù)以通過(guò)套接口交換數(shù)據(jù)。在傳輸結(jié)束時(shí),服務(wù)器或客戶端之一決定使用TCP關(guān)閉序列(后面緊隨著ACK分組的FIN分組)關(guān)閉套接口。
      [0029]TCP/IP通信能夠按照分組或者可替代地按照流被管理。流是滿足相同的匹配準(zhǔn)則和共享相同的特性的相關(guān)分組的串流(stream)。例如,流包括在特定源地址和端口到唯一目的地地址和端口之間的分組的串流,其中所有這樣的分組都使用相同的協(xié)議。單個(gè)流可以是語(yǔ)音呼叫、視頻呼叫、文件傳送、web訪問(wèn)等。流的標(biāo)識(shí)可以取決于實(shí)際實(shí)現(xiàn)方式。例如,流可以單獨(dú)地由目的地地址來(lái)標(biāo)識(shí),或者它可以由包括源地址、目的地地址和協(xié)議的三元組來(lái)標(biāo)識(shí)。作為選擇,分組的流可以由下面的五元組中的一些或全部來(lái)標(biāo)識(shí):(I)源地址;(2)目的地地址;(3)源端口 ;(4)目的地端口 ;以及(5)協(xié)議。
      [0030]轉(zhuǎn)向服務(wù)器集群,兩個(gè)或多個(gè)互連的服務(wù)器能夠創(chuàng)建虛擬資源的表觀,其提高了各種服務(wù)器和網(wǎng)絡(luò)參數(shù)(例如,服務(wù)器可用性、可擴(kuò)展性等)。集群通常被部署來(lái)相比于單個(gè)設(shè)備(例如,計(jì)算機(jī)、服務(wù)器、存儲(chǔ)設(shè)備等)提升性能和可用性。集群可以包括(例如,用于提升集群所提供的服務(wù)的可用性的)高可用性集群、(例如,用于分擔(dān)集群上的計(jì)算工作負(fù)載或共享集群上的功能的)負(fù)載平衡集群等。服務(wù)器集群可以為可用性、為可擴(kuò)展性或者為其它配置目標(biāo)而被配置。
      [0031]一般來(lái)說(shuō),集群具有使用專門的軟件和高速網(wǎng)絡(luò)互連組合多個(gè)處理器以表現(xiàn)為統(tǒng)一的高性能系統(tǒng)的共同目標(biāo)。在示例中,服務(wù)器集群能夠通過(guò)由多個(gè)服務(wù)器分擔(dān)計(jì)算工作負(fù)載而在當(dāng)前性能層級(jí)上支持更多用戶(或者為當(dāng)前數(shù)目的用戶而提升性能)。服務(wù)器集群能夠使得應(yīng)用能夠處理更多負(fù)載并且避免服務(wù)中斷。由服務(wù)器集群呈現(xiàn)的虛擬統(tǒng)一計(jì)算資源賦予IT人員更多的選擇來(lái)配置基礎(chǔ)設(shè)施(例如,支持應(yīng)用性能、可用性、可擴(kuò)展性要求
      [0032]服務(wù)器集群歷史上已經(jīng)與針對(duì)專項(xiàng)應(yīng)用(比如,氣象學(xué)(例如,天氣模擬);地震學(xué)(例如,地震分析);軍事研究(例如,武器、戰(zhàn)爭(zhēng))等)的大學(xué)研究、科學(xué)實(shí)驗(yàn)室、軍事研究相關(guān)聯(lián)。在企業(yè)中,服務(wù)器群集也被應(yīng)用于廣泛的應(yīng)用中,比如,金融趨勢(shì)分析(例如,實(shí)時(shí)債券價(jià)格分析和歷史趨勢(shì));影視動(dòng)畫(例如,幾個(gè)千兆字節(jié)的藝術(shù)文件的渲染);制造(例如,汽車設(shè)計(jì)建模和空氣動(dòng)力學(xué));以及搜索引擎(例如,快速并行查找加內(nèi)容插入,
      [0033]在二級(jí)服務(wù)器集群中,(例如,由源節(jié)點(diǎn)和目的地節(jié)點(diǎn)所定義的)流可以在多個(gè)從入口到出口的兩跳路徑中被均勻地分發(fā),其中網(wǎng)絡(luò)中的一些節(jié)點(diǎn)作為流分組分發(fā)器。路由可以分兩級(jí)執(zhí)行,并且每個(gè)分組遍歷從入口節(jié)點(diǎn)到任意FD的第一路徑和從該FD到出口節(jié)點(diǎn)的第二路徑。第一路徑路由可以是基于散列算法的(以隨機(jī)地將分組散布到任何可用的FD),第二路徑路由可以是基于流的(其確保流的完整性)。
      [0034]散列算法可以在硬件(比如,應(yīng)用專用集成電路(ASIC)或網(wǎng)絡(luò)處理器)上實(shí)現(xiàn)。在一些實(shí)現(xiàn)方式中,算法是確定性的;如果使用相同的地址(例如,源地址和/或目的地地址),則所產(chǎn)生的散 列可能會(huì)到通信通道中的同一端口。這種策略防止無(wú)序分組遞送。例如,一種散列算法可以將由五個(gè)流參數(shù)(例如,(I)源地址;(2)目的地地址;(3)源端口 ;(4)目的地端口 ;以及(5)協(xié)議)構(gòu)成的五元組轉(zhuǎn)換成散列,并且將流量散布到集群中的FD。散列值能夠用于選擇用于轉(zhuǎn)發(fā)分組的鏈路。例如,特定流內(nèi)的所有硬件交換(比如,TCP連接)可以被路由到同一下一跳,從而降低了分組重新排序和分組丟失的幾率。
      [0035]在另一示例中,進(jìn)入分組的源IP地址和源端口可以被轉(zhuǎn)變?yōu)橹鳈C(jī)標(biāo)識(shí)(ID),該主機(jī)ID被匹配到計(jì)算得出的、集群中的節(jié)點(diǎn)的主機(jī)ID。所有這些節(jié)點(diǎn)都可以并行地執(zhí)行散列算法。具有與散列相匹配的主機(jī)ID的節(jié)點(diǎn)可以接受分組,而其它節(jié)點(diǎn)可以丟棄分組。在又一示例中,散列算法可以基于源IP地址和目的地IP地址(對(duì)于IP接口而言),以及源介質(zhì)訪問(wèn)控制(MAC)地址和目的地MAC地址(對(duì)于非IP接口而言)。在再一示例中,散列算法可以使用下述參數(shù)中的一個(gè)或更多個(gè):目的地MAC地址;源MAC地址;源MAC地址和目的地MAC地址;目的地IP地址;源IP地址;源IP地址和目的地IP地址;源TCP/UDP端口號(hào);目的地TCP/UDP端口號(hào);以及源TCP/UDP端口號(hào)和目的地TCP/UDP端口號(hào)。現(xiàn)有各種用于確定散列算法和相關(guān)聯(lián)的參數(shù)的方法,其中任何這樣的方法和不同參數(shù)都包括在本公開的廣泛的范圍內(nèi)。散列算法中所使用的實(shí)際參數(shù)可以由用戶酌情并且基于特定需求進(jìn)行選擇。
      [0036]在硬件中實(shí)現(xiàn)的散列算法能夠進(jìn)行某些高速活動(dòng);然而,可能無(wú)法高效地執(zhí)行其它網(wǎng)絡(luò)流量處理(例如,流持久性、深度分組檢測(cè)等)。而且,對(duì)于要求流中的所有分組被發(fā)送到同一節(jié)點(diǎn)的應(yīng)用而言,散列策略可能不是高效的。例如,返回分組可能具有與原始分組不同的源地址和目的地地址。源地址和目的地地址的散列可能生成與針對(duì)原始分組計(jì)算的出的數(shù)不同的數(shù)。因此,返回分組可能根據(jù)散列算法被路由到不同的節(jié)點(diǎn),導(dǎo)致應(yīng)用的潛在中斷。因此,可以實(shí)施涉及流轉(zhuǎn)發(fā)的第二級(jí),以將這些分組轉(zhuǎn)發(fā)到它們的恰當(dāng)?shù)哪康牡毓?jié)點(diǎn)。
      [0037]流-分組分發(fā)可以在軟件中實(shí)現(xiàn)。分發(fā)可以基于流,其中單個(gè)流將不被分發(fā)并且僅使用一條鏈路??梢栽诩褐械娜魏蜦D或服務(wù)節(jié)點(diǎn)中布置流轉(zhuǎn)發(fā)軟件。分組的配置設(shè)定(比如,安全策略、應(yīng)用層網(wǎng)關(guān)(ALG)、網(wǎng)絡(luò)地址轉(zhuǎn)換(NAT)設(shè)定等)是針對(duì)流的第一分組進(jìn)行評(píng)估的。然后這些設(shè)定被應(yīng)用于流中的其余分組。
      [0038]為確定分組是否屬于特定的流,F(xiàn)D基于下述五個(gè)匹配標(biāo)準(zhǔn)將分組的信息與現(xiàn)有流的信息進(jìn)行匹配:⑴源地址;⑵目的地地址;⑶源端口;(4)目的地端口;以及(5)協(xié)議。其它匹配標(biāo)準(zhǔn)也可以酌情并且基于特定的需求而被使用。如果分組與現(xiàn)有流相匹配,在該分組的流表格(即,包括鑰匙(key)的條目的邏輯集合(例如,字段、參數(shù)等))的上下文中對(duì)該分組的處理進(jìn)行評(píng)估。例如,F(xiàn)D可以核查其是否是分組流的擁有者(例如,如果該FD可以訪問(wèn)該分組的流表格則它可能是擁有者)。如果FD不是擁有者,它可以(例如,
      使用適當(dāng)?shù)牧鬓D(zhuǎn)發(fā)軟件,比如,Cisco" Strike Eagle)確定真正的擁有者,并將分組轉(zhuǎn)發(fā)到
      真正的擁有者(其可以是網(wǎng)絡(luò)上的對(duì)等節(jié)點(diǎn))。如果分組與現(xiàn)有流不匹配,那么該分組用于創(chuàng)建新的流表格。
      [0039]轉(zhuǎn)向應(yīng)用的彈性容量,服務(wù)器集群是實(shí)現(xiàn)這一目標(biāo)的有效工具。例如,如果一個(gè)服務(wù)器(因?yàn)槿魏卧?,比如,故障或?jì)劃的停機(jī)時(shí)間等)變得不可用,集群中的另一服務(wù)器能夠承擔(dān)工作負(fù)載,因此,顯然地避免對(duì)訪問(wèn)集群的用戶或應(yīng)用的服務(wù)的損失。因?yàn)楦鞣N原因,應(yīng)用的彈性容量可能是希望的。例如,所需要的應(yīng)用的容量可能是基于時(shí)間的(例如,在白天全容量,在夜間半容量)。在另一示例中,為節(jié)省能源,用戶可能設(shè)法在非高峰時(shí)段關(guān)掉一些服務(wù)器。在又一實(shí)施例中,系統(tǒng)升級(jí)可能要求服務(wù)器重新啟動(dòng)。如果成員服務(wù)器被關(guān)掉、重新啟動(dòng)或以其它方式脫離集群,可能發(fā)生數(shù)據(jù)路徑中斷。例如,很多應(yīng)用
      (比如,CiscoK 自適應(yīng)安全裝置(Adaptive Security Appliances, ASA)、Cisco8'廣域應(yīng)用服務(wù)(Wide Area Application Services, WAAS)等)要求集群環(huán)境中的流緊密度(flowaffinity)。對(duì)于這樣的應(yīng)用,所有的分組都必須通過(guò)單個(gè)應(yīng)用服務(wù)器被發(fā)送或者被發(fā)送到單個(gè)應(yīng)用服務(wù)器。如果該應(yīng)用服務(wù)器從集群脫機(jī),則這些分組可能丟失。
      [0040]當(dāng)前的基于流的集群設(shè)計(jì)中存在用于流復(fù)制和遷移的機(jī)制。例如,服務(wù)提供商經(jīng)常通過(guò)撤回經(jīng)由交換機(jī)的路由而例行地進(jìn)行無(wú)中斷的流遷移(例如,在升級(jí)或維護(hù)匯聚交換機(jī)之前從一臺(tái)匯聚交換機(jī)遷移到其對(duì)等節(jié)點(diǎn))。然而,這樣的方案更多的是為快速故障恢復(fù)而設(shè)計(jì)的而不是在計(jì)劃節(jié)點(diǎn)移除的情況下所希望的零分組丟棄解決方案。此外,在服務(wù)器的下游路徑中的分組可以設(shè)法由同一路徑返回(例如,經(jīng)由所移除的成員):當(dāng)該成員被移除時(shí)導(dǎo)致分組丟棄。
      [0041]一般而言,在服務(wù)器集群設(shè)計(jì)中,性能是卓越的;較少考慮如何關(guān)掉節(jié)點(diǎn)(例如,幾乎閑置的服務(wù)器等)而不導(dǎo)致分組丟棄。例如,某種當(dāng)前可用的服務(wù)裝置設(shè)計(jì),即使在沒有分組要處理時(shí)仍然具有高功率消耗,其中這樣的消耗是因?yàn)榉泵喸儥C(jī)制??蛻艨赡芟M詣?dòng)地關(guān)掉閑置服務(wù)器,同時(shí)最小化任何潛在分組丟棄。請(qǐng)注意,某種技術(shù)能夠?qū)⑻摂M機(jī)(VM)從環(huán)境中的一個(gè)實(shí)體服務(wù)器遷移到另一實(shí)體服務(wù)器,其中所述實(shí)體服務(wù)器表現(xiàn)為多個(gè)VM。然而,在實(shí)體服務(wù)器空間中不存在類似的解決方案,其中多個(gè)實(shí)體服務(wù)器表現(xiàn)為一個(gè)。
      [0042]圖1中所示的用于對(duì)網(wǎng)絡(luò)環(huán)境中的服務(wù)器進(jìn)行無(wú)中斷管理的系統(tǒng)能夠解決很多這種問(wèn)題。根據(jù)本公開的實(shí)施例可以提供對(duì)服務(wù)器容量、功率和維護(hù)的無(wú)中斷管理。在將基于散列的分組轉(zhuǎn)發(fā)和基于流的分組轉(zhuǎn)發(fā)相組合的二級(jí)集群環(huán)境中,遷移管理器28和遷移客戶端模塊26能夠在即將離任的服務(wù)器從集群切斷之前,從容地將流從該即將離任的服務(wù)器遷移到活動(dòng)服務(wù)器。在非VM集群環(huán)境中,本公開的實(shí)施例能夠以無(wú)中斷的方式管理服務(wù)器容量、功率管理和系統(tǒng)維護(hù)。在各種實(shí)施例中,基于模塊的底盤(chassis)或云操作系統(tǒng)(例如,基于云的網(wǎng)絡(luò))能夠部署本文所述的自適應(yīng)管理方案,以實(shí)現(xiàn)對(duì)容量/功率的最優(yōu)化使用,并且進(jìn)一步提供隨時(shí)系統(tǒng)維護(hù)而不導(dǎo)致分組丟棄。
      [0043]在各種實(shí)施例中,基本上集群中的每個(gè)節(jié)點(diǎn)中都安裝了遷移客戶端模塊26。在一些實(shí)施例中,僅在FD 14A和14B中安裝了遷移客戶端模塊26。在各種實(shí)施例中,遷移管理器28可以是指示遷移客戶端模塊26移除目標(biāo)節(jié)點(diǎn)(即,將脫離集群18的節(jié)點(diǎn))(比如,F(xiàn)D14A)的軟件組件。FD 14A的流表格(和其它應(yīng)用狀態(tài),視情況而定)于是可以被重新分發(fā)到所選定的繼承者(其是替代目標(biāo)節(jié)點(diǎn)的節(jié)點(diǎn)),比如,F(xiàn)D 14B。集群中的對(duì)等節(jié)點(diǎn)可以被通知FD 14B是先前屬于FD 14A的流的新?lián)碛姓?。消息可以被發(fā)送到遷移管理器28以從FD14A的轉(zhuǎn)發(fā)引擎19移除FD 14A(例如,端口通道、WCCP組等)。隨后,匯聚路由器/交換機(jī)12A和12B可以不向FD 14A轉(zhuǎn)發(fā)任何分組。然后,F(xiàn)D 14A能夠被關(guān)掉、停止使用等,視情況而定。
      [0044]基本上,所有的對(duì)等節(jié)點(diǎn)都可以具有訪問(wèn)表明各個(gè)流表格的所有權(quán)的查找表(或其它邏輯數(shù)據(jù)庫(kù))的權(quán)限。例如,流中的元數(shù)據(jù)可以被存儲(chǔ)在一個(gè)或更多交換機(jī)12A或12B中的查找表中。當(dāng)分組到達(dá)節(jié)點(diǎn)(例如,F(xiàn)D 14A)時(shí),節(jié)點(diǎn)可以嘗試訪問(wèn)其存儲(chǔ)的流表格。如果無(wú)法訪問(wèn)分組的流,F(xiàn)D 14A可以讀取查找表以確定真正的擁有者(例如,F(xiàn)D 14B),并且將分組轉(zhuǎn)發(fā)到真正的擁有者(例如,F(xiàn)D 14B)。
      [0045]在各種實(shí)施例中,本文所述的方案可以被實(shí)現(xiàn)以從集群18中的(包括FD的)第二層中移除節(jié)點(diǎn)。在FD和服務(wù)節(jié)點(diǎn)被布置在同一設(shè)備(例如,ASA)中的實(shí)施例中,本文所述的方案可以既針對(duì)FD又針對(duì)服務(wù)節(jié)點(diǎn)組件而被實(shí)現(xiàn)。在FD和服務(wù)節(jié)點(diǎn)在分開的設(shè)備中的實(shí)施例中,如果遷移管理器28和服務(wù)節(jié)點(diǎn)被配置為向彼此發(fā)送消息(例如,Agn1、充電控制節(jié)點(diǎn)(CCN)XMPP),則本文所述的方案可以另外地被應(yīng)用于服務(wù)節(jié)點(diǎn)。
      [0046]轉(zhuǎn)向圖1的基礎(chǔ)設(shè)施,在一些實(shí)施例中,遷移管理器28可以被布置在服務(wù)模塊底盤中的監(jiān)管引擎上。監(jiān)管引擎是除其它功能之外還能夠提供集中式的轉(zhuǎn)發(fā)信息和處理的管理應(yīng)用。監(jiān)管引擎包括策略功能卡(PFC),其是執(zhí)行第2層和第3層轉(zhuǎn)發(fā)、實(shí)施訪問(wèn)控制列表(ACL)功能、并且執(zhí)行對(duì)服務(wù)質(zhì)量(QoS)流量的監(jiān)控和標(biāo)記的轉(zhuǎn)發(fā)平面;多層交換功能卡(MSFC),其是執(zhí)行對(duì)底盤的路由的控制平面。MSFC能夠包括針對(duì)路由器的路由處理器(RP)和交換機(jī)處理器(SP),并且進(jìn)一步能夠運(yùn)行第2層和第3層協(xié)議。
      [0047]在其它實(shí)施例中,遷移管理器28可以被布置在CCN控制點(diǎn)內(nèi)部。CCN是用于通信網(wǎng)絡(luò)中的信令控制點(diǎn),其能夠接收和處理、追蹤、并且評(píng)價(jià)分組數(shù)據(jù)服務(wù)和內(nèi)容使用請(qǐng)求。CCN能夠被配置為發(fā)現(xiàn)服務(wù)數(shù)據(jù)點(diǎn)(SDP)并與其進(jìn)行通信、執(zhí)行會(huì)話控制等。根據(jù)本公開的實(shí)施例,遷移管理器28可以由用戶的配置(例如,基于時(shí)間的服務(wù)器添加/移除)或者由應(yīng)用使用或其它因素來(lái)驅(qū)動(dòng)。
      [0048]在各種實(shí)施例中,遷移客戶端模塊26和遷移管理器28可以在軟件中被實(shí)現(xiàn)。視具體情況并且基于特定的需求,軟件可以具有相關(guān)聯(lián)的應(yīng)用編程接口(API)、命令行接口(CLI)、圖形用戶接口(GUI)或其它適合的用戶接口。軟件可以是獨(dú)立的應(yīng)用或與其它應(yīng)用(比如,服務(wù)器管理應(yīng)用、路由應(yīng)用等)相集成。遷移客戶端模塊26和遷移管理器28還可以在固件(集成于硬件中的軟件)中被實(shí)現(xiàn)。[0049]對(duì)通信系統(tǒng)10的網(wǎng)絡(luò)的各種設(shè)計(jì)都是可能的。一般而言,通信系統(tǒng)10可以包括:現(xiàn)貨供應(yīng)商品(CotS)服務(wù)器硬件;GigE或IOGigE的網(wǎng)絡(luò)接口卡(NIC);低延遲硬件;非阻塞或低超額訂閱(low-over-subscribed)交換結(jié)構(gòu);網(wǎng)格/部分網(wǎng)格連接性(例如,服務(wù)器集群設(shè)計(jì)經(jīng)常需要網(wǎng)格或部分網(wǎng)格結(jié)構(gòu)以準(zhǔn)許集群中的所有節(jié)點(diǎn)之間的通信,其中網(wǎng)格結(jié)構(gòu)能夠用于共享在集群中的主站到計(jì)算機(jī)和計(jì)算機(jī)到計(jì)算機(jī)服務(wù)器之間的狀態(tài)、數(shù)據(jù)和其它信息);巨型幀支撐等。
      [0050]匯聚路由器/交換機(jī)12A和12B可以提供管理權(quán)限(例如,人工管理員、管理員軟件、諸如控制平面之類的管理員通信通道等)。在一些實(shí)施例中,人工管理員可以針對(duì)各種功能(比如,節(jié)點(diǎn)移除、負(fù)載平衡等)而配置匯聚路由器/交換機(jī)12A和12B。人工管理員能夠使用CLI選擇針對(duì)各種功能的配置。例如,匯聚路由器/交換機(jī)12A和12B可以具有帶有若干從中進(jìn)行選擇的負(fù)載平衡因子(例如,基于源IP地址、目的地IP地址或兩者等的散列算法)的端口通道。人工管理員能夠使用CLI選擇適當(dāng)?shù)囊蜃?例如,Cisco Nexus 7000交換機(jī)上的、針對(duì)散列算法的命令可以是:NX0S: (config) #port-channel load-balanceethernet {各種選項(xiàng)}[模塊])。
      [0051]在另一示例中,人工管理員能夠輸入適當(dāng)?shù)拿顏?lái)指示FD 14A將脫離集群(例如,Cisco Nexus 7000 交換機(jī)上的命令可以包括 manage-lb-pool remove-node (-p pool_id 1-n name)—node address:port ;或 manage-lb-pool deactivate-node (_p pool_id|_nname)—node address:port ;等)。在一個(gè)示例實(shí)施例中,第一供應(yīng)商可以管理匯聚路由器/交換機(jī)12A和12B,第二供應(yīng)商可以管理不同的節(jié)點(diǎn)(例如,F(xiàn)D 14A和FD 14B)。第二供應(yīng)商可以通知第一供應(yīng)商FD 14A將從集群被移除。第一供應(yīng)商可以通過(guò)適當(dāng)?shù)娜斯っ?使用合適的CLI)協(xié)助從容地將FD 14B移除。
      [0052]匯聚路由器/交換機(jī)12A和12B可以被布置有轉(zhuǎn)發(fā)引擎19,轉(zhuǎn)發(fā)引擎19包括被配置為執(zhí)行基于散列的分組轉(zhuǎn)發(fā)的ASIC。在各種實(shí)施例中,轉(zhuǎn)發(fā)引擎19可以提供在第2層的以太網(wǎng)橋接、在第3層的IP路由以及其它功能。在一個(gè)實(shí)施例中,轉(zhuǎn)發(fā)引擎19可以具體地被配置為使用硬件和軟件的組合來(lái)轉(zhuǎn)發(fā)分組。分組可以(例如,以高速率)進(jìn)行硬件交換,并且任何異常的分組(例如,隨不支持的封裝層達(dá)到的分組、802.3以太網(wǎng)分組等)可以被轉(zhuǎn)發(fā)到相關(guān)聯(lián)的軟件以進(jìn)一步處理。在示例實(shí)施例中,轉(zhuǎn)發(fā)引擎19可以包括路由器的數(shù)據(jù)平面,其包括可以被查找以確定進(jìn)入分組的目的地地址、傳輸?shù)穆窂降鹊穆酚杀砀?、可以用于發(fā)現(xiàn)適合的接口以發(fā)送出去分組的轉(zhuǎn)發(fā)信息庫(kù)以及其它邏輯組件。
      [0053]在一些實(shí)施例中,將被移除的節(jié)點(diǎn)(例如,F(xiàn)D 14A)可以向匯聚路由器/交換機(jī)12A和12B發(fā)送控制平面消息。匯聚路由器/交換機(jī)12A和12B可以根據(jù)該消息確定可以將FD14A從轉(zhuǎn)發(fā)信道(例如,用于將分組從一層轉(zhuǎn)發(fā)到另一層的介質(zhì))移除。控制平面消息可以使用到匯聚路由器/交換機(jī)12A和12B的控制信道。在示例實(shí)施例中,供應(yīng)商可以管理匯聚路由器/交換機(jī)12A和12B以及FD 14A和14B。在這樣的情形下,F(xiàn)D 14A和14B可以經(jīng)由控制平面與匯聚路由器/交換機(jī)12A和12B進(jìn)行通信。在這樣的實(shí)施例中,經(jīng)由控制平面的自動(dòng)消息可以有助于準(zhǔn)許將FD 14A從容地從集群中移除。
      [0054]圖1的網(wǎng)絡(luò)基礎(chǔ)設(shè)施可以包括10千兆比特以太網(wǎng)(GigaE)、千兆比特以太網(wǎng)、或以太通道通道,根據(jù)需要還伴有適當(dāng)?shù)牡?層和第3層接口。可以使用例如冗余層3 10 GigE鏈路、冗余節(jié)點(diǎn)等在網(wǎng)絡(luò)中構(gòu)建冗余??梢詫?shí)現(xiàn)分開的核以依據(jù)管理和策略(例如,服務(wù)的質(zhì)量、訪問(wèn)列表、故障檢修、維護(hù)等)隔離分發(fā)層或匯聚層。通信系統(tǒng)10的組件可以位于數(shù)據(jù)中心內(nèi),并且提供服務(wù)以增強(qiáng)服務(wù)器和應(yīng)用可用性、安全性等。在一個(gè)實(shí)施例中,匯聚路由器/交換機(jī)12A和12B可以包括Cisco Nexus匯聚路由器/交換機(jī)。在另一實(shí)施例中,F(xiàn)D14A和14B以及服務(wù)節(jié)點(diǎn)16A-D可以包括應(yīng)用控制引擎(ACE),該ACE包括基于并行網(wǎng)絡(luò)處理器的架構(gòu),該架構(gòu)具有分開的控制路徑和數(shù)據(jù)路徑、交換結(jié)構(gòu)接口、具有路由管理器的適當(dāng)?shù)目刂破矫婧蛿?shù)據(jù)平面、接口管理器等。
      [0055]轉(zhuǎn)向圖2,圖2是遷移客戶端模塊26的示例實(shí)現(xiàn)方式的簡(jiǎn)化框圖。根據(jù)本公開的實(shí)施例,遷移客戶端模塊26包括處理器50、存儲(chǔ)器52和繼承者選擇器54以及流處理器56。流處理器56可以讀取或創(chuàng)建流表格58,并且讀取或填入接收/發(fā)送(RX/TX)隊(duì)列60。遷移客戶端模塊26還包括廣播模塊62。
      [0056]在各種實(shí)施例中,流表格58存儲(chǔ)在存儲(chǔ)器52中并且RX/TX隊(duì)列60存儲(chǔ)在網(wǎng)絡(luò)接口卡(NIC)上。NIC實(shí)現(xiàn)例如使用專用物理層和數(shù)據(jù)鏈路層標(biāo)準(zhǔn)(比如,以太網(wǎng)、WiFi或令牌環(huán)等)在網(wǎng)絡(luò)中進(jìn)行通信所需要的任何電子電路。NIC允許在同一局域網(wǎng)(LAN)上的計(jì)算機(jī)小組之間的通信和通過(guò)可路由的協(xié)議(比如,TCP/IP)的大規(guī)模網(wǎng)絡(luò)通信。NIC可以是獨(dú)立的卡或者它可以被集成到路由器或服務(wù)器的主板中。NIC可以具有合適的存儲(chǔ)器(例如,靜態(tài)隨機(jī)存取存儲(chǔ)器(SRAM))以存儲(chǔ)流表格58和RX/TX隊(duì)列60。在一個(gè)實(shí)施例中,存儲(chǔ)器52和處理器50可以被布置在NIC上,并且流表格58和RX/TX隊(duì)列60可以存儲(chǔ)在存儲(chǔ)器52中。
      [0057]在操作中,繼承者選擇器54被配置為選擇目標(biāo)節(jié)點(diǎn)的一個(gè)或更多繼承者。在示例實(shí)施例中,可以選擇單個(gè)繼承者。在另一實(shí)施例中,可以選擇一個(gè)繼承者和一個(gè)備份繼承者。在又一實(shí)施例中,可以選擇若干對(duì)等節(jié)點(diǎn)作為繼承者。在又一實(shí)施例中,基本上集群中的所有節(jié)點(diǎn)都可以被選擇作為繼承者。繼承者選擇器54可以使用任何合適的算法來(lái)選擇繼承者。在一個(gè)實(shí)施例中,繼承者選擇器54選擇如由各個(gè)可訪問(wèn)的流表格中的流表格條目的數(shù)目所確定的最不繁忙的繼承者。在另一實(shí)施例中,繼承者選擇器54可以隨機(jī)選擇對(duì)等節(jié)點(diǎn)作為繼承者。
      [0058]根據(jù)又一實(shí)施例,每個(gè)遷移客戶端模塊26可以將各個(gè)FD(例如,F(xiàn)D 14A和FD 14B)的流處理統(tǒng)計(jì)數(shù)據(jù)通知給遷移管理器28。流處理統(tǒng)計(jì)數(shù)據(jù)可以包括由每一對(duì)等節(jié)點(diǎn)(例如,F(xiàn)D)處理的流的數(shù)目。遷移管理器28可以將流處理統(tǒng)計(jì)數(shù)據(jù)轉(zhuǎn)發(fā)給目標(biāo)節(jié)點(diǎn)(例如,F(xiàn)D 14A)的遷移客戶端模塊26。目標(biāo)節(jié)點(diǎn)的遷移客戶端模塊26可以基于流處理統(tǒng)計(jì)數(shù)據(jù)在對(duì)等節(jié)點(diǎn)之間分發(fā)這些流,以使得由這些對(duì)等節(jié)點(diǎn)處理的總的流被均勻地分發(fā)。例如,假設(shè)FD 14A有三個(gè)對(duì)等節(jié)點(diǎn):每一個(gè)處理當(dāng)前流的25%。目標(biāo)節(jié)點(diǎn)的遷移客戶端模塊26可以由每一對(duì)等節(jié)點(diǎn)相等地分?jǐn)偰繕?biāo)節(jié)點(diǎn)的流表格58。因此,對(duì)于目標(biāo)節(jié)點(diǎn)的流的等分份而言,所有的對(duì)等節(jié)點(diǎn)都可以變?yōu)槟繕?biāo)節(jié)點(diǎn)的繼承者。在又一實(shí)施例中,可以手動(dòng)選擇繼承者。例如管理員可以插入新的FD來(lái)代替目標(biāo)節(jié)點(diǎn)(例如,以當(dāng)它的其余對(duì)等節(jié)點(diǎn)繁忙時(shí)升級(jí)目標(biāo)節(jié)點(diǎn))。管理員可以迫使目標(biāo)節(jié)點(diǎn)的遷移客戶端模塊26指定新的FD作為繼承者(例如,以在目標(biāo)節(jié)點(diǎn)升級(jí)/維護(hù)期間代替目標(biāo)節(jié)點(diǎn))。在又一實(shí)施例中,新的FD可以由目標(biāo)節(jié)點(diǎn)的遷移客戶端模塊26自動(dòng)地進(jìn)行選擇,因?yàn)樵诰W(wǎng)絡(luò)中該新的FD可能具有最少數(shù)目的流。
      [0059]流處理器56被配置為將流從目標(biāo)節(jié)點(diǎn)遷移到一個(gè)或更多繼承者。在一個(gè)實(shí)施例中,流處理器56通過(guò)將流表格58復(fù)制到選定的繼承者執(zhí)行遷移。在將流表格58的內(nèi)容已經(jīng)復(fù)制到繼承者之后,流表格58被清理(即,清除)。在流表格58被清除之后,目標(biāo)節(jié)點(diǎn)能夠脫離集群。廣播模塊62可通知轉(zhuǎn)發(fā)交換機(jī)(例如,匯聚路由器/交換機(jī)12A)上的遷移管理器28:正在將目標(biāo)節(jié)點(diǎn)從集群中移除。交換機(jī)(例如,匯聚路由器/交換機(jī)12A)隨后可以停止轉(zhuǎn)發(fā)任何分組到目標(biāo)節(jié)點(diǎn)。流處理器56檢測(cè)流表格58和雙向網(wǎng)絡(luò)流量正在其中排隊(duì)的RX/TX隊(duì)列60,例如,以判斷是否有正在等候處理的分組。當(dāng)RX/TX隊(duì)列60為空時(shí),廣播模塊62可以向集群上的對(duì)等節(jié)點(diǎn)廣播繼承者的狀態(tài)。
      [0060]轉(zhuǎn)向圖3,圖3是通信系統(tǒng)10的另一實(shí)施例的簡(jiǎn)化框圖。集群18的網(wǎng)絡(luò)設(shè)計(jì)可以包括兩層,其中第一層包括匯聚路由器/交換機(jī)12A和12B,第二層包括服務(wù)節(jié)點(diǎn)16A-D。服務(wù)節(jié)點(diǎn)16A-D可以連接到具有流同步的虛擬局域網(wǎng)(VLAN) 70 (并且向其提供服務(wù))。FD的功能可以被集成在服務(wù)節(jié)點(diǎn)16A-D中。介于第一層和第二層之間的網(wǎng)絡(luò)流量可以使用散列算法方案。第二層中(以及從第二層到VLAN 70)的網(wǎng)絡(luò)流量可以使用基于流的分組轉(zhuǎn)發(fā)方案。
      [0061]在匯聚路由器/交換機(jī)12A和12B的每個(gè)中都可以布置遷移管理器28和轉(zhuǎn)發(fā)引擎19。轉(zhuǎn)發(fā)引擎19可以實(shí)現(xiàn)基于散列的分組轉(zhuǎn)發(fā)。在服務(wù)節(jié)點(diǎn)16A-D的每個(gè)中都可以布置遷移客戶端模塊26。在各種實(shí)施例中,服務(wù)節(jié)點(diǎn)16A-D可以包括安全裝置(比如Cisco自適應(yīng)安全裝置(ASA))。服務(wù)節(jié)點(diǎn)16A-D可以執(zhí)行各種服務(wù),比如,防火墻、內(nèi)容安全(例如,防病毒、反間諜軟件等)、IPsec、SSL VPN、入侵防御等。遷移客戶端模塊26可以作為各種其它服務(wù)的一部分在服務(wù)節(jié)點(diǎn)16A-D上運(yùn)行。
      [0062]匯聚路由器/交換機(jī)12A的遷移管理器28可以通知服務(wù)節(jié)點(diǎn)(例如,服務(wù)節(jié)點(diǎn)16A):它正被移除。服務(wù)節(jié)點(diǎn)16A的遷移客戶端模塊26可以選擇合適的繼承者(例如,服務(wù)節(jié)點(diǎn)16B)和備份繼承者(例如,服務(wù)節(jié)點(diǎn)16C)并且將流表格從服務(wù)節(jié)點(diǎn)16A復(fù)制到服務(wù)節(jié)點(diǎn)16B和16C。遷移客戶端模塊26可以向其它對(duì)等節(jié)點(diǎn)(例如,服務(wù)節(jié)點(diǎn)16D)廣播此次遷移并且將此次移除通知給匯聚路由器/交換機(jī)12A。匯聚路由器/交換機(jī)12A和12B可以向彼此傳送遷移信息。遷移客戶端模塊26可以停止向服務(wù)節(jié)點(diǎn)16A轉(zhuǎn)發(fā)分組,反而將分組路由到服務(wù)節(jié)點(diǎn)16B。
      [0063]轉(zhuǎn)向圖4,圖4是示出了可以與通信系統(tǒng)10相關(guān)聯(lián)的操作活動(dòng)的簡(jiǎn)化流程圖。當(dāng)遷移客戶端模塊26被通知其相關(guān)聯(lián)的目標(biāo)節(jié)點(diǎn)的移除時(shí),操作100開始于102處。在104處,遷移客戶端模塊26的繼承者選擇器54可以從對(duì)等節(jié)點(diǎn)中選擇適當(dāng)?shù)睦^承者。在106處,遷移客戶端模塊26的流處理器56可以將流表格58復(fù)制到(一個(gè)或更多)繼承者。在108處,廣播模塊62可以向?qū)Φ裙?jié)點(diǎn)廣播所遷移的流的新所有權(quán)。在110處,流處理器56可以清理流表格58。在112處,在將目標(biāo)節(jié)點(diǎn)和繼承者的狀態(tài)變化通知給遷移管理器28之前,遷移客戶端模塊26可以等候流表格58成為空的并且RX/TX隊(duì)列60中沒有待決的數(shù)據(jù)分組。在一個(gè)實(shí)施例中,遷移客戶端模塊26可以向遷移管理器28發(fā)送消息,以將目標(biāo)節(jié)點(diǎn)從與遷移管理器28相關(guān)聯(lián)的轉(zhuǎn)發(fā)引擎19中移除。操作結(jié)束于114處,并且遷移管理器28可以使得后續(xù)分組被轉(zhuǎn)發(fā)到繼承者。
      [0064]轉(zhuǎn)向圖5,圖5是示出了可以與本公開的實(shí)施例相關(guān)聯(lián)的示例操作活動(dòng)的簡(jiǎn)化流程圖。當(dāng)通信系統(tǒng)10被激活時(shí),操作120開始于122處。在124處,(例如,在匯聚路由器/交換機(jī)12A中的)遷移管理器28指示要移除的目標(biāo)節(jié)點(diǎn)(例如,F(xiàn)D 14A)。在一個(gè)實(shí)施例中,指令可以被傳送到目標(biāo)節(jié)點(diǎn)中的遷移客戶端模塊26。在126處,遷移管理器28等候來(lái)自遷移客戶端模塊26的、對(duì)目標(biāo)節(jié)點(diǎn)將被移除的確認(rèn)。在128處,一旦從遷移客戶端模塊26接收到確認(rèn),遷移管理器28可以改變(例如,在散列算法中的)散列范圍以從進(jìn)一步的流分發(fā)中移除目標(biāo)節(jié)點(diǎn)。例如,改變散列范圍可以導(dǎo)致目標(biāo)節(jié)點(diǎn)的信息(比如,IP地址或端口)從散列算法中移除。過(guò)程結(jié)束于130處。
      [0065]轉(zhuǎn)向圖6,圖6是根據(jù)本公開的實(shí)施例的多個(gè)流程表?xiàng)l目140的示例。在各種實(shí)施例中,流程表?xiàng)l目140可以被實(shí)現(xiàn)于包括二級(jí)服務(wù)器集群的架構(gòu)中。例如,第一級(jí)能夠包括使用散列算法隨機(jī)地散發(fā)分組,第二級(jí)能夠包括基于流的分發(fā)。僅為了討論的目的并且結(jié)合圖5到圖8,假設(shè)匯聚路由器/交換機(jī)12A的遷移管理器28指示FD 14A上的遷移客戶端模塊26將被脫離,并且FD 14A的遷移客戶端模塊26選擇FD 14B作為繼承者。在集群18僅包括兩層的實(shí)施例中,假設(shè)匯聚路由器/交換機(jī)12A的遷移管理器28指示服務(wù)節(jié)點(diǎn)16A上的遷移客戶端模塊26將被脫離,并且遷移客戶端模塊26選擇服務(wù)節(jié)點(diǎn)16B作為繼承者。
      [0066]在根據(jù)本圖的實(shí)施例中,流表格條目140包括:key,其可以由流的分組的源IP、源端口、目的地IP、目的地端口和協(xié)議來(lái)定義;action_network,其可以包括將對(duì)流的分組執(zhí)行的任何網(wǎng)絡(luò)動(dòng)作;action_application,其可以包括由傳送流的分組的應(yīng)用指定的動(dòng)作。在其它實(shí)施例中,基于網(wǎng)絡(luò)的流定義,key可替代地可以包括五個(gè)因子(源IP、源端口、目的地IP、目的地端口、協(xié)議或其合適的組合)的子集。
      [0067]在各種實(shí)施例中,網(wǎng)絡(luò)動(dòng)作包括:轉(zhuǎn)發(fā)(forward)(例如,分組在不進(jìn)行任何處理的情況下被傳遞到節(jié)點(diǎn))、重寫(rewrite)(例如,為了合適的目的(比如負(fù)載平衡或者翻譯到不同的網(wǎng)絡(luò)等)分組被操縱以重寫頭部的一些部分,比如,目的地IP地址、MAC地址或端口等);或重新定向(redirect)(例如,分組被轉(zhuǎn)發(fā)到真正的擁有者)。應(yīng)用動(dòng)作能夠隨傳送分組的特定應(yīng)用而不同。例如,分組可以被壓縮、用于進(jìn)行深度分組檢測(cè)的解壓縮、加密、解密、或緩存(例如,分組的副本被保存在網(wǎng)絡(luò)節(jié)點(diǎn)中以用于快速訪問(wèn))等。本文所述的流表格條目(例如,key、action_network、action_application)僅為示例的目的并且不意在限制。在本公開的寬泛的范圍內(nèi)還可以使用各種其它流表格條目。
      [0068]轉(zhuǎn)向圖7,圖7是根據(jù)本公開的實(shí)施例的、用于無(wú)中斷遷移的簡(jiǎn)化算法150。算法150可以由FD 14A上的遷移客戶端模塊26(或者在適當(dāng)?shù)那闆r下由服務(wù)節(jié)點(diǎn)16A)實(shí)現(xiàn)。算法150包括:(I)調(diào)用函數(shù)flowjnigrateO ; (2)指示從匯聚路由器/交換機(jī)12A上的轉(zhuǎn)發(fā)引擎19移除成員(B卩,F(xiàn)D 14A) ; (3)等候直到FD 14A的流表格為空并且(可以存儲(chǔ)在FD 14A中的NIC上的)RX/TX隊(duì)列60中沒有待決的分組;以及(4)將FD 14A的memberStatus (成員狀態(tài))設(shè)置為“DISCHARGED FROM CLUSTER” (脫離集群)或者表明目標(biāo)節(jié)點(diǎn)脫離集群18的其它值。
      [0069]在一個(gè)實(shí)施例中,調(diào)用flow_migrate()函數(shù)可以通過(guò)在匯聚路由器/交換機(jī)12A上進(jìn)行手動(dòng)CLI步驟。在另一實(shí)施例中,調(diào)用flowjnigrateO函數(shù)可以通過(guò)經(jīng)由控制平面上的API到匯聚路由器/交換機(jī)12A的自動(dòng)消息。在一個(gè)實(shí)施例中,memberStatus可以經(jīng)由API被傳送到較高層控制平面。在另一實(shí)施例中,memberStatus可以被顯示在匯聚路由器/交換機(jī)12A的CLI上??商娲?,或者另外地,memberStatus可以被顯示在與匯聚路由器/交換機(jī)12A的遷移管理器28相關(guān)聯(lián)的適當(dāng)?shù)膱D形用戶接口上。一旦memberStatus已經(jīng)被設(shè)置為“DISCHARGED FROM CLUSTER”,較高的控制點(diǎn)管理軟件或者用戶能夠安全地將FD 14A從網(wǎng)絡(luò)中移除。[0070]轉(zhuǎn)向圖8,圖8是根據(jù)本公開的實(shí)施例的、將流從目標(biāo)節(jié)點(diǎn)遷移到繼承者的簡(jiǎn)化算法160。根據(jù)本圖的實(shí)施例,變量mylnheritor (其能夠定義目標(biāo)節(jié)點(diǎn)(即,根據(jù)本示例的FD14A)的繼承者(即,根據(jù)本示例的FD 14B))被設(shè)置為具有最少數(shù)目的流的成員。具有最少數(shù)目的流的成員可能是最不忙的,因此,分組由這樣的成員丟棄的概率可能很低。在其它實(shí)施例中,基于具體的需求,mylnheritor可以根據(jù)對(duì)等節(jié)點(diǎn)的IP地址(例如,最近的IP地址等)或視情況而定的其它參數(shù)而被設(shè)置。然后開啟flowjnigrate。FD 14A的流表格58可以被復(fù)制到mylnheritor的(即,FD 14B的)流表格58中。復(fù)制可以通過(guò)目標(biāo)節(jié)點(diǎn)(即,F(xiàn)D 14A)和繼承者(S卩,F(xiàn)D 14B)之間的點(diǎn)對(duì)點(diǎn)通信實(shí)現(xiàn)。然后,F(xiàn)D 14A的遷移客戶端模塊26可以向?qū)Φ裙?jié)點(diǎn)廣播:myInheritor (即,F(xiàn)D 14B)是流表格58中的所有流表格條目的擁有者。流表格58然后被清理以移除所有流表格條目140。
      [0071]轉(zhuǎn)向圖9,圖9示出了根據(jù)本公開的實(shí)施例的示例流處理算法170。為了說(shuō)明,假設(shè)分組packet_a遍歷通信系統(tǒng)10的二級(jí)集群。如果開啟流遷移,分組由遷移客戶端模塊26重新定向到繼承者14B。如果packet_a在匯聚路由器/交換機(jī)12A的遷移管理器28已經(jīng)指示FD 14A的遷移客戶端模塊26使FD 14A脫離集群之后并且在FD 14A完全脫離集群之前到達(dá)FD 14A,則開啟流遷移。
      [0072]如果未開啟流遷移(表明FD 14A沒有正脫離集群),F(xiàn)D 14A可以根據(jù)現(xiàn)有方法處理packet_a。例如,如果packet_a是SYN分組,則它可以表明新的流。新的flow_a可以被創(chuàng)建。flow_a的動(dòng)作可以根據(jù)網(wǎng)絡(luò)服務(wù)(例如,轉(zhuǎn)發(fā)、或重定向、或重寫等)而被預(yù)先描述。packet_a可以根據(jù)預(yù)先描述的動(dòng)作而被處理。接下來(lái),reverse_f low_a (其是packet_a在同一通信會(huì)話中其返回路徑中的流)以及對(duì)應(yīng)的動(dòng)作被定義。在實(shí)施例中,reverse_flow_a是通過(guò)交換packet_a的分組頭部中的源地址和目的地地址而定義的。一些應(yīng)用可以具有流持久性要求;進(jìn)入分組和返回分組應(yīng)當(dāng)屬于同一流(和流表格)。flow_a和reverse_flow_a被插入到流表格58中。FD 14A向其對(duì)等節(jié)點(diǎn)廣播:它是flow_a和reverse_flow_a的擁有者。然后,分組根據(jù)其目的地被處理和轉(zhuǎn)發(fā)。
      [0073]如果packet_a與具有不同的擁有者(例如,F(xiàn)D 14B)的flow_a相匹配,那么FD 14A可以將packet_a重定向到FD 14B。分別地,如果packet_a不是表明現(xiàn)有的flow_a的SYN分組,并且FD 14A是floW_a的擁有者,那么FD 14A可以根據(jù)按照FD 14A的流表格58中的flow_a預(yù)先描述的(或匹配的)動(dòng)作來(lái)處理packet_a。packet_a可以被轉(zhuǎn)發(fā)到其目的地。如果分組是表明流的結(jié)束的FIN/RST分組,flow_a可以從流表格58中被移除。
      [0074]在示例實(shí)施例中,本文所概述的活動(dòng)的至少一些部分可以在布置于例如節(jié)點(diǎn)(例如,F(xiàn)D 14A和14B和/或匯聚路由器/交換機(jī)12A和12B)中的非暫態(tài)邏輯(即,軟件)中實(shí)現(xiàn)。這能夠包括被布置在網(wǎng)絡(luò)中的各種位置的轉(zhuǎn)發(fā)引擎19、遷移管理器28、遷移客戶端模塊26和/或繼承者選擇器54的一個(gè)或更多實(shí)例。在一些實(shí)施例中,這些功能中的一個(gè)或更多個(gè)可以在被提供在這些元件的外部或以任何適當(dāng)?shù)姆绞胶喜?lái)實(shí)現(xiàn)預(yù)期的功能的硬件中實(shí)現(xiàn)。匯聚路由器/交換機(jī)12A和12B、FD 14A和14B、和/或服務(wù)節(jié)點(diǎn)16A-D可以包括能夠?yàn)榱藢?shí)現(xiàn)本文所概述的操作而協(xié)調(diào)的軟件(或交互式軟件(reciprocating software))。在其它實(shí)施例中,這些元件可以包括任何適合的算法、硬件、軟件、組件、模塊、接口或協(xié)助其操作的對(duì)象。
      [0075]此外,本文所描述和示出的通信系統(tǒng)10的組件還可以包括合適的接口,以在網(wǎng)絡(luò)環(huán)境中接收、發(fā)送和/或以其它方式傳送數(shù)據(jù)或信息。另外,與各種節(jié)點(diǎn)相關(guān)聯(lián)的一些處理器和存儲(chǔ)器可以被移除或以其它方式合并,以使得單個(gè)處理器和單個(gè)存儲(chǔ)器位置負(fù)責(zé)某些活動(dòng)。一般來(lái)講,附圖中所描繪的部署在其表現(xiàn)方面可以更邏輯化,然而物理架構(gòu)可以包括這些元件的各種排列、組合和/或混合。必須注意的是數(shù)不盡的可能的設(shè)計(jì)配置能夠用于實(shí)現(xiàn)本文概括的操作對(duì)象。因此,相關(guān)聯(lián)的基礎(chǔ)設(shè)施具有無(wú)數(shù)種替代的部署、設(shè)計(jì)選擇、設(shè)備可能性、硬件配置、軟件實(shí)現(xiàn)方式、裝備選項(xiàng)等。
      [0076]在一些示例實(shí)施例中,一個(gè)或更多存儲(chǔ)器(例如,與遷移客戶端模塊26相關(guān)聯(lián)的存儲(chǔ)器)能夠存儲(chǔ)用于本文所述的操作的數(shù)據(jù)。這包括能夠存儲(chǔ)指令(例如,軟件、邏輯、代碼等)的存儲(chǔ)器,這些指令被執(zhí)行以進(jìn)行本說(shuō)明書所描述的活動(dòng)。處理器能夠執(zhí)行與數(shù)據(jù)相關(guān)聯(lián)的任何類型的指令以實(shí)現(xiàn)本說(shuō)明書中在此詳細(xì)描述的操作。在一個(gè)示例中,與遷移客戶端模塊26相關(guān)聯(lián)的一個(gè)或更多存儲(chǔ)器能夠?qū)⒃蛭矬w(例如,數(shù)據(jù))從一種狀態(tài)或事物轉(zhuǎn)換為另一種狀態(tài)或事物。在另一示例中,本文所概述的活動(dòng)可以使用固定邏輯或可編程邏輯(例如,由處理器執(zhí)行的軟件/計(jì)算機(jī)指令)實(shí)現(xiàn),并且本文所標(biāo)識(shí)的元件能夠是某種類型的可編程處理器、可編程數(shù)字邏輯(例如,現(xiàn)場(chǎng)可編程門陣列(FPGA)、可擦除可編程只讀存儲(chǔ)器(EPROM)、電可擦除可編程只讀存儲(chǔ)器(EEPROM))、包括數(shù)字邏輯的ASIC、軟件、代碼、電子指令、閃速存儲(chǔ)器、光盤、CD-ROM、DVD ROM、磁卡或光卡、其它類型的適于存儲(chǔ)電子指令的機(jī)器可讀介質(zhì)、或其任何合適的組合。
      [0077]通信系統(tǒng)10中的組件能夠包括一個(gè)或更多存儲(chǔ)器(例如,與遷移客戶端模塊26相關(guān)聯(lián)的存儲(chǔ)器),以存儲(chǔ)用于實(shí)現(xiàn)本文所概述的操作的信息。在適當(dāng)?shù)那闆r下并且基于具體需求,這些設(shè)備可以進(jìn)一步將信息保存在任何合適類型的存儲(chǔ)器元件(例如,隨機(jī)存取存儲(chǔ)器(RAM)、只讀存儲(chǔ)器(ROM)、現(xiàn)場(chǎng)可編程門陣列(FPGA)、可擦除可編程只讀存儲(chǔ)器(EPROM)、電可擦除可編程只讀存儲(chǔ)器(EEPROM)等)、軟件、硬件、或任何其它合適的組件、設(shè)備、元件或客體中?;诰唧w地需求和實(shí)現(xiàn)方式,通信系統(tǒng)10中所追蹤、發(fā)送、接收或存儲(chǔ)的信息能夠被提供在任何數(shù)據(jù)庫(kù)、寄存器、表格、緩存、隊(duì)列、控制列表或存儲(chǔ)結(jié)構(gòu)中,所有這些信息能夠在任何合適的時(shí)間表中被參考。本文所討論的任何存儲(chǔ)器項(xiàng)目都應(yīng)當(dāng)被解釋為包含在寬泛的術(shù)語(yǔ)‘存儲(chǔ)器’內(nèi)。類似地,本說(shuō)明書中所描述的任何可能的處理元件、模塊和機(jī)器應(yīng)當(dāng)被解釋為包含在寬泛的術(shù)語(yǔ)‘處理器’內(nèi)。
      [0078]請(qǐng)注意,以本文所提供的多個(gè)實(shí)施例,交互可以按照兩個(gè)、三個(gè)、四個(gè)或更多節(jié)點(diǎn)進(jìn)行描述。然而,這僅是為清楚和示例的目的而進(jìn)行的。應(yīng)當(dāng)理解的是,系統(tǒng)能夠以任何合適的方式合并。隨著類似的設(shè)計(jì)替代方案,附圖中所示出的任何計(jì)算機(jī)、模塊、組件和元件可以組合在各種可能的配置中,所有這些各種可能的配置都明確地在本說(shuō)明書的寬泛的范圍內(nèi)。在某些情形下,僅通過(guò)參考有限數(shù)目的節(jié)點(diǎn)來(lái)描述一組給定的流的一個(gè)或更多功能是容易的。應(yīng)當(dāng)理解的是,附圖的通信系統(tǒng)10及其教導(dǎo)易于擴(kuò)展并且能夠容納大量的組件以及更復(fù)雜/精密的部署和配置。因此,所提供的示例不應(yīng)當(dāng)限制可能應(yīng)用于無(wú)數(shù)其它架構(gòu)的通信系統(tǒng)10的范圍或約束通信系統(tǒng)10的寬泛教導(dǎo)。
      [0079]請(qǐng)注意,在本說(shuō)明書中,提及包括在“ 一個(gè)實(shí)施例”、“示例實(shí)施例”、“實(shí)施例”、“另一實(shí)施例”、“一些實(shí)施例”、“各種實(shí)施例”、“其它實(shí)施例”、“替代實(shí)施例”等中的各種特征(例如,元件、結(jié)構(gòu)、模塊、組件、步驟、操作、特性等)意在表示任何這樣的特征都包括在本公開的一個(gè)或更多實(shí)施例中,但是可以或者不一定被組合在相同的實(shí)施例中。此外,詞語(yǔ)“優(yōu)化”、“最佳”、“最適宜的”以及相關(guān)術(shù)語(yǔ)是涉及具體結(jié)果的速度和/或效率的提升領(lǐng)域的術(shù)語(yǔ),并且不意圖表明獲得具體的結(jié)果的處理已經(jīng)實(shí)現(xiàn)或者能夠?qū)崿F(xiàn)“最優(yōu)化”或完美的速度/完美的效率狀態(tài)。
      [0080]重要的是要注意到:參照上述附圖描述的操作或步驟僅示出了可由該系統(tǒng)執(zhí)行或在該系統(tǒng)內(nèi)執(zhí)行的一些可能的情形。在適當(dāng)?shù)那闆r下,這些操作中的一些可以被刪除或移除,或者在不脫離所討論的概念的范圍情況下,這些步驟可以被相當(dāng)大地修改或改變。另外,這些操作的時(shí)序可以被相當(dāng)大地改變并且仍然實(shí)現(xiàn)本公開所教導(dǎo)的結(jié)果。上述操作流程是為示例和討論的目的而給出的。系統(tǒng)提供實(shí)質(zhì)的靈活性,因?yàn)樵诓幻撾x所討論的概念的教導(dǎo)情況下,任何合適的部署、事件發(fā)生順序、配置、及時(shí)序機(jī)制都可以被提供。
      [0081]盡管已經(jīng)參照具體的部署和配置對(duì)本公開進(jìn)行了詳細(xì)描述,但是在不脫離本公開的范圍的情況下這些示例配置和部署可以被顯著地改變。例如,盡管已經(jīng)參照涉及某些網(wǎng)絡(luò)訪問(wèn)和協(xié)議的具體通信交換對(duì)本公開進(jìn)行了描述,但是通信系統(tǒng)10可以適用于其它對(duì)分組進(jìn)行交換以提供移動(dòng)性數(shù)據(jù)、連接性參數(shù)、訪問(wèn)管理等的交換或路由協(xié)議。而且,盡管已經(jīng)參照輔助通信處理的具體元件或操作對(duì)通信系統(tǒng)10進(jìn)行了說(shuō)明,但是可以用實(shí)現(xiàn)通信系統(tǒng)10的預(yù)期功能的任何合適的架構(gòu)或處理來(lái)替代這些元件和操作。
      [0082]多種其它變化、替換、變體、變更和修改對(duì)本領(lǐng)域技術(shù)人員來(lái)說(shuō)可以是確定的,并且本公開意在涵蓋落入所附權(quán)利要求范圍內(nèi)的所有這樣的變化、替換、變體、變更和修改。為了幫助美國(guó)專利商標(biāo)局(United States Patent and Trademark Office, USPTO)以及相應(yīng)地本申請(qǐng)中所發(fā)布的任何專利文獻(xiàn)的讀者理解所附權(quán)利要求, 申請(qǐng)人:希望指出: 申請(qǐng)人:
      (а)不打算存在于 本申請(qǐng)的申請(qǐng)日的任何所附權(quán)利要求援引35U.S.C.章節(jié)112的第六段
      (б),除非詞語(yǔ)“用于……的裝置”或“用于……的步驟”具體地用于特定權(quán)利要求;并且(b)不打算通過(guò)說(shuō)明書中的任何聲明、以沒有反映在所附權(quán)利要求中的任何方式來(lái)限制本公開。
      【權(quán)利要求】
      1.一種方法,包括: 使目標(biāo)節(jié)點(diǎn)脫離集群,其中所述脫離包括: 選擇繼承者; 將流從所述目標(biāo)節(jié)點(diǎn)遷移到所述繼承者; 通知遷移管理器:所述目標(biāo)節(jié)點(diǎn)脫離所述集群;以及 向所述目標(biāo)節(jié)點(diǎn)的對(duì)等節(jié)點(diǎn)廣播:所述目標(biāo)節(jié)點(diǎn)由所述繼承者代替。
      2.如權(quán)利要求1所述的方法,其中所述集群包括: 網(wǎng)絡(luò)拓?fù)涞牡谝粚?,其包括?shí)現(xiàn)基于散列的分組轉(zhuǎn)發(fā)的轉(zhuǎn)發(fā)引擎;以及所述網(wǎng)絡(luò)拓?fù)涞牡诙樱浒ㄋ瞿繕?biāo)節(jié)點(diǎn)和所述繼承者,其中所述目標(biāo)節(jié)點(diǎn)和所述繼承者實(shí)現(xiàn)基于流的分組轉(zhuǎn)發(fā)。
      3.如權(quán)利要求2所述的方法,其中所述集群還包括: 第三層,其包括被配置為在網(wǎng)絡(luò)中進(jìn)行分組處理的服務(wù)節(jié)點(diǎn)。
      4.如權(quán)利要求1所述的方法,其中所述繼承者包括所述集群的節(jié)點(diǎn)的子集中的、所述目標(biāo)節(jié)點(diǎn)的具有最少數(shù)目的流的對(duì)等節(jié)點(diǎn)。
      5.如權(quán)利要求1所 述的方法,其中所述繼承者包括所述集群中的新的對(duì)等節(jié)點(diǎn)。
      6.如權(quán)利要求1所述的方法,其中選擇所述繼承者包括: 從遷移管理器接收對(duì)等節(jié)點(diǎn)的流處理統(tǒng)計(jì)數(shù)據(jù);以及 基于所述流處理統(tǒng)計(jì)數(shù)據(jù)在所述對(duì)等節(jié)點(diǎn)之間分發(fā)所述流,以使得正由所述對(duì)等節(jié)點(diǎn)處理的流的總數(shù)均勻地分發(fā)。
      7.如權(quán)利要求1所述的方法,其中所述目標(biāo)節(jié)點(diǎn)包括流-分組分發(fā)器。
      8.如權(quán)利要求1所述的方法,其中所述遷移包括將流表格復(fù)制到所述繼承者。
      9.如權(quán)利要求8所述的方法,還包括: 清理所述流表格; 識(shí)別所述流表格為空并且所述目標(biāo)節(jié)點(diǎn)的接收/發(fā)送(RX/TX)隊(duì)列中沒有待決的數(shù)據(jù)分組;以及 設(shè)置所述目標(biāo)節(jié)點(diǎn)的狀態(tài)以表明所述目標(biāo)節(jié)點(diǎn)脫離所述集群。
      10.如權(quán)利要求1所述的方法,還包括: 將分組從所述目標(biāo)節(jié)點(diǎn)重定向到所述繼承者。
      11.如權(quán)利要求1所述的方法,還包括: 提供用于移除所述目標(biāo)節(jié)點(diǎn)的指令; 識(shí)別所述目標(biāo)節(jié)點(diǎn)被移除的確認(rèn);以及 改變散列算法中的散列范圍以移除所述目標(biāo)節(jié)點(diǎn)。
      12.一種裝置,包括: 存儲(chǔ)器,其被配置為存儲(chǔ)指令; 處理器,其能操作來(lái)執(zhí)行所述指令; 繼承者選擇器模塊; 流處理器;以及 廣播模塊,其中所述裝置被配置為: 使目標(biāo)節(jié)點(diǎn)脫離集群,其中所述脫離包括:選擇繼承者; 將流從所述目標(biāo)節(jié)點(diǎn)遷移到所述繼承者; 通知遷移管理器:所述目標(biāo)節(jié)點(diǎn)脫離所述集群;以及 向所述目標(biāo)節(jié)點(diǎn)的對(duì)等節(jié)點(diǎn)廣播:所述目標(biāo)節(jié)點(diǎn)由所述繼承者代替。
      13.如權(quán)利要求12所述的裝置,其中所述集群包括: 網(wǎng)絡(luò)拓?fù)涞牡谝粚?,其包括?shí)現(xiàn)基于散列的分組轉(zhuǎn)發(fā)的轉(zhuǎn)發(fā)引擎;以及所述網(wǎng)絡(luò)拓?fù)涞牡诙?,其包括所述目?biāo)節(jié)點(diǎn)和所述繼承者,其中所述目標(biāo)節(jié)點(diǎn)和所述繼承者實(shí)現(xiàn)基于流的分組轉(zhuǎn)發(fā)。
      14.如權(quán)利要求12所述的裝置,其中所述遷移包括向所述繼承者提供流表格。
      15.如權(quán)利要求14所述的裝置,其中所述裝置還被配置為: 清理所述流表格; 識(shí)別所述流表格為空并且所述目標(biāo)節(jié)點(diǎn)的RX/TX隊(duì)列中沒有待決的數(shù)據(jù)分組;以及 設(shè)置所述目標(biāo)節(jié)點(diǎn)的狀態(tài) 以表明所述目標(biāo)節(jié)點(diǎn)脫離所述集群。
      16.一種編碼于非暫態(tài)介質(zhì)中的邏輯,其包括用于執(zhí)行的代碼并且當(dāng)由處理器執(zhí)行時(shí)能操作來(lái)執(zhí)行以下操作,所述操作包括: 使目標(biāo)節(jié)點(diǎn)脫離集群,其中所述脫離包括: 選擇繼承者; 將流從所述目標(biāo)節(jié)點(diǎn)遷移到所述繼承者; 通知遷移管理器:所述目標(biāo)節(jié)點(diǎn)脫離所述集群;以及 向所述目標(biāo)節(jié)點(diǎn)的對(duì)等節(jié)點(diǎn)廣播:所述目標(biāo)節(jié)點(diǎn)由所述繼承者代替。
      17.如權(quán)利要求16所述的邏輯,其中所述集群包括: 網(wǎng)絡(luò)拓?fù)涞牡谝粚?,其包括?shí)現(xiàn)基于散列的分組轉(zhuǎn)發(fā)的轉(zhuǎn)發(fā)引擎;以及所述網(wǎng)絡(luò)拓?fù)涞牡诙?,其包括所述目?biāo)節(jié)點(diǎn)和所述繼承者,其中所述目標(biāo)節(jié)點(diǎn)和所述繼承者實(shí)現(xiàn)基于流的分組轉(zhuǎn)發(fā)。
      18.如權(quán)利要求16所述的邏輯,其中所述繼承者包括所述集群的節(jié)點(diǎn)的子集中的、所述目標(biāo)節(jié)點(diǎn)的具有最少數(shù)目的流的對(duì)等節(jié)點(diǎn)。
      19.如權(quán)利要求16所述的邏輯,其中所述遷移包括復(fù)制要提供給所述繼承者的流表格。
      20.如權(quán)利要求19所述的邏輯,所述操作還包括: 清理所述流表格; 識(shí)別所述流表格為空并且所述目標(biāo)節(jié)點(diǎn)的RX/TX隊(duì)列中沒有待決的數(shù)據(jù)分組;以及 設(shè)置所述目標(biāo)節(jié)點(diǎn)的狀態(tài)以表明所述目標(biāo)節(jié)點(diǎn)脫離所述集群。
      【文檔編號(hào)】H04L29/08GK104011687SQ201280061940
      【公開日】2014年8月27日 申請(qǐng)日期:2012年12月2日 優(yōu)先權(quán)日:2011年12月16日
      【發(fā)明者】馮超, 莎馬爾·夏爾馬, 隆那科·德賽, 曲迪恒 申請(qǐng)人:思科技術(shù)公司
      網(wǎng)友詢問(wèn)留言 已有0條留言
      • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
      1