The present invention will become more fully understood from the detailed description given below and the accompanying drawings, wherein like elements are represented by like reference numerals, which are given by way of illustration only and thus are not limiting of the present invention.
Example embodiments of the present invention provide a resource and location management solution that is independent of underlying MANET routing protocols. The example embodiments use an enhanced SIP that may function in a dynamic, multi-hop MANET. The example embodiments provide a fully distributed fault-tolerant communication system and method that use fewer messages, produce fewer channel collisions, and facilitates quick update to account for the dynamic nature the MANET.
In an example embodiment, a MANET may include a plurality of network devices (e.g., wireless phone, wireless equipped PDA, wireless equipped computer, etc.), each represented as a node within the network. Each node may be assigned a unique ID in the MANET, which may be obtained from a MAC address, a social security number of a subscriber associated with the node, a CPU id, or any other identifier that is unique to that node. Alternatively, a form of certification may be used to ensure that every node in the network is assigned a unique ID. Once generated, the ID may be saved in either a volatile or non-volatile memory of the node for future use. When a node connects to the MANET, the unique ID of the node may be bound to an IP address. If a first node seeks to communicate with a second node, the first node may need to find an IP address bound to the second node using the unique ID of the second node.
Each node may include a plurality of MANET system modules, such as an enhanced SIP layer (ESIP) 1. The ESIP layer may be a networking layer situated between a MANET application 3 and a networking routing protocol stack 5 used by the operating system. The ESIP layer 1 may include the functional modules, such as a SIP User Agent (UA) 15, a SIP Server 17, a SIP Stack 23, and a data module such as the location server (LS) presence agent (PA) database (DB) 19.
The UA 15 may perform client services, such a registering the node with other nodes in the MANET and handling communications with other clients. The SIP Server 17 may provide registrar services and provide a presence agent, which may monitor the presence of nodes registered with the SIP server 17. All these generated packets may be routed to the correct destination by an Ad hoc On-demand Distance Vector protocol (AODV) Module referred to a MANET routing protocol 25 in
Application program interface (API) layers 7-11 may provide access points for the MANET application 3 to communicate with the ESIP layer 1. For example, this can be accomplished with a Voice Session API 7, a Video-Session-API 9, a Test Session API 11, or a Multimedia Message API 13. The API layers 7-11 communicate with the UA 15. The UA 15 communicates with a Real Time Protocol (RTP)/Message Session Relay Protocol (MSRP) stack 21 and a SIP stack 23. Both the RTP/MSRP stack 21 and a SIP stack 23 may build upon the network routing protocol stack 5, for example, a TCP/IP stack. The network routing protocol stack 5 may be provided by an underlying operating system of the node.
The SIP server 17 may communicate with the LS/PA DB 19 and the SIP stack 23. The LS/PA DB 19 may store presence status information data regarding selected devices (referred to as buddies) on the MANET. The SIP stack 23 may store the ID-IP binding information and routing information for the MANET and is responsible for encoding/decoding the ESIP protocol messages.
The example embodiment may use unicast and broadcast techniques to communicate between nodes in the network.
In
Node1 may broadcast a registration message (reg msg) to all 1-hop neighbors, node2 and node3. Node2 receives the registration message and evaluates whether to forward the registration message to its 1-hop neighbors. If node2 decides to forward the registration message, it may modify the registration message (as will be described below) and broadcast the registration message to all its 1-hop neighbors, from whom node2 has not received the registration message. Similarly, node3 may receive, evaluate, modify, and broadcast the registration message to all its 1-hop neighbors. Notice that each node only forwards the registration message once and only to nodes that have not broadcast/forwarded the registration message. Upon receipt of the registration message, the receiving node or cluster may respond with a reverse registration message (e.g., rev reg msg1, rev reg msg2, and rev reg msg3), via a unicast transmission.
As shown in
As will become clearer from the description of
The registration process may fail under certain conditions due to the fading channel collision in the wireless network. Therefore, the example embodiment may also use on-demand, user initiated or periodic re-registration to refresh the registrar information in the node of the MANET. Alternatively, the example embodiment may use a user initiated query.
In step S15, node1 waits to receive a reverse registration message. The reverse registration message from a nodex may contain all binding information in the SIP stack of node. The SIP stack in nodex may include a database, text file, or location in a volatile or non-volatile memory, which can be used to record, store, and retrieve the binding information. The binding information may associate one or more unique node identifiers in the MANET with one or more IP addresses, respectively. The reverse registration message may also include the freshness indicator FIx of nodex, and a presence status of nodex, if nodei is a buddy of nodex.
In steps S20 and S22, if no reverse registration message is received from any other node within a timeout period and the current hop-limit for the registration message is less than a predetermined hop-limit, then, in step S25, node1 may increase the hop-limit in the registration message and return to step S10. If in step S20 the time period has not expired or in step S22 the current hop-limit is equal to a maximum hop-limit, then node1 returns to step S15.
If a reverse registration message is received from a nodex in step S15, then the freshness indictor FIx of nodex in the reverse registration message is compared with the freshness indictor FI1 of node1, in step S30. If the freshness indictor FIx of nodex in the reverse registration message is not greater than the freshness indictor FI1 of node1, then the process returns to step S15. If the freshness indictor FIx of nodex in the reverse registration message is greater than the freshness indictor FI1 of node1, then in step S35, node1 may: (1) update the freshness indictor FI1 of node1 with the freshness indictor FIx of nodex in the reverse registration message, for example, by setting FI1 equal to FIx; (2) update the presence status of nodex in the LS/PA DB of node1, if nodex is a buddy; and (3) update the binding information in the SIP stack 23 of node1, for any nodes having binding information stored in the reverse registration message. Thereafter, processing may return to step S15 to await receipt of another reverse registration message.
Generally, the node having the largest freshness indicator FI value may contain the most complete SIP stack in the MANET because that node will have processed the largest number of registration and cancellation messages. Since node1 may set its freshness indicator FI1 equal to the freshness indicator FI included in the processed reverse registration message and may not process reverse registration message having a freshness indicator FI that is not greater than FI1, the example embodiment reduces the likelihood that node1 will perform unnecessary or redundant SIP stack updates.
For the purposes of example only, the embodiment of
Next, in steps S65 and S70, nodex may determine whether to send a reverse registration message to node1.
In step S65, nodex may determine whether the freshness indicator FI1 of node1 is less than it own freshness indicator FIx. If not, then processing returns to step S50 where nodex waits for the next registration message. If the freshness indicator FI1 of node1 is less than the freshness indicator FIx of nodex then, processing proceed to step S70.
In step S70, nodex may determine whether the hop-limit in the registration message is greater than or equal to a hop-count from nodex to node1. If the hop-limit in the registration message is not less than the hop-count from nodex to nodei, then nodex returns to step S50. However, if the hop-limit in the registration message is less than or equal to the hop count from nodex to node1, then processing proceeds to step S75. In step S75, nodex may send a reverse registration message to nodex the node from which the registration message originated. The process of deciding whether to respond and forward a registration message will be called hop-limited Batch Reversed Registration. The reverse registration message may contain all known binding information in the SIP stack of nodex. The reverse registration message may also include the freshness indicator FIX and the presence status of nodex, if node1 is a buddy of nodex.
Then, in step S80, nodex may determine whether to forward the registration message to all its 1-hop neighbors. Regardless of whether or not nodex may send a reverse registration message to node1, if the hop-limit in the registration message from node1 is greater than a hop-count from nodex to node1, then, nodex may broadcast the registration message to all its 1-hop neighbors, except those neighbors from whom it received the registration message or any similar registration messages to register the same node. If nodex decides to forward the registration, then nodex may set the freshness indicator FI in the registration message equal to its freshness indicator FIx, if the FI in the registration message received in step S50 is smaller than FIx. Accordingly, the freshness indicator may also be thought of as indicating the freshness of the registration message.
In an alternate embodiment, nodex may reduce the hop-limit in a registration message whenever it forwards the registration message. Thereafter, in order to establish whether a hop-count from nodex to node1 is greater than the hop-limit, each nodex will only need to determine whether the hop-limit in the registration message is greater than zero in steps S70 and S80.
By limiting the forward transmission of the registration message from node1 based on the freshness indicator and the hop-limit, it is possible to reduce the number of broadcast registration messages within the MANET. Furthermore, by replacing the freshness indicator FI in the registration message with a receiving node's higher freshness indicator value, if this value is greater than the freshness indicator in the received registration message, the example embodiment may increase the likelihood that only nodes with the most updated information will produce reverse registration messages.
If a node, such as node1 in the examples above, decides to leave the MANET, that node may send a cancel registration message to its 1-hop neighbors. The cancel registration message indicates that the node, identified by its unique identifier, is leaving the MANET. Upon receiving the cancel registration message, a receiving node (nodex) may (1) increase its freshness indicator by one; (2) set the ID-IP binding of the node sending the cancel registration message as un-usable; (3) update the presence status of the canceling node if the canceling node is a buddy of nodex; and (4) broadcast the cancel registration message to 1-hop neighbors, however, it will never broadcast the same message twice.
The example embodiment provides various benefits. For example, multi-hop reverse registration allows any node to enter or leave the MANET with a single registration message exchange. Second, the example embodiments offer the benefit of batch registration, such that when nodes respond to a registration message from a registering node, each responding node will send all known binds to the registering node. Third, the example embodiments provide for controlled message broadcasting by providing a hop-limit to control the range of the message broadcasted. Fourth, the example embodiments provide presence status information in the registration messages, such that when a node responds to a registration message, the node also includes his presence status information to make himself update quicker. The example embodiments also provide for on-demand registration binding and relative distance detection measured in hop counts.
More generally, the example embodiments provide a standard compliant solution based on SIP, which makes it easy to interconnect with existing SIP-based communication networks. Since the MANET routing protocols employ the existing network routing protocols, not all nodes in the MANET are required to start a special SIP application in order to make the example embodiments function. Second, the example embodiments use fewer message exchanges and reduce channel collisions. The example embodiments provide fast presence status updates and allow a user to know the relative distance of his buddies.
The embodiments of the present invention provide for a Mobile Ad hoc Network (MANET) capable of providing network devices a method to communicate in areas where no base stations, routers, or access points are available, by providing a standards complaint solution with fewer message exchanges, fast presence updates and relative distance gauging.
The invention being thus described, it will be obvious that the same may be varied in many ways. For example, while described form a MANET based on the SIP standard, it will be appreciated that all or a portion of the embodiments may be implemented using alternate wireless or wire-based protocols and implementations, thus the present invention may be applicable to other types of networks. Such variations are not to be regarded as a departure from the invention, and all such modifications are intended to be included within the scope of the invention.
Number | Date | Country | Kind |
---|---|---|---|
200610087727.3 | May 2006 | CN | national |