How to filter a graph

JP2025506309AActive Publication Date: 2025-03-07セロニス ソシエタス ヨーロッパ
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
JP2024571267
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Priority Date
2022-02-23
Filing Date
2023-02-16
Publication Date
2025-03-07
Estimated Expiration
2043-02-16

Smart Images

  • Figure 2025506309000001_ABST
    Figure 2025506309000001_ABST
Patent Text Reader

Abstract

A computer-implemented method is provided for extracting a subgraph from a graph stored using a storage device without prior knowledge of the structure of the graph. The graph represents a network. The subgraph starts from at least one selected node in a selected direction. Each directed edge of the graph consists of an outgoing edge connected to a start node and an incoming edge connected to a terminal node. The subgraph is extracted following a traversal of the graph starting from at least one selected node in a selected direction according to a predefined graph traversal protocol.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

[0001] The present invention relates to a method for filtering a graph stored in a storage device. [Background technology]

[0002] Networks, especially directed networks, encode the flow of a system parameter along multiple entities. One example of a network is a supply chain network, where the system parameter can be a material or a planned delivery, or a combination thereof. Another example of a network is a process network, where the system parameter can be an output of a process step, such as a material or a business document, or any combination thereof.

[0003] In a supply chain network, it is important to understand how materials and / or goods flow and / or how materials are planned to be delivered. Material flows and / or planned deliveries in a supply chain network facilitate various use cases, such as estimating which finished products may be affected by raw material shortages, or calculating the carbon footprint of a product based on its parts, each part, etc. These networks can include any number of facilities and material combinations, hereafter referred to as a stock keeping unit (SKU).

[0004] In a typical scenario of a supply chain network, several SKUs are involved in multiple layers representing different stages in the production and distribution of goods. In fact, both production and distribution are often spread across multiple manufacturers. The layers of SKUs can range from raw materials across partially produced products to the finished goods themselves. Due to the various layers between raw materials and finished goods, there are usually many SKUs across the supply chain network.

[0005] Similarly, a single process, such as a business process (e.g. an order process) or a technical manufacturing process (e.g. a process executed on a SKU in a supply chain network), is in fact often part of a (larger) process network. Thereby, the process is executed in or with a computer system and may include several process steps. An execution of a process is called a process instance. Each process step can create data during its execution, which is stored in or with the computer system on which the process is executed.

[0006] It is known to store process instances together with their process steps in a process protocol, from which classical process mining techniques can be used to efficiently analyze a single process instance. However, in a realistic scenario, instances of different processes are unlikely to be isolated from each other. Rather, they are connected in a process network. However, in a process network, classical process mining cannot analyze the interactions between process instances of two or more different processes. In reality, process networks are widely distributed and most organizations do not only run a set of independent sequential processes, but rather contain many processes that interact with each other and with the processes of other organizations.

[0007] Technically, a network, such as a supply chain network or a process network, can be represented using a graph, which typically consists of nodes and edges, where the nodes can represent the entities of the individual networks and the edges can represent the interactions between the entities within the individual networks.

[0008] In practice, nodes (entities) are usually stored decoupled: for example, in a supply chain network, SKUs are usually organized in different (relational) data tables, while in a process network, single processes are stored independently of each other in the process protocol.

[0009] In reality, the landscape of interconnected SKUs and / or interconnected processes in modern networks is constantly changing. Thus, traditional approaches that either manually connect one SKU to another SKU (e.g., via joining tables in a relational database) or manually connect one process instance to another process instance are highly inefficient and error-prone. As such, conventional approaches to storing graphs representing modern networks, particularly supply chain networks and / or process networks, may directly result in inaccurate reconstruction and subsequent analysis of such networks.

[0010] Due to the large amount of data contained in such networks, traditional approaches for storing graphs representing networks also often result in timeouts, since manually connecting nodes in the graph that represent entities in the network is computationally very demanding.

[0011] It is therefore an object of the present invention to provide a method for filtering on a graph representing a network in order to efficiently extract nodes that are interconnected to a selected node.

[0012] Thus, a computer-implemented method is provided for extracting a subgraph of a graph, the subgraph starting from at least one selected node in a selected direction. The graph represents a network and includes a number of nodes and a number of directed edges. Each directed edge connects a start node and a terminal node, and each directed edge consists of an incoming edge connected to the terminal node and an outgoing edge connected to the start node. Each node represents an entity of the network. Each directed edge represents a relationship between two entities.

[0013] This method is The method includes recording each starting node in a first record of a first data structure stored using the storage device, and recording each terminal node in a second record of the first data structure.

[0014] Each record must have at least a combination of some first attributes in which an identifier of the node is stored; - a combination of some second attributes in which the identifiers of the input edges are stored; - some third attribute combination in which an identifier of the output edge is stored.

[0015] The method further includes storing in the first record an identifier of the starting node in the combination of the number of first attributes and a unique relationship identifier in the combination of the number of third attributes, the unique relationship identifier representing a step along a path in the network, in other words, the unique relationship identifier representing an interaction between two entities of the network.

[0016] The method further includes storing, in a second record, an identifier of the terminal node in the combination of the number of first attributes and a unique relationship identifier in the combination of the number of second attributes.

[0017] The values ​​of the combinations of some of the second attributes of the second record that match the values ​​of the combinations of some of the third attributes of the first record define a directed edge between the start node and the terminal node. The subgraph is extracted according to a traversal of the graph starting from at least one selected node in a selected direction according to a predetermined graph traversal protocol.

[0018] The method according to the invention has the advantage that the graph representing the network can be filtered without a priori knowledge of which nodes are adjacent to which nodes, i.e. without any a priori knowledge of the neighborhood of the nodes. The first data structure can be recorded with the nodes from different individual raw data sources according to a predefined rule for creating unique relationship identifiers that are assigned to the incoming or outgoing edges to which the nodes are connected. At the time of recording the first data structure, the directed edges of the graph are not yet defined. The directed edges and the graph with the directed edges themselves emerge only from the recorded first data structure, i.e. from finding identical unique relationship identifiers assigned to the second attribute of the second record and the third attribute of the first record. Based thereon, the emerged graph can be filtered using any graph traversal protocol. Furthermore, the subgraphs can be determined in real time, independent of the number of nodes.

[0019] Conventionally, the graph is first determined, i.e. its structure is known and fixed accordingly, after which the graph can be stored in a storage device and subsequently filtered. In contrast, according to the present invention, only data describing the entities in the network are recorded in the first data structure, without knowledge of the relationships in the network. A further technical advantage is that the predecessor-successor relationships of the nodes (i.e. between the nodes) do not need to be explicitly stored, thereby significantly reducing the amount of data. A graph representing the network is finally obtained from the first data structure.

[0020] Filtering the graph by extracting subgraphs of any size from the graph emerging from the first data structure allows for efficient analysis of network effects even in very large networks with thousands (or more) of interconnected entities, since the number of interactions (direct edges between two entities) can be significantly reduced.

[0021] Additionally, the filters may be used to analyze a graph representing the network by windowing techniques such as sliding windows, tumbling windows, etc. In doing so, average network performance measures can be determined and compared along different regions of the network.

[0022] The filtered graph can be adapted in a very flexible way by creating, updating or deleting records in the first data structure. Similarly, insights in the graph can be flexibly updated by using the method according to the invention to filter a graph that is constantly adapted due to (rapidly) changing raw data.

[0023] A given graph traversal protocol is one of a group of algorithms, a breadth-first search for records containing nodes that form a directed edge with at least one selected node along a selected direction; a depth-first search of records containing nodes that form a directed edge with at least one selected node along a selected direction; or -It consists of a combination of these.

[0024] Breadth-first search is a) identifying at least one record of at least one selected node based on a selected direction and marking one record of the at least one selected record as a current member of the subgraph; b) finding at least one record that includes a node that matches values ​​of combinations of some of the second attributes of the second record with values ​​of combinations of some of the third attributes of the first record to form a directed edge along the selected direction with the current member of the subgraph, and marking the at least one found record as a member of the subgraph; c) repeating step b) for all records found in step b), where as step b) is repeated, each found record is marked as the current record and all found records are marked as members of the subgraph until no further records are found; d) repeating steps b) and c) for all records of the at least one selected record; e) extracting from the first data structure those records that are marked as members of the subgraph and storing the subgraph using a storage device.

[0025] Depth-first search is a) identifying at least one record of at least one selected node based on a selected direction and marking one record of the at least one selected record as a current member of the subgraph; b) finding at least one record that includes a node that matches values ​​of combinations of some of the second attributes of the second record with values ​​of combinations of some of the third attributes of the first record to form a directed edge along the selected direction with the current member of the subgraph, and marking the at least one found record as a member of the subgraph; c) repeating step b) for one record found in step b), where with each iteration of step b), the one found record is marked as the current record and all found records are marked as members of the subgraph until no further records are found; d) repeating steps b) and c) for all records found in step b); e) repeating steps b), c), and d) for all records of the at least one selected record; f) extracting from the first data structure those records marked as members of the subgraph and storing the subgraph using a storage device.

[0026] The selected direction is one of an upstream direction of the network and a downstream direction of the network, and at least one record of the at least one selected node to which a unique relationship identifier is assigned to a combination of a number of second attributes is identified for the upstream direction of the network, and at least one record of the at least one selected node to which a unique relationship identifier is assigned to a combination of a number of third attributes is identified for the downstream direction of the network.

[0027] In one embodiment, the network is a process network, the process network including two or more process instances of different processes and interactions between process steps of the process instances of at least two different processes. Each node represents a process step of a process instance. The unique relationship identifier represents a signal between a start node forming part of the process instance of a first process and a terminal node forming part of the process instance of a second process, in particular an output of the start node provided to the terminal node. The data structure further includes a fourth attribute in which a sequence of process steps in the process instances is stored such that the data structure forms an extended process protocol.

[0028] Preferably, the fourth attribute stores an order value associated with the individual process step. A record of the at least one found record is marked as a member of the subgraph only if the order value assigned to the fourth attribute of the record is greater than the order value of the current member of the subgraph.

[0029] The order value may be, for example, a timestamp.

[0030] In one embodiment, the at least one node is both a terminal node connected to at least one incoming edge and a start node connected to at least one outgoing edge, and the method further comprises recording each node of the at least one node in at least one record, where in each record of the at least one record, an identifier of each node is assigned to a combination of a number of first attributes, a first unique relationship identifier of one incoming edge is assigned to a combination of a number of second attributes, and a second unique relationship identifier of one outgoing edge is assigned to a combination of a number of third attributes.

[0031] In one embodiment, the number of first attributes in some combinations of first attributes is one, and / or the number of second attributes in some combinations of second attributes is one, and / or the number of third attributes in some combinations of third attributes is one.

[0032] In one embodiment, the directed edge is recorded in a record of a second data structure stored in the storage device. The second data structure includes at least a first attribute in which the identifier of the start node connected to the formed directed edge is stored; a second attribute in which the identifiers of the terminal nodes connected to the formed directed edge are stored; a third attribute in which a unique relationship identifier of the formed directed edge is stored.

[0033] Preferably, each record of the first data structure includes a number of further attributes in which data characterizing respective incoming and / or outgoing edges are stored, at least one value of the number of further attributes is retrieved and assigned to the formed directed edge, and the at least one retrieved value is stored in the number of further attributes of the second data structure.

[0034] Based on further attributes, additional indicators on the directed edges can be accessed, in particular (process) performance indicators.

[0035] In one embodiment, the method further includes filtering the records of the second data structure by at least one type of directed edge between adjacent members of the subgraph.

[0036] In one embodiment, the nodes of the extracted subgraph are aggregated based on a lower hierarchical level and the formed directed edges are aggregated accordingly, resulting in an aggregated subgraph, and the records of the second data structure are filtered based on the aggregated subgraph.

[0037] Preferably, the filtered records of the second data structure are provided to a process mining system for calculating at least one process performance measure.

[0038] Preferably, the storage device is a volatile memory, in particular a main memory, of the computer system. [Brief description of the drawings]

[0039] Further details and features of the invention as well as specific embodiments of the invention can be derived from the following description in conjunction with the drawings. [Figure 1] FIG. 1 illustrates a visualization of directed edges of a graph representing a network, where the graph has been stored according to an embodiment of the invention. [Diagram 2] FIG. 2 shows a graph visualization representing a basic production network in which a product is produced from two parts. [Diagram 3] FIG. 3 shows a graph visualization that represents a production network in which one product is used to produce another product. [Figure 4] FIG. 4 shows a graph visualization representing a basic distribution network. [Diagram 5]FIG. 5 shows a graph visualization illustrating an example of a combined production and distribution network. [Figure 6] FIG. 6 is a flowchart of a method for storing a graph representing a network according to an embodiment of the present invention. [Figure 7] FIG. 7 shows a graph visualization of a process network. [Figure 8] FIG. 8 is a sequence diagram of a graph representing a process network, the graph being stored in accordance with an embodiment of the present invention. [Figure 9] FIG. 9 is a flow chart of an embodiment of a method for filtering a graph stored in a first data structure. [Figure 10] FIG. 10 is a flow chart of step B of the embodiment of the method of FIG. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0040] Networks are used throughout industry to efficiently organize and communicate information. To analyze the information contained in a network, a technical representation of the network is needed so that the network can be stored in a memory device and evaluated, for example, by performing calculations on the network, often repeatedly.

[0041] A graph usually serves as a technical representation of a network. Each edge of the graph connects or links a start node and a terminal node. A node is a technical representation of an entity of the network, and an edge is a technical representation of a relationship between two entities in the network.

[0042] At a technical level, a directed network can be represented by a directed graph, which contains multiple nodes and multiple directed edges, where a directed edge points to one of the two nodes it connects.

[0043] A directed edge between a start node and a terminal node can represent a relationship between the start node and the terminal node, which is characterized by a direction, such as a signal emitted from the start node and received by the terminal node. Thus, multiple linked directed edges of a (directed) graph can represent the path of a signal across the network, where the signal links one entity of the network to another.

[0044] FIG. 1 shows a visualization of directed edges of a graph representing a network, the graph being stored according to an embodiment of the present invention.

[0045] 1 connects the start node 10 to the terminal node 20, and the edges 15;25 are directed to point from the start node 10 to the terminal node 20. In the graph 1 representing a supply chain network, for example, the start node 10 can represent a combination of a raw material / part and a facility, and the terminal node 20 can represent a combination of an intermediate part / product and a facility. In the graph 1 representing a process network, for example, the start node 10 can represent a process step of a first process instance, and the terminal node 20 can represent a process step of a second process instance.

[0046] A directed edge 15;25 is composed of an outgoing edge 15 connected to a start node 10 and an incoming edge 15 connected to a terminal node 20. A unique relation identifier 30 is assigned to both the outgoing edge 15 and the incoming edge 25, respectively. A directed edge 15;25 is formed when the unique relation identifier of the outgoing edge 15 exactly matches the unique relation identifier of the incoming edge 25, as in the case of Fig. 1. In this way, the unique relation identifier serves as a connecting means for forming a pair between the start node 10 and the terminal node 20.

[0047] The unique relationship identifier 30 includes data that characterizes a relationship between two entities, in particular a signal that links two entities of a network. In a supply chain network, for example, the unique relationship identifier 30 may include a bill of material (BOM) identifier and an alternate bill of material (alternate BOM) identifier and a facility identifier. To map a planned delivery of a material onto the supply chain network, the unique relationship identifier 30 may include a receiving facility identifier and a material identifier. In one embodiment where the graph 1 represents a process network, the unique relationship identifier 30 may include an identifier associated with a business document, such as a serial number and / or a reference number for an order, invoice, return, etc.

[0048] The technical function of the unique relationship identifier 30 is to establish both intra-organizational and inter-organizational links / connections between entities in the network. Thus, in one embodiment where graph 1 represents a production network, the facility identifier is a key parameter of the unique relationship identifier 30, as it ensures that SKUs are correctly connected within one facility. In one embodiment where graph 1 represents a planned distribution network, the receiving facility identifier is a key parameter of the unique relationship identifier 30, as it ensures that SKUs in different facilities / plants are correctly connected, i.e., according to the underlying bill of delivery (BOD). In one embodiment where graph 1 represents a manufacturing process network, the serial number is a key parameter of the unique relationship identifier 30, as it ensures that the flow of materials and / or parts in the manufacturing process is correctly established, for example, between process steps of different process instances throughout the manufacturing process. Similarly, in one embodiment where graph 1 represents a business process network, identifiers typically associated with business documents are key parameters for the unique relationship identifier 30. In one embodiment, graph 1 can represent any combination of supply chain networks, distribution networks, and process networks.

[0049] According to the present invention, the directed edges 15; 25 shown in Figure 1 emerge from recording the start node 10 and the end node 20 together with the corresponding unique relationship identifier 30 in a data structure, which will later also be referred to as the first data structure.

[0050] In one embodiment, the data structure is a (relational) data table, where the start node 10 and the end node 20 are recorded in two rows of the data table. The data table is hereafter referred to as the signal link table. The minimum data set required to store the start node 10 and the end node 20 of Figure 1 in the signal link table is shown in Table 1.

[0051] TIFF2025506309000002.tif21143

[0052] Each record of the data structure in Table 1 includes at least a combination of some first attributes in which an identifier of a node is stored, a combination of some second attributes in which an identifier of an input edge is stored, and a combination of some third attributes in which an identifier of an output edge is stored. In Table 1, the number of first attributes is one, i.e., there is one first attribute labeled "node". Similarly, the number of second attributes and the number of third attributes are one. In this minimal example, nodes are identified by "A" and "B". In other examples, several first attributes that qualify to identify a node in a graph may need to be combined to uniquely reference a node in a graph.

[0053] The second attribute in Table 1 is labeled "Signal_In." The second attribute records the unique relationship identifier of the incoming edge 25 that is connected to the terminal node 20 of the same record. An incoming edge connected to a node is a directed edge whose destination is that node. In the example of FIG. 1, the terminal node 20 is the destination of the incoming edge 25 with the unique relationship identifier "XYZ."

[0054] The third attribute in Table 1 is labeled "Signal_Out." The third attribute stores the unique relationship identifier of the outgoing edge 15 that is connected to the starting node 10 of the same record. An outgoing edge connected to a node is a directed edge that originates at the connected node. In the example of FIG. 1, the origin of the outgoing edge 15 with the unique relationship identifier "XYZ" is the starting node 10.

[0055] Thus, since the value of the "Signal_In" attribute of the second row in the signal link table matches the value of the "Signal_Out" attribute of the first row in the signal link table, a directed edge 15;25 is formed by the outgoing edge 15 connected to the start node 10 and the incoming edge 25 connected to the terminal node 20. In this way, a graph stored in a data structure can be established and prepared / presented for analysis.

[0056] The composite unique relationship identifier 30 based on multiple second and / or third attributes allows the generation of different graphs from the same data structure, where the graphs differ in particular in the directed edges between two nodes, i.e., insight into various relationships between two entities in the network can be efficiently gained.

[0057] In one embodiment, the directed edges 15;25 shown in Figure 1 may represent relationships in a process network. Table 2 shows an example of a data structure required to store the start nodes 10 and end nodes 20 in which the directed edges 15;25 appear, which represent relationships in a process network.

[0058] TIFF2025506309000003.tif21152

[0059] In this example, the number of first attributes is 2. The combination of first attributes is made from a "Case ID" attribute, in which the process instance is stored, and an "Activity" attribute, in which the process step associated with the process instance is stored. Thus, the start node 10 is identified by "1A" and the end node 20 is identified by "2B".

[0060] In the example of Table 2, each node 15; 25 represents a process step of two different interconnected process instances. The second and third attributes of the data structure shown in Table 2 correspond to the second and third attributes of the data structure presented in Table 1. Table 2 further includes a fourth attribute in which the sequence of process steps within a process instance is stored, represented by the attribute "timestamp" in Table 1.

[0061] A process protocol is known that includes the attributes "Case ID", "Activity" and "Timestamp". According to an embodiment of the invention, the process protocol is extended by a second attribute "Signal_In" and a third attribute "Signal_Out", which provide information about which process steps are connected to another process step such that a process graph emerges from the process protocol.

[0062] Figure 2 shows a graph visualization representing a basic production network in which a product is produced from two parts.

[0063] In the following, the emergence of Graph 1 shown in FIG. 2 from a data structure according to an embodiment of the invention is derived from a raw data table containing information about SKUs, i.e. facility and material combinations of the supply chain network.

[0064] In this example, the data structure in which Graph 1 of FIG. 2 will be stored is populated with records created from two raw data tables (Tables 3 and 4, both presented below).

[0065] TIFF2025506309000004.tif16142

[0066] TIFF2025506309000005.tif27170

[0067] Table 3 links the bill of materials (BOM) to the SKUs. To accomplish this, Table 3 lists finished or semi-finished products with their BOM identifiers and their alternate BOM identifiers. The SKUs in Table 3 are thus technically represented by end nodes 20.

[0068] Table 4 contains information about individual BOMs and their parts. That is, Table 4 links the BOM (and associated alternate BOMs) to the SKUs for which the product is manufactured. Thus, the SKUs in Table 4 are technically represented by start node 10. Note that the counter attribute in Table 4 is introduced to create a primary key.

[0069] In an embodiment of the present invention, the unique relationship identifier 30 is created according to a predefined rule, for example a combination, in particular a concatenation, of the facility identifier, the BOM identifier and the alternative BOM identifier for each node 10;20 of Tables 3 and 4. The nodes of Tables 3 and 4 are recorded in a data structure, and the respective node identifiers are recorded in a first attribute of the data structure. For each node, the created unique relationship identifier 30 associated with the respective node is recorded in a third attribute or a second attribute depending on whether the respective node is a start node 10 or a terminal node 20. The resulting signal link table is presented below in Table 5.

[0070] TIFF2025506309000006.tif25146

[0071] The node identifier is a combination of the material identifier and the facility identifier. The resulting attribute is labeled "Case Key." In the "Case Key" attribute, the material identifier, e.g., "P_123," is combined with the facility identifier, e.g., "100."

[0072] The unique relationship identifiers 30 of the input edges 25 and output edges 15 connected to the nodes 10; 20 of the graph in FIG. 2 include the facility identifier (underlined in Table 5), the BOM identifier, and the alternative BOM identifier (double underlined in Table 5) from Table 3 and from Table 4, respectively.

[0073] Graph 1 visualized in FIG. 2 may be the output of a graph visualization device provided with a data structure according to Table 5 to display a graph representing a production network.

[0074] The basic example of Fig. 2 illustrates the technical advantage of the method of storing a graph 1 according to the invention over conventional approaches. While the raw data tables, i.e. Tables 3 and 4, essentially contain data about the entities of the network, conventional approaches require further information (e.g. structural and / or schema information) about how the entities are connected in the network in order to first create and then store a graph representing the network. In particular, connections are conventionally established by joining related tables in a database. In the example of Fig. 2, there are only two raw data tables, but in reality there may be hundreds, if not thousands, of data tables representing the entities of the network. Thus, using the method according to the invention for storing a graph has the technical advantage that complex join operations are not required. The nodes 10;20 of the graph 1 can be stored independently, i.e. without knowledge of their neighbourhood, in a data structure that maps exactly to the underlying graph structure. In particular, every terminal node 20 is recorded together with the incoming edges 25 to which it is connected and every starting node 10 is recorded together with the outgoing edges 15 to which it is connected. As a result, the graph 1 can be easily retrieved from the data structure when needed for visualization and / or analysis, without the need for complex operations such as joining tables in a database.

[0075] The basic example of Fig. 2 also illustrates the efficiency of storage of graph 1 according to the invention. The graph of Fig. 2 contains only two directed edges 15;25. However, both directed edges contain an input edge 25 to node "P_123-100", which is therefore duplicated. However, the method according to the invention automatically removes redundant data, such as duplicated records of combinations of nodes 10;20 and input edges 25 or output edges 15. Thus, the three records in Table 5 correspond exactly to the three combinations of nodes 10;20 and output / input edges 15;25 shown in Fig. 2.

[0076] Figure 3 shows a graph visualization representing a production network in which one product is used to produce another product.

[0077] Graph 1 shown in Figure 3 can be considered as an extension of the example in Figure 2. Product "P_123" produced from two parts "C_123" and "C_456" is further used to produce product "P_456". Therefore, product "P_123" is connected to both one incoming edge 25 and one outgoing edge 15. An example of a data structure in which Graph 1 shown in Figure 3 appears is given in Table 6.

[0078] TIFF2025506309000007.tif54143

[0079] Table 6 contains five records, i.e. exactly one record for every combination of nodes 10;20 with incoming edges 25 or outgoing edges 15. Thus, there is one record for node "P_123-100" as an end node with a first unique relationship identifier stored in a second attribute, and one record for node "P_123-100" as a start node with a second unique relationship identifier stored in a third attribute. In this example, the first and second unique relationship identifiers are simply represented by the identifiers (IDs) of which they are composed.

[0080] Using the method according to the invention, a BOM defining a production network that can be represented by Graph 1 can be stored in a dedicated data structure. The data structure can completely map Graph 1 onto a storage device in a computationally efficient and robust manner (e.g., by avoiding complex join operations) and can connect nodes to other nodes, thereby connecting SKUs of the production network to other SKUs, both of which can act as inputs or outputs of production.

[0081] Figure 4 shows a graph visualization representing a basic distribution network.

[0082] Graph 1 shown in Figure 4 is very similar to graph 1 shown in Figure 2, except that graph 1 in Figure 4 represents a distribution network and graph 1 in Figure 2 represents a production network. To establish connections in the distribution network, a unique relationship identifier 30 is created from a combination, particularly a concatenation, of the receiving facility identifier and the material identifier.

[0083] Graph 1 shown in Figure 4 is an example of outsourcing product "P_456" of facility "200", i.e., supplied by facility "100" and facility "200". Thus, node "P_456-200" is connected to node "P_456-100" and node "P_456-400" via two directed edges. The data structure that can reconstruct Graph 1 is listed in Table 7.

[0084] TIFF2025506309000008.tif25143

[0085] FIG. 5 shows a graph visualization representing an example of a combined production and distribution network.

[0086] Graph 1 in Fig. 5 extends Table 6 with Table 7, and vice versa. This example demonstrates in particular that extending / adapting a graph stored using a storage device according to an embodiment of the invention is computationally very efficient. In traditional approaches to storing graphs, the schema for creating the graph from the raw data needs to be adapted to compute the neighborhood of each node, which involves joining multiple raw data tables.

[0087] According to an embodiment of the present invention, the graph of FIG. 5 can be stored in Table 8, presented below.

[0088] TIFF2025506309000009.tif79156

[0089] Graph 1 emerging from Table 8 represents a combined production and inter-organizational distribution network. The context of the (sub)network represented by Graph 1 stored according to an embodiment of the invention can be easily switched by switching predefined rules for constructing / creating unique relationship identifiers 30 assigned to incoming edges 25 and / or outgoing edges 15. Thus, the BOM connection logic can be easily merged with the BOD connection logic.

[0090] Graph 1 as shown in FIG. 5 provides recursive connectivity of SKUs across the supply chain network, which allows an organization to identify the impact in the network caused by an issue occurring in any SKU in the supply chain network. For example, if a purchase order is being executed late at facility "100" for component "C_123", this will impact facility "100"'s ability to produce product "P_123". Thus, this purchase order, which is then executed late, may disrupt the supply of product "P_123" from facility "100" to facility "200".

[0091] Depending on the data sources available within an organization, this exact same approach to storing graph 1 according to the present invention can be used to include many more nodes in the graph, such as nodes representing supply data from a supplier ERP system, or customer demand from a customer ERP system.

[0092] FIG. 6 shows a flowchart of a method for storing a graph representing a network according to an embodiment of the present invention.

[0093] According to an embodiment of the invention, a method for storing a graph in a storage device follows steps A to D, with an optional step E, as outlined below.

[0094] In step A, a data structure is initialized that includes a first attribute, a second attribute, and a third attribute.

[0095] In step B, a node identifier is created for each node in the graph.

[0096] In step C, for each node in the graph, create a unique relationship identifier 30 for the incoming edges 25 and / or outgoing edges 15 to which the node is connected.

[0097] In step D, the node identifier is recorded in a first attribute of the data structure and the individual unique relationship identifier 30 is recorded in a second attribute or a third attribute.

[0098] Optionally, in step E, the data structure is provided to a graph visualization device for displaying the network represented by the graph.

[0099] FIG. 7 shows a visualization of a graph representing a process network.

[0100] As explained with respect to FIG. 1, in one embodiment of the present invention, the graph 1 emerging from the data structure can represent a process network. A single process instance consists of a linear sequence of activities or process steps, but process steps of different process instances can be connected by signals to form a process network. A signal marks a direct transmission from one process instance or case to another. A signal can represent, for example, a commodity produced by one process and consumed by another, or a telephone call that arises as a new process. In general, a signal is an output from an instance of a first process that becomes an input to an instance of a second process. In a process network, a signal can be born by one or more activities and consumed by one or more activities. Technically, a signal is represented by a unique relationship identifier 30.

[0101] To account for a linear sequence of activities in a process instance, the data structure according to an embodiment of the invention is extended with a fourth attribute, which stores the sequence of process steps within the process instance.

[0102] An example of the data structure in which Graph 1 visualized in FIG. 7 appears is set out in Table 9 below.

[0103] TIFF2025506309000010.tif38152

[0104] The data structure in Table 9 is similar to the extended process protocol. The classical process protocol, including the “Case ID”, “Activity”, and “Timestamp” attributes, is extended by “Signal_In” and “Signal_Out” attributes to record the outgoing edges 15 and incoming edges 25 to represent the interactions between process instances of different processes in the process network.

[0105] In this example, three process instances or cases are shown, each resulting from the execution of a different process. In case "Case 1" with ID "1", screws are produced which are further used to produce chairs in "Case 2" and sold directly to customers in "Case 3". Based on the data in Table 9, a process graph 1 visualized in Figure 7 can be generated and calculations can be performed on the directed edges 15;25 of the process graph 1.

[0106] According to an embodiment of the present invention, signals can also connect cases across multiple extended process protocols. Signals are identified by a unique relationship identifier 30, regardless of the extended process protocol.

[0107] The graph 1 shown in FIG. 7 contains two types of links between activities. A first type of activity is related only to the case or process instance of which it forms a part. A second type of activity, connected by a direct edge 15;25 represented by a double-line error, is connected by a signal with a unique relationship identifier "10" between two different cases. These records belonging to the first type of activity are stored in the signal link table shown in table 9 without assigning any unique relationship identifier to the second and third attributes. Records belonging to the second type of activity store either the start node 10 or the end node 20. The unique relationship identifier 30 is therefore recorded in the third or second attribute of the corresponding record in the signal link table. In this example, the value "10" of the unique relationship identifier 30 is given by the serial number of the screw.

[0108] The records of the signal link table may contain several further attributes in which data characterizing the individual incoming edges (25) and / or outgoing edges (15) are stored. The further attributes can be accessed during subsequent extraction and / or analysis steps so that any (directed) edge KPIs can be defined and evaluated.

[0109] In Fig. 7, the order values ​​(timestamps) stored in the fourth attribute of the data structure shown in Table 9 are visualized on the horizontal axis. Activities of the same process instance or case are therefore aligned on the horizontal axis such that they are executed in a linear sequence. Interactions between process instances of different processes, formed by the matching of unique relationship identifiers 30 assigned to the outgoing edges 15 of the start nodes 10 with the incoming edges 25 of the end nodes 20, are visualized by double-lined arrows.

[0110] Similar to the case in Figure 5, Graph 1 in Figure 7 allows an organization to identify the impact in the network caused by a problem occurring in any activity in the process network. For example, if a screw is registered late in the warehouse in activity "B" in "Case 1", this will affect the ability to produce a chair in "Case 2" and deliver the screw to the customer in a timely manner in "Case 3".

[0111] In order to fully exploit the information contained in the signal link table and the graph 1 presented in FIG. 7 emerging from table 9, the process network, and in particular the interactions between the activities in the process network, are analyzed. Thus, the signals are converted into a format that can be processed by a process mining operator. The format can be, for example, a table of a relational database.

[0112] The conversion of a signal link table, for example Table 9, into a format that allows the analysis of signals, i.e. directed edges between two nodes in a process graph, can be realized using the operators "LINK_SOURCE" and "LINK_TARGET". The first operator "LINK_SOURCE" pulls the values ​​of some combinations of first attributes, some combinations of second attributes and some combinations of fourth attributes of the records containing the source activities, i.e. start nodes 10, into a second data structure. Similarly, the second operator "LINK_TARGET" pulls some combinations of first attributes, some combinations of third attributes and some combinations of fourth attributes of the records containing the target activities, i.e. terminal nodes 20, into the second data structure. In the second data structure, the values ​​obtained from the first and second operators are merged on a unique relationship identifier 30, which means that if they belong to the same signal, they are pulled into the same record. If a signal is established between multiple terminal nodes and the start node, a cross product of the records is created in the second data structure.

[0113] Furthermore, the "LINK_SOURCE" and "LINK_TARGET" operators can access any attribute of the record containing the start node 10 and / or the end node 20. In particular, they can access further attributes of the record in which data characterizing the respective incoming edges 25 and / or outgoing edges 15 are stored. The operators can retrieve any value stored in the further attribute and assign it to the formed directed edge (15;25). The retrieved values ​​are stored in some further attributes of the second data structure, respectively.

[0114] For the example of Table 9, the resulting second data structure (hereafter referred to as the edge table) is set forth in Table 10.

[0115] TIFF2025506309000011.tif34170

[0116] The edge table can be used by all kinds of process mining operators to gain insight into the interactions between the activities of different processes in a process network (e.g., to calculate their throughput times).

[0117] In the edge table, a first attribute stores the node identifier of the start node 10. A second attribute stores the node identifier of the corresponding end node 20. A third attribute (not shown in Table 10) stores a unique relation identifier 30 of the formed directed edge 15; 25. Further attributes in Table 10 store the timestamps of the start node 10 and the end node 20, respectively. Further attributes may store process performance metrics such as the time difference between the timestamp attributed to the end node 20 and the timestamp attributed to the start node 10.

[0118] The edge table may be appropriately calculated for a signal link table (Table 8) that stores Graph 1 shown in FIG. 5, where Graph 1 represents a supply chain network. In this example, the "LINK_SOURCE" operator pulls records containing start nodes "P_456-100", "P_456-400", "P_123-100", "C_123-100", and "C_456-100" into a first attribute of the second data structure. The "LINK_TARGET" operator pulls records containing "P_456-200", "P_456-100", and "P_123-100" into a second attribute of the second data structure. The resulting values ​​are merged on a unique relationship identifier 30 that may be stored in a third attribute of the second data structure.

[0119] FIG. 8 illustrates a sequence diagram of a graph representing a process network, the graph being stored in accordance with an embodiment of the present invention.

[0120] To efficiently identify problems in a process, drill-down capabilities are required, i.e. the ability to examine specific smaller areas of the process network. Drill-down capabilities are made possible by filters that restrict the result set, such as a subgraph from a process graph or a graph representing a supply chain network, according to given conditions. These filters ultimately also limit the number of records in the edge table, which allows for more efficient calculation of specific features (process performance measures) for the resulting signal records.

[0121] To filter the edge table for subsequent process mining, traditional filter techniques are not sufficient because they fail to capture the underlying graph structure of the records in the edge table and the records of the signal link table from which the edge table is generated.

[0122] Therefore, in one embodiment, certain filter operators are provided, in particular the "LINK_FILTER" and "LINK_FILTER_ORDERED" operators. The filter operators restrict the records of the first data structure (signal link table) and / or the second data structure (edge ​​table) that contain signals that are ancestors or descendants of a user-defined set of nodes. The set of nodes can be a set of SKUs (supply chain network), a set of activities (process network), or any set of entities (generic network). The direction in which the filter operators are applied can be determined via user-defined input parameters.

[0123] The filter operator can generate a subgraph from records stored in a first data structure by traversing a graph emerging from the first data structure. Below, an example is provided to demonstrate the functionality of the filter operator.

[0124] TIFF2025506309000012.tif42143

[0125] Table 11 provides a signal link table containing data ("Case ID") of four different process instances, each having a set of process steps ("Activities") executed in a given sequence ("Timestamp"). Some of the process steps / activities are interconnected by signals S1, S2, or S3, as belonging to a second attribute ("Signal_In") and a third attribute ("Signal_Out"). The activities having values ​​assigned to the second attribute, activities "B", "F", and "G", are represented by terminal nodes 20. The activities having values ​​assigned to the third attribute, activities "A", "D", and "E", are represented by start nodes 10.

[0126] In the sequence diagram of Figure 8, each process instance is represented by a vertical line with related activities ordered according to their timestamps. Activities represented as start nodes 10 and corresponding activities represented as end nodes 20 are connected via interactions defined by matching pairs of outgoing edges 15 and incoming edges 25, respectively.

[0127] From the signal link table of Table 11, the edge table shown in Table 12 can be calculated as outlined above. In this example, the identifiers of the start / end nodes are given by the combination of "Case ID" and "Activity", e.g. "1A" / "2B" or "2D" / "3F", which are recorded accordingly in the first or second attribute of the corresponding record of the second data structure. The unique relationship identifiers 30 of the formed directed edges 15;25 are recorded in a third attribute of the second data structure, which in the example of Table 12 is the "Signal" attribute.

[0128] TIFF2025506309000013.tif31170

[0129] In this example, the user-defined initial node 40 is node "A" in FIG. 8, enclosed by double lines, and is marked as a current member of the subgraph. As an example, the user-defined direction of the filter operator is the descendant direction, i.e., downstream direction of the network. Node "A" is the start node 10 connected to an output edge 15 having a unique relationship identifier "S1". An input edge 25 matching the unique relationship identifier "S1" is connected to the terminal node "B" of case "2". Node "B" is therefore marked as a current member of the subgraph. Connected to node "B" as part of the same process instance, case "2", are nodes "C" and "D", of which node "D" is connected to an output edge 15 having a unique relationship identifier "S2". Nodes "C" and "D" are therefore marked as members of the subgraph, and node "D" is marked as a current member of the subgraph. An input edge 25 matching the unique relationship identifier "S2" is connected to node "F" of case "3". Therefore, node "F" is also marked as a current member of the subgraph. Also connected to node "F" as part of the same process instance is node "E". Without considering the "Timestamp" attribute, as is done by the "LINK_FILTER" operator, node "E" is inserted into the subgraph and marked as a current member since it is connected to an outgoing edge 15 with unique relationship identifier "S3". An incoming edge 25 matching unique relationship identifier "S3" is connected to node "G" in case "4". Using the "LINK_FILTER" operator, the resulting subgraph of FIG. 8 starting from node "A" in the network downstream direction contains all the nodes shown in the sequence diagram of FIG. 8. Thus, applying the "LINK_FILTER" operator to the first data structure shown in Table 11 selects all three signals "S1", "S2" and "S3" from the edge table shown in Table 12.

[0130] A second operator "LINK_FILTER_ORDERED" applied to the same signal link table with identical initial conditions gives a different result, since it also takes into account a fourth attribute of the signal link table, namely the "timestamp" attribute. Thus, node "E" is rejected by the "LINK_FILTER_ORDERED" operator inserted into the subgraph, since its associated timestamp is less than the timestamp of the corresponding current member of the subgraph, which is node "F". The subgraph resulting from the "LINK_FILTER_ORDERED" operator from the first data structure shown in Table 11 therefore contains all the nodes shown in the sequence diagram of Figure 8, except for node "E" and node "G". As a result, signal "S3", represented by a directed edge between node "E" and node "G", also does not form part of the subgraph. The edge table 12 filtered by the subgraph resulting from the "LINK_FILTER_ORDERED" operator therefore contains only the records of signals "S1" and "S2".

[0131] The search of the subgraph is performed according to a traversal of the graph 1 generated from the first data structure by starting from at least one selected node in a selected direction according to a predefined graph traversal protocol, which may be a breadth-first search of the records, a depth-first search of the records, or a combination thereof, such as iteratively deepening a depth-first search of the records.

[0132] Filter operators can be similarly applied to graphs representing supply chain networks. For example, the graph shown in FIG. 5, generated from the signal link table of Table 8, can be filtered using the "LINK_FILTER" operator to find all suppliers of product "P_456" at facility "100", represented by node "P_456-100". In this example, the direction selected is the upstream direction of the network, and the initial node selected is node "P_456-100". The resulting subgraph discovered by "LINK_FILTER" includes nodes "P_456-100", "P_123-100", "P_123-100", and "C_456-100".

[0133] Furthermore, the nodes 40;10;20 of the extracted subgraphs can be aggregated based on the subhierarchical level, and the formed directed edges 15;25 are aggregated accordingly, resulting in an aggregated subgraph.

[0134] For instance, in the example discussed above, a lower hierarchical level could be the combination of machine / facility and material on which the process step was performed. To analyze the transfer times between process steps of different process instances, the extracted sub-graph can be mapped to a graph whose nodes represent the lower hierarchical levels, e.g. facility and material combinations. As a result, further process performance indicators, such as the average time between process instances, become accessible.

[0135] FIG. 9 shows a flow chart of a method for filtering a first data structure in which a graph representing a network appears.

[0136] The embodiment represented by the flowchart of FIG. 9 is applicable to data recorded in a first data structure, which data may represent entities of any type of network, in particular a supply chain network or process steps within a process network.

[0137] In step A, at least one initial node 40 of the first data structure and the direction in which the filter is to be applied are selected.

[0138] In step B, in the first data structure, a predefined graph traversal protocol is used to find a subgraph that includes all nodes 10;20 connected to at least one initial node 40 in the selected direction.

[0139] In step C, the subgraph resulting from step B is extracted, and the second data structure is filtered based on the directed edges of the extracted subgraph.

[0140] In an optional step D, the filtered second data structure containing the interactions between different entities in the network is provided to a process mining system to analyze network effects, such as process performance indicators in the case of a process network.

[0141] FIG. 10 illustrates an embodiment of a drill-down function for step B of the embodiment shown in FIG.

[0142] According to a predefined graph traversal protocol, a link between two nodes is established by matching the value of the second attribute of the second record of the first data structure with the value of the third attribute of the first record of the first data structure. If a match is found for each of at least one record that contains a node that forms a directed edge along the selected direction with the current member of the subgraph, the record can be directly marked as a member of the subgraph in case of the "LINK_FILTER" operator. This option is shown in Figure 10 by a dashed line.

[0143] However, in the case of the "LINK_FILTER_ORDERED" operator, a test must be passed before marking a record as a member of the subgraph: It is tested whether the order value of the fourth attribute of the found record is greater than the order value of the fourth attribute of the current member of the subgraph. For a positive test result, the record is marked as a member of the subgraph. In case of a negative test result, the record is skipped. If no further records can be found, the subgraph is complete and can be extracted in the subsequent step C.

[0144] In summary, the main advantages of the present invention are provided by a predetermined procedure of recording a first data structure with data describing an interacting network, such as a supply chain network or a process network, whose interactions are recorded in the data structure without any prior knowledge of the structure of the network being required. From the data structure, a graph representing the network can be generated and subsequently analyzed using, inter alia, drill-down and / or aggregation capabilities to access insights into network effects in detail.

Claims

1. A computer-implemented method for extracting a subgraph of a graph (1), the subgraph starting from at least one selected node (40) in a selected direction, The graph (1) represents a network and includes a number of nodes (10; 20) and a number of directed edges (15; 25); Each directed edge (15;25) connects a start node (10) and a terminal node (20), and each directed edge (15;25) is composed of an input edge (25) connected to the terminal node (20) and an output edge (15) connected to the start node (10); Each node (10; 20) represents an entity of said network, Each directed edge (15; 25) represents a relationship between two entities, said method comprising: recording each start node (10) in a first record of a first data structure stored using a storage device, and recording each end node (20) in a second record of the first data structure, Each record must have at least a combination of some first attributes according to which an identifier of the node is stored; some second attribute combination according to which an identifier of the input edge is stored; and and a combination of some third attribute in which an identifier of the output edge is stored. storing in said first record said identifier of said starting node (10) in said combination of said number of first attributes and a unique relationship identifier (30) in said combination of said number of third attributes, said unique relationship identifier (30) representing a step along a path in said network; storing in said second record said identifier of said terminal node (20) in said combination of said number of first attributes and said unique relationship identifier (30) in said combination of said number of second attributes; a value of the combination of the number of second attributes of the second record that matches a value of the combination of the number of third attributes of the first record defines the directed edge (15;25) between the start node (10) and the end node (20); The subgraph is extracted according to a traversal of the graph (1) starting from the at least one selected node (40) in the selected direction according to a predefined graph traversal protocol.

2. The predetermined graph traversal protocol is one of a group of algorithms, the group comprising: a breadth-first search for records containing nodes (10; 20) forming a directed edge (15; 25) with said at least one selected node (40) along said selected direction; a depth-first search of records containing nodes (10; 20) that form a directed edge (15; 25) with said at least one selected node (40) along said selected direction, or - combinations thereof.

3. The breadth-first search includes: a) identifying the at least one record of the at least one selected node (40) based on the selected direction and marking one record of the at least one selected record as a current member of the subgraph; b) finding at least one record containing the node (10; 20) that forms the directed edge (15; 25) along the selected direction with the current member of the subgraph by matching the values ​​of the combination of the several second attributes of the second record with the values ​​of the combination of the several third attributes of the first record, and marking the at least one found record as a member of the subgraph; c) repeating step b) for all records found in step b), where with each repetition of step b) each found record is marked as the current record until no further records are found and all found records are marked as members of said subgraph; d) repeating steps b) and c) for all records of said at least one selected record; e) extracting the records marked as members of the subgraph from the first data structure and storing the subgraph with the storage device.

4. The depth-first search includes: a) identifying the at least one record of the at least one selected node (40) based on the selected direction and marking one record of the at least one selected record as a current member of the subgraph; b) finding at least one record containing the node (10; 20) that forms the directed edge (15; 25) along the selected direction with the current member of the subgraph by matching the values ​​of the combination of the second attributes of the second records with the values ​​of the combination of the third attributes of the first records, and marking the at least one found record as a member of the subgraph; c) repeating step b) for one record found in step b), where with each iteration of step b) the one record found is marked as the current record and all found records are marked as members of the subgraph until no further records are found; d) repeating steps b) and c) for all records found in step b); e) repeating steps b), c), and d) for all records of said at least one selected record; f) extracting the records marked as members of the subgraph from the first data structure and storing the subgraph with the storage device.

5. the selected direction is one of an upstream network direction and a downstream network direction; - said at least one record of said at least one selected node (40) for which said unique relation identifier (30) is assigned to said combination of said number of second attributes is identified in the upstream direction of said network; The method according to any one of claims 1 to 4, wherein the at least one record of the at least one selected node (40) to which the unique relation identifier (30) is assigned to the combination of the number of third attributes is identified for a downstream direction of the network.

6. 6. The method according to claim 1, wherein the network is a process network, the process network comprising two or more process instances of different processes and interactions between process steps of the process instances of at least two different processes, each node (10; 20) representing a process step of a process instance, the unique relationship identifier (30) representing a signal between the start node (10) forming part of a process instance of a first process and the end node (20) forming part of a process instance of a second process, in particular an output of the start node (10) provided to the end node (20), and the first data structure further comprises a fourth attribute in which a sequence of process steps within a process instance is stored such that the data structure forms an extended process protocol.

7. 7. The method of claim 6, wherein the fourth attribute stores an order value, and a record of the at least one found record is marked as a member of the subgraph only if the order value assigned to the fourth attribute of the record is greater than the order value of the current member of the subgraph.

8. The method of claim 7 , wherein the sequence values ​​are timestamps associated with individual process steps.

9. at least one node (15; 25) is both said terminal node (20) connected to at least one input edge (25) and said starting node (10) connected to at least one output edge (15), said method further comprising recording each node (10; 20) of said at least one node in at least one record, 9. The method according to any one of claims 1 to 8, wherein in each record of the at least one record, the identifier of each node (10; 20) is assigned to the combination of the number of first attributes, a first unique relation identifier of one incoming edge (25) is assigned to the combination of the number of second attributes and a second unique relation identifier of one outgoing edge (15) is assigned to the combination of the number of third attributes.

10. The formed directed edge (15;25) is recorded in a record of a second data structure stored in the storage device, the second data structure comprising at least a first attribute in which an identifier of the starting node (10) connected to the formed directed edge (15;25) is stored; a second attribute in which the identifier of the terminal node (20) connected to the formed directed edge (15;25) is stored; A third attribute in which a unique relation identifier (30) of the formed directed edge (15; 25) is stored.

11. 11. The method according to claim 1, wherein each record of the first data structure comprises several further attributes in which data characterizing an individual one of the incoming edges (25) and / or the outgoing edges (15) are stored, and wherein at least one value of the several further attributes is retrieved and assigned to the formed directed edge (15; 25), and wherein the at least one retrieved value is stored in several further attributes of the second data structure.

12. The method according to claim 10 or 11, further comprising filtering the records of the second data structure according to the at least one directed edge (15; 25) formed between adjacent members of the subgraph.

13. 13. The method of claim 12, wherein the nodes (40; 10; 20) of the extracted subgraph are aggregated based on a subhierarchical level and the formed directed edges (15; 25) are aggregated accordingly, resulting in an aggregated subgraph, and the records of the second data structure are filtered based on the aggregated subgraph.

14. 14. The method of claim 12 or 13, wherein the filtered records of the second data structure are provided to a process mining system for computing at least one process performance measure.

15. 2. The method according to claim 1, wherein the storage device is a volatile memory, in particular a main memory, of a computer system.

Citation Information

Patent Citations

  • Method and system for identifying target value path

    JP2010020771A

  • Apparatus, method and program for visualizing graph

    JP2011164830A