NAME
serviced, lservices, rmservice, killservice
  -- services server and utility scripts

DESCRIPTION

The services server solves the following problem: in order for a client process to connect to a server process, the client process must first find out the network address and port number of the server process. The services server is a dynamic repository of that information and is intended as an alternative to hardcoding that information in the client process.

The services server allows TCP/IP services to advertise a network address and port number by name, and it allows client processes to retrieve the network address and port number of any previously advertised service. The Sun Yellow Pages and the /etc/services Unix convention are other solutions to the same problem.

The services server is implemented using Tcl/Tk (an embeddable scripting language) with Tcl-DP (Tool Command Language Distributed Programming). Clients of the services server must follow Tcl-DP remote procedure call protocols to communicate with the services server.

The services server opens a TCP/IP socket at a well known network address and port number and waits for clients to connect. Clients can find this well known network address and port number encoded in the "/etc/dpcap" file, which should exist on each machine that runs Berkeley Plateau distributed continuous media software. After clients connect to the services server, they can use remote procedure calls to query and to advertise on the services server. (See services(l) and Tcl-DP man pages.)

SERVICES SERVER DAEMON

serviced
    The serviced script starts a daemon process that is the services server. It must be executed on the machine with the well known network address described above and should be running at all times.

SERVICES SERVER CLIENTS

The following utility scripts are useful for maintaining and querying the services server from Unix.

lservices
    This script lists the names of all services that are currently advertised with the services server.

rmservice service
    This script unadvertises an advertised service of the given name, service, that is currently advertised in the services server.

killservice service
    This script queries the services server for an advertised service of the given name, service, becomes a client of that advertised service, and commands that advertised service (through Tcl-DP remote procedure call) to exit. Obviously, the advertised service must follow Tcl-DP remote procedure call protocols.

SEE ALSO
Tcl-DP, TCP/IP, services(l), accept, connect, listen, /etc/services,

AUTHORS
Steve Yen (syen@cs.berkeley.edu) Craig Federighi (craigf@cs.berkeley.edu)