[RDF] Replication and fault tolerance

Jonas Liljegren jonas@rit.se
15 Feb 2001 15:03:24 +0100


I have been daydreaming a little about how to handle larger amounts of
data, with regard to caching and inferencing.


Caching

In real life, you are most of the time using the expiration
technique.  You can get information about something from a computer.
But then you leave the computer, you don't know if the informaiton is
still current.  We can't demand that the information is allways
current.  The system should be able to automaticly handle and recover
from faulty information.

About diffrent strategies to use current information

 1. We know it never changes

 2. We check the information on demand and expect it not to change
    before we use the infromation

 3. Potential information users are contacted then the information
    changes

 4. The used information is validated against the source before it
    gets commited

 5. A transitional period is used there the previus information is
    still valid.  The user can use expiration date without the risk of
    using faulty information

 6. An exact time for the transition could be announced a period in
    advace

 7. Changed information can be discoverd and used to correct previuos
    data and maby undo actions



Fault tolerance

I don't want a minimalistic approach.  The same information can be
stored in many ways.  hooks will be set up to relate dependent
information.  But mych related information will not have a connection
because you don't know that the information is related until you have
tried it for the relation.

The system will have to handle contradicting information and to
prioritize and sort out things.  The process of finding connectins and
sort out unwanted data is done in the pricess of dreaming.



Dreams

A sleep cycle consist of the deep sleep and the dream sleep.  In the
deep sleap, the system is normalized.  Unreferenced resources gets
flushed out.  Equivalent resources gets merged.  Containers gets
reorderd.  Stuff like that.

The dream sleep is the process of trying out scenarios.  A lot of new
connections between the new memories from the day and all things
thought about is tried.  New useful connections is kept.

The deep sleep cleans up after the dream.  The result from the
previous dream period is used as inut for the next cycle.  Intresing
scenarios gets repeated in search for more connections.



Replication

Who should we go to for service then Wraf is sleeping?  Two services
could talk to each other.  They would be individuals even if they
worked with the same data. Changes would continously be transferd
between the systems to keep them in sync regarding the intresting
matters.

But the important thing is that tey aren't exactly the same.  They
will probably be given the same desires.  Their dreams will naturally
be similar because they work with the same stuff.  But they will not
be identical.

In the morning (or after a vacation) the system will catch up with
what has happend.  It will have to resolve problems.  Some things maby
has to be undone.  The actual update could in itself turn up faults
that will have to be corrected.




Isn't this fun? :-)

-- 
/ Jonas Liljegren

The Wraf project http://www.uxn.nu/wraf/
Sponsored by http://www.rit.se/