Systems and methods for data driven workflow platform
Through a data-driven workflow platform, no-code mapping and cloud applications are realized, which solves the inefficiency problems caused by data replication and traditional integration, realizes real-time data processing and business process optimization, and supports automation and collaboration of multiple data types.
Patent Information
- Application Number
- CN202380085277.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2023-06-23
- Filing Date
- 2023-10-20
- Publication Date
- 2025-07-18
- Estimated Expiration
- 2043-10-20
AI Technical Summary
Existing data-intensive applications need to be integrated with cloud repositories, resulting in data replication and traditional repositioning, affecting efficiency and security, and failing to achieve real-time data processing and business process optimization.
Provides a data-driven workflow platform that maps data objects to data storage models through a codeless user interface, and builds cloud applications on the graphical user interface to realize data processing natively connected to the cloud, avoids ETL processes, and supports automated workflows and dynamic relationship discovery.
It realizes real-time processing and management of cloud data without copying data, improves the efficiency and security of business processes, supports automation and collaboration of multiple data types, and enhances data-driven workflow capabilities.
Smart Images

Figure CN120344945A_ABST
Abstract
Description
[0001] Cross-reference
[0002] This application claims priority and the benefit of U.S. Provisional Application No. 63 / 418,397, filed on October 21, 2022, U.S. Provisional Application No. 63 / 454,917, filed on March 27, 2023, and U.S. Application No. 18 / 340,510, filed on June 23, 2023, each of which is incorporated herein by reference in its entirety. Background Art
[0003] Computing systems are ubiquitous in modern businesses and are typically used as critical operational resources. For example, many enterprises utilize so-called "Enterprise Resource Planning" (or "ERP") systems to assist in various aspects such as financial management, human resources, inventory management, etc. Other commonly used distributed computing business systems include systems known as "Transportation Management Systems" (or "TMS") (which can be used for planning, monitoring, and optimizing logistics and transportation), and systems known as "Risk Management Systems" (or "RMS") (which can be used to help compliance officers and others understand an enterprise's risk profile and the degree of compliance with applicable rules and regulations). It is estimated that the global ERP software market alone is in the range of $45 billion annually, and providers such as SAP (RTM), Oracle (RTM), Workday (RTM), etc. offer various solutions. Summary of the Invention
[0004] Current data-intensive applications (e.g., ERP software, ERP applications, RMS applications, etc.) may need to integrate with a cloud lake or data warehouse, copy or download data from the cloud to perform business intelligence analysis, calculations, and execute workflows on local data. For example, ETL (Extract, Transform, Load) or ELT (Load and Transform in a data warehouse) processes are required to move data from one database, multiple databases, or other sources to a unified repository.
[0005] There is a need for a service management cloud that can be natively connected to the cloud, thereby allowing cloud applications to be created and executed on real-time data in an existing cloud-based repository without integration, transformation, or downloading. The present disclosure provides systems and methods that allow users to create, customize, and manage applications for managing data streams and processes using a distributed computing system. In particular, the systems and methods herein can be used for business process optimization, where operations and processes can be managed and utilized without traditional repositioning and / or replication of enterprise data. The present disclosure provides a unified platform (e.g., a cloud-native SaaS platform for code-free business applications with data-driven workflows) for users, organizations, or cloud service providers to access their cloud data, process cloud data of business applications that initiate and manage workflows by natively connecting to the cloud, without integrating, transforming, or downloading data, thereby improving efficiency. The platform herein can allow users to create, customize, and / or configure cloud applications through a code-free user interface that has built-in features such as data mining, configurable and automated workflows, and dynamic relationship discovery and creation.
[0006] In one aspect, methods for providing a data-driven workflow platform are described herein. The method includes: mapping selected data objects to a data storage model of the data-driven workflow platform, wherein the selected data objects are stored in a data cloud configuration operably coupled to the data-driven workflow platform; and displaying on a graphical user interface (GUI) an interaction flow for building a cloud application using or managing the selected data objects, wherein the interaction flow includes at least one graphical element corresponding to a rule for automating an action triggered by a trigger event of the selected data objects.
[0007] In some embodiments, the data cloud configuration includes one or more data clouds storing the data objects, and wherein the data-driven workflow platform is granted permissions to access, process, and edit the data objects stored on the one or more data clouds. In some embodiments, mapping the selected data objects to the data storage model includes defining a relationship between the selected data objects and elements of the data storage model. In some cases, the relationship is defined by the user through the GUI. In some cases, the GUI permits the user to link one or more data fields of the selected data objects to one or more data fields or elements of the data storage model. In some cases, the relationship is automatically generated by the data-driven workflow platform and displayed as a recommended relationship on the GUI.
[0008] In some embodiments, mapping a selected data object to a data storage model includes identifying missing elements from the data storage model and prompting the user to identify another set of data objects for the missing elements. In some embodiments, the data storage model includes multiple types of data, the multiple types of data including at least one of a task type, an application type, and an element data type. In some cases, mapping a selected data object to the data storage model includes mapping the selected data object to an element data type.
[0009] In some embodiments, an interaction flow permits a user to add, remove, or modify one or more components of a cloud application by dragging and dropping one or more graphical elements onto the interaction flow. In some cases, the interaction flow includes a pre-built template flow that prompts the user to add, remove, or modify one or more components. In some cases, the pre-built template flow is automatically determined at least in part based on the selected data object and the cloud application.
[0010] In some embodiments, rules are automatically generated at least in part based on one or more data fields added to the interaction flow. In some cases, a model is used to automatically generate the rules, and the model is developed using rules extracted from past actions and previously processed data. In some cases, rules are recommended to the user on a GUI, and at least one graphical element permits the user to accept, reject, or modify the rules.
[0011] In some embodiments, rules are manually defined by the user via a GUI. In some embodiments, a rule includes a definition of a triggering event, and the triggering event is time-based or associated with a change in value or a change in state of at least one subset of the selected data object. In some cases, the rule further includes a definition of a condition for performing an action. In some cases, the rule further includes a definition of an action. In some examples, the action is selected from adding an observer, updating a field, sending a notification, posting a comment, assigning to a user or group, and creating a record.
[0012] In some embodiments, the method further includes displaying, within a portal of the GUI, selected data objects that conform to a data storage model. In some cases, the method further includes modifying, via the GUI, values in at least one of the selected data objects, and automatically updating, via an API connection, values of the corresponding selected data objects in a data cloud configuration. In some cases, the method further includes receiving, via the GUI, instructions for performing an operation on at least one of the selected data objects, and performing the operation on at least one of the selected data objects in the data cloud configuration without using an extract, transform, and load (ETL) data integration process. For example, the selected data objects include transaction data or streaming data, and wherein performing the operation further includes caching intermediate results via a data-driven workflow platform. In some embodiments, a trigger event for a selected data object includes a change to the selected data object stored in the data cloud configuration.
[0013] In another aspect, a system for providing a data-driven workflow platform is described herein. The system includes: a first module configured to operably couple the data-driven workflow platform to one or more data clouds; a second module configured to map selected data objects to a data storage model of the data-driven workflow platform, wherein the selected data objects are stored on one or more data clouds; and a visualization module configured to display, on a graphical user interface (GUI), an interaction flow for building a cloud application by leveraging or managing the selected data objects, wherein the interaction flow includes at least one graphical element corresponding to a rule for automating an action triggered by a trigger event of the selected data objects.
[0014] In some embodiments, the first module manages one or more permissions granted to the data-driven workflow platform for accessing, processing, and editing data objects stored on one or more data clouds. In some embodiments, mapping the selected data objects to the data storage model is performed by defining connections between elements of the selected data objects and the data storage model. In some embodiments, the visualization module is further configured to display a second GUI that allows a user to define relationships between elements of the data storage model. In some cases, the second GUI permits the user to link one or more data fields of a first selected element of the data storage model to one or more data fields of a second selected element of the data storage model. In some cases, the relationship is automatically generated by the data-driven workflow platform and displayed as a recommended relationship on the second GUI.
[0015] In some embodiments, the second module is configured to further identify missing elements from the data storage model and prompt the user to identify another set of data objects for the missing elements. In some embodiments, the data storage model includes multiple types of data, and the multiple types of data include at least one of task type, application type, transaction data type, and element data type. In some cases, the second module is configured to further map the selected data objects to a transaction data type or an element data type.
[0016] In some embodiments, the interaction flow permits the user to add, remove, or modify one or more components of a cloud application by dragging and dropping one or more graphical elements onto the interaction flow. In some cases, the interaction flow includes a pre-built template flow that prompts the user to add, remove, or modify one or more components. For example, the pre-built template flow is automatically determined at least in part based on the selected data objects and the cloud application. In some cases, rules are automatically generated at least in part based on one or more data fields added to the interaction flow. In some cases, a model is used to automatically generate rules, and the model is developed using rules extracted from past actions and previously processed data. For example, rules are recommended to the user on a GUI, and at least one graphical element permits the user to accept, reject, or modify the rules.
[0017] In some embodiments, the rules are manually defined by the user through a GUI. In some embodiments, the rules include a definition of a trigger event, and the trigger event is based on time or is associated with a change in value or a change in state of at least one subset of the selected data objects. In some cases, the rules further include a definition of a condition for performing an action. In some cases, the rules further include a definition of an action. In some cases, the action is selected from adding an observer, updating a field, sending a notification, posting a comment, assigning to a user or group, and creating a record.
[0018] In some embodiments, the visualization module is further configured to display selected data objects that conform to the data storage model within the portal of the GUI. In some cases, the value of at least one of the selected data objects is modified through the GUI, and the value of the corresponding selected data object in the data cloud configuration is automatically updated by the first module. In some embodiments, the first module is configured to convert instructions for performing operations on at least one of the selected data objects received through the GUI into database operations executable in the data cloud configuration. In some cases, database operations are performed on the selected data objects in the data cloud configuration without using an Extract, Transform, and Load (ETL) data integration process. In some cases, the selected data objects include transaction data or streaming data, and the data-driven workflow platform is configured to cache intermediate results for performing operations. In some embodiments, the trigger event for the selected data object includes a change in the selected data object stored in the data cloud configuration.
[0019] In some embodiments, the interaction flow is identified from multiple predefined workflows by a Large Language Model (LLM). In some cases, the interaction flow is identified at least in part based on the data schema of the selected data objects stored in the data cloud configuration. In some cases, the output of the LLM includes a list of instructions for creating the interaction flow.
[0020] Additional aspects and advantages of the present disclosure will become apparent to those of ordinary skill in the art from the following detailed description, which illustrates and describes only illustrative embodiments of the present disclosure. As will be recognized, the present disclosure is capable of other embodiments and of being practiced or carried out in various obvious respects with modifications. All of these are without departing from the disclosure. Accordingly, the drawings and description are to be regarded as illustrative in nature and not restrictive.
[0021] Incorporated by reference
[0022] All publications, patents, and patent applications mentioned in this specification are hereby incorporated by reference as if each individual publication, patent, or patent application were specifically and individually indicated to be incorporated by reference. If the incorporated publications and patents or patent applications conflict with the disclosure contained herein, the specification is intended to supersede and / or take precedence over any such conflicting material. BRIEF DESCRIPTION OF THE DRAWINGS
[0023] The novel features of the present disclosure are particularly set forth in the appended claims. A better understanding of the features and advantages of the present disclosure will be obtained by reference to the following detailed description that illustrates illustrative embodiments, and to the drawings (also referred to herein as “FIGS.”), in which:
[0024] Figure 1 Shows an example of storing enterprise data in a traditional database system.
[0025] Figure 2 Shows an example of a cloud - based repository provider.
[0026] Figure 3 Schematically shows examples of cloud services and SaaS.
[0027] Figures 4 - 7 Illustrates various configurations in which a service management cloud system can be configured to have a direct interconnectivity between users and data cloud configurations.
[0028] Figure 8 Schematically illustrates a platform that provides an interface for viewing, accessing, and managing all the process data protected within a data cloud.
[0029] Figure 9 Schematically shows an example of a service management cloud system.
[0030] Figure 10 Illustrates a service management cloud configuration.
[0031] Figure 11 Illustrates a service management cloud session configuration.
[0032] Figure 12 Illustrates a service management cloud session configuration with write - back capabilities.
[0033] Figures 13 - 15 Illustrates access management, control, and collaboration within a platform.
[0034] Figure 16 Illustrates a platform with secure and efficient access management.
[0035] Figure 17 Illustrates an example of establishing a connection to a data source in a data cloud and mapping the source data to data elements in the platform.
[0036] Figures 18 - 20 Shows examples of use cases for configuring and using variants of a data - driven workflow platform in complex business processes with different levels of automation.
[0037] Figures 21 - 23 Shows an example of a GUI for creating and / or editing automation.
[0038] Figure 24 and Figure 25 Shows an example of a GUI for creating or adding relationships.
[0039] Figures 26 - 30 Shows an example of a GUI for creating a workflow.
[0040] Figure 31 and Figure 32 shows an example of a GUI that displays a created workflow with progress tracking and analysis.
[0041] Figures 33 - 38 shows an example of a logistics application suite.
[0042] Figures 39 - 43 shows an example of a GUI for configuring or creating data mining.
[0043] Figure 44 Schematically illustrates the architecture of a data-driven workflow platform.
[0044] Figure 45 Schematically shows an example of AI-based application discovery features according to some embodiments of the present disclosure.
[0045] Figures 46 - 48 shows an example of a GUI for AI-based application discovery features.
[0046] Figure 49 Schematically shows an example of AI-generated workflow features according to some embodiments of the present disclosure.
[0047] Figures 50 - 53 shows an example of a GUI for AI-generated workflow features.
[0048] Figure 54 and Figure 55 shows an example of a GUI for an automated flow.
[0049] Figure 56 and Figure 57 shows an example of a GUI for an application market.
[0050] Figure 58 and Figure 59 shows an example of a GUI (e.g., CloudLink Explorer) that allows a user to find data in a data cloud (e.g., Snowflake).
[0051] Figure 60 shows an example of a GUI for a user to set logical rules (e.g., filtering parameters and logical operators in a record) to find data.
[0052] Figure 61 shows an example of a GUI for a user to set machine learning-based anomaly detection and reporting rules.
[0053] Figure 62 shows an example of a GUI for a user to select a primary column to be used as a unique identifier for data.
[0054] Figure 63 Illustrates a non - limiting example of a computing device; in this case, the computing device is a device having one or more processors, a memory, a storage device, and a network interface.
[0055] Figure 64 Illustrates a non - limiting example of a web / mobile application providing system; in this case, the web / mobile application providing system is a system that provides a browser - based and / or native mobile user interface.
[0056] Figure 65 Illustrates a non - limiting example of a cloud - based web / mobile application providing system; in this case, the cloud - based web / mobile application providing system is a system that includes elastic load balancing, auto - scaling web server and application server resources, and synchronously replicated databases. Detailed Description
[0057] Although various embodiments of the present invention have been shown and described herein, it will be apparent to those skilled in the art that such embodiments are provided by way of example only. Many variations, changes, and substitutions will occur to those skilled in the art without departing from the present invention. It should be understood that various alternatives to the embodiments of the present invention described herein may be employed.
[0058] Certain definitions
[0059] Unless otherwise defined, all technical terms used herein have the same meaning as commonly understood by one of ordinary skill in the art to which this invention belongs.
[0060] References to "some embodiments" or "embodiments" throughout this specification mean that a particular feature, structure, or characteristic associated with that embodiment is included in at least one embodiment. Thus, the phrases "in some embodiments" or "in embodiments" that appear throughout this specification do not necessarily all refer to the same embodiment. Additionally, in one or more embodiments, a particular feature, structure, or characteristic may be combined in any suitable manner.
[0061] As used herein, the terms "component", "system", "interface", "unit", etc. are intended to refer to computer - related entities, hardware, software (e.g., in execution), and / or firmware. For example, a component can be a processor, a process running on a processor, an object, an executable file, a program, a storage device, and / or a computer. By way of example, an application running on a server and the server can be components. One or more components can reside within a process, and components can be centralized on one computer and / or distributed between two or more computers.
[0062] In addition, these components can be executed from various computer-readable media on which various data structures are stored. The components can communicate, for example, according to signals having one or more data packets (e.g., data from one component that interacts with another component in a local system, a distributed system, and / or across a network (e.g., the Internet, a local area network, a wide area network, etc.) via signals), through local and / or remote procedures.
[0063] As another example, a component can be a device having a specific function provided by mechanical parts operated by an electrical or electronic circuit; the electrical or electronic circuit can be operated by a software application or a firmware application executed by one or more processors; the one or more processors can be inside or outside the device and can execute at least a part of the software or firmware application. As yet another example, a component can be a device having a specific function provided by an electronic component without mechanical parts; the electronic component can include one or more processors therein to execute at least part of the software and / or firmware that gives the electronic component its function. In some cases, a component can simulate an electronic component via a virtual machine (e.g., within a cloud computing system).
[0064] Whenever the terms "at least", "greater than", or "greater than or equal to" are placed before the first value in two or more numerical series, the terms "at least", "greater than", or "greater than or equal to" apply to each value in the numerical series. For example, greater than or equal to 1, 2, or 3 is equivalent to greater than or equal to 1, greater than or equal to 2, or greater than or equal to 3.
[0065] Whenever the terms "not exceeding", "less than", or "less than or equal to" are placed before the first value in two or more numerical series, the terms "not exceeding", "less than", or "less than or equal to" apply to each value in the numerical series. For example, less than or equal to 3, 2, or 1 is equivalent to less than or equal to 3, less than or equal to 2, or less than or equal to 1.
[0066] For example, as used herein, a processor includes one or more processors, such as a single processor, or multiple processors of a distributed processing system. The controllers or processors described herein generally include a tangible medium for storing instructions for implementing the steps of a process, and, for example, a processor may include one or more of a central processing unit, programmable array logic, gate array logic, or a field programmable gate array. In some cases, one or more processors may be programmable processors (e.g., a central processing unit (CPU) or a microcontroller), a digital signal processor (DSP), a field programmable gate array (FPGA), and / or one or more advanced RISC machines (ARM) processors. In some cases, one or more processors may be operably coupled to a non-transitory computer-readable medium. The non-transitory computer-readable medium may store logic, code, and / or program instructions executable by one or more processor units to perform one or more steps. The non-transitory computer-readable medium may include one or more storage units (e.g., a removable medium or an external storage device, such as an SD card or a random access memory (RAM)). One or more of the methods or operations disclosed herein may be implemented in a hardware component or a combination of hardware and software, such as, for example, an ASIC, a special purpose computer, or a general purpose computer.
[0067] Furthermore, the word "exemplary" is used herein to mean serving as an example, instance, or illustration. Any aspect or design described herein as "exemplary" is not necessarily to be construed as preferred or superior to other aspects or designs. Rather, the use of the word "exemplary" is intended to present concepts in a concrete fashion. As used in this application, the term "or" is intended to mean an inclusive "or" rather than an exclusive "or". That is, unless otherwise specified or clear from the context, "X employs A or B" is intended to mean any natural inclusive permutation. That is, if X employs A; X employs B; or X employs both A and B, then in any of the foregoing instances, "X employs A or B" holds. Additionally, the articles "a" and "an" as used in this application and the appended claims should generally be construed to mean "one or more" unless otherwise specified or clear from the context as being in the singular form.
[0068] Overview of cloud services
[0069] Figure 1Shows an example of storing enterprise data in a traditional database system. As shown in this example, typically, one or more users within an enterprise (2, 4, 6; these users can be the same user operating through separate systems, or can represent three different users operating separate systems) will establish separate user sessions (10, 12, 14) with each connected (66, 68, 70; 72, 74, 76) system (such as 16 - ERP system; such as 18 - TMS system; such as 20 - RMS system), and the one or more users (2, 4, 6) have credentials and permissions for access and use. Typically, each system (16, 18, 20) can be operably coupled (78, 80, 82) to one or more database systems (22, 24, 26), and the one or more database systems (22, 24, 26) are configured to store relevant data and utilize such data for sorting, generating reports, and / or calculations, for example, dynamically processing requests issued through the interconnected systems (16, 18, 20). Enterprises using such a configuration typically have specific information technology resources that can be used to maintain, update, and troubleshoot various aspects of the database / computing systems (22, 24, 26), and such enterprises have inherent operational risks and inefficiencies related to the proprietary nature and mystery of many ERP / database / computing configurations, as will be discussed in further detail below.
[0070] Next - generation configurations have evolved where enterprise data is becoming increasingly separated from computing resources. As Figure 2 shown, cloud - based repository providers (e.g., Snowflake(RTM)) continue to gain market share from traditional ERP / database / computing configurations (such as Figure 1 shown), where a data cloud system configured for a particular enterprise (34) is established to essentially separate the enterprise's data from core computing resources that can reside in a scalable computing configuration (36) that is mutually coupled (96, such as through a high - throughput connection), such as a scalable computing configuration that can be provided by Amazon(RTM), Google(RTM), and Microsoft(RTM) under the trade names Amazon Web Services(RTM), Google Cloud(RTM), and Azure(RTM).
[0071] As Figure 2As shown, one or more users (2, 4, 6; such users can be the same user operating through separate systems, or can represent three different users operating separate systems) within an enterprise can utilize one or more computing sessions (10, 12, 14) to operate one or more connected systems (16, 18, 20), and the one or more connected systems (16, 18, 20) can be mutually coupled (84, 86, 88; 90, 92, 94) to a data cloud configuration (34). Many such systems, such as Figure 2 the systems (16, 18, 20) shown in, typically will still require a significant level or amount of enterprise data (such as through traditional system integration, such as application programming interfaces (or "APIs"), batch tables, XML scheduling, etc.) maintained using separate databases (28, 30, 32) in order to be able to operate, and thus even though some enterprise data (such as reporting and / or audit data) can be stored in the data cloud (34), then copied from the data cloud (34), and provided with operational computing by a scalable computing configuration (36) that is mutually coupled (96), data and data processing typically still remain distributed across other different systems (18, 20, 22), which again brings various inefficiencies, complexities, costs, and risks in terms of management to such enterprises.
[0072] Recently, cloud services and SaaS (Software as a Service) can provide more scalable, functional, efficient, upgradable, and less isolated enterprise computing resources while still maintaining security. Especially in scenarios where a typical modern enterprise is dealing with various issues (such as supply chain challenges), the number of different information fragments from different systems can be very large, and these different information fragments are usually manually integrated and processed to make timely and informed business decisions. For example, as Figure 3 shown, for a typical enterprise manufacturing complex technology products, it may not be uncommon to try to extract information from multiple traditional integration systems (16, 18, 20) and / or SaaS (38) systems (for example, software for checking approved purchase orders for critical components of goods to be manufactured, and software for checking shipping / transport status, operational risks, payment status, and related weather data) to understand whether a particular shipment will indeed arrive at the appropriate manufacturing facility on time so as to help ensure that the manufactured goods are shipped in time for a particular holiday.
[0073] Perhaps more importantly, even in scenarios where enough users / operators can participate in a real-time discussion to solve such compound and complex problems, they may bring data from different systems that is not linked, not coordinated, may not be updated in real-time or near real-time, and has not been analyzed through business processes to assist in making decisions based on many inputs. In other words, such a discussion may involve 30 operators, each with their own perspectives and data from different systems (some of which may not be within the enterprise firewall), and each operator wishes to join a real-time discussion about the current problem and potential solutions. This document describes systems and methods for business process operation, management, and automation that are configured to address these and other operational challenges in modern enterprises.
[0074] Reference Figure 3 , shows an enterprise configuration similar to the Figure 2 illustrated enterprise configuration, in which one or more so-called "software as a service" (or "SaaS") systems (38) are added, which are configured to allow users (8) to participate in the SaaS configuration (38), such as customer relationship management (CRM), enterprise resource planning (ERP), content management system (CMS), project management software, sales, marketing, or e-commerce software (e.g., Salesforce(RTM), Adobe Creative Cloud(RTM), ServiceNow(RTM), etc.). Such systems typically utilize SaaS data systems (40) (such as databases) that are mutually coupled (100), which are specifically configured to facilitate the operation of the SaaS configuration (38) by extracting certain data from the mutually coupled data cloud configuration (34) (such as through traditional system integration as discussed above with reference to the interconnected systems (16, 18, 20)). Similar to the Figure 2 illustrated system configuration, even though some of the enterprise's data will be located on the data cloud (34) and operational computing will be provided by the scalable computing configuration (36), there will still be some data distributed across other different systems (28, 30, 32, 40), which again brings various inefficiencies, complexities, costs, and risk management drawbacks to such an enterprise.
[0075] Service management cloud system (data-driven workflow platform)
[0076] The present disclosure provides an improved service management cloud system or cloud-native SaaS platform for no-code applications having data-driven workflows that utilize cloud data. The service management cloud system as described herein can provide configurable and automated data-driven workflows via no-code applications. The service management cloud system can be natively integrated into any data cloud and can allow for configurable applications for workflows or processes without ETL (Extract, Transform, Load) or ELT (Load and Transform in a data warehouse). The terms "service management cloud" or "cloud-native SaaS platform" may also be referred to as "data-driven workflow platform" and are used interchangeably throughout the specification.
[0077] Figures 4 - 7 Illustrated are various configurations in which a service management cloud system (44) can be configured to have direct interconnectivity (104, 106) between a user (8) and a data cloud configuration (34). The service management cloud system (44) can be specifically configured to operate without the need to migrate large amounts of data from the data cloud configuration (34) to other systems, while also providing visibility and utility to the user (8) via the service management cloud (44) to manage business activities and processes in an efficient and scalable manner, as further described in detail below. As further described below with reference to Figure 9 As further described in detail, for example, the service management cloud system (44) can be specifically configured to not only provide efficient and globally controllable access to various interconnected systems and data by using appropriately granted privileges, but also connect these data and systems such that the data is available to the service management cloud system (44) with an efficiency and latency similar to what might exist if the data were local to the service management cloud system (44). In other words, during a given session, the service management cloud system (44) and the mutually coupled resources (34, 36) can be configured to make the target data "function native" to the service management cloud system (44) session - and this presents important additional opportunities for enterprises to utilize data, while also ensuring that the data continues to be updated (such as in real-time or near real-time) and continues to reside fully or at least primarily on the data cloud (34).
[0078] Reference Figure 4 , an enterprise data configuration is illustrated in which traditional connected business systems (16, 18, 20), such as Figure 2The system shown, maintained in place (i.e., within the data cloud), to assist one or more given users (2, 4, 6) in traditional operations through sessions (10, 12, 14) with such systems (16, 18, 20) and their connected data (28, 30, 32; 34), and wherein a separate service management cloud system (44) is configured to provide direct access to a mutually coupled (106) data cloud configuration (34), such that a user (8) of the service management cloud system (44) can not only examine information contained on the data cloud configuration (34) in the form of query-returned views, reports, etc. without migrating data from the data cloud configuration (34) to the user (8), but also wherein the user (8) can create, operate, and manage business processes without migrating data from the data cloud configuration (34) to the user (8) by leveraging the combined interconnected resources of the service management cloud system (44), the data cloud configuration (34), and the associated scalable computing configuration (36), as further discussed below such as with reference to Figure 9 discussed further.
[0079] For simplicity, Figure 5 a variant is illustrated that does not have an integrated traditional enterprise system (e.g., Figure 4 16, 18, 20). Such a configuration can occur in a paradigm where such a traditional configuration may have been migrated to the service management (44) and data cloud (34) configurations, or where traditional functionality has been replaced by the available functionality of the service management (44) and data cloud (34) configurations.
[0080] Figure 6 An embodiment is illustrated where three separate data cloud configurations (34, 52, 54) are shown interconnected (106, 110, 112) between a service management cloud system (44) and three separate interconnected (96, 114, 116) scalable computing configurations (36, 48, 50), which scalable computing configurations (36, 48, 50) can be maintained by different and / or distinct providers (e.g., Amazon Web Services(RTM), Google Cloud(RTM), and / or Azure(RTM)). This configuration illustrates that a single user (8) can utilize a single instance of the service management cloud (44) to examine and control data from various different interconnected systems and perform computational operations on that data, as further discussed below with reference to Figure 9Further described, it is also not highly dependent on pulling data from such a system to the user (8), which depends to some extent on the data cloud configuration (34, 52, 54). For example, in embodiments where a particular data cloud configuration has remote computing management features (such as those provided by Snowflake (RTM) under the trade name "Streams" (RTM)) or where a suitable adapter has been built in its location, data manipulation language ("DML") changes made to tables, catalog tables, external tables, or underlying tables in one or more views (including security views) can be recorded for a given source object record, thereby allowing for traceable remote operations or remote manipulation of Snowflake data cloud configuration instances. Such a streaming configuration can be used to provide the service management cloud (44) with access to data within one or more data cloud configurations (34, 52, 54), as well as access to its computational manipulation through an extensible computing configuration (36, 48, 50) via one or more related interconnections (96, 114, 116).
[0081] Reference Figure 7 , the adapter (58, 60, 62) modules of one or more interconnections (120, 122, 124; 126, 128, 130) can be configured to assist the service management cloud (44) in the specific use of the subject data cloud configuration (34, 52, 54), such as functions related to facilitating as many associated computations as possible with the extensible computing configuration (36, 48, 50). The adapter can make the data hosted in the data cloud (e.g., Snowflake) appear like native data within the service management cloud platform. For example, during the configuration or integration of the target data between the data cloud (e.g., Snowflake) and the service management cloud, the adapter can set up mappings and data type matches without changing the data or imposing any type of modification to the data within the data cloud. Details regarding adapters, data type matches, assignments, and data mapping (setting up connections to data sources) are described later in this article.
[0082] As described above, in many multi - factor modern business challenges, there is a need not only for people, information, and expertise from various people and sources within a particular organization, but also from various people and sources within other (i.e., external) organizations. For example, a typical enterprise may contract out various aspects of its logistics operations. To understand and address a particular urgent business challenge that may involve logistics, the enterprise may need to involve people and information from an external logistics service provider. Traditionally, such involvement may require emails, conference calls, phones, and many people. A key benefit of the subject service management cloud (44) configuration is the enhanced ability to bring people into a collaborative process with specific and controlled access levels, regardless of whether they are within a particular organization, department, or broad security department.
[0083] The service management cloud platform can allow process sharing. In addition to securely sharing data within the data cloud, the participants or different entities involved in the workflow can also share processes. For example, the supply chain team can collaborate with partners on the same data within the same workflow through the platform of this article (processing the same data directly with partners). The platform can provide an interface for viewing, accessing, and managing process data such as tasks, assignments, reminders, all of which are protected within the data cloud. Refer to Figure 8 the configuration (132), the service management cloud (44) can be configured to allow pre-established or in-application defined login permissions (134), and these login permissions can provide specific access roles or levels (e.g., full global access, organization only, application only, or even limited to a single record) (136). The service management cloud (44) can be configured to allow appropriate connection and access to information using the data cloud (34) and associated computing resources such as Figure 4 the 36 in
[0084] In addition, using precise access and tracking through records, applications, organizations, roles, etc., access to each specific aspect of enterprise data and systems can be tracked and audited (140). For example, reports, user interface dashboards, or notifications can be set up to allow administrators configured in the service management cloud (44) to conveniently understand who is accessing what in the entire system through real-time or near-real-time updates. Refer to Figures 13 - 15 for additional aspects of access management, control, and collaboration. Refer to Figure 13 which illustrates a hierarchical configuration (186), as described above, this hierarchical configuration (186) can be used to help administrators configured in the service management cloud (44) provide very specific access to various aspects of the system, such as based on a single record (194), application (192), organizational basis (190), or globally (188), but subject to appropriate restrictions. Thus, for example, refer to Figure 14 through this configuration (202), collaboration between one or more parties within and outside a given organization is facilitated. It illustrates that a user ("John Smith" 204) has an internal role (212) within a given company organization and has appropriate access rights (214) to the service management cloud (44) of this company. Using the Figure 8 access configurability discussed in, John Smith (204) can also be granted separate and different access rights to external resources of the service management cloud (44) of a partner organization, such as based on his role (206) within that external partner organization, or based on a specific application basis (208). Figure 14It is also illustrated that John Smith (204) can have limited access to a single record (210) within the service management cloud (44) of a third organization. Thus, John Smith (204) can use the subject configuration of the service management cloud to securely and in real-time or near real-time collaborate conveniently and efficiently with people, processes, and data of three or more organizations via the cloud, without having to log in and log out of multiple systems.
[0085] Figure 15 It is illustrated that, with this service management cloud (44) configuration (216), a user (such as John Smith ( Figure 6 element 204 of B)) can easily switch between organizations for collaboration. In other words, "bringing in someone from another organization to help solve this urgent / specific problem" becomes highly efficient, secure, and controllable, and can be automated in many ways, as further described below. Additionally, the service management cloud (44) can be configured to be platform-independent, such that it can be accessed and used from any web interface, thereby allowing appropriate users to manage any platform from anywhere, typically supported by the powerful computing capabilities of a secure data center (such as Figure 4 the scalable computing configuration (36) operatively coupled (96) to the data cloud (34) in the embodiment of
[0086] Reference Figure 9 , using a powerful, precise, and convenient paradigm for access management, an operator can not only visualize data updated in real-time or near real-time, but also utilize the data in new ways in many types of business processes with various degrees of automation. As Figure 9 shown, under appropriate access restrictions, the data becomes function-native data for further utilization. As described above, the concept of function-native refers to the fact that the service management cloud (44) can be configured to present a given user with access to data that is updated in real-time or near real-time, with a latency and degree of access as if the data resided in their local computing operations, even though the data typically actually resides on the data cloud (34) and is supported by a significant scalable computing configuration (such as Figure 4 element 36 of
[0087] Reference Figure 10, shows an extended illustrative view of the service management cloud (44) configuration (152), where given functional native access to data, many operations can be efficiently performed using the service management cloud (44) on a platform-independent basis via web services. For example, cloud applications ("Apps") can be created to perform various operations either repeatedly or on a one-time basis, such as the following operations that can be functionally performed: "display all current suppliers in Japan" (154); "determine the number of assembled parts in the finished goods inventory of factory #522" (156); "prepare a report that presents the superset of SKUs to be received in December" (158); "return the total monthly cost of sales from production line #12" (160); and "show all delayed purchase orders since January" (162).
[0088] Regarding the utilization of data that is already functionally native during a given session on the service management cloud (44), the system can be configured to deliver data into a given user's session based on the following factors: the platform used by the user to access the service management cloud (44) (e.g., a smartphone-based platform may not have the ability to throughput or receive as much data as a powerful desktop workstation); the quality of the connection between the user's client device and the service management cloud (44); the bandwidth or latency of the connection between the user's client device and the service management cloud (44); and / or the location of the user's client device relative to the data cloud (e.g., for an element 34 such as Figure 4 , it may be desirable to allow the user to configure his or her specific session in the service management cloud (44) to prioritize the local data closest to the user) and the scalable computing configuration (such as Figure 4 of element 36). In other words, the service management cloud (44) can be configured to automatically adjust the delivery of data into the user's session based on various factors to enhance usability and generally support the user in collaborative and other business operations.
[0089] Refer to Figure 11, which illustrates a service management cloud (44) session configuration (164), where functional native data (144) can be used for complex business process automation. For example, the service management cloud (44) can be configured to functionally automate processes that utilize available data, such as: "If any SKU contains the metadata 'hazardous', then mark it in the report and send the report to the regulatory department" (166); "If any goods appear to be delayed by more than 20 days during December, then execute the remediation / replacement logic, notify the controller and the legal department, and send the remediation / replacement terms to the legal department via email" (168); "If a purchase is made in China and if the SKU is hardware, then contact the Chinese customs and provide a list of goods" (170); "If the valuation figure has not been signed by an authorized person in the accounting department, then send the list of goods to the accounting department" (172); "On the first day of each month, search for all available information on data related to the reputation of all suppliers and send it to the ESG department" (174).
[0090] Reference Figure 12 , which illustrates a service management cloud (44) session configuration (176), where real-time or near-real-time access (138) to functional native data (144) can be used for write-back purposes (150). For example, the service management cloud (44) can be configured to functionally write back to a data cloud, such as Figure 4Element 34), which can be used to update other mutually coupled systems as described above in the following example scenarios: "including new metadata annotations associated with this table: 'Data may be corrupted; several columns look the same; auditing is required'" (178); "Update the ETA (Estimated Time of Arrival) for goods from January 1st to January 5th" (180); "Fix the data in a specific row / column of this specific table: replace '2oo,100.55' with '200,100.55'" (182); "Increase the purchase quantity from 1,500 to 2,500" (184). Such write-back can represent a significant change in operations, and being able to navigate them efficiently and securely through an interface and immediately populate the data to other users presents another key paradigm shift. Since the service management cloud is directly connected to the data stored on the data cloud provider and the workload or queries run in the data cloud, the source data can be updated, modified in the data cloud, and / or new data can be added to the data cloud (e.g., when performing actions to request data updates in an automated setup). The service management cloud can provide an alternative ability to directly call APIs into cloud services (e.g., Salesforce) to perform actions (e.g., adding new data records in a new column or table in the data cloud) or update the source data. The platform can be able to write back to cloud services (e.g., Salesforce), directly back to the source systems (e.g., ERP, CRM, CMS, etc.), or a combination of both. In some cases, the platform can allow users to set preferences or permissions for write-back. For example, a user can set the write-back to be enabled for both the cloud service and the connected source system. Alternatively, a user can set the write-back to be enabled only for the cloud service.
[0091] Reference Figure 16 , as described above, on a platform-independent basis, using securely and efficiently managed access (138), the service management cloud (44) can be used to make additional data available on a native functionality basis, as shown in (220): 1. Log in using credentials to connect to the data cloud; 2. Select the relevant tables to connect to; 3. Add details such as name, handle, and / or description in the new element; 4. Map fields by matching the table fields in the data cloud with the record fields in the element. Reference Figure 17 , such steps are illustrated in the view of the service management cloud (44) session user interface (set credentials 222; connect to table 224; associate element details 226; configure field mapping 228).
[0092] Reference Figures 18 - 20 , several use cases are illustrated for configuring and using variants of the service management cloud (44) in complex business processes with different levels of automation.
[0093] Reference Figure 18, Environmental, Social, and Governance ("ESG") scoring and its monitoring have become a key priority for many business organizations. Data can be used in various forms from many sources, with various levels of latency, determinacy, and other critical factors, leading to various complexities within such business organizations. Figure 18 Illustrated is a scenario where an organization requests all its partners to provide ESG-related data in a prescribed format, in a prescribed table, at a prescribed location so that the data can be made available by a service management cloud (44) with appropriate permissions. Thus, the ESG data has been placed in tables in a prescribed format, and these tables can be accessed (230) via the service management cloud (44) with appropriate permissions; to facilitate the efficient and automated use of relatively standardized and predictable data from various partners, pre-existing applications can be created and configured to automatically (236) generate prescribed records or reports (232) based on connectivity (234) with the ESG data tables. Additionally, the service management cloud (44) can be configured to automatically flag suppliers or partners whose ESG scores may be below a specific predetermined or customizable threshold and automatically deliver such information, such as a written report document sent via email or an electronic notification sent to the service management cloud (44) dashboard interface, a smart phone, etc. (238).
[0094] Reference Figure 19 , illustrated is an embodiment related to ESG analysis where the available data may not be homogeneous or standardized but is provided in a non-homogeneous form via the service management cloud (44) (240). In such a case, an operator of the service management cloud (44) can create a custom application to operate within the service management cloud (44) using complex and simplified (the "no-code" and / or "drag-and-drop" configuration interface of the service management cloud) rather than using or modifying one of several pre-created applications available on the service management cloud (44). Details of the user interface and system for workflow creation are described later herein. Again, reference Figure 19, users can utilize an application to create a user interface (such as drag / drop features) to add sections (such as phases, summaries, key details, solution codes), add fields within each section and appropriately identify "required" fields (such as dates, values (such as quantities or costs), fields related to names (such as related to owners)), and add interactions (such as conversations (i.e., multi-party chats); approvals; tasks; attachments; update components) (244); by creating an application for capturing and processing data, a workflow or process automation configuration can be created to automate the ESG analysis and audit process (such as: performing quality assurance analysis on updated data; calculating the average E, S, and G scores for each vendor if the data is available; sending notifications to the ESG department (such as through connected devices, data-driven workflow platforms {such as through in-app notification centers or dashboards}, text messages); creating a second notification related to any vendor with an E, S, or G score below a specified threshold and sending the second notification to the ESG and risk management departments) (246).
[0095] Reference Figure 20 , the configuration of the theme service management cloud (44) can be used to automate business process challenges related to the supply chain. A specific purchaser (such as a large Fortune 500 entity) may require all suppliers / partners to accurately meet their delivery requirements (i.e., orders on time, not exceeding, not less than, undamaged, etc.), otherwise they will be subject to a payable and undisputed fine, unless there is a dispute within a relatively short time window after the penalty is temporarily issued. Due to the involvement of many operators both inside and outside the specific supplier / partner organization (e.g., partner manufacturing, transportation, logistics personnel; supplier logistics personnel; potential information provided in the data cloud by external suppliers (such as Project 44, which can geographically track shipping containers, etc.)), appropriately marking and supporting potential penalty disputes can be very challenging (and in fact, as a result, many disputes may not be raised in a timely manner at all, leading to significant operating costs for each participating party). In some embodiments, a custom application can be created to introduce any proposed purchaser deductions or penalties (262), original order information (264), relevant shipping information (266), information from partners (268), final goods / arrival and other milestone information (270), and automatically (272) and efficiently create an information package that is used to support a penalty dispute with the purchaser (274), and the information package can be automatically submitted to the purchaser's dispute resolution portal through a workflow automatically generated by the service management cloud.
[0096] By leveraging additional data and experience in automatically solving various business challenges, and by using the large amounts of data that continue to be updated and aggregated using various instances of the Service Management Cloud (44), a neural network configuration can be created to help users and organizations solve various business challenges based on relevance, tagged data, heuristics, and algorithms, as well as reinforcement learning models based on business goals. Additionally, the Subject Service Management Cloud (44) system can be configured to automatically identify gaps in various data sets, tables, and / or documents and seek to automatically bridge such gaps. For example, in one embodiment, in a configuration where an application or process is configured to utilize certain information from a "purchase order" document (such as in a business process automation configuration) and where a given purchase order has all the required information but lacks the actual mailing address of the vendor, the system can be configured to identify the vendor based on a unique SKU or other field in the data and provide the actual mailing address of the vendor from other data linked to the vendor.
[0097] Data-driven automation
[0098] As described above, the data-driven workflow platform herein can allow for code-free automation of processes at various levels. In some embodiments, the platform can provide a graphical user interface (GUI) that allows users to configure, create, and manage automations, thereby initiating workflows when data changes. In some cases, automations can be created by defining rules that govern actions triggered by events of selected data objects. In some cases, the rules can include a definition of the triggering event, a definition of the conditions for performing the action, and a definition of the action.
[0099] Figures 21 - 23 An example of a GUI for creating and / or editing an automation is shown. As Figure 21 shown, the GUI 2100 can allow a user to create, modify, or edit an automation with multiple configurable fields. For example, the automation GUI 2100 can provide at least three fields, which include a trigger 2101, a condition 2103, and an action 2105, thereby allowing for convenient configuration of trigger-condition-action type automations.
[0100] In some embodiments, the automation can be data-driven. For example, each field (e.g., trigger 2101, condition 2103, and action 2105) can be configured with auto-populated values or data fields. The auto-populated values or data fields can be determined dynamically based on the connected data object 2017. For example, when setting up the automation object 2107, a drop-down menu 2201 with dynamic fill options (such as add attachment, based on time, update approval) can be provided, as Figure 22As shown, users may be permitted to assign triggers based on record creation, status updates, data changes, quantity changes, value changes, or various other types of triggering events. The user may select from an option list 2201 to set the triggering event. In some cases, the options provided in the drop-down menu 2201 may change dynamically based on the connected data object. For example, the trigger option may indicate a data field (e.g., column) on which a change may trigger an action. In another example, the trigger may include an action / operation (e.g., create a new record) to be performed in the connected cloud database.
[0101] In some cases, users may be permitted to define the conditions of the trigger. The conditions may define specific values or states for the conditions of the trigger. For example, the conditions may be a new stage, the number of days before a due date, or the number of days past a due date, a quantity above or below a threshold, etc. As Figure 22 shown, the GUI may also allow the user to set or define conditions through a conditions panel 2203. The conditions panel 2203 may provide data fields with auto-fill options, such as a filtering condition 2205. The user may select from an option list provided in the drop-down menu 2205 to select the column on which to apply the filter. In some cases, the option list may be automatically populated based on the connected data object. The user may be permitted to further define the conditions for the filter (e.g., no value, greater than, equal to, less than, between... and, greater than or equal to, less than or equal to, etc.) through the conditions panel 2203. For example, the user may define a threshold 2207 and a relationship (e.g., equal to) to apply the filter. In some cases, the user may create a compound condition (e.g., a group of conditions) by means of an operator (e.g., AND, OR) 2208 to combine multiple conditions (e.g., filtering conditions) 2209. The GUI 2203 may also allow the user to create complex conditions, such as by adding a condition or a group of conditions 2211. A group of conditions may be added by means of any suitable operation (e.g., AND). The triggering event and the conditions may then be translated into a query language (e.g., Structured Query Language (SQL)) compatible with the database technology supported by the connected data cloud. In some cases, the triggering and the triggered conditions may be implemented through the data mining features of the platform. For example, the data mining capabilities may automatically detect changes in the data defined by the triggering event and the conditions. Details regarding the data mining features are described later in this article.
[0102] Figure 23An example of a GUI for a user to create actions is shown. The actions can be related to assigning an owner, escalating an alert, updating selected data fields, placing an order, and various other actions. As shown in the example, the user can select an action from a drop-down menu 2302 that presents a list of action options. The action options can be determined dynamically based on the connected objects. As shown in the example, the actions can include, but are not limited to, adding an observer, creating an output API, creating a record, posting a comment, sending a notification, updating a field, assigning to a user, assigning to a group, etc. In some cases, the actions can involve directly adding or modifying data in the connected data cloud. For example, the execution of an action can make a direct API call to a cloud service (e.g., Salesforce) to perform an action (e.g., adding a new data record in a new column or table in the data cloud) or update a source data object (e.g., updating field 2303). This ability to automatically write back, as described elsewhere in this document, can beneficially allow for reduced latency and increased efficiency without the transformations or data cleansing required by traditional ETL.
[0103] In some cases, the list of options for defining triggers and / or actions can be fixed across different connected data objects. For example, the trigger options and / or actions can be pre-built based on industry knowledge and expertise. For example, the trigger options and / or actions can be built based on a connected data cloud monitoring service (e.g., available API calls). Alternatively, an auto-populated list of options for defining actions and / or triggers can be provided dynamically based on the selected data object. The auto-populated list of options can be determined based on predefined rules, industry knowledge and expertise, and / or data patterns extracted from past data. For example, different action options can be mapped to different types of data objects. In some cases, the list of action options can be provided dynamically based on past behavior associated with the user, organization, industry, etc. For example, the action menu for a first user / industry can be different from the action menu presented to a second user / industry based on past data associated with that user / industry. In some cases, the operation options can be provided dynamically based on time. For example, different menus or options can be provided based on different times of the year (e.g., different months, different seasons, etc.).
[0104] Figure 54 and Figure 55An example of a GUI showing an automated flow is presented. As described above, an automated flow is a code-free automation platform that does not require programming expertise to access system functions and control flows on data cloud data. The system herein can provide available variables for each action in the automated flow. A user can use functions presented through the GUI (such as the 'link' button and / or operators (e.g., the $ operator)) to identify variables outside the automation (e.g., variables from a previous step of the automated process) and use these variables in one or more actions. The variables can be from raw data and / or intermediate data generated by any step of the automated process.
[0105] Figure 54 An example of a GUI showing permission to use an operator (e.g., the $ operator) 5401 to create a custom payload in API integration is presented. The API can permit sending a custom message to an external API (such as the Slack API) based on dynamic variables from the automation. The GUI can also permit selecting a link value from the automation. For example, a drop-down menu 5403 can display filtered options (only valid options (data fields)) to beneficially ensure that the automation can run successfully. As shown in the example, a user can select a reference value for a trigger record variable from the drop-down menu.
[0106] The GUI can also permit a user to control the flow of the automation through advanced logic without requiring coding or programming skills. As Figure 55 shown, the GUI can permit a user to access data in the data cloud to set or change a trigger 5501 to start the automation. The system can provide one or more advanced logics in a visual manner. The advanced logics provided by the system are intuitive and do not require coding skills. For example, logics such as loop and if statement logics can be provided as loops and branches on the GUI for a user to control the flow of the automation. A user can use the advanced logic on the automation variables to control the automation flow by selecting a dynamic variable, a logical operator (such as equal to or less than / greater than), and another dynamic variable to be compared. Figure 55 An example of a GUI for using visual features such as a loop 5503 and a branch 5505 to control the automation flow is presented. As shown in the exemplary flow, a loop action 5503 in the automation can control the flow to search for all valid records and run a sub-workflow 5507 one by one on each found record in the record search. Then, the automation flow can use a branch action 5505 to perform an if statement logic check to execute other actions based on the check found in the path 5509 of the branch.
[0107] The GUI provided by the system can hide complex programming concepts (such as types and variable scopes) from the user to make it more convenient for the user to utilize the data in the automation. Intuitive functions can be provided, and the system can automatically determine the associated complex programming concepts. For example, the user can provide inputs such as referencing a data list and / or running a sub - process for each piece of data in the list, and the types and variable scopes are automatically determined by the system based on the user input.
[0108] In some embodiments, in addition to the GUI for creating or defining automation, the data - driven workflow platform herein can also utilize artificial intelligence (AI) techniques to provide intelligent automation or automation suggestions. For example, past actions, conditions, and trigger data, as well as connected data objects, can be used to train an AI model. Once trained, the AI model can be able to automatically determine trigger conditions (e.g., condition values) and / or actions to provide suggestions to the user.
[0109] Dynamic relationships and data models
[0110] The data - driven workflow platform described herein can allow users to create dynamic relationships within the data. This dynamic relationship capability beneficially allows flexible rules to connect data elements together. For example, the user can understand that certain elements (such as master data and transaction data) are related: goods are related to the port of entry, SKUs are related to POs, and computers are related to suppliers. When something happens upstream (e.g., an upstream automation is triggered), this upstream data can be used to identify downstream impacts, thus avoiding delays (e.g., days or weeks) in identifying the impacts.
[0111] In some embodiments, relationships can be created by connecting data models or elements of data models within the platform. As described above, the data - driven workflow platform can include an adapter configured to connect to data objects in a cloud repository. The adapter can allow the user to map fields between the stored data model in the platform and the table fields in the data cloud. The stored data model in the platform can include different types of data sets. In some cases, for example, different types of data can include things such as "elements", "tasks", "applications", etc. The adapter can make the data hosted in the data cloud (e.g., Snowflake) appear like native data within the platform. For example, as Figure 17As shown, the adapter can provide a GUI that allows users to set mappings and data type matches. For example, a user can assign data types (e.g., transactions, elements, applications, etc.) to data fields or tables of data hosted in the data cloud. For example, to create an ESG application, the adapter can connect to a table stored in the data cloud, and the platform can automatically identify elements related to the ESG application, such as suppliers, products, economy, environment, labor, society, etc., and display a GUI with auto-filled fields that allows the user to assign data types to the extracted elements. For example, a user can assign the data type element type to suppliers and products (e.g., master data / static data), or assign the element type to economy, environment, labor, and / or society (e.g., transaction data / streaming data). Such operations can be performed without applying any modifications or changes to the data in the data cloud.
[0112] Relationships can be created between stored data models within the platform. The stored data models provided by the platform can dynamically map relationships within cloud data. For example, a relationship can be created between "element" type data named "Product" (which contains a complete list of all products manufactured or sold by a customer) and "transaction" type data named "Inventory Location" (which indicates the quantity of each product on hand for the customer).
[0113] In some cases, users can manually create relationships through the GUI provided by the platform. Figure 24 and Figure 25 An example of a GUI for creating or adding a relationship is shown. As Figure 24 shown, the GUI 2400 can provide fields for the user to create a relationship (e.g., equal to) by selecting one or more data fields 2403 of the first data model or an element 2401 of the first data model and selecting one or more data fields 2405 of the second data model or an element 2407 of the second data model. Field name options can be auto-filled in the drop-down menu 2409 of the selected object. As Figure 25 shown, relationships can be created between two objects of various data types defined within the platform. For example, the object 2501 can be of application type, element type, or transaction type. After selecting the object 2501, associated data fields 2503 can be provided in the drop-down menu for selection.
[0114] In some cases, relationships can be automatically created without user intervention. For example, the platform can analyze the stored data models within the platform and can suggest automatically creating relationships. For example, the platform can automatically recognize that the data model "Inventory" with a column named "sku" should be related to the "Product" data model with a column named "sku". The platform can generate suggestions for the user to set the recommended relationships. The user can choose to accept, reject, or modify the recommended relationships. In some cases, the platform can develop an AI model for automatically recognizing relationships. Alternatively, relationships can be recognized based on predefined rules (e.g., constructing relationships based on common identifiers, expert knowledge, or other criteria). The platform can also allow users to manage and share all the relationships created for one or more applications. The user can view the relationships in real time, dynamically modify the relationships at any point in time, and make decisions based on a multi-level organization.
[0115] No-code application creation
[0116] As described above, the data-driven workflow platform provides a code-free configuration interface for creating cloud applications. The platform can allow users to create, customize, and / or configure cloud applications through a code-free user interface that has built-in features such as configurable and automated workflows and dynamic relationship discovery and creation. In some cases, the platform can provide pre-built applications so that users can further customize the pre-built applications through a "drag and drop" GUI. For example, the platform can provide initial "pre-built" automation for an "application suite" (e.g., inventory management or merchandising). In some cases, these initial automations can be generated based on industry knowledge and expertise.
[0117] The platform can automatically provide an initial workflow based on the connected data objects. In some cases, the platform can automatically start a workflow based on the connected data objects and can allow secure collaboration with third parties. The workflow can be highly configurable through calculations, approvals, tasks, analytics, automation, etc.
[0118] The platform can automatically select from an application suite library based on the connected data objects, which includes logistics, merchandising, inventory management, risk management, procurement, finance, HR, business development, etc. For example, based on insights extracted from cloud data (e.g., data mining), the platform can select an initial application / workflow from the application suite library.
[0119] In some cases, the platform can provide a GUI for the user to configure or edit a pre-built workflow. This beneficially allows for code-free creation of cloud applications using pre-built automations. Figure 26An example of a GUI 3200 for creating a workflow is shown. An initial workflow can be created using pre-built automations 3203 in one or more locations. A user can modify the initial workflow through a drag-and-drop function. For example, the user can add an object 3201 (such as a task, record, element, transaction, approval, field) to the workflow at any desired location by dragging a component from the "Objects" panel 3205 and dropping the component onto the workflow. The user can be permitted to further add actions to a selected object by dragging an element (such as data mining, automation, calculation, relationship, assign user, API, etc.) from the Actions panel 3207 to the object in the workflow. In some cases, the user can add an object and / or an action by clicking on a graphical element 3203 in the workflow (such as a plus icon or an object icon for adding an object) to activate a menu for selecting the object and / or action to add. In some cases, the user can select to delete or modify an action (such as an automation) or an object provided in the initial workflow by interacting with the graphical element corresponding to the action or object.
[0120] Figures 27 - 30 Another example of a GUI for creating a workflow is shown. As Figure 27 shown, the GUI can display a workflow having one or more stages 2710, 2720, 2730, 2740, 2750. The GUI can display general information related to each stage, such as the number of actions and the percentage of automation 2751 included in each stage. Different stages can have different percentages of automation. As Figure 27 shown, the start stage 2710 can be 100% automated. The start stage can include a plurality of actions 2719-1, 2719-2, 2719-3, 2719-4. In some cases, the actions can include logic 2711, 2713, 2715, 2717 and objects 2712, 2714, 2716, 2718. The logic and objects can define "who" (logic) does "what" (object). The logic can be, for example, automation, request approval, user input, calculation, relationship, data mining, etc. The objects can be, for example, records, fields, tables, summaries, and various other objects / elements provided by the system. In some cases, the user can modify the workflow by dragging an element from a panel (left panel) and dropping the element onto the workflow. The panel can provide, for example, shapes 2761 (such as a square shape can be used to represent an action, and a diamond shape can be used to represent a decision), logic options 2763, and a list of objects 2765. The GUI can also display information related to the entire process, such as the percentage of automation and the total number of actions 3201 in the entire process / workflow.
[0121] Figure 28An example of a GUI showing the workflow of the second stage 2720 is shown. Similarly, the second stage workflow may include one or more actions 2721, 2722, and each action may include logic 2723 and an object 2724. In some cases, the system may recommend an initial workflow for the stage and display it on the GUI, and then the user may choose to accept, modify, or reject any component of the workflow. In some cases, the user may be allowed to zoom in / out from any stage to view the complete process 2801. The GUI may also display a preview 2803 of the next stage. Figure 29 An example of a GUI showing the workflow of the third stage 2730 is shown. In this example, the workflow may be 50% automated as one action includes a human analyst and another action includes automation. Figure 30 An example of a GUI showing the workflow of the fourth stage 2740 is shown.
[0122] Figure 31 An example of a GUI showing the created workflow with progress tracking is shown. As Figure 31 and Figure 32 shown, once the workflow is deployed and executed, details about data analysis, calculations, actions, progress, etc. can be displayed to the user on the GUI.
[0123] Example use cases
[0124] As described above, the platform can automatically select an initial workflow from an application suite library based on the connected data objects, which includes logistics, merchandising, inventory management, risk management, procurement, finance, HR, business development, etc. For example, based on insights extracted from cloud data (e.g., data mining), the platform can select an initial application / workflow from the application suite library. The application suite may include multiple workflows. Figures 33 - 38 An example of a logistics application suite is shown. As shown in the example, the logistics application suite may include multiple workflows. The workflows may include data mining to identify dynamic relationships between objects, and automation (e.g., trigger conditions and actions). For example, as Figure 34 shown, a leadtime optimization workflow may be provided to reduce excess inventory by proactively addressing channel variance gaps. Data connected to the workflow (e.g., channels, goods, partners, sites) can be mined to identify when the actual leadtime is within the defined tolerance level, and actions can be automated to adjust the leadtime. As Figure 35 shown, a temperature alert workflow may be provided to reduce the amount of expired products by proactively managing temperature conditions during transportation. Data is mined to identify temperature issues with the goods in transit. Actions between the logistics team and the carrier are automated to address the alert issues. As Figure 36The customer issue workflow shown to reduce customs delays by actively managing issues. Data is mined to alert potential issues based on port congestion, strikes, and other impacts on the port. Actions between logistics and brokers are automated. A delayed cargo workflow as shown in Figure 37 can be created to improve OTIF by actively identifying delayed cargo. Data is mined to identify when the expected arrival time of the cargo is greater than the promised delivery date. Actions to identify alternative sources, expedite, and mitigate delays are automated. A workflow for expedite requests as shown in Figure 38 can be created to provide full transparency and accountability for who authorizes the cost of expedite requests is managed and centralized in one platform. Actions are automated to notify carriers, logistics, and others of approvals.
[0125] AI-based recommendations
[0126] In some embodiments, AI-based suggestions can be provided to the initial workflow. For example, the platform can develop an AI model to generate predictions about when to initiate actions (e.g., locations in the workflow), what actions to take, or other characteristics in the initial workflow. Training data sets collected within the platform can be used to train and develop the AI model. For example, past action patterns can be extracted from action or process data defined within the platform, and this data can be used as training data to develop the AI model. In some cases, the AI model can also predict data fields involved in the workflow.
[0127] The provided system can employ any suitable artificial intelligence technology to generate workflows, identify automation, perform dynamic association identification, convert data models (e.g., normalize raw data in the cloud to conform to the stored data model in the platform), and / or perform other functions described elsewhere herein. Artificial intelligence (including machine learning algorithms) can be used to train predictive models for predictive recommendations (e.g., automation, workflows, etc.), extract data relationships, normalize data, perform impact analysis as described above, and various other functions described elsewhere herein. For example, the machine learning algorithm can be a neural network. Examples of neural networks include deep neural networks, convolutional neural networks (CNNs), and recurrent neural networks (RNNs). The machine learning algorithm can include one or more of the following: support vector machines (SVMs), naive Bayes classification, linear regression models, quantile regression models, logistic regression models, random forests, isolation forest (iForest) models, neural networks, CNNs, RNNs, gradient boosting classifiers or regressors, or another supervised or unsupervised machine learning algorithm (e.g., generative adversarial networks (GANs), Cycle-GANs, etc.). In some cases, the models trained by the machine learning algorithm can be pre-trained and implemented on the provided system, and the pre-trained models can be continuously trained or refined using custom data, which may involve continuously adjusting the predictive model or components of the predictive model (e.g., classifiers) to adapt to the implementation environment or changes in the usage of the application over time (e.g., changes in user data, insight data, model performance, third-party data, etc.).
[0128] Data mining
[0129] Data-driven workflows can provide data mining capabilities, allowing insights to be extracted from the data in the data cloud. In some cases, the data mining features of the platform can be used to directly trigger insight generation from the data within the data cloud and / or automatically identify data events (e.g., data changes, data additions / deletions, data anomalies, or other data analytics provided by the cloud provider). The platform can provide a GUI for the user to configure or set data mining for selected data in a convenient manner. The data mining features can be seamlessly integrated with other functions such as automation. For example, the data mining configuration or data mining results can be used as triggers and conditions for automation to initiate automation or trigger actions.
[0130] The data mining features can allow the user to create data mining to automatically start workflows. In some cases, the GUI features can allow the user to find data in the data cloud (e.g., users do not always know where their data is in the data cloud). The GUI features can also allow the user to set up their data streams to connect, clean, filter, and enhance their data. Figure 58 and Figure 59An example of a GUI (e.g., CloudLink Explorer) is shown that allows a user to find data in a data cloud (e.g., Snowflake). As described above, the systems herein can access the data schemas of all customers' data in a connected data lake / cloud. The shape of a data schema (logical data structure) or table (e.g., multi-dimensional data model, dimension table, etc.) can be based on the data cloud configuration. As shown in the example, CloudLink Explorer makes API calls to data providers (e.g., Snowflake, Azure, etc.) to obtain metadata about databases, schemas, and data tables in the data lake. In some embodiments, the platform can automatically provide an initial workflow based on the scraped metadata or cloud data objects. In some cases, the platform can initiate a workflow based on the connected data objects and can allow secure collaboration with third parties. The platform can automatically select from an application suite library (such as a marketplace described later herein) based on the scraped cloud data objects and / or metadata. For example, based on insights extracted from the cloud data (e.g., data mining), the platform can select an initial application / workflow from the application suite library. The initial workflow can be presented to the user as a suggestion, and the user can further configure or edit the initial workflow as described elsewhere herein.
[0131] After receiving the metadata, the system can convert the metadata into a graphical view that can be searched and browsed via the GUI. As Figure 58 shown, graphical views 5803, 5805 of the data schema / table associated with the user (e.g., the data lake associated with the user account) can be displayed on the GUI. The user can visualize their data schema / table in the underlying data lake in various formats 5803, 5805 (e.g., table format, graphical representation, etc.). The GUI can also permit the user to search and / or sort 5801 the data. As Figure 59 shown, a preview of the data schema 5901 can be displayed on the GUI.
[0132] In some embodiments, the GUI provided by the system can allow the user to set logical rules or run a model trained with machine learning algorithms on the data to find data. For example, the user can set logical rules to find data for starting a workflow. Figure 60 An example of a GUI is shown for a user to set logical rules (e.g., filtering parameters and logical operators in a record) to find data. Figure 61 An example of a GUI is shown for a user to set machine learning-based anomaly detection and reporting rules. For example, the user can set rules for preparing data, select numeric columns, select data / time columns, select a windowing interval, review results, and schedule and data mine processes via the GUI.
[0133] In some embodiments, the system can store the status of the data found so that when the data is found, the user can be notified not multiple times. For example, the system can use a data identifier (e.g., a unique identifier) to track each time a row of data starts a workflow, thus making subsequent data queries idempotent. For example, if the system does not track that the row of data has triggered the workflow, a process running hourly may trigger the same workflow multiple times. This feature beneficially reduces unnecessary notifications to the user so that when the data is found, the user can be notified not multiple times until the data no longer passes a logical check. The system herein can use the primary key of the data table as the data identifier. In some cases, the system can allow the user to configure or control the identifier of the data via the GUI. Figure 62 An example of a GUI for the user to select the primary column to be used as the unique identifier of the data is shown. In some cases, the system can also allow the user to perform idempotent data queries on transaction data that does not have an identifier by default.
[0134] After setting up the data mining process, the user can set up automation to use the data found to create a new workflow. As shown in the above GUI, the user can set a schedule for the running of the data mining process (e.g., a schedule regarding the frequency of running the data mining process or the conditions for running the data mining process).
[0135] Figures 39 - 43 An example of a GUI for configuring or creating data mining is shown. In some cases, the user can configure or set the data (e.g., a table) to be mined and one or more parameters to run data mining on the data. Figures 39 - 42 An example of a GUI 3900 for creating an object (e.g., a table) to be data mined is shown. As Figure 39 shown, the user can drag an element 3903 from the object pane and drop the selected element (e.g., a channel 3901). For example, the user can click on the element icon in the left pane and select an object (e.g., a channel) from the drop-down menu. The table 3905 of the selected element can be automatically populated on the GUI. The user can choose to filter the selected object 3901, such as clicking on the "Filter Criteria" icon 3907, and then the filter pane 3909 can pop up with multiple configurable fields for the user to set the filter criteria. For example, the user can set values, combine filter criteria, set filter status, etc., to set the filter criteria to be applied to the object 3901. Once the filter criteria are applied, the table 3905 can be automatically updated, and information about the filter criteria 4001 can also be displayed together with the object, as Figure 40 shown.
[0136] The user can be prompted to drag and drop another object, e.g., the goods 4003. Similarly, the user 4005 can be prompted to set a filtering condition to be applied to the second object 4003. Once the second object and the second filtering condition are set, the user can be prompted to set a relationship or view the relationship between the two objects. For example, when the relationship icon 4007 is clicked, a relationship pane can pop up and allow the user to define the relationship between the two objects, as described elsewhere in this document. The table can be automatically updated as the relationship and / or filtering condition is configured.
[0137] As Figure 41 shown, the GUI can provide the user with the option to aggregate columns 4101 in the aggregated output table. For example, the user can pick to select the columns to be aggregated and / or define a filtering condition, as Figure 42 shown. The GUI 4201 can allow the user to select the columns to be included in the output table and define how to aggregate the selected columns. The user can also be permitted to create a new column 4203 in the output table through the GUI.
[0138] The GUI can also allow the user to set the actions to be performed on the created table. For example, as Figure 41 shown, the GUI can display a message 4103 prompting the user to select the actions to be applied to the table. The user can click on the automation icon 4105 and select from the action options in the drop-down menu (e.g., create a record, send a notification) to set the automated actions.
[0139] Once the table is created and saved (e.g., the data can be written directly back to the data cloud), the user can set one or more parameters to run data mining. For example, Figure 43 the GUI shown in
[0140] Cloud-native architecture
[0141] can prompt 4301 the user to set one or more parameters to schedule the frequency and / or time to run data mining and / or one or more parameters for filtering the table. As shown in the example, after clicking the schedule button 4303, options 4307 for setting the frequency and / or time to run data mining can be displayed. The user can select from the frequency options (such as hourly, daily, weekly) and / or set the start time through the GUI. The user can also be permitted to set a filtering condition through the GUI 4309 to apply the filtering condition to the data mining by clicking the filtering condition button 4305.In one aspect, the present disclosure provides a system for providing a data-driven workflow platform. The system includes: a first module configured to operably couple the data-driven workflow platform to one or more data clouds; a second module configured to map selected data objects to a data storage model of the data-driven workflow platform, where the selected data objects are stored on one or more data clouds; and a visualization module configured to display, on a graphical user interface (GUI), an interaction flow for building a cloud application by leveraging or managing the selected data objects. In some cases, the interaction flow includes at least one graphical element corresponding to a rule for automating an action triggered by a trigger event of the selected data objects.
[0142] In some embodiments, the first module is configured to convert instructions for performing an operation on at least one of the selected data objects received via the GUI into database operations executable in a data cloud configuration. Database operations are performed on the selected data objects in the data cloud configuration without using an extract, transform, and load (ETL) data integration process. In some cases, the selected data objects include transaction data or streaming data. In some cases, the data-driven workflow platform is configured to cache intermediate results for performing actions.
[0143] Figure 44 Schematically illustrates the architecture of the data-driven workflow platform. The architecture can be a layered architecture that includes a data structure and storage layer, a service / platform logic layer, and a visualization / API layer. The layered architecture can allow users to access and use data stored in any data cloud without moving the data to a central location. The data-driven workflow platform can execute workloads (e.g., queries) within a data cloud provider (e.g., AWS S3, Snowflake, Databricks, external data providers, etc.) and then stream data and / or insights back to the user via a user experience interface (UI) provided by the visualization module. In some cases, the platform can employ buffering techniques to allow real-time streaming or updates from the data cloud to an enterprise SaaS solution. For example, the platform can cache intermediate results generated during workflow actions for a predetermined period of time (e.g., 15 seconds, 20 seconds, 30 seconds, etc.).
[0144] The platform can set up a monitoring process through a cloud link connected to the notification service in the platform logic layer and the monitoring service in the data structure and storage layer, so as to receive notifications when the data in the source dataset in the data cloud changes. The monitoring feature can be used to trigger actions in the automation functions within the platform. Query execution is carried out in the service layer. For example, "virtual warehouses" can be used to process queries, where each virtual warehouse is a massively parallel processing computing cluster composed of multiple computing nodes from a cloud provider.
[0145] AI-based application discovery
[0146] In some embodiments, the platform can analyze the available datasets and utilize artificial intelligence (AI) techniques to recommend one or more pre-defined applications. This beneficially allows users to utilize the recommended applications through their data.
[0147] Figure 45 An example of an AI-based application discovery feature according to some embodiments of the present disclosure is schematically shown. System 4503 can access the data schema of all customers' data in the connected data lake 4505. The shape of the data schema (logical data structure) or table (e.g., multi-dimensional data model, dimension table, etc.) can be based on the data cloud configuration. System 4503 can be the same as the data-driven workflow platform or service management cloud system described elsewhere herein. For example, the adapter of system 4503 can make the data hosted in the data cloud (e.g., Snowflake) look like native data within the system. For example, during the configuration or integration of the target data between the data cloud (e.g., Snowflake) and the system, the adapter can set up mappings and data type matches without changing the data or imposing any type of modification on the data within the data cloud. For example, system 4505 can send a request to access the user data table schema in data lake 4505. The request can be generated based on the input received through GUI 4501 (such as business process name, description, or other input information).
[0148] System 4503 can include multiple pre-defined applications organized or managed in an application library (e.g., an app marketplace), and users or customers of the platform can install the multiple pre-defined applications into their organizations. For example, system 4503 can include a library of pre-defined application suites, which includes logistics, merchandising, inventory management, risk management, procurement, finance, HR, business development, etc., as described elsewhere herein.
[0149] Figure 56 and Figure 57Shows an example of the GUI of the application market. In some cases, system 4503 can publish complex workflows to the market, which can allow users (e.g., customers) to deploy the workflows selected from the market in their environments. As Figure 56 shown, the workflows can be built and maintained (e.g., updated) by the administrators of the system. In some cases, system administrators (e.g., process experts) can build and update workflows and deploy the updated workflows to customers, and the customers can start the workflows in their companies without building the relevant data tables, automations, approval processes, or surveys.
[0150] The workflows can be organized by category (e.g., enterprise technology, supply chain, enterprise service management, etc.) for customers to select and deploy into their own corporate environments. In some cases, customers / users can search for workflows by category and / or application (e.g., IT operations, leave, HR, basic events, delivery, etc.). As Figure 57 shown, customers / users can view detailed information about the selected workflows or applications (e.g., IT operations) through the GUI. For example, the GUI can display examples of using the IT operations application, typical variables that the application can track, and potential industry areas of the application.
[0151] The system can train the large language model (LLM) 4507 based on the availability of predefined applications and the shape of the data tables (i.e., data lake schema) required to implement the applications. The system trains the LLM based on the shape of the data tables in the customer's data lake. The LLM can be personalized or customized using user data. For example, a user can provide a list of data tables. The system can identify a list of available predefined workflows or business workflows and provide the required data for them. For example, the LLM can be trained to identify one or more workflows from a predefined workflow library at least partially based on the shape of the data tables associated with the user. The system can be instructed to look for data tables with similar shapes and functions to the predefined workflows. For example, the system can return a JSON array of business process objects with the following keys:
[0152] -predefinedWorkflowId(String)
[0153] -table-mapping:
[0154] -predefinedTableId(String)
[0155] -tableFieldName(String)
[0156] -predefinedTableFieldName(String)
[0157] After training the LLM, the system requests the LLM to find predefined applications that can be driven by the data in the data lake. For example, during the inference / prediction phase, the LLM can be deployed to take as input the data patterns (e.g., the shape of a data table) obtained from the data lake associated with a user account and output a data table mapping result. The LLM returns the data table mapping to the system for creating the predefined application.
[0158] If a match with a predefined application is found, the LLM returns the data table mapping to the system, and the system creates the application on behalf of the customer. If there is no match, the system switches to a generation method and asks the LLM to generate possible business workflows outside of the predefined applications.
[0159] As described above, the input to the trained LLM can include the shape of a data table or schema (e.g., table fields, views, etc.). The following are examples of the input to the trained LLM:
[0160] User data tables:
[0161] <[{"name":"USERS",
[0162] "databaseName":"financials",
[0163] "schemaName":"internal"},
[0164] {"name":"SHIPMENTS",
[0165] "databaseName":"financials",
[0166] "schemaName":"internal"},
[0167] {"name":"PRODUCTS",
[0168] "databaseName":"financials",
[0169] "schemaName":"internal"
[0170] The following are examples of the output of the model:
[0171] "data":{"aiCloudLinkAppDiscoveryCompletionExecute":{"apps":[{"name":"Manage Products",
[0172] "description":"Create,update,and delete product information",
[0173] "tables":["PRODUCTS",
[0174] "PRODUCT_LISTING"]},
[0175] {"name":"Manage Shipments",
[0176] "description":"Create,update,and delete shipment information",
[0177] "tables":["SHIPMENTS",
[0178] "SHIPMENT_TRANSACTION"]},
[0179] {"name":"Manage Users",
[0180] "description":"Create,update,and delete user information",
[0181] "tables":["USERS"]},
[0182] {"name":"Manage Warehouses",
[0183] "description":"View and manage warehouse usage and meteringinformation",
[0184] "tables":["WAREHOUSE_METERING_HISTORY",
[0185] "WAREHOUSE_LOAD_HISTORY",
[0186] "WAREHOUSE_EVENTS_HISTORY"]},
[0187] {"name":"Manage Contracts",
[0188] "description":"View and manage contract information",
[0189] "tables":["CONTRACT_ITEMS"]},
[0190] {"name":"View Usage Metrics",
[0191] "description":"View usage metrics for various services",
[0192] "tables":["METERING_DAILY_HISTORY",
[0193] "MONETIZED_USAGE_DAILY",
[0194] "STAGE_STORAGE_USAGE_HISTORY",
[0195] "STORAGE_USAGE",
[0196] "USAGE_IN_CURRENCY_DAILY"]}]}}
[0197] Figures 46 - 48 Shows an example of a GUI for AI-based application discovery features. As Figure 46 shown, the user can provide input through the application discovery function within the GUI, such as by selecting a cloud link. Then, the system can automatically collect data patterns in the selected data lake and identify a list of available predefined workflows or business workflows with the required data for driving applications. Figure 47 Illustrates an example of a predefined application identified by the system as a model output.
[0198] As Figure 48 shown, the user can select from multiple predefined applications to create an application. For example, the user can be prompted to provide input in data fields such as name, namespace, handle, description, category, etc. to create an application.
[0199] AI-generated workflows
[0200] In some embodiments, the workflow can be generated by an AI model. For example, in the AI-based application discovery feature, if the LLM cannot map the customer's data to a predefined application, the system can use AI to generate a business workflow. The AI workflow module herein can include a training model that takes as input a description of a business process (e.g., provided by the customer via a GUI for creating a business process) and outputs a workflow. Machine learning algorithms described elsewhere herein can be used to train the model.
[0201] Figure 49 An example of an AI-generated workflow feature according to some embodiments of the present disclosure is schematically shown. The system 4903 can receive inputs from the GUI 4901, such as a business workflow name, description, or other input information. The system 4903 can be the same as the data-driven workflow platform or service management cloud system described elsewhere herein.
[0202] The system 4903 can train the LLM to create a workflow. In some cases, the LLM can be trained by: i) instructing the LLM to assume its purpose for creating a business workflow, ii) instructing the LLM to break down the business process into one or more stages, iii) instructing the LLM to create one or more steps for each stage in the process, and iv) requesting the LLM to identify the data associated with tracking each step of the business process.
[0203] After the LLM is trained 4905, the system 4903 can provide the LLM with the name of the business process, a description of the process, and any additional context from the user about how they wish to define their business process (received via the GUI 4901).
[0204] The LLM can be trained to output business workflow data. In some cases, the output of the LLM can include a list of instructions for the system 4903 to create a business workflow on behalf of the customer.
[0205] The AI-generated workflow feature can be capable of automatically generating a business process for a user / customer. For example, the system can: i) receive instructions for creating a new business workflow, ii) break down the business process into named stages, iii) create named steps for reaching the stages, and iv) create the data fields required to track the business process for each step, and only return a json object. The following is an example of the format:
[0206] - Stage:
[0207] - Name: Stage Name
[0208] - Step:
[0209] - Description: Step Description
[0210] - Data field:
[0211] - Name: Field name
[0212] - Field type: Select only one of the following field types: BOOLEAN|TEXT|NUMBER|DECIMAL|DATE|DATETIME
[0213] The input to the trained LLM can be based on user input. For example, the user input can include business process name: <HR Onboarding>, business process description: <Run the employee onboarding process>, additional business process context: <Make sure to include tracking of social security number, birthday, and T-shirt size so that we can send them a giveaway when they join the company>.
[0214] As described above, the output of the model can include instructions for the system to create a business workflow. The following are examples of workflows:
[0215]
[0216]
[0217] Figures 50 - 53 An example of a GUI showing AI-generated workflow features is shown. Figure 50 An example of the input provided through the GUI is shown. As shown in the example, the user can provide a description of the business process to start business process generation. As Figure 51 shown, the system can automatically collect data associated with the user and the business process, such as by discovering features through the above-mentioned AI-based application. As Figure 52 shown, the LLM can output one or more stages of the business process, such as start, pre-onboarding, and onboarding. As Figure 53 shown, the LLM can output one or more steps or actions for each stage. After executing the list of instructions output by the LLM, the GUI can display graphical elements representing one or more stages and one or more steps for each stage.
[0218] In some embodiments, various functions and visual features can be provided virtually without installing, configuring, or managing any software. The data-driven workflow platform system can be implemented on a cloud platform system (e.g., including servers or serverless) that communicates with one or more user systems / devices over a network. The cloud platform system can be configured to provide the above functions to users through one or more user interfaces or graphical user interfaces (GUIs), which can include but are not limited to web-based GUIs, client GUIs, or any other GUI as described above. For example, a user can access a coding challenge through a web-based GUI or within a web browser. In some cases, the graphical user interface (GUI) or user interface can be provided on a display. The display can be a touch screen or may not be a touch screen. The display can be a light-emitting diode (LED) screen, an organic light-emitting diode (OLED) screen, a liquid crystal display (LCD) screen, a plasma screen, or any other type of screen. The display can be configured to show a user interface (UI) or graphical user interface (GUI) presented by an application (e.g., through an application programming interface (API) executed on a user device or user system or on the cloud).
[0219] Without using such exclusive terms, the term "comprising" in the claims associated with the present disclosure should allow for the inclusion of any additional element(s) - regardless of whether a given number of elements are recited in such claims, or whether the added feature can be regarded as changing the nature of the elements set forth in such claims. Unless otherwise explicitly defined herein, all technical and scientific terms used herein should be given the broadest meaning commonly understood while maintaining the validity of the claims.
[0220] Computing system
[0221] Reference Figure 63 , shows a block diagram depicting an exemplary machine that includes a computer system 6300 (e.g., a processing or computing system) within which a set of instructions can be executed to cause the device to perform or execute any one or more aspects and / or methods of the static code scheduling of the present disclosure. Figure 63 The components in are only examples and do not limit the scope of use or functionality of any hardware, software, embedded logic components, or combinations of two or more such components for implementing a particular embodiment.
[0222] The computer system 6300 may include one or more processors 6301, a memory 6303, and a storage device 6308, which communicate with each other and with other components via a bus 6340. The bus 6340 may also link a display 6332, one or more input devices 6333 (e.g., which may include a keypad, keyboard, mouse, stylus, etc.), one or more output devices 6334, one or more storage devices 6335, and various tangible storage media 6336. All of these elements may be directly connected to the bus 6340 or connected to the bus 6340 via one or more interfaces or adapters. For example, the various tangible storage media 6336 may be connected to the bus 6340 via a storage media interface 6326. The computer system 6300 may have any suitable physical form, including but not limited to one or more integrated circuits (ICs), a printed circuit board (PCB), a mobile handheld device (such as a mobile phone or PDA), a laptop or notebook computer, a distributed computer system, a computing grid, or a server.
[0223] The computer system 6300 includes one or more processors 6301 (e.g., a central processing unit (CPU), a general-purpose graphics processing unit (GPGPU), or a quantum processing unit (QPU)) that perform functions. The processor 6301 optionally includes a cache storage unit 6302 for temporary local storage of instructions, data, or computer addresses. The processor 6301 is configured to assist in executing computer-readable instructions. Since the processor 6301 executes non-transitory, processor-executable instructions embodied in one or more tangible computer-readable storage media (such as the memory 6303, the storage device 6308, the storage device 6335, and / or the storage media 6336), the computer system 6300 may provide functionality for Figure 63 the components depicted therein. The computer-readable medium may store software implementing a particular embodiment, and the processor 6301 may execute the software. The memory 6303 may read software from one or more other computer-readable media (such as the mass storage devices 6335, 6336) or from one or more other sources via a suitable interface (such as the network interface 120). The software may cause the processor 6301 to execute one or more of the processes described or shown herein or one or more steps of one or more of the processes. Executing such a process or step may include defining data structures stored in the memory 6303 and modifying the data structures in accordance with the guidance of the software.
[0224] The memory 6303 may include various components (e.g., machine-readable media), including but not limited to random access memory components (e.g., RAM 6304) (e.g., static RAM (SRAM), dynamic RAM (DRAM), ferroelectric random access memory (FRAM), phase change random access memory (PRAM), etc.), read-only memory components (e.g., ROM 105), and any combination thereof. The ROM 6305 may be used to unidirectionally transfer data and instructions to the processor 6301, while the RAM 6304 may be used to bidirectionally transfer data and instructions with the processor 6301. The ROM 6305 and the RAM 6304 may include any suitable tangible computer-readable media described below. In one example, the basic input / output system 6306 (BIOS) may be stored in the memory 6303, and the basic input / output system 6306 (BIOS) includes basic routines that facilitate the transfer of information between elements within the computer system 6300 (such as during startup).
[0225] The fixed storage device 6308 is optionally bidirectionally connected to the processor 6301 via a storage control unit 6307. The fixed storage device 6308 provides additional data storage capacity and may also include any suitable tangible computer-readable media described herein. The storage device 6308 may be used to store the operating system 6309, executable files 6310, data 6311, applications 6312 (application programs), etc. The storage device 6308 may also include an optical disk drive, a solid-state memory device (e.g., a flash-based system), or a combination of any of the foregoing. Where appropriate, the information in the storage device 6308 may be incorporated into the memory 6303 as virtual memory.
[0226] In one example, the storage device 6335 may be removably connected to the computer system 6300 via a storage device interface 6325 (e.g., via an external port connector (not shown)). In particular, the storage device 6335 and the associated machine-readable media may provide non-volatile and / or volatile storage of machine-readable instructions, data structures, program modules, and / or other data for the computer system 6300. In one example, the software may reside, in whole or in part, within the machine-readable media on the storage device 6335. In another example, the software may reside, in whole or in part, within the processor 6301.
[0227] The bus 6340 connects various subsystems. In this document, references to a bus may, where appropriate, include one or more digital signal lines that serve a common function. The bus 6340 can be any one of several types of bus structures using any of various bus architectures, including but not limited to memory buses, memory controllers, peripheral buses, local buses, and any combination thereof. By way of example and not limitation, such architectures include Industry Standard Architecture (ISA) buses, Enhanced ISA (EISA) buses, Micro Channel Architecture (MCA) buses, Video Electronics Standards Association Local Bus (VLB), Peripheral Component Interconnect (PCI) buses, PCI-Express (PCI-X) buses, Accelerated Graphics Port (AGP) buses, HyperTransport (HTX) buses, Serial Advanced Technology Attachment (SATA) buses, and any combination thereof.
[0228] The computer system 6300 may also include an input device 6333. In one example, a user of the computer system 6300 can input commands and / or other information into the computer system 6300 via the input device 6333. Examples of the input device 6333 include but are not limited to alphanumeric input devices (e.g., keyboards), pointing devices (e.g., mice or touchpads), touchpads, touchscreens, multi-touch screens, joysticks, styli, gamepads, audio input devices (e.g., microphones, voice response systems, etc.), optical scanners, video or still image capture devices (e.g., cameras), and any combination thereof. In some embodiments, the input device is a Kinect, Leap Motion, etc. The input device 6333 can be connected to the bus 6340 via any one of various input interfaces 6323 (e.g., input interface 6323), and the various input interfaces 6323 include but are not limited to serial, parallel, game ports, USB, FIREWIRE, THUNDERBOLT, or any combination of the above.
[0229] In a particular embodiment, when computer system 6300 is connected to network 6330, computer system 6300 can communicate with other devices connected to network 6330, specifically mobile devices and enterprise systems, distributed computing systems, cloud storage systems, cloud computing systems, etc. Communications to and from computer system 6300 can be sent through network interface 6320. For example, network interface 6320 can receive incoming communications (such as requests or responses from other devices) in the form of one or more packets (such as Internet Protocol (IP) packets) from network 6330, and computer system 6300 can store the incoming communications in memory 6303 for processing. Computer system 6300 can similarly store outgoing communications (such as requests or responses to other devices) in the form of one or more packets in memory 6303 and pass them from network interface 6320 to network 6330. Processor 6301 can access these communication packets stored in memory 6303 for processing.
[0230] Examples of network interface 6320 include, but are not limited to, network interface cards, modems, and any combination thereof. Examples of network 6330 or network segment 6330 include, but are not limited to, distributed computing systems, cloud computing systems, wide area networks (WANs) (e.g., the Internet, enterprise networks), local area networks (LANs) (e.g., networks associated with offices, buildings, campuses, or other relatively small geographic spaces), telephone networks, direct connections between two computing devices, peer-to-peer networks, and any combination thereof. Networks (such as network 6330) can employ wired and / or wireless communication modes. Generally, any network topology can be used.
[0231] Information and data can be displayed via a display 6332. Examples of the display 6332 include, but are not limited to, a liquid crystal display (LCD), a thin film transistor liquid crystal display (TFT-LCD), an organic liquid crystal display (OLED) (such as a passive matrix OLED (PMOLED) or an active matrix OLED (AMOLED) display), a plasma display, and any combination thereof. The display 6332 can be connected to a processor 6301, a memory 6303, a fixed storage device 6308, and other devices (such as an input device 6333) via a bus 6340. The display 6332 is linked to the bus 6340 via a video interface 6322, and data transmission between the display 6332 and the bus 6340 can be controlled via a graphics control 6321. In some embodiments, the display is a video projector. In some embodiments, the display is a head-mounted display (HMD), such as a VR headset. In further embodiments, by way of non-limiting example, suitable VR headsets include the HTC Vive, the Oculus Rift, the Samsung Gear VR, the Microsoft HoloLens, the Razer OSVR, the FOVE VR, the Zeiss VR One, the Avegant Glyph, the Freefly VR headset, and the like. In still further embodiments, the display is a combination of devices such as the devices disclosed herein.
[0232] In addition to the display 6332, the computer system 6300 can further include one or more other peripheral output devices 6334, including, but not limited to, audio speakers, printers, storage devices, and any combination thereof. Such peripheral output devices can be connected to the bus 6340 via an output interface 6324. Examples of the output interface 6324 include, but are not limited to, a serial port, a parallel connection, a USB port, a FIREWIRE port, a THUNDERBOLT port, and any combination thereof.
[0233] In addition or as an alternative, the computer system 6300 can provide functions as a result of logic hardwired in a circuit or otherwise embodied, which can operate instead of or in conjunction with software to perform one or more of the processes described or shown herein or one or more steps of one or more of the processes. References to software in this disclosure can cover logic, and references to logic can cover software. In addition, where appropriate, references to a computer-readable medium can cover a circuit (such as an IC) storing software for execution, a circuit embodying logic for execution, or both. This disclosure covers any suitable combination of hardware, software, or both.
[0234] Those skilled in the art will understand that the various illustrative logical blocks, modules, circuits, and algorithmic steps described in connection with the embodiments disclosed herein can be implemented as electronic hardware, computer software, or a combination of both. To clearly illustrate this interchangeability of hardware and software, various exemplary components, blocks, modules, circuits, and steps have been described above generally in terms of their functionality.
[0235] The various illustrative logical blocks, modules, and circuits described in connection with the embodiments disclosed herein can be implemented or executed with a general-purpose processor, a digital signal processor (DSP), an application specific integrated circuit (ASIC), a field programmable gate array (FPGA) or other programmable logic device, discrete gate or transistor logic, discrete hardware components, or any combination thereof designed to perform the functions described herein. A general-purpose processor may be a microprocessor, but in the alternative, the processor may be any conventional processor, controller, microcontroller, or state machine. The processor may also be implemented as a combination of computing devices, e.g., a combination of a DSP and a microprocessor, multiple microprocessors, one or more microprocessors in conjunction with a DSP core, or any other such configuration.
[0236] The steps of a method or algorithm described in connection with the embodiments disclosed herein can be embodied directly in hardware, directly in a software module executed by one or more processors, or directly in a combination of both. The software modules may reside in RAM memory, flash memory, ROM memory, EPROM memory, EEPROM memory, registers, a hard disk, a removable disk, a CD-ROM, or any other form of storage medium known in the art. An exemplary storage medium is coupled to the processor such that the processor can read information from, and write information to, the storage medium. In the alternative, the storage medium may be integral to the processor. The processor and the storage medium may reside in an ASIC. The ASIC may reside in a user terminal. In the alternative, the processor and the storage medium may reside as discrete components in a user terminal.
[0237] According to the description herein, by way of non-limiting example, suitable computing devices include cloud computing platforms, distributed computing platforms, server clusters, server computers, desktop computers, laptop computers, notebook computers, subnotebook computers, netbook computers, netbook tablet computers, set-top box computers, media streaming devices, handheld computers, Internet appliances, mobile smart phones, tablet computers, personal digital assistants, video game consoles, and vehicles. Those skilled in the art will also recognize that selected televisions, video players, and digital music players with optional computer network connectivity are suitable for the systems described herein. In various embodiments, suitable tablet computers include tablet computers having booklet, slate, and convertible configurations known to those skilled in the art.
[0238] In some embodiments, a computing device includes an operating system configured to execute executable instructions. For example, an operating system is software that includes programs and data, manages the hardware of the device, and provides services for executing applications. Those skilled in the art will recognize that, as non-limiting examples, suitable server operating systems include FreeBSD, OpenBSD, Linux, Mac OS X Windows and Those skilled in the art will recognize that, as non-limiting examples, suitable personal computer operating systems include Mac OS and UNIX-like operating systems (such as ). In some embodiments, the operating system is provided by cloud computing. Those skilled in the art will also recognize that, as non-limiting examples, suitable mobile smart phone operating systems include OS, Research In Windows Windows and Those skilled in the art will also recognize that, as non-limiting examples, suitable media streaming device operating systems include Apple Google Amazon and Those skilled in the art will also recognize that, as non-limiting examples, suitable video game console operating systems include Microsoft Xbox One, and Non-transitory computer-readable storage medium
[0239] In some embodiments, the platforms, systems, media, and methods disclosed herein include one or more non-transitory computer-readable storage media encoded with a program that includes instructions executable by an operating system of an optionally networked computing device. In further embodiments, the computer-readable storage media is a tangible component of the computing device. In still further embodiments, the computer-readable storage media is optionally removable from the computing device. In some embodiments, by way of non-limiting example, the computer-readable storage media includes CD-ROMs, DVDs, flash memory devices, solid state memories, disk drives, tape drives, optical disc drives, distributed computing systems (including cloud computing systems and services), and the like. In some cases, the program and instructions are encoded on the media permanently, substantially permanently, semi-permanently, or non-transitorily.
[0240] Computer program
[0241] In some embodiments, the platforms, systems, media, and methods disclosed herein include at least one computer program or its use. The computer program includes a sequence of instructions executable by one or more processors of a CPU of a computing device, the sequence of instructions being written to perform a specified task. The computer-readable instructions may be implemented as program modules that perform particular tasks or implement particular abstract data types, such as functions, objects, application programming interfaces (APIs), computational data structures, and the like. Based on the disclosure provided herein, those skilled in the art will recognize that the computer program may be written in various versions of various languages.
[0242] The functionality of the computer-readable instructions may be combined or distributed as needed in various environments. In some embodiments, the computer program includes a sequence of instructions. In some embodiments, the computer program includes multiple sequences of instructions. In some embodiments, the computer program is provided from one location. In other embodiments, the computer program is provided from multiple locations. In various embodiments, the computer program includes one or more software modules. In various embodiments, the computer program includes, in whole or in part, one or more web applications, one or more mobile applications, one or more stand-alone applications, one or more web browser plugins, extensions, add-ons, or attachments, or combinations thereof.
[0243] Web application
[0244] In some embodiments, the computer program includes a web application. Based on the disclosure provided herein, those skilled in the art will recognize that, in various embodiments, the web application utilizes one or more software frameworks and one or more database systems. In some embodiments, the web application is hosted on, such as created on a software framework such as.NET or Ruby on Rails (RoR). In some embodiments, the web application utilizes one or more database systems, which, by way of non-limiting example, include relational database systems, non-relational database systems, object-oriented database systems, associative database systems, XML database systems, and document-oriented database systems. In further embodiments, by way of non-limiting example, suitable relational database systems include SQL Server, mySQL TM and Those skilled in the art will also recognize that in various embodiments, the web application is written in one or more versions of one or more languages. The web application can be written in one or more markup languages, presentation definition languages, client-side scripting languages, server-side coding languages, database query languages, or combinations thereof. In some embodiments, the web application is written to some extent in a markup language such as Hypertext Markup Language (HTML), Extensible Hypertext Markup Language (XHTML), or Extensible Markup Language (XML). In some embodiments, the web application is written to some extent in a presentation definition language such as Cascading Style Sheets (CSS). In some embodiments, the web application is written to some extent in a client-side scripting language such as Asynchronous JavaScript and XML (AJAX), ActionScript, JavaScript, or ). In some embodiments, the web application is written to some extent in a server-side coding language such as Active Server Pages (ASP), Perl, Java TM , Java Server Pages (JSP), Hypertext Preprocessor (PHP), Python TM , Ruby, Tcl, Smalltalk, or Groovy). In some embodiments, the web application is written to some extent in a database query language such as Structured Query Language (SQL). In some embodiments, the web application integrates enterprise server products such as Lotus In some embodiments, the web application includes a media player element. In various further embodiments, the media player element utilizes one or more of a number of suitable multimedia technologies, which, by way of non-limiting example, include HTML 5, Java TM and
[0245] Reference Figure 64 , in certain embodiments, the application provisioning system includes one or more databases 6400 accessed by a relational database management system (RDBMS) 6410. Suitable RDBMSs include Firebird, MySQL, PostgreSQL, SQLite, Oracle Database, Microsoft SQL Server, IBM DB2, IBM Informix, SAP Sybase, Teradata, etc. In this embodiment, the application provisioning system also includes one or more application servers 6420 (such as Java servers,.NET servers, PHP servers, etc.) and one or more web servers 6430 (such as Apache, IIS, GWS, etc.). The web server optionally exposes one or more web services through an app application programming interface (API) 6440. Through a network (such as the Internet), the system provides a browser-based and / or mobile-native user interface.
[0246] Reference Figure 65 , in certain embodiments, the application provisioning system alternatively has a distributed, cloud-based architecture 6500, and includes elastically load-balanced, auto-scaling web server resources 6510 and application server resources 6520, as well as synchronously replicated databases 6530.
[0247] Mobile application
[0248] In some embodiments, the computer program includes a mobile application provided to a mobile computing device. In some embodiments, the mobile application is provided to the mobile computing device at the time of manufacture. In other embodiments, the mobile application is provided to the mobile computing device via a computer network as described herein.
[0249] In view of the disclosure provided herein, the mobile application is created using techniques known to those skilled in the art, using hardware, languages, and development environments known in the art. Those skilled in the art will recognize that mobile applications are written in several languages. As non-limiting examples, suitable programming languages include C, C++, C#, Objective-C, Java TM , JavaScript, Pascal, Object Pascal, Python TM , Ruby, VB.NET, WML, and XHTML / HTML with or without CSS, or combinations thereof.
[0250] Suitable mobile application development environments are available from multiple sources. As non-limiting examples, commercial development environments include AirplaySDK, alcheMo, Celsius, Bedrock, Flash Lite,.NET Compact Framework, Rhomobile, and WorkLight Mobile Platform. Other development environments are available for free. By way of non-limiting example, such other development environments include Lazarus, MobiFlex, MoSync, and Phonegap. In addition, mobile device manufacturers distribute software development kits. By way of non-limiting example, such software development kits include the iPhone and iPad (iOS) SDK, Android TM SDK, SDK, BREW SDK, OS SDK, Symbian SDK, webOS SDK, and Mobile SDK.
[0251] Those skilled in the art will recognize that there are several commercial forums available for distributing mobile applications. By way of non-limiting example, such commercial forums include App Store, Play, Chrome WebStore, App World, the App Store for Palm devices, the App Catalog for webOS, the Marketplace for mobile phones, the Ovi Store for devices, Apps, and DSi Shop.
[0252] Standalone application
[0253] In some embodiments, a computer program includes a stand-alone application, which is a program that runs as an independent computer process rather than an attachment to an existing process, such as not being a plug-in. Those skilled in the art will recognize that stand-alone applications are typically compiled. A compiler is a computer program that converts source code written in a programming language into binary target code (such as assembly language or machine code). By way of non-limiting example, suitable compiled programming languages include C, C++, Objective-C, COBOL, Delphi, Eiffel, Java TM , Lisp, Python TM , Visual Basic, and VB.NET, or combinations thereof. Compilation is typically performed at least in part to create an executable program. In some embodiments, a computer program includes one or more executable compiled applications.
[0254] Web browser plugin
[0255] In some embodiments, the computer program includes a web browser plugin (e.g., an extension, etc.). In computing, a plugin is one or more software components that add specific functionality to a larger software application. The manufacturer of the software application supports the plugin to enable third-party developers to create the ability to extend the application, support the easy addition of new features, and reduce the size of the application. When supported, the plugin can customize the functionality of the software application. For example, plugins are commonly used in web browsers to play videos, generate interactions, scan for viruses, and display specific file types. Those skilled in the art will be familiar with several web browser plugins, which include Player, and In some embodiments, the toolbar includes one or more web browser extensions, add-ons, or accessories. In some embodiments, the toolbar includes one or more explorer bars, toolbars, or desktop bars.
[0256] In view of the disclosure provided herein, those skilled in the art will recognize that there are several plugin frameworks available that enable the development of plugins in various programming languages, which include, by way of non-limiting example, C++, Delphi, Java TM , PHP, Python TM and VB.NET or combinations thereof.
[0257] A web browser (also known as an Internet browser) is a software application designed to be used with a computing device connected to a network for retrieving, displaying, and traversing information resources on the World Wide Web. By way of non-limiting example, suitable web browsers include Internet Chrome, Opera and KDE Konqueror. In some embodiments, the web browser is a mobile web browser. A mobile web browser (also known as a micro browser, mini browser, and wireless browser) is designed to be used with a mobile computing device, which, by way of non-limiting example, includes a handheld computer, tablet computer, netbook computer, small notebook computer, smartphone, music player, personal digital assistant (PDA), and handheld video game system. By way of non-limiting example, suitable mobile web browsers include: browser, RIM Browser, Blazer, Browser, for mobile phones Internet Mobile Basic Web Browser, Opera Mobile and PSP TM browser
[0258] Software module
[0259] In some embodiments, the platforms, systems, media, and methods disclosed herein include software, server, and / or database modules, or their use. Given the disclosure provided herein, software modules are created using techniques known to those skilled in the art, with machines, software, and languages known in the art. The software modules disclosed herein are implemented in a variety of ways. In various embodiments, software modules include files, code segments, programming objects, programming structures, distributed computing resources, cloud computing resources, or combinations thereof. In further various embodiments, software modules include multiple files, multiple code segments, multiple programming objects, multiple programming structures, multiple distributed computing resources, multiple cloud computing resources, or combinations thereof. In various embodiments, by way of non-limiting example, one or more software modules include web applications, mobile applications, standalone applications, and distributed or cloud computing applications. In some embodiments, software modules are located within one computer program or application. In other embodiments, software modules are located within more than one computer program or application. In some embodiments, software modules are hosted on one machine. In other embodiments, software modules are hosted on more than one machine. In further embodiments, software modules are hosted on a distributed computing platform (such as a cloud computing platform). In some embodiments, software modules are hosted on one or more machines in one location. In other embodiments, software modules are hosted on one or more machines in more than one location.
[0260] Database
[0261] In some embodiments, the platforms, systems, media, and methods disclosed herein include one or more databases, or their use. Given the disclosure provided herein, those skilled in the art will recognize that many databases are suitable for storing and retrieving data or information local to the systems herein. The databases herein can be accessed, maintained, or controlled by a data-driven workflow platform. In some cases, the database can be different from a cloud-based repository associated with platform customers. The database can be local or can be remotely accessed by a data-driven workflow platform.
[0262] In various embodiments, by way of non-limiting example, suitable databases include relational databases, non-relational databases, object-oriented databases, object databases, entity-relationship model databases, associative databases, XML databases, document-oriented databases, and graph databases. Further non-limiting examples include SQL, PostgreSQL, MySQL, Oracle, DB2, Sybase, and MongoDB. In some embodiments, the database is Internet-based. In further embodiments, the database is web-based. In still further embodiments, the database is cloud computing-based. In certain embodiments, the database is a distributed database. In other embodiments, the database is based on one or more local computer storage devices.
[0263] Various embodiments of the present disclosure are described herein. These examples are mentioned in a non-limiting sense. They are provided to illustrate more broadly applicable aspects of the present disclosure. Various changes can be made to the disclosed content and equivalents can be substituted without departing from the true spirit and scope of the present disclosure. In addition, many modifications can be made to adapt a particular situation, material, composition of matter, process, process act, or step to the purpose, spirit, or scope of the present disclosure. Further, those skilled in the art will understand that each individual variation described and illustrated herein has discrete components and features that can be readily separated from or combined with the features of any of several other embodiments without departing from the scope or spirit of the present disclosure. All such modifications are intended to fall within the scope of the claims associated with the present disclosure.
[0264] While the preferred embodiments of the present invention have been shown and described herein, it will be apparent to those skilled in the art that such embodiments are provided by way of example only. The present invention is not intended to be limited to the specific examples provided in the specification. While the present invention has been described with reference to the foregoing specification, the description and illustration of the embodiments herein are not meant to be construed in a limiting sense. Many variations, changes, and substitutions will now occur to those skilled in the art without departing from the present invention. Further, it should be understood that all aspects of the present invention are not limited to the specific descriptions, configurations, or relative proportions set forth herein, which depend on various conditions and variables. It should be understood that various alternatives to the embodiments of the present invention described herein may be employed in practicing the present invention. Accordingly, it is contemplated that the present invention should also cover any such alternatives, modifications, variations, or equivalents. The appended claims are intended to define the scope of the present invention and are intended to cover methods and structures within the scope of these claims and their equivalents.
Claims
1. A method for providing a data-driven workflow platform, the method comprising: Mapping selected data objects to a data storage model of the data-driven workflow platform, wherein the selected data objects are stored in a data cloud configuration operably coupled to the data-driven workflow platform; And Displaying, on a graphical user interface (GUI), a flow for building a cloud application by utilizing or managing the selected data objects, wherein the flow includes at least one graphical element corresponding to a rule for automating an action triggered by a trigger event of the selected data objects.
2. The method according to claim 1, wherein the data cloud configuration includes one or more data clouds storing data objects, and wherein the data-driven workflow platform is granted permissions to access, process, and edit the data objects stored on the one or more data clouds.
3. The method according to claim 1, wherein mapping the selected data objects to the data storage model includes defining a relationship between the selected data objects and elements of the data storage model.
4. The method according to claim 3, wherein the relationship is defined by a user through the GUI.
5. The method according to claim 4, wherein the GUI permits the user to link one or more data fields of a selected data object to one or more data fields or the elements of the data storage model.
6. The method according to claim 3, wherein the relationship is automatically generated by the data-driven workflow platform and displayed as a recommended relationship on the GUI.
7. The method according to claim 1, wherein mapping the selected data objects to the data storage model includes identifying missing elements from the data storage model and prompting the user to identify another set of data objects for the missing elements.
8. The method according to claim 1, wherein the data storage model includes multiple types of data, the multiple types of data including at least one of task type, application type, and element data type.
9. The method according to claim 8, wherein mapping the selected data objects to the data storage model includes mapping the selected data objects to an element data type.
10. The method according to claim 1, wherein the flow permits the user to add, remove, or modify one or more components of the cloud application by dragging and dropping one or more graphical elements onto the flow.
11. The method according to claim 10, wherein the flow includes a pre-built template flow that prompts the user to add, remove, or modify the one or more components.
12. The method according to claim 11, wherein the pre-built template flow is automatically determined at least in part based on the selected data objects and the cloud application.
13. The method according to claim 1, wherein the rule is automatically generated at least in part based on one or more data fields added to the flow.
14. The method according to claim 13, wherein a model is used to automatically generate the rules, and wherein the model is developed using rules extracted from past actions and previously processed data.
15. The method according to claim 14, wherein a machine learning algorithm is used to train the model.
16. The method according to claim 14, wherein the rules are recommended to the user on the GUI, and wherein the at least one graphical element allows the user to accept, reject, or modify the rules.
17. The method according to claim 1, wherein the rules are manually defined by the user through the GUI.
18. The method according to claim 1, wherein the rules include a definition of the trigger event, and wherein the trigger event is time-based or associated with a change in value or state of at least one subset of the selected data objects.
19. The method according to claim 18, wherein the rules further include a definition of the conditions for performing the action.
20. The method according to claim 18, wherein the rules further include a definition of the action.
21. The method according to claim 20, wherein the action is selected from adding an observer, updating a field, sending a notification, posting a comment, assigning to a user or group, and creating a record.
22. The method according to claim 1, further comprising displaying the selected data objects that conform to the data storage model within the portal of the GUI.
23. The method according to claim 22, further comprising modifying the value of at least one of the selected data objects through the GUI and automatically updating the value of the corresponding selected data object in the data cloud configuration through an API connection.
24. The method according to claim 22, further comprising receiving, through the GUI, an instruction to perform an operation on at least one of the selected data objects and performing the operation on at least one of the selected data objects in the data cloud configuration without using an extract, transform, and load (ETL) data integration process.
25. The method according to claim 24, wherein the selected data objects include transaction data or streaming data, and wherein performing the operation further includes caching intermediate results through the data-driven workflow platform.
26. The method according to claim 1, wherein the trigger event of the selected data objects includes a change in the selected data objects stored in the data cloud configuration.
27. The method according to claim 1, wherein the flow is identified from a plurality of predefined workflows by a large language model (LLM).
28. The method according to claim 27, wherein the flow is identified at least in part based on the data schema of the selected data objects stored in the data cloud configuration.
29. The method according to claim 27, wherein the output of the LLM includes a list of instructions for creating the flow.
30. The method according to claim 1, wherein the data schema of the selected data object stored in the data cloud configuration is converted into a graphical representation and displayed on the GUI.
31. The method according to claim 1, wherein the GUI permits a user to modify the flow by using graphical elements corresponding to high-level logic including loop logic or if statement logic.
32. The method according to claim 1, wherein the selected data object is found by setting logical rules or machine learning-based rules for data objects stored in the data cloud configuration.
33. The method according to claim 32, wherein the logical rules or the machine learning-based rules are set through the GUI.
34. A system for providing a data-driven workflow platform, the system comprising: a first module configured to operably couple the data-driven workflow platform to one or more data clouds; a second module configured to map selected data objects to a data storage model of the data-driven workflow platform, wherein the selected data objects are stored on the one or more data clouds; and a visualization module configured to display, on a graphical user interface (GUI), a flow for building a cloud application by utilizing or managing the selected data objects, wherein the flow includes at least one graphical element corresponding to a rule for automating an action triggered by a trigger event of the selected data object.
35. The system according to claim 34, wherein the first module manages one or more permissions granted to the data-driven workflow platform for accessing, processing, and editing data objects stored on the one or more data clouds.
36. The system according to claim 34, wherein the selected data objects are mapped to the data storage model by defining connections between the selected data objects and elements of the data storage model.
37. The system according to claim 34, wherein the visualization module is further configured to display a second GUI that allows a user to define relationships between elements of the data storage model.
38. The system according to claim 35, wherein the second GUI permits the user to link one or more data fields of a first selected element of the data storage model to one or more data fields of a second selected element of the data storage model.
39. The system according to claim 37, wherein the relationships are automatically generated by the data-driven workflow platform and displayed as recommended relationships on the second GUI.
40. The system according to claim 34, wherein the second module is configured to further identify missing elements from the data storage model and prompt the user to identify another set of data objects for the missing elements.
41. The system according to claim 34, wherein the data storage model includes multiple types of data, and the multiple types of data include at least one of task type, application type, transaction data type, and element data type.
42. The system according to claim 41, wherein the second module is configured to further map the selected data object to a transaction data type or an element data type.
43. The system according to claim 34, wherein the interaction flow permits a user to add, remove, or modify one or more components of the cloud application by dragging one or more graphical elements onto the interaction flow.
44. The system according to claim 43, wherein the interaction flow includes a pre-built template flow that prompts the user to add, remove, or modify the one or more components.
45. The system according to claim 44, wherein the pre-built template flow is automatically determined at least in part based on the selected data object and the cloud application.
46. The system according to claim 34, wherein the rule is automatically generated at least in part based on one or more data fields added to the interaction flow.
47. The system according to claim 46, wherein a model is used to automatically generate the rule, and the model is developed using rules extracted from past actions and previously processed data.
48. The system according to claim 47, wherein the rule is recommended to the user on the GUI, and the at least one graphical element permits the user to accept, reject, or modify the rule.
49. The system according to claim 34, wherein the rule is manually defined by the user through the GUI.
50. The system according to claim 34, wherein the rule includes a definition of the trigger event, and the trigger event is based on time or is associated with a change in value or a change in state of at least a subset of the selected data object.
51. The system according to claim 50, wherein the rule further includes a definition of the condition for performing the action.
52. The system according to claim 50, wherein the rule further includes a definition of the action.
53. The system according to claim 52, wherein the action is selected from adding an observer, updating a field, sending a notification, posting a comment, assigning to a user or group, and creating a record.
54. The system according to claim 34, wherein the visualization module is further configured to display the selected data object that conforms to the data storage model within the portal of the GUI.
55. The system according to claim 54, wherein a value in at least one of the selected data objects is modified through the GUI, and the value of the corresponding selected data object in the data cloud configuration is automatically updated by the first module.
56. The system according to claim 34, wherein the first module is configured to convert instructions for performing an operation on at least one of the selected data objects received via the GUI into database operations executable in the data cloud configuration.
57. The system according to claim 56, wherein the database operations are performed on the selected data objects in the data cloud configuration without using an extract, transform, and load (ETL) data integration process.
58. The system according to claim 57, wherein the selected data objects include transaction data or streaming data, and wherein the data-driven workflow platform is configured to cache intermediate results for performing the operations.
59. The system according to claim 34, wherein the trigger event for the selected data objects includes a change in the selected data objects stored in the data cloud configuration.
60. The system according to claim 34, wherein the data schema of the selected data objects stored in the data cloud configuration is converted into a graphical representation and displayed on the GUI.
61. The system according to claim 34, wherein the GUI permits a user to modify the flow by using graphical elements corresponding to high-level logic including loop logic or if statement logic.
62. The system according to claim 34, wherein the selected data objects are found by setting logical rules or machine learning-based rules on data objects stored in the one or more data clouds.
63. The system according to claim 62, wherein the logical rules or the machine learning-based rules are set via the GUI.
Citation Information
Patent Citations
Generalized flowsheet platform for corporation
CN101364289A
Workflow event mechanism implementation method based on script engine
CN105302581A
Predictive workflow control powered by machine learning in digital workplace
CN112036675A
Graphical user interfaces for incorporating complex data objects into a workflow
US20200301902A1
Serverless Workflow Enablement and Execution Platform
US20210132947A1