Patent ID: 9049273
Filing Date: 2015-06-02
Classification: H04L

Abstract:
1. A gateway configured to facilitate network transmission of upstream messages sourced from one or more devices connected to a home network when addressed to devices connected to one of an internal network and the Internet, the messages being sourced with a destination address and a source address, the gateway comprising: a private Internet Protocol (IPv4) interface having a private IPv4 address, the private IPv4 interface translating the source address of upstream messages forwarded therethrough to the private IPv4 address, the private IPv4 address being sufficient to forward messages directly over the internal network but not directly to the Internet such that upstream messages being forwarded to the Internet require network address translation of the corresponding source address with a network address translator (NAT), the NAT having a pool of public IPv4 addresses and being configured for translating the private IPv4 address to one of the public addresses IPv4 addresses available within the pool prior to forwarding messages to the Internet; a public IPv4 interface having a public IPv4 address, the public IPv4 interface translating the source address of upstream messages forwarded therethrough to the public IPv4 address, the public IPv4 address being sufficient to forward messages directly over the Internet such that messages being forwarded to the Internet require no further translation of the corresponding source address; a Dual Stack Lite (DS-Lite) interface configured to encapsulate and forward messages for transmission through an Internet Protocol version 6 (IPv6) tunnel to an AFTR device, the AFTR device having a pool of public IPv4 addresses and being configured for translating the source address of messages received through the IPv6 tunnel to one of the public IPv4 addresses available within the pool prior to forwarding to the Internet; a native IPv6 interface having a public IPv6 address, the native IPv6 interface translating the source address of upstream messages forwarded therethrough to the public IPv6 address, the public IPv6 address being sufficient to forward messages directly over the Internet such that messages being forwarded to the Internet require no further translation of the corresponding source address; a 6RD interface configured to encapsulate and forward messages for transmission through an IPv4 tunnel to a 6RD device, the 6RD device having a pool of public IPv6 addresses and being configured for translating the source address of upstream messages forwarded through the IPv4 tunnel to one of the public IPv6 addresses available within the pool prior to forwarding to the Internet; a controller configured with a look-up table or other association sufficient to select use of one of the private IPv4, public IPv4, DS-Lite native IPv6 and 6RD interfaces for each message as function of the destination address associated therewith; wherein the controller is configured to prioritize use of the private IPv4 interface over the public IPv4 and DS-Lite interfaces in the event the destination address corresponds with a destination on the internal network; wherein the controller is configured to arbitrate between use of the public IPv4 and DS-Lite interfaces in the event the destination address corresponds with an IPv4 destination on the Internet; wherein the controller conducts a connection test to assess whether sufficient connections are available for one or both of the public IPv4 and DS-Lite interface to forward messages, and in the event only one of the public IPv4 and DS-Lite interface is available, to select the one available one of the public IPv4 and DS-Lite interface to use in forwarding messages; and wherein the controller conducts a performance test to assess a better performing one of the public IPv4 and DS-Lite interfaces in the event sufficient connections are available for both of the public IPv4 and DS-Lite interfaces to forward messages, the controller selecting the better performing one of the public IPv4 and DS-Lite interface to use in forwarding messages.