IP Library Granted Patent US 10,915,528
Granted Patent B2
US 10,915,528 · App. 15/714,651 · Granted Feb 9, 2021

Pluggable storage system for parallel query engines

Inventors: Sameer Tiwari (Fremont, CA); Milind Arun Bhandarkar (San Jose, CA); Bhooshan Deepak Mogal (Mountain View, CA)
Assignee: EMC IP HOLDING COMPANY LLC
G06F16/24542G06F16/10G06F16/11G06F16/148G06F16/182G06F16/1858G06F16/2453G06F16/2455G06F16/2471G06F16/24524G06F16/24532G06F16/27G06F16/907H04L65/60H04L67/1097H05K999/99G06F16/113G06F16/217G06F16/245G06F16/43
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,915,528
App. No.
15/714,651
Granted
Feb 9, 2021
Kind
B2
Abstract

A method, article of manufacture, and apparatus for managing data. In some embodiments, this includes, receiving a query from a client, based on the received query, analyzing a catalog for location information, based on the analysis, determining a first storage system, an associated first file system and an associated first protocol, using the associated first protocol to communicate with the first storage system, and performing at least a portion of the query on the first storage system.

Claims (46)

1. A method for managing data, comprising:

receiving, by a universal namenode, a query from a client;

based at least in part on the received query, accessing a catalog service and searching a catalog provided by the catalog service for location information of one or more files responsive to the query;

based at least in part on a result of the search of the catalog, determining to move at least one of one or more files from a second storage system to a first storage system, and determining to communicate with the first storage system in connection with the one or more files responsive to the queries;

in response to a determination to move the at least one of the one or more files from the second storage system to the first storage system, moving the at least one of the one or more of files to the first storage system;

performing at least a portion of the query on the first storage system;

providing, to the client, results of the query such that in response to a determination that various portions of the results correspond to query results stored on a set of a plurality of storage systems, the results of the query are presented in a unified view across the set of the plurality of storage systems and appear, from a perspective of the client, to exist from a single namespace, wherein the plurality of storage systems comprises at least the first storage system and the second storage system; and

in response to a determination that performing the query has finished, moving the at least one of the one or more files from the first storage system to the second storage system.

2. The method of claim 1 , further comprising determining a first protocol for communication with the storage system, wherein the universal namenode communicates with the first storage system using the first protocol.

3. The method of claim 1 , wherein the catalog stores a mapping of a plurality of files stored on a plurality of storage systems to a location at which the plurality of files are respectively stored on the corresponding plurality of storage systems.

4. The method of claim 1 , wherein a first protocol for communication with the first storage system is determined, based at least in part, on a first file system associated with the first storage system.

5. The method of claim 1 , further comprising:

determining whether to move a first file that is stored on the first storage system to another storage system based at least in part on a frequency with which the first file is accessed;

in response to a determination that the first file is determined to be moved from the first storage system to the other storage system, moving the first file to the other storage system; and

updating location information associated with the first file stored in the catalog to point from a location at which the first file was stored in the first storage system to a location at which the first file is stored in the other storage system, wherein, from the perspective of the client, the a location of the first file is the same in relation to the singe namespace regardless of whether the first file is moved from the first storage system to the other storage system.

6. The method of claim 5 , wherein the updating of the location information comprises updating the mapping of the one or more files stored on the plurality of storage systems to the location at which the one or more files so as to update a record corresponding to the first file.

7. The method of claim 1 , wherein the query received from the client is a query to identify one or more files stored across a distributed storage system comprising the plurality of storage systems.

8. The method of claim 1 , wherein the determining to move the at least one of the one or more files from the second storage system to the first storage system based at least in part on the search of the catalog comprises: determining to move the at least one of the one or more files in response to the receiving the query from the client.

9. The method of claim 1 , further comprising:

tracking, by a universal job tracker of the universal namenode, a status of one or more portions of the query being respectively performed by corresponding ones of the plurality of storage systems.

10. The method of claim 1 , further comprising the first storage system reporting back the results of at least a portion of the query.

11. The method of claim 1 , further comprising adding a new storage system.

12. The method of claim 11 , further comprising determining a new protocol for communication with the new storage system.

13. The method of claim 12 , wherein a new file system associated with the new storage system is the same as a first file system associated with the first storage system.

14. The method of claim 12 , wherein a new file system associated with the new storage system is not the same as a first file system associated with the first storage system.

15. The method of claim 12 , further comprising updating the catalog based on data stored in the new storage system.

16. The method of claim 1 , further comprising determining to communicate with the second storage system in connection with the one or more files responsive to the queries, and determining a second protocol for communication with the second storage system.

17. The method of claim 1 , wherein the determining to move at least one of the one or more files is further based at least in part on information pertaining to a historical usage of files stored among the plurality of storage systems.

18. The method of claim 1 , wherein the universal namenode has one or more protocols configured to connect with the plurality of storage systems.

19. The method of claim 1 , wherein the moving the at least the one of the one or more files from the second storage system to the first storage system is transparent to the client.

20. A system for managing data, comprising one or more processors configured to:

receive a query from a client;

based at least in part on the received query, accessing a catalog service and searching a catalog provided by the catalog service for location information of one or more files responsive to the query;

based at least in part on a result of the search of the catalog, determine to move at least one of the one or more files from a second storage system to a first storage system, and determine to communicate with the first storage system in connection with the one or more files responsive to the queries;

in response to a determination to move the at least one of the one or more files from the second storage system to the first storage system, move the at least one of the one or more files to the first storage system;

perform at least a portion of the query on the first storage system;

provide, to the client, results of the query such that in response to a determination that various portions of the results correspond to query results stored on a set of a plurality of storage systems, the results of the query are presented in a unified view across the set of the plurality of storage systems and appear, from a perspective of the client, to exist from a single namespace, wherein the plurality of storage systems comprises at least the first storage system and the second storage system; and

in response to a determination that performing the query has finished, move the at least one of the one or more files from the first storage system to the second storage system.

21. A computer program product for processing data, comprising a non-transitory computer readable medium having program instructions embodied therein for:

receiving a query from a client;

based at least in part on the received query, accessing a catalog service and searching a catalog provided by the catalog service for location information of one or more files responsive to the query;

based at least in part on a result of the search of the catalog, determining to move at least one of the one or more files from a second storage system to a first storage system, and determining to communicate with the first storage system in connection with the one or more files responsive to the queries;

in response to a determination to move the at least one of the one or more files from the second storage system to the first storage system, moving the at least one of the one or more files to the first storage system;

performing at least a portion of the query on the first storage system;

providing, to the client, results of the query such that in response to a determination that various portions of the results correspond to query results stored on a set of a plurality of storage systems, the results of the query are presented in a unified view across the set of the plurality of storage systems and appear, from a perspective of the client, to exist from a single namespace, wherein the plurality of storage systems comprises at least the first storage system and the second storage system; and

in response to a determination that performing the query has finished, moving the at least one of the one or more files from the first storage system to the second storage system.

Assignments (9)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053546/0001) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC IP HOLDING COMPANY LLC
Reel/Frame 071642/0001 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (044535/0109) Recorded May 20, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO WYSE TECHNOLOGY L.L.C.)
Reel/Frame 060753/0414 →
RELEASE OF SECURITY INTEREST AT REEL 044535 FRAME 0001 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; WYSE TECHNOLOGY L.L.C.
Reel/Frame 058298/0475 →
SECURITY AGREEMENT Recorded Apr 22, 2020
From: CREDANT TECHNOLOGIES INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 053546/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 9, 2019
From: EMC CORPORATION
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 051231/0471 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 9, 2019
From: TIWARI, SAMEER; BHANDARKAR, MILIND ARUN; MOGAL, BHOOSHAN DEEPAK
To: EMC CORPORATION
Reel/Frame 051221/0443 →
SECURITY AGREEMENT Recorded Mar 21, 2019
From: CREDANT TECHNOLOGIES, INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 049452/0223 →
PATENT SECURITY AGREEMENT (NOTES) Recorded Nov 29, 2017
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; WYSE TECHNOLOGY L.L.C.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 044535/0109 →
PATENT SECURITY AGREEMENT (CREDIT) Recorded Nov 29, 2017
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; WYSE TECHNOLOGY L.L.C.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 044535/0001 →