Array Creation Routines for Cross-Device Code Compatibility

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Computer programmers face challenges in creating program code that can be executed across a wide variety of devices with different computing resources, data types, and algorithms, often resulting in inefficient use of resources due to the need for extensive code inclusion for each possible combination.

Innovation Solution

The solution involves separating functions in program code from routines that specify the data type and algorithm to use, allowing a client device to retrieve and execute the appropriate routine based on a class identifier, thereby optimizing resource usage across different devices.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If extensive code is included to support multiple data types and algorithms across different devices, then compatibility and adaptability are improved, but code size and computational resource usage increase

Engineering Contradiction:
Improvecode compatibilityVSAvoidcode size
Core Design Contradiction:
Adaptability or versatilityVSQuantity of substance

Solution Approach 1:

The patent segments code into two distinct parts: algorithmic code that remains device-agnostic, and array creation routines that are device-specific. This segmentation allows the algorithmic code to be written once and reused across multiple devices, while only the necessary array creation routines for each device type need to be included, significantly reducing overall code size while maintaining broad compatibility.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The algorithmic code is designed with universal functionality that can operate with arrays of different data types and dimensions. By separating the device-specific array creation logic from the universal algorithmic logic, the same algorithmic code can serve multiple devices with varying computing resources, data types, and algorithms without requiring device-specific modifications.

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

2Productivity

If device-specific code is created for each computing platform, then optimization for specific devices is improved, but code complexity and maintenance difficulty increase

Engineering Contradiction:
Improveexecution efficiencyVSAvoidcode complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

By dividing the codebase into algorithmic code and device-specific array creation routines, the patent reduces code complexity. Each segment has a clear, single purpose: the algorithmic code handles the computational logic universally, while the array creation routines handle device-specific initialization. This clear separation makes the code easier to understand, modify, and maintain compared to fully device-specific implementations.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The array creation routines act as intermediaries between the device-specific hardware characteristics and the universal algorithmic code. These routines translate device-specific array creation requirements into a standardized format that the algorithmic code can process, eliminating the need for the algorithmic code to directly handle device-specific complexities.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Adaptability or versatility

If comprehensive array creation routines are included for all devices, then compatibility across devices is improved, but resource consumption during execution increases

Engineering Contradiction:
Improvedevice compatibilityVSAvoidcomputational resource usage
Core Design Contradiction:
Adaptability or versatilityVSUse of energy by moving object

Solution Approach 1:

The patent segments the code to include only the necessary array creation routines for each specific device rather than all possible devices. This allows the system to achieve device compatibility through selective inclusion of routines, minimizing the computational resources required during execution while maintaining the ability to support multiple device types.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Each device receives a customized version of the code with array creation routines tailored to its specific characteristics. This local optimization ensures that each device executes only the routines necessary for its operation, reducing computational resource usage while maintaining compatibility with the universal algorithmic code.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS9015681B1Creating and using array creation routines or a family of routines separate from algorithmic code
Publication Date: 2015.04.21 MATHWORKS INC
  • US9015681B1 patent drawing
  • US9015681B1 patent drawing
  • US9015681B1 patent drawing

AI summary

A device obtains first program code that identifies a function, an input argument to which the function is to be applied when the first program code is executed, and a class identifier that identifies second program code that includes a set of routines. The set of routines includes a routine that identifies a manner in which a return value of the function is to be generated, when the first program code is executed. The second program code is stored separately from the first program code. The device executes the first program code, obtains the second program code based on executing the first program code, and executes the routine to generate the return value, based on the function, the input argument, and the class identifier. The device provides the return value.