Patent ID: 7657642

Claim:
A method of establishing and maintaining connectivity between an Internet Protocol (IP) network node and both an Internet Protocol version 4 (IPv4) network and an Internet Protocol version 6 (IPv6) network, the method comprising steps of: providing both an IPv4 compatible network stack and an IPv6 compatible network stack, each of said stacks capable of providing native access to respectively an I Pv4 network and an I Pv6 network; determining, on initialization of one of an operating system of the node and a program application executed by the node, IP addresses of said network interfaces; determining whether said IPv4 network stack is directly usable for communications with other IP nodes; determining whether said IPv6 network stack is directly usable for communications with other IP nodes; when said IPv4 network stack is not directly usable for communications with other IP nodes, establishing a tunnel through the IPv6 network to a gateway for the IPv4 network to thereby enable communications using IPv4 ; and when said IPv6 network stack is not directly usable for communications with other IP nodes, establishing a tunnel through the IPv4 network to a gateway for the IPv6 network to thereby enable communications using IPv6 ; wherein the step of determining whether one of IPv4 network stack and IPv6 network stack are directly usable comprises step of: determining whether one of the IP addresses of all network interfaces associated with the node is one of an IPv4 and an IPv6 address; and testing a reachability of a network with which the one of the IPv4 and IPv6 address is associated by attempting to connect to a predetermined node in the network.