IP Library Granted Patent US 7,644,230
Granted Patent B1
US 7,644,230 · App. 11/724,800 · Granted Jan 5, 2010

Dynamic load management of network memory

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 7,644,230
App. No.
11/724,800
Granted
Jan 5, 2010
Kind
B1
Abstract

A system for managing network memory comprises a communication interface and a processor. The communication interface receives a status message from another appliance. The status message indicates an activity level of a faster memory and a slower memory associated with the other appliance. The communication interface also receives a data packet. The processor processes the status message to determine the activity level of the faster memory and the slower memory. The processor also processes the data packet to identify any matching data in the other appliance and estimate whether the matching data is stored in the faster memory based on the activity level. Based on the estimate, the processor determines whether to generate an instruction to retrieve the matching data.

Claims (48)

1. A system for managing network memory, the system comprising:

a first appliance in communication with a collocated computer and in communication with a second appliance via a wide area network, the second appliance including a faster memory and a slower memory;

a communication interface included in the first appliance, the communication interface configured to receive a data packet from the computer and receive a status message from the second appliance, the status message indicating an activity level of the faster memory and the slower memory; and

a processor included in the first appliance, the processor configured to determine the activity level of the faster memory and the slower memory from the status message, identify any data in the second appliance matching the data packet, estimate whether the matching data is stored in the faster memory based on the activity level, generate an instruction to be sent to the second appliance to retrieve the matching data from the faster memory when the matching data is located in the faster memory, generate an instruction to be sent to the second appliance to retrieve the matching data from the slower memory when the matching data is located in the slower memory and the activity level is acceptable, and send the data packet literally from the first appliance to the second appliance via the wide area network when the matching data is not in the faster memory and the activity level is unacceptable.

2. The system of claim 1 wherein the processor is further configured to limit data access to the slower memory in the second appliance.

3. The system of claim 1 wherein the processor is further configured to slow the rate at which instructions for data retrieval are generated if the activity level of the slower memory is above a maximum activity level and the estimation indicates that the matching data is stored in the slower memory.

4. The system of claim 1 wherein the activity level is unacceptable when the activity level of the slower memory is above a maximum activity level.

5. The system of claim 1 wherein the activity level comprises a rate of access to the slower memory.

6. The system of claim 1 wherein the activity level comprises a period of data eviction in the faster memory.

7. The system of claim 1 wherein the status message indicates an acceptable activity level of the slower memory.

8. The system of claim 1 wherein the status message indicates an eviction period.

9. The system of claim 1 wherein the status message indicates stored data in the faster memory.

10. The system of claim 1 wherein the faster memory comprises a random access memory.

11. The system of claim 1 wherein the slower memory comprises a disk memory.

12. A method for managing network memory, the method comprising:

receiving a status message at a communication interface included in a first appliance, the first appliance in communication with a collocated computer and in communication with a second appliance via a wide area network, the second appliance including a faster memory and a slower memory, the status message received from the second appliance and indicating an activity level of the faster memory and the slower memory;

receiving a data packet from the computer;

determining an activity level of the faster memory and the slower memory from the status message;

identifying any data in the second appliance matching the data packet;

estimating whether the matching data is stored in the faster memory based on the activity level;

generating an instruction to be sent to the second appliance to retrieve the matching data from the faster memory when the matching data is located in the faster memory;

generating an instruction to be sent to the second appliance to retrieve the matching data from the slower memory when the matching data is located in the slower memory and the activity level is acceptable; and

sending the data packet literally from the first appliance to the second appliance via the wide area network when the matching data is not in the faster memory and the activity level is unacceptable.

13. The method of claim 12 further comprising the step of limiting data access to the slower memory in the second appliance.

14. The method of claim 12 further comprising modifying a slower memory access count when the activity level of the slower memory is below a maximum activity level and the estimate indicates that the matching data is stored in the slower memory.

15. The method of claim 12 wherein the activity level is unacceptable when the activity level of the slower memory is above a maximum activity level.

16. The method of claim 12 wherein the activity level comprises a rate of accesses to the slower memory.

17. The method of claim 12 wherein the activity level comprises a period of data eviction in the faster memory.

18. The method of claim 12 wherein the status message indicates an acceptable activity level of the slower memory.

19. The method of claim 12 wherein the status message indicates an eviction period.

20. The method of claim 12 wherein the status message indicates stored data in the faster memory.

21. A computer readable storage medium having embodied thereon a program, the program being executable by a processor for performing a method for managing network memory, the method comprising:

receiving a status message at a communication interface included in a first appliance, the first appliance in communication with a collocated computer and in communication with a second appliance via a wide area network, the second appliance including a faster memory and a slower memory, the status message received from the second appliance and indicating an activity level of the faster memory and the slower memory;

receiving a data packet from the computer;

determining an activity level of the faster memory and the slower memory from the status message;

identifying any data in the second appliance matching the data packet;

estimating whether the matching data is stored in the faster memory based on the activity level;

generating an instruction to be sent to the second appliance to retrieve the matching data from the faster memory when the matching data is located in the faster memory;

generating an instruction to be sent to the second appliance to retrieve the matching data from the slower memory when the matching data is located in the slower memory and the activity level is acceptable; and

sending the data packet literally from the first appliance to the second appliance via the wide area network when the matching data is not in the faster memory and the activity level is unacceptable.

22. The computer readable storage medium of claim 21 , wherein the method further comprises limiting data access to the slower memory in the second appliance.

23. The computer readable storage medium of claim 21 , wherein the method further comprises modifying a slower memory access count if the activity level of the slower memory is below a maximum activity level.

24. The computer readable storage medium of claim 21 , wherein the activity level is unacceptable when the activity level of the slower memory is above a maximum activity level.

25. The computer readable storage medium of claim 21 , wherein the activity level comprises a rate of accesses to the slower memory.

26. The computer readable storage medium of claim 21 , wherein the activity level comprises a period of data eviction in the faster memory.

27. The computer readable storage medium of claim 21 , wherein the status message indicates an allowable activity level of the slower memory.

28. The computer readable storage medium of claim 21 , wherein the status message indicates an eviction period.

29. The computer readable storage medium of claim 21 , wherein the status message indicates stored data in the faster memory.

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/0262 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 9, 2022
From: SILVER PEAK SYSTEMS, INC.
To: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP
Reel/Frame 058943/0464 →
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 Mar 15, 2007
From: HUGHES, DAVID ANTHONY; YIN, ZHIGANG; BURNS, JOHN
To: SILVER PEAK SYSTEMS, INC.
Reel/Frame 019109/0961 →