US2017109670A1PendingUtilityA1

Crowd-Based Patterns for Identifying Executions of Business Processes

34
Assignee: PANAYA LTDPriority: May 8, 2011Filed: Dec 28, 2016Published: Apr 20, 2017
Est. expiryMay 8, 2031(~4.8 yrs left)· nominal 20-yr term from priority
G06F 11/368G06F 11/3409G06Q 10/087G06F 11/3672G06F 8/30G06Q 10/0631G06F 11/3696
34
PatentIndex Score
0
Cited by
0
References
0
Claims

Abstract

Described herein are systems, methods, and computer programs that may be utilized to identify executions of Business Processes (BPs) utilizing crowd-based patterns of the BPs. In one embodiment, each pattern of a BP is generated based on sequences corresponding to executions of the BP, which are associated with first and second organizations, respectively. A sequence parser module is configured to receive one or more streams of steps performed during interactions with an instance of a software system, which belongs to another organization, and to select, from among the one or more streams, candidate sequences of steps. A distance calculator module calculates distances between the candidate sequences and the patterns based on alignments of the candidate sequences and the patterns. An assignment module utilizes the distances to assign at least some of the candidate sequences with identifiers of the BPs.

Claims

exact text as granted — not AI-modified
We claim: 
     
         1 . A system configured to perform pattern-based identification of sequences corresponding to executions of a business processes (BPs), comprising:
 memory configured to store computer executable modules; and   one or more processors configured to execute the computer executable modules; the computer executable modules comprising:   a sequence parser module configured to receive one or more streams of steps performed during interactions with an instance of a software system, which belongs to a certain organization, and to select, from among the one or more streams, candidate sequences of steps;   a distance calculator module configured to receive a pattern of a BP that describes a certain sequence of steps involved in an execution of the BP; wherein the certain sequence is generated based on previously identified sequences of steps corresponding to executions of the BP, which comprise at least first and second sequences that correspond to executions of the BP associated with first and second organizations, respectively;   the distance calculator module is further configured to calculate a distance between a candidate sequence and the pattern based on an alignment of the candidate sequence and the certain sequence described by the pattern; and   an assignment module configured to assign at least some of the candidate sequences with identifiers of BPs to which they correspond based on distances calculated between the at least some of the candidate sequences and patterns of the BPs; wherein when a candidate sequence is assigned an identifier of a certain BP, a distance calculated between the candidate sequence and a pattern of the certain BP is below a threshold; and wherein the at least some candidate sequences comprise first and second candidate sequences that are assigned identifiers of first and second BPs, respectively.   
     
     
         2 . The system of  claim 1 , wherein a distance calculated between the first candidate sequence and a first pattern of the first BP is smaller than a distance calculated between the first candidate sequence and a second pattern of the second BP; and wherein a distance calculated between the second candidate sequence and the second pattern is smaller than a distance calculated between the second candidate sequence and the first pattern. 
     
     
         3 . The system of  claim 1 , wherein the one or more streams are generated by one or more monitoring agents that comprise at least one of the following: an internal monitoring agent, and an interface monitoring agent; and wherein each monitoring agent, from among the one or more monitoring agents, generates a stream comprising steps performed as part of an interaction with an instance of a software system from among the one or more software systems. 
     
     
         4 . The system of  claim 1 , wherein the first candidate sequence comprises first, second, and third steps that belong to a certain stream from among the one or more streams; wherein the first step was performed before the second step and the second step was performed before the third step;
 and wherein the first and third step were performed as part of an execution of the first BP while the second step was not performed as part of an execution of the first BP.   
     
     
         5 . The system of  claim 4 , wherein the first and third steps are both associated with a certain value of an execution-dependent attribute (EDA) and the second step is associated with a value for the EDA which is different from the certain value; and wherein the EDA corresponds to one or more of the following types of values: a mailing address, a Universal Resource Locator (URL) address, an Internet Protocol (IP) address, a phone number, an email address, a social security number, a driving license number, an address on a certain blockchain, an identifier of a digital wallet, an identifier of a client, an identifier of an employee, an identifier of a patient, an identifier of an account, and an order number. 
     
     
         6 . The system of  claim 1 , wherein the first candidate sequence comprises at least one step that is not included in a certain sequence of steps involved in an execution of the first BP, which is described in a pattern of the first BP. 
     
     
         7 . The system of  claim 1 , wherein a certain sequence of steps involved in an execution of the first BP, which is described in a pattern of the first BP, comprises at least one step that is not included in the first candidate sequence. 
     
     
         8 . The system of  claim 1 , wherein an execution of a BP is associated with an organization if at least one of the following statements is true: (i) at least some steps involved in the execution of the BP are performed by a user belonging to the organization, and (ii) at least some steps involved in the execution of the BP are executed on a certain instance of a software system belonging to the organization. 
     
     
         9 . The system of  claim 1 , wherein a step belonging to a stream comprising steps performed as part of an interaction with an instance of the software system describes one or more of the following: a certain transaction that is executed, a certain screen that is displayed during the interaction, a certain form that is accessed during the interaction, a certain field that is accessed during the interaction, a certain value entered in a field belonging to a form, a certain operation performed from within a form, and a certain message returned by the software system during the interaction or following the interaction. 
     
     
         10 . The system of  claim 1 , wherein the sequence parser module is further configured to identify a value of an execution-dependent attribute (EDA), and wherein at least some of the steps comprised in each candidate sequence are associated with the same value of the EDA; and wherein the EDA corresponds to one or more of the following types of values: a mailing address, a Universal Resource Locator (URL) address, an Internet Protocol (IP) address, a phone number, an email address, a social security number, a driving license number, an address on a certain blockchain, an identifier of a digital wallet, an identifier of a client, an identifier of an employee, an identifier of a patient, an identifier of an account, and an order number. 
     
     
         11 . The system of  claim 1 , further comprising a link generator module configured to generate links between pairs of steps that are among steps belonging to the one or more streams; wherein at least some of the links are between pairs of steps that are not consecutively performed steps in the same stream; wherein the sequence parser is further configured to select the sequences utilizing the links; and wherein for each pair of consecutive steps in a sequence at least one of the following is true: the pair is a pair consecutive steps in a stream from among the streams, and the pair is linked by at least one of the links. 
     
     
         12 . A method for performing pattern-based identification of sequences corresponding to executions of business processes (BPs), comprising:
 receiving, by a system comprising a processor and memory, one or more streams of steps performed during interactions with instances of one or more software systems;   selecting, from among steps belonging to the one or more streams, candidate sequences of steps;   receiving patterns of the BPs; wherein each pattern of a BP describes a certain sequence of steps involved in an execution of the BP; wherein the certain sequence is generated based on previously identified sequences of steps corresponding to executions of the BP, which comprise at least first and second sequences that correspond to executions of the BP associated with first and second organizations, respectively;   calculating distances between the candidate sequences and the patterns of the BPs; wherein each distance between a candidate sequence and a pattern is based on an alignment of the candidate sequence and the certain sequence described by the pattern; and   assigning at least some of the candidate sequences with identifiers of BPs to which they correspond based on distances calculated between the at least some of the candidate sequences and patterns of the BPs; wherein when a candidate sequence is assigned an identifier of a certain BP, a distance calculated between the candidate sequence and a pattern of the certain BP is below a threshold; and wherein the at least some candidate sequences comprise first and second candidate sequences that are assigned identifiers of first and second BPs, respectively.   
     
     
         13 . The method of  claim 12 , further comprising monitoring the interactions with the instances of the one or more software systems; wherein the monitoring involves at least one of the following types of monitoring: internal monitoring, and interface monitoring. 
     
     
         14 . The method of  claim 12 , wherein the first candidate sequence comprises first, second, and third steps that belong to a certain stream from among the one or more streams; wherein the first step was performed before the second step and the second step was performed before the third step; wherein the first and third step were performed as part of an execution of the first BP while the second step was not performed as part of an execution of the first BP; and wherein calculating a distance between the first candidate sequence and a first pattern corresponding to the first BP involves performing a gapped-alignment between the candidate sequence and a certain sequence of steps described by the first pattern. 
     
     
         15 . The method of  claim 12 , further comprising identifying values of an execution-dependent attribute (EDA) in at least some of the steps comprised in the one or more streams and selecting the candidate sequences such that for each candidate sequence, the steps belonging to the candidate sequence are associated with the same value of the EDA; and wherein the EDA corresponds to one or more of the following types of values: a mailing address, a Universal Resource Locator (URL) address, an Internet Protocol (IP) address, a phone number, an email address, a social security number, a driving license number, an address on a certain blockchain, an identifier of a digital wallet, an identifier of a client, an identifier of an employee, an identifier of a patient, an identifier of an account, and an order number. 
     
     
         16 . The method of  claim 12 , further comprising:
 generating links between pairs of steps that are among steps belonging to the one or more streams; wherein at least some of the links are between pairs of steps that are not consecutively performed steps in the same stream; and   selecting the candidate sequences utilizing the links; wherein for each pair of consecutive steps in a candidate sequence at least one of the following is true: the pair is a pair consecutive steps in a stream from among the streams, and the pair is linked by at least one of the links.   
     
     
         17 . A non-transitory computer-readable medium having instructions stored thereon that, in response to execution by a system including a processor and memory, causes the system to perform operations comprising:
 receiving, by a system comprising a processor and memory, one or more streams of steps performed during interactions with instances of one or more software systems;   selecting, from among steps belonging to the one or more streams, candidate sequences of steps;   receiving patterns of Business Processes (BPs); wherein each pattern of a BP describes a certain sequence of steps involved in an execution of the BP; wherein the certain sequence is generated based on previously identified sequences of steps corresponding to executions of the BP, which comprise at least first and second sequences that correspond to executions of the BP associated with first and second organizations, respectively;   calculating distances between the candidate sequences and the patterns of the BPs; wherein each distance between a candidate sequence and a pattern is based on an alignment of the candidate sequence and the certain sequence described by the pattern; and   assigning at least some of the candidate sequences with identifiers of BPs to which they correspond based on distances calculated between the at least some of the candidate sequences and patterns of the BPs; wherein when a candidate sequence is assigned an identifier of a certain BP, a distance calculated between the candidate sequence and a pattern of the certain BP is below a threshold; and wherein the at least some candidate sequences comprise first and second candidate sequences that are assigned identifiers of first and second BPs, respectively.   
     
     
         18 . The non-transitory computer-readable medium of  claim 17 , further comprising instructions defining a step of monitoring the interactions with the instances of the one or more software systems; wherein the monitoring involves at least one of the following types of monitoring: internal monitoring, and interface monitoring. 
     
     
         19 . The non-transitory computer-readable medium of  claim 17 , wherein the first candidate sequence comprises first, second, and third steps that belong to a certain stream from among the one or more streams; wherein the first step was performed before the second step and the second step was performed before the third step; wherein the first and third step were performed as part of an execution of the first BP while the second step was not performed as part of an execution of the first BP; and further comprising instructions defining a step of calculating a distance between the first candidate sequence and a first pattern corresponding to the first BP by performing a gapped-alignment between the candidate sequence and a certain sequence of steps described by the first pattern. 
     
     
         20 . The non-transitory computer-readable medium of  claim 17 , further comprising instructions defining a step of identifying values of an execution-dependent attribute (EDA) in at least some of the steps comprised in the one or more streams and selecting the candidate sequences such that for each candidate sequence, the steps belonging to the candidate sequence are associated with the same value of the EDA; and wherein the EDA corresponds to one or more of the following types of values: a mailing address, a Universal Resource Locator (URL) address, an Internet Protocol (IP) address, a phone number, an email address, a social security number, a driving license number, an address on a certain blockchain, an identifier of a digital wallet, an identifier of a client, an identifier of an employee, an identifier of a patient, an identifier of an account, and an order number.

Cited by (0)

No later patents cite this yet.

References (0)

No backward citations on record.