Adaptive Private Network Asynchronous Distributed Shared Memory Services
First Claim
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.
5 Assignments
0 Petitions
Accused Products
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.
-
Citations
20 Claims
-
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. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A method of sharing memory in a multiple parallel path network having disparate communication paths between a transmitting node and a receiving node, the method comprising:
-
compressing in a transmitting node a report on multiple disparate communication paths associated with the transmitting node to a compressed report; fragmenting the compressed report having a transmission size exceeding a transmission capacity of a first communication path into a first fragment and a second fragment; transmitting the first fragment across the first communication path to a receiving node and transmitting the second fragment across a second communication path having a measure of independence from the first communication path to the receiving node that is greater than measured levels of independence of other available communication paths; receiving the first fragment and the second fragment in the receiving node as a combined compressed report; and decompressing the combined compressed report in the receiving node to the report, wherein report data from the report is used to adjust selection of communication paths. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
-
15. A method for adaptively sharing memory in a network utilizing characterizations of multiple disparate communication paths across the network which varies in transmission behavior frequently over time, the method comprising:
-
transmitting fragment packets of a block of memory from a first node over a first path to a second node; receiving the fragment packets of the block of memory in the second node; detecting a potential lost packet incident in the second node; transmitting in response to the potential lost packet incident a potential lost packet indication from the second node over a second path to the first node and a duplicate potential lost packet indication from the second node over a third path to the first node; speculatively retransmitting the potential lost packet from the first node over a fourth path to the second node in response to the potential lost packet indication or the duplicate potential lost packet indication received first in the first node; and combining the received fragment packets including the speculatively retransmitted potential lost packet to recreate the block of memory. - View Dependent Claims (16, 17, 18, 19, 20)
-
Specification