Browse Prior Art Database

Notifying Java Applications of DLPAR (Dynamic Logical Partition) Events

IP.com Disclosure Number: IPCOM000128836D
Original Publication Date: 2005-Sep-19
Included in the Prior Art Database: 2005-Sep-19
Document File: 4 page(s) / 34K

Publishing Venue

IBM

Abstract

The Dynamic Logical Partitioning features of IBM eServers provides the ability to logically attach/detach system resources (e.g., CPUs and memory) to/from a logical partitions operating system without rebooting. This invention provides mechanism for notifying Java applications of DLPAR events, which will permit them to dynamically change their runtime behavior when these events occur. This invention also provides a mechanism for a Java application to dynamically increase/decrease the size of the Java Virtual Machine's heap in response to DLPAR events.

This text was extracted from a PDF file.
This is the abbreviated version, containing approximately 52% of the total text.

Page 1 of 4

Notifying Java Applications of DLPAR (Dynamic Logical Partition) Events

Management DLPAR (Dynamic Logical Partitioning) Extensions

Disclosed is a Java* Application Program Interface (API) for IBM**-specific extensions to java.lang.management that provide a java-level interface to:

* query information specific to logical partitioning schemes
* listen for events indicating that the JVM's (Java Virtual Machine) logical partition has been dynamically altered.

OperatingSystemMXBean int getProcessingCapacity()

    Returns the collective capacity of the virtual processors in the partition the VM is running in. The value returned is in units of 1% of a physical processor's capacity, so a value of 100 is equal to 1 physical processor. In environments without such partitioning support, this call will return getAvailableProcessors() * 100.

com.ibm.lang.management.OperatingSystemMXBean was modified to implement NotificationEmitter. Notifications are produced whenever the value returned by getProcessingCapacity, getAvailableProcessors, or getTotalPhysicalMemory changes. A CompositeData representing a com.ibm.lang.management.ProcessingCapacityNotificationInfo, a com.ibm.lang.management.TotalPhysicalMemoryNotificationInfo, or a com.ibm.lang.management.AvailableProcessorsNotifictionInfo is stored in the user data of the notification.

The following static fields in OperatingSystemMXBean define the strings that the notification's getType() method will return to indicate which event is being notified:

static String PROCESSING_CAPACITY_CHANGE static String TOTAL_PHYSICAL_MEMORY_CHANGE static String AVAILABLE_PROCESSORS_CHANGE

ProcessingCapacityNotificationInfo

ProcessingCapacityNotificationInfo( int newProcessingCapacity )

Constructs a new instance of this object.

int getNewProcessingCapacity()

Returns the new processing capacity after the change that this notification corresponds to.

1

Page 2 of 4

static ProcessingCapacityNotificationInfo from( CompositeData cd )

Returns a ProcessingCapacityNotificationInfo object represented by the given CompositeData. The CompositeData must contain the attribute newProcessingCapacity of type java.lang.Integer.

TotalPhysicalMemoryNotificationInfo

TotalPhysicalMemoryNotificationInfo( long newTotalPhysicalMemory )

Constructs a new instance of this object.

long getNewTotalPhysicalMemory()

Returns the new physical memory total after the change that this notification corresponds to.

static TotalPhysicalMemoryNotificationInfo from( CompositeData cd )

Returns a TotalPhysicalMemoryNotificationInfo object represented by the given CompositeData. The CompositeData must contain the attribute newTotalPhysicalMemory of type java.lang.Long.

AvailableProcessorsNotificationInfo

AvailableProcessorsNotificationInfo( int newAvai...