IP Library Granted Patent US 10,915,704
Granted Patent B2
US 10,915,704 · App. 16/178,832 · Granted Feb 9, 2021

Intelligent reporting platform

Inventors: Giridhar Rao Sonti (Bangalore, IN); Timothy Ramamurthy (Bangalore, IN); Praveen Kumar Belkar (Bangalore, IN); Ranjan S. Purushothama (Bangalore, IN)
Assignee: Dell Products L.P.
G06F40/186G06F40/174H04L67/06
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,915,704
App. No.
16/178,832
Granted
Feb 9, 2021
Kind
B2
Abstract

A processing platform is configured to maintain a plurality of reporting templates in the form of respective data structures, each of the data structures comprising a first field indicative of whether or not the corresponding template is a dynamic template and a plurality of additional fields comprising respective presentation unit identifiers having respective assigned values. The processing platform receives input data, and identifies at least one of the reporting templates that is relevant to the input data. For an identified reporting templates that is a dynamic template, the processing platform generates report presentation output in which presentation units corresponding to respective ones of the presentation unit identifiers are generated based at least in part on respective portions of the input data. The processing platform delivers the report presentation output to at least one of client device over a network.

Claims (48)

1. An apparatus comprising:

a processing platform comprising a plurality of processing devices each comprising a processor coupled to a memory;

the processing platform being configured to communicate over a network with one or more client devices;

the processing platform being further configured:

to maintain a plurality of reporting templates, including a plurality of dynamic templates, in the form of respective data structures, each of the data structures comprising a first field indicative of whether or not the corresponding template is a dynamic template and a plurality of additional fields comprising respective presentation unit identifiers having respective assigned values;

to receive input data;

to identify at least one of the reporting templates that is relevant to the input data;

for an identified reporting template that is a dynamic template, to generate report presentation output in which presentation units corresponding to respective ones of the presentation unit identifiers are generated based at least in part on respective portions of the input data; and

to deliver the report presentation output to at least one of the client devices over the network;

wherein a given one of the dynamic templates comprises in the plurality of additional fields of its data structure at least a first additional field comprising a first presentation unit identifier having a first assigned value indicating that the corresponding presentation unit is fixed and a second additional field comprising a second presentation unit identifier having a second assigned value different than the first assigned value and indicating that the corresponding presentation unit is not fixed but is instead variable and subject to modification based at least in part on a corresponding portion of the input data; and

wherein the processing platform is further configured:

to generate a list of presentation unit elements from the received input data, and for a given one of the dynamic templates to compare the presentation unit elements of the list to presentation unit elements of presentation units having the presentation unit identifiers of the given one of the dynamic templates, and to identify from the comparison and corresponding ones of the assigned values particular ones of the presentation units that are subject to modification based at least in part on a corresponding portion of the input data.

2. The apparatus of claim 1 wherein the presentation units comprise respective slides of a slide-based report.

3. The apparatus of claim 2 wherein the plurality of additional fields of the data structure of a given one of the dynamic templates comprise respective presentation unit identifiers each identifying a different one of the slides of the slide-based report.

4. The apparatus of claim 3 wherein the assigned values of a first subset of the presentation unit identifiers indicate that the respective corresponding slides are fixed in the slide-based report and the assigned values of a second subset of the presentation unit identifiers indicate that the respective corresponding slides are variable in the slide-based report based at least in part on the received input data.

5. The apparatus of claim 1 wherein a given one of the dynamic templates comprises at least one presentation unit identifier that identifies a presentation unit comprising one or more presentation elements including at least one of a dynamic text section, a dynamic chart and a dynamic table.

6. The apparatus of claim 1 wherein the processing platform is further configured to maintain one or more report component libraries each comprising a plurality of predefined presentation elements that are subject to modification based at least in part on a corresponding portion of the input data.

7. The apparatus of claim 1 wherein generating report presentation output in which presentation units corresponding to respective ones of the presentation unit identifiers are generated based at least in part on respective portions of the input data comprises at least one of updating a dynamic text section of a given one of the presentation units utilizing a portion of the input data, updating a dynamic chart of the given presentation unit utilizing a portion of the input data, and updating a dynamic table of the given presentation unit utilizing a portion of the input data.

8. The apparatus of claim 7 wherein a given instance of the updating comprises one of replacing and removing.

9. The apparatus of claim 1 wherein the first field of the data structure of a given one of the reporting templates comprises a custom property of a slide-based report.

10. The apparatus of claim 1 wherein the processing platform is further configured to automatically include in its generation of report presentation output any presentation unit having a presentation unit identifier in the given dynamic template with an assigned value indicating that the corresponding presentation unit is fixed for the given dynamic template.

11. The apparatus of claim 1 wherein the processing platform is further configured to automatically exclude from its generation of report presentation output any presentation unit having a presentation unit identifier in the given dynamic template with an assigned value indicating that the corresponding presentation unit is variable for the given dynamic template, responsive to an absence of a match between any of the presentation unit elements of the list and a presentation unit element of the presentation unit having the presentation unit identifier in the given dynamic template.

12. The apparatus of claim 1 wherein the fixed presentation unit is automatically included in the generation of report presentation output and the variable presentation unit is automatically excluded from the generation of report presentation output responsive to absence of a match between any presentation unit element of the received input data and a presentation unit element of the variable presentation unit.

13. The apparatus of claim 1 wherein the processing platform is configured to provide an application programming interface through which at least portions of one or more of the reporting templates are configurable by a system user.

14. A method comprising:

maintaining a plurality of reporting templates, including a plurality of dynamic templates, in the form of respective data structures, each of the data structures comprising a first field indicative of whether or not the corresponding template is a dynamic template and a plurality of additional fields comprising respective presentation unit identifiers having respective assigned values;

receiving input data;

identifying at least one of the reporting templates that is relevant to the input data;

for an identified reporting template that is a dynamic template, generating report presentation output in which presentation units corresponding to respective ones of the presentation unit identifiers are generated based at least in part on respective portions of the input data; and

delivering the report presentation output to at least one client device over a network;

wherein a given one of the dynamic templates comprises in the plurality of additional fields of its data structure at least a first additional field comprising a first presentation unit identifier having a first assigned value indicating that the corresponding presentation unit is fixed and a second additional field comprising a second presentation unit identifier having a second assigned value different than the first assigned value and indicating that the corresponding presentation unit is not fixed but is instead variable and subject to modification based at least in part on a corresponding portion of the input data;

wherein the method further comprises generating a list of presentation unit elements from the received input data, and for a given one of the dynamic templates to compare the presentation unit elements of the list to presentation unit elements of presentation units having the presentation unit identifiers of the given one of the dynamic templates, and to identify from the comparison and corresponding ones of the assigned values particular ones of the presentation units that are subject to modification based at least in part on a corresponding portion of the input data; and

wherein the method is implemented by a processing platform comprising a plurality of processing devices each comprising a processor coupled to a memory.

15. The method of claim 14 wherein the presentation units comprise respective slides of a slide-based report and the plurality of additional fields of the data structure of a given one of the dynamic templates comprise respective presentation unit identifiers each identifying a different one of the slides of the slide-based report.

16. A computer program product comprising a non-transitory processor-readable storage medium having stored therein program code of one or more software programs, wherein the program code when executed by a processing platform comprising a plurality of processing devices, each such processing device comprising a processor coupled to a memory, causes the processing platform:

to maintain a plurality of reporting templates, including a plurality of dynamic templates, in the form of respective data structures, each of the data structures comprising a first field indicative of whether or not the corresponding template is a dynamic template and a plurality of additional fields comprising respective presentation unit identifiers having respective assigned values;

to receive input data;

to identify at least one of the reporting templates that is relevant to the input data;

for an identified reporting template that is a dynamic template, to generate report presentation output in which presentation units corresponding to respective ones of the presentation unit identifiers are generated based at least in part on respective portions of the input data; and

to deliver the report presentation output to at least one client device over a network;

wherein a given one of the dynamic templates comprises in the plurality of additional fields of its data structure at least a first additional field comprising a first presentation unit identifier having a first assigned value indicating that the corresponding presentation unit is fixed and a second additional field comprising a second presentation unit identifier having a second assigned value different than the first assigned value and indicating that the corresponding presentation unit is not fixed but is instead variable and subject to modification based at least in part on a corresponding portion of the input data; and

wherein the program code when executed by the processing platform further causes the processing platform to generate a list of presentation unit elements from the received input data, and for a given one of the dynamic templates to compare the presentation unit elements of the list to presentation unit elements of presentation units having the presentation unit identifiers of the given one of the dynamic templates, and to identify from the comparison and corresponding ones of the assigned values particular ones of the presentation units that are subject to modification based at least in part on a corresponding portion of the input data.

17. The computer program product of claim 16 wherein the presentation units comprise respective slides of a slide-based report and the plurality of additional fields of the data structure of a given one of the dynamic templates comprise respective presentation unit identifiers each identifying a different one of the slides of the slide-based report.

18. The computer program product of claim 17 wherein the assigned values of a first subset of the presentation unit identifiers indicate that the respective corresponding slides are fixed in the slide-based report and the assigned values of a second subset of the presentation unit identifiers indicate that the respective corresponding slides are variable in the slide-based report based at least in part on the received input data.

19. The computer program product of claim 16 wherein a given one of the dynamic templates comprises at least one presentation unit identifier that identifies a presentation unit comprising one or more presentation elements including at least one of a dynamic text section, a dynamic chart and a dynamic table.

20. The computer program product of claim 16 wherein the program code when executed by the processing platform further causes the processing platform to one or more of:

(i) automatically include in its generation of report presentation output any presentation unit having a presentation unit identifier in the given dynamic template with an assigned value indicating that the corresponding presentation unit is fixed for the given dynamic template; and

(ii) automatically exclude from its generation of report presentation output any presentation unit having a presentation unit identifier in the given dynamic template with an assigned value indicating that the corresponding presentation unit is variable for the given dynamic template, responsive to an absence of a match between any of the presentation unit elements of the list and a presentation unit element of the presentation unit having the presentation unit identifier in the given dynamic template.

Assignments (6)
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 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 →
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 Nov 2, 2018
From: SONTI, GIRIDHAR RAO; RAMAMURTHY, TIMOTHY; BELKAR, PRAVEEN KUMAR; PURUSHOTHAMA, RANJAN S.
To: DELL PRODUCTS L.P.
Reel/Frame 047392/0474 →
Continuity (1)
Related Publication 20200142955A1 · May 7, 2020