欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

控制公平帶寬分配效率的制作方法

文檔序號(hào):11291015閱讀:313來(lái)源:國(guó)知局
控制公平帶寬分配效率的制造方法與工藝



背景技術(shù):

設(shè)備(例如,諸如公有云的可公開(kāi)訪問(wèn)的服務(wù)器)向用戶提供服務(wù)器資源(例如,應(yīng)用、虛擬機(jī)、執(zhí)行實(shí)體等),并且可以為這樣的服務(wù)器資源分配帶寬。例如,特定資源的用戶可以具有對(duì)這樣的帶寬的預(yù)定義數(shù)量(或部分)的預(yù)定義的權(quán)利。



技術(shù)實(shí)現(xiàn)要素:

根據(jù)一個(gè)總體方面,一種系統(tǒng)可以包括微調(diào)度器,其控制針對(duì)客戶端的帶寬分配,每個(gè)客戶端訂閱傳出通信鏈路的帶寬的相應(yīng)預(yù)定義部分。宏調(diào)度器通過(guò)以下對(duì)該微調(diào)度器進(jìn)行控制:在預(yù)定義的第一期限前分配帶寬中與每個(gè)活躍的相應(yīng)客戶端相關(guān)聯(lián)的相應(yīng)訂閱部分,其中未被相應(yīng)客戶端所使用的剩余帶寬在預(yù)定義的第二期限前成比例地在相應(yīng)活躍客戶端之間共享,在由宏調(diào)度器最小化微調(diào)度器間的協(xié)調(diào)的同時(shí),周期性地調(diào)節(jié)針對(duì)每個(gè)微調(diào)度器的相應(yīng)帶寬分配。

根據(jù)另一個(gè)方面,宏控制器控制針對(duì)相應(yīng)資源的用戶的帶寬分配,該相應(yīng)資源被分別被配置為傳送到具有預(yù)定義的最大傳出傳輸帶寬的公用傳出通信鏈路。相應(yīng)用戶中的每一個(gè)訂閱該傳出通信鏈路的傳出傳輸帶寬中的相應(yīng)預(yù)定義部分??刂茙挿峙浒ù_定傳出通信鏈路處在第一預(yù)定時(shí)間間隔的傳出傳輸?shù)闹芷谛员忍芈?,并且通過(guò)將該傳出通信鏈路處的傳出傳輸?shù)闹芷谛员忍芈逝c預(yù)定義擁塞速率值進(jìn)行比較,來(lái)確定傳出通信鏈路當(dāng)前是否擁塞。如果該傳出通信鏈路被確定為當(dāng)前擁塞,則相應(yīng)的獨(dú)立上限隊(duì)列被分配給當(dāng)前活躍的多個(gè)相應(yīng)資源的多個(gè)相應(yīng)用戶中的每一個(gè),并且達(dá)到帶寬中與當(dāng)前活躍的每個(gè)相應(yīng)客戶端相關(guān)聯(lián)的相應(yīng)訂閱部分的相應(yīng)數(shù)量在預(yù)定義的第一期限前被分配,其中未被相應(yīng)客戶端所使用的剩余帶寬在預(yù)定義的第二期限前成比例地在相應(yīng)活躍客戶端之間被共享。針對(duì)多個(gè)相應(yīng)資源的多個(gè)相應(yīng)用戶中的每一個(gè)的相應(yīng)帶寬分配被周期性調(diào)節(jié)以提供近似的公平排隊(duì)。

根據(jù)另一個(gè)方面,一種計(jì)算機(jī)程序產(chǎn)品包括計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),該計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)存儲(chǔ)可執(zhí)行指令,該可執(zhí)行指令使得至少一個(gè)計(jì)算設(shè)備控制針對(duì)執(zhí)行實(shí)體的帶寬分配,上述執(zhí)行實(shí)體分別被配置為傳送到具有預(yù)定義的最大傳出傳輸帶寬的公用傳出通信鏈路。該相應(yīng)執(zhí)行實(shí)體中的每一個(gè)訂閱該傳出通信鏈路的傳出傳輸帶寬中的相應(yīng)預(yù)定義部分。控制帶寬分配包括控制多個(gè)微調(diào)度器,每個(gè)微調(diào)度器控制針對(duì)相應(yīng)執(zhí)行實(shí)體的帶寬分配??刂圃摱鄠€(gè)微調(diào)度器包括:針對(duì)每個(gè)活躍的相應(yīng)執(zhí)行實(shí)體在預(yù)定義的第一期限前分配帶寬中與每個(gè)相應(yīng)執(zhí)行實(shí)體相關(guān)聯(lián)的相應(yīng)訂閱部分,其中未被相應(yīng)執(zhí)行實(shí)體所使用的剩余帶寬在預(yù)定義的第二期限前成比例地在相應(yīng)活躍執(zhí)行實(shí)體之間被共享,在最小化微調(diào)度器間的協(xié)調(diào)的同時(shí),周期性地調(diào)節(jié)針對(duì)每個(gè)微調(diào)度器的相應(yīng)帶寬分配。

提供該發(fā)明內(nèi)容而以簡(jiǎn)化形式對(duì)隨后將在下文的具體實(shí)施方式中進(jìn)一步進(jìn)行描述的代表性概念的選擇進(jìn)行介紹。該發(fā)明內(nèi)容并非意在標(biāo)識(shí)所請(qǐng)求保護(hù)主題的關(guān)鍵特征或必要特征,其也并非意在被用來(lái)幫助確定所請(qǐng)求保護(hù)主題的范圍。一個(gè)或多個(gè)實(shí)施例的細(xì)節(jié)在附圖和以下描述中給出。其它特征和優(yōu)勢(shì)將通過(guò)閱讀以下詳細(xì)描述以及參照附圖而是顯而易見(jiàn)的。

附圖說(shuō)明

圖1a是根據(jù)本文所討論的示例技術(shù)的用于控制公平帶寬分配的示例系統(tǒng)的框圖。

圖1b是根據(jù)本文所討論的示例技術(shù)的用于控制公平帶寬分配的示例系統(tǒng)的框圖。

圖2是涉及使用vm交換機(jī)的vm公平帶寬分配的示例系統(tǒng)的框圖。

圖3是涉及使用硬件中的輸出隊(duì)列調(diào)度器的在路由器中的硬件公平帶寬分配的示例系統(tǒng)的框圖。

圖4a-4f圖示了用于圖1的系統(tǒng)的示例操作的示例實(shí)施方式的示例指令。

圖5a-5j圖示了針對(duì)圖1的系統(tǒng)的示例操作的示例實(shí)施方式的示例帶寬分配。

圖6a-6d是圖示圖1的系統(tǒng)的示例操作的流程圖。

圖7a-7b是圖示圖1的系統(tǒng)的示例操作的流程圖。

圖8是圖示圖1的系統(tǒng)的示例操作的流程圖。

具體實(shí)施方式

i.介紹

設(shè)備向用戶提供資源,并且可以為這樣的資源分配帶寬(例如,數(shù)據(jù)通信帶寬)。例如,特定資源的用戶可以具有對(duì)這樣的帶寬的預(yù)定義數(shù)量(或部分)的預(yù)定義權(quán)利。例如,可公開(kāi)訪問(wèn)的服務(wù)器(例如,公有云)向用戶提供服務(wù)器資源,并且可以向這樣的用戶分配虛擬機(jī)(vm),以及為每個(gè)vm分配帶寬。例如,vm的用戶可以具有對(duì)這樣的帶寬的預(yù)定義數(shù)量(或部分)的授權(quán)。例如,該用戶可以具有使得該用戶具有預(yù)定義數(shù)量的資源(例如,帶寬)的權(quán)利的訂閱。

在該上下文中,“云”可以是指涉及可以通過(guò)諸如互聯(lián)網(wǎng)的通信網(wǎng)絡(luò)連接的一個(gè)或多個(gè)設(shè)備或計(jì)算機(jī)的各種計(jì)算概念。例如,“云計(jì)算”可以是指通過(guò)網(wǎng)絡(luò)進(jìn)行的分布式計(jì)算,并且可以涉及在多個(gè)連接計(jì)算機(jī)上運(yùn)行程序或應(yīng)用的能力。計(jì)算領(lǐng)域的技術(shù)人員將會(huì)意識(shí)到,本文所討論的示例技術(shù)可以使用“云”或任意其他遠(yuǎn)程設(shè)備(例如,遠(yuǎn)程服務(wù)器,或者更簡(jiǎn)單類型的遠(yuǎn)程設(shè)備)。

在該上下文中,“虛擬機(jī)”(vm)可以是指特定計(jì)算機(jī)系統(tǒng)的仿真。例如,虛擬機(jī)可以基于計(jì)算機(jī)架構(gòu)以及真實(shí)或假設(shè)的計(jì)算機(jī)的功能來(lái)操作,并且它們的實(shí)施方式可以涉及專用硬件、軟件或者二者的組合。在該上下文中,“帶寬”可以是指可用的或消耗的數(shù)據(jù)通信資源的比特率的度量。

諸如azure和amazon的ec2的公有云并不僅是分配虛擬機(jī)(vm),而且還基于用戶授權(quán)(例如,經(jīng)由用戶/消費(fèi)者訂閱/協(xié)定/支付的授權(quán))為每個(gè)vm分配帶寬。因此,提供方可能需要根據(jù)每個(gè)用戶被授權(quán)(例如,經(jīng)由訂閱)的相應(yīng)帶寬數(shù)量控制用戶vm之間在服務(wù)器處的帶寬分配。雖然每個(gè)用戶能夠被分配他們被授權(quán)的固定數(shù)量的帶寬,但是由于許多用戶可能并未長(zhǎng)時(shí)間使用他們的帶寬授權(quán)數(shù)量,因此這可能是浪費(fèi)的。根據(jù)本文所討論的示例技術(shù),該未使用(剩余)帶寬能夠成比例地在其它非空閑(即,活躍)用戶vm間再次分配。公平的帶寬分配或公平的排隊(duì)技術(shù)在許多情況下可以被用來(lái)處理類似的問(wèn)題;然而,vm涉及很多可能涉及不同于常規(guī)技術(shù)的處理的特性。

在該上下文中,互聯(lián)網(wǎng)網(wǎng)關(guān)中的“公平帶寬分配”是指確定如何控制網(wǎng)絡(luò)容量在共享互聯(lián)網(wǎng)連接的用戶之間的分配的問(wèn)題。在該上下文中,“公平排隊(duì)”是指進(jìn)程和網(wǎng)絡(luò)調(diào)度器例如為了允許多個(gè)包流公平地分享鏈路容量所使用的調(diào)度技術(shù)。例如,與常規(guī)的先進(jìn)先出(fifo)排隊(duì)相比,利用公平排隊(duì),高數(shù)據(jù)速率的流(例如,涉及大數(shù)據(jù)包或許多數(shù)據(jù)包)無(wú)法得到比其公平份額更多的鏈路容量。

例如,常規(guī)的公平排隊(duì)技術(shù)可能假設(shè)在鏈路和實(shí)施分配的調(diào)度器(例如,在路由器中)上的傳輸之間存在有嚴(yán)格的反饋環(huán)路。然而,該假設(shè)在虛擬交換機(jī)中并不成立,其中調(diào)度器可以以軟件來(lái)實(shí)施而傳輸則由硬件網(wǎng)絡(luò)接口卡(nic)來(lái)執(zhí)行??缭杰浖陀布g的邊界可能是昂貴的,特別是以千兆的速度;諸如大量發(fā)送卸載和中斷(largesendoffloadandinterrupt)批處理的優(yōu)化嘗試針對(duì)大批次的數(shù)據(jù)包將軟件和硬件之間的通信減少至一次,因此現(xiàn)有公平排隊(duì)算法(例如,赤字輪循)的直接仿真可能表現(xiàn)出低效的性能。

根據(jù)本文所討論的示例技術(shù),可以基于vm已經(jīng)被測(cè)量在對(duì)應(yīng)于與這種調(diào)度相關(guān)聯(lián)的多個(gè)時(shí)間間隔的多個(gè)調(diào)度周期中的最后(先前)調(diào)度周期中(例如,在時(shí)間上緊接當(dāng)前的調(diào)度周期或調(diào)度間隔)所發(fā)送的帶寬量,而獨(dú)立地控制每個(gè)相應(yīng)vm的帶寬。例如,這樣的技術(shù)可以有利地減輕對(duì)軟件和物理nic之間的反饋回路的需求。因此,這些技術(shù)對(duì)于各種不同物理nic的實(shí)施方式的細(xì)節(jié)可能是簡(jiǎn)單、有效和不可知的。

本文所討論的示例技術(shù)可以在少量調(diào)度間隔上收斂于公平分配,并且可以使得由于不充分利用其分配的vm而被浪費(fèi)的帶寬最小化。

本文所討論的示例技術(shù)僅基于傳輸?shù)谋镜赜^察(而不是在整個(gè)網(wǎng)絡(luò)上的觀察——因此沒(méi)有與遠(yuǎn)程端點(diǎn)協(xié)調(diào)的要求)。此外,本文所討論的示例技術(shù)可以控制虛擬端口級(jí)別的業(yè)務(wù)聚合,并且對(duì)于第3層和第4層協(xié)議以及(例如,傳輸控制協(xié)議(tcp)的)流量模式是不可知的。

本文所討論的示例技術(shù)可以有利地利用獨(dú)立隊(duì)列提供公平帶寬分配的近似。

本文所討論的示例技術(shù)可以有利地在沒(méi)有調(diào)度器和發(fā)送器之間的反饋環(huán)路的情況下提供公平排隊(duì)(例如,這在經(jīng)由軟件實(shí)施調(diào)度器而經(jīng)由硬件實(shí)施發(fā)送器時(shí)可能是有利的)。

本文所討論的示例技術(shù)可以有利地提供一種控制技術(shù),其基于與vm被分配的帶寬相比vm的每個(gè)流隊(duì)列實(shí)際傳送的數(shù)量,而在有利的小數(shù)量的調(diào)度周期上收斂于帶寬的公平分配。

本文所討論的示例技術(shù)可以有利地提供參數(shù),該參數(shù)控制在vm被授權(quán)(例如,訂閱)的帶寬數(shù)量的收斂時(shí)間和鏈路利用率以及分配給vm的帶寬的突發(fā)性之間的權(quán)衡。

另外,本文所討論的示例性技術(shù)可以有利地提供一種模式,其中并不應(yīng)用針對(duì)鏈路上沒(méi)有擁塞時(shí)的預(yù)期情形進(jìn)行優(yōu)化的控制(從而減少軟件開(kāi)銷)。

本文所討論的示例技術(shù)可以有利地提供不同虛擬機(jī)之間的最小共享狀態(tài),這又可以使得鎖定開(kāi)銷最小化。

根據(jù)一種示例實(shí)施方式,一種使用軟件實(shí)施的模塊可以通過(guò)對(duì)經(jīng)過(guò)網(wǎng)絡(luò)服務(wù)質(zhì)量(qos)模塊的包進(jìn)行計(jì)數(shù)(例如,經(jīng)由計(jì)數(shù)器對(duì)包進(jìn)行計(jì)數(shù))來(lái)跟蹤nic的利用,并且可以周期性地基于該計(jì)數(shù)器來(lái)計(jì)算包的比特率。例如,可以根據(jù)多個(gè)時(shí)間間隔(或時(shí)間段)周期性地確定比特率。例如,這樣的時(shí)間間隔可以被設(shè)置為預(yù)定值(例如,100毫秒(ms))。

如果nic并不擁塞,則不進(jìn)行任何操作來(lái)進(jìn)一步控制帶寬分配(例如,沒(méi)有隊(duì)列具有上限)。例如,可以根據(jù)在特定時(shí)間間隔內(nèi)所確定的比特率與預(yù)定擁塞閾值的比較來(lái)確定nic“擁塞”。

如果nic擁塞,最大上限隊(duì)列分配給每個(gè)vm,并且這些隊(duì)列的最大上限值在每個(gè)時(shí)間間隔(例如,每100ms)由宏調(diào)度器主動(dòng)調(diào)整以在帶寬要求和公平帶寬分配(即,每個(gè)vm想要/請(qǐng)求的帶寬量vs.每個(gè)vm被授權(quán)/訂閱接收的帶寬量)之間進(jìn)行平衡。每個(gè)最大上限隊(duì)列由微調(diào)度器獨(dú)立于其它微調(diào)度器進(jìn)行管理。與每個(gè)最大上限隊(duì)列相關(guān)聯(lián)的微調(diào)度器通過(guò)調(diào)度經(jīng)過(guò)該隊(duì)列的包來(lái)強(qiáng)制執(zhí)行相應(yīng)的最大上限值,以便不超過(guò)由宏調(diào)度器所設(shè)置的最大上限值。

如果vm在最后的時(shí)間間隔(例如,100ms)內(nèi)以低于其所分配的速率進(jìn)行發(fā)送,則減小其最大上限值。

如下面所討論的,剩余帶寬(從并未使用它們的全部最低保證的vm所剩下的帶寬)被用來(lái)向想要發(fā)送更多的vm進(jìn)行分配。

如果vm已經(jīng)在最后100ms內(nèi)基本上接近于其所分配速率進(jìn)行了發(fā)送,則其最大上限值與其公平帶寬分配成比例增大。

例如,通過(guò)控制每個(gè)vm的速率并僅將剩余帶寬分配給需要更多帶寬的vm,可以確保最大上限值的總和小于或等于nic的有效容量。因此,qos控制跨vm的nic容量分配。

根據(jù)本文所討論的示例技術(shù),每個(gè)最大上限隊(duì)列可以被調(diào)節(jié)以增加或回收其所分配的帶寬。

例如,任何需要帶寬的虛擬機(jī)可以在由可配置參數(shù)所指定的時(shí)間內(nèi)(例如,在400ms內(nèi))至少被給予其保證帶寬。因此,可以在客戶端之間共享帶寬,而使得每個(gè)活躍客戶端最終被分配以其所訂閱的帶寬(例如,其帶寬的授權(quán)量)。

例如,任何未使用的帶寬可以在由可配置設(shè)置指定的時(shí)間內(nèi)(例如,在1000ms內(nèi))被回收,該可配置設(shè)置可以被調(diào)諧(例如,根據(jù)業(yè)務(wù)的突發(fā)性以及是否期望回收突發(fā)之間的剩余帶寬)。

圖1a是根據(jù)本文所討論的示例技術(shù)的用于控制公平帶寬分配的示例系統(tǒng)的框圖。

如圖1a所示,服務(wù)器114上的傳出通信鏈路108具有可用于從服務(wù)器114上的資源傳出通信的固定數(shù)量的帶寬(bw)。如圖1a所示,客戶端1(104a)被訂閱(授權(quán))以由w1106a所表示的訂閱帶寬量(例如,客戶端可以訂閱服務(wù)器114上100mb/月的傳出帶寬并向服務(wù)提供方進(jìn)行支付——例如,客戶端可以為服務(wù)器114上100mb的傳出帶寬支付100美元/月)。如圖1a所示,客戶端2(104b)被訂閱(授權(quán))以由w2106b表示的另一數(shù)量的帶寬。類似地,客戶端n(104n)被訂閱(授權(quán))以由wn106n表示的另一數(shù)量的帶寬。因此,傳出通信鏈路108具有足夠的帶寬以支持服務(wù)器的客戶端104a、...、104n的訂閱帶寬。此外,客戶端都可以預(yù)期的是,如果它們?nèi)孔優(yōu)榛钴S并且向nic108發(fā)送傳出信息,則它們將能夠獲得其所訂閱的傳出帶寬(即,每個(gè)客戶端將能夠獲得它們所支付的帶寬)。本文討論的示例技術(shù)可以控制帶寬的分配,而使得所有活躍的訂閱客戶端將最終接收(即,被分配以)它們所訂閱的(并且支付)的傳出帶寬量。此外,本文所討論的示例技術(shù)可以控制帶寬的分配,而使得剩余帶寬(在活躍客戶端已經(jīng)接收到其所請(qǐng)求的帶寬(直到其訂閱數(shù)量)之后剩下的)得以被分配而使得其不是未使用的(并且被浪費(fèi))。此外,本文所討論的示例技術(shù)可以控制帶寬的分配,而使得所有剩余帶寬(在活躍客戶端已經(jīng)接收到其所請(qǐng)求的帶寬(直到其訂閱數(shù)量)所剩下的)與給每個(gè)活躍客戶端的預(yù)訂/授權(quán)帶寬量成比例地被分配。因此,多個(gè)客戶端無(wú)法協(xié)力以獲得更多帶寬(例如,客戶端被視為不受信任)。

例如,客戶端104a、...、104n可以被托管在單個(gè)機(jī)器114上,并且主機(jī)分區(qū)可以包括機(jī)器114的操作系統(tǒng)(os)以托管客戶端104a、...、104n,并且可以包括虛擬交換機(jī)(軟件),其充當(dāng)具有客戶端104a、...、104n被附接到的虛擬端口的交換機(jī)。虛擬交換機(jī)包括以下功能:確保跨所有客戶端104a、...、104n所分配的bw的總和小于(或等于)輸出總和,并且?guī)捙c相應(yīng)客戶端所預(yù)訂帶寬成比例地在它們之間進(jìn)行分配。

如本文所使用的,“客戶端”可以指可以在機(jī)器或設(shè)備(例如,服務(wù)提供商服務(wù)器)上使用(或訂閱或者以其它方式被授權(quán))傳出帶寬的用戶、應(yīng)用、虛擬機(jī)或任意類型的執(zhí)行實(shí)體。

本文所討論的特征被提供為示例實(shí)施例,該例實(shí)施例可以在不脫離本文所討論的精神的情況下,以計(jì)算領(lǐng)域的技術(shù)人員可以理解的許多不同的方式來(lái)實(shí)施。這樣的特征僅被解釋為示例性實(shí)施例特征,而并非意在被解釋為僅局限于那些詳細(xì)描述。

如本文進(jìn)一步討論的,圖1a是用于有效帶寬分配的一般化系統(tǒng)100a的框圖。所示出的一般化系統(tǒng)100a僅旨在說(shuō)明可以包括在本文所討論的示例技術(shù)中的各種示例功能和/或邏輯,而并非旨在關(guān)于各種硬件和/或軟件配置的實(shí)施方式加以限制。本領(lǐng)域技術(shù)人員將會(huì)意識(shí)到,系統(tǒng)100a可以以硬件實(shí)施方式、軟件實(shí)施方式或者它們的組合來(lái)實(shí)現(xiàn)。如圖1a所示,系統(tǒng)100a可以包括設(shè)備114(例如,硬件設(shè)備),其包括至少一個(gè)處理器。設(shè)備114可以包括存儲(chǔ)可由該至少一個(gè)處理器執(zhí)行的可執(zhí)行指令的計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),該可執(zhí)行指令包括帶寬分配控制器,其包括多個(gè)微調(diào)度器102a、102b、…、102n,每個(gè)微調(diào)度器控制針對(duì)相應(yīng)客戶端104a、104b、…、104n的帶寬分配,該相應(yīng)客戶端中的每一個(gè)訂閱傳出通信鏈路108中相應(yīng)的預(yù)定義帶寬部分。

宏調(diào)度器112控制多個(gè)微調(diào)度器102a、102b、…、102n。例如,針對(duì)處于每個(gè)活躍的相應(yīng)客戶端104a、104b、…、104n,宏調(diào)度器112在預(yù)定義的第一期限之前分配與每個(gè)活躍的相應(yīng)客戶端104a、104b、…、104n相關(guān)聯(lián)的帶寬的相應(yīng)訂閱部分,其中未被相應(yīng)客戶端所使用的剩余帶寬則在預(yù)定義的第二期限之前成比例地在相應(yīng)的活躍客戶端104a、104b、…、104n之間共享,在由宏調(diào)度器112最小化微調(diào)度器102a、102b、…、102n間的協(xié)調(diào)的同時(shí),周期性調(diào)節(jié)針對(duì)每個(gè)微調(diào)度器102a、102b、…、102n的相應(yīng)帶寬分配。

例如,宏調(diào)度器112通過(guò)訪問(wèn)每個(gè)相應(yīng)的活躍客戶端104a、104b、…、104n在預(yù)定時(shí)間間隔中所使用的相應(yīng)帶寬數(shù)量,來(lái)周期性調(diào)節(jié)針對(duì)每個(gè)微調(diào)度器102a、102b、…、102n的相應(yīng)帶寬分配,該預(yù)定時(shí)間間隔在時(shí)間上處于與當(dāng)前的周期性調(diào)節(jié)相關(guān)聯(lián)的當(dāng)前時(shí)間間隔之前。

例如,宏調(diào)度器112通過(guò)針對(duì)在預(yù)定時(shí)間間隔中以比相應(yīng)客戶端104a、104b、…、104n的相應(yīng)訂閱帶寬部分更大的相應(yīng)數(shù)量傳送的相應(yīng)客戶端104a、104b、…、104n,而將相應(yīng)帶寬分配的上限設(shè)定為相應(yīng)訂閱帶寬部分的相應(yīng)值,來(lái)周期性調(diào)節(jié)針對(duì)每個(gè)微調(diào)度器102a、102b、…、102n的相應(yīng)帶寬分配,該預(yù)定時(shí)間間隔在時(shí)間上處于與當(dāng)前的周期性調(diào)節(jié)相關(guān)聯(lián)的當(dāng)前時(shí)間間隔之前。

例如,宏調(diào)度器112通過(guò)針對(duì)在預(yù)定時(shí)間間隔中以比相應(yīng)客戶端的相應(yīng)訂閱帶寬部分的相應(yīng)數(shù)量實(shí)質(zhì)更小進(jìn)行傳送的相應(yīng)客戶端104a、104b、…、104n,而將相應(yīng)帶寬分配的上限設(shè)定在相應(yīng)的當(dāng)前實(shí)際傳輸帶寬數(shù)量的相應(yīng)值,來(lái)周期性調(diào)節(jié)針對(duì)每個(gè)微調(diào)度器102a、102b、…、102n的相應(yīng)帶寬分配,該預(yù)定時(shí)間間隔在時(shí)間上處于與當(dāng)前的周期性調(diào)節(jié)相關(guān)聯(lián)的當(dāng)前時(shí)間間隔之前。

例如,宏調(diào)度器112通過(guò)在通過(guò)基于實(shí)際傳輸量設(shè)定一個(gè)或多個(gè)相應(yīng)帶寬分配的上限而降低一個(gè)或多個(gè)相應(yīng)帶寬分配之后確定未被相應(yīng)客戶端104a、104b、…、104n所使用的剩余帶寬,并且將未被相應(yīng)客戶端104a、104b、…、104n所使用的剩余帶寬在當(dāng)前請(qǐng)求更多帶寬分配的相應(yīng)活躍客戶端104a、104b、…、104n之間成比例分配,來(lái)周期性調(diào)節(jié)針對(duì)每個(gè)微調(diào)度器102a、102b、…、102n的相應(yīng)帶寬分配。

例如,微調(diào)度器102a、102b、…、102n的每一個(gè)控制針對(duì)相應(yīng)客戶端104a、104b、…、104n的相應(yīng)虛擬機(jī)(vm)的帶寬分配,每個(gè)客戶端104a、104b、…、104n訂閱帶寬的相應(yīng)預(yù)定義部分以供相應(yīng)mv使用,其中相應(yīng)客戶端104a、104b、…、104n的相應(yīng)vm被托管于云服務(wù)器上,其中傳出通信鏈路108包括與位于該云服務(wù)器上的一個(gè)或多個(gè)網(wǎng)絡(luò)接口卡(nic)相關(guān)聯(lián)的傳出網(wǎng)絡(luò)通信鏈路。

例如,微調(diào)度器102a、102b、…、102n的每一個(gè)控制針對(duì)客戶端104a、104b、…、104n的相應(yīng)應(yīng)用的帶寬分配,每個(gè)相應(yīng)客戶端104a、104b、…、104n訂閱帶寬的相應(yīng)預(yù)定義部分以供相應(yīng)應(yīng)用所使用,其中相應(yīng)客戶端104a、104b、…、104n的相應(yīng)應(yīng)用被托管于云服務(wù)器上,其中傳出通信鏈路108包括與位于該云服務(wù)器上的一個(gè)或多個(gè)網(wǎng)絡(luò)接口卡(nic)相關(guān)聯(lián)的傳出網(wǎng)絡(luò)通信鏈路。

例如,傳出通信鏈路108包括與網(wǎng)絡(luò)接口卡(nic)相關(guān)聯(lián)的傳出網(wǎng)絡(luò)通信鏈路。

例如,宏調(diào)度器112控制多個(gè)微調(diào)度器102a、102b、…、102n,提供公平排隊(duì)的近似,而不使用宏調(diào)度器112和發(fā)送器之間的反饋回路。

例如,宏調(diào)度器112控制多個(gè)微調(diào)度器102a、102b、…、102n,在確定傳出網(wǎng)絡(luò)通信鏈路108并未擁塞時(shí)不提供帶寬分配控制。

例如,宏調(diào)度器112控制多個(gè)微調(diào)度器102a、102b、…、102n,向相應(yīng)客戶端104a、104b、…、104n提供公平帶寬分配的近似,向相應(yīng)客戶端104a、104b、…、104n指派以相應(yīng)的獨(dú)立隊(duì)列。

例如,虛擬交換機(jī)可以包括多個(gè)相應(yīng)虛擬端口,其中虛擬端口的一部分與客戶端104a、104b、…、104n通信,并且至少一個(gè)虛擬端口與傳出通信鏈路通信。

例如,分別與多個(gè)相應(yīng)客戶端104a、104b、…、104n通信的相應(yīng)虛擬端口均與相應(yīng)令牌桶隊(duì)列通信,上述令牌桶隊(duì)列控制針對(duì)每個(gè)相應(yīng)客戶端104a、104b、…、104n的傳出包的相應(yīng)傳輸速率。

例如,“令牌桶”技術(shù)可以基于可以以固定速率向其中加入令牌(例如,表示多個(gè)字節(jié)的單元或者預(yù)定大小的單個(gè)包)的固定容量的桶的類比。當(dāng)要檢查包與預(yù)定限制的符合性時(shí),可以對(duì)桶進(jìn)行檢測(cè)以確定其此時(shí)是否具有充足的令牌。如果是,則移除(“兌現(xiàn)”)適當(dāng)數(shù)量的令牌(例如,等于以字節(jié)為單位的包長(zhǎng)度),并且送出該包以例如進(jìn)行傳輸。包在桶中的令牌不足的情況下并不相符,并且桶的內(nèi)容并不改變。非相符包以各種方式被處理,例如,它們可以被丟棄、或者它們可以被排隊(duì)以便在后續(xù)桶中累積了充分令牌時(shí)進(jìn)行傳輸、或者它們可以被傳送但是被標(biāo)記為不相符,其可能在隨后網(wǎng)絡(luò)過(guò)載的情況下被丟棄。

圖1b是根據(jù)本文所討論的示例技術(shù)的用于控制公平帶寬分配的示例系統(tǒng)的框圖。

如圖1b所示,服務(wù)器114上的nic(或聚合nic)108具有40gb固定數(shù)量的帶寬(bw),其可用于從服務(wù)器114上的資源的傳出通信。如圖1b所示,vm1(104a)被訂閱(授權(quán))100mb(例如,客戶端可以訂閱服務(wù)器114上100mb/月的傳出帶寬并向服務(wù)提供方進(jìn)行支付——例如,客戶端可以針對(duì)服務(wù)器114上100mb的傳出帶寬支付100美元/月)。如圖1b所示,vm2(104b)被訂閱(授權(quán))2gb(例如,客戶端可以訂閱服務(wù)器114上2gb/月的傳出帶寬并向服務(wù)提供方進(jìn)行支付——例如,客戶端可以針對(duì)服務(wù)器114上2gb的傳出帶寬支付2000美元/月)。類似地,vmn(104n)被訂閱(授權(quán))37gb(例如,客戶端可以訂閱服務(wù)器114上37gb/月的傳出帶寬并向服務(wù)提供方進(jìn)行支付)。因此,nic(或聚合nic)108具有充分帶寬來(lái)支持服務(wù)器的客戶端104a、...、104n的訂閱帶寬。此外,客戶端都可以預(yù)期的是,如果它們?nèi)孔優(yōu)榛钴S并且向nic108發(fā)送傳出信息,則它們的每一個(gè)將能夠獲得其所訂閱的傳出帶寬(即,每個(gè)客戶端將能夠獲得它們所支付的帶寬)。本文討論的示例技術(shù)可以控制帶寬的分配,而使得所有活躍的訂閱客戶端將最終接收(即,被分配以)它們所訂閱的(并且支付)的傳出帶寬量。此外,本文所討論的示例技術(shù)可以控制帶寬的分配,而使得剩余帶寬(在活躍客戶端已經(jīng)接收到其所請(qǐng)求的帶寬(直到其訂閱數(shù)量之后)剩下的)被分配,而使得其不是未使用的(并且被浪費(fèi))。此外,本文所討論的示例技術(shù)可以控制帶寬的分配,而使得所有剩余帶寬(在活躍客戶端已經(jīng)接收到其所請(qǐng)求的帶寬(直到其訂閱數(shù)量之后)剩下的)與給每個(gè)活躍客戶端的預(yù)訂/授權(quán)帶寬量成比例地被分配。因此,多個(gè)客戶端無(wú)法協(xié)力以獲得更多帶寬(例如,客戶端被視為不受信任)。

例如,vm104a、...、104n可以被托管在單個(gè)機(jī)器114上,并且主機(jī)分區(qū)可以包括機(jī)器114的操作系統(tǒng)(os)以托管vm104a、...、104n,并且可以包括虛擬交換機(jī)(軟件),其充當(dāng)具有vm104a、...、104n所附接至的虛擬端口的交換機(jī)。虛擬交換機(jī)包括以下功能:確保跨所有vm104a、...、104n所分配的bw的總和小于(或等于)輸出總和,并且確保帶寬與相應(yīng)vm所訂閱的帶寬成比例地在它們之間進(jìn)行分配。

在(例如,使用硬件的)示例帶寬問(wèn)題空間中,每個(gè)端口的硬件隊(duì)列具有用于發(fā)送的包,并且在軟件中,存在多個(gè)分層而使得確定包何時(shí)已經(jīng)被發(fā)送是可能的。然而,多個(gè)線程將包拉出隊(duì)列,從而使得難以確定這些包是否處于正確的順序。針對(duì)這些類型的情形,以軟件來(lái)實(shí)施硬件調(diào)度器可能并不實(shí)際。

圖2是涉及使用vm交換機(jī)202以及從nic108到vm交換機(jī)202(該示例中以軟件實(shí)施)的批量(非理想)反饋204的vm公平帶寬分配的示例系統(tǒng)的框圖。如圖2所示,給定所有vm104a、...、104n的輸入帶寬ibi,可能期望計(jì)算所分配的帶寬abi從而提供:

a)擁塞自由:所分配的帶寬abi的總和不超過(guò)nic或鏈路帶寬b;

b)強(qiáng)公平分配:在活躍vm104a、...、104n之間,與它們的權(quán)重wi106a、106b、…、106n(這些權(quán)重是它們的訂閱數(shù)量的代表)成比例地劃分b;

c)弱公平分配:如果ibi<b*wi/權(quán)重之和,則obi=ibi。否則,obi>=b*wi/權(quán)重之和。

圖3是涉及使用硬件的輸出隊(duì)列調(diào)度器302的路由器中的硬件公平帶寬分配的示例系統(tǒng)的框圖,其具有從輸出鏈路108到硬件輸出隊(duì)列調(diào)度器302的每包實(shí)時(shí)反饋310。如圖3所示,給定所有vm(在該示例中具有硬件隊(duì)列304a,304b,…,304n)的輸入帶寬ibi,可能期望計(jì)算所分配帶寬abi從而提供:

a)擁塞自由:并未明確指派,因?yàn)檎{(diào)度器僅在包傳送時(shí)操作,所以沒(méi)有擁塞或隊(duì)列;

b)強(qiáng)公平分配:將b在活躍vm之間、按它們的權(quán)重wi106a、106b、…、106n(這些權(quán)重是它們的訂閱數(shù)量的代表)成比例地劃分。

許多常規(guī)技術(shù)可以被用于該示例系統(tǒng),例如赤字輪循(drr)、起始時(shí)間公平排隊(duì)等。

然而,如果圖1a的客戶端104是vm,則可能并不期望將drr用于vm帶寬分配(使用軟件而不是硬件)。例如,來(lái)自nic的反饋可能是不可靠的,因?yàn)槠淇赡苁桥康?即,并非實(shí)時(shí)反饋),因此提供非理想反饋。

例如,為了執(zhí)行調(diào)度而在軟件中包括微秒粒度的精細(xì)粒度計(jì)時(shí)器可能過(guò)于昂貴。例如,包括實(shí)時(shí)調(diào)度器可能并不可行/過(guò)于昂貴,因?yàn)橛脩艨赡軣o(wú)法承擔(dān)在每個(gè)包上都被調(diào)用的vm交換機(jī)調(diào)度器。另外,單一核心可能不像nic那么快地傳送。如圖1a所示,可能期望每個(gè)vm經(jīng)由vm交換機(jī)獨(dú)立地向nic傳送,僅在預(yù)定時(shí)間間隔(例如,10毫秒間隔)放松同步。

這樣的系統(tǒng)的示例實(shí)施方式可以包括:

a)實(shí)時(shí)路徑中沒(méi)有調(diào)度器:vm調(diào)度器能夠很少地(例如,每10毫秒)設(shè)置參數(shù);

b)調(diào)度器基于過(guò)去的周期(基于測(cè)量)估計(jì)每個(gè)vm的需求(ibi);

c)調(diào)度器在下一個(gè)周期中調(diào)節(jié)針對(duì)每個(gè)vm的分配以收斂于公平分配;

d)非理想反饋:可以確保nic并不溢出(例如,在短期內(nèi)使用nic緩沖);

e)使得vm分配總和<=nic帶寬。

以下所討論的(以及如圖4a-4i中更詳細(xì)示出的)是根據(jù)本文所討論的示例技術(shù)的用于有效控制帶寬分配的更為詳細(xì)的示例操作。currentint被設(shè)置為知識(shí)當(dāng)前時(shí)間間隔的值。以下討論假設(shè)nic以及訂閱nic的傳出帶寬的每個(gè)客戶端(vm)的獨(dú)立隊(duì)列。以下討論還假設(shè)監(jiān)視系統(tǒng)的qos的qos技術(shù)。以下討論進(jìn)一步假設(shè)以明確數(shù)字所表達(dá)的值并不是靜態(tài)的,因此能夠針對(duì)不同實(shí)施方式被配置為不同值。例如,“有效容量的90%”可以被配置為另一個(gè)值。例如,迭代次數(shù)以及被表達(dá)為百分比的所有值都能夠被配置為不同數(shù)字。例如,時(shí)間值(例如,100ms)也可以被配置為不同值。

如果nic未處于擁塞模式,則什么都不做(沒(méi)有隊(duì)列具有上限)。nic在其并未超過(guò)有效容量的90%或者其已經(jīng)低于有效容量的80%達(dá)120s的情況下,并不處于擁塞模式。

當(dāng)qos首次變換為擁塞模式時(shí),為每個(gè)隊(duì)列指派以該隊(duì)列的最低保證的最大上限。

當(dāng)qos處于擁塞模式時(shí),所有隊(duì)列都具有最大上限,并且最大上限的總和低于或等于nic的有效容量。

周期性地(例如,每100ms):

a)如果隊(duì)列低于當(dāng)前分配速率(ar)的85%達(dá)10次迭代,則設(shè)置隊(duì)列的速率=當(dāng)前發(fā)送速率的110%;

b)如果隊(duì)列在最后迭代中高于當(dāng)前分配速率的95%:

i)如果連續(xù)擁塞1次迭代:目標(biāo)分配速率=min(分配速率*120%,ar+10%nic速率)

ii)如果連續(xù)擁塞2次迭代:目標(biāo)分配速率=min(分配速率*150%,ar+10%nic速率)

iii)如果連續(xù)擁塞3次迭代:目標(biāo)分配速率=min(分配速率*2,ar+10%nic速率)

設(shè)置新的分配速率=min(目標(biāo)分配速率,最低保證)

對(duì)于具有新的分配速率=最低保證的隊(duì)列,根據(jù)公平共享分配剩余帶寬直至目標(biāo)分配速率。

作為更為一般的解釋,如果nic并未擁塞,則針對(duì)進(jìn)一步控制帶寬分配什么都不做。如果nic擁塞,則向每個(gè)vm指派最大上限隊(duì)列。如以上所討論的,每個(gè)最大上限隊(duì)列由微調(diào)度器獨(dú)立于其它微調(diào)度器進(jìn)行管理。如以上所討論的,這些隊(duì)列在每個(gè)時(shí)間間隔(例如,每100ms)被主動(dòng)調(diào)節(jié),從而在帶寬要求和公平帶寬分配(即,每個(gè)vm想要的帶寬量vs.每個(gè)vm被授權(quán)/訂閱接收的帶寬量)之間進(jìn)行平衡。

如果vm在最后的時(shí)間間隔(例如,100ms)中以低于其分配速率發(fā)送,則其最大上限值被減小。

剩余帶寬(從并未使用它們的最低保證的vm所剩下的帶寬)被用來(lái)向想要更多發(fā)送的vm分配:如果vm已經(jīng)在最后100ms內(nèi)基本上接近于其分配速率進(jìn)行發(fā)送,則其最大上限隊(duì)列與其公平帶寬分配成比例地被增大。

計(jì)算領(lǐng)域的技術(shù)人員將會(huì)意識(shí)到,可能有許多有效控制本文所討論的帶寬分配而并不背離本文討論的精神的方法。

在本上下文中,“處理器”可以包括被配置為處理與計(jì)算系統(tǒng)相關(guān)聯(lián)的指令的單個(gè)處理器或多個(gè)處理器。因此,處理器可以包括并行和/或以分布式方式執(zhí)行指令的一個(gè)或多個(gè)處理器。例如,系統(tǒng)100a可以包括一個(gè)或多個(gè)處理器(例如,硬件處理器)。例如,系統(tǒng)100a可以包括存儲(chǔ)可由一個(gè)或多個(gè)處理器執(zhí)行的指令的至少一個(gè)有形計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),該可執(zhí)行指令被配置為使得至少一個(gè)計(jì)算裝置執(zhí)行如本文所討論的與系統(tǒng)100a中包括的各種示例組件相關(guān)聯(lián)的操作。例如,一個(gè)或多個(gè)處理器可以被包括在至少一個(gè)計(jì)算裝置中。本領(lǐng)域技術(shù)人員將理解,在不背離這樣的討論的精神的情況下,可以根據(jù)本文的討論來(lái)配置處理器和計(jì)算設(shè)備的許多配置。

在本上下文中,“組件”或“模塊”可以指可以被配置為執(zhí)行某些操作的指令或硬件。這樣的指令可以被包括在指令的組件群組內(nèi),或者可以被分布于多于一個(gè)的群組上。例如,與第一組件的操作相關(guān)聯(lián)的一些指令可以被包括在與第二組件(或更多組件)的操作相關(guān)聯(lián)的指令組中。例如,本文的“組件”可以指可以由可位于單個(gè)實(shí)體中的指令來(lái)實(shí)施或者可以在多個(gè)實(shí)體上擴(kuò)展或分布的功能的類型,并且可以與關(guān)聯(lián)于其它組件的指令和/或硬件有所重疊。

根據(jù)示例實(shí)施方式,系統(tǒng)100a可以管理系統(tǒng)100a與其它實(shí)體之間的通信,其它實(shí)體可以經(jīng)由至少一個(gè)網(wǎng)絡(luò)與系統(tǒng)100a進(jìn)行通信。例如,該網(wǎng)絡(luò)可以包括至少一個(gè)互聯(lián)網(wǎng)、至少一個(gè)無(wú)線網(wǎng)絡(luò),或者至少一個(gè)有線網(wǎng)絡(luò)。例如,該網(wǎng)絡(luò)可以包括蜂窩網(wǎng)絡(luò)、無(wú)線電網(wǎng)絡(luò),或者可以支持系統(tǒng)100a的數(shù)據(jù)傳輸?shù)娜我忸愋偷木W(wǎng)絡(luò)。

圖4a-4f圖示了圖1的系統(tǒng)的示例操作的示例實(shí)施方式的示例指令。

如圖4a所示,宏調(diào)度器(例如,宏調(diào)度器112)對(duì)帶寬分配進(jìn)行周期性調(diào)整(402)。在404,確定線路當(dāng)前是否處于擁塞控制模式。如果是,則宏調(diào)度器調(diào)整最大上限隊(duì)列(406)。否則,由于沒(méi)有擁塞要進(jìn)行管理,因此宏調(diào)度器移除最大上限隊(duì)列(408)(即每個(gè)vm都能夠滿足其最低保證,而不必對(duì)其它vm設(shè)置最大上限隊(duì)列)。

圖4b圖示了用于調(diào)整線路速率的示例指令。在410,利用所有可用帶寬初始化剩余帶寬。

圖4c圖示了用于基于vm的最近傳輸速率而向它們分配帶寬的示例指令。在412,遍歷vm的列表以執(zhí)行操作(例如,對(duì)隊(duì)列設(shè)置上限)。在414,如果vm在最后周期中并沒(méi)有最大上限隊(duì)列,則vm的目標(biāo)速率被設(shè)置為其當(dāng)前發(fā)送速率的110%。

在416,如果vm的發(fā)送速率小于vm當(dāng)前所被分配的速率的85%(即,vm未使用其所被分配的所有帶寬),則vm的所被分配的速率被減少到其當(dāng)前發(fā)送速率的110%。每次確定vm并未使用其所被分配的所有帶寬時(shí),上升計(jì)數(shù)器(rustage)將遞減1(直到其達(dá)到0)。

在418,如果vm的發(fā)送速率大于vm的當(dāng)前所被分配的速率的95%(這被解釋為vm想要比其當(dāng)前所分配更多的帶寬),則在420,在每當(dāng)(在限定的預(yù)定、可配置的迭代次數(shù)內(nèi))確定vm需要更多帶寬時(shí),上升計(jì)數(shù)器(rustage)會(huì)進(jìn)行增加(例如,遞增1)。

如圖4d所示,上升計(jì)數(shù)器(rustage)的值越大,被給予vm的帶寬就越多(逐漸增加)。在422,使用switch來(lái)確定當(dāng)前處于上升的哪個(gè)階段。在424,對(duì)于第一階段,vm被給予20%的更多帶寬,但是如果是鏈路的速度則不超過(guò)10%。

在426,對(duì)于上升的第二階段,vm被給予50%的更多帶寬,但是如果是鏈路的速度則不超過(guò)10%。在428,對(duì)于上升的第二階段,vm被給予100%的更多帶寬。

在430,如果vm對(duì)其所被分配的帶寬既未過(guò)多使用也未太少使用,則將vm的所計(jì)算出的目標(biāo)速率設(shè)置為vm的所被分配的速率,并且上升計(jì)數(shù)器被減小。在432,如果vm未在傳送,則該vm被指派以“小的”最大上限值來(lái)作為其目標(biāo)速率(例如,該vm的當(dāng)前目標(biāo)速率和10mbps中的最大值)。對(duì)于該示例,10mbps是預(yù)先確定的并且是可配置的。

圖4e圖示了用于分配剩余帶寬的示例指令。如圖4e所示,變量“temprate”最初被設(shè)置為所計(jì)算的目標(biāo)速率,但是其不超過(guò)vm被授權(quán)(例如,訂閱)的帶寬數(shù)量。在434,在將temprate設(shè)置為所計(jì)算目標(biāo)速率的較小值以及設(shè)置最小保證帶寬之后,如果temprate等于最小保證帶寬,則所計(jì)算目標(biāo)速率高于該值。因此,vm被標(biāo)記以needsmore標(biāo)志。該vm的“權(quán)重”(例如,與vm最小保證帶寬成比例的值)被添加到需要更多帶寬的vm的權(quán)重的總和。該權(quán)重總和隨后被用來(lái)確定如何在需要更多帶寬的虛擬機(jī)之間劃分剩余帶寬。在436,可用的剩余帶寬被減少以分配給該vm的數(shù)量。

圖4f圖示了用于分配剩余帶寬的示例指令。在438,當(dāng)剩余帶寬可用(經(jīng)由“while循環(huán)”示出)時(shí),在440,vm最大上限隊(duì)列的列表被迭代以為具有更多帶寬需求的每個(gè)vm提供剩余帶寬的公平份額。

在442,從不需要其全部當(dāng)前目標(biāo)速率的vm收集剩余帶寬。重復(fù)while循環(huán),直到?jīng)]有更多剩余帶寬要分配,或者知道沒(méi)有更多vm需要更多帶寬的時(shí)候。在444,(例如,由宏調(diào)度器112)為vm最大上限隊(duì)列設(shè)置最終分配值。

圖5a-5j圖示了針對(duì)圖1的系統(tǒng)的示例操作的示例實(shí)施方式的示例帶寬分配。在圖5a-5i的示例中,系統(tǒng)包括具有10gbps(千兆比特每秒)的nic輸出能力的nic以及4個(gè)虛擬機(jī)(vm),該虛擬機(jī)包括具有1gbps的帶寬分配的vm1(104a),具有2gbps的帶寬分配的vm2(104b),具有3gbps的帶寬分配的vm3(104c),以及具有4gbps的帶寬分配的vm4(104d)。

如圖5a-5i所示,vm被圖示以在最后的宏調(diào)度器周期中的實(shí)際發(fā)送速率sr(以gbps為單位),以及宏調(diào)度器112根據(jù)10個(gè)示例宏調(diào)度器112周期(如上所述)所進(jìn)行的帶寬分配(針對(duì)vm的最大上限隊(duì)列)(在圖5a-5i中被示為“bw分配”)。

如圖5a所示,在宏調(diào)度器112的第一周期,對(duì)于總輸出4gbps,四個(gè)vm中的每一個(gè)在最后宏調(diào)度器周期中的實(shí)際發(fā)送速率(sr)為1gbps,因此由于在nic108沒(méi)有擁塞而不進(jìn)行帶寬管理。

如圖5b所示,在宏調(diào)度器112的第二周期,對(duì)于總輸出10gbps,最后宏調(diào)度器周期中的實(shí)際發(fā)送速率(sr)對(duì)于vm1(104a)為4gbps,對(duì)于vm2(104b)為4gbps,對(duì)于vm3(104c)為1gbps,對(duì)于vm4(104d)為1gbps。在該周期中,在輸出鏈路(在nic108)檢測(cè)到擁塞,并且vm被設(shè)置上限。在該示例中,vm3和vm4被給予高于其發(fā)送速率的最大量,從而可以檢測(cè)它們是否需要更多的帶寬。如圖5b所示,對(duì)于宏調(diào)度器112在當(dāng)前周期內(nèi)所分配的總共10gbps,宏調(diào)度器112分配的帶寬為針對(duì)vm1(104a)的2.6gbps,針對(duì)vm2(104b)的5.2gbps,針對(duì)vm3(104c)的1.1gbps,以及針對(duì)vm4(104d))的1.1gbps。

如圖5c所示,在宏調(diào)度器112的第三周期,對(duì)于總輸出9.8gbps,最后宏調(diào)度器周期中的實(shí)際發(fā)送速率(sr)針對(duì)vm1(104a)為2.6gbps(5.2b),針對(duì)vm2(104b)為5.2gbps,針對(duì)vm3(104c)為1gbps,以及針對(duì)vm4(104d)為1gbps。在該周期中,宏調(diào)度器分配沒(méi)有變化。

如圖5d所示,在宏調(diào)度器112的第四周期,對(duì)于總輸出10gbps,最后宏調(diào)度器周期中的實(shí)際發(fā)送速率(sr)針對(duì)vm1(104a)為2.6gbps,針對(duì)vm2(104b)為5.2gbps,針對(duì)vm3(104c)為1.1gbps,以及針對(duì)vm4(104d)為1.1gbps。在該示例中,檢測(cè)到vm3和vm4需要更多帶寬。因此,針對(duì)vm3和vm4的帶寬分配以緩慢上升的方式增加了20%,同時(shí)減少了針對(duì)vm1和vm2的一些帶寬分配。如圖5d所示,對(duì)于由宏調(diào)度器112在當(dāng)前周期所分配的總共10gbps,宏調(diào)度器112分配的帶寬為針對(duì)vm1(104a)的2.4gbps,針對(duì)vm2(104b)的5gbps,針對(duì)vm3(104c)的1.3gbps,以及針對(duì)vm4(104d)的1.3gbps。

如圖5e所示,在宏調(diào)度器112的第五周期,對(duì)于總輸出10gbps,最后的宏調(diào)度器周期中的實(shí)際發(fā)送速率(sr)針對(duì)vm1(104a)為2.4gbps,針對(duì)vm2(104b)為5gbps,針對(duì)vm3(104c)為1.3gbps,以及針對(duì)vm4(104d)為1.3gbps。在該周期中,檢測(cè)到vm3和vm4需要更多的帶寬。因此,針對(duì)vm3和vm4的帶寬分配以緩慢上升的方式增加了50%,同時(shí)減少了對(duì)vm1和vm2的一些帶寬分配。如圖5e所示,對(duì)于由宏調(diào)度器112在當(dāng)前周期所分配的總共10gbps,宏調(diào)度器112分配的帶寬為針對(duì)vm1(104a)的2.1gbps,針對(duì)vm2(104b)的4.1gbps,針對(duì)vm3(104c)的1.9gbps,以及針對(duì)vm4(104d)的1.9gbps。

如圖5f所示,在宏調(diào)度器112的第六周期,對(duì)于總輸出10gbps,最后的宏調(diào)度器周期中的實(shí)際發(fā)送速率(sr)針對(duì)vm1(104a)為2.1gbps,針對(duì)vm2(104b)為4.1gbps,針對(duì)vm3(104c)為1.9gbps,以及針對(duì)vm4(104d)為1.9gbps。在該周期中,檢測(cè)到vm3和vm4需要更多的帶寬。因此,針對(duì)vm3和vm4的帶寬分配以緩慢上升的方式增加了100%,同時(shí)減少了對(duì)vm1和vm2的一些帶寬分配。在該示例中,宏調(diào)度器112僅向vm3分配帶寬直到其最小保證加上未被vm4所使用的任何剩余帶寬。如圖5f所示,對(duì)于由宏調(diào)度器112在當(dāng)前周期所分配的總共10gbps,宏調(diào)度器112分配的帶寬為針對(duì)vm1(104a)的1gbps,針對(duì)vm2(104b)的2.1gbps,針對(duì)vm3(104c)的3.1gbps,以及針對(duì)vm4(104d)的3.8gbps。

如圖5g所示,在宏調(diào)度器112的第七周期,對(duì)于總輸出10gbps,最后的宏調(diào)度器周期中的實(shí)際發(fā)送速率(sr)針對(duì)vm1(104a)為1gbps,針對(duì)vm2(104b)為2.1gbps,針對(duì)vm3(104c)為3.1gbps,以及針對(duì)vm4(104d)為3.8gbps。在該周期中,檢測(cè)到vm4需要更多的帶寬。因此,針對(duì)vm4的帶寬分配增加到其最低保證。如圖5g所示,對(duì)于由宏調(diào)度器112在當(dāng)前周期所分配的總共10gbps,宏調(diào)度器112分配的帶寬為針對(duì)vm1(104a)的1gbps,針對(duì)vm2(104b)的2gbps,針對(duì)vm3(104c)的3gbps,以及針對(duì)vm4(104d)的4gbps。

如圖5h所示,在宏調(diào)度器112的第八周期,對(duì)于總輸出10gbps,最后的宏調(diào)度器周期中的實(shí)際發(fā)送速率(sr)針對(duì)vm1(104a)為1gbps,針對(duì)vm2(104b)為2gbps,針對(duì)vm3(104c)為0gbps,以及針對(duì)vm4(104d)為4gbps。在該周期中,檢測(cè)到vm3已經(jīng)停止了傳送。因此,剩余帶寬被以上升的方式被分配給vm1、vm2和mv4,而vm3則被提供以接近于零的最大上限隊(duì)列。如圖5h所示,在當(dāng)前周期內(nèi),宏調(diào)度器112分配的帶寬為針對(duì)vm1(104a)的1.2gbps,針對(duì)vm2(104b)的2.4gbps,針對(duì)vm3(104c)的0.01gbps,以及針對(duì)vm4(104d)的4.8gbps。

如圖5i所示,在宏調(diào)度器112的第九周期,對(duì)于總輸出8.4gbps,最后的宏調(diào)度器周期中的實(shí)際發(fā)送速率(sr)針對(duì)vm1(104a)為1.2gbps,針對(duì)vm2(104b)為2.4gbps,針對(duì)vm3(104c)為0gbps,以及針對(duì)vm4(104d)為4.8gbps。在該周期中,更多剩余帶寬被成比例分配直到總共10gbps。如圖5h所示,在當(dāng)前周期內(nèi),宏調(diào)度器112分配的帶寬為針對(duì)vm1(104a)的1.4gbps,針對(duì)vm2(104b)的2.8gbps,針對(duì)vm3(104c)的0.01gbps,以及針對(duì)vm4(104d)的5.8gbps。

如圖5j所示,在宏調(diào)度器112的第十周期,對(duì)于總輸出10gbps(nic108的最大容量),最后的宏調(diào)度器周期中的實(shí)際發(fā)送速率(sr)針對(duì)vm1(104a)為1.4gbps,針對(duì)vm2(104b)為2.8gbps,針對(duì)vm3(104c)為0gbps,以及針對(duì)vm4(104d)為5.8gbps。

計(jì)算領(lǐng)域的技術(shù)人員將會(huì)意識(shí)到,可以使用許多不同技術(shù)來(lái)有效控制帶寬分配而并不背離本文的討論的精神。

ii.流程圖描述

本文所討論的特征作為可以以計(jì)算領(lǐng)域計(jì)算人員所可以理解的許多不同方式來(lái)實(shí)施的示例實(shí)施例而被提供,而并不背離本文的討論的精神。這樣的特征僅被理解為示例實(shí)施例特征,而并非意在被理解為僅局限于那些詳細(xì)描述。

圖6a-6d是圖示根據(jù)示例實(shí)施例的圖1的系統(tǒng)的示例操作的流程圖。在圖6a的示例中,微調(diào)度器控制針對(duì)相應(yīng)客戶端的帶寬分配,每個(gè)相應(yīng)客戶端訂閱傳出通信鏈路的帶寬中的相應(yīng)預(yù)定義部分(602)。

微調(diào)度器通過(guò)以下而被控制:在預(yù)定義的第一期限前分配帶寬中與每個(gè)活躍的相應(yīng)客戶端相關(guān)聯(lián)的相應(yīng)訂閱部分,其中未被相應(yīng)客戶端所使用的剩余帶寬在預(yù)定義的第二期限前成比例地在相應(yīng)活躍客戶端之間被共享,在由宏調(diào)度器最小化微調(diào)度器間的協(xié)調(diào)的同時(shí),周期性地調(diào)節(jié)針對(duì)每個(gè)微調(diào)度器的相應(yīng)帶寬分配(604)。

例如,傳出通信鏈路包括與網(wǎng)絡(luò)接口卡(nic)相關(guān)聯(lián)的傳出網(wǎng)絡(luò)通信鏈路(606)。

例如,在圖6b的示例中,宏調(diào)度器通過(guò)訪問(wèn)每個(gè)相應(yīng)活躍客戶端在預(yù)定時(shí)間間隔中所使用的相應(yīng)帶寬數(shù)量的度量,來(lái)周期性調(diào)節(jié)針對(duì)每個(gè)微調(diào)度器的相應(yīng)帶寬分配,該預(yù)定時(shí)間間隔在時(shí)間上處于與當(dāng)前的周期性調(diào)節(jié)相關(guān)聯(lián)的當(dāng)前時(shí)間間隔之前(608)。

例如,宏調(diào)度器通過(guò)針對(duì)在預(yù)定時(shí)間間隔中以大于相應(yīng)客戶端的相應(yīng)訂閱帶寬部分的相應(yīng)數(shù)量傳送的相應(yīng)客戶端將相應(yīng)帶寬分配的上限設(shè)定在相應(yīng)訂閱帶寬部分的相應(yīng)值,來(lái)周期性調(diào)節(jié)針對(duì)每個(gè)微調(diào)度的相應(yīng)帶寬分配,該預(yù)定時(shí)間間隔在時(shí)間上處于與當(dāng)前的周期性調(diào)節(jié)相關(guān)聯(lián)的當(dāng)前時(shí)間間隔之前(610)。

例如,宏調(diào)度器通過(guò)針對(duì)在預(yù)定時(shí)間間隔中以充分小于相應(yīng)客戶端的相應(yīng)訂閱帶寬部分的相應(yīng)數(shù)量進(jìn)行傳送的相應(yīng)客戶端,將相應(yīng)帶寬分配的上限設(shè)定在相應(yīng)的當(dāng)前實(shí)際傳輸帶寬數(shù)量的相應(yīng)值,來(lái)周期性調(diào)節(jié)針對(duì)每個(gè)微調(diào)度器的相應(yīng)帶寬分配,該預(yù)定時(shí)間間隔在時(shí)間上處于與當(dāng)前的周期性調(diào)節(jié)相關(guān)聯(lián)的當(dāng)前時(shí)間間隔之前(612)。

例如,宏調(diào)度器通過(guò)在通過(guò)基于實(shí)際傳輸量設(shè)定一個(gè)或多個(gè)相應(yīng)帶寬分配的上限而降低一個(gè)或多個(gè)相應(yīng)帶寬分配之后,確定未被相應(yīng)客戶端所使用的剩余帶寬,并且將未被相應(yīng)客戶端所使用的剩余帶寬在當(dāng)前請(qǐng)求更多帶寬分配的相應(yīng)活躍客戶端之間成比例分配,來(lái)周期性調(diào)節(jié)針對(duì)每個(gè)微調(diào)度器的相應(yīng)帶寬分配(614)。

例如,在圖6c的示例中,微調(diào)度器的每一個(gè)控制針對(duì)相應(yīng)客戶端的相應(yīng)虛擬機(jī)(vm)的帶寬分配,每個(gè)客戶端訂閱帶寬的相應(yīng)預(yù)定義部分以由相應(yīng)mv使用,其中相應(yīng)客戶端的相應(yīng)vm被托管于云服務(wù)器上,其中傳出通信鏈路包括與位于該云服務(wù)器上的一個(gè)或多個(gè)網(wǎng)絡(luò)接口卡(nic)相關(guān)聯(lián)的傳出網(wǎng)絡(luò)通信鏈路(616)。

例如,微調(diào)度器的每一個(gè)控制針對(duì)客戶端的相應(yīng)應(yīng)用的帶寬分配,每個(gè)相應(yīng)客戶端訂閱帶寬的相應(yīng)預(yù)定義部分以由相應(yīng)應(yīng)用使用,其中相應(yīng)客戶端的相應(yīng)應(yīng)用被托管于云服務(wù)器上,其中傳出通信鏈路包括與位于該云服務(wù)器上的一個(gè)或多個(gè)網(wǎng)絡(luò)接口卡(nic)相關(guān)聯(lián)的傳出網(wǎng)絡(luò)通信鏈路(618)。

例如,宏調(diào)度器控制多個(gè)微調(diào)度器,提供公平排隊(duì)的近似,而不使用宏調(diào)度器和發(fā)送器之間的反饋回路(620)。

例如,宏調(diào)度器控制多個(gè)微調(diào)度器,在確定傳出網(wǎng)絡(luò)通信鏈路并未擁塞時(shí)不提供帶寬分配控制(622)。

例如,在圖6d的示例中,宏調(diào)度器控制多個(gè)微調(diào)度器,向相應(yīng)客戶端提供公平帶寬分配的近似,向相應(yīng)客戶端指派相應(yīng)獨(dú)立隊(duì)列(624)。

例如,虛擬交換機(jī)可以包括多個(gè)相應(yīng)虛擬端口,其中虛擬端口的一部分與客戶端進(jìn)行通信,并且至少一個(gè)虛擬端口與傳出通信鏈路通信(626)。

例如,分別與多個(gè)相應(yīng)客戶端通信的相應(yīng)虛擬端口均與相應(yīng)令牌桶隊(duì)列進(jìn)行通信,令牌桶隊(duì)列控制針對(duì)每個(gè)相應(yīng)客戶端的傳出包的相應(yīng)傳輸速率(628)。

圖7a-7b是根據(jù)示例實(shí)施例圖示圖1的系統(tǒng)的示例操作的流程圖。在圖7a的示例中,帶寬分配由宏控制器針對(duì)相應(yīng)資源的用戶進(jìn)行控制,相應(yīng)資源被分別配置為傳送到具有預(yù)定義的最大傳出傳輸帶寬的公用傳出通信鏈路,相應(yīng)用戶中的每一個(gè)訂閱該傳出通信鏈路的傳出傳輸帶寬中的相應(yīng)預(yù)定義部分(702)。

在第一預(yù)定時(shí)間間隔確定傳出通信鏈路處的傳出傳輸?shù)闹芷谛员忍芈?704)。

通過(guò)將該傳出通信鏈路處的傳出傳輸?shù)闹芷谛员忍芈逝c預(yù)定義擁塞速率值進(jìn)行比較,來(lái)確定傳出通信鏈路當(dāng)前是否擁塞(706)。

如果該傳出通信鏈路被確定為當(dāng)前擁塞,則相應(yīng)的獨(dú)立上限隊(duì)列被分配給當(dāng)前活躍的多個(gè)相應(yīng)資源的多個(gè)相應(yīng)用戶中的每一個(gè),并且達(dá)到帶寬中與活躍的每個(gè)相應(yīng)客戶端相關(guān)聯(lián)的相應(yīng)訂閱部分的相應(yīng)數(shù)量在預(yù)定義的第一期限前被分配,其中未被相應(yīng)客戶端所使用的剩余帶寬在預(yù)定義的第二期限前成比例地在相應(yīng)活躍客戶端之間被共享,并且對(duì)該相應(yīng)資源的相應(yīng)用戶中的每一個(gè)的相應(yīng)帶寬分配被周期性調(diào)節(jié),以提供公平排隊(duì)的近似(708)。

例如,在圖7b的示例中,獨(dú)立最大上限隊(duì)列中的每一個(gè)由相應(yīng)微調(diào)度器獨(dú)立于管理其它相應(yīng)的獨(dú)立最大上限隊(duì)列的其它微調(diào)度器進(jìn)行管理(710)。

例如,周期性調(diào)節(jié)針對(duì)每個(gè)微調(diào)度器的相應(yīng)帶寬分配包括:訪問(wèn)每個(gè)相應(yīng)活躍客戶端在預(yù)定時(shí)間間隔中所使用的相應(yīng)帶寬數(shù)量的度量,該預(yù)定時(shí)間間隔在時(shí)間上處于與當(dāng)前的周期性調(diào)節(jié)相關(guān)聯(lián)的當(dāng)前時(shí)間間隔之前(712)。

例如,在并不使用調(diào)度器和發(fā)送器之間的反饋回路的情況下提供公平排隊(duì)的近似(714)。

例如,控制針對(duì)多個(gè)用戶的帶寬分配包括在確定傳出通信鏈路當(dāng)前并未擁塞時(shí)不提供帶寬分配控制(716)。

圖8是圖示根據(jù)示例實(shí)施例的圖1的系統(tǒng)的示例操作的流程圖。在圖8的示例中,控制針對(duì)執(zhí)行實(shí)體的帶寬分配,執(zhí)行實(shí)體分別被配置為向傳送到具有預(yù)定義的最大傳出傳輸帶寬的公用傳出通信鏈路,相應(yīng)執(zhí)行實(shí)體中的每一個(gè)訂閱該傳出通信鏈路的傳出傳輸帶寬中的相應(yīng)預(yù)定義部分。

控制多個(gè)微調(diào)度器,每個(gè)微調(diào)度器控制針對(duì)相應(yīng)執(zhí)行實(shí)體的帶寬分配(804)。

在預(yù)定義的第一期限前分配帶寬中與每個(gè)相應(yīng)執(zhí)行實(shí)體相關(guān)聯(lián)的相應(yīng)訂閱部分,其中未被相應(yīng)執(zhí)行實(shí)體所使用的剩余帶寬在預(yù)定義的第二期限前成比例地在相應(yīng)活躍執(zhí)行實(shí)體之間被共享,在最小化微調(diào)度器間的協(xié)調(diào)的同時(shí),周期性地調(diào)節(jié)針對(duì)每個(gè)微調(diào)度器的相應(yīng)帶寬分配(806)。

例如,周期性調(diào)節(jié)針對(duì)每個(gè)微調(diào)度器的相應(yīng)帶寬分配包括訪問(wèn)每個(gè)相應(yīng)活躍客戶端在預(yù)定時(shí)間間隔中所使用的相應(yīng)帶寬數(shù)量的度量,預(yù)定時(shí)間間隔在時(shí)間上處于與當(dāng)前的周期性調(diào)節(jié)相關(guān)聯(lián)的當(dāng)前時(shí)間間隔之前(808)。

例如,控制多個(gè)微調(diào)度器針對(duì)相應(yīng)執(zhí)行實(shí)體提供公平帶寬分配的近似,將相應(yīng)獨(dú)立隊(duì)列指派給相應(yīng)執(zhí)行實(shí)體(810)。

iii.某些實(shí)施例的多個(gè)方面

本文所討論的特征作為可以以計(jì)算領(lǐng)域計(jì)算人員所可以理解的許多不同方式來(lái)實(shí)施的示例實(shí)施例而被提供,而并不背離本文的討論的精神。這樣的特征僅被理解為示例實(shí)施例特征,而并非意在被理解為僅局限于那些詳細(xì)描述。

例如,一種系統(tǒng)包括至少一個(gè)處理器,以及存儲(chǔ)可由該至少一個(gè)處理器執(zhí)行的可執(zhí)行指令的計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)。該可執(zhí)行指令包括帶寬分配控制器,其包括多個(gè)微調(diào)度器,每個(gè)微調(diào)度器控制針對(duì)相應(yīng)客戶端的帶寬分配,該相應(yīng)客戶端中的每一個(gè)訂閱傳出通信鏈路中帶寬的相應(yīng)預(yù)定義部分。

宏調(diào)度器通過(guò)以下對(duì)該微調(diào)度器進(jìn)行控制:針對(duì)每個(gè)活躍的相應(yīng)客戶端,在預(yù)定義的第一期限前分配與每個(gè)活躍的相應(yīng)客戶端相關(guān)聯(lián)的帶寬的相應(yīng)訂閱部分,其中未被相應(yīng)客戶端所使用的剩余帶寬在預(yù)定義的第二期限前成比例地在相應(yīng)活躍客戶端之間被共享,在由宏調(diào)度器最小化微調(diào)度器間的協(xié)調(diào)的同時(shí),周期性地調(diào)節(jié)針對(duì)每個(gè)微調(diào)度器的相應(yīng)帶寬分配。

宏調(diào)度器通過(guò)訪問(wèn)每個(gè)相應(yīng)活躍客戶端在預(yù)定時(shí)間間隔中所使用的相應(yīng)帶寬數(shù)量的度量,來(lái)周期性調(diào)節(jié)針對(duì)每個(gè)微調(diào)度器的相應(yīng)帶寬分配,該預(yù)定時(shí)間間隔在時(shí)間上處于與當(dāng)前的周期性調(diào)節(jié)相關(guān)聯(lián)的當(dāng)前時(shí)間間隔之前。

宏調(diào)度器通過(guò)針對(duì)在預(yù)定時(shí)間間隔中以大于相應(yīng)客戶端的相應(yīng)訂閱帶寬部分的相應(yīng)數(shù)量進(jìn)行傳送的相應(yīng)客戶端將相應(yīng)帶寬分配的上限設(shè)定在相應(yīng)訂閱帶寬部分的相應(yīng)值來(lái)周期性調(diào)節(jié)針對(duì)每個(gè)微調(diào)度的相應(yīng)帶寬分配,該預(yù)定時(shí)間間隔在時(shí)間上處于與當(dāng)前的周期性調(diào)節(jié)相關(guān)聯(lián)的當(dāng)前時(shí)間間隔之前。

宏調(diào)度器通過(guò)針對(duì)在預(yù)定時(shí)間間隔中以比相應(yīng)客戶端的帶寬的相應(yīng)訂閱帶寬部分實(shí)質(zhì)更小的相應(yīng)數(shù)量進(jìn)行傳送的相應(yīng)客戶端將相應(yīng)帶寬分配的上限設(shè)定為相應(yīng)的當(dāng)前實(shí)際傳輸帶寬數(shù)量的相應(yīng)值,來(lái)周期性地調(diào)節(jié)針對(duì)每個(gè)微調(diào)度器的相應(yīng)帶寬分配,該預(yù)定時(shí)間間隔在時(shí)間上處于與當(dāng)前的周期性調(diào)節(jié)相關(guān)聯(lián)的當(dāng)前時(shí)間間隔之前。

宏調(diào)度器通過(guò)在通過(guò)基于實(shí)際傳輸數(shù)量設(shè)定一個(gè)或多個(gè)相應(yīng)帶寬分配的上限而降低一個(gè)或多個(gè)相應(yīng)帶寬分配之后、來(lái)確定未被相應(yīng)客戶端所使用的剩余帶寬,并且通過(guò)將未被相應(yīng)客戶端所使用的剩余帶寬在當(dāng)前請(qǐng)求更多帶寬分配的相應(yīng)活躍客戶端之間成比例地分配,來(lái)定期調(diào)節(jié)針對(duì)每個(gè)微調(diào)度器的相應(yīng)帶寬分配。

這些微調(diào)度器中的每個(gè)微調(diào)度器控制針對(duì)相應(yīng)客戶端的相應(yīng)虛擬機(jī)(vm)的帶寬分配,這些相應(yīng)客戶端中的每個(gè)客戶端都訂閱帶寬的相應(yīng)預(yù)定義部分以供相應(yīng)mv使用,其中相應(yīng)客戶端的相應(yīng)vm被托管于云服務(wù)器上,其中傳出通信鏈路包括與位于該云服務(wù)器上的一個(gè)或多個(gè)網(wǎng)絡(luò)接口卡(nic)相關(guān)聯(lián)的傳出網(wǎng)絡(luò)通信鏈路。

這些微調(diào)度器中的每個(gè)微調(diào)度器控制針對(duì)客戶端的相應(yīng)應(yīng)用的帶寬分配,相應(yīng)客戶端中每個(gè)客戶端都訂閱帶寬的相應(yīng)預(yù)定義部分以供相應(yīng)應(yīng)用所使用,其中相應(yīng)客戶端的相應(yīng)應(yīng)用被托管于云服務(wù)器上,其中傳出通信鏈路包括與位于該云服務(wù)器上的一個(gè)或多個(gè)網(wǎng)絡(luò)接口卡(nic)相關(guān)聯(lián)的傳出網(wǎng)絡(luò)通信鏈路。

傳出通信鏈路包括與網(wǎng)絡(luò)接口卡(nic)相關(guān)聯(lián)的傳出網(wǎng)絡(luò)通信鏈路。

宏調(diào)度器控制多個(gè)微調(diào)度器,提供公平排隊(duì)的近似,而不使用宏調(diào)度器和發(fā)送器之間的反饋回路。

宏調(diào)度器控制多個(gè)微調(diào)度器,在確定傳出網(wǎng)絡(luò)通信鏈路并未擁塞時(shí)不提供帶寬分配控制。

宏調(diào)度器控制多個(gè)微調(diào)度器,向相應(yīng)客戶端提供公平帶寬分配的近似,向相應(yīng)客戶端指派相應(yīng)獨(dú)立隊(duì)列。

一種包括多個(gè)相應(yīng)虛擬端口的虛擬交換機(jī),其中虛擬端口的一部分與客戶端進(jìn)行通信,并且至少一個(gè)虛擬端口與傳出通信鏈路通信。

分別與多個(gè)相應(yīng)客戶端通信的相應(yīng)虛擬端口均與相應(yīng)令牌桶隊(duì)列進(jìn)行通信,令牌桶隊(duì)列控制針對(duì)每個(gè)相應(yīng)客戶端的傳出包的相應(yīng)傳輸速率。

一種方法包括由宏控制器控制針對(duì)多個(gè)相應(yīng)資源的多個(gè)用戶的帶寬分配,相應(yīng)資源被分別配置為傳送到具有預(yù)定義的最大傳出傳輸帶寬的公用傳出通信鏈路,該相應(yīng)用戶中的每一個(gè)訂閱該傳出通信鏈路的傳出傳輸帶寬中的相應(yīng)預(yù)定義部分。

控制帶寬分配包括在第一預(yù)定時(shí)間間隔確定傳出通信鏈路處的傳出傳輸?shù)闹芷谛员忍芈?,并且通過(guò)將該傳出通信鏈路處的傳出傳輸?shù)闹芷谛员忍芈逝c預(yù)定義擁塞速率值進(jìn)行比較,來(lái)確定傳出通信鏈路當(dāng)前是否擁塞。

如果該傳出通信鏈路被確定為當(dāng)前擁塞,則相應(yīng)的獨(dú)立上限隊(duì)列被分配給當(dāng)前活躍的多個(gè)相應(yīng)資源的多個(gè)相應(yīng)用戶中的每一個(gè)。達(dá)到帶寬中與活躍的每個(gè)相應(yīng)客戶端相關(guān)聯(lián)的相應(yīng)訂閱部分的相應(yīng)數(shù)量在預(yù)定義的第一期限前被分配,其中未被相應(yīng)客戶端所使用的剩余帶寬在預(yù)定義的第二期限前成比例地在相應(yīng)活躍客戶端之間被共享。

對(duì)多個(gè)相應(yīng)資源的多個(gè)相應(yīng)用戶中的每一個(gè)的相應(yīng)帶寬分配被周期性調(diào)節(jié)從而提供公平排隊(duì)的近似。

相應(yīng)的獨(dú)立最大上限隊(duì)列中的每一個(gè)由相應(yīng)微調(diào)度器獨(dú)立于管理其它相應(yīng)的獨(dú)立最大上限隊(duì)列的其它微調(diào)度器進(jìn)行管理,并且

周期性調(diào)節(jié)針對(duì)每個(gè)微調(diào)度器的相應(yīng)帶寬分配包括:訪問(wèn)每個(gè)相應(yīng)活躍客戶端在預(yù)定時(shí)間間隔中所使用的相應(yīng)帶寬數(shù)量的度量,該預(yù)定時(shí)間間隔在時(shí)間上處于與當(dāng)前的周期性調(diào)節(jié)相關(guān)聯(lián)的當(dāng)前時(shí)間間隔之前。

在并不使用調(diào)度器和發(fā)送器之間的反饋回路的情況下提供公平排隊(duì)的近似。

控制針對(duì)多個(gè)用戶的帶寬分配包括在確定傳出通信鏈路當(dāng)前并未擁塞時(shí)不提供帶寬分配控制。

一種計(jì)算機(jī)程序產(chǎn)品包括計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),該計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)存儲(chǔ)可執(zhí)行指令,該可執(zhí)行指令使得至少一個(gè)計(jì)算設(shè)備控制針對(duì)執(zhí)行實(shí)體的帶寬分配,執(zhí)行實(shí)體分別被配置為傳送到具有預(yù)定義的最大傳出傳輸帶寬的公用傳出通信鏈路,該相應(yīng)執(zhí)行實(shí)體中的每一個(gè)訂閱該傳出通信鏈路的傳出傳輸帶寬中的相應(yīng)預(yù)定義部分。

控制帶寬分配包括控制多個(gè)微調(diào)度器,每個(gè)微調(diào)度器控制針對(duì)相應(yīng)執(zhí)行實(shí)體的帶寬分配。

控制該多個(gè)微調(diào)度器包括針對(duì)每個(gè)活躍的相應(yīng)執(zhí)行實(shí)體,在預(yù)定義的第一期限前分配帶寬中與每個(gè)相應(yīng)執(zhí)行實(shí)體相關(guān)聯(lián)的相應(yīng)訂閱部分,其中未被相應(yīng)執(zhí)行實(shí)體所使用的剩余帶寬在預(yù)定義的第二期限前成比例地在相應(yīng)活躍執(zhí)行實(shí)體之間被共享,在最小化微調(diào)度器間的協(xié)調(diào)的同時(shí),周期性地調(diào)節(jié)針對(duì)每個(gè)微調(diào)度器的相應(yīng)帶寬分配。

周期性調(diào)節(jié)針對(duì)每個(gè)微調(diào)度器的相應(yīng)帶寬分配包括:訪問(wèn)每個(gè)相應(yīng)活躍客戶端在預(yù)定時(shí)間間隔中所使用的相應(yīng)帶寬數(shù)量的度量,該預(yù)定時(shí)間間隔在時(shí)間上處于與當(dāng)前的周期性調(diào)節(jié)相關(guān)聯(lián)的當(dāng)前時(shí)間間隔之前。

控制多個(gè)微調(diào)度器提供針對(duì)相應(yīng)執(zhí)行實(shí)體的公平帶寬分配的近似,將相應(yīng)的獨(dú)立隊(duì)列指派給相應(yīng)的執(zhí)行實(shí)體。

計(jì)算領(lǐng)域的技術(shù)人員將會(huì)意識(shí)到,可能有許多方式來(lái)有效控制本文所討論的帶寬分配而并不背離本文討論的精神。

多年來(lái),客戶隱私和保密性始終是計(jì)算環(huán)境中被考慮的問(wèn)題。因此,用于有效控制帶寬分配的示例技術(shù)可以使用用戶所提供的用戶輸入和/或數(shù)據(jù),上述用戶已經(jīng)經(jīng)由與關(guān)聯(lián)于這種技術(shù)的相關(guān)應(yīng)用或服務(wù)的一個(gè)或多個(gè)訂閱協(xié)議(例如,“服務(wù)條款”(tos)協(xié)議)而提供了許可。例如,用戶可以同意將其輸入/數(shù)據(jù)在設(shè)備上傳送并存儲(chǔ),盡管可以明確地指示(例如,經(jīng)由用戶接受的協(xié)議)每一方都可以控制傳輸和/或存儲(chǔ)如何進(jìn)行,以及在存在的情況下可以保持什么樣的存儲(chǔ)級(jí)別或持續(xù)時(shí)間。此外,可以被用來(lái)標(biāo)識(shí)用戶所使用的設(shè)備的標(biāo)識(shí)符可能例如由于散列實(shí)際用戶信息而被混淆。應(yīng)當(dāng)理解的是,任何用戶輸入/數(shù)據(jù)都可以根據(jù)任何相關(guān)管轄區(qū)的隱私法律和法規(guī)而被獲得。

本文所描述的各種技術(shù)的實(shí)施方式可以以數(shù)字電子電路或者以計(jì)算機(jī)硬件、固件、軟件或者它們的組合來(lái)實(shí)施(例如,被配置為執(zhí)行指令以實(shí)行各種功能的裝置)。

實(shí)施方式可以被實(shí)施為以信號(hào)(例如純信號(hào),例如純傳播信號(hào))體現(xiàn)的計(jì)算機(jī)程序。這種實(shí)施方式在本文中將被稱為經(jīng)由“計(jì)算機(jī)可讀傳輸介質(zhì)”而被實(shí)施,其在本文中不被認(rèn)為是“計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)”或如下所述的“計(jì)算機(jī)可讀存儲(chǔ)設(shè)備”。

可替換地,實(shí)施方式可以經(jīng)由機(jī)器可用或機(jī)器可讀存儲(chǔ)設(shè)備(例如,磁性或數(shù)字介質(zhì),例如通用串行總線(usb)存儲(chǔ)設(shè)備、磁帶、硬盤驅(qū)動(dòng)器、光盤(cd)、數(shù)字視頻磁盤(dvd)等)來(lái)實(shí)施,其存儲(chǔ)可執(zhí)行指令(例如,計(jì)算機(jī)程序)以便于由計(jì)算裝置(例如,計(jì)算裝置)執(zhí)行或控制計(jì)算裝置(例如,計(jì)算裝置)的操作,上述計(jì)算裝置例如可編程處理器、專用處理器或設(shè)備、計(jì)算機(jī)或多臺(tái)計(jì)算機(jī)。這樣的實(shí)施方式可以在本文被稱為經(jīng)由“計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)”或“計(jì)算機(jī)可讀存儲(chǔ)設(shè)備”來(lái)實(shí)施,并且因此與純信號(hào)(例如純傳播信號(hào))的實(shí)施方式有所不同(并且因此在本文中不被認(rèn)為是如上所述的“計(jì)算機(jī)可讀傳輸介質(zhì)”)。因此,如本文所使用的,對(duì)“計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)”或“計(jì)算機(jī)可讀存儲(chǔ)設(shè)備”的引用本身特別排除了信號(hào)(例如,傳播信號(hào))。

諸如以上所描述的(多個(gè))計(jì)算機(jī)程序的計(jì)算機(jī)程序能夠以任意形式的編程語(yǔ)言(包括匯編或解釋語(yǔ)言)來(lái)編寫,并且能夠以任意形式進(jìn)行部署,包括作為獨(dú)立程序或者作為適于在計(jì)算環(huán)境中使用的模塊、組件、子程序或其它單元。計(jì)算機(jī)程序可以有形地被體現(xiàn)為機(jī)器可用或機(jī)器可讀存儲(chǔ)設(shè)備(例如,計(jì)算機(jī)可讀介質(zhì))上的可執(zhí)行代碼(例如,可執(zhí)行指令)。可以實(shí)施以上所討論的技術(shù)的計(jì)算機(jī)程序可以被部署為在一臺(tái)計(jì)算機(jī)或多臺(tái)計(jì)算機(jī)上執(zhí)行,該多臺(tái)計(jì)算機(jī)處于一個(gè)地點(diǎn)或者跨多個(gè)地點(diǎn)分布并且由通信網(wǎng)絡(luò)進(jìn)行互連。

方法步驟可以由一個(gè)或多個(gè)可編程處理器來(lái)實(shí)行,它們執(zhí)行計(jì)算機(jī)程序以通過(guò)對(duì)輸入數(shù)據(jù)進(jìn)行運(yùn)算并生成輸出而執(zhí)行操作。該一個(gè)或多個(gè)可編程處理好其可以并行執(zhí)行指令,和/或可以以分布式配置進(jìn)行部署以便進(jìn)行分布式處理。本文所討論的示例功能還可以由一個(gè)或多個(gè)硬件邏輯組件來(lái)執(zhí)行,并且裝置可以至少部分被實(shí)施為一個(gè)或多個(gè)硬件邏輯組件。作為示例而非限制,可以被使用的硬件邏輯組件的說(shuō)明性類型包現(xiàn)場(chǎng)可編程門陣列括(fpga)、程序特定集成電路(asic)、程序特定標(biāo)準(zhǔn)產(chǎn)品(assp)、片上系統(tǒng)(soc)、復(fù)雜可編程邏輯器件(cpld)等。

作為示例,適于執(zhí)行計(jì)算機(jī)程序的處理器包括通用和專用微處理器,以及任意類型的數(shù)字計(jì)算機(jī)的任意一個(gè)或多個(gè)處理器。通常,處理器將從只讀存儲(chǔ)器或隨機(jī)訪問(wèn)存儲(chǔ)器或其二者接收指令和數(shù)據(jù)。計(jì)算機(jī)的部件可以包括至少一個(gè)用于執(zhí)行指令的處理器以及一個(gè)或多個(gè)用于存儲(chǔ)指令和數(shù)據(jù)的存儲(chǔ)器設(shè)備。通常,計(jì)算機(jī)還可以包括一個(gè)或多個(gè)用于存儲(chǔ)數(shù)據(jù)的一個(gè)或多個(gè)大型存儲(chǔ)設(shè)備或者與之操作耦合以往來(lái)于其接收數(shù)據(jù)或傳輸數(shù)據(jù)或者這二者,其例如為磁盤、磁性光盤或光盤。適于體現(xiàn)計(jì)算機(jī)程序指令和數(shù)據(jù)的信息載體包括所有形式的非易失性存儲(chǔ)器,例如包括半導(dǎo)體存儲(chǔ)器設(shè)備,例如eprom、eeprom和閃存設(shè)備;磁盤,例如內(nèi)部硬盤或可移動(dòng)磁盤;磁性光盤;和cdrom和dvd-rom盤。處理器和存儲(chǔ)器可以以專用邏輯電路作為補(bǔ)充或者結(jié)合于其中。

為了提供與用戶的交互,實(shí)施方式可以在具有用于向用戶顯示信息的顯示設(shè)備以及用戶能夠通過(guò)其向計(jì)算機(jī)提供輸入的鍵盤和指示設(shè)備的計(jì)算機(jī)上實(shí)施,該顯示設(shè)備例如crt(陰極射線管)或lcd(液晶顯示器)監(jiān)視器,該指示設(shè)備例如鼠標(biāo)或軌跡球。也能夠使用其它類型的設(shè)備來(lái)提供與用戶的交互;例如,提供給用戶的反饋可以為任意類型的感官反饋,例如視覺(jué)反饋、聽(tīng)覺(jué)反饋或觸覺(jué)反饋。例如,輸出可以經(jīng)由任意形式的感官輸出來(lái)提供,包括(但并不局限于)視覺(jué)輸出(例如,視覺(jué)手勢(shì)、視頻輸出)、音頻輸出(例如,語(yǔ)言、設(shè)備聲音)、觸覺(jué)輸出(例如,觸碰、設(shè)備移動(dòng))、溫度、氣味等。

另外,來(lái)自用戶的輸入能夠以任意形式被接收,包括聲音、語(yǔ)音或觸覺(jué)輸入。例如,輸入可以經(jīng)由任意形式的感官輸入而從用戶接收,包括(但并不局限于)視覺(jué)輸出(例如,視覺(jué)手勢(shì)、視頻輸出)、音頻輸出(例如,語(yǔ)言、設(shè)備聲音)、觸覺(jué)輸出(例如,觸碰、設(shè)備移動(dòng))、溫度、氣味等。

此外,自然用戶界面(nui)可以用于與用戶對(duì)接。在這種情況下,“nui”可以指任何能夠使得用戶以“自然”的方式與設(shè)備進(jìn)行交互的接口技術(shù),而并不受諸如鼠標(biāo)、鍵盤、遙控器等的輸入設(shè)備所施加的人為約束。

nui技術(shù)的示例可以包括依賴于語(yǔ)音識(shí)別、觸摸和觸筆識(shí)別,屏幕上和屏幕附近的手勢(shì)識(shí)別、空中手勢(shì)、頭部和眼睛跟蹤、語(yǔ)音和話音、視覺(jué)、觸摸、手勢(shì)和機(jī)器智能的那些技術(shù)。示例nui技術(shù)可以包括但不限于觸敏顯示器、語(yǔ)音和話音識(shí)別、意圖和目標(biāo)理解,使用深度相機(jī)(例如,立體相機(jī)系統(tǒng)、紅外相機(jī)系統(tǒng),rgb(紅、綠、藍(lán))相機(jī)系統(tǒng),以及它們的組合)的運(yùn)動(dòng)手勢(shì)檢測(cè),使用加速度計(jì)/陀螺儀的運(yùn)動(dòng)手勢(shì)檢測(cè),面部識(shí)別、3d顯示,頭部、眼睛和注視跟蹤,沉浸式增強(qiáng)現(xiàn)實(shí)和虛擬現(xiàn)實(shí)系統(tǒng),所有這些都可以提供更為自然的界面,以及使用電場(chǎng)感測(cè)電極來(lái)感測(cè)腦活動(dòng)的技術(shù)(例如腦電圖(eeg)和相關(guān)技術(shù))。

多種實(shí)施方式可以在計(jì)算系統(tǒng)中實(shí)現(xiàn),該計(jì)算系統(tǒng)包括例如數(shù)據(jù)服務(wù)器的后端組件,或者包括例如應(yīng)用服務(wù)器的中間件組件,或者其包括前端組件,例如具有用戶能夠通過(guò)其與實(shí)施方式進(jìn)行交互的圖形用戶界面或網(wǎng)絡(luò)瀏覽器的客戶端計(jì)算機(jī),或者一個(gè)或多個(gè)這樣的后端、中間件或前端組件的任意組合。組件可通過(guò)例如通信網(wǎng)絡(luò)的任意形式的介質(zhì)或數(shù)字?jǐn)?shù)據(jù)通信進(jìn)行互連。通信網(wǎng)絡(luò)的示例包括局域網(wǎng)(lan)和廣域網(wǎng)(wan),例如互聯(lián)網(wǎng)。

雖然已經(jīng)以特定于結(jié)構(gòu)特征和/或方法動(dòng)作的語(yǔ)言對(duì)主題進(jìn)行了描述,但是所要理解的是,所附權(quán)利要求中所限定的主題并不必然局限于以上所描述的具體特征或動(dòng)作。相反,以上所描述的具體特征和動(dòng)作是作為實(shí)施權(quán)利要求的示例形式而公開(kāi)。雖然已經(jīng)如本文所描述的闡述了所描述實(shí)施方式的某些特征,但是本領(lǐng)域技術(shù)人員現(xiàn)在將能夠作出許多修改、替換、改變和等同形式。因此所要理解的是,所附權(quán)利要求意在覆蓋落入實(shí)施例的實(shí)際范圍之內(nèi)的所有這樣的修改和變化。

當(dāng)前第1頁(yè)1 2 
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
乌审旗| 视频| 盘山县| 南投县| 濮阳县| 邢台县| 赤壁市| 惠州市| 类乌齐县| 西畴县| 九龙城区| 武平县| 林芝县| 五家渠市| 德惠市| 西盟| 浦县| 安仁县| 葵青区| 芦溪县| 门源| 共和县| 平舆县| 宁河县| 英德市| 桂林市| 巨野县| 九龙坡区| 陆川县| 林口县| 牟定县| 周口市| 蒲江县| 澜沧| 延寿县| 即墨市| 温州市| 民和| 潜山县| 将乐县| 太仓市|