IP Library Granted Patent US 7,945,736
Granted Patent B2
US 7,945,736 · App. 12/622,324 · Granted May 17, 2011

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,945,736
App. No.
12/622,324
Granted
May 17, 2011
Kind
B2
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 (33)

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 that is locally accessible to the second appliance and that matches the data packet, and determine based on the activity level whether to send the data packet literally from the first appliance to the second appliance or to send an instruction from the first appliance to the second appliance to retrieve the matching data locally, wherein data that is locally accessible to the second appliance is stored in the faster memory or the slower memory.

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 estimate whether the matching data is stored in the slower memory, and slow the rate at which instructions for data retrieval are generated when the activity level of the slower memory is above a maximum activity level and the estimate indicates that the matching data is stored in the slower memory.

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

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

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

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

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

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

10. 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 at the first appliance;

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

identifying any data that is locally accessible to the second appliance and that matches the data packet, wherein data that is locally accessible to the second appliance is stored in the faster memory or the slower memory; and

determining based on the activity level whether to send the data packet literally from the first appliance to the second appliance or to send an instruction from the first appliance to the second appliance to retrieve the matching data locally.

11. The method of claim 10 , further comprising limiting data access to the slower memory in the second appliance.

12. The method of claim 10 , further comprising estimating whether the matching data is stored in the slower memory, and modifying a slower memory 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.

13. The method of claim 10 , wherein the activity level comprises a rate of accesses to the slower memory.

14. The method of claim 10 , wherein the activity level comprises a period of data eviction in the faster memory.

15. The method of claim 10 , wherein the status message indicates an eviction period.

16. The method of claim 10 , wherein the status message indicates stored data in the faster memory.

17. A non-transitory computer readable storage medium having embodied thereon a program, the program being executable by a processor to perform 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 indicating an activity level of the faster memory and the slower memory;

receiving a data packet from the computer at the first appliance;

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

identifying any data that is locally accessible to the second appliance and that matches the data packet, wherein data that is locally accessible to the second appliance is stored in the faster memory or the slower memory; and

determining based on the activity level whether to send the data packet literally from the first appliance to the second appliance or to send an instruction from the first appliance to the second appliance to retrieve the matching data locally.

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

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

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

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/0749 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 9, 2022
From: SILVER PEAK SYSTEMS, INC.
To: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP
Reel/Frame 058943/0865 →
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 Apr 11, 2011
From: HUGHES, DAVID ANTHONY; YIN, ZHIGANG; BURNS, JOHN
To: SILVER PEAK SYSTEMS, INC.
Reel/Frame 026107/0365 →
Continuity (2)
Continuation 11724800 · Mar 15, 2007
Related Publication 20100070605A1 · Mar 18, 2010