通信架構的製作方法
2023-04-30 12:04:06 2
專利名稱:通信架構的製作方法
技術領域:
本發明涉及對通信流進行管理並通過多個通信路徑對其進行路由,更具體地說,涉及對終端設備、接入點,以及為一個或多個通信應用提供服務的其它網絡節點之間交互過程的管理。
背景技術:
計算機、視頻遊戲機、電話機、PDA(個人數字助理),以及許多其它類型的終端都可連接到通信數據網絡。通常,通信數據網絡會為每個終端分配一個唯一的網絡地址。這些終端使用這個唯一的網絡地址在通信數據網絡上收發數據。該通信數據網絡可以是例如EDGE(增強型數據速率GSM演進技術)網絡、GSM(全球移動通信系統)網絡、CDMA(碼分多址)、IEEE(電氣和電子工程師協會)802.11網絡、藍牙、WiMax網絡、網際網路,企業內部網、衛星網絡等。在這些終端與通信數據網絡之間通常交換的數據包括媒體數據,如文本、音頻、視頻和圖像數據;還包括與目的設備如伺服器或另一終端之間交換的控制信號。媒體數據的採集和交換可實時進行,也可從長期存放數據的存儲器中獲取。
為與目的設備通信,某些終端可能連接到不止一個通信數據網絡。例如,一臺終端可能包含無線適配卡和有線適配卡,分別用於連接WiMax網絡和以太LAN(區域網)。對於運行在該終端上的特定軟體應用,或者對於一段時間內運行的所有的應用,該終端會在WiMax和乙太網之間選擇一條路徑來發送和接收數據。該終端需事先確定將與之進行數據交換的通信數據網絡。在開始進行數據交換前,該終端的用戶通過運行在該終端上的軟體應用,從多個可用的通信數據網絡中配置並選擇一個可用的通信數據網絡,例如WiMax網絡或以太LAN,以用於進行隨後的數據交換。
由於許多眾所周知的原因,所選擇的通信數據網絡在數據交換過程中經常顯現出不可接受的服務表現,或無法提供服務。例如,終端通常通過有線或無線鏈路連接到所選擇的通信數據網絡的接入點。服務中斷的問題通常是由從該終端經由這種接入點的通信路徑在出現以下問題時導致的1)該終端移出無線服務區;2)電纜斷開;3)被其它終端幹擾;4)接入點或終端軟、硬體技術故障。一旦在數據交換過程中遇到不可接收的服務表現,或者服務發生中斷,運行在終端上的軟體應用會停止工作或請求停止工作,以使用戶可以選擇另一個通信數據網絡。這種選擇過程經常要求對新選擇的通信數據網絡進行配置。一個通信數據網絡發生中斷,繼而配置並切換至另一通信網路的過程往往會產生明顯的延遲,有時還會造成數據丟失。
與本發明將要介紹的系統相比,常用和傳統方法的限制和弊端對本領域的技術人員來說將更加清晰。
發明內容
本發明提供了一種可與多種通信數據網絡進行交互的設備,該設備可控制自身有選擇的與這些通信數據網絡進行數據分組交換,下面將結合至少一幅附圖對其進行展示和/或描述,並通過權利要求進行更為完整的說明。
本發明提供了一種通信架構,包括本地通信軟體應用,其具有本地通信條件(requirement);本地管理軟體應用;本地終端設備,其執行所述本地通信軟體應用和所述本地管理軟體應用;遠程終端設備,其具有遠程通信特徵;多個本地接入點設備,其通過對應的多條獨立鏈路與所述本地終端設備相連,所述對應的多條獨立鏈路具有對應的多個本地路徑特徵;分組交換通信骨幹網,與所述多個接入點設備中的每一個接入點設備和第二終端設備相連;所述本地終端設備經由所述多個本地接入點中的至少一個、並通過所述分組交換通信骨幹網與所述遠程終端設備通信;所述本地終端設備對所述本地通信條件、所述遠程通信特徵,以及所述對應的多個本地路徑特徵進行評估之後,從所述多個本地接入點中選擇至少一個接入點。
優選地,所述通信架構進一步包括遠程管理軟體應用,其運行在所述遠程終端設備上,用於將所述遠程通信特徵發往所述本地終端設備。
優選地,所述本地通信條件由所述本地通信軟體應用發往所述本地管理應用。
優選地,所述本地終端設備從所述多個本地接入點中選擇至少一個接入點的過程是在所述本地管理軟體應用的控制下進行的。
優選地,所述本地終端設備從所述多個本地接入點中選擇至少一個接入點的過程是在所述本地通信軟體應用的控制下進行的。
本發明提供了一種支持具有通信特徵的通信軟體應用的通信架構,包括多個網絡節點,其包括第一接入點、第二接入點,以及執行所述通信軟體應用的終端節點;所述終端節點執行第一管理應用;所述第一接入點執行第二管理應用;通過使用所述通信特徵,並根據所述第一管理應用和所述第二管理應用之間的交互,選擇所述第一接入點來承載(service)所述通信軟體應用。
優選地,若所述第一接入點無法(fail to)支持所述通信特徵,則選擇所述第二接入點來承載(service)所述通信軟體應用。
優選地,所述通信特徵由所述第一通信軟體應用發往所述第一管理應用。
優選地,所述通信特徵由所述第一管理應用從存儲器中獲取。
本發明提供了一種支持通信軟體應用的通信架構,所述通信軟體應用支持數據通信,所述通信架構包括多個網絡節點,其包括第一接入點、第二接入點、執行所述通信軟體應用的第一終端節點,和第二終端節點。
所述多個網絡節點用於為所述第一終端節點提供多條通信路徑;所述第一終端節點執行管理應用,根據所述通信軟體應用的條件(requirement),與所述多個網絡節點中另外至少一個節點協作,從所述多條通信路徑中選出經由所述第一接入點的第一通信路徑,來承載所述數據通信的第一部分;還選出經由所述第二接入點的第二通信路徑,來承載所述數據通信的第二部分。
優選地,所述管理應用從存儲器中獲取所述通信軟體應用的所述條件(requirement)。
優選地,所述管理應用將所述要求發往所述多個網絡節點中所述另外至少一個節點。
優選地,所述管理應用將此後的從所述多條通信路徑中選擇第一通信路徑和第二通信路徑的選擇權交由所述通信軟體應用。
優選地,所述管理應用對所述多條通信路徑進行監視。
優選地,所述通信軟體應用的條件(requirement)由所述通信軟體應用發往所述管理應用。
優選地,所述通信軟體應用的條件由所述管理應用從存儲器中獲取。
優選地,所述終端節點管理應用的所述協作過程包括將所述多條通信路徑中所述第一通信路徑和所述第二通信路徑的選擇權均交由所述通信軟體。
優選地,所述終端節點管理應用的所述協作過程包括將所述多條通信路徑中所述第一通信路徑和所述第二通信路徑的選擇權均交由所述多個網絡節點中另外至少一個網絡節點。
優選地,所述終端節點管理應用的所述協作過程包括將所述多條通信路徑中所述第一通信路徑和所述第二通信路徑的選擇權均交由所述第一接入點。
優選地,所述管理應用進一步與所述多個網絡節點中所述另外至少一個網絡節點協作,從所述多條通信路徑中選擇第三通信路徑,以替代所述多條通信路徑中的所述第一通信路徑傳送數據。
本發明提供了一種通信架構,包括多個通信軟體應用,其中的每一個都支持分組通信,這些通信軟體應用具有對應的多個通信條件(requirement);路徑管理應用;多個網絡節點,其包括第一接入點、第二接入點和第一終端節點;
所述第一終端節點執行所述路徑管理應用以及所述多個通信軟體應用;所述多個網絡節點用於為所述第一終端節點提供多條通信路徑;所述第一終端節點,至少部分地根據所述對應的多個通信條件,從所述多條通信路徑中選出第一通信路徑和第二通信路徑,來支持所述多個通信軟體應用。
優選地,所述路徑管理應用從所述多個通信軟體應用獲取所述多個通信條件。
優選地,所述多條通信路徑具有對應的多個路徑特徵;在選擇過程中,所述第一終端節點還評估所述對應的多個路徑特徵。
優選地,所述多條通信路徑中的所述第一通信路徑和所述第二通信路徑均支持包含(involving)所述多個通信軟體應用中第一通信軟體應用的通信流。
優選地,所述多個網絡節點進一步包括第二終端節點,該節點也位於(involved)通過所述多個通信路徑中所述第一通信路徑和所述第二通信路徑的通信流中(通信路徑上)。
優選地,所述多條通信路徑中的第一通信路徑支持包含(involving)所述多個通信軟體應用中的第一通信軟體應用和第二通信軟體應用的通信流。
通過下面將要結合附圖進行的對具體實施方式
進行的介紹,本發明的特點和優勢將更加明顯。
出於便於描述而並非是限制本發明範圍的目的,將結合下列附圖對本發明進行描述,以幫助理解和實施本發明的技術方案。
圖1是本發明中多臺設備通過多個接入點與網際網路骨幹網進行交互的示意圖,其中每臺設備與一個以上的接入點進行交互;圖2是本發明如圖1所示的接入點多個組件的示意圖,該接入點支持從其自身到網際網路骨幹網的多條數據路徑;圖3是本發明如圖1所示的客戶端設備多個組件的示意圖,該客戶端設備支持從其自身到圖1所示多個接入點的多條數據路徑;
圖4是本發明運行有多個軟體的客戶端設備的示意圖,該客戶端設備支持從其自身到多個接入點的多條數據路徑;圖5是本發明運行有多個軟體的接入點的示意圖,該接入點支持從其自身到多個客戶端設備的第一組多條數據路徑,以及從其自身到分組交換網絡的第二組多條數據路徑;圖6是本發明計算設備協議層所執行功能的流程圖,該計算設備支持從其自身到網際網路的多條路徑,並且該計算設備上運行有不具備多路徑管理功能的通信應用;圖7是本發明運行在計算設備上的通信應用管理該計算設備和至少一個分組數據網絡之間的多條通信路徑的方法的流程圖;圖8是本發明運行在計算設備上的多路徑管理軟體在通信應用支持下,管理該計算設備和至少一個分組數據網絡之間多條通信路徑的方法的流程圖;圖9是本發明運行在計算設備上的多路徑管理軟體獨立管理該計算設備和至少一個分組數據網絡之間多條通信路徑的方法的流程圖;圖10是本發明多路徑管理軟體(MMS)進行路徑選擇的功能模塊及選擇過程示意圖。
具體實施例方式
圖1是多臺設備151、153、155、157和159通過多個接入點131、133、135和137與網際網路骨幹網103進行交互的示意圖,其中每臺設備151、153、155、157和159與一個以上的接入點進行交互。第一個人計算機151、電話機153、電視機155、第二個人計算機157和耳機159與網際網路骨幹網103交互。第一服務提供商設備111、第二服務提供商設備113、第三服務提供商設備115和第四服務提供商設備117與網際網路骨幹網103相連。多個服務提供商設備111、113、115和117中的每一個都可以是計算設備、路由器、交換機、基站、天線、收發器、域名伺服器、代理伺服器、存儲伺服器其中的一臺或幾臺的組合。多個服務提供商設備111、113、115和117中的每一個通過有線(包括光纖)和/或無線鏈路與網際網路骨幹網103相連。
第一服務提供商設備111管理有線數據網絡121。有線數據網絡121可以是PSTN網絡、光纖網絡和有線電視網絡其中之一或者它們的組合。第一接入點131、第二接入點133和第三接入點,也就是機頂盒135與有線數據網121相連。第二服務提供商設備112管理地面無線數據網絡123。地面無線數據網絡123可以是電視廣播網,包括例如UHF(超高頻)或VHF(特高頻)傳輸。機頂盒135與地面無線資料網123相連。第三服務提供商設備115管理衛星數據網125。機頂盒135使用碟形天線與衛星數據網125通信。第四服務提供商設備117管理無線數據網127。無線數據網127可以是例如,EDGE網絡、WCDMA(寬頻頻分多址)網絡、IEEE802.11網絡、WiMax網絡或UMTS(通用移動通信系統)網絡。機頂盒135還可用於與無線數據網127通信。第四接入點137與無線資料網127相連。接入點131、133、135和137中的每一個都包含至少一個(通常為兩個或多個)用於接收和發送數據的收發器。第一接入點131從第一個人計算機151接收數據,並將收到的數據發往有線數據網121。第一接入點131還從有線數據網121接收數據,並將收到的數據發往第一個人計算機151。這些數據可包括控制信息、支持數據,以及多種多媒體數據如文本消息、音頻、視頻、圖片、電子郵件、電視內容、音樂視頻或文件,並與另一網絡設備如網際網路伺服器、廣播設備或另一終端進行交換。
第一個人計算機151通過有線接口與第一接入點131相連,同時,通過無線接口與第二接入點133相連。因此,第一個人計算機151便可通過第一接入點131或第二接入點133從/向有線數據網121接收/發送數據。第一接入點131為第一個人計算機151分配第一IP位址,第二接入點為第一個人計算機151分配第二IP位址。電話機153通過兩條無線鏈路與第二AP133相連。電視機155通過無線鏈路與第二AP133相連。第二個人計算機157通過有線鏈路與第二AP133相連。第二AP133通過兩條有線鏈路,第一有線鏈路和第二有線鏈路與有線資料網121相連。
如圖所示,每臺終端可能具有多條到達任意其它終端、伺服器或其它網絡設備的可用通信路徑。第一個人計算機151具有兩條通過AP131和133的上行路徑。電話機153具有兩條均通過AP133的上行路徑,電視機155和個人計算機157均具有三條。為對通過這些可用上行路徑進行的通信進行管理,終端151-157中的每一臺都使用了多路徑管理功能,該功能是通過結合使用常用和/或專用硬體和相關軟體來實現的。類似的,接入點133和機頂盒135均具有兩條或多條上行通信路徑,以及兩條或多條下行通信路徑,通過這些通信路徑可到達其它終端、伺服器以及其它網絡設備。為對經由這些可用的多條上行和下行路徑進行的通信進行管理,接入點133和機頂盒135也都使用了多路徑管理功能,該功能是通過結合使用常用和/或專用硬體和相關軟體來實現的。同樣的,具有兩條或多條上行路徑,或兩條或多條下行路徑的任何其它網絡如一些伺服器105,也都可使用多路徑管理功能。
如本文所述,「上行路徑」和「下行路徑」並不一定是指數據流的實際方向。替而代之的是,「上行路徑」指的是發起於與網際網路骨幹網103相連的當前設備的路徑,而「下行路徑」指的是從當前設備指向終端設備的路徑。因此,例如,接入點133具有兩條上行路徑(均與個人計算機151有關),以及三條下行路徑(只有一條與個人計算機151有關)。這裡所使用的「終端節點」或「終端設備」是指可以作為通信流起始源或目的地的任何網絡設備,如客戶端設備或伺服器。
特別的,每臺具有多條上行路徑和/或多條下行路徑的網絡設備都會執行多路徑管理軟體應用。因此,在兩臺終端設備之間的可用路徑上,可能運行有一個或多個多路徑管理應用。然而,多路徑管理應用只會從這些可用上行和下行路徑中選出其中的一條,來支持兩臺終端設備之間的交換。該選擇過程可能包括一條或多條上行路徑和/或一條或多條下行路徑。其它上行和下行路徑將保持非活躍狀態,或用於支持其它終端設備交換。同樣的,一些路徑可支持多個終端設備交換同時進行。
若兩臺終端設備之間的整條路徑中存在多個多路徑應用,則每一個多路徑應用都將依照本地設置來工作。例如,根據網絡配置以及本地設置,無論是否具有來自任一上行多路徑應用的支持,每個多路徑管理應用都將獨立地管理其上行路徑,而不是下行路徑。作為選擇,根據所作的設置,整個管理過程的一部分或全部均可交由一個多路徑應用來進行,而其它多路徑應用則進入休眠狀態或提供支持。同樣的,兩臺終端設備之間的數據交換管理工作也可交由一些或所有多路徑管理應用共同負責。
路徑選擇可以發生在,例如1)終端設備開機;2)路徑特徵發生變化;3)路徑發生變化或變成可用;4)按要求改變;5)定期或持續進行;6)本地或遠程通信軟體應用的通信條件改變等。選擇過程可發生在所有與例如下列項有關的通信中a)終端設備;b)特定通信軟體應用;c)特定媒體類型;和/或d)以請求為基本方式的一個請求(on a request by request basis)。
例如,第一個人計算機151(或使用第一個人計算機151的用戶)想要向連接到網際網路骨幹網103的目的終端發送(上行)數據。第一個人計算機151通過第一IP位址與第一接入點131建立關聯,通過第二IP位址與第二接入點133建立關聯。運行在第一個人計算機151上的多路徑管理應用評估並選擇一條或同時選擇兩條可用的上行路徑,以進行一個或進行中的通信交換。作為選擇,如果進行了這樣的配置,則運行在第一個人計算機151上的多路徑管理應用可僅評估(或協助評估)這兩條可用的上行路徑,並向第一服務提供商設備111發送相關信息和結果。第一服務提供商設備111執行的多路徑管理功能作出響應,評估接收到的信息和結果,並根據評估的結果控制第一個人計算機151使用第二IP位址和無線接口與有線數據網121進行通信。
對於電話機153,運行於其上,以及接入點133和第一服務提供商設備111上的多路徑管理軟體可各自獨立完成類似的任務,或共同參與該選擇過程。例如,第二接入點133通過運行在電話機153上的多路徑管理軟體所選擇的鏈路與電話機153交換數據,第二接入點133依照運行在第一服務提供商設備111上的多路徑管理軟體的指令與第一服務提供商設備111交換數據。還可存在其它情況,如根據數據流來選擇不同的路徑,例如,從第一終端設備到第二終端設備的路徑,與從第二終端設備到第一終端設備的路徑相比,可能會涉及不同的多路徑管理責任,並導致不同的路徑選擇結果。在從第一終端設備到第二終端設備的路徑中,每臺設備可做自己的獨立評估並選擇一條或多條通往第二終端設備的鏈路。同樣的,在從第二終端設備到第一終端設備的路徑中,每臺設備也僅做自己的可獨立評估並選擇一條或多條通往第一終端設備的鏈路。
在承擔此任務時,多路徑管理應用評估每條可用的上行和下行鏈路的多個特徵。根據這些特徵,多路徑管理應用為每條鏈路生成一連接率,其中包括一個或多個因素。通過比較第一和第二連接率中的一個或多個因素,多路徑管理應用可確定應該使用路徑中的哪條鏈路。
上面提到的多個特徵可包括最大和當前帶寬、負載程度、傳送隊列、競爭要求、數據類型、幹擾、誤碼率、安全性、鏈路成本等。具體來說,上面提到的特徵中的一些特徵是不隨時間變化的,而另外一些則會隨時間發生變化。例如,那些隨時間變化的特徵可能是因為帶寬、路徑路由、網絡負載、QoS(服務質量)、傳送功率要求、誤碼率、漫遊等因素發生變化而發生改變的。那些不隨時間發生變化的特徵包括例如鏈路成本、最大帶寬、QoS保障、鏈路的反竊聽性能、電路對比(vs.)分組交換特徵等。
在對AP133和電話機153之間的鏈路進行首次評估和選擇後,運行在AP133上的多路徑管理應用程式會在固定的時間間隔、或對該鏈路提出新的要求時、以及相關因素發生變化使得超過了某些預先設定的閾值時,重新評估其作出的決策。如果找到了一個更為合適的配置,多路徑管理應用將會對當前路徑進行切換。這種情況可發生在例如,電視機155打開第二個窗口來顯示第二視頻數據,使得所需數據量上升;或者另一數據交換結束,一條更為合適的連接路徑得以釋放。另一方面,在隨後的一個時間,第一個人計算機151可能有大量數據需要上傳。使用當前的活躍鏈路來傳送這些數據會立即增大該鏈路的負擔,超過該鏈路進行另一應用時可以接受的帶寬。作為響應,多路徑管理應用程式會對這種其它應用,或者對這種大量數據的傳送負擔部分的或全部進行重新路由。
多路徑管理應用程式將數據傳輸在一條鏈路和另一條鏈路之間進行無縫切換,此過程可通知,也可不通知終端通信應用軟體。例如,第一個人計算機151可能不知道第二AP133用來將第一個人計算機151所生成數據傳送至有線數據網絡121的有線鏈路。電視機155和第二PC157也可能不知道多路徑管理應用程式所執行的路徑切換。數據傳輸從第二有線鏈路切換至第一有線鏈路的過程不會影響第二AP133對電視機155和/或第二PC157所生成數據的傳送。
第二PC157與第二AP133、機頂盒135和第四AP137相關聯。第二PC157包括有線接口、第一無線接口和第二無線接口。第二AP133為第二PC157分配第三IP位址。機頂盒135為第二PC157分配第四IP位址。第四AP137為第二PC157分配第五IP位址。第二PC157通過第二AP133,使用第三IP位址和有線接口與有線數據網121通信。第二PC157使用第四IP位址和第一無線接口與機頂盒135通信。第二PC157使用第五IP位址和第二無線接口與第四AP137通信。在第二PC157上運行有第二多路徑管理程序。第二多路徑管理程序是一套用於管理三個通信關聯(communication association)的軟體,第一通信關聯與第二AP133相關聯,第二通信關聯與機頂盒135相關聯,第三通信關聯與第四AP137相關聯。第二多路徑管理軟體定期收集與這三個通信關聯有關的特徵或參數。第二多路徑管理程序可在這三個通信關聯發生變化時收集該多個參數。這些參數可包括每個關聯中的IP位址、每個關聯承載的數據流、每個關聯所提供的帶寬、每個關聯所支持的加密和編碼方式、每個關聯的功率要求、每個關聯的類型、每個關聯引入的延遲、每個關聯中的幹擾級別,這與每個關聯所承載的數據流有關。第二多路徑管理程序將收集到的這些參數存儲在第二PC157的存儲器中。在第二實施例中,第二多路徑管理程序使用新的一組收集到的多個參數更新現有的參數,然後不再使用舊的一組參數。在第二實施例中,多路徑管理程序存儲舊的一組的多個參數,直到收集到新的一組的多個參數。
第二PC157或者使用第二PC157的用戶希望向連接到網際網路骨幹網103的目的設備發送數據。第二PC157生成數據傳輸請求。作為對該請求的響應,第二多路徑管理程序獲取有關這三個通信關聯的多個參數。第二多路徑管理程序會從第二接入點133、機頂盒135和第四接入點137收集至少一些參數,例如,每個關聯提供的帶寬、每個關聯所支持的加密和編碼方式、每個關聯引入的延遲和每個關聯的幹擾級別。這些參數可從第二PC157的存儲器中獲取。這些參數也可從不在第二PC157機箱裡的單獨的存儲系統中獲取。這些參數中的一些或全部,例如對應於每個通信關聯的IP位址可從第二PC157的有線接口、第一無線接口和第二無線接口處獲取。多路徑管理程序使用獲取的參數從這三個接口——有線接口、第一無線接口和第二無線接口中選擇一個接口,然後控制第二PC157使用選中的接口和對應的IP位址向網際網路骨幹網103發送(也就是上行)數據。多路徑管理程序這一選擇過程為數據上行過程提供可能得到的最好的服務。例如,多路徑管理程序選擇第二無線接口。第二PC157使用第四接入點137分配的第五IP位址向第四接入點137發送數據。第四接入點137接收這些數據,使用無線數據網絡127將這些數據發網目的設備。
在第二PC157從/向第四接入點137收發數據的過程中,第四接入點137與第二PC157第二無線接口間的無線鏈路可能斷開。若該無線鏈路斷開,則軟體應用程式會控制第二PC157使用剩下的兩個接口中的一個,這兩個接口也就是有線接口和第一無線接口中。軟體應用程式選擇一個可提供更好服務的接口。從剩下的兩個接口中選擇一個的選擇過程需要依靠獲取的多個參數來進行。例如,軟體應用程式可選擇有線接口。隨後,第二PC157使用有線接口和第三IP位址來發送數據。從第二無線接口到有線接口的接口變動將無縫地進行,這樣一來,第二PC157所發送的任何數據都不會丟失。隨後,第二PC157發送的數據將到達第二AP133。第二AP133通過兩條鏈路連接到有線數據網絡121。運行在第二AP133上的多路徑管理應用程式從連接有線數據網絡121的兩條鏈路中選擇其中的一條,用於向有線數據網絡121發送從第二PC157收到的資料。第二AP133使用選中的鏈路將從第二PC157收到的資料發往有線數據網絡。第二PC157發送的數據最終將通過第二AP133、有線數據網絡121和網際網路骨幹網103到達目的節點。
在另一實施例中,運行在第二PC157上的第二多路徑管理程序定期獲取有關所有這三個通信關聯的多個參數。多路徑管理程序可選擇一個閾值,並且在三個通信關聯中任何一個的質量低於該閾值時,將相應的通信關聯隔離。在該示範性方案中,第二PC157使用第四接入點137和第二PC157的第二無線接口之間的無線鏈路來發送數據。當該無線鏈路的質量下降到低於該閾值時,多路徑應用程式會促使第二PC157切換到有線接口,並使用第三IP位址來發送數據。因此,從第二無線接口到有線接口的切換發生在該鏈路斷開前。多路徑管理程序確保不會有任何數據(也就是第二PC157發送的數據)由於發生切換而丟失。
每個終端151-157上運行有一個或多個通信應用。這些通信應用可能是網際網路瀏覽應用、網際網路電話、視頻遊戲應用、文本消息、多媒體消息和視頻會議。每個通信應用都具有不同的通信條件。例如,網際網路瀏覽應用可能要求使用高帶寬路徑,網際網路電話應用可能要求使用低延遲的路徑,文本消息應用通常對高延遲的路徑容忍性最大,向用戶傳送實時經歷的視頻遊戲應用可能要求使用高帶寬低延遲路徑。運行在終端151-157上的通信應用可執行多路徑管理功能。在這種情況下,可能不存在單獨的用於管理每個終端151-157的多條可用上行路徑上的通信的多路徑管理硬體或軟體。運行在終端上的通信應用可根據對應的通信條件從兩條或多條可用上行路徑中選出一條上行路徑。例如,若一個終端具備兩條到達接入點的上行路徑,一條是低帶寬路徑,另一條是高帶寬路徑,則運行在該終端上的視頻遊戲應用可能決定使用高帶寬上行路徑,來與接入點之間收發分組數據。視頻遊戲應用(通信應用)將所選擇的路徑通知運行在終端上的多路徑管理應用,後者便通過選定的高帶寬路徑與接入點之間收發分組數據。多路徑管理應用僅幫助控制數據分組通過視頻遊戲應用(通信應用)所選擇的路徑發往接入點。
在另一實施例中,終端上未運行有多路徑管理應用。該通信應用(視頻遊戲應用)與終端的設備驅動器相連,控制對應所選路徑(高帶寬路徑)的設備驅動器與接入點之間收發分組數據。
作為選擇,視頻遊戲應用(通信應用)還可決定使用高帶寬上行路徑從接入點接收分組數據,使用低帶寬上行路徑向接入點發送分組資料。視頻遊戲應用還可決定同時使用高帶寬上行路徑和低帶寬上行路徑來從接入點接收分組數據。視頻遊戲應用需要使用低延遲路徑。若在某一時刻,高帶寬路徑上的延遲大於可承受值,則視頻遊戲應用可決定只使用低帶寬路徑與接入點通信。該視頻遊戲應用可控制多路徑管理應用或對應的設備驅動器來切換至低帶寬路徑。該通信應用軟體可確保不會有任何分組數據由於發生切換而丟失。
該通信應用根據可用路徑的通信特徵從兩條或多條可用上行路徑中選出一條上行路徑。該通信特徵可包括最大帶寬和當前帶寬、負載、隊列長度、幹擾、誤碼率、安全性、鏈路成本,以及傳輸功率條件等。該通信應用可根據其生成的數據類型來選擇路徑。若該通信應用要求進行控制數據交換,則它可以僅從可用上行路徑中選出一條路徑。若該通信應用要求收發多媒體分組數據,則它可從可用上行路徑中選出兩條最好的路徑,並使用選出的第一條路徑接收(或發送)部分多媒體分組數據,使用選出的第二條路徑接收(或發送)其餘的多媒體分組數據。
在一個實施例中,某通信應用可能具有高於其它通信應用的優先級。例如但不限於,電話機153具有兩條到AP133的上行路徑。運行在電話機153上的網際網路瀏覽應用,其優先級低於電話呼叫應用。運行在電話機153上的網際網路瀏覽應用從兩條上行路徑中選擇使用其中的一條來與AP133通信。例如,這兩條上行路徑中,所選擇的路徑提供更低的幹擾。如果現在電話機153(或者使用電話機153的用戶)想同時建立電話呼叫,則網際網路瀏覽應用就釋放低幹擾上行路徑,轉而使用兩條上行路徑中幹擾較高的第二條上行路徑與AP133通信。電話呼叫應用使用低幹擾路徑來與AP133通信。網際網路瀏覽應用中的分組數據經高干擾路徑傳輸,電話呼叫應用中的分組數據使用低幹擾路徑。一旦電話呼叫應用結束,網際網路瀏覽應用將切換至低幹擾路徑,並通過該低幹擾路徑交換分組數據。網際網路瀏覽應用從低幹擾路徑切換至高干擾路徑,最後又切換回低幹擾路徑的過程由網際網路瀏覽應用無縫地進行。
在另一實施例中,通信應用,即運行在電話機153上的網際網路瀏覽應用和電話呼叫應用不適於從連接AP133的兩條上行路徑中選擇路徑。電話機153上運行有多路徑管理應用。通信應用向多路徑管理應用提供自身的通信條件信息(CRI),由多路徑管理應用根據CRI在兩條上行路徑中選擇一條路徑。對應於通信應用的CRI可包括通信應用所要求的最低數據率、通信應用的優先級、通信應用所能容忍的最大誤碼率等。例如,用戶想要在電話機153上運行網際網路瀏覽應用。運行在電話機153上的多路徑管理應用從網際網路瀏覽應用接收路徑建立請求。多路徑管理應用隨後從網際網路瀏覽應用接收對應網際網路瀏覽應用的CRI。多路徑管理應用還可從電話機153的內存中獲取該CRI。多路徑管理應用使用該CRI從兩條上行路徑中選擇一條路徑,然後控制隨後的分組數據在AP133和電話機153之間經由所選擇的路徑傳送。
AP133從連接到網際網路骨幹網103的終端收到發往電話機153的電話呼叫建立請求。AP133通過選擇的路徑與電話機153相連,該路徑上正在傳送對應網際網路瀏覽應用的分組數據。AP133使用選擇的路徑向電話機153發送呼叫建立請求。多路徑管理應用獲取對應電話呼叫應用的CRI。對應電話呼叫應用的CRI顯示,電話呼叫應用的優先級高於網際網路瀏覽應用。多路徑管理應用使用對應電話呼叫的CRI從連接AP133的兩條可用上行路徑中選擇一條路徑。例如,多路徑管理應用確定,網際網路瀏覽應用所選擇的正在使用的路徑也最適合電話呼叫應用。由於電話呼叫應用的優先級高於網際網路瀏覽應用,多路徑管理應用將對應網際網路瀏覽應用的分組數據切換至兩條上行路徑中的另一條傳送,然後控制對應電話呼叫應用的分組數據經由選擇的路徑傳送。通信應用,也就是網際網路瀏覽應用和電話呼叫應用通過向多路徑管理應用提供對應的CRI,來幫助多路徑管理應用從兩條或多條可用路徑中選擇一條路徑。
在第三類實施例中,運行在終端(151-157)上的通信應用不直接或間接參與從兩條或多條可用上行路徑中選擇一條路徑的操作。路徑的選擇和控制分組數據經由選擇的路徑傳送的任務由運行在終端上的多路徑管理應用執行。對路徑的選擇可由起始終端和目的終端之間的不同終端上運行的一個以上的多路徑管理應用共同執行。例如,在收到來自通信應用(也就是電話呼叫應用或網際網路瀏覽應用)的路徑建立請求後,運行在電話機153上的多路徑管理應用,運行在AP133上的第二多路徑管理應用,以及運行在第一服務提供商設備111上的第三多路徑管理應用可共同決定使用電話機153和AP133之間兩條上行路徑中的哪條路徑來傳輸對應於該通信應用的分組數據。運行在終端(151-157)上的通信應用顯然知道一個或多個多路徑管理應用所選擇的通信路徑。
圖2是本發明如圖1所示接入點133多個組件的示意圖,該接入點133支持從其自身到網際網路骨幹網103的多條數據路徑。圖1中的機頂盒135還支持到網際網路骨幹網103的一條以上的數據通信路徑。圖2中示出了多個組件,對於圖1中的多路徑接入點133和多路徑機頂盒135這些組件是共通的。多路徑AP或多路徑STB(機頂盒)200包括處理電路202、用戶輸入接口218、多個有線接口220和多個無線接口230。處理電路202包括存儲系統204、作業系統210、多路徑管理軟體(MMS)214和設備子驅動器216。用戶輸入接口218從用戶處接收輸入信息,處理電路202因此對輸入信息作出響應。用戶輸入接口218可以是多個按鈕、觸控螢幕、語音接口、滑鼠、拇指轉輪、屏幕和觸摸筆等。多個有線接口220包括第一有線上行接口222、第二有線上行接口223、第一有線下行接口224和第二有線下行接口225。多個無線接口230包括第一無線上行接口232、第二無線上行接口233、第一無線下行接口234和第二無線下行接口235。多路徑AP(或多路徑STB)200的上行接口(有線上行和無線上行接口)支持多路徑AP(或多路徑STB)200與一個或多個數據網絡之間的數據通信,其下行接口(有線下行和無線下行接口)支持多路徑AP(或多路徑STB)200與一臺或多臺客戶端設備之間的數據通信。客戶端設備就是生成數據的終端和/或設備。典型的客戶端設備包括個人計算機、電話機、PDA、視頻遊戲機、電視機或可生成能夠通過分組交換網絡傳輸的第一格式(例如將數據分割後裝入分組中)數據的各種終端。這些數據可以是音頻、視頻、圖片,電子郵件、網頁、音樂視頻、存儲在網際網路和/或企業內部網伺服器上的文件、文本消息、電視節目和任何類型的多媒體信息。典型的數據網絡包括光纖數據網、有線數據網、公共交換電話網、GSM網絡、CDMA網絡、EDGE網絡、IEEE802.11網絡、WiMax網絡、衛星數據網絡,或者任何種類的標準和專用的分組交換網絡。
例如但不限於,多路徑AP(或多路徑STB)200使用第一有線上行接口222與光纖數據網通信,使用第二有線上行接口223與有線數據網通信,使用第一無線上行接口232與EDGE網絡通信、使用第二無線上行接口233與WiMax網絡通信。光纖數據網、有線數據網、EDGE網絡和WiMax網絡使用不同的協議進行分組數據發送和接收。每個有線和無線上行接口(222、223、232和233)與至少一個對應的硬設備交互,而對應的硬體設備由媒體訪問控制(MAC)地址唯一地標識。典型的硬體設備包括收發器。多路徑AP(或多路徑STB)200首先將其自身與光纖數據網、有線數據網、EDGE網絡和WiMax網絡建立關聯,然後與這些網絡進行通信。這種關聯包括由對應的數據通信網絡為多路徑AP(或多路徑STB)200分配IP位址。在建立關聯過程中,光纖數據網為多路徑AP(或多路徑STB)200分配第一IP位址,有線數據網為多路徑AP(或多路徑STB)200分配第二IP位址,EDGE網絡為多路徑AP(或多路徑STB)200分配第三IP位址,WiMax網絡為多路徑AP(或多路徑STB)200分配第四IP位址。多路徑AP(或多路徑STB)200通過第一有線上行接口222使用第一IP位址與光纖數據網通信,類似的,多路徑AP(或多路徑STB)200通過第二有線上行接口223使用第二IP位址與有線數據網通信,通過第一無線上行接口232使用第三IP位址與EDGE網絡通信,通過第二上行接口233使用第四IP位址與WiMax網絡通信。
在該非限定性實施例中,多路徑AP(或多路徑STB)200使用第一有線下行接口224與個人計算機通信,使用第二有線下行接口225與耳機通信,使用第一無線下行接口234與電話機通信,使用第二無線下行接口235與電視機通信。多路徑AP(或多路徑STB)200在該示範性實施例中連接到不同類型的分組數據網絡(也就是光纖數據網絡、有線數據網絡、EDGE網絡和WiMax網絡)。與多路徑AP(或多路徑STB)200相連的分組數據網絡的類型對個人計算機、耳機、電話機和電視機(也就是客戶端設備)而言是不可見的。在這些客戶端設備廣播發送關聯請求時,多路徑AP(或多路徑STB)200的MMS214為個人計算機、耳機、電話機和電視機分別分配第五IP位址、第六IP位址、第七IP位址和第八IP位址。多路徑AP(或多路徑STB)200的MMS214控制個人計算機使用第五IP位址向多路徑AP(或多路徑STB)200發送第一格式數據。多路徑AP(或多路徑STB)200通過第一有線下行接口224從個人計算機接收第一格式的數據。
多路徑AP(或多路徑STB)200通過第一有線上行接口222、第二有線上行接口223、第一無線上行接口232和第二無線上行接口233連接到網際網路骨幹網。MMS214評估對應於第一有線上行接口222的第一度量值、對應於第二有線上行接口232的第二度量值、對應於第一無線上行接口232的第三度量值,以及對應於第二無線上行接口233的第四度量值。第一度量值在某一時刻的數值與多個參數有關。這些參數可以是,第一有線上行接口222支持的最大帶寬、等待通過多路徑AP(或多路徑STB)200從客戶端設備(也就是個人計算機、耳機、電話機和電視機)上傳到網際網路骨幹網的數據負載量、該時刻通過第一有線接口222傳送的數據的大小、等待通過多路徑AP(或多路徑STB)200上傳的數據負載的類型(也就是上傳的數據負載是文本消息、視頻文件、實時數據還是非實時數據等),以及第一有線上行接口222的功率要求。第一度量值隨時間變化。MMS214在固定的時間間隔對第一度量值進行評估。分別對應於第二有線上行接口223、第一無線上行接口232和第二無線上行接口233的第二度量值、第三度量值和第四度量值也隨時間變化。MMS214也在固定的時間間隔對第二度量值、第三度量值和第四度量值進行評估。MMS214可以在收到任一客戶端設備(個人計算機、耳機、電話機或電視機)發送的數據上傳請求時評估第一度量值、第二度量值、第三度量值和第四度量值。MMS214可以在通過多路徑AP(或多路徑STB)200的用戶輸入接口218收到用戶的輸入信息後評估第一度量值、第二度量值、第三度量值和第四度量值。MMS214將第一度量值、第二度量值、第三度量值和第四度量值存儲於多路徑AP(或多路徑STB)200的存儲系統204中。MMS214在評估完新一組度量值後,對第一度量值、第二度量值、第三度量值和第四度量值進行更新。
MM214可從多個有線接口220、多個無線接口230、作業系統210、存儲系統204以及客戶端設備(計算機,耳機、電話機和電視機)收集與度量值(第一度量值、第二度量值、第三度量值和第四度量值)有關的多個參數。在該示範性實施例中,多路徑AP(或多路徑STB)200的設備子驅動器216通過掃描來確定第一有線下行接口224是否存在來自個人計算機的數據。設備子驅動器216通知MMS214有數據存在。隨後,多路徑AP(或多路徑STB)200的MMS214對這四個度量值進行評估。MMS對這四個度量值進行評估以找出更好的數據通信鏈路,其對應的度量值更高。在這個非限定性實施例中,在四個度量值中,可能第二度量值的值最高。第二度量值對應於多路徑AP(或多路徑STB)200的第二有線上行接口223。多路徑AP(或多路徑STB)200的MMS214控制設備子驅動器216將從個人計算機收到的數據路由至多路徑AP(或多路徑STB)200的第二有線上行接口223。設備子驅動器216是一套軟體程序,它可與第一有線下行接口224和第二有線上行接口223的硬體進行交互。設備子驅動器216將第一有線下行接口224的(也就是來自個人計算機的)可用數據轉發到第二有線上行接口223。第二有線上行接口223使用第二IP位址將這些數據發往有線數據網絡。這些數據通過有線數據網最終到達網際網路骨幹網。
在另一實施例中,數據包中可包含一標識,該標識來自位於第一有線下行接口224處的個人計算機。該標識表明該分組數據具有高優先值。在這種情況下,多路徑AP(或多路徑STB)200的MMS214可對這四個度量值進行評估,並確定對應兩個高優先值的兩個通信接口。在本非限定性實施例中,在四個度量值中,第二度量值具有最高值,而第一度量值具有第二高值。第二度量值對應多路徑AP(或多路徑STB)200的第二上行有線接口223。第一度量值對應多路徑AP(或多路徑STB)200的第一上行有線接口222。多路徑AP(或多路徑STB)200的MMS214將從個人計算機接收到的分組數據分為兩個部分。MMS214決定將從個人計算機收到的第一部分分組數據通過第二上行有線接口223傳送,其餘的分組數據通過第一有線上行接口222傳送。在MMS214的監控下,與第一有線上行接口222和第二有線上行接口223的硬體交互的設備子驅動器216對數據分組進行路由控制。第二有線上行接口223與有線數據網相連。MMS214確保通過第二有線接口223傳送的第一部分數據分組適用有線數據網絡協議。第一有線上行接口222與光纖數據網相連。MMS214確保通過第一有線接口222傳送的其餘的數據分組使用光纖數據網絡協議。到達多路徑AP(或多路徑STB)200的來自個人計算機的分組數據最終到達網際網路骨幹網,其中,第一部分是通過有線數據網到達的,而其餘部分是通過光纖數據網絡到達的。
個人計算機並不知道數據網絡的類型和/或多路徑AP(或多路徑STB)200用於發送從個人計算機收到的數據的接口的類型。個人計算機將數據按照多路徑AP(或多路徑STB)200指定的第一格式發往多路徑AP(或多路徑STB)200。例如,多路徑AP(或多路徑STB)200的MMS214選擇使用第二有線上行接口223。從個人計算機收到的第一格式數據可能需要轉換至有線數據網所支持的第二格式。MMS214觸發設備子驅動器216將第一有線下行接口224的可用數據(也就是來自個人計算機的)路由至代碼轉換器。該代碼轉換器是多路徑AP(或多路徑STB)200的處理電路202的一部分。代碼轉換器將第一格式的數據轉換為第二格式。MMS214接下來觸發設備子驅動器216將第二格式的數據從代碼轉換器路由至第二有線上行接口223。第二有線上行接口223使用第二IP位址將第二格式的數據發往有線數據網。第二有線上行接口223包括無線發射模塊。
MMS獲取這些參數,並定期評估這四個度量值。用戶可藉助用戶輸入接口218通過MMS214設置兩次連續的度量值評估操作之間的時間間隔。用戶輸入接口218接收用戶定義的時間間隔值,並將其發往MMS214。MMS214將該時間間隔值存儲到存儲系統204中,並且在用戶定義的每次時間間隔內對這四個度量值進行一次評估。如果在某一時刻,第三度量值超過第二度量值,則MMS214將觸發設備子驅動器216,將從個人計算機收到的數據路由至第一無線上行接口232,這是因為第三度量值對應於第一無線上行接口232。設備子驅動器216將第一有線下行接口224的可用數據轉(也就是來自個人計算機的數據)發至第一無線上行接口232。第一無線上行接口232使用第三IP位址將這些數據發往EDGE網絡。這些數據最終通過EDGE網絡到達網際網路骨幹網。通過從第一有線下行接口224到第二有線上行接口223路徑進行傳輸的這些數據,在MMS214進行切換後,將通過從第一有線下行接口224到第一無線上行接口232的路徑傳輸。MMS214控制數據路由的切換,並確保在切換過程中不發生數據(或者數據分組)丟失。
圖3是本發明如圖1所示客戶端設備155或157多個組件的示意圖,該客戶端設備支持從其自身155或157到圖1中的多個接入點133、135和137的多條數據路徑。多路徑客戶端設備300包括處理電路302、存儲系統304、用戶輸入接口330、第一有線上行接口342、第二有線上行接口343、第一無線上行接口344,以及第二無線上行接口345。有線和無線接口(342、343、344和345)中的每一個都與至少一個對應的硬體設備進行交互,並且該對應的硬體設備由媒體訪問控制(MAC)地址唯一地標識。典型的對應的硬體設備包括收發器。該收發器用於發送和接收數據(也就是數據分組)。作業系統308是運行在多路徑客戶端設備300上的一套軟體。
多路徑客戶端設備300本身與所有可用的分組交換網絡相關聯。所有這些分組交換網絡都連接到網際網路骨幹網。如圖所示,多路徑客戶端設備300包括四個通信接口(342、343、344和345),且多路徑客戶端設備300可將自身與最多四個不同類型的分組數據網絡相關聯。例如但不限於,多路徑客戶端設備300通過第一有線上行接口342將其自身與有線數據網絡的第一接入點相關聯。與有線數據網第一接入點之間的關聯包括由第一接入點為其分配IP位址。多路徑客戶端設備300使用第一IP位址和第一有線上行接口342來向有線數據網發送數據,並通過第一接入點從有線數據網接收數據。在這個非限定性實施例中,多路徑客戶端設備300通過第二有線上行接口343和第二IP位址與光纖數據網絡的第二接入點相關聯。多路徑客戶端設備300還通過第一無線上行接口344和第三IP位址與屬於衛星數據網絡的第三接入點相關聯。多路徑客戶端設備300還通過第二無線上行接口345和第四IP位址與UMTS數據網絡的第四接入點相關聯。第二IP位址、第三IP位址和第四IP位址分別通過第二接入點(也就是光纖數據網)、第三接入點(也就是衛星數據網絡)和第四接入點(也就是UMTS網絡)分配給多路徑客戶端設備300。
多路徑客戶端設備300的用戶輸入接口330可以是多個按鈕、鍵盤、觸控螢幕、滑鼠、語音接口,觸摸筆、拇指轉輪等。多路徑客戶端設備300可以是個人計算機、電話機、電視機、耳機,以及視頻遊戲機等。若多路徑客戶端設備300是個人計算機,則用戶輸入接口330通常為滑鼠和鍵盤。若多路徑客戶端設備300是電話機,則用戶輸入接口330通常為屏幕和多個按鈕。若多路徑客戶端設備300是視頻遊戲機,則用戶輸入接口330通常為拇指轉輪和遊戲搖杆。多路徑客戶端設備300可向網際網路骨幹網發送資料。在這個非限定性實施例中,多路徑客戶端設備300為一電話機。多路徑客戶端設備300通過多個按鈕330(用戶輸入接口)接收對視頻的選擇。非限定的,選擇的視頻為一段音樂視頻,該音樂視頻存儲於連接到網際網路骨幹網的網際網路伺服器上。多路徑客戶端設備300與四個接入點相關聯(連接到四個接入點),第一接入點屬於有線數據網絡,第二接入點屬於光纖數據網絡,第三接入點屬於衛星數據網絡,第四接入點屬於UMTS網絡。所有這四個接入點均連接到網際網路骨幹網。多路徑客戶端設備300現在需要通過四個接入點中的任意接入點向網際網路骨幹網發送請求,用於請求選中的音樂視頻。
在多路徑客戶端設備300的存儲系統304中可存在多個通信應用。通信應用310、311和312可以是例如,電話應用、網際網路瀏覽應用、媒體下載應用、媒體郵件應用、消息服務應用、電視節目應用,或使用通信功能的任何其它軟體應用。通信應用310中的每一個都可以進行下列操作1)控制自身和任何其它通信應用310、311和312的通信路徑選擇;或2)協助任何其它通信應用310和遠程及本地路徑管理軟體進行這種路徑選擇。通信應用311中每一個都可協助任何通信應用310和遠程及本地路徑管理軟體進行通信路徑選擇。通信應用312例如遺留應用(legacy application),既不協助也不進行路徑選擇。
通信應用310、311和312中的每一個都具備多種關聯的通信特徵,例如但不限於,且對於每種交換的數據類型以及數據流的每個方向而言,這些特徵包括1)所需的最小帶寬;2)所允許的最大延遲;3)想要的鏈路質量;4)所允許的最低鏈路質量;;5)安全/加密要求;6)優先級;7)所支持的相關標準;8)通信要求是周期性的、不定時發生的、還是持續的。通信應用310和311支持與本地和遠程路徑管理軟體進行通信特徵交換,以支持路徑選擇。本地和/或遠程管理軟體通過執行下列一種或多種方法,為通信應用312確定通信特徵,這些方法包括1)從本地或遠程存儲器中獲取預先定義的通信特徵;2)提示電話機310的用戶輸入這種特徵;3)監視通信應用312的實際通信活動。
本地路徑管理軟體,即MMS(多路徑管理軟體314)、運行在任何其它網絡節點(未示出)上的遠程路徑管理軟體,以及通信應用310三者可彼此獨立地,也可相互協作的對通過可用路徑的總體通信流進行控制,以及為所有通信軟體310、311和312控制通信流。它們可根據當前路徑條件的變化以及通信軟體的要求重新選擇路徑,並且按需要將通信流進行無縫切換。例如,若一條通信路徑斷開了,則當前路徑的流量將經由一條或多條其它路徑傳送,而不會中斷一個或多個通信應用的運行。
如果選擇通信應用310其中之一來管理所有的通信流,則該通信應用將通過下列方式接收並自動更新通信特徵,例如1)直接與可用路徑中的其它節點進行交互;2)從與指定路徑或路徑類型相關聯的預先定義的存儲器中獲取;3)從多路徑客戶端設備300的用戶獲取;4)從MMS314獲取;5)從通信應用310和311中的其它應用獲取;6)從與任何其它通信應用310、311和312相關聯的預先定義的存儲器中獲取;7)通過監視路徑或通信應用來獲取;8)從一個或多個遠程路徑管理軟體應用獲取。這些通信特徵包括兩個類別a)與可用路徑有關;b)與其它通信應用有關。除管理所有數據流以外,通信應用310其中之一還可只負責管理其自身的通信流。
類似的,如果選擇MMS314來管理所有通信流,則它將通過下列方式接收並自動更新通信特徵,例如1)直接與可用路徑中的其它節點進行交互;2)從與指定路徑或路徑類型相關聯的預先定義的存儲器中獲取;3)從多路徑客戶端設備300的用戶獲取;4)從通信應用310和311中獲取;5)從與任何其它通信應用310、311和312相關聯的預先定義的存儲器中獲取;6)通過監視路徑或通信應用來獲取;和/或7)從一個或多個遠程路徑管理軟體應用獲取。這些通信特徵包括兩個類別a)與可用路徑有關;b)與通信應用有關。作為管理所有數據流這一方案的替代,MMS314還可只負責管理通信應用310、311和312中選中的一個或幾個應用的通信流。
同樣的,如果選擇遠程路徑管理軟體來管理所有通信流,則它將通過下列方式接收並自動更新通信特徵,例如1)直接與可用路徑中的其它節點進行交互;2)從與指定路徑或路徑類型相關聯的預先定義的存儲器中獲取;3)從多路徑客戶端設備300的用戶獲取;4)從MMS314獲取;5)從通信應用310和311中的其它應用獲取;6)從與任何其它通信應用310、311和312相關聯的預先定義的存儲器中獲取;7)通過監視路徑或通信應用來獲取;8)從一個或多個遠程路徑管理軟體應用獲取。這些通信特徵包括兩個類別a)與可用路徑有關;b)與其它通信應用有關。作為管理所有數據流這一方案的替代,遠程路徑管理軟體還可只負責管理,例如1)從通信應用310、311和312中選中的一個或幾個的通信流;或2)通信應用310、311和312中使用直接關聯到遠程路徑管理軟體的路徑的通信應用的數據流。例如,運行有通信應用310(例如媒體下載應用)的多路徑客戶端設備300(例如電話機)與本地和遠程多路徑管理軟體進行交互,為一流媒體下載選擇一條或多條可用通信路徑,或在必要時進行無縫的重選擇。與該可用路徑以及該通信應用相關聯的通信特徵支持這種選擇和重新選擇操作。
特別的,與媒體下載應用(通信應用310其中之一)有關,與媒體下載應用相關聯的通信特徵可包括所需的最小帶寬、所允許的最大延遲、想要的鏈路質量、所允許的最低鏈路質量、數據分組需要的加密、數據類型、分組數據的優先級等。儘管媒體下載應用310具有請求和通過四個接入點中任意接入點從與網際網路相連的網絡節點接收媒體流的能力,但也必須先從這些接入點中選出滿足通信特徵的一個或多個或全部接入點。
每條可用通信路徑同樣也具有與其相關聯的多個通信特徵,它們可以是例如統計的、額定的或者當前的帶寬、延遲、服務質量、鏈路質量、安全級、數據類型、成本等。通過同時收集通信應用和可用路徑的通信特徵,可對路徑選擇和數據流的分發進行更好的管理。正如這裡所使用的那樣,與可用通信路徑相關聯的通信特徵稱為「路徑特徵」,而與通信應用相關聯的通信特徵稱為「通信條件信息(CRI)」或「通信條件」。與本地終端設備相關聯的通信特徵稱為「本地通信特徵」(包括「本地CRI」和「本地路徑特徵」),而與同其通信的遠程第二終端相關聯的通信特徵稱為「遠程通信特徵」(包括「遠程CRI」和「遠程路徑特徵」)。
現在回到前面的實施例,媒體下載應用,也就是通信應用310其中之一可從存儲系統304獲取與通信應用310、311和312中任何一個或多個通信應用相關聯的CRI305。該媒體下載應用還可直接從通信應用310、311和312中其它任何一個或多個通信應用獲取CRI。媒體下載應用還可按下列一種方式、多種方式或者所有方式獲取路徑特徵306a)存儲系統304;b)MMS314;c)遠程路徑管理軟體;d)直接監視可用路徑的活動/表現。如圖所示,在四個接入點和對應的四個通信接口342、343、344和345之間存在至少四條可用路徑。對應每條可用路徑的路徑特徵可包括能夠反映出該路徑對通信流的支持能力的任何特徵,例如,所支持的最大帶寬、功率要求、存在的延遲、擁塞,以及成本等。具體來說,對應第一有線上行接口342的路徑特徵可包括例如有線數據網所支持的最大帶寬,通過第一接入點和第一有線上行接口342之間的第一路徑收發數據時候所要求的功率,分組數據流經該第一路徑時預期(expected)的延遲,以及幹擾級別。類似的,對應有線上行接口343、344和345的路徑特徵也可反映出上述因素的額定的,以及當前和歷史的統計信息。
在收集完通信特徵,也就是CRI和路徑特徵之後,媒體下載應用便進行路徑選擇,並與MMS314、遠程路徑管理軟體、其它通信軟體310、311和/或其它必要的網絡節點相互協作,開始下載媒體流。通常,路徑特徵中的一些參數在通信關聯(association)不發生變化的情況下也不會發生變化,例如最大帶寬性能或峰值帶寬要求。而路徑特徵中的另外一些參數則會隨著延遲、負載,以及幹擾級別頻繁持續地發生變化。同樣的,與每個通信應用相關聯的CRI也會隨一些事件的發生而發生變化,例如,處於空閒通信狀態,未運行,或經歷意料之外的高密度應用。如果CRI和/或路徑特徵的變化對其支持當前CRI條件的能力產生限制,則媒體下載應用將重新選擇路徑,並與MMS314、遠程多路徑管理軟體、其它通信軟體310、311和/或其它必要的網絡節點相互協作,對路徑進行無縫切換。類似的,本地多路徑管理軟體、MMS314或運行在其它網絡節點上的遠程多路徑管理軟體在需要時,也可執行路徑選擇、路徑重新選擇,以及管理無縫切換等操作。例如,MMS314可定期收集CRI(例如,從用戶和通信應用,以及通過監視活動)和路徑特徵(例如,從用戶,通過監視活動,以及從可用路徑上的網絡節點)。一旦收集完畢,MMS314在需要時,便使用這些CRI和路徑特徵來選擇或者重新選擇路徑。MMS314還可將獲取的通信特徵存儲到存儲系統304中。
路徑選擇過程包括以任何方式為每個通信應用分配一條或多條可用路徑,該可用路徑可以是整條路徑,也可以是一部分路徑,例如,該分配操作包括1)將第一路徑分配給第一通信應用,將第二路徑分配給第二通信應用;2)將第一路徑分配給第一應用的上行數據流,將第二路徑分配給第一應用的下行數據流;3)將第一路徑分配給第一應用和一部分第二應用,將第二路徑分配給第二應用其餘的部分。在新通信應用啟動或其它通信應用關閉,以及通信特徵發生變化時,在需要時將發生路徑的重新分配,同時進行路徑的無縫切換。
例如,媒體下載應用可通過路徑選擇過程與第二有線上行接口343相關聯。如果進行了這樣的選擇,媒體下載應用就會控制MMS314將對應於該媒體下載應用的所有通信數據都通過第二有線上行接口343傳送。此後,當多路徑客戶端設備300收到通過光纖數據網絡和第二有線上行接口343從網際網路骨幹網收到一份下載資料時,該下載數據將轉發給媒體下載應用。多路徑客戶端設備300可通過選擇的第二路徑收發對應該下載的控制數據(如果有必要的話)。MMS314協助控制分組數據經由媒體下載應用所選擇的路徑進行傳送。
為響應音樂視頻選擇,媒體下載應用310需要向網際網路骨幹網發送所選音樂視頻請求。對應第二有線接口343的子驅動器控制包含所選音樂視頻請求的第一數據包通過第二有線接口343來傳送。第二有線接口343(也就是與第二有線接口343相關聯的硬體)使用第二IP位址將第一數據發往第二接入點。該所選音樂視頻請求通過所選路徑(也就是對應第二有線接口343的路徑)最終到達網際網路骨幹網。網際網路骨幹網將第一數據轉發給網際網路伺服器。存儲有所選音樂視頻的網際網路伺服器對該請求做出響應,將選擇的音樂視頻發往網際網路骨幹網。媒體下載應用310控制多路徑客戶端設備300通過所選路徑從網際網路骨幹網接收所選的音樂視頻。第二有線接口343使用第二IP位址從第二接入點(其通過光纖數據網絡與網際網路骨幹網相連)接收所選的音樂視頻。
在另一實施例中,使用多個通信特徵(路徑特徵和CRI)的媒體下載應用決定從四條可用路徑中選擇兩條路徑以供使用。媒體下載應用之所以作出如此決定,可能是因為所選音樂視頻較大、所有四條可用上行路徑上的數據流量都很大、提高可靠性、對錯誤進行糾正等。媒體下載應用控制對應所選音樂視頻的一部分分組數據通過第一路徑和第一有線上行接口342進行傳送,同時控制所選音樂視頻的其餘部分通過第二路徑和第二有線上行接口343進行傳送。媒體下載應用310可決定通過第一路徑相間地接收一部分分組,通過第二路徑來接收其餘的分組。媒體下載應用310還可決定通過其它組合方式通過第一路徑和第二路徑來接收所選音樂視頻。這種以及其它的多路徑選擇和使用要求下載源設備也就是終端設備如伺服器或另一客戶端設備的參與。源設備和目的設備上的路徑管理軟體(也就是MMS314)相互協作,對在二者之間傳送的數據流進行分段,並根據接收情況對分段數據進行重組。事實上,任何使用多路徑來支持一臺終端設備上的單個通信應用和另一臺終端設備上的單個通信應用的方法都可由兩個通信應用和/或兩個基礎路徑管理應用相互協作來完成。因此,除CRI和路徑特徵外,本地路徑選擇過程還可包括確定遠程通信應用的CRI(該操作將確定遠程通信設備的性能),以及遠程路徑的特徵。通過使用可用的本地和遠程通信特徵,本地通信應用和/或本地MMS不僅可更好地進行本地路徑選擇,還可控制、建議或同意對應的遠程路徑選擇結果。
如上所述,路徑重新選擇過程可由多種因素觸發。例如,某一時刻,第一路徑的質量下降到媒體下載應用310所期待的鏈路質量以下。媒體下載應用310對此作出響應,從第三路徑和第四路徑中選擇滿足所期待的鏈路質量的另一條或其它路徑。媒體下載應用310對數據流進行改道或分割,並使用第三和/或第四路徑替代第一路徑,或作為第一路徑的補充。MMS314與設備子驅動器316交互,將分組數據通過所選路徑傳送。設備子驅動器316為一套軟體,用於與MMS314和與四個上行接口(342、343、344和345)相關聯的硬體進行交互。
集成有支持功能的通信應用311,例如電話呼叫應用也運行在多路徑客戶端設備300上。例如,運行的電話呼叫應用並不從可用的四條上行路徑中選擇路徑,但協助這一選擇過程。電話呼叫應用將其CRI發往MMS314,後者將為電話呼叫應用進行路徑選擇。可在收到請求後,或者通過存儲系統304來傳送CRI。多路徑客戶端設備300的用戶使用用戶輸入接口330輸入電話呼叫建立請求。MMS314響應電話呼叫建立請求,也可以在更早以前(例如剛開始執行電話呼叫應用時),在確定該電話呼叫應用具備集成的支持功能後,從電話呼叫應用和/或存儲系統304獲取與該電話呼叫應用相關聯的CRI。MMS314也從存儲系統304和/或接口、或者四條路徑上的任意其它網絡節點獲取對應這四條通信路徑的多個路徑特徵。通過使用獲取的通信特徵,MMS314從四條可用路徑中為電話呼叫應用選擇或者在必要時重新選擇一條或多條路徑。
例如,MMS314選擇經由第二無線上行接口345的第三路徑,並控制對應第二無線上行接口345的設備驅動器通過第二無線上行接口345來為電話呼叫收發分組數據。多路徑客戶端設備300和連接到網際網路骨幹網上的目的終端之間的電話呼叫通過UMTS網絡和這四個接入點從多路徑客戶端設備300傳送到網際網路骨幹網。可由同一UMTS網絡或一些其它的分組交換網絡來承載從網際網路骨幹網到終端設備的電話呼叫。可由運行在目的終端上的第二MMS,和/或運行在網際網路骨幹網和目的終端之間任意節點上的一個或多個MMS選擇路徑來承載網際網路骨幹網和目的終端之間的電話呼叫。
在某一時刻,MMS314可無縫地切換至一條不同路徑,例如第二路徑。該切換操作可在第四路徑已無法滿足與電話呼叫應用相關聯的第二通信特徵時執行。例如,在該時刻,第四路徑上的幹擾超出所允許的最大上限,或UMTS網絡上的數據流量激增,使得多路徑客戶端設備300和UMTS網絡之間的第四路徑無法支持電話呼叫所要求的最低數據率。運行在多路徑客戶端設備300上的電話呼叫應用311可始終不知道已從第四路徑切換至第二路徑。在切換後,多路徑客戶端設備300和網際網路骨幹網之間的電話呼叫由第二接入點和光纖數據網絡承載。
作為選擇,在進行路徑選擇時,MMS314、遠程路徑管理應用,或通信應用310在收到或未收到相關的通信特徵的情況下,都向使用多路徑客戶端設備300的用戶顯示確認請求或者選擇請求。通常,這種顯示操作可通過屏幕進行,當然,也可使用其它方式。
通信應用軟體310或311可以是例如網際網路瀏覽應用程式,他們運行在單路徑或多路徑客戶端設備上,該設備可同時支持進行本地和遠程多路徑管理。例如,為配合遠程網際網路伺服器處進行的上行路徑選擇,可在運行於單路徑或多路徑客戶端設備上的這種網際網路瀏覽器的協助下,執行路徑選擇和無縫切換。同樣,多路徑管理軟體可加載到任何終端設備(也就是單路徑或多路徑客戶端或伺服器)上,協助進行遠程多路徑管理過程。如果本地存在多條可用路徑,則在需要時,可在遠程的協助下啟動本地多路徑管理功能。這種由通信應用或MMS314提供的協助可包括例如幫助將數據進行分段後通過多條路徑傳送,並在另一端重新組合;切換;建立半雙工路徑、改變網絡地址等。
通信應用軟體311可清楚上述過程的進行,同時更為重要的,可在進行上述過程中提供幫助。例如,通信應用軟體311可自動將當前以及以後的要求和條件直接發給MMS314,協助進行該路徑選擇和管理過程。根據顯示在多路徑客戶端設備300屏幕上的多個通信特徵,可向用戶提供四條路徑以供選擇。用戶可從這四條可用路徑中選擇多於一條路徑。通信應用軟體311響應用戶作出的路徑選擇,將選擇的路徑通知MMS314。若用戶只從四條可用路徑中選擇了一條可用路徑,則MMS314會控制對應的子驅動器將分組數據通過選擇的通信接口傳送。若用戶從四條可用路徑中選擇了兩條路徑,則MMS314將控制對應的兩個子驅動器將分組數據通過這兩條選擇的路徑傳送。MMS314會決定哪條路徑承載全部數據負載的哪個部分。MMS314可決定將相間的(alternate)數據分組通過兩條所選路徑中的一條傳送,並通過兩條所選路徑中的另一條來傳送其餘數據分組。
在第四實施例中,多路徑客戶端設備300上運行的通信應用312不具備多路徑管理功能。例如,運行在多路徑客戶端設備300上的多媒體消息應用既不直接管理也不幫助MMS314管理多路徑客戶端設備300的四條上行通信路徑。用戶使用用戶輸入接口330輸入多媒體消息發送請求。運行在多路徑客戶端設備300上的MMS314響應該多媒體消息發送請求,獲取對應多媒體消息應用312的第三通信特徵307。通過使用第三通信特徵307,MMS314判斷得知多媒體消息應用312不具備多路徑管理功能。MMS314收集四個接入點和多路徑客戶端設備300上對應的四個接口(342、343、344和345)之間的四條路徑的路徑特徵,將這些路徑特徵存儲於存儲系統304中。通過定期收集或用戶輸入的請求,MMS314對存儲的路徑特徵進行更新。
在該示範性實施例中,MMS314從四條可用路徑中選擇對應第二有線接口343的路徑來發送多媒體消息。在本實施例中,第二有線接口343與屬於光纖數據網絡的第二接入點相關聯。運行在多路徑客戶端設備300上的MMS314控制對應的設備子驅動器將此後與網際網路骨幹網之間收發的所有數據分組經由第二有線接口343傳送。子驅動器316是一套軟體,用於驅動對應第一有線上行接口342、第二有線上行接口343、第一無線上行接口344和第二無線上行接口345的所有硬設備。這些硬設備由其各自的MAC地址唯一標識。
這四個分組數據網中的數據流隨時間進行變化,因此,路徑特徵也隨時間進行變化。運行在多路徑客戶端設備300上的MMS314在固定的時間間隔收集這些路徑特徵,同時,多路徑客戶端設備300通過第二有線接口343向網際網路骨幹網發送多媒體消息。MMS314收集這些路徑特徵的時間間隔為一預先設定的值。例如,第二路徑上的幹擾級別隨時間不斷增加。可對MMS314進行設置,使得其在所選擇路徑上的幹擾級別超過一上限值時作出回應。該上限值可為一預先設定的值。如果在某一時刻,第二路徑上的幹擾級別超過該上限值,運行在多路徑客戶端設備300上的MMS314可查找最近一次收集的路徑特徵,從剩下的三條路徑(也就是,經由第一有線上行接口342的路徑、經由第一無線上行接口344的路徑,以及經由第二無線上行接口345的路徑)中選擇一條具有最低幹擾的備用路徑。例如但不限於,在該時刻,經由第一無線上行接口344的路徑具有最低幹擾。MMS314會控制對應第一無線上行接口344的子驅動器對硬體進行驅動,使多路徑客戶端設備300通過第一無線上行接口344來替代第二有線上行接口342收發數據。第一無線上行接口344與屬於衛星數據網絡的第三接入點相關聯。與第一無線上行接口344相關聯的硬體會向網際網路骨幹網發送多媒體消息。該多媒體消息最終到達與網際網路骨幹網相連的目的設備。MMS314和對應的子驅動器在該時刻將路徑從一條高干擾路徑切換至一條最低幹擾的路徑,並且沒有丟失數據。還可對MMS314進行配置,使其在所選路徑中的延遲超過上限時作出響應。
MMS314和子驅動器316通過用戶選擇的路徑對數據進行路由。在另一實施例中,運行在多路徑客戶端設備300上的應用無論何時需要從/向網際網路骨幹網收/發數據,MMS314都會查找最近一次收集的通信特徵值,並從當前可用路徑中選擇一條路徑。MMS314可根據從/向網際網路骨幹網收/發的數據的類型來選擇路徑。例如但不限於,本實施例中的通信應用為多媒體遊戲應用。該多媒體遊戲應用要下載大量數據,並要求等待時間很短。運行在多路徑客戶端設備300上的MMS314對該多媒體遊戲應用CRI作出響應,查找最近一次收集的路徑特徵值,從四條可用路徑中選擇一條可提供最高帶寬的路徑。在本實施例中,在四條可用路徑中,第二接入點和第二有線上行接口343之間的路徑可提供最高的帶寬。運行在多路徑客戶端設備300上的MMS314控制設備子驅動器316將此後多媒體遊戲應用要求的與網際網路骨幹網之間的所有數據收發過程都使用第二有線上行接口343進行。網際網路骨幹網和多路徑客戶端設備300之間的數據傳送通過光纖數據網進行。
在另一實施例中,例如但不限於,該應用為一IP網絡上的語音(VoIP)應用。該VoIP應用要與網際網路骨幹網之間收發數據。運行在多路徑客戶端設備300上的MMS314響應該VoIP應用條件,獲取最近一次收集的通信特徵,從四條可用路徑中選擇一條可提供最低延遲的路徑。在本實施例中,在四條可用路徑中,第四接入點和第二無線上行接口345之間的路徑可提供最低延遲。運行在多路徑客戶端設備300上的MMS314控制設備子驅動器316將VoIP應用要求的與網際網路骨幹網之間的所有數據收發過程都使用第二無線上行接口345進行。多路徑客戶端設備機300與網際網路骨幹網之間的數據收發過程通過WiMax網絡進行。
圖4是本發明運行有多個軟體的客戶端設備400的示意圖,該客戶端設備400支持從其自身到多個接入點的多條數據路徑。客戶端400可以是計算機、視頻遊戲機、電話機、電視機、機頂盒、耳機或任意的運行有要求與網際網路之間收發數據分組的至少一個應用的設備。如果客戶端設備400為計算機,則例如但不限於,運行在計算機400上的至少一個應用可以是網際網路瀏覽器(也就是網頁瀏覽)應用,它運行在OSI/ISO協議棧的第7層上。用戶通常通過顯示在計算機400屏幕上的網頁瀏覽器(也就是Internet Explorer、NetscapeNavigator、Mozilla Firefox等)與網際網路瀏覽應用交互。運行在計算機400上的該網際網路瀏覽應用響應用戶通過用戶輸入接口(通常為鍵盤和滑鼠)輸入的用戶選擇信息,觸發計算機400的通信接口(也就是,通常OSI/ISO協議棧第2層和/或第1層)向網際網路發送請求,請求此用戶選擇所指定的存檔數據(例如,網頁)。運行在計算機400上的低層硬體和軟體(也就是,OSI/ISO協議棧第6層、5層、4層、3層、2層)將該請求封裝到第一組多個分組中,並由計算機400的通信接口將第一組分組發往網際網路。計算機400的通信接口還從網際網路接收第二組多個分組,其中包含所請求的存檔數據(也就是網頁)。在本示範性實施例中,資料分組涉及第一組分組和第二組分組。運行在計算機400上的低層硬體和軟體(也就是,OSI/ISO協議棧第6層、5層、4層、3層、2層)從第二組多個分組中提取收到的存檔數據,將其轉發至網際網路瀏覽應用(也就是OSI/ISO協議棧第7層)。網際網路瀏覽應用在計算機400的屏幕上顯示收到的存檔數據,也就是所請求的網頁。
運行在計算機400上的這至少一個應用可以是網際網路電話應用。第一用戶與使用目的設備的第二用戶之間收發語音信息。網際網路電話應用同樣運行於目的設備上。該目的設備與網際網路相連。在這種情況下,第一組的多個分組包括使用計算機400的第一用戶的語音。第二組的多個分組包括使用目的設備的第二用戶的語音。
如果客戶端設備400是電視機和機頂盒,則例如但不限於,在電視機和機頂盒400上運行的這至少一個應用可以是電視節目收看應用。在這種情況下,第一組的多個分組包括發往網際網路的電視節目(錄播或直播多媒體信息,如新聞節目、足球比賽、音樂節目等)請求,第二組的多個分組包括所請求的電視節目。
客戶端設備400包括多個通信接口。客戶端設備400通過多條數據路徑與多個接入點通信。這多個接入點屬於多個不同的分組數據網絡。例如但不限於,客戶端設備400包括三個通信接口,有線接口、第一無線接口和第二無線接口。在開機後,客戶端設備400將其自身與可用的接入點相關聯。接入點包括收發器,從客戶端設備400接收數據分組,然後發往對應的分組數據網絡。同時,該接入點從對應的分組數據網絡接收數據分組,然後發往客戶端設備400。
例如但不限於,在第一時刻,客戶端設備400配置了屬於光纖數據網絡的第一接入點,屬於IEEE802.11網絡的第二接入點,屬於WiMax網絡的第三接入點,以及屬於衛星數據網絡的第四接入點。在客戶端設備400的有線接口中插接有光纖線纜。在開機後,客戶端設備400分別通過有線接口、第一無線接口和第二無線接口,將其自身與第一接入點、第二接入點和第三接入點相關聯。第一接入點為客戶端設備400的有線接口分配第一IP位址。這樣一來,客戶端設備400便可使用第一IP位址,通過有線接口和第一接入點與光纖數據網通信。第二接入點為客戶端設備400的第一無線接口分配第二IP位址。這樣一來,客戶端設備400便可使用第二IP位址,通過第一無線接口和第二接入點與IEEE802.11網絡通信。第三接入點為客戶端設備400的第二無線接口分配第三IP位址。這樣一來,客戶端設備400便可使用第三IP位址,通過第二無線接口和第三接入點與WiMax網絡通信。與客戶端設備400通信的多個接入點包括第一接入點、第二接入點和第三接入點。這多條數據路徑包括有線接口和第一接入點之間的第一數據路徑,第一無線接口和第二接入點之間的第二數據路徑,第二無線接口和第三接入點之間的第三數據路徑。多個不同的分組數據網絡包括光纖數據網絡、IEEE802.11網絡,以及WiMax網絡。
運行在客戶端設備400上的作業系統410(例如,Windows XP,UNIX,Linux等)與通信軟體應用程式交互。如414中所示,該通信應用軟體可以集成有控制功能。該通信應用軟體414用於監視和管理客戶端設備400和網際網路之間的多條數據路徑(第一數據路徑、第二數據路徑和第三數據路徑)。通信應用軟體414將決定使用多條可用路徑中的哪條或哪些條數據路徑在客戶端設備400和網際網路之間進行分組數據交換。此外,在某一時刻,通信應用軟體414還可對作出的決定進行更改,選擇一條不同路徑進行分組數據交換。將分組數據通信切換至另一條不同路徑上的決定可由下列事件觸發1)客戶端設備400的關聯網絡發生變化,這可能是由客戶端設備位置發生改變造成的;2)多條路徑的通信特徵發生變化,如數據流量、延遲、成本、多條路徑上經歷的擁塞等發生變化;3)通信應用414的通信特徵發生變化,如數據類型、數據負載量等發生變化。通信應用軟體414將使用一條或多條數據路徑的決定發往運行在客戶端設備400上的多路徑管理軟體420。MMS420控制低層(也就是OSI/ISO協議棧的第六層、第五層、第四層、第三層、第二層)硬體和運行在計算機400上的軟體控制分組數據經由選擇的一條或多條數據路徑傳送。MMS420幫助客戶端設備400使用通信應用軟體414選擇的數據路徑。通信應用軟體414可以是帶有多個新增功能的標準的網頁瀏覽應用(也就是,IE、網景、MozzilaFirefox等)。這些新增功能允許使用客戶端設備400的用戶與通信應用軟體414的多路徑管理功能進行交互。
如415中所示,該通信應用軟體可以集成有支持功能。該通信應用軟體415向運行在客戶端設備400上的多路徑管理軟體420(MMS)提供該通信應用的通信特徵。通信應用軟體415的通信特徵可包括通信應用軟體415交換的數據的類型和大小,通信應用415期待的最低數據率、安全級別及最大延遲等。對應通信應用軟體415的通信特徵可隨時間發生變化,它可在固定的時間間隔或通信特徵發生變化時,向MMS420提供這些通信特徵。MMS420響應通信應用軟體415生成的分組數據收發請求,查找通信特徵,並使用這些通信特徵從可用數據路徑中選出一條數據路徑。MMS420控制低層(也就是OSI/ISO協議棧的第六層、第五層、第四層、第三層、第二層)硬體和運行在客戶端設備400上的軟體控制分組數據經由選擇的數據路徑傳送。MMS420可選擇一條以上數據路徑為運行在客戶端設備400上的一個以上通信應用415服務。MMS420還可選擇一條以上數據路徑為運行在客戶端設備400上的單個通信應用415服務,並控制單個數據載荷(也就是單個通信應用415生成的數據分組)經由選擇的多條路徑傳送。由MMS420決定使用可用數據路徑中的哪條或者哪些條數據路徑來用於分組數據交換,同時,通信應用軟體415通過提供通信特徵來幫助MMS420作出選擇決定。
如416中所示,該通信應用軟體可不具備多路徑管理功能。該通信應用軟體416向MMS420發送分組數據收發請求。該請求可由用戶輸入觸發生成。MMS420響應該請求,從可用數據路徑中選擇一條或者多條數據路徑,並且控制低層硬體和運行在客戶端設備400上的軟體經由選擇的一條或多條數據路徑傳送數據分組。MMS使用多條可用路徑的通信特徵來選擇一條或多條路徑。MMS420還可在客戶端設備400的屏幕上彈出一個窗口,顯示多條可用路徑的通信特徵,如這些路徑承載的流量、這些路徑中的延遲、成本,以及這些可用路徑所經歷的擁塞等。用戶被提示輸入一個選擇。MMS420響應用戶的選擇信息,控制分組數據經由用戶選擇的數據路徑傳送。
MMS420控制多個低層設備驅動器(424、425、426和427)。低層設備驅動器是一套軟體,用於驅動與客戶端設備400一個或多個通信接口(也就是有線接口、第一無線接口,以及第二無線接口)相關聯的硬體。單入單出(SISO)低層設備驅動器437通過單條輸入線路從MMS420接收數據分組。SISO設備驅動器427對單條數據路徑上的數據分組交換進行控制。例如,SISO設備驅動器427驅動與第一無線接口相關聯的硬體。第一無線接口在第一時刻與IEEE802.11網絡相關聯。SISO設備驅動器427通過單條輸入線路從MMS420接收數據分組。MMS420將IEEE802.11網絡分配給第一無線接口的第二IP位址嵌入數據分組中。SISO設備驅動器427控制與第一無線接口相關聯的發射器發送數據分組。與第一無線接口相關聯的發射器發送的資料分組內嵌有第二IP位址。因此,屬於IEEE802.11網絡的第二接入點接收該發射器發送的數據分組。SISO設備驅動器427控制與第一無線接口相關聯的接收器查找其內嵌有第二IP位址的數據分組。當與第一無線接口相關聯的接收器檢測到內嵌有第二IP位址的數據分組,該接收器便接收這些數據分組,並將其轉發給SISO設備驅動器427。SISO設備驅動器427向MMS420轉發收到的數據分組。
MMS420控制SISO設備驅動器427收集與此單條數據路徑有關的通信特徵,該路徑上的數據分組交換由SISO設備驅動器427控制。物理層437涉及SISO設備驅動器427所控制的單條數據路徑。這些路徑特徵可包括數據路徑中的延遲、該數據路徑上的信噪比、與第一無線接口相關聯的發射器為保持預先定義的該數據路徑上的比特誤碼率所要求的功率。SISO設備驅動器427可請求第二接入點提供一些或全部的這種通信特徵,SISO設備驅動器427隨後將從第二接入點收到的這些通信特徵發往MMS420。SISO設備驅動器427可通過發送和接收訓練分組數據來測定一些或全部的這些通信特徵。
SISO設備驅動器427在固定的時間間隔收集與此單條路徑有關的這些路徑特徵。例如但不限於,MMS420在第二時刻接收多個通信特徵,並判斷出此單條數據路徑中的延遲大於預先設定的閾值。MMS420可控制SISO設備驅動器427改變關聯,切換到一個新的關聯上。SISO設備驅動器427可控制第一無線接口查找屬於無線分組數據網而不是IEEE802.11網絡的接入點。第一無線接口現在可將其自身與屬於WiMax網絡的第三接入點相關聯。該WiMax網絡可為第一無線接口分配第四IP位址。SISO設備驅動器427現在控制的是第一無線接口和屬於WiMax網絡第三接入點之間的一條不同路徑上的數據分組交換。路徑的切換由MMS420觸發和管理,這種切換操作可發生在第一無線接口沒在與網際網路之間發送或接收任何分組數據的時候(控制數據以及包含一些或全部統計信息的數據除外)。MMS420可控制SISO設備驅動器427收集與該條不同路徑有關的第二組通信特徵,從第二時刻起,該路徑上的數據分組交換由SISO設備驅動器427控制。
單入雙出(SIDO)低層設備驅動器426通過單條輸入線路從MMS420接收數據分組。SIDO設備驅動器426控制第一路徑435和第二路徑436上的數據分組交換。例如,SIDO設備驅動器426驅動與有線接口關聯的第一硬體,以及與第一無線接口關聯的第二硬體。在第一時刻,有線接口與光纖數據網絡相關聯,第一無線接口與IEEE802.11網絡相關聯。SIDO設備驅動器426通過單條輸入線路從MMS420接收數據分組。MMS420控制SIDO設備驅動器426收集與第一路徑435有關的第一組的多個通信特徵,該第一路徑435存在於有線接口和屬於光纖數據網絡的第一接入點之間。MMS420還控制SIDO設備驅動器426收集與第二路徑436有關的第二組的多個通信特徵,該第二路徑436存在於第一無線接口和屬於IEEE802.11網絡的第二接入點之間。MMS420使用第一組和第二組的多個通信特徵在第一路徑435和第二路徑436中間選出一條路徑。可對MMS420進行設置,使其選擇在指定時刻提供最低幹擾的那條路徑。還可對MMS420進行設置,使其選擇在指定時刻提供最高帶寬的那條路徑。
例如但不限於,第二路徑436可提供比第一路徑435更高的帶寬。在向SIDO設備驅動器426發送數據分組前,MMS420將IEEE802.11網絡分配給第一無線接口的第二IP位址嵌入數據分組內。MMS420控制SIDO設備驅動器426通過第二路徑436收發數據分組。SIDO設備驅動器426控制與第一無線接口相關聯的第二硬體發送數據分組。與第一無線接口相關聯的第二硬體所發送的數據分組內嵌有第二IP位址。因此,屬於IEEE802.11網絡的第二接入點接收上述發射器發送的數據分組。SIDO設備驅動器426控制第二硬體查找嵌有第二IP位址的數據分組。當第二硬體檢測到嵌有第二IP位址的數據分組,第二硬體接收這些數據分組,並轉發到SIDO設備驅動器426。SIDO設備驅動器426將收到的數據分組轉發給MMS420。
在第二時刻,客戶端設備400移至一新位置。這時,其與第二接入點之間的通信關聯已丟失。第一無線接口查找可用的無線分組數據網絡。例如,第一無線接口與屬於IEEE802.11網絡的第四接入點相關聯。第四接入點為第一無線接口分配第四IP位址。此時,第二路徑436是指第一無線接口和第四接入點之間的通信路徑。MMS420控制SIDO設備驅動器426收集與第一路徑435有關的第一組的多個通信特徵,以及與新的第二條路徑436有關的第三組的多個通信特徵。MMS420判斷出,在該第二時刻,有線接口和第一接入點之間的第一路徑435可比新的第二路徑436提供更高的帶寬。MMS420隨後控制SIDO設備驅動器426通過第一路徑435來路由數據分組,並停止通過新的第二路徑436發送和接收數據分組。在將數據分組發往SIDO設備驅動器426之前,MMS420將由屬於光纖數據網絡的第一接入點分配的第一IP位址嵌入數據分組中,這樣一來,SIDO設備驅動器426便可控制數據分組經由第一路徑435傳送。
多入多出(MIMO)設備驅動器424通過三條輸入線路從MMS420接收數據分組,也就是說,MIMO設備驅動器424接收運行在客戶端設備400上的三個不同應用所生成的數據分組。MIMO設備驅動器424控制第一路徑432和第二路徑433上的數據分組交換。例如,MIMO設備驅動器424驅動與第一無線接口相關聯的第一硬體,以及與第二無線接口相關聯的第二硬體。在第一時刻,第一無線接口與屬於IEEE802.11網絡的第二接入點相關聯,第二無線接口與屬於WiMax網絡的第三接入點相關聯。MIMO設備驅動器424通過三條輸入線路從MMS420接收數據分組。例如,客戶端設備400上運行有遊戲應用,網頁瀏覽應用,以及網際網路電話應用。這裡列舉的所有這些通信應用均不具備多路徑管理功能。MIMO設備驅動器424通過這三條輸入線路接收對應於遊戲應用的第一組數據分組,對應於網頁瀏覽應用的第二組數據分組,以及對應於網際網路電話應用的第三組數據分組。
MMS420從第一路徑432和第二路徑433中選出一條更高帶寬的路徑,然後控制MIMO設備驅動器424通過這條具有更高帶寬的路徑路由對應遊戲應用的第一組多個數據分組。如果在第二時刻,控制設備上未運行該遊戲應用,則MMS420將控制MIMO設備驅動器424通過這條具有更高帶寬的路徑路由對應網際網路電話應用的第三組數據分組。例如但不限於,在第三時刻,第二無線接口和屬於WiMax網絡的第三接入點之間的第二路徑433斷開。這時,第二無線接口就將自身與屬於IEEE802.11網絡的第五接入點相關聯。第一路徑432指的是第一無線接口和屬於IEEE802.11網絡的第二接入點之間的路徑。第二路徑433指的是第二無線接口和屬於IEEE802.11網絡的第五接入點之間的路徑。
在第三時刻,第一路徑432和第二路徑433提供同樣大小的帶寬。這時,MMS420會控制MIMO設備驅動器424通過具有更低幹擾的路徑路由對應遊戲應用的第一組分組數據。MMS420負責從多條路徑(例如,第一路徑432和第二路徑433)選出一條路徑,並通過控制低層設備驅動器(424、425、426和427中的一個或多個)與對應硬體(例如,發射器和接收器)之間進行交互,來保持選中路徑上的分組數據交換。MMS420和低層設備驅動器(424、425、426和427中的一個或多個)可獲取對應多條路徑的多個通信特徵,並使用這些獲取的通信特徵無縫切換至一條新路徑,以繼續進行數據分組交換。
例如,在第一時刻,客戶端設備400通過其有線接口與屬於光纖數據網絡的第一接入點相關聯,通過其第一無線接口與屬於IEEE802.11網絡的第二接入點相關聯,通過第二無線接口與屬於WiMax網絡的第三接入點相關聯。因此,客戶端設備400可通過這三條可用路徑中的任意一條或多條來與網際網路進行分組數據交換,這三條路徑分別是,第一接入點和有線接口之間的第一路徑,第二接入點和第一無線接口之間的第二路徑,以及第三接入點和第二無線接口之間的第三路徑。在該第一時刻,客戶端設備400啟動網際網路電話應用。該網際網路電話應用具有集成的控制功能。該網際網路電話應用414從MMS420接收對應這三條可用路徑的通信特徵。該網際網路電話應用414使用這些通信特徵從三條可用路徑中選擇一條路徑,並控制MMS420將語音分組流經由選擇的路徑傳送。例如,該網際網路電話應用414確定在三條可用路徑中,第一路徑可提供最低成本,因此便選擇第一路徑來交換語音分組。在第二時刻,該網際網路電話應用414開始在發送語音分組的同時發送視頻分組。該網際網路電話應用從其餘兩條可用路徑中選擇另一條路徑。例如,該網際網路電話應用414確定,在所有三條路徑(第一路徑、第二路徑和第三路徑)中,第二路徑可提供最高帶寬,便使用第二路徑向網際網路發送視頻分組。從第二時刻起,該網際網路電話應用414使用第一路徑交換語音分組,使用第二路徑發送視頻分組。在第二時刻,第三路徑處於空閒狀態。
在第三時刻,該網際網路電話應用414想要與網際網路(或連接到網際網路的終端設備)交換控制數據分組。該網際網路電話應用414知道控制數據分組需要在最安全的路徑上進行傳送。該網際網路電話應用414確定,在三條路徑中,第一路徑是最安全路徑。但此刻語音分組正經由第一路徑傳送。該網際網路電話應用414控制MMS420經由第三路徑傳送語音分組,經由第一路徑傳送控制數據分組。該網際網路電話應用414控制語音分組從第一路徑無縫切換至第三路徑繼續傳送,這樣一來在切換過程中便不會有語音分組丟失。從第三時刻起,客戶端設備400通過第一路徑發送控制數據分組,通過第二路徑發送視頻分組,通過第三路徑與網際網路交換語音分組。
圖5是本發明運行有多個軟體的接入點500的示意圖,該接入點500支持從其自身到多個客戶端設備的第一組多條數據路徑,以及從其自身到分組交換網絡的第二組多條數據路徑。接入點500與分組交換網絡和多個客戶端設備相關聯。該接入點和分組交換網絡可使用同一種協議,接入點使用該協議與分組交換網絡通信。接入點為多臺客戶端設備分配多個IP位址。接入點500包括至少一個收發器,它通過第二組多條數據路徑中的一條從分組交換網絡接收第一組多個數據分組,並從多臺客戶端設備中確定第一組多個數據分組的目的設備,然後將收到的數據分組發往確定的客戶端設備。該收發器還從多個接入點中的一個或一些接收第二組數據分組,然後通過第二組多條數據路徑中的一條將第二組多個數據分組發往分組交換網絡。運行在接入點500上的多路徑管理軟體(MMS)550從第二組多條數據路徑中選擇其中的一條,用於在該接入點和分組數據網絡之間進行數據分組交換。
例如但不限於,接入點500通過第一路徑570、第二路徑572和第三路徑574與WiMax網絡相關聯。第二組多條數據路徑指的是第一路徑570、第二路徑572和第三路徑574。雙入單出(DISO)設備驅動器560是一套軟體,用於驅動對應第一路徑570的第一硬體電路。對應第一路徑570的第一硬體電路至少包括第一收發器,用於通過第一路徑570收發數據分組。在本實施例中,第一路徑570是接入點500和屬於WiMax網絡的集線器或交換機或另一接入點之間的第一無線路徑。通過第一路徑570傳送的數據分組遵守WiMax協議。WiMax網絡為第一路徑570分配第一IP位址。DISO設備驅動器560通過第一輸入路徑和第二輸入路徑從MMS550接收數據分組。DISO設備驅動器560用於將來自第一輸入路徑和第二輸入路徑的數據分組轉發給對應第一路徑570的第一硬體電路。
MMS550可控制DISO設備驅動器560收集對應第一路徑570的第一路徑特徵。該第一路徑特徵可包括WiMax網絡分配給第一路徑570的IP位址(也就是第一IP位址)、第一路徑570上的延遲、第一路徑570上的數據流、第一路徑570的成本、第一路徑570使用的跳數(hops)等。第一路徑特徵隨時間進行變化。MMS550可控制DISO設備驅動器560定期收集第一路徑特徵。MMS550可從DISO設備驅動器560接收第一路徑特徵,並將其存儲在接入點500的存儲系統中。在需要時,MMS550還可從第二存儲系統獲取第一路徑特徵。第一路徑特徵中的一個或多個參數可能是出廠設置值,它們存儲在接入點500的存儲系統中。
單入雙出(SIDO)設備驅動器565是一套軟體,用於驅動對應第二路徑572的第二硬體電路,以及驅動對應第三路徑574的第三硬體電路。第二和第三硬體電路至少分別包括第二收發器和第三收發器,分別用於通過第二路徑572和第三路徑574收發數據分組。在本實施例中,第二路徑572和第三路徑574分別是接入點500和WiMax網絡中相同或不同集線器或交換機之間的第二無線路徑和第三無線路徑。WiMax網絡分別為第二路徑572和第三路徑574分配第二IP位址和第三IP位址。SIDO設備驅動器565通過單條輸入路徑從MMS550接收數據分組,並可在MMS550監控下,將來自單條輸入路徑的數據分組轉發給對應第二路徑572的第二硬體電路或對應第三路徑574的第三硬體電路。MMS550可控制SIDO設備驅動器565定期分別收集對應第二路徑572和第三路徑574的第二路徑特徵和第三路徑特徵,並將它們發往MMS550。在需要時,MMS550還可從第二存儲系統獲取第二路徑特徵和第三路徑特徵。
在本示範性實施例中,MMS550用於控制將由運行在接入點500上的任意應用生成的分組數據通過三條路徑,即第一路徑570、第二路徑572,以及第三路徑574中可提供最低延遲的路徑傳送。例如但不限於,接入點500上運行有視頻下載應用。該視頻下載應用要從網際網路下載(接收)一存檔的視頻文件。接入點500通過WiMax網絡與網際網路相連。接入點500可通過第一路徑570、第二路徑572,以及第三路徑574中的任一路徑連接到WiMax網絡。運行在接入點500上的MMS550有第一路徑特徵、第二路徑特徵,以及第三路徑特徵。MMS550使用第一路徑特徵、第二路徑特徵和第三路徑特徵從第一路徑570、第二路徑572和第三路徑574中確定可提供最低延遲的那條路徑。例如,第二路徑572可提供最低的延遲。MMS550控制SIDO設備驅動器565通過第二路徑572從網際網路接收對應該存檔的視頻文件的數據分組。SIDO設備驅動器565控制對應第二路徑的第二硬體從網際網路接收對應所存檔視頻文件的數據分組。SIDO設備驅動器565將收到的數據分組轉發給MMS550,後者將這些數據分組轉發給該視頻下載應用。
例如但不限於,雙入雙出(DIDO)設備驅動器510驅動對應雙路徑530的第五硬體和第六硬體。第一客戶端設備通過雙路徑530與接入點500的第五硬體和第六硬體相連。MMS550控制DIDO設備驅動器510收集對應雙路徑530的路徑特徵。第一客戶端設備無論何時想要從/向接入點收/發數據分組,就向接入點發送請求。MMS550響應來自客戶端設備的請求,使用對應雙路徑530的路徑特徵從雙路徑530選出一條路徑。MMS550控制客戶端設備使用從雙路徑530選出的路徑從/向接入點收/發數據。MMS550控制DIDO設備驅動器510使用對應所選出路徑的硬體與第一客戶端設備收發數據分組。
圖6是本發明計算設備協議層所執行功能的流程圖,該計算設備支持從其自身到網際網路的多條路徑,並且該計算設備上運行有不具備多路徑管理功能的通信應用。如步驟604所示,該計算設備的最上層協議層運行有網際網路瀏覽程序。該網際網路瀏覽應用不具備多路徑管理功能。使用該網際網路瀏覽程序的用戶輸入用戶選擇。該用戶選擇可能指向一網頁。該網際網路瀏覽程序生成一請求數據,向網際網路請求所選擇的網頁。如步驟606所示,低層協議層(lower protocollayer)對請求數據進行加密和/或編碼。通過執行加密和/或編碼,可避免請求數據在通過物理介質傳送時產生可能的錯誤。如步驟608所示,下一低層協議層選擇一通信協議,該計算設備(也就是該計算設備的硬體和/或軟體)使用該協議從/向網際網路收/發數據信息。如步驟610所示,更低層協議層(furtherlower protocol layer)對請求數據進行分段,然後裝入分組中。
該計算設備至少包括以太LAN無線模塊、IEEE802.11無線模塊,以及GPRS無線模塊。該計算設備分別使用以太LAN無線模塊、IEEE802.11無線模塊,以及GPRS無線模塊通過以太區域網(LAN)、IEEE802.11網絡和GRPS網絡連接到網際網路。如步驟614所示,以太LAN無線模塊由第一MAC地址唯一標識。如步驟616所示,IEEE802.11無線模塊由第二MAC地址唯一標識。如步驟618所示,GPRS無線模塊由第三MAC地址唯一標識。因此,該計算設備通過至少三條通信路徑與網際網路相連,這三條路徑是通過以太LAN無線模塊實現的第一路徑、通過IEEE802.11無線模塊實現的第二路徑,以及通過GPRS無線模塊實現的第三路徑。如步驟612所示,第二低層協議層(second next lower protocollayer)在固定的時間間隔,計算該計算設備和網際網路之間每條路徑的成本。每條路徑的成本與對應路徑的資金成本、對應路徑上的數據流量、對應路徑中的延遲,以及對應路徑中的幹擾等參數有關。與每條路徑成本有關的參數隨時間進行變化。第二低層協議層在固定的時間間隔獲取這些參數,隨後計算並更新每條路徑的成本。如步驟612所示,第二低層協議層從步驟610接收包含請求數據的分組。第二低層協議層控制包含請求數據的分組通過這些路徑中成本最低的路徑傳送。這些分組通過最低成本的路逕到達物理層(有線或無線)。若最低成本路徑為通過以太LAN無線模塊實現的第一路徑,則該分組中將嵌入第一IP位址。若最低成本路徑為通過IEEE802.11無線模塊實現的第二路徑,則該分組中嵌入第二IP位址。若最低成本路徑為通過GPRS無線模塊實現的第三路徑,則該分組中嵌入第三IP位址。嵌有IP位址的分組通過選擇的最低成本路逕到達網際網路。
在另一實施例中,在從步驟610收到包含請求數據的分組後,第二低層協議層控制分組經由一條以上路徑進行傳送。例如,第二低層協議層從多條路徑中選擇兩條路徑。所選擇的兩條路徑對應多條路徑中的兩條成本最低的路徑。第二低層協議層將收到的分組平均分成具有相同分組數量的兩組,並控制第一組分組經由兩條所選路徑中的一條傳送,其餘分組經由兩條所選路徑中的另一條傳送。第一組分組經由兩條所選路徑中的一條到達物理介質,第二組分組經由經由兩條所選路徑中的另一條到達物理介質。第二低層協議層還可將收到的分組分成具有不同分組數量的兩組。第二低層協議層可控制分組數量多的一組分組經由成本最低的路徑傳送,控制分組數量少的一組分組經由成本第二低的路徑傳送。
圖7是本發明運行在計算設備上的通信應用管理該計算設備和至少一個分組數據網絡之間的多條通信路徑的方法的流程圖。該計算設備可以是個人計算機、電話機、與電視機相關聯的機頂盒,或者可與分組數據網絡通信的任何類型的設備。該至少一個分組交換網絡可以是有線網絡、光纖網絡、衛星數據網絡、WiMax網絡、IEEE802.11網絡、UMTS網絡、GPRS網絡、CDMA網絡,或者可將數據分段放入分組中進行傳輸的任何類型的標準或專用數據網絡。數據指的是視頻、音頻、音樂視頻、視頻遊戲、語音對話、圖片、文本消息、電視節目,以及任何實時或存檔的多媒體信息中一種或多種。
在步驟705,計算設備開機,該設備的作業系統(OS)(例如,Windows XP,Linux,Unix等)開始啟動。在步驟705,作業系統(OS)啟動多路徑管理軟體(MMS)。該計算設備包括多個通信接口。該計算設備在開機後,便開始將每個通信接口與至少一個分組數據網絡相關聯。該計算設備可嘗試將其通信接口與多種分組數據網絡相關聯。該計算設備可以是個人計算機,該個人計算機可以包括第一通信接口、第二通信接口和第三通信接口。該個人計算機在開機時便可將第一通信接口與屬於IEEE802.11網絡的第一接入點相關聯。因此,在第一通信接口和屬於IEEE802.11網絡的第一接入點之間便建立起第一通信路徑。該個人計算機還可將第二通信接口與屬於WiMax網絡的第二接入點相關聯。因此,在第二通信接口和屬於WiMax網絡的第二接入點之間便建立起第二通信路徑。該個人計算機還可將第三通信接口與屬於UMTS網絡的第三接入點相關聯。因此,在第三通信接口和屬於UMTS網絡的第三接入點之間便建立起第三通信路徑。在該實施例中,第一、第二和第三通信接口為無線接口。第一、第二和第三通信接口中的一個或多個還可以是有線接口。在這種情況下,個人計算機可將該有線接口與有線分組數據網絡相關聯。多條通信路徑指的是第一、第二和第三通信路徑。運行在該個人計算機上的MMS對第一、第二和第三通信路徑進行管理和監視。
如步驟705所示,在啟動後,MMS便開始分析並監視該計算設備的多個通信接口,以及多條相關的通信路徑。在下一步驟707,將啟動一通信應用。該通信應用具備內置的多路徑控制功能。如步驟709所示,該通信應用請求運行在個人計算機(計算設備)上的MMS將路徑控制和監視任務交由該通信應用負責。該通信應用可以是多媒體文件下載應用,視頻遊戲應用、網際網路瀏覽應用、網際網路電話應用、電話會議應用,或需要在該計算設備(計算機)和網際網路之間收發分組數據的任何其它類型應用。MMS可允許該通信應用對多條通信路徑(第一、第二和第三通信路徑)進行控制和監視。在另一實施例中,MMS可允許該通信應用控制這些路徑,同時,MMS繼續監視這些通信路徑,並定期向該通信應用報告這些通信路徑的通暢性。
例如但不限於,在步驟709,MMS定期監視這些通信路徑,並將路徑控制功能交由運行在計算設備上的通信應用。該MMS從三個通信接口(有線接口、第一無線接口和第二無線接口)收集路徑特徵。這些路徑特徵通常包括三條路徑(第一、第二和第三通信路徑)的成本,以及三條路徑所支持的最大數據率和帶寬、三條路徑中的延遲、三條路徑上的數據流量等。MMS將這些路徑特徵存儲在該計算設備的內存中。如步驟711所示,通信應用可從MMS或內存中獲取這些路徑特徵。該通信應用還可提示使用該計算設備的用戶輸入用戶選擇。該通信應用使用用戶選擇從三條通信路徑中選擇一條或多條路徑進行分組數據交換。該通信應用還可使用這些通信接口的預設或預先設置值。例如,有線接口所支持的最大數據率可以預先設置,該預先設置值存儲於該計算設備的內存中。該通信應用使用存儲於該計算設備中的預先設置值從三條通信路徑中選擇一條或多條路徑進行分組數據交換。
在下一步驟713,該通信應用從三條通信路徑中選擇一條或多條路徑。該通信應用使用獲取的路徑特徵來進行路徑選擇。例如該通信應用要求使用至少可提供其所要求的最低數據率的通信路徑。該通信應用還可使用通信應用條件,也就是所要求的最低數據率來選擇路徑。例如但不限於,該通信應用要求該計算設備和網際網路之間的最低數據傳輸率要高於其所要求的最低數據率。該通信應用分析這三條通信路徑,並判斷出三條路徑中沒有一條可支持其所要求的最低數據率,但如果同時使用第一路徑和第三路徑便可達到其所要求的最低數據率。該通信應用將其生成的數據分組分成兩個部分,並控制數據分組的第一部分經由第一通信接口傳送,數據分組的第二部分經由第三通信接口傳送。類似的,該通信應用通過第一通信接口接收一部分數據分組,通過第三通信接口接收數據分組的其餘部分。
如步驟715所示,MMS通常會在固定的時間間隔對這些路徑特徵進行更新,這是因為這些路徑特徵經常隨時間發生變化。該通信應用定期從MMS獲取這些路徑特徵。在步驟709,若MMS將路徑監視任務交由該通信應用,則在步驟715,該通信應用定期從三個通信接口和/或三個接入點收集這些路徑特徵。這些路徑特徵可能隨時間發生變化,在某一時刻,第一路徑可能無法提供該通信應用所要求的最低數據率。這可能是由於在該時刻IEEE802.11網絡中的數據流量激增,或者第一路徑中的幹擾級別增加造成的。該通信應用響應路徑特徵變化,選擇一條不同的路徑,並控制數據分組經由新選擇的路徑傳送。如步驟717所示,從該時刻起,該通信應用停止使用第一路徑。如步驟715所示,MMS和/或該通信應用繼續監視三條路徑。
該計算設備的作業系統還可啟動第二通信應用。第二通信應用的優先級可能高於當前正在運行的通信應用。第二通信應用從當前正在運行的通信應用處接管通信路徑控制功能。第二通信應用使用路徑特徵、用戶選擇和第二通信應用和當前正在運行的通信應用的通信條件從三條路徑中選擇路徑。如步驟719所示,第二通信應用控制數據分組經由選擇的路徑傳送。若第二通信應用決定控制對應當前正在運行的通信應用的數據分組經由第二通信接口傳送,則第二通信應用要確保在當前正在運行的通信應用將數據通信從第一通信接口和第三通信接口切換至第二通信接口的過程中不會丟失數據分組。若第二通信應用的優先級等於或低於當前正在運行的通信應用,則當前正在運行的通信應用便選擇可用的通信路徑供第二通信應用使用。在本示範性實施例中,當前正在運行的通信應用將對應第二通信應用的所有分組數據經由唯一可用的第二通信路徑傳送。
圖8是本發明運行在計算設備上的多路徑管理軟體在通信應用支持下,管理該計算設備和至少一個分組數據網絡之間多條通信路徑的方法的流程圖。該計算設備可以是個人計算機、電話機、與電視機相關聯的機頂盒、屬於分組數據網絡的接入點,或者可與分組數據網絡通信的任何類型的設備。該至少一個分組交換網絡可以是有線網絡、光纖網絡、衛星數據網絡、WiMax網絡、IEEE802.11網絡、UMTS網絡、GPRS網絡、CDMA網絡,或者可將數據分段放入分組中進行傳輸的任何類型的標準或專用數據網絡。數據指的是視頻、音頻、音樂視頻、視頻遊戲、語音對話、圖片、文本消息、電視節目,以及任何實時或存檔的多媒體信息中的一種或多種。
在步驟805,計算設備開機,該設備的作業系統(OS)(例如,Windows XP,Linux,Unix等)開始啟動。在步驟805,作業系統(OS)啟動多路徑管理軟體(MMS)。該計算設備包括多個通信接口。該計算設備在開機後,便開始將每個通信接口與至少一個分組數據網絡相關聯。如果該計算設備為接入點,則該計算設備(接入點)嘗試關聯到同一分組數據網絡。如果該計算設備為一客戶端設備,例如,個人計算機、耳機、電話機,則該計算設備可嘗試將通信接口與多種類型的分組數據網絡相關聯。該計算設備可以是個人計算機,該個人計算機可具備第一通信接口、第二通信接口和第三通信接口。該個人計算機在開機時便可將第一通信接口與屬於IEEE802.11網絡的第一接入點相關聯。因此,在第一通信接口和屬於IEEE802.11的第一接入點之間便建立起第一通信路徑。該個人計算機還可將第二通信接口與屬於WiMax網絡的第二接入點相關聯。因此,在第二通信接口和屬於WiMax網絡的第二接入點之間便建立起第二通信路徑。該個人計算機還可將第三通信接口與屬於UMTS網絡的第三接入點相關聯。因此,在第三通信接口和屬於UMTS網絡的第三接入點之間便建立起第三通信路徑。在該實施例中,第一、第二和第三通信接口為無線接口。第一、第二和第三通信接口中的一個或多個還可以是有線接口。在這種情況下,個人計算機可將該有線接口與有線分組數據網絡相關聯。多條通信路徑指的是第一、第二和第三通信路徑。運行在該個人計算機上的MMS對第一、第二和第三通信路徑進行管理和監視。
如步驟805所示,在啟動後,MMS開始對該計算設備的多個通信接口以及相關聯的多條通信路徑進行監視。在下一步驟807,第一通信應用和第二通信應用啟動。第一和第二通信應用都具備內置的多路徑支持功能。第一通信應用要求使用至少可提供其所要求的最低數據率的通信路徑。第一CRI,也就是對應該第一通信應用的所要求的最低數據率可存儲在存儲系統中。在下一步驟809,MMS從存儲系統獲取該第一CRI,或者從第一通信應用接收該第一CRI。在步驟809,若該第一CRI在存儲系統中不存在,則MMS會提示用戶輸入第一CRI。MMS通過該計算設備的用戶輸入接口接收用戶輸入的第一CRI。該計算設備的用戶輸入接口可以是鍵盤、滑鼠、觸控螢幕、多個按鈕等。若在步驟809,用戶未輸入第一CRI,則MMS將在步驟809使用預設或預先設置值。例如,第一通信應用可能是網頁瀏覽應用。對應網頁瀏覽應用的帶寬值可能存儲於該計算設備的存儲系統中。該計算設備的製造商可對該帶寬值進行設定。MMS從存儲設備中獲取該預先設置的帶寬值,並在下一步驟811從三條可用通信路徑中選擇一條通信路徑,且所選路徑的帶寬大於或等於上述預先設定的帶寬值。
在步驟809,MMS還接收對應第二通信應用的第二CRI,該第二通信應用在步驟807啟動。第二CRI可包括第二通信應用可以忍受的最大延遲,以及第二通信應用所要求的最小信噪比。若該計算設備為接入點,也就是說MMS運行在接入點例如第一接入點上,而不是個人計算機上,則運行在第一接入點上的MMS在步驟809通過第一通信路徑從個人計算機接收對應第一通信應用的第一CRI和對應第二通信應用的第二CRI。
在步驟809,MMS還獲取多個路徑特徵。若該MMS運行在客戶端設備如個人計算機上,則路徑特徵指的就是該個人計算機和網際網路之間的三條通信路徑(第一、第二和第三通信路徑)的特徵。對應一條路徑的特徵通常包括該路徑上的數據負載量、該路徑中的幹擾、與該路徑相關聯的成本等。若MMS運行在接入點例如第一接入點上,則該路徑特徵指的是與該接入點和網際網路之間的上行路徑相關聯的特徵,以及與該接入點和客戶端設備之間的下行路徑相關聯的特徵。個人計算機和第一接入點之間的第一通信路徑是該接入點所有下行路徑中的一條。該第一接入點的路徑特徵包括對應該第一路徑的特徵。MMS從相關的通信接口、相關的接入點,或相關分組數據網絡中的任何其它節點獲取該路徑特徵。
運行在計算設備上的MMS可在三種模式下運行A)由MMS來決定使用可用路徑中的哪條或哪些路徑來收發對應第一通信應用和第二通信應用的分組數據。在步驟811,MMS使用第一CRI、第二CRI和路徑特徵來作出上述決定。如步驟809所示,第一CRI和第二CRI可直接或間接的收集。B)MMS將收集到的第一CRI、第二CRI和路徑特徵發往接入點或相關聯分組數據網絡的任何其它節點。在這種情況下MMS不承擔步驟811所示的路徑選擇任務。C)運行在計算設備上的MMS與運行在相關聯分組數據網絡任何其它節點上的一個或多個MMS共同進行路徑選擇。例如,運行在個人計算機上的MMS和運行在IEEE802.11網絡伺服器上的第二MMS可共同決定使用個人計算機和第一接入點之間的第一路徑來收發屬於第一通信應用的分組數據。
例如但不限於,運行在個人計算機上的MMS知道個人計算機(計算設備)和第一接入點之間的第一路徑、個人計算機(計算設備)和第二接入點之間的第二路徑,以及個人計算機(計算設備)和第三接入點之間的第三路徑都可用於與網際網路之間收發數據。在步驟811,MMS從三條可用通信路徑中選擇一條滿足第一CRI(也就是能夠滿足第一通信應用所要求的最低數據率)的路徑。滿足第一CRI的路徑可能不止一條。MMS可從這不止一條路徑中隨機選擇一條路徑。在步驟811,MMS控制個人計算機使用所選擇的路徑與網際網路收發第一通信應用所要求或生成的數據分組,直到收到MMS的下一條指令。在步驟811,個人計算機通過選擇的路徑向網際網路發送第一網頁請求。該個人計算機通過選擇的路徑從網際網路接收所請求的網頁(以分組數據的形式)。
若該計算設備為第一接入點,則在步驟811,運行在第一接入點上的MMS判斷該個人計算機和第一接入點之間的唯一路徑(也就是第一通信路徑)是否滿足第一CRI。若是,則運行在第一接入點上的MMS控制該接入點使用第一通信路徑承載對應第一通信應用的分組數據。
運行在該個人計算機上的MMS選擇滿足第二CRI(也就是第二通信應用可以忍受的最大延遲以及第二通信應用所要求的最小信噪比)的另一路徑。在步驟811,MMS控制該個人計算機使用選擇的路徑與網際網路收發第二通信應用所要求或生成的數據分組,直到收到MMS的下一條指令。
如步驟813所示,運行在該計算設備(個人計算機或第一接入點)上的MMS周期性地監視所選擇的路徑以及其它可用通信路徑和CRI。如果在某一時刻,第一通信應用所使用的路徑無法滿足第一CRI,則在下一步驟815,MMS會從其它可用通信路徑中選擇一條滿足第一CRI的不同路徑,並控制第一通信應用使用該不同路徑代替前一路徑進行數據分組交換,直到收到MMS的下一條指令。如步驟813所示,MMS繼續周期性地監視該計算設備和網際網路之間的所有可用路徑。在步驟813,類似的,MMS周期性地監視第二通信應用所使用的路徑,並在步驟815,根據第二CRI和該路徑的通暢性和/或特徵(例如,該路徑提供的帶寬、該路徑中存在的延遲、流經該路徑的數據流量等)控制所使用路徑的改變。在步驟815,MMS可改變第二通信應用所使用的路徑,因為該路徑中的延遲可能已超過第二CRI中指定的上限。
如步驟817所示,該計算設備可從第三通信應用接收路徑建立請求。在步驟817中,第一或第二通信應用可能停止工作。在所有這些情況中,如步驟817所示,MMS需要對該計算設備(個人計算機或接入點)和網際網路(或客戶端設備)之間的可用通信路徑重新進行評估,並且作出新的決定,該決定是關於哪個通信應用使用哪條通信路徑。
圖9是本發明運行在計算設備上的多路徑管理軟體獨立管理該計算設備和至少一個分組數據網絡之間多條通信路徑的方法的流程圖。在步驟905,該計算設備開機,其作業系統(OS)啟動。在步驟905,作業系統(OS)啟動多路徑管理軟體(MMS)。例如但不限於,該計算設備包括多個通信接口,並在開機後便將其自身與多個分組數據網絡相關聯,具體來說,是通過對應的通信接口與對應的分組數據網絡來建立這種關聯。運行在該計算設備上的MMS對這些關聯進行管理和監視。
在下一步驟907,多個通信應用啟動。該計算設備的作業系統可在設備啟動時便啟動這些通信應用。這些通信應用的典型實例為作業系統更新或病毒庫更新。用戶可使用該計算設備的用戶輸入接口輸入其選擇。該選擇可觸發通信應用的啟動。這種通信應用的典型實例為電話呼叫應用、網際網路電話應用、媒體下載應用等。在下一步驟909,MMS從在步驟907中啟動的多個通信應用接收路徑建立請求。這些通信應用不具備多路徑管理功能。這些通信應用也無法向MMS提供有關這些通信應用特徵的任何信息。
在步驟909,MMS響應從多個通信接口收到的路徑建立請求,獲取多個路徑特徵。若MMS運行在客戶端設備如個人計算機上、電話、機頂盒等上,則路徑特徵指的是該計算設備的這些通信接口與相關聯的分組數據網絡之間的上行通信路徑的特徵。對應這些路徑的特徵通常包括該路徑上的數據負載量、該路徑上的幹擾、該路徑的成本等。若MMS運行在接入點上,則這些路徑特徵指的是該接入點和網際網路之間上行路徑的特徵,以及該接入點和相關聯的客戶端設備之間下行路徑的特徵。MMS從這些通信接口獲取對應接入點或相關聯分組數據網絡中任何其它節點的路徑特徵。
如步驟909所示,MMS還可查找這些通信接口的預設或預先設定特徵。例如,該計算設備有線接口的製造商可設定該有線接口所支持的最大數據率。在步驟909,MMS從該計算設備的內存中獲取該預先設定的最大數據率值。該預先設定的最大數據率可告訴MMS可以以小於等於該預先設定的最大數據率經由該有線接口傳送數據分組。若試圖以更高數據率進行分組交換,將導致數據分組的丟失或數據分組接收錯誤。
運行在計算設備上的MMS可在三種模式下運行A)由MMS來決定使用可用路徑中的哪條或哪些路徑來收發對應這些通信應用的分組數據。在步驟911,MMS使用路徑特徵和/或預先設定值來作出上述決定。B)MMS將收集到的路徑特徵值發往接入點或相關分組數據網絡中的任何其它節點。在這種情況下,MMS不承擔步驟911中的路徑選擇任務。C)運行在該計算設備上的MMS與運行在相關聯分組數據網絡任何其它節點上的一個或多個MMS共同執行路徑選擇。
MMS在收集完這些路徑特徵後,可向用戶顯示這些路徑特徵。MMS可將這些路徑特徵顯示在該計算設備的屏幕上。在收到MMS提示後,用戶輸入路徑選擇。MMS可使用用戶選擇的路徑來收發對應這些通信應用的分組數據。
如步驟913所示,運行在計算設備上的MMS周期性地監視所選擇的路徑以及其它可用通信路徑。若路徑特徵發生變化,則MMS在步驟915從一條路徑無縫切換至另一條路徑,並確保不會有數據因為發生路徑切換而丟失。若啟動了一個新通信應用,則MMS在步驟917從所有可用的空閒路徑中選擇一條最佳路徑。若這些通信應用中的一個或多個停止運行,則MMS重新評估路徑特徵,並將這些路徑在當前運行的通信應用中重新分配。
圖10是本發明多路徑管理軟體(MMS)所執行的示範性路徑選擇過程的功能示意圖。第一終端設備1011和第二終端設備1041之間的通信可由網絡節點1025、網際網路骨幹網1003、以及分別由第一、第二、第三和第四接入點(AP)1021、1051、1031和1045所支持的所有可用路徑中選擇的任意一條或多條路徑承載。根據路徑建立參數,以及內在的基礎通信應用條件,運行在第一和第二終端設備1011和1041,第一、第二、第三和第四AP1021、1051、1031和1045,以及網絡節點1025上的一個或多個MMS應用可分別獨立地工作,也可共同參與路徑的選擇。
第一通信應用和第二通信應用運行在第一終端設備1011上,第三通信應用和第四通信應用運行在第二終端設備1041上。這些終端設備可以是運行有通信應用的客戶端設備和伺服器,例如第一、第二、第三和第四每一通信應用可包括視頻遊戲、網際網路電話應用、網際網路瀏覽應用,或需要使用可到達遠程終端設備的通信路徑的其它通信應用。例如但不限於,運行在第一終端設備1011上的第二通信應用,和運行在第二終端設備1041上的第四通信應用可以是網際網路電話應用,其中,第一和第二終端設備1011和1041包括VoIP電話。這樣一來,第二通信應用與第四通信應用之間需要收發語音和補充媒體(supplemental media)(如果有的話)。作為選擇,例如,第二終端應用可包括客戶端計算機上的客戶端遊戲軟體或客戶端瀏覽器軟體,它們與伺服器上的遊戲伺服器軟體或網頁伺服器軟體交互。
在第一終端設備1011的第二通信應用和第二終端設備1041的第四通信應用之間可存在多條通信路徑。如圖所示,第二通信應用可使用多達三條鏈路來連接第一和第二接入點1021和1051。同時,接入點1021和1051總共具有三條鏈路連接網絡節點1025,而網絡節點1025具有兩條到達網際網路骨幹網1003的鏈路。從網際網路骨幹網1003,有三條鏈路指向第三和第四接入點1031和1045,這樣便總共有三條鏈路到達第二終端設備1041。每條鏈路可以是無線的,也可以是有線的。
可從多條鏈路中選出單條路徑,也可同時選出多條路徑。運行在第一和第二終端設備1011和1041、第一、第二、第三和第四AP1021、1051、1031和1045,以及網絡節點1025上的一個或多個MMS應用選擇一條或多條路徑。若通信應用,如運行在第一終端設備上的第二通信應用具有到MMS的軟體接口,該通信應用便可向MMS發送條件信息(如帶寬、QoS等),協助MMS進行路徑選擇。這些通信應用還可控制MMS,或在路徑選擇過程中通過MMS變得更加活躍。若通信應用不具備這種特定的功能,或未配置成協助或控制MMS,則MMS或者為該通信應用獲取預先設定的參數,或者與用戶交互(通過彈出窗口,例如),來獲取這些參數,進而根據這些參數進行路徑選擇。
運行在終端設備上的MMS應用可以路徑為單位對整條路徑中進行選擇,也可只在本地鏈路中進行選擇。也就是說,第一終端設備1011上的第一MMS可從下列位置中的一處或多處獲取參數,然後對從第一終端設備1011到第二終端設備1041的整條路徑作出選擇,這些位置包括1)第二通信應用;2)與第二通信應用相關聯的本地或遠程存儲器;3)與第一通信應用相關聯的本地或遠程存儲器;4)每條本地鏈路的通信特徵;5)源自多個遠程MMS應用中每一應用的每條遠程鏈路的通信特徵。如果第二通信應用的參數不可知,則第一MMS可選擇一條預設路徑。此後,無論最初的路徑是如何選擇的,第一MMS都會對穿過網絡的來自第二通信應用的數據流量進行分析,根據這些分析,在必要時切換至另一條路徑。
同樣的,第一終端設備1011的第一MMS還可將整條路徑的選擇權或本地鏈路的選擇權交給通信應用。作為選擇,每個MMS可只負責本地路徑的選擇。例如,第一終端設備1011的第一MMS可以選擇使用連接第一AP1021的兩條所示鏈路中的一條來支持第二通信應用,而選擇使用連接第一AP1021兩條鏈路中的另一條和連接第二AP1051的鏈路來支持第一通信應用。第二AP1051的第六MMS可選擇連接網絡節點1025兩條鏈路中的一條或同時選擇兩條,而第一AP1021的第二MMS可將兩條接收鏈路上的通信匯聚到一條連接到網絡節點1025的輸出鏈路。相反的,網絡節點1025可將接收數據流分發到兩條輸出鏈路上,也可選擇單條輸出鏈路,連接到網際網路骨幹網1003。儘管未進行展示,但網際網路骨幹網1003還可包括更多的網絡節點,它們均具有MMS應用,並可作出類似的鏈路決定,以到達第三和第四AP1031或1045其中之一,或同時到達此二者,進而到達第二終端設備1041。在這個本地化決策過程中,每個節點上的MMS應用根據從下列一處或多處獲取的參數作出其路徑選擇1)第二通信應用;2)與第二通信應用有關的本地或遠程存儲器;3)與第一通信應用有關的本地或遠程存儲器;4)每條本地鏈路的通信特徵;5)所經過的基礎通信流量。此後,每個MMS對數據流量進行分析,在必要時切換至其它或另外的鏈路。
具體來說,在一示範性配置中,第二通信應用生成第一組多個語音分組,以及補充媒體分組,並發往第一MMS。第一終端設備1011通過兩條(無線和/或有線)鏈路與第一接入點(AP)1021相連,並通過單條鏈路與第二AP1051相連。運行在第一終端設備1011上的第一MMS和運行在第一AP1021上的第二MMS相互協助對方進行路徑選擇,並共同決定使用兩條路徑中的第一條來從第一終端設備1011向第一接入點1021發送第一組多個語音分組,使用兩條路徑中的第二條來從第一終端設備1011向第一接入點1021發送補充媒體分組。
第一AP1021通過單條鏈路與網絡節點1025相連。運行在第一AP1021上的第二MMS控制第一組多個語音分組和補充媒體分組通過可用的單條鏈路發往節點1025。與第一組多個補充媒體分組相比,第二MMS為第一組多個語音分組設定了更高的QOS(服務質量)條件。只有在上述單條鏈路滿足第一組多個語音分組的QOS條件時,第一AP1021(或第二MMS控制第一AP1021)才會向節點1025發送第一組多個語音分組。在某一時刻,第二MMS可能發現該單條鏈路不適合承載第一組多個語音分組,但卻適合承載補充媒體分組。因此,第二MMS控制第一AP1021僅通過該單條鏈路向節點1025發送補充媒體分組。
節點1025通過兩條鏈路與網際網路骨幹網1003相連。運行在節點1025上的第三MMS從與網際網路骨幹網1003相連的兩條鏈路中選擇一條,通過選擇的鏈路將從第一AP1021收到的第一組多個語音分組和補充媒體分組發往網際網路骨幹網1003。第三MMS可根據數據分組和補充媒體分組在從第一終端設備1011到達節點1025時所採用的路徑,從兩條可用路徑中選擇其中一條。網際網路骨幹網1003包括多個例如計算設備、路由器、交換機、基站、收發器、域名伺服器、代理伺服器、存儲伺服器。網際網路骨幹網1003中的一個或多個組件將收到的第一組多個語音分組和補充媒體分組發往第三AP1031。第三AP1031將收到的第一組多個語音分組和補充媒體分組通過唯一一條可用的鏈路轉發給第二終端設備1041。當然,還可選擇其它路徑鏈路對上述相應路徑進行替換或補充,上述選擇權也可交由任一MMS,或幾個MMS或通信應用來掌控。
在完成了對從第三AP1031收到的第一組多個語音分組和補充媒體分組的分析後,第四MMS確定這些分組的目的地是第二終端設備1041的第四通信應用。第四MMS作出回應,將收到的第一組多個語音分組和補充媒體分組轉發給第四通信應用。作為響應,第四通信應用生成第二組多個語音分組和補充媒體分組。本實施例中的第四MMS將第二組多個語音分組和補充媒體分組發往第四AP1045。第二終端設備1041通過兩條鏈路與第四AP1045相連。第四MMS選擇其中一條,或同時選擇這兩條鏈路來發送第二組多個語音分組和補充媒體分組。
第四MMS作出回應從兩條鏈路中選擇一條或多條鏈路的過程也可不同於從第二通信應用接收語音分組和補充媒體時進行的操作。但是,第四MMS可分析接收信息時的帶寬使用情況,以此決定選擇一條不同鏈路來發送信息。在這個例子中,第四MMS通過第三AP1031從網際網路骨幹網1003接收第一組多個語音分組,通過第四AP1045向網際網路骨幹網1003發送第二組多個語音分組。作為選擇,第四MMS可通過第三AP1031向網際網路骨幹網1003發送第二組多個語音分組和補充媒體分組。
第四AP1045上運行有第五MMS。第五MMS將從第二終端設備1041收到的第二組多個語音分組和補充媒體分組發往網際網路骨幹網1003。網際網路骨幹網1003通過兩條鏈路與節點1025相連。運行在節點1025上的第三MMS從兩條鏈路中選擇一條,來從網際網路骨幹網1003接收第二組多個語音分組和補充媒體分組,並將選擇的路徑通知網際網路骨幹網1003。選擇的路徑可與節點1025用於向網際網路骨幹網1003發送第一組多個語音分組和補充媒體分組所使用的路徑相同,也可以不同。網際網路骨幹網1003通過選擇的鏈路將從第四AP1041收到的第二組多個語音分組和補充媒體分組發往節點1025。
運行在節點1025上的第三MMS和運行在第二AP1051上的第六MMS共同選出節點1025和第二AP1051之間的兩條鏈路來承載從節點1025發往第二AP1051的第二組多個語音分組和補充媒體分組。其中一條選中的鏈路承載第二組語音分組,另一條承載第二組補充媒體分組。在另一配置中,運行在節點1025上的第三MMS和運行在第一AP1021上的第二MMS可共同決定通過第一AP1025來傳送第二組多個語音分組和補充媒體分組。在第二通信應用和第四通信應用之間的全雙工通信中,第三MMS執行兩次鏈路選擇,一次用於傳送第一組多個語音分組和補充媒體分組,另一次用於傳送第二組多個語音分組和補充媒體分組。
第二AP1051將收到的第二組多個語音分組和補充媒體分組轉發給第一終端設備1011。運行在第一終端設備1011上的第一MMS分析第二組多個語音分組和補充媒體分組,並將它們轉發給運行在終端設備1011上的第二應用。
為支持第一或任何其它通信應用,第一終端設備1011的第一MMS可進行如下操作1)提示用戶為第一通信應用輸入預設參數(以彈出方式詢問第一通信應用是用於視頻流、音頻流、語音電話、視頻電話、文件傳送、網際網路瀏覽,還是文本聊天等);2)從遠程伺服器獲取預先設定的配置;3)從本地存儲器獲取預先設定的配置信息;4)如果可以的話,從MMS接口獲取預先設定的配置信息;5)使用預設配置。該配置信息包括多個參數,這些參數與下列因素有關a)與通信應用之間進行通信的基本通信條件;b)交換的媒體類型;c)控制配置(例如,通信應用同時控制,或各自單獨控制,本地MMS鏈路選擇/控制;單個MMS整條路徑全程選擇/控制等)。
終端設備1011和1041為網絡節點。接入點1021、1031、1041和1051、網絡節點1025,以及網際網路骨幹網1003(未示出)中的多個節點都是可提供支持的網絡節點。當然,每個節點可以也可不使用MMS應用,整條路徑可進行對應變化。
本領域的技術人員應當明白,本文所使用的術語「連接」包含無線和有線的直接連接,經由另一組件、元件、電路或模塊進行的無線或有線的間接連接。本領域的技術人員還應當明白,推斷連接(也就是通過推論得知一個組件連接到另一組件)包括兩個組件之間以與上述「連接」相同的方式進行無線和有線的連接、直接和間接的連接。
本發明的描述過程還藉助方法步驟的方式來描述特定功能的執行過程及其相互關係。為便於描述,文中對這些功能性模塊和方法步驟的邊界和順序進行了專門的定義。為使這些功能及其關係可正常工作,也可重新定義他們的邊界和順序。但這些對邊界和順序的重新定義都將落入本發明的主旨和所聲明的保護範圍之中。
本發明的描述過程藉助功能性模塊的方法來描述某些重要功能的執行過程。為便於描述,文中對這些功能性模塊邊界進行了專門的定義。為使這些功能可正常工作,也可重新定義他們的邊界。類似的,流程圖中的步驟也是為描述某些重要功能而專門定義的。為將這些流程圖的應用得到擴展,可重新定義流程圖中模塊的邊界和順序,同時,重新定義後,這些模塊仍然完成原來的重要功能。這種對功能性模塊和流程圖步驟和順序的重新定義也都將落入本發明的主旨和所聲明的保護範圍之中。
本領域的技術人員還能意識到,本文中的功能性模塊和描述的其它模塊、模具和組件可按圖中的方式實現,也可使用進一步細分的組件、應用專用集成電路、執行特定軟體的處理器來,以及它們的任意組合來實現。
同時,為便於理解,本文藉助實施例對本發明進行了詳細的描述,但本發明並非僅限於這些實施例。顯然,對於本領域的技術人員而言,可在本發明的主旨和範圍內對本文內容進行修改,但這些修改仍然落入本發明的範圍之內。
權利要求
1.一種通信架構,包括本地通信軟體應用,其具有本地通信條件;本地管理軟體應用;本地終端設備,其執行所述本地通信軟體應用和所述本地管理軟體應用;遠程終端設備,其具有遠程通信特徵;多個本地接入點設備,其通過對應的多條獨立鏈路與所述本地終端設備相連,所述對應的多條獨立鏈路具有對應的多個本地路徑特徵;分組交換通信骨幹網,與所述多個接入點設備中的每一個接入點設備和第二終端設備相連;所述本地終端設備經由所述多個本地接入點中的至少一個、並通過所述分組交換通信骨幹網與所述遠程終端設備通信;所述本地終端設備對所述本地通信條件、所述遠程通信特徵,以及所述對應的多個本地路徑特徵進行評估之後,從所述多個本地接入點中選擇至少一個接入點。
2.根據權利要求1所述的通信架構,其特徵在於,進一步包括遠程管理軟體應用,其運行在所述遠程終端設備上,用於將所述遠程通信特徵發往所述本地終端設備。
3.根據權利要求1所述的通信架構,其特徵在於,所述本地通信條件由所述本地通信軟體應用發往所述本地管理應用。
4.根據權利要求1所述的通信架構,其特徵在於,所述本地終端設備從所述多個本地接入點中選擇至少一個接入點的過程是在所述本地管理軟體應用的控制下進行的。
5.一種支持具有通信特徵的通信軟體應用的通信架構,包括多個網絡節點,其包括第一接入點、第二接入點,以及執行所述通信軟體應用的終端節點;所述終端節點執行第一管理應用;所述第一接入點執行第二管理應用;通過使用所述通信特徵,並根據所述第一管理應用和所述第二管理應用之間的交互,選擇所述第一接入點來承載所述通信軟體應用。
6.根據權利要求5所述的通信架構,其特徵在於,若所述第一接入點無法支持所述通信特徵,則選擇所述第二接入點來承載所述通信軟體應用。
7.一種支持通信軟體應用的通信架構,所述通信軟體應用支持數據通信,所述通信架構包括多個網絡節點,其包括第一接入點、第二接入點、執行所述通信軟體應用的第一終端節點,和第二終端節點;所述多個網絡節點用於為所述第一終端節點提供多條通信路徑;所述第一終端節點執行管理應用,根據所述通信軟體應用的條件,與所述多個網絡節點中另外至少一個節點協作,從所述多條通信路徑中選出經由所述第一接入點的第一通信路徑,來承載所述數據通信的第一部分;還選出經由所述第二接入點的第二通信路徑,來承載所述數據通信的第二部分。
8.根據權利要求7所述的通信架構,其特徵在於,所述管理應用從存儲器中獲取所述通信軟體應用的所述條件。
9.一種通信架構,包括多個通信軟體應用,其中的每一個都支持分組通信,這些通信軟體應用具有對應的多個通信條件;路徑管理應用;多個網絡節點,其包括第一接入點、第二接入點和第一終端節點;所述第一終端節點執行所述路徑管理應用以及所述多個通信軟體應用;所述多個網絡節點用於為所述第一終端節點提供多條通信路徑;所述第一終端節點,至少部分地根據所述對應的多個通信條件,從所述多條通信路徑中選出第一通信路徑和第二通信路徑,來支持所述多個通信軟體應用。
10.根據權利要求9所述的通信架構,其特徵在於,所述路徑管理應用從所述多個通信軟體應用獲取所述多個通信條件。
全文摘要
每一臺終端設備、接入點和其它類型的網絡節點使用多路徑管理軟體來管理運行在終端設備上的通信應用與網際網路骨幹網之間的多條可能路徑所承載的通信。運行在終端設備上的多路徑管理軟體可獨立地運行,也可與本地通信應用以及位於接入點或其它網絡節點上的多路徑管理軟體協作,來為本地通信應用選擇一條或多條路徑。根據數據類型和數據條件,多路徑管理軟體還可支持選擇和保持兩條或多條路徑來承載一個通信應用。終端設備的多路徑管理軟體可將部分或全部的多路徑管理任務移交給本地通信應用和/或另一網絡節點的多路徑管理軟體。除了選擇一條或多條路徑外,多路徑管理軟體還可在必要時對路徑進行無縫切換,以滿足變化的網絡條件或帶寬要求。
文檔編號H04L12/24GK101047642SQ20061014457
公開日2007年10月3日 申請日期2006年11月6日 優先權日2005年11月14日
發明者詹姆士·D·貝內特 申請人:美國博通公司