[erlang-questions] An Erlang like DNS service
Kenji Rikitake
kenji.rikitake@REDACTED
Wed Dec 9 13:05:21 CET 2009
For a global registry other than DNS, handle.net of CNRI has been
popular for numbering academic publications (DOI identifier uses a part
of handle.net namespace):
http://www.handle.net/
BTW can a pid be globally unique? (or has that large numbering space?)
Just a little thought.
Kenji Rikitake
In the message <9b08084c0912090135u4ce2db57i7a80cdad67c7cf58@REDACTED>
dated Wed, Dec 09, 2009 at 10:35:31AM +0100,
Joe Armstrong <erlang@REDACTED> writes:
> An Erlang DNS "like" facility
>
> I want something like dynamic DNS.
>
> How could be extend process registration to work outside
> the scope of a single Erlang node?
>
> (And I'm not talking distributed Erlang here).
>
> Let's suppose I have a program running on my machine
> I want my friends to be able to send messages to it.
>
> In my program all I'd like to say:
>
> dynamic_register(MyName, self())
>
> MyName would be a logical name.
>
> My friend could say:
>
> Pid = dynamic_whereis(Name)
>
> To find out where the process is.
>
> This registration should survive as long as the process is alive. I
> should be able to link to and send mesaages to Pid.
>
> Having got a Pid I just want to say Pid ! Message and I want the
> message to be delivered to the registered process.
>
> Just as in DNS I guess this necessitates some form of administration -
> we don't want wild "address squatting" etc we need some certificates
> so we can prove who we are and so on.
>
> I think such a facility would be very useful, but it raises a whole
> lot of technical questions - how would you implement this?
>
> I guess there needs to be some integration with DNS then some deep
> magic in the port mapper daemon and some ipchains magic also some
> STUN/NAT traversal stuff.
>
> I view this not so much as a "killer application" but as a "killer enabler"
> just as DNS is the killer enabler for millions of applications.
>
> /Joe
More information about the erlang-questions
mailing list