Position-Independent Code Access via Constant Bank Address Mapping
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Enabling a program to access data regardless of its location is challenging, often requiring code changes that can lead to issues like invalid digital signatures.
Innovation Solution
A system compiles programs to refer to data using a constant bank that encodes actual data locations, allowing access to data without changing the program, even if the data location changes.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If the program code is changed to access data at a new location, then the program can access the data, but the digital signature of the program becomes invalid
Solution Approach 1:
The patent segments the program into two independent parts: position-independent code (PIC) that contains the digital signature and remains unchanged, and a position table that stores data location mappings. This segmentation allows the data locations to change without affecting the signed PIC, resolving the contradiction between adaptability and reliability.
Solution Approach 2:
The patent introduces a position table as an intermediary between the program and the data. The position table acts as a mediator that translates logical data references in the PIC to actual physical locations, allowing data to be moved without modifying the signed program code, thus maintaining both adaptability and reliability.
2Reliability
If the program is compiled with hard-coded data locations, then the digital signature remains valid, but the program cannot access data if the location changes
Solution Approach 1:
The patent divides the program into position-independent code (PIC) that is signed and contains no hard-coded locations, and a separate position table that stores all location mappings. This segmentation enables the signed code to remain reliable while the position table provides the necessary adaptability.
Solution Approach 2:
The position table serves as an intermediary layer between the signed PIC and the actual data storage locations. It allows the program to access data dynamically without exposing location information to the signed code, maintaining both signature validity and location flexibility.
3Ease of operation
If the program code is modified to accommodate data location changes, then data accessibility is improved, but code integrity is compromised
Solution Approach 1:
The patent segments the program into immutable position-independent code (PIC) that maintains integrity and a mutable position table that handles location changes. This segmentation allows easy data accessibility through the position table while preserving code integrity in the PIC.
Solution Approach 2:
The position table acts as an intermediary that absorbs all modifications related to data location changes. The signed PIC remains untouched and intact, while the position table dynamically adapts to location changes, ensuring both accessibility and integrity.
Data Source
AI summary
Apparatuses, systems, and techniques to enable a program to access data regardless of where said data is stored. In at least one embodiment, a system enables a program to access data regardless of where said data is stored, based on, for example, one or more locations encoding one or more addresses of said data.


