IP Library Granted Patent US 11,258,839
Granted Patent B2
US 11,258,839 · App. 16/810,987 · Granted Feb 22, 2022

Data storage management and resource scaling

Inventors: Andrei Paduroiu (Bellevue, WA); Srikanth Satyanarayana (Issaquah, WA)
Assignee: EMC IP Holding Company LLC
H04L65/607G06F16/2358G06F16/2379H04L9/0643H04L12/5602H04L45/7453H04L65/4069H04L65/4084H04L65/60H04L65/601H04L65/604H04L67/26H04L67/2833H04L67/2842H04N21/242H04N21/4331H04N21/845H04N21/8456H04N21/8458H04L65/608H04L65/80H04L67/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 11,258,839
App. No.
16/810,987
Granted
Feb 22, 2022
Kind
B2
Abstract

Aspects of the present disclosure relate to managing data storage resources. In embodiments, one or more data streams are received. Each data stream can include one or more data portions. Further, one or more storage parameters are monitored. Each storage parameter can include data input load of each data stream, data write rate of each stream, number of events in each stream, and data ingestion rates of one or more storage devices. Data storage resources are elastically scales based on any changes to the at least one monitored storage parameter.

Claims (32)

1. An apparatus configured to a memory and at least one processor configured to:

receive one or more data streams, wherein each data stream includes one or more data portions;

monitor one or more storage parameters, wherein each storage parameter corresponds to one or more of: data input load of each data stream, data write rate of each stream, number of events in each stream, and data ingestion rates of one or more storage devices; and

elastically scale data storage resources based on any changes to the at least one monitored storage parameter, wherein elastically scaling the storage resources includes:

monitoring at least one stream's data input rate;

determining the at least one stream's service level objective (SLO); and

adjusting a number of readers in a readers in a reader group configred to process data from the stream based on the data input rate and SLO.

2. The apparatus of claim 1 further configured to shard each data portion into one or more stream segments based on at least one of the monitored storage parameters.

3. The apparatus of claim 2 , wherein each sharded stream segment corresponds to a container configured to buffer one or more sets of data portions and each sharded stream segment corresponds to one of the data storage resources.

4. The apparatus of claim 2 further configured to write each data portion to at least one of the sharded stream segments based on a routing key corresponding to each data portion.

5. The apparatus of claim 2 , wherein each data portion corresponds to an event and each event represents a data record.

6. The apparatus of claim 5 further configured to group one or more readers into one or more sets of reader groups based on one or more of: a number of sharded stream segments and the at least one monitored storage parameter, wherein each reader and each reader group corresponds to two of the data storage resources.

7. The apparatus of claim 6 further configured to assign each reader from each reader group to zero or more of the sharded stream segments.

8. The apparatus of claim 7 further configured to elastically scale an amount of the sharded stream segments based on the at least one monitored storage parameter.

9. The apparatus of claim 8 further configured to adjust elastically scaling an amount of one or more of the readers in each reader group, an amount of reader groups, and an amount of readers assigned to each of the scaled amount of sharded stream segments.

10. The apparatus of claim 1 , wherein elastically scaling the data storage resources includes one or more of growing or shrinking an amount of the data storage resources.

11. A method comprising:

receiving one or more data streams, wherein each data stream includes one or more data portions;

monitoring one or more storage parameters, wherein each storage parameter corresponds to one or more of: data input load of each data stream, data write rate of each stream, number of events in each stream, and data ingestion rates of one or more storage devices; and

elastically scaling data storage resources based on any changes to the at least one monitored storage parameter, wherein elastically scaling the storage resources includes:

monitoring at least one stream's data input rate;

determining at least one stream's service level objective (SLO); and

adjusting a number of readers in a readers in a reader group configred to process data from the stream based on the data input rate and SLO.

12. The method of claim 11 further comprising sharding each data portion into one or more stream segments based on at least one of the monitored storage parameters.

13. The method of claim 12 , wherein each sharded stream segment corresponds to a container configured to buffer one or more sets of data portions and each sharded stream segment corresponds to one of the data storage resources.

14. The method of claim 12 further comprising writing each data portion to at least one of the sharded stream segments based on a routing key corresponding to each data portion.

15. The method of claim 12 , wherein each data portion corresponds to an event and each event represents a data record.

16. The method of claim 15 further comprising grouping one or more readers into one or more sets of reader groups based on one or more of: a number of sharded stream segments and the at least one monitored storage parameter, wherein each reader and each reader group corresponds to two of the data storage resources.

17. The method of claim 16 further comprising assigning each reader from each reader group to zero or more of the sharded stream segments.

18. The method of claim 17 , wherein elastically scaling the data storage resources includes elastically scaling an amount of the sharded stream segments based on the at least one monitored storage parameter.

19. The method of claim 18 further comprising adjusting elastically scaling an amount of one or more of the readers in each reader group, an amount of reader groups, and an amount of readers assigned to each of the scaled amount of sharded stream segments.

20. The method of claim 11 , wherein elastically scaling the data storage resources includes one or more of growing or shrinking an amount of the data storage resources.

Assignments (13)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (052851/0917) Recorded Jun 23, 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 060436/0509 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (052852/0022) Recorded Jun 23, 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 060436/0582 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (052851/0081) Recorded Jun 23, 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 060436/0441 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053311/0169) Recorded Jun 23, 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 060438/0742 →
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 AT REEL 052771 FRAME 0906 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 058001/0298 →
SECURITY INTEREST Recorded Jun 5, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 052852/0022 →
SECURITY INTEREST Recorded Jun 5, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC; THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 052851/0081 →
SECURITY INTEREST Recorded Jun 5, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 052851/0917 →
SECURITY INTEREST Recorded Jun 5, 2020
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 053311/0169 →
SECURITY AGREEMENT Recorded May 28, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 052771/0906 →
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 Mar 6, 2020
From: PADUROIU, ANDREI; SATYANARAYANA, SRIKANTH
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 052035/0536 →
Continuity (3)
Continuation 15974906 · May 9, 2018
Provisional Application 62503845 · May 9, 2017
Related Publication 20200213380A1 · Jul 2, 2020