CN109983737A - For assessing the method and system of the network performance of the connection of polymerization - Google Patents

For assessing the method and system of the network performance of the connection of polymerization Download PDF

Info

Publication number
CN109983737A
CN109983737A CN201780061963.4A CN201780061963A CN109983737A CN 109983737 A CN109983737 A CN 109983737A CN 201780061963 A CN201780061963 A CN 201780061963A CN 109983737 A CN109983737 A CN 109983737A
Authority
CN
China
Prior art keywords
connection
packet
data
data packet
assessment
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
CN201780061963.4A
Other languages
Chinese (zh)
Other versions
CN109983737B (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.)
Pismo Labs Technology Ltd
Original Assignee
Pismo Labs Technology 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
Priority claimed from US15/462,951 external-priority patent/US9876723B2/en
Application filed by Pismo Labs Technology Ltd filed Critical Pismo Labs Technology Ltd
Publication of CN109983737A publication Critical patent/CN109983737A/en
Application granted granted Critical
Publication of CN109983737B publication Critical patent/CN109983737B/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
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/50Testing arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/12Shortest path evaluation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/12Avoiding congestion; Recovering from congestion
    • H04L47/125Avoiding congestion; Recovering from congestion by balancing the load, e.g. traffic engineering
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0852Delays
    • H04L43/0858One way delays
    • 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
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/18End to end
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/24Traffic characterised by specific attributes, e.g. priority or QoS
    • H04L47/2416Real-time traffic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/24Traffic characterised by specific attributes, e.g. priority or QoS
    • H04L47/2441Traffic characterised by specific attributes, e.g. priority or QoS relying on flow classification, e.g. using integrated services [IntServ]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W24/00Supervisory, monitoring or testing arrangements
    • H04W24/08Testing, supervising or monitoring using real traffic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4633Interconnection of networks using encapsulation techniques, e.g. tunneling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters

Landscapes

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

Abstract

For the method and system by selected connection transmission data packet, wherein the first data packet of data session meets matching condition.The matching condition is received by user interface.When receiving the data packet of the data session, then the data packet will be transmitted by selected connection.The selected connection is selected from connection based on connection selection criteria.Other differentiated services code points (DSCP) of the first data packet are changed when being sent by computing device.After network node receives first data packet, DSCP value is then reset, retransmits first data packet later.

Description

For assessing the method and system of the network performance of the connection of polymerization
Technical field
Present invention relates in general to the fields of computer network.More particularly, the present invention relate to by via multiple The method and system of the performance of the multiple connection is wrapped and is periodically determined in connection transmission assessment.It is based at least partially on described The one or more connections of performance selection are to be used for transmission data packet.Pass through at least one of one or more of connections connection Transmit data packet.
Background technique
More wide area network (WAN) communication devices are able to use one or more transmission data packets in its wan interface.Communication dress Set the bandwidth for also supporting to polymerize multiple wan interfaces.Communication device also supports end to end connection, such as Virtual Private Network (VPN) is even It connects and dialogue-based site-to-site (VPN) connection and tunnelling.In some embodiments, each road TCP/IP session Jin Bei By to a WAN.In this configuration, single TCP file delivery session may be merely with the band of a WAN connection on each end It is wide.For example, VPN flow is routed to two websites in dialogue-based site-to-site Virtual Private Network (VPN) connection Multiple WAN connections between (for example, website A and B).
In one embodiment, M × N number of tunnel is initially formed between WAN connection, wherein M and N is website respectively The quantity that A is connected with the WAN network of website B.Then application program TCP/IP session is routed via different tunnels.However, answering Although note that dialogue-based site-to-site vpn can for different sessions utilize different tunnels, this type Single download session in connection can only utilize a tunnel.
When communication device transfers data packet, communication device need to select most suitable WAN network interface, access connection, Logical connection or end to end connection transmit data packet.However, to spend the time to identify WAN network interface, access connection, patrol It is most suitable for collecting which of connection or end to end connection.To transmit most suitable WAN network interface, the access of data packet Connection, logical connection or end to end connection should can quickly transmit data packet or according to one of one group of performance standard.This Outside, when communication device establishes the multiple end to end connection for the end to end connection for belonging to polymerization, it is important that selection has best The end to end connection of performance transmits data packet, so that the overall performance of the end to end connection of polymerization is satisfactory, and not by logical The end to end connection transmission data packet established with poorer performance is crossed to negatively affect.
It is well known, however, that the performance of end to end connection may change every now and then.Therefore, it is necessary to periodically again true The performance of end to end connection is determined to verify and to there is optimum performance in which (which) end to end connection of given time.It is also important It is the performance for redefining established end to end connection using the data packet containing identical information, allows to be based on to be established The performance of end to end connection fair comparison is carried out between the end to end connection established.
Summary of the invention
The present invention discloses a kind of performance for determining multiple connections executed by first communication device and substantial base In the method that performance selects at least one the first connection from the multiple connection.Then pass through at least one described first connection Transmit data packet.The multiple connection can be polymerize to form the connection of polymerization.It is assessed by being transmitted via the multiple connection Packet is to execute determining performance.Assessment packet is based on the connection transmission for still not yet passing polymerization received by first communication device Data packet.Data packet can specify the host or node that the connection for that can pass through polymerization reaches.Alternatively, when there is no will lead to When crossing the data packet of connection transmission of polymerization, assessment packet can be based on Predefined information.Determining performance can be periodically carried out. Load balancing can be used when existing more than one first connection to transmit data packet.
According to one embodiment of present invention, each connection at least one first connection is assigned at least two groups. At least one set in at least two groups be preferred for transmit the first kind data packet, and in at least two groups it is another extremely The few one group data packet for being preferred for transmitting Second Type.
According to one embodiment of present invention, assessment packet has identical or substantially the same size.Assessment packet can be with With identical or substantially the same information.
According to one embodiment of present invention, performance is based essentially on time delay.At least one first connection is based further on The correspondence delay requirement of data packet.The correspondence delay requirement of data packet can be determined according to the content of data packet.In a modification In, when the time delay for determining a connection is greater than about 1000 milliseconds, described be connected at least one first connection is not selected One.When the time delay of the second connection is more than about 800 milliseconds, the second connection is not used in containing near real-time video data or closely real When Speech Communication data packet.When the time delay of third connection is more than about 500 milliseconds, it is logical that third connection is not used near real-time speech Letter.Second connection is connected with third to be included at least one first connection.
The present invention further discloses a kind of for transmitting the side of data packet by the connection of polymerization at first communication device Method, the method determination first include the time delay of multiple connections in the connection of polymerization.Determine the when Yanzhong of multiple connections Difference, and whether the difference of Yanzhong is higher than time-delay deviation threshold value when determining.If at least one first company with highest time delay Connect when Yanzhong difference be higher than time-delay deviation threshold value, then without using at least one described first connection transmission data packet.Substitution Ground uses at least one second connection transmission data packet with opposite low time delay.Multiple connections first are connected by least one And/or at least one second connection composition.In a variant, at least one is established using 3rd generation mobile communication technology (3G) First connection, and at least one second connection is established using fourth generation mobile communication technology (4G) or wired ethernet.One In a modification, when the connection of polymerization only includes at least one first connection established using 3G, using it is described at least one the One connection transmission data packet.
Detailed description of the invention
Figure 1A shows network environment according to various embodiments of the present invention.
Figure 1B shows network environment according to an embodiment of the invention.
Fig. 1 C shows network environment according to an embodiment of the invention.
Fig. 2 is the schematic block diagram of communication device according to an embodiment of the invention.
Fig. 3 A shows timing diagram according to an embodiment of the invention.
Fig. 3 B shows timing diagram according to an embodiment of the invention.
Fig. 4 shows the timing that only one of them connection according to an embodiment of the invention is used for transmission data packet Figure.
Fig. 5 shows the timing according to an embodiment of the invention for wherein connecting more than one and being used for transmission data packet Figure.
Fig. 6 shows the timing diagram for indicating the transmission of assessment packet according to an embodiment of the invention and data packet.
Fig. 7 shows the timing diagram for indicating the transmission of assessment packet according to an embodiment of the invention and data packet.
Fig. 8 A is the flow chart for showing process according to an embodiment of the invention.
Fig. 8 B is the flow chart for showing process according to an embodiment of the invention.
Fig. 9 is the flow chart for showing process according to an embodiment of the invention.
Figure 10 is the flow chart for showing process according to an embodiment of the invention.
The figure that Figure 11 shows the user for communication device or administrator according to an embodiment of the invention is used Family interface (GUI).
Figure 12 shows the GUI according to an embodiment of the invention for user's selection parameter.
Figure 13 shows the timing diagram for indicating the transmission of data packet according to an embodiment of the invention.
Figure 14 is the flow chart for showing process according to an embodiment of the invention.
Specific embodiment
Figure 1A shows system 101, shows network environment according to an embodiment of the invention.System 101 includes more A website 102 and 104, the website respectively include at least one communication device 106 and 108.Communication device 106 and 108 via Network 110 connects.Network 110 may include local area network (LAN), Metropolitan Area Network (MAN) (MAN), wide area network (WAN), wireless network, public Switched telephone (PSTN), internet, intranet, extranet etc..
Website 102 and communication device 106 may include M connection 112, and website 104 and communication device 108 may include N A connection 114.Connection 112 and 114 is the access connection for the communication information in the network 110 between website 102 and 104. In an illustrated embodiment, M is equal to 3 and N and is equal to 2;However, these values can change according to required device and configuration.Connection 112 can have similar or different bandwidth ability with 114.In addition, connection 112 and 114 may include different types of WAN Connection, such as the connection of WiFi, cable, DSL, TI, 3G, 4G, LTE, satellite etc..It shall yet further be noted that website 102 and website 104 can be with Be considered as both transmitter or receiver, and about functional discussion of either site can on another website it is real It applies.In other words, system 100 may be embodied as symmetrical network.
Figure 1B shows network environment according to an embodiment of the invention.Logical connection 103A, 103B and 103C will Communication device 106 is connected to communication device 108.In a variant, logical connection 103A, 103B and 103C is end-to-end company It connects, forms the end to end connection of polymerization through binding.In a variant, logical connection 103A, 103B and 103C is assigned to In different connection groups, and it is based at least partially on and connects be assigned to group and data are transmitted by connection.
According to one embodiment, communication device 106 and 108 has multiple network interfaces.Communication device 106 is multiple via its One or more of network interface and one or more network interfaces of communication device 108 establish logical connection 103A, 103B And 103C.
Communication device 106 and 108 can serve as gateway, router, exchanger, access point, hub, bridge etc..
Fig. 1 C shows the system 100 adjusted according to embodiment, is configured to by adjusting during data session Tunnel bandwidth weighting pattern come optimize binding multiple bandwidth varyings connection handling capacity.System 100 is similar to system 101, removes M Except × N number of virtual channel 116.When for example by implement binding site-to-site vpn be connected between website 102 and 104 When establishing the connection of binding, M × N number of virtual channel 116 can be created.Virtual channel 116 corresponds to the network connection of website 102 With the unique arrangement of the network connection of website 104.The end to end connection polymerizeing is formed between communication device 106 and 108.Connection 112 and 114 are embodied as logical connection.
Fig. 2 is the schematic block diagram of communication device according to an embodiment of the invention (for example, communication device 106). Communication device 106 includes processing unit 201, main memory 202, system bus 203, auxilary unit 204 and multiple nets Network interface 205.Processing unit 201 and main memory 202 are connected to each other directly.System bus 203 by processing unit 201 directly or It is connected indirectly to auxilary unit 204 and multiple network interfaces 205.Communication device 106 is allowed to have using system bus 203 The modularity of raising.Processing unit 201 is coupled to auxilary unit 204 and multiple network interfaces 205 by system bus 203. System bus 203 can be the local comprising any of memory bus, peripheral bus and the various bus architectures of use Any of several types of bus structures of bus.What the storage of auxilary unit 204 was executed for through the processing unit 201 Program instruction.Whether completely the further storage condition of auxilary unit 204 depends on connection wherein connection is assigned in different groups The foot condition.Auxilary unit 204 also stores the data packet of performance of the transmission respectively for determining connection and belongs to number According to the time predefined period of the data packet of session.
One or more network interfaces 205 are connected to corresponding access connection.Communication device 106 is connect using one or more Enter connection to be connected to one or more common networks and/or dedicated network as shown in Figure 1A.It in a variant, can be with It is connected using access and establishes one or more connections with connection communication device 106 and another network node (such as communication device 108) or network host, as shown in Figures 1 B and 1 C.
Fig. 3 A shows expression according to one embodiment by the company at communication device (for example, communication device 106) Connect the timing diagram of transmission assessment packet and data packet.In order to better understand, in conjunction with Fig. 3 A from the point of view of Fig. 2.Timing diagram 301,302 and 303 respectively indicate the transmission by the first, second, and third connection.Horizontal axis indicates the time.Communication device 106 passes through multiple At least one of network interface 205 is connected to the first, second, and third connection.Time instance is expressed as t-0, t-1, t-6, t- 7, t-2, t-3, t-4 and t-5.
For purposes of illustration, pass through the first, second, and third connection transmission respectively in t-0 or substantially the same time to comment Packet 311a, 311b and 311c is estimated to determine the performance of the first, second, and third connection.At about t-1, communication device 106 is Passed through the first connection and the second connection transmission assessment packet 311a and 311b respectively, and is had been received from communication device 108 confirmation.However, communication device 106 not yet completes the transmission of assessment packet 311c.In time quantum needed for transmission assessment packet Difference can be attributed to many reasons, the network performance comprising connection.In addition, at about t-1, processing unit 201 its Have determined that the first connection has optimum network performance after transmission assessment packet 311a completely.Those skilled in the art crowd institute Known, there are various ways to determine network performance to wrap based on assessment.For the sake of clarity, the present invention is not limited to make processing single Member 201 carries out network performance decision at the about same time after complete transmission assessment packet 311a.It can be based on assessment packet The reception of transmission and confirmation determines performance.The data packet that receives from communication device 108 can be based further on to determine Performance.
Once processing unit 201 has determined that the first connection has optimum performance, just the first connection of selection of processing unit 201 To transmit data packet 312.Data packet 312 contains the data for being expressed as data -2.Data -2 may belong to data flow, multiple Data flow or the data for being not belonging to stream.The length of data -2 can change.Data packet 312 can have different size and can be with Including one or more data packets.For example, data packet 312 can be Internet Protocol (IP) packet.
In another example, at about t-2, processing unit 201 restarts again to determine first, second, and third The process of the performance of connection.At about t-3, processing unit 201 has determined that the second connection has optimum performance and therefore selects The second connection is selected to transmit data packet 314.
In a variant, transmission assessment wraps 311,313 and 315 to select the network interface for being used for transmission data packet. For example, multiple network interfaces 206 include the first, second, and third network interface.It is passed by the first, second, and third network interface Defeated assessment packet is for determining which network interface is associated with having the connection of optimum performance.For purposes of illustration, when true Determine first network interface with have the connection of optimum performance it is associated when, passed by connect with first network interface associated Transmission of data packet.Connection can be access connection or logical connection.
It according to one embodiment of present invention, include identical or substantially the same in the assessment of about same time transmission Information.For example, assessment packet 311a, 311b and 311c contain identical or substantially the same information data -1.Similarly, assessment packet 313a, 313b and 313c contain identical or substantially the same information data -3.Similarly, assessment packet 315a, 315b and 315c Contain identical or substantially the same information data -5.All assessment wraps 311,313 and 315 so as to the property of determining connection for transmission Energy.
When using identical or substantially the same information, processing unit 201 does not need to generate the difference for assessing packet Information.This can reduce required amount of computational resources.Furthermore it is possible to more accurately compare the performance of connection, because assessment packet Length is identical or substantially the same with content.
In a variant, identical or substantially the same information belongs to identical data session.For purposes of illustration, it wraps The data -1 in 311a, 311b and 311c are wrapped contained in assessment, the data -2 being contained in data packet 312, are contained in assessment packet Data -3 in 313a, 313b and 313c, the data -4 being contained in data packet 314 and it is contained in assessment packet 315a, 315b Belong to identical data session with the data -5 in 315c.Therefore, assessment packet is the data packet for belonging to data session.Using belonging to number Wrapping according to the assessment of session with the benefit for determining performance is that will not significantly destroy, interrupt or suspend data when transmission assessment is wrapped to spread It is defeated.This is important, because performance periodically and continually can be assessed or be determined, and not only starts the news commentary in data session Estimate or determines.When there are current data session and when there is the data packet that will be transmitted, it is preferred to use data packet is as commenting Estimate packet, the i.e. performance of the transmission assessment connection based on data packet.
In another example, video flowing is transferred to communication device 108 by communication device 106 using TCP.Assessment packet The data -1 of 311a, 311b and 311c encapsulate the data of the first frame of video.The data -2 of data packet 312 encapsulate the second of video The data of frame.Data -3 in assessment packet 313a, 313b and 313c are the third frames of video.The data -4 of data packet 314 encapsulate The data of 4th frame of video.The data -5 of assessment packet 315a, 315b and 315c encapsulate the data of the 5th frame of video.When passing through Assessment is wrapped when determining performance, still data of transmitting video-frequency flow.In addition, video is still in unbroken situation from communication device 106 are transferred to communication device 108, even if when selecting different connections from t-0 to t-5, that is, when in the first connection of about t-1 selection And in about t-3 the second connection of selection.
Using the assessment packet for belonging to data session another benefit is that determining performance using real time data.This makes performance It determines more acurrate and appropriate.
In a variant, assessment packet 311,313 and 315 contains predefined information.Although making during data session Determine that performance may interrupt data streaming session with the assessment packet containing Predefined information, but identified performance can be used to It is compared with identified historical performance.When there is no current data session or the data not transmitted of current data session When, the assessment packet containing predefined data is more suitable for for determining performance.For example, in figure 3 a, assessment packet 311,313 and 315 Contain Predefined information.Assessment packet 311a, 311b and 311c in Predefined information should be it is identical, so as to first, second The accurate performance of progress is connected with third to compare.Similarly, the Predefined information in assessment packet 313a, 313b and 313c should be phase With, and the Predefined information assessed in packet 315a, 315b and 315c also should be identical.Therefore, it is arrived in time cycle t-0 In t-1, t-2 to t-3 and t-4 to t-5, for transmission assessment packet, data session is interrupted, interrupts or suspends.Become at one In type, the Predefined information in assessment packet 311,313 and 315 is identical.For purposes of illustration, when assessment includes predetermined When adopted information, the interval of transmission assessment packet can be in the range of 5 seconds to 15 minutes.Preferably, time cycle t-0 to t-2 can In the range of 5 seconds to 15 minutes.
According to one embodiment of present invention, data packet can be considered as assessment packet, so that data packet can also be used to really Surely the performance connected.For example, processing unit 201 is based on the data -2 being contained in data packet 312 and is contained at about t-3 Assessment wraps the Successful transmissions of the data -3 in 313a and determines the first performance connected.Processing unit 201, which uses, to be based on only distinguishing The Successful transmissions of the data -3 being contained in assessment packet 313b and 313c determine performance that the second connection is connected with third, because There is no data packet to connect transmission with third by second.
According to one embodiment of present invention, the size of each assessment packet of user or administrator configurations can be passed through.One In a little situations, some operators can give the smaller higher priority of packet, allow smaller packet more than bigger packet Early transmission.Smaller packet can transmit earlier, this can be conducive to for the size of assessment packet being arranged to smaller.Therefore, it is commented Estimating time delay can be closer to the theoretical time delay of connection.If only assessment packet rather than the size of entire packet be configured to it is small, Then assessed time delay can be more much lower by the practical time delay of experience than when transmitting data packet.Therefore, assessed time delay may not It can accurately indicate the performance of connection.To avoid in this way, the size of entire packet and assessment packet can be configured to small.
Alternatively, the size of assessment packet and data packet can be configured to larger.It can be reduced when the size of each packet is larger Overhead, because there is the lesser amount of packet for being directed to specified rate data.Furthermore, it is possible to reduce for calculating needed for handling packet Resource, because the quantity of packet can be less.
According to one embodiment of present invention, size having the same or substantially the same size are wrapped in assessment.For example, commenting Estimate packet 311a, 311b and 311c to be all made of five packets, as shown in Figure 3B.Assessment packet 311a is by wrapping 3001 to 3005 groups At;Assessment packet 311b is made of packet 3011 to 3015;And it assesses packet 311c to be made of packet 3021 to 3025.Packet 3001,3011 With 3021 whole sizes having the same.Similarly, the whole sizes having the same of packet 3002,3012 and 3022;Packet 3003, 3013 and 3023 whole sizes having the same;The whole sizes having the same of packet 3004,3014 and 3024;And packet 3005, 3015 and 3025 whole sizes having the same.Therefore, 311a, 311b and 311c all sizes having the same are wrapped in assessment.Make Allow processing unit 201 more accurately to the performance of connection for assessing with the assessment packet of same size or substantially the same size It is compared.The content of packet 3001 to 3025 can be identical, different or be randomly generated.The content of packet 3001 to 3025 It could also belong to the identical data session similar with previously discussed other embodiments.
When connection becomes to disconnect or fail when through connection transmission data packet, the then transmission assessment of processing unit 201 Packet is for determining the performance of all three connections.For example, passing through the first connection transmission in the data packet 312 containing data -2 When, first is connected at the time between t-1 and t-2 (for example, at t-6) failure.Be followed by subsequent processing unit 201 be not to wait for until T-2 to transmit the assessment packet 313 containing data -3 by all three connections.It replaces, processing unit 201 is at about t-6 Pass through the first, second, and third connection transmission assessment packet 313.Can then determine it is described three connection performances, and according to Identified performance passes through a data packet 314 of the transmission containing data -4 in described three connections.
Alternatively, when the first Joint failure, processing unit 201 only connects transmission with third by second at t-6 and comments Estimate packet 313 and determines the second performance connected with third.It is passed then according to identified performance by second or third connection Transmission of data packet 314.The performance of uncertain first connection because the first connection is no longer valid, and can not be immediately available for transmission number According to packet.This also can indicate that the first connection is more unstable compared to other connections, and therefore by can be with without using the first connection Avoid the scrambling in data transmission.
Fig. 4 is shown in which that connection concurrently is used to transmit the embodiment for the data packet for belonging to two data sessions.Timing Figure indicates that the connection transmission according to an embodiment of the invention by communication device (for example, communication device 106) is commented Estimate packet and data packet.In order to better understand, in conjunction with Fig. 4 from the point of view of Fig. 2.Timing diagram 401,402 and 403 respectively for first, the Two connect with third.Communication device 106 is connected to first, second, and third by least one of multiple network interfaces 205 Connection.Time instance is expressed as t-0, t-1, t-6, t-2, t-3, t-7, t-4 and t-5.
Assessment packet 410a, 410b and 410c pass through the first, second, and third connection transmission respectively, containing identical or substantial Identical information data -0.Similarly, assessment packet 413a, 413b and 413c contain identical or substantially the same information data- 3.Similarly, assessment packet 416a, 416b and 416c contain identical or substantially the same information data -6.As described previously, The content of assessment packet 410,413 and 416 may belong to data session predefined or being randomly generated.In addition, as described previously, The size of assessment packet 410a, 410b and 410c can be identical.This is also applied for assessment packet 413 and 416.
For purposes of illustration, the data packet 411 and 414 respectively containing data -11 and data -12 belongs to the first data meeting Words.Data packet 412 and 415 respectively containing data -21 and data -22 belongs to the second data session.In a variant, it assesses Packet 410,413 and 416 belongs to the first data session or the second data session.Which data session user or administrator can select It will be used to assess packet.Alternatively, the content of assessment packet 410,413 and 416 is not belonging to any data session and containing predefined Information.In a variant, when the user of communication device (for example, communication device 106) or administrator give specific data meeting When talking about higher preferential selection, the content of assessment packet 410,413 and 416 belongs to the higher specific data meeting preferentially selected Words.User or administrator can have higher preferential selection to specific data session due to a variety of causes.For example, user may The information for wanting specific data session is transmitted faster than the information of other data sessions.For example, user gives the first data meeting Higher preferential selection is talked about, because user wishes that the information of the first data session is transmitted more than the information of the second data session It is early.Then assessment packet 410,413 and 416 belongs to the first data session.When assessment packet 410,413 and 416 carries the first data meeting When the information of words, within period given time, compared to the information for belonging to the second data session, transmission more belongs to the first number According to the information of session.Therefore, according to the preferential selection of user, more likely the information of the first data session is than the second data meeting The information of words is transmitted earlier.
At about t-0, respectively by first, second, and third connection transmission assessment packet 410a, 410b and 410c with determination The performance of connection.At about t-1, processing unit 201 determines that the first connection has optimum performance.Therefore, by the at about t-1 One connection transmission belongs to the data packet 411 of the first data session.At about t-6, communication device 106 can then start transmission and belong to In the data packet 412 of the second data session.Therefore, despite the presence of two lasting data sessions, but communication device 106 is being given The place of fixing time is used only a connection and is used for transmission data packet.Pass through the first, second, and third connection transmission assessment packet respectively 413a, 413b and 413c are for determining the performance of the connection at about t-2.At about t-3, processing unit 201 determines second Connection has optimum performance.Therefore, belong to the data packet 414 of the first data session by the second connection transmission at about t-3.? After having transmitted data packet 414 at about t-7, processing unit 201 transmit belong to the second data session data packet 415 and The performance of the first, second, and third connection is reappraised at about t-4 again.Therefore, pass through the first, second, and third connection respectively The assessment packet 416 that transmission is made of assessment packet 416a, 416b and 416c is to determine its performance.
As shown in Figure 4, it is passed when there are two data sessions at given time using only a connection Transmission of data packet.For the sake of clarity, the present disclosure additionally applies for three or more data sessions.Such advantage first is that, if Connection is connected to or by identical network, then an available bandwidth of connection more or less can connect available band with whole Width is identical.In addition, a connection, which is used only, in the case where being connected as wireless access connection can reduce channel disturbance.For example, When transmission belongs to the data packet 411 of the first data session, the first connection, which can have, not to be connected by second and third wireless access Connect the bandwidth capacity of interference.In addition, when sometime using a connection compared to when sometime using more than one When a connection, the amount of required processing power and computing resource can be less.
In a variant, the first, second, and third connection is access connection, such as logical using Wi-Fi, LTE and/or 3G The wireless access of letter technology connects.In a variant, the first, second, and third connection is between communication device 106 and 108 Vpn tunneling.
Fig. 5 is shown in which to use more than the present invention that a connection transmission belongs to the data packet more than a data session One embodiment.In order to better understand, in conjunction with Fig. 5 from the point of view of Fig. 2.Timing diagram 501,502 and 503 is respectively used to first, Two connect with third.Communication device 106 is connected to first, second, and third by least one of multiple network interfaces 205 Connection.Time instance is expressed as t-1, t-2, t-3, t-4 and t-5.
Assessment packet 510a, 510b and 510c pass through the first, second, and third connection respectively to be transmitted and containing identical or real Identical information data -0 in matter.Similarly, assessment packet 513a, 513b and 153c contain identical or substantially the same Information Number According to -3.Similarly, assessment packet 516a, 516b and 516c contain identical or substantially the same information data -6.Assessment packet 510, 513 and 516 content may belong to data session predefined or being randomly generated.In addition, as described previously, assessment packet The size of 510a, 510b and 510c can be identical.This is also applied for assessment packet 513 and 516.
In fig. 5 it is shown that belonging to the transmission of the data packet of two data sessions.Therefore, contain -11 sum number of data respectively Belong to the first data session according to -12 data packet 511 and 514.512 He of data packet containing data -21 and data -22 respectively 515 belong to the second data session.In a variant, assessment packet 510,513 and 516 belong to the first data session or second number According to session.User or administrator can select which data session assessment packet belongs to.Alternatively, assessment wraps 510,513 and 516 not Belong to any data session and contains predefined information.
At t-0, respectively by first, second, and third connection transmission assessment packet 510a, 510b and 510c with the company of determination The performance connect.At about t-1, processing unit 201 determines that the first connection has optimum performance, and second connects with second most Best performance.At about t-1, belong to 511 He of data packet of the first data session by the first connection and the second connection transmission respectively Belong to the data packet 512 of the second data session.
In a variant, user or administrator give the first data session higher preferential selection.Therefore, processing unit 201 determine the data packet 511 for belonging to the first data session by the first connection transmission with optimum performance, because user wishes First data session is faster and more reliable.Belong to the second data meeting by the second connection transmission with the second optimum performance The data packet 512 of words.
In a variant, user or administrator do not have any preferential selection to specific data session.Therefore, it handles Unit 201 carrys out the data packet that opportunistic transmission belongs to first or second data session using the first and second connections.Therefore, as figure Exemplary alternative solution in 5, can pass through the first connection rather than data packet 512 is transmitted in the second connection, and can pass through Second connection rather than first connection transmission data packet 511.
At about t-2, respectively by first, second, and third connection transmission assessment packet 513a, 513b and 513c with again Determine the performance of connection.At about t-3, processing unit 201 determines that second connects with third with optimum performance.
In a variant, when user or administrator give the first data session higher preferential selection, connect by second The data packet 514 that transmission belongs to the first data session is connect, because the second connection has optimum performance, and is connected and is passed by third The defeated data packet 515 for belonging to the second data session.
Alternatively, random to use the if user or administrator do not have any preferential selection to specific data session Two connect with third to transmit the data packet for belonging to first or second data session.Therefore, as the exemplary alternative in Fig. 5 Case, can by second connection rather than third connection transmission data packet 515, and can by third connect rather than second Connection transmission data packet 514.
In a variant, user or administrator do not have any preferential selection to specific data session.It is commented previously Estimate time cycle (that is, t-0 to t-1) one be connected as in the connection with optimum performance such as the second connection determining later It is a.Determine the second one be connected as in the connection with optimum performance again after assessing time cycle t-2 to t-3.? In this case, preferably if may if do not change connection for data session.More precisely, due to from t-1 until t-2 Using the second connection to transmit the data packet 512 for belonging to the second data session, therefore from t-3 until t-4 reuses the second company Fetch the data packet 515 that transmission belongs to the second data session.By this method, the second data session will be more stable, because not switching Used connection.
It, can be by using load-balancing technique when two connections are respectively used to the data packet of two data sessions of transmission The data packet of synchronous transfer first and data session.Due to two data sessions can be it is parallel, it is therefore more likely that comparing It is transmitted faster in when only one connection is used for the two data sessions, especially when two connections are not connected to or obstructed When crossing identical network.However, it is possible in the presence of by using caused some interference while two connections.It is required when connecting balanced Processing power and resource it is also higher.
Compare Fig. 3 A, Fig. 4 and Fig. 5, Fig. 3 A shows the transmission for belonging to the data packet of a data session, wherein given A connection is used only at time.On the other hand, Fig. 4 shows the transmission for belonging to the data packet of two data sessions, and A connection is used only at given time.Fig. 5 is also shown the transmission for belonging to the data packet of two data sessions, but and Fig. 4 Difference transmits the data packet for belonging to two data sessions respectively at given time using two connections.
In a variant, after transmission assessment packet 510 and 513, processing unit 201 can determine all three companies It connects and has met performance requirement, and therefore can transmit data packet 511,512,514 and 515 by all three connections.
Fig. 6, which is shown, indicates according to an embodiment of the invention by communication device (for example, communication device 106) The timing diagram of connection transmission the assessment packet and data packet at place.In order to better understand, in conjunction with Fig. 6 from the point of view of Fig. 2.Timing diagram 620, 621,622,630 and 631 respectively for the first, second, third, fourth and fifth connection.Communication device 106 passes through multiple networks At least one of interface 205 is connected to the first, second, third, fourth and fifth connection.Time instance be expressed as t-1, T-2, t-3, t-4 and t-5.In a variant, the first, second, third, fourth and fifth connection is attached to communication device The access of 106 network interface 205 connects.In a variant, the first, second, third, fourth and fifth connection is to pass through net Network interface 205 is connected to the logical connection of communication device 106.
First, second, third, fourth and fifth connection is assigned in two groups.First, second, and third connection belongs to first group And the 4th and the 5th connection belongs to second group.Processing unit 201 selects a connection to be used for transmission data packet from each group. Therefore, processing unit 201 determines the performance of first group of connection, and selects a connection in first group for passing based on performance Transmission of data packet.Similarly, processing unit 201 determines the performance of second group of connection, and selects one in second group based on performance A connection is used for transmission data packet.It can synchronize or almost synchronize and determine first group of performance connected with second group.
201 it will connect to assign to based on the data packet which concrete type connection is suitable for transmitting and be more than through the processing unit In one group.Alternatively, it can be evaluated according to strategy, for administrative purposes, according to historical performance or for different groups Connection is assigned to desirable any other reason in each group by connection.User or administrator can select super from each group It crosses a connection and is used for transmission data packet.They, which are also an option that, is used for transmission data without using any connection from some groups Packet.Therefore, the scope of the present invention is not limited to be used for transmission data packet using a connection from each group.
Contained respectively by assessment packet 610a, 610b and 610c of the first, second, and third connection transmission identical or substantive Upper identical information data -10.Similarly, assessment packet 614a, 614b and 614c contain identical or substantially the same Information Number According to -12.Similarly, assessment packet 618a, 618b and 618c contain identical or substantially the same information data -14.Pass through respectively The assessment packet 612a and 612b of 4th and the 5th connection transmission contains identical or substantially the same information data -20.Similarly, Assessment packet 615a and 615b contains identical or substantially the same information data -22.Similarly, assessment packet 619a and 619b contains Identical or substantially the same information data -24.Transmission assessment packet 610,614 is with 618 for determining first group of performance connected. Transmission assessment packet 612,615 is with 619 for determining second group of performance connected.As described previously, assessment packet 610,614, 618,612,615 and 619 content may belong to data session, can be predefined or can be and be randomly generated.In addition, As described previously, the size of assessment packet 610a, 610b and 610c can be identical.This be also applied for assessment packet 614,618, 612 and 619.
Pass through first, second and third connection transmission assessment packet 610a, 610b and 610c respectively at about t-1.Pass through The performance of first group of connection is determined via first group of all three connection transmission assessment packets 610.Processing unit 201 determines the The performance of one connection is optimal among first group of connection.Therefore, at about t-1, processing unit 201 is determined through the first connection Transmit the data packet 611 containing data -11.Similarly, at about t-0, by being commented respectively via the 4th and the 5th connection transmission Packet 612a is estimated with 612b to determine second group of performance connected.At about t-1, processing unit 201 determine second group of connection it In the 5th connection have optimum performance.Therefore, processing unit 201, which is determined, contains data-by the 5th connection transmission at about t-1 21 data packet 613.
Processing unit 201 is wrapped via the first, second, and third connection transmission assessment respectively again by about t-2 614a, 614b determine first group of performance connected with 614c.At about t-3, processing unit 201 determines that the second connection has most Best performance.Therefore, the data packet 616 containing data -13 is transmitted by the second connection at about t-3.Meanwhile by about t-2 Place determines second group of performance connected with 615b via the 4th and the 5th connection transmission assessment packet 615a respectively.At about t-3, Processing unit 201 determines that the 4th is connected among second group of connection with optimum performance.Therefore, connect at about t-3 by the 4th Connect data packet 617 of the transmission containing data -23.At about t-4, pass through the first, second, and third connection transmission assessment packet respectively 618a, 618b and 618c, and respectively by the 4th and the 5th connection transmission assessment packet 619a and 619b, for determining respectively First group of performance connected with second group.
In one embodiment, multiple network interfaces 205 are assigned in first and second groups.By transmission assessment packet 610, 614 and 618 determine the performance of the connection for the network interface being connected in first group.Pass through the network interface being connected in first group Connection transmission assessment packet 610,614 and 618.The net being connected in second group is determined by transmission assessment packet 612,615 and 619 The performance of the connection of network interface.Pass through the connection transmission assessment packet 612,615 and 619 for the network interface being connected in second group. A network interface is selected to be used for transmission data packet from every group according to identified performance.Therefore, connection is selected from every group To the network interface of the connection with optimum performance.
At given time, data packet is transmitted using two connections at communication device 106.One in two connections Belong to first group, and another in two connections belongs to second group.In a variant, when first, second, third, When four and the 5th connection is logical connection, two for being used for transmission data packet connect and bind the connection to form polymerization together. Alternatively, balanced two connections for being used for transmission data packet.In one embodiment, through the processing unit based on certain conditions 201 assign to connection in each group.Condition is stored in auxilary unit 204.Condition is selected from the group being made up of: performance Index, service provider, using module, position, the time, use price, safety, user, Internet Protocol address model It encloses, communication protocol, the communication technology, application and device.Connection can be in the case where it meets and corresponds to a certain group of condition Belong to described a certain group.Connection may belong to more than one group.
In instances, it is seen in conjunction with Fig. 6, there are two lasting data sessions at communication device 106.Communication device 106 It is File Transfer Protocol (FTP) session with the first data session between 108, and second between communication device 106 and 108 Data session is videoconference session.It includes the first, second, and third first group of connection connected that ftp session, which uses, and is regarded It includes the 4th and the 5th second group of connection connected that frequency conference session, which uses,.Assessment packet 610a, 610b and 610c is having the same Size.Assessment packet 610a, 610b and 610c can have or not have identical information.Assessment packet with same size is used for Accurately determine and compare the performance of connection.Assessment packet 612a and 612b size having the same.This is also applied for assessment packet 614,615,618 and 619.Data -10, data -12 and data -14 be separately include in assessment packet 610,614 and 618 in it is pre- Define data.Data packet 611 and 616 respectively containing data -11 and data -13 is the packet for belonging to the file of ftp session.Cause This, when determining the performance of connection, by momentary interruption, and when determining completion, the transmission of the packet of file restores ftp session. Data -20, data -21, data -22, data -23 and data -24 are the first, second, third, fourth and of videoconference session 5th frame.At given time, the connection that is used by ftp session and use load equal by the connection that videoconference session uses Weighing apparatus technology is equalized or forms the connection of polymerization through binding.
Compare Fig. 6 and Fig. 4, Fig. 6 and Fig. 4 all illustrate the transmission for belonging to the packet of two data sessions.However, in Fig. 6, Belong to the packet of two data sessions by assigning to two in different groups connection transmission.It can by the assessment packet that every group of connection is transmitted To be different.At given time, two connections are used for transmission data packet.On the other hand, in Fig. 4, at given time Only one connection is used for transmission data packet, and connects and be assigned in different groups.
Compare Fig. 6 and Fig. 5, Fig. 6 and Fig. 5 all illustrate the transmission for belonging to the packet of two data sessions, and in Fig. 6 and figure Two connections can be used in 5 at given time.Difference between Fig. 6 and Fig. 5 is that connection is assigned to different groups in Fig. 6 In.In some situations shown in Fig. 6, the assessment packet 610,614 and 618 transmitted by first group of connection is counted containing belonging to first According to the data of session, and is contained by the assessment packet 612,615 and 619 of second group of connection transmission and belong to the second data session Data.However, the assessment by all connection transmission includes identical data in the situation being shown in FIG. 5.Identical data Belong to the first data session or the second data session is not dependent on the belonging group of connection.It therefore, can be not in Fig. 6 The assessment for different groups of connections is executed with during.
In addition, in Fig. 5, by being determined that any two connection transmission with optimum performance belongs to the first and second numbers According to the data packet of session.And in Fig. 6, the first number is belonged to by the connection transmission among first group of connection with optimum performance Belong to the second data session according to the data packet of session, and by the connection transmission among second group of connection with optimum performance Data packet.
As shown in Figure 6, the benefit of a connection is selected to can be every group of connection for transmitting specific type from every group Data packet may be optimal.It, can since the first data session and the second data session may include different types of data packet The data packet of different data session can be needed to belong to by different groups of connection transmission.However, frequently changing if data type exists Become, then higher computing resource can be consumed by being classified according to data type to connection.
In alternative solution, Fig. 6 shows the transmission for belonging to the packet of a data session.Therefore, data packet 611,613, 616 and 617 belong to identical data session.Assessment packet 610,612,614,615,618 and 619 can also with data packet 611,613, 616 and 617 belong to identical data session.
Fig. 7, which is shown, indicates according to an embodiment of the invention by communication device (for example, communication device 106) The timing diagram of logical connection transmission the assessment packet and data packet at place.Timing diagram 701,702,703,704 and 705 is respectively for the One, second, third, the 4th and the 5th logical connection.Communication device 106 is connected by least one of multiple network interfaces 205 It is connected to the first, second, third, fourth and fifth logical connection.Time instance is expressed as t-1, t-2, t-3, t-4 and t-5.
At given time, communication device 106 transmits data packet using two logical connections.Based on 201 institute of processing unit Determining performance selects two logical connections.By via all five logical connections transmit the assessment packets containing identical information come Determine the performance of five logical connections.
Respectively by the first, second, third, fourth and fifth logical connection transmit assessment packet 710a, 710b, 710c, 710d and 710e contains identical or substantially the same information data -0.Similarly, assessment packet 713a, 713b, 713c, 713d and 713e contains identical or substantially the same information data -3.Similarly, assessment packet 716a, 716b, 716c, 716d and 716e contain There is identical or substantially the same information data -6.201 transmission assessment packets 710,713 and 716 are for true through the processing unit Determine the performance of logical connection.As described previously, the content of assessment packet 710,713 and 716 may belong to data session, predefine Or it is randomly generated.In addition, as described previously, the size of assessment packet 710a, 710b and 710c can be identical.This is also suitable In assessment packet 713 and 716.
At about t-0, processing unit 201 is determined and is passed respectively by the first, second, third, fourth and fifth logical connection 710a, 710b, 710c, 710d and 710e are wrapped in defeated assessment.At about t-1, processing unit 201 determines the property of five logical connections Can, and two logical connections (that is, first and third logical connection) with optimum performance is selected to be used for transmission data packet.Example Such as, third logical connection is with optimum performance and the first logical connection has the second optimum performance.Therefore, it is punished in about t-1 Not Tong Guo first and third logical connection transmit the data packet 711 containing data -1 and the data packet containing data -2 712.
At about t-2, processing unit 201 via the transmission of the first, second, third, fourth and fifth logical connection by commenting Packet 713a, 713b, 713c, 713d and 713e is estimated to redefine the performance of five logical connections.The performance of first logical connection Continue to be that performance is one of best among five logical connections.Therefore, number is contained by the transmission of the first logical connection at about t-3 According to -4 data packet 714.The data packet 715 containing data -5 is transmitted by the 4th logical connection simultaneously, because the 4th logic connects Connect another being determined as in the logical connection among five logical connections with optimum performance.The transmission assessment packet at about t-4 716 for determining the performance of five logical connections again.
In instances, communication device 106 will belong to the VoIP packet of voice service (VoIP) session based on Internet Protocol Communication device 108 is transferred to by the connection of polymerization.Those skilled in the art is preferably low by the time delay for being known that connection In about 500 milliseconds, to realize the appropriate quality of voip conversation.The connection of polymerization include as vpn tunneling first, second, The logical connection of third, the 4th and the 5th.Assessment packet 710a, 710b, 710c, 710d and 710e size having the same, and contain There is identical information data -0.This is also applied for assessment packet 713 and 716.Assessment packet 710, data packet 712, is commented data packet 711 Estimating packet 713, data packet 714, data packet 715 and assessment packet 716 is the VoIP packet for belonging to voip conversation.In addition, data -0, number It can be encapsulated according to -1, data -2, data -3, data -4, data -5 and data -6 containing recognizing with being connected to needed for vpn tunneling In the encapsulation package for demonstrate,proving associated encryption information.The connection with the time delay below about 500 milliseconds be can choose to be used for transmission VoIP packet.
In one embodiment, assessment packet 710,713 and 716 is transmitted to determine by more by multiple network interfaces 205 The performance for the logical connection that a network interface 205 is established.Be alternatively coupled to one that is determined as having the connection of optimum performance or Multiple network interfaces transmit data packet.Number is transmitted using at least one logical connection established by selected network interface According to packet.For example, first network interface is determined as with optimum performance.First network interface is connected to the first and second logics company It connects.Processing unit 201, which is determined, transmits data packet using at least one of first and second logical connections.
Compare Fig. 7 and Fig. 3 A, the two figures all illustrate the transmission for belonging to the packet of a data session.Difference is, In Fig. 7, data packet is transmitted using two logical connections at given time, and in figure 3 a, one is used at given time Connection transmission data packet.The benefit of situation shown in fig. 7 is that more high bandwidth can be used for data session, because of more than one logic Connection is used for transmission data packet.In Fig. 7, due to belonging to the data of a data session by more than one logical connection transmission Packet, therefore logical connection forms the connection of polymerization through binding.In figure 3 a, connection can be access connection or logical connection. However, logical connection is used only in Fig. 7, and it is not available access connection, because access connection can not be polymerize.
In alternative solution, Fig. 7 shows the transmission for belonging to the packet of two data sessions.Therefore, data packet 711 and 712 It may belong to different data session.Similarly, data packet 714 and 715 may belong to different data sessions.
In Fig. 3 A, Fig. 4, Fig. 5, Fig. 6 and Fig. 7, periodically (for example, it is primary at t-0, at t-2 again and The reason of at t-4 again) determining the performance of connection is that performance may change every now and then.In many situations, the performance of connection, Performance in particular to the connection of those of wireless network is unstable, and some be connected at a time has completely The performance that requires enough and there is the performance for being unsatisfactory for requiring at another time.In a preferred embodiment, when the property for determining connection When energy, determine the time cycle between performance in the range of five seconds to one minute.It periodically determines within every five seconds to one minute Performance is to adapt to the change in network environment, because the performance of connection can be changed with every several seconds.Therefore, time cycle t-0 To t-2 and time cycle t-2 to t-4 in the range of five seconds to one minute.Alternatively, when determining the performance of connection to check When Joint failure, the permitted time cycle is preferably in the range of half an hour was by one hour between Performance Evaluation.Therefore, Time cycle t-0 to t-2 and time cycle t-2 to t-4 are in the range of half an hour to one hour.Process continues after t-5. Fig. 3 A, Fig. 4, Fig. 5, Fig. 6 and Fig. 7, which illustrate only how to connect by each, transmits data packet to be used for the periodically company of determination The performance that connects and a connection is selected to be used for transmission data packet based on identified performance.After t-5, processing unit 201 The performance selection connection connected based on determined by about t-5 is used for transmission data packet.As such, it is noted that the mistake after t-5 Journey is not finished.
In another example, in Fig. 7, assessment packet 710,713 and 716 belongs to phase with data packet 711,712,714 and 715 Same data session.Therefore, the assessment packet and the data packet are transmitted in the data session, and every in the packet One has sequence number, and the communication device 108 as reception device is allowed correspondingly to arrange them.
Assessment packet and data packet are assigned corresponding sequence number.Sequence number is in the information being contained in assessment packet.Work as assessment When packet and data packet are assigned corresponding sequence, given host or node are according to arrival given host or the correspondence sequence of the packet of node Row number arranges the packet.When the assessment for belonging to data session includes identical or substantially the same information and reaches specified master When machine or node, given host or node can be at least partially based on sequence number identification containing identical or substantially the same information Assessment packet.Given host or node can choose the assessment ignored, abandon, give up or handled and reach after the first assessment packet Packet.They can choose the processing assessment packet for counting purpose, such as monitoring performance and retention property record.Packet Contain or is encapsulated in the payload of assessment packet.
According to one embodiment, in the first time predefined period by connecting the performance transmitted for determining the connection Assessment packet.When the performance selection connection transmission data packet based on connection, pass through the company in the second time predefined period Connect transmission data packet.For example, check Fig. 3 A, Fig. 4, Fig. 5, Fig. 6 or Fig. 7, the first time predefined period be equal to t-0 and t-1 it Between, between t-2 and t-3 or the time cycle between t-4 and t-5.In a variant, the time cycle between t-0 and t-1 omits Be longer than the time cycle between t-2 and t-3 or between t-4 and t-5 because the initialization time of connection be contained in t-0 and t-1 it Between time cycle in.In a variant, the time cycle of t-0 to t-1, t-2 to t-3 and t-4 to t-5 are not identical , but each of these can be predefined.In a variant, between t-0 and t-1, t-2 and t-3 or t-4 and t-5 Time cycle is identical and predefined.Similarly, the second time predefined period was equal between t-1 and t-2 or t-3 and t-4 Between time cycle.In a variant, the time cycle of t-1 to t-2 and t-3 to t-4 is different, but can be pre- Define each of these.Alternatively, time cycle t-1 to t-2 and t-3 to t-4 is identical and predefined.It can be by logical User, manufacturer or the administrator setting corresponding time predefined period of T unit 106.In a variant, user passes through The time predefined period is arranged in web interface, Application Programming Interface (API), command line interface or console.Processing unit 201 exists It is local to retrieve the time predefined period from auxilary unit 204 or remotely from remote server.
In one embodiment, if connection is stable, it is determined that at communication device (for example, communication device 106) The frequency of the performance of connection is low.Therefore, the transmission frequency for assessing packet reduces.Continuously transmit data packet time cycle compared to It is considerably longer when connecting unstable.When stable connection, determine that the connection with optimum performance is more likely to after evaluation Longer time continues with optimum performance.Alternatively, when connecting unstable, the company with optimum performance is determined after evaluation Connecing is less likely to continue for a long time with optimum performance.Those skilled in the art will be known that performance can be every 5 Change at any moment of second.Therefore, it when stable connection, less frequently executes and determines the performance of connection and continue longer Time cycle continuously transmits data packet.When connect it is unstable when, more frequently execute determine connection performance and continue compared with Short cycle continuously transmits data packet.This is even more important for wireless communication, because connection is more likely in wireless communications It is unstable.
In one embodiment, last longer periodic transfer assessment packet.For example, week time between t-0 and t-1 Phase is longer.The benefit of last longer periodic transfer assessment packet is that the result that Performance Evaluation obtains is more preferable.This is because can be with Greater number of assessment packet is transmitted within the time cycle, and is therefore assessed more reliable.However, the last longer period Transmission assessment packet causes communication device 106 to exhaust more bandwidth for assessing, and is transmitted due to assessing packet by multiple connections, Therefore the increase that bandwidth uses can be apparent.In addition to this, if assessment includes letter that is predefined and being not belonging to data session Breath, then data stream transmitting will be interrupted, interrupt or suspend period longer time, and this may not be desirable.When there are two A duration data session and when assessing packet and belonging to the first data session, the second data session can be interrupted longer week time Phase, this is undesirable in most of situations.Alternatively, continue short period periodic transfer assessment packet.Therefore, in connectivity Less bandwidth is consumed during the assessment of energy.In a variant, continuing short period periodic transfer assessment packet in assessment includes Predefined information and while being not belonging to data session be also it is desirable, because of the time cycle that data stream transmitting is interrupted It is shorter.However, assessment may be less reliable since small number of assessment packet can transmit within period short period.
In one embodiment of the invention, it when selecting two or more logical connections to be used for transmission data packet, ties up The two or more logical connections are determined to form the connection of polymerization.As long as being transmitted by two or more logical connections Packet belongs to identical data session and just binds the two or more logical connections.Two or more logical connections are described The end to end connection formed between two nodes, wherein communication device 106 is one in two nodes.For the company for forming polymerization It connects, before through two or more logical connections transmission packet, is wrapped described in packet encapsulation.The packet can be originated from communication dress Set 106 and/or from the host and/or node for being connected to communication device 106.Use being connected with beneficial to higher for polymerization Total bandwidth, total bandwidth are the aggregate bandwidths of individual logical connection.The connection of polymerization is used its session or application program to be considered as One logical connection.For example, from the point of view of in conjunction with Fig. 7, in time cycle t-1 to t-2, first and third logical connection be used for transmission Data packet.Therefore, first and third logical connection bind together with formed polymerization connection.Similarly, in time cycle t-3 Into t-4, first and the 4th in connection of the logical connection through binding and being included in polymerization.Third logical connection may still include In the connection of polymerization, but it is not used in transmission data packet.Alternatively, when third logical connection is not used in transmission data packet Third logical connection is removed from the connection of polymerization.This is equally applicable to Fig. 6, wherein selection is used for transmission number at given time The connection to form polymerization together is connected and bound according to two of packet.
Alternatively, when selecting two or more connections to be used for transmission data packet, balanced the two or more companies It connects.Preferably, when the data packet by two or more connection transmission belongs to different data session, it is balanced described two or More connections.Use load-balancing technique or any other skill for allowing to distribute and transmit between multiple connections data packet Art distributes between two or more connections and passes through two or more connection transmission data packets.For example, in conjunction with Fig. 7 From the point of view of, from t-1 to t-2, is distributed between first and third logical connection and number is transmitted by first and third logical connection According to packet.Similarly, it from t-3 to t-4, is distributed between logical connection in first and the 4th and by first and the 4th logical connection Transmit data packet.This is equally applicable to Fig. 6, wherein being used for transmission data belonging to two different groups and selecting in given time Data packet is distributed between two connections of packet and transmits data packet by described two connections.
In embodiment described herein, the performance of connection is determined according at least one of following standard: being handled up Amount, error rate, packet delay, packet jitter, symbol shake, service quality, safety, overlay area, bandwidth, the bit error rate, packet mistake Rate, frame error ratio, packet loss, queue waiting time, two-way time, capacity, signal level, interference level, bandwidth latency Product, switching waiting time, signaling interface ratio and signal-to-noise ratio.For example, determining has at least when determining performance according to packet loss The connection of packet loss has optimum performance.In another example, when determining performance according to handling capacity, determination is handled up with highest The connection of amount has optimum performance.Performance can be determined according to more than one standard.
In a variant, user or administrator can be according to a certain standard configuration communication devices 106 to determine performance.If User or administrator select bandwidth, then by the bandwidth of assessment connection, and there is the connection of highest bandwidth to be used for transmission selection Data.If user or administrator select time delay, by the time delay of assessment connection, and by selection there is the connection of minimum-time lag to use In transmission data.
Fig. 8 A is the flow chart for showing process according to an embodiment of the invention.In step 801, processing unit 201 determine the performance of connection by transmitting assessment packet via connection.If determining in step 802, the performance of connection compares threshold value Difference then terminates connection in step 803.Alternatively, however, it is determined that performance does not terminate connection then unlike threshold difference in step 804. When terminating connection, no longer by connection transmission assessment packet, and the performance of the connection is therefore no longer determined.By not The determination for executing switching performance can save computing resource and bandwidth resources.For example, from the point of view of in conjunction with Fig. 3 A, in step 801, place Reason unit 201 assesses packet 311c by transmission to determine the performance of third connection.In step 802, processing unit 201 determines the The performance of three connections compares threshold difference.Therefore third connection is terminated in step 803 and transmission assessment packet is not connected by third 313c and 315c.
In a preferred embodiment, as shown in figure 8B, if the performance of connection does not terminate the connection, still than threshold difference Other assessment packets or data packet are not transmitted by the connection in step 813.If it is determined that connection performance unlike threshold difference, then The connection is not terminated and other assessment packets are also sent by the connection in step 814.It executes step 813 rather than walks Rapid 803 benefit be when user or administrator it is subsequent it is desired using connection when, they will not need to establish connection again.The company of foundation Connecing may take some time and computing resource.Therefore, it does not terminate connection but does not only allow to transmit using the connection other Assessment packet or data packet.
It with predefined thresholds and can be stored in storage medium, such as auxilary unit 204 or main memory 202.It can user by communication device 106 or administrator setting threshold value.Threshold value can be establish connection needed for setting Part.
If the performance of connection is than threshold difference, terminating tunnel or not sending assessment packet by the connection can be beneficial to save Bandwidth-saving resource and other computing resources.
Fig. 9 is the flow chart for showing process according to an embodiment of the invention.Determine the delay requirement of data packet simultaneously And the delay requirement selection based on data packet is used for transmission the connection of data packet.For purposes of illustration, due to belonging to speech stream The delay requirement of the data packet of amount may be less than about 500 milliseconds, therefore only pass through the connection with the time delay less than about 500 milliseconds Transmission belongs to the data packet of voice traffic.It is in step 901, described to determine by transmitting assessment packet via connection with reference to Fig. 9 The time delay of connection.If processing unit 201 determines that the time delay of connection is higher than first threshold in step 911, in step 921 eventually The only connection or determining without using connection transmission packet.Preferably, first threshold is about 1000 milliseconds so that if connection Time delay is higher than 1000 milliseconds, then determines in step 921 and do not use the connection.If time delay is not higher than first threshold, handle Unit 201 determines whether time delay is higher than second threshold in step 912.It, will in step 922 if time delay is higher than second threshold The connection is assigned in first group.Allow using the connection in first group for any stream in addition to video flow and voice traffic Amount.Preferably, second threshold is about 800 milliseconds.Connection (such as described connection) in first group, which has, is greater than about 800 milliseconds Time delay, since higher time delay is without being suitable for use in transmission of video or Tone Via.Therefore, they are not used in video flow and words Sound flow, but they can be used for wherein allowing the flow of any other type of greater than about 800 milliseconds of time delay.If The time delay of connection is not higher than second threshold, then can permit the connection for video flow.At step 913, processing unit 201 determine whether the time delay of connection is higher than third threshold value.If time delay is higher than third threshold value, by the connection in step 923 It assigns in second group.Third threshold value is preferably about 500 milliseconds.Connection in second group is allowed for transmission of video but does not have to In Tone Via, because the quality of video transmission can be order in the when delay with greater than about 500 milliseconds and below about 800 milliseconds People's satisfaction, but the quality of Tone Via has greater than about 500 milliseconds of when delay meeting very poor.It is not higher than if connection has The time delay of third threshold value then assigns to the connection in third group.Connection in third group is allowed for transmission of video and speech Transmission, because the quality of Tone Via can be satisfactory having the when delay below about 500 milliseconds.First, second He Third threshold value is configurable and can be configured by the user or administrator of communication device 106.
According to one embodiment of present invention, if polymerization connection in two or more connections between delay variation Higher than time-delay deviation threshold value, then one or more connections with relatively high time delay are terminated, or not by one or more of Connection transmission packet.For purposes of illustration, time-delay deviation threshold value is about 500 milliseconds.First connection time delay be 400 milliseconds and The time delay of second connection is 950 milliseconds.Since the delay variation between first and second connection is greater than about 500 milliseconds, eventually Only second connects or transmit data packet without using the second connection.In another example, the time delay point of the first, second, and third connection Wei not be 400,950 and 980 milliseconds, and time-delay deviation threshold value is about 500 milliseconds.Since the first connection is connect with second and third Delay variation between the two is greater than about 500 milliseconds, therefore second connects with third and be no longer used to transmission data and can be by It terminates.In another example, when the time delay of the first connection is substantially 10 milliseconds and the time delay of the second connection is substantially 200 milliseconds When, the second connection is no longer used to transmission data packet and can be terminated.When packet is by including the first connection and the second connection It, can be than passing through by the first packet of the first connection transmission when the connection of polymerization is transferred to communication device 108 from communication device 106 Second packet of the second connection transmission reaches much earlier.Even if third packet and the 4th packet are reached by the way that the first connection is relatively early, communication Device 108 also only confirmation first packet arrival, and due to second packet not yet reach, again transmission all three second, Third and fourth packet.Therefore, resource can be saved by terminating the second connection or without using the second connection, so that connecting by first It connects transmission and all wraps and do not need re-transmission packet for four first, second, third and fourth.
In a variant, the second connection can be used for transmitting any packet in addition to data packet, such as operational safety inspection Packet, assessment packet etc..If the time delay that subsequent determination second connects becomes to decline, the second connection transmission data can be reused Packet.In order to monitor the time delay of the second connection, communication device 106 do not terminate the second connection and even if when determining Yanzhong difference Packet is assessed higher than continuing to send by the second connection after time-delay deviation threshold value.
In a variant, time-delay deviation threshold value is predefined and can user by communication device 106 or pipe Reason person's setting.Alternatively, time-delay deviation threshold value periodically can be set with through the processing unit 201.Alternatively, place can be passed through The average delays for two or more connections that reason unit 201 is at least partially based in the connection of polymerization come dynamically or automatically Time-delay deviation threshold value is set.Average delay can be calculated based on the time delay value assessed in the period in the specific time.The specific time Period can be in the range of 10 milliseconds to 5 minutes.Time-delay deviation threshold value can be set to the percent value of average delay.For The purpose of explanation, time-delay deviation threshold value can be set to the 20% of the average delay of the connection of polymerization all connected.When first, When second time delay for connecting experience with third is respectively about 400 milliseconds, 500 milliseconds and 900 milliseconds, average delay is about 600 millis Second.Then the 20% of 600 milliseconds, as 120 milliseconds dynamically can be set by time-delay deviation threshold value.Due to third connection Difference between time delay and average delay is more than 120 milliseconds, therefore processing unit 201 can be determined to connect without using third and be passed Transmission of data packet.User or administrator configurations percent value can be passed through.In another example, time-delay deviation threshold value can be arranged It is the 30% of the average delay of the connection (rather than whole connections in the connection of polymerization) with opposite low time delay.When first, When second time delay for connecting experience with third is respectively about 400 milliseconds, 500 milliseconds and 900 milliseconds, the connection of opposite low time delay Average delay is about 450 milliseconds.450 milliseconds automatically can be set by time-delay deviation threshold value with through the processing unit 201 30%, as 135 milliseconds.Since the difference between the time delay and average delay of third connection is the processing more than 135 milliseconds Unit 201, which can be determined, connects transmission data packet without using third.In another modification, the user of communication device 106 or management Member can define the strategy for time-delay deviation threshold value to be dynamically arranged.In order to illustrate if definition strategy makes with relatively low The average delay of the connection of time delay is that time-delay deviation threshold value is then dynamically set to 100 milliseconds less than 100 milliseconds.It can be into If a step definition strategy makes the average delay of the connection with opposite low time delay between 100 milliseconds and 500 milliseconds, by when Prolong deviation threshold and is dynamically set to 400 milliseconds.It will be appreciated that these values are exemplary, and there may be dynamically arranged The various other modes of time-delay deviation threshold value.Connection with opposite low time delay may include in addition to the connection with highest time delay Any connection.Alternatively, there is the connection of opposite low time delay may include time delay appointing in a certain range of minimum-time lag What is connected.
When existing more than two connections, time-delay deviation threshold value can be used in different ways.For purposes of illustration, exist Five connections, that is, the first, second, third, fourth and fifth connection.5th connection has highest time delay and the first connection tool There is minimum-time lag.If the difference between highest time delay (time delay of the i.e. the 5th connection) and minimum-time lag (time delay of the i.e. first connection) Different is more than time-delay deviation threshold value, then the 5th connection is no longer used to transmission data packet and can terminate.In another example, if Difference between the time delay of 5th connection and the average delay of the first, second, third and fourth connection is higher than time-delay deviation threshold value, Then the 5th connection is no longer used to transmission data packet and can terminate.In another example, when first, second, third and fourth The time delay of each of connection is about 500 milliseconds, and the time delay of the 5th connection is about 1000 milliseconds and time-delay deviation threshold value is At 400 milliseconds, the 5th connection is not used in transmission data packet and can be terminated.In one example, calculate first, second, Inequality, variance and the standard deviation of the time delay of the connection of third, the 4th and the 5th.Time-delay deviation threshold value is set as the standard deviation of time delay. If the difference between the time delay of connection is higher than standard deviation, one or more connections with relatively high time delay are no longer used to transmit It data and can be terminated.
For purposes of illustration, when there is the one or more connections established by LTE network or Ethernet interface, place Reason unit 201 is not connected to 3G network, even if when it can be done so by one or more of network interface 205.Institute The technical staff in category field be known that by 3G network establish connection time delay can be significantly higher than by LTE network or with The too time delay of the connection of network interface foundation.
Selection and description embodiment are in order to best explain the principle and its practical application of the present invention, so that affiliated Other technical staff in field can be best using the present invention and with the various modifications for being suitable for expected special-purpose Various embodiments.Subsequent description only provides preferred exemplary embodiment and exemplary embodiment, and purpose does not lie in limit The scope of the present invention processed, applicability or configuration.In fact it is preferred to which the following explanation of exemplary embodiment and exemplary embodiment will The effective explanation for implementing preferred illustrative embodiment of the invention is provided for those skilled in the art.It should be understood that not taking off Can be made in the case where from the spirit and scope of the present invention such as illustrated in the dependent claims element function and The various change of arrangement.
It shall yet further be noted that embodiment can be described as process, process is portrayed as flow chart, flow diagram, data flow diagram, structure chart Or block diagram.Although flow chart can describe the operations as sequential process, many operations can be performed in parallel or concurrently.This Outside, the order of the operation can be rearranged.Process is terminated when its operation is completed, but be can have and be not included in figure Other step.Process can correspond to method, function, program, subroutine, subprogram etc..When a process corresponds to a function, mistake The termination of journey corresponds to function and returns to calling function or the function of tonic chord.
Embodiment or its each section can be implemented with program instruction, described program instruction can operate on a processing unit with For executing function and operation as described in this article.The program instruction for constituting various embodiments can store in storage medium In, such as be stored in auxilary unit.
In addition, as disclosed herein, term " auxilary unit " and " main memory " can indicate for storing data One or more devices, including read-only memory (ROM), random access memory (RAM), magnetic ram, magnetic core storage, Magnetic disk storage medium, optical storage medium, flash memory device and/or other machine readable medias for storing information. Term " machine readable media " includes but is not limited to portable or fixed-storage device, optical storage, wireless channel and each It kind can store, include or the other media of carry instructions and/or data.
In addition, embodiment can be by hardware, software, firmware, middleware, microcode, hardware description language or any combination thereof To implement.When being implemented with software, firmware, middleware, or microcode, the program instruction or code segment for executing necessary task can be deposited Storage is in the machine readable medias such as such as storage medium.Processing unit can execute necessary task.Processing unit can be CPU, ASIC semiconductor chip, semiconductor chip, logic unit, digital processing unit, analog processor, FPGA, or it is able to carry out logic With any processor of arithmetic function.Code segment can indicate step, function, subprogram, program, routine, subroutine, module, Software package, class, or any combination of instruction, data structure or program statement.Code segment can indicate step, function, subprogram, Program, routine, subroutine, module, software package, class, or any combination of instruction, data structure or program statement.One code Section can be coupled to another code segment or hard by transmitting and/or receiving information, data, independent variable, parameter or memory content Part circuit.Information, independent variable, parameter, data etc. can be passed via comprising Memory Sharing, message transmission, token passing, network Any suitable ways transmitting such as defeated, forwarding or transmission.
Network interface can be implemented by independent electronic building brick or can be integrated with other electronic building bricks.According to matching It sets, network interface, which can not have, is connected to the network or has at least one network connection.Network interface, which is connected only to one, to be connect Enter network.Accordingly, it is possible in the presence of more than one network connection carried by addressable network.Network interface can be Ethernet and connect Mouth, Frame Relay Interface, optical fiber interface, cable interface, DSL interface, token ring interface, serial bus interface, universal serial bus (USB) interface, fire-wire interfaces, peripheral component interconnection (PCI) interface etc..
Embodiment or part thereof can be embodied in computer data signal, and computer data signal can be using for leading to Any suitable form that transmission medium is communicated is crossed, so that it can be read to be held by functional device (for example, processing unit) It goes and implements operation described herein.Computer data signal may include can via transmission medium propagate any two into Digital electronic signal processed, transmission medium are, for example, electronic network channels, optical fiber, air, electromagnetic medium, radio frequency (RF) link etc., And therefore data-signal can be using forms such as electric signal, optical signal, radio frequency or other wireless communication signals.In some embodiments In, can via computer network download code segment, computer network be, for example, internet, intranet, LAN, MAN, WAN, PSTN, satellite communication system, cable communication system etc..
Access connection can carry one or more protocol datas, including but not limited to transmission control protocol (TCP), user Datagram protocol (UDP), Internet Control Message Protocol (ICMP), hypertext transfer protocol (HTTP), post office protocol (POP3), File Transfer Protocol (FTP) and Internet Message Access Protocol (IMAP).Access connection can be cable network or wireless network Network.Access in radio connection can be used Ethernet, optical fiber, cable, DSL, frame relay, token ring, universal serial bus, USB, firewire, PCI, T1 or can make information by any material implement.Infrared, high-speed packet access can be used in wireless access connection (HSPA), HSPA+, 3rd generation mobile communication technology (3G), fourth generation mobile communication technology (4G), long term evolution (LTE), WiMax, ATM, GPRS, EDGE, GSM, CDMA, WiFi, CDMA2000, WCDMA, TD-SCDMA, bluetooth, WiBRO or any its Its wireless technology is implemented.
Logical connection can be carried out at the 2nd layer or the 3rd layer of open system interconnection (OSI) model, via public, special With or public and two endpoints of dedicated Internet access of mixing to form connection.Virtual Private Network (VPN) is logical connection model One example.VPN can be layer 2 VPN or the 3rd layer of VPN.The face of such as transmission control protocol (TCP) etc can also be used Logical connection is established to the communication protocol of connection.Logical connection can be referred to as end to end connection, because it is in two endpoints Between formed connection.
The process that Figure 10 includes illustrates in accordance with some embodiments for passing through communication device (for example, communication device 106, communication device 108, router, computer and Internet of Things (IoT) device) transmission data packet process.The flow chart can To indicate that the routine being stored in memory device or program instruction, memory device are, for example, main memory 202 and/or auxiliary Another storage device (not shown) in storage device 204 or communication device.Processing unit 201 may be configured to execute example Journey or program instruction.
The process determines the connection for meeting selection connection standard using the first assessment packet.For the ease of reading, The standard of selection connection is known as connecting selection criteria (connection seletion criteria, CSC).The example of CSC it First is that minimum-time lag connects.The connection for meeting CSC will be used to send data packet.It is known as selected connection according to the connection of CSC selection (selected connection, SC).Connection can be WAN network interface, access connection, logical connection, end to end connection or It is used for transmission the end to end connection of the polymerization of data packet.
For the ease of reading, communication device 106 is for describing flow chart.Being not intended to limit only communication device 106 can use In the process.In step 1001, communication device 106 determines its connection quantity that can transmit data packet.In step 1002, lead to T unit 106 detects that destination is the new data session of the host or device in network 110.Detect one kind of new data session Technology is the session identification checked in received data packet.For example, unique session identification is stored in the header of IP packet Session ID.In another example, Session ID is stored in the payload of IP packet.In another example, TCP data It include Session ID, by using the address of sender, the port numbers of sender, the address of destination and destination Port identifies session.In another example, deep-packet detection (DPI) is executed to identify data session.For executing DPI's Signature database can be provided by the manufacturer of communication device 106, provided by the administrator of communication device 106, communicated from being located at Computing device in the region LAN of device 106 receives, or receives from remote server.
Session ID becomes one of the matching condition (match condition, MC) of communication device 106.It is not intended to limit Only Session ID can be MC.For example, selected signature can be one of MC using DPI.
In conjunction with Figure 13 from the point of view of Figure 10, data packet 1301 is connect from the sending device for the LAN interface for being connected to communication device 106 First data packet of the data session of receipts.Data packet 1301 is also possible to the first of the data session generated by communication device 106 Data packet.Information data -1 is stored in its payload by data packet 1301.In time rt-0, data packet is received or generated 1301, and in time rt-1, data packet 1301 is received or generated completely by communication device 106.Communication device 106 is as hair It send the gateway of device and other network functions can be formed, such as network address translation (NAT) and routing.
At step 1003, creation one or more the first assessment packet.The quantity of first assessment packet of creation is based in step The quantity of the rapid 1001 possibility connections determined.For example, may connect if there is five, then five first assessments packets are created.? In one modification, the quantity of the first assessment packet less than may connection quantity because in step 1004 and it is not all it is possible even Connecing will all be used to send the first assessment packet.
When gateway of the communication device 106 as the sending device, the data session that is detected at step 1002 Then the payload of first data packet will be copied to the payload of the first assessment packet.The destination-address of first assessment packet It also will be identical as the destination-address of the first data packet and destination port numbers with destination port numbers.For purposes of illustration, It may connection there are three.Therefore, three first assessments are created and wraps 1311a-1311c.First assessment wraps 1311a-1311c for phase Same information data -1 is stored in its corresponding payload.
At step 1004, by connecting transmission the first assessment packet 1311a-1311c accordingly.For example, respectively by the One connection, the second connection connect transmission the first assessment packet 1311a-1311c with third.Time st-0 is to start the first assessment of transmission Wrap the time of 1311a-1311c.For purposes of illustration, time st-1a, st-1b and st-1c pass through respectively the first connection, Second connection connects the first assessment packet of transmission completely 1311a, 1311b and 1311c with third.In addition, for purposes of illustration, when Between st-1a, st-1b and st-1c be 100 milliseconds, 100 milliseconds and 150 milliseconds respectively.
At step 1005, the time delay of the connection such as the first connection, the second connection are connected with third is determined.Assess time delay Technology first is that measurement confirmation packet corresponding arrival time.For example, the about 500 milliseconds of receptions after st-a1 of communication device 106 Confirmation to the first assessment packet 1311a, about 10 milliseconds of confirmations received to the first assessment packet 1311b after time st-1b, and And do not receive the confirmation that 1311c is wrapped to the first assessment.Among all confirmations, to first assessment packet 1311b confirmation first by Communication device 106 receives, and therefore, the processing unit of communication device 106 determines that connection 1310b has minimum-time lag.
Confirmation can by one or more data packet groups at.Packet phase is assessed with communication device 106 received first when existing When corresponding multiple confirmations, a confirmation is only forwarded to sending device.Other confirmations will be rejected.Give up the original of other confirmations Therefore first is that: in general, application program not phase of the first data packet of device or the generation data session run in sending device Hope multiple confirmations.If multiple confirmations are forwarded to sending device, sending device or application program may be obscured or can It can lead to mistake.
Since connection 1310b has minimum-time lag, the processing unit of communication device 106 company of selection in step 1006 1310b is met as SC, and such as data packet 1032 of data session, 1303 and are transmitted by connection 1310b in step 1007 The content such as data -2, data -3 and data -4 of other data packets such as 1304.Therefore, connection 1310b transmission point will be passed through Not Bao Han data -2, data -3 and data -4 data packet 1312-1314.
In a more detailed example, data session is secure data session.In general, in order to be connected to communication device The sending device or communication device 106 itself of 106 LAN interface establish peace between the reception device of the other end of secure connection Full connection, the first data packet or former a data packets do not include verification information.Therefore, it is created by using the first data packet more A first assessment packet, in general, reception device should not be obscured by the first assessment packet.Compared with only receiving one first assessment packet, when When receiving multiple first assessment packets, more calculating and Internet resources may be consumed at reception device.
In a variant, the information that in the first data packet of data session includes is not based on to create the first assessment packet. On the contrary, the first assessment packet includes Predefined information or the data created at random.Once selection is connected to number in step 1006 According to the SC of session, then the first data packet and other data packets of data session will be transmitted by SC.
In a variant, the bandwidth of each possible connection is based essentially in the CSC that step 1006 selects.Also Step 1003 to 1005 will be changed with detection bandwidth availability.Those skilled in the art will appreciate that there is Numerous methods Bandwidth in assessment connection, such as the result using the Speedtest.net from Ookla.In a variant, exist Measurement bandwidth availability between communication device 106 and the first destination.Those skilled in the art will appreciate that there is countless side Method assesses the bandwidth between communication device 106 and the first destination, such as using Bing, is the point in Linux To point bandwidth measuring tool.
It is not intended to limit only time delay and bandwidth is unique CSC.CSC can be time delay, bandwidth, session One in quantity, hop count, other network performance informations, rate, time and geography information or combination.
The processing unit for being not intended to limit communication device 106 will be to all data packets and/or all data meetings for being originated from its LAN Words execute step 1001 to 1007.In an example, step 1002 is only executed, detects new data session, and described Data session meets MC.Other MC examples include: source data packet from particular ip address.In another example, the purpose of data packet Ground port numbers are certain port numbers;With DPI result.
The user or administrator that Figure 11 shows communication device 106 in step 1006 select one or more data sessions To use the graphic user interface (GUI) 1101 of SC.
Combobox 1102 allows user or administrator creates MC or selection MC.Frame 1103 allows user or administrator to select CSC.For example, the address of particular computing device is the MC in combobox 1102, and CSC will use the WAN with maximum bandwidth To transmit data packet from particular computing device.In another example, from game laptop and it is specified for having The data packet of one or more network nodes of certain domain name mark will be transmitted by the WAN with minimum-time lag.Therefore, MC It is the combination of the source address and the domain name inputted in combobox 1102 of game laptop.It is minimum when being chosen in frame 1103 When time delay check box, CSC becomes the connection with minimum-time lag.
In a variant, communication device 106 retrieves one or more MC from one or more remote servers.MC has Naming convention relevant to application program.For example, " Game Hero " is appointed as the title of MC, and it is used to indicate and Game The MC of the relevant data packet of Hero.Then selected connection is sent by data packet relevant to Game Hero, it is described to be connected to institute Having has minimum jitter among connection.The signature of data session relevant to the destination of the distance host of Game Hero will be used Data session is identified in communication device 106.For example, Game Hero uses five servers.The port numbers of this five servers and Destination-address will be used as MC by communication device 106.
In a variant, GUI 1101 is similar to and inbound rule is provided at firewall.Combobox 1102 can be fair Family allowable or administrator input any input field of MC.Different from the movement in inbound rule out, frame 1103 is input CSC.
Figure 12 shows user and selects MC in frame 1202 and be matched with the MC that selects in frame 1202 in frame 1203 The GUI 1201 of specific type of data packet selection WAN.GUI 1201 in such as calculating such as computer, mobile phone or IoT device by filling The software for setting internal operation generates.Computing device is also possible to sending device.For the ease of reading, the software referred to here as connects Software (connection selection software, CSS) is selected in selecting.In an example, it is to calculate dress that user, which requires MC, Application program B in setting and as the minimum-time lag for the CSC for selecting the WAN of communication device 106.Therefore, it chooses respectively In check box and 1203 in combobox 1202 beside " application program B " " minimum-time lag ".All data of application program B creation Packet will all meet MC.CSC is sent to communication device 106 from CSS.
In another example, when the third check box for having chosen input destination-address in frame 1202, and in frame When having chosen the 4th check box of input destination port numbers in 1202, MC is arranged to destination-address and destination port Number combination.The data packet for matching MC will be by sending according to the WAN for the CSC selection being arranged in frame 1203.
In a specific detailed example, application name in frame 1202, such as application program A and application program B is inputted by the user of computing device or administrator.Alternatively, application name is detected by CSS.
In a variant, without frame 1203, and it only can choose application program in frame 1202.Therefore, user is only Select application program.Then the application program that the connection transmission by default choice is selected.In an example, default choice Connection be at communication device 106 with minimum-time lag WAN.The connection for being not intended to limit default choice must be have it is minimum The connection of time delay.For example, the connection that default choice can be set in the developer of CSS must be that hop count to destination is least Connection.
Figure 14 is the flow chart for showing the process in accordance with some embodiments for being used to handle and transmit data packet.CSS is being counted It calculates and is run in device, computing device is, for example, game laptop and the video camera embedded with temperature sensor.In an example In, for purposes of illustration, computing device is game laptop and runs car race game and other application program, and even It is connected to the LAN interface of communication device 106.Communication device 106 can be not directly connected to computing device but be used as computing device Gateway execute.Computing device is also sending device.For example, by GUI 1201 or the graphical interfaces of command line instructions, Yong Huchuan Build MC.For example, MC is based on application program A, i.e. car race game.From that time, CSS will handle the data packet of car race game generation.
At step 1401, CSS detects the data packet generated by car race game, and the car race game is selected application journey Sequence.CSS data interception packet before data packet transmission.Then, at step 1402, CSS is by the differential service generation in data packet Code-point (DSCP) value editor is changed to the value that communication device 106 can identify.As long as meeting internet engineering task group (IETF) (request for comment, RFC) is requested in the comment issued, and described value may be value.For example, DSCP value can To be configured to 0x11.Then, data are forwarded a packet to gateway by CSS, and the gateway is communication device 106.
The destination for the data packet that car race game generates can have identical or different destination.Data packet can also belong to In identical or different session.The agreement of data packet can also be identical or different.In a variant, CSS is not edited or is changed The DSCP value in all data packets generated by selected application program.On the contrary, CSS is only edited or is changed by selected application journey The DSCP value in certain form of data packet that sequence generates.User can configure the CSS about type of data packet.CSS can be with According to the type of predefined rule selection data packet.Predefined rule can by user input, from remote server retrieval or It is created by CSS developer.
In a variant, CSS only changes or edits the first data of the data session by selected application program generation The DSCP value of packet, because communication device 106 can execute MC to the first data packet only to select to connect.Communication device 106 can be with Without using the DSCP value of other data packets of the data session of MC.
In a variant, step 1401 and 1402 is executed by the operating system of computing device.In an example, CSS By to operating system provide one of application name, destination-address, port numbers and uniform resource identifier (URI) or its Combination to configure MC for operating system.Therefore, operating system can edit DSCP value.In a more detailed example, for 8 operating system of Windows, creation matching are sent to the qos policy of the entitled Backup of the flow of 10.1.1.176/28 subnet And using DSCP value 40 mark it and only in the network adapter that domain is added the flow that sends effectively order and be: New- NetQosPolicy-Name"Backup"-IPDstPrefixMatchCondition 10.1.1.176/28- NetworkProfile Domain-DSCPAction 40。
In a detailed example, the first data packet for only meeting the data session of MC will be by CSS or operating system more Change or edit its DSCP value.When DSCP value for communication device 106 to identify data session when, communication device 106 then can be with Such as carry out the signature of storing data session by using the combination of destination-address, destination port, source address and source port number. Other data packets of data session may not be needed by CSS or operating system change or edit its DSCP value.Communication device 106 is still So data session can be identified by the combination of the destination-address of data packet, destination port, source address and source port number. Alternatively, other than the first data packet, some or all of data packets of data session will be changed or be compiled by CSS or operating system Collect its DSCP value.Communication device 106 can identify data session by the signature of data session or by DSCP value.
At step 1403, game laptop delivers a packet to communication device 106.At step 1404, lead to The processing unit of T unit 1404 will check whether data packet belongs to new session.When computing device transmission is multiple at step 1403 When data packet, the first data packet that processing unit will check in multiple data packets.
It should be that session is assigned with connection without data packet if being the first data packet of data session.If The connection for distributing to session is SC, then after step 1407 resets DSCP value, SC will be used for transmission data packet.If distributed to The connection of session is not SC, then should be by punishing dispensing session in step 1410 after the DSCP value of resetting data packet Connection send data packet.A benefit for resetting DSCP value is the router that will not be obscured in next-hop, because in next-hop Router possibly can not understand DSCP value.
In a variant, if the connection for distributing to session is not SC, data packet can be sent by any connection.
If data packet is the first data packet of data session, at step 1408, processing unit will determine the first number Whether can recognize according to the DSCP value of packet.If DSCP value is matched with one of the value that processing unit identifies, 1409 are thened follow the steps.It is no Then, step 1410 will be executed.In an example, the DSCP value that can be identified is 0x11,0x22 and 0x33.In step 1409 Locate, the matching condition at communication device 106 is based on DSCP value 0x11,0x22 and 0x33.When the first data packet and matching condition When DSCP value 0x11 is matched, CSC is the minimum-time lag connection among all possible connections.When the first data packet and MC DSCP value When 0x22 is matched, CSC is maximum amount of bandwidth among all possible connections.When the first data packet is matched with MC DSCP value 0x33 When, CSC is the maximum signal to noise ratio (SNR) among all possible connections.For DSCP value, there is no limit.CSC is not also limited System.Then, data session is assigned to according to the connection that CSC is selected, is the SC for data session.The technology people of fields Member will be understood that iptable is one of the tool that can be connected for data session distribution.Then step 1407 is executed.
In a variant, at step 1408, using DPI result rather than DSCP value is checked, and in step 1409 MC be based on DPI result.The administrator of this permission communication device 106 is based only upon CSC and is determined.In a variant, in step At rapid 1408, DPI result and DSCP value, and combination of the MC in step 1409 based on DPI result and DSCP value are checked.This permits Perhaps the administrator of communication device 106 and the user of computing device configure MC jointly.
On the contrary, processing unit executes DPI to determine whether data session should be selected session.
In a variant, if being not data session distribution connection, or the unidentified DSCP value in step 1408, Then the processing unit of communication device 106 can transmit all data packets of data session without using identical connection.It can lead to Different connections is crossed to transmit the data packet of data session.
It is not intended to limit CSS only and dscp field can be used to allow communication device 106 to identify data packet.Data can be used Other fields in packet, such as Option Field.Routing and/or forwarding in order to not influence other network nodes to data packet are led to The field that T unit 106 should use CSS resets to defaults.
In a variant, sending device can send data packet by multiple connections.For example, game laptop is Sending device.Game laptop has multiple network interfaces, and is able to use multiple internet connections.Game notebook Computer can also execute the function of communication device 106.Therefore, game laptop, which is able to carry out in the flow chart of Figure 12, describes All processes.For example, by game laptop processing unit execute instruction can determine data packet whether meet MC, Selection is carried out according to CSC and data packet is transmitted by selected connection.In a variant, since same device is generating data Wrap and execute connection selection, therefore do not need another device to identify the data packet for meeting MC, and therefore do not need editor or Change the DSCP value of data packet.

Claims (20)

1. a kind of for selecting and by the method for selected connection transmission data packet, comprising the following steps:
A. matching condition is received by the user interface at the first computing device;
B. when the first data packet of data session meets the matching condition:
I. set pre- at first computing device for differentiated services code points (DSCP) value of first data packet Definition value;
First data packet and other data of the data session are wherein transmitted by selected connection by first network node Packet;And
Wherein the selected connection is one of possible connection.
2. according to the method described in claim 1, being based essentially on connection selection criteria wherein to select the selected connection.
3. according to the method described in claim 2, wherein receiving the connection selection criteria by first network node.
4. according to the method described in claim 1, wherein the connection selection criteria is based essentially between possible connection most Low time delay.
5. according to the method described in claim 4, wherein assessing the minimum-time lag using the first assessment packet, and wherein institute Stating the first assessment packet includes the content based on first data packet.
6. according to the method described in claim 1, wherein the user interface is graphic user interface.
7. according to the method described in claim 1, wherein the matching condition is based essentially on the number from the first application program According to packet, and wherein, the application program executes at first computing device.
8. according to the method described in claim 7, wherein first application program is game.
9. according to the method described in claim 8, wherein first computing device and the first network node are an electricity Sub-device.
10. according to the method described in claim 1, wherein the DSCP value can by the first network node identify and it is described DSCP value is reset by the first network node.
11. a kind of system including the first computing device and first network node, wherein first computing device includes:
At least one first network interface;
At least one first processing units;
At least one first main memory;
At least one first user interface;
At least one first non-transitory computer-readable medium, storage can be executed by least one described first processing units The program instruction for following steps:
A. matching condition is received by least one described first user interface;
B. when the first data packet of data session meets the matching condition: by the differential service code of first data packet Point (DSCP) value is set as predefined value;
And the first network node includes:
At least one second network interface;
At least one the second processing unit;
At least one second main memory;
At least one second non-transitory computer-readable medium, storage can be executed by least one described the second processing unit The program instruction for following steps:
C. first data packet and other data packets of the data session are transmitted by selected connection;It is wherein described selected to connect Connecing is one of possible connection.
12. system according to claim 11, wherein being based essentially on connection selection criteria to select the selected connection.
13. system according to claim 12, wherein receiving the connection selection criteria by first network node.
14. system according to claim 11, wherein the connection selection criteria is based essentially between possible connection Minimum-time lag.
15. system according to claim 14, wherein assessing the minimum-time lag using the first assessment packet, and wherein The first assessment packet includes the content based on first data packet.
16. system according to claim 11, wherein at least one described first user interface is graphic user interface.
17. system according to claim 11, wherein the matching condition is based essentially on from the first application program Data packet, and wherein the application program executes at first computing device.
18. system according to claim 17, wherein first application program is game.
19. system according to claim 18, wherein first computing device and the first network node are one Electronic device.
20. system according to claim 11, wherein the DSCP value can be identified by the first network node and institute DSCP value is stated to be reset by the first network node.
CN201780061963.4A 2014-07-14 2017-09-12 Method and system for evaluating network performance of aggregated connections Active CN109983737B (en)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US14/410,099 US9602412B2 (en) 2014-07-14 2014-07-14 Methods and systems for transmitting data packets
PCT/IB2014/063084 WO2016009250A1 (en) 2014-07-14 2014-07-14 Methods and systems for transmitting data packets
US15/462,951 US9876723B2 (en) 2014-12-21 2017-03-20 Methods and systems for evaluating network performance of an aggregated connection
US15/462,951 2017-03-20
PCT/IB2017/055479 WO2018172833A1 (en) 2014-07-14 2017-09-12 Methods and systems for evaluating network performance of an aggregated connection

Publications (2)

Publication Number Publication Date
CN109983737A true CN109983737A (en) 2019-07-05
CN109983737B CN109983737B (en) 2022-01-21

Family

ID=54544582

Family Applications (4)

Application Number Title Priority Date Filing Date
CN201910524047.0A Active CN110337121B (en) 2014-07-14 2014-07-14 Method and system for evaluating network performance of aggregated connections
CN201480079683.2A Active CN106465162B (en) 2014-07-14 2014-07-14 It is used for transmission the method and system of data packet
CN201780062035.XA Active CN109792621B (en) 2014-07-14 2017-09-12 Method and system for evaluating network performance of aggregated connections
CN201780061963.4A Active CN109983737B (en) 2014-07-14 2017-09-12 Method and system for evaluating network performance of aggregated connections

Family Applications Before (3)

Application Number Title Priority Date Filing Date
CN201910524047.0A Active CN110337121B (en) 2014-07-14 2014-07-14 Method and system for evaluating network performance of aggregated connections
CN201480079683.2A Active CN106465162B (en) 2014-07-14 2014-07-14 It is used for transmission the method and system of data packet
CN201780062035.XA Active CN109792621B (en) 2014-07-14 2017-09-12 Method and system for evaluating network performance of aggregated connections

Country Status (4)

Country Link
US (1) US9602412B2 (en)
CN (4) CN110337121B (en)
GB (1) GB2534259B (en)
WO (3) WO2016009250A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116208534A (en) * 2022-12-30 2023-06-02 苏州浪潮智能科技有限公司 Method, device, equipment and medium for determining and optimizing activity interface

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10805219B2 (en) * 2014-07-14 2020-10-13 Pismo Labs Technology Limited Methods and systems for evaluating network performance of an aggregated connection
GB2579759B (en) * 2014-07-14 2022-07-13 Pismo Labs Technology Ltd Methods and systems for evaluating network performance of an aggregated connection
CN110337121B (en) * 2014-07-14 2023-03-24 柏思科技有限公司 Method and system for evaluating network performance of aggregated connections
US10084675B2 (en) * 2016-04-07 2018-09-25 International Business Machines Corporation Monitoring connections for data communications
US10069897B2 (en) 2016-04-08 2018-09-04 Verizon Patent And Licensing Inc. Increasing an efficiency of a file transfer by using multiple communication resources
US10084678B2 (en) 2016-04-19 2018-09-25 International Business Machines Corporation Managing connections for data communications using heartbeat messaging
EP3473052A4 (en) * 2016-06-18 2020-04-22 Clevernet, INC. Intelligent adaptive transport layer to enhance performance using multiple channels
US10827001B2 (en) 2016-07-27 2020-11-03 International Business Machines Corporation Managing connections for data communications
GB2575228B (en) * 2017-03-20 2022-07-06 Pismo Labs Technology Ltd Methods and systems for evaluating network performance of an aggregated connection
US10809134B2 (en) 2017-05-24 2020-10-20 Cisco Technology, Inc. Thermal modeling for cables transmitting data and power
US11054457B2 (en) 2017-05-24 2021-07-06 Cisco Technology, Inc. Safety monitoring for cables transmitting data and power
US10828716B2 (en) 2017-06-19 2020-11-10 Lincoln Global, Inc. Systems and methods for real time, long distance, remote welding
US10742747B2 (en) 2017-07-06 2020-08-11 International Business Machines Corporation Managing connections for data communications following socket failure
CN109818863B (en) * 2017-11-22 2021-11-19 华为技术有限公司 Link priority setting method and device
US11245546B2 (en) * 2017-11-27 2022-02-08 Pismo Labs Technology Limited Methods and systems for transmitting and receiving data packets through a bonded connection
US11671362B2 (en) 2021-05-13 2023-06-06 Microsoft Technology Licensing, Llc Managing data traffic for two simultaneous VPN connections with a VPN client
US11683293B2 (en) * 2021-05-13 2023-06-20 Microsoft Technology Licensing, Llc Creating two simultaneous VPN connections for a VPN client
CN114615205B (en) * 2022-03-23 2024-03-08 南京航空航天大学 Mixed flow scheduling method under time sensitive network based on time benefit function

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104956637A (en) * 2012-10-25 2015-09-30 柏思科技有限公司 A method, device and system to prioritize encapsulating packets in a plurality of logical network connections
US20150312112A1 (en) * 2013-10-16 2015-10-29 Pismo Labs Technology Limited Methods and systems for displaying network performance information
CN105579989A (en) * 2013-07-05 2016-05-11 柏思科技有限公司 Methods and systems for transmitting packets through aggregated end-to-end connection
CN106465162A (en) * 2014-07-14 2017-02-22 柏思科技有限公司 Methods and systems for transmitting data packets

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3654158B2 (en) * 2000-08-09 2005-06-02 日本電気株式会社 Packet transfer path control apparatus and packet transfer path control method used therefor
JP5138847B2 (en) * 2001-08-31 2013-02-06 富士通株式会社 Network system, network relay device, network relay monitoring device, and network operation method
US7668966B2 (en) * 2001-11-02 2010-02-23 Internap Network Services Corporation Data network controller
US8660108B2 (en) * 2007-04-13 2014-02-25 Hart Communication Foundation Synchronizing timeslots in a wireless communication protocol
US8189577B2 (en) * 2007-06-15 2012-05-29 Silver Spring Networks, Inc. Network utilities in wireless mesh communications networks
FR2919778A1 (en) * 2007-07-30 2009-02-06 Canon Kk METHOD FOR TRANSMITTING DATA PACKETS IN A TUNNEL, COMPUTER PROGRAM PRODUCT, CORRESPONDING STORAGE MEDIUM AND TUNNEL HEAD
US9730078B2 (en) * 2007-08-31 2017-08-08 Fisher-Rosemount Systems, Inc. Configuring and optimizing a wireless mesh network
DE102008030939A1 (en) * 2008-07-02 2010-01-07 Deutsche Thomson Ohg Method and device for managing data transmission in a network
CN101635663B (en) * 2008-07-21 2012-06-27 华为技术有限公司 Data transmission method, data transmission system and network equipment
CN101729589B (en) * 2008-10-14 2012-07-18 北京大学 Method and system for improving end-to-end data transmission rate
US9264307B2 (en) * 2008-11-12 2016-02-16 Teloip Inc. System, apparatus and method for providing improved performance of aggregated/bonded network connections between remote sites
CN101656637B (en) * 2009-09-11 2012-06-13 中国科学院计算技术研究所 Virtual trunk measuring device and method for network protocol
CN101719864B (en) * 2009-11-27 2011-12-07 深圳市共进电子有限公司 Method for transmitting and distributing data of router with double network ports
CN201616094U (en) 2010-02-11 2010-10-27 北京爱国者存储科技有限责任公司 Host device with multiple connectors and protocol selection device
WO2012006595A2 (en) * 2010-07-09 2012-01-12 Nicolas Girard Transparent proxy architecture for multi-path data connections
WO2012027020A1 (en) 2010-08-24 2012-03-01 Exxonmobil Upstream Research Company System and method for planning a well path
EP2437434A1 (en) * 2010-09-30 2012-04-04 British Telecommunications Public Limited Company Monitoring of data traffic based on user profiles
US8654869B2 (en) * 2011-10-27 2014-02-18 Cooper Technologies Company Multi-path radio transmission input/output devices, network, systems and methods with link suitability determination
CN103428770B (en) * 2013-07-30 2016-03-09 北京邮电大学 Flow allocation method in the multi-link parallel transmission of heterogeneous wireless network
EP3028418A4 (en) * 2013-08-02 2017-05-17 Teloip Inc. System, apparatus and method for providing improved performance of aggregated/bonded network connections between remote sites
US9876723B2 (en) * 2014-12-21 2018-01-23 Pismo Labs Technology Limited Methods and systems for evaluating network performance of an aggregated connection
CN104104548B (en) * 2014-08-01 2018-10-26 哈尔滨工程大学 A kind of network safety situation Information Acquisition System and method based on SFLOW and OWAMP

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104956637A (en) * 2012-10-25 2015-09-30 柏思科技有限公司 A method, device and system to prioritize encapsulating packets in a plurality of logical network connections
CN105579989A (en) * 2013-07-05 2016-05-11 柏思科技有限公司 Methods and systems for transmitting packets through aggregated end-to-end connection
US20150312112A1 (en) * 2013-10-16 2015-10-29 Pismo Labs Technology Limited Methods and systems for displaying network performance information
CN106465162A (en) * 2014-07-14 2017-02-22 柏思科技有限公司 Methods and systems for transmitting data packets

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116208534A (en) * 2022-12-30 2023-06-02 苏州浪潮智能科技有限公司 Method, device, equipment and medium for determining and optimizing activity interface

Also Published As

Publication number Publication date
WO2016009250A1 (en) 2016-01-21
US9602412B2 (en) 2017-03-21
CN109792621A (en) 2019-05-21
CN106465162A (en) 2017-02-22
CN110337121B (en) 2023-03-24
WO2018172833A1 (en) 2018-09-27
GB201516722D0 (en) 2015-11-04
GB2534259A (en) 2016-07-20
WO2018172832A1 (en) 2018-09-27
CN106465162B (en) 2019-07-12
CN110337121A (en) 2019-10-15
GB2534259B (en) 2021-04-21
CN109983737B (en) 2022-01-21
US20160261504A1 (en) 2016-09-08
CN109792621B (en) 2023-02-28

Similar Documents

Publication Publication Date Title
CN109983737A (en) For assessing the method and system of the network performance of the connection of polymerization
CN113196723B (en) Layer four optimization in virtual networks defined on public clouds
US11082334B2 (en) Distributed quality-of-service (QoS) in an overlay network using capacity enforcement
US10511522B2 (en) Methods and systems for evaluating network performance of and transmitting packets through an aggregated connection
CN108234235B (en) Method, network device and computer-readable storage medium for data monitoring
US10687253B2 (en) Resource reservation on networks comprising wireless and wired segments
CN104902518B (en) The system and method for realizing reflective EPS carrying
US10749785B1 (en) Enhanced two-way active measurement protocol
US20030141093A1 (en) System and method for routing a media stream
US20170195237A1 (en) Distributed quality-of-service (QoS) mechanism in an overlay network having edge regions
US11601358B2 (en) Cross datacenter communication using a mesh gateway
CN112202930B (en) Method, POP and system for accessing mobile equipment to SD-WAN (secure digital-to-WAN) network
US9413676B2 (en) System and method for reducing the data packet loss employing adaptive transmit queue length
Budiyanto et al. Comparative Analysis of VPN Protocols at Layer 2 Focusing on Voice Over Internet Protocol
JP2016174268A (en) Network system, network system control method, communication device and program
US10805219B2 (en) Methods and systems for evaluating network performance of an aggregated connection
US20190190835A1 (en) Methods and systems for evaluating network peformance of an aggregated connection
CN114598636A (en) Traffic scheduling method, equipment and system
US11082255B1 (en) Method and an apparatus for establishing secure, low latency, optimized paths in a wide area network
JP2003244251A (en) Packet communication method for reconfiguring tunnel path
WO2012114328A1 (en) System and method for active queue management per flow over a packet switched network
Heuschkel et al. Protocol virtualization through dynamic network stacks
CN118509324A (en) APN 6-based application perception method, system, electronic equipment and storage medium

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
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40008206

Country of ref document: HK

GR01 Patent grant
GR01 Patent grant