IP Library › Granted Patent US 12,393,903
Granted Patent B2
US 12,393,903 · App. 18/102,155 · Granted Aug 19, 2025

Determining shortcut relationships in data models

Inventors: Qianfan Wang (Seattle, WA); Qiang Kong (Seattle, WA)
Assignee: Tableau Software, LLC
G06Q10/067G06F3/0484
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 12,393,903
App. No.
18/102,155
Granted
Aug 19, 2025
Kind
B2
Abstract

Embodiments are directed to managing data using network computers. A data model that includes a plurality of data objects, a plurality of data relationships, and a plurality of shortcuts may be provided. If portions of the data model being are selected in the user interface for removal from the data model further actions may be performed, including: determining edges and nodes associated with the portion of the data model; determining critical edges that may be associated with nodes included in the portion of the data model; traversing the data model based on the critical edges; determining critical shortcuts based on the traversal and shortcut specifications that may match the critical shortcuts; modifying the data model by deleting each critical shortcut unmatched to the shortcut specifications and deleting the selected portions of the data model along with the associated plurality of nodes and edges; or the like.

Claims (86)

1. A method, comprising:

at a computer system in communication with a display and one or more input devices, the computer system having one or more processors and memory storing one or more programs, wherein the one or more programs are configured to be executed by the one or more processors, the one or more programs including instructions for:

displaying in a user interface, via the display, a data model that represents a plurality of relationships between a plurality of data objects, including a plurality of shortcuts, wherein:

each data object is represented by a node in the data model and each data relationship is represented by at least one edge of a plurality of edges in the data model;

the data model is generated based on stored schemas and is stored in a graph-based database;

a plurality of nodes represent data objects selected from a group consisting of databases, tables, columns, workbooks, workflows, and other entities; and

the plurality of shortcuts are generated based on one or more stored shortcut specifications that represent direct paths between respective nodes of the plurality of nodes;

detecting, via the one or more input devices, a user input corresponding to a request to delete a portion from the data model;

in response to the user input corresponding to the request to delete the portion from the data model, executing a query over the graph-based database;

in response to executing the query over the graph-based database, performing, via the one or more processors, operations including:

determining, via the one or more processors and based on the query over the graph-based database, a plurality of edges and a plurality of nodes to be deleted, wherein the plurality of edges and the plurality of nodes to be deleted are associated with the portion of the data model that is based on the data model;

determining, via the one or more processors and based on the query over the graph-based database, one or more critical edges from the plurality of edges to be deleted based on the data model, wherein each critical edge is associated with one or more nodes of the plurality of nodes to be deleted that are included in the portion of the data model and one or more other nodes that are exterior to the portion of the data model;

selectively, via the one or more processors and based on the query over the graph-based database, traversing the data model based on the one or more critical edges;

determining, via the one or more processors and based on the query over the graph-based database, one or more critical shortcuts based on the selective traversal and one or more shortcut specifications matching the one or more critical shortcuts, wherein the one or more critical shortcuts are associated with at least one critical edge; and

modifying, via the one or more processors and based on the query over the graph-based database, the data model by deleting critical shortcut that do not match the one or more shortcut specifications and deleting the portion of the data model, including the plurality of nodes and edges associated with the portion; and

displaying in the user interface, via the display, one or more undeleted portions of the modified data model.

2. The method of claim 1 , wherein determining the one or more critical shortcuts further comprises:

comparing the portion of the data model to the one or more shortcut specifications, wherein the comparison evaluates one or more of a data type of a node, a relationship type of an edge, or a length of a path between two nodes; and

determining the one or more shortcut specifications matching the one or more critical shortcuts based on the comparison.

3. The method of claim 1 , wherein the portion of the data model to be deleted further comprises one or more graphlets that include respective subsets of the plurality of nodes.

4. The method of claim 1 , further comprising:

providing the one or more shortcut specifications, wherein the one or more shortcut specifications declare one or more criteria for generating shortcuts in the data model, wherein the one or more criteria include one or more of a path length, a node type, a data types, or an edge type.

5. The method of claim 1 , wherein determining the one or more critical shortcuts based on the selective traversal further comprises:

determining one or more new shortcuts based on the one or more shortcut specifications matching the one or more critical shortcuts; and

including the one or more new shortcuts in the data model.

6. The method of claim 1 , wherein determining the one or more critical edges further comprises:

determining a flow direction associated with each of the plurality of edges; and

determining the one or more critical edges based on the flow direction associated with the portion of the one or more edges, wherein each critical edge is associated with an edge that is directed into the portion of the data model and another edge directed away from the portion of the data model.

7. The method of claim 1 , wherein the operations further include modifying the data model by replacing a shortcut of the shortcuts that does not match the one or more shortcut specifications with another shortcut of the shorts that does match the one or more shortcut specifications based on the one or more undeleted portions of the modified data model.

8. A computer system, comprising:

one or more processors; and

memory storing one or more programs configured for execution by the one or more processors, wherein the computer system is in communication with a display and one or more input devices, and the one or more programs comprising instructions for:

displaying in a user interface, via the display, a data model that represents a plurality of relationships between a plurality of data objects, including a plurality of shortcuts, wherein;

each data object is represented by a node in the data model and each data relationship is represented by at least one edge of a plurality of edges in the data model;

the data model is generated based on stored schemas and is stored in a graph-based database;

a plurality of nodes represent data objects selected from a group consisting of databases, tables, columns, workbooks, workflows, and other entities; and

the plurality of shortcuts are generated based on one or more stored shortcut specifications that represent direct paths between respective nodes of the plurality of nodes;

detecting, via the one or more input devices, a user input corresponding to a request to delete a portion from the data model;

in response to the user input corresponding to the request to delete the portion from the data model, executing a query over the graph-based database;

in response to executing the query over the graph-based database, performing, via the one or more processors, operations including:

determining, via the one or more processors and based on the query over the graph-based database, a plurality of edges and a plurality of nodes to be deleted, wherein the plurality of edges and the plurality of nodes to be deleted are associated with the portion of the data model that is based on the data model;

determining, via the one or more processors and based on the query over the graph-based database, one or more critical edges from the plurality of edges to be deleted based on the data model, wherein each critical edge is associated with one or more nodes of the plurality of nodes to be deleted that are included in the portion of the data model and one or more other nodes that are exterior to the portion of the data model;

selectively, via the one or more processors and based on the query over the graph-based database, traversing the data model based on the one or more critical edges;

determining, via the one or more processors and based on the query over the graph-based database, one or more critical shortcuts based on the selective traversal and one or more shortcut specifications matching the one or more critical shortcuts, wherein the one or more critical shortcuts are associated with at least one critical edge; and

modifying, via the one or more processors and based on the query over the graph-based database, the data model by deleting critical shortcuts that do not match the one or more shortcut specifications and deleting the portion of the data model, including the plurality of nodes and edges associated with the portion; and

displaying in the user interface, via the display, one or more undeleted portions of the modified data model in the user interface.

9. The computer system of claim 8 , wherein determining the one or more critical shortcuts further comprises:

comparing the portion of the data model to the one or more shortcut specifications, wherein the comparison evaluates one or more of a data type of a node, a relationship type of an edge, or a length of a path between two nodes; and

determining the one or more shortcut specifications matching the one or more critical shortcuts based on the comparison.

10. The system of claim 8 , wherein the portion of the data model to be deleted, further comprises, one or more graphlets that include respective subsets of the plurality of nodes.

11. The computer system of claim 8 , further comprising:

providing the one or more shortcut specifications, wherein the one or more shortcut specifications declare one or more criteria for generating shortcuts in the data model, wherein the one or more criteria include one or more of a path length, a node type, a data types, or an edge type.

12. The computer system of claim 8 , wherein determining the one or more critical shortcuts based on the selective traversal further comprises:

determining one or more new shortcuts based on the one or more shortcut specifications matching the one or more critical shortcuts; and

including the one or more new shortcuts in the data model.

13. The computer system of claim 8 , wherein determining the one or more critical edges further comprises:

determining a flow direction associated with each of the plurality of edges; and

determining the one or more critical edges based on the flow direction associated with the portion of the one or more edges, wherein each critical edge is associated with an edge that is directed into the portion of the data model and another edge directed away from the portion of the data model.

14. The computer system of claim 8 , wherein the one or more programs further comprise instructions for modifying the data model by replacing a shortcut of the shortcuts that does not match the one or more shortcut specifications with another shortcut of the shorts that does match the one or more shortcut specifications based on the one or more undeleted portions of the modified data model.

15. A non-transitory computer readable storage medium storing one or more programs, the one or more programs comprising instructions that when executed by a computer system having one or more processors and in communication with a display and one or more input devices, cause the computer system to perform a method comprising:

displaying in a user interface, via the display, a data model that represents a plurality of relationships between a plurality of data objects, including a plurality of shortcuts, wherein:

each data object is represented by a node in the data model and each data relationship is represented by at least one edge of a plurality of edges in the data model;

the data model is generated based on stored schemas and is stored in a graph-based database;

a plurality of nodes represent data objects selected from a group consisting of databases, tables, columns, workbooks, workflows, and other entities; and

the plurality of shortcuts are generated based on one or more stored shortcut specifications that represent direct paths between respective nodes of the plurality of nodes;

detecting, via the one or more input devices, a user input corresponding to a request to delete a portion from the data model;

in response to the user input corresponding to the request to delete portion from the data model executing a query over the graph-based database;

in response to executing the query over the graph-based database, performing, via the one or more processors, operations including:

determining, via the one or more processors and based on the query over the graph-based database, a plurality of edges and a plurality of nodes to be deleted, wherein the plurality of edges and the plurality of nodes to be deleted are associated with the portion of the data model that is based on the data model;

determining, via the one or more processors and based on the query over the graph-based database, one or more critical edges from the plurality of edges to be deleted based on the data model, wherein each critical edge is associated with one or more nodes of the plurality of nodes to be deleted that are included in the portion of the data model and one or more other nodes that are exterior to the portion of the data model;

selectively, via the one or more processors and based on the query over the graph-based database, traversing the data model based on the one or more critical edges;

determining, via the one or more processors and based on the query over the graph-based database, one or more critical shortcuts based on the selective traversal and one or more shortcut specifications matching the one or more critical shortcuts, wherein the one or more critical shortcuts are associated with at least one critical edge; and

modifying, via the one or more processors and based on the query over the graph-based database, the data model by deleting critical shortcuts that do not match the one or more shortcut specifications and deleting the portion of the data model, including the plurality of nodes and edges associated with the portion; and

displaying in the user interface, via the display, one or more undeleted portions of the modified data model.

16. The non-transitory computer readable storage medium of claim 15 , wherein determining the one or more critical shortcuts further comprises:

comparing the portion of the data model to the one or more shortcut specifications, wherein the comparison evaluates one or more of a data type of a node, a relationship type of an edge, or a length of a path between two nodes; and

determining the one or more shortcut specifications matching the one or more critical shortcuts based on the comparison.

17. The non-transitory computer readable storage medium of claim 15 , wherein the portion of the data model to be deleted further comprises, one or more graphlets that include respective subsets of the plurality of nodes.

18. The non-transitory computer readable storage medium of claim 15 , further comprising:

providing the one or more shortcut specifications, wherein the one or more shortcut specifications declare one or more criteria for generating shortcuts in the data model, wherein the one or more criteria include one or more of a path length, a node type, a data types, or an edge type.

19. The non-transitory computer readable storage medium of claim 15 , wherein determining the one or more critical shortcuts based on the selective traversal, further comprises:

determining one or more new shortcuts based on the one or more shortcut specifications matching the one or more critical shortcuts; and

including the one or more new shortcuts in the data model.

20. The non-transitory computer readable storage medium of claim 15 , wherein determining the one or more critical edges further comprises:

determining a flow direction associated with each of the plurality of edges; and

determining the one or more critical edges based on the flow direction associated with the portion of the one or more edges, wherein each critical edge is associated with an edge that is directed into the portion of the data model and another edge directed away from the portion of the data model.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 27, 2023
From: WANG, QIANFAN; KONG, QIANG
To: TABLEAU SOFTWARE, LLC
Reel/Frame 062507/0126 →
Continuity (1)
Related Publication 20240257027A1 · Aug 1, 2024
References Cited (161)
US 5550971A · Brunner et al. · 1996 [cited by applicant]
US 5689711A · Bardasz et al. · 1997 [cited by applicant]
US 8286087B1 · Xian et al. · 2012 [cited by applicant]
US 8631094B1 · Alpert · 2014 [cited by examiner]
US 8825646B1 · Alpert · 2014 [cited by examiner]
US 9135565B1 · Khalefa · 2015 [cited by examiner]
US 9383913B2 · Hoyer et al. · 2016 [cited by applicant]
US 9489119B1 · Smith, Jr. · 2016 [cited by applicant]
US 9760240B2 · Maheshwari et al. · 2017 [cited by applicant]
US 9881066B1 · Yousaf et al. · 2018 [cited by applicant]
US 10274329B2 · Mas-Ud Hussain · 2019 [cited by examiner]
US 10275265B1 · Gould et al. · 2019 [cited by applicant]
US 10445170B1 · Subramanian et al. · 2019 [cited by applicant]
US 10698955B1 · Broecheler · 2020 [cited by examiner]
US 10705695B1 · Porath et al. · 2020 [cited by applicant]
US 10783162B1 · Montague · 2020 [cited by examiner]
US 11029927B2 · ChoFleming, Jr. · 2021 [cited by examiner]
US 11194849B2 · Lassoued · 2021 [cited by examiner]
US 11567998B2 · Armbrust · 2023 [cited by examiner]
US 11693633B2 · ChoFleming, Jr. · 2023 [cited by examiner]
US 12093245B2 · Ye · 2024 [cited by examiner]
US 12105742B2 · Verma · 2024 [cited by examiner]
US 20040205562A1 · Rozek et al. · 2004 [cited by applicant]
US 20060064674A1 · Olson Jr. et al. · 2006 [cited by applicant]
US 20080126987A1 · Meschian et al. · 2008 [cited by applicant]
US 20090006939A1 · DeSpain et al. · 2009 [cited by applicant]
US 20090007122A1 · Peyton et al. · 2009 [cited by applicant]
US 20090012983A1 · Senneville et al. · 2009 [cited by applicant]
US 20100114629A1 · Adler et al. · 2010 [cited by applicant]
US 20100138420A1 · Bator et al. · 2010 [cited by applicant]
US 20100235771A1 · Gregg, III · 2010 [cited by applicant]
US 20100313157A1 · Carlsson et al. · 2010 [cited by applicant]
US 20100318583A1 · Cohen · 2010 [cited by applicant]
US 20110219321A1 · Gonzalez Veron et al. · 2011 [cited by applicant]
US 20120311497A1 · Bear et al. · 2012 [cited by applicant]
US 20130339352A1 · Jin · 2013 [cited by examiner]
US 20140026084A1 · Gilboa · 2014 [cited by applicant]
US 20140058789A1 · Doehring et al. · 2014 [cited by applicant]
US 20140074888A1 · Potter et al. · 2014 [cited by applicant]
US 20140114907A1 · Kozina et al. · 2014 [cited by applicant]
US 20140215405A1 · Breedvelt-Schouten · 2014 [cited by applicant]
US 20140267287A1 · Dodgen et al. · 2014 [cited by applicant]
US 20140330821A1 · Tullis et al. · 2014 [cited by applicant]
US 20140372956A1 · Bisca et al. · 2014 [cited by applicant]
US 20150019592A1 · Jin · 2015 [cited by examiner]
US 20150112998A1 · Shankar et al. · 2015 [cited by applicant]
US 20150317336A1 · Dubsky · 2015 [cited by examiner]
US 20150339263A1 · Abu El Ata et al. · 2015 [cited by applicant]
US 20150347091A1 · Ferko et al. · 2015 [cited by applicant]
US 20160078361A1 · Brueckner et al. · 2016 [cited by applicant]
US 20160103908A1 · Fletcher et al. · 2016 [cited by applicant]
US 20160224532A1 · Miller et al. · 2016 [cited by applicant]
US 20160224616A1 · Beacom · 2016 [cited by examiner]
US 20160232207A1 · Brunel et al. · 2016 [cited by applicant]
US 20160314605A1 · Filippi et al. · 2016 [cited by applicant]
US 20170010787A1 · Ranganathan et al. · 2017 [cited by applicant]
US 20170075557A1 · Noble et al. · 2017 [cited by applicant]
US 20170091317A1 · Cummings et al. · 2017 [cited by applicant]
US 20170102694A1 · Enver et al. · 2017 [cited by applicant]
US 20170103103A1 · Nixon et al. · 2017 [cited by applicant]
US 20170140068A1 · Oh et al. · 2017 [cited by applicant]
US 20170154088A1 · Sherman · 2017 [cited by applicant]
US 20170161188A1 · Isoi · 2017 [cited by applicant]
US 20170177681A1 · Potiagalov et al. · 2017 [cited by applicant]
US 20170177744A1 · Potiagalov et al. · 2017 [cited by applicant]
US 20170178368A1 · Noon et al. · 2017 [cited by applicant]
US 20170193049A1 · Grehant · 2017 [cited by applicant]
US 20170213131A1 · Hammond et al. · 2017 [cited by applicant]
US 20170220633A1 · Porath et al. · 2017 [cited by applicant]
US 20170286526A1 · Bar-Or et al. · 2017 [cited by applicant]
US 20170293666A1 · Ragavan et al. · 2017 [cited by applicant]
US 20170316355A1 · Shrestha et al. · 2017 [cited by applicant]
US 20180024731A1 · Sanches et al. · 2018 [cited by applicant]
US 20180067998A1 · Sherman · 2018 [cited by examiner]
US 20180129369A1 · Kim et al. · 2018 [cited by applicant]
US 20180157702A1 · Clemens et al. · 2018 [cited by applicant]
US 20180218050A1 · Porath et al. · 2018 [cited by applicant]
US 20180260106A1 · Leonard et al. · 2018 [cited by applicant]
US 20180260903A1 · Callery · 2018 [cited by applicant]
US 20180283886A1 · Mas-Ud Hussain · 2018 [cited by examiner]
US 20190034489A1 · Ziegler · 2019 [cited by applicant]
US 20190095395A1 · Piecko · 2019 [cited by applicant]
US 20190188308A1 · Simon et al. · 2019 [cited by applicant]
US 20190227777A1 · ChoFleming, Jr. · 2019 [cited by examiner]
US 20190251123A1 · Yamane · 2019 [cited by examiner]
US 20190286668A1 · Puzicha et al. · 2019 [cited by applicant]
US 20190294720A1 · Beringer et al. · 2019 [cited by applicant]
US 20190325292A1 · Remis et al. · 2019 [cited by applicant]
US 20190332599A1 · Woo · 2019 [cited by examiner]
US 20190384836A1 · Roth et al. · 2019 [cited by applicant]
US 20200104401A1 · Burnett et al. · 2020 [cited by applicant]
US 20200104402A1 · Burnett et al. · 2020 [cited by applicant]
US 20200175006A1 · Hughes · 2020 [cited by examiner]
US 20200285803A1 · Edge et al. · 2020 [cited by applicant]
US 20200334277A1 · Doyle · 2020 [cited by examiner]
US 20200372057A1 · Tonkin et al. · 2020 [cited by applicant]
US 20200401623A1 · Dilts · 2020 [cited by examiner]
US 20210042298A1 · Yamane · 2021 [cited by examiner]
US 20210141831A1 · Sherman · 2021 [cited by examiner]
US 20210192371A1 · Tago · 2021 [cited by examiner]
US 20210263900A1 · Joyce et al. · 2021 [cited by applicant]
US 20210365248A1 · ChoFleming, Jr. · 2021 [cited by examiner]
US 20210390420A1 · Barnett · 2021 [cited by examiner]
US 20220113150A1 · Hidayat · 2022 [cited by examiner]
US 20230008999A1 · Beers · 2023 [cited by examiner]
US 20230059083A1 · Verma · 2023 [cited by examiner]
US 20230065227A1 · Verma · 2023 [cited by examiner]
US 20240111791A1 · Verma · 2024 [cited by examiner]
WO 2006060773A2 · 2006 [cited by applicant]
Adriaens, Florian et al., Discovering Interesting Cycles in Directed Graphs 28th International Conference on Information and Knowledge Management, CKIM'19, Nov. 2019 (Year: 2019). [cited by examiner]
Lyons, Bethany, Relationships: Data modeling in Tableau Tabelua.com, May 11, 2020 (Year: 2020). [cited by examiner]
Papagelis, Manos, Refining Social Graph Connectivity via Shortcut Edge Addition ACM Trans. Knowl. Discov. Data 10, 2, Article 12, Oct. 2015 (Year: 2015). [cited by examiner]
Office Communication for U.S. Appl. No. 17/535,465 mailed Jun. 8, 2023, pp. 1-7. [cited by applicant]
Office Communication for U.S. Appl. No. 17/409,299 mailed Jun. 28, 2023, pp. 1-36. [cited by applicant]
Office Communication for U.S. Appl. No. 17/091,536 mailed Jul. 24, 2023, pp. 1-7. [cited by applicant]
Office Communication for U.S. Appl. No. 17/542,148 mailed Feb. 28, 2023, pp. 1-2. [cited by applicant]
Office Communication for U.S. Appl. No. 17/091,536 mailed Mar. 10, 2023, pp. 1-10. [cited by applicant]
Office Communication for U.S. Appl. No. 17/091,536 mailed Mar. 16, 2023, pp. 1-3. [cited by applicant]
Office Communication for U.S. Appl. No. 17/370,367 mailed Apr. 6, 2023, pp. 1-4. [cited by applicant]
Office Communication for U.S. Appl. No. 17/370,367 mailed May 24, 2023, pp. 1-18. [cited by applicant]
Pienta, Robert et al., “VISAGE: Interactive Visual Graph Querying,” AVI '16, Jun. 7-10, 2016, Bari Italy, pp. 272-279. [cited by applicant]
Von Landesberger, Tatiana et al., “A System for Interactive Visual Analysis of Large Graphs Using Motifs in Graph Editing and Aggregation,” VMV 2009, pp. 1-9. [cited by applicant]
Office Communication for U.S. Appl. No. 16/586,554 mailed Jul. 24, 2020, pp. 1-27. [cited by applicant]
Office Communication for U.S. Appl. No. 16/586,554 mailed Nov. 24, 2020, pp. 1-28. [cited by applicant]
Office Communication for U.S. Appl. No. 16/586,554 mailed Feb. 16, 2021, pp. 1-7. [cited by applicant]
Office Communication for U.S. Appl. No. 16/586,554 mailed Apr. 2, 2021, pp. 1-37. [cited by applicant]
Office Communication for U.S. Appl. No. 16/725,986 mailed Apr. 2, 2021, pp. 1-23. [cited by applicant]
Papenbrock, Thorsten et al., “Data-driven Schema Normalization,” in Proceedings of the 20th International Conference on Extending Database Technology, 2017, pp. 342-353. [cited by applicant]
Brunel, Robert et al., “Supporting Hierarchical Data in SAP HANA,” 2015 IEEE 31st International Conference on Data Engineering (ICDE), 2015, pp. 1-12. [cited by applicant]
Office Communication for U.S. Appl. No. 16/984,014 mailed Aug. 10, 2021, pp. 1-32. [cited by applicant]
Furmanova, Katarina et al., “Taggle: Scalable Visualization of Tabular Data through Aggregation,” IEEE Transactions on Visualization and Computer Graphics, 2017, pp. 1-14. [cited by applicant]
Office Communication for U.S. Appl. No. 16/586,554 mailed Sep. 27, 2021, pp. 1-45. [cited by applicant]
Office Communication for U.S. Appl. No. 16/725,986 mailed Sep. 30, 2021, pp. 1-10. [cited by applicant]
Office Communication for U.S. Appl. No. 17/091,536 mailed Nov. 5, 2021, pp. 1-25. [cited by applicant]
Office Communication for U.S. Appl. No. 16/944,043 mailed Nov. 26, 2021, pp. 1-49. [cited by applicant]
Office Communication for U.S. Appl. No. 16/586,554 mailed Dec. 15, 2021, pp. 1-7. [cited by applicant]
Office Communication for U.S. Appl. No. 16/984,014 mailed Jan. 3, 2022, pp. 1-31. [cited by applicant]
Office Communication for U.S. Appl. No. 16/586,554 mailed Feb. 24, 2022, pp. 1-47. [cited by applicant]
Office Communication for U.S. Appl. No. 16/984,014 mailed Mar. 18, 2022, pp. 1-5. [cited by applicant]
Office Communication for U.S. Appl. No. 16/944,043 mailed Apr. 19, 2022, pp. 1-10. [cited by applicant]
Office Communication for U.S. Appl. No. 16/984,014 mailed Apr. 20, 2022, pp. 1-33. [cited by applicant]
Office Communication for U.S. Appl. No. 17/091,536 mailed Apr. 25, 2022, pp. 1-32. [cited by applicant]
Office Communication for U.S. Appl. No. 17/091,536 mailed Jul. 7, 2022, pp. 1-5. [cited by applicant]
Office Communication for U.S. Appl. No. 17/091,536 mailed Aug. 16, 2022, pp. 1-38. [cited by applicant]
Gillis, Alexander S. et al., “What is integrated development environment (IDE)?—Definition from Whatls.com,” Sep. 2018, TechTarget, https://www.techtarget.com/searchsoftwarequality/definition/integrated-development-envi… [cited by applicant]
Office Communication for U.S. Appl. No. 16/586,554 mailed Aug. 17, 2022, pp. 1-56. [cited by applicant]
Office Communication for U.S. Appl. No. 17/370,367 mailed Sep. 1, 2022, pp. 1-13. [cited by applicant]
International Search Report and Written Opinion for International Patent Application No. PCT/US2022/034283 mailed Oct. 27, 2022, pp. 1-12. [cited by applicant]
Office Communication for U.S. Appl. No. 16/586,554 mailed Nov. 21, 2022, pp. 1-6. [cited by applicant]
Office Communication for U.S. Appl. No. 16/586,554 mailed Jan. 5, 2023, pp. 1-24. [cited by applicant]
Office Communication for U.S. Appl. No. 17/370,367 mailed Jan. 27, 2023, pp. 1-14. [cited by applicant]
International Search Report and Written Opinion for International Patent Application No. PCT/US2020/028163 mailed Jul. 21, 2020, pp. 1-7. [cited by applicant]
Office Communication for U.S. Appl. No. 16/389,389 mailed May 13, 2021, pp. 1-16. [cited by applicant]
Office Communication for U.S. Appl. No. 16/389,389 mailed Aug. 18, 2021, pp. 1-9. [cited by applicant]
International Search Report and Written Opinion for International Patent Application No. PCT/US2022/031195 mailed Aug. 31, 2022, pp. 1-12. [cited by applicant]
Office Communication for U.S. Appl. No. 17/542,148 mailed Oct. 27, 2022, pp. 1-14. [cited by applicant]
International Search Report and Written Opinion for International Patent Application No. PCT/US2022/038328 mailed Nov. 30, 2022, pp. 1-12. [cited by applicant]
Office Communication for U.S. Appl. No. 17/409,299 mailed Feb. 14, 2023, pp. 1-28. [cited by applicant]
Bauer, Reinhard et al., “The Shortcut Problem—Complexity and Algorithms,” Journal of Graph Algorithms and Applications, Aug. 2012, vol. 16, No. 2, pp. 447-481. [cited by applicant]
Hesse, William, “Directed Graphs Requiring Large Numbers of Shortcuts,” in Proceedings of the Fourteenth Annual ACM-SIAM Symposium on Discrete Algorithms, Jan. 2003, pp. 665-669. [cited by applicant]
Office Communication for U.S. Appl. No. 17/542, 148 mailed Feb. 17, 2023, pp. 1-8. [cited by applicant]