PigeonReader is the Web mail client of the PigeonAir project, a solution for easily building clustered, scalable, and modular email services. PigeonReader is completely UTF-8 compliant, allowing any charset to be used. It is based on XML, which allows skins and themes to be easily written using the XSLT language. It was written to be easily used in a cluster of Web servers, where multiple and different domains are to be managed transparently to the end user, possibly with different skins, features, and configurations.
PigeonAdmin is the mail administration interface of the PigeonAir project, a solution for easily building clustered, scalable, and modular email services. PigeonAdmin allows many virtual domains of the mail server to be easily managed using a simple Web interface. It allows every domain to have a different configuration than any other. It also allows domain administrators to choose which configurations to force on their own users or which parameters the users will be able to configure and modify by themselves.
PigeonDeliver is the delivery agent of the PigeonAir project, a solution to easily build up clustered, scalable, and modular email services. PigeonDeliver is modular in nature, allowing it to be used on Postfix and other MTAs using their own native APIs without performance loss. It allows mail services to be easily and transparently distributed among a cluster of mail server, easily supporting new services and new modules added using the PigeonDeliver API, which simplifies writing filters and/or delivery agents.
The DNServer class can be used to implement domain name servers (DNS). It starts listening to DNS UDP port 53 to handle domain name resolution requests. The class decodes the DNS request, and invokes a configurable callback function that takes the DNS query type and the domain to resolve and returns an IP address.
MultiLoad is a load balancer that redirects HTTP requests to pre-defined servers/locations. It gives the provider a way to balance the traffic and hides the real download location. It allows you to manage different version of each download. It is also a load balancing server extension. You can distribute files on some servers so that a downloaded file can be loaded form different servers. These servers can have different priorities to control the active traffic.
PMS/PyPubSub (short for Python Message Service / Python based Publish Subscribe) is a framework for implementing a publish subscribe mechanism into a Python application. A python process somewhere in the network publishes one or more topics which consist of Python objects. Multiple processes in the network can subscribe to fresh updates of the published topics. A publisher and its subsribers are fully decoupled. The datatype of a topic can be freely defined and changed at runtime. New publishers and subscribers can easily be added at runtime.
Clusterix is cluster software for Unix. It is intended for use with 2 machines for high availability services. For example, you can have a Web server with 2 nodes, or a database with shared disk. To put more than one service in high availability so that one service stays on one node and the second on the other node, you can simply make 2 installations of Clusterix in 2 different directories on the 2 nodes. When there is a failure of service on one node, the cluster system moves the service to the other node.
Fluffy Linux Cluster will create a "virtual IP address" shared between two or more machines on the same shared segment (i.e. LAN). TCP-based services running will be automatically load-balanced between the available machines. No dedicated "load balancer" is required, and failed nodes will be detected automatically and taken out of the cluster until they are fixed.
DIPC allows an application programmer to easily (transparently) send and receive data, synchronise using semaphores, and use a shared memory over a network. Distributed computing is thus made very easy. DIPC modifies System V's message queues, semaphores, and shared memory segments so that they can operate not just within a single computer, but over a cluster of computers. The programming model is very similar to that of a group of processes running on the same computer and exchanging data.