Warrant

A right to use a service, represented as XML.

Another way to think of a warrant is that it is evidence of a contract. If a contract has been arranged (on- or off-line) then a warrant will result so that the service can be used and the contract fulfilled.

When a client netlet wants to use a service it presents its warrant to the node which then finds and binds the server netlet. Of course, for a node to use a warrant to find the right netlet the warrant needs to contain either a descriptor or a URL reference of where to find that descriptor--Figure [*]. So to make use of a service, a netlet needs only a warrant. This contains everything a node needs to find and bind a service, however indirectly.

Figure: A warrant is a right to use a service. Among other things it must contain a descriptor for the relevant netlet, or a reference to one.
\resizebox*{0.75\textwidth}{!}{\includegraphics{images/warrants-descriptors-general-colour.eps}}

Figure: Warrants A and B are both for use of a file storage service. But warrant A limits its holder(s) to a specific group of files, while warrant B is limited to a different group. Thus each warrant-holder has access only to their files.
\resizebox*{0.9\textwidth}{!}{\includegraphics{images/warrant-limiting-colour.eps}}

A warrant is not just a general right to use a service--it is very likely to be limited for the terms of the particular contract for which it was issued. Two netlets may have warrants to use a service, but one may be time-limited, and another may be resource limited. That's up to whoever arranged the contract. In Figure [*] different warrants for the same service allow their holders access only to their area of that service.

The contents of a warrant is signed to prevent tampering.

Nik Silver 2001-11-21