DETAILED ACTION
Status of the Application
Claims 1-14 have been examined in this application. This communication is the first action on the merits. The Information Disclosure Statement (IDS) filed on April 29, 2025 has been acknowledged.
The present application, filed on or after March 16, 2013, is being examined under the first inventor to file provisions of the AIA . In the event the determination of the status of the application as subject to AIA 35 U.S.C. 102 and 103 (or as subject to pre-AIA 35 U.S.C. 102 and 103) is incorrect, any correction of the statutory basis for the rejection will not be considered a new ground of rejection if the prior art relied upon, and the rationale supporting the rejection, would be the same under either status.
Claim Rejections - 35 USC § 112
The following is a quotation of 35 U.S.C. 112(b):
(b) CONCLUSION.—The specification shall conclude with one or more claims particularly pointing out and distinctly claiming the subject matter which the inventor or a joint inventor regards as the invention.
The following is a quotation of 35 U.S.C. 112 (pre-AIA ), second paragraph:
The specification shall conclude with one or more claims particularly pointing out and distinctly claiming the subject matter which the applicant regards as his invention.
Claims 1-14 are rejected under 35 U.S.C. 112(b) or 35 U.S.C. 112 (pre-AIA ), second paragraph, as being indefinite for failing to particularly point out and distinctly claim the subject matter which the inventor or a joint inventor (or for applications subject to pre-AIA 35 U.S.C. 112, the applicant), regards as the invention.
Claim 1 recite the limitation “the basis of corresponding event types.” There is insufficient antecedent basis for “the basis” in this limitation.
Claims 2-14 depend on claim 1 and fail to cure the aforementioned deficiencies, and thus, these claims are rejected for the reasons set forth above.
Claim Rejections - 35 USC § 101
35 U.S.C. 101 reads as follows:
Whoever invents or discovers any new and useful process, machine, manufacture, or composition of matter, or any new and useful improvement thereof, may obtain a patent therefor, subject to the conditions and requirements of this title.
Claims 1-14 are rejected under 35 U.S.C. 101 because the claimed invention is directed to an abstract idea without significantly more. The claims (claim 1, and similarly claims 2-14) recite:
A … method for determining an optimized process graph representing process data, wherein the process data is recorded during execution of processes, wherein each process is executed by executing a number of process steps, wherein a number of entity instances participate in executing the number of process steps, wherein each entity instance is assigned to exactly one entity type and each process step is assigned to exactly one event type, the method comprising:
- providing a subset of entity types from the recorded process data,
- determining at least one event type related to entity instances of the subset of entity types,
- determining at least two subsets of entity instances and their respective frequency from the subset of entity types on the basis of corresponding event types,
- storing unions of the determined subsets of entity instances in a data structure in a storage device in a predefined order,
- providing, by way of a range selection input, a number of weighting parameters for a utility function, wherein each weighting parameter is selected from a predefined range and defines the utility function,
- determining a specific union of the stored unions of subsets of entity instances, wherein the specific union maximizes the utility function, and
- generating the optimized process graph by generating a process graph from the specific subset of entity instances.
Claims 1-14, in view of the claim limitations, recite the abstract idea of determining an optimized process graph representing process data recorded during execution of processes executed by executing a number of process steps including event types executed by entities by providing a subset of entity types from the recorded process data, determining event types related to entity instances of the subset of entity types, determining at least two subsets of entity instances and their respective frequency of entity types based on corresponding event types, storing unions of the determined subsets of entity instances in a data structure in a predefined order, providing, by way of a range selection input, a number of weighting parameters for a utility function, determining a specific union of the stored unions of subsets of entity instances that maximizes the utility function, and generating the optimized process graph from the specific subset of entity instances.
As a whole, in view of the claim limitations, but for the computer components and systems performing the claimed functions, the broadest reasonable interpretation of the recited determining an optimized process graph representing process data recorded during execution of processes executed by executing a number of process steps including event types executed by entities by providing a subset of entity types from the recorded process data, determining event types related to entity instances of the subset of entity types, determining at least two subsets of entity instances and their respective frequency of entity types based on corresponding event types, storing unions of the determined subsets of entity instances in a data structure in a predefined order, providing, by way of a range selection input, a number of weighting parameters for a utility function, determining a specific union of the stored unions of subsets of entity instances that maximizes the utility function, and generating the optimized process graph from the specific subset of entity instances could all be reasonably interpreted as a human observing information regarding execution of steps in a process, a human mentally performing evaluations and using judgment based on the observed information to provide a subset of entity types and determine event types, entity instances, and frequency of entity types, a human observing information regarding unions of the subsets and storing the information using a pen and paper, a human observing a range selection input and using judgment to select weights including a number of weighting parameters for a utility function, and a human performing an evaluations and using judgement based on the information to determine a union that maximizes the utility function and generate an optimized process graph; therefore, the claims recite mental processes. In addition, these steps to optimize the process graph include selecting weights for a utility function and determining unions that maximize the utility function, which are recitations of forming a mathematical equation and executing mathematical calculations with the equation, and thus, the claims recite mathematical concepts. Further, with respect to the dependent claims, aside from the additional elements beyond the recited abstract idea addressed below under the second prong of Step 2A and 2B, the limitations of dependent claims 2-14 recite similar further abstract limitations to those discussed above that narrow the abstract idea recited in the independent claims because, aside from the computer components and systems performing the claimed functions the limitations of claims recite mental processes that can be practically performed mentally by observing, evaluating, and judging information mentally and/or with a pen and paper. Accordingly, since the claims recite mental processes and mathematical concepts, the claims recite an abstract idea under the first prong of Step 2A.
This judicial exception is not integrated into a practical application under the second prong of Step 2A. In particular, the claims recite the additional elements beyond the recited abstract idea of “[a] computer-implemented method” and “storing … in a storage device” in claim 1, and similarly claim 2-14, individually and when viewed as an ordered combination, and pursuant to the broadest reasonable interpretation, each of the additional elements are computing elements recited at high level of generality implementing the abstract idea on a computer (i.e. apply it), and thus, are no more than applying the abstract idea with generic computer components. Moreover, aside from the aforementioned additional elements, the remaining elements of dependent claims 2-14 do not integrate the abstract idea into a practical application because these claims merely recite further limitations that provide no more than simply narrowing the recited abstract idea.
The claims do not include additional elements that are sufficient to amount to significantly more than the judicial exception under Step 2B. As noted above, the aforementioned additional elements beyond the recited abstract idea, as an order combination, are no more than mere instructions to implement the idea using generic computer components (i.e. apply it), and further, generally link the abstract idea to a field of use, which is not sufficient to amount to significantly more than an abstract idea; therefore, the additional elements are not sufficient to amount to significantly more than an abstract idea. Furthermore, as an ordered combination, these elements amount to generic computer components performing repetitive calculations, electronic record keeping, and storing and retrieving information in memory, which, as held by the courts, are well-understood, routine, and conventional. See MPEP 2106.05(d); July 2015 Update, p. 7. Moreover, aside from the aforementioned additional elements, the remaining elements of dependent claims 2-14 do not transform the recited abstract idea into a patent eligible invention because these claims merely recite further limitations that provide no more than simply narrowing the recited abstract idea.
Looking at these limitations as an ordered combination adds nothing additional that is sufficient to amount to significantly more than the recited abstract idea because they simply provide instructions to use a generic arrangement of generic computer components and recitations of generic computer structure that perform well-understood, routine, and conventional computer functions that are used to “apply” the recited abstract idea. Thus, the elements of the claims, considered both individually and as an ordered combination, are not sufficient to ensure that the claims as a whole amount to significantly more than the abstract idea itself. Since there are no limitations in these claims that transform the exception into a patent eligible application such that these claims amount to significantly more than the exception itself, claims 1-14 are rejected under 35 U.S.C. 101 as being directed to non-statutory subject matter.
Claim Rejections - 35 USC § 103
The following is a quotation of 35 U.S.C. 103 which forms the basis for all obviousness rejections set forth in this Office action:
A patent for a claimed invention may not be obtained, notwithstanding that the claimed invention is not identically disclosed as set forth in section 102, if the differences between the claimed invention and the prior art are such that the claimed invention as a whole would have been obvious before the effective filing date of the claimed invention to a person having ordinary skill in the art to which the claimed invention pertains. Patentability shall not be negated by the manner in which the invention was made.
Claims 1-12 & 14 are rejected under 35 U.S.C. 103 as being unpatentable over Ishakian, et al. (US 20170111245 A1), hereinafter Ishakian, in view of Kaulgud, et al. (US 20190347586 A1), hereinafter Kaulgud.
Regarding claim 1, Ishakian discloses a computer-implemented method for determining an optimized process graph representing process data, wherein the process data is recorded during execution of processes (Abstract, [0008]-[0009], a computer-implemented method of generating process models from process event logs includes receiving an identification of node types and edge types of an application event log to generate a heterogeneous information network graph of the application event log, where node types include events and traces, reducing a number of event types of the set of input traces to generate clusters of new event types, and clustering the set of input traces to generate a plurality of disjoint partitions based on the clusters of new event types that maximizes an average fitness of each partition and minimizes an average complexity of each partition, where each partition is a graph model of a process in the application event log), wherein each process is executed by executing a number of process steps, wherein a number of entity instances participate in executing the number of process steps, wherein each entity instance is assigned to exactly one entity type and each process step is assigned to exactly one event type ([0045], in a set of process traces T, each trace t ε T includes a finite sequence of events t=(e.sub.1, e.sub.2, . . . , e.sub.n), e.sub.i ε E, n>0, where E is the set of all event types, and for each event e.sub.i in a trace t, there is an associated resource r.sub.j ε R that generates/executes the event, with R being the set of all resources), the method comprising:
- providing a subset of entity types from the recorded process data ([0081], fig. 4, in a flowchart of a general process that generates business process clusters, event logs contain different metadata that may useful for clustering, step 415 includes an initial filtering of the events to decide if the logs contain the necessary attributes, including an eventID, which is a description of the activity, a resourceID, which is a description of the resources, and a traceID that identifies which trace this event belongs to, [0045], in a set of process traces T, each trace t ε T includes a finite sequence of events t=(e.sub.1, e.sub.2, . . . , e.sub.n), e.sub.i ε E, n>0, where E is the set of all event types, and for each event e.sub.i in a trace t, there is an associated resource r.sub.j ε R that generates/executes the event, with R being the set of all resources),
- determining at least one event type related to entity instances of the subset of entity types ([0081], step 420 identifies node and edge types, step 425 assembles events together to form traces, and based on the node and edge type identifications, step 430 generates an initial set of meta-paths, and step 435 generates a combined meta-path if more than one meta-path is selected, [0045], for each event e.sub.i in a trace t, there is an associated resource r.sub.j ε R that generates/executes the event, with R being the set of all resources),
- determining at least two subsets of entity instances ([0081], step 425 assembles events together to form traces based on the node and edge type identifications, step 445 uses a dimensionality reduction algorithm on event types to define clusters of new event types, step 455 uses clustering algorithms to cluster the traces according to the new event types, [0045], for each event e.sub.i in a trace t, there is an associated resource r.sub.j ε R that generates/executes the event, with R being the set of all resources) and their respective frequency from the subset of entity types on the basis of corresponding event types ([0019], assembling the event type nodes into a set of input traces is represented by a matrix M of size |T|×|E|, where |T| is a number of sets of traces, and |E| is a number of event type nodes, where each row of M is a trace vector t=(s.sub.1, s.sub.2, . . . , s.sub.|E|), wherein s.sub.i is based on f.sub.e.sub.i.sub.,t, which is a normalized frequency of event e.sub.i in trace t, and n.sub.e.sub.i=|{tεT, e.sub.iεt}|, which is a popularity of event e.sub.i across all traces),
- storing unions of the determined subsets of entity instances in a data structure in a storage device in a predefined order ([0019], assembling the event type nodes into a set of input traces is represented by a matrix M of size |T|×|E|, where |T| is a number of sets of traces, and |E| is a number of event type nodes, [0081], step 420 identifies node and edge types, step 425 assembles events together to form traces, and based on the node and edge type identifications, step 430 generates an initial set of meta-paths, and step 435 generates a combined meta-path if more than one meta-path is selected, [0045], for each event e.sub.i in a trace t, there is an associated resource r.sub.j ε R that generates/executes the event, with R being the set of all resources, [0023], a non-transitory program storage device readable by a computer performs the method steps for generating process models from process event logs, [0126]-[0127], system memory includes computer readable medium to carry out the functions of embodiments of the disclosure),
- providing, …, a number of weighting parameters for a utility function, wherein each weighting parameter is selected from a predefined range and defines the utility function ([0019], [0071]-[0073], assembling the event type nodes into a set of input traces is represented by a matrix M of size |T|×|E|, where each row of M is a trace vector t=(s.sub.1, s.sub.2, . . . , s.sub.|E|), wherein s.sub.i is based on f.sub.e.sub.i.sub.,t, which is a normalized frequency of event e.sub.i in trace t, and n.sub.e.sub.i=|{tεT, e.sub.iεt}|, which is a popularity of event e.sub.i across all traces (i.e., range of weights for each event in each trace), and each element M.sub.ij is the value of the j-th dimension associated with event type e.sub.j in the i-th trace, [0074]-[0080], fig. 3, matrix M is dimensionally reduced to matrix W with k new dimensions, a one-to-one mapping function ρ: E.fwdarw.C can be derived that maps each event e ε E to a cluster in a set of κ clusters C={C.sub.i}, 1≦i≦κ, wherein the mapping can be represented as an optimization, which can be solved using a “greedy” algorithm by calculating a similarity matrix S calculated from equation 6, S.sub.jk = sim′(e.sub.j,e.sub.k) = (1−λ)×sim(e.sub.j,e.sub.k) + λ×σ.sub.P.sub.EE(e.sub.j,e.sub.k), wherein σ.sub.P.sub.EE (e.sub.j, e.sub.k) is a PathSim-based similarity between e.sub.j and e.sub.k via meta-path to account for the sequential relationship between events in the process model, [0062], PathSim similarities obtained by individual meta-paths are combined using the following linear formula: σ*(x,y)=Σ.sub.P.sub.iw.sub.i×σ.sub.P.sub.i(x,y), (1) where σ.sub.P.sub.i(X, y) is the PathSim-based similarity between two traces x and y via meta-path P.sub.i, and w.sub.i is the weight associated with meta-path P.sub.i, Abstract, [0009], [0047], [0088]-[0090], embodiments cluster event logs to group traces that share similar execution patterns by generating clusters that maximizes weighted average fitness and minimizes weighted average complexity (i.e., range of weights for each event in each trace)),
- determining a specific union of the stored unions of subsets of entity instances, wherein the specific union maximizes the utility function (Abstract, [0009], [0047], [0088]-[0090], embodiments cluster event logs to group traces that share similar execution patterns by generating clusters that maximizes weighted average fitness and minimizes weighted average complexity), and
- generating the optimized process graph by generating a process graph from the specific subset of entity instances (Abstract, [0009], where each trace is a finite sequence of event type nodes, clustering the set of input traces generates a plurality of disjoint partitions based on the clusters of new event types, where each partition is a graph model of a process in the application event log, [0045], in a set of process traces T, each trace t ε T includes a finite sequence of events t=(e.sub.1, e.sub.2, . . . , e.sub.n), e.sub.i ε E, n>0, where E is the set of all event types, and for each event e.sub.i in a trace t, there is an associated resource r.sub.j ε R that generates/executes the event, with R being the set of all resources).
While Ishakian discloses all of the above, including providing … a number of weighting parameters for a utility function, wherein each weighting parameter is selected from a predefined range and defines the utility function (as above), Ishakian does not appear to necessarily disclose remaining elements of the following limitations including the elements providing the weighting parameters by way of a range selection input, which however, are taught by further teachings in Kaulgud.
Kaulgud teaches providing, by way of a range selection input, a number of weighting parameters for a utility function, wherein each weighting parameter is selected from a predefined range and defines the utility function ([0001], wherein a business process model (BPM) models a high-level flow of end-to-end activities relating to the provision of a service, etc., [0013], a platform capable of mapping a business process model (an “AS-IS” process model) to a reference process model (e.g., an industry standard model) includes calculating initial score(s) for the business process model based on the effects that such automation service(s) may have on certain factors for a current project (e.g., project factors), providing the initial score(s) to a user, and permitting the user to adjust weightings of the project factors as needed, and re-evaluating the score(s) based on the adjusted weightings, [0067], an example interactive UI displays weightings (e.g., percentages), of project factors, used in the initial AS-IS score calculation(s), and enabling adjustments of the weights, as described above in connection with FIGS. 1A to 1E, and as shown in FIG. 1P, the interactive UI may permit adjustments to be made to weightings of various project factors (e.g., C.sub.C, C.sub.A, C.sub.U, and C.sub.BI) via adjustable sliders).
Ishakian and Kaulgud are analogous fields of invention because both address the problem of generating process models using optimization analysis. At the time the invention was effectively filed, it would have been obvious to one of ordinary skill in the art to include in the system of Ishakian the ability to provide, by way of a range selection input, a number of weighting parameters for a utility function, as taught by Kaulgud, since the claimed invention is merely a combination of old elements, and in the combination each element merely would have performed the same function as it did separately, and one of ordinary skill in the art would have recognized that the combination would produce the predictable results of providing, by way of a range selection input, a number of weighting parameters for a utility function. Further, it would have been obvious to one of ordinary skill in the art to have modified Ishakian with the aforementioned teachings of Kaulgud in order to produce the added benefit of improving the accuracy of model mapping, yielding superior service recommendations, improving operating efficiency, and lowering cots of operating business processes. [0012], [0014].
Regarding claim 2, the combined teachings of Ishakian and Kaulgud the method of claim 1 (as above). Further, Ishakian discloses wherein the method comprises determining the specific union by determining a process graph for each stored union of subsets of entity instances by way of a process discovery algorithm, wherein the utility function assigns a cost value to each process graph based on at least two parameters of the process graph that are selected from a group consisting of:
- a complexity of the process graph,
- a coverage of the process graph,
- a precision of the process graph,
- a generalization of the process graph, and
- combinations thereof (Abstract, [0009], [0047], [0088]-[0090], embodiments cluster event logs to group traces that share similar execution patterns by generating clusters that maximizes weighted average fitness and minimizes weighted average complexity).
Regarding claim 3, the combined teachings of Ishakian and Kaulgud the method of claim 2 (as above). Further, Ishakian discloses wherein the utility function is maximized by determining a specific process graph to which the utility function assigns a cost value below a predefined cost value, wherein the specific process graph is the optimized process graph ([0016], clustering the set of input traces includes cutting the hierarchy to obtain a desirable number of clusters by finding a minimum similarity threshold so that a distance between any two events in the same cluster is no more than that minimum similarity threshold, where the desirable number of clusters is the same as the number of reduced event types)
Regarding claim 4, the combined teachings of Ishakian and Kaulgud the method of claim 2 (as above). Further, Ishakian discloses wherein the number of weighting parameters is one, wherein the weighting parameter defines a ratio of two parameters of the utility function, in particular the complexity of the process graph and the coverage of the process graph ([0019], [0071]-[0073], assembling the event type nodes into a set of input traces is represented by a matrix M of size |T|×|E|, where each row of M is a trace vector t=(s.sub.1, s.sub.2, . . . , s.sub.|E|), wherein s.sub.i is defined as:
PNG
media_image1.png
55
225
media_image1.png
Greyscale
,
which is based on f.sub.e.sub.i.sub.,t, which is a normalized frequency of event e.sub.i in trace t, and the inverse of n.sub.e.sub.i=|{tεT, e.sub.iεt}|, which is the inverse of a popularity of event e.sub.i across all traces, and each element M.sub.ij is the value of the j-th dimension associated with event type e.sub.j in the i-th trace, [0062], PathSim similarities obtained by individual meta-paths are combined using the following linear formula: σ*(x,y)=Σ.sub.P.sub.iw.sub.i×σ.sub.P.sub.i(x,y), (1) where σ.sub.P.sub.i(X, y) is the PathSim-based similarity between two traces x and y via meta-path P.sub.i, and w.sub.i is the weight associated with meta-path P.sub.i, [0074]-[0080], fig. 3, matrix M is dimensionally reduced to matrix W with k new dimensions, a one-to-one mapping function ρ: E.fwdarw.C can be derived that maps each event e ε E to a cluster in a set of κ clusters C={C.sub.i}, 1≦i≦κ, wherein the mapping can be represented as an optimization, which can be solved using a “greedy” algorithm by calculating a similarity matrix S calculated from equation 6, S.sub.jk = sim′(e.sub.j,e.sub.k) = (1−λ)×sim(e.sub.j,e.sub.k) + λ×σ.sub.P.sub.EE(e.sub.j,e.sub.k), wherein σ.sub.P.sub.EE (e.sub.j, e.sub.k) is a PathSim-based similarity between e.sub.j and e.sub.k via meta-path to account for the sequential relationship between events in the process model, Abstract, [0009], [0047], [0088]-[0090], embodiments cluster event logs to group traces that share similar execution patterns by generating clusters that maximizes weighted average fitness, which is:
PNG
media_image2.png
34
175
media_image2.png
Greyscale
and minimizes weighted average complexity, wherein the complexity is measured by counting the number of control-flows, AND-joins/splits, and XOR-joins/splits that appear in the process model, and AvgComplexity is a weighted average of the complexity metrics based on the cluster size).
Regarding claim 5, the combined teachings of Ishakian and Kaulgud the method of claim 2 (as above). Further, Ishakian discloses wherein each parameter of the utility function is assigned a weighting parameter ([0019], [0071]-[0073], assembling the event type nodes into a set of input traces is represented by a matrix M of size |T|×|E|, where each row of M is a trace vector t=(s.sub.1, s.sub.2, . . . , s.sub.|E|), wherein s.sub.i is based on f.sub.e.sub.i.sub.,t, which is a normalized frequency of event e.sub.i in trace t, and the inverse of n.sub.e.sub.i=|{tεT, e.sub.iεt}|, which is the inverse of a popularity of event e.sub.i across all traces, and each element M.sub.ij is the value of the j-th dimension associated with event type e.sub.j in the i-th trace, [0074]-[0080], fig. 3, matrix M is dimensionally reduced to matrix W with k new dimensions, a one-to-one mapping function ρ: E.fwdarw.C can be derived that maps each event e ε E to a cluster in a set of κ clusters C={C.sub.i}, 1≦i≦κ, wherein the mapping can be represented as an optimization, which can be solved using a “greedy” algorithm by calculating a similarity matrix S calculated from equation 6, S.sub.jk = sim′(e.sub.j,e.sub.k) = (1−λ)×sim(e.sub.j,e.sub.k) + λ×σ.sub.P.sub.EE(e.sub.j,e.sub.k), wherein σ.sub.P.sub.EE (e.sub.j, e.sub.k) is a PathSim-based similarity between e.sub.j and e.sub.k via meta-path to account for the sequential relationship between events in the process model, [0062], PathSim similarities obtained by individual meta-paths are combined using the following linear formula: σ*(x,y)=Σ.sub.P.sub.iw.sub.i×σ.sub.P.sub.i(x,y), (1) where σ.sub.P.sub.i(X, y) is the PathSim-based similarity between two traces x and y via meta-path P.sub.i, and w.sub.i is the weight associated with meta-path P.sub.i, Abstract, [0009], [0047], [0088]-[0090], embodiments cluster event logs to group traces that share similar execution patterns by generating clusters that maximizes weighted average fitness and minimizes weighted average complexity, wherein he complexity is measured by counting the number of control-flows, AND-joins/splits, and XOR-joins/splits that appear in the process model, and AvgComplexity is a weighted average of the complexity metrics based on the cluster size).
Regarding claim 6, the combined teachings of Ishakian and Kaulgud the method of claim 2 (as above). Further, Ishakian discloses wherein each weighting parameter is selected from an individual predefined range, wherein each predefined range comprises a number of values, wherein the method further comprises defining the utility functions using a provided combination of values of the respective predefined ranges for the number of weighting parameters ([0019], [0071]-[0073], assembling the event type nodes into a set of input traces is represented by a matrix M of size |T|×|E|, where each row of M is a trace vector t=(s.sub.1, s.sub.2, . . . , s.sub.|E|), wherein s.sub.i is defined as:
PNG
media_image1.png
55
225
media_image1.png
Greyscale
,
which is based on f.sub.e.sub.i.sub.,t, which is a normalized frequency of event e.sub.i in trace t, and the inverse of n.sub.e.sub.i=|{tεT, e.sub.iεt}|, which is the inverse of a popularity of event e.sub.i across all traces, and each element M.sub.ij is the value of the j-th dimension associated with event type e.sub.j in the i-th trace, [0062], PathSim similarities obtained by individual meta-paths are combined using the following linear formula: σ*(x,y)=Σ.sub.P.sub.iw.sub.i×σ.sub.P.sub.i(x,y), (1) where σ.sub.P.sub.i(X, y) is the PathSim-based similarity between two traces x and y via meta-path P.sub.i, and w.sub.i is the weight associated with meta-path P.sub.i, [0074]-[0080], fig. 3, matrix M is dimensionally reduced to matrix W with k new dimensions, a one-to-one mapping function ρ: E.fwdarw.C can be derived that maps each event e ε E to a cluster in a set of κ clusters C={C.sub.i}, 1≦i≦κ, wherein the mapping can be represented as an optimization, which can be solved using a “greedy” algorithm by calculating a similarity matrix S calculated from equation 6, S.sub.jk = sim′(e.sub.j,e.sub.k) = (1−λ)×sim(e.sub.j,e.sub.k) + λ×σ.sub.P.sub.EE(e.sub.j,e.sub.k), wherein σ.sub.P.sub.EE (e.sub.j, e.sub.k) is a PathSim-based similarity between e.sub.j and e.sub.k via meta-path to account for the sequential relationship between events in the process model, Abstract, [0009], [0047], [0088]-[0090], embodiments cluster event logs to group traces that share similar execution patterns by generating clusters that maximizes weighted average fitness, which is:
PNG
media_image2.png
34
175
media_image2.png
Greyscale
and minimizes weighted average complexity, wherein the complexity is measured by counting the number of control-flows, AND-joins/splits, and XOR-joins/splits that appear in the process model, and AvgComplexity is a weighted average of the complexity metrics based on the cluster size).
Regarding claim 7, the combined teachings of Ishakian and Kaulgud the method of claim 6 (as above). Further, while Ishakian discloses all of the above, including wherein the method further comprises:
- defining a number of utility functions using every combination of values of the respective predefined ranges for the number of weighting parameters ([0019], [0071]-[0073], assembling the event type nodes into a set of input traces is represented by a matrix M of size |T|×|E|, where each row of M is a trace vector t=(s.sub.1, s.sub.2, . . . , s.sub.|E|), wherein s.sub.i is based on f.sub.e.sub.i.sub.,t, which is a normalized frequency of event e.sub.i in trace t, and n.sub.e.sub.i=|{tεT, e.sub.iεt}|, which is a popularity of event e.sub.i across all traces (i.e., range of weights for each event in each trace), and each element M.sub.ij is the value of the j-th dimension associated with event type e.sub.j in the i-th trace, [0074]-[0080], fig. 3, matrix M is dimensionally reduced to matrix W with k new dimensions, a one-to-one mapping function ρ: E.fwdarw.C can be derived that maps each event e ε E to a cluster in a set of κ clusters C={C.sub.i}, 1≦i≦κ, wherein the mapping can be represented as an optimization, which can be solved using a “greedy” algorithm by calculating a similarity matrix S calculated from equation 6, S.sub.jk = sim′(e.sub.j,e.sub.k) = (1−λ)×sim(e.sub.j,e.sub.k) + λ×σ.sub.P.sub.EE(e.sub.j,e.sub.k), wherein σ.sub.P.sub.EE (e.sub.j, e.sub.k) is a PathSim-based similarity between e.sub.j and e.sub.k via meta-path to account for the sequential relationship between events in the process model, [0062], PathSim similarities obtained by individual meta-paths are combined using the following linear formula: σ*(x,y)=Σ.sub.P.sub.iw.sub.i×σ.sub.P.sub.i(x,y), (1) where σ.sub.P.sub.i(X, y) is the PathSim-based similarity between two traces x and y via meta-path P.sub.i, and w.sub.i is the weight associated with meta-path P.sub.i, Abstract, [0009], [0047], [0088]-[0090], embodiments cluster event logs to group traces that share similar execution patterns by generating clusters that maximizes weighted average fitness and minimizes weighted average complexity (i.e., range of weights for each event in each trace)),
- determining, for each utility function, a respective optimized process graph to which the utility function assigns a cost value below the predefined cost value (Abstract, [0009], [0047], [0088]-[0090], embodiments cluster event logs to group traces that share similar execution patterns by generating clusters that maximizes weighted average fitness and minimizes weighted average complexity, where each trace is a finite sequence of event type nodes, clustering the set of input traces generates a plurality of disjoint partitions based on the clusters of new event types, where each partition is a graph model of a process in the application event log, [0045], in a set of process traces T, each trace t ε T includes a finite sequence of events t=(e.sub.1, e.sub.2, . . . , e.sub.n), e.sub.i ε E, n>0, where E is the set of all event types, and for each event e.sub.i in a trace t, there is an associated resource r.sub.j ε R that generates/executes the event, with R being the set of all resources), and
- … each optimized process graph in a storage device to enable a direct lookup of optimized process graphs for every combination of weighting parameters (Abstract, [0009], where each trace is a finite sequence of event type nodes, clustering the set of input traces generates a plurality of disjoint partitions based on the clusters of new event types, where each partition is a graph model of a process in the application event log, [0045], in a set of process traces T, each trace t ε T includes a finite sequence of events t=(e.sub.1, e.sub.2, . . . , e.sub.n), e.sub.i ε E, n>0, where E is the set of all event types, and for each event e.sub.i in a trace t, there is an associated resource r.sub.j ε R that generates/executes the event, with R being the set of all resources), Ishakian does not necessarily expressly disclose storing a graph, which however, is taught by further teachings in Kaulgud.
Kaulgud teaches storing each optimized process graph in a storage device ([0017], the AS-IS process model data structure may store data associated with an AS-IS process model (e.g., a consumer's BPM) including a graph having multiple nodes that each corresponds to a stage of an AS-IS process associated with text-based labels coupled to one another via edges, and the reference process model data structure may store data associated with a reference process model (e.g., a gold standard BPM), similar to the AS-IS process model, including multiple nodes that each corresponds to a stage of a process, such as an industry standard business process) to enable a direct lookup of optimized process graphs ([0020]-[0021], as in 101, from the AS-IS process model data structure and the reference process model data structure, the mapping component obtains data relating to the AS-IS process model and the reference process model including node information, edge information, and/or the like relating to the AS-IS process model and the reference process model, the interactive UI may permit a user to select the AS-IS process model and the reference process model for comparison or mapping purposes, in 103, the mapping component may map the AS-IS process model to the reference process model and compare the nodes of the AS-IS process model and the nodes of the reference process model to determine how closely the AS-IS process model is aligned with the reference process model) for every combination of weighting parameters ([0032]-[0034], [0040], in 109, the index calculator component may calculate an initial score for the AS-IS process, wherein the reference process model may represent an ideal (e.g., gold standard) process having a full score (e.g., a score of “1” and/or the like) where each stage is weighted (e.g., has a predetermined weight value) and contributes to the full score based on the weight value, the index calculator component may associate the project factors with equal weights, and calculate the initial score based the equal weights, and in 113-114, trade-off analyzer component may re-evaluate the score(s) using adjusted weightings for the project factors).
Ishakian and Kaulgud are analogous fields of invention because both address the problem of generating process models using optimization analysis. At the time the invention was effectively filed, it would have been obvious to one of ordinary skill in the art to have modified Ishakian with the aforementioned teachings of Kaulgud in order to produce the added benefit of improving the accuracy of model mapping, yielding superior service recommendations, improving operating efficiency, and lowering cots of operating business processes. [0012], [0014].
Regarding claim 8, the combined teachings of Ishakian and Kaulgud the method of claim 1 (as above). Further, Ishakian discloses wherein the predefined order comprises a first order element and a number of further order elements, wherein the first order element is assigned a subset of entity instances according to one or more a-predefined criteria, and wherein each of the further order elements is assigned a union of all subsets of entity instances assigned to the previous item and a further subset of entity instances (Abstract, [0009], where each trace is a finite sequence of event type nodes, clustering the set of input traces generates a plurality of disjoint partitions based on the clusters of new event types, where each partition is a graph model of a process in the application event log, [0045], in a set of process traces T, each trace t ε T includes a finite sequence of events t=(e.sub.1, e.sub.2, . . . , e.sub.n), e.sub.i ε E, n>0, where E is the set of all event types, and for each event e.sub.i in a trace t, there is an associated resource r.sub.j ε R that generates/executes the event, with R being the set of all resources, [0019], assembling the event type nodes into a set of input traces is represented by a matrix M of size |T|×|E|, where |T| is a number of sets of traces, and |E| is a number of event type nodes, [0081], step 420 identifies node and edge types, step 425 assembles events together to form traces, and based on the node and edge type identifications, step 430 generates an initial set of meta-paths, and step 435 generates a combined meta-path if more than one meta-path is selected),
Regarding claim 9, the combined teachings of Ishakian and Kaulgud the method of claim 8 (as above). Further, Ishakian discloses wherein the one or more predefined criteria comprise a frequency of the corresponding subset of entity instances in the process data, the method further comprising:
- assigning the subset of entity instances having a highest frequency in the process data to the first order element, and
- adding, to the respective union of each of the number of further order elements, subsets of entity instances with decreasing frequency in the process data ([0019], [0071]-[0073], assembling the event type nodes into a set of input traces is represented by a matrix M of size |T|×|E|, where each row of M is a trace vector t=(s.sub.1, s.sub.2, . . . , s.sub.|E|), wherein s.sub.i is defined as:
PNG
media_image1.png
55
225
media_image1.png
Greyscale
,
which is based on f.sub.e.sub.i.sub.,t, which is a normalized frequency of event e.sub.i in trace t, and the inverse of n.sub.e.sub.i=|{tεT, e.sub.iεt}|, which is the inverse of a popularity of event e.sub.i across all traces, and each element M.sub.ij is the value of the j-th dimension associated with event type e.sub.j in the i-th trace).
Regarding claim 10, the combined teachings of Ishakian and Kaulgud the method of claim 8 (as above). Further, Ishakian discloses wherein the one or more predefined criteria comprise a minimal weight set coverage, the method further comprising:
- determining, for each subset of entity instances, a weight 0019], [0071]-[0073], assembling the event type nodes into a set of input traces is represented by a matrix M of size |T|×|E|, where each row of M is a trace vector t=(s.sub.1, s.sub.2, . . . , s.sub.|E|), wherein s.sub.i is based on f.sub.e.sub.i.sub.,t, which is a normalized frequency of event e.sub.i in trace t, and n.sub.e.sub.i=|{tεT, e.sub.iεt}|, which is a popularity of event e.sub.i across all traces (i.e., range of weights for each event in each trace), and each element M.sub.ij is the value of the j-th dimension associated with event type e.sub.j in the i-th trace, [0074]-[0080], fig. 3, matrix M is dimensionally reduced to matrix W with k new dimensions, a one-to-one mapping function ρ: E.fwdarw.C can be derived that maps each event e ε E to a cluster in a set of κ clusters C={C.sub.i}, 1≦i≦κ, wherein the mapping can be represented as an optimization, which can be solved using a “greedy” algorithm by calculating a similarity matrix S calculated from equation 6, S.sub.jk = sim′(e.sub.j,e.sub.k) = (1−λ)×sim(e.sub.j,e.sub.k) + λ×σ.sub.P.sub.EE(e.sub.j,e.sub.k), wherein σ.sub.P.sub.EE (e.sub.j, e.sub.k) is a PathSim-based similarity between e.sub.j and e.sub.k via meta-path to account for the sequential relationship between events in the process model, [0062], PathSim similarities obtained by individual meta-paths are combined using the following linear formula: σ*(x,y)=Σ.sub.P.sub.iw.sub.i×σ.sub.P.sub.i(x,y), (1) where σ.sub.P.sub.i(X, y) is the PathSim-based similarity between two traces x and y via meta-path P.sub.i, and w.sub.i is the weight associated with meta-path P.sub.i, Abstract, [0009], [0047], [0088]-[0090], embodiments cluster event logs to group traces that share similar execution patterns by generating clusters that maximizes weighted average fitness and minimizes weighted average complexity (i.e., range of weights for each event in each trace),
- determining an optimized union of subsets of entity instances having minimal weight and covering a universe of corresponding event types,
- assigning a subset of entity instances of the optimized union to the first order element, and
- merging, to the respective union of each of the number of further order elements, subsets of entity instances with increasing distance to the union and decreasing frequency in the process data ([0018], the method calculates path similarity between each pair of events type nodes in the HIN graph connected by a meta-path, merges each event e.sub.j into a cluster associated with one of the new dimensions that contains an event closest to e.sub.j, using ρ(e.sub.j)=ρ(e*) with respect to e*=arg max.sub.e.sub.k.sub.εE sim′(e.sub.j, e.sub.k), until all clusters have been merged into a single cluster that contains all events to create a hierarchy H in which each leaf node is an event and a root is a single cluster of the last merge, and cuts the hierarchy to obtain a desirable number of clusters by finding a minimum similarity threshold so that a distance between any two events in the same cluster is no more than that minimum similarity threshold, [0016], clustering the set of input traces includes cutting the hierarchy to obtain a desirable number of clusters by finding a minimum similarity threshold so that a distance between any two events in the same cluster is no more than that minimum similarity threshold, where the desirable number of clusters is the same as the number of reduced event types).
Regarding claim 11, the combined teachings of Ishakian and Kaulgud the method of claim 10 (as above). Further, Ishakian discloses wherein the weight of each subset of entity instances is inversely proportional to the frequency of the respective subset of entity instances in the recorded process data ([0019], [0071]-[0073], assembling the event type nodes into a set of input traces is represented by a matrix M of size |T|×|E|, where each row of M is a trace vector t=(s.sub.1, s.sub.2, . . . , s.sub.|E|), wherein s.sub.i is defined as:
PNG
media_image1.png
55
225
media_image1.png
Greyscale
,
which is based on f.sub.e.sub.i.sub.,t, which is a normalized frequency of event e.sub.i in trace t, and the inverse of n.sub.e.sub.i=|{tεT, e.sub.iεt}|, which is the inverse of a popularity of event e.sub.i across all traces, and each element M.sub.ij is the value of the j-th dimension associated with event type e.sub.j in the i-th trace).
Regarding claim 12, the combined teachings of Ishakian and Kaulgud the method of claim 1 (as above). Further, Ishakian discloses wherein the specific union of subsets of entity instances is determined using a direct line search algorithm ([0074]-[0080], fig. 3, matrix M is dimensionally reduced to matrix W with k new dimensions, a one-to-one mapping function ρ: E.fwdarw.C can be derived that maps each event e ε E to a cluster in a set of κ clusters C={C.sub.i}, 1≦i≦κ, wherein the mapping can be represented as an optimization, which can be solved using a “greedy” algorithm by calculating a similarity matrix S calculated from equation 6, S.sub.jk = sim′(e.sub.j,e.sub.k) = (1−λ)×sim(e.sub.j,e.sub.k) + λ×σ.sub.P.sub.EE(e.sub.j,e.sub.k), wherein σ.sub.P.sub.EE (e.sub.j, e.sub.k) is a PathSim-based similarity between e.sub.j and e.sub.k via meta-path to account for the sequential relationship between events in the process model, in the a greedy approximation algorithm shown in FIG. 3, uses a bottom-up strategy, to assign original events into clusters, at lines 3-4 and 6-7, a PathSim-based similarity σ.sub.P.sub.EE and a similarity matrix S are calculated between all events in E using EQ. (6), at line 9, using EQ. (7), each event is treated as a singleton cluster and pairs of events that are closest to each other are successively merge, or agglomerated until all clusters have been merged into a single cluster that contains all events, which using hierarchical clustering algorithm, creates a hierarchy H, where each leaf node is an event and the root is the single cluster of the last merge, and at line 11, a final step is to cut the hierarchy at some point to obtain the desirable number of clusters K).
Regarding claim 14, the combined teachings of Ishakian and Kaulgud the method of claim 1 (as above). Further, Ishakian discloses further comprising determining the optimized process graph for each provided entity type and related event type separately and merging the determined optimized process ([0045], in a set of process traces T, each trace t ε T includes a finite sequence of events t=(e.sub.1, e.sub.2, . . . , e.sub.n), e.sub.i ε E, n>0, where E is the set of all event types, and for each event e.sub.i in a trace t, there is an associated resource r.sub.j ε R that generates/executes the event, with R being the set of all resources [0018], where nodes of the HIN graph include event type nodes and trace type nodes, the method calculates path similarity between each pair of events type nodes in the HIN graph connected by a meta-path, merges each event e.sub.j into a cluster associated with one of the new dimensions that contains an event closest to e.sub.j, using ρ(e.sub.j)=ρ(e*) with respect to e*=arg max.sub.e.sub.k.sub.εE sim′(e.sub.j, e.sub.k), until all clusters have been merged into a single cluster that contains all events to create a hierarchy H in which each leaf node is an event and a root is a single cluster of the last merge, and cuts the hierarchy to obtain a desirable number of clusters by finding a minimum similarity threshold so that a distance between any two events in the same cluster is no more than that minimum similarity threshold, [0016], clustering the set of input traces includes cutting the hierarchy to obtain a desirable number of clusters by finding a minimum similarity threshold so that a distance between any two events in the same cluster is no more than that minimum similarity threshold, where the desirable number of clusters is the same as the number of reduced event types) graphs into a single optimized multi-entity process graph (Abstract, [0009], where each trace is a finite sequence of event type nodes, clustering the set of input traces generates a plurality of disjoint partitions based on the clusters of new event types, where each partition is a graph model of a process in the application event log, [0045], in a set of process traces T, each trace t ε T includes a finite sequence of events t=(e.sub.1, e.sub.2, . . . , e.sub.n), e.sub.i ε E, n>0, where E is the set of all event types, and for each event e.sub.i in a trace t, there is an associated resource r.sub.j ε R that generates/executes the event, with R being the set of all resources).
Claim 13 is rejected under 35 U.S.C. 103 as being unpatentable over Ishakian, et al. (US 20170111245 A1), hereinafter Ishakian, in view of Kaulgud, et al. (US 20190347586 A1), hereinafter Kaulgud, in further view of ChoFleming, et al. (US 20190227777 A1), hereinafter ChoFleming.
Regarding claim 13, the combined teachings of Ishakian and Kaulgud the method of claim 12 (as above). Further, while Ishakian discloses wherein the direct line search algorithm ([0074]-[0080], fig. 3, matrix M is dimensionally reduced to matrix W with k new dimensions, a one-to-one mapping function ρ: E.fwdarw.C can be derived that maps each event e ε E to a cluster in a set of κ clusters C={C.sub.i}, 1≦i≦κ, wherein the mapping can be represented as an optimization, which can be solved using a “greedy” algorithm by calculating a similarity matrix S calculated from equation 6, S.sub.jk = sim′(e.sub.j,e.sub.k) = (1−λ)×sim(e.sub.j,e.sub.k) + λ×σ.sub.P.sub.EE(e.sub.j,e.sub.k), wherein σ.sub.P.sub.EE (e.sub.j, e.sub.k) is a PathSim-based similarity between e.sub.j and e.sub.k via meta-path to account for the sequential relationship between events in the process model, in the a greedy approximation algorithm shown in FIG. 3, uses a bottom-up strategy, to assign original events into clusters, at lines 3-4 and 6-7, a PathSim-based similarity σ.sub.P.sub.EE and a similarity matrix S are calculated between all events in E using EQ. (6), at line 9, using EQ. (7), each event is treated as a singleton cluster and pairs of events that are closest to each other are successively merge, or agglomerated until all clusters have been merged into a single cluster that contains all events, which using hierarchical clustering algorithm, creates a hierarchy H, where each leaf node is an event and the root is the single cluster of the last merge, and at line 11, a final step is to cut the hierarchy at some point to obtain the desirable number of clusters K), Ishakian does not necessarily expressly disclose the following remaining elements of the limitation, which however, are taught by further teachings in ChoFleming.
ChoFleming teaches wherein the direct line search algorithm is a binary search algorithm or a golden-section search algorithm ([0064], a binary-search algorithm performs a depth-first search (DFS) traversal of a Dataflow Graph (DFG) starting from the “min” node, the crossed-out edges will be identified as backedges and, thus, will be removed by the buffer inserter 104 to make the graph acyclic to identify true source nodes which are directly connected to external inputs and not dependent on internal inputs from internal nodes, [0053], the backedge detector 102 detects backedges by running a suitable graph-traversal analysis (e.g., a depth-first search (DFS) traversal, a breadth-first-search (BFS) traversal, a post-order traversal (left-right-root), etc.)).
Ishakian and ChoFleming are analogous fields of invention because both address the problem of generating process model graphs using optimization analysis. At the time the invention was effectively filed, it would have been obvious to one of ordinary skill in the art to include in the system of Ishakian the ability for the direct line search algorithm to be a binary search algorithm or a golden-section search algorithm, as taught by ChoFleming, since the claimed invention is merely a combination of old elements, and in the combination each element merely would have performed the same function as it did separately, and one of ordinary skill in the art would have recognized that the combination would produce the predictable results of the direct line search algorithm is a binary search algorithm or a golden-section search algorithm. Further, it would have been obvious to one of ordinary skill in the art to have modified Ishakian with the aforementioned teachings of ChoFleming in order to produce the added benefit of improving throughput performance through nodes. [0034], [0053].
Conclusion
The following prior art made of record and not relied upon is considered pertinent to applicant's disclosure:
Ishakian, et al. (US 20170286190 A1) disclosing clustering the set of process traces to generate a plurality of disjoint graph models of processes in the application event log based on the clusters of new event types, which allows users to cluster their business processes either by exclusively selecting temporal semantics, selecting structural semantics, or a weighted combination of both.
Any inquiry concerning this communication or earlier communications from the examiner should be directed to CHARLES A GUILIANO whose telephone number is (571)272-9859. The examiner can normally be reached Mon-Fri 10:00 am - 6:00 pm.
Examiner interviews are available via telephone, in-person, and video conferencing using a USPTO supplied web-based collaboration tool. To schedule an interview, applicant is encouraged to use the USPTO Automated Interview Request (AIR) at http://www.uspto.gov/interviewpractice.
If attempts to reach the examiner by telephone are unsuccessful, the examiner’s supervisor, Rutao Wu can be reached at 571-272-6045. The fax phone number for the organization where this application or proceeding is assigned is 571-273-8300.
Information regarding the status of published or unpublished applications may be obtained from Patent Center. Unpublished application information in Patent Center is available to registered users. To file and manage patent submissions in Patent Center, visit: https://patentcenter.uspto.gov. Visit https://www.uspto.gov/patents/apply/patent-center for more information about Patent Center and https://www.uspto.gov/patents/docx for information about filing in DOCX format. For additional questions, contact the Electronic Business Center (EBC) at 866-217-9197 (toll-free). If you would like assistance from a USPTO Customer Service Representative, call 800-786-9199 (IN USA OR CANADA) or 571-272-1000.
CHARLES GUILIANO
Primary Examiner
Art Unit 3623
/CHARLES GUILIANO/Primary Examiner, Art Unit 3623