IP Library Granted Patent US 10,732,852
Granted Patent B1
US 10,732,852 · App. 15/788,383 · Granted Aug 4, 2020

Telemetry service

Inventors: Qiang Ma (Chengdu, CN); James Odis Pendergraft (Raleigh, NC); Hao Sun (Shanghai, CN); Jichao Zhang (Shanghai, CN)
Assignee: EMC IP Holding Company LLC
G06F3/0613G06F3/065G06F3/0608G06F3/0641G06F3/0665G06F3/0689G06F3/0619G06F9/54
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,732,852
App. No.
15/788,383
Granted
Aug 4, 2020
Kind
B1
Abstract

Techniques for request processing may include: receiving, at a data storage system, a plurality of requests from one or more clients, wherein the plurality of requests are in accordance with an application programming interface (API); collecting usage information regarding the plurality of requests; and periodically transmitting portions of the usage information to a data center. The usage information may include usage statistics regarding usage aspects of the API with respect to different types or classes of components in the data storage system. The usage information may be further analyzed for any suitable purpose such as to prioritize and identify existing features, services and/or commands for further development and improvement; identify unused or infrequently used features, commands, and/or parameters; and identify potential user interface enhancement.

Claims (49)

1. A method of request processing comprising:

receiving, at a data storage system, a plurality of data storage management requests from one or more clients, wherein the plurality of data storage system management requests include a first command issued to create a new file system, wherein said plurality of data storage management requests are in accordance with an application programming interface and perform different data storage system management operations with respect to data storage system configuration information defining a data storage system configuration of the data storage system;

collecting usage information regarding the plurality of data storage management requests;

periodically transmitting portions of the usage information to a data center;

analyzing the usage information regarding the plurality of data storage management requests, wherein said analyzing includes monitoring a particular order in which at least two data storage system management requests are issued, wherein the at least two data storage system management requests include the first command issued to create a new file system;

detecting, in accordance with said analyzing, a sequence of data storage system management requests that occurs a plurality of times, wherein the sequence comprises the at least two data storage system management requests that include the first command issued to create a new file system and that are observed as being issued in the particular order by said monitoring; and

responsive to said detecting, providing a wizard that executes in a user interface of a data storage system management application, wherein the wizard is executed and logically guides a user through the sequence of data storage system management requests in the particular order and obtains input values for command parameters of the sequence of data storage system management requests, wherein the wizard performs processing that includes ensuring valid inputs are obtained for required parameters prior to sending the sequence of data storage system management requests to the data storage system.

2. The method of claim 1 , wherein each of the plurality of data storage management requests is a request to perform an operation with respect to one or more objects each representing a component in the data storage system.

3. The method of claim 2 , wherein the component is included in the data storage system configuration of the data storage system, and the component is any of a logical component, a physical component, and a feature or service.

4. The method of claim 3 , wherein the component is the logical component and the logical component is any of a logical device, a storage pool, a file server, a file system, and a RAID group.

5. The method of claim 3 , wherein the component is the physical component and the physical component is a physical storage device.

6. The method of claim 3 , wherein the component is the feature or service and the feature or service is any of a replication facility, and a snapshot facility.

7. The method of claim 1 , wherein said collecting is performed on the data storage system by a collector service that runs as a background service and that receives collected data storage management requests from a producer.

8. The method of claim 7 , wherein the collector service periodically persists newly received data storage management requests to a data container.

9. The method of claim 8 , further comprising:

determining, by the collector service, whether one of a defined set of trigger conditions has occurred; and

responsive to determining that one of a defined set of trigger conditions has occurred, performing processing by the collector service including spawning a persistence task to store usage information regarding collected data storage management requests to the data container.

10. The method of claim 9 , wherein the defined set of trigger conditions includes a time-based condition indicating to spawn the persistence task if at least a threshold amount of time has elapsed since a last set of usage information was stored to the data container.

11. The method of claim 10 , wherein the defined set of trigger conditions indicates to spawn the persistence task if at least a threshold number of data storage management requests are included in an input queue and are awaiting to have associated usage information stored to the data container.

12. The method of claim 11 , wherein a maximum number of persistence tasks is specified and wherein at any point in time, there are no more than the maximum number of persistence tasks currently executing in the data storage system to store usage information to the data container.

13. The method of claim 12 , wherein when a current number of persistence tasks executing is equal to the maximum number, the collector service is blocked from spawning additional persistence tasks.

14. The method of claim 1 , wherein a plurality of sets of usage information is received by the data center from a plurality of data storage systems including the data storage system, and the method further comprising:

performing analysis at the data center of the plurality of sets of usage information.

15. The method of claim 1 , further comprising:

performing first processing of the plurality of data storage management requests to ensure that the plurality of data storage management requests are valid;

responsive to determining the plurality of data storage management requests are valid, performing said collecting for the plurality of data storage management requests; and

responsive to determining that one or more of the plurality of data storage management requests are not valid, determining not to collect usage information for the one or more data storage management requests determined as not valid.

16. The method of claim 1 , wherein the usage information includes counts regarding the different operations requested in the plurality of data storage management requests.

17. The method of claim 16 , wherein the different operations include any of:

a query request to return requested information regarding one or more entities in an existing configuration of the data storage system;

a create operation that creates a new instance of an entity that is added to the existing configuration;

a delete operation that deletes an existing instance of an entity currently included in the existing configuration; and

a modify operation that modifies a parameter of an existing instance of an entity currently included in the existing configuration.

18. A computer readable medium comprising code stored thereon that, when executed, performs a method of request processing comprising:

receiving, at a data storage system, a plurality of data storage management requests from one or more clients, wherein the plurality of data storage system management requests include a first command issued to create a new file system, wherein said plurality of data storage management requests are in accordance with an application programming interface and perform different data storage system management operations with respect to data storage system configuration information defining a data storage system configuration of the data storage system;

collecting usage information regarding the plurality of data storage management requests;

periodically transmitting portions of the usage information to a data center;

analyzing the usage information regarding the plurality of data storage management requests, wherein said analyzing includes monitoring a particular order in which at least two data storage system management requests are issued, wherein the at least two data storage system management requests include the first command issued to create a new file system;

detecting, in accordance with said analyzing, a sequence of data storage system management requests that occurs a plurality of times, wherein the sequence comprises the at least two data storage system management requests that include the first command issued to create a new file system and that are observed as being issued in the particular order by said monitoring; and

responsive to said detecting, providing a wizard that executes in a user interface of a data storage system management application, wherein the wizard is executed and logically guides a user through the sequence of data storage system management requests in the particular order and obtains input values for command parameters of the sequence of data storage system management requests, wherein the wizard performs processing that includes ensuring valid inputs are obtained for required parameters prior to sending the sequence of data storage system management requests to the data storage system.

19. A system comprising:

at least one processor; and

at least one memory comprising code stored thereon that, when executed by said at least one processor, performs a method of request processing comprising:

receiving, at a data storage system, a plurality of data storage management requests from one or more clients, wherein the plurality of data storage system management requests include a first command issued to create a new file system, wherein said plurality of data storage management requests are in accordance with an application programming interface and perform different data storage system management operations with respect to data storage system configuration information defining a data storage system configuration of the data storage system;

collecting usage information regarding the plurality of data storage management requests;

periodically transmitting portions of the usage information to a data center;

analyzing the usage information regarding the plurality of data storage management requests, wherein said analyzing includes monitoring a particular order in which at least two data storage system management requests are issued, wherein the at least two data storage system management requests include the first command issued to create a new file system;

detecting, in accordance with said analyzing, a sequence of data storage system management requests that occurs a plurality of times, wherein the sequence comprises the at least two data storage system management requests that include the first command issued to create a new file system and that are observed as being issued in the particular order by said monitoring; and

responsive to said detecting, providing a wizard that executes in a user interface of a data storage system management application, wherein the wizard is executed and logically guides a user through the sequence of data storage system management requests in the particular order and obtains input values for command parameters of the sequence of data storage system management requests, wherein the wizard performs processing that includes ensuring valid inputs are obtained for required parameters prior to sending the sequence of data storage system management requests to the data 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 →
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 →
CORRECTIVE ASSIGNMENT TO CORRECT THE FIRST CONVEYING PARTY NAME PREVIOUSLY RECORDED AT REEL: 043906 FRAME: 0347. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded May 17, 2018
From: MA, QIANG; PENDERGRAFT, JAMES ODIS; SUN, HAO; ZHANG, JICHAO
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 046905/0370 →
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 →
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 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 19, 2017
From: MARCHANT, QIANG; PENDERGRAFT, JAMES ODIS; SUN, HAO; ZHANG, JICHAO
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 043906/0347 →
Cited By (2)
US 12,306,795 US 12,381,934