Difference between revisions of "Identity"
m (must not rely on *dynamic* communications) |
m (→Passport) |
||
Line 5: | Line 5: | ||
=Passport= | =Passport= | ||
− | GUID's are not required for local identification or reference, it's only nodal information which needs to be communicated or stored externally that requires a GUID. The cycle of propagation for changes of a GUID depends on the | + | GUID's are not required for local identification or reference, it's only nodal information which needs to be communicated or stored externally that requires a GUID. The cycle of propagation for changes of a GUID depends on the contexts which maintain it, because all contexts must supply the bandwidth costs of the changes they make. |
=GUID creation= | =GUID creation= |
Revision as of 22:56, 22 December 2006
The nodes composing the network each have a unique identifer sometimes called a GUID (globally unique identifier) or UUID (universally unique identifier). Since the physical nodes are all separated and often have transient availability, the method of ensuring the uniquness of a newly created nodes identifier must not rely on dynamic communications between physical-nodes.
Identity is the name of the nodal organisation which handles the creation, allocation and statistics of all the GUID's in the entire nodal network.
Contents
Passport
GUID's are not required for local identification or reference, it's only nodal information which needs to be communicated or stored externally that requires a GUID. The cycle of propagation for changes of a GUID depends on the contexts which maintain it, because all contexts must supply the bandwidth costs of the changes they make.
GUID creation
All GUID's no matter how they're made are all distinct binary sequences, the difference between GUID methodologies comes down to how a given node in the network gets issued with its unique bit sequence - ie how a given value gets its corresponding key. Most P2P networks are built upon a distributed hash table where node identifiers are a hash of their content. This is an excellent solution for file-based networks because files are distinguished from each other by their content.
In object-oriented environments, identifers cannot be a function of content because an objects' reference should remain constant even though its state may be very dynamic. In this kind of environment, unique identifers are usually created from a combination of host information, local time and a random number (this could then be hashed so the identifers are of the same form as the content-hashes).
Why not the usual way?
Usually content is referred to by content-hashes, and dynamic objects by a hash of a unique string composed of randomness, local environment and time.
The entire possible hash-space is given a geometry and then divided amongst the peers in a deterministic way (meaning they don't need to communicate with one another to be able to determine whether a hash-key is within their domain). The geometry allows shortest-path routes from one peer to another to be calculated.
The nodal GUID factory
The nodal model does not use hashes, randomness or localtime as these are not based on fundamental principles and they do not scale perfectly, so they are not in accord with the foundation philosophies of the project. In an organised network, there is another solution to this unique-identifer problem. The problem was that nodes could not communicate together to reserve names in real-time due to node transiency and separation. But in an organised network, names can be treated like any other resource and be booked, reserved, merged and managed with the same processes that schedule and storage already use.
Identifiers are all binary sequences, they are created in response to demand as local id-stock falls too low. Ranges of unused id's are passed down the physical axis (explained below) on request because they are a network resource. The size of a requested id-range is based on the expected demand between the time of request and the next id meeting. The size of id-ranges is always a power of two such that all id's in the range differ only in the least-significant-bits.
- A node does not need an identifier until it forms a relationship with a node outside the local peer-node. At runtime, direct memory references are used, universal identifiers are only needed for inter-peer communications. Later id-expiry and re-use will be implemented to reduce the growth rate of id-size.
- The distributed application handling the GUID's (global unique identifers) does not need to be very dynamic since the size of the ranges being booked can increase to account for the period involved. Since dynamic bandwidth is more expensive in terms of energy, a slower cycle is perferred so it is set to 24 hourly.
Methods
The Identity organisation is the most commonly used organisation of all. It performs the following functions which are specific instances of the functions defined by resource. See generic organisation for more details.
- Range booking requests
- Statistics and information maintenance and requests
- Booking process
- Stock and budgetting
- Storage and distribution of information and GUID stock