World: r3wp
[All] except covered in other channels
older newer | first last |
Gabriele 7-Jan-2005 [359x2] | RPC means that you call a function on the other side, and you get back a result |
messaging means that you send a value to the other side, and you get (possibly) a value in return | |
Pekr 7-Jan-2005 [361] | or you don't, if you call it in async mode ... but maybe Maarten already implemented more than only RPC then ... |
Gabriele 7-Jan-2005 [362x2] | messaging does not imply a procedure call, even though in practice you will be doing that |
if you want to test it, do timers.r and async-protocol.r first (from async-protocol it only needs the wait-start and wait-stop functions, but you will probably need the async-protocol anyway so...) | |
Pekr 7-Jan-2005 [364] | well, I seem to understand ... |
Gabriele 7-Jan-2005 [365] | http://www.colellachiara.com/soft/Libs/timers.r |
Pekr 7-Jan-2005 [366] | hmm, what about complete package? |
Gabriele 7-Jan-2005 [367x2] | http://www.colellachiara.com/soft/Libs/async-protocol.r |
Petr: probably soon. | |
Pekr 7-Jan-2005 [369] | where's chord? :-) I can see only a parser, that is surely not everything Chord related? Is Chord needed for messages.r to work? |
Gabriele 7-Jan-2005 [370x6] | and, I tend to always depend on utility.r so you might need it too (same location) |
http://www.colellachiara.com/soft/Libs/utility.r | |
chord: will be there tomorrow or so. | |
i have a prototype that can be easily translated to real code using messaging.r and the in-interval? function you see there. | |
so i just need to change the prototype code into real working code... and then test it a bit. | |
Chord needs messaging.r, not viceversa. | |
Pekr 7-Jan-2005 [376] | What will we be able to do using Chord? I heard Chord is not about P2P (sharing), but some look-up mechanism. Any examples how all that stuff could be used within some kind of interesting project/product? |
Gabriele 7-Jan-2005 [377x4] | any P2P network needs routing as its basis, doesn't it? Chord provides that by providing distributed lookup. |
that is, if Gabriele wants to send a message to Petr, he has to know where Petr is. In some P2P networks this is handled by sending a message to someone esle and route it up to Petr. | |
with Chord, you directly look up where Petr is and then send a message to him directly. | |
I guess this is the easiest explanation I can give of it :-) | |
Pekr 7-Jan-2005 [381x2] | Hmm, interesting. Could be used for look-up of Rebservices later :-) |
I just wanted to have better idea of how all that stuff compares ... protocols | |
Gabriele 7-Jan-2005 [383] | exactly. it is very good for implementing DHTs (Distributed Hash Tables) |
Pekr 7-Jan-2005 [384] | (schemes), Rugby, Rebservices, Uniserve .... |
Gabriele 7-Jan-2005 [385] | messaging.r is what I need until RS are out :) |
Pekr 7-Jan-2005 [386] | I can see Uniserve a multiplexing engine, multiprotocol ... while Rebservices could be sent via e.g. IRC procol, whatever - it will probably be independent (to some extent) of transport mechanism? |
Gabriele 7-Jan-2005 [387] | AFAIK it will. |
Pekr 7-Jan-2005 [388] | hmm, and if RS will not provide any such advanced look-up mechanism? (as I expect it to not) |
Gabriele 7-Jan-2005 [389x3] | mine is not, because that is too much effort. (but it is partially) |
Chord can be implemented over RS instead of over messaging.r | |
Chord could be just implemented over UDP too etc., or over Rugby and so on | |
Pekr 7-Jan-2005 [392] | From what I read so far, it seems to me RS are similar to WS, - exposed functionality, and you don't do any look-up, you have to know where is catalog providing you with description of service and its location ... |
Gabriele 7-Jan-2005 [393] | Indeed, that's why I think we need a DHT instead of a catalog service for RS |
Pekr 7-Jan-2005 [394] | ah, ok, so Chord is independent of messaging.r, messaging.r being just temporal solution till RS appear ... |
Gabriele 7-Jan-2005 [395x2] | a catalog service is a single point of failure. |
exactly... | |
Pekr 7-Jan-2005 [397] | maybe we could use both of worlds? But then - I can see it with most P2P networks - once someone decides to shut-down central site, whole system collapses ... |
Gabriele 7-Jan-2005 [398x2] | Chord in itself is an algorithm, we call it a protocol because it involves more nodes talking to each other |
real P2P (i.e. fully distributed) has *NO* central site | |
Pekr 7-Jan-2005 [400] | how large is Chord in kbs? And - is that good protocol to be added into rebol for e.g.? How does it compare to gnutella2 or others? |
Gabriele 7-Jan-2005 [401x3] | of course you need bootstrap nodes, bu that's it. |
my prototype of Chord (very basic, but should be a good start) is 105 lines of rebol including header. | |
gnutella and similar are *VERY* primitive and slow compared to Chord. Chord can handle billions of nodes with good performance. I don't thing gnutella can. | |
Pekr 7-Jan-2005 [404] | ok, now another question. Let's say that currently you know, that there is http://www.rebol.com/RSs/calc-time.r, so you know direct path ... how much penalty will there be with Chord, if you do something like send-message [calk-time-:-at-rebol-com], simply if it will start to look up? |
Gabriele 7-Jan-2005 [405x2] | It is more advanced than Skype, for example. Skype is stile a hierarchycal network. |
the time required for a look up depends on the number of nodes. | |
Pekr 7-Jan-2005 [407] | hmm, then we could agree on Chord as de-facto-standard for rebol? Does its licence allows its icnlusion by RT for e.g.? I mean - it is better to agree upon some decent standard which everyhone will use instead of having none, when noone will use nothing :-) |
Gabriele 7-Jan-2005 [408] | My implementation will be BSD |
older newer | first last |