IP Library Granted Patent US 9,100,338
Granted Patent B2
US 9,100,338 · App. 14/146,786 · Granted Aug 4, 2015

Flow-based adaptive private network with multiple WAN-paths

Inventors: John Earnest Averi (Cary, NC); Stephen Craig Connors, Jr. (Sunnyvale, CA); John Edward Dickey (Apex, NC); Andrew Joshua Gottlieb (Cupertino, CA)
Assignee: Talari Networks Incorporated
H04L47/50H04L45/00H04L45/123H04L45/125H04L45/24H04L45/26H04L45/302H04L45/42H04L47/125
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,100,338
App. No.
14/146,786
Granted
Aug 4, 2015
Kind
B2
Abstract

Systems and techniques are described which improve performance, reliability, and predictability of networks without having costly hardware upgrades or replacement of existing network equipment. An adaptive communication controller provides WAN performance and utilization measurements to another network node over multiple parallel communication paths across disparate asymmetric networks which vary in behavior frequently over time. An egress processor module receives communication path quality reports and tagged path packet data and generates accurate arrival times, send times, sequence numbers and unutilized byte counts for the tagged packets. A control module generates path quality reports describing performance of the multiple parallel communication paths based on the received information and generates heartbeat packets for transmission on the multiple parallel communication paths if no other tagged data has been received in a predetermined period of time to ensure performance is continually monitored. An ingress processor module transmits the generated path quality reports and heartbeat packets.

Claims (33)

1. A method for path selection within a network utilizing characterizations of multiple communication paths within the network which vary in transmission behavior across the network, the method comprising:

determining a packet for a communication session was previously routed on a one way transmission across a selected first path within the network from a source node to a destination node in accordance with a flow record comprising a measured transmit time at the source node and an arrival time at the destination node for the one way transmission across the selected first path, wherein the packet is a member of a set of sequenced packets tagged for transmission; and

adding a configurable impedance to a queuing time for subsequent packets of the set of sequenced packets to be transmitted from the source node to the destination node across the selected first path prior to switching to a second path within the network from the source node to the destination node.

2. The method of claim 1 , wherein the flow record comprises information pertaining to the selected first path, the measured arrival and transmit times for the one way transmission across the selected first path based on a network node time calibrated to a master clock in a coupled administration point external to nodes in the network, and historical and current path information.

3. The method of claim 1 further comprising:

selecting a best available path if no prior path was previously selected.

4. The method of claim 1 further comprising:

selecting a load balancing impedance value for the configurable impedance to promote efficient load balancing of the communication session, wherein packets have an increased likelihood of arriving in order at the destination node.

5. The method of claim 1 , wherein the configurable impedance is not added to the queuing time for the subsequent packets having high bandwidth streaming data.

6. The method of claim 1 , wherein the flow record further comprises the configurable impedance.

7. The method of claim 6 , wherein the flow record further comprises a mean value of wide area network jitter and a latency penalty.

8. The method of claim 1 , wherein the transmit time at the source node and the arrival time at the destination node are measured according to a calibrated network node time, the network node time calibrated in each node of the network to a master clock in one of the nodes of the network selected as a network control point.

9. A method for path selection in nodes of a network utilizing characterizations of multiple communication paths which vary in transmission behavior across the network, the method comprising:

determining a packet for a communication session was previously routed across a selected path to a destination node in accordance with a flow record, wherein the packet is a member of a set of sequenced packets tagged for transmission;

adding a configurable impedance to a queuing time for subsequent packets of the set of sequenced packets to be transmitted to the destination node across the selected path prior to switching to a different path to the destination node; and

selecting a persistence impedance value for the configurable impedance to bound the packets to the selected path as a single persistent path for the communication session.

10. The method of claim 9 , wherein the destination node requires fewer instances of holding received packets of the set of sequenced packets for reordering.

11. A method for path selection in nodes of a network utilizing characterizations of multiple communication paths which vary in transmission behavior across the network, the method comprising:

determining a packet for a communication session was previously routed across a selected path to a destination node in accordance with a flow record, wherein the packet is a member of a set of sequenced packets tagged for transmission; and

adding a configurable impedance to a queuing time for subsequent packets of the set of sequenced packets to be transmitted to the destination node across the selected path prior to switching to a different path to the destination node, wherein a single persistent path to a peer node is selected while allowing for adaptation by re-selection to a different path if characterizations of the single persistent path change in a way that would cause disruption to the communication session.

12. The method of claim 11 , wherein packets for the communication session are each tagged with a high resolution time stamp in each node based on a network node time calibrated in each node to a master clock in an external administration point remote from each node.

13. The method of claim 12 , wherein communication time between a source node and the destination node is calculated based on the calibrated network node time.

14. A computer readable non-transitory medium storing a computer program which causes a computer system to perform a method for path selection within a network, the method comprising:

determining a packet for a communication session was previously routed on a one way transmission across a selected first path within the network from a source node to a destination node in accordance with a flow record comprising a measured transmit time at the source node and an arrival time at the destination node for the one way transmission across the selected first path, wherein the packet is a member of a set of sequenced packets tagged for transmission; and

adding a configurable impedance to a queuing time for subsequent packets of the set of sequenced packets to be transmitted from the source node to the destination node across the selected first path prior to switching to a second path within the network from the source node to the destination node.

15. The method of claim 14 further comprising:

selecting a load balancing impedance value for the configurable impedance to promote efficient load balancing of the communication session, wherein packets have an increased likelihood of arriving in order at the destination node.

16. The method of claim 14 further comprising:

selecting a persistence impedance value for the configurable impedance to bound the packets to the selected path as a single persistent path for the communication session.

17. The method of claim 14 , wherein the destination node requires fewer instances of holding received packets of the set of sequenced packets for reordering.

18. The method of claim 14 , wherein a single persistent path to a peer node is selected while allowing for adaptation by re-selection to a different path if characterizations of the single persistent path change in a way that would cause disruption to the communication session.

19. The method of claim 14 , wherein packets for the communication session are each tagged with a high resolution time stamp in the source node and the destination node based on a calibrated network node time in each node of the network, the network node time calibrated to a master clock in an external administration point remote from each node.

20. The method of claim 14 , wherein the transmit time at the source node and the arrival time at the destination node are measured according to a calibrated network node time, the network node time calibrated in each node of the network to a master clock in a network administration point separate from each node of the network.

Assignments (4)
RELEASE OF SECURITY INTEREST Recorded Nov 30, 2018
From: PACIFIC WESTERN BANK (AS SUCCESSOR IN INTEREST BY MERGER TO SQUARE 1 BANK)
To: TALARI NETWORKS, INC.
Reel/Frame 047633/0286 →
CHANGE OF ASSIGNEE ADDRESS Recorded Oct 9, 2015
From: ARES VENTURE FINANCE, L.P.
To: ARES VENTURE FINANCE, L.P.
Reel/Frame 036827/0188 →
SECURITY INTEREST Recorded Oct 2, 2015
From: TALARI NETWORKS, INC.
To: ARES VENTURE FINANCE, L.P.
Reel/Frame 036745/0095 →
SECURITY INTEREST Recorded Apr 2, 2014
From: TALARI NETWORKS, INC.
To: SQUARE 1 BANK
Reel/Frame 032578/0944 →
Continuity (5)
Division 13592460 · Aug 23, 2012
Continuation 13353693 · Jan 19, 2012
Continuation In Part 12482766 · Jun 11, 2009
Provisional Application 61060846 · Jun 12, 2008
Related Publication 20140185445A1 · Jul 3, 2014