Shared Object Region Class State Synchronization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In a Java environment, isolated applications may see classes in different states within a shared object region, leading to improper function and violations of Java programming language specifications, as classes defined by the bootstrap class loader may not maintain the same state across all isolates attached to the region.

Innovation Solution

Maintaining a list of dependent classes and their states for each shared object region, ensuring that all isolates see classes as being in the same state by updating the list upon specific events like loading and initialization, and initializing classes as needed for isolates attaching to the region.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If separate isolates access objects in a shared object region independently, then each isolate can access and manipulate shared objects, but different isolates may see classes in different states leading to improper function and specification violations

Engineering Contradiction:
Improveisolate independenceVSAvoidclass state consistency
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

A class state synchronization mechanism acts as an intermediary between isolates accessing the shared object region. When one isolate modifies a class state (loading, linking, initializing), the synchronization mechanism propagates these state changes to all other isolates attached to the shared object region, ensuring all isolates see consistent class states while maintaining their operational independence

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system implements feedback by monitoring class state changes in the shared object region and automatically notifying and updating all attached isolates. When a class transitions between states (e.g., from loaded to initialized), the feedback mechanism ensures all isolates receive this state information, preventing the inconsistency where different isolates would otherwise see different class states

Inventive Principle:
Principle #23Feedback

2Ease of operation

If classes are initialized independently in different isolates, then each isolate can manage its own class loading, but class state inconsistencies occur across isolates accessing the same shared objects

Engineering Contradiction:
Improveindependent class managementVSAvoidclass state uniformity
Core Design Contradiction:
Ease of operationVSManufacturing precision

Solution Approach 1:

The patent merges the class state management across multiple isolates by maintaining a unified view of class states in the shared object region. While isolates can independently trigger class loading and initialization, the system combines these independent operations into a coordinated state transition process, ensuring all isolates converge to the same class state (e.g., all see the class as initialized)

Inventive Principle:
Principle #5Merging (Combining)

3Adaptability or versatility

If isolates attach to a shared object region at different times, then the region supports dynamic isolate attachment, but later isolates may encounter classes in inconsistent states

Engineering Contradiction:
Improvedynamic attachmentVSAvoidclass state visibility
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The system performs preliminary actions by pre-establishing the class state synchronization mechanism before isolates attach to the shared object region. When classes are loaded or initialized in the shared object region, the synchronization mechanism is already in place to propagate state changes to all current and future isolates, ensuring that dynamically attached isolates receive proper class state information

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS7945920B2Enforcing proper resolution for classes of shared objects in a virtual machine
Publication Date: 2011.05.17 ORACLE AMERICAN INC
  • US7945920B2 patent drawing
  • US7945920B2 patent drawing
  • US7945920B2 patent drawing

AI summary

Disclosed techniques ensure that isolates that are attached to a shared object region will see appropriate class states. In response to an isolate's attempt to instantiate, in such a region, an object that is an instance of a particular class, a bootstrap class' identity is added to that region's bootstrap class list. In response to an isolate's attempt to attach to the region, each class that is both (a) in the region's associated bootstrap class list, and (b) not yet initialized for that isolate, is initialized for that isolate. Thus, those bootstrap classes are seen by that isolate as being in the “initialized” state. In response to an isolate's addition of a particular bootstrap class to the region's list of dependent bootstrap classes, the particular bootstrap class is initialized for each of the isolates attached to the region and for which the bootstrap class is not initialized yet.