The Pluggable Distibuted Data Processing Daemon

Special thanks to Dr. Deb Stacey, without whom this project would never have happened

The PDDPd allows creation of a customized system to process data in a distributed environment. The system follows a simple yet flexible data processing model, allowing custom code to be inserted dynamically at each stage of processing. The system is designed to be remotely administrable.

Note: I plan to continue working on this project, but have no time to do so at this moment. If you are interested in this project, or a particular feature which has not been implemented yet, please use the Tracker from the Project Page to let me know.

Developed and Maintained by Paul Kopacz

AboutA description and layout of the project
NewsHas anything new happened since you last checked?
TodoCheck here for features of interest to you
RoadmapTimeframes for the implementation of new features
ReleasesDownload some JARs of the project
DocumentationDownload or browse the documentation
Project PageGo to the SourceForge project page for the PDDPd
Highly ConductivePaul Kopacz's Homepage
About The PDDPd

The goal is to create an efficient, remotely administrable, and stable Daemon which will be given plugins to run. These plugins must obey certain criteria regarding dataflow, but their purpose can be anything. The Daemon's dataflow model is simple and flexible: Data is produced, data is processed, and data is consumed. Therefore, each Daemon has three plugin types (Producer, Processor, and Consumer) through which data flows. How data is produced, processed, and consumed is entirely up to the plugin developer. The Daemon (in addition to handling the loading and running of the plugins) has facilities to perform on-the-fly configuration of itself and the plugins (including loading new plugins from the network) and logging functionality. The software is written in Java.

The project consists of three parts:

Daemon
The daemon function is to run plugins and move data between them. In addition, it allows remote administration of plugins and itself, including loading new plugins over the network. It includes remote logging facilities and (note: This is not done yet!) authentication and secure communication for the remotely administrating user.
Plugins
Base classes are provided to allow developers to write plugins. In addition, several plugins have already been written and are available for use.
Remote Administration
A reference application which can be used to administrate a system of daemons is (will be) provided.