Host identity takeover using virtual internet protocol (IP) addressing

In a telecommunications system containing more than one host computer and multiple real connections to the telecommunications network, an apparatus, method and system for allowing transmission to the dynamic reassignment of sessions from a failing host to an alternate or backup host computer without requiring changes to the devices or addresses of devices connecting to the host.

BACKGROUND OF THE INVENTION 
TCP/IP (Transmission Control Protocol/Internet Protocol) is the transport 
mechanism underlying the Internet. It is also the underlying protocol for 
many intranets and business applications in existence today. TCP/IP was 
started as an educational and scientific network. It was not designed to 
handle high-volume traffic with the requirement of availability 7 days per 
week, 24 hours per day. TCP/IP was designed primarily as a fast transport 
mechanism. Because of this design point, there were few backup or 
redundancy measures incorporated into TCP/IP. 
Through the growth of the Internet, which includes the world wide web, 
requirements have arisen for higher availability and greater reliability 
for host TCP/IP networks. This has become especially true where the TCP/IP 
host controls business applications or transactions. The design of TCP/IP 
is such that each physical network interface adapter has associated with 
it an address. This address is unique within the entire network and is the 
method by which all other devices communicate with the adapter or the 
devices connected through the adapter. If a given TCP/IP host having a 
particular adapter address should fail, the users communicating with the 
host cannot dynamically switch to using a host that contains redundant 
information since they must address the system using the interface adapter 
address. The user must change the reference to use the new or alternate 
host which is a manual process. 
The methods available in the current art to rectify this problem are: (1) 
to have the network operators notify each of the end users of the IP 
address of the alternate adapter on the alternate host and the end users 
could request reconnection with the new IP address; (2) if the customers 
were using the Domain Name Server (DNS), the administrator could change 
the name-to-address mapping on the DNS, but these are normally over night 
administrative batch processes and many clients either do not use DNS or 
do not update cached name-to-address mappings frequently; or, (3) the user 
could install a new real physical network interface adapter card on the 
alternate host and configure it with the IP address of the failed adapter 
on the initial host, but the cost and time involved with this alternative 
makes it prohibitive for all except the most catastrophic of host 
failures. 
SUMMARY OF THE INVENTION 
The present invention involves a method and a system for allowing the 
network administrator to establish TCP connections using a Virtual 
Internet Protocol Address, which is not associated with a physical 
adapter, such that if the host associated with the virtual IP address 
fails or is brought down, the operator of a backup host can dynamically 
configure that same virtual IP address to reside on the backup host.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT 
The preferred embodiment of the present invention is implemented in, but 
not limited to, an IBM MVS host running the TCP/IP protocol. It allows for 
an IP address that selects a TCP/IP stack (and an MVS image if there is 
only one stack on the MVS image) without selecting a specific network 
device or attachment. Other hosts that connect to MVS TCP/IP applications 
can send data to the MVS virtual IP address via whatever paths are 
selected by the routing protocols. Should the host upon which the virtual 
IP address reside fail, then the virtual IP address can be configured by a 
systems administrator to reside on a backup host. The dynamic routing 
protocols currently implemented in TCP/IP will then propagate the route to 
this virtual IP address to all of the routers in the network. The 
applications using this virtual IP address will then continue to process 
using the backup host. 
FIG. 1 is a representative example of a network prior to a host identity 
takeover. Host MVS.sub.-- 1 (101) contains a virtual IP address (VIPA) 
called VIPA.sub.-- A (105), along with one or more real physical links to 
a network. The network in the present example connects to a router, 
ROUTER.sub.-- R (107). Host MVS.sub.-- 2 (103) does not contain VIPA 
address VIPA.sub.-- A, although it may contain other VIPA addresses. A 
given virtual IP address, such as VIPA.sub.-- A, must be unique in a 
network at any given time. In the present example, MVS.sub.-- 2 has one or 
more real physical network interfaces to a network that directly connects 
to the router, ROUTER.sub.-- R (107). In general, MVS.sub.-- 2 need not 
connect directly to the same router to which MVS.sub.-- 1 connects, it can 
connect to any router in the network. ROUTER.sub.-- R (107) connects to an 
arbitrary IP network (109) to which the clients, such as Client.sub.-- C 
(111), also connect. 
FIG. 2 depicts the process for host identity takeover when the host 
MVS.sub.-- S (101) is taken down or fails (201). When the operator of an 
alternate host, in this case MVS.sub.-- 2 (103), learns that the original 
host, MVS.sub.-- 1 (101) has stopped working or has been taken out of 
service, he dynamically configures the VIPA address (VIPA.sub.-- A) which 
previously resided on host MVS.sub.-- 1 to now reside on MVS.sub.-- 2. In 
the MVS TCP/IP of the preferred embodiment this is done by executing an 
OBEYFILE (202) that includes HOME, BSDROUTING MS, DEVICE and LINK 
statements for VIPA.sub.-- A. To learn more about these parameters, refer 
to the IBM TCP/IP 3.1 for MVS Customization and Administration Guide, IBM 
order number SC31-7134-02. A dynamic route update protocol, such as RIP 
(the Routing Information Protocol) then advertises routes to VIPA.sub.-- A 
(203) to all routers directly connected to MVS.sub.-- 2. These routers 
update their routing tables with the new routes and, if appropriate, 
further advertise (204) the new routes to the desired virtual IP address 
(VIPA.sub.-- A) to adjacent routers. After the new routes to VIPA.sub.-- A 
have been propagated throughout the network, the clients in the network, 
such as Client.sub.-- C (111), re-establish their TCP connections to 
VIPA.sub.-- A (205). The routers will then route all of the traffic for 
the address VIPA.sub.-- A to the host MVS.sub.-- 2. 
FIG. 3 depicts the network of FIG. 1 after MVS.sub.-- 1 (101) has failed or 
been taken out of service and MVS.sub.-- 2 (103) has taken over the 
identity of MVS.sub.-- 1 (101) by the process illustrated in FIG. 2. 
VIPA.sub.-- A now resides in MVS.sub.-- 2 (103) and MVS.sub.-- 1 (101) is 
effectively removed from the TCP/IP network. Client.sub.-- C (111) has 
re-established its TCP/IP connection with VIPA.sub.-- A (105) which now 
resides on MVS.sub.-- 2 (103). 
FIG. 4 is a logical flow of the procedure for restoring the identity of the 
original host in the preferred embodiment. In the figures of the present 
invention, this is the restoration of the identity of host MVS.sub.-- 1 
when it is returned to service in the TCP/IP network. When MVS.sub.-- 1 
becomes available (401), the operator of MVS.sub.-- 2 notifies the clients 
which have TCP/IP connections to VIPA.sub.-- A that those connections will 
need to be reestablished (403). Then the operator of MVS.sub.-- 2 removes 
VIPA.sub.-- A from the configuration file of MVS.sub.-- 2 (405). In the 
preferred embodiment, this is done by executing an OBEYFILE that omits 
VIPA.sub.-- A from the HOME list and the BSDROUTINGMS. VIPA.sub.-- A's 
virtual interface and its associated routes are deleted (407), which stops 
the propagation of information indicating that VIPA.sub.-- A resides on 
MVS.sub.-- 2. MVS.sub.-- 1's operator then restarts TCP/IP on MVS.sub.-- 1 
and configures VIPA.sub.-- A to reside on MVS.sub.-- 1 (409). Once this is 
accomplished, a dynamic routing protocol (RIP in the preferred embodiment) 
advertises the routes to VIPA.sub.-- A residing on MVS.sub.-- 1 to its 
adjacent routers (ROUTER.sub.-- R in FIG. 1) (411). The adjacent routers 
to MVS.sub.-- 1 update their routing tables for VIPA.sub.-- A (413) and 
propagate the new route to VIPA.sub.-- A to adjacent routers as necessary 
(415). Finally, clients re-establish TCP connections to VIPA.sub.-- A on 
MVS.sub.-- 1 (417). At this point the network has been restored to the 
condition that it was in prior to the failure of MVS.sub.-- 1. 
The present invention allow for one host to provide a responsive backup to 
the TCP/IP communications network without having to modify the 
applications using the host. The ability to reroute network traffic for 
applications from one host to another host without any changes to the 
applications themselves provides significant savings in hardware, software 
and time.