IP Library Granted Patent US 9,442,850
Granted Patent B1
US 9,442,850 · App. 12/055,261 · Granted Sep 13, 2016

Efficient directory refresh operations in wide area file systems

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 9,442,850
App. No.
12/055,261
Granted
Sep 13, 2016
Kind
B1
Abstract

Methods, apparatuses, and systems directed to reducing network traffic and processing overhead associated with directory refresh operations in wide area network file systems. In a particular implementation, the frequency of synchronization of certain directory contents information, such as security attribute information, that changes less frequently is reduced relative to other types of directory contents information that changes more frequently, such as file and folder names, last modified times, and the like. Other implementations reduce garbage collection overhead for a cached file system by deferring deletion of invalidated objects in a directory until a client application specifically identified the directory.

Claims (55)

1. An apparatus comprising

one or more network interfaces;

a memory;

one or more processors;

computer-readable instructions stored in the memory operable to cause the one or more processors to

maintain, in a local cache, a cached version of directory contents information of a remote file server, the directory contents information including an object time stamp for each file and a child time stamp for each folder, wherein each object time stamp and the child time stamp for a first folder is initially set to one or more first time stamp values;

upon a refresh, receive directory contents information from the remote file server identifying the objects in the first folder corresponding to objects on the remote file server;

add new objects of the first folder to the local cache;

set objects identified in the first folder as corresponding to objects on the remote file server with a second time stamp value;

defer deletion of invalidated objects in the first folder until a client application issues a command identifying the first folder by maintaining the first time stamp values for deleted objects in the first folder; and

delete, responsive to a subsequent directory contents access request from a client application that identifies the first folder, objects in the first folder on the local cache having time stamps older than the child time stamp of the first folder.

2. The apparatus of claim 1 further comprising computer-readable instructions operative to cause the one or more processors to set time stamps for newly created files or folders.

3. The apparatus of claim 1 further comprising computer-readable instructions operative to cause the one or more processors to set a time stamp for an object moved to the first folder to the value of the child time stamp of the first folder.

4. A method comprising

maintaining, in a local cache in a local memory, a cached version of directory contents information of a remote file server, the directory contents information including an object time stamp for each file and a child time stamp for each folder, wherein each object time stamp and the child time stamp for a folder is initially set to one or more first time stamp values;

upon a refresh, receiving directory contents information from the remote file server identifying the objects in the folder corresponding to objects on the remote file server;

adding new objects of the first folder identified in the received directory content information to the local cache;

setting objects identified in the first folder as corresponding to objects on the remote file server with a second time stamp value;

deferring deletion of invalidated objects in the first folder until a client application issues a command identifying the first folder by maintaining the first time stamp values for deleted objects in the first folder; and

deleting, responsive to a subsequent directory contents access request from a client application that identifies the first folder, objects in the first folder on the local cache having time stamps older than the child time stamp of the first folder.

5. The method of claim 4 further comprising setting time stamps for newly created files or folders.

6. The method of claim 4 further comprising setting a time stamp for a file or folder moved to the first folder to the value of the child time stamp of the first folder.

7. An apparatus comprising

one or more network interfaces;

a memory;

one or more processors;

computer-readable instructions stored in the memory operable to cause the one or more processors to:

maintain, in a local cache, a cached version of directory contents information of a remote file server; wherein the directory contents information comprises access control information for one or more files and folders;

in a full directory refresh mode,

request directory contents information of a first folder from the remote file server including access control information;

synchronize the directory contents information received from the remote file server, including the access control information, with the local cache;

in a partial directory refresh mode,

request directory contents information of a first folder from the remote file server excluding access control information;

synchronize the directory contents information received from the remote file server with the local cache; and

determine whether to enter the partial directory refresh mode or a full directory refresh mode for a given file folder:

in response to a request from a client application for an object within the given file folder; and

based at least upon a plurality of requests since a last full directory refresh for the given file folder.

8. A method comprising

maintaining, in a local cache in a local memory, a cached version of directory contents information of a remote file server; wherein the directory contents information comprises, for one or more files or folders, a first set of information and a second set of information, wherein the second set of information changes less frequently than the first set of information;

in a full directory refresh mode,

requesting directory contents information of a first folder from the remote file server including the first and second sets of information; and

synchronizing the directory contents information received from the remote file server, including the first and second sets of information, with the local cache;

in a partial directory refresh mode,

requesting directory contents information of the first folder from the remote file server including the first set of information and excluding the second set of information; and

synchronizing the directory contents information including the first set of information received from the remote file server with the local cache; and

determining whether to enter the partial directory refresh mode or a full directory refresh mode for a given file folder:

in response to a request from a client application for an object within the given file folder; and

conditioned at least upon a plurality of requests since a last full directory refresh for the given file folder.

9. The method of claim 8 wherein the second set of information comprises security attribute information.

10. The method of claim 8 wherein the entering the partial or full directory refresh mode is further conditioned on whether the directory contents information of the first folder has not been refreshed in the cache has been refreshed within a threshold period of time.

11. The method of claim 8 wherein the entering the partial or full directory refresh mode comprises

entering the partial directory refresh mode if the directory contents information of the first folder has not been refreshed in the cache for a first threshold period of time;

entering the full directory refresh mode, if the directory contents information of the first folder has not been refreshed in the cache for a second threshold period of time.

12. The method of claim 11 wherein the second threshold period of time is greater than the first threshold period of time.

13. The method of claim 8 further comprising entering the full directory refresh mode for the given file folder based upon a determination that a plurality of requests for the given file folder have been received since the last full directory refresh for the given file folder.

Assignments (8)
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 →