Geographically adjacent access router discovery and caching for mobile nodes

A geographically adjacent access router discovery system discovers geographically adjacent access routers through a distributed process in which mobile node(s) associated with a current access router may receive beacon signals from geographically adjacent access points. A link layer ID included in the beacon signals may be used by the system to identify corresponding geographically adjacent access routers. Network layer addresses of geographically adjacent access routers may be mapped to corresponding link layer IDs and cached by the system. The cache may be used to identify a network layer address from the link layer ID received in a beacon signal.

FIELD OF THE INVENTION

The present invention relates generally to network communication of mobile nodes and more particularly, to methods and systems for discovering geographically adjacent access routers and caching such discoveries for use by mobile nodes.

BACKGROUND

Utilization of mobile nodes such as wireless telephones, personal digital assistants (PDAs), handheld computers and other mobile communication devices is gaining popularity. The increased popularity is due in part to improved mobile access to real-time data, audio and video content enjoyed by users of such devices. This mobile networking capability allows relocation without disrupting real-time applications by automatically and non-interactively changing the mobile node's point of attachment as a mobile node relocates.

Mobile Internet protocol (IP) standards for transparently supporting changes in the point of attachment of mobile nodes includeIP Mobility Support(Mobile IPv4) Network Working Group RFC 2002, C. Perkins (editor), October 1996 andMobile Support in IPv6, IETF Mobile IP, David B. Johnson and Charles Perkins, Jul. 2, 2000. Among other things, these mobile IP standards support adjustments to the routing of messages as mobile nodes geographically relocate.

Typically, mobile nodes operate in a wireless network where points of attachment are provided by radio access points, or radio transceivers, that are geographically dispersed. The radio access points provide communication channels with mobile nodes as well as connectivity with wired networks via an access router. In addition, the radio access points perform handoffs of active communication channels when mobile nodes geographically relocate. In general, handoffs involve passing a communication channel that is currently in use from one radio access point that a mobile node is moving away from, to another geographically adjacent radio access point in closer proximity to the current location of the mobile node.

If geographically adjacent radio access points are associated with different access routers, and therefore different subnets, a handoff between such radio access points may also involve adjustments to the message routing. To perform handoffs that involve message routing adjustments, the mobile nodes need to be aware of the presence of the access routers associated with geographically adjacent radio access points. In the prior art, the current access router may indicate the presence of other access routers to the mobile node from a predetermined list of next candidate access routers. When different subnets are part of two different heterogeneous networks, however, the predetermined list may not include an access router associated with a geographically adjacent radio access point. Similarly, the predetermined list may be incomplete when two subnets within homogeneous networks are topologically distant.

One existing approach to overcome this problem is to manually configure each access router with a geographical neighborhood of other access routers. Such an approach, however, has disadvantages and in many cases may not be feasible. For instance, some of the geographically adjacent access routers may be under different administrative control, and thus, may not be informed of each other's presence. Even within the same administrative domain, the manual configuration approach demands precise network planning to determine the geographical coverage areas of different access routers.

The manual configuration approach may also prove labor intensive and inefficient where the access routers can be physically relocated or experience changes in coverage area. In these cases, the geographical scope of the coverage areas may need review and revision each time such changes occur. Relocation and coverage area changes are common in areas of increasingly heavy traffic where access routers may be temporarily and/or permanently introduced.

Another approach is based on special location information such as GPS (Global Positioning Satellite) systems. A GPS based system can provide physically adjacent candidate access routers and/or access points to current access points and/or mobile nodes. GPS, however, is not always available especially within buildings and other structures where satellite communication is difficult.

SUMMARY

The present invention discloses a geographically adjacent access router discovery (GAARD) system for discovering geographically adjacent access routers (GAARS). The GAARD system may utilize mobile nodes to discover geographically adjacent access routers. The geographically adjacent access routers may be in different heterogeneous systems, or may be topologically distant access routers in the same system. Once discovered, the identity of geographically adjacent access routers may be cached for future use.

The GAARD system may operate within mobile nodes and access routers of communication systems. A mobile node with a current point of attachment provided by an access router via an access point may receive beacon signals. The beacon signals may be transmitted by geographically adjacent access points associated with geographically adjacent access routers. The beacon signals may include a link layer ID of the respective access point. The GAARD system may use the link layer ID to resolve the network layer address of the associated geographically adjacent access router.

When a mobile node receives a beacon signal, the link layer ID may be extracted. A cache within the GAARD system may be accessed to determine the associated network layer address. The cache may include mapped associations of link layer IDs to network layer addresses. If a cache within the mobile node includes a mapped association(s) of the link layer ID to a network layer address, the mobile node may resolve the network layer address of the geographically adjacent access router from the cache and prepare for a handoff. If the mapped associations do not appear within the mobile node, the mobile node may generate a solicitation message that includes the link layer ID received in the beacon signal.

The solicitation message may be transmitted to the access router providing the current point of attachment for the mobile node. Upon receiving the solicitation message, the GAARD system within the access router may access a cache to resolve the network layer address. If the cache within the access router does not include mapping of the link layer ID to a network layer address, the access router may dynamically determine the associated network layer address.

Upon resolving the network layer address of the geographically adjacent access router, the access router providing the current point of attachment may transmit the network layer address to the mobile node in an advertisement message. If not already cached, the network layer address may be mapped to the link layer ID and the association may be cached. Utilizing the network layer address, applications operating in the mobile node and the access router providing the current point of attachment may be optimized. For example, the network layer address may be used to begin preparation for handoff of the mobile node to the geographically adjacent access router. Accordingly, seamless network layer handoffs may be performed, such as fast handover and context transfer, with optimum efficiency.

Another interesting feature of the GAARD system involves the cache in the mobile node. When a mobile node establishes a point of attachment with an access router via an access point, the cache in the access router may be transmitted to the mobile node and cached. Thus, the mapped associations of link layer IDs and network layer addresses previously discovered and cached in the access router may by provided to any mobile node that establishes a current point of attachment with the access router.

Yet another interesting feature of the GAARD system involves dynamic determination of network layer addresses for which a mapped association to a link layer ID is not previously cached. Upon receipt of a link layer ID with no cached mapped association to a network layer address, the access router may utilize a multicast approach and/or directory approach to dynamically resolve the network layer address. With the multicast approach, a network layer address may be provided in response to a multicast service request that includes the link layer ID. In the directory approach, a network layer address may be provided in response to a query to a directory server.

Still another interesting feature of the GAARD system involves the mobile nodes. Through continuous roaming, the mobile nodes act as sensors for the access routers within the GAARD system to continually identify geographically adjacent access routers based on link layer IDs received via beacon signals. Accordingly, the cached mapped associations of link layer IDs and associated network layer addresses may be repetitively confirmed. In addition, any changes or previously unmapped associations may be identified, resolved and cached simply by the roaming of the mobile nodes.

Further objects and advantages of the present invention will be apparent from the following description, reference being made to the accompanying drawings wherein preferred embodiments of the present invention are clearly shown.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

The invention provides a system and method for discovering geographically adjacent access routers using mobile nodes.

FIG. 1depicts one embodiment of a geographically adjacent access router discovery (GAARD) system10operating within an exemplary networking framework12. The networking framework12includes representation of a portion of the Open System Interconnection (OSI) model. The OSI model is a seven layer abstract model of networking in which protocols in each of seven layers interact with the protocols in the layer directly below and provide facilities for the use of the layer directly above. The model includes a physical layer, a data link layer, a network layer, a transport layer, a session layer, a presentation layer and an application layer.

In the illustrated embodiment, the networking framework12includes a second layer14and a third layer16which are representative of the data link layer and the network layer, respectively, within the OSI model. In general, protocols operating in the data link layer, such as, for example, IEEE 802.3 (Ethernet), IEEE 802.4, IEEE 802.5, IEEE 802.11, etc., logically organize and control data transmission performed with the physical layer. Protocols such as, for example, Internet protocol (IP), address resolution protocol (ARP), reverse address resolution protocol (RARP), Internet control message profile (ICMP), bootstrap protocol (BOOTP), etc., operating in the network layer perform routing, addressing and generally manage data traffic.

The second layer14of the illustrated networking framework12includes a plurality of access points18identified as AP1through AP16. The access points18are preferably radio access points (also known as base stations) operating as radio transceivers within wireless networks. The access points18are capable of providing radio communication channels with mobile nodes (not shown). In the presently preferred embodiments, each of the access points18are identified with a unique link layer ID. The link layer ID may be an address or any other form of unique identifier associated with the data link layer (the second layer14).

The third layer16includes a plurality of corresponding access routers20identified as first access router (AR1)22, second access router (AR2)24, third access router (AR3)26, fourth access router (AR4)28and fifth access router (AR5)30. The access routers20may be any device or mechanism capable of forwarding data between, and/or within, networks. Overall administration as well as identification of subnets may be performed with the access routers20. In Mobile IP for example, the access routers20may be the home agents and foreign agents that provide connectivity for mobile devices roaming among the subnets created with the access routers20.

Each of the access routers20may be uniquely identified by a network layer address. The network layer address provides an address to which information may be routed over a network32. The network32may include wireless and/or wireline communication. In addition, the network32may include communication over the Internet, a local area network (LAN), a wide area network (WAN), an intranet, an extranet, a public switched telephone network (PSTN) and/or any other form of network(s) providing a communication path. In the illustrated embodiment, the third layer16utilizes the Internet protocol (IP) for communication among the access routers20over the network32. Accordingly, the network layer address of the each of the access routers20is an IP address, and the network32is an IP network. In other embodiments, other protocols, such as, for example, ARP, RARP, ICMP, BOOTP may be utilized.

In addition, each of the access routers20communicates with at least one associated access point18. The access points18in the second layer14underneath the access routers20are individually associated with at least one of the access routers20. Accordingly, mobile nodes with an attachment point provided by one of the access points18and associated access router20may communicate over the network32. Association of the access points18with access routers20may be based on contractual relationships, equipment ownership, geographical location or any other criteria. In the exemplary embodiment, association of the access points18with the access routers20is illustrated by dotted lines. Preferably, each of the access routers20has knowledge of the link layer IDs for each of the underlying access points18associated therewith.

As used herein, the term “geographically adjacent access router(s)” (GAAR(s)) refers to access routers20with underneath access points18having coverage areas that are “geographically” adjacent to, or overlapping, the coverage areas of access point(s)18of another access router20. For example, access router AR326with associated access points18(AP5, AP6, AP9) is geographically adjacent to access routers AR122, AR224and AR530due to geographically adjacent access points18(AP1, AP2, AP3, AP7, AP10, AP13).

The geographical vicinity of the coverage areas of two access routers20is not necessarily implied by “logical” adjacency. In general, logical adjacency refers to a low number (preferably one) of intermediate connections, or hops, between two access routers20. Geographical adjacency of the coverage areas of two access routers20, on the other hand, implies that a mobile node can physically move from the coverage area of one access router20to another without involvement of any intervening access routers20.

Geographically adjacent access routers (GAARs) need not be logically adjacent, and, may have addresses in different administrative domains, be in different subnets (e.g. topologically distant) or may be part of different autonomous systems. Due to the lack of logical adjacency, access routers20that are geographically adjacent may be unaware of each other. Logical adjacency may be created among devices, portion(s) of system(s) and/or system(s) by manually identifying the existence of other devices, portions of system(s) and/or system(s) with device lists, etc. Alternatively, logical adjacency may be dynamically created with the GAARD system10.

FIG. 2is a block diagram illustrating a portion of a first system40enabled to communicate with a portion of a second system42. The first and second systems40,42may be representative of any association of communication equipment that is affiliated to form respective independent communication networks, such as, for example, wireless networks. In these exemplary embodiments, the first and second systems40,42are not logically adjacent. For example, the first and second systems40,42may be autonomous systems communicating with a border gateway protocol (BGP) or other inter-domain routing protocol. In another example, the first and second systems40,42may be topologically distant subnets within the same autonomous system. The first and second systems40,42preferably include the functionality of the GAARD system10and therefore are capable of discovering each other as hereinafter described to create logical adjacency where geographic adjacency exists.

Similar to the previously discussed embodiments, the first and second systems40,42each include geographically adjacent access routers20coupled with associated geographically adjacent access point(s)18. Communication between the first and second systems40,42of this embodiment may be over the network32. Although not illustrated, communication within the first and second systems40,42as well as over the network32may include border routers, interior routers and/or any other routing mechanisms allowing transmission of information.

In the illustrated embodiment, each of the access points18is preferably a base station within a wireless system that includes a cell coverage area46. A mobile node50within the cell coverage area46may be provided a current point of attachment by the access point18and access router20of the first system40as illustrated by dotted line52. In addition, the mobile node50may roam into the cell coverage area46of the access point18in the second system42as illustrated by arrow54.

Since the first and second systems40,42are separate autonomous systems, the access router20in the first system40may not be aware of the access router20in the second system42. Accordingly, the access router20in the second system42may not be considered as a candidate for handoff of the mobile node50even though the mobile node50has entered the cell coverage area46of the associated access point18.

Within the GAARD system10, the criterion for the access router20in the second system42to be a candidate for a handoff is the geographical adjacency of the access points18in the first and second autonomous systems40,42, and not the topological adjacency of the corresponding access routers20. Hence, routing protocols operating in the third layer16(FIG. 1), such as open shortest path first protocol (OSPF), BGP or any other network layer protocols, are not capable of independently discovering geographically adjacent access routers20.

Interaction of protocols operating in the data link layer14(FIG. 1), however, are aware of geographically adjacent access points18. Accordingly, the GAARD system10may provide interaction between the protocols of the second layer14(FIG. 1) and of the third layer16(FIG. 1) to identify geographically adjacent access routers20and create logical adjacency. Logical adjacency may be utilized to quickly adjust the routing when the point of attachment changes. The ability to quickly change the routing when the point of attachment changes is important to optimizing operation of real-time mobile applications.

Interaction between the protocols involves properly translating handoff trigger information available in the link layer (the second layer14) to information useable in the network layer (the third layer16) during the handoff process. Timely translation from trigger information to corresponding network layer information may expedite the handoff process since network level handoff processing is time-consuming when compared to the almost-instantaneous and automatic link layer handoff processing.

During operation, the mobile node50may receive a transmitted beacon signal that is broadcast by the access points18. In general, the beacon signal is a well-known signal that is broadcast by access points18to provide information identifying each access point18as a potential handoff candidate for the mobile node50. The mobile node50may receive beacon signals that are in range, e.g. when the mobile node50enters the cell coverage area46of geographically adjacent access points18. In the exemplary embodiment illustrated inFIG. 2, the mobile node50may receive the broadcast beacon signal of the access point18in the second system42as illustrated by arrow56. Accordingly, the access router20in the first system40is geographically adjacent to the access router20in the second system42.

Among other things, the beacon signal may include the link layer ID of the access point18in the second system42. Preferably, the mobile node50may detect, receive and decode two or more beacon signals while simultaneously communicating with at least one access point18and associated access router20operating as a current point of attachment. With the link layer IDs of geographically surrounding access points18, the mobile node50may utilize the GAARD system10to dynamically identify geographically adjacent access routers (GAARs) across different subnets. Identification of geographically adjacent access routers (GAARs) involves identifying the network layer address of the access router20associated with the access points18based on the link layer ID. Since identification of the network layer address of the geographically adjacent access routers (GAARs) may occur dynamically prior to an actual handoff, the access router20providing the current point of attachment and the mobile node50may prepare for such a handoff. Preparation for the handoff with the GAARD system10may provide fast, efficient and seamless handoffs among geographically adjacent access routers (GAARs).

The mobile node50may effectively function as a sensor within the GAARD system10to identify geographically adjacent access routers (GAARs) in heterogeneous networks and systems. As the mobile node50roams, the identity of surrounding geographically adjacent access routers (GAARs) may be discovered via received link layer IDs. Utilizing the link layer IDs, the GAARD system10may, for example, anticipate the handoff of the mobile node50by discovering the network layer addresses of all geographically adjacent access routers (GAARs). Accordingly, preparation for the handoff may be performed to expedite processing during the handoff procedure.

The GAARD system10may also provide a dynamic caching function. The caching function may allow network layer addresses of discovered geographically adjacent access routers (GAARs) to be mapped to link layer IDs of associated access points18. The mapped associations may be cached within the GAARD system10to create logical adjacency of geographically adjacent access routers (GAARS). Upon receipt of a link layer ID from an access point18, the mobile node50may access cached mapped associations to determine an associated network layer address of a geographically adjacent access router (GAAR). The mapped associations may be cached in the access point18, the access router20, the mobile node50and/or anywhere else in the network32. Upon identification of the geographically adjacent access router (GAAR) preparation for a handoff may be performed. Where a mapped association of a received link layer ID and a network layer address is not cached, the GAARD system10may dynamically identify the associated geographically adjacent access router (GAAR) based on the link layer ID and then cache a mapping of the association for future use.

FIG. 3is a more detailed block diagram of the first and second systems40,42illustrated inFIG. 2illustrating the functionality of one embodiment of the GAARD system10. As in the previous embodiment, the first and second systems40,42include geographically adjacent access points18and access routers20. In addition, the current point of attachment of the mobile node50may be the access point18and access router20in the first system40.

The GAARD system10may include a GAARD cache component60, a GAAR discovery component62and a GAARD cache distribution component64within each of the access routers20. In addition, the GAARD system10may include a GAARD mobile component68and a local GAARD cache component70within the mobile node50. The GAARD system10may also include at least one directory server72in communication with the network32. In other embodiments, the components of the GAARD system10may operate in other devices. In addition, fewer or greater numbers of components may also represent the functionality of the GAARD system10.

The GAARD cache component60may include lookup and maintenance functionality for a dynamic listing of mapped associations of link layer IDs associated with network layer addresses for equipment operating in autonomous systems. The mapped associations of link layer IDs and network layer addresses represent geographically adjacent access points18and associated geographically adjacent access routers (GAARs). Accordingly, the mapped associations in each of the access routers20will vary depending on the access points18that are geographically adjacent. The GAARD cache component60may include capability to store, manipulate and access these mapped associations within a cache74. The cache74may include a relational database within each of the access routers20. In other embodiments, the cache74, or a portion of the information in the cache74, may be cached elsewhere on the network32and may be independently accessed by each of the access routers20.

The GAARD cache component60may also have cache timeout functionality. Cache timeout functionality may monitor parameters associated with the cache74such as, for example, the length of time mapped associations have been cached without being accessed, the size of the cache74and/or any other variable associated with the cache74. When a predetermined threshold(s) has been reached for one of the cached mapped associations, the GAARD cache component60may remove the mapped associations from the cache74.

FIG. 4is a table illustrating one embodiment of the format of each record representing a mapped association within the cache74. Each record includes a version field82, a cache length field84, a lifetime field86, a link layer ID field88, a network layer address field90and at least one optional field92. The version field82may identify the version of the protocol operating in the GAARD system10. The cache length field84may indicate the size of the record, and the lifetime field86may indicate when the record was cached. The mapped association may be provided by the data in the link layer ID field88and the network layer address field90. The optional fields92may be one or more variably sized fields to accommodate one or more messages. The messages may include additional information associated with the link layer ID, such as an access router network layer address, an access router link layer address, an access router network prefix and/or care of addresses.

FIG. 5is a table illustrating one embodiment of the optional fields92included in the record illustrated inFIG. 4. The optional fields92may include an option type field94identifying a message type and an option length field96identifying a message length. In addition, the optional fields92may include a reserved field98for future use and a value field100that includes the main body of the message(s).

Referring again toFIG. 3, the GAAR discovery component62may include functionality to identify a network layer address of a geographically adjacent access router (GAAR) operating in autonomous systems based on a link layer ID. Activation of the GAAR discovery component62may occur when a link layer ID is received by the mobile node50from an access point18in an autonomous system for which no mapped associations are present in the cache74.

Such link layer IDs may be provided to the GAAR discovery component62in a solicitation message. In the illustrated embodiment, solicitation messages may be sent from the mobile node50through the first system40to the associated access router20via the access point18as illustrated by arrow76. The solicitation messages may be included as an extension of the communication protocol(s) in use in the first and second systems40,42. In the presently preferred embodiments, the communication protocol may be any of a number of versions of an IP protocol, such as, for example, IPv6 and IPv4. In other embodiments, any other communication protocol(s) may be utilized.

FIG. 6is a table illustrating a portion of the format of an IP protocol that includes a solicitation message. Although not illustrated, part of the IP protocol may include a source address of the mobile host50, a destination address of the access router20designated to receive the message, a hop limit, such as255, and an authentication header which may include security. The IP protocol may also include an Internet control message protocol (ICMP)102. The ICMP102is a feature of IP protocols and includes a type field104, a code field106, a checksum field108, an identifier field110, a reserved field112and an options field114.

In the presently preferred embodiments, a solicitation message may be included as an extension within the IP protocol. The configuration of data within the fields of the ICMP102may identify and provide the solicitation message. The type field104may be any predetermined type code that uniquely identifies the message as a solicitation message. The code field106may similarly be any predetermined value. Preferably, the value of the code field in a solicitation message is zero. The checksum field108is a well-known checksum of the ICMP102and is dependent on the IP protocol in use. The identifier field110may be set by the sender (e.g. the mobile node50) so replies may be matched to the solicitation message. The reserve field112may be set to zero by the sender and ignored by the receiver (e.g. the access router20).

The options field114in a solicitation message may include a target link layer ID field116. In other embodiments, additional fields may be included in the options field114. Additional fields in the options field114not recognized by the access router20are preferably ignored during processing of the solicitation message. The target link layer ID field116may include the link layer ID of the access point18received via a beacon signal by the mobile node50. In the embodiments illustrated inFIGS. 2 and 3, the link layer ID received by the mobile node50is from the access point18in the second system42.

FIG. 7is one embodiment of a target link layer ID field116. The target link layer ID field116includes an LL type field122, an LL length field124, an LL subtype field126and an LL address field128. In other embodiments, the target link layer ID field116may include additional fields associated with communication in the GAARD system10.

The LL type field122may include any predetermined unique identifier to identify the target link layer ID field116. The LL length field124may indicate the total length of the target link layer ID field116preferably in units of eight octets. The LL sub-type field126may include any one of a plurality of codes communicated by the mobile node50to the access router20.

In the presently preferred embodiments, the codes may be any of five unique codes. A first code, such as “0”, may identify a solicitation request as a request to provide all of the cached mapped associations of link layer IDs and network layer addresses stored in the access router20. A mobile node50may make such a request upon obtaining a point of attachment with an access router20. A solicitation message that includes a second code, such as “1”, may be identified as a request for the link layer ID of a new point of attachment for the mobile node50. The link layer ID of the new point of attachment may be a next access point18and associated access router20identified by the access router20as a good candidate for handover of the mobile node50. A third, fourth and fifth code may be utilized in advertisement messages that are discussed later, and may therefore be ignored within solicitation messages.

The LL address field128in the solicitation message may contain the link layer ID received by the mobile node50from the beacon signal. In one embodiment, the content and format of the LL address field (including byte and bit ordering) may be specified by a predetermined standard, such as a specific document(s) describing IPv6 operation over different link layers. In another embodiment, an additional field may be included in the target link layer ID field116identifying the content and format. In still another embodiment, the LL address field128may include header information identifying the content and format.

During operation, after the access router20receives a solicitation message, the access router20may first check the LL sub-type field126of the target link layer ID field116. If the LL sub-type field126is set to NULL (e.g. “0”), the access router20may send the whole cache stored in the cache74of the GAARD cache component60back to the mobile node50in an advertisement message. If the LL address field128is set to NULL and the LL sub-type field126is not NULL, the access router20may send all the cache entries which have the same link layer type as indicated in LL sub-type field126back to mobile node50. If the LL address field128includes a link layer ID, and a mapped association to a network layer address is found in the cache74, the access router20may format an advertisement message and send the associated network layer address back to the mobile node50. If on the other hand, mapped associations of the network layer address to the link layer ID cannot be found in the cache74, the GAAR discovery component62may be activated to dynamically discover the network layer address associated with the link layer ID.

Referring again toFIG. 3, the GAAR discovery component62may dynamically identify a network layer address not previously mapped to a link layer ID in the cache74by utilizing a multicast approach. In a multicast approach, the access routers20are preferably joined in a multicast group. Accordingly, each of the access routers20in the multicast group may receive, process and, where appropriate, respond to multicast service request messages generated by other access routers20within the multicast group. Following receipt of a link layer ID for which no network layer address is mapped, an access router20may multicast a service request message to the other access routers20in the multicast group. The multicast service request message and response thereto may be transmitted over the network32.

The GAAR discovery component62may also utilize a directory approach. In the directory approach, the directory server72may be used to identify geographically adjacent access routers (GAARs) based on link layer IDs. The directory server72may be any device with capability for communication over the network32that is responsive to requests and includes data caching functionality. Preferably, the directory server72is a server computer communicating over the network32in support of the GAARD system10. The directory server72may operate with any network compatible communication protocol, such as domain naming system (DNS), lightweight directory access protocol (LDAP) or a service location protocol (SLP).

The directory server72may include a database78as illustrated inFIG. 3. The database78may be a relational database capable of caching information for each of the access routers20. The information cached in the database78may be identified based on the access routers20. Preferably, the information is separately identified for each of the access routers20and includes mapped associations of link layer IDs of access points18to associated network layer addresses of geographically adjacent access routers (GAARs).

Requests to the directory server72may be in the form of a service request message query generated by one of the access routers20and transmitted over the network32to the directory server72. Preferably, the directory server72is capable of handling requests from different access routers20in different subnets and/or administrative domains. In addition, the different access routers20preferably register mappings to associated access points18by storing in the database78cross-reference mapped associations between network layer addresses of the access routers20and the link layer IDs of associated access points18. As changes in the mapped associations occur, the access routers20preferably register such changes with the directory server72using service request messages. Accordingly, the database78within the directory server72may be dynamically updated to maintain the current mapped associations between the network layer addresses and the link layer IDs.

Upon receipt of a service request query containing a link layer ID, the directory server72performs a lookup function within the database78to identify a corresponding network layer address. The directory server72may generate a reply message containing the link layer ID and the associated network layer address. The reply message may be transmitted to the access router20making the service request query.

In one embodiment, SLP may be used for communication with the directory server72. In general, SLP is a standard protocol set forth in an SLP specification. In this embodiment, SLP may be used to resolve the network layer address of a geographically adjacent access router (GAAR) across multiple subnets. In other embodiments, other protocols, such as, for example, inter-administrative domain discovery may be utilized.

As previously discussed, at each access router20, a list of the link layer IDs of the access points18connected thereto may be maintained. In one embodiment, where the directory server72is deployed with SLP, the access router20may format and send a service registration message (ServReg). The ServReg message may include both the network layer address of the access router20and a list of link layer IDs for the connected access points18. The list may be transmitted periodically to the directory server72to update the database78.

Where the queries are not directed to the directory server72, SLP may still be utilized. In this scenario at least one of the access routers20may function as an SLP Service Agent (SA). Functioning as the SLP SA, the access router20may service queries from other access routers20for network layer addresses associated with link layer IDs.

In embodiments using SLP, an access router20providing a current point of attachment may receive a solicitation message from the mobile host50requesting a network layer address associated with a link layer ID. Where a mapped association of the network layer address to the link layer ID is not found in the cache74, the access router20may format a Service Request (ServReq) message which queries for network layer address(es) associated with the link layer ID. For example, when the access router20resolves the network layer address associated with the link layer ID=XXXX, the access router20may function as an SLP User Agent (UA) and format and send a ServReq message. An exemplary ServReq message is:
<service:gaard;(link-layer-id=XXXX)>.

After receiving the ServReq message, either the directory server72or an access router20acting as an SLP SA in conformance with the SLP specification may reply with a Service Reply message. For example, the access router20who is connected to the access point18with link layer ID XXXX may respond with the Service Reply message. An exemplary embodiment of a Service Reply message is:
<service:gaard://(host);link-layer-id=XXXX;addr=YYYY>

where addr is the network layer address.

Another exemplary embodiment of a Service Reply message that the access router20may send back is:
<service:gaard://(host);link-layer-id=XXXX;addr=YYYY;network_prefix=ZZZZ>

In this exemplary Service Reply message, the access router20may send back the network layer address, such as an IP address, of the access router20that is associated with the access point18identified by the link layer ID. In addition, the access router20may send back a network prefix (ZZZZ) of the network, such as, for example, the prefix of the first network40in which the access router20operates. The GAARD system10may provide any other form or data as part of a flexible solution capable of providing whatever format/information is useful to assist the mobile node50. Following receipt, mapping of the network layer address to the link-layer ID and caching of the mapped association by the GAARD cache component60, the GAARD cache distribution component64may be activated.

Referring once again toFIG. 3, the GAARD cache distribution component64may download cached information to the mobile node50. Communication of cached mapped information may be based on the solicitation message received from the mobile node50. Alternatively, the download may be based on any other identified parameters, such as when a point of attachment for the mobile node50is first established, a predetermined time period or any other variable associated with operation of the mobile node50.

Based on a solicitation message, or any other parameter, the GAARD cache distribution component64may generate an advertisement message. The advertisement message may be transmitted to the mobile node50via the access point18providing the current point of attachment as illustrated by arrow84.

Where the advertisement message is the result of a solicitation message, depending on the code included in the LL sub-type field126(FIG. 7), the advertisement message may include one or more network layer addresses of access routers20associated with link layer IDs of access points18. Where the advertisement message is generated based on other parameters, the mapped associations included in the advertisement message may be included based on these parameters. Similar to the solicitation message, the advertisement message may be included in any communication protocol(s) in use in the first and second systems40,42. In the presently preferred embodiments, the communication protocol is an IP protocol.

FIG. 8is a table illustrating an exemplary embodiment of the IP protocol that includes the advertisement message. Similar to the solicitation message ofFIGS. 6 and 7, the advertisement messages may be included as an extension within ICMP102of the IP protocol. The configuration of the data within the fields of the ICMP102may identify and provide the advertisement message. For purposes of brevity, the remaining description of the advertisement messages will focus on the differences with the previously discussed solicitation messages.

The code field106of an advertisement message may be any of a plurality of predetermined values. In one embodiment, the value of the code field106comprises any one of three values. A first value may indicate that the advertisement message includes information from the access router20related to handover of the mobile node50. A second value may be indication from the access router20that no change in the current point of attachment is needed. Indication that the link layer ID identified by the mobile node50in the solicitation message is unknown to the access router20may be identified by a third value. In other embodiments, additional values may be included in the code field106related to handover of the mobile node50.

The value of the identifier field110is preferably copied from the solicitation message, or set to zero where the advertisement message is not the result of a request from the mobile node50.

The options field114of the advertisement message may include the target link layer ID field116and a prefix information field132. In addition, a new change of point of attachment (COA) field134and/or a cache update field136may also be included in the options field114. In other embodiments, additional fields may be included in the options field114, such as, care off address information which may be used in the next subnet and cache update information which may indicate changes in the network layer ID and link layer ID mapping. Additional fields in the options field114not recognized by the receiver of the advertisement message (the mobile node50) may be ignored during processing of the advertisement message by the receiver.

The format of the target link layer ID field116may be similar to that previously described with reference toFIG. 7. Accordingly, the LL address field128(FIG. 7) may include the link layer ID of the access point18for which a network layer address is requested. The LL sub-type field126(FIG. 7) may, similar to the solicitation message, include any of five unique codes. The first and second codes may be part of solicitation messages and therefore may be ignored in an advertisement message.

A third code, such as a code of “2, ” may indicate that the advertisement message from the access router20includes the link layer ID of the mobile node50provided when the mobile node50first forms a new point of attachment with the access router20. A fourth code, such as a code of “3, ” may indicate that the network layer address of the access router20associated with the link layer ID received with a beacon signal is being provided in the advertisement message. When a fifth code, such as a code of “4, ” is provided, the communication protocol for wireless communication, such as, for example IEEE 802.11 may be identified by the advertisement message.

The prefix information field132may specify an address, such as, for example, the IP address and a prefix associated with the link layer ID included in the LL address field128(FIG. 7). As used herein, the term “prefix” refers to a portion of the addressing common to a plurality of devices, such as a plurality of devices in the same subnet.

Referring now toFIG. 9, the illustrated embodiment of the prefix information field132includes a prefix type field150, a length field152, a prefix length field154, an on-link flag156, an address flag158, a reserved1field160, a valid lifetime field162, a preferred lifetime field164, a reserved2field166and a prefix field168. In other embodiments, additional fields, such as, the link layer ID of the access router20providing the current point of attachment.

The link flag156is preferably a 1-bit flag. When set (equal logic one), the link flag156may indicate that the prefix in the prefix field168may be utilized for on-link determination using the advertisement message. The term “on-link” refers to a network layer address that is assignable to a mobile node50(an interface) being provided a current point of attachment (a link) by the access router20. On-link determination refers to a technique for configuring a network layer address of a mobile node50using advertisement messages. When the link flag156of this embodiment is not set (equal logic zero) the advertisement message may include no indication of on-link or off-link properties of the prefix included in the advertisement message. For example, the prefix may be used for address configuration with some of the addresses belonging to the prefix being on-link and others being off-link. The term “off-link” refers to a network layer address that is not assigned to any interfaces on the specified link.

The address flag158may be a one bit autonomous address-configuration flag. Setting the address flag158(equal logic one) may indicate that the information in the prefix field168may be used for autonomous address configuration. Autonomous address configuration may be, for example, the stateless address configuration method used by IPv6.

The reserve1field160may be a 6-bit unused field that may be initialized to zero by the access router20and ignored by the mobile node50. The valid lifetime field162may be length of time in seconds (relative to the time the advertisement message is sent) that the prefix is valid for the purpose of on-link determination. The valid lifetime field162may be a 32-bit unsigned integer where a value of all one bits (e.g. 0xffffffff) may represent infinity.

The preferred lifetime field164may be the length of time in seconds (relative to the time the advertisement is sent) that addresses generated from the prefix via stateless address auto-configuration remains preferred. The preferred lifetime field164may also be a 32-bit unsigned integer where a value of all one bits (0xffffffff) may represent infinity. Similar to the reserved1field160, the reserved2field166may also be an unused field that may be set to zero by the address router20and ignored by the mobile node50. The prefix field168may include the prefix information for a network layer address of an access router20identified based on a link layer ID. In the presently preferred embodiments, the prefix field168includes the prefix of an IP address.

The COA field134may also be included in an advertisement message to allocate an address on behalf of a geographically adjacent access router when the IPv6 protocol is utilized. The allocated address is provided to the mobile node50as a care-of-address. Inclusion of the COA field134in the advertisement message may provide the care-of-address for use by the mobile node50for the duration of a handoff. Conversely, if the COA field134is not included in the advertisement message, the new care-of-address may be obtained by the mobile node50using the network layer address provided as the destination address in the advertisement message.

The cache update field136may also be included in an advertisement message to update information cached in the mobile node50. Generation and transmission of the cache update field136in an advertisement message may be the result of an update to the cache74in the access router20, a predetermined period of time, establishment of a connection point by a mobile node50or any other parameter associated with the access router20.

Referring now toFIG. 10the illustrated embodiment of the cache update field136may include an update type field180identifying the cache update field and an update code field182, which may preferably be zeroed. In addition, the cache update field136may include a length field184, an AC field186, a reserved field188and an update options field190. The length field184may identify the length of the cache update field136by, for example the number of bytes in the field. The AC field186may include a predetermined value indicating the action the mobile node50may take upon receipt of the advertisement message containing the cache update field136. The value in the AC field186may be a zero to indicate a mapped association(s) cached in mobile node50should be updated, and a one to indicate a mapped association(s) cached in the mobile node50should be removed. The reserved field188may be a 32-bit field that is initialized to zero by the access router20and may be ignored by the mobile node50. The update options field190may include an access router link layer address(es).

Referring again toFIG. 3, the mobile node50may also include functionality to support the GAARD system10in the form of the GAARD mobile component68and the local GAARD cache component70. The GAARD mobile component68may extract link layer IDs from the beacon signals and generate the solicitation messages as previously discussed. In addition, the GAARD mobile component68may receive and process advertisement messages sent by the access router20. Further, the GAARD mobile component68may control overall functionality of the mobile node50with regard to the GAARD system10. Upon receipt of an advertisement message, the GAARD mobile component68may cache mapped associations provided in the advertisement message with the local GAARD cache component70.

The local GAARD cache component70may include a local cache71. The local cache71may be used to cache mapped associations of link layer IDs and network layer addresses similar to the GAARD cache component60and cache74in the access router20. Accordingly, upon establishment of a point of attachment, the mobile node50may request existing mapped associations from the access router20with a solicitation message. Alternatively, the access router20may periodically send the mobile node50an advertisement message in the form of a cache update message to update the contents of the GAARD cache component60without first receiving a solicitation message. In still other embodiments, the mobile node50may not include the local cache71. In these embodiments, the mobile node50utilizes the cache74to resolve network layer addresses of network layer IDs by sending solicitation messages and receiving advertisement messages.

During operation, when a mobile node50receives a link layer ID via a beacon signal, the mobile node50first searches the local cache71for a mapped association with a network layer address. If mapped associations of a network layer address to the link layer ID cannot be found (e.g. the link layer ID is absent from the local cache71), the mobile host50may format a solicitation message. The solicitation message may be sent to the access router20via the access point18providing the current point of attachment. The access router20may generate and send back an advertisement message containing the network layer address associated with the link layer ID. The mobile node50may add or update this information in the local cache71. As previously discussed, the mobile node50may also receive a cache update from the access router20without making a request with a solicitation message.

Since each access router20may maintain a cache74, the mapped associations in the cache74of any of the access routers20may be periodically downloaded to mobile nodes50with a current point of attachment with the access router20. In order to remain synchronized, the access router20may format and broadcast cache updates to the mobile nodes50with advertisement messages. Download of the cache updates may be triggered when, for example, a cache entry in the cache74of the access router20has been changed or deleted.

FIG. 11is an exemplary flow diagram illustrating operation of one embodiment a mobile node50with reference toFIGS. 2 and 3within the GAARD system10. At block202, the mobile node50enters the cell coverage area46of an access point18in a communication system, such as, the first system40. At block204, the mobile node50obtains a point of attachment via the access point18with the router20in the first system40.

The GAARD mobile component68within the mobile node50determines if the local cache71has been updated by an advertisement message from the access router20at block206. If no, the GAARD mobile component70generates a solicitation message and sends the message to the access router20via the access point18at block208. As previously discussed, the LL sub-type field126in the solicitation message is set to NULL to request all of the cached mapped associations from the access router20. At block210, the access router20may return an advertisement message to the mobile node50containing the cached information. The GAARD mobile component68processes the advertisement message and activates the local GAARD cache70to cache the update in the local cache71at block212. At block214, the mobile node50may communicate with the access router20while monitoring for beacon signals. If the local cache71has been updated by an advertisement message at block208, the mobile node50communicates while monitoring for beacon signals at block214.

At block216, the mobile node50moves into the cell coverage area46of a geographically adjacent access point, such as the access point18in the second system42. The mobile node50receives a beacon signal from the access point18in the second system42at block218. At block220, the GAARD mobile component68extracts the link layer ID of the access point18in the second system42from the beacon signal. The GAARD mobile component70determines if there is an associated network layer address mapped in the local cache71at block224. If yes, at block226, the mobile node50utilizes the network layer address to begin preparation for handoff.

If no associated network layer address is available from the local cache71, the GAARD mobile component68generates a solicitation message at block228. At block230, the solicitation message is transmitted via the access point18to the access router20in the first system40as illustrated by arrow76. As previously discussed, the LL sub-type field126within the solicitation message is set to NULL and the link layer ID from the beacon signal is included in the target LL address field128. The access router20receives the solicitation message at block232. At block234, the access router20obtains the associated network layer address. The access router20responds to the solicitation message by transmitting an advertisement message including the associated network layer address to the mobile node50as illustrated by arrow84at block236. As previously discussed, the advertisement message includes the network layer address within the prefix information field132.

The advertisement message is received and processed by the GAARD mobile component68to extract the network layer address at block238. At block240, the information is cached in the local cache71by the local GAARD cache component70. The operation then returns to the block226to begin preparation for handoff.

FIG. 13is an exemplary flow diagram illustrating operation of one embodiment of the access router20with reference toFIGS. 2 and 3. The operation begins at block250when the access router20receives a solicitation message containing a link layer ID. At block252, the GAARD cache component60within the access router20determines if the link layer ID is mapped to a network layer address in the cache74. If yes, the GAARD cache component60extracts the network layer address from the cache74at block254. At block256, an advertisement message that includes the network layer address and the associated link layer ID is generated and transmitted to the mobile node50.

If the association mapping is not stored in the cache74, the GAAR discovery component62is activated to identify the network layer address of the geographically adjacent access router (GAAR), such as the access router20in the second system42at block258.

The GAAR discovery component62determines the network layer address with either the multicast approach and/or the directory approach at block260. If the network layer address is to be found with a multicast approach, the GAAR discovery component62may multicast a service request message to other access routers20that are part of the multicast group at block262. The service request message includes the link layer ID received in the beacon signal and transmitted in the solicitation message. At block264, the access router20associated with the access point18whose link layer ID is included in the service request message responds to the message.

The response includes the network layer address of the responding access router20. For example, the access router20in the second system42provides a response that includes the network layer address to indicate association with the link layer ID in the service request message. At block266, the response is transmitted over the network32to the access router20that originated the multicast message. The GAAR discovery component62receives the network layer address at block268. At block270, the network layer address is cached in association with the link layer ID in a mapped association within the cache74. The GAAR cache distribution component64communicates the network layer address to the mobile node50with an advertisement message at block272.

Returning to block260, if the directory approach is used to find the network layer address, the GAAR discovery component62sends a service request query to the directory server72at block280. At block282, the directory server72extracts the link layer ID from the service request query. The directory server72performs a lookup function within the database78at block284. At block286, the directory server72may generate a reply message containing the link layer ID and the associated network layer address obtained from the database78. The reply message may be transmitted over the network32to the access router20at block288. The operation then returns to block266and the network layer address is transmitted to the mobile node50as previously described.

The previously discussed embodiments of the GAARD system10are capable of discovering geographically adjacent access routers (GAARS) with a distributed process. The mobile nodes50function as mobile sensors to identify geographically adjacent access routers (GAARS). A mobile node50coupled via a current access point18with a current access router20may resolve the network layer address of geographically adjacent access routers (GAARS) across different subnets. The geographically adjacent access routers (GAARS) are identified based on a link layer ID within the beacon signal broadcast by the access point18associated with the geographically adjacent access router (GAAR). Once identified, the network layer address is mapped to the link layer ID and is cached for later use. Using the identified network layer address, the current access router20and mobile node50may prepare for a fast, efficient and seamless handover from the current access point18to the geographically adjacent access point18connected with the geographically adjacent access router (GAAR). Accordingly, the cached mapped associations have the effect of providing information about the surroundings of the current access router20to not only all the mobile nodes50currently attached, but also to those mobile nodes50that may become attached in the future.