IP Library Granted Patent US 12,164,669
Granted Patent B2
US 12,164,669 · App. 16/879,096 · Granted Dec 10, 2024

Data masking in a microservice architecture

Inventors: Kimberly R. Lu (Sunnyvale, CA); Joseph S. Brandt (Salt Lake City, UT); Philip N. Shilane (Newtown, PA)
Assignee: EMC IP Holding Company LLC
G06F21/6254G06F9/505G06F16/174G06F16/182G06F21/71
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 12,164,669
App. No.
16/879,096
Granted
Dec 10, 2024
Kind
B2
Abstract

A method includes receiving an object from a client as part of a data ingestion process, by a masker worker, generating a list that identifies one or more byte ranges, of the object, to be masked, providing the list to an object access microservice, by the object access microservice, creating an object recipe of the object, and the object recipe includes one or more slices, and each of the slices includes one or more segments of data, masking only those segments of a slice that are in a byte range identified in the list, creating a masked slice that comprises the masked segments, and creating a masked object recipe that contains a reference to the masked slice, and the masking is performed before the object is stored in storage, creating a masked object that includes the masked slice, and deduplicating the masked object.

Claims (34)

1. A method, comprising:

receiving an object from a client as part of a data ingestion process;

by a masker worker, generating a list that identifies one or more byte ranges, of the object, to be masked;

providing the list to an object access microservice;

by the object access microservice, creating an object recipe of the object, and the object recipe includes one or more slices, and each of the slices includes one or more segments of data;

masking only those segments of a slice that are in a byte range identified in the list, creating a masked slice that comprises the masked segments, and creating a masked object recipe that contains a reference to the masked slice, wherein the masking is performed before the object is stored in storage;

creating a masked object that includes the masked slice and a reference to an unmasked segment of data in storage;

deduplicating the masked object; and

persistently storing the masked object and unmasked object in storage such that the persistently stored masked object and unmasked object are useable to restore the received object.

2. The method as recited in claim 1 , wherein the object is provided to the masker worker by a load balancer.

3. The method as recited in claim 1 , wherein the masked slice further comprises one or more unmasked segments.

4. The method as recited in claim 1 , wherein deduplication of the masked object is performed at the segment level and, for the unmasked segment, the object access microservice forms a segment of the unaltered data, and the segment of unaltered data is referenced by, and contained in, both the object and the masked object.

5. The method as recited in claim 1 , wherein information identifying the byte ranges is provided to the masker worker by another entity.

6. The method as recited in claim 1 , wherein at least part of the method is performed in a container orchestration system.

7. The method as recited in claim 1 , further comprising storing the deduplicated masked object in storage.

8. The method as recited in claim 1 , further comprising generating respective fingerprints only for masked segments, but not for unmasked segments.

9. The method as recited in claim 1 , further comprising checking, with an object access microservice that receives the object at least indirectly from the client, whether or not masking is enabled.

10. A non-transitory storage medium having stored therein instructions that are executable by one or more hardware processors to perform operations comprising:

receiving an object from a client as part of a data ingestion process;

by a masker worker, generating a list that identifies one or more byte ranges, of the object, to be masked;

providing the list to an object access microservice;

by the object access microservice, creating an object recipe of the object, and the object recipe includes one or more slices, and each of the slices includes one or more segments of data;

masking only those segments of a slice that are in a byte range identified in the list, creating a masked slice that comprises the masked segments, and creating a masked object recipe that contains a reference to the masked slice, wherein the masking is performed before the object is stored in storage;

creating a masked object that includes the masked slice and a reference to an unmasked segment of data in storage;

deduplicating the masked object; and

persistently storing the masked object and unmasked object in storage such that the persistently stored masked object and unmasked object are useable to restore the received object.

11. The non-transitory storage medium as recited in claim 10 , wherein the object is provided to the masker worker by a load balancer.

12. The non-transitory storage medium as recited in claim 10 , wherein the masked slice further comprises one or more unmasked segments.

13. The non-transitory storage medium as recited in claim 10 , wherein deduplication of the masked object is performed at the segment level and, for the unmasked segment, the object access microservice forms a segment of the unaltered data, and the segment of unaltered data is referenced by, and contained in, both the object and the masked object.

14. The non-transitory storage medium as recited in claim 10 , wherein information identifying the byte ranges is provided to the masker worker by another entity.

15. The non-transitory storage medium as recited in claim 10 , wherein at least part of the non-transitory storage medium is performed in a container orchestration system.

16. The non-transitory storage medium as recited in claim 10 , wherein the operations further comprise storing the deduplicated masked object in storage.

17. The non-transitory storage medium as recited in claim 10 , wherein the operations further comprise generating respective fingerprints only for masked segments, but not for unmasked segments.

18. The non-transitory storage medium as recited in claim 10 , wherein the operations further comprise checking, with an object access microservice that receives the object at least indirectly from the client, whether or not masking is enabled.

Assignments (9)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053574/0221) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 060333/0001 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053578/0183) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 060332/0864 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053573/0535) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 060333/0106 →
RELEASE OF SECURITY INTEREST AT REEL 053531 FRAME 0108 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 058001/0371 →
SECURITY INTEREST Recorded Aug 21, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 053578/0183 →
SECURITY INTEREST Recorded Aug 21, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 053573/0535 →
SECURITY INTEREST Recorded Aug 21, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 053574/0221 →
SECURITY AGREEMENT Recorded Aug 18, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 053531/0108 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 20, 2020
From: LU, KIMBERLY R.; BRANDT, JOSEPH S.; SHILANE, PHILIP N.
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 052713/0966 →