The embodiments of the present invention relate to software and, more particularly, to methods for providing input suggestions based on prior business process consequences.
Workflow, business process, and electronic data entry based systems allow an enterprise to formalize the processes by which the enterprise achieves its business objectives. Such systems provide step-by-step descriptions of tasks which should be performed as part of the work, so that individuals or groups within the enterprise can be assigned individual or groups of tasks. The tasks may be dependent or independent upon one another.
The embodiments of the present invention relate to software and, more particularly, to methods for providing input suggestions based on prior business process consequences.
Implementation of the embodiments of the present invention involves performing or completing selected tasks or steps manually, semi-automatically, fully automatically, and/or a combination thereof. Moreover, depending upon actual instrumentation and/or equipment used for implementing an embodiment of the disclosed methods, several embodiments could be achieved by hardware, by software, by firmware, or a combination thereof.
The embodiments of the present invention are herein described, by way of example only, with reference to the accompanying drawings. With specific reference now to the drawings, it is stressed that the particulars shown are by way of example and for purposes of illustrative discussion of the embodiments of the present invention only, and are presented in order to provide what is believed to be the most useful and readily understood description of the principles and conceptual aspects of the embodiments of the present invention. In this regard, no attempt is made to show structural details of the embodiments in more detail than is necessary for a fundamental understanding of the invention. The description taken with the drawings makes apparent to those skilled in the art how the several embodiments may be embodied in practice. Identical structures, elements or parts which appear in more than one figure are preferably labeled with a same or similar number in all the figures in which they appear. In the drawings:
In the following description, numerous specific details are provided to provide a thorough understanding of embodiments of the invention. One skilled in the relevant art, however, will recognize that the embodiments may be practiced without one or more of these specific details, or with other equivalent elements and components, etc. In other instances, well-known components and elements are not shown, or not described in detail, to avoid obscuring aspects of the invention or for brevity.
The following disclosure provides a brief, general description of a suitable computing environment in which the embodiments of the present invention may be implemented. Those skilled in the relevant art will appreciate that the embodiments may be practiced with other computer system configurations, including hand-held devices, multiprocessor systems, microprocessor-based or programmable consumer electronics, network PCs, network computers, mini computers, mainframe computers, and the like. The embodiments may be practiced in distributed computing environments where tasks or modules are performed by remote processing devices, which are linked through a communications network. In a distributed computing environment, program modules may be located in both local and remote memory storage devices. The embodiments may be practiced in hardware, programmable devices, and other equivalents.
The term “business process” as used herein may also refer to a workflow, an e-learning process, and/or to a software wizard process.
Referring now to the drawings,
In an embodiment of the present invention, the input 111 that resulted in the negative consequence may be associated with metadata describing the negative consequence and may be stored in a repository. This is further illustrated by
An input may be predetermined at entry time, for example, by the context of the business process instance, such as by various related inputs and variables. An input determined by a user's private considerations is not considered predetermined. A predetermined input may be an input whose value must be specific and the only correct possible value at entry time. This value may be received or calculated by a user entering the input. A non-predefined input may be a value provided by a user to an entry field, wherein more than one equally possible values could be provided. An input of a patient's temperature, which a nurse measured beforehand by using a thermometer, is an example of a predefined input, since there is no human consideration only a mechanistic action. An input of a number of days a user wants as vacation is an example of a non-predetermined input which requires human consideration and wherein there is no single correct value.
In an embodiment of the invention, an entry field may be, for example, a text box, a drop-down list, a checkbox, a radio button, an entire electronic form, a combination thereof, or any other data receptacle capable of receiving input. The input may be received by using a mouse, a keyboard, a voice recognition device, a communication link, a combination thereof, any other device capable of generating input for the entry field, or without using a device at all.
In step 420, a consequence of the business process instance is identified. The consequence may occur at any point during and/or after the execution of the business process instance. This consequence may be any event that directly or indirectly relates to the business process instance.
In an embodiment of the invention, this event may be a direct result of the aforementioned input. For example, the input may be a numerical value describing a desired processing mode of a factory machine and the event may be an auto-generated report concerning the daily productivity of the machine running in this mode. The event may be an indirect result of the business process. For example, the input may be a choice of an advertisement design and the event may be a report of a net profit by a company.
The event may also comprise a modification of the input, or its replacement. For example, if a user enters some input into an entry field, and at some point later realizes that the input is wrong and rewrites it, the act of rewriting the input may be regarded as such an event. If the business process instance was an instance of a vacation request business process, a possible consequence may be an approval or denial of the request.
Once an input is received and a consequence is identified, metadata concerning the consequence is generated and associated with the input in step 430. An input may have associated metadata concerning more than one consequence. Not all consequences necessarily trigger metadata generation for every input preceding these consequences. In an embodiment of the invention, specific predefined business process consequences may trigger metadata for specific predefined preceding inputs. The exact configuration thereof may be defined, for example, at design-time by a designer of the business process.
The consequence of the business process instance may be a direct result of the input or an indirect result of the input. In the case where the consequence is an indirect result of the input, the association between the input and the consequence may be defined, for example, by an operator, a software module that searches for associations, and/or a heuristic algorithm. For example, when the entry field is a request description, and as a result of the business process execution the request description was changed, the change in the request description is considered a consequence of the business process.
In an embodiment of the invention, metadata associated with the input may comprise a certain scoring of the input. For example, if the business process instance is concerned with providing help to customers in a call center and the identified consequence is a positive feedback by a customer, the input causing such a consequence may receive a positive score.
The aforementioned consequence may be identified by receiving data from a source other than the business process instance itself. For example, the source may be an instance of another business process, such as one that is concerned with drawing feedback from customers. An input may have more than one score associated with it, and these scores may have varying weights. In an embodiment of the invention, a score given with regard to a direct consequence has more weight than a score given with regard to an indirect consequence.
Metadata associated with the input may comprise a description of the identified consequence. For example, if the business process instance is a request which may be either approved or denied, the metadata may comprise a boolean value representing these possible consequences.
Optionally, the more an identified consequence is a direct result of its corresponding input, the higher the score assigned to the corresponding input.
Optionally, the consequence may be identified by a user and entered manually to the system. Alternatively, the consequence may be identified by using an appropriate web service. The web service may be in Service Oriented Architecture (SOA). Alternatively, the source identifying the consequence may be an instance of a different business process.
Optionally, the description of the metadata associated with the input may include a boolean value representing a positive or a negative consequence of the business process instance. Moreover, the business process instance may include a request, and the consequence of the business process instance may include either an approval or disapproval of the request.
In an embodiment of the invention, metadata associated with the input may include, in addition to data concerning a process consequence, data descriptive of the context at which the input was received. This context may include, for example, the time of receiving the input, identification of the field wherein the input was received, or context of a user responsible for the input entry.
The entry field of the second business process instance may be similar to the entry field of the first business process instance. Furthermore, this similarity may exist even if the two business process instances are instances of two different business processes. In an embodiment of the invention, the aforementioned two business process instances may represent two different processes for contacting business entities. For example, the first process may comprise negotiations with a client and the second process may comprise negotiations with a company representative in the context of inter-enterprise collaboration. Both these processes may have an entry field for requesting a meeting. Inputs to these similar fields may be mutually analyzed with regard to their resulting outcomes. Therefore, it may be possible to provide a user with an input suggestion even though this input was initially received in a similar entry field of a different business process.
In an embodiment of the invention, the first business process instance and the second business process instance may refer to the same business process instance. For example, the entry field of the first business process instance and the entry field of the second business process instance may be similar entry fields at different stages of a single business process instance.
In step 550 the second input that was received from the user is compared with the first input. The comparison may be made, for example, by a function which receives the first and second inputs and generates a comparison result. In an embodiment of the invention, the comparison may be made by a boolean function which indicates inputs as similar if at least one word in one input has a similar word in the other input. A different comparison function may be used which operates upon integer inputs and whose result denotes the proximity of these values to each other. In an embodiment of the invention, the second input is compared with a plurality of previous inputs and the comparison function filters inputs which are irrelevant to the second input. The comparison function may, for example, utilize metadata associated with the plurality of previous inputs. More specifically, the comparison function may compare values from the metadata with context of the second input and/or with predefined values. Context of the second input may comprise context of a user that entered the second input.
It is to be understood that the step of comparing the second input with the first input may include comparing the metadata associated with the second input with the metadata associated with the first input and/or any other action for identifying a possible correlation between the current and stored inputs.
In step 560 the user is provided with data based on results of the comparison and on the metadata associated with the first input. For example, the results of the comparison may denote that the first input is relevant to the input of the user, hence the user may be provided with data describing consequences of the first input.
In an embodiment of the invention, providing the user with data may include providing auto-complete functionality to the entry field of the second business process instance. The auto-complete may suggest inputs which are considered relevant according to metadata associated with those inputs. Furthermore, the auto-complete may provide data extracted from the metadata associated with the inputs. This data may be presented as additional description of the inputs.
The provided data in step 560 may be identical to the first input or be a variation of the first input. The difference between the first input and the provided data may be obtained, for example, by a heuristic algorithm.
In step 635, a second business process instance is executed. An indication of a user's interaction with an entry field of the second business process instance is received in step 640. Without limiting the scope of the invention, in an embodiment of the invention, an indication of a user's interaction with an entry field may include one of the following: user's interaction with a form containing the entry field, user's focus on the entry field, or user's input to the entry field.
Subsequently, in step 650, it is determined whether to provide the user with data semantically related to the first input, e.g. a semantic variation of the first input. The determination is based on the metadata associated with the first input. A determination function may exist, which analyses metadata associated with the first input and optionally data about the context of the user and his interaction with the entry field, and determines whether to provide the user with the data. For example, a determination function may decide whether or not to provide the user with a previous input based on the consequence of the input. In this case, the user is provided only with previous inputs that yielded positive consequences, or variations of such inputs, and the determination function filters out relevant inputs that yielded negative consequences.
Determining whether to provide the user with approximately the first input based on the metadata associated with the first input may be implemented, for example, as follows: assigning each metadata a score and providing the user only with inputs having a score higher than a threshold. Alternatively or additionally, this may be implemented by selecting only metadata that corresponds to the context of the second input or is related to the context of the second input.
In an embodiment of the invention, when providing the user with the data semantically related to the first input, that data may be identical to the first input or be a modification thereof. The provided data may have a meaning equivalent to that of the first input. For example, a thesaurus may be used to identify semantically related data.
Optionally, modified provided data is modified in order to be better adapted to the second business process instance.
Subsequently, in step 750, the user is provided with data semantically related to the first input, for example, as an auto-complete feature. Optionally, the user may be provided with data based on the metadata associated with the first input, such as a history of previous consequences of entering the first input.
In an embodiment of the invention, the data provided based on the metadata associated with the first input may comprise one or more of the following exemplary options: multiple input suggestions; an icon next to each suggestion, wherein the icon may symbolize a predicted consequence of using the suggested input, wherein the prediction may be based on metadata associated with the inputs; a tool-tip; and/or a pop-up window.
Optionally, in step 760, the user may be provided with data regarding a consequence of a business process instance resulting from at least one of the provided semantically related data. For example, if the user was provided with the first input as an auto-complete suggestion, the user may select it and request data descriptive of a consequence of at least one business process instance resulting from the first input by choosing a corresponding option. Following the request, the user may be provided with the requested data.
In an embodiment of the invention, data provided to the user may be adapted to the user's context. The data may be filtered, modified, complemented with other data, translated, or adapted in any other way. A user's context may be any of the exemplary following: role, project, company, department, expertise, experience with an application, current time, geographical location, preferences, and/or combinations thereof. A detailed discussion about exemplary possible contexts is disclosed below. For example, in an embodiment of the invention, the user may be provided only with data relating to previous inputs entered by users having the same role as the user.
In an embodiment of the invention, the repository may be directly associated with the entry field of the first business process instance. In an embodiment of the invention, inputs in the repository may be associated with weights according to the intensity of their usage and/or the amount of time that passed since they entered the repository. Thus, specific inputs may be recognized as outdated and/or useless and be automatically removed from the repository.
Optionally, an embodiment of the invention may include the steps disclosed below. A second business process instance is executed in step 845. A second input for an entry field of the second business process instance is received from a user in step 850. In step 860, the second input is compared with relevant inputs stored in the repository. Optionally, the relevant inputs stored in the repository to be compared with are selected based on the context of the input, and/or the field wherein the input was entered. Exemplary methods of comparison are disclosed in the description of
For example, in an embodiment of the invention, the metadata associated with inputs contained in the repository may comprise statistical data about consequences of those inputs in business process instances, and the metadata is analyzed by averaging the statistical data of inputs which resemble the second input based on the comparison. Based on the analysis, a consequence of the second business process instance that may result from the second input is predicted in step 880.
Optionally, the user may then be provided with the predicted consequence. For example, if inputs in the repository that are similar to the input of the user have had mostly similar consequences, the user may be provided with a prediction that describes the most probable consequence of the user's input.
In an embodiment of the invention, multiple inputs may be received from a user correlating with multiple entry fields. The multiple inputs may be analyzed with respect to each other and an overall prediction of a consequence may be provided to the user. For example, if the repository is used in a medical process, wherein it gathers non-predefined inputs, e.g. prescriptions chosen by a doctor, and their correlation with consequences, e.g. a future diagnosis, a user may receive a prediction of a future diagnosis based on some of the prescriptions chosen by a doctor. Furthermore, if the repository has a mechanism for keeping only up-to-date inputs and their correlating consequences, an environmental change, such as a sudden change in bodily resistance to medications due to a virus, may be quickly incorporated into the consequence prediction mechanism.
In an embodiment of the invention, the repository and comparison mechanism previously discussed may be used. Subsequently, the user is provided with data based on metadata associated with the input suggestions in step 940.
Referring to
Optionally, when the user is provided with data based on metadata associated with the input, an icon is displayed next to the provided input. The displayed icon may represent a predicted consequence of using the input, wherein the prediction is based on the metadata.
In an embodiment of the invention, data provided to the user may be adapted to the user's context. The user context may include, for example, one or more of the following: role, project, company, department, expertise, experience with an application, current time, and/or geographical location.
The identified inputs may be all or some of the inputs which caused the consequence and they may have had a direct or an indirect impact on the consequence. Furthermore, these inputs may have come from various sources such as different instances of a business process. Once identified, the inputs are associated with metadata concerning the consequence in step 480.
According to an embodiment of the invention, a consequence of the business process may be one of the following examples: data pertaining to a result of a business process instance, a change in a state of a business process instance, and/or a value received by the system relevant to a business process instance. A consequence may be a triggering event which is associated with some value and/or time. A consequence of a business process may optionally be defined by business logic, policies or rules.
In an embodiment of the invention, at least one input of the set of inputs identified in step 470, or a variation of the input, may be used to auto-complete an entry field in a second business process instance.
In step 1050, a second business process instance is executed. This may be an instance of the same business process or of a different business process. An input for an entry field of the second business process instance is received from a user in step 1060.
In step 1070, the input that was received from the user is compared with at least one input from the set of inputs that were identified in step 1030. In an embodiment of the invention, the repository and comparison mechanism previously discussed may be used.
In step 1080 the user is provided with data based on results of the comparison and on the metadata associated with the set of inputs. In an embodiment of the invention, the user may be provided with the consequence of the set of inputs. For example, the results of the comparison may denote that an input from the set of inputs is relevant to the input received from the user, hence the user may be provided with data describing the relevant input and a consequence of the set of inputs.
In an embodiment of the invention, providing the user with data may include providing auto-complete functionality to the entry field of the second business process instance. The auto-complete functionality may suggest one or more inputs from the set of inputs or a variation of these inputs.
A second business process instance is executed in step 1150. An indication of a user's interaction with an entry field of the business process instance is received in step 1160. Following the received indication, the user is provided with input suggestions for the entry field in step 1170. At least one of the input suggestions may be an input from the set of inputs identified in step 1130, or a variation of that previously identified input.
In an embodiment of the invention, the repository and comparison mechanism previously discussed may be used. Subsequently, the user is provided with data based on metadata associated with the input suggestions in step 1180. In an embodiment of the invention, the user may be provided with the consequence of the set of inputs.
In an embodiment of the invention, providing the user with data may include providing auto-complete functionality to the entry field of the second business process instance. The auto-complete functionality may suggest one or more inputs from the set of inputs or a variation of these inputs.
Above described embodiments supply the user with input suggestions based on prior business process consequences and optionally further based on context. The following list includes types of contexts, examples of contexts and methods for deriving contexts. The list, or its equivalents, may be used in the embodiments of the present invention.
The following are examples of context derivation methods from various sources, such as user input, user profile, organizational databases, sensors, status of applications and devices in use:
a) The context may be based upon the user identity or function, wherein predefined contexts are stored for each user or class of users. The user identity may either be defined explicitly by using a user identifier such as log on ID for each user of the system, or implicitly by having a stored set of context definitions for each terminal able to access the system and assuming that the user for each terminal is always the same user or class of users.
Although the present invention has been described in considerable detail with reference to certain embodiments thereof, other embodiments are possible. Therefore, the spirit and scope of the appended claims should not be limited to the description of the embodiments contained herein.
It is appreciated that certain features of the embodiments, which are, for clarity, described in the context of separate embodiments, may also be provided in various combinations in a single embodiment. Conversely, various features of the embodiments, which are, for brevity, described in the context of a single embodiment, may also be provided separately or in any suitable sub-combination.
It is to be understood that the embodiments are not limited in their applications to the details of the order or sequence of steps of operation or implementation of the methods set forth in the description, drawings, or examples.
Any citation or identification of any reference in this application shall not be construed as an admission that such reference is available as prior art to the embodiments of the present invention.
While the embodiments have been described in conjunction with specific examples thereof, it is to be understood that they have been presented by way of example, and not limitation. Moreover, it is evident that many alternatives, modifications and variations will be apparent to those skilled in the art. Accordingly, it is intended to embrace all such alternatives, modifications and variations that fall within the spirit and broad scope of the appended claims and their equivalents.
Any element in a claim that does not explicitly state “means for” performing a specific function, or “step for” performing a specific function, is not to be interpreted as a “means” or “step” clause as specified in 35 U.S.C. § 112, ¶6.
This application claims the benefit of U.S. Provisional Patent Application Ser. No. 60/716,490, filed on 14 Sep. 2005, which is incorporated herein by reference.
Number | Date | Country | |
---|---|---|---|
60716490 | Sep 2005 | US |