Java distributed framework is a framework for distributed grid and / or volunteer computing. It's divided into a server and client library. You can create new or implement it into existing applications in no time; you don't need knowledge about network connections, sockets, etc. The Framework does almost everything automatically. It provides secure automatic client <-> server communications, unique IDs, automatic resending of jobs to new clients if needed, user stats, and much more. The client framework supports the detection of the computer's user state (idling, away, online, etc.). It also offers many other useful features and helpers for developing a distributed client application.