IP Library Granted Patent US 7,539,818
Granted Patent B2
US 7,539,818 · App. 11/461,320 · Granted May 26, 2009

Network object cache engine

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,539,818
App. No.
11/461,320
Granted
May 26, 2009
Kind
B2
Abstract

The invention provides a method and system for caching information objects transmitted using a computer network. A cache engine determines directly when and where to store those objects in a memory (such as RAM) and mass storage (such as one or more disk drives), so as to optimally write those objects to mass storage and later read them from mass storage, without having to maintain them persistently. The cache engine actively allocates those objects to memory or to disk, determines where on disk to store those objects, retrieves those objects in response to their network identifiers (such as their URLs), and determines which objects to remove from the cache so as to maintain sufficient operating space. The cache engine collects information to be written to disk in write episodes, so as to maximize efficiency when writing information to disk and so as to maximize efficiency when later reading that information from disk. The cache engine performs write episodes so as to atomically commit changes to disk during each write episode, so the cache engine does not fail in response to loss of power or storage, or other intermediate failure of portions of the cache. The cache engine also stores key system objects on each one of a plurality of disks, so as to maintain the cache holographic in the sense that loss of any subset of the disks merely decreases the amount of available cache. The cache engine also collects information to be deleted from disk in delete episodes, so as to maximize efficiency when deleting information from disk and so as to maximize efficiency when later writing to those areas having former deleted information. The cache engine responds to the addition or deletion of disks as the expansion or contraction of the amount of available cache.

Claims (9)

1. An apparatus for maintaining a set of network objects, comprising:

a cache engine comprising a processor and a mass storage, said processor for executing instructions to perform a cache mechanism of said cache engine, said cache mechanism configured to cache a plurality of objects including said set of network objects, said processor in communication with a network and configured to send at least one of said set of network objects over said network, said mass storage associated with said cache mechanism, in communication with said processor, wherein said mass storage comprises a disk drive for storing cached objects and said cache engine exclusively maintains access to cached objects stored on the disk drive, independent of another storage system;

a memory, associated with said cache mechanism, in communication with said processor and said mass storage; a hash mechanism configured to locate any of said plurality of objects in said cache mechanism, responsive to an object identifier; and an object storage mechanism, responsive to said hash mechanism, configured to transfer one or more of said plurality of objects between said memory and said mass storage.

2. The apparatus of claim 1 , wherein said mass storage of said cache engine is organized into a plurality of blocks and the hash mechanism returns a block pointer to access any of said plurality of objects stored in said cache engine.

3. The apparatus of claim 2 , wherein said plurality of blocks of the mass storage are directly accessed independently of any file system imposed on the mass storage.

4. The apparatus of claim 2 , wherein the object storage mechanism further includes an optimization means for minimizing the time required to transfer said plurality of blocks.

5. The apparatus of claim 1 , wherein the object storage mechanism further includes a delayed write means for performing an atomic write episode to write a plurality of blocks containing one ore more of said plurality of objects to said mass storage.

6. The apparatus of claim 1 , wherein the mass storage includes a plurality of disk drives and each of said plurality of disk drives is associated with a corresponding disk set descriptor object, each of said corresponding disk set descriptor objects referenced by a disk set object.

7. The apparatus of claim 6 , further including a dynamic mass storage configuration means for updating said disk set object and creating or modifying said corresponding disk set descriptor object responsive to the addition, removal, failure or replacement of one or more of said plurality of disk drives while said apparatus continues to operate.

Assignments (12)
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 →
MERGER Recorded Jun 23, 2016
From: CACHEFLOW INC.
To: BLUE COAT SYSTEMS, INC.
Reel/Frame 039127/0664 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 20, 2016
From: MALCOLM, MICHAEL; ZARNKE, ROBERT
To: CACHEFLOW, INC.
Reel/Frame 038958/0007 →
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 →
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 →
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 →
SECOND LIEN PATENT SECURITY AGREEMENT Recorded Feb 16, 2012
From: BLUE COAT SYSTEMS, INC.
To: JEFFERIES FINANCE LLC
Reel/Frame 027727/0178 →
FIRST LIEN PATENT SECURITY AGREEMENT Recorded Feb 16, 2012
From: BLUE COAT SYSTEMS, INC.
To: JEFFERIES FINANCE LLC
Reel/Frame 027727/0144 →