IP Library Granted Patent US 8,452,846
Granted Patent B2
US 8,452,846 · App. 13/208,825 · Granted May 28, 2013

Adaptive private network asynchronous distributed shared memory services

Inventors: Andre N. Fredette (Cary, NC); John Edward Dickey (Apex, NC)
Assignee: Talari Networks Incorporated
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 8,452,846
App. No.
13/208,825
Granted
May 28, 2013
Kind
B2
Abstract

A highly predicable quality shared distributed memory process is achieved using less than predicable public and private internet protocol networks as the means for communications within the processing interconnect. An adaptive private network (APN) service provides the ability for the distributed memory process to communicate data via an APN conduit service, to use high throughput paths by bandwidth allocation to higher quality paths avoiding lower quality paths, to deliver reliability via fast retransmissions on single packet loss detection, to deliver reliability and timely communication through redundancy transmissions via duplicate transmissions on high a best path and on a most independent path from the best path, to lower latency via high resolution clock synchronized path monitoring and high latency path avoidance, to monitor packet loss and provide loss prone path avoidance, and to avoid congestion by use of high resolution clock synchronized enabled congestion monitoring and avoidance.

Claims (32)

1. A method for using distributed shared memory for communicating between loosely coupled computing systems, the method comprising:

calibrating a first time in a first node and a second time in a second node based on a current time received from a network control point (NCP);

transmitting a block of memory from the first node over a first communication path to the second node and a duplicate block of memory from the first node over a second communication path having a measure of independence from the first communication path to the second node that is greater than measured levels of independence of other available communication paths, wherein the block of memory and the duplicate block of memory are both tagged with a corresponding send time according to the calibrated first time;

selecting the block of memory or the duplicate block of memory as the first block of memory received in the second node and tagged with an arrival time according to the calibrated second time, wherein the send time and arrival time of the first block of memory received in the second node are analyzed taking into account previous transmission measurements at the second node and used to generate a second node path quality report; and

transmitting the second node path quality report from the second node to the first node, wherein path selection for transmission of a second block of memory is based on the second node path quality report.

2. The method of claim 1 , wherein the calibrating is repeated over time to adjust the first time in the first node and the second time in the second node to the current time in the NCP.

3. The method of claim 1 , wherein the calibrating is in response to a first clock request message from the first node and in response to a second clock request message from the second node.

4. The method of claim 1 , wherein the calibrating comprises:

transmitting a clock request from the first node over a first path to the NCP and a duplicated clock request from the first node over a second path to the NCP; and

selecting the clock request or the duplicated clock request as the first received clock request in the NCP which responds to the first node with the current time in the NCP.

5. The method of claim 4 further comprises:

transmitting the current time in the NCP from the NCP over a third path to the first node;

transmitting a current time of a second transmit in the NCP from the NCP over a fourth path to the first node; and

selecting the current time in the NCP or the current time of the second transmit as the first received current time in the NCP, wherein the round trip latency of the clock request is minimized.

6. The method of claim 1 further comprising:

transmitting a first node path quality report from the first node to the second node, wherein path selection for transmission of the second node path quality report is based on the first node path quality report.

7. The method of claim 1 , wherein congestion is determined by comparing how many data packets were sent by the first node with an indication how many data packets were received by the second node.

8. The method of claim 7 further comprising:

fragmenting the second block of memory into a first fragment and a second fragment;

transmitting the first fragment from the first node over the first communication path to the second node and the second fragment from the first node over the second communication path to the second node, wherein the first fragment and the second fragment are both tagged with a corresponding send time according to the calibrated first time; and

receiving and combining the transmitted first fragment and the transmitted second fragment as a transmitted second block of memory in the second node and tagged with associated arrival times according to the calibrated second time, wherein an updated second node path quality report is generated based on the send times and arrival times of the first fragment and the second fragment for transmission from the second node to the first node.

9. The method of claim 8 , wherein next path selection for transmission of a next block of memory is based on the updated second node path quality report.

10. An apparatus for using distributed shared memory for communicating between nodes in a loosely coupled computing system, the apparatus comprising:

means for calibrating a first time in a first node and a second time in a second node based on a current time received from a network control point (NCP);

means for transmitting a block of memory from the first node over a first communication path to the second node and a duplicate block of memory from the first node over a second communication path having a measure of independence from the first communication path to the second node that is greater than measured levels of independence of other available communication paths, wherein the block of memory and the duplicate block of memory are both tagged with a corresponding send time according to the calibrated first time;

means for selecting the block of memory or the duplicate block of memory as the first block of memory received in the second node and tagged with an arrival time according to the calibrated second time, wherein the send time and arrival time of the first block of memory received in the second node are analyzed taking into account previous transmission measurements at the second node and used to generate a second node path quality report; and

means for transmitting the second node path quality report from the second node to the first node, wherein path selection for transmission of a second block of memory is based on the second node path quality report.

11. The apparatus of claim 10 , wherein transmission of the second block of memory comprises:

means for fragmenting the second block of memory into a first fragment and a second fragment;

means for transmitting the first fragment from the first node over the first communication path to the second node and the second fragment from the first node over the second communication path to the second node, wherein the first fragment and the second fragment are both tagged with a corresponding send time according to the calibrated first time; and

means for receiving and combining the transmitted first fragment and the transmitted second fragment as a transmitted second block of memory in the second node and tagged with associated arrival times according to the calibrated second time, wherein an updated second node path quality report is generated based on the send times and arrival times of the first fragment and the second fragment for transmission from the second node to the first node.

12. The apparatus of claim 11 , wherein path selection for transmission of a next block of memory is based on the updated second node path quality report.

Assignments (5)
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 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 12, 2011
From: FREDETTE, ANDRE N.; DICKEY, JOHN EDWARD
To: TALARI NETWORKS INCORPORATED
Reel/Frame 026744/0293 →
Continuity (2)
Provisional Application 61372904 · Aug 12, 2010
Related Publication 20120042032A1 · Feb 16, 2012