The present application is related to the following five applications, each of which is incorporated by reference herein in its entirety:
The disclosed implementations relate generally to data visualization and more specifically to systems, methods, and user interfaces to prepare and curate data for processing by a data visualization application.
Data visualization applications enable a user to understand a data set visually, including distribution, trends, outliers, and other factors that are important to making business decisions. Some data sets are very large or complex, and include many data fields. Various tools can be used to help understand and analyze the data, including dashboards that have multiple data visualizations. However, some functionality may be difficult to use or hard to find within a complex user interface. In addition, when a dashboard has multiple related data visualizations, it is not apparent how changes to one visualization would affect the other visualizations.
Some implementations provide a new way of linking two or more outputs to be updated according to a predefined schedule. For example, a user can schedule flows to run at a specific time or on a recurring basis to create scheduled tasks that rely on pre-configured schedules. In addition, a user is provided with options for selecting which outputs in the flow to automatically update according to the predefined schedule. The system automatically determines tasks that are downstream and/or upstream of a selected task to allow a user to easily link the outputs of one task to initiate execution of another task. By allowing users to link outputs from different tasks together, a user need not worry that upstream data is out-of-date when the task has been linked to the refresh of the upstream data, rather than set to run at a scheduled time. Further, the system can prevent a next task from running when a linked task fails to update, which improves the accuracy of data and enables the system to notify users that created any linked tasks when a task fails.
Some implementations provide a method for linking tasks together, such that an update to a first output of a first task automatically triggers execution of a second task. The system automatically provides (e.g., recommends) a list of downstream tasks that can be linked to a particular output. In addition, the system is able to take different actions depending on the success or failure of the first output, such that any linked tasks are also flagged (e.g., a notification is sent to the users that linked the tasks), and the subsequent tasks may be paused or stopped in accordance with a failure of the output. To that end, in accordance with some implementations, a method executes at a computing device (e.g., an electronic device) with a display. For example, the computing device can be a smart phone, a tablet, a notebook computer, or a desktop computer. The method includes receiving a first user input linking a first output of a first task to a second task. The first task is scheduled for execution at a specific time. The method includes, in response to the first user input, providing a list of additional tasks that are downstream from the second task. The method includes receiving a second user input selecting a third task from the list of additional tasks that are downstream from the second task. The method further includes, in response to the second user input, linking the third task to a second output of the second task. The method includes, at the specific time, automatically executing the first task and updating the first output of the first task and after updating the first output of the first task, automatically executing the second task that is linked to the first output of the first task, including updating the second output of the second task. The method further includes, after updating the second output of the second task, automatically executing the third task.
In some implementations, a computing device includes one or more processors, memory, a display, and one or more programs stored in the memory. The programs are configured for execution by the one or more processors. The one or more programs include instructions for performing any of the methods described herein.
In some implementations, a non-transitory computer readable storage medium stores one or more programs configured for execution by a computing device having one or more processors, memory, and a display. The one or more programs include instructions for performing any of the methods described herein.
Thus methods, systems, and graphical user interfaces are disclosed that enable users to easily interact with multiple related data visualizations and data prep flows.
For a better understanding of the aforementioned systems, methods, and graphical user interfaces, as well as additional systems, methods, and graphical user interfaces that provide data visualization analytics, reference should be made to the Description of Implementations below, in conjunction with the following drawings in which like reference numerals refer to corresponding parts throughout the figures.
Reference will now be made to implementations, examples of which are illustrated in the accompanying drawings. In the following description, numerous specific details are set forth in order to provide a thorough understanding of the present invention. However, it will be apparent to one of ordinary skill in the art that the present invention may be practiced without requiring these specific details.
The graphical user interface 100 also includes a data visualization region 112. The data visualization region 112 includes a plurality of shelf regions, such as a columns shelf region 120 and a rows shelf region 122. These are also referred to as the column shelf 120 and the row shelf 122. As illustrated here, the data visualization region 112 also has a large space for displaying a visual graphic. Because no data elements have been selected yet, the space initially has no visual graphic. In some implementations, the data visualization region 112 has multiple layers that are referred to as sheets.
The computing device 200 includes a user interface 206 comprising a display device 208 and one or more input devices or mechanisms 210. In some implementations, the input device/mechanism includes a keyboard. In some implementations, the input device/mechanism includes a “soft” keyboard, which is displayed as needed on the display device 208, enabling a user to “press keys” that appear on the display 208. In some implementations, the display 208 and input device/mechanism 210 comprise a touch screen display (also called a touch sensitive display).
In some implementations, the memory 214 includes high-speed random access memory, such as DRAM, SRAM, DDR RAM or other random access solid state memory devices. In some implementations, the memory 214 includes non-volatile memory, such as one or more magnetic disk storage devices, optical disk storage devices, flash memory devices, or other non-volatile solid state storage devices. In some implementations, the memory 214 includes one or more storage devices remotely located from the CPU(s) 202. The memory 214, or alternatively the non-volatile memory devices within the memory 214, comprises a non-transitory computer readable storage medium. In some implementations, the memory 214, or the computer readable storage medium of the memory 214, stores the following programs, modules, and data structures, or a subset thereof:
Each of the above identified executable modules, applications, or sets of procedures may be stored in one or more of the previously mentioned memory devices, and corresponds to a set of instructions for performing a function described above. The above identified modules or programs (i.e., sets of instructions) need not be implemented as separate software programs, procedures, or modules, and thus various subsets of these modules may be combined or otherwise re-arranged in various implementations. In some implementations, the memory 214 stores a subset of the modules and data structures identified above. Furthermore, the memory 214 may store additional modules or data structures not described above.
Although
In some implementations, the example user interface 302-1 illustrated in
In some implementations, the user can specify whether all outputs for the task are to be included (e.g., by selecting the first option 310 “automatically include all outputs of this task”) or whether a subset, less than all, of the output steps should be included in the new task by selecting the second option 312 “select the output steps to include in this task.” If the second option 312 is selected, the user can specify which output steps of the new task are to be updated at the scheduled time. For example, a single task may include a plurality of output steps, as illustrated in the table 314, which shows the “output steps,” “output name,” “location,” (e.g., identification of a server) and “refresh type”. In some implementations, a scheduled task can include execution (e.g., refresh) of one or more of the output steps of a task. For example a full refresh will refresh all data and create or append data to a table, whereas an incremental refresh will refresh only the new rows and create or append data to a table. The incremental refresh option is only available when the flow is configured in Tableau Prep Builder to use this refresh type.
A second numerical indicator 324 (“2”) indicates a second flow that is to be executed after the first flow indicated by “1”. For example, the flows are numbered according to the order in which they execute in the schedule. The user can select a flow to execute after Flow B has completed (e.g., successfully) using the next task dropdown 326. The user can add additional tasks (e.g., 3, 4, etc.) using the Add button 328 (“Add next task”).
In some implementations, the user interface further provides a sort option 358 to sort the list of tasks. For example, a user can sort by name (e.g., A to Z), or otherwise filter the tasks that are shown (e.g., filter by task type and/or the user who created the schedule). For example, a user can choose to view only schedules that were created by the user.
Some of the screens illustrated in
The computing device receives (418) a first user input linking a first output of a first task to a second task. The first task is scheduled for execution at a specific time. In some instances, the second task is downstream from the first task.
In some implementations, the computing device determines (420) whether the first task is upstream of the second task (e.g., where tasks are ordered in a data catalog from upstream to downstream).
In some implementations, the specific time is determined (422) based on the occurrence of a predefined event. For example, the predefined event occurs when all upstream jobs complete, when one or more applications finish refreshing, when one or more extraction flows complete, and/or when (in response to) new data arrives. In some implementations, the predefined event occurs according to a schedule (e.g., every day at a particular time).
In response to the first user input, the computing device provides (424) (e.g., automatically populates) a list of additional tasks that are downstream from the second task. For example, as illustrated in
The computing device receives (426) a second user input selecting a third task from the list of additional tasks that are downstream from the second task.
In some implementations, prior to linking the third task to the second output of the second task, the computing device determines (430) that the user has permission to execute the third task. In some implementations, the computing device determines that the user has permission to execute the first task before linking the first task to the second task. For example, users that do not have permission to execute a task cannot link the task to other tasks. In some implementations, the computing device checks permissions to run all of the tasks that are linked together, and when there is an error (e.g., due to the user not having permission to run all of the tasks), the computing device displays an indication of the error. In some implementations, the computing device also provides a data quality warning to indicate there has been a data error. In some implementations, data quality errors occur when a data value for a data field fails to satisfy one or more user-defined rules. For example, a rule may specify that a data field has non-NULL values, specify that data values for a numeric data field fall within a designated range (e.g., 2020-2030), or specify a set of discrete allowed data values for a dimension data field.
In response to the second user input, the computing device links (432) the third task to a second output of the second task. The third task can be scheduled to execute when the second output is available, even if the second task has multiple outputs, which are not all complete. The third task does not have to wait for complete execution of the second task (e.g., for all outputs of the second task to be updated). Instead, the third task is linked to an output of the second task such that, in response to completion of the second output of the second task, the third task begins to execute.
At the specific time (e.g., selected based on a schedule, as described with reference to
In some implementations, executing the first task comprises (436) updating only a first output without updating an additional output of the first task before automatically executing the second task that is linked to the first output of the first task.
After updating the first output of the first task, the computing device automatically executes (438) the second task that is linked to the first output of the first task.
In some instances, after updating the second output of the second task, the computing device publishes (440) a result of the first output of the first task and a result of the second output of the second task to a public board. In some instances, the first output of the first task is published after the first task has completed execution (e.g., without waiting for the second task to also execute/complete). In some instances, the first output of the first task is linked to the second task such that the output of the first task is not published until the second task has also completed.
In some implementations, after updating the second output of the second task, the computing device performs (442) a first action based on a result of the second output (e.g., if the second output or second task fails, the system sends an automatic email or sets up a data quality warning on the data source). In some implementations, the system also provides a notification in accordance with a scheduled task successfully running/refreshing. For example, as described with reference to
After updating the second output of the second task, the computing device automatically executes (444) the third task. In this way, the first task (e.g., a scheduled task) that updates a first output causes the tasks linked to the first output to also be executed. For example, instead of adding the linked tasks to the schedule directly, the linked tasks can depend on an output of a scheduled task without requiring the user to create a new schedule to execute the linked task.
In some implementations, when execution of the second task fails a predefined number of times, the computing device automatically suspends (446) execution of the second task and the third task and any other tasks linked to the second task, including blocking all of the following (downstream) flows. In some implementations, the user can decide whether or not to allow the remaining tasks to continue running if a task fails, as described with reference to
The disclosed implementations typically provide “instant” or “real-time” updates or feedback based on user actions. In practice, “instant” or “real-time” means within a short period of time and without additional user input. For example, the “instant” or “real-time” updates may occur within one twentieth of a second, one tenth of a second, one half of a second, or a second. As computer processors become more powerful, instant updates can occur more quickly and/or for even more complex operations.
The terminology used in the description of the invention herein is for the purpose of describing particular implementations only and is not intended to be limiting of the invention. As used in the description of the invention and the appended claims, the singular forms “a,” “an,” and “the” are intended to include the plural forms as well, unless the context clearly indicates otherwise. It will also be understood that the term “and/or” as used herein refers to and encompasses any and all possible combinations of one or more of the associated listed items. It will be further understood that the terms “comprises” and/or “comprising,” when used in this specification, specify the presence of stated features, steps, operations, elements, and/or components, but do not preclude the presence or addition of one or more other features, steps, operations, elements, components, and/or groups thereof.
The foregoing description, for purpose of explanation, has been described with reference to specific implementations. However, the illustrative discussions above are not intended to be exhaustive or to limit the invention to the precise forms disclosed. Many modifications and variations are possible in view of the above teachings. The implementations were chosen and described in order to best explain the principles of the invention and its practical applications, to thereby enable others skilled in the art to best utilize the invention and various implementations with various modifications as are suited to the particular use contemplated.
Number | Name | Date | Kind |
---|---|---|---|
4357673 | Willis et al. | Nov 1982 | A |
4458323 | Willis et al. | Jul 1984 | A |
5339392 | Risberg | Aug 1994 | A |
5421008 | Banning et al. | May 1995 | A |
5999192 | Selfridge et al. | Dec 1999 | A |
6278452 | Huberman et al. | Aug 2001 | B1 |
6470344 | Kothuri et al. | Oct 2002 | B1 |
6778873 | Wang et al. | Aug 2004 | B1 |
6784902 | Melder et al. | Aug 2004 | B1 |
6993553 | Kaneko et al. | Jan 2006 | B2 |
7362718 | Kakivaya et al. | Apr 2008 | B2 |
7720779 | Perry et al. | May 2010 | B1 |
7793160 | McClure et al. | Sep 2010 | B1 |
7991723 | Dubrovsky et al. | Aug 2011 | B1 |
8418181 | Sirota et al. | Apr 2013 | B1 |
8479136 | Hopkins et al. | Jul 2013 | B2 |
8626475 | Fontes et al. | Jan 2014 | B1 |
8700682 | Tedder et al. | Apr 2014 | B2 |
8806377 | Chen et al. | Aug 2014 | B2 |
8812752 | Shih et al. | Aug 2014 | B1 |
8819592 | Jackson, Jr. | Aug 2014 | B2 |
8843959 | McMaster et al. | Sep 2014 | B2 |
8863029 | Chen et al. | Oct 2014 | B2 |
8976672 | Thubert et al. | Mar 2015 | B2 |
9323503 | Fontes et al. | Apr 2016 | B1 |
9335911 | Elliot et al. | May 2016 | B1 |
9465523 | Kleser et al. | Oct 2016 | B2 |
9501585 | Gautam et al. | Nov 2016 | B1 |
9760240 | Maheshwari | Sep 2017 | B2 |
10127250 | Dingman et al. | Nov 2018 | B2 |
10127511 | Epstein et al. | Nov 2018 | B1 |
10204173 | Vaught | Feb 2019 | B2 |
10242079 | Kim et al. | Mar 2019 | B2 |
10275545 | Yeager et al. | Apr 2019 | B2 |
10339681 | Moore | Jul 2019 | B2 |
10380140 | Sherman | Aug 2019 | B2 |
10394691 | Cole et al. | Aug 2019 | B1 |
10466978 | Vidan et al. | Nov 2019 | B1 |
10503784 | Dean et al. | Dec 2019 | B1 |
10515093 | Sherman | Dec 2019 | B2 |
10528587 | Kim et al. | Jan 2020 | B2 |
10733165 | Broad et al. | Aug 2020 | B1 |
10885057 | Pugh et al. | Jan 2021 | B2 |
11354165 | Li | Jun 2022 | B1 |
11651003 | Beers | May 2023 | B2 |
20020055947 | Schultz et al. | May 2002 | A1 |
20020070953 | Barg et al. | Jun 2002 | A1 |
20020080174 | Kodosky et al. | Jun 2002 | A1 |
20020157086 | Lewis et al. | Oct 2002 | A1 |
20030088546 | Brown et al. | May 2003 | A1 |
20030167265 | Corynen | Sep 2003 | A1 |
20030182582 | Park et al. | Sep 2003 | A1 |
20030220928 | Durand et al. | Nov 2003 | A1 |
20040034616 | Witkowski et al. | Feb 2004 | A1 |
20040078105 | Moon et al. | Apr 2004 | A1 |
20050010877 | Udler | Jan 2005 | A1 |
20050022129 | Borenstein et al. | Jan 2005 | A1 |
20050044525 | Lazarov | Feb 2005 | A1 |
20060143534 | Dall | Jun 2006 | A1 |
20060168205 | Barron et al. | Jul 2006 | A1 |
20060173812 | Bahl et al. | Aug 2006 | A1 |
20060247912 | Suzuki | Nov 2006 | A1 |
20070016615 | Mohan et al. | Jan 2007 | A1 |
20070106515 | Wong | May 2007 | A1 |
20070112714 | Fairweather | May 2007 | A1 |
20070150581 | Banerjee et al. | Jun 2007 | A1 |
20070198312 | Bagchi et al. | Aug 2007 | A1 |
20070214136 | MacLennan et al. | Sep 2007 | A1 |
20070288899 | Fanning et al. | Dec 2007 | A1 |
20080040704 | Khodabandehioo et al. | Feb 2008 | A1 |
20080059563 | Backmann et al. | Mar 2008 | A1 |
20080140688 | Clayton et al. | Jun 2008 | A1 |
20080150317 | Kilcrease | Jun 2008 | A1 |
20080155440 | Trevor et al. | Jun 2008 | A1 |
20080159317 | Iselborn et al. | Jul 2008 | A1 |
20080183687 | Law | Jul 2008 | A1 |
20080195626 | Ukigawa et al. | Aug 2008 | A1 |
20080209392 | Able et al. | Aug 2008 | A1 |
20080254430 | Woolf et al. | Oct 2008 | A1 |
20080262988 | Williams et al. | Oct 2008 | A1 |
20080281801 | Larson et al. | Nov 2008 | A1 |
20090018996 | Hunt et al. | Jan 2009 | A1 |
20090021767 | Fujimaki | Jan 2009 | A1 |
20090064053 | Crawford et al. | Mar 2009 | A1 |
20090100086 | Dumant et al. | Apr 2009 | A1 |
20090248698 | Rehmann | Oct 2009 | A1 |
20090276724 | Rosenthal et al. | Nov 2009 | A1 |
20090319688 | Mason et al. | Dec 2009 | A1 |
20100057618 | Spicer et al. | Mar 2010 | A1 |
20100156889 | Martinez et al. | Jun 2010 | A1 |
20100299327 | Kiefer et al. | Nov 2010 | A1 |
20110283242 | Chew et al. | Nov 2011 | A1 |
20110302551 | Hummel | Dec 2011 | A1 |
20110320384 | Chang | Dec 2011 | A1 |
20120022707 | Budhraja et al. | Jan 2012 | A1 |
20120023302 | Amdt et al. | Jan 2012 | A1 |
20120102396 | Arksey et al. | Apr 2012 | A1 |
20120151453 | Finking et al. | Jun 2012 | A1 |
20120209886 | Henderson | Aug 2012 | A1 |
20120226742 | Monchilov et al. | Sep 2012 | A1 |
20120278015 | Budhraja et al. | Nov 2012 | A1 |
20120290950 | Rapaport et al. | Nov 2012 | A1 |
20120330869 | Durham | Dec 2012 | A1 |
20130042154 | Agarwa et al. | Feb 2013 | A1 |
20130080197 | Kung et al. | Mar 2013 | A1 |
20130166568 | Binkert et al. | Jun 2013 | A1 |
20130212234 | Bartlett et al. | Aug 2013 | A1 |
20130283106 | King et al. | Oct 2013 | A1 |
20140043325 | Ruble et al. | Feb 2014 | A1 |
20140058775 | Siig et al. | Feb 2014 | A1 |
20140249999 | Johnson et al. | Sep 2014 | A1 |
20140250153 | Nixon et al. | Sep 2014 | A1 |
20140365533 | Debray et al. | Dec 2014 | A1 |
20150010143 | Yang | Jan 2015 | A1 |
20150081701 | Lerios et al. | Mar 2015 | A1 |
20150106456 | van Hoek | Apr 2015 | A1 |
20150149912 | Moore | May 2015 | A1 |
20150178877 | Bogomolov et al. | Jun 2015 | A1 |
20150200867 | Dutta et al. | Jul 2015 | A1 |
20150278258 | Kienzle et al. | Oct 2015 | A1 |
20150317344 | Birdwell et al. | Nov 2015 | A1 |
20150324437 | Jiang et al. | Nov 2015 | A1 |
20150378863 | Balachandran | Dec 2015 | A1 |
20150378869 | Balachandran | Dec 2015 | A1 |
20160062737 | Stanfill et al. | Mar 2016 | A1 |
20160070430 | Kim et al. | Mar 2016 | A1 |
20160070451 | Kim et al. | Mar 2016 | A1 |
20160086260 | Vermeulen et al. | Mar 2016 | A1 |
20160092476 | Stojanovic et al. | Mar 2016 | A1 |
20160110369 | Cervelli et al. | Apr 2016 | A1 |
20160112460 | Li et al. | Apr 2016 | A1 |
20160117371 | Couris et al. | Apr 2016 | A1 |
20160179897 | Zheng et al. | Jun 2016 | A1 |
20160260063 | Harris et al. | Sep 2016 | A1 |
20160306908 | Fontes et al. | Oct 2016 | A1 |
20160364434 | Spitz et al. | Dec 2016 | A1 |
20170005674 | Hussain et al. | Jan 2017 | A1 |
20170032026 | Parker et al. | Feb 2017 | A1 |
20170039500 | Leidner et al. | Feb 2017 | A1 |
20170069118 | Stewart | Mar 2017 | A1 |
20170083585 | Chen et al. | Mar 2017 | A1 |
20170116396 | Gu et al. | Apr 2017 | A1 |
20170212944 | Hellman et al. | Jul 2017 | A1 |
20170277664 | Mihalcea et al. | Sep 2017 | A1 |
20170286264 | Surnarayana | Oct 2017 | A1 |
20170315516 | Kozionov et al. | Nov 2017 | A1 |
20170373932 | Subramanian et al. | Dec 2017 | A1 |
20170373992 | Nair | Dec 2017 | A1 |
20180024701 | Sanches et al. | Jan 2018 | A1 |
20180024731 | Sanches et al. | Jan 2018 | A1 |
20180129374 | Kim et al. | May 2018 | A1 |
20180129719 | Kim et al. | May 2018 | A1 |
20180129720 | Kim et al. | May 2018 | A1 |
20180157579 | Rozenberg et al. | Jun 2018 | A1 |
20180165297 | Kuchoor et al. | Jun 2018 | A1 |
20180314764 | Orad et al. | Nov 2018 | A1 |
20180349251 | Mietke et al. | Dec 2018 | A1 |
20180367371 | Nagarajan et al. | Dec 2018 | A1 |
20190004929 | Fastabend et al. | Jan 2019 | A1 |
20190121807 | Boutros et al. | Apr 2019 | A1 |
20190138675 | Fontes et al. | May 2019 | A1 |
20190179927 | Rao et al. | Jun 2019 | A1 |
20190258575 | Dey et al. | Aug 2019 | A1 |
20190294421 | Pietzsch et al. | Sep 2019 | A1 |
20200012656 | Pugh et al. | Jan 2020 | A1 |
Entry |
---|
Anonymous, “Cursor (databases) Wikipidia, the free enciclopedia,” Dec. 2, 2012, XP055222764, Retrieved from the internet: URL:https://en.wikipedia,org/w/index.ph?title-Cursor (databases)&oldid=526008371, 7 pgs. |
Anand, Preinterview First Office Action, U.S. Appl. No. 16/167,313, dated Jan. 24, 2020, 6 pgs. |
Anand, Notice of Allowance, U.S. Appl. No. 16/167,313, dated Mar. 2, 2020, 9 pgs. |
Anand, Notice of Allowance, U.S. Appl. No. 16/908,700, dated Mar. 11, 2021, 10 pgs. |
Anand Notice of Allowance, U.S. Appl. No. 17/325,124, dated May 4, 2022, 12 pgs. |
Anand Notice of Allowance, U.S. Appl. No. 17/947,027, dated Oct. 10, 2023, 10 pgs. |
Bae, J., Understanding Indirect Casual Relationships in Node-Link Graphs, Eurographics Conference on Visualization (Euro Vis) Jun. 2017, vol. 36, No. 3, 12 pgs. |
Cole, Office-Action, U.S. Appl. No. 15/726,294, dated Nov. 9, 2018, 40 pgs. |
Cole, Notice of Allowance, U.S. Appl. No. 15/726,294, dated May 15, 2019, 14 pgs. |
Disclosed Anonymously, ip.com Method to enter data while filter applied, Dec. 6, 2011, (YearL 2011), 7 pgs. |
Ghani, S., Perception of Animated Node-Link Diagrams Graphs, Eurographics Conference on Visualization, (Euro Vis) Jun. 2012, vol. 31, No. 3, 11 pgs. |
Ishio et al., “A Lightweight Visualization of Interprocedural Data-Flow Paths for Source Code Reading,” [Online], 2012, pp. 37-46, retrieved from internet on May 7, 2019, <https://ieeexplore.org/stamp.jsp?tp-&arnumber-6240506> (Year: 2012). |
Kabbaj et al., “Towards an Active Help on Detecting Data Flow Errors in Business Process Models,” [Online}, 2015, pp. 16-25, [retrieved from internet on Jul. 11, 2020]<https://www.researchgate.net/profile/Mohammed_Isaam_Kabbaj/publication/263966796_Toward_an_active_help_on_detecting_data_flow_errors>(Year:2015), 11 pgs. |
Kim, Notice of Allowance, U.S. Appl. No. 15/701,381, dated Nov. 9, 2018, 6 pgs. |
Kim, Office Action, U.S. Appl. No. 15/345,391, dated Jun. 28, 2019, 10 pgs. |
Kim, Office Action, U.S. Appl. No. 15/345,391, dated Feb. 13, 2020, 16 pgs. |
Kim, Final Office Action, U.S. Appl. No. 15/345,391, dated Sep. 17, 2020, 16 pgs. |
Kim, Office Action, U.S. Appl. No. 15/345,391, dated Jun. 8, 2021, 14 pgs. |
Kim, Final Office Action, U.S. Appl. No. 15/345,391, dated Jun. 6, 2022, 20 pgs. |
Kim, Notice of Allowance U.S. Appl. No. 15/345,391, dated Aug. 25, 2023, 8 pgs. |
Kim, Pre-Interview First Office Action—U.S. Appl. No. 15/701,392, dated Mar. 9, 2020, 5 pgs. |
Kim, Final Office Action—U.S. Appl. No. 15/701,392, dated Sep. 21, 2020, 18 pgs. |
Kim, Notice of Allowance, U.S. Appl. No. 15/701,392, dated Apr. 20, 2021, 9 pgs. |
Kim, Notice of Allowance, U.S. Appl. No. 15/705,174, dated Sep. 24, 2019, 10 pgs. |
Kim, Notice of Allowance, U.S. Appl. No. 16/153,615, dated Jul. 14, 2020, 10 pgs. |
Kim, Notice of Allowance, U.S. Appl. No. 16/285,084, dated Apr. 6, 2020, 9 pgs. |
Kim, Notice of Allowance, U.S. Appl. No. 16/537,444, dated Jul. 22, 2020, 13 pgs. |
Kim, Notice of Allowance, U.S. Appl. No. 16/138,705, dated Aug. 7, 2020, 9 pgs. |
Kim, Pre-Interview First Office Action, U.S. Appl. No. 16/937,524, dated Jan. 6, 2022, 6 pgs. |
Kim, First Action Interview Office Action, U.S. Appl. No. 16/937,524, dated Mar. 10, 2022, 6 pgs. |
Kim, Final Office Action, U.S. Appl. No. 16/937,524, dated Aug. 23, 2022, 22 pgs. |
Kim, Office Action, U.S. Appl. No. 16/937,524, dated Apr. 10, 2023, 26 pgs. |
Moss, Pre-Interview First Office Action, U.S. Appl. No. 16/228,680, dated Jun. 8, 2021, 5 pgs. |
Moss, First Action Interview Office Action, U.S. Appl. No. 16/228,680, dated Aug. 26, 2021, 4 pgs. |
Moss, Notice of Allowance, U.S. Appl. No. 16/228,680, dated Oct. 1, 2021, 10 pgs. |
Moss, Office Action, U.S. Appl. No. 17/670,407, dated Aug. 31, 2023, 24 pgs. |
Moss, Notice of Allowance, U.S. Appl. No. 17/670,407, dated Dec. 28, 2023, 12 pgs. |
Pugh, Notice of Allowance, U.S. Appl. No. 16/155,818, dated Oct. 1, 2020, 9 pgs. |
Pugh, Notice of Allowance, U.S. Appl. No. 17/142,138, dated Aug. 5, 2021, 9 pgs. |
Wildenradt, Notice of Allowance, U.S. Appl. No. 16/681,753, dated May 6, 2021, 10 pgs. |
Logothetis et al., “Scalable Lineage Capture for Debugging DISC Analytics,” [Online], 2013, pp. 1-15, retrieved from internet on May 7, 2019, <http://delivery.acm.org/10.1145/250000/252369/a17-logothetis.pdf> (Year:2013). |
Lovat et al., “On Quantitative Dynamic Data Flow Tracking,” [Online], 2014, pp. 211-222, [retrieved from internet on Jul. 11, 2020, <https://dl,acm/doi/pdf/10.11145/2557547.2557551> (Year: 2014), 12 pgs. |
Meda et al., “On Detecting Data Flow Errors in Workflows,” [Online] 2010, pp. 4:1-4:31, [retrieved from internet on Jul. 11, 2020], <https://dl.acm.org/doi/pdf/10.1145/1805286.1805290> (Year: 2020), 31 pgs. |
Moser et al., “Advanced Verification of Distributed WS-BPEL Business Processes Incorporating CSSA-based Data Flow Analysis,” [Online], 2007, pp. 1-8, [retrieved from internet on Jul. 11, 2020], <https://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=4278643> (Year: 2007), 8 pgs. |
Tableau Software, Inc., International Search Report and Written Opinion, PCT/US2017/060232, dated Jan. 18, 2018, 10 pgs. |
Tableau Software, Inc., International Search Report and Written Opinion, PCT/US2019/053935, dated Dec. 18, 2019, 13 pgs. |
Tableau Software, Inc., Communication Pursuant Rules 161(1) and 162, EP17801216.7, dated Jun. 17, 2019, 3 pgs. |
Tableau Software, Inc., Communication Pursuant to Article 94(3), EP17801216.7, dated Apr. 3, 2020, 6 pgs. |
Tibco, “Tibco ActiveMatrix BusinessWorks™ Process Design Software Release 5.13,” Aug. 31, 2015, retrieved from the Internet: URL:https://docs.tibco.com/pub/activematrix_businessworks/5.13.0/doc/pdf/tib_bw_process_design_guide.pdf, 107 pgs. |
Yip et al., “Improving Application Security with Data Flow Assertions,” [Online], 2009, pp. 1-18, retrieved from internet on May 7, 2019, <http://www.sigops.org/conferences/sosp/2009/papers/yip-sosp09.pdf> (Year:2009). |