IP Library Granted Patent US 9,705,979
Granted Patent B2
US 9,705,979 · App. 14/052,875 · Granted Jul 11, 2017

Policy-based file management for a storage delivery network

Inventors: Scott P. Chatley (San Diego, CA); J. Gabriel Gallagher (San Diego, CA); Thanh T. Phan (San Diego, CA); Troy C. Gatchell (San Diego, CA)
Assignee: Oracle International Corporation
H04L67/1021G06F3/067G06F3/0613G06F3/0647G06F17/30221H04L67/101H04L67/1002H04L67/1008H04L67/1012H04L67/1097G06F2206/1012
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,705,979
App. No.
14/052,875
Granted
Jul 11, 2017
Kind
B2
Abstract

A method for managing storage and access to data files stored in a storage delivery network comprising a plurality of geographically distributed storage nodes, the method including: receiving a file request from a user, wherein the user is associated with a service level agreement (SLA) containing one or more policies governing handling of file requests from the user; determining if the SLA dictates redirecting the file request to a predetermined storage node; if the SLA dictates redirecting the file request to a predetermined storage node, redirecting the file request to the predetermined storage node; otherwise, identifying all storage nodes from the plurality of geographically distributed storage nodes that are not too busy by determining whether a number of current access requests being served by each storage node exceeds a predetermined threshold value; identifying a nearest storage node from among the not too busy storage nodes; and redirecting the user request to the nearest storage node.

Claims (58)

1. A method for managing storage and access to files stored in a storage delivery network comprising a plurality of geographically distributed storage nodes, the method comprising:

receiving a file request from a user to download a file, wherein the request is associated with a service level agreement (SLA) containing one or more policies governing handling of file requests from the user;

determining when the SLA dictates redirecting the file request to any predetermined storage node;

when the SLA dictates redirecting the file request to any predetermined storage node and the predetermined storage node contains the requested file, redirecting the file request to the predetermined storage node;

when the SLA does not dictate redirecting the file request to any predetermined storage node:

identifying storage nodes that contain the requested file from the plurality of geographically distributed storage nodes,

identifying a first geographically nearest storage node to the user from among the storage nodes that contain the requested file,

determining if the first geographically nearest storage node, that contains the requested file, is near enough to the user based on one or more predetermined criteria,

if the first geographically nearest storage node is near enough to the user based on the one or more predetermined criteria: redirecting the file request to the first geographically nearest storage node, and

if the first geographically nearest storage node is not near enough to the user:

identifying a second storage node that is (a) near enough to the user and (b) does not contain the requested file,

causing a copy of the requested file to be stored at the second storage node to serve a subsequent request for the requested file;

when the SLA dictates redirecting the file request to a predetermined storage node and the predetermined storage node does not contain the requested file, causing the copy of the requested file to be stored at the predetermined storage node to serve the subsequent request for the requested file.

2. The method of claim 1 wherein identifying the first geographically nearest storage node comprises accessing a node priority table to select a storage node containing the requested file and having a top priority to serve the user.

3. The method of claim 1 wherein identifying the first geographically nearest storage node comprises selecting a storage node containing the requested file that is closest to the user as determined based at least in part on a geocode associated with the user.

4. The method of claim 1 wherein the one or more predetermined criteria are specified in the SLA.

5. The method of claim 4 wherein the one or more predetermined criteria comprises a maximum geographical distance between the user and a storage node to handle the file request.

6. The method of claim 4 wherein the one or more predetermined criteria comprises maximum duration of time within which a storage node is to handle the file request.

7. The method of claim 4 wherein the one or more predetermined criteria comprises a specified geographic region within which a storage node to handle the file request is located.

8. A system for managing storage and access to files stored in a storage delivery network comprising a plurality of geographically distributed storage nodes, the system comprising:

a database containing a plurality of service level agreements (SLAs) for a plurality of customers, each customer storing one or more files in the storage delivery network; and

a server coupled to the database for managing storage and access to one or more files, the server configured to perform operations comprising:

receiving a file request from a user to download a file of the one or more files, wherein the user is associated with a first SLA containing one or more policies governing handling of file requests from the user;

determining when the first SLA dictates redirecting the file request to any predetermined storage node; and

redirecting the file request to a predetermined storage node when the first SLA dictates redirecting the file request to the predetermined storage node and the predetermined storage node contains the requested file;

when the SLA does not dictate redirecting the file request to any predetermined storage node:

identifying storage nodes that contain the requested file from the plurality of geographically distributed storage nodes,

identifying a first geographically nearest storage node to the user from among the storage nodes that contain the requested file,

determining if the first geographically nearest storage node, that contains the requested file, is near enough to the user based on one or more predetermined criteria,

if the first geographically nearest storage node is near enough to the user based on the one or more predetermined criteria: redirecting the file request to the first geographically nearest storage node, and

if the first geographically nearest storage node is not near enough to the user:

identifying a second storage node that is (a) near enough to the user and (b) does not contain the requested file,

causing a copy of the requested file to be stored at the second storage node to serve a subsequent request for the requested file;

when the SLA dictates redirecting the file request to a predetermined storage node and the predetermined storage node does not contain the requested file, causing the copy of the requested file to be stored at the predetermined storage node to serve the subsequent request for the requested file.

9. The system of claim 8 , wherein identifying the first geographically nearest storage node comprises accessing a node priority table to select a storage node containing the requested file and having a top priority to serve the user.

10. The system of claim 8 , wherein identifying the first geographically nearest storage node comprises selecting a storage node containing the requested file that is closest to the user as determined based at least in part on a geocode associated with the user.

11. The system of claim 8 wherein the one or more predetermined criteria are specified in the first SLA and stored in the database.

12. The system of claim 11 wherein the one or more predetermined criteria comprises a maximum geographical distance between the user and a storage node to handle the file request.

13. The system of claim 11 wherein the one or more predetermined criteria comprises maximum duration of time within which a storage node is to handle the file request.

14. The system of claim 11 wherein the one or more predetermined criteria comprises a specified geographic region within which a storage node to handle the file request is located.

15. A computer readable medium storing computer executable instructions that, when executed by at least one processor, perform operations for managing storage and access to files stored in a storage delivery network comprising a plurality of geographically distributed storage nodes, the operations comprising:

receiving a file request from a user to download a file, wherein the user is associated with a service level agreement (SLA) containing one or more policies governing handling of file requests from the user;

determining when the SLA dictates redirecting the file request to a predetermined storage node; and

redirecting the file request to the predetermined storage node when the SLA dictates redirecting the file request to a predetermined storage node and the predetermined storage node contains the requested file,

when the SLA does not dictate redirecting the file request to any predetermined storage node:

identifying storage nodes that contain the requested file from the plurality of geographically distributed storage nodes,

identifying a first geographically nearest storage node to the user from among the storage nodes that contain the requested file,

determining if the first geographically nearest storage node, that contains the requested file, is near enough to the user based on one or more predetermined criteria,

if the first geographically nearest storage node is near enough to the user based on the one or more predetermined criteria: redirecting the file request to the first geographically nearest storage node, and

if the first geographically nearest storage node is not near enough to the user:

identifying a second storage node that is (a) near enough to the user and (b) does not contain the requested file,

causing a copy of the requested file to be stored at the second storage node to serve a subsequent request for the requested file;

when the SLA dictates redirecting the file request to a predetermined storage node and the predetermined storage node does not contain the requested file, causing the copy of the requested file to be stored at the predetermined storage node to serve the subsequent request for the requested file.

16. The computer readable medium of claim 15 , wherein identifying the first geographically nearest storage node comprises accessing a node priority table to select a storage node containing the requested file and having a top priority to serve the user.

17. The computer readable medium of claim 15 , wherein identifying the first geographically nearest storage node comprises selecting a storage node containing the requested file that is closest to the user as determined based at least in part on a geocode associated with the user.

18. The computer readable medium of claim 15 wherein the one or more predetermined criteria are specified in the SLA.

19. The computer readable medium of claim 18 wherein the one or more predetermined criteria comprises a maximum geographical distance between the user and a storage node to handle the file request.

20. The computer readable medium of claim 18 wherein the one or more predetermined criteria comprises maximum duration of time within which a storage node is to handle the file request.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 18, 2016
From: ACME ACQUISITION LLC
To: ORACLE INTERNATIONAL CORPORATION
Reel/Frame 038632/0289 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 10, 2015
From: NIRVANIX, INC.
To: ACME ACQUISITION LLC
Reel/Frame 036057/0517 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 12, 2015
From: CHATLEY, SCOTT P.; GALLAGHER, J. GABRIEL; PHAN, THANH T.; GATCHELL, TROY C.
To: NIRVANIX, INC.
Reel/Frame 035831/0095 →
Continuity (4)
Continuation 13656608 · Oct 19, 2012
Continuation 12199717 · Aug 27, 2008
Provisional Application 60968848 · Aug 29, 2007
Related Publication 20140172807A1 · Jun 19, 2014