Java NIO Memory Mapping for Gas Turbine Health Data
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing Off Board Prognostics Health Monitor (OBPHM) systems face memory issues when processing large Portable Memory Device (PMD) files, leading to 'Out of Memory' exceptions and prolonged processing times due to the limitations of Java Heap Memory, especially with file sizes exceeding 24 MB.
Innovation Solution
The method involves using Java New Input Output (NIO) libraries to map and time sort Health Report Code (HRC) records into a Hash Map, allowing direct access to specific records through a binary buffer pointer, reducing memory usage and enabling rapid processing by utilizing physical memory outside the Java Heap.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of operation
If all HRC data is loaded into memory through Chunking, Reassembly, and Reconstruction processes, then the data can be organized and accessed sequentially, but the Java Heap Memory runs out of space for files larger than 64 MB
Solution Approach 1:
The patent extracts the indexing metadata from the binary file and stores it separately in a database, leaving only the essential access information in memory. This separation allows the system to handle large files without loading all data into Java Heap Memory, resolving the memory capacity limitation while maintaining data accessibility through database queries.
Solution Approach 2:
The patent introduces a database as an intermediary layer between the binary file and the application. The database serves as a mediator that stores indexed metadata and allows efficient querying without requiring the entire file to be loaded into memory, thus resolving the contradiction between data accessibility and memory capacity.
2Quantity of substance
If the OBPHM processes larger PMD files, then more data can be handled, but the processing time increases to 2-3 hours per file
Solution Approach 1:
The patent performs preliminary indexing of the binary file data into a database before processing. By pre-organizing the data with indexes during an initial setup phase, subsequent processing operations can quickly retrieve and analyze specific records without scanning entire large files, thus reducing processing time while handling larger data volumes.
Solution Approach 2:
The patent creates a simplified copy of the binary data structure in the database, storing only the essential metadata and indexing information needed for processing. This copied representation allows rapid access and processing without dealing with the full complexity and size of the original binary file, reducing processing time while maintaining access to large datasets.
3Quantity of substance
If the Java Heap Memory size is increased to handle larger files, then more data can be processed in memory, but the system becomes less efficient for very large files exceeding available memory
Solution Approach 1:
The patent extracts the indexing functionality from in-memory processing and relocates it to a database system. This extraction allows the application to maintain a small, efficient in-memory working set while leveraging the database's capacity to handle large datasets, thus maintaining processing efficiency regardless of file size.
Solution Approach 2:
The patent moves the data storage and indexing operation from the one-dimensional constraint of Java Heap Memory to the multi-dimensional storage capacity of a database system. This dimensional transition allows the system to handle arbitrarily large files by utilizing disk-based storage and indexing structures, maintaining efficiency without being limited by available memory capacity.
Data Source
AI summary
A method to process Portable Memory Device (PMD) files from an electronic engine control system includes mapping each of a multiple of Health Report Code (HRC) records from a Portable Memory Device (PMD) such that each Health Report Code (HRC) record is accessible through a specific HRC number related to each of the multiple of Health Report Code (HRC) records.


