Dynamic ML Model Invocation in Mobile Enterprise Apps
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
There is no existing solution for using a machine learning service like Core ML in Salesforce iOS apps, requiring customers to create their own iOS native apps and use the Salesforce Mobile SDK, limiting their ability to fully utilize the Salesforce iOS app.
Innovation Solution
A system that enables the use of a custom machine learning framework, such as Apple's Core ML, in a mobile enterprise application by modifying the app to include a native code layer for downloading and invoking trained ML models, allowing customers to upload and use their own ML models within the app.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If customers create their own iOS native apps to use Core ML, then they can utilize machine learning models on device, but they cannot fully utilize the Salesforce iOS app and must build separate apps
Solution Approach 1:
The patent combines the Salesforce iOS app with Core ML functionality by integrating a native code layer into the existing hybrid application architecture. This allows the Salesforce app to directly invoke machine learning models without requiring a separate native app, merging enterprise CRM capabilities with on-device AI processing in a single unified application.
Solution Approach 2:
The patent enables the Salesforce iOS app to serve multiple functions simultaneously: it maintains its role as a hybrid enterprise application while also functioning as a container for native machine learning models. The native code layer acts as a universal interface that allows various Core ML models to be invoked within the same app framework, eliminating the need for separate specialized applications.
2Reliability
If machine learning models run on mobile devices, then privacy is protected and apps remain functional without network connection, but memory footprint and power consumption increase
Solution Approach 1:
The patent implements dynamic model loading and execution within the Salesforce iOS app. The native code layer enables the application to load machine learning models into memory only when needed and unload them when not in use, creating a dynamic balance between offline functionality and memory management. This allows the app to maintain reliability during network outages while optimizing power consumption by activating models only during local processing requirements.
3Adaptability or versatility
If a native code layer is added to the Salesforce iOS app, then Core ML models can be invoked, but the application architecture becomes more complex
Solution Approach 1:
The patent segments the Salesforce iOS app into distinct functional layers: the hybrid application layer for enterprise CRM operations and a separate native code layer for machine learning model invocation. This segmentation allows each layer to operate independently with well-defined interfaces, reducing the complexity burden by organizing code into modular, maintainable components with clear separation of concerns.
Solution Approach 2:
The native code layer serves as an intermediary component between the hybrid Salesforce app and Core ML models. It provides a standardized interface that translates high-level application requests into model-specific invocations, abstracting away the complexity of direct model integration. This mediator pattern allows the main application logic to remain unchanged while enabling machine learning capabilities through the intermediary layer.
Data Source
AI summary
A computer-implemented method comprises receiving by a servers of a development platform, an upload of a trained ML model and configuration data from a tenant user, for use by a mobile enterprise application that is made available to one or more tenants of the development platform, the mobile enterprise application capable of invoking the trained ML model, wherein the configuration data defines an input data format and an output data format of the trained ML model. The server generates API based on the configuration data and downloading the API to the mobile enterprise application, wherein the generating the API is performed without using an API provided by the tenant user. The generated API is further configured to pass input in the input data format to the trained ML model and configured to receive output in the output data format from the trained ML model for further processing or display.


