Declarative specification of visualization queries, display formats and bindings

US10049141B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10049141-B2
Application numberUS-201414512263-A
CountryUS
Kind codeB2
Filing dateOct 10, 2014
Priority dateOct 10, 2014
Publication dateAug 14, 2018
Grant dateAug 14, 2018

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

The technology disclosed relates to a platform for ultra-fast, ad-hoc data exploration and faceted navigation on integrated, heterogeneous data sets. The disclosed method of declarative specification of visualization queries, display formats and bindings represents queries, widgets and bindings combined on a dashboard in real time, with flexible display options for analyzing data and conveying analysis results.

First claim

Opening claim text (preview).

What is claimed is: 1. A method of generating a dashboard that includes multiple panels from a declarative representation of queries, widgets, bindings and facets, the method including: accessing one or more configuration files that represent interaction among queries, widgets, bindings and facet property settings to generate multiple panels of a dashboard; parsing key-value properties in the configuration files to identify queries, wherein each query specifies a value or range of values of at least one dimension and, when processed, returns a data set that includes at least one dimension and at least one measure; providing a plurality of visualization widgets, wherein each visualization widget, when invoked on a computer including a processor, accepts as input the dimension returned in the data set as an independent variable and the measure as a dependent variable; generates a specified chart or graph from the dimension and the measure to form a first view of segments in the specified chart or graph, each segment of the segments having a starting position in the first view and each segment in the specified chart or graph illustrating a first measurement of data from the data set with respect to a first particular constraint; invokes a tweener to morph each of the segments to second view from the first view by morphing each of the segments from the starting position in the first view to multiple intermediate positions and then to an ending position in the second view, each segment in the second view of the specified chart or graph illustrating a second measurement of data from the data set with respect to a second particular constraint; and invokes the tweener to morph to a third view from the second view by morphing each of the segments from the ending position in the second view to multiple intermediate positions and then to an ending position in the third view; parsing key-value properties in the configuration files to identify panels, wherein each panel declares a binding that links an associated visualization widget to an associated query; wherein each panel declares the specified chart or graph into which the data set returned by the associated query will be rendered by the associated visualization widget; and wherein at least some of the panels set the facet property, wherein the facet property links operation of data filtering controls among the panels, whereby selection of a data filter control in one panel causes the selected data filter to be applied to additional panels that have the facet property set; and generating data representing a dashboard and the panels based at least in part on the configuration files. 2. The method of claim 1 , wherein a declarative form of representing the interaction to generate multiple panels of the dashboard in the configuration files is compliant with JSON (JavaScript Object Notation). 3. The method of claim 1 , wherein each panel declares a visualization widget type selected from a group that includes at least one of donut chart, time chart, horizontal bar chart, stacked horizontal bar chart, and scatter plot. 4. The method of claim 1 , wherein: the method further includes parsing key-value properties in the configuration files to identify control widgets; each control widget is declared to have a control widget type selected from a group that includes at least list selector, range selector and date selector types; each control widget selects a value or range of values of at least one associated dimension that is used to generate a query; and execution of the query generated from the control widget is linked to updating data in the panels that have the facet property set. 5. The method of claim 1 , wherein: the method further includes parsing key-value properties in the configuration files to identify control widgets; each control widget selects a value or range of values of at least one associated dimension that is used to generate a query; and execution of the query generated from the control widget is linked to updating data in the panels that have the facet property set. 6. The method of claim 1 , wherein at least some of the panels are declared by six to ten key-value property pairs. 7. An apparatus for generating a dashboard that includes multiple panels from a declarative representation of queries, widgets, bindings and facets, the apparatus including: a computer including a processor; a memory coupled to the processor, wherein the memory includes computer program instructions causing the computer to implement a process including: accessing one or more configuration files that represent interaction among queries, widgets, bindings and facet property settings to generate multiple panels of a dashboard; parsing key-value properties in the configuration files to identify queries, wherein each query specifies a value or range of values of at least one dimension and, when processed, returns a data set that includes at least one dimension and at least one measure; providing a plurality of visualization widgets, wherein each visualization widget, when invoked, accepts as input the dimension returned in the data set as an independent variable and the measure as a dependent variable; generates a specified chart or graph from the dimension and the measure to form a first view of segments in the specified chart or graph, each segment of the segments having a starting position in the first view and each segment in the specified chart or graph illustrating a first measurement of data from the data set with respect to a first particular constraint; invokes a tweener to morph each of the segments to a second view from the first view by morphing each of the segments from the starting position in the first view to multiple intermediate positions and then to an ending position in the second view, each segment in the second view of the specified chart or graph illustrating a second measurement of data from the data set with respect to a second particular constraint; and invokes the tweener to morph to a third view from the second view by morphing each of the segments from the ending position in the second view to multiple intermediate positions and then to an ending position in the third view; parsing key-value properties in the configuration files to identify panels, wherein each panel declares a binding that links an associated visualization widget to an associated query; wherein each panel declares the specified chart or graph into which the data set returned by the associated query will be rendered by the associated visualization widget; and wherein at least some of the panels set the facet property, wherein the facet property links operation of data filtering controls among the panels, whereby selection of a data filter control in one panel causes the selected data filter to be applied to additional panels that have the facet property set; and generating data representing a dashboard and the panels based at least in part on the configuration files. 8. The apparatus of claim 7 , wherein a declarative form of representing the interaction to generate multiple panels of the dashboard in the configuration files is compliant with JSON (Java Script Object Notation). 9. The apparatus of claim 7 , wherein each panel declares a visualization widget type selected from a group that includes at least one of donut chart, time chart, horizontal bar chart, stacked horizontal bar chart, and scatter plot. 10. The apparatus of claim 7 , wherein: the process further includes parsing key-value properties in the configuration files to identify control widgets; each control widget is declared to have a control widget type selected from a group that includes at

Assignees

Inventors

Classifications

  • Parsing · CPC title

  • G06F16/248Primary

    Presentation of query results · CPC title

  • Browsing; Visualisation therefor (for navigating the web G06F16/954; browsing optimisation for the web G06F16/957) · CPC title

  • Query execution · CPC title

  • Physics · mapped topic

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US10049141B2 cover?
The technology disclosed relates to a platform for ultra-fast, ad-hoc data exploration and faceted navigation on integrated, heterogeneous data sets. The disclosed method of declarative specification of visualization queries, display formats and bindings represents queries, widgets and bindings combined on a dashboard in real time, with flexible display options for analyzing data and conveying …
Who is the assignee on this patent?
Salesforce Com Inc, Salesforce Com Inc
What technology area does this patent fall under?
Primary CPC classification G06F16/248. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Aug 14 2018 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 10 related publications on this page (citations in our corpus or others sharing the same primary CPC).