Systems and methods for automating ICS processes using artificial intelligence / machine learning
By applying artificial intelligence/machine learning technology in integrated cloud services (ICS), the next action prediction service is provided, which solves the problems of inefficiency and high error rates when creating ICS processes, and achieves faster, accurate and efficient process development.
Patent Information
- Application Number
- CN201980077673.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2019-09-10
- Filing Date
- 2019-10-15
- Publication Date
- 2025-03-14
- Estimated Expiration
- 2039-10-15
AI Technical Summary
When creating an Integrated Cloud Service (ICS) process, users need to manually complete complex and repetitive steps, resulting in inefficient development and high error rates.
By using artificial intelligence/machine learning technology, we provide next action prediction services to help users quickly model processes and follow best practices. The system recommends appropriate process steps and connection configurations in real time by analyzing user context and process patterns.
Significantly reduces the time and error rate required to create an integration process, improves development efficiency, and optimizes the overall performance of the process.
Smart Images

Figure CN113168422B_ABST
Abstract
Description
[0001] Copyright Notice
[0002] A portion of the disclosure of this patent document contains material that is subject to copyright protection. The copyright owner has no objection to the facsimile reproduction by anyone of the patent document or the patent disclosure, as it appears in the Patent and Trademark Office patent file or records, but otherwise reserves all copyright rights whatsoever.
[0003] Priority claim:
[0004] This application claims priority to the following patent applications: U.S. Patent Application No. 16 / 566,490, filed on September 10, 2019, entitled “SYSTEM AND METHOD FOR AUTO-COMPLETION OF ICS FLOW USING ARTIFICIAL INTELLIGENCE / MACHINE LEARNING”; U.S. Patent Application No. 16 / 566,504, filed on September 10, 2019, entitled “SYSTEM AND METHOD FOR NEXT STEP PREDICTION FOR ICS FLOW USING ARTIFICIAL INTELLIGENCE / MACHINE LEARNING”; U.S. Patent Application No. 16 / 566,504, filed on September 10, 2019, entitled “SYSTEM AND METHOD FOR NEXT OBJECT PREDICTION FOR ICS FLOW USING ARTIFICIAL INTELLIGENCE / MACHINE LEARNING”; U.S. Patent Application No. 16 / 566,513, filed on September 10, 2019, entitled “SYSTEM AND METHOD FOR NEXT OBJECT PREDICTION FOR ICS FLOW USING ARTIFICIAL INTELLIGENCE / MACHINE LEARNING”, U.S. Patent Application No. 16 / 566,511; and Indian Patent Application No. 201841039490, entitled “SYSTEM AND METHOD FOR AUTO-COMPLETIONOF ICS FLOW USING ARTIFICIAL INTELLIGENCE / MACHINE LEARNING”, filed on October 18, 2018, which are incorporated herein by reference. Technical Field
[0005] Embodiments of the present invention generally relate to integrated cloud services, and in particular, to using artificial intelligence and / or machine learning to automate processes in integrated cloud services. Background Art
[0006] Integration Cloud Service (ICS) (e.g., Oracle Integration Cloud Service) is a simple and powerful integration platform in the cloud that facilitates the utilization of products such as Software as a Service (SaaS) and on-premises applications. ICS can be provided as an Integration Platform as a Service (iPaas) and can include a web-based integration designer for point-and-click integration between applications, a rich monitoring dashboard that provides real-time insights into transactions. Summary of the invention
[0007] According to an embodiment, this document describes a system and method for automatically completing ICS processes using artificial intelligence / machine learning. Next action prediction is a service that helps users quickly model processes by predicting and suggesting the next set of actions that users may be considering adding. The service also helps users follow some best practices when creating integration processes. BRIEF DESCRIPTION OF THE DRAWINGS
[0008] Figure 1 An integrated cloud service according to an embodiment is illustrated.
[0009] Figure 2 An integrated cloud service according to an embodiment is illustrated.
[0010] Figure 3 The ICS design according to an embodiment is illustrated.
[0011] Figure 4 A system for supporting the automation of ICS processes using AI / ML according to an embodiment is illustrated.
[0012] Figure 5 An exemplary flow chart decision tree is illustrated according to an embodiment.
[0013] Figure 6 A hierarchical tree structure for use in supporting a system to automate ICS processes using AI / ML according to an embodiment is shown.
[0014] Figure 7 A mapping of contexts to integration flows according to an embodiment is shown.
[0015] Figure 8 A mapping of contexts to integration flows according to an embodiment is shown.
[0016] Fig. 9 An exemplary ranking simulator according to an embodiment is shown.
[0017] Fig.10 A flow chart illustrating a method of using artificial intelligence / machine learning to support automated completion of ICS (Integrated Cloud Services) processes.
[0018] Fig.11 An exemplary flow chart decision tree is illustrated according to an embodiment.
[0019] Fig.12 A flow chart showing an exemplary method for using artificial intelligence / machine learning to predict the next step of an ICS (Integrated Cloud Services) process.
[0020] Fig.13 An exemplary flow chart decision tree is illustrated according to an embodiment.
[0021] Fig.14 A flow chart showing an exemplary method for using artificial intelligence / machine learning to make next object predictions for an ICS (Integrated Cloud Services) process. DETAILED DESCRIPTION
[0022] The foregoing and other features will become apparent by reference to the attached description, claims and drawings. Specific details are set forth to provide an understanding of the various embodiments. However, it will be apparent that the various embodiments may be practiced without these specific details. The attached description and drawings are not intended to be limiting.
[0023] Integration platforms as a service, such as Oracle Integration Cloud Service (ICS), provide a cloud-based platform for building and deploying integration flows that connect applications that reside in the cloud or on-premises.
[0024] Integrated cloud services
[0025] Figure 1 An ICS platform for designing and executing ICS integration processes according to an embodiment is illustrated.
[0026] like Figure 1 As shown in FIG. 1 , the ICS platform may include a design-time environment 120 and a runtime environment 163. Each environment may be executed on a computer (eg, computer 101 or 106) including one or more processors.
[0027] According to an embodiment, the design-time environment includes an ICS web console 122 that provides a browser-based designer to allow integration process developers to build integrations using the client interface 103 .
[0028] According to an embodiment, the ICS design-time environment may be preloaded with connections to various SaaS applications or other applications, and may include a source component 124 and a target component 126. The source component may provide definitions and configurations for one or more source applications / objects; and the target component may provide definitions and configurations for one or more target applications / objects. The definitions and configurations may be used to identify application types, endpoints, integration objects, and other details of the applications / objects.
[0029] like Figure 1 As further shown in , the design-time environment may include a mapping / transformation component 128 for mapping the content of an incoming message to an outgoing message, and a message routing component 130 for controlling which messages are routed to which destinations based on the content or header information of the message. In addition, the design-time environment may include a message filtering component 132 for controlling which messages are to be routed based on the content of the message or the header information of the message, and a message sorting component 134 for rearranging a stream of related but out-of-sequence messages back into a user-specified order.
[0030] According to an embodiment, each of the above components, like the source and target components, may include design-time settings that may be persisted as part of the process definition / configuration.
[0031] According to an embodiment, a process definition specifies the details of an ICS integration process; and covers both static constructs (e.g., message routers) and configurable aspects (e.g., routing rules) of the integration process. A fully configured process definition and other required artifacts (e.g., jca and .wsdl files) taken together can be referred to as an ICS project. An ICS project can fully define an integration process and can be implemented by an underlying implementation layer.
[0032] According to an embodiment, the policy component 136 may include a plurality of policies that govern the behavior of the ICS environment. For example, a polling policy may be configured for a source-pull messaging interaction (ie, query style integration) of a source application to invoke an outbound call to the source application via time-based polling.
[0033] According to an embodiment, other policies may be specified for security privileges when routing messages to target applications; for logging message payload and header fields during process execution for subsequent analysis via a monitoring console; and for message throttling, which is used to define multiple instances that an enterprise service bus (ESB) service can generate to accommodate requests. In addition, policies may be specified for monitoring / tracking integration processes at the process level; and for verifying that messages being processed by the ICS platform are based on known schemes.
[0034] According to an embodiment, an integration developer may drag and drop components onto the development canvas 133 for editing and configuration for use in designing an integration flow.
[0035] As further shown, the runtime environment may include application server 162, ICS runtime engine 166, storage service 168, and messaging service 170 on top of enterprise service bus component 172. User interface console 164 may be used to monitor and track the performance of the runtime environment.
[0036] Figure 2 An integrated cloud service according to an embodiment is illustrated.
[0037] like Figure 2 As shown in , ICS 207 can provide cloud-based integration services for designing, executing, and managing ICS integration processes. ICS can include a web application 209 and an ICS runtime 215 executed on an application server 217 in an enterprise cloud environment (e.g., Oracle Public Cloud) 201. The web application can provide a design time that exposes multiple user interfaces for users to design, activate, manage, and monitor ICS integration processes. The activated ICS integration process can be deployed and executed on the ICS runtime.
[0038] According to an embodiment, multiple application adapters 213 may be provided to simplify the task of configuring connections to multiple applications by handling the underlying complexity of connecting to these applications. The applications may include enterprise cloud applications of the ICS vendor 205, third-party cloud applications (e.g., Salesforce) 103, and on-premises applications 219. The ICS may expose Simple Object Access Protocol (SOAP) and Representational State Transfer (REST) endpoints to these applications for use when communicating with these applications.
[0039] According to an embodiment, an ICS integration process (or ICS integration) may include a source connection, a target connection, and a field mapping between the two connections. Each connection may be based on an application adapter and may include additional information required for the application adapter to communicate with a specific instance of an application.
[0040] According to an embodiment, an ICS integration process and multiple other required artifacts (e.g., JCA and WSDL files) can be compiled into an ICS project, which can be deployed and executed in the ICS runtime. A variety of different types of integration process patterns can be created using the web UI application, including data mapping integration processes, publishing integration processes, and subscription integration processes. To create a data mapping integration process, an ICS user can define a source application and a target application in a development interface using an application adapter or an application connection, and define a routing path and data mapping between the source application and the target application. In a publishing integration process, a source application or service can be configured to publish messages to the ICS via a predefined messaging service. In a subscription integration process, a target application or service can be configured to subscribe to messages from the ICS via a messaging service.
[0041] Figure 3 The ICS design according to an embodiment is illustrated.
[0042] According to an embodiment, a user 320 may use a development interface (eg, development canvas) 310 in a web UI application to create an ICS integration flow using multiple existing connections 301 (eg, connection A 303, connection B 305, and connection N 307).
[0043] like Figure 3 As shown in , a particular connection (e.g., connection A) can be dragged and dropped 311 to the development interface as a source connection 313, and connection N can be dragged and dropped 309 to the development interface as a target connection 315. The source connection can include information required to connect to a source application and can be used by the ICS to receive requests from the source application. The target connection can include information required to connect to a target application (e.g., a Salesforce cloud application) and can be used by the ICS to send requests to the target application.
[0044] According to an embodiment, the source connection and the target connection may be further configured to include additional information. For example, the additional information may include the type of operation to be performed on the data associated with the request, and the objects and fields for these operations.
[0045] According to an embodiment, once the source connection and the target connection are configured, the mapper between the two connections can be enabled, and a mapper icon (e.g., mapper icon A 317 and mapper icon B 318) can be displayed for opening the mapper so that the user can define how to pass information between the source data object and the target data object for request messages and response messages.
[0046] According to an embodiment, the mapper may provide a graphical user interface for a user to map items (e.g., fields, attributes, and elements) between a source application and a target application by dragging a source item onto a target item. When a mapper for a request or response message in an ICS integration flow is opened, source data objects and target data objects may be automatically loaded using source and target connections.
[0047] According to an embodiment, a lookup may be provided to facilitate the creation of a mapping. As used herein, a lookup is a reusable mapping of different codes and terms used to describe the same item in an application. For example, one application uses a specific set of codes to describe a country, while another application uses a different set of codes to describe the same country. Lookups can be used to map these different codes between different applications.
[0048] As mentioned above, the development of an integration process can be a complex endeavor that requires the definition of various components before the integration process can be successfully deployed and executed. Some components in an integration process need to be defined, while others are optional. Further complicating the development process is that defining optional components may result in additional required components, and depending on the order in which the integration components are defined, the required components may be different at any point during the development effort.
[0049] Using AI / ML to automate ICS processes
[0050] According to an embodiment, next action prediction is a service that helps clients quickly model processes by predicting and suggesting the next set of actions that users may be considering adding. The service also helps users follow some best practices when creating integration processes.
[0051] According to an embodiment, the systems and methods provided herein include solutions to problems faced by users of ICS systems. For example, suppose a user is trying to create a "Credit Card Application Processing" process. For an expert user, any application processing process will have basic pre-processing steps, such as address and personal details verification, etc. For an expert user, this may seem like a monotonous task as they have to do the same set of processes themselves. For a novice user, creating such a process will be challenging for them as it will be difficult for them to create the process from scratch and they may miss necessary steps when creating the integration process. This may then lead to more time-consuming problems in which they have to consult with peers to understand best practices for creating processes, read / learn about business processes on the internet, etc.
[0052] According to an embodiment, the systems and methods described herein can leverage AI / ML to improve integration processes by allowing customers to design solutions with minimal effort. This can enable the use of an ICS process designer to predict the integration processes that a user is most likely to build based solely on the user context; and the context of the user and the process. For example, a mortgage clerk in a bank logs in to design a mortgage approval process; the mortgage clerk can be presented with a list of ICS processes that have implemented the mortgage approval process and are production-worthy. The prediction data (including workflow and functional processes) can be stored in an accessible location.
[0053] According to an embodiment, the systems and methods described herein can reduce the amount of time required to create a process by providing real-time prompts to a user who is currently modeling the process. In addition, the systems and methods described herein can also allow for reduced error rates with respect to the process, increased performance of the process, and overall optimization of the process within the ICS compared to existing mechanisms.
[0054] Figure 4 A system for supporting the automation of ICS processes using AI / ML according to an embodiment is illustrated.
[0055] According to an embodiment, a user may use a development interface (eg, development canvas) 410 in a web UI application to create an ICS integration flow using multiple connections 401 (eg, connection A 403 , connection B 405 , and connection N 407 ).
[0056] like Figure 4 As shown in , a particular connection (e.g., connection A) may be dragged and dropped 411 to the development interface as a source connection 413. Alternatively, depending on the context from the client interface 420, source connections 413 may be recommended 411 and populated based on interaction with an auto-completion engine 430 that is associated / in communication with a connection library 431.
[0057] According to an embodiment, depending on the context received from the client interface, the development interface may allow the user to drag and drop (412, 413) different connections from an existing library of connections, or the development interface may present a populated grid of selectable connections (415, 416) that may be selected via the user interface. According to an embodiment, the context may be associated with a source connection, which may include information required to connect to a source application and may be used by the ICS to receive requests from the source application.
[0058] According to an embodiment, the source connection and the target connection may be further configured to include additional information. For example, the additional information may include the type of operation to be performed on the data associated with the request, and the objects and fields for these operations.
[0059] According to an embodiment, the recommended connections displayed via the client interface may be updated in real time based on selections received from the client interface. Additionally, the recommended connections may be provided based on the context of the process to be modeled. As the process grows, the context associated with the process also grows. Based on the context, the real-time recommendations may be changed to be more granular and more accurate.
[0060] According to an embodiment, upon selection of one of the real-time recommended connections, the systems and methods described herein may automatically configure the selected portion of the flow. This automatic configuration may be overridden if desired. Additionally, based on subsequent selections of the recommended connections, other recommended portions of the ICS flow may be altered, updated, reconfigured, deleted, or added, etc.
[0061] According to an embodiment, the process of creating an integrated flow can be simplified because the described auto-completion can group the basic steps together and then free the user to focus on other more sensitive parts of the flow. In addition, as the context grows, the described systems and methods can automatically add to the flow the steps that are expected or necessary based on the context of the flow.
[0062] According to an embodiment, the ICS designer can present recommended ICS processes based on user context. The user context considers the organization, subsidiary (if applicable), department, sub-department (if applicable), and user information used to generate the context; the most important part of the context is the user's job description. The designer can present the ICS process (including all related files and connectors) as a single virtual project that can be previewed. If the recommended ICS process meets the user requirements; they can select the ICS process; a virtual project will be created that the user can preview including testing it. Then, if the project meets the requirements (for example, if the process is certified and works), then the project can be saved to a physical entity.
[0063] In the embodiments described herein, the process file may be referred to as JSON or a JSON file. It will be readily appreciated by those skilled in the art that the systems and methods described herein may utilize different or alternative file formats and achieve the same or similar results.
[0064] Similarity score for pattern / process predictions
[0065] According to an embodiment, the systems and methods herein can use a pattern recognition model mechanism for a JSON model to predict application flows, such as ICS flows. In this model, a similarity score can be generated to indicate how well the input / source JSON matches the stored JSON schema.
[0066] According to an embodiment, the method / model can identify structurally and semantically similar process file patterns based on input / source process files. Structural and semantic similarities can be determined by comparing two or more process files (e.g., two or more JSONs) to determine the degree of similarity of each field of the files. For string fields within process files, natural language processing can be used to determine the degree of similarity of words or sentences. For numeric and date fields, the system and method can determine the degree of deviation between them. A similarity score can be generated for each field.
[0067] According to an embodiment, a process file (such as a JSON file) may consist of objects, arrays, and primitive fields of string, numeric, and Boolean types. The JSON pattern recognition mechanism is based on generating a similarity score for each field, which is then integrated into a composite similarity score for objects and arrays, and finally integrated into a similarity score for a root JSON object or array.
[0068] According to an embodiment, each source JSON raw field is compared to a target JSON field using both keys and values. Keys can be compared using natural language processing (NLP), while values can be compared based on their types. That is, for example, string field NLP is used while calculating numeric field distances. Field comparison can result in generating a similarity score. For example, consider a target JSON for a purchase order, as shown below:
[0069]
[0070] According to an embodiment, the systems and methods described herein may obtain a first string from a JSON purchase order and compare it against an input JSON pattern to determine a similarity score. For example, the input JSON pattern may include a snippet:
[0071] {
[0072] "name":"Jonn Smith"
[0073] }
[0074] Then, according to an embodiment, the method / model can identify structurally and semantically similar process file patterns based on a comparison of the two JSON files. In the above case, since the "name" field in the target file exactly matches the "name" field of the input / source file, the method / model can produce a perfect similarity score (e.g., a similarity score of "1.0"). Similarly, if the input / source file contains a "title" field instead of a "name" field, but the value "John Smith" is the same, then the method / model may result in a high similarity score, but not a perfect score (e.g., a score of "0.9"), because the field "title" is a synonym of "name".
[0075] According to an embodiment, a similarity score for a field (e.g., a JSON field) may be generated using the following formula:
[0076]
[0077] According to an embodiment, the similarity score for a numeric field can be found by finding the percentage distance from the target value. For example, when looking at the above source JSON file, if the input / source JSON fragment contains "price:23.95", then the similarity score will be a perfect 1.0 because not only is the natural language a perfect match, but the value is also a perfect match. However, if the fragment of the input JSON file contains "price:22.95", then the method / model will produce a similarity score of "0.9791". This can be found using the following formula:
[0078] keyFormula=NLP Match Similarity Score
[0079]
[0080]
[0081] According to an embodiment, if the input / source code snippet includes "price:22.95", then the above "keyFormula" results in a score of 1.0 due to natural language processing being an exact match. However, the value formula scores .9582, which means that the similarity score for the entire field is (1+.9582) / 2, resulting in a similarity score of .9791.
[0082] According to an embodiment, the model / method described herein may support field object type pattern recognition (e.g., JSON field object type pattern recognition). JSON object type pattern recognition may generate an aggregated average similarity score based on similarity scores from individual fields. For example, an input flow (e.g., JSON flow) pattern may contain a fragment:
[0083]
[0084] According to an embodiment, since the field similarity score and the field formula score of the "name" field are both perfect 1.0, the similarity score generated by the above example will be perfect 1.0.
[0085] According to an embodiment, for example, if a segment of an input flow (e.g., a JSON flow) is not an exact match for natural language processing, but is, for example, a synonym, then the similarity score may be lowered. As an example, assuming that the segment in the input flow includes:
[0086]
[0087] According to an embodiment, the similarity score will then be reduced from 1.0 because only one of the two segments of the input flow is an exact match based on both the natural language processing (i.e., the "keysimilarity score" field) and the value (i.e., the "price" field and value). The other value includes "title" instead of "name". However, since "title" is a synonym of the target flow, the similarity score will not be significantly reduced. Using the example above, the total similarity score for this segment can be 0.975. This can be derived from the following formula:
[0088]
[0089] According to an embodiment, if "title" is given a key similarity score of 0.9, then the total similarity score of the above snippet may be calculated as:
[0090]
[0091] According to an embodiment, for example, if a segment of the input flow (e.g., JSON flow) is not an exact match for natural language processing, but is, for example, a synonym, then the similarity score may be further reduced. As an example, assume that the segment in the input flow includes:
[0092]
[0093] According to an embodiment, the similarity score will then be reduced from 1.0 because neither of the two fragments of the input process is an exact match in terms of natural language processing (i.e., the "key similarity score" field). Both key fields are synonyms of the target process. Because "title" is a synonym of the target process and "cost" is a synonym of the target process, the similarity score will not be significantly reduced. Using the above example, the total similarity score for this fragment can be 0.95.
[0094] According to an embodiment, if "title" and "cost" are assigned a key similarity score of 0.9, then the total similarity score of the above snippet may be calculated as:
[0095]
[0096] Field array type pattern recognition for similarity scores
[0097] According to an embodiment, the methods / models described herein can utilize field array type pattern recognition. Such array type pattern recognition (e.g., JSON array type pattern recognition) can generate an aggregated average similarity score from the similarity scores of the individual fields based on considering the offset within the array. As an example, assume that the following contains the input source array pattern:
[0098]
[0099] Additionally, assume that the target array pattern includes an exact match, that is:
[0100]
[0101] According to an embodiment, the similarity score for the array will then be a perfect 1.0.
[0102] According to an embodiment, to determine the field similarity score of a field in an array, the following formula may be used:
[0103]
[0104]
[0105] According to an embodiment, to determine the similarity score of a field array, the following formula may be used:
[0106]
[0107] According to an embodiment, for example, if the same input source array pattern as above matches the target source array pattern shown immediately below, then the array similarity score will be 0.8:
[0108]
[0109]
[0110] Compute the similarity score of an array:
[0111]
[0112] Figure 5 An exemplary flow chart decision tree is illustrated according to an embodiment.
[0113] According to an embodiment, a user may select a first portion of an integrated process, which is displayed in a non-shaded portion 501 of a process designer 500. From the beginning of the integrated process, depending on the user's context, the system and method may present multiple options 503-507 to the user for various selections. As shown, option 505 is currently being displayed in window 502 (current selection window). Additional process recommendations may be provided as card layouts that may be selected. After selecting a particular process, the ICS designer displays the entire process. Button navigation may also be provided.
[0114] Depending on the embodiment, a recommended treatment for a process may not be selected (e.g., where the recommendation is not the correct recommendation). In this case, other treatment recommendations may be presented consistently as predictions within a "prediction plane" as depicted in the process in the shaded area of the figure. This then provides the option to select individual tasks or the entire process. The system and method may also present a card layout that can be flicked through all possible recommendations to complete the process. This may allow navigation to see what each predicted ICS process looks like and how it behaves. As each option is selected, the process may be tested in real time. Testing may provide a functional and performance profile before a process is finally selected.
[0115] Depending on the embodiment, the process in 502 can be displayed in a variety of different ways. The process can be displayed as a complete process (already tested and qualified) as shown. Alternatively, the optional process can be presented in an overlay manner (e.g., a dashed outline), where only the next set number of process steps are displayed to the user until an instruction to select one of the presented options is received. Alternatively, the optional process can be displayed as a completed process, but in an overlay manner, allowing the user to select different parts of the completed process to view different branching options that can be selected.
[0116] Processing model predictions
[0117] According to an embodiment, the systems and methods herein provide a hierarchical clustering model for invariant pattern recognition of process models. In this model, knowledge about how to design a process is learned and encapsulated as a hierarchy of clusters of process models based on user and process context, where the most accurate clusters are the leaves of the clustering tree. The knowledge is encoded in a tree structure that can be queried based on user and process context.
[0118] According to an embodiment, reorganizing a process model is a complex and time-consuming task. The system and method can identify patterns by matching small fragments of larger existing patterns. The system and method can predict process models by hierarchical clustering of process models based on user and process context. Clustering on process context can be based on identifying XML / JSON patterns.
[0119] Figure 6 A hierarchical tree structure for use in supporting a system to automate ICS processes using AI / ML is shown according to an embodiment. More particularly, Figure 6 A self-designing enterprise system according to an embodiment is shown.
[0120] According to an embodiment, learning and pattern recognition algorithms utilize this hierarchical structure. These nodes model clustered areas based on context. A node can have several children and a parent. The input model enters nodes at various levels based on context. At each level, a node has children, which are clusters of similar models based on the parent context hierarchy. The hierarchy of nodes is based on context; the top level is the root context, followed by the company type context, which can have subsidiaries, followed by department types and sub-departments, followed by user context; and finally the work type context. Each of these tree nodes is indexed.
[0121] As an example, the structure may include a root context 600 that may be associated with multiple model clusters 601-603. Below the root context may be a company type context 610 that may be associated with multiple model clusters 611-613. Below the company type context may be a department type 620 that may be associated with multiple model clusters 621-623. Below the department type may be a job type 630 that may be associated with multiple model clusters 631-633.
[0122] According to an embodiment, each model cluster may be pre-populated with a plurality of evaluated and certified integration flows. Each of these integration flows may be stored, for example, in a storage device associated with an auto-complete engine. For example, assume that model cluster 631 handles point-of-sale integration flows. Then, a user classified as work type 630 may be presented with a plurality of integration flows from model cluster 631 when logging in and indicating a point-of-sale flow.
[0123] According to an embodiment, model cluster 621 may also be associated with multiple evaluated and certified integration flows. If the user declines to select any of the multiple integration flows from model cluster 631, the tree may move back to department type 620 (also contextually associated with the user) and present the user with multiple flows from model cluster 621. This recursive situation may continue as long as the user continues to decline to select any of the presented flows.
[0124] Depending on the embodiment, each of the multiple processes can be presented to the user as a complete process, or can be presented to the user in a step-by-step manner, where each subsequent selection causes the system and method to present multiple options to select from the correct model cluster 631.
[0125] According to an embodiment, the self-learning algorithm can Figure 6 The self-learning algorithm operates on the hierarchical data structure shown in . The hierarchical data structure is initialized with the collected data, which consists of models that are already in production, thus ensuring the quality of the data. After introducing changes / additions, the algorithm can automatically rebuild the model clusters in the hierarchy. Then, the new model is put into production for a specific context. The self-learning algorithm first puts the model into one of the root model clusters based on its syntactic and semantic similarity. Next, based on the company, department, job, and user context, it updates the remaining hierarchical model clusters.
[0126] According to an embodiment, a pattern recognition algorithm can be based on identifying sent input patterns by looking at context information and generating keys that can be used to identify similar models in the current (sent) context. Based on the degree of match between the company, department, job, and user contexts and the pre-computed model clusters, model patterns are identified that are ranked from more accurate to less accurate; recommendations are further ranked from most accurate to least accurate based on a combination of company, department, job, and user contexts, i.e., company, department, job, and user contexts, followed by company, department, and job contexts, followed by company and department and company contexts.
[0127] According to an embodiment, the system and method will not generally present less accurate recommendations to the user. However, if the user does not select a more accurate model, then the algorithm may determine that the desired model is more general. For example; for a physicist who only buys physics books related to quantum mechanics; the system will most likely recommend books on quantum mechanics. However, suppose the physicist is interested in reading philosophy, so he / she rejects the recommendation for books on quantum mechanics. The recommendation system then knows from the user context that the physicist is interested in philosophy, so the next recommendation may be philosophy books based on the user's interest in the subject. Therefore, the system first makes recommendations purely based on the pattern itself; the user has never purchased a book that is not related to quantum mechanics; therefore, if he / she rejects this recommendation, then the next recommendation we present to him / her is based on the subject he / she likes, in this case philosophy. The next time the same user logs in, we will give a recommendation that includes some philosophy books.
[0128] According to an embodiment, the system and method can provide recommendations based on user context plus model patterns that take into account the structure and semantics of the model. Figure 7 . The user can create the first activity as a receive activity; the recommendations generated will be based on the user context 701 plus the structure and semantics of the designed process. The system and method can match all clusters 705 with similar context and models starting with a receive activity plus semantic similarity to the name, document, etc. of the process and receive activity. As shown, only three clusters 702-704 are shown, but more clusters can be included in the system and presented via the user interface.
[0129] According to the embodiment, it can be expanded Figure 7 Models such as Figure 8 By extending Figure 7 The recommendation for the model with receiving and calling tasks will be based on clusters 805 with similar context 801 plus processes with receiving and calling activities (structures) plus similar semantics of receiving similar messages for similar resources and calling similar resource methods with similar inputs, outputs and failure modes. As shown, only three clusters 802-804 are shown, but more clusters can be included in the system and presented via the user interface.
[0130] Fig. 9 An exemplary ranking simulator according to an embodiment is shown.
[0131] According to an embodiment, a JSON input schema may be received 901. Similarity-based 902 pattern recognition may be run on the JSON input schema using inputs from the JSON input schema (e.g., "swagger," "info.version," and "info.title") to rank a plurality of output JSON schemas 903-905 that have matched the JSON input schema.
[0132] Fig.10 A flow chart illustrating a method for using artificial intelligence / machine learning to support automated completion of ICS (Integrated Cloud Services) processes.
[0133] At step 1010, the method may provide a computer including one or more microprocessors.
[0134] At step 1020, the method may start an integration map.
[0135] At step 1030 , the method can collect user context.
[0136] At step 1040 , the method may provide a plurality of flow predictions based on the collected user context.
[0137] Next activity prediction based on pattern recognition
[0138] According to an embodiment, the systems and methods described herein may provide next activity predictions based on pattern recognition within a flow (such as an ICS flow) in a file format (such as a JSON file). This may be described as next activity prediction based on pattern recognition (e.g., within a JSON schema). Next activity predictions may be made within multiple contexts based on precise or partial contexts. The next task may be predicted based on all previous tasks, or may be predicted based on a general context that takes into account the frequency of tasks available within a scope.
[0139] According to an embodiment, after performing pattern recognition (e.g., ICS JSON pattern recognition) and identifying a pattern, the next step prediction engine can calculate a possible (e.g., "most" likely) next step sequence based on an exact or partial match (i.e., all previous tasks fully or partially match). The system and method can also calculate a next task sequence based on a closed range (i.e., what is the most likely next task for a specific range without relying on previous tasks).
[0140] According to an embodiment, process pattern recognition (e.g., ICS process JSON pattern recognition) can result in a subset of models that most closely matches the design process. Based on this subset, the next activity sequence can be predicted as a perfect / partial match and range prediction.
[0141] Perfect / Partial Match
[0142] According to an embodiment, when the methods and systems described herein perform perfect or partial matching to predict the next activity, the systems and methods can use pattern recognition of existing processes to rank potential next task sequences based on frequency of occurrence. For example, in the following process containing a "sales account creation" process, assume that the user is designing the process and has reached the assignment step of mapping the account business object to the sales cloud account business object. Based on this input, the pattern recognition system identifies up to 25 existing processes (i.e., the process being designed) that closely match the input pattern.
[0143]
[0144] According to an embodiment, the systems and methods herein may include or have access to multiple target models that may be used in next activity prediction. For simplicity, assume that the following three target models are used in the next activity prediction method / model.
[0145] Model 1:
[0146]
[0147]
[0148] Model 2:
[0149]
[0150]
[0151] Model 3:
[0152]
[0153]
[0154] According to an embodiment, pattern recognition can match all three processes and generate a ranking of what the next task is most likely to be based on the matches. This can then be provided to the user / developer. An example of such a result of such a match is shown below:
[0155]
[0156]
[0157]
[0158] According to an embodiment, the system and method ranks potential next tasks in order of most likely to least likely: an "invoke" task followed by an "if" because it has a higher frequency of occurrence at index 3 of the sequence activity.
[0159] According to an embodiment, based on pattern recognition, in addition to predicting the entire process, the method can also generate a mechanism in which the "next step" can be predicted. This is then based on the models that have been matched. A statistical method is used to determine the "next step" that is used most in the matching process from the first prediction. For example, if the user enters the "Router" task, then at the highest index (index 0), the highest probability of the next step is likely to be "Transformer", whose target is rest, and then the next possibility is the "rest" call, and then the next most likely is transform rest. The system can then go to index 1 - this is then the next step. At each index or sequence number, a probability of which activity is most likely to be performed is generated.
[0160] Fig.11 An exemplary flow chart decision tree is illustrated according to an embodiment.
[0161] According to an embodiment, a user may select a first portion of an integrated process, which is shown in a non-shaded portion 1101 of the process designer 1100. From the beginning of the integrated process, depending on the user's context, the system and method may present multiple next task options 1103-1107 to the user for various selections. As shown, a predicted next task option 1105 is currently displayed in window 1102 (current selection window). Additional next task recommendations may be provided as card layouts that may be selected. After selecting a specific recommended / predicted next task, the ICS designer may display additional predicted next tasks (at the index that follows).
[0162] According to an embodiment, although only two sequential indexes of a process are shown, it should be readily understood that the systems and methods described herein may display more than one next index level of predicted tasks, and the next task prediction may be based on more than one task index.
[0163] Depending on the embodiment, the recommended next task may not be selected for the process (e.g., where the recommendation is not the correct recommendation). In this case, other next task recommendations may be consistently presented as predictions within a "prediction plane" as depicted by the processes in the shaded area of the figure. This then provides the option to select individual tasks or the entire process. The system and method may also present a card layout that can be flicked through for all possible recommendations to complete the process. This may allow navigation to see what each predicted ICS process looks like and how it behaves. As each option is selected, the process may be tested in real time. Testing may provide a functional and performance profile before the process is finally selected.
[0164] Fig.12 A flow chart showing an exemplary method for using artificial intelligence / machine learning to predict the next step of an ICS (Integrated Cloud Services) process.
[0165] At step 1210, the method may provide a computer including one or more microprocessors.
[0166] At step 1220, the method may initiate an integration flow chart.
[0167] At step 1230 , the method can collect user context.
[0168] At step 1240 , the method may provide multiple next step predictions in an integrated flow graph based on the collected user context.
[0169] At step 1250, the method may receive a selection of a selected next step prediction from among a plurality of next step predictions.
[0170] Predict active applications, operations, and business objects based on pattern recognition
[0171] According to an embodiment, the systems and methods described herein may provide a mechanism for ranking applications, operations, and business objects referenced by an activity based on pattern recognition (e.g., JSON pattern recognition). The rankings of applications, operations, and business objects referenced by an activity may be calculated in multiple contexts. For example, these contexts may be based on precise / partial contexts (i.e., rankings are calculated based on all previous tasks). According to an embodiment, the prediction may be additionally or alternatively based on a general context that takes into account the frequency of applications, operations, and business objects referenced by a particular task.
[0172] According to an embodiment, after identifying a schema (e.g., ICS JSON schema) based on an input model (a model of the process being designed), the ranking engine can calculate the model ranking based on exact / partial matches. For example, this can be done based on all previous task matches. According to an embodiment, the system can also calculate the model ranking purely based on closed scope (i.e., what are the most likely applications, operations, and business objects for a particular task).
[0173] According to an embodiment, a process pattern (eg, ICS JSON process) identifies a subset of models that results in the closest match to the design process (input). Based on this subset of matching ICS models, a ranking of applications, operations, and business objects is determined.
[0174] Perfect / Partial Match
[0175] According to an embodiment, the system and method can rank the applications, operations, and business objects referenced by a particular task based on the frequency of occurrence of them based on pattern recognition of existing processes (e.g., the JSON schema of the ICS process). To illustrate this, take the following "Sales Account Creation" ICS process as an example. In such an example, assume that the user is in the process of designing this ICS process and has reached the assignment step of mapping the sales account business object to the sales cloud account business object. Based on this input, the pattern recognition system identifies multiple existing processes (ICS processes being designed) that closely match the input pattern. An exemplary input process is provided below:
[0176]
[0177]
[0178] According to an embodiment, and to simplify the example, it is assumed that 3 existing processes match the input process from the existing database. The three matching processes are provided below:
[0179] Model 1:
[0180]
[0181]
[0182] Model 2:
[0183]
[0184]
[0185] Model 3:
[0186]
[0187]
[0188] According to an embodiment, a pattern recognition system and method (e.g., a JSON pattern recognition system and method) may match all three models described above and calculate rankings of applications, operations, and business objects based on the matching:
[0189]
[0190]
[0191]
[0192] According to an embodiment, for the call task, the ranking system ranks the "Cloud Sales Cloud" application higher than the "Other Cloud Sales Cloud" application. In this way, if a user creates a new "Call" task, the system can present the user with the option to select "Cloud Sales Cloud" as the primary / preferred / first option. This is done because the system is more likely to be triggered by a create account event in sales. That is, the training data contains more processes that start with a "Sales" receipt, followed by an allocation, and finally a call to "Cloud Sales Cloud".
[0193] According to an embodiment, the system and method can rank the applications, operations, and business objects referenced by a particular task independently based on location. For example, take the "HR (Human Resources) Account Creation" ICS process provided below. Here, the user is in the process of designing an ICS process and has reached the assignment step of mapping the "Feasible HR Account" business object to the Cloud HR Cloud Account business object. Based on this input, the pattern recognition system identifies multiple existing processes (ICS processes being designed) in, for example, a training database that closely matches the input pattern. The example input process is here:
[0194]
[0195]
[0196] According to an embodiment, although the existing process does not have a "feasible HR account" business object, the system and method can match the input process with multiple similar existing processes in the training database. In this case, there is no exact match for the process that starts with feasible create account because the system has not seen this information before it makes a general prediction. If the third task is a call, then based on the system's general prediction, the user may want to create a sales account; this is what other users usually do when using the call activity. This can be understood from the matched process, here:
[0197]
[0198]
[0199]
[0200] Fig.13 An exemplary flow chart decision tree is illustrated according to an embodiment.
[0201] According to an embodiment, a user may select the first action of the integration process, which is displayed in the non-shaded portion 1301 of the process designer 1300. From the beginning of the integration process, the system and method may predict multiple processes that have been stored in the training database. For example, the predicted next action may be presented in various windows, such as 1302-1307. However, after the user selects or indicates a request for the next application, operation, or business object, the system may present, for example, multiple options, such as options AD, to the user in window 1350. These options may include, for example, the predicted next application, operation, or business object. Then, if desired, the user may select one of the presented options, where the presented options may be displayed in order from most likely to least likely based on a match between the input process and the stored completed processes.
[0202] Fig.14 A flow chart of an exemplary method for using artificial intelligence / machine learning to make next object predictions for an ICS (Integrated Cloud Services) process is shown.
[0203] At step 1410, the method may provide a computer including one or more microprocessors.
[0204] At step 1420, the method may initiate an integration flow chart.
[0205] At step 1430 , the method may collect user context.
[0206] At step 1440 , the method may provide a plurality of next object predictions within the integrated flow graph based on the collected user context, wherein each of the plurality of next object predictions includes one of an application, an operation, and a business object.
[0207] At step 1450 , the method may receive a selection of a selected next object prediction from among a plurality of next step predictions.
[0208] Although various embodiments of the present invention have been described above, it should be understood that they are presented by way of example and not limitation. The embodiments are chosen and described in order to explain the principles of the present invention and its practical application. The embodiments illustrate systems and methods in which the present invention is utilized to improve the performance of the systems and methods by providing new and / or improved features and / or providing benefits such as reduced resource utilization, increased capacity, improved efficiency, and reduced latency.
[0209] In some embodiments, features of the present invention are implemented in whole or in part in a computer including a processor, a storage medium such as a memory, and a network card for communicating with other computers. In some embodiments, features of the present invention are implemented in a distributed computing environment, where one or more computer clusters are connected via a network such as a local area network (LAN), a switched fabric network (e.g., InfiniBand), or a wide area network (WAN). A distributed computing environment can have all computers in a single location, or computer clusters in different remote geographic locations connected via a WAN.
[0210] In some embodiments, features of the present invention are implemented in whole or in part in the cloud as part of or as a service of a cloud computing system based on shared elastic resources delivered to users in a self-service, metered manner using Web technologies. Clouds have five characteristics, as defined by the National Institute of Standards and Technology: on-demand self-service; extensive network access; resource pooling; rapid elasticity; and measured services. Cloud deployment models include: public, private, and hybrid. Cloud service models include software as a service (SaaS), platform as a service (PaaS), database as a service (DBaaS), and infrastructure as a service (IaaS). As used herein, a cloud is a combination of hardware, software, network, and web technologies that deliver shared elastic resources to users in a self-service, metered manner. Unless otherwise specified, clouds as used herein include public, private, and hybrid cloud embodiments, as well as all cloud deployment models, including but not limited to cloud SaaS, cloud DBaaS, cloud PaaS, and cloud IaaS.
[0211] In some embodiments, the features of the present invention are implemented using hardware, software, firmware, or a combination thereof or with the help of them. In some embodiments, the features of the present invention are implemented using a processor configured or programmed to perform one or more functions of the present invention. In some embodiments, the processor is a single-chip or multi-chip processor, a digital signal processor (DSP), a system on a chip (SOC), an application-specific integrated circuit (ASIC), a field programmable gate array (FPGA) or other programmable logic device, a state machine, a discrete gate or transistor logic, a discrete hardware component, or any combination thereof designed to perform the functions described herein. In some implementations, the features of the present invention can be implemented by a circuit system specific to a given function. In other implementations, these features can be implemented in a processor that is configured to perform a specific function using instructions stored, for example, on a computer-readable storage medium.
[0212] In some embodiments, features of the present invention are incorporated into software and / or firmware for controlling the hardware of a processing and / or network system, and for enabling a processor and / or network to interact with other systems utilizing features of the present invention. Such software or firmware may include, but is not limited to, application code, device drivers, operating systems, virtual machines, hypervisors, application programming interfaces, programming languages, and execution environments / containers. Based on the teachings of the present disclosure, a skilled programmer can easily prepare appropriate software coding, which is apparent to those skilled in the software field.
[0213] In some embodiments, the present invention includes a computer program product, which is a storage medium or computer-readable medium having instructions stored thereon / inside, which instructions can be used to program or otherwise configure a system such as a computer to perform any process or function of the present invention. The storage medium or computer-readable medium may include, but is not limited to, any type of disk, including a floppy disk, an optical disk, a DVD, a CD-ROM, a microdrive and a magneto-optical disk, a ROM, a RAM, an EPROM, an EEPROM, a DRAM, a VRAM, a flash memory device, a magnetic card or an optical card, a nanosystem (including a molecular memory IC), or any type of medium or device suitable for storing instructions and / or data. In a particular embodiment, the storage medium or computer-readable medium is a non-transient storage medium or a non-transient computer-readable medium.
[0214] The foregoing description is not intended to be exhaustive or to limit the invention to the precise form disclosed. In addition, where a particular series of affairs and steps have been used to describe an embodiment of the invention, it will be apparent to those skilled in the art that the scope of the invention is not limited to the described series of affairs and steps. In addition, where a particular combination of hardware and software has been used to describe an embodiment of the invention, it will be appreciated that other combinations of hardware and software are also within the scope of the invention. In addition, although various embodiments describe a particular combination of features of the invention, it will be appreciated that within the scope of the invention, different combinations of features are apparent to those skilled in the relevant art, such that the features of one embodiment may be incorporated into another embodiment. Moreover, it will be apparent to those skilled in the relevant art that various additions, reductions, deletions, changes, and other modifications and changes may be made in form, detail, implementation, and application without departing from the spirit and scope of the invention. It is intended that the broader spirit and scope of the invention be defined by the appended claims and their equivalents.
Claims
1. A system for automating the process of integrating cloud services ICS using artificial intelligence / machine learning support, comprising: A computer including one or more microprocessors; an integration platform running on the computer, the integration platform comprising an integration process designer capable of accessing a library comprising a plurality of objects, each object capable of being utilized within an integration process designed within the integration process designer; The computer is configured to perform the following steps: Launching a design template of an integration process in the integration process designer; collecting a user context, the user context being related to an integration process in the integration process designer; as well as A plurality of selectable process predictions are provided via a user interface provided by the integration platform based on the collected user context, each of the plurality of selectable process predictions comprising connectors arranged in sequence, each connector being associated with an instance of an application external to the integration process within the integration process designer.
2. The system of claim 1, wherein the user context considers organization, subsidiary, department, sub-department, and user information.
3. The system of claim 1 or 2, wherein in providing the plurality of selectable process predictions, a hierarchical clustering model of invariant pattern recognition of process models is utilized.
4. The system of claim 3, wherein the hierarchical clustering model utilizes stored machine learning knowledge of process designs as a hierarchy of clusters.
5. The system of claim 4, wherein the hierarchical clustering model further utilizes a machine learning model based on the collected user context.
6. The system of claim 1, wherein a ranking generator is used in providing the plurality of selectable process predictions.
7. The system of claim 6, wherein the ranking generator utilizes an input pattern to rank a plurality of output patterns that match the input pattern, the ranking utilizing one or more inputs; and The input pattern is created based in part on the collected user context.
8. A method for automating an integrated cloud service ICS process using artificial intelligence / machine learning support, comprising: Providing a computer including one or more microprocessors; Providing an integration platform running on the computer, the integration platform comprising an integration process designer, the integration process designer being able to access a library comprising a plurality of objects, each object being able to be utilized within an integration process designed within the integration process designer; Launching a design template of an integration process in the integration process designer; collecting a user context, the user context being related to an integration process in the integration process designer; as well as A plurality of selectable process predictions are provided via a user interface provided by the integration platform based on the collected user context, each of the plurality of selectable process predictions comprising connectors arranged in sequence, each connector being associated with an instance of an application external to the integration process within the integration process designer.
9. The method of claim 8, wherein the user context considers organization, subsidiary, department, sub-department, and user information.
10. The method of claim 8 or 9, wherein in providing the next action prediction, a hierarchical clustering model of invariant pattern recognition of the processing model is utilized.
11. The method of claim 10, wherein the hierarchical clustering model utilizes stored machine learning knowledge of process designs as a hierarchy of clusters.
12. The method of claim 11, wherein the hierarchical clustering model further utilizes a machine learning model based on the collected user context.
13. The method of claim 8, wherein a ranking generator is used in providing the next action prediction.
14. The method of claim 13, wherein the ranking generator utilizes an input pattern to rank a plurality of output patterns that match the input pattern, the ranking utilizing one or more inputs; and The input pattern is created based in part on the collected user context.
15. A non-transitory computer-readable storage medium having stored thereon instructions for automatically completing an integrated cloud service ICS process using artificial intelligence / machine learning support, the instructions, when read and executed by one or more computers, causing the one or more computers to perform steps comprising: Providing a computer including one or more microprocessors; Providing an integration platform running on the computer, the integration platform comprising an integration process designer, the integration process designer being able to access a library comprising a plurality of objects, each object being able to be utilized within an integration process designed within the integration process designer; Launching a design template of an integration process in the integration process designer; collecting a user context, the user context being related to an integration process in the integration process designer; as well as A plurality of selectable process predictions are provided via a user interface provided by the integration platform based on the collected user context, each of the plurality of selectable process predictions comprising connectors arranged in sequence, each connector being associated with an instance of an application external to the integration process within the integration process designer.
16. The non-transitory computer readable storage medium of claim 15, wherein the user context takes into account organization, subsidiary, department, sub-department, and user information.
17. The non-transitory computer readable storage medium of claim 15 or 16, wherein in providing the next action prediction, a hierarchical clustering model of invariant pattern recognition of the processing model is utilized.
18. The non-transitory computer-readable storage medium of claim 17, wherein the hierarchical clustering model utilizes stored machine learning knowledge of process designs as a hierarchy of clusters.
19. The non-transitory computer-readable storage medium of claim 18, wherein the hierarchical clustering model further utilizes a machine learning model based on the collected user context.
20. The non-transitory computer readable storage medium of claim 15, The ranking generator is used to provide next action prediction; wherein the ranking generator utilizes an input pattern to rank a plurality of output patterns that match the input pattern, the ranking utilizing one or more inputs; and The input pattern is created based in part on the collected user context.
21. A computer program product comprising instructions which, when executed by one or more processors of a computer, cause the computer to perform the method of any one of claims 8 to 14.
Citation Information
Patent Citations
System and method for graphically displaying recommended mappings in an integration cloud service design time
US20160358354A1