Cross-Platform Custom Functions With Caching and Streaming
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing applications with add-ins and custom functions do not easily support all platforms, limiting their usefulness across different environments such as desktop, mobile, and web versions.
Innovation Solution
Custom functions and add-ins are developed to be cross-platform compatible, utilizing JavaScript and XML documents for implementation, with features like caching, batching, and streaming to ensure consistent functionality and performance across various platforms.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If add-ins are developed for specific platforms, then functionality can be optimized for that platform, but compatibility across different platforms (desktop, mobile, web) is limited
Solution Approach 1:
The patent implements a universal add-in architecture where a single add-in can function across multiple platforms (desktop, mobile, web) by using a common JavaScript-based custom function engine. The add-in manifest and custom functions are platform-agnostic, allowing one add-in to provide functionality across different application environments without requiring separate platform-specific implementations.
Solution Approach 2:
The patent introduces an intermediary layer consisting of the custom function engine and JavaScript runtime environment that mediates between the add-in functionality and different application platforms. This intermediary handles platform-specific variations while presenting a unified interface to add-ins, resolving the complexity of direct platform-specific implementation.
2Productivity
If custom functions are executed without caching, then results are always up-to-date, but performance and execution speed deteriorate
Solution Approach 1:
The patent implements dynamic caching where the caching behavior adapts based on the specific custom function and its execution context. The system can cache results for frequently executed functions with stable inputs while automatically invalidating or updating caches when data changes occur, balancing performance optimization with data freshness requirements.
Solution Approach 2:
The patent uses parameter-based cache invalidation where custom functions specify their dependency parameters, and the caching system automatically manages cache validity based on changes to these parameters. When input parameters change, the corresponding cache entries are invalidated, ensuring data freshness while maintaining caching benefits for unchanged data.
3Reliability
If custom functions access network resources directly, then real-time data can be retrieved, but execution time and network dependency increase
Solution Approach 1:
The patent implements preliminary data loading and caching mechanisms where network resources are pre-loaded or cached before they are needed for custom function execution. The system can cache network responses and serve them locally when possible, only accessing the network when data must be updated, thereby reducing execution time and network dependency while maintaining real-time data access capability.
Data Source
Figure 1
Figure 2
Figure 3
AI summary
Systems, methods, and computer-executable instructions for supporting custom functions within an application. An application add-in is received that includes a custom function and a custom function location. The application is available across multiple platforms. The custom function is also available across multiple platforms. The custom function is registered within the application using the custom function location. A request to invoke the custom function is received within the application A custom function implementation is downloaded from the custom function location. The custom function implementation is executed. A return value is received from the custom function implementation. The return value may be displayed within the application.