TWI238621B - Method and apparatus for web farm traffic control - Google Patents
Method and apparatus for web farm traffic control Download PDFInfo
- Publication number
- TWI238621B TWI238621B TW092101446A TW92101446A TWI238621B TW I238621 B TWI238621 B TW I238621B TW 092101446 A TW092101446 A TW 092101446A TW 92101446 A TW92101446 A TW 92101446A TW I238621 B TWI238621 B TW I238621B
- Authority
- TW
- Taiwan
- Prior art keywords
- server
- website
- requests
- shareable
- customer
- Prior art date
Links
Classifications
-
- 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/1006—Server selection for load balancing with static server selection, e.g. the same server being selected for a specific client
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations 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/163—Interprocessor communication
- G06F15/173—Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations 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
-
- 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/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/1023—Server selection for load balancing based on a hash applied to IP addresses or costs
-
- 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/60—Scheduling 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/63—Routing a service request depending on the request content or context
-
- 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/10015—Access to distributed or replicated servers, e.g. using brokers
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Computer And Data Communications (AREA)
- Information Transfer Between Computers (AREA)
- Replacement Of Web Rolls (AREA)
- Multi Processors (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
1238621 , / 替換頁 2004/09/13 V ” 〇 案號:92101446 九、發明說明: 【發明所屬之技術領域】 本發明是有關於一種集中式網路服務系統之負載平 衡0 【先前技術】 集中式網路服務系統日漸普及,而集中式網路服務系 統之關鍵觀念即為多數不同的網站(website)分享合出的資 源(pooled resource) ’ 一般會藉由共享一共有的前端發送器 (front>end dispatcher) ’以執行負載控制及分配客戶請求。 集中式網路服務系統自己分享複數個網路伺服器。集中式 網路服務系統亦藉由分享後端頻寬(back_end bandwidth),、 以回覆客戶請求結果。軟體及硬體部分一般係由單一伺服· 器提供者或内容主機(content host)所擁有、操作及維持。· 目剷提供或計劃提供此項服務的公司包含:AT&T、Exodus
Intel,IBM,Qwest, Verio,及 WorldCom。 ’, 而集中式網路服務系統的一個主要挑戰即為有效地 平衡伺服器的負載,以便最小化達到系統的平均回應時 間。伺服器的過度使用會造成客戶請求的極度延遲。^一 方面,伺服器的過度使用是浪費的。最小化平均回應時間 可達成最大化集中式網路服務系統生產量的雙效應丨 effect)。此意味著前端發送器的負載控制程序可較1容, 駁回較少請求。 、谷’ 集中式網路服務系統的一個主要動機為因合出的資 源造成的效率,每個網站被指派至一組一個或多個饲服 理慈 4旧M/0303TW,Y〇R9-200[0666(JHW) 1238621 )〇 ί 替換頁 2004/09/13 案號:92101446 為。然而’習知技術假設網站的分派在伺服器間劃分。意 即,沒有伺服器處理來自多於一個網站的流量。 建立多組包含多個伺服器之後的基本原理是可行 的。在不同的網站中的客戶請求分配典型為高度非均勻 (r^on-uniform)。一些網站可能較其他網站大為受歡迎,而 這些熱門網站的普及會使流量大到指派至一單一伺服器 會使伺服器超過負載。因此,為了達到可接受的表現,指 派一些網站至多個伺服器是需要的。 曰 抑所知的實施負載平衡的演算法可供劃分的案件,但伺 服器的劃分導致較小雜及較少理想平衡_的平衡。 【發明内容】 本發明係一種控制集中式網路服務系統(web farm)之 方法,此集中式網路服務系統具有複數個網站及伺服器, 此方法包含將自網站接收之客戶請求歸類為複數個種 類’此麵包含-可分享之客戶請求及非可分享之客戶請 求安排可分旱之客戶請求,使任何的伺服器可處理自不 ,網^接收的可分享之客戶請求,並安排自特定網站的非 刀旱之客戶。月求至已被斗寺定網站指派的特定飼服器。 此方法之另一方面進一步包含一目標程序,此目標程 序包含為每—客戶請求在每—客戶請求指派至之伺服器 i|-4.BM/0303TW.Y〇R9.2〇〇1.〇666(jHw) i 一, 、 ? \9}J; rh η 6 替換頁 2004/09/13 — 案號:92101446 中决疋一最佳伺服器,以便在任一給定時間,給定網站 之指派至伺服器及一目前客戶請求負載,最小化一平均客 戶回應時間。 此方法之另一方面,此目標程序係受最小化函數 的影響,此最小化函數受限於 Σ(〜+八>{〇,.··,&}’买\=C/ ,。若〜=0,交八广 7=1 ' 以及心.=〇若〜=〇,其中M為網站數目,N為伺服器數 目’ Rj是期望回覆BH1,同在伺服器j的客戶到達率之一 函數,XlJ為-決定變數,表示供可被伺服器j處理的網站 1可分享請求的假設數目L決定魏,表示供可被 祠服器j處理的網站i非可分享請求的假設數目,^為饲 服⑴的最大可接受負載’Ci為自網⑹的可分享客^請求 目前數目’dl為目前自網站i的非可分享客戶請求目前數 目’ a,]為-指數指出自網站丨的可分享請求可被安排至飼 服器j及^為-指數指出自網站i的非可分享請求可被安 排至伺服器j。 此方法之另-方面進-步包含建立及維持一有向 理慈 4IBM/0303TW,YOR9-2001-0666(JHW) 1238621 ί〇 ί 圖,此有向圖包含 器點對應一個词服 式子 替換頁 2004/09/13 案號·· 92101446 虛即點及複數個伺服器點,每一伺服 器;指定—個伺服器點為-臝節點,使 Μ 丨[Σ(Ά,, +ι)卜A rfvr /=1 最小化;以及自虛節點至 藏節點選取-最短有向路徑。 此方法之另一方面進_步包含 序包含彳日派特定網站校伺服器 ‘靜態程序,此靜態程 去之另方面’靜態程序指派網站至特定伺服 器’係根據自每_之可分享客戶請求及非可分享客戶請 求之預測需求。 月 此方法之另一方面,其中包含一動態程序,此動態程 序包含檢查下-個客戶請求,啟動目標料,以決定哪個 伺服器為目前最佳伺服器,供處理下一個客戶請求·以及 發送下一個客戶請求至最佳伺服器。 此方法之另一方面進一步包含接收客戶請求至一 理慈 4旧M/0303TW,Y〇R9-20〇1-〇666(JHW) I ί238621 替換頁 2004/09/13 案號:92101446 ===== 定義一Λ士)函數,藉由設定心w
R + ,為母 L; :服々定義一'交正可接受負載限制、,藉由設定 客(7 ’小以及啟動目標程序以利用从)函數 及校正可接受負載_以小化函數ί^ί>„〜
7=1 /=1 ,J ,此最小化函數受限於I卜%)+..“,},1,,,%, 初=0若^0,|〜4,以及^=〇若^〇,其中 〜為一決定變數,表示供可被舰器j處理的網站i在列 中的可分享請求的假設數目’〜為―決定魏,表示供 可被飼服llj處理的網站丨非可分享請求的假設數目,〇為 列中自網站i的可分享客戶請求的目前數目,①為列中自 、,罔站i的非可分享客戶請求的目前數目,&為目前被一個 伺服器處理的列中自網站i的可分享客戶請求的目前數 目,山為目前被一個伺服器處理的自網站丨的非可分享客 戶請求的目前數目。 S^;4IBM/0303TW ' YOR9-2001-0666(JHW) ϊ 日I 替換頁2004/09/13 :lj 案號:92101446 本發明亦提供一種藉由機器讀取的程式儲存裝置,有 形地包含一指令(instruction)的程式,此指令可藉由機器執 行以完成方法步驟,供控制一集中式網路服務系統,此集 中式網路服務系統具有複數個晴及伺㈣,此方法包含 將自網站接收之客戶請求歸類域數個麵,此種類包含 -可分享客户請求及-非可分享客戶請求,安排可分享客 戶請求,使任何的伺服器可處理自不同的網站接收的可分 享客戶請求’以及安排自特定晴的非可分享客戶請求至 特定網站已指派的特定伺服器。 此裝置之另-方面包含一目標程序,此目標程序包含 為每-客戶請求在每-客戶請求指派至之舰器中,決定 -最佳伺服H ’以便在任—給定時間,給定網站之指派至 伺服器及一目前客戶請灰g都,| | v 谷尸W水負载,取小化一平均客戶回應時 此裝置之另一方面,此目標程序係受最小化函數 N Μ 从 心)]的影響’此最小化函數受限於
Xi\/ ~ ci ^ X..- y-l 理慈4_/〇3〇3™/,Y〇R9_2001_0666(jhw) 替換頁 2004/09/13 案號:92101446 |^’广4,以及3^0若〜=0,其中Μ為網站數目,Ν 為伺服器數目,是雛回覆_,同在舰⑸的客戶 到達率之-函數’ %為—決定魏,表示供可被伺服器』 處理的網站丨可分享請求的假設數目,刈為一決定變數, 表示供可被伺服器』處理的網站i非可分享請求的假設數 目’Lj為飼服器j的最大可接受負载,&為自網站丨的可分 享客戶請求目前數目,di為自網站1的非可分享客戶請求 目月’』數目,aij為一指數指出自網站i的可分享請求可被安 排至飼服器j及bij為一指數指出自網站丨的非可分享請求 可被安排至伺服器j。 此裝置之另-方面,進—步包含建立及維持一有向 圖’此有向圖包含—虛節點及複數個伺服器點,每-伺服 器點對應-_服器;指定―個伺服器點為—臝節點,使 Μ 式子〜各最小化, /=1 以及自虛 節點至赢節點選取一最短有向路徑。 此裝置之另-方面,進一步包含一靜態程序,此靜態 程序包含心派特定網站至特定伺服器。 理慈 4旧M/0303TW,Y〇R9部〇1_〇666(jhw) 11 11238621
替換頁 2004/09/13 案號:92101446 此裝置之另—方面,其中靜態程序指派網站至特定伺 服器’係根據自每之可分享客戶請求及非可分享客 戶請求之預測需求。 此裝置之另—方面包含—動態程序,此動態程序包含 檢查下一個客戶請求’啟動目標程序,以決定哪個飼服器 為目前最佳伺服器,供處理下—個客戶請求,以及發送下· 一個客戶請求至最佳伺服器。 此裝置之另-方面包含接收客户請求至一列,以及並 中動態程序進一步包含監視在列中的客戶請求,監視目前 被伺服器處理的客戶請求,為每—jth恤器絲—叫函 數,藉由設—為每-,储器定 義-校正可接受負載限制心,藉由設定 n|[C/y+‘) ’以及啟動目標程序以利用函數 及校正可接受負載限制心最小化函數^ 理慈 4旧M/0303TW ’ YOR9_2〇〇H)666(jhw) 12 1238621 替換頁 2004/09/13 案號:92101446 3 b έ , ㈣若^’&一’以及_若—(),其中〜 為决疋變數,表示供可被伺服器」·處理的網站i在列令 的可刀予π求的假設數目Ά—決定魏,表示供可 被舰器j處理的網站1非可分享請求的假設數目,4 網站1㈣術物目祕目,A為列中自 、’周站i的非可分旱客戶請求的目 飼服器處理的列中自㈣.& 數,為目别被-個 处自網站,的可分享客戶請求的目前數 目’ A為目前被—侧服器處理的 戶請求的目前數目。 刀子客 供自i?::二n:路服務系統’包含-裝置 分享客戶請求及非可分享客戶請求:、一 〜心客戶裝置供將客戶請求歸類 包含裝置供執行一目標程序, 網路發送器, 目標 二包,一客戶請求 =之指派服器及—目前客戶請 ^二 器,及財非可分享指派至任_^^ 句服哭#ϋ t客明求僅指派至特定伺服器,特定 〇 口口又、印刀旱客戶請求來源之網站,靜態程序包含 理慈 4_/〇303TW,Y〇R9_2〇〇1_〇666(jhw) 13 1238621 替換頁 2004/09/13 案號:92101446 η ^ ^ 指=特定網站至伺服器,以及動態程序包含檢查下一個客 户^求;啟動目標程序,以決定哪個伺服器為目前最佳伺 服器,供處理下一個客戶請求,以及發送下一個客戶請求 至最佳伺服器。 【實施方式】 本發明提供一種解決在集中式網路服務系統中平衡 負載問題的方法’本發明藉由允許在多個網站的伺服器指 派部分重疊,及以實際方式執行,此方式可讓不同網站的 鲁 擁有者感到愉快。美國專利申請號〇9/374,539,西元1999 年8月16號中請,代理人編號12793 (γ〇999_3077),發、 明名稱為叢集式網路服務負載平衡的方法及裝置,其中揭_ 露的全部技術係用來參考。 ’ 部分重疊網站組的基本原理是彈性的:集中式網路服 務系統必須能夠同時處理來自許多不同網站的客戶請 鲁 长且此客戶需求一般為爆發(Bursty)。由於網站的普及和 客戶混合,此爆發性可見於一週,一天及一小時。此證據 顯示這種情形亦會發生在較小的原子時間單元,例如分鐘 甚至秒鐘。此處的重點在於平均網站存取率並不足夠紀錄 客戶行為的易變天性。一個網站的流量可戲劇性地衰退及 曰長^一個網站流量少時,另一個網站卻很繁忙。因此 埋慈 4IB_03Tw,y〇R9 2〇〇i 〇666(jhw) ίΒ _862ΐ Π:賴i m 替換頁 2004/09/13 案號:92101446 希望處理多個網站的伺服器可修正這些網站的工作負載 平衡,以反應這些動態流量。要注意的是一個劃分設計並 不提供此反應能力。 本發明有效地合出伺服器資源及利用智能的方法,供 别端發送器平衡這些飼服器的負載。本發明足夠歸納去假 设每一個網站被指派至一個一組或多個一組的伺服器,近 一步地,這些組可部分重疊。若需要的話,一給定伺服器 的方法可處理來自多個網站的客戶請求。而次之的選擇是 劃分不同網站中的伺服n,使每—個伺服器處理來自一個 網站的請求。儘管效率較差,本發明亦可執行於少數特殊 情況。 然而,本案集中式網路服務系統的部分重疊並不是沒 有問題,儘管以技術的角度來看,—適當般的伺服器^ 供適當數目的網站使岐合理的,但從個人利益角度來 看,卻不合理。例如’-電子商務零f商可能反對與其他 零售商分享處理交易請求關㈣,儘管此舰器邏輯上 是在網站之·劃分的。料商的反對—般是基於個人因 素。幸運地’如此的特乎總是較少較㈣覽請求 理慈 4IBM/0303TW,Y〇R9-2001-0666(JHW) 15 1238621 丨0 ^ 替換頁 2004/09/13 案號:92101446 的分享伺服器。對負載平衡程序而言是可實行且完成的, 其必須有效地處理此議題。若有需要,將每一網站的工作 負載分開至兩個麵是可達成的,一類為非可分享的,另 -類為可分享的。這是假設公眾請求(職者域)可與自 其他網站之可分享請求分享_她器,亦可與來自同樣網 站的個人請求(交易動機)分享一飼服器。儘管部分重疊指 派的政策上易變議題,此重要之改進仍給予本發明所需之 舞性以表現良好。 雖然本發明在此處描寫客戶流量的兩個階層,任何熟 知此技藝者可了解本發明係義於有各種_至伺服器、 限制之流量階層的等級。 要注意的是,雖然公眾及個人種類係分別為瀏覽及交 易凊求所激發’事實上卻是由有能力或無能力去分享所定 義。對接收邏輯劃分觀念的電子商務網站而言,交易請求 可算是部分之公眾流量,而結果是完全沒有個人流量。舉 另一個例子,拒絕允許任何伺服器的分享甚至瀏覽者會將 /多J覽凊求視為部分的個人流量,而將會完全沒有公眾、、宁 量。當然,會有非商務的網站瀏覽及交易沒有具有如實的 理慈 4旧M/0303TW,Y〇R9-2〇〇1-〇666(JHW) 16 ίΐΊ238621 t Λ . ^ Ϋβ ο Ώ 意義。為了簡化 人種類。 替換頁 2004/09/13 案號:92101446 流量仍然倾分概__公眾或個 發明之優點為部分重疊網站指派之可能性使平衡 奸解。响題自然地分為 固子問心而各問題之解決方法係_同樣基礎最佳化 去去達成目標。因此,本發明分為三個主要元件,分別 為目標程序、靜態程序及動態程序。 目標程序為__般料,彻—最佳化技術最小化 在任何給定時間’給定晴至伺服n之指派及目前客戶請 求負載之平均客戶回應時間。此技術僅是用以解決所謂分 離級強迫分離凸資源分配(discrete class constrained separable convex resource allocation)問題中的一個特殊情 況,由Tanatawietal·所提出,電腦系統中多級資源的最佳 化为配(Optimal allocation of multiple class resources in computer systems),ACM Sigmetrics Conference (May 1988) ’ 253-260頁,其中揭露的全部技術係用來參考。因 此此方法會決定最佳負載平衡目標。特別地,此輸出結果 是每一適當伺服器處理每一網站公眾及個人種類的最佳 17 理慈 4旧M/0303TW,YOR9-2001-0666(JHW) 1238621 替換頁 2004/09/13 案號:92101446 客戶請求數目。此問題需以一相當頻繁的基礎解決。幸運 地’此解決技術很快速(及在本質上是增加的),其可處理 異質的伺服器,而主要是因一些老舊、速度慢的伺服器不 可避免地隨時間被新型、快速的伺服器所取代。目標程序 係以下靜態程序及動態程序元件中不可缺的部分。 此靜態程序建立一個在公眾及個人請求的需求方面 良好且有助於最佳化網站至伺服器的指派。且此程序處理 的愈好,目標程序中的平均回應時間就愈佳。靜態程序元 件會視目標程序為執行中不可缺的部分。此技術可執行在 起始或增加模式。當建構一新集中式網路服務系統時便執 行此起始模式。此增加模式則考慮指派改變數目的限制, 及因此維持高品質網站至伺服器指派。R. Garfikel et al., Integer Programming, John Wiley and Sons ^ New York, NY (1972)所揭露之一鄰近跳出誘導(neighb〇rh〇〇d⑽啊 heuristic)被使用,其中揭露的全部技術係用來參考。此增 加模式用以週期性執行,大約每週執行一次。錄建構網 站至伺服器指派明顯地非無價值工作。而準確之頻率係依 網站需求酬之易變及執行此新指派之成本而決定。 理慈 4旧M/0303TW,YOR9_20〇1_〇666(jhw) 18 ί〇 Ά 替換頁 2004/09/13 案號:92101446 動恶私序係基於靜態程序元件的輸出及變動網站客 戶而求在網路發达為中執行即時網站飼服器的安排。動 態程序根據目標程序去計算此理想化安排以解決一受限 的子問題。㈣程序並不轉換先前發送的請求指派,進一 步改善了效能,而導致過高的費用。 參考第1圖,說明—假設集中式服務網路10,具有3 個網站i2及九個伺服器13。_網路發送器個網站 12安排客戶請求至適當的伺服器。第一網站以包含兩個 飼服器(1及2)及與第二網站12b部分重叠,第二網站具有 五個伺服器(2至6)’並依次與具有4 _服器至%的第 -、、周站12c #分重豐。客戶請求的結果並列回傳至之後可 能提出額外請求的客戶。 第1圖係揭露-有助於描述本發明之三個主要元件細 節之例子。 目標程序(目標)元件 首先定義-些符號有助於·本發明。設Μ為網站 數目,為方便起見標示為t,設心饲服器數目,標示為 理慈 4丨BM/0303TW,YOR9_2〇〇1-〇666(jhw) 12386211> h έ 替換頁 2004/09/13 案號·· 92101446 J 。又{丨,0丨m*N矩陣A=(a^)表示為網站i至伺服器」·的公 眾請求指派的可能性。換句話說,#伺服器」·可處理網站 •之了刀旱口月求時’aij=l,否則,a『〇。類似地,設{i,〇} m*N 矩陣表示為網站丨至伺服器』的個人請求指派的可 月b性。換句話說,當伺服器j可處理網站丨之非可分享請 求時,bfl,否則,b『〇。實際上我們假設一伺服器』處 理網站1的個人請求亦可處理網站i之公眾請求。因此, 若 V=1,aij=l。 與每一伺服器j相關的是一函數民,量測預測之回應 時間如一客戶抵達率。此函數依靠伺服器時間分布,並依 次依靠處理處之速度。此函數Rj 一般會增加及凸出。在特 定簡化假設抵達率型態及伺服器時間分布之下,典型排隊 技術會存在以供計异或估計Rj,此技術係由Laven|3erg在 Computer performance Modeling Handbook, Academic Press, New York,NY(1983)所提出,其中揭露的全部技術係用來 參考,但一般此函數需要藉由模擬實驗或監視來求值。根 據此函數我們假設伺服器j有一最大可接受負載Lj,在此 狀況下’超出此門檻值會造成1^值過大。若我們假設 Lj=〇〇’此最大接受負載當然會不嚴格。假設在一給定時 20 理慈 4旧M/0303TW,Y〇R9-20〇[〇666(JHW) 1238621
)〇 B 替換頁 2004/09/13 案號:92101446 刻,當網站i的公τ 停止處理,進一、求Cl及個人請纟dl在處理中,我們 了 處理在伺服器j的網站i的公眾_长e及個人請Μ,因此,當叫 c的:T = 樣地,當dr〇,b..^ “ ^ 卜及0。同 lj 。我們設ci表示處理中八τ 請求之總數目,同㈣^ M = &里中a眾 门樣地,ι^Σ:ι絲示處理中個人請求之 總數目。 當目標函數 Ν Μ Σα[Σ(〜+ 少。)] j=\ /=1 (1) 為最小化’並受限於 Σ(〜+〜Η〇,···,、}, Ν (2) Σ xij - ci ^ Μ (3) 〜=〇若% = ο, (4) N Σ 兄,_/二 4 ’ 7=1 (5) 兄y = 〇 若 A) = 0 ⑹〇 此伺服器負載可視為給定目前負載及網站至伺服器指派 之最佳平衡。 理慈 4旧M/0303TW ’ Y〇R9-2001-〇666(JHW) 21 1238621 :如、ί'' 替換頁 2004/09/13 案號:92101446 此處〜為-決定變數,表示供可被饲服器〕·處理的網 站i的公眾請求假設數目,同樣地,〜為一決定變數,表 示供可被伺服器j處理的網站1的個人請求假設數目。此 目標函數量測在不同鑛器的預測回應時間的總和,此回 應時間因一倍數的常數(multiplicative constant)不同於平 均回應時間。此常數與最佳化問題的觀點無關。限制條件 (2)限制伺服器i的可接收負載,限制條件(3)確定網站j的 公眾請求總數目相等於真正處理中的請求總數目,限制條 件(4)確定網站至伺服器指派涉及公眾請求,限制條件(5) 至(6)為個人請求之對應需求。若在最佳情況〜 及ΥτΣ二刈,Xj+Yj表示伺服器j之期望負載。我們最終 目標即是確定每一伺服器j之最佳負載Xj+Yj及真正的負 載Σ^ι (Cij+dij)十分接近。 上述描述之最佳化問題為一特殊例子,即所謂的分離 級強迫分離凸資源分配問題。此級對應不同網站的公眾及 個人請求。因為限制條件(2) ’因限制條件⑶及(5)的一資 源分配問題,及因限制條件(4)及(6)的級限制,此問題是分 離的。此分離性(separability)名稱係指目標函數的性質,而 凸面(convexity)名稱則是明顯的。如Tantawi et al.所述,分 理慈 4旧M/0303TW,YOR9-2001-0666(JHW) 22
1238621r /:i ζ a 替換頁 2004/09/13 案號·· 92101446 離級強迫分離凸資源分配問題可藉由一圖解理論 (graph-theoretic techniqUes)最佳化程序準確且有效地解決。 第3圖揭硌一實施例之目標程序之流程圖。假設一可 行解決方法存在’此程序執行至C+D步驟,如圖二所示, 建立-有向®並轉錄权所魏序。賴之_(滅) 為伺服器卜…,N,加上-虛節點(dummyn〇de),此虛 節點標示為”節點〇”。設每一 i之ai〇=1及&=1,及L〇=〇。 我們可建立及修正一部分的可行解決方法by丨 ,j=〇,...,N}U{yij 丨 i=1”..M,j=〇”.,N}。首先, 如圖三所示的步驟觸及1〇5,此部份可行解決方法使每 1具有Xi,0=Cl,九0=在及〜尸九尸〇供j=1,,Ν,因此, 所有貧源均屬於虛節點。此有向圖係於步驟11〇開始,及 在任何步驟中均有-自節點jie{〇,,Ν}到節點j2q〇,,叫 的有向弧(directed arc),若只至少一個網站滿足 ⑺ ⑻ (9) ail,jl=ail,j2=l,
Xu,jl>〇, Μ Σ(',_Ζ + 少/")<Lj2, 或者,另一選擇為至少一網站滿足 理慈 4旧M/0303TW ’ y〇R9-2001-0666(JHW) 23 1238621
bilJl=bil)j2= 替換頁 2004/09/13 案號:92101446 (10) 加1〉〇, (11) ,条件⑼。限制條件⑺表示節點jl及j2可為網站“ 处求。限制條件⑻表示網站“的公眾請求已被分 占jl限制條件⑼表示請求可被轉換至節點^,而 不會超過節點的負载。要注意可能有自節點0的有向弧, ,沒有到_()的有向弧。因此接收的節點為—真的舰 器’而不是虛節點。 此方法一般的步驟找出在所有節點知{1,..·,Ν},-自 〇至」的有向路徑巾,絲闕第-差(fimdifference) Μ 哗(12) 為取小值。所謂的帛—糾為關函數之衍生的分離類 比。此第—差藉由凸面Rj的優點供每-i在j為非減少。 若無此節點存在,此料會H不可行解決方法結束。否 則一自0至贏節點之最短路徑會被選擇。在路徑中的每一 弧,一適當網站ii之X11,jl+yll,n之值被減丨,及〜,dilp 之值被加1(藉由公眾請求的減少及增加或個人請求的減 少及增加)。在所有有向弧執行此步驟具有自虛節點移動一 理慈 4旧M/0303TW ’ YOR9-200[0666(JHW) 24
替換頁 2004/09/13 案號:92101446 單位之負載及增加-單位之負載至絲闕效果。而此對 =間的節點負載沒有效果。因此虛節點可作為資源的集 結待命地區(staging繼),可於每一步驟置於伺服器節 接著在有向圖上執行薄記作⑽处沈口丨%),可修正一 些有向弧及可能分離的特定節點,此步驟重複執心在步 ,⑽後’程相—分離級強迫分離凸資源分配問題的 最佳解決方法終止,在有向社關__了可行性。 第3圖進-步詳細說明目標程序之實施例,在步驟励 中,設定所有網站i及飼服器j之變數%及々為〇,此程 序會在進行中增加及減少變數。在步驟1〇5中,一虛節點 起始設為節點G ’所有的資源假設至於節點Q,因此我們 可設。步驟110巾,有向圖根據限制條件⑺ 至(11)開始連接N+1節點,詳細說明參考第3圖b。自此 自虛節點G至節點j的有向弧可決定,使得至少一網站i 的alf=l或卜此圖可在程序進行中修正。步驟ιΐ5,設 k=i ’此變數被指派時,計算資源的單位。步驟12〇,初始 m為無限大,j為!。步驟125,決定是否有一自〇至節點 的有向路徑。若是,步驟13G估計伺服器〕·的方程式(12) 及與01做比較。若小於’則設J*=J及m為步驟出中方 理慈 4旧_3〇3谓,Y〇R9-2001-0666(JHW) 25 1238621 替換頁 2004/09/13 案號:92101446 P i- ^ 程式(I2)之值。此為目前m之最小值。然後執行步驟⑽, 若在步驟125中沒有路徑或是步驟13()中之限制條件⑽ 估計為m或大於,我們也執行步驟14〇。在步驟14〇中, 增加j。步驟145則檢查j是否為是小於N。否則便 執行步驟150,比較m與無限大。若m不小於無限大則沒 有自虛節點至赢節點之路徑’亦沒有此問題之可行解決方 法’因此此程序在步驟155停止。否職域行至步驟刷 並找出最短之路徑。在步驟165我們在此路徑執行薄記, 增加或減少及yij的大約值。執行此步驟一單位之資源 會自虛節點移動’及-單位之資源會增加至飼服器ρ,詳 細說明參考第3c圖。接著,在步驟17〇我們在有向圖: 執行薄έ己’再一次地確滿足限制條件⑺-⑴)。在此過程可 增加或移動-些有向弧,詳細說明參考第%圖。在步驟 Π5我們增加k,在步驟18〇,測試k是否為c+d或小於。 若否’此程序於步驟185以最終解決方法%及刈結束, 否則回到步驟120繼續此程序。 參考第2圖,說明級強迫資源分配程序在有向圖之一 路役。注意並非所有的節點及有向弧均在此處顯示。負载 由虛“節點0,,20轉換至赢(伺服器)節點25,此節點連結至 理慈 4旧M/0303TW,y〇R9-2001-0666(JHW)
替換頁 2004/09/13 案號:92101446 第一差為最小值的節點〇。此顯示之有向路徑準備做為最 短路徑。此有向弧標號為1至5。在此圖中,網站之一個 新(公眾或個人)請求藉由杨弧i經由第—(伺服器)節點 21分配,此節點之分配並不改變活動階層。事實上,沒有 第-4個舰n 21至24具有不同的活動階層。第五赢祠 服器點25在虛節點20的損失下得到一個活動單位的增 益0 參考第3b @,說明-對應第3圖之步驟11〇起始程 序之程圖。在步驟彻,我們起始Μ,及接著在步驟 405測試Lj是否大於〇。若是,則在步驟41〇起始丨為j, 並在步驟415測試aj是否大於〇。获,在步驟42〇測試 x1〇是否大於0。若是,在步驟425建立一自虛節點〇至j 的有向弧及執行步驟430。若步驟415或420失敗,則進 行步驟435,測試bj是否大於〇。若是,在步驟44〇測試 ym疋否大於0。若是,流程進行至如前所述之步驟425。 若步驟435或440失敗,控制流程至步驟43〇,其中〕·為 增加的。在步驟445測試j是否小於或等於N,若否,則 控制迴圈至步驟405,否則在步驟450結束。 理慈 4旧M/0303TW ’ Y〇R9-2001-0666(JHW) 27 1238621 替換頁 2004/09/13 案號:92101446 a參考第3c®,說明第3圖步驟165路徑薄記程序的 =程圖。在此流程我們假設最短路徑k具有有向弧及標記 攸J(P〇至j,至j2 ’繼續至Jk=j。在步驟5〇〇我們起始㈣, 在步驟505我們起始i=1。在步驟51〇,檢查是否 ay=ai(j+1)=卜若是,在步驟515檢查%是否大於〇。若是, 在步驟520減少Xlj及增加Xi(j+1)。若步驟51〇或515失敗, 則進行步驟525,類似地檢查_㈣㈡。若是,在步驟 530檢查yij是否大於〇。若是,在步驟奶減少%及增加 灿+1)。右步驟525或530失敗,則進行步驟54〇,增加i 及返回步驟510(-個伺服器i最終因限制條件會通過此測 試)。在步驟520或535後,進行步驟545,增加〗。在步 驟550測試j是否小於k ’若是,返回步驟5〇5。若否,程 序結束於步驟555。 參考第3d圖,說明第3圖中步驟17〇的圖薄記程序 之流程圖。開始於步驟600,起始允為丨,在步驟6〇5起 始J·2為1。在步驟610測試限制條件(9)關於L」2是否為真。 若否,此程序於步驟612停止。否則在步驟615起始i=1, 及在步驟620測試是否。若是,在步驟625測試 Xiji疋否大於0。若是,在步驟630建立一自節點上至節點 理慈 4旧M/0303TW,Y〇R9-2001-0666(JHW) 28
替換頁 2004/09/13 案號:92101446 j2的有向弧,及執行步驟635,在步驟635幻2為增加的。 右步驟620或625失敗’則進行步驟64〇,測試是否 V=bj2=;l。若是,在步驟祕測試細是否大於〇。若是, 進行前述之步驟630。若步驟_或645失敗,則進行步 驟635。在步驟650,測試j2是否小於或等於N,若是, 在步驟655增加L及進行步驟_,測試^是否小於或等 於N。若否,則在步驟665結束。若步驟65〇之測試失敗, 則進行步驟670,檢查L是否等於七。若等於j2,則返 回步驟635 ’否則回到步,驟_。若步驟_之测試失敗, 則進行步驟675,檢查ji是否等於h。若_^等於j2,則返 回步驟655,否則回到步驟605。 動態程序(動態) 參考第4圖,說明負載平衡程序之動態程序元件。此 技術假設(靜態程序元件)網站至伺服器之指派為給定的。 此相§於矩陣A及B的確定(determination)。接著監視伺 服器正確或大約的負載,如在網路發送器的新客戶請求到 達。動脉序元件之卫作即為供卿輯求袖路發送器 安排決定,指派請求至適當的伺服器。因而嘗試達成最佳 平均回應時間的可能範圍及目標程序所指示的词服器負 理慈 4旧M/0303TW ’ YOR9-20〇1-〇666(JHW) 29 1238621 iJ ^ 替換頁 2004/09/13 案號:92101446 、^的確,這也使流量排在網路發送器的目標程序做 疋此文排決疋可藉由一正確或大約之政策實行。一旦 此請求藉由靜態程序元件指派至舰器,將會滿足這些飼 服器換句5舌5兒,在此較佳實施例中,網路發送器的決定 被視為最終的決定,且在伺服器的請求不能自己根據負載 更改方向。 疋義些轉換5己號(meta notation)有助於說明本案。在 任何給定時間’一些負載會排隊於網路發送器上,而一些 負載會準備發送至伺服器。我們欲區分此兩種負載狀態, 如同全部的負載。當指到有關發送器負載的變數時,用一 個單一點,當指到有關伺服器負載的變數時,用一個雙 點。當變數沒有點係指結合的發送器及伺服器負載。 此方法監視網站i在伺服器j之發送公眾請求〜的目 鈿數目及發送個人請求的目前數目。此動態程序元件 並不直接影響伺服器上請求的完成,但適當地減少〜)及 山,7的值。當此資料未很快地可用,係可被估計出。同時, 新的請求抵達並於排在網路發送器。因動態程序元件之最 後執行’假没c’標示網站i新的公眾請求數目。同樣地, 理慈 4IBM/0303TW ’ Y〇R9-2001-0666(JHW) 30 1238621 η ^ 替換頁 2004/09/13 案號:92101446 因動態程序元件之最後執行,假設",標賴站i新的個人 清求數目。總計,設c 。及/) 二*分別為發 运為中排隊的公眾及個人請求。 動恶程序元件可設計在一固定時間間隔,在列中C+ Z) 的數目達到一些固定批大小門檻值,或雨種條件的混合之 後喚起或執行。 當避免打擾先前發送的請求,我們應用目標程序至在 網路發送器中排隊的财。因此我們需要—些薄記。特別 疋為每和 1服為j定義一新的凸增加函數场),藉由設定
-Σ ·. y Cij + dij (13)
擾此心糾早平移原本的^數,以計算麵服器上未^ 擾亂的負載。為了同一理由,我們為 可接受的負載限制 ^
理慈 4嶋/〇3〇3TW,y〇R9-2〇〇1-〇666(JHW) 31 (14) ^1218621(1 藉由這些手續,發送C +Z)排隊的請求的最佳方法藉 由解決下面限制的目標程序元件問題而決定: 最小化实 <(〜”)] /=1 此最小化函數受限於 办”,)+."人.}, (16) , Μ (17) Xij = 〇 ^ azy == 〇 , (18) Ν . · 山, j=l (19) 以及 (15) 替換頁 2004/09/13 案號:92101446 (20) y〇- =〇MLbiy =〇 , 對應第4圖之步驟200。即使在最佳解決方法中,伺服器 j之總負載Σ:,(〜+〜+〜城,)大體上仍為次佳的。然 而’對無先前餘負載可在舰n間賴之額外限制仍為 最佳的。 # 進-步地’注意當-個新請求抵達纟發送器時,此 技術喚起’使-些網站i]仏,",心」=1的特殊案件 中,此程序為貪婪的(greedy)。換句話巧,^ 一 ^ °。凡,右Cy = 1,網站 理慈 4旧M/0303TW,Y〇R9-2001-0666(JHW) 32 替換頁 2004/09/13 案號:92101446 11之新公眾請求便會被指派,滿足…=1及 t卜+山’小、’其第一差 …+而) (21) 為最小化的伺服器j則變選定。若山W =1,_ i的新個 人請求會被增加,滿足& =1及第—差為式子(21)給定的 負載範圍限制為最小值的伺服器j被選定。 此動態程序可藉由第5圖及第6圖加以說明。我們視 一 15個伺服器結構負責8個網站。5個伺服器指派處理公 眾網站流量,因為每個伺服器具有處理多個網站的能力, 因此稱之為叢集飼服器(cluster server)。並且有十個伺服哭 指派處理個人網站流量,因此稱之為劃分伺服器(partiti〇n server)。每一伺服器處理公眾及個人流量,但流量僅來自 於一個網站。圖五為一例子之網站符號詞彙表。每一符號 對應一網站有一獨特形狀。例如,circularlogic.com以圓表 示,灰色的符號表示公眾流量,黑色符號表示個人流量。 此重要的叢集及劃分伺服器也有表示。此分別為指派矩陣 A及B的列總和分別為A"及Σ二B,,」。例如, circularlogic.com被指派三個叢集伺服器及兩個劃分伺服 33 理慈 4IBM/0303TW,Y〇R9-2001-〇666(JHW) 1238621 ύ} )Q ζ 替換頁 2004/09/13 f 案號:92101446 第6圖更詳細說明,内圈包含五個叢集伺服器ci至 C5,外圈包含十個劃分伺服器pi至ρι〇。要注意例如 circularlogic.com被指派至叢集伺服器ci,C2及C5。此 網站在伺服器C1的公眾流1必須與hexnut.com及 eggcentric.com的公眾流量分享伺服器。同樣地, circularlogic.com被指派至劃分伺服器P1及p2,兩個伺服 器均需處理公眾及個人流量,但僅為此網站之流量。 事實上,第6圖更詳細說明,稍做改變後之目標程序 所用之有向圖。回到第2圖,說明一級強迫資源分配問題 解決方法之一特定即時自虛節點至伺服器節點的最短路 径。相比之下,第6圖揭露一有向圖η,有一個例外之外, 所有有向弧及節點均為一時刻(此例外為虛節點及自虛節 點之有向弧已被消除)。 因此Η被定義如下:對應伺服器之節點。為不同伺服 為節點之每對Jl及J·2,提供一自ji至h的有向弧,存在至 少一網站滿足限制條件(7)至(9)或條件(1〇),(11)及(9)。 理慈 4旧M/0303TW,Y〇R9-2001-0666(JHW) 1238621 h i 替換頁 2004/09/13 案號:92101446 因為有向弧無法滿足所有的重要限制條件,第6圖中 並非所有的有向⑽有兩個方向。例如,顯然地p3上沒 有公眾(關條件8)或個人(_條件9)的負載 ,因此沒有 自P3至P4的有向弧。顯然地,因為P7以最大的能力操 作中(限制條件9),所以沒有自C3至P7的有向弧。因為 P3 ’又有公眾負載(限制條件幻及C1以最大的能力操作 中’所以沒有有向弧在α至?3之間之方向。因為沒有滿 足(限制條件7)及(限制條件1〇),所以沒有弧在ρι及p4 之方向。 再一次地,有向弧的存在說明減少伺服器之負擔的能 力,增加另一個沒有超出負載伺服器負載的能力,及將負 載置於未影響触服II上。—自虛節點至—鋪服器節點 的有向路徑允許自級點轉換一單位負載至伺服器節點,使 所有其他的伺服器節點不受影響。經過此轉換,圖H可藉 由薄記技術修正,以涉及限制條件(8),(9)及(11)的目前狀 態。(限制條件(7)及(10)的狀態仍舊不變。) 第6圖揭露三個不同型態的有向弧。第一種型態有向 弓瓜可見於P1及P2間,表示自一劃分伺服器至另一劃分伺 35 理慈 4IBM/0303TW ’ Y〇R9-2〇〇l-〇666(JHW) ,11338621 ίίέ£Ει2:·21‘ί.一.[ 替換頁 2004/09/13 案藏· 92101446 服益之公眾或個人負載可能之轉換。第二種型態有向弧可 見於ρι或α之間,表示自—劃分伺服器至—叢集词服器 或反之的公眾負載可能之轉換。第三種型態有向弧可見於 C1或ci之間,表示自—叢油服器至―叢油服器的公 眾負載可能之轉換。 可以了解的是,圖Η愈緊密(tight),亦具有至多的有 向弧,目標程序愈可得到好品質結果,得到較少的回應時 間’也就是下述靜態程序元件的目標。 第4圖詳細說明動態流程之詳細實施例。流程於步驟 200開始,供每一網站i及伺服器j,利用目標程序解決最 佳化目標〜及〜。在步驟205設定kH。在步驟21〇起 始心及〜,供每一網站i及伺服器j為〇。此變數將計 算相關於目標之發送器的進度。步驟215決定對應在行列 中請求k的網站。步驟220決定請求為公眾或個人請求。 有兩個可比較的流程供兩種可能,而我們重點於公甲& 求。此開始於步驟225,設j=l及Μ為負無限大。嘗試找 出具有在目標及達到值之間最大差的伺服器,如下·在+ 驟230,測試Μ是否小於κ广兄ν。若是,在步驟235 ^ 理慈 4旧M/0303TW,Y〇R9-2001-0666(JHW) 36 1238621 f} ι° 6 替換頁 2004/09/13 案號:92101446 :又^·、J及Μ〜〜-尤",接著進行步驟24〇。若步驟23〇之 Μ失敗’則進行步驟240 °步驟240增加j。步驟245 測式j疋否小於或等於N。若是,返回步驟⑽。若否, 貝I、有輒伺服為j*及增加尤,产,及在步驟250發送請求 k至饲服器J*。接著,進行步驟255,增加k。步驟260 測試k是否小於或等於c+z)。若是,返回步驟21〇,發送 下個凊求。若否,則停止,具有空的請求行列。若步驟 220决疋印求為一個人請求則進行步驟2兀至2%。這些 步驟類似於步驟225至25(),除了是處理個人請求而非公 眾請求。最後,流程再次回到步驟220。 靜態程序元件 參考第7至9圖,說明指派網站至伺服器之靜態流程 权序。此目標為最佳化目標程序及動態程序元件之可達表 現。靜態程序元件之關鍵輸入將會預測每一網站之公眾及 個人請求之平均需求,如同在可允許的網站至伺服器指派 上的任何限制。此靜態程序元件之輸出僅為二{〇,1}指派矩 陣 A=(ay)及 B=(bij)。 亦假設在網路至伺服器上的限制為給定的。此限 理慈 4旧M/0303TW,Y〇R9-2001-0666(JHW) 37 1238621p 卜c 替換頁 2004/09/13 案號:92101446 制可能有關於伺服為自己的實質能力,達成可接受高快取 擊點率(high cache hit rage)的目標,伺服器上的作業系統, 某些網站可能協商過的固定伺服器指派,等等。此種限制 可能相當複雜或相當基礎。例如,也許基於一分析擊點率 模式,網站資料的地點及快取大小,一快取限制可為相當 地複雜。其會影響確定一網站之相當少數量被指派至每一 飼服器。另-個方面作㈣統之限制僅為—不適合特 定伺服器之_之清單。重點是㈣程序元件本質為嘗試 錯疾的及僅藉由在指派考慮任何改變之前檢查進而處理 限制。 此靜態程序元件具有兩種可能模式。起始模式(第 9圖)自-起跑線,即—個沒有網站指派的舰器建構一新 系統。此增蝴式接絲於―週祕礎,根娜正之網站 需求序測輕現存_至伺服器之指派。為了確定這些調 整的實行是可行的,允許—限制限制網站至飼服器指派允 許改變之可接受數目,兩個模式本質上可制相同之方 法。在起始模式中’可能需供回應時間函數運用-分析模 I而在曰加模式中,貝情以更多精準測量的回應時間取 代。此可能較料得職取的效果及其他真實世財的現 iI^4IBM/0303TW.y〇R9.2〇〇1.〇666(jHw) 1238621Λ /ο ί、 替換頁 2004/09/13 案號·· 92101446 象0 因做指派改變的明顯成本,此增加的靜態程序元 件應不宜過常執行,大約—週—次即可。正確之頻率則需 視成本與給定更新_酬效缺善比較之她交易。^ 次的靜態程序大約可被-些種類之域平衡條件的偵測 所觸發。 兩種模式的主要目標在於達成無向圖G的高連接 (high _ectivity),定義如下:節點對應飼服器,對於不 同節點的每而言,均有—弧介於Μ」〗之間, 存在至少-個網站^,aigi=aiij2=卜或指少—個網站^, blldl=blld2=l。這些限制條件如同有向圖η定義中的限制條 件⑺及(11)。因限制條件⑻、⑼及⑴)一般會滿足任何= 好平衡的集中式網路服務系統,此表示G可視為η之^ 效代理。同樣注意當限制條件⑻⑼及(11)為恆動時,限制 條件(7)及(10)為實質靜態。這也是為什麼G較適合靜熊矛。 第7圖說明上述之G圖。注意G圖與第6圖之Η圖
理慈4旧M/0303TW ' y〇R9-20〇1-〇666(JHW) 39 ί 1238621 « i .…I fy r /o }\ έ 、-.·滅Λ·.:··.… ·. ‘ 替換頁 2004/09/13 案號·· 92101446 之相似點。儘管第6圖沒有可比較兩個方向的有向弧,在 第7圖之伺服态C1及Ρ3之間仍有一狐。以及數個在第6 圖中的有向弧,如在Ρ4至Ρ3之間的有向弧,並沒有在反 方向匹配的有向弧。注意在第7圖中,介於兩個叢集伺服 器中的弧以實線表示,介於兩個劃分伺服器之間的伺服器 以點線表示,而介於叢集伺服器及劃分伺服器間的弧則以 破折線表示。 我們企圖最佳化的目標函數即是被視為本發明之黑 盒子之目標程序元件本身。此處之基本原理即為有的平均 回應時_測量,較其他兩個圖理論代表(直徑或平均距離) 來得直接接近,及較不顯著計算昂貴地計算。 此處利用-顎化㈠之轉換符號表示靜態程序問題公 式。 藉由發明-新轉^,說明難至舰器指派的空 間,如下·· ^㈣再次為一_μ*ν的矩陣。在典型 限制條件下,每個舰會存m及個人流量,我們在下 a^4IBM/0303TW,YOR9-2001-0666(JHW) 40 替換頁 2004/09/13 案號:92101446 面說明將」轉換為及方〜。
A A (22)
\jraiJ 1 1 若 α,, 、〇其他 及叫=0,所有,ν ,·, (23) 此使得假設任何伺服器j之列總和為一個 網站之具有絲及個人流量之難鍊器,及所有其他饲 服器’為具有多個公眾網站流量之舰器。注意並不是所 有可能的指派矩陣對Α及Β可視為自—些矩陣轉換而 來。而不是的矩陣則較不適用,靜態程序元件不會選擇他 們。 我們必須作為小的調整以處理特殊的情況。若網站工 只有個人流量存在,我們則需要當❿7·^, 這使得j為網站1之一劃分伺服器。我們設air〇及birl。 儘管,若網站i只有公眾流量存在,任何指派至 網站i的伺服器j可視為正式地。因此我們設&产心)及 理慈 4IBM/0303TW,YOR9-20〇1-〇666(jhw) 41 1238621 替換頁 2004/09/13 案矗:92101446 為了處理飼服器負載上超過負載限制^的情況,我們 亦需要供每一飼服器j調整回應時間函數V射匕可能不 可實仃’至少在靜態程序元件程序之前階段,而我們需要 藉由在-大目標函數成本面射行性處理此些問題。因此 考慮一非常大之數Q及為k設尤⑻=Rj(k),但 々Lj+l)-々Lj)+Q ’ 1(1^+2)=1(1^+1)+2(^,其餘類推。 此典型循環定義為: I (Lj+k)=込(Lj+k-1 )+kQ (24) 其中,k〉0。注意圮仍為凸及遞增的。我們同時定 義最大可接受負載為心=00。 讓Q及山分別為網站i之預測公眾及個人負載。我們 會基於此情況說明每一網站存在之公眾及個人流量,但當 不是這些情況時,則可快速決定大約之修正。 在不失一般性的情況下使我們假設就增加預測總負 載c, + i方面’網站已被再變址(reindex)。我們亦假設可在 增加效能方面,伺服器已被再變址。例如,此可藉由他們 理慈 4旧M/0303TW,Y〇R9-2001-0666(JHW) 42 1238621 替換頁 2004/09/13 案號:92101446
7> \a C 原有最大可接受負栽Lj決定。 起始指派方法之第—步驟為絲後順序至可能範圍 匹配、用站與舰$。此可能性限制自特定伺㈣之特定網 、及必須考慮這些限制。因此,迴圈自網站i=l依次 i ΓΓί9圖之步驟305至335,步驟325設〜=卜 八J‘、、、取低可行指標,但目前尚未指派伺服器,及設所 J網:二:推測極不可能的情況下,所 有了订^可能是有可能的,這會因限制條件而 發生’亦可能因Μ〉Ν而發生,在此狀況中此起始指派技 術已失敗。酬’會有Μ _分健时此點,即有關 個伺服器閒置中。 目標函數,會產生 (25)
我們為此起始解決方法估計此 Μ 〜 〜〜 /=1 欠此起始解決方法藉由實行所謂的鄰近跳出誘導進行 如此誘^利用一公制的△去量測介於兩個網站至飼服 器可能指派間的距離,我們會簡短描述,簡單地說,一鄰 埋慈 4__3TW,Y〇R9 2〇〇1侧晴) 43 f:l208621 替換頁 2004/09/13 案號·· 92101446 年丨]Ef improvement 近跳出誘導為一反覆改善程序(iterative piOcedure)’企達到相當低計算成本時陷入區域最 小值。假設此預紋義之公制△在尋找可行解決方法空間 之時刻加上一如前所述存在起始可行的解決方法,此技 術以階(stage)進行。在每一p皆的開始有所謂的目前解決方 法’被在此階被修正。在第〜_開始目前解決方法為起 始解決方法。每-階依次地尋制於目麵決方法距離 1,2等之鄰近(neighb〇rh〇〇d)。(關於目前解決方法距離让 之鄰近係為所有自目前解決方法之距離小於或等於^之可 此指派之f合,-關於目祕決方法轉k之—環(如幻 係為所有自目前解決方法之距離等於k之可能指派之集 合’係為距離k之鄰近減雜w之鄰近)。若可在關於目 前解決方法距離1之鄰近發現—目標函數之改進,此誘導 選擇最佳改進處,域標示為目前解財法,及藉由開始 下-階反覆此程序。若在距離!之鄰近沒發現改進處,誘 導會考慮以距離2之環取代。再—次地有兩種可能:若有 -改進處’歧進處被選為目前解財法及此程序於下— 阳匕開始。若否’則此程序考慮距離3之環,以此類推,直 到-固定距離關,k。若在第k個環巾仍未有目標函數 改進達成,此程序以-最終解決方法等於目前解決方法終 理慈 4旧M/0303TW,Y〇R9-200[0666(JHW) 44 .1238621 替換頁 2004/09/13 案號·· 92101446 止。檢查不同環發生在第9圖之步驟360,38〇及385。步 驟370檢查改進處。 第8圖說明此程序。此目前解決方法在起始階開始在 鄰近第一集合之中心400,距離〗。此誘導依次找尋第一 鄰近及之後的環,直到發現改進處。圖中只有在第]^環距 離K發現改進處。此誘導在以新中心仙之找尋中重新 找尋目前解決方法為最佳改進處,及開始第二階。此圖顯 示關於解決方法之鄰近。在第三環中發現一改進處。第三 Μ見在開始’雖然未顯不於圖中。萬—在第—級第^個環 無法產生-改進,此起始解決方法會已是此最終解決方 法。
現在定義此距離公制△。設/ 兩個指派,及定義 Δ Α\Α2 Ν = ΣΣΙ /=1 7=1
(26) 此處之目的很簡單:例如,我們藉由加上或減去一單— 網站至一個伺服器’修正-個指^為-新的指派 理慈 4IBM/0303TW,Y〇R9_2〇〇1_〇666(jhw) 45 复42纖21丨 替換頁 2004/09/13 案號:92101446 編 ei
可得到A d J j-1。第8圖中,一網站自一舊祠服器之 移動至一新伺服器(之前未有網站之指派)具有距離2。自 -飼服器取出-個網站及同時加人—個不同的網站至飼 服器亦具有距離2。在不關服紅不同網站的交換具有 距離4,以此類推。 對於-給定解決方法^及其轉_·矩陣{及
A ’此改進職侧於最小化解決目標程序元件問題 β〜 Μ〜 〜 Σ 尤[!>"+凡")] j:\ /=1 (27) 此最小化函數受限於 N〜 〜 工·^,) = Ci 7=1 (28) Xij — 0 ci^j = 〇 N 〜 〜 (29) 艺凡"二A以及 y=i (30) «y" = 〇 若〜=0 (31) 過限制L顧的成。但給定超 理慈 4旧M/0303TW,丫OR9-2001-0666(JHw) 46 替換頁 2004/09/13 案號·· 92101446 Σ(〜 + 〜Μ〇,·..,Ζ」 ^32) 對每一伺服器j在鄰近跳出誘導中的少數階。因此所有方 面皆可行的指派可以很快順序達成。的確,此程序的第一 少數階典型指派高額網站至目前未使用的伺服器,及接著 此技術會典型地首先改變較高效能的伺服器的狀態,首先 將劃分伺服器轉為叢集伺服器。 一增加程序會週期性地執行,也許一週一次,在改變 預測及上述等的存在以保持良好網站至伺服器指派。幸運 地,其事實上使用相同的方法。 此起始解決方法為自最後一回靜態程序元件的目前 解决方法,當然,我們可藉由鄰近跳出誘導修正。唯一的 意外是利用一額外停止標準,當介於起始及目前解決方法 超過-些使用者定義的門紐丁則停止。此原因在於指派 改變的執行是昂貴的,並且我們不想允許非常多不同的解 決方法介於靜態程序元件回合的依次的例子。 ,考第9圖’ 4細綱靜態程序之實施例。開始步驟 埋慈 4IBM/0303TW,Y〇R9_2〇〇1__(jhw) f 133:8621.:」 >.、·, .; 汐年A戶u日丨 替換頁2004/09/13 ——— ——— 案號:92101446 300起始網站i為1,步驟305起始伺服器j為卜步驟310 決定伺服器j對於網站i是否可行。若是,進行步驟320, 決定伺服器j目前是否沒被指派。若伺服器j目前沒被指 派,則於步驟325指派飼服器j及在步驟330增加網站i。 步驟335決定i是否小於或等於網站μ的總數目。若是, 回到步驟305。若步驟310或320的測試失敗,則進行步 驟340,增加伺服器j。步驟345決定』是否小於或等於伺 服為N之總數目。若是,會到步驟31〇。若否,在步驟35〇 以不了行解決方法結束。現在回到網站在步驟335已耗 盡的情況,進行步驟355,開始程序的鄰近跳出元件。給 定方程式(25) ’估計此解決方法之R值。步驟36()設。 步驟365尋找第k個環以估計最佳可能解決方法心。步驟 370估算與最佳目前解決方法R比較的&。若新的值較在 步驟375中之最佳解決方法好,則返回步驟36〇。若新的 值沒有比較好則在步㈣〇增加k。步驟385決定是否所 有的k已用盡。若否,則返牛 口 v驟365。否則在步驟390 以最終指派解決方法終止。 埋慈 4旧M/0303TW ’ Y〇R9-2〇〇[0666(jhw) 替換頁 2004/09/13 案號:92101446 亦可了解的是”網站”-詞並不舰本發明利用在全 求資Λ、、周上的超文子標記語言(_时以丨Markup
Language)文件,而是包含了任何可接收客戶請求、輸出結 果、及與伺服器等連接之使用者網路介面,例如,區域網 路(local area network)等。 亦可了解的是此處所揭露之所有物理量,除非明確地 指示,否_非_與揭露之量完全相等,而是大約相 等進步地’大約等修飾語之省略並非明麵指示任 何揭露之物理量需為-精準量,與此修飾語是·於關於 此處所揭露任何其他物理量無關。 ,由以上較健體實_之詳述, 描述本發明之特徵與精神,而上述 最請,利範圍的範魏= 的解釋’並涵蓋所有可能均等的改變以及 【圖式簡單說明】 第1圖揭露-包含網路發送器及多個词服器的集中式 理慈 4旧M/0303TW,Y〇R9-2001-0666(JHW) !1ΐ2θ:«6ϋ 替換頁 2004/09/13 案號:92101446 一自一虛節點至赢節點路 ㈣ 網路服務系統。 第2圖揭露部分目標程序的 徑。 ,3圖揭露一目標程序流程圖。 ,3b圖揭露目標程序的一起始步驟流程圖。 ^ 3c圖揭露目標程序的一路徑薄記步驟流程圖。 哲3d圖揭露目標程序的一圖解薄記步驟流程圖。 第4圖揭露動態程序流程圖。 詞彙^頂揭路在—例子㈣以說鴨態程序的網站符號 f 6圖揭露在同-例子中,靜態程序的有向圖 f 7圖揭露在同-例子中,靜態程序的無向圖 f 8圖揭露靜態程序中的鄰近escape heuristic ^ 第9圖揭露靜態程序流程圖。 【主要元件符號說明】 12a 第一網站 12c 第三網站 15 網路發送器 21 伺服器 23 伺服器 25 赢節點 410 新中心 12b 第二網站 伺服器 20 虛節點 22 伺服器 24 伺服器 400 中心 理慈 4旧M/0303TW,Y〇R9-2001-0666(JHW) 50
Claims (1)
1238621 Ιο ( 替換頁 2004/09/13 案號:92101446 十、申請專利範圍: h 一種供控制一集中式網路服務系、統(webfa球方法,該 針式網路服m統具有複數個㈣,該方法包 含·· I ^纟接收之客戶請求歸類為複數個種類,該種類 已含-可分享客戶請求及_非可分享客戶請求; 女排亥可刀予客戶凊求,使任何的該鑛器可處理自不 同的該網站接收的可分享客戶請求;以及 安排自特定該網站的該非可分享客戶請求至該特定網 站已指派的特定伺服器。 派 2.如申請專利細第丨項所述之方法,進—步包含一目桿程 序,該目標程序包含為每-該客户請求在每該客戶請求指 至之該伺服器中,決定-最佳伺服器,以便在任一給定時 間,給定該網站之該指派至該伺服器及—目前客戶靖來負才 載,最小化一平均客戶回應時間。 、 其中該目標程序係受 3·如申請專利範圍第2項所述之方法, 最小化函數 N Μ ΣΛ/[ΣΚ/+^)] y=i /=1 理慈 4旧M/0303TW,Y〇R9-2〇〇1-0666(JHW) 51 I11238621 c
替換頁 2004/09/13 案號:92101446 的影響’此最小化函數受限於 Σ(Ά/,,)e {〇,···,、}, N Σ xuj= ci 5 y=i 6 =〇若^/ = 〇, N ,以及 7=1 乃=〇若~ =0, 其中Μ為獅數目,㈣舰器數目,&是期望回覆時間, 同在祠服i§ j的客戶到達率之—函數、為—決定變數,表 不供可被値⑸處理的晴丨可分享請求的假設數目,外 為一決定變數,表示供可被伺服器j處理的網站i非可分享 請求的假設數目,Li為伺服iij的最大可接受負載,Cl為自 網站i的可分享客戶請求目前數目,di為目前自網站i的非 可分享客戶請求目前數目,%為一指數指出自網站i的可分 享請求可被安排至伺服器j及為一指數指出自網站丨的非 可分享請求可被安排至伺服器j。 4·如申請專利範圍第3項所述之方法,進一步包含: 建立及維持一有向圖,該有向圖包含一虛節點及複數個 词服器點,每該伺服器點對應一個該伺服器; 理慈 4旧_3〇3TW,\OR9-2001-0666(JHW) 1238621 }} : h , ζ : 2004/09/13 案號·· 92101446 指定一個該彳司服器點為一贏節點,使式子 Μ μ /=1 /=1 最小化;以及 自該虛節點至該贏節點選取一最短有向路徑。 5·如申請專利範圍第i項所述之方法,進一步包含一靜態程 序’或靜態程序包含指派特定該網站至特定該伺服器,以達 成處理非可分享客戶請求的目的。 6·如申請專利範圍為第5項所述之方法,其中該靜態程序指 派該網站至特定伺服器,係根據自每該網站之可分享客戶請 求及非可分享客戶請求之預測需求。 7·如申請專利範圍第2項所述之方法,其中包含一動態程 序,該動態程序包含: 檢查下一個客戶請求; 啟動該目標程序,以決定供處理該下一個客戶請求之目 前最佳伺服器;以及 發送該下一個客戶請求至該最佳伺服器。 53 理慈 4旧M/0303TW,Y〇R9-2001-〇666(JHW) 1238621 六L 替換頁 2004/09/13 案“ :92101446 &如申請專利範圍第7項所述之方法 接收該客戶請求至一列;以及 其中該動態程序進一步包含: 監視在該列中的該客戶請求 進一步包含·· 監視目前被該伺服器處理的客戶往长· 為每-f舰n定義-咕)函數,藉由設定
為每一 jth飼服器定義一校正可接受負載限制z 藉由 啟動該目標程序以利用該义.Ο)函數及校正可接受 負載限制&最小化函數 N Μ Σ 心 7=1 /=1 的影響,此最小化函數受限於 Μ /=1 N Ci Σχ,; ./=1 理慈 4旧M/0303TW,Y〇R9-2001-0666(JHW) 54
替換頁 2004/09/13 案號:92101446 = 0若% = 〇, N · Μ ,以及 八=0若\ =〇, “中·^為一決定變數,表示供可被伺服器」·處理的網站1在 巧中的可分享請求的假設數目,〜為一決定變數,表示 可被伺服器j處理的網站丨非可分享請求的假設數目,^為 列中自_ i的可分享客戶請求的目前數目,4列中自網 站i的非可分享客戶請求的目前數目,e為目前被一個伺服 器處理的财自_丨的可分享客戶請求的目前數目,山為 目前被-個伺服器處理的自網站i的非可分享客戶請求的目 前數目。 9.-種藉由機器讀取的程式儲存裝置,有形地包含一指令 _ructiG_程式’該齡可藉由频糊找完成方法步 驟’供控制-集中式網路服務系統,該集中式網路服務系統 具有複數個網站及伺服器,該方法包含· 將自該_魏之客戶請求歸_複數個麵,該種類 包含-可分享客戶請求及-非可分享客戶請求; 安排該可分享客戶請求,使任何_伺㈣可處理自不 理慈 4IBM/0303TW,Y〇R9_2001-〇666(JHW) 55 1238621 ?? h 同的該網站接收的可分享客戶 安排自特定該網站的該非 站已指派的特定伺服器。 替換頁 2004/09/13 案號:92101446 請求;以及 可分旱客戶請求至該特定網 如申請專利範圍第9項所述之裝置,進一步包含一目桿 峰該目標程序包含為每—該客戶請求在每該客戶請求指 派至之飼服器中’決定—最佳伺服器,以便在任-給定時 間,給定該網站之該指派至該伺服器及一目前客戶請求負 載,最小化一平均客户回應時間。 11.如申請專利範圍第1〇項所述之裝置其中該目標程序 係受最小化函數 HRAY,(xij + yij)] j=\ /=1 的影響,此最小化函數受限於 Σ(〜”,ά{〇,···,、.}, y=i 七)=〇 若 α"二 0, Ν ,以及 7 = 1 理慈 4旧M/0303TW,Y〇R9-2001-0666(JHW) 56 替換頁 2004/09/13 案號·· 92101446 = 〇 若 二 0, 其中Μ為網站數目,N為伺服器數目,是期望回覆時間, 同在魏器』的客戶到達率之一函數、為一決定變數,表 示供可被值w處理的可分料求的假設數目、 為一決錢數’表示供可被鑛li j處理_站i非可分享 。月求的饭③數目,Lj為他器」·的最大可接受負載,q為自 網站1的可分享客戶請求目前數目,d,為自網站i的非可分 享客戶請求目前數目,¾為—指數指出自網站i的可分享1 柯被安排至錬器j及bij為—指數指出自網站i的非= 享請求可被安排至伺服器j。 刀 12,如申請專利範圍第11項所述之裝置,進一步包含· 建立及維持—有向圖,該有向圖包含—虛節點及複數個词服 器點,每該伺服器點對應一個該伺服器;
指定一個該伺服器點為一赢節點,使式子 Μ ί=ι /=1 最小化;以及 自該虛節點至該赢節點選取一最短有向路經。 理慈 4旧M/0303TW,Y〇R9-20〇1-〇666(jhw) 57 1238621 替換頁 2004/09/13 案號:92101446 ,丨。‘ 13·如申請專利範圍第9項所述之裝置,進一步包含一靜態 程序,該靜態程序包含指派特定該網站至特定該伺服器。 14·如申請專利範圍為第13項所述之裝置,其中該靜態程 序指派該網輕特定贿ϋ,係根據自每該_之可分享客 戶請求及非可分享客戶請求之預測需求。 15·如申請專利範圍第1〇項所述之裝置,進一步包含ζ動 態程序’該動態程序包含: 檢查下一個客戶請求; 啟動該目標程序,以決定供處理該下—個客戶請求之目 前最佳伺服器,;以及 發送該下一個客戶請求至該最佳伺服器。 16.如申請專利範圍第ls項所述之裝置,進一步包含: 接收a玄客戶清求至一列;以及 其中該動態程序進一步包含·· 監視在該列中的該客戶請求; 監視目前被該伺服器處理的客戶請求; 為每一产伺服器定義―从)函數,藉由設定 58 理慈 4IBM/0303TW ’ Y〇R9-2〇〇1-〇666(JHW) 1238621
ζ Rj (ζ)= Rj 替換頁 2004/09/13 案號:92101446 •Σ 為每—jth伺服器定義一校正可接受 由設定 負载限制。,藉 = §[〜· + ‘);以及 啟動該目標程序以利用該响函數及校正可接受 負載限制h最小化函數 的影響’此最小化函數受限於 |卜'小{。,..山}, Ν · . ./=1 χϋ = 〇 a\j = 0, Ν 仏以,,以及 ^ =〇若〜=〇 , 其中〜為一決定變數,表示供可被伺服器」·處理的網站丨在 该列中的可分旱請求的假^數目,〜為_決定變數,表示供 可被伺服器j處理的網站】非可分享請求的假設數目,為列 中自網站1的可分享客戶請求的目前數目,义為列中自網站 理慈 4丨BM/0303TW,y〇R9_2〇01_0666(JHW) 59 替換頁 2004/09/13 案號:92101446 ί ;从# 案號:92101446 ,非可分享客戶請求的目前數目, 理的列中自網站i的可“ 4目所被一侧服器處 被-個値器一自;;二=前數目目前 目。 非了刀旱客戶請求的目前數 17· -種集中式網路服務系統,包含: 一裂置供自客戶接收客戶請求; 一襄置做_客戶财料生回應; -裝置供傳送細應至該客戶; 綱=將該客戶請求歸類為可分享客戶請求及非可 序及:辦轉行—目餘序,一靜態程 派至==包含為每一該客戶請求在每該客戶請求指 σ中’決定一最佳伺服器,以便在任一給定時 fr該網站之該指派至該飼服器及一目前客戶請求負 ,取小化-平均客戶回應時間,其中該可分享客戶請求可 指派至任何_服器,及射該非可分享客戶請求僅指派直 特定伺㈣,該特定伺服驗_柯分享客戶請求來源之 該網站; 理慈 4旧M/0303TW,y〇R9_2〇〇1-〇666(jhw) 1238621
替換頁 2004/09/13 案號':92101446 A靜△▲序包含指派特定該、_域舰器,以及 6亥動悲程序包含: 檢查下一個客戶請求; 啟動該目標程序,以妓供處理該下-個客戶請求 之目前最佳伺服器,;以及 I送該下—個客戶請求至該最佳伺服器。 理慈 4旧M/0303TW ’ YOR9-2001-0666(JHW) 61
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 TW200302644A (en) | 2003-08-01 |
TWI238621B true 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)
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 |
US7562143B2 (en) | 2004-01-13 | 2009-07-14 | International Business Machines Corporation | Managing escalating resource needs within a grid environment |
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 |
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 |
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 |
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 |
US7761557B2 (en) * | 2005-01-06 | 2010-07-20 | International Business Machines Corporation | Facilitating overall grid environment management by monitoring and distributing grid activity |
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 |
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 |
US7793308B2 (en) * | 2005-01-06 | 2010-09-07 | International Business Machines Corporation | Setting operation based resource utilization thresholds for resource use by a process |
US7668741B2 (en) * | 2005-01-06 | 2010-02-23 | International Business Machines Corporation | Managing compliance with service level agreements in 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 |
KR101092675B1 (ko) * | 2007-07-06 | 2011-12-09 | 엘지전자 주식회사 | 무선 네트워크 관리 방법 및 그 방법을 지원하는 스테이션 |
WO2009094672A2 (en) * | 2008-01-25 | 2009-07-30 | 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 |
US8631044B2 (en) * | 2008-12-12 | 2014-01-14 | The Trustees Of Columbia University In The City Of New York | Machine optimization devices, methods, and systems |
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 |
EP2433249A4 (en) | 2009-05-20 | 2014-03-05 | Univ Columbia | SYSTEMS, DEVICES AND METHODS OF ESTIMATION |
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 |
US10860384B2 (en) | 2012-02-03 | 2020-12-08 | Microsoft Technology Licensing, Llc | Managing partitions in a scalable environment |
US9852010B2 (en) | 2012-02-03 | 2017-12-26 | Microsoft Technology Licensing, Llc | Decoupling partitioning for scalability |
US8868711B2 (en) * | 2012-02-03 | 2014-10-21 | Microsoft Corporation | Dynamic load balancing 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)
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 |
AU2001278328A1 (en) * | 2000-07-26 | 2002-02-05 | 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 |
-
2002
- 2002-01-24 US US10/057,516 patent/US7356592B2/en not_active Expired - Fee Related
-
2003
- 2003-01-17 AT AT03701575T patent/ATE301364T1/de not_active IP Right Cessation
- 2003-01-17 WO PCT/GB2003/000167 patent/WO2003063447A1/en active IP Right Grant
- 2003-01-17 CN CNB038014963A patent/CN100556024C/zh not_active Expired - Fee Related
- 2003-01-17 JP JP2003563180A patent/JP3989443B2/ja not_active Expired - Fee Related
- 2003-01-17 KR KR1020047010400A patent/KR100754296B1/ko not_active IP Right Cessation
- 2003-01-17 CA CA2471594A patent/CA2471594C/en not_active Expired - Fee Related
- 2003-01-17 EP EP03701575A patent/EP1472846B1/en not_active Expired - Lifetime
- 2003-01-17 DE DE60301202T patent/DE60301202T2/de not_active Expired - Lifetime
- 2003-01-23 TW TW092101446A patent/TWI238621B/zh not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
JP3989443B2 (ja) | 2007-10-10 |
CA2471594C (en) | 2010-06-01 |
KR20040075048A (ko) | 2004-08-26 |
JP2005516293A (ja) | 2005-06-02 |
DE60301202T2 (de) | 2006-04-20 |
US7356592B2 (en) | 2008-04-08 |
US20030140143A1 (en) | 2003-07-24 |
ATE301364T1 (de) | 2005-08-15 |
DE60301202D1 (de) | 2005-09-08 |
WO2003063447A1 (en) | 2003-07-31 |
CN1706165A (zh) | 2005-12-07 |
TW200302644A (en) | 2003-08-01 |
EP1472846A1 (en) | 2004-11-03 |
CN100556024C (zh) | 2009-10-28 |
KR100754296B1 (ko) | 2007-09-03 |
CA2471594A1 (en) | 2003-07-31 |
EP1472846B1 (en) | 2005-08-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI238621B (en) | Method and apparatus for web farm traffic control | |
Dai et al. | Cloud infrastructure resource allocation for big data applications | |
Verma et al. | Real time efficient scheduling algorithm for load balancing in fog computing environment | |
Singh et al. | Cloud resource provisioning: survey, status and future research directions | |
Ghobaei-Arani et al. | LP-WSC: a linear programming approach for web service composition in geographically distributed cloud environments | |
Huang et al. | When backpressure meets predictive scheduling | |
Tong et al. | DDMTS: A novel dynamic load balancing scheduling scheme under SLA constraints in cloud computing | |
CN110162559B (zh) | 一种基于通用json同步和异步数据api接口调用的区块链处理方法 | |
Lin et al. | Online optimization scheduling for scientific workflows with deadline constraint on hybrid clouds | |
Bansal et al. | Task scheduling algorithms with multiple factor in cloud computing environment | |
Jyoti et al. | Cloud computing and load balancing in cloud computing-survey | |
Li et al. | MapReduce delay scheduling with deadline constraint | |
Paul Martin et al. | CREW: Cost and Reliability aware Eagle‐Whale optimiser for service placement in Fog | |
Fard et al. | Resource allocation mechanisms in cloud computing: a systematic literature review | |
Haidri et al. | A deadline aware load balancing strategy for cloud computing | |
De Palma et al. | Allocation priority policies for serverless function-execution scheduling optimisation | |
Khurana et al. | Reliability Based Workflow Scheduling on Cloud Computing with Deadline Constraint | |
Ye et al. | A hybrid instance-intensive workflow scheduling method in private cloud environment | |
Tao et al. | DSARP: Dependable scheduling with active replica placement for workflow applications in cloud computing | |
Dechouniotis et al. | A control‐theoretic approach towards joint admission control and resource allocation of cloud computing services | |
Cong et al. | Personality-and value-aware scheduling of user requests in cloud for profit maximization | |
Narwal et al. | A novel approach for Credit-Based Resource Aware Load Balancing algorithm (CB-RALB-SA) for scheduling jobs in cloud computing | |
Wang et al. | A dynamic programming-based approach for cloud instance type selection and optimisation | |
Chunlin et al. | Multi-queue scheduling of heterogeneous jobs in hybrid geo-distributed cloud environment | |
Wei et al. | AIMING: resource allocation with latency awareness for federated-cloud applications |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
MM4A | Annulment or lapse of patent due to non-payment of fees |