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

World: r3wp

[All] except covered in other channels

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.
Pekr
7-Jan-2005
[422x2]
but that is a lit bittle different principle. Current AltME is still 
example of client-server type app, isn't it?
hmm, I start to like that P2P based messaging :-)
Gabriele
7-Jan-2005
[424]
exactly.
Sunanda
7-Jan-2005
[425]
Gabriele: How could I uarantee to connect to a node that is online 
right now?
Pekr
7-Jan-2005
[426]
hmm, what about products like IOS, where you e.g. want too to have 
some P2P messaging, but you also want to have in control, what server, 
client, talks to what side, etc.
Gabriele
7-Jan-2005
[427]
yes - imagine people with just dial-up connectivity being able to 
start worlds and so on.
Sunanda
7-Jan-2005
[428]
uarantee = guarantee
Gabriele
7-Jan-2005
[429]
control is achieved via authorization. I have in my mind a distributed 
authorization system - no wonders, just applying known things the 
right way :)
Pekr
7-Jan-2005
[430]
I mean - I want to have closed (as IOS) network of users ... some 
other user starts chord and tries to send message ... I hope chord 
is just about look-up, so I still be able to implement authentication 
and other dialect based protocols/services in upper layers?
Gabriele
7-Jan-2005
[431x2]
Sunanda: i'm not sure I understand your question.
petr: exactly, you will have an upper layer for that
Sunanda
7-Jan-2005
[433]
Okay - I'm a node of an application.
How do you know where I am?
(I have a dynamic IP address)
Gabriele
7-Jan-2005
[434x4]
petr: you might set it up to ignore nodes that are not authorized.
sunanda: you will have a key, that is a value inside a ring. your 
key (which could be the result of checksum/secure applied on your 
url, such as udp://my-ip:my-port, for example) is your location in 
the network.
if i know your key, i can find you.
if you key is the result of checksum/secure "Sunanda" i can easily 
get your key, and then find you.
Sunanda
7-Jan-2005
[438]
Gotcha, thanks -- I need a static URL....So basically it's a http-mediated 
communication?
Gabriele
7-Jan-2005
[439x3]
(this can't be done actually because it gives nodes the freedom to 
choose their key, which we don't want to do)
the URL is just an example. you just need a way to generate a key 
from who you are (could even be your public RSA key)
so that any other node can generate the same key when they look for 
you.
Pekr
7-Jan-2005
[442]
can Chord loook-up be tunneled across other protocols? :-) (although 
I am not sure if the question does make sense :-)
Gabriele
7-Jan-2005
[443x2]
what happens in practice is that node keys are handled internally 
(even assigned randomly) and then you implement a DHT over Chord 
to allow for "user friendly" look up
so i look up "Sunanda" in the DHT and get the node key (or the node 
ip address or whatever) as a result.
Sunanda
7-Jan-2005
[445]
I'm still confused then.

Suppose you create a new Altme -type world. I join it. We're both 
on dial-up. We both log off for the night.

I go to an Internet cafe (ie a different machine) and want to logon 
to the Altmt-type world as me.
How do I find you? How do you know its me?
Gabriele
7-Jan-2005
[446]
Petr: if you worry about filrewalls and NAT - that can be solved.
Pekr
7-Jan-2005
[447]
exactly ...
Gabriele
7-Jan-2005
[448x5]
i know it's you by your authorization. this could be your RSA signature.
petr: i'm going to implement nat traversal after Chord, using relays 
when needed (relay nodes get lookep up via Chord)
that's why messaging.r supports HTTP too, so that you can use it 
to bypass firewalls etc.
Sunanda: to explain correctly how it can be made to work requires 
quite a lot of writing :)
Sunanda: I can provide you the relevant papers about all this stuff.
Pekr
7-Jan-2005
[453]
well, it still does not solve transport ... Let's suppose you have 
kind of IOS, you want to connect between various servers, to various 
networks, as IRC, Jabber, etc., so you could use Chord to find something, 
but then you still need those protocols etc.