支持网络协议之间的故障转移的无线网络的制作方法

文档序号:7948958阅读:262来源:国知局
专利名称:支持网络协议之间的故障转移的无线网络的制作方法
技术领域
本发明涉及无线通信,且更具体地说,涉及无线通信网络内不同网络通信协议的使用。
背景技术
在通信网络中,网络节点通过使用网络通信协议来交换数据。因特网协议(IP)是促进网络节点之间的分包数据通信的网络通信协议的实例。在基于IP的网络中,每个网络节点具有IP地址。在两个网络节点之间发送的包一般包括具有源IP地址和目标IP地址的标头。源地址识别发送所述包的节点,且目标地址识别所述包的既定接收者。
遗留的通信网络一般使用根据IP版本4(IPv4)的32位IP地址。举例来说,遵守TIA IS-835标准的无线通信网络依靠IPv4地址空间来识别从网络设备到无线通信装置(WCD)(例如,移动电话)的无线节点。具有数百万个可个别寻址的节点的密集移动网络已导致IPv4所提供的32位地址空间的快速衰退。
由于IPv4地址空间所强加的限制,网络运营商正开始实施IP版本6(IPv6)所提供的128位地址空间。IPv6的极大扩展的地址空间允许无线操作者易于支持“一直在线”服务,在此情况下网络节点保持持久的IP地址分配。某些WCD现支持针对不同应用的IPv4和IPv6寻址两者。IPv6地址的使用一般对于需要长期连接的应用来说是合乎需要的。
虽然IPv6寻址一般是合乎需要的,但在许多覆盖区域中网络设备在从IPv4过渡到IPv6期间不会立即提供对IPv6的支持。因此,支持IPv6的网络接口的可用性可能随着WCD在不同覆盖区域间行进而变化。

发明内容
本发明针对用于在无线通信网络中支持不同网络协议之间的故障转移的技术。所述技术可在具有支持根据两个或两个以上不同协议(例如,IPv4和IPv6)的通信的应用模块的WCD中实施。由所述WCD实施的逻辑接口响应于来自应用模块的网络访问请求来选择物理接口以访问所述无线通信网络。
所述由应用模块发出的网路访问请求不指定特定网络协议,因为不确定在请求时对应于特定网络协议的物理接口是否将可用。事实上,应用模块绑定到逻辑接口,所述逻辑接口接着尝试协商经由物理接口的网络访问。
所述逻辑接口选择可用的物理接口,且通知应用模块关于将用于通信的网络协议类型。在某些实施例中,来自逻辑接口的初始通知可简单地指示网络连接为UP。在此情况下,应用模块查询逻辑接口以接收指示由选定的物理接口支持的网络协议类型的进一步通知。
逻辑接口可经配置以基于连接偏好来选择对应于优选网络协议的物理接口(当其可用时)。如果对应于优选网络协议的物理接口不可用,那么逻辑接口选择对应于不同网络协议的物理接口,从而提供从一个网络协议到另一个网络协议的故障转移过程。
在每种情况下,应用模块查询逻辑接口以确定经由选定的物理接口的通信所必需的网络协议类型,且继续使用所述网络协议来进行通信。举例来说,如果WCD包括多个协议堆栈,那么应用模块基于来自逻辑接口的通知来选择恰当的网络协议堆栈。
在一个实施例中,本发明提供一种移动WCD,其包含应用模块和逻辑接口。应用模块产生访问无线通信网络的请求。逻辑接口响应于来自应用模块的请求来选择物理接口以访问无线通信网络。另外,逻辑接口通知应用模块关于与选定的物理接口相关联的网络协议类型。逻辑接口可在选择了物理接口时自发地将通知提供到应用模块。或者,在接收到网络为UP的初始通知时,应用模块可查询逻辑接口以得到关于网络协议类型的通知。
在另一实施例中,本发明提供一种方法,其包含从WCD内的应用模块接收访问无线通信网络的请求;响应于所述来自应用模块的请求而调用逻辑接口以选择物理接口来访问无线通信网络;和通知应用模块关于与选定的物理接口相关联的网络协议类型。本发明还考虑计算机可读媒体,其包含用于实施此类方法的指令。
在附图和以下描述中陈述一个或一个以上实施例的细节。从描述内容和附图中以及从权利要求书中将了解其它特征、目的和优点。


图1是说明无线通信网络的方框图。
图2是说明在图1的网络内使用的移动WCD的方框图。
图3是说明经配置以支持对应于不同网络协议的物理接口之间的故障转移的WCD内的协议堆栈的操作的图。
图4是说明WCD内逻辑接口选择物理接口来进行网络访问的操作的流程图。
图5是说明WCD内应用模块通过使用不同网络协议来访问网络的操作的流程图。
图6是说明逻辑接口根据由应用模块指定的连接偏好的操作的流程图。
图7A和7B是进一步说明逻辑接口在不同连接模式中的操作的流程图。
具体实施例方式
图1是说明无线通信网络10的方框图。如图1所示,网络10包括多个移动WCD12A-12N(统称为WCD 12)。根据本发明,一个或一个以上WCD 12经配置以支持不同网络协议之间的故障转移。如本文使用,术语“故障转移”一般指代用于选择多个网络协议中的一者来访问通信网络10的过程。故障转移可涉及选择对应于优选网络协议的物理接口(如果可用),当优选接口不可用时,接下来选择对应于不同网络协议的物理接口。虽然本文所述的技术可应用于针对多种网络协议的故障转移过程,但出于说明目的在本发明中将特别描述IPv4和IPv6。
WCD 12包括经设计以支持例如电子邮件、因特网浏览、文本消息传递等应用的应用模块。某些应用模块可能仅支持单个网络协议,而其它应用模块可支持两个或两个以上网络协议。举例来说,WCD12内的某些应用模块可支持IPv4和IPv6两者,以便确保可能不支持IPv6的异构网络上的操作。在应用模块请求网络访问时,不确定IPv4还是IPv6物理接口将可用,即能够通过使用有关协议而连接到网络10。因此,应用模块不能立即绑定到物理接口。
出于此原因,WCD 12经配置以支持对应于不同网络协议(例如,IPv4和IPv6)的物理接口之间的故障转移。举例来说,如果优选的IPv6接口不可用,那么WCD 12实施故障转移过程来选择欠优选的IPv4接口。在完成故障转移过程时,应用模块接着通过使用与选定的物理接口相关联的网络协议来进行通信。以此方式,即使优选的物理接口(例如,IPv6)可能不能够连接到网络,支持IPv4和IPv6的应用模块也仍能够访问网络10。
为了支持故障转移,WCD 12包括逻辑接口,所述逻辑接口响应于来自应用模块的请求而选择物理接口来访问网络。以此方式,逻辑接口处理来自应用模块的网络访问请求,并协商经由可用物理接口而连接到网络10。应用模块绑定到逻辑接口,所述逻辑接口在应用模块与潜在变化的物理接口之间提供抽象层。
逻辑接口负责选择可用的物理接口,且通知应用模块关于网络连接的情况。举例来说,逻辑接口可具有连接状态(即,UP或DOWN),其由应用模块监视。当检测到逻辑接口的UP连接状态时,应用模块可查询逻辑接口以获得与选定的物理接口相关联的网络协议类型。或者,逻辑接口可直接支持网络协议类型,使得可无需将查询转发到物理接口。
响应于查询,逻辑接口通知应用模块关于与选定的物理接口相关联的网络协议类型。应用模块接着使用恰当的网络协议来经由逻辑接口进行通信。因此,应用模块在接收到来自逻辑接口的通知时才选择网络协议。依据逻辑接口进行的连接协商和通知,WCD 12中的应用模块选择恰当的网络协议并通过使用选定的网络协议来与网络10中的对等装置通信。下文将更详细地描述逻辑接口实施故障转移过程的操作。
如图1进一步展示,WCD 12经由选定的物理接口而与无线网络接入点14通信。在某些实施例中,CDMA 2000连网节点或包数据服务节点(PDSN)16可耦合在无线接入点14与IP网络18(例如,因特网)之间。在其它实施例中,无线接入点14和IP网络18可经由UMTS(通用移动电信节点)连网节点或GGSN(GPRS网关服务节点)节点,或者无线LAN或IEEE 802.11接入点来连接。在图1的实例中,多个IPv4网络节点20A-20N(统称为IPv4节点20)和IPv6网络节点22A-22N(统称为IPv6节点22)经由IP网络18而与PDSN 16通信。因此,无线接入点14可支持通过使用IPv4或IPv6而与WCD 12进行无线通信。然而,在某些区域中,IPv6物理接口可能不可用。
WCD 12经由无线接入点14来发送和接收数据,且可采取蜂窝式无线电话、卫星无线电话、并入在便携式计算机内的无线电话卡、装备有无线通信能力的个人数字助理(PDA)等形式。另外,WCD 12特别是在实施为移动手持机时可包括语音通信能力。移动WCD 12可采用多种通信技术,例如码分多址(CDMA)、宽带CDMA(WCDMA)、时分多址(TDMA)或频分多址(FDMA)来通过无线通信信道进行通信。
无线网络接入点14可采用针对数据通信、语音通信或其两者而装配的基站天线和控制器的形式。PDSN 16充当远程装置来将IP地址分配给移动WCD 12。具体地说,PDSN16负责将IP地址分配给移动WCD 12,且在移动WCD 12与IP网络18之间建立并支持IP交易。PDSN 16可经装配以用作移动WCD 12的外地代理,处理寻址管理和与耦合到IP网络18的归属代理(未图示)的协商。
IPv4节点20能够根据IPv4网络通信协议来通信,且可采用多种网络资源(例如,网站服务器、数据库服务器、网站客户机、电子邮件服务器、I/O装置等)的形式。类似地,IPv6节点22能够根据IPv6网络通信协议来通信,且可采用类似于IPv4节点20的形式。然而,IPv6比IPv4提供大得多的寻址空间,且对于需要持久的IP地址分配的应用来说可能特别合乎需要。
WCD 12可配置为“双堆栈”装置,其能够根据第一网络协议(例如,IPv6)和第二网络协议(例如,IPv4)两者来通信。换句话说,移动WCD 12实施IPv4协议堆栈和IPv6协议堆栈两者,所述协议堆栈每一者经配置以用于移动应用。支持IPv4和IPv6两者的应用模块基于逻辑接口所选择的物理接口而选择所述网络协议堆栈中的一者。具体地说,应用模块绑定到逻辑接口并响应于来自逻辑接口的通知而使用恰当的协议堆栈。
一般来说,应用模块可以是在WCD 12内的处理器上运行的软件程序。在操作中,当用户发起应用时,应用模块产生访问网络10的请求以服务所述应用。应用模块可单方面选择协议(IPv4或IPv6)且绑定到相应物理接口。然而,在应用模块尝试绑定时,不确定相应的IPv4还是IPv6物理接口实际上将是可用的。由于此原因,提供逻辑接口以处理由应用模块所作的网络访问请求,并代表应用模块选择可用的物理接口。
此逻辑接口充当IP层与物理接口层之间的抽象层。具体地说,逻辑接口驻留在协议堆栈与物理接口之间。物理接口直接驻留在例如以太网或点到点协议(PPP)的网络装置层上方。逻辑接口与物理接口的不同之处在于逻辑接口驻留在另一接口(物理或逻辑)之上。
逻辑接口或配置逻辑接口并使其与某下伏接口相关联的控制器将其本身与实际上可用且符合任何可应用的连接偏好的任一物理接口(IPv4和IPv6)相关联。逻辑接口随后将其IP地址族设置为下伏物理接口的IP地址族。以此方式,逻辑接口可用于处理从IPv6到IPv4的故障转移,或反之亦然,而无需应用模块的特殊配置。
如上论述,当网络10可用时,逻辑接口选择可用的物理接口,且将初始通知提供到产生网络访问请求的应用模块。如将描述,所述通知可能不是明确的消息,而是连接状态(例如,UP或DOWN)的变化。响应于所述通知,应用模块查询逻辑接口以确定哪个IP类型与由逻辑接口选择的物理接口相关联。逻辑接口接着使用IP类型的通知来回复,使得应用模块知道应选择哪个IP堆栈(IPv4或IPv6)以便与网络10中的其它装置通信。
如将描述,逻辑接口也可实施用于选择优选的物理接口以及在第一选择不成功时故障转移到替代选择的逻辑。以此方式,WCD 12可经配置以偏好一种连接类型胜于其它类型。此逻辑还可包括用于在已经建立了到达具有非优选IP类型的接口的连接时或在应用模块指定到达任何可用接口的连接时或在必须移交时作出关于接口选择的决定的逻辑,如下所述。
图2是说明在图1的网络10内使用的移动WCD 12的方框图。如图2所示,移动WCD 12包括处理器28、调制解调器30、无线电电路32和天线34。处理器28执行存储在存储器(未图示)中的代码以实施双协议堆栈。具体地说,处理器28实施双协议堆栈(以IPv4堆栈36和IPv6堆栈38为代表),以分别根据IPv4和IPv6协议来发送和接收基于IP的包。处理器28执行一个或一个以上应用42(以应用模块44A和应用模块44B为代表)。另外,处理器28执行若干过程以支持协商针对应用模块44A、44B的网络连接的逻辑接口40。具体地说,逻辑接口40协商经由IPv4物理接口46或IPv6物理接口48的连接。
可以常规方式来构造调制解调器30,以调制和解调经由无线电电路32和天线34传输和接收的包。举例来说,调制解调器30可实施多种通信技术中的任一者,例如码分多址(CDMA)、宽带CDMA(WCDMA)、时分多址(TDMA)或频分多址(FDMA),以通过无线通信信道进行通信。另外,调制解调器30可经配置以根据多种标准中的任一者(例如,CDMA2000 1xRTT、CDMA2000 1xEV-DO或UMTS)来操作。无线电电路32可包括常规无线电频率(RF)放大器和滤波器电路以用于处理所传输和接收的信号。
如上提及,应用42可支持电子邮件、因特网服务、文本消息传送等。某些应用模块(例如,IPv4/IPv6应用模块44A)经配置以根据IPv6或IPv4进行操作。其它应用模块(例如,IPv6应用模块44B)可经配置以仅用于IPv6操作或仅用于IPv4操作。当用户发起所述应用中的一者时,相应的应用模块44A、44B产生网络访问请求。
响应于来自IPv4/IPv6应用模块44A的网络访问请求,处理器28调用逻辑接口40以协商到达物理接口46、48中的一者的连接以访问网络10。在此情况下,IPv4/IPv6应用模块44A绑定到逻辑接口40。相反地,当IPv6应用模块44B请求网络访问时,处理器28将IPv6应用模块44B直接绑定到IPv6物理接口48,而不使用逻辑接口40。再次,IPv4/IPv6应用模块44A可根据IPv4或IPv6进行通信,而IPv6应用模块44B经装配以仅根据IPv6来通信。逻辑接口40和应用模块44可实施为在WCD 12内的常用处理器(例如,处理器28)上或在单独处理器或控制器上运行的软件程序。
当IPv4/IPv6应用模块44A请求网络访问时,应用模块绑定到逻辑接口。然而,IPv4/IPv6应用模块44A不立即选择特定网络协议。再次,在作出网络访问请求时可能不知道可用的接口所支持的网络协议类型。事实上,逻辑接口40通过基于一个或一个以上选择规则选择可用的物理接口46、48来响应来自IPv4/IPv6应用模块44A的网络访问请求,且接着将初始通知提供到IPv4/IPv6应用模块44A以告知网络10是可用的。所述通知可简单地指示已选择了物理接口46或48,或可进一步指示与物理接口相关联的网络协议(例如,IPv4或IPv6)。
在典型实施例中,逻辑接口40最初将不识别网络协议类型。事实上,逻辑接口40将仅仅指示网络连接状态。如果初始通知不识别网络协议类型,那么应用模块44A查询逻辑接口40以便识别与其相关联的网络协议类型。响应于此查询,逻辑接口40接着向应用模块44A产生进一步通知,从而识别网络协议。基于所识别的网络协议,应用模块44A接着选择IPv4堆栈36或IPv6堆栈38以用于随后通信。
图3是说明经配置以支持WCD 12中IPv4与IPv6物理接口之间的故障转移的协议堆栈50的操作的图,如本文所述。如图3所示,WCD 12可包括多个应用模块,但为了易于说明,图3中仅展示两个应用模块44A、44B。堆栈50进一步包括双IP物理接口(即,IPv4物理接口46和IPv6物理接口48)以及套接字API层52、TCP/UDP层54、IP层56和逻辑接口40。
IPv4物理接口46和IPv6物理接口48用于选择性地访问到达网络10(图1)的一个或一个以上物理链路(Phys Link)58、60。某些应用模块(例如,IPv4/IPv6应用模块44A)是针对IPv4或IPv6而配置的。其它应用模块(例如,IPv6应用模块44B)可能是针对IPv6而配置的。逻辑接口40驻留在IPv4和IPv6物理接口46、48之上,以处理来自IPv4/IPv6应用模块44A的网络访问请求,所述IPv4/IPv6应用模块44A支持IPv4或IPv6。需要用于IPv4和Ipv6交易的单独物理接口46、48,因为IPv4接口46的状态可能不同于IPv6接口48的状态,且这些状态可在任何时候变化。
逻辑接口40的状态反映是否可由IPv4/IPv6应用模块44来传输IP交易。举例来说,逻辑接口40可具有指示成功连接到物理接口的UP状态和指示物理接口不可用的DOWN状态。另外,逻辑接口40可具有瞬时状态,例如COMING_UP,以指示逻辑接口正建立到达物理接口的连接,以及GOING_DOWN,以指示逻辑接口40正断开连接。
当发起相应应用时,IPv6应用模块44B(其仅支持IPv6)在请求访问网络10时指定IPv6协议。在此情况下,IPv6应用模块44B立即直接绑定到IPv6物理接口48,如线62指示。具体地说,IPv6应用模块44B采用套接字API层52、TCP/UDP层54和IP层56,但不绑定到逻辑接口40。事实上,数据从IPv6应用模块44B流经套接字API层52、TCP/UDP层54和IP层56,并到达IPv6物理接口48,如线63指示。如果不能从网络10得到IPv6服务,那么IPv6物理接口48不可用,且IPv6应用模块44B所作的网络访问请求失败。网络访问失败可由IPv6物理接口48所传回的DOWN状态指示。
与应用模块44B相反,IPv4/IPv6应用模块44A(其支持IPv4或IPv6)在请求访问网络接口时不指定特定的IP类型。事实上,IPv4/IPv6应用模块44A绑定到堆栈50内的逻辑接口40,如线64指示。逻辑接口40接着协商以提出可用的物理接口。逻辑接口40在成功连接到IPv4物理接口46或IPv6物理接口48时通知发出请求的应用模块44A。IPv4/IPv6应用模块44A查询逻辑接口40以获得有关IP类型,且接着通过使用恰当的IP类型经由套接字API层52、TCP/UDP层54和IP层56(如线65所示)进行通信。因此,逻辑接口40允许使用经设计以支持IPv4或IPv6的IPv4/IPv6应用模块44A。
逻辑接口40在成功连接到物理接口时通知IPv4/IPv6应用模块44A。然而,在典型实施例中,所述通知不是明确的消息。事实上,IPv4/IPv6应用模块44A监视逻辑接口40的状态。当状态过渡到UP状态时,IPv4/IPv6应用模块44A确定连接是可用的。在此情况下,IPv4/IPv6应用模块44A接着查询逻辑接口40以获得恰当的网络协议类型。逻辑接口40可查询选定的物理接口以获得网络协议类型。或者,逻辑接口40可能已经与有关网络协议类型相关联,在此情况下没有必要查询物理接口。逻辑接口40响应于所述查询来通知IPv4/IPv6应用模块44A所述网络协议类型。作为响应,IPv4/IPv6应用模块44A接着经由恰当的协议堆栈来通信。
逻辑接口40可经配置以根据一个或一个以上连接规则来操作。在图3的实例中,逻辑接口40优选地尝试经由IPv6物理接口48来连接,如实线66所指示。如果经由IPv6物理接口48的连接是不可能的,那么逻辑接口故障转移到IPv4物理接口46,如虚线67所指示。根据连接规则,特定物理链路58、60也可以是优选的。在图3的实例中,物理链路58对于IPv4物理接口46和IPv6物理接口48来说是优选的,如实线68、69所指示。然而,如果不能经由物理链路58得到IPv6服务,那么IPv6物理接口60允许故障转移到不同的物理链路(即,物理链路60),如虚线70所指示。如果物理链路50、60都不支持IPv6协议,那么IPv6物理接口48将DOWN状态经由逻辑接口40传回到IPv4/IPv6应用模块44A,或将其直接传回到IPv6应用模块44B。
以上述方式,逻辑接口40在IPv4/IPv6应用模块44A与物理接口46、48之间提供抽象层。因此,不必立即确定支持哪个协议类型(IPv4还是IPv6)以便将IPv4/IPv6应用模块44A绑定到物理接口46、48中的一者。相反,IPv4/IPv6应用模块44A被绑定到逻辑接口40。逻辑接口40或配置逻辑接口40并使其与某下伏接口相关联的控制器绑定到IPv4接口46或IPv6接口48,这取决于出现哪一者。逻辑接口40接着将其地址族设置为下伏IP接口的地址族。此方法可解决从IPv6到IPv4或相反的故障转移。
图4是说明WCD 12内的逻辑接口40选择物理接口以供IPv4/IPv6应用模块44A进行网络访问的操作的流程图。在图4的实例中,假定IPv6物理接口48是用于连接到网络10的优选接口。然而,IPv6物理接口48可能在网络10的某些区域内不能够连接到支持IPv6的物理链路。如图4所示,逻辑接口40从IPv4/IPv6应用模块44A接收网络访问请求(71)。如上所述,来自IPv4/IPv6应用模块44A的网络访问请求不指定IP版本,因为不知道IPv6物理接口48是否将为UP。
响应于网络访问请求,逻辑接口40最初设法经由IPv6物理接口48而连接到网络10(72)。如果IPv6物理接口48的状态为UP(74),即IPv6物理接口能够连接到支持IPv6的物理链路,那么逻辑接口40选择IPv6接口(76)并将UP状态传回到IPv4/IPv6应用模块44A。如果IPv6物理接口48的状态是DOWN(74),那么逻辑接口40改为选择IPv4接口46,且传回所述接口的UP状态。换句话说,如果IPv6接口48不可用,那么逻辑接口40尝试经由IPv4接口46来引出网络10(78)。当然,在某些情况下,IPv4接口46和IPv6接口48两者均可为DOWN,从而导致网络访问失败。
在接收到物理接口选择的通知(即,以来自逻辑接口40的UP状态的形式)时,IPv4/IPv6应用模块44A查询逻辑接口以获得与选定的物理接口46或48相关联的网络协议类型。响应于所述查询,逻辑接口40将IP类型的通知发送到IPv4/IPv6应用模块44A(80)。
图5是说明IPv4/IPv6应用模块44A尝试访问网络10的操作的流程图。如图5所示,当用户发起相应应用时,IPv4/IPv6应用模块44A发出网络访问请求(84)。网络访问请求不指定网络协议类型,且因此由逻辑接口40处理。当检测到来自逻辑接口40的UP状态(85)时,IPv4/IPv6应用模块44A查询逻辑接口40以获得与由逻辑接口选择的物理接口相关联的网络协议类型(86)。一旦逻辑接口40提供网络协议类型的通知(88),IPv4/IPv6应用模块44A就选择恰当的协议堆栈(90)。
图6是说明WCD 12的逻辑接口40根据由全局设置指定或由IPv4/IPv6应用模块44A特别指定的连接偏好来选择物理接口的操作的流程图。在移动环境中,图6所示的过程可应用于初始呼叫设定、越区切换情形或其两者。在初始呼叫设定的情况下,所述过程在IPv4/IPv6应用模块44A发出网络访问请求时开始(92)。然而,在图6的实例中,IPv4/IPv6应用模块44A也指示连接模式。
具体地说,IPv4/IPv6应用模块44A可以“所要”模式或“优选”模式进行操作。所要模式要求逻辑接口始终尝试使用优选物理接口(其通常将为IPv6物理接口)。所要模式应用于呼叫设定和越区切换情形两者中。优选模式要求装置仅在非优选接口尚不是UP时尝试建立优选物理接口。如果已经建立了优选接口,那么将始终选择所述优选接口,而不管优选/所要的设置如何。因此,如果非优选接口已经是UP,那么逻辑接口40将在所要模式中尝试建立优选接口,但在优选模式中如果已经建立了非优选接口,那么使用所述非优选接口。
因此,在图6的实例中,为了选择物理接口,逻辑接口40首先检查优选/所要模式设置以确定其处于所要模式还是优选模式(94)。逻辑接口40接着基于可应用模式的要求来选择物理接口(96)。如果选择了所要模式,那么逻辑接口40尝试建立IPv6物理接口而不管IPv4接口是否已经是UP。然而,如果选择了优选模式,那么逻辑接口40仅在IPv4接口尚不是UP时尝试建立IPv6物理接口。因此,如果IPv4接口已经是UP,那么在优选模式中,IPv4/IPv6应用模块44A简单地使用所述接口,而并非建立IPv6接口。
一旦逻辑接口40的状态为UP,IPv4/IPv6应用模块44A查询IP类型。作为响应,逻辑接口40将IP类型通知发送到IPv4/IPv6应用模块44A(98)。逻辑接口保持绑定到选定的物理接口,直到所述应用终止,物理接口成为DOWN,或当移动WCD 12在网络10上行进时越区切换迫使有必要过渡到不同接口为止。
图7A和7B是进一步说明逻辑接口40在由IPv4/IPv6应用模块44A指定的不同连接模式中的操作的流程图。图7A和7B描绘初始呼叫设定和越区切换处理的情况。如图7A所示,在针对初始呼叫设定开始处理(102)时,必须确定请求连网访问的应用模块是IPv4/IPv6应用模块还是仅IPv6应用模块(104)。并且,在某些实施例中,仅IPv4应用模块可请求网络访问。如果应用模块正仅请求IPv6访问,那么无需绑定到逻辑接口40,且过程退出(106)。然而,如果应用模块请求“任何”IP版本(即,IPv4或IPv6),那么逻辑接口40确定所述IP接口的优选IP版本(108),并存储所述优选IP版本(110)。举例来说,IPv4/IPv6应用模块44A通常将指定IPv6作为优选的物理接口类型。
接着,逻辑接口40确定优选/所要模式,以确定应用模块处于“所要”模式还是“优选”模式(112),如上文所述。如果IPv4/IPv6应用模块44A正以优选模式操作,那么逻辑接口40将确定优选接口(例如,IPv6接口)是否为UP(114)。如果不是,那么逻辑接口40确定非优选接口(例如,IPv4)是否为UP(116)。如图7B所示,如果优选接口为UP,那么逻辑接口40绑定到优选接口(118),告知IPv4/IPv6应用模块网络为UP(120),并退出(106)。如果优选接口并非UP,但非优选接口为UP(116),那么过程将IPv4/IPv6应用模块绑定到非优选接口(122),告知IPv4/IPv6应用模块44A(120),并退出(106)。
如果优选接口并非UP(114),且非优选接口并非UP(116),那么逻辑接口40尝试提出优选接口且等待通知(124)。如果优选接口成为UP(126),那么过程将IPv4/IPv6应用模块44A绑定到优选接口(88)并告知发出请求的应用网络为UP(120)。如果优选接口未成为UP(126)(例如,在规定时段内),那么过程再次确定非优选接口是否为UP(128)。如果是,那么过程将IPv4/IPv6应用模块44A绑定到非优选接口(122)并告知发出请求的应用网络为UP(120)。
如果非优选接口并非UP(128),那么过程尝试提出非优选接口且等待通知(130)。如果非优选接口成为UP(132),那么过程将IPv4/IPv6应用模块44A绑定到非优选接口(122),并告知发出请求的应用网络为UP(120)。如果非优选接口不成为UP,那么过程告知应用提出网络的尝试已失败(134),且退出(106)。
当发生越区切换时,或当IPv4/IPv6应用模块44A处于所要模式时(112),过程以所要模式进行操作,且确定优选接口是否为UP(136)。如果不是,过程分叉到操作124。然而,如果优选接口为UP,那么过程将逻辑接口绑定到优选接口(118),且告知应用网络为UP(122)。因此,在所要模式中,如果优选接口已经是UP,那么过程将不在接口之间变化,但如果其并非UP,那么将尝试提出优选接口。相反,在优选模式中,如果发现是DOWN,那么过程可使用非优选接口(如果可用),而并非尝试提出优选接口。
以此方式,如果提出网络10的尝试未能建立优选的IP版本,那么现有应用将不会注意到任何变化。然而,如果所述尝试成功,那么逻辑接口40将IPv4/IPv6应用模块44A绑定到优选接口(例如,IPv6),且通知所建立的应用IP版本已变化。此方法可解决从IPv6到IPv4或相反的故障转移。或者,在其它实施例中,优选模式可经配置以做出提出优选接口的尝试。因此,根据需要,优选模式的设计可能受到改变。
如图7A和7B指示,在所要模式中,可迫使应用模块44A在越区切换时重新建立其与对等体的会话。具体地说,即使应用模块44A先前一直使用IPv4来进行现有会话,逻辑接口40也可经配置以在越区切换时始终尝试连接到IPv6接口。并且,在所要模式中,即使IPv4接口已经可用,尝试访问网络10以进行新会话的应用模块同样也将要求逻辑接口40尝试经由IPv6物理接口来连接。
如果经由IPv6接口来访问网络10的尝试失败,那么现有应用将不会注意到任何变化。换句话说,现有应用将继续使用IPv4协议。然而,如果所述尝试针对新应用确实成功了,那么逻辑接口40将使其本身与优选的IPv6接口重新关联,从而促使通知所建立的应用必要的协议已变化。在此情况下,新应用实际上促使协议针对现有应用而发生变化。
本文所述的技术可在硬件、软件、固件或其任何组合中实施。如果在硬件中实施,那么所述技术可由一个或一个以上微处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或其它等效可编程或固定的逻辑电路来实现。如果在软件中实施时,所述技术可针对包含程序代码的计算机可读媒体,所述程序代码在被执行时执行本文所述的技术中的一者或一者以上。
虽然本文所述的技术已集中于访问IPv4和IPv6接口,但类似原理可应用于在多种不同网络协议和寻址族之间访问。因此,本发明不限于IPv4、IPv6或限于一般IP。并且,所述技术不限于无线通信,且可应用于有线网络中。
已描述了各种实施例。这些和其它实施例在所附权利要求书的范围内。
权利要求
1.一种无线通信装置,其包含应用模块,其产生访问无线通信网络的请求;和逻辑接口,其响应于来自所述应用模块的请求而选择物理接口以访问所述无线通信网络,且通知所述应用模块与所述选定的物理接口相关联的网络协议类型。
2.根据权利要求1所述的装置,其中所述逻辑接口通知所述应用模块选择了所述物理接口,且通知所述应用模块与所述选定的物理接口相关联的网络协议类型。
3.根据权利要求2所述的装置,其中所述逻辑接口响应于来自所述应用模块的查询而通知所述应用模块与所述选定的物理接口相关联的网络协议类型。
4.根据权利要求1所述的装置,其中所述逻辑接口建立到达所述选定的物理接口的连接。
5.根据权利要求1所述的装置,其进一步包含第一网络协议堆栈;和第二网络协议堆栈,其中所述应用模块基于所述通知而选择所述第一网络协议堆栈或所述第二网络协议堆栈以经由所述选定的物理接口来进行通信。
6.根据权利要求5所述的装置,其中所述第一网络协议堆栈是因特网协议版本6(IPv6)堆栈,且所述第二网络协议堆栈是因特网协议版本4(IPv4)堆栈。
7.根据权利要求5所述的装置,其中所述应用模块绑定到所述逻辑接口,且使用所述选定的网络协议堆栈来进行通信。
8.根据权利要求1所述的装置,其中与所述物理接口相关联的网络协议类型是IPv4或IPv6中的一者。
9.根据权利要求1所述的装置,其中所述逻辑接口从多个物理接口中选择所述物理接口。
10.根据权利要求1所述的装置,其中所述网络访问请求不指示所述网络协议类型。
11.根据权利要求1所述的装置,其中所述逻辑接口尝试基于所述应用模块的模式或所述装置的全局设置来选择具有特定网络协议类型的物理接口。
12.根据权利要求11所述的装置,其中所述应用模块的模式是优选模式和所要模式中的一者,所述所要模式指定选择具有特定网络协议类型的物理接口,且所述优选模式指定仅在尚未建立到达所述物理接口或不同物理接口的连接时才选择具有所述特定网络协议类型的物理接口。
13.根据权利要求12所述的装置,其中所述应用模块在初始呼叫设定期间或在越区切换期间产生所述网络访问请求。
14.一种方法,其包含从无线通信装置内的应用模块接收访问无线通信网络的请求;响应于来自所述应用模块的请求而调用逻辑接口以选择物理接口来访问所述无线通信网络;和通知所述应用模块与所述选定的物理接口相关联的网络协议类型。
15.根据权利要求14所述的方法,其中通知所述应用模块包括通知所述应用模块选择了所述物理接口,和通知所述应用模块与所述选定的物理接口相关联的网络协议类型。
16.根据权利要求15所述的方法,其中通知所述应用模块网络协议类型包括响应于来自所述应用模块的查询而通知所述应用模块网络协议类型。
17.根据权利要求14所述的方法,其进一步包含建立到达所述选定的物理接口的连接。
18.根据权利要求14所述的方法,其进一步包含基于所述通知而选择所述第一网络协议堆栈或所述第二网络协议堆栈以经由所述选定的物理接口来进行通信。
19.根据权利要求18所述的方法,其中所述第一网络协议堆栈是因特网协议版本6(IPv6)堆栈,且所述第二网络协议堆栈是因特网协议版本4(IPv4)堆栈。
20.根据权利要求18所述的方法,其进一步包含将所述应用模块绑定到所述逻辑接口和使用所述选定的网络协议堆栈由所述应用模块进行通信。
21.根据权利要求14所述的方法,其中与所述物理接口相关联的网络协议类型是IPv4或IPv6中的一者。
22.根据权利要求14所述的方法,其进一步包含从多个物理接口中选择所述物理接口。
23.根据权利要求14所述的方法,其中所述网络访问请求不指示所述网络协议类型。
24.根据权利要求14所述的方法,其进一步包含尝试基于所述应用模块的模式或所述装置的全局设置选择具有特定网络协议类型的物理接口。
25.根据权利要求24所述的方法,其中所述应用模块的模式是优选模式和所要模式中的一者,所述所要模式指定选择具有特定网络协议类型的物理接口,且所述优选模式指定仅在尚未建立到达所述物理接口或不同物理接口的连接时才选择具有所述特定网络协议类型的物理接口。
26.根据权利要求25所述的方法,其进一步包含在初始呼叫设定期间或在越区切换期间接收所述网络访问请求。
27.一种计算机可读媒体,其包含促使处理器进行如下操作的指令从无线通信装置内的应用模块接收访问无线通信网络的请求;响应于来自所述应用模块的请求而调用逻辑接口以选择物理接口来访问所述无线通信网络;和通知所述应用模块与所述选定的物理接口相关联的网络协议类型。
28.根据权利要求27所述的计算机可读媒体,其中所述指令促使所述处理器通知所述应用模块选择了所述物理接口,且通知所述应用模块与所述选定的物理接口相关联的网络协议类型。
29.根据权利要求28所述的计算机可读媒体,其中所述指令促使所述处理器响应于来自所述应用模块的查询而通知所述应用模块网络协议类型。
30.根据权利要求27所述的计算机可读媒体,其中所述指令促使所述处理器建立到达所述选定的物理接口的连接。
31.根据权利要求27所述的计算机可读媒体,其中所述指令促使所述处理器基于所述通知而选择所述第一网络协议堆栈或所述第二网络协议堆栈以经由所述选定的物理接口进行通信。
32.根据权利要求31所述的计算机可读媒体,其中所述第一网络协议堆栈是因特网协议版本6(IPv6)堆栈,且所述第二网络协议堆栈是因特网协议版本4(IPv4)堆栈。
33.根据权利要求31所述的计算机可读媒体,其中所述指令促使所述处理器将所述应用模块绑定到所述逻辑接口且使用所述选定的网络协议堆栈由所述应用模块进行通信。
34.根据权利要求27所述的计算机可读媒体,其中与所述物理接口相关联的网络协议类型是IPv4或IPv6中的一者。
35.根据权利要求27所述的计算机可读媒体,其中所述网络访问请求不指示所述网络协议类型。
36.一种无线通信装置,其包含应用模块,其产生访问无线通信网络的请求,其中所述应用模块能够根据两个或两个以上不同网络协议类型来进行通信;和逻辑接口,其响应于来自所述应用模块的请求选择物理接口以访问所述无线通信网络;其中所述应用模块查询所述逻辑接口以得到指示与所述选定的物理接口相关联的网络协议类型的通知,且使用所述指示的网络协议类型经由所述逻辑接口进行通信。
37.一种方法,其包含从无线通信装置内的应用模块产生访问无线通信网络的请求,其中所述应用模块能够根据两个或两个以上不同网络协议类型来进行通信,响应于来自所述应用模块的请求而调用逻辑接口以选择物理接口来访问所述无线通信网络;和向所述逻辑接口发出查询以得到指示与所述选定的物理接口相关联的网络协议类型的通知;和使用所述指示的网络协议类型在所述应用模块与所述逻辑接口之间进行通信。
全文摘要
本发明针对用于在无线通信网络中支持不同网络协议寻址族之间的故障转移的技术。所述技术可在移动无线通信装置中实施。逻辑接口响应于来自应用模块的请求来选择物理接口以访问所述网络。由所述应用模块发出的网络访问请求无需指定网络协议类型。事实上,在一旦选择了所述物理接口,所述逻辑接口即刻通知所述应用与所述物理接口相关联的网络协议类型。在对应于特定网络协议的物理接口可用时,所述逻辑接口可基于由所述应用模块或所述装置内的全局设置指定的连接偏好来选择对应于特定网络协议的物理接口。然而,如果对应于所述网络协议的物理接口不可用,那么所述逻辑接口选择对应于不同网络协议的物理接口。
文档编号H04L12/56GK101027889SQ200580032438
公开日2007年8月29日 申请日期2005年8月3日 优先权日2004年8月6日
发明者马尔切洛·利奥伊, 厄平德·辛格·巴贝尔 申请人:高通股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1