RAMP P2P Services

The RAMP middleware already supports the following peer-to-peer services.
Visit the API page to learn how to implement your own services on top of RAMP.

File Sharing
To share files with other nodes start FileSharingService and modify the repository directory containing shared files (temp as default).
To retrieve shared files start FileSharingClient, find remote services, require the list of shared files by a given remote node, and finally select/require a specific file.
On-demand Multimedia Streaming
Pre-requisite: install the free and open source VideoLAN/VLC cross-platform media player.
To stream audio/video multimedia content start StreamService and specify 1) the VLC install directory (leave empty on Linux OS), 2) the directory containing audio/video files (temp as default), and 3) the name of the web-cam you desire to stream from.
To get an audio/video stream start StreamClient, specify the VLC install directory (leave empty on Linux OS), find remote services, require the list of streams provided by a given remote node, and finally select/require a specific stream (I suggest to not modify other available parameters).
ContinuityManager component must be active on intermediate nodes to enable automatic stream requalification in case of path disruption.
Highly Reliable Messaging
To get messages start MessageService; note that you cannot receive messages if you have specified an empty local node id.
To send a message start MessageClient, specify the destination node id, and send the message.
ContinuityManager must be active on the node sending messages to enable the service, while on intermediate nodes ContinuityManager enables the additional feature of message store in case of path disruption.
Internet Sharing
To share Internet connectivity start InternetService; the node must have access to the Internet.
To get Internet connectivity start InternetClient, discover remote InternetServices, and specify localhost:8080 as proxy server in the browser: InternetClient simultaneously exploits network-layer paths (see below) and RAMP-supported paths to available InternetServices.
If you desire to create a network-layer multi-hop path to one of the available InternetServices use InternetClient to select an InternetService and send the request to it; Layer3RoutingManager must be active on intermediate nodes (only Linux, require superuser privileges).
Multimedia Re-Casting
Pre-requisite: install the free and open source VideoLAN/VLC cross-platform media player.
To broadcast multimedia streams start BroadcastService and select the program(s) you desire to provide.
To receive a program start BroadcastClient, require the list of programs provided by a given remote node, and finally select/require a specific program
To re-cast traversing programs activate the Smart Splitter component via the BroadcastService.
top

Work in progress

In the future we intend to support even the following peer-to-peer service(s).

Presence/Chat
User-based text/audio/video interactive chat, supporting user-to-user and group communications.
Location-based Social Networking
User-centric discovery and browse of remote users profiles with distance-based granularity.

Last modified: January 31, 2011