Distributed Runtime System for Java Object Finalization
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional computing systems lack the ability to operate an application program simultaneously across multiple computers in a coordinated manner, with inconsistent memory management, initialization, cleanup, and synchronization procedures across interconnected machines, leading to performance degradation and administrative complexity.
Innovation Solution
A modified computer architecture that allows an application program to run simultaneously on multiple computers with independent local memories, using a distributed runtime system to ensure consistent and coordinated asset initialization, cleanup, and synchronization through the creation and management of identical objects across all machines, and the propagation of memory updates.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If an application program is run simultaneously on multiple computers with independent local memories, then productivity and scalability are improved, but device complexity increases due to the need for coordinated memory management, initialization, cleanup, and synchronization procedures
Solution Approach 1:
The patent introduces a runtime system as an intermediary layer that mediates between the application program and the distributed memory architecture. This runtime system automatically handles memory management, initialization, cleanup, and synchronization operations across multiple computers, eliminating the need for manual coordination and reducing administrative complexity while enabling simultaneous execution on distributed systems
Solution Approach 2:
The runtime system provides self-service functionality by automatically managing memory allocation, object initialization, and finalization operations across the distributed environment. The system monitors and coordinates memory usage across all computers, automatically propagating updates and managing synchronization without requiring explicit intervention from the application program or administrator
2Reliability
If memory management procedures are coordinated across multiple computers, then reliability is improved through consistent memory access and synchronization, but device complexity increases due to the coordination overhead
Solution Approach 1:
The runtime system implements feedback mechanisms that monitor memory access patterns and synchronization status across all computers in the distributed environment. Based on this feedback, the system dynamically adjusts memory management strategies, propagates updates only when necessary, and coordinates synchronization operations to maintain consistency while minimizing coordination overhead
Solution Approach 2:
The patent merges memory management functions into a unified runtime system that operates across all computers simultaneously. By combining initialization, memory allocation, cleanup, and synchronization operations into a single coordinated framework, the system achieves consistent memory management without requiring separate coordination mechanisms for each function
Data Source
AI summary
The present invention discloses a modified computer architecture (50, 71, 72) which enables an applications program (50) to be run simultaneously on a plurality of computers (M1, . . . Mn). Shared memory at each computer is updated with amendments and/or overwrites so that all memory read requests are satisfied locally. During initial program loading (75), or similar, instructions which result in memory being re-written or manipulated are identified (92). Additional instructions are inserted (103) to cause the equivalent memory locations at all computers to be updated. In particular, the finalization of JAVA language classes and objects is disclosed (162, 163) so finalization only occurs when the last class or object present on all machines is no longer required.


