Cross-Platform Custom Functions With Caching and Streaming

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improvecross-platform compatibilityVSAvoidadd-in implementation complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

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.

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

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.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If custom functions are executed without caching, then results are always up-to-date, but performance and execution speed deteriorate

Engineering Contradiction:
Improvecustom function execution efficiencyVSAvoiddata freshness
Core Design Contradiction:
ProductivityVSReliability

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.

Inventive Principle:
Principle #15Dynamics

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.

Inventive Principle:
Principle #35Parameter changes

3Reliability

If custom functions access network resources directly, then real-time data can be retrieved, but execution time and network dependency increase

Engineering Contradiction:
Improvereal-time data accessVSAvoidnetwork execution time
Core Design Contradiction:
ReliabilityVSLoss of time

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.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentEP3685261B1Cross platform custom functions
Publication Date: 2026.03.11 MICROSOFT TECHNOLOGY LICENSING LLC
  • EP3685261B1 patent drawingFigure 1
  • EP3685261B1 patent drawingFigure 2
  • EP3685261B1 patent drawingFigure 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.