JavaGroups is a Java package for reliable group communication. It consists of 3 parts: The first part is a socket-like API for application development, providing methods for joining and leaving a group, sending multicast messages to members, and receiving notifications when members join/leave/crash. The second part is a protocol stack which implements reliable communication, and can be configured according to the QoS desired. New protocols can easily be added, and existing ones removed/replaced/modified. The third part is a set of building blocks which give the application/protocol programmer high-level abstractions (e.g. DistributedHashtable, derived from java.util.Hashtable, which is similar to Linda/JavaSpaces).
JBoss is an Open Source, standards-compliant, Enterprise JavaBeans application server implemented in pure Java. JBoss provides JBossServer, the basic EJB container and JMX infrastructure, JBossMQ for JMS messaging, JBossMail for mail, JBossTX for JTA/JTS transactions, JBossSX for JAAS based security, JBossCX for JCA connectivity, and JBossCMP for CMP persistence. It integrates with Tomcat Servlet/JSP container and Jetty Web server/servlet container, and enables you to mix and match these components through JMX by replacing any component you wish with a JMX-compliant implementation for the same APIs. The goal is to provide a full J2EE stack in the Free/Open Source software world.
Heartbeat is a full-function high-availability system for Linux and other POSIX-like OSes. It monitors services and restarts them on errors. When managing a cluster (more than 1 machine), it will also monitor the members of the cluster and begin recovery of lost services in less than a second. It runs over serial ports and UDP broadcast/multicast, as well as OpenAIS multicast. It is easily adapted to different interconnect media and protocols. When used in a cluster, it can operate using shared disks, data replication, or no data sharing. Versions starting with 2.0 are comparable to any commercial HA package, providing resource monitoring, larger clusters, and detailed dependency information.
Momoko is a generic, object-oriented, modular, extensible environment for creating multi-user environments. It is suitable for writing MUDs, servers, and community-based Web sites. It is written in pure Java and supports Java and Python as internal scripting languages. Momoko provides facilities for organizing objects into tree-based hierarchies, orthogonal persistence, a transparent distributed objects system, remote access to source code and user files via WebDAV, a telnet-enabled shell for manipulating the object database, and an integrated build process which can be triggered remotely.
MPICH is a robust and flexible implementation of the MPI (Message Passing Interface). MPI is often used with parallel or distributed computing projects. MPICH is a multi-platform, configurable system (development, execution, libraries, etc) for MPI. It can acheive parallelism using networked machines or using mulitasking on a single machine.
The OpenLDAP Project is a collaborative effort to provide a robust, commercial-grade, fully featured, open source LDAP software suite. The project is managed by a worldwide community of volunteers that use the Internet to communicate, plan, and develop OpenLDAP Software and its related documentation. OpenLDAP Software provides a complete LDAP implementation including server, clients, C SDK, and associated tools.
Performance Co-Pilot (PCP) is a framework and set of services for supporting system-level performance monitoring and performance management. It provides a unifying abstraction for all of the interesting performance data in a system, and allows client applications to easily retrieve and process any subset of that data using a single API. A client-server architecture allows multiple clients to monitor the same host, and a single client to monitor multiple hosts. Archive logging and replay are integrated so that a client application can use the same API to process real-time data from a host or historical data from an archive.
PVM (Parallel Virtual Machine) is a portable message-passing programming system, designed to link separate host machines to form a ``virtual machine'' which is a single, manageable computing resource. The virtual machine can be composed of hosts of varying types, in physically remote locations. PVM applications can be composed of any number of separate processes, or components, written in a mixture of C, C++ and Fortran. The system is portable to a wide variety of architectures, including workstations, multiprocessors, supercomputers and PCs.