PLAN-P  -  Programming Networks and Protocols



PLAN-P : a Programming Language for Active Networks and Protocols

Active networks are aimed at incorporating programmability into the network to achieve extensibility. An approach to obtaining extensibility is based on downloading router programs into network nodes. Although promising, this approach raises several critical issues: expressiveness to enable programmability at all levels of networking, safety and security to protect shared resources, and efficiency to maximize usage of bandwidth.

PLAN-P is a domain-specific language for implementing application-specific protocols [TCM98]. It allows applications to program network routers. It is an extension of PLAN, an active network language for diagnostics. The key characteritics of PLAN-P are:

Besides active bridging, other practical experiments with PLAN-P include a virtual load balancing Web server, adaptive audio broadcasting, and a live video spy [TMM98].

Although PLAN-P was designed as an extension of PLAN, the conception and the implementation is the result of an experiment to apply our framework [CM98,Thi98] for building domain-specific languages.


How to use PLAN-P?

PLAN-P is available for download. A preliminary version is available for Solaris 5.1.



The efficient PLAN-P just-in-time compiler has been obtained using Tempo, our partial evaluator for C.


Application Examples

The following are some sample applications that have been written in PLAN-P. Other existing applications include active bridging.

Virtual load balancing Web server
This virtual Web server distributes requests to a single address to two different Web servers in order to increase response time and throughput. The PLAN-P source of the virtual server is available.

Adaptive audio broadcasting
This protocol adds adaptation available bandwidth to a simple audio multicasting LAN application. Depending on the available bandwidth the router protocol forwards audio packets with degraded audio quality in order to reduce the required bandwidth. A client protocol reconstructs any degraded packets to the orginal format, so that the audio application can be reused without modification. Both the client and router PLAN-P programs are available.

Live video spy
This is protocol that permits multiple clients to share a single video stream from a non-multicast aware MPEG server. This is currently only for clients on the same Ethernet segment. On machine on the segment servers as a monitor which maintains a description of currently open connections to the server. Clients may then contact this monitor to find open connections that they may attach to. In order to attach to an existing stream, a client protocol snoops packets on the segment and captures the packets belonging to the requested stream and delivers them to the application. The client and monitor PLAN-P programs are available.


References

[CM98]
C. Consel and R. Marlet. Architecturing software using a methodology for language development. In Proceedings of the 10th International Symposium on Programming Languages, Implementations, Logics and Programs (PLILP/ALP '98), pp. 170-194, Pisa, Italy, September 1998.
[TCM98]
Scott Thibault, Charles Consel, and Gilles Muller. Safe and efficient active network programming. In 17th IEEE Symposium on Reliable Distributed Systems, pp. 135--143, West Lafayette, Indiana, October 1998.
[Thi98]
Scott Thibault. Domain-Specific Languages: Conception, Implementation, and Application. PhD Thesis. University of Rennes 1, France. October 1998.
[TMM98]
Scott Thibault, Jérôme Marant, and Gilles Muller. Adapting distributed applications using extensible networks. In ICDCS '99, pp. 234-243, Austin, Texas, USA, June 1999.

Last modified: Tue May 23 17:37:59 MET DST 2000 - Gilles.Muller@irisa.fr