Universal plug-in for automatically generating a user interface
The universal plug-in addresses the inefficiencies of custom-coded data science workflows by automatically generating interfaces, providing instant access to AI and machine learning capabilities across platforms.
Patent Information
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2025-08-28
- Publication Date
- 2026-03-05
AI Technical Summary
Existing data science plug-ins require users to be experts in programming languages like Python and need customization for each workflow, leading to inefficiencies and increased development time.
A universal plug-in that automatically generates user interfaces for data science workflows across multiple platforms, eliminating the need for custom coding and enabling seamless integration between oil and gas platforms and data science platforms.
Facilitates instant access to innovative AI and machine learning workflows without requiring technical expertise, reducing development time and streamlining integration processes.
Smart Images

Figure US2025043856_05032026_PF_FP_ABST
Abstract
Description
Docket No. IS24.0516-WO-PCTUNIVERSAL PLUG-IN FOR AUTOMATICALLY GENERATING A USER INTERFACECROSS-REFERENCE TO RELATED APPLICATIONS
[0001] This application claims priority to United States Patent Application Serial No. 63 / 689,252, filed August 30, 2024, which is hereby incorporated by reference in its entirety.BACKGROUND
[0002] Typically, when a user wants to provide customization to achieve a goal, or answer a question, using data science, the user identifies a workflow to achieve the goal or answer the question. A plug-in is a software component that adds specific features to an existing computer program enabling customization of the computer program.
[0003] Existing solutions build a separate plug-in for every new workflow identified by the user. The plug-in is customized to the workflow or needs of the user identified. Existing solutions require the user to structure the data into a specific format and be an expert in a common programming language (e.g., PYTHON) to create the plug-in. Typically, data scientists build the plug-ins and verify that the plug-ins integrate with the computer program achieving the desired results for the workflows. Given the shortcomings of the existing solutions, there is a need for a plug-in that supports different workflows.BRIEF SUMMARY
[0004] This summary is provided to introduce a selection of concepts that are further described below in the detailed description. This summary is not intended to identify key or essential features of the claimed subject matter, nor is it intended to be used as an aid in limiting the scope of the claimed subject matter.Docket No. IS24.0516-WO-PCT
[0005] Some implementations relate to a method. The method includes generating a request with a project key for a project and an application programming interface (API) key. The method includes receiving, via an API identified by the API key, a data file for the project key in response to the request. The method includes identifying, from the data file, available data science workflows for the project. The method includes receiving a selection of a data science workflow from the available data science workflows. The method includes obtaining, from the data file, data objects matching the data science workflow. The method includes automatically generating a user interface with the data objects for the data science workflow.
[0006] Some implementations relate to a system. The system includes a memory to store data and instructions; and a processor operable to communicate with the memory, wherein the processor is operable to: generate a request with a project key for a project and an application programming interface (API) key; receive, via an API identified by the API key, a data file for the project in response to the request; identify, from the data file, available data science workflows for the project key; receive a selection of a data science workflow from the available data science workflows; obtain, from the data file, data objects matching the data science workflow; and automatically generate a user interface with the data objects for the data science workflow.
[0007] Some implementations relate to a computer-readable storage medium including instructions that, when executed by a processor, cause the processor to: generate a request with a project key for a project and an application programming interface (API) key; receive, via an API identified by the API key, a data file for the project in response to the request; identify, from the data file, available data science workflows for the project key; receive a selection of a data science workflow from the available data science workflows;Docket No. IS24.0516-WO-PCT obtain, from the data file, data objects matching the data science workflow; and automatically generate a user interface with the data objects for the data science workflow.
[0008] Additional features and advantages of embodiments of the disclosure will be set forth in the description which follows, and in part will be obvious from the description, or may be learned by the practice of such embodiments. The features and advantages of such embodiments may be realized and obtained by means of the instruments and combinations particularly pointed out in the appended claims. These and other features will become more fully apparent from the following description and appended claims, or may be learned by the practice of such embodiments as set forth hereinafter.BRIEF DESCRIPTION OF DRAWINGS
[0009] In order to describe the manner in which the above-recited and other features of the disclosure can be obtained, a more particular description will be rendered by reference to specific implementations thereof which are illustrated in the appended drawings. For better understanding, the like elements have been designated by like reference numbers throughout the various accompanying figures. While some of the drawings may be schematic or exaggerated representations of concepts, at least some of the drawings may be drawn to scale. Understanding that the drawings depict some example implementations, the implementations will be described and explained with additional specificity and detail through the use of the accompanying drawings in which:
[0010] Fig. 1 illustrates an example environment for using a universal plug-in with an oil and gas platform in accordance with implementations of the present disclosure.
[0011] Fig. 2 illustrates an example graphical user interface of a data science platform in accordance with implementations of the present disclosure.Docket No. IS24.0516-WO-PCT
[0012] Fig. 3 illustrates an example of a user interface in the oil and gas platform in accordance with implementations of the present disclosure.
[0013] Fig. 4 illustrates an example method for automatically generating a user interface in accordance with implementations of the present disclosure.
[0014] Fig. 5 illustrates components that may be included within a computer system in accordance with implementations of the present disclosure.DETAILED DESCRIPTION
[0015] This disclosure generally relates to creating plug-ins for data science scenarios. A plug-in is a software component that extends or modifies the functionality of an existing application. Plug-ins are typically written in a specific programming language and follow a set of guidelines or application programming interfaces (APIs) defined by the application. Plug-ins can add new functionality to an application by providing additional tools, filters, or processes that can be used within the application. Plug-ins can also modify existing behavior of an application by altering the way an existing function or tool works within the application. Plug-ins can also enable integration between the application and other software applications.
[0016] To use a plug-in in an application requires loading the plug-in into the application and configuring the plug-in as needed. Existing solutions for a user to provide customization to a software component using data science include a user identifying a workflow to achieve a goal of the user or answer a question of the user. Existing solutions build a separate plug-in for every new workflow identified by the users. The plug-in is customized to the workflow or needs of the user identified. Existing solutions require the user to structure the data into a specific format and be an expert in a common programming language (e.g., PYTHON) to create the plug-in. Typically, data scientists build the plug-inDocket No. IS24.0516-WO-PCT for each workflow and verify that the plug-in integrates with the computer program achieving the desired results for the workflow.
[0017] The present disclosure provides systems and methods for providing a universal plug-in that supports different data science scenarios in the oil and gas industry. A universal plug-in can be used across multiple platforms or applications. The universal plug-in may support different data science scenarios in any industry. The universal plug-in automatically generates the require user interface for different data science scenarios without the need of adding additional code to the computer program. The present disclosure includes a number of practical applications that provide benefits and / or solve problems associated with providing a universal plug-in supporting different data science scenarios in the oil and gas industry.
[0018] Examples of these applications and benefits are discussed in further detail below. One example benefit of the systems and methods of the present disclosure is eliminating a need to build a separate plug-in for every new data science workflow identified by the user. Another example benefit of the systems and methods of the present disclosure is seamlessly integrating data science workflows into a sub-surface modeling software user interface.
[0019] The present disclosure provides systems and methods for providing a connection between an oil and gas platform (e.g., a subsurface modeling software user interface) and a data science platform (e.g., a platform providing the data for use with data science scenarios for the oil and gas industry) through an application programming interface (API). One example of the oil and gas platform is PETREL™ by Schlumberger Technology Corporation. One example of the data science platform is DATAIKU. In some implementations, the API is an open public API that a user accesses to trigger a data science scenario to create a data science workflow for the oil and gas industry using the data provided by the data science platform.Docket No. IS24.0516-WO-PCT
[0020] A data science workflow is a sequence of steps that guides a data science project in achieving a specific outcome or goal. A data science workflow for the oil and gas industry can relate to any data in the oil and gas industry. One example of data in the oil and gas industry is new energy (e.g., CO2 storage, geothermal, and hydrogen). One example data science workflow in the oil and gas industry is structural framework modeling that builds a structural framework of reservoirs while interpreting seismic interpretations. Another example data science workflow in the oil and gas industry is seismic interpretation in 2D and 3D of environments. Another example data science workflow in the oil and gas industry is seismic attribute computation creating seismic attributes to condition seismic data for interpretation tasks. The data science workflows for the oil and gas industry can be used by the user to answer a question for the oil and gas industry or achieve a desired result of the user.
[0021] The systems and methods of the present disclosure automatically generate a user interface within the oil and gas platform in response to the user accessing the API. For example, the user accesses the oil and gas platform through the API and a user interface is automatically populated in the oil and gas platform with the data from the data science platform. The API allows data objects to move between the oil and gas platform and the data science platform. The API provides a seamless integration between the oil and gas platform and any data science platform.
[0022] In some implementations, the systems and methods of the present disclosure automatically present on the user interface available data science workflows in the oil and gas platform. The systems and methods of the present disclosure use a universal plug-in that automatically creates the user interface allowing the user to select relevant data objects for use with a selected data science workflow. The universal plug-in directly imports the domain objects with the relevant classes and methods from the data science platform forDocket No. IS24.0516-WO-PCT use with the data science workflow without the user writing code to obtain the domain objects. Users of the systems and methods include oil and gas platform users and data scientists.
[0023] In some implementations, the user is a user that does not need to know anything about data science. In some implementations, the systems and methods of the present disclosure allow users of the oil and gas platform to build and design data science workflows in the oil and gas platform using the user interface. The users use the universal plug-in to identify data objects necessary for the new data science workflow and the universal plug-in directly imports the relevant classes and methods from the data science platform for use with data objects for the new data science workflow. The universal plugin imports available scenarios for use with the oil and gas platform from the data science platform and provides the scenarios to the user of the oil and gas platform, for example, in a dropdown list. The universal plug-in generates the user interface on the fly (e.g., on demand) in response to the user selecting a scenario. A user of the oil and gas platform does not need to know anything about data science and can perform innovative artificial intelligence and machine learning workflows by using the auto-generated user interface of the systems and methods.
[0024] In some implementations, the user is a data scientist. In some implementations, the systems and methods of the present disclosure allow data scientist users to build scenarios in the data platform, receive deserialized objects from the oil and gas platform via the oil and gas platform API, and return the results specifying which domain object should return in the oil and gas platform. For example, the data scientist code the scenarios, for example, using PYTHON.
[0025] The systems and methods of the present disclosure allow users to gain access to data science capabilities without technical hurdles, while data scientists may leverageDocket No. IS24.0516-WO-PCT tailored solutions with artificial intelligence (Al) or machine learning without building a user interface. Instead of creating individual plug-ins within the oil and gas platform for every data science workflow, the systems and methods of the present disclosure offer a universal plug-in that eliminates the need for multiple integrations streamlining development, saving time, effort, and approval cycles, and ensuring instant access to any new data science workflow within the oil and gas platform.
[0026] One technical advantage of the systems and methods of the present disclosure is seamless integration between an oil and gas platform and a data science platform. The systems and methods seamlessly pass data objects between the oil and gas platform and the data science platform. In some implementations, the systems and methods have users of the oil and gas platform and data scient users. A data scientist user of the systems and methods can leverage any innovative artificial intelligence and machine learning workflow and deploy the workflows using the universal plug-in without building a plug-in or user interfaces for each new workflow, reducing the turnaround time for deployment for the workflows. A user of the oil and gas platform gains access to innovative artificial intelligence and machine learning workflows within the oil and gas platform without having to write software code to achieve a data science workflow or obtain the data necessary to run the data science workflow.
[0027] Another technical advantage of the systems and methods of the present disclosure is automatically creating a user interface for use with data science workflows. Any new data science workflow is instantly accessible within the oil and gas platform through the automatically generated user interface. Users of the oil and gas platform receive access to innovative artificial intelligence and machine learning workflows within the oil and gas platform.Docket No. IS24.0516-WO-PCT
[0028] Another technical advantage of the systems and methods of the present disclosure is using a universal plug-in for the data science workflows. The universal plug-in eliminates the need for multiple integrations for each data science workflow. Every new plug-in requires compliance testing that slows down deployment times of the plug-in. By using a universal plug-in for multiple workflows, the compliance testing is performed once for the universal plug-in reducing the turnaround time for deployment of the new workflows.
[0029] The systems and methods streamline development of the data science workflows, saving time, effort, and approval cycles, and ensuring instant access to any new data science workflow within the oil and gas platform. The systems and methods bridge the gap between users of the oil and gas platform and data scientist allowing users of the oil and gas platform access to data science without having to write software code to achieve a data science workflow.
[0030] Referring now to Fig- 1, illustrated is an example environment 100 for using a universal plug-in 10 with an oil and gas platform 102 in communication with a data science platform 104. In some implementations, the universal plug-in 10 adds new functionality to the oil and gas platform 102. For example, the universal plug-in 10 provides additional tools, filters, or processes that can be used within the oil and gas platform 102. In some implementations, the universal plug-in 10 modifies existing behavior of the oil and gas platform 102. For example, the universal plug-in 10 alters the way an existing function or tool works in the oil and gas platform 102. While an oil and gas platform is illustrated, the universal plug-in 10 may work with other types of platform outside of oil and gas. In some implementations, the universal plug-in 10 enables integration between the oil and gas platform 102 and other software applications. In some implementations, the oil and gas platform 102 is in communication with the data science platform 104 through a network. The network may include one or multiple networks and may use one or moreDocket No. IS24.0516-WO-PCT communication platforms and / or technologies suitable for transmitting data. The network may refer to any data link that enables transport of electronic data between devices of the environment 100. The network may refer to a hardwired network, a wireless network, or a combination of a hardwired network and a wireless network. In one or more implementations, the network includes the internet. The network may be configured to facilitate communication between the various computing devices via well-site information transfer standard markup language (WITSML) or similar protocol, or any other protocol or form of communication.
[0031] A user 106 accesses the oil and gas platform 102 using a client device of the user 106. In some implementations, the oil and gas platform 102 is on a cloud server remote from the client device of the user 106 accessed through the network. The oil and gas platform 102 is hosted on virtual machines in the cloud. In some implementations, the oil and gas platform 102 is on an edge device. For example, a uniform resource locator (URL) configured to an end point of the oil and gas platform 102 is provided to the client device that the user 206 may access using a browser on the client device. Another example includes an application on the client device of the user 106 provides access to the oil and gas platform 102. The universal plug-in 10 automatically generates the required user interface for different data science scenarios for the oil and gas industry in response to the user 106 accessing the oil and gas platform 102. For example, the user 106 uses the user interface to provide a project key for an oil and gas project and an API key that identifies the data science platform 104. The project key may refer to other projects outside of oil and gas projects.
[0032] The universal plug-in 10 reads the project key and the API key and triggers a hypertext transfer protocol (HTTP) request with the project key and the API key to send to the data science platform 104. The data science API key is used for user authentication inDocket No. IS24.0516-WO-PCT the data science platform. The universal plug-in 10 communicates with the data science platform 104 using the API 14. The open data science component 12 provides the API 14. In some implementations, the API 14 is a REST API. The open data science component 12 responds to various HTTP requests triggered by the universal plug-in 10 and sends the HTTP requests to the data science platform 104 using the API 14. The API 14 provides access to a wide range of data objects from the data science platform 104. Example data objects include wells, grids, grid properties, fault properties, and more. The API 14 allows the user 106 to use any programming language to request, modify, and write back the data objects to the data science platform 104, providing new possibilities for data analysis and manipulation.
[0033] The data science platform 104 receives the HTTP request with the project key and the API key and triggers a defined scenario created by a data-scientist that matches the scenario key. The project key can have several scenarios. Each scenario has a different scenario key in the universal plug-in 10 and is listed separately, for example, in a dropdown list in the user interface. The data science platform 104 includes a scenario list 16 with the different scenarios defined by the data-scientist. Each scenario includes different data science workflows, including different inputs and outputs. One example scenario includes a first value for CO2 density. Another example scenario includes a second value for CO2 density. The data science platform 104 includes a JSON file 18 with the data objects. The data science platform 104 provides the JSON file 18 with the data objects that match the defined scenario triggered by the HTTP request.
[0034] The universal plug-in 10 reads the JSON file 18 and identifies available data science workflows for the scenario. The JSON file 18 includes the domain objects for the oil and gas platform 102 to create the UI on the fly. The universal plug-in 10 presents the availableDocket No. IS24.0516-WO-PCT data science workflows for use by the user 106. For example, a list of available data science workflows for the oil and gas project are presented on the user interface.
[0035] The universal plug-in 10 receives a selection of a data science workflow and automatically identifies the data objects in the JSON file 18 for the selected data science workflow. The universal plug-in 10 automatically generates the user interface for the selected data science workflow on the fly with the data objects obtained from the JSON file 18. The user 106 can view the user interface for the selected data science workflow. In some implementations, the user 106 modifies values in the data objects and the updates are provided to the data objects in the data science workflow using the API 14. In some implementations, the universal plug-in 10 runs data science workflow using the data obj ects and outputs, on the user interface, results of the data science workflow.
[0036] The environment 100 allows the user 106 to gain access to data science capabilities through the oil and gas platform 102. The environment 100 directly imports data objects from the data science platform 104 for use in the oil and gas platform 102 to support data science workflows in the oil and gas platform 102 without the user 106 writing code to obtain the data objects.
[0037] In some implementations, one or more computing devices (e.g., servers and / or devices) are used to perform the processing of the environments 100. The one or more computing devices may include, but are not limited to, server devices, cloud virtual machines, personal computers, a mobile device, such as, a mobile telephone, a smartphone, a PDA, a tablet, or a laptop, and / or a non-mobile device. The features and functionalities discussed herein in connection with the various systems may be implemented on one computing device or across multiple computing devices. Moreover, in some implementations, one or more subcomponent of the feature and functionalities discussedDocket No. IS24.0516-WO-PCT herein may be implemented are processed on different server devices of the same or different cloud computing networks.
[0038] In some implementations, each of the components of the environment 100 is in communication with each other using any suitable communication technologies. In addition, while the components of the environment 100 are shown to be separate, any of the components or subcomponents may be combined into fewer components, such as into a single component, or divided into more components as may serve a particular implementation. In some implementations, the components of the environment 100 include hardware, software, or both. For example, the components of the environment 100 may include one or more instructions stored on a computer-readable storage medium and executable by processors of one or more computing devices. When executed by the one or more processors, the computer-executable instructions of one or more computing devices can perform one or more methods described herein. In some implementations, the components of the environment 100 include hardware, such as a special purpose processing device to perform a certain function or group of functions. In some implementations, the components of the environment 100 include a combination of computer-executable instructions and hardware.
[0039] Fig. 2 illustrates an example graphical user interface 200 of an example data science platform 104 and a JSON file 18. In some implementations, the data science platform 104 uses PYTHON code. The JSON file 18 includes the input parameters defined into a JASON data object. In some implementations, the JSON data objects are updated with data received from the oil and gas platform 102 (Fig. 1).
[0040] In some implementations, a data scientist user uses the graphical user interface 200 in building data science workflows for a project and saves the data science workflows in the JSON file 18. In some implementations, the graphical user interface 200 uses PYTHONDocket No. IS24.0516-WO-PCT code in building the data science workflows. In some implementations, the data scientist uses the graphical user interface 200 in defining project variables for the data science workflows. In some implementations, the project variables are used in retrieving the available data science workflows for a project ID.
[0041] Fig. 3 illustrates an example of a user interface 300 in the oil and gas platform 102 (Fig. 1) after parsing the JSON file 18 (Fig. 1). In some implementations, the user interface 300 is generated by the universal plug-in 10 (Fig. 1) with information obtained from the JSON file 18. In some implementations, the user interface 300 displays the available scenarios identified in the JSON file 18 for the project key, for example, in a dropdown list.
[0042] In some implementations, the user interface 300 displays data objects associated with the scenario selected. In some implementations, the user interface 300 displays default values for the data objects. In some implementations, a user of the oil and gas platform 102 uses the user interface 300 to input values for the data objects. In some implementations, a user of the oil and gas platform 102 uses the user interface 300 to modify default values for the data objects. In some implementations, the user selects an icon on the user interface 300 (e.g., the “Run” icon) and the data for the data objects is sent to the JSON file 18. The JSON file 18 is updated with the information provided by the user interface 300.
[0043] Fig. 4 illustrates an example method 400 for automatically generating a user interface. The actions of method 400 are discussed in reference to Figs. 1-3.
[0044] At 402, the method 400 includes generating a request with a proj ect key for a proj ect and an application programming interface (API) key. In some implementations, the request is an HTTP request. For example, the universal plug-in 10 generates the request with the project key and the API key. In some implementations, the project key identifies an oil and gas project identified by the user 106. The data science workflows are used to provide answers to questions for the oil and gas project or model desired results for the oil and gasDocket No. IS24.0516-WO-PCT project. In some implementations, the API key identifies a data science platform to provide the data for use with the data science workflow.
[0045] At 404, the method 400 includes receiving, via an API identified by the API key, a data file for the project key in response to the request. The data file includes different data objects that are used for a plurality of data science workflows. In some implementations, the universal plug-in 10 receives, via the API 14, the data file from the data science platform 104. The data file includes a list of available scenarios, and the domain data objects each scenario requires. In some implementations, the data file is a JSON file 18 with JSON data objects.
[0046] At 406, the method 400 includes identifying, from the data file, available data science workflows for the project. In some implementations, the universal plug-in 10 identifies, from the JSON file 18, available data science workflows for the project. The universal plug-in 10 identifies all available scenarios for the project ID and provides the scenario list, for example, in a dropdown list on the user interface. In some implementations, the scenarios are created by a data scientist and made available for different project IDs in the JSON file 18.
[0047] At 408, the method 400 includes receiving a selection of a data science workflow from the available data science workflows. In some implementations, the universal plug-in 10 presents the available data science workflows for use by the user 106. For example, a list of available data science workflows for the oil and gas industry are presented on the user interface. Another example includes the list including domain data objects (e.g., grid, property of the grid, a fault) for the data science workflows that the user 106 drags and drops into the data science workflow. The universal plug-in 10 receives a selection of a data science workflow from the available data science workflows and the universal plug-in automatically populates the user interface on the fly in response to receiving the selection.Docket No. IS24.0516-WO-PCTFor example, the universal plug-in 10 receives a selection from the user 106 of a data science workflow and automatically populates the user interface on demand in response to receiving the selection.
[0048] At 410, the method 400 includes obtaining, from the data file, data objects matching the data science workflow. In some implementations, the universal plug-in 10 automatically identifies the data objects in the JSON file 18 for the selected data science workflow. The JSON file 18 has a specific domain object for the selected data science workflow. For example, the universal plug-in parses the JSON file 18 and identifies the data objects that support the selected workflow.
[0049] At 412, the method 400 includes automatically generating a user interface with the data objects for the data science workflow. In some implementations, the universal plug-in 10 automatically generates the user interface with the data objects obtained from the JSON file 18.
[0050] In some implementations, the universal plug-in 10 receives modifications to the data in the data objects (e.g., from the user 106 using the user interface) and the universal plug-in 10 provides, via the API 14, the modifications to the data objects in the data file (e.g., the JSON file 18) at the data science platform 104.
[0051] The method 400 optionally includes the universal plug-in 10 running the data science workflow using the data objects, and outputting, on the user interface, results of the data science workflow. In some implementations, the results include a model generated using the data from the data objects. One example data science workflow for an oil and gas project is structural framework modeling that builds a structural framework of reservoirs while interpreting seismic interpretations. The results include a model of the structural framework of the reservoirs. Another example data science workflow for an oil and gas project is seismic interpretation in 2D and 3D of environments. The results include a modelDocket No. IS24.0516-WO-PCT in 2D or 3D of the environments that is used by the user 106 for seismic interpretation of the environments.
[0052] The method 400 optionally includes the universal plug-in 10 receiving, via the user interface, a request to create a new data science workflow; identifying, from the data file (e.g., the JSON file 18), one or more data objects to use with the new data science workflow; and automatically generating the user interface with the one or more data objects for the new data science workflow.
[0053] The method 400 automatically generates a user interface for use with data science workflows allowing users to gain access to data science capabilities without technical hurdles of writing code for software to create the data science workflow or obtain the data necessary to run the data science workflow.
[0054] Fig. 5 illustrates components that may be included within a computer system 500. One or more computer systems 500 may be used to implement the various methods, devices, components, and / or systems described herein.
[0055] The computer system 500 includes a processor 501. The processor 501 may be a general -purpose single or multi-chip microprocessor (e.g., an Advanced RISC (Reduced Instruction Set Computer) Machine (ARM)), a special purpose microprocessor (e.g., a digital signal processor (DSP)), a graphics processing unit (GPU), a microcontroller, a programmable gate array, etc. The processor 501 may be referred to as a central processing unit (CPU). Although just a single processor 501 is shown in the computer system 500 of Fig. 5, in an alternative configuration, a combination of processors (e.g., an ARM and DSP) could be used.
[0056] The computer system 500 also includes memory 503 in electronic communication with the processor 501. The memory 503 may be any electronic component capable of storing electronic information. For example, the memory 503 may be embodied as randomDocket No. IS24.0516-WO-PCT access memory (RAM), read-only memory (ROM), magnetic disk storage mediums, optical storage mediums, flash memory devices in RAM, on-board memory included with the processor, erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM) memory, registers, and so forth, including combinations thereof.
[0057] Instructions 505 and data 507 may be stored in the memory 503. The instructions 505 may be executable by the processor 501 to implement some or all of the functionality disclosed herein. Executing the instructions 505 may involve the use of the data 507 that is stored in the memory 503. Any of the various examples of modules and components described herein may be implemented, partially or wholly, as instructions 505 stored in memory 503 and executed by the processor 501. Any of the various examples of data described herein may be among the data 507 that is stored in memory 503 and used during execution of the instructions 505 by the processor 501.
[0058] A computer system 500 may also include one or more communication interfaces 509 for communicating with other electronic devices. The communication interface(s) 509 may be based on wired communication technology, wireless communication technology, or both. Some examples of communication interfaces 509 include a Universal Serial Bus (USB), an Ethernet adapter, a wireless adapter that operates in accordance with an Institute of Electrical and Electronics Engineers (IEEE) 802.11 wireless communication protocol, a Bluetooth® wireless communication adapter, and an infrared (IR) communication port.
[0059] A computer system 500 may also include one or more input devices 511 and one or more output devices 513. Some examples of input devices 511 include a keyboard, mouse, microphone, remote control device, button, joystick, trackball, touchpad, and light pen. Some examples of output devices 513 include a speaker and a printer. One specific type of output device that is typically included in a computer system 500 is a display device 515.Docket No. IS24.0516-WO-PCTDisplay devices 515 used with embodiments disclosed herein may utilize any suitable image projection technology, such as liquid crystal display (LCD), light-emitting diode (LED), gas plasma, electroluminescence, or the like. A display controller 517 may also be provided, for converting data 507 stored in the memory 503 into text, graphics, and / or moving images (as appropriate) shown on the display device 515.
[0060] The various components of the computer system 500 may be coupled together by one or more buses, which may include a power bus, a control signal bus, a status signal bus, a data bus, etc. For the sake of clarity, the various buses are illustrated in Fig. 5 as a bus system 519.
[0061] In some implementations, the various components of the computer system 500 are implemented as one device. For example, the various components of the computer system 500 are implemented in a mobile phone or tablet. Another example includes the various components of the computer system 500 implemented in a personal computer. Another example includes the various components of the computer system 500 implemented in the cloud. Another example includes the various components of the computer system 500 implemented on an edge device.
[0062] As illustrated in the foregoing discussion, the present disclosure utilizes a variety of terms to describe features and advantages of the model evaluation system. Additional detail is now provided regarding the meaning of such terms. For example, as used herein, a “machine learning model” refers to a computer algorithm or model (e.g., a classification model, a clustering model, a regression model, a language model, an object detection model, a probabilistic graphical model) that can be tuned (e.g., trained) based on training input to approximate unknown functions. For example, a machine learning model may refer to a neural network (e.g., a convolutional neural network (CNN), deep neural network (DNN), recurrent neural network (RNN)), or other machine learning algorithm orDocket No. IS24.0516-WO-PCT architecture that learns and approximates complex functions and generates outputs based on a plurality of inputs provided to the machine learning model. As used herein, a “machine learning system” may refer to one or multiple machine learning models that cooperatively generate one or more outputs based on corresponding inputs. For example, a machine learning system may refer to any system architecture having multiple discrete machine learning components that consider different kinds of information or inputs.
[0063] The techniques described herein may be implemented in hardware, software, firmware, or any combination thereof, unless specifically described as being implemented in a specific manner. Any features described as modules, components, or the like may also be implemented together in an integrated logic device or separately as discrete but interoperable logic devices. If implemented in software, the techniques may be realized at least in part by a non-transitory processor-readable storage medium comprising instructions that, when executed by at least one processor, perform one or more of the methods described herein. The instructions may be organized into routines, programs, objects, components, data structures, etc., which may perform particular tasks and / or implement particular data types, and which may be combined or distributed as desired in various implementations.
[0064] Computer-readable mediums may be any available media that can be accessed by a general purpose or special purpose computer system. Computer-readable mediums that store computer-executable instructions are non-transitory computer-readable storage media (devices). Computer-readable mediums that carry computer-executable instructions are transmission media. Thus, by way of example, and not limitation, implementations of the disclosure can comprise at least two distinctly different kinds of computer-readable mediums: non-transitory computer-readable storage media (devices) and transmission media.Docket No. IS24.0516-WO-PCT
[0065] As used herein, non-transitory computer-readable storage mediums (devices) may include RAM, ROM, EEPROM, CD-ROM, solid state drives (“SSDs”) (e g., based on RAM), Flash memory, phase-change memory (“PCM”), other types of memory, other optical disk storage, magnetic disk storage or other magnetic storage devices, or any other medium which can be used to store desired program code means in the form of computerexecutable instructions or data structures and which can be accessed by a general purpose or special purpose computer.
[0066] The steps and / or actions of the methods described herein may be interchanged with one another without departing from the scope of the claims. In other words, unless a specific order of steps or actions is required for proper operation of the method that is being described, the order and / or use of specific steps and / or actions may be modified without departing from the scope of the claims.
[0067] The term “determining” encompasses a wide variety of actions and, therefore, “determining” can include calculating, computing, processing, deriving, investigating, looking up (e.g., looking up in a table, a database, a datastore, or another data structure), ascertaining and the like. Also, “determining” can include receiving (e.g., receiving information), accessing (e.g., accessing data in a memory) and the like. Also, “determining” can include resolving, selecting, choosing, establishing, predicting, inferring, and the like.
[0068] The articles “a,” “an,” and “the” are intended to mean that there are one or more of the elements in the preceding descriptions. The terms “comprising,” “including,” and “having” are intended to be inclusive and mean that there may be additional elements other than the listed elements. Additionally, it should be understood that references to “one implementation” or “an implementation” of the present disclosure are not intended to be interpreted as excluding the existence of additional implementations that also incorporate the recited features. For example, any element described in relation to an implementationDocket No. IS24.0516-WO-PCT herein may be combinable with any element of any other implementation described herein. Numbers, percentages, ratios, or other values stated herein are intended to include that value, and also other values that are “about” or “approximately” the stated value, as would be appreciated by one of ordinary skill in the art encompassed by implementations of the present disclosure. A stated value should therefore be interpreted broadly enough to encompass values that are at least close enough to the stated value to perform a desired function or achieve a desired result. The stated values include at least the variation to be expected in a suitable manufacturing or production process, and may include values that are within 5%, within 1%, within 0.1%, or within 0.01% of a stated value.
[0069] A person having ordinary skill in the art should realize in view of the present disclosure that equivalent constructions do not depart from the spirit and scope of the present disclosure, and that various changes, substitutions, and alterations may be made to implementations disclosed herein without departing from the spirit and scope of the present disclosure. Equivalent constructions, including functional “means-plus-function” clauses are intended to cover the structures described herein as performing the recited function, including both structural equivalents that operate in the same manner, and equivalent structures that provide the same function. There is no intention to invoke means-plus- function or other functional claiming for any claim except for those in which the words ‘means for’ appear together with an associated function. Each addition, deletion, and modification to the implementations that falls within the meaning and scope of the claims is to be embraced by the claims.
[0070] The present disclosure may be embodied in other specific forms without departing from its spirit or characteristics. The described implementations are to be considered as illustrative and not restrictive. The scope of the disclosure is, therefore, indicated by theDocket No. IS24.0516-WO-PCT appended claims rather than by the foregoing description. Changes that come within the meaning and range of equivalency of the claims are to be embraced within their scope.
Claims
Docket No. IS24.0516-WO-PCTCLAIMS1. A method comprising: generating a request with a project key for a project and an application programming interface (API) key; receiving, via an API identified by the API key, a data file for the project key in response to the request; identifying, from the data file, available data science workflows for the project; receiving a selection of a data science workflow from the available data science workflows; obtaining, from the data file, data objects matching the data science workflow; and automatically generating a user interface with the data objects for the data science workflow.
2. The method of Claim 1, further comprising: running the data science workflow using the data objects; and outputting, on the user interface, results of the data science workflow.
3. The method of Claim 2, wherein the results include a model generated using the data from the data objects.
4. The method of Claim 1, wherein the project key identifies an oil and gas project.
5. The method of Claim 4, wherein the available data science workflows are used to provide answers to questions for the oil and gas project or model desired results for the oil and gas project.Docket No. IS24.0516-WO-PCT6. The method of Claim 1, wherein the API key identifies a data science platform to provide the data for use with the data science workflow.
7. The method of Claim 1, wherein the data file includes different data objects that are used for a plurality of data science workflows.
8. The method of Claim 1, wherein a universal plug-in automatically generates the user interface with the data objects.
9. The method of Claim 1, further comprising: receiving modifications to data in the data objects; and providing, via the API, the modifications to the data objects in the data file at a data science platform.
10. The method of Claim 1, further comprising: receiving, via the user interface, a request to create a new data science workflow; identifying, from the data file, one or more data objects to use with the new data science workflow; and automatically generating the user interface with the one or more data objects for the new data science workflow.
11. A device comprising: a memory to store data and instructions; andDocket No. IS24.0516-WO-PCT a processor operable to communicate with the memory, wherein the processor is operable to: generate a request with a project key for a project and an application programming interface (API) key; receive, via an API identified by the API key, a data file for the project in response to the request; identify, from the data file, available data science workflows for the project key; receive a selection of a data science workflow from the available data science workflows; obtain, from the data file, data objects matching the data science workflow; and automatically generate a user interface with the data objects for the data science workflow.
12. The device of Claim 11, the processor is further operable to: run the data science workflow using the data objects; and output, on the user interface, results of the data science workflow.
13. The device of Claim 12, wherein the results include a model generated using the data from the data objects.
14. The device of Claim 11, wherein the project key identifies an oil and gas project.Docket No. IS24.0516-WO-PCT15. The device of Claim 14, wherein the available data science workflows are used to provide answers to questions for the oil and gas project or model desired results for the oil and gas project.
16. The device of Claim 11, wherein the API key identifies a data science platform to provide the data for use with the data science workflow.
17. The device of Claim 11 , wherein the data file includes different data obj ects that are used for a plurality of data science workflows.
18. The device of Claim 11, wherein a universal plug-in automatically generates the user interface with the data objects.
19. The device of Claim 11, wherein the processor is further operable to: receive modifications to data in the data objects; and provide, via the API, the modifications to the data objects in the data file at a data science platform.
20. The device of Claim 11, wherein the processor is further operable to: receive, via the user interface, a request to create a new data science workflow; identify, from the data file, one or more data objects to use with the new data science workflow; and automatically generating the user interface with the one or more data objects for the new data science workflow.
Citation Information
Patent Citations
Composing and executing workflows made up of functional pluggable building blocks
US20160371117A1
Transforming data manipulation code into data workflow
US20190050222A1
Data Science Platform
US20210034581A1
Data science workflow execution platform with automatically managed code and graph-based data job management
US20230108808A1
Improved user interface for unified data science platform including management of models, experiments, data sets, projects, actions, reports and features
WO2017058932A1