User interface for graphically refactoring data flows

US10528587B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10528587-B2
Application numberUS-201715705174-A
CountryUS
Kind codeB2
Filing dateSep 14, 2017
Priority dateNov 7, 2016
Publication dateJan 7, 2020
Grant dateJan 7, 2020

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.

An exemplary method includes displaying a user interface that includes multiple panes, and receiving a first user input to select an existing node from a flow diagram or a flow element template. The system displays a moveable icon representing a new node for placement in the flow diagram. The new node specifies an operation corresponding to the selected existing node or the selected flow element template. Drop targets are displayed in the flow diagram according to dependencies between the data flow operation of the new node and operations of existing nodes. A second user input places the moveable icon over a first drop target. In response to ceasing to detect the second user input, the system inserts the new node into the flow diagram at the first drop target. The new node performs the specified data flow operation.

First claim

Opening claim text (preview).

What is claimed is: 1. A computer system for refactoring a flow diagram, comprising: one or more processors; memory; and one or more programs stored in the memory and configured for execution by the one or more processors, the one or more programs comprising instructions for: displaying a user interface that includes a plurality of panes, including a data flow pane and a palette pane, wherein the data flow pane includes a flow diagram having a plurality of existing nodes, each node specifying a respective operation to retrieve data from a respective data source, specifying a respective operation to transform data, or specifying a respective operation to create a respective output data set, and wherein the palette pane includes a plurality flow element templates; receiving a first user input to select an existing node from the flow diagram or a flow element template from the palette pane; in response to the first user input: displaying a moveable icon representing a new node for placement in the flow diagram, wherein the new node specifies a data flow operation corresponding to the selected existing node or the selected flow element template; displaying one or more drop targets in the flow diagram according to dependencies between the data flow operation of the new node and operations of the plurality of existing nodes; receiving a second user input to place the moveable icon over a first drop target of the drop targets, and ceasing to detect the second user input; and in response to ceasing to detect the second user input, inserting the new node into the flow diagram at the first drop target, wherein the new node performs the specified data flow operation. 2. The computer system of claim 1 , wherein each of the existing nodes has a respective intermediate data set computed according to the specified respective operation; and wherein inserting the new node into the flow diagram at the first drop target comprises computing an intermediate data set for the new node according to the specified data flow operation. 3. The computer system of claim 2 , wherein the new node is placed in the flow diagram after a first existing node having a first intermediate data set, and computing the intermediate data set for the new node comprises applying the data flow operation to the first intermediate data set. 4. The computer system of claim 2 , wherein the new node has no predecessor in the flow diagram, and computing the intermediate data set for the new node comprises retrieving data from a data source to form the intermediate data set. 5. The computer system of claim 2 , wherein the one or more programs further include instructions for, in response to ceasing to detect the second user input, displaying a sampling of data from the intermediate data set in a data pane of the user interface. 6. The computer system of claim 2 , wherein the data flow operation filters rows of data based on values of a first data field, and wherein displaying the one or more drop targets comprises displaying one or more drop targets immediately following existing nodes whose intermediate data sets include the first data field. 7. The computer system of claim 1 , wherein the first user input selects an existing node from the flow diagram, and inserting the new node into the flow diagram at the first drop target creates a copy of the existing node. 8. The computer system of claim 7 , wherein inserting the new node into the flow diagram at the first drop target further comprises removing the existing node from the flow diagram. 9. The computer system of claim 1 , wherein the data flow operation comprises a plurality of operations that are executed in a specified sequence. 10. A method of refactoring a flow diagram, comprising: at a computer system having one or more processors, memory storing one or more programs configured for execution by the one or more processors: displaying a user interface that includes a plurality of panes, including a data flow pane and a palette pane, wherein the data flow pane includes a flow diagram having a plurality of existing nodes, each node specifying a respective operation to retrieve data from a respective data source, specifying a respective operation to transform data, or specifying a respective operation to create a respective output data set, and wherein the palette pane includes a plurality flow element templates; receiving a first user input to select an existing node from the flow diagram or a flow element template from the palette pane; in response to the first user input: displaying a moveable icon representing a new node for placement in the flow diagram, wherein the new node specifies a data flow operation corresponding to the selected existing node or the selected flow element template; displaying one or more drop targets in the flow diagram according to dependencies between the data flow operation of the new node and operations of the plurality of existing nodes; receiving a second user input to place the moveable icon over a first drop target of the drop targets, and ceasing to detect the second user input; and in response to ceasing to detect the second user input, inserting the new node into the flow diagram at the first drop target, wherein the new node performs the specified data flow operation. 11. The method of claim 10 , wherein each of the existing nodes has a respective intermediate data set computed according to the specified respective operation; and wherein inserting the new node into the flow diagram at the first drop target comprises computing an intermediate data set for the new node according to the specified data flow operation. 12. The method of claim 11 , wherein the new node is placed in the flow diagram after a first existing node having a first intermediate data set, and computing the intermediate data set for the new node comprises applying the data flow operation to the first intermediate data set. 13. The method of claim 11 , wherein the new node has no predecessor in the flow diagram, and computing the intermediate data set for the new node comprises retrieving data from a data source to form the intermediate data set. 14. The method of claim 11 , further comprising, in response to ceasing to detect the second user input, displaying a sampling of data from the intermediate data set in a data pane of the user interface. 15. The method of claim 11 , wherein the data flow operation filters rows of data based on values of a first data field, and wherein displaying the one or more drop targets comprises displaying one or more drop targets immediately following existing nodes whose intermediate data sets include the first data field. 16. The method of claim 10 , wherein the first user input selects an existing node from the flow diagram, and inserting the new node into the flow diagram at the first drop target creates a copy of the existing node. 17. The method of claim 16 , wherein inserting the new node into the flow diagram at the first drop target further comprises removing the existing node from the flow diagram. 18. The method of claim 10 , wherein the data flow operation comprises a plurality of operations that are executed in a specified sequence. 19. A non-transitory computer readable storage medium storing one or more programs configured for execution by a computer system having one or more processors, memory, and a display, the one or more programs comprising instructions for: displaying a user interface that includes a plurality of panes, including a data flow pane and a palett

Assignees

Inventors

Classifications

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 US10528587B2 cover?
An exemplary method includes displaying a user interface that includes multiple panes, and receiving a first user input to select an existing node from a flow diagram or a flow element template. The system displays a moveable icon representing a new node for placement in the flow diagram. The new node specifies an operation corresponding to the selected existing node or the selected flow elemen…
Who is the assignee on this patent?
Tableau Software Inc
What technology area does this patent fall under?
Primary CPC classification G06F16/258. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Jan 07 2020 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 12 related publications on this page (citations in our corpus or others sharing the same primary CPC).