IP Library Granted Patent US 8,576,218
Granted Patent B2
US 8,576,218 · App. 12/337,648 · Granted Nov 5, 2013

Bi-directional update of a grid and associated visualizations

Inventors: Edward A. Martinez (Hyderabad, IN); Siddhartha Rai (Secunderabad, IN); Ramani Ranjan Jagadeba (Hyderabad, IN); Adithya Nittor Vishwanath (Hyderabad, IN); Kaladhar Bapu V S Korasala (Hyderabad, IN); Tushar Bhatia (Hyderabad, IN); Rishab Govind (Hyderabad, IN); Nitin Mukhija (Hyderabad, IN); Abhishek Agarwal (Hyderabad, IN); Sonal Sawhney (Hyderabad, IN); Jeff Kelleran (Sammamish, WA)
Assignee: Microsoft Corporation
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 8,576,218
App. No.
12/337,648
Granted
Nov 5, 2013
Kind
B2
Abstract

Architecture that facilitates the attachment of multiple visualization types (e.g., charts) to the data of a grid and the presentation of the visualization next to the grid. The infrastructure allows each data view to be associated with a set of visualizations. These visualizations are rendered along with the grid (in a separate presentation pane) so that the user does not have to switch context to perform analysis. The visualizations available include charts that show aggregate and/or non-aggregate data. In a server farm scenario, all user interactions such as drill-downs are provided. Server farm drill-downs for these visualizations can be obtained using MHTML (MIME hypertext markup language). The visualizations can be automatically updated when filters are applied on the grid, and when drill-down is performed on the visualization, the grid is automatically updated. The visualizations can be consumed from a web-based browser client and/or thick client, for example.

Claims (111)

1. A computer-implemented data viewing system, the system comprising:

a processor; and

a memory in communication with the processor, the memory comprising and computer-executable instructions, which, when executed by the processor, cause the processor to:

retrieve at least a portion of data in a database,

generate a grid based upon the at least a portion of the data,

send the grid for display,

accept a request to display at least a portion of the data in the grid in a graphical format,

send a data page with the grid data and with a placeholder for a graphical format,

determine graphical formats available to display the grid data,

send a listing of the available graphical formats,

accept a designation of an available graphical format,

accept a designation of grid data to be represented in the designated graphical format,

retrieve data from the database corresponding to the designated grid data,

generate a graphical representation of the retrieved data in the designated graphical format, and

send the graphical representation to replace the placeholder in the data page.

2. The system of claim 1 , wherein the memory further comprises computer-executable instructions, which, when executed by the processor, cause the processor to:

accept a request to apply a filter to the grid data;

apply the filter to the grid data;

send a data page with the filtered grid data;

determine whether the graphical representation is a valid representation of the filtered grid data;

if the graphical representation is not a valid representation then modify the graphical representation to indicate that the graphical representation is not a valid representation of the filtered grid data;

send the modified graphical representation and an option to update the graphical representation;

accept a request to update the graphical representation;

update the graphical representation in view of the filtered grid data; and

send the modified graphical representation to be inserted into the data page.

3. The system of claim 1 , wherein the memory further comprises computer-executable instructions, which, when executed by the processor, cause the processor to:

accept a request for an interactive drill-down on the graphical representation;

automatically update the grid in response to the interactive drill-down request on the graphical representation;

automatically updating the graphical representation in response to the interactive drill-down request; and

send the updated grid and the updated graphical representation.

4. The system of claim 1 wherein the memory further comprises computer-executable instructions which, when executed by the processor, cause the processor to:

accept a request to filter the data in the grid;

filter the data in the grid; and

update the graphical representation to reflect the filtered grid data.

5. The system of claim 1 wherein the memory further comprises computer-executable instructions which, when executed by the processor, cause the processor to:

accept a request to apply a filter to the data in the grid; and

fade an existing graphical representation in response to the request to apply the filter.

6. The system of claim 5 wherein the memory further comprises computer-executable instructions which, when executed by the processor, cause the processor to:

accept a request to update the graphical representation in response to the filter being applied;

update the graphical representation; and

send the updated graphical representation for display.

7. A computer-readable storage medium that is not a signal, the computer-readable storage medium comprising computer-executable instructions, which, when executed by a computer, cause the computer to:

generate one or more grids, each grid being based upon at least a portion of data retrieved from a database;

send at least one grid for display;

accept a request to display at least a portion of the data in the at least one grid in a graphical format;

send a data page with the at least one grid and with a placeholder for a graphical format;

determine graphical formats available to display the data in the at least one grid;

send a listing of the available graphical formats;

accept a designation of an available graphical format;

accept a designation of data to be represented in the designated graphical format;

retrieve from the database data corresponding to the designated data;

generate a graphical representation of the retrieved data in the designated graphical format; and

send the graphical representation to replace the placeholder in the data page.

8. The computer-readable storage medium of claim 7 , further comprising computer-executable instructions, which, when executed by the computer, cause the computer to:

accept a request to filter the data;

apply a filter to the data;

automatically update the graphical representation in response to the filter being applied to the data;

accept a request for an interactive drill-down on the graphical representation; and

automatically update the graphical representation in response to the interactive drill-down request.

9. The computer-readable storage medium of claim 7 , further comprising computer-executable instructions which, when executed by the computer, cause the computer to:

accept a request to apply a filter to the grid data;

apply the filter to the grid data;

send a data page with the filtered grid data;

determine whether the graphical representation is a valid representation of the filtered grid data;

if the graphical representation is not a valid representation then modify the graphical representation to indicate that the graphical representation is not a valid representation of the filtered grid data;

send the modified graphical representation and an option to update the graphical representation;

accept a request to update the graphical representation;

update the graphical representation in view of the filtered grid data; and

send the modified graphical representation to be inserted into the data page.

10. The computer-readable storage medium of claim 7 , further comprising computer-executable instructions which, when executed by the computer, cause the computer to:

accept a request to filter the data in the grid;

filter the data in the grid; and

update the graphical representation to reflect the filtered grid data.

11. The computer-readable storage medium of claim 7 , further comprising computer-executable instructions which, when executed by the computer, cause the computer to:

accept a request to apply a filter to the data in the grid; and

fade an existing graphical representation in response to the request to apply the filter.

12. The computer-readable storage medium of claim 11 , further comprising computer-executable instructions which, when executed by the computer, cause the computer to:

accept a request to update the graphical representation in response to the filter being applied;

update the graphical representation; and

send the updated graphical representation for display.

13. A computer-implemented method of viewing data, the computer-implemented method comprising performing computer-implemented operations for:

obtaining data from a database;

generating a grid based upon the data;

sending the grid of the data for display;

accepting a request to display the data in a graphical format;

sending a data page with the grid and with a placeholder for a graphical format;

determining graphical formats available to display the data;

sending a listing of the available graphical formats;

accepting a designation of an available graphical format;

accepting a designation of data to be represented in the designated format;

retrieving from the database data corresponding to the designated data;

generating a graphical representation of the designated data in the designated graphical format; and

sending the graphical representation to replace the placeholder in the data page.

14. The method of claim 13 , further comprising accepting a request for an interaction invoking a drill-down process to be performed on the graphical representation, performing the drill-down process, and updating the grid of data based on the drill-down process performed on the graphical representation.

15. The method of claim 13 , further comprising:

accepting a request to apply a filter to the grid data;

applying the filter to the grid data;

sending a data page with the filtered grid data;

determining whether the graphical representation is a valid representation of the filtered grid data;

if the graphical representation is not a valid representation then modifying the graphical representation to indicate that the graphical representation is not a valid representation of the filtered grid data;

sending the modified graphical representation and an option to update the graphical representation;

accepting a request to update the graphical representation;

updating the graphical representation in view of the filtered grid data; and

sending the modified graphical representation to be inserted into the graphical representation.

16. The method of claim 13 , further comprising:

accepting a request to apply a filter to the data in the grid; and

fading an existing graphical representation in response to the request to apply the filter.

17. The method of claim 16 , further comprising:

accepting a request to update the graphical representation in response to the filter being applied;

updating the graphical representation; and

sending the updated graphical representation for display.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 9, 2014
From: MICROSOFT CORPORATION
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 034564/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 26, 2009
From: MARTINEZ, EDWARD A.; RAI, SIDDHARTHA; JAGADEBA, RAMANI RANJAN; VISHWANATH, ADITHYA NITTOR; KORASALA, KALADHAR BAPU VS; BHATIA, TUSHAR; GOVIND, RISHAB; MUKHIJA, NITIN; AGARWAL, ABHISHEK; SAWHNEY, SONAL; KELLERAN, JEFFREY R.
To: MICROSOFT CORPORATION
Reel/Frame 022730/0042 →
Continuity (1)
Related Publication 20100156889A1 · Jun 24, 2010