首页 / 国际专利分类库 / 电学 / 电通信技术 / 无线通信网络 / 切换或重选装置 / .重选网络或空中接口 / IP双模终端中不同通信系统之间的无缝切换的管理

IP双模终端中不同通信系统之间的无缝切换的管理

申请号 CN201510474985.6 申请日 2006-10-31 公开(公告)号 CN105141588A 公开(公告)日 2015-12-09
申请人 意大利电信股份公司; 发明人 R·梵提尼; G·F·卡萨特罗; A·拉斯托;
摘要 一种被设计成通过第一通信系统和第二通信系统连接到基于IP的网络的双模终端,双模终端包括第一物理网络 接口 模 块 ,通过第一通信系统与基于IP的网络建立基于分组的通信,通过具有第一物理网络地址的第一物理网络接口可 访问 第一物理网络接口模块;第二物理网络接口模块,通过第二通信系统与基于IP的网络建立基于分组的通信,通过具有第二物理网络地址的第二物理网络接口可访问第二物理网络接口模块;基于IP的协议栈,在双模终端中的 软件 应用和这些物理网络接口模块之间工作;用于在连接到基于IP的网络期间在第一和第二通信系统之间执行无缝切换的系统,其中该系统包括通过具有虚拟网络地址的虚拟网络接口访问的虚拟网络物理网络接口模块。
权利要求

1.一种被设计成通过第一和第二通信系统连接到基于IP的网络的双模终端(T1),所述双模终端(T1)包括:第一物理网络接口(N11),适于通过第一通信系统与基于IP的网络建立基于分组的通信,所述第一物理网络接口模块(N11)具有相关联的第一物理网络地址(IP1_P1);第二物理网络接口模块(N12),适于通过第二通信系统与基于IP的网络建立基于分组的通信,所述第二物理网络接口模块(N12)具有相关联的第二物理网络地址(IP1_P2);第一基于IP的协议栈(TCP/IP),适于在所述双模终端(T1)中的软件应用(A1)和第一及第二物理网络接口模块(N11,N12)之间工作;
其特征在于:
所述第一基于IP的协议栈(TCP/IP)被配置成产生数据分组,所述数据分组具有和与第一虚拟网络接口模块(M1)相关联的第一虚拟网络地址(IP1_V1)相等的源物理网络地址,以及
其中所述双模终端(T1)还包括用于在第一和第二通信系统之间执行无缝切换的系统,所述系统包括:
-具有相关联的第一虚拟网络地址(IP1_V1)的第一虚拟网络接口模块(M1),它被配置成把来自第一基于IP的协议栈(TCP/IP)的数据分组的源物理网络地址改变成与所述物理网络接口模块(N11,N12)相关联的物理网络地址(IP1_P1,IP1_P2),以及-第一连接管理应用程序(C1),被配置成管理第一和第二物理网络地址(IP1_P1,IP1_P2)中的至少一个以及第一虚拟网络地址(IP1_V1)到所述双模终端(T1)所通信的接收终端(T2)的传输。
2.按照权利要求1所述的双模终端,其中所述第一连接管理应用程序(C1)还被配置成管理第一和第二物理网络接口模块(N11,N12),以及所述双模终端(T1)和所述基于IP的网络之间的连接。
3.按照权利要求2所述的双模终端,其中第一连接管理应用程序(C1)还被配置成确定在双模终端(T1)中,第一和第二通信系统中的哪一个将被用于连接到所述基于IP的网络,以及执行第一和第二通信系统之间的无缝切换,以保持IP会话连续性。
4.按照权利要求3所述的双模终端,其中所述第一连接管理应用程序(C1)还被配置成与第一和第二物理网络接口模块(N11,N12)协作,以确定对于到所述基于IP的网络的连接来说,第一和第二通信系统中的哪一个具有最佳传播条件。
5.按照权利要求4所述的双模终端,其中第一连接管理应用程序(C1)还被配置成根据接收的信号强度指示(RSSI),确定第一和第二通信系统中的哪一个具有所述最佳传播条件。
6.按照权利要求2所述的双模终端,其中第一连接管理应用程序(C1)还被配置成管理与第一及第二通信系统之间的切换的发生有关的信息通过第一和第二通信系统之一和所述基于IP的网络的传输。
7.一种被设计成通过基于IP的网络与任意前述权利要求所述的双模终端(T1)建立基于分组的通信的单模终端(T2),所述单模终端(T2)包括:第三物理网络接口模块(N21),适于通过第三通信系统与基于IP的网络建立基于分组的通信,所述第三物理网络接口模块(N21)具有相关联的第三物理网络地址(IP2_P1);第二基于IP的协议栈(TCP/IP),适于在所述单模终端(T2)中的软件应用(A2)和所述第三物理网络接口模块(N21)之间工作;
其特征在于,
所述第二基于IP的协议栈(TCP/IP)被配置成产生数据分组,所述数据分组具有和与第二虚拟网络接口模块(M2)相关联的第二虚拟网络地址(IP2_V1)相等的源物理网络地址,以及与第一虚拟网络接口模块(M1)的第一虚拟网络地址(IP1_V1)相等的目标物理网络地址;以及
所述单模终端还包括:用于在通过基于IP的网络连接到所述双模终端(T1)期间保持IP会话连续性的系统,所述系统包括:
第二连接管理应用程序(C2),被配置成接收来自于所述单模终端(T2)所通信的发送终端(T1)的第一和第二物理网络地址(IP1_P1,IP1_P2)中的至少一个以及第一虚拟网络地址(IP1_V1)的传输,以及
具有相关联的第二虚拟网络地址(IP2_V1)的第二虚拟网络接口模块(M2),被配置成把来自所述第二基于IP的协议栈(TCP/IP)的数据分组的源物理网络地址改变成与第三物理网络接口模块(N21)相关联的第三物理网络地址(IP2_P1),并且把来自所述第二基于IP的协议栈(TCP/IP)的数据分组的目标物理网络地址改变成与所述双模终端(T1)用于数据传输的所述物理网络接口模块(N11,N12)相关联的物理网络地址(IP1_P1,IP1_P2)。
8.按照权利要求7所述的单模终端,其中第二虚拟网络接口模块(M2)还被配置成把从双模终端(T1)接收的数据分组的源物理网络地址改变成和第一虚拟网络接口模块(M1)相关联的第一虚拟网络地址(IP1_V1),并且把从双模终端(T1)接收的数据分组的目标物理网络地址改变成与第二虚拟网络接口模块(M2)相关联的第二虚拟网络地址(IP2_V1)。
9.按照权利要求7或8所述的单模终端,其中所述第三物理网络接口模块(N21)还被配置成检查接收的数据分组的源物理网络地址是否和与第一及第二物理网络接口模块(N11,N12)相关联的物理网络地址(IP1_P1,IP1_P2)之一匹配,并且在肯定地匹配的情况下,把接收的数据分组传递给第二虚拟网络接口模块(M2)。
10.按照权利要求7或8所述的单模终端,其中所述保持IP会话连续性的系统还包含被配置成管理第三物理网络接口模块(N21),和单模终端(T2)与基于IP的网络之间的连接的第二连接管理应用程序(C2)。
11.按照权利要求10所述的单模终端,其中第二连接管理应用程序(C2)还被配置成管理通过第三通信系统和基于IP的网络向所述双模终端(T1)传输与第二虚拟网络接口模块(M2)相关联的第二虚拟网络地址(IP2_V1)以及与第三物理网络接口模块(N21)相关联的第三物理网络地址(IP2_P1)。
12.按照权利要求10所述的单模终端,其中第二连接管理应用程序(C2)还被配置成管理第二虚拟网络接口模块(M2)通过第三通信系统和基于IP的网络,从双模终端(T1)接收和利用与第一虚拟网络接口模块(M1)相关联的第一虚拟网络地址(IP1_V1)、与第一和第二物理网络接口模块(N11,N12)相关联的第一和第二物理网络地址(IP1_P1,IP1_P2),以及与双模终端(T1)中第一和第二通信系统之间切换的发生有关的信息。
13.按照权利要求1所述的用于通过基于IP的网络与按照权利要求7-12任意之一所述的单模终端(T2)通信的双模终端,其中所述第一基于IP的协议栈(TCP/IP)还被配置成产生数据分组,所述数据分组具有和与第二虚拟网络接口模块(M2)相关联的第二虚拟网络地址(IP2_V1)相等的目标物理网络地址;并且所述第一虚拟网络接口模块(M1)还被配置成把来自第一基于IP的协议栈(TCP/IP)的数据分组的目标物理网络地址改变成与第三物理网络接口模块(N21)相关联的第三物理网络地址(IP2_P1)。
14.按照权利要求13所述的双模终端,其中第一虚拟网络接口模块(M1)还被配置成把来自单模终端(T2)的数据分组的源物理网络地址改变成与第二虚拟网络接口模块(M2)相关联的第二虚拟网络地址(IP2_V1),并且把来自单模终端(T2)的数据分组的目标物理网络地址改变成与第一虚拟网络接口模块(M1)相关联的第一虚拟网络地址(IP1_V1)。
15.按照权利要求13所述的双模终端,其中双模终端(T1)中的物理网络接口模块(N11,N12)还被配置成检查接收的数据分组的源物理网络地址是否和与第三物理网络接口模块(N21)相关联的第三物理网络地址(IP2_P1)匹配,在肯定地匹配的情况下,把接收的数据分组传递给第一虚拟网络接口模块(M1)。
16.按照权利要求13所述的双模终端,其中第一连接管理应用程序(C1)还被配置成管理第一虚拟网络接口模块(M1)通过第一和第二通信系统之一以及所述基于IP的网络,从单模终端(T2)接收和使用与第二虚拟网络接口模块(M2)相关联的第二虚拟网络地址(IP2_V1)以及与第三物理网络接口模块(N21)相关联的第三物理网络地址(IP2_P1)。
17.按照权利要求1-6和13-16任意之一所述的双模终端,其中双模终端(T1)中的第一和第二物理网络接口模块(N11,N12)分别是通用移动通信系统(UMTS)物理网络接口模块和无线局域网(WLAN)物理网络接口模块。
18.按照权利要求17所述的双模终端,其中第一连接管理应用程序(C1)还被配置成当接收信号强度指示(RSSI)高于预定阈值时,通过无线局域网(WLAN)物理网络接口模块与基于IP的网络进行连接,并且当接收信号强度指示(RSSI)降到预定阈值之下时,检查通用移动通信系统(UMTS)网络的存在,并且在检查结果是肯定的情况下,切换到通用移动通信系统(UMTS)物理网络接口模块。
19.按照权利要求17所述的双模终端,其中第一连接管理应用程序(C1)还被配置成当接收信号强度指示(RSSI)高于第一预定阈值时,使双模终端(T1)通过无线局域网(WLAN)物理网络接口模块连接到基于IP的网络,当接收信号强度指示(RSSI)降到第一预定阈值之下时,检查通用移动通信系统(UMTS)网络的存在,并在检查结果是肯定的情况下,通过通用移动通信系统(UMTS)物理网络接口模块发送假数据分组,以便预热到通用移动通信系统(UMTS)网络的连接并避免在数据连接的建立过程中,由通用移动通信系统(UMTS)网络引入的额外延迟,以及当接收信号强度指示(RSSI)降到低于第一预定阈值的第二预定阈值之下时,切换到通用移动通信系统(UMTS)物理网络接口模块。
20.一种通信系统,包含按照权利要求1-6和13-19任意之一所述的双模终端(T1),和按照权利要求7-12任意之一所述的单模终端(T2),双模终端(T1)和单模终端(T2)都被配置成通过基于IP的网络建立连接。

说明书全文

IP双模终端中不同通信系统之间的无缝切换的管理

[0001] 本申请是申请日为2006年10月31日的、申请号为200680056674.7(国际申请号为PCT/EP2006/010468)以及发明名称为“IP双模终端中不同通信系统之间的无缝切换的管理”的发明专利申请的分案申请。

技术领域

[0002] 本发明涉及通信系统,更具体地说,涉及IP双模终端,即,借助不同的通信技术提供与因特网的连通性的双模终端中,不同通信系统之间的无缝切换的管理。

背景技术

[0003] 已知双模移动通信设备是一种用于连接不同的无线通信网络,尤其是蜂窝和非蜂窝无线电通信网络,以进行语音和数据通信的设备。例如,第三代(3G)双模移动通信设备通过UMTS/W-CDMA蜂窝无线电通信网络,和例如基于IEEE 802.11规范的WLAN(Wi-Fi)无线电通信网络,能够提供与因特网的连通性。提供蜂窝(2G/3G)和WLAN连通性的双模移动通信设备的可用性,加之WLAN热区的全球性部署已提高了对WLAN通信系统与2.5G和3G蜂窝通信系统的集成(互操作性)的可能解决方案的兴趣,目的在于给双模移动通信设备提供采用多种无线电接入网络的能(多接入能力),以及在不同的通信网络之间切换而对最终用户感知的服务质量(QoS)的影响可忽略不计的能力(垂直切换)。
[0004] 取决于在不同网络之间需要的集成平,可考虑几种方法来结合不同的无线电接入技术(RAT)。当不同RAT之间的集成较紧密时,服务供应更高效,并且能够提供最佳无线电接入条件的RAT的选择更快速、更简单。紧密的RAT集成的另一优点是两个不同通信网络之间的垂直切换所需时间的缩短,而对最终用户感知的QoS的影响较小。另一方面,两个不同通信网络之间的高水平集成需要更多的工作来定义允许不同RAT之间的必要数据交换和信令的接口和机制。这种情况下,如在非授权移动接入(UMA)标准中提出的那样,在ISO-OSI协议栈的L2/L3层发生集成。
[0005] 即使在RAT之间不存在真实的集成,由于按照网际协议(IP)的网络接入技术的共存,垂直切换也是可能的。不过,如果不采取对策,当用户在不同的网络接入技术和/或网络接入提供商之间切换时,会出现问题:因为IP地址被分配给网络中的固定位置,当网络位置(接入技术和/或提供商)变化时,应分配新的IP地址。这使对因特网的透明移动接入变得不可能,导致IP应用程序被重启,其结果是当前会话的丢失。此外,如果除了IP之外还使用传输控制协议(TCP),像大多数IP链路中那样,那么连接还由包含与源主机和目标主机中的IP地址和端口号有关的指示的数字四元组指定。如果这四个数字之一被改变,那么会导致TCP/IP连接的中断。
[0006] 为了解决这些问题,提出了不同的技术,所述不同技术可根据提供解决方案所在的ISO-OSI协议栈的层来划分,具体来说,可被划分成在网络层(例如IP层)提供解决方案的技术,在传输层(例如TCP/UDP(用户数据报协议))提供解决方案的技术,和在更高的层(例如,套接字或应用层)提供解决方案的技术。
[0007] 所谓的移动IP代表了试图在网络层解决端对端主机移动性问题的解决方案,移动IP是由互联网工程任务组(IETF)RFC 2002定义的一种开放式标准,它既是IPv4标准的一部分,又是IPv6标准的一部分,它允许用户在IP网络之间漫游的时候,保持相同的IP地址,保持被连接,并且维持正在进行的应用程序。移动IP为用户提供无处不在的连通性,并且由于它是以IP为基础的,因此对因特网来说是可伸缩(scalable)的。
[0008] 更详细地说,移动IP试图通过使用从相应主机到移动节点的所有分组的一定程度的间接路由或三路由,在网络层解决主机移动性问题。
[0009] 这种间接路由是通过使用“本地代理”和“外部代理”来实现的,“本地代理”和“外部代理”是向移动节点提供服务的代理。尽管移动IP很好地解决了主机移动性和可达性问题,不过它没有解决传输连接失败(例如,传输端点的任何变化会导致会话失败)。一般来说,依赖于传输会话连通性的应用程序需要被重新启动,并且不得不建立新的传输连接。移动IP的其它缺点包括三角路由不是最佳的,以及IP隧道技术的大量使用。由于安全原因,服务提供商一般不允许将分组隧道化。此外,由于服务拒绝(DOS)攻击的频率增大,服务提供商对到来的分组进行入口过滤,以确保到来的分组确实来自它们声称源自的网络,并阻止源地址虚假的那些分组。尽管利用反向隧道也可解决入口过滤问题,不过反向隧道会导致网络资源的进一步次最佳使用,并且在两个端点之间增加额外的分组延迟。
[0010] 试图在传输层或者更高层解决端对端主机移动性问题的解决方案通常或者把连接分成多段,通过向TCP状态机增加新的消息和状态修改标准TCP实现,或者在尝试重新建立连接的时候,欺骗应用程序相信连接仍然存在。
[0011] 例如,在传输层级别工作的一种解决方案是所谓的移动套接字(MSOCKS),它对连接重定向使用分段连接代理。MSOCKS在移动节点及其对应主机之间的通信路径中插入一个代理,并使用TCP接合机制把连接分成多段,并且从而向对应主机隐瞒移动节点的移动性问题。不过,增加通信路径代理会显著恶化服务。
[0012] 其它传输层级别的技术在应用程序和套接字应用编程接口(API)之间引入一个库,所述库保持连续连接情况下的单一、完整连接的假象。所有这些方法要求链接应用程序与它们各自(特有)的库。完整连接的假象是通过欺骗应用程序相信传输会话仍然有效(即使传输会话已关闭)获得的。中间库随后试图重新建立(新的)传输连接,并把新的传输连接映射到使用该传输连接的应用程序。这样的解决方案的实现,以及所涉及的操作困难包括使诸如I/O轮询,异步和非阻塞I/O进程的机制虚拟化,对计时器和信号处理器的需求,和对诸如“wait”、“kill”和“exec”之类额外的进程控制接口的需求。
[0013] 在应用层级别工作的解决方案使用会话发起协议(SIP)。这种情况下,如果在会话期间终端需要改变其IP地址,那么通过发送指定新IP地址和更新的会话参数的新的INVITE消息,终端能够通知其对应的主机。由于位于应用层,因此SIP依赖于较低层中的协议和机制来处理物理网络连接。于是,为了监视无线电链路层质量,和在发送SIP re-INVITE消息之前把终端连接到新的无线网络(从而获得新的IP地址),需要额外的程序。此外,这种机制只适用于依赖于SIP来管理会话的应用程序,和为支持这种IP改变过程而设计的应用程序。
[0014] 另一种解决方案提供一种通过修改传输层协议和端应用程序,实现端对端主机移动性的机制。这种修改向TCP有限状态机增加新的状态和语义,并定义新的TCP选项以协商连接的迁移。其他技术或者涉及改变TCP报头、分组格式、协议语义,或者在分组中增加额外报头。不过,这些技术的缺点在于为了利用新特征,最终用户应用程序必须知道该新特征,意味要求改变现有的应用程序。
[0015] WO 02/43348公开一种异种通信网络之间切换的方法,尤其是一种保持第一移动单元和第二单元之间的通信的方法,其中第一单元通过第一通信网络通信,并且第二单元通过第二通信网络通信。第一单元包括第一协议栈,并且第二单元包括第二协议栈。第一单元包括第一会话层,第一会话层适合于在第一单元内工作,起第一协议栈和第一软件组件之间的接口的作用。类似地,第二单元包括第二会话层,第二会话层适合于在第二单元内工作,起第二协议栈和第二软件组件之间的接口的作用。第一单元包括与适合于不同通信网络的驱动例程相关联的一个或多个第一通信硬件。当第一单元从第一通信网络切换到第三通信网络时,第一会话层通过选择第三通信网络所需的第一通信硬件和驱动例程,保持通信。第一单元和第二单元的相应身份由第一和第二会话层保持,在第一单元切换通信网络期间,这些身份被保留。
[0016] WO 2005/076651公开一种移动设备在异种网络中无缝切换的方法和系统。移动设备在不同拓扑网络位置之间移动,并借助不同的网络接入技术发射和/或接收数据,而在运行于移动设备上的客户端IP应用程序和被中断的服务器IP应用程序之间无数据传输,其中移动设备的客户端IP应用程序利用第一数据单元向客户端服务模发出请求,其中客户端服务模块根据接收的第一数据单元创建第二数据单元,并利用第二数据单元向服务器服务模块发出请求,其中服务器服务模块根据接收的第二数据单元创建第三数据单元,并利用第三数据单元向服务器IP应用程序发出请求,从而处理客户端IP应用程序和服务器IP应用程序之间的数据交换。
[0017] 在US 2005/0198384中公开一种在套接字层的级别工作,并且涉及分组网络中的端点地址改变的解决方案,其中无缝传输端点移动性(STEM)体系结构把传输连接端点从旧的IP地址迁移到新的IP地址,而不丢失会话。迁移过程是在两个端点自身之间协商的。传输端点移动性包括两个STEM端口监督程序(daemon)之间的通信,每个端点中一个STEM端口监督程序,每个STEM端口监督程序动态更新与该会话相关联的内核数据结构(例如,与TCP/IP应用程序相关的5元组的元素)。对于把底层传输连接用于数据传输的应用程序来说,迁移是透明的。
[0018] WO 02/103978公开一种异种网络中的移动IP方法,其中移动节点的接口管理模块检查可用的物理网络接口的移动节点,利用可用和可配置的物理网络接口拟定查寻表,并把它自己与可用的物理网络接口之一链接。移动节点的IP应用程序通过在移动节点中产生的虚拟IP网络接口接入异种网络,永久的虚拟IP网络接口通过接口管理模块与当前网络连接。在移动节点的物理网络接口的变化过程中,根据查寻表,借助于接口管理模块更新永久虚拟IP网络接口与网络的链接。特别地,该发明涉及一种异种网络中具有实时应用程序的移动节点的方法。
[0019] WO 03/065654公开一种基于网际协议的无线通信方案,该方案允许诸如个人数字助手或者移动电话之类的移动设备利用WPAN和WLAN基础结构或者比如GPRS或3G的蜂窝系统,与因特网或另一基于IP的网络连接。提出了名为多标准无线自适应层(MWAL)的用于客户端设备MT的无线网络驱动软件结构,该客户端设备MT可便携,需要高效地从一种无线标准切换到另一种无线标准,并且即使当在无线通信标准之间切换时,也必须能够在因特网和其它基于IP的网络中保持被连接和可到达。这种技术是一种适合于纵向市场和专有解决方案的第2层技术,其中MWAL使客户端设备MT能够在无线通信标准之间实现垂直切换。

发明内容

[0020] 申请人注意到尽管存在所有上述解决方案,不过仍然需要一种允许以完全透明和自动的方式,在会话持续的情况下,即在不延迟或中断活动的网络应用程序或会话的情况下,管理不同网络接入技术之间的切换的解决方案。
[0021] 本发明至少部分实现了这种需要,因为本发明涉及一种如在附加权利要求中限定的被设计成在双模终端中实现不同通信系统之间的无缝切换的双模终端。本发明还涉及如在附加权利要求中限定的与所述双模终端通信并支持双模终端中的无缝切换的IP单模终端,以及在双模终端中实现不同通信系统之间的无缝切换的系统和软件产品。
[0022] 特别地,本发明是通过在双模终端的操作系统中引入包含虚拟网络接口的网络子层实现上述需要的,所述虚拟网络接口是一种能够处理输入和输出的数据分组,并且驻留于物理装置中并在该物理装置上运行的软件应用,所述物理装置下面被称为物理网络接口模块。物理网络接口模块负责发射和接收数据分组,并作为网络接口驱动器的主机,所述网络接口驱动器操作系统提供物理网络接口模块的服务,向操作系统隐藏物理网络接口模块使用的实际传输机制。
[0023] 在一个优选实施例中,双模终端包含两个物理网络接口模块,所述两个物理网络接口模块通过两种不同的接入技术,具体地说是两种不同的无线电接入技术提供数据分组的发射和接收。双模终端的操作系统可通过具有第一IP地址的第一物理网络接口访问第一物理网络接口模块,而通过具有第二IP地址的第二物理网络接口,可访问第二物理网络接口。除了这两个物理网络接口模块之外,在双模终端中设置一个虚拟网络接口模块,所述虚拟网络接口模块由双模终端的操作系统的内核的适当模块构成。虚拟网络接口模块可通过具有虚拟IP地址的虚拟网络接口被访问,并根据哪个物理网络接口模块正处于最佳的传播条件,通过物理网络接口模块接收和发射输入和输出数据分组。
[0024] 另外,由远程终端的操作系统的内核的适当模块,在远程终端中提供可通过具有自己的虚拟IP地址的虚拟网络接口访问的另一个虚拟网络接口模块,该虚拟网络接口分派往/来于包括在远程终端中并具有自己的IP地址的物理网络接口的数据分组。双模终端中的路由表和远程终端中的路由表被保存,以便把以虚拟IP地址为目的地的数据分组路由给双模终端和远程终端的虚拟网络接口。当双模终端中的应用程序打开与远程终端中的应用程序的连接时,双模终端将把数据分组从其虚拟IP地址发送给远程终端的虚拟IP地址。具体地说,数据分组被路由给双模终端中的虚拟网络接口模块,虚拟网络接口模块按照这样的方式改变与数据分组相关联的IP地址,使得目标IP地址被改变成远程终端中的物理网络接口的IP地址,并且源IP地址被改变成该双模终端中的物理网络接口的IP地址以用于数据传输,即第一IP地址(如果第一物理网络接口被使用的话),或者第二IP地址(如果第二物理网络接口被使用的话)。随后,数据分组通过因特网被路由给远程终端中的物理网络接口模块,在那里被接收。远程终端中的物理网络接口模块被这样配置,使得当接收源IP地址等于双模终端中的物理网络接口的IP地址之一的数据分组时,该数据分组被传递给远程终端中的虚拟网络接口模块。虚拟网络接口模块按照这样的方式改变与数据分组相关联的IP地址,使得源IP地址从双模终端中的物理网络接口模块的物理网络接口的IP地址变成双模终端中的虚拟网络接口的虚拟IP地址,并且目标IP地址从远程终端中的物理网络接口模块的物理网络接口的IP地址变成远程终端中的虚拟网络接口模块的虚拟网络接口的虚拟IP地址。随后,数据分组由虚拟网络接口模块传递给接收它们的应用程序。当远程终端应答时遵循相同的步骤,把IP数据分组从远程终端的虚拟网络接口发送给双模终端中的虚拟网络接口。
[0025] 为了实现上面说明的步骤,在开始IP连接之前,双模终端和远程终端必须交换和它们的物理IP地址和虚拟IP地址有关的信息,并且如果双模终端决定改变用于数据发射和接收的物理网络接口模块,那么它应通知远程终端该IP数据分组将被新的物理网络接口模块的新IP地址接收,而不是先前的IP地址接收。通过分别用信号通知在双模终端和远程终端中运行的软件应用,管理所述信息的交换。附图说明
[0026] 为了更好地理解本发明,下面参考附图说明优选实施例,优选实施例仅仅作为例子,而不是对本发明的限制,其中:
[0027] 图1按照本发明的一个优选实施例,表示配置成在双模终端中实现不同通信系统之间的无缝切换的双模终端和远程终端的方框图;和
[0028] 图2表示在IP会话期间,在双模终端和远程终端之间交换的消息。

具体实施方式

[0029] 为使本领域的技术人员能够实现和使用本发明,提供了下述说明。对本领域的技术人员来说,对实施例的各种修改是显而易见的,这里的一般原理可应用于其它实施例和应用,而不脱离本发明的范围。从而,本发明并不局限于所示的实施例,相反应被赋予与这里公开的,并在下面的说明及附加权利要求中定义的原理和特征一致的最宽广范围。
[0030] 图1按照本发明的一个优选实施例,表示配置成通过比如因特网的基于IP的网络通信,并在双模终端中实现和支持不同通信系统之间的无缝切换的双模移动终端T1和远程移动终端T2的方框图。
[0031] 为双模终端T1和远程终端T2各自提供操作系统,所述操作系统具有负责终端的资源分配和管理的内核空间,和负责用户的软件应用执行管理的用户空间。特别地,内核空间向各个软件应用提供对终端的硬件资源的安全访问,并且管理每个软件应用对终端的硬件资源的使用(何时和多久)。
[0032] 特别地,双模终端T1在所述内核空间中包括:
[0033] ·第一物理网络接口模块N11,在一个优选实施例中是通用移动通信系统(UMTS)模块,通过具有第一IP地址IP1_P1的第一物理网络接口ph11可访问,并且适于通过第一无线通信网络(在本实施例中是UMTS)接收和发射输入和输出的TCP/IP数据分组;
[0034] ·第二物理网络接口模块N12,在一个优选实施例中是无线局域网(WLAN)调制解调器,通过具有第二IP地址IP1_P2的第二物理网络接口ph12可访问,并且适于通过第二无线通信网络(在本实施例中是WLAN)接收和发射输入和发射输出的TCP/IP数据分组;
[0035] ·传输控制协议/网际协议(TCP/IP)栈,适合于在用户的软件应用和第一及第二物理网络接口模块N11、N12之间操作;和
[0036] ·由操作系统的内核的一个模块(下面称为虚拟网络接口模块M1)提供的具有虚拟IP地址IP1_V1的虚拟网络接口virt11,适合于在TCP/IP协议栈和第一及第二物理网络接口模块N11,N12之间操作,从而根据预定的资源管理策略,例如,根据物理网络接口模块N11或N12中的哪一个的传播条件最佳,通过物理网络接口ph11或ph12接收和发射输入和输出的TCP/IP数据分组。
[0037] 在其它实施例中,物理网络接口模块可适合于按照除UMTS或WLAN外的通信系统,例如按照下述之一或多个:GSM、CDMA2000、WiMAX、蓝牙,或者任何其它适当的无线通信系统,或次优选的有线通信系统,与基于IP的网络通信。
[0038] 类似地,远程终端T2(在图1中所示的例子中是单模终端)在内核空间中包括:
[0039] ·可通过具有IP地址IP2_P1的物理网络接口ph21访问,并且适合于通过无线通信网络接收和发射输入和输出的数据分组的物理网络接口模块N21。在优选实施例中,物理网络接口模块N21可以是与UMTS通信网络连接的UMTS模块。在一个不同的实施例中,远程终端T2可以是与局域网(LAN)连接的服务器或终端。在后一情况下,物理网络接口模块N21可以是连接到局域网(LAN)的以太网卡;
[0040] ·适合于在用户的软件应用和物理网络接口模块N21之间操作的TCP/IP协议栈;和
[0041] ·具有虚拟IP地址IP2_V1并且由操作系统的内核的一个模块(下面称为虚拟网络接口模块M2)提供的虚拟网络接口virt21,适合于在TCP/IP协议栈PS和物理网络接口模块N21之间操作,从而通过物理网络接口ph21接收和发射输入和输出的TCP/IP数据分组。
[0042] 另一方面,远程终端T2本身可以是能够通过两个不同的物理网络接口模块(例如,和前面关于双模终端T1说明的类似),与基于IP的网络通信的双模终端。
[0043] 在一个优选实施例中,每个虚拟IP地址唯一地识别相应终端中的虚拟网络接口。通过与网络运营商提供的远程服务器,例如DHCP(动态主机配置协议)服务器的连接,该虚拟IP地址可被静态或动态地分配给虚拟网络接口。一旦终端连接到因特网,就能够通过物理网络接口ph11或者ph12中的一个建立与远程服务器的连接。
[0044] 双模终端T1和远程终端T2在用户空间中各自分别包括:
[0045] ·一个或多个用户的软件应用A1、A2;和
[0046] ·信令软件应用,下面称为连接管理器C1、C2。
[0047] 特别地,双模终端T1的连接管理器C1具有下述任务:
[0048] -管理第一和第二物理网络接口ph11和ph12。具体地说,连接管理器C1与WLAN和UMTS物理网络接口N11和N12对话,以监视其链路质量。关于哪个接口将被用于数据分组发射和接收的决定是以报告的接收信号强度指示(RSSI)值为基础的。
[0049] -管理活动的端对端连接。具体地说,连接管理器C1处理与远程终端T2的连接,并且一般而言是与支持IP会话连续性的所有远程终端的连接,向远程终端T2提供双模终端T1的物理和虚拟网络接口ph11、ph12和virt11的虚拟和物理IP地址IP1_P1、IP1_P2和IP1_V1,并且当发生物理网络接口ph11和ph12之间的切换时,用信号通知该事件。在一个优选实施例中,通过TCP连接,把物理网络接口ph11和ph12之间的切换用信号通知远程终端T2,该TCP连接始终被保持在UMTS网络上,因为该网络比WLAN网络更可靠。
[0050] 更具体地说,就第一项任务来说,双模终端T1的连接管理器C1与UMTS和WLAN物理网络接口模块N11和N12对话,并定期检查这两个连接的状态,以便决定哪个物理网络接口模块将被用于数据传输。用于选择最佳连接的算法可由网络运营商配置。在一个优选实施例中,每当可获得RSSI水平高于保证良好QoS的某一阈值的WLAN连接时,就选择与该WLAN的连接。如果WLAN网络的RSSI低于所述阈值,那么连接管理器C1检查UMTS网络的存在性,并且把双模终端T1的虚拟网络接口virt11切换到UMTS网络。在另一实施例中,可以使用双重阈值:当WLAN网络的RSSI低于第一阈值时,连接管理器C1检查UMTS网络的存在性,并开始发送短的假数据分组以便“预热”该连接。这样做是为了避免在数据连接的建立过程中,由UMTS网络引入的额外延迟。借助这些假数据分组传输,当要求切换时,UMTS链路将是充分可用和响应的。如果WLAN的RSSI继续下降,并且低于第二阈值时,则发生链路切换。
[0051] 可以采用另外的或者备选的资源管理策略来选择将用于数据传输的连接(例如,当两个连接的传输质量都良好时)以例如优化与相应网络接口链接的两个通信系统上可用的无线电资源的使用。
[0052] 就第二项任务来说,双模终端T1的连接管理器C1与远程终端T2的连接管理器C2交换信令信息。图2表示在通信会话期间,双模终端T1和远程终端T2的连接管理器C1和C2之间的消息交换。
[0053] 每当在双模终端T1上运行的应用程序A1请求开放与支持IP会话连续性的远程终端(在图1中所示的例子中,远程终端T2)的连接时,连接管理器C1向连接管理器C2发送包含开放连接的请求的“开放消息”。假定连接管理器C1确定第一物理网络接口ph11提供最佳连接,则开放消息呈“Open(IP1_P1,IP1_V1)”的形式,其中指定双模终端T1中将被用于数据分组传输的第一物理网络接口ph11的IP地址,和双模终端T1中的虚拟网络接口virt11的IP地址。这样,远程终端T2被告知双模终端T1希望开始IP会话,并且双模终端T1使用具有IP地址IP1_V1的虚拟网络接口,该虚拟网络接口通过具有IP地址IP_P1的物理网络接口传送数据分组。该第一消息包含信令数据分组,所述信令数据分组是在更可靠的链路,比如UMTS链路上通过TCP信道发送的(如果双模终端T1是3g-WLAN双模手机的话),并且被远程终端T2的物理网络接口模块N21接收。
[0054] 在一个优选实施例中,物理网络接口模块N21的驱动器监视接收的的所有数据分组,并把它们传给下面称为vrit_change函数的函数,该函数由远程终端T2的操作系统的内核空间的模块M2导出,并检查接收的数据分组是否寻址到连接管理器C2正在那里等待消息的远程终端T2的TCP端口。如果情况如此,那么virt_change函数解析该消息,并提取模块M2正确运行所需的信息。借助该解决方案,模块M2读取在连接管理器C1和C2之间交换的信令信息,并独立配置它自己。连接管理器C2用包含呈“Accept(IP2_P1,IP2_V1)”形式的接受报告的“接受消息”,来答复双模终端T1,在所述接受报告中,指定了远程终端T2中的虚拟网络接口virt21的IP地址IP2_V1和远程终端T2中的物理网络接口ph21的IP地址IP2_P1。
[0055] 在另一实施例中,开放请求被连接管理器C2接收,连接管理器C2通过由虚拟驱动器暴露的适当方法(例如,ioctl调用,参见J.Corbet,A.Rubini,G.Kroah-Hartman编辑的“Linux Device Drivers”,O'Reilly),配置模块M2,并且随后以接受消息来答复。
[0056] 该接受消息被双模终端T1的优选物理网络接口ph11或ph12,例如,UMTS物理网络接口ph11接收。在一个优选实施例中,物理网络接口驱动器监视接收的所有数据分组,并把它们传递给由双模终端T1的操作系统的内核空间的模块M1导出的virt_change函数,virt_change函数根据接受的消息中的信息,配置它自己,以管理远程终端T2的物理和虚拟网络接口ph21和virt21的真实IP地址和虚拟IP地址,并且virt_change函数将被用于与远程终端T2进行数据分组发射和接收。
[0057] 每当连接管理器C1确定目前用于数据分组发射和接收的物理网络接口要改变时,它发送包含切换连接的请求“切换消息”。假定连接管理器C1确定现在第二物理网络接口ph12提供最佳连接,那么切换消息呈“Switch(IP1_P2,IP1_V1)”的形式,其中指定双模终端T1中将用于数据分组传输的第二物理网络接口ph12的IP地址,和双模终端T1中的虚拟网络接口virt11的IP地址。
[0058] 切换消息被远程终端T2接收,并被模块M2用于配置它自己,以实现正确的地址切换。连接管理器C2随后用包含呈“Accept(IP2_P1,IP2_V1)”形式的接受报告的“接受消息”答复双模终端T1,并且双模终端T1中的模块M1使用该“接受消息”完成切换。
[0059] 依据包含切换连接的请求并且呈“Close(IP1_V1)”形式的“关闭消息”,双模终端T1能够关闭与远程终端T2的连接。该消息通知远程终端T2中的模块M2,它应停止改变发送给虚拟IP地址IP1_V1或者从虚拟IP地址IP1_V1接收的消息的IP地址。
[0060] 最后,远程终端T2答复以包含切换连接的请求并且呈“Close(IP2_V1)”形式的对应“关闭消息”。该消息通知双模终端T1中的模块M1,它能够关闭连接,停止改变发送给或接收自远程终端T2的虚拟地址IP2_V1的数据分组的IP地址。
[0061] 由两个终端T1和T2发送和接收的IP数据分组的低级处理由装载在终端T1和T2中,并且在装载时被配置成与终端T1和T2的真实物理装置连接,并监视正确TCP端口上的信令信息的模块M1和M2完成。模块M1和M2激活与虚拟IP地址关联的虚拟网络接口virt1或virt2,并且除了实现IP地址改变和物理网络接口切换所必需的功能性之外,还提供虚拟网络接口驱动器所必需的一个或多个典型函数(例如,init,open,stop等)。特别地,在一个优选实施例中,这些功能的核心由下面称为virt_change,virt_hw_tx和virt_header的三个函数提供。
[0062] 具体地说,virt_change是每次物理网络接口驱动器收到数据分组时,从物理网络接口驱动器调用的,从模块M1,M2导出的函数。为了调用该函数,在处理接收的数据分组之前,物理网络接口的驱动器把接收的数据分组转发给virt_change函数,virt_change函数检查数据分组是否是由连接管理器C1或C2生成的分组,如果情况如此,那么解释如前所述在两个终端T1和T2之间交换的命令。在一个优选实施例中,虚拟网络接口的驱动器借助称为VirtualVsReal矩阵的矩阵,保持跟踪由连接管理器C1或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] 尽管关于本发明目前优选的实施例,举例说明了本发明的方法和设备,不过显然可对所描述的实施例做出各种修改和替换,并且可实现本发明的众多其它实施例,而不脱离如在下述权利要求中限定的本发明的精神和范围。
QQ群二维码
意见反馈