TW200302644A - Method and apparatus for web farm traffic control - Google Patents

Method and apparatus for web farm traffic control Download PDF

Info

Publication number
TW200302644A
TW200302644A TW092101446A TW92101446A TW200302644A TW 200302644 A TW200302644 A TW 200302644A TW 092101446 A TW092101446 A TW 092101446A TW 92101446 A TW92101446 A TW 92101446A TW 200302644 A TW200302644 A TW 200302644A
Authority
TW
Taiwan
Prior art keywords
server
website
shareable
requests
request
Prior art date
Application number
TW092101446A
Other languages
English (en)
Other versions
TWI238621B (en
Inventor
Joel L Wolf
Philip S Yu
Original Assignee
Ibm
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 Ibm filed Critical Ibm
Publication of TW200302644A publication Critical patent/TW200302644A/zh
Application granted granted Critical
Publication of TWI238621B publication Critical patent/TWI238621B/zh

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1006Server selection for load balancing with static server selection, e.g. the same server being selected for a specific client
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • G06F15/173Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1008Server selection for load balancing based on parameters of servers, e.g. available memory or workload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1023Server selection for load balancing based on a hash applied to IP addresses or costs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/63Routing a service request depending on the request content or context
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/10015Access to distributed or replicated servers, e.g. using brokers

Description

200302644 五、發明說明(1) 一、 【發明所屬之技術領域j 本發明是有關於-種集中式網路服務之負載平衡。 二、 【先前技術】
集中式網路服務日漸普及,而隹由4 w A ^ ^ ^ ^ ^ ^Cwet He)^ ^ Μ ^ (P〇〇led resole) 二i隹 patche〇,以執行負載控制及分配客戶 ;:。集中式網路服務自己分享複數個網路 φ 式網路服務亦藉由分享後端镅扣 」服的 术中 以回覆客戶請求結果:;(體ba::end4 ba-……, 器提供者或内容主機(C。擁;係由單, 姓 。Α , τ 所擁有、操作及維 、°刖提供或計劃提供此項服務的公司包含:AT&T、、 xo us, Intel, IBM, Qwest, Verio, ^WorldCom 〇 服哭:Ϊ:式網Γ!務的—個主要挑戰即為有效地平衡伺 i二=用:統的平均回應時間, 服哭Μ、M # ±曰成各戶§月求的極度延遲。另一方面,伺 大:是浪費的。最小化平均回應時間可達成最 意味!務生產量的雙效應“Μ1 Μ — ) C此 求。則而^ ^ ^的負載控制程序可較寬容,駁回較少請 集中式、、’同路服務的一個主要動機為因合出的資源造成
第5頁 200302644 五、發明說明(2) 的效率,每個網站被指派至一 而,習知技術假設網站的八:一個或多個伺服器。然 有词服器處理來自多於服器間劃分。意即,沒 網站的流量。 建立多組包含多個伺服哭 y 在不同的網站中的客戶过二之後的基本原理是可行的。 ⑽“叫。一些網站可;:較::己典型為高度非均勾(n〇n_ 熱門網站的普及會使流量大^網站大為受歡迎,而這些 服器超過負載。因此,為 各派至一單一伺服器會使伺 網站至多個飼服器是需要達到可接受的表現,指派 所知的實施負 服器的劃分導致較 一、【發明内容】 本發明係一種 法,此集中式網路 包含將自網站接收 享之客 刀予之各戶請求, 的可分享之客戶於 戶請求至已被特‘ ,::的演算法可供劃分的案件,但伺 小弹性及較少理想平衡網站的平衡。 才工制木中式網路服務(web farm)之方 服務具有複數個網站及伺服器,此方法 之客戶請求歸類為複數個種類,此種類 戶請求及非可分享之客戶請求,安排可 使任何的伺服器可處理自不同網站接收 求’並安排自特定網站的非可分享之客 網站指派的特定伺服器。 此方法之另 方面進一步包含一目標程序,此目標程 ml 第6頁 200302644 五、發明說明(3) 序包含為每一客戶請求在每一客戶請求指派至之伺服器 中,決定一最佳伺服器,以便在任一給定時間,給定網站 之指派至伺服器及一目前客戶請求負載,最小化一平均客 戶回應時間。 此方法之另一方面,此目標程序係受最小化函數 N Μ Σ^[Σ(^·+λ,·)]的影響,此最小化函數受限於 Ν Σ: N , ❿ 以及兄:/ = 0若~ = 0 ,其中Μ為網站數目,N為伺服器數 目,Rj是期望回覆時間,同在伺服器j的客戶到達率之一函 數,xu為一決定變數,表示供可被伺服器j處理的網站i可 分享請求的假設數目,Yij為一決定變數,表示供可被伺服 器j處理的網站i非可分享請求的假設數目,Lj為伺服器j的 最大可接受負載,q為自網站i的可分享客戶請求目前數 目,屯為目前自網站i的非可分享客戶請求目前數目,為 一指數指出自網站i的可分享請求可被安排至伺服器;j及bij 為一指數指出自網站i的非可分享請求可被安排至伺服器 此方法之另一方面進一步包含建立及維持一有向圖, 此有向圖包含一虛節點及複數個伺服器點,每一伺服器點 對應一個伺服器;指定一個伺服器點為一赢節點,使式子
200302644 五、發明說明(4) 心[1(¾+〜+1)]-(、;·+〜)最小化;以及自虛節點至臝 節點選取一最短有向路徑。 此方法之另一方面進一步包含一靜態程序,此靜態程 序包含指派特定網站至特定伺服器。 此方法之另一方面,靜態程序指派網站至特定伺服 器,係根據自每網站之可分享客戶請求及非可分享客戶請 求之預測需求。 此方法之另一方面,其中包含一動態程序,此動態程 序包含檢查下一個客戶請求,啟動目標程序,以決定哪個 伺服器為目前最佳伺服器,供處理下一個客戶請求;以及 發送下一個客戶請求至最佳伺服器。 此方法之另一方面進一步包含接收客戶請求至一列; 以及其中動態程序進一步包含監視在列中的客戶請求;監 視目前被伺服器處理的客戶請求;為每一 jth伺服器定義一 祕)函數,藉由設定Μζ)=4ζ+ς〔〜.+知〕];為每一 π 服器定義一校正可接受負載限制Α ,藉由設定
第8頁 200302644 五、發明說明(5) "^- LJ=L^Σ(c^^diλ . J •,以及啟動目標程序以利用'㈤函數 及校正可接受負載限制z,最小化函數ϋ〇-+〜)],此 •Ty = 0 若a = 〇 最小化函數受限於
,其 中〜為一決定變數,表示供可被伺服器】處理的網站i在列 中的可分享請求的假設數目,凡j為一決定變數,表示供 可被祠服器j處理的網站i非可分享請求的假設數目,〜為 列中自網站i的可分享客戶請求的目前數目,么為列中自 網站i的非可分旱客戶請求的目前數目,^為目前被一個 伺服器處理的列中自網站i的可分享客戶請求的目前數 目,L為目前被一個伺服器處理的自網站1的非可分享客 戶清求的目前數目。
供一種藉由機器讀取的程式儲存裝置,有 (上nstruction)的程式,此指令可藉由機 ’供控制一集中式網路服務,此集 中式網路服務具有複數個網站及伺服器 網站接收之客戶請求歸類為複數個
200302644 五、發明說明(6) ^ "一"" 分享客戶請求及一非可分古^ 求’使任何的伺服器可處::戶請求,安排可分享客戶性 戶凊求’ “及安排自特定網站:同的網站接收的可分享‘ 此裝置之另一方面包含一 為每一客戶請求在每一客 Z標程序,此目標裎序包八 -最佳伺服器,以便在任一二::派至之伺服器中,心 伺服器及一目前客戶請求負‘疋:間,給定網站之指派至 間。 取小化一平均客戶回應時 如Σ(', 〜)] J -1 isl 的影 響, Σ(χ〇. ”〇.)€ Ξί〇,…, N Σκ J=1 ,以 及 λ·= 〇若 伺服器數 目 ,Rj 是期望 率之一函 數 ,Xi 】為 一決 •'C, = 0 的網站 0 0 若 其中Μ為網站數目,N為 _ j刀子Μ水的似汉歡a ,y..為一也々料奴 =,器]•處理的網站2非可分V請求的假 3服…的最*可接受負載,C! 4自網 ^ §月求目前數目,d,為自網站i的非可分哀史ό \J/予各戶 J刀予各戶請求目前數
第10頁 200302644 五、發明說明(7) 1 目,為一指數指出自網站i的可分享請求可被安排至伺 服器j及1^為一指數指出自網站i的非可分享請求可被安排 至伺服器j。 此裝置之另一方面,進一步包含建立及維持一有向 圖,此有向圖包含一虛節點及複數個伺服器點,每一伺服 器點對應一個伺服器;指定一個伺服器點為一赢節點,使 式子 最小化,以及自虛 節點至贏節點選取一最短有向路徑 Φ 此裝置之另一方面,進一步包含一靜態程序,此靜態 程序包含指派特定網站至特定伺服器。 此裝置之另一方面,其中靜態程序指派網站至特定伺 服器,係根據自每一網站之可分享客戶請求及非可分享客 戶請求之預測需求。 此裝置之另一方面包含一動態程序,此動態程序包含 檢查下一個客戶請求,啟動目標程序,以決定哪個伺服器 為目前最佳伺服器,供處理下一個客戶請求,以及發送下 一個客戶請求至最佳伺服器。 此裝置之另一方面包含接收客戶請求至一列,以及其
第11頁 200302644 五、發明說明(8) 中動態程序進一步包含監視在列中的客戶請求,監視目前 被伺服器處理的客戶請求,為每一:ith伺服器定義一〜(z)函 數,藉由設定 ,為每一 jth伺服器定 義一校正可接受負載限制1V ,藉由設定 ,以及啟動目標程序以利用~(2)函數及 yRATixij^yi,·)] 校正可接受負載限制&最小化函數台合 的影 響,此最小化函數受限於 ^Xij = Ci 5 Xy = 0 an =0 以及A =G 若 by=0 ,其中〜為一決定變數,表示供可被伺服器]_處理 的網站i在列中的可分享請求的假設數目,為一決定變 數,表示供可被伺服器j處理的網站i非可分享請求的假設 數目
為列中自網站i的可分享客戶請求的目前數目,L 為列中自網站i的非可分享客戶請求的目前數目,^為目前 被一個伺服器處理的列中自網站i的可分享客戶請求的目 前數目,6為目前被一個伺服器處理的自網站i的非可分 享客戶請求的目前數目。
第12頁 200302644 亦提供 戶請求 一裝置供傳送回應 求及非 五、發明說明(9) 本發明 客戶接收客 分享客戶請 裝置供執行 程序包含為每一客 中,決定一 之指派至伺 戶回應時間 及其中非可 器依附非可 特定網站至 求;啟動目 器,供處理 最佳伺服器 路服務, 理客戶請 置供將客 求,一網 程序及一 戶請求指 任一給定 求負載, 求可指派 至特定伺 網站,靜 序包含檢 伺服器為 及發送下 目標 最佳伺 服器及 ,其中 分享客 分享客 伺月艮器 標程序 下一個 一種集 ’一裝 至客戶 可分享 裎序, #請求 服器, -目前 可分享 戶請求 >請求 ’以及 ’以決 客戶請 中式網 置供處 ’一裝 客戶請 一靜態 在每客 以便在 客戶請 客戶請 僅指派 來源之 動態程 定哪個 求,以 包含一 求以產 戶請求 路發送 動態程 派至之 時間, 最小化 至任何 服器, 態程序 查下一 目前最 一個客 裝置供自 生回應, 歸類為可 器,包: 序,目標 伺服器 給定網站 一平均客 伺服器, 特定伺服 包含指派 個客戶請 佳伺服 戶請求至 四、【實施方式】 本t明提i、一種解決在集中式網路服務中 題的方法,本發明蕤由合4产夕加A 十衡負載問 重疊,及以實際方式執杆,方彳叮# π门 时才日派部分 感到愉快。美國專利中請號〇 9/3 74,53 9,西元199、,有者 16號申請,代理人編號1 2793 (γ〇9 99 —3〇77),發月 叢集式網路服務負載平衡的方法及裝置,其中 牙冉為 技術係用來參考。 /、 ι路的全部
第〗3頁 200302644 五、發明說明 客戶請求,且此 的普及和客戶混 。此證據顯示這 例如分鐘甚至秒 足夠紀錄客戶行 地衰退及增長, 忙。因此希望處 作負載平衡,以 设計並不提供此 口p刀重$、’、罔站組的基本原理是彈性的 務必㈣㈣時處理來自許多不同網站的 客戶需求一般為爆發(Bursty)。由於網站 合,此爆發性可見於一週,一天及一小時 種情形亦會發生在較小的原子時間單元, 鐘。此處的重點在於平均網站存取率並不 為的易變天性。一個網站的流量可戲劇性 當一個網站流量少時,另一個網站卻很繁 理多個網站的伺服器可修正這些網站的丄 反應這些動態流量。要注意的是一個劃分 反應能力。 ^發明有效地合出词服器資源及利用智能的方法 前匕送器平衡這些祠服器的負冑。本發明足夠歸納去假 设母-個網站被指派至-個一組或多個 -步地…組可部分重疊。若需要的話,一:定;服; 的:法可處理來自多個網站的客戶請求。而 : 網站的請求…效率較差使:;=處理來自-個 情況。 毛月亦可執行於少數特殊 然而’本案集中式網路服 題,儘管以技術的角度來看, $的部分重疊並不是沒有問 一適當精密的伺服器可供適
第14頁 200302644 五、發明說明(11) 當數目的網站使用是合理的,但從個人利益角度來看,卻 不^理。例如’ 一電子商務零售商可能反對與其他零售商 分享處理交易請求的伺服器,儘管此伺服器邏輯上是在網 站之間被劃y刀的。零售商的反對一般是基於個人因素。幸 運地,如此的零售商幾乎總是較少察覺供瀏覽請求的分享 伺服态。董十負載平衡程序而言是可實行且完成的,其必須 有效地處理此礒題。若有需要,將每一網站的工作負载分 開至=個種,是可達成的,一類為非可分享的,另一類為 可刀子t k疋假设公眾請求(瀏覽者動機)可與自其他網 站之可分享請求分享一伺服器,/亦可與來自同樣網站的個⑩ 亡請求(线交易動機)分享一伺服器。儘管部分重疊指派的政 策上易麦4通此重要之改進仍給予本發明所需之彈性以 雖然本發明在此處描寫 知此技藝者可了解本發明係 制之流量階層的等級。 客戶流量的兩個階層,任何熟 適用於有各種網站至词服器限 要/主意的是,雖然公眾及 易請求所激發,事實上卻是由 義。對接收邏輯劃分觀念的電 可算是部分之公眾流量,而結 另一個例子,拒絕允許任何伺 瀏覽請求視為部分的個人流量 個人種類係分別為瀏覽及交 有能力或無能力去分享所定 子商務網站而言,爻易請求 果是完全沒有個人流量。舉 服器的分享甚至瀏覽者會將 ,而將會完全沒有公眾流
200302644 五、發明說明(12) - f當然’會有非商務的網站瀏覽及交易沒有具有如實的 意義。為了簡化,流量仍然會依分享性而歸類為公眾或個 人種類。 、本發明之優點為部分重疊網站指派之可能性使平衡集 中式網路服務負載十分有效率。此問題自然地分為兩個子 問題’而各問題之解決方法係利用同樣基礎最佳化方法去 達成目標。因此,本發明分為三個主要元件,分別為目標 程序、靜態程序及動態程序。 π 目標程序為關鍵一般程序,利用一最佳化技術最小化 在任何給定時間,給定網站至伺服器之指派及目前客戶請 求負載之平均客戶回應時間。此技術僅是用以解決所謂分 離級強迫分離凸資源分配(discrete class constrained separable convex resource allocation)問題中的一個 特殊情況,由Tana taw i e t a 1 ·所提出,電腦系統中多級 資源的最佳化分配(〇p t i ma 1 a 1 1 oc a t i on o f mu 11 i p 1 e class resources in computer systems) , ACM Sigmetrics Conference (May 1988) , 253-260 頁,其中 揭露的全部技術係用來參考。因此此方法會決定最佳負載 平衡目標。特別地,此輸出結果是每一適當伺服器處理每 一網站公眾及個人種類的最佳客戶請求數目。此問題需以 一相當頻繁的基礎解決。幸運地,此解決技術很快速(及 在本質上是增加的),其可處理異質的伺服器,而主要是
嘯 第16頁 200302644 五、發明說明(13) ’ 因一些老舊、速度慢的伺服器不玎避免地隨時間被新型、 快速的伺服器所取代。目標程序係以下靜悲程序及動態程 序元件中不可缺的部分。 此靜態程序建立一個在公眾及個人請求的需求方面良 好且有助於最佳化網站至伺服器的指派。且此程序處理的 愈好’目標程序中的平均回應時間就愈佳。靜態程序元件 會視目標程序為執行中不可缺的部分。此技術可執行在起 始或增加模式。當建構一新集中式網路服務時便執行此起 始杈,。此增加模式則考慮指派改變數目的限制,及因此 維持高品質隻網站至伺服器指派。R. Garf ikei Μ d Integer Programming, j〇hn Wiley and Sons ^ New =,NY ( 1 972)所揭露之一鄰近跳出誘導( escape heUristic)被使用,其中揭露的全 〇 參考。此增加模式用以週期性執行,A :係用來 重新建構網站至伺服器指派明顯地 價工仃一次。 之頻率係依網站需求預測之易變及二t f工作。而準確 決定。 仃此新指派之成本而 動態程序係基於靜態程序元件 需求,在網路發送器中執行即時網輸出及變動網站客戶 私序根據目標程序去計算此理想化^伺服為的女排。動態 問題。動態程序並不轉換先前^送以解決一受限的子 善了效能,而導致過高的費用。、明求指派,進一步改 第17頁
200302644 五、發明說明(14) 蒼考第1圖,說明一假設集中式服務網路丨〇,具有3個 網站1 2及九個伺服器1 3。一網路發送器1 4為3個網站1 2安 排各戶晴求至適當的伺服器。第一網站丨2 ^包含雨個伺服 裔(1及2 )及與第二網站1 2b部分重疊,第二網站具有五個 ^司服裔(2至5 並依次與具有4個伺服器(5至9 )的第三網 站1 2c部分重疊。客戶請求的結果並列回傳至之後可能提 出額外請求的客戶。 弟1圖係揭露一有日^ ,、 一 ^ ^ ^ 助於描述本發明之三個主要元件細 即I例子。 目標程序(目標)元件 Η ,Γ 3 2 ί S ί付有助於說明本發明。設M為網站數 ” n 已:不為i,設N為伺服器數目,標示為j, 没{1,0} M*N 矩陣A = (a 、士 _ t .^ ij」表示為網站i至伺服器j的公眾請 當祠服器j可處理網站i之可 &广0。類似地,設{ 1,〇} M*N 柹。鉍a %A” 至祠服器j的個人請求指派的可能 性。換句話說,當伺服哭· 1上 蛑,h 1 π日,丨u ]可處理網站i之非可分享請求 时 ’ bn 二 1 ,否貝ij ,b;. == η — 姻站彳μ袖a咬七介]。貫際上我們假設一伺服器j處理 網站1的個人請求亦可虛 ! 1 义理網站1之公眾請求。因此,若 未指派的可能性。換句話說 分享請求時,a。= 1,否則 矩陣B = (bi j )表示為網站 a;
第18頁 200302644 五、發明說明(15) 與,一伺服器j相關的是一函數!^,量測預測之回應時 間如一客戶抵達率。此函數依靠伺服器時間分布,並依次 依靠處理處之速度。此函數& 一般會增加及凸出。在特定 簡化假设抵達率型態及伺服器時間分布之下,典型排隊技 術會存在以供ό十异或估計R〗,此技術係由l a v e n b e r g在 Computer performance Modeling Handbook, Academic Press,New York,NY ( 1 983 )所提出,其中揭露的全部技
術係用來參考’但一般此函數需要藉由模擬實驗或監視來 求值。根據此函數我們假設伺服器j有一最大可接受負載 Lj ’在此狀況下,超出此門檻值會造成^·值過大。若我們 假汉1^· - 00 ’此乘大接受負載當然會不嚴格。假設在一給定 時刻,當網站i的公眾請求Ci及公眾請求屯在處理中,我們 停止處理’進一步處理在伺服器j的網站i的公眾請求Cij及 公眾請求山』 地,當屯广〇 之總數目, 目〇 ,因此,當a" = 〇,q = Ση c",及1厂0。同樣 ’ bi j - 0。我們設c = Σί·ι q表示處理中公眾請求 同樣地,D =: 士表示處理中個人請求之總數
當目標函數 (1) y=i ί=ι ---—- 為最小化,並受限於
ZUUJUZOH-H- 五、發明說明(16) Σ(χ。·+凡·,;·)e {〇,·.·,、· ! N Σχ。·= c:· /=1 ,-- \=0若% = 0 , N Σ^ν =^· J.-1 5--〜 以及 乃=0若〜=0_ 此伺服器負载可視 最佳平衡。 為 〜一-------------(2) 、〜…------------(3) —------------(4) ------------(5) 〜:…-------------⑹。 &定目前負載及網站至伺服器指派之 处 為 決定變數,表示供可被伺服器j處理的網 站i的公眾請求假設數目’同樣地,〜為一決定變數,表 伺丨服器]•處理的網站丄的個人請求假設數目。此目 標函數篁測在不同祠服哭& 時間因一倍數的常數(二t二:t應時間的總 ',此回應 平均回應時間。此常數與最二二ap lve constant)不同於 件⑺限制健^的可接收=問題的觀點無關。限制條 的公眾請求總數目相等於直正J理:制條件⑻確定網站】 條件⑷確定網站至饲服器指1理及中^求總數目,限制 ⑸至⑷為個人凊求之對應需求。若在最佳情況
200302644 五、發明說明(17) Χ〗 = Σ二 Xij 及丫^2:二 y. 一 我們最終目標即是確定各j +Yj表不伺服器j之期望負載。 ^ R母-伺服器 1之最佳負載Xj+Y〆真 正的負載心(Cu+dij)十分接近。 上述描述之最佳化問 級強迫分離凸資源分配:J為:特殊例子,即所謂的分離 個人請$。因$限制料(2 ”級對應不同網站的公眾及 資源分配問題,及因,口限制條件(3)及(5)的一 是分離的。此分離性^ 件(4)及(6)的級限制,此問題 性質,π λ ( eparabUlty)名稱係指目標函數的 r生貝,而凸面(convexit ) d ai.所述,分離級 稱則^明顯的。如⑽awi 解理論(graph-theoret 凸貝源分配問題可藉由-圖 有效地解決。 techruqUes)最佳化程序準確且 弟3圖揭露一實施例之目押& 行解決太、土六+ κ她例之目禚私序之流程圖。假設一可 * J /存在,此程序執行至C + D步驟,如圖二所示, 有向圖並維持此程序之所有程序。此圖之節點 Γ— 2為飼服器1,…,Ν,加上一虛節點(dummy node), 此虛郎點標示為"節點〇”。設每— …們可建立及修正一部分的可行解決方法{Xu丨i = 1, ’ ] = 〇’ ...,Ν} υ{ι | i=l,...M,j = 〇,…,N}。首先,如 所示的步驟100及1()5,此部份可行解決方法使每一i JSL Λζ ^ ’、i’〇〜Ci ’ yi,〇=di 及 Xi,广 Υι,产0 供 j = l,···,Ν,因此,所有資
200302644 五、發明說明(18) -- 源均屬於虛節點。此有向圖係於步驟丨丨〇開始,及在任何 步驟中均有一自節點J·〆{0,…,N}到節點j2e {〇,…,N}的 有向弧(di rected arc),若只至少一個網站滿足 ail’ jl =41,j2 = l,------------------------(7) --------------------------------------- έ(Άν) τ Η <Lj2,— — 一---------------------(9) 或者,另一選擇為至少一網站丨1滿足 bii,ji j2 = 1,一-一―--------------------(10) # yn,j!>〇 ------—_____________________ ⑴ f :(。9)。p艮制條件⑺表示節點ji及可為網站l處 =4人明〉限制條件(8 )表示網站的公眾請求已被分配 ^ ^ ^ 31限制條件(9 )表示請求可被轉換至節點j2,而不 的負載。要注意可能有自節點0的有向孤,但 :有J:,〇的有向弧。因此接收的節點為一真的伺服 口口 ,而不疋虛節點。 自0至'=:般的步驟找出在所有節點..·,Ν},-至J的有向路經φ,畜給里上 μ difference) 輒即·、、占的弟一差(f ! r s t *•1 — 一 .〜 為最小值。所謂的楚一產p兔 (12) 比。此第一差難山一 為限制函數之衍生的分離類 差错由凸碼的優點供每一⑷為非減少。若 200302644 五、發明說明(19) 無此節點存在,此程序會以一不可行解決方法結束。否則 一自0至赢節點之最短路徑會被選擇。在路徑中的每一 弧,一適當網站丨1之\丨1」1怜",”之值被減1,及乂丨1,]2恃^之 值被加1 (藉由公眾請求的減少及增加或個人請求的減少及 增加)。在所有有向弧執行此步驟具有自虛節點移動一單 位之負載及增加一單位之負載至赢節點的效果。而此對於 中間的節點負載沒有效果。因此虛節點可作為資源的集狂 待命地區(staging area),可於每一步驟置於伺服器節 點。接著’在有向圖上執行薄記(bookkeeping),可修正 一些有向弧及可能分離的特定節點,此步驟重複執行。在 步驟C + D後’程序以一分離級強迫分離凸資源分配問題的 最佳解決方法終止,在有向圖上弧的限制保證了可行性。
第3圖進一步詳細說明目標程序之實施例,在步驟J 〇 中,設定所有網站i及伺服器】之變數Xij及、為〇,此程序 會在進行中增加及減少變數。在步驟丨〇 5中,一虛節點起 始設為節點〇,所有的資源假設至於節點0,因此我們可, 〇 = Ci,yi,〇 = di。步驟11〇中,有向圖根據限 / (11 )開始連接N +1節點,詳細說明參考第3圖b。自 . 節點〇至節點j的有向弧可決定,使得至少一網站i的&二 或1^ = 1。此圖可在程序進行中修正。步驟115, ' 變數被指派時,計曾咨、、店错μ 半彳0 n 又 1
本:卞开貝源的早位步驟120,初始m為盔F 大為1。步驟125 ’決定是否有一自〇至節點的有向路
200302644 五、發明說明(20) J。若是,步驟13〇估計伺服器』的方程式(12)及與續比 右小於,則設…一為步驟135中方 =二前,最小值。然後執行步驟14。,若在步驟125值 或是步驟130中之限制條件(12) 中
我們也執行步驟140 〇在步驟14〇 φ 广上·也 杳i 3末备μ 〇·、θ 中’增加J。步驟1 45則;(A ^疋否為N或疋小㈣。否則便執行步驟i5〇,比較^取 ί 小f無限大則沒有自虛節點至贏節點之路'、,、 二亦广有此問題之可行解決方法,因此此 步二^ 執行至步驟16°並找出最短之路徑, 位之次貧源會自虛節點移動,及上 著,在步驟17。我們在有向J圖上:;=參= 足限制條件(7 ) _ ( j ])。在此 丁 a „己 -人地確滿 弧,詳細說明參考第3d = = 加/移動-些有向 18〇 ’測試k是否為C+D或小於/纟們增加k ’在步驟 最終解決方法Xu及&結束H此程序於步驟185以 序。 古則回到步驟1 20繼續此程 參考第2圖,說明級強 路捏。注意並非所有的節點及貝源;;配程序在有向圖之 ,虛"節點0" 20轉換至臝(伺服哭°―弧均在此處顯示。至 弟-差為最小值的節點〇 。。_)即點25,此節點連結 短路徑。此有向弧標號為、丁之有向路徑準備做為 至5。在此圖中’網站 200302644 五、發明說明(21) (、公眾或個人)請求藉由有向弧1經由第一(伺服器)節點21 /刀配,此即點之分配並不改變活動階層。事實上,沒有第 具有不同的活動階層。第五贏祠服器 .,沾25在虛即點20的損失下得到—個活動單位的增益。 參考第3b圖,說明一對應第3圖之步驟η〇起始程序之 :;程曰圖。在步驟400,我們起始W,及接著在步_測 / j,否大於〇。若是,則在步驟41〇起始i為1,並在 41 5測試a.是否大於〇。名:|,+ t +曰』疋令大右疋,在步驟420測試XiG是否大於
牛二:’在步驟425建立一自虛節點0至]的有向弧及執行 ^驟430。若步驟415或42〇失敗,則進行步驟435,測試b 大=0。若是,在步驟44〇測試〜是否大於^若是〆 机私進行至如前所述之步驟425。若步驟435或44〇失敗, J制流程至步驟430,其中;為增加的。在步驟445測試』是 :於或等於N ’若否’則控制迴圈至步驟4〇5,否則在步 鄉4 5 0結束。 參考第3c圖,說明第3圖步驟165路徑薄記程序的流程 圖·。在此流程我們假設最短路徑k具有有向弧及標記從◦钊 至ji至h ’繼續至jk = j。在步驟5 〇 〇我們起始· = 〇,在 ^我們起始1 = 1。在步驟51〇,檢查是否a"=ai(j + i^驟若 疋’在步驟515檢查\^是否大於〇。若是,在步驟52〇減少 xu及增加Xi(j + 1)。若步驟510或515失敗,則進行步驟 525,類似地檢查bi厂bi(j + l) = l。若是,在步驟53〇檢查y
第25頁 200302644 五、發明說明(22) __ 疋否大於0。若是’在步驟5 % 、, 驟52 5或53 0失敗,則進行+赞/ 及增加Υι(]Η)。若步 (一個伺服器i最終因限制條件會 :驟5 1〇 或535後,進行步驟545,辦hi•曰/半"π 。在步驟520 於卜若是,返回步驟5 0 5 :;V 測試]是否小 ° 右否,程序結束於步驟555。 蒼考第3d圖’說明第3圖中步驟17〇的圖薄記程序之流 程圖。開始於步驟6 0 0,起始⑶,在步驟6〇5起始^ 1。在步驟610測試限制條件(9)關於^是否為直。若否, 此程序於步驟612停止。否則在步驟615起始bi,及在步 驟62 0 f試是否ajl=ai2 = 1。若是,在步驟_測試&是否大 於〇。若是/在步驟63 0建立一自節點至節點j2的有向 弧,及執行步驟635,在步驟635中j2為增加的。若步驟620 或625失敗,則進行步驟64〇,測試是否^^严丄。若是, 在步驟64 5測試yij2是否大於0。若是,進行前述之步驟 6 3 0。若步驟6 4 0或6 4 5失敗,則進行步驟6 3 5。在步驟 6 5Ο, ’測试乜是否小於或等於n,若是,在步驟65 5增加允及 進行步驟6 6 0,測試j}是否小於或等於n。若否,則在步驟 ^65結>束。若步驟65〇之測試失敗,則進行步驟670,檢查L 是否等於乜。若j〗等於A,則返回步驟6 3 5,否則回到步驟 610。若步驟660之測試失敗,則進行步驟675,檢查七是否 專於]2。若j〗等於h ’則返回步驟6 5 5,否則回到步驟6 0 5。 動態程序(動態)
第26頁 200302644 、發明說明(23) 參考第4圖,說明負載平衡程序之動態裎 技術饭δ又(靜恶程序元件)網站至伺服器之指龙、凡件此 此相當於矩陣Α及Β的球定(determinatl〇nd為給定、的。 服器正確或大約的負載,如在網路發送器的…者I視伺 3。動態程序元件之工作即為供排隊的請求在:二:;求: 女排決定,指派請求至適當的伺服器。因而奢 叙,二 :均回應時間的可能範圍及目標程序所指示:U ^ Is白層,的確,這也使流量排在網路發送器 ^、 :。、,安排決定可藉由-正確或大約之政 :未Ϊ由靜態程序元件指派至伺服器,將會滿足這些;服 i為ί句話說’在此較佳實施例t,網路發送器的決定被 終的決$,且在伺服器的請求不能自己根據負載更 疋義一些轉換記號(meta notation)有助於說明本 案在任何給定時間,一些負載會排隊於網路發送器上, =二些負載會準備發送至伺服器。我們欲區分此兩種負載 ^悲,如同全部的負載。當指到有關發送器負載的變數
用一個單一點’當指到有關祠服器負載的變數時,用 :個雙點。當變數沒有點係指結合的發送器及伺服器負
第27頁 200302644 五、發明說明(24) 此方法監視網站i在伺服器j之發送公眾請求〜的目前 數目及赉送個人睛求匕·的目前數目。此動態程序元件並 不直接〜I飼服裔上請求的完成,但適當地減少〜及& 的=。當此資料未很快地可用,係可被估計出。同時,新 的請求抵達並於排在網路發送器。因動態程序元件之最後 =,假設。.標示網站i新的公眾請求數目。同樣地,因動 悲程序元件之最後執行’假設“票示網站“斤的個人請求數 目。總計,設C =Σ二q及!) 隊的公眾及個人請求。 A分別為發送器中排 隔’在列中C+ D 兩種條件的混合之 =程序元件可設計在一固"間間 德i 一些固定批大小門檻值,或 後奐起或執行。 — 當避免打擾先前發送的諳卡 我們需要一些薄 增加函數心(2), 網路發送器中排隊的請求。目此*㈣^ 目標程序至在 記。特別 藉由設定 是為每一伺服器j定義一新的凸 (13) 此函數簡單平移原本的函數, Μ計算在伺服器上未受
第28頁 200302644 五、發明說明(25) 擾亂的負載。為了同一理由,我們為伺服器j定義一修正 可接受的負載限制 卜,%)-------------- (Η)
藉由這些手續,發送〇 D +排隊的請求的最佳方法 藉由解決下面限制的目標程序元件問題而決定:c+ D ❿ 内ί:&[ί:(〜+〜)] /1C、 农 λ!、4匕 >=1 2=1 -----------------(15) 此最小化函數受限於 ,-----------------(16) Ν . Y^U = Ci U ,----------------------------(17) - ο 若〇公=〇 ,------------------------(18) Ν _
Vj,· .· = di ^ " ,----------------------------(19) 以及 Φ =0 若〜.=〇 ,------------------------(20) 對應第4圖之步驟200。即使在最佳解決方法中,伺服器j
200302644 五、發明說明(26) 而,對無 最佳的 之總負載Σ·=ι (知)大㈣上仍:、、 無先前指派負載可在伺服哭門乃^次佳的。然 …換之額外限制仍為 網路發送器時,此 進一步地,注意當一個新請求抵達 技術喚起,使一些網站i】之cq 琬^ 的特殊案件 網 中,此程序為貪婪的(greedy)。換句話說,若。一工 站1之新公眾請求便會被指派,滿足〜q及 ) ,其第一差 Μ Μ κλΈ dij +1)]- (Cij + du) -(21) 為最小化的伺服器j則變選定。若“ =1 ,網站i的新個人 請^會被增加,滿足、及第一差為式子(21)給定的負 載範圍限制為最小值的伺服器j被選定。 、 此動態裎序可藉由第5圖及第6圖加以說明。我們視一 1 5 服器結構負責8個網站。5個伺服器指派處理公眾網 站流$ ’因為每個伺服器具有處理多個網站的能力,因此 稱之為叢集伺服器(cluster server)。並且有十個伺服器 指派處理個人網站流量,因此稱之為劃分伺服器
第30 1 200302644
(partition server)。每—伺服器處理公眾及個人流 ,流量僅”於一個網,占。圖五為一例子之網站符號詞彙 表。母一符號對應一網站有一獨特形狀。例如, cirCularl〇gic.com以圓表示,灰色的符號表示公眾流 量,黑色符號表示個人流量。此重要的叢集及劃分伺服器 也有表不。此分別為指派矩陣A 的列總和分別為^ 集伺服器及兩個劃分伺服器 。例如,circularl〇gic c〇m被指派三個叢 第6圖更詳細說明,内圈包含五個叢集伺服器至 C5 ’外圈包含十個劃分伺服器^至^^。要注意二如 circularlogic. com被指派至叢集伺服器C1,C2及。。此 網站在伺服為C1的公眾流量必須與h e X n u t · c 〇 m及 eggcentric· com的公眾流量分享伺服器。同樣地, circularlogic.com被指派至劃分祠服器P1及p2,兩個竹 服裔均需處理公眾及個人流量,但僅為此網站之流Λ量。 事貝上’弟6圖更詳細說明’猶做改變後之目標程序 所用之有向圖。回到第2圖,說明一級強迫資源分配問題 解決方法之一特定即時自虚節點至伺服器節點的最短路、 徑。相比之下,第6圖揭露一有向圖Η,有一個例外之外 所有有向弧及節點均為一時刻(此例外為虛節點及自虛節 點之有向弧已被消除)。
200302644 五、發明說明(28) 器節:之每對1 t如下:對應伺服器之節點。為不同伺服 一網站滿足限制停提至j2的有向孤,存在至少 保件(7)至(9)或條件(1〇),(11)及(9)。 因為有向弧益法 ^ 並非所有的有向;的重要限制條件,第6圖中 公眾(限制條件^有向。例如,顯然地^上沒有 P3至P4的有、向y 5固人(限制條件9)的負載,因此沒有自 (限制條件9),所nm「以最大的能力操作中 公眾負載(限.二= 有有向弧在Π奶之心以的此力㈣中,所以沒 7)及(限制條件1〇)、 。2沒有滿足(限制條件 ;所以/又有弧在P1及P4之方向。 =一次地,有向弧的存在說明減少伺服哭 I二力:另一個沒有超出負載伺服器 :負“: 載置於未影響的伺服器上。]匕力及將負 的有向路徑允許自級點轉換—單:伺服器節點 :!其他的伺服器節點不受影響。經過此轉換二點,使 由溥圯技術修正,以涉及限制條件(8),(、圖Η可精 狀態。(限制條件⑺及(10)的狀態仍舊不變及()11)的目前 第6圖揭露三個不同型態的有向弧。 弧可見於P1謂間,表示自—畫q分饲服器至另種型分有向 伺服
200302644 五、發明說明(29) _ 器之公眾或個人g> μ u 、戰了此之轉換。第―插 & 於P1或Cl之間,夹干ώ \ y 乐一種型悲有向弧可見 之的公眾負載可能之榦拖。繁一# σσ至叢集伺服器或反 月t* i ¥寻換。第二種创能古 C1之間,表示自一,隹彳Ί $孓心有向弧可見於Cl或 可能之轉換。 最市何服裔的公眾負載 向弧可_愈緊密(tight),亦具有至多的有 句狐目^私序愈可得到好品質鈇果,俨利 > 丨、„ 間’也就是下述靜態程序元件的目標。于Λ夕、回應時 <1 20"/』圖態流程之詳細實施例。流程於步驟 ° ’、母網站1及伺服器】,利用目標程序解決最 ,化目標〜.及〜。在步驟_設定k = l。在步驟210起始 ,供每一網站i及飼服⑸為〇。此變數將計算相 L二標之發送器的進度。步驟m決定對應在行列中I 未k的網站。步驟22〇決定請求 】中叫 可比較的流程供兩種可能,❿我們= = 有兩: 輕及、查驟22 5 ’汉广Μ為負無限大。f試找出具有在目 ^ 到值之間最大差的伺服器,如下:在步驟230,測 4Μ疋否小於〜。若是5在步驟235假設= J及
第33頁 200302644 五、發明說明(30) M -心,> ,接著進行步驟240。若步驟23 0之測試失敗, 則進行步驟2 4 0。步驟2 4 0增加j。步驟2 4 5測試j是否小於 或等於N。若是,返回步驟230。若否,則具有一贏伺服器 j*及增加*,及在步驟2 5 0發送請求k至伺服器j*。接 著,進行步驟2 5 5,增加k。步驟2 6 0測試k是否小於或等於 c+d 。若是,返回步驟21 0,發送下一個請求。若否,則 停止,具有空的請求行列。若步驟220決定請求為一個人 請求則進行步驟270至2 9 5。這些步驟類似於步驟225至 _ 2 5 0,除了是處理個人請求而非公眾請求。最後,流程再 次回到步驟2 2 0。 靜態程序元件 參考第7至9圖,說明指派網站至伺服器之靜態流程程 、 序。此目標為最佳化目標程序及動態程序元件之可達表 現。靜態程序元件之關鍵輸入將會預測每一網站之公眾及 個人請求之平均需求,如同在可允許的網站至伺服器指派 上的任何限制。此靜態程序元件之輸出僅為二{ 0,1 }指派 矩陣 A = ( a! j )及 B = (bi』·)。 _ 亦假設在網路至伺服器上的限制為給定的。此限 制可能有關於伺服器自己的實質能力,達成可接受高快取 擊點率(h i g h c a c h e h i t r a g e )的目標,伺服器上的作業
第34頁 200302644 五、發明說明(31) ,統,某些網站可能協商過的固定伺 ' 重限制可能相當複雜或相當基礎。 ,θ派,等等。此 擊點率模式,網站資料的地點及快取^小也許基於一分析 為相當地複雜。其會影響確定一網站来快取限制可 至每一伺服器。另一個方面,_作 目虽少數量被指派 適合特定伺服器之網站之清單。重點b、^ ^限制僅為一不 ,嘗試錯誤的及僅藉由在指派考任$程序元件本質 處理限制。 何改變之前檢查進而 此靜態程序元件具有兩種可能模4。4 ,)自-起跑、線,即一個沒有網站心起始模式(第 ㊁:广曾加模式接著基於一週心礎'、:::建構一新 =求序測調整現存網站至錢 ,修正之網站 -。:::匕:目可質,可應用允 =,而在增加模式令,則會以:多用-分析模 ί:此可能較容易得到快取的效果及:他;;:;: 寺間取 象。 〜只世界中的現 因做指派改變的明_ + 件應不宜過常執行,大約3二bff的靜態程序元 ,成本與給定更新網站效卩Z 2,之頻率則需 次的靜態程序大約可被 文又之相較交易。— 二種類之負载平衡條件的債測所 200302644 五、發明說明(32) 觸發。 U’n-bn’jfl。這些限制條件如同有向圖η定義中的限 制條件(7)及(11)。因限制條件(8)、(9)及(11) 一般合滿 =何良好平衡的集中式網路服務,㈣示G可視為Η曰之有 1丨ί理。同樣注意當限制條件(8)(9)及(11)為恆動時,限 制條件(7 )及(1 〇 )為實質靜能。# ★ Η也 程序元件。 、好心 仏也疋為什麼G較適合靜態 兩種模式的主要目標在於達成無向圖G的高連接 (high connectivity),定義如下:節點對應伺服器,對 於不同節點的每一對h及]\而言,均有一弧介於]·ι及^之 間’存在至少-個網站h,aii,ji=aii j2=;1,《指少一個網站 點 伺 弧 向 線 而 子 應 ^圖說明上述之G圖。注意6圖 二管第6圖沒有可比較兩個方向的有向弧,:;7相:之 ,如在P4至P3之間的有向弧Π中的有向 表示,介於兩個劃分祠服器之間叢的二, 介於叢集祠服器及劃分伺服哭=…線表示’ μ間的弧則以破折線表示。 我們企圖最佳化的目標函數 之目標程序元件本身。此處C見為本發明之黑盒 時間的測量,較其他兩個圖;;2理:為有的平均回 "代表(直徑或平均距離)
第36頁 200302644 五、發明說明(33) 來得直接接近,及較不顯著計算昂貴地計算。 此處利用一顎化(〜)之轉換符號表示靜態程序問題公 式 藉由發明一新矩陣乂 ,說明網站至伺服器指派的空 間,如下:A =(叫)再次為一 { 0,1 } M*N的矩陣。在典型的 限制條件下,每個網站會存在公眾及個人流量,我們在下 . 儿 反 面說明將乂轉換為/及』。 (22) « a; : = ai^ b:; 1 若<3〇·=1 及 ,所有 iV!·, ‘〇其他 ----(23) 此使得假設任何伺服器j之列總和h a" = 1為一個網 站之具有公眾及個人流量之劃分伺服器,及所有其他伺服 器,為具有多個公眾網站流量之伺服器。注意並不是所有
第37頁 200302644 五、發明說明(34)
可能的指派矩陣對A及B可視為自一些矩陣二 不是的矩陣則較不適用,靜態程序^ ^轉換而來。而 斤凡件不會選擇他們。 我們必須作為小的調整以處理特殊 —
丨月凡。右網站I 只有個人流量存在,我們則需要叫=〇,丨吣… 這使得j為網站i之一劃分伺服器。我們設3二2 —1 , ..1J 及bij = i。儘 官.…1,若網站i只有公眾流量存纟,任何指派至網 站i的伺服器j可視為正式地。因此我們設^广❿,』及匕4。 亦恭為了處理飼服器負載上超過負載限制Lj的情況,我們 ^需要供每一伺服器j調整回應時間函數Rj。而此可能不可 ^订’至少在靜態程序元件程序之前階段,而我們需要藉 在一大目標函數成本面對可行性處理此些問題。因此考 慮一非常大之數Q及為k設1 (k) = Rj (k),但& (Lj + 1 )^. + Q(Lj+2)=i(Lj + 1) + 2Q,其餘類推。此典型循環 定義為: (Lj+k)-^ (Lj+k-1 ) + kQ----------------(24) 其中’ k>〇。注意&仍為凸及遞增的。我們同時定義最大
第38頁 200302644 五、發明說明(35) ; 可接受負載為h = 。 讓〇及i分別為網站i之預測公眾及個人負載。我們 會基於此情況說明每一網站存在之公眾及個人流量,但當 不是這些情況時,則可快速決定大約之修正。 在不失一般性的情況下使我們假設就增加預測總負載 心+1方面,網站已被再變址(re index)。我們亦假設可在 增加效能方面,伺服器已被再變址。例如,此可藉由他們 原有最大可接受負載Lj決定。 起始指派方法之第一步驟為依先後順序至可能範圍匹 配網站與伺服器。此可能性限制自特定伺服器之特定網 站,以及必須考慮這些限制。因此’迴圈自網站i=i依次 至Μ,如第9圖之步驟305至335,步驟325設αί>Λ =1,直中; 為最低可行指標’㈣前尚未指派伺服器,及設所有其他 J有在开起始〜=G °在推測極不可能的情況下,所有網站沒 有可灯乳派可能是有可能的’這會因限 可能因M>N而發生,在此妝π击。π 1禾1千而亦 否則,合右L 中此起始指派技術已失敗。 中:曰 刀伺服益在此點,即有Ν-Μ個伺服器閒置 200302644 五、發明;說明(36) 我們為此起始解決方法/士 4 Μ ^ Σ^. 2-1 乃决估叶此目標函數,會產生 (C2. +rf,)---------〜〜 ------(25) 此起始解決方法藉由薈广 正。此誘導利用-公制的=鄰近跳出誘導進行修 可能指派間的距離,我們4:;:;於兩個網站至伺服器 :二 程序(lterativ —r__t
u '二π止圖避免當達到相當低計算成本時陷入區域 ^ 士卩又°又此預先疋義之公制△在尋找可行解決方法空 間=%刻,加上一如前所述存在起始可行的解決方法,此 技彳ϊ X ( s t a g e)進行。在每一階的開始有所謂的目前解 決方法,被在此階被修正。在第一階的開始目前解決方法 為起始解決方法。每一階依次地尋找關於目前解決方法距 離1 2專之鄰近(ne丨ghb〇rh〇〇d )。(關於目前解決方法距 離k之鄰近係為所有自目前解決方法之距離小於或等於k之
可能指派之集合,一關於目前解決方法距離k之一環 (r 1 ng)係為所有自目前解決方法之詎離等於k之可能指派 之集合’係為距離k之鄰近減距離k — l之鄰近)。若可在關 於目前解決方法距離1之鄰近發現〆目標函數之改進,此 誘導選擇最佳改進處,重新標示為目前解決方法,及藉由 開始下一階反覆此程序。若在距離1之鄰近沒發現改進 處’誘導會考慮以距離2之環取代。爲— 人地有兩種可
第40頁 200302644 五、發明說明(37) 能··若有一改進處’此改進處被選為目前解決方法及此程 序於下一階開始。备否’則此程序考慮距離3之環,以此 類推,直到一固定距離限制’ k。若在第k個環中仍未有目 標函數改進達成,此程序以一最終解決方法等於目前解決 方法終止。檢查不同環發生在第9圖之步驟3 6 〇,3 8 0及 385。步驟370檢查改進處。 第8圖說明此程序。此目, 鄰近第一集合之中心4 0 0,距离 鄰近及之後的環,直到發現改 離K發現改進處。此誘導在以 尋目前解決方法為最佳改進處 關於解決方法之鄰近。在第三 現在開始’雖然未顯示於圖中 法產生一改進,此起始解決方 現在定義此距離公制△。 兩個指派,及定義 此處之目的很簡單:例如 t解決方法在起始階開始在 1 1。此誘導依次找尋第一 進處。圖中只有在第k環距 新中心4 1 0之找尋中重新找 ’及開始第二階。此圖顯示 環中發現一改進處。第三階 。萬一在第一級第k個環無 法會已是此最終解決方法。 设 4 ==(0^.)及·Λ2 為 -S-----(26) 我們藉由加上或減去一單 200302644 五、發明說明(38) 一網站至一個伺服器,修正一個指派i1為一新的指派 A2 ,可得到Λ ’ J 。第8圖中,一網站自一舊伺服器 之移動至一新伺服器(之前未有網站之指派)具有距離2。 自一伺服器取出一個網站及同時加入一個不同的網站至伺 服器亦具有距離2。在不同伺服器上不同網站的交換具有 距離4,以此類推。 . A 對於一給定解決方法乂及其轉換的指派矩陣 J及 2 此改進測試係關於最小化解決目標程序元件問題 (27) 此最小化函數受限於 Ν · « ^ ~ C i (28) 〇 若〜=0--------------------------(29) 以及-----------------------------(30) # 4=0若 (31) 當然,關於\ = 00的限制條件是無意義的。但給定超 過限制L負載的成本可預期此解決方法滿足
第42頁 200302644 五、發明說明(39) Μ ㈣ Σ(^ν + 7ιν)^{〇ν..?£ 對母一伺服态j在鄰近姚出 (32) 面皆可仃的指派可以报快順 /又N。因此所有方 少數階典型指派高額網站至义田確,此程序的第一 此技術會典型地首先改變古^ & 的甸服器,及接著 將劃分伺服器轉為叢集伺::的伺服器的狀態,首先 一增加程序會週期性地執行, 預測及上述等的存在以保持 ^週-次,在改變 地,其事實上使用相同的方法。凋占至伺服器指派。幸運 此起始解決方法為自最後一 決方法,當然,我們可_由鄰> ^静恶^序元件的目前解 外是利用-額4工由修正。唯-的意 過一些使用者定義的門檻值T則停止σ目別解決方法超 變的執行是昂貴的,並且我此原因在於指派改 方法”於静恶程序元件回合的依次的例子。 3 0 0起妒網第』圖炎η洋細說明靜怨程序之實施例。開始步驟 二服哭ΪΙ為步驟3°5起始词服器]為1。步_〇決 疋如Ί服為]對於網站丨是否可行。 、 / 定伺服哭彳θ义e 疋,進行步驟3 2 0,決 疋刎服态]目刖是否沒被指派。若 、力 則於步驟3 2 5指、、斤>η Ββ哭·菸^丰 如]目則/又被才日派’ 诹札派伺服為]及在步驟33〇增加網站丄。步驟 200302644 五、發明說明(40) 33 5決定1是否小於或等於網站M的總數目。若是,回到步 驟3〇5。若步驟31〇或32〇的測試失敗,則進行步驟34〇 /辦 目。右=,會到步驟31〇。若否,在步驟35〇以一不可行解 . m〇r^現在回到網站在步驟3 3 5已耗盡的情況,進 仃γ驟5 5,開始程序的鄰近跳出元件。給定方程式 (25),估计此解決方法之R值。步驟3 6 0設k = l。步驟365尋 „環以估計最佳可能解決方法Rk。步驟37〇估算盥最 方法R比較的Rk。若新的值較在步驟3?5中:最 在步驟繼增加k。步驟385決定是否所“n已有用上好若則 否,則返回步驟365。否則在步驟3 9〇以最終指派解決方法 終止。 本發明可輕易自動化執行,例如利用一儲存媒體之指 令程式,可藉由一執行指令之機械能力讀取,如一電腦。 亦可了解的是"網站”一詞並不侷限本發明利用在全球 資訊網上的超文字標記語言(Hypertext MaFkup
Language)文件’而是包含了任何可接收客戶請求、 結果、及與伺服器等連接之使用者網路介面,例如,區域 網路(local area network)等 〇 亦可了解的是此處所揭露之所有物理量,除非明確地 第44頁 ^uuj>uz〇44 五、發明說明(41)__ 指示,否則均非限 ^ 等。進一步地,”大^ ^露之量完全相等,而是大約相 何揭露之物理量需為3一 4修飾語之省略並非明確的指示任 此處所揭露任何其他二^ ^量,與此修飾語是否用於關於 切理1無關。 藉由以上較佳且给 描述本發明 > 杜~ ^ n &例之詳述,係希 I I明之特徵與精 你布望能更加清楚 ^並非對本發明之範 〃所揭露的較佳具體實施 各種改變及妁玺& 限制0相反地,μ、+、^ ^ *。田: 的安排皆為本,明“的說明以及 可口此,本發明所申請二月所欲党到保護的範 =况明作最寬廣的解釋,並m ::圍的範疇應該根據上述 具均等性的安排。 / 口 |所有可能均等的改變以及 200302644 圖式簡單說明 五、【圖示簡單說明】 第1圖揭露一包含網路發送器及多個伺服器的集中式 網路服務。 第2圖揭露部分目標程序的一自一虛節點至贏節點路 徑 第3圖揭露一目標程序流程圖。 第3 b圖揭露目標程序的一起始步驟流程圖。 第3 c圖揭露目標程序的一路徑薄記步驟流程圖 第3d圖揭露目標程序的一圖解薄記步驟流程圖 第 4圖揭露動 態 程 序 流程 圖 〇 第 5圖揭露在 一 例 子 中用 以 說 明 動 態 程 序 的 網站符 詞彙 :表 〇 第 6圖揭露在 同 一 例 子中 , 靜 態 程 序 的 有 向 圖。 第 7圖揭露在 同 一 例 子中 靜 態 程 序 的 無 向 圖。 第 8圖揭露靜 態 程 序 中的 鄰 近e scape heur i stic 。 第 9圖揭露靜 態 程 序 流程 圖 ο 元件 •符 號說明 12a 第一網站 12b 第 二 網 站 12c 第三網站 13 伺 服 器 15 網路發送器 20 虛 即 點 21 伺月艮器 22 伺 服 器 23 伺月艮器 24 祠 服 器 25 贏節點 400 中 心
第46頁 200302644

Claims (1)

  1. 200302644 六、申請專利範圍 1. 一種供控制一集中式網路服務(w e b f a r m )之方法,該集 中式網路服務具有複數個網站及伺服器,該方法包含: 將自該網站接收之客戶請求歸類為複數個種類,該種 類包含一可分享客戶請求及一非可分享客戶請求; 安排該可分享客戶請求,使任何的該伺服器可處理自 不同的該網站接收的可分享客戶請求;以及 安排自特定該網站的該非可分享客戶請求至該特定網 站已指派的特定伺服器。 2. 如申請專利範圍第1項所述之方法,進一步包含一目標 程序,該目標程序包含為每一該客戶請求在每該客戶請求 指派至之該伺服器中,決定一最佳伺服器,以便在任一給 定時間,給定該網站之該指派至該伺服器及一目前客戶請 求負載,最小化一平均客戶回應時間。 3.如申請專利範圍第2項所述之方法,其中該目標程序係 受最小化函數 # Σ ΊΣ (xu·+兄·,』·)] 的影響,此最小化函數受限於
    第48頁 200302644 六、申請專利範圍 N Σ xu =ci 若、 N Σ凡v= /=1 : Λ· =0 若〜 以及 其中Μ為網站數目,N為伺服器數目,Rj是期望回覆時間, 同在伺服器j的客戶到達率之一函數,xu·為一決定變數, 表示供可被伺服器j處理的網站i可分享請求的假設數目, 為一決定變數,表示供可被伺服器j處理的網站i非可分 享請求的假設數目,Lj為伺服器j的最大可接受負載,q為 自網站i的可分享客戶請求目前數目,屯為目前自網站i的 非可分享客戶請求目前數目,a"為一指數指出自網站i的 可分享請求可被安排至伺服器j及為一指數指出自網站i 的非可分享請求可被安排至伺服器j。 4.如申請專利範圍第3項所述之方法,進一步包含: 建立及維持一有向圖,該有向圖包含一虛節點及複數 個伺服器點,每該伺服器點對應一個該伺服器; 指定一個該伺服器點為一贏節點,使式子 (x。· +凡- ~ [Σ (½. + 凡") 1=1 2=1 最小化;以及
    第49頁 200302644 六、申請專利範圍 自該虛節點至該贏節點選取一最短有向路徑。 5. 如申請專利範圍第1項所述之方法,進一步包含一靜態 程序,該靜態程序包含指派特定該網站至特定該伺服器, 以達成處理非可分享客戶請求的目的。 6. 如申請專利範圍為第5項所述之方法,其中該靜態程序 指派該網站至特定伺服器,係根據自每該網站之可分享客 戶請求及非可分享客戶請求之預測需求。 7. 如申請專利範圍第2項所述之方法,其中包含一動態程 序,該動態程序包含: 檢查下一個客戶請求; 啟動該目標程序,以決定供處理該下一個客戶請求之 目前最佳伺服器;以及 發送該下一個客戶請求至該最佳伺服器。 8.如申請專利範圍第7項所述之方法,進一步包含 接收該客戶請求至一列;以及 其中該動態程序進一步包含: 監視在該列中的該客戶請求; 監視目前被該伺服器處理的客戶請求;
    第50頁 200302644 六、申請專利範圍 為每一 jth伺服器定義一巧㈤函數,藉由設定 Σ i. 為每一 jth伺服器定義一校正可接受負載限制 藉由 ;以及 Lj =Lj 啟動該目標程序以利用該函數及校正可接受 負載限制ζ·/最小化函數 Σα.[Σ(χ。··^·)] j=l i=l 的影響,此最小化函數受限於 Μ / . . \ 「 ·〕 Σ 乂。+〜Η〇,_··,~[ Σχ^· 以及 Λ
    ii Μ 第51頁 200302644 六、申請專利範圍 〜=〇 若h=〇 , 其中〜為一決定變數,表示供可被伺服器]處理的網站i在 該列中的可分享請求的假設數目,h,,為一決定變數,表 示供可被伺服器j處理的網站i非可分享請求的假設數目, 為列中自網站i的可分享客戶請求的目前數目,I為列中 自網站i的非可分享客戶請求的目前數目,“目前被一個 伺服器處理的列中自網站i的可分享客戶請求的目前數 目’ a為目前被一個伺服器處 戶請求的目前數目。 处理的自為站!的非可分享客 9. 一種藉由機器讀取的程式儲 〇nStrUCtl0n)的程式,該指令可笋由兮有形地包含一指令 方法步*,供控制一集中式 猎由该機器執行以完成 具有複數個網站及伺 该集中式網路服務 將自該網站接收之客戶包含: 類包ί一7分享客戶請求及二非二員ίϊ數個種類,該種 女排該可分享客戶士主 刀旱各戶請求; 不同的該網站接收的可;享客的該伺服器可處理自 安排自特定該網站的該;以及 自 站已指派的特定伺服器。 刀予客戶請求至該特定網 第52頁 200302644 六、申請專利範圍 1 0.如申請專利範圍第9項所述之裝置,進一步包含一目標 程序,該目標程序包含為每一該客戶請求在每該客戶請求 指派至之伺服器中,決定一最佳伺服器,以便在任一給定 時間,給定該網站之該指派至該伺服器及一目前客戶請求 負載,最小化一平均客戶回應時間。 11.如申請專利範圍第1 0項所述之裝置,其中該目標程序 係受最小化函數 ίχ[ί: (',〜·)] ;=1 1=1 的影響,此最小化函數受限於 , Ν = 士 >=1 5 ^ = ° 若 % 二 〇 , 以及 Λ = 〇 若 \ = 〇 , 其中Μ為網站數目,Ν為伺服器數目,Rj是期望回覆時間, 同在伺服器j的客戶到達率之一函數,xh·為一決定變數, 表示供可被伺服器j處理的網站i可分享請求的假設數目, Yu為一決定變數,表示供可被伺服器j處理的網站i非可分 享請求的假設數目,h為伺服器j的最大可接受負載,q為
    第53頁 200302644 六、申請專利範圍 自網站i的可分享客戶請求目前數目,山為自網站i的非可 分享客戶請求目前數目,au為一指數指出自網站i的可分 享請求可被安排至伺服器j及b為一指數指出自網站i的非 可分享請求可被安排至伺服器j。 1 2.如申請專利範圍第1 1項所述之裝置,進一步包含: 建立及維持一有向圖,該有向圖包含一虛節點及複數個伺 服器點,每該伺服器點對應一個該伺服器; 指定一個該伺服器點為一贏節點,使式子 Rj [Σ (xu. + 凡.,·?. +1)]_ ΊΣ (又。·+凡.,)) 2=1 ί=1 最小化;以及 自該虛節點至該贏節點選取一最短有向路徑。 1 3.如申請專利範圍第9項所述之裝置,進一步包含一靜態 程序,該靜態程序包含指派特定該網站至特定該伺服器。 1 4.如申請專利範圍為第1 3項所述之方法,其中該靜態程 序指派該網站至特定伺服器,係根據自每該網站之可分享 客戶請求及非可分享客戶請求之預測需求。 1 5.如申請專利範圍第1 0項所述之裝置,其中包含一動態 程序,該動態程序包含: 檢查下一個客戶請求;
    第54頁 200302644 六、申請專利範圍 啟動該目標程序,以決定供處理該下一個客戶請求之 目前最佳伺服器;以及 發送該下一個客戶請求至該最佳伺服器。 1 6.如申請專利範圍第1 5項所述之裝置,進一步包含: 接收該客戶請求至一列;以及 其中該動態程序進一步包含: 監視在該列中的該客戶請求; 監視目前被該伺服器處理的客戶請求; 為每一 j th伺服器定義一 函數,藉由設定 r /.. y 為每一 jth伺服器定義一校正可接受負載限制4 , 藉由 ;以及
    Lj = Lj + 啟動該目標程序以利用該巧㈠函數及校正可接受
    負載限制4最小化函數 f^.[i (〜·+&)] J=1 2=1 的影響,此最小化函數受限於 200302644 六、申請專利範圍 Σ Σχ。·= ;'=1 =Ci •X穸=0 若~ Ν . =di 户1 若〜· 以及 其中〜為一決定變數,表示供可被伺服器j處理的網站i在 該列中的可分享請求的假設數目,為一決定變數,表 示供可被伺服器j處理的網站i非可分享請求的假設數目, ^為列中自網站i的可分享客戶請求的目前數目,么為列中 自網站i的非可分享客戶請求的目前數目,^為目前被一個 伺服器處理的列中自網站i的可分享客戶請求的目前數 目,1為目前被一個伺服器處理的自網站i的非可分享客 戶請求的目前數目。 1 7. —種集中式網路服務,包含: 一裝置供自客戶接收客戶請求; 一裝置供處理該客戶請求以產生回應; 一裝置供傳送該回應至該客戶;
    第56頁 200302644 六、申請專利範圍 一裝置供將該客戶# 分享客戶請求; a , v頰為可分享客戶請求及非可 一網路發送器,包含 程序及一動態程序; 、供執行一目標程序,一靜態 該目標程序包含為每一上 派至之伺服器中,決定—m j客戶請求在每該客戶請求指 間,給定該網站之該指派:::司服,以便在任一給定時 載,最小化一平均客戶回鹿二=服益及一目前客戶請求負 可指派至任何該伺服器,:::,其中該可分享客戶請求 派至特定伺服器,該特定2八:該非可分享客戶請求僅指 來源之該網站; 5服器依附該非可分享客戶請求 態程序包含指派特 该動態程序包含: *6主"亥伺服益,以及 檢查下一個客戶請求·, 啟動該目標程序,土 — 泉之目前最佳伺服器;以及,失疋七、處理該下-個客戶請 毛亥了 _客戶請求至該最佳伺服器。 _ II 第57頁
TW092101446A 2002-01-24 2003-01-23 Method and apparatus for web farm traffic control TWI238621B (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US10/057,516 US7356592B2 (en) 2002-01-24 2002-01-24 Method and apparatus for web farm traffic control

Publications (2)

Publication Number Publication Date
TW200302644A true TW200302644A (en) 2003-08-01
TWI238621B TWI238621B (en) 2005-08-21

Family

ID=22011052

Family Applications (1)

Application Number Title Priority Date Filing Date
TW092101446A TWI238621B (en) 2002-01-24 2003-01-23 Method and apparatus for web farm traffic control

Country Status (10)

Country Link
US (1) US7356592B2 (zh)
EP (1) EP1472846B1 (zh)
JP (1) JP3989443B2 (zh)
KR (1) KR100754296B1 (zh)
CN (1) CN100556024C (zh)
AT (1) ATE301364T1 (zh)
CA (1) CA2471594C (zh)
DE (1) DE60301202T2 (zh)
TW (1) TWI238621B (zh)
WO (1) WO2003063447A1 (zh)

Families Citing this family (46)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7451183B2 (en) * 2003-03-21 2008-11-11 Hewlett-Packard Development Company, L.P. Assembly and method for balancing processors in a partitioned server
US7406691B2 (en) 2004-01-13 2008-07-29 International Business Machines Corporation Minimizing complex decisions to allocate additional resources to a job submitted to a grid environment
US7562143B2 (en) 2004-01-13 2009-07-14 International Business Machines Corporation Managing escalating resource needs within a grid environment
US7552437B2 (en) 2004-01-14 2009-06-23 International Business Machines Corporation Maintaining application operations within a suboptimal grid environment
US20060048157A1 (en) * 2004-05-18 2006-03-02 International Business Machines Corporation Dynamic grid job distribution from any resource within a grid environment
US7266547B2 (en) 2004-06-10 2007-09-04 International Business Machines Corporation Query meaning determination through a grid service
US7584274B2 (en) * 2004-06-15 2009-09-01 International Business Machines Corporation Coordinating use of independent external resources within requesting grid environments
US7712102B2 (en) 2004-07-30 2010-05-04 Hewlett-Packard Development Company, L.P. System and method for dynamically configuring a plurality of load balancers in response to the analyzed performance data
US7712100B2 (en) * 2004-09-14 2010-05-04 International Business Machines Corporation Determining a capacity of a grid environment to handle a required workload for a virtual grid job request
US20060168584A1 (en) * 2004-12-16 2006-07-27 International Business Machines Corporation Client controlled monitoring of a current status of a grid job passed to an external grid environment
US7793308B2 (en) * 2005-01-06 2010-09-07 International Business Machines Corporation Setting operation based resource utilization thresholds for resource use by a process
US7533170B2 (en) * 2005-01-06 2009-05-12 International Business Machines Corporation Coordinating the monitoring, management, and prediction of unintended changes within a grid environment
US20060149652A1 (en) * 2005-01-06 2006-07-06 Fellenstein Craig W Receiving bid requests and pricing bid responses for potential grid job submissions within a grid environment
US7668741B2 (en) * 2005-01-06 2010-02-23 International Business Machines Corporation Managing compliance with service level agreements in a grid environment
US7761557B2 (en) * 2005-01-06 2010-07-20 International Business Machines Corporation Facilitating overall grid environment management by monitoring and distributing grid activity
US7707288B2 (en) * 2005-01-06 2010-04-27 International Business Machines Corporation Automatically building a locally managed virtual node grouping to handle a grid job requiring a degree of resource parallelism within a grid environment
US7502850B2 (en) * 2005-01-06 2009-03-10 International Business Machines Corporation Verifying resource functionality before use by a grid job submitted to a grid environment
US7590623B2 (en) * 2005-01-06 2009-09-15 International Business Machines Corporation Automated management of software images for efficient resource node building within a grid environment
US7571120B2 (en) 2005-01-12 2009-08-04 International Business Machines Corporation Computer implemented method for estimating future grid job costs by classifying grid jobs and storing results of processing grid job microcosms
US7562035B2 (en) 2005-01-12 2009-07-14 International Business Machines Corporation Automating responses by grid providers to bid requests indicating criteria for a grid job
US8176408B2 (en) * 2005-09-12 2012-05-08 Microsoft Corporation Modularized web provisioning
US20070101061A1 (en) * 2005-10-27 2007-05-03 Guruprasad Baskaran Customized content loading mechanism for portions of a web page in real time environments
US7979789B2 (en) * 2005-12-19 2011-07-12 Microsoft Corporation System and method of replacing a delegate component associated with a delegate modular software component at software execution time
US20080043965A1 (en) * 2006-08-01 2008-02-21 Microsoft Corporation Provision and Management of Conference Websites
JP2008097378A (ja) * 2006-10-12 2008-04-24 Nomura Research Institute Ltd ジョブ管理装置、ジョブ実行装置、及びそれら装置を含むジョブ管理システム
US8225192B2 (en) * 2006-10-31 2012-07-17 Microsoft Corporation Extensible cache-safe links to files in a web page
US20080114879A1 (en) * 2006-11-14 2008-05-15 Microsoft Corporation Deployment of configuration data within a server farm
US8849746B2 (en) * 2006-12-19 2014-09-30 Teradata Us, Inc. High-throughput extract-transform-load (ETL) of program events for subsequent analysis
WO2009008630A2 (en) * 2007-07-06 2009-01-15 Lg Electronics Inc. Wireless network management procedure, station supporting the procedure, and frame format for the procedure
US9117235B2 (en) * 2008-01-25 2015-08-25 The Trustees Of Columbia University In The City Of New York Belief propagation for generalized matching
US8683062B2 (en) * 2008-02-28 2014-03-25 Microsoft Corporation Centralized publishing of network resources
US20090259757A1 (en) * 2008-04-15 2009-10-15 Microsoft Corporation Securely Pushing Connection Settings to a Terminal Server Using Tickets
US8612862B2 (en) 2008-06-27 2013-12-17 Microsoft Corporation Integrated client for access to remote resources
EP2377080A4 (en) 2008-12-12 2014-01-08 Univ Columbia DEVICES, METHODS AND SYSTEMS FOR MACHINE OPTIMIZATION
US8275853B2 (en) * 2009-01-29 2012-09-25 Hewlett-Packard Development Company, L.P. Method and system for a service intermediary selection in a web service management system
WO2010135586A1 (en) 2009-05-20 2010-11-25 The Trustees Of Columbia University In The City Of New York Systems devices and methods for estimating
US9836783B2 (en) 2009-07-24 2017-12-05 Avago Technologies General Ip (Singapore) Pte. Ltd. Method and system for content selection, delivery and payment
US20120259913A1 (en) * 2011-04-07 2012-10-11 Infosys Technologies, Ltd. System and method for implementing a dynamic change in server operating condition in a secured server network
US20120259956A1 (en) * 2011-04-07 2012-10-11 Infosys Technologies, Ltd. System and method for implementing a dynamic change in server operating condition in a secured server network
JP5724687B2 (ja) 2011-07-04 2015-05-27 富士通株式会社 情報処理装置、サーバ選択方法、及びプログラム
US9082082B2 (en) 2011-12-06 2015-07-14 The Trustees Of Columbia University In The City Of New York Network information methods devices and systems
US8868711B2 (en) * 2012-02-03 2014-10-21 Microsoft Corporation Dynamic load balancing in a scalable environment
US9852010B2 (en) 2012-02-03 2017-12-26 Microsoft Technology Licensing, Llc Decoupling partitioning for scalability
US10860384B2 (en) 2012-02-03 2020-12-08 Microsoft Technology Licensing, Llc Managing partitions in a scalable environment
EP3279756B1 (de) * 2016-08-01 2019-07-10 Siemens Aktiengesellschaft Diagnoseeinrichtung und verfahren zur überwachung des betriebs einer technischen anlage
CN107979876B (zh) * 2017-11-16 2022-01-07 广州市百果园网络科技有限公司 数据传输方法及终端

Family Cites Families (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2281793A (en) * 1993-09-11 1995-03-15 Ibm A data processing system for providing user load levelling in a network
US5774668A (en) * 1995-06-07 1998-06-30 Microsoft Corporation System for on-line service in which gateway computer uses service map which includes loading condition of servers broadcasted by application servers for load balancing
US5806065A (en) * 1996-05-06 1998-09-08 Microsoft Corporation Data system with distributed tree indexes and method for maintaining the indexes
US6119143A (en) * 1997-05-22 2000-09-12 International Business Machines Corporation Computer system and method for load balancing with selective control
US6351775B1 (en) * 1997-05-30 2002-02-26 International Business Machines Corporation Loading balancing across servers in a computer network
US6633916B2 (en) * 1998-06-10 2003-10-14 Hewlett-Packard Development Company, L.P. Method and apparatus for virtual resource handling in a multi-processor computer system
US6185598B1 (en) * 1998-02-10 2001-02-06 Digital Island, Inc. Optimized network resource location
US6611861B1 (en) * 1998-02-27 2003-08-26 Xo Communications, Inc. Internet hosting and access system and method
US6098093A (en) * 1998-03-19 2000-08-01 International Business Machines Corp. Maintaining sessions in a clustered server environment
US6112279A (en) * 1998-03-31 2000-08-29 Lucent Technologies, Inc. Virtual web caching system
US6092178A (en) 1998-09-03 2000-07-18 Sun Microsystems, Inc. System for responding to a resource request
JP3550503B2 (ja) * 1998-11-10 2004-08-04 インターナショナル・ビジネス・マシーンズ・コーポレーション 通信を可能とするための方法及び通信システム
US6728748B1 (en) * 1998-12-01 2004-04-27 Network Appliance, Inc. Method and apparatus for policy based class of service and adaptive service level management within the context of an internet and intranet
EP1049307A1 (en) * 1999-04-29 2000-11-02 International Business Machines Corporation Method and system for dispatching client sessions within a cluster of servers connected to the World Wide Web
US6976077B1 (en) * 1999-07-06 2005-12-13 Microsoft Corporation Automatic and transparent synchronization of server-side state information with a client application
US6697849B1 (en) * 1999-08-13 2004-02-24 Sun Microsystems, Inc. System and method for caching JavaServer Pages™ responses
US6374297B1 (en) * 1999-08-16 2002-04-16 International Business Machines Corporation Method and apparatus for load balancing of web cluster farms
US6771595B1 (en) * 1999-08-31 2004-08-03 Intel Corporation Apparatus and method for dynamic resource allocation in a network environment
US6772333B1 (en) * 1999-09-01 2004-08-03 Dickens Coal Llc Atomic session-start operation combining clear-text and encrypted sessions to provide id visibility to middleware such as load-balancers
US6798747B1 (en) * 1999-12-22 2004-09-28 Worldcom, Inc. System and method for time slot assignment in a fiber optic network simulation plan
US7000007B1 (en) * 2000-01-13 2006-02-14 Valenti Mark E System and method for internet broadcast searching
US6587970B1 (en) * 2000-03-22 2003-07-01 Emc Corporation Method and apparatus for performing site failover
WO2002008870A2 (en) * 2000-07-26 2002-01-31 David Dickenson Distributive access controller
US6985956B2 (en) * 2000-11-02 2006-01-10 Sun Microsystems, Inc. Switching system
US6901448B2 (en) * 2000-12-29 2005-05-31 Webex Communications, Inc. Secure communications system for collaborative computing
US20020087679A1 (en) * 2001-01-04 2002-07-04 Visual Insights Systems and methods for monitoring website activity in real time
US20020198995A1 (en) * 2001-04-10 2002-12-26 International Business Machines Corporation Apparatus and methods for maximizing service-level-agreement profits
US6675264B2 (en) * 2001-05-07 2004-01-06 International Business Machines Corporation Method and apparatus for improving write performance in a cluster-based file system

Also Published As

Publication number Publication date
TWI238621B (en) 2005-08-21
KR20040075048A (ko) 2004-08-26
DE60301202T2 (de) 2006-04-20
CN1706165A (zh) 2005-12-07
ATE301364T1 (de) 2005-08-15
JP2005516293A (ja) 2005-06-02
WO2003063447A1 (en) 2003-07-31
CN100556024C (zh) 2009-10-28
EP1472846B1 (en) 2005-08-03
KR100754296B1 (ko) 2007-09-03
US20030140143A1 (en) 2003-07-24
JP3989443B2 (ja) 2007-10-10
US7356592B2 (en) 2008-04-08
CA2471594C (en) 2010-06-01
CA2471594A1 (en) 2003-07-31
EP1472846A1 (en) 2004-11-03
DE60301202D1 (de) 2005-09-08

Similar Documents

Publication Publication Date Title
TW200302644A (en) Method and apparatus for web farm traffic control
Zuo et al. A multi-objective optimization scheduling method based on the ant colony algorithm in cloud computing
Rafieyan et al. An adaptive scheduling approach based on integrated best-worst and VIKOR for cloud computing
US9524472B2 (en) Distributed scalable incrementally updated models in decisioning systems
Fehling et al. A framework for optimized distribution of tenants in cloud applications
JP2007528060A (ja) アイテムのユーザ評価を見積るためのアプローチ
CN105119751B (zh) 一种基于环境实时感知的服务评估及选取方法
Tasiopoulos et al. FogSpot: Spot pricing for application provisioning in edge/fog computing
Muthsamy et al. Task scheduling using artificial bee foraging optimization for load balancing in cloud data centers
Yuan et al. A dynamic deep-learning-based virtual edge node placement scheme for edge cloud systems in mobile environment
Nguyen et al. Two-stage robust edge service placement and sizing under demand uncertainty
Soulegan et al. MTC: minimizing time and cost of cloud task scheduling based on customers and providers needs using genetic algorithm
Entezari-Maleki et al. Modeling and evaluation of service composition in commercial multiclouds using timed colored Petri nets
Paul Martin et al. CREW: Cost and Reliability aware Eagle‐Whale optimiser for service placement in Fog
Li et al. Data-driven optimization for cooperative edge service provisioning with demand uncertainty
Shenbaga Moorthy et al. Optimal provisioning and scheduling of analytics as a service in cloud computing
Tao et al. DSARP: Dependable scheduling with active replica placement for workflow applications in cloud computing
Sadashiv et al. Broker-based resource management in dynamic multi-cloud environment
Kavitha et al. Dynamic resource allocation in cloud infrastructure using ant lion‐based auto‐regression model
Xue et al. Mining association rules for admission control and service differentiation in e‐commerce applications
Malti et al. Multi‐objective task scheduling in cloud computing
Varalakshmi et al. A multi-broker trust management framework for resource selection in grid
D’Oro et al. Orchestrating softwarized networks with a marketplace approach
Silas et al. An efficient service selection framework for pervasive environments
Kumar et al. Trust based resource selection and list scheduling in cloud computing

Legal Events

Date Code Title Description
MM4A Annulment or lapse of patent due to non-payment of fees