IP Library Granted Patent US 11,763,077
Granted Patent B1
US 11,763,077 · App. 15/802,550 · Granted Sep 19, 2023

Uniform parsing of configuration files for multiple product types

Inventors: Ritong Chen (Boxborough, MA); Arun Kumar Obappa (Shrewsbury, MA)
Assignee: EMC IP Holding Company LLC
G06F40/221G06F8/427G06F9/546G06F40/149H04L51/48
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,763,077
App. No.
15/802,550
Granted
Sep 19, 2023
Kind
B1
Abstract

A platform is provided for uniform parsing of configuration files for multiple product types. One method comprises obtaining, by a parser of a given product type, a given request from a message queue based on a metadata message of an incoming configuration file from a remote product of a given product type, wherein the message queue stores metadata messages for a plurality of product types; extracting information from the incoming configuration file based on product-specific business logic obtained from a table store comprising tables for the plurality of product types, wherein the business logic provides a mapping between information extracted from the incoming configuration file and destination database tables; and storing the contents in the destination database tables of a product-specific predefined database schema.

Claims (36)

1 . A method, comprising:

locating and obtaining, by a parser of a given hardware product type, based on said given hardware product type, a given request of a given request type, wherein the given request is generated by a message consumer from a message queue based on a metadata message of an incoming product configuration file from a remote product of said given hardware product type, wherein said given request type corresponds to said given hardware product type and said message queue stores metadata messages for a plurality of hardware product types, wherein the incoming product configuration file comprises error reporting data related to the remote product for a particular time, wherein the parser is: (i) one of a plurality of parsers of a unified parser framework, each of the plurality of parsers corresponding to a different one of the plurality of hardware product types, and (ii) dynamically bound to a unique parsing routine at run time based on product- specific business logic that is specific to said given hardware product type;

extracting, by the parser of the given hardware product type, information corresponding to a portion of the error reporting data from the incoming product configuration file based on the unique parsing routine of the parser, wherein the unique parsing routine comprises a set of rules for mapping the extracted information that: (i) is obtained from a first database comprising a respective set of rules for each of the plurality of hardware product types, and (ii) maps information extracted from the incoming product configuration file to one or more destination database tables in a second database, according to a predefined database schema specified for the given hardware product type, wherein the set of rules comprises two or more of: at least one location of at least one portion of an encoded version of the incoming product configuration file from which to start extracting the information, one or more destination database table names, and a mapping between elements of the encoded version and fields of the one or more destination database tables;

storing the extracted information in the one or more destination database tables of the second database according to the one or more destination database table names and the mapping identified in the set of rules;

displaying a parsing dashboard that provides log data and statistics of the parser of the given hardware product type, the log data and statistics comprising two or more of: a number of pending requests associated with the remote product, a number of processed requests associated with the remote product, and an average processing time of each processed request associated with the remote product; and

adjusting a configuration of the parser of the given hardware product type based on at least a portion of the log data and statistics.

2 . The method of claim 1 , wherein said method employs a common parsing platform comprising one or more processing modules that are employed by said plurality of hardware product types.

3 . The method of claim 1 , further comprising the step of updating a status of the given request as one or more of being processed and completed.

4 . The method of claim 1 , further comprising the step of sending one or more alerts to a support team in response to said given request.

5 . The method of claim 1 , further comprising the step of obtaining a product-specific archival routine for said given hardware product type.

6 . The method of claim 1 , wherein at least one of the plurality of hardware product types corresponds to a storage array.

7 . The method of claim 1 , wherein the encoded version of the incoming product configuration file comprises an extensible markup language (XML) file, and wherein the at least one location corresponds to at least one XML tag.

8 . The method of claim 1 , wherein the adjusting is performed without changing computer program code of the parser.

9 . A system, comprising: a memory; and

at least one processing device, coupled to the memory, operative to implement the following steps:

locating and obtaining, by a parser of a given hardware product type, based on said given hardware product type, a given request of a given request type, wherein the given request is generated by a message consumer from a message queue based on a metadata message of an incoming product configuration file from a remote product of said given hardware product type, wherein said given request type corresponds to said given hardware product type and said message queue stores metadata messages for a plurality of hardware product types, wherein the incoming product configuration file comprises error reporting data related to the remote product for a particular time, wherein the parser is: (i) one of a plurality of parsers of a unified parser framework, each of the plurality of parsers corresponding to a different one of the plurality of hardware product types, and (ii) dynamically bound to a unique parsing routine at run time based on product- specific business logic that is specific to said given hardware product type;

extracting, by the parser of the given hardware product type, information corresponding to a portion of the error reporting data from the incoming product configuration file based on the unique parsing routine of the parser, wherein the unique parsing routine comprises a set of rules for mapping the extracted information that: (i) is obtained from a first database comprising a respective set of rules for each of the plurality of hardware product types, and (ii) maps information extracted from the incoming product configuration file to one or more destination database tables in a second database, according to a predefined database schema specified for the given hardware product type, wherein the set of rules comprises two or more of: at least one location of at least one portion of an encoded version of the incoming product configuration file from which to start extracting the information, one or more destination database table names, and a mapping between elements of the encoded version and fields of the one or more destination database tables;

storing the extracted information in the one or more destination database tables of the second database according to the one or more destination database table names and the mapping identified in the set of rules;

displaying a parsing dashboard that provides log data and statistics of the parser of the given hardware product type, the log data and statistics comprising two or more of: a number of pending requests associated with the remote product, a number of processed requests associated with the remote product, and an average processing time of each processed request associated with the remote product; and

adjusting a configuration of the parser of the given hardware product type based on at least a portion of the log data and statistics.

10 . The system of claim 9 , wherein said at least one processing device employs a common parsing platform comprising one or more processing modules that are employed by said plurality of hardware product types.

11 . The system of claim 9 , further comprising the step of sending one or more alerts to a support team in response to said given request.

12 . The system of claim 9 , further comprising the step of: obtaining a product-specific archival routine for said given hardware product type.

13 . The system of claim 9 , wherein at least one of the plurality of hardware product types corresponds to a storage array.

14 . The system of claim 9 , wherein the encoded version of the incoming product configuration file comprises an extensible markup language (XML) file, and wherein the at least one location corresponds to at least one XML tag.

15 . The system of claim 9 , wherein the adjusting is performed without changing computer program code of the parser.

16 . A computer program product, comprising a tangible machine-readable storage medium having encoded therein executable code of one or more software programs, wherein the one or more software programs when executed by at least one processing device perform the following steps:

locating and obtaining, by a parser of a given hardware product type, based on said given hardware product type, a given request of a given request type, wherein the given request is generated by a message consumer from a message queue based on a metadata message of an incoming product configuration file from a remote product of said given hardware product type, wherein said given request type corresponds to said given hardware product type and said message queue stores metadata messages for a plurality of hardware product types, wherein the incoming product configuration file comprises error reporting data related to the remote product for a particular time, wherein the parser is: (i) one of a plurality of parsers of a unified parser framework, each of the plurality of parsers corresponding to a different one of the plurality of hardware product types, and (ii) dynamically bound to a unique parsing routine at run time based on product- specific business logic that is specific to said given hardware product type;

extracting, by the parser of the given hardware product type, information corresponding to a portion of the error reporting data from the incoming product configuration file based on the unique parsing routine of the parser, wherein the unique parsing routine comprises a set of rules for mapping the extracted information that: (i) is obtained from a first database comprising a respective set of rules for each of the plurality of hardware product types, and (ii) maps information extracted from the incoming product configuration file to one or more destination database tables in a second database, according to a predefined database schema specified for the given hardware product type, wherein the set of rules comprises two or more of: at least one location of at least one portion of an encoded version of the incoming product configuration file from which to start extracting the information, one or more destination database table names, and a mapping between elements of the encoded version and fields of the one or more destination database tables;

storing the extracted information in the one or more destination database tables of the second database according to the one or more destination database table names and the mapping identified in the set of rules;

displaying a parsing dashboard that provides log data and statistics of the parser of the given hardware product type, the log data and statistics comprising two or more of: a number of pending requests associated with the remote product, a number of processed requests associated with the remote product, and an average processing time of each processed request associated with the remote product; and

adjusting a configuration of the parser of the given hardware product type based on at least a portion of the log data and statistics.

17 . The computer program product of claim 16 , wherein said one or more software programs employ a common parsing platform comprising one or more processing modules that are employed by said plurality of hardware product types.

18 . The computer program product of claim 16 , wherein at least one of the plurality of hardware product types corresponds to a storage array.

19 . The computer program product of claim 16 , wherein the encoded version of the incoming product configuration file comprises an extensible markup language (XML) file, and wherein the at least one location corresponds to at least one XML tag.

20 . The computer program product of claim 16 , wherein the adjusting is performed without changing computer program code of the parser.

Assignments (8)
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 →
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 Nov 3, 2017
From: CHEN, RITONG; OBAPPA, ARUN KUMAR
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 044025/0775 →