IP Library Granted Patent US 8,307,115
Granted Patent B1
US 8,307,115 · App. 12/151,839 · Granted Nov 6, 2012

Network memory mirroring

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,307,115
App. No.
12/151,839
Granted
Nov 6, 2012
Kind
B1
Abstract

A method, system, and computer program for network memory mirroring. Data sent via a local-area network is intercepted at a first hardware appliance of a plurality of hardware appliances in response to a first request for the data. A determination is performed of whether the data has been stored previously in a long-term storage in the first hardware appliance. The data is stored in the long-term storage in the first hardware appliance based on the determination. The data is sent to a second hardware appliance of the plurality of hardware appliances, the first hardware appliance and the second hardware appliance in communication via the local-area network. The data is stored in the long-term storage in the second hardware appliance.

Claims (39)

1. A method comprising:

intercepting data addressed to a server or to a branch computer via a local-area network at a branch appliance in response to a first request for the data from a computer;

performing a determination of whether the data has been stored previously in a long-term storage in a first central appliance;

storing the data in the long-term storage in the first central appliance based on the determination;

sending the data to a second central appliance; and

storing the data in the long-term storage in the second central appliance in a memory mirroring operation so that the data is stored in two central appliances.

2. The method of claim 1 , further comprising:

intercepting subsequent data sent via the local-area network in response to a request for the subsequent data;

matching the subsequent data to a page in the central appliances; and

performing another determination of whether the subsequent data has been stored previously in a long-term storage in a remote hardware appliance, the central appliances and the remote hardware appliance in communication via a wide-area network.

3. The method of claim 2 , further comprising:

generating retrieve instructions at the central appliance based on a determination that the subsequent data has been stored previously in the long-term storage in the remote hardware appliance; and

sending the retrieve instructions to the remote hardware appliance.

4. The method of claim 2 , further comprising:

sending the subsequent data to the remote hardware appliance based on a determination that the data has not been stored previously in the long-term storage in the remote hardware appliance.

5. The method of claim 2 , further comprising:

generating retrieve instructions and a delta at the central appliance based on a determination that a portion of the subsequent data has been stored previously in the long-term storage in the remote hardware appliance, the delta including only the portion of the subsequent data that has not been stored previously in the long-term storage in the remote hardware appliance; and

sending the retrieve instructions and the delta to the remote hardware appliance.

6. The method of claim 1 , further comprising selecting the branch appliance from a plurality of hardware appliances using a load balancer or a router.

7. The method of claim 1 , wherein contents of the long-term storage of the first central appliance are substantially identical to the contents of the long-term storage of the second central appliance.

8. A system comprising:

a branch appliance and at least two central appliances in communication with each other, the branch appliance comprising:

a first processor configured to intercept data addressed to a server or to a branch computer via a local-area network at the branch appliance in response to a first request for the data from a computer, perform a determination of whether and where the data has been stored previously in a long-term storage, store the data in the long-term storage in a first central appliance based on the determination, and send the data to and store the data in a second central appliance in a memory mirroring operation, and

a first data storage configured to store the data in the long-term storage in the first central appliance based on the determination; and

each central appliance comprising:

a second processor configured to store the data in the long-term storage in the central appliance.

9. The system of claim 8 , wherein the second processor is further configured to intercept subsequent data sent via the local-area network at a central appliance in response to a request for the subsequent data, match the subsequent data to a page in the central appliance, and perform another determination of whether the subsequent data has been stored previously in a long-term storage in a remote hardware appliance, the central appliance and the remote hardware appliance being in communication via a wide-area network.

10. The system of claim 9 , wherein the second processor is further configured to generate retrieve instructions at the central appliance based on the determination that the subsequent data has been stored previously in the long-term storage in the remote hardware appliance, and send the retrieve instructions to the remote hardware appliance.

11. The system of claim 9 , wherein the second processor is further configured to send the subsequent data to the remote hardware appliance based on the determination that the subsequent data has not been stored previously in the long-term storage in the remote hardware appliance.

12. The system of claim 9 , wherein the second processor is further configured to generate retrieve instructions and a delta at the central appliance based on the determination that a portion of the subsequent data has been stored previously in the long-term storage in the remote hardware appliance, the delta including only the portion of the subsequent data that has not been stored previously in the long-term storage in the remote hardware appliance, and send the retrieve instructions and the delta to the remote hardware appliance.

13. The system of claim 8 , further comprising a load balancer configured to select the branch appliance from a plurality of hardware appliances.

14. The system of claim 8 , further comprising a router configured to select the branch appliance from a plurality of hardware appliances.

15. The system of claim 8 , wherein contents of the long-term storage of the first central appliance are substantially identical to the contents of the long-term storage of the second central appliance.

16. A non-transitory computer readable storage medium having embodied thereon a program, the program being executable by a processor for performing a method, the method comprising:

intercepting data addressed to a server or to a branch computer via a local-area network at a branch appliance of a plurality of hardware appliances in response to a first request for the data from a remote computer;

performing a determination of whether the data has been stored previously in a long-term storage in the branch or in a central appliance;

storing the data in the long-term storage in the branch or central appliance based on the determination;

sending the data to a second central appliance of the plurality of hardware appliances, the branch appliance and the second central appliance in communication via the local-area network; and

instructing the second central appliance to store the data in the long-term storage in the second central appliance as a memory mirroring operation.

Assignments (5)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 21, 2022
From: SILVER PEAK SYSTEMS, INC.
To: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP
Reel/Frame 059670/0608 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 9, 2022
From: SILVER PEAK SYSTEMS, INC.
To: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP
Reel/Frame 058943/0750 →
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 May 8, 2008
From: HUGHES, DAVID ANTHONY
To: SILVER PEAK SYSTEMS, INC.
Reel/Frame 020983/0029 →
Continuity (1)
Continuation In Part 11998726 · Nov 30, 2007