CN111654436B - Network relay equipment suitable for high-speed mobile environment - Google Patents
Network relay equipment suitable for high-speed mobile environment Download PDFInfo
- Publication number
- CN111654436B CN111654436B CN202010493153.XA CN202010493153A CN111654436B CN 111654436 B CN111654436 B CN 111654436B CN 202010493153 A CN202010493153 A CN 202010493153A CN 111654436 B CN111654436 B CN 111654436B
- Authority
- CN
- China
- Prior art keywords
- data
- communication
- network
- path
- processing module
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000004891 communication Methods 0.000 claims abstract description 226
- 238000012545 processing Methods 0.000 claims abstract description 102
- 238000000034 method Methods 0.000 claims abstract description 35
- 238000013507 mapping Methods 0.000 claims abstract description 11
- 230000005540 biological transmission Effects 0.000 claims description 43
- 230000008569 process Effects 0.000 claims description 9
- 230000000875 corresponding effect Effects 0.000 claims 3
- 230000002596 correlated effect Effects 0.000 claims 1
- 230000001413 cellular effect Effects 0.000 description 17
- 238000010295 mobile communication Methods 0.000 description 14
- 230000006870 function Effects 0.000 description 13
- 230000002776 aggregation Effects 0.000 description 11
- 238000004220 aggregation Methods 0.000 description 11
- 238000012986 modification Methods 0.000 description 10
- 230000004048 modification Effects 0.000 description 10
- 238000007726 management method Methods 0.000 description 8
- 238000012360 testing method Methods 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 5
- 239000000243 solution Substances 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 230000007774 longterm Effects 0.000 description 4
- 230000009286 beneficial effect Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 3
- 239000003795 chemical substances by application Substances 0.000 description 3
- 230000001934 delay Effects 0.000 description 3
- 238000001514 detection method Methods 0.000 description 3
- 238000005457 optimization Methods 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 230000007812 deficiency Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000001914 filtration Methods 0.000 description 2
- 238000005259 measurement Methods 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000002441 reversible effect Effects 0.000 description 2
- 101100301835 Arabidopsis thaliana RH45 gene Proteins 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 239000012482 calibration solution Substances 0.000 description 1
- 239000000969 carrier Substances 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 238000005562 fading Methods 0.000 description 1
- 230000036541 health Effects 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 238000002955 isolation Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000013508 migration Methods 0.000 description 1
- 230000005012 migration Effects 0.000 description 1
- 230000000116 mitigating effect Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000005641 tunneling Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/24—Multipath
- H04L45/245—Link aggregation, e.g. trunking
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/24—Multipath
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
- H04L69/161—Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields
- H04L69/162—Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields involving adaptations of sockets based mechanisms
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
The invention relates to a network relay device suitable for a high-speed mobile environment, which is used for being deployed on a communication path of a plurality of first communication hosts and a plurality of second communication hosts, and at least comprises a communication module and a processing module, wherein the processing module is configured to: the method comprises the steps of shunting data of the first communication host or the second communication host received by the communication module to a first path for directly transmitting the data belonging to a specific data type to a user space by bypassing a kernel network protocol stack processing, and mapping the data of the first path to at least two communication paths independent of each other in a mode of predicting multiple network performances based on location awareness.
Description
The invention relates to a divisional application of intermediate equipment supporting multi-path aggregation communication, which has the application number of 201911020017.2, the application date of 2019, 10 and 24 and the application type of invention.
Technical Field
The invention relates to the technical field of communication, in particular to an intermediate device supporting multi-path aggregation communication.
Background
With the continuous development of electronic information technology, intelligent devices equipped with a plurality of network interfaces are widely available. Since the conventional TCP/IP network architecture only allows communication of a single interface, the multi-interface resources are not fully utilized. To change this situation, multipath transmission techniques have been developed.
A Multi Path Transport Control Protocol (MPTCP) is a Transport layer Protocol that concurrently transmits using multiple paths, and can improve end-to-end throughput and increase network utilization and redundancy. MPTCP is fully compatible with the Transmission Control Protocol (TCP). A TCP option header is additionally arranged on the basis of the TCP so as to realize the functions of establishing a link, removing the link, transmitting data and the like of the MPTCP. A typical application scenario of MPTCP may be in an access network or an enterprise network. For example, a smart device (e.g., a computer, a mobile phone, a tablet, a smart wearable device, etc.) is connected to a Home Gateway (HG) through a Wireless Fidelity (Wi-Fi) or a wired network, a mobile terminal is connected to a Hybrid Access Aggregation Point (HAAP) through a Long Term Evolution (LTE) network or Wi-Fi, and in a Hybrid Access (BA) scenario, multiple links such as a Digital Subscriber Line (DSL), a mobile communication network, and Wi-Fi are provided, that is, the HG and the HAAP may be connected through Wi-Fi, DSL, LTE, etc. The mobile terminal and the HAAP can be connected through Wi-Fi or LTE. Taking the example that the mobile terminal realizes the multipath transmission, the mobile terminal is connected with the HAAP and the server through the HG. TCP is adopted between the server and the HAAP, MPTCP is adopted between the HAAP and the HG, and TCP is adopted between the HG and the mobile terminal. In the existing network, data exchange between a user and a server is realized by utilizing large-scale widely-deployed network middleware (routers, firewalls and the like), and although the application program of an MPTCP compatible application layer does not need to be modified, the realization of the MPTCP involves kernel modification, and the network middleware is required to support MPTCP transmission by modifying the kernel.
For example, korean patent publication No. KR20180077602A discloses a multipath transmission system and method supporting MPTCP to transmit and receive data through an MPTCP proxy server, and the user terminal can also be linked with the MPTCP proxy server. To this end, the invention comprises: and a user terminal which generates a VPN with the MPTCP proxy server by executing the MPTCP service authentication application downloaded and installed from the application market server, and performs MPTCP service authentication processing through the VPN. An MPTCP proxy server which generates a VPN with the user terminal, authenticates whether the user terminal is allowed to use the MPTCP service according to an authentication request received from the user terminal through the VPN, and then provides the MPTCP service to the user. If the user terminal is a terminal that allows the use of MPTCP services, it can connect with the MPTCP proxy server through the VPN. Therefore, the invention enables even a user terminal that does not include an MPTCP service authentication function to transmit and receive data with a content server that does not support MPTCP through an MPTCP proxy server by connecting with the MPTCP proxy server. After setting a VPN between the user terminal and the MPTCP proxy server by using the MPTCP service authentication application, the server performs an MPTCP service authentication procedure through the set VPN. The patent realizes multipath transmission between a user terminal with a plurality of network interfaces and an MPTCP proxy through an MPTCP proxy-authentication architecture system, and a TCP link is arranged between the MPTCP proxy and a traditional server, so that the user terminal, such as a smart phone, can access a cellular network and a Wi-Fi network, and the user terminal can interact with the traditional server by using the cellular network and the Wi-Fi. However, the method provided by the patent requires the User Equipment (UE) to download the corresponding application to complete authentication, and this way of downloading and installing the authentication application may present potential security risks, such as path selection determined by the MPTCP protocol itself, correspondingly slow health of multiple networks, and possibly intercepted by peer programs with common authorities. Moreover, some user devices do not support the installation of authentication applications, such as smart terminals using an IOS system.
In fact, the user equipment whose operating system kernel does not support MPTCP generally uses a kernel modification mode to support MPTCP. For example, chinese patent publication No. CN107231349A discloses a method and an apparatus for implementing MPTCP protocol in an intelligent terminal device, where the method includes: acquiring an Android operating system source code used by the intelligent terminal equipment, and transplanting the set of source codes into the Virtual Box Virtual machine, so that the Android operating system can run in the Virtual Box Virtual machine; running an Android operating system integrated with MPTCP on a Virtual Box Virtual machine, and constructing a network environment of a multi-path transmission control protocol MPTCP to realize the function test of the MPTCP; and after the test is successful, copying the MPTCP source code file into a source code of an Android operating system used by the intelligent terminal equipment, and testing on the intelligent terminal equipment. The method for integrating the MPTCP codes into the Android kernel can test correct MPTCP protocol codes in the Virtual machine environment of the Virtual Box and can be directly applied to intelligent terminal equipment adopting an Android platform.
In addition, in a special application scenario, for example, in an application scenario of high speed movement such as on a high-speed rail, on a train, or in an automobile, how to improve one or more Quality of Experience (QoE) of users is a problem to be solved. In such a communication network environment moving at high speed, the network has a characteristic of highly intermittent connection. Although path diversity on mobile network relays can be exploited by the MPTCP protocol, the MPTCP protocol cannot accommodate such frequent network outages.
For example, chinese patent publication No. CN101925125B discloses a method of multipath TCP with mobility combined with mobile IP, which aims to provide mobility support for a mobile host supporting multipath TCP, and can meet the requirement of a user to use multiple interfaces simultaneously and perform communication anytime and anywhere. The method is a multi-path TCP method that a mobile node roams from a home network to any foreign network in a mobile IP network and keeps communicating with a local fixed communication node, and is realized by the following steps in sequence:
step 1: initializing the mobile IP network;
step 1.1, initializing the network; setting a first home agent, which is a router on the home link of the mobile node, through which the mobile node has registered a current care-of address, and when the mobile node is far from home, the home agent intercepts packets sent to the home address hoa of the mobile node on the home link, encapsulates the packets, and sends the packets to the care-of address registered by the mobile node in a tunneling mode;
step 1.2 setting of the mobile node and the correspondent node: at least one interface mesh, the address of at least one interface mesh represents maddr, the home addresses hoa of the mobile node and the communication node, and at least one interface address caddr, wherein the mobile node and the communication node are further provided with: the system comprises a multipath scheduling module, a path management module, a multipath negotiation and detection module, a scheduling strategy module and a sub TCP flow control management module, wherein: the multi-path scheduling module is interconnected with the path management module, the multi-path negotiation and detection module, the scheduling strategy module and the self-TCP flow control management module, so that the normal operation of the multi-path TCP is realized; the scheduling policy management module is responsible for distributing data to each sub TCP stream, the sub TCP stream control management module is responsible for creating and deleting the sub TCP streams, the path management module is responsible for providing a multi-path address table for the multi-path TCP layer, and the multi-path negotiation and detection module is responsible for acquiring a plurality of interface address identifiers and interface addresses of an opposite side and establishing multi-path TCP with the opposite side. The patent is in combination with the use of MPTCP and mobile IP to realize support of multipath transmission and mobility. The modified mobile IP layer is responsible for supporting mobility, and the multi-path TCP layer is responsible for establishing and managing multi-paths. The patent aims at the problem that when the mobile terminal roams from a home network to a foreign network, the host of the correspondent node cannot know the new IP address of the mobile node due to the change of the IP address, and finally the routing failure causes the communication interruption of the mobile node. The MPTCP technique employed by this patent cannot accommodate frequent network outages. For example, the document [1] hanging Wang, Yufan Zheng, Yunzhe Ni, Chenren Xu, Feng Qian, Wangyang Li, Wanntong Jiang, Yuhua Cheng, Zhuo Cheng, Yuanjie Li, Xie Xiufeng, Yi Sun, and Zhongfeng Wang, active-passive raw decision of TCP performance on high-speed train, in ACM Mobicom,2019 shows that switching (and TCP interruption) occurs once every 8.6 seconds for a high-speed railway at 350km/h, and TCP throughput drops by more than 80% compared to when the train is stationary. More importantly, the patent adopts the MPTCP protocol, involves kernel modification, and cannot be compatible with traditional middleware deployed on a large scale.
For example, the document [2] Pablo Rodriguez, Rajiv Chakravorty, Julian Chesterfield, Ian Pratt, and Suman Banerjee.Mar: A communication router in construction for the mobile internet. in ACM Mobile, 2004. discloses an infrastructure for a mobile access router that provides improved data performance for users of wireless data connections using wireless diversity (channel diversity, network diversity and technology diversity). The infrastructure is a wireless multi-homing device, which can prevent new channels from being dynamically instantiated according to traffic demands on mobile vehicles, such as automobiles, buses, trains and the like, summarize bandwidth and dynamically transfer load from channels with poor quality to channels with higher quality, thereby realizing high-speed data access in a mobile environment.
For example, document [3] Ratul Mahajan Jittenra Padhadhye Sharad Agarwal and Brian Zill.high performance vehicle connectivity with supporting erasure coding. in USENIX ATC,2012. Unlike prior erasure coding methods, which only turn on the device to send the coded packet at the instant of the path free capacity, existing erasure coding methods ignore the path free capacity, and this transmission strategy ensures that the coded packet provides as much protection as possible without delaying or stealing the packet's capacity. Opportunistic erasure coding greedily maximizes the new data that the receiving end recovers in each coded packet.
For example, document [4] Joshua Hare, Lance Hartung, and Sun Banerjee.TRANSPARENT FLOW MIGRATION THROUGH SPLICING FOR MULTI-HOmed vertical INTERNET GATEWAYS. In IEEE VNC,2013 discloses a technique called FloMiS by which flows can be migrated from one network to another without any modification to the endpoints (Internet-based servers or mobile clients). The problem that each cellular path in a mobile environment encounters stalls and failures, resulting in network traffic disruption. The technique implements the FloMiS mechanism only in the gateway, through which the gateway restarts requests for mid-stream content and splices them back to the original stream in a transparent manner to the mobile client. FloMiS aims at optimizing the traffic for most networks, and experimental data shows that FloMiS can migrate more than 93% of flows in a short two round trip time, and clients will typically recover after a few minutes of disconnection.
Documents [2-4] propose network architecture elements and solutions that can be used for bandwidth aggregation and link failure mitigation based on multi-carrier mobile relay, and show technical effects in low-speed scenarios (e.g., buses), but on highways, even on high-speed rails, the speed can reach 350km/h, resulting in a network handover or network outage that occurs within at least 10 seconds, greatly reducing the throughput of the network, resulting in an extremely unfriendly user experience.
In summary, the problem that in the prior art, in a scenario where a user is moving, poor user quality of experience QoE due to frequent switching or interruption of a network and an existing multipath transmission protocol MPTCP cannot be compatible with a network middleware deployed in a large scale, so that bandwidth aggregation gain due to multipath cannot be utilized in an existing network environment needs to be solved.
Furthermore, on the one hand, due to the differences in understanding to the person skilled in the art; on the other hand, since the inventor has studied a lot of documents and patents when making the present invention, but the space is not limited to the details and contents listed in the above, however, the present invention is by no means free of the features of the prior art, but the present invention has been provided with all the features of the prior art, and the applicant reserves the right to increase the related prior art in the background.
Disclosure of Invention
In view of the deficiencies of the prior art, the present invention provides an intermediate device supporting multiple paths of aggregated communication, for being deployed on a communication path between a plurality of first communication hosts and a plurality of second communication hosts. The intermediate device comprises at least: the communication module is used for receiving and sending data of the first communication host or the second communication host; an interface module for accessing a plurality of networks including at least two communication paths independent of each other; and the processing module is used for mapping the received data of the first communication host or the second communication host to at least two mutually independent communication paths accessed by the interface module. The processing module is configured to: shunting data of the first communication host or the second communication host received by the communication module to a first path for directly transmitting data belonging to a specific data type to a user space by bypassing a kernel network protocol stack processing and a second path for processing data not belonging to the specific data type by the kernel network protocol stack. The processing module is configured to establish a multi-path connection with a multi-path module having a multi-path transmission capability disposed on the first communication host side or the second communication host side in such a manner that data of the first path is mapped to at least two communication paths independent of each other. By the setting mode, data can be called in the user space, so that the intermediate equipment can construct a complete multi-user multi-path transmission architecture on the user space level, not only can support context data-driven scheduling, but also can be highly expanded to integrate different packet scheduling strategies, thereby being beneficial to actual deployment and performance optimization of the intermediate equipment.
An intermediate device supporting multi-path aggregation communication is used for being deployed on a communication path of a plurality of first communication hosts and a plurality of second communication hosts. The intermediate device comprises at least: the communication module is used for receiving and sending data of the first communication host or the second communication host; an interface module for accessing a plurality of networks including at least two communication paths independent of each other; and the processing module is used for mapping the received data of the first communication host or the second communication host to at least two mutually independent communication paths accessed by the interface module. The processing module is configured to: shunting data of the first communication host or the second communication host received by the communication module to a first path for directly transmitting data belonging to a specific data type to a user space by bypassing a kernel network protocol stack process and a second path for processing data not belonging to the specific data type by the kernel network protocol stack. The processing module is configured to map data of the first path to at least two communication paths independent of each other in a manner that predicts multiple network performance based on location awareness, thereby increasing robustness of multi-path transmission. By the setting mode, the intermediate device realizes packet scheduling by driving the context database based on the position sensing prediction network performance, not only can adapt to frequent cut-off of the network, but also can aggregate wireless signal coverage and bandwidth brought by different operators, thereby improving the reliability and throughput of end-to-end transmission and essentially improving the quality of experience (QoE) of users.
According to a preferred embodiment, the processing module comprises at least a scheduler. The scheduler is configured to: driving mapping of data of different first or second communication hosts within the first path to the same communication path or at least two communication paths independent of each other based on a context database comprising at least context data from predicting the performance of the plurality of networks based on location awareness; and driving data of the same first communication host or second communication host in the first path to be mapped to at least two communication paths independent of each other.
According to a preferred embodiment, the processing module constructs the context database according to the following steps: processing based on the acquired signal data to construct signal parameter data; constructing performance data for network performance prediction based on the signal parameter data; constructing handover data based on a disconnection pattern between the plurality of networks. The performance data and the handover data construct context data that predicts performance of the plurality of networks based on location awareness.
According to a preferred embodiment, the processing module processes the acquired signal data to construct the signal parameter data according to the following steps: tracking and independence are carried out on signal parameters of different systems based on the acquired signal data, so that the dependence relationship between a physical position and a network position is separated; and dividing the signal parameter tracking of each corresponding cell identification code in the acquired signal data into a plurality of tracking entries according to the first time and the overlapping window.
According to a preferred embodiment, the processing module constructs performance data for network performance prediction based on the signal parameter data according to the following steps: generating the performance data based on a best match between the tracking entries stored in the signal parameter data for at least one day associated with a cell identification code and a newly entered tracking entry associated with that cell identification code. In the event that the trace entry matches, the processing module returns the performance data within a second time since the trace entry matched.
According to a preferred embodiment, the context database quantifies the reliability of the performance data by feeding back a confidence value to the scheduler as a reference in case the minimum value of at least one distance measure with respect to the cell identity is larger than a first threshold value.
According to a preferred embodiment, the processing module constructs the handover data according to the following steps: switching between the plurality of networks is determined as first switching data indicating success, second switching data indicating failure, and third switching data indicating interruption based on the determination of the disconnection time.
A method of multi-path communication, the method comprising: the at least one data forwarding processing module shunts the received data of the first communication host or the second communication host to a first path for bypassing the processing of the kernel network protocol stack by the data belonging to the specific data type and directly transmitting the data to the user space and a second path for processing the data not belonging to the specific data type by the kernel network protocol stack. And establishing multi-path connection between the data of the first path and another data forwarding processing module or a multi-path module with multi-path transmission capability, which is deployed on the first communication host side or the second communication host side, in a manner of inversely multiplexing a plurality of communication paths in a user space.
According to a preferred embodiment, the data forwarding processing module comprises at least a scheduler. The scheduler is configured to: driving mapping of data of different first or second communication hosts within the first path to the same or at least two mutually independent communication paths based on a context database comprising at least context data from predicting the performance of the plurality of networks based on location awareness; and driving data of the same first communication host or second communication host in the first path to be mapped to at least two communication paths independent of each other.
Drawings
FIG. 1 is a block schematic diagram of a preferred embodiment of an intermediate apparatus of the present invention;
FIG. 2 is a block diagram of a preferred database of the present invention;
FIG. 3 is a table of the Key-Value settings of a preferred context database of the present invention; and
FIG. 4 is a block schematic diagram of a preferred embodiment of the method of the present invention.
List of reference numerals
100: the first communication host 200: data forwarding processing module
201: the communication module 202: interface module
203: the processing module 204: scheduler
210: kernel space 211: kernel network protocol stack
220: user space 221: standard socket
222: original socket 230: first path
240: second path 250: context database
251: signal parameter data 252: performance data
253: switching data 254: signal parameter tracking
255: cell identification code 256: signal data
257: tracking entry 258: matching algorithm
259: matching result 260: batch processing
261: RSRP identity 262: network performance parameters
300: the multipath module 400: second communication host
500: communication path 2531: first switching data
2532: second switching data 2533: third switching data
Detailed Description
The following detailed description is made with reference to fig. 1 to 4.
First, some terms used in the present invention are defined:
the first communication host: the first communication host may be a User Equipment (UE) in various forms, which may be a handheld device with wireless communication function, a vehicle-mounted device, a wearable device, a computing device or other processing device connected to a wireless modem, a Mobile Station (MS), a Terminal device (Terminal Equipment), and so on, or may be an application program on the User Equipment, and the first communication host may also be a name for a physical computer as compared to a virtual machine. The first communication host provides a virtual machine hardware environment, sometimes referred to as a host or host.
The second communication host: the server can be an existing server or a server with multi-path transmission capability.
The proxy server: which may be referred to as a network proxy, is a special network service that allows one network terminal to make an indirect connection with another network terminal through the service.
And bandwidth aggregation: multipath desires that parallel transmissions over multiple available paths may multiply the network available bandwidth. If effective bandwidth aggregation can be achieved in this way, a multi-homed device will achieve good network performance.
Packet (Packet): the network layer corresponding to TCP/IP refers to the data unit of TCP/IP protocol communication transmission, which may also be referred to as a packet, and is usually referred to as a packet in scheduling, which refers to the granularity of scheduling policy forwarding data.
User Space (User Space): the running space of the user program.
Kernel Space (Kernel Space): operating system kernel runtime.
Context (Context): the context is simply an environmental parameter. The context parameters are parameters related to network performance and transmission time and bytes when scheduling user flows.
Network name space: the Linux kernel provides a name space, the name space packages the global system resources into an abstraction, and the abstraction can only be bound with the process in the name space, so that resource isolation is provided; the network namespace provides a completely new network stack for all processes in the namespace, including network interfaces, routing tables, and the like.
Cell-ID (Cell-ID): the location service platform is used for determining the location of a user, namely a cell number (estimated according to a service base station) where a wireless network reports a terminal, and translating the cell number into longitude and latitude coordinates.
Reference Signal Receiving Power (RSRP): the linear average of the received power over the resource elements carrying the reference signal over the measurement frequency bandwidth is one of the key parameters that can represent the radio signal strength in the LTE network and the physical layer measurement requirements, and is the average of the received signal power over all resource elements carrying the reference signal within a certain symbol. The use and specification are equivalent to the rscp (received Signal Code power) received Signal Code power in WCDMA.
Signal parameter tracking: refers to timing diagrams of cellular signal related parameters.
Example 1
In view of the deficiencies of the prior art, the present invention provides an intermediate device supporting multiple paths of aggregated communication, for being deployed on a communication path between a plurality of first communication hosts 100 and a plurality of second communication hosts 400. Preferably, the middleware provided by the embodiment is compatible with the network middleware deployed in a large scale in the existing network, that is, the kernel modification is not required, and the modification of an upper layer application or a network layer protocol is not required.
Preferably, the intermediate device comprises at least: a communication module 201, an interface module 202 and a processing module 203. The communication module 201 is used to receive and transmit data of the first communication host 100 or the second communication host 400. The interface module 202 is used to access multiple networks including at least two communication paths 500 that are independent of each other. The processing module 203 is configured to map the received data of the first communication host 100 or the second communication host 400 onto at least two mutually independent communication paths 500 accessed by the interface module 202. Preferably, the communication module 201 includes at least a wired/wireless gateway, a signal receiver, a signal transmitter, and is capable of receiving wired or wireless signals. Preferably, the communication module 201 further comprises a WLAN interface, a Wi-Fi interface, an ethernet RH45 interface, etc. Preferably, the communication module 201 further includes a bluetooth module, a ZigBee module, and the like. Preferably, the interface module 202 is a baseband processing circuit provided with a corresponding SIM card slot, or includes a SIM card slot and a baseband processing chip. The SIM card slot is connected with the baseband processing chip through a peripheral logic circuit arranged outside the SIM card slot. Preferably, The baseband processing circuit or The baseband processing chip is capable of modulating and demodulating signals of different Mobile Communication technologies, such as Global System for Mobile Communication (GSM), Wideband Code Division Multiple Access (WCDMA), Code Division Multiple Access (CDMA), Time Division-Synchronous Code Division Multiple Access (TD-SCDMA), third Generation Mobile Communication technology (The 3rd-Generation Mobile Communication, 3G), Long Term Evolution (LTE), LTE-Advanced according to The fourth Generation Mobile Communication (The 4th-Generation Mobile Communication, 4G) standard, System Architecture (Architecture) with features of The fourth Generation Mobile Communication, and SAE-5 Mobile Communication (SAE-5), 5G) in that respect Preferably, the Processing module 203 may be a Central Processing Unit (CPU), a general purpose Processor, a Digital Signal Processor (DSP), an Application-Specific Integrated Circuit (ASIC), a Field Programmable Gate Array (FPGA) or other Programmable logic device, a transistor logic device, a hardware component, or any combination thereof. The data processing module 203 preferably carries an operating system, such as the Linux system.
Preferably, as shown in fig. 1, the processing module 203 is configured to: the data of the first communication host 100 or the second communication host 400 received by the communication module 201 is shunted to a first path 230 for transmitting data belonging to a specific data type directly to the user space 220 bypassing the core network protocol stack 211 processing and a second path 240 for processing data not belonging to the specific data type by the core network protocol stack 211. Preferably, the specific data type is user-defined according to the use environment and the application scenario. The user may edit and modify the type of particular data. Preferably, the type of the specific data means that at least the protocol format adopted by the data and the source address are included. For example, whether the data is the data transmitted by the directly served first communication host 100 may be acquired through the source address. For example, multipath transmission may also be selectively implemented for data of a particular protocol by the protocol format of the data. Preferably, as shown in fig. 1, the communication module 201 may parse data in different communication protocols and formats, so as to shunt relevant data to the first path 230 according to a class type of specific data defined by a user. Through the setting mode, the received data of the first communication host 100 can automatically complete protocol conversion through the communication module 201, no additional module is needed, compatibility is improved, and the difficulty of programming work is greatly reduced. Preferably, the processing by the kernel network protocol stack 211 is bypassed in such a way that the invocation of the data is through the raw socket 222 instead of the standard socket 221. Through the setting mode, the original socket 222 can receive and transmit the data packet which is not processed by the kernel network protocol stack 211, so that the data is called in the user space 220 instead of the kernel space 210, the kernel does not need to be modified, the modification of an application program is not involved, the method can be compatible with the network middleware widely deployed in the prior art, and the actual deployment of the middleware provided by the embodiment is facilitated. Preferably, as shown in fig. 1, the second path 240 transceives data packets from the standard socket 221. The data packets sent and received by the standard socket 221 are all processed by the kernel network protocol stack 211. By this arrangement, the second path 240 can be used to transmit control information similar to settlement.
Preferably, the processing module 203 is configured to establish a multipath connection with the multipath module 300 having a multipath transmission capability disposed on the first communication host 100 side or the second communication host 400 side in such a manner that data of the first path 230 is mapped to at least two communication paths 500 independent of each other. Preferably, the multipath module 300 having the multipath transmission capability may be an agent or an intermediate device provided by the present embodiment. Preferably, in the case that the second communication host 400 supports multipath communication, the intermediate device provided in this embodiment may establish multipath connection with the second communication host 400.
Through the setting, the beneficial effect of this embodiment is: the first path 230 is used for transceiving data of the first communication host 100 or the second communication host 400, and the data can be called in the user space 220, so that the intermediate device provided by this embodiment can construct a complete multi-user multi-path transmission architecture at the user space 220 level, can support context data-driven scheduling, and can be highly extended to integrate different packet scheduling policies, thereby facilitating actual deployment and performance optimization of the intermediate device.
Preferably, as shown in fig. 1, there are at least two communication paths 500 that are independent of each other between the intermediate device provided in the present embodiment and the multipath module 300 on the second communication host 400 side. Preferably, the communication path 500 may also be referred to as a pipe. The piping can be implemented flexibly in different ways. For example, a TCP link may be used as the pipe, and a Stream Control Transmission Protocol (SCTP) link may be used as the pipe. Preferably, the processing module 203 inverse multiplexes the data in the first path 230 onto the plurality of communication paths 500 so that the data in the first path 230 can be transmitted through TCP sockets on each pipe. Both the TCP payload and the control data are encapsulated into the transport layer. Preferably, the user can select a plurality of congestion control algorithms according to the use environment, for example, a TCP BBR congestion control algorithm is selected, so that the end-to-end delay and packet loss can be reduced. Preferably, inverse multiplexing refers to segmenting and encapsulating the data stream from the first path 230 into packets at the processing module 203, and then distributing the packets onto the pipeline. Each message has a header containing the ID, length and sequence number of the application connection.
Preferably, the multipath module 300 is disposed on the second communication host 400 side, or the intermediate device provided in this embodiment may be used to replace the multipath module 300, and the data transmission process is as follows: the processing module 203 distributes the data of the user to at least two communication paths 500 accessed by the interface module 202, so that bandwidth aggregation can be realized by utilizing the benefit of multi-path diversity, and the data packet can be transmitted to the intermediate device arranged at the second communication host 400 side through a plurality of paths. The intermediate device extracts the data packets arriving through the plurality of paths and restores the data packets to the data transmitted by the first communication host 100. Then, the data transmitted by the first communication host 100 is transmitted to the second communication host 400. When the second communication host 400 feeds back data to the first communication host 100, the intermediate device that has established a session with the second communication host 400 at this time has the same function as the intermediate device on the first communication host 100 side, that is, data conforming to a specific data type is transmitted to the intermediate device on the first communication host 100 side through the original socket 222 in such a manner that at least two communication paths 500 independent of each other are inversely multiplexed. With the above arrangement, by utilizing the inverse multiplex communication path 500 and selecting different transport layer communication protocols, short data streams can be immediately benefited by eliminating the overhead (e.g., slow start) of connection setup, and the traffic on each pipe is made denser, resulting in better bandwidth utilization.
Preferably, the processing module 203 transmits and processes the user data within the first path 230 in a separate network namespace. By the arrangement mode, the configuration conflict with the kernel used by other programs can be avoided, and potential safety problems can be reduced. For example, operations of disabling the reverse path filtering are required on the proxy server, so that the virtual ethernet device for forwarding the data packet to the real network card receives the data packet of any source IP generated by the intermediate device provided in this embodiment, and the security risk generated thereby will be isolated from the normally running program and managed in its own network namespace by the processing module 203.
Preferably, the deployment of the intermediate device provided by this embodiment is as shown in fig. 1. The first communication host 100 may be connected with the communication module 201 by a wireless or wired manner. For example, the communication module 201 may be connected to a Wireless Access Point (AP). And may also be connected to the communication module 201 by means of a wired connection. The multipath module 300 may also be connected to the second communication host 400 by means of a wired or wireless connection. The intermediate device and the multipath module 203 provided in this embodiment may establish multipath connection through networks of different systems accessed by the interface module 202. For example, different core networks may be accessed by base stations (e.g., BTS, NodeB, eNodeB, etc.), and short-wave communication networks, GPS, satellite communication networks, cellular mobile networks, PSTN, ISDN, Internet, etc. may be accessed by the core networks. In different application scenarios, the deployment positions of the intermediate devices provided by the embodiment are different. For example, the intermediate device may be deployed on a data forwarding node of a home gateway, a router, a Customer Premise Equipment (CPE) on the first communication host 100 side; the intermediate device provided by this embodiment may also be deployed in a hybrid aggregation point node (HAAP). E.g. 3G core network elements sgsn (serving GPRS Support node) and ggsn (gateway GPRS Support node). Preferably, the network element may also be deployed in a 4G core network, for example, on network elements of an all IP Packet core epc (evolved Packet core) of lte (long Term evolution), such as an sgw (serving gateway) and a pgw (pdn gateway).
Preferably, the intermediate device provided by the embodiment can realize different functions according to different deployment positions. For example, on subways, trains, railcars moving at high speed, the passenger's mobile network is in a frequent network outage due to the limitation of fast movement and complex terrain. Therefore, the mobile communication device provided by this embodiment may be deployed on a subway, a train, or a motor train, and the user device of the passenger is accessed through the AP, so that the mobile network of different frequency bands of different operators may be connected to the multipath module 300 with the multipath transmission function, or connected to another intermediate device deployed on the second communication host 400 side to implement multipath transmission. For example, in a public place with a large traffic volume such as a station and an airport, a device for providing a network service to a user may be connected, thereby providing a network access function based on multiplex transmission to a large number of users. Preferably, the multi-path module 300 having a multi-path transmission function or another intermediate device deployed on the second communication host 400 side may be deployed in a backbone Network of a Content Delivery Network (CDN) provider, and may improve efficiency of accessing the CDN by a user by using a multi-path transmission technology. The multipath module 300 with the multipath transmission function or another intermediate device deployed on the second communication host 400 side may also be deployed in a specific intranet, so that an effect similar to a virtual private network VPN may be obtained, that is, data in the intranet is accessed externally, and a transmission efficiency gain provided by multipath transmission may also be obtained.
Example 2
The embodiment provides an intermediate device supporting multipath communication, which is used for being deployed in a mobile use scene. Preferably, the mobile usage scene can be an application scene of a subway, a train, a motor train, a bus, an automobile and the like. Preferably, most User Equipment (UE), home gateways, and routers in the prior art have limited capability of supporting access to multiple networks based on cost and application scenarios, for example, a smart phone in the prior art only supports dual-card dual standby in consideration of cost, two SIM cards share one set of Radio Frequency (RF) and one set of modem, cannot realize simultaneous use of two systems of mobile networks, and only can simultaneously use Wi-Fi and one system of mobile communication networks, so that in a special application scenario, for example, in an application scenario without Wi-Fi network signals, such as a subway, a train, a bus, and an automobile, a User can only use one operator's mobile network at the same time. Furthermore, as described in the background art, for the usage environment of high-speed movement, the existing MPTCP or the technical solutions disclosed in documents [2 to 4] cannot adapt to frequent network handover or network interruption, so that the throughput of the network is greatly reduced, resulting in extremely unfriendly user experience. Therefore, this embodiment proposes a method for predicting network performance based on location awareness to implement scheduling of data packets on the basis of the intermediate device provided in embodiment 1. The location awareness based may be to perceive dynamic changes of the network at least by the physical location of the moving object and the network location, thereby predicting the performance of the mobile communication network of the moving object at different locations, e.g. predicting the throughput, path round trip delay time, etc. of the mobile communication network. The packet scheduling is realized by driving the context database 250 based on the location awareness to predict the network performance, which not only can adapt to the frequent switching of the network, but also can aggregate wireless signal coverage and bandwidth brought by different operators, thereby improving the reliability and throughput of end-to-end transmission, and essentially improving the quality of experience (QoE) of users.
Preferably, the intermediate device comprises at least: a communication module 201 for receiving and transmitting data of the first communication host 100 or the second communication host 400; an interface module 202 for accessing a plurality of networks including at least two communication paths 500 independent of each other; a processing module 203 for mapping the received data of the first communication host 100 or the second communication host 400 to at least two mutually independent communication paths 500 accessed by the interface module 202. The processing module 203 is configured to: the data of the first communication host 100 or the second communication host 400 received by the communication module 201 is shunted to a first path 230 for transmitting the data belonging to the specific data type directly to the user space 220 bypassing the core network protocol stack 211 processing and a second path 240 for transmitting the data not belonging to the specific data type by the core network protocol stack 211 processing. Preferably, the preferred implementation of the above modules may be the same as that in embodiment 1, and details are not described in this embodiment.
Preferably, the intermediate device is for deployment on a communication path of the plurality of first communication hosts 100 and the plurality of second communication hosts 400. Preferably, in case that the intermediate device is deployed on, for example, a subway, a train, a motor car, a bus, a car, the first communication host 100 may refer to a user device of a user. The intermediate device may be disposed in the vehicle compartment, and wirelessly access the signal data of the plurality of first communication hosts 100. Preferably, the second communication host 400 may be a conventional server, providing a corresponding service. The second communication host 400 is provided with the multipath module 300 or another intermediate device that establishes a session with the second communication host 400, and the intermediate device on the first communication host 100 side establishes a multipath connection with the multipath module 300 or another intermediate device. Preferably, the intermediate device on the first communication master 100 side is able to connect to the core network via base stations of multiple operators, e.g. BTS, NodeB, eNodeB. Another intermediate device may be deployed on a gateway of a corresponding core network, for example, 3G core network elements sgsn (serving GPRS Support node) and ggsn (gateway GPRS Support node). Preferably, the network element may also be deployed in a 4G core network, for example, on network elements of an all IP Packet core epc (evolved Packet core) of lte (long Term evolution), such as an sgw (serving gateway) and a pgw (pdn gateway). Through the arrangement mode, the base stations of a plurality of operators can be utilized, and a larger coverage area is brought. In fact, if network outage is defined as a period with throughput less than 100Kbps, the outage times for individual operators are 12%, 17% and 26%, respectively. If it is possible to multiplex three operators, the outage time is reduced to 1%, so that the network outage time can be reduced substantially.
Preferably, the processing module 203 is configured to map data of the first path 230 to at least two communication paths 500 independent of each other in a manner that predicts multiple network performance based on location awareness, thereby increasing robustness of multi-path transmission. Preferably, the travel path is pre-planned for trains, railcars, high-speed trains, and buses. Therefore, by modeling and predicting trackside connections, links for data transmission can be prevented from being switched quickly. However, high speed movement makes network connections less predictable than in low-mobility scenarios. We have tested the "rejuvenate" train of the jinghu line of high-speed railway, as it represents the fastest high-speed railway network environment for train speeds (i.e., 350 km/h). On the second communication host 400 side, three powerful co-location servers (Intel Nuc6i7kyk) are deployed in the education and research computer network CERNET in china. The first communication host 100 side performs a test using SIM cards of three carriers. It has been found through testing that cell handovers can occur at different times and can be connected to disparate cells at different times simultaneously. Moreover, through testing, it is found that in a low-speed moving scene, the cellular signal can be used as an index for network performance prediction, whereas in a high-speed moving environment, the correlation between the cellular signal strength and the network performance is weak. The concrete expression is as follows: when the RSRP of the cellular signal is greater than-100 dBm, the median throughput difference is small for all operators. The amplitude of the change is large, and for example, the throughput is 5Mbps in the case of a weak signal (equal to or less than-110 dBm) and 100kbps in the case of-80 dBm RSRP. Therefore, in high-speed moving scenarios, prediction of network performance is of paramount importance. Due to the home location strategy, the tracking of the cell identification code is inconsistent with the tracking of the mobility of the train, and when the signal strength is within the range of 30dB, the network performance is very random. It is therefore desirable to employ prediction of network performance on a location-aware basis to avoid network handover or interruption in high-speed mobile scenarios. For example, predicting network performance based on location awareness may be by using cellular signals to construct a context database 250 based on location awareness prediction network performance, and communicating network-related conditions to the scheduler 204, so that the scheduler 204 can guarantee network throughput in case of frequent network interruption or network handover, thereby improving performance of end-to-end transmission in high-speed mobile scenarios.
According to a preferred embodiment, the processing module 203 comprises at least a scheduler 204. The scheduler 204 is configured to drive the mapping of data of different first 100 or second 400 communication hosts within the first path 230 to the same communication path 500 or at least two mutually independent communication paths 500 based on a context database 250 comprising at least context data from location-aware prediction of multiple network performance; and data driving the same first communication host 100 or second communication host 400 within the first path 230 are mapped to at least two communication paths 500 independent of each other.
Preferably, the present embodiment employs a reliable location performance calibration solution based on cellular information. The cellular information is robust to GPS signal disruptions (e.g., GPS cannot be used in tunnels) and train delays. Preferably, the context database 250 may adopt a "Key-Value distributed storage database, and has an extremely high concurrent read-write capability according to a Key Value (Value). Preferably, the keyword problem of the context database 250 is how to design effective network performance lookup keywords from cellular information. Preferably, the prior art generally employs scarecrow solutions. The scarecrow solution is to directly map the instantaneous cellular information (cell identity 255 and RSRP value) to TCP performance. This solution may cause two problems to the keyword part. First, RSRP tracking generated at the same location on different dates may vary significantly as the wireless channel is constantly experiencing fast fading. Second, the mapping between the cell identity 255 and the physical location of the train is uncertain because not only can the mobile device routinely hand off to different cells at the same physical location, but also the duplicate cell identity 255 on the route. Preferably, the processing module 230 constructs the context database 250 as follows: processing based on the acquired signal data 256 to construct signal parameter data 251; constructing performance data 252 for network performance prediction based on the signal parameter data 251; the switching data 253 is constructed based on a disconnection pattern between a plurality of networks. By this setting, the partial cell id 255 is set to take a different Value (Value) based on the corresponding data type in the keyword setting, thereby avoiding the aforementioned problem that the keyword does not correspond to the Value.
Preferably, the performance data 252 and the handover data 253 construct context data that predicts performance of multiple networks based on location awareness. Preferably, the context database 250 communicates performance data 252 and switching data 253 to the scheduler 204. Preferably, as shown in fig. 3, the context database 250 includes at least signal parameter data 251, performance data 252, and handover data 253. Wherein, the keywords of the signal parameter data 251 and the switching data 253 are set as the cell identification code 255. The handover data 253 corresponds to data associated with a predicted handover failure or interruption. The value of signal parameter data 251 is the associated RSRP identity 261. Preferably, the key of performance data 252 is RSRP identity 261. Preferably, the performance data 252 corresponds to network performance parameters 262, such as throughput, RTT, packet loss rate, and the like. Preferably, the signal data 256 refers to cellular signal data acquired in real time, such as LTE data. Signal data 256 may be provided internally or externally to the intermediate device with real-time signal data, for example mobileight can provide not only real-time handover signals and bandwidth of the PHY layer, but also cell identification 255 and signal strength.
The handover data 253 preferably provides information to the scheduler 204 regarding network handovers. Preferably, the processing module 230 constructs the switching data 253 as follows: based on the determination of the disconnection time, the switching between the plurality of networks is determined to be the first switching data 2531 indicating success, the second switching data 2532 indicating failure, and the third switching data 2533 indicating interruption. Preferably, as disclosed in document [1], in a mobile scenario, three situations may occur in handover of a mobile communication network:
1. the success is as follows: all handover control signals are successfully received through this process and the network disconnect time is typically less than 100ms, which is imperceptible to TCP.
2. Failure: a handover request from the UE to the base station is sent (and recorded), but in the other direction, i.e. the base station to UE handover command is lost. The median of the disconnection time is 1 second, and the 95% quantile of the disconnection time can reach 5 seconds.
3. Interrupting: this typically occurs in the event that the UE suddenly loses cellular coverage, e.g., enters a tunnel, or an area where no base stations are deployed. The median of the disconnection time was 3 seconds and the 90% quantile of the disconnection time was 10 seconds. Unlike handover failures, the UE will not be able to see any handover request log in the interruption.
Preferably, the switching data 253 may feed back to the scheduler 204 at least second switching data 2532 indicating a predicted switching failure and third switching data 2533 indicating a predicted switching interruption. With this arrangement, in addition to predicting highly dynamically changing network performance, disconnection caused by handover failure and interruption is another key factor that degrades network performance. By providing the relevant switching information to the scheduler 204 in a scenario of high-speed movement, the scheduler 204 can be prevented from distributing the data packet to the communication path 500 that requires a long time to disconnect.
According to a preferred embodiment, the processing module 203 processes the acquired signal data 256 to construct the signal parameter data 251 as follows: the signal parameter tracking 254 is independent for different formats based on the acquired signal data 256, thereby separating the dependence of physical location and network location. The beneficial effect brought through this setting mode is: since the signal switching policy and result of each operator may be greatly different at different times on the same route, the query process of the context database 250 is designed to separate the dependency relationship between the physical location and the network location based on the independent matching of each operator, so that the database analysis and query efficiency can be improved.
The signal parameter tracking 254 for each corresponding cell identification code 255 in the acquired signal data 256 is preferably partitioned into tracking entries 257 according to a first time and an overlapping window. Preferably, the signal parameter tracking 254 may be RSRP tracking. The RSRP tracking is partitioned into small segments in units of a first time. Overlapping windows refer to the overlap between every two segments. With this arrangement, signal tracking is used in a short time as a critical part of searching historical network performance. While the entire RSRP tracking for each cell is unlikely to repeat completely, the local trend may still follow the physical rules. Thus, the preferred implementation of this embodiment is to divide all RSRP tracking into several tracking entries 257 and then group them by cell identity 255. Most cases are obtained in an enumerated manner by collecting data traces for multiple days.
According to a preferred embodiment, the processing module 230 constructs performance data 252 for network performance prediction based on the signal parameter data 251 as follows: the best match is made based on a distance metric between the at least one-day tracking entry 257 associated with the cell identification code 255 stored in the signal parameter data 251 and the newly entered tracking entry 257 associated with the cell identification code 255 to generate the performance data 252. Preferably, the distance metric may be a euclidean distance. With this arrangement, the similarity of two trace entries 257 can be measured by euclidean distance, and a network with two trace entries 257 that are similar should also have similar performance.
Preferably, in the event that a trace entry 257 matches, the processing module 230 returns performance data 252 within the second time since the trace entry 257 matched. Preferably, since there is a time delay in the cellular data receiving TCP performance prediction, a prospective query is needed to improve the reliability of the network performance prediction. The time delay includes at least cellular chip delays up to 200ms, uplink delays, and execution time of the predictive matching algorithm. Preferably, the second time may be the total time of the above delay, e.g. 5 seconds.
According to a preferred embodiment, the context database 250 quantifies the reliability of the performance data 252 by feeding back a confidence value to the scheduler 204 as a reference in case the minimum value of the at least one distance measure with respect to the cell identity 255 is greater than a first threshold value. Preferably, the confidence value is calculated as NlK, wherein NlIs a count of the top K minimum distance that is less than the empirical threshold. Preferably, the predicted network performance is not reliable because the input of the RSRP segment may be significantly different from the performance parameters obtained by the matching, or the value of the euclidean distance is large, resulting in low similarity. Thus, by returning a confidence value as a reference for the scheduler 204, in addition to the predicted network performance, the reliability of the query results can be quantified.
Example 3
The embodiment discloses a multipath communication method, which is deployed on communication paths of a plurality of first communication hosts 100 and a plurality of second communication hosts 400 and can support multipath aggregation communication. Preferably, the multipath communication method provided by the embodiment is compatible with the network middleware deployed in a large scale in the existing network, that is, the kernel modification is not required, and the modification of an upper layer application or a network layer protocol is not required.
A method of multi-path communication, the method comprising: the at least one data forwarding processing module 200 shunts the received data of the first communication host 100 or the second communication host 400 to a first path 230 for directly transmitting data belonging to a specific data type to the user space 220 bypassing the core network protocol stack 211 for processing and a second path 240 for processing data not belonging to the specific data type by the core network protocol stack 211. Preferably, the specific data type is user-defined according to the use environment and the application scenario. The user may edit and modify the type of particular data. Preferably, the type of the specific data means that at least the protocol format adopted by the data and the source address are included. For example, whether the data is the data transmitted by the directly served first communication host 100 may be acquired through the source address. For example, multipath transmission may also be selectively implemented for data of a particular protocol by the protocol format of the data. Preferably, the data forwarding processing module 200 may parse the received data through a communication device such as a gateway provided in the data forwarding processing module. Preferably, as shown in FIG. 4, the processing of the kernel network protocol stack 211 is bypassed in such a way that the invocation of the data is through the raw socket 222 instead of the standard socket 221. Through the setting mode, the original socket 222 can receive and transmit the data packet which is not processed by the kernel network protocol stack 211, so that the data is called in the user space 220 instead of the kernel space 210, the kernel does not need to be modified, the modification of an application program is not involved, the method can be compatible with the network middleware widely deployed in the prior art, and the actual deployment of the middleware provided by the embodiment is facilitated. Preferably, as shown in fig. 4, the second path 240 transceives packets from the standard socket 221. The data packets sent and received by the standard socket 221 are all processed by the kernel network protocol stack 211. By this arrangement, the second path 240 can be used to transmit control information similar to settlement.
Preferably, as shown in fig. 4, the data forwarding processing module 200 on the first communication host 100 side establishes a multi-path connection in the user space with the data of the first path 230 in a manner of inverse multiplexing a plurality of communication paths 500 with another data forwarding processing module 200 or a multi-path module 300 having a multi-path transmission capability disposed on the second communication host 400 side. Through this setting, the data can be called in the user space 220 by transceiving the data of the first communication host 100 through the first path 230, so that the data forwarding processing module 200 provided in this embodiment can construct a complete multi-user multi-path transmission architecture at the user space 220 level, can support context data-driven scheduling, and can be highly extended to integrate different packet scheduling policies, thereby facilitating actual deployment and performance optimization of intermediate devices.
Preferably, as shown in fig. 4, there are at least two communication paths 500 that are independent of each other and are available between the data forwarding processing module 200 disposed on the first communication host 100 side and the data forwarding processing module 200 disposed on the second communication host 400 side provided in the present embodiment. Preferably, the communication path 500 may also be referred to as a pipe. The piping can be implemented flexibly in different ways. For example, a TCP link may be used as the pipe, and a Stream Control Transmission Protocol (SCTP) link may be used as the pipe. Preferably, the data forwarding processing module 200 inverse multiplexes the data in the first path 230 onto the plurality of communication paths 500, so that the data in the first path 230 can be transmitted through the TCP sockets on each pipe. Both the TCP payload and the control data are encapsulated into the transport layer. Preferably, the user can select a plurality of congestion control algorithms according to the use environment, for example, a TCP BBR congestion control algorithm is selected, so that the end-to-end delay and packet loss can be reduced. Preferably, inverse multiplexing refers to segmenting and encapsulating the data stream from the first path 230 into packets at the processing module 203, and then distributing the packets onto the pipeline. Each message has a header containing the ID, length and sequence number of the application connection. By this arrangement, the data forwarding processing module 200 can drive data of different first communication hosts 100 or second communication hosts 400 in the first path 230 to be mapped to the same communication path 500 or at least two communication paths 500 independent of each other. The data forwarding processing module 200 can also drive data of the same first communication host 100 or second communication host 400 in the first path 230 to be mapped to at least two communication paths 500 independent of each other.
Preferably, the data forwarding processing module 200 is capable of transmitting and processing user data within the first path 230 in a separate network namespace. By the arrangement mode, the conflict with the kernel configuration used by other programs can be avoided, and potential safety problems can be relieved. For example, operations of disabling reverse path filtering are required on the proxy server, and the virtual ethernet device for forwarding the data packet to the real network card is enabled to receive the data packet of any source IP generated by the intermediate device provided in this embodiment, so that the security risk generated by the virtual ethernet device will be isolated from the normally running program and managed in its own network namespace by the data forwarding processing module 200.
Preferably, the data forwarding processing module 200 provided in this embodiment may be implemented in a hardware form. The data forwarding processing module 200 includes at least a processor or a controller, and further includes a communication module 201. The communication module 201 may be a communication interface, a transceiver, a transceiving circuit, etc. Preferably, the communication module 201 of the data forwarding processing module 200 further includes a Wi-Fi module, a bluetooth module, a Zigbee module, and a plurality of processing circuits or processing chips capable of parsing and processing a plurality of networks of different standards. Preferably, the data forwarding processing module 200 contains any number of transmitters or transmit circuits, receivers or receive circuits. Preferably, the data forwarding processing module 200 further comprises a memory. The memory stores instructions for execution by the processor. Further, the processor, the memory, the communication module, and the like designed as described above may be connected through a bus. The bus architecture may include any number of interconnected buses and bridges, with various circuits of memory represented by one or more processors and memory, in particular, represented by processors, linked together. The bus architecture may also connect various other circuits such as peripherals, voltage regulators, and power management circuits, which are well known in the art, and therefore, will not be described any further in this embodiment. Preferably, the Processor related to the present embodiment may be a Central Processing Unit (CPU), a general purpose Processor, a Digital Signal Processor (DSP), an Application-Specific Integrated Circuit (ASIC), a Field Programmable Gate Array (FPGA) or other Programmable logic device, a transistor logic device, a hardware component, or any combination thereof. Which may implement or perform the various illustrative logical blocks, modules, and circuits described in connection with the disclosure. A processor may also be a combination of computing functions, e.g., comprising one or more microprocessors, a DSP and a microprocessor, or the like.
Preferably, the data forwarding processing module 200 of this embodiment may also be implemented in a form of executing corresponding software based on hardware of an existing device. For example, the data forwarding processing module 200 may be disposed in an existing user equipment, a network middleware, or a server, and implement the function of multipath transmission by executing corresponding software through hardware in the existing equipment.
Preferably, the deployment manner of the data forwarding module 200 in this embodiment is the same as that in embodiment 1, and details are not described again in this embodiment.
Preferably, data forwarding processing module 200 includes at least scheduler 204. The scheduler 204 is configured to drive the mapping of data of different first communication hosts 100 or second communication hosts 400 within the first path 230 to the same communication path 500 or at least two communication paths 500 independent of each other based on a context database 250 comprising at least context data from location-aware prediction of multiple network performance; and data driving the same first communication host 100 or second communication host 400 within the first path 230 are mapped to at least two communication paths 500 independent of each other. Preferably, the above modules, devices, and ways of implementing prediction of multiple network performances based on location awareness are the same as those disclosed in embodiments 1 and 2, and are not described again in this embodiment.
The word "module" as used herein describes any type of hardware, software, or combination of hardware and software that is capable of performing the functions associated with the "module".
It should be noted that the above-mentioned embodiments are exemplary, and that those skilled in the art, having benefit of the present disclosure, may devise various arrangements that are within the scope of the present disclosure and that fall within the scope of the invention. It should be understood by those skilled in the art that the present specification and figures are illustrative only and are not limiting upon the claims. The scope of the invention is defined by the claims and their equivalents.
Claims (8)
1. A network relay device suitable for a high-speed mobile environment, for deployment on a communication path between a plurality of first communication hosts (100) and a plurality of second communication hosts (400), the network relay device comprising at least a communication module (201) and a processing module (203),
characterized in that the processing module (203) is configured to:
-offloading data of the first communication host (100) or the second communication host (400) received by the communication module (201) to a first path (230) for directly transmitting data belonging to a specific data type to a user space (220) bypassing a kernel network protocol stack (211) processing, and-mapping the data of the first path (230) to at least two communication paths (500) independent of each other in a way that a plurality of network performances are predicted based on location awareness,
the kernel network protocol stack (211) is bypassed in such a way that the invocation of the data is through the raw socket (222) instead of the standard socket (221).
2. The network relay device according to claim 1, wherein the processing module (203) establishes a multipath connection with a multipath module (300) having a multipath transmission capability disposed on the first communication host (100) side or the second communication host (400) side in such a manner that data of the first path (230) is mapped to at least two communication paths (500) independent of each other.
3. The network relay device of claim 2, wherein the processing module (203) is configured to:
driving a mapping of data from different first (100) or second (400) communication hosts within the first path (230) to the same communication path (500) or at least two communication paths (500) independent of each other based on a context database (250) comprising at least context data from location-aware prediction of the plurality of network performances;
and driving data of the same first communication host (100) or second communication host (400) within the first path (230) to map to at least two communication paths (500) independent of each other.
4. The network relay device of claim 3, wherein the processing module (203) constructs the context database (250) by:
processing based on the acquired signal data (256) to construct signal parameter data (251);
constructing performance data (252) for network performance prediction based on the signal parameter data (251);
building handover data (253) based on a disconnection pattern between the plurality of networks; wherein,
the performance data (252) and the handover data (253) construct context data that predicts the plurality of network performances based on location awareness.
5. The network relay device of claim 4, wherein the key of the signal parameter data (251) and the key of the handover data (253) are set to a cell identity (255), and the key of the performance data (252) is a RSRP identity (261), wherein,
the value of the signal parameter data (251) is a correlated RSRP identity (261);
the corresponding value of the performance data (252) is a network performance parameter (262);
the handover data (253) corresponds to values corresponding to predicted handover failure or interruption related data.
6. The network relay device of claim 5, wherein the processing module (230) processes the acquired signal data (256) to construct the signal parameter data (251) by:
tracking (254) the signal parameters of different systems independently based on the acquired signal data (256), thereby separating the dependence of physical location and network location;
the signal parameter tracking (254) for each corresponding cell identification code (255) in the acquired signal data (256) is partitioned into tracking entries (257) based on the first time and the overlapping window.
7. The network relay device according to claim 6, wherein the processing module (230) constructs performance data (252) for network performance prediction based on the signal parameter data (251) according to the following steps:
-best matching to generate the performance data (252) based on a distance metric between the tracking entry (257) for at least one day associated with a cell identity (255) stored in the signal parameter data (251) and a newly entered tracking entry (257) associated with that cell identity (255), and in case the tracking entry (257) matches,
the processing module (230) returns the performance data (252) located within a second time since the trace entry (257) matched.
8. The network relay device of claim 7, wherein the processing module (203) constructs the switching data (253) by:
switching between the plurality of networks is determined as first switching data (2531) indicating success, second switching data (2532) indicating failure, and third switching data (2533) indicating interruption based on the determination of the disconnection time.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010493153.XA CN111654436B (en) | 2019-10-24 | 2019-10-24 | Network relay equipment suitable for high-speed mobile environment |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010493153.XA CN111654436B (en) | 2019-10-24 | 2019-10-24 | Network relay equipment suitable for high-speed mobile environment |
CN201911020017.2A CN110650089B (en) | 2019-10-24 | 2019-10-24 | Intermediate device supporting multi-path aggregation communication |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911020017.2A Division CN110650089B (en) | 2019-10-24 | 2019-10-24 | Intermediate device supporting multi-path aggregation communication |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111654436A CN111654436A (en) | 2020-09-11 |
CN111654436B true CN111654436B (en) | 2021-07-13 |
Family
ID=69013518
Family Applications (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010493154.4A Active CN111641558B (en) | 2019-10-24 | 2019-10-24 | Network intermediate equipment based on position perception |
CN201911020017.2A Active CN110650089B (en) | 2019-10-24 | 2019-10-24 | Intermediate device supporting multi-path aggregation communication |
CN202010493153.XA Active CN111654436B (en) | 2019-10-24 | 2019-10-24 | Network relay equipment suitable for high-speed mobile environment |
Family Applications Before (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010493154.4A Active CN111641558B (en) | 2019-10-24 | 2019-10-24 | Network intermediate equipment based on position perception |
CN201911020017.2A Active CN110650089B (en) | 2019-10-24 | 2019-10-24 | Intermediate device supporting multi-path aggregation communication |
Country Status (1)
Country | Link |
---|---|
CN (3) | CN111641558B (en) |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110730470B (en) * | 2019-10-24 | 2020-10-27 | 北京大学 | Mobile communication equipment integrating multiple access technologies |
WO2021078233A1 (en) * | 2019-10-24 | 2021-04-29 | 北京大学 | Multipath transport device and architecture |
CN113141637B (en) * | 2020-01-19 | 2022-12-02 | 华为技术有限公司 | Multipath transmission control method and control device |
CN111642022B (en) * | 2020-06-01 | 2022-07-15 | 重庆邮电大学 | Industrial wireless network deterministic scheduling method supporting data packet aggregation |
CN112910534B (en) * | 2021-01-18 | 2022-07-05 | 广州大学 | Relay selection method, system, device and medium based on data driving |
CN112817730B (en) * | 2021-02-24 | 2022-08-16 | 上海交通大学 | Deep neural network service batch processing scheduling method and system and GPU |
CN113329438B (en) * | 2021-04-29 | 2022-02-11 | 北京连山科技股份有限公司 | Multi-channel data transmission convergence method combined with ad hoc network |
CN113300958A (en) * | 2021-05-24 | 2021-08-24 | 北京字跳网络技术有限公司 | Message transmission method and device, electronic equipment and storage medium |
CN114726850B (en) * | 2022-04-02 | 2024-01-05 | 福达新创通讯科技(厦门)有限公司 | Method, device and storage medium for remote access of VNC |
WO2023206095A1 (en) * | 2022-04-26 | 2023-11-02 | 西门子股份公司 | Data relay device and method, container management device, system, and computing device |
CN115001522B (en) * | 2022-05-19 | 2024-01-23 | 北京华信傲天网络技术有限公司 | Equipment with built-in fifth generation mobile communication system |
CN116056173B (en) * | 2023-04-03 | 2023-06-30 | 北京九栖科技有限责任公司 | Method for solving influence of SCTP multi-destination address on N2 port signaling synthesis |
Family Cites Families (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2069950A4 (en) * | 2006-09-13 | 2017-06-21 | Asankya Networks, Inc. | Systems and methods of improving performance of transport protocols in a multi-path environment |
CN101350108B (en) * | 2008-08-29 | 2011-05-25 | 同济大学 | Vehicle-mounted communication method and apparatus based on location track and multichannel technology |
US7948986B1 (en) * | 2009-02-02 | 2011-05-24 | Juniper Networks, Inc. | Applying services within MPLS networks |
CN101841463B (en) * | 2010-03-05 | 2012-05-16 | 清华大学 | Multipath cocurrent transmission method based on SCTP (Stream Control Transmission Protocol) |
CN101925125B (en) * | 2010-04-23 | 2013-01-30 | 清华大学 | Method of multipath TCP having mobility and combined with mobile IP (internet protocol) |
WO2012083495A1 (en) * | 2010-12-22 | 2012-06-28 | Telefonaktiebolaget L M Ericsson (Publ) | Mobility handling in a communication network |
US8755383B2 (en) * | 2011-03-21 | 2014-06-17 | Avaya, Inc. | Usage of masked ethernet addresses between transparent interconnect of lots of links (TRILL) routing bridges |
CN102802121B (en) * | 2012-09-01 | 2014-05-14 | 北京理工大学 | Vehicle-mounted IOT (Internet of Things) routing method on basis of geographical positions |
JP6301358B2 (en) * | 2012-12-14 | 2018-03-28 | テレフオンアクチーボラゲット エルエム エリクソン(パブル) | Processing of multipath transmission control protocol signaling in communication networks |
KR102051504B1 (en) * | 2013-05-15 | 2019-12-03 | 삼성전자주식회사 | Method and apparatus for transmitting and receiving data packets in a wireless communication system |
CN103312606A (en) * | 2013-05-23 | 2013-09-18 | 杭州卓沃电子商务有限公司 | Wireless Mesh network routing based on multi-path concurrence and method thereof |
CN104703242B (en) * | 2013-12-09 | 2018-10-30 | 中国科学院大学 | Cognitive radio networks method for routing is encoded based on the multipath of location information and bill |
EP3136801B1 (en) * | 2014-04-24 | 2018-08-08 | Huawei Technologies Co., Ltd. | Method and device for mobility management of mptcp connection |
US9755953B1 (en) * | 2014-07-24 | 2017-09-05 | Rockwell Collins, Inc. | Multi-path routing control for an encrypted tunnel |
EP3269109B1 (en) * | 2015-03-12 | 2019-01-09 | Telefonaktiebolaget LM Ericsson (publ) | Methods and arrangements for multipath traffic aggregation |
CN104994036B (en) * | 2015-06-09 | 2018-04-24 | 北京邮电大学 | A kind of dynamic data dispatching method in multi-path transmission protocol |
CN104954206B (en) * | 2015-07-31 | 2018-03-30 | 重庆邮电大学 | A kind of out of order analysis method of multipath parallel transmission system |
CN105045674B (en) * | 2015-09-15 | 2018-11-20 | 浪潮(北京)电子信息产业有限公司 | A kind of link switch-over method and system |
CN105898800B (en) * | 2015-10-30 | 2019-05-14 | 法法汽车(中国)有限公司 | The link bandwidth assignment method and device of multi-link aggregated for mobile network |
EP3244581B1 (en) * | 2016-05-09 | 2020-03-04 | Alcatel Lucent | Multi-path wireless communication |
CN106708627B (en) * | 2016-12-29 | 2020-08-07 | 中国科学院计算技术研究所 | Kvm-based multi-virtual machine mapping and multi-channel fuse acceleration method and system |
CN107231349A (en) * | 2017-05-23 | 2017-10-03 | 北京邮电大学 | A kind of method and device that MPTCP agreements are realized in intelligent terminal |
CN107708067B (en) * | 2017-11-21 | 2020-04-21 | 中山大学 | Wi-Fi and Li-Fi heterogeneous network load balancing method based on user position information |
CN108650295A (en) * | 2018-03-30 | 2018-10-12 | 深圳市风云实业有限公司 | Protocol massages cross-layer communication method device and electronic equipment |
CN108777666B (en) * | 2018-08-23 | 2020-10-09 | Oppo广东移动通信有限公司 | Shunting method for link aggregation and related equipment |
-
2019
- 2019-10-24 CN CN202010493154.4A patent/CN111641558B/en active Active
- 2019-10-24 CN CN201911020017.2A patent/CN110650089B/en active Active
- 2019-10-24 CN CN202010493153.XA patent/CN111654436B/en active Active
Non-Patent Citations (3)
Title |
---|
《高速环境下中继应用的干扰分析及对通信质量的改善研究》;王瑜琦;《中国优秀硕士学位论文全文数据库》;20110731;全文 * |
《高速移动环境下TD-LTE系统切换优化策略与改进》;万俊杰;《中国优秀硕士学位论文全文数据库》;20150831;全文 * |
A Multipath Transport Multihoming Mobile Relay;Yunzhe Ni等;《MobiSys ’18, June 10–15, 2018, Munich, Germany》;20180615;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN111641558B (en) | 2021-11-30 |
CN111654436A (en) | 2020-09-11 |
CN111641558A (en) | 2020-09-08 |
CN110650089A (en) | 2020-01-03 |
CN110650089B (en) | 2020-06-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111654436B (en) | Network relay equipment suitable for high-speed mobile environment | |
CN110730248B (en) | Multi-path transmission relay equipment and method | |
JP6689876B2 (en) | Vehicle-to-X broadcast supported by point-to-multipoint broadcast | |
CN112243253B (en) | Communication equipment | |
CN108713327B (en) | Network node for enabling communication in a communication network and method performed in a network node | |
US8787303B2 (en) | Methods and apparatus for data traffic offloading at a router | |
CN109005562B (en) | Method, device and system for transmitting data | |
CN109155905A (en) | A kind of service message sending method, terminal device and the network equipment | |
CN110621040B (en) | Method and system for realizing multipath parallel transmission communication | |
US10820324B2 (en) | Collaborative radio resources allocations to applications of mobile units | |
CN113660680B (en) | Configuration method and device in sidelink relay architecture | |
CN110635988B (en) | Data forwarding method and equipment for multipath transmission | |
EP2109984A2 (en) | Configuring a base station to act as a regional mobility agent | |
US11228667B2 (en) | Base station, method, and device for data transmission | |
US20220159771A1 (en) | Communication control method and relay apparatus | |
CN114651480A (en) | Performing multipath communications | |
WO2015078021A1 (en) | Data transmission device, communication system and communication method | |
AU2018279551A1 (en) | Service data transmission method and apparatus | |
CN113498142A (en) | Relay communication method and related equipment | |
US20230131149A1 (en) | Location-awareness-based network intermediate device | |
WO2021078233A1 (en) | Multipath transport device and architecture | |
Zhang et al. | Enhancing vehicular internet connectivity using whitespaces, heterogeneity, and a scouting radio | |
US20220322147A1 (en) | Communication method, terminal device, and network device | |
US20240224154A1 (en) | Methods for inter iab-donor-du bap tunneling | |
WO2024044979A1 (en) | Systems and methods for support of multiple access paths |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |