This invention relates generally to network communications and more particularly to the management of network addresses.
Many communication networks are characterized by the use of network addresses to identify individual network entities and to particularly differentiate one user platform (or user) from another. Such addressing schemes facilitate the appropriate routing of communications to a particular intended target recipient. In general, the use of network addresses in this fashion works well presuming the availability of a sufficient pool of unique addresses.
With increasing regularity, however, many networks are supporting mobile user platforms. Wireless access points often serve to provide a point of contact for such mobile platforms. In the absence of a genuine central point of management of control, such access points typically couple to and operate in conjunction with a distributed base of address-management entities.
Given this architecture, ambiguity and confusion results from time to time as mobile platforms move from one access point to another. Such movement often results in a loss of connectivity with the network (due either to network imperfections or the unilateral actions of the mobile user). Not infrequently, a unique network address as may be associated with a given mobile platform will become associated with more than a single address management entity. When this occurs, multiple nodes in a shared network will advertise the same network address (or set of addresses) on that network. It then becomes difficult to identify the correct route to be used to forward a given communication to such a user platform. In such instances, the communication may be misdirected and ultimately fail to reach the intended recipient.
Prior suggestions to ameliorate this circumstance typically depend upon the deployment and use of a single node to arbitrate such a conflict. Such an architectural approach bears its own burdens, however. As one example, this approach presents an opportunity for a single point of failure for the network. As another example, this approach also presents scalability issues. In particular, a single-node approach may restrict design freedom to expand the size or services supported by a given network.
The above needs are at least partially met through provision of the network address management method and apparatus described in the following detailed description, particularly when studied in conjunction with the drawings, wherein:
Skilled artisans will appreciate that elements in the figures are illustrated for simplicity and clarity and have not necessarily been drawn to scale. Also, common but well-understood elements that are useful or necessary in a commercially feasible embodiment are often not depicted in order to facilitate a less obstructed view of these various embodiments of the present invention. It will also be understand that the terms and expressions used herein have the ordinary meaning as is accorded to such terms and expressions with respect to their corresponding respective areas of inquiry and study except where specific meanings have otherwise been set forth herein.
Generally speaking, pursuant to these various embodiments, a distributed approach to network address duplication avoidance serves to substantially resolve the identified problem while also tending to avoid the problems associated with a single-node solution.
To facilitate network communications, a communication that includes a specific network address as corresponds to a given mobile node is received from that mobile node. Upon determining that this specific network address is not locally supported, a remote non-central node that does support the specific network address is automatically notified to facilitate a subsequent communication from the mobile node by the remote non-central node.
In one embodiment, the specific network address comprises a specific Internet Protocol address. Pursuant to a preferred approach, the determination regarding non-support of the specific network address comprises determining that the specific network address does not comprise a part of a block of network addresses as are assigned for local use.
To facilitate this approach, and pursuant to a preferred embodiment, the remote non-central node will source communications (such as multicast communications) from time to time that identify one or more network addresses that are presently supported by the remote non-central node. Local nodes can then store such information for subsequent use as indicated above.
Though various configurations can be employed to embody these teachings, in general, this approach tends to significantly avoid the problems that are usually associated with network address duplication while also substantially avoiding the issues that are associated with the use of centralized single-node solutions.
Referring now to
Pursuant to a preferred approach, the processing platform 11 operably couples to a wireless access point interface 12. The latter element is well understood in the art and typically serves to provide an interface for one or more wireless access points 13. The particular wireless technology and protocols employed and supported by the wireless access point 13 are not particularly important to these embodiments and hence are not described in greater detail. It will be understood that these embodiments are essentially compatible with all such wireless technologies, including those that are presently known and those that are hereafter developed.
This apparatus 10 also comprises an extranet interface 14 that operably couples to the processing platform 11. This extranet interface 14 serves to provide access to one or more extranets such as, for example, the Internet 15. Again, such extranet interfaces are well known in the art and require no further elaboration here.
In a preferred embodiment, the processing platform 11 has at least a first mode and a second mode of operation. Pursuant to the first mode of operation the processing platform 11 supports direct facilitation of an extranet communication by a wireless node that utilizes the wireless access point 13 using one of a group of locally supported network addresses. Pursuant to the second mode of operation the processing platform 11 supports automatic forwarding of a communication request from a wireless node that uses a non-locally supported network address to a non-local node that does support the non-locally supported network address.
To support these modes of operation, in a preferred embodiment, the processing platform 11 also operably couples to a first memory 16 having locally-supported network addresses stored therein (wherein some of these locally supported addresses may be presently assigned to corresponding wireless nodes and where at least some of the locally-supported network address may be presently unassigned to any corresponding wireless nodes) and also to a second memory 17 having non-locally supported network addresses stored therein. In a preferred embodiment, this second memory 17 will also have information stored therein that correlates these non-locally supported network addresses with the non-local nodes that do support them. These memories 16 and 17 can be separate physical entities (as suggested by the illustration) or can comprise a single memory platform. It will also be understood that these memories can be separate physical entities with respect to the processing platform 11 or can be integrated therewith. It will also be understood that these memories can be integrated and or distributed over or with other elements as may best suit the needs of a given application.
So configured, the processing platform 11 can determine when a communication request as sourced by a wireless node is using a locally supported network address and when it is not. This, in turn, permits additional processing as described below to effect successful facilitation of the wireless node's communication without fostering duplication and regardless of whether the network address proffered by the wireless node is locally supported.
Referring now to
The communication from the remotely located non-central node can occur in a variety of ways. These communications can include, for example, point-to-point messages that expressly target the apparatus 10. In a preferred embodiment, however, such communications will typically comprise a multicast communication or broadcast that reaches, with a single transmission, a potentially large number of receptive endpoints. Such transmissions can be as irregular or as periodic as may be appropriate to the needs of a given application. It will also be understood that such communications can be temporally or event driven (or both) again as best suits the needs of a given deployment.
The apparatus 10 then stores 22 at least some information that correlates the remote-non-central node with the information regarding the network addresses that are presently supported by the remote non-central node. This, in turn, permits the apparatus 10 to not only have the wherewithal to identify a particular network address as being one that is supported by a remote node but to also be able to identify that particular remote node.
Referring now to
Upon receiving 31 from a mobile node a communication that includes a specific network address as corresponds to that mobile node (such as, for example, an Internet Protocol address as has been previously allocated to that mobile node), the process 30 determines 32 whether that network address is locally supported. Such a determination 32 can be facilitated, for example, by determining that the specific network address does not comprise a part of a block of network addresses (such as Internet Protocol addresses) as are presently assigned for local use. When the specific network address is locally supported, ordinary local processing 33 of that and subsequent communications with respect to that mobile node ensues in accord with well understood prior practice.
Upon determining, however, that no local support for the specific network address exists, the process 30 provides for automatic notification 34 of a remote non-central node that does support the specific network address. To facilitate this activity, the process 30 can effect accessing a local (or remotely accessible) store of information that contains information regarding the specific network address and the remote non-central node that provides support for that specific network address. This notification can take any suitable form and will preferably serve to provide sufficient information to the remote non-central node to permit the latter to facilitate the mobile node communication.
In a preferred embodiment the remote non-central node will then automatically establish 35 a communication link to the wireless node to facilitate a communication from the wireless node using the specific network address.
These teachings can be employed in various ways to suit a given situation. In a preferred approach, all Internet Protocol address pools are divided into relatively small fixed size blocks (with the size preferably being a power of two). One node in a given cluster will mange the Internet Protocol address blocks (though this functionality can be statically assigned or dynamically elected or assigned as may best accommodate the needs of a given set of design requirements). Each such node will then own one or more Internet Protocol address blocks as necessary pursuant to one approach, any such node may request allocation of a free block of Internet Protocol address. Furthermore, if desired, an Internet Protocol address block lacking an active Internet Protocol address can be released (automatically or upon request or instruction). Using techniques such as multicasting these nodes then broadcast or advertise their respective Internet Protocol address block assignments so that other respective nodes can receive and use such information in a manner consistent with these teachings. By organizing such addresses on a block basis, network communication resource needs necessary to support the distribution of knowledge regarding which addresses are supported by which nodes are significantly reduced as compared to providing such information on an address-by-address basis (though the latter approach can be used if desired).
As one illustrative example, consider a home agent that provides access with respect to a block of locally supported Internet Protocol addresses. Upon receiving an Internet Protocol communication request as corresponds to a wireless node, this home agent can ascertain whether that wireless node poses a locally supported Internet Protocol address. When true, the home agent directly facilitates that communication request. When not true, the home agent automatically provides information regarding the communication request to a non-central remote node that is known (for example, by accessing an Internet Protocol map that correlates Internet Protocol addresses with specific supporting nodes) to the home agent to support the Internet Protocol address in question. The non-central remote node can then itself directly facilitate the communication request. It will be well appreciated that other network elements besides a home agent can operate in a similar fashion to facilitate this same basic process.
As a more specific illustrative example, a mobile node can establish a wireless traffic channel with a wireless access point. The latter in turn then notifies a packet control function (PCF) in accord will ordinary practice. The PCF then selects a known packet data serving node (PDSN) and establishes an RP channel to PDSN (where “RP” refers to an RNN to PDSN protocol). The mobile node then establishes a point-to-point protocol (PPP) session with the PDSN and transmits a registration request that includes its Internet Protocol address. The PDSN then contacts a corresponding authentication, authorization, and accounting (AAA) element to identify the home agent to which the registration request should be forwarded. The PDSN then forwards the registration request to that home agent. The latter then determines whether the specific Internet Protocol address is locally supported in accord with the above description and arranges local or remote support as appropriate.
So configured, network address duplication can be substantially avoided while also avoiding the need for a central point of address management and tracking.
Those skilled in the art will recognize that a wide variety of modifications, alterations, and combinations can be made with respect to the above described embodiments without departing from the spirit and scope of the invention, and that such modifications, alterations, and combinations are to be viewed as being within the ambit of the inventive concept. For example, these same teachings can be employed in a situation where a mobile node does not present any network address as corresponds to itself. In such an instance, a remote non-central node having one or more network addresses (i.e., a pool of network addresses) that are available for assignment to such mobile nodes can be automatically notified as is otherwise set forth above in order to permit the latter to facilitate subsequent communications from the mobile node.