Hello, I read the thesis about rsync and I would like to know if we can do something different with rsync. Imagine that I have one server that contains a set of data. This server is not very strong compare to the number of client that want to sync there data with the server. If we say that there s 1000 clients, each client, when sync, will send a list of keys to the server and the server must verify key for each byte block (I know that the first key is cheap but not enough). Is it possible to reverse the system to give the cpu computation to the client. For example doing that: the server sends keys to the client, the client make the test for each byte and after depending of the result, ask the server for the new block. In this way, the server doesn't require lot of computation (just send key, that can be preca?) and it s the 1000 client that do each one the process of finding matching block. The question is, is it possible to do that with the actual rsync command? Of course the client can't be server because they are not accessible, it s the client that have to connect to the server. Thank you for your help. Vianney Lecroart --- lead network programmer / nevrax.com icq#: 6870415 homepage: http://ace.planet-d.net www.geekcode.com: GCS/E d- s+++: a-- C+++$ UL++ P- L+++>+$ E+>- W++ N+ o? K- w++$ O- M- V- PS- PE? Y PGP t 5? X+ R- tv++ b- DI D+ G e++ h+ r-- y?
Gut level feeling here, I'm no rsync expert - but since Rsync is invoked often through a transparent shell, would it not be possible to create a script that uses the same shell to invoke a command on the server that "pushes" the files onto the client? a problem when the clients do not have static ip addresses. I also see this is not what you would want if you were running the server as a daemon that serves multipe connections with less resources. I'm surprised it wasn't architected the way you want from the start, the server could also cache the byte block checksums for files that don't change too. At 10:57 AM 9/12/2002 +0200, you wrote:>Hello, > >I read the thesis about rsync and I would like to know if we can do >something different with rsync. > >Imagine that I have one server that contains a set of data. This server >is not very strong compare to the number of client that want to sync >there data with the server. If we say that there s 1000 clients, each >client, when sync, will send a list of keys to the server and the server >must verify key for each byte block (I know that the first key is cheap >but not enough). >Is it possible to reverse the system to give the cpu computation to the >client. For example doing that: the server sends keys to the client, the >client make the test for each byte and after depending of the result, >ask the server for the new block. In this way, the server doesn't >require lot of computation (just send key, that can be preca?) and it s >the 1000 client that do each one the process of finding matching block. > >The question is, is it possible to do that with the actual rsync >command? Of course the client can't be server because they are not >accessible, it s the client that have to connect to the server. > >Thank you for your help. > >Vianney Lecroart >--- >lead network programmer / nevrax.com >icq#: 6870415 >homepage: http://ace.planet-d.net >www.geekcode.com: GCS/E d- s+++: a-- C+++$ UL++ P- L+++>+$ E+>- W++ N+ >o? K- >w++$ O- M- V- PS- PE? Y PGP t 5? X+ R- tv++ b- DI D+ G e++ h+ r-- y? > > > >-- >To unsubscribe or change options: >http://lists.samba.org/mailman/listinfo/rsync >Before posting, read: http://www.tuxedo.org/~esr/faqs/smart-questions.html
On Thu, Sep 12, 2002 at 10:57:26AM +0200, Vianney Lecroart wrote:> Hello, > > I read the thesis about rsync and I would like to know if we can do > something different with rsync. > > Imagine that I have one server that contains a set of data. This server > is not very strong compare to the number of client that want to sync > there data with the server. If we say that there s 1000 clients, each > client, when sync, will send a list of keys to the server and the server > must verify key for each byte block (I know that the first key is cheap > but not enough). > Is it possible to reverse the system to give the cpu computation to the > client. For example doing that: the server sends keys to the client, the > client make the test for each byte and after depending of the result, > ask the server for the new block. In this way, the server doesn't > require lot of computation (just send key, that can be preca?) and it s > the 1000 client that do each one the process of finding matching block. > > The question is, is it possible to do that with the actual rsync > command? Of course the client can't be server because they are not > accessible, it s the client that have to connect to the server.It is better to talk about sender and receiver because because client and server doesn't specify the direction of the transfer. You want to distribute files from one sender to a lot of clients. If all your clients are already in sync you may give the --readbatch/ --writebatch options a try. If your network connection is fast it may be better not to use checksums. cu, Stefan -- Stefan Nehlsen | ParlaNet Administration | sn@parlanet.de | +49 431 988-1260