Package ist.palcom.rascal

Provides reliable communication to PalCom devices making autonomic decisions when sending/receiving application messages to/from target nodes.

See:
          Description

Class Summary
RascalCommunicationThread RascalCommunicationThread is a CommunicationThread used to enable the communication between the PalCom device and the RASCAL agent.
RascalEvent This PalCom event incapsulates PalCom messages and it is used by PalCom threads in the RASCAL media manager
RascalMediaManager This media manager sends and receives messages to the RASCAL agent running on the same host through a socket.
RascalMessage Envelop of a PalCom message which includes the URN/URL/Selectors of the receiver/sender.
 

Package ist.palcom.rascal Description

Provides reliable communication to PalCom devices making autonomic decisions when sending/receiving application messages to/from target nodes.

Package Specification

RASCAL (Resilience and Adaptivity System for Ad-Hoc Links) is a particular Media Manager for PalCom devices able to make autonomic decisions when sending/receiving application messages to/from other PalCom devices.



Decisions can be made based on the status of the network connection (e.g., handover between the ad-hoc and the infrastructure network, optimization of the routing parameters) or on the user-level services running into the PalCom device (e.g., contingency management decisions, content adaptation decisions, deferred service provisioning decisions, role management decisions, etc.).

These decisions can be easily formulated by the PalCom end-user through an XML based policy description language.

The use of the RASCAL media manager is particularly useful if the PalCom device is working in disruptive environments such as major incidents.

How to use RASCAL

To use RASCAL please add the following code when initializing the PalCom device:
    public MediaManager getMediaManager() {
        if (mediaManager == null) {
            new RascalMediaManager(getScheduler(), null);
        }
        return mediaManager;
    }
See ist.palcom.services.communication.rascal.RascalMediaManager#RascalMediaManager(PalcomScheduler scheduler, PalcomThread errorHandler)