Design Goals

The principal design goals of the project are Transparency, Hardware and Operating System Heterogeneity, Scalability, Security and Reliability.

Transparency

The complexity of the system shall be transparent to applications built upon it with respect to the number of machines in the distributed network, their geographic location, network topology or machine availability. Applications must be designed and written independently of these parameters and be able to rely on the Aldeburgh subsystem to provide the services demanded of it in a simplistic and reliable way.

Hardware and Operating System Heterogeneity

Machines in the distributed network of a particular system shall not be restricted to communicating with other machines of the same Hardware or Operating System. All communication shall be performed by the framework to achieve independence of these parameters. The software shall be written in portable C++.

Scalability

The framework architecture shall not impose restrictions on the size of the distributed network in terms of the number of connected machines, or the volume of data transmitted between machines within a distrubuted network.

Security

The framework shall be responsible for authentication of machines connecting to a distributed network. Communication between machines shall have the capability of using a secure connection, such as SSL, to protect the data being transmitted.

Reliability

The reliability and stability of a running distributed system shall be guaranteed by the framework, providing tolerance against network failures and periodically inaccessible machine.