CN107078861A - Method and system for estimating loss data - Google Patents

Method and system for estimating loss data Download PDF

Info

Publication number
CN107078861A
CN107078861A CN201580055263.5A CN201580055263A CN107078861A CN 107078861 A CN107078861 A CN 107078861A CN 201580055263 A CN201580055263 A CN 201580055263A CN 107078861 A CN107078861 A CN 107078861A
Authority
CN
China
Prior art keywords
data packets
packet
packets
net load
lost data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201580055263.5A
Other languages
Chinese (zh)
Other versions
CN107078861B (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
Application filed by Pismo Labs Technology Ltd filed Critical Pismo Labs Technology Ltd
Publication of CN107078861A publication Critical patent/CN107078861A/en
Application granted granted Critical
Publication of CN107078861B publication Critical patent/CN107078861B/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
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/34Flow control; Congestion control ensuring sequence integrity, e.g. using sequence numbers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/18Automatic repetition systems, e.g. Van Duuren systems
    • 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
    • H04L45/245Link aggregation, e.g. trunking
    • 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/41Flow control; Congestion control by acting on aggregated flows or links
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/1607Details of the supervisory signal
    • H04L1/1642Formats specially adapted for sequence numbers

Landscapes

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

Abstract

The present invention is disclosed for regenerating the method and system for the lost data packets that the data session set up between the first communications router and the second communications router is connected to by centralization.First communications router receives the packet for belonging to data session by the centralization connection from second communications router.The packet is gone to by accessibility first main frame of first communications router.The packet is transferred to first main frame and determines whether there is one or more lost data packets by first communications router.If there is one or more lost data packets, then first communications router determines the global sequence number (GSN) of one or more of lost data packets and per tunnel sequence number (PTSN) and regenerates the net loads of one or more of lost data packets.One or more new data packets are then transferred to first main frame.One or more of new data packets include the net load of one or more of lost data packets, and are assigned the GSN and PTSN of one or more of lost data packets.

Description

Method and system for estimating loss data
Technical field
Present invention relates in general to computer network field.More specifically, the present invention is disclosed for regenerating and passed through The data that polymerization connection (aggregated connection) is set up between the first communications router and the second communications router The method and system of the lost data packets of session.
Background technology
Many wide area network (WAN) site-to-site vpn routers are to support to concentrate multiple interconnection (for example, for accessing one Or the WAN connections of multiple remote private networks) bandwidth router.In some embodiments, each TCP/IP sessions are only It is routed to a WAN.In this configuration, single TCP file delivery sessions can only utilize a WAN connection in each terminal Bandwidth.For example, in dialogue-based site-to-site VPN (VPN) connection, VPN flows are routed to two Multiple WAN connections between website (for example, website A and B).
In one embodiment, M × N number of tunnel is initially formed between WAN connections, wherein M and N are website respectively The number of A and website B WAN network connection.Then application program TCP/IP sessions are route via different tunnels.However, should Note, although dialogue-based site-to-site vpn can utilize different tunnel for different sessions, but this type Single download session in connection can only utilize a tunnel.
When there is packet loss in the data session between two routers or abandon bag, there may be for recovering lost package Distinct methods.Generally receiving router received data packet and send correspondence confirm before, transmitter router is resend The packet for abandoning or losing.However, this can consume bandwidth and increase network congestion.Higher network congestion can cause more Abandon bag more.Accordingly, it would be desirable to which a kind of can recover to abandon or lost package in the case where dispensing device does not resend packet Solution.
The content of the invention
The present invention be disclosed for regenerating by polymerization be connected to the first communications router and the second communications router it Between the method and system of the lost data packets of data session set up.When the first communications router is logical from second by polymerizeing connection When letter router reception belongs to the packet of data session, packet is transferred to the first main frame and true by the first communications router Surely it whether there is one or more lost data packets.If there is one or more lost data packets, then the first communications router Determine the global sequence number (GSN) of one or more lost data packets and per tunnel sequence number (PTSN) and regenerate one Or the net load of multiple lost data packets.One or more new data packets are then transferred to the first main frame.It is one or more new Packet includes the net load of one or more lost data packets, and is assigned one or more of lost data packets GSN and PTSN.
According to one embodiment of present invention, based on same data session one or more last data bags and/or same One or more next packets of one data session and the net load for regenerating one or more lost data packets.
According to one embodiment of present invention, under by calculating one or more last data bags and/or being one or more The average value of the net load of one packet regenerates the net load of one or more lost data packets.
According to one embodiment of present invention, one or more last data bags and/or one or many are at least partially based on The variance yields and average value of the net load of individual next packet regenerates the net load of one or more lost data packets.Make With the average value and the combination of standard deviation of one or more last data bags and/or the net load of one or more next packets To calculate the net load of lost data packets.
According to one embodiment of present invention, one or more lose is regenerated by performing the lookup of audio database Lose the net load of packet.Or, regenerate one or more lost data packets by performing the lookup of text database Net load.When the net load for lost data packets has more than one possibility, the first communications router is based on from going through History data produce possibility and select one in the more than one possibility.
According to one embodiment of present invention, by using non-linear interpolation, arest neighbors interpolation, bilinear interpolation and double three One or more of secondary interpolation regenerates the net load of one or more lost data packets.
According to one embodiment of present invention, one or more last data bags and/or one or more next numbers are calculated According to the average value of the conversion coefficient of bag.The average value of conversion coefficient is subsequently used as the first conversion coefficient of lost data packets.Inversion Change applied to the first conversion coefficient, and the inverse transformation based on the first conversion coefficient and regenerate lost data packets.
According to one embodiment of present invention, using one or more last data bags and/or one or more next numbers Regression analysis model is created according to the net load of bag, the net load of wherein packet is dependent variable.Then according to regression analysis model Determine approximate function.Calculate the net load of lost data packets to regenerate one or more loss numbers by using approximate function According to the net load of bag.The independent variable of regression analysis model can be time and the GSN of time, GSN or the packet of packet Combination.
Embodiment
Illustrate only to provide preferred exemplary embodiment below and be not limiting as the scope of the present invention, applicability or match somebody with somebody Put.In fact it is preferred to exemplary embodiment following explanation will for those skilled in the art provide implement the present invention it is preferred The favourable description of exemplary embodiment.It should be understood that not departing from the spirit of the invention as illustrated in the dependent claims With in the case of scope various changes can be carried out to the function and arrangement of element.
Detail is provided in the following description to provide a thorough understanding of embodiments.However, those skilled in the art It should be understood that the embodiment can be put into practice in the case of these no details.For example, circuit can be shown with block diagram in order to avoid With unnecessary unnecessary details embodiment.In other cases, well known electricity is shown without unnecessary detail Road, process, algorithm, structure and technology are so as to embodiment of avoiding confusion.
Also, it should be noted that embodiment can be described as process, process be depicted as flow chart, flow chart, DFD, Structure chart or block diagram.Although flow chart can be described the operations as continuous process, many operations can in parallel or concurrently be held OK.Furthermore it is possible to rearrange the order of operation.When that operation is complete, process terminate, but process can have be not included in Other step in figure.Process can correspond to method, function, program, subroutine, subprogram etc..When process corresponds to function When, its termination returns to call function or principal function corresponding to function.
Embodiment or its each several part can be implemented with programmed instruction, described program instruction can operate on a processing unit with In execution function as described in this article and operation.Storage media can be stored in by constituting the programmed instruction of various embodiments In.
Constituting the programmed instruction of various embodiments can be stored in storage media.In addition, as herein disclosed, term " storage media " can represent one or more devices for data storage, comprising read-only storage (ROM), programmable read-only Memory (PROM), Erasable Programmable Read Only Memory EPROM (EPROM), random access memory (RAM), magnetic ram, magnetic core are deposited Reservoir, floppy disk, floppy disc, hard disk, tape, CD-ROM, flash memory device, storage card and/or its for storage information Its machine-readable medium.Term " machine-readable medium " include, but are not limited to, portable or fixed-storage device, optical storage Media, magnetic medium, memory chip or cartridge, wireless channel and can store, accommodate or carry instruction and/or number According to various other media.Machine-readable medium can be realized by virtualizing, and can be virtual machine readable media, wrap It is contained in the virtual machine readable media in the example based on cloud.
" computer-readable media, main storage or auxilary unit " refers to that participation will as used herein, the term Instruction provides to processing unit any media for execution.Computer-readable media is only a reality of machine-readable medium Example, the machine-readable medium can carry instruction to implement any in methods and/or techniques described herein It is individual.This media can use many forms, including but not limited to non-volatile media, volatile media and transmission media.It is non-easy The property lost media include such as CD or disk.Volatile media includes dynamic memory.Transmission media includes coaxial cable, copper cash And optical fiber.Transmission media can also use the form of sound wave or light wave, such as in radio wave and infrared data communication phase Between the sound wave or light wave that produce.
Volatile storage can be used for during temporary variable is stored during by processing unit execute instruction or be other Between information.Nonvolatile memory devices or static memory can be used for static information and instruction of the storage for processor, And various system configuration parameters.
Storage media can include multiple software modules, and the software module, which may be embodied as using by processing unit, appoints What suitable types of computer instructions is come the software code that performs.Software code can be used as series of instructions or order or work It is program storage in storage media.
Various forms of computer-readable medias, which can be related to, carries one or more sequences of one or more instructions To processor for execution.For example, instruction can be initially borne on the disk of remote computer.
Alternatively, remote computer can be loaded the instructions into its dynamic memory, and sends an instruction to fortune The system of one or more sequences of the one or more instructions of row.
Processing unit can be microprocessor, microcontroller, digital signal processor (DSP), any group of those devices Close or be configured to any other circuit of processing information.
Processing unit execute program instructions or code segment are for implementation embodiments of the invention.In addition, embodiment can be with Implemented by hardware, software, firmware, middleware, microcode, hardware description language or its any combinations.When software, firmware, in Between when implementing in part or microcode, the programmed instruction for performing necessary task can be stored in computer-readable storage medium. Processing unit can be realized by virtualizing, and can be Virtual Processing Unit, virtual included in the example based on cloud Processing unit.
Embodiments of the invention are directed to use with computer system to implement techniques described herein.In embodiment, this The processing unit of invention may reside within the machines such as computer platform.According to one embodiment of present invention, in response to processing Unit performs one or more sequences of one or more instructions included in volatile memory, skill described herein Art is performed by computer system.Such instruction can be from another computer-readable media reads volatile memory.To easy The execution of command sequence included in the property lost memory causes processing unit to perform process steps described herein.For For in embodiment, hard-wired circuit may be substituted for or implement the present invention with reference to software instruction.Therefore, implementation of the invention Example is not limited to any specific combination of hardware circuit and software.
The code segments such as programmed instruction can represent step, function, subprogram, program, routine, subroutine, module, software Any combinations of bag, class or instruction, data structure or program statement.Code segment can pass through transmission and/or receive information, number According to, independent variable, parameter or memory content and be coupled to another code segment or hardware circuit.Information, independent variable, parameter, data Etc. can be via transmitting, forward comprising any suitable mode such as Memory Sharing, message transmission, alternative space, network transmission Or transmission.
Alternatively, hard-wired circuitry may be substituted for or implement to meet the mistake of the principle of the present invention with reference to software instruction Journey.Therefore, the embodiment for meeting the principle of the present invention is not limited to any particular combination of hardware circuit and software.
The network interface that can be provided by node is Ethernet interface, Frame Relay Interface, optical fiber interface, cable interface, DSL Interface, token ring interface, serial bus interface, USB (USB) interface, fire-wire interfaces, periphery component interconnection (PCI) Interface etc..
Network interface can be implemented or can be integrated with other electronic building bricks by independent electronic building brick.Depending on Put, network interface can be without network connection or with least one network connection.Network interface can be Ethernet interface, It is Frame Relay Interface, optical fiber interface, cable interface, digital subscriber line (DSL) interface, token ring interface, serial bus interface, general Universal serial bus (USB) interface, fire-wire interfaces, periphery component interconnection (PCI) interface, cellular network interface etc..
Network interface may be coupled to wired or wireless access network.Access network can carry one or more network associations Discuss data.Cable access network can use Ethernet, optical fiber, cable, DSL, frame relay, token ring, universal serial bus, USB, fire Line, PCI can be implemented with any material of transmission information.Radio Access Network can use infrared ray, high-speed packet access (HSPA), HSPA+, Long Term Evolution (LTE), WiMax, GPRS (GPRS), global system for mobile communications (GSM), Enhanced Data rates for GSM Evolution (EDGE), CDMA (CDMA), WiFi, CDMA2000, wideband CDMA (WCDMA), Time Division-Code Division Multiple Access (TD-SCDMA), bluetooth, WiBRO, Evolution-Data Optimized (EV-DO);Digital Enhanced Cordless Telecommunications (DECT);Number Word AMPS (IS-136/TDMA);Integrated digital enhanced (iDEN) or any other wireless technology are implemented.For example, network connects Mouth may be used as LAN (LAN) interface or wide area network (WAN) interface.
Embodiment or its each several part can be implemented with computer data signal, and the computer data signal can be using use In any suitable form communicated via transmission media so that the computer data signal is readable for passing through Functional device (for example, processing unit) is performed, so as to perform operation described herein.Computer data signal can be wrapped Containing any binary digit electronic signal that can be propagated via transmission media, the transmission media such as electronic network channels, Optical fiber, air, electromagnetism media, radio frequency (RF) link etc., and therefore data-signal can using electric signal, optical signal, radio frequency or The forms such as other wireless communication signals.In certain embodiments, code segment can be downloaded via computer network, the computer Network for example internet, intranet, LAN, Metropolitan Area Network (MAN) (MAN), wide area network (WAN), PSTN (PSTN), Satellite communication system, cable communication system and/or its fellow.
Figure 1A illustrates the system 100 adjusted according to embodiment, and the system is configured to transmit meeting in data by adjusting Tunnel bandwidth weighting pattern during words is come the handling capacity of multiple bandwidth varyings connection optimized integration.System 100 is comprising multiple Website 102 and 104, the website each includes at least one network node.Network node is properly termed as communications router.So And, the scope of the present invention is not limited to communications router so that can be in gateway, router, server or any other type The present invention is performed at network node.For the sake of simplicity, Figure 1A illustrates that website 102 and 104 includes the He of communications router 106 respectively 108.Communications router 106 and 108 may be embodied as supporting to concentrate many wan routers of the bandwidth of multiple Internet connections.It is logical Letter router 106 and 108 is connected by network 110.Network 110 can include FAN, MAN, WAN, wireless network, PSTN, Yin Te Net, intranet, extranet etc..
Website 102 and router 106 can include M and connect 112, and website 104 and router 108 can include it is N number of Connection 114.Connection 112 and 114 is the data cube computation for transmission information in the network 110 between website 102 and 104. In embodiment described, M is equal to 3 and N and is equal to 2;However, these values can be according to required router and configuration change.Even Similar or different bandwidth ability can be had with 114 by connecing 112.In addition, connection 112 and 114 can include it is different types of WAN connections, such as WiFi, cable, DSL, T1,3G, 4G, satellite connection.It shall yet further be noted that website 102 and website 104 can be by It is considered both transmitter or receiver, and can implements on functional discussion of either site on another website. In other words, system 100 may be embodied as symmetrical network.
Figure 1B illustrates network environment according to an embodiment of the invention.In communications router 106 and communications router Tunnel 103A, 103B and 103C are set up between 108.Polymerization connection can be formed with integrating tunnel 103A, 103B and 103C.
According to one embodiment, communications router 106 and 108 can have multiple network interfaces.Communications router 106 is passed through Tunnel is set up by one or more network interfaces of one or more of its multiple network interface and communications router 108 103A, 103B and 103C.
Communicator 106 and 108 can serve as gateway, router, exchanger, access point, hub, bridge etc..
Fig. 1 C illustrate the system 100 adjusted according to embodiment, and the system is configured to the multiple variable strip zones optimized integration The handling capacity of width connection.System 100 is similar to system 101, in addition to M × N number of virtual channel 116.When for example by implementing to tie The site-to-site vpn of conjunction is connected between website 102 and 104 when setting up the connection of combination, can create M × N number of tunnel 116.Tunnel 116 corresponds to the unique arrangement of the network connection of website 102 and the network connection of website 104.Can be in communication lines Formed between device 106 and 108 and polymerize connection.Tunnel 116 can be virtual channel.
A polymerization connection can be concentrated, combine or be combined together to form in the tunnel 116 of multiple foundation.This area skill Art personnel will be appreciated that in the presence of being used to concentrating, combine or with reference to multiple foundation tunnel to form a variety of of centralized tunnel Method.The polymerization connection is considered as a tunnel using the session or application of polymerization connection.It can be end-to-end to polymerize connection Connection, VPN connection or towards connectionless connection.For example, polymerization connection can be TCP connections or UDP connections. In another example, polymerization connection is the concentration in multiple tunnels, and each tunnel is connected to communications router 106 and communication lines Between device 108.In another example, polymerization connection can be vpn tunneling, include the tunnel of multiple foundation, and each build Vertical tunnel is connected between communications router 106 and communications router 108.
Fig. 2A shows the high level flow chart of the operation of system 100, and which depict for increasing the handling capacity of the connection combined Method 200.It will be appreciated that order of the concrete function provided in Fig. 2, function etc. is intended that the example according to idea of the invention Property operation.Therefore, the concepts herein can be implemented with the mode different from the mode of embodiment described.
At the block 201 of embodiment described, when for example by implement combine site-to-site vpn connection and on road When setting up the connection of combination between device 102 and 104, M × N number of virtual channel 116 can be created, as illustrated by fig. 1 c. Virtual channel 116 corresponds to the unique arrangement of the network connection of website 102 and the network connection of website 104.
At the block 202 of embodiment described, it is determined that and/or distribution tunnel default-weight.In order to determine acquiescence power Weight, embodiment exchanges the uplink and downlink bandwidth data of connection 112 and 114 between website 102 and 104.Use this bandwidth number According to default-weight can be calculated according to following:Assuming that the connection 1 of website 102 to m downlink bandwidth be dl, d2 ... dm, And the connection 1 of website 104 to n upstream bandwidth be ur, U2 ... Un;The connection X of the website 102 and connection Y of website 104 Between the default-weight in tunnel can be defined as DW (x, y), wherein DW (x, y)=dx.dy.
Calculate default-weight using above method, if connection 112-1 to 112-3 be with 10M/6M, 8M/4M and The WAN connections of many wan routers of 6M/6M corresponding upstream bandwidth/downlink bandwidth, and connection 114-1 to 114-2 is that have The WAN connections of many wan routers of 7M/5M and 9M/3M corresponding upstream bandwidth/downlink bandwidth, then each tunnel is corresponding silent It will be as follows to recognize weight:
For website 102 For website 104
DW (1,1)=6*7=42 DW (1,1)=5*10=50
DW (1,2)=6*9=54 DW (1,2)=5*8=40
DW (2,1)=4*7=28 DW (1,3)=5*6=30
DW (2,2)=4*9=36 DW (2,1)=3*10=30
DW (3,1)=6*7=42 DW (2,2)=3*8=24
DW (3,2)=6*9=54 DW (2,3)=3*6=18
It should be noted that it is conceivable that the other manner for calculating default-weight, and be only the implementation of embodiments of the invention above The example of scheme.It should be noted that many different weighting patterns can be used to define the initial bandwidth in tunnel.For example, it may be possible to uncommon Hope and the tunnel on one direction is weighted using only the downlink capacity of receiving station and the up-link capacity of transmitting station.For characterizing Any weighting scheme of tunnel capacity when setting up the connection combined can be used for the purpose of the present invention.
, will be with the ratio according to effective weight EW (x, y) when bag slave site 102 is routed into website 104 according to embodiment Bag is distributed to tunnel by rate.Initially, effective weight setting of embodiment is into equal to default-weight, EW (x, y)=DW (x, y), And if the bandwidth in tunnel 116 keeps constant from initial setting, then effective weight is optimal for bag distribution.So And, if user with exist abandon bag situation one or more tunnels TCP sessions in just via the network connection of combination File is downloaded, then the entire throughput of the session will sharp decline.This, which is partly because to abandon to wrap, will continue to cause TCP weights New transmission, and TCP flow control will keep lower throughput, even if not being fully occupied without the tunnel for abandoning bag.
A kind of effective means for improving handling capacity can avoid such abandoning bag.For doing so, in illustrated implementation At the block 203 of example, the raising or reduction of embodiments of the invention experience packet loss positive to tunnel are distinguished.It is real at block 204 Apply effective weight that example is further used for changing the tunnel for just undergoing or having been subjected to packet loss change.Can continuously monitor or Based on special time cycle monitoring packet loss information.Once it is determined that tunnel is just undergoing unacceptable packet loss (block 204-1), At block 204-2, embodiment described is reduced by effective weight in tunnel.In certain embodiments, it is " unacceptable " possible It is non-zero quantity to mean packet loss, and other embodiments can determine that unacceptable ratio is in addition to predefined threshold value Any ratio.Embodiment reduces etc. into one times of ratio in stepwise fashion, in a continuous manner, with the raising with packet loss Implement these reductions.When being reduced in gradual mode, embodiment can continue monitoring tunnel to optimize what is implemented The amount of reduction.
Tunnel can be set up or monitor by sending heartbeat packet from router 106 or router 108 via each tunnel 116.In certain embodiments, when receiving terminal is failing to receive heartbeat packet from tunnel a period of time, the receiving terminal The tunnel will be regarded as to descending and described tunnel will not be used for routing traffic.If heartbeat packet is started again at and connect Receive, then the tunnel can be re-established and weighted together with other tunnels.Thus, it is dropped simultaneously in tunnel in all bags And effective weight in the tunnel is reduced in the case of zero, embodiment can be monitored and the company of re-establishing using heartbeat packet Connect.
In addition, when all or part of tunnel restoration its respective bandwidth, for example, determining packet loss reduction (block 204-3) When, embodiment described is used for the effective weight (block 204-4) for improving such tunnel, fully or more fully to utilize institute State bandwidth.Some embodiments improve effective weight in tunnel using pre- fixed step size, until recovering accurate effectively weight.Other realities Apply example and the bandwidth of newest measurement proportionally improves effective weight, the bandwidth of newest measurement can correspond to losing for newest measurement Bag rate.In addition, embodiment can improve effective weight in tunnel based on predetermined linear or index proportion.
After effective weight in regulation tunnel, or after it is determined that need not adjust, in the block 205 of embodiment described Locate the weighting pattern of more new system.This renewal can include storing the information after any processing, use this in further processing Category information, cause system take measures.For example, can be used on the processing that block 205 is carried out within a period of time to weighting Pattern is averaged, to reduce and height transient state associated error extremely.Furthermore, it is possible on the system 100 using renewal Information afterwards is distributed with the bag for changing data transfer sessions, as discussed on Fig. 2 B.System 100 can be transmitted in whole data Constantly or periodically continue implementation steps 203 to 205 in session.
Fig. 2 B illustrate the weight distribution bag wherein after the modification in tunnel is at least partially based on after implementing method of weighting 200 Embodiment.Specifically, the block 206 of embodiment described is used for the weighting scheme determined according to the operation by method 200 Bag is distributed on tunnel.In certain embodiments, this distribution will change in whole data transfer sessions, and therefore Fig. 2 B Step is illustrated as what is repeated.Some embodiments change bag distribution in the more new system at block 205 every time.In addition, block 205 can be with So that being periodically carried out changing in response to specific loss ratio change threshold etc..It will be appreciated that being determined by the operation of method 200 Weight and will determine that weighting is applied to bag distribution and there can be different periodicity at block 206.For example, method 200 can Renewal for providing weighting pattern information using relatively short iterative cycles, and the distribution wrapped is followed using longer iteration Ring group changes in such weighting pattern information.
In order to monitor the bandwidth in each tunnel 116, some embodiments of the present invention are each transmitted with various Information encapsulations IP bags.Fig. 3 illustrates to show the example embodiment of the type for the information 300 that can be encapsulated in transmitted IP bags.Version field 302 can contain the information for being related to utilized protocol version and protocol type field 303 can the agreement containing payload packet Type.In general, the value of this field is by corresponding to the Ethernet protocol type of bag.However, other value can be in other texts Defined in shelves.Tunnel ID field 304 can be 32 bit fields and can contain to the mark for the current tunnel for recognizing IP bags Symbol.Advanced Encryption Standard (AES) initialization vector field 306 can be 32 bit fields and can be containing the initial of AES encryption Change vector.Global sequence's field 308 can be 32 bit fields and can contain sequence number, the sequence number be used for for It is appropriate order that the bag, which is resequenced, when each bag in the bag of each session occurs from their corresponding tunnel. It can be 32 bit fields and can represent to distribute to each bag for being routed to specific tunnel per tunnel sequence-number field 310 Sequence number.Payload field 312 after AES encryption can be used for the net load for transmitting IP bags.AES encryption goes for net negative The higher-security of lotus, to prevent third party attack.
Every tunnel sequence number discussed herein above, which can be used for monitoring in tunnel, abandons bag.In one embodiment, receive Router in terminal calculates the packet loss DR in every f seconds each tunnel by monitoring every tunnel sequence number of the bag received (x,y).DR (x, y) can be characterized as the sequence number missed in cycle f divided by sequence number incrementss.Cycle f length can be with Change, and in one embodiment, f is equal to 5 seconds.
Other methods can be also used for monitoring and abandon bag, for example:Transmitter periodically can notify receiving terminal, and it has been sent out The number of the bag sent;Heartbeat packet is sent to receiving terminal by transmitter in each constant time period;And by monitoring heartbeat The loss ratio of bag from physical interface/device/layer etc. by obtaining loss ratio figure, and receiving terminal can estimate overall loss ratio.
The loss ratio of particular tunnel, effective weight or other bandwidth indication feedbacks can be route by receiving terminal to transmission Device.When transmitter receives the information on packet loss, some embodiments by effective weight EW (x, y) in tunnel reduce EW (x, y)·DR(x,y).Other measurements can be used to change effective weight in tunnel.In certain embodiments, transmitter can connect Feedback is received, and effectively weight can be reduced more than or less than the number of packet loss.Can be according to the specific needs of communication system To configure such change.Above example represents to attempt effective weight in tunnel being reduced to prevent from further abandoning bag, while maximum Change the measurement of the weight of the amount of bandwidth available in tunnel.It was found that any measurement of this balance can be preferred.
Fig. 4 A illustrate the example embodiment of the type for the information 400 that can be encapsulated in feedback bag, by the feedback bag hair Transmission route device is sent to, so as to the other bandwidth related datas reported packet loss or received at receiving terminal router.Class Type-word section 402 can be included on the number for the type that will be contained in the data in the field of data -1 404 and the field of data -2 406 According to.The field of data -1 404 and the field of data -2 406 can be determined on tunnel number, tunnel comprising can be used for helper Any information of the tunnel information for abandoning bag number etc. in road bandwidth, tunnel.The He of data field 404 is shown in Fig. 4 B chart The example of the probable value of type field 402 in 406.
The information transmitted in IP bags shown in such as Fig. 3 and Fig. 4 is encapsulated in can be also used for bag caching and arrange again Sequence.Because the time delay in each tunnel may be different, when two continuous vpn tunnelings wrapped by combining of same TCP sessions When being sent to VPN peer devices, described two continuous bags are reached out of order, because described two continuous bags are via two differences Tunnel is route.If TCP sessions receive out-of-sequence packet from VPN, TCP sessions will be because TCP is transmitted again and is slowed down.Therefore, exist Before relatively slow bag is reached or before expiration time is passed through, receiving terminal should cache the too early bag occurred.Cached by this, What is occurred before expiration time delays bag and will be forwarded to destination apparatus in order.This caching helps to optimize end-to-end handling capacity.
It should be noted that embodiment described herein is discussed in the context of VPN connections often.These discussions are presented, To show the example embodiment of the connection combined.Inventive concepts not limited to this described in the claims herein connects Connect.Indeed, it is possible to implement wherein to obtain and exchange enough data by embodiments of the invention, dynamically to supervise Any connection of the bandwidth of multiple communication paths is controlled, the bandwidth is used for data transfer sessions.
As discussed above, each bag can be assigned two different sequence number, i.e. global sequences number (GSN) and per tunnel Sequence number (PTSN).These numerals can be used for contributing to bag to cache and rearrangement operation.After Jiang Bao is delivered to upper strata, Receiving terminal can update next expected per tunnel sequence number (NE-PTSN) and next expected global sequence number (NE- GSN)。
It is described below how the bag after reception and decrypted packet can be cached or be forwarded to one of destination apparatus Method.
If 1. the GSN of bag is equal to zero, destination apparatus is forwarded the packets to immediately.
2. check whether the PTSN of bag is equal to NE-PTSN.If it is not, then in order by all bags with smaller GSN Fall out and (be forwarded to destination apparatus).Keep bag untreated.
3. update NE-PTSN (that is, NE-PTSN being set to PTSN+1).
If 4. GSN is less than NE-GSN, being forwarded to destination apparatus.
If 5. the GSN of bag is equal to NE-GSN, updating NE-GSN (that is, NEGSN being set into GSN+1) and being forwarded to mesh Device for mark.Repeat to update NE-GSN, and if the GSN of caching head is equal to new NE-GSN, then go out caching head from buffer Row.
6. otherwise (GSN is more than NE-GSN), row will be wrapped into by GSN order.
If measured 7. bag is in than the set time in long queue, NEGSN is set to the GSN+1 of bag and in order will Bag and all bags with smaller GSN are fallen out.
Therefore, the encapsulation package informatin discussed in figs. 2 and 3 can be included by helping excellent in response to monitoring packet loss Change tunnel bandwidth and data transfer is optimized by both received packets in help effectively rearrangement data transfer sessions The information of the overall throughput of system (for example, 100).
Fig. 5 illustrates to be based on processor according to the exemplary of implementation systems, devices and methods that can be used for of some embodiments System 500.System 500 based on processor can represent the framework of communications router 106 and 108.CPU (CPU) 501 it is coupled to system bus 502.CPU 501 can be any universal cpu, or can be configured to implement to teach above The dedicated cpu shown.As long as CPU 501 (and other components of system 500) supports invention operation as described herein, then originally Invention is not limited by CPU 501 (or other components of example system 500) framework.CPU 501 can be performed to be retouched herein The various logic instruction stated.For example, CPU 501 can perform machine level according to the exemplary operational flow described above in association with Fig. 2 Instruction.When performing the instruction for the operating procedure for representing illustrated in fig. 2, CPU 501 is changed into specifically being configured to basis The application specific processor of the dedicated computing platform of the various embodiments operation of teachings described herein.
System 500 also includes random access memory (RAM) 503, and it can be SRAM, DRAM, SDRAM etc..RAM 503 Can be storage can by the programmed instruction performed of CPU 501 auxilary unit.System 500 includes read-only storage (ROM) 504, it can be PROM, EPROM, EEPROM etc..As is well known in the art, RAM 503 and ROM 504, which is preserved, uses Family and system data and program.
System 500 also includes input/output (I/O) adapter 505, communication adapter 511, user interface adapter 508 With display adapter 509.In certain embodiments, I/O adapters 505, user interface adapter 508 and/or communication adapter 511 can allow the user to interact with system 500, to input information.
I/O adapters 505 will such as hard disk drive, compact disk (CD) driver, floppy disk, tape drive Deng one or more of storage device 506 be connected to system 500.In addition to RAM 503, storage device be used for perform with The relational storage demand for the operation discussed in upper embodiment.Communication adapter 511 is adapted is coupled to net by system 500 Network 512, this can be enabled information to through thus network 512 (for example, internet or other wide area networks, LAN, public or privately owned Switched telephone network, wireless network, any combinations of above-mentioned item) input system 500 and/or exported from system 500.Communication adaptation Device 511 can be considered as network interface, and system 500 can include multiple communication adapters 511.User interface adapter 508 by user input apparatus, such as keyboard 513, indicator device 507 and microphone 514 and/or output device, such as loudspeaker 515 are coupled to system 500.Display adapter 509 is driven to control the display in display device 510 by CPU 501.Display is suitable Orchestration 509 transmits the instruction of the state of the various number pixels for converting or controlling to use for display device 510, with regarding Information needed is presented to user on feeling.Such instruction include be used for from reach the change state of closing, set specific color, intensity, The instruction of duration etc..Each such a instruction composition instruction is presented for controlling how in display device 510 display and Any content is shown in display device 510.
Fig. 6 illustrates the network environment based on network environment illustrated in Figure 1A.In the LAN interface of communications router 106 One be connected in main frame 103, and the LAN interface of communications router 108 be connected to main frame 105.The He of main frame 103 105 are respectively in website 102 and 104.Multiple tunnels can be set up between communications router 106 and 108 by network 110 Road.Communications router 106 can pass through the one of one or more wan interfaces of communications router 106 and communications router 108 Individual or multiple wan interfaces set up tunnel with communications router 108.For illustration purposes only, communications router 108 passes through three Internet 110 is connected to, and communications router 106 is connected to network 110 by two.Network 110 can be with It is interference networks, such as internet.
When data-bag lost or the discarding for the data session set up between communications router 106 and 108, communication lines by Device 108 determines there are one or more lost data packets.If resending lost data packets by communications router 106, Bandwidth consumption increase, this can cause network congestion.The present invention discloses how communications router 108 can estimate lost data packets Content so that communications router 106 need not resend lost data packets.
Fig. 7 is the flow chart for illustrating process according to an embodiment of the invention.With reference to Figure 1A observations, for example, as master The transmission of machine 103 is when going to the packet of main frame 105, by communications router 106, internet 110 and communications router 108 by number According to bag main frame 105 is transferred to from main frame 103.When packet reaches communications router 106 from main frame 103, communications router 106 Data are forwarded a packet to by communications router 108 by internet 110.Fig. 2 process is then performed at communications router 108. In step 701, communications router 108 is by polymerizeing connection from the received data packet of communications router 106.If packet belongs to Data session, then when 108 received data packet of communications router, determine the data session that packet belongs in a step 702. In step 703, packet can be subsequently used for producing the one or more previous and/or next packet of data session.Communication Router 108 can use the different technologies being discussed in more detail below to perform step 703.
Fig. 8 is the flow chart for illustrating process according to an embodiment of the invention.For example, in main frame 103 and main frame 105 Between set up data session.The number of data session will be belonged to by communications router 106, communications router 108 and internet 110 According to bag main frame 105 is transferred to from main frame 103.In step 801, communications router 108 receives the packet of data session.Communication Router 108 can then determine whether there is any lost data packets in step 802.If there is lost data packets and It is not first in the order of data session or last that lost data packets are determined in step 803, then in step 804 can be with base Lost data packets are produced in the last data bag of data session and next packet.If lost data packets are in the suitable of data session It is first in sequence or last, then communications router 108 transmits the request to communications router 106 to send out again in step 805 Lost data packets are sent, because producing based on only one or multiple last data bags or one or more next packets and losing data Bag may be infeasible.If for example, communications router 108 is configured to by calculating the net negative of one or more last data bags The average value of the net load of lotus and one or more next packets produces lost data packets, then communications router 108 can not Lost data packets are enough produced based on only one or multiple last data bags or only one or multiple next packets.If using only Last data bag or only next packet, then the lost data packets produced may be more inaccurate.In step 806, process terminates.
According to one embodiment, communications router 108 calculates one or more last data bags and one or more next The variance and standard deviation of the net load value of packet.In a variation, by plus one or more last data bags and/ Or the standard deviation and average value of the net load value of one or more next packets produce the net load of lost data packets. In another variation, pass through the net load value from one or more last data bags and/or one or more next packets Standard deviation is subtracted in average value to produce the net load of lost data packets.The scope of the present invention is not limited to plus or minus standard Difference and average value so that the net load of lost data packets can be by using the other of average value, variance yields and standard deviation Combine to calculate, or variance yields or standard deviation can be equal to.
In a variation, communications router 108 is determined whether there is by checking the global sequence number of packet Lost data packets.For example, when receiving the packet with global sequence number 0001,0002,0003,0004 and 0006, communication Router 108 can determine that the packet with global sequence number 0005 is lost data packets.Communications router 108 then can be with Tool is produced based on the last data bag with global sequence number 0004 and with next packet of global sequence number 0006 There are the lost data packets of global sequence number 0005.
It is hereafter to produce loss number by calculating net load P1, P2 and P3 of three last data bags average value respectively According to the net load P4 of bag explanation.For example:
The D1 08 00 45 00 of 00 40 B8 of Pl=0000,50 A5 AC 00 07 53 02 17
The ID CO A8 of 40 00 2B of P2=0010 05 D4,58 B4,06 F4 4A D8 5C 63
The 4A AB DB A4 F8 50 10 of 01 02 00 50 0B F6 9E FC of P3=0020 46
In a variation, being averaged for net load is calculated by individually adding each byte of net load as follows Value:
P4=(Pl+P2+P3)/3
P4=(the 10F 115 155 of 0,030 06 116 110 154 96 19A of F0 1A2 109 18D of C9 208 B8)/3D of 02 5C 5A of 3P4=10,71 50 8B, 43 58 84 32 88 AD 5A 5C 71
In another variation, as follows by being added together to the byte of all net loads to calculate being averaged for net load Value:
P4=(Pl+P2+P3)/3
P4=(3007171154FlA200000000000000000000)/3
P4=10025D05C6FB3600000000000000000000
According to one embodiment of present invention, produced based on one or more last data bags of only same data session Lost data packets.If for example, the packet with GSN 0005 is lost data packets, based on the previous of GSN 0004 Packet produces lost data packets.When regenerating lost data packets as new data packets at communications router 108, new number GSN 0005 is assigned according to bag.Last data bag and new data packets and new data packets are then transferred to main frame in the following order 105:Last data bag with GSN 0004, the new data packets with GSN 0005 and next data with GSN 0006 Bag.When new data packets are based only upon last data bag, net load and the last data bag of new data packets, i.e. with GSN 0004 Packet net load it is identical.
In a variation, PTSN is assigned to new data packets.It is randomly assigned the PTSN of new data packets.Due to new number Produce and do not received by any tunnel at communications router 108 according to bag, therefore be randomly assigned PTSN.
Or, the PTSN of lost data packets is determined, and be assigned to the PTSN of new data packets and the PTSN of lost data packets It is identical.For example, communications router 108 receives the data with PTSN 0001A, 0002A, 0003A, 0005A by tunnel 103A Bag.The GSN of received data packet is 0001,0003,0004 and 0007 respectively.Being received by tunnel 103B has GSN 0002 With 0005 packet.Therefore, communications router 108 determines that the packet with GSN 0006 and PTSN 0004A is to lose number According to bag.Therefore, new data packets are assigned GSN 0006 and PTSN 0004A.
In another variation, communications router 106 is sent to communications router 108 by message is managed.Manage message package Include the GSN of packet and the corresponding PTSN of packet list.Therefore, as the GSN of known missing packet, it may be determined that The PTSN of lost data packets.
In a variation, the net load of new data packets is being averaged for the net load of one or more last data bags Value.The header of new data packets contains the header identical information with other packets of data session, and difference is GSN. The GSN of new data packets is different from other packets of data session, because GSN should be unique.
According to one embodiment of present invention, lost data packets are produced based on only one or multiple next packets.For example, If the packet with GSN 0005 is lost data packets, is produced based on next packet with GSN 0006 and lose number According to bag.When producing lost data packets as new data packets at communications router 108, new data packets are assigned GSN 0005. When new data packets are based only upon a next packet, the net load of new data packets can be with next packet, i.e. with GSN The net load of 0006 packet is identical.Or, when new data packets be based on more than one next packet when, new data packets it is net Load can be the average value of the net load of one or more next packets.
According to one embodiment of present invention, communications router 108 has audio frequency process function.When in communications router When receiving audio pack at 108, audio pack is provisionally preserved so that the processing unit of communications router 108 can use audio pack Net load, to create audio database.When audio pack contains voice, this may be particularly useful.Processing unit performs sound The lookup of frequency database is to regenerate the net load of lost data packets.For example, word " apple " is come across in audio fragment.Word Language " apple " can be included in one or more packets, and communications router 108 will correspond to the number of word " apple " It is stored according to interior perhaps net load in audio database.For purposes of illustration, word " apple " is included in two packets, That is, the first packet and the second packet.First packet and the second packet are continuous packets.If by communication lines by Device 108 is successfully received the first packet, but does not receive the second packet by communications router 108, then communications router 108 Produced by using the net load of the first packet and corresponding to the net load of the word " apple " in audio database new The second packet.According to the first packet, communications router 108 estimation word be " apple " because its net load contain with At least some parts for the corresponding net load of word " apple " being stored in audio database.Communications router 108 then will First packet and the second new packet are sent to main frame 105.
According to one embodiment of present invention, when main frame 103 by video data transmission to main frame 105 when, communications router 108 produce lost data packets using interpolation technique.For example, each frame of video is encapsulated in single packet.It can pass through Using being individually enclosed in one or more of one or more last data bags former frame and by using being individually enclosed in One or more of one or more next packets next frame produces the lost frames being encapsulated in lost data packets.Example Such as, the technology such as non-linear interpolation, arest neighbors interpolation, bilinear interpolation, bicubic interpolation can be used for estimating and regenerate to lose Lose the net load of packet.
According to one embodiment of present invention, communications router 108 uses the text data being stored in its storage media Storehouse, to produce lost data packets.For example, main frame 103 passes through communications router 106 and 108 by transmission of textual data to master Machine 105.Configure communications router 106 so that each character is transmitted in independent packet, and informs about communications router 108 each packets only include a character.First, second, and third packet is continuously transmitted by main frame 103.Communication lines First and the 3rd packet are successfully received by device 108, but do not receive the second packet.Because the second packet is to lose data Bag, therefore the first packet is last data bag and the 3rd packet is next packet.For purposes of illustration, the first number According to including character " a ", and the 3rd packet contains character " d ".Communications router 108 determines the second data-bag lost, and And first, second, and third packet net load formation three character terms.Communications router 108 then looks up dictionary, so as to Determine word.Because the 3rd character that the first character of three character terms is defined as " a " and three character terms is defined as " d ", Therefore the second character can be estimated as " n " by communications router 108.
However, it is assumed that the first character and the 3rd character another possibility is that word is " addition ".In a variation, Communications router 108 randomly selects word from the different possibilities for word.In another variation, communications router 108 select word based on historical data.If for example, according to last data bag, word is higher than word for the possibility of " addition " For " and " possibility, then communications router 108 select " to add ".Therefore, the new data packets of generation, which have, corresponds to character " d " Net load.
In a variation, communications router 108 is by means of " space " character or corresponding to any word of punctuation mark Accord with determining that word is three character terms.Or, first corresponding to word or the packet of last character include referring to Show that packet includes the first character of word or the designator of last character.
According to one embodiment of present invention, when multi-medium data is transferred to main frame 105 by main frame 103, it is possible to implement Different interpolation techniques produce lost data packets.For example, main frame 103 implement for packets of audio data transition coding and then Packets of audio data is transferred to main frame 105.Packets of audio data is therefore including conversion coefficient.If there is dropped audio packet simultaneously And communications router 108 receives previous packets of audio data and next packets of audio data, then communications router 108 can use previous Dropped audio packet is produced with the conversion coefficient of next packets of audio data.In a variation, previous and next audio The average value of the conversion coefficient of packet can be calculated and as the new conversion coefficient corresponding to dropped audio packet.It is then logical Cross and be applied to new conversion coefficient to produce dropped audio packet by inverse transformation.In another variation, by different weight distributions To the conversion coefficient of previous and next packets of audio data.Then addition weighted transformation coefficient, corresponds to dropped audio number to provide According to the new conversion coefficient of bag.
It will be appreciated that in all above example, instead of using a last data bag and a next packet, Duo Geqian One and next packet can be used for produce lost data packets.
According to one embodiment of present invention, when communications router 108 by internet 110 from main frame 103 receive data Bao Shi, the provisionally data storage bag within the time predefined cycle of communications router 108.Packet is stored in communications router In 108 storage media so that packet can be used for regenerating any lost data packets.When there are lost data packets, Communications router 108 can use institute's data storage bag to regenerate lost data packets.For example, with GSN 0001,0002, 0003 and 0004 packet is received at communications router 108 and is stored in storage media.Number with GSN 0005 Received according to Bao Wei, and be therefore lost data packets.Communications router 108, which is then calculated, has GSN 0001,0002,0003 With the average value of the net load of 0004 packet.Average value is subsequently used as the net load and GSN of produced new data packets 0005 is assigned to new data packets.New data packets are then transferred to main frame 105.
In a variation, the time predefined cycle is set by the user of communications router 108 and/or keeper. In another variation, the overall latency undergone based on the packet by being sent to communications router 108 from communications router 106 And determine the time predefined cycle.For purposes of illustration, when communications router 108 is configured to use at least four packets To produce during lost data packets, the time predefined cycle is set so that at least four packets are stored in storage in preset time In media.Therefore, in order to set the time predefined cycle, it is determined that for receiving the time needed for each packet, i.e. time delay, and And based on the time-delay calculation time predefined cycle.
According to one embodiment of present invention, lost data packets are produced by approximate function.Approximate function is using before multiple The recurrence of the net load of one packet determines the net loads of lost data packets.For example, being created back by dependent variable and independent variable Return analysis model.Dependent variable is the value of net load.In a variation, independent variable is GSN.Or, independent variable is the time.Make The net load of lost data packets is estimated with regression analysis, and therefore lost data packets regenerate and are sent to main frame 105.
For example, being received at communications router 108 has the and of GSN 0001,0002,0003,0004,0005,0006 0007th, 0008,0009,0010 and 0012 packet.Data-bag lost with GSN 0011.Therefore, communications router 108 The net load of lost data packets is regenerated by the regression analysis model for the net load for creating received data packet.Dependent variable (P) be packet net load value, and independent variable (X) is the GSN of packet.Received packet and regression analysis mould is illustrated below The net load value (P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P12) of type:
Pl=97
P2=98
P3=99
P4=100
P5=101
P6=102
P7=103
P8=104
P9=105
P10=106
P12=108
Therefore, when creating the regression analysis model of net load value relative to correspondence GSN, approximate function is obtained as below:
P=96+X
Using this approximate function, the net load of the lost data packets P11 with GSN 0011 is calculated as below:
P11=96+0011=107
Therefore, communications router 108 regenerates lost data packets by the net load value equal to 107.
It should be noted that in order to be easier to illustrate, the net load value in examples detailed above is example values.It will be appreciated that bag is net negative Charge values generally can be larger with larger and packet size.
According to one embodiment of present invention, main frame 105, which is configured to perform, estimates and regenerates lost data packets. For example, software, program or application program may be mounted at main frame 105, to regenerate lost data packets using above-mentioned technology.
Brief description of the drawings
Figure 1A illustrates to be used to optimize the whole system of the handling capacity of multiple bandwidth varying connections according to an embodiment of the invention System;
Figure 1B illustrates network environment according to various embodiments of the present invention;
Fig. 1 C illustrate the system 100 adjusted according to embodiment, and the system is configured to the multiple variable strip zones optimized integration The handling capacity of width connection;
Fig. 2A illustrates to describe according to an embodiment of the invention the flow of the method for increasing the handling capacity for combining connection Figure;
Fig. 2 B illustrate to describe according to an embodiment of the invention the flow of the method for increasing the handling capacity for combining connection Figure;
Fig. 3 is the example of the type of information for illustrating to be encapsulated according to an embodiment of the invention in transmitted IP bags Embodiment;
Fig. 4 A are to illustrate that the example that can be encapsulated in the type for feeding back the information in bag according to an embodiment of the invention is real Apply example;
Fig. 4 B are the charts of the probable value of the field for the feedback bag for illustrating Fig. 4 A;
Fig. 5 describes the block diagram for being adapted and implementing the processing system of the present invention;
Fig. 6 illustrates network environment according to an embodiment of the invention;
Fig. 7 is the flow chart for illustrating process according to an embodiment of the invention;
Fig. 8 is the flow chart for illustrating process according to an embodiment of the invention.

Claims (20)

1. it is a kind of at the first communications router perform be used for regenerate by polymerization be connected to first communication lines by The method of the lost data packets for the data session set up between device and the second communications router, it comprises the following steps:
(a) packet for belonging to data session is received from second communications router by the polymerization connection, wherein described Packet is gone to by accessibility first main frame of first communications router;
(b) packet is transferred to first main frame;
(c) one or more lost data packets are determined whether there is;
If there is one or more lost data packets:
(d) global sequence number (GSN) of one or more of lost data packets is determined and per tunnel sequence number (PTSN);
(e) net load of one or more of lost data packets is regenerated;And
(f) transmission includes one or more new data packets of the net load of one or more of lost data packets, wherein described One or more new data packets are assigned the GSN and PTSN of one or more of lost data packets.
2. according to the method described in claim 1, wherein one or more last data bags based on same data session and/or One or more next packets of same data session and perform step (e).
3. method according to claim 2, wherein being based essentially on one or more of last data bags and/or one Or the net load of multiple next packets average value and perform step (e).
4. method according to claim 2, wherein being based essentially on one or more of last data bags and/or one Or the net load of multiple next packets variance yields and average value and perform step (e), wherein using one or more of The average value of the net load of last data bag and/or one or more next packets and the combination of standard deviation are to calculate State the net load of lost data packets.
5. according to the method described in claim 1, wherein being based essentially on the lookup of audio database and performing step (e).
6. according to the method described in claim 1, wherein being based essentially on using non-linear interpolation, arest neighbors interpolation, bilinearity One or more of interpolation and bicubic interpolation and perform step (e).
7. according to the method described in claim 1, wherein being based essentially on the lookup of text database and performing step (e);Its In when there is more than one possibility in the net load for the lost data packets, based on the possibility produced from historical data And select one in the more than one possibility.
8. according to the method described in claim 1, wherein being based essentially on following operation performs step (e):
(i) average value of the conversion coefficient of one or more last data bags and/or one or more next packets is calculated;Its The average value of middle conversion coefficient is used as the first conversion coefficient of the lost data packets;And
(ii) inverse transformation is applied to first conversion coefficient;The inverse transformation wherein based on first conversion coefficient and Regenerate the lost data packets.
9. according to the method described in claim 1, wherein performing step (e) by following operation:
(i) regression analysis is created using the net load of one or more last data bags and/or one or more next packets The net load of model, wherein packet is dependent variable;
(ii) approximate function is determined according to the regression analysis model;
(iii) net load of one or more of lost data packets is calculated using the approximate function.
10. method according to claim 9, wherein the independent variable of the regression analysis model is time, packet GSN, or the GSN of time and packet combination.
11. a kind of system including the first communications router and the second communications router, wherein the first communications router bag Include:
Multiple network interfaces;
At least one processing unit;
Media are locally stored at least one, and it is stored can be performed to regenerate by polymerization by least one described processing unit It is connected to the lost data packets for the data session set up between first communications router and second communications router Programmed instruction, it comprises the following steps:
(a) packet for belonging to data session is received from second communications router by the polymerization connection, wherein described Packet is gone to by accessibility first main frame of first communications router;
(b) packet is transferred to first main frame;
(c) one or more lost data packets are determined whether there is;
If there is one or more lost data packets:
(d) global sequence number (GSN) of one or more of lost data packets is determined and per tunnel sequence number (PTSN);
(e) net load of one or more of lost data packets is regenerated;And
(f) transmission includes one or more new data packets of the net load of one or more of lost data packets, wherein described One or more new data packets are assigned the GSN and PTSN of one or more of lost data packets.
12. system according to claim 11, wherein one or more last data bags based on same data session and/ Or same data session one or more next packets and perform step (e).
13. system according to claim 12, wherein being based essentially on one or more of last data bags and/or one The average value of the net load of individual or multiple next packets and perform step (e).
14. system according to claim 12, wherein being based essentially on one or more of last data bags and/or one The variance yields and average value of the net load of individual or multiple next packets and perform step (e), wherein using one or many The average value of the net load of individual last data bag and/or one or more next packets and the combination of standard deviation are calculated The net load of the lost data packets.
15. system according to claim 11, wherein being based essentially on the lookup of audio database and performing step (e).
16. system according to claim 11, wherein being based essentially on using non-linear interpolation, arest neighbors interpolation, two-wire Property one or more of interpolation and bicubic interpolation and perform step (e).
17. system according to claim 11, wherein being based essentially on the lookup of text database and performing step (e); Wherein when the net load for the lost data packets has more than one possibility, based on the possibility produced from historical data Property and select one in the more than one possibility.
18. system according to claim 11, wherein being based essentially on following operation performs step (e):
(i) average value of the conversion coefficient of one or more last data bags and/or one or more next packets is calculated;Its The average value of middle conversion coefficient is used as the first conversion coefficient of the lost data packets;And
(ii) inverse transformation is applied to first conversion coefficient;The inverse transformation wherein based on first conversion coefficient and Regenerate the lost data packets.
19. system according to claim 11, wherein performing step (e) by following operation:
(i) regression analysis is created using the net load of one or more last data bags and/or one or more next packets The net load of model, wherein packet is dependent variable;
(ii) approximate function is determined according to the regression analysis model;
(iii) net load of one or more of lost data packets is calculated using the approximate function.
20. system according to claim 19, wherein the independent variable of the regression analysis model is time, packet The GSN of GSN or time and packet combination.
CN201580055263.5A 2015-04-24 2015-04-24 Method and system for estimating lost data Active CN107078861B (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/IB2015/052998 WO2016170399A1 (en) 2015-04-24 2015-04-24 Methods and systems for estimating missing data

Publications (2)

Publication Number Publication Date
CN107078861A true CN107078861A (en) 2017-08-18
CN107078861B CN107078861B (en) 2020-12-22

Family

ID=57142936

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201580055263.5A Active CN107078861B (en) 2015-04-24 2015-04-24 Method and system for estimating lost data

Country Status (3)

Country Link
CN (1) CN107078861B (en)
GB (1) GB2542219B (en)
WO (1) WO2016170399A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109324757A (en) * 2018-08-22 2019-02-12 深圳前海微众银行股份有限公司 Block chain data capacity reduction method, device and storage medium

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023184200A1 (en) * 2022-03-30 2023-10-05 Intel Corporation Conference call system with feedback

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040136564A1 (en) * 2002-08-20 2004-07-15 Helena Roeber System and method for determining an input selected by a user through a virtual interface
US6810377B1 (en) * 1998-06-19 2004-10-26 Comsat Corporation Lost frame recovery techniques for parametric, LPC-based speech coding systems
EP1086452B1 (en) * 1999-04-19 2005-09-14 AT & T Corp. Method for performing packet loss concealment
US20060104366A1 (en) * 2004-11-16 2006-05-18 Ming-Yen Huang MPEG-4 streaming system with adaptive error concealment
US20080228435A1 (en) * 2007-03-14 2008-09-18 Korea Advanced Institute Of Science And Technology Measurement system for correcting overlay measurement error
US7586899B1 (en) * 2000-08-18 2009-09-08 Juniper Networks, Inc. Methods and apparatus providing an overlay network for voice over internet protocol applications
US20090310485A1 (en) * 2008-06-12 2009-12-17 Talari Networks Incorporated Flow-Based Adaptive Private Network with Multiple Wan-Paths
CN101902315A (en) * 2009-06-01 2010-12-01 华为技术有限公司 Retransmission method, device and communication system based on forward error correction
CN102045362A (en) * 2010-12-21 2011-05-04 北京高森明晨信息科技有限公司 Data transmission method and system based on UDP protocol
US20110191111A1 (en) * 2010-01-29 2011-08-04 Polycom, Inc. Audio Packet Loss Concealment by Transform Interpolation

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040236855A1 (en) * 2003-05-23 2004-11-25 Amir Peles Multi-link tunneling
US9531508B2 (en) * 2009-12-23 2016-12-27 Pismo Labs Technology Limited Methods and systems for estimating missing data
CN103618678A (en) * 2013-11-18 2014-03-05 北京星网锐捷网络技术有限公司 Method, device and system for self-adaptation multiple-link aggregation

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6810377B1 (en) * 1998-06-19 2004-10-26 Comsat Corporation Lost frame recovery techniques for parametric, LPC-based speech coding systems
EP1086452B1 (en) * 1999-04-19 2005-09-14 AT & T Corp. Method for performing packet loss concealment
US7586899B1 (en) * 2000-08-18 2009-09-08 Juniper Networks, Inc. Methods and apparatus providing an overlay network for voice over internet protocol applications
US20040136564A1 (en) * 2002-08-20 2004-07-15 Helena Roeber System and method for determining an input selected by a user through a virtual interface
US20060104366A1 (en) * 2004-11-16 2006-05-18 Ming-Yen Huang MPEG-4 streaming system with adaptive error concealment
US20080228435A1 (en) * 2007-03-14 2008-09-18 Korea Advanced Institute Of Science And Technology Measurement system for correcting overlay measurement error
US20090310485A1 (en) * 2008-06-12 2009-12-17 Talari Networks Incorporated Flow-Based Adaptive Private Network with Multiple Wan-Paths
CN101902315A (en) * 2009-06-01 2010-12-01 华为技术有限公司 Retransmission method, device and communication system based on forward error correction
US20110191111A1 (en) * 2010-01-29 2011-08-04 Polycom, Inc. Audio Packet Loss Concealment by Transform Interpolation
CN102045362A (en) * 2010-12-21 2011-05-04 北京高森明晨信息科技有限公司 Data transmission method and system based on UDP protocol

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109324757A (en) * 2018-08-22 2019-02-12 深圳前海微众银行股份有限公司 Block chain data capacity reduction method, device and storage medium
CN109324757B (en) * 2018-08-22 2021-05-21 深圳前海微众银行股份有限公司 Block chain data capacity reduction method and device and storage medium

Also Published As

Publication number Publication date
GB2542219B (en) 2021-07-21
GB2542219A (en) 2017-03-15
WO2016170399A1 (en) 2016-10-27
CN107078861B (en) 2020-12-22

Similar Documents

Publication Publication Date Title
US10958469B2 (en) Methods and systems for increasing wireless communication throughput of a bonded VPN tunnel
CN106576073B (en) Method and system for transmitting data through aggregated connections
US9531508B2 (en) Methods and systems for estimating missing data
US10116591B2 (en) Methods and systems for transmitting data through an aggregated connection
CN103563475B (en) For the multi-route management framework and agreement using multiple description coded mobile multimedia service
US9019827B1 (en) Throughput optimization for bonded variable bandwidth connections
JP2005507211A5 (en)
CN104813621A (en) Link adaptation for multi-hop route in wireless mesh network
KR20080091131A (en) Digital object routing
CN103428802A (en) Methods and apparatus for virtual soft handoff
EP3248323B1 (en) Method and system for rate adaptation for data traffic
EP2033425B1 (en) Capability exchange between network entities in wimax
CN107404441B (en) Method and equipment for data stream splitting in slicing network
US11943060B2 (en) Methods and systems for transmitting packets
EP3637704A1 (en) Data transmission method and device
JP2014127790A (en) Information processing device, method and program
CN107078861A (en) Method and system for estimating loss data
CN106797281A (en) For the method and system by the connection transmission data that are polymerized
CN107787565A (en) The channel coding of real-time wireless service
CN107484206B (en) Method and device for realizing link load balance in wireless local area network
CN107959947B (en) Data transmission method, device and base station
CN102843704B (en) The method and system of wireless network controller for obtaining base-station transmission band width thresholding
JP5720007B2 (en) Mobile terminal device, communication device for communicating with the same, and communication network including them
CN113162866A (en) Message transmission method, communication equipment and medium
WO2010083936A1 (en) Method for packet communication

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: 1237557

Country of ref document: HK

GR01 Patent grant
GR01 Patent grant