TWI425790B - Network nodes cooperatively routing traffic flow amongst wired and wireless networks - Google Patents

Network nodes cooperatively routing traffic flow amongst wired and wireless networks Download PDF

Info

Publication number
TWI425790B
TWI425790B TW95139996A TW95139996A TWI425790B TW I425790 B TWI425790 B TW I425790B TW 95139996 A TW95139996 A TW 95139996A TW 95139996 A TW95139996 A TW 95139996A TW I425790 B TWI425790 B TW I425790B
Authority
TW
Taiwan
Prior art keywords
communication
path
data
application
mms
Prior art date
Application number
TW95139996A
Other languages
Chinese (zh)
Other versions
TW200735582A (en
Inventor
D Bennett James
Original Assignee
Broadcom Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US11/349,292 external-priority patent/US8274970B2/en
Priority claimed from US11/348,632 external-priority patent/US8483100B2/en
Priority claimed from US11/365,102 external-priority patent/US7626994B2/en
Priority claimed from US11/394,253 external-priority patent/US20070110035A1/en
Application filed by Broadcom Corp filed Critical Broadcom Corp
Publication of TW200735582A publication Critical patent/TW200735582A/en
Application granted granted Critical
Publication of TWI425790B publication Critical patent/TWI425790B/en

Links

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Telephonic Communication Services (AREA)

Description

通信架構Communication architecture

本發明涉及對通信流進行管理幷通過多個通信路徑對其進行路由,更具體地說,涉及對終端設備、接入點,以及為一個或多個通信應用提供服務的其他網路節點之間交互過程的管理。The present invention relates to managing communication flows, routing them through multiple communication paths, and more particularly, to terminal devices, access points, and other network nodes that serve one or more communication applications. Management of the interaction process.

電腦、視頻遊戲機、電話機、PDA(個人數位助理),以及許多其他類型的終端都可連接到通信資料網路。通常,通信資料網路會為每個終端分配一個唯一的網路位址。這些終端使用這個唯一的網路位址在通信資料網路上收發資料。該通信資料網路可以是例如EDGE(增强型資料速率GSM演進技術)網路、GSM(全球移動通信系統)網路、CDMA(碼分多址)、IEEE(電氣和電子工程師協會)802.11網路、藍牙、WiMax網路、互聯網,企業內部網、衛星網路等。在這些終端與通信資料網路之間通常交換的資料包括媒體資料,如文本、音頻、視頻和圖像資料;還包括與目的設備如伺服器或另一終端之間交換的控制信號。媒體資料的采集和交換可即時進行,也可從長期存放資料的記憶體中獲取。Computers, video game consoles, telephones, PDAs (personal digital assistants), and many other types of terminals can be connected to the communication data network. Typically, the communication data network assigns each terminal a unique network address. These terminals use this unique network address to send and receive data over the communication data network. The communication data network may be, for example, an EDGE (Enhanced Data Rate GSM Evolution) network, a GSM (Global System for Mobile Communications) network, CDMA (Code Division Multiple Access), IEEE (Institute of Electrical and Electronics Engineers) 802.11 network. , Bluetooth, WiMax network, Internet, corporate intranet, satellite network, etc. The materials typically exchanged between these terminals and the communication data network include media material such as text, audio, video and image material; and control signals exchanged with the destination device such as a server or another terminal. The collection and exchange of media materials can be done immediately or in the memory of long-term storage of data.

為與目的設備通信,某些終端可能連接到不止一個通信資料網路。例如,一台終端可能包含無線介面卡和有線介面卡,分別用於連接WiMax網路和乙太LAN(局域網)。對於運行在該終端上的特定軟體應用,或者對於一段時間內運行的所有的應用,該終端會在WiMax和乙太網之間選擇一條路徑來發送和接收資料。該終端需事先確定將與之進行資料交換的通信資料網路。在開始進行資料交換前,該終端的用戶通過運行在該終端上的軟體應用,從多個可用的通信資料網路中配置幷選擇一個可用的通信資料網路,例如WiMax網路或乙太LAN,以用於進行隨後的資料交換。In order to communicate with the destination device, some terminals may be connected to more than one communication data network. For example, a terminal may include a wireless interface card and a wired interface card for connecting to a WiMax network and an Ethernet LAN (Local Area Network). For a particular software application running on the terminal, or for all applications running over a period of time, the terminal selects a path between WiMax and Ethernet to send and receive data. The terminal needs to determine in advance the communication data network with which the data will be exchanged. Before starting the data exchange, the user of the terminal selects an available communication data network, such as a WiMax network or an Ethernet LAN, from a plurality of available communication data networks through a software application running on the terminal. For subsequent data exchange.

由於許多衆所周知的原因,所選擇的通信資料網路在資料交換過程中經常顯現出不可接受的服務表現,或無法提供服務。例如,終端通常通過有線或無線鏈路連接到所選擇的通信資料網路的接入點。服務中斷的問題通常是由從該終端經由這種接入點的通信路徑在出現以下問題時導致的:1)該終端移出無線服務區;2)電纜斷開;3)被其他終端干擾;4)接入點或終端軟、硬體技術故障。一旦在資料交換過程中遇到不可接收的服務表現,或者服務發生中斷,運行在終端上的軟體應用會停止工作或請求停止工作,以使用戶可以選擇另一個通信資料網路。這種選擇過程經常要求對新選擇的通信資料網路進行配置。一個通信資料網路發生中斷,繼而配置幷切換至另一通信網路的過程往往會產生明顯的延遲,有時還會造成資料丟失。For many well-known reasons, the selected communication data network often exhibits unacceptable service performance or is unable to provide services during the data exchange process. For example, a terminal is typically connected to an access point of a selected communication data network via a wired or wireless link. The problem of service interruption is usually caused by the following problem from the terminal's communication path via such an access point: 1) the terminal moves out of the wireless service area; 2) the cable is disconnected; 3) is interfered by other terminals; ) The access point or terminal software and hardware technology failure. Once an unacceptable service performance is encountered during the data exchange process, or the service is interrupted, the software application running on the terminal will stop working or request to stop working so that the user can select another communication data network. This selection process often requires configuration of the newly selected communication data network. The interruption of a communication data network, and then the process of switching to another communication network often results in significant delays and sometimes data loss.

與本發明將要介紹的系統相比,常用和傳統方法的限制和弊端對本領域的技術人員來說將更加清晰。Limitations and disadvantages of conventional and conventional methods will be more apparent to those skilled in the art in view of the system to which the present invention will be described.

本發明提供了一種可與多種通信資料網路進行交互的設備,該設備可控制自身有選擇的與這些通信資料網路進行資料分組交換,下面將結合至少一幅附圖對其進行展示和/或描述,幷通過權利要求進行更為完整的說明。The present invention provides a device that can interact with a plurality of communication data networks, and the device can control its selective exchange of data packets with the communication data networks. The following will be shown in conjunction with at least one drawing and/or Or a description, a more complete description by the claims.

本發明提供了一種通信架構,包括:本地通信軟體應用,其具有本地通信條件(requirement);本地管理軟體應用;本地終端設備,其執行所述本地通信軟體應用和所述本地管理軟體應用;遠端終端設備,其具有遠端通信特徵;多個本地接入點設備,其通過對應的多條獨立鏈路與所述本地終端設備相連,所述對應的多條獨立鏈路具有對應的多個本地路徑特徵;分組交換通信骨幹網,與所述多個接入點設備中的每一個接入點設備和第二終端設備相連;所述本地終端設備經由所述多個本地接入點中的至少一個、幷通過所述分組交換通信骨幹網與所述遠端終端設備通信;所述本地終端設備對所述本地通信條件、所述遠端通信特徵,以及所述對應的多個本地路徑特徵進行評估之後,從所述多個本地接入點中選擇至少一個接入點。The present invention provides a communication architecture comprising: a local communication software application having a local communication condition; a local management software application; a local terminal device executing the local communication software application and the local management software application; An end terminal device having a remote communication feature; a plurality of local access point devices connected to the local terminal device by a corresponding plurality of independent links, wherein the corresponding plurality of independent links have corresponding multiple a local path feature; a packet switched communication backbone network, connected to each of the plurality of access point devices and a second terminal device; wherein the local terminal device is in the plurality of local access points Communicating with the remote terminal device over the packet switched communication backbone network; the local terminal device pairs the local communication condition, the remote communication feature, and the corresponding plurality of local path features After the evaluation, at least one access point is selected from the plurality of local access points.

優選地,所述通信架構進一步包括遠端管理軟體應用,其運行在所述遠端終端設備上,用於將所述遠端通信特徵發往所述本地終端設備。Advantageously, the communication architecture further comprises a remote management software application running on the remote terminal device for transmitting the remote communication feature to the local terminal device.

優選地,所述本地通信條件由所述本地通信軟體應用發往所述本地管理應用。Preferably, the local communication condition is sent by the local communication software application to the local management application.

優選地,所述本地終端設備從所述多個本地接入點中選擇至少一個接入點的過程是在所述本地管理軟體應用的控制下進行的。Preferably, the process of the local terminal device selecting at least one access point from the plurality of local access points is performed under the control of the local management software application.

優選地,所述本地終端設備從所述多個本地接入點中選擇至少一個接入點的過程是在所述本地通信軟體應用的控制下進行的。Preferably, the process of the local terminal device selecting at least one access point from the plurality of local access points is performed under the control of the local communication software application.

本發明提供了一種支援具有通信特徵的通信軟體應用的通信架構,包括:多個網路節點,其包括第一接入點、第二接入點,以及執行所述通信軟體應用的終端節點;所述終端節點執行第一管理應用;所述第一接入點執行第二管理應用;通過使用所述通信特徵,幷根據所述第一管理應用和所述第二管理應用之間的交互,選擇所述第一接入點來承載(service)所述通信軟體應用。The present invention provides a communication architecture supporting a communication software application having communication features, comprising: a plurality of network nodes including a first access point, a second access point, and a terminal node executing the communication software application; The terminal node executes a first management application; the first access point executes a second management application; and by using the communication feature, according to the interaction between the first management application and the second management application, The first access point is selected to service the communication software application.

優選地,若所述第一接入點無法(fail to)支援所述通信特徵,則選擇所述第二接入點來承載(service)所述通信軟體應用。Preferably, if the first access point fails to support the communication feature, the second access point is selected to serve the communication software application.

優選地,所述通信特徵由所述第一通信軟體應用發往所述第一管理應用。Preferably, the communication feature is sent by the first communication software application to the first management application.

優選地,所述通信特徵由所述第一管理應用從記憶體中獲取。Preferably, the communication feature is obtained from the memory by the first management application.

本發明提供了一種支援通信軟體應用的通信架構,所述通信軟體應用支援資料通信,所述通信架構包括:多個網路節點,其包括第一接入點、第二接入點、執行所述通信軟體應用的第一終端節點,和第二終端節點。The present invention provides a communication architecture supporting a communication software application, the communication software application supporting data communication, the communication architecture comprising: a plurality of network nodes including a first access point, a second access point, and an execution station The first terminal node of the communication software application, and the second terminal node.

所述多個網路節點用於為所述第一終端節點提供多條通信路徑;所述第一終端節點執行管理應用,根據所述通信軟體應用的條件(requirement),與所述多個網路節點中另外至少一個節點協作,從所述多條通信路徑中選出經由所述第一接入點的第一通信路徑,來承載所述資料通信的第一部分;還選出經由所述第二接入點的第二通信路徑,來承載所述資料通信的第二部分。The plurality of network nodes are configured to provide a plurality of communication paths for the first terminal node; the first terminal node executes a management application, and the plurality of networks according to a requirement of the communication software application At least one other node in the path node cooperates, selects a first communication path via the first access point from the plurality of communication paths to carry a first portion of the data communication; and further selects a second connection via the second connection A second communication path of the ingress to carry the second portion of the data communication.

優選地,所述管理應用從記憶體中獲取所述通信軟體應用的所述條件(requirement)。Preferably, the management application acquires the requirement of the communication software application from a memory.

優選地,所述管理應用將所述要求發往所述多個網路節點中所述另外至少一個節點。Advantageously, said management application sends said request to said at least one of said plurality of network nodes.

優選地,所述管理應用將此後的從所述多條通信路徑中選擇第一通信路徑和第二通信路徑的選擇權交由所述通信軟體應用。Preferably, the management application hands over the selection of the first communication path and the second communication path from the plurality of communication paths to the communication software application.

優選地,所述管理應用對所述多條通信路徑進行監視。Preferably, the management application monitors the plurality of communication paths.

優選地,所述通信軟體應用的條件(requirement)由所述通信軟體應用發往所述管理應用。Preferably, the requirement of the communication software application is sent by the communication software application to the management application.

優選地,所述通信軟體應用的條件由所述管理應用從記憶體中獲取。Preferably, the condition of the communication software application is obtained from the memory by the management application.

優選地,所述終端節點管理應用的所述協作過程包括將所述多條通信路徑中所述第一通信路徑和所述第二通信路徑的選擇權均交由所述通信軟體。Advantageously, said cooperating process of said terminal node management application comprises handing over selection of said first communication path and said second communication path of said plurality of communication paths by said communication software.

優選地,所述終端節點管理應用的所述協作過程包括將所述多條通信路徑中所述第一通信路徑和所述第二通信路徑的選擇權均交由所述多個網路節點中另外至少一個網路節點。Preferably, the cooperation process of the terminal node management application includes handing over selection rights of the first communication path and the second communication path in the plurality of communication paths to the plurality of network nodes. At least one other network node.

優選地,所述終端節點管理應用的所述協作過程包括將所述多條通信路徑中所述第一通信路徑和所述第二通信路徑的選擇權均交由所述第一接入點。Advantageously, said cooperating process of said terminal node management application comprises handing over selection of said first communication path and said second communication path of said plurality of communication paths by said first access point.

優選地,所述管理應用進一步與所述多個網路節點中所述另外至少一個網路節點協作,從所述多條通信路徑中選擇第三通信路徑,以替代所述多條通信路徑中的所述第一通信路徑傳送資料。Advantageously, said management application further cooperates with said at least one of said plurality of network nodes to select a third communication path from said plurality of communication paths to replace said plurality of communication paths The first communication path transmits data.

本發明提供了一種通信架構,包括:多個通信軟體應用,其中的每一個都支援分組通信,這些通信軟體應用具有對應的多個通信條件(requirement);路徑管理應用;多個網路節點,其包括第一接入點、第二接入點和第一終端節點;所述第一終端節點執行所述路徑管理應用以及所述多個通信軟體應用;所述多個網路節點用於為所述第一終端節點提供多條通信路徑;所述第一終端節點,至少部分地根據所述對應的多個通信條件,從所述多條通信路徑中選出第一通信路徑和第二通信路徑,來支援所述多個通信軟體應用。The present invention provides a communication architecture comprising: a plurality of communication software applications, each of which supports packet communication, the communication software application having a corresponding plurality of communication conditions; a path management application; a plurality of network nodes, A first access point, a second access point, and a first terminal node; the first terminal node executing the path management application and the plurality of communication software applications; The first terminal node provides a plurality of communication paths; the first terminal node selects a first communication path and a second communication path from the plurality of communication paths based at least in part on the corresponding plurality of communication conditions To support the plurality of communication software applications.

優選地,所述路徑管理應用從所述多個通信軟體應用獲取所述多個通信條件。Advantageously, the path management application obtains the plurality of communication conditions from the plurality of communication software applications.

優選地,所述多條通信路徑具有對應的多個路徑特徵;在選擇過程中,所述第一終端節點還評估所述對應的多個路徑特徵。Preferably, the plurality of communication paths have corresponding multiple path features; in the selecting process, the first terminal node further evaluates the corresponding multiple path features.

優選地,所述多條通信路徑中的所述第一通信路徑和所述第二通信路徑均支援包含(involving)所述多個通信軟體應用中第一通信軟體應用的通信流。Advantageously, both the first communication path and the second communication path of the plurality of communication paths support a communication flow involving a first communication software application of the plurality of communication software applications.

優選地,所述多個網路節點進一步包括第二終端節點,該節點也位於(involved)通過所述多個通信路徑中所述第一通信路徑和所述第二通信路徑的通信流中(通信路徑上)。Advantageously, said plurality of network nodes further comprise a second terminal node, said node also being involved in a communication flow through said first communication path and said second communication path of said plurality of communication paths ( On the communication path).

優選地,所述多條通信路徑中的第一通信路徑支援包含(involving)所述多個通信軟體應用中的第一通信軟體應用和第二通信軟體應用的通信流。Preferably, the first one of the plurality of communication paths supports a communication flow in which the first communication software application and the second communication software application of the plurality of communication software applications are involved.

通過下面將要結合附圖進行的對具體實施方式進行的介紹,本發明的特點和優勢將更加明顯。The features and advantages of the present invention will become more apparent from the description of the embodiments of the invention.

圖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相連。1 is a schematic diagram of a plurality of devices 151, 153, 155, 157, and 159 interacting with an Internet backbone network 103 through a plurality of access points 131, 133, 135, and 137, wherein each device 151, 153, 155, 157 and 159 interacts with more than one access point. The first personal computer 151, the telephone set 153, the television set 155, the second personal computer 157, and the earphone 159 interact with the Internet backbone network 103. The first service provider device 111, the second service provider device 113, the third service provider device 115, and the fourth service provider device 117 are connected to the Internet backbone network 103. Each of the plurality of service provider devices 111, 113, 115, and 117 may be one of a computing device, a router, a switch, a base station, an antenna, a transceiver, a function variable name server, a proxy server, and a storage server. A combination of a table or a few. Each of the plurality of service provider devices 111, 113, 115, and 117 is coupled to the Internet backbone network 103 by wire (including fiber optics) and/or wireless links.

第一服務提供商設備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。這些資料可包括控制資訊、支援資料,以及多種多媒體資料如文本消息、音頻、視頻、圖片、電子郵件、電視內容、音樂視頻或文件,幷與另一網路設備如互聯網伺服器、廣播設備或另一終端進行交換。The first service provider device 111 manages the wired data network 121. The wired data network 121 can be one of a PSTN network, a fiber optic network, and a cable television network, or a combination thereof. The first access point 131, the second access point 133, and the third access point, that is, the set top box 135, are connected to the wired data network 121. The second service provider device 112 manages the terrestrial wireless data network 123. The terrestrial wireless data network 123 can be a television broadcast network including, for example, UHF (Ultra High Frequency) or VHF (UHF) transmissions. The set top box 135 is connected to the terrestrial wireless data network 123. The third service provider device 115 manages the satellite data network 125. The set top box 135 communicates with the satellite data network 125 using a dish antenna. The fourth service provider device 117 manages the wireless data network 127. The wireless data network 127 can be, for example, an EDGE network, a WCDMA (Wide Frequency Division Multiple Access) network, an IEEE 802.11 network, a WiMax network, or a UMTS (Universal Mobile Telecommunications System) network. Set top box 135 can also be used to communicate with wireless data network 127. The fourth access point 137 is connected to the wireless data network 127. Each of the access points 131, 133, 135, and 137 includes at least one (typically two or more) transceivers for receiving and transmitting data. The first access point 131 receives the data from the first personal computer 151 and sends the received data to the wired data network 121. The first access point 131 also receives the data from the wired data network 121 and sends the received data to the first personal computer 151. This information may include control information, supporting materials, and a variety of multimedia materials such as text messages, audio, video, pictures, emails, television content, music videos or files, and another network device such as an internet server, broadcast device or The other terminal exchanges.

第一個人電腦151通過有線介面與第一接入點131相連,同時,通過無線介面與第二接入點133相連。因此,第一個人電腦151便可通過第一接入點131或第二接入點133從/向有線資料網121接收/發送資料。第一接入點131為第一個人電腦151分配第一IP位址,第二接入點為第一個人電腦151分配第二IP位址。電話機153通過兩條無線鏈路與第二AP133相連。電視機155通過無線鏈路與第二AP133相連。第二個人電腦157通過有線鏈路與第二AP133相連。第二AP133通過兩條有線鏈路,第一有線鏈路和第二有線鏈路與有線資料網121相連。The first personal computer 151 is connected to the first access point 131 through a wired interface, and is connected to the second access point 133 through a wireless interface. Therefore, the first personal computer 151 can receive/send data from/to the wired data network 121 through the first access point 131 or the second access point 133. The first access point 131 assigns a first IP address to the first personal computer 151, and the second access point assigns a second IP address to the first personal computer 151. The telephone 153 is connected to the second AP 133 via two wireless links. The television 155 is connected to the second AP 133 via a wireless link. The second personal computer 157 is connected to the second AP 133 via a wired link. The second AP 133 is connected to the wired data network 121 through two wired links, a first wired link and a second wired link.

如圖所示,每台終端可能具有多條到達任意其他終端、伺服器或其他網路設備的可用通信路徑。第一個人電腦151具有兩條通過AP131和133的上行路徑。電話機153具有兩條均通過AP133的上行路徑,電視機155和個人電腦157均具有三條。為對通過這些可用上行路徑進行的通信進行管理,終端151-157中的每一台都使用了多路徑管理功能,該功能是通過結合使用常用和/或專用硬體和相關軟體來實現的。類似的,接入點133和機頂盒135均具有兩條或多條上行通信路徑,以及兩條或多條下行通信路徑,通過這些通信路徑可到達其他終端、伺服器以及其他網路設備。為對經由這些可用的多條上行和下行路徑進行的通信進行管理,接入點133和機頂盒135也都使用了多路徑管理功能,該功能是通過結合使用常用和/或專用硬體和相關軟體來實現的。同樣的,具有兩條或多條上行路徑,或兩條或多條下行路徑的任何其他網路如一些伺服器105,也都可使用多路徑管理功能。As shown, each terminal may have multiple available communication paths to any other terminal, server, or other network device. The first personal computer 151 has two uplink paths through the APs 131 and 133. The telephone 153 has two uplink paths that all pass through the AP 133, and the television 155 and the personal computer 157 each have three. To manage communications over these available upstream paths, each of the terminals 151-157 uses a multi-path management function that is implemented by a combination of commonly used and/or dedicated hardware and associated software. Similarly, both access point 133 and set top box 135 have two or more upstream communication paths and two or more downstream communication paths through which other terminals, servers, and other network devices can be reached. To manage communications over these available upstream and downstream paths, both access point 133 and set top box 135 also use multipath management functionality by combining common and/or dedicated hardware and related software. To achieve. Similarly, any other network with two or more upstream paths, or two or more downstream paths, such as some servers 105, can also use the multi-path management function.

如本文所述,“上行路徑”和“下行路徑”幷不一定是指資料流程的實際方向。替而代之的是,“上行路徑”指的是發起於與互聯網骨幹網103相連的當前設備的路徑,而“下行路徑”指的是從當前設備指向終端設備的路徑。因此,例如,接入點133具有兩條上行路徑(均與個人電腦151有關),以及三條下行路徑(只有一條與個人電腦151有關)。這裏所使用的“終端節點”或“終端設備”是指可以作為通信流起始源或目的地的任何網路設備,如用戶端設備或伺服器。As described herein, "upstream path" and "downstream path" do not necessarily refer to the actual direction of the data flow. Instead, the "upstream path" refers to the path originating from the current device connected to the Internet backbone network 103, and the "downstream path" refers to the path from the current device to the terminal device. Thus, for example, the access point 133 has two upstream paths (both associated with the personal computer 151) and three downstream paths (only one associated with the personal computer 151). As used herein, "terminal node" or "terminal device" refers to any network device, such as a client device or server, that can serve as a source or destination for a communication stream.

特別的,每台具有多條上行路徑和/或多條下行路徑的網路設備都會執行多路徑管理軟體應用。因此,在兩台終端設備之間的可用路徑上,可能運行有一個或多個多路徑管理應用。然而,多路徑管理應用只會從這些可用上行和下行路徑中選出其中的一條,來支援兩台終端設備之間的交換。該選擇過程可能包括一條或多條上行路徑和/或一條或多條下行路徑。其他上行和下行路徑將保持非活躍狀態,或用於支援其他終端設備交換。同樣的,一些路徑可支援多個終端設備交換同時進行。In particular, each network device having multiple uplink paths and/or multiple downlink paths performs a multi-path management software application. Therefore, one or more multi-path management applications may be running on the available path between the two terminal devices. However, the multipath management application will only select one of these available upstream and downstream paths to support the exchange between the two terminal devices. The selection process may include one or more upstream paths and/or one or more downstream paths. Other upstream and downstream paths will remain inactive or used to support other terminal device exchanges. Similarly, some paths can support multiple terminal device exchanges simultaneously.

若兩台終端設備之間的整條路徑中存在多個多路徑應用,則每一個多路徑應用都將依照本地設置來工作。例如,根據網路配置以及本地設置,無論是否具有來自任一上行多路徑應用的支援,每個多路徑管理應用都將獨立地管理其上行路徑,而不是下行路徑。作為選擇,根據所作的設置,整個管理過程的一部分或全部均可交由一個多路徑應用來進行,而其他多路徑應用則進入休眠狀態或提供支援。同樣的,兩台終端設備之間的資料交換管理工作也可交由一些或所有多路徑管理應用共同負責。If there are multiple multipathing applications in the entire path between the two terminal devices, each multipathing application will work according to the local settings. For example, depending on the network configuration and local settings, each multipath management application will independently manage its upstream path, rather than the downstream path, whether or not it has support from any upstream multipathing application. Alternatively, depending on the settings made, some or all of the entire management process can be handed over to a multi-path application, while other multi-path applications go to sleep or provide support. Similarly, data exchange management between two terminal devices can also be shared by some or all of the multipath management applications.

路徑選擇可以發生在,例如:1)終端設備開機;2)路徑特徵發生變化;3)路徑發生變化或變成可用;4)按要求改變;5)定期或持續進行;6)本地或遠端通信軟體應用的通信條件改變等。選擇過程可發生在所有與例如下列項有關的通信中:a)終端設備;b)特定通信軟體應用;c)特定媒體類型;和/或d)以請求為基本方式的一個請求(on a request by request basis)。Path selection can occur, for example: 1) the terminal device is powered on; 2) the path feature changes; 3) the path changes or becomes available; 4) changes as required; 5) periodically or continuously; 6) local or remote communication The communication conditions of the software application are changed, and the like. The selection process can occur in all communications related to, for example: a) a terminal device; b) a specific communication software application; c) a specific media type; and/or d) a request in a basic manner of request (on a request) By request basis).

例如,第一個人電腦151(或使用第一個人電腦151的用戶)想要向連接到互聯網骨幹網103的目的終端發送(上行)資料。第一個人電腦151通過第一IP位址與第一接入點131建立關聯,通過第二IP地址與第二接入點133建立關聯。運行在第一個人電腦151上的多路徑管理應用評估幷選擇一條或同時選擇兩條可用的上行路徑,以進行一個或進行中的通信交換。作為選擇,如果進行了這樣的配置,則運行在第一個人電腦151上的多路徑管理應用可僅評估(或協助評估)這兩條可用的上行路徑,幷向第一服務提供商設備111發送相關資訊和結果。第一服務提供商設備111執行的多路徑管理功能作出回應,評估接收到的資訊和結果,幷根據評估的結果控制第一個人電腦151使用第二IP位址和無線介面與有線資料網121進行通信。For example, the first personal computer 151 (or a user using the first personal computer 151) wants to send (uplink) data to the destination terminal connected to the Internet backbone network 103. The first personal computer 151 is associated with the first access point 131 via the first IP address and associated with the second access point 133 via the second IP address. The multi-path management application evaluation running on the first personal computer 151 selects one or both of the available upstream paths for one or ongoing communication exchange. Alternatively, if such a configuration is made, the multi-path management application running on the first personal computer 151 may only evaluate (or assist in evaluating) the two available uplink paths, and send the relevant information to the first service provider device 111. Information and results. The multi-path management function performed by the first service provider device 111 responds, evaluates the received information and results, and controls the first personal computer 151 to communicate with the wired data network 121 using the second IP address and the wireless interface according to the result of the evaluation. .

對於電話機153,運行於其上,以及接入點133和第一服務提供商設備111上的多路徑管理軟體可各自獨立完成類似的任務,或共同參與該選擇過程。例如,第二接入點133通過運行在電話機153上的多路徑管理軟體所選擇的鏈路與電話機153交換資料,第二接入點133依照運行在第一服務提供商設備111上的多路徑管理軟體的指令與第一服務提供商設備111交換資料。還可存在其他情况,如根據資料流程來選擇不同的路徑,例如,從第一終端設備到第二終端設備的路徑,與從第二終端設備到第一終端設備的路徑相比,可能會涉及不同的多路徑管理責任,幷導致不同的路徑選擇結果。在從第一終端設備到第二終端設備的路徑中,每台設備可做自己的獨立評估幷選擇一條或多條通往第二終端設備的鏈路。同樣的,在從第二終端設備到第一終端設備的路徑中,每台設備也僅做自己的可獨立評估幷選擇一條或多條通往第一終端設備的鏈路。For the telephone 153, the multi-path management software running thereon, and the access point 133 and the first service provider device 111 can each independently perform similar tasks or participate in the selection process. For example, the second access point 133 exchanges data with the telephone 153 via a link selected by the multipath management software running on the telephone 153, the second access point 133 in accordance with the multipath running on the first service provider device 111. The instructions of the management software exchange data with the first service provider device 111. There may be other situations, such as selecting different paths according to the data flow, for example, the path from the first terminal device to the second terminal device may be related to the path from the second terminal device to the first terminal device. Different multi-path management responsibilities lead to different path selection results. In the path from the first terminal device to the second terminal device, each device can make its own independent evaluation and select one or more links to the second terminal device. Similarly, in the path from the second terminal device to the first terminal device, each device only makes its own independent evaluation, and selects one or more links to the first terminal device.

在承擔此任務時,多路徑管理應用評估每條可用的上行和下行鏈路的多個特徵。根據這些特徵,多路徑管理應用為每條鏈路生成一連接率,其中包括一個或多個因素。通過比較第一和第二連接率中的一個或多個因素,多路徑管理應用可確定應該使用路徑中的哪條鏈路。In undertaking this task, the multipath management application evaluates multiple features of each available uplink and downlink. Based on these characteristics, the multipath management application generates a connection rate for each link that includes one or more factors. By comparing one or more of the first and second connection rates, the multipath management application can determine which link in the path should be used.

上面提到的多個特徵可包括最大和當前帶寬、負載程度、傳送伫列、競爭要求、資料類型、干擾、誤碼率、安全性、鏈路成本等。具體來說,上面提到的特徵中的一些特徵是不隨時間變化的,而另外一些則會隨時間發生變化。例如,那些隨時間變化的特徵可能是因為帶寬、路徑路由、網路負載、QoS(服務質量)、傳送功率要求、誤碼率、漫游等因素發生變化而發生改變的。那些不隨時間發生變化的特徵包括例如鏈路成本、最大帶寬、QoS保障、鏈路的反竊聽性能、電路對比(vs.)分組交換特徵等。The various features mentioned above may include maximum and current bandwidth, load level, transmission queue, contention requirements, data type, interference, bit error rate, security, link cost, and the like. In particular, some of the features mentioned above are not time-varying, while others change over time. For example, those characteristics that change over time may change due to changes in bandwidth, path routing, network load, QoS (Quality of Service), transmit power requirements, bit error rate, roaming, and the like. Features that do not change over time include, for example, link cost, maximum bandwidth, QoS guarantees, anti-eavesdropping capabilities of the link, circuit comparison (vs.) packet switching features, and the like.

在對AP 133和電話機153之間的鏈路進行首次評估和選擇後,運行在AP 133上的多路徑管理應用程式會在固定的時間間隔、或對該鏈路提出新的要求時、以及相關因素發生變化使得超過了某些預先設定的閾值時,重新評估其作出的决策。如果找到了一個更為合適的配置,多路徑管理應用將會對當前路徑進行切換。這種情况可發生在例如,電視機155打開第二個視窗來顯示第二視頻資料,使得所需資料量上升;或者另一資料交換結束,一條更為合適的連接路徑得以釋放。另一方面,在隨後的一個時間,第一個人電腦151可能有大量資料需要上傳。使用當前的活躍鏈路來傳送這些資料會立即增大該鏈路的負擔,超過該鏈路進行另一應用時可以接受的帶寬。作為回應,多路徑管理應用程式會對這種其他應用,或者對這種大量資料的傳送負擔部分的或全部進行重新路由。After the first evaluation and selection of the link between the AP 133 and the telephone 153, the multi-path management application running on the AP 133 will be at a fixed time interval, or when new requirements are placed on the link, and When a factor changes so that certain pre-set thresholds are exceeded, the decision made is re-evaluated. If a more suitable configuration is found, the multipath management application will switch the current path. This can occur, for example, when the television 155 opens a second window to display the second video material, causing the amount of data required to rise; or another data exchange is over, a more suitable connection path is released. On the other hand, at a later time, the first personal computer 151 may have a large amount of data to upload. Using the current active link to transmit this data immediately increases the burden on the link beyond the bandwidth that the link can accept for another application. In response, the multipath management application will re-route some or all of this other application, or the transfer burden of such large amounts of material.

多路徑管理應用程式將資料傳輸在一條鏈路和另一條鏈路之間進行無縫切換,此過程可通知,也可不通知終端通信應用軟體。例如,第一個人電腦151可能不知道第二AP 133用來將第一個人電腦151所生成資料傳送至有線資料網路121的有線鏈路。電視機155和第二PC157也可能不知道多路徑管理應用程式所執行的路徑切換。資料傳輸從第二有線鏈路切換至第一有線鏈路的過程不會影響第二AP133對電視機155和/或第二PC157所生成資料的傳送。The multi-path management application seamlessly switches data transmission between one link and another link. This process can be notified or not notified to the terminal communication application software. For example, the first personal computer 151 may not know the wired link used by the second AP 133 to transfer the data generated by the first personal computer 151 to the wired data network 121. The television 155 and the second PC 157 may also be unaware of the path switching performed by the multipath management application. The process of switching the data transmission from the second wired link to the first wired link does not affect the transfer of the data generated by the second AP 133 to the television 155 and/or the second PC 157.

第二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的記憶體中。在第二實施例中,第二多路徑管理程式使用新的一組收集到的多個參數更新現有的參數,然後不再使用舊的一組參數。在第二實施例中,多路徑管理程式存儲舊的一組的多個參數,直到收集到新的一組的多個參數。The second PC 157 is associated with the second AP 133, the set top box 135, and the fourth AP 137. The second PC 157 includes a wired interface, a first wireless interface, and a second wireless interface. The second AP 133 assigns a third IP address to the second PC 157. The set top box 135 assigns a fourth IP address to the second PC 157. The fourth AP 137 assigns a fifth IP address to the second PC 157. The second PC 157 communicates with the wired data network 121 via the second AP 133 using a third IP address and a wired interface. The second PC 157 communicates with the set top box 135 using the fourth IP address and the first wireless interface. The second PC 157 communicates with the fourth AP 137 using the fifth IP address and the second wireless interface. A second multipath management program is run on the second PC 157. The second multipath management program is a set of software for managing three communication associations, the first communication association is associated with the second AP 133, the second communication association is associated with the set top box 135, and the third communication association is associated with the fourth AP137 is associated. The second multi-path management software periodically collects features or parameters associated with the three communication associations. The second multipath management program can collect the plurality of parameters when the three communication associations change. These parameters may include the IP address in each association, the data flow for each associated bearer, the bandwidth provided by each association, the encryption and encoding methods supported by each association, the power requirements for each association, and each associated Type, the delay introduced by each association, the level of interference in each association, which is related to the data flow carried by each association. The second multipath management program stores the collected parameters in the memory of the second PC 157. In a second embodiment, the second multipath management program updates the existing parameters with a new set of collected parameters and then no longer uses the old set of parameters. In a second embodiment, the multipath management program stores a plurality of parameters of the old set until a new set of multiple parameters are collected.

第二PC157或者使用第二PC157的用戶希望向連接到互聯網骨幹網103的目的設備發送資料。第二PC157生成資料傳輸請求。作為對該請求的回應,第二多路徑管理程式獲取有關這三個通信關聯的多個參數。第二多路徑管理程式會從第二接入點133、機頂盒135和第四接入點137收集至少一些參數,例如,每個關聯提供的帶寬、每個關聯所支援的加密和編碼方式、每個關聯引入的延遲和每個關聯的干擾級別。這些參數可從第二PC157的記憶體中獲取。這些參數也可從不在第二PC157機箱裏的單獨的存儲系統中獲取。這些參數中的一些或全部,例如對應於每個通信關聯的IP位址可從第二PC157的有線介面、第一無線介面和第二無線介面處獲取。多路徑管理程式使用獲取的參數從這三個介面--有線介面、第一無線介面和第二無線介面中選擇一個介面,然後控制第二PC157使用選中的介面和對應的IP位址向互聯網骨幹網103發送(也就是上行)資料。多路徑管理程式這一選擇過程為資料上行過程提供可能得到的最好的服務。例如,多路徑管理程式選擇第二無線介面。第二PC157使用第四接入點137分配的第五IP位址向第四接入點137發送資料。第四接入點137接收這些資料,使用無線資料網路127將這些資料發網目的設備。The second PC 157 or the user using the second PC 157 wishes to transmit the material to the destination device connected to the Internet backbone network 103. The second PC 157 generates a data transmission request. In response to the request, the second multipath management program obtains a plurality of parameters related to the three communication associations. The second multipath management program will collect at least some parameters from the second access point 133, the set top box 135, and the fourth access point 137, for example, the bandwidth provided by each association, the encryption and encoding methods supported by each association, and each The delay introduced by the association and the interference level of each association. These parameters can be obtained from the memory of the second PC 157. These parameters can also be obtained from a separate storage system that is not in the second PC157 chassis. Some or all of these parameters, such as an IP address corresponding to each communication association, may be obtained from the wired interface of the second PC 157, the first wireless interface, and the second wireless interface. The multipath management program uses the acquired parameters to select an interface from the three interfaces - the wired interface, the first wireless interface, and the second wireless interface, and then controls the second PC 157 to use the selected interface and the corresponding IP address to the Internet. The backbone network 103 sends (ie, uplinks) data. The multi-path management program, the selection process, provides the best possible service for the data ascent process. For example, the multipath management program selects the second wireless interface. The second PC 157 transmits the material to the fourth access point 137 using the fifth IP address assigned by the fourth access point 137. The fourth access point 137 receives the data and uses the wireless data network 127 to route the data to the destination device.

在第二PC157從/向第四接入點137收發資料的過程中,第四接入點137與第二PC157第二無線介面間的無線鏈路可能斷開。若該無線鏈路斷開,則軟體應用程式會控制第二PC157使用剩下的兩個介面中的一個,這兩個介面也就是有線介面和第一無線介面中。軟體應用程式選擇一個可提供更好服務的介面。從剩下的兩個介面中選擇一個的選擇過程需要依靠獲取的多個參數來進行。例如,軟體應用程式可選擇有線介面。隨後,第二PC157使用有線介面和第三IP位址來發送資料。從第二無線介面到有線介面的介面變動將無縫地進行,這樣一來,第二PC157所發送的任何資料都不會丟失。隨後,第二PC157發送的資料將到達第二AP133。第二AP133通過兩條鏈路連接到有線資料網路121。運行在第二AP133上的多路徑管理應用程式從連接有線資料網路121的兩條鏈路中選擇其中的一條,用於向有線資料網路121發送從第二PC157收到的資料。第二AP133使用選中的鏈路將從第二PC157收到的資料發往有線資料網路。第二PC157發送的資料最終將通過第二AP133、有線資料網路121和互聯網骨幹網103到達目的節點。During the process of the second PC 157 transmitting and receiving data from/to the fourth access point 137, the wireless link between the fourth access point 137 and the second wireless interface of the second PC 157 may be disconnected. If the wireless link is disconnected, the software application controls the second PC 157 to use one of the remaining two interfaces, namely the wired interface and the first wireless interface. The software application chooses an interface that provides better service. The selection process of selecting one of the remaining two interfaces is performed by relying on multiple parameters acquired. For example, a software application can choose a wired interface. Subsequently, the second PC 157 transmits the material using the wired interface and the third IP address. The interface change from the second wireless interface to the wired interface will be seamless, so that any data sent by the second PC 157 will not be lost. Subsequently, the data transmitted by the second PC 157 will arrive at the second AP 133. The second AP 133 is connected to the wired data network 121 through two links. The multipath management application running on the second AP 133 selects one of the two links connected to the wired data network 121 for transmitting the data received from the second PC 157 to the wired data network 121. The second AP 133 sends the data received from the second PC 157 to the wired data network using the selected link. The data transmitted by the second PC 157 will eventually reach the destination node through the second AP 133, the wired data network 121, and the Internet backbone network 103.

在另一實施例中,運行在第二PC157上的第二多路徑管理程式定期獲取有關所有這三個通信關聯的多個參數。多路徑管理程式可選擇一個閾值,幷且在三個通信關聯中任何一個的質量低於該閾值時,將相應的通信關聯隔離。在該示範性方案中,第二PC157使用第四接入點137和第二PC157的第二無線介面之間的無線鏈路來發送資料。當該無線鏈路的質量下降到低於該閾值時,多路徑應用程式會促使第二PC157切換到有線介面,幷使用第三IP位址來發送資料。因此,從第二無線介面到有線介面的切換發生在該鏈路斷開前。多路徑管理程式確保不會有任何資料(也就是第二PC157發送的資料)由於發生切換而丟失。In another embodiment, the second multipath management program running on the second PC 157 periodically acquires a plurality of parameters relating to all three of the communication associations. The multipath management program can select a threshold and isolate the corresponding communication association when the quality of any of the three communication associations is below the threshold. In the exemplary scenario, the second PC 157 transmits the data using a wireless link between the fourth access point 137 and the second wireless interface of the second PC 157. When the quality of the wireless link drops below the threshold, the multipath application will cause the second PC 157 to switch to the wired interface and use the third IP address to transmit the data. Therefore, switching from the second wireless interface to the wired interface occurs before the link is disconnected. The multipath management program ensures that no data (ie, data sent by the second PC 157) is lost due to switching.

每個終端151-157上運行有一個或多個通信應用。這些通信應用可能是互聯網瀏覽應用、互聯網電話、視頻遊戲應用、文本消息、多媒體消息和視頻會議。每個通信應用都具有不同的通信條件。例如,互聯網瀏覽應用可能要求使用高帶寬路徑,互聯網電話應用可能要求使用低延遲的路徑,文本消息應用通常對高延遲的路徑容忍性最大,向用戶傳送即時經歷的視頻遊戲應用可能要求使用高帶寬低延遲路徑。運行在終端151-157上的通信應用可執行多路徑管理功能。在這種情况下,可能不存在單獨的用於管理每個終端151-157的多條可用上行路徑上的通信的多路徑管理硬體或軟體。運行在終端上的通信應用可根據對應的通信條件從兩條或多條可用上行路徑中選出一條上行路徑。例如,若一個終端具備兩條到達接入點的上行路徑,一條是低帶寬路徑,另一條是高帶寬路徑,則運行在該終端上的視頻遊戲應用可能决定使用高帶寬上行路徑,來與接入點之間收發分組資料。視頻遊戲應用(通信應用)將所選擇的路徑通知運行在終端上的多路徑管理應用,後者便通過選定的高帶寬路徑與接入點之間收發分組資料。多路徑管理應用僅幫助控制資料分組通過視頻遊戲應用(通信應用)所選擇的路徑發往接入點。One or more communication applications are running on each of the terminals 151-157. These communication applications may be Internet browsing applications, Internet telephony, video game applications, text messaging, multimedia messaging, and video conferencing. Each communication application has different communication conditions. For example, Internet browsing applications may require high bandwidth paths, Internet telephony applications may require low latency paths, text messaging applications are generally most tolerant of high latency paths, and video game applications that deliver instant experiences to users may require high bandwidth. Low latency path. The communication application running on terminals 151-157 can perform multi-path management functions. In this case, there may be no separate multipath management hardware or software for managing communications on multiple available upstream paths for each of the terminals 151-157. The communication application running on the terminal may select an uplink path from two or more available uplink paths according to corresponding communication conditions. For example, if a terminal has two uplink paths to the access point, one is a low bandwidth path and the other is a high bandwidth path, the video game application running on the terminal may decide to use a high bandwidth uplink path to connect and connect. Send and receive packet data between incoming points. The video game application (communication application) notifies the selected path to the multi-path management application running on the terminal, which transmits and receives the packet data between the access point and the access point through the selected high bandwidth path. The multipath management application only helps to control the routing of data packets to the access point through the path selected by the video game application (communication application).

在另一實施例中,終端上未運行有多路徑管理應用。該通信應用(視頻遊戲應用)與終端的設備驅動器相連,控制對應所選路徑(高帶寬路徑)的設備驅動器與接入點之間收發分組資料。In another embodiment, a multi-path management application is not running on the terminal. The communication application (video game application) is connected to the device driver of the terminal, and controls the device data corresponding to the selected path (high bandwidth path) to transmit and receive packet data between the device driver and the access point.

作為選擇,視頻遊戲應用(通信應用)還可决定使用高帶寬上行路徑從接入點接收分組資料,使用低帶寬上行路徑向接入點發送分組資料。視頻遊戲應用還可决定同時使用高帶寬上行路徑和低帶寬上行路徑來從接入點接收分組資料。視頻遊戲應用需要使用低延遲路徑。若在某一時刻,高帶寬路徑上的延遲大於可承受值,則視頻遊戲應用可决定只使用低帶寬路徑與接入點通信。該視頻遊戲應用可控制多路徑管理應用或對應的設備驅動器來切換至低帶寬路徑。該通信應用軟體可確保不會有任何分組資料由於發生切換而丟失。Alternatively, the video game application (communication application) may also decide to receive packet data from the access point using the high bandwidth uplink path and the packet data to the access point using the low bandwidth uplink path. The video game application may also decide to use both the high bandwidth uplink path and the low bandwidth uplink path to receive packet data from the access point. Video game applications require a low latency path. If at some point the delay on the high bandwidth path is greater than the acceptable value, the video game application may decide to communicate with the access point using only the low bandwidth path. The video game application can control a multi-path management application or a corresponding device driver to switch to a low bandwidth path. The communication application software ensures that no packet data is lost due to switching.

該通信應用根據可用路徑的通信特徵從兩條或多條可用上行路徑中選出一條上行路徑。該通信特徵可包括最大帶寬和當前帶寬、負載、伫列長度、干擾、誤碼率、安全性、鏈路成本,以及傳輸功率條件等。該通信應用可根據其生成的資料類型來選擇路徑。若該通信應用要求進行控制資料交換,則它可以僅從可用上行路徑中選出一條路徑。若該通信應用要求收發多媒體分組資料,則它可從可用上行路徑中選出兩條最好的路徑,幷使用選出的第一條路徑接收(或發送)部分多媒體分組資料,使用選出的第二條路徑接收(或發送)其餘的多媒體分組資料。The communication application selects an uplink path from two or more available uplink paths based on the communication characteristics of the available paths. The communication characteristics may include maximum bandwidth and current bandwidth, load, queue length, interference, bit error rate, security, link cost, and transmission power conditions, and the like. The communication application can select a path based on the type of data it generates. If the communication application requires control data exchange, it can only select one path from the available upstream paths. If the communication application requires sending and receiving multimedia packet data, it may select the two best paths from the available uplink paths, and receive (or transmit) part of the multimedia packet data using the selected first path, and use the selected second packet. The path receives (or sends) the remaining multimedia packet data.

在一個實施例中,某通信應用可能具有高於其他通信應用的優先順序。例如但不限於,電話機153具有兩條到AP133的上行路徑。運行在電話機153上的互聯網瀏覽應用,其優先順序低於電話呼叫應用。運行在電話機153上的互聯網瀏覽應用從兩條上行路徑中選擇使用其中的一條來與AP133通信。例如,這兩條上行路徑中,所選擇的路徑提供更低的干擾。如果現在電話機153(或者使用電話機153的用戶)想同時建立電話呼叫,則互聯網瀏覽應用就釋放低干擾上行路徑,轉而使用兩條上行路徑中干擾較高的第二條上行路徑與AP133通信。電話呼叫應用使用低干擾路徑來與AP133通信。互聯網瀏覽應用中的分組資料經高干擾路徑傳輸,電話呼叫應用中的分組資料使用低干擾路徑。一旦電話呼叫應用結束,互聯網瀏覽應用將切換至低干擾路徑,幷通過該低干擾路徑交換分組資料。互聯網瀏覽應用從低干擾路徑切換至高干擾路徑,最後又切換回低干擾路徑的過程由互聯網瀏覽應用無縫地進行。In one embodiment, a communication application may have a higher priority than other communication applications. For example, without limitation, the telephone 153 has two upstream paths to the AP 133. The Internet browsing application running on the telephone 153 has a lower priority than the telephone call application. The Internet browsing application running on the telephone 153 selects one of the two uplink paths to communicate with the AP 133. For example, of the two upstream paths, the selected path provides lower interference. If the telephone 153 (or the user using the telephone 153) wants to establish a telephone call at the same time, the Internet browsing application releases the low-interference uplink path and instead communicates with the AP 133 using the second uplink path with higher interference in the two uplink paths. The telephone call application uses a low interference path to communicate with the AP 133. The packet data in the Internet browsing application is transmitted through the high interference path, and the packet data in the telephone call application uses a low interference path. Once the phone call application ends, the Internet browsing application will switch to the low interference path, and the packet data will be exchanged through the low interference path. The process of switching from an Internet interference application to a low interference path and finally switching back to a low interference path is performed seamlessly by the Internet browsing application.

在另一實施例中,通信應用,即運行在電話機153上的互聯網瀏覽應用和電話呼叫應用不適於從連接AP133的兩條上行路徑中選擇路徑。電話機153上運行有多路徑管理應用。通信應用向多路徑管理應用提供自身的通信條件資訊(CRI),由多路徑管理應用根據CRI在兩條上行路徑中選擇一條路徑。對應於通信應用的CRI可包括通信應用所要求的最低資料率、通信應用的優先順序、通信應用所能容忍的最大誤碼率等。例如,用戶想要在電話機153上運行互聯網瀏覽應用。運行在電話機153上的多路徑管理應用從互聯網瀏覽應用接收路徑建立請求。多路徑管理應用隨後從互聯網瀏覽應用接收對應互聯網瀏覽應用的CRI。多路徑管理應用還可從電話機153的記憶體中獲取該CRI。多路徑管理應用使用該CRI從兩條上行路徑中選擇一條路徑,然後控制隨後的分組資料在AP133和電話機153之間經由所選擇的路徑傳送。In another embodiment, the communication application, i.e., the Internet browsing application and the telephone call application running on the telephone 153, are not adapted to select a path from the two upstream paths connecting the APs 133. A multi-path management application runs on the telephone 153. The communication application provides its own communication condition information (CRI) to the multi-path management application, and the multi-path management application selects one path among the two uplink paths according to the CRI. The CRI corresponding to the communication application may include a minimum data rate required by the communication application, a priority order of the communication application, a maximum error rate that the communication application can tolerate, and the like. For example, the user wants to run an internet browsing application on the phone 153. The multipath management application running on the telephone 153 receives a path establishment request from the internet browsing application. The multi-path management application then receives the CRI of the corresponding Internet browsing application from the Internet browsing application. The multipath management application can also retrieve the CRI from the memory of the telephone 153. The multipath management application uses the CRI to select a path from the two upstream paths and then controls subsequent packet data to be transferred between the AP 133 and the telephone 153 via the selected path.

AP133從連接到互聯網骨幹網103的終端收到發往電話機153的電話呼叫建立請求。AP133通過選擇的路徑與電話機153相連,該路徑上正在傳送對應互聯網瀏覽應用的分組資料。AP133使用選擇的路徑向電話機153發送呼叫建立請求。多路徑管理應用獲取對應電話呼叫應用的CRI。對應電話呼叫應用的CRI顯示,電話呼叫應用的優先順序高於互聯網瀏覽應用。多路徑管理應用使用對應電話呼叫的CRI從連接AP133的兩條可用上行路徑中選擇一條路徑。例如,多路徑管理應用確定,互聯網瀏覽應用所選擇的正在使用的路徑也最適合電話呼叫應用。由於電話呼叫應用的優先順序高於互聯網瀏覽應用,多路徑管理應用將對應互聯網瀏覽應用的分組資料切換至兩條上行路徑中的另一條傳送,然後控制對應電話呼叫應用的分組資料經由選擇的路徑傳送。通信應用,也就是互聯網瀏覽應用和電話呼叫應用通過向多路徑管理應用提供對應的CRI,來幫助多路徑管理應用從兩條或多條可用路徑中選擇一條路徑。The AP 133 receives a telephone call setup request to the telephone set 153 from the terminal connected to the Internet backbone network 103. The AP 133 is connected to the telephone 153 via the selected path on which the packet data corresponding to the Internet browsing application is being transmitted. The AP 133 sends a call setup request to the telephone 153 using the selected path. The multipath management application obtains the CRI of the corresponding phone call application. The CRI display for the phone call application shows that the phone call application has a higher priority than the Internet browsing application. The multipath management application selects one of the two available upstream paths connecting the APs 133 using the CRI of the corresponding telephone call. For example, the multi-path management application determines that the path selected by the Internet browsing application is also best suited for a phone call application. Since the priority of the telephone call application is higher than the Internet browsing application, the multi-path management application switches the packet data corresponding to the Internet browsing application to another one of the two uplink paths, and then controls the group data of the corresponding telephone call application via the selected path. Transfer. Communication applications, that is, Internet browsing applications and telephone call applications, help a multi-path management application select a path from two or more available paths by providing a corresponding CRI to the multi-path management application.

在第三類實施例中,運行在終端(151-157)上的通信應用不直接或間接參與從兩條或多條可用上行路徑中選擇一條路徑的操作。路徑的選擇和控制分組資料經由選擇的路徑傳送的任務由運行在終端上的多路徑管理應用執行。對路徑的選擇可由起始終端和目的終端之間的不同終端上運行的一個以上的多路徑管理應用共同執行。例如,在收到來自通信應用(也就是電話呼叫應用或互聯網瀏覽應用)的路徑建立請求後,運行在電話機153上的多路徑管理應用,運行在AP133上的第二多路徑管理應用,以及運行在第一服務提供商設備111上的第三多路徑管理應用可共同决定使用電話機153和AP133之間兩條上行路徑中的哪條路徑來傳輸對應於該通信應用的分組資料。運行在終端(151-157)上的通信應用顯然知道一個或多個多路徑管理應用所選擇的通信路徑。In a third type of embodiment, the communication application running on the terminal (151-157) does not directly or indirectly participate in the operation of selecting one of the two or more available upstream paths. The selection of the path and the task of controlling the packet data to be transmitted via the selected path are performed by the multi-path management application running on the terminal. The selection of the path may be performed by more than one multi-path management application running on different terminals between the originating terminal and the destination terminal. For example, after receiving a path establishment request from a communication application (ie, a telephone call application or an internet browsing application), the multi-path management application running on the telephone 153, the second multi-path management application running on the AP 133, and running The third multi-path management application on the first service provider device 111 can collectively decide which of the two upstream paths between the telephone 153 and the AP 133 to transmit the packet material corresponding to the communication application. The communication application running on the terminal (151-157) is apparently aware of the communication path selected by one or more multi-path management applications.

圖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網路、衛星資料網路,或者任何種類的標準和專用的分組交換網路。2 is a schematic diagram of multiple components of an access point 133 of the present invention as shown in FIG. 1, which supports multiple data paths from itself to the Internet backbone network 103. The set top box 135 of FIG. 1 also supports more than one data communication path to the Internet backbone network 103. A plurality of components are shown in FIG. 2, which are common to the multipath access point 133 and the multipath set top box 135 of FIG. The multi-path AP or multi-path STB (set top box) 200 includes processing circuitry 202, a user input interface 218, a plurality of wired interfaces 220, and a plurality of wireless interfaces 230. The processing circuit 202 includes a storage system 204, an operating system 210, a multipath management software (MMS) 214, and a device sub-driver 216. The user input interface 218 receives input information from the user, and the processing circuit 202 thus responds to the input information. The user input interface 218 can be a plurality of buttons, a touch screen, a voice interface, a mouse, a thumb wheel, a screen, a touch pen, and the like. The plurality of wired interfaces 220 include a first wired upstream interface 222, a second wired upstream interface 223, a first wired downstream interface 224, and a second wired downstream interface 225. The plurality of wireless interfaces 230 include a first wireless uplink interface 232, a second wireless uplink interface 233, a first wireless downlink interface 234, and a second wireless downlink interface 235. The upstream interface (wired uplink and wireless uplink interface) of the multipath AP (or multipath STB) 200 supports data communication between the multipath AP (or multipath STB) 200 and one or more data networks, and its downstream interface (Wired downlink and wireless downlink interfaces) support data communication between multi-path AP (or multi-path STB) 200 and one or more client devices. A client device is a terminal and/or device that generates data. Typical client devices include personal computers, telephones, PDAs, video game consoles, televisions, or various terminals that can generate data in a first format (eg, splitting data into packets) that can be transmitted over a packet switched network. These materials can be audio, video, pictures, emails, web pages, music videos, files stored on the Internet and/or corporate intranet servers, text messages, television shows, and any type of multimedia information. Typical data networks include fiber data networks, cable data networks, public switched telephone networks, GSM networks, CDMA networks, EDGE networks, IEEE 802.11 networks, WiMax networks, satellite data networks, or any kind of Standard and dedicated packet switched networks.

例如但不限於,多路徑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網路通信。For example, but not limited to, the multi-path AP (or multi-path STB) 200 communicates with the fiber-optic data network using the first wired uplink interface 222, and communicates with the wired data network using the second wired uplink interface 223, using the first wireless uplink interface 232. Communicates with the EDGE network and communicates with the WiMax network using the second wireless upstream interface 233. Fiber data networks, cable data networks, EDGE networks, and WiMax networks use different protocols for packet data transmission and reception. Each wired and wireless upstream interface (222, 223, 232, and 233) interacts with at least one corresponding hardware device, and the corresponding hardware device is uniquely identified by a Media Access Control (MAC) address. Typical hardware devices include transceivers. The multipath AP (or multipath STB) 200 first associates itself with a fiber data network, a wired data network, an EDGE network, and a WiMax network, and then communicates with these networks. This association includes assigning an IP address to the multi-path AP (or multi-path STB) 200 by the corresponding data communication network. In the process of establishing the association, the optical fiber data network allocates a first IP address for the multi-path AP (or multi-path STB) 200, and the wired data network allocates a second IP address for the multi-path AP (or multi-path STB) 200, the EDGE network. The way assigns a third IP address to the multipath AP (or multipath STB) 200, and the WiMax network assigns a fourth IP address to the multipath AP (or multipath STB) 200. The multi-path AP (or multi-path STB) 200 communicates with the fiber-optic data network through the first wired uplink interface 222 using the first IP address. Similarly, the multi-path AP (or multi-path STB) 200 passes the second wired uplink interface. 223 communicates with the wired data network using the second IP address, communicates with the EDGE network through the first wireless upstream interface 232 using the third IP address, and communicates with the WiMax network through the second upstream interface 233 using the fourth IP address.

在該非限定性實施例中,多路徑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從個人電腦收第一格式的資料。In this non-limiting embodiment, the multi-path AP (or multi-path STB) 200 communicates with the personal computer using the first wired downstream interface 224, communicates with the headset using the second wired downstream interface 225, and uses the first wireless downstream interface 234 and the telephone. Communication, using the second wireless downstream interface 235 to communicate with the television. The multipath AP (or multipath STB) 200 is connected in this exemplary embodiment to different types of packet data networks (i.e., fiber data networks, cable data networks, EDGE networks, and WiMax networks). The type of packet data network connected to the multipath AP (or multipath STB) 200 is invisible to personal computers, headsets, telephones, and televisions (i.e., client devices). When the client device broadcasts the association request, the MMS 214 of the multipath AP (or multipath STB) 200 assigns a fifth IP address, a sixth IP address, a seventh IP address, and the like to the personal computer, the headset, the telephone, and the television, respectively. The eighth IP address. The MMS 214 of the multi-path AP (or multi-path STB) 200 controls the personal computer to transmit the first format material to the multi-path AP (or multi-path STB) 200 using the fifth IP address. The multi-path AP (or multi-path STB) 200 receives data in the first format from the personal computer through the first wired downstream interface 224.

多路徑AP(或多路徑STB)200通過第一有線上行介面222、第二有線上行介面223、第一無線上行介面232和第二無線上行介面233連接到互聯網骨幹網。MMS214評估對應於第一有線上行介面222的第一度量值、對應於第二有線上行介面223的第二度量值、對應於第一無線上行介面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的用戶輸入介面218收到用戶的輸入資訊後評估第一度量值、第二度量值、第三度量值和第四度量值。MMS214將第一度量值、第二度量值、第三度量值和第四度量值存儲於多路徑AP(或多路徑STB)200的存儲系統204中。MMS214在評估完新一組度量值後,對第一度量值、第二度量值、第三度量值和第四度量值進行更新。The multi-path AP (or multi-path STB) 200 is connected to the Internet backbone through the first wired uplink interface 222, the second wired uplink interface 223, the first wireless uplink interface 232, and the second wireless uplink interface 233. The MMS 214 evaluates a first metric value corresponding to the first wired uplink interface 222, a second metric value corresponding to the second wired uplink interface 223, a third metric value corresponding to the first wireless uplink interface 232, and corresponds to The fourth metric value of the second wireless uplink interface 233. The value of the first metric at a certain time is related to a plurality of parameters. These parameters may be the maximum bandwidth supported by the first wired upstream interface 222, waiting to be uploaded from the customer premises equipment (ie, personal computer, headset, telephone, and television) to the Internet backbone through the multi-path AP (or multi-path STB) 200. The data load of the network, the size of the data transmitted through the first wired interface 222 at that time, and the type of data load waiting to be uploaded by the multi-path AP (or multi-path STB) 200 (that is, the uploaded data load is a text message, a video) File, instant data or non-instant data, etc.), and the power requirements of the first wired upstream interface 222. The first metric varies over time. The MMS 214 evaluates the first metric at a fixed time interval. The second metric value, the third metric value, and the fourth metric value corresponding to the second wired uplink interface 223, the first wireless uplink interface 232, and the second wireless uplink interface 233 also change with time. The MMS 214 also evaluates the second metric, the third metric, and the fourth metric at fixed time intervals. The MMS 214 may evaluate the first metric value, the second metric value, the third metric value, and the fourth metric value upon receiving a data upload request sent by any of the client devices (personal computer, headset, telephone, or television). The MMS 214 may evaluate the first metric value, the second metric value, the third metric value, and the fourth metric value after receiving the user's input information through the user input interface 218 of the multi-path AP (or multi-path STB) 200. The MMS 214 stores the first metric value, the second metric value, the third metric value, and the fourth metric value in the user input interface 218 of the multipath AP (or multipath STB) 200 to receive the first information after receiving the input information of the user. The magnitude, the second metric, the third metric, and the fourth metric. The MMS 214 stores the first metric value, the second metric value, the third metric value, and the fourth metric value in the storage system 204 of the multipath AP (or multipath STB) 200. After evaluating the new set of metric values, the MMS 214 updates the first metric value, the second metric value, the third metric value, and the fourth metric value.

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位址將這些資料發往有線資料網路。這些資料通過有線資料網最終到達互聯網骨幹網。The MM 214 can collect and measure metrics (first metric, second metric) from multiple wired interfaces 220, multiple wireless interfaces 230, operating system 210, storage system 204, and customer premises equipment (computers, headsets, telephones, and televisions). A number of parameters related to the value, the third metric, and the fourth metric. In the exemplary embodiment, the device sub-driver 216 of the multi-path AP (or multi-path STB) 200 determines whether the first cable downstream interface 224 has data from the personal computer by scanning. The device sub-driver 216 notifies the MMS 214 that there is data. The MMS 214 of the multipath AP (or multipath STB) 200 then evaluates the four metrics. The MMS evaluates these four metrics to find a better data communication link with a higher metric. In this non-limiting embodiment, among the four metric values, it is possible that the value of the second metric value is the highest. The second metric corresponds to the second wired upstream interface 223 of the multipath AP (or multipath STB) 200. The MMS 214 control device sub-driver 216 of the multi-path AP (or multi-path STB) 200 routes the data received from the personal computer to the second wired upstream interface 223 of the multi-path AP (or multi-path STB) 200. The device sub-driver 216 is a software program that can interact with the hardware of the first wired downstream interface 224 and the second wired upstream interface 223. The device sub-driver 216 forwards the available data of the first wired downstream interface 224 (ie, from the personal computer) to the second wired upstream interface 223. The second wired upstream interface 223 sends the data to the wired data network using the second IP address. These materials eventually reach the Internet backbone through the wired data network.

在另一實施例中,資料包中可包含一標識,該標識來自位於第一有線下行介面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的來自個人電腦的分組資料最終到達互聯網骨幹網,其中,第一部分是通過有線資料網到達的,而其餘部分是通過光纖資料網路到達的。In another embodiment, the data package may include an identification from a personal computer located at the first wired downstream interface 224. The flag indicates that the grouping material has a high priority value. In this case, the MMS 214 of the multipath AP (or multipath STB) 200 can evaluate the four metrics to determine two communication interfaces corresponding to the two high priority values. In this non-limiting embodiment, of the four metrics, the second metric has the highest value and the first metric has the second highest value. The second metric corresponds to the second upstream wired interface 223 of the multipath AP (or multipath STB) 200. The first metric corresponds to the first upstream wired interface 222 of the multipath AP (or multipath STB) 200. The MMS 214 of the multipath AP (or multipath STB) 200 divides the packet data received from the personal computer into two parts. The MMS 214 determines to transmit the first partial packet data received from the personal computer through the second uplink cable interface 223, and the remaining packet data is transmitted through the first wired upstream interface 222. Under the monitoring of the MMS 214, the device sub-driver 216 that interacts with the hardware of the first wired upstream interface 222 and the second wired upstream interface 223 performs routing control on the data packets. The second wired upstream interface 223 is connected to the wired data network. The MMS 214 ensures that the first portion of the data packet transmitted through the second cable interface 223 is applicable to the cable data network protocol. The first wired upstream interface 222 is connected to the optical fiber data network. The MMS 214 ensures that the remaining data packets transmitted over the first wired interface 222 use the fiber data network protocol. Packet data from the personal computer arriving at the multipath AP (or multipath STB) 200 eventually arrives at the Internet backbone, where the first portion is reached via the wired data network and the remainder is reached via the fiber data network.

個人電腦幷不知道資料網路的類型和/或多路徑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包括無線發射模組。The personal computer does not know the type of data network and/or the type of interface that the multi-path AP (or multi-path STB) 200 uses to send data received from the personal computer. The personal computer sends the data to the multipath AP (or multipath STB) 200 in the first format specified by the multipath AP (or multipath STB) 200. For example, the MMS 214 of the multi-path AP (or multi-path STB) 200 selects to use the second wired upstream interface 223. The first format data received from the personal computer may need to be converted to the second format supported by the cable data network. The MMS 214 trigger device sub-driver 216 routes the available data of the first wired downstream interface 224 (ie, from the personal computer) to the transcoder. The transcoder is part of the processing circuitry 202 of the multipath AP (or multipath STB) 200. The transcoder converts the data in the first format to the second format. The MMS 214 then triggers the device sub-driver 216 to route the data of the second format from the transcoder to the second wired upstream interface 223. The second wired uplink interface 223 sends the second format data to the wired data network using the second IP address. The second wired uplink interface 223 includes a wireless transmission module.

MMS獲取這些參數,幷定期評估這四個度量值。用戶可借助用戶輸入介面218通過MMS214設置兩次連續的度量值評估操作之間的時間間隔。用戶輸入介面218接收用戶定義的時間間隔值,幷將其發往MMS214。MMS214將該時間間隔值存儲到存儲系統204中,幷且在用戶定義的每次時間間隔內對這四個度量值進行一次評估。如果在某一時刻,第三度量值超過第二度量值,則MMS214將觸發設備子驅動器216,將從個人電腦收到的資料路由至第一無線上行介面232,這是因為第三度量值對應於第一無線上行介面232。設備子驅動器216將第一有線下行介面224的可用資料轉(也就是來自個人電腦的資料)發至第一無線上行介面232。第一無線上行介面232使用第三IP位址將這些資料發往EDGE網路。這些資料最終通過EDGE網路到達互聯網骨幹網。通過從第一有線下行介面224到第二有線上行介面223路徑進行傳輸的這些資料,在MMS214進行切換後,將通過從第一有線下行介面224到第一無線上行介面232的路徑傳輸。MMS214控制資料路由的切換,幷確保在切換過程中不發生資料(或者資料分組)丟失。The MMS obtains these parameters and periodically evaluates the four metrics. The user can set the time interval between two consecutive metric evaluation operations by the MMS 214 via the user input interface 218. User input interface 218 receives the user-defined time interval value and sends it to MMS 214. The MMS 214 stores the time interval values in the storage system 204 and evaluates the four metrics once in each user defined time interval. If at some point the third metric exceeds the second metric, the MMS 214 will trigger the device sub-driver 216 to route the data received from the personal computer to the first wireless upstream interface 232 because the third metric corresponds to In the first wireless uplink interface 232. The device sub-driver 216 sends the available data of the first wired downstream interface 224 (that is, the data from the personal computer) to the first wireless upstream interface 232. The first wireless upstream interface 232 sends the data to the EDGE network using a third IP address. These materials eventually reach the Internet backbone through the EDGE network. The data transmitted through the path from the first wired downstream interface 224 to the second wired upstream interface 223 is transmitted through the path from the first wired downstream interface 224 to the first wireless upstream interface 232 after the MMS 214 performs the handover. MMS214 controls the switching of data routing, ensuring that no data (or data packets) are lost during the switching process.

圖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上的一套軟體。3 is a schematic diagram of a plurality of components of the client device 155 or 157 of the present invention as shown in FIG. 1, the client device supporting a plurality of access points 133, 135, and 137 from its own 155 or 157 to FIG. Data path. The multi-path client device 300 includes a processing circuit 302, a storage system 304, a user input interface 330, a first wired uplink interface 342, a second wired uplink interface 343, a first wireless uplink interface 344, and a second wireless uplink interface 345. . Each of the wired and wireless interfaces (342, 343, 344, and 345) interacts with at least one corresponding hardware device, and the corresponding hardware device is uniquely identified by a Media Access Control (MAC) address. A typical corresponding hardware device includes a transceiver. The transceiver is used to send and receive data (ie, data packets). The operating system 308 is a set of software running on the multi-path client device 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。The multi-path client device 300 itself is associated with all available packet switched networks. All of these packet switched networks are connected to the Internet backbone. As shown, the multi-path client device 300 includes four communication interfaces (342, 343, 344, and 345), and the multi-path client device 300 can associate itself with up to four different types of packet data networks. For example, but not limited to, the multi-path client device 300 associates itself with the first access point of the wired data network via the first wired upstream interface 342. The association with the first access point of the wired data network includes the assignment of an IP address by the first access point. The multi-path client device 300 uses the first IP address and the first wired uplink interface 342 to send data to the wired data network, and receives data from the wired data network through the first access point. In this non-limiting embodiment, multipath client device 300 is associated with a second access point of the fiber optic data network via a second wired upstream interface 343 and a second IP address. The multi-path client device 300 is also associated with a third access point belonging to the satellite data network via the first wireless uplink interface 344 and the third IP address. The multi-path client device 300 is also associated with a fourth access point of the UMTS data network via a second wireless upstream interface 345 and a fourth IP address. The second IP address, the third IP address, and the fourth IP address respectively pass through the second access point (that is, the optical fiber data network), the third access point (that is, the satellite data network), and the fourth access A point (i.e., a UMTS network) is assigned to the multi-path client device 300.

多路徑用戶端設備300的用戶輸入介面330可以是多個按鈕、鍵盤、觸摸屏、滑鼠、語音介面,觸摸筆、拇指轉輪等。多路徑用戶端設備300可以是個人電腦、電話機、電視機、耳機,以及視頻遊戲機等。若多路徑用戶端設備300是個人電腦,則用戶輸入介面330通常為滑鼠和鍵盤。若多路徑用戶端設備300是電話機,則用戶輸入介面330通常為螢幕和多個按鈕。若多路徑用戶端設備300是視頻遊戲機,則用戶輸入介面330通常為拇指轉輪和遊戲搖杆。多路徑用戶端設備300可向互聯網骨幹網發送資料。在這個非限定性實施例中,多路徑用戶端設備300為一電話機。多路徑用戶端設備300通過多個按鈕330(用戶輸入介面)接收對視頻的選擇。非限定的,選擇的視頻為一段音樂視頻,該音樂視頻存儲於連接到互聯網骨幹網的互聯網伺服器上。多路徑用戶端設備300與四個接入點相關聯(連接到四個接入點),第一接入點屬於有線資料網路,第二接入點屬於光纖資料網路,第三接入點屬於衛星資料網路,第四接入點屬於UMTS網路。所有這四個接入點均連接到互聯網骨幹網。多路徑用戶端設備300現在需要通過四個接入點中的任意接入點向互聯網骨幹網發送請求,用於請求選中的音樂視頻。The user input interface 330 of the multi-path client device 300 can be a plurality of buttons, a keyboard, a touch screen, a mouse, a voice interface, a touch pen, a thumb wheel, and the like. The multi-path client device 300 can be a personal computer, a telephone, a television, a headset, a video game console, and the like. If the multi-path client device 300 is a personal computer, the user input interface 330 is typically a mouse and a keyboard. If the multi-path client device 300 is a telephone, the user input interface 330 is typically a screen and a plurality of buttons. If the multi-path client device 300 is a video game console, the user input interface 330 is typically a thumb wheel and a joystick. The multi-path client device 300 can send data to the Internet backbone. In this non-limiting embodiment, multi-path client device 300 is a telephone. The multi-path client device 300 receives the selection of the video through a plurality of buttons 330 (user input interfaces). Unrestricted, the selected video is a piece of music video stored on an internet server connected to the Internet backbone. The multi-path client device 300 is associated with four access points (connected to four access points), the first access point belongs to a wired data network, the second access point belongs to a fiber data network, and the third access point The point belongs to the satellite data network, and the fourth access point belongs to the UMTS network. All four access points are connected to the Internet backbone. The multi-path client device 300 now needs to send a request to the Internet backbone through any of the four access points for requesting the selected music video.

在多路徑用戶端設備300的存儲系統304中可存在多個通信應用。通信應用310、311和312可以是例如,電話應用、互聯網瀏覽應用、媒體下載應用、媒體郵件應用、消息服務應用、電視節目應用,或使用通信功能的任何其他軟體應用。通信應用310中的每一個都可以進行下列操作:1)控制自身和任何其他通信應用310、311和312的通信路徑選擇;或2)協助任何其他通信應用310和遠端及本地路徑管理軟體進行這種路徑選擇。通信應用311中每一個都可協助任何通信應用310和遠端及本地路徑管理軟體進行通信路徑選擇。通信應用312例如遺留應用(legacy application),既不協助也不進行路徑選擇。There may be multiple communication applications in the storage system 304 of the multi-path client device 300. Communication applications 310, 311, and 312 can be, for example, a telephony application, an internet browsing application, a media download application, a media mail application, a messaging service application, a television program application, or any other software application that uses communication functionality. Each of the communication applications 310 can perform the following operations: 1) control the communication path selection of itself and any other communication applications 310, 311, and 312; or 2) assist any other communication application 310 and remote and local path management software. This path is chosen. Each of the communication applications 311 can assist any communication application 310 and remote and local path management software in making communication path selections. The communication application 312, such as a legacy application, neither assists nor performs path selection.

通信應用310、311和312中的每一個都具備多種關聯的通信特徵,例如但不限於,且對於每種交換的資料類型以及資料流程的每個方向而言,這些特徵包括:1)所需的最小帶寬;2)所允許的最大延遲;3)想要的鏈路質量;4)所允許的最低鏈路質量;;5)安全/加密要求;6)優先順序;7)所支援的相關標準;8)通信要求是周期性的、不定時發生的、還是持續的。通信應用310和311支援與本地和遠端路徑管理軟體進行通信特徵交換,以支援路徑選擇。本地和/或遠端管理軟體通過執行下列一種或多種方法,為通信應用312確定通信特徵,這些方法包括:1)從本地或遠端記憶體中獲取預先定義的通信特徵;2)提示電話機310的用戶輸入這種特徵;3)監視通信應用312的實際通信活動。Each of the communication applications 310, 311, and 312 is provided with a plurality of associated communication features, such as, but not limited to, and for each of the exchanged data types and each direction of the data flow, the features include: 1) Minimum bandwidth; 2) maximum delay allowed; 3) desired link quality; 4) lowest link quality allowed; 5) security/encryption requirements; 6) prioritization; 7) supported correlation Standard; 8) Communication requirements are periodic, irregular, or persistent. Communication applications 310 and 311 support communication feature exchange with local and remote path management software to support path selection. The local and/or remote management software determines communication characteristics for the communication application 312 by performing one or more of the following methods, including: 1) obtaining predefined communication features from local or remote memory; 2) prompting the telephone 310 The user enters this feature; 3) monitors the actual communication activity of the communication application 312.

本地路徑管理軟體,即MMS(多路徑管理軟體314)、運行在任何其他網路節點(未示出)上的遠端路徑管理軟體,以及通信應用310三者可彼此獨立地,也可相互協作的對通過可用路徑的總體通信流進行控制,以及為所有通信軟體310、311和312控制通信流。它們可根據當前路徑條件的變化以及通信軟體的要求重新選擇路徑,幷且按需要將通信流進行無縫切換。例如,若一條通信路徑斷開了,則當前路徑的流量將經由一條或多條其他路徑傳送,而不會中斷一個或多個通信應用的運行。The local path management software, ie MMS (Multipath Management Software 314), remote path management software running on any other network node (not shown), and the communication application 310 can be independent of each other, and can also cooperate with each other. The overall communication flow through the available paths is controlled, and the communication flows are controlled for all communication softwares 310, 311, and 312. They can re-select the path based on changes in current path conditions and the requirements of the communications software, and seamlessly switch traffic as needed. For example, if a communication path is broken, traffic for the current path will be transmitted via one or more other paths without disrupting the operation of one or more communication applications.

如果選擇通信應用310其中之一來管理所有的通信流,則該通信應用將通過下列方式接收幷自動更新通信特徵,例如:1)直接與可用路徑中的其他節點進行交互;2)從與指定路徑或路徑類型相關聯的預先定義的記憶體中獲取;3)從多路徑用戶端設備300的用戶獲取;4)從MMS314獲取;5)從通信應用310和311中的其他應用獲取;6)從與任何其他通信應用310、311和312相關聯的預先定義的記憶體中獲取;7)通過監視路徑或通信應用來獲取;8)從一個或多個遠端路徑管理軟體應用獲取。這些通信特徵包括兩個類別:a)與可用路徑有關;b)與其他通信應用有關。除管理所有資料流程以外,通信應用310其中之一還可只負責管理其自身的通信流。If one of the communication applications 310 is selected to manage all of the communication flows, the communication application will receive an automatic update communication feature by, for example, 1) directly interacting with other nodes in the available path; 2) from and specifying Obtained in a pre-defined memory associated with the path or path type; 3) obtained from the user of the multi-path client device 300; 4) acquired from the MMS 314; 5) obtained from other applications in the communication applications 310 and 311; Obtained from pre-defined memory associated with any other communication applications 310, 311, and 312; 7) acquired through a monitoring path or communication application; 8) acquired from one or more remote path management software applications. These communication features include two categories: a) related to available paths; b) related to other communication applications. In addition to managing all of the data flow, one of the communication applications 310 may also be solely responsible for managing its own communication flow.

類似的,如果選擇MMS314來管理所有通信流,則它將通過下列方式接收幷自動更新通信特徵,例如:1)直接與可用路徑中的其他節點進行交互;2)從與指定路徑或路徑類型相關聯的預先定義的記憶體中獲取;3)從多路徑用戶端設備300的用戶獲取;4)從通信應用310和311中獲取;5)從與任何其他通信應用310、311和312相關聯的預先定義的記憶體中獲取;6)通過監視路徑或通信應用來獲取;和/或7)從一個或多個遠端路徑管理軟體應用獲取。這些通信特徵包括兩個類別:a)與可用路徑有關;b)與通信應用有關。作為管理所有資料流程這一方案的替代,MMS314還可只負責管理通信應用310、311和312中選中的一個或幾個應用的通信流。Similarly, if MMS 314 is selected to manage all traffic, it will receive 幷 automatic update communication features in the following ways, such as: 1) directly interact with other nodes in the available path; 2) from the specified path or path type Acquired in the pre-defined memory; 3) acquired from the user of the multi-path client device 300; 4) obtained from the communication applications 310 and 311; 5) associated with any other communication applications 310, 311 and 312 Acquired in pre-defined memory; 6) acquired by monitoring path or communication application; and/or 7) acquired from one or more remote path management software applications. These communication features include two categories: a) related to the available path; b) related to the communication application. As an alternative to the scheme of managing all data flows, the MMS 314 may also be solely responsible for managing the communication flows of one or several of the selected ones of the communication applications 310, 311, and 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(例如電話機)與本地和遠端多路徑管理軟體進行交互,為一流媒體下載選擇一條或多條可用通信路徑,或在必要時進行無縫的重選擇。與該可用路徑以及該通信應用相關聯的通信特徵支援這種選擇和重新選擇操作。Similarly, if you select the remote path management software to manage all traffic, it will receive the automatic update communication features in the following ways, such as: 1) directly interact with other nodes in the available path; 2) from the specified path Or acquired in a pre-defined memory associated with the path type; 3) obtained from the user of the multi-path client device 300; 4) acquired from the MMS 314; 5) obtained from other applications in the communication applications 310 and 311; Acquired in pre-defined memory associated with any other communication applications 310, 311, and 312; 7) acquired through a monitoring path or communication application; 8) acquired from one or more remote path management software applications. These communication features include two categories: a) related to available paths; b) related to other communication applications. As an alternative to managing all data flows, the remote path management software may also be responsible for management only, for example: 1) one or several communication flows selected from communication applications 310, 311, and 312; or 2) communication The data flow of the communication application using the paths directly associated to the remote path management software in applications 310, 311, and 312. For example, a multi-path client device 300 (e.g., a telephone) running a communication application 310 (e.g., a media download application) interacts with local and remote multi-path management software to select one or more available communication paths for premium media downloads, or Seamlessly re-select when necessary. The communication features associated with the available path and the communication application support such selection and reselection operations.

特別的,與媒體下載應用(通信應用310其中之一)有關,與媒體下載應用相關聯的通信特徵可包括所需的最小帶寬、所允許的最大延遲、想要的鏈路質量、所允許的最低鏈路質量、資料分組需要的加密、資料類型、分組資料的優先順序等。儘管媒體下載應用310具有請求和通過四個接入點中任意接入點從與互聯網相連的網路節點接收媒體流的能力,但也必須先從這些接入點中選出滿足通信特徵的一個或多個或全部接入點。In particular, in connection with a media download application (one of the communication applications 310), the communication characteristics associated with the media download application may include the minimum bandwidth required, the maximum delay allowed, the desired link quality, and the allowed Minimum link quality, encryption required for data grouping, data type, priority of grouping data, etc. Although the media download application 310 has the ability to request and receive media streams from network nodes connected to the Internet through any of the four access points, one of these access points must first be selected to satisfy the communication characteristics. Multiple or all access points.

每條可用通信路徑同樣也具有與其相關聯的多個通信特徵,它們可以是例如統計的、額定的或者當前的帶寬、延遲、服務質量、鏈路質量、安全級、資料類型、成本等。通過同時收集通信應用和可用路徑的通信特徵,可對路徑選擇和資料流程的分發進行更好的管理。正如這裏所使用的那樣,與可用通信路徑相關聯的通信特徵稱為“路徑特徵”,而與通信應用相關聯的通信特徵稱為“通信條件資訊(CRI)”或“通信條件”。與本地終端設備相關聯的通信特徵稱為“本地通信特徵”(包括“本地CRI”和“本地路徑特徵”),而與同其通信的遠端第二終端相關聯的通信特徵稱為“遠端通信特徵”(包括“遠端CRI”和“遠端路徑特徵”)。Each of the available communication paths also has a plurality of communication characteristics associated therewith, which may be, for example, statistical, nominal or current bandwidth, delay, quality of service, link quality, security level, data type, cost, and the like. By simultaneously collecting the communication characteristics of the communication application and the available paths, the distribution of the path selection and data flow can be better managed. As used herein, a communication feature associated with an available communication path is referred to as a "path feature," and a communication feature associated with a communication application is referred to as a "communication condition information (CRI)" or "communication condition." The communication features associated with the local terminal device are referred to as "local communication features" (including "local CRI" and "local path characteristics"), while the communication features associated with the remote second terminal with which it is communicating are referred to as "far" End communication features" (including "remote CRI" and "remote path features").

現在回到前面的實施例,媒體下載應用,也就是通信應用310其中之一可從存儲系統304獲取與通信應用310、311和312中任何一個或多個通信應用相關聯的CRI305。該媒體下載應用還可直接從通信應用310、311和312中其他任何一個或多個通信應用獲取CRI。媒體下載應用還可按下列一種方式、多種方式或者所有方式獲取路徑特徵306:a)存儲系統304;b)MMS314;c)遠端路徑管理軟體;d)直接監視可用路徑的活動/表現。如圖所示,在四個接入點和對應的四個通信介面342、343、344和345之間存在至少四條可用路徑。對應每條可用路徑的路徑特徵可包括能够反映出該路徑對通信流的支援能力的任何特徵,例如,所支援的最大帶寬、功率要求、存在的延遲、擁塞,以及成本等。具體來說,對應第一有線上行介面342的路徑特徵可包括例如有線資料網所支援的最大帶寬,通過第一接入點和第一有線上行介面342之間的第一路徑收發資料時候所要求的功率,分組資料流程經該第一路徑時預期(expected)的延遲,以及干擾級別。類似的,對應有線上行介面343、344和345的路徑特徵也可反映出上述因素的額定的,以及當前和歷史的統計資訊。Returning now to the previous embodiment, one of the media download applications, namely the communication application 310, can obtain the CRI 305 associated with any one or more of the communication applications 310, 311, and 312 from the storage system 304. The media download application can also obtain CRI directly from any one or more of the communication applications 310, 311, and 312. The media download application may also obtain the path features 306 in one, multiple, or all of the following ways: a) the storage system 304; b) the MMS 314; c) the remote path management software; d) directly monitoring the activity/performance of the available paths. As shown, there are at least four available paths between the four access points and the corresponding four communication interfaces 342, 343, 344, and 345. The path characteristics corresponding to each available path may include any feature that reflects the path's ability to support the communication flow, such as the maximum bandwidth supported, power requirements, delays present, congestion, and cost. Specifically, the path feature corresponding to the first wired uplink interface 342 may include, for example, a maximum bandwidth supported by the wired data network, and the data is sent and received through the first path between the first access point and the first wired uplink interface 342. The required power, the expected delay of the packet data flow through the first path, and the interference level. Similarly, the path characteristics corresponding to the wired upstream interfaces 343, 344, and 345 may also reflect the nominal, and current and historical statistical information of the above factors.

在收集完通信特徵,也就是CRI和路徑特徵之後,媒體下載應用便進行路徑選擇,幷與MMS314、遠端路徑管理軟體、其他通信軟體310、311和/或其他必要的網路節點相互協作,開始下載媒體流。通常,路徑特徵中的一些參數在通信關聯(association)不發生變化的情况下也不會發生變化,例如最大帶寬性能或峰值帶寬要求。而路徑特徵中的另外一些參數則會隨著延遲、負載,以及干擾級別頻繁持續地發生變化。同樣的,與每個通信應用相關聯的CRI也會隨一些事件的發生而發生變化,例如,處於空閑通信狀態,未運行,或經歷意料之外的高密度應用。如果CRI和/或路徑特徵的變化對其支援當前CRI條件的能力產生限制,則媒體下載應用將重新選擇路徑,幷與MMS314、遠端多路徑管理軟體、其他通信軟體310、311和/或其他必要的網路節點相互協作,對路徑進行無縫切換。類似的,本地多路徑管理軟體、MMS314或運行在其他網路節點上的遠端多路徑管理軟體在需要時,也可執行路徑選擇、路徑重新選擇,以及管理無縫切換等操作。例如,MMS314可定期收集CRI(例如,從用戶和通信應用,以及通過監視活動)和路徑特徵(例如,從用戶,通過監視活動,以及從可用路徑上的網路節點)。一旦收集完畢,MMS314在需要時,便使用這些CRI和路徑特徵來選擇或者重新選擇路徑。MMS314還可將獲取的通信特徵存儲到存儲系統304中。After collecting the communication features, that is, the CRI and path characteristics, the media download application performs path selection, and cooperates with the MMS 314, the remote path management software, other communication software 310, 311, and/or other necessary network nodes. Start downloading the media stream. In general, some of the path characteristics do not change if the communication association does not change, such as maximum bandwidth performance or peak bandwidth requirements. Other parameters in the path characteristics change frequently with delays, loads, and interference levels. Similarly, the CRI associated with each communication application will also change as some events occur, for example, in an idle communication state, not running, or experiencing unexpected high density applications. If the change in CRI and/or path characteristics imposes a limit on its ability to support current CRI conditions, the media download application will re-select the path, with MMS 314, remote multi-path management software, other communication software 310, 311, and/or other The necessary network nodes work together to seamlessly switch paths. Similarly, local multi-path management software, MMS 314, or remote multi-path management software running on other network nodes can perform path selection, path reselection, and manage seamless switching when needed. For example, the MMS 314 can periodically collect CRI (eg, from user and communication applications, as well as through monitoring activities) and path characteristics (eg, from users, through monitoring activities, and from network nodes on available paths). Once collected, the MMS 314 uses these CRI and path features to select or reselect the path as needed. The MMS 314 can also store the acquired communication features into the storage system 304.

路徑選擇過程包括以任何方式為每個通信應用分配一條或多條可用路徑,該可用路徑可以是整條路徑,也可以是一部分路徑,例如,該分配操作包括:1)將第一路徑分配給第一通信應用,將第二路徑分配給第二通信應用;2)將第一路徑分配給第一應用的上行資料流程,將第二路徑分配給第一應用的下行資料流程;3)將第一路徑分配給第一應用和一部分第二應用,將第二路徑分配給第二應用其餘的部分。在新通信應用啟動或其他通信應用關閉,以及通信特徵發生變化時,在需要時將發生路徑的重新分配,同時進行路徑的無縫切換。The path selection process includes allocating one or more available paths for each communication application in any manner, and the available paths may be the entire path or a part of the paths. For example, the allocation operation includes: 1) assigning the first path to The first communication application allocates the second path to the second communication application; 2) assigning the first path to the uplink data flow of the first application, and assigning the second path to the downlink data flow of the first application; 3) A path is assigned to the first application and a portion of the second application, and the second path is assigned to the remaining portion of the second application. When the new communication application is started or other communication applications are closed, and the communication characteristics are changed, the path is redistributed when needed, and the paths are seamlessly switched.

例如,媒體下載應用可通過路徑選擇過程與第二有線上行介面343相關聯。如果進行了這樣的選擇,媒體下載應用就會控制MMS314將對應於該媒體下載應用的所有通信資料都通過第二有線上行介面343傳送。此後,當多路徑用戶端設備300收到通過光纖資料網路和第二有線上行介面343從互聯網骨幹網收到一份下載資料時,該下載資料將轉發給媒體下載應用。多路徑用戶端設備300可通過選擇的第二路徑收發對應該下載的控制資料(如果有必要的話)。MMS314協助控制分組資料經由媒體下載應用所選擇的路徑進行傳送。For example, the media download application can be associated with the second wired upstream interface 343 via a path selection process. If such a selection is made, the media download application will control the MMS 314 to transfer all communication data corresponding to the media download application through the second wired upstream interface 343. Thereafter, when the multi-path client device 300 receives a download data from the Internet backbone through the optical fiber data network and the second wired uplink interface 343, the downloaded data is forwarded to the media download application. The multi-path client device 300 can send and receive control data (if necessary) corresponding to the download through the selected second path. The MMS 314 assists in controlling the transfer of packet data via the path selected by the media download application.

為回應音樂視頻選擇,媒體下載應用310需要向互聯網骨幹網發送所選音樂視頻請求。對應第二有線介面343的子驅動器控制包含所選音樂視頻請求的第一資料包通過第二有線介面343來傳送。第二有線介面343(也就是與第二有線介面343相關聯的硬體)使用第二IP位址將第一資料發往第二接入點。該所選音樂視頻請求通過所選路徑(也就是對應第二有線介面343的路徑)最終到達互聯網骨幹網。互聯網骨幹網將第一資料轉發給互聯網伺服器。存儲有所選音樂視頻的互聯網伺服器對該請求做出回應,將選擇的音樂視頻發往互聯網骨幹網。媒體下載應用310控制多路徑用戶端設備300通過所選路徑從互聯網骨幹網接收所選的音樂視頻。第二有線介面343使用第二IP位址從第二接入點(其通過光纖資料網路與互聯網骨幹網相連)接收所選的音樂視頻。In response to the music video selection, the media download application 310 needs to send the selected music video request to the Internet backbone. The sub-driver corresponding to the second cable interface 343 controls the first packet containing the selected music video request to be transmitted through the second cable interface 343. The second wired interface 343 (ie, the hardware associated with the second wired interface 343) sends the first data to the second access point using the second IP address. The selected music video request eventually reaches the Internet backbone through the selected path (ie, the path corresponding to the second wired interface 343). The Internet backbone forwards the first data to the Internet server. The Internet server storing the selected music video responds to the request and sends the selected music video to the Internet backbone. The media download application 310 controls the multi-path client device 300 to receive the selected music video from the Internet backbone over the selected path. The second cable interface 343 receives the selected music video from the second access point (which is connected to the Internet backbone via the fiber data network) using the second IP address.

在另一實施例中,使用多個通信特徵(路徑特徵和CRI)的媒體下載應用决定從四條可用路徑中選擇兩條路徑以供使用。媒體下載應用之所以作出如此决定,可能是因為所選音樂視頻較大、所有四條可用上行路徑上的資料流程量都很大、提高可靠性、對錯誤進行糾正等。媒體下載應用控制對應所選音樂視頻的一部分分組資料通過第一路徑和第一有線上行介面342進行傳送,同時控制所選音樂視頻的其餘部分通過第二路徑和第二有線上行介面343進行傳送。媒體下載應用310可决定通過第一路徑相間地接收一部分分組,通過第二路徑來接收其餘的分組。媒體下載應用310還可决定通過其他組合方式通過第一路徑和第二路徑來接收所選音樂視頻。這種以及其他的多路徑選擇和使用要求下載源設備也就是終端設備如伺服器或另一用戶端設備的參與。源設備和目的設備上的路徑管理軟體(也就是MMS314)相互協作,對在二者之間傳送的資料流程進行分段,幷根據接收情况對分段資料進行重組。事實上,任何使用多路徑來支援一台終端設備上的單個通信應用和另一台終端設備上的單個通信應用的方法都可由兩個通信應用和/或兩個基礎路徑管理應用相互協作來完成。因此,除CRI和路徑特徵外,本地路徑選擇過程還可包括確定遠端通信應用的CRI(該操作將確定遠端通信設備的性能),以及遠端路徑的特徵。通過使用可用的本地和遠端通信特徵,本地通信應用和/或本地MMS不僅可更好地進行本地路徑選擇,還可控制、建議或同意對應的遠端路徑選擇結果。In another embodiment, a media download application that uses multiple communication features (path features and CRI) decides to select two paths from among the four available paths for use. The reason why the media download application made such a decision may be that the selected music video is large, the data flow on all four available uplink paths is large, the reliability is improved, and the error is corrected. The media download application controls a portion of the packet data corresponding to the selected music video to be transmitted through the first path and the first wired uplink interface 342, while controlling the remaining portion of the selected music video to be performed through the second path and the second wired uplink interface 343. Transfer. The media download application 310 may decide to receive a portion of the packets by the first path and receive the remaining packets through the second path. The media download application 310 may also decide to receive the selected music video through the first path and the second path by other combinations. This and other multipath selection and use requires the participation of a download source device, that is, a terminal device such as a server or another client device. The path management software (that is, MMS314) on the source device and the destination device cooperate with each other to segment the data flow transmitted between the two, and reorganize the segment data according to the reception condition. In fact, any method that uses multiple paths to support a single communication application on one terminal device and a single communication application on another terminal device can be done by two communication applications and/or two basic path management applications. . Thus, in addition to the CRI and path features, the local path selection process can also include determining the CRI of the far end communication application (which will determine the performance of the far end communication device), as well as the characteristics of the far end path. By using the available local and remote communication features, the local communication application and/or the local MMS can not only better perform local path selection, but also control, suggest or agree to the corresponding remote path selection results.

如上所述,路徑重新選擇過程可由多種因素觸發。例如,某一時刻,第一路徑的質量下降到媒體下載應用310所期待的鏈路質量以下。媒體下載應用310對此作出回應,從第三路徑和第四路徑中選擇滿足所期待的鏈路質量的另一條或其他路徑。媒體下載應用310對資料流程進行改道或分割,幷使用第三和/或第四路徑替代第一路徑,或作為第一路徑的補充。MMS314與設備子驅動器316交互,將分組資料通過所選路徑傳送。設備子驅動器316為一套軟體,用於與MMS314和與四個上行介面(342、343、344和345)相關聯的硬體進行交互。As mentioned above, the path reselection process can be triggered by a variety of factors. For example, at some point, the quality of the first path drops below the link quality expected by the media download application 310. The media download application 310 responds by selecting another or other path from the third path and the fourth path that satisfies the expected link quality. The media download application 310 reroutes or splits the data flow, replacing the first path with the third and/or fourth path, or supplementing the first path. The MMS 314 interacts with the device sub-driver 316 to transfer the packet data through the selected path. Device sub-driver 316 is a set of software for interacting with MMS 314 and hardware associated with the four upstream interfaces (342, 343, 344, and 345).

集成有支援功能的通信應用311,例如電話呼叫應用也運行在多路徑用戶端設備300上。例如,運行的電話呼叫應用幷不從可用的四條上行路徑中選擇路徑,但協助這一選擇過程。電話呼叫應用將其CRI發往MMS314,後者將為電話呼叫應用進行路徑選擇。可在收到請求後,或者通過存儲系統304來傳送CRI。多路徑用戶端設備300的用戶使用用戶輸入介面330輸入電話呼叫建立請求。MMS314回應電話呼叫建立請求,也可以在更早以前(例如剛開始執行電話呼叫應用時),在確定該電話呼叫應用具備集成的支援功能後,從電話呼叫應用和/或存儲系統304獲取與該電話呼叫應用相關聯的CRI。MMS314也從存儲系統304和/或介面、或者四條路徑上的任意其他網路節點獲取對應這四條通信路徑的多個路徑特徵。通過使用獲取的通信特徵,MMS314從四條可用路徑中為電話呼叫應用選擇或者在必要時重新選擇一條或多條路徑。A communication application 311 integrated with a support function, such as a telephone call application, also runs on the multi-path client device 300. For example, a running phone call application does not select a path from the four available upstream paths, but assists in this selection process. The phone call application sends its CRI to the MMS 314, which will make a path selection for the phone call application. The CRI may be transmitted upon receipt of the request or through the storage system 304. The user of the multi-path client device 300 enters a phone call setup request using the user input interface 330. The MMS 314 responds to the telephone call setup request, and may also obtain from the telephone call application and/or storage system 304 after determining that the telephone call application has an integrated support function earlier (eg, when the telephone call application is just being executed) The phone call applies the associated CRI. The MMS 314 also obtains multiple path features corresponding to the four communication paths from the storage system 304 and/or interface, or any other network node on the four paths. Using the acquired communication features, the MMS 314 selects from the four available paths for the phone call application or reselects one or more paths as necessary.

例如,MMS314選擇經由第二無線上行介面345的第三路徑,幷控制對應第二無線上行介面345的設備驅動器通過第二無線上行介面345來為電話呼叫收發分組資料。多路徑用戶端設備300和連接到互聯網骨幹網上的目的終端之間的電話呼叫通過UMTS網路和這四個接入點從多路徑用戶端設備300傳送到互聯網骨幹網。可由同一UMTS網路或一些其他的分組交換網路來承載從互聯網骨幹網到終端設備的電話呼叫。可由運行在目的終端上的第二MMS,和/或運行在互聯網骨幹網和目的終端之間任意節點上的一個或多個MMS選擇路徑來承載互聯網骨幹網和目的終端之間的電話呼叫。For example, the MMS 314 selects a third path via the second wireless uplink interface 345, and controls the device driver corresponding to the second wireless uplink interface 345 to send and receive packet data for the telephone call through the second wireless uplink interface 345. The telephone call between the multi-path client device 300 and the destination terminal connected to the Internet backbone network is transmitted from the multi-path client device 300 to the Internet backbone network through the UMTS network and the four access points. A telephone call from the Internet backbone to the terminal device can be carried by the same UMTS network or some other packet switched network. A telephone call between the Internet backbone network and the destination terminal can be carried by a second MMS running on the destination terminal, and/or one or more MMS selection paths running on any node between the Internet backbone network and the destination terminal.

在某一時刻,MMS314可無縫地切換至一條不同路徑,例如第二路徑。該切換操作可在第四路徑已無法滿足與電話呼叫應用相關聯的第二通信特徵時執行。例如,在該時刻,第四路徑上的干擾超出所允許的最大上限,或UMTS網路上的資料流程量激增,使得多路徑用戶端設備300和UMTS網路之間的第四路徑無法支援電話呼叫所要求的最低資料率。運行在多路徑用戶端設備300上的電話呼叫應用311可始終不知道已從第四路徑切換至第二路徑。在切換後,多路徑用戶端設備300和互聯網骨幹網之間的電話呼叫由第二接入點和光纖資料網路承載。At some point, the MMS 314 can seamlessly switch to a different path, such as the second path. The switching operation can be performed when the fourth path has failed to satisfy the second communication feature associated with the phone call application. For example, at this moment, the interference on the fourth path exceeds the maximum allowed limit, or the amount of data flow on the UMTS network increases, so that the fourth path between the multi-path client device 300 and the UMTS network cannot support the telephone call. The minimum data rate required. The phone call application 311 running on the multi-path client device 300 may never know that it has switched from the fourth path to the second path. After the handover, the telephone call between the multi-path client device 300 and the Internet backbone is carried by the second access point and the fiber data network.

作為選擇,在進行路徑選擇時,MMS314、遠端路徑管理應用,或通信應用310在收到或未收到相關的通信特徵的情况下,都向使用多路徑用戶端設備300的用戶顯示確認請求或者選擇請求。通常,這種顯示操作可通過螢幕進行,當然,也可使用其他方式。Alternatively, the MMS 314, the remote path management application, or the communication application 310, when performing the path selection, displays a confirmation request to the user using the multi-path client device 300, with or without receiving the relevant communication feature. Or choose a request. Usually, this display operation can be performed through a screen, and of course, other methods can be used.

通信應用軟體310或311可以是例如互聯網瀏覽應用程式,他們運行在單路徑或多路徑用戶端設備上,該設備可同時支援進行本地和遠端多路徑管理。例如,為配合遠端互聯網伺服器處進行的上行路徑選擇,可在運行於單路徑或多路徑用戶端設備上的這種互聯網瀏覽器的協助下,執行路徑選擇和無縫切換。同樣,多路徑管理軟體可載入到任何終端設備(也就是單路徑或多路徑用戶端或伺服器)上,協助進行遠端多路徑管理過程。如果本地存在多條可用路徑,則在需要時,可在遠端的協助下啟動本地多路徑管理功能。這種由通信應用或MMS314提供的協助可包括例如幫助將資料進行分段後通過多條路徑傳送,幷在另一端重新組合;切換;建立半雙工路徑、改變網路位址等。The communication application software 310 or 311 may be, for example, an internet browsing application running on a single path or multi-path client device that supports both local and remote multi-path management. For example, to accommodate upstream path selection at the remote internet server, path selection and seamless switching can be performed with the assistance of such an internet browser running on a single path or multi-path client device. Similarly, multipath management software can be loaded onto any end device (that is, a single path or multipath client or server) to assist with remote multipath management. If there are multiple available paths locally, the local multi-path management function can be started with the assistance of the remote when needed. Such assistance provided by the communication application or MMS 314 may include, for example, helping to segment the data through multiple paths, reassembling at the other end, switching, establishing a half-duplex path, changing the network address, and the like.

通信應用軟體311可清楚上述過程的進行,同時更為重要的,可在進行上述過程中提供幫助。例如,通信應用軟體311可自動將當前以及以後的要求和條件直接發給MMS314,協助進行該路徑選擇和管理過程。根據顯示在多路徑用戶端設備300螢幕上的多個通信特徵,可向用戶提供四條路徑以供選擇。用戶可從這四條可用路徑中選擇多於一條路徑。通信應用軟體311回應用戶作出的路徑選擇,將選擇的路徑通知MMS314。若用戶只從四條可用路徑中選擇了一條可用路徑,則MMS314會控制對應的子驅動器將分組資料通過選擇的通信介面傳送。若用戶從四條可用路徑中選擇了兩條路徑,則MMS314將控制對應的兩個子驅動器將分組資料通過這兩條選擇的路徑傳送。MMS314會决定哪條路徑承載全部資料負載的哪個部分。MMS314可决定將相間的(alternate)資料分組通過兩條所選路徑中的一條傳送,幷通過兩條所選路徑中的另一條來傳送其餘資料分組。The communication application software 311 can clarify the progress of the above process and, more importantly, can provide assistance in performing the above process. For example, the communication application software 311 can automatically send current and future requirements and conditions directly to the MMS 314 to assist in the path selection and management process. Based on the plurality of communication features displayed on the multi-path client device 300 screen, four paths can be provided to the user for selection. The user can select more than one of the four available paths. The communication application software 311 notifies the MMS 314 of the selected path in response to the path selection made by the user. If the user selects only one available path from the four available paths, the MMS 314 controls the corresponding sub-driver to transmit the packet data through the selected communication interface. If the user selects two paths from the four available paths, the MMS 314 will control the corresponding two sub-drivers to transfer the packet data through the two selected paths. The MMS 314 will decide which path carries which part of the full data load. The MMS 314 may decide to transmit an alternate data packet through one of the two selected paths, and transmit the remaining data packets through the other of the two selected paths.

在第四實施例中,多路徑用戶端設備300上運行的通信應用312不具備多路徑管理功能。例如,運行在多路徑用戶端設備300上的多媒體消息應用既不直接管理也不幫助MMS314管理多路徑用戶端設備300的四條上行通信路徑。用戶使用用戶輸入介面330輸入多媒體消息發送請求。運行在多路徑用戶端設備300上的MMS314回應該多媒體消息發送請求,獲取對應多媒體消息應用312的第三通信特徵307。通過使用第三通信特徵307,MMS314判斷得知多媒體消息應用312不具備多路徑管理功能。MMS314收集四個接入點和多路徑用戶端設備300上對應的四個介面(342、343、344和345)之間的四條路徑的路徑特徵,將這些路徑特徵存儲於存儲系統304中。通過定期收集或用戶輸入的請求,MMS314對存儲的路徑特徵進行更新。In the fourth embodiment, the communication application 312 running on the multi-path client device 300 does not have a multi-path management function. For example, the multimedia messaging application running on the multi-path client device 300 neither directly manages nor assists the MMS 314 in managing the four upstream communication paths of the multi-path client device 300. The user enters a multimedia messaging request using the user input interface 330. The MMS 314 running on the multi-path client device 300 responds to the multimedia message transmission request and acquires the third communication feature 307 of the corresponding multimedia message application 312. By using the third communication feature 307, the MMS 314 determines that the multimedia message application 312 does not have a multi-path management function. The MMS 314 collects the path characteristics of the four paths between the four access points and the corresponding four interfaces (342, 343, 344, and 345) on the multi-path client device 300, and stores these path features in the storage system 304. The MMS 314 updates the stored path characteristics by periodically collecting or user input requests.

在該示範性實施例中,MMS314從四條可用路徑中選擇對應第二有線介面343的路徑來發送多媒體消息。在本實施例中,第二有線介面343與屬於光纖資料網路的第二接入點相關聯。運行在多路徑用戶端設備300上的MMS314控制對應的設備子驅動器將此後與互聯網骨幹網之間收發的所有資料分組經由第二有線介面343傳送。子驅動器316是一套軟體,用於驅動對應第一有線上行介面342、第二有線上行介面343、第一無線上行介面344和第二無線上行介面345的所有硬體設備。這些硬體設備由其各自的MAC位址唯一標識。In the exemplary embodiment, MMS 314 selects a path corresponding to second wired interface 343 from among four available paths to transmit a multimedia message. In this embodiment, the second wired interface 343 is associated with a second access point that belongs to the fiber optic data network. The MMS 314 running on the multi-path client device 300 controls the corresponding device sub-driver to transmit all the data packets sent and received between the Internet backbone network and the Internet backbone network via the second wired interface 343. The sub-driver 316 is a set of software for driving all the hardware devices corresponding to the first wired uplink interface 342, the second wired uplink interface 343, the first wireless uplink interface 344, and the second wireless uplink interface 345. These hardware devices are uniquely identified by their respective MAC addresses.

這四個分組資料網中的資料流程隨時間進行變化,因此,路徑特徵也隨時間進行變化。運行在多路徑用戶端設備300上的MMS314在固定的時間間隔收集這些路徑特徵,同時,多路徑用戶端設備300通過第二有線介面343向互聯網骨幹網發送多媒體消息。MMS314收集這些路徑特徵的時間間隔為一預先設定的值。例如,第二路徑上的干擾級別隨時間不斷增加。可對MMS314進行設置,使得其在所選擇路徑上的干擾級別超過一上限值時作出回應。該上限值可為一預先設定的值。如果在某一時刻,第二路徑上的干擾級別超過該上限值,運行在多路徑用戶端設備300上的MMS314可查找最近一次收集的路徑特徵,從剩下的三條路徑(也就是,經由第一有線上行介面342的路徑、經由第一無線上行介面344的路徑,以及經由第二無線上行介面345的路徑)中選擇一條具有最低干擾的備用路徑。例如但不限於,在該時刻,經由第一無線上行介面344的路徑具有最低干擾。MMS314會控制對應第一無線上行介面344的子驅動器對硬體進行驅動,使多路徑用戶端設備300通過第一無線上行介面344來替代第二有線上行介面342收發資料。第一無線上行介面344與屬於衛星資料網路的第三接入點相關聯。與第一無線上行介面344相關聯的硬體會向互聯網骨幹網發送多媒體消息。該多媒體消息最終到達與互聯網骨幹網相連的目的設備。MMS314和對應的子驅動器在該時刻將路徑從一條高干擾路徑切換至一條最低干擾的路徑,幷且沒有丟失資料。還可對MMS314進行配置,使其在所選路徑中的延遲超過上限時作出回應。The data flow in these four packet data networks changes over time, so the path characteristics also change over time. The MMS 314 running on the multi-path client device 300 collects these path features at fixed time intervals while the multi-path client device 300 transmits multimedia messages to the Internet backbone through the second wired interface 343. The time interval at which the MMS 314 collects these path features is a predetermined value. For example, the level of interference on the second path increases over time. The MMS 314 can be set such that it responds when the level of interference on the selected path exceeds an upper limit. The upper limit value can be a predetermined value. If at some point the interference level on the second path exceeds the upper limit, the MMS 314 running on the multi-path client device 300 can look up the last collected path feature from the remaining three paths (ie, via The path of the first wired uplink interface 342, the path through the first wireless uplink interface 344, and the path via the second wireless uplink interface 345 select one of the alternate paths with the lowest interference. For example, but not limited to, at this time, the path through the first wireless uplink interface 344 has the lowest interference. The MMS 314 controls the sub-driver corresponding to the first wireless uplink interface 344 to drive the hardware, so that the multi-path client device 300 replaces the second wired uplink interface 342 to send and receive data through the first wireless uplink interface 344. The first wireless uplink interface 344 is associated with a third access point that is part of the satellite data network. The hardware associated with the first wireless upstream interface 344 sends multimedia messages to the Internet backbone. The multimedia message eventually reaches the destination device connected to the Internet backbone. The MMS 314 and the corresponding sub-driver switch the path from a high interference path to a lowest interference path at this time without loss of data. The MMS314 can also be configured to respond when the delay in the selected path exceeds the upper limit.

MMS314和子驅動器316通過用戶選擇的路徑對資料進行路由。在另一實施例中,運行在多路徑用戶端設備300上的應用無論何時需要從/向互聯網骨幹網收/發資料,MMS314都會查找最近一次收集的通信特徵值,幷從當前可用路徑中選擇一條路徑。MMS314可根據從/向互聯網骨幹網收/發的資料的類型來選擇路徑。例如但不限於,本實施例中的通信應用為多媒體遊戲應用。該多媒體遊戲應用要下載大量資料,幷要求等待時間很短。運行在多路徑用戶端設備300上的MMS314對該多媒體遊戲應用CRI作出回應,查找最近一次收集的路徑特徵值,從四條可用路徑中選擇一條可提供最高帶寬的路徑。在本實施例中,在四條可用路徑中,第二接入點和第二有線上行介面343之間的路徑可提供最高的帶寬。運行在多路徑用戶端設備300上的MMS314控制設備子驅動器316將此後多媒體遊戲應用要求的與互聯網骨幹網之間的所有資料收發過程都使用第二有線上行介面343進行。互聯網骨幹網和多路徑用戶端設備300之間的資料傳送通過光纖資料網進行。MMS 314 and sub-driver 316 route the data through a path selected by the user. In another embodiment, when the application running on the multi-path client device 300 needs to receive/transmit data from/to the Internet backbone, the MMS 314 searches for the last collected communication feature value and selects from the currently available path. A path. The MMS 314 can select a path based on the type of material received/transmitted from/to the Internet backbone. For example, without limitation, the communication application in this embodiment is a multimedia game application. The multimedia game application has to download a large amount of data, and the waiting time is very short. The MMS 314 running on the multi-path client device 300 responds to the multimedia game application CRI by looking up the most recently collected path feature value and selecting one of the four available paths to provide the highest bandwidth path. In this embodiment, among the four available paths, the path between the second access point and the second wired upstream interface 343 can provide the highest bandwidth. The MMS 314 control device sub-driver 316 running on the multi-path client device 300 performs all of the data transceiving processes required between the post-multimedia game application and the Internet backbone network using the second wired upstream interface 343. Data transfer between the Internet backbone network and the multi-path client device 300 is performed through a fiber optic data network.

在另一實施例中,例如但不限於,該應用為一IP網路上的語音(VoIP)應用。該VoIP應用要與互聯網骨幹網之間收發資料。運行在多路徑用戶端設備300上的MMS314回應該VoIP應用條件,獲取最近一次收集的通信特徵,從四條可用路徑中選擇一條可提供最低延遲的路徑。在本實施例中,在四條可用路徑中,第四接入點和第二無線上行介面345之間的路徑可提供最低延遲。運行在多路徑用戶端設備300上的MMS314控制設備子驅動器316將VoIP應用要求的與互聯網骨幹網之間的所有資料收發過程都使用第二無線上行介面345進行。多路徑用戶端設備機300與互聯網骨幹網之間的資料收發過程通過WiMax網路進行。In another embodiment, such as, but not limited to, the application is a voice over IP (VoIP) application. The VoIP application needs to send and receive data to and from the Internet backbone. The MMS 314 running on the multi-path client device 300 responds to the VoIP application condition, acquires the most recently collected communication feature, and selects one of the four available paths to provide the lowest latency path. In this embodiment, among the four available paths, the path between the fourth access point and the second wireless upstream interface 345 can provide the lowest delay. The MMS 314 control device sub-driver 316 running on the multi-path client device 300 performs all data transceiving processes required between the VoIP application and the Internet backbone network using the second wireless uplink interface 345. The data transmission and reception process between the multi-path client equipment 300 and the Internet backbone network is performed through the WiMax network.

圖4是本發明運行有多個軟體的用戶端設備400的示意圖,該用戶端設備400支援從其自身到多個接入點的多條資料路徑。用戶端400可以是電腦、視頻遊戲機、電話機、電視機、機頂盒、耳機或任意的運行有要求與互聯網之間收發資料分組的至少一個應用的設備。如果用戶端設備400為電腦,則例如但不限於,運行在電腦400上的至少一個應用可以是互聯網瀏覽器(也就是網頁瀏覽)應用,它運行在OSI/ISO協定棧的第7層上。用戶通常通過顯示在電腦400螢幕上的網頁瀏覽器(也就是Internet Explorer、Netscape Navigator、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的螢幕上顯示收到的存檔資料,也就是所請求的網頁。4 is a schematic diagram of a client device 400 running multiple softwares of the present invention that supports multiple data paths from itself to multiple access points. The client 400 can be a computer, a video game console, a telephone, a television, a set top box, a headset, or any device that runs at least one application that requires a packet to be sent and received with the Internet. If the client device 400 is a computer, for example, without limitation, at least one application running on the computer 400 may be an internet browser (ie, web browsing) application running on layer 7 of the OSI/ISO protocol stack. Users typically interact with Internet browsing applications through a web browser (ie, Internet Explorer, Netscape Navigator, Mozilla Firefox, etc.) displayed on the screen of the computer 400. The Internet browsing application running on the computer 400 triggers the user interface information entered by the user through the user input interface (usually a keyboard and a mouse) to trigger the communication interface of the computer 400 (ie, usually the OSI/ISO protocol stack layer 2 and / or layer 1) sends a request to the Internet requesting that the user select the specified archive material (for example, a web page). The low-level hardware and software running on the computer 400 (that is, the OSI/ISO protocol stack layer 6, layer 5, layer 4, layer 3, layer 2) encapsulates the request into the first group of multiple packets, The first component group is sent to the Internet by the communication interface of the computer 400. The communication interface of computer 400 also receives a second plurality of packets from the Internet containing the requested archive data (i.e., web pages). In the present exemplary embodiment, the data grouping relates to the first component group and the second component group. The low-level hardware and software running on the computer 400 (that is, the OSI/ISO protocol stack layer 6, layer 5, layer 4, layer 3, layer 2) extracts the received archive data from the second group of multiple groups. , forward it to the Internet browsing application (that is, the OSI/ISO protocol stack layer 7). The Internet browsing application displays the received archived information on the screen of the computer 400, that is, the requested web page.

運行在電腦400上的這至少一個應用可以是互聯網電話應用。第一用戶與使用目的設備的第二用戶之間收發語音資訊。互聯網電話應用同樣運行於目的設備上。該目的設備與互聯網相連。在這種情况下,第一組的多個分組包括使用電腦400的第一用戶的語音。第二組的多個分組包括使用目的設備的第二用戶的語音。The at least one application running on the computer 400 can be an internet phone application. The first user and the second user using the destination device send and receive voice information. Internet phone applications also run on destination devices. The destination device is connected to the Internet. In this case, the plurality of packets of the first group include the voice of the first user using the computer 400. The plurality of packets of the second group include the voice of the second user using the destination device.

如果用戶端設備400是電視機和機頂盒,則例如但不限於,在電視機和機頂盒400上運行的這至少一個應用可以是電視節目收看應用。在這種情况下,第一組的多個分組包括發往互聯網的電視節目(錄播或直播多媒體資訊,如新聞節目、足球比賽、音樂節目等)請求,第二組的多個分組包括所請求的電視節目。If the client device 400 is a television set and a set top box, for example, without limitation, the at least one application running on the television set and the set top box 400 may be a television program viewing application. In this case, the plurality of packets of the first group include television programs (recording or live multimedia information, such as news programs, football matches, music programs, etc.) sent to the Internet, and the plurality of groups of the second group include Requested TV show.

用戶端設備400包括多個通信介面。用戶端設備400通過多條資料路徑與多個接入點通信。這多個接入點屬於多個不同的分組資料網路。例如但不限於,用戶端設備400包括三個通信介面,有線介面、第一無線介面和第二無線介面。在開機後,用戶端設備400將其自身與可用的接入點相關聯。接入點包括收發器,從用戶端設備400接收資料分組,然後發往對應的分組資料網路。同時,該接入點從對應的分組資料網路接收資料分組,然後發往用戶端設備400。The client device 400 includes a plurality of communication interfaces. The client device 400 communicates with a plurality of access points through a plurality of data paths. These multiple access points belong to multiple different packet data networks. For example, but not limited to, the client device 400 includes three communication interfaces, a wired interface, a first wireless interface, and a second wireless interface. After booting up, the client device 400 associates itself with the available access points. The access point includes a transceiver that receives the data packets from the customer premises equipment 400 and then sends them to the corresponding packet data network. At the same time, the access point receives the data packet from the corresponding packet data network and then sends it to the client device 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網路。For example, but not limited to, at the first moment, the client device 400 is configured with a first access point belonging to the optical fiber data network, a second access point belonging to the IEEE 802.11 network, and a third access belonging to the WiMax network. Point, and the fourth access point belonging to the satellite data network. A fiber optic cable is plugged into the wired interface of the client device 400. After being powered on, the client device 400 associates itself with the first access point, the second access point, and the third access point through a wired interface, a first wireless interface, and a second wireless interface, respectively. The first access point allocates a first IP address to the wired interface of the client device 400. In this way, the client device 400 can communicate with the fiber data network through the wired interface and the first access point using the first IP address. The second access point allocates a second IP address to the first wireless interface of the client device 400. In this way, the client device 400 can communicate with the IEEE 802.11 network through the first wireless interface and the second access point using the second IP address. The third access point allocates a third IP address to the second wireless interface of the client device 400. In this way, the client device 400 can communicate with the WiMax network through the second wireless interface and the third access point using the third IP address. The plurality of access points in communication with the client device 400 include a first access point, a second access point, and a third access point. The plurality of data paths include a first data path between the wired interface and the first access point, a second data path between the first wireless interface and the second access point, a second wireless interface, and a third access point The third data path between. A number of different packet data networks include fiber data networks, IEEE 802.11 networks, and WiMax networks.

運行在用戶端設備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、網景、Mozzila Firefox等)。這些新增功能允許使用用戶端設備400的用戶與通信應用軟體414的多路徑管理功能進行交互。The operating system 410 (e.g., Windows XP, UNIX, Linux, etc.) running on the client device 400 interacts with the communications software application. As shown in 414, the communication application software can be integrated with control functions. The communication application software 414 is configured to monitor and manage a plurality of data paths (a first data path, a second data path, and a third data path) between the client device 400 and the Internet. The communication application software 414 will decide which of the plurality of available paths or which data paths to use for packet data exchange between the client device 400 and the Internet. In addition, at some point, the communication application software 414 can also make changes to the decisions made, selecting a different path for packet data exchange. The decision to switch packet data communication to another different path may be triggered by the following events: 1) the associated network of the client device 400 changes, which may be caused by a change in the location of the client device; 2) multiple paths Communication characteristics change, such as data flow, delay, cost, congestion experienced on multiple paths, etc.; 3) communication characteristics of communication application 414 change, such as data type, data load, etc. The communication application software 414 sends the decision to use one or more data paths to the multi-path management software 420 running on the client device 400. The MMS420 controls the lower layer (that is, the sixth layer, the fifth layer, the fourth layer, the third layer, and the second layer of the OSI/ISO protocol stack) and the software control packet data running on the computer 400 via the selected one or Multiple data paths are transmitted. The MMS 420 assists the client device 400 in using the data path selected by the communication application software 414. The communication application software 414 can be a standard web browsing application with a number of new features (ie, IE, Netscape, Mozzila Firefox, etc.). These new features allow the user of the client device 400 to interact with the multi-path management functionality of the communication application software 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作出選擇决定。As shown in 415, the communication application software can be integrated with support functions. The communication application software 415 provides communication features of the communication application to a multi-path management software 420 (MMS) running on the client device 400. The communication characteristics of the communication application software 415 may include the type and size of the material exchanged by the communication application software 415, the minimum data rate, security level, and maximum delay expected by the communication application 415. The communication characteristics of the corresponding communication application software 415 may change over time, and may provide these communication features to the MMS 420 at fixed time intervals or when communication characteristics change. The MMS 420 responds to the packet data transceiving request generated by the communication application software 415 to find the communication characteristics, and uses these communication features to select a data path from the available data paths. The MMS 420 controls the lower layer (that is, the sixth layer, the fifth layer, the fourth layer, the third layer, and the second layer of the OSI/ISO protocol stack) hardware and the software control packet data running on the client device 400 via the selected Data path transfer. The MMS 420 may select more than one data path to serve more than one communication application 415 running on the client device 400. The MMS 420 may also select more than one data path to service a single communication application 415 running on the client device 400, and control a single data payload (i.e., a data packet generated by a single communication application 415) to be transmitted via the selected plurality of paths. It is up to the MMS 420 to decide which of the available data paths or which data paths to use for packet data exchange, while the communication application software 415 assists the MMS 420 in making selection decisions by providing communication features.

如416中所示,該通信應用軟體可不具備多路徑管理功能。該通信應用軟體416向MMS420發送分組資料收發請求。該請求可由用戶輸入觸發生成。MMS420回應該請求,從可用資料路徑中選擇一條或者多條資料路徑,幷且控制低層硬體和運行在用戶端設備400上的軟體經由選擇的一條或多條資料路徑傳送資料分組。MMS使用多條可用路徑的通信特徵來選擇一條或多條路徑。MMS420還可在用戶端設備400的螢幕上彈出一個視窗,顯示多條可用路徑的通信特徵,如這些路徑承載的流量、這些路徑中的延遲、成本,以及這些可用路徑所經歷的擁塞等。用戶被提示輸入一個選擇。MMS420回應用戶的選擇資訊,控制分組資料經由用戶選擇的資料路徑傳送。As shown in 416, the communication application software may not have multi-path management functionality. The communication application software 416 sends a packet data transceiving request to the MMS 420. This request can be triggered by user input. The MMS 420 should, upon request, select one or more data paths from the available data paths, and control the lower layer hardware and the software running on the client device 400 to transmit the data packets via the selected one or more data paths. The MMS uses the communication characteristics of multiple available paths to select one or more paths. The MMS 420 can also pop up a window on the screen of the client device 400 to display the communication characteristics of the plurality of available paths, such as the traffic carried by these paths, the delays in these paths, the cost, and the congestion experienced by these available paths. The user is prompted to enter a selection. The MMS 420 responds to the user's selection information, and the control packet data is transmitted via the data path selected by the user.

MMS420控制多個低層設備驅動器(424、425、426和427)。低層設備驅動器是一套軟體,用於驅動與用戶端設備400一個或多個通信介面(也就是有線介面、第一無線介面,以及第二無線介面)相關聯的硬體。單入單出(SISO)低層設備驅動器427通過單條輸入線路從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轉發收到的資料分組。The MMS 420 controls a plurality of low level device drivers (424, 425, 426, and 427). The low-level device driver is a set of software for driving hardware associated with one or more communication interfaces (ie, a wired interface, a first wireless interface, and a second wireless interface) of the client device 400. Single-input single-out (SISO) low-level device driver 427 receives data packets from MMS 420 over a single input line. The SISO device driver 427 controls the exchange of data packets on a single data path. For example, the SISO device driver 427 drives the hardware associated with the first wireless interface. The first wireless interface is associated with the IEEE 802.11 network at a first time. The SISO device driver 427 receives the data packets from the MMS 420 over a single input line. The MMS 420 assigns the IEEE 802.11 network to the second IP address embedded data packet of the first wireless interface. The SISO device driver 427 controls the transmitter associated with the first wireless interface to transmit data packets. The data packet sent by the transmitter associated with the first wireless interface is embedded with a second IP address. Therefore, the second access point belonging to the IEEE 802.11 network receives the data packet transmitted by the transmitter. The SISO device driver 427 controls the receiver associated with the first wireless interface to look up a data packet with a second IP address embedded therein. When the receiver associated with the first wireless interface detects a data packet with a second IP address embedded therein, the receiver receives the data packets and forwards them to the SISO device driver 427. The SISO device driver 427 forwards the received data packet to the MMS 420.

MMS420控制SISO設備驅動器427收集與此單條資料路徑有關的通信特徵,該路徑上的資料分組交換由SISO設備驅動器427控制。物理層437涉及SISO設備驅動器427所控制的單條資料路徑。這些路徑特徵可包括資料路徑中的延遲、該資料路徑上的信噪比、與第一無線介面相關聯的發射器為保持預先定義的該資料路徑上的比特誤碼率所要求的功率。SISO設備驅動器427可請求第二接入點提供一些或全部的這種通信特徵,SISO設備驅動器427隨後將從第二接入點收到的這些通信特徵發往MMS420。SISO設備驅動器427可通過發送和接收訓練分組資料來測定一些或全部的這些通信特徵。The MMS 420 Control SISO Device Driver 427 collects communication characteristics associated with this single data path, and the data packet exchange on this path is controlled by the SISO Device Driver 427. Physical layer 437 relates to a single data path controlled by SISO device driver 427. These path characteristics may include a delay in the data path, a signal to noise ratio on the data path, and a power required by the transmitter associated with the first wireless interface to maintain a predetermined bit error rate on the data path. The SISO device driver 427 can request the second access point to provide some or all of such communication features, and the SISO device driver 427 then sends these communication features received from the second access point to the MMS 420. The SISO device driver 427 can determine some or all of these communication features by transmitting and receiving training packet data.

SISO設備驅動器427在固定的時間間隔收集與此單條路徑有關的這些路徑特徵。例如但不限於,MMS420在第二時刻接收多個通信特徵,幷判斷出此單條資料路徑中的延遲大於預先設定的閾值。MMS420可控制SISO設備驅動器427改變關聯,切換到一個新的關聯上。SISO設備驅動器427可控制第一無線介面查找屬於無線分組資料網而不是IEEE802.11網路的接入點。第一無線介面現在可將其自身與屬於WiMax網路的第三接入點相關聯。該WiMax網路可為第一無線介面分配第四IP地址。SISO設備驅動器427現在控制的是第一無線介面和屬於WiMax網路第三接入點之間的一條不同路徑上的資料分組交換。路徑的切換由MMS420觸發和管理,這種切換操作可發生在第一無線介面沒在與互聯網之間發送或接收任何分組資料的時候(控制資料以及包含一些或全部統計資訊的資料除外)。MMS420可控制SISO設備驅動器427收集與該條不同路徑有關的第二組通信特徵,從第二時刻起,該路徑上的資料分組交換由SISO設備驅動器427控制。The SISO device driver 427 collects these path features associated with this single path at fixed time intervals. For example, but not limited to, the MMS 420 receives a plurality of communication features at a second time, and determines that the delay in the single data path is greater than a predetermined threshold. The MMS 420 can control the SISO device driver 427 to change the association and switch to a new association. The SISO device driver 427 can control the first wireless interface to find an access point that belongs to the wireless packet data network rather than the IEEE 802.11 network. The first wireless interface can now associate itself with a third access point belonging to the WiMax network. The WiMax network can assign a fourth IP address to the first wireless interface. The SISO device driver 427 now controls the data packet exchange on a different path between the first wireless interface and the third access point belonging to the WiMax network. The switching of the path is triggered and managed by the MMS 420, which can occur when the first wireless interface is not transmitting or receiving any packet data with the Internet (except for control data and data containing some or all of the statistical information). The MMS 420 can control the SISO device driver 427 to collect a second set of communication features associated with the different paths from which the data packet exchange on the path is controlled by the SISO device driver 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進行設置,使其選擇在指定時刻提供最高帶寬的那條路徑。Single-input dual-output (SIDO) low-level device driver 426 receives data packets from MMS 420 over a single input line. The SIDO device driver 426 controls the data packet exchange on the first path 435 and the second path 436. For example, SIDO device driver 426 drives a first hardware associated with the wired interface and a second hardware associated with the first wireless interface. At the first moment, the wired interface is associated with the fiber optic data network, and the first wireless interface is associated with the IEEE 802.11 network. The SIDO device driver 426 receives the data packets from the MMS 420 over a single input line. The MMS 420 control SIDO device driver 426 collects a plurality of communication features of the first group associated with the first path 435, the first path 435 being present between the wired interface and the first access point belonging to the fiber data network. The MMS 420 also controls the SIDO device driver 426 to collect a plurality of communication features of the second group associated with the second path 436, the second path 436 being present between the first wireless interface and a second access point belonging to the IEEE 802.11 network . The MMS 420 selects a path between the first path 435 and the second path 436 using a plurality of communication features of the first group and the second group. The MMS 420 can be set to select the path that provides the lowest interference at the specified time. The MMS 420 can also be set to select the path that provides the highest bandwidth at a given time.

例如但不限於,第二路徑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。For example, without limitation, the second path 436 can provide a higher bandwidth than the first path 435. Prior to transmitting the data packet to the SIDO device driver 426, the MMS 420 assigns the IEEE 802.11 network to the second IP address embedded data packet of the first wireless interface. The MMS 420 controls the SIDO device driver 426 to send and receive data packets through the second path 436. The SIDO device driver 426 controls a second hardware transmit data packet associated with the first wireless interface. A second IP address is embedded in the data packet sent by the second hardware associated with the first wireless interface. Therefore, the second access point belonging to the IEEE 802.11 network receives the data packet transmitted by the above transmitter. The SIDO device driver 426 controls the second hardware to look up the data packet embedded with the second IP address. When the second hardware detects the data packet embedded with the second IP address, the second hardware receives the data packet and forwards it to the SIDO device driver 426. The SIDO device driver 426 forwards the received data packet to the MMS 420.

在第二時刻,用戶端設備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傳送。At the second moment, the client device 400 moves to a new location. At this time, its communication association with the second access point has been lost. The first wireless interface looks up the available wireless packet data network. For example, the first wireless interface is associated with a fourth access point that is part of an IEEE 802.11 network. The fourth access point allocates a fourth IP address to the first wireless interface. At this time, the second path 436 refers to a communication path between the first wireless interface and the fourth access point. The MMS 420 control SIDO device driver 426 collects a plurality of communication features of the first set associated with the first path 435 and a plurality of communication features of the third set associated with the new second path 436. The MMS 420 determines that at the second time, the first path 435 between the wired interface and the first access point can provide a higher bandwidth than the new second path 436. The MMS 420 then controls the SIDO device driver 426 to route the data packets through the first path 435, and stops transmitting and receiving the data packets through the new second path 436. Before the data packet is sent to the SIDO device driver 426, the MMS 420 embeds the first IP address assigned by the first access point belonging to the fiber data network into the data packet, so that the SIDO device driver 426 can control the data packet. Transfer via the first path 435.

多入多出(MIMO)設備驅動器424通過三條輸入線路從MMS420接收資料分組,也就是說,MIMO設備驅動器424接收運行在用戶端設備400上的三個不同應用所生成的資料分組。MIMO設備驅動器424控制第一路徑432和第二路徑433上的資料分組交換。例如,MIMO設備驅動器424驅動與第一無線介面相關聯的第一硬體,以及與第二無線介面相關聯的第二硬體。在第一時刻,第一無線介面與屬於IEEE802.11網路的第二接入點相關聯,第二無線介面與屬於WiMax網路的第三接入點相關聯。MIMO設備驅動器424通過三條輸入線路從MMS420接收資料分組。例如,用戶端設備400上運行有遊戲應用,網頁瀏覽應用,以及互聯網電話應用。這裏列舉的所有這些通信應用均不具備多路徑管理功能。MIMO設備驅動器424通過這三條輸入線路接收對應於遊戲應用的第一組資料分組,對應於網頁瀏覽應用的第二組資料分組,以及對應於互聯網電話應用的第三組資料分組。Multiple Input Multiple Output (MIMO) device driver 424 receives data packets from MMS 420 over three input lines, that is, MIMO device driver 424 receives data packets generated by three different applications running on client device 400. The MIMO device driver 424 controls data packet switching on the first path 432 and the second path 433. For example, MIMO device driver 424 drives a first hardware associated with the first wireless interface and a second hardware associated with the second wireless interface. At a first moment, the first wireless interface is associated with a second access point that is part of an IEEE 802.11 network, and the second wireless interface is associated with a third access point that belongs to the WiMax network. The MIMO device driver 424 receives the data packets from the MMS 420 over three input lines. For example, the client device 400 runs a game application, a web browsing application, and an internet phone application. All of the communication applications listed here do not have multipath management capabilities. The MIMO device driver 424 receives a first set of data packets corresponding to the gaming application via the three input lines, a second set of data packets corresponding to the web browsing application, and a third set of data packets corresponding to the internet telephony application.

MMS420從第一路徑432和第二路徑433中選出一條更高帶寬的路徑,然後控制MIMO設備驅動器424通過這條具有更高帶寬的路徑路由對應遊戲應用的第一組多個資料分組。如果在第二時刻,控制設備上未運行該遊戲應用,則MMS420將控制MIMO設備驅動器424通過這條具有更高帶寬的路徑路由對應互聯網電話應用的第三組資料分組。例如但不限於,在第三時刻,第二無線介面和屬於WiMax網路的第三接入點之間的第二路徑433斷開。這時,第二無線介面就將自身與屬於IEEE802.11網路的第五接入點相關聯。第一路徑432指的是第一無線介面和屬於IEEE802.11網路的第二接入點之間的路徑。第二路徑433指的是第二無線介面和屬於IEEE802.11網路的第五接入點之間的路徑。The MMS 420 selects a higher bandwidth path from the first path 432 and the second path 433 and then controls the MIMO device driver 424 to route the first plurality of data packets corresponding to the gaming application over the path having the higher bandwidth. If the gaming application is not running on the control device at the second time, the MMS 420 will control the MIMO device driver 424 to route the third set of data packets corresponding to the Internet telephony application over the path with the higher bandwidth. For example, but not limited to, at a third time, the second path 433 between the second wireless interface and the third access point belonging to the WiMax network is disconnected. At this point, the second wireless interface associates itself with a fifth access point that belongs to the IEEE 802.11 network. The first path 432 refers to the path between the first wireless interface and the second access point belonging to the IEEE 802.11 network. The second path 433 refers to a path between the second wireless interface and a fifth access point belonging to the IEEE 802.11 network.

在第三時刻,第一路徑432和第二路徑433提供同樣大小的帶寬。這時,MMS420會控制MIMO設備驅動器424通過具有更低干擾的路徑路由對應遊戲應用的第一組分組資料。MMS420負責從多條路徑(例如,第一路徑432和第二路徑433)選出一條路徑,幷通過控制低層設備驅動器(424、425、426和427中的一個或多個)與對應硬體(例如,發射器和接收器)之間進行交互,來保持選中路徑上的分組資料交換。MMS420和低層設備驅動器(424、425、426和427中的一個或多個)可獲取對應多條路徑的多個通信特徵,幷使用這些獲取的通信特徵無縫切換至一條新路徑,以繼續進行資料分組交換。At a third time, the first path 432 and the second path 433 provide the same amount of bandwidth. At this point, the MMS 420 will control the MIMO device driver 424 to route the first set of profiles corresponding to the gaming application over a path with lower interference. The MMS 420 is responsible for selecting a path from a plurality of paths (eg, the first path 432 and the second path 433) by controlling the lower layer device drivers (one or more of 424, 425, 426, and 427) and corresponding hardware (eg, , the transmitter and the receiver) interact to maintain the packet data exchange on the selected path. The MMS 420 and the lower layer device drivers (one or more of 424, 425, 426, and 427) can acquire a plurality of communication features corresponding to the plurality of paths, and seamlessly switch to a new path using the acquired communication features to continue Data packet exchange.

例如,在第一時刻,用戶端設備400通過其有線介面與屬於光纖資料網路的第一接入點相關聯,通過其第一無線介面與屬於IEEE802.11網路的第二接入點相關聯,通過第二無線介面與屬於WiMax網路的第三接入點相關聯。因此,用戶端設備400可通過這三條可用路徑中的任意一條或多條來與互聯網進行分組資料交換,這三條路徑分別是,第一接入點和有線介面之間的第一路徑,第二接入點和第一無線介面之間的第二路徑,以及第三接入點和第二無線介面之間的第三路徑。在該第一時刻,用戶端設備400啟動互聯網電話應用。該互聯網電話應用具有集成的控制功能。該互聯網電話應用414從MMS420接收對應這三條可用路徑的通信特徵。該互聯網電話應用414使用這些通信特徵從三條可用路徑中選擇一條路徑,幷控制MMS420將語音分組流經由選擇的路徑傳送。例如,該互聯網電話應用414確定在三條可用路徑中,第一路徑可提供最低成本,因此便選擇第一路徑來交換語音分組。在第二時刻,該互聯網電話應用414開始在發送語音分組的同時發送視頻分組。該互聯網電話應用從其餘兩條可用路徑中選擇另一條路徑。例如,該互聯網電話應用414確定,在所有三條路徑(第一路徑、第二路徑和第三路徑)中,第二路徑可提供最高帶寬,便使用第二路徑向互聯網發送視頻分組。從第二時刻起,該互聯網電話應用414使用第一路徑交換語音分組,使用第二路徑發送視頻分組。在第二時刻,第三路徑處於空閑狀態。For example, at the first moment, the client device 400 is associated with the first access point belonging to the fiber data network through its wired interface, and the second access point belonging to the IEEE 802.11 network through its first wireless interface. Connected to the third access point belonging to the WiMax network through the second wireless interface. Therefore, the client device 400 can exchange packet data with the Internet through any one or more of the three available paths, the first path between the first access point and the wired interface, and the second path. a second path between the access point and the first wireless interface, and a third path between the third access point and the second wireless interface. At this first moment, the client device 400 launches the internet telephony application. The internet phone application has integrated control functions. The internet telephony application 414 receives communication features from the MMS 420 that correspond to the three available paths. The internet telephony application 414 uses these communication features to select a path from among the three available paths, and the MMS 420 controls the transmission of the voice packet stream via the selected path. For example, the internet telephony application 414 determines that among the three available paths, the first path can provide the lowest cost, so the first path is selected to exchange voice packets. At the second moment, the internet telephony application 414 begins transmitting video packets while transmitting voice packets. The internet phone application selects another path from the remaining two available paths. For example, the internet telephony application 414 determines that in all three paths (the first path, the second path, and the third path), the second path can provide the highest bandwidth and then use the second path to send video packets to the Internet. From the second moment on, the internet telephony application 414 exchanges voice packets using the first path and transmits the video packets using the second path. At the second moment, the third path is in an idle state.

在第三時刻,該互聯網電話應用414想要與互聯網(或連接到互聯網的終端設備)交換控制資料分組。該互聯網電話應用414知道控制資料分組需要在最安全的路徑上進行傳送。該互聯網電話應用414確定,在三條路徑中,第一路徑是最安全路徑。但此刻語音分組正經由第一路徑傳送。該互聯網電話應用414控制MMS420經由第三路徑傳送語音分組,經由第一路徑傳送控制資料分組。該互聯網電話應用414控制語音分組從第一路徑無縫切換至第三路徑繼續傳送,這樣一來在切換過程中便不會有語音分組丟失。從第三時刻起,用戶端設備400通過第一路徑發送控制資料分組,通過第二路徑發送視頻分組,通過第三路徑與互聯網交換語音分組。At the third moment, the internet telephony application 414 wants to exchange control profile packets with the internet (or terminal devices connected to the internet). The internet telephony application 414 knows that the control profile needs to be transmitted on the most secure path. The internet telephony application 414 determines that among the three paths, the first path is the safest path. But at this point the voice packet is being transmitted via the first path. The internet telephony application 414 controls the MMS 420 to transmit voice packets via a third path, transmitting control profile packets via the first path. The internet telephony application 414 controls the seamless switching of voice packets from the first path to the third path to continue transmission so that no voice packet loss occurs during the handover process. From the third moment, the client device 400 transmits the control data packet through the first path, transmits the video packet through the second path, and exchanges the voice packet with the Internet through the third path.

圖5是本發明運行有多個軟體的接入點500的示意圖,該接入點500支援從其自身到多個用戶端設備的第一組多條資料路徑,以及從其自身到分組交換網路的第二組多條資料路徑。接入點500與分組交換網路和多個用戶端設備相關聯。該接入點和分組交換網路可使用同一種協定,接入點使用該協定與分組交換網路通信。接入點為多台用戶端設備分配多個IP地址。接入點500包括至少一個收發器,它通過第二組多條資料路徑中的一條從分組交換網路接收第一組多個資料分組,幷從多台用戶端設備中確定第一組多個資料分組的目的設備,然後將收到的資料分組發往確定的用戶端設備。該收發器還從多個接入點中的一個或一些接收第二組資料分組,然後通過第二組多條資料路徑中的一條將第二組多個資料分組發往分組交換網路。運行在接入點500上的多路徑管理軟體(MMS)550從第二組多條資料路徑中選擇其中的一條,用於在該接入點和分組資料網路之間進行資料分組交換。5 is a schematic diagram of an access point 500 running multiple softwares of the present invention that supports a first plurality of data paths from itself to a plurality of client devices, and from itself to a packet switched network The second set of multiple data paths of the road. Access point 500 is associated with a packet switched network and a plurality of client devices. The access point and packet switched network can use the same protocol, and the access point uses the protocol to communicate with the packet switched network. The access point allocates multiple IP addresses to multiple client devices. The access point 500 includes at least one transceiver that receives a first plurality of data packets from the packet switched network through one of the second plurality of data paths, and determines a first plurality of the plurality of client devices The destination device of the data packet, and then sends the received data packet to the determined user equipment. The transceiver also receives a second set of data packets from one or more of the plurality of access points and then sends the second plurality of data packets to the packet switched network via one of the second plurality of data paths. A multi-path management software (MMS) 550 operating on the access point 500 selects one of the second plurality of data paths for data packet exchange between the access point and the packet data network.

例如但不限於,接入點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的第一硬體電路。For example, without limitation, access point 500 is associated with a WiMax network through first path 570, second path 572, and third path 574. The second plurality of data paths refer to a first path 570, a second path 572, and a third path 574. The dual input single output (DISO) device driver 560 is a set of software for driving the first hardware circuit corresponding to the first path 570. The first hardware circuit corresponding to the first path 570 includes at least a first transceiver for transmitting and receiving data packets through the first path 570. In the present embodiment, the first path 570 is the first wireless path between the access point 500 and a hub or switch belonging to the WiMax network or another access point. The data packets transmitted through the first path 570 comply with the WiMax protocol. The WiMax network assigns a first IP address to the first path 570. The DISO device driver 560 receives the data packets from the MMS 550 through the first input path and the second input path. The DISO device driver 560 is configured to forward data packets from the first input path and the second input path to a first hardware circuit corresponding to the first path 570.

MMS550可控制DISO設備驅動器560收集對應第一路徑570的第一路徑特徵。該第一路徑特徵可包括WiMax網路分配給第一路徑570的IP位址(也就是第一IP位址)、第一路徑570上的延遲、第一路徑570上的資料流程、第一路徑570的成本、第一路徑570使用的跳數(hops)等。第一路徑特徵隨時間進行變化。MMS550可控制DISO設備驅動器560定期收集第一路徑特徵。MMS550可從DISO設備驅動器560接收第一路徑特徵,幷將其存儲在接入點500的存儲系統中。在需要時,MMS550還可從第二存儲系統獲取第一路徑特徵。第一路徑特徵中的一個或多個參數可能是出廠設置值,它們存儲在接入點500的存儲系統中。The MMS 550 can control the DISO device driver 560 to collect the first path feature corresponding to the first path 570. The first path feature may include an IP address assigned to the first path 570 by the WiMax network (ie, the first IP address), a delay on the first path 570, a data flow on the first path 570, and a first path. The cost of 570, the hops used by the first path 570, and the like. The first path feature changes over time. The MMS 550 can control the DISO device driver 560 to periodically collect the first path features. The MMS 550 can receive the first path feature from the DISO device driver 560 and store it in the storage system of the access point 500. The MMS 550 can also retrieve the first path feature from the second storage system as needed. One or more of the first path characteristics may be factory set values that are stored in the storage system of access point 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還可從第二存儲系統獲取第二路徑特徵和第三路徑特徵。The single-input dual-output (SIDO) device driver 565 is a set of software for driving a second hardware circuit corresponding to the second path 572 and driving a third hardware circuit corresponding to the third path 574. The second and third hardware circuits respectively include at least a second transceiver and a third transceiver, respectively, for transmitting and receiving data packets through the second path 572 and the third path 574, respectively. In the present embodiment, the second path 572 and the third path 574 are the second wireless path and the third wireless path between the access point 500 and the same or different hubs or switches in the WiMax network, respectively. The WiMax network assigns a second IP address and a third IP address to the second path 572 and the third path 574, respectively. The SIDO device driver 565 receives the data packets from the MMS 550 through a single input path, and can forward the data packets from the single input path to the second hardware circuit corresponding to the second path 572 or the corresponding third path 574 under the monitoring of the MMS 550. Three hardware circuits. The MMS 550 controllable SIDO device driver 565 periodically collects second path features and third path features corresponding to the second path 572 and the third path 574, respectively, and sends them to the MMS 550. The MMS 550 can also acquire the second path feature and the third path feature from the second storage system as needed.

在本示範性實施例中,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,後者將這些資料分組轉發給該視頻下載應用。In the present exemplary embodiment, the MMS 550 is configured to control packet data generated by any application running on the access point 500 through three paths, namely, the first path 570, the second path 572, and the third path 574. The lowest delayed path is transmitted. For example, without limitation, a video download application runs on the access point 500. The video download application downloads (receives) an archived video file from the internet. The access point 500 is connected to the Internet via a WiMax network. The access point 500 can connect to the WiMax network through any of the first path 570, the second path 572, and the third path 574. The MMS 550 operating on the access point 500 has a first path feature, a second path feature, and a third path feature. The MMS 550 determines from the first path 570, the second path 572, and the third path 574 which path that provides the lowest delay using the first path feature, the second path feature, and the third path feature. For example, the second path 572 can provide the lowest latency. The MMS 550 controls the SIDO device driver 565 to receive data packets corresponding to the archived video files from the Internet via the second path 572. The SIDO device driver 565 controls the second hardware corresponding to the second path to receive a data packet corresponding to the archived video file from the Internet. The SIDO device driver 565 forwards the received data packets to the MMS 550, which forwards the data packets to the video download application.

例如但不限於,雙入雙出(DIDO)設備驅動器510驅動對應雙路徑530的第五硬體和第六硬體。第一用戶端設備通過雙路徑530與接入點500的第五硬體和第六硬體相連。MMS550控制DIDO設備驅動器510收集對應雙路徑530的路徑特徵。第一用戶端設備無論何時想要從/向接入點收/發資料分組,就向接入點發送請求。MMS550回應來自用戶端設備的請求,使用對應雙路徑530的路徑特徵從雙路徑530選出一條路徑。MMS550控制用戶端設備使用從雙路徑530選出的路徑從/向接入點收/發資料。MMS550控制DIDO設備驅動器510使用對應所選出路徑的硬體與第一用戶端設備收發資料分組。For example, but not limited to, a dual input dual output (DIDO) device driver 510 drives a fifth hardware and a sixth hardware corresponding to the dual path 530. The first client device is connected to the fifth hardware and the sixth hardware of the access point 500 through the dual path 530. The MMS 550 controls the DIDO device driver 510 to collect path features corresponding to the dual path 530. The first client device sends a request to the access point whenever it wants to receive/send a data packet from/to the access point. The MMS 550, in response to a request from the client device, selects a path from the dual path 530 using the path characteristics of the corresponding dual path 530. The MMS 550 controls the client device to receive/transmit data from/to the access point using the path selected from the dual path 530. The MMS 550 controls the DIDO device driver 510 to send and receive data packets with the first client device using the hardware corresponding to the selected path.

圖6是本發明計算設備協定層所執行功能的流程圖,該計算設備支援從其自身到互聯網的多條路徑,幷且該計算設備上運行有不具備多路徑管理功能的通信應用。如步驟604所示,該計算設備的最上層協定層運行有互聯網瀏覽程式。該互聯網瀏覽應用不具備多路徑管理功能。使用該互聯網瀏覽程式的用戶輸入用戶選擇。該用戶選擇可能指向一網頁。該互聯網瀏覽程式生成一請求資料,向互聯網請求所選擇的網頁。如步驟606所示,低層協定層(lower protocol layer)對請求資料進行加密和/或編碼。通過執行加密和/或編碼,可避免請求資料在通過物理介質傳送時產生可能的錯誤。如步驟608所示,下一低層協定層選擇一通信協定,該計算設備(也就是該計算設備的硬體和/或軟體)使用該協定從/向互聯網收/發資料資訊。如步驟610所示,更低層協定層(further lower 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 protocol layer)在固定的時間間隔,計算該計算設備和互聯網之間每條路徑的成本。每條路徑的成本與對應路徑的資金成本、對應路徑上的資料流程量、對應路徑中的延遲,以及對應路徑中的干擾等參數有關。與每條路徑成本有關的參數隨時間進行變化。第二低層協定層在固定的時間間隔獲取這些參數,隨後計算幷更新每條路徑的成本。如步驟612所示,第二低層協定層從步驟610接收包含請求資料的分組。第二低層協定層控制包含請求資料的分組通過這些路徑中成本最低的路徑傳送。這些分組通過最低成本的路徑到達物理層(有線或無線)。若最低成本路徑為通過乙太LAN無線模組實現的第一路徑,則該分組中將嵌入第一IP位址。若最低成本路徑為通過IEEE802.11無線模組實現的第二路徑,則該分組中嵌入第二IP位址。若最低成本路徑為通過GPRS無線模組實現的第三路徑,則該分組中嵌入第三IP位址。嵌有IP位址的分組通過選擇的最低成本路徑到達互聯網。6 is a flow diagram of the functions performed by the computing device protocol layer of the present invention, the computing device supporting multiple paths from itself to the Internet, and the computing device running a communication application that does not have multi-path management functionality. As shown in step 604, the uppermost layer of the computing device runs an internet browser. This Internet browsing application does not have multi-path management capabilities. The user who uses the internet browser enters a user selection. This user selection may point to a web page. The internet browser generates a request profile and requests the selected web page from the internet. As shown in step 606, the lower protocol layer encrypts and/or encodes the request data. By performing encryption and/or encoding, it is possible to avoid possible errors in requesting material when transmitted over physical media. As shown in step 608, the next lower layer protocol layer selects a communication protocol, and the computing device (i.e., the hardware and/or software of the computing device) uses the protocol to receive/transmit data information from/to the Internet. As shown in step 610, the lower lower protocol layer segments the request data and then loads the packet into the packet. The computing device includes at least an Ethernet wireless module, an IEEE 802.11 wireless module, and a GPRS wireless module. The computing device uses an Ethernet wireless module, an IEEE 802.11 wireless module, and a GPRS wireless module to connect to the Internet through an Ethernet local area network (LAN), an IEEE 802.11 network, and a GRPS network. As shown in step 614, the Ethernet wireless module is uniquely identified by the first MAC address. As shown in step 616, the IEEE 802.11 wireless module is uniquely identified by the second MAC address. As shown in step 618, the GPRS wireless module is uniquely identified by the third MAC address. Therefore, the computing device is connected to the Internet through at least three communication paths, the first path implemented by the Ethernet wireless module, the second path implemented by the IEEE 802.11 wireless module, and the GPRS wireless module. The third path to achieve. As shown in step 612, the second next lower protocol layer calculates the cost of each path between the computing device and the Internet at a fixed time interval. The cost of each path is related to the cost of the corresponding path, the amount of data flow on the corresponding path, the delay in the corresponding path, and the interference in the corresponding path. The parameters related to the cost of each path change over time. The second lower layer protocol acquires these parameters at regular intervals and then calculates the cost of updating each path. As shown in step 612, the second lower layer protocol layer receives from step 610 a packet containing the requested material. The second lower layer protocol layer controls the packets containing the requested material to be transmitted through the least cost path of these paths. These packets arrive at the physical layer (wired or wireless) through the lowest cost path. If the lowest cost path is the first path implemented by the Ethernet wireless module, the first IP address will be embedded in the packet. If the lowest cost path is the second path implemented by the IEEE 802.11 wireless module, the second IP address is embedded in the packet. If the lowest cost path is the third path implemented by the GPRS wireless module, the third IP address is embedded in the packet. Packets embedded with IP addresses arrive at the Internet through the selected lowest cost path.

在另一實施例中,在從步驟610收到包含請求資料的分組後,第二低層協定層控制分組經由一條以上路徑進行傳送。例如,第二低層協定層從多條路徑中選擇兩條路徑。所選擇的兩條路徑對應多條路徑中的兩條成本最低的路徑。第二低層協定層將收到的分組平均分成具有相同分組數量的兩組,幷控制第一組分組經由兩條所選路徑中的一條傳送,其餘分組經由兩條所選路徑中的另一條傳送。第一組分組經由兩條所選路徑中的一條到達物理介質,第二組分組經由經由兩條所選路徑中的另一條到達物理介質。第二低層協定層還可將收到的分組分成具有不同分組數量的兩組。第二低層協定層可控制分組數量多的一組分組經由成本最低的路徑傳送,控制分組數量少的一組分組經由成本第二低的路徑傳送。In another embodiment, after receiving the packet containing the request material from step 610, the second lower layer protocol layer controls the packet to be transmitted via more than one path. For example, the second lower layer protocol layer selects two paths from among multiple paths. The two selected paths correspond to the two least cost paths of the multiple paths. The second lower layer protocol divides the received packets into two groups having the same number of packets, and controls the first group to be transmitted via one of the two selected paths, and the remaining packets are transmitted via the other of the two selected paths. . The first group of packets arrives at the physical medium via one of the two selected paths, and the second group of groups arrives at the physical medium via the other of the two selected paths. The second lower layer protocol layer can also divide the received packets into two groups with different number of packets. The second lower layer protocol layer can control a group of packets with a large number of packets to be transmitted via the lowest cost path, and a group of packets with a small number of control packets is transmitted via the second lowest cost path.

圖7是本發明運行在計算設備上的通信應用管理該計算設備和至少一個分組資料網路之間的多條通信路徑的方法的流程圖。該計算設備可以是個人電腦、電話機、與電視機相關聯的機頂盒,或者可與分組資料網路通信的任何類型的設備。該至少一個分組交換網路可以是有線網路、光纖網路、衛星資料網路、WiMax網路、IEEE802.11網路、UMTS網路、GPRS網路、CDMA網路,或者可將資料分段放入分組中進行傳輸的任何類型的標準或專用資料網路。資料指的是視頻、音頻、音樂視頻、視頻遊戲、語音對話、圖片、文本消息、電視節目,以及任何即時或存檔的多媒體資訊中一種或多種。7 is a flow diagram of a method of a communication application running on a computing device of the present invention managing a plurality of communication paths between the computing device and at least one packet data network. The computing device can be a personal computer, a telephone, a set top box associated with the television, or any type of device that can communicate with the packet data network. The at least one packet switched network may be a wired network, a fiber network, a satellite data network, a WiMax network, an IEEE 802.11 network, a UMTS network, a GPRS network, a CDMA network, or may segment data Any type of standard or private data network that is placed in a packet for transmission. Data refers to one or more of video, audio, music videos, video games, voice conversations, pictures, text messages, television programs, and any instant or archived multimedia information.

在步驟705,計算設備開機,該設備的作業系統(OS)(例如,Windows XP,Linux,Unix等)開始啟動。在步驟705,作業系統(OS)啟動多路徑管理軟體(MMS)。該計算設備包括多個通信介面。該計算設備在開機後,便開始將每個通信介面與至少一個分組資料網路相關聯。該計算設備可嘗試將其通信介面與多種分組資料網路相關聯。該計算設備可以是個人電腦,該個人電腦可以包括第一通信介面、第二通信介面和第三通信介面。該個人電腦在開機時便可將第一通信介面與屬於IEEE802.11網路的第一接入點相關聯。因此,在第一通信介面和屬於IEEE802.11網路的第一接入點之間便建立起第一通信路徑。該個人電腦還可將第二通信介面與屬於WiMax網路的第二接入點相關聯。因此,在第二通信介面和屬於WiMax網路的第二接入點之間便建立起第二通信路徑。該個人電腦還可將第三通信介面與屬於UMTS網路的第三接入點相關聯。因此,在第三通信介面和屬於UMTS網路的第三接入點之間便建立起第三通信路徑。在該實施例中,第一、第二和第三通信介面為無線介面。第一、第二和第三通信介面中的一個或多個還可以是有線介面。在這種情况下,個人電腦可將該有線介面與有線分組資料網路相關聯。多條通信路徑指的是第一、第二和第三通信路徑。運行在該個人電腦上的MMS對第一、第二和第三通信路徑進行管理和監視。At step 705, the computing device is powered on and the operating system (OS) of the device (eg, Windows XP, Linux, Unix, etc.) begins to boot. At step 705, the operating system (OS) launches the multipath management software (MMS). The computing device includes a plurality of communication interfaces. The computing device, upon powering up, begins associating each communication interface with at least one packet data network. The computing device can attempt to associate its communication interface with a plurality of packet data networks. The computing device can be a personal computer, and the personal computer can include a first communication interface, a second communication interface, and a third communication interface. The personal computer can associate the first communication interface with the first access point belonging to the IEEE 802.11 network when the computer is turned on. Therefore, a first communication path is established between the first communication interface and the first access point belonging to the IEEE 802.11 network. The personal computer can also associate the second communication interface with a second access point that belongs to the WiMax network. Therefore, a second communication path is established between the second communication interface and the second access point belonging to the WiMax network. The personal computer can also associate the third communication interface with a third access point that is part of the UMTS network. Therefore, a third communication path is established between the third communication interface and the third access point belonging to the UMTS network. In this embodiment, the first, second, and third communication interfaces are wireless interfaces. One or more of the first, second, and third communication interfaces may also be wired interfaces. In this case, the personal computer can associate the wired interface with a wired packet data network. The plurality of communication paths refer to the first, second, and third communication paths. The MMS running on the personal computer manages and monitors the first, second, and third communication paths.

如步驟705所示,在啟動後,MMS便開始分析幷監視該計算設備的多個通信介面,以及多條相關的通信路徑。在下一步驟707,將啟動一通信應用。該通信應用具備內置的多路徑控制功能。如步驟709所示,該通信應用請求運行在個人電腦(計算設備)上的MMS將路徑控制和監視任務交由該通信應用負責。該通信應用可以是多媒體文件下載應用,視頻遊戲應用、互聯網瀏覽應用、互聯網電話應用、電話會議應用,或需要在該計算設備(電腦)和互聯網之間收發分組資料的任何其他類型應用。MMS可允許該通信應用對多條通信路徑(第一、第二和第三通信路徑)進行控制和監視。在另一實施例中,MMS可允許該通信應用控制這些路徑,同時,MMS繼續監視這些通信路徑,幷定期向該通信應用報告這些通信路徑的通暢性。As shown in step 705, after startup, the MMS begins analyzing, monitoring multiple communication interfaces of the computing device, and a plurality of associated communication paths. In the next step 707, a communication application will be launched. The communication application has built-in multipath control. As shown in step 709, the communication application requests the MMS running on the personal computer (computing device) to delegate the path control and monitoring tasks to the communication application. The communication application can be a multimedia file download application, a video game application, an internet browsing application, an internet telephony application, a teleconference application, or any other type of application that requires packet data to be sent and received between the computing device (computer) and the Internet. The MMS may allow the communication application to control and monitor multiple communication paths (first, second, and third communication paths). In another embodiment, the MMS may allow the communication application to control these paths while the MMS continues to monitor these communication paths and periodically report the patency of these communication paths to the communication application.

例如但不限於,在步驟709,MMS定期監視這些通信路徑,幷將路徑控制功能交由運行在計算設備上的通信應用。該MMS從三個通信介面(有線介面、第一無線介面和第二無線介面)收集路徑特徵。這些路徑特徵通常包括三條路徑(第一、第二和第三通信路徑)的成本,以及三條路徑所支援的最大資料率和帶寬、三條路徑中的延遲、三條路徑上的資料流程量等。MMS將這些路徑特徵存儲在該計算設備的記憶體中。如步驟711所示,通信應用可從MMS或記憶體中獲取這些路徑特徵。該通信應用還可提示使用該計算設備的用戶輸入用戶選擇。該通信應用使用用戶選擇從三條通信路徑中選擇一條或多條路徑進行分組資料交換。該通信應用還可使用這些通信介面的缺省或預先設置值。例如,有線介面所支援的最大資料率可以預先設置,該預先設置值存儲於該計算設備的記憶體中。該通信應用使用存儲於該計算設備中的預先設置值從三條通信路徑中選擇一條或多條路徑進行分組資料交換。For example, without limitation, at step 709, the MMS periodically monitors these communication paths and hands the path control functions to the communication application running on the computing device. The MMS collects path features from three communication interfaces (a wired interface, a first wireless interface, and a second wireless interface). These path characteristics typically include the cost of three paths (first, second, and third communication paths), the maximum data rate and bandwidth supported by the three paths, the delay in the three paths, and the amount of data flow on the three paths. The MMS stores these path features in the memory of the computing device. As shown in step 711, the communication application can retrieve these path features from the MMS or memory. The communication application may also prompt the user of the computing device to enter a user selection. The communication application uses the user to select one or more paths from the three communication paths for packet data exchange. The communication application can also use default or pre-set values for these communication interfaces. For example, the maximum data rate supported by the wired interface can be preset, and the preset value is stored in the memory of the computing device. The communication application selects one or more paths from the three communication paths for packet data exchange using a preset value stored in the computing device.

在下一步驟713,該通信應用從三條通信路徑中選擇一條或多條路徑。該通信應用使用獲取的路徑特徵來進行路徑選擇。例如該通信應用要求使用至少可提供其所要求的最低資料率的通信路徑。該通信應用還可使用通信應用條件,也就是所要求的最低資料率來選擇路徑。例如但不限於,該通信應用要求該計算設備和互聯網之間的最低資料傳輸率要高於其所要求的最低資料率。該通信應用分析這三條通信路徑,幷判斷出三條路徑中沒有一條可支援其所要求的最低資料率,但如果同時使用第一路徑和第三路徑便可達到其所要求的最低資料率。該通信應用將其生成的資料分組分成兩個部分,幷控制資料分組的第一部分經由第一通信介面傳送,資料分組的第二部分經由第三通信介面傳送。類似的,該通信應用通過第一通信介面接收一部分資料分組,通過第三通信介面接收資料分組的其餘部分。In the next step 713, the communication application selects one or more paths from the three communication paths. The communication application uses the acquired path features for path selection. For example, the communication application requires the use of a communication path that provides at least the minimum data rate required. The communication application can also select the path using the communication application conditions, that is, the minimum required data rate. For example, without limitation, the communication application requires that the minimum data transfer rate between the computing device and the Internet be higher than the minimum data rate required. The communication application analyzes the three communication paths and determines that none of the three paths can support the minimum data rate required, but if the first path and the third path are used simultaneously, the minimum data rate required can be achieved. The communication application divides the data packets it generates into two parts, the first portion of the control data packet being transmitted via the first communication interface, and the second portion of the data packet being transmitted via the third communication interface. Similarly, the communication application receives a portion of the data packet through the first communication interface and receives the remainder of the data packet through the third communication interface.

如步驟715所示,MMS通常會在固定的時間間隔對這些路徑特徵進行更新,這是因為這些路徑特徵經常隨時間發生變化。該通信應用定期從MMS獲取這些路徑特徵。在步驟709,若MMS將路徑監視任務交由該通信應用,則在步驟715,該通信應用定期從三個通信介面和/或三個接入點收集這些路徑特徵。這些路徑特徵可能隨時間發生變化,在某一時刻,第一路徑可能無法提供該通信應用所要求的最低資料率。這可能是由於在該時刻IEEE802.11網路中的資料流程量激增,或者第一路徑中的干擾級別增加造成的。該通信應用回應路徑特徵變化,選擇一條不同的路徑,幷控制資料分組經由新選擇的路徑傳送。如步驟717所示,從該時刻起,該通信應用停止使用第一路徑。如步驟715所示,MMS和/或該通信應用繼續監視三條路徑。As shown in step 715, the MMS typically updates these path characteristics at regular intervals because these path characteristics often change over time. The communication application periodically acquires these path characteristics from the MMS. At step 709, if the MMS hands over the path monitoring task to the communication application, then at step 715, the communication application periodically collects the path features from three communication interfaces and/or three access points. These path characteristics may change over time, and at some point, the first path may not provide the minimum data rate required for the communication application. This may be due to a surge in the amount of data flow in the IEEE 802.11 network at that time, or an increase in the interference level in the first path. The communication application responds to the path feature change, selects a different path, and controls the data packet to be transmitted via the newly selected path. As shown in step 717, from the moment on, the communication application stops using the first path. As shown in step 715, the MMS and/or the communication application continue to monitor the three paths.

該計算設備的作業系統還可啟動第二通信應用。第二通信應用的優先順序可能高於當前正在運行的通信應用。第二通信應用從當前正在運行的通信應用處接管通信路徑控制功能。第二通信應用使用路徑特徵、用戶選擇和第二通信應用和當前正在運行的通信應用的通信條件從三條路徑中選擇路徑。如步驟719所示,第二通信應用控制資料分組經由選擇的路徑傳送。若第二通信應用决定控制對應當前正在運行的通信應用的資料分組經由第二通信介面傳送,則第二通信應用要確保在當前正在運行的通信應用將資料通信從第一通信介面和第三通信介面切換至第二通信介面的過程中不會丟失資料分組。若第二通信應用的優先順序等於或低於當前正在運行的通信應用,則當前正在運行的通信應用便選擇可用的通信路徑供第二通信應用使用。在本示範性實施例中,當前正在運行的通信應用將對應第二通信應用的所有分組資料經由唯一可用的第二通信路徑傳送。The operating system of the computing device can also launch a second communication application. The second communication application may have a higher priority than the currently running communication application. The second communication application takes over the communication path control function from the currently running communication application. The second communication application selects the path from the three paths using the path characteristics, the user selection, and the communication conditions of the second communication application and the currently running communication application. As shown in step 719, the second communication application control data packet is transmitted via the selected path. If the second communication application decides to control the data packet corresponding to the currently running communication application to be transmitted via the second communication interface, the second communication application ensures that the currently operating communication application communicates the data communication from the first communication interface and the third communication The data packet is not lost during the interface switching to the second communication interface. If the priority of the second communication application is equal to or lower than the communication application currently running, the currently running communication application selects an available communication path for use by the second communication application. In the present exemplary embodiment, the currently running communication application transmits all of the packet data corresponding to the second communication application via the only available second communication path.

圖8是本發明運行在計算設備上的多路徑管理軟體在通信應用支援下,管理該計算設備和至少一個分組資料網路之間多條通信路徑的方法的流程圖。該計算設備可以是個人電腦、電話機、與電視機相關聯的機頂盒、屬於分組資料網路的接入點,或者可與分組資料網路通信的任何類型的設備。該至少一個分組交換網路可以是有線網路、光纖網路、衛星資料網路、WiMax網路、IEEE802.11網路、UMTS網路、GPRS網路、CDMA網路,或者可將資料分段放入分組中進行傳輸的任何類型的標準或專用資料網路。資料指的是視頻、音頻、音樂視頻、視頻遊戲、語音對話、圖片、文本消息、電視節目,以及任何即時或存檔的多媒體資訊中的一種或多種。8 is a flow diagram of a method for managing multiple communication paths between a computing device and at least one packet data network, supported by a communication application, by a multi-path management software running on a computing device. The computing device can be a personal computer, a telephone, a set top box associated with the television, an access point belonging to a packet data network, or any type of device that can communicate with a packet data network. The at least one packet switched network may be a wired network, a fiber network, a satellite data network, a WiMax network, an IEEE 802.11 network, a UMTS network, a GPRS network, a CDMA network, or may segment data Any type of standard or private data network that is placed in a packet for transmission. Data refers to one or more of video, audio, music videos, video games, voice conversations, pictures, text messages, television programs, and any instant or archived multimedia information.

在步驟805,計算設備開機,該設備的作業系統(OS)(例如,Windows XP,Linux,Unix等)開始啟動。在步驟805,作業系統(OS)啟動多路徑管理軟體(MMS)。該計算設備包括多個通信介面。該計算設備在開機後,便開始將每個通信介面與至少一個分組資料網路相關聯。如果該計算設備為接入點,則該計算設備(接入點)嘗試關聯到同一分組資料網路。如果該計算設備為一用戶端設備,例如,個人電腦、耳機、電話機,則該計算設備可嘗試將通信介面與多種類型的分組資料網路相關聯。該計算設備可以是個人電腦,該個人電腦可具備第一通信介面、第二通信介面和第三通信介面。該個人電腦在開機時便可將第一通信介面與屬於IEEE802.11網路的第一接入點相關聯。因此,在第一通信介面和屬於IEEE802.11的第一接入點之間便建立起第一通信路徑。該個人電腦還可將第二通信介面與屬於WiMax網路的第二接入點相關聯。因此,在第二通信介面和屬於WiMax網路的第二接入點之間便建立起第二通信路徑。該個人電腦還可將第三通信介面與屬於UMTS網路的第三接入點相關聯。因此,在第三通信介面和屬於UMTS網路的第三接入點之間便建立起第三通信路徑。在該實施例中,第一、第二和第三通信介面為無線介面。第一、第二和第三通信介面中的一個或多個還可以是有線介面。在這種情况下,個人電腦可將該有線介面與有線分組資料網路相關聯。多條通信路徑指的是第一、第二和第三通信路徑。運行在該個人電腦上的MMS對第一、第二和第三通信路徑進行管理和監視。At step 805, the computing device is powered on, and the operating system (OS) of the device (eg, Windows XP, Linux, Unix, etc.) begins to boot. At step 805, the operating system (OS) launches the multipath management software (MMS). The computing device includes a plurality of communication interfaces. The computing device, upon powering up, begins associating each communication interface with at least one packet data network. If the computing device is an access point, the computing device (access point) attempts to associate to the same packet data network. If the computing device is a client device, such as a personal computer, headset, or telephone, the computing device can attempt to associate the communication interface with a plurality of types of packet data networks. The computing device can be a personal computer that can have a first communication interface, a second communication interface, and a third communication interface. The personal computer can associate the first communication interface with the first access point belonging to the IEEE 802.11 network when the computer is turned on. Therefore, a first communication path is established between the first communication interface and the first access point belonging to IEEE 802.11. The personal computer can also associate the second communication interface with a second access point that belongs to the WiMax network. Therefore, a second communication path is established between the second communication interface and the second access point belonging to the WiMax network. The personal computer can also associate the third communication interface with a third access point that is part of the UMTS network. Therefore, a third communication path is established between the third communication interface and the third access point belonging to the UMTS network. In this embodiment, the first, second, and third communication interfaces are wireless interfaces. One or more of the first, second, and third communication interfaces may also be wired interfaces. In this case, the personal computer can associate the wired interface with a wired packet data network. The plurality of communication paths refer to the first, second, and third communication paths. The MMS running on the personal computer manages and monitors the first, second, and third communication paths.

如步驟805所示,在啟動後,MMS開始對該計算設備的多個通信介面以及相關聯的多條通信路徑進行監視。在下一步驟807,第一通信應用和第二通信應用啟動。第一和第二通信應用都具備內置的多路徑支援功能。第一通信應用要求使用至少可提供其所要求的最低資料率的通信路徑。第一CRI,也就是對應該第一通信應用的所要求的最低資料率可存儲在存儲系統中。在下一步驟809,MMS從存儲系統獲取該第一CRI,或者從第一通信應用接收該第一CRI。在步驟809,若該第一CRI在存儲系統中不存在,則MMS會提示用戶輸入第一CRI。MMS通過該計算設備的用戶輸入介面接收用戶輸入的第一CRI。該計算設備的用戶輸入介面可以是鍵盤、滑鼠、觸摸屏、多個按鈕等。若在步驟809,用戶未輸入第一CRI,則MMS將在步驟809使用缺省或預先設置值。例如,第一通信應用可能是網頁瀏覽應用。對應網頁瀏覽應用的帶寬值可能存儲於該計算設備的存儲系統中。該計算設備的製造商可對該帶寬值進行設定。MMS從存儲設備中獲取該預先設置的帶寬值,幷在下一步驟811從三條可用通信路徑中選擇一條通信路徑,且所選路徑的帶寬大於或等於上述預先設定的帶寬值。As shown in step 805, after startup, the MMS begins monitoring multiple communication interfaces of the computing device and associated multiple communication paths. At next step 807, the first communication application and the second communication application are launched. Both the first and second communication applications have built-in multipath support. The first communication application requires the use of a communication path that provides at least the minimum data rate required. The first CRI, that is, the minimum required data rate corresponding to the first communication application, can be stored in the storage system. In the next step 809, the MMS obtains the first CRI from the storage system or receives the first CRI from the first communication application. In step 809, if the first CRI does not exist in the storage system, the MMS prompts the user to input the first CRI. The MMS receives the first CRI input by the user through the user input interface of the computing device. The user input interface of the computing device can be a keyboard, a mouse, a touch screen, a plurality of buttons, and the like. If the user does not enter the first CRI at step 809, the MMS will use the default or pre-set values at step 809. For example, the first communication application may be a web browsing application. The bandwidth value of the corresponding web browsing application may be stored in the storage system of the computing device. The manufacturer of the computing device can set the bandwidth value. The MMS obtains the preset bandwidth value from the storage device, and selects one communication path from the three available communication paths in the next step 811, and the bandwidth of the selected path is greater than or equal to the preset bandwidth value.

在步驟809,MMS還接收對應第二通信應用的第二CRI,該第二通信應用在步驟807啟動。第二CRI可包括第二通信應用可以忍受的最大延遲,以及第二通信應用所要求的最小信噪比。若該計算設備為接入點,也就是說MMS運行在接入點例如第一接入點上,而不是個人電腦上,則運行在第一接入點上的MMS在步驟809通過第一通信路徑從個人電腦接收對應第一通信應用的第一CRI和對應第二通信應用的第二CRI。At step 809, the MMS also receives a second CRI corresponding to the second communication application, the second communication application being initiated at step 807. The second CRI may include a maximum delay that the second communication application can tolerate, and a minimum signal to noise ratio required by the second communication application. If the computing device is an access point, that is, the MMS is running on an access point, such as a first access point, rather than a personal computer, then the MMS running at the first access point passes the first communication in step 809. The path receives from the personal computer a first CRI corresponding to the first communication application and a second CRI corresponding to the second communication application.

在步驟809,MMS還獲取多個路徑特徵。若該MMS運行在用戶端設備如個人電腦上,則路徑特徵指的就是該個人電腦和互聯網之間的三條通信路徑(第一、第二和第三通信路徑)的特徵。對應一條路徑的特徵通常包括該路徑上的資料負載量、該路徑中的干擾、與該路徑相關聯的成本等。若MMS運行在接入點例如第一接入點上,則該路徑特徵指的是與該接入點和互聯網之間的上行路徑相關聯的特徵,以及與該接入點和用戶端設備之間的下行路徑相關聯的特徵。個人電腦和第一接入點之間的第一通信路徑是該接入點所有下行路徑中的一條。該第一接入點的路徑特徵包括對應該第一路徑的特徵。MMS從相關的通信介面、相關的接入點,或相關分組資料網路中的任何其他節點獲取該路徑特徵。At step 809, the MMS also acquires a plurality of path features. If the MMS is running on a client device such as a personal computer, the path feature refers to the characteristics of the three communication paths (first, second, and third communication paths) between the personal computer and the Internet. The characteristics corresponding to a path typically include the amount of data on the path, the interference in the path, the cost associated with the path, and the like. If the MMS is running on an access point, such as a first access point, the path feature refers to a feature associated with an uplink path between the access point and the Internet, and with the access point and the client device The characteristics associated with the downstream path. The first communication path between the personal computer and the first access point is one of all downstream paths of the access point. The path characteristics of the first access point include features corresponding to the first path. The MMS acquires the path feature from the associated communication interface, the associated access point, or any other node in the associated packet data network.

運行在計算設備上的MMS可在三種模式下運行:A)由MMS來决定使用可用路徑中的哪條或哪些路徑來收發對應第一通信應用和第二通信應用的分組資料。在步驟811,MMS使用第一CRI、第二CRI和路徑特徵來作出上述决定。如步驟809所示,第一CRI和第二CRI可直接或間接的收集。B)MMS將收集到的第一CRI、第二CRI和路徑特徵發往接入點或相關聯分組資料網路的任何其他節點。在這種情况下MMS不承擔步驟811所示的路徑選擇任務。C)運行在計算設備上的MMS與運行在相關聯分組資料網路任何其他節點上的一個或多個MMS共同進行路徑選擇。例如,運行在個人電腦上的MMS和運行在IEEE802.11網路服務器上的第二MMS可共同决定使用個人電腦和第一接入點之間的第一路徑來收發屬於第一通信應用的分組資料。The MMS running on the computing device can operate in three modes: A) The MMS decides which of the available paths to use to transmit and receive packet data corresponding to the first communication application and the second communication application. At step 811, the MMS uses the first CRI, the second CRI, and the path characteristics to make the above decision. As shown in step 809, the first CRI and the second CRI may be collected directly or indirectly. B) The MMS sends the collected first CRI, second CRI, and path characteristics to the access point or any other node of the associated packet data network. In this case, the MMS does not assume the path selection task shown in step 811. C) The MMS running on the computing device performs path selection in conjunction with one or more MMSs running on any other node of the associated packet data network. For example, an MMS running on a personal computer and a second MMS running on an IEEE 802.11 network server can jointly determine to use a first path between the personal computer and the first access point to send and receive packets belonging to the first communication application. data.

例如但不限於,運行在個人電腦上的MMS知道個人電腦(計算設備)和第一接入點之間的第一路徑、個人電腦(計算設備)和第二接入點之間的第二路徑,以及個人電腦(計算設備)和第三接入點之間的第三路徑都可用於與互聯網之間收發資料。在步驟811,MMS從三條可用通信路徑中選擇一條滿足第一CRI(也就是能够滿足第一通信應用所要求的最低資料率)的路徑。滿足第一CRI的路徑可能不止一條。MMS可從這不止一條路徑中隨機選擇一條路徑。在步驟811,MMS控制個人電腦使用所選擇的路徑與互聯網收發第一通信應用所要求或生成的資料分組,直到收到MMS的下一條指令。在步驟811,個人電腦通過選擇的路徑向互聯網發送第一網頁請求。該個人電腦通過選擇的路徑從互聯網接收所請求的網頁(以分組資料的形式)。For example, but not limited to, the MMS running on the personal computer knows the first path between the personal computer (computing device) and the first access point, the second path between the personal computer (computing device) and the second access point And a third path between the personal computer (computing device) and the third access point can be used to send and receive data to and from the Internet. At step 811, the MMS selects one of the three available communication paths that satisfies the first CRI (ie, the lowest data rate that can satisfy the first communication application). There may be more than one path that satisfies the first CRI. MMS can randomly select a path from more than one path. At step 811, the MMS controls the personal computer to send and receive data packets required or generated by the first communication application to the Internet using the selected path until the next instruction of the MMS is received. At step 811, the personal computer sends a first web page request to the Internet via the selected path. The personal computer receives the requested web page (in the form of group data) from the Internet through the selected path.

若該計算設備為第一接入點,則在步驟811,運行在第一接入點上的MMS判斷該個人電腦和第一接入點之間的唯一路徑(也就是第一通信路徑)是否滿足第一CRI。若是,則運行在第一接入點上的MMS控制該接入點使用第一通信路徑承載對應第一通信應用的分組資料。If the computing device is the first access point, then in step 811, the MMS running on the first access point determines whether the unique path (ie, the first communication path) between the personal computer and the first access point is Meet the first CRI. If yes, the MMS running on the first access point controls the access point to use the first communication path to carry the packet data corresponding to the first communication application.

運行在該個人電腦上的MMS選擇滿足第二CRI(也就是第二通信應用可以忍受的最大延遲以及第二通信應用所要求的最小信噪比)的另一路徑。在步驟811,MMS控制該個人電腦使用選擇的路徑與互聯網收發第二通信應用所要求或生成的資料分組,直到收到MMS的下一條指令。The MMS running on the personal computer selects another path that satisfies the second CRI (i.e., the maximum delay that the second communication application can tolerate and the minimum signal to noise ratio required by the second communication application). At step 811, the MMS controls the personal computer to send and receive data packets required or generated by the second communication application to the Internet using the selected path until the next instruction of the MMS is received.

如步驟813所示,運行在該計算設備(個人電腦或第一接入點)上的MMS周期性地監視所選擇的路徑以及其他可用通信路徑和CRI。如果在某一時刻,第一通信應用所使用的路徑無法滿足第一CRI,則在下一步驟815,MMS會從其他可用通信路徑中選擇一條滿足第一CRI的不同路徑,幷控制第一通信應用使用該不同路徑代替前一路徑進行資料分組交換,直到收到MMS的下一條指令。如步驟813所示,MMS繼續周期性地監視該計算設備和互聯網之間的所有可用路徑。在步驟813,類似的,MMS周期性地監視第二通信應用所使用的路徑,幷在步驟815,根據第二CRI和該路徑的通暢性和/或特徵(例如,該路徑提供的帶寬、該路徑中存在的延遲、流經該路徑的資料流程量等)控制所使用路徑的改變。在步驟815,MMS可改變第二通信應用所使用的路徑,因為該路徑中的延遲可能已超過第二CRI中指定的上限。As shown in step 813, the MMS running on the computing device (personal computer or first access point) periodically monitors the selected path and other available communication paths and CRIs. If at some point, the path used by the first communication application cannot satisfy the first CRI, then in the next step 815, the MMS selects a different path from the other available communication paths that satisfies the first CRI, and controls the first communication application. The different path is used instead of the previous path for data packet switching until the next instruction of the MMS is received. As shown in step 813, the MMS continues to periodically monitor all available paths between the computing device and the Internet. At step 813, similarly, the MMS periodically monitors the path used by the second communication application, and in step 815, based on the second CRI and the patency and/or characteristics of the path (eg, the bandwidth provided by the path, the The delay in the path, the amount of data flowing through the path, etc.) controls the change in the path used. At step 815, the MMS may change the path used by the second communication application because the delay in the path may have exceeded the upper limit specified in the second CRI.

如步驟817所示,該計算設備可從第三通信應用接收路徑建立請求。在步驟817中,第一或第二通信應用可能停止工作。在所有這些情况中,如步驟817所示,MMS需要對該計算設備(個人電腦或接入點)和互聯網(或用戶端設備)之間的可用通信路徑重新進行評估,幷且作出新的决定,該决定是關於哪個通信應用使用哪條通信路徑。As shown in step 817, the computing device can receive a path establishment request from the third communication application. In step 817, the first or second communication application may stop working. In all of these cases, as shown in step 817, the MMS needs to re-evaluate the available communication paths between the computing device (personal computer or access point) and the Internet (or client device) and make new decisions. The decision is about which communication application uses which communication path.

圖9是本發明運行在計算設備上的多路徑管理軟體獨立管理該計算設備和至少一個分組資料網路之間多條通信路徑的方法的流程圖。在步驟905,該計算設備開機,其作業系統(OS)啟動。在步驟905,作業系統(OS)啟動多路徑管理軟體(MMS)。例如但不限於,該計算設備包括多個通信介面,幷在開機後便將其自身與多個分組資料網路相關聯,具體來說,是通過對應的通信介面與對應的分組資料網路來建立這種關聯。運行在該計算設備上的MMS對這些關聯進行管理和監視。9 is a flow diagram of a method for a multi-path management software running on a computing device to independently manage multiple communication paths between the computing device and at least one packet data network. At step 905, the computing device is powered on and its operating system (OS) is booted. At step 905, the operating system (OS) launches the multipath management software (MMS). For example, but not limited to, the computing device includes a plurality of communication interfaces, and after booting up, associates itself with a plurality of packet data networks, specifically, through a corresponding communication interface and a corresponding packet data network. Establish this association. The MMS running on the computing device manages and monitors these associations.

在下一步驟907,多個通信應用啟動。該計算設備的作業系統可在設備啟動時便啟動這些通信應用。這些通信應用的典型實例為作業系統更新或病毒庫更新。用戶可使用該計算設備的用戶輸入介面輸入其選擇。該選擇可觸發通信應用的啟動。這種通信應用的典型實例為電話呼叫應用、互聯網電話應用、媒體下載應用等。在下一步驟909,MMS從在步驟907中啟動的多個通信應用接收路徑建立請求。這些通信應用不具備多路徑管理功能。這些通信應用也無法向MMS提供有關這些通信應用特徵的任何資訊。In the next step 907, a plurality of communication applications are launched. The computing system's operating system can launch these communication applications when the device is booted. Typical examples of these communication applications are operating system updates or virus database updates. The user can enter their selection using the user input interface of the computing device. This selection triggers the launch of the communication application. Typical examples of such communication applications are telephone call applications, internet telephony applications, media download applications, and the like. At next step 909, the MMS receives a path setup request from the plurality of communication applications initiated in step 907. These communication applications do not have multipath management capabilities. These communication applications are also unable to provide MMS with any information about the characteristics of these communication applications.

在步驟909,MMS回應從多個通信介面收到的路徑建立請求,獲取多個路徑特徵。若MMS運行在用戶端設備如個人電腦上、電話、機頂盒等上,則路徑特徵指的是該計算設備的這些通信介面與相關聯的分組資料網路之間的上行通信路徑的特徵。對應這些路徑的特徵通常包括該路徑上的資料負載量、該路徑上的干擾、該路徑的成本等。若MMS運行在接入點上,則這些路徑特徵指的是該接入點和互聯網之間上行路徑的特徵,以及該接入點和相關聯的用戶端設備之間下行路徑的特徵。MMS從這些通信介面獲取對應接入點或相關聯分組資料網路中任何其他節點的路徑特徵。At step 909, the MMS responds to the path setup request received from the plurality of communication interfaces to acquire a plurality of path features. If the MMS is running on a client device such as a personal computer, a telephone, a set top box, etc., the path characteristics refer to the characteristics of the upstream communication path between the communication interfaces of the computing device and the associated packet data network. Features corresponding to these paths typically include the amount of data on the path, the interference on the path, the cost of the path, and the like. If the MMS is operating on an access point, these path characteristics refer to the characteristics of the uplink path between the access point and the Internet, and the characteristics of the downstream path between the access point and the associated client device. The MMS obtains from these communication interfaces the path characteristics of the corresponding access point or any other node in the associated packet data network.

如步驟909所示,MMS還可查找這些通信介面的缺省或預先設定特徵。例如,該計算設備有線介面的製造商可設定該有線介面所支援的最大資料率。在步驟909,MMS從該計算設備的記憶體中獲取該預先設定的最大資料率值。該預先設定的最大資料率可告訴MMS可以以小於等於該預先設定的最大資料率經由該有線介面傳送資料分組。若試圖以更高資料率進行分組交換,將導致資料分組的丟失或資料分組接收錯誤。As shown in step 909, the MMS can also look up default or pre-set features for these communication interfaces. For example, the manufacturer of the computing device's wired interface can set the maximum data rate supported by the wired interface. At step 909, the MMS obtains the predetermined maximum data rate value from the memory of the computing device. The predetermined maximum data rate can tell the MMS to transmit the data packet via the wired interface at less than or equal to the preset maximum data rate. Attempting to perform packet switching at a higher data rate will result in loss of data packets or data packet reception errors.

運行在計算設備上的MMS可在三種模式下運行:A)由MMS來决定使用可用路徑中的哪條或哪些路徑來收發對應這些通信應用的分組資料。在步驟911,MMS使用路徑特徵和/或預先設定值來作出上述决定。B)MMS將收集到的路徑特徵值發往接入點或相關分組資料網路中的任何其他節點。在這種情况下,MMS不承擔步驟911中的路徑選擇任務。C)運行在該計算設備上的MMS與運行在相關聯分組資料網路任何其他節點上的一個或多個MMS共同執行路徑選擇。The MMS running on the computing device can operate in three modes: A) The MMS decides which of the available paths or which paths to use to send and receive packet data corresponding to these communication applications. At step 911, the MMS uses the path characteristics and/or preset values to make the above decision. B) The MMS sends the collected path feature values to the access point or any other node in the associated packet data network. In this case, the MMS does not assume the path selection task in step 911. C) The MMS running on the computing device performs path selection in conjunction with one or more MMSs running on any other node of the associated packet data network.

MMS在收集完這些路徑特徵後,可向用戶顯示這些路徑特徵。MMS可將這些路徑特徵顯示在該計算設備的螢幕上。在收到MMS提示後,用戶輸入路徑選擇。MMS可使用用戶選擇的路徑來收發對應這些通信應用的分組資料。After collecting the path characteristics, the MMS can display these path characteristics to the user. The MMS can display these path features on the screen of the computing device. After receiving the MMS prompt, the user enters the path selection. The MMS can use the path selected by the user to send and receive packet data corresponding to these communication applications.

如步驟913所示,運行在計算設備上的MMS周期性地監視所選擇的路徑以及其他可用通信路徑。若路徑特徵發生變化,則MMS在步驟915從一條路徑無縫切換至另一條路徑,幷確保不會有資料因為發生路徑切換而丟失。若啟動了一個新通信應用,則MMS在步驟917從所有可用的空閑路徑中選擇一條最佳路徑。若這些通信應用中的一個或多個停止運行,則MMS重新評估路徑特徵,幷將這些路徑在當前運行的通信應用中重新分配。As shown in step 913, the MMS running on the computing device periodically monitors the selected path and other available communication paths. If the path characteristics change, the MMS seamlessly switches from one path to another in step 915, ensuring that no data is lost due to path switching. If a new communication application is launched, the MMS selects an optimal path from all available idle paths in step 917. If one or more of these communication applications are down, the MMS re-evaluates the path characteristics and redistributes those paths in the currently running communication application.

圖10是本發明多路徑管理軟體(MMS)所執行的示範性路徑選擇過程的功能示意圖。第一終端設備1011和第二終端設備1041之間的通信可由網路節點1025、互聯網骨幹網1003、以及分別由第一、第二、第三和第四接入點(AP)1021、1051、1031和1045所支援的所有可用路徑中選擇的任意一條或多條路徑承載。根據路徑建立參數,以及內在的基礎通信應用條件,運行在第一和第二終端設備1011和1041,第一、第二、第三和第四AP1021、1051、1031和1045,以及網路節點1025上的一個或多個MMS應用可分別獨立地工作,也可共同參與路徑的選擇。10 is a functional diagram of an exemplary path selection process performed by the multipath management software (MMS) of the present invention. The communication between the first terminal device 1011 and the second terminal device 1041 may be performed by the network node 1025, the Internet backbone network 1003, and by the first, second, third, and fourth access points (APs) 1021, 1051, respectively. Any one or more of the available paths supported by 1031 and 1045 are carried. Running on the first and second terminal devices 1011 and 1041, the first, second, third and fourth APs 1021, 1051, 1031 and 1045, and the network node 1025 according to the path establishment parameters, and the underlying basic communication application conditions One or more of the MMS applications can work independently or together to participate in the selection of the path.

第一通信應用和第二通信應用運行在第一終端設備1011上,第三通信應用和第四通信應用運行在第二終端設備1041上。這些終端設備可以是運行有通信應用的用戶端設備和伺服器,例如第一、第二、第三和第四每一通信應用可包括視頻遊戲、互聯網電話應用、互聯網瀏覽應用,或需要使用可到達遠端終端設備的通信路徑的其他通信應用。例如但不限於,運行在第一終端設備1011上的第二通信應用,和運行在第二終端設備1041上的第四通信應用可以是互聯網電話應用,其中,第一和第二終端設備1011和1041包括VoIP電話。這樣一來,第二通信應用與第四通信應用之間需要收發語音和補充媒體(supplemental media)(如果有的話)。作為選擇,例如,第二終端應用可包括用戶端電腦上的用戶端遊戲軟體或用戶端瀏覽器軟體,它們與伺服器上的遊戲伺服器軟體或網頁伺服器軟體交互。The first communication application and the second communication application run on the first terminal device 1011, and the third communication application and the fourth communication application run on the second terminal device 1041. The terminal devices may be client devices and servers running communication applications, for example, each of the first, second, third, and fourth communication applications may include a video game, an internet phone application, an internet browsing application, or may need to be used. Other communication applications that reach the communication path of the remote terminal device. For example, without limitation, a second communication application running on the first terminal device 1011, and a fourth communication application running on the second terminal device 1041 may be an internet telephony application, wherein the first and second terminal devices 1011 and The 1041 includes a VoIP phone. In this way, the voice and supplemental media (if any) need to be sent and received between the second communication application and the fourth communication application. Alternatively, for example, the second terminal application may include a client game software or a client browser software on the client computer that interacts with the game server software or web server software on the server.

在第一終端設備1011的第二通信應用和第二終端設備1041的第四通信應用之間可存在多條通信路徑。如圖所示,第二通信應用可使用多達三條鏈路來連接第一和第二接入點1021和1051。同時,接入點1021和1051總共具有三條鏈路連接網路節點1025,而網路節點1025具有兩條到達互聯網骨幹網1003的鏈路。從互聯網骨幹網1003,有三條鏈路指向第三和第四接入點1031和1045,這樣便總共有三條鏈路到達第二終端設備1041。每條鏈路可以是無線的,也可以是有線的。There may be a plurality of communication paths between the second communication application of the first terminal device 1011 and the fourth communication application of the second terminal device 1041. As shown, the second communication application can connect the first and second access points 1021 and 1051 using up to three links. At the same time, access points 1021 and 1051 have a total of three links to network node 1025, while network node 1025 has two links to Internet backbone 1003. From the Internet backbone network 1003, there are three links to the third and fourth access points 1031 and 1045, so that a total of three links arrive at the second terminal device 1041. Each link can be wireless or wired.

可從多條鏈路中選出單條路徑,也可同時選出多條路徑。運行在第一和第二終端設備1011和1041、第一、第二、第三和第四AP1021、1051、1031和1045,以及網路節點1025上的一個或多個MMS應用選擇一條或多條路徑。若通信應用,如運行在第一終端設備上的第二通信應用具有到MMS的軟體介面,該通信應用便可向MMS發送條件資訊(如帶寬、QoS等),協助MMS進行路徑選擇。這些通信應用還可控制MMS,或在路徑選擇過程中通過MMS變得更加活躍。若通信應用不具備這種特定的功能,或未配置成協助或控制MMS,則MMS或者為該通信應用獲取預先設定的參數,或者與用戶交互(通過彈出視窗,例如),來獲取這些參數,進而根據這些參數進行路徑選擇。A single path can be selected from multiple links, or multiple paths can be selected at the same time. One or more MMS applications running on the first and second terminal devices 1011 and 1041, the first, second, third and fourth APs 1021, 1051, 1031 and 1045, and the network node 1025 select one or more path. If the communication application, such as the second communication application running on the first terminal device, has a software interface to the MMS, the communication application can send condition information (such as bandwidth, QoS, etc.) to the MMS to assist the MMS in path selection. These communication applications can also control the MMS or become more active through the MMS during the path selection process. If the communication application does not have such a specific function, or is not configured to assist or control the MMS, the MMS either obtains a preset parameter for the communication application or interacts with the user (via a pop-up window, for example) to obtain these parameters. Further, path selection is performed based on these parameters.

運行在終端設備上的MMS應用可以路徑為單位對整條路徑中進行選擇,也可只在本地鏈路中進行選擇。也就是說,第一終端設備1011上的第一MMS可從下列位置中的一處或多處獲取參數,然後對從第一終端設備1011到第二終端設備1041的整條路徑作出選擇,這些位置包括:1)第二通信應用;2)與第二通信應用相關聯的本地或遠端記憶體;3)與第一通信應用相關聯的本地或遠端記憶體;4)每條本地鏈路的通信特徵;5)源自多個遠端MMS應用中每一應用的每條遠端鏈路的通信特徵。如果第二通信應用的參數不可知,則第一MMS可選擇一條缺省路徑。此後,無論最初的路徑是如何選擇的,第一MMS都會對穿過網路的來自第二通信應用的資料流程量進行分析,根據這些分析,在必要時切換至另一條路徑。The MMS application running on the terminal device can select the entire path in units of paths, or only in the local link. That is, the first MMS on the first terminal device 1011 can acquire parameters from one or more of the following locations, and then select the entire path from the first terminal device 1011 to the second terminal device 1041. Locations include: 1) a second communication application; 2) local or remote memory associated with the second communication application; 3) local or remote memory associated with the first communication application; 4) each local chain The communication characteristics of the road; 5) the communication characteristics of each remote link originating from each of the plurality of remote MMS applications. If the parameters of the second communication application are unknown, the first MMS may select a default path. Thereafter, regardless of how the initial path is selected, the first MMS analyzes the amount of data flow from the second communication application across the network, and based on these analysis, switches to another path if necessary.

同樣的,第一終端設備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對資料流程量進行分析,在必要時切換至其他或另外的鏈路。Similarly, the first MMS of the first terminal device 1011 may also hand over the selection of the entire path or the selection of the local link to the communication application. Alternatively, each MMS can only be responsible for the selection of the local path. For example, the first MMS of the first terminal device 1011 may choose to use one of the two indicated links connecting the first AP 1021 to support the second communication application, and select to use the other of the two links connecting the first AP 1021. And connecting the link of the second AP1051 to support the first communication application. The sixth MMS of the second AP 1051 may select one of the two links connecting the network node 1025 or select two at the same time, and the second MMS of the first AP 1021 may aggregate the communication on the two receiving links to one connected to the network. The output link of the way node 1025. Conversely, the network node 1025 may distribute the received data flow to two output links, or may select a single output link to connect to the Internet backbone 1003. Although not shown, the Internet backbone network 1003 may also include more network nodes, each having an MMS application, and may make similar link decisions to reach one of the third and fourth APs 1031 or 1045, or At the same time, both are reached, and then the second terminal device 1041 is reached. In this localization decision process, the MMS application on each node makes its path selection based on parameters obtained from one or more of the following: 1) the second communication application; 2) the local or far associated with the second communication application End memory; 3) local or remote memory associated with the first communication application; 4) communication characteristics of each local link; 5) basic communication traffic passing by. Thereafter, each MMS analyzes the amount of data flow and switches to other or additional links as necessary.

具體來說,在一示範性配置中,第二通信應用生成第一組多個語音分組,以及補充媒體分組,幷發往第一MMS。第一終端設備1011通過兩條(無線和/或有線)鏈路與第一接入點(AP)1021相連,幷通過單條鏈路與第二AP1051相連。運行在第一終端設備1011上的第一MMS和運行在第一AP1021上的第二MMS相互協助對方進行路徑選擇,幷共同决定使用兩條路徑中的第一條來從第一終端設備1011向第一接入點1021發送第一組多個語音分組,使用兩條路徑中的第二條來從第一終端設備1011向第一接入點1021發送補充媒體分組。In particular, in an exemplary configuration, the second communication application generates a first plurality of voice packets, and supplements the media packets to the first MMS. The first terminal device 1011 is connected to the first access point (AP) 1021 through two (wireless and/or wired) links, and is connected to the second AP 1051 through a single link. The first MMS running on the first terminal device 1011 and the second MMS running on the first AP 1021 assist each other in path selection, and jointly decide to use the first one of the two paths from the first terminal device 1011. The first access point 1021 transmits a first plurality of voice packets, and uses a second one of the two paths to transmit supplemental media packets from the first terminal device 1011 to the first access point 1021.

第一AP1021通過單條鏈路與網路節點1025相連。運行在第一AP1021上的第二MMS控制第一組多個語音分組和補充媒體分組通過可用的單條鏈路發往節點1025。與第一組多個補充媒體分組相比,第二MMS為第一組多個語音分組設定了更高的QOS(服務質量)條件。只有在上述單條鏈路滿足第一組多個語音分組的QOS條件時,第一AP1021(或第二MMS控制第一AP1021)才會向節點1025發送第一組多個語音分組。在某一時刻,第二MMS可能發現該單條鏈路不適合承載第一組多個語音分組,但却適合承載補充媒體分組。因此,第二MMS控制第一AP1021僅通過該單條鏈路向節點1025發送補充媒體分組。The first AP 1021 is connected to the network node 1025 through a single link. The second MMS running on the first AP 1021 controls the first plurality of voice packets and supplemental media packets to be sent to the node 1025 over the available single link. The second MMS sets a higher QOS (Quality of Service) condition for the first plurality of voice packets than the first plurality of supplemental media packets. The first AP 1021 (or the second MMS controls the first AP 1021) will send the first plurality of voice packets to the node 1025 only if the single link satisfies the QOS condition of the first plurality of voice packets. At some point, the second MMS may find that the single link is not suitable for carrying the first plurality of voice packets, but is suitable for carrying supplementary media packets. Therefore, the second MMS controls the first AP 1021 to transmit supplemental media packets to the node 1025 only through the single link.

節點1025通過兩條鏈路與互聯網骨幹網1003相連。運行在節點1025上的第三MMS從與互聯網骨幹網1003相連的兩條鏈路中選擇一條,通過選擇的鏈路將從第一AP1021收到的第一組多個語音分組和補充媒體分組發往互聯網骨幹網1003。第三MMS可根據資料分組和補充媒體分組在從第一終端設備1011到達節點1025時所采用的路徑,從兩條可用路徑中選擇其中一條。互聯網骨幹網1003包括多個例如計算設備、路由器、交換機、基站、收發器、功能變數名稱伺服器、代理伺服器、存儲伺服器。互聯網骨幹網1003中的一個或多個元件將收到的第一組多個語音分組和補充媒體分組發往第三AP1031。第三AP1031將收到的第一組多個語音分組和補充媒體分組通過唯一一條可用的鏈路轉發給第二終端設備1041。當然,還可選擇其他路徑鏈路對上述相應路徑進行替換或補充,上述選擇權也可交由任一MMS,或幾個MMS或通信應用來掌控。Node 1025 is coupled to Internet backbone 1003 via two links. The third MMS running on the node 1025 selects one of two links connected to the Internet backbone network 1003, and transmits the first plurality of voice packets and supplementary media packets received from the first AP 1021 through the selected link. Go to the Internet backbone 1003. The third MMS may select one of the two available paths based on the path taken by the data packet and the supplemental media packet to reach the node 1025 from the first terminal device 1011. The Internet backbone network 1003 includes a plurality of, for example, computing devices, routers, switches, base stations, transceivers, function variable name servers, proxy servers, storage servers. One or more elements in the Internet backbone network 1003 send the received first plurality of voice packets and supplemental media packets to the third AP 1031. The third AP 1031 forwards the received first plurality of voice packets and supplementary media packets to the second terminal device 1041 through a unique one of the available links. Of course, other path links may also be selected to replace or supplement the corresponding paths, and the above options may also be handed over to any MMS, or several MMS or communication applications.

在完成了對從第三AP1031收到的第一組多個語音分組和補充媒體分組的分析後,第四MMS確定這些分組的目的地是第二終端設備1041的第四通信應用。第四MMS作出回應,將收到的第一組多個語音分組和補充媒體分組轉發給第四通信應用。作為回應,第四通信應用生成第二組多個語音分組和補充媒體分組。本實施例中的第四MMS將第二組多個語音分組和補充媒體分組發往第四AP1045。第二終端設備1041通過兩條鏈路與第四AP1045相連。第四MMS選擇其中一條,或同時選擇這兩條鏈路來發送第二組多個語音分組和補充媒體分組。After completing the analysis of the first plurality of voice packets and supplemental media packets received from the third AP 1031, the fourth MMS determines that the destination of the packets is the fourth communication application of the second terminal device 1041. The fourth MMS responds by forwarding the received first plurality of voice packets and supplemental media packets to the fourth communication application. In response, the fourth communication application generates a second plurality of voice packets and supplemental media packets. The fourth MMS in this embodiment sends the second plurality of voice packets and supplementary media packets to the fourth AP 1045. The second terminal device 1041 is connected to the fourth AP 1045 through two links. The fourth MMS selects one of them, or simultaneously selects the two links to transmit a second plurality of voice packets and supplementary media packets.

第四MMS作出回應從兩條鏈路中選擇一條或多條鏈路的過程也可不同於從第二通信應用接收語音分組和補充媒體時進行的操作。但是,第四MMS可分析接收資訊時的帶寬使用情况,以此决定選擇一條不同鏈路來發送資訊。在這個例子中,第四MMS通過第三AP1031從互聯網骨幹網1003接收第一組多個語音分組,通過第四AP1045向互聯網骨幹網1003發送第二組多個語音分組。作為選擇,第四MMS可通過第三AP1031向互聯網骨幹網1003發送第二組多個語音分組和補充媒體分組。The process by which the fourth MMS responds to select one or more of the two links may also differ from the operations performed when receiving the voice packets and supplemental media from the second communication application. However, the fourth MMS can analyze the bandwidth usage when receiving the information, and then decide to select a different link to send the information. In this example, the fourth MMS receives the first plurality of voice packets from the Internet backbone network 1003 through the third AP 1031, and transmits the second plurality of voice packets to the Internet backbone network 1003 through the fourth AP 1045. Alternatively, the fourth MMS may send a second plurality of voice packets and supplementary media packets to the Internet backbone network 1003 via the third AP 1031.

第四AP1045上運行有第五MMS。第五MMS將從第二終端設備1041收到的第二組多個語音分組和補充媒體分組發往互聯網骨幹網1003。互聯網骨幹網1003通過兩條鏈路與節點1025相連。運行在節點1025上的第三MMS從兩條鏈路中選擇一條,來從互聯網骨幹網1003接收第二組多個語音分組和補充媒體分組,幷將選擇的路徑通知互聯網骨幹網1003。選擇的路徑可與節點1025用於向互聯網骨幹網1003發送第一組多個語音分組和補充媒體分組所使用的路徑相同,也可以不同。互聯網骨幹網1003通過選擇的鏈路將從第四AP1041收到的第二組多個語音分組和補充媒體分組發往節點1025。A fifth MMS runs on the fourth AP 1045. The fifth MMS sends the second plurality of voice packets and supplementary media packets received from the second terminal device 1041 to the Internet backbone network 1003. Internet backbone network 1003 is coupled to node 1025 via two links. The third MMS running on node 1025 selects one of the two links to receive a second plurality of voice packets and supplemental media packets from the Internet backbone network 1003, and notifies the selected backbone path to the Internet backbone network 1003. The selected path may be the same as or different from the path used by node 1025 to send the first plurality of voice packets and supplemental media packets to Internet backbone network 1003. The Internet backbone network 1003 sends a second plurality of voice packets and supplemental media packets received from the fourth AP 1041 to the node 1025 via the selected link.

運行在節點1025上的第三MMS和運行在第二AP1051上的第六MMS共同選出節點1025和第二AP1051之間的兩條鏈路來承載從節點1025發往第二AP1051的第二組多個語音分組和補充媒體分組。其中一條選中的鏈路承載第二組語音分組,另一條承載第二組補充媒體分組。在另一配置中,運行在節點1025上的第三MMS和運行在第一AP1021上的第二MMS可共同决定通過第一AP1025來傳送第二組多個語音分組和補充媒體分組。在第二通信應用和第四通信應用之間的全雙工通信中,第三MMS執行兩次鏈路選擇,一次用於傳送第一組多個語音分組和補充媒體分組,另一次用於傳送第二組多個語音分組和補充媒體分組。The third MMS running on the node 1025 and the sixth MMS running on the second AP 1051 jointly select two links between the node 1025 and the second AP 1051 to carry the second group sent from the node 1025 to the second AP 1051. Voice packets and supplementary media packets. One of the selected links carries a second set of voice packets, and the other carries a second set of supplementary media packets. In another configuration, a third MMS running on node 1025 and a second MMS running on first AP 1021 can collectively decide to transmit a second plurality of voice packets and supplemental media packets through first AP 1025. In full-duplex communication between the second communication application and the fourth communication application, the third MMS performs two link selections, one for transmitting the first plurality of voice packets and the supplementary media packets, and the other for transmitting A second plurality of voice packets and supplemental media packets.

第二AP1051將收到的第二組多個語音分組和補充媒體分組轉發給第一終端設備1011。運行在第一終端設備1011上的第一MMS分析第二組多個語音分組和補充媒體分組,幷將它們轉發給運行在終端設備1011上的第二應用。The second AP 1051 forwards the received second plurality of voice packets and supplementary media packets to the first terminal device 1011. The first MMS running on the first terminal device 1011 analyzes the second plurality of voice packets and supplemental media packets, and forwards them to the second application running on the terminal device 1011.

為支援第一或任何其他通信應用,第一終端設備1011的第一MMS可進行如下操作:1)提示用戶為第一通信應用輸入缺省參數(以彈出方式詢問第一通信應用是用於視頻流、音頻流、語音電話、視頻電話、文件傳送、互聯網瀏覽,還是文本聊天等);2)從遠端伺服器獲取預先設定的配置;3)從本地記憶體獲取預先設定的配置資訊;4)如果可以的話,從MMS介面獲取預先設定的配置資訊;5)使用缺省配置。該配置資訊包括多個參數,這些參數與下列因素有關:a)與通信應用之間進行通信的基本通信條件;b)交換的媒體類型;c)控制配置(例如,通信應用同時控制,或各自單獨控制,本地MMS鏈路選擇/控制;單個MMS整條路徑全程選擇/控制等)。To support the first or any other communication application, the first MMS of the first terminal device 1011 can perform the following operations: 1) prompting the user to input default parameters for the first communication application (in the pop-up manner, the first communication application is used for video Stream, audio stream, voice call, video call, file transfer, Internet browsing, or text chat, etc.); 2) Obtain a preset configuration from the remote server; 3) Obtain pre-set configuration information from the local memory; 4 ) Obtain pre-configured configuration information from the MMS interface if possible; 5) Use the default configuration. The configuration information includes a plurality of parameters related to: a) basic communication conditions for communication with the communication application; b) type of media exchanged; c) control configuration (eg, simultaneous control of communication applications, or respective Separate control, local MMS link selection/control; single MMS entire path selection/control, etc.).

終端設備1011和1041為網路節點。接入點1021、1031、1041和1051、網路節點1025,以及互聯網骨幹網1003(未示出)中的多個節點都是可提供支援的網路節點。當然,每個節點可以也可不使用MMS應用,整條路徑可進行對應變化。The terminal devices 1011 and 1041 are network nodes. Access nodes 1021, 1031, 1041 and 1051, network node 1025, and multiple nodes in Internet backbone network 1003 (not shown) are network nodes that can provide support. Of course, each node may or may not use an MMS application, and the entire path may be changed accordingly.

本領域的技術人員應當明白,本文所使用的術語“連接”包含無線和有線的直接連接,經由另一元件、元件、電路或模組進行的無線或有線的間接連接。本領域的技術人員還應當明白,推斷連接(也就是通過推論得知一個元件連接到另一元件)包括兩個元件之間以與上述“連接”相同的方式進行無線和有線的連接、直接和間接的連接。Those skilled in the art should understand that the term "connected" as used herein includes a direct connection of wireless and wired, a wireless or wired indirect connection via another element, component, circuit or module. It will also be apparent to those skilled in the art that inferred connections (i.e., by inference that one element is connected to another element) includes both wireless and wired connections, direct and in the same manner as the "connection" described above. Indirect connection.

本發明的描述過程還借助方法步驟的方式來描述特定功能的執行過程及其相互關係。為便於描述,文中對這些功能性模組和方法步驟的邊界和順序進行了專門的定義。為使這些功能及其關係可正常工作,也可重新定義他們的邊界和順序。但這些對邊界和順序的重新定義都將落入本發明的主旨和所聲明的保護範圍之中。The description process of the present invention also describes the execution of specific functions and their interrelationships by means of method steps. For ease of description, the boundaries and sequence of these functional modules and method steps are specifically defined. To make these functions and their relationships work, you can redefine their boundaries and order. However, these redefinitions of boundaries and sequences will fall within the spirit and scope of the invention as claimed.

本發明的描述過程借助功能性模組的方法來描述某些重要功能的執行過程。為便於描述,文中對這些功能性模組邊界進行了專門的定義。為使這些功能可正常工作,也可重新定義他們的邊界。類似的,流程圖中的步驟也是為描述某些重要功能而專門定義的。為將這些流程圖的應用得到擴展,可重新定義流程圖中模組的邊界和順序,同時,重新定義後,這些模組仍然完成原來的重要功能。這種對功能性模組和流程圖步驟和順序的重新定義也都將落入本發明的主旨和所聲明的保護範圍之中。The process of the present invention describes the execution of certain important functions by means of a functional module. For the convenience of description, these functional module boundaries are specifically defined in the text. To make these features work, you can redefine their boundaries. Similarly, the steps in the flowchart are also specifically defined to describe some important functions. To extend the application of these flowcharts, the boundaries and order of the modules in the flowchart can be redefined, and at the same time, after re-definition, these modules still perform the original important functions. Such redefinition of functional modules and flow diagram steps and sequences will also fall within the spirit and scope of the invention as claimed.

本領域的技術人員還能意識到,本文中的功能性模組和描述的其他模組、模具和元件可按圖中的方式實現,也可使用進一步細分的元件、應用專用積體電路、執行特定軟體的處理器來,以及它們的任意組合來實現。Those skilled in the art will also appreciate that the functional modules and other modules, molds, and components described herein can be implemented as shown in the figures, and further subdivided components, application-specific integrated circuits, and execution can be used. The processor of a particular software comes with it, and any combination of them.

同時,為便於理解,本文借助實施例對本發明進行了詳細的描述,但本發明幷非僅限於這些實施例。顯然,對於本領域的技術人員而言,可在本發明的主旨和範圍內對本文內容進行修改,但這些修改仍然落入本發明的範圍之內。Meanwhile, the present invention has been described in detail by way of examples, and the invention is not limited to the embodiments. It is apparent that those skilled in the art can modify the contents of the present invention within the spirit and scope of the present invention, but such modifications are still within the scope of the present invention.

互聯網骨幹網...103Internet backbone network. . . 103

第一服務提供商設備...111First service provider equipment. . . 111

第二服務提供商設備...113Second service provider equipment. . . 113

第三服務提供商設備...115Third service provider equipment. . . 115

第四服務提供商設備...117Fourth service provider equipment. . . 117

有線資料網路...121Wired data network. . . 121

地面無線資料網路...123Ground wireless data network. . . 123

衛星資料網...125Satellite data network. . . 125

無線資料網...127Wireless data network. . . 127

第一接入點...131First access point. . . 131

第二接入點...133Second access point. . . 133

第三接入點(機頂盒)...135Third access point (set top box). . . 135

第四接入點...137Fourth access point. . . 137

第一個人電腦...151The first personal computer. . . 151

電話機...153Telephone set. . . 153

電視機...155TV set. . . 155

第二個人電腦...157Second personal computer. . . 157

耳機...159headset. . . 159

多路徑AP或多路徑STB(機頂盒)...200Multipath AP or multipath STB (set top box). . . 200

處理電路...202Processing circuit. . . 202

存儲系統...204Storage System. . . 204

作業系統...210working system. . . 210

多路徑管理軟體(MMS)上行-下行管理...214Multi-path management software (MMS) uplink-downstream management. . . 214

上行-下行設備子驅動器...216Upstream-downstream device subdriver. . . 216

用戶輸入介面...218User input interface. . . 218

有線介面...220Wired interface. . . 220

第一有線上行介面...222The first wired upstream interface. . . 222

第二有線上行介面...223The second wired upstream interface. . . 223

第一有線下行介面...224The first wired downstream interface. . . 224

第二有線下行介面...225Second wired downstream interface. . . 225

無線介面...230Wireless interface. . . 230

第一無線上行介面...232The first wireless upstream interface. . . 232

第二無線上行介面...233The second wireless upstream interface. . . 233

第一無線下行介面...234The first wireless downlink interface. . . 234

第二無線下行介面...235The second wireless downlink interface. . . 235

多路徑用戶端設備...300Multipath client device. . . 300

處理電路...302Processing circuit. . . 302

存儲系統...304Storage System. . . 304

CRI...305CRI. . . 305

路径特征...306Path characteristics. . . 306

作業系統...308working system. . . 308

通信應用軟體...310、311、312Communication application software. . . 310, 311, 312

多路徑上行管理軟體(MMS上行管理...314Multi-path uplink management software (MMS uplink management...314

設備子驅動程式...316Device sub-driver. . . 316

用戶輸入介面...330User input interface. . . 330

第一有線上行介面...342The first wired upstream interface. . . 342

第二有線上行介面...343The second wired upstream interface. . . 343

第一無線上行介面...344The first wireless upstream interface. . . 344

第二無線上行介面...345The second wireless upstream interface. . . 345

用戶端設備...400Client device. . . 400

作業系統...410working system. . . 410

通信軟體應用...414、415Communication software application. . . 414, 415

通信軟體應用程式...416Communication software application. . . 416

多路徑管理軟體(MMS)...420Multipath Management Software (MMS). . . 420

單入單出(SISO)低層設備驅動器...427Single-input single-output (SISO) low-level device drivers. . . 427

單入雙出(SIDO)低層設備驅動器...426Single-input and double-out (SIDO) low-level device drivers. . . 426

雙入單出(DISO)低層設備驅動器...425Dual-input single-out (DISO) low-level device driver. . . 425

多入多出(MIMO)設備驅動器...424Multiple Input Multiple Output (MIMO) device driver. . . 424

第一路徑...432First path. . . 432

第二路徑...433Second path. . . 433

第一路徑...435First path. . . 435

第二路徑...436Second path. . . 436

接入點...500Access Point. . . 500

雙入雙出(DIDO)設備驅動器...510Dual In and Double Out (DIDO) device drivers. . . 510

雙路徑...530Double path. . . 530

多路徑管理軟體(MMS)...550Multipath Management Software (MMS). . . 550

雙入單出(DISO)設備驅動器...560Dual Input Single Output (DISO) device driver. . . 560

單入雙出(SIDO)設備驅動器...565Single-input and double-out (SIDO) device drivers. . . 565

第一路徑...570First path. . . 570

第二路徑...572Second path. . . 572

第三路徑...574The third path. . . 574

互聯網骨幹網...1003Internet backbone network. . . 1003

第一終端設備(end point device)...1011First end device (end point device). . . 1011

第一接入點(AP)...1021First access point (AP). . . 1021

網路節點...1025Network node. . . 1025

第三接入點(AP)...1031Third access point (AP). . . 1031

第二終端設備...1041Second terminal device. . . 1041

第四接入點(AP)...1045Fourth access point (AP). . . 1045

第二接入點(AP)...1051Second access point (AP). . . 1051

圖1是本發明中多台設備通過多個接入點與互聯網骨幹網進行交互的示意圖,其中每台設備與一個以上的接入點進行交互;圖2是本發明如圖1所示的接入點多個元件的示意圖,該接入點支援從其自身到互聯網骨幹網的多條資料路徑;圖3是本發明如圖1所示的用戶端設備多個元件的示意圖,該用戶端設備支援從其自身到圖1所示多個接入點的多條資料路徑;圖4是本發明運行有多個軟體的用戶端設備的示意圖,該用戶端設備支援從其自身到多個接入點的多條資料路徑;圖5是本發明運行有多個軟體的接入點的示意圖,該接入點支援從其自身到多個用戶端設備的第一組多條資料路徑,以及從其自身到分組交換網路的第二組多條資料路徑;圖6是本發明計算設備協定層所執行功能的流程圖,該計算設備支援從其自身到互聯網的多條路徑,幷且該計算設備上運行有不具備多路徑管理功能的通信應用;圖7是本發明運行在計算設備上的通信應用管理該計算設備和至少一個分組資料網路之間的多條通信路徑的方法的流程圖;圖8是本發明運行在計算設備上的多路徑管理軟體在通信應用支援下,管理該計算設備和至少一個分組資料網路之間多條通信路徑的方法的流程圖;圖9是本發明運行在計算設備上的多路徑管理軟體獨立管理該計算設備和至少一個分組資料網路之間多條通信路徑的方法的流程圖;圖10是本發明多路徑管理軟體(MMS)進行路徑選擇的功能模組及選擇過程示意圖。1 is a schematic diagram of multiple devices interacting with an Internet backbone network through multiple access points in the present invention, wherein each device interacts with more than one access point; FIG. 2 is a connection of the present invention as shown in FIG. A schematic diagram of a plurality of components, the access point supporting a plurality of data paths from itself to the Internet backbone network; FIG. 3 is a schematic diagram of a plurality of components of the client device shown in FIG. 1 of the present invention, the client device Supporting multiple data paths from itself to multiple access points shown in FIG. 1; FIG. 4 is a schematic diagram of a client device running multiple softwares of the present invention, the user terminal device supporting from itself to multiple accesses a plurality of data paths of points; FIG. 5 is a schematic diagram of an access point of the present invention running a plurality of softwares, the access point supporting a first plurality of data paths from itself to a plurality of client devices, and from a second set of multiple data paths to the packet switched network; FIG. 6 is a flow diagram of functions performed by the computing device protocol layer of the present invention, the computing device supporting multiple paths from itself to the Internet, and the computing device Running on A communication application having a multi-path management function; FIG. 7 is a flowchart of a method for managing a plurality of communication paths between the computing device and at least one packet data network by the communication application running on the computing device of the present invention; A flowchart of a method for managing a plurality of communication paths between a computing device and at least one packet data network, supported by a multi-path management software running on a computing device, supported by a communication application; FIG. 9 is a flowchart of the present invention running on a computing device A flowchart of a method for independently managing multiple communication paths between the computing device and at least one packet data network by the multi-path management software; FIG. 10 is a functional module and selection for path selection by the multi-path management software (MMS) of the present invention; Process schematic.

Claims (8)

一種通信架構,包括:本地通信軟體應用,其具有本地通信條件;本地管理軟體應用;本地終端設備,其執行所述本地通信軟體應用和所述本地管理軟體應用;遠端終端設備,其具有遠端通信特徵;多個本地接入點設備,其通過對應的多條獨立鏈路與所述本地終端設備相連,所述對應的多條獨立鏈路具有對應的多個本地路徑特徵;分組交換通信骨幹網,與所述多個接入點設備中的每一個接入點設備和第二終端設備相連;所述本地終端設備經由所述多個本地接入點中的至少一個、幷通過所述分組交換通信骨幹網與所述遠端終端設備通信;所述本地終端設備對所述本地通信條件、所述遠端通信特徵,以及所述對應的多個本地路徑特徵進行評估之後,從所述多個本地接入點中選擇至少一個接入點。A communication architecture comprising: a local communication software application having local communication conditions; a local management software application; a local terminal device executing the local communication software application and the local management software application; and a remote terminal device having a far end End communication feature; a plurality of local access point devices connected to the local terminal device by corresponding multiple independent links, the corresponding multiple independent links having corresponding multiple local path features; packet switched communication a backbone network connected to each of the plurality of access point devices and the second terminal device; the local terminal device passing the at least one of the plurality of local access points a packet switched communication backbone network communicating with the remote terminal device; after the local terminal device evaluates the local communication condition, the remote communication feature, and the corresponding plurality of local path features, from the Select at least one of the plurality of local access points. 如申請專利範圍第1項所述的通信架構,其中,進一步包括遠端管理軟體應用,其運行在所述遠端終端設備上,用於將所述遠端通信特徵發往所述本地終端設備。The communication architecture of claim 1, further comprising a remote management software application running on the remote terminal device for transmitting the remote communication feature to the local terminal device . 如申請專利範圍第1項所述的通信架構,其中,所述本地通信條件由所述本地通信軟體應用發往所述本地管理應用。 The communication architecture of claim 1, wherein the local communication condition is sent by the local communication software application to the local management application. 如申請專利範圍第1項所述的通信架構,其中,所述本地終端設備從所述多個本地接入點中選擇至少一個接入點的過程是在所述本地管理軟體應用的控制下進行的。 The communication architecture of claim 1, wherein the process of the local terminal device selecting at least one access point from the plurality of local access points is performed under the control of the local management software application. of. 一種支援通信軟體應用的通信架構,所述通信軟體應用支援資料通信,所述通信架構包括:多個網路節點,其包括第一接入點、第二接入點、執行所述通信軟體應用的第一終端節點,和第二終端節點;所述多個網路節點用於為所述第一終端節點提供多條通信路徑;所述第一終端節點執行管理應用,根據所述通信軟體應用的條件,與所述多個網路節點中另外至少一個節點協作,從所述多條通信路徑中選出經由所述第一接入點的第一通信路徑,來承載所述資料通信的第一部分;還選出經由所述第二接入點的第二通信路徑,來承載所述資料通信的第二部分;所述管理應用進一步與所述多個網路節點中所述另外至少一個網路節點協作,從所述多條通信路徑中選擇第三通信路徑,以替代所述多條通信路徑中的所述第一通信路徑傳送資料,所述第一接入點無縫切換至所述第三接入點。 A communication architecture supporting a communication software application, the communication software application supporting data communication, the communication architecture comprising: a plurality of network nodes including a first access point, a second access point, and executing the communication software application a first terminal node, and a second terminal node; the plurality of network nodes are configured to provide a plurality of communication paths for the first terminal node; the first terminal node performs a management application, according to the communication software application And cooperating with at least one of the plurality of network nodes to select a first communication path from the first access point from the plurality of communication paths to carry the first portion of the data communication Also selecting a second communication path via the second access point to carry a second portion of the data communication; the management application further with the at least one other network node of the plurality of network nodes Cooperating, selecting a third communication path from the plurality of communication paths to transmit data in place of the first one of the plurality of communication paths, the first access point being seamless Shifting to the third access point. 如申請專利範圍第5項所述的通信架構,其中,所述管理應用從記憶體中獲取所述通信軟體應用的所述條件。 The communication architecture of claim 5, wherein the management application acquires the condition of the communication software application from a memory. 一種通信架構,包括:多個通信軟體應用,其中的每一個都支援分組通信,這些通信軟體應用具有對應的多個通信條件;路徑管理應用;多個網路節點,其包括第一接入點、第二接入點和第一終端節點;所述第一終端節點執行所述路徑管理應用以及所述多個通信軟體應用;所述多個網路節點用於為所述第一終端節點提供多條通信路徑;所述第一終端節點,至少部分地根據所述對應的多個通信條件,從所述多條通信路徑中選出第一通信路徑和第二通信路徑,來支援所述多個通信軟體應用。 A communication architecture comprising: a plurality of communication software applications, each of which supports packet communication, the communication software application having a corresponding plurality of communication conditions; a path management application; and a plurality of network nodes including the first access point a second access point and a first terminal node; the first terminal node performs the path management application and the plurality of communication software applications; the plurality of network nodes are configured to provide the first terminal node a plurality of communication paths; the first terminal node selects the first communication path and the second communication path from the plurality of communication paths based at least in part on the corresponding plurality of communication conditions to support the plurality of Communication software application. 如申請專利範圍第7項所述的通信架構,其中,所述路徑管理應用從所述多個通信軟體應用獲取所述多個通信條件。 The communication architecture of claim 7, wherein the path management application acquires the plurality of communication conditions from the plurality of communication software applications.
TW95139996A 2005-11-14 2006-10-30 Network nodes cooperatively routing traffic flow amongst wired and wireless networks TWI425790B (en)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US73688905P 2005-11-14 2005-11-14
US11/349,292 US8274970B2 (en) 2005-11-14 2006-02-07 Voice communication device with PSTN and internet pathway analysis, selection and handoff
US11/348,632 US8483100B2 (en) 2005-11-14 2006-02-07 Communication device supporting both internet and public switched telephone network telephony
US11/365,102 US7626994B2 (en) 2005-11-14 2006-03-01 Multiple node applications cooperatively managing a plurality of packet switched network pathways
US11/394,253 US20070110035A1 (en) 2005-11-14 2006-03-30 Network nodes cooperatively routing traffic flow amongst wired and wireless networks

Publications (2)

Publication Number Publication Date
TW200735582A TW200735582A (en) 2007-09-16
TWI425790B true TWI425790B (en) 2014-02-01

Family

ID=38076766

Family Applications (1)

Application Number Title Priority Date Filing Date
TW95139996A TWI425790B (en) 2005-11-14 2006-10-30 Network nodes cooperatively routing traffic flow amongst wired and wireless networks

Country Status (2)

Country Link
CN (1) CN101047642B (en)
TW (1) TWI425790B (en)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
ATE514277T1 (en) * 2007-12-05 2011-07-15 Sony Corp COMMUNICATION NETWORK AND OPERATING METHOD FOR A COMMUNICATION NETWORK
US10911515B2 (en) * 2012-05-24 2021-02-02 Deka Products Limited Partnership System, method, and apparatus for electronic patient care
CN103106105A (en) * 2013-02-20 2013-05-15 东莞宇龙通信科技有限公司 Network equipment task processing method and system
CN115396986B (en) * 2021-05-25 2024-06-14 极米科技股份有限公司 Method, device, equipment and storage medium for controlling data transmission by soft access point
CN113905272B (en) * 2021-09-18 2023-04-11 广东省高峰科技有限公司 Control method of set top box, electronic equipment and storage medium

Citations (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1089495A2 (en) * 1999-10-01 2001-04-04 Nortel Networks Limited Method and system for switching between two network access technologies without interrupting active network applications
US6389005B1 (en) * 1997-12-01 2002-05-14 Nortel Networks Limited Automatic backup trunking for voice over the internet
TW503639B (en) * 2000-03-02 2002-09-21 Actiontec Electronics Inc Apparatus for selectively connecting a telephone to a telephone network or the internet and method of use
US20020194385A1 (en) * 2001-06-18 2002-12-19 Swisscom Mobile Ag Method and system for mobile IP nodes in heterogeneous networks
US20030058832A1 (en) * 2001-09-27 2003-03-27 Knauerhase Robert C. Method and apparatus for enabling connectivity between arbitrary networks using a mobile device
TW529263B (en) * 2000-02-08 2003-04-21 Airslide Systems Ltd Convergence of telephone signaling, voice and data over a packet-switched network
EP1337076A1 (en) * 2000-11-24 2003-08-20 NTT DoCoMo, Inc. Relay device
US20030198218A1 (en) * 1997-03-11 2003-10-23 Verizon Services Corp. Packet data network voice call quality monitoring
US20040008645A1 (en) * 2002-05-28 2004-01-15 Nortel Networks Limited Efficient handoffs between cellular and wireless local area networks
US6704303B1 (en) * 1999-06-02 2004-03-09 Accenture Llp IP/telephony user interface for a hybrid communication system
US20040097263A1 (en) * 2002-09-20 2004-05-20 Honda Giken Kogyo Kabushiki Kaisha Wireless network system and communications method
US20040170181A1 (en) * 2003-02-27 2004-09-02 Padcom, Inc. Prioritized alternate port routing
US6804532B1 (en) * 2000-12-22 2004-10-12 Cisco Technology, Inc. System and method for re-routing communications based on wireless communication link quality
US20040221154A1 (en) * 2003-05-02 2004-11-04 Sudhir Aggarwal Mobile security architecture
EP1517575A2 (en) * 2003-09-12 2005-03-23 Broadcom Corporation Mobile terminal communicating in parallel transparently over different interfaces and networks
US20050070326A1 (en) * 2003-09-29 2005-03-31 Paul Morton System and method for servicing communications using both fixed and mobile wirless networks
US20050185621A1 (en) * 2004-02-19 2005-08-25 Raghupathy Sivakumar Systems and methods for parallel communication
EP1589781A2 (en) * 2004-04-23 2005-10-26 Microsoft Corporation Wireless networking technology selection on a computing device supporting multiple wireless technologies

Patent Citations (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030198218A1 (en) * 1997-03-11 2003-10-23 Verizon Services Corp. Packet data network voice call quality monitoring
US6389005B1 (en) * 1997-12-01 2002-05-14 Nortel Networks Limited Automatic backup trunking for voice over the internet
US6704303B1 (en) * 1999-06-02 2004-03-09 Accenture Llp IP/telephony user interface for a hybrid communication system
EP1089495A2 (en) * 1999-10-01 2001-04-04 Nortel Networks Limited Method and system for switching between two network access technologies without interrupting active network applications
TW529263B (en) * 2000-02-08 2003-04-21 Airslide Systems Ltd Convergence of telephone signaling, voice and data over a packet-switched network
TW503639B (en) * 2000-03-02 2002-09-21 Actiontec Electronics Inc Apparatus for selectively connecting a telephone to a telephone network or the internet and method of use
EP1337076A1 (en) * 2000-11-24 2003-08-20 NTT DoCoMo, Inc. Relay device
US6804532B1 (en) * 2000-12-22 2004-10-12 Cisco Technology, Inc. System and method for re-routing communications based on wireless communication link quality
US20020194385A1 (en) * 2001-06-18 2002-12-19 Swisscom Mobile Ag Method and system for mobile IP nodes in heterogeneous networks
US20030058832A1 (en) * 2001-09-27 2003-03-27 Knauerhase Robert C. Method and apparatus for enabling connectivity between arbitrary networks using a mobile device
US20040008645A1 (en) * 2002-05-28 2004-01-15 Nortel Networks Limited Efficient handoffs between cellular and wireless local area networks
US20040097263A1 (en) * 2002-09-20 2004-05-20 Honda Giken Kogyo Kabushiki Kaisha Wireless network system and communications method
US20040170181A1 (en) * 2003-02-27 2004-09-02 Padcom, Inc. Prioritized alternate port routing
US20040221154A1 (en) * 2003-05-02 2004-11-04 Sudhir Aggarwal Mobile security architecture
EP1517575A2 (en) * 2003-09-12 2005-03-23 Broadcom Corporation Mobile terminal communicating in parallel transparently over different interfaces and networks
US20050070326A1 (en) * 2003-09-29 2005-03-31 Paul Morton System and method for servicing communications using both fixed and mobile wirless networks
US20050185621A1 (en) * 2004-02-19 2005-08-25 Raghupathy Sivakumar Systems and methods for parallel communication
EP1589781A2 (en) * 2004-04-23 2005-10-26 Microsoft Corporation Wireless networking technology selection on a computing device supporting multiple wireless technologies

Also Published As

Publication number Publication date
TW200735582A (en) 2007-09-16
CN101047642A (en) 2007-10-03
CN101047642B (en) 2012-05-30

Similar Documents

Publication Publication Date Title
TWI425789B (en) Multiple node applications cooperatively managing a plurality of packet switched network pathways
EP1786151B1 (en) Network nodes cooperatively routing traffic flow amongst wired and wireless networks
EP1853004B1 (en) Access point supporting direct and indirect downstream delivery based on communication characteristics
US7715432B2 (en) Primary protocol stack having a secondary protocol stack entry point
EP3311534B1 (en) Method and apparatus for multipath media delivery
EP3547747A1 (en) Method of distributing uplink data flow between different access networks in 5g communication system and user equipment using the same
JP4404773B2 (en) Method and apparatus for managing the use of data link resources
Ramaboli et al. Bandwidth aggregation in heterogeneous wireless networks: A survey of current approaches and issues
JP3761486B2 (en) Wireless LAN system, main device and program
CN101834799B (en) Selection method of server of mobile IPTV (Internet Protocol Television), client, server and system
KR102317694B1 (en) Session-based device configuration
EP2073449B1 (en) User equipments connectivity control in multiple packet data networks
US20100177704A1 (en) Method and system for providing cross-layer quality-of-service functionality in a wireless network
WO2013097367A1 (en) Method and system for adaptation, shunting transmission and stream switching of collaborative service
WO2003071817A1 (en) System for rate control of multicast data delivery in a wireless network
US20050254420A1 (en) Method for calculating a transmission window size
EA018367B1 (en) Mobile communication system, wireless communication method, core network, mobile terminal apparatus
EP3574964B1 (en) Methods and apparatuses for providing a service having a service profile
TWI425790B (en) Network nodes cooperatively routing traffic flow amongst wired and wireless networks
JP4988813B2 (en) Communication system and communication control device
US7519024B2 (en) Resource selection in a communication network
US20070211629A1 (en) Method and system for controlling wireless LAN route, apparatus for managing wireless LAN, and wireless LAN access terminal
US20070109992A1 (en) Indirect command pathways between an end point device and a target access point via a secondary access point
JP5722171B2 (en) COMMUNICATION SYSTEM, ACCESS POINT, SERVER DEVICE, AND COMMUNICATION CONTROL METHOD
JP2003152785A (en) Contents distribution network, address notification terminal and communication controller

Legal Events

Date Code Title Description
MM4A Annulment or lapse of patent due to non-payment of fees