基于應用提供的傳輸元數據的網絡傳輸調整的制作方法
【專利說明】基于應用提供的傳輸元數據的網絡傳輸調整
[0001]背景
[0002]現代的服務器計算設備通過是按促成將多個這樣的服務器計算設備安裝和維護在諸如機架之類的有限空間內的方式來物理地配置的。然后,可以將多個服務器計算設備機架放在通常被稱為“數據中心”的專用設施內。這樣的數據中心提供高效縮放并且常被用來托管提供大量服務和功能性的物理服務器計算設備。例如,可通過普遍存在的因特網和萬維網能夠訪問的許多服務和功能性由數據中心中的服務器計算設備支持。其他服務和功能性(其可訪問性可限于公司、大學,或研究機構內聯網)同樣由數據中心內的服務器計算設備支持。
[0003]通常,為了維持可靠性,數據的冗余副本被維持物理上分開的定位并且彼此隔開的多個數據中心處。這樣的多個數據中心可以遍及一個國家或在全世界擴散。此外,其他數據集可能足夠大,以致于如果這樣的數據集的各部分被彼此分開且隔開地維持在多個不同的數據中心處可能使更經濟且更可靠的,同樣,這些多個不同的數據中心可遍及單個國家或在全世界擴散。
[0004]然而,高效數據處理通常要求數據被存儲在物理鄰近執行這樣的數據處理的服務器計算設備的處理單元的計算機可讀存儲介質上。因此,數據處理經常可需要將大量數據從存儲這樣的數據的數據中心復制到可以執行這樣的處理的數據中心。替換地或附加地,數據處理經常可需要將大量數據從處理該數據的數據中心(通常以生成新的或修改過的數據集)復制到可存儲該數據的數據中心。對這樣的數據的處理可直接影響向數千或者甚至數百萬用戶提供服務或可甚至由其觸發。因此,為使這樣的用戶更高效,并為了避免用戶惱怒,通常期望對這樣的數據的處理盡可能快并且高效地執行。然而,在各數據中心之間復制數據(包括聚集數據以進行處理、隨后對數據解除聚集以進行存儲、或其他數據交換或傳輸)所需的時間通常是可以多么快且高效地執行這樣的處理的限制因素。
[0005]概述
[0006]在一個實施例中,網絡組件可以調整協議設置和路由以在給定已知網絡條件并給定傳輸元數據的情況下最大化數據從發送應用的高效傳輸,這可以描述這樣的數據將如何被傳輸。
[0007]在再一個實施例中,可以定義在數據傳輸應用和網絡組件之間的接口,該接口可以使數據傳輸應用能向這樣的網絡組件提供大量傳輸元數據。該接口可以允許提供傳輸元數據,該傳輸元數據可以處于下列形式:目的地信息、通信類型信息、關于要被傳輸的數據的量的信息、及時性信息、數據位置信息、成本信息、及其他類似的傳輸元數據。
[0008]在又一實施例中,網絡組件可以使用傳輸元數據來優化協議設置,協議設置可以處于下列形式:對差錯控制設置、流控制設置、接收器控制設置、分段設置,及其他類似的協議設置的調整。對這樣的協議設置的優化也可以考慮當前網絡條件。
[0009]在更進一步的實施例中,集中式控制器可以提供關于當前網絡條件和網絡配置的信息,以幫助網絡組件優化協議設置和對要被傳輸的數據的路由。
[0010]提供本概述是為了以精簡的形式介紹將在以下詳細描述中進一步描述的一些概念。本概述并不旨在標識所要求保護的主題的關鍵特征或必要特征,也不旨在用于限制所要求保護的主題的范圍。
[0011]通過下面的結合附圖對本發明進行的【具體實施方式】,本發明的附加特征和優點將變得更加顯而易見。
[0012]附圖簡述
[0013]通過參考各個附圖,可以更好地理解如下【具體實施方式】,其中:
[0014]圖1是用于獲得并使用傳輸元數據來調整網絡傳輸的示例性系統的框圖;
[0015]圖2是用于獲得并使用傳輸元數據來調整網絡傳輸的示例性架構的框圖;
[0016]圖3是用于調整網絡傳輸的傳輸元數據的示例性使用的流程圖;以及
[0017]圖4是示出了示例性通用計算設備的框圖。
[0018]詳細描述
[0019]下面的描述涉及用于調整網絡傳輸的應用提供的傳輸元數據的獲得和使用。可以在試圖跨網絡傳輸數據的應用和網絡組件之間定義接口,以使應用能向網絡組件提供傳輸元數據,然后,網絡組件可以可任選地結合當前網絡條件信息來使用該傳輸元數據來調整適用于傳輸該數據的路由和協議設置。傳輸元數據可包括目的地信息、通信類型信息、關于要被傳輸的數據的量的信息、及時性信息、數據位置信息、成本信息,及其他類似的傳輸元數據。利用這樣的傳輸元數據,網絡組件可以以對差錯控制設置、流控制設置、接收器控制設置、分段設置及其他類似的協議設置進行調整的形式優化協議設置。在優化協議設置時,網絡組件也可以使用當前網絡條件信息,諸如當前網絡配置和當前網絡擁塞信息。這樣的當前網絡信息可以由網絡組件本身獲得,或可以通過集中式控制器來提供或由其增強。
[0020]此處所描述的技術參考特定類型的網絡環境和上下文。具體而言,下面的描述將在服務器計算設備之間的數據中心間的通信的上下文內提供。然而,這樣的參考是嚴格地示例性的,并且是為了描述和陳述清楚并且為便于理解而作出的。的確,本文描述的技術,在無需修改的情況下,同樣地適用于優化任何網絡傳輸,包括例如通過在客戶端計算設備上執行的應用程序的傳輸、通過專用網絡電器的傳輸、以及通過諸如、,例如數字視頻記錄器之類的專用計算設備的傳輸。
[0021]雖然未作要求,但以下描述的各方面將在諸如程序模塊等正由計算設備執行的計算機可執行指令的一般上下文中提供。更具體而言,除非另外指明,否則,本描述的各方面將參考一個或多個計算設備或外圍設備所執行的動作以及其所執行的操作的符號表示。由此,可以理解,這些有時被稱為計算機執行的動作和操作包括以結構化形式表示數據的電信號的處理單元的操縱。該操縱變換數據或將其維護在存儲器中的各個位置,這以本領域技術人員都理解的方式重新配置或以其他方式更改計算設備或外圍設備的操作。其中維護數據的數據結構是具有由該數據的格式定義的特定特性的物理位置。
[0022]—般而言,程序模塊包括執行特定任務或實現特定抽象數據類型的例程、程序、對象、組件、數據結構等。此外,本領域技術人員將會認識到這些計算設備不必限于常規服務器計算機架或常規個人計算機,并且包括其他計算配置,包括手持式設備、多處理器系統、基于微處理器的或可編程消費電子設備、網絡PC、小型計算機、大型計算機等等。類似地,這些計算設備不必限于獨立計算設備,因為各機制也可以在通過通信網絡鏈接的分布式計算環境中實現。在分布式計算環境中,程序模塊可位于本地和遠程存儲器存儲設備兩者中。
[0023]參考圖1,示出了示例性系統100,其包括多個計算設備,諸如計算設備111、112以及113,它們可以物理地位于一個或多個物理地完全不同的數據中心,諸如數據中心121、122以及123。計算設備111、112以及113以及數據中心121、122以及123處的其他類似的計算設備可以作為網絡101的一部分被聯網在一起,由此允許計算機可讀取的數據在兩個或更多計算設備之間的傳輸和共享。以下出于描述的目的,數據中心121、122和123可以通過具有物理節點131、132、133和135和段141、142和143的物理網絡基礎結構聯網在一起。如圖所示,諸如示例性計算設備111之類的數據中心121的計算設備可以位于節點131附近并且被引導到數據中心121的計算設備的通信可以被節點131路由到數據中心121,而沿著網絡101的其他通信可以被路由通過節點131,并按使得數據中心121的計算設備將不會察覺的方式被繼續路由到其他目的地。類似地,數據中心122可以位于節點132附近,數據中心123可以位于節點133附近。
[0024]在諸如示例性計算設備111之類的計算設備的一個或多個處理單元上執行的計算機可執行指令可以尋求將數據傳送到其他計算設備,包括跨諸如示例性網絡101之類的網絡傳送數據。例如,應用程序161(包括在計算設備111的一個或多個處理單元中執行的計算機可執行指令)可以尋求跨網絡101傳送數據。為此,應用程序161可以與在計算設備111上執行的專用于跨網絡傳送數據以及從其中接收數據的其他計算機可執行指令進行通信。這樣的計算機可執行指令通常被組織成一個或多個網絡組件、插件、擴展、應用等等,此