Browse Prior Art Database

System and Method for High Performance Queuing of Remote Method calls in J2EE environment

IP.com Disclosure Number: IPCOM000016275D
Original Publication Date: 2002-Sep-24
Included in the Prior Art Database: 2003-Jun-21
Document File: 2 page(s) / 45K

Publishing Venue

IBM

Abstract

System and Method for High Performance Queuing of Remote Method calls in J2EE environment Disclosed is a system and method, in the area of asynchronous remote procedure calls in a J2EE (Java2* Execution Environment) environment, for processing incoming remote calls, enqueuing them, and processing them asynchronously within an IDL (Interface Definition Language), CORBA (Common Object Request Broker Architecture), and J2EE environment. The described queuing mechanism provides other benefits for communicating between the clones of a web server cluster. The problem in this environment is that when using the CORBA transport protocol directly within a J2EE environment, incoming remote procedure calls from a remote server, must be processed asynchronously to avoid deadlocks. It is desirable to queue the events to process them in the appropriate order of execution, since there may be many incoming remote procedure calls directed as the same object at the same time. Within the J2EE environment, there are certain scaling and reentrancy requirements. Stateless EJBs can be processed in parallel, but still it is desirable to be on a separate thread to avoid deadlock.

This text was extracted from a PDF file.
At least one non-text object (such as an image or picture) has been suppressed.
This is the abbreviated version, containing approximately 52% of the total text.

Page 1 of 2

System and Method for High Performance Queuing of Remote Method calls

in J2EE environment

Disclosed is a system and method, in the area of asynchronous remote procedure calls in a J2EE (Java2* Execution Environment) environment, for processing incoming remote calls, enqueuing them, and processing them asynchronously within an IDL (Interface Definition Language), CORBA (Common Object Request Broker Architecture), and J2EE environment. The described queuing mechanism provides other benefits for communicating between the clones of a web server cluster.

The problem in this environment is that when using the CORBA transport protocol directly within a J2EE environment, incoming remote procedure calls from a remote server, must be processed asynchronously to avoid deadlocks. It is desirable to queue the events to process them in the appropriate order of execution, since there may be many incoming remote procedure calls directed as the same object at the same time. Within the J2EE environment, there are certain scaling and reentrancy requirements. Stateless EJBs can be processed in parallel, but still it is desirable to be on a separate thread to avoid deadlock.

Stateful EJBs can only be entered by one thread at a time, and don't provide synchronization, therefore, the client must ensure this. If the client of the stateful EJB is producing many concurrent remote calls, these calls not only need to be enqueued, but also synchronized to ensure that they don't reenter the EJB container environment on the same stateful EJB at the same time. Additionally, since incoming call arrive through the CORBA layer, and are not immediately directed to EJBs, the cluster dispatcher (WLM Work Load Manager) does not interfere, and therefore work load is not evenly balanced on the cluster.

There is a need for a high performance queuing mechanism that can be used by an application using CORBA transports to do remote procedure calls to another server. This queuing mechanism can provide many benefits to the application, and isolate the J2EE application from the difficulties of remote procedure calls through C...