IP Library Granted Patent US 10,379,780
Granted Patent B2
US 10,379,780 · App. 15/193,145 · Granted Aug 13, 2019

Statistics management for scale-out storage

Inventors: Andrey Fomin (Vesevolozhsk, RU); Mikhail Danilov (Saint Petersburg, RU); Vladimir Prikhodko (Saint Petersburg, RU); Maxim Trusov (Saint Petersburg, RU); Mikhail Malygin (Saint Petersburg, RU)
Assignee: EMC IP HOLDING COMPANY LLC
G06F3/0653G06F3/0604G06F3/064G06F3/067G06F3/0635
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,379,780
App. No.
15/193,145
Granted
Aug 13, 2019
Kind
B2
Abstract

Systems and processes for statistics management in a distributed storage system using a flat cluster architecture. Statistics for managed objects are collected using virtual statistics groups across multiple storage nodes. The systems and processes are compatible with storage systems that utilize microservice architectures.

Claims (31)

1. A method for use with a distributed storage system comprising a plurality of storage devices, the method comprising:

initializing a statistics group on a plurality of storage nodes, the statistics group associated with a managed object;

assigning ownership of the managed object to a first one of the storage nodes having a data chunk management service and storage devices;

collecting statistics values for the managed object on the first one of the storage nodes;

changing ownership of the managed object to a second one of the storage nodes, while continuing to store statistics values collected by the first one of the storage nodes on the first one of the storage nodes after the change of ownership, the second one of the storage nodes having a data chunk management service and storage devices;

collecting statistics values for the managed object on the second one of the storage nodes;

receiving, at an arbitrary one of the plurality of storage nodes, a request for a statistics value within the statistics group; and

responding to the request by: blindly querying, by the arbitrary storage node, each of the other storage nodes in the plurality for statistics values associated with the managed object, receiving, by the arbitrary storage node, the statistics values collected on at least one of the first storage nodes and the second one of the storage nodes, combining, by the arbitrary storage node, the statistics values collected on the first one of the storage nodes and the statistics values collected on the second one of the storage nodes, and returning the combined statistics values; and

using the combined statistics values to scale out the distributed storage system with cluster-level functions distributed evenly among the plurality of storage nodes.

2. The method of claim 1 wherein the managed object comprises a table configured to store metadata about storage chunks stored within the storage devices.

3. The method of claim 1 wherein combining the statistics values collected on the first one of the storage nodes and the statistics values collected on the second one of the storage nodes comprises computing a statistics function over the statistics values collected on the first one of the storage nodes and the statistics values collected on the second one of the storage nodes.

4. The method of claim 3 wherein computing a statistics function over the statistics values comprises computing a sum of the statistics values, determining a most recent value from the statistics values, determining a maximum value from the statistics values, or determining a minimum value from the statistics values.

5. The method of claim 1 wherein combining the statistics values collected on the first one of the storage nodes and the statistics values collected on the second one of the storage nodes comprises appending time series data collected on the second one of the storage nodes to time series data collected on the first one of the storage nodes.

6. The method of claim 1 wherein the distributed storage system employs a microservice architecture.

7. A distributed storage system, comprising:

a plurality of storage nodes each having a plurality of storage devices and configured to:

initialize a statistics group on a plurality of storage nodes, the statistics group associated with a managed object;

assign ownership of the managed object to a first one of the storage nodes having a data chunk management service and storage devices;

collect statistics values for the managed object on the first one of the storage nodes;

change ownership of the managed object to a second one of the storage nodes, while continuing to store statistics values collected by the first one of the storage nodes on the first one of the storage nodes after the change of ownership, the second one of the storage nodes having a data chunk management service and storage devices;

collect statistics values for the managed object on the second one of the storage nodes;

receive, at an arbitrary one of the plurality of storage nodes, a request for a statistics value within the statistics group;

respond to the request by: blindly querying, by a statistics manager included in the arbitrary storage node, a statistics client included in each of the other storage nodes in the plurality for statistics values associated with the managed object, receiving, by the arbitrary storage node, the statistics values collected on at least one of the first storage nodes and the second one of the storage nodes, combining, by the arbitrary storage node, the statistics values collected on the first one of the storage nodes and the statistics values collected on the second one of the storage nodes, and returning the combined statistics values; and

use the combined statistics values to scale out the distributed storage system with cluster-level functions distributed evenly among the plurality of storage nodes.

8. The distributed storage system of claim 7 wherein the managed object is a table configured to store metadata about storage chunks stored within the storage devices.

9. The distributed storage system of claim 7 wherein ones of the plurality of storage nodes are configured to computing a statistics function over the statistics values collected on the first one of the storage nodes and the statistics values collected on the second one of the storage nodes.

10. The distributed storage system of claim 9 wherein ones of the plurality of storage nodes are configured to compute a sum of the statistics values, to determine a most recent value from the statistics values, to determine a maximum value from the statistics values, or to determine a minimum value from the statistics values.

11. The distributed storage system of claim 7 wherein ones of the plurality of storage nodes are configured to append time series data collected on the second one of the storage nodes to time series data collected on the first one of the storage nodes.

12. The distributed storage system of claim 7 wherein the statistics manager is a microservice.

13. The distributed storage system of claim 7 wherein the statistics manager includes a REST (Representational State Transfer) API configured to process statistics requests from user applications.

14. The distributed storage system of claim 7 wherein the statistics manager includes a database to store statistics received from the plurality of statistics clients.

Assignments (9)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (051302/0528) 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; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO WYSE TECHNOLOGY L.L.C.); SECUREWORKS CORP.
Reel/Frame 060438/0593 →
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 051449 FRAME 0728 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC; WYSE TECHNOLOGY L.L.C.; SECUREWORKS CORP.; EMC CORPORATION
Reel/Frame 058002/0010 →
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 Dec 31, 2019
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC; WYSE TECHNOLOGY L.L.C.; SECUREWORKS CORP.; EMC CORPORATION
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 051449/0728 →
PATENT SECURITY AGREEMENT (NOTES) Recorded Dec 16, 2019
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC; WYSE TECHNOLOGY L.L.C.; SECUREWORKS CORP.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 051302/0528 →
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 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 3, 2017
From: EMC CORPORATION
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 041872/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 7, 2016
From: FOMIN, ANDREY; DANILOV, MIKHAIL; PRIKHODKO, VLADIMIR; TRUSOV, MAXIM; MALYGIN, MIKHAIL
To: EMC CORPORATION
Reel/Frame 039093/0826 →
Priority Claims (1)
RU 2015154746 · Dec 21, 2015 · national
Continuity (1)
Related Publication 20170177273A1 · Jun 22, 2017