Platform-Specific Porting Layer for Multi-Level Software Stacks

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Traditional methods for creating platform-specific applications require complex instructions and can be challenging due to the distribution of source code across multiple files, making it difficult to identify and maintain platform-dependent and platform-independent portions, which complicates the process of updating and maintaining the source code.

Innovation Solution

A method and system that provide a platform-dependent porting layer by receiving generic source code, determining the target platform's type and capabilities, and compiling a porting layer with platform-specific instructions, allowing the same source code to run on multiple devices and operating systems.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If platform-specific applications are created using make file instructions and conditional compilation, then executable code can be tailored to specific platforms, but the process becomes complicated and challenging to maintain

Engineering Contradiction:
Improveplatform compatibilityVSAvoidbuild process complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent segments the software into distinct layers: a platform-independent upper layer containing generic source code, and a porting layer containing platform-specific instructions. This segmentation allows the generic source code to remain unchanged across platforms while the porting layer handles platform-specific variations, thereby maintaining platform compatibility without complicating the build process.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a porting layer as an intermediary between the generic source code and the target platform. This porting layer acts as a mediator that translates generic instructions into platform-specific operations, enabling the same generic source code to run on multiple platforms without requiring complex conditional compilation or make file instructions for each platform.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Adaptability or versatility

If source code is distributed across many files, then platform-specific and platform-independent portions can be separated, but it becomes difficult to identify and maintain the source code

Engineering Contradiction:
Improveplatform independenceVSAvoidsource code maintenance
Core Design Contradiction:
Adaptability or versatilityVSEase of operation

Solution Approach 1:

The patent segments source code into two distinct categories: generic source code that is platform-independent and porting layer code that is platform-specific. By clearly separating these portions and organizing them in distinct files or directories, the patent makes it easier to identify and maintain platform-independent code without having to search through multiple scattered files.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent extracts platform-specific instructions from the generic source code and places them in a separate porting layer. This extraction process isolates platform dependencies, allowing developers to maintain the generic source code without worrying about platform-specific variations, thereby improving source code maintainability.

Inventive Principle:
Principle #2Taking out (Extraction)

3Adaptability or versatility

If platform-specific instructions are embedded throughout source code files, then platform-specific functionality can be implemented, but updating and maintaining the source code becomes difficult

Engineering Contradiction:
Improveplatform-specific functionalityVSAvoidsource code update
Core Design Contradiction:
Adaptability or versatilityVSEase of repair

Solution Approach 1:

The patent extracts all platform-specific instructions from the generic source code and consolidates them in a dedicated porting layer. This extraction allows platform-specific functionality to be implemented while keeping the generic source code clean and free of platform dependencies, making updates and maintenance significantly easier.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The porting layer serves as an intermediary that handles all platform-specific functionality. By routing platform-specific operations through this layer, the patent enables platform-specific functionality to be implemented without embedding platform-specific code throughout the source code files, thereby simplifying source code updates and maintenance.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS9977673B1Systems and methods for providing a platform-specific porting layer for multi-level software stacks
Publication Date: 2018.05.22 MARVELL ASIA PTE LTD
  • US9977673B1 patent drawing
  • US9977673B1 patent drawing
  • US9977673B1 patent drawing

AI summary

Systems and methods are disclosed for providing a platform-dependent porting layer. The method includes receiving source code, provided by a user, comprising a plurality of generic instructions. The method includes determining a platform type of a target platform for executing the source code. The method includes retrieving, based on the platform type, a porting layer, associated with the target platform, comprising a plurality of platform-specific instructions. The method includes mapping each generic instruction of the plurality of generic instructions to a platform-specific instruction of the plurality of platform-specific instructions.