<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=Content-Type content="text/html; charset=iso-8859-1">
<META content="MSHTML 6.00.2722.900" name=GENERATOR></HEAD>
<BODY style="MARGIN-TOP: 2px; FONT: 8pt Tahoma; MARGIN-LEFT: 2px">
<DIV><FONT size=1>Morning again,</FONT></DIV>
<DIV><FONT size=1></FONT> </DIV>
<DIV><FONT size=1>Thank you very much for pointing me in the right 
direction.</FONT></DIV>
<DIV><FONT size=1></FONT> </DIV>
<DIV><FONT size=1>I just want to comment on the BRILLIANT and QUICK responses to 
all questions.  I appreciate it.</FONT></DIV>
<DIV> </DIV>
<DIV>Regards</DIV>
<DIV>Daniel</DIV>
<DIV> </DIV>
<DIV> </DIV>
<DIV> </DIV>
<DIV>Danie Schutte<BR>Phone: +27 - 11 - 203 - 1613<BR>Mobile: 
084-468-3138<BR>e-Mail: <A 
href="mailto:Daniesc@tebabank.com">Daniesc@tebabank.com</A><BR><BR>>>> 
Klacke <klacke@bluetail.com> 12/06/02 11:23AM >>><BR>On Fri, Dec 
06, 2002 at 09:31:18AM +0200, DANIESC SCHUTTE wrote:<BR>> Morning 
all,<BR>> <BR>> this morning I'm asking, a hopefully trivial question, 
about making a system more robust, and the more I see from Erlang, the more I am 
impressed.<BR>> <BR>> I have the following scenario, I have EXTERNAL 
clients, connecting to a specific IP and Port and an Erlang Server managing the 
connections and requests.  Unfortuanately the External clients are stupid 
and can NOT change the IP they connect to when that box fails.<BR>> <BR>> 
Is there a way of creating a "virtual ip address" to which external clients can 
connect, but which is handled and failed over between / among erlang nodes as 
there are multiple nodes available for processing? <BR>> <BR>> Or is the 
only solution a server cluster with hardware failover?<BR><BR><BR>This is the 
sort of software that we have written at Alteon<BR>for years now. There are no 
libraries in the erlang distro<BR>to do this. You have to write it 
yourself.<BR><BR>One way to do it is:<BR><BR>1. Decide which node should have 
the IP.<BR><BR>2. Bring up virtual interface on that machine. (This is even 
<BR>   doable on win32, I did that a couple of years ago)<BR><BR>3. 
Start to listen for incoming tcp conns.<BR><BR>4. All nodes monitor each other. 
If they see that a node<BR>   goes down, they must migrate the virt 
IPs that were previously<BR>   on that node to themselves.<BR><BR>5. 
Once they have decided which node has which IP, the surviving<BR>   
nodes bring up virt interfaces and <BR>   do gratiotous (uhhh is that 
hard to spell or what) ARP on the IPs<BR>   thereby moving the IP 
address from one dead machine to themselves.<BR><BR><BR>This was done in the 
eddie project initially and I think you can<BR>find at least some useable erlang 
code in that project that you can<BR>snitch. Search google for 
eddie.<BR><BR><BR><BR>/klacke<BR><BR><BR>-- <BR>Claes 
Wikstrom                        
-- Caps lock is nowhere and<BR>Alteon 
WebSystems                     
-- everything is under 
control          <BR><A 
href="http://www.bluetail.com/~klacke     ">http://www.bluetail.com/~klacke     </A> 
<BR>cellphone: +46 70 2097763<BR></DIV></BODY></HTML>