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

Method and apparatus for web farm traffic control Download PDF

Info

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
Application number
TW092101446A
Other languages
English (en)
Other versions
TW200302644A (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

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
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 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)

* 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
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)

* 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
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

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