Check out the new USENIX Web site. next up previous
Next: Metis Framework Up: Thin-Client Programming Model Previous: Application-Specific Services

Metis Support Services

  Metis has a number of server components performing distinct functions. While these services are not fundamentally part of the Metis thin-client programming model, they are needed to support that model. For example, the model states that AFEs can bind to any service available on the network that meets its requirements. To have the capability to find all such services, a directory service is used.

Metis Directory Service: The Metis Directory Service accepts queries from the directory client and sends results back to the client. It does not manage the physical service directory. Instead, the Metis Directory Service acts as a client to an LDAP [7] directory server. LDAP is an emerging standard in distributed directory services offering reliability and scalability. Each service in the directory has a unique service location and a number of attribute/value pairs. Each service must at least have a name attribute with a non-empty value. Services can be looked up by a name and a search filter composed of a boolean expression of attribute/value pairs. The Metis Directory Service can also perform access control via LDAP with the authorization object that the directory client supplies. The Metis Directory Service allows service providers and code-server administrators to add, modify, or delete services in the directory.

The design of the Metis Directory Service simplifies ports to other directory technologies supporting both current and emerging network directory standards. It also can be easily enhanced to provide intelligence to the service selection process. As mentioned earlier, AFEs must currently know the given name of a service and important attributes as well as their correct values. For example, if an AFE wanted to access a color printer service, in the present design it would have to ask for one by name, e.g., ColPrt2. In the future, it might want to ask for a printing service that is physically close, e.g., nearby & color.

Metis Code Server: The Metis Code Service is an AFE repository. It provides central administration of client code and lends itself to be a tuner for a third-party code service that uses Marimba [8]. The Metis Code Server can perform access control using the authorization object. It can also digitally sign AFEs to identify them as part of the Metis system. Like the Metis Directory Service, the Metis Code Service is independent of the actual code distribution mechanism.

Metis Authorization Service: The Metis authorization process can either be completely self-contained, e.g., all authorization information is present on the user's smart card, or it can use a standard authorization service such as Kerberos [9]. A reference implementation for the Metis Authorization Service is being developed.

System Servers: Controllers provided by Metis act as the contact points for actual system services available on the network. In particular, a data-store service and printing service must be available on one or (preferably) more servers, and must be registered with the Metis Directory Service. These services receive requests from their associated controllers and return responses.


next up previous
Next: Metis Framework Up: Thin-Client Programming Model Previous: Application-Specific Services

A. Purakayastha
Mon May 5 15:03:42 EDT 1997