在競爭應(yīng)用之中共享網(wǎng)絡(luò)帶寬的系統(tǒng)的制作方法
【專利摘要】本公開關(guān)于在全局大型網(wǎng)絡(luò)(100)上對帶寬的分配。提供了將帶寬分配建立在網(wǎng)絡(luò)用戶(102)的預(yù)測的帶寬需求的基礎(chǔ)上的系統(tǒng)和方法。在分配帶寬時,每一個用戶(102)被指配用戶權(quán)重值,并且與該值成比例地被分配有帶寬。另外,強制實施帶寬分配,從而確保維持帶寬分配策略。
【專利說明】在競爭應(yīng)用之中共享網(wǎng)絡(luò)帶寬的系統(tǒng)
[0001]相關(guān)申請的交叉引用
[0002]本申請是于2011年2月I日提交的美國專利申請N0.13/018,967的連續(xù)申請,特此通過引用將其公開內(nèi)容并入本文。
【背景技術(shù)】
[0003]大型網(wǎng)絡(luò)支持各種各樣的應(yīng)用和服務(wù)。這樣的網(wǎng)絡(luò)可以包括在互連網(wǎng)絡(luò)或交換結(jié)構(gòu)中跨鏈路分布的多個設(shè)備。網(wǎng)絡(luò)的每一個節(jié)點可以包括交換機(jī)(例如,路由器)或端點(例如,主機(jī)設(shè)備)。當(dāng)鏈路或節(jié)點載送太多數(shù)據(jù),從而導(dǎo)致服務(wù)質(zhì)量的惡化時,會發(fā)生網(wǎng)絡(luò)擁塞。典型地,網(wǎng)絡(luò)擁塞的影響包括排隊延遲、分組丟失或新連接的阻塞。跨越網(wǎng)絡(luò)的擁塞可以通過協(xié)議來控制,諸如傳輸控制協(xié)議(“TCP”),其為競爭連接維持相似帶寬。TCP還確??傮w傳輸速率小于鏈路容量。
[0004]TCP的局限性中的一個是其聚焦于在任何給定時間正與端點進(jìn)行的連接的數(shù)量。因此,網(wǎng)絡(luò)的用戶能夠僅僅通過實現(xiàn)與網(wǎng)絡(luò)的另外連接來容易地使用另外帶寬。這種實踐在其中用戶的作業(yè)(job)跨越許多機(jī)器散布的較大型分布式系統(tǒng)中正變得越來越普遍。例如,如果第一用戶正在100個機(jī)器上運行作業(yè),并且第二用戶正在10個機(jī)器上運行作業(yè),則第一用戶可以能夠使用10倍第二用戶的帶寬。對于許多網(wǎng)絡(luò)來說,這是不期望的,因為其引發(fā)了被認(rèn)為是帶寬的不公平分配的東西。
【發(fā)明內(nèi)容】
[0005]本發(fā)明總體上涉及對網(wǎng)絡(luò)中的帶寬的管理。更具體地,本發(fā)明涉及為網(wǎng)絡(luò)中的每一個用戶預(yù)測需求,并且基于期望的帶寬分配策略來將帶寬分配給每一個用戶。
[0006]本發(fā)明的一個方面提供了下述方法:集中強制實施(enforce)帶寬分配策略,以使每一個用戶根據(jù)其需求接收帶寬的份額,并且從而防止用戶超過其分配的帶寬。另外,可以將特定用戶未使用的任何帶寬重新分發(fā)給網(wǎng)絡(luò)上的其他用戶,從而將帶寬分配給更需要其的用途。
[0007]在另一個方面中,為每一個用戶指配特定用戶權(quán)重值,并且將與該用戶的權(quán)重值成比例地將帶寬分配給每一個用戶。權(quán)重值可以基于任何數(shù)量的因素,包括用戶的優(yōu)先級、用戶的作業(yè)的數(shù)據(jù)密度、或用戶的作業(yè)的時間敏感性。因此,如果兩個用戶具有相同的權(quán)重值,則他們將接收相等的帶寬分配,假設(shè)他們正以相同的服務(wù)質(zhì)量(“QoS”)將數(shù)據(jù)從同一網(wǎng)絡(luò)源傳輸?shù)酵痪W(wǎng)絡(luò)目的地。
[0008]另一個方面允許重要的、關(guān)鍵性業(yè)務(wù)流量在沒有被不期望和非關(guān)鍵網(wǎng)絡(luò)傳輸中斷的情況下被傳輸。
[0009]在又另一個方面中,帶寬的節(jié)流通過在網(wǎng)絡(luò)的終端主機(jī)處成形的自動內(nèi)核級流量,外加用來檢測瓶頸的容量的網(wǎng)絡(luò)瓶頸的檢測和公平策略的應(yīng)用,來實現(xiàn)。
[0010]在本發(fā)明的又另一個方面中,來自終端主機(jī)的網(wǎng)絡(luò)使用信息的收集通過中央收集層級來聚集?!緦@綀D】
【附圖說明】
[0011]圖1圖示示例性全局網(wǎng)絡(luò)。
[0012]圖2圖示依據(jù)本發(fā)明的方面的功能組件層級。
[0013]圖3是依據(jù)本發(fā)明的方面的流程圖。
[0014]圖4是展示與效用值有關(guān)的帶寬分配的圖表。
[0015]圖5是展示與效用值有關(guān)的用于帶有不同權(quán)重值的用戶的帶寬分配的圖表。
[0016]圖6是展示與效用值有關(guān)的匯總帶寬分配的圖表。
[0017]圖7是依據(jù)本發(fā)明的方面的流程圖。
[0018]圖8A-B圖示用于在本發(fā)明中使用的計算機(jī)系統(tǒng)。
【具體實施方式】
[0019]當(dāng)參考示例性實施例的下面描述和附圖來考慮時,將理解本發(fā)明的方面、特征和優(yōu)勢。在不同附圖中相同的參考數(shù)字可以標(biāo)識相同或相似的元素。此外,下面的描述不是限制;本發(fā)明的范圍由所附權(quán)利要求及等價物來限定。
[0020]圖1圖示用于與本發(fā)明的方面一起使用的示例性互連網(wǎng)絡(luò)100。如所示,網(wǎng)絡(luò)包括多個主機(jī)102,其可以是諸如服務(wù)器或客戶端設(shè)備的計算機(jī)。主機(jī)102可以通過網(wǎng)絡(luò)中的節(jié)點104相互耦接。主機(jī)102還可以被耦接到外部網(wǎng)絡(luò)、存儲系統(tǒng)或其他設(shè)備(未示出)。每一個節(jié)點104可以包括路由器,其具有通過鏈路106與網(wǎng)絡(luò)上的其他設(shè)備的邏輯接口。每一個邏輯接口可以被表征為具有以每秒比特的給定容量。
[0021]可以將主機(jī)102分組成典型地將相互共享計算資源的集群。在圖1中所提供的示例中,主機(jī)102a、102b和102c是網(wǎng)絡(luò)集群108。多個集群可以在相同站點或存在點(“POP”)處運作。在圖1中,主機(jī)102a至102f表示在相同POP處運作的兩個單獨集群108。網(wǎng)絡(luò)路徑是通過鏈路106從網(wǎng)絡(luò)上的一個點到另一個的邏輯接口序列,而“路徑集”是多個路徑的集合??梢允褂寐窂郊瘉砻枋隹梢詾樵谝粋€網(wǎng)絡(luò)集群到另一個之間傳輸?shù)臄?shù)據(jù)采用的所有路徑。另外,每一個路徑可以具有相對權(quán)重,指示網(wǎng)絡(luò)流量在沿著具有兩個或多個單獨路徑的路徑集傳輸時應(yīng)當(dāng)以其被拆分的比率。
[0022]在圖2的體系結(jié)構(gòu)200中示出了本發(fā)明的一個示例性實施例。在該實施例中,系統(tǒng)200包括下面的組件:全局居間器(global broker)202、站點居間器(site broker) 204>作業(yè)成形器(job shaper) 206以及主機(jī)成形器(host shaper) 208。可以將這些組件合并入如圖1中所示的大型網(wǎng)絡(luò)的各種主機(jī)102中。網(wǎng)絡(luò)的用戶可以包括個人和客戶端設(shè)備。另外,可以將體系結(jié)構(gòu)200的一個或多個組件合并入網(wǎng)絡(luò)上的單個設(shè)備中。例如,站點居間器204、作業(yè)成形器206以及主機(jī)成形器208可以包括駐存在具有能夠執(zhí)行與單獨模塊中的每一個相關(guān)聯(lián)的功能的處理器的單個設(shè)備上的軟件模塊。
[0023]如圖2的體系結(jié)構(gòu)200中所示,全局居間器202坐落于帶寬強制實施器層級的頂部。全局居間器202負(fù)責(zé)在不同網(wǎng)絡(luò)集群之間分割網(wǎng)絡(luò)上的可用帶寬。全局居間器202從站點居間器204接收與帶寬使用和帶寬需求有關(guān)的信息??梢砸云谕6忍峁┍惶峁┙o全局居間器202的網(wǎng)絡(luò)傳輸信息。例如,替代提供網(wǎng)絡(luò)上的每一個設(shè)備的帶寬使用和需求,站點居間器204可以向全局居間器202提供與設(shè)備集群有關(guān)的信息(212)。例如,提供給全局居間器202的網(wǎng)絡(luò)數(shù)據(jù)信息可以包括網(wǎng)絡(luò)上的每一個源集群和目的地集群的標(biāo)識。
[0024]網(wǎng)絡(luò)傳輸信息還可以為每一個傳輸指定不同優(yōu)先級。例如,可以將容忍延遲的傳輸指定為低優(yōu)先級,而可以將延遲敏感的傳輸指定為高優(yōu)先級。另外,可以將網(wǎng)絡(luò)傳輸指定為強制實施的或未強制實施的。強制實施的數(shù)據(jù)將受制于帶寬強制實施方案,而未強制實施的數(shù)據(jù)將被免除。網(wǎng)絡(luò)傳輸在它們落在預(yù)先確定的帶寬閾值之下時可以被指定為未強制實施的。網(wǎng)絡(luò)傳輸信息還可以包括將采用的傳輸路由的指示。例如,如果網(wǎng)絡(luò)包含多個主干,則傳輸信息可以指示傳輸將采用哪個主干。
[0025]網(wǎng)絡(luò)傳輸信息可以以利用上面提供的傳輸指定中的每一個的主體(principle)分量或特有變量形式來表示,從而取決于正被確定的變量而創(chuàng)建不同的“主體”。例如,“集群主體”可以由下面的變量來表示:〈源集群,目的地集群,傳輸路由,優(yōu)先級,強制實施/未強制實施〉。因此,每一個集群主體將包含這五個變量的特有組合。如下所述,可以通過創(chuàng)建不同分量變量的組合來創(chuàng)建其他網(wǎng)絡(luò)“主體”。
[0026]對于每一個單獨的集群主體,站點居間器204將帶寬使用以及概述帶寬需求并且提供用戶正以其請求需求的相對權(quán)重的效用函數(shù)傳遞給全局居間器202 (212)。全局居間器202然后執(zhí)行網(wǎng)絡(luò)管理者所選擇的網(wǎng)絡(luò)共享策略。在下面詳細(xì)地說明了效用函數(shù)和網(wǎng)絡(luò)共享策略。
[0027]全局居間器202還可以被配置成維護(hù)表示網(wǎng)絡(luò)的當(dāng)前拓?fù)涞木W(wǎng)絡(luò)模型。網(wǎng)絡(luò)模型以及使用和需求信息可以由全局居間器202使用來檢測在網(wǎng)絡(luò)內(nèi)的擁塞鏈路。進(jìn)而,全局居間器202可以為每一個集群主體計算帶寬限制,并且在各集群對之間分割可用寬帶。優(yōu)選地,全局居間器202定期將帶寬限制向下傳遞給站點居間器204 (214)。在一個示例中,這可以是大約每10秒鐘。在其他示例中,可以以其他定期或預(yù)設(shè)間隔,諸如每1-15秒鐘、每1-15分鐘或根據(jù)可以是網(wǎng)絡(luò)觸發(fā)的事件的預(yù)先確定的條件,發(fā)生這種信息交換。這種方式,系統(tǒng)可以基于當(dāng)前網(wǎng)絡(luò)需求來提供帶寬分配。
[0028]站點居間器204期望地在每一個網(wǎng)絡(luò)站點或存在點(“POP”)處運行。站點居間器204通過傳輸214從全局居間器202接收帶寬限制。站點居間器204還通過傳輸218為每一個用戶和在作業(yè)成形器206中的作業(yè)周期性地分發(fā)帶寬。優(yōu)選地,大約每10秒鐘發(fā)生這種分發(fā)。在其他示例中,可以以其他定期或預(yù)設(shè)間隔,諸如每1-15秒鐘、每1-15分鐘或根據(jù)可以是網(wǎng)絡(luò)觸發(fā)的事件的預(yù)先確定的條件,發(fā)生這種信息交換。
[0029]具體地,站點居間器204通過傳輸214從全局居間器202接收集群主體帶寬限制,并且根據(jù)用戶主體將所接收的帶寬限制分成用戶帶寬限制。用戶主體包括用戶的標(biāo)識,傳輸?shù)脑醇骸鬏數(shù)哪康牡丶阂约皞鬏數(shù)牟罘址?wù)代碼點(“DSCP”)。DSCP包含QoS保證和相關(guān)網(wǎng)絡(luò)偏好。在不同作業(yè)之中劃分特定用戶的帶寬時,站點居間器204使用作業(yè)成形器206通過傳輸216所提供的作業(yè)主體。作業(yè)主體包括與用戶主體相同的變量,而且還期望地包括正由網(wǎng)絡(luò)的用戶運行的特定作業(yè)的標(biāo)識。因此,站點居間器204將聚集作業(yè)主體中的每一個,以便創(chuàng)建用戶主體。站點居間器204然后可以將用戶主體信息聚集成集群主體的形式,并且通過傳輸212將集群主體提供給全局居間器202。優(yōu)選地,站點居間器204將例如大約每10秒鐘,向全局居間器202提供包括集群主體需求的使用報告。在其他示例中,可以以其他定期或預(yù)設(shè)間隔,諸如每1-15秒鐘、每1-15分鐘或根據(jù)可以是網(wǎng)絡(luò)觸發(fā)的事件的預(yù)先確定的條件,發(fā)生這種信息交換。[0030]作業(yè)成形器206在每一個網(wǎng)絡(luò)集群處運行,以及負(fù)責(zé)在與那些作業(yè)相關(guān)聯(lián)的任務(wù)之中分割作業(yè)級帶寬限制,并且通過傳輸222將這些限制提供給主機(jī)成形器208。優(yōu)選地,作業(yè)成形器206大約每5秒鐘分發(fā)帶寬限制。在其他示例中,可以以其他定期或預(yù)設(shè)間隔,諸如每1-15秒鐘、每1-15分鐘或根據(jù)可以是網(wǎng)絡(luò)觸發(fā)的事件的預(yù)先確定的條件,發(fā)生這種信息交換。該分發(fā)期望地是作業(yè)保持的,因為任務(wù)未使用的任何帶寬應(yīng)當(dāng)被重新分發(fā)給其他任務(wù)。作業(yè)成形器206還通過傳輸216向站點居間器204周期性地報告作業(yè)級帶寬使用。優(yōu)選地,大約每10秒鐘發(fā)生這些周期性帶寬報告。在其他示例中,可以以其他定期或預(yù)設(shè)間隔,諸如每1-15秒鐘、每1-15分鐘或根據(jù)可以是網(wǎng)絡(luò)觸發(fā)的事件的預(yù)先確定的條件,發(fā)生這種信息交換。在執(zhí)行這種功能時,作業(yè)成形器206接收從主機(jī)成形器208提供的任務(wù)主體帶寬使用和需求。任務(wù)主體包含與作業(yè)主體相同的變量,而且期望地包括為作業(yè)實現(xiàn)的每一個任務(wù)的標(biāo)識。因此,任務(wù)主體可以被配置成包含下面的主體分量:〈用戶,作業(yè),任務(wù),源集群,目的地集群,DSCP〉。
[0031]主機(jī)成形器208可以在網(wǎng)絡(luò)中的每一個主機(jī)上運行,盡管這不是必需的。當(dāng)主機(jī)設(shè)備通過網(wǎng)絡(luò)傳輸數(shù)據(jù)時,傳輸分組可以按照主機(jī)正運行的單獨進(jìn)程或任務(wù)來分類。每一個任務(wù)的識別可以由運行于主機(jī)設(shè)備上的諸如Linux內(nèi)核的內(nèi)核340來執(zhí)行。內(nèi)核340因而允許系統(tǒng)將主機(jī)設(shè)備的每一個網(wǎng)絡(luò)連接,諸如TCP連接,映射到對應(yīng)的任務(wù)和用戶。主機(jī)成形器208通過傳輸220向作業(yè)成形器206周期性地報告該任務(wù)使用信息,以及主機(jī)成形器208在單獨主機(jī)上強制實施作業(yè)成形器206通過傳輸222提供的帶寬限制。優(yōu)選地大約每五秒鐘發(fā)生周期性任務(wù)使用報告。在其他示例中,可以以其他定期或預(yù)設(shè)間隔,諸如每1-15秒鐘、每1-15分鐘或根據(jù)可以是網(wǎng)絡(luò)觸發(fā)的事件的預(yù)先確定的條件,發(fā)生這種信息交換。在網(wǎng)絡(luò)上傳輸?shù)拿恳粋€任務(wù)在特定主機(jī)處基于正與其發(fā)生傳輸?shù)倪h(yuǎn)程集群的標(biāo)識、終端用戶以及該傳輸?shù)腄SCP來分類。對于每一個遠(yuǎn)程集群和DSCP對,使用令牌桶算法來測量并節(jié)流帶寬使用。
[0032]每一個主機(jī)成形器208可以被配置成執(zhí)行大量功能。例如,主機(jī)成形器208可以管理網(wǎng)絡(luò)集群名稱到其網(wǎng)際協(xié)議(“IP”)子網(wǎng)的映射。每一個主機(jī)成形器208還可以為網(wǎng)絡(luò)上的新的集群間流量運行周期性檢查,進(jìn)而,創(chuàng)建新的流量控制類。流量控制類的樹然后可以由主機(jī)成形器208劃分并管理??梢曰谙旅娴闹黧w分量來進(jìn)行流量控制類的劃分:<本地任務(wù),遠(yuǎn)程集群,DSCP〉。主機(jī)成形器208還可以被配置成執(zhí)行其他流量優(yōu)化功能,諸如為特定集群內(nèi)網(wǎng)絡(luò)流量創(chuàng)建快速路徑,以及將響應(yīng)的上游確認(rèn)(“ACK”)確定優(yōu)先次序。
[0033]另外,主機(jī)成形器可以在每一個主機(jī)處執(zhí)行吞吐量閾值檢查,并且為網(wǎng)絡(luò)傳輸創(chuàng)建令牌桶。令牌桶是基于令牌在抽象桶中的存在來確定何時可以傳輸流量的控制機(jī)制。桶包含令牌,其每一個可以表示字節(jié)單元或預(yù)先確定大小的單個分組。網(wǎng)絡(luò)管理員可以指定傳輸特定數(shù)量的字節(jié)需要多少令牌。當(dāng)令牌存在時,允許流來傳輸流量。如果在桶中不存在令牌,則不允許流,并且不傳輸分組??梢蕴孢x地使用用于確定待何時傳輸流量的其他已知機(jī)制。響應(yīng)于來自上游作業(yè)成形器206的輸入,主機(jī)成形器208還可以更新對令牌桶的限制??梢詠G棄已變成失活的令牌桶。在一個示例中,每一個令牌桶可以被配置成允許平均比特率R與B秒鐘的突發(fā)大小。在任何給定速率R和突發(fā)B,不活動的時期B將觸發(fā)流量被允許以與R*B比特的總量相等的線路速率或數(shù)據(jù)傳輸速度突發(fā),以及可以在缺乏空閑的情況下,實現(xiàn)R的持續(xù)率。[0034]可以以任何數(shù)量的現(xiàn)有方式發(fā)生帶寬節(jié)流。例如,可以使用LinuxHTB分組調(diào)度器和分組分類器來實現(xiàn)內(nèi)核中節(jié)流。應(yīng)當(dāng)注意的是,對于TCP,可能的是,在傳輸?shù)目蛻舳藗?cè)一直使帶寬節(jié)流。然而,這樣的過程在網(wǎng)絡(luò)客戶端正拉取大量數(shù)據(jù)時,通常將需要較大客戶端側(cè)緩沖。因此,可能更可取的是,在正發(fā)送數(shù)據(jù)的網(wǎng)絡(luò)的側(cè)使帶寬節(jié)流。
[0035]帶寬強制實施器系統(tǒng)還可以包括可以在每一個網(wǎng)絡(luò)集群中運行并且針對網(wǎng)絡(luò)上的部分或全部其他集群執(zhí)行跟蹤路由操作的網(wǎng)絡(luò)模型集群報告器(“集群報告器”)模塊210。集群報告器210聚集跟蹤路由數(shù)據(jù),并且通過傳輸224將其報告給全局居間器202。作為回報,集群報告器210通過傳輸226從全局居間器202接收網(wǎng)絡(luò)上的所有已知集群的列表。集群報告器210還可以被配置成向作業(yè)成形器206周期性地發(fā)送跟蹤路由命令。
[0036]系統(tǒng)200被配置成部分使用下述過程來強制實施網(wǎng)絡(luò)的期望帶寬分配策略。強制實施帶寬分配策略的配置可以包括一個或多個組分,諸如下述:用戶權(quán)重;手動節(jié)流、永久分配、自動強制實施規(guī)則、自動強制實施閾值、網(wǎng)絡(luò)模型重寫以及集群列表。用戶權(quán)重是確定用戶將從帶寬強制實施器200接收的帶寬的比例的數(shù)值。用戶權(quán)重可以取決于用于特定傳輸?shù)姆?wù)質(zhì)量級別。因此,對于每一個傳輸,使用默認(rèn)用戶權(quán)重和服務(wù)質(zhì)量乘法器(QoS乘法器)。QoS乘法器是為特定類型的數(shù)據(jù)傳輸設(shè)置服務(wù)質(zhì)量級別的值。因此,在一個示例中,用于給定傳輸?shù)挠脩魴?quán)重是默認(rèn)用戶權(quán)重乘以QoS乘法器:
[0037]user—we ight=default—user—weight 氺 QoS—multiplier
[0038]例如,假設(shè)用戶A和用戶B兩者均正在網(wǎng)絡(luò)上執(zhí)行已被指配有100的QoS乘法器的數(shù)據(jù)傳輸。如果用戶A具有I的默認(rèn)用戶權(quán)重,以及用戶B具有1.5的默認(rèn)用戶權(quán)重,則用戶A的傳輸將被指配(1.0*100) =100的實際用戶權(quán)重,而用戶B的傳輸將被指配(1.5*100) =150的實際用戶權(quán)重。用戶權(quán)重乘法器或QoS乘法器的值可以取決于與確定特定網(wǎng)絡(luò)用戶的重要性有關(guān)的任何因素集。例如,可以向正致力于關(guān)鍵性項目或時間敏感項目、需要大量數(shù)據(jù)的用戶提供比正致力于不那么重要的項目的用戶高的用戶權(quán)重乘法器和高的QoS乘法器。應(yīng)當(dāng)注意的是,如果期望的話,用戶權(quán)重可以用作為可以為特定用戶重寫的默認(rèn)設(shè)置。例如,如果用戶確定其沒在接收足夠帶寬,則該用戶可以提交對另外帶寬的請求??梢酝ㄟ^該用戶的網(wǎng)絡(luò)設(shè)備來發(fā)出該請求,并且可以將該請求從設(shè)備的主機(jī)成形器208發(fā)送給全局居間器202。取決于當(dāng)前網(wǎng)絡(luò)使用或來自網(wǎng)絡(luò)管理者的輸入,全局居間器202然后可以重寫默認(rèn)用戶權(quán)重設(shè)置,從而向用戶提供另外的帶寬。
[0039]帶寬強制實施器系統(tǒng)200使用的另一個配置組分是永久分配(“PA”)??梢允褂肞A來保留網(wǎng)絡(luò)上的帶寬以供重要用戶傳送。因此,在系統(tǒng)的分配策略中可以給予PA最高優(yōu)先級。系統(tǒng)可以基于用戶的主體分量、源集群、目的地集群以及QoS值來指定PA保留。例如,假設(shè)用戶A試圖使用高于預(yù)定義閾值的QoS將數(shù)據(jù)從集群B發(fā)送給集群C,全局居間器202可以被配置,以使為用戶A保留2Gbps的帶寬。當(dāng)用戶A沒在使用該保留的帶寬時,其可以暫時被分配給其他用戶。
[0040]另一個系統(tǒng)配置組分是手動節(jié)流,其指定對用戶能夠在兩個網(wǎng)絡(luò)集群之間進(jìn)行發(fā)送的速率的最大限制??梢栽谧鳂I(yè)級(“作業(yè)節(jié)流”)或用戶級(“用戶節(jié)流”)指定手動節(jié)流。用戶節(jié)流包含與PA相同的主體分量,即用戶、源集群、目的地集群以及QoS級別。作業(yè)節(jié)流使用相同的主體分量,外加指定正由用戶運行的作業(yè)的第五主體分量。
[0041]系統(tǒng)使用的又另一個配置組分是自動強制實施規(guī)則,其指定要強制實施哪些網(wǎng)絡(luò)傳輸流以及對哪些不強制實施。每一個自動強制實施規(guī)則可以指定任何數(shù)量的網(wǎng)絡(luò)參數(shù),以供免除帶寬強制實施,諸如指定的傳輸路徑。網(wǎng)絡(luò)參數(shù)可以包括對源集群、目的地集群、用戶、作業(yè)等以及其任何組合的指定。同樣地,自動強制實施規(guī)則可以指定其他網(wǎng)絡(luò)參數(shù),以供自動包括在帶寬強制實施器的分配策略中。另外,帶寬強制實施器可以執(zhí)行自動強制實施閾值,其指定在傳輸將遭受帶寬強制實施器的分配策略之前所需的帶寬使用率??梢栽谧鳂I(yè)主體級強制實施該閾值。例如,可以將自動強制實施閾值設(shè)置成5Mbps,以使每一個作業(yè)主體將不會遭受帶寬強制實施器的分配策略,除非其具有高于5Mbps閾值的使用率。優(yōu)選地,帶寬強制實施器將滿足閾值的每一個作業(yè)主體放入自動強制實施桶,并且其將作業(yè)主體保留在自動強制實施桶中達(dá)預(yù)先確定的時間段,諸如十五分鐘。在其他示例中,可以以其他定期或預(yù)設(shè)間隔,諸如每分鐘至每小時、或根據(jù)可以是網(wǎng)絡(luò)觸發(fā)的事件的預(yù)先確定的條件,來發(fā)生該時段。這種方式,間歇性移動高于和低于閾值的網(wǎng)絡(luò)傳輸將不會在強制實施狀態(tài)和未強制實施狀態(tài)之間來回翻轉(zhuǎn)。取決于傳輸路由,還可以將自動強制實施閾值設(shè)置成不同閾值級。例如,如果網(wǎng)絡(luò)包含兩個或更多個主干,則帶寬強制實施器可以將第一主干的閾值設(shè)置成5Mbps,而其他主干的閾值級可以被設(shè)置成10Mbps。
[0042]網(wǎng)絡(luò)模型重寫是帶寬強制實施器系統(tǒng)200的另一個配置組分。網(wǎng)絡(luò)模型重寫允許對給定鏈路容量和可保留的閾值的手動重寫。重寫可以被表示為包含在排序列表中的規(guī)則集,其中列表中的第一匹配規(guī)則被應(yīng)用。將單獨的排序列表用于鏈路容量重寫和可保留的閾值重寫??梢酝ㄟ^識別鏈路的源路由器、目的地路由器以及所使用的接口,來在規(guī)則集中指定每一個鏈路。
[0043]可以在集群列表上識別存在于網(wǎng)絡(luò)上的集群。對于每一個集群,該列表可以包含集群的名稱、其所屬的站點或POP以及集群存在于的子網(wǎng)。
[0044]如果網(wǎng)絡(luò)上的兩個用戶具有相同的用戶權(quán)重,則帶寬強制實施器系統(tǒng)200將分配相同量的帶寬,假設(shè)他們正將具有相同QoS的傳輸從相同源集群發(fā)送給相同目的地集群。在用戶正在不同集群對之間發(fā)送傳輸?shù)那闆r下,這不一定如此。然而,應(yīng)當(dāng)理解的是,可以對帶寬強制實施器系統(tǒng)200進(jìn)行配置,以使在網(wǎng)絡(luò)用戶之間提供公平性,而不管他們是否正在不同源和目的地之間進(jìn)行傳輸。另外,帶寬強制實施器200可以被配置成允許用戶通過優(yōu)先級令牌將其用戶權(quán)重值借給另一個用戶流,以使另一個流能夠以原始用戶的優(yōu)先級運作。
[0045]如上所述,帶寬強制實施器系統(tǒng)200從網(wǎng)絡(luò)上的所有用戶設(shè)備聚集集群間網(wǎng)絡(luò)使用信息。可以對這種使用信息進(jìn)行推斷,從而預(yù)計或預(yù)測網(wǎng)絡(luò)上的帶寬需求。帶寬強制實施器然后可以通過將推斷的使用信息納入各種帶寬共享過程來在用戶設(shè)備之間分配帶寬。
[0046]帶寬強制實施器系統(tǒng)可以實現(xiàn)可以被描述為“注水(waterfill)”過程的內(nèi)容,其在競爭用戶、作業(yè)和任務(wù)之間劃分網(wǎng)絡(luò)的可用帶寬。出于注水過程的目的,每一個作業(yè)主體可以與特定用戶主體相關(guān)聯(lián)。因此,作業(yè)主體可以被認(rèn)為是相關(guān)聯(lián)的、父親用戶主體的孩子主體。類似地,每一個任務(wù)主體可以與作業(yè)主體相關(guān)聯(lián),并且可以被認(rèn)為是該作業(yè)主體的孩子主體。
[0047]在圖3的流程圖中圖示了注水過程300。注水過程300可以由系統(tǒng)上的任何模塊執(zhí)行,但是優(yōu)選地由站點居間器204或作業(yè)成形器206執(zhí)行。該過程在塊302開始,其中原始帶寬水位被設(shè)置在O。在塊304,帶寬強制實施器模塊從可用主體選擇具有最低帶寬需求d的孩子主體。在塊306,確定是否有足夠剩余帶寬可用于為所有剩余孩子主體滿足最低需求。如果對塊306的回答是“是”,則該過程前進(jìn)到塊308,其中帶寬水位增加了量d。然后,在塊310,所有孩子的帶寬需求減少了量d。在塊312,可用帶寬減少了(d*剩余孩子主體數(shù))。然后,在塊314,將先前在塊304中選擇的最低需求孩子主體排除在未來考慮之外,并且該過程返回到塊304。如果對塊306的回答是“否”,則該過程前進(jìn)到塊316,其中水位增加了剩余帶寬除以剩余孩子數(shù)。在完成了注水過程300時,對滿足塊306的所有主體的帶寬限制將等于該主體的需求。對于所有其他主體,限制將等于塊308的最后迭代所設(shè)置的水位。以這種方法,注水過程以最大-最小公平方式,其意為數(shù)據(jù)流實現(xiàn)的最小數(shù)據(jù)率被最大化,在所有競爭主體之間劃分可用帶寬。
[0048]站點居間器204可以通過創(chuàng)建效用函數(shù)來為網(wǎng)絡(luò)用戶概述帶寬需求。更具體地,單個效用函數(shù)可以用作為正在相同網(wǎng)絡(luò)集群對之間發(fā)送數(shù)據(jù)的多個用戶的帶寬需求的表示。效用函數(shù)還可以考慮如上所述賦予每一個用戶的用戶權(quán)重和PA。
[0049]圖4圖示了關(guān)于兩個用戶即用戶I和用戶2的效用函數(shù),用戶中的每一個具有不同的PA。在該示例中,用戶I已被指配IGbps的PA,而用戶2已被指配4Gbps的PA??梢匀我庠O(shè)置圖4中提供的效用值的規(guī)模,因為僅僅其相對值是決定性的。出于該示例的目的,效用函數(shù)將在值O和200之間變動。假定PA被指定在帶寬共享期間具有最高優(yōu)先級,則效用函數(shù)單獨為PA保留在O和100之間的效用值。在100和200之間的效用空間中概述了用戶需求的其余部分。如圖4中所示,在100及更高的效用處完全滿足兩個PA。對于小于100的效用值,每一個用戶被賦予與其PA成比例的帶寬。
[0050]對于超出用戶的被賦予的PA的用戶需求,與用戶權(quán)重成比例地分配帶寬。圖5圖示了關(guān)于每一個正請求2Gbps的帶寬的兩個用戶的效用函數(shù)。在該示例中,兩個用戶尚未被指配任何PA,因此,對于100及更低的效用值,他們沒有被賦予他們的帶寬。然而,對于高于100的效用值,系統(tǒng)已被配置成為用戶4指配0.4的權(quán)重,而用戶3已被指配0.2的更低用戶權(quán)重。因此,在比用戶3的需求低的效用值處賦予用戶4的需求。
[0051]站點居間器204可以為每一個用戶主體的帶寬需求創(chuàng)建效用函數(shù)。其然后可以將相同集群對的用戶主體需求匯總?cè)雴蝹€效用函數(shù),其被稱為匯總的效用函數(shù)。圖6圖示了關(guān)于用戶1、用戶2、用戶3和用戶4的匯總的效用函數(shù)。如圖6中所示,匯總的效用函數(shù)僅僅是如圖4和5中所提供的每一個用戶的單獨效用函數(shù)的帶寬需求的線性相加。
[0052]系統(tǒng)可以通過實現(xiàn)納入網(wǎng)絡(luò)用戶的效用函數(shù)的漸進(jìn)式加注過程,來確定如何在競爭主體之間劃分可用網(wǎng)絡(luò)帶寬。圖7中圖示了示例性漸進(jìn)式加注過程700。在塊702開始,將初始效用設(shè)置成值O。在塊704,效用值增加了量ke。對于尚未被滿足或凍結(jié)的每一個競爭主體,使用該主體的效用函數(shù)來計算增加的效用將創(chuàng)建多少帶寬分配(塊706)。然后,該過程確定在競爭主體中所識別的每一個源集群和目的地集群之間是否存在多個路徑(塊708)。如果僅存在單個路徑,則在塊710,基于在塊706中確定的帶寬分配來增加該路徑的鏈路的未來帶寬使用。如果在源集群和目的地集群之間存在多個路徑,則通過在該多個路徑之中散布帶寬分配來將塊706的增加的帶寬分配添加到網(wǎng)絡(luò)鏈路(塊712)。應(yīng)當(dāng)注意的是,每一個路徑可以通過不同的倍增因數(shù)被賦予權(quán)重,如此,如果存在多個路徑,則在每一個路徑之中的分配將與該路徑的相對權(quán)重成比例。在塊714,該過程確定塊710和712的帶寬分配是否超過任何網(wǎng)絡(luò)鏈路的容量。如果不存在超過容量的鏈路,則該過程返回到塊704。如果網(wǎng)絡(luò)鏈路的容量被超過,則將該鏈路指定為瓶頸,并且將穿越該瓶頸鏈路的所有主體凍結(jié),這意為它們不能再被分配帶寬(塊716)。然后,在當(dāng)前效用值(“CUV”)減去ke(CUV-ke )和當(dāng)前效用值(CUV)之間執(zhí)行二分搜索,來確定對于其鏈路容量沒有被超過的效用值(塊718)。重復(fù)在塊704開始的該過程,直到所有主體均被凍結(jié)或已使其帶寬需求得到滿足為止(塊720)。
[0053]在許多情況下,網(wǎng)絡(luò)將傳輸免受帶寬強制實施器系統(tǒng)的管理的數(shù)據(jù)。在競爭集群主體之間分配帶寬時,全局居間器202為所有這樣的未受管理的流量調(diào)整邏輯接口的可用容量。例如,假設(shè)邏輯接口具有IOGbps的可用容量,并且當(dāng)前利用是8Gbps。如果僅5Gbps的利用可管理,則全局居間器將從可用帶寬減去其他3Gbps。從而,為該邏輯接口創(chuàng)建7Gbps的有效容量。
[0054]一旦考慮了未受管理的帶寬,就可以使用該漸進(jìn)式加注過程來在競爭集群主體之間分配帶寬。在執(zhí)行該過程時,站點居間器204將包含每一個集群主體的匯總需求的效用函數(shù)傳遞給全局居間器202。這些效用函數(shù)由站點居間器204從在該集群處的每一個單獨用戶主體的效用函數(shù)來計算。該系統(tǒng)可以被配置成為一些用戶主體提供手動節(jié)流。對于這些用戶主體,站點居間器204可以通過節(jié)流值來限制帶寬需求,這意為那些主體不能被分配比所配置的節(jié)流值多的帶寬。如果在運行該漸進(jìn)式加注過程之后帶寬仍然可用,則可以在用戶主體之中分割剩余帶寬作為獎勵帶寬。假如部分用戶主體將不使用所指配的獎勵,獎勵帶寬可以通過可配置的比例因數(shù)來超額預(yù)訂。例如,可以為每一個用戶指配在一和十之間的比例因數(shù),并且可以與該比例因數(shù)成比例地分配獎勵帶寬。
[0055]如前所述,全局居間器202向站點居間器204提供對每一個集群主體的帶寬限制。站點居間器204然后可以為每一個集群主體查找匯總的效用函數(shù),并且確定與所指配的帶寬限制相對應(yīng)的效用值。該效用值可以被稱為主速率,并且可以用來在用戶主體效用函數(shù)中查找對每一個用戶主體的帶寬限制。如果全局居間器202已向集群主體指配了激勵帶寬,則可以在用戶主體之中分割該獎勵帶寬。
[0056]為了為用戶主體構(gòu)建效用函數(shù),站點居間器204為該用戶主體確定帶寬需求是什么。這可以通過選擇在最近時段,諸如最后兩分鐘,的峰值用戶主體帶寬使用來完成。為了確保足夠的帶寬分配,站點居間器可以用用戶主體的峰值使用乘以預(yù)先確定的因數(shù),諸如1.1,來創(chuàng)建稍微更高的峰值用戶主體需求。在其他替選中,峰值使用比例因數(shù)可以在I和
1.5之間變動。對于一些用戶,帶寬強制實施器系統(tǒng)200可以被配置成提供手動節(jié)流。對于這些用戶,帶寬需求通過節(jié)流值來限制。另外,不為這些用戶指配超過節(jié)流值的獎勵帶寬。這種方式,分配給這些用戶的帶寬將不會超過所配置的節(jié)流設(shè)置。
[0057]站點居間器204然后可以通過在各作業(yè)主體上實現(xiàn)注水過程,來在用戶主體的構(gòu)成作業(yè)主體之中劃分指配給用戶主體的帶寬限制。如果在執(zhí)行注水過程之后任何帶寬仍然剩余,則可以在作業(yè)主體之中對其進(jìn)行劃分作為獎勵帶寬。假定部分作業(yè)主體將不使用所指配的獎勵,獎勵帶寬可以通過可配置的比例因數(shù)來超額預(yù)訂。例如,可以為每一個作業(yè)指配在一和十之間的比例因數(shù),并且可以與該比例因數(shù)成比例地分配獎勵帶寬。在確定待在注水過程中使用的帶寬需求時,對于每一個作業(yè),站點居間器204可以使用已在最近時間段,諸如兩分鐘發(fā)生的峰值需求。在其他示例中,可以以其他間隔,諸如1-15分鐘、或根據(jù)可以是網(wǎng)絡(luò)觸發(fā)的事件的預(yù)先確定的條件,來設(shè)置用于確定峰值需求的時段。假定不同的作業(yè)將在不同的時間達(dá)到峰值,系統(tǒng)可以按比例增加對用戶主體的總帶寬限制。比例因數(shù)等于峰值作業(yè)主體需求的總和除以峰值用戶主體需求。對于一些作業(yè),該系統(tǒng)可以具有配置的手動節(jié)流。在這種情況下,在注水過程的需求通過節(jié)流值來限制。類似地,不為這些作業(yè)指配超過節(jié)流值的獎勵帶寬。
[0058]一旦站點居間器204已向作業(yè)主體指配了帶寬限制,作業(yè)成形器206然后就可以在構(gòu)成任務(wù)主體之中劃分所指配的作業(yè)主體帶寬。這個功能通過在各任務(wù)主體上實現(xiàn)注水過程30的修改版本來實現(xiàn)。假定關(guān)于作業(yè)的任務(wù)是突發(fā)性的,并且不同的任務(wù)可以在不同的時間突發(fā),為每一個任務(wù)指配相同的帶寬限制。該限制等于該過程終止時的水位。在確定待在注水過程30中使用的帶寬需求時,對于每一個任務(wù),站點居間器204可以使用已在最近時間段,諸如兩分鐘發(fā)生的峰值需求。假定不同的任務(wù)將在不同的時間達(dá)到峰值,系統(tǒng)可以按比例增加對作業(yè)主體的總帶寬限制。比例因數(shù)等于峰值任務(wù)主體需求的總和除以峰值作業(yè)主體需求。
[0059]該系統(tǒng)可以被配置成防止在帶寬強制實施器200所觸發(fā)的帶寬爬升時段期間流量的突然突發(fā)。例如,可以為不同的任務(wù)實現(xiàn)增加的帶寬分配的逐步爬升,以防止任何同步突發(fā)。另外,可以對該系統(tǒng)進(jìn)行配置,以使網(wǎng)絡(luò)用戶能夠知道其作業(yè)是否正受系統(tǒng)節(jié)流。因此,可以使視圖對用戶、源集群、目的地集群以及QoS所識別的每個網(wǎng)絡(luò)流可用??梢匝刂鴤鬏?shù)穆窂皆阪溌芳壸鞒鲈撘晥D。還可以對系統(tǒng)進(jìn)行配置,以允許用戶將其資源配額中的更多專用于重要的作業(yè)或任務(wù),并且留下較少的資源用于不那么重要的作業(yè)或任務(wù)。這可以通過允許用戶將權(quán)重值指配給單獨作業(yè)和任務(wù)來執(zhí)行。該系統(tǒng)還可以包含冗余組件,以允許持續(xù)的操作,即使特定組件正出故障或不可得到。例如,系統(tǒng)可以包含在網(wǎng)絡(luò)的不同部分中運行的多個全局居間器202。在任何給定時間,只有一個全局居間器202將被指定為“活動”。站點居間器204可以將信息報告給和接收信息自網(wǎng)絡(luò)中的每一個全局居間器202。然而,站點居間器204將只接受活動的全局居間器202所提供的帶寬限制。還可以為站點居間器204和作業(yè)成形器206實現(xiàn)冗余。
[0060]可以用下面的示例性計算機(jī)系統(tǒng)來實現(xiàn)根據(jù)本發(fā)明的方面的系統(tǒng)。圖8A展示了描繪可以單獨或在聯(lián)網(wǎng)配置中使用的各種計算設(shè)備的計算機(jī)系統(tǒng)的示意圖。例如,該圖圖示了計算機(jī)網(wǎng)絡(luò)300,其具有多個計算機(jī)302、304、306和308以及其他類型的設(shè)備,諸如譬如移動電話310和PDA312的便攜式電子設(shè)備。然而,并沒有如此限制本發(fā)明,并且還可以使用包括上網(wǎng)本和平板型手持式計算機(jī)(未示出)的其他設(shè)備。這樣的設(shè)備可以通過本地或直接連接314互連和/或可以通過諸如LAN、WAN、因特網(wǎng)等的通信網(wǎng)絡(luò)316被耦接,以及其可以是有線或無線的。
[0061]每一個設(shè)備可以包括例如一個或多個處理設(shè)備并且具有用戶輸入,諸如鍵盤318和鼠標(biāo)320和/或各種其他類型的輸入設(shè)備,諸如筆輸入、操縱桿、按鈕、觸摸屏等,以及顯示器322,其可以包括例如CRT、IXD、等離子屏幕監(jiān)視器、TV、投影儀等。每一個計算機(jī)302、304、306和308可以是個人計算機(jī)、服務(wù)器等。僅作為示例,計算機(jī)302和306可以是個人計算機(jī),而計算機(jī)304可以是服務(wù)器,以及計算機(jī)308可以是膝上型機(jī)。
[0062]如圖SB中所示,諸如計算機(jī)302和304的每一個計算機(jī)包含處理器324、存儲器/存儲326以及典型地存在于計算機(jī)中的其他組件。例如,存儲器/存儲326存儲處理器324可訪問的信息,包括可以由處理器324執(zhí)行的指令328和可以由處理器檢索、操縱或存儲的數(shù)據(jù)330。在服務(wù)器處的指令328可以包括與在當(dāng)前系統(tǒng)中的模塊中的一個或多個,諸如全局居間器202或站點居間器204,相關(guān)聯(lián)的操作。在用戶系統(tǒng)處的指令328可以包括與模塊中的一個或多個,諸如作業(yè)成形器206和主機(jī)成形器208,相關(guān)聯(lián)的操作。
[0063]存儲器/存儲可以是能夠存儲處理器可訪問的信息的任何類型的或任何設(shè)備,諸如硬盤驅(qū)動器、ROM、RAM、⑶-ROM、閃存、具有寫能力或只讀存儲器。處理器324可以包括任何數(shù)量的眾所周知的處理器,諸如來自英特爾公司或超微半導(dǎo)體公司的處理器。替選地,處理器可以是用于執(zhí)行操作的專用控制器,諸如ASIC或其他處理設(shè)備。
[0064]指令328可以包括待由處理器直接(諸如機(jī)器碼)或間接(諸如腳本)執(zhí)行的任何指令集。在這方面,可以在本文可交替地使用用語“指令”、“步驟”和“程序”??梢砸匀魏斡嬎銠C(jī)語言或格式,諸如以目標(biāo)代碼或源代碼模塊,存儲指令。在下面更詳細(xì)地說明了依據(jù)本發(fā)明的指令的功能、方法和例程。
[0065]數(shù)據(jù)330可以由處理器324根據(jù)指令328來檢索、存儲或修改??梢詫?shù)據(jù)存儲為數(shù)據(jù)集合。例如,盡管本發(fā)明不受任何特定數(shù)據(jù)結(jié)構(gòu)限制,但是,可以將數(shù)據(jù)存儲在計算機(jī)寄存器中、在關(guān)系數(shù)據(jù)庫中作為具有多個不同字段和記錄的表、在網(wǎng)頁緩存中、作為XML文檔等。
[0066]還可以以任何計算機(jī)可讀格式,諸如但不限于二進(jìn)制值、ASCII或Unicode,對數(shù)據(jù)進(jìn)行格式化。而且,數(shù)據(jù)可以包括足以識別相關(guān)信息的任何信息,諸如描述性文本、專有代碼、指針、對存儲在其他存儲器(包括其他網(wǎng)絡(luò)位置)中的數(shù)據(jù)的引用或函數(shù)用來計算相關(guān)數(shù)據(jù)的信息。此外,給定項可以包括一個或多個文件、存儲在數(shù)據(jù)庫中的數(shù)據(jù)集、web緩存等。取決于數(shù)據(jù)的大小和內(nèi)容,可以分別存儲或另外維護(hù)其部分。
[0067]盡管在圖8B中將處理器324和存儲器326在功能上圖示為在同一塊內(nèi),但是,應(yīng)當(dāng)理解的是,處理器和存儲器實際上可以包括可以或可以不被存儲在同一物理外殼或位置內(nèi)的多個處理器和存儲器。例如,指令和數(shù)據(jù)中的部分或全部可以被存儲在可移除CD-ROM、DVD-ROM或閃存上,以及其他的被存儲在只讀計算機(jī)芯片內(nèi)。指令和數(shù)據(jù)中的部分或全部可以被存儲在物理上遠(yuǎn)離處理器、但是處理器仍然可訪問的位置中。類似地,處理器實際上可以包括可以或可以不并行操作的處理器集合。數(shù)據(jù)可以跨越諸如硬盤驅(qū)動器等的多個存儲器326分布并存儲。
[0068]在一個方面中,服務(wù)器304可以與一個或多個客戶端計算機(jī)302、306和/或308、以及諸如移動電話310和PDA312的設(shè)備通信。每一個客戶端計算機(jī)或其他客戶端設(shè)備可以與服務(wù)器304類似地被配置有處理器、存儲器和指令,以及一個或多個用戶輸入設(shè)備318、320和用戶輸出設(shè)備,諸如顯示器322。每一個客戶端計算機(jī)可以是意在供個人使用的通用計算機(jī),其具有通常在個人計算機(jī)中找到的所有組件,諸如中央處理單元(“CPU”)、顯示器、⑶-ROM或DVD驅(qū)動器、硬盤驅(qū)動器、鼠標(biāo)、鍵盤、觸敏屏、揚聲器、麥克風(fēng)、調(diào)制解調(diào)器和/或路由器(電話、電纜或另外的)以及用于使這些元件相互連接的所有組件。
[0069]服務(wù)器304、用戶計算機(jī)和其他設(shè)備能夠諸如通過網(wǎng)絡(luò)316與其他計算機(jī)直接和間接通信。盡管在圖8A-B中只描繪了一些計算設(shè)備,但是,應(yīng)當(dāng)理解的是,典型系統(tǒng)可以包括大量連接的服務(wù)器和客戶端,其中每一個不同的計算機(jī)在網(wǎng)絡(luò)的不同節(jié)點處。網(wǎng)絡(luò)316及居間節(jié)點可以包括各種配置和協(xié)議,包括因特網(wǎng)、內(nèi)聯(lián)網(wǎng)、虛擬專用網(wǎng)絡(luò)、廣域網(wǎng)、本地網(wǎng)絡(luò)、使用專屬于一個或多個公司的通信協(xié)議的專用網(wǎng)絡(luò)、以太網(wǎng)、WiF1、藍(lán)牙或TCP/IP。[0070]通過能夠傳輸數(shù)據(jù)到及自其他計算機(jī)的任何設(shè)備,諸如調(diào)制解調(diào)器(例如,撥號或電纜)、網(wǎng)絡(luò)接口和無線接口,可以便于跨網(wǎng)絡(luò),包括任何居間節(jié)點的通信。服務(wù)器304可以是web服務(wù)器。盡管如上所述在傳輸或接收信息時獲得了某些優(yōu)勢,然而,本發(fā)明的其他方面并不限于對信息的任何特定方式的傳輸。例如,在一些方面中,可以通過諸如盤、帶、CD-ROM的介質(zhì)、或通過撥號調(diào)制解調(diào)器在兩個計算機(jī)系統(tǒng)之間直接發(fā)送信息。在其他方面中,某些信息可以以非電子格式來傳輸并且被手動地輸入到系統(tǒng)中。
[0071]此外,依據(jù)在本文所述的系統(tǒng)和方法的計算機(jī)和用戶設(shè)備可以包括能夠處理指令并且傳輸數(shù)據(jù)到及自人類和其他計算機(jī)的任何設(shè)備,包括缺乏本地存儲能力的網(wǎng)絡(luò)計算機(jī)、諸如PDA312的帶有調(diào)制解調(diào)器的PDA、諸如移動電話310的具有因特網(wǎng)能力的無線電話、上網(wǎng)本和平板型手持式計算機(jī)。
[0072]盡管已參考特定實施例來描述了本文的發(fā)明,然而,應(yīng)當(dāng)理解的是,這些實施例僅僅說明了本發(fā)明的原理和應(yīng)用。因此,應(yīng)當(dāng)理解的是,在不背離所附權(quán)利要求所限定的本發(fā)明的精神和范圍的情況下,可以對說明性實施例作出大量修改,并且可以設(shè)計出其他安排。
[0073]工業(yè)實用性
[0074]本發(fā)明享有寬泛的工業(yè)實用性,包括但不限于將自適應(yīng)帶寬分配用于在網(wǎng)絡(luò)設(shè)備之間傳送數(shù)據(jù)的計算機(jī)聯(lián)網(wǎng)。
【權(quán)利要求】
1.一種在網(wǎng)絡(luò)上分配帶寬的方法,所述方法包括: 接收表示多個網(wǎng)絡(luò)用戶的帶寬使用信息; 對所述網(wǎng)絡(luò)用戶進(jìn)行分類,所述分類的動作包括為每一個網(wǎng)絡(luò)用戶指配多個權(quán)重值中的一個,所指配的權(quán)重值符合預(yù)先確定的網(wǎng)絡(luò)標(biāo)準(zhǔn)集; 利用處理器執(zhí)行創(chuàng)建帶寬分配的操作,所述帶寬分配基于所述帶寬使用信息和所述用戶的權(quán)重值; 將所述帶寬分配傳輸給對應(yīng)于所述網(wǎng)絡(luò)用戶的網(wǎng)絡(luò)設(shè)備。
2.根據(jù)權(quán)利要求1所述的方法,其中利用所述處理器執(zhí)行的所述操作包括: 聚集帶寬使用信息來確定所述網(wǎng)絡(luò)的總帶寬需求; 檢測在所述網(wǎng)絡(luò)內(nèi)的擁塞鏈路;以及 在所述網(wǎng)絡(luò)用戶之間劃分所述網(wǎng)絡(luò)的可用帶寬。
3.根據(jù)權(quán)利要求1所述的方法,進(jìn)一步包括在所述網(wǎng)絡(luò)用戶之中劃分所述帶寬分配。
4.根據(jù)權(quán)利要求2所述的方法,進(jìn)一步包括在正為每一個網(wǎng)絡(luò)用戶執(zhí)行的作業(yè)之中劃分每一個網(wǎng)絡(luò)用戶的所述帶寬分配。
5.根據(jù)權(quán)利要求3所述的方法,進(jìn)一步包括在與每一個作業(yè)相關(guān)聯(lián)的多個任務(wù)之中劃分每一個作業(yè)的所述帶寬分配。
6.根據(jù)權(quán)利要求1所述的方法,其中所述帶寬需求信息基于所述網(wǎng)絡(luò)用戶在預(yù)先確定的時間段內(nèi)的峰值帶寬使 用。
7.根據(jù)權(quán)利要求1所述的方法,進(jìn)一步包括: 確定所有網(wǎng)絡(luò)帶寬需求被滿足; 確定在所述網(wǎng)絡(luò)上可獲得未使用的帶寬;以及 與所述用戶的權(quán)重值成比例地在所述網(wǎng)絡(luò)用戶之中劃分所述未使用的帶寬。
8.根據(jù)權(quán)利要求1所述的方法,其中一部分網(wǎng)絡(luò)帶寬免受所述創(chuàng)建帶寬分配的操作的影響。
9.根據(jù)權(quán)利要求1所述的方法,其中一部分網(wǎng)絡(luò)傳輸免受所述創(chuàng)建帶寬分配的操作的影響。
10.一種在網(wǎng)絡(luò)上分配帶寬的方法,所述方法包括: 為網(wǎng)絡(luò)用戶接收用戶權(quán)重值; 接收與在所述網(wǎng)絡(luò)上運行的多個作業(yè)有關(guān)的帶寬使用信息,其中每一個作業(yè)與所述網(wǎng)絡(luò)用戶中的給定一個相關(guān)聯(lián),并且包括待在所述網(wǎng)絡(luò)上執(zhí)行的一個或多個任務(wù); 為每一個網(wǎng)絡(luò)用戶確定帶寬需求,其中所述帶寬需求至少部分基于所接收的用戶權(quán)重值; 將所述帶寬需求傳輸給帶寬分配模塊; 從所述帶寬分配模塊接收帶寬分配;以及 基于所接收的帶寬分配和所述帶寬使用信息,在所述網(wǎng)絡(luò)用戶和作業(yè)之中劃分帶寬。
11.根據(jù)權(quán)利要求9所述的方法,其中所述帶寬需求包括永久地分配給特定網(wǎng)絡(luò)用戶的帶寬。
12.根據(jù)權(quán)利要求9所述的方法,其中確定帶寬需求包括將多個用戶的帶寬需求聚集成單個需求函數(shù)。
13.根據(jù)權(quán)利要求9所述的方法,其中每一個網(wǎng)絡(luò)用戶與網(wǎng)絡(luò)集群相關(guān)聯(lián),并且其中傳輸所述帶寬需求包括提供網(wǎng)絡(luò)集群的帶寬需求。
14.根據(jù)權(quán)利要求9所述的方法,進(jìn)一步包括在多個任務(wù)之中劃分每一個作業(yè)的帶寬。
15.一種用于在網(wǎng)絡(luò)上分配帶寬的系統(tǒng),所述系統(tǒng)包括: 用于對網(wǎng)絡(luò)用戶進(jìn)行分類的裝置,其中所述分類包括向每一個網(wǎng)絡(luò)用戶指配多個權(quán)重值中的一個,每一個相應(yīng)網(wǎng)絡(luò)用戶的所指配的權(quán)重值根據(jù)至少一個網(wǎng)絡(luò)標(biāo)準(zhǔn)來選擇; 用于為每一個網(wǎng)絡(luò)用戶確定帶寬需求的裝置; 用于至少部分基于所述用戶權(quán)重值和所確定的帶寬需求,在每一個網(wǎng)絡(luò)用戶之中分配帶寬的裝置;以及 用于在每一個網(wǎng)絡(luò)用戶之中劃分所分配的帶寬的裝置。
16.根據(jù)權(quán)利要求15所述的系統(tǒng),其中所述用于分配帶寬的裝置包括: 用于聚集帶寬使用信息來確定所述網(wǎng)絡(luò)的總帶寬需求的裝置;以及 用于檢測所述網(wǎng)絡(luò)內(nèi)的 擁塞鏈路的裝置。
【文檔編號】H04L12/911GK103477591SQ201280015806
【公開日】2013年12月25日 申請日期:2012年1月31日 優(yōu)先權(quán)日:2011年2月1日
【發(fā)明者】蘇尚特·賈殷, 阿南德·拉古拉曼, 阿洛克·庫馬爾, 烏代·奈克, 阿斯皮·西甘波里亞 申請人:谷歌公司