IP Library Granted Patent US 8,370,583
Granted Patent B2
US 8,370,583 · App. 11/202,697 · Granted Feb 5, 2013

Network memory architecture for providing data based on local accessibility

Inventor: David Anthony Hughes (Mountain View, CA)
Assignee: Silver Peak Systems, Inc.
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,370,583
App. No.
11/202,697
Granted
Feb 5, 2013
Kind
B2
Abstract

A network memory system comprises a first appliance and a second appliance. The first appliance receives data and determines whether a portion of the data is locally accessible to the second appliance. The first appliance generates an instruction based on the determination and transfers the instruction to the second appliance over a communication network. The second appliance receives the instruction from the first appliance over the communication network and processes the instruction to obtain the data. The second appliance then transfers the data to a computer.

Claims (51)

1. A network memory system comprising:

a source-site appliance comprising a first processor and a first memory device, and configured to be coupled to a source-site computer via a source-site local area network; and

a destination-site appliance comprising a second processor and a second memory device, and configured to be coupled to a destination-site computer via a destination-site local area network, the source-site computer in communication with the destination-site computer via a wide area network;

wherein the source-site appliance is configured to identify locally accessible data of the destination-site appliance, to intercept transmitted data sent from the source-site computer and directed to the destination-site computer, to perform a determination of whether a portion of the transmitted data corresponds to the locally accessible data of the destination-site appliance, to generate an instruction based on the determination, and to send the instruction to the destination-site appliance over the wide area network; and

wherein the destination-site appliance is configured to receive the instruction from the source-site appliance over the wide area network, to process the instruction to obtain the transmitted data locally if the transmitted data corresponds to the locally accessible data of the destination-site appliance, and to transfer the transmitted data to the destination-site computer.

2. The network memory system of claim 1 wherein the source-site appliance is further configured to generate a plurality of instructions based on the determination.

3. The network memory system of claim 2 wherein the plurality of instructions indicate a plurality of indexes for retrieving the locally accessible data.

4. The network memory system of claim 1

wherein the destination-site appliance is further configured to identify locally accessible data of the source-site appliance, to intercept subsequent transmitted data sent from the destination-site computer and directed to the source-site computer, to perform a second determination of whether a portion of the subsequent transmitted data corresponds to the locally accessible data of the source-site appliance, to generate a second instruction based on the second determination, and to send the second instruction to the source-site appliance via the wide area network; and

wherein the source-site appliance is further configured to receive the second instruction from the destination-site appliance over the wide area network, to process the second instruction to obtain the subsequent transmitted data locally if the subsequent transmitted data corresponds to the locally accessible data of the source-site appliance, and to transfer the subsequent transmitted data to the source-site computer.

5. The network memory system of claim 1 further comprising:

a third-site appliance comprising a third processor and a third memory device, and configured to be coupled to a third-site computer via a third-site local area network, the source-site computer in communication with the third-site computer via the wide area network;

wherein the source-site appliance is further configured to perform a second determination of whether a portion of the transmitted data corresponds to the locally accessible data of the third-site appliance, to generate a second instruction based on the second determination, and to send the second instruction to the third-site appliance over the wide area network; and

wherein the third-site appliance is configured to receive the second instruction from the source-site appliance over the wide area network, to process the second instruction to obtain the transmitted data, and to transfer the transmitted data to the third-site computer.

6. The network memory system of claim 1 wherein the instruction indicates to store the transmitted data in a database.

7. The network memory system of claim 6 wherein the destination-site appliance is further configured to store the transmitted data in the database based on the instruction.

8. The network memory system of claim 1 wherein the instruction indicates to retrieve the locally accessible data of the destination-site appliance from a database.

9. The network memory system of claim 8 wherein the destination-site appliance is further configured to retrieve the locally accessible data of the destination-site appliance from the database based on the instruction.

10. The network memory system of claim 1

wherein the source-site appliance is further configured to send a remaining portion of the transmitted data to the destination-site appliance over the wide area network, the remaining portion of the transmitted data corresponding to transmitted data not locally accessible to the destination-site appliance; and

wherein the destination-site appliance is further configured to receive the remaining portion of the transmitted data over the wide area network, to retrieve the portion of the transmitted data corresponding to the locally accessible data of the destination-site appliance, and to process the portion of the transmitted data and the remaining portion of the transmitted data to obtain the transmitted data.

11. The network memory system of claim 1 wherein the instruction indicates an index within a database for the transmitted data.

12. A method for network memory comprising:

at a source-site appliance, intercepting transmitted data via a source-site local area network, the transmitted data sent from a source-site computer and directed to a destination-site computer, performing a determination of whether a portion of the transmitted data corresponds to locally accessible data of a destination-site appliance, generating an instruction based on the determination, and sending the instruction to the destination-site appliance over a wide area network; and

at the destination-site appliance: receiving the instruction from the source-site appliance over the wide area network, processing the instruction to obtain the transmitted data, and transferring the transmitted data to the destination-site computer.

13. The method for network memory of claim 12 further comprising: at the source-site appliance, generating a plurality of instructions based on the determination.

14. The method for network memory of claim 13 wherein the plurality of instructions indicate a plurality of indexes for retrieving the locally accessible data.

15. The method for network memory of claim 12 , further comprising:

at the destination-site appliance: intercepting subsequent transmitted data via a destination-site local area network, the subsequent transmitted data sent from the destination-site computer and directed to the source-site computer, performing a second determination of whether a portion of the subsequent transmitted data corresponds to locally accessible data of the source-site appliance, generating a second instruction based on the second another determination, and sending the second instruction to the source-site appliance over the wide-area network; and

at the source-site appliance: receiving the second instruction from the destination-site appliance over the wide area network, processing the second instruction to obtain the subsequent transmitted data, and transferring the subsequent transmitted data to the source-site computer.

16. The method for network memory of claim 12 , further comprising:

at the source-site appliance: performing a second determination of whether a portion of the transmitted data corresponds to locally accessible data of a third-site appliance in communication with the third-site computer via a third-site local area network, generating a second instruction based on the second determination, and sending the second instruction to the third-site appliance over the wide area network; and

at the third-site appliance: receiving the second instruction from the source-site appliance over the wide area, network, processing the second instruction to obtain the transmitted data, and transferring the transmitted data to the third-site computer.

17. The method for network memory of claim 12 wherein the instruction indicates to store the transmitted data in a database.

18. The method for network memory of claim 17 , further comprising: at the destination-site appliance, storing the transmitted data in the database based on the instruction.

19. The method for network memory of claim 12 wherein the instruction indicates to retrieve the locally accessible data of the destination-site appliance from a database.

20. The method for network memory of claim 19 , further comprising: at the destination-site appliance, retrieving the locally accessible data from the database based on the instruction.

21. The method for network memory of claim 12 , further comprising:

at the source-site appliance: sending a remaining portion of the transmitted data to the destination-site appliance over the wide area network, the remaining portion of the transmitted data corresponding to transmitted data not locally accessible to the destination-site appliance; and

at the destination-site appliance: receiving the remaining portion of the transmitted data from the source-site appliance over the wide area network, retrieving the portion of the transmitted data corresponding to the locally accessible data of the destination-site appliance, and processing the portion of the transmitted data and the remaining portion of the transmitted data to obtain the transmitted data.

22. The method for network memory of claim 12 wherein the instruction indicates an index within a database for the transmitted data.

23. A network memory system comprising:

a source-site appliance comprising: means for identifying locally accessible data of at least a destination-site appliance, means for intercepting transmitted data sent from a source-site computer and directed to a destination-site computer, means for performing a determination of whether a portion of the transmitted data corresponds to the locally accessible data of the destination-site appliance, means for generating an instruction based on the determination, and means for sending the instruction to the destination-site appliance over a wide area network; and

the destination-site appliance comprising: means for receiving the instruction from the source-site appliance over the wide area network, means for processing the instruction to obtain the transmitted data, and means for transferring the transmitted data to the destination-site computer.

24. The network memory system of claim 23 wherein the instruction indicates to store the transmitted data in a database.

25. The network memory system of claim 23 wherein the instruction indicates to retrieve the locally accessible data from a database.

26. The network memory system of claim 23 ,

wherein the source-site appliance further comprises: means for sending a remaining portion of the transmitted data to the destination-site appliance over the wide area network, the remaining portion of the transmitted data corresponding to transmitted data not locally accessible to the destination-site appliance; and

wherein the destination-site appliance further comprises:

means for receiving the remaining portion of the transmitted data from the source-site appliance over the wide area network, means for retrieving the portion of the transmitted data corresponding to the locally accessible data of the destination-site appliance, and means for processing the portion of the transmitted data and the remaining portion of the transmitted data to obtain the transmitted data.

27. The network memory system of claim 23 wherein the instruction indicates an index within a database for the locally accessible data.

Assignments (5)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 21, 2022
From: SILVER PEAK SYSTEMS, INC.
To: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP
Reel/Frame 059668/0663 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 9, 2022
From: SILVER PEAK SYSTEMS, INC.
To: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP
Reel/Frame 058943/0164 →
RELEASE OF SECURITY INTEREST Recorded Sep 22, 2020
From: GOLUB CAPITAL LLC
To: SILVER PEAK SYSTEMS, INC.
Reel/Frame 053852/0231 →
SECURITY INTEREST Recorded Apr 16, 2019
From: SILVER PEAK SYSTEMS, INC.
To: GOLUB CAPITAL LLC, AS AGENT
Reel/Frame 048921/0455 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 12, 2005
From: HUGHES, DAVID ANTHONY
To: SILVER PEAK SYSTEMS, INC.
Reel/Frame 016895/0459 →
Continuity (1)
Related Publication 20070050475A1 · Mar 1, 2007