Ip双模终端中不同通信系统之间的无缝切换的管理的制作方法_4

文档序号:9420313阅读:来源:国知局
受消息来答复。
[0056]该接受消息被双模终端TI的优选物理网络接口 ph11或ph12,例如,UMTS物理网络接口 Phll接收。在一个优选实施例中,物理网络接口驱动器监视接收的所有数据分组,并把它们传递给由双模终端Tl的操作系统的内核空间的模块Ml导出的virt_change函数,Virt_Change函数根据接受的消息中的信息,配置它自己,以管理远程终端T2的物理和虚拟网络接口 ph21和virt21的真实IP地址和虚拟IP地址,并且virt_change函数将被用于与远程终端T2进行数据分组发射和接收。
[0057]每当连接管理器Cl确定目前用于数据分组发射和接收的物理网络接口要改变时,它发送包含切换连接的请求“切换消息”。假定连接管理器Cl确定现在第二物理网络接口 phl2提供最佳连接,那么切换消息呈“Switch(IP1_P2,IP1_V1) ”的形式,其中指定双模终端Tl中将用于数据分组传输的第二物理网络接口 phl2的IP地址,和双模终端Tl中的虚拟网络接口 virtll的IP地址。
[0058]切换消息被远程终端T2接收,并被模块M2用于配置它自己,以实现正确的地址切换。连接管理器C2随后用包含呈“Acc印t(IP2_Pl,IP2_V1)”形式的接受报告的“接受消息”答复双模终端Tl,并且双模终端Tl中的模块Ml使用该“接受消息”完成切换。
[0059]依据包含切换连接的请求并且呈“Close (IP1_V1) ”形式的“关闭消息”,双模终端Tl能够关闭与远程终端T2的连接。该消息通知远程终端T2中的模块M2,它应停止改变发送给虚拟IP地址IP1_V1或者从虚拟IP地址IP1_V1接收的消息的IP地址。
[0060]最后,远程终端T2答复以包含切换连接的请求并且呈“Close (IP2_V1) ”形式的对应“关闭消息”。该消息通知双模终端Tl中的模块M1,它能够关闭连接,停止改变发送给或接收自远程终端T2的虚拟地址IP2_V1的数据分组的IP地址。
[0061]由两个终端Tl和T2发送和接收的IP数据分组的低级处理由装载在终端Tl和T2中,并且在装载时被配置成与终端Tl和T2的真实物理装置连接,并监视正确TCP端口上的信令信息的模块Ml和M2完成。模块Ml和M2激活与虚拟IP地址关联的虚拟网络接口virtl或virt2,并且除了实现IP地址改变和物理网络接口切换所必需的功能性之外,还提供虚拟网络接口驱动器所必需的一个或多个典型函数(例如,init, open, stop等)。特别地,在一个优选实施例中,这些功能的核心由下面称为virt_change,virt_hw_tx和virt_header的三个函数提供。
[0062]具体地说,virt_change是每次物理网络接口驱动器收到数据分组时,从物理网络接口驱动器调用的,从模块M1,M2导出的函数。为了调用该函数,在处理接收的数据分组之前,物理网络接口的驱动器把接收的数据分组转发给virt_change函数,virt_change函数检查数据分组是否是由连接管理器Cl或C2生成的分组,如果情况如此,那么解释如前所述在两个终端Tl和T2之间交换的命令。在一个优选实施例中,虚拟网络接口的驱动器借助称为VirtualVsReal矩阵的矩阵,保持跟踪由连接管理器Cl或C2管理的每个活动的对等连接,VirtualVsReal矩阵记录虚拟IP地址和真实IP地址的对。virt_change函数读取在接受消息中接收的虚拟IP地址,并且如果该虚拟IP并不存在于该矩阵中,那么它记录该新的虚拟IP-真实IP对。如果该虚拟IP存在,不过由于正在进行切换,真实IP不同,那么虚拟网络接口的驱动器把该新的IP配对记录在该矩阵中。virt_change函数还负责改变接收的数据分组中的IP地址。对于每个接收的IP数据分组,虚拟网络接口驱动器检查源地址是否是登记在矩阵中的真实IP地址之一,如果情况如此,那么它把源地址改变成对应的虚拟地址,并且把目标地址从真实IP改变成它自己的虚拟IP地址。如果需要的话,在改变IP地址之后,虚拟网络接口驱动器重新计算TCP/UDP校验和,使得操作系统不会丢弃已处理的数据分组。
[0063]尽管接收方的数据分组处理完全由Virt_Change函数管理,不过在发射方的对等过程由两个函数:virt_hw_tx和virt_header处理。函数virt_hw_tx实现源地址和目标地址的处理,以及这样修改的分组在正确的物理网络接口队列中的排队。该函数控制VirtualVsReal矩阵的虚拟部分中的目标地址,如果它发现对应关系,那么用真实地址改变目标地址,并用连接管理器用信号通知为当前使用的物理网络接口的物理网络接口的IP地址改变源地址。在IP地址变化之后,UDP或TCP校验和被重新计算,并通过当前使用的物理网络接口传送数据分组。在传送数据分组之前,必须向数据分组附加第2层报头。第2层报头的格式取决于使用的物理网络接口。virt_header函数通过依照应使用的物理网络接口修改第2层报头,解决该问题。
[0064]尽管关于本发明目前优选的实施例,举例说明了本发明的方法和设备,不过显然可对所描述的实施例做出各种修改和替换,并且可实现本发明的众多其它实施例,而不脱离如在下述权利要求中限定的本发明的精神和范围。
【主权项】
1.一种被设计成通过第一和第二通信系统连接到基于IP的网络的双模终端(Tl),所述双模终端(Tl)包括:第一物理网络接口模块(Nll),适于通过第一通信系统与基于IP的网络建立基于分组的通信,所述第一物理网络接口模块(Nll)具有相关联的第一物理网络地址(IP1_P1);第二物理网络接口模块(N12),适于通过第二通信系统与基于IP的网络建立基于分组的通信,所述第二物理网络接口模块(N12)具有相关联的第二物理网络地址(IP1_P2);第一基于IP的协议栈(TCP/IP),适于在所述双模终端(Tl)中的软件应用(Al)和第一及第二物理网络接口模块(N11,N12)之间工作; 其特征在于: 所述第一基于IP的协议栈(TCP/IP)被配置成产生数据分组,所述数据分组具有和与第一虚拟网络接口模块(Ml)相关联的第一虚拟网络地址(IP1_V1)相等的源物理网络地址,以及 其中所述双模终端(Tl)还包括用于在第一和第二通信系统之间执行无缝切换的系统,所述系统包括: -具有相关联的第一虚拟网络地址(IP1_V1)的第一虚拟网络接口模块(Ml),它被配置成把来自第一基于IP的协议栈(TCP/IP)的数据分组的源物理网络地址改变成与所述物理网络接口模块(N11,N12)相关联的物理网络地址(IP1_P1,IP1_P2),以及 -第一连接管理应用程序(Cl),被配置成管理第一和第二物理网络地址(IP1_P1,IP1_P2)中的至少一个以及第一虚拟网络地址(IP1_V1)到所述双模终端(Tl)所通信的接收终端(T2)的传输。2.按照权利要求1所述的双模终端,其中所述第一连接管理应用程序(Cl)还被配置成管理第一和第二物理网络接口模块(Nil,N12),以及所述双模终端(Tl)和所述基于IP的网络之间的连接。3.按照权利要求2所述的双模终端,其中第一连接管理应用程序(Cl)还被配置成确定在双模终端(Tl)中,第一和第二通信系统中的哪一个将被用于连接到所述基于IP的网络,以及执行第一和第二通信系统之间的无缝切换,以保持IP会话连续性。4.按照权利要求3所述的双模终端,其中所述第一连接管理应用程序(Cl)还被配置成与第一和第二物理网络接口模块(N11,N12)协作,以确定对于到所述基于IP的网络的连接来说,第一和第二通信系统中的哪一个具有最佳传播条件。5.按照权利要求4所述的双模终端,其中第一连接管理应用程序(Cl)还被配置成根据接收的信号强度指示(RSSI),确定第一和第二通信系统中的哪一个具有所述最佳传播条件。6.按照权利要求2所述的双模终端,其中第一连接管理应用程序(Cl)还被配置成管理与第一及第二通信系统之间的切换的发生有关的信息通过第一和第二通信系统之一和所述基于IP的网络的传输。7.一种被设计成通过基于IP的网络与任意前述权利要求所述的双模终端(Tl)建立基于分组的通信的单模终端(T2
当前第4页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1