System and method for automatic completion of ICS flow with use of artificial intelligence / machine learning

AI/ML-driven auto-completion of integration flows in cloud services addresses the complexity and inefficiency of manual flow creation, enhancing user experience and reducing errors by predicting and suggesting actions based on context.

JP2025172744APending Publication Date: 2025-11-26ORACLE INT CORP
View PDF 5 Cites 0 Cited by

Patent Information

Application Number
JP2025127190
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Priority Date
2019-09-10
Filing Date
2025-07-30
Publication Date
2025-11-26

Smart Images

  • Figure 2025172744000001_ABST
    Figure 2025172744000001_ABST
Patent Text Reader

Abstract

To provide a system for, a method of, and a non-temporal computer-readable medium for supporting quick modeling of an integrated could service flow by a user.SOLUTION: The present invention is directed to a method of supporting automatic completion of an ICS (integrated cloud service) flow using artificial intelligence / machine learning. The method has the steps of starting an integrated flow map, collecting a user context, and providing a plurality of flow predictions based on the collected user contexts.SELECTED DRAWING: Figure 10
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] Copyright Notice 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 this patent document or the patent disclosure, provided that such reproduction is in the Patent and Trademark Office patent file or records, but otherwise reserves all copyright rights whatsoever.

[0002] Priority claims This application is related to U.S. patent application Ser. No. 16 / 566,490, filed September 10, 2019, entitled "SYSTEM AND METHOD FOR AUTO-COMPLETION OF ICS FLOW USING ARTIFICIAL INTELLIGENCE / MACHINE LEARNING," U.S. patent application Ser. No. 16 / 566,504, filed September 10, 2019, entitled "SYSTEM AND METHOD FOR NEXT STEP PREDICTION FOR ICS FLOW USING ARTIFICIAL INTELLIGENCE / MACHINE LEARNING," U.S. patent application Ser. No. 16 / 566,511, filed September 10, 2019, entitled "SYSTEM AND METHOD FOR NEXT OBJECT PREDICTION FOR ICS FLOW USING ARTIFICIAL INTELLIGENCE / MACHINE LEARNING," and U.S. patent application Ser. No. 16 / 566,511, filed October 18, 2018, entitled "SYSTEM AND METHOD FOR AUTO-COMPLETION OF This application claims priority from Indian Patent Application No. 201841039490 entitled "ICS FLOW USING ARTIFICIAL INTELLIGENCE / MACHINE LEARNING," which is incorporated herein by reference.

[0003] FIELD OF THE INVENTION FIELD Embodiments of the present invention relate generally to integrated cloud services, and more particularly to auto-completion of flows in integrated cloud services using artificial intelligence and / or machine learning. [Background technology]

[0004] background Integration cloud services (ICS) (e.g., Oracle ( "Integrated Cloud Services" is a registered trademark of the Company that supports the use of products such as Software as a Service (SaaS) and on-premise applications. ICS is a simple and powerful integration platform in the cloud. ICS is an integration platform as a service (iPaas). It can provide a rich set of features and functionality, including a web-based integration designer for point-and-click integration between applications, and a rich monitoring dashboard that provides real-time insight into transactions. Summary of the Invention [Means for solving the problem]

[0005] overview According to one embodiment, described herein are systems and methods for auto-completion of ICS flows using artificial intelligence / machine learning. Next action prediction is a service that helps users quickly model flows by predicting and suggesting the next set of actions that a user might consider adding. This service also helps users follow some of the best practices while creating integration flows. [Brief explanation of the drawings]

[0006] [Figure 1]FIG. 1 illustrates an integrated cloud service according to an embodiment. [Figure 2] FIG. 1 illustrates an integrated cloud service according to an embodiment. [Figure 3] FIG. 1 is a diagram illustrating an ICS design period according to an embodiment. [Figure 4] FIG. 1 illustrates a system for supporting auto-complete of ICS flows using AI / ML, according to one embodiment. [Figure 5] FIG. 1 illustrates an exemplary flowchart decision tree according to an embodiment. [Figure 6] FIG. 1 illustrates a hierarchical tree structure for use in supporting system autocomplete for ICS flows using AI / ML, according to one embodiment. [Figure 7] FIG. 1 illustrates a mapping of contexts to integrated flows according to an embodiment. [Figure 8] FIG. 1 illustrates a mapping of contexts to integrated flows according to an embodiment. [Figure 9] FIG. 1 illustrates an exemplary ranking simulator according to an embodiment. [Figure 10] FIG. 1 illustrates a flowchart of a method for supporting auto-complete for ICS (Integrated Cloud Services) flows using artificial intelligence / machine learning. [Figure 11] FIG. 1 illustrates an exemplary flowchart decision tree according to an embodiment. [Figure 12] FIG. 1 illustrates a flowchart of an exemplary method for next step prediction for ICS (Integrated Cloud Services) flows using artificial intelligence / machine learning. [Figure 13] FIG. 1 illustrates an exemplary flowchart decision tree according to an embodiment. [Figure 14] FIG. 1 illustrates a flowchart of an exemplary method for next object prediction in an ICS (Integrated Cloud Services) flow using artificial intelligence / machine learning. DETAILED DESCRIPTION OF THE INVENTION

[0007] Detailed Description The foregoing, together with other features, will become apparent upon reference to the accompanying specification, claims, and drawings. Specific details are provided to aid in understanding various embodiments. However, it will be apparent that various embodiments may be practiced without these specific details. The accompanying specification and drawings are not intended to be limiting.

[0008] Integration platforms as a service, such as Oracle Integration Cloud Services (ICS), can provide a cloud-based platform for building and deploying integration flows that connect applications residing in the cloud or on-premises.

[0009] Integrated Cloud Services FIG. 1 illustrates an ICS platform for designing and executing ICS integration flows according to one embodiment.

[0010] 1, the ICS platform may include a design-time environment 120 and a runtime environment 163. Each environment may execute on a computer, such as computer 101 or 106, that includes one or more processors.

[0011] According to one embodiment, the design-time environment includes an ICS web console 122 that provides a browser-based designer that allows integration flow developers to build integrations using the client interface 103 .

[0012] According to one embodiment, the ICS design-time environment can be pre-loaded with connections to various SaaS or other applications and can include a source component 124 and a target component 126. The source component can provide definitions and configurations for one or more source applications / objects, and the target component can provide definitions and configurations for one or more target applications / objects. These definitions and configurations can be used to identify the application type, endpoints, integration objects, and other details of the applications / objects.

[0013] 1, the design-time environment may include a mapping / transformation component 128 for mapping (associating) the contents of input messages to output messages, and a message routing component 130 for controlling which messages are routed to which targets based on the message content or header information. Additionally, the design-time environment may include a message filtering component 132 for controlling which messages are routed based on the message content or header information of the messages, and a message sequencing component 134 for reordering a stream of related but out-of-order messages back into a user-specified order.

[0014] According to an embodiment, each of the above components, as well as source and target components, may include design-time settings that are persisted as part of the flow definition / configuration.

[0015] According to one embodiment, a flow definition specifies the details of an ICS integration flow, encompassing both the static structure of the integration flow (e.g., message routers) and the configurable aspects (e.g., routing rules). The combination of a fully configured flow definition and other required artifacts (e.g., jca and wsdl files) is created in an ICS project. An ICS project can completely define the integration flows and implement them through the underlying implementation layer.

[0016] According to one embodiment, the policy component 136 may include multiple policies that govern the behavior of the ICS environment. For example, a polling policy may be configured for source-pull messaging interactions (i.e., query-style integration) of a source application to invoke outbound calls to the source application via time-based polling.

[0017] According to one embodiment, other policies can be specified for security privileges when routing messages to target applications, for logging message payloads and header fields during flow execution for later analysis via a monitoring console, and for message throttling, which is used to determine the number of instances an enterprise service bus (ESB) service can spawn to service a request. Additionally, policies can be specified for monitoring / tracking integration flows at the flow level and for validating messages that the ICS platform is processing against known schemas.

[0018] According to one embodiment, an integration developer can drag and drop components on the development canvas 133 for editing and configuration, which are used to design an integration flow.

[0019] As further shown, the runtime environment may include an application server 162, an ICS runtime engine 166, and storage services 168 and messaging services 170 on top of an enterprise service bus component 172. A user interface console 164 may be used to monitor and track the performance of the runtime environment.

[0020] FIG. 2 illustrates an integrated cloud service according to one embodiment. As shown in Figure 2, ICS 207 can provide a cloud-based integration service for designing, executing, and managing ICS integration flows. The ICS can include a web application 209 and an ICS runtime 215 that run 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, launch, manage, and monitor ICS integration flows. The launched ICS integration flows can be deployed and executed on the ICS runtime.

[0021] According to one embodiment, the task of providing multiple application adapters 213 and configuring connections to multiple applications can be simplified by handling the underlying complexity of connecting these applications. The applications can include enterprise cloud applications from an ICS vendor 205, third-party cloud applications (e.g., Salesforce) 103, and on-premise applications 219. The ICS can expose simple object access protocol (SOAP) and representational state transfer (REST) ​​endpoints to these applications for use in communicating with them.

[0022] According to an embodiment, an ICS integration flow (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 by the application adapter to communicate with a particular instance of an application.

[0023] According to one embodiment, an ICS integration flow and several 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. Different types of integration flow patterns can be created using the Web UI application, including data mapping integration flows, publish integration flows, and subscribe integration flows. To create a data mapping integration flow, an ICS user can define source and target applications in the development interface by using application adapters or application connections, and can define routing paths and data mappings between the source and target applications. In a publish integration flow, a source application or service can be configured to publish messages to the ICS through a predefined messaging service. In a subscribe integration flow, a target application or service can be configured to subscribe to messages from the ICS through a messaging service.

[0024] FIG. 3 illustrates an ICS design phase according to one embodiment. According to one embodiment, a user 320 uses a development interface (e.g., a development canvas) 310 in a web UI application to create multiple existing connections 301, For example, an ICS integration flow can be created using connection A303, connection B305, and connection N307.

[0025] 3, a particular connection (e.g., connection A) can be dragged and dropped (311) into the development interface as a source connection 313, and connection N can be dragged and dropped (309) into the development interface as a target connection 315. A source connection may contain the information needed to connect to a source application, which the ICS can use to receive requests from the source application. A target connection may contain the information needed to connect to a target application (e.g., a Salesforce Cloud application), which the ICS can use to send requests to the target application.

[0026] According to an embodiment, the source and target connections may be further configured to include additional information, such as the types of operations to be performed on the data associated with the request and the objects and fields for those operations.

[0027] According to one embodiment, once the source and target connections are configured, a mapper between these two connections is enabled, and by displaying a mapper icon (e.g., mapper icon A317 and mapper icon B318) that is used to open the mapper, the user can define how information is transferred between the source and target data objects for both request and response messages.

[0028] According to one embodiment, the mapper can provide a graphical user interface for a user to map items (e.g., fields, attributes, and elements) between source and target applications by dragging source items onto target items. When a mapper for a request or response message in an ICS integration flow is opened, the source and target data objects can be automatically loaded with the source and target connections.

[0029] According to an embodiment, creating mappings can be facilitated by providing lookups. As used herein, a lookup is a reusable mapping for different codes and terms used to describe the same item in applications. For example, one application may use a particular code set to describe a country, while another application may use a different code set to describe the same country. Using lookups, these different codes can be mapped across different applications.

[0030] As mentioned earlier, developing an integration flow can be a complex task that requires defining various components before the integration flow can be successfully deployed and run. Some components within an integration flow are required, while others are optional. Further complicating this development process is that defining optional components may result in additional required components, and at any point during the development effort, the required components may differ depending on the order in which the integration components are defined.

[0031] Auto-complete for ICS flows using AI / ML According to one embodiment, Next Action Prediction is a service that helps clients quickly model flows by predicting and suggesting the next set of actions that a user might consider adding. This service also allows a user to quickly model the flow of an integrated flow. Helps you follow some of the best practices while creating it.

[0032] According to an embodiment, the systems and methods provided herein include a solution to a problem faced by users of an ICS system. For example, suppose a user is trying to create a "credit card application processing" flow. To an experienced user, any application processing flow would have basic pre-processing steps, such as verifying address and personal details. To an experienced user, this would seem like a tedious task, as they would have to go through a set of identical flows themselves. For a novice user, creating such a flow would be difficult in that they would have to painstakingly create the flow from scratch and might miss essential steps while creating the integration flow. This would require them to consult colleagues to learn best practices when creating the flow, read / learn about business flows on the Internet, etc., which could take even more time.

[0033] According to an embodiment, the systems and methods described herein can improve integration flows by leveraging AI / ML to enable customers to design solutions with minimal effort. This enables the use of an ICS flow designer that has the ability to predict the integration flow a user will most likely build based solely on the user context, as well as the user and process context. For example, a loan officer at a bank can log in to design a mortgage approval flow and be presented with a list of ICS flows worth creating that already implement the mortgage approval flow. The predicted data (including work flows and functional flows) can be stored in an accessible location.

[0034] According to certain embodiments, the systems and methods described herein can reduce the amount of time required to generate a flow by providing real-time cues to a user currently modeling the flow. Additionally, the systems and methods described herein can also enable reduced error rates for flows, increased performance of flows, and overall optimization of flows within an ICS over existing mechanisms.

[0035] FIG. 4 illustrates a system for supporting auto-completion of ICS flows using AI / ML according to one embodiment.

[0036] According to one embodiment, a user can use a development interface (e.g., a development canvas) 410 within a web UI application to create an ICS integration flow using multiple connections 401, such as connection A 403, connection B 405, and connection N 407.

[0037] 4, a particular connection (e.g., connection A) can be dragged and dropped 411 into the development interface as a source connection 413. Alternatively, depending on the context from the client interface 420, the source connection 413 can be recommended 411 and populated based on interactions with an autocomplete engine 430 associated with / communicating with a connection library 431.

[0038] According to one embodiment, depending on the context received from the client interface, the development interface can either allow the user to drag and drop (412, 413) different connections from a library of existing connections, or the development interface can present a populated grid of optional connections 415, 416 that can be selected via the user interface. According to an embodiment, a context can be associated with a source connection, which may contain information necessary to connect to a source application, and which the ICS can use to receive requests from the source application.

[0039] According to an embodiment, the source and target connections may be further configured to include additional information, such as the types of operations to perform on the data associated with the request and the objects and fields for those operations.

[0040] According to one embodiment, recommended connections displayed via a client interface can be updated in real time based on selections received from the client interface. Additionally, recommended connections can be provided based on the context of the flow being modeled. As the flow grows, the context associated with the flow also grows. Based on the context, real-time suggestions can become more granular and accurate.

[0041] According to an embodiment, once one of the real-time recommended connections is selected, the systems and methods described herein can automatically configure selected portions of the flow. Such automatic configuration can be overridden as needed. Additionally, further recommended selections of ICS flows can be changed, updated, reconfigured, removed, or added, etc., based on subsequent selections of the recommended connections.

[0042] According to certain embodiments, the process of creating an integrated flow can be simplified in that the described autocomplete can aggregate basic steps, allowing the user to focus on other parts of the flow that are more sensitive. Additionally, as the context grows, the described systems and methods can add desired or necessary steps to the flow based on the context of the flow.

[0043] According to one embodiment, an ICS designer can present recommended ICS flows based on user context. The user context takes into account the organization, affiliated organizations if applicable, department, sub-department if applicable, and user information to generate a context, the most important part of which is the user's job description. The designer can present the ICS flow, including all dependent files and connectors, as a single virtual project that can be previewed. If the recommended ICS flow meets the user requirements, the ICS flow can be selected, a virtual project is created, and the user can run a preview, including its testing. This project can then be saved to a physical entity if it meets the conditions (e.g., the flow is proven and functional).

[0044] In the embodiments described herein, a flow file may be referred to as a JSON or JSON file. Those skilled in the art will readily appreciate that the systems and methods described herein may utilize different or alternative file formats to achieve the same or similar results.

[0045] Similarity scores for pattern / flow prediction According to an embodiment, the systems and methods herein can utilize a pattern recognition model mechanism for JSON models to predict application flows, such as ICS flows, where a similarity score can be generated to indicate how closely the input / source JSON matches a stored JSON pattern.

[0046] According to one embodiment, a method / model can recognize structurally and semantically similar flowfile patterns based on input / source flowfiles. Structural and semantic similarity can be determined by comparing two or more flowfiles (e.g., two or more JSON) to determine how similar each field of the files is. For string fields in flowfiles, natural language processing can be used to determine how similar certain words or sentences are. For numeric and date fields, the system and method can determine how far they deviate from each other. A similarity score can be generated for each field.

[0047] According to one embodiment, a flow file, such as a JSON file, can consist of objects, arrays, and primitive fields of string, number, and Boolean type. The JSON pattern recognition mechanism is based on generating a similarity score for each field, which is aggregated into a composite similarity score for objects and arrays, and finally into a similarity score for the root JSON object or array.

[0048] According to one embodiment, each source JSON primitive field can be compared to a target JSON field using both its key and its value. Keys can be compared using natural language processing (NLP), and values ​​can be compared using the Compare based on type, i.e., string field NLP is used and numeric field distance is calculated. Field comparison results in the generation of a similarity score. For example, consider the target JSON for a purchase order as shown below:

[0049]

number

[0050] According to an embodiment, the systems and methods described herein can take a first string from a JSON purchase order and perform a comparison against an input JSON pattern to determine a similarity score. For example, the input JSON pattern can include the following snippet: It may include.

[0051]

number

[0052] According to one embodiment, the method / model can then recognize structurally and semantically similar flow file patterns based on a comparison of the two JSON files. In the above situation, the method / model can generate a perfect similarity score (e.g., a similarity score of 1.0) because the "name" field from the target file is an exact match with the "name" field of the input / source file. Similarly, if the input / source file contains a "title" field instead of a "name" field, but the value of "John Smith" is identical, the method / model will generate a high similarity score, but The field "title" is a synonym for "name", so it is not a perfect score (e.g. score of 0.9).

[0053] According to one embodiment, a similarity score for a field (eg, a JSON field) can be generated using:

[0054]

number

[0055] According to one embodiment, the similarity score for a numeric field can be found by finding its percentage distance from a target value. For example, looking at the source JSON file above, if the input / source JSON snippet contains "price: 23.95", the similarity score would be a perfect 1.0 because not only is the natural language match an exact match, but the value is also an exact match. However, if the input JSON field snippet contains "price: 22.95", the method / model would produce a similarity score of "0.9791". This is found using the following formula:

[0056]

number

[0057] According to one embodiment, if the input / source snippet contains "price: 22.95", the above "key expression" will score 1.0 because natural language processing indicates an exact match. However, the value expression will score 0.9582, which means the overall field similarity score is (1 + 0.9582) / 2, resulting in a similarity score of 0.9791.

[0058] According to an embodiment, the models / methods described herein can support field object type pattern recognition (e.g., JSON field object type pattern recognition). JSON object type pattern recognition is based on generating a grand average similarity score from the similarity scores of individual fields. For example, an input flow (e.g., JSON flow) pattern may include the following snippet:

[0059]

number

[0060] According to one embodiment, the generated similarity score in the above example would be a perfect 1.0 because both the similarity score and the field expression score for the "name" field are perfect 1.0.

[0061] According to an embodiment, the similarity score may be reduced, for example, if a snippet of an input flow (e.g., a JSON flow) is not an exact match for a natural language process, but is, for example, a synonym. For example, assume that a snippet from an input flow includes the following:

[0062]

number

[0063] According to one embodiment, in this case, the similarity score is between 1.0 and 0.0 because only one of the two segments of the input flow is an exact match in terms of both the natural language processing (i.e., the "key similarity score" field) and the value (i.e., the "price" field and value). The other value contains "title" instead of "name". However Since "title" is a synonym of the target flow, the similarity score will not be drastically reduced. In the above example, the total similarity score for this snippet could be 0.975, which can be derived from:

[0064]

number

[0065] According to one embodiment, if "title" is given a key similarity score of 0.9, then The total similarity score for a snippet can be calculated as follows:

[0066]

number

[0067] According to one embodiment, the similarity score may be calculated based on, for example, the input flow (e.g., a JSON flow). If the snippets in (a) are not exact matches for natural language processing but are, for example, synonyms, they may be reduced. As an example, assume that the snippets from an input flow include:

[0068]

number

[0069] According to one embodiment, the similarity score may then be subtracted from 1.0 because both segments of the input flows are not an exact match for natural language processing (i.e., the "key similarity score" field). Both key fields are synonyms of the target flow. "title" is a synonym of the target flow and "cost" is a synonym of the target flow. Since it is a synonym for low, the similarity score will not be drastically reduced. In the example above, the total similarity score for this snippet could be 0.95.

[0070] According to one embodiment, if "title" and "cost" are given a similarity score of 0.9, Then, the total similarity score for the snippet can be calculated as follows:

[0071]

number

[0072] Similarity score field array type pattern recognition According to certain embodiments, the methods / models described herein may utilize field array-type pattern recognition. Such array-type pattern recognition (e.g., JSON array-type pattern recognition) is based on generating a grand average similarity score from the similarity scores of individual fields, taking into account their offset within the array. As an example, consider the following input source array pattern:

[0073]

number

[0074] Additionally, suppose the target array pattern contains an exact match, ie:

[0075]

number

[0076] According to one embodiment, in this case the array would have a similarity score of perfect 1.0.

[0077] According to one embodiment, the following formula can be used to determine the field similarity score for a field in an array:

[0078]

number

[0079] According to one embodiment, the following formula can be used to determine the similarity score for an array of fields:

[0080]

number

[0081] According to one embodiment, for example, if the same input source array pattern as above matches the target array pattern shown below, the array similarity score would be 0.8.

[0082]

number

[0083] FIG. 5 illustrates an exemplary flowchart decision tree according to one embodiment. According to one embodiment, a user can select a first portion of an integrated flow, shown in the unshaded portion 501 of the flow designer 500. From this beginning of the integrated flow, the system and method can present the user with several options 503-507 for various selections, depending on the user's context. As shown in the figure, option 505 is currently displayed in window 502 (the current selection window). Other flow recommendations can be provided as selectable card layouts. Once a particular flow is selected, the ICS designer displays the entire flow. Button navigation can also be provided.

[0084] According to one embodiment, a recommended process for a flow may not be selected (e.g., if the recommendation is not the correct recommendation). In this scenario, other process recommendations can always be presented as predictions in a "prediction plane," which is shown similar to the flow in the shaded areas of the drawing, providing the option to select individual tasks or the entire flow. The system and method can also present a card layout that allows flicking through all possible recommendations to complete the flow. Navigation can then be performed to see what each predicted ICS flow will look like and how it will behave. The flow can be tested in real time as each option is selected. This testing can provide a functional and performance profile before final selection of the flow.

[0085] According to one embodiment, the flow of 502 can be displayed in several different ways. The flow can be displayed as a completed (tested and passed) flow as shown in the drawing. Alternatively, optional flows can be presented in an overlapping manner (e.g., with a dotted outline), where only the next set number of flow steps are displayed to the user until an instruction is received to select one of the presented options. Alternatively, optional flows can be displayed as a completed, albeit overlapping, flow, allowing the user to select various portions of the completed flow and see different branching options available.

[0086] Process Model Prediction According to certain embodiments, systems and methods are provided herein for a hierarchical clustering model of invariant pattern recognition of process models, in which knowledge about how a process is designed is learned and encapsulated as a hierarchy of clusters of process models based on user and process context, with the most accurate clusters being the leaves of the cluster tree. The knowledge is then queried based on user and process context. The data is encoded in a tree structure that can be used to

[0087] According to one embodiment, reorganizing a process model is a complex and time-consuming task. The system and method can recognize patterns by matching small snippets of larger existing patterns. The system and method can predict process models through hierarchical clustering of process models based on user and process context. The clustering of process context can be based on XML / JSON pattern recognition.

[0088] 6 illustrates a hierarchical tree structure for use in supporting system autocomplete for ICS flows using AI / ML, according to one embodiment. More specifically, FIG. 6 illustrates a self-design enterprise system, according to one embodiment.

[0089] According to one embodiment, learning and pattern recognition algorithms utilize this hierarchical structure. These nodes model clustering regions based on context. A node can have several children and a parent. The input model progresses to nodes at all levels based on context. At each level, the node has children that are clusters of similar models based on the parent's context hierarchy. The hierarchy of nodes is based on context, with the top level being the root context, followed by a company type context that can have subsidiaries, then department types and subdepartments, then a user context, and finally a job type context. Each of these tree nodes is indexed.

[0090] As an example, a structure may include a root context 600 that can be associated with several model clusters 601-603. Below the root context may be a company type context 610 that can be associated with several model clusters 611-613. Below the company type context may be a department type 620 that can be associated with several model clusters 621-623. Below the department type may be a job type 630 that can be associated with several model clusters 631-633.

[0091] According to one embodiment, each model cluster can be pre-populated with multiple integration flows that have been evaluated and certified. Each of these integration flows can be saved, for example, in storage associated with the autocomplete engine. For example, assume model cluster 631 handles point-of-sale integration flows. A user classified as role type 630 can then log in, be presented with the point-of-sales flow, and be presented with multiple integration flows from model cluster 631.

[0092] According to one embodiment, model cluster 621 may also be associated with multiple integration flows that have been evaluated and certified. If the user declines to select one of the multiple integration flows from model cluster 631, the tree may return to department type 620 (also associated with the user from the context) 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 one of the presented flows.

[0093] According to an embodiment, each flow of the plurality of flows can be presented to the user as a complete flow, or can be presented to the user in stages, where at each subsequent selection, the system and method presents several options selected from the correct model cluster 631.

[0094] According to one embodiment, a self-learning algorithm can operate on the hierarchical data structure shown in FIG. 6. The hierarchical data structure is initialized with already collected data, which consists of models that have already been generated, thus ensuring the quality of the data. The algorithm can automatically restructure the model clusters in the hierarchy when changes / additions are introduced. New models are then generated for specific contexts. The self-learning algorithm first populates models into one of the root model clusters based on their syntactic and semantic similarity. It then updates the remaining hierarchical model clusters based on company, department, job function, and user context.

[0095] According to one embodiment, a pattern recognition algorithm may be based on recognizing the submitted input pattern by looking at context information and generating a key that can be used to identify similar models within the current (submitted) context. Model patterns are ranked and recognized from most accurate to least accurate based on how closely the company, department, job, and user context matches the pre-computed model clusters. Furthermore, recommendations are ranked from most accurate to least accurate for combinations of company, department, job, and user context, i.e., company, department, job, and user context, followed by company, department, and job context, which in turn is followed by company, department, and company context.

[0096] According to one embodiment, the system and method generally do not present less accurate recommendations to the user. However, if the user does not choose a more accurate model, the algorithm can determine that the desired model is more general. For example, for a physicist who only purchases physics books that deal with quantum mechanics, the system will most likely recommend books on quantum mechanics. However, consider the case where the physicist is in the mood to read about philosophy and therefore rejects the recommendation for books on quantum mechanics. In this case, the recommendation system can see from the user context that the physicist is interested in philosophy, so the next recommendation may be a philosophy book based on the user's interest in this subject. Thus, if the system initially makes a recommendation based purely on the pattern itself, and the user rejects this recommendation because they have never purchased a book not related to quantum mechanics, the next recommendation presented to the user will be based on the user's preferred subject, in this case philosophy. The next time the same user logs in, it will provide recommendations that include some philosophy books.

[0097] According to one embodiment, the system and method can provide recommendations based on user context and model patterns that consider both the structure and semantics of the model. Consider the model being designed, as shown in FIG. 7. A user can create a first activity as a receiving activity, and the generated recommendations will be based on the user context 701 and the structure and semantics of the process being designed. The system and method can match against all clusters 705 that have similar context and model starting with the receiving activity and have semantic similarities in the names, documentation, etc. of the process and receiving activity. As shown, only three clusters 702-704 are shown, but many more clusters can be included in the system and presented via the user interface.

[0098] According to one embodiment, the model of Figure 7 can be extended as shown in Figure 8. By extending the model of Figure 7, recommendations for a model with receive and invoke tasks will be based on clusters 805 that have similar contexts 801, as well as receive and invoke activities (structures) and similar semantics, receiving similar messages for similar resources and invoking similar resource methods with similar input, output, and fault patterns. As shown, only three clusters 802-804 are shown, however many more clusters may be included in the system and presented via the user interface.

[0099] FIG. 9 illustrates an exemplary ranking simulator according to one embodiment. According to one embodiment, a JSON input pattern 901 can be received. Similarity-based pattern recognition 902 is performed on the JSON input pattern using inputs from the JSON input pattern (e.g., “swagger,” “info.version,” and “info.title”). By executing this, it is possible to rank several output JSON patterns 903 to 905 that are matched with the JSON input pattern.

[0100] FIG. 10 illustrates a flowchart of a method for supporting auto-complete for ICS (Integrated Cloud Services) flows using artificial intelligence / machine learning.

[0101] In step 1010, the method can provide a computer including one or more microprocessors.

[0102] In step 1020, the method may begin the integrated flow map. In step 1030, the method can collect user context.

[0103] In step 1040, the method can provide multiple flow predictions based on the collected user context.

[0104] Next activity prediction based on pattern recognition According to an embodiment, the systems and methods described herein can provide next activity prediction based on pattern recognition within a flow, such as an ICS flow, in a file format, such as a JSON file. This can be described as next activity prediction based on pattern recognition (e.g., within a JSON pattern). Next activity prediction can be performed within multiple contexts, based on the context itself or a portion of the context. The next task can be predicted based on all past tasks, or the prediction can be based on an overarching context that considers the frequency of tasks available within a scope.

[0105] According to an embodiment, after pattern recognition is performed (e.g., ICS JSON pattern recognition) and a pattern is recognized, a next step prediction engine can calculate a likely (e.g., "most likely") next step sequence based on a full or partial match (i.e., all preceding tasks match fully or partially). The system and method can also calculate a next task sequence based on the enclosing scope (i.e., the most probable next scope for a particular scope, independent of preceding tasks).

[0106] According to one embodiment, flow pattern recognition (e.g., ICS flow JSON pattern recognition) can result in a subset of models that most closely match the designed flow. Based on this subset, the next activity sequence can be predicted as an exact / partial match and as a scope prediction.

[0107] exact / partial match According to an embodiment, when the methods and systems described herein perform full or partial matching to predict upcoming activities, the systems and methods can use pattern recognition of existing flows to perform ranking of potential upcoming sequences of tasks based on frequency of occurrence. For example, a "Sales Account Creation" flow In the following flow containing a SalesCloud Account Business Object (Account), assume the user is in the middle of designing this flow and has reached the assignment step where they map the Account business object to the SalesCloud Account business object. Based on this input, the pattern recognition system will recognize up to 25 existing flows that closely match this input pattern (i.e., the flow being designed).

[0108]

number

[0109] According to an embodiment, the systems and methods herein may include or have access to several target models that can be used for next activity prediction. For simplicity, assume there are three target models that are used for the next activity prediction method / model:

[0110] Model 1

[0111]

number

[0112] Model 2

[0113]

number

[0114] Model 3

[0115]

number

[0116] According to one embodiment, pattern recognition can match all three processes and, based on the matches, generate a most likely ranking of the next task, which can then be provided to the user / developer. An example of the results of such a match is shown below:

[0117]

number

[0118] According to one embodiment, the system and method ranks the possible next tasks in order from most likely to least likely, with the "invoke" task being followed by "if" because it occurs more frequently at sequence activity index 3.

[0119] According to one embodiment, the method can generate a mechanism based on pattern recognition that can predict the "next step" in addition to predicting the entire flow. Based on the already matched model, we use statistical methods to determine which "next step" is most likely to be used in the matched flow from the first prediction. For example, if the user inputs a "Router" task, at the highest index (index 0), the highest probability of the next step is likely to be a "Transformer" with a target of rest. The most likely, next most likely is a "rest" invoke, and the next most likely is a transform rest, and then the system can move on to the next step, index 1. At each index or sequence number, we generate a probability that indicates which activity is most likely.

[0120] FIG. 11 illustrates an exemplary flowchart decision tree according to one embodiment.

[0121] According to one embodiment, a user can select a first portion of the integrated flow, shown in the unshaded portion 1101 of the flow designer 1100. From this beginning of the integrated flow, the system and method can present the user with several next task options 1103-1107 for various selections, depending on the user's context. As shown in the figure, currently, predicted next task option 1105 is displayed in window 1102 (current selection window). Other next task recommendations can be provided as selectable card layouts. When a particular recommendation / predicted next task is selected, the ICS designer can display additional predicted next tasks (in the next index).

[0122] Although shown as only two consecutive indices of a flow, according to one embodiment, the systems and methods described herein can display two or more next index levels of a predicted task, and the next task prediction can be based on two or more task indices.

[0123] According to one embodiment, there may be cases where a recommended next task has not been selected for this flow (e.g., if the recommendation is not the correct recommendation). In this scenario, other next task recommendations can always be presented as predictions in a "prediction plane," which is shown similar to the flow in the shaded region of the drawing, providing the option to select individual tasks or the entire flow. The system and method can also present a card layout that allows flicking through all possible recommendations to complete the flow. Navigation can then see what each predicted ICS flow will look like and how it will behave. The flow can be tested in real time as each option is selected. This testing can provide a functional and performance profile before final selection of the flow.

[0124] FIG. 12 illustrates a flowchart of an exemplary method for next step prediction for ICS (Integrated Cloud Services) flows using artificial intelligence / machine learning.

[0125] In step 1210, the method can provide a computer including one or more microprocessors.

[0126] In step 1220, the method may start the integrated flow map. In step 1230, the method can collect user context.

[0127] At step 1240, the method can provide multiple next step predictions in the integrated flow map based on the collected user context.

[0128] In step 1250, the method can receive a selection of a selected next step prediction from among a plurality of next step predictions.

[0129] Prediction of activity applications, operations, and business objects based on pattern recognition According to an embodiment, the systems and methods described herein can provide a mechanism for ranking applications, operations, and business objects referenced by an activity based on pattern recognition (e.g., JSON pattern recognition). The ranking of applications, operations, and business objects referenced by an activity can be calculated in multiple contexts. For example, these contexts can be based on full / partial contexts (i.e., the ranking is calculated based on all past tasks). According to an embodiment, predictions can additionally or alternatively be based on an overarching context that considers the frequency with which applications, operations, and business objects are referenced by a particular task.

[0130] According to one embodiment, after patterns (e.g., ICS JSON patterns) are recognized based on the input model (a model of the process being designed), the ranking engine can calculate model rankings based on full / partial matches. This can be done, for example, based on matches of all preceding tasks. According to one embodiment, the system can also calculate model rankings purely based on enclosing scope (i.e., the most likely applications, operations, and business objects for a particular task).

[0131] According to one embodiment, flow pattern (e.g., ICS JSON flow) recognition results in a subset of models that most closely match the designed flow (input). Based on this matched subset of ICS models, a ranking of applications, operations, and business objects is determined.

[0132] exact / partial match According to one embodiment, a system and method can rank the applications, operations, and business objects referenced by a particular task based on their frequency of occurrence based on pattern recognition of existing flows (e.g., JSON patterns of ICS flows). To illustrate this, take the following ICS flow, "Sales Account Creation." In this example, assume that a user is in the middle of designing this ICS flow 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 recognizes several existing flows that closely match this input pattern (the ICS flow being designed). An exemplary input flow is shown below:

[0133]

number

[0134] According to one embodiment, for simplicity of this example, three existing flows are to be matched to this input flow from the existing database. These three matched flows are:

[0135] Model 1

[0136]

number

[0137] Model 2

[0138]

number

[0139] Model 3

[0140]

number

[0141] According to one embodiment, a pattern recognition system and method (e.g., a JSON pattern recognition system and method) can match all three of the above models and calculate a ranking of applications, operations, and business objects based on the matches.

[0142]

number

[0143] According to one embodiment, the ranking system ranks the "cloud sales cloud" application higher than the "someother cloud sales Cloud" application for the invoke task. In this way, when a user creates a new "invoke" task, the system will rank "cloud sales cloud" as the primary / preferred / first option. You can present the user with the option to select this, because this is more likely since the system is triggered by a create account event from sales. That is, the training data contains more flows that start with receiving "sales", then assigning, and finally calling "cloud sales cloud".

[0144] According to one embodiment, the system and method can rank the applications, operations, and business objects that a particular task references, regardless of location. For example, consider the following ICS flow called "HR Account Creation": Here, the user is in the middle of designing an ICS flow and wants to convert the "workable HR account" business object into a cloud HR cloud account business object. Based on this input, the pattern recognition system will recognize, for example, some existing flows in the training database that closely match this input pattern (the ICS flow being designed). An example of an input flow is:

[0145]

number

[0146] According to one embodiment, the existing flow includes a "workable HR account" business object. Although there is no exact match, the system and method can match the input flow with several similar existing flows in the training database. In such cases, there is no exact match for the process that starts with workable create account because the system considers it to be a single match. This is because the system did not check before making the generalized prediction. If the third task was invoke, the user might create a sales account based on the system's generalized prediction. which is what other users usually do when they invoke an activity. This can be understood from the following matched flow:

[0147]

number

[0148] FIG. 13 illustrates an exemplary flowchart decision tree according to one embodiment.

[0149] According to one embodiment, a user can select the first action of an integrated flow, which is shown in the unshaded portion 1301 of the flow designer 1300. From this initial integration flow, the system and method can predict several flows already stored in the training database. For example, predicted next actions can be presented in various windows, such as 1302-1307. However, if the user selects or indicates a request for the next application, operation, or business object, the system can present several options, such as options A-D, for example, in window 1305. These options may include, for example, predicted next applications, operations, or business objects. The user can then select one of the presented options as desired, and the presented options can be presented in order from most likely to least likely based on the match between the input flow and the stored completed flows.

[0150] FIG. 14 illustrates a flowchart of an exemplary method for next object prediction in an ICS (Integrated Cloud Services) flow using artificial intelligence / machine learning.

[0151] In step 1410, the method can provide a computer including one or more microprocessors.

[0152] In step 1420, the method may start the integrated flow map. In step 1430, the method can collect user context.

[0153] At step 1440, the method can provide a plurality of next object predictions in the integrated flow map based on the collected user context, each of the plurality of next object predictions including one of an application, an operation, and a business object.

[0154] In step 1450, the method can receive a selection of a selected next object prediction from among a plurality of next step predictions.

[0155] While various embodiments of the present invention have been described above, it should be understood that they have been presented by way of example, not limitation. The embodiments have been selected and described in order to explain the principles of the invention and its practical applications. The embodiments illustrate systems and methods in which the present invention is used to improve the performance of such systems and methods by providing new and / or improved features and / or by providing benefits such as reduced resource utilization, increased capacity, improved efficiency, and reduced latency.

[0156] In some embodiments, features of the present invention are implemented, in whole or in part, in a computer that includes a processor, a storage medium such as 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 in which one or more clusters of computers are connected by 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 the computers in a single location, or it can have clusters of computers in different remote geographic locations connected by a WAN.

[0157] In some embodiments, features of the present invention are implemented as part of or as a service of a cloud computing system that is based in whole or in part on shared elastic resources delivered to users in a self-service, metered manner using web technologies. Cloud computing is realized in all clouds. There are five cloud characteristics (defined by the National Institute of Standards and Technology): on-demand self-service, pervasive network access, resource pooling, rapid elasticity, and service metering. 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, cloud is a combination of hardware, software, network, and web technologies that delivers shared elastic resources to users in a self-service, metered manner. Unless otherwise specified, cloud as used herein encompasses public cloud, private cloud, 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.

[0158] In some embodiments, features of the present invention are implemented using or with the assistance of hardware, software, firmware, or a combination thereof. In some embodiments, features of the present invention are implemented using a processor configured or programmed to perform one or more functions of the present invention. The processor, in some embodiments, is a single or multi-chip processor, a digital signal processor (DSP), a system-on-chip (SOC), an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA), or other programmable logic device, state machine, discrete gate or transistor logic, discrete hardware components, or any combination thereof, designed to perform the functions described herein. In some implementations, features of the present invention may be implemented by circuitry specific to a given function. In other implementations, features may be implemented in a processor configured to perform particular functions using, for example, instructions stored on a computer-readable storage medium.

[0159] In some embodiments, features of the present invention are incorporated into software and / or firmware for controlling the hardware of a processing and / or networking system and for enabling the processor and / or network to interact with other systems that utilize 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. As will be apparent to those skilled in the software arts, appropriate software coding may be readily produced by skilled programmers based on the teachings of the present disclosure.

[0160] In some embodiments, the present invention includes a computer program product that is a storage medium or computer-readable medium(s) having instructions stored thereon or therein, which instructions can be used to program or otherwise configure a system, such as a computer, to perform any of the processes or functions of the present invention. The storage medium or computer-readable medium may include, but is not limited to, any type of disk, including floppy disks, optical disks, DVDs, CD-ROMs, microdrives, and magneto-optical disks, ROM, RAM, EPROM, EEPROM, DRAM, VRAM, flash memory devices, magnetic or optical cards, nanosystems (including molecular memory ICs), or any type of medium or device suitable for storing instructions and / or data. In certain embodiments, the storage medium or computer-readable medium is a non-transitory storage medium or computer-readable medium.

[0161] The foregoing description is not intended to be exhaustive or to limit the invention to the precise form disclosed. In addition, while embodiments of the invention have been described using a particular sequence of transactions and steps, it will be apparent to those skilled in the art that the scope of the invention is not limited to the described sequence of transactions and steps. Furthermore, while embodiments of the invention have been described using a particular combination of hardware and software, it will be understood that other combinations of hardware and software are also within the scope of the invention. Furthermore, while various embodiments describe particular combinations of features of the invention, it will be understood that different combinations of features within the scope of the invention will be apparent to those skilled in the relevant art, and that features of one embodiment can be incorporated into other embodiments. In addition, it will be apparent to those skilled in the art that various additions, subtractions, deletions, variations, and other modifications and changes in form, detail, implementation, and application can be made without departing from the spirit and scope of the invention. The broader spirit and scope of the invention is intended to be defined by the following claims and their equivalents.

Claims

1. 1. A system for supporting auto-complete for ICS (Integrated Cloud Services) flows using artificial intelligence / machine learning, the system comprising: a computer including one or more microprocessors; The computer Initiating an integrated flow map; collecting user context; and providing a plurality of flow predictions based on the collected user context.

2. The system of claim 1 , wherein the user context considers organization, affiliated organization, department, sub-department, and user information.

3. The system of claim 1 or 2, wherein a hierarchical clustering model of invariant pattern recognition of process models is utilized in providing the plurality of flow predictions.

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. 10. The system of claim 1, wherein a ranking generator is used in providing the plurality of flow predictions.

7. 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; The system of claim 6 , wherein the input patterns are created in part from the collected user context.

8. 1. A method for supporting auto-complete for ICS (Integrated Cloud Services) flows using artificial intelligence / machine learning, the method comprising: providing a computer including one or more microprocessors; Initiating an integrated flow map; collecting user context; and providing a plurality of flow predictions based on the collected user context.

9. The method of claim 8 , wherein the user context considers organization, affiliated organization, department, sub-department, and user information.

10. 10. The method of claim 8 or 9, wherein a hierarchical clustering model of invariant pattern recognition of the process model is utilized in providing the next action prediction.

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 any one of claims 8 to 12, wherein a ranking generator is used in providing a prediction of the next action.

14. 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; The method of claim 13 , wherein the input patterns are created in part from the collected user context.

15. 1. A non-transitory computer-readable storage medium having stored thereon instructions for supporting auto-complete of an Integrated Cloud Services (ICS) flow using artificial intelligence / machine learning, the instructions, when read and executed by one or more computers, causing the one or more computers to: providing a computer including one or more microprocessors; Initiating an integrated flow map; collecting user context; and providing a plurality of flow predictions based on the collected user context.

16. The non-transitory computer-readable storage medium of claim 15 , wherein the user context takes into account organization, affiliate, department, sub-department, and user information.

17. 17. The non-transitory computer-readable storage medium of claim 15 or 16, wherein a hierarchical clustering model of invariant pattern recognition of the process model is utilized in providing the next action prediction.

18. 20. 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. 20. 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 ranking generator is used to provide next action predictions; 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; The non-transitory computer-readable storage medium of any one of claims 15 to 19, wherein the input patterns are created in part from the collected user context.

Citation Information

Patent Citations

  • Cluster formation apparatus, cluster formation method and cluster formation program

    JP2014182421A

  • Learning from historical logs and recommending database operations for data assets within ETL tools

    JP2019519027A

  • Systems and methods for dynamic incremental recommendations within real-time visual simulations

    JP2019528491A

  • Learning from historical logs and recommending database operations on a data-asset in an ETL tool

    WO2017189693A1

  • System and method for dynamic, incremental recommendations within real-time visual simulation

    WO2018039245A1