TWI230898B - Method and apparatus for off-load processing of a message stream - Google Patents
Method and apparatus for off-load processing of a message stream Download PDFInfo
- Publication number
- TWI230898B TWI230898B TW092116987A TW92116987A TWI230898B TW I230898 B TWI230898 B TW I230898B TW 092116987 A TW092116987 A TW 092116987A TW 92116987 A TW92116987 A TW 92116987A TW I230898 B TWI230898 B TW I230898B
- Authority
- TW
- Taiwan
- Prior art keywords
- task
- unloading
- scope
- patent application
- unloading device
- Prior art date
Links
- 238000012545 processing Methods 0.000 title claims abstract description 33
- 238000000034 method Methods 0.000 title claims description 63
- 230000004044 response Effects 0.000 claims description 11
- 238000012795 verification Methods 0.000 claims description 6
- 238000006243 chemical reaction Methods 0.000 claims description 5
- 230000008859 change Effects 0.000 claims description 3
- 238000004519 manufacturing process Methods 0.000 claims 6
- 239000002689 soil Substances 0.000 claims 1
- 230000008569 process Effects 0.000 description 12
- 238000010200 validation analysis Methods 0.000 description 11
- 238000010586 diagram Methods 0.000 description 8
- 230000009471 action Effects 0.000 description 4
- 230000009466 transformation Effects 0.000 description 4
- 230000007246 mechanism Effects 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 238000007792 addition Methods 0.000 description 1
- 230000002730 additional effect Effects 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003252 repetitive effect Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000001131 transforming effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/5055—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering software capabilities, i.e. software resources associated or available to the machine
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/5044—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering hardware capabilities
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/505—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/509—Offload
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Computer And Data Communications (AREA)
- Communication Control (AREA)
Description
1230898 玖、發明說明: 【發明所屬之技術領域】 本發明之實施例一般係關於電腦網路連接以及,更明確 而τ,係關於一種用於將一任務或操作之處理自一應用伺 服器或伺服器叢集卸載至一卸載裝置之系統及方法。 【先前技術】 為提高一網站之容量,通常於主機站佈署複數個伺服器 或一伺服器叢集。圖1描繪一包括該種伺服器叢集之習知伺 服器主機系統100之示範性實施例。伺服器主機系統1〇〇包 括已耦接至一交換及負載平衡器140(為便於理解,本文簡 稱其為一,’交換器")之複數個伺服器180—其包括祠服器 18〇a、18〇b、……180n。每個伺服器18〇a_rap是藉由一鏈路 160耦接至交換器140,每個鏈路16〇都是用於在伺服器與交 換器之間提供一點對點連接。交換器14〇耦接至一路由器 20 ’接著該路由器20耦接至網際網路5。將一單獨Ip(網際網 路協定)位址或虛擬IP位址(VIp)指派給伺服器叢集 18〇a-n,並且以伺服器叢集18〇a_n為目的地或源自於伺服器 叢集180a-n之所有網路流量均流經交換器14〇。參見(譬如) 網際網路工程任務組意見請*(IETFRFC) 79卜網際網路協 足因此,伺服斋叢集18〇a_n對該等正存取伺服器主機系統 100之用戶端10而言係作為一單獨網路資源。 當一用戶端10試圖建立一連接至伺服器主機系統1〇〇之 連接時會在路由态20處收到一包括一連接請求(譬如 tcp(傳輸控制協幻SYN)之封包,且路由器2()將該封包傳 86203 1230898 輸至交換器140。參見(譬如)IETFRFC 792,傳輸控制協定。 交換器140將選擇伺服器I80a-n之一以處理該用戶端之請 求,以及為了選擇一伺服器180,交換器140運用一負載平 衡機制以在複數個伺服器18Oa-n之間平衡用戶端請求。交換 器140可運用,,異動’,負載平衡,其中至少部分地基於每個伺 服器180a-n之負載將一用戶端請求選擇性地轉遞至一伺服 器180。或者,交換器140可運用,,應用感知,,或,,内容感知,, 負載平衡,其中基於與一用戶端請求相關聯之應用將該請 求轉遞至一伺服器180—即:將該用戶端請求投送至一伺服 器180或多個伺服器之一,該伺服器提供用戶端1〇起始或請 求之應用(譬如網路服務)。同樣,除了運用前述負載平衡方 案之一’叉換器140可直接以一循環方式在伺服器180a_n間 分配用戶端請求。 如前所述,可藉由結合一或更多負載平衡機制來運用該 種伺服奋叢集1 80a-n而改進一網站之性能。與處理用戶端請 求相關聯的工作負載被分配在叢集1 8〇a-n中之所有伺服器 180之間。然而,伺服器18〇a-n仍然會因處理常發生及/或經 常需要之任務而淹沒。常發生之任務之實例包括内容感知 路由決策(屬於内容感知負載平衡方案之一部分)、用戶鑑認 與核對、以及XML處理操作(譬如驗證及轉換)。參見(譬如) 王球訑訊網協會2 0 0 0年10月發行之可延伸性標示語言 (XML) 1.0第二版。 通常,每當一用戶端請求一連接至網站之主機伺服器的 連接時(譬如可能發生於用戶鑑認時)或當伺服器主機系統 86203 -6 - 1230898 接收到每個封包(或封包流)時(譬如可能發生於内容路由決 朿時),即執行前述任務以及其它任務,而無關於該用卢端 正請求之衫服務及/或資源。因此,該等操作在性質上極 具重複性,且料—高負荷存取之網站而言,如此之操作 可對主機應用伺服器造成—沈重負擔。該與處理經常發生 之任沒相關聯之畲搞合治立 貝膽曰肩耗王機伺服器叢集中寶貴卻有限 的可用處理資源’以及相應地會導致增加處理用戶端請装 之等待時間及/或試圖增加存取—網站之用戶端之存取時 間。 【發明内容】 -種包括已耦接至—卸载控制器之數個卸載裝置的系 統。該卸載控制器剖析-傳入之訊息流以尋找多個可卸載 任務,若偵測到該等^p 4 | 、 寺了卸載任務,則將其卸載至該等卸載 設備之一以供處理。 【實施方式】 圖描、曰和1服為王機系統200之實施例。飼服器主機系 統2:數個卸載裝置29〇,每個卸載裝置都是專用於執 灯一=疋《任務或任務組,如下文解說所述。相應地,自 伺服為王機系統200之一應用伺服器或多個伺服器挪卸 Θ等延疋作〈執行,進而保存電腦資源以及允許 多資源專用於處理用白μ田* 、里用戶响異動。因此,藉由將一個或多個
任務自主要應用孩|日gI 叼服备或伺服器叢集卸載至卸 290(特別適用於絲堂兩西t、 、…二吊而要及高度重複之任務),就會縮短與 服務用戶端請求相關辨士 % 稍關*又寺待時間以及用戶端存取時間。 86203 1230898 參考圖2,伺服器主機系統200耦接至一路由器20,接著 路由器20耦接至網際網路5或其它網路。路由器20可包括任 何此項技術中已知之適用的路由裝置,其包括任何可購得 之成品路由器。已連接一個或多個網際網路5的用戶端10可 存取伺服器主機系統200。儘管圖中所示之伺服器主機系統 200係耦接至網際網路5,應瞭解伺服器主機系統200可耦接 至任何電腦網路或複數個電腦網路。舉例而言,伺服器主 機系統200可耦接至一區域網絡(LAN)、一廣域網路(WAN) 及/或一都會網路(MAN)。 伺服器主機系統200包括一耦接至路由器20的交換及負 載平衡器240。為便於理解,本文將該交換及負載平衡器240 簡稱為一 M交換器”。交換器240包括或耦接至一卸載控制器 300。以下將詳細解釋卸載控制器300之運作過程。伺服器 主機系統200亦包括一個或多個伺服器280,其包括伺服器 280a、280b、...、280η。每個祠月艮器280a-n都是藉由一键路 260耦接至交換器240,每個鏈路260都是用於在伺服器與交 換器之間提供一點對點連接。或者,一網路(未圖示)可將伺 服器280a-n耦接至交換器240。 一伺服器280可包括任何此項技術中已知之適用於伺服 器或其他電腦裝置,其包括無數可購得之成品伺服器之任 何一個。將一單獨IP(網際網路協定)位址或虛擬IP位址(VIP) 指派給伺服器叢集280a-n,並且以伺服器叢集280a-n為目的 地或源自於伺服器叢集280a-n之所有網路流量均流經交換 器240。因此,伺服器叢集280a-n對該等正存取伺服器主機 1230898 系統200之用戶端10而言係作為一單獨網路資源。 數個卸載裝置290(其包括卸載裝置290a、290b、…、290m) 亦耦接至交換器240。每個卸載裝置290a-m都是藉由一鏈路 260耦接至交換器240,每個鏈路260都是用於在伺服器與交 換器之間提供一點對點連接。或者,卸載裝置290a-m可藉 由一網路(未圖示)耦接至交換器240。任何適宜數目之卸載 裝置290可耦接至交換器240。伺服器主機系統200之架構具 擴充能力且具容錯能力。若需要额外卸載處理能力,可將 一適宜數目之卸載裝置290直接加入至伺服器主機系統 200,且若卸載裝置290a-m之一失效,將不會中斷伺服器主 機系統200之運作,因為可在其餘卸載裝置290之間分配該 失效裝置之工作負載。 每個卸載裝置290都包括任何適合之裝置或電路,其可接 收資料以及根據一接收自交換器240之指令來執行一關於 該資料的任務或操作。可藉由卸載裝置290確定一結果,接 著可將該結果提供給卸載控制器300及/或交換器240。僅舉 例而言,可由一卸載裝置290執行之任務包括内容感知路由 決策、用戶鑑認及核對、XML驗證、XML轉換以及其它操 作。舉例而言,一卸載裝置290可包括一微處理器、一專用 體積電路(ASIC)或一場可程式化閘陣列(FPGA)。然而,應 瞭解,該種卸載裝置290可包括另一裝置或系統(譬如一伺 服器)之一部分或者與其整合。此外,應瞭解,可在硬體、 軟體或其組合中實施卸載裝置290。 現參考圖3,其描繪一卸載控制器300之實施例。如前所 1230898 分或輕接至交換 一剖析單元310、 述,卸載控制器300形成交換器24〇之一部 器240。如圖3所示,卸載控制器3〇〇可包括 —組態表320以及一選擇單元33〇。 田^際網路5接收—訊息流(即一個或多個封包流) ㈣剖析早兀3_析該傳人之封包以及,,尋找,,可卸載至卸 置290心一的任務。為識別此類任務,剖析單元31〇可 能搜尋-表明任務可卸載之資料樣式。或者,傳入之封包 可包括-呼叫(譬如—程序呼叫)或指令,其指示該封包包括 a可卸載至一卸載裝置29〇之操作,以及剖析單元…將搜 :此類呼叫或指令。然而,應、瞭解,搜尋一收到之訊息中 是否有-對應於-可卸載任務之資料樣式或呼叫僅係如何 在收到4訊息 >瓦内識別一可卸載任矛务之實㈣。剖析單元 310可運用任何其它適合之方法及/或裝置以在—收到之訊 息流中識別一可卸載任務。 本文將上述任何可卸載至一卸載裝置29〇之任務稱作一 可卸載任務(或一"可卸載操作,,)。一網路處理任務之寬陣 列(譬如任務感知路由決策、用戶鑑認及核對、xml驗證及 XML轉換)可為可卸載任務。如前所述,該等網路處理任務 傾向於南度重複,且在習知系統中,該等操作可對伺服器 叢集280a-n造成沈重負擔。一般會有一預先定義之可卸載任 務組’以及可藉由任一卸載裝置29〇處理每個可卸載任務 (即每個卸載裝置290可處理任何任務)。在一替代實施例 中’藉由一或一組選定之卸載裝置290處理每個可卸載任務 (即每個卸載裝置290可處理一特定任務或一組任務)。 86203 -10- Ϊ230898 若-傳入之訊息流中之資料樣式匹配或表明特定可卸載 任務之一,或若在傳入之訊息流中發現一指示將執行—可 =載任務之呼叫’則該可卸載任務將由卸載裝置義_瓜之 :執行。為處理該可卸載任務,將傳入之訊息流中之至少 —邵分資料以及一指令轉遞至可卸載裝置29〇a_m之一。該 指令(其由卸載控制器3〇〇及/或交換提供)告知接收: 载裳置29G執行關於該封包資料的卸載任務。舉例而言,可 在組態表3 2 G (以下將詳細說明)中執行—查詢作業以確定將 連同封包貧料一起轉遞至適宜之卸載裝置29〇的指令。如下 返說明’藉由選擇單元33〇來選擇將接收封包資料及指令之 卸載裝置290。 在一實施例中,剖析單元31〇可剖析一傳入之封包流的網 路層7應用資料(譬如URI(全球資源識別碼以搜尋可卸載 任務。筝見1994年6月網際網路工程任務組意見請求(IEtf RFC) 163 0全球網路中之全球資源識別碼。若uRI* 一資料 I式匹配或表明一可卸載任務,則可在組態表32〇中執行一 查詢作業將連同封包資料一起轉遞至適宜之卸載裝置29〇 的指令。 組悲表320可構成或提供指令至卸載裝置290a-m。組態表 320可包括一系列項目,每個項目都是用於識別一可卸载任 務(或對應於一可卸載任務之資料樣式或呼叫)以及一對應 於該可卸载任務之指令。若在一傳入之訊息流中偵測到二 才曰π居可卸載任務之資料樣式或呼叫,則將對應指令轉遞 至一選定之卸載裝置290。該指令指示選定之卸載裝置 86203 -11- 1230898 290,以採取關於識別之任務、資料樣式或呼叫的操作(辟 如使用者鑑認,XML驗證,等等)。儘管本文所逑之組能表 320具有數個項目,且每個項目都是用於識別一可卸载任矛欠 及一對應指令,但是應瞭解組態表32〇可包括任何適合之硬
體、軟體或其組合,其可產生或提供用於一偵測到之可| 載任務之適宜指令。 P 選擇單元330確定哪個卸載單元29〇應處理一偵測到之可 卸載任務。將來自傳入之訊息流之資料(或此資料之 以及對應4在傳人之訊息流中發現之可卸載任務之指令刀一 起轉遞至選定之卸載裝置29()以供處理。選擇單仙〇可直 '、#衣’人序將可卸載任務指派給卸載裝置 在所有卸載裝置290a_m之間均勾分配, 29“上之負載及/或卸載任 載I置 ;4有如下所述,選擇單 兀可運用一個或多個負載平衡機制。 在選擇一卸載裝置時,選擇單元3 於每個卸載裝置29〇 ^地基 將-可卸#^ v 电机負載而運用異動負載平衡 聽-m都能夠^配至一卸載裝置29〇。若是每個卸載裝置 力),就適:運用Γ:?:、卸載任務(即其均具有同樣能 選擇單元330運/ 衡1 了異動負載平衡,可由 運用内表感知負載平衡,;ΡΛ ;S; zj I . \ 可卸载任菸太I 戰十衡攸而至少邵分地基於 290。若/=而將可-卸載任務指派給-卸載裝置 載任務或一少等 4門處理-特疋類型可卸 平衡。……類別’就適合運用内容感知負載 86203 1230898 若每個卸载裝置290a-m都是專門處理一可卸載任務類型 (或任務類別),對於每個可卸載任務,組態表32〇可包括專 門處理薇任務之該(或該等)卸載裝置。當執行查詢組態表 320是否有一可卸載任務時,就可從組態表32〇之適宜項目 續取對應扣令及卸載裝置290。應注意,如先前說明,可指 派兩個或更多卸載裝置290來處理一可卸載任務類型,並且 在此情況下,選擇單元330仍然可在該等指派之卸載裝置 290之間執行異動負載平衡。 參照圖4可更佳瞭解伺服器主機系統200(以及,更確切而 言,卸載裝置290a-m及卸載控制器3〇〇)之操作。圖4展示一 描緣一卸載任務400之方法實施例之方塊圖。 參照圖4中之方塊405,於交換器24〇處收到一訊息流—同 樣,該訊息流可包括一個或多個封包。可自一試圖建立一 連接至伺服器主機系統2〇〇之連接的用戶端1〇或自具有進 仃中建置會期之用戶端10接收該訊息流。藉由剖析單元 剖析該訊息流内之封包資料以搜尋或識別所收到之訊息流 内的任何可卸載任務,如方塊41〇所示。舉例而言,如前所 述,剖析單元310可搜尋一表明或指示一可卸載任務之資料 樣式,或者剖析單元310可搜尋一對應於一可卸載任務之呼 叫或指令。參照參考數字415,按交換器24〇所確定,如果 封包不包括一可卸載操作,則將該封包或該等封包直接轉 遞土適Jl之伺服泰280(參見方塊420)。交換器240可執行異 動負載平衡及/或内容感知負載平衡以確定哪個伺服器 280a-n應接收所轉遞之訊息流,如此之負載平衡應無關於由 86203 -13 - 1230898 卸載控=咨300執行之在卸載裝置290a-m之間的任何負載 平倚田然,應瞭解,如前表明,該等卸載裝置29〇a_m中 個或夕個卸載裝置結合卸載控制器300可在伺服器 2^80a-n《間的負載平衡中發揮—作用(譬如作出内容路由決 策)。 再次爹照圖4中之參考數字415,若在傳人之訊息流中識 別y可卸載任務,則卸載控制器3⑻可提供—對應於所領測 Ί〈可卸載任務的指令,如方塊425所示。可藉由執行查詢 组態表320以尋找適宜之指令,如前所述。 — 、^、方塊430,藉由選擇單元33〇來選擇卸載裝置 <以處理所偵測到之可卸載任務。同樣,選擇單元⑽可 利用異動及/或内容感知負載平衡來選擇-卸載裝置290, 或者延擇早兀33G可以-循環方式分配可卸載任務。同樣, 如前所述,可自組態表33〇識別該(或該等)適宜之卸載裝置 290’儘管選擇單元330仍然可執行-些負載平衡。 如方塊435所示,卸載控制器將傳入之訊息流中之指 令以及該封包資料之至少―部純供精選定之卸載裝置 290。延疋(卸載裝置29〇接收該指令及封包資料,且對此 回應而執行該可卸載任務。如方塊44〇所示,選定之卸載MO 可確疋一結果’可藉由卸載控制器3〇〇接收該結果。該結果 可指示一内容路由決策、—用戶鑑認或驗證決策、-XML 驗證、一XML轉換或其它決策或變量。 參照方塊445,卸載控制器300(及/或交換器240)將處理該 結果以及採取任何適宜之行動。舉例而言,可將該封包資 86203 -14- 1230898 科以及(若必要)該結果直接轉遞至—伺服器28〇以供進一步 處理。接收封包資料及結果之祠服器28〇可已由執行一内容 路由操作之選定卸載裝置290來確定(或如前所述,由交換 器240根據其它政策選擇)。進一步舉例而言,基於自選定 <卸載裝置290接收之結果,卸載控制器3〇〇可傳送一回應 至一用戶端,如可能發生於用戶鑑認期間(參見以下圖勹。 以上針對-包括-可卸載之單獨、可識別任務之訊息流 而論描述了圖4之方法400。然而,應瞭解,一訊息流可包 括任何數目之可卸載任務。若在_訊息流中發現多個可卸 載任務(或表明同一事物之呼叫、指令及/或資料樣式),可 為每個偵測到之可卸載任務提供—指令。儘管_單獨卸載 裝置290可操作兩個或更多偵測到之任務,但是將選擇一卸 載裝置290以處理該等可卸載任務中的每一個。卸載控制器 300(及/或又換器240)將為每個接受處理之可卸載任務接收 一結果’以及相應地將對每個任務採取適宜之行動。 圖5中描繪卸載任務500之方法之另一實施例。圖$所示之 万法500類似於以上關於圖4所示及所述之方法4〇〇,且相似 之元件保有相同之數冬名稱。同樣地,以下關於圖5之討論 中不重複以上關於圖4對該等元件之描述。 參妝圖5中之方塊505 ’自選定之卸載裝置29〇(參見方塊 440)收到一結果後’卸載控制器3〇〇及/或交換器24〇傳送一 回應至一用戶端。舉例而言,若傳入之訊息流要求一驗證 掭作(譬如XML驗證),以及該驗證任務被卸載至選定之卸 載裝置290以供處理,則傳送至該用戶端之回應可指示該訊 86203 -15 - 1230898 息流無效。因此,可無需牵涉伺服器叢集280a-n而執行一可 卸載任務一在此特殊例子中為一驗證操作。然而,現參照參 考數字510,若訊息流不要求進一步處理,則可將該(或該 等)封包以及(若必要)該結果轉遞至一適宜之伺服器280,如 方塊515所示。若訊息流不要求额外行動,則處理程序完 成,如方塊520所示。 圖6描繪一伺服器主機系統600之實施例,該系統利用數 個卸載裝置以卸載一指定類別之可卸載任務。更確切而 言,伺II器主機系統600將XML處理卸載至XML卸載裝置 690。類似地,圖7描繪一卸載XML處理700之方法之實施 例。熟悉此項技術者將理解此卸載任務實例對於一個或多 個卸載裝置之效用,因為基於或利用XML標示語言開發之 應用程式的數目正在快速擴大。 參照圖6,將伺服器主機系統600耦接至一路由器20,接 著路由器20耦接至網際網路5或其它網路。路由器20可包括 任何此項技術已知之適用的路由裝置,其包括任何可購得 之成品路由器。已連接一個或多個網際網路5的用戶端10可 存取伺服器主機系統600。儘管圖中所示之伺服器主機系統 600係耦接至網際網路5,應瞭解,伺服器主機系統600可耦 接至任何電腦網路或複數個電腦網路。舉例而言,伺服器 主機系統600可耦接至一區域網路(LAN)、一廣域網絡(WAN) 以及/或一都會網路(MAN)。 伺服器主機系統600包括一耦接至路由器20的交換及負 載平衡器640。為便於理解,本文將交換及負載平衡器640 86203 -16- 1230898 簡稱為一 ’’交換器,’。交換器640包括或耦接至一 XML控制器 645。XML控制器645以一類似於前文關於圖2及圖3描述之 卸載控制器300之方式操作。 伺服器主機系統600亦包括一個或多個伺服器680,其包 括伺服器680a、680b、......、680η。每個伺服器680a-n都是 藉由一鏈路660耦接至交換器640,每個鏈路660都是用於在 伺服器與父換器之間提供一點對點連接。或者,一網路(未 圖示)可將伺服器680a-n耦接至交換器640。一伺服器680可 包括任何適合之伺服器或其它此項技術已知之電腦裝置, 其包括無數可購得之成品伺服器之任何一個。將一單獨Ip 位址或VIP指派給伺服器叢集680a_n,且伺服器叢集680a_n 對該等正存取伺服器系統600之用戶端10而言係作為一單 獨網路資源。 數個XML卸載裝置690(其包括xml卸載裝置690a、 690b、…、690m)亦耦接至交換器64〇。每個xml卸載裝置 690都是藉由一鏈路660耦接至交換器64Q,每個鏈路66〇都 是用於在祠服器與交換器之間提供一點對點連接。或者, XML卸載裝置690可藉由一網路(未圖示)耦接至交換器 640。任何適合數目之XMI^p載裝置69〇可耦接至伺服器主 機系統600。伺服器主機系統6〇〇之架構具擴充能力且具容 錯能力。若需要额外之XML處理能力,可將一適宜數目之 XML卸載裝置690直接加入至伺服器主機系統6〇〇,且若 XML卸載裝置690a-m之一失效,將不會中斷伺服器主機系 統600之運作,因為可在其餘XML卸載裝置69〇之間分配該 86203 -17- 1230898 失效裝置之工作負載。 每個XML卸載裝置690都包括任何適合之裝置或電路,其 能夠接收資料以及根據一接收自XML控制器645及/或交換 器640之指令來執行一關於該資料的XML操作(譬如驗證、 轉換,等)。可藉由XML卸載裝置690確定一結果,接著可 將該結果提供給XML控制器645及/或交換器640。舉例而 言,儘管應瞭解此類XML卸載裝置690可包括另一裝置或系 統(譬如一伺服器)之一部分或與其整合,但是一 XML卸載 裝置690可包括一微處理器、一 ASIC或一 FPGA。應進一步 瞭解,可在硬體、軟體或其組合中實施一 XML卸載裝置690。 參照圖7,圖中描繪一卸載XML處理700方法之實施例之 方塊圖,有助於更容易理解伺服器主機系統600之操作,如 前所述。參照圖7之方塊705,於交換器640處收到一訊息流 (其包括一個或多個封包)。可自一試圖建立一連接至伺服器 主機系統600之連接的用戶端10,或自具有進行中建置會期 之用戶端10接收該訊息流。剖析訊息流中之封包資料以在 收到之訊息流中搜尋或識別任何可卸載XML任務,如方塊 710所示。舉例而言,可剖析封包資料以搜尋一表明或指示 一可卸載XML任務之資料樣式,或可剖析封包資料以搜尋 一對應於一可卸載XML任務之呼叫或指令。 參照參考數字7 15,若訊息流不包括一可卸載XML任務, 則將該封包或該等封包直接轉遞至適宜之伺服器680(參見 方塊720),按交換器640所確定。交換器640可執行異動負載 平衡及/或内容感知負載平衡以確定哪個伺服器680a-n應接 86203 -18 - 1230898 收所轉遞之訊息流。同樣,應瞭解,如此之負載平衡可無 關於由XML控制器645執行之XML卸載裝置690a-m之間的 任何負載平衡,此外,該等XML卸載裝置690中一個或多個 卸載裝置(或其它卸載裝置)結合XML控制器645可在伺服器 680a-n之間的負載平衡中發揮一作用(譬如作出内容路由決 策)。 再次參照圖7中之參考數字715,若在傳入之訊息流中識 別一可卸載XML任務,則XML控制器645可提供一對應於一 個或多個偵測到之XML操作之指令,如方塊725所示。藉由 執行查詢XML控制器645之組態表以尋找一適宜之指令,如 ’前所述。 參照方塊730,選擇XML卸載裝置690a-m之一以處理所偵 測到之可卸載XML任務。如前所述,可運用異動及/或内容 感知負載平衡來選擇一XML卸載裝置690,或者可以一循環 方式將可卸載任務指派給XML卸載裝置690a-m。同樣地, 如前所述,可自XML控制器645的一組態表來識別該(或該 等)適宜之XML卸載裝置690,儘管仍然可執行某些負載平 衡。 如方塊735所示,XML控制器645將一指令以及傳入之訊 息流中之封包資料的至少一部分提供給選定之XML卸載裝 置690。選定之XML卸載裝置690接收該指令及封包資料, 以及對此回應而執行XML任務。如方塊740所示,選定之 XML卸載裝置690可確定一結果,該結果可由XML控制器 645接收。參照方塊745,XML控制器645(及/或交換器640) 86203 -19 - 1230898 將處理該結果並採取任何適宜之行動。可將該封包資料以 及(如必要)該結果轉遞至一伺服器680以供進一步處理。 舉例而言,且不受限制地,可由XML卸載裝置690執行之 XML處理包括驗證及轉換。若一 XML文件遵守XML標準之 語法,其則係”符合格式”,以及若一"符合格式niXML文件 包含一恰當之文件類型定義及/或結構,其則係π有效"。當 收到代表一 XML文件之一個或多個資料封包時,則期望驗 證XML文件在將該資料轉遞至一應用伺服器680之前為有 效。為執行此類XML驗證操作,XML控制器645將該封包資 料(其包括一 XML資料流)以及對應之驗證指令(譬如 "〈validation/〉”)轉遞至選定之XML卸載裝置690。選定之 XML卸載裝置690將處理該訊息並將一有效(譬如,,〈valid/〉,,) 或無效(譬如”<invalid/>”)回應傳回至XML控制器745。 亦可能需要根據一定義之範本或樣式表將一 XML資料流 轉換為另一格式。為在不同XML資料格式之間執行一轉 換,XML控制器645將轉遞一或複數個封包及一轉換指令 (譬如”<轉換/>”)至選定之XML卸載裝置690。選定之XML 卸載裝置690將執行該轉換並將一轉換之XML資料流或文 件傳回至XML控制器645。 以上就一包括一可卸載之單獨、可識別之XML任務的封 包而論來描述了圖7之方法700。然而,應瞭解,一訊息流 可包括任何數目之可卸載XML任務。若在一訊息流内發現 多個可卸載XML任務(或表明相同事物之呼叫、指令及/或資 料樣式),則可為每個偵測到之可卸載任務XML任務提供一 86203 -20- 1230898 才曰令。將選擇一 XML卸載裝置690以處理該等可卸載XML 任務中的每一個,儘管一單獨XML卸載裝置690可處理兩個 或更多偵測到之操作。XML控制器645(及/或交換器640)將 為每個接受處理之可卸載XML任務接收一結果,以及相應 也為母個操作採取適宜之行動。應進一步瞭解,伺服器主 機系統600(其包括xml卸載裝置690a-m)不限於XML處理 心卸载,因為非XML操作亦可卸載至XML卸載裝置690(或 其它卸載裝置)。 本文已描述一包括數個卸載裝置之伺服器主機系統之實 知例一以及將任務卸載至一卸載裝置之方法之實施例,熟悉 此項技術者將明瞭其益處。將一組可卸載任務之處理指派 給數個卸載裝置保留了一伺服器主機系統之電腦資源,從 而可更有效地利用該等資源(譬如一應用伺服器或伺服器 叢集)以服務用戶端請求以及執行其它任務。同樣地,一根 據所揭不實施例之具有數個卸載裝置之伺服器主機系統具 易擴充能力且具高度容錯能力。 前述詳細描述及隨附圖式僅係示範性而非限制性。其主 要用於對所揭示實施例之清晰及廣泛之瞭解而不應從其推 出不必要之限制。熟悉此項技術者在不背離所揭示實施例 之精神之條件下,可對本文所述之實施例以及替代佈置作 出無數附加、刪減以及修正。 【圖式簡單說明】 圖1描繪一習知伺服器主機系統之具體實施例的示意圖。 圖2描繞一包括數個卸載裝置之伺服器主機系統之實施 86203 -21 - 1230898 例的示意圖。 圖3描繪一卸載控制器之實施例的示意圖。 圖4描繪一卸載任務之方法之實施例的方塊圖。 圖5描繪該卸載任務之方法之另一實施例的方塊圖。 圖6描繪一包括數個XML卸載裝置之伺服器主機系統之 貫施例的TF意圖。 圖7描繪一卸載XML任務之方法之實施例的方塊圖。 【圖式代表符號說明】 5 網際網路 10 用戶端 20 路由器 100, 200, 600 伺服器主機系統 140, 240, 640 交換器 160, 260, 660 鏈路 180a-n5 280a-n? 680a-n 伺服器 290a-m,690a-m 卸載裝置 300 卸載控制器 310 剖析單元 320 組態表 330 選擇單元 645 XML控制器 700 XML處理 86203 -22-
Claims (1)
1230^§2116987號專利申請案 中文申請專利範圍替換本(93年12月)拾、申請專利範圍:
今 °vl\ cl 一種卸載處理之方法,包括: 識別一收到之訊息流中之可卸載 、 I我任務,孩收到訊息流 包括資料,以及 若識別出一可卸載任務,則 選擇一卸載裝置,以及 將該資料之至少一部分提供至該選定之卸載裝置。 2 ·如申請專利範圍第1項之方法,進一步包括·· 若識別出一可卸載任務,則將一對應於該可卸載任務 之指令提供至該選定之卸載裝置。 3·如申請專利範圍第1項之方法,進一步包括自該選定之卸 載裝置接收一結果。 4·如申請專利範圍第3項之方法,進一步包括轉遞該結果及 該資料至一伺服器。 5·如申請專利範圍第3項之方法,進一步包括傳送一回應至 一用戶端。 6·如申請專利範圍第1項之方法,進一步包括: 若未識別出一可卸載任務,則將該資料提供至一伺服 器。 7·如申清專利範圍第1項之方法,進一步包括根據一循環次 序來選擇該卸載裝置。 8. 如申清專利範圍第丨項之方法,進一资包括利用異動負載 平衡來選擇該卸載裝置。 9. 如申凊專利範圍第丨項之方法,進一夕包括利用内容感知 86203-931217.doc 1230898 負載平衡來選擇該卸載裝置。 10·—種卸載處理之方法,包括: 在一收到之訊息流中搜尋一斜靡 ^ 於一可卸載任務之資 以及 种樣式,該收到之訊息流包括資料; 若該訊息流包括該資料樣式,則 選擇一卸載裝置,以及 將該資料之至少一部分提供至 卜、土邊選足之卸載裝置。 •如申請專利範圍第10項之方法,進—步包括· 若收到之訊息流包括該資料樣式,則將_對應於該可 卸載任務之指令提供至該選定之卸载裝置。 12. 如申請專利範圍第10項之方法,進一步包括自該選定之 卸載裝置接收一結果。 13. 如申請專利範圍第12項之方法,進—步包括轉遞該結果 及該資料至一伺服器。 14. 如申請專利範圍第12項之方法,進—步包括傳送一回應 至一用戶端。 15 ·如申請專利範圍第1 〇項之方法,進—步包括: 若該收到之訊息流不包括該可卸载任務,則將該資料 提供至一伺服器。 16. 如申請專利範圍第10項之方法,進—步包括根據一循環 次序來選擇該卸載裝置。 17. 如申請專利範圍第1〇項之方法,進—步包括利用異動負 載平衡來選擇該卸載裝置。 18. 如申請專利範圍第10項之方法’進—步包括利用内容感 86203-931217.doc 123〇898 知負載平衡來選擇該卸載裝置。 19·—種卸載處理之方法,包括: 在一收到之訊息流中搜尋一對應於一可卸載任務之呼 叫’該訊息流包括資料;以及 右收到之訊息流包括該呼叫,則 選擇一卸載裝置,以及 將該資料之至少—部分提供㈣敎之卸載裝置。 •如申請專利範圍第19項之方法,進一步包括: 若該收到之訊息流包括該呼叫, 祖ρ、λ、、 』Ί %將一對應於該可卸 戰任務之指令提供至該選定之卸載裝置。 •如申请專利範圍第19項之方法,進 運步包括自該選定之 卸載裝置接收一結果。 22·如申請專利範圍第21項之 進步包括轉遞該結果 及孩為料至一伺服器。 23·如申請專利範圍第21項之方法, Σ 、步包括傳迗一回應 土一用戶端。 24.如申請專利範圍第19項之方法,進—步包括: 若該收到之訊息流不包括該呼叫,則將該資料提供: 一伺服器。 "^ 進一步包括根據一循環 進一步包括利用異動負 進—步包括利用内容感 25·如申請專利範圍第19項之方法 次序來選擇該卸載裝置。 26·如申請專利範圍第19項之方法 載平衡來選擇該負載裝置。 27.如申請專利範圍第19項之方法 86203-931217.doc 1230898 知負載平衡來選擇該卸載裝置。 28· —種卸載處理之方法,包括: 識別一收到之訊息流中之可卸載XML任務,該收到之 訊息流包括資料;以及 若識別出一可卸載XML任務,則 選擇一卸載裝置,以及 將該資料之至少一部分提供至該選定之卸載裝置。 29.如申請專利範圍第28項之方法,進一步包括: 若識別出一可卸載XML任務,則將一對應於該可卸載 XML任務之指令提供至該選定之卸載裝置。 30·如申請專利範圍第28項之方法,進一步包括自該選定之 卸載裝置接收一結果。 31·如申請專利範圍第30項之方法,進一步包括轉遞該結果 及該資料至一伺服器。 32.如申請專利範圍第3〇項之方法,進一步包括傳送一回應 至一用戶端。 W 33·如申請專利範圍第28項之方法,進一步包括: 則將該資料提供至— 若未識別出一可卸載XML任務 伺月艮器。 步包括根據一循環 步包捂利用異動負 乂包括利用内容感 34·如申請專利範圍第28項之方法,進一 次序來選擇該卸載裝置。 35·如申請專利範圍第28項之方法,進一 載平衡來選擇該卸載裝置。 36·如申請專利範圍第28項之方法,進一 86203-931217.doc -4- 1230898 知負載平衡來選擇該卸載裝置。 37.如申請專利範圍第28項之方*,中該可卸载舰任務包 括XML驗證及xml轉換。 3 8. —種卸載處理之系統,包括: 數個卸載裝置,每個卸載裝置皆耦接至一交換器; 一隸接至該交換器之伺服器;以及 -輕接至該交換器之卸載控制器,該卸載控制器識別 一收到之訊息流中之可卸載任務,若識別出一可卸載任 務,,則自數個卸載裝置選擇一卸載裝置,並將收到之訊 息泥所含之資料之至少一部分提供至該選定之卸載裝 置。 39. 如申請專利範圍第38項之系統,該卸載控制器將—對應 於該識別之可卸載任務之指令提供至該選定之卸載裝 置。 40. 如申請專利範圍第38項之系、统,該卸載控制器自該選定 之卸載裝置接收一結果。 41·如中請專利範圍第4〇項之系統,該卸載控制器轉遞該結 果及該資料至該伺服器。 42.如申請專利範圍第4〇項之系統,該卸載控制器傳送—回 應至一用戶端。 43·如申請專利範圍第38項之系統,若未識別出一可卸载任 務’則該卸載控制器將該資料提供至該伺服器。 44.如申請專利範圍第38項之系統,該卸載控制器根據一循 環次序來選擇該卸載裝置。 86203-931217.doc 1230898 45·如申請專利範圍第38項之系統,該卸載控制器利用里動 負載平衡來選擇該卸載裝置。 46·如申請專利範圍第38項之系統,該卸載控制器利用感知 負載平衡來選擇該卸載裝置。 47.如申請專利範圍第“項之系統,當識別一可卸载任務 時’該卸載控制器在該收到之訊息流中搜尋一對應於讀 可卸載任務之資料樣式。 48·如申請專利範圍第38項之系統,當識別一可卸載任務 時,該卸載控制器在一該收到之訊息流中搜尋一對應於 該可卸載任務之呼叫。 49.如申請專利範圍第38項之系統,其中該卸載控制器形成 該交換器之一部分。 申明專利範圍第38項之系統,該卸載控制器包括·· 一剖析單元,用於在該收到之訊息流中識別該可卸載 任務;以及 —選擇單元,用於選擇該卸載裝置以處理一識別之可 卸載任務。 51_如中請專利範園第5G項之_,該卸載控制器進一步包 識別一可卸载 括:包含數個項目之組態表,每個項目都 任務以及一對應指令。 52·如申請專利範圍第51項 -、义系統,其中每個項目進一步玛 別一對應之卸載裝置。 統,其中該卸載控制器耦接 5 3 ·如申凊專利範圍第3 8项之系 至一網路 86203-93l2l7.doc 1230898 54. 如申請專利範圍第53項之系統,該網路包括網際網路。 55. 如申請專利範圍第38項之系統,該等卸載裝置中至少一 卸載裝置包括一 XML卸載裝置。 56. —種供卸載處理之製造品,包括·· 一具有内容之媒體,當一裝置存取該媒體中之内容 時,會導致該裝置識別一收到之訊息流中之可卸載任 務,該收到之訊息流包括資料;以及 若識別出一可卸載任務,則 選擇一卸載裝置,以及 將該資料之至少一部分提供至該選定之卸載裝置。 57. 如申請專利範圍第56項之製造品,其中當存取内容時, 該内容進一步導致該裝置: 若識別出一可卸載任務,則將一對應於該識別出之可 卸載任務之指令提供至該選定之卸載裝置。 58. 如申請專利範圍第56項之製造品,其中當存取内容時, 該内容進一步導致該裝置自該選定之卸載裝置接收一結 果。 59. 如申請專利範圍第58項之製造品,其中當存取内容時, 該内容進一步導致該裝置轉遞該結果及該資料至一伺服 器。 60. 如申請專利範圍第58項之製造品,其中當存取内容時, 該内容進一步導致該裝置傳送一回應至一用戶端。 61. 如申請專利範圍第56項之製造品,其中當存取内容時, 該内容進一步導致該裝置: 86203-931217.doc 1230898 若為識別出一可卸載任務,則將該資料提供至一伺服 器。 62. 如申請專利範圍第56項之製造品,其中當存取内容時, 該内容進一步導致該裝置根據一循環次序來選擇該卸載 裝置。 63. 如申請專利範圍第56項之製造品,其中當存取内容時, 該内容進一步導致該裝置利用異動負載平衡來選擇該卸 載裝置。 64. 如申請專利範圍第56項之製造品,其中當存取内容時, 該内容進一步導致該裝置利用内容感知負載平衡來選擇 該卸載裝置。 86203-931217.doc
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/178,997 US20030236813A1 (en) | 2002-06-24 | 2002-06-24 | Method and apparatus for off-load processing of a message stream |
Publications (2)
Publication Number | Publication Date |
---|---|
TW200414028A TW200414028A (en) | 2004-08-01 |
TWI230898B true TWI230898B (en) | 2005-04-11 |
Family
ID=29734836
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW092116987A TWI230898B (en) | 2002-06-24 | 2003-06-23 | Method and apparatus for off-load processing of a message stream |
Country Status (6)
Country | Link |
---|---|
US (1) | US20030236813A1 (zh) |
EP (1) | EP1522019A2 (zh) |
CN (1) | CN100474257C (zh) |
AU (1) | AU2003230407A1 (zh) |
TW (1) | TWI230898B (zh) |
WO (1) | WO2004001590A2 (zh) |
Families Citing this family (50)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7467406B2 (en) * | 2002-08-23 | 2008-12-16 | Nxp B.V. | Embedded data set processing |
US7774831B2 (en) * | 2002-12-24 | 2010-08-10 | International Business Machines Corporation | Methods and apparatus for processing markup language messages in a network |
FI116426B (fi) * | 2003-05-02 | 2005-11-15 | Nokia Corp | Laitteenhallinnan aloittaminen hallintapalvelimen ja asiakkaan välillä |
EP1566940A1 (en) * | 2004-02-20 | 2005-08-24 | Alcatel Alsthom Compagnie Generale D'electricite | A method, a service system, and a computer software product of self-organizing distributing services in a computing network |
US20050251857A1 (en) * | 2004-05-03 | 2005-11-10 | International Business Machines Corporation | Method and device for verifying the security of a computing platform |
US7548977B2 (en) * | 2005-02-11 | 2009-06-16 | International Business Machines Corporation | Client / server application task allocation based upon client resources |
US7770000B2 (en) * | 2005-05-02 | 2010-08-03 | International Business Machines Corporation | Method and device for verifying the security of a computing platform |
US7840682B2 (en) | 2005-06-03 | 2010-11-23 | QNX Software Systems, GmbH & Co. KG | Distributed kernel operating system |
US8667184B2 (en) | 2005-06-03 | 2014-03-04 | Qnx Software Systems Limited | Distributed kernel operating system |
US20070226745A1 (en) * | 2006-02-28 | 2007-09-27 | International Business Machines Corporation | Method and system for processing a service request |
WO2007109087A2 (en) * | 2006-03-18 | 2007-09-27 | Lankford, Peter | System and method for integration of streaming and static data |
US8875135B2 (en) * | 2006-04-17 | 2014-10-28 | Cisco Systems, Inc. | Assigning component operations of a task to multiple servers using orchestrated web service proxy |
US8266630B2 (en) * | 2007-09-03 | 2012-09-11 | International Business Machines Corporation | High-performance XML processing in a common event infrastructure |
US11323510B2 (en) | 2008-02-28 | 2022-05-03 | Level 3 Communications, Llc | Load-balancing cluster |
US8489750B2 (en) | 2008-02-28 | 2013-07-16 | Level 3 Communications, Llc | Load-balancing cluster |
US9910708B2 (en) * | 2008-08-28 | 2018-03-06 | Red Hat, Inc. | Promotion of calculations to cloud-based computation resources |
US8139583B1 (en) * | 2008-09-30 | 2012-03-20 | Extreme Networks, Inc. | Command selection in a packet forwarding device |
US9264835B2 (en) | 2011-03-21 | 2016-02-16 | Microsoft Technology Licensing, Llc | Exposing off-host audio processing capabilities |
EP2702827A4 (en) * | 2011-04-27 | 2014-10-22 | Seven Networks Inc | MOBILE DEVICE FOR REQUESTING INQUIRIES OF A MOBILE APPLICATION TO A REMOTE UNIT FOR PRESERVING RESOURCES OF THE MOBILE DEVICE AND A NETWORK AND METHOD THEREFOR |
US9244745B2 (en) | 2011-06-16 | 2016-01-26 | Kodak Alaris Inc. | Allocating tasks by sending task-available messages requesting assistance with an image processing task from a server with a heavy task load to all other servers connected to the computer network |
US9444884B2 (en) * | 2011-12-31 | 2016-09-13 | Level 3 Communications, Llc | Load-aware load-balancing cluster without a central load balancer |
US9135084B2 (en) * | 2013-01-13 | 2015-09-15 | Verizon Patent And Licensing Inc. | Service provider class application scalability and high availability and processing prioritization using a weighted load distributor and throttle middleware |
US9065829B2 (en) * | 2013-03-21 | 2015-06-23 | Nextbit Systems Inc. | Automatic resource balancing for multi-device applications |
US9858052B2 (en) * | 2013-03-21 | 2018-01-02 | Razer (Asia-Pacific) Pte. Ltd. | Decentralized operating system |
US9225638B2 (en) | 2013-05-09 | 2015-12-29 | Vmware, Inc. | Method and system for service switching using service tags |
US9571386B2 (en) * | 2013-07-08 | 2017-02-14 | Nicira, Inc. | Hybrid packet processing |
US9774537B2 (en) | 2014-09-30 | 2017-09-26 | Nicira, Inc. | Dynamically adjusting load balancing |
US9531590B2 (en) | 2014-09-30 | 2016-12-27 | Nicira, Inc. | Load balancing across a group of load balancers |
US11496606B2 (en) | 2014-09-30 | 2022-11-08 | Nicira, Inc. | Sticky service sessions in a datacenter |
US20160112502A1 (en) * | 2014-10-20 | 2016-04-21 | Cisco Technology, Inc. | Distributed computing based on deep packet inspection by network devices along network path to computing device |
US10609091B2 (en) | 2015-04-03 | 2020-03-31 | Nicira, Inc. | Method, apparatus, and system for implementing a content switch |
US10853125B2 (en) * | 2016-08-19 | 2020-12-01 | Oracle International Corporation | Resource efficient acceleration of datastream analytics processing using an analytics accelerator |
US10805181B2 (en) | 2017-10-29 | 2020-10-13 | Nicira, Inc. | Service operation chaining |
CN107832150B (zh) * | 2017-11-07 | 2021-03-16 | 清华大学 | 一种计算任务动态分区策略 |
US11012420B2 (en) | 2017-11-15 | 2021-05-18 | Nicira, Inc. | Third-party service chaining using packet encapsulation in a flow-based forwarding element |
US10797910B2 (en) | 2018-01-26 | 2020-10-06 | Nicira, Inc. | Specifying and utilizing paths through a network |
US10659252B2 (en) | 2018-01-26 | 2020-05-19 | Nicira, Inc | Specifying and utilizing paths through a network |
US10805192B2 (en) | 2018-03-27 | 2020-10-13 | Nicira, Inc. | Detecting failure of layer 2 service using broadcast messages |
US10728174B2 (en) | 2018-03-27 | 2020-07-28 | Nicira, Inc. | Incorporating layer 2 service between two interfaces of gateway device |
US10944673B2 (en) | 2018-09-02 | 2021-03-09 | Vmware, Inc. | Redirection of data messages at logical network gateway |
US11595250B2 (en) | 2018-09-02 | 2023-02-28 | Vmware, Inc. | Service insertion at logical network gateway |
US11086654B2 (en) | 2019-02-22 | 2021-08-10 | Vmware, Inc. | Providing services by using multiple service planes |
US11140218B2 (en) | 2019-10-30 | 2021-10-05 | Vmware, Inc. | Distributed service chain across multiple clouds |
US11283717B2 (en) | 2019-10-30 | 2022-03-22 | Vmware, Inc. | Distributed fault tolerant service chain |
US11223494B2 (en) | 2020-01-13 | 2022-01-11 | Vmware, Inc. | Service insertion for multicast traffic at boundary |
US11659061B2 (en) | 2020-01-20 | 2023-05-23 | Vmware, Inc. | Method of adjusting service function chains to improve network performance |
US11153406B2 (en) | 2020-01-20 | 2021-10-19 | Vmware, Inc. | Method of network performance visualization of service function chains |
US11368387B2 (en) | 2020-04-06 | 2022-06-21 | Vmware, Inc. | Using router as service node through logical service plane |
US11611625B2 (en) | 2020-12-15 | 2023-03-21 | Vmware, Inc. | Providing stateful services in a scalable manner for machines executing on host computers |
US11734043B2 (en) | 2020-12-15 | 2023-08-22 | Vmware, Inc. | Providing stateful services in a scalable manner for machines executing on host computers |
Family Cites Families (27)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE3741953A1 (de) * | 1986-12-19 | 1988-06-30 | Nippon Telegraph & Telephone | Multiprozessorsystem und verfahren zur arbeitslastverteilung bei einem solchen |
DE3789215T2 (de) * | 1986-12-22 | 1994-06-01 | American Telephone & Telegraph | Gesteuerter dynamischer Belastungsausgleich für ein Multiprozessorsystem. |
ATE195185T1 (de) * | 1993-09-24 | 2000-08-15 | Siemens Ag | Verfahren zum lastausgleich in einem multiprozessorsystem |
US6185619B1 (en) * | 1996-12-09 | 2001-02-06 | Genuity Inc. | Method and apparatus for balancing the process load on network servers according to network and serve based policies |
GB2309558A (en) * | 1996-01-26 | 1997-07-30 | Ibm | Load balancing across the processors of a server computer |
US5828847A (en) * | 1996-04-19 | 1998-10-27 | Storage Technology Corporation | Dynamic server switching for maximum server availability and load balancing |
US5774660A (en) * | 1996-08-05 | 1998-06-30 | Resonate, Inc. | World-wide-web server with delayed resource-binding for resource-based load balancing on a distributed resource multi-node network |
US5864535A (en) * | 1996-09-18 | 1999-01-26 | International Business Machines Corporation | Network server having dynamic load balancing of messages in both inbound and outbound directions |
US6182029B1 (en) * | 1996-10-28 | 2001-01-30 | The Trustees Of Columbia University In The City Of New York | System and method for language extraction and encoding utilizing the parsing of text data in accordance with domain parameters |
GB2320112B (en) * | 1996-12-07 | 2001-07-25 | Ibm | High-availability computer server system |
US6026404A (en) * | 1997-02-03 | 2000-02-15 | Oracle Corporation | Method and system for executing and operation in a distributed environment |
US6286033B1 (en) * | 2000-04-28 | 2001-09-04 | Genesys Telecommunications Laboratories, Inc. | Method and apparatus for distributing computer integrated telephony (CTI) scripts using extensible mark-up language (XML) for mixed platform distribution and third party manipulation |
JP2001514778A (ja) * | 1997-03-13 | 2001-09-11 | マーク・エム・ホイットニー | メッセージ・キューイング・ファシリティを含むネットワーク・トランザクションをメインフレームからインテリジェントな入出力装置にオフロードするシステム及び方法 |
US6167488A (en) * | 1997-03-31 | 2000-12-26 | Sun Microsystems, Inc. | Stack caching circuit with overflow/underflow unit |
US6192415B1 (en) * | 1997-06-19 | 2001-02-20 | International Business Machines Corporation | Web server with ability to process URL requests for non-markup language objects and perform actions on the objects using executable instructions contained in the URL |
US6006264A (en) * | 1997-08-01 | 1999-12-21 | Arrowpoint Communications, Inc. | Method and system for directing a flow between a client and a server |
US6631424B1 (en) * | 1997-09-10 | 2003-10-07 | Fmr Corp. | Distributing information using a computer |
US6178160B1 (en) * | 1997-12-23 | 2001-01-23 | Cisco Technology, Inc. | Load balancing of client connections across a network using server based algorithms |
US6208644B1 (en) * | 1998-03-12 | 2001-03-27 | I-Cube, Inc. | Network switch providing dynamic load balancing |
US6292822B1 (en) * | 1998-05-13 | 2001-09-18 | Microsoft Corporation | Dynamic load balancing among processors in a parallel computer |
US6249844B1 (en) * | 1998-11-13 | 2001-06-19 | International Business Machines Corporation | Identifying, processing and caching object fragments in a web environment |
US6209124B1 (en) * | 1999-08-30 | 2001-03-27 | Touchnet Information Systems, Inc. | Method of markup language accessing of host systems and data using a constructed intermediary |
US20020107990A1 (en) * | 2000-03-03 | 2002-08-08 | Surgient Networks, Inc. | Network connected computing system including network switch |
US6732175B1 (en) * | 2000-04-13 | 2004-05-04 | Intel Corporation | Network apparatus for switching based on content of application data |
US7146422B1 (en) * | 2000-05-01 | 2006-12-05 | Intel Corporation | Method and apparatus for validating documents based on a validation template |
US20040117427A1 (en) * | 2001-03-16 | 2004-06-17 | Anystream, Inc. | System and method for distributing streaming media |
US20030074467A1 (en) * | 2001-10-11 | 2003-04-17 | Oblak Sasha Peter | Load balancing system and method for data communication network |
-
2002
- 2002-06-24 US US10/178,997 patent/US20030236813A1/en not_active Abandoned
-
2003
- 2003-05-15 WO PCT/US2003/015417 patent/WO2004001590A2/en not_active Application Discontinuation
- 2003-05-15 CN CN03814705.XA patent/CN100474257C/zh not_active Expired - Fee Related
- 2003-05-15 AU AU2003230407A patent/AU2003230407A1/en not_active Abandoned
- 2003-05-15 EP EP03724593A patent/EP1522019A2/en not_active Ceased
- 2003-06-23 TW TW092116987A patent/TWI230898B/zh not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
WO2004001590A2 (en) | 2003-12-31 |
CN100474257C (zh) | 2009-04-01 |
WO2004001590A3 (en) | 2004-03-18 |
AU2003230407A8 (en) | 2004-01-06 |
TW200414028A (en) | 2004-08-01 |
US20030236813A1 (en) | 2003-12-25 |
AU2003230407A1 (en) | 2004-01-06 |
EP1522019A2 (en) | 2005-04-13 |
CN1662885A (zh) | 2005-08-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI230898B (en) | Method and apparatus for off-load processing of a message stream | |
US11343356B2 (en) | Systems and methods for application specific load balancing | |
US11418620B2 (en) | Service request management | |
US7930427B2 (en) | Client-side load balancing | |
US10225194B2 (en) | Transparent network-services elastic scale-out | |
CN106856434B (zh) | 访问请求转换的方法和装置 | |
AU2018330053B2 (en) | RDP proxy support in presence of RDP server farm with session directory or broker | |
US9231816B2 (en) | Method for distributing a plurality of data portions | |
Hunt et al. | Network dispatcher: A connection router for scalable internet services | |
US9577892B2 (en) | Systems and methods for providing monitoring in a cluster system | |
JP3980596B2 (ja) | サーバを遠隔かつ動的に構成する方法およびシステム | |
US8756298B2 (en) | System for automatic configuration of computers in a server farm | |
US8533453B2 (en) | Method and system for configuring a server and dynamically loading SSL information | |
JP5782641B2 (ja) | 計算機システム及びパケット転送方法 | |
US20070162631A1 (en) | Method for selectable software-hardware internet SCSI | |
EP2140351B1 (en) | Method and apparatus for cluster data processing | |
WO2001090903A1 (en) | Apparatus, system, and method for balancing loads to network servers | |
WO2012131428A1 (en) | Method, apparatus and computer program product for updating load balancer configuration data | |
JP2006174374A (ja) | 中継システム | |
Ke et al. | Load balancing using P4 in software-defined networks | |
CN110597783A (zh) | 数据库管理方法、装置、设备及存储介质 | |
CN111092942B (zh) | 报文处理方法、装置、电子设备及存储介质 | |
CN113271260B (zh) | 负载均衡处理方法、装置、设备及存储介质 | |
JPH1027146A (ja) | 通信処理装置及び通信処理方法 | |
CN115174675B (zh) | 一种kafka服务访问方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
MM4A | Annulment or lapse of patent due to non-payment of fees |