Very interesting problem.  Someone please shoot me down if I'm talking 
rubbish but this is how I'd do it.

I think it is safe to rule out db replication as it's too slow and not 
real-time enough.  Sockets will provide an instant point to point link but 
to have one machine send a packet to all other machines would be tricky and 
if one of the machines is down then you could get into a lenghty time-out 
process.  There is also problems with a station not doing the correct thing 
and the database somehow getting out of sync.

I think the soltion is to stick with 1 copy of the database on a central 
server.  You then need to have a server process that will receive, forward 
and process messages from each workstation. The messages would be add data, 
modify data, get data etc.

The add/change/delete type messages would also be sent to a redundant server 
which would duplicate the same actions form the workstations.  If each 
server starts with the exact same database, the end result should be the 
same, but to be 100% sure, you need so serialization mechanism.  Each unique 
message would need a serial number allocated by the server process.  You can 
then check on the server for messages in sequence and missing messages.  For 
example, if message 1 is add data from workstation 1 and message 2 is get 
data from workstation 2 then you know you must process message 1 before 
message 2 as it might be the same data.

Now, WHEN (not if) the 1st server crashes, your workstations should be able 
to automatically swap to the next server.

Using this mechanism you can have as many servers as you like.

The only question is how you deliver these message and the only 100% 
gaurenteed method I know of is to use a Message Queue server (IBM or MS).




______________________________________________________
Get Your Private, Free Email at http://www.hotmail.com

---------------------------------------------------------------------------
    New Zealand Delphi Users group - Delphi List - [EMAIL PROTECTED]
                  Website: http://www.delphi.org.nz

Reply via email to