专利名称:移动自组织网络中基于sip的即时消息的制作方法
背景技术:
移动自组织网络(MANET)被设计来在没有基站,路由器,或接入点可用的区域,例如,战场,邮政故障区(post-disaster area),和其他缺乏网络能力的区域内,为网络设备提供通信手段。MANET可用于任何通常与网络相关的目的,诸如进行语音和视频呼叫,共享照片,音频和视频剪辑,玩游戏,以及普通的交换信息。已经在使用会话起始协议(SIP)作为资源和位置管理机制的方面进行了一些研究。
SIP是在3G网络中采用的信令协议,用于建立、管理和撤销会话。通常,SIP使用了客户端/服务器架构,其中每个SIP客户端在通常所说的绑定的过程中使用SIP注册器注册IP地址和唯一ID。要启动通信会话,第一客户端发送通信请求到SIP重定向器或SIP代理服务器。该通信请求包括第二客户端的唯一ID。SIP重定向器或SIP代理服务器使用SIP注册器以将第二客户端的唯一ID与第二客户端的IP地址相关联,然后转发该请求到第二客户端。一旦由第二客户端接收到该通信请求,第一客户端和第二客户端就建立起通信会话。通信会话一旦建立,这两个客户端就使用直接对等会话传送数据。
MANET的分散控制和动态拓扑中与生俱来的问题包括定位网络业务与资源的困难和复杂性。现有的使用固定服务器或固定代理解决方案的客户端/服务器应用和协议,例如Jabber和SIP,不必适用于MANET,因为固定的服务器或固定的代理并非可靠地可用。与之类似,虽然固定网络中用户群或簇(cluster)对网络管理可靠,这样的用户群或簇对MANET可能并不适合,因为群或簇成员不可靠的可用性引发了部分网络中的间歇中断。虽然MANET必须要使用某一形式的路由协议,不依赖于特定路由协议并不有利。通信解决方案实现应当避免要求MANET中的所有设备激活特定路由应用。然而,在现有路由协议层和应用协议层之间设置资源定位协议层会增加整个网络的开销。此外,由于很多设备已经结合了许多路由协议,MANET应用应当使用可用的路由协议。
在标准的基于SIP的MANET中,当新的节点进入MANET时,新节点发送SIP注册消息到MANET中的所有其它节点。作为响应,所有的其它节点发送SIP注册信息到该新节点。这个过程要求很多次消息交换,从而导致多次信道冲突。
因此,虽然标准SIP在单跳环境中运行令人满意,但标准SIP在多跳环境中趋于失败,因为SIP注册消息的广播成指数地增大了MANET信道中的冲突机会。
因此,存在能够在MANET环境中有效工作的资源和位置管理机制的需求。
发明内容
用于在根据本发明的移动自组织网络(MANET)中注册第一设备的方法的实施例中,注册消息被发送到单跳相邻设备。该注册消息包括第一设备的跳跃限制和新鲜度(freshness)指示符。该新鲜度指示符指示第一设备在MANET中的经历等级,而跳跃限制指示对用于转发该注册消息的跳跃次数的限制。
在一个实施例中,该方法还包括如果发送注册消息之后在某一时限内没有接收到反向注册消息,并且如果该跳跃限制小于最大跳跃限制,则递增该跳跃限制。而且,一个新的注册消息然后被发送到单跳相邻设备。该新的注册消息包括递增后的跳跃限制和新鲜度指示符。
在一个实施例中,注册消息还包括绑定信息和存在状态的至少之一。绑定信息指示第一设备的唯一标识符和第一设备的IP地址之间的关联,而存在状态指示第一设备的存在。
在另外一个实施例中,该方法还包括从第二设备接收至少一个反向注册消息,并响应反向注册消息中的信息,选择性地更新第一设备上的本地数据库.该反向注册消息可包括用于第二设备的新鲜度指示符、第二设备的存在状态和来自第二设备的绑定信息中的至少之一。如果用于第二设备的新鲜度指示符大于用于第一设备的新鲜度指示符,则选择性更新步骤响应于反向注册消息中的信息,更新第一设备上的本地数据库。例如,更新步骤可以设置用于第一设备的新鲜度指示符等于用于第二设备的新鲜度指示符。
根据用于在移动自组织网络(MANET)中在第二设备上注册第一设备的方法的另外一个实施例,接收第一设备的注册消息。该注册消息包括第一新鲜度指示符,而该第一新鲜度指示符指示该注册消息的新鲜度。如果第一新鲜度指示符小于第二新鲜度指示符,则反向注册消息被选择性发送到第一设备。第二新鲜度指示符指示MANET中第二设备的经历等级。该注册消息还包括至少第一设备的绑定信息和第一设备的存在状态之一。该绑定信息将第一设备的唯一标识符与第一设备的IP地址以及指示第一设备的存在的存在状态相关联。与之类似,反向注册消息可包括用于第二设备的存在状态信息和来自第二设备的绑定信息中的至少之一。
在一个实施例中,注册消息包括跳跃限制,而且如果第一新鲜度指示符小于第二新鲜度指示符,并且在第二设备和第一设备之间跳跃的次数小于或等于跳跃限制,则选择性发送步骤发送反向注册消息到第一设备。
在再一个实施例中,该方法还可包括如果在第二设备和第一设备之间跳跃的次数小于或等于跳跃限制,则转发注册消息到没有发送注册消息到第二设备的第二设备的单跳相邻设备。转发的注册消息可以被更改以包括跳跃限制减去递减量。
在还有另外一个实施例中,如果第一新鲜度指示符小于第二新鲜度指示符,并且跳跃限制大于零,则选择性发送步骤发送反向注册消息到第一设备。
从以下给出的详细描述和附图将更加充分地理解本发明,在附图中相同的部件用相同的附图标记表示,这些部件只是通过举例说明的方式给出,从而并非是对本发明的限制。
图1举例说明了根据本发明的示例实施例的MANET内部的节点的系统软件模块;图2举例说明了根据本发明的示例实施例的广播和被跳跃限制的批反向注册(BBRR)过程;图3举例说明了根据本发明的示例实施例的用于请求注册新节点到MANET内的方法流程图;图4举例说明了根据本发明的用于响应注册消息的方法的示例实施例的流程图。
具体实施例方式
本发明的示例实施例提供了与底层MANET路由协议无关的资源和位置管理解决方案。该示例实施例使用了可以用于动态、多跳MANET中的增强SIP。该示例实施例提供了完全分布的容错通信系统及方法,该通信系统及方法使用更少的消息,产生更少的信道冲突,并且有利于快速更新以考虑MANET的动态特性。
在一个示例实施例中,MANET可包括多个网络设备(例如,无线电话,无线配备的PDA,无线配备的计算机等),每个设备代表网络内部的一个节点。每个节点都可以在MANET内分配唯一ID,这可以从MAC地址、与该节点相关的用户的社会安全号码、CPU id、或任何其他对该节点唯一的标识符中获取。作为选择,一种形式的认证可以用于确保网络中的每个节点都被分配了唯一ID。一旦生成,该ID就可以在节点的易失或非易失存储器内存储供将来使用。当节点连接到MANET上时,该节点的唯一ID就可以绑定到IP地址。如果第一节点寻求与第二节点通信,第一节点可能需要通过使用第二节点的唯一ID找到绑定到第二节点的IP地址。
图1举例说明了根据本发明的示例实施例的MANET内节点的系统软件模块。
每个节点都可以包括多个MANET系统模块,如增强SIP层(ESIP)1。ESIP层可以是位于MANET应用3和由操作系统使用的网络路由协议栈5之间的网络层。ESIP层1可包括功能模块,如SIP用户代理(UA)15、SIP服务器17、SIP栈23和诸如位置服务器(LS)存在代理(PA)数据库(DB)19的数据模块。
UA 15可以执行客户端业务,诸如向MANET中的其他节点注册该节点并且处理与其它客户端的通信。SIP服务器17可提供注册服务并提供存在代理,它可以监测已向SIP服务器17注册的节点的存在。所有这些生成的分组都可以通过图1中被称作MANET路由协议25的自组织按需距离矢量协议(AODV)模块路由到正确的目的地。
应用程序接口(API)层7-11可以为MANET应用3提供接入点以与ESIP层1通信。例如,这可以用话音会话API7、视频会话API9、文本会话API11或多媒体消息API13完成。API层7-11与UA 15通信。UA 15与实时协议(RTP)/消息会话转发协议(MSRP)栈21及SIP栈23通信。RTP/MSRP栈21和SIP栈23都可以建立于网络路由协议栈5,例如,TCP/IP栈之上。网络路由协议栈5可以由节点的底层(underlying)操作系统提供。
SIP服务器17可以与LS/PA DB 19及SIP栈23通信。LS/PA DB19可以在MANET上存储关于所选设备(被称为好友)的存在状态信息数据。SIP栈23可以为MANET存储ID-IP绑定信息和路由信息,并负责编码/解码ESIP协议消息。
示例实施例可以利用单播和广播技术以在网络中的节点之间通信。
图2举例说明了根据本发明的示例实施例,在网络中使用广播和被跳跃限制的批反向注册(BBRR)的消息流程图。
在图2中,node2是node1、node4和cluster1的单跳相邻节点,而node3是node1、node4和cluster2的单跳相邻节点。然而,在任何一对单跳相邻节点之间可能会有好几个自组织节点,它们不支持SIP,但是支持底层的网络路由协议。MANET路由协议可以支持转发广播分组,以便该协议只转发一次相同的广播分组,这也称为扩散法(flooding)。
node1可广播注册消息(reg msg)到所有的单跳相邻节点node2和node3。node2接收注册消息并评估是否要转发该注册消息到其单跳相邻节点。如果node2决定转发该注册消息,它可以修改该注册消息(将会在下面描述),并广播该注册消息到node2还没有从其接收到该注册消息的所有其单跳相邻节点。与之类似,node3可以接收、评估、修改并广播该注册消息到所有其单跳相邻节点。需要注意的是,每个节点仅转发一次该注册消息,并且仅转发到没有广播/转发该注册消息的节点。一旦接收到该注册消息,接收节点或簇就可以通过单播传输,利用反向注册消息(例如,rev reg msg1,rev reg msg2和rev reg msg3)做出响应。
图3举例说明了根据本发明,用于请求注册新节点到MANET内的方法的示例实施例的流程图。
如图3中所示,当节点在步骤S5中进入到MANET并在步骤S10中广播注册消息到所有其单跳相邻节点时,注册过程开始。仅仅出于举例的目的,这个实施例将针对node1为进入MANET的节点的情况描述。注册消息是具有ESIP扩展的标准SIP注册消息。该消息也可以包括将node1的唯一标识符(ID)与node1的IP地址相关联的绑定信息、node1的存在状态、用于反向注册到node1的跳跃限制、以及新鲜度指示符(FI)。
正如从图3和以下图4的描述中变得更加清楚的那样,新鲜度指示符(FI)可以指示由节点直接或间接处理的注册相关消息的数量。通过用另外一种方式说明,新鲜度指示符可以指示节点在网络中的经历等级或该节点对网络来说有多新。例如,为1的FI可以指示节点对MANET为新来的。对于任何给定节点(nodex),nodex的FI(FIx)可以在每次nodex接收到注册消息或取消注册消息时增加1。每个节点都可以在其各自的LS/PA DB中维护其他节点的FI值。此外,正如下面所示,FI可以用于减少MANET中注册相关消息的数量。
在某些条件下注册过程可能会由于无线网络中衰落的信道冲突而失败。因此,该示例实施例也可以使用按需的、用户发起的或周期性的重新注册以更新MANET的节点内的注册信息。作为选择,该示例实施例可以使用用户发起的查询。
在步骤S15中,node1等待接收反向注册消息。来自nodex的反向注册消息可能包含nodex的SIP栈内的所有绑定信息。nodex中的SIP栈可以包括数据库、文本文件、或在易失或非易失存储器中的位置,这可以用于记录、存储、并检索绑定信息。绑定信息可以分别将MANET中的一个或更多唯一节点标识符与一个或更多IP地址相关联。该反向注册消息也可以包括nodex的新鲜度指示符FIx和nodex的存在状态,如果node1是nodex的好友的话。
在步骤S20和S22中,如果在超时周期内没有从任何其他节点接收到反向注册消息,并且用于该注册消息的当前跳跃限制小于预先设定的跳跃限制,那么,在步骤S25中,node1可以增加注册消息中的跳跃限制并且返回到步骤S10。如果在步骤S20中,该时间周期没有届满,或者在步骤S22中,当前跳跃限制等于最大跳跃限制,那么node1返回到步骤S15。
如果在步骤S15中,从nodex接收到反向注册消息,那么在步骤S30中,反向注册消息中nodex的新鲜度指示符FIx就与node1的新鲜度指示符FI1相比较。如果反向注册消息中nodex的新鲜度指示符FIx不大于node1的新鲜度指示符FI1,那么该过程返回到步骤S15。如果反向注册消息中nodex的新鲜度指示符FIx大于node1的新鲜度指示符FI1,那么在步骤S35中,node1可以(1)使用反向注册消息中nodex的新鲜度指示符FIx来更新node1的新鲜度指示符FI1,例如,通过设置FI1等于FIx;(2)如果nodex是好友的话,更新node1的LS/PA DB中nodex的存在状态;和(3)对于任何具有存储在该反向注册消息内的绑定信息的节点,更新node1的SIP栈23中的绑定信息。此后,过程可以返回到步骤S15以等待接收其他的反向注册消息。
通常,具有最大新鲜度指示符FI值的节点可以包含MANET中最完整的SIP栈,因为该节点将会已经处理了最大数目的注册和取消消息。由于node1可以设置其新鲜度指示符FI1等于包含在已处理的反向注册消息内的新鲜度指示符FI,并且可以不处理具有不大于FI1的新鲜度指示符FI的反向注册消息,该示例实施例减少了node1将执行不必要或多余的SIP栈更新的可能性。
图4举例说明了根据本发明,用于响应注册消息方法的示例实施例的流程图。
仅仅出于举例的目的,图4的实施例将针对nodex从node1接收注册消息的情况描述。在步骤S50中,nodex可以从node1接收注册消息。接着,在步骤S55中,nodex可以检查该注册消息是否有效。有效的注册消息可能符合ESIP协议,并至少包含新鲜度指示符FI和跳跃限制。如果来自node1的注册消息并不有效的话,那么该示例实施例就会返回到步骤S50以接收其他注册消息。如果该注册消息是有效的,那么,在步骤S60中,nodex可以基于注册消息中的信息更新其LS/PA DB和SIP栈。例如,该更新可以包括添加node1的绑定信息和node1的存在状态到LS/PA DB,并将nodex的新鲜度指示符FIx增加1。
接下来,在步骤S65和S70中,nodex可以判断是否发送反向注册消息到node1。
在步骤S65中,nodex可以判断node1的新鲜度指示符FI1是否小于其自身的新鲜度指示符FIx。如果不小于,那么过程返回到步骤S50,在此nodex等待下一个注册消息。如果node1的新鲜度指示符FI1小于nodex的新鲜度指示符FIx,那么过程继续到步骤S70。
在步骤S70中,nodex可以判断注册消息中的跳跃限制是大于还是等于从nodex到node1的跳跃计数。如果注册消息中的跳跃限制不小于从nodex到node1的跳跃计数,那么nodex返回到步骤S50。然而,如果注册消息中的跳跃限制小于或等于从nodex到node1的跳跃计数,那么过程就继续到步骤S75。在步骤S75中,nodex可以发送反向注册消息到node1......从其发出注册消息的节点。判断是否响应并转发注册消息的过程将被称作跳跃限制批反向注册。该反向注册消息可以包含nodex的SIP栈中所有已知的绑定信息。该反向注册消息也可包括新鲜度指示符FIx和nodex的存在状态,如果node1是nodex的好友的话。
然后,在步骤S80中,nodex可以判断是否转发该注册消息到所有其单跳相邻节点。不管nodex是否发送反向注册消息到node1,如果来自node1的注册消息中的跳跃限制大于从nodex到node1的跳跃计数,那么,nodex可以广播该注册消息到所有其单跳相邻节点,除了由此它接收到该注册消息或任何类似的注册消息以注册相同节点的那些相邻节点。如果nodex决定转发该注册,那么nodex可以设置该注册消息中的新鲜度指示符FI等于其新鲜度指示符FIx,如果在步骤S50中接收的注册消息中的F1小于FIx的话。因此,该新鲜度指示符也可以被认为是指示该注册消息的新鲜度。
在一个可选实施例中,nodex可以在每当它转发注册消息时减少该注册消息中的跳跃限制。之后,为了确定从nodex到node1的跳跃计数是否大于该跳跃限制,每个nodex都仅需要在步骤S70和S80中判断注册消息中的跳跃限制是否大于0。
通过基于新鲜度指示符和跳跃限制而限制注册消息从node1的转发传输,有可能减少MANET内广播注册消息的数量。此外,通过用接收节点的更高新鲜度指示符值代替注册消息内的新鲜度指示符FI,如果这个值大于所接收的注册消息中的新鲜度指示符,则该示例实施例可能增加仅有具有最多更新信息的节点才会产生反向注册消息的可能性。
如果节点,如以上实例中的node1,决定要离开MANET,该节点可以发送取消注册消息到其单跳相邻节点。该取消注册消息表明由其唯一标识符识别的该节点正离开MANET。一旦接收到该取消注册消息,接收节点(nodex)可以(1)将其新鲜度指示符增加1;(2)设置发送该取消注册消息的节点的ID-IP绑定为不可用;(3)如果该取消节点为nodex的好友,则更新所取消节点的存在状态;和(4)广播该取消节点消息到单跳相邻节点,然而,它永远不会将同一消息广播两次。
该示例实施例提供了很多好处。例如,多跳反向注册允许任何节点使用单次注册消息交换进入或离开MANET。其次,该示例实施例提供了批量注册的优势,以便当节点响应来自注册节点的注册消息时,每个响应节点都将发送所有已知的绑定到该注册节点。第三,该示例实施例通过提供跳跃限制以控制消息广播的范围而提供了受控的消息广播。第四,该示例实施例在注册消息中提供了存在状态信息,以便当节点响应注册消息时,该节点也包括其存在状态信息使其本身更新得更快。该示例实施例也提供了按需注册绑定和在跳跃计数中测量的相对距离检测。
更为一般的是,该示例实施例提供了基于SIP的标准适应性解决方案,使得它容易与现有的基于SIP的通信网络互连。由于MANET路由协议使用了现有的网络路由协议,为了使该示例实施例工作,并非要求MANET中的所有节点都启动特定的SIP应用。其次,该示例实施例使用了更少的消息交换并减少了信道冲突。该示例实施例提供了快速存在状态更新,并允许用户知道其好友的相对距离。
本发明的实施例通过提供具有更少消息交换、快速存在更新和相对距离测量的标准适应行解决方案,为能够提供网络设备的移动自组织网络(MANET)提供了在没有基站、路由器或接入点可用的区域进行通信的方法。
本发明被如此描述,显而易见的是,本发明可以以多种方式变化。例如,尽管描述了基于SIP标准的MANET,应当理解,所有或部分实施例都可以使用可选的基于无线或有线的协议和实施方式来实现,因此本发明可以应用于其它类型的网络。这样的变化不认为是背离本发明,而且所有这样的变更都意欲包含在本发明的范围之内。
权利要求
1.一种用于在移动自组织网络(MANET)中注册第一设备(节点1)的方法,包括发送注册消息(S10)到单跳相邻设备(节点2,节点3),所述注册消息包括所述第一设备的跳跃限制和新鲜度指示符,所述新鲜度指示符指示所述第一设备在所述MANET中的经历等级,所述跳跃限制指示对用于转发所述注册消息的跳跃次数的限制。
2.根据权利要求1的方法,还包括如果在发送所述注册消息之后在某一时限内没有接收到反向注册消息,并且所述跳跃限制小于最大跳跃限制,则递增所述跳跃限制(S25);和发送新注册消息(S10)到所述单跳相邻设备,所述新注册消息包括所述递增后的跳跃限制和所述新鲜度指示符。
3.根据权利要求1的方法,还包括从第二设备接收至少一个反向注册消息(S15);和响应于所述反向注册消息中的信息,在所述第一设备上选择性地更新本地数据库(S35)。
4.根据权利要求3的方法,其中所述反向注册消息包括用于所述第二设备的新鲜度指示符、所述第二设备的存在状态和来自所述第二设备的绑定信息中的至少之一;如果用于所述第二设备的新鲜度指示符大于用于所述第一设备的新鲜度指示符,则所述选择性更新步骤响应于所述反向注册消息中的信息,在所述第一设备中更新本地数据库;和所述更新步骤包括设置用于所述第一设备的新鲜度指示符等于用于所述第二设备的新鲜度指示符。
5.根据权利要求4的方法,其中所述绑定信息包括所述第二设备的绑定信息和存储在所述第二设备上其它设备的绑定信息;和所述选择性更新步骤利用所述绑定信息来更新所述本地数据库。
6.一种用于在移动自组织网络(MANET)中在第二设备上(节点1,节点3,节点4)注册第一设备(节点1)的方法,包括接收所述第一设备的注册消息(S50),所述注册消息包括第一新鲜度指示符,所述第一新鲜度指示符指示所述注册消息的新鲜度;和如果所述第一新鲜度指示符小于第二新鲜度指示符,则选择性地发送反向注册消息(S75)到所述第一设备,所述第二新鲜度指示符指示所述第二设备在MANET中的经历等级。
7.根据权利要求6的方法,其中所述注册消息还包括所述第一设备的绑定信息和所述第一设备的存在状态中的至少之一,所述绑定信息将所述第一设备的唯一标识符与所述第一设备的IP地址以及指示所述第一设备的存在的存在状态相关联。
8.根据权利要求6的方法,其中所述注册消息包括跳跃限制;和如果所述第一新鲜度指示符小于第二新鲜度指示符,并且所述第二设备和所述第一设备之间跳跃的次数小于或等于所述跳跃限制,则所述选择性发送步骤发送所述反向注册消息到所述第一设备。
9.根据权利要求8的方法,还包括如果所述第二设备和所述第一设备之间的跳跃次数小于或等于所述跳跃限制,则转发所述注册消息(S80)到没有发送所述注册消息到所述第二设备的所述第二设备的单跳相邻设备,所述转发的注册消息被更改以包括所述跳跃限制减去递减量。
10.根据权利要求6的方法,其中所述注册消息包括跳跃限制;和如果所述第一新鲜度指示符小于第二新鲜度指示符,而且所述跳跃限制大于零,则所述选择性发送步骤发送所述反向注册消息到所述第一设备。
全文摘要
在用于在移动自组织网络(MANET)中注册第一设备(节点1)的方法的实施例中,发送注册消息到单跳相邻设备(S10)。该注册消息包括第一设备的跳跃限制和新鲜度指示符。新鲜度指示符指示第一设备在MANET中的经历等级,而跳跃限制指示对用于转发注册消息的跳跃次数的限制。根据另外一个实施例,接收第一设备的注册消息(S50)。该注册消息包括第一新鲜度指示符,而第一新鲜度指示符指示该注册消息的新鲜度。基于所接收的注册消息,可以发送反向注册消息(S75)和/或可以转发该注册消息(S80)到其他设备。
文档编号H04L29/06GK101083597SQ20061008772
公开日2007年12月5日 申请日期2006年5月31日 优先权日2006年5月31日
发明者陈庆, 牛志生, 钱岭 申请人:朗迅科技公司