Array Creation Routines for Cross-Device Code Compatibility
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
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
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.
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.
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
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.
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.
Data Source
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.


