Containerized ML Model Integration via gRPC

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current technologies face challenges in integrating artificial intelligence and machine learning solutions with large-scale applications and systems, particularly in adapting to data and market changes, requiring a framework for seamless integration and deployment of machine learning models.

Innovation Solution

The integration of machine learning models with client applications using Remote Procedure Calls (RPCs), where a server deploys a software container with executable code for the model, generates a protocol buffer profile defining RPC functions, and executes classification tasks in real-time, eliminating the need for separate infrastructure and allowing non-technical resources to configure and deploy models.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If machine learning models are integrated with client applications using traditional methods, then model functionality can be provided, but integration complexity and infrastructure requirements increase

Engineering Contradiction:
Improvemodel integration capabilityVSAvoidintegration infrastructure
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent merges the machine learning model execution environment directly with the client application container. The model server is spawned within the same container as the client application, eliminating the need for separate model serving infrastructure and reducing integration complexity while maintaining full model functionality.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The system uses a universal containerization framework that can host both the client application and machine learning models in the same environment. The gRPC framework provides a universal interface for model communication, allowing any model to be integrated with any client application through standardized protocols without requiring application-specific integration logic.

Inventive Principle:
Principle #6Universality (Multi-functionality)

2Reliability

If separate infrastructure is used for model deployment, then model isolation is achieved, but development time and operational complexity increase

Engineering Contradiction:
Improvemodel isolationVSAvoiddevelopment time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent combines model deployment and application execution in a single containerized environment. The model server is spawned within the same container as the client application, eliminating the need for separate model serving infrastructure and reducing integration complexity while maintaining full model functionality.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The system performs preliminary containerization of both the client application and machine learning models before deployment. This pre-prepared container image includes all necessary dependencies, execution environments, and configuration files, allowing for rapid deployment without requiring complex setup procedures or specialized DevOps skills.

Inventive Principle:
Principle #10Preliminary action

3Ease of operation

If REST/FLASK APIs are used for model access, then model integration is simplified, but processing overhead and scalability are reduced

Engineering Contradiction:
Improvemodel access simplicityVSAvoidprocessing efficiency
Core Design Contradiction:
Ease of operationVSProductivity

Solution Approach 1:

The patent replaces the mechanical overhead of REST/FLASK APIs with a direct gRPC-based communication mechanism. The gRPC framework enables efficient binary protocol communication between the client application and model server, eliminating the need for HTTP parsing, JSON serialization, and other intermediary processing steps inherent in REST APIs, thereby significantly improving processing efficiency and scalability.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

4Extent of automation

If specialized DevOps or ModelOps skills are required for deployment, then deployment control is maintained, but accessibility to non-technical resources is reduced

Engineering Contradiction:
Improvedeployment controlVSAvoiddeployment accessibility
Core Design Contradiction:
Extent of automationVSEase of operation

Solution Approach 1:

The system enables non-technical resources to deploy machine learning models independently through self-service mechanisms. The containerized framework with pre-configured Docker images and automated model serving allows users to deploy models simply by providing the model file and configuration, eliminating the need for specialized DevOps or ModelOps skills while maintaining full deployment control and customization capabilities.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS20230229938A1Systems and methods for integration of machine learning models with client applications
Publication Date: 2023.07.20 FMR CORP
  • US20230229938A1 patent drawing
  • US20230229938A1 patent drawing
  • US20230229938A1 patent drawing

AI summary

Systems and methods are described for integrating one or more machine learning models with a client application using Remote Procedure Calls (RPCs). A server deploys a software container associated with a client application, the container comprising executable code corresponding to a machine learning model, a plurality of inputs to the machine learning model, and a plurality of outputs of the machine learning model. The server generates a protocol buffer profile using the inputs and the outputs, the protocol buffer profile defining RPC functions for integrating the client application and the machine learning model. The server receives, from the client application, a request to access the machine learning model using a first RPC function. The server executes the machine learning model to generate a classification value for input provided in the request. The server transmits the classification value to the client application using a second RPC function.