Federated Service Layer for Dynamic Application Binary Switching

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Developing mobile applications that are compatible across various operating system versions is challenging due to the need for separate development for each version, leading to increased effort and complexity.

Innovation Solution

A federated service layer dynamically generates and deploys application binaries compatible with different operating system versions by parsing and modifying the application code to enable or disable features based on the target OS, using switch flags to ensure compatibility without requiring additional human intervention.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If an application is developed for a latest version of an operating system, then the application can support newer features and functionalities, but the application may not be compatible with earlier versions of the operating system

Engineering Contradiction:
Improvecompatibility across operating system versionsVSAvoiddevelopment complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent segments the application code into feature modules that can be independently enabled or disabled based on the target operating system version. Each feature is associated with version information, allowing the application to selectively include or exclude features during compilation for different OS versions, thereby achieving version-specific compatibility without manual redevelopment.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent performs preliminary analysis of application code to identify features and their associated operating system version requirements before compilation. This advance preparation allows the system to automatically generate appropriate compilation configurations for different OS versions, eliminating the need for developers to manually adapt code for each version.

Inventive Principle:
Principle #10Preliminary action

2Adaptability or versatility

If an application is developed to be compatible with a complete set of earlier versions of the operating systems, then the application can support all versions, but the development effort is directly proportional to the number of versions

Engineering Contradiction:
Improvecompatibility coverageVSAvoiddevelopment efficiency
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The patent implements a self-service system where the compilation framework automatically analyzes application code, identifies features, determines compatible operating system versions, and generates multiple version-specific binaries without human intervention. This automation eliminates the need for developers to manually create and maintain separate versions for each operating system version.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The patent changes the parameter of compilation by dynamically associating feature modules with specific operating system version parameters. The system automatically adjusts which features are included or excluded based on the target OS version, allowing a single application codebase to serve multiple versions through parameter-driven compilation rather than requiring separate development efforts.

Inventive Principle:
Principle #35Parameter changes

3Reliability

If separate development is performed for each operating system version, then compatibility for each version can be ensured, but the development time and resources increase significantly

Engineering Contradiction:
Improveversion-specific compatibilityVSAvoiddevelopment time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent merges the development process for multiple operating system versions into a single unified compilation process. By combining feature analysis, version compatibility determination, and binary generation into one automated workflow, the system produces multiple version-specific binaries from a single application codebase, significantly reducing development time while maintaining version-specific compatibility.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The patent introduces an intermediary compilation framework that acts as a mediator between the application code and multiple operating system versions. This framework automatically handles the complexity of version-specific adaptations by analyzing code features, determining compatibility, and generating appropriate binaries, thereby eliminating the need for developers to directly engage in time-consuming version-specific development work.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS9268561B1Federated services to dynamically switch features in applications
Publication Date: 2016.02.23 SAP SE
  • US9268561B1 patent drawing
  • US9268561B1 patent drawing
  • US9268561B1 patent drawing

AI summary

An application binary is received at an intermediate federated service layer before deployment of the application binary at the application store. At the intermediate federated service layer multiple copies of application binaries are generated concurrently. At the intermediate service layer, program code of the copies of application binaries is concurrently parsed and features of copies of application binaries are matched with features of operating system. If the features match, corresponding program codes are flagged to switch off, and re-generated as custom application binary and deployed in application store. The custom application binary and a container along with features corresponding to operating system of a mobile device are downloaded to a mobile device. A request to access a set of features is received from the custom application binary at the container. If the set of features match the features of the operating system request is allowed through the container else it's blocked.