FAQ

  • What is Appia?
  • Why the name "Appia"?

What is Appia?

Appia is a layered communication framework implemented in Java and providing extended configuration and programming possibilities. Appia contains several communication protocols such as group communication protocols and ordering protocols.

Distributed applications are becoming increasingly complex, offering rich and powerful services to their users. In order to offer satisfactory performance, these applications are also becoming increasingly demanding in terms of communication support. It is easy to find applications that require the simultaneous use of several communication channels, such as virtual environments, distributed simulation and computer supported collaborative work (CSCW).

One particularity of these applications is the need to exchange and disseminate several kinds of data, each with different quality-of-service requirements. Text messages or blocks in a file transfer, for example, are expected to be reliably delivered in FIFO order while in video streams some packets can be lost. As a result, these applications tend to rely on the use of multiple communication channels. It is easy to find communication substrates that support the use of several independent channels. However, in multi-channel applications there are often inter-channel constraints that need to be preserved to simplify the application logic. For instance, one may need to enforce FIFO, causal or total order constraints across channels, to cipher data in different channels using the same session key, or to ensure that consistent failure detection information is provided to all channels. If the protocol kernel does not provide any support for coordination among channels, this burden is left to the application designer.

A promising approach to tackle the complexity of these systems is to rely on configurable communication architectures that are able to support component re-utilization and composition. Recent protocol kernels, such as Ensemble and Coyote offer an environment where "off-the-shelf" micro-protocols can be combined to obtain different QoSs. However, few systems provide support for the coordination of multiple channels. Maestro and CCTL support coordination only at a limited set of properties such as membership or ordering. Inter-channels constraints that were not anticipated by these kernels still have to be implemented at the application level. Appia is a protocol kernel that offers a clean and elegant way for the application to express inter-channel constraints. This feature is obtained as an extension to the functionality provided by current systems. Thus, Appia retains the flexible and modular design that has previously proven to be advantageous, allowing communication stacks to be composed and reconfigured in run-time.


Why the name "Appia"?

The first of the great Roman roads, the Via Appia (Appian Way), begun by the censor Appius Claudius Caecus in 312 BC, originally ran southeast from Rome 162 miles (216 km) to Tarentum (modern Taranto) and was later extended to the Adriatic coast at Brundisium (modern Brindisi).

Roads were fundamental to the development of the Roman empire who governed a big part of Europe for several centuries. A huge network of roads was established by that time, connecting all the roman empire, leading to the proverb "All roads lead to Rome". By that time, roads were the only communication channel available. They were used to transport goods and news and helped in the expansion of the empire.

The roman roads were notable for their straightness, solid foundations, cambered surfaces facilitating drainage, and use of concrete made from pozzolana (volcanic ash) and lime. Though adapting their technique to materials locally available, the Roman engineers followed basically the same principles in building abroad as they had in Italy.

The Roman road system made possible Roman conquest and administration and later provided highways for the great migrations into the empire and a means for the diffusion of Christianity.

Note: The above text was partially taken from the entry Roman road system of the Encyclopædia Britannica.



This page was last modified 17:40, 17 April 2006. This page has been accessed 9,708 times.

  


Copyright © 2006-2007 DIALNP - FCUL