The Object Storage System generalizes the concept of storage without
constraining the files/objects into any particular hierarchy or ontology. How?
By using a multi-dimensional hash.
Since there is no tree, we'll use a hash function (Kademlia?) to get O(1)
performance to get a file. If the storage system is large enough we can plop
the files anywhere within the large address space of most harddisks without a
hash collision.
Q: These abstractions eventually must address concrete limitations, like file
space. How to traverse the "files" for maintenance?
Debate: Are hashes better for holding data, given large storage volumes and
efficiency of a reconfigurable OOOS? The efficiency of the OOOS gets rid of
directories, as such no more movement of files, so no need to make a level of
indirection -- you can use absolute address blocks based on a hash of the
object. Or a sub-object can handle the storage of data. Your ontology is your
directory. If a tree is used, block size can go downwards -- just like the
branches of a tree, until you get to the leaves -- the actual data.
A hash on each object name.
Something like the NEXT SECTION.
If we were storing naked data, we could use something like: LEFT$(name, 4) +
XXXPOS$(name, LEN(name),XXX two more characters or so + RIGHT$(name, 1). But
we can hand this problem off to another object that stores the data, perhaps
in an encrypted form, perhaps on a linear device, perhaps on a random-access
device.
Hash domains for different sizes of object/files, since we know the size we
can use that data to gain extra powers. These domains allow contiguous storage
of objects without collisions for large files/objects.
Objects might store, as metadata, their Harddrive address.
Consider, all storage space as one, then what coordinate system could you use
as a hash. That is, consider a hash using three or four variables which have
been squeaked out of the object universe. What are these variables?
With this, one should be able to locate any object, possibly... This would
pave the way for a [structured query langauge], if desired (but why? AIs
roving outside the OS).
Wiki: DesignGoals and ImplementationBreakouts
Wiki: Home
Wiki: ideals