Legal claims defining the scope of protection. Each claim is shown in both the original legal language and a plain English translation.
1. In a system having a plurality of nodes, wherein metadata objects are stored in a set of regions distributed among the nodes across the system, wherein a region is identified by hashing a metadata object attribute, a method of managing query results comprising: receiving, by a first node of the plurality of independent nodes from a client application, a request for a list of objects with a criterion, the request including a query for namespace which identifies a namespace; issuing by the first node a query to all the nodes based on the received request; processing the query by each node over the regions in the node using the metadata objects stored in the regions; aggregating and filtering by the first node results of the query from particular nodes of the plurality of nodes, the particular nodes being associated with the namespace identified by the query for namespace; and returning by the first node the aggregated and filtered results to the client application.
A system with multiple nodes stores metadata objects in distributed regions, each region identified by hashing a metadata object attribute. To manage query results, a first node receives a request for a list of objects (based on a criterion and including a namespace identifier) from a client application. This first node then sends a query to all nodes. Each node processes the query within its regions using stored metadata. The first node aggregates and filters the query results, focusing on results from nodes associated with the requested namespace. Finally, the first node returns the filtered and aggregated results to the client application.
2. The method according to claim 1 , wherein processing the query by each node comprises providing the results of the query in sets to the first node; and wherein the results of the query from the particular nodes are aggregated and filtered and returned to the client application in sets.
Building on the method of claim 1 (a system with multiple nodes stores metadata objects in distributed regions, each region identified by hashing a metadata object attribute. To manage query results, a first node receives a request for a list of objects (based on a criterion and including a namespace identifier) from a client application. This first node then sends a query to all nodes. Each node processes the query within its regions using stored metadata. The first node aggregates and filters the query results, focusing on results from nodes associated with the requested namespace. Finally, the first node returns the filtered and aggregated results to the client application), each node sends results to the first node in sets. The first node then aggregates, filters, and returns these sets of results to the client application, also in sets.
3. The method according to claim 2 , further comprising: after returning by the first node a current set of the aggregated and filtered results to the client application, awaiting a request from the client application for a next set of results before requesting and retrieving the next set of results from the particular nodes.
Expanding on the method of claim 2 (building on the method of claim 1, each node sends results to the first node in sets. The first node then aggregates, filters, and returns these sets of results to the client application, also in sets), after the first node returns a set of aggregated and filtered results, it waits for a request from the client for the next set of results. Only then does the first node request and retrieve the next set of results from relevant nodes. This enables result-set paging.
4. The method according to claim 2 , wherein providing the results of the query in sets to the first node comprises providing a preset number of objects from each region as a result of processing the query.
Further specifying the method of claim 2 (building on the method of claim 1, each node sends results to the first node in sets. The first node then aggregates, filters, and returns these sets of results to the client application, also in sets), when a node provides query results in sets to the first node, it provides a preset number of objects from each region as a result of processing the query. In other words, each node sends a fixed-size page of results per region.
5. The method according to claim 1 , further comprising: sorting by the first node the aggregated and filtered results to produce a preset ordering.
In the method of claim 1 (a system with multiple nodes stores metadata objects in distributed regions, each region identified by hashing a metadata object attribute. To manage query results, a first node receives a request for a list of objects (based on a criterion and including a namespace identifier) from a client application. This first node then sends a query to all nodes. Each node processes the query within its regions using stored metadata. The first node aggregates and filters the query results, focusing on results from nodes associated with the requested namespace. Finally, the first node returns the filtered and aggregated results to the client application), the first node sorts the aggregated and filtered results to produce a predefined order (e.g., by name, size, or date).
6. The method according to claim 1 , wherein the request includes one or more of query by change time, query by directory, and query by transaction.
In the method of claim 1 (a system with multiple nodes stores metadata objects in distributed regions, each region identified by hashing a metadata object attribute. To manage query results, a first node receives a request for a list of objects (based on a criterion and including a namespace identifier) from a client application. This first node then sends a query to all nodes. Each node processes the query within its regions using stored metadata. The first node aggregates and filters the query results, focusing on results from nodes associated with the requested namespace. Finally, the first node returns the filtered and aggregated results to the client application), the client request can include queries based on object change time, directory, or transaction.
7. The method according to claim 1 , wherein the region comprises an authoritative region copy and zero or more backup region copies acting as backup for the authoritative region copy, wherein the first node issues the query to the nodes which have the authoritative region copy, and wherein each node which has the authoritative region copy processes the query over the authoritative region copy in said each node.
In the method of claim 1 (a system with multiple nodes stores metadata objects in distributed regions, each region identified by hashing a metadata object attribute. To manage query results, a first node receives a request for a list of objects (based on a criterion and including a namespace identifier) from a client application. This first node then sends a query to all nodes. Each node processes the query within its regions using stored metadata. The first node aggregates and filters the query results, focusing on results from nodes associated with the requested namespace. Finally, the first node returns the filtered and aggregated results to the client application), each region includes an authoritative copy and zero or more backup copies. The first node issues the query only to the nodes holding the authoritative copies. Each node with an authoritative copy processes the query using that authoritative copy.
8. An apparatus comprising a processor and a memory and which manages query results in a system having a plurality of nodes, wherein metadata objects are stored in a set of regions distributed among the nodes across the system, wherein a region is identified by hashing a metadata object attribute, the apparatus comprising a processor, a memory, and a query results management module provided for each of the nodes, the query results management module being configured to: if the node having the query results management module is a first node which receives from a client application a request for a list of objects with a criterion, issue a query to all the nodes based on the received request, the request including a query for namespace which identifies a namespace; process the query over the regions in the node using the metadata objects stored in the regions; and if the node having the query results management module is the first node, aggregate and filter results of the query from particular nodes of all the plurality of nodes, the particular nodes being associated with the namespace identified by the query for namespace, the aggregated and filtered results to be returned to the client application.
An apparatus (with a processor and memory) manages query results in a multi-node system. Metadata is stored in regions distributed across the nodes, a region being identified by hashing a metadata object attribute. Each node has a query results management module. If a node receives a client request (including a namespace) for a list of objects based on specific criteria, it issues a query to all nodes. Each node processes the query on its local regions. If the node is the one that received the client request, it aggregates and filters the results, focusing on nodes associated with the requested namespace, and returns the results to the client.
9. The apparatus according to claim 8 , wherein processing the query comprises providing the results of the query in sets to the first node; and wherein the results of the query from the particular nodes are aggregated and filtered to be returned to the client application in sets.
Building on the apparatus of claim 8 (an apparatus (with a processor and memory) manages query results in a multi-node system. Metadata is stored in regions distributed across the nodes, a region being identified by hashing a metadata object attribute. Each node has a query results management module. If a node receives a client request (including a namespace) for a list of objects based on specific criteria, it issues a query to all nodes. Each node processes the query on its local regions. If the node is the one that received the client request, it aggregates and filters the results, focusing on nodes associated with the requested namespace, and returns the results to the client), the nodes provide query results in sets to the first node. This first node then aggregates and filters these sets of results for return to the client application, also in sets.
10. The apparatus according to claim 9 , wherein providing the results of the query in sets to the first node comprises providing a preset number of objects from each region as a result of processing the query.
Further describing the apparatus of claim 9 (building on the apparatus of claim 8, the nodes provide query results in sets to the first node. This first node then aggregates and filters these sets of results for return to the client application, also in sets), providing results in sets to the first node involves giving a preset number of objects from each region as a result of processing the query. That is, a limited number of results per region.
11. The apparatus according to claim 9 , wherein if the node having the query results management module is the first node, the query results management module is configured, after returning by the first node a current set of the aggregated and filtered results to the client application, to await a request from the client application for a next set of results before requesting and retrieving the next set of results from the particular nodes.
Enhancing the apparatus of claim 9 (building on the apparatus of claim 8, the nodes provide query results in sets to the first node. This first node then aggregates and filters these sets of results for return to the client application, also in sets), if the node is the initial receiver of the client request, after returning a set of filtered results to the client application, it awaits a further request from the client before requesting and retrieving the next result set from the other (relevant) nodes.
12. The apparatus according to claim 8 , wherein if the node having the query results management module is the first node, the query results management module is configured to sort the aggregated and filtered results to produce a preset ordering.
Elaborating the apparatus of claim 8 (an apparatus (with a processor and memory) manages query results in a multi-node system. Metadata is stored in regions distributed across the nodes, a region being identified by hashing a metadata object attribute. Each node has a query results management module. If a node receives a client request (including a namespace) for a list of objects based on specific criteria, it issues a query to all nodes. Each node processes the query on its local regions. If the node is the one that received the client request, it aggregates and filters the results, focusing on nodes associated with the requested namespace, and returns the results to the client), the query results management module in the receiving node is configured to sort the aggregated and filtered results based on a preset ordering.
13. A node in the redundant array of independent nodes according to claim 8 , the node comprising a metadata manager to manage the metadata objects in the node which includes organizing and providing access to the metadata objects, wherein the metadata manager includes the query results management module of the node.
A node in the system of claim 8 (an apparatus (with a processor and memory) manages query results in a multi-node system. Metadata is stored in regions distributed across the nodes, a region being identified by hashing a metadata object attribute. Each node has a query results management module. If a node receives a client request (including a namespace) for a list of objects based on specific criteria, it issues a query to all nodes. Each node processes the query on its local regions. If the node is the one that received the client request, it aggregates and filters the results, focusing on nodes associated with the requested namespace, and returns the results to the client), includes a metadata manager which handles organizing and providing access to the metadata objects within that node. This metadata manager contains the query results management module.
14. The apparatus according to claim 8 , wherein the region comprises an authoritative region copy and zero or more backup region copies acting as backup for the authoritative region copy, wherein the first node issues the query to the nodes which have the authoritative region copy, and wherein each node which has the authoritative region copy processes the query over the authoritative region copy in said each node.
Further detailing the apparatus of claim 8 (an apparatus (with a processor and memory) manages query results in a multi-node system. Metadata is stored in regions distributed across the nodes, a region being identified by hashing a metadata object attribute. Each node has a query results management module. If a node receives a client request (including a namespace) for a list of objects based on specific criteria, it issues a query to all nodes. Each node processes the query on its local regions. If the node is the one that received the client request, it aggregates and filters the results, focusing on nodes associated with the requested namespace, and returns the results to the client), each region has an authoritative copy and zero or more backup copies. The initiating node sends queries to nodes hosting the authoritative copies. Each node with an authoritative copy then processes the query against that local authoritative copy.
15. A non-transitory computer-readable storage medium storing a plurality of instructions for controlling a data processor to manage query results in a system having a plurality of nodes, wherein metadata objects are stored in a set of regions distributed among the nodes across the system, wherein a region is identified by hashing a metadata object attribute, wherein the computer-readable storage medium is provided in each node, the plurality of instructions comprising: instructions that cause the data processor, if the node having the computer-readable storage medium is a first node which receives from a client application a request for a list of objects with a criterion, to issue a query to all the nodes based on the received request the request including a query for namespace which identifies a namespace; instructions that cause the data processor to process the query over the regions in the node using the metadata objects stored in the regions; and instructions that cause the data processor, if the node having the computer-readable storage medium is the first node, to aggregate and filter by the first node results of the query from particular nodes of the plurality of nodes, the particular nodes being associated with the namespace identified by the query for namespace, the aggregated and filtered results to be returned to the client application.
A non-transitory computer-readable medium stores instructions to manage query results in a multi-node system. Metadata is stored in regions distributed across the nodes, a region being identified by hashing a metadata object attribute. Instructions, when executed on a node that receives a client request (including a namespace) for a list of objects based on specified criteria, cause that node to issue a query to all other nodes. Instructions then cause each node to process the query against its local data regions. If a node is the original receiver of the client request, instructions cause it to aggregate and filter results, focusing on nodes associated with the given namespace, and return the results to the client.
16. The non-transitory computer-readable storage medium according to claim 15 , wherein processing the query comprises providing the results of the query in sets to the first node; and wherein the results of the query from the particular nodes are aggregated and filtered and returned to the client application in sets.
Related to the computer-readable medium of claim 15 (A non-transitory computer-readable medium stores instructions to manage query results in a multi-node system. Metadata is stored in regions distributed across the nodes, a region being identified by hashing a metadata object attribute. Instructions, when executed on a node that receives a client request (including a namespace) for a list of objects based on specified criteria, cause that node to issue a query to all other nodes. Instructions then cause each node to process the query against its local data regions. If a node is the original receiver of the client request, instructions cause it to aggregate and filter results, focusing on nodes associated with the given namespace, and return the results to the client), the query processing instructions cause nodes to provide results to the first node in sets. The instructions further cause the first node to aggregate, filter, and return these result sets to the client in sets.
17. The non-transitory computer-readable storage medium according to claim 16 , wherein the plurality of instructions further comprise: instructions that cause the data processor, if the node having the computer-readable storage medium is the first node, after returning by the first node a current set of the aggregated and filtered results to the client application, to await a request from the client application for a next set of results before requesting and retrieving the next set of results from the particular nodes.
Elaborating on the computer-readable medium of claim 16 (related to the computer-readable medium of claim 15, the query processing instructions cause nodes to provide results to the first node in sets. The instructions further cause the first node to aggregate, filter, and return these result sets to the client in sets), instructions, executed on the receiving node, after returning a current result set to a client, cause that node to wait for a further request before requesting and retrieving the next result set from other nodes. This supports result-set paging.
18. The non-transitory computer-readable storage medium according to claim 16 , wherein providing the results of the query in sets to the first node comprises providing a preset number of objects from each region as a result of processing the query.
Defining further the computer-readable medium of claim 16 (related to the computer-readable medium of claim 15, the query processing instructions cause nodes to provide results to the first node in sets. The instructions further cause the first node to aggregate, filter, and return these result sets to the client in sets), the process of sending query results to the receiving node in sets comprises providing a preset number of objects from each region as a result of processing the query.
19. The non-transitory computer-readable storage medium according to claim 15 , wherein the plurality of instructions further comprise: instructions that cause the data processor, if the node having the computer-readable storage medium is the first node, to sort by the first node the aggregated and filtered results to produce a preset ordering.
In the computer-readable medium of claim 15 (A non-transitory computer-readable medium stores instructions to manage query results in a multi-node system. Metadata is stored in regions distributed across the nodes, a region being identified by hashing a metadata object attribute. Instructions, when executed on a node that receives a client request (including a namespace) for a list of objects based on specified criteria, cause that node to issue a query to all other nodes. Instructions then cause each node to process the query against its local data regions. If a node is the original receiver of the client request, instructions cause it to aggregate and filter results, focusing on nodes associated with the given namespace, and return the results to the client), instructions cause the receiving node to sort the aggregated and filtered results based on a preset ordering (e.g., by filename, size, timestamp).
20. The non-transitory computer-readable storage medium according to claim 15 , wherein the request includes one or more of query by change time, query by directory, and query by transaction.
Describing the computer-readable medium of claim 15 (A non-transitory computer-readable medium stores instructions to manage query results in a multi-node system. Metadata is stored in regions distributed across the nodes, a region being identified by hashing a metadata object attribute. Instructions, when executed on a node that receives a client request (including a namespace) for a list of objects based on specified criteria, cause that node to issue a query to all other nodes. Instructions then cause each node to process the query against its local data regions. If a node is the original receiver of the client request, instructions cause it to aggregate and filter results, focusing on nodes associated with the given namespace, and return the results to the client), the client's request can include queries based on change time, directory, or transaction parameters of the metadata objects.
21. The non-transitory computer-readable storage medium according to claim 15 , wherein the region comprises an authoritative region copy and zero or more backup region copies acting as backup for the authoritative region copy, wherein the plurality of instructions further comprise instructions that cause the data processor, if the node having the computer-readable storage medium is the first node, to issue the query to the nodes which have the authoritative region copy, and wherein the plurality of instructions further comprise instructions that cause the data processor, if the node having the computer-readable storage medium has the authoritative region copy, to process the query over the authoritative region copy in the node.
Detailing the computer-readable medium of claim 15 (A non-transitory computer-readable medium stores instructions to manage query results in a multi-node system. Metadata is stored in regions distributed across the nodes, a region being identified by hashing a metadata object attribute. Instructions, when executed on a node that receives a client request (including a namespace) for a list of objects based on specified criteria, cause that node to issue a query to all other nodes. Instructions then cause each node to process the query against its local data regions. If a node is the original receiver of the client request, instructions cause it to aggregate and filter results, focusing on nodes associated with the given namespace, and return the results to the client), each region features an authoritative copy plus optional backups. Instructions dictate that the initiating node directs the query only to nodes holding authoritative copies. Subsequently, instructions ensure that each node housing an authoritative copy executes the query specifically against its local authoritative data.
Unknown
September 16, 2014
Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.