EP1886235A2 - Method of using a directed graph, generating a display for a directed graph, and a system for use with the method - Google Patents
Method of using a directed graph, generating a display for a directed graph, and a system for use with the methodInfo
- Publication number
- EP1886235A2 EP1886235A2 EP06759387A EP06759387A EP1886235A2 EP 1886235 A2 EP1886235 A2 EP 1886235A2 EP 06759387 A EP06759387 A EP 06759387A EP 06759387 A EP06759387 A EP 06759387A EP 1886235 A2 EP1886235 A2 EP 1886235A2
- Authority
- EP
- European Patent Office
- Prior art keywords
- row
- instruction
- column
- processing system
- data processing
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Ceased
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/901—Indexing; Data structures therefor; Storage structures
- G06F16/9024—Graphs; Linked lists
Definitions
- the disclosure relates in general to methods and systems, and more particularly, to methods of using directed graphs, methods of generating display for directed graphs, and systems for use with the methods.
- a project workflow is an example of a directed graph.
- An organizational chart is an example of such an open-ended directed graph because parent nodes branch out to child nodes, however, the child nodes do not reconnect.
- a supervisor may be represented by a parent node, and his or her direct subordinates may be represented by the child nodes from that parent node.
- the parent-child relationships can be iterated until all levels of an organization are determined. Display information related to the organizational chart is not too difficult to generate.
- workflows are significantly more complicated because child nodes may need to be reconnected, which would not occur with a conventional organizational chart.
- FIG. 1 includes an illustration of a system for using a directed graph.
- FIG. 2 includes a flowchart for a software program that can be run using a browser application with the directed graph in accordance with an embodiment.
- FIG. 3 includes a flowchart for a detailed portion of the software program in FIG. 2 while editing the directed graph.
- FIGs.4 includes a flowchart for a detailed portion of the software program in FIG. 2 while generating a display signal for the directed graph.
- FIG. 5 includes a portion of a directed graph that includes an action element.
- FIG. 6 includes a portion of a database table that can be used with the directed graph in FIG. 5.
- FIG. 7 includes the portion of the directed graph in FIG. 5 after adding another action element.
- FIG. 8 includes the portion of the database table after transforming or otherwise converting the other action element in FIG. 7 to a row element.
- FIG. 9 includes the portion of the directed graph after adding columns and action elements corresponding to the row element.
- FIG. 10 includes the portion of the database table of FIG. 8 after adding a virtual node associated with the row element.
- FIG. 11 includes a database table that includes column elements corresponding to the row element.
- FIGs. 12 and 13 include database tables that include action elements corresponding to the column elements 922 and 942, respectively.
- FIG. 14 includes the portion of the directed graph in FIG. 9 after adding an action element after the row element.
- FIG. 15 includes the portion of the database table of FIG. 10 after adding the action element after the virtual node.
- FIG. 16 includes an illustration of data and table relationships for generating the portion of the directed graph in FIG. 14.
- FIG. 17 includes an illustration of blocks that can be used to generate branching-out lines in accordance with one embodiment.
- FIGs. 18 to 20 include illustrations for generating lines that will be used generating a display signal for the directed graph. Skilled artisans appreciate that elements in the figures are illustrated for simplicity and clarity and have not necessarily been drawn to scale. For example, the dimensions of some of the elements in the figures may be exaggerated relative to other elements to help to improve understanding of embodiments of the present invention.
- a directed graph can be edited and displayed using a browser application running on a client computer.
- the browser application can allow the editor to edit and view the edited directed graph without having to change between software applications.
- a monitor at the client computer can display the directed graph in a format similar to what an actor (a user during execution of the workflow) will see when executing or reviewing actions requested by the directed graph.
- a virtual node can be used to represent a reconnection point for child columns of a row element within a parent column. The virtual node can be used when adding an element immediately after the row element.
- borders of cells within a table can be used to generate branching-out lines, child columns, and reconnecting lines for row elements. Such an embodiment can be used to display the directed graph in a user-friendly format when using a browser application.
- action element is intended to mean an element that is associated with an action.
- the term "actor” is intended to mean person using a directed graph during performance of a workflow.
- the actor may or may not be an editor, too.
- column is intended to mean at least a portion of a workflow that includes one or more actions, or any combination of one or more actions and one or more row element that are designed to be performed serially. Note that the performance of one or more actions within a column may be conditional.
- a column element may be used within a data model to represent a column, and therefore, for the purposes of this speciation, column and column element can be used interchangeably.
- directed graph is intended to mean a chart, a graph or other visual representation in which the principal direction of flow within the chart, the graph or other representation is away from an initial point.
- the chart, the graph, or other visual representation includes a terminal point, and the principal direction of flow is from the initial point to the terminal point.
- editor and its variants are intended to mean to generate or change at least a portion of something. For example, an editor can generate a portion of a file or other data that is later changed by a different editor.
- element is intended to mean an object that is associated with an action, a column, or a row (e.g., a set of parallel columns).
- row element is intended to mean an element that is related to a plurality of parallel columns.
- the identification of the element X may be a separate GUI action from invoking the command (as in clicking on the step to highlight it or give it focus), followed by a separate GUI action (such as clicking on a choice in a separate menu, button bar, or other GUI control) to invoke the command Y, or the two actions may be combined by having a menu or buttons within element X or otherwise made available directly by clicking on element X, or one or both parts may be accomplished by typing at a keyboard.
- element Y can include a reference to element X
- the data representation of element Y may include a direct or indirect pointer or key identifying or allowing the identification of element X.
- elements X and Y are consecutive elements of column C.
- element Y may include a direct pointer or key identifying or allowing the identification of element A.
- each of elements X and Y may include a direct pointer or key identifying or allowing the identification of column C.
- Element Y is the immediate successor to element X because among the elements comprising column C, element Y has the lowest sequence number greater than that of X. Therefore, in this embodiment, element Y includes an indirect pointer or key identifying or allowing the identification of element X, via the direct pointer or key identifying or allowing the identification of column C and the sequence numbering of column C.
- X is displayed over Y
- Y is intended to mean that through the use of designating X as being in the foreground compared to Y, Y as being in the background compared to X, or a combination thereof, when displayed at a monitor, X has the appearance as being over Y.
- application X instructs application Y to perform an action is intended to mean that hardware, firmware, software, or any combination thereof executing code from application X transmits an instruction to same or different hardware, firmware, software, or any combination thereof execution code from application Y to perform an action, wherein application Y includes logic to allow the action to be performed.
- a directed graph application instructs a web browser to render a web page for a display
- a web server on which the directed graph application is running, can execute code for the directed graph application and in response transmit an instruction to a client computer, on which the browser application is running, to render a web page to be displayed at a display of the client computer.
- the terms “comprises,” “comprising,” “includes,” “including,” “has,” “having,” and any variations thereof, are intended to cover a non-exclusive inclusion.
- a method, process, article, or appliance that comprises a list of elements is not necessarily limited to only those elements but may include other elements not expressly listed or inherent to such method, process, article, or appliance.
- “or” refers to an inclusive or and not to an exclusive or. For example, a condition A or B is satisfied by any one of the following: A is true (or present) and B is false (or not present), A is false (or not present) and B is true (or present), and both A and B are true (or present).
- any combination of one or more hardware components, one or more firmware components, or one or more software components, such as those illustrated in FIG. 1, may be bi- directionally or uni-directionally coupled to each other. Coupling should be construed to include direct electrical connections and any one or more of intervening switches, resistors, capacitors, inductors, and the like between any two or more components.
- FIG. 1 includes an illustration of a system that can be implemented with respect to a method of using a directed graph.
- the directed graph includes a workflow, such as a project workflow or a strategy workflow.
- the directed graph is not limited to workflows, and in another embodiment, can be a chart or other graph having a principal direction of flow from an initial point to a terminal point.
- the system can include a client computer 11 that is bi-directionally coupled to a monitor 12 and a network 13.
- the system can also include a web server 14 that is bi-directionally coupled to networks 13 and 15.
- the networks 13 and 15 may be the same or different networks.
- the network 13 can be the Internet
- the network 15 can be an internal network for an entity.
- the network 15 can be bi-directionally coupled to a database 16 and an application server 17.
- the client computer 11 may include a central processing unit (“CPU") 110, a read-only memory (ROM) 112, a random access memory (“RAM”) 114, a hard drive (“HD”) or storage memory 116, and input/output device(s) (“I/O") 118.
- the I/O 118 can include a keyboard, printer, electronic pointing device (e.g., mouse, trackball, etc.), or the like.
- the monitor 12 can be part of the 1/0 118, but is illustrated separately in order to more clearly describe the method and information that may be displayed at the monitor 12.
- the web server 14 may include a central processing unit (“CPU") 140, a read-only memory (ROM)
- the I/O 148 can include a keyboard, a mom ' tor, printer, electronic pointing device (e.g., mouse, trackball, etc.), or the like.
- the application server 17 may include a central processing unit (“CPU") 170, a read-only memory (ROM) 172, a random access memory (“RAM”) 174, a hard drive (“HD”) or storage memory 176, and I/O 178.
- the VO 178 can include a keyboard, monitor, printer, electronic pointing device (e.g., mouse, trackball, etc.), or the like.
- connections and additional memory may be coupled to or reside within each of the client computer 11, the web server 14, the application server 17, or any combination thereof.
- the web server 14, the application server 17, or both can be standalone server computers or may be one or more blades within a distributed computing environment.
- the database 16 may reside external to the web server 14 and the application server 17, as illustrated in FIG. 1, or may reside on HD 146 (web server 14) or HD 176 (application server 17) if the database is not too large.
- the database 16 can include nearly any type of information within one or more database tables.
- the database 16 may also include logic used in carrying out any one or more portions of the methods described herein.
- Each of the client computer 11, the web server 14, the application server 17, or any combination thereof is an example of a data processing system.
- ROM (112, 142, 172), RAM (114, 144, 174), HD (116, 146, 176), and the database 16 include media that can be read by the CPUs (110, 140, 170). Therefore, each of these types of memories includes a data processing system readable medium.
- These memories may be internal or external to the client computer 11, the web server 14, the application server 17, or any combination thereof.
- portions of the methods described herein may be implemented in suitable software code that includes instructions for carrying out the methods.
- the instructions may be lines of assembly code or compiled C 4+ , Java, or other language code. Part or all of the code may be stored within memory of the client computer 11, the web server 14, the database 16, the application server 17, or any combination thereof and executed by one or more CPU within the client computer 11, the web server 14, the application server 17, or any combination thereof.
- the code may be contained on a data storage device, such as a magnetic tape, floppy diskette, CD ROM, optical or other storage device, storage network, other appropriate data processing system readable medium, or any combination thereof.
- the method can include accessing data that includes at least a portion of the directed graph, at block 222, receiving a user input signal at the browser application to edit the directed graph, at block 242, and transmitting a display signal that will be displayed using the browser application, at block 262.
- FIG. 3 includes more details regarding editing the directed graph
- FIG. 4 includes more details regarding generating and transmitting a display signal that can be received by the client computer 11 and displayed on the monitor 12.
- accessing the data can include retrieving one or more files from HD 116, HD 146, HD 176, or database 16 and loading the file(s) into memory at CPU140, ROM 142, RAM 144, or any combination thereof. Accessing the data can also include receiving user input signals via I/O 118 (e.g., keyboard, electronic pointing device, etc.) at the client computer 11 and generating the directed graph that is initially created by CPU140 and lies within memory at CPU140, ROM 142, RAM 144, or any combination thereof. Therefore, accessing should be broadly construed to cover nearly any manner of obtaining data regarding the directed graph or a portion thereof.
- I/O 118 e.g., keyboard, electronic pointing device, etc.
- FIGs. 5 and 6 include illustrations of a portion of data tables that include data for the directed graph that includes a column 522 and an action element 524.
- Action element 524 can include an action, a name or automatic indicator, a status, other information, or any combination thereof.
- FIG. 5 can include the portion of the directed graph as it is seen by an editor at the monitor 12 when the directed graph runs using a browser application, such as Netscape NavigatorTM, SafariTM, Internet ExplorerTM, EudoraTM brand browser application, or the like on the client computer 11.
- the data used for generating the display illustrated in FIG. 5 can be rendered by the web server 14 into a web page and transmit a display signal to the client computer 11.
- the client computer 11 can receive the display signal and use the browser application at the client computer 11 to generate the display at monitor 12.
- FIG. 6 includes an example of table 522 that includes data for the portion of the directed graph corresponding to column 522.
- table 522 can include elements, wherein each element for the directed graph can include an attribute that identifies the element as being an action element, a column element, or a row element.
- the column 522 can be represented by a column element
- action element 524 can include an attribute that identifies it as being an action element and includes a reference to column 522.
- Other action or row elements under the column element (for column 522) can be sequentially numbered or otherwise ordered, with action element 524 being the currently last element associated with or corresponding to column 522.
- the method can include receiving one or more user input signals that corresponds to inserting a row element within a parent column, at block 322 in FIG. 3.
- the editor at client computer 11 can enter keystrokes, mouse clicks, etc. using I/O 118 that are received at the browser application and are transmitted from the client computer 11 to the web server 14.
- the editor at client computer 11 can click on or otherwise activate the action element 524 (or a virtual node if a row element would be the immediately preceding element), right click and select "insert under.”
- the sequence can correspond to an insert under command that is executed by the web server 14 and initially creates action element 724 as illustrated in FIG. 7.
- the editor at client computer 11 can enter additional keystrokes, mouse clicks, etc. using I/O 118 that are received at the browser application and are transmitted from the client computer 11 to the web server 14.
- the editor at client computer 11 can click on or otherwise activate the action element 724, right click and select "insert right.”
- the sequence can correspond to an insert right command that is executed by the web server 14.
- the insert right command is used to note that a plurality of parallel columns is being formed initially including action element 724 in one column and a newly created action element in a second column.
- the two columns together comprise a new row element 824 that is also created by this "insert right" command, which takes the place of action element 742 as the second element of the column 522 as illustrated in FIG. 8.
- the row element 824 can be generated without having to first generate the action element 724.
- the action element 724, the row element 824, or both may be generated automatically by the web server 14 or generated in response to a dialog between the web server 14 and one or more other parts of the data processing system, the editor at client computer 11, or any combination thereof.
- the method can also include generating a virtual node that is associated with the row element (block 324 of FIG.
- the generation of the virtual node and its corresponding icon can be automatically performed by the web server 14 at the same time or shortly after the row element is created.
- the virtual node can be used to establish a reconnection point from last elements within columns for a set of parallel columns associated with or corresponding to row element 824 along column 522.
- the icon allows an editor of the directed graph a way to attach a next element below the row element. The virtual node and its use are described more later in this specification.
- the method can further include generating a set of parallel columns within the directed graph, wherein each of the parallel columns is a child column of the parent column (block 342).
- the editor at client computer can use I/O 118 to generate a user input signal that is received at the browser application and is transmitted from the client computer 11 to the web server 14.
- User input signal from client computer 11, data from the web server 14, the database 16, the application server 17, or any combination thereof can be used to create columns corresponding to columns 922 and 942, as illustrated in FIG. 9.
- a series of insert under commands can be performed in generating action elements 724 and 926 that lie along column 922, and action elements 944, 946, and 948 that lie along column 942.
- row element 824 includes columns 922 and 942 together.
- Columns 922 and 942 are child columns of parent column 522.
- Each of action elements 724 and 926 can include a reference to column 922, and each of action elements 944, 946, and 948 can include a reference to column 942.
- Columns 922 and 942 can include a reference to row element 842, and the row element 842 can include a reference to column 522.
- FIGs. 10 to 13 include illustrations of data that may be included within tables of database 16.
- Table 522 in FIG. 10 represents the data for the parent column 522 and includes action element 524, row element 824, and virtual node 902.
- the virtual node 902 might not be stored in the database 16, but might be generated by the software in RAM 144 based on the row element 824.
- Table 824 in FIG. 11 corresponds to the row element 824 and includes column elements 922 and 942 that correspond to the set of parallel columns that are children columns of the parent column 522.
- Table 922 in FIG. 12 corresponds to the column element 922 and includes action elements 724 and
- table 942 in FIG. 13 corresponds to the column element 942 and includes action elements 944, and 946, and 948.
- FIG. 10 to 12 illustrates the child elements comprising a particular parent element, with the parent element identifier appearing above the headers for the data, but the parent element identifier and the identifier for the whole directed graph may be represented as additional columns in the data table, allowing all of the elements to be in a single data table for all the directed graphs of concern to the system.
- Skilled artisans will appreciate that many alternate data representations are possible, such as having separate tables based on element types, or having one table containing all elements and all data relevant for all element types, while having additional tables for data relevant for specific element types.
- the method can further include receiving a user input signal that corresponds to inserting a next element associated with the virtual node (block 362 in FIG. 3).
- the editor at client computer 11 can click on or otherwise activate the virtual node 902 that is illustrated in FIG. 9.
- the editor can right click and select insert under to generate a user input signal that is received at the browser application and transmitted from the client computer 11 to the web server 14.
- the web server 14 can interpret the user input signal to be an insert under command to add action element 1424 below row element 824.
- the web server 14 includes logic so that it recognizes the user input signals from the client computer 11 as editing the directed graph to add the action element 1424 to the directed graph, wherein the action element 1424 will be activated after the row element 824 is completed.
- FIG. 15 includes table 522 that illustrates that the row element 824 is the immediately preceding element with respect to action element 1424.
- the virtual node 902 is not an element for the purposes of this specification because it cannot be activated and completed or bypassed like other elements, such as action elements, column elements, and row elements.
- the editing process can be continued to add other elements to the directed graph.
- the elements may be added nearly anywhere within the directed graph.
- the other elements can include adding one or more other actions or row elements to any column element, or one or more other columns to any row element.
- Editing can also include deleting, replacing, or otherwise modifying any of the action, column or row elements, "cut and paste" operations to move an action or element from one position to another within a directed graph, or any combination of these editing actions.
- row elements may be nested. Ih other words, a row element may include a column that includes another row element.
- additional rules may be imposed to restrict the editing process if certain actions have logical restrictions on where they should or should not be allowed in relation to parallel columns.
- the method can restrict certain actions such that they cannot be part of a parallel process, if it is undesirable or unreasonable for that to be allowed, by not allowing such actions to be inserted within a row or any element descended from a row, and by not allowing an "insert right" operation against an existing action of such type, to prevent it from being converted into an element of a row.
- the method can also restrict the allowed position of certain actions in relation to the specific positions of other related actions.
- one type of action might be the approval of another action, and editing rules could insure that the approval could only be inserted or moved to a new position as a direct or indirect successor of the action being approved, to insure that the approval action is never presented to a user for performance, before the action being approved has itself been performed.
- Attention is now directed to an exemplary, non-limiting embodiment for generating a display signal that can be displayed at the monitor 12 at client computer 11 when using a browser application.
- Browser applications are good at working with lists, tables, and blocks, however, browser applications (and markup languages in particular) are not good at connecting blocks with lines.
- the web server 14 can include conventional logic to determine the lengths of lists, and dimensions (lengths and widths) for blocks.
- the directed graph is a workflow, such as a project workflow or a strategy workflow.
- the focus of this particular embodiment will be regarding the directed graph as illustrated in FIG. 14.
- the directed graph includes a main or parent column and only one row element. In another embodiment, more row elements and associated parallel columns may be present.
- the method described for generating the display signal can be performed by the web server 14.
- the web server 14 may have information regarding the operating system and browser application used at the client computer 11. This information can be used by the web server 14 in rendering a web page for the client computer 11. Different embodiments can be used to display the directed graph at monitor 12.
- the methods can leverage the functionality provided within conventional browser applications to generate blocks with borders from cells within a table, can center objects within cells, can generate substantially centered, substantially vertical lines within cells of a table, and can determine lengths of columns, so that rows within tables are properly aligned.
- FIG. 16 illustrates information that can be used to generate the directed graph as illustrated in FIG. 14.
- the information includes tables embedded within tables.
- the parent column element 522 corresponds to table 522, which is noted as Tl in FIG. 16.
- the row element 824 corresponds to table 824, which is noted as T2.
- Each column element 922 and 942 corresponds to tables T3 and T4, respectively.
- tables T3 and T4 are embedded within table T2, which is embedded within table Tl.
- the software application used for generating and using the directed graph can instruct the browser application to create a table within a markup language, such as HTML, for example.
- table T2 includes three rows, namely, R21, R22, and R23, and a number of columns corresponding to the number of column elements within the row element 824, which in this particular example is two columns.
- the directed graph application can instruct the browser application to embed the column elements 922 and 942 within R22 of T2 at the appropriate location.
- the directed graph application can instruct the browser application to generate a substantially centered, substantially vertical line 522 for the parent column (block 422 in FIG. 4). The centering is in a horizontal direction with respect to the width of Tl .
- the directed graph application can also instruct the browser application to display the elements in the parent column over the substantially centered, substantially vertical line for the parent column 522 (block 424).
- the elements of table 522 are centered with respect to the horizontal direction within table Tl.
- each of action element 524, table T2, and action element 1424 are centered within then- respective cells and are displayed over the substantially vertical line 522.
- the directed graph can instruct the browser application to generate branching-out lines associated with the row element (block 442 in FIG. 5).
- the directed graph application can instruct the browser application draw borders around the cells in R21 in table T2.
- FIG. 17 includes illustrations of block 1724 that includes a left side border 1724 and a top border 1726 for the left-hand cell of row R21, and 1742 that includes a right side border 1744 and a top border 1746 for the right-hand cell of row R21.
- only the left side border 1724 and the top border 1726 of block 1722 may be turned on or otherwise activated
- only the right side border 1744 and the top border 1746 of block 1742 may be turned on or otherwise activated.
- the directed graph application instructs the browser application to offset (1) the side borders by half the horizontal dimension of the cell in a direction toward the centerline for table Tl and (2) the top borders by half the vertical dimension of the cell in a direction toward the next row R22 in table 2.
- half of the left side border 1724 and half of the top border 1726 will be displayed, hi this manner, the branching-out lines can be displayed.
- the substantially vertical lines line extending to the branching out lines can be displayed.
- the directed graph application can further instruct the browser application to generate substantially centered, substantially vertical lines for columns associated with the row elements (block 444 in FIG. 4).
- the browser application receives an instruction to generate a substantially centered, substantially vertical line within each cell of row R22.
- the directed graph application can instruct the browser application to generate reconnecting lines associated with the row element (block 446 in FIG. 4).
- a substantially similar method can be used for generating the reconnecting lines within row R23.
- the bottom and side borders are turned on or otherwise activated for row R23.
- the bottom borders will be offset towards the top of the table T2, rather than towards the bottom of table T2 (as performed for the blocks 1722 and 1742 in row R21). Therefore, at least the bottom borders of the cells for row R23 are generated in addition to or in place of the top borders 1726 and 1746.
- the directed graph application can instruct the browser application to display elements of the columns over the substantially centered, substantially vertical lines for the set of parallel columns (block 462 in FIG. 4).
- the actual contents of the columns 922 and 942 will be displayed as tables T3 and T4, respectively.
- the embedded browser tables have differing numbers of rows corresponding to the number of elements in each column element.
- the substantially centered, substantially vertical lines in cells for row R22 including tables T3 and T4 and portions of cells for rows R21 and R23 will be rendered by the browser application to display substantially vertical lines that are substantially parallel to each other and connect to the branching-out and reconnecting lines.
- the action elements 724 and 926 are displayed over the left-side line, and the action elements 944, 946, and 948 are displayed over the right-side line.
- the information regarding tables and borders of tables in FIG. 16 may not be displayed at monitor 12.
- the monitor 12 will display the portion of the directed graph, as illustrated in FIG. 14.
- row R22 can be replaced by a set of rows, wherein each row corresponds to an element within the longest column. Referring to column 942, it has three elements. Therefore, table T2 would have still have two columns, but would have five rows as opposed to three rows in the prior embodiment. For the first two of the middle three rows, each cell in table T2 would have an action element. In the third of the middle three rows, the left-hand cell would only have a centered, substantially vertical line with no corresponding element, and the right-hand cell would have action element 948 displayed over its corresponding centered, substantially vertical line.
- a different method can be used to generate the branching-out lines, set of substantially centered, substantially vertical lines for the set of parallel columns.
- borders for the cells in row R22 can be used.
- the directed graph application can instruct the browser application to generate at least portions of blocks for each cell within the row R22.
- FIG. 18 includes blocks 1822 and 1842 that can be used for columns 922 and 942, respectively.
- the blocks 1822 and 1842 that have substantially the same length.
- the width of block 1822 can be determined by the browser application determining the width of action element 724, 926, or a combination thereof, and the width of block 1842 can be determined by measuring the width of action element 944, 946, 948, or any combination thereof.
- child column 922 will be placed to the left of the parent column 522
- child column 942 will be placed to the right of the parent column 522.
- the left border 1824 and the top border 1826 of block 1822 are used.
- the right border 1844 and the top border 1846 of block 1842 are used.
- the dashed lines 1828 and 1848 for blocks 1822 and 1842, respectively, represent the other sides of the blocks that will not be seen by at the monitor 12 when displayed.
- the directed graph application can also instruct the browser application to offset the blocks.
- Block 1822 can be offset one half of the column width to the right and up by half the distance along a vertical axis between where action element 524 and action element 724 will be located.
- Block 1842 can be offset one half of the column width to the left and up by half the distance along a vertical axis between where action element 524 and action element 944 will be located.
- Block 1822, block 1842, or both overlap the parent column 522. From a display perspective, line-dash-line portion 1922, in FIG. 19, of the parent column 522 underlies or is covered by the block 1822, block 1842, or both. At monitor 12, portion 1922 and the dashed lines 1828 and 1848 are not displayed but are illustrated in FIG.
- the columns 922 and 942 are to be reconnected back to the parent column 522.
- the directed graph application can instruct the browser application to copy blocks 1822 and 1842.
- the copies are substantially the same as their corresponding blocks except that the bottom borders, rather than the top borders are included.
- the copy of block 1822 can be offset one half of the column width to the right and down by half the distance along a vertical axis between where action element 948 and action element 1424 will be located.
- the copy of block 1842 can be offset one half of the column width to the left and down by half the distance along a vertical axis between where action element 948 and action element 1424 will be located.
- FIG. 20 includes an illustration of how the lines from the blocks will appear.
- the combinations of borders from the blocks create an illusion of the diverging paths and reconnecting point for row element 824.
- Column 922 can include a substantially vertical line that corresponds to the left side borders of block 1822 and its copy
- column 942 can include a substantially vertical line that corresponds to the right side borders of block 1842 and its copy. From a presentation standpoint, the substantially vertical line corresponding to the parent column 522 is substantially continuous, but a portion is not seen at monitor 12 because the line for parent column 522 underlies or is covered by portions of blocks 1822, 1842, or any combination thereof.
- the method can also include generating an icon 902 for the virtual node associated with the row element 824.
- the icon 902 can be placed near the reconnection points for the set of parallel columns, as illustrated in FIG. 14.
- the icon 902 can be a graphical indicator used by an editor at client computer 11. The use of the icon 902 is described above.
- Row elements can be nested to nearly any level.
- the logic herein can be used to determine lengths of the longest columns for the most deeply nested row element and work towards less deeply nested row elements to determine lengths of columns and lengths of gaps within parent columns between action elements along a parent column.
- the method can be iterated until the main column is reached.
- the ordering of lines for the directed graph can be such that children columns are presented as overlying their parent column. In one embodiment, the children columns may be in the foreground compared to the parent column, or the parent column may be in the background compared to the children columns.
- an actor can use the directed graph in executing a workflow, such as a project workflow or a strategy workflow.
- a reviewer (still another user at client computer 11) can use the directed graph in reviewing the status of actions within the directed graph.
- monitor 12 allows monitor 12 to display the workflow to an editor in a similar format, as it will be seen when the actor executes actions requested in the workflow.
- the display for the editor may include the virtual node icon 902 that may not be displayed to the actor.
- the status information may be displayed to the actor but not to the editor during editing the directed graph.
- the ability for the editor to use a browser application to edit the directed graph allows the editor a better ability to see the directed graph in a format closer to what an actor will see.
- the editor does not need to use an editing application to edit the directed graph and a browser application to check the visual appearance of the directed graph. In this manner, the editor can more quickly generate a directed graph with better confidence that the directed graph that will be subsequently used will look similar to the display that the editor sees when editing. Therefore, generation of the directed graph can be performed more quickly and easily by using the browser application at client computer 11 rather than having to use at least two different applications at the client computer 11.
- client computers can be used with the client-server architecture, as illustrated in FIG 1.
- Most of the data processing can be performed by the web server 14, the application server 17, or both.
- the web server 14 can render a web page for the particular operating system and browser application for a particular client computer. Therefore, special software does not need to be implemented on the client computers to use the methods and software described herein.
- action elements 724 and 944 can be activated at substantially the same time. After action element 944 is completed, action element 946 can be activated without having to wait for action element 724. In one particular embodiment, action element 946 can be completed while action element 724 is still active (not completed). If the data model would only use rows of action elements, one row element would include action elements 724 and 944, another row element would include action elements 926 and 946, and still another row element would include action element 948. In this data model, action elements 724 and 944 are completed before action elements 926 and 946 are activated. While not a critical or essential element of the present invention, the embodiment having a row element with column elements may allow a directed graph to be executed more quickly than the other embodiment with separate rows having only action elements.
- references between elements can be different.
- a reference between action elements can be indirect via one or more references to one or more column elements, sequential numbering within column element(s), one or more row elements, or any combination thereof.
- references can be more direct.
- action element 724, action element 944, or both may directly reference action element 524.
- Other methods of direct or indirect references can be used in other embodiments. Any portion of all of the methods described herein may be performed by a computer, server, or other machine. Instructions can be generated that correspond to the operations described herein.
- a method can be used when a directed graph running on a browser application.
- the method can include accessing data that includes at least a portion of the directed graph and receiving a user input signal at the browser application to edit the directed graph.
- the method further includes transmitting a display signal to be displayed using the browser application, wherein the display signal corresponds to at least the user input signal.
- the user input signal corresponds to adding an action element, a column element, or a row element.
- the user input signal corresponds to adding a row element.
- the method further includes adding a set of parallel columns associated with the row element, wherein a first column within the set of parallel columns has a different number of elements compared to a second column within the set of parallel columns.
- the method still further includes generating a virtual node that is associated with the row element and represents a reconnection point for the set of parallel columns.
- the method yet further includes receiving a user input signal corresponding to accessing the virtual node and adding a next element that lies within a same column as the row element, wherein the row element is an immediately preceding element with respect to the next element.
- the method further includes transmitting an instruction to a browser application to generate a first table corresponding to a row element.
- the first table includes a first row, at least one second row, a third row, and columns, wherein a number of the columns corresponds to the number of columns associated with the row element.
- the method still further includes transmitting an instruction to a browser application to generate lines to illustrate a set of parallel columns for the row element and transmitting an instruction to the browser application to display elements associated with the row element.
- a method of using a directed graph can include generating a row element and generating a virtual node that is associated with the row element.
- the method further includes generating a set of parallel columns associated with the row element, wherein a first column within the set of parallel columns has a different number of elements compared to a second column within the set of parallel columns.
- the virtual node represents a reconnection point for columns within the set of parallel columns.
- the method further includes generating an icon corresponding to the virtual node and transmitting a display signal that includes the icon.
- the method further includes receiving a user input signal that corresponds to inserting a next element associated with the virtual node. The row element and the next element are within the same column, and the row element is an immediately preceding element with respect to the next element.
- the directed graph includes a first row element that corresponds to the set of parallel columns, and a column within the set of parallel columns includes another row element.
- a method of using a directed graph can including generating a row element that includes a first associated column element and a second associated column element, generating at least one first associated element within the first column element, and generating at least one second associated element within the second column element.
- the number of the first associated element(s) may be different from the number of the second associated element(s).
- the method further includes executing actions in accordance with the directed graph.
- the at least one first associated column element includes a first action element
- the at least one second associated column element includes a second action element and third action element.
- the first and second action elements lie at the same sequential position within the first and second associated column elements, respectively.
- the third action element is subsequent to the second action element, and the third action element is activated before the first action element is completed. In a particular embodiment, the third action element is completed before the first action element is completed.
- a method of generating a display for a directed graph can include transmitting an instruction to a browser application to generate a first table corresponding to a row element.
- the first table can include a first row, at least one second row, a third row; and columns, wherein a number of the columns corresponds to the number of columns associated with the row element.
- the method can also include transmitting an instruction to the browser application to generate lines to illustrate a set of parallel columns for the row element, and transmitting an instruction to the browser application to display elements associated with the row element.
- transmitting the instruction to the browser application to generate lines to illustrate a set of parallel columns for the row element include transmitting an instruction to the browser application to generate branching-out lines in the first row, transmitting an instruction to the browser application to generate a substantially centered, substantially vertical line for each row within the at least one second row, and transmitting an instruction to the browser application to generate reconnecting lines in the third row.
- the method further includes transmitting an instruction to the browser application to generate another table for each column element associated with the row element.
- the at least one second row includes a plurality of second rows, wherein the number of second rows corresponds to a highest number of elements within a column associated with the row, and transmitting the instruction to the browser application to display elements associated with the row element comprises transmitting an instruction to the browser application to display an element associated for a particular column-second row combination or, if there is no element for the particular column-second row combination, display no element for the particular column-second row combination.
- transmitting the instruction to the browser application to generate lines to illustrate a set of parallel columns for the row element includes transmitting an instruction to the browser application to generate at least portions of blocks corresponding to cells within the at least one second row, transmitting an instruction to the browser application to offset a set of the at least portions of blocks to illustrate the branching-out lines and portions of substantially centered, substantially vertical lines for a set of parallel columns associated with the row element, and transmitting an instruction to the browser application to offset another set of the at least portions of blocks to illustrate the reconnecting lines and portions of substantially centered, substantially vertical lines for the set of parallel columns associated with the row element.
- a first column within the set of parallel columns has a different number of elements compared to a second column within the set of parallel columns.
- a data processing system readable medium can have code to use a directed graph, wherein the code is embodied within the data processing system readable medium.
- the code can include an instruction to access data that includes at least a portion of the directed graph and an instruction to edit the directed graph in response to receiving a user input signal at the browser application.
- the code further includes an instruction to transmit a display signal to be displayed using the browser application, wherein the display signal corresponds to at least the user input signal.
- the user input signal corresponds to adding an action element, a column element, or a row element.
- the user input signal corresponds to adding a row element.
- the code further includes an instruction to add a set of parallel columns associated with the row element, wherein a first column within the set of parallel columns has a different number of elements compared to a second column within the set of parallel columns, and an instruction to generate a virtual node that is associated with the row element and represents a reconnection point for the set of parallel columns, ⁇ a a particular embodiment, the code further includes an instruction to access the virtual node and an instruction to adding a next element that lies within a same column as the row element, wherein the row element is an immediately preceding element with respect to the next element.
- the code further includes an instruction to generate a first table corresponding to a row element.
- the first table includes a first row, at least one second row, a third row, and columns, wherein a number of the columns corresponds to the number of columns associated with the row element.
- the code still further includes an instruction to generate lines to illustrate a set of parallel columns for the row element and an instruction to display elements associated with the row element.
- a data processing system readable medium can have code to use a directed graph running on a browser application, wherein the code is embodied within the data processing system readable medium.
- the code can include an instruction to generate a row element and an instruction to generate a virtual node that is associated with the row element.
- the code further includes an instruction to generate a set of parallel columns associated with the row element, wherein a first column within the set of parallel columns has a different number of elements compared to a second column within the set of parallel columns.
- the virtual node represents a reconnection point for columns within the set of parallel columns.
- the code further includes an instruction to generate an icon corresponding to the virtual node and an instruction to transmit a display signal that includes the icon.
- the code further includes an instruction to insert a next element associated with the virtual node. The row element and the next element are within a same column, and the row element is an immediately preceding element with respect to the next element.
- the directed graph includes a first row element that corresponds to the set of parallel columns, and a column within the set of parallel columns includes another row element.
- a data processing system readable medium can have code to use a directed graph, wherein the code is embodied within the data processing system readable medium.
- the code can include an instruction to generate a row element that includes a first associated column element and a second associated column element, an instruction to generate at least one first associated element within the first column element, and an instruction to generate at least one second associated element within the second column element.
- the number of the first associated element(s) can be different from the number of the second associated element(s).
- the at least one first associated column element includes a first action element and the at least one second associated column element includes a second action element and a third action element.
- the first and second action elements lie at a same sequential position within the first and second associated column elements, respectively, and the third action element is subsequent to the second action element.
- the code further includes an instruction to activate the first and second action elements, an instruction to indicate the second action element is completed when or shortly after an action corresponding to the second action element is completed, and an instruction to activate the third action element after the second action element is completed, regardless of a status of the first action element.
- the third action element is completed, regardless of the status of the first action element.
- a data processing system readable medium can have code to generate a display for a directed graph, wherein the code is embodied within the data processing system readable medium.
- the code can include an instruction to generate a first table corresponding to a row element, wherein the first table includes a first row, at least one second row, a third row; and columns, wherein a number of the columns corresponds to the number of columns associated with the row element.
- the code can also include an instruction to generate lines to illustrate a set of parallel columns for the row element; and an instruction to display elements associated with the row element.
- the instruction to generate lines to illustrate a set of parallel columns for the row element include an instruction to generate branching-out lines in the first row, an instruction to generate a substantially centered, substantially vertical line for each row within the at least one second row, and an instruction to generate reconnecting lines in the third row.
- the code further comprises an instruction to generate another table for each column element associated with the row element.
- the at least one second row includes a plurality of second rows, wherein the number of second rows corresponds to a highest number of elements within a column associated with the row, and the instruction to display elements associated with the row element comprises an instruction to display an element associated for a particular column-second row combination or, if there is no element for the particular column-second row combination, display no element for the particular column-second row combination.
- the instruction to generate lines to illustrate a set of parallel columns for the row element includes an instruction to generate at least portions of blocks corresponding to cells within the at least one second row, an instruction to offset a set of the at least portions of blocks to illustrate the branching-out lines and portions of substantially centered, substantially vertical lines for a set of parallel columns associated with the row element, and an instruction to offset another set of the at least portions of blocks to illustrate the reconnecting lines and portions of substantially centered, substantially vertical lines for the set of parallel columns associated with the row element.
- a first column within the set of parallel columns has a different number of elements compared to a second column within the set of parallel columns.
- the directed graph can be a workflow.
- a data processing system can be configured to perform any foregoing individual method or combination of the foregoing methods, or include any foregoing individual data processing system readable medium or combination of the foregoing data processing system readable media
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Business, Economics & Management (AREA)
- Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Economics (AREA)
- Entrepreneurship & Innovation (AREA)
- Human Resources & Organizations (AREA)
- Strategic Management (AREA)
- General Physics & Mathematics (AREA)
- Game Theory and Decision Science (AREA)
- Software Systems (AREA)
- Tourism & Hospitality (AREA)
- Operations Research (AREA)
- General Business, Economics & Management (AREA)
- Marketing (AREA)
- Educational Administration (AREA)
- Quality & Reliability (AREA)
- Development Economics (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- User Interface Of Digital Computer (AREA)
- Stored Programmes (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Digital Computer Display Output (AREA)
Abstract
Description
Claims
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US68128705P | 2005-05-16 | 2005-05-16 | |
US11/363,105 US7797628B2 (en) | 2005-05-16 | 2006-02-27 | Method of using a directed graph and a system for use with the method |
US11/363,106 US7725820B2 (en) | 2005-05-16 | 2006-02-27 | Method of generating a display for a directed graph and a system for use with the method |
PCT/US2006/017877 WO2006124401A2 (en) | 2005-05-16 | 2006-05-09 | Method of using a directed graph, generating a display for a directed graph, and a system for use with the method |
Publications (2)
Publication Number | Publication Date |
---|---|
EP1886235A2 true EP1886235A2 (en) | 2008-02-13 |
EP1886235A4 EP1886235A4 (en) | 2012-02-29 |
Family
ID=37431822
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
EP06759387A Ceased EP1886235A4 (en) | 2005-05-16 | 2006-05-09 | Method of using a directed graph, generating a display for a directed graph, and a system for use with the method |
Country Status (2)
Country | Link |
---|---|
EP (1) | EP1886235A4 (en) |
WO (1) | WO2006124401A2 (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130191439A1 (en) * | 2012-01-19 | 2013-07-25 | Microsoft Corporation | Managing script file dependencies and load times |
CN107391611A (en) * | 2017-07-04 | 2017-11-24 | 南京国电南自电网自动化有限公司 | A kind of process model generation method of the General ETL Tool based on workflow |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5930512A (en) * | 1996-10-18 | 1999-07-27 | International Business Machines Corporation | Method and apparatus for building and running workflow process models using a hypertext markup language |
US20050076330A1 (en) * | 2003-08-05 | 2005-04-07 | E.Piphany, Inc. | Browser-based editor for dynamically generated data |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5201046A (en) * | 1990-06-22 | 1993-04-06 | Xidak, Inc. | Relational database management system and method for storing, retrieving and modifying directed graph data structures |
US7272816B2 (en) * | 2002-07-31 | 2007-09-18 | Sap Aktiengesellschaft | Transformations between private and shared workflows |
-
2006
- 2006-05-09 WO PCT/US2006/017877 patent/WO2006124401A2/en active Search and Examination
- 2006-05-09 EP EP06759387A patent/EP1886235A4/en not_active Ceased
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5930512A (en) * | 1996-10-18 | 1999-07-27 | International Business Machines Corporation | Method and apparatus for building and running workflow process models using a hypertext markup language |
US20050076330A1 (en) * | 2003-08-05 | 2005-04-07 | E.Piphany, Inc. | Browser-based editor for dynamically generated data |
Non-Patent Citations (5)
Title |
---|
ANONYMOUS: 'vertical line -- HTML', [Online] 08 December 2003, pages 1 - 3, XP055072692 Retrieved from the Internet: <URL:http://web.archive.org/web/20031208112221/http://ths.gardenweb.com/forums/load/html/msg111904095252.html> [retrieved on 2013-07-24] * |
Kevin Crotty ET AL: "Software-Based Guitar Sound Effects Synthesizer Project Plan", , 17 October 2000 (2000-10-17), pages 1-7, XP55016818, Retrieved from the Internet: URL:http://seniord.ece.iastate.edu/may0117/projectplan.html [retrieved on 2012-01-18] * |
PAUL S ET AL: "RainMan: a workflow system for the Internet", PROCEEDINGS OF THE USENIX SYMPOSIUM ON INTERNET TECHNOLOGIES ANDSYSTEMS, XX, XX, 8 December 1997 (1997-12-08), pages 159-170, XP002232790, * |
See also references of WO2006124401A2 * |
TOM LOFFMAN: 'vertline.txt', [Online] 10 September 2003, pages 1 - 1, XP055072691 Retrieved from the Internet: <URL:http://web.archive.org/web/20030901061903/http://www.tloffman.com/vertline.txt> [retrieved on 2013-07-24] * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130191439A1 (en) * | 2012-01-19 | 2013-07-25 | Microsoft Corporation | Managing script file dependencies and load times |
US9037636B2 (en) * | 2012-01-19 | 2015-05-19 | Microsoft Technology Licensing, Llc | Managing script file dependencies and load times |
CN107391611A (en) * | 2017-07-04 | 2017-11-24 | 南京国电南自电网自动化有限公司 | A kind of process model generation method of the General ETL Tool based on workflow |
CN107391611B (en) * | 2017-07-04 | 2019-11-12 | 南京国电南自电网自动化有限公司 | A kind of process model generation method of the General ETL Tool based on workflow |
Also Published As
Publication number | Publication date |
---|---|
WO2006124401A3 (en) | 2009-04-09 |
WO2006124401A2 (en) | 2006-11-23 |
EP1886235A4 (en) | 2012-02-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7725820B2 (en) | Method of generating a display for a directed graph and a system for use with the method | |
KR101312848B1 (en) | Browse mode designer | |
US7471646B2 (en) | System and methods for inline property editing in tree view based editors | |
US9524525B2 (en) | Method, system, and graphical user interface for presenting an interactive hierarchy and indicating entry of information therein | |
US8868620B2 (en) | Techniques for composing data queries | |
JP4980357B2 (en) | Thread navigation | |
JP5089684B2 (en) | Technology for generating service programs | |
US20030081003A1 (en) | System and method to facilitate analysis and removal of errors from an application | |
US20100031135A1 (en) | Annotation management in enterprise applications | |
US20140122533A1 (en) | Web application for debate maps | |
US20090006154A1 (en) | Declarative workflow designer | |
US20050065951A1 (en) | Visualization of commonalities in data from different sources | |
JP2009543167A (en) | Computer-implemented method, computer program, and data processing system for inheriting page layout for a page | |
JP2013528860A (en) | Temporary formatting and graphing of selected data | |
KR101900811B1 (en) | Method and computer program for designing a query | |
CA2713821A1 (en) | System and method for enabling financial planning | |
US8769439B2 (en) | Method for creation, management, and presentation of user-scoped navigation topologies for web applications | |
US20120311538A1 (en) | Capturing Rich Actionable Feedback on Working Software | |
US7797628B2 (en) | Method of using a directed graph and a system for use with the method | |
US8719416B1 (en) | Multiple subparts of a uniform resource locator | |
US20060294089A1 (en) | Filter manager system and method of managing filter expressions | |
US8413062B1 (en) | Method and system for accessing interface design elements via a wireframe mock-up | |
EP1886235A2 (en) | Method of using a directed graph, generating a display for a directed graph, and a system for use with the method | |
US10896161B2 (en) | Integrated computing environment for managing and presenting design iterations | |
Theng | Addressing the" lost in hyperspace" problem in hypertext. |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PUAI | Public reference made under article 153(3) epc to a published international application that has entered the european phase |
Free format text: ORIGINAL CODE: 0009012 |
|
17P | Request for examination filed |
Effective date: 20071119 |
|
AK | Designated contracting states |
Kind code of ref document: A2 Designated state(s): AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IS IT LI LT LU LV MC NL PL PT RO SE SI SK TR |
|
AX | Request for extension of the european patent |
Extension state: AL BA HR MK YU |
|
DAX | Request for extension of the european patent (deleted) | ||
R17D | Deferred search report published (corrected) |
Effective date: 20090409 |
|
RIC1 | Information provided on ipc code assigned before grant |
Ipc: G06F 17/00 20060101AFI20090511BHEP |
|
A4 | Supplementary search report drawn up and despatched |
Effective date: 20120126 |
|
RIC1 | Information provided on ipc code assigned before grant |
Ipc: G06F 17/30 20060101ALI20120120BHEP Ipc: G06Q 10/00 20120101AFI20120120BHEP |
|
17Q | First examination report despatched |
Effective date: 20121001 |
|
REG | Reference to a national code |
Ref country code: DE Ref legal event code: R003 |
|
STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: THE APPLICATION HAS BEEN REFUSED |
|
18R | Application refused |
Effective date: 20140227 |