Compatibility Shims for Legacy Application Execution
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Legacy applications that rely on rich functionality provided by client computing devices may become inoperable in a minimal execution environment, as they do not natively provide the necessary system services.
Innovation Solution
A computing device determines if an application is directly executable and, if not, retrieves or executes a specified or default application to provide the required functionality, allowing legacy applications to run within isolated containers.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Device complexity
If a minimal execution environment is used on client devices, then device complexity and administration burden are reduced, but legacy applications become inoperable
Solution Approach 1:
The patent introduces a compatibility shim as an intermediary layer between legacy applications and the minimal execution environment. The shim intercepts system service calls from legacy applications and redirects them to web-based implementations, enabling legacy applications to function without requiring the full traditional client environment.
Solution Approach 2:
The solution segments the execution environment into distinct layers: the minimal client environment, the compatibility shim layer, and the web-based system services. This segmentation allows each layer to have optimized functionality while working together to support legacy applications.
2Reliability
If rich functionality is provided by the client device, then legacy applications can execute directly, but device resource consumption and complexity increase
Solution Approach 1:
The patent extracts system services from the client device and relocates them to web-based implementations accessible through the network. The compatibility shim on the client device only handles the minimal functionality of intercepting and redirecting service calls, while the actual service logic runs remotely on servers.
Data Source
AI summary
This document describes techniques for allowing a computing device that provides a minimal execution environment to execute legacy applications that rely on rich functionality that the computing device does not natively provide. For instance, a device may initially receive a request to execute an application and may determine whether the application is directly executable. In response to determining that the application is not directly executable, the computing device may determine whether the application specifies another application to provide the functionality. If the application specifies another application to provide this functionality, then the computing device retrieves the specified application and executes the specified application on the client computing device. If the application does not specify such an application, then the computing device may execute a default application for providing the functionality. The specified or default application then executes the application that is not directly executable on the minimal-execution-environment computing device.


