CN107078999A - The method and apparatus for transmitting data - Google Patents

The method and apparatus for transmitting data Download PDF

Info

Publication number
CN107078999A
CN107078999A CN201580001192.0A CN201580001192A CN107078999A CN 107078999 A CN107078999 A CN 107078999A CN 201580001192 A CN201580001192 A CN 201580001192A CN 107078999 A CN107078999 A CN 107078999A
Authority
CN
China
Prior art keywords
subflow
intensity
load
communication connection
current
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.)
Granted
Application number
CN201580001192.0A
Other languages
Chinese (zh)
Other versions
CN107078999B (en
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 CN107078999A publication Critical patent/CN107078999A/en
Application granted granted Critical
Publication of CN107078999B publication Critical patent/CN107078999B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

The invention discloses a kind of method and apparatus for transmitting data, n subflow is currently included in the communication connection using the network system of this method, this method includes:According to the intensity of load of n subflow current in communication connection, it is determined that the (n+1)th subflow is created, wherein, n is positive integer;The first packet to be sent is sent in (n+1)th subflow.In addition, this method can further include:There is intensity of load in the current substream for determining the communication connection less than the first threshold, and with the available subflow for sending window;It is determined that the subflow on send the second packet to be sent.The method and apparatus of the transmission data of the embodiment of the present invention, according to the intensity of load of the current substream of communication connection, it is determined that creating new subflow, packet is sent in the subflow newly created, the subflow number in communication connection can dynamically be adjusted, and the intensity of load between balanced each subflow, improve the utilization rate and efficiency of transmission of network.

Description

The method and apparatus for transmitting data Technical field
The present embodiments relate to the communications fields, and more particularly, to the method and apparatus for transmitting data in the communications field.
Background technique
The network topology (such as fat tree-shaped (Fat-Tree) network topology) of modern data center provides mulitpath between source node and destination node, and potentially data parallel transmits, and improve data transfer throughput provides condition.However, traditional network transmission protocol is not adapted with this, such as transmission control protocol (Transmission Control Protocol, TCP), a stream is only established in each communication connection, therefore synchronization can only use a paths therein to carry out data transmission, this cannot effectively utilize the Path diversity of modern data center network to improve efficiency of transmission.
In order to obtain better transmission performance, there is the transport layer multi-path transmission protocol with multi-path transmission control protocol (Multipath Transmission Control Protocol, MPTCP) for representative.MPTCP can establish multiple subflows for each communication connection, and each subflow can be transmitted potentially using the different parallel paths of network, polymerize the idle bandwidth in different paths, to realize better transmission performance.
But the use of more subflows is also that multi-path transmission protocol introduces new cost, size and the subflow number of cost are positively correlated.Especially when traffic load intensity is smaller, serious negative effect can be brought using excessive subflow.Firstly, creating and destroying the process of excessive subflow, communication delay and control flow are increased.Communication connection for small data quantity was transmitted using the data that single or a small number of subflows are completed within several two-way times (Round Trip Time, RTT) originally, and established excessive subflow and increase the deadline entirely communicated to connect instead.Second, each subflow needs to safeguard independent Data Transmission Controlling block, and excessive subflow means excessive central processing unit (Central Processing Unit, CPU) resource and memory source consumption.Third, multi-path transmission protocol to exist simultaneously more subflows in network, for some networks (such as software defined network (Software Defined Networking, SDN)), this will increase the demand to network equipment flow table capacity, excessive subflow may cause network equipment flow table spilling, and then lead to network scalability problem occur.
Currently, being the transport layer multi-path transmission protocol of representative usually using fixed subflow number using MPTCP, subflow number cannot be dynamically adjusted within the life cycle of communication connection.Due to the intensity of load of communication connection be usually it is unknown in advance, system is in order to give full play to the sky that multi-path transmission protocol polymerize different paths The ability of not busy bandwidth usually sets more subflow number according to the demand of big data quantity communications.This will lead to the prevailing small data quantity communication of quantity in network, using excessive subflow number, and then introduce excessive subflow cost., whereas if setting only uses a small amount of subflow, then communication connection biggish for the traffic, efficiency of transmission will have a greatly reduced quality.
Another problem of existing transport layer multi-path transmission protocol is to ignore and mould to network flow, i.e., the intensity of load of each subflow is unbalanced in network.Correlative study shows that the characteristic of data traffic has a major impact the overall transfer efficiency of network.Such as, for mainstream network load-balancing technique equal cost multipath (Equal Cost Multipath, ECMP) technology dispatches a large amount of smoothly small stream flows and is easier to realize the high usage and high-transmission efficiency of network compared to the network flow that scheduling size stream mixes.Multi-path transmission protocol is due to sending data using multiple subflows, and potentially there are the chances of remodeling network flow characteristic, but existing multi-path transmission protocol is not designed allocation strategy of the data more subflows from the angle for the network flow moulded.
Summary of the invention
The embodiment of the invention provides a kind of method and apparatus for transmitting data, can dynamically adjust the subflow number in communication connection, improve the utilization rate and efficiency of transmission of network.
In a first aspect, providing a kind of method for transmitting data, n subflow is currently included in the communication connection using the network system of the method, which comprises
According to the intensity of load of the n subflow current in the communication connection, the (n+1)th subflow of creation is determined, wherein n is positive integer;
The first data packet to be sent is sent in (n+1)th subflow.
With reference to first aspect, in the first possible implementation of the first aspect, the intensity of load according to n subflow current in communication connection determines the (n+1)th subflow of creation, comprising:
After obtaining first data packet, according to the intensity of load of n subflow current in the communication connection, the (n+1)th subflow of creation is determined.
With reference to first aspect, in the second possible implementation of the first aspect, the intensity of load according to n subflow current in communication connection determines the (n+1)th subflow of creation, comprising:
According to the preset period 1, the intensity of load of n subflow current in the communication connection is detected, according to the intensity of load of the n subflow, determines the (n+1)th subflow of creation.
With reference to first aspect with the first any possible implementation into second of possible implementation of first aspect, in a third possible implementation of the first aspect, the subflow is base In the subflow of transmission control protocol TCP, the intensity of load according to the n subflow determines the (n+1)th subflow of creation, comprising:
It determines that there is no intensity of loads to be less than preset first threshold in the n subflow, and there is the available subflow for sending window;
It determines and creates (n+1)th subflow.
The third possible implementation with reference to first aspect, in a fourth possible implementation of the first aspect, before determining creation (n+1)th subflow, the method also includes:
Determine that the current substream number n in the communication connection is less than preset maximum subflow number m, wherein m is positive integer.
The third or the 4th kind of possible implementation with reference to first aspect, in the fifth possible implementation of the first aspect, the method also includes:
It determines that there are intensity of loads to be less than the first threshold in the current substream of the communication connection, and there is the available subflow for sending window;
The second data packet to be sent is sent in the determining subflow.
With reference to first aspect with the first any possible implementation into the 5th kind of possible implementation of first aspect, in the sixth possible implementation of the first aspect, the method also includes:
When the first data packet end of transmission, the intensity of load of (n+1)th subflow is updated.
With reference to first aspect with the first any possible implementation into the 6th kind of possible implementation of first aspect, in a seventh possible implementation of the first aspect, the method also includes:
According to preset second round, determine in the current substream of the communication connection with the presence or absence of the subflow for needing to destroy;
When in the presence of the subflow for needing to destroy, the subflow for needing to destroy is destroyed.
The 7th kind of possible implementation with reference to first aspect, it is described according to preset second round in the 8th kind of possible implementation of first aspect, it determines in the current substream of communication connection with the presence or absence of the subflow for needing to destroy, comprising:
According to the second round, the quantity p of the current substream of communication connection is determined, wherein p is positive integer;
When p is greater than or equal to 2, the intensity of load of each subflow in p subflow is determined;
Q subflow for meeting preset condition is determined as to the subflow for needing to destroy, wherein q is less than p Integer, the preset condition include subflow intensity of load be less than preset second threshold.
The 7th kind of possible implementation with reference to first aspect, it is described according to preset second round in the 9th kind of possible implementation of first aspect, it determines in the current substream of communication connection with the presence or absence of the subflow for needing to destroy, comprising:
According to the second round, the quantity p of the current substream of the communication connection is determined, wherein p is positive integer;
When p is greater than or equal to 2, the intensity of load of each subflow in p subflow is determined;
The smallest subflow of intensity of load in the p subflow is determined as to the subflow for needing to destroy.
Any possible implementation of the 4th kind with reference to first aspect into the 9th kind of possible implementation, in the tenth kind of possible implementation of first aspect, the method also includes:
When the communication connection is established, s subflow is created, wherein s is the positive integer more than or equal to 1, and s is less than the maximum subflow number m.
With reference to first aspect with the first any possible implementation into the tenth kind of possible implementation of first aspect, in a kind of the tenth possible implementation of first aspect, the intensity of load is normalization throughput, the normalization throughput is subflow within the unit time, the data volume transmitted on identity network interface bandwidth.
Second aspect provides a kind of device for transmitting data, is currently included n subflow in the communication connection of network system belonging to described device, described device includes:
First determination unit determines the (n+1)th subflow of creation, wherein n is positive integer for the intensity of load according to the n subflow current in the communication connection;
First transmission unit sends the first data packet to be sent in determining (n+1)th subflow in first determination unit.
In conjunction with second aspect, in the first possible implementation of the second aspect, first determination unit is specifically used for:
After obtaining first data packet, according to the intensity of load of n subflow current in the communication connection, the (n+1)th subflow of creation is determined.
In conjunction with second aspect, in a second possible implementation of the second aspect, first determination unit is specifically used for:
According to the preset period 1, the intensity of load of n subflow current in the communication connection is detected, according to the intensity of load of the n subflow, determines the (n+1)th subflow of creation.
In conjunction with any of the first of second aspect and second aspect into second of possible implementation The possible implementation of kind, in the third possible implementation of the second aspect, the subflow is the subflow based on transmission control protocol TCP, and first determination unit is specifically used for:
It determines that there is no intensity of loads to be less than preset first threshold in the n subflow, and there is the available subflow for sending window;
It determines and creates (n+1)th subflow.
In conjunction with the third possible implementation of second aspect, in the fourth possible implementation of the second aspect, before determining creation (n+1)th subflow, first determination unit is also used to:
Determine that the current substream number n in the communication connection is less than preset maximum subflow number m, wherein m is positive integer.
In conjunction with the third or the 4th kind of possible implementation of second aspect, in a fifth possible implementation of the second aspect, described device further include:
Second determination unit, there are intensity of loads to be less than the first threshold in the current substream for determining the communication connection, and has the available subflow for sending window;
Second transmission unit, for sending the second data packet to be sent in the subflow that second determination unit determines.
In conjunction with any possible implementation of the first of second aspect and second aspect into the 5th kind of possible implementation, in the sixth possible implementation of the second aspect, described device further include:
Updating unit, for updating the intensity of load of (n+1)th subflow when the first data packet end of transmission.
In conjunction with any possible implementation of the first of second aspect and second aspect into the 6th kind of possible implementation, in the 7th kind of possible implementation of second aspect, described device further include:
Third determination unit, for according to preset second round, determining in the current substream of the communication connection with the presence or absence of the subflow for needing to destroy;
Unit is destroyed, for when in the presence of the subflow for needing to destroy, destroying the subflow for needing to destroy.
In conjunction with the 7th kind of possible implementation of second aspect, in the 8th kind of possible implementation of second aspect, the third determination unit is specifically used for:
According to the second round, the quantity p of the current substream of communication connection is determined, wherein p is positive integer;
When p is greater than or equal to 2, the intensity of load of each subflow in p subflow is determined;
Q subflow for meeting preset condition is determined as to the subflow for needing to destroy, wherein q is the integer less than p, and the preset condition includes that the intensity of load of subflow is less than preset second threshold.
In conjunction with the 7th kind of possible implementation of second aspect, in the 9th kind of possible implementation of second aspect, the third determination unit is specifically used for:
According to the second round, the quantity p of the current substream of communication connection is determined, wherein p is positive integer;
When p is greater than or equal to 2, the intensity of load of each subflow in p subflow is determined;
The smallest subflow of intensity of load in the p subflow is determined as to the subflow for needing to destroy.
In conjunction with second aspect the 4th kind to the 9th kind possible implementation in any possible implementation, in the tenth kind of possible implementation of second aspect, described device further include:
Creating unit, for creating s subflow when the communication connection is established, wherein s is the positive integer more than or equal to 1, and s is less than the maximum subflow number m.
In conjunction with any possible implementation of the first of second aspect and second aspect into the tenth kind of possible implementation, in a kind of the tenth possible implementation of second aspect, the intensity of load is normalization throughput, the normalization throughput is subflow within the unit time, the data volume transmitted on identity network interface bandwidth.
The third aspect provides a kind of network system, the device of transmission data described in any implementation including second aspect.
Based on above-mentioned technical characteristic, the method and apparatus of the transmission data of the embodiment of the present invention, according to the intensity of load of the current substream of communication connection, it determines and creates new subflow, data packet is sent in newly created subflow, the subflow number in communication connection, and the intensity of load between balanced each subflow can be dynamically adjusted, the utilization rate and efficiency of transmission of network are improved.
Detailed description of the invention
To describe the technical solutions in the embodiments of the present invention more clearly, the drawings to be used in the description of the embodiments or prior art will be briefly described below, apparently, drawings in the following description are only some embodiments of the invention, for those of ordinary skill in the art, without creative efforts, it is also possible to obtain other drawings based on these drawings.
Fig. 1 is the schematic flow chart of the method for the transmission data of one embodiment of the invention.
Fig. 2 is the schematic flow chart of the method for the transmission data of another embodiment of the present invention.
Fig. 3 is the schematic flow chart of the method for the transmission data of another embodiment of the invention.
Fig. 4 is the schematic block diagram of the device of the transmission data of one embodiment of the invention.
Fig. 5 is the schematic block diagram of the device of the transmission data of another embodiment of the present invention.
Specific embodiment
Following will be combined with the drawings in the embodiments of the present invention, and technical scheme in the embodiment of the invention is clearly and completely described, it is clear that described embodiments are some of the embodiments of the present invention, instead of all the embodiments.Based on the embodiments of the present invention, those of ordinary skill in the art's every other embodiment obtained without making creative work, shall fall within the protection scope of the present invention.
Existing the relevant technologies MPTCP is simply introduced first herein.MPTCP is current most representative and most promising transport layer multi-path transmission protocol.MPTCP executes the parallel transmission of data using multiple subflows.Each subflow execution is similar with traditional TCP, has transmit queue, transmission window (congestion window), serial number space alone;Subflow uses the congestion control mechanism coupled between independent congestion control mechanism or subflow;All subflows are sending the shared total transmission window of transmission buffer maintenance of host side, record the reception window of receiving end notice, all subflows are in the shared reception buffer in receiving host end, maintenance is total to receive window, and the serial number space of a set of outer layer can guarantee to send and receive the order-preserving of data in buffer area.
The data transmission procedure of MPTCP communication connection are as follows: obtain data from transmission buffer sending host side, according to Data Dissemination between corresponding subflow, packet delivery is transmitted to each subflow;The data of each subflow are according to respective serial number space number and order-preserving is transmitted, and potentially flow through different network paths, eventually arrive at receiving host end;At receiving host end, multiple subflows are received and are reconsolidated as a data flow, are put into and are received in buffer.
In MPTCP, subflow number has just been determined when establishing communication connection, and is immobilized within the life cycle of communication connection, can not dynamically be adjusted.The subflow number of MPTCP communication connection at present is specified by the system parameter " net.mptcp.mptcp_path_manager " for configuring MPTCP.This causes MPTCP that cannot weigh the pros and cons of more subflows, optimizes transmission performance.Meanwhile being also unfavorable for the fluctuation of smooth communication load using stator fluxion and the transmittability of dynamic retractility is provided.
In addition, current MPTCP provides Data Dissemination between two kinds of subflows: one is the preferential mechanism of minimum RTT, i.e., high priority data are dispatched in the smallest subflow of RTT;Another kind is rotation (Round-Robin) mechanism, i.e., rotation sends data in all subflows.It can be specified by configuring the system parameter " net.mptcp.mptcp_scheduler " of MPTCP using Data Dissemination between which kind of subflow.Data Dissemination does not account for moulding subflow discharge characteristic between these subflows, subflow flow It is easy with traffic load strength fluctuation, it is unstable, and the throughput between subflow may also differ greatly, and this can bring difficulty to Network Load Balance.
The present invention is exactly directed to the improvement made using MPTCP as the above problem in the transport layer multi-path transmission protocol of representative.Fig. 1 shows the method 100 of transmission data according to an embodiment of the invention, and this method 100 is executed by the device for transmitting data in communication connection, can specifically be executed by the corresponding module of Data Dissemination between subflow controlling mechanism and subflow.N subflow is currently included in the communication connection of the network system of application method 100, method 100 includes:
S101 determines the (n+1)th subflow of creation, wherein n is positive integer according to the intensity of load of the n subflow current in the communication connection;
S102 sends the first data packet to be sent in (n+1)th subflow.
Specifically, relative to existing data transmission mechanism, distribution of the embodiment of the present invention using the method control data for the intensity of load for considering subflow between subflow.Also, in order to match the aggregation transfer ability of traffic load and subflow, the fluctuation of smooth communication load is managed sub- fluxion using the subflow control technology of loaded self-adaptive.When the intensity of load of the current substream of communication connection rises, new subflow can be created to increase transmittability according to default rule.When there are a data packets to be sent, such as when the first data packet, the device of the transmission data of the embodiment of the present invention is according to the intensity of load of n subflow in communication connection, when determining the load too high of n subflow in communication connection, the (n+1)th subflow of creation is determined, to send first data packet in (n+1)th subflow.
It should be understood that, according to the intensity of load of n subflow current in communication connection, can determine the (n+1)th subflow of creation after obtaining the first data packet to be sent in the embodiment of the present invention;It is also possible to the intensity of load according to n subflow current in certain cycle detection communication connection, then determines the (n+1)th subflow of creation.It creates the (n+1)th subflow and can be and be also possible to after obtaining the first data packet to be sent before obtaining the first data packet to be sent, the embodiment of the present invention is not construed as limiting this.
From another point of view, the embodiment of the invention provides data distribution mechanism between a kind of subflow control method that traffic load is adaptive and subflow, two kinds of mechanism, which combine to can solve existing multi-path transmission protocol neutron fluxion and cannot be adjusted, moulds poor both of these problems with subflow flow.
Therefore, the method of the transmission data of the embodiment of the present invention, according to the intensity of load of the current substream of communication connection, it determines and creates new subflow, data packet is sent in newly created subflow, the subflow number in communication connection, and the intensity of load between balanced each subflow can be dynamically adjusted, the utilization rate and efficiency of transmission of network are improved.
Optionally, as one embodiment, S101 is according to the negative of n subflow current in communication connection Intensity is carried, determines the (n+1)th subflow of creation, comprising:
After obtaining first data packet, according to the intensity of load of n subflow current in the communication connection, the (n+1)th subflow of creation is determined.
Specifically, whenever having new data packet to be sent, the intensity of load of n current subflow in detection communication connection.When the intensity of load of the current substream of communication connection is stronger when preset threshold value (such as the intensity of load of all current substreams be greater than), new subflow can be created to increase transmittability according to default rule.I.e., when there are the first data packet to be sent, the intensity of load of n current subflow in detection communication connection, in communication connection when the transmittability deficiency of n current subflow, the (n+1)th new subflow of creation, to send the first data packet to be sent in the (n+1)th subflow.
Optionally, as one embodiment, S101 determines the (n+1)th subflow of creation according to the intensity of load of n subflow current in communication connection, comprising:
According to the preset period 1, the intensity of load of n subflow current in the communication connection is detected, according to the intensity of load of the n subflow, determines the (n+1)th subflow of creation.
Specifically, according to the period 1 of systemic presupposition, the intensity of load of n current subflow in detection communication connection.When the intensity of load of the current substream of communication connection is stronger when preset threshold value (such as the intensity of load of all current substreams be greater than), new subflow can be created to increase transmittability according to default rule.That is, creating the (n+1)th new subflow when the transmittability deficiency of n subflow current in communication connection.When there are the first data packet to be sent, a subflow is selected to send the first data packet to be sent from the subflow in communication connection.Preferably, newly created (n+1)th subflow sends the first data packet to be sent in selection communication connection.
Optionally, in embodiments of the present invention, which is the subflow based on transmission control protocol TCP, and S102 determines the (n+1)th subflow of creation according to the intensity of load of the n subflow, comprising:
It determines that there is no intensity of loads to be less than preset first threshold in the n subflow, and there is the available subflow for sending window;
It determines and creates (n+1)th subflow.
Specifically, for having the subflow for sending window concept, such as the subflow based on TCP, whether data can be transmitted in subflow, in which subflow transmitting data, whether need to create new subflow, the intensity of load in addition to considering subflow, it is also contemplated that whether the subflow currently has available transmission window (i.e. transmission window is non-full).Therefore the embodiment of the present invention goes back whether further consideration subflow currently has available transmission window when data between executing subflow are distributed.In communication connection, when intensity of load is not present and is less than preset first threshold, and there is the available subflow for sending window, new subflow is created.Wherein, First threshold can determine that different subflows can correspond to respectively different first thresholds according to the load capacity of subflow, can also uniformly preset identical first threshold to different subflows for simplicity, the embodiment of the present invention is not construed as limiting this.
For not having the subflow for the multi-path transmission protocol for sending window concept, such as the subflow based on User Datagram Protocol (User Datagram Protocol, UDP), the embodiment of the present invention sends this factor of window regardless of whether with available.Or, it is believed that it sends window infinity, i.e., total to send window with available.
Optionally, in embodiments of the present invention, before determining creation (n+1)th subflow, this method 100 further include:
Determine that the current substream number n in the communication connection is less than preset maximum subflow number m, wherein m is positive integer.
Specifically, the embodiment of the present invention allow when the intensity of load of the current substream in communication connection is all larger or current substream there is no it is available send window and cannot send data packet when, new subflow can be created, and in new subflow transmitting data packet.In embodiments of the present invention, in order to avoid subflow increases without limitation, can preset maximum subflow number is m.Maximum subflow number m can shift to an earlier date specified by artificially configuring.It should be understood that the current substream in the communication connection of the embodiment of the present invention can be the subflow based on TCP, it is also possible to the subflow based on UDP or other agreements, the embodiment of the present invention is not construed as limiting this.
In order to make full use of the transmittability of network, the embodiment of the present invention can further allow: when the subflow number in communication link reaches maximum subflow number m, and it is all with when the intensity of loads for the subflows for sending window can be used all to have reached preset first threshold, subflow can be more than that first threshold sends more data.
Optionally, as one embodiment, method 100 further include:
It determines that there are intensity of loads to be less than the first threshold in the current substream of the communication connection, and there is the available subflow for sending window;
The second data packet to be sent is sent in the determining subflow.
Specifically, second data packet can be sent in the determining subflow when there are intensity of loads to be less than the first threshold in communication connection, and has the available subflow for sending window for the second data packet in the embodiment of the present invention.For example, first threshold can be less than in first intensity of load detected, and has and send second data packet in the available subflow for sending window;First threshold can also be less than in the multiple intensity of loads detected, and had in the available subflow for sending window, chosen the smallest subflow of intensity of load and send second data packet, the embodiment of the present invention is not construed as limiting concrete implementation mode.Preferably, the first threshold can be less than in the intensity of load detected by the method for rotation, and And has and send second data packet in available first subflow for sending window.
The embodiment of the present invention can provide better transmission performance by creating new subflow in high load, and be limited by the intensity of load to each subflow, and the flow that can have been moulded is to optimize the overall transfer efficiency of network.The embodiment of the present invention, it especially combines when communication connection is low-load, the scheme of subflow number can be reduced, subflow number can be controlled in suitable range, so that on the one hand subflow number can satisfy the loading demand of communication connection, on the other hand expense needed for maintenance subflow can be balanced each other with loading demand, so that communication system has high transmission performance.
Optionally, in embodiments of the present invention, which is normalization throughput, which is subflow within the unit time, the data volume transmitted on identity network interface bandwidth.
Specifically, in embodiments of the present invention, the intensity of load of the normalization throughput characterization subflow of subflow can be used, guarantee the small properties of flow of subflow by controlling the intensity of load of subflow.Normalizing throughput is subflow within the unit time, the data volume transmitted on identity network interface bandwidth.When using the intensity of load of the normalization throughput characterization subflow of subflow, the normalization throughput of subflow can count to obtain in the following manner: the life cycle of communication connection being carried out period division, such as life cycle is divided into several isometric timeslices.The data volume that subflow has been sent in each timeslice of independent statistics, and the data volume is obtained into average throughput in current time piece divided by entire time leaf length.Compare for the ease of setting first threshold and therewith, throughput is usually further represented as normalized form, i.e., throughput is obtained into a value between 0 and 1 divided by network interface bandwidth, as normalization throughput.It should be noted that the length of timeslice herein can be specified by artificially configuring, usually its value should be able to tolerate several not equal bursts for arriving tens of multiple data packets, too sensitive to avoid short-term fluctuation of the throughput value for traffic load.
The specific calculating of the normalization throughput of subflow can be exemplified below: assuming that time leaf length is L, the data volume that subflow i has been sent in current time piece is Ci, network interface bandwidth Bi, then the normalization throughput R of subflow iiFor Ci/(L×Bi).It should be noted that the normalization throughput of subflow is a kind of mode for measuring the intensity of load on sub- road, the embodiment of the present invention allows to be replaced using the index of other intensity of loads that can characterize subflow.
Optionally, in embodiments of the present invention, method 100 further include:
When the first data packet end of transmission, the intensity of load of (n+1)th subflow is updated.
Specifically, when the first data packet end of transmission in newly created (n+1)th subflow, the intensity of load of (n+1)th subflow is updated, in order to determine the subflow for being used for transmission data packet according to the intensity of load of each subflow before distributing next data packet to be transmitted.It is that normalization is handled up with intensity of load For rate, it is C that subflow j updates it in the statistical value that current time on piece sends data volume after data packet end of transmissionj=Cj'+Pkt_Len;It is R that subflow j updates it in the normalization throughput of current time on piece after data packet end of transmissionj=Cj/(L×Bj), wherein Cj' it is the data volume that subflow j has been transmitted in current time on piece before data packet is sent, Pkt_Len is the data volume of data packet.
It should be understood that the intensity of load of each subflow can store in the memory of network system, or being stored in Data Dissemination between subflow controlling mechanism and/or subflow can be in the storage unit that it is read and write.When the first data packet end of transmission, the corresponding module of Data Dissemination calculates new intensity of load between subflow controlling mechanism and/or subflow, and the intensity of load newly calculated is updated into above-mentioned memory or storage unit.When there is new data packet to be transmitted, or when being reached according to the preset period 1 at the time of judging whether to need newly to create subflow, the corresponding module of Data Dissemination between subflow controlling mechanism and/or subflow reads the intensity of load of each subflow from above-mentioned memory or storage unit for using.
It should also be understood that in embodiments of the present invention, not only the (n+1)th subflow updates its intensity of load after transferring data packet.When having data packet transmission in other subflows in communication connection, the intensity of load of subflow should be updated after being sent, to guarantee the accuracy of the intensity of load of each subflow, convenient for according to the intensity of load of each subflow, it determines the need for creating new subflow or destroys part subflow, and the next data packet to be sent of distribution.In addition, the scheme of the embodiment of the present invention, can also be updated, the accuracy of the intensity of load of each subflow when guaranteeing packet distribution according to intensity of load of the period (such as according to timeslice) to each subflow in communication connection.
Optionally, in embodiments of the present invention, method 100 further include:
When the communication connection is established, s subflow is created, wherein s is the positive integer more than or equal to 1, and s is less than maximum subflow number m.
Specifically, creating 1 when the communication connection of transport layer multipath agreement is established or specifying number s initial subflows.When the intensity of load of current substream is all larger or when current substream cannot send data packet there is no available transmission window, new subflow is created, and in new subflow transmitting data packet.Better transmission performance can be provided, the overall transfer efficiency of network is optimized.
Optionally, in embodiments of the present invention, method 100 further include:
According to preset second round, determine in the current substream of communication connection with the presence or absence of the subflow for needing to destroy;
When in the presence of the subflow for needing to destroy, the subflow for needing to destroy is destroyed.
Specifically, the embodiment of the present invention can determine whether there is what needs were destroyed in the current substream of communication connection according to preset rules according to preset second round (such as at each timeslice end) Subflow.Wherein, the period 1 in the embodiment of the present invention and second round can be the same or different.Creating and destroy subflow can be in accordance with the identical period or in accordance with the different periods, and the embodiment of the present invention is not construed as limiting this.For example, the embodiment of the present invention can determine the subflow for needing to destroy according to the intensity of load (such as normalization throughput) of each subflow.The embodiment of the present invention can be according to other attributes of communication connection, such as the two-way time RRT of data transmission, it determines with the presence or absence of the subflow for needing to destroy in current substream, when in the presence of the subflow for needing to destroy, the subflow for needing to destroy is destroyed, the embodiment of the present invention is not construed as limiting this.
It should be understood that in embodiments of the present invention, after determining the subflow that needs are destroyed, the regular hour can be waited to carry out subflow destruction again later.For example, the data end of transmission in the subflow that needs can be waited to destroy carries out the destruction of subflow again later.Alternatively, the data that script transmits in the subflow are transferred in other subflows and are sent after destroying subflow.Other measures can also be taken, guarantee that data transfer task can normally complete, the embodiment of the present invention is not construed as limiting this.
Optionally, in embodiments of the present invention, it according to preset second round, determines in the current substream of communication connection with the presence or absence of the subflow for needing to destroy, comprising:
According to the second round, the quantity p of the current substream of communication connection is determined, wherein p is positive integer;
When p is greater than or equal to 2, the intensity of load of each subflow in p subflow is determined;
Q subflow for meeting preset condition is determined as to the subflow for needing to destroy, wherein q is the integer less than p, which includes that the intensity of load of subflow is less than preset second threshold.
Specifically, determining in the current substream of communication connection with the presence or absence of needing the specific method for the subflow destroyed to can be such that according to preset second round (such as at each timeslice end), the quantity p of the current substream of communication connection is determined;When p is greater than or equal to 2, determine the intensity of load of each subflow in p subflow, when including more than one subflow i.e. in communication connection, subflow this process for determining and needing to destroy is executed again, when group fluxion is 1, no matter the intensity of load of subflow, retain the subflow, that is, remains at least one available subflow;The q subflow that intensity of load is less than preset second threshold is determined as to the subflow for needing to destroy, i.e., the lesser q subflow of intensity of load in p current substream is determined as the subflow for needing to destroy.Wherein, second threshold can determine that different subflows can correspond to respectively different second thresholds according to the load capacity of subflow, can also uniformly preset identical second threshold to different subflows for simplicity, the embodiment of the present invention is not construed as limiting this.Second threshold should be less than first threshold according to an embodiment of the present invention, therefore second threshold can be determined according to first threshold, for example, second threshold can be first threshold multiplication by constants θ, θ is greater than 0 and less than 1.
Preferably, in embodiments of the present invention, it according to preset second round, determines in the current substream of communication connection with the presence or absence of the subflow for needing to destroy, comprising:
According to the second round, the quantity p of the current substream of the communication connection is determined, wherein p is positive integer;
When p is greater than or equal to 2, the intensity of load of each subflow in p subflow is determined;
The smallest subflow of intensity of load in the p subflow is determined as to the subflow for needing to destroy.
Specifically, in embodiments of the present invention, a subflow is destroyed every time when the quantity of current substream is greater than or equal to 2 according to preset second round, the smallest subflow of intensity of load in p current substream is destroyed.
Illustrate that the method for the transmission data of the embodiment of the present invention, this example are mainly described the angle of Data Dissemination subflow with a specific example below.Fig. 2 shows the method 200 of the transmission data of another embodiment of the present invention, method 200 can be executed by the corresponding module of Data Dissemination between subflow.The communication connection of current transmission layer multipath agreement includes n subflow in establishing.When there is data packet to be sent to need to transmit, the corresponding module of Data Dissemination executes S201 to S208 between subflow, determines that a subflow sends the data packet, when there is multiple data packets to be sent, repeats S201 to S208.Method 200 specifically includes:
S201 obtains data packet to be sent.
S202 judges whether there is the subflow F of the condition of satisfactionA.Wherein, subflow FANormalization throughput to detect by the method for rotation is less than first threshold (Rv< Rth), and there is available first subflow v for sending window.If it does, executing S203;If it does not, executing S204.
S203, in subflow FAUpper transmission data packet, and update subflow v=FAStatistical value (the C of data volume is sent in current time piecev=Cv'+Pkt_Len) and normalization throughput (Rv=Cv/(L×Bv)), then execute S208.
S204, judges whether current substream number is less than maximum subflow number m.If it is, executing S205;If not, executing S206.
S205, the corresponding module of notice subflow controlling mechanism newly create subflow FNew, and in newly created subflow FNewUpper transmission data packet, while updating subflow v=FNewStatistical value (the C of data volume is sent in current time piecev=Cv'+Pkt_Len) and normalization throughput (Rv=Cv/(L×Bv)), then execute S208.
S206 judges whether there is the subflow F of the condition of satisfactionB.Wherein, subflow FBNormalization throughput to detect by the method for rotation is greater than or equal to first threshold (Rv≥Rth), and there is available first subflow v for sending window.If it is present S207 is executed, if it does not, current pass is not sent out Data packet is sent, S208 is executed.
S207, in subflow FBUpper transmission data packet, and update subflow v=FBStatistical value (the C of data volume is sent in current time piecev=Cv'+Pkt_Len) and normalization throughput (Rv=Cv/(L×Bv))。
S208 is ended processing.
Fig. 3 shows the method 300 of the transmission data of another embodiment of the invention, and method 300 can be executed by the corresponding module of subflow controlling mechanism, is mainly described from the angle of subflow controlling mechanism.For the corresponding module of subflow controlling mechanism when communication connection is established, s initial subflows of creation, wherein s is greater than or equal to 1;And when receiving the notice for creating new subflow that subflow management module is sent, create a new subflow.At each timeslice end, subflow management module determines whether to destroy subflow also according to the following steps that method 300 includes:
S301, judges whether current substream number p is greater than or equal to 2: if so, executing S302;It is ended processing if not, executing S304.
S302 judges whether there is subflow, remains available in multiple timeslices (such as K timeslice), and normalizes throughput less than second threshold θ × Rth(0<θ<1);If so, executing S303;It is ended processing if not, executing S304.Wherein, K is configurable timeslice constant, such as K=10;θ is configurable constant between 0 and 1, such as θ=0.5.
S303, destruction meet in the subflow of S302 condition, normalize the smallest subflow of throughput.
S304 is ended processing.
It should be understood that, in various embodiments of the present invention, magnitude of the sequence numbers of the above procedures are not meant that the order of the execution order, and the execution sequence of each process should be determined by its function and internal logic, and the implementation process of the embodiments of the invention shall not be constituted with any limitation.
Distribution of the embodiment of the present invention using the method control data that the constraint of normalization throughput and rotation mechanism combine between subflow --- control each subflow data volume transmitted in unit time, so that it is normalized throughput and be no more than specified threshold, and distribute data in the way of rotation between all normalization throughputs are not up to the subflow of specified threshold --- small subflow discharge characteristic is moulded with this.Also, in order to match the aggregation transfer ability of traffic load and subflow, and the fluctuation of smooth communication load, sub- flow amount is managed using the subflow control technology of loaded self-adaptive.When traffic load rises, and existing subflow normalizes the threshold value of throughput and cannot transmit more data due to reaching, new subflow is created to increase transmittability;When traffic load declines, when existing subflow transmittability cannot make full use of, the bad subflow of performance is destroyed.
Data Dissemination between subflow controlling mechanism and subflow that the embodiment of the present invention proposes, for executing the creation and destruction of data distribution and subflow.Data Dissemination can be by each between subflow controlling mechanism and subflow Self-corresponding module executes, and can also be realized by unified management module or device, the embodiment of the present invention is not construed as limiting this.
The method of the transmission data of the embodiment of the present invention, subflow number can be adjusted according to intensity of load dynamic, realize the dynamic retractility of communication capacity, and mould the flow with steady boy's properties of flow.With existing MPTCP using compared with stator fluxion, subflow number can be reduced in low-load with servicing greatly, efficiency of transmission more better than MPTCP is provided in high load, and the flow by having moulded is to optimize the overall transfer efficiency of network.The subflow adjustment capability that the embodiment of the present invention passes through addition traffic load Self-adaptive strength, on the one hand the prevailing small data quantity communication of quantity can be made using the subflow number of subflow number setting value much less more common than existing multi-path transmission protocol, so that subflow cost described above be greatly reduced;On the other hand, it for the communication of big data quantity, is still able to use more subflow and enough transmittabilities is provided.
Therefore, the method of the transmission data of the embodiment of the present invention, according to the intensity of load of the current substream of communication connection, determine the subflow for sending data packet, the subflow is the current substream communicated to connect or newly created subflow, in the subflow transmitting data packet, can be realized the subflow number in dynamically adjustment communication link, and the intensity of load between balanced each subflow, the utilization rate and efficiency of transmission of network can be improved.
Above in conjunction with Fig. 1 to Fig. 3, the method that transmission data according to an embodiment of the present invention are described in detail describes the device of transmission data according to an embodiment of the present invention below in conjunction with Fig. 4 and Fig. 5.
Fig. 4 shows the device 400 of transmission data according to an embodiment of the present invention.N subflow is currently included in the communication connection of network system belonging to the device 400.As shown in figure 4, the device 400 includes:
First determination unit 401 determines the (n+1)th subflow of creation, wherein n is positive integer for the intensity of load according to the n subflow current in the communication connection;
First transmission unit 402 sends the first data packet to be sent in determining (n+1)th subflow in first determination unit 401.
Therefore, the device of the transmission data of the embodiment of the present invention, according to the intensity of load of the current substream of communication connection, it determines and creates new subflow, data packet is sent in newly created subflow, the subflow number in communication connection, and the intensity of load between balanced each subflow can be dynamically adjusted, the utilization rate and efficiency of transmission of network are improved.
In embodiments of the present invention, optionally, which is specifically used for:
After obtaining first data packet, according to the intensity of load of n subflow current in the communication connection, the (n+1)th subflow of creation is determined.
In embodiments of the present invention, optionally, which is specifically used for:
According to the preset period 1, the intensity of load of n subflow current in the communication connection is detected, according to the intensity of load of the n subflow, determines the (n+1)th subflow of creation.
In embodiments of the present invention, optionally, subflow is the subflow based on transmission control protocol TCP, which is specifically used for:
It determines that there is no intensity of loads to be less than preset first threshold in the n subflow, and there is the available subflow for sending window;
It determines and creates (n+1)th subflow.
In embodiments of the present invention, optionally, before determining creation (n+1)th subflow, which is also used to:
Determine that the current substream number n in the communication connection is less than preset maximum subflow number m, wherein m is positive integer.
In embodiments of the present invention, optionally, the device 400 further include:
Second determination unit, there are intensity of loads to be less than the first threshold in the current substream for determining the communication connection, and has the available subflow for sending window;
Second transmission unit, for sending the second data packet to be sent in the subflow that second determination unit determines.
In embodiments of the present invention, optionally, the device 400 further include:
Updating unit, for updating the intensity of load of (n+1)th subflow when the first data packet end of transmission.
In embodiments of the present invention, optionally, the device 400 further include:
Third determination unit, for according to preset second round, determining in the current substream of the communication connection with the presence or absence of the subflow for needing to destroy;
Unit is destroyed, for destroying the subflow of the needs destruction when in the presence of the subflow for needing to destroy.
In embodiments of the present invention, optionally, third determination unit is specifically used for:
According to the second round, the quantity p of the current substream of communication connection is determined, wherein p is positive integer;
When p is greater than or equal to 2, the intensity of load of each subflow in p subflow is determined;
Q subflow for meeting preset condition is determined as to the subflow for needing to destroy, wherein q is the integer less than p, which includes that the intensity of load of subflow is less than preset second threshold.
In embodiments of the present invention, optionally, third determination unit is specifically used for:
According to the second round, the quantity p of the current substream of communication connection is determined, wherein p is positive whole Number;
When p is greater than or equal to 2, the intensity of load of each subflow in p subflow is determined;
The smallest subflow of intensity of load in the p subflow is determined as to the subflow for needing to destroy.
In embodiments of the present invention, optionally, the device 400 further include:
Creating unit, for creating s subflow when the communication connection is established, wherein s is the positive integer more than or equal to 1, and s is less than maximum subflow number m.
In embodiments of the present invention, optionally, intensity of load is normalization throughput, which is subflow within the unit time, the data volume transmitted on identity network interface bandwidth.
It should be understood that, device 400 according to an embodiment of the present invention can correspond to the executing subject in embodiment of the present invention method, and above and other operation and/or function of the modules in device 400 is respectively in order to realize the corresponding process of each method of the Fig. 1 into Fig. 3, for sake of simplicity, details are not described herein.
Therefore, the device of the transmission data of the embodiment of the present invention, according to the intensity of load of the current substream of communication connection, determine the subflow for sending data packet, the subflow is the current substream communicated to connect or newly created subflow, in the subflow transmitting data packet, can be realized the subflow number in dynamically adjustment communication link, and the intensity of load between balanced each subflow, the utilization rate and efficiency of transmission of network can be improved.
As shown in figure 5, being currently included n subflow in the communication connection of network system belonging to the device 500 the embodiment of the invention also provides a kind of device 500 for transmitting data.The device 500 includes: processor 501, memory 502, bus system 503 and transceiver 504.Wherein, processor 501, memory 502 and transceiver 504 are connected by bus system 503, and for storing instruction, which is used to execute the instruction of the memory 502 storage to the memory 502, send or receive signal to control transceiver 504;Wherein,
Processor 501 is used for: according to the intensity of load of the n subflow current in the communication connection, determining the (n+1)th subflow of creation, wherein n is positive integer;
Transceiver 504 is used for: the first data packet to be sent is sent in (n+1)th subflow.
Therefore, the device of the transmission data of the embodiment of the present invention, according to the intensity of load of the current substream of communication connection, it determines and creates new subflow, data packet is sent in newly created subflow, the subflow number in communication connection, and the intensity of load between balanced each subflow can be dynamically adjusted, the utilization rate and efficiency of transmission of network are improved.
It should be understood that, in embodiments of the present invention, the processor 501 can be central processing unit (Central Processing Unit, referred to as " CPU "), which can also be other general processors, digital signal processor (DSP), specific integrated circuit (ASIC), ready-made programmable gate array (FPGA) Either other programmable logic device, discrete gate or transistor logic, discrete hardware components etc..General processor can be microprocessor or the processor is also possible to any conventional processor etc..
The memory 502 may include read-only memory and random access memory, and provide instruction and data to processor 501.The a part of of memory 502 can also include nonvolatile RAM.For example, memory 502 can be with the information of storage device type.
The bus system 503 can also include power bus, control bus and status signal bus in addition etc. in addition to including data/address bus.But for the sake of clear explanation, various buses are all designated as bus system 503 in figure.
During realization, each step of the above method can be completed by the integrated logic circuit of the hardware in processor 501 or the instruction of software form.The step of method in conjunction with disclosed in the embodiment of the present invention, can be embodied directly in hardware processor and execute completion, or in processor hardware and software module combination execute completion.Software module can be located at random access memory, flash memory, read-only memory, in the storage medium of this fields such as programmable read only memory or electrically erasable programmable memory, register maturation.The step of storage medium is located at memory 502, and processor 501 reads the information in memory 502, completes the above method in conjunction with its hardware.To avoid repeating, it is not detailed herein.
Optionally, as one embodiment, processor 501 determines the (n+1)th subflow of creation according to the intensity of load of n subflow current in communication connection, comprising:
After obtaining first data packet, according to the intensity of load of n subflow current in the communication connection, the (n+1)th subflow of creation is determined.
Optionally, as one embodiment, processor 501 determines the (n+1)th subflow of creation according to the intensity of load of n subflow current in communication connection, comprising:
According to the preset period 1, the intensity of load of n subflow current in the communication connection is detected, according to the intensity of load of the n subflow, determines the (n+1)th subflow of creation.
Optionally, as one embodiment, which is the subflow based on transmission control protocol TCP, and processor 501 determines the (n+1)th subflow of creation according to the intensity of load of the n subflow, comprising:
It determines that there is no intensity of loads to be less than preset first threshold in the n subflow, and there is the available subflow for sending window;
It determines and creates (n+1)th subflow.
Optionally, as one embodiment, before determining creation (n+1)th subflow, processor 501 is also used to:
Determine that the current substream number n in the communication connection is less than preset maximum subflow number m, wherein m For positive integer.
Optionally, as one embodiment, processor 501 is also used to: determining that there are intensity of loads to be less than the first threshold in the current substream of the communication connection, and has the available subflow for sending window;
Transceiver 504 is also used to: the second data packet to be sent is sent in the determining subflow.
Optionally, as one embodiment, processor 501 is also used to: when the first data packet end of transmission, updating the intensity of load of (n+1)th subflow.
Optionally, as one embodiment, processor 501 is also used to:
According to preset second round, determine in the current substream of the communication connection with the presence or absence of the subflow for needing to destroy;
When in the presence of the subflow for needing to destroy, the subflow of needs destruction is destroyed.
Optionally, as one embodiment, processor 501 is determined in the current substream of communication connection according to preset second round with the presence or absence of the subflow for needing to destroy, comprising:
According to the second round, the quantity p of the current substream of communication connection is determined, wherein p is positive integer;
When p is greater than or equal to 2, the intensity of load of each subflow in p subflow is determined;
Q subflow for meeting preset condition is determined as to the subflow for needing to destroy, wherein q is the integer less than p, which includes that the intensity of load of subflow is less than preset second threshold.
Optionally, as one embodiment, processor 501 is determined in the current substream of communication connection according to preset second round with the presence or absence of the subflow for needing to destroy, comprising:
According to the second round, the quantity p of the current substream of the communication connection is determined, wherein p is positive integer;
When p is greater than or equal to 2, the intensity of load of each subflow in p subflow is determined;
The smallest subflow of intensity of load in the p subflow is determined as to the subflow for needing to destroy.
Optionally, as one embodiment, processor 501 is also used to:
When the communication connection is established, s subflow is created, wherein s is the positive integer more than or equal to 1, and s is less than maximum subflow number m.
Optionally, as one embodiment, intensity of load is normalization throughput, which is subflow within the unit time, the data volume transmitted on identity network interface bandwidth.
It should be understood that, the device 500 of transmission data according to an embodiment of the present invention can correspond to the device 400 in the embodiment of the present invention, and it can correspond to execute the corresponding main body according to the method for the embodiment of the present invention, and above and other operation and/or function of the modules in device 500 is respectively in order to realize Fig. 1 The corresponding process of each method into Fig. 3, for sake of simplicity, details are not described herein.
Therefore, the device of the transmission data of the embodiment of the present invention, according to the intensity of load of the current substream of communication connection, determine the subflow for sending data packet, the subflow is the current substream communicated to connect or newly created subflow, in the subflow transmitting data packet, can be realized the subflow number in dynamically adjustment communication link, and the intensity of load between balanced each subflow, the utilization rate and efficiency of transmission of network can be improved.
The embodiment of the present invention also provides a kind of network system, device 400 or device 500 including transmitting data described in the embodiment of the present invention.Specifically, the switching equipment in network system can be the device 400 or device 500 of the transmission data of the embodiment of the present invention.
It should be understood that in embodiments of the present invention, " B corresponding with A " indicates that B is associated with A, B can be determined according to A.It is also to be understood that determining that B is not meant to determine B only according to A according to A, B can also be determined according to A and/or other information.
Those of ordinary skill in the art may be aware that unit described in conjunction with the examples disclosed in the embodiments of the present disclosure and algorithm steps, can be realized with the combination of electronic hardware or computer software and electronic hardware.These functions are implemented in hardware or software actually, the specific application and design constraint depending on technical solution.Professional technician can use different methods to achieve the described function each specific application, but such implementation should not be considered as beyond the scope of the present invention.
It is apparent to those skilled in the art that for convenience and simplicity of description, system, the specific work process of device and unit of foregoing description can refer to corresponding processes in the foregoing method embodiment, details are not described herein.
In several embodiments provided herein, it should be understood that disclosed systems, devices and methods may be implemented in other ways.Such as, the apparatus embodiments described above are merely exemplary, such as, the division of the unit, only a kind of logical function partition, there may be another division manner in actual implementation, such as multiple units or components can be combined or can be integrated into another system, or some features can be ignored or not executed.Another point, shown or discussed mutual coupling, direct-coupling or communication connection can be through some interfaces, the indirect coupling or communication connection of device or unit, can be electrical property, mechanical or other forms.
The unit as illustrated by the separation member may or may not be physically separated, and component shown as a unit may or may not be physical unit, it can and it is in one place, or may be distributed over multiple network units.It can some or all of the units may be selected to achieve the purpose of the solution of this embodiment according to the actual needs.
In addition, each functional unit in each embodiment of the present invention can integrate in a processing unit In, it is also possible to each unit and physically exists alone, can also be integrated in one unit with two or more units.
If the function is realized in the form of SFU software functional unit and when sold or used as an independent product, can store in a computer readable storage medium.Based on this understanding, substantially the part of the part that contributes to existing technology or the technical solution can be embodied in the form of software products technical solution of the present invention in other words, the computer software product is stored in a storage medium, it uses including some instructions so that a computer equipment (can be personal computer, server or the network equipment etc.) it performs all or part of the steps of the method described in the various embodiments of the present invention.And storage medium above-mentioned includes: USB flash disk, mobile hard disk, read-only memory (Read-Only Memory, ROM), the various media that can store program code such as random access memory (Random Access Memory, RAM), magnetic or disk.
It is described above; only a specific embodiment of the invention, but scope of protection of the present invention is not limited thereto, and anyone skilled in the art is in the technical scope disclosed by the present invention; it can easily think of the change or the replacement, should be covered by the protection scope of the present invention.Therefore, protection scope of the present invention should be subject to the protection scope in claims.

Claims (25)

  1. A method of transmission data, which is characterized in that n subflow is currently included in the communication connection using the network system of the method, which comprises
    According to the intensity of load of the n subflow current in the communication connection, the (n+1)th subflow of creation is determined, wherein n is positive integer;
    The first data packet to be sent is sent in (n+1)th subflow.
  2. The method according to claim 1, wherein the intensity of load according to n subflow current in communication connection, determines the (n+1)th subflow of creation, comprising:
    After obtaining first data packet, according to the intensity of load of n subflow current in the communication connection, the (n+1)th subflow of creation is determined.
  3. The method according to claim 1, wherein the intensity of load according to n subflow current in communication connection, determines the (n+1)th subflow of creation, comprising:
    According to the preset period 1, the intensity of load of n subflow current in the communication connection is detected, according to the intensity of load of the n subflow, determines the (n+1)th subflow of creation.
  4. According to the method in any one of claims 1 to 3, which is characterized in that the subflow is the subflow based on transmission control protocol TCP, and the intensity of load according to the n subflow determines the (n+1)th subflow of creation, comprising:
    It determines that there is no intensity of loads to be less than preset first threshold in the n subflow, and there is the available subflow for sending window;
    It determines and creates (n+1)th subflow.
  5. According to the method described in claim 4, it is characterized in that, before the (n+1)th subflow of the determining creation, the method also includes:
    Determine that the current substream number n in the communication connection is less than preset maximum subflow number m, wherein m is positive integer.
  6. Method according to claim 4 or 5, which is characterized in that the method also includes:
    It determines that there are intensity of loads to be less than the first threshold in the current substream of the communication connection, and there is the available subflow for sending window;
    The second data packet to be sent is sent in the determining subflow.
  7. Method according to any one of claim 1 to 6, which is characterized in that the method also includes:
    When the first data packet end of transmission, the intensity of load of (n+1)th subflow is updated.
  8. Method according to any one of claim 1 to 7, which is characterized in that the method also includes:
    According to preset second round, determine in the current substream of the communication connection with the presence or absence of the subflow for needing to destroy;
    When in the presence of the subflow for needing to destroy, the subflow for needing to destroy is destroyed.
  9. According to the method described in claim 8, determining whether there is the subflow that needs are destroyed it is characterized in that, described according to preset second round in the current substream of communication connection, comprising:
    According to the second round, the quantity p of the current substream of communication connection is determined, wherein p is positive integer;
    When p is greater than or equal to 2, the intensity of load of each subflow in p subflow is determined;
    Q subflow for meeting preset condition is determined as to the subflow for needing to destroy, wherein q is the integer less than p, and the preset condition includes that the intensity of load of subflow is less than preset second threshold.
  10. According to the method described in claim 8, determining whether there is the subflow that needs are destroyed it is characterized in that, described according to preset second round in the current substream of communication connection, comprising:
    According to the second round, the quantity p of the current substream of the communication connection is determined, wherein p is positive integer;
    When p is greater than or equal to 2, the intensity of load of each subflow in p subflow is determined;
    The smallest subflow of intensity of load in the p subflow is determined as to the subflow for needing to destroy.
  11. The method according to any one of claim 5 to 10, which is characterized in that the method also includes:
    When the communication connection is established, s subflow is created, wherein s is the positive integer more than or equal to 1, and s is less than the maximum subflow number m.
  12. Method according to any one of claim 1 to 11, which is characterized in that the intensity of load is normalization throughput, and the normalization throughput is subflow within the unit time, the data volume transmitted on identity network interface bandwidth.
  13. A kind of device transmitting data, which is characterized in that n subflow is currently included in the communication connection of network system belonging to described device, described device includes:
    First determination unit determines the (n+1)th subflow of creation, wherein n is positive integer for the intensity of load according to the n subflow current in the communication connection;
    First transmission unit sends the first data packet to be sent in determining (n+1)th subflow in first determination unit.
  14. Device according to claim 13, which is characterized in that first determination unit is specifically used for:
    After obtaining first data packet, according to the intensity of load of n subflow current in the communication connection, the (n+1)th subflow of creation is determined.
  15. Device according to claim 13, which is characterized in that first determination unit is specifically used for:
    According to the preset period 1, the intensity of load of n subflow current in the communication connection is detected, according to the intensity of load of the n subflow, determines the (n+1)th subflow of creation.
  16. Device described in any one of 3 to 15 according to claim 1, which is characterized in that the subflow is the subflow based on transmission control protocol TCP, and first determination unit is specifically used for:
    It determines that there is no intensity of loads to be less than preset first threshold in the n subflow, and there is the available subflow for sending window;
    It determines and creates (n+1)th subflow.
  17. Device according to claim 16, which is characterized in that before determining creation (n+1)th subflow, first determination unit is also used to:
    Determine that the current substream number n in the communication connection is less than preset maximum subflow number m, wherein m is positive integer.
  18. Device according to claim 16 or 17, which is characterized in that described device further include:
    Second determination unit, there are intensity of loads to be less than the first threshold in the current substream for determining the communication connection, and has the available subflow for sending window;
    Second transmission unit, for sending the second data packet to be sent in the subflow that second determination unit determines.
  19. Device described in any one of 3 to 18 according to claim 1, which is characterized in that described device further include:
    Updating unit, for updating the intensity of load of (n+1)th subflow when the first data packet end of transmission.
  20. Device described in any one of 3 to 19 according to claim 1, which is characterized in that described device further include:
    Third determination unit, for according to preset second round, determining in the current substream of the communication connection with the presence or absence of the subflow for needing to destroy;
    Unit is destroyed, for when in the presence of the subflow for needing to destroy, destroying the subflow for needing to destroy.
  21. Device according to claim 20, which is characterized in that the third determination unit is specifically used for:
    According to the second round, the quantity p of the current substream of communication connection is determined, wherein p is positive integer;
    When p is greater than or equal to 2, the intensity of load of each subflow in p subflow is determined;
    Q subflow for meeting preset condition is determined as to the subflow for needing to destroy, wherein q is the integer less than p, and the preset condition includes that the intensity of load of subflow is less than preset second threshold.
  22. Device according to claim 20, which is characterized in that the third determination unit is specifically used for:
    According to the second round, the quantity p of the current substream of communication connection is determined, wherein p is positive integer;
    When p is greater than or equal to 2, the intensity of load of each subflow in p subflow is determined;
    The smallest subflow of intensity of load in the p subflow is determined as to the subflow for needing to destroy.
  23. Device described in any one of 7 to 22 according to claim 1, which is characterized in that described device further include:
    Creating unit, for creating s subflow when the communication connection is established, wherein s is the positive integer more than or equal to 1, and s is less than the maximum subflow number m.
  24. Device described in any one of 3 to 23 according to claim 1, which is characterized in that the intensity of load is normalization throughput, and the normalization throughput is subflow within the unit time, the data volume transmitted on identity network interface bandwidth.
  25. A kind of network system, which is characterized in that the device including transmission data described in any one of claim 13 to 24.
CN201580001192.0A 2015-05-05 2015-05-05 Method and device for transmitting data Active CN107078999B (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2015/078252 WO2016176818A1 (en) 2015-05-05 2015-05-05 Method and device for transmitting data

Publications (2)

Publication Number Publication Date
CN107078999A true CN107078999A (en) 2017-08-18
CN107078999B CN107078999B (en) 2020-01-03

Family

ID=57217432

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201580001192.0A Active CN107078999B (en) 2015-05-05 2015-05-05 Method and device for transmitting data

Country Status (2)

Country Link
CN (1) CN107078999B (en)
WO (1) WO2016176818A1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114443281B (en) * 2021-12-28 2023-09-15 苏州浪潮智能科技有限公司 Network card load adjustment method, device, equipment and readable storage medium

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103503357A (en) * 2011-03-04 2014-01-08 黑莓有限公司 Controlling network device behavior
WO2014044333A1 (en) * 2012-09-24 2014-03-27 Telefonaktiebolaget L M Ericsson (Publ) Traffic shaping and steering for a multipath transmission control protocol connection
CN103905463A (en) * 2014-04-21 2014-07-02 北京邮电大学 Connecting management and control method suitable for multi-path transmitting
US20140351447A1 (en) * 2013-05-21 2014-11-27 Citrix Systems, Inc. Systems and methods for multipath transmission control protocol connection management
CN104243443A (en) * 2013-06-06 2014-12-24 苹果公司 Establishment and Control system of Multipath TCP Subflow, and method

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101925125B (en) * 2010-04-23 2013-01-30 清华大学 Method of multipath TCP having mobility and combined with mobile IP (internet protocol)

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103503357A (en) * 2011-03-04 2014-01-08 黑莓有限公司 Controlling network device behavior
WO2014044333A1 (en) * 2012-09-24 2014-03-27 Telefonaktiebolaget L M Ericsson (Publ) Traffic shaping and steering for a multipath transmission control protocol connection
US20140351447A1 (en) * 2013-05-21 2014-11-27 Citrix Systems, Inc. Systems and methods for multipath transmission control protocol connection management
CN104243443A (en) * 2013-06-06 2014-12-24 苹果公司 Establishment and Control system of Multipath TCP Subflow, and method
CN103905463A (en) * 2014-04-21 2014-07-02 北京邮电大学 Connecting management and control method suitable for multi-path transmitting

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
徐明伟,张志超: "《MPTCP联合拥塞控制机制的Markov模型》", 《清华大学学报》 *

Also Published As

Publication number Publication date
WO2016176818A1 (en) 2016-11-10
CN107078999B (en) 2020-01-03

Similar Documents

Publication Publication Date Title
US10772081B2 (en) Airtime-based packet scheduling for wireless networks
US11102129B2 (en) Adjusting rate of outgoing data requests for avoiding incast congestion
US20200169513A1 (en) Fabric control protocol for data center networks with packet spraying over multiple alternate data paths
US10680964B1 (en) Rate limiting in a multi-chassis environment by exchanging information between peer network elements
US20210320820A1 (en) Fabric control protocol for large-scale multi-stage data center networks
US9571402B2 (en) Congestion control and QoS in NoC by regulating the injection traffic
Hong et al. Finishing flows quickly with preemptive scheduling
CN108540380B (en) Multi-sub-stream network transmission method and device
US20120311127A1 (en) Flyway Generation in Data Centers
KR20140100529A (en) Providing path information in mixed communication networks
WO2014021839A1 (en) Bandwidth guarantee and work conservation
US10536385B2 (en) Output rates for virtual output queses
US20220311711A1 (en) Congestion control based on network telemetry
CN109104742A (en) Congestion window method of adjustment and sending device
Wang et al. Predictable vFabric on informative data plane
Hu et al. RPO: Receiver-driven transport protocol using opportunistic transmission in data center
Wang et al. Load balancing for heterogeneous traffic in datacenter networks
WO2018157819A1 (en) Method and apparatus for multiple sub-current network transmission
Sharma et al. An adaptive, fault tolerant, flow-level routing scheme for data center networks
CN107078999A (en) The method and apparatus for transmitting data
Lau et al. Optimizing the performance of OpenFlow Protocol over QUIC
US11909841B2 (en) System, apparatus and method for adaptive peer-to-peer communication with edge platform
WO2022246710A1 (en) Method for controlling data stream transmission and communication device
US20240195728A1 (en) Remote direct memory access (rdma) multipath
US20240187336A1 (en) Routing transport flows in a transport layer over multiple paths in a network layer

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant