|
DROS NamespacesMaintained by: David Austin |
| 1.0 Introduction |
To remove the fixed ports requirement, it is necessary for servers to advertise their locations (ports) to potential clients somewhere. In DROS servers advertise through the NameServer. The NameServer maintains a list of server names and their locations. Clients can query the NameServer to find the server they need.
The list of names stored in the NameServer is called a namespace. This document describes some of the details surrounding the namespace. The proper design and management of the namespace is fundamental to the ability of DROS to permit multiple instances of the system to run, both on a single CPU (e.g. for simulation) and on multiple CPUs (e.g. multiple robots).
| 2.0 Global Namespace |
A similar argument can be made for configuration spaces. To allow multiple instances of DROS to run on the same CPU, the configuration used for each instance is also part of the server name. In the first instace, it is expected that the configuration space names will simply be user names. But there should be no implementation restriction requiring this.
The namespace entries have three primary attributes used for searches: the name of the server (must match), the name of the configuration and the name of the robot. The configuration name allows multiple instances of DROS to co-exist peacefully (and even share some parts), while the robot name allows for multi-robot experiments.
| 3.0 Namespace Searches |
Suppose we are searching for the server Server, while running in the configuration Config, on the robot called Robot. The search order is as follows:
Thus, a user's configuration can override (replace) any server and a server on the same robot takes precedence over a similar server elsewhere.
| Copyright 2002 David Austin |