MX2014000641A - System for the simultaneous use of multiple heterogeneous network interfaces for improving the network yield in devices with different interfaces. - Google Patents
System for the simultaneous use of multiple heterogeneous network interfaces for improving the network yield in devices with different interfaces.Info
- Publication number
- MX2014000641A MX2014000641A MX2014000641A MX2014000641A MX2014000641A MX 2014000641 A MX2014000641 A MX 2014000641A MX 2014000641 A MX2014000641 A MX 2014000641A MX 2014000641 A MX2014000641 A MX 2014000641A MX 2014000641 A MX2014000641 A MX 2014000641A
- Authority
- MX
- Mexico
- Prior art keywords
- information
- module
- network interfaces
- interfaces
- network
- Prior art date
Links
Abstract
Described is a general brief of one or more embodiments of the process for using multiple heterogeneous network interfaces for the basic understanding of the process intended to send recurrent information, as well as the general aspects of the processes involved in this patent. The invention described as processes allows sending information in a recurrent manner through multiple heterogeneous network interfaces to a remote node maximizing its yield upon using the complete bandwidth of all the active interfaces. The information is sent by a Connection managing module for establishing, maintaining, closing and aborting connections between network devices. The Connection Managing Module maintains the connections and sends them to the Data Managing Module, which is responsible of exchanging information through multiple interfaces of heterogeneous network. The Data Managing Module is formed by the data processing Module that is intended to manage the outgoing data, providing data packets t o the Packet Distribution Module. The Packet Distribution Module evaluates one of the available heterogeneous network interfaces for determining the number of segments that would be sent per each one of the interfaces. When packets are distributed, the module may interact in a direct manner with each one of the network interfaces for sending data through them. All the information sent by the packet distribution module is transported through an Internet Service Provider that is connected to the Internet and finally to a remote Device, which responds with acknowledgment segments to the multi modal device, the Packet Reception Module keeping in separated information queues, the received segments and passing them to the Segment Reassembling Module, which reassembles the original information from the separated information queues using a number of segments included in each one of the segments by means of the Data Processing Module. When all the information is reassembled and rearranged in a n arranged information queue, the data managing module passes this information to the application layer for being subsequently processed.
Description
System for the simultaneous use of multiple heterogeneous network interfaces to improve network performance in devices with several interfaces
TECHNICAL FIELD OF THE INVENTION
The present invention belongs to the technical field of telecommunications. In particular, the field of Wired and Wireless Technologies, as well as the field of Communication Protocols.
STATE OF THE ART
Nowadays, wireless access technologies are widely used because they allow users to be connected to any network anywhere and at any time. The desire for mobility without requiring a means of physical communication for the transport of data may be the reason why these technologies are so popular. The wireless communication systems of the future aim to integrate multiple wireless access technologies to provide high-speed communication services to mobile users.
A considerable number of wireless access technologies have been developed in recent years. Each technology differs significantly in terms of services offered such as bandwidth, coverage area, quality of service, monetary cost, among others. Examples of wireless technologies are IEEE 802.11 (WiFi), IEEE 802.16 (WiMAX), GSM, CDMA2000, and UMTS.
Wireless access technologies are part of a larger communication network that allows users to connect to their Internet Service Provider (ISP) immediately. This general communication network is composed of a central network, which uses high-speed links to transport data from all users, and the access network.
Usually, many wireless access technologies converge in the same geographical area, allowing multi-modal devices to perceive signals from any of these networks. This is possible because each technology uses different frequency spectra, so they can overlap with nothing or little interference. This type of network topology is called heterogeneous networks.
Access networks are not linked only to wireless technologies. Wired links such as the Digital Subscriber Line (DSL) and its variants (xDSL), Internet cable and Fiber to the Home (FTTH) are widely used today to provide access to users with their respective ISP. Armed with wireless access networks, wired networks can converge with previous ones, providing a more heterogeneous network.
The companies that develop mobile devices have embedded in their products multiple network interfaces that correspond to different technologies, allowing the user to be connected using any of the available access networks whether wired or wireless. These devices are commonly called multi-modal devices. Currently, these devices use only one interface at a time to carry out communication with remote devices. This, in our opinion, restricts the exploitation of all the available resources of the device because they can not use the interfaces simultaneously for the creation of a link of greater capacity for the exchange of data.
The use of multiple network interfaces simultaneously offers great advantages. Some of these are listed below:
• Sum of bandwidth. When a multi-modal device is using multiple network interfaces simultaneously, it can add up the bandwidths offered by each of the technologies, allowing applications that require large bandwidths to perform smoothly.
• Mobility support. When a multi-modal device moves from one network to another, the time associated with the reassociation process can be significantly reduced when another interface is active at all times.
The sum of bandwidth is a process in which multiple network interfaces are used in a simultaneous and collaborative manner for the creation of a high capacity network link. Ideally, this process uses all the available bandwidth in each of the networks.
The sum of bandwidth is not a new issue. It is a technique widely used in servers where two or more network interfaces work together to obtain better performance from the network perspective.
The most common architecture for the sum of bandwidth involves a device (device A) which has multiple network interfaces which it uses simultaneously for communication with a remote device (device B). The technologies used for communication with the remote device can be wired or wireless (heterogeneous networks) as mentioned above.
Support for mobility can be obtained using a single network interface when implementing mobility protocol as Mobile IP. However, the use of multiple network interfaces simultaneously facilitates the process since the multi-modal device is always connected to the Internet with another active interface. That is, if one network interface stops working, the other active interface can continue with the transfer of data to the remote device.
When a multi-modal device that is associated with a network moves, it can reach the coverage area of the associated network, ending the connection with the remote device. The process of reassociation is the
ability to migrate from one network to another dynamically without losing connectivity. The time associated with this process is measurable in seconds. If the multi-modal device migrates from one network to another of the same technology, the process is called horizontal re-association. If the multi-modal device migrates from one network to another of different technology, the process is called vertical reassociation.
If a multi-modal device communicates through its multiple network interfaces simultaneously, it can move and reach the coverage area of a network and remain connected because it still has another network interface associated with another network. This allows the user to continue with their activities without connection interruptions due to connectivity problems.
The document entitled "Splitstream bandwidth management algorithm" with application number US201213648777 20131010 describes a system which provides the management of multiple TCP connections for the distribution of data from a server device to a multi-modal device as an application. The application must run in privileged mode because it collects data coming directly from the applications using Inter-Process Communication processes or data stored in the TCP output information queue. This approach differs from the process described in this patent as there is no need to collect data from the applications because the connection management is done from within a TCP implementation.
The document entitled "HTTP optimization, multi-homing, mobility and priority" with application number W02010US61360 20101220 describes a process that allows a multi-modal device to use multiple connections for the exchange of information based on the HTTP protocol. The architecture presented in this patent focuses on the exchange of information through HTTP. Therefore, its use is intended in restricted scenarios where HTML, images, audio and video resources are available on an HTTP server. The process described in the present patent allows the use of any type of data that TCP can transport.
The document entitled "Systems and methods for multiplexing multiple connections in mobile IP network" with application number MX20100012740 20101122 describes systems and processes based on Mobile IP technology for the use of multiple connections simultaneously. A proxy server for address assignment is used. This server contains mechanisms for multiplexing outgoing packets and demultiplexing incoming packets. The process described here does not require the use of extra hardware in the network because it is an exclusive software implementation.
An article entitled "TCP extension to send trafile simultaneously through multiple heterogeneous network interfaces" published in Proceedings of the 2009 Mexican International Conference on Computer Science with ISBN 978-0-7695-3882-2 of the same authors of the patent, describes mainly the problem of the impossibility of using concurrently more than one interface for sending traffic. Similarly the article proposes an idea of solution but does not include an implementation, or experimental tests, or optimization redesigns that gave rise to the entire process and the different modules described in this patent. After several years of redesign,
Analytical experimentation and optimizations were achieved by defining the processes and modules that are described and desired to be protected in the present patent and that are those that truly improve performance.
DETAILED DESCRIPTION OF THE INVENTION
In the following description, many specific details are used to provide a complete understanding of one or more aspects of the patent. The terms "component", "module", "system", and the like, are intended to include an entity related to a computer, whether in hardware, software or a combination of both.
The use of multiple heterogeneous network interfaces simultaneously is a challenging problem. For the use of multiple network interfaces, the data must be distributed across all the interfaces, maximizing the exploitation rate of the available bandwidth in each one of them.
In Figure 1 the network architecture is identified where a system 101 with multiple embedded network interfaces 102, 103, 104 are used for communication with the corresponding Internet Service Providers 105, 106, 107 and with a remote Device 110 to through Internet 108 and a corresponding Network Interface 109.
The multi-modal device 101 can be a computer, a mobile phone or a tablet with libraries capable of communicating through the network using the Transmission Control Protocol (TCP).
The multi-modal Device 101 connects to the Internet 108 through multiple network interfaces 102, 103, 104 which are hardware elements that allow any device to transfer information. These network interfaces can use the same network technology (homogeneous network interfaces) or use different network technologies (heterogeneous network interfaces) and are not linked to the use of three network interfaces simultaneously. The multi-modal Device 101 may have two or more network interfaces embedded therein. The process described in this patent dynamically adapts to the number of heterogeneous network interfaces that the multi-modal Device 101 includes.
Each Network Interface 102, 103, 104 is connected to an Internet Service Provider (ISP), which provides network connectivity between the Multi-modal Device 101 and the Remote Device 110.
The Remote Device 110 has a Network Interface 109 which allows the device to be able to communicate with other devices using the Internet 108.
Figure 2 shows the communication process using multiple heterogeneous network interfaces in a transparent way to users and applications. This process is described in detail below.
The Connection Management Module 201 is responsible for the management of creating, maintaining, closing and aborting TCP connections. When the multi-modal device is willing to transfer information, the connection management module sends a synchronization message to the remote device for each network interface that is inside the multi-modal device. If the Remote Device supports the use of multiple network interfaces, it responds with acknowledgment messages to the Multi-modal Device, The Connection Management Module 201 uses a special option message called bandwidth addition option making use of of the TCP options field for the exchange of signaling information.
The extension uses a value of 254 in the Option Type field. The option Data field is composed of the sub-fields of connection ID and number of interfaces. The complete field of Option Data is specified by a 6-digit number which is composed as follows: the first two digits belong to the number of interfaces used by the Multi-modal Device, and the last four digits belong to the identifier of Connection. This identifier is used for the multiplexing and demultiplexing of information in the transport layer and is a randomly generated number.
For the creation or establishment of a connection, the Connection Management Module 201 uses the sum of bandwidth option described above. First, the Connection Management Module 201 sends through one of the network interfaces a SYN segment with the active bandwidth sum option to synchronize with the remote Device. If the remote device supports the option of sum of bandwidth, it responds with a SYN / ACK segment to the Connection Management Module 201 with the option of active bandwidth sum. If the Remote Device does not support the sum of bandwidth, it sends a SYN / ACK segment to the Connection Management Module without the active bandwidth sum option. The Connection Management Module 201 sends an ACK segment to the Remote Device and then sends SYN segments using the rest of the network interfaces available in the Multi-modal Device with the active bandwidth addition option.
BRIEF DESCRIPTION OF THE FIGURES
In Figure 1 the network architecture of the system is identified.
Figure 2 shows the communication process using multiple heterogeneous network interfaces transparently to users and applications.
BETTER METHODOPLE TO CARRY OUT THEINVENTION
More specifically, the process for creating connections that involve multiple network interfaces has the following steps:
1. The Connection Management Module 201 sends a SYN segment to the Remote Device with the option
of sum of active bandwidth using its primary network interface.
2. The Remote Device receives the SYN segment and sends an ACK segment. with the same option of sum of bandwidth towards the Connection Management Module 201 then, it waits for other SYN segments that arrive from the rest of the network interfaces.
3. The Connection Management Module 201 receives the ACK segments, verifying that the Remote Device implements the option of sum of bandwidth. If the Remote Device supports the addition of bandwidth, the remaining network interfaces of the Multi-modal Device send SYN segments with the active bandwidth sum option to the Remote Device. If the Remote Device does not support the sum of bandwidth, the Multi-modal Device only sends an ACK segment to the remote Device to carry out the exchange of information using only a network interface.
4. When the Remote Device receives the SYN segments from the remaining network interfaces of the Multi-modal Device, it sends ACK segments to the network interfaces using their respective IP addresses, creating a TCP connection by adding all the IP addresses and ports of the Multi Device. -modal also using its own IP address and port.
5. The Connection Management Module 201 receives the ACK segments and proceeds to the creation of a TCP connection using the IP address and port of the remote Device and its own IP addresses and ports.
The Connection Management Module 201 is responsible for closing the connections. For this, it sends an FIN segment through the slowest active network interfaces at the moment. The slower network interface is determined by the Package Distribution Module 204 because it collects performance information from each of the network interfaces dynamically and periodically.
After the Connection Management Module 201 establishes a connection, the module hands over the connection to the Data Processing Module 203, which is responsible for the processing of information that is to be sent through multiple 207 Network Interfaces. it is distributed in separate information queues which it delivers to the packet distribution module 204. The number of separate information queues depends on the number of network interfaces with which the multi-modal device counts.
The Data Processing Module 203 opens a resource or file which will be transferred through multiple network interfaces. It saves the resource in a set of information queues according to the number of network interfaces available in the multi-modal Device and the performance of each of them. This module is also responsible for package labeling. Each byte array stored in each information queue has a unique and incremental packet number which is used for the reassembly of segments. This number is stored in the first bytes of the data field of each packet.
After the resource information is stored in information queues and is tagged by the data processing module 203, the packet distribution module 204 determines the network performance of each of the network interfaces by obtaining the size of the network. segment and the time of return of the information of each
socket The estimated yield is calculated by dividing the segment size by the return time and delivering the resulting value to a statistical filter such as the Kalman filter to eliminate measurement from the measurements.
The Package Distribution Module 204 uses the measurements evaluated with the Kalman filter to determine the number of segments that will be sent through each of the network interfaces. First, the algorithm is provided with a set of variables such as the weight of the performance for each of the network interfaces to indicate the percentage of performance that the user expects to obtain from each of the interfaces, and a cost weight of each interface to determine the percentage of use of network interfaces that have a monetary cost. These variables must be chosen in such a way that the sum equals 1.
The number of variables considered by the packet distribution algorithm is not linked to the two used in this patent. A set of other variables can be added to the algorithm to overcome specific device or network limitations because each of the variables is normalized to be evaluated as equal.
To obtain an improvement in performance, the variable of performance weight must be configured in 0.7 or more to indicate to the algorithm that the sum of the bandwidth of each of the interfaces is sought.
The Packet Distribution Module 204 obtains a relationship between network interfaces which describes the characteristics and usability range of each of the interfaces that the Multi-modal Device has.
Then, the Package Distribution Module 204 calculates a loading index of each interface which is then used to calculate the number of segments that are to be sent by each of the network interfaces at that moment.
The Package Distribution Module 204 determines by means of a series of formulas the number of segments that each network interface will send. Once the number of segments is calculated, the Network Interfaces 207 are responsible for the conversion of logical to physical information through coding and modulation to be sent through a physical medium to the Internet Service Provider 209.
The Internet Service Provider 209 is responsible for transporting data segments through the Internet 210 directly to the Remote Device. The remote Device can respond with information to the Multi-modal Device through the Internet Service Provider 209. Each packet is delivered to the IP address of the network interface through which it was sent.
The responses of the remote Device come from the Internet Service Provider 209 and are sent directly to the network interfaces using 207 Network Interfaces of the multi-modal Device. Each network interface delivers the responses from the remote Device to the Packet Receiving Module 205.
The Packet Receiving Module 205 is responsible for processing incoming packets. Each network interface has a queue of receiving information, which stores the information sent by the remote Device. The number of information queues is determined by the number of network interfaces of the multi-modal device. This module delivers the information queues to the Segment Reassembly Module 206.
Finally, the last step of the process is implemented by the Segment Reassembly Module 206, which searches for the lower number of packets that are in each of the interfaces' information queues. When it finds the lower number, it deletes the first bytes of the data field corresponding to the package number and the rest of the data is stored in an information queue which will contain the original information in order. The module executes the same algorithm until it finds no data in the network interface information queues.
The information queue where all the original reodemed information is found is delivered to the Connection Management Module 201. The administrator delivers the reordered information queue to the application layer for further processing.
When packet loss occurs, the Connection Management Module 201 employs a retransmission mechanism called selective acknowledgments (SACKs). The SACK option can be sent in the first SYN segment together with the option of sum of bandwidth. The remote device sends selective acknowledgments to each of the network interfaces as it knows the IP address by means of which the packets were sent from the multi-modal device. When the Multi-modal Device receives this information, it retransmits the segments that were lost through the interfaces in which the loss occurred.
Claims (6)
1. A process for the use of multiple heterogeneous interfaces equipped within a multi-modal Device simultaneously and collaboratively to obtain a better network performance, the process comprising: The creation of multiple connections between the Multi-modal Device and the Remote Device, - The labeling of information that will be sent for subsequent reassembly in the Multi-modal Device and Remote Device respectively; Sending information through multiple heterogeneous network interfaces simultaneously to the Remote Device-, The reception of information from multiple network interfaces simultaneously and the reordering of incoming packets, storing the information in a buffer to be processed by the application layer. The implementation of a packet distribution algorithm which dynamically balances the load between multiple heterogeneous network interfaces taking into account the characteristics of the network and the preferences of the user.
2. The process of claim 1 also comprises: The sending of SYN segments for each network interface with which the Multi-modal Device counts using the Connection Management Module-, and, The creation of a TCP connection using multiple heterogeneous network interfaces using the Connection Management Module.
3. The process of claim 1, wherein the information to be sent is distributed among a set of information queues which are determined by the number of interfaces that the multi-modal device has, and the labeling of the information with a segment number using the first n bytes of the information queue which is a number defined by the implementation and which serves for the reassembly of segments.
4. The process of claim 3, wherein the information in each information queue is delivered to the packet distribution module.
5. The process of claim 1, wherein the sending of information through multiple heterogeneous network interfaces is composed of: Obtaining network information such as the packet size and the return time of each of the network interfaces through the socket layer; Y, The calculation of the number of segments that will be sent through multiple heterogeneous network interfaces using a data distribution algorithm; Y, The distribution of the information contained in the information queues of each of the network interfaces to be sent by them.
6. The process of claim 1, wherein the information sent by the multi-modal device is received by the Remote device comprises: The packet receiver module which receives packets from the multiple network interfaces of the multi-modal device; Y, The Packet Receiving Module delivers each of the information queues to the Segment Reassembly Module; Y, The Segment Reassembly Module processes information from the information queues until it finds the smallest segment number. When it finds it, it stores the segment information in a new information queue which will contain the original information issued by the Multi-modal Device ·, and, The Segment Reassembly Module which delivers the queue of information ordered to the application layer for further processing.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
MX2014000641A MX356716B (en) | 2014-01-16 | 2014-01-16 | System for the simultaneous use of multiple heterogeneous network interfaces for improving the network yield in devices with different interfaces. |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
MX2014000641A MX356716B (en) | 2014-01-16 | 2014-01-16 | System for the simultaneous use of multiple heterogeneous network interfaces for improving the network yield in devices with different interfaces. |
Publications (2)
Publication Number | Publication Date |
---|---|
MX2014000641A true MX2014000641A (en) | 2015-07-16 |
MX356716B MX356716B (en) | 2018-05-24 |
Family
ID=54557116
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
MX2014000641A MX356716B (en) | 2014-01-16 | 2014-01-16 | System for the simultaneous use of multiple heterogeneous network interfaces for improving the network yield in devices with different interfaces. |
Country Status (1)
Country | Link |
---|---|
MX (1) | MX356716B (en) |
-
2014
- 2014-01-16 MX MX2014000641A patent/MX356716B/en active IP Right Grant
Also Published As
Publication number | Publication date |
---|---|
MX356716B (en) | 2018-05-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3278514B1 (en) | Data transmission | |
EP2374319B1 (en) | Multi-transport mode devices having improved data throughput | |
US20170302724A1 (en) | Virtual Channel Joining | |
KR101961049B1 (en) | Efficient centralized resource and schedule management in time slotted channel hopping networks | |
US20150319644A1 (en) | A method and a system for sharing wireless broadband connection between devices | |
EP3534574B1 (en) | Techniques for policy management of multi-connectivity network protocols | |
US9825815B2 (en) | System and method for aggregating and estimating the bandwidth of multiple network interfaces | |
US10812292B2 (en) | Packet processing method and device | |
KR20160091118A (en) | Apparatus and Method for transmitting packets through multi homing based network | |
CN107615729A (en) | Data transmission method and communicator | |
CN110740093B (en) | Data forwarding device based on virtual host | |
TW200845775A (en) | Message ordering for network based mobility management systems | |
JP2018511275A (en) | Method and system for scheduling packets in bundling scenarios based on TCP tunnel and native TCP information | |
US20230033272A1 (en) | Method and apparatus for dynamic and efficient load balancing in mobile communication network | |
Phatak et al. | IP-in-IP tunneling to enable the simultaneous use of multiple IP interfaces for network level connection striping | |
US6950668B2 (en) | High data rate communication | |
CN100544307C (en) | The method and system of load control | |
KR101430853B1 (en) | Communication node apparatus, communication system, and method for selecting destination reception interface used for same | |
De Schepper et al. | ORCHESTRA: Supercharging wireless backhaul networks through multi-technology management | |
MX2014000641A (en) | System for the simultaneous use of multiple heterogeneous network interfaces for improving the network yield in devices with different interfaces. | |
Tachibana et al. | Implementation of a proxy-based CMT-SCTP scheme for Android smartphones | |
US9876724B2 (en) | Method for seamless multi-link network connectivity | |
EP3534586B1 (en) | Techniques for interaction between network protocols | |
US20220303194A1 (en) | Enabling Data Exchange Between First and Second Communication Networks Having Different Data Communication Capabilities | |
CN114760358A (en) | Application layer adaptive data forwarding system for distinguishing real-time and non-real-time data streams |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
FG | Grant or registration |