G06F8/313

Interoperable machine learning platform

An interoperable platform that provides a way to automatically compose and execute even complex workflows without writing code is described. A set of pre-built functional building blocks can be provided. The building blocks perform data transformation and machine learning functions. The functional blocks have few well known plug types. The building blocks can be composed to build complex compositions. Interoperability between data formats, metadata schema and interfaces to machine learning (ML) functions and trained machine learning models can be provided with no loss of information. A cloud runtime environment can be provided in which the composed workflows can be hosted as REST API to run in production.

Data flow programming of computing apparatus with vector estimation-based graph partitioning

In various embodiments, a spectral graph partitioner (SP) of a graph partitioning system (GPS) may partition a data flow graph associated with a program into a plurality of subgraphs to be used to perform analysis or debugging. The SP may generate estimated eigenvectors for a matrix representing the graph through minimization of a function on the vectors. The SP may generate multiple eigenvectors to perform the clustering in a multi-dimensional space described by the eigenvectors. The SP may refine the clustering by repeating generation of eigenvectors to describe higher-dimensional spaces and perform further clustering. The SP may also determine quality metrics for the clusters and may stop refinement based on the quality metrics. The GPS may select between utilizing the SP or utilizing one or more other partitioners based on various factors such as, for example, graph size or quality metrics. Other embodiments may be described and/or claimed.

Assigning applications to virtual machines using constraint programming

Techniques for assigning applications to virtual machines (VMs) using constraint programming are disclosed. The applications are associated with application groups. The assignment problem requires that each application of a particular application group be assigned to a VM hosted by a same machine. A data model, for application to a constraint programming solver, formulates the assignment problem as a set of constraints for a solution to be found. The data model includes a set of data model elements corresponding to the applications to be processed. The data model includes a set of data model elements corresponding to the VMs. The data model includes a set of constraints that limits assignment of any particular application to a VM corresponding to a tenant associated with the particular application. The set of constraints further limits assignment of applications corresponding to a same application group to VMs executing on a same machine.

Managing sharable cell-based analytical notebooks

In an embodiment, a data processing method comprises creating and storing a plurality of analytical notebooks in digital computer storage, wherein each of the analytical notebooks comprises notebook metadata that specifies a kernel for execution, and one or more computational cells, wherein each of the cells comprises cell metadata, a source code reference and an output reference; receiving, in association with a first cell among the one or more cells, first input specifying computer program source code of a function, wherein the function defines an input dataset, a transformation, and one or more variables associated with output data; storing the first cell, excluding the output data, using a first digital data storage system and updating the source code reference to identify the first data storage system; using the kernel specified in the notebook metadata, executing an executable version of the source code to result in generating the output data; storing the output data using a second digital data storage system that is separate from the first digital data storage system and updating the output reference to identify the second data storage system.

Interface infrastructure for a continuation based runtime

Interfaces for a continuation-based runtime. Some embodiments described herein are directed to a framework using continuation based runtime interface that pertain to an infrastructure for enabling the creation of a wide variety of continuation-based programs that perform a wide-array of tasks. The infrastructure provides a foundation for building continuation-based, declarative applications of various scale and complexity.

APPARATUS AND METHOD FOR EXPANDING THE SCOPE OF SYSTEMS MANAGEMENT APPLICATIONS BY RUNTIME INDEPENDENCE

An apparatus for automatic conversion of existing systems management software applications to run in multiple middleware runtime frameworks by automating the unification of runtime framework ontologies and isolating runtime dependent code in the build process of system management applications through the introduction of a runtime dependency processor and performing runtime dependency analysis.

MANAGING SHARABLE CELL-BASED ANALYTICAL NOTEBOOKS
20180052891 · 2018-02-22 ·

In an embodiment, a data processing method comprises creating and storing a plurality of analytical notebooks in digital computer storage, wherein each of the analytical notebooks comprises notebook metadata that specifies a kernel for execution, and one or more computational cells, wherein each of the cells comprises cell metadata, a source code reference and an output reference; receiving, in association with a first cell among the one or more cells, first input specifying computer program source code of a function, wherein the function defines an input dataset, a transformation, and one or more variables associated with output data; storing the first cell, excluding the output data, using a first digital data storage system and updating the source code reference to identify the first data storage system; using the kernel specified in the notebook metadata, executing an executable version of the source code to result in generating the output data; storing the output data using a second digital data storage system that is separate from the first digital data storage system and updating the output reference to identify the second data storage system.

Apparatus and method for expanding the scope of systems management applications by runtime independence

An apparatus for automatic conversion of existing systems management software applications to run in multiple middleware runtime frameworks by automating the unification of runtime framework ontologies and isolating runtime dependent code in the build process of system management applications through the introduction of a runtime dependency processor and performing runtime dependency analysis.

Method, System & Computer Program Product for Method for Encoding a State Machine for Execution in a Distributed Ledger

A method, system, computer program product of providing a FiniteStateMachine (FSM) with embedded business rules, processing data & events, where each state is individually saved to blockchain ledger, a data record including a unique identifier/name, a set of input field(s) or input data slots, state rules in a rule language, and set of output field names or output data slots, method including: executing of a Smart Contract by identifying state by id or name, loading corresponding Component State from blockchain, adding/executing code for processing the State's behavior, where the code includes rules for the state in the rule language (e.g., but not limited to. Open Policy Agent, Rego, Prolog, DataLog, RuleML, Drools Rule Language, NRules, and JavaScriptObjectNotation(JSON), etc.). System includes processor(s), application program interface (API(s)) for communicating, blockchain, rule processor, and memory. This enhances transparency, immutability, and secure execution of business rules within FSM architecture.

Incremental deployment of computer software program logic

Systems and methods for requesting computer software program logic by a client computing device from a server are provided. The method at the server comprises receiving a request for the computer software program logic from the client device along with a first list comprising details about multiple modules running on the client device; determining a second list comprising details about multiple modules required to deploy the computer software program logic on the client device; checking whether the modules of the second list need to be substituted based on their availability or suitability; updating the second list; checking whether the client device has permission rights for accessing the modules of the updated second list; and sending an object comprising the modules of the updated second list to the client device, the updated second list comprising details about the modules required for deployment of logic on the client device.