ObjectNameSpace

 Edit this page
Every object in Wheat has a unique name. A Wheat server forms a single, large, object name space. This name space is organized as a tree (or more precisely a directed acyclic graph). Object names are then the sequence of nodes traversed from the implicit root node. For example:
/home/sam/baybookclub
/library/std/number/random

All objects appear in the namespace, even objects that might be considered ephemeral, like objects in thread stacks. This is done by anchoring these ephemeral spaces within the larger namespace:
/proc/t1921/1/6/7/4/2/1

Within a Wheat server, this name space is called the local name space.

Sometimes a link is stored at a name. A link is a special object that is a name reference to another object. See LinkSemantics. Depending on the context in which a name is used, a name which names a link will usually result in using the object the link refers to, but occasionally the link itself.

Global Name Space

A Wheat server offers some or all of its object name space via one or more of the protocols it supports. For example, a Wheat server may export tree at /server/http/docroot as a URL space. If the server is reachable on the net, then the URLs for the server directly map into names for objects. In this way, the exported portions of the object name space of Wheat servers form a single, giant, global name space.

Viewpoint & Horizon

The global name space varies somewhat from the point of view of each Wheat server. First, the Wheat server generally has many more objects available in its own name space than it exports. Hence, these objects are in a Wheat server's own name space, but not any others. Second, depending on network topology, the collection of other Wheat servers visible to a Wheat server will be different from one server to another. Since the name space depends on DNS, and DNS names can resolve differently depending on where the resolution is done (for example, behind a firewall vs. outside of it), then the same object space names may resolve to different objects for different Wheat servers.

We call the view of the global name space that a Wheat server has its viewpoint. We call the scope of servers that a server can see its horizon.

Media Mount Points

There is a relation between locations in the local name space and ObjectMedia. At various points in the local name space, an object medium can be mounted. This causes all objects at and deeper in the mount point in the local name space to be stored in that object medium. Of course, if there is yet another mount point deeper in the tree, then those objects will be stored in yet another object medium.


See:
There is no comment on this page. [Display comments/form]