Multiple node applications cooperatively managing a plurality of packet switched network pathways
Abstract
End-point devices, access points and other types of network nodes each employ multi-path management software to manage communication via multiple possible paths to the Internet backbone from communication applications that run on an end-point devices. Although the multi-path management software on an end-point device may operate independently, it may also cooperate with the local communication applications and the multi-path management software located on the access points or other network nodes to select one or more pathways for the local communication applications. Alternatively, the multi-path management software of an end-point device may pass all or a portion of such management responsibility to a local communication application and/or to multi-path management software of another network node. In addition to managing the selection of one or more pathways, the multi-path management software seamlessly switches pathways as may become necessary to meet changing network conditions or bandwidth demands.

Term
No projected expiry on record.
- Priority
- Filed
- Published
- Today
10 claims: 10 independent, 0 dependent
- 1一種可支援分組交換通信的通信架構,包括:多個網路節點,用於支援多條通信路徑,其中至少一個網路節點包括終端節點,至少另一個網路節點包括支援節點;所述終端節點執行第一多路徑管理應用,以支援第一通信軟體應用;所述支援節點執行第二多路徑管理應用;及所述第一多路徑管理應用和所述第二多路徑管理應用協同完成所述多條通信路徑之間的無縫切換,以支援所述第一通信軟體應用。
- 2如申請專利第1項所述的通信架構,其中,所述第一通信軟體應用也配合支援所述無縫切換。
- 3如申請專利第1項所述的通信架構,其中,所述第一多路徑管理應用控制所述無縫切換的進行。
- 4如申請專利第1項所述的通信架構,其中,所述第二多路徑管理應用控制所述無縫切換的進行。
- 5一種通信架構,可按照通信軟體應用的要求,通過分組交換網路與目的設備進行通信交換,該通信架構包括:第一接入點設備,其與所述分組交換網相連;第二接入點設備,其與所述分組交換網相連;終端設備,其使用第一網路標識通過第一接入點設備與所述分組交換網相連,幷使用第二網路標識通過第二接入點設備與所述分組交換網相連;設備驅動器,其包括多路徑驅動器部分、第一子驅動器部分和第二子驅動器部分;第一通信路徑,起始於所述多路徑驅動器,經由所述第一子驅動器、第一接入點設備和分組交換網到達所述目的設備;第二通信路徑,起始於所述多路徑驅動器,經由所述第二子驅動器、第二接入點設備和分組交換網到達所述目的設備;所述設備驅動器的多路徑驅動器在所述第一通信路徑和所述第二通信路徑之間進行無縫切換。
- 6如申請專利第5項所述的通信架構,其中,所述終端設備包括與所述第一和第二子驅動器兩者交互的多網路介面電路。
- 7一種分組交換網中的計算設備,該分組交換網包括多個接入點,該計算設備包括:多個通信介面,其中每一個通信介面都具有從所述多個接入點中對應的一個接入點處接收到的至少一個唯一的網路位址;第一低層模組,用於連接所述多個通信介面中的第一通信介面;第二低層模組,用於連接所述多個通信介面中的第二通信介面;高層協定管理器,其選擇所述第一通信介面和所述第一低層模組進行資料交換;為支援所述資料交換,所述高層協定管理器回應通信因素,從所述第一通信介面和第一低層模組無縫切換至所述第二通信介面和第二低層模組。
- 8如申請專利第7項所述的計算設備,其中,進一步包括與所述高層協定管理器相連的通信應用;所述高層協定管理器在選擇所述第一通信介面和第一低層模組前與所述通信應用交互。
- 9一種通信電路,包括:記憶體,用於存儲至少一部分通信應用程式以及至少一部分設備驅動程式,所述設備驅動程式包括多個單路徑子驅動程式;處理電路,其與所述記憶體相連;多個通信介面,所述處理電路執行所述設備驅動程式中的所述多個單路徑子驅動程式,將這些單路徑子驅動程式對應的每個通信介面連接到所述處理電路;所述處理電路確定對應於所述通信應用和每個通信介面的多個通信特徵,根據這些通信特徵,從所述多個通信介面中選擇第一通信介面,從所述多個單路徑子驅動程式中選擇對應的第一單路徑子驅動程式,以進行通信交換。
- 10如申請專利第9項所述的通信電路,其中,所述處理電路使用從所述多個通信介面中選擇的第二通信介面和從所述多個單路徑子驅動器中選擇的第二單路徑子驅動器,無縫地繼續進行所述通信交換。
Independent claims10
136 paragraphs, as filed
Communication architecture supporting packet switching communication and its computing equipment and communication circuit
The present invention relates to the simultaneous management of multiple paths connected to multiple types of communication networks, and more specifically, to the management of multiple Internet paths that can reach terminal devices, and these Internet paths carry one or more communication applications.
Computers, video game consoles, telephones, PDAs (personal digital assistants), and many other types of terminals can all be connected to communication data networks. Usually, the communication data network assigns a unique network address to each terminal. These terminals use this unique network address to send and receive data on the communication data network. The communication data network can be, for example, an EDGE (Enhanced Data Rate for GSM Evolution) network, a GSM (Global System for Mobile Communications) network, a CDMA (Code Division Multiple Access), an IEEE (Institute of Electrical and Electronics Engineers) 802.11 network , Bluetooth, WiMax network, Internet, corporate intranet, satellite network, etc. The data usually exchanged between these terminals and the communication data network includes media data, such as text, audio, video, and image data; it also includes control signals exchanged with a destination device such as a server or another terminal. The collection and exchange of media data can be carried out in real time, and can also be obtained from the memory for long-term storage of data.
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, which are used to connect to a WiMax network and an Ethernet LAN (local area network) respectively. For a specific software application running on the terminal, or for all applications running in a period of time, the terminal will choose a path between WiMax and Ethernet to send and receive data. The terminal needs to determine in advance the communication data network with which it will exchange data. Before starting data exchange, the user of the terminal uses the software application running on the terminal to configure and select an available communication data network from multiple available communication data networks, such as WiMax network or Ethernet LAN , For subsequent data exchange.
Due to many well-known reasons, the selected communication data network often exhibits unacceptable service performance or cannot provide services during the data exchange process. For example, the terminal is usually connected to the access point of the selected communication data network through a wired or wireless link. The problem of service interruption is usually caused by the following problems in the communication path from the terminal through this access point: 1) the terminal moves out of the wireless service area; 2) the cable is disconnected; 3) is interfered by other terminals; 4 ) The access point or terminal software and hardware technology is faulty. Once unacceptable service performance is encountered during the data exchange, 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 choose another communication data network. This selection process often requires configuration of the newly selected communication data network. When a communication data network is interrupted, the process of configuring and switching to another communication network will often cause significant delays and sometimes cause data loss.
Compared with the system to be introduced in the present invention, the limitations and disadvantages of common and traditional methods will be clearer to those skilled in the art.
A device that can interact with a variety of communication data networks, and then selectively control data packet exchange with a variety of communication data networks, is described in at least one of the following drawings, and is complete in the claims instruction of.
The present invention provides a communication architecture that can support packet-switched communication, including: multiple network nodes for supporting multiple communication paths, wherein at least one network node includes a terminal node, and at least another network node includes a support node; The terminal node executes a first multi-path management application to support a first communication software application; the support node executes a second multi-path management application; and the first multi-path management application and the second multi-path management application The seamless switching between the multiple communication paths is coordinated to support the first communication software application.
Preferably, the first communication software application also cooperates to support the seamless switching.
Preferably, the first multi-path management application controls the seamless switching.
Preferably, the second multi-path management application controls the seamless switching.
Preferably, the first communication software application has a communication requirement, and the first multi-path management application considers the communication condition before performing the seamless handover.
The present invention provides a communication architecture that can perform communication exchange with a destination device through a packet switching network according to the requirements of communication software applications. The communication architecture includes: a first access point device connected to the packet switching network; and a second Access electrical equipment, connected to the packet-switched network; terminal equipment, use a first network identifier to connect to the packet-switched network through a first access point device; and use a second network identifier to connect to the packet-switched network through a second access point The device is connected to the packet switching network; the device driver includes a multi-path driver part, a first sub-drive part, and a second sub-drive part; the first communication path starts from the multi-path driver part and passes through the first The sub-driver part, the first access point device and the packet-switched network reach the destination device; the second communication path starts from the multi-path driver part and passes through the second sub-driver part, the The second access point device and the packet switching network reach the destination device; the multi-path driver part of the device driver performs seamless switching between the first communication path and the second communication path.
Preferably, the terminal device includes a multi-network interface circuit which simultaneously interacts with the first and second sub-driver parts.
Preferably, the communication software application requires at least one communication characteristic, the at least one communication characteristic being identified by the multipath driver part of the device driver.
Preferably, the multi-path driver part of the device driver performs the seamless switching according to the at least one communication characteristic.
Preferably, the seamless switching is executed without notifying the communication software application.
Preferably, the seamless switching is performed according to preset factors.
Preferably, the communication software application is notified when the seamless switching is executed.
Preferably, the notification process requires confirmation of whether to perform the seamless handover.
The present invention provides a computing device in a packet-switched network. The packet-switched network includes a plurality of access points. The computing device includes: a plurality of communication interfaces, wherein each communication interface At least one unique network address received at a corresponding access point; a first low-level module, used to connect to the first communication interface of the plurality of communication interfaces; a second low-level module, used to connect A second communication interface among the plurality of communication interfaces; a high-level protocol manager for selecting the first communication interface and the first low-level module for data exchange; to support the data exchange, the high-level The protocol manager responds to communication factors and seamlessly switches from the first communication interface and the first low-level module to the second communication interface and the second low-level module.
Preferably, the computing device further includes a communication application connected to the high-level protocol manager; the high-level protocol manager interacts with the communication application before selecting the first communication interface and the first low-level module .
Preferably, the high-level protocol manager cooperates with at least one access point of the plurality of access points to select the first communication interface and the first low-level module.
Preferably, the communication factors include the minimum data rate required for data exchange.
Preferably, after interacting with the communication application, the high-level agreement manager receives the communication factor from the communication application.
Preferably, the communication factor changes with time, and the high-level agreement manager periodically checks the communication factor.
The present invention provides a communication circuit, comprising: a memory for storing at least a part of a communication application program and at least a part of a device driver, the device driver including a plurality of single-path sub-driver parts; a processing circuit, and the memory Multiple communication interfaces, the processing circuit executes multiple single-path sub-driver parts in the device driver, and each communication interface corresponding to these single-path sub-drivers is connected to the processing circuit; the The processing circuit determines a plurality of communication characteristics corresponding to the communication application and each communication interface, selects the first communication interface from the plurality of communication interfaces according to these communication characteristics, and selects the first communication interface from the plurality of single-path sub-drivers Select the corresponding first single-path sub-driver for communication exchange.
Preferably, the processing circuit uses a second communication interface selected from the plurality of communication interfaces and a second single-path sub-driver selected from the plurality of single-path sub-drivers to seamlessly continue the process.Narratecommunication exchange.
Preferably, the processing circuit monitors the plurality of communication characteristics.
Preferably, the processing circuit responds to the communication application and makes a corresponding selection.
Preferably, the processing circuit responds to a control signal received through at least one of the plurality of communication interfaces, and makes a corresponding selection.
The characteristics and advantages of the present invention will be more obvious through the following description of specific implementations in conjunction with the accompanying drawings.
Figure 1 is a schematic diagram of multiple devices 151, 153, 155, 157, and 159 interacting with the Internet backbone 103 through multiple access points 131, 133, 135, and 137, where each device 151, 153, 155, 157 and 159 interact with more than one access point. The first personal computer 151, the telephone 153, the television 155, the second personal computer 157, and the headset 159 interact with the Internet backbone network 103. The first service provider equipment 111, the second service provider equipment 113, the third service provider equipment 115, and the fourth service provider equipment 117 are connected to the Internet backbone network 103. Each of the multiple service provider devices 111, 113, 115, and 117 can be one of computing devices, routers, switches, base stations, antennas, transceivers, function variable name servers, proxy servers, and storage servers. Taiwan or a combination of several. Each of the plurality of service provider devices 111, 113, 115, and 117 is connected to the Internet backbone network 103 through wired (including optical fiber) and/or wireless links.
The first service provider device 111 manages the wired data network 121. The wired data network 121 may be one of a PSTN network, an optical fiber 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, a set-top box) 135 are connected to the wired data network 121. The second service provider device 113 manages the terrestrial wireless data network 123. The terrestrial wireless data network 123 may be a television broadcasting network, including, for example, UHF (ultra high frequency) or VHF (very high frequency) transmission. The set-top box 135 is connected to the ground 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 may be, for example, an EDGE network, a WCDMA (Wideband Frequency Division Multiple Access) network, an IEEE802.11 network, a WiMax network, or a UMTS (Universal Mobile Telecommunications System) network. The set-top box 135 can also be used to communicate with the 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 (usually two or more) transceivers for receiving and sending data. The first access point 131 receives 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 data from the wired data network 121, and sends the received data to the first personal computer 151. These data can include control information, support data, and a variety of multimedia data such as text messages, audio, video, pictures, emails, TV content, music videos, or documents, and can be combined with another network device such as an Internet server, broadcast equipment, or The other terminal exchanges.
The first personal computer 151 is connected to the first access point 131 through a wired interface, and at the same time, 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 via the first access point 131 or the second access point 133. The first access point 131 allocates a first IP address to the first personal computer 151, and the second access point allocates a second IP address to the first personal computer 151. The telephone 153 is connected to the second AP 133 through two wireless links. The TV 155 is connected to the second AP 133 through a wireless link. The second personal computer 157 is connected to the second AP 133 through a wired link. The second AP 133 is connected to the wired data network 121 through two wired links, the first wired link and the second wired link.
As shown in the figure, 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 AP131 and 133. The telephone 153 has two uplink paths that both pass through the AP 133, and the television 155 and the personal computer 157 each have three. In order to manage communications through these available uplink paths, each of the terminals 151-157 uses a multi-path management function, which is implemented by using a combination of common and/or dedicated hardware and related software. Similarly, both the access point 133 and the set-top box 135 have two or more uplink communication paths and two or more downlink communication paths, and other terminals, servers, and other network devices can be reached through these communication paths. In order to manage the communication through these multiple available uplink and downlink paths, the access point 133 and the set-top box 135 also use the multi-path management function, which is a combination of 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.
As described in this article, "upstream path" and "downstream path" do not necessarily refer to the actual direction of the data flow. Instead, the "uplink path" refers to the path originating from the current device connected to the Internet backbone network 103, and the "downlink path" refers to the path from the current device to the terminal device. Therefore, for example, the access point 133 has two uplink paths (both related to the personal computer 151), and three downlink paths (only one related to the personal computer 151).
In particular, each network device with multiple uplink paths and/or multiple downlink paths will execute a multi-path management software application. Therefore, there may be one or more multi-path management applications running on the available path between two terminal devices. However, multi-path management applications 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 equipment exchanges. Similarly, some paths can support multiple terminal equipment exchanges at the same time.
If there are multiple multipath applications in the entire path between two terminal devices, each multipath application will work according to the local settings. For example, depending on the network configuration and local settings, regardless of whether it has support from any upstream multipath application, each multipath management application will independently manage its upstream path instead of the downstream path. Alternatively, according to the settings made, part or all of the entire management process can be handed over to a multi-path application, while other multi-path applications enter a dormant state or provide support. Similarly, the management of data exchange between two terminal devices can also be shared by some or all multi-path management applications.
Path selection can occur, for example: 1) the terminal device is turned on; 2) the path characteristics change; 3) the path changes or becomes available; 4) changes as required; 5) periodically or continuously. The selection process can occur in all communications related to, for example, the following: a) terminal equipment; b) specific communication software applications; c) specific media types; and/or d) a request based on a request (on a request) by request basis).
For example, the first personal computer 151 (or a user who uses the first personal computer 151) wants to send (upstream) data to a destination terminal connected to the Internet backbone network 103. The first personal computer 151 establishes an association with the first access point 131 through a first IP address, and establishes an association with the second access point 133 through a second IP address. The multi-path management application running on the first personal computer 151 evaluates and selects one or two available uplink paths at the same time for one or ongoing communication exchange. Alternatively, if such a configuration is made, the multipath management application running on the first personal computer 151 can 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 executed by the first service provider device 111 responds, evaluates the received information and results, and controls the first personal computer 151 to use the second IP address and wireless interface to communicate with the wired data network 121 based on the evaluation results .
For the telephone 153, the multi-path management software running on it, and the access point 133 and the first service provider device 111 can each independently complete similar tasks, or jointly participate in the selection process. For example, the second access point 133 exchanges data with the phone 153 through the link selected by the multipath management software running on the phone 153, and the second access point 133 follows the multipath running on the first service provider device 111. The command of the management software exchanges data with the first service provider device 111. There may also be other situations, such as choosing different paths according to the data flow. For example, the path from the first terminal device to the second terminal device may be involved compared with 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 do its own independent assessment 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 can only do its own independent evaluation and select one or more links to the first terminal device.
In undertaking this task, the multipath management application evaluates the multiple characteristics of each available uplink and downlink. According to these characteristics, the multi-path management application generates a connection rate for each link, which includes one or more factors. By comparing one or more factors in the first and second connection rates, the multi-path management application can determine which link in the path should be used.
The multiple features mentioned above can include maximum and current bandwidth, load level, transmission queue, competition requirements, data type, interference, bit error rate, security, link cost, etc. Specifically, some of the features in the first and second groups do not change over time, while others will change over time. For example, those characteristics that change over time may change due to changes in factors such as bandwidth, path routing, network load, QoS (Quality of Service), transmission power requirements, bit error rate, and roaming. Those characteristics that do not change over time include, for example, link cost, maximum bandwidth, QoS guarantee, anti-eavesdropping performance of the second wired link, circuit comparison (vs.) packet switching characteristics, and so on.
After the first assessment and selection of the link between AP 133 and telephone 153, the multi-path management application running on AP 133 will perform at regular intervals, or when new requests for the link are made, and related When the factors change so that certain pre-set thresholds are exceeded, the decision made is re-evaluated. If a more suitable configuration is found, the multi-path management application will switch the current path. This situation may occur, for example, when the TV 155 opens a second window to display the second video data, so that the amount of required data increases; or another data exchange ends, and 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 be uploaded. Using the currently active link to transmit these data will immediately increase the burden of the link, exceeding the acceptable bandwidth of the link for another application. In response, multi-path management applications will reroute such other applications, or part or all of the burden of transferring such large amounts of data.
Multi-path management applications seamlessly switch data transmission between one link and another link. This process may or may not notify 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 transmit the data generated by the first personal computer 151 to the wired data network 121. The TV 155 and the second PC 157 may not know the path switching performed by the multi-path management application. The process of switching the data transmission from the second wired link to the first wired link will not affect the transmission of the data generated by the TV 155 and/or the second PC 157 by the second AP 133.
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 allocates a fourth IP address to the second PC 157. The fourth AP137 assigns a fifth IP address to the second PC157. The second PC 157 communicates with the wired data network 121 through the second AP 133, using a third IP address and a wired interface. The second PC 157 uses the fourth IP address and the first wireless interface to communicate with the set-top box 135. The second PC 157 uses the fifth IP address and the second wireless interface to communicate with the fourth AP 137. A second multi-path management program runs on the second PC 157. The second multipath management program is a set of three communication associations (communication association), the first communication association is associated with the second AP133, the second communication association is associated with the set-top box 135, and the third communication association is associated with the fourth AP137. The second multi-path management software regularly collects the characteristics or parameters related to the three communication associations. The second multi-path management program can collect the multiple parameters when the three communication associations change. These parameters can include the IP address in each association, the data flow carried by each association, the bandwidth provided by each association, the encryption and encoding methods supported by each association, the power requirements of each association, and the data flow of each association. The type, the delay introduced by each association, and the level of interference in each association are related to the data flow carried by each association. The second multi-path management program stores the collected parameters in the memory of the second PC 157. In the second embodiment, the second multi-path management program uses a new set of collected parameters to update the existing parameters, and then no longer uses the old set of parameters. In the second embodiment, the multi-path management program stores the multiple parameters of the old set until the multiple parameters of the new set are collected.
The second PC 157 or the user who uses the second PC 157 wishes to send data to a 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 multi-path management program obtains multiple parameters related to the three communication associations. The second multi-path 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, such as the bandwidth provided by each association, the encryption and encoding methods supported by each association, and each The delay introduced by each association and the interference level of each association. These parameters can be obtained from the memory of the second PC157. 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 the IP address corresponding to each communication association, can be obtained from the wired interface, the first wireless interface, and the second wireless interface of the second PC 157. The multipath management program uses the acquired parameters to select one of the three interfaces-wired interface, first wireless interface and second wireless interface, and then controls the second PC157 to use the selected interface and the corresponding IP address to connect to the Internet The backbone network 103 sends (that is, upstream) data. The selection process of the multipath management program provides the best possible service for the data uplink process. For example, the multi-path management program selects the second wireless interface. The second PC 157 uses the fifth IP address allocated by the fourth access point 137 to send data to the fourth access point 137. The fourth access point 137 receives these data, and uses the wireless data network 127 to send the data to the destination device.
During the process of sending and receiving data from/to the fourth access point 137 by the second PC 157, 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 will control the second PC 157 to use one of the remaining two interfaces, which are the wired interface and the first wireless interface. The software application chooses an interface that provides better service. The selection process of choosing one of the remaining two interfaces requires multiple parameters to be obtained. For example, software applications can choose a wired interface. Subsequently, the second PC 157 uses the wired interface and the third IP address to send the data. The interface change from the second wireless interface to the wired interface will proceed seamlessly, so that any data sent by the second PC 157 will not be lost. Subsequently, the data sent by the second PC 157 arrives at the second AP 133. The second AP 133 is connected to the wired data network 121 through two links. The multi-path management application running on the second AP 133 selects one of the two links connected to the wired data network 121 for sending the data received from the second PC 157 to the wired data network 121. The second AP 133 uses the selected link to send the data received from the second PC 157 to the wired data network. The data sent 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.
In another embodiment, the second multi-path management program running on the second PC 157 periodically obtains multiple parameters related to all three communication associations. The multi-path management program can select a threshold, and when the quality of any one of the three communication associations is lower than the threshold, the corresponding communication associations are isolated. In this exemplary solution, the second PC 157 uses the wireless link between the fourth access point 137 and the second wireless interface of the second PC 157 to send data. When the quality of the wireless link drops below the threshold, the multi-path application will prompt the second PC 157 to switch to the wired interface and use the third IP address to send data. Therefore, the switch from the second wireless interface to the wired interface occurs before the link is disconnected. The multi-path application ensures that no data (that is, the data sent by the second PC 157) will be lost due to switching.
2 is a schematic diagram of the multiple components of the access point 133 shown in FIG. 1 of the present invention. The access point 133 supports multiple data paths from itself to the Internet backbone network 103. The set-top box 135 in FIG. 1 also supports more than one data communication path to the Internet backbone network 103. A number of components are shown in FIG. 2, and these components are common to the multi-path access point 133 and the multi-path set-top box 135 in FIG. 1. The multi-path AP or multi-path STB (Set Top Box) 200 includes a processing circuit 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 multi-path 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 responds to the input information accordingly. 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 so on. The multiple 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 includes 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 uplink interface (wired uplink and wireless uplink interface) of the multi-path AP (or multi-path STB) 200 supports data communication between the multi-path AP (or multi-path STB) 200 and one or more data networks, and its downlink interface (Wired Downlink and Wireless Downlink Interface) Support data communication between multi-path AP (or multi-path STB) 200 and one or more client devices. The user-end device is the terminal and/or device that generates the data. Typical client devices include personal computers, telephones, PDAs, video game consoles, televisions, or various terminals that can generate data in the first format (for example, divide the data into packets) that can be transmitted over a packet-switched network. These data can be audio, video, pictures, emails, web pages, music videos, files stored on the Internet and/or intranet servers, text messages, TV programs, and any type of multimedia information. Typical data networks include optical fiber data networks, cable data networks, public switched telephone networks, GSM networks, CDMA networks, EDGE networks, IEEE802.11 networks, WiMax networks, satellite data networks, or any kind of Standard and dedicated packet switching network.
For example, but not limited to, the multi-path AP (or multi-path STB) 200 uses the first uplink wired interface 222 to communicate with the optical fiber data network, uses the second uplink wired interface 223 to communicate with the wired data network, and uses the first uplink wireless interface 232 to communicate with EDGE For network communication, use the second uplink interface 233 to communicate with the WiMax network. Optical fiber data network, cable data network, EDGE network and WiMax network use different protocols to send and receive packet data. Each wired and wireless uplink 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 multi-path AP (or multi-path STB) 200 first associates itself with an optical 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 the first IP address for the multipath AP (or multipath STB) 200, and the wired data network allocates the second IP address for the multipath AP (or multipath STB) 200, and the EDGE network The multi-path AP (or multi-path STB) 200 is assigned a third IP address, and the WiMax network is assigned a fourth IP address to the multi-path AP (or multi-path STB) 200. The multipath AP (or multipath STB) 200 uses the first IP address to communicate with the optical fiber data network through the first uplink wired interface 222. Similarly, the multipath AP (or multipath STB) 200 uses the second uplink wired interface 223. The second IP address communicates with the wired data network, the third IP address is used to communicate with the EDGE network through the first uplink wireless interface 232, and the fourth IP address is communicated with the WiMax network through the second uplink interface 233.
In this non-limiting embodiment, the multipath AP (or multipath STB) 200 uses the first wired downlink interface 224 to communicate with the personal computer, the second wired downlink interface 225 to communicate with the headset, and the first wireless downlink interface 234 to communicate with the phone. For communication, the second wireless downlink interface 235 is used to communicate with the TV. The multi-path AP (or multi-path STB) 200 is connected to different types of packet data networks (that is, optical fiber data network, wired data network, EDGE network, and WiMax network) in this exemplary embodiment. The type of packet data network connected to the multi-path AP (or multi-path STB) 200 is invisible to personal computers, headsets, telephones, and televisions (that is, client devices). When these client devices broadcast the association request, the MMS214 of the multi-path AP (or multi-path STB) 200 assigns the fifth IP address, the sixth IP address, and the seventh IP address to the personal computer, headset, phone, and television, respectively. Eighth IP address. The MMS214 of the multipath AP (or multipath STB) 200 controls the personal computer to use the fifth IP address to send the first format data to the multipath AP (or multipath STB) 200. The multipath AP (or multipath STB) 200 receives data in the first format from the personal computer through the first wired downlink interface 224.
The multipath AP (or multipath STB) 200 is connected to the Internet backbone network 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. MMS214 evaluates the first metric value corresponding to the first wired uplink interface 222, the second metric value corresponding to the second wired uplink interface 232, the third metric value corresponding to the first wireless uplink interface 232, and the The fourth metric value of the second wireless uplink interface 233. The value of the first metric value at a certain moment is related to multiple parameters. These parameters can be the maximum bandwidth supported by the first wired uplink interface 222, waiting to be uploaded from the user-end equipment (that is, personal computers, headsets, telephones, and TV sets) to the Internet backbone through the multi-path AP (or multi-path STB) 200 The data load of the Internet, the size of the data transmitted through the first wired interface 222 at this moment, the type of data load waiting to be uploaded through the multi-path AP (or multi-path STB) 200 (that is, the uploaded data load is a text message, video Files, real-time data or non-real-time data, etc.), and the power requirements of the first wired uplink interface 222. The first metric value changes over time. The MMS214 evaluates the first metric value at fixed time intervals. The second, third, and fourth metric values corresponding to the second wired uplink interface 223, the first wireless uplink interface 232, and the second wireless uplink interface 233, respectively, also change with time. The MMS214 also evaluates the second metric value, the third metric value, and the fourth metric value at fixed time intervals. The MMS214 can evaluate the first metric value, the second metric value, the third metric value, and the fourth metric value when receiving a data upload request sent by any user-end device (personal computer, headset, telephone, or television). The MMS 214 can 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 storage system 204 of the multi-path AP (or multi-path 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 can collect and measure values (first metric value, second metric value) from multiple wired interfaces 220, multiple wireless interfaces 230, operating system 210, storage system 204, and client devices (computers, headsets, phones, and televisions) Value, the third metric value, and the fourth metric value). In this exemplary embodiment, the device sub-driver 216 of the multi-path AP (or multi-path STB) 200 scans to determine whether the first wired downlink interface 224 has data from the personal computer. The device sub-driver 216 notifies the MMS 214 that there is data. Subsequently, the MMS 214 of the multi-path AP (or multi-path STB) 200 evaluates these four metric values. MMS evaluates these four metric values to find a better data communication link, which corresponds to a higher metric value. In this non-limiting embodiment, among the four metric values, the second metric value may have the highest value. The second metric value corresponds to the second wired uplink interface 223 of the multipath AP (or multipath STB) 200. The MMS214 control device sub-driver 216 of the multipath AP (or multipath STB) 200 routes the data received from the personal computer to the second wired uplink interface 223 of the multipath AP (or multipath STB) 200. The device sub-driver 216 is a set of software programs that can interact with the hardware of the first wired downstream interface 224 and the second upstream wired interface 223. The device sub-driver 216 forwards the available data of the first wired downstream interface 224 (that is, from the personal computer) to the second upstream wired interface 223. The second uplink wired interface 223 uses the second IP address to send these data to the wired data network. These data finally reach the Internet backbone network through the wired data network.
The personal computer does not know the type of data network and/or the interface of the multi-path AP (or multi-path STB) 200 used to transmit the data received from the personal computer by the multi-path AP (or multi-path STB) 200. The personal computer sends the data to the multi-path AP (or multi-path STB) 200 according to the first format specified by the multi-path AP (or multi-path STB) 200. In this exemplary embodiment, the MMS 214 of the multi-path AP (or multi-path STB) 200 chooses to use the second uplink wired interface 223. The data in the first format received from the personal computer may need to be converted to the second format supported by the wired data network. The MMS214 triggers the device sub-driver 216 to route the available data of the first wired downstream interface 224 (that is, from the personal computer) to the transcoder. The transcoder is part of the processing circuit 202 of the multi-path AP (or multi-path STB) 200. The transcoder converts the data in the first format into the second format. The MMS214 then triggers the device sub-driver 216 to route the data in the second format from the transcoder to the second uplink wired interface 223. The second uplink wired interface 223 uses the second IP address to send the data in the second format to the wired data network. The second uplink wired interface 223 includes a wireless transmitting module.
MMS obtains these parameters and periodically evaluates these four metrics. The user can use the user input interface 218 to set the time interval between two consecutive metric value evaluation operations through the MMS214. The user input interface 218 receives the user-defined time interval value and sends it to the MMS214. The MMS214 stores the time interval value in the storage system 204, and evaluates the four metric values once in each time interval defined by the user. If at a certain moment, the third metric value exceeds the second metric value, the MMS214 will trigger the device sub-driver 216 to route the data received from the personal computer to the first wireless uplink interface 232, because the third metric value corresponds to In the first wireless uplink interface 232. The device sub-driver 216 forwards the available data of the first wired downlink interface 224 (that is, the data from the personal computer) to the first wireless uplink interface 232. The first wireless uplink interface 232 uses the third IP address to send these data to the EDGE network. These data finally reach the Internet backbone network through the EDGE network. The data transmitted through the path from the first wired downstream interface 224 to the second wired upstream interface 223 will be transmitted through the path from the first wired downstream interface 224 to the first wireless upstream interface 232 after the MMS 214 is switched. MMS214 controls the switching of data routing and ensures that no data (or data packet) is lost during the switching process.
3 is a schematic diagram of multiple components of the client device 155 or 157 shown in FIG. 1 of the present invention. The client device supports multiple access points 133, 135, and 137 from its own 155 or 157 to the multiple access points 133, 135, and 137 in FIG. Data paths. 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 (that is, data packets). The operating system 308 is a set of software running on the multi-path client device 300. The communication application software 310 or 311 runs on the multi-path client device 300. The multi-path uplink management software (MMS) 314 also runs on the multi-path client device 300. The device sub-driver 316 also runs on the multi-path client device 300.
The multipath client device 300 itself is associated with all available packet switching networks. All these packet-switched networks are connected to the Internet backbone network. 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 multipath client device 300 associates itself with the first access point of the wired data network through the first wired uplink interface 342. The association with the first access point of the wired data network includes assigning an IP address to 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, the multipath client device 300 is associated with the second access point of the optical fiber data network through the second wired uplink interface 343 and the second IP address. The multi-path client device 300 is also associated with a third access point belonging to the satellite data network through the first wireless uplink interface 344 and the third IP address. The multipath client device 300 is also associated with the fourth access point of the UMTS data network through the second wireless uplink interface 345 and the fourth IP address. The second IP address, the third IP address, and the fourth IP address 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, respectively. The points (that is, the UMTS network) are allocated to the multi-path client device 300.
The user input interface 330 of the multi-path client device 300 may be multiple 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 may 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 usually a mouse and a keyboard. If the multi-path client device 300 is a telephone, the user input interface 330 is usually a screen and multiple buttons. If the multi-path client device 300 is a video game machine, the user input interface 330 is usually a thumb wheel and a joystick. The multi-path client device 300 can send data to the Internet backbone network. In this non-limiting embodiment, the multi-path client device 300 is a telephone. The telephone 300 receives the selection of the video through a plurality of buttons 330 (user input interface). Without limitation, the selected video is a music video, and the music video is stored on an Internet server connected to the Internet backbone network. The telephone 300 is associated with four access points (connected to four access points), the first access point belongs to the wired data network, the second access point belongs to the optical data network, and the third access point belongs to the satellite data Network, the fourth access point belongs to the UMTS network. All four access points are connected to the Internet backbone network. The telephone 300 now needs to send a request to the Internet backbone network through any of the four access points to request the selected music video.
The MMS314 running on the phone 300 responds to the video selection and collects multiple communication condition information (CRI) corresponding to the four paths. These four paths exist respectively in the four access points and the four interfaces of the corresponding phone 300 (342 , 343, 344 and 345). The CRI corresponding to each of the four paths may include the maximum bandwidth supported by the corresponding path, the power requirement of the corresponding path, the delay in the corresponding path, the congestion condition in the corresponding path, and the cost of the corresponding path. The first CRI corresponding to the first wired uplink interface 342 usually includes the maximum bandwidth supported by the wired data network. The telephone 300 transmits and receives on the first path between the first access point and the first wired uplink interface 342 The power required for data, the acceptable delay experienced by the data packet when it flows through the first path, the level of interference on the first path, and the cost of sending and receiving data through the first path. The second CRI, the third CRI, and the fourth CR corresponding to the second wired uplink interface 343, the first wireless uplink interface 344, and the second wireless uplink interface 345, respectively, reflect statistical information related to the corresponding communication. When the communication association does not change, at least one statistical information in the CRI, usually the maximum bandwidth supported by the communication association, remains unchanged. Even if the communication association does not change, at least some statistical information of CRI, usually the delay and interference level in the path, will change over time. The MMS 314 stores the collected multiple communication condition information (CRI) (that is, the first CRI, the second CRI, the third CRI, and the fourth CRI) in the storage system 304. The MMS314 regularly updates the stored CRIs by periodically collecting multiple CRIs. The MMS 314 running on the phone 300 can collect these CRIs from the four access points, the four interfaces of the phone 300, and the operating system 308 running on the phone 300.
MMS314 responds to the video selection request and collects multiple CRIs corresponding to these four paths. The response of the MMS to the video selection can be performed by obtaining multiple stored CRI values from the storage system 304. The communication application software running on the multi-path client device 300 displays the CRI collected by the MMS 314 to the user. The communication application software (310 or 311) can display these CRIs on the screen of the phone 300 (that is, the user input interface 330). The communication application software 311 can be any standard Internet browser application (IE, Firefox) running on a single-path client device. The communication application software 310 is a set of software. For example, the communication application software 311 has been modified, and a number of new features have been added to support the multi-path management process. Therefore, the link selection and seamless switching process will notify the communication application software 311. The communication application software 311 knows when these processes are executed, and more importantly, the communication application software 311 can also assist the process in the process. For example, the communication application software 311 can send current and subsequent requirements and conditions to the multipath management process directly or during the application process to assist the selection and management process. By using the software 310 or 311, according to the multiple CRIs displayed on the screen of the phone 300, four paths can be provided to the user to choose from. The communication application software (310 or 311) responds to the path selection made by the user and notifies the MMS314 of the path selection.
In this exemplary embodiment, the user selects the path corresponding to the second wired interface 343. In this exemplary embodiment, the second wired interface 343 is associated with a second access point belonging to the optical fiber data network. The MMS314 control device sub-driver 316 running on the telephone 300 switches all subsequent data transmission and reception processes with the Internet backbone network to be performed through the second wired interface 343. The sub-driver 316 is a set of software that can drive all hardware devices corresponding to the first wired upstream interface 342, the second wired upstream interface 343, the first wireless upstream interface 344, and the second wireless upstream interface 345. These hardware devices are uniquely identified by their MAC addresses. Telephone 300 selected in response to this video, you need to correspond to the selected music video, please request sent to the Internet backbone. The sub-driver 316 uses the second wired interface 343 to send the first file, which contains a request for the selected music video. The second wired interface 343 (that is, the hardware associated with the second wired interface 343) uses the second IP address to send the first piece of data to the second access point. The request for the selected music video finally reaches the Internet backbone network through the path selected by the user (that is, the path corresponding to the second wired interface 343).
In this exemplary embodiment, the Internet server storing the selected music video responds to the request and sends the selected music video to the Internet backbone network. The MMS 314 and the sub-driver 316 control the telephone 300 to receive the selected music video from the Internet backbone network through the path selected by the user. The second wired interface 343 uses the second IP address to receive the selected music video from the second access point (connected to the Internet backbone through the optical fiber data network).
The data flow in these four grouped data networks changes over time, and therefore, multiple CRIs also change over time. The MMS314 running on a telephone such as 300 collects these CRIs at fixed time intervals, and at the same time, the telephone 300 receives the selected music video through the second wired interface 343. The time interval at which the MMS314 collects these CRIs is a preset value. In this exemplary embodiment, the interference level on the second path selected by the user continues to increase over time. The MMS314 can be set to respond when the interference level on the path selected by the user exceeds an upper limit. The upper limit value can be a preset value. If at a certain moment, the interference level on the second path exceeds the upper limit, the MMS314 running on the phone 300 can search for the most recently collected CRI, from the remaining three paths (that is, through the first wired uplink). The path through the interface 342, the path through the first wireless uplink interface 344, and the path through the second wireless uplink interface 345) select an alternative path with the lowest interference. For example, but not limited to, at this moment, the path via the first wireless uplink interface 344 has the lowest interference. The MMS 314 controls the sub-driver 316 to use the first wireless uplink interface 344 instead of the second wired uplink interface 342 to send and receive data. The sub-driver 316 controls the hardware associated with the first wireless uplink interface 344 to receive the selected music video from the Internet backbone network. The first wireless uplink interface 344 is associated with a third access point belonging to the satellite data network. The hardware associated with the first wireless uplink interface 344 will send a request message to the satellite data network and the Internet server, requesting the Internet server to send the selected music video through the satellite data network. The selected music video will reach the third access point via the satellite data network. The phone 300 uses the third IP address to receive the selected music video through the first wireless uplink interface 344. The sub-driver 316 controls the hardware associated with the second wired uplink interface 343 to stop receiving the selected music video. The MMS 314 and the sub-driver 316 switch paths at this moment, that is, switch from a high-interference path to a path with the lowest interference, and no data will be lost.
The MMS314 can also be set to respond when the delay on the path selected by the user exceeds an upper limit.
In this exemplary embodiment, the MMS 314 and the sub-driver 316 route the materials through the path selected by the user. In another embodiment, whenever an application running on the phone 300 needs to receive/send data from/to the Internet backbone network, MMS314 will search for multiple CRI values collected last time, and select one of the four available paths . MMS314 can select the route according to the type of data received/sent from/to the Internet backbone network. For example, but not limited to, the application in this embodiment is a multimedia game application. This multimedia game application needs to download a large amount of data and needs real-time operation. The MMS314 running on the phone 300 responds to the multimedia game application request, searches for multiple CRI values collected last time, and selects a path that can provide the highest bandwidth from the four available paths. In this embodiment, among the four available paths, the path between the second access point and the second wired uplink interface 343 can provide the highest bandwidth. The MMS314 control device sub-driver 316 running on the phone 300 uses the second wired uplink interface 343 to perform all the data receiving and sending processes between the multimedia game application and the Internet backbone network. The data transmission between the Internet backbone network and the telephone 300 is carried out through an optical fiber data network.
In another embodiment, for example but not limited to, the application is a Voice over IP (VoIP) application. The VoIP application needs to send and receive voice data packets with the Internet backbone network. The MMS314 running on the phone 300 responds to the requirements of the VoIP application, finds the most recently collected CRI values, and selects a path that can provide the lowest delay from the four available paths. In this embodiment, among the four available paths, the path between the fourth access point and the second wireless uplink interface 345 can provide the lowest delay. The MMS314 control device sub-driver 316 running on the phone 300 uses the second wireless uplink interface 345 to perform all data receiving and sending processes between the VoIP application and the Internet backbone network. The data transmission and reception process between the telephone 300 and the Internet backbone network is performed through a WiMax network.
4 is a schematic diagram of a client device 400 running multiple softwares of the present invention. The client device 400 supports multiple data paths from itself to multiple access points. The user terminal 400 may 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 data packets to be sent and received between the Internet and the Internet. If the client device 400 is a computer, for example, but not limited to, at least one application running on the computer 400 may be an Internet browser (ie, web browsing) application, which runs on the 7th layer of the OSI/ISO protocol stack. Users usually use the web browser displayed on the 400 screen of the computer (that is, Internet Explorer, Netscape Navigator, Mozilla Firefox, etc.) interact with Internet browsing applications. The Internet browsing application running on the computer 400 responds to the user selection information entered by the user through the user input interface (usually a keyboard and mouse), triggering the communication interface of the computer 400 (that is, usually the OSI/ISO protocol stack layer 2 and / Or layer 1) send a request to the Internet, requesting the user to select the specified archived material (for example, a web page). The low-level hardware and software running on the computer 400 (that is, layer 6, layer 5, layer 4, layer 3, and layer 2 of the OSI/ISO protocol stack) encapsulate the request into the first group of multiple packets, and The communication interface of the computer 400 sends the first group to the Internet. The communication interface of the computer 400 also receives a second group of multiple packets from the Internet, which contains the requested archive data (ie, web pages). In this exemplary embodiment, the data grouping involves the first group and the second group. The low-level hardware and software running on the computer 400 (ie, layer 6, layer 5, layer 4, layer 3, and layer 2 of the OSI/ISO protocol stack) extract the received archived data from the second group of multiple packets , Forward it to the Internet browsing application (that is, layer 7 of the OSI/ISO protocol stack). The Internet browsing application displays the received archived data, that is, the requested web page, on the screen of the computer 400.
The at least one application running on the computer 400 may be an Internet phone application. Voice information is sent and received between the first user and the second user who uses the target device. Internet telephony applications also run on the destination device. The destination device is connected to the Internet. In this case, the multiple groups of the first group include the voice of the first user who uses the computer 400. The multiple groups of the second group include the voice of the second user who uses the destination device.
If the user terminal device 400 is a TV set and a set-top box, for example, but not limited to, the at least one application running on the TV set and the set-top box 400 may be a television program watching application. In this case, the multiple groups of the first group include requests for TV programs (recorded or live broadcast of multimedia information, such as news programs, football matches, music programs, etc.) sent to the Internet, and the multiple groups of the second group include all requests. The requested TV show.
The user equipment 400 includes multiple communication interfaces. The client device 400 communicates with multiple access points through multiple 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 being powered on, the client device 400 associates itself with an available access point. The access point includes a transceiver, receives data packets from the client device 400, and then sends them to the corresponding packet data network. At the same time, the access point receives data packets from the corresponding packet data network, and then sends them to the client device 400.
For example, but not limited to, at the first moment, the client device 400 is configured with the first access point belonging to the optical fiber data network, the second access point belonging to the IEEE802.11 network, and the third access point belonging to the WiMax network. Point, and the fourth access point belonging to the satellite data network. An optical fiber cable is inserted into the wired interface of the user terminal 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 the wired interface, the first wireless interface, and the second wireless interface, respectively. The first access point allocates a first IP address to the wired interface of the user equipment 400. In this way, the client device 400 can use the first IP address to communicate with the optical fiber data network through the wired interface and the first access point. The second access point allocates a second IP address to the first wireless interface of the user equipment 400. In this way, the client device 400 can use the second IP address to communicate with the IEEE 802.11 network through the first wireless interface and the second access point. The third access point allocates a third IP address to the second wireless interface of the user equipment 400. In this way, the client device 400 can use the third IP address to communicate with the WiMax network through the second wireless interface and the third access point. The multiple access points that communicate with the user equipment 400 include a first access point, a second access point, and a third access point. The multiple data paths include the first data path between the wired interface and the first access point, the second data path between the first wireless interface and the second access point, the second wireless interface and the third access point The third data path between. A number of different packet data networks include optical fiber data networks, IEEE802.11 networks, and WiMax networks.
The operating system 410 (for example, Windows XP, UNIX, Linux, etc.) running on the client device 400 interacts with communication software applications. The communication software application 416 may be a standard web browsing application (for example, IE, Netscape Navigator, Mozilla Firefox, etc.). Multi-path management software (MMS) 420 is also running on the client device 400. The MMS420 controls and monitors the communication between the client device 400 and multiple access points through multiple data paths. The communication software application 415 may be a standard web browsing application with multiple new functions. These new functions allow the user to interact with the MMS 420 using the client device 400.
MMS420 controls multiple low-level device drivers (424, 425, 426, and 427). The low-level device driver is a set of software used to drive the hardware associated with one or more communication interfaces of the client device 400 (that is, the wired interface, the first wireless interface, and the second wireless interface). The single-in-single-out (SISO) low-level device driver 437 receives data packets from the MMS420 through a single input line. The SISO device driver 427 controls the data packet exchange 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 IEEE802.11 network at the first moment. The SISO device driver 427 receives data packets from the MMS420 through a single input line. MMS420 embeds the second IP address assigned to the first wireless interface by the IEEE802.11 network into the data packet. The SISO device driver 427 controls the transmitter associated with the first wireless interface to send data packets. The second IP address is embedded in the data packet sent by the transmitter associated with the first wireless interface. Therefore, the second access point belonging to the IEEE802.11 network receives the data packet sent by the transmitter. The SISO device driver 427 controls the receiver associated with the first wireless interface to search for the data packet in which the second IP address is embedded. When the receiver associated with the first wireless interface detects data packets embedded with the second IP address, the receiver receives these data packets and forwards them to the SISO device driver 427. The SISO device driver 427 forwards the received data packet to the MMS420.
The MMS420 controls the SISO device driver 427 to collect statistical information related to this single data path, and the data packet exchange on this path is controlled by the SISO device driver 427. The physical layer 437 relates to a single data path controlled by the SISO device driver 427. The statistical information may include the delay in the data path, the signal-to-noise ratio on the data path, and the power required by the transmitter associated with the first wireless interface to maintain a predefined bit error rate on the data path. The SISO device driver 427 may request the second access point to provide some or all of this statistical information, and the SISO device driver 427 then sends the statistical information received from the second access point to the MMS 420. The SISO device driver 427 can determine some or all of these statistical information by sending and receiving training packet data.
The SISO device driver 427 collects these statistical information related to this single path at regular intervals. For example, but not limited to, the MMS 420 receives a plurality of statistical information at the second moment, and determines that the delay in this single data path is greater than a preset threshold. The MMS420 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 search for access points belonging to the wireless packet data network instead of the IEEE802.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 path switching is triggered and managed by the MMS420. This switching operation can occur when the first wireless interface is not sending or receiving any packet data between the first wireless interface and the Internet (except for control data and data containing some or all statistical information). The MMS 420 can control the SISO device driver 427 to collect a second set of statistical information related to the different path. From the second moment on, the data packet exchange on the path is controlled by the SISO device driver 427.
The single-in-dual-out (SIDO) low-level device driver 426 receives data packets from the MMS 420 through 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, the SIDO device driver 426 drives the first hardware associated with the wired interface and the second hardware associated with the first wireless interface. At the first moment, the wired interface is associated with the optical fiber data network, and the first wireless interface is associated with the IEEE 802.11 network. The SIDO device driver 426 receives data packets from the MMS 420 through a single input line. The MMS 420 controls the SIDO device driver 426 to collect a plurality of statistical information of the first group related to the first path 435 that exists between the wired interface and the first access point belonging to the optical fiber data network. The MMS420 also controls the SIDO device driver 426 to collect a second set of statistical information related to the second path 436, which exists between the first wireless interface and the second access point belonging to the IEEE802.11 network . The MMS 420 selects a path between the first path 435 and the second path 436 using multiple pieces of statistical information of the first group and the second group. The MMS420 can be set to select the path that provides the lowest interference at the specified moment. MMS420 can also be set to select the path that provides the highest bandwidth at a specified time.
For example, but not limited to, the second path 436 may provide a higher bandwidth than the first path 435. Before sending the data packet to the SIDO device driver 426, the MMS420 embeds the second IP address assigned to the first wireless interface by the IEEE 802.11 network into the data packet. The MMS420 controls the SIDO device driver 426 to send and receive data packets through the second path 436. The SIDO device driver 426 controls the second hardware associated with the first wireless interface to send data packets. The 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 IEEE802.11 network receives the data packet sent by the above-mentioned transmitter. The SIDO device driver 426 controls the second hardware to search for the data packet embedded with the second IP address. When the second hardware detects the data packets embedded with the second IP address, the second hardware receives these data packets and forwards them to the SIDO device driver 426. The SIDO device driver 426 forwards the received data packet to the MMS420.
At the second moment, the client device 400 moves to a new location. At this time, the communication association between it and the second access point has been lost. The first wireless interface searches for available wireless packet data networks. For example, the first wireless interface is associated with a fourth access point belonging to the IEEE802.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 the communication path between the first wireless interface and the fourth access point. The MMS 420 controls the SIDO device driver 426 to collect multiple pieces of statistical information of the first group related to the first path 435 and multiple pieces of statistical information of the third group related to the new second path 436. The MMS 420 determines that at the second moment, 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 data packets through the first path 435, and stops sending and receiving data packets through the new second path 436. Before sending the data packet to the SIDO device driver 426, the MMS420 embeds the first IP address allocated by the first access point belonging to the optical fiber data network into the data packet, so that the SIDO device driver 426 can control the data packet It is transmitted via the first path 435.
The Multiple Input Multiple Output (MIMO) device driver 424 receives data packets from the MMS 420 through three input lines. That is, the MIMO device driver 424 receives data packets generated by three different applications running on the user equipment 400. The MIMO device driver 424 controls the data packet exchange on the first path 432 and the second path 433. For example, the 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 the first moment, the first wireless interface is associated with the second access point belonging to the IEEE802.11 network, and the second wireless interface is associated with the third access point belonging to the WiMax network. The MIMO device driver 424 receives data packets from the MMS420 through three input lines. For example, a game application, a web browsing application, and an Internet phone application are running on the client device 400. The MIMO device driver 424 receives the first data group corresponding to the game application, the second data group corresponding to the web browsing application, and the third data group corresponding to the Internet phone application through the three input lines.
The MMS 420 selects a path with a higher bandwidth from the first path 432 and the second path 433, and then controls the MIMO device driver 424 to route the first multiple data packets corresponding to the game application through this path with higher bandwidth. If at the second moment, the game application is not running on the control device, the MMS420 will control the MIMO device driver 424 to route the third set of data packets corresponding to the Internet phone application through this path with higher bandwidth. For example, but not limited to, at the third moment, the second path 433 between the second wireless interface and the third access point belonging to the WiMax network is disconnected. At this time, the second wireless interface associates itself with the fifth access point belonging to the IEEE802.11 network. The first path 432 refers to the path between the first wireless interface and the second access point belonging to the IEEE802.11 network. The second path 433 refers to the path between the second wireless interface and the fifth access point belonging to the IEEE802.11 network.
At the third moment, the first path 432 and the second path 433 provide the same amount of bandwidth. At this time, the MMS420 will control the MIMO device driver 424 to route the first set of data corresponding to the game application through a path with lower interference. MMS420 is responsible for selecting a path from multiple paths (for example, the first path 432 and the second path 433), and by controlling the low-level device driver (one or more of 424, 425, 426, and 427) and the corresponding hardware (for example, , The transmitter and the receiver) interact to maintain the packet data exchange on the selected path. MMS420 and low-level device drivers (one or more of 424, 425, 426, and 427) can obtain multiple statistical information corresponding to multiple paths, and use the obtained statistical information to seamlessly switch to a new path to continue. Data packet exchange.
5 is a schematic diagram of an access point 500 running multiple software of the present invention. The access point 500 supports a first set of multiple data paths from itself to multiple client devices, and from itself to a packet-switched network The second group of multiple data paths of the road. The access point 500 is associated with a packet-switched network and multiple client devices. The access point and the 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 assigns multiple IP addresses to multiple client devices. The access point 500 includes at least one transceiver, which receives the first plurality of data packets from the packet switching network through one of the second plurality of data paths, and determines the first plurality of data packets from the plurality of client devices The destination device of the data packet, and then the received data packet is sent to the determined client device. The transceiver also receives a second set of data packets from one or some of the multiple access points, and then sends the second set of multiple data packets to the packet switching network through one of the second set of multiple data paths. The multi-path management software (MMS) 550 running on the access point 500 selects one of the second multiple data paths for data packet exchange between the access point and the packet data network.
For example, but not limited to, the access point 500 is associated with the WiMax network through a first path 570, a second path 572, and a third path 574. The second plurality of data paths refer to the first path 570, the second path 572, and the third path 574. The 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 sending and receiving data packets through the first path 570. In this embodiment, the first path 570 is the first wireless path between the access point 500 and a hub or switch belonging to a 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 data packets from the MMS 550 through the first input path and the second input path. The DISO device driver 560 is used to forward data packets from the first input path and the second input path to the first hardware circuit corresponding to the first path 570.
The MMS 550 can control the DISO device driver 560 to collect the first communication condition information (CRI) corresponding to the first path 570. The first CRI may include the IP address (that is, the first IP address) assigned to the first path 570 by the WiMax network, the delay on the first path 570, the data flow on the first path 570, and the first path 570. Cost, the number of hops used by the first path 570, etc. The first CRI changes over time. The MMS550 can control the DISO device driver 560 to periodically collect the first CRI. The MMS 550 may receive the first CRI from the DISO device driver 560 and store it in the storage system of the access point 500. When needed, the MMS550 can also obtain the first CRI from the second storage system. One or more parameters in the first CRI may be factory setting values, and they are stored in the storage system of the access point 500.
The single-in-dual-out (SIDO) device driver 565 is a set of software for driving the second hardware circuit corresponding to the second path 572 and the third hardware circuit corresponding to the third path 574. The second and third hardware circuits 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 this embodiment, the second path 572 and the third path 574 are respectively 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. The WiMax network allocates 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 data packets from the MMS550 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 second hardware circuit corresponding to the third path 574 under the monitoring of the MMS550. Three hardware circuits. The MMS550 can control the SIDO device driver 565 to periodically collect the second CRI and the third CRI corresponding to the second path 572 and the third path 574, and send them to the MMS550. When needed, the MMS550 can also obtain the second CRI and the third CRI from the second storage system.
In this exemplary embodiment, the MMS550 is used to control the 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. Path transmission with the lowest delay. For example, but not limited to, a video downloading application is running on the access point 500. The video download application is to download (receive) an archived video file from the Internet. The access point 500 is connected to the Internet through a WiMax network. The access point 500 can be connected to the WiMax network through any one of the first path 570, the second path 572, and the third path 574. The MMS 550 running on the access point 500 has a first CRI, a second CRI, and a third CRI. The MMS 550 uses the first CRI, the second CRI, and the third CRI to determine the path that can provide the lowest delay from the first path 570, the second path 572, and the third path 574. For example, the second path 572 may provide the lowest delay. The MMS550 controls the SIDO device driver 565 to receive the data packet corresponding to the archived video file from the Internet through the second path 572. The SIDO device driver 565 controls the second hardware corresponding to the second path to receive data packets corresponding to the archived video files from the Internet. The SIDO device driver 565 forwards the received data packets to the MMS550, which forwards the data packets to the video download application.
For example, but not limited to, the dual-in-dual-out (DIDO) device driver 510 drives the fifth hardware and the 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 a dual path 530. The MMS550 controls the DIDO device driver 510 to collect the CRI corresponding to the dual path 530. Whenever the first client device wants to receive/send data packets from/to the access point, it sends a request to the access point. The MMS550 responds to the request from the client device, and uses the CRI corresponding to the dual path 530 to select a path from the dual path 530. The MMS550 controls the client device to use the path selected from the dual path 530 to receive/transmit data from/to the access point. The MMS550 controls the DIDO device driver 510 to use the hardware corresponding to the selected path to send and receive data packets with the first client device.
6 is a flowchart of a method for managing multiple communication paths between the computing device and at least one packet-switched network by multi-path management software (MMS) running on a computing device according to the present invention. The computing device can be a personal computer, a telephone, a set-top box associated with a 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 switching network can be a wired network, an optical fiber network, a satellite data network, a WiMax network, an IEEE802.11 network, a UMTS network, a GPRS network, a CDMA network, or the data can be segmented Any type of standard or dedicated data network put into packets for transmission. Data refers to one or more of videos, audios, music videos, video games, voice conversations, pictures, text messages, TV programs, and any real-time or archived multimedia information.
In step 605, the computing device is turned on, and the operating system (OS) of the device (for example, Windows XP, Linux, Unix, etc.) start to boot. In step 605, the operating system (OS) activates the multi-path management software (MMS). The computing device includes multiple communication interfaces. After the computing device is turned on, it begins to associate each communication interface with at least one packet data network. If the computing device is an access point, the computing device can try to associate each communication interface with the same packet data network. If the computing device is a client device, such as a personal computer, a telephone, or a headset, the computing device can try to associate the communication interface with multiple types of packet data networks. The computing device may be a personal computer, and the personal computer may have a first communication interface, a second communication interface, and a third communication interface. When the personal computer is turned on, the first communication interface can be associated with the first access point belonging to the IEEE802.11 network. Therefore, a first communication path is established between the first communication interface and the first access point belonging to IEEE802.11. The personal computer can also associate the second communication interface with a second access point belonging 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 belonging to 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 the wired packet data network. The multiple communication paths refer to the first, second, and third communication paths. The MMS running on the personal computer manages the first, second, and third communication paths.
As shown in step 605, after being started, the MMS starts to analyze and monitor multiple communication interfaces and multiple related communication paths of the computing device (user terminal device or access point). In the next step 607, the first communication application, the second communication application, and the third communication application are started. The first communication application and the second communication application may correspond to Internet browsing. As shown in step 607, the MMS receives the first web page request and the second web page request from the first communication application and the second communication application respectively. The third communication application includes a built-in multi-path management function.
For example, but not limited to, the first communication application may require at least one communication path with the lowest data rate. The first communication condition information (CRI) corresponding to the first communication application, that is, the required minimum data rate, may be stored in the storage system. In the next step 609, the MMS obtains the first CRI from the storage system. If the first CRI is not stored in the storage system, then in step 609, the MMS will prompt 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 may be a keyboard, a mouse, a touch screen, and multiple buttons. If in step 609, the user does not enter the first CRI, then in step 609, the MMS analyzes the request from the first communication application (that is, the first web page request), and determines the first CRI (that is, the first CRI is allocated to the first The lowest bandwidth for communication applications). In step 611, the MMS attempts to allocate the lowest bandwidth specified in the first CRI for the first communication application. In step 609, the MMS directly or indirectly collects the second CRI corresponding to the second communication application. The second CRI may include the maximum delay acceptable to the second communication application and the minimum signal-to-interference ratio required by the second communication application. If the computing device is an access point, that is to say, the MMS is not running on a personal computer, but is running on, for example, the first access point, then in step 609, the MMS running on the first access point passes the first access point. The communication path receives the first CRI corresponding to the first communication application from the personal computer.
In step 611, the MMS determines that the first communication path between the personal computer (computing device) and the first access point, the second communication path between the personal computer and the second access point, and the personal computer and the third access point The third communication path between the entry points can be used to transmit data packets with the Internet. In step 611, the MMS selects a path that satisfies the first CRI from the three available communication paths. There may be more than one path to satisfy the first CRI. The MMS can randomly select one of the more than one path. The MMS controls the personal computer to use the selected path to send the data packets generated by the first communication application to the Internet, or receive the requested data from the Internet, until the next instruction is received from the MMS in step 611. The personal computer sends the first web page request (in the form of data grouping) to the Internet through the path selected in step 611. The personal computer receives the requested web page (in the form of data grouping) from the Internet through the selected path.
The computing device can be an access point. The access point supports multiple communication paths from itself to the Internet. If the computing device is the first access point, that is to say, the MMS is not running on the personal computer, but on the first access point, then the MMS running on the first access point will use multiple communication paths Choose a path that satisfies the first CRI. The first access point receives the first web page request (in the form of data packet) from the personal computer, and sends it to the Internet through the path selected in step 611. The first access point receives the requested web page (in the form of data packet) from the Internet through the selected path, and sends it to the personal computer. The MMS running on the computing device (personal computer or first access point) selects a second path that satisfies the second CRI from a plurality of available paths, and controls the second communication application to use the selected path to exchange data packets with the Internet.
The MMS running on the computing device (personal computer or first access point) regularly monitors the selected path and other available communication paths. If at a certain moment, the path used by the first communication application cannot meet the first CRI, then in the next step 660, the MMS will select a different path from other available communication paths that can meet the first CRI, and control the first communication The application uses this different path to replace the previous path for data packet exchange until the next instruction is received from the MMS. At this moment, the previous path cannot provide the minimum data rate required by the first communication application (specified in the first CRI), which may be caused by the increase in the amount of data flow in the path. MMS continues to regularly monitor all available paths between the computing device and the Internet. In step 650, the MMS also performs similar periodic monitoring on the path used by the second communication application, and in step 660, according to the second CRI, and the robustness and/or characteristics of the path (for example, the bandwidth provided by the path) , The delay in the path, the amount of data flow through the path, etc.) to switch the path. The MMS can change the path used by the second communication application when the delay in the path exceeds the upper limit specified in the second CRI.
In step 607, a third communication application with a built-in multi-path management function will be started. The third communication application may need to satisfy multiple communication conditions. For example, a third communication application may require the use of a communication path with low power and low interference. In step 621, the third communication application sends a third CRI corresponding to the third communication application (that is, the maximum power requirement and the maximum interference requirement of the third communication application) to the MMS. In step 631, the MMS selects a path that satisfies the third CRI from among multiple available paths between the computing device and the Internet (or access point, if the computing device is not an access point but a client device). In step 631, the MMS controls the computing device to use the selected path to send data packets generated by the third communication application to the Internet, or receive data packets required by the third communication application from the Internet. As shown in step 650, the MMS monitors the selected path and changes the path used if necessary. In step 621, the MMS may have selected a path that satisfies the lowest power from among multiple available paths. The interference provided by the selected path is lower than the maximum acceptable interference level specified by the third CRI. At the second moment, the interference in the selected path may exceed the maximum interference level that can be received. At this time, the MMS controls the third communication application to switch to the second path, and the interference provided by the path is lower than the maximum acceptable interference level. However, the second path may use more power than the previous path.
In step 621, a third communication application with a built-in multi-path management function may bypass the MMS and select a path that satisfies the third CRI. The third communication application uses the selected path to exchange packet data until the selected path cannot meet the communication conditions corresponding to the third communication application. After that, the third communication application triggers the path change, as shown in step 650.
FIG. 7 shows a flowchart of the functions performed by the computing device protocol layer supporting multiple paths from the computing device to the Internet. As shown in step 704, the uppermost protocol layer of the computing device runs an Internet browsing program. The user using the Internet browsing program enters the user choice. The user selection may point to a web page. The Internet browsing program generates a request data and requests the selected web page from the Internet. As shown in step 706, the lower protocol layer encrypts and/or encodes the requested data. By performing encryption and/or encoding, errors that may occur when the requested data is transmitted through physical media can be avoided. As shown in step 708, the next lower protocol layer selects a communication protocol, and the computing device (that is, 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 710, the further lower protocol layer segments the requested data and then loads them into packets.
The computing device at least includes an Ethernet LAN wireless module, an IEEE802.11 wireless module, and a GPRS wireless module. The computing device uses Ethernet LAN wireless module, IEEE802.11 wireless module, and GPRS wireless module to connect to the Internet through Ethernet local area network (LAN), IEEE802.11 network and GRPS network. As shown in step 714, the Ethernet LAN wireless module is uniquely identified by the first MAC address. As shown in step 716, the IEEE802.11 wireless module is uniquely identified by the second MAC address. As shown in step 718, 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 three paths are the first path through the Ethernet LAN wireless module, the second path through the IEEE802.11 wireless module, and the GPRS wireless module. The third path of realization. As shown in step 712, the second next lower protocol layer layer) At fixed time intervals, the cost of each path between the computing device and the Internet is calculated. The cost of each path is related to the capital 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 protocol layer obtains these parameters at fixed time intervals, and then calculates and updates the cost of each path. The second lower protocol layer receives a packet containing requested data from a further lower protocol layer. The second lower protocol layer controls the transmission of packets containing requested data through the path with the lowest cost among these paths. These packets reach the physical layer (wired or wireless) through the lowest cost path. If the lowest cost path is the first path realized by the Ethernet LAN wireless module, the first IP address will be embedded in the packet. If the lowest cost path is the second path realized by the IEEE802.11 wireless module, the second IP address is embedded in the packet. If the lowest cost path is the third path realized by the GPRS wireless module, the third IP address is embedded in the packet. The packet embedded with the IP address reaches the Internet through the chosen least cost path.
FIG. 8 is a schematic diagram of the structure of a network of the present invention, in which multiple client devices in the service area of multiple access points are shown. The first access point 811 serves the first circular geographic area 851. The first access point communicates with the Internet 803 using the first packet data exchange protocol. For example, but not limited to, the first packet data exchange protocol is the WiMax protocol. The second access point 813 serves the second circular geographic area 871. In this embodiment, the second access point 813 uses the second packet data exchange protocol UMTS to communicate with the Internet 803. The third access point 815 uses the WiMax protocol to serve the third circular geographic area 881. The third access point 815 also uses the third packet data exchange protocol IEEE802.11 protocol to serve the fourth geographic area 861.
The first client device 821 is located in the second circular geographic area 871. The first client device 821 associates itself with the second access point 813. The second access point 813 allocates a first IP address to the first client device 821. The first client device 821 uses the first IP address and the UMTS protocol to receive/send data packets from/to the Internet 803 through the second access point 813.
The second client device 823 is located in an overlapping area of the first circular geographic area 851, the second circular geographic area 871, and the fourth geographic area 861. The second client device 823 associates itself with the first access point 811, the second access point 813, and the third access point 815. 811, 813, and 815 allocate independent IP addresses to the second client device 823, respectively. The second client device 823 communicates with the Internet 803 through three different paths. The three paths are the first path through the first access point 811 using the WiMax protocol, and the second path through the second access point 813 using the UMTS protocol. , And the third path using the IEEE 802.11 protocol through the third access point 815.
The third user equipment 825 is located in the overlapping area of the second circular geographic area 871 and the fourth geographic area 861. The third user equipment 825 associates itself with the second access point 813 and the third access point 815. 813 and 815 respectively allocate independent IP addresses to the third client device 825. The third client device 825 communicates with the Internet 803 through two different paths, the two paths are the fourth path through the second access point 813 using the UMTS protocol, and the third access point 815 using the IEEE802.11 protocol The fifth path.
The fourth user equipment 829 is located in the overlapping area of the third circular geographic area 881 and the fourth geographic area 861. The fourth client device 829 associates itself with the third access point 815. The third access point 815 allocates two independent IP addresses to the fourth client device 829. The fourth client device 829 communicates with the Internet 803 through two different paths. They are the sixth path through the third access point 815 using the WiMax protocol, and the seventh path through the third access point 815 using the IEEE802.11 protocol. .
At a certain moment, the third client device 825 moves to the location where the fourth client device 829 is located. Therefore, the third user equipment 825 is no longer in the service area of the second access point 813 at this time. The association between the third user equipment 825 and the second access point 813 is then disconnected. However, the association between the third user equipment 825 and the third access point 815 remains unchanged. However, the third client device 825 communicates with the third access point 815 through the eighth path using the IEEE 802.11 protocol. The third user equipment 825 is located in the third circular geographic area 881 at this time. The third user equipment 825 communicates with the third access point 815 through the ninth path using the WiMax protocol. At this time, the third user-end device 825 has two paths to the Internet 803, both of which are different from the previous two paths used by the third user-end device 825 to communicate with the Internet 803.
Fig. 9 is a flowchart of a method for establishing an association between a client device and a packet data network according to the present invention. The network association process of the client device starts in step 900, when the client device is turned on. In the next step 902, the client device is associated with the first packet data network. The client device is associated with an access point belonging to the first packet data network. The association process between the user-end device and the first packet data network (that is, the access point) may include: the user-end device sends an association request to the access point. The user equipment is located in the geographic area served by the access point. In step 904, the access point issues an association license to the client device by sending an IP address to the client device. In all subsequent communications with the access point, the client device uses the IP address allocated by the access point to communicate with it. The client equipment is located in the service area of the second packet data network. After booting, the client device is also associated with the second packet data network. The client device will be associated with all those packet data networks whose geographic service area covers the location of the client device.
In step 906, the client device sends the IP address assigned to it by the access point belonging to the first packet data network to all other packet data networks (or the access points belonging to all other packet data networks). If the client device finds a new packet data network, the process jumps to step 902. At this time, the client device is associated with the new packet data network. This new packet data network may be discovered when the client device changes location or the access point belonging to the new packet data network is turned on.
As shown in step 912, the client device periodically updates the association with all packet data networks. At a certain moment, the user-end device may move out of the service area of a specific access point, and subsequently, the user-end device disassociates with the specific access point. As shown in step 916, the client device sends IP addresses corresponding to multiple associations with multiple packet data networks (or access points) to these packet data networks. The process then jumps to step 909, and the client device updates the association with all packet data networks.
Fig. 10 is a flowchart of a method for transmitting data packets to a client terminal from an access point belonging to a packet data network according to the present invention. The packet data network can be WiMax network, GPRS network, EDGE network, GSM network, WCDMA network (wideband CDMA), IEEE802.11 network, Ethernet, optical fiber network, satellite data network, Wired networks, or various networks that can carry data that is segmented into packets. The data can be one or more of pictures, videos, audios, text messages, web pages, music videos, TV programs, entertainment time items, or any type of real-time or archived multimedia information. The access point is associated with the client terminal. The client terminal can be a personal computer, a microphone, a set-top box, a telephone, or any kind of equipment that can be used to send and receive data that is segmented and packed into a packet. The access point belonging to the packet data network includes at least one transceiver, which receives data packets from the client terminal and sends the received data packets to the packet data network to which the access point belongs. The at least one transceiver also receives other data packets from the packet data network to which it belongs, and sends the received data packets to the client terminal.
After the client terminal is associated with the access point, the process of the access point transmitting data packets to the client terminal starts at step 1000. After the association is established, the access point allocates the first IP address to the client terminal. As shown in step 1002, the access point waits to receive data packets from the packet data network to which it belongs. In step 1004, the access point receives the data packet sent to the client terminal. The access point may also be associated with one or more client terminals other than the client terminal. The destination address of the data group is contained in the data group. In step 1004, the access point determines its destination address by analyzing the data packets, and tries to send these data packets to its client terminal. The access point can be connected to the client terminal through one or more paths. If the access point is connected to the client terminal through a single path, the client terminal first determines whether the single path can be used to transmit data packets to the client terminal in step 1006. If so, in step 1008, the access point transmits the data packet to the client terminal through the single path. Subsequently, as shown in step 1002, the access point waits for the arrival of a new data packet from the packet data network.
If the access point is connected to the client terminal through multiple paths, the access point will select a path from these paths. In step 1006, the access point determines whether the data packet can be sent to the client terminal through the selected path. If so, in step 1008, the access point sends these data packets to the client terminal through the selected path. Subsequently, as shown in step 1002, the access point waits for the arrival of a new data packet from the packet data network.
In step 1006, the access point may find that no matter whether it is through the single path or the selected path, the data group cannot be sent to the client device. The user equipment is also associated with at least the second access point. The second access point may belong to the same packet data network as the aforementioned access point. The second access point may also belong to another type of second packet data network. The second access point allocates a second IP address to the user equipment. When the user-end device is associated with the above-mentioned access point in step 1000, it will notify the above-mentioned access point of the second IP address and the second access point. If the access point cannot send the data packet through the single path or the selected path, in step 1012 the access point will try to send the data packet to the client terminal through the second access point. The user equipment may be associated with multiple access points that are different from the above-mentioned access points. In this case, the aforementioned access point can grasp the multiple access points associated with the user equipment and the corresponding IP addresses. In step 1010, the aforementioned access point selects a third access point from these access points. In step 1012, the above-mentioned access point attempts to send the data packet to the client terminal through the selected third access point. If the data packet is successfully transmitted, the above-mentioned access point jumps to step 1002 and waits for the arrival of a new data packet from the packet data network. If the data packet transmission fails, the aforementioned access point returns to step 1010, and selects a fourth access point from these access points to transmit the data packet to the client device. The above-mentioned access point keeps trying to ensure that the data packet sent to the user-end device can finally reach the user-end device.
FIG. 11 is a schematic diagram of the functions of the multi-path management software (MMS) of the present invention when performing an exemplary path selection. The communication between the first terminal device (end point device) 1111 and the second terminal device 1141 can be carried by any one or more paths selected from a plurality of available paths. These available paths are carried by the network node 1125 and the Internet. The backbone network 1103, and the first, second, third, and fourth access points (AP) 1121, 1151, 1131, and 1145 are respectively supported. According to the path establishment parameters and basic communication application conditions, it runs on the first and second terminal devices 1111 and 1141, the first, second, third and fourth AP1121, 1151, 1131 and 1145, and the network node 1125. Or multiple MMS applications can work independently or jointly participate in path selection.
The first communication application and the second communication application are running on the first terminal device 1111, and the third communication application and the fourth communication application are running on the second terminal device 1141. These terminal devices can be client devices and servers running communication applications. For example, each of the first, second, third, and fourth communication applications can include video games, Internet phone applications, Internet browsing applications, or need to use Other communication applications that reach the communication path of the remote terminal device. For example, but not limited to, the second communication application running on the first terminal device 1111 and the fourth communication application running on the second terminal device 1141 may be Internet phone applications, where the first and second terminal devices 1111 and 1141 includes VoIP phones. In this way, voice and supplementary 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 client game software or client browser software on the client computer, which interacts with game server software or web server software on the server.
There may be multiple communication paths between the second communication application of the first terminal device 1111 and the fourth communication application of the second terminal device 1141. As shown in the figure, the second communication application can use up to three links to connect the first and second access points 1121 and 1151. At the same time, the access points 1121 and 1151 have a total of three links connecting the network node 1125, and the network node 1125 has two links to the Internet backbone network 1103. From the Internet backbone network 1103, there are three links to the third and fourth access points 1131 and 1145, so there are a total of three links to the second terminal device 1141. Each link can be wireless or wired.
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 1111 and 1141, the first, second, third and fourth AP1121, 1151, 1131 and 1145, and the network node 1125 select one or more path. If the communication application, such as the second communication application of 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 MMS, or become more active through MMS in the path selection process. If the communication application does not have this specific function, or is not configured to assist or control the MMS, the MMS either obtains preset parameters for the communication application, or interacts with the user (through a pop-up window, for example) to obtain these parameters. Then select the path based on these parameters.
The MMS application running on the terminal device can select the entire path in units of paths, or select only in the local link. In other words, the first MMS on the first terminal device 1111 can obtain parameters from one or more of the following locations, and then select the entire path from the first terminal device 1111 to the second terminal device 1141. These The location includes: 1) the second communication application; 2) the local or remote memory associated with the second communication application; 3) the local or remote memory associated with the first communication application; 4) each local link The communication characteristics of the road; 5) the communication characteristics of each remote link of each application in multiple remote MMS applications. If the parameters of the second communication application are unknown, the first MMS can select a default path. Thereafter, no matter how the initial path is selected, the first MMS will analyze the data flow volume from the second communication application passing through the network, and switch to another path if necessary based on these analyses.
Similarly, the first MMS of the first terminal device 1111 may also hand over the selection right of the entire path or the selection right of the local link to the communication application. Alternatively, each MMS can only negatively select the path of capital to land. For example, the first MMS of the first terminal device 1111 may choose to use one of the two shown links connecting the first AP1121 to support the second communication application, and choose to use the other of the two links connecting the first AP1121 And the link connecting the second AP1151 to support the first communication application. The sixth MMS of the second AP1151 can choose to connect to one of the two links of the network node 1125 or two at the same time, while the second MMS of the first AP1121 can converge the communications on the two receiving links into one connection to the network. The output link of node 1125. On the contrary, the network node 1125 can distribute the received data flow to two output links, or can choose a single output link to connect to the Internet backbone network 1103. Although not shown, the Internet backbone network 1103 can also include more network nodes, all of which have MMS applications, and can make similar link decisions to reach one of the third and fourth AP1131 or 1145, or It reaches both at the same time, and then reaches the second terminal device 1141. In this localization decision-making process, the MMS application on each node makes its path selection based on the parameters obtained from one or more of the following: 1) the second communication application; 2) the local or remote related to the second communication application End memory; 3) Local or remote memory related to the first communication application; 4) Communication characteristics of each local link; 5) Basic communication traffic passed. After that, each MMS analyzes the data flow volume and switches to other or other links when necessary.
Specifically, in an exemplary configuration, the second communication application generates a first plurality of voice packets and supplementary media packets, and sends them to the first MMS. The first terminal device 1111 is connected to the first access point (AP) 1121 through two (wireless and/or wired) links, and is connected to the second AP 1151 through a single link. The first MMS running on the first terminal device 1111 and the second MMS running on the first AP1121 assist each other in path selection, and jointly decide to use the first of the two paths to transfer from the first terminal device 1111 to the The first access point 1121 sends a first group of multiple voice packets, and uses the second of the two paths to send supplementary media packets from the first terminal device 1111 to the first access point 1121.
The first AP1121 is connected to the network node 1125 through a single link. The second MMS running on the first AP1121 controls the first group of multiple voice packets and supplementary media packets to be sent to the node 1125 through a single available link. Compared with the first group of multiple supplementary media packets, the second MMS sets a higher QOS (Quality of Service) condition for the first group of multiple voice packets. Only when the foregoing single link satisfies the QOS condition of the first multiple voice packets, the first AP 1121 (or the second MMS controls the first AP 1121) will send the first multiple voice packets to the node 1125. At a certain moment, the second MMS may find that the single link is not suitable for carrying the first group of multiple voice packets, but is suitable for carrying supplementary media packets. Therefore, the second MMS controls the first AP 1121 to send supplementary media packets to the node 1125 only through the single link.
The node 1125 is connected to the Internet backbone network 1103 through two links. The third MMS running on the node 1125 selects one of the two links connected to the Internet backbone network 1103, and sends the first multiple voice packets and supplementary media packets received from the first AP1121 through the selected link. To the Internet backbone network 1103. The third MMS may select one of the two available paths according to the path taken by the data packet and the supplementary media packet from the first terminal device 1111 to the node 1125. The Internet backbone network 1103 includes multiple computing devices, routers, switches, base stations, transceivers, function variable name servers, proxy servers, and storage servers, for example. One or more components in the Internet backbone network 1103 send the received first multiple voice packets and supplementary media packets to the third AP 1131. The third AP 1131 forwards the received first group of multiple voice packets and supplementary media packets to the second terminal device 1141 through the only available link. Of course, other path links can also be selected to replace or supplement the aforementioned corresponding paths, and the aforementioned selection rights can also be controlled by any MMS, or several MMSs or communication applications.
After completing the analysis of the first plurality of voice packets and supplementary media packets received from the third AP 1131, the fourth MMS determines that the destination of these packets is the fourth communication application of the second terminal device 1141. The fourth MMS responds and forwards the received first multiple voice packets and supplementary media packets to the fourth communication application. In response, the fourth communication application generates a second set of multiple voice packets and supplementary media packets. The fourth MMS in this embodiment sends the second multiple voice packets and supplementary media packets to the fourth AP1145. The second terminal device 1141 is connected to the fourth AP 1145 through two links. The fourth MMS selects one of them, or selects both links at the same time to send the second group of multiple voice packets and supplementary media packets.
The process in which the fourth MMS responds and selects one or more links from the two links may also be different from the operation performed when receiving voice packets and supplementary media from the second communication application. However, the fourth MMS can analyze the bandwidth usage when receiving information to determine to select a different link to send information. In this example, the fourth MMS receives the first multiple voice packets from the Internet backbone network 1103 through the third AP1131, and sends the second multiple voice packets to the Internet backbone network 1103 through the fourth AP1145. Alternatively, the fourth MMS may send the second multiple voice packets and supplementary media packets to the Internet backbone network 1103 through the third AP1131.
There is a fifth MMS running on the fourth AP1145. The fifth MMS sends the second multiple voice packets and supplementary media packets received from the second terminal device 1141 to the Internet backbone network 1103. The Internet backbone network 1103 is connected to the node 1125 through two links. The third MMS running on the node 1125 selects one of the two links to receive the second multiple voice packets and supplementary media packets from the Internet backbone network 1103, and informs the Internet backbone network 1103 of the selected path. The selected path may be the same as or different from the path used by the node 1125 to send the first multiple voice packets and supplementary media packets to the Internet backbone network 1103. The Internet backbone network 1103 sends the second multiple voice packets and supplementary media packets received from the fourth AP 1141 to the node 1125 through the selected link.
The third MMS running on the node 1125 and the sixth MMS running on the second AP1151 jointly select the two links between the node 1125 and the second AP1151 to carry the second group of multiple links sent from the node 1125 to the second AP1151. A voice grouping and supplementary media grouping. One of the selected links carries the second set of voice packets, and the other carries the second set of supplementary media packets. In another configuration, the third MMS running on the node 1125 and the second MMS running on the first AP 1121 may jointly decide to transmit the second plurality of voice packets and supplementary media packets through the first AP 1125. In the full-duplex communication between the second communication application and the fourth communication application, the third MMS performs two link selections, one is used to transmit the first group of multiple voice packets and supplementary media packets, and the other is used to transmit The second group of multiple voice packets and supplementary media packets.
The second AP 1151 forwards the received second multiple voice packets and supplementary media packets to the first terminal device 1111. The first MMS running on the first terminal device 1111 analyzes the second plurality of voice packets and supplementary media packets, and forwards them to the second application running on the terminal device 1111.
In order to support the first or any other communication application, the first MMS of the first terminal device 1111 can perform the following operations: 1) prompt the user to input default parameters for the first communication application (inquire whether the first communication application is used for video in a pop-up mode) Streaming, audio streaming, voice call, video call, file transfer, Internet browsing, or text chat, etc.); 2) Obtain the preset configuration from the remote server; 3) Obtain the preset configuration information from the local memory; 4 ) If possible, obtain the pre-set configuration information from the MMS interface; 5) Use the default configuration. The configuration information includes multiple parameters, which are related to the following factors: a) the basic communication conditions for communication with the communication application; b) the type of media exchanged; c) the control configuration (for example, the communication application simultaneously controls, or each Individual control, local MMS link selection/control; single MMS entire path selection/control, etc.).
The terminal devices 1111 and 1141 are network nodes. The access points 1121, 1131, 1141 and 1151, the network node 1125, and multiple nodes in the Internet backbone network 1103 (not shown) are all network nodes that can provide support. Of course, each node may or may not use the MMS application, and the entire path can be changed accordingly.
Those skilled in the art should understand that the term "communication connection" used herein includes a direct wireless and wired connection, and an indirect wireless and wired connection via another element, element, circuit or module. Those skilled in the art should also understand that inferring connection (that is, knowing that one element is connected to another element by inference) includes direct wireless and wired connection between two elements in the same manner as the above-mentioned "communication connection". Indirect connection.
The description process of the present invention also uses method steps to describe the execution process of specific functions and their mutual relationships. For ease of description, the boundary and sequence of these functional modules and method steps are specifically defined in the article. In order for these functions and their relationships to work normally, their boundaries and order can also be redefined. However, these redefinitions of boundaries and order will fall into the spirit of the present invention and the declared scope of protection.
The description process of the present invention uses the method of functional modules to describe the execution process of some important functions. For ease of description, the boundary of these functional modules is specifically defined in the text. In order for these functions to work normally, their boundaries can also be redefined. Similarly, the steps in the flowchart are also specifically defined to describe some important functions. In order to expand the application of these flowcharts, the boundaries and sequence of the modules in the flowchart can be redefined. At the same time, after the redefinition, these modules still perform their original important functions. This redefinition of the steps and sequence of the functional modules and flowcharts will also fall into the spirit of the present invention and the declared scope of protection.
Those skilled in the art can also realize that the functional modules and other modules and components described in this article can be implemented as shown in the figure, or further subdivided components, application-specific integrated circuits, and execution of specific software can also be used. Processor and any combination of them.
At the same time, for ease of understanding, the present invention is described in detail with the help of embodiments, but the present invention is not limited to these embodiments. Obviously, for those skilled in the art, the content of this document can be modified within the spirit and scope of the present invention, but these modifications still fall within the scope of the present invention.
<p>Internet backbone network. . . 103</p><p>The first service provider equipment. . . 111</p><p>Second service provider equipment. . . 113</p><p>Third service provider equipment. . . 115</p><p>Fourth service provider equipment. . . 117</p><p>Wired data network. . . 121</p><p>Ground wireless data network. . . 123</p><p>Satellite Data Network. . . 125</p><p>Wireless data network. . . 127</p><p>The first access point. . . 131</p><p>The second access point. . . 133</p><p>The third access point (set-top box). . . 135</p><p>The fourth access point. . . 137</p><p>The first personal computer. . . 151</p><p>Telephone. . . 153</p><p>TV set. . . 155</p><p>The second personal computer. . . 157</p><p>earphone. . . 159</p><p>Multi-path AP or multi-path STB (set-top box). . . 200</p><p>Processing circuit. . . 202</p><p>Storage System. . . 204</p><p>System. . . 210</p><p>Multi-path management software (MMS). . . 214</p><p>Device sub-driver. . . 216</p><p>User input interface. . . 218</p><p>Wired interface. . . 220</p><p>The first wired uplink interface. . . 222</p><p>The second wired uplink interface. . . 223</p><p>The first wired downlink interface. . . 224</p><p>The second wired downstream interface. . . 225</p><p>Wireless interface. . . 230</p><p>The first wireless uplink interface. . . 232</p><p>The second wireless uplink interface. . . 233</p><p>The first wireless downlink interface. . . 234</p><p>The second wireless downlink interface. . . 235</p><p>Multi-path client equipment. . . 300</p><p>Processing circuit. . . 302</p><p>Storage System. . . 304</p><p>System. . . 308</p><p>Communication application software. . . 310, 311</p><p>Multi-path uplink management software (MMS). . . 314</p><p>Device sub-driver. . . 316</p><p>User input interface. . . 330</p><p>The first wired uplink interface. . . 342</p><p>The second wired uplink interface. . . 343</p><p>The first wireless uplink interface. . . 344</p><p>The second wireless uplink interface. . . 345</p><p>User-end equipment. . . 400</p><p>System. . . 410</p><p>Communication software applications. . . 415</p><p>Communication software applications. . . 416</p><p>Multi-path management software (MMS). . . 420</p><p>Single-in-single-out (SISO) low-level device driver. . . 427</p><p>Single-in-dual-out (SIDO) low-level device driver. . . 426</p><p>Dual-in-single-out (DISO) low-level device driver. . . 425</p><p>Multiple Input Multiple Output (MIMO) device driver. . . 424</p><p>The first path. . . 432</p><p>The second path. . . 433</p><p>The first path. . . 435</p><p>The second path. . . 436</p><p>Access Point. . . 500</p><p>Dual-in-dual-out (DIDO) device driver. . . 510</p><p>Dual path. . . 530</p><p>Multi-path management software (MMS). . . 550</p><p>Dual-in-single-out (DISO) device driver. . . 560</p><p>Single-in-dual-out (SIDO) device driver. . . 565</p><p>The first path. . . 570</p><p>The second path. . . 572</p><p>The third path. . . 574</p><p>the Internet. . . 803</p><p>The first access point. . . 811</p><p>The second access point. . . 813</p><p>The third access point. . . 815</p><p>The first client device. . . 821</p><p>The second client device. . . 823</p><p>The third client device. . . 825</p><p>The fourth client device. . . 829</p><p>The first circular geographic area. . . 851</p><p>The fourth geographic area. . . 861</p><p>The second circular geographic area. . . 871</p><p>The third circular geographic area. . . 881</p><p>Internet backbone network. . . 1103</p><p>The first terminal device (end point device). . . 1111</p><p>The first access point (AP). . . 1121</p><p>Network node. . . 1125</p><p>The third access point (AP). . . 1131</p><p>The second terminal device. . . 1141</p><p>The fourth access point (AP). . . 1145</p><p>The second access point (AP). . . 1151</p>
Figure 1 is a schematic diagram of multiple devices interacting with the Internet backbone network through multiple access points in the present invention, where each device interacts with more than one access point; Figure 2 is the interface shown in Figure 1 of the present invention A schematic diagram of multiple components of the entry point, which supports multiple data paths from itself to the Internet backbone network; FIG. 3 is a schematic diagram of the multiple components of the client device shown in FIG. 1 of the present invention, the client device Support multiple data paths from itself to multiple access points in Figure 1; Figure 4 is a schematic diagram of a client device running multiple software in the present invention, which supports multiple access from itself to multiple access points Figure 5 is a schematic diagram of an access point running multiple software of the present invention. The access point supports a first set of multiple data paths from itself to multiple client devices, and from there The second group of multiple data paths from itself to the packet-switched network; Figure 6 is the method used by the multi-path management software running on the computing device of the present invention to manage multiple communication paths between the computing device and at least one packet-switched network Figure 7 is a flowchart describing the functions performed by the computing device protocol layer that supports multiple paths from the computing device itself to the Internet; Figure 8 is a schematic diagram of a network structure of the present invention, which shows multiple connections Multiple user-end devices in the service area of the access point; Figure 9 is a flow chart of the method for establishing associations between the user-end equipment of the present invention and the packet data network; Figure 10 is the access point of the present invention to the client terminal A flowchart of a method for transmitting data packets; FIG. 11 is a schematic diagram of a function module and a selection process of multi-path management software (MMS) for path selection according to an embodiment of the present invention.
12 sheets
Sheet 1 Sheet 2 Sheet 3 Sheet 4 Sheet 5 Sheet 6 Sheet 7 Sheet 8 Sheet 9 Sheet 10 Sheet 11 Sheet 12
71 members in 5 offices
Priority claims10
| Document | Office | Kind | Date |
|---|---|---|---|
| 60736889 | United States of America | – | |
| 73688905 | United States of America | P | |
| 73688905 | United States of America | P | |
| 11365102 | United States of America | – | |
| 36510206 | United States of America | A | |
| 36510206 | United States of America | A | |
| 20050736889P | – | – | – |
| 20060365102 | – | – | – |
| US20050736889P | – | – | – |
| US20060365102 | – | – | – |
Members71
| Document | Office | Kind | |
|---|---|---|---|
| EP1786151A2 | European Patent Office (EPO) | A2 | |
| EP1786152A2 | European Patent Office (EPO) | A2 | |
| EP1786153A2 | European Patent Office (EPO) | A2 | |
| EP1786182A1 | European Patent Office (EPO) | A1 | |
| EP1786183A1 | European Patent Office (EPO) | A1 | |
| US2007109990A1 | United States of America | A1 | |
| US2007109991A1 | United States of America | A1 | |
| US2007109992A1 | United States of America | A1 | |
| US2007110034A1 | United States of America | A1 | |
| US2007110035A1 | United States of America | A1 | |
| US2007110080A1 | United States of America | A1 | |
| US2007110084A1 | United States of America | A1 | |
| US2007110436A1 | United States of America | A1 | |
| US2007110437A1 | United States of America | A1 | |
| CN1968209A | China | A | |
| CN1968328A | China | A | |
| CN1984078A | China | A | |
| CN1984200A | China | A | |
| US2007183402A1 | United States of America | A1 | |
| US2007183440A1 | United States of America | A1 | |
| TW200733648A | Taiwan Province of China | A | |
| EP1830518A1 | European Patent Office (EPO) | A1 | |
| EP1830522A1 | European Patent Office (EPO) | A1 | |
| TW200735580AThis record | Taiwan Province of China | A | |
| TW200735582A | Taiwan Province of China | A | |
| TW200735591A | Taiwan Province of China | A | |
| TW200735592A | Taiwan Province of China | A | |
| CN101047642A | China | A | |
| US2007237110A1 | United States of America | A1 | |
| TW200742360A | Taiwan Province of China | A | |
| CN101068201A | China | A | |
| EP1853004A1 | European Patent Office (EPO) | A1 | |
| CN101102271A | China | A | |
| TW200814626A | Taiwan Province of China | A | |
| EP1786152A3 | European Patent Office (EPO) | A3 | |
| EP1786153A3 | European Patent Office (EPO) | A3 | |
| CN101202747A | China | A | |
| TW200836521A | Taiwan Province of China | A | |
| EP1786151A3 | European Patent Office (EPO) | A3 | |
| US7626994B2 | United States of America | B2 | |
| US2010014534A1 | United States of America | A1 | |
| US7715432B2 | United States of America | B2 | |
| EP1786152B1 | European Patent Office (EPO) | B1 | |
| CN101068201B | China | B | |
| DE602006014347D1 | Germany | D1 | |
| EP1853004B1 | European Patent Office (EPO) | B1 | |
| DE602006016917D1 | Germany | D1 | |
| EP1786153B1 | European Patent Office (EPO) | B1 | |
| DE602006017951D1 | Germany | D1 | |
| CN1984200B | China | B | |
| US2011110309A1 | United States of America | A1 | |
| CN1968209B | China | B | |
| CN1984078B | China | B | |
| CN1968328B | China | B | |
| EP1786151B1 | European Patent Office (EPO) | B1 | |
| TWI363534B | Taiwan Province of China | B | |
| TWI363535B | Taiwan Province of China | B | |
| CN101047642B | China | B | |
| CN101202747B | China | B | |
| US8274970B2 | United States of America | B2 | |
| TWI389517B | Taiwan Province of China | B | |
| EP1830518B1 | European Patent Office (EPO) | B1 | |
| EP1830522B1 | European Patent Office (EPO) | B1 | |
| US8483100B2 | United States of America | B2 | |
| EP1786182B1 | European Patent Office (EPO) | B1 | |
| TWI406538B | Taiwan Province of China | B | |
| US8532121B2 | United States of America | B2 | |
| US8625548B2 | United States of America | B2 | |
| TWI425789B | Taiwan Province of China | B | |
| TWI425790B | Taiwan Province of China | B | |
| TWI426742B | Taiwan Province of China | B |
1 legal event, as the office reported them to INPADOC
Events
| Event | Code | |
|---|---|---|
| Annulment or lapse of patent due to non-payment of feesLapsedMM4A | MM4A |
Numbers
- Publication
- 200735580
- Publication, DOCDB
- 200735580
- Publication, EPODOC
- TW200735580
- Application
- 95139994
- Application, DOCDB
- 95139994
- Application, EPODOC
- TW20060139994
Titles4
- Chinese
- 支援分組交換通信的通信架構及其計算設備和通信電路
- English
- MULTIPLE NODE APPLICATIONS COOPERATIVELY MANAGING A PLURALITY OF PACKET SWITCHED NETWORK PATHWAYS
- Unlabeled
- 支援分組交換通信的通信架構及其計算設備和通信電路
- Unlabeled
- Communication architecture supporting packet switching communication and its computing equipment and communication circuit
Classification
- CPC, 9
- H04L12/5692
- H04L41/00
- H04L43/00
- H04L43/0823
- H04L45/22
- H04W40/00
- H04W88/06
- H04W76/20
- H04L41/344
- IPC, 2
- H04L12 24
- H04L12 28