SYSTEMS AND METHODS FOR SEARCHING A CLOUD-BASED DISTRIBUTED STORAGE RESOURCES USING A SET OF EXPANDABLE PROBES
First Claim
1. A method of performing a search for a file stored in a cloud-based network, comprising:
- a) initiating a search for the file based on a set of nodes in a hash structure storing file links, at a first starting node of the hash structure;
b) searching a first subset of nodes corresponding to an expandable set of probes spanning a first subset of the set of nodes, starting at the first starting node;
c) accessing the file if the file is found via a file link stored in the first subset of the set of nodes; and
d) if the file is not found in the first subset of the set of nodes—
identifying a second starting node in the hash structure,expanding the expandable set of probes to span an additional subset of the set of nodes greater than the first subset, andsearching a second subset of nodes in the hash structure corresponding to the expandable set of probes, starting at the second starting node.
1 Assignment
0 Petitions
Accused Products
Abstract
Embodiments relate to systems and methods for searching a cloud-based file storage system using a set of expandable probes. Platforms and techniques are provided to search for a file whose location in cloud storage resources is recorded in a consistent hash ring structure. In a hash ring, a file name can generate a hash output corresponding to a position around a circle. The closest clockwise node to that location can contain the file itself, or a link to another location containing or leading to the file. When a link has become obsolete and no longer points to the file, it may be necessary to search for that file. Embodiments perform a graduated search for the missing file, starting one node from the original node, then trying two adjacent nodes, then four adjacent nodes and so forth in expanding fashion, until the file is found or the hash structure is exhausted.
-
Citations
20 Claims
-
1. A method of performing a search for a file stored in a cloud-based network, comprising:
-
a) initiating a search for the file based on a set of nodes in a hash structure storing file links, at a first starting node of the hash structure; b) searching a first subset of nodes corresponding to an expandable set of probes spanning a first subset of the set of nodes, starting at the first starting node; c) accessing the file if the file is found via a file link stored in the first subset of the set of nodes; and d) if the file is not found in the first subset of the set of nodes— identifying a second starting node in the hash structure, expanding the expandable set of probes to span an additional subset of the set of nodes greater than the first subset, and searching a second subset of nodes in the hash structure corresponding to the expandable set of probes, starting at the second starting node. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A system for performing a search for a file stored in a cloud-based network comprising:
-
an interface to a set of storage resources in at least one cloud network; and a processor, communicating with the set of storage resources in the at least one cloud network via the interface, the processor being configured to— initiate a search for the file based on a set of nodes in a hash structure storing file links to locations in the set of storage resources, at a first starting node of the hash structure, search a first subset of nodes corresponding to an expandable set of probes spanning a first subset of the set of nodes, starting at the first starting node, access the file if the file is found via a file link stored in the first subset of the set of nodes, and if the file is not found in the first subset of the set of nodes— identify a second starting node in the hash structure, expand the expandable set of probes to span an additional subset of the set of nodes greater than the first subset, and searching a second subset of nodes in the hash structure corresponding to the expandable set of probes, starting at the second starting node. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18, 19, 20)
-
Specification