多租用云計算網絡中的網絡帶寬分配的制作方法
【技術領域】
[0001] 本發(fā)明的實施例設及計算機連網的領域;并且更具體地,設及用于多租用云計算 網絡中的網絡帶寬分配的方法和系統(tǒng)。
【背景技術】
[0002] 近年來的云計算的興起已經改變創(chuàng)建和執(zhí)行計算應用的方式。大多數云計算提供 商采用基礎設施即服務(IaaS)模型,其中消費者將它們的計算和軟件能力外包到第S方基 礎設施并且按需支付服務使用,運允許消費者W分鐘而不是天或月來建立并且快速擴展國 際存在。通過供給實際上無限的資源而沒有任何預先的資本投資和簡單的現收現付收費模 型,云計算向私有計算基礎設施的構造、托管和維護提供引人注目的備選。
[0003] 盡管有云計算的巨大勢頭,許多公司仍然不愿意將它們的服務或企業(yè)應用移動到 云,由于可靠性、性能、安全和隱私顧慮。為最大化經濟益處和資源利用,云網絡通常同時啟 動多個虛擬機(VM)W在一個物理服務器計算裝置上執(zhí)行。另外,大多數云提供商只使用基 于主機的虛擬化技術來實現終端主機層上的VM之間的分離和性能隔離。然后,在互連每個 主機的網絡中,部署物理路由器和鏈路的相同集合來無差別地攜帶所有租戶的業(yè)務。另外, 云提供商不向租戶供給確保的網絡資源,并且因此相同租戶的VM之間的帶寬可W隨著時 間顯著地改變,取決于來自其它租戶的網絡負載和使用。
[0004] 此外,雖然云計算數據中屯、提供許多機制來調度本地計算、存儲器和磁盤資源, 但是用于分配網絡資源的現有機制不足。不幸地,當今的公用云平臺一-例如Amazon的 Elastic計算云(EC2)、Google的Google應用引擎、微軟的Azure服務平臺、Backspace的 Mosso和GoGrid的云托管平臺一一不提供任何網絡性能保證,它又影響應用可靠性和租戶 成本。特別地,當今的云中的資源保留模型只供應處理器(例如,中央處理單元(CPU))和存 儲器資源但完全地忽略連網。由于當今的數據中屯、網絡的過度訂閱特性,網絡帶寬是跨許 多租戶共享的稀有資源。當多個應用的網絡密集階段同時地發(fā)生并且競爭運些稀有網絡資 源,它們的運行時間變得不可預測。執(zhí)行時間中的此不確定性另外翻譯成不可預測的成本, 因為租戶需要對于它們的任務的整個持續(xù)時間為保留的VM進行支付。因此,存在對于提供 多租戶云網絡中的網絡帶寬分配和保證的系統(tǒng)和機制的需要。
【發(fā)明內容】
[0005] 根據本發(fā)明的實施例,計算裝置執(zhí)行方法W便確定用于連接多租戶云網絡中的租 戶的多個虛擬機(V^O的多個通信鏈路上的網絡帶寬的最佳分配。所述確定基于多個VM的 帶寬要求的集合。方法包含生成多個樹數據結構(TDS)。多個TDS中的每個TDS包含表示 多個VM和在多租戶云網絡中轉發(fā)業(yè)務的多個網絡裝置的多個節(jié)點。多個TDS中的每個TDS 還包含表示多個通信鏈路中的至少一些通信鏈路的多個邊緣。多個邊緣中的每個邊緣包含 指示在由租戶的多個VM的邊緣表示的通信鏈路上保留的帶寬量的計算的帶寬值。計算的 帶寬值基于帶寬要求的集合。方法還包含生成多個TDS中的每個TDS的加權距離值。加權 距離值的生成基于根節(jié)點與表示VM的每個其它節(jié)點之間的TDS中的距離,并且也基于根節(jié) 點與表示VM的每個其它節(jié)點之間的TDS中的計算的帶寬值。方法還包含選擇多個TDS中 的具有最小加權距離值的TDS作為具有表示網絡帶寬的最佳分配的計算的帶寬值的TDS。
[0006] 根據本發(fā)明的實施例,服務器終端站基于多個VM的帶寬要求的集合來確定用于 連接多租戶云網絡中的租戶的多個虛擬機(VM)的多個通信鏈路上的網絡帶寬的最佳分配。 服務器終端站包含一個或多個處理器的集合W及禪合到處理器的集合的樹數據結構(TDS) 生成模塊。TDS生成模塊配置為生成多個TDS。多個TDS中的每個TDS包含表示多個VM和 在多租戶云網絡中轉發(fā)業(yè)務的多個網絡裝置的多個節(jié)點。多個TDS中的每個TDS還包含表 示多個通信鏈路中的至少一些通信鏈路的多個邊緣。多個邊緣中的每個邊緣包含指示在由 租戶的多個VM的邊緣表示的通信鏈路上保留的帶寬量的計算的帶寬值。計算的帶寬值基 于帶寬要求的集合。TDS生成模塊還配置為生成多個TDS中的每個TDS的加權距離值,基于 根節(jié)點與表示VM的每個其它節(jié)點之間的TDS中的距離,也基于根節(jié)點與表示VM的每個其 它節(jié)點之間的TDS中的計算的帶寬值。服務器終端站也包含禪合到處理器的集合的TDS選 擇模塊。TDS選擇模塊配置為選擇多個TDS中的具有最小加權距離值的TDS作為具有表示 網絡帶寬的最佳分配的計算的帶寬值的TDS。
[0007] 根據本發(fā)明的實施例,計算機可讀存儲介質提供指令,所述指令當由計算裝置的 一個或多個處理器的集合執(zhí)行時,使計算裝置確定用于連接多租戶云網絡中的租戶的多個 虛擬機(V^O的多個通信鏈路上的網絡帶寬的最佳分配。此確定基于多個VM的帶寬要求的 集合。計算裝置生成多個樹數據結構(TDS)。多個TDS中的每個TDS包含表示多個VM和在 多租戶云網絡中轉發(fā)業(yè)務的多個網絡裝置的多個節(jié)點。多個TDS中的每個TDS還包含表示 多個通信鏈路中的至少一些通信鏈路的多個邊緣。多個邊緣中的每個邊緣包含指示在由租 戶的多個VM的邊緣表示的通信鏈路上保留的帶寬量的計算的帶寬值。計算的帶寬值基于 帶寬要求的集合。計算裝置也生成多個TDS中的每個TDS的加權距離值基于根節(jié)點與表示 VM的每個其它節(jié)點之間的TDS中的距離,W及根節(jié)點與表示VM的每個其它節(jié)點之間的TDS 中的計算的帶寬值。計算裝置也選擇多個TDS中的具有最小加權距離值的TDS作為具有表 示網絡帶寬的最佳分配的計算的帶寬值的TDS。
[0008] 本發(fā)明的實施例允許在多租戶云網絡內保留的網絡帶寬量的程序化確定而用最 小量的要求的保留帶寬向其租戶最佳提供帶寬保證。實施例允許使用簡單的符號來規(guī)定帶 寬要求并且容易用現有的VM實時改變帶寬要求。另外,本發(fā)明的實施例允許VM位于云網 絡中的任何位置,并且可W確定給定那個地形的最佳解決方案。
【附圖說明】
[0009] 可W通過參考下文的描述和用來說明本發(fā)明的實施例的附圖來最佳地理解本發(fā) 明。在圖中: 圖1圖示根據本發(fā)明的一個實施例的包含虛擬機和規(guī)定的帶寬要求的示例云計算網 絡拓撲; 圖2圖示根據本發(fā)明的一個實施例的使用圖1的示例云計算網絡拓撲的用于帶寬分配 的基于原生最短路徑的方法; 圖3圖示根據本發(fā)明的一個實施例的用于確定在網絡鏈路上保留的要求的帶寬的表 示生成樹和等式的構造; 圖4圖示根據本發(fā)明的一個實施例的加權距離值公式和最佳網絡帶寬供應算法; 圖5圖示根據本發(fā)明的一個實施例的使用圖1的第二虛擬機作為樹中的根節(jié)點的寬度 優(yōu)先生成樹的構造; 圖6圖示根據本發(fā)明的一個實施例的利用最佳網絡帶寬分配系統(tǒng)的多租戶云網絡的 框圖; 圖7圖示根據本發(fā)明的一個實施例的用于基于多個VM的帶寬要求的集合來確定多租 戶云網絡中的多個虛擬機的多個通信鏈路上的網絡帶寬的最佳分配的流程;W及 圖8圖示根據本發(fā)明的一個實施例的用于確定并且分配網絡帶寬要求的在云提供商 的服務器終端站中執(zhí)行的流程。
【具體實施方式】
[0010] 在下文的描述中,闡述許多具體細節(jié)。然而,要理解,可在沒有運些具體細節(jié)的情 況下實踐本發(fā)明的實施例。在其它實例中,沒有詳細示出已知的電路、結構和技術W便不模 糊此描述的理解。利用包含的描述,本領域的普通技術人員將能夠在沒有過度的實驗的情 況下實現適當的功能性。
[0011] 在說明書中對"一個實施例"、"實施例"、"示例實施例"等的參考指示描述的實施 例可包含特定特征、結構或特性,但每個實施例可能不一定包含特定特征、結構或特性。此 夕F,運樣的短語不一定參考相同的實施例。另外,當結合實施例來描述特定特征、結構或特 性時,認為結合無論是否明確描述的其它實施例來實現運樣的特征、結構或特性在本領域 的技術人員的知識內。
[0012] 在下文的描述和權利要求中,可使用術語"禪合"和"連接"W及它們的派生詞。應 該理解運些術語不旨在作為彼此的同義詞。"禪合"用于指示兩個或者更多元件,它們可W 或可W不彼此直接物理或電接觸、彼此協(xié)作或交互。"連接"用于指示彼此禪合的兩個或者 更多元件之間的通信的建立。
[001引本文使用具有虛線邊界(例如,大虛線、小虛線、點虛線、點)的加括號文本和框來 圖示將附加的特征添加到本發(fā)明的實施例的可選操作。然而,運樣的符號不應該用作意味 著運些只是選項或可選的操作,和/或在本發(fā)明的某些實施例中具有實線邊界的框不是可 選的。
[0014] 電子裝置或計算裝置(例如,終端站、網絡裝置)使用機器可讀媒體來(內部和/或 在網絡上用其它電子裝置)存儲并且傳送代碼(由軟件指令組成)和數據,例如非暫時性機 器可讀媒體(例如,機器可讀存儲媒體,例如磁盤;光盤;只讀存儲器;閃速存儲器裝置;相 變存儲器)和暫時性機器可讀傳送媒體(例如,電、光、聲或其它形式的傳播信號一-例如, 載波、紅外信號)。此外,運樣的電子裝置包含硬件,例如禪合到一個或多個其它部件的一個 或多個處理器的集合,例如一個或多個非暫時性機器可讀媒體(來存儲代碼和/或數據)、用 戶輸入/輸出裝置(例如,鍵盤、觸摸屏和/或顯示)W及網絡連接(來使用傳播信號傳送代 碼和/或數據)。處理器的集合和其它部件的禪合通常是通過一個或多個總線和網橋(也被 稱為總線控制器)。因此,給定電子裝置的非暫時性機器可讀介質通常存儲指令用于在那個 電子裝置的一個或多個處理器上的執(zhí)行。可使用軟件、固件和/或硬件的不同組合來實現 本發(fā)明的實施例的一個或多個部分。
[0015] 如本文所使用的,網絡裝置(例如,路由器、交換機、網橋)是一件連網設備,包含硬 件和軟件,它在通信上互連在網絡上的其它設備(例如,其它網絡裝置、終端站)。一些網絡 裝置是提供多個連網功能(例如,路由、網橋、交換機、層2聚合、會話邊界控制、服務質量和 /或訂戶管理)的支持和/或提供多個應用服務(例如,數據、語音和視頻)的支持的"多個 服務網絡裝置"。訂戶終端站(例如,服務器、工作站、膝上型計算機、上網本、平板計算機、掌 上電腦、移動電話、智能電話、多媒體電話、語音網關(VOIP)電話、用戶設備、終端、便攜式媒 體播放器、GI^單元、游戲系統(tǒng)、機頂盒)是計算裝置,通常由用戶操作,接入在因特網上提 供的內容/服務和/或在覆蓋(例如,貫穿)因特網的虛擬私有網(VPN)上提供的內容/服 務。內容和/或服務通常是由屬于參與對等服務的服務或內容提供商或終端站的一個或多 個終端站(例如,服務器終端站)提供,并且例如,可包含公用網頁(例如,免費內容、鋪面、捜 索服務)、私有網頁(例如,提供電子郵件服務的用戶名/密碼接入的網頁),和/或在VPN上 的企業(yè)網絡。通常,訂戶終端站禪