WO2020220705A1 - 一种数据传输方法及对应的设备 - Google Patents

一种数据传输方法及对应的设备 Download PDF

Info

Publication number
WO2020220705A1
WO2020220705A1 PCT/CN2019/128482 CN2019128482W WO2020220705A1 WO 2020220705 A1 WO2020220705 A1 WO 2020220705A1 CN 2019128482 W CN2019128482 W CN 2019128482W WO 2020220705 A1 WO2020220705 A1 WO 2020220705A1
Authority
WO
WIPO (PCT)
Prior art keywords
strategy
transmission
information
message
data
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.)
Ceased
Application number
PCT/CN2019/128482
Other languages
English (en)
French (fr)
Other versions
WO2020220705A9 (zh
Inventor
斯纳格
曹振
祝建建
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Publication of WO2020220705A1 publication Critical patent/WO2020220705A1/zh
Publication of WO2020220705A9 publication Critical patent/WO2020220705A9/zh
Priority to US17/145,932 priority Critical patent/US11277313B2/en
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W28/00Network traffic management; Network resource management
    • H04W28/16Central resource management; Negotiation of resources or communication parameters, e.g. negotiating bandwidth or QoS [Quality of Service]
    • H04W28/18Negotiating wireless communication parameters
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/24Multipath
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0894Policy-based network configuration management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/14Multichannel or multilink protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • H04L69/161Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W40/00Communication routing or communication path finding
    • H04W40/02Communication route or path selection, e.g. power-based or shortest path routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W76/00Connection management
    • H04W76/10Connection setup
    • H04W76/15Setup of multiple wireless link connections
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W80/00Wireless network protocols or protocol adaptations to wireless operation
    • H04W80/06Transport layer protocols, e.g. TCP [Transport Control Protocol] over wireless

Definitions

  • the embodiments of the present application relate to the field of mobile communications, and in particular, to a data transmission method, corresponding equipment, computer equipment, and storage medium.
  • a transmission strategy needs to be formulated. Specifically, the transmission strategy may be at least one of path management and scheduling algorithms. It is necessary to determine how to establish multiple paths between multiple network addresses. This process is called Path Manager (PM) in the implementation of the protocol. ).
  • PM Path Manager
  • Terminal A has a Wireless-Fidelity (WiFi) address and a 4G Long Term Evolution (LTE) address
  • terminal B has a WiFi address and a 5G New Radio (NR) address
  • NR 5G New Radio
  • terminal A and The physical channels that can transmit information between terminal B include: WiFi-WiFi, WiFi-5G NR, 4G LTE-WiFi and 4G LTE-5G NR; that is, terminal A and terminal B can concurrently transmit information on the above four paths .
  • the scheduling algorithm Scheduler For example: how the above 4 paths share the 1G data packets to be transmitted.
  • the scheduling algorithm is also referred to as a data scheduling strategy.
  • the transmission strategy is independently and statically set at the sending end and the receiving end, which is too low in flexibility and may not match each other, which affects and limits the transmission performance of the multi-path transmission.
  • the embodiment of the present application provides a data processing method, which can solve the problems of the existing data processing architecture, such as high cost, high functional requirements, or excessive load caused by massive data processing tasks, and easy downtime.
  • a data processing method is provided. The method is applied to a data processing device.
  • the data processing device may include a central processing unit and a sensor processing unit set.
  • the sensor processing unit set includes at least one sensor processing unit. It may include: a central processing unit acquiring status information of at least one sensor processing unit in a sensor processing unit set; the central processing unit determining task switching information according to the status information of the at least one sensor processing unit and/or the status information of the central processing unit, the The task switching information is used to indicate that the data processing task of the first sensor processing unit is switched to the central processing unit, or the data processing task of the central processing unit is switched to the second sensor processing unit; wherein, the first sensor processing unit and the second sensor processing unit
  • the sensor processing unit is any one of the set of sensor processing units; the central processing unit processes data processing tasks switched from the first sensor processing unit to the central processing unit, and/or, the second sensor processing unit is processed by the central processing unit The unit switches to the data processing task of the second sensor processing unit.
  • the technical solution provided by the above-mentioned first aspect by triggering and executing the switching of data processing tasks according to the status information of the sensor processing unit and/or the central processing unit, can combine the characteristics of the distributed structure and the centralized architecture, according to the sensor processing unit and/or Or the central processing unit load, hardware, software and other actual conditions allocate data processing tasks to ensure the reliability of the data processing tasks while ensuring the stability of the data processing device load.
  • the status information may include capability information and/or load information; the task switching information may include: switching the data processing task from the sensor processing unit to the central processing unit, or switching the data processing task from the sensor processing unit to the central processing unit.
  • the central processing unit switches to the sensor processing unit; the central processing unit determines task switching information according to the state information of at least one sensor processing unit and/or the state information of the central processing unit, which may include: if the load information of the central processing unit is satisfied Indicates that the load of the central processing unit is greater than the load threshold of the central processing unit, and the status information of the second sensor processing unit indicates that the second sensor processing unit can process the data processing tasks of the central processing unit, and the task switching information is that the central processing unit switches To the second sensor processing unit, for instructing to switch the data processing task from the central processing unit to the second sensor processing unit; or if the state information of the first sensor processing unit is satisfied, it indicates that the first sensor processing unit cannot process the second sensor processing unit.
  • a data processing task of a sensor processing unit the task switching information is switching from the first sensor processing unit to the central processing unit, and is used to instruct the data processing task to be switched from the first sensor processing unit to the central processing unit.
  • the data processing task switching can ensure the stability of the load of the data processing device while ensuring the reliability of the data processing task.
  • the data processing task may include at least one of the following: data abstraction, data fusion, and behavior decision-making.
  • the central processing unit acquiring status information of at least one sensor processing unit in the sensor processing unit set may include: the central processing unit starts data processing in at least one sensor processing unit in the sensor processing unit set. Before abstracting, obtain the state information of at least one sensor; or the central processing unit obtains the state information of at least one sensor processing unit before the central processing unit starts data abstraction; or the central processing unit starts data processing at the central processing unit Before fusion, obtain the state information of at least one sensor processing unit; or the central processing unit obtains the state information of at least one sensor processing unit before the central processing unit starts to make behavior decisions; or the central processing unit is in the sensor processing unit set Before at least one sensor processing unit starts to make behavior decisions, the state information of the at least one sensor processing unit is acquired. By supporting task switching on demand before the start of any data processing task, the load stability of the data processing device and the reliability of the data processing task to be processed can be better guaranteed.
  • the task switching information is to switch the data processing task from the sensor processing unit to the central processing unit, or if the first sensor processing unit starts Before the behavior decision is made, the task switching information is switching the data processing task from the sensor processing unit to the central processing unit, and the central processing unit processes the data processing task switched from the first sensor processing unit to the central processing unit, which may include: A sensor processing unit stops the data abstraction task and switches the data abstraction task to the central processing unit; the central processing unit performs data abstraction to obtain abstract data; or; the first sensor processing unit stops the behavior decision task and switches the behavior decision task to The central processing unit; the central processing unit makes behavior decisions.
  • the task switching information is to switch the data processing task from the central processing unit to the sensor processing unit, or if the central processing unit starts to perform data Before fusion, the task switching information is that the data processing task is switched from the central processing unit to the sensor processing unit, and the second sensor processing unit processes the data processing task switched from the central processing unit to the second sensor processing unit, which may include: the central The processing unit stops the data abstraction task and switches the data abstraction task to the second sensor processing unit; the second sensor processing unit performs data abstraction to obtain abstract data; or, the central processing unit stops the data fusion task and switches the data fusion task Give the second sensor processing unit; the second sensor processing unit makes behavioral decisions.
  • the data abstraction may include: determining N feature points corresponding to the initial data according to the initial data; or, determining N feature points corresponding to the initial signal according to the initial data; and according to the N M feature surfaces are determined by two feature points; and L target objects are determined according to the M feature points.
  • each sensor processing unit communicates with the central processing unit via Ethernet. Communication via Ethernet can ensure real-time status information transmission and task switching information transmission, and improve the real-time and accuracy of the switching process.
  • the central processing unit if before the central processing unit starts data fusion, the load information of the central processing unit indicates that the load of the central processing unit is less than the central processing unit load threshold, the central processing unit performs data fusion to obtain Fusion data; the fusion data may include at least one of the following: the spatial position information and speed of each feature point or each target object; the attributes of each feature point or each target object; current environment information.
  • the central processing unit processes the data processing tasks switched from the first sensor processing unit to the central processing unit
  • the second sensor processing unit processes the data processing tasks switched from the central processing unit to the second
  • the method may further include: obtaining control information; wherein the control information may include acceleration, deceleration, stopping, turning right, turning left, or turning around.
  • a data processing device in a second aspect, has the method and function described in any one of the possible implementation manners of the first aspect.
  • This function can be realized by hardware, or by hardware executing corresponding software.
  • the hardware or software includes one or more modules corresponding to the above-mentioned functions.
  • the present application provides a data processing device.
  • the data processing device may include: a memory for storing computer-executable instructions; a processor for executing the computer-executable instructions to implement data in any possible implementation manner of the first aspect Approach.
  • the present application provides a computer-readable storage medium, characterized in that a computer-executable instruction is stored on the computer-readable storage medium, and when the computer-executable instruction is executed by a processor, the implementation is as in any possible implementation manner of the first aspect Data processing method.
  • FIG. 1A is a schematic diagram of an application scenario of a data transmission method provided by an embodiment of this application.
  • 1B is a schematic diagram of an example of a communication network architecture of a data transmission method provided by an embodiment of the application;
  • FIG. 2A shows three types of networking systems that can use the embodiments of the present application provided by the embodiments of the present application
  • 2B is a schematic diagram of the architecture of three possible multi-path transmission layers and sub-stream layers provided by an embodiment of this application;
  • Figure 2C is a schematic diagram of communication between a mobile phone and an application server provided by this application using MPTCP technology
  • FIG. 3 is a schematic diagram of the hardware structure of a mobile phone provided by an embodiment of the application.
  • FIG. 4 is a schematic diagram of the hardware structure of an application server provided by an embodiment of the application.
  • FIG. 5 is an interactive diagram 1 of a data transmission method provided by an embodiment of this application.
  • FIG. 6 is a schematic diagram of the structure of a multi-path transmission protocol stack provided by an embodiment of the application.
  • FIG. 7 is a second interaction diagram of a data transmission method provided by an embodiment of this application.
  • FIG. 8A is the third interaction diagram of a data transmission method provided by an embodiment of this application.
  • FIG. 8B is a fourth interaction diagram of a data transmission method provided by an embodiment of this application.
  • FIG. 8C is an interaction diagram 5 of a data transmission method provided by an embodiment of this application.
  • 9A is an example 1 of a first message interaction process provided by an embodiment of this application.
  • FIG. 9B is an example 1 of the format of a first message provided by an embodiment of this application.
  • FIG. 9C is a second format example of a first message provided by an embodiment of this application.
  • 10A is an example 2 of a first message interaction process provided by an embodiment of this application.
  • FIG. 10B is a third example of the format of a first message provided by an embodiment of this application.
  • FIG. 10C is a fourth example of the format of a first message provided by an embodiment of this application.
  • FIG. 11 is a fifth example of the format of a first message provided by an embodiment of this application.
  • FIG. 12 is a sixth example of the format of a first message provided by an embodiment of this application.
  • FIG. 13 is a format example 7 of a first message provided by an embodiment of this application.
  • FIG. 14A is an example 1 of an MPQUIC negotiation process provided by an embodiment of this application.
  • FIG. 14B is an example 2 of an MPQUIC negotiation process provided by an embodiment of this application.
  • 15 is a schematic structural diagram of a mobile phone provided by an embodiment of this application.
  • FIG. 16 is a schematic structural diagram of an application server provided by an embodiment of this application.
  • the embodiment of the present application provides a data transmission method, which is used in the process of transmitting data between devices through a multi-path connection.
  • the process of transmitting data through the multi-path connection may include: a process of establishing a multi-path connection between devices, and a process of using the multi-path connection to transmit data after the establishment of the multi-path connection is completed.
  • the first device and the second device may use a multi-path transmission protocol to negotiate the transmission strategy used by the two parties to transmit data during the process of establishing a multi-path connection or using the multi-path connection to transmit data.
  • the type of the transmission strategy in the embodiment of the present application may be at least one of a path management strategy and a data scheduling strategy.
  • the multi-path transmission protocol in the embodiment of the present application may be Multipath-Path Transmission Control Protocol (MPTCP), Multipath-Path User Datagram Protocol (MPUDP), and Multipath-Path User Datagram Protocol (MPUDP).
  • MPTCP Multipath-Path Transmission Control Protocol
  • MPUDP Multipath-Path User Datagram Protocol
  • MPUDP Multipath-Path User Datagram Protocol
  • MPQUIC Multipath-Path User Datagram Protocol Internet Connection, MPQUIC
  • the path is the link between the sender and the reciever.
  • the path can be identified by a four-tuple, and the four-tuple is used to represent a source address (and/or port) and a destination address (and/or port) pair. It should be understood that both the receiving end and the sending end that support the multi-path transmission technology can prepare multiple addresses in their host to identify multiple paths. And, multiple paths between a pair of receiving end and sending end can share one or more routers.
  • Subflow A flow of TCP segments running on a single path.
  • the subflow is part of a multipath connection.
  • the start and termination of the sub-stream are similar to regular TCP connections.
  • a subflow corresponds to a path.
  • the devices at both ends of the transceiver may use operator identifiers in different expression forms to indicate the same operator.
  • the sender uses the number to indicate the operator
  • the receiver uses the name of the operator to indicate the operator.
  • Multi-path connection A group of sub-flows that can communicate between two hosts through (over) an application.
  • the group of sub-flows includes multiple sub-flows. Among them, there is a one-to-one mapping between the connection and the application interface (socket).
  • a multi-path connection is a connection that uses multiple paths to transmit data. Each path (ie, sub-stream) can use a different transmission protocol. For example, if the path uses the TCP protocol, the multi-path connection is an MPTCP connection.
  • a link that can communicate between two hosts through (over) an application is also called a connection, but a multi-path connection includes a multi-path, and a general connection has only one path.
  • Packet A package of data with a header.
  • the header can be logically complete or incomplete. Usually, it is a data that is physically packaged (physical packaging of data), of course, it can also be a data that is logically packaged (logical packaging of data).
  • the concept of packets is used to describe the interaction of data between a host and the network connected to the host.
  • Acknowledgement (ACK) package also known as acknowledgement message, ACK, feedback message, and notification.
  • the acknowledgment packet includes ACK information, such as the sequence number of a certain data packet, which is usually used to indicate that the receiver informs the originator that the data packet has been received.
  • Round Trip Time indicates the time delay experienced by the sender from sending data to receiving the confirmation message (such as ACK) corresponding to the data sent by the receiver.
  • the receiving end sends the confirmation information corresponding to the data immediately after receiving the data, where "immediately” should be understood to include the necessary processing time from the receiving end to the receiving of the data until the confirmation message is sent .
  • the round-trip delay can be abbreviated as RTT or rtt. For example, in some codes, rtt is used.
  • the first device/second device is a physical device or a virtual device.
  • a physical device refers to a physical device that actually exists
  • a virtual device refers to a device that is represented by multiple corresponding logical devices that change from a physical device
  • a logical device refers to a physical device that has a mapping relationship, which is determined by logic A device composed of components that can perform logical operations (AND, OR, NOT, etc.).
  • the mapping relationship may include logical device name, physical device name, and device driver entry.
  • the first device and the second device may be on the same physical device or in the same cluster.
  • FIG. 1A shows a schematic diagram of a communication system architecture provided by an embodiment of the present application.
  • the communication system may include a first device 10 and a second device 20. Both the first device 10 and the second device 20 include multiple network addresses. As shown in FIG. 1A, the first device 10 and the second device 20 can establish multiple network connections through multiple network addresses of each other. For example, network connection 1, network connection 2, ..., network connection N. The first device 10 and the second device 20 can perform multi-path data transmission through the multiple network connections.
  • the first device 10 and the second device 20 may divide the data to be transmitted into multiple sub-streams. Wherein, each sub-flow corresponds to a path, and each network connection connects a path between the first device 10 and the second device 20.
  • each sub-stream can be transmitted using the same or different transmission protocol.
  • the transmission protocol can be, for example, Transmission Control Protocol (Path Transmission Control Protocol, TCP), Stream Control Transmission Protocol (Stream Control Transmission Protocol, SCTP), or Quick User Datagram Internet Connection Protocol (Quick UDP Internet Connections, QUIC), etc. .
  • first device 10 and the second device 20 may negotiate a transmission strategy during the process of establishing the aforementioned N network connections or during the process of transmitting data through the N established network connections.
  • the above-mentioned network connection can be WiFi connection, cellular connection (such as 4G LTE connection, 5G NR connection, 3G connection, Code Division Multiple Access (CDMA), 2G connection, etc.), Bluetooth connection, data transmission line, Near-field communication NFC, infrared, light fidelity (Light Fidelity, Li-fi) technology, etc., can also be other wireless connections or wired connections, which are not limited in this application.
  • the transmission strategy negotiation can be initiated by the sender of multi-path data transmission, or can be initiated by the receiver of multi-path data transmission, which is not limited in this application.
  • the first device 10 and the second device 20 may be electronic devices with wireless communication functions, including desktop, laptop, handheld, and vehicle-mounted user terminal (User Equipment, UE) devices, such as smart phones, cellular devices, etc.
  • UE User Equipment
  • UMPC ultra-mobile personal computers
  • PMP personal digital assistants
  • dedicated media players consumer electronic devices
  • wearable devices AR (augmented reality)/VR (virtual reality) devices and other types of electronic devices.
  • AR augmented reality
  • VR virtual reality
  • the first device 10 may also be a network element supporting a multi-path transmission protocol, including a network side device, such as a gateway, an access router, a core router, a front-end router, or a load balancer.
  • the first device 10 may also be a cloud device supporting a multi-path transmission protocol, such as a cloud server; wherein, the cloud server may be an application server, and one application server may run data of multiple applications.
  • Some large companies have multiple applications, for example, Google has Google Maps, Google Search and other applications; Tencent has various game applications, and Tencent Video, Wechat, QQ Music, etc. Applications under the same company can share servers.
  • cloud platform cloud services there may also be multiple applications belonging to different companies running on one application server. In other words, an application server can serve as a server for multiple applications, and some applications may share some network addresses.
  • the first device 10 and the second device 20 may be devices of the same kind.
  • both the first device 10 and the second device 20 may be communication terminal devices, such as mobile phones, smart watches, desktop computers, and tablet computers. , Smart TV box, UMPC, netbook, PDA or PMP, etc.
  • the first device 10 and the second device 20 may also be different types of devices.
  • the second device 20 may be a network side device, such as a gateway, an application server, an access router, a core router, a front-end router, or a load balancer.
  • FIG. 1B shows a schematic diagram of a communication network architecture example of a data transmission method provided in an embodiment of the present application.
  • the above-mentioned first device 10 may be the mobile phone 100 shown in FIG. 1B
  • the second device 20 may be the application server 200 shown in FIG. 1B.
  • the application server 200 is a mail server
  • an application client such as 126 mailboxes
  • the mobile phone 100 may periodically obtain updated mail information from the application server 200.
  • the mobile phone 100 and the application server 200 may establish multiple paths for obtaining mail data transmission through different network nodes.
  • the network node may be an access point (AP) of a WiFi network, a router, or an access point of a Winmax network or a base station of a wireless cellular mobile network, etc.
  • AP access point
  • the present invention does not limit the types of wireless networks and wireless networks The specific form of the access node.
  • the same type of wireless network refers to access nodes that belong to the same WiFi network, or belong to the Winmax network, or access nodes that belong to the same wireless cellular network, such as 2G network, 3G network, 4G network, or 5G network.
  • the mobile phone 100 and the application server 200 may establish the above-mentioned multiple paths through two network nodes (including the router 120 and the LTE cellular network base station 110) to carry the above-mentioned multiple paths of sub-streams.
  • the mobile phone 100 has two network addresses, network address 1 and network address 2.
  • network address 1 is the LTE cellular address of China Mobile
  • network address 2 is the WiFi address of China Telecom.
  • the application server 200 has three network addresses, a network address a and a network address b.
  • the network address a is the LTE cellular address of China Mobile
  • the network address b is the WiFi address of China Telecom.
  • There should be at most 2*2 4 paths between the mobile phone 100 and the application server 200, including path 1 (WiFi-LTE path), path 2 (WiFi-WiFi path), path 3 (LTE-WiFi path) and path 4 (LTE-LTE path).
  • path 2 and path 4 are network connections between network addresses of the same operator
  • path 1, path 3 are network connections between network addresses of cross-operators.
  • the data to be transmitted can be split into at most 4 sub-streams and transmitted from the application server 200 to the mobile phone 100 through the above-mentioned 4 paths.
  • the mobile phone 100 and the application server 200 may negotiate a transmission strategy during the process of establishing a multipath connection.
  • the mobile phone 100 may send a request message to the application server 200 to request the establishment of a multi-path connection with the application server 200.
  • the request message carries transmission strategy negotiation information.
  • the transmission strategy negotiation information is used to negotiate with the application server 200 a transmission strategy used in multi-path data transmission.
  • the foregoing transmission strategy may include a path management strategy and/or a data scheduling strategy.
  • the mobile phone 100 and the application server 200 may negotiate a transmission strategy based on one or more transmission parameters such as transmission rate, delay, packet loss rate, and throughput rate. Among them, the above transmission parameters include but are not limited to transmission rate, delay, packet loss rate and throughput rate.
  • the aforementioned path management (Path Manager, PM) strategy is used to instruct the mobile phone 100 and the application server 200 to establish multiple paths based on their multiple network addresses.
  • the PM policy may instruct the mobile phone 100 and the application server 200 to establish a specific way, process and number of paths, etc.
  • a maximum of 4 paths can be established between the mobile phone 100 and the application server 200, but when the mobile phone 100 and the application server 200 perform multi-path data transmission, the specific paths that need to be established can depend on the specific circumstances, for example, According to the above transmission parameters (such as transmission rate, time delay, packet loss rate and throughput rate, etc.) to determine.
  • the aforementioned data scheduling (Scheduler) strategy is used to instruct the mobile phone 100 and the application server 200 to perform data scheduling based on the established path.
  • the Scheduler strategy may instruct the mobile phone 100 and the application server 200 to split the data to be transmitted into the specific split ratio, the number of substreams, the aggregation method, and the dynamic adjustment mechanism.
  • Multi-path transmission technology can be used in a variety of networking systems. Generally, if information is to be transmitted through multi-path transmission technology, at least one link between the sender and receiver of the information should support the multi-path transmission technology.
  • Figure 2A briefly lists three networking systems that can use this technology. For ease of description, Figure 2A schematically shows two paths in the multipath system, using WiFi technology and an LTE network respectively.
  • the mobile phone 100 in system one supports the multi-path transmission technology, but the application server 200 does not support this technology.
  • a proxy device referred to as an MPTCP proxy, such as a gateway
  • MPTCP proxy such as a gateway
  • both the mobile phone 100 and the application server 200 support multi-path transmission technology.
  • the application server 200 may perform multi-path data transmission with the mobile phone 100 through a multi-path transmission technology.
  • System 3 in Figure 2A describes the scenario of communication between the application server 200 and the application server 300.
  • the multipath transmission technology may be supported, or at least one end may not support the multipath transmission technology.
  • Technology, the end that does not support this technology can rely on a proxy device (such as a gateway) that supports multi-path transmission technology, as shown in System 3 in Figure 2A, which shows that both application servers rely on MPTCP proxy to make application server 200 and application The servers 300 use this technology for communication.
  • data transmission between the mobile phone 100 and the application server 200 can be performed through a WiFi network or an LTE network.
  • WiFi networks are free, while LTE networks are billable, especially in mobile roaming scenarios where the cost of LTE networks will be very high.
  • the mobile phone 100 needs to use the LTE network as little as possible, so the mobile phone 100 limits the transmission rate on the LTE network.
  • the application server 200 also needs to know the corresponding data transmission requirements of the mobile phone 100 in order to transmit data to the mobile phone 100 according to the specific data transmission requirements. Therefore, the mobile phone 100 needs to inform the application server 200 of the corresponding transmission strategy, so that the application server 200 can perform multi-path data transmission with the mobile phone 100 according to the transmission strategy.
  • FIG. 2B briefly describes a part of the architecture common to the various devices involved in this application from the software architecture, including the application (APP) layer, the multipath transmission layer, and the IP layer.
  • the multipath transmission layer can be considered to replace the current
  • the common TCP layer is between the APP layer that runs various applications and the IP layer.
  • Part of the multipath transmission layer runs in the user mode of the operating system, and some runs in the kernel mode of the operating system. Because the substream can use multiple transmission protocols, such as TCP, SCTP, and QUIC.
  • the technical solution of the present application is implemented in the software of the device, for example, it may be a multipath transmission layer in kernel mode or a multipath transmission layer in user mode.
  • FIG. 2A illustrates the implementation of three multipath transmission layers.
  • the solution of this application can be implemented in the multipath transmission layer of these three implementations. Each implementation includes a multipath transmission layer and a substream layer in a connection.
  • the multi-path transmission layer runs with a multi-path transmission protocol
  • the sub-stream layer indicates 2 sub-streams.
  • the foregoing device may include any one of the three multipath transmission layers, and since the application layer and the IP layer are similar in the three implementation manners, the description is not repeated.
  • the left side shows the multi-path transmission layer in the kernel mode, and its sub-streams use the TCP/SCTP protocol
  • the middle shows the user mode MP layer, and its sub-streams use the QUIC protocol and the kernel mode uses the UDP protocol
  • the right side shows that there are many user modes.
  • Path transport layer its sub-flow uses TCP/SCTP protocol.
  • this application provides a schematic diagram of communication between the mobile phone 100 and the application server 200 using the MPTCP technology.
  • a multi-path transmission connection is established between the application layer client of the mobile phone 100 and the application layer of the application server 200.
  • the application layer of the mobile phone 100 accesses the node 1 to the application server 200 port 1'to the application layer of the application server 200 through port 1. It is considered as path 1; and the application layer of the mobile phone 100 passes through port 2, and the access node 2 to the application server 200 port 2'to the application layer of the application server 200 can be considered as path 2.
  • the multi-path transmission protocol is a protocol that is fully compatible with the TCP protocol. All management information of the multi-path transmission connection is transmitted through the TCP option field. Therefore, as long as the two devices of the data exchange both support the multi-path transmission protocol, the MP_CAP( Multipath Capable) option.
  • the transport layer in FIG. 2C is used to run the transport protocol and maintain the connection established with the network-side server, in which the multi-path transport protocol runs.
  • the application layer in Figure 2C is used to control and coordinate the structure or modules of other layers to complete tasks and realize functions, including application software and application clients installed on the mobile phone 100, such as address book, clock, Yutube client, Wechat (Wechat) ) Client etc.
  • FIG. 3 it is a schematic diagram of the hardware structure of the mobile phone 100 in an embodiment of the application.
  • the mobile phone 100 includes a processor 301, a communication line 302, a memory 303, and at least one communication interface (in FIG. 3, the communication interface 304 is included as an example for illustration).
  • the processor 301 may be a general-purpose central processing unit (CPU), a microprocessor, a processing circuit (for example, an application-specific integrated circuit (ASIC)), or one or more for controlling
  • the processor 301 may include one or more CPUs, such as CPU0 and CPU1 in FIG.
  • the communication line 302 may include a path to transmit information between the aforementioned components.
  • Communication interface 304 using any device such as a transceiver to communicate with other devices or communication networks, such as Ethernet, radio access network (RAN), wireless local area networks (WLAN), etc. .
  • RAN radio access network
  • WLAN wireless local area networks
  • the memory 303 can be a read-only memory (ROM) or other types of static storage devices that can store static information and instructions, random access memory (RAM), or other types that can store information and instructions
  • the dynamic storage device can also be electrically erasable programmable read-only memory (EEPROM), compact disc read-only memory (CD-ROM) or other optical disk storage, optical disc storage (Including compact discs, laser discs, optical discs, digital versatile discs, Blu-ray discs, etc.), storage media (such as disk storage media) or other magnetic storage devices, or can be used to carry or store desired programs in the form of instructions or data structures Code and any other medium that can be accessed by the computer, but not limited to this.
  • the memory can exist independently and is connected to the processor through the communication line 302. The memory can also be integrated with the processor.
  • the memory 303 is used to store computer execution instructions for executing the solution of the present application.
  • the memory 303 may store an operating system and application programs used to implement the method of the embodiment of the present application, and the processor 301 controls the execution.
  • the processor 301 is configured to execute computer-executable instructions stored in the memory 303, so as to implement the data transmission method provided in the following embodiments of the present application.
  • the memory 303 shown in FIG. 3 is only a schematic diagram, and the memory may also include other functional instructions, which is not limited by the present invention.
  • the application server 200 in the embodiment of the application may have a hardware structure similar to that of the mobile phone 100. As shown in FIG. 4, it is a schematic diagram of the hardware structure of the application server 200 in the embodiment of the application.
  • the memory 403 may store an operating system and application programs used to implement the methods of the embodiments of the present application, and the processor 401 controls the execution.
  • the processor 401 controls the execution.
  • the communication line 402, the memory 403, and the communication interface 404 reference may be made to the introduction of the processor 301, the communication line 302, the memory 303, and the communication interface 304 above.
  • the data transmission method provided by the embodiment of the present application will be introduced below in conjunction with FIG. 1A-4.
  • the basic principle of this method is: through the extension of the multi-path transmission protocol, the sending and receiving parties who use the multi-path transmission technology for data transmission can negotiate the transmission strategy during the link establishment phase and the transmission process, and can dynamically according to the sender and receiver.
  • the actual situation of the terminal and other factors can flexibly adjust the transmission strategy, including path management strategy and/or data scheduling strategy, through negotiation between the two parties, so as to improve user experience.
  • an interactive diagram 1 of a data transmission method provided by an embodiment of this application.
  • This method can be used for the multi-path connection between the mobile phone 100 and the application server 200, and the method can include:
  • the mobile phone 100 sends a first message to the application server 200.
  • the first message may include transmission policy negotiation information.
  • the transmission strategy negotiation information is used to negotiate with the application server 200 a transmission strategy used when the application server 200 uses a multi-path connection to transmit data with the mobile phone 100.
  • the transmission strategy negotiated by the mobile phone 100 and the application server 200 in the embodiment of the present application may be at least one of a path management strategy and a data scheduling strategy, and may be both a path management strategy and a data scheduling strategy. Both have, or only the data scheduling strategy, or only the path management strategy.
  • the path management strategy indicates a strategy for establishing a multipath connection between at least two network addresses of the mobile phone 100 and at least two network addresses of the application server 200.
  • the "default" path management strategy means that the new network address is not broadcast, but the link establishment request sent by the new network address of the transmission peer can be passively accepted.
  • the "fullmesh" path management strategy is to establish all paths that can be established between the sending and receiving ends; as shown in Figure 1B, there are 4 paths that can be established between the mobile phone 100 and the application server 200, then according to the "fullmesh” Strategy, establish all 4 paths.
  • the data scheduling strategy indicates the data distribution strategy used when the mobile phone 100 uses the multipath connection to transmit data. For example, the minimum delay priority strategy, random allocation strategy and redundant transmission strategy.
  • the minimum delay priority strategy refers to data transmission with the lowest delay.
  • Random allocation strategy refers to the establishment of paths randomly. For example, when the random number is 1, path A and path B are established for data transmission, and when the random number is 2, path C and path D are established for data transmission. Among them, the paths corresponding to different random numbers Can be customized.
  • the redundant transmission strategy means that the same data is transmitted on all paths of a multi-path transmission connection, that is, the data of a connection is repeatedly transmitted by multiple paths.
  • the transmission policy negotiation information may include at least one of second policy information, third policy information, and fourth policy information.
  • the second strategy information indicates the transmission strategy used when the mobile phone 100 uses the multi-path connection to transmit data.
  • the transmission strategy used when the mobile phone 100 uses a multi-path connection to transmit data can be understood as the transmission strategy currently used by the mobile phone 100; for example, the mobile phone 100 currently uses a redundant transmission mode.
  • the current refers to the moment when the mobile phone 100 sends the first message to the application server 200.
  • the third strategy information indicates that the mobile phone 100 recommends the transmission strategy used when the application server 200 uses the multipath connection to transmit data.
  • the transmission strategy used when the mobile phone 100 recommends that the application server 200 use the multi-path connection to transmit data may be the transmission strategy indicated by the second strategy information, that is, the transmission strategy currently used by the mobile phone 100; or It can be any transmission strategy supported by the mobile phone 100.
  • the mobile phone 100 recommends that the application server 200 use a multi-path connection to transmit data when the transmission strategy used can be that the mobile phone 100 acquires the data transmission requirements according to it (for example, a certain application client installed in the mobile phone 100 End data transmission requirements) to determine the transmission strategy that can meet the data transmission requirements.
  • the specific process will be described in detail below.
  • the fourth strategy information indicates at least one transmission strategy that the mobile phone 100 can use.
  • “usable” can be understood as “supported”, that is, the fourth strategy information indicates at least one transmission strategy supported by the mobile phone 100.
  • the mobile phone 100 may support minimum delay priority/random allocation/redundant transmission.
  • the second transmission strategy, the transmission strategy indicated by the third strategy information and the fourth strategy information may also include a path management strategy and/or a data scheduling strategy.
  • S502 The mobile phone 100 receives the second message from the application server 200.
  • the second message may include first policy information.
  • the first policy information indicates the transmission policy used when the application server 200 uses the multi-path connection.
  • the first policy information is used by the application server 200 according to the path management policy and/or data scheduling policy included in the first message sent by the mobile phone 100 in combination with what it can use (that is, what it can support) ) Path management strategy and/or data scheduling strategy are determined.
  • the requirement may be the path management strategy and/or data scheduling strategy indicated by the second strategy information, and the third strategy information
  • the indicated path management strategy and/or data scheduling strategy may also be the path management strategy and/or data scheduling strategy indicated by the fourth strategy information.
  • the transmission strategy indicated by the first strategy information is a transmission strategy corresponding to the transmission strategy negotiation information sent by the mobile phone 100.
  • the "transmission strategy corresponding to the transmission strategy negotiation information” may be the transmission strategy indicated by the transmission strategy negotiation information. It may also be a transmission strategy that is often used in conjunction with the transmission strategy indicated by the transmission strategy negotiation information (for example, the expected transmission performance can be met when used in conjunction in a specific scenario). It may also be a transmission policy that matches the transmission policy indicated by the transmission policy negotiation information following a certain matching rule (for example, a preset matching relationship: if the transmission policy B indicated by the transmission policy negotiation information, the second device uses the transmission policy C, Wherein, the transmission strategy C and the transmission strategy B may be the same or different).
  • matching can also be understood as similar transmission performance.
  • close performance can be understood as the same performance attributes indicated by the path management strategy or the data scheduling strategy.
  • the performance attribute refers to whether the strategy is a high-throughput strategy, a low-latency strategy, or a redundant strategy.
  • close performance can be understood as the proximity of the attribute quantitative reference value indicated by the path management strategy or the data scheduling strategy.
  • the attribute quantitative reference value refers to the quantitative value corresponding to the path management strategy or data scheduling strategy of each attribute.
  • the transmission strategy indicated by the first strategy information is any one of the following: a transmission strategy indicated by the second strategy information, a transmission strategy indicated by the third strategy information, or a transmission strategy indicated by the fourth strategy information Any transmission strategy.
  • the application server 200 may first determine whether the path management policy and/or data scheduling policy supported by itself can match the path management policy and/or data scheduling policy indicated by the third policy information, that is, the application server 200 It is determined whether it supports the path management strategy and/or data scheduling strategy used when the mobile phone 100 recommends that the application server 200 use a multi-path connection to transmit data.
  • the application server 200 determines that the first policy information indicates the corresponding path management policy and/or data scheduling policy indicated by the third policy information. If it cannot match, the application server 200 can determine whether the path management strategy and/or data scheduling strategy supported by itself can match the path management strategy and/or data scheduling strategy indicated by the second strategy information, that is, the transmission strategy currently used by the mobile phone 100. If it can match, the application server 200 determines that the first policy information indicates the corresponding path management policy and/or data scheduling policy indicated by the second policy information. If it cannot match, the application server 200 determines that the first policy information indicates that it supports the path management policy and/or data that is close to the path management policy and/or data scheduling policy indicated by the second policy information or the third policy information. Scheduling strategy; or, the application server 200 determines that the first strategy information indicates the corresponding path management strategy and/or data scheduling strategy supported by itself and supported by the mobile phone 100.
  • the third policy information indicates data scheduling policy 1.
  • the data scheduling policy 1 is a high-throughput policy.
  • the application server 200 does not support data scheduling policy 1, but supports data scheduling policy 2, which is also a high-throughput policy. Therefore, the application The server 200 can use the data scheduling strategy 2 to perform data transmission with the mobile phone 100.
  • Table 1 is a performance attribute table of a data scheduling policy that the mobile phone 100 can support according to an embodiment of the application.
  • the content of Table 1 may be included in the first message sent by the mobile phone 100 to the application client 200.
  • the data scheduling strategies that the mobile phone 100 can use include scheduler strategy 1, scheduler strategy 2, and scheduler strategy 3.
  • scheduler strategy 1 and scheduler strategy 2 are data scheduling strategies with high throughput attributes, and the quantitative reference values of their attributes are aggregation rate value 1 (for example, 1 Tbps) and aggregation rate value 2 (for example, 1.2 Tbps); scheduler strategy 3 is an attribute It is a low-latency data scheduling strategy, and its attribute quantitative reference value is a low-latency value (for example, 1 ⁇ s).
  • Data scheduling strategy Attributes Attribute quantitative reference value scheduler strategy 1 High throughput Aggregation rate value 1Tbps Scheduler strategy 2 High throughput Polymerization rate value 1.2Tbps Scheduler strategy 3 Low latency Low delay value 1 ⁇ s
  • the application server 200 can also refer to the above determination The process and method of the data scheduling strategy indicated in the first strategy information.
  • the application server 200 may not send the second message to the mobile phone 100 after determining the first policy information.
  • the transmission strategy indicated by the first strategy information is directly used to transmit data with the mobile phone 100.
  • the first message sent by the mobile phone 100 includes the transmission strategy recommended by the mobile phone 100 to the application server 200, and the application server 200 determines according to the information that it can use the transmission strategy recommended by the application server 200 by the mobile phone 100, and the application server 200 may also The first strategy information is not sent to the mobile phone 100, and the determined transmission strategy is directly used to transmit data with the mobile phone 100.
  • the mobile phone 100 and the application server 200 transmit data according to the negotiation result.
  • the mobile phone 100 uses the transmission strategy corresponding to the first strategy information to transmit data with the application server 200 based on the first strategy information.
  • the application server 200 uses the transmission strategy indicated by the first strategy information to transmit data with the mobile phone 100.
  • the transmission strategy corresponding to the first strategy information can be understood as the same as the transmission strategy indicated by the first strategy information, or the same as the transmission strategy attribute indicated by the first strategy information, or the transmission strategy indicated by the first strategy information.
  • the strategy attribute quantifies the transmission strategy whose reference value is close.
  • the transmission policy indicated by the first policy information may be the same as the transmission policy in the transmission policy negotiation information , Or the attributes are the same, or the quantitative reference value is close. Therefore, after the negotiation is completed, the respective transmission strategies used by the mobile phone 100 and the application server 200 must be “corresponding”.
  • the transmission strategy types indicated by the first strategy information and the transmission strategy negotiation information are the same, and the transmission strategy type is at least one of a path management strategy and a data scheduling strategy.
  • the transmission strategy indicated by the transmission strategy negotiation information includes a path management strategy and a data scheduling strategy, that is, the transmission strategy negotiation information is used to negotiate a path management strategy and a data scheduling strategy, then the application server 200 replies to the first strategy information of the mobile phone 100 It is the feedback made for the transmission strategy negotiation information, that is, the feedback of the negotiation result of the negotiation path management strategy and the data scheduling strategy.
  • the protocol stack of the mobile phone 100 may determine the transmission strategy negotiation information according to the data transmission requirements corresponding to the multipath connection.
  • the multi-path connection is a multi-path transmission control protocol MPTCP connection, or a multi-path fast user data message transmission protocol MPQUIC connection.
  • FIG. 6 a schematic structural diagram of a multi-path transmission protocol stack provided by an embodiment of this application.
  • the mobile phone 100 and the application server 200 can be implemented open source by adopting the Linux open source computer operating system kernel on the MPTCP and MPQUIC protocols.
  • the method may further include:
  • the mobile phone 100 determines data transmission requirements.
  • the data transmission requirement may be a data transmission requirement of a certain application client installed in the mobile phone 100.
  • the Wechat client requires low data transmission delay with the application server.
  • the iQiyi client requires high throughput for data transmission with the application server.
  • S505 The mobile phone 100 determines transmission strategy negotiation information according to the data transmission requirement.
  • the protocol stack of the mobile phone 100 determines according to the demand that the data scheduling policy included in the transmission policy negotiation information is a low-latency policy. For another example, if the iQiyi client requires high throughput for data transmission with the application server, the protocol stack of the mobile phone 100 determines that the scheduling strategy included in the transmission strategy negotiation information is a strategy with a high throughput attribute according to the demand.
  • the method shown in FIG. 7 can occur in phase 1 and phase 2 when the mobile phone 100 and the application server 200 use a multi-path connection.
  • Stage 1 The link establishment stage of the mobile phone 100 and the application server 200 as shown in FIG. 8A and FIG. 8B. At this stage, the mobile phone 100 sends the first message to the application server 200.
  • the chain establishment stage refers to the stage in which the mobile phone 100 establishes a multi-path transmission connection with the application server 200.
  • the first message may be a handshake message; where, the handshake message is a handshake message used by the mobile phone 100 and the application server 200 to establish the main and sub-flows, or the handshake message is a handshake message that the mobile phone 100 establishes with the application server 200. Handshake messages used by substreams other than the main substream.
  • the first message can be completed in the following three implementations:
  • the first message is a handshake message in the MP_CAPABLE phase.
  • the protocol is an example 1 of a first message interaction process provided by an embodiment of this application.
  • the establishment of the main substream between the mobile phone 100 and the application server 200 may be completed in the MP_CAPABLE phase, and the above-mentioned first message is a handshake message in the MP_CAPABLE phase.
  • the first message is a handshake message in the MP_JOIN phase.
  • the mobile phone 100 Since the main substream is established in the MP_CAPABLE phase, the mobile phone 100 will add the substream to the MPTCP connection.
  • This phase is the multipath substream (Multipath_Join, MP_JOIN) phase, as shown in FIG. 10A, which is provided for this embodiment of the application.
  • the second example of a first message interaction process The establishment of other substreams between the mobile phone 100 and the application server 200 may be completed in the MP_JOIN phase, and the above-mentioned first message is a handshake message in the MP_JOIN phase.
  • the first message is an MPQUIC extended message.
  • the second message may also be a handshake message; specifically, the second message may also be a handshake message in the MP_CAPABLE phase or a handshake message in the MP_JOIN phase.
  • the second message may also be an MPQUIC extended message.
  • Stage 2 As shown in FIG. 8B and FIG. 8C, the mobile phone 100 and the application server 200 use multi-path technology for data transmission.
  • the first message can be completed in the following two implementations:
  • the first message is an MPTCP extended message.
  • Implementation mode (2) The first message is an MPQUIC extended message.
  • the first message may be a data message or a control message during data transmission.
  • the second message may also be a data message or a control message during data transmission.
  • the message format of the first message and/or the second message in the data transmission process will be described in detail below.
  • S504-2 in FIG. 8B may be triggered in response to detecting that the data transmission requirement from the application has changed.
  • the mobile phone 100 has a WiFi network and an LTE cellular network.
  • the WiFi network is free, but the LTE cellular network is charged according to the traffic.
  • the mobile phone 100 and the application server 200 perform downloading or video playback services. Downloading using the multi-path transmission protocol can increase the download speed and improve the user experience, but users hope that the multi-path protocol can schedule data to the free WiFi network as much as possible, and schedule a small amount of data to the LTE network.
  • S504-1, S505-1, S501-1 and S502-1 will be performed in the key chain stage, and it is recommended that the application server 200 use the WiFi-first data scheduling strategy. Then the data is transmitted according to the negotiated transmission strategy.
  • the user finds that he still cannot accept the excessive use of LTE traffic, and hopes to no longer send data packets through the path established by the LTE cellular network, so a transmission strategy negotiation in the data transmission phase is initiated (ie S504-2 , S505-2, S501-2 and S502-2), it is recommended that the application server 200 use no-LTE scheduling. According to this suggestion, the application server 200 will only send data on the path established by the WiFi network.
  • the mobile phone 100 has multiple network addresses, the network address 1 is assigned by the operator A, and the network address 2 is assigned by the operator B.
  • the application server 200 also has multiple network addresses, which belong to operator A and operator B, respectively.
  • the mobile phone 100 In the chain building stage, the mobile phone 100 only needs to perform low-latency transmission, so the mobile phone 100 will perform S504-1, S505-1, S501-1 and S502-1 in the key chain stage. It is recommended that the application server 200 use the low-latency path Management strategy.
  • the application server 200 can establish a connection from the network address 1 assigned by the operator A to the network address assigned by the operator A corresponding to the application server 200 according to the suggestion, and the network address assigned by the operator B The connection from the network address 2 of the application server 200 to the network address allocated by the operator B corresponding to the application server 200 to meet the low-latency transmission requirements. Then the data is transmitted according to the negotiated transmission strategy. However, during the data transmission process, the mobile phone 100 wants to switch to a relatively high-throughput service, so it initiates a transmission strategy negotiation in the data transmission phase (ie S504-2, S505-2, S501-2, and S502-2). It is recommended that the application server 200 use a fullmesh path management strategy. According to the suggestion, the application server 200 builds two additional routes across operators, so that data can be transmitted through four routes in total.
  • the mobile phone 100 and the application server 200 can first use the default transmission strategy for transmission. After the required data transmission requirements, the two negotiate the transmission strategy.
  • the mobile phone 100 negotiates a transmission strategy with the application server 200 using multipath technology for data transmission, the negotiation of the transmission strategy and the switching of the transmission strategy are performed in the data transmission process.
  • the multi-path connection is not disconnected in the above process, and the data transmission is not interrupted, so it will not affect the user's use.
  • the first message may further include: first indication information; where the first indication information is used to indicate that the first message includes transmission policy negotiation information.
  • the first message may include the first extension bit.
  • the transmission policy negotiation information is located in the first extension bit of the header of the first message.
  • the first message may also include a second extension bit; the first indication information is located in the second extension bit of the first message.
  • the mobile phone 100 sends the first message to the application server 200 in the above stage 1, that is, the link establishment stage.
  • A, B, C, D, E, F, G, and H in FIG. 9B are corresponding identification bits, which respectively represent different semantics.
  • the B bit is the second extension bit, which is used to identify the first indication information, that is, to identify whether the first message includes transmission policy negotiation information. Specifically, if the B bit is 1, it means that the first message includes transmission policy negotiation information.
  • the specific transmission strategy negotiation information is carried in the first extension bit.
  • the format example 3 of the first message of an implementation manner (B) provided in this embodiment of the present application is the second extension bit, which is used to identify the first indication information, that is, to identify whether the first message includes transmission policy negotiation information. Specifically, if the A bit is 1, it means that the first message includes transmission policy negotiation information.
  • the specific transmission strategy negotiation information is carried in the first extension bit.
  • the first indication information may also be used to indicate whether the first message includes PM policy negotiation information or scheduler policy negotiation information.
  • the indication information can be carried by other extension bits.
  • the format example 2 of the first message of an implementation manner (A) provided by this embodiment of the application If the B bit is 1, the subsequent C and D can be expanded into the third extension bit S and the fourth extension bit P, respectively, indicating different semantics from C and D in FIG. 9B. As shown in FIG. 9C, if the S bit is 1, it indicates that the first message includes scheduler policy negotiation information; if the P bit is 1, it indicates that the first message includes PM policy negotiation information. The specific transmission strategy negotiation information is carried in the first extension bit.
  • the fourth example of the format of the first message of an implementation manner (B) provided in this embodiment of the application If the A bit is 1, the subsequent S and P can be extended to the third and fourth extension bits respectively. If the S bit is 1, it means that the first packet includes scheduler policy negotiation information; if the P bit is 1 , It indicates that the first message includes PM policy negotiation information. The specific transmission strategy negotiation information is carried in the first extension bit.
  • Figure 9B, Figure 9C, Figure 10B and Figure 10C are only used as examples to illustrate the extension bits that carry the first indication information and the extension bits that carry the transmission strategy negotiation information, and do not limit the specific location of each extension bit.
  • the specific location of each extension bit may not be limited to the location in FIG. 9B and FIG. 9C.
  • the second message may also include: second indication information; where the second indication information is used to indicate that the second message includes the first policy information.
  • the second message may also include a first extension bit and a second extension bit, where the first policy information is located in the first extension bit of the header of the first message; the second indication information is located in the second extension of the second message Bit.
  • the format of the second message reference may also be made to the format of the first message in FIGS. 9B, 9C, 10B, and 10C.
  • the first extension bit is a control request extension bit; the second extension bit is a subtype extension bit.
  • the fifth example of the format of the first message of an implementation manner (C) provided in this embodiment of the application The mobile phone 100 and the application server 200 negotiate the scheduler policy and/or PM policy during the security handshake phase of the QUIC protocol, and extend the transport parameter of QUIC, including the subtype extension bit and the control request extension bit to implement the function of policy negotiation.
  • the subtype subtype specifies the format of the control request message. For details, refer to Table 2.
  • Subtype Control request Scheduler policy negotiation
  • Scheduler policy negotiation information PM policy negotiation
  • Scheduler strategy and PM strategy are negotiated at the same time
  • the negotiation of the transmission strategy can be divided into 1RTT negotiation and 0RTT negotiation.
  • 1RTT negotiation means that a round-trip delay is required to complete the negotiation process
  • 0RTT negotiation means that the negotiation process can be completed without a round-trip delay.
  • the scenario where the 1RTT negotiation occurs may be the first multi-path communication between the mobile phone 100 and the application server 200.
  • the specific process is that the mobile phone 100 first performs public and private key pairing with the application server 200, and then performs multi-path communication, as shown in FIG. 14A.
  • 1 RTT negotiation may occur in a non-first multipath communication between the mobile phone 100 and the application server 200, that is, in the previous multipath communication, the mobile phone 100 and the application server 200 have obtained the public and private keys respectively, and then the multipath communication can be directly performed. As shown in Figure 14B.
  • 12A in FIG. 12 is an existing MPTCP packet
  • 12B in FIG. 12 is an MPTCP extended packet in an embodiment of the application.
  • MPTCP extended messages use the RR bit as the second extended bit and the third extended bit, respectively, for carrying indication information indicating that the first message includes scheduler policy negotiation information, and indicating the first message.
  • a message includes indication information of PM policy negotiation information. Among them, if the X bit is 1, it indicates that the first message includes scheduler policy negotiation information; if the Y bit is 1, it indicates that the first message includes PM policy negotiation information.
  • the specific transmission strategy negotiation information is carried in the first extension bit.
  • FIG. 13 it is an example 7 of the format of the first message of an implementation manner (2) provided in this embodiment of the application.
  • the mobile phone 100 and the application server 200 negotiate the scheduler strategy and/or PM strategy during the data transmission phase using MPTCP, and extend the new MPTCP extension options to implement the strategy negotiation function, including the subtype subtype extension bit and the control request extension bit .
  • the subtype subtype specifies the format of the control request message. For details, please refer to Table 2 above.
  • the mobile phone 100 includes hardware structures and/or software modules corresponding to various functions.
  • the present application can be implemented in the form of hardware or a combination of hardware and computer software. Whether a certain function is executed by hardware or computer software-driven hardware depends on the specific application and design constraint conditions of the technical solution. Professionals and technicians can use different methods for each specific application to implement the described functions, but such implementation should not be considered beyond the scope of this application.
  • the embodiment of the present application may divide the mobile phone 100 into functional modules.
  • each functional module may be divided corresponding to each function, or two or more functions may be integrated into one processing module.
  • the above-mentioned integrated modules can be implemented in the form of hardware or software functional modules. It should be noted that the division of modules in the embodiments of the present application is illustrative, and is only a logical function division, and there may be other division methods in actual implementation.
  • the mobile phone 100 may include a sending module 1510 and a receiving module 1520.
  • the sending module 1510 is configured to send a first message including transmission policy negotiation information to the application server 200; wherein, the transmission policy negotiation information is used to negotiate a transmission policy used when the application server 200 uses a multi-path connection.
  • the receiving module 1520 is configured to receive a second message including first policy information from the application server 200; wherein the first policy information indicates the transmission policy used when the application server 200 uses a multi-path connection.
  • the sending module 1510 and the receiving module 1520 are further configured to use the transmission strategy corresponding to the first strategy information to transmit data with the application server 200 based on the first strategy information in the second message.
  • the transmission strategy types indicated by the first strategy information and the transmission strategy negotiation information are the same, and the transmission strategy types are at least one of a path management strategy and a data scheduling strategy.
  • the mobile phone 100 may further include an analysis module 1530 for determining transmission strategy negotiation information.
  • the application server 200 can also be divided into functional modules in an integrated manner. As shown in FIG. 16, it is a schematic structural diagram of an application server provided by an embodiment of this application.
  • the application server 200 may include a sending module 1610, a receiving module 1620, and an analysis module 1630.
  • the receiving module 1620 is configured to receive a first message including transmission strategy negotiation information from the mobile phone 100; wherein, the transmission strategy negotiation information is used to negotiate a transmission strategy used when the application server 200 uses a multi-path connection.
  • the analysis module 1630 is configured to determine the first policy information according to the transmission policy negotiation information in the first message; where the first policy information indicates the transmission policy used when the application server 200 uses the multipath connection.
  • the sending module 1610 is configured to send data to the mobile phone 100 using the transmission strategy indicated by the first strategy information.
  • the receiving module 1620 is further configured to receive data from the mobile phone 100 using the transmission strategy indicated by the first strategy information.
  • the sending module 1510 and receiving module 1520 of the mobile phone 100 and the sending module 1610 and receiving module 1620 of the application server 200 may be constituted by radio frequency circuits.
  • the sending module 1510, the receiving module 1520, the sending module 1610, and the receiving module 1620 may complete the receiving and sending of wireless signals in the embodiments of the present application through a radio frequency circuit.
  • the radio frequency circuit includes, but is not limited to, an antenna, at least one amplifier, a transceiver, a coupler, a low noise amplifier, a duplexer, and the like.
  • the radio frequency circuit can also communicate with other devices through wireless communication.
  • the wireless communication can use any communication standard or protocol, including but not limited to global system for mobile communications, general packet radio service, code division multiple access, broadband code division multiple access, long-term evolution, email, short message service, etc.
  • the computer program product includes one or more computer instructions.
  • the computer may be a general-purpose computer, a special-purpose computer, a computer network, or other programmable devices.
  • the computer instructions may be stored in a computer-readable storage medium or transmitted from one computer-readable storage medium to another computer-readable storage medium.
  • the computer instructions may be transmitted from a website, computer, server, or data center.
  • the computer-readable storage medium may be any available medium that can be accessed by a computer or a data storage device such as a server or data center integrated with one or more available media.
  • the usable medium may be a magnetic medium (for example, a floppy disk, a hard disk, and a magnetic tape), an optical medium (for example, a DVD), or a semiconductor medium (for example, a solid state disk (SSD)).
  • the steps of the method or algorithm described in the embodiments of the present application may be implemented in a hardware manner, or may be implemented in a manner in which a processor executes software instructions.
  • Software instructions can be composed of corresponding software modules, which can be stored in RAM memory, flash memory, ROM memory, EPROM memory, EEPROM memory, registers, hard disk, mobile hard disk, CD-ROM or any other form of storage known in the art Medium.
  • An exemplary storage medium is coupled to the processor, so that the processor can read information from the storage medium and can write information to the storage medium.
  • the storage medium may also be an integral part of the processor.
  • the processor and the storage medium may be located in the ASIC.
  • the ASIC may be located in the detection device.
  • the processor and the storage medium can also exist as discrete components in the detection device.
  • the disclosed user equipment and method may be implemented in other ways.
  • the device embodiments described above are only illustrative.
  • the division of the modules or units is only a logical function division.
  • there may be other division methods for example, multiple units or components may be It can be combined or integrated into another device, or some features can be omitted or not implemented.
  • the displayed or discussed mutual coupling or direct coupling or communication connection may be indirect coupling or communication connection through some interfaces, devices or units, and may be in electrical, mechanical or other forms.
  • the units described as separate parts may or may not be physically separate.
  • the parts displayed as units may be one physical unit or multiple physical units, that is, they may be located in one place, or they may be distributed to multiple different places. . Some or all of the units may be selected according to actual needs to achieve the objectives of the solutions of the embodiments.
  • each unit in each embodiment of the present application may be integrated into one processing unit, or each unit may exist alone physically, or two or more units may be integrated into one unit.
  • the above-mentioned integrated unit can be implemented in the form of hardware or software functional unit.
  • the integrated unit is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a readable storage medium.
  • the technical solutions of the embodiments of the present application are essentially or the part that contributes to the prior art, or all or part of the technical solutions can be embodied in the form of software products, which are stored in a storage medium.
  • a device which may be a single-chip microcomputer, a chip, etc.
  • a processor processor
  • the aforementioned storage media include: U disk, mobile hard disk, read-only memory (Read-Only Memory, ROM), random access memory (Random Access Memory, RAM), magnetic disk or optical disk and other media that can store program code .

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Quality & Reliability (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

本申请公开了一种数据传输方法及对应的设备,涉及移动通信领域,可以解决使用多路径传输技术传输数据时,收发设备之间无法根据需求协商数据传输策略,限制了传输性能,用户体验度差的问题。本申请第一设备和第二设备在使用多路径连接时,可以基于需要多次进行传输策略的协商,包括路径管理策略和数据调度策略中的至少一种,使得第一设备和第二设备可以更好地保证建链成功率,或者保证第一设备和第二设备数据调度策略的匹配度,提高数据传输性能,从而提高用户体验度。

Description

一种数据传输方法及对应的设备
本申请要求于2019年4月28日提交国家知识产权局、申请号为201910351873.X、发明名称为“一种数据传输方法及对应的设备”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本申请实施例涉及移动通信领域,尤其涉及一种数据传输的方法、对应的设备、计算机设备和存储介质。
背景技术
随着移动互联网的普及,越来越多的终端具有多个网络地址,应用服务端也具有多个网络地址,因此实际上终端和终端,或者终端与服务器之间具备进行多路径信息传输的多条物理通路。
在多路径传输时,需要制定传输策略。具体的,传输策略可以是路径管理和调度算法中的至少一种,需要确定如何在多个网络地址之间建立多个路径,这个过程在协议实施实现中称之为路径管理(Path Manager,PM)。例如:终端A具有无线保真(Wireless-Fidelity,WiFi)地址和4G长期演进(Long Term Evolution,LTE)地址,终端B具有WiFi地址和5G新无线(New Radio,NR)地址;那么终端A与终端B之间可以进行信息传输的物理通路包括:WiFi-WiFi,WiFi-5G NR,4G LTE-WiFi和4G LTE-5G NR;即终端A与终端B可以在上述4条路径上进行并发传输信息。另外,在多路径传输时,需要确定如何将一系列数据包分割在不同的路径上进行传输,比如,是使用聚合传输模式还是冗余传输模式,再比如,如何将从多个路径上接收的数据汇聚等等这些都可以称为调度算法Scheduler。例如:上述4条路径如何分担待传输的1G数据包。本申请中,又把调度算法称为数据调度策略。
现有的多路径传输中,通常,传输策略都是发送端和接收端独立静态设置的,灵活度太低,且很可能不互相匹配,影响以及限制了多路径传输的传输性能。
发明内容
本申请实施例提供一种数据处理方法,能够解决现有数据处理架构花费大、对功能要求高,或由于海量数据处理任务导致的负荷过大,易宕机等问题。
为达到上述目的,本申请实施例采用如下技术方案:
第一方面,提供一种数据处理方法,该方法应用于一种数据处理装置,该数据处理装置可以包括中央处理单元和传感器处理单元集合,该传感器处理单元集合包括至少一个传感器处理单元,该方法可以包括:中央处理单元获取传感器处理单元集合中至少一个传感器处理单元的状态信息;该中央处理单元根据至少一个传感器处理单元的该状态信息和/或中央处理单元的状态信息确定任务切换信息,该任务切换信息用于指示将第一传感器处理单元的数据处理任务切换至中央处理单元,或将中央处理单元 的数据处理任务切换至第二传感器处理单元;其中,该第一传感器处理单元和第二传感器处理单元为该传感器处理单元集合中的任一个;该中央处理单元处理由第一传感器处理单元切换至该中央处理单元的数据处理任务,和/或,第二传感器处理单元处理由该中央处理单元切换至第二传感器处理单元的数据处理任务。
上述第一方面提供的技术方案,通过根据传感器处理单元和/或中央处理单元的状态信息触发并执行数据处理任务的切换,可以结合分布式结构和集中式架构的特点,根据传感器处理单元和/或中央处理单元的负载、硬件、软件等实际情况分配数据处理任务,在保证数据处理装置负载稳定的同时,保证数据处理任务的可靠性进行。
在一种可能的实现方式中,所述状态信息可以包括能力信息和/或负载信息;该任务切换信息可以包括:将数据处理任务由传感器处理单元切换至中央处理单元,或者将数据处理任务由中央处理单元切换至传感器处理单元;所述中央处理单元根据至少一个传感器处理单元的状态信息和/或所述中央处理单元的状态信息确定任务切换信息,可以包括:若满足中央处理单元的负载信息指示该中央处理单元的负载大于中央处理单元负荷门限,且第二传感器处理单元的状态信息指示该第二传感器处理单元能够处理中央处理单元的数据处理任务,该任务切换信息为由中央处理单元切换至第二传感器处理单元,用于指示将数据处理任务由中央处理单元切换至所述第二传感器处理单元;或若满足第一传感器处理单元的状态信息指示该第一传感器处理单元不能处理该第一传感器处理单元的数据处理任务,该任务切换信息为由第一传感器处理单元切换至中央处理单元,用于指示将数据处理任务由该第一传感器处理单元切换至所述中央处理单元。通过根据能力信息和负载信息,以及预设的条件进行切换判决,可以通过数据处理任务切换在保证数据处理装置负载稳定的同时,保证数据处理任务的可靠性进行。
在一种可能的实现方式中,所述数据处理任务可以包括以下中的至少一项:数据抽象、数据融合和行为决策。通过支持在任何数据处理任务进行的同时按需进行任务切换,能够更好的保证数据处理装置负载稳定以及数据处理任务的可靠性进行。
在一种可能的实现方式中,所述中央处理单元获取传感器处理单元集合中至少一个传感器处理单元的状态信息,可以包括:该中央处理单元在传感器处理单元集合中至少一个传感器处理单元开始进行数据抽象前,获取至少一个传感器的状态信息;或该中央处理单元在该中央处理单元开始进行数据抽象前,获取至少一个传感器处理单元的状态信息;或该中央处理单元在该中央处理单元开始进行数据融合前,获取至少一个传感器处理单元的状态信息;或该中央处理单元在该中央处理单元开始进行行为决策前,获取至少一个传感器处理单元的状态信息;或该中央处理单元在传感器处理单元集合中至少一个传感器处理单元开始进行行为决策前,获取至少一个传感器处理单元的状态信息。通过支持在任何数据处理任务开始时前按需进行任务切换,能够更好的保证数据处理装置负载稳定以及待处理数据处理任务的可靠性进行。
在一种可能的实现方式中,若在第一传感器处理单元开始进行数据抽象前,该任务切换信息为将数据处理任务由传感器处理单元切换至中央处理单元,或若在第一传感器处理单元开始进行行为决策前,该任务切换信息为将数据处理任务由传感器处理单元切换至中央处理单元,该中央处理单元处理由第一传感器处理单元切换至该中央 处理单元的数据处理任务,可以包括:第一传感器处理单元停止数据抽象任务,将数据抽象任务切换给该中央处理单元;该中央处理单元进行数据抽象,获得抽象数据;或者;第一传感器处理单元停止行为决策任务,将行为决策任务切换给该中央处理单元;该中央处理单元进行行为决策。通过支持在任何数据处理任务开始时前按需进行任务切换,能够更好的保证数据处理装置负载稳定以及待处理数据处理任务的可靠性进行。
在一种可能的实现方式中,若在该中央处理单元开始进行数据抽象前,该任务切换信息为将数据处理任务由中央处理单元切换至传感器处理单元,或若在该中央处理单元开始进行数据融合前,该任务切换信息为将数据处理任务由中央处理单元切换至传感器处理单元,第二传感器处理单元处理由该中央处理单元切换至第二传感器处理单元的数据处理任务,可以包括:该中央处理单元停止数据抽象任务,将数据抽象任务切换给所述第二传感器处理单元;第二传感器处理单元进行数据抽象,获得抽象数据;或者,该中央处理单元停止数据融合任务,将数据融合任务切换给第二传感器处理单元;第二传感器处理单元进行行为决策。通过支持在任何数据处理任务开始时前按需进行任务切换,能够更好的保证数据处理装置负载稳定以及待处理数据处理任务的可靠性进行。
在一种可能的实现方式中,所述数据抽象可以包括:根据初始数据确定该初始数据对应的N个特征点;或,根据该初始数据确定初始信号对应的N个特征点;和根据该N个特征点确定M个特征面;和根据该M个特征点确定L个目标物体。
在一种可能的实现方式中,每一个传感器处理单元通过以太网与该中央处理单元通信。通过以太网进行通信,可以保证实时的状态信息传输以及任务切换信息的发送,提高该切换过程的实时性和准确性。
在一种可能的实现方式中,若该中央处理单元开始进行数据融合前,该中央处理单元的负载信息指示该中央处理单元的负载小于中央处理单元负荷门限,该中央处理单元进行数据融合,获得融合数据;所述融合数据可以包括以下至少一种:每一个特征点或每一个目标物体的空间位置信息和速度;每一个特征点或每一个目标物体的属性;当前环境信息。通过将至少一个传感器处理单元对应的抽象数据融合,可以综合各个传感器处理单元对应的分析结果,提高行为决策的可靠性。
在一种可能的实现方式中,在该中央处理单元处理由第一传感器处理单元切换至该中央处理单元的数据处理任务,和/或,第二传感器处理单元处理由该中央处理单元切换至第二传感器处理单元的数据处理任务之后,该方法还可以包括:获得控制信息;其中,该控制信息可以包括加速、减速、停止、右转、左转或掉头。通过根据按需切换来完成各个数据处理任务并获得控制信息,可以在保证数据处理装置负载稳定的保证控制信息的正常生成。
第二方面,提供一种数据处理装置,该数据处理装置具有实现上述第一方面任一种可能的实现方式中的所述的方法和功能。该功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。该硬件或软件包括一个或多个与上述功能相对应的模块。
本申请提供一种数据处理装置,该数据处理装置可以包括:存储器,用于存储计算机执行指令;处理器,用于执行该计算机执行指令实现如第一方面任一种可能的实 现方式中的数据处理方法。
本申请提供一种计算机可读存储介质,其特征在于,该计算机可读存储介质上存储有计算机执行指令,该计算机执行指令被处理器执行时实现如第一方面任一种可能的实现方式中的数据处理方法。
附图说明
图1A为本申请实施例提供的一种数据传输方法的应用场景示意图;
图1B为本申请实施例提供的数据传输方法的通信网络架构实例示意图;
图2A为本申请实施例提供的三种可使用本申请实施例的组网系统;
图2B为本申请实施例提供的三种可能的多路径传输层和子流层的架构示意图;
图2C为本申请提供的手机与应用服务器之间使用MPTCP技术进行通信的示意图;
图3为本申请实施例提供的手机的硬件结构示意图;
图4为本申请实施例提供的应用服务器的硬件结构示意图;
图5为本申请实施例提供的一种数据传输方法交互图一;
图6为本申请实施例提供的一种多路径传输协议栈结构示意图;
图7为本申请实施例提供的一种数据传输方法交互图二;
图8A为本申请实施例提供的一种数据传输方法交互图三;
图8B为本申请实施例提供的一种数据传输方法交互图四;
图8C为本申请实施例提供的一种数据传输方法交互图五;
图9A为本申请实施例提供的一种第一报文交互流程示例一;
图9B为本申请实施例提供的一种第一报文的格式示例一;
图9C为本申请实施例提供的一种第一报文的格式示例二;
图10A为本申请实施例提供的一种第一报文交互流程示例二;
图10B为本申请实施例提供的一种第一报文的格式示例三;
图10C为本申请实施例提供的一种第一报文的格式示例四;
图11为本申请实施例提供的一种第一报文的格式示例五;
图12为本申请实施例提供的一种第一报文的格式示例六;
图13为本申请实施例提供的一种第一报文的格式示例七;
图14A为本申请实施例提供的一种MPQUIC协商流程示例一;
图14B为本申请实施例提供的一种MPQUIC协商流程示例二;
图15为本申请实施例提供的一种手机的结构示意图;
图16为本申请实施例提供的一种应用服务器的结构示意图。
具体实施方式
本申请实施例提供一种数据传输方法,该方法用于设备之间通过多路径连接传输数据的过程中。其中,通过多路径连接传输数据的过程可以包括:设备之间建立多路径连接过程,以及完成多路径连接的建立之后,使用多路径连接传输数据的过程。具体的,第一设备和第二设备可以使用多路径传输协议,在建立多路径连接过程或者使用多路径连接传输数据的过程中协商双方传输数据所使用的传输策略。其中,本申请实施例中的传输策略的种类可以为路径管理策略和数据调度策略中的至少一种。
示例性的,本申请实施例中的多路径传输协议可以为多路径传输控制协议 (Multipath-Path Transmission Control Protocol,MPTCP)、多路径用户数据报协议(Multipath-Path User Datagram Protocol,MPUDP)、多路径快速用户数据报互联网连接协议(Multipath-Path Quick User Datagram Protocol Internet Connection,MPQUIC)等。
以下,对本申请实施例可能出现的术语进行解释。
路径(path):路径是发端(sender)与收端(reciever)之间的链路(link)。路径可以用四元组来标识,该四元组用于表示源地址(和/或端口)和目的地址(和/或端口)对。应理解,支持多路径传输技术的收端和发端,都可以在其主机(host)中准备多个地址,以便标识多条路径。以及,一对收端和发端之间的多条路径可以共享一个或者多个路由器(router)。
子流(subflow):在单个路径(path)上运行的TCP段(segment)的流。子流是一条多路径连接的一部分。子流的启动(start)和终止(terminate)与常规(regular)的TCP连接相似。本文中一条子流就对应一条路径。
需要说明的是,对于一个子流,收发两端设备可以使用不同表达形式的运营商标识表示同一运营商。例如,对一个子流,发端使用编号表示运营商,收端使用运营商名称表示运营商。
多路径连接:通过(over)一个应用,在两个主机(host)间可以通信的一组子流,该组子流包括多个子流。其中,连接和应用的接口(socket)之间有一一映射。多路径连接就是使用多个路径传输数据的连接,每个路径(即子流)可以使用不同的传输协议,例如路径使用TCP协议,则多路径连接为MPTCP连接。其中,通过(over)一个应用,在两个主机(host)间可以通信的链路也称为连接,只是多路径连接包括多路径,而一般的连接只有一个路径。
包(packet):带有头部(header)的一包(package)数据,该头部可以是逻辑上完整或者不完整的。通常,是一物理上打包(physical packaging of data)的数据,当然,也可以是一逻辑上打包的数据(logical packaging of data)。包这个概念用于描述数据在一主机(host)以及与该主机相连的网络之间的交互。
确认(Acknowledgement,ACK)包:也称为确认报文、ACK、反馈报文、通知。确认包中包括ACK信息,例如某一数据包的序列号,通常用于表示收端通知发端已接收到该数据包。
关于主机(host)、路径(path)、链路(link)、子流(subflow)的相关内容,可以参考IETF标准组织的文件RFC.6824。
往返时延(Round Trip Time,RTT):表示发送端从发送数据开始,到接收到接收端发送的对应该数据的接收确认信息(如ACK)的过程,所经历的时延。应理解,在一种实现方式下,接收端收到数据后便立即发送该数据对应的确认信息,其中,“立即”应理解为包括接收端从接收到数据直至发送确认消息的必要的处理时间。应理解,往返时延简写为RTT或者rtt都可以。例如在某些代码中,使用rtt表示。
第一设备/第二设备:第一设备/第二设备为物理设备或者虚拟设备。其中,物理设备是指物理设备是实际存在的设备;虚拟设备是指通过由物理设备变化成的多个对应的逻辑设备来表现的设备;逻辑设备是指与物理设备具有映射关系的,由逻辑元件构 成的,可以进行逻辑运算(与,或,非等)的设备。其中,该映射关系可以包括逻辑设备名、物理设备名、设备驱动程序入口。
在某些场景下,第一设备和第二设备可能在同一物理设备上或者同一个集群中。
请参考图1A,其示出本申请实施例提供的一种通信系统架构示意图。该通信系统可以包括第一设备10和第二设备20。第一设备10和第二设备20均包括多个网络地址,如图1A所示,第一设备10与第二设备20可以通过彼此的多个网络地址建立多条网络连接。例如网络连接1,网络连接2,……,网络连接N。第一设备10和第二设备20可以通过该多条网络连接进行多路径数据传输。
具体的,第一设备10和第二设备20可以将待传输的数据分为多条子流。其中,每一条子流对应一条路径,每个网络连接连通第一设备10和第二设备20之间的一条路径。
其中,每一条子流可以使用相同或者不同的传输协议来传输。例如,该传输协议可以为,如传输控制协议(Path Transmission Control Protocol,TCP)、流控制传输协议(Stream Control Transmission Protocol,SCTP)或者快速用户数据报互联网连接协议(Quick UDP Internet Connections,QUIC)等。
需要注意的是,第一设备10和第二设备20可以在建立上述N条网络连接的过程中,或者通过已建立的N条网络连接传输数据的过程中,协商传输策略。
其中,上述网络连接可以是WiFi连接,蜂窝连接(如4G LTE连接,5G NR连接,3G连接,码分多址连接(Code Division Multiple Access,CDMA),2G连接等),蓝牙连接,数据传输线,近场通信NFC,红外,光保真(Light Fidelity,Li-fi)技术等,还可以是其他无线连接或者有线连接,对此,本申请不做限定。
需要说明的是,传输策略协商可以由多路径数据传输的发送端发起,也可以由多路径数据传输的接收端发起,对此,本申请不做限定。
其中,第一设备10和第二设备20可以是具有无线通信功能的电子设备,包括桌面型、膝上型、手持型、车载型用户终端(User Equipment,UE)设备等,例如智能手机、蜂窝电话、智能手表、台式机、平板电脑、智能电视盒,超级移动个人计算机(Ultra-mobile Personal Computer,UMPC)、上网本、个人数字助理(Personal Digital Assistant,PDA)、便携式多媒体播放器(Portable Multimedia Player,PMP)、专用媒体播放器、消费类电子设备、可穿戴设备、AR(增强现实)/VR(虚拟现实)设备等其他类型的电子设备。第一设备10还可以是支持多路径传输协议的网元,包括网络侧设备,例如网关、接入路由器、核心路由器、前端路由器或者负载均衡器。第一设备10还可以是支持多路径传输协议的云端设备,例如云端服务器;其中,该云端服务器可以是应用服务器,一个应用服务器上可以运行有多种应用的数据。一些大的公司旗下有多个应用,例如,google旗下有google地图,google搜索等多个应用;腾讯(Tencent)旗下有各种游戏应用,还有腾讯视频,微信(wechat)、QQ音乐等,同一公司旗下的应用可共用服务器。云平台云服务的出现,也可能一台应用服务器上运行有多个属于不同公司的应用。也就是说,一个应用服务器可以作为多种应用的服务端,某些应用可能共用一些网络地址。
需要说明的是,第一设备10和第二设备20可以是同类的设备,例如,第一设备 10和第二设备20均可以为通信终端类设备,如手机、智能手表、台式机、平板电脑、智能电视盒,UMPC、上网本、PDA或者PMP等。第一设备10和第二设备20也可以是不同类的设备。例如,第一设备10是通信终端类设备时,第二设备20可以是网络侧设备,如网关、应用服务器、接入路由器、核心路由器、前端路由器或者负载均衡器等。
示例性的,请参考图1B,其示出本申请实施例提供的一种数据传输方法的通信网络架构实例示意图。其中,上述第一设备10可以是图1B所示的手机100,第二设备20可以是图1B所示的应用服务器200。例如,假设应用服务器200是邮件服务器,手机100上安装有应用客户端(如126邮箱)。其中,手机100可以周期性地从应用服务器200获取更新的邮件信息。
手机100和应用服务器200可以通过不同的网络节点建立用于获取用于邮件数据传输的多条路径。具体的,网络节点可以是WiFi网络的接入点(Access Point,AP)、路由器、或者Winmax网络的接入点或者无线蜂窝移动网络的基站等等,本发明不限定无线网络的种类以及无线网络的接入节点具体的形式。并且,同一类型的无线网络是指同属于WiFi网络的接入节点,或者同属于Winmax网络,或者同属于无线蜂窝网络的接入节点如2G网络、3G网络或者4G网络或者5G网络等等。
例如,如图1B所示,手机100和应用服务器200可以通过两个网络节点(包括路由器120和LTE蜂窝网基站110)建立上述多条路径,用于承载上述子流多条路径。与路由器120和LTE蜂窝网基站110对应的,如图1B所示,手机100有两个网络地址,网络地址1和网络地址2。其中,网络地址1为中国移动的LTE蜂窝地址,网络地址2为中国电信的WiFi地址。如图1B所示,应用服务器200有三个网络地址,网络地址a和网络地址b。其中,网络地址a为中国移动的LTE蜂窝地址,网络地址b为中国电信的WiFi地址。手机100与应用服务器200之间最多应该可以建立2*2=4条路径,包括路径1(WiFi-LTE路径),路径2(WiFi-WiFi路径),路径3(LTE-WiFi路径)和路径4(LTE-LTE路径)。其中路径2,路径4为同运营商的网络地址之间的网络连接,路径1,路径3为跨运营商的网络地址之间的网络连接。待传输数据最多可以拆分为4条子流分别通过上述4条路径从应用服务器200传输至手机100。
在一种应用场景中,手机100与应用服务器200可以在建立多路径连接的过程中,协商传输策略。具体的,手机100可以向应用服务器200发送请求消息,以请求与应用服务器200建立多路径连接。该请求消息中携带有传输策略协商信息。该传输策略协商信息用于与应用服务器200协商进行多路径数据传输时使用的传输策略。其中,上述传输策略可以包括路径管理策略和/或数据调度策略。手机100与应用服务器200可以基于传输速率、时延、丢包率和吞吐率等一个或多个传输参数进行传输策略的协商。其中,上述传输参数包括但不限于传输速率、时延、丢包率和吞吐率。
上述路径管理(Path Manager,PM)策略用于指示手机100和应用服务器200基于各自的多个网络地址建立多条路径的机制。例如,PM策略可以指示手机100和应用服务器200建立路径的具体方式,过程和路径数量等。结合上述实例,手机100和应用服务器200之间最多可以建立4条路径,但是手机100和应用服务器200进行多路径数据传输时,具体需要建立几条路径则可以视具体情况而定,例如,可以根据上 述传输参数(如传输速率、时延、丢包率和吞吐率等)来确定。
上述数据调度(Scheduler)策略则用于指示手机100和应用服务器200基于建立的路径进行数据调度的机制。例如,Scheduler策略可以指示手机100和应用服务器200将待传输数据拆分为子流的具体拆分比例,子流数量,汇聚方式和动态调整机制等。
多路径传输技术可以用在多种组网系统中,通常,若要通过多路径传输技术传递信息,信息的发送端和接收端之间应至少有一段链路支持多路径传输技术。图2A简单列举了三种可使用该技术的组网系统,为了描述方便,图2A中示意性画出了该多路径系统中的两条路径,分别使用WiFi技术和LTE网络。
如图2A所示,系统一中的手机100支持多路径传输技术,而应用服务器200不支持该技术。为了使应用服务器200可以与手机100进行多路径数据传输,本申请实施例中,可以为系统一中的应用服务器200设置一个支持多路径传输技术的代理设备(称为MPTCP代理,例如网关)。如此,应用服务器200便可以通过该MPTCP代理与手机100进行多路径数据传输。
如图2A中的系统二,手机100与应用服务器200均支持多路径传输技术。应用服务器200可以通过多路径传输技术与手机100进行多路径数据传输。
如图2A中的系统三中,描述的是应用服务器200与应用服务器300之间进行通信的场景,这两个云端中,可以均支持该多径传输技术,也可以有至少有一端不支持该技术,不支持该技术的一端借助支持多路径传输技术的代理设备(例如网关)即可,如图2A中的系统三,示意的就是两个应用服务器都借助MPTCP代理,使得应用服务器200与应用服务器300之间使用该技术进行通信。
实际上,在使用多路径连接传输数据的不同场景下,往往对传输性能有不同的要求,例如低时延或者高吞吐量或者高可靠性(即丢包率低)等等。例如,在支持WiFi和LTE网络的手机使用多路径连接从网络硬盘下载文件,或者从云端到云端使用多路径连接进行大文件搬运的场景中,通常希望该连接有更高吞吐量。而在使用多路径连接进行实时的数据传输(如语音通信,电话会议等)的场景中,则希望该连接能低时延。以及在手机使用多路径连接通过视频网站尤其是直播的视频网站观看视频,或者玩游戏的场景中,通常希望该连接有更低的时延和更高吞吐量。
又如,在图2A中的系统二中,手机100与应用服务器200之间可以通过WiFi网络或LTE网络进行数据传输。其中,通常WiFi网络是免费的,而LTE网络是计费的,特别是在移动漫游场景中,LTE网络的费用会非常高。为了节省费用,手机100需要尽量少的使用LTE网络,因此手机100会限制LTE网络上的传输速率。另外,应用服务器200还需要知悉手机100的对应数据传输需求,以便根据具体的数据传输需求向手机100传输数据。因此手机100需要告知应用服务器200对应的传输策略,使得应用服务器200可以根据该传输策略与手机100进行多路径数据传输。
图2B简单描述了从软件架构上,本申请涉及的各种设备所通用的一部分架构,包括应用(APP)层,多路径传输层和IP层,其中多路径传输层可以认为替代的是目前较常见的TCP层,在运行有各种应用的APP层与IP层之间。多路径传输层中一部分运行在操作系统的用户态,一部分运行在操作系统的内核态。由于子流可以使用多种传输协议,如TCP,SCTP以及QUIC等。本申请的技术方案实施在设备的软件中, 例如可以是内核态的多路径传输层或者用户态的多路径传输层。更进一步的,本申请的一些技术方案使用到了多路径传输层中用于实现冗余传输模式的模块和用于实现多路径传输模式的模块,以及,用于实现本申请的方法的代码在运行时,可以认为是使得多路径传输层添加了一个新的模块。该新的模块可以用于通过冗余模式测量多条子流中最优路径的路径特征,以确定合适的传输模式或者传输路径来保障多路径传输连接的传输性能。图2A示意了三种多路径传输层的实现方式,本申请的方案可实施在这三种实现方式中的多路径传输层,每种实现方式中包括了一个连接中多路径传输层和子流层,其中多路径传输层运行有多路径传输协议,子流层示意了2个子流。上述的设备中可以包括该三种多路径传输层任一种,且由于应用层和IP层三种实现方式下类似,没有重复描绘。其中,左侧示意内核态的多路径传输层,其子流使用TCP/SCTP协议;中间示意用户态的MP层,其子流使用QUIC协议且内核态使用UDP协议;以及右侧示意用户态多路径传输层,其子流使用TCP/SCTP协议。
如图2C所示,为本申请提供的手机100与应用服务器200之间使用MPTCP技术进行通信的示意图。手机100的应用层客户端与应用服务器200的应用层之间建立了多路径传输连接,手机100应用层通过端口1,接入节点1到应用服务器200端口1’到应用服务器200应用层,可以认为是路径1;以及手机100应用层通过端口2,接入节点2到应用服务器200端口2’到应用服务器200应用层,可以认为是路径2。多路径传输协议是与TCP协议完全兼容的协议,多路径传输连接的所有管理信息都是通过TCP选项字段来传输,所以只要数据交互双方设备均支持多路径传输协议,则初始连接时交换MP_CAP(Multipath Capable)选项。
其中,图2C中的传输层,用于运行传输协议,维护与网络侧服务器建立的连接,其中运行有多路径传输协议。图2C中的应用层,用于操控和协调其他层的结构或模块完成任务及实现功能,包括手机100上安装的应用软件及应用客户端,如通讯录、时钟、Yutube客户端、微信(Wechat)客户端等。
如图3所示,为本申请实施例中手机100的硬件结构示意图。手机100包括处理器301,通信线路302,存储器303以及至少一个通信接口(图3中仅是示例性的以包括通信接口304为例进行说明)。
处理器301可以是一个通用中央处理器(central processing unit,CPU),微处理器,处理电路(例如特定应用集成电路(application-specific integrated circuit,ASIC)),或一个或多个用于控制本申请方案程序执行的集成电路,处理器301可以包括一个或多个CPU,例如图3中的CPU0和CPU1。
通信线路302可包括一通路,在上述组件之间传送信息。
通信接口304,使用任何收发器一类的装置,用于与其他设备或通信网络通信,如以太网,无线接入网(radio access network,RAN),无线局域网(wireless local area networks,WLAN)等。
存储器303可以是只读存储器(read-only memory,ROM)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器(random access memory,RAM)或者可存储信息和指令的其他类型的动态存储设备,也可以是电可擦可编程只读存储器(electrically erasable programmable read-only memory,EEPROM)、只读光盘(compact  disc read-only memory,CD-ROM)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、存储介质(例如磁盘存储介质)或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器可以是独立存在,通过通信线路302与处理器相连接。存储器也可以和处理器集成在一起。
其中,存储器303用于存储执行本申请方案的计算机执行指令,其中,存储器303可以存储用于实现本申请实施例的方法的操作系统和应用程序,并由处理器301来控制执行。处理器301用于执行存储器303中存储的计算机执行指令,从而实现本申请下述实施例提供的数据传输方法。图3中示出的存储器303仅为示意图,该存储器还可以包括其他功能化的指令,对此,本发明对此不进行限定。
本申请实施例中的应用服务器200可以具有与手机100类似的硬件结构,如图4所示,为本申请实施例中应用服务器200的硬件结构示意图。其中,存储器403可以存储用于实现本申请实施例的方法的操作系统和应用程序,并由处理器401来控制执行。其中,关于处理器401、通信线路402、存储器403和通信接口404的介绍,可以参考上文中对处理器301、通信线路302、存储器303和通信接口304的介绍。
下面将结合图1A-图4对本申请实施例提供的数据传输方法进行介绍。该方法的基本原理是:通过对多路径传输协议的扩展,使得使用多路径传输技术进行数据传输的收发双方可以在建链阶段和传输过程中进行传输策略的协商,可以动态的根据发端与收端的实际情况以及其他因素通过双方协商灵活地调整传输策略,包括路径管理策略和/或数据调度策略,提高用户体验度。
如图5所示,为本申请实施例提供的一种数据传输方法交互图一。该方法可以用于手机100与应用服务器200之间的多路径连接,该方法可以包括:
S501、手机100向应用服务器200发送第一报文。
其中,该第一报文可以包括传输策略协商信息。其中,该传输策略协商信息用于与应用服务器200协商应用服务器200使用多路径连接与手机100传输数据时所使用的传输策略。
在一种可能的实现方式中,本申请实施例中手机100与应用服务器200协商的传输策略可以为路径管理策略和数据调度策略中的至少一种,可以是路径管理策略和数据调度策略二者都有,或者仅数据调度策略,或者仅路径管理策略。
其中,路径管理策略指示手机100的至少两个网络地址与应用服务器200的至少两个网络地址之间建立多路径连接的策略。例如,“default”路径管理策略,即不广播新的网络地址,但是可以被动接受传输对端的新网络地址发来的建链请求。又例如,“fullmesh”路径管理策略,即建立收发两端之间可以建立的所有路径;如图1B中,手机100与应用服务器200之间可以建立的路径有4条,那么根据该“fullmesh”策略,建立全部的4条路径。
其中,数据调度策略指示手机100使用多路径连接传输数据时所使用的数据分配策略。例如,最小时延优先策略、随机分配策略和冗余传输策略等。
其中,最小时延优先策略是指进行最低时延的数据传输。随机分配策略是指随机建立路径,例如:随机数为1时建立路径A和路径B进行数据传输,随机数为2时建 立路径C和路径D进行数据传输;其中,不同随机数所对应的路径可以自定义。冗余传输策略是指在一个多路径传输连接的所有路径上,都传输相同的数据,即一个连接的数据被多个路径重复传输。
在一种可能的实现方式中,该传输策略协商信息可以包括第二策略信息,第三策略信息和第四策略信息中的至少一种。
其中,第二策略信息指示手机100使用多路径连接传输数据时所使用的传输策略。在一种可能的实现方式中,手机100使用多路径连接传输数据时所使用的传输策略可以理解为手机100当前使用的传输策略;例如,手机100当前使用冗余传输模式。其中,当前是指手机100向应用服务器200发送第一报文的时刻。
第三策略信息指示手机100建议应用服务器200使用多路径连接传输数据时所使用的传输策略。在一种可能的实现方式中,手机100建议应用服务器200使用多路径连接传输数据时所使用的传输策略可以为第二策略信息指示的传输策略,即手机100当前使用的传输策略;或者,还可以为手机100支持的任一种传输策略。
在一种可能的实现方式中,手机100建议应用服务器200使用多路径连接传输数据时所使用的传输策略可以是手机100根据其获取的数据传输需求(例如,手机100中安装的某一个应用客户端的数据传输需求)确定的可满足该数据传输需求的传输策略。具体的过程,会在下文中详细介绍。
第四策略信息指示手机100可使用的至少一种传输策略。其中,“可使用”可以理解为“支持的”,即第四策略信息指示手机100支持的至少一种传输策略。例如,手机100可以支持最小时延优先/随机分配/冗余发送。
同样的,第二传输策略,第三策略信息和第四策略信息指示的传输策略也可以包括路径管理策略和/或数据调度策略。
S502、手机100接收来自应用服务器200的第二报文。
其中,该第二报文可以包括第一策略信息。该第一策略信息指示应用服务器200使用多路径连接时所使用的传输策略。
在一种可能的实现方式中,该第一策略信息由应用服务器200根据手机100发送的第一报文中包括的路径管理策略和/或数据调度策略,结合自身可使用的(即可以支持的)路径管理策略和/或数据调度策略确定。
具体的,若应用服务器200自身支持的路径管理策略和/或数据调度策略可以匹配手机100的需求,该需求可以是第二策略信息指示的路径管理策略和/或数据调度策略,第三策略信息指示的路径管理策略和/或数据调度策略,也可以是第四策略信息指示的路径管理策略和/或数据调度策略。
在一种可能的实现方式中,该第一策略信息指示的传输策略为与手机100发送的传输策略协商信息对应的传输策略。
其中,“对应的”可以理解为相匹配的。例如,“与传输策略协商信息对应的传输策略”可以是传输策略协商信息指示的传输策略。也可以是常与传输策略协商信息指示的传输策略配套使用的传输策略(如,在某一具体场景下配套使用时可以满足预期的传输性能)。还可以是遵循某种匹配规则的与传输策略协商信息指示的传输策略匹配的传输策略(如,预设的匹配关系:若传输策略协商信息指示的传输策略B,第二设备 使用传输策略C,其中,传输策略C与传输策略B可以相同,也可以不同)。
其中,“相匹配的”还可以理解为传输性能接近。
其中,“性能接近”可以理解为路径管理策略或数据调度策略指示的性能属性相同。其中,性能属性是指该策略是高吞吐策略,还是低时延策略,还是冗余策略等。或者,“性能接近”可以理解为路径管理策略或数据调度策略指示的属性量化参考值接近。其中,属性量化参考值是指每一种属性的路径管理策略或数据调度策略对应的量化值。
在一种可能的实现方式中,该第一策略信息指示的传输策略为以下中的任一种:第二策略信息指示的传输策略、第三策略信息指示的传输策略或第四策略信息指示的任一种传输策略。
在一种可能的实现方式中,应用服务器200可以先确定自身支持的路径管理策略和/或数据调度策略是否可以匹配第三策略信息指示的路径管理策略和/或数据调度策略,即应用服务器200确定其是否支持手机100建议应用服务器200使用多路径连接传输数据时所使用的路径管理策略和/或数据调度策略。
若可以匹配,则应用服务器200确定第一策略信息指示该第三策略信息指示的对应路径管理策略和/或数据调度策略。若不能匹配,应用服务器200可以确定自身支持的路径管理策略和/或数据调度策略是否可以匹配第二策略信息指示的路径管理策略和/或数据调度策略,即手机100当前使用的传输策略。若可以匹配,则应用服务器200确定第一策略信息指示该第二策略信息指示的对应路径管理策略和/或数据调度策略。若不能匹配,应用服务器200确定第一策略信息指示其自身支持的,且与第二策略信息或者第三策略信息指示的路径管理策略和/或数据调度策略性能接近的路径管理策略和/或数据调度策略;或者,应用服务器200确定第一策略信息指示其自身支持的,且手机100支持的对应路径管理策略和/或数据调度策略。
例如,第三策略信息指示数据调度策略1,该数据调度策略1为高吞吐策略,应用服务器200不支持数据调度策略1,但是支持数据调度策略2,该策略也为高吞吐策略,因此,应用服务器200可以使用数据调度策略2与手机100进行数据传输。
又例如,表1为本申请实施例提供的一种手机100可以支持的数据调度策略的性能属性表,该表1的内容可以由手机100发送给应用客户端200的第一报文中包括的第四策略信息指示。如表1所示,手机100可使用的数据调度策略有scheduler策略1、scheduler策略2和scheduler策略3。其中,scheduler策略1和scheduler策略2为属性为高吞吐的数据调度策略,其属性量化参考值分别为聚合率值1(例如1Tbps)和聚合率值2(例如1.2Tbps);scheduler策略3为属性为低时延的数据调度策略,其属性量化参考值为低时延值(例如1μs)。
表1
数据调度策略 属性 属性量化参考值
scheduler策略1 高吞吐 聚合率值1Tbps
Scheduler策略2 高吞吐 聚合率值1.2Tbps
Scheduler策略3 低时延 低时延值1μs
需要说明的是,对于应用服务器200根据手机100发送的第一报文中包括的路径管理策略,结合自身可以支持的路径管理策略确定第一策略信息中指示的路径管理策 略,也可以参考上述确定第一策略信息中指示的数据调度策略的过程和方法。
在一种可能的实现方式中,应用服务器200在确定第一策略信息之后,也可以不向手机100发送第二报文。直接使用该第一策略信息指示的传输策略与手机100传输数据。
例如:手机100发送的第一报文中包括手机100建议应用服务器200使用的传输策略,应用服务器200根据该信息确定其可以使用该手机100建议应用服务器200使用的传输策略,应用服务器200也可以不向手机100发送第一策略信息,直接使用确定的传输策略与手机100传输数据。
S503、手机100与应用服务器200根据协商结果传输数据。
其中,手机100基于该第一策略信息,使用与该第一策略信息对应的传输策略与应用服务器200传输数据。应用服务器200则使用第一策略信息指示的传输策略与手机100传输数据。
其中,“与该第一策略信息对应的传输策略”可以理解为与第一策略信息指示的传输策略相同,或者与第一策略信息指示的传输策略属性相同,或者与第一策略信息指示的传输策略属性量化参考值接近的传输策略。如上文所述,由于应用服务器200是根据第一报文中的传输策略协商信息确定的第一策略信息,具体的,第一策略信息指示的传输策略可以与传输策略协商信息中的传输策略相同,或者属性相同,或者量化参考值接近。因此,在协商完成后,手机100和应用服务器200各自使用的传输策略必然是“对应的”。
其中,第一策略信息以及传输策略协商信息指示的传输策略种类相同,且该传输策略的种类为路径管理策略和数据调度策略中的至少一种。
例如,传输策略协商信息指示的传输策略包括路径管理策略和数据调度策略,即该传输策略协商信息用于协商路径管理策略和数据调度策略,那么,应用服务器200回复给手机100的第一策略信息则是针对该传输策略协商信息做出的反馈,即反馈协商路径管理策略和数据调度策略的协商结果。
在一种可能的实现方式中,手机100的协议栈可以根据多路径连接对应的数据传输需求,确定传输策略协商信息。
在一种可能的实现方式中,该多路径连接为多路径传输控制协议MPTCP连接,或者多路径快速用户数据报文传输协议MPQUIC连接。
如图6所示,为本申请实施例提供的一种多路径传输协议栈结构示意图。手机100和应用服务器200可以通过在MPTCP、MPQUIC协议上采用Linux开源电脑操作系统内核开源实现。
在一种可能的实现方式中,如图7所述,在S501之前,该方法还可以包括:
S504、手机100确定数据传输需求。
其中,该数据传输需求可以是手机100中安装的某一个应用客户端的数据传输需求。例如,微信(Wechat)客户端要求与应用服务器的数据传输时延低。又例如,爱奇艺客户端要求与应用服务器的数据传输要高吞吐。
S505、手机100根据数据传输需求确定传输策略协商信息。
例如,微信(Wechat)客户端要求与应用服务器的数据传输时延低,则手机100 的协议栈根据该需求确定传输策略协商信息中包括的数据调度策略为属性为低时延的策略。又例如,爱奇艺客户端要求与应用服务器的数据传输要高吞吐,则手机100的协议栈根据该需求确定传输策略协商信息中包括的调度策略为属性为高吞吐的策略。
需要说明的是,图7所示的方法可以发生在手机100和应用服务器200使用多路径连接的阶段1和阶段2。
阶段1:如图8A和图8B所示的手机100与应用服务器200的建链阶段。在该阶段,手机100向应用服务器200发送第一报文。其中,建链阶段是指手机100在与应用服务器200建立多路径传输连接的阶段。
其中,第一报文可以为握手报文;其中,该握手报文为手机100和应用服务器200建立主子流使用的握手报文,或者,该握手报文为手机100在和应用服务器200建立除主子流之外其他子流所使用的握手报文。在该可能的实现方式中,第一报文可以以以下三种实现方式完成:
实现方式(A):第一报文为MP_CAPABLE阶段的握手报文。
由于多路径传输连接建立的流程与TCP连接类似,为三次握手,在三次握手的报文中都携带有多路径能力交换(Multipath_Capable,MP_CAPABLE),双方交换以示收发两端设备均支持多路径传输协议,如图9A所示,为本申请实施例提供的一种第一报文交互流程示例一。手机100和应用服务器200建立主子流可以是在MP_CAPABLE阶段完成,上述第一报文为MP_CAPABLE阶段的握手报文。
实现方式(B):第一报文为MP_JOIN阶段的握手报文。
由于在MP_CAPABLE阶段建立完主子流之后,手机100会将子流加入到MPTCP的连接中,该阶段为加入多路径子流(Multipath_Join,MP_JOIN)阶段,如图10A所示,为本申请实施例提供的一种第一报文交互流程示例二。手机100和应用服务器200建立其他子流可以是在MP_JOIN阶段完成,上述第一报文为MP_JOIN阶段的握手报文。
实现方式(C):第一报文为MPQUIC扩展报文。
同样的,第二报文也可以为握手报文;具体的,第二报文也可以是MP_CAPABLE阶段的握手报文或者MP_JOIN阶段的握手报文。或者,第二报文也可以为MPQUIC扩展报文。
阶段2:如图8B和图8C所示手机100与应用服务器200使用多路径技术进行数据传输的阶段。在该可能的实现方式中,第一报文可以以以下两种实现方式完成:
实现方式(1):第一报文为MPTCP扩展报文。
实现方式(2):第一报文为MPQUIC扩展报文。
其中,第一报文可以为数据报文或者数据传输过程中的控制报文。同样的,第二报文也可以为数据报文或者数据传输过程中的控制报文。具体的,数据传输过程中的第一报文和/或第二报文的报文格式,会在下文中具体介绍。
在一种可能的实现方式中,图8B中的S504-2可以是响应于检测到来自应用的数据传输需求发生了变化而触发的。
例如:手机100具有WiFi网络和LTE蜂窝网络,WiFi网络是免费的,但是LTE蜂窝网络是按照流量收费的。手机100和应用服务器200之间进行下载或者视频播放 业务。利用多路径传输协议下载能够提高下载速度,改善用户体验,但是用户希望多路径协议尽可能的把数据调度到免费的WiFi网络上,少量数据调度到LTE网络上。则会在键链阶段进行S504-1、S505-1、S501-1和S502-1,建议应用服务器200使用WiFi-first数据调度策略。然后根据协商好的传输策略传输数据。但是用户在传输数据过程中,发现仍然不能接受LTE流量使用过多的情况,希望不再通过LTE蜂窝网络建立的路径发送数据包,因此发起了一个数据传输阶段的传输策略协商(即S504-2、S505-2、S501-2和S502-2),建议应用服务器200使用no-LTE调度。应用服务器200根据该建议则仅会在WiFi网络建立的路径上发送数据。
又例如,手机100具有多个网络地址,网络地址1是运营商A分配的,网络地址2是运营商B分配的。应用服务器200也具有多个网络地址,分别属于运营商A和运营商B。在建链阶段,手机100仅需要进行低时延的传输,因此手机100会在键链阶段进行S504-1、S505-1、S501-1和S502-1,建议应用服务器200使用low-latency路径管理策略。由于跨运营商的网络链路时延较高,应用服务器200根据该建议可以建立运营商A分配的网络地址1到应用服务器200对应的运营商A分配的网络地址的连接,以及运营商B分配的网络地址2到应用服务器200对应的运营商B分配的网络地址的连接,以满足低时延的传输诉求。然后根据协商好的传输策略传输数据。但是,在数据传输过程中,手机100又希望切换到相对高吞吐的服务,因此发起了一个数据传输阶段的传输策略协商(即S504-2、S505-2、S501-2和S502-2),建议应用服务器200使用fullmesh路径管理策略。应用服务器200根据该建议则增建跨运营商的两条路径这样一共可以通过4条路径进行数据传输。
在一种可能的实现方式中,图8C在初始建立连接时(即键链阶段),若应用没有数据传输需求,手机100和应用服务器200可以先使用默认传输策略进行传输,在检测到来自应用的数据传输需求之后,两者再进行传输策略的协商。
需要说明的是,手机100在与应用服务器200使用多路径技术进行数据传输的阶段进行传输策略协商时,传输策略的协商以及传输策略的切换都是执行在数据传输过程中的。也就是说,上述过程中多路径连接并没有断开,数据的传输并没有中断,因此不会影响用户的使用。
在一种可能的实现方式中,第一报文还可以包括:第一指示信息;其中,该第一指示信息用于指示第一报文中包括传输策略协商信息。
在一种可能的实现方式中,第一报文可以包括第一扩展位。其中,该传输策略协商信息位于第一报文的报文头的该第一扩展位。第一报文还可以包括第二扩展位;第一指示信息位于第一报文的第二扩展位。
在手机100在上述阶段1,即建链阶段向应用服务器200发送第一报文时。如图9B所示,为本申请实施例提供的一种实现方式(A)的第一报文的格式示例一。图9B中的A、B、C、D、E、F、G和H为对应的标识位,分别表示不同的语义。其中,B位是第二扩展位,用于标识第一指示信息,即标识第一报文中是否包括传输策略协商信息。具体的,如果B位为1,表示第一报文中包括传输策略协商信息。具体的传输策略协商信息则携带在第一扩展位。
又如图10B所示,为本申请实施例提供的一种实现方式(B)的第一报文的格式 示例三。A位是第二扩展位,用于标识第一指示信息,即标识第一报文中是否包括传输策略协商信息。具体的,如果A位为1,表示第一报文中包括传输策略协商信息。具体的传输策略协商信息则携带在第一扩展位。
第一指示信息还可以用于指示第一报文中是否包括PM策略协商信息或scheduler策略协商信息。该指示信息可以通过其他扩展位来携带。
如图9C所示,为本申请实施例提供的一种实现方式(A)的第一报文的格式示例二。如果B位为1,后续的C和D分别可以扩展为第三扩展位S和第四扩展位P,表示与图9B中C和D不同的语义。如图9C所示,如果S位为1,则表明该第一报文中包括scheduler策略协商信息;如果P位为1,则表明该第一报文中包括PM策略协商信息。具体的传输策略协商信息则携带在第一扩展位。
又如图10C所示,为本申请实施例提供的一种实现方式(B)的第一报文的格式示例四。如果A位为1,后续的S和P分别可以扩展为第三扩展位和第四扩展位,如果S位为1,则表明该第一报文中包括scheduler策略协商信息;如果P位为1,则表明该第一报文中包括PM策略协商信息。具体的传输策略协商信息则携带在第一扩展位。
需要说明的是,图9B、图9C、图10B和图10C仅作为示例说明携带第一指示信息的扩展位,以及携带传输策略协商信息的扩展位,并不对各个扩展位的具体位置做出限定,具体各个扩展位的位置可以不限于,图9B和图9C中的位置。
同样的,第二报文也可以包括:第二指示信息;其中,该第二指示信息用于指示第二报文中包括第一策略信息。第二报文也可以包括第一扩展位和第二扩展位,其中第一策略信息位于第一报文的报文头的第一扩展位;第二指示信息位于第二报文的第二扩展位。对于第二报文的格式,也可以参考图9B、图9C、图10B和图10C中第一报文的格式。
在一种可能的实现方式中,第一扩展位为控制请求扩展位;第二扩展位为子类型subtype扩展位。
如图11所示,为本申请实施例提供的一种实现方式(C)的第一报文的格式示例五。手机100与应用服务器200在QUIC协议的安全握手阶段进行scheduler策略和/或PM策略协商,扩展QUIC的transport parameter,包括子类型subtype扩展位和控制请求扩展位来实现策略协商的功能。其中,子类型subtype规定了控制请求报文的格式,具体可以参考表2。
表2
子类型Subtype 控制请求
Scheduler策略协商 Scheduler策略协商信息
PM策略协商 PM策略协商信息
Scheduler策略和PM策略同时协商 Scheduler策略协商信息&PM策略协商信息
其中,对图11所示的MPQUIC扩展报文,传输策略的协商可以分为1RTT协商和0RTT协商。其中,1RTT协商是指需要一个往返时延来完成协商过程,0RTT协商则是指无需经过往返时延则可完成协商过程。1RTT协商发生的场景可以是手机100 与应用服务器200的首次多路径通信,具体过程为手机100先与应用服务器200进行公私钥配对,之后进行多路径通信,如图14A所示。1RTT协商发生的场景可以是手机100与应用服务器200的非首次多路径通信,即在之前的多路径通信中手机100与应用服务器200分别已经获取了公私钥,那么就可以直接进行多路径通信,如图14B所示。
在手机100在上述阶段2,即数据传输阶段向应用服务器200发送第一报文时。如图12所示,为本申请实施例提供的一种实现方式(1)的第一报文的格式示例六。图12中的12A为现有的MPTCP报文,图12中的12B为本申请实施例的MPTCP扩展报文。MPTCP扩展报文相比于现有的MPTCP报文将RR位分别作为第二扩展位和第三扩展位,用于分别携带指示第一报文中包括scheduler策略协商信息的指示信息,以及指示第一报文中包括PM策略协商信息的指示信息。其中,若X位为1,表明第一报文中包括scheduler策略协商信息;若Y位为1,表明第一报文中包括PM策略协商信息。具体的传输策略协商信息则携带在第一扩展位。
又如图13所示,为本申请实施例提供的一种实现方式(2)的第一报文的格式示例七。手机100与应用服务器200在使用MPTCP进行数据传输阶段进行scheduler策略和/或PM策略协商,扩展新的MPTCP的扩展选项来实现,包括子类型subtype扩展位和控制请求扩展位来实现策略协商的功能。其中,子类型subtype规定了控制请求报文的格式,具体也可以参考上文中的表2。
可以理解的是,手机100为了实现上述任一个实施例的功能,其包含了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,本申请能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
本申请实施例可以对手机100进行功能模块的划分,例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。需要说明的是,本申请实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
比如,以采用集成的方式划分各个功能模块的情况下,如图15所示,为本申请实施例提供的一种手机的结构示意图。该手机100可以包括发送模块1510和接收模块1520。
其中,发送模块1510用于向应用服务器200发送包括传输策略协商信息的第一报文;其中,该传输策略协商信息用于协商应用服务器200使用多路径连接时所使用的传输策略。接收模块1520用于接收来自应用服务器200的包括有第一策略信息的第二报文;其中,该所述第一策略信息指示应用服务器200使用多路径连接时所使用的传输策略。发送模块1510和接收模块1520还用于,基于第二报文中的第一策略信息,使用与该第一策略信息对应的传输策略与应用服务器200传输数据。其中,第一策略信息以及传输策略协商信息指示的传输策略种类相同,且传输策略的种类为路径管理 策略和数据调度策略中的至少一种。
在一种可能得到结构中,手机100还可以包括分析模块1530,用于确定传输策略协商信息。
同样,也可以以采用集成的方式将应用服务器200划分为各个功能模块。如图16所示,为本申请实施例提供的一种应用服务器的结构示意图。该应用服务器200可以包括发送模块1610、接收模块1620和分析模块1630。
其中,接收模块1620用于从手机100接收包括有传输策略协商信息的第一报文;其中,该传输策略协商信息用于协商应用服务器200使用多路径连接时所使用的传输策略。分析模块1630用于根据第一报文中的输策略协商信息确定第一策略信息;其中,该第一策略信息指示应用服务器200使用多路径连接时所使用的传输策略。发送模块1610用于使用第一策略信息指示的传输策略向手机100发送数据。接收模块1620还用于,使用第一策略信息指示的传输策略从手机100接收数据。
需要说明的是,上述手机100的发送模块1510和接收模块1520,以及应用服务器200的发送模块1610和接收模块1620可以由射频电路构成。具体的,发送模块1510、接收模块1520、发送模块1610和接收模块1620可以通过射频电路完成本申请实施例中无线信号的接收和发送。通常,射频电路包括但不限于天线、至少一个放大器、收发信机、耦合器、低噪声放大器、双工器等。此外,射频电路还可以通过无线通信和其他设备通信。所述无线通信可以使用任一通信标准或协议,包括但不限于全球移动通讯系统、通用分组无线服务、码分多址、宽带码分多址、长期演进、电子邮件、短消息服务等。
在一种可选的方式中,当使用软件实现数据传输时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地实现本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如软盘、硬盘、磁带)、光介质(例如DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
结合本申请实施例所描述的方法或者算法的步骤可以硬件的方式来实现,也可以是由处理器执行软件指令的方式来实现。软件指令可以由相应的软件模块组成,软件模块可以被存放于RAM存储器、闪存、ROM存储器、EPROM存储器、EEPROM存储器、寄存器、硬盘、移动硬盘、CD-ROM或者本领域熟知的任何其它形式的存储介质中。一种示例性的存储介质耦合至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息。当然,存储介质也可以是处理器的组成部分。处理器和存储介质可以位于ASIC中。另外,该ASIC可以位于探测装置中。当然,处理器 和存储介质也可以作为分立组件存在于探测装置中。
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。
在本申请所提供的几个实施例中,应该理解到,所揭露的用户设备和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个装置,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是一个物理单元或多个物理单元,即可以位于一个地方,或者也可以分布到多个不同地方。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该软件产品存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何在本申请揭露的技术范围内的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。

Claims (34)

  1. 一种数据传输方法,其特征在于,所述方法用于第一设备与第二设备之间的多路径连接,所述方法包括:
    所述第一设备向所述第二设备发送第一报文,所述第一报文包括传输策略协商信息,所述传输策略协商信息用于协商所述第二设备使用所述多路径连接时所使用的传输策略;
    所述第一设备接收来自所述第二设备的第二报文,所述第二报文包括第一策略信息,所述第一策略信息指示所述第二设备使用所述多路径连接时所使用的传输策略;
    所述第一设备基于所述第一策略信息,使用与所述第一策略信息对应的传输策略与所述第二设备传输数据;
    其中,所述第一策略信息以及所述传输策略协商信息指示的传输策略种类相同,且所述传输策略的种类为路径管理策略和数据调度策略中的至少一种。
  2. 根据权利要求1所述的方法,其特征在于,所述传输策略协商信息包括第二策略信息,第三策略信息和第四策略信息中的至少一种;
    其中,所述第二策略信息指示所述第一设备使用所述多路径连接传输数据时所使用的传输策略,所述第三策略信息指示所述第一设备建立所述第二设备使用所述多路径连接传输数据时所使用的传输策略,所述第四策略信息指示所述第一设备可使用的至少一种传输策略。
  3. 根据权利要求1或2所述的方法,其特征在于,所述路径管理策略指示建立所述第一设备与所述第二设备之间的多路径连接的至少一条路径的策略,所述数据调度策略指示传输数据时所述多路径连接分配数据的策略。
  4. 根据权利要求1-3任一项所述的方法,其特征在于,所述第一报文和所述第二报文均包括第一扩展位;所述传输策略协商信息位于所述第一报文的报文头的第一扩展位,所述第一策略信息位于所述第二报文的报文头的第一扩展位。
  5. 根据权利要求1-4任一项所述的方法,其特征在于,所述第一报文还包括:第一指示信息;其中,所述第一指示信息用于指示所述第一报文中包括所述传输策略协商信息。
  6. 根据权利要求5所述的方法,其特征在于,所述第二报文还包括:第二指示信息;其中,所述第二指示信息用于指示所述第二报文包括所述第一策略信息。
  7. 根据权利要求6所述的方法,其特征在于,所述第一报文和所述第二报文均包括第二扩展位;所述第一指示信息位于所述第一报文的第二扩展位,所述第二指示信息位于所述第二报文的报文头中的第二扩展位。
  8. 根据权利要求1-7任一项所述的方法,其特征在于,所述方法还包括:所述第一设备的协议栈根据所述多路径连接对应的应用的数据传输需求,确定所述传输策略协商信息。
  9. 根据权利要求1-8任一项所述的方法,其特征在于,所述多路径连接为多路径传输控制协议MPTCP连接,或者多路径快速用户数据报文传输协议MPQUIC连接。
  10. 根据权利要求1-9任一项所述的方法,其特征在于,所述第一报文和所述第二报文均为数据报文,或者所述第一报文和所述第二报文均为数据传输过程中的控制 报文。
  11. 根据权利要求1-9任一项所述的方法,其特征在于,所述第一报文和所述第二报文均为握手报文;
    其中,所述握手报文为所述第一设备和所述第二设备建立主子流使用的握手报文,或者,所述握手报文为所述第一设备在和所述第二设备建立除主子流之外的其他子流所使用的握手报文。
  12. 一种数据传输方法,其特征在于,所述方法用于第一设备与第二设备之间的多路径连接,所述方法包括:
    所述第二设备从所述第一设备接收第一报文,所述第一报文包括传输策略协商信息,所述传输策略协商信息用于协商所述第二设备使用所述多路径连接时所使用的传输策略;
    所述第二设备使用与所述传输策略协商信息对应的传输策略,与所述第一设备传输数据;
    其中,所述传输策略的种类为路径管理策略和数据调度策略中的至少一种。
  13. 根据权利要求12所述的方法,其特征在于,所述传输策略协商信息包括第二策略信息,第三策略信息和第四策略信息中的至少一种;
    其中,所述第二策略信息指示所述第一设备使用所述多路径连接传输数据时所使用的传输策略,所述第三策略信息指示所述第一设备建立所述第二设备使用所述多路径连接传输数据时所使用的传输策略,所述第四策略信息指示所述第一设备可使用的至少一种传输策略。
  14. 根据权利要求12或13所述的方法,其特征在于,所述方法还包括:所述第二设备基于所述第一报文,向所述第一设备发送第二报文,所述第二报文包括第一策略信息,所述第一策略信息指示所述第二设备使用所述多路径连接时所使用的传输策略。
  15. 根据权利要求14所述的方法,其特征在于,所述传输策略协商信息包括所述第三策略信息;
    在所述第二设备可使用所述第三策略信息指示的传输策略的情况下,所述第一策略信息指示的传输策略为所述第三策略信息指示的传输策略。
  16. 根据权利要求15所述的方法,其特征在于,所述传输策略协商信息还包括所述第四策略信息;
    在所述第二设备不可使用所述第三策略信息指示的传输策略的情况下,所述第一策略信息指示的传输策略为所述第二设备可使用的,且与所述第三策略信息指示的传输策略性能接近的传输策略;或者,
    所述第一策略信息指示的传输策略为所述第四策略信息指示的一种传输策略。
  17. 根据权利要求14所述的方法,其特征在于,所述传输策略协商信息包括所述第二策略信息;
    在所述第二设备可使用所述第二策略信息指示的传输策略的情况下,所述第一策略信息指示的传输策略为所述第二策略信息指示的传输策略。
  18. 根据权利要求17所述的方法,其特征在于,所述传输策略协商信息还包括所 述第四策略信息;
    在所述第二设备不可使用所述第二策略信息指示的传输策略的情况下,所述第一策略信息指示的传输策略为所述第二设备可使用的,且与所述第二策略信息指示的传输策略性能接近的传输策略;或者,
    所述第一策略信息指示的传输策略为所述第四策略信息指示的一种传输策略。
  19. 根据权利要求12-18任一项所述的方法,其特征在于,所述路径管理策略指示建立所述第一设备的至少两个网络地址与所述第二设备的至少两个网络地址之间多路径连接的策略,所述数据调度策略指示所述第一设备使用所述多路径连接传输数据时所使用的数据分配策略。
  20. 根据权利要求19所述的方法,其特征在于,所述第一报文和所述第二报文均包括第一扩展位;所述传输策略协商信息位于所述第一报文的报文头的第一扩展位,所述第一策略信息位于所述第二报文的报文头的第一扩展位。
  21. 根据权利要求12-20任一项所述的方法,其特征在于,所述第一报文还包括:第一指示信息;其中,所述第一指示信息用于指示所述第一报文中包括所述传输策略协商信息。
  22. 根据权利要求21所述的方法,其特征在于,所述第二报文还包括:第二指示信息;其中,所述第二指示信息用于指示所述第二报文包括所述第一策略信息。
  23. 根据权利要求12-22任一项所述的方法,其特征在于,所述第一报文和所述第二报文均为数据报文,或者所述第一报文和所述第二报文均为数据传输过程中的控制报文。
  24. 根据权利要求12-22任一项所述的方法,其特征在于,所述第一报文和所述第二报文均为握手报文;
    其中,所述握手报文为所述第一设备和所述第二设备建立主子流使用的握手报文,或者,所述握手报文为所述第一设备在和所述第二设备建立除主子流之外其他子流所使用的握手报文。
  25. 根据权利要求12-24任一项所述的方法,其特征在于,所述多路径连接为多路径传输控制协议MPTCP连接,或者多路径快速用户数据报文传输协议MPQUIC连接。
  26. 一种第一设备,其特征在于,所述第一设备与第二设备建立了多路径连接,所述第一设备包括:
    发送模块,用于向所述第二设备发送第一报文,所述第一报文包括传输策略协商信息,所述传输策略协商信息用于协商所述第二设备使用所述多路径连接时所使用的传输策略;
    接收模块,用于接收来自所述第二设备的第二报文,所述第二报文包括第一策略信息,所述第一策略信息指示所述第二设备使用所述多路径连接时所使用的传输策略;
    所述发送模块还用于,基于所述第一策略信息,使用与所述第一策略信息对应的传输策略向所述第二设备发送数据;
    所述接收模块还用于,基于所述第一策略信息,使用与所述第一策略信息对应的传输策略从所述第二设备接收数据;
    其中,所述第一策略信息以及所述传输策略协商信息指示的传输策略种类相同,且所述传输策略的种类为路径管理策略和数据调度策略中的至少一种。
  27. 根据权利要求26所述的第一设备,其特征在于,所述第一设备还包括:
    分析模块,用于使用所述第一设备的协议栈,根据所述多路径连接对应的应用的数据传输需求,确定所述传输策略协商信息。
  28. 一种第二设备,其特征在于,所述第二设备与第一设备建立了多路径连接,所述第二设备包括:
    接收模块,用于从所述第一设备接收第一报文,所述第一报文包括传输策略协商信息,所述传输策略协商信息用于协商所述第二设备使用所述多路径连接时所使用的传输策略;
    发送模块,用于使用与所述传输策略协商信息对应的传输策略,向所述第一设备发送数据;
    所述接收模块还用于,用于使用与所述传输策略协商信息对应的传输策略,从所述第一设备接收数据;
    其中,所述传输策略的种类为路径管理策略和数据调度策略中的至少一种。
  29. 根据权利要求28所述的第二设备,其特征在于,所述发送模块还用于,基于所述第一报文,向所述第一设备发送第二报文,所述第二报文包括第一策略信息,所述第一策略信息指示所述第二设备使用所述多路径连接时所使用的传输策略。
  30. 根据权利要求28或29所述的第二设备,其特征在于,所述第二设备还包括:
    分析模块,用于根据所述传输策略协商信息确定第一策略信息,所述第一策略信息指示所述第二设备使用所述多路径连接时所使用的传输策略,
    其中,所述第一策略信息以及所述传输策略协商信息指示的传输策略种类相同。
  31. 一种第一设备,其特征在于,所述第一设备与第二设备建立了多路径连接,所述第一设备包括:相互耦合的存储介质,射频电路和处理电路;所述存储介质,用于存储计算机程序代码,所述计算机程序代码包括指令;
    所述射频电路,用于进行无线信号的发送和接收;
    当所述处理电路执行所述指令时,所述第二设备执行如权利要求1-11任一项所述的方法。
  32. 一种第二设备,其特征在于,所述第二设备与第一设备建立了多路径连接,所述第二设备包括:相互耦合的存储介质,射频电路和处理电路;
    所述存储介质,用于存储计算机程序代码,所述计算机程序代码包括指令;
    所述射频电路,用于进行无线信号的发送和接收;
    当所述处理电路执行所述指令时,所述第二设备执行如权利要求12-25任一项所述的方法。
  33. 一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机执行指令,所述计算机执行指令被处理电路执行时实现如权利要求1-11任一项或者权利要求12-25任一项所述的数据传输方法。
  34. 一种芯片系统,其特征在于,包括:所述芯片系统包括处理电路、存储介质,所述存储介质中存储有指令;所述指令被所述处理电路执行时,实现如权利要求1-11 任一项或者权利要求12-25任一项所述的数据传输方法。
PCT/CN2019/128482 2019-04-28 2019-12-25 一种数据传输方法及对应的设备 Ceased WO2020220705A1 (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US17/145,932 US11277313B2 (en) 2019-04-28 2021-01-11 Data transmission method and corresponding device

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201910351873.X 2019-04-28
CN201910351873.XA CN111866956B (zh) 2019-04-28 2019-04-28 一种数据传输方法及对应的设备

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US17/145,932 Continuation US11277313B2 (en) 2019-04-28 2021-01-11 Data transmission method and corresponding device

Publications (2)

Publication Number Publication Date
WO2020220705A1 true WO2020220705A1 (zh) 2020-11-05
WO2020220705A9 WO2020220705A9 (zh) 2020-12-03

Family

ID=72966346

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2019/128482 Ceased WO2020220705A1 (zh) 2019-04-28 2019-12-25 一种数据传输方法及对应的设备

Country Status (3)

Country Link
US (1) US11277313B2 (zh)
CN (1) CN111866956B (zh)
WO (1) WO2020220705A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP4054133A4 (en) * 2019-12-19 2022-12-21 Huawei Technologies Co., Ltd. MULTI-CHANNEL TRANSMISSION METHOD AND DEVICE

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11523305B2 (en) 2019-09-25 2022-12-06 Cisco Technology, Inc. Traffic steering and policy combining
US11483279B2 (en) * 2019-11-15 2022-10-25 Cisco Technology, Inc. Domain name system as an authoritative source for multipath mobility policy
US11558287B2 (en) 2020-02-14 2023-01-17 Cisco Technology, Inc. Policy combining utilizing purpose
WO2021170248A1 (en) * 2020-02-28 2021-09-02 Lenovo (Singapore) Pte. Ltd. Access traffic steering using a plurality of steering connections over different access networks
CN114500626A (zh) * 2020-11-12 2022-05-13 华为技术有限公司 传输数据的方法、装置、设备及计算机可读存储介质
CN112383948B (zh) * 2020-11-13 2022-12-20 Oppo广东移动通信有限公司 数据传输方法、装置、存储介质及电子设备
CN114696902B (zh) * 2020-12-28 2024-11-29 华为技术有限公司 一种可见光通信方法以及通信装置
CN112286874B (zh) * 2021-01-04 2021-07-02 北京东方通软件有限公司 一种基于时间的文件管理方法
CN113676404A (zh) * 2021-08-23 2021-11-19 北京字节跳动网络技术有限公司 数据传输方法、装置、设备、存储介质及程序
CN115866075A (zh) * 2021-09-27 2023-03-28 华为技术有限公司 一种数据的传输方法及设备
EP4246937B1 (en) * 2022-03-15 2025-05-21 Deutsche Telekom AG Mp-dccp proxy to enable multipath transmission of dccp data packets between a sender and a receiver
CN114745450B (zh) * 2022-04-19 2024-06-25 苏州盛科科技有限公司 芯片端口链路训练连接的方法及应用
CN117460017B (zh) * 2023-10-11 2024-11-26 北京讯腾智慧科技股份有限公司 一种北斗基准站数据传输及检测系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101925125A (zh) * 2010-04-23 2010-12-22 清华大学 一种与移动ip结合的具有移动性的多路径tcp的方法
CN102215530A (zh) * 2011-05-27 2011-10-12 上海华为技术有限公司 一种数据流传输方法及相关设备、系统
CN103634299A (zh) * 2013-11-14 2014-03-12 北京邮电大学 基于多连接的实时流媒体传输终端与方法
US20170346724A1 (en) * 2016-05-25 2017-11-30 Doru Calin Dynamic multi-path control and adaptive end-to-end content delivery over wireless media
CN107911844A (zh) * 2013-01-24 2018-04-13 华为技术有限公司 控制分流的方法、ue、网络设备及服务器

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9888042B2 (en) * 2013-05-21 2018-02-06 Citrix Systems, Inc. Systems and methods for multipath transmission control protocol connection management
CN107409121B (zh) * 2015-03-12 2021-02-23 瑞典爱立信有限公司 用于多路径业务聚合的方法和布置
US11202230B2 (en) * 2017-05-19 2021-12-14 Telefonaktiebolaget Lm Ericsson (Publ) Technique for enabling multipath transmission
EP3669568B1 (en) * 2017-08-18 2023-10-25 Nokia Technologies Oy Traffic distribution control for wireless hybrid access networks
CN111837371A (zh) * 2018-01-26 2020-10-27 Idac控股公司 基于增强mptcp的应用移动性
WO2020018185A1 (en) * 2018-07-17 2020-01-23 Futurewei Technologies, Inc. Systems and methods to implement path aware networking

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101925125A (zh) * 2010-04-23 2010-12-22 清华大学 一种与移动ip结合的具有移动性的多路径tcp的方法
CN102215530A (zh) * 2011-05-27 2011-10-12 上海华为技术有限公司 一种数据流传输方法及相关设备、系统
CN105704759A (zh) * 2011-05-27 2016-06-22 上海华为技术有限公司 一种数据流传输方法及网络设备
CN107911844A (zh) * 2013-01-24 2018-04-13 华为技术有限公司 控制分流的方法、ue、网络设备及服务器
CN103634299A (zh) * 2013-11-14 2014-03-12 北京邮电大学 基于多连接的实时流媒体传输终端与方法
US20170346724A1 (en) * 2016-05-25 2017-11-30 Doru Calin Dynamic multi-path control and adaptive end-to-end content delivery over wireless media

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP4054133A4 (en) * 2019-12-19 2022-12-21 Huawei Technologies Co., Ltd. MULTI-CHANNEL TRANSMISSION METHOD AND DEVICE
US12452346B2 (en) 2019-12-19 2025-10-21 Huawei Technologies Co., Ltd. Multipath transmission method and device

Also Published As

Publication number Publication date
CN111866956A (zh) 2020-10-30
CN111866956B (zh) 2023-07-14
US11277313B2 (en) 2022-03-15
US20210135944A1 (en) 2021-05-06
WO2020220705A9 (zh) 2020-12-03

Similar Documents

Publication Publication Date Title
WO2020220705A1 (zh) 一种数据传输方法及对应的设备
US12047287B2 (en) Data transmission method and apparatus, network adapter, and storage medium
US10554538B2 (en) Dynamic link state routing protocol
CN101326766B (zh) 路由数字对象的方法和设备
CN103428802B (zh) 用于虚拟软交换的方法和装置
US9438499B2 (en) Approximation of the physical location of devices and transitive device discovery through the sharing of neighborhood information using wireless or wired discovery mechanisms
US20150237525A1 (en) Traffic Shaping and Steering for a Multipath Transmission Control Protocol Connection
US20170063699A1 (en) Method and apparatus for configuring multi-paths using segment list
US8265050B2 (en) System and method for sharing a payload among mobile devices in a wireless network
US8885504B2 (en) Method, apparatus and system for bandwidth aggregation of mobile internet access node
US8000239B2 (en) Method and system for bandwidth allocation using router feedback
CN111107672B (zh) 一种建立多路径连接的子流的方法、装置和系统
WO2012006595A2 (en) Transparent proxy architecture for multi-path data connections
CN106998302A (zh) 一种业务流量的分配方法及装置
CN103391296A (zh) 一种控制器、转发器及通道建立方法和系统
JP2021524204A (ja) サービス品質監視方法、及びシステム、並びに装置
CN113950039B (zh) 信息传输方法、装置与存储介质
CN118803010B (zh) 一种通信方法及网络设备、存储介质、计算机程序产品
CN116419363B (zh) 数据传输方法、通信设备和计算机可读存储介质
US10939331B2 (en) Information centric network heterogenous wireless switching
CN116938666B (zh) 一种数据处理方法和相关设备
De Schepper et al. ORCHESTRA: Supercharging wireless backhaul networks through multi-technology management
CN115883448A (zh) 一种报文转发方法及设备
WO2019119836A1 (zh) 报文处理的方法和设备
WO2020048622A1 (en) A method, apparatus & computer program

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 19926756

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 19926756

Country of ref document: EP

Kind code of ref document: A1