Re: Distributed OODBMS



Chris Uppal wrote:
That's a /nasty/ set of requirements !
Nobody said life would be easy :-)

Just a thought, but could you use some sort of broadcast protocol ? I'm
imagining a scenario where every client has a more-or-less complete copy of the
database. When a client wants to ensure that it is working with the most
up-to-date version of <some data> or when it finds that it doesn't have the
data at all, then it sends a request to the server. The server /broadcasts/
its response, and all the clients listen for those broadcasts. When they see a
new version of <some data> on the wire they update their own copy whether they
need it (at that minute) or not. If something goes wrong so that they don't
get a complete copy from the broadcast, then they just don't update their local
copy (except, perhaps, to mark it "stale"). The server might also have some
sort of "push" broadcast of changes as they are made (or as a background task
to consume idle bandwidth), so that clients don't often have to check back with
the server to see whether their cached copy of <some data> is still current.
I didn't really think about broadcasts yet .... maybe may notion of broadcast ist too much network oriented - thus limited to one segment. However (UDP-) multicast might be a good idea. However this would require reliable working UDP Sockets, non-unicast IP Address support in Dolphin and I would have to add a kind of stream layer (basically imitating TCP) above that .... sound like a lot of work ... but I think /any/ solution I have to choose will be "a lot of work".

I recently came up with the idea of combining the rsync alghorithm with ditribution over bittorrent. I have both things in place (but don't ask for code quality :-) in Smalltalk. So the idea would be that the check which part of the file(s) needs to be updated will be done like rsync whereas the real distribution takes place using bittorent (reducing the bandwidth requirements for the master). But I think that's a) pretty heavy in terms of implementation, b) not very "Smalltalkish" and c) only deals with files which brings us to ...

How you layer that over, or under, an OODB is another problem ;-)
.... the question how to go from files to OODBs. I don't think that e.g. OmniBase would like to have it's file updated independently (if even possible of file locks are in place).

Another possibility -- if (some of) the clients are nearer in network terms to
each other than they are to the server, it /might/ be worth thinking about
P2P-style distribution of the data.
That's what I thought as well in regards to BT.

A last thought. Have you looked at the "Prevalence" concept / design-pattern ?
If not then that might give you some ideas. See www.prevayler.org for a
description, and a Java implementation (which you would ignore, of course ;-)
You'd be using -- say -- Omnibase, instead of keeping everything in RAM, but
the basic idea seems as if it might be applicable, especially the Prevalence
approach to propagating changes.
Yes. I did. As far as I understood the concept it would be enough to distribute the serialized objects once (or perodically) and then only distribute the transaction log to the clients. I might have to look into that. However this as well would be a complete rewrite from scratch. But I think based on the answers I got it will be a complete rewrite anyway regardingless which way I'll choose :-(

Thanks for your help.

CU,

Udo
.



Relevant Pages

  • RE: Users Cant Access Documents on Server
    ... Thanks for using the SBS newsgroup. ... As well as we know, if a workstation would not access network shares, then ... Leave the Default Gateway of the internal NIC blank of the server box. ... Clients That Require SMB Signing ...
    (microsoft.public.windows.server.sbs)
  • Re: Broadcast
    ... I am not seeing that in NetMon. ... > with Win2K Server. ... If "servers" aren't WINS clients they never ... >>> Do you know the filter to just display broadcast ...
    (microsoft.public.win2000.networking)
  • Re: Users Cant Access Documents on Server
    ... my computer to the network on the server. ... Connection Wizard none of the computers were listed. ... The Mac clients can not communicate with the server box. ... > Error Messages When You Open or Copy Network Files on Windows XP SP1 ...
    (microsoft.public.windows.server.sbs)
  • Re: [SLE] SMTP authentication
    ... So eventhough my local SMTP server dials up to the internet with a certain username and password, that same username and password would not be used as authentication between my local SMTP server and the ISP's one, should it be used as a relay? ... either defer all outgoing mails until you connect to the internet, then flush out all the mails in the queue. ... Your local server would use an external program like fetchmail to poll the mailserver of your ISP, download the mails and feed them to Postfix. ... The test does NOT say "All clients must be in mynetworks, ...
    (SuSE)
  • RE: VPN Clients Not Registering in AD DNS
    ... via VPN, the DNS records of the VPN clients are unable to be registered. ... Windows 2003 server? ... please let me know whether the clients get the IP ...
    (microsoft.public.windows.server.sbs)