[go: up one dir, main page]

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 PDF

Info

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
Application number
TW092116987A
Other languages
English (en)
Other versions
TW200414028A (en
Inventor
John B Abjanic
Original Assignee
Intel Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Intel Corp filed Critical Intel Corp
Publication of TW200414028A publication Critical patent/TW200414028A/zh
Application granted granted Critical
Publication of TWI230898B publication Critical patent/TWI230898B/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation 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/5055Allocation 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation 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/5044Allocation 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation 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/505Allocation 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/509Offload

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
TW092116987A 2002-06-24 2003-06-23 Method and apparatus for off-load processing of a message stream TWI230898B (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

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