用于在通信網絡中優先化并調度數據包的檢測系統和方法
【專利摘要】系統和方法提供一種參數化調度系統,所述參數化調度系統并入終端用戶應用認知且可與包括來自異構應用的數據流的調度組一起使用。在多個協議級上分析數據包以檢測與傳遞所述數據包相關的特征。所述數據包被過濾,使得有效地執行檢測所述特征。所述檢測的特征可用于調度所述數據包的傳輸。所述檢測的特征可用以動態改變調度參數。所述動態調度參數可響應于循環的網絡模式、一次性事件、應用特征、協議特征、設備特征、服務等級協議或其組合而最大化用戶體驗質量(QoE)。調度參數也可將“持續時間忽視”和“近因效應”的概念并入終端用戶對視頻質量的感知,以在擁塞期間管理視頻流量。
【專利說明】用于在通信網絡中優先化并調度數據包的檢測系統和方法
[0001]發明背景
[0002]本發明一般涉及通信系統領域且涉及用于在通信網絡中優先化并調度數據包的檢測系統和方法。
[0003]在例如互聯網協議(IP)網絡的通信網絡中,每個節點和子網對于可在任何給定時間有效傳輸的數據量都有限制。在有線網絡中,這通常是設備容量的函數。例如,千兆以太網(Gigabit Ethernet)鏈接可傳輸不超過十億位元流量每秒。在無線網絡中,容量由使用的信道帶寬、傳輸技術和通信協議來限制。無線網絡還由分配到服務區的頻譜量和發送和接收系統之間的信號的質量約束。因為這些方面可以是動態的,所以無線系統的容量可隨時間變化。
[0004]另外,每個節點對于處理可執行都有限制。增加可用處理可能很昂貴或者可能需要使節點停止使用。另外,節點可能具有許多不同的競爭可用處理的功能。即使當足夠的處理容量可用時,它的使用也帶來例如功率消耗方面的成本。
發明概要
[0005]提供用于提供并入終端用戶應用認知的參數化(或基于權重的)調度系統,和它們的有效實施方式的系統和方法。本文公開的系統和方法可包括具有包括來自異構應用的數據流的調度組的通信系統。一些實施方案使用包檢查以供終端用戶應用對數據流量進行分類。可基于應用類別、具體應用、個別數據流或其一些組合來創建調度組內的個別數據隊列。實施方案使用應用信息結合應用因子(AF)來修改調度器參數(例如,權重、信用或借記),從而區別處理分配到調度組的數據流。在實施方案中,提供一種用于通過使用動態AF設置來調整不同用戶應用的相對重要性以響應于循環的網絡模式、一次性事件、應用特征或任何它們的組合來最大化用戶體驗質量(QoE )的方法。
[0006]在實施方案中,提供一種用于通過動態管理調度權重來最大化視頻應用的用戶QoE的方法。該方法將“持續時間忽視”和“近因效應”的概念并入終端用戶對視頻質量(即,視頻QoE)的感知,以便在擁塞期間優化管理視頻流量。
[0007]在實施方案中,提供一種用于在無線通信系統中調度數據包的傳輸的基于權重的調度系統。所述系統包括分類和排隊模塊、權重計算模塊和調度器模塊。分類和排隊模塊被配置來接收包括來自多個異構數據流的數據包的輸入流量。所述分類和排隊模塊也被配置來分析每個數據包并基于所述數據包的屬性將所述數據包分配到調度組。所述分類和排隊模塊還被配置來輸出一個或多個數據隊列和與所述一個或多個數據隊列中的每一個中的所述數據包相關的分類信息。所述權重計算模塊被配置來接收來自所述分類和排隊模塊的所述分類信息并計算所述一個或多個數據隊列中的每一個的權重并輸出所述計算的權重。所述調度器模塊被配置來接收來自所述分類和排隊模塊的一個或多個數據隊列并接收來自權重計算模塊的計算的權重。所述調度器模塊還被配置來基于計算的權重從一個或多個數據隊列選擇數據包并將選定的數據包插入輸出隊列來通過物理通信層傳輸。
[0008]在實施方案中,提供一種用于在通信網絡中優先化并調度數據包的方法。所述方法包括接收多個數據包;對多個數據包進行分類;將多個數據包分離成多個調度組;將多個數據包分離成多個數據隊列;確定權重以與數據隊列中的每一個相關聯。所述權重至少部分由與所述數據包相關的應用類型來確定。所述方法還包括基于與數據隊列相關的權重來從多個數據隊列選擇數據包;基于與數據隊列中的每一個相關的權重來將選定的數據包插入輸出數據隊列;和通過物理通信層傳輸來自輸出數據隊列的多個數據包以通過網絡通信介質傳輸。
[0009]在實施方案中,提供一種用于操作通信設備以調度數據包的傳輸的方法。所述方法包括:接收來自通信網絡的數據包;對所述數據包進行分類;基于所述分類將所述數據包分離成調度組,所述調度組中的每一個與至少一個數據隊列相關;將所述數據包中的每一個插入與所述對應的調度組相關的所述數據隊列中的一個;確定與所述數據包相關的應用;確定所述數據隊列的權重,所述權重至少部分基于與所述對應的數據隊列中的所述數據包相關的所述應用;考慮到所述權重,將所述數據包從所述數據隊列調度到輸出隊列;和將所述數據包從所述輸出隊列傳輸到所述通信網絡。
[0010]在實施方案中,提供一種用于調度數據包的傳輸的通信設備。所述通信設備包括:分類和排隊模塊,其被配置來接收數據包的,所述分類和排隊模塊還被配置來分析所述數據包的屬性,并基于所述屬性將所述數據包分配到調度組,所述分類和排隊模塊還被配置來輸出數據隊列中的所述數據包,其中所述調度組中的每一個與所述數據隊列中的至少一個相關,所述分類和排隊模塊還被配置來確定與所述數據包相關的應用,并輸出關于所述應用的信息;權重計算模塊,其被配置來利用來自所述分類和排隊模塊的所述應用信息來計算并輸出指示所述數據隊列的相對優先級的權重;和調度器模塊,其被配置來以考慮到來自所述權重計算模塊的所述權重的順序從所述數據隊列選擇數據包并將所述選定的數據包插入輸出隊列來通過物理通信層傳輸。
[0011]在實施方案中,提供一種用于操作通信設備以調度數據包的傳輸的方法。所述方法包括:接收來自通信網絡的數據包;確定與所述數據包相關的應用;將所述數據包中的每一個插入多個數據隊列中的一個;確定所述數據隊列的調度器參數,所述調度器參數包括基于與所述對應的數據隊列中的所述數據包相關的所述應用的因子;考慮到所述調度器參數,將所述數據包從所述數據隊列調度到輸出隊列;和將所述數據包從所述輸出隊列傳輸到所述通信網絡。
[0012]在實施方案中,提供一種用于調度數據包的傳輸的通信設備。所述通信設備包括:分類和排隊模塊,其被配置來接收數據包并輸出數據隊列中的所述數據包,所述分類和排隊模塊包括被配置來分析所述數據包的屬性、確定與所述數據包相關的應用并輸出關于所述應用的信息的包檢查模塊;調度器參數計算模塊,其被配置來計算并輸出指示所述數據隊列的相對優先級的調度器參數,所述調度器參數包括基于來自所述包檢查模塊的所述應用信息的因子;和調度器模塊,其被配置來以考慮到來自所述調度器參數計算模塊的所述調度器參數的順序從所述數據隊列選擇數據包并將所述選定的數據包插入輸出隊列來通過物理通信層傳輸。
[0013]在實施方案中,提供一種用于操作通信設備以調度數據包的傳輸的方法。所述方法包括接收來自通信網絡的數據包;監控接收的數據包中含有的一個或多個連接以檢測所述連接的特征;將所述數據包中的每一個插入多個數據隊列中的一個;確定所述數據隊列的調度器參數,所述調度器參數包括基于與所述對應的數據隊列中的所述數據包相關的所述檢測的特征的因子;考慮到所述調度器參數,將所述數據包從所述數據隊列調度以進行傳輸;和基于所述調度來傳輸所述數據包。
[0014]在實施方案中,提供一種通信設備。所述通信設備包括被配置來接收數據包、分析所述接收的數據包,并考慮到調度器參數調度所述接收的數據包以從所述通信設備傳輸的參數化調度模塊,所述參數化調度模塊包括包檢查模塊,所述包檢查模塊包括:被配置來確定應進一步檢查所述接收的數據包中的哪一個的流量監控模塊;被配置來檢測關于用于傳輸所述數據包的連接的信息的連接檢測模塊;被配置來檢測關于與所述數據包相關的流、會話和應用的信息的流和會話檢測模塊;和被配置來存儲所述檢測的信息的狀態模塊。
[0015]本發明的其它特征和優勢將從以舉例的方式示出本發明的方面的以下描述顯而易見。
[0016]附圖簡述
[0017]本發明的結構和操作上的細節可部分通過研究附圖來收集,在附圖中相同的元件符號表不相同的部件,且其中:
[0018]圖1是根據實施方案可實施本文公開的系統和方法的無線通信網絡的框圖;
[0019]圖2是根據實施方案可實施本文公開的系統和方法的另一無線通信網絡的框圖;
[0020]圖3是根據實施方案的站的功能框圖;
[0021]圖4是根據實施方案不出協議層的圖表;
[0022]圖5是根據實施方案示出可用以實施調度技術的參數化調度模塊的框圖;
[0023]圖6是根據實施方案示出排隊系統中異構輸入流量和個別隊列之間的關系的框圖;
[0024]圖7是根據實施方案使用參數化調度技術來使將通過網絡介質傳輸的數據包排隊的方法的流程圖;
[0025]圖8是根據實施方案示出無線通信系統的框圖;
[0026]圖9是根據實施方案示出用于增強型分類/排隊模塊中的增強型包檢查模塊的框圖;
[0027]圖10是根據實施方案示出用于增強型分類/排隊模塊中的增強型包檢查模塊的框圖;
[0028]圖11是示出可用于本文公開的各種技術中的應用類別和具體應用之間的映射的實例的表;
[0029]圖12是根據實施方案示出封裝在TCP/IP幀內的RTSP包的實例的圖表;
[0030]圖13是根據實施方案的包檢查模塊的功能框圖;
[0031]圖14是根據實施方案示出包括RTP標頭和RTP有效載荷的RTP包的實例的圖表,所述RTP有效載荷含有H.264視頻數據;
[0032]圖15是根據實施方案示出具有填充的八位字節的RTP包的實例的圖表;
[0033]圖16是根據實施方案示出每應用類別每具體應用基礎上的示例性應用因子分配的表;
[0034]圖17是根據實施方案示出增強型權重因子計算的表;
[0035]圖18是示出可用于本文公開的增強型權重因子或信用計算中的系數的管理的時序圖;
[0036]圖19是根據實施方案的計算系數的方法的流程圖;
[0037]圖20是根據實施方案示出由具有增強型數據包分類和排隊的參數化調度系統進行的流量整形的圖表;
[0038]圖21是根據實施方案的包檢查模塊的功能框圖;
[0039]圖22是根據實施方案用于檢測連接初始化的過程的流程圖;
[0040]圖23是根據實施方案用于監控連接的過程的流程圖;和
[0041]圖24是不出不例性視頻下載的比特率與時間的關系的圖表。
【具體實施方式】
[0042]提供用于提供并入終端用戶應用認知的參數化調度系統的系統和方法。本文公開的系統和方法可與含有來自異構應用的數據流的調度組一起使用。一些實施方案使用數據包檢查以供終端用戶應用對數據流量進行分類。可基于應用類別、具體應用、個別數據流或其一些組合來創建調度組內的個別數據隊列。實施方案使用應用信息結合應用因子(AF)來修改調度器參數,從而區別處理分配到調度組的數據流。在實施方案中,提供一種用于通過使用動態AF設置來調整不同用戶應用的相對重要性以響應于循環的網絡模式、一次性事件或兩者來最大化用戶QoE的方法。在實施方案中,提供一種用于通過動態管理調度參數來最大化視頻應用的用戶QoE的方法。所述方法將“持續時間忽視”和“近因效應”的概念并入終端用戶對視頻質量(即,視頻QoE)的感知,以便在擁塞期間優化管理視頻流量。
[0043]本文公開的系統和方法可應用于各種容量有限的通信系統,包括但不限于有線技術和無線技術。例如,本文公開的系統和方法可用于蜂窩2G、3G、4G(包括長期演進(“LTE”),LTE高級,WiMax), WiF1、超移動寬帶(“UMB”)、電纜調制解調器和其它有線技術或無線技術。雖然本文用以描述具體實施方案的用語和術語可應用于特定技術或標準,但是本文描述系統和方法并不限于這些具體標準。
[0044]某本部署
[0045]圖1是根據實施方案可實施本文公開的系統和方法的無線通信網絡的框圖。圖1示出包括宏蜂窩、微微蜂窩和企業毫微微蜂窩的通信系統的典型基本部署。在典型部署中,宏蜂窩可在一個或許多個頻道上傳輸并接收,所述頻道與小型(SFF)基站(包括微微蜂窩和企業或住宅毫微微蜂窩)使用的一個或許多個頻道分開。在其它實施方案中,宏蜂窩基站和SFF基站可共享相同的頻道。地理因素和信道可用性的各種組合可產生各種可影響通信系統的吞吐量的干擾情形。
[0046]圖1示出典型的微微蜂窩和企業毫微微蜂窩在通信網絡100中的部署的實例。宏基站110通過回程連接170連接到核心網絡102。在實施方案中,回程連接170是雙向鏈路,或兩個單向鏈路。從網絡102到宏基站110的方向被稱為下游方向或下行方向。從宏基站110到核心網絡102的方向被稱為上游方向或上行方向。訂戶站150 (I)和150 (4)可通過宏基站110連接到核心網絡102。在實施方案中,訂戶站150和宏基站110之間的無線鏈路190是雙向點對多點鏈路。從宏基站110到訂戶站150的無線鏈路190的方向被稱為下行方向或下游方向。從訂戶站150到宏基站110的無線鏈路190的方向被稱為上行方向或上游方向。訂戶站有時被稱為用戶設備(UE)、用戶、用戶設備、手持機或終端機。在圖I示出的網絡配置中,辦公樓120 (I)造成覆蓋陰影104。經由回程連接170連接到核心網絡102的微微站130可在覆蓋陰影104中提供對訂戶站150 (2)和150 (5)的覆蓋。訂戶站150 (2)和150 (5)可通過與訂戶站150 (I)和150 (4)與宏基站110之間的無線鏈路190相同或類似的鏈路連接到微微站130。
[0047]在辦公樓120 (2),企業毫微微蜂窩140向訂戶站150 (3)和150 (6)提供室內覆蓋。企業毫微微蜂窩140可通過利用企業網關103提供的寬帶連接160經由ISP網絡101連接到核心網絡102。
[0048]圖2是根據實施方案實施本文公開的系統和方法的另一無線通信網絡的框圖。圖2示出通信網絡200中的典型基本部署,包括部署在住宅環境中的宏蜂窩和住宅毫微微蜂窩。宏蜂窩基站110通過回程連接170連接到核心網絡102。訂戶站150 (I)和150 (4)可通過宏基站110連接到網絡。在住宅220內,住宅毫微微蜂窩240可向訂戶站150 (7)和150 (8)提供家中覆蓋。住宅毫微微蜂窩240可通過利用纜線調制解調器或DSL調制解調器203提供的寬帶連接260經由ISP網絡101連接到核心網絡102。訂戶站150 (7)和150 (8)可通過與訂戶站150 (I)和150 (4)與宏基站110之間的無線鏈路190類似的鏈路連接到住宅毫微微蜂窩260。
[0049]有線形式和無線形式的數據網絡(例如,IP)均對特定連接或用戶具有最小儲備容量,且因此需求可能超出容量。這種擁塞效應可能發生在有線網絡和無線網絡上。
[0050]在擁塞期間,網絡設備必須確定允許哪些包在網絡上行進,S卩,哪些流量被轉發、延遲或丟棄。在簡單的例子中,數據包被添加到固定長度的隊列,且在容量允許時被發送到網絡。在網絡擁塞期間,固定長度的隊列可填充容量。當隊列已充滿時到達的數據包通常被丟棄,直到隊列被排出足夠的數據以允許排隊更多數據包。所述先進先出(FIFO)方法具有公平對待所有數據包的缺點,而不管用戶、應用或緊急性。這是不期望的響應,因為它忽略了每個數據流可能基于產生流量的應用(例如,語音、視頻、電子郵件、互聯網瀏覽等)而具有獨特的數據包傳送要求。由于包延遲和/或丟棄,所以不同的應用以不同方式降級且降級了不同的嚴重程度。因此,FIFO方法被認為不能管理流量以最大化通常被稱為體驗質量(QoE)的終端用戶的體驗。
[0051]作為響應,已開發出技術來分類數據包并處理具有不同的重要性級的數據流且/或管理區別的服務等級。數據流可以是來自單個用戶應用的相關數據包的流,例如,YouTube視頻的視頻包或視頻Skype會話的視頻包部分。
[0052]圖3是站277的功能框圖。在一些實施方案中,站277是無線或有線訪問節點,例如,基站、LTE eNB (演進節點B,其也常被稱為eNodeB)、UE、終端設備、網絡交換機、網絡路由器、網關、訂戶站或其它網絡節點(例如,圖1和圖2中示出的宏基站110、微微站130、企業毫微微蜂窩140、企業網關103、住宅毫微微蜂窩240、電纜調制解調器或DSL調制解調器203,或訂戶站150)。站277包括通信地耦合到傳輸接收模塊(收發機)279和存儲模塊283的處理器模塊281。傳輸接收模塊279被配置來傳輸并接收與其它設備的通信。在一個實施方案中,以無線的方式傳輸和接收所述通信。在這樣的實施方案中,站277通常包括用于傳輸和接收無線電信號的一個或多個天線。在另一實施方案中,通過線纜傳輸和接收所述通信。在許多實施方案中,除了傳輸接收模塊279之外,站277還經由另一通信信道來傳輸并接收通信。例如,通過基站中的傳輸接收模塊279接收的通信可在處理之后在回程連接上傳輸。類似地,從回程連接接收的通信可通過傳輸接收模塊279傳輸。
[0053]處理器模塊281被配置來處理由站277接收并傳輸的通信。存儲模塊283被配置來存儲數據供處理器模塊281使用。在一些實施方案中,存儲模塊283也被配置來存儲用于實現本文關于站277描述的功能的計算機可讀指令。在一個實施方案中,存儲模塊283包括非臨時性機器可讀介質。為了解釋的目的,站277或例如基站、訂戶站和毫微微蜂窩的它的實施方案被描述為具有某些功能。應理解,在一些實施方案中,這個功能由處理器模塊281結合存儲模塊283和傳輸接收模塊279來實現。
[0054]圖4示出了可用于描述通過網絡的數據流的示例性協議層1400。網絡使用協議層來從一層提供的功能抽象出另一層的功能。這可允許可更便攜地將應用用于不同的網絡。應用程序1410是軟件或實施方案如視頻Skype的具體應用的其它過程。在例如圖1和2中描述的網絡中,數據包流的初始化和隨后的終止可由特定網絡應用或服務觸發。關于終端用戶應用或服務的使用的數據包流可被稱為會話。會話的實例包括使用來自膝上型計算機的Skype應用的互聯網語音協議(VoIP)呼叫,使用在基于Android的移動電話上運行的YouTube應用的流媒體視頻回放,或使用在啟用IP多媒體子系統(IMS)的長期演進(LTE)移動網絡上運行的蘋果的iChat應用的雙向(2-way)視頻通話。會話層1420是存在視頻Skype呼叫的實際例子或會話的層。
[0055]網絡中許多不同的節點(例如,應用服務器、代理服務器、例如網絡交換機或路由器的傳輸設備、存儲設備、例如智能電話、平板計算機,或膝上型計算機的終端用戶設備)可發起或參與會話。節點可同時主持一個或多個會話。所述同時會話可彼此獨立(例如,同時使用Facebook和電子郵件的用戶)或彼此相關(例如,產生兩個視頻串流會話的瀏覽會話)。會話可在兩個節點之間建立。或者,會話可被視為例如通過使用組播和廣播協議的一個節點與許多節點之間的關系。
[0056]會話可用各種準則來表征或分類。一個準則是由用戶發起并負責啟動會話的具體應用(例如,應用程序或軟件1410)。具體應用的實例包括YouTube應用(app)、Chrome互聯網瀏覽器和Skype語音通話程序。另一準則是描述特定會話提供的整體功能的應用類別。示例性應用類別包括流式視頻、語音呼叫、互聯網瀏覽、電子郵件和游戲。
[0057]流層1430是存在組成會話的個別數據流的層。會話可包括使用相同或可能不同的下層連接的一個或多個獨立數據流。例如,單個VoIP電話呼叫會話可包括兩個數據流。一個數據流可使用UDP連接來提供雙向語音流量(其可為有效載荷或數據平面包)。例如當使用會話初始化協議(SIP)時,第二數據流可使用一個或多個TCP連接來處理呼叫建立/拆除(其可為信令或控制平面包)。在另一實例中,對于視頻Skype通話,可能存在載送SIP信令、開始、停止或控制會話的一個流;使用實時傳輸(RTP)協議來載送語音包的第二流;和使用RTP協議來載送視頻包的第三流。
[0058]連接層1440是通過邏輯鏈路層1450提供的某個邏輯鏈路傳輸流層1430數據的層。連接層1440協議不是特定于應用也不是特定于物理介質。連接可指的是用以傳輸會話數據和消息的下層協議且可以指的是用以建立(發起)或刪除(終止)連接的數據包、消息和交易組。例如,可經由使用IP地址和端口號的組合的互聯網協議(IP)網絡的兩個節點之間的傳輸控制協議(TCP)來建立面向連接的套接字。一旦被建立,該TCP連接可用以傳輸數據包,例如,超文本傳輸協議(HTTP)串流視頻會話的數據包。作為TCP連接的替代,可建立數據報套接字來使用用戶數據報協議(UDP )傳輸流量。
[0059]在視頻Skype實例中,在連接層1440,SIP信令流1432是通過由源IP地址和目的地IP地址和TCP端口識別的TCP/IP連接來傳輸的,而語音流1434和視頻流1436各自是通過由源IP地址和目的地IP地址和m)P套接字識別的UDP/IP連接來傳輸的。雖然udp協議被認為是無連接的,但是也使用術語“連接”來描述確保流的數據包從數據源傳輸到數據宿的UDP機制是很方便的。
[0060]邏輯鏈路層1450是存在從上述層抽象出實際物理介質和其傳輸機制的邏輯鏈路的層。例如,在LTE系統中,視頻Skype會話的多個連接(每個連接均載送流)被載送在LTE數據無線電載體(DRB)(例如,通過圖1的無線鏈路190)內。在數據遍歷圖1的回程鏈路170期間,DRB可以是從數據包網關到eNodeB的隧道的延續。
[0061]件能要求
[0062]一種在不同數據流之間分配重要性并優化資源分配的方法是通過使用期望的性能要求。例如,性能要求可包括期望的數據包吞吐量,和容忍延遲和抖動。可基于數據或支持應用的類型來分配這樣的性能要求。例如,互聯網語音協議(VoIP)電話呼叫可被分配有適于通過IP網絡基于數據包的傳輸語音的以下性能要求:吞吐量=32千比特每秒(kbps)、最大延遲=100毫秒(ms),且最大抖動=10ms。相反,載送視頻的數據流可能需要實質上更大的吞吐量,但可允許以下稍寬松的延遲和抖動性能:吞吐量=2兆每秒(Mbps)、最大延遲=300ms、最大抖動=60ms。
[0063]位于網絡節點處的調度算法可使用這些性能要求來進行數據包轉發決定以試圖最好地滿足每個流的要求。流的性能要求的總和通常被描述為服務的質量或QoS、流的要求。
_4] 優先級
[0065]另一種分配重要性的方法是通過在不同數據流之間使用相對優先級。例如,例如IEEE 802.1p和IETF RFC 2474 Diffserv的標準定義了 IP幀標頭內載送所述優先級信息的比特。該信息可被網絡節點的調度算法用以進行轉發決定,與IEEE 802.1le無線標準的情況相同。數據包或數據流的附加特征也可映射到優先級值,并傳遞到調度算法。例如,標準802.16e允許將例如IP源/目的地址或TCP/UDP端口號的特征映射到相對流優先級,同時也考慮到例如吞吐量、延遲和抖動的性能要求。
[0066]調度鉬
[0067]在一些系統中,數據流可被分配到由調度方法、成員數據流、調度要求或或其一些組合的一個或多個共同特征定義的離散數量的調度組。
[0068]例如,調度組可由將在成員數據流上使用的調度算法定義(例如,調度組#1可使用比例公平算法(proportional fair algorithm),而調度組#2使用加權循環算法(weighted round-robin algorithm))。
[0069]或者,調度組可于對類似應用(例如,語音、視頻或后臺數據)的數據流進行分組。例如,Cisco定義了六個組來區別語音、視頻、傳信、后臺和其它數據流。所述應用的區別可與應用到每個調度組的唯一調度算法組合。
[0070]在另一實例中,第三代合作伙伴計劃(3GPP)已建立了稱為QoS類識別符(QCI)的構造以供長期演進(LTE)標準使用。QCI系統具有由性能要求、調度器優先級和用戶應用的組合定義的9個調度組。例如,QCI index=l引用的調度組由以下特征定義:
[0071](I)性能要求:延遲=IOOms、丟包率=10_2、保證比特率
[0072](2)優先級:2
[0073](3)應用:交談語音
[0074]術語‘服務類別’(或CoS)有時用作調度組的同義詞。
[0075]基于權重的調度系統
[0076]在上文描述的系統中,一個或多個數據流可被分配有重要性和期望的性能等級。該信息可用以將數據包從每個數據流分配到調度組和數據隊列。調度算法也可使用該信息來確定在有線系統和無線系統中優先處理哪些隊列(且因此哪些數據流和數據包)。
[0077]在一些調度算法中,通過使用調度權重將每個隊列的重要性和期望的服務等級傳達到調度。例如,加權循環(WRR)和加權公平排隊(WFQ)調度方法都使用權重來在數據隊列之間調整服務。在一些調度算法中,通過使用信用和借記將每個隊列的重要性和期望的服務等級傳達到調度。例如,按比例公平調度(PFS)方法可使用信用和借記來在數據隊列之間調整服務。一些算法使用權重并將它們轉為將在調度輪期間提供的數據包或字節數量形式的信用。
[0078]在WRR中,在每個調度輪中服務所有非空隊列,其中每個隊列提供的數據包的數量與隊列的權重成正比。權重可衍生自各種輸入,例如購買服務的相對等級(例如,金、銀或銅服務)、最小保證比特率(GBR)或最大允許的比特率。在一個實例中,三個隊列可具有待處理的數據。隊列1、2和3的隊列權重分別是1、3和6。如果在每一輪期間將提供20個數據包,那么隊列1、2和3將分別被給予20個數據包預算的10%、30%和60%或2、6和12個數據包的信用。本領域技術人員應認識到,也可應用其它權重且權重、信用和率的概念可互換。
[0079]WFQ算法類似于WRR,因為建立并提供了加權數據隊列以試圖在數據流上提供公平的等級。與WRR相反,WFQ通過查看提供的字節數量而不是數據包的數量來提供隊列。WFQ在數據包可被分為若干片或段的系統中運作良好,例如在WiMAX系統中。在三個隊列具有待處理的數據且隊列1、2和3的隊列權重分別是1、3和6的實例中,權重將轉為在所述調度輪期間可用帶寬的10%、30%和60%的信用。
[0080]PFS算法通常使用例如GBR或最大允許率的率的函數以直接計算每個隊列每調度輪接收的信用。例如,如果服務被允許有每秒768千字節的速率,且每秒100調度輪,那么服務的隊列將接收信用為每調度器輪7680字節。調度輪期間實際分配到隊列的量從隊列的積累信用借記而來。信用可一輪一輪地被調整或積累以試圖平衡多個隊列的性能要求。例如,被分配的資源小于它的最小GBR規格的第一隊列可能具有有效地使其權重相對于被分配的容量實質上高于其GBR的第二隊列增加的積累信用(通常高達某一允許的上限),從而有效地使第二隊列積累負信用或借記。
[0081]圖5是根據實施方案示出用以實施上述各種參數化調度技術和下文描述的增強型參數化調度技術的參數化調度模塊300的框圖。圖5示出的參數化調度系統可實施以使用一個或多個調度組。在一個實施方案中,關于圖5的特征描述的功能由圖3的處理器模塊281來實施。
[0082]輸入流量305可包括一組異構的個別數據流,每個個別數據流都具有獨特的用戶、會話、邏輯連接、性能要求、優先級或進入調度系統的策略。分類和排隊模塊310被配置來評估每個數據包的相對重要性和分配的性能要求并將數據包分配到調度組和數據隊列。根據實施方案,分類和排隊模塊310被配置來使用例如802.1p或Diffserv的上述方法中的一個來評估每個數據包的相對重要性和分配的性能要求。
[0083]根據實施方案,實施參數化調度系統300以使用一個或多個調度組,且每個調度組可具有與所述調度組相關的一個或多個數據隊列。根據實施方案,每個調度組可包括不同數量的隊列,且每個調度組可使用不同的方法來將數據包分組為隊列或其組合。下文提供對輸入流量、調度組和數據隊列之間的映射的詳細描述。
[0084]根據實施方案,分類和排隊模塊310輸出一個或多個數據隊列315和分類信息330,分類信息330被接收為調度器參數計算模塊335的輸入。短語“輸出一個或多個數據隊列”旨在包括填充數據隊列而不需要實際傳輸或傳遞隊列。根據實施方案,分類信息330可包括分類結果、數據包大小、數據包數量和/或當前隊列利用率信息。調度器參數計算模塊335被配置來在每個隊列基礎上計算新的調度器參數(例如,權重和/或每調度器輪信用)。調度器參數計算模塊335可被配置來基于各種輸入來計算新的參數,所述輸入包括分類信息330、可選運營商策略和服務等級協議(SLA)信息350和可選調度反饋信息345 (例如,從調度器模塊320接收到的流歷史或資源利用率)。然后,調度器參數計算模塊335可將調度器參數340輸出到一個或多個調度器模塊320。
[0085]調度器模塊320接收由分類和排隊模塊310輸出的調度器參數340和數據隊列315 (或訪問所述數據隊列)。可用各種方式來實施本文描述的數據隊列。例如,它們可能含有實際數據(例如,數據包)或者只是數據(數據包)的指針或識別符。調度器模塊320使用更新的調度器參數340來例如使用上述方法(例如PFS、WRR或WFQ)中的一個以確定將數據包(或數據包的片段)從數據隊列315轉發到輸出隊列325的順序。在實施方案中,輸出隊列325實施為指向數據隊列315的指針。輸出隊列325中的流量被出隊且饋送到物理通信層(或‘PHY’),以在無線介質或有線介質上傳輸。
[0086]圖6是示出基于權重的排隊系統中異構輸入流量與個別隊列之間的關系的框圖。圖6更詳細地示出了圖5示出的分類和排隊模塊310的操作。
[0087]異構輸入流量305被輸入包檢查模塊410,包檢查模塊410表征每個數據包以如上所述評估性能要求和優先級。基于所述信息,每個數據包被分配有三個調度組420、425和430中的一個。雖然圖6示出的實施方案只包括三個調度組,但是其它實施方案可包括更多或更少數量的調度組。然后,所述數據包可被分配到與調度組中一個相關的數據隊列(491、492、493、494或495)。數據包可基于性能要求、優先級、附加用戶特定策略/SLA設置、獨特的邏輯連接或其一些組合被分配到與調度組相關的具體數據隊列。在一個實施方案中,分類和排隊模塊310分析沿例如從客戶端向服務器和從服務器向客戶端的兩個方向流動的數據包,且使用來自沿一個方向流動的數據包的信息以分類沿另一方向流動的數據包。然后,包檢查模塊410除了異構輸入流量305以外還可接收來自第二方向的輸入流量,或者可接收來自表征沿第二方向傳遞的數據包的另一檢查模塊的信息。
[0088]在一個實例中,LTE eNB被配置來將每個QCI分配到個別調度組(例如,具有QCI=9的數據包可被分配到一個調度組而具有QCI=S的數據包被分配到不同的調度組)。另外,可基于用戶ID、載體ID、SLA或其一些組合將具有QCI=9的數據包分配到個別隊列。例如,每個LTE UE可具有默認載體和一個或多個專用載體。在QCI=9的調度組中,來自默認載體的數據包可被分配到一個隊列,而來自專用載體的數據包可被分配到不同的隊列。
[0089]圖7是根據實施方案使用參數化調度技術來排隊將通過網絡介質發送的數據包的方法的流程圖。可使用圖5、6、9和10中示出的系統來實施圖7示出的方法。根據實施方案,圖7示出的方法是根據實施方案使用上文所述的各種參數化調度技術和下文所述的增強型參數化調度技術來實施的。
[0090]方法始于接收將被調度以通過網絡介質發送的輸入流量(步驟1205)。根據實施方案,網絡介質可為有線介質或無線介質。根據實施方案,輸入流量是上文描述的輸入流量305。輸入流量可包括一組異構的個別數據流,每個個別數據流都與用戶、會話、邏輯鏈路、連接、性能要求、優先級或策略相關。根據實施方案,分類和排隊模塊310可執行步驟1205。根據實施方案,包檢查模塊410可執行該評估步驟。
[0091]然后,可將輸入流量分類(步驟1210)。根據實施方案,分類和排隊模塊310可執行步驟1210。在該分類步驟中,輸入流量被評估以確定每個數據包的相對重要性并確定每個數據包是否都分配了性能要求。例如,在LTE網絡中,數據包網關可將數據包分配到具體的邏輯鏈路或載體。這是通過將相同的隧道ID分配到相同的邏輯鏈路(邏輯信道)的數據包來指示的。當建立邏輯載體時,隧道ID被映射到LTE調度組(B卩,QCI)。這又暗示了與調度組相關的某些性能要求。隧道ID可被檢測且用以確定性能要求和調度組并將數據包分配到隊列。類似地,在WiMAX中,服務流ID可用于類似目的。根據實施方案,包檢查模塊410可執行所述評估步驟。所述信息然后可被分類和排隊模塊310用以確定數據包應添加哪些調度組。
[0092]輸入流量然后可被分離成多個調度組(步驟1215)。分類和排隊模塊310可使用來自分類步驟的信息來確定應將每個數據包添加到的調度組。根據實施方案,分類和排隊模塊310的包檢查模塊410可執行該步驟。根據實施方案,使用例如802.1p或Diffserv的上述方法中的一個來評估每個數據包的相對重要性和分配的性能要求。
[0093]然后,可將包括輸入流量的數據包插入與調度組相關的一個或多個數據隊列(步驟1220)。根據實施方案,分類和排隊模塊310的包檢查模塊410可執行所述步驟。
[0094]然后可計算數據隊列中的每一個的調度器參數(步驟1225)。根據實施方案,由調度器參數計算模塊335來實施該步驟。基于在步驟1210中創建的分類信息來計算數據隊列中的每一個的調度器參數。分類信息330可包括分類結果、連接識別符(例如,源IP地址和目的地IP地址、TCP端口、UDP套接字)、邏輯鏈路識別符(例如,LTE中的隧道ID或載體ID、WiMAX中的服務流ID或連接ID)、數據包大小、數據包數量和/或當前隊列利用率信息。調度器參數的計算也可考慮到其它輸入,所述輸入包括可選運營商策略和服務等級協議(SLA)信息和可選調度反饋信息。
[0095]一旦已經將數據包添加到隊列,數據包可基于與所述隊列相關的調度器參數(例如,權重和信用)選自隊列中的每一個,且被插入輸出隊列(步驟1230)。輸出隊列中的數據包然后可被出隊且饋送到物理通信層(或‘PHY’),以在無線介質或有線介質上傳輸(步驟1235)。根據實施方案,調度器模塊320可實施所述方法的步驟1230和1235。
[0096]一些系統中的缺點
[0097]在WRR、WFQ、PFS或其它基于權重或信用的算法中,一些系統將數據包分配到隊列并基于優先級、性能要求、調度組或其一些組合來計算調度器參數。在這些方法中有許多缺點。
[0098]例如,考慮到性能要求的調度器的配置通常很復雜,從而要求網絡運營商具有相當的知識和技巧,且調度器可能無法充分地實施以將數據流與不同的應用區分。這導致在單個隊列或調度組中高重要性數據流和低重要性數據流的不當分組。例如,考慮IEEE802.16網絡。如參看圖4描述地區別個別流有時是不可能或不實際的,在所述情況下可使用下層信息。例如,可僅使用網絡的網關IP地址(即,IP “源地址”)來識別上行鏈路(UL)數據流(或服務流)。在所述情況下,WiMAX UL調度器策略及參數同等處理路由器“后方”的所有數據流(而不考慮應用或性能要求)。
[0099]基于優先級的權重或信用計算系統有許多潛在的缺點。用以分配優先級的系統可能并未意識到用戶應用,且在一些情況下無法正確區分正傳輸到特定用戶或傳自具體用戶傳輸的多個數據流。優先級分配是靜態的,且無法被調整以考慮變化的網絡條件。優先級信息可能會歸因于網絡設備的錯誤配置而丟失,或者甚至歸因于網絡運營商策略而被剝離。可用優先級的數量可能是有限的,例如IEEE 802.1p標準只允許8個等級。另外,當數據包通過通信系統傳輸時,可能會歸因于從一個標準到另一標準的轉譯差異而產生不匹配。
[0100]圖8是根據實施方案示出無線通信系統的框圖。在圖8示出的系統中,數據源510(例如VoIP電話,流媒體視頻服務器、流媒體音樂服務器、文件服務器或P2P應用的其它設備)經由通信鏈路515連接到互聯網520。在互聯網520內,存在一個或多個被配置為將流量導向適當數據包目的地的網絡路由器525。在該實例中,互聯網流量被沿著鏈路530載送到移動網絡535。流量通過網關540傳遞到鏈路545上并進入無線電訪問網絡(RAN) 550。RAN 550的輸出通常為鏈接到用戶終端560 (例如,手機)的無線、射頻連接555。
[0101]圖8示出的實例中可存在兩個不同優先級系統之間的差異。例如,VoIP電話通常被配置來使用IEEE 802.1p或IETF RFC 2474(“difTserv”)數據包標記優先化系統來用升高的優先級標記數據包,所述優先級指示某一期望處理的等級。例如,在RFC 2474中,此類優先級落入三種類別中的一個:默認類、確保類和快速類。在后兩種類別中,存在關于期望的相關性能要求的子類別。是VoIP電話的數據源510產生的數據包因此將在具有所述優先級標記的通信鏈路515和530上行進。當數據包到達移動網絡網關540時,這些優先級需要被轉入在移動網絡內建立的優先化系統。例如,在LTE網絡中,可執行到QCI的映射。該轉譯可能會產生問題。例如,可能完全忽略diffserv信息。或者diffserv信息可用以分配不適于進行語音服務的QCI等級。另外,diffserv信息可用以分配細粒度比diffserv等級小的QCI等級,因此向VoIP數據包分配與來自許多其它應用的數據包相同的QCI等級。
[0102]一些系統已致力于組合優先權及性能要求的概念,以便向調度系統提供附加信息。。例如,在802.16中,流(或“服務”)的重要性由優先級值(基于數據包標記,例如802.1p)和性能要求的組合定義。雖然例如802.16的組合系統可向調度器提供一組更豐富的信息,但是上文所描述的缺點仍存在。
[0103]單獨使用調度組或結合上述技術使用調度組具有許多關于終端用戶QoE的缺點。例如,調度組的可用數量在一些系統中受限制,這可防止必要的細粒度控制來將最佳的QoE傳遞到每個用戶。另外,一些系統通常使用“盡力”調度組來描述具有最低重要性的那些隊列。數據流可落入這樣的組,因為它們確實不重要,但也因為當需要較高的重要性時,未通過上述方法將所述流正確分類(有意地或無意地)。
[0104]所述問題的實例是出現‘過多’語音和視頻服務或應用。所述服務提供使用網絡運營商的可見性和/或控制外的服務器和服務的容量。例如運營商提供的語音或視頻的來自運營商擁有或認可的來源的數據流可被區別到不同的服務流、載體(邏輯鏈路),或在到達例如基站的無線訪問節點之前的連接。所述區別常映射到調度組和隊列中的區別。然而,來自其它來源的服務和所得數據流都可被捆綁在一起到默認、常盡力的邏輯鏈路或載體。例如,Skype和Netflix分別是兩個支持語音和視頻的基于互聯網的服務或應用。來自所述應用的數據流可由無線運營商(例如Verizon或AT&T)提供的數據服務載送,對于所述無線運營商,所述數據流可顯示為非優先化數據而不是被識別為語音或視頻。因此,當通過無線網絡傳輸時,所述應用產生的數據包可在‘盡力’的基礎上處理,而不給它們超過例如網頁瀏覽、電子郵件或社交網絡更新的典型盡力服務的優先級。
[0105]一些系統實施對調度權重或信用的動態調整。例如,為了達到例如保證比特率(GBR)或最大延遲的性能要求,調度權重可向上調整,或者當特定數據流的實際、調度吞吐量降至接近保證最低限度時,可積累它的調度信用。然而,權重或信用的所述調整未考慮到QoE對終端用戶的影響。在之前的實例中,增加權重或積累信用來達到GBR限制可導致QoE沒有明顯改良,但大量降低具有低權重每調度輪信用或積累信用(或借記)的競爭隊列的 QoE。
[0106]因此,需要一種系統和方法來改良區別對待來自分組到相同調度組的異構應用的數據包流,如對于“盡力”調度組常見的情況。另外,需要將提供到參數化調度的信息擴展超過優先級和性能要求以通過網絡最大化用戶QoE。
[0107]增強型分類技術
[0108]如上所述,通信系統可使用分類和排隊方法來基于性能要求、優先級和邏輯連接區別數據流。
[0109]為了在一些系統中解決上述缺點,可增強圖5的分類和排隊模塊310以提供增強型分類和排隊模塊310'(圖9和圖10)。根據實施方案,在圖5示出的參數化調度系統300(其可包括增強型分類和排隊模塊310')中示出的功能可在單個無線網絡節點或有線網絡節點中實施,所述單個無線或有線網絡節點例如基站、LTE eNB、UE、終端設備、網絡交換機、網絡路由器、網關或其它網絡節點(例如,圖1和圖2中示出的宏基站110、微微站130、企業毫微微蜂窩140、企業網關103、住宅毫微微蜂窩240和電纜調制解調器或DSL調制解調器203)。在其它實施方案中,圖5示出的功能可分布在多個網絡節點上。例如,在LTE網絡中,增強型數據包檢查可在EPC數據包網關或其它核心網關設備中執行,而排隊、調度器參數計算模塊335和調度器模塊320位于eNB基站中。其它功能分區也同樣可能。增強型分類和排隊模塊310'可分析每個數據包的應用類別和/或具體應用并進一步區別由傳統分類和排隊方法組合在一起的數據包流。關于流或會話的應用類別或具體應用的信息可通過分類信息330傳遞到調度器參數計算模塊335。增強型分類可在傳統分類之后執行為如圖10示出的單獨的步驟,或者可并入如圖9示出的傳統分類步驟,從而提供更詳細的分類供在調度組內使用。
[0110]除非特別說明,否則圖9的元件如相對于圖6描述地操作。然而,增強型包檢查模塊410'執行本文描述的增強型數據包檢查技術。如圖9示出,在一些實施方案中,增強型包檢查模塊410'產生附加數據隊列491'、495'和495"。
[0111]除非特別說明,否則圖10的元件如相對于圖6描述地操作。除了包檢查模塊410,還提供增強型包檢查模塊41(V。在一個實施方案中,增強型包檢查模塊41(V在已被分類為不同調度組的數據包上操作。雖然示出為分開的模塊,但是應理解,包檢查模塊410和增強型包檢查模塊410,可實施為單個模塊。如圖示出,在一些實施方案中,增強型包檢查模塊410'產生附加數據隊列491'、495'和495"。
[0112]根據實施方案,可在增強型分類和排隊模塊310'的增強型包檢查模塊410'中實施本文公開的增強型分類步驟。例如,雙向視頻會議、單向視頻流、在線游戲和語音是一些不同應用類別的實例。具體應用指的是用以產生在源和目的地之間行進的數據流的實際軟件。一些實例包括:YouTube、Netflix、Skype和iChat。每個應用類別可具有許多具體應用。圖11提供的表示出了應用類別被映射到具體應用的一些實例。
[0113]根據實施方案,增強型分類和排隊模塊310'可檢查IP源地址和目的地址以確定數據流的應用類別和具體應用。使用IP源地址和目的地址,增強型分類和排隊模塊310'可執行反向域名系統(DNS)查找或互聯網WHOIS查詢以建立域名和/或采購或接收基于互聯網的流量的登記的受讓人。域名和/或登記的受讓人信息然后可用以基于域或受讓人的目的先驗知識來建立數據流的應用類別和具體應用。應用類別和具體應用信息一旦得出就可存儲供重復使用。例如,如果一個以上的用戶設備訪問Netflix,那么增強型分類和排隊模塊310'可被配置來緩存所述信息,使得增強型分類和排隊模塊310'將不需要確定同一用戶設備或另一用戶設備通過網絡對Netflix的后續訪問的應用類別和具體應用。
[0114]例如,如果具有特定IP地址的流量產生包括名稱‘Youtube’的反向DNS查找或WHOIS查詢,那么所述流量流可被認為是使用Youtube服務(具體應用)的單向視頻流(應用類別)。根據實施方案,可維持域名或受讓人和應用類別和具體應用之間的綜合映射。在實施方案中,所述映射被定期更新以保證映射保持最新。
[0115]根據另一實施方案,增強型分類和排隊模塊310'被配置來檢查與各種通信協議相關的數據包的標頭、有效載荷字段或兩者,并將其中含有的值映射到應用類別或具體應用。例如,根據實施方案,增強型分類和排隊模塊310'被配置來檢查含有在HTTP標頭中的Host字段。Host字段通常含有域或受讓人信息,如以上實施方案中所描述,所述域或受讓人信息用以將所述流映射到特定應用類別或具體應用。例如,HTTP標頭字段“vll.1scache4.c.youtube, com”可由分類器檢查并映射到應用類別=視頻流、具體應用=Youtube0
[0116]根據另一實施方案,增強型分類和排隊模塊310'被配置來檢查超文本傳輸協議(HTTP)數據包內的‘內容類型’字段。基于多用途互聯網郵件擴展(MME)格式中指定為由互聯網工程任務組(IETF)定義的定義,內容類型字段包括有關有效載荷的類型的信息。例如,以下MIME格式將指示單播或廣播視頻數據包流:視頻/mp4、視頻/quicktime、視頻/x-ms-wm。在實施方案中,增強型分類和排隊模塊310/被配置來將HTTP包映射到視頻流應用類別(如果增強型分類和排隊模塊310'檢測到HTTP包內的這些MME類型中的任何類型)。
[0117]在另一實施方案中,增強型分類和排隊模塊310'被配置來檢查先于數據流發送的協議。例如,增強型分類和排隊模塊310'可被配置來基于用以設置或建立數據流的協議來識別應用類別或具體應用,而并非使用用以傳輸數據流的協議來識別這個信息。也就是說,增強型分類和排隊模塊310'可通過分析控制數據包流而不是與連接層1440相關的信息來識別應用類別或具體應用。根據實施方案,先于數據流發送的協議用以識別關于應用類別、具體應用和特征的信息,所述應用類型、具體應用及特征允許啟動后立即能夠識別傳輸數據量的連接。
[0118]例如,在實施方案中,增強型分類和排隊模塊310'被配置來檢查可用以建立多媒體流會話的實時流協議(RTSP)包。RTSP包被囊封于TCP/IP幀內且載送于IP網絡上,如圖12中的基于以太網系統示出。
[0119]RTSP (H.Schulzrinne 等人所著的 IETF RFC 2326, Real Time StreamingProtocol (RTSP))建立并控制多媒體流會話,其中客戶端與服務器交換消息。從客戶端發送到服務器的RTSP消息是請求消息。請求消息的第一行是請求線。請求線是由以下3個元素形成:(I)方法;(2) Request-URI ;和(3) RTSP-Version (RTSP-版本)。
[0120]RTSP 定義了包括 OPTIONS、DESCRIBE、ANNOUNCE、SETUP、PLAY、PAUSE、TEARD0WN、GET_PARAMETER、SET_PARAMETER、REDIRECT 和 RECORD 的方法。下文是使用方法 DESCRIBE的客戶端(“C”)與服務器(“S”)之間的消息交換的實例。來自服務器的響應消息具有消息主體,其與具有空白線的響應消息標頭相分離。
[0121]
【權利要求】
1.一種用于在無線通信系統中調度數據包的傳輸的基于權重的調度系統,所述系統包括: 分類和排隊模塊,其被被配置來接收包括來自多個異構數據流的數據的輸入流量,所述分類和排隊模塊被配置來分析每個數據包并基于所述數據包的屬性將所述數據包分配到調度組并基于所述數據包的應用類別或具體應用將所述數據包分配到所述調度組的數據隊列,所述分類和排隊模塊還被配置來輸出一個或多個數據隊列和與所述一個或多個數據隊列中的每一個中的所述數據包相關的分類信息; 權重計算模塊,其被配置來接收來自所述分類和排隊模塊的所述分類信息并計算所述一個或多個數據隊列中的每一個的權重并輸出所述計算的權重;和 調度器模塊,其被配置來以考慮到所述計算的權重的順序從所述一個或多個數據隊列選擇數據包并將所述選定的數據包插入輸出隊列來通過物理通信層傳輸。
2.如權利要求1所述的系統,其中所述權重計算模塊還被配置來接收運營商策略和服務等級協議(SLA)信息并使所述計算的權重至少部分基于所述運營商策略和SLA信息。
3.如權利要求1所述的系統,其中所述權重計算模塊還被配置來接收來自所述權重計算模塊的調度器反饋信息,且其中所述權重計算模塊還被配置來使所述計算的權重至少部分基于所述調度器反饋信息。
4.如權利要求1所述的系統,其中所述分類和排隊模塊被配置來檢查所述數據包的互聯網協議(IP)源地址和目的地址中的至少一個,以便確定與所述數據包相關的應用類別或具體應用。
5.如權利要求4所述的系統,其中所述分類和排隊模塊被配置來查詢網絡域信息源來收集關于所述IP源地址和IP目的地址中的所述至少一個的信息。
6.如權利要求5所述的系統,其中所述分類和排隊模塊被配置來執行反向域名系統(DNS)查找來收集關于所述IP源地址和IP目的地址中的所述至少一個的信息。
7.如權利要求5所述的系統,其中所述分類和排隊模塊被配置來執行WHOIS查詢來收集關于所述IP源地址和IP目的地址中的所述至少一個的信息。
8.如權利要求4所述的系統,其中所述分類和排隊模塊被配置來緩存關于所述IP源地址和IP目的地址中的所述至少一個的所述收集的信息并使用所述緩存的信息來識別與所述IP源地址和IP目的地址中的所述至少一個相關的所述應用類別或所述具體應用。
9.如權利要求8所述的系統,其中所述分類和排隊模塊被配置來維持IP源地址和目的地址映射到應用類別和/或具體應用的相關性。
10.如權利要求9所述的系統,其中所述分類和排隊模塊被配置來檢查數據包的標頭和有效載荷字段中的至少一個來識別與所述數據包相關的IP源地址和目的地址,并將所述IP源地址和目的地址映射到與所述數據包相關的應用類別或具體應用。
11.如權利要求9所述的系統,其中所述分類和排隊模塊被配置來檢查與每個數據包相關的內容類型字段來識別所述數據包的有效載荷的類型,并將有效載荷的所述類型映射到與所述數據包相關的應用類別或具體應用。
12.如權利要求11所述的系統,其中每個數據包根據所述HTTP、MIME,RTP或RTSP標準來配置。
13.如權利要求1所述的系統,其中所述分類和排隊模塊被配置來檢查在數據流前面發送的協議并基于所述協議使應用類別和具體應用與所述數據流相關。
14.如權利要求1所述的系統,其中所述分類信息包括所述一個或多個數據隊列中數據包的所述應用類別或具體應用。
15.如權利要求1所述的系統,其中所述權重計算模塊還被配置來獲得默認運營商策略和服務等級協議(SLA)信息并使所述計算的權重至少部分基于所述運營商策略和SLA信肩、O
16.一種用于在通信網絡中優先化并調度數據包的方法,所述方法包括: 接收多個數據包; 對所述多個數據包進行分類; 考慮到所述分類,將所述多個數據包分離成多個調度組; 考慮到應用類型或具體應用,將所述多個調度組中的至少一個內的所述多個數據包分離成多個隊列; 確定權重以與所述調度組中的至少一個內的所述隊列中的每一個相關聯,所述權重至少部分由與所述數據包相關的應用類型來確定;和 基于與所述隊列相關的所述權重來從所述多個隊列選擇數據包; 基于與所述隊列中的每一個相關的所述權重來將所述選定的數據包插入輸出數據隊列;和 通過物理通信層傳輸所述多個數據包以通過網絡通信介質傳輸。
17.如權利要求16所述的方法,其還包括: 使應用因子與多個用戶應用中的每一個相關,其中每個應用因子包括與網絡應用相關的值,所述網絡應用用以指示所述用戶應用中的每一個的相對重要性,每個用戶應用的所述相對重要性用以確定將與關于所述用戶應用的數據包相關的相對權重。
18.如權利要求17所述的方法,其中可動態調整與所述用戶應用中的至少一個相關的所述應用因子。
19.如權利要求18所述的方法,其中經常性地動態調整與所述用戶應用中的所述至少一個相關的所述應用因子。
20.如權利要求18所述的方法,其中響應于一次性網絡事件來動態調整與所述用戶應用中的所述至少一個相關的所述應用因子。
21.如權利要求17所述的方法,其中確定權重以與所述數據隊列中的每一個相關聯還包括計算至少部分基于與所述數據隊列中包括的所述數據包相關的所述應用因子的所述數據隊列的增強型權重。
22.如權利要求16所述的方法,其中確定權重包括:將與特定數據隊列相關的權重從第一級降低到低于所述第一級的第二級達第一時間段。
23.如權利要求22所述的方法,其中響應于檢測丟棄的數據包而執行降低所述權重。
24.如權利要求22所述的方法,其中響應于當前或預期擁塞程度而執行降低所述權重。
25.如權利要求22所述的方法,其中所述第一時間段是固定的時間量。
26.如權利要求22所述的方法,其中所述第一時間段對應于降低所述權重和當超出幀丟棄率閾值之間的時間量。
27.如權利要求22所述的方法,其還包括: 在所述第一時間段之后,將所述權重從所述第二級提高到高于所述第一級的第三級達第二時間段;和 在所述第二時間段之后,將所述權重從所述第三級降低到所述第一級。
28.一種用于操作通信設備以調度數據包的傳輸的方法,所述方法包括: 接收來自通信網絡的數據包; 對所述數據包進行分類; 基于所述分類將所述數據包分離成調度組,所述調度組中的每一個與至少一個數據隊列相關; 將所述數據包中的每一個插入與所述對應的調度組相關的所述數據隊列中的一個; 確定與所述數據包相關的應用; 確定所述數據隊列的權重,所述權重至少部分基于與所述對應的數據隊列中的所述數據包相關的所述應用; 考慮到所述權重,將所述數據包從所述數據隊列調度到輸出隊列;和 將所述數據包從所述輸出隊列傳輸到所述通信網絡。
29.如權利要求28所述的方法,其中所述應用包括應用類別和具體應用。
30.如權利要求28所述的方法,其中所述數據包中的一些在數據流中,且其中確定與所述數據流中所述數據包的所述接收的數`據包相關的應用包括:分析在所述數據流中所述數據包之前接收的數據包。
31.如權利要求30所述的方法,其中分析在所述數據流中所述數據包之前接收的數據包包括確定選自由以下組成的群的至少一個特征:統一資源識別符、視頻時間范圍、視頻編解碼器類型、視頻幀率和視頻幀大小。
32.如權利要求28所述的方法,其中根據所述實時協議(RTP)對所述數據包中的一些進行格式化,且其中確定與所述接收的數據包相關的應用包括分析所述數據包中指示RTP包的初始字節的樣式。
33.如權利要求32所述的方法,其中確定與具有指示RTP包的初始字節的數據包的所述接收的數據包相關的應用還包括:分析RTP標頭中的字段以確定RTP流的類型。
34.如權利要求33所述的方法,其中RTP流的所述類型包括視頻流,且其中確定與確定為在RTP視頻流中的數據包的所述接收的數據包相關的應用還包括:分析RTP標頭中的字段以確定與所述RTP視頻流相關的視頻編解碼器的特征。
35.如權利要求28所述的方法,其中所述數據包中的一些在數據流中,且其中確定與所述數據流中所述數據包的所述接收的數據包相關的應用包括:收集關于所述數據流中的所述數據包的統計數據。
36.如權利要求28所述的方法,其中所述數據包中的一些在數據流中,且其中確定所述數據隊列的權重包括:動態調整與所述數據流中所述數據包相關的所述數據隊列中的一個的所述權重。
37.如權利要求36所述的方法,其中動態調整與所述數據流中所述數據包相關的所述數據隊列中的一個的所述權重包括:基于所述數據流中接收的所述數據包中的數據量進行調整。
38.如權利要求36所述的方法,其中動態調整與所述數據流中所述數據包相關的所述數據隊列中的一個的所述權重包括:基于作為類似數據流中的總帶寬的百分比的所述數據流的所述帶寬進行調整。
39.如權利要求28所述的方法,其中確定所述數據隊列的權重包括:考慮到選自由以下組成的群的至少一個應用特征來確定所述權重中的至少一個:視頻幀大小、視頻幀率、視頻數據速率、視頻時長和視頻編解碼器類型。
40.如權利要求28所述的方法,其還包括檢測所述通信網絡中的擁塞,且其中確定所述數據隊列的權重包括:響應于擁塞的檢測而動態地降低與高帶寬應用相關的所述權重中的至少一個。
41.如權利要求28所述的方法,其中確定所述數據隊列的權重包括:考慮到與對應于所述權重中的所述至少一個的數據隊列中的一個中的數據包相關的運營商和用戶之間的協議,確定所述權重中的至少一個。
42.如權利要求28所述的方法,其中確定所述數據隊列的權重包括:考慮到是對應于所述權重中的所述至少一個的數據隊列中的一個中的數據包的目的地的客戶端設備的特征,確定所述權重中的至少一個。
43.如權利要求28所述的方法,其中所述數據包中的一些與虛擬網絡運營商相關,且其中確定所述數據隊列的權重包括:考慮到所述對應的數據隊列中的數據包是否與所述虛擬網絡運營商相關,確定所述權重中的至少一個。
44.如權利要求28所述的方法,其中所述數據隊列中的至少一個包括與不同應用相關的數據包,且其中與所述數據隊列中的所述至少一個相關的所述權重基于所述不同應用中的一個。
45.一種用于調度數據包的 傳輸的通信設備,所述通信設備包括: 分類和排隊模塊,其被配置來接收數據包、分析所述數據包的屬性、基于所述屬性將所述數據包分配到調度組、輸出數據隊列中的所述數據包、確定與所述數據包相關的應用,并輸出關于所述應用的信息,其中所述調度組中的每一個與所述數據隊列中的至少一個相關; 權重計算模塊,其被配置來利用來自所述分類和排隊模塊的所述應用信息來計算并輸出指示所述數據隊列的相對優先級的權重;和 調度器模塊,其被配置來以考慮到來自所述權重計算模塊的所述權重的順序從所述數據隊列選擇數據包并將所述選定的數據包插入輸出隊列來通過物理通信層傳輸。
46.如權利要求45所述的通信設備,其中所述分類和排隊模塊包括被配置來分析所述數據包的屬性并確定與所述數據包相關的應用的包檢查模塊。
47.如權利要求46所述的通信設備,其中所述包檢查模塊包括被配置來分析所述數據包以檢測所述數據包是否與用以確定與所述數據包相關的應用的實時協議(RTP)流相關的實時協議(RTP)流檢測模塊。
48.如權利要求48所述的通信設備,其中所述包檢查模塊還包括被配置來分析與RTP流相關的所述數據包以檢測所述數據包是否與用以確定與所述數據包相關的應用的RTP視頻流相關的RTP視頻流檢測模塊。
49.如權利要求48所述的通信設備,其中所述RTP視頻流檢測模塊還被配置來收集關于與RTP流相關的數據包的統計數據,所述RTP流用以確定所述數據包是否與RTP視頻流相關。
50.一種用于操作通信設備以調度數據包的傳輸的方法,所述方法包括: 接收來自通信網絡的數據包; 確定與所述數據包相關的應用; 將所述數據包中的每一個插入多個數據隊列中的一個; 確定所述數據隊列的調度器參數,所述調度器參數包括基于與所述對應的數據隊列中的所述數據包相關的所述應用的因子; 考慮到所述調度器參數,將所述數據包從所述數據隊列調度到輸出隊列;和 將所述數據包從所述輸出隊列傳輸到所述通信網絡。
51.如權利要求50所述的方法,其中所述調度器參數還包括基于所述數據隊列的特征的附加因子。
52.如權利要求51所述的方法,其中基于所述數據隊列的特征的所述附加因子包括基于與所述對應的數據隊列中的所述數據包相關的所述應用的所述因子的乘法因子。
53.如權利要求51所述的方法,其中基于所述數據隊列的特征的所述附加因子包括基于與所述對應的數據隊列中的所述數據包相關的所述應用的所述因子的加法因子。
54.如權利要求51所述的方法,其中所述數據隊列的所述特征包括所述數據隊列的深度。`
55.如權利要求51所述的方法,其中所述數據隊列的所述特征包括所述數據隊列的丟棄率。
56.如權利要求51所述的方法,其中所述數據隊列的所述特征包括所述數據隊列的延遲。
57.如權利要求51所述的方法,其中所述數據隊列的所述特征包括所述數據隊列的出口率。
58.如權利要求50所述的方法,其還包括確定與所述應用中的一個相關的數據包的比特率,且其中所述調度器參數還包括與所述應用中的所述一個相關的數據隊列中的所述一個的出口率,所述出口率相比于與所述應用中的所述一個相關的所述數據包的所述比特率。
59.如權利要求50所述的方法,其中所述調度器參數還包括基于用于傳遞所述數據包的通信鏈路的特征的附加因子。
60.如權利要求59所述的方法,其中用于傳遞所述數據包的所述通信鏈路的所述特征包括信號質量。
61.如權利要求59所述的方法,其中所述應用中的一個包括視頻流,且所述方法還包括傳輸關于所述通信鏈路的所述特征的信息,所述通信鏈路用于將所述數據包傳遞到第二通信設備以供所述第二通信設備用來選擇所述視頻流的片段。
62.如權利要求50所述的方法,其中所述調度器參數還包括基于用于傳遞所述數據包的協議的附加因子。
63.如權利要求50所述的方法,其還包括將關于所述應用的信息傳輸到第二通信設備以用于調度來自所述第二通信設備的數據包的傳輸。
64.如權利要求51所述的方法,其還包括將關于所述附加因子的信息傳輸到第二通信設備以用于調度來自所述第二通信設備的數據包的傳輸。
65.如權利要求51所述的方法,其還包括檢測所述接收的數據包中的流量樣式,且其中所述調度器參數還基于所述檢測的流量樣式。
66.如權利要求65所述的方法,其中確定所述調度器參數以增加從所述輸出隊列傳輸到所述通信網絡的所述數據包之間的空閑時間。
67.一種用于調度數據包的傳輸的通信設備,所述通信設備包括: 分類和排隊模塊,其被配置來接收數據包并輸出數據隊列中的所述數據包,所述分類和排隊模塊包括被配置來分析所述數據包的屬性、確定與所述數據包相關的應用,并輸出關于所述應用的信息的包檢查模塊; 調度器參數計算模塊,其被配置來計算并輸出指示所述數據隊列的相對優先級的調度器參數,所述調度器參數包括基于來自所述包檢查模塊的所述應用信息的因子;和 調度器模塊,其被配置來以考慮到來自所述調度器參數計算模塊的所述調度器參數的順序從所述數據隊列選擇數據包并將所述選定的數據包插入輸出隊列來通過物理通信層傳輸。
68.如權利要求67所述的通信設備,其中所述調度器參數還包括基于所述數據隊列特征的附加因子。
69.如權利要求68所述的通信設備,其中所述數據隊列的所述特征包括所述數據隊列的深度。
70.如權利要求68所述的通信設備,其中所述數據隊列的所述特征包括所述數據隊列的丟棄率。
71.如權利要求68所述的通信設備,其中所述數據隊列的所述特征包括所述數據隊列的延遲。
72.如權利要求68所述的通信設備,其中所述數據隊列的所述特征包括所述數據隊列的出口率。
73.如權利要求67所述的通信設備,其中所述調度器參數還包括基于所述物理通信層的特征的附加因子。
74.如權利要求67所述的通信設備,其中所述調度器參數還包括基于用于傳遞所述數據包的協議的附加因子。
75.一種用于操作通信設備以調度數據包的傳輸的方法,所述方法包括: 接收來自通信網絡的數據包; 監控與所述接收到的數據包相關的一個或多個連接以檢測所述連接的特征; 將所述數據包中的每一個插入多個數據隊列中的一個; 確定所述數據隊列的調度器參數,所述調度器參數包括基于與所述對應的數據隊列中的所述數據包相關的所述檢測的特征的因子; 考慮到所述調度器參數,將所述數據包從所述數據隊列調度以進行傳輸;和 基于所述調度來傳輸所述數據包。
76.如權利要求75所述的方法,其中監控一個或多個連接包括間歇性地分析所述數據包。
77.如權利要求75所述的方法,其中監控一個或多個連接包括分析所述數據包的比特率。
78.如權利要求75所述的方法,其中監控一個或多個連接包括在用于傳遞所述數據包的多個協議級上分析所述數據包。
79.如權利要求78所述的方法,其還包括在所述協議級的第一個上分析所述數據包以過濾出將在所述協議級的第二個上分析所述數據包中的哪一個。
80.如權利要求79所述的方法,其中所述檢測的特征包括應用。
81.如權利要求79所述的方法,其中過濾所述數據包包括基于傳輸的方向來過濾。
82.如權利要求79所述的方法,其中過濾所述數據包包括基于互聯網協議地址來過濾。
83.如權利要求79所述的方法,其中過濾所述數據包包括基于傳輸層端口來過濾。
84.如權利要求79所述的方法,其中過濾所述數據包包括基于與所述數據包相關的用戶來過濾。
85.如權利要求79所述的方法,其中過濾所述數據包包括基于所述數據包的大小來過濾。
86.如權利要求79所述的方法,其中過濾所述數據包包括基于所述數據包的到達時間來過濾。
87.如權利要求86所述的方法,其中所述到達時間相對于所述對應的連接的其它數據包的到達時間。
88.如權利要求79所述的方法,其中過濾所述數據包包括基于計算資源的可用性來過濾。
89.如權利要求79所述的方法,其中過濾所述數據包包括基于服務類別來過濾。
90.一種通信設備,其包括: 參數化調度模塊,其被配置來接收數據包、分析所述接收的數據包以及考慮到調度器參數調度所述接收的數據包以從所述通信設備傳輸,所述參數化調度模塊包括包檢查模塊,所述包檢查模塊包括: 流量監控模塊,其被配置來確定應進一步檢查所述接收的數據包中的哪一個; 連接檢測模塊,其被配置來檢測關于用于傳輸所述數據包的連接的信息; 流和會話檢測模塊,其被配置來檢測關于與所述數據包相關的流、會話和應用的信息;和 狀態模塊,其被配置來存儲所述檢測的信息。
91.如權利要求90所述的通信設備,其中所述流量監控模塊還被配置來間歇性地監控所述接收的數據包。
92.如權利要求90所述的通信設備,其中所述流量監控模塊還被配置來監控以分析所述數據包的比特率。
93.如權利要求90所述的通信設備,其中所述流量監控模塊、所述連接檢測模塊和所述流和會話檢測模塊在用以傳遞所述數據包的多個協議級上操作。
94.如權利要求93所述的通信設備,其中所述流量監控模塊還被配置來在所述協議級的第一個上分析所述數據包,以過濾出所述連接檢測模塊和所述流和會話檢測模塊將分析所述數據包中的哪一個。
95.如權利要求93所述的通信設備,其中關于應用的所述檢測的信息包括應用類別和具體應用。
96.如權利要求93所述的通信設備,其中流量監控模塊還被配置來過濾所述數據包,包括基于傳輸的方向來過濾。
97.如權利要求93所述的通信設備,其中流量監控模塊還被配置來過濾所述數據包,包括基于互聯網協議地址來過濾。
98.如權利要求93所述的通信設備,其中流量監控模塊還被配置來過濾所述數據包,包括基于傳輸層端口來過濾。
99.如權利要求93所述的通信設備,其中流量監控模塊還被配置來過濾所述數據包,包括基于與所述數據包相關的用戶來過濾。
100.如權利要求93所述的通信設備,其中流量監控模塊還被配置來過濾所述數據包,包括基于所述數據包的大小來過濾。
101.如權利要求93所述的通信設備,其中流量監控模塊還被配置來過濾所述數據包,包括基于所述數據包的到達時間來過濾。
102.如權利要求10 1所述的通信設備,其中所述到達時間相對于所述對應的連接的其它數據包的到達時間。
103.如權利要求93所述的通信設備,其中流量監控模塊還被配置來過濾所述數據包,包括基于計算資源的可用性來過濾。
104.如權利要求93所述的通信設備,其中流量監控模塊還被配置來過濾所述數據包,包括基于服務類別來過濾。
【文檔編號】H04L29/06GK103650440SQ201280033901
【公開日】2014年3月19日 申請日期:2012年6月22日 優先權日:2011年6月22日
【發明者】D·吉奧, K·L·斯坦伍德, G·M·奇納桑比, H·徐, A·厄爾阿拉巴韋, Y·鮑 申請人:賽格納斯廣播公司