TWI570628B - 負載均衡方案 - Google Patents
負載均衡方案 Download PDFInfo
- Publication number
- TWI570628B TWI570628B TW102146750A TW102146750A TWI570628B TW I570628 B TWI570628 B TW I570628B TW 102146750 A TW102146750 A TW 102146750A TW 102146750 A TW102146750 A TW 102146750A TW I570628 B TWI570628 B TW I570628B
- Authority
- TW
- Taiwan
- Prior art keywords
- cache
- load
- load balancing
- request
- programmable processors
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/5083—Techniques for rebalancing the load in a distributed system
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1004—Server selection for load balancing
- H04L67/1008—Server selection for load balancing based on parameters of servers, e.g. available memory or workload
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/568—Storing data temporarily at an intermediate stage, e.g. caching
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/12—Protocol engines
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/172—Caching, prefetching or hoarding of files
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/957—Browsing optimisation, e.g. caching or content distillation
- G06F16/9574—Browsing optimisation, e.g. caching or content distillation of access to content, e.g. by caching
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/45—Caching of specific data in cache memory
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Debugging And Monitoring (AREA)
Description
負載均衡為一種用於跨越多個電腦或電腦群、網路鏈路、中央處理單元、磁碟機或其他資源分配工作負載以達成資源利用最佳化、輸送量最大化、回應時間最小化以及避免超載之電腦網路連接方法。隨著大量使用者共用雲端資料中心上之相對大規模資料的應用的增加,可能需要負載均衡器來有效率地處理運算節點與儲存節點之間的資料訊務。
在一實例中,一種負載均衡器可包括多個請求處理單元,每一請求處理單元包含連接至至少一應用程式伺服器及至少一快取伺服器之一網路通訊端,及經組態以處理來自該至少一應用程式伺服器中之一者的一快取請求的一可程式化處理器。該負載均衡器進一步包含經組態以量測該等可程式化處理器之處理負載的一效能檢查單元,及經組態以藉由在該等可程式化處理器中之至少一者中寫入或刪除一負載均衡程式來調整該等處理負載的一處理器管理單元。
在另一實例中,一種在包括多個可程式化處理器之一負載均衡器之控制下執行的方法可包括:接收來自至少一應用程式伺服器中之一者的一快取請求;藉由指定至少一快取伺服器中之一者將處置該快取請求之一負載均衡程式寫入至該複數個可程式化處理器中之一者中;及將該至少一快取伺服器中對應於該快取請求之該者之一位址傳
輸至該至少一應用程式伺服器中之該者。
在又一實例中,一種電腦可讀儲存媒體可在其上儲存電腦可執行指令,該等電腦可執行指令回應於執行而使得包括多個可程式化處理器之一負載均衡器執行包括以下各者之操作:接收來自至少一應用程式伺服器中之一者的一快取請求;藉由指定至少一快取伺服器中之一者將處置該快取請求之一負載均衡程式寫入至該複數個可程式化處理器中之一者中;及將該至少一快取伺服器中對應於該快取請求之該者之一位址傳輸至該至少一應用程式伺服器中之該者。
前述概述內容僅為說明性的且不意欲以任何方式進行限制。除上文所描述之說明性態樣、實施例及特徵之外,藉由參考圖式及以下詳細描述,其他態樣、實施例及特徵將變得顯而易見。
110-1‧‧‧使用者器件
110-2‧‧‧使用者器件
110-3‧‧‧使用者器件
110-p‧‧‧使用者器件
120-1‧‧‧應用程式伺服器
120-2‧‧‧應用程式伺服器
120-m‧‧‧應用程式伺服器
130‧‧‧資料庫伺服器
140‧‧‧連接處理常式
150-1‧‧‧快取伺服器
150-2‧‧‧快取伺服器
150-n‧‧‧快取伺服器
160‧‧‧負載均衡器
210-1‧‧‧請求處理單元
210-2‧‧‧請求處理單元
210-r‧‧‧請求處理單元
220‧‧‧記憶體
230‧‧‧資料庫
240‧‧‧處理器管理單元
250‧‧‧效能檢查單元
260‧‧‧編譯器
270-1‧‧‧可程式化處理器
270-2‧‧‧可程式化處理器
270-r‧‧‧可程式化處理器
280-1‧‧‧網路通訊端
280-2‧‧‧網路通訊端
280-r‧‧‧網路通訊端
500‧‧‧程式產品
502‧‧‧信號承載媒體
504‧‧‧指令
506‧‧‧電腦可讀媒體
508‧‧‧可記錄媒體
510‧‧‧通信媒體
600‧‧‧運算器件
602‧‧‧基本組態
604‧‧‧處理器
606‧‧‧系統記憶體
608‧‧‧記憶體匯流排
610‧‧‧層級1快取記憶體
612‧‧‧層級2快取記憶體
614‧‧‧處理器核心
616‧‧‧暫存器
618‧‧‧記憶體控制器
620‧‧‧作業系統
622‧‧‧應用程式
624‧‧‧程式資料
626‧‧‧指令
630‧‧‧匯流排/介面控制器
632‧‧‧資料儲存器件
634‧‧‧儲存介面匯流排
636‧‧‧卸除式儲存器件
638‧‧‧非卸除式儲存器件
640‧‧‧介面匯流排
642‧‧‧輸出器件
644‧‧‧周邊介面
646‧‧‧通信器件
648‧‧‧圖形處理單元
650‧‧‧音訊處理單元
652‧‧‧A/V埠
654‧‧‧串列介面控制器
656‧‧‧並列介面控制器
658‧‧‧I/O埠
660‧‧‧網路控制器
662‧‧‧運算器件
664‧‧‧通信埠
本發明之前述及其他特徵將自結合隨附圖式進行之以下描述及所附申請專利範圍而變得更顯而易見。應理解,此等圖式僅描繪根據本發明之若干實施例,且因此此等圖式不應被視為對本發明之範疇之限制,將經由使用隨附圖式來額外特別地且詳細地描述本發明,其中:圖1示意性地展示根據本文中所描述之至少一些實施例配置之環境的說明性實例,其中負載均衡器在多個應用程式伺服器與多個快取伺服器之間提供負載均衡方案;圖2展示根據本文中所描述之至少一些實施例配置之負載均衡器的說明性實例的示意性方塊圖;圖3展示根據本文中所描述之至少一些實施例配置的用於提供負載均衡方案之處理程序的實例流程圖;圖4展示根據本文中所描述之至少一些實施例配置的用於將負載均衡程式寫入至可程式化處理器中之處理程序的實例流程圖;
圖5說明根據本文中所描述之至少一些實施例配置的可用以提供負載均衡方案之電腦程式產品;及圖6為說明根據本文中所描述之至少一些實施例配置的可用以提供負載均衡方案之實例運算器件的方塊圖。
在以下詳細描述中,參考形成其一部分之隨附圖式。在圖式中,除非另有指示,否則類似符號通常識別類似組件。在詳細描述、圖式及申請專利範圍中所描述之說明性實施例不意欲為限制性的。在不脫離本文中所呈現之標的物之精神或範疇的情況下,可利用其他實施例,且可作出其他改變。將容易理解,可在廣泛多種不同組態中配置、取代、組合、分離及設計如本文中大體描述及圖式中說明的本發明之態樣,所有此等情形明確地涵蓋在本文中。
本發明大體而言尤其涉及與負載均衡方案相關之方法、裝置、系統、器件及電腦程式產品。另外,大體上描述針對經組態以在多個應用程式伺服器與多個快取伺服器之間提供負載均衡的負載均衡器的技術。
在一些實施例中,以雲端為基礎之網路系統可包括至少三個伺服器層,包括(例如):經組態以處置來自使用者器件之請求的多個應用程式伺服器、經組態以處置用於多個應用程式伺服器之資料快取的多個快取伺服器,及經組態以儲存及提供資料以供多個應用程式伺服器使用之一雲端資料庫伺服器。在此等狀況下,負載均衡器可經組態以在多個應用程式伺服器與多個快取伺服器之間均衡負載,從而解決多個應用程式伺服器與多個快取伺服器之間的通信瓶頸。
負載均衡器可在其上使用連接至各別網路通訊端之多個可程式化處理器。負載均衡器可動態地將用於執行負載均衡之負載均衡程式寫入至可程式化處理器中之一者中。在一些實施例中,可經由多個應
用程式伺服器中之一者來執行一應用程式,且多個應用程式伺服器中之該者可向負載均衡器請求關於該應用程式之執行的資料。在此等狀況下,負載均衡器可將一負載均衡程式寫入至可程式化處理器中之一者中,該負載均衡程式為根據該應用程式之一或多個特性的一應用程式特定程式。該應用程式之該一或多個特性可由應用程式之類型來決定(例如,該應用程式是否為電子郵件應用程式、遊戲應用程式、提供SNS服務之應用程式、電子書應用程式、地圖應用程式、視訊播放應用程式等等)。以實例說明而非限制,視訊播放應用程式或遊戲應用程式可藉由以下情形來特徵化:與電子郵件應用程式及提供SNS服務之應用程式相比較而言,視訊播放應用程式或遊戲應用程式需要更多資料傳輸。可能需要負載均衡程式來處置考慮此等特性之應用程式。
以實例說明而非限制,當使用者器件執行應用程式以用於播放儲存於雲端資料庫伺服器中之視訊時,一對應應用程式伺服器可向負載均衡器請求儲存於雲端資料庫伺服器中之該視訊。接著,負載均衡器可將一負載均衡程式寫入至多個可程式化處理器中之一者中,該負載均衡程式之類型適於在多個快取伺服器中之一者中快取視訊從而使得使用者器件有可能平滑地播放視訊。在一些其他實例中,當使用者器件經由對應應用程式伺服器執行用於社交網路連接服務(或「SNS」)之應用程式時,負載均衡器可先行將一負載均衡程式寫入至多個可程式化處理器中之一者中,該負載均衡程式之類型適於優先將供大量使用者檢視之資訊資料儲存於多個快取伺服器中之一者中。藉由此定製之負載均衡,可能有可能根據應用程式之一或多個特性來有效率地管理資料快取。
在一些實施例中,負載均衡器可量測多個可程式化處理器中之每一者之處理負載。當處理負載集中於特定可程式化處理器上時,負
載均衡器可藉由將一對應負載均衡程式寫入至多個可程式化處理器中之一或多者中來增加用於處理負載之可程式化處理器的數目。或者,當用於處理負載之可程式化處理器展現低負載均衡成本時,亦即,當可程式化處理器之剩餘運算能力比較大時,負載均衡器可減少用於處理負載之可程式化處理器之數目。以此方式,可自動地調整經分配用於特定處理負載之可程式化處理器之數目。
圖1示意性地展示根據本文中所描述之至少一些實施例配置之環境的說明性實例,其中負載均衡器在多個應用程式伺服器與多個快取伺服器之間提供負載均衡方案。如圖1中所描繪,使用者器件110-1、110-2、110-3,...,110-p中之一者可經由連接處理常式140向應用程式伺服器120-1、120-2,...,120-m中之一者發送針對應用程式相關資料之一請求,該應用程式相關資料可儲存於資料庫伺服器130中。另外,快取伺服器150-1、150-2,...,150-n中之一者可快取來自資料庫伺服器130之應用程式相關資料,且負載均衡器160可處理針對應用程式相關資料之請求。以實例說明而非限制,該請求可包括超文字傳送協定(HTTP)請求,諸如,HTTP GET請求或HTTP POST請求。
在一些實施例中,連接處理常式140可將來自使用者器件110-1、110-2、110-3、...、110-p中之該者的請求分配或指派給應用程式伺服器120-1、120-2,...,120-m中之適當應用程式伺服器。在一些實施例中,連接處理常式140可至少部分基於應用程式伺服器120-1、120-2,...,120-m之處理負載來分配或指派請求。
在一些實施例中,資料庫伺服器130可儲存用於各種應用程式之資料,且快取伺服器150-1、150-2,...,150-n可快取儲存於資料庫伺服器130中之資料中之至少一些資料。以實例說明而非限制,資料庫伺服器130可為雲端資料中心,且快取伺服器150-1、150-2,...,150-n可為記憶體內快取伺服器。
在一些實施例中,負載均衡器160可在其上使用多個可程式化處理器(圖1中未展示),該多個可程式化處理器可分別連接至網路通訊端(圖1中未展示)。負載均衡器160可動態地將用於執行負載均衡之負載均衡程式寫入至多個可程式化處理器中之一者中。在此等狀況下,負載均衡程式可為對應於應用程式之一或多個特性之應用程式特定程式。負載均衡程式可為判定如何在快取伺服器150-1、150-2,...,150-n中儲存資料之程式。當單一快取伺服器儲存超出記憶體儲存容量之資料時,使用多個快取伺服器150-1、150-2,...,150-n。為了改良對應用程式之回應性,可選擇性地將很可能用於快取伺服器150-1、150-2,...,150-n之資料維持在快取記憶體中。然而,因為可能難以預測某些資料經過多長時間後將不再供應用程式所使用,所以負載均衡器160可使用反映應用程式之一或多個特性之負載均衡程式來執行負載均衡。以實例說明而非限制,該一或多個特性可包括應用程式之資料存取趨勢,其可指應用程式每隔多久請求儲存於資料庫伺服器130中之資料,或應用程式向資料庫伺服器130請求之資料之種類(例如,文件、音訊、視訊、影像等)。
在一些實施例中,負載均衡器160可自動地量測多個可程式化處理器中之每一者之負載。當特定可程式化處理器(其正處理來自應用程式之請求)之負載超過臨限值時(例如,當負載均衡成本超過I/O成本及/或應用程式成本時),可增加經指派給來自應用程式之請求的可程式化處理器之數目。但是,當處理來自應用程式之請求的可程式化處理器展示低負載均衡成本時(亦即,可程式化處理器之剩餘運算能力較大時),可減少經分配用於應用程式之負載均衡處理的可程式化處理器之數目。以此方式,可自動地調整分配給每一應用程式之可程式化處理器之數目。
圖2展示根據本文中所描述之至少一些實施例配置之負載均衡器
160的說明性實例的示意性方塊圖。如圖所描繪,負載均衡器160可包含:多個請求處理單元210-1、210-2,...,210-r;記憶體220;資料庫230;處理器管理單元240;效能檢查單元250;及編譯器260。儘管經說明為離散組件,但可將各種組件劃分成額外組件,將各種組件組合成較少組件,或完全消除各種組件,但其仍涵蓋在所揭示之標的物之範疇內。
請求處理單元210-1、210-2,...,210-r中之每一者可包括一可程式化處理器270-1、270-2,...,或270-r及一網路通訊端280-1、280-2,...,或280-r。可程式化處理器270-1、270-2,...,270-r中之每一者可經組態以處理來自應用程式伺服器120-1、120-2,...,120-m中之一者的快取請求。在一些實施例中,可程式化處理器270-1、270-2,...,270-4中之每一者可關於快取請求之特性分析快取請求且,如下文將更詳細描述,將分析結果提供給處理器管理單元240,以使得處理器管理單元240可根據該等特性選擇適於處理快取請求之負載均衡程式。以實例說明而非限制,可程式化處理器270-1、270-2,...,270-r可為場可程式化閘陣列(FPGA)。網路通訊端280-1、280-2,...,280-r中之每一者可連接至應用程式伺服器120-1、120-2,...,120-m中之一或多者及快取伺服器150-1、150-2,...,150-n中之一或多者。
記憶體220可儲存多個負載均衡程式以用於處理來自應用程式伺服器120-1、120-2,...,120-m中之一或多者的快取請求。以實例說明而非限制,該多個負載均衡程式可為根據應用程式之一或多個特性之應用程式特定程式。負載均衡程式中之每一者判定如何將資料儲存於快取伺服器150-1、150-2,...,150-n中之一或多者中。
在一些實施例中,網路通訊端280-1、280-2,...,280-r中之每一者可接收來自應用程式伺服器120-1、120-2,...,120-m中之一或多者的快取請求,且可程式化處理器270-1、270-2,...,270-r中之每一
者可分析快取請求。以實例說明而非限制,可程式化處理器270-1、270-2,...,270-r可分析快取請求且檢查是否存在儲存有與該快取請求相關之資料的快取伺服器(在快取伺服器150-1、150-2,...,150-n當中)。若存在儲存有與該快取請求相關之資料的快取伺服器,則將對應快取伺服器(在快取伺服器150-1、150-2,...,150-n當中)之IP位址傳回至應用程式伺服器120-1、120-2,...,120-m中之一或多者。另一方面,若不存在儲存對應於該快取請求之資料之快取伺服器,則將空值(NULL)傳回至應用程式伺服器120-1、120-2,...,120-m中之一或多者。
資料庫230可經組態以記錄關於快取請求與儲存對應於該快取請求之資料的快取伺服器(在快取伺服器150-1、150-2,...,150-n當中)之間的關係的資訊。以實例說明而非限制,當快取伺服器150-1儲存與來自應用程式伺服器120-1之快取請求相關的資料時,可將包括快取請求之關係資訊、應用程式伺服器120-1之IP位址及快取伺服器150-1之IP位址的資料封包記錄於資料庫230中。
處理器管理單元240可藉由在可程式化處理器270-1、270-2,...,270-r中之一或多者中寫入或刪除一負載均衡程式來調整處理負載。在一些實施例中,當由於不存在對應於快取請求之快取伺服器而傳回空值(NULL)時,處理器管理單元240可藉由指定快取伺服器150-1、150-2,...,150-n中之一或多者將處置快取請求之負載均衡程式寫入至可程式化處理器270-1、270-2,...,270-r中之一者中。此後,對應可程式化處理器(在可程式化處理器270-1、270-2,...,270-r當中)可將快取伺服器150-1、150-2,...,150-n中之一或多者之一或多個IP位址發送至應用程式伺服器120-1、120-2,...,120-m中傳輸該快取請求之該者。
在一些實施例中,由處理器管理單元240寫入至可程式化處理器
270-1、270-2,...,270-r中之該者中的負載均衡程式可為至少部分基於由可程式化處理器270-1、270-2,...,或270-r中之該者進行的對快取請求之分析而判定的應用程式特定程式。以實例說明而非限制,可程式化處理器270-1、270-2,...,270-r中之該者可分析快取請求且判定該快取請求與一視訊傳輸服務相關,且處理器管理單元240可先行將一負載均衡程式(在儲存於記憶體220中之多個負載均衡程式當中)寫入至可程式化處理器270-1、270-2,...,270-r中之該者中,該負載均衡程式之類型適於將移動圖片儲存於快取伺服器中。
效能檢查單元250可經組態以量測可程式化處理器270-1、270-2,...,270-r之處理負載。在一些實施例中,效能檢查單元250可比較可程式化處理器270-1、270-2,...,270-r中之每一者之處理負載與一預定值。以實例說明而非限制,該預定值可為I/O成本或應用程式成本(無論哪個較小),或可為I/O成本與應用程式成本之總和。處理管理單元240可接著至少部分基於該比較而調整每一可程式化處理器270-1、270-2,...,270-r之負載。亦即,效能檢查單元250可量測可程式化處理器270-1、270-2,...,270-r中之每一者之輸送量,且若偵測到某一時間量之延遲,則處理管理單元240可改變指派給對應應用程式之可程式化處理器270-1、270-2,...,270-r之數目。
編譯器260可將負載均衡程式轉譯成表示可程式化處理器270-1、270-2,...,270-r之組態資訊的位元串流。在一些實施例中,回應於來自效能檢查單元250之請求,處理器管理單元240可自記憶體220中獲取用於應用程式之負載均衡程式,且將該負載均衡程式寫入於可程式化處理器270-1、270-2,...,270-r中之一或多者中。以實例說明而非限制,編譯器260可將以HDL撰寫之負載均衡程式轉譯成表示可程式化處理器270-1、270-2,...,270-r中之一或多者之組態資訊的位元串流。
圖3展示根據本文中所描述之至少一些實施例配置的用於提供負載均衡方案之處理程序的實例流程圖。圖3中之方法可在負載均衡器160中實施或由負載均衡器160來實施,負載均衡器160可包括:上文所論述的多個請求處理單元210-1、210-2,...,210-r;記憶體220;資料庫230;處理器管理單元240;效能檢查單元250;及編譯器260。實例處理程序可包括如藉由一或多個區塊S300、S310、S320、S330、S340、S350、S360、S370及/或S380說明之一或多個操作、動作或功能。儘管經說明為離散區塊,但可取決於所要之實施將各種區塊劃分成額外區塊,將各種區塊組合成較少區塊,或消除各種區塊。在下文關於圖3之描述中,為了便於解釋,主要使用請求處理單元210-1(包括可程式化處理器270-1及網路通訊端280-1)、應用程式伺服器120-1及快取伺服器150-1來描述該處理程序。然而,熟習此項技術者將瞭解,亦可藉由其他組件來實施該處理程序。處理可在區塊S300處開始。
在區塊S300(接收快取請求)處,請求處理單元210-1可經由網路通訊端280-1接收來自應用程式伺服器120-1之快取請求。以實例說明而非限制,該快取請求可包括超文字傳送協定(HTTP)請求,諸如,HTTP GET請求或HTTP POST請求。處理可自區塊S300繼續至區塊S310。
在決策區塊S310(判定是否存在關於快取請求之資料)處,請求處理單元210-1可判定對應於快取請求之資料是否存在於快取伺服器150-1、150-2,...,150-n中。在該判定為否定判定時,處理可自區塊S310繼續至區塊S320;或在該判定為肯定判定時,處理可自區塊S310繼續至區塊S330。
在區塊S320(寫入負載均衡程式)處,當判定關於快取請求之資料並不存在於快取伺服器150-1、150-2,...,150-n中時,處理器管理
單元240可藉由指定可用於處置快取請求之快取伺服器150-1將可處置快取請求之負載均衡程式寫入至可程式化處理器270-1中。處理可自區塊S320繼續至區塊S330。
在區塊S330(傳輸快取伺服器之位址)處,可程式化處理器270-1可將由可程式化處理器270-1指定之快取伺服器150-1之位址傳輸至應用程式伺服器120-1。在一些實施例中,若關於快取請求之資料存在於快取伺服器150-1、150-2,...,150-n中之一者中,則可程式化處理器270-1可將快取伺服器150-1、150-2,...,或150-n中儲存關於快取請求之資料之該者的位址傳輸至應用程式伺服器120-1。處理可自區塊S330繼續至區塊S340。
在區塊S340(量測處理負載)處,效能檢查單元250可量測可程式化處理器270-1之處理負載。處理可自區塊S340繼續至區塊S350。
在區塊S350(比較處理負載)處,效能檢查單元250可比較該處理負載與一預定值。處理可自區塊S350繼續至區塊S360。
在區塊S360(判定處理負載是否大於預定值)處,效能檢查單元250可判定處理負載是否大於預定值。以實例說明而非限制,該預定值可為I/O成本或應用程式成本(無論哪個較小),或可為I/O成本與應用程式成本之總和。處理可自區塊S360繼續至區塊S370或S380。
在區塊S370(增加可程式化處理器之數目)處,若處理負載大於預定值,則處理器管理單元240可增加經指派用於來自應用程式伺服器120-1之快取請求的可程式化處理器之數目。在一些實施例中,處理器管理單元240可藉由簡單地自可程式化處理器270-1複製負載均衡程式並將其寫入至另一可程式化處理器中來增加用於快取請求之可程式化處理器的數目。以實例說明而非限制,編譯器260可將以HDL撰寫之負載均衡程式轉譯成表示另一可程式化處理器之組態資訊的位元串流。
在區塊S380(減少可程式化處理器之數目)處,若處理負載不大於預定值,則處理器管理單元240可減少經指派用於來自應用程式伺服器120-1之快取請求的可程式化處理器之數目。在一些實施例中,處理器管理單元可藉由簡單地刪除可程式化處理器270-1中之負載均衡程式來減少用於快取請求之可程式化處理器的數目。
圖4展示根據本文中所描述之至少一些實施例配置的用於將負載均衡程式寫入至可程式化處理器中之處理程序的實例流程圖。圖4中之方法可在負載均衡器160中實施或由負載均衡器160來實施,負載均衡器160可包括:上文所論述的多個請求處理單元210-1、210-2,...,210-r;記憶體220;資料庫230;處理器管理單元240;效能檢查單元250;及編譯器260。實例處理程序可包括如藉由一或多個區塊S400、S410、S420及/或S430說明之一或多個操作、動作或功能。彼等區塊為圖3中之區塊S320的子區塊,且因此,下文之描述可關於及/或基於上文關於圖3之描述。儘管經說明為離散區塊,但可取決於所要實施而將各種區塊劃分成額外區塊,將各種區塊組合成較少區塊,或消除各種區塊。處理可在區塊S400處開始。
在區塊S400(分析快取請求)處,可程式化處理器270-1可分析來自應用程式伺服器120-1之快取請求。處理可自區塊S400繼續至區塊S410。
在區塊S410(判定負載均衡程式)處,處理器管理單元240可至少部分基於可程式化處理器270-1之分析而自儲存於記憶體220中之多個負載均衡程式中選擇一負載均衡程式。以實例說明而非限制,當快取請求與SNS服務相關(作為分析之結果)時,處理器管理單元240可選擇一負載均衡程式,該負載均衡程式之類型適於優先快取快取伺服器中供大量使用者使用及/或訂用之資訊。處理可自區塊S410繼續至區塊S420。
在區塊S420(轉譯負載均衡程式)處,編譯器260可將由處理器管理單元240選擇之負載均衡程式轉譯成表示可程式化處理器270-1之組態資訊的位元串流。處理可自區塊S420繼續至區塊S430。
在區塊S430(寫入負載均衡程式)處,處理器管理單元240可將由處理器管理單元240判定且由編譯器260轉譯之負載均衡程式寫入至可程式化處理器270-1中。
熟習此項技術者將瞭解,對於此處理程序及方法以及本文中揭示之其他處理程序及方法,可以不同次序來實施在該等處理程序及方法中執行之功能。此外,所概述之步驟及操作僅作為實例來提供,且在不脫離所揭示之實施例之本質的情況下,一些步驟及操作可為可選的,一些步驟及操作可組合成較少步驟及操作,或一些步驟及操作可擴展至額外步驟及操作。
圖5說明根據本文中所描述之至少一些實施例配置的可用以提供負載均衡方案之電腦程式產品。程式產品500可包括信號承載媒體502。信號承載媒體502可包括一或多個指令504,當該一或多個指令由(例如)處理器執行時,可提供上文關於圖1至圖4所描述之功能性。以實例說明,指令504可包括用於進行以下操作之一或多個指令:接收來自至少一應用程式伺服器中之一者的快取請求,藉由指定至少一快取伺服器中之一者將處置該快取請求之負載均衡程式寫入至該複數個可程式化處理器中之一者中,及將該至少一快取伺服器中儲存對應於快取請求之資料之該者的位址傳輸至該至少一應用程式伺服器中之該者。因此,例如,參看圖2,負載均衡器160可回應於指令504而承擔圖3中所展示之區塊中之一或多者。
在一些實施中,信號承載媒體502可包括電腦可讀媒體506,包括(但不限於)硬碟機、CD、DVD、數位磁帶、記憶體等。在一些實施中,信號承載媒體502可包括可記錄媒體508,包括(但不限於)記憶
體、讀取/寫入(R/W)CD、R/W DVD等。在一些實施中,信號承載媒體502可包括通信媒體510,包括(但不限於)數位及/或類比通信媒體(例如,光纜、波導、有線通信鏈路、無線通信鏈路等)。因此,例如,可藉由RF信號承載媒體502將程式產品500輸送至負載均衡器160之一或多個模組,其中信號承載媒體502係藉由無線通信媒體510(例如,符合IEEE702.11標準之無線通信媒體)來輸送。
圖6為說明根據本文中所描述之至少一些實施例配置的可用以提供負載均衡方案之實例運算器件的方塊圖。在非常基本之組態602中,運算器件600通常包括一或多個處理器604及一系統記憶體606。記憶體匯流排608可用於在處理器604與系統記憶體606之間進行通信。
取決於所要組態,處理器604可為任何類型,包括(但不限於)微處理器(μP),微控制器(μC),數位信號處理器(DSP),或其任何組合。處理器604可包括一或多級快取,諸如層級1快取記憶體610及層級2快取記憶體612、處理器核心614,及暫存器616。實例處理器核心614可包括算術邏輯單元(ALU)、浮點單元(FPU)、數位信號處理核心(DSP核心),或其任何組合。實例記憶體控制器618亦可用於處理器604中,或在一些實施中,記憶體控制器618可為處理器604之內部部分。
取決於所要組態,系統記憶體606可為任何類型,包括(但不限於)揮發性記憶體(諸如,RAM)、非揮發性記憶體(諸如,ROM、快閃記憶體,等等),或其任何組合。系統記憶體606可包括作業系統620、一或多個應用程式622,及程式資料624。應用程式622可包括指令626,該等指令可經配置以執行如本文中所描述之功能,包括關於如圖3中所展示之負載均衡器160架構所描述之動作或包括關於圖3及圖4中所展示之流程圖所描述之動作。在一些實例中,應用程式622可
經配置以在作業系統620上對程式資料624操作以用於進行如本文中所描述之電子器件之指令的實施。
運算器件600可具有額外特徵或功能性,及額外介面以促進基本組態602與任何所需器件及介面之間的通信。舉例而言,匯流排/介面控制器630可用以促進基本組態602與一或多個資料儲存器件632之間的經由儲存介面匯流排634進行之通信。資料儲存器件632可為卸除式儲存器件636、非卸除式儲存器件638,或其組合。僅舉例而言,卸除式儲存器件及非卸除式儲存器件之實例包括磁碟器件(諸如,軟磁碟機及硬碟機(HDD))、光碟機(諸如,緊密光碟(CD)機或數位影音光碟(DVD)機)、固態磁碟(SSD),及磁帶機。實例電腦儲存媒體可包括以任何方法或技術實施的用於儲存資訊(諸如,電腦可讀指令、資料結構、程式模組或其他資料)之揮發性及非揮發性、卸除式及非卸除式媒體。
系統記憶體606、卸除式儲存器件636及非卸除式儲存器件638為電腦儲存媒體之實例。電腦儲存媒體包括(但不限於)RAM、ROM、EEPROM、快閃記憶體或其他記憶體技術、CD-ROM、數位影音光碟(DVD)或其他光學儲存器件、匣式磁帶、磁帶、磁碟儲存器件或其他磁性儲存器件,或可用以儲存所要資訊且可由運算器件600存取之任何其他媒體。任何此等電腦儲存媒體可為運算器件600之部分。
運算器件600亦可包括介面匯流排640,其用於促進自各種介面器件(例如,輸出器件642、周邊介面644,及通信器件646)至基本組態602的經由匯流排/介面控制器630進行之通信。實例輸出器件642包括圖形處理單元648及音訊處理單元650,其可經組態以經由一或多個A/V埠652對諸如顯示器或揚聲器之各種外部器件進行通信。實例周邊介面644包括串列介面控制器654或並列介面控制器656,其可經組態以經由一或多個I/O埠658與諸如輸入器件(例如,鍵盤、滑鼠、
筆、語音輸入器件、觸控式輸入器件等)或其他周邊器件(例如,印表機、掃描器等)之外部器件進行通信。實例通信器件646包括網路控制器660,其可經配置以促進在網路通信鏈路上經由一或多個通信埠664進行的與一或多個其他運算器件662之通信。
網路通信鏈路可為通信媒體之一實例。通信媒體通常可藉由電腦可讀指令、資料結構、程式模組或經調變之資料信號中之其他資料(諸如,載波或其他輸送機制)來體現,且可包括任何資訊遞送媒體。「經調變之資料信號」可為以使得能夠編碼信號中之資訊之方式設定或改變其特性集中之一或多者的信號。以實例說明而非限制,通信媒體可包括諸如有線網路或直接佈線連接之有線媒體,及諸如聲學、射頻(RF)、微波、紅外線(IR)及其他無線媒體之無線媒體。如本文中所使用之術語「電腦可讀媒體」可包括儲存媒體與通信媒體兩者。
運算器件600可實施為小外觀尺寸攜帶型(或行動)電子器件之部分,諸如蜂巢式電話、個人資料助理(PDA)、個人媒體播放器件、無線webwatch器件、個人耳機器件、應用程式特定器件,或包括上述功能中之任一者的混合器件。運算器件600亦可實施為包括膝上型電腦與非膝上型電腦組態兩者之個人電腦。
本發明不欲依據本申請案中所描述之特定實施例而受限制,該等實施例意欲作為各種態樣之說明。如熟習此項技術者將顯而易見的,在不脫離本發明之精神及範疇之情況下,可作出許多修改及變化。除本文中所列舉之彼等方法及裝置之外,熟習此項技術者自前述描述將顯而易見在本發明之範疇內的功能上等效之方法及裝置。此等修改及變化意欲屬於所附申請專利範圍之範疇內。本發明將僅藉由所附申請專利範圍之條目以及此等申請專利範圍所賦予之完全等效範疇來限制。應理解,本發明不限於特定方法、試劑、化合物、組合物或生物系統,當然,前述各者可變化。亦應理解,本文中所使用之術語
僅用於描述特定實施例之目的,且不意欲為限制性的。
關於本文中對實質上任何複數及/或單數條目之使用,熟習此項技術者可按適於上下文及/或應用之方式自複數轉譯成單數及/或自單數轉譯成複數。為了清晰起見,本文中可能明確地闡述各種單數/複數排列。
熟習此項技術者應理解,大體而言,本文中且尤其在所附申請專利範圍中使用之術語(例如,所附申請專利範圍之主體)大體意欲為「開放性」術語(例如,術語「包括(including)」應被解譯為「包括(但不限於)」,術語「具有」應被解譯為「至少具有」,術語「包括(includes)」應被解譯為「包括(但不限於)」等等)。熟習此項技術者應進一步理解,若意欲進行特定數目個所引入之技術方案敍述,則將在技術方案中明確地敍述此意圖,且在不存在此敍述之情況下,不存在此意圖。舉例而言,為便於理解,以下所附申請專利範圍可含有對引導性片語「至少一」及「一或多個」之使用以引入技術方案敍述。然而,此等片語之使用不應被解釋為暗示:藉由不確定量詞「一(a或an)」引入之技術方案敍述將含有此引入之技術方案敍述之任何特定技術方案限於僅含有一個此敍述之實施例,甚至在相同技術方案包括引導性片語「一或多個」或「至少一」及不確定量詞(諸如「一(a或an)」)(例如,「一(a及/或an)」應被解譯為意謂「至少一」或「一或多個」)時亦如此;對於使用確定量詞來引入技術方案敍述之使用,相同情形保持成立。另外,即使明確地敍述特定數目個所引入之技術方案敍述,熟習此項技術者亦應認識到,此敍述應被解譯為意謂至少所敍述之數目(例如,無其他修飾詞之「兩個敍述」之無修飾敍述,意謂至少兩個敍述,或兩個或兩個以上敍述)。此外,在使用類似於「A、B及C等中之至少一者」之慣例之例子中,大體而言,此構造意欲按熟習此項技術者通常理解該慣例之意義來理解(例如,「具有A、
B及C中之至少一者之系統」將包括(但不限於)具有單獨A之系統、具有單獨B之系統、具有單獨C之系統、具有A與B之系統、具有A與C之系統、具有B與C之系統,及/或具有A、B及C之系統,等等)。在使用類似於「A、B或C等中之至少一者」之慣例之例子中,大體而言,此構造意欲按熟習此項技術者通常理解該慣例之意義來理解(例如,「具有A、B或C中之至少一者之系統」將包括(但不限於)具有單獨A之系統、具有單獨B之系統、具有單獨C之系統、具有A與B之系統、具有A與C之系統、具有B與C之系統,及/或具有A、B及C之系統,等等)。熟習此項技術者應進一步理解,呈現兩個或兩個以上交替條目之實質上任何分離詞及/或片語(無論在描述中,在申請專利範圍中,抑或在圖式中)應被理解為,涵蓋包括條目中之一者、條目中之任一者或兩個條目之可能性。舉例而言,片語「A或B」應被理解為包括「A」或「B」或「A與B」之可能性。
另外,在依據馬庫什(Markush)群組描述本發明之特徵或態樣之情況下,熟習此項技術者將認識到,亦藉此依據馬庫什群組之任何個別成員或成員子群組來描述本發明。
如熟習此項技術者將理解,為了諸如依據提供書面描述進行之任何及所有目的,本文中所揭示之所有範圍亦涵蓋其任何及所有可能之子範圍及子範圍之組合。任何所列之範圍可容易地辨識為足夠描述及實現將相同範圍分裂成至少相等之二分之一、三分之一、四分之一、五分之一、十分之一等。作為非限制性實例,本文中所論述之每一範圍可容易地分裂成下三分之一、中間三分之一及上三分之一等。如熟習此項技術者亦將理解,諸如「直至」、「至少」及其類似者之所有語言包括所敍述之數目且指可隨後分裂成如上文所論述之子範圍之範圍。最後,如熟習此項技術者將理解,範圍包括每一個別成員。因此,例如,具有1至3個單元之群組指具有1個、2個或3個單元之群
組。類似地,具有1至5個單元之群組指具有1個、2個、3個、4個或5個單元之群組,等等。
根據前述內容,應瞭解,本文中已出於說明之目的而描述本發明之各種實施例,且在不脫離本發明之範疇及精神之情況下,可作出各種修改。因此,本文中所揭示之各種實施例不意欲為限制性的,其真實範疇及精神藉由以下申請專利範圍來指示。
160‧‧‧負載均衡器
210-1‧‧‧請求處理單元
210-2‧‧‧請求處理單元
210-r‧‧‧請求處理單元
220‧‧‧記憶體
230‧‧‧資料庫
240‧‧‧處理器管理單元
250‧‧‧效能檢查單元
260‧‧‧編譯器
270-1‧‧‧可程式化處理器
270-2‧‧‧可程式化處理器
270-r‧‧‧可程式化處理器
280-1‧‧‧網路通訊端
280-2‧‧‧網路通訊端
280-r‧‧‧網路通訊端
Claims (24)
- 一種負載均衡器,其包含:複數個請求處理單元,該複數個請求處理單元中之每一者包含:一網路通訊端(socket),其連接至至少一應用程式伺服器及至少一快取伺服器,及一可程式化處理器,其經組態以處理來自該至少一應用程式伺服器中之一者之一快取請求;一效能檢查單元,其經組態以量測該可程式化處理器之處理負載;及一處理器管理單元,其經組態以藉由在該可程式化處理器中寫入或刪除一負載均衡程式來調整該等經量測處理負載。
- 如請求項1之負載均衡器,其中該可程式化處理器為一場可程式化閘陣列(FPGA)。
- 如請求項1之負載均衡器,其進一步包含:一記憶體,其經組態以儲存複數個負載均衡程式,其中該等網路通訊端各自經組態以接收該快取請求,且該等可程式化處理器經進一步組態以分析該快取請求,且其中該處理器管理單元經進一步組態以至少部分基於對該快取請求之該分析而自該複數個負載均衡程式中選擇該負載均衡程式。
- 如請求項1之負載均衡器,其中該等可程式化處理器經進一步組態以檢查對應於該快取請求之資料是否存在於該至少一快取伺服器中。
- 如請求項4之負載均衡器,其中該等可程式化處理器經進一步組 態以:回應於判定對應於該快取請求之該資料存在於該至少一快取伺服器中,則將儲存對應於該快取請求之該資料的該快取伺服器之一位址傳輸至該至少一應用程式伺服器中之該者。
- 如請求項5之負載均衡器,其進一步包含:一資料庫,其經組態以記錄該快取請求與儲存對應於該快取請求之該資料的該快取伺服器之間的關係資訊。
- 如請求項4之負載均衡器,其中該處理器管理單元經進一步組態以:回應於判定對應於該快取請求之該資料不存在於該至少一快取伺服器中,則藉由指定該至少一快取伺服器中之一者在該等可程式化處理器中之一者中寫入處置該快取請求之該負載均衡程式,且其中該等可程式化處理器中之該者經組態以將藉由該負載均衡程式指定的該至少一快取伺服器中之該者的一位址傳輸至該至少一應用程式伺服器中之該者。
- 如請求項1之負載均衡器,其中該效能檢查單元經進一步組態以比較該等可程式化處理器中之每一者之處理負載與一預定值,且其中該處理管理單元經進一步組態以至少部分基於該比較而調整該等可程式化處理器中之每一者之該負載。
- 如請求項1之負載均衡器,其中該至少一快取伺服器連接至一雲端資料中心。
- 如請求項1之負載均衡器,其進一步包含:一編譯器,其經組態以將該負載均衡程式轉譯成表示該等可程式化處理器中之該至少一者之組態資訊的一位元串流,且其中該處理器管理單元經進一步組態以將該位元串流寫入於該等可程式化處理器中之該至少一者中。
- 一種在包括複數個可程式化處理器之一負載均衡器之控制下執 行的方法,其包含:接收來自至少一應用程式伺服器中之一者的一快取請求;量測該複數個可程式化處理器中之每一者之一處理負載;將至少部分基於該經量測處理負載而調整該處理負載之一負載均衡程式寫入至該複數個可程式化處理器中之一者中,該負載均衡程式藉由指定至少一快取伺服器中之一者而處置該快取請求;及將該至少一快取伺服器中對應於該快取請求之該者之一位址傳輸至該至少一應用程式伺服器中之該者。
- 如請求項11之方法,其進一步包含:判定對應於該快取請求之該資料是否存在於該至少一快取伺服器中。
- 如請求項11之方法,其進一步包含:比較該處理負載與一預定值;及至少部分基於該比較而調整該處理負載。
- 如請求項13之方法,其中該調整包含:將該負載均衡程式寫入至該複數個可程式化處理器中之至少一者中。
- 如請求項11之方法,其中該可程式化處理器為一場可程式化閘陣列(FPGA)。
- 如請求項11之方法,其中該至少一快取伺服器連接至一雲端資料中心。
- 如請求項11之方法,其進一步包含:將該快取請求與該至少一快取伺服器中之該者的關係資訊記錄於該負載均衡器之一資料庫中。
- 如請求項11之方法,其進一步包含:分析該快取請求;及 至少部分基於該分析而判定來自複數個負載均衡程式之該負載均衡程式。
- 如請求項11之方法,其進一步包含:將該負載均衡程式轉譯成表示該複數個可程式化處理器中之該者之組態資訊的一位元串流,其中該寫入包括將該位元串流寫入至該複數個可程式化處理器中之該者中。
- 一種電腦可讀儲存媒體,其具有儲存於其上之電腦可執行指令,該等電腦可執行指令回應於執行而使得包括複數個可程式化處理器之一負載均衡器執行操作,該等操作包含:接收來自至少一應用程式伺服器中之一者的一快取請求;量測該複數個可程式化處理器中之每一者之一處理負載;將至少部分基於該經量測處理負載而調整該處理負載之一負載均衡程式寫入至該複數個可程式化處理器中之一者中,該負載均衡程式藉由指定至少一快取伺服器中之一者而處置該快取請求;及將該至少一快取伺服器中對應於該快取請求之該者之一位址傳輸至該至少一應用程式伺服器中之該者。
- 如請求項20之電腦可讀儲存媒體,其中該可程式化處理器為一場可程式化閘陣列(FPGA)。
- 如請求項20之電腦可讀儲存媒體,其中該等操作進一步包含:比較該處理負載與一預定值;及至少部分基於該比較而調整該處理負載。
- 如請求項22之電腦可讀儲存媒體,其中該調整包含將該負載均衡程式寫入至該複數個可程式化處理器中之至少一者中。
- 如請求項20之電腦可讀儲存媒體,其中該等操作進一步包含: 分析該快取請求;及至少部分基於該分析而判定來自複數個負載均衡程式之該負載均衡程式。
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| PCT/US2012/070063 WO2014098790A1 (en) | 2012-12-17 | 2012-12-17 | Load balancing scheme |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| TW201443784A TW201443784A (zh) | 2014-11-16 |
| TWI570628B true TWI570628B (zh) | 2017-02-11 |
Family
ID=50932579
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| TW102146750A TWI570628B (zh) | 2012-12-17 | 2013-12-17 | 負載均衡方案 |
Country Status (4)
| Country | Link |
|---|---|
| US (1) | US9158593B2 (zh) |
| CN (1) | CN104871130B (zh) |
| TW (1) | TWI570628B (zh) |
| WO (1) | WO2014098790A1 (zh) |
Families Citing this family (28)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US10033693B2 (en) | 2013-10-01 | 2018-07-24 | Nicira, Inc. | Distributed identity-based firewalls |
| KR20150039524A (ko) * | 2013-10-02 | 2015-04-10 | 삼성전자주식회사 | 클라우드 시스템, 클라우드 시스템 제어 방법, 관리 서버 및 그 제어 방법 |
| WO2015145112A1 (en) * | 2014-03-28 | 2015-10-01 | British Telecommunications Public Limited Company | Data retrieval |
| CN104202254A (zh) * | 2014-08-14 | 2014-12-10 | 江苏省邮电规划设计院有限责任公司 | 一种基于云计算平台服务器智能负载均衡方法 |
| US9891940B2 (en) | 2014-12-29 | 2018-02-13 | Nicira, Inc. | Introspection method and apparatus for network access filtering |
| US10324746B2 (en) | 2015-11-03 | 2019-06-18 | Nicira, Inc. | Extended context delivery for context-based authorization |
| IL244937A (en) | 2016-04-05 | 2017-07-31 | Musman Lior | Global optimization and network load balancing |
| CN106155757A (zh) * | 2016-08-02 | 2016-11-23 | 合肥奇也信息科技有限公司 | 一种基于计算机编译并运行程序执行的方法 |
| US10938837B2 (en) | 2016-08-30 | 2021-03-02 | Nicira, Inc. | Isolated network stack to manage security for virtual machines |
| CN110168499B (zh) | 2016-12-06 | 2023-06-20 | Nicira股份有限公司 | 在主机上执行上下文丰富的基于属性的服务 |
| CN106713432B (zh) * | 2016-12-13 | 2019-11-05 | 深信服科技股份有限公司 | 数据缓存方法及网络代理设备 |
| CN106776024B (zh) * | 2016-12-13 | 2020-07-21 | 苏州浪潮智能科技有限公司 | 一种资源调度装置、系统和方法 |
| US10581960B2 (en) * | 2016-12-22 | 2020-03-03 | Nicira, Inc. | Performing context-rich attribute-based load balancing on a host |
| US10803173B2 (en) | 2016-12-22 | 2020-10-13 | Nicira, Inc. | Performing context-rich attribute-based process control services on a host |
| US11032246B2 (en) | 2016-12-22 | 2021-06-08 | Nicira, Inc. | Context based firewall services for data message flows for multiple concurrent users on one machine |
| US10812451B2 (en) | 2016-12-22 | 2020-10-20 | Nicira, Inc. | Performing appID based firewall services on a host |
| US10802858B2 (en) | 2016-12-22 | 2020-10-13 | Nicira, Inc. | Collecting and processing contextual attributes on a host |
| US10805332B2 (en) | 2017-07-25 | 2020-10-13 | Nicira, Inc. | Context engine model |
| US10721719B2 (en) * | 2017-06-20 | 2020-07-21 | Citrix Systems, Inc. | Optimizing caching of data in a network of nodes using a data mapping table by storing data requested at a cache location internal to a server node and updating the mapping table at a shared cache external to the server node |
| US10778651B2 (en) | 2017-11-15 | 2020-09-15 | Nicira, Inc. | Performing context-rich attribute-based encryption on a host |
| US10802893B2 (en) | 2018-01-26 | 2020-10-13 | Nicira, Inc. | Performing process control services on endpoint machines |
| US10862773B2 (en) | 2018-01-26 | 2020-12-08 | Nicira, Inc. | Performing services on data messages associated with endpoint machines |
| US10721295B2 (en) | 2018-07-24 | 2020-07-21 | Cisco Technology, Inc. | Popularity-based load-balancing for fog-cloud placement |
| CN109376013B (zh) * | 2018-10-11 | 2020-12-15 | 北京小米智能科技有限公司 | 负载均衡方法及装置 |
| CN112015695A (zh) * | 2019-05-31 | 2020-12-01 | 深圳市茁壮网络股份有限公司 | 一种文件缓存方法、系统及缓存系统 |
| CN110489397A (zh) * | 2019-08-09 | 2019-11-22 | 上海富欣智能交通控制有限公司 | 数据存储方法、装置及系统 |
| US11539718B2 (en) | 2020-01-10 | 2022-12-27 | Vmware, Inc. | Efficiently performing intrusion detection |
| US11108728B1 (en) | 2020-07-24 | 2021-08-31 | Vmware, Inc. | Fast distribution of port identifiers for rule processing |
Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20080091845A1 (en) * | 2006-10-13 | 2008-04-17 | Mills Brendon W | System and method for processing content |
| US20110238948A1 (en) * | 2002-08-07 | 2011-09-29 | Martin Vorbach | Method and device for coupling a data processing unit and a data processing array |
| TW201224738A (en) * | 2010-12-01 | 2012-06-16 | Inventec Corp | Load-balancing method for a clustering system |
| US20120271964A1 (en) * | 2011-04-20 | 2012-10-25 | Blue Coat Systems, Inc. | Load Balancing for Network Devices |
Family Cites Families (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7284067B2 (en) | 2002-02-20 | 2007-10-16 | Hewlett-Packard Development Company, L.P. | Method for integrated load balancing among peer servers |
| US7779116B2 (en) * | 2006-02-09 | 2010-08-17 | International Business Machines Corporation | Selecting servers based on load-balancing metric instances |
| US20110078303A1 (en) | 2009-09-30 | 2011-03-31 | Alcatel-Lucent Usa Inc. | Dynamic load balancing and scaling of allocated cloud resources in an enterprise network |
| CN102681902A (zh) * | 2012-05-15 | 2012-09-19 | 浙江大学 | 一种基于多核系统任务分配的负载均衡方法 |
-
2012
- 2012-12-17 CN CN201280077761.6A patent/CN104871130B/zh active Active
- 2012-12-17 US US13/885,394 patent/US9158593B2/en active Active
- 2012-12-17 WO PCT/US2012/070063 patent/WO2014098790A1/en not_active Ceased
-
2013
- 2013-12-17 TW TW102146750A patent/TWI570628B/zh active
Patent Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20110238948A1 (en) * | 2002-08-07 | 2011-09-29 | Martin Vorbach | Method and device for coupling a data processing unit and a data processing array |
| US20080091845A1 (en) * | 2006-10-13 | 2008-04-17 | Mills Brendon W | System and method for processing content |
| TW201224738A (en) * | 2010-12-01 | 2012-06-16 | Inventec Corp | Load-balancing method for a clustering system |
| US20120271964A1 (en) * | 2011-04-20 | 2012-10-25 | Blue Coat Systems, Inc. | Load Balancing for Network Devices |
Also Published As
| Publication number | Publication date |
|---|---|
| TW201443784A (zh) | 2014-11-16 |
| US20140173624A1 (en) | 2014-06-19 |
| WO2014098790A1 (en) | 2014-06-26 |
| CN104871130B (zh) | 2019-03-22 |
| US9158593B2 (en) | 2015-10-13 |
| CN104871130A (zh) | 2015-08-26 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| TWI570628B (zh) | 負載均衡方案 | |
| US8887169B2 (en) | Task assignment in cloud computing environment | |
| US8112546B2 (en) | Routing users to receive online services based on online behavior | |
| US9233304B2 (en) | Load balancing for game | |
| JP5945006B2 (ja) | クラウドベースのシステムにおけるデータ伝送 | |
| WO2013190405A1 (en) | Storage collaboration and access | |
| US20170177491A1 (en) | Processor and method | |
| US10089131B2 (en) | Compute cluster load balancing based on disk I/O cache contents | |
| US8868800B2 (en) | Accelerator buffer access | |
| JP2015510643A (ja) | ジオロケーションに基づく負荷均衡化 | |
| US9710303B2 (en) | Shared cache data movement in thread migration | |
| US9811526B2 (en) | Computing resource provisioning based on deduplication | |
| CN105164664A (zh) | 多核架构中的混合路由器 | |
| US9471381B2 (en) | Resource allocation in multi-core architectures | |
| WO2015000103A1 (en) | System and method for data storage | |
| CN117992410A (zh) | 小文件数据的处理方法、装置、电子设备及存储介质 | |
| US9846661B2 (en) | Utilization of solid state memory devices | |
| US9578131B2 (en) | Virtual machine migration based on communication from nodes | |
| US11079951B2 (en) | Multi-tier storage and mirrored volumes | |
| US8521714B2 (en) | Peer to peer search routing algorithm | |
| WO2020130676A1 (ko) | 클라우드 환경 내에서 가상 머신을 위한 마이그레이션을 수행하기 위한 전자장치 및 그의 동작 방법 | |
| Jiang et al. | Thermal Modeling and Management of Storage Systems in Data Centers |