用于一個或多個客戶端和數(shù)據(jù)中心的服務器之間的客戶端管理會話持續(xù)性的設備、系統(tǒng) ...的制作方法
【專利摘要】一種用于維護一個或多個客戶端和一個或多個數(shù)據(jù)服務器之間的會話持續(xù)性的設備、系統(tǒng)和方法包括根據(jù)包括在由負載均衡器從客戶端接收的消息中的負載均衡器提示頭,在客戶端和數(shù)據(jù)服務器之間提供持續(xù)會話??蛻舳诵薷目捎蓱蒙傻南?,以便包括標識消息內(nèi)標識特定持續(xù)會話的會話ID的位置的負載均衡器提示頭。負載均衡器基于會話ID從會話-服務器表標識數(shù)據(jù)服務器并且將消息傳輸?shù)剿鶚俗R的數(shù)據(jù)服務器。如果負載均衡器不能定位相應的數(shù)據(jù)服務器,負載均衡器可與其他負載均衡器通信,以便確定相應的數(shù)據(jù)服務器的位置。
【專利說明】用于一個或多個客戶端和數(shù)據(jù)中心的服務器之間的客戶端 管理會話持續(xù)性的設備、系統(tǒng)和方法
[0001] 背景
[0002] 云計算是向公司和其他實體提供虛擬計算資源和服務所借助的常用工具。隨著客 戶端公司的需要隨著時間變化,云計算可為客戶端公司提供許多優(yōu)勢,包括計算資源的相 對快速、高效和廉價的可升級性和可擴展性。在云計算中,基礎設施、平臺、和/或軟件可由 云計算提供商提供給客戶端公司作為網(wǎng)絡上(即,云上)的服務。例如,不是將獨立的軟件 包加載到客戶端公司的每臺計算機上,軟件可被提供給客戶端公司作為使用網(wǎng)絡瀏覽器或 相關(guān)聯(lián)的輕型應用可由客戶端公司的任何計算機訪問的服務。
[0003] 云計算提供商通常管理一個或多個數(shù)據(jù)中心,這便于客戶端公司訪問計算資源和 服務。每個數(shù)據(jù)中心可包括一個或多個數(shù)據(jù)服務器(例如網(wǎng)絡服務器、應用服務器等等) 以及一個或多個負載均衡器以便使用負載均衡算法跨數(shù)據(jù)服務器均衡來自客戶端公司計 算機的工作負載(或一個或多個"全局負載均衡器"來均衡跨數(shù)據(jù)中心的工作負載)。隨著 客戶端公司的計算需要的增長,可向公司的云計算資源添加附加的數(shù)據(jù)服務器和/或數(shù)據(jù) 中心,以便滿足增長的計算需要。為了支持公司客戶端計算機對虛擬計算資源和服務的多 重同時訪問,每個數(shù)據(jù)服務器可包括由計算資源/服務使用的數(shù)據(jù)的本地副本。為了確保 每個數(shù)據(jù)服務器能夠訪問所存儲數(shù)據(jù)的完整副本,周期性地跨數(shù)據(jù)服務器復制數(shù)據(jù)。
[0004] 附圖簡要說明
[0005] 通過舉例而非通過限制在附圖中示出在此描述的本發(fā)明。為了示出的簡單和清 晰,圖中所示元件無需按比例繪制。例如,為了清晰的目的,某些元件的尺寸可能相對于其 他元件被放大。而且,當考慮合適時,已經(jīng)在附圖中重復參考標號以便表明相應的或類似的 元素。
[0006] 圖1是用于維護客戶端計算設備與數(shù)據(jù)中心的數(shù)據(jù)服務器之間的會話持續(xù)性的 系統(tǒng)的至少一個實施例的簡化框圖;
[0007] 圖2是圖1的系統(tǒng)的客戶端計算設備的環(huán)境的至少一個實施例的簡化框圖;
[0008] 圖3是圖1的系統(tǒng)的負載均衡器的環(huán)境的至少一個實施例的簡化框圖;
[0009] 圖4是可由圖2的客戶端計算設備執(zhí)行的用于生成持續(xù)消息的方法的至少一個實 施例的簡化流程圖;
[0010] 圖5和圖6是可由圖1的負載均衡器執(zhí)行的用于維護客戶端計算設備和一個或多 個數(shù)據(jù)服務器之間的會話持續(xù)性的方法的至少一個實施例的簡化流程圖;
[0011] 圖7是用于維護客戶端計算設備與數(shù)據(jù)中心的數(shù)據(jù)服務器之間的會話持續(xù)性的 系統(tǒng)的另一個實施例的簡化框圖。
[0012] 附圖詳細描述
[0013] 盡管本公開的概念可受到各種修改和替代形式,已經(jīng)通過舉例在附圖中并且將在 此詳細地描述其特定示例性實施例。然而,應當理解的是不旨在將本公開的概念限制為所 公開的具體形式,而是相反,本發(fā)明涵蓋與本公開和所附權(quán)利要求書一致的所有修改、等效 方案和替代方案。
[0014] 在以下說明中,列出了許多特定細節(jié),諸如邏輯實現(xiàn)方式、操作碼、用于指定操作 數(shù)的裝置、資源劃分/共享/復制實現(xiàn)方式、系統(tǒng)組件的類型和相互關(guān)系、以及邏輯劃分/ 集成選擇,以便提供本公開的更透徹理解。然而,本領域普通技術(shù)人員將認識到本公開的實 施例可在沒有這些特定細節(jié)的情況下實踐。在其他實例中,未詳細地示出控制結(jié)構(gòu)、門級電 路、以及全軟件指令序列,以便不混淆本發(fā)明。通過所包括的描述,本領域普通技術(shù)人員將 能夠在無需不適當?shù)脑囼灥那闆r下實現(xiàn)適當?shù)墓δ堋?br>
[0015] 在說明書中對"一個實施例"、"實施例"、"示例實施例"等等的引用表明所描述的 實施例可包括具體的特征、結(jié)構(gòu)或特性,但是每個實施例可無需包括該具體的特征、結(jié)構(gòu)或 特性。而且,這種短語無需指代相同的實施例。而且,當結(jié)合實施例描述具體的特征、結(jié)構(gòu) 或特性時,認為其在本領域普通技術(shù)人員結(jié)合顯式地或未顯式地描述的其他實施例實施這 種特征、結(jié)構(gòu)或特性的知識范圍內(nèi)。
[0016] 本發(fā)明的實施例可在硬件、固件、軟件或其任何組合中實現(xiàn)。在計算機系統(tǒng)中實現(xiàn) 的本發(fā)明的實施例可包括組件之間的一個或多個基于總線的互連和/或組件之間的一個 或多個點到點互連。本發(fā)明的實施例還可被實現(xiàn)為由瞬態(tài)或非瞬態(tài)機器可讀(例如計算 機可讀)介質(zhì)攜帶或存儲在其上的指令,這些指令可由一個或多個處理器讀取并執(zhí)行。機 器可讀介質(zhì)可被實施為任何用于存儲或傳輸機器(例如,計算設備)可讀形式的信息的設 備、機制、或物理結(jié)構(gòu)。例如,機器可讀介質(zhì)可被實施為只讀存儲器(ROM);隨機存取存儲器 (RAM);磁盤存儲介質(zhì);光學存儲介質(zhì);閃存設備;迷你或微SD卡、存儲器棒、電信號和其他 信號。
[0017] 在附圖中,可出于描述簡單的目的示出示意元素(諸如表示設備、模塊、指令框和 數(shù)據(jù)元素的那些)的特定安排或排序。然而,本領域普通技術(shù)人員應當理解的是附圖中的 示意元素的特定排序或安排不旨在暗示要求具體的處理順序或序列或分離的過程。進一步 地,附圖中的示意元素的包括不旨在暗示所有實施例中要求這種元素或者暗示這種元素所 表示的特征可不包括在某些實施例中的其他元素或與其組合。
[0018] 總體上,可使用任何合適形式的機器可讀指令(諸如軟件或固件應用、程序、功 能、模塊、例程、過程、流程、插件、小程序、小工具、代碼片段和/或其他)實現(xiàn)用于表示指令 框的示意元件,以及可使用任何合適的編程語言、庫、應用編程接口(API)、和/或其他軟件 開發(fā)工具實現(xiàn)每個這種指令。例如,可使用Java、C++、和/或其他編程語言實現(xiàn)某些實施 例。類似地,可使用任何合適的電子安排或結(jié)構(gòu)(諸如寄存器、數(shù)據(jù)存儲、表格、記錄、陣列、 索引、散列、映射、樹、列表、圖示、文件(具有任何文件類型)、文件夾、目錄、數(shù)據(jù)庫、和/或 其他)實現(xiàn)用于表示數(shù)據(jù)或信息的示意元件。
[0019] 進一步地,在附圖中,當連接元素(諸如實線或虛線或箭頭)用于示出兩個或更多 個示意元素之間的連接、關(guān)系或關(guān)聯(lián),任何這種連接元素的不存在不意味著暗示不存在連 接、關(guān)系或關(guān)聯(lián)。換言之,元素之間的某些連接、關(guān)系或關(guān)聯(lián)可不在附圖中示出,以便不混淆 本公開。附加地,為了示出簡單,單個連接元素可用于表示元素之間的多個連接、關(guān)系或關(guān) 聯(lián)。例如,當連接元素表示傳遞信號、數(shù)據(jù)或指令時,本領域普通技術(shù)人員應當理解的是這 種元素可表示可需要以實現(xiàn)通信的一個或多個信號路徑(例如總線)。
[0020] 現(xiàn)在參考圖1,在一個實施例中,用于維護客戶端和一個或多個數(shù)據(jù)服務器之間的 會話持續(xù)性的系統(tǒng)100包括負載均衡器102,該負載均衡器被配置成用于通過網(wǎng)絡108從一 個或多個客戶端計算設備104、106接收消息并將這種消息轉(zhuǎn)發(fā)到數(shù)據(jù)中心114的所選擇的 一個或多個數(shù)據(jù)服務器11〇、112。為了這樣做,如以下更詳細討論的,客戶端計算設備104、 106被配置成用于修改具體的傳出消息以便包括負載均衡器提示頭,該負載均衡器提示頭 標識會話標識符(ID)所位于的消息內(nèi)的位置。負載均衡器102基于負載均衡器提示頭的存 在識別這種消息,并且基于負載均衡器提示頭中包括的數(shù)據(jù)從消息檢索會話ID。負載均衡 器102維護使會話ID與一個或多個特定數(shù)據(jù)服務器110U12相關(guān)的會話服務器表。這樣, 負載均衡器102可通過參照會話服務器表以便確定適當?shù)臄?shù)據(jù)服務器110U12接收消息, 來維護一個或多個特定客戶端計算設備104、106和一個或多個特定數(shù)據(jù)服務器110、112之 間的持續(xù)會話。一旦確定,負載均衡器102將消息轉(zhuǎn)發(fā)到適當?shù)臄?shù)據(jù)服務器110、112。以此 方式,最終一致性導致的問題被基本上避免并且由負載均衡器102根據(jù)一個或多個客戶端 計算設備104、106發(fā)送的經(jīng)修改的消息,維護客戶端計算設備104、106和一個或多個數(shù)據(jù) 服務器11〇、112之間的會話持續(xù)性。
[0021] 相反,在典型的云計算系統(tǒng)中,最終一致性相關(guān)的問題會難以避免。例如,如圖1 所示地安排的典型云計算系統(tǒng)可在某些情況下展現(xiàn)寫后讀問題。例如,當客戶端計算設備 向一個服務器寫入新數(shù)據(jù)(即,相關(guān)聯(lián)的負載均衡器將寫消息路由到第一數(shù)據(jù)服務器)并 且隨后從尚未通過復制更新的不同的數(shù)據(jù)服務器(即,相關(guān)聯(lián)的負載均衡器將讀消息路由 到第二數(shù)據(jù)服務器)讀取數(shù)據(jù)時,這種情況可發(fā)生。這種寫后讀問題的發(fā)生是由于跨云計 算系統(tǒng)的數(shù)據(jù)服務器復制的暫時延遲。
[0022] 某些云計算系統(tǒng)嘗試緩解寫后讀問題并且通過使用附加于客戶端計算設備發(fā)送 的消息并與其分離的cookie或數(shù)據(jù)來確保最終一致性。這種cookie或附加的分離數(shù)據(jù)消 息的使用可增加云計算系統(tǒng)的開銷和延遲。其他云計算系統(tǒng)可將數(shù)據(jù)嵌入到消息本體中, 其用于建立如本領域已知的"粘性會話"。然而,這種系統(tǒng)要求負載均衡器解析每個所接收 到的消息本體以便掃描所嵌入的粘性數(shù)據(jù)。這種解析和掃描會顯著地影響負載均衡器性 能,因為負載均衡器不具有對這種粘性數(shù)據(jù)位于消息中哪里的指示并且因此必須搜索整個 消息或其大部分,以便定位粘性數(shù)據(jù)。
[0023]返回參考圖1,系統(tǒng)100的每個客戶端計算設備104、106可被實施為能夠執(zhí)行在 此所描述的功能的任何類型的計算設備。例如,每個客戶端計算設備104U06可被實施為 而不限于被配置成用于存儲和訪問數(shù)據(jù)中心114中的數(shù)據(jù)的計算機、桌上計算機、個人計 算機(PC)、平板計算機、膝上計算機、筆記本計算機、移動計算設備、智能電話、蜂窩電話、手 機、通訊設備、工作站、網(wǎng)絡電器、web電器、分布式計算系統(tǒng)、微處理器系統(tǒng)、基于處理器的 系統(tǒng)、消費者電子設備、數(shù)字電視設備、機頂盒、和/或任何其他計算設備。在某些實施例 中,計算設備104U06中的一個或多個可被實施為服務器(例如,消費者網(wǎng)絡入口或數(shù)據(jù)服 務器,其充當數(shù)據(jù)中心114的客戶端)。附加地,盡管系統(tǒng)100在圖1中被示出為包括兩個 客戶端計算設備104、106,應當認識到在其他實施例中系統(tǒng)100可包括附加的客戶端計算 設備。
[0024] 在圖1的說明性實施例中,客戶端計算設備104包括處理器120、1/0子系統(tǒng)124、 存儲器126、數(shù)據(jù)存儲設備128、通信電路130、以及一個或多個外圍設備132。在某些實施 例中,前述組件中的若干組件可被結(jié)合到客戶端計算設備104的母板或主板上,而其他組 件可通過例如外圍端口通信地耦合到母板。進一步地,應當認識到客戶端計算設備104可 包括在計算機和/或計算設備中通常發(fā)現(xiàn)的其他組件、子組件、以及設備,為了描述清晰的 目的,未在圖1中示出。
[0025] 客戶端計算設備104的處理器120可被實施為能夠執(zhí)行軟件/固件的任何類型的 處理器(諸如微處理器、數(shù)字信號處理器、微控制器等等)。處理器120被說明性地實施為 具有處理器核122的單核處理器。然而,在其他實施例中,處理器120可被實施為具有多個 處理器核122的多核處理器。附加地,客戶端計算設備104可包括具有一個或多個處理器 核122的附加處理器120。
[0026] 客戶端計算設備104的I/O子系統(tǒng)124可被實施為用于促進客戶端計算設備104 的處理器120和/或其他組件的輸入/輸出操作的電路和/或組件。在某些實施例中,1/ 0子系統(tǒng)124可被實施為存儲器控制器中樞(MCH或"北橋")、輸入/輸出控制器中樞(ICH 或"南橋")以及固件設備。在這種實施例中,I/O子系統(tǒng)124的固件設備可被實施為用于 存儲基本輸入/輸出系統(tǒng)(BIOS)數(shù)據(jù)和/或指令和/或其他信息(例如,在客戶端計算設 備104的啟動期間使用的BIOS驅(qū)動器)的存儲器設備。然而,在其他實施例中,可使用具 有其他配置的I/O子系統(tǒng)。例如,在某些實施例中,I/O子系統(tǒng)124可被實施為平臺控制器 中樞(PCH)。在這種實施例中,存儲器控制器中樞(MCH)可被結(jié)合到處理器120中或以其他 方式與其相關(guān)聯(lián),并且處理器120可直接與存儲器126通信(如圖1中的虛線所示)。附加 地,在某些實施例中,I/O子系統(tǒng)124可形成片上系統(tǒng)(SoC)的一部分并且可與客戶端計算 設備104的處理器120和其他組件一起結(jié)合到單個集成電路芯片上。
[0027] 處理器120通過多條信號路徑通信地耦合到I/O子系統(tǒng)124。這些信號路徑(以 及圖1中示出的其他信號路徑)可被實施為能夠促進客戶端計算設備104的組件之間的通 信的任何類型的信號路徑。例如,這些信號路徑可被實施為任何數(shù)量的點到點鏈路、接線、 線纜、光導、印刷電路板跡線、通孔、總線、介入設備等等。
[0028] 客戶端計算設備104的存儲器126可被實施為或以其他方式包括一個或多個存儲 器設備或數(shù)據(jù)存儲位置,其包括例如動態(tài)隨機存取存儲器設備(DRAM)、同步動態(tài)隨機存取 存儲器設備(SDRAM)、雙數(shù)據(jù)速率同步動態(tài)隨機存取存儲器設備(DDRSDRAM)、掩碼只讀存 儲器(ROM)設備、可擦可編程ROM(EPROM)、電可擦可編程ROM(EEPROM)設備、閃存設備、和/ 或其他易失性和/或非易失性存儲器設備。存儲器126通過多條信號路徑通信地耦合到1/ 0子系統(tǒng)124。盡管在圖1中示出僅單個存儲器設備126,在其他實施例中,客戶端計算設備 104可包括附加存儲器設備。各種數(shù)據(jù)和軟件可被存儲在存儲器126中。例如,組成處理器 120執(zhí)行的軟件堆棧的一個或多個操作系統(tǒng)、應用、程序、庫、以及驅(qū)動器可在執(zhí)行期間駐留 在存儲器126中。
[0029] 數(shù)據(jù)存儲設備128可被實施為被配置成用于數(shù)據(jù)的短期或長期存儲的任何類型 的設備,諸如例如存儲器設備和電路、存儲器卡、硬盤驅(qū)動、固態(tài)驅(qū)動、或其他數(shù)據(jù)存儲設 備。在說明性實施例中,客戶端計算設備104維護存儲在數(shù)據(jù)存儲設備128中的消息策略 數(shù)據(jù)庫206 (見圖2)。如以下更詳細討論的,消息策略數(shù)據(jù)庫206包括用于確定哪些傳出消 息是持續(xù)消息并且因此應當被修改以便包括負載均衡器提示頭的策略或規(guī)則。當然,在其 他實施例中,客戶端計算設備104可存儲、訪問、和/或維護數(shù)據(jù)存儲128中的其他數(shù)據(jù)。客 戶端計算設備104的通信電路130可包括用于實現(xiàn)客戶端計算設備104和負載均衡器102 之間的通過網(wǎng)絡108的通信的任何數(shù)量的設備和電路,如以下更詳細討論的。通信電路130 可被配置成用于使用任何一種或多種通信協(xié)議或其組合來與負載均衡器102通信,諸如例 如有線網(wǎng)絡通信協(xié)議(例如TCP/IP)、無線網(wǎng)絡通信協(xié)議(例如,Wi-Fi?、WiMX)、蜂窩通 信協(xié)議(例如,寬帶碼分多址(W-CDM))、和/或其他通信協(xié)議。
[0030] 在某些實施例中,客戶端計算設備104還可包括一個或多個外圍設備132。這種 外圍設備132可包括任何數(shù)量的附加輸入/輸出設備、接口設備、和/或其他外圍設備。例 如,在某些實施例中,夕卜圍設備132可包括顯不器、圖形電路、鍵盤、鼠標、揚聲器系統(tǒng)、和/ 或其他輸入/輸出設備、接口設備、和/或外圍設備。
[0031] 客戶端計算設備106可基本上類似于客戶端計算設備104并且包括具有共同參考 標號的已經(jīng)在圖1中標識的類似組件。這樣,客戶端計算設備104的組件的上述描述可同 樣適用于客戶端計算設備106的那些類似組件,并且在此不再贅述,以便不混淆本公開。當 然,應當認識到在某些實施例中,客戶端計算設備104、106(或系統(tǒng)100的其他客戶端計算 設備)可相互不同。例如,系統(tǒng)100的客戶端計算設備可被實施為彼此不同的各種類型的 計算設備(例如,桌上計算機、移動計算機、平板計算機、智能電話、或其他計算設備)并且 包括通常在這種相應的計算設備中發(fā)現(xiàn)的組件。
[0032] 如以下更詳細討論的,客戶端計算設備104U06被配置成用于通過網(wǎng)絡108向數(shù) 據(jù)中心114的負載均衡器102傳輸消息。網(wǎng)絡108可被實施為任何數(shù)量的各種有線和/或 無線網(wǎng)絡。例如,網(wǎng)絡108可被實施為或以其他方式包括有線或無線局域網(wǎng)(LAN)、有線或 無線廣域網(wǎng)(WAN)、和/或公共可訪問的全球網(wǎng)絡(諸如因特網(wǎng))。這樣,網(wǎng)絡108可包括 任何數(shù)量的附加設備,諸如附加計算機、路由器、和交換機,以便促進客戶端計算設備104、 106和數(shù)據(jù)中心114的負載均衡器102之間的通信。
[0033] 如上所述,數(shù)據(jù)中心114包括負載均衡器102和一個或多個數(shù)據(jù)服務器110、112。 負載均衡器102被配置成用于從客戶端計算設備104、106接收消息并且將這種消息路由到 數(shù)據(jù)服務器11〇、112中的一個(或多個)。如果所接收到的消息是持續(xù)消息(S卩,該消息包 括負載均衡器提示頭),負載均衡器102被配置成用于根據(jù)負載均衡器提示頭從該消息檢 索標識特定消息會話的會話ID,并且基于所檢索到的會話ID確定將持續(xù)消息路由到哪個 (哪些)數(shù)據(jù)服務器11〇、112,如以下更詳細討論的。盡管數(shù)據(jù)中心114在圖1中被示出為 包括僅單個負載均衡器102和數(shù)據(jù)服務器110、112,應當認識到的是在其他實施例中,數(shù)據(jù) 中心114可包括附加負載均衡器以及通信地耦合到每個負載均衡器的一個、兩個或更多個 數(shù)據(jù)服務器。附加地,如圖7所示,在某些實施例中,系統(tǒng)100可包括多個數(shù)據(jù)中心114。
[0034] 負載均衡器102可被實施為能夠執(zhí)行在此描述的功能的任何類型的數(shù)據(jù)服務器 或類似的計算設備。在圖1的說明性實施例中,負載均衡器102包括處理器140、I/O子系 統(tǒng)144、存儲器146、數(shù)據(jù)存儲設備148、通信電路150、以及一個或多個外圍設備152。在某 些實施例中,前述組件中的若干組件可被結(jié)合到負載均衡器102的母板或主板上,而其他 組件可通過例如外圍端口通信地耦合到母板。進一步地,應當認識到負載均衡器102可包 括在服務器和/或計算設備中通常發(fā)現(xiàn)的其他組件、子組件、以及設備,為了描述清晰的目 的,未在圖1中示出。
[0035] 負載均衡器102的處理器140可被實施為能夠執(zhí)行軟件/固件的任何類型的處理 器(諸如微處理器、數(shù)字信號處理器、微控制器等等)。處理器140被說明性地實施為具有 處理器核142的單核處理器。然而,在其他實施例中,類似于處理器120,處理器140可被實 施為具有多個處理器核142的多核處理器。附加地,負載均衡器102可包括具有一個或多 個處理器核142的附加處理器140。
[0036] 負載均衡器102的I/O子系統(tǒng)144可被實施為用于促進負載均衡器102的處理器 140和/或其他組件的輸入/輸出操作的電路和/組件。在某些實施例中,I/O子系統(tǒng)144 可被實施為存儲器控制器中樞(MCH或"北橋")、輸入/輸出控制器中樞(ICH或"南橋") 以及固件設備。在這種實施例中,I/O子系統(tǒng)144的固件設備可被實施為用于存儲基本輸 入/輸出系統(tǒng)(BIOS)數(shù)據(jù)和/或指令和/或其他信息(例如,在客戶端計算設備104的啟 動期間使用的BIOS驅(qū)動器)的存儲器設備。然而,在其他實施例中,可使用具有其他配置 的I/O子系統(tǒng)。例如,在某些實施例中,I/O子系統(tǒng)144可被實施為平臺控制器中樞(PCH)。 在這種實施例中,存儲器控制器中樞(MCH)可被結(jié)合到處理器140中或與其相關(guān)聯(lián),并且處 理器140可直接與存儲器146通信(如圖1中的虛線所示)。附加地,在某些實施例中,1/ 0子系統(tǒng)144可形成片上系統(tǒng)(SoC)的一部分并且可與負載均衡器102的處理器140和其 他組件一起結(jié)合到單個集成電路芯片上。
[0037] 處理器140通過多條信號路徑通信地耦合到I/O子系統(tǒng)144。這些信號路徑(以 及圖1中示出的其他信號路徑)可被實施為能夠促進負載均衡器102的組件之間的通信的 任何類型的信號路徑。例如,這些信號路徑可被實施為任何數(shù)量的點到點鏈路、接線、線纜、 光導、印刷電路板跡線、通孔、總線、介入設備等等。
[0038] 負載均衡器102的存儲器146可被實施為或以其他方式包括一個或多個存儲器設 備或數(shù)據(jù)存儲位置,其包括例如動態(tài)隨機存取存儲器設備(DRAM)、同步動態(tài)隨機存取存儲 器設備(SDRAM)、雙數(shù)據(jù)速率同步動態(tài)隨機存取存儲器設備(DDRSDRAM)、掩碼只讀存儲器 (ROM)設備、可擦可編程ROM(EPROM)、電可擦可編程ROM(EEPROM)設備、閃存設備、和/或其 他易失性和/或非易失性存儲器設備。存儲器146通過多條信號路徑通信地耦合到1/0子 系統(tǒng)144。盡管在圖1中示出僅單個存儲器設備146,在其他實施例中,負載均衡器102可 包括附加存儲器設備。各種數(shù)據(jù)和軟件可被存儲在存儲器146中。例如,組成處理器140 執(zhí)行的軟件堆棧的一個或多個操作系統(tǒng)、應用、程序、庫、以及驅(qū)動器可在執(zhí)行期間駐留在 存儲器146中。
[0039] 數(shù)據(jù)存儲設備148可被實施為被配置成用于數(shù)據(jù)的短期或長期存儲的任何類型 的設備,諸如例如存儲器設備和電路、存儲器卡、硬盤驅(qū)動、固態(tài)驅(qū)動、或其他數(shù)據(jù)存儲設 備。在說明性實施例中,負載均衡器102維護存儲在數(shù)據(jù)存儲設備148中的會話-服務器 表306 (見圖3)。如以下更詳細討論的,會話服-務器表306交叉引用、或以其他方式使會 話ID與數(shù)據(jù)服務器110、112相關(guān)。即,當在一個或多個客戶端計算設備104、106和一個或 多個數(shù)據(jù)服務器110、112之間建立持續(xù)會話時,負載均衡器用特定持續(xù)會話的會話ID到數(shù) 據(jù)服務器對更新會話-服務器表306。當然,在其他實施例中,負載均衡器102可存儲、訪 問、和/或維護數(shù)據(jù)存儲設備148中的其他數(shù)據(jù)。
[0040] 負載均衡器102的通信電路150可包括用于實現(xiàn)負載均衡器102和客戶端計算設 備104、106之間的通過網(wǎng)絡108的通信的任何數(shù)量的設備和電路。通信電路150可被配置 成用于使用任何一種或多種通信協(xié)議使如以上參照客戶端計算設備104的通信電路130所 討論的這種通信生效。附加地,在某些實施例中,負載均衡器102還可包括一個或多個外圍 設備152。這種外圍設備152可包括通常與服務器或計算設備相關(guān)聯(lián)的任何數(shù)量的附加輸 入/輸出設備、接口設備、和/或其他外圍設備。
[0041] 類似于負載均衡器102,數(shù)據(jù)服務器110U12可被實施為能夠執(zhí)行在此描述的功 能的任何類型的服務器(例如,網(wǎng)絡服務器)或類似的計算設備。這樣,每個數(shù)據(jù)服務器 110、112可包括類似于負載均衡器102的組件和特征,諸如處理器、I/O子系統(tǒng)、存儲器、數(shù) 據(jù)存儲、通信電路、以及各種外圍設備,為了本描述的清晰,未在圖1中示出。數(shù)據(jù)服務器 110U12可被實施為與圖1中示出的負載均衡器102分離的獨立服務器或計算設備??商?代地,在某些實施例中,數(shù)據(jù)服務器110U12中的一個或多個可被結(jié)合到負載均衡器102中 或以其他方式形成其一部分。
[0042] 在圖1的說明性實施例中,每個數(shù)據(jù)服務器110U12維護存儲有各種服務器側(cè)應 用、基于客戶端的應用數(shù)據(jù)、以及其他數(shù)據(jù)存儲的一個或多個數(shù)據(jù)庫160。在云計算實現(xiàn)方 式中,數(shù)據(jù)服務器11〇、112可執(zhí)行與在客戶端計算設備104U06上執(zhí)行的應用相對應的各 種服務器側(cè)應用(例如,獨立式或基于瀏覽器的應用)。附加地,數(shù)據(jù)服務器11〇、112可將 從客戶端計算設備104、106接收的數(shù)據(jù)和/或由客戶端側(cè)和服務器側(cè)應用生成的數(shù)據(jù)存儲 在數(shù)據(jù)庫160中。如以上所討論的,存儲在數(shù)據(jù)庫160中的數(shù)據(jù)可被周期性地跨數(shù)據(jù)中心 的所有數(shù)據(jù)服務器110、112 (以及跨多個數(shù)據(jù)中心)復制,以便確保每個數(shù)據(jù)服務器維護完 整的和當前的數(shù)據(jù)集。
[0043] 現(xiàn)在參考圖2,在一個實施例中,客戶端計算設備104、106在操作期間建立環(huán)境 200。說明性環(huán)境200包括一個或多個應用202、會話持續(xù)性模塊204、消息策略數(shù)據(jù)庫206、 以及通信模塊208。應用202可被實施為被配置成用于在執(zhí)行期間與數(shù)據(jù)中心114通信的 任何類型的軟件或固件應用。例如,在云計算實現(xiàn)方式中,應用202可被實施為被配置成用 于與在一個或多個數(shù)據(jù)服務器110U12上執(zhí)行的相應服務器側(cè)應用通信的基于瀏覽器的 應用和/或"瘦"客戶端側(cè)應用。可替代地,在其他實施例中,應用202可被實施為被配置 成用于與數(shù)據(jù)中心114通信以便遠程地存儲數(shù)據(jù)的獨立式、全特征應用。
[0044] 會話持續(xù)性模塊204可被實施為硬件、固件、軟件或其組合。在某些實施例中,會 話持續(xù)性模塊204可被實施為結(jié)合到應用202中或以其他方式與其互連的應用程序接口。 可替代地,在其他實施例中,會話持續(xù)性模塊204可被結(jié)合到通信模塊208的通信堆棧(例 如,堆棧TCP/IP)中。會話持續(xù)性模塊204被配置成用于標識從應用202發(fā)送的持續(xù)消息 并且修改這種消息以便包括負載均衡器提示頭,其標識包括在消息內(nèi)的會話ID的位置(以 及在某些實施例中的長度)。會話持續(xù)性模塊204可通過訪問可存儲在數(shù)據(jù)存儲設備128 中的消息策略206標識持續(xù)消息。
[0045]消息策略206包括由會話持續(xù)性模塊204用于確定從應用202發(fā)送的哪些傳出消 息是持續(xù)消息(即,發(fā)起或?qū)儆诳蛻舳?服務器持續(xù)會話)的規(guī)則和/或策略。例如,在某 些實施例中,消息策略206可提供用于基于消息的終點(例如,消息所指向的負載均衡器 102和數(shù)據(jù)中心114的互聯(lián)網(wǎng)協(xié)議(IP)地址或媒體訪問控制(MAC)地址)、消息類型(例 如,在消息中使用的超文本傳輸協(xié)議(HTTP)方法的類型、在消息中使用的簡單對象訪問協(xié) 議(SOAP)動作的類型)、包括在HTTP或其他協(xié)議有效載荷中的其他數(shù)據(jù)、和/或會話持續(xù) 性模塊204可用于標識應當被認為是持續(xù)消息的那些傳出消息的其他數(shù)據(jù)來標識持續(xù)消 息的規(guī)則或策略。
[0046] -旦被標識為持續(xù)消息,會話持續(xù)性模塊204修改該持續(xù)消息以便包括負載均衡 器提示頭。如以下參照圖4更詳細討論的,負載均衡器提示頭包括標識消息內(nèi)的會話ID的 位置的位置標識符以及標識會話ID的長度的長度標識符。附加地,在某些實施例中,負載 均衡器提示頭可包括標識要由負載均衡器102執(zhí)行的動作的動作。在持續(xù)消息已經(jīng)被修改 以便包括負載均衡器提示頭之后,持續(xù)消息被通過網(wǎng)絡108經(jīng)由通信模塊208使用如上所 討論的合適通信協(xié)議傳輸?shù)綌?shù)據(jù)中心114。類似于會話持續(xù)性模塊204,通信模塊208可被 實施為硬件、固件、軟件或其組合。
[0047] 現(xiàn)在參考圖3,在一個實施例中,負載均衡器102在操作期間建立環(huán)境300。說明 性環(huán)境300包括通信模塊302、會話持續(xù)性模塊304、會話-服務器表或數(shù)據(jù)庫306、以及負 載均衡器模塊308。通信模塊302可被實施為硬件、固件、軟件或其組合,并且被配置成用于 通過網(wǎng)絡108從客戶端計算設備104、106接收消息。通信模塊302將所接收到的消息傳遞 到會話持續(xù)性模塊304以用于分析和處理。
[0048] 類似于會話持續(xù)性模塊204,會話持續(xù)性模塊304可被實施為硬件、固件、軟件或 其組合。會話持續(xù)性模塊304被配置成用于從自客戶端計算設備104、106接收的那些消息 標識持續(xù)消息。為了這樣做,會話持續(xù)性模塊304確定特定消息是否包括負載均衡器提示 頭。如果包括,會話持續(xù)性模塊204基于包括在負載均衡器提示頭中的數(shù)據(jù)檢索包括在持 續(xù)消息中的會話ID,如以下更詳細討論的。將所檢索到的會話ID與會話-服務器表306進 行比較以便確定該特定會話ID已經(jīng)被指派給哪個(哪些)數(shù)據(jù)服務器110、112。通信模塊 302隨后將持續(xù)消息路由到所標識的數(shù)據(jù)服務器110、112??商娲兀绻麜扞D不位于 會話-服務器表306中,消息被提供給負載均衡器模塊308,該負載均衡器模塊基于或者以 其他方式使用典型的負載均衡算法(例如,基于數(shù)據(jù)服務器11〇、112的工作負載)選擇將 消息路由到其上的一個或多個數(shù)據(jù)服務器11〇、112。會話持續(xù)性模塊304隨后用新指派的 會話-服務器對更新會話-服務器表306。
[0049] 現(xiàn)在參考圖4,在使用時,客戶端計算設備104U06可執(zhí)行用于生成持續(xù)消息的方 法400。方法400以框402開始,其中,客戶端計算設備104、106被初始化,其可包括任何合 適的初始化過程。在某些實施例中,客戶端計算設備104U06可在框404中檢索或以其他 方式生成會話ID,其可被實施為標識特定持續(xù)會話的任何類型的數(shù)據(jù)。例如,在框404中, 如果會話ID已經(jīng)由負載均衡器102生成并指派,客戶端計算設備104、106可檢索會話ID。 可替代地,會話ID可由客戶端計算設備104、106從負載均衡器102請求或簡單地由負載均 衡器102指派給與新會話相關(guān)聯(lián)的第一消息。仍進一步地,在某些實施例中,會話ID可由 客戶端計算設備104生成。在這種實施例中,會話ID可被實施為從其他客戶端計算設備唯 一地標識客戶端計算設備104U06的數(shù)據(jù)字,諸如媒體訪問控制(MC)地址或全局唯一標 識符(GUID)。在這種實施例中,可在執(zhí)行方法400之前將會話ID指派給客戶端計算設備 104、106或以其他方式與其關(guān)聯(lián),并在框404中對其進行檢索。在其他實施例中,會話ID可 被實施為使用合適的隨機數(shù)生成器在框404中隨機地生成的數(shù)據(jù)字或其他數(shù)據(jù),以便產(chǎn)生 基本上唯一的標識符。在這種實施例中,會話ID可唯一地標識持續(xù)會話,從而使得單個客 戶端計算設備104、106可維護多個持續(xù)會話。
[0050] 在框406,客戶端計算設備104、106還可配置消息策略206。如以上所討論的,消 息策略包括可由客戶端計算設備104U06的會話持續(xù)性模塊204用于確定哪些傳出消息是 持續(xù)消息的規(guī)則和/或策略。如此,在框406中,客戶端計算設備104、106可建立、更新、或 以其他方式維護這種規(guī)則和策略。
[0051] 在框408中,客戶端計算設備104、106隨后通過網(wǎng)絡108建立與數(shù)據(jù)中心114的 連接。在框410中,客戶端計算設備104、106的會話持續(xù)性模塊204確定在客戶端計算設 備104U06上執(zhí)行的應用202是否正在嘗試向數(shù)據(jù)中心114發(fā)送消息。如果是,方法400 前進到框412,其中,客戶端計算設備104U06確定傳出消息是否是持續(xù)消息(S卩,屬于持續(xù) 會話的消息或者應當發(fā)起持續(xù)會話的消息)。為了這樣做,會話持續(xù)性模塊204在框414中 檢索消息策略206并且在框416中使用消息策略分析傳出消息。如以上所討論的,消息策 略206的規(guī)則和策略可被實施為用于確定消息是否是持續(xù)消息的任何類型的規(guī)則或策略, 諸如例如基于消息的終點、消息的類型、或其他數(shù)據(jù)的規(guī)則或策略。
[0052] 如果會話持續(xù)性模塊204在框418中確定消息是持續(xù)消息,方法400前進到框 420,其中,會話持續(xù)性模塊204修改消息以便包括負載均衡器提示頭。如以上所討論的,負 載均衡器提示頭標識消息內(nèi)可發(fā)現(xiàn)會話ID的位置。這樣,負載均衡器提示頭允許負載均衡 器102快速地檢索會話ID而無需掃描或分析整個消息。負載均衡器提示頭可被實施為標 識會話ID在消息內(nèi)的位置的任何類型的數(shù)據(jù)。例如,在使用HTTP消息的實施例中,負載均 衡器提示頭可具有以下形式:
[0053]LB-HINT:X,Y\r\n,
[0054]其中,"LB-HINT"是將頭標識為LB-HINT頭的頭標記,"X"是標識會話ID在消息 內(nèi)的位置的位置標識符,"Y"是標識會話ID的長度的長度標識符,并且"/r/n"是標識負載 均衡器提示的結(jié)束的結(jié)束標記。當然,應當認識到頭標記可被實施為標識負載均衡器提示 頭的任何類型的頭標記,并且在其他實施例中無需是取決于例如消息的類型的"LB-HINT"。 位置標識符可使用絕對值(即,消息內(nèi)的準確位置)或相對值(即,消息內(nèi)的會話ID相對 于負載均衡器提示的位置的位置)標識會話ID的位置。位置標識符可使用任何合適的位 置度量(諸如行數(shù)、字節(jié)數(shù)、字符數(shù)等等)標識會話ID的位置。類似地,長度標識符可使用 任何合適的度量(諸如會話ID的字符數(shù)、字節(jié)數(shù)、或字數(shù))標識會話ID的長度。在某些實 施例中,會話ID可不固有地包括在消息內(nèi)。在這種實施例中,在框422中,會話持續(xù)性模塊 204還可修改消息以便包括會話ID(在包括負載均衡器提示頭之前或者之后)。
[0055] 附加地,在系統(tǒng)100包括如圖7所示的多個數(shù)據(jù)中心114或者每個數(shù)據(jù)中心114 包括多個負載均衡器的實施例中,負載均衡器提示頭可包括標識要由負載均衡器102執(zhí)行 的動作的動作類型。例如,在使用HTTP消息的實施例中,負載均衡器提示頭可具有以下形 式:
[0056]LB-HINT:X,Y; [action]\r\n,
[0057]其中,"action(動作)"定義要由負載均衡器102執(zhí)行的動作。動作類型可被實施 為適合標識所請求的動作的任何類型的標識符。在某些實施例中,在框424中,會話持續(xù)性 模塊204可從一組預定義的動作類型中選擇并且設置負載均衡器提示頭中的所請求的動 作。例如,在一個具體實施例中,可使用"創(chuàng)建"動作類型或"搜索"動作類型。在這種實施 例中,"創(chuàng)建"動作類型指令負載均衡器102應當使用當前會話發(fā)起新的持續(xù)會話。"搜索" 動作類型指令負載均衡器102針對包括在消息內(nèi)的會話ID已經(jīng)存在持續(xù)會話,以及如果當 前負載均衡器102沒有該會話的記錄(即,在本地會話-服務器表306中不存在會話-服 務器對),負載均衡器102應當與其他負載均衡器通信以便定位持續(xù)會話。在已經(jīng)根據(jù)需要 在框420、422和/或424中修改了消息之后,在框426中,通信模塊208將經(jīng)修改的消息傳 輸?shù)截撦d均衡器102。
[0058] 返回參考框418,如果持續(xù)性模塊204確定該消息不是持續(xù)消息,方法400前進到 框426。在框426中,通信模塊208照常將該消息傳輸?shù)截撦d均衡器102。即,該消息被視 為要發(fā)送到負載均衡器的正常消息(非持續(xù))。
[0059] 現(xiàn)在參考圖5和圖6,在使用時,負載均衡器102可執(zhí)行用于維護一個或多個客戶 端計算設備104U04和一個或多個數(shù)據(jù)服務器110U12之間的會話持續(xù)性的方法500。方法 500以框502開始,其中,負載均衡器被初始化,其可包括任何合適的初始化過程。例如,在 某些實施例中,在框504中,負載均衡器102可建立或以其他方式維護會話-服務器表306。 相應地,在某些實施例中,向每個持續(xù)會話指派超時閾值,從而使得每個持續(xù)會話僅持續(xù)預 定或參考時間段。在這種實施例中,在框506中,可選擇、確定、或以其他方式設置會話超時 閾值。在某些實施例中,會話超時閾值的大小被選擇為允許跨數(shù)據(jù)服務器11〇、112進行數(shù) 據(jù)復制(即,持續(xù)會話僅被維護足夠長以便確??鐢?shù)據(jù)服務器11〇、112進行數(shù)據(jù)復制)。
[0060] 在負載均衡器102已經(jīng)被初始化之后,在框508中,負載均衡器102確定是否已經(jīng) 從客戶端計算設備104、106接收到消息。如果已經(jīng)接收到,在框510中,負載均衡器102的 會話持續(xù)性模塊304確定所接收到的消息是否是持續(xù)消息。為了這樣做,會話持續(xù)性模塊 304確定該消息是否包括負載均衡器提示頭。如果會話持續(xù)性模塊304確定所接收到的消 息不是持續(xù)消息(即,不包括負載均衡器提示頭),方法500前進到框512,其中,負載均衡 器102將所接收到的消息路由到由負載均衡器模塊308使用典型的負載均衡算法選擇的數(shù) 據(jù)服務器11〇、112。
[0061] 然而,如果所接收到的消息被確定為持續(xù)消息(即,該消息包括負載均衡器提示 頭),在框514中,負載均衡器102的會話持續(xù)性模塊304標識負載均衡器提示頭。隨后,在 框516中,會話持續(xù)性模塊304根據(jù)負載均衡器提示頭(S卩,使用包括在負載均衡器提示頭 內(nèi)的數(shù)據(jù))檢索會話ID。例如,在負載均衡器提示頭包括位置標識符和長度標識符的實施 例中,會話持續(xù)性模塊304使用位置標識符在消息內(nèi)定位會話ID并且使用長度標識符檢索 會話ID。如以上所討論的,位置標識符可標識會話ID的絕對或相對位置。
[0062] 在框518中,會話持續(xù)性模塊304確定負載均衡器提示頭是否包括動作類型。如 果不包括,方法500前進到框520,其中,會話持續(xù)性模塊304使用所檢索到的會話ID搜索 本地會話-服務器表306,以便確定該會話ID的持續(xù)會話是否是活躍的。在框522中,如 果會話持續(xù)性模塊304在會話-服務器表306中定位到會話ID,方法500前進到框524,其 中,負載均衡器102的通信模塊302將該消息路由到在會話-服務器表306中被標識為與 會話ID成對的數(shù)據(jù)服務器110、112。附加地,在某些實施例中,負載均衡器102可使用除會 話ID以外的數(shù)據(jù)或標準(例如,負載均衡、復制狀態(tài)等等)確定將該消息路由到哪一個或 多個數(shù)據(jù)服務器110、112。在框532,會話持續(xù)性模塊304確定包括在會話-服務器表306 中的任何持續(xù)會話是否已經(jīng)達到超時閾值。如果是,方法500前進到框534,其中,任何超 時持續(xù)會話的會話-服務器對被從會話-服務器表306移除。如果否,或者會話-服務器 對已經(jīng)被從會話-服務器表306移除之后,方法500循環(huán)回到框508,其中,負載均衡器102 監(jiān)視來自客戶端計算設備104、106的消息。
[0063] 返回參考框522,如果會話ID不包括在會話-服務器表306中,方法500前進到 框526,其中,負載均衡器102的負載均衡器模塊308為新的持續(xù)會話選擇一個或多個數(shù)據(jù) 服務器ll〇、112(S卩,數(shù)據(jù)服務器110、112用于從客戶端計算設備104U06接收用于新的持 續(xù)會話的消息)。如上所述,負載均衡器模塊308可使用任何合適的負載均衡算法或技術(shù)來 選擇數(shù)據(jù)服務器11〇、112。一旦被選定,在框528中,會話持續(xù)性模塊304用使用所選擇的 數(shù)據(jù)服務器110、112的新的會話ID-服務器對來更新會話-服務器表306。在框530中,為 新建立的持續(xù)會話(即,為新的會話-服務器對)發(fā)起會話計時器。在某些實施例中,會話 計時器與會話-服務器對相關(guān)聯(lián)地被記錄在會話-服務器表306中并且可被實施為例如新 的持續(xù)會話被建立的時間。方法500隨后前進到框532,其中,會話持續(xù)性模塊304確定包 括在會話-服務器表306中的任何持續(xù)會話是否已經(jīng)達到超時閾值,如上所述。如果已達 至IJ,方法500前進到框534,其中,任何超時持續(xù)會話的會話-服務器對被從會話-服務器表 306移除。如果未達到,或者會話-服務器對已經(jīng)被從會話-服務器表306移除之后,方法 500循環(huán)回到框508,其中,負載均衡器102監(jiān)視來自客戶端計算設備104、106的消息。
[0064]返回參考框518,如果會話持續(xù)性模塊304確定負載均衡器提示頭確實包括動作 類型,方法500前進到框550 (見圖6)。在框550中,會話持續(xù)性模塊304確定動作類型是 否是"創(chuàng)建"動作。如果是,方法500前進到框552、554、和556,其中,負載均衡器模塊308 為新的持續(xù)會話選擇一個或多個數(shù)據(jù)服務器11〇、112、更新會話-服務器表306、以及為新 建立的持續(xù)會話發(fā)起會話計時器,如以上參照框526、528、和530所討論的。在已經(jīng)建立新 的持續(xù)會話之后,方法500前進到框558,其中,會話持續(xù)性模塊304確定包括在會話-服務 器表306中的任何持續(xù)會話是否已經(jīng)達到超時閾值。如果已達到,方法500前進到框560, 其中,任何超時持續(xù)會話的會話-服務器對被從會話-服務器表306移除。如果未達到,或 者會話-服務器對已經(jīng)被從會話-服務器表306移除之后,方法500循環(huán)回到框508,其中, 負載均衡器102監(jiān)視來自客戶端計算設備104、106的消息。
[0065] 返回參考框550,如果負載均衡器提示頭的動作類型被確定不是"創(chuàng)建"動作,方法 500前進到框462,其中,會話持續(xù)性模塊304確定動作類型是否是"搜索"動作。如果不是, 方法500循環(huán)回到框520 (見圖5),其中,該消息被處理為不具有動作類型的消息。然而,如 果動作類型被確定為是"搜索"動作,方法500前進到框566,其中,會話持續(xù)性模塊304使 用所檢索到的會話ID搜索本地會話-服務器表306,以便確定該會話ID的持續(xù)會話是否是 活躍的,如以上參照框520所討論的。如果會話持續(xù)性模塊304確定在會話-服務器表306 中包括會話ID,方法500前進到框570,其中,負載均衡器102的通信模塊302將該消息路 由到在會話-服務器表306中被標識為與會話ID成對的數(shù)據(jù)服務器110、112。方法500隨 后前進到框558,其中,會話持續(xù)性模塊304確定包括在會話-服務器表306中的任何持續(xù) 會話是否已經(jīng)達到超時閾值,如上所述。如果已達到,方法500前進到框560,其中,任何超 時持續(xù)會話的會話-服務器對被從會話-服務器表306移除。如果未達到,或者會話-服 務器對已經(jīng)被從會話-服務器表306移除之后,方法500循環(huán)回到框508,其中,負載均衡器 102監(jiān)視來自客戶端計算設備104、106的消息。
[0066] 返回參考框568,如果會話持續(xù)性模塊304在本地會話-服務器表306中不包括會 話ID(即,持續(xù)會話不是由對應的負載均衡器102維護),方法500前進到框572,其中,負 載均衡器102向系統(tǒng)100的數(shù)據(jù)中心114或其他數(shù)據(jù)中心114內(nèi)的其他負載均衡器發(fā)送請 求(見圖7)。在這樣做時,負載均衡器102請求其他負載均衡器針對會話ID搜索其本地會 話-服務器表306,以便確定其他負載均衡器中的哪一個或多個正在維護該持續(xù)會話。隨 后,在框578中,負載均衡器102確定會話ID是否已經(jīng)由另一個負載均衡器定位到(例如, 負載均衡器102是否從其他負載均衡器接收到肯定響應)。如果接收到,在框580中,負載 均衡器102向提供維護該特定持續(xù)會話的負載均衡器的標識數(shù)據(jù)(例如,IP地址)的客戶 端計算設備104、106發(fā)送重定向消息。然而,如果會話ID未被定位到,在框582中,向客戶 端計算設備104、106發(fā)送錯誤消息,并且方法循環(huán)回到框508,其中,負載均衡器102監(jiān)視來 自客戶端計算設備104、106的消息。
[0067] 示例
[0068] 以下提供在此公開的設備、系統(tǒng)、和方法的說明性示例。設備、系統(tǒng)、和方法的實施 例可包括以下所描述的示例中的任何一個或多個以及任何組合。
[0069]在一個示例中,一種用于跨多個數(shù)據(jù)服務器均衡來自多個客戶端計算設備的工作 負載的負載均衡器可包括:通信模塊,用于從該多個客戶端計算設備中的客戶端計算設備 接收消息;以及會話持續(xù)性模塊,用于根據(jù)包括在該消息內(nèi)的負載均衡器提示頭在一個或 多個客戶端計算設備和一個或多個數(shù)據(jù)服務器之間提供持續(xù)會話。該負載均衡器提示頭可 標識該消息內(nèi)的標識該持續(xù)會話的會話標識符的位置。
[0070] 在示例中,該會話持續(xù)性模塊用于:根據(jù)該負載均衡器提示頭檢索該會話標識符; 將該會話標識符與會話-服務器表進行比較以便標識至少一個數(shù)據(jù)服務器用于接收該消 息;以及向所標識的至少一個數(shù)據(jù)服務器傳輸該消息。在示例中,該會話持續(xù)性模塊可響應 于與該一個或多個客戶端計算設備與所標識的至少一個數(shù)據(jù)服務器之間的該持續(xù)會話相 關(guān)聯(lián)的會話計時器的過期,從該會話-服務器表移除該會話標識符。在示例中,該會話持續(xù) 性模塊可響應于該會話標識符不包括在該會話-服務器表中使用負載均衡算法從該多個 數(shù)據(jù)服務器選擇數(shù)據(jù)服務器,并且將該消息傳輸?shù)剿x擇的數(shù)據(jù)服務器。在示例中,該會話 持續(xù)性模塊可響應于選擇該數(shù)據(jù)服務器,發(fā)起與該一個或多個客戶端計算設備與所選擇的 數(shù)據(jù)服務器之間的該持續(xù)會話相關(guān)聯(lián)的會話計時器。
[0071] 在示例中,該負載均衡器提示頭可包括標識該消息內(nèi)該會話標識符的位置的位置 標識符。在示例中,該位置標識符可包括標識該消息內(nèi)該會話標識符相對于以下之一的位 置的偏移值:(i)該負載均衡器提示頭在該消息內(nèi)的位置或(ii)該消息的起始。在示例中, 該負載均衡器提示頭可進一步包括標識該會話標識符的長度的長度標識符。在示例中,該 會話持續(xù)性模塊可根據(jù)該位置標識符和該長度標識符從該消息獲得該會話標識符、將該會 話標識符與本地會話-服務器表進行比較來根據(jù)該會話標識符標識用于接收該消息的數(shù) 據(jù)服務器、以及將該消息傳輸?shù)剿鶚俗R的數(shù)據(jù)服務器。
[0072] 在示例中,該負載均衡器提示頭可包括標識該消息內(nèi)該會話標識符的位置的位置 標識符以及指示要由該負載均衡器執(zhí)行的動作的動作類型。在這種示例中,該會話持續(xù)性 模塊可基于包括在該負載均衡器提示頭中的該動作類型執(zhí)行多個動作之一。在示例中,該 會話持續(xù)性模塊響應于該述負載均衡器提示頭包括相應的動作類型,可使用負載均衡算法 從該多個數(shù)據(jù)服務器選擇數(shù)據(jù)服務器以便接收該消息以及將該消息傳輸?shù)剿x擇的數(shù)據(jù) 服務器。在示例中,該會話持續(xù)性模塊可響應于選擇該數(shù)據(jù)服務器,發(fā)起與該持續(xù)會話相關(guān) 聯(lián)的會話計時器。在示例中,該會話持續(xù)性模塊響應于該負載均衡器提示頭包括相應的動 作類型,可確定該會話標識符是否包括在本地會話-服務器表中,以及響應于確定該會話 標識符不包括在該本地會話-服務器表中,向至少一個其他負載均衡器傳輸確定該會話標 識符是否包括在該其他負載均衡器所管理的會話-服務器表中的請求。在示例中,該會話 持續(xù)性模塊可從另一個負載均衡器接收該會話標識符包括在由該其他負載均衡器管理的 會話-服務器表中的確認,以及響應于該確認,將重定向消息傳輸?shù)桨l(fā)送該消息的該客戶 端計算設備。該重定向消息可包括標識管理包括該會話標識符的會話服-務器表的負載均 衡器的負載均衡器標識數(shù)據(jù)。在示例中,該會話持續(xù)性模塊可從在該其他負載均衡器所管 理的該會話-服務器表中標識的與該會話標識符相關(guān)聯(lián)的該相應數(shù)據(jù)服務器接收響應消 息,以及將該響應消息重新傳輸?shù)桨l(fā)送該消息的該客戶端計算設備。在示例中,該會話持續(xù) 性模塊響應于確定該會話標識符包括在該本地會話-服務器表中,可根據(jù)該會話標識符從 該本地會話-服務器表標識多個數(shù)據(jù)服務器中的一個或多個數(shù)據(jù)服務器,并且將該消息傳 輸?shù)剿鶚俗R的一個或多個數(shù)據(jù)服務器。
[0073] 在示例中,該負載均衡器提示頭可包括標識該負載均衡器提示頭的標簽、標識該 消息內(nèi)該會話標識符的位置的位置標識符、標識該會話標識符的長度的長度標識符、以及 標識要由該負載均衡器執(zhí)行的動作的動作類型。在示例中,該負載均衡器提示頭包括超文 本標記語言頭。在示例中,該會話標識符唯一地標識發(fā)送該消息的該客戶端計算設備與該 數(shù)據(jù)服務器之一之間的持續(xù)會話。
[0074] 在另一個示例中,一種用于與數(shù)據(jù)中心的一個或多個數(shù)據(jù)服務器通信的客戶端計 算設備可包括:會話持續(xù)性模塊,用于修改要從在該客戶端計算設備上執(zhí)行的應用發(fā)送到 該一個或多個數(shù)據(jù)服務器的消息,以便包括標識該消息內(nèi)會話標識符的位置的負載均衡器 提示頭,會話標識符標識該客戶端計算設備和該一個或多個數(shù)據(jù)服務器之間的持續(xù)會話。 該客戶端計算設備還可包括通信模塊,用于向管理該一個或多個數(shù)據(jù)服務器的負載均衡器 傳輸該經(jīng)修改的消息。
[0075] 在示例中,該負載均衡器提示頭可包括標識該消息內(nèi)該會話標識符的位置的位置 標識符。在示例中,該位置標識符可包括標識該消息內(nèi)該會話標識符相對于以下之一的位 置的偏移值:(i)該負載均衡器提示頭在該消息內(nèi)的位置或(ii)該消息的起始。在示例 中,該負載均衡器提示頭可進一步包括標識該會話標識符的長度的長度標識符。在示例中, 該負載均衡器提示頭可進一步包括標識要由該負載均衡器執(zhí)行的動作的動作類型。在示例 中,該會話持續(xù)性模塊可確定要由該負載均衡器執(zhí)行的該動作以及設置該動作類型以便指 示要由該負載均衡器執(zhí)行的該動作。在示例中,該動作類型可指示,該負載均衡器用于在該 客戶端計算設備與該一個或多個數(shù)據(jù)服務器之間創(chuàng)建持續(xù)會話。在示例中,該動作類型指 示,該負載均衡器將與另一個負載均衡器通信以便定位該客戶端計算設備與其進行當前持 續(xù)會話的相應的數(shù)據(jù)服務器。
[0076] 在示例中,該會話持續(xù)性模塊可基于存儲在該客戶端計算設備上的消息策略,確 定該消息是否是要包括在該客戶端計算設備與該一個或多個數(shù)據(jù)服務器之間的持續(xù)會話 中的持續(xù)消息。在示例中,該消息策略可基于以下至少一項標識持續(xù)消息:該消息的目的 地、包括在該消息內(nèi)的超文本傳輸協(xié)議方法、以及包括在該消息內(nèi)的簡單對象訪問協(xié)議動 作。在示例中,該會話持續(xù)性模塊可生成該會話標識符并且進一步通過包括該會話標識符 來修改該消息。在示例中,該會話標識符可唯一地從與該負載均衡器通信的其他計算設備 標識該客戶端計算設備。在示例中,該會話標識符唯一地標識該客戶端計算設備與該一個 或多個數(shù)據(jù)服務器之間的持續(xù)會話。在示例中,該會話標識符唯一地標識該負載均衡器與 該一個或多個數(shù)據(jù)服務器之間的持續(xù)會話。
[0077] 在另一個示例中,一種在客戶端計算設備和多個數(shù)據(jù)服務器之間提供持續(xù)會話的 方法可包括:通過負載均衡器從該客戶端計算設備接收消息;通過該負載均衡器基于包括 在該消息內(nèi)的負載均衡器提示頭確定該消息內(nèi)會話標識符的位置,該會話標識符標識該持 續(xù)會話;通過該負載均衡器比較該會話標識符和由該負載均衡器管理的會話-服務器表以 便標識該多個數(shù)據(jù)服務器中的至少一個數(shù)據(jù)服務器來接收該消息;以及從該負載均衡器向 所標識的至少一個數(shù)據(jù)服務器傳輸該消息。在示例中,該方法可進一步包括響應于與該持 續(xù)會話相關(guān)聯(lián)的會話計時器的過期,從該會話-服務器表移除該會話標識符。在示例中,該 方法可進一步包括響應于該會話標識符不包括在該會話-服務器表中使用負載均衡算法 從該多個數(shù)據(jù)服務器選擇數(shù)據(jù)服務器,并且將該消息傳輸?shù)剿x擇的數(shù)據(jù)服務器。附加地, 在示例中,該方法可進一步包括響應于選擇該數(shù)據(jù)服務器,發(fā)起與該持續(xù)會話相關(guān)聯(lián)的會 話計時器。
[0078] 在示例中,確定該會話標識符的該位置包括根據(jù)(i)標識該消息內(nèi)該會話標識符 的位置的該負載均衡器提示頭的位置標識符和(ii)標識該會話標識符的長度的長度標識 符,確定該會話標識符的位置。在示例中,根據(jù)該位置標識符確定該會話標識符的位置包括 根據(jù)該位置標識符和該消息內(nèi)該負載均衡器提示頭的位置,確定該消息內(nèi)該會話標識符的 位置。
[0079] 在示例中,該方法可進一步包括基于包括在該負載均衡器頭中的動作類型確定要 由該負載均衡器執(zhí)行的動作,其中,該動作類型指示要由該負載均衡器執(zhí)行的該動作。在示 例中,該方法可進一步包括響應于基于動作類型確定相應的動作,(i)使用負載均衡算法從 該多個數(shù)據(jù)服務器選擇數(shù)據(jù)服務器以便接收該消息以及(ii)將該消息從負載均衡器傳輸 到所選擇的數(shù)據(jù)服務器。在示例中,該方法可進一步包括響應于基于該動作類型確定相應 的動作,(i)確定該會話標識符是否包括在本地會話-服務器表中,以及(ii)響應于確定 該會話標識符不包括在該本地會話-服務器表中,向至少一個其他負載均衡器傳輸確定該 會話標識符是否包括在該其他負載均衡器所管理的會話-服務器表中的請求。在示例中, 該方法可進一步包括響應于該請求從另一個負載均衡器接收該會話標識符包括在該其他 負載均衡器所管理的會話-服務器表中的確認,并且響應于該確認向發(fā)送該消息的該客戶 端計算設備傳輸重定向消息,其中,該重定向消息包括標識管理包括該會話標識符的該會 話-服務器表的該負載均衡器的負載均衡器標識數(shù)據(jù)。在示例中,該方法可進一步包括響 應于該請求,從在該其他負載均衡器所管理的該會話-服務器表中標識的與該會話標識符 相關(guān)聯(lián)的該相應數(shù)據(jù)服務器接收響應消息,以及將該響應消息重新傳輸?shù)桨l(fā)送該消息的該 客戶端計算設備。
[0080] 在另一個示例中,一種負載均衡器可包括處理器和存儲器,該存儲器具有存儲在 其中的多條指令,當被該處理器執(zhí)行時,這些指令致使該負載均衡器執(zhí)行任何上述方法。附 加地,在另一個示例中,一個或多個機器可讀介質(zhì)可包括存儲在其上的多條指令,響應于被 執(zhí)行,這些指令導致負載均衡器執(zhí)行任何上述方法。
[0081] 在另一個示例中,一種用于客戶端計算設備和多個數(shù)據(jù)服務器的數(shù)據(jù)服務器之間 的持續(xù)會話通信的方法可包括:修改要從在該客戶端計算設備上執(zhí)行的應用發(fā)送到該數(shù)據(jù) 服務器的消息以便包括標識該消息內(nèi)標識該持續(xù)會話的會話標識符的位置的負載均衡器 提示頭,以及將該經(jīng)修改的消息傳輸?shù)焦芾碓摂?shù)據(jù)服務器的負載均衡器。在示例中,修改該 消息可包括設置該負載均衡器提示頭的位置標識符以便標識該消息內(nèi)該會話標識符的位 置。在示例中,修改該消息包括設置該負載均衡器提示頭的位置標識符以便標識該消息內(nèi) 該會話標識符相對于以下之一的位置:(i)該負載均衡器提示頭在該消息內(nèi)的位置或(ii) 該消息的起始。在示例中,修改該消息包括設置該負載均衡器提示頭的長度標識符以便標 識該會話標識符的長度。在示例中,修改該消息包括設置該負載均衡器提示頭的動作類型, 該動作類型指示要由該負載均衡器執(zhí)行的動作。
[0082]在示例中,設置該動作類型可包括設置該動作類型以便指示該負載均衡器將在該 客戶端計算設備和該數(shù)據(jù)服務器之間創(chuàng)建持續(xù)會話。在示例中,設置該動作類型可包括設 置該動作類型以便指示該負載均衡器將與另一個負載均衡器通信以便定位該客戶端計算 設備與其進行當前持續(xù)會話的相應的數(shù)據(jù)服務器。
[0083]在示例中,該方法可進一步包括基于存儲在該客戶端計算設備上的消息策略,確 定該消息是否是要包括在該客戶端計算設備與該一個或多個數(shù)據(jù)服務器之間的持續(xù)會話 中的持續(xù)消息。在示例中,確定該消息是否是持續(xù)消息可包括基于以下至少一項確定該消 息是否是持續(xù)消息:該消息的目的地、包括在該消息內(nèi)的超文本傳輸協(xié)議方法、以及包括在 該消息內(nèi)的簡單對象訪問協(xié)議動作。在示例中,該方法可進一步包括生成該會話標識符并 且進一步通過包括該會話標識符來修改該消息。
[0084]在另一個示例中,一種客戶端計算設備可包括處理器和存儲器,該存儲器具有存 儲在其中的多條指令,當被該處理器執(zhí)行時,這些指令致使該客戶端計算設備行執(zhí)任何上 述方法。附加地,在另一個示例中,一個或多個機器可讀介質(zhì)可包括存儲在其上的多條指 令,響應于被執(zhí)行,這些指令導致客戶端設備執(zhí)行任何上述方法。
[0085]盡管已經(jīng)在附圖和前述描述中詳細地示出并描述本公開,這種示出和描述應被認 為是本質(zhì)上是示例性的并且不是限制性的,應理解的是僅示出并描述說明性實施例并且希 望保護與本公開和所引用的權(quán)利要求書相一致的所有變化和修改。
【權(quán)利要求】
1. 一種用于跨多個數(shù)據(jù)服務器均衡多個客戶端計算設備的工作負載的負載均衡器,所 述負載均衡器包括: 通信模塊,用于從所述多個客戶端計算設備中的客戶端計算設備接收消息;以及 會話持續(xù)性模塊,用于根據(jù)包括在所述消息內(nèi)的負載均衡器提示頭,在一個或多個客 戶端計算設備和一個或多個數(shù)據(jù)服務器之間提供持續(xù)會話,其中所述負載均衡器提示頭標 識所述消息內(nèi)標識所述持續(xù)會話的會話標識符的位置。
2. 如權(quán)利要求1所述的負載均衡器,其中,所述會話持續(xù)性模塊用于: 根據(jù)所述負載均衡器提示頭檢索所述會話標識符; 將所述會話標識符與會話-服務器表進行比較以便標識至少一個數(shù)據(jù)服務器來接收 所述消息;以及 向所標識的至少一個數(shù)據(jù)服務器傳輸所述消息。
3. 如權(quán)利要求1所述的負載均衡器,其中,所述負載均衡器提示頭包括標識所述消息 內(nèi)所述會話標識符的所述位置的位置標識符。
4. 如權(quán)利要求3所述的負載均衡器,其中,所述位置標識符包括標識所述消息內(nèi)所述 會話標識符相對于以下之一的位置的偏移值:(i)所述負載均衡器提示頭在所述消息內(nèi)的 位置或(ii)所述消息的起始。
5. 如權(quán)利要求3所述的負載均衡器,其中,所述負載均衡器提示頭還包括標識所述會 話標識符的長度的長度標識符。
6. 如權(quán)利要求1所述的負載均衡器,其中,所述負載均衡器提示頭包括標識所述消息 內(nèi)所述會話標識符的所述位置的位置標示符和指示要由所述負載均衡器執(zhí)行的動作的動 作類型,并且 其中所述會話持續(xù)性模塊用于基于所述負載均衡器提示頭中包括的所述動作類型執(zhí) 行多個動作之一。
7. 如權(quán)利要求6所述的負載均衡器,其中,所述會話持續(xù)性模塊響應于所述負載均衡 器提示頭包括相應的動作類型: 確定所述會話標識符是否包括在本地會話-服務器表中,以及 響應于確定所述會話標識符不包括在所述本地會話-服務器表中,向至少一個其他負 載均衡器傳輸確定所述會話標識符是否包括在所述其他負載均衡器所管理的會話-服務 器表中的請求。
8. 如權(quán)利要求7所述的負載均衡器,其中,所述會話持續(xù)性模塊用于: 從另一個負載均衡器接收所述會話標識符包括在所述其他負載均衡器所管理的會 話-服務器表中的確認,并且 響應于所述確認,向發(fā)送所述消息的所述客戶端計算設備傳輸重定向消息,其中所述 重定向消息包括標識管理包括所述會話標識符的所述會話-服務器表的負載均衡器的負 載均衡器標識數(shù)據(jù)。
9. 如權(quán)利要求7所述的負載均衡器,其中,所述會話持續(xù)性模塊用于: 從在所述其他負載均衡器所管理的所述會話-服務器表中標識的與所述會話標識符 相關(guān)聯(lián)的所述相應數(shù)據(jù)服務器接收響應消息;以及 將所述響應消息傳輸?shù)桨l(fā)送所述消息的所述客戶端計算設備。
10. 如權(quán)利要求1所述的負載均衡器,其中,所述負載均衡器提示頭包括標識所述負載 均衡器提示頭的標簽、標識所述消息內(nèi)所述會話標識符的位置的位置標識符、標識所述會 話標識符的長度的長度標識符、以及標識要由所述負載均衡器執(zhí)行的動作的動作類型。
11. 一種用于與數(shù)據(jù)中心的一個或多個數(shù)據(jù)服務器通信的客戶端計算設備,所述客戶 端計算設備包括: 會話持續(xù)性模塊,用于修改要從在所述客戶端計算設備上執(zhí)行的應用發(fā)送到所述一個 或多個數(shù)據(jù)服務器的消息以便包括標識所述消息內(nèi)會話標識符的位置的負載均衡器提示 頭,所述會話標識符標識所述客戶端計算設備和所述一個或多個數(shù)據(jù)服務器之間的持續(xù)會 話;以及 通信模塊,用于向管理所述一個或多個數(shù)據(jù)服務器的負載均衡器傳輸所述經(jīng)修改的消 肩、。
12. 如權(quán)利要求11所述的客戶端計算設備,其中,所述負載均衡器提示頭包括標識所 述消息內(nèi)所述會話標識符的位置的位置標識符。
13. 如權(quán)利要求12所述的客戶端計算設備,其中,所述負載均衡器提示頭進一步包括 標識所述會話標識符的長度的長度標識符。
14. 如權(quán)利要求13所述的客戶端計算設備,其中,所述負載均衡器提示頭進一步包括 標識要由所述負載均衡器執(zhí)行的動作的動作類型。
15. 如權(quán)利要求14所述的客戶端計算設備,其中,所述會話持續(xù)性模塊用于: 確定要由所述負載均衡器執(zhí)行的動作;以及 設置所述動作類型以便指示要由所述負載均衡器執(zhí)行的動作。
16. 如權(quán)利要求14所述的客戶端計算設備,其中,所述動作類型指示所述負載均衡器 將與另一個負載均衡器通信以便定位所述客戶端計算設備與其進行當前持續(xù)會話的相應 的數(shù)據(jù)服務器。
17. -種在客戶端計算設備和多個數(shù)據(jù)服務器之間提供持續(xù)會話的方法,所述方法包 括: 通過負載均衡器從所述客戶端計算設備接收消息; 通過所述負載均衡器基于包括在所述消息內(nèi)的負載均衡器提示頭確定所述消息內(nèi)會 話標識符的位置,所述會話標識符標識所述持續(xù)會話; 通過所述負載均衡器比較所述會話標識符和由所述負載均衡器管理的會話-服務器 表以便標識所述多個數(shù)據(jù)服務器中的至少一個數(shù)據(jù)服務器來接收所述消息;以及 從所述負載均衡器向所標識的至少一個數(shù)據(jù)服務器傳輸所述消息。
18. 如權(quán)利要求17所述的方法,其中,確定所述會話標識符的位置包括根據(jù)(i)標識所 述消息內(nèi)所述會話標識符的位置的所述負載均衡器提示頭的位置標識符和(ii)標識所述 會話標識符的長度的長度標識符,確定所述會話標識符的位置。
19. 如權(quán)利要求18所述的方法,其中,根據(jù)所述位置標識符確定所述會話標識符的位 置包括根據(jù)所述位置標識符和所述消息內(nèi)所述負載均衡器提示頭的位置,確定所述消息內(nèi) 所述會話標識符的位置。
20. 如權(quán)利要求17所述的方法,進一步包括基于包括在所述負載均衡器頭中的動作類 型確定要由所述負載均衡器執(zhí)行的動作,其中所述動作類型指示要由所述負載均衡器執(zhí)行 的動作。
21. 如權(quán)利要求20所述的方法,進一步包括響應于基于所述動作類型確定相應的動 作,(i)確定所述會話標識符是否包括在本地會話-服務器表中,以及(ii)響應于確定所 述會話標識符不包括在所述本地會話-服務器表中,向至少一個其他負載均衡器傳輸確定 所述會話標識符是否包括在所述其他負載均衡器所管理的會話-服務器表中的請求。
22. 如權(quán)利要求21所述的方法,進一步包括: 響應于所述請求從另一個負載均衡器接收所述會話標識符包括在所述其他負載均衡 器所管理的會話-服務器表中的確認,并且 響應于所述確認向發(fā)送所述消息的所述客戶端計算設備傳輸重定向消息,其中,所述 重定向消息包括標識管理包括所述會話標識符的所述會話-服務器表的所述負載均衡器 的負載均衡器標識數(shù)據(jù)。
23. 如權(quán)利要求21所述的方法,進一步包括: 響應于所述請求,從在所述其他負載均衡器所管理的所述會話-服務器表中標識的與 所述會話標識符相關(guān)聯(lián)的所述相應數(shù)據(jù)服務器接收響應消息;以及 將所述響應消息重新傳輸?shù)桨l(fā)送所述消息的所述客戶端計算設備。
24. -種用于客戶端計算設備和多個數(shù)據(jù)服務器中的數(shù)據(jù)服務器之間的持續(xù)會話通信 的方法,所述方法包括: 修改要從在所述客戶端計算設備上執(zhí)行的應用向所述數(shù)據(jù)服務器發(fā)送的消息以便包 括標識所述消息內(nèi)標識所述持續(xù)會話的會話標識符的位置的負載均衡器提示頭;以及 將所述經(jīng)修改的消息傳輸?shù)焦芾硭鰯?shù)據(jù)服務器的負載均衡器。
25. 如權(quán)利要求24所述的方法,其中,修改所述消息包括設置所述負載均衡器提示頭 的位置標識符以便標識所述消息內(nèi)所述會話標識符的位置。
26. 如權(quán)利要求24所述的方法,其中,修改所述消息包括設置所述負載均衡器提示頭 的位置標識符以便標識所述消息內(nèi)所述會話標識符相對于以下之一的位置:(i)所述負載 均衡器提示頭在所述消息內(nèi)的位置或(ii)所述消息的起始。
27. 如權(quán)利要求25所述的方法,其中,修改所述消息包括設置所述負載均衡器提示頭 的標識所述會話標識符的長度的長度標識符。
28. 如權(quán)利要求27所述的方法,其中,修改所述消息包括設置所述負載均衡器提示頭 的指示要由所述負載均衡器執(zhí)行的動作的動作類型。
29. 如權(quán)利要求28所述的方法,其中,設置所述動作類型包括設置所述動作類型以便 指示所述負載均衡器將在所述客戶端計算設備和所述數(shù)據(jù)服務器之間創(chuàng)建持續(xù)會話。
30. 如權(quán)利要求28所述的方法,其中,設置所述動作類型包括設置所述動作類型以便 指示所述負載均衡器將與另一個負載均衡器通信以便定位所述客戶端計算設備與其進行 當前持續(xù)會話的相應的數(shù)據(jù)服務器。
【文檔編號】G06F15/16GK104380278SQ201380028625
【公開日】2015年2月25日 申請日期:2013年6月21日 優(yōu)先權(quán)日:2012年6月29日
【發(fā)明者】R·科恩, M·嘎姆拉維, S·瑪哈卡里 申請人:英特爾公司