r3wp [groups: 83 posts: 189283]
  • Home
  • Script library
  • AltME Archive
  • Mailing list
  • Articles Index
  • Site search
 

World: r3wp

[All] except covered in other channels

Gabriele
7-Jan-2005
[372x4]
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
[408x2]
My implementation will be BSD
with 1000 nodes, Chord will need, on average, about 10 steps to find 
the target node.
Pekr
7-Jan-2005
[410]
well, and if there is not enough of nodes? While I would be able 
to reach RS directly using web-address (catalog), may RS fail? Or 
will your node contain few basic service sites for e.g.?
Gabriele
7-Jan-2005
[411x3]
with 10000 nodes, it's about 13 steps.
you will need at least one bootstrap node that is always available.
usually what you do is keeping some 10 bootstrap nodes in different 
parts of the world so that you can be sure that at least one is always 
available
Pekr
7-Jan-2005
[414x3]
hmm ... will I be able to have kind of "cache" to have actually more 
than one possible on-line, so working, node? :-)
:-)
you are faster ...
Gabriele
7-Jan-2005
[417x2]
for example, if AltME was based on a DHT, to make it fail you would 
need to kill all nodes; and to make it lose data, you would need 
to kill almost all nodes.
using state of the art tecniques it is possible to retain 99,8% of 
the data in a DHT when half of the nodes fail.
Pekr
7-Jan-2005
[419]
hmm, but then each client would have to contain AltME server mode 
too, no?
Gabriele
7-Jan-2005
[420x2]
yes, basically there is no server at all. the server is the sum of 
all clients online.
this also means that you don't need a physical server machine to 
run an AltME server.