The present invention relates to the field of mobile computing, and, more particularly to a method, apparatus and system for ensuring reliable access to a roaming mobile node.
A hostname is a unique name by which a computing device may be identified on a network. Hostnames are used to simplify access to computing devices by enabling users to use unique names instead of addresses to access these devices. A hostname is typically translated into an Internet address by a Domain Name System (DNS ) server.
Use of hostnames in mobile computing environments has introduced additional considerations. As mobile computing devices (hereafter mobile nodes) become increasingly popular, various protocols have been developed to address mobile computing requirements. For example, to enable mobile node users to move from one location to another (roam) while continuing to maintain their connectivity to the same network, the Internet Engineering Task Force (IETF) has promulgated roaming standards (Mobile IPv4, IETF RFC 3344, August 2002, hereafter Mobile IPv4, and Mobile IPv6, IETF Mobile IPv6, Internet Draft draft-ietf-mobileip-ipv6-19.txt. (Work In Progress), October 2002, hereafter Mobile IPv6).
Mobile IPv4 is currently the predominant standard, and many networks today are Mobile IPv4 compliant. Mobile IPv4 introduced the concept of Network Access Identifiers (NAIs). NAIs may be used in either Mobile IPv4 or Mobile IPv6 compliant networks to uniquely identify a mobile node. While a mobile node is typically identified by one hostname, it may also be associated with more than one NAI. Similar to hostnames, NAIs may also be translated into an Internet address by a DNS server.
The present invention is illustrated by way of example and not limitation in the figures of the accompanying drawings in which like references indicate similar elements, and in which:
Embodiments of the present invention provide a method, apparatus and system for reliably accessing a roaming mobile node. Reference in the specification to one embodiment or an embodiment of the present invention means that a particular feature, structure or characteristic described in connection with the embodiment is included in at least one embodiment of the present invention. Thus, the phrases in one embodiment, according to one embodiment or the like appearing in various places throughout the specification are not necessarily all referring to the same embodiment.
As previously described, a mobile node (hereafter MN 140) may have a hostname and a NAI associated with it. Mobile nodes that conform to Mobile IPv4 and/or Mobile IPv6 standards (hereafter collectively referred to as Mobile IP Standards) today may roam freely across subnets within Corporate Intranet 100. When MN 140 exits its home subnet, it may continue to maintain its current transport connections and constant reachability in one of two ways. In the first scenario, MN 140 may register with a home agent (HA 130) when it exits its home subnet. During the registration process, MN 140 informs HA 130 of MN 140 s care-of address (hereafter COA), namely MN 140 s address on its new subnet. HA 130 thereafter intercepts all IP packets addressed to MN 140 and reroutes the packets to MN 140 s COA. As MN 140 moves from one subnet to another, MN 140 may obtain new COAs via Dynamic Host Configuration Protocol (DHCP) or other similar protocols. To ensure that HA 130 is able to properly route packets to MN 140, MN 140 must continuously update HA 130 with its new COA as it roams on Corporate Intranet 100. This configuration is commonly referred to as a co-located communications mode.
Alternatively, in Mobile IPv4 compliant networks, when MN 140 leaves its home subnet, it may register with HA 130 via a foreign agent (FA 135) on MN 140 s new (foreign) subnet. By registering with FA 135, MN 140 may use FA 135 s IP address as its COA when registering with HA 130. In this scenario, HA 130 continues to intercept all packets addressed to MN 140, but these packets are now rerouted to FA 135, namely MN 140 s COA as provided to HA 130. FA 135 examines all packets it receives, and sends the appropriate ones to MN 140 at its current location on the foreign subnet. This configuration is commonly referred to as a non co-located communications mode. The decision of whether to use co-located or non co-located mode is well known to those of ordinary skill in the art. Certain networks may, for example, force MN 140 to register with FA 135 in order to maintain its transport connections. In other networks, MN 140 may have the option of registering with FA 135 or operating in a co-located mode.
In summary, when MN 140 is roaming across subnets, it may have associated with it: (i) a hostname; (ii) a NAI; (iii) an invariant home address; and (iv) a COA. As will be readily apparent to those of ordinary skill in the art, these multiple identifiers for MN 140 may cause inconsistencies as MN 140 roams. Details of these inconsistencies are described below.
In Scenario 2, Mobile Node 140 in a non co-located mode may be assigned a NAI that is different from its hostname. MN 140 may again be configured to obtain its home address through a NAI registration, resulting in a mapping entry in the DNS server {NAI, MN_H}. In this non co-located scenario, however, MN 140 may use FA 135 s address as its COA when registering with HA 130. Thus, unlike Scenario 1, MN 140 does not acquire a COA, which would result in a mapping between the hostname and the COA in the DNS server. As a result, there may not be a mapping entry at all for MN 140 s hostname in the DNS server, and CN may not reach MN 140 via its hostname. In addition, although this scenario does not trigger a mapping entry for MN 140 s hostname in the DNS Server, the DNS Server may nonetheless still include a stale entry in its binding table (e.g., MN 140 s hostname may still be mapped to an old COA from a previous configuration). In this situation, when CN that attempts to reach MN 140 via its hostname, the hostname will be resolved in the DNS Server to the stale COA, resulting in CN not being able to reach MN 140.
According to Scenario 3, MN 140 in a co-located mode may be assigned a NAI that is the same as its hostname. As described above in Scenario 1, the DNS server may include mappings for {NAI, MN_H} and {Hostname, COA}. In this situation, however, since the NAI and hostname are the same, the mapping in the DNS server may be unpredictable due to an IP address contention between MN 140 s hostname and NAI. The mappings may override each other, given the order in which the mappings are entered into the DNS server. As a result, access to MN 140 via either its hostname or NAI is likely to be unpredictable, at best.
In Scenario 4, MN 140 in a non co-located mode is assigned a NAI that is the same as its hostname. This scenario does not introduce any problems because, as described in Scenario 2 above, the NAI is mapped in the DNS server to MN 140 s invariant home address {NAI, MN_H}. In this situation, however, since the NAI is the same as the hostname, regardless of the fact there is no mapping for the hostname, MN 140 will nonetheless be reachable. In other words, a CN that attempts to reach MN 140 using its hostname will enter the same name as MN 140 s NAI, which will be resolved in the DNS server to MN_H.
In Scenario 5, MN 140 in a co-located mode may be assigned a static home address (e.g., by a corporate IT department), and a mapping may also be created in the DNS server {Hostname, MN_H}. As MN 140 roams and obtains a COA, however, a second entry may also be created in the DNS server {Hostname, COA}. The two mappings for MN 140 s hostname result in an IP address contention for the hostname. More specifically, the second mapping for hostname may overwrite the first, leaving the {Hostname, COA} mapping in the DNS server. As a result, as described in Scenario 1 above, MN 140 may no longer be reachable reliably using its hostname because the hostname may be mapped to MN 140 s COA.
In the final scenario, Scenario 6, MN 140 in a non co-located mode may be assigned a static home address, resulting in a mapping entry in the DNS server for {Hostname, MN_H}. As is readily apparent to those of ordinary skill in the art, this scenario presents no problems because, in a non co-located mode, no other mapping entry is created for MN 140 in the DNS server. CN may therefore reach MN 140 reliably via its hostname.
In summary, Scenarios 1, 2, 3 and 5 above result in various accessibility problems for MN 140 while it roams from subnet to subnet. Embodiments of the present invention resolve these problems by using a configured alternative name. More specifically, in embodiments of the invention, DHCP requests for COAs from MN 140 and replies to such requests are intercepted within MN 140 and replaced with configured alternative names and hostnames respectively. This eliminates a hostname mapping to COAs in the DNS server, thus eliminating the problems described above. This concept of using a configured alternative name is described in further detail below, in relation to
As will be readily apparent to those of ordinary skill in the art, by intercepting and modifying the COA Requests and COA Replies according to the embodiments described above, MN 140 s hostname may no longer be mapped to its COA in the DNS server. Therefore, in order to ensure that there is some mapping for MN 140 s hostname in the DNS server, in one embodiment of the present invention, a new registration request extension (Hostname Extension) may be used. Hostname Extension may be created per the guidelines specified in the Mobile IPv4 standard, and may be configured to inform HA 130 to request creation of a mapping entry between MN 140 s hostname and MN s home address in the DNS server {Hostname, MN_H}. In this manner, HA 130 may ensure that MN 140 s hostname is consistently mapped to MN 140 s home address in the DNS server. MN 140 s NAI continues to be mapped to MN 140 s home address {NAI, MN_H}. According to one embodiment of the present invention, these two mappings enable MN 140 to be reachable via both its hostname and NAI, regardless of whether the hostname and the NAI are the same.
The mobile nodes, home agents and foreign agents according to embodiments of the present invention may be implemented on a variety of data processing devices. It will be readily apparent to those of ordinary skill in the art that these data processing devices may include various software, and may comprise any devices capable of supporting mobile networks, including but not limited to mainframes, workstations, personal computers, laptops, portable handheld computers, PDAs and/or cellular telephones. In an embodiment, mobile nodes may comprise portable data processing systems such as laptops, handheld computing devices, personal digital assistants and/or cellular telephones. According to one embodiment, home agents and/or foreign agents may comprise data processing devices such as personal computers, workstations and/or mainframe computers. In alternate embodiments, home agents and foreign agents may also comprise portable data processing systems similar to those used to implement mobile nodes.
According to embodiment of the present invention, data processing devices may include various components capable of executing instructions to accomplish an embodiment of the present invention. For example, the data processing devices may include and/or be coupled to at least one machine-accessible medium. As used in this specification, a “machine” includes, but is not limited to, any data processing device with one or more processors. As used in this specification, a machine-accessible medium includes any mechanism that stores and/or transmits information in any form accessible by a data processing device, the machine-accessible medium including but not limited to, recordable/non-recordable media (such as read only memory (ROM), random access memory (RAM), magnetic disk storage media, optical storage media and flash memory devices).
According to an embodiment, a data processing device may include various other well-known components such as one or more processors. The processor(s) and machine-accessible media may be communicatively coupled using a bridge/memory controller, and the processor may be capable of executing instructions stored in the machine-accessible media. The bridge/memory controller may be coupled to a graphics controller, and the graphics controller may control the output of display data on a display device. The bridge/memory controller may be coupled to one or more buses. A host bus host controller such as a Universal Serial Bus (USB) host controller may be coupled to the bus(es) and a plurality of devices may be coupled to the USB. For example, user input devices such as a keyboard and mouse may be included in the data processing device for providing input data.
In the foregoing specification, the invention has been described with reference to specific exemplary embodiments thereof. It will, however, be appreciated that various modifications and changes may be made thereto without departing from the broader spirit and scope of embodiments of the invention, as set forth in the appended claims. The specification and drawings are, accordingly, to be regarded in an illustrative rather than a restrictive sense.
Number | Name | Date | Kind |
---|---|---|---|
6160804 | Ahmed et al. | Dec 2000 | A |
6168513 | Souza et al. | Jan 2001 | B1 |
6321090 | Soliman | Nov 2001 | B1 |
6366961 | Subbiah et al. | Apr 2002 | B1 |
6400722 | Chuah et al. | Jun 2002 | B1 |
6421714 | Rai et al. | Jul 2002 | B1 |
6430698 | Khalil et al. | Aug 2002 | B1 |
6445922 | Hiller et al. | Sep 2002 | B1 |
6496704 | Yuan | Dec 2002 | B2 |
6510153 | Inoue et al. | Jan 2003 | B1 |
6535493 | Lee et al. | Mar 2003 | B1 |
6567664 | Bergenwall et al. | May 2003 | B1 |
6571289 | Montenegro | May 2003 | B1 |
6614774 | Wang | Sep 2003 | B1 |
6621810 | Leung | Sep 2003 | B1 |
6636498 | Leung | Oct 2003 | B1 |
6690659 | Ahmed et al. | Feb 2004 | B1 |
6795701 | Baker et al. | Sep 2004 | B1 |
6829480 | Hoglund et al. | Dec 2004 | B1 |
6856624 | Magret | Feb 2005 | B2 |
6904466 | Ishiyama et al. | Jun 2005 | B1 |
6934274 | Inoue et al. | Aug 2005 | B2 |
6970943 | Subramanian et al. | Nov 2005 | B1 |
6973057 | Forslow | Dec 2005 | B1 |
6988146 | Magret et al. | Jan 2006 | B1 |
6999437 | Krishnamurthi et al. | Feb 2006 | B2 |
7020120 | Inoue et al. | Mar 2006 | B2 |
7047561 | Lee | May 2006 | B1 |
7058728 | Eklund | Jun 2006 | B1 |
7079499 | Akhtar et al. | Jul 2006 | B1 |
7079520 | Feige et al. | Jul 2006 | B2 |
7082476 | Cohen et al. | Jul 2006 | B1 |
7096273 | Meier | Aug 2006 | B1 |
7107620 | Haverinen et al. | Sep 2006 | B2 |
7116654 | Kim | Oct 2006 | B2 |
7120131 | Seppala et al. | Oct 2006 | B2 |
7130629 | Leung et al. | Oct 2006 | B1 |
7149219 | Donahue | Dec 2006 | B2 |
7243141 | Harris | Jul 2007 | B2 |
20020007414 | Inoue et al. | Jan 2002 | A1 |
20020022486 | Chen | Feb 2002 | A1 |
20020059452 | Yokota et al. | May 2002 | A1 |
20030142650 | Fan | Jul 2003 | A1 |
20030224788 | Leung et al. | Dec 2003 | A1 |
20030224855 | Cunningham | Dec 2003 | A1 |
20040037260 | Kakemizu et al. | Feb 2004 | A1 |
20040047348 | O'Neill | Mar 2004 | A1 |
20040090942 | Flinck | May 2004 | A1 |
20040137888 | Ohki | Jul 2004 | A1 |
20040203765 | Das et al. | Oct 2004 | A1 |
20040264414 | Dorenbosch | Dec 2004 | A1 |
20050009520 | Herrero et al. | Jan 2005 | A1 |
20050265363 | Chen | Dec 2005 | A1 |
20060013170 | Shin et al. | Jan 2006 | A1 |
20060018296 | Muraoka et al. | Jan 2006 | A1 |
20060111102 | O'Neill | May 2006 | A1 |
20060126659 | Baum et al. | Jun 2006 | A1 |
20060190586 | Stewart et al. | Aug 2006 | A1 |
20070025366 | Shahrier et al. | Feb 2007 | A1 |
20070058642 | Eisink | Mar 2007 | A1 |
Number | Date | Country |
---|---|---|
1284559 | Feb 2003 | EP |
2366483 | Mar 2002 | GB |
10013712 | Jan 1998 | JP |
200315502 | Feb 2003 | KR |
WO 0232159 | Apr 2002 | WO |
Number | Date | Country | |
---|---|---|---|
20040190534 A1 | Sep 2004 | US |