IP Library Granted Patent US 8,161,238
Granted Patent B2
US 8,161,238 · App. 12/616,041 · Granted Apr 17, 2012

Systems and methods for avoiding performance degradation due to disk fragmentation in a network caching device

Assignee: Blue Coat 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,161,238
App. No.
12/616,041
Granted
Apr 17, 2012
Kind
B2
Abstract

Storage space on one or more hard disks of a network caching appliance is divided into a plurality S of stripes. Each stripe is a physically contiguous section of the disk(s), and is made up of a plurality of sectors. Content, whether in the form of objects or otherwise (e.g., byte-cache stream information), is written to the stripes one at a time, and when the entire storage space has been written the stripes are recycled as a whole, one at a time. In the event of a cache hit, if the subject content is stored on an oldest D ones of the stripes, the subject content is rewritten to a currently written stripe, where 1≦D≦(S−1).

Claims (25)

1. A method, comprising in a network caching appliance having K hard disks allocated for a cache, where K is an integer, dividing storage space on said hard disks into a plurality S of stripes, each stripe including a contiguous section of one or more of the K disks made up of a plurality of sectors; writing content to said stripes one at a time; and, in the event of a cache hit to content stored by said network caching appliance, if a newest version of said content is stored on an oldest D ones of the stripes, where 1≦D≦(S−1), rewriting the content to a currently written one of said stripes and updating indices to point to said rewritten content, otherwise, not rewriting the content.

2. The method of claim 1 , wherein objects and byte-cache stream information are written to each stripe in a contiguous fashion.

3. The method of claim 2 , wherein as each respective one of the S stripes is completely written, that respective stripe is marked as read only and new content is written to a succeeding one of the S stripes.

4. The method of claim 3 , wherein the respective stripes are recycled as a whole, one at a time commencing from an oldest one of the S stripes, when the storage space is completely written.

5. The method of claim 1 , wherein D=S−1.

6. The method of claim 1 , wherein K>1 and a first one of the S stripes comprises a number of cylinders on each of the K disks.

7. The method of claim 1 , wherein at least some of the S stripes are reserved for use as an object cache.

8. The method of claim 1 , wherein at least some of the S stripes are reserved for use as a byte cache.

9. A network caching appliance, comprising K hard disks allocated as a disk cache, where K is an integer, and a controller, the controller being configured to divide storage space on said hard disks into a plurality S of stripes, each stripe including a contiguous section of one or more of the K disks made up of a plurality of sectors, writing content to said stripes one at a time, and, in the event of a cache hit to content stored by said network caching appliance, if a newest version of said content is stored on an oldest D ones of the stripes, where 1≦D≦(S−1), rewrite the content to a currently written one of said stripes and updating indices to point to said rewritten content, otherwise, not rewrite the content.

10. The network caching appliance of claim 9 , wherein the controller is further configured to write objects and byte-cache stream information to each stripe in a contiguous fashion.

11. The network caching appliance of claim 10 , wherein the controller is further configured to mark each respective one of the S stripes as read only as that respective stripe is completely written, and to write new content to a succeeding one of the S stripes.

12. The network caching appliance of claim 11 , wherein the controller is further configured to recycle the respective stripes as a whole, one at a time, commencing from an oldest one of the S stripes, when the storage space is completely written.

13. The network caching appliance of claim 9 , wherein D=S−1.

14. The network caching appliance of claim 9 , wherein K>1 and a first one of the S stripes comprises a number of cylinders on each of the K disks.

15. The network caching appliance of claim 9 , wherein the controller is further configured to reserve at least some of the S stripes for use as an object cache.

16. The network caching appliance of claim 9 , wherein the controller is further configured to reserve at least some of the S stripes for use as a byte cache.

17. A method, comprising storing content in a contiguous fashion on S stripes allocated on K hard disks of a network caching appliance, where K is an integer; receiving a request for an item included in the content; responding to the request by providing a copy of the item; and, if the item is stored on an oldest D ones of the stripes, where 1≦D≦(S−1), rewriting the item to a currently written one of said stripes and updating indices to point to said rewritten item, otherwise, not rewriting the item.

18. The method of claim 17 , wherein the item comprises an object or byte-cache stream information.

19. The method of claim 17 , wherein D=S−1.

20. The method of claim 17 , wherein at least some of the S stripes are reserved as an object cache.

21. The method of claim 17 , wherein at least some of the S stripes are reserved for byte-cache stream information.

22. A method, comprising:

at a first one of a pair of network caching appliances configured as a proxy pair, wherein byte cache storage space on one or more hard disks of said first network caching appliance is allocated into a plurality S of stripes, each stripe including a contiguous section of one or more of the disks of the first network caching appliance made up of a plurality of sectors, writing byte cache stream information relating to applications communicating across said proxy pair to said S stripes one at a time;

at a second one of the pair of network caching appliances, wherein byte cache storage space on one or more hard disks of said second network caching appliance is allocated into a plurality P of stripes, each stripe including a contiguous section of one or more of the disks of the second network caching appliance made up of a plurality of sectors, writing byte cache stream information relating to the applications to said P stripes one at a time; and

recycling respective ones of the S and P stripes of the first and second network caching appliance asynchronously from one another, as associated byte cache storage space of each of the first and second network caching appliance is filled, wherein said respective stripes are each recycled as a whole.

Assignments (11)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 21, 2019
From: SYMANTEC CORPORATION
To: CA, INC.
Reel/Frame 051144/0918 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 27, 2016
From: BLUE COAT SYSTEMS, INC.
To: SYMANTEC CORPORATION
Reel/Frame 039851/0044 →
RELEASE OF SECURITY INTEREST Recorded Aug 1, 2016
From: JEFFERIES FINANCE LLC
To: BLUE COAT SYSTEMS, INC.
Reel/Frame 039516/0929 →
RELEASE OF SECURITY INTEREST IN PATENT COLLATERAL AT REEL/FRAME NO. 30740/0181 Recorded May 29, 2015
From: JEFFERIES FINANCE LLC
To: BLUE COAT SYSTEMS, INC.
Reel/Frame 035797/0280 →
RELEASE OF SECURITY INTEREST IN PATENT COLLATERAL AT REEL/FRAME NO. 27727/0144 Recorded May 29, 2015
From: JEFFERIES FINANCE LLC
To: BLUE COAT SYSTEMS, INC.
Reel/Frame 035798/0006 →
SECURITY INTEREST Recorded May 22, 2015
From: BLUE COAT SYSTEMS, INC.
To: JEFFERIES FINANCE LLC, AS THE COLLATERAL AGENT
Reel/Frame 035751/0348 →
SECOND LIEN PATENT SECURITY AGREEMENT Recorded Jul 3, 2013
From: BLUE COAT SYSTEMS, INC.
To: JEFFERIES FINANCE LLC, AS COLLATERAL AGENT
Reel/Frame 030740/0181 →
RELEASE OF SECURITY INTEREST IN PATENT COLLATERAL RECORDED AT R/F 027727/0178 Recorded Oct 16, 2012
From: JEFFERIES FINANCE LLC, AS COLLATERAL AGENT
To: BLUE COAT SYSTEMS, INC.
Reel/Frame 029140/0170 →
FIRST LIEN PATENT SECURITY AGREEMENT Recorded Feb 16, 2012
From: BLUE COAT SYSTEMS, INC.
To: JEFFERIES FINANCE LLC
Reel/Frame 027727/0144 →
SECOND LIEN PATENT SECURITY AGREEMENT Recorded Feb 16, 2012
From: BLUE COAT SYSTEMS, INC.
To: JEFFERIES FINANCE LLC
Reel/Frame 027727/0178 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 10, 2009
From: RIDDLE, GUY
To: BLUE COAT SYSTEMS, INC.
Reel/Frame 023499/0417 →
Continuity (1)
Related Publication 20110113195A1 · May 12, 2011