An Erlang like DNS service
Joe Armstrong
erlang@REDACTED
Wed Dec 9 10:35:55 CET 2009
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