Networks of computers are everywhere. The Internet is one, as are the many networks of which it is composed. Mobile phone networks, corporate networks, factory networks, campus networks, home networks, in-car networks, both separately and in combination, all share the essential characteristics that make them relevant subjects for study under the heading distributed systems. Most organizations use a wide variety of applications for the smooth functioning of their businesses that includes homogenous as well as heterogeneous systems. Heterogeneous systems run on different platforms, use different technologies or sometimes even run on a different network architecture altogether. The essential role of Middleware is to provide a simple environment to manage complex, heterogeneous and distributed infrastructures.
The main goal of this paper is to use Java-RMI middleware to build a distributed system for scheduling the threads. The system comprises two separate programs, a server, and a client. A typical server program creates some remote objects, makes references to these objects accessible, and waits for clients to invoke methods on these objects. A typical client program obtains a remote reference to one or more remote objects on a server and then invokes methods on them.