Java Virtual Memory Management via Data Structure Copying

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Manipulating low-level system data structures such as page tables and interrupts in the JAVA programming language is challenging due to their bit-based or complex nature, which cannot be directly represented in JAVA structures, hindering system stability and efficiency in mobile devices.

Innovation Solution

Implementing a JAVA representation of system-level data structures with corresponding methods that allow manipulation and updating of these structures, enabling efficient virtual memory management and interrupt handling by creating a JAVA class that provides both JAVA and system representations, and using a JAVA Virtual Machine to execute these representations.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If JAVA representation of page tables and segment descriptors is implemented, then ease of operation is improved, but device complexity increases

Engineering Contradiction:
Improvemanipulation of low-level system data structuresVSAvoidstructure of virtual memory management system
Core Design Contradiction:
Ease of operationVSDevice complexity

Solution Approach 1:

The patent creates JAVA representations (copies) of system-level data structures including page tables, page descriptors, and segment descriptors. These JAVA representations mirror the structure and content of the underlying system data structures, allowing JAVA applications to manipulate them using standard JAVA operations. The copies maintain synchronization with the original system structures through update mechanisms, enabling safe and convenient manipulation without direct access to low-level memory structures.

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The JAVA representations act as intermediary layers between JAVA applications and the actual system-level data structures. Instead of JAVA code directly manipulating complex bit-based system structures, it operates on the JAVA representations, which then propagate changes to the underlying system structures through controlled update mechanisms. This intermediary layer simplifies the interface while maintaining system integrity.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If direct manipulation of system-level data structures is enabled in JAVA, then productivity is improved, but reliability deteriorates

Engineering Contradiction:
Improveexecution efficiency of JAVA codeVSAvoidsystem stability
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

By creating JAVA representations as copies of system data structures, the patent enables JAVA applications to perform manipulations on these copies with full JAVA language support and safety checks. The copies can be modified using standard JAVA operations including field access, iteration, and manipulation, which are then propagated to the underlying system structures through controlled update mechanisms, ensuring both productivity and reliability.

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The system performs preliminary actions by maintaining JAVA representations that are kept synchronized with the actual system data structures. Before any manipulation occurs, the JAVA representation already contains an up-to-date copy of the system state, allowing JAVA code to operate with complete information and make informed decisions without direct access to the underlying system structures.

Inventive Principle:
Principle #10Preliminary action

3Ease of manufacture

If JAVA representations of bit-based structures are created, then ease of manufacture is improved, but manufacturing precision is worsened

Engineering Contradiction:
Improvecreation of data structure representationsVSAvoidbit-level accuracy of field representations
Core Design Contradiction:
Ease of manufactureVSManufacturing precision

Solution Approach 1:

The patent creates JAVA representations that copy the structure and content of system-level data structures. For bit-based fields, the JAVA representations use appropriate JAVA data types (such as integers or booleans) that can represent the bit patterns. The copying process maintains the essential structure and relationships, allowing JAVA applications to manipulate these representations using standard operations while preserving the underlying bit-level semantics through controlled update mechanisms.

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The system applies parameter changes by mapping system-level bit fields to appropriate JAVA data types. Each field in the JAVA representation is configured with parameters that reflect its corresponding system field characteristics (such as size, range, and valid values). This parameter mapping enables JAVA code to work with high-level data types while maintaining correspondence with the underlying bit-level system structures through update operations that preserve the original field semantics.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS9201807B2Method and system for managing virtual memory
Publication Date: 2015.12.01 TEXAS INSTRUMENTS INC
  • US9201807B2 patent drawing
  • US9201807B2 patent drawing
  • US9201807B2 patent drawing

AI summary

Methods, computer-readable media, and systems for virtual memory management using the JAVA programming language are provided. In some illustrative embodiments, a computer-readable medium storing a program that, when executed by a processor, performs a method for virtual memory management is provided. The method includes creating a representation of a page table, wherein each entry of the representation comprises a representation of a page descriptor, changing a field of a representation of a page descriptor in the representation of the page table, and updating a corresponding field in a page descriptor of a system level page table using the contents of the field in the representation of the page descriptor. Some illustrative embodiments provide a computer-readable medium storing a program that, when executed by a processor, performs a method for virtual memory management that includes creating a representation of a segment descriptor, changing a field of the representation of the segment descriptor, and updating a corresponding field in a system level segment descriptor using the contents of the field in the representation of the segment descriptor.