IP Library Granted Patent US 10,133,744
Granted Patent B2
US 10,133,744 · App. 14/835,016 · Granted Nov 20, 2018

Composite execution of rename 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 10,133,744
App. No.
14/835,016
Granted
Nov 20, 2018
Kind
B2
Abstract

Methods, apparatuses, and systems directed to improving shared file access in wide area network file systems. In a particular implementation, one or more elements of a wide area file system cooperate to keep an original file intact on a remote file server until a new copy of the same file is completely flushed to the remote file server. In a particular implementation, rename operations identifying a source and a target in connection with application-level save operations are executed as two composite operations including creation of the target, and a delayed deletion of the source. The delay after which the source is deleted can be configured to be just large enough so that the application save operation on a local cache can be completed.

Claims (67)

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 a deletion object list comprising one or more entries each identifying files to be deleted on a remote file server;

scan the deletion object list and cause the remote file server to delete files corresponding to expired entries;

receive a command to create a temporary file on the remote file server;

receive a rename command identifying a source file name and a target file name;

determine whether the deletion object list includes the target file name of the rename command;

based at least upon a determination that the deletion object list includes the target file name of the rename command:

remove the target file name from the deletion object list; and

add an entry including the source file name to the deletion object list.

2. The apparatus of claim 1 , wherein each entry of the deletion object list comprises a file name identifier and a time stamp.

3. The apparatus of claim 1 , wherein the command to create is associated with an application-level save operation corresponding to a source file.

4. The apparatus of claim 1 , further comprising computer-readable instructions stored in the memory operable to cause the one or more processors to:

create the temporary file on a local edge cache and the remote file server.

5. The apparatus of claim 4 , further comprising computer-readable instructions stored in the memory operable to cause the one or more processors to:

synchronize a first instance of a source file with a corresponding second instance of the source file, the first instance stored on the local edge cache and the second instance stored on the remote file server.

6. The apparatus of claim 4 , further comprising computer-readable instructions stored in the memory operable to cause the one or more processors to:

perform the rename command on the local edge cache.

7. The apparatus of claim 1 , further comprising computer-readable instructions stored in the memory operable to cause the one or more processors to:

based on a determination that the deletion object list does not include the target file name of the rename command:

transmit a command causing creation of a file including the target file name on the remote file server; and

add an entry including the target file name to the deletion object list.

8. A method for operating a network, comprising:

maintaining a deletion object list comprising one or more entries each identifying files to be deleted on a remote file server;

scanning the deletion object list and causing the remote file server to delete files corresponding to expired entries;

receiving a command to create a temporary file on the remote file server;

receiving a rename command identifying a source file name and a target file name;

determining whether the deletion object list includes the target file name of the rename command; and

based at least upon a determination that the deletion object list includes the target file name of the rename command:

removing the target file name from the deletion object list; and

adding an entry including the source file name to the deletion object list.

9. The method of claim 8 , further comprising:

creating the temporary file on a local edge cache and the remote file server.

10. The method of claim 9 , further comprising:

synchronizing a first instance of a source file with a corresponding second instance of the source file, the first instance stored on the local edge cache and the second instance stored on the remote file server.

11. The method of claim 9 , further comprising:

performing the rename command on the local edge cache.

12. The method of claim 8 , further comprising:

based on a determination that the deletion object list does not include the target file name of the rename command:

transmitting a command causing creation of a file including the target file name on the remote file server; and

adding an entry including the target file name to the deletion object list.

13. The method of claim 8 , wherein each entry of the deletion object list comprises a file name identifier and a time stamp.

14. The method of claim 8 , wherein the command to create is associated with an application-level save operation corresponding to a source file.

15. At least one non-transitory computer-readable medium comprising instructions, the instructions configured, when loaded and executed by a processor, to cause the processor to:

maintain a deletion object list comprising one or more entries each identifying files to be deleted on a remote file server;

scan the deletion object list and cause the remote file server to delete files corresponding to expired entries;

receive a command to create a temporary file on the remote file server;

receive a rename command identifying a source file name and a target file name;

determine whether the deletion object list includes the target file name of the rename command; and

based at least upon a determination that the deletion object list includes the target file name of the rename command:

remove the target file name from the deletion object list; and

add an entry including the source file name to the deletion object list.

16. The at least one non-transitory computer-readable medium of claim 15 , wherein the instructions are further configured, when loaded and executed by the processor, to:

create the temporary file on a local edge cache and the remote file server.

17. The at least one non-transitory computer-readable medium of claim 16 , wherein the instructions are further configured, when loaded and executed by the processor, to:

synchronize a first instance of a source file with a corresponding second instance of the source file, the first instance stored on the local edge cache and the second instance stored on the remote file server.

18. The at least one non-transitory computer-readable medium of claim 16 , wherein the instructions are further configured, when loaded and executed by the processor, to:

perform the rename command on the local edge cache.

19. The at least one non-transitory computer-readable medium of claim 15 , wherein the instructions are further configured, when loaded and executed by the processor, to:

based on a determination that the deletion object list does not include the target file name of the rename command:

transmit a command causing creation of a file including the target file name on the remote file server; and

add an entry including the target file name to the deletion object list.

20. The at least one non-transitory computer-readable medium of claim 15 , wherein each entry of the deletion object list comprises a file name identifier and a time stamp.

21. The at least one non-transitory computer-readable medium of claim 15 , wherein the command to create is associated with an application-level save operation corresponding to a source file.

Assignments (4)
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 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 25, 2015
From: VIDWANS, HRISHIKESH A.; GOPALAKRISHNAN, SURESH; PHATAK, SHIRISH H.
To: PACKETEER, INC.
Reel/Frame 036415/0178 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 25, 2015
From: PACKETEER, INC.
To: BLUE COAT SYSTEMS, INC.
Reel/Frame 036415/0328 →