
{\bf Summary: \\
In recent past, Java has emerged as a powerful and easy to use language for
net-centric computing. Simplicity, object oriented features, the presence of
threads and architecture independence are main reasons for the popularity
of Java. Despite having built-in threads in the language, the bare Java
execution model does not support remote object invocations. RMI (Remote
Method Invocation) is an interface specified by Sun Microsystems for the
purpose of native Java-client and Java-server communication. Although, RMI is
simple to use, it is not desirable in many applications due to its 
synchronous nature. In this paper, we describe ARMI (Asynchronous RMI), a
mechanism which is built on top of RMI and allows concurrent execution of
local and remote computations. This article presents the salient features and
implementation details of ARMI. Two experiments performed with ARMI along
with performance comparisons to RMI are also explained.}

