The Domain Creator

Internally

The domain creator (DC) is the conventional source of new domains. It maintains this monopoly by virtue of holding the domain tool key. The DCC (Domain Creator Creator) produces new domain creators and two DC’s differ only in the ‘brander’ that they use. Calling DCC for a new DC endows the new DC with a new brander unlike any other.

Externally

The call to DC for a new domain takes a space bank. The domain key to the new domain is returned. The brand of the new domain is the brander of the DC. The new domain has no address space or meter. Its general registers are all 0. Its general key slots all hold DK(0). There is another order on DC which takes a start key to some domain X and asks whether the DC created X, which is to say whether the brander of DC is the brand of X. (Not even the domain key to X is powerful enough to change the brand of X.)

Domain Tool

Anyone can buy three nodes and hook them together in the form of a domain. Only the domain tool is powerful enough to retrieve the domain key to that domain. The holder of the domain tool is charged not to use a node key to any of the domain’s nodes after it has become a domain. The domain creator install’s the domain brand before calling the domain tool. The domain tool is a one-of-a-kind object in the kernel.

When the domain creator is queried about some start key, it passes the start key to the domain tool along with its brander and asks if they match. If they match the domain tool returns a node key to the root node of the domain.

Along with the provenance queries that check brands, are calls to both the domain creator and domain tool for access to the keeper of respectively the keeper of a segment, given the segment key, and keeper of a meter, given a meter key.