IP Library Granted Patent US 10,789,206
Granted Patent B2
US 10,789,206 · App. 15/638,330 · Granted Sep 29, 2020

System and method for parallel storage transformation

Inventors: Mikhail Danilov (Saint Petersburg, RU); Nikita Gutsalov (Saint Petersburg, RU); Ivan Tchoub (Saint Petersburg, RU); Alexander Fedorov (Saint Petersburg, RU); Sergey Koyushev (Saint Petersburg, RU)
Assignee: EMC IP HOLDING COMPANY LLC
G06F16/119G06F16/128G06F16/214G06F16/2443G06F16/2453G06F16/951H04L67/06H04L67/1097
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,789,206
App. No.
15/638,330
Granted
Sep 29, 2020
Kind
B2
Abstract

A transformation service is provided for a plurality of transformation jobs associated with one or more storage containers. A single transformation user runs enumeration tasks associated with data stored in the one or more storage containers. When two or more of the plurality of transformation jobs are active during a time interval, the single transformation user runs an enumeration task for all of the active transformation jobs during said time interval.

Claims (34)

1. A method comprising:

performing a transformation service for a plurality of transformation jobs associated with one or more storage containers; and

running, by a single transformation user, enumeration tasks associated with data stored in the one or more storage containers, wherein the single transformation user is created when a first transformation job of the plurality of transformation jobs starts, and wherein the single transformation user is granted rights to query content for the one or more storage containers necessary for transforming the plurality of transformation jobs,

wherein, when two or more of the plurality of transformation jobs are active during a time interval, the single transformation user runs an enumeration task for all of the active transformation jobs during said time interval, and wherein the enumeration task is shared among the active transformation jobs during the time interval.

2. The method of claim 1 further comprising:

when one of the transformation jobs is started for a storage under transformation, creating the transformation user if there are no other active transformation jobs, and granting the transformation user rights to query content for all of the storage containers necessary for transforming the one transformation job.

3. The method of claim 1 further comprising:

when one of the plurality of transformation jobs is finished for a storage under transformation, and if there are unique storage containers to transform for the one transformation job, revoking the rights to query content for all unique containers to transform for the one transformation job, wherein the transformation user maintains rights for storage containers of the one transformation job shared with other transformation jobs.

4. The method of claim 1 wherein when the transformation job is finished for a storage under transformation, and if there are no other transformation jobs that are active, the method further comprises deleting the transformation user.

5. The method of claim 1 wherein each run enumeration task results in an object with related information regarding a container identification identifying the transformation jobs concerned with the object, and the container identification and identified jobs identify target containers for the object, and wherein metadata associated with the object is read and stored in an object index a number of N times, N being the number of identified target containers.

6. The method of claim 1 wherein the transformation user runs an enumeration task unique to one or more storage containers of a first transformation job during a first time interval, the transformation user runs an enumeration task unique to one or more storage containers of a second transformation job during a second time interval, and the transformation user runs an enumeration task for one or more storage containers of both the first and second transformation jobs during a third time interval in which both the first and second transformation jobs are active.

7. A data processing system comprising:

electronic hardware circuitry constructed to:

perform a transformation service for a plurality of transformation jobs associated with one or more storage containers; and

run, by a single transformation user, enumeration tasks associated with data stored in the one or more storage containers, wherein the single transformation user is created when a first transformation job of the plurality of transformation jobs starts, and wherein the single transformation user is granted rights to query content for the one or more storage containers necessary for transforming the plurality of transformation jobs,

wherein, when two or more of the plurality of transformation jobs are active during a time interval, the single transformation user runs an enumeration task for all of the active transformation jobs during said time interval, and wherein the enumeration task is shared among the active transformation jobs during the time interval.

8. The data processing system of claim 7 wherein the electronic hardware circuitry is further constructed to:

when one of the transformation jobs is started for a storage under transformation, create the transformation user if there are no other active transformation jobs, and grant the transformation user rights to query content for all of the storage containers necessary for transforming the one transformation job.

9. The data processing system of claim 7 wherein the electronic hardware circuitry is further constructed to:

when one of the plurality of transformation jobs is finished for a storage under transformation, and if there are unique storage containers to transform for the one transformation job, revoke the rights to query content for all unique containers to transform for the one transformation job, wherein the transformation user maintains rights for storage containers of the one transformation job shared with other transformation jobs.

10. The data processing system of claim 7 wherein when the transformation job is finished for a storage under transformation, and if there are no other transformation jobs that are active, the electronic hardware circuitry is further constructed to delete the transformation user.

11. The data processing system of claim 7 wherein each run enumeration task results in an object with related information regarding a container identification identifying the transformation jobs concerned with the object, and the container identification and identified jobs identify target containers for the object, and wherein metadata associated with the object is read and stored in an object index a number of N times, N being the number of identified target containers.

12. The data processing system of claim 7 wherein the transformation user runs an enumeration task unique to one or more storage containers of a first transformation job during a first time interval, the transformation user runs an enumeration task unique to one or more storage containers of a second transformation job during a second time interval, and the transformation user runs an enumeration task for one or more storage containers of both the first and second transformation jobs during a third time interval in which both the first and second transformation jobs are active.

13. A non-transitory computer-readable storage medium storing computer-executable instructions, the instructions causing a machine to execute a process comprising:

performing a transformation service for a plurality of transformation jobs associated with one or more storage containers; and

running, by a single transformation user, enumeration tasks associated with data stored in the one or more storage containers, wherein the single transformation user is created when a first transformation job of the plurality of transformation jobs starts, and wherein the single transformation user is granted rights to query content for the one or more storage containers necessary for transforming the plurality of transformation jobs,

wherein, when two or more of the plurality of transformation jobs are active during a time interval, the single transformation user runs an enumeration task for all of the active transformation jobs during said time interval, and wherein the enumeration task is shared among the active transformation jobs during the time interval.

14. The non-transitory computer-readable storage medium of claim 13 wherein the process further comprises:

when one of the transformation jobs is started for a storage under transformation, creating the transformation user if there are no other active transformation jobs, and granting the transformation user rights to query content for all of the storage containers necessary for transforming the one transformation job.

15. The non-transitory computer-readable storage medium of claim 13 wherein the process further comprises:

when one of the plurality of transformation jobs is finished for a storage under transformation, and if there are unique storage containers to transform for the one transformation job, revoking the rights to query content for all unique containers to transform for the one transformation job, wherein the transformation user maintains rights for storage containers of the one transformation job shared with other transformation jobs.

16. The non-transitory computer-readable storage medium of claim 13 wherein when the transformation job is finished for a storage under transformation, and if there are no other transformation jobs that are active, the process further comprises deleting the transformation user.

17. The non-transitory computer-readable storage medium of claim 13 wherein each run enumeration task results in an object with related information regarding a container identification identifying the transformation jobs concerned with the object, and the container identification and identified jobs identify target containers for the object, and wherein metadata associated with the object is read and stored in an object index a number of N times, N being the number of identified target containers.

18. The non-transitory computer-readable storage medium of claim 13 wherein the transformation user runs an enumeration task unique to one or more storage containers of a first transformation job during a first time interval, the transformation user runs an enumeration task unique to one or more storage containers of a second transformation job during a second time interval, and the transformation user runs an enumeration task for one or more storage containers of both the first and second transformation jobs during a third time interval in which both the first and second transformation jobs are active.

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 (047648/0422) 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
Reel/Frame 060160/0862 →
RELEASE OF SECURITY INTEREST AT REEL 047648 FRAME 0346 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
Reel/Frame 058298/0510 →
CORRECTIVE ASSIGNMENT TO CORRECT THE FOURTH INVENTOR'S LAST NAME PREVIOUSLY RECORDED AT REEL: 042870 FRAME: 0431. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT . Recorded Jun 22, 2020
From: DANILOV, MIKHAIL; GUTSALOV, NIKITA; TCHOUB, IVAN; FEDOROV, ALEXANDER; KOYUSHEV, SERGEY
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 053006/0970 →
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 →
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 Oct 12, 2018
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 047648/0422 →
PATENT SECURITY AGREEMENT (CREDIT) Recorded Oct 12, 2018
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 047648/0346 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 29, 2017
From: DANILOV, MIKHAIL; GUTSALOV, NIKITA; TCHOUB, IVAN; FEDEROV, ALEXANDER; KOYUSHEV, SERGEY
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 042870/0431 →