具体实施方式
随后将参考附图对本发明的一些示例实施方式进行更为全面地描述,附图中示出了本发明的一些而非全部实施方式。实际上,本发明可以以许多不同形式来体现并且不应当被理解为局限于这里所给出的实施方式;相反,提供这些示例实施方式是使得该公开将满足所适用的法律要求。相同的附图标记贯穿全文指代相同要素。如这里所使用的,术语“数据”、“内容”、“信息”和类似术语可以被互换地使用以指代能够依据本发明实施方式而被传送、接收和/或存储的数据。因此,使用任何这样的术语都不应当被理解为对本发明实施方式的精神和范围进行限制。另外,在计算设备在这里被描述为从另一个计算设备接收数据的情况下,将要意识到的是,该数据可以直接从另一个计算设备接收或者经由一个或多个中间计算设备间接接收,该中间计算设备例如一个或多个服务器、中继、路由器、网络接入点、基站等。
此外,如这里所使用的,术语“电路”是指(a)仅硬件的电路实现(例如,模拟电路和/或数字电路的实现);(b)电路以及包括存储在一个或多个计算机可读存储器上的软件和/或固件指令的(多个)计算机程序产品组合,它们共同工作以使得设备执行这里所描述的一个或多个功能;以及(c)电路,例如(多个)微处理器或(多个)微处理器的一部分,即使在软件或固件并非物理存在的情况下其也需要软件或固件来进行操作。“电路”的这一定义适用于该术语在包括任意权利要求在内的这里的所有使用。作为另外的示例,如这里所使用的,术语“电路”还含有包括一个或多个处理器和/或其(多个)部分并且伴随有软件和/或固件的实现。作为另一个示例,如这里所使用的术语“电路”例如还包括用于移动电话的基带集成电路或应用处理器集成电路或者服务器、蜂窝网络设备、其他网络设备和/或其它计算设备中的类似集成电路。
蜂窝网络经常由于由现代移动通信设备的操作所支持的通过蜂窝网络所传送的带宽密集型数据而过载。因此,蜂窝网络运营商进程可以通过将尽可能多的业务卸载到无线局域网而获益。在一些情况下,蜂窝网络运营商仅在对蜂窝网络运营商选择的服务(诸如IMS)所指定的所选择业务被允许经由蜂窝网络进行传送的情况下才会获益。这种选择优先性经常被称作所选择IP业务卸载(SIPTO)。除了运营商从使用局域网获益之外,移动通信设备的用户可由于将尽可能多的网络业务经由局域网而不是蜂窝网络进行路由而获益。就这点而言,数据经由局域网的传输会比数据经由蜂窝网络的传输更加便宜。另外,局域网可以以较少的延时而提供比蜂窝网络更快的连接。此外,使用局域网与使用蜂窝网络相比会需要较少的电力并且因此可以降低移动通信设备的电池耗费速度。
在网络数据业务负担有所增加的同时,IPv6的部署也快速增长并且多宿(multihoming)变得日益普遍。当前,如RFC3484所推荐的,主机在创建传输连接时相比IPv4地址通常优选IPv6地址。由于蜂窝网络中IPv6的部署,主机可以越来越多地遇到其中它们具有双栈(IPv4和IPv6)或者仅IPv6蜂窝连接、但是具有仅IPv4的WLAN连接的情形。在这样的情况下,当主机针对新的连接相比IPv4优选IPv6时,主机将使用蜂窝接口进行通信-即使出于卸载/策略的原因应当优选WLAN。就这点而言,表1列出了在主机具有单个蜂窝而活动的WLAN连接试图与双栈端点(dual-stack peer)进行通信的情况下,在IPv6始终优于IPv4而WLAN仅作为次要决策逻辑而优于蜂窝的情况下会发生什么。各种示例WLAN接口实施方式上可用的地址族(例如,IPv4和/或IPv6)在第一行交叉列出,并且各个示例蜂窝接口实施方式上可用的地址族则在第一行下列出。表1:
如表1通过加粗条目所示的,可以在仅支持IPv4的由于默认优于IPv6的WLAN可用的情况下使用蜂窝网络。因此,在其中IPv6默认盲目优选的当前实现中,可能无法满足卸载要求。
与表1相比,表2图示了可以跳过另外优选的网络地址族(例如,IPv6)以使得网络接口(例如,WLAN接口)即使在另外优选的网络地址族在优选网络接口上不可用的情况下也可以被优选。与表1相类似,各种示例WLAN接口实施方式上可用的地址族(例如,IPv4和/或IPv6)在第一行交叉列出,并且各种示例蜂窝接口实施方式上可用的地址族则在第一行下列出。表2:
因此,如表2所示,如果默认地址族的优选可以被跳过(例如,如果地址族选择可以次于接口选择来进行),则WLAN接口即使在WLAN并不对另外优选的地址族(例如,IPv6)提供支持的情况下也可以被优选。然而,即使假定表2中所图示的潜在有益卸载,表2中所示的示例也仅给出了在数据会话中所进行的所有应用和服务支持IPv4和IPv6二者的情况下可以如何执行决策制定。就这点而言,在蜂窝网络仅配置具有IPv6地址的主机,并且该主机连接至仅IPv4的WLAN接入网络的情况下,该主机可能无法将其IPv6业务安全卸载到IPv4的WLAN网络。只要数据会话中所进行的应用和服务支持双栈,这就不会成为问题,因为这样的应用和服务可以重新利用IPv4在WLAN中重新建立连接。然而,主机可能无法提前确定特定应用或服务是否支持双栈,并且因此无法留存(survive)至不同地址族的切换(handover)。在IPv6转换进行时,IPv6愈发可能无法被卸载到IPv4接入。
除了可能由于特定服务或应用缺少对地址族的支持而潜在丢失数据会话的问题之外,将数据从一个网络接口卸载到另一个网络接口在网络业务被配置以特定路线的情况下可能更为复杂。就这点而言,例如,如果蜂窝接口上活动的数据会话针对IPv6地址上的特定路线进行配置并且WLAN接口可用,则该数据会话不应当被卸载到WLAN接口。这种情形在表3中图示,其中表底部的两行示出了在数据会话经由蜂窝接口而被配置以特定路线的情况下会发生什么。表3:
就这点而言,从表3可以看出,对于针对特定路线进行配置的那些IPv6连接而言,蜂窝接口继续为优选的。没有被发送至对应于所配置的特定路线的IPv6业务可以仍然如表2中所图示的被卸载到IPv4WLAN接口。
因此,这里所描述的示例实施方式提供了用于确定网络接口优选策略的系统、方法、设备和计算机程序产品。一些示例实施方式即使在第二网络接口并不支持优选网络地址族的情况下也可以促进将业务从第一网络接口卸载到第二网络接口。另外,一些示例实施方式可以在对于使用不被第二接入网络所支持的地址族的应用或服务而言没有数据会话丢失风险的情况下促进这样的卸载。
现在参考图1,图1图示了根据本发明实施方式的用于确定网络接口优选策略的系统100的框图。将要意识到的是,系统100以及其它附图中的图示均作为本发明的示例实施方式而提供并且不应当被理解为以任何方式使本发明的范围或精神变窄。就这点而言,本公开的范围除了这里所图示并描述的那些之外还涵盖了许多潜在的实施方式。这样,虽然图1图示了一种用于确定网络接口优选策略的系统的配置示例,但是也可以使用多种其它配置类实施本发明的实施方式。
在一些示例实施方式中,系统100包括被配置为经由接入点接入网络104并在其上进行通信的主机设备102。网络104可以包括有线网络、无线网络、蜂窝网络及其一些组合等,并且在一些示例实施方式中可以包括至少一部分互联网。接入点例如可以被配置为充当对主机设备102可以通过其在网络104上进行通信的接入网络进行接入的点。就这点而言,接入点例如可以包括基站、演进节点B(eNB)、节点B、网关通用分组无线电服务支持节点(GGSN)、蜂窝接入点、路由器、无线路由器,或者被配置为向主机设备102提供对接入网络的接入的其它接入点,主机设备102通过上述接入网络可以在网络104上进行通信。因此,接入网络可以包括蜂窝接入网络、无线局域网(WLAN)、城域网(MAN),或者主机设备102可以经由接入点进行接入并且主机设备102可以通过其在网络104上进行通信的其它接入网络。
系统100可以包括多个接入点和接入网络。出于示例的原因,图示了第一接入点106和相应的相对应第一接入网络108,以及第二接入点110和相应的相对应第二接入网络112。然而,将要意识到的是,系统100可以包括图1所图示那些之外的附加接入点以及各相对应接入网络。接入点和各相对应接入网络可以根据接入网络的类型来实施任意适当的接入协议。就这点而言,主机设备102可以包括如以下将进一步描述的通信接口,其被配置为经由相应网络接口接入各种可用接入点(例如,主机设备102的无线电通信范围内的和/或可由主机设备102可达的接入点)。
作为示例,主机设备102可以包括被配置为通过非许可无线电频谱技术(例如,WLAN)以及通过蜂窝网络(例如,第三代(3G)蜂窝网络、3.9G蜂窝网络、长期演进蜂窝网络等)连接至网络104的双模式终端。在这样的示例中,第一接入点106可以包括基站或其它蜂窝网络接入点,并且第一接入网络可以包括蜂窝接入网络。主机设备102可以被配置为经由第一接入点106建立连接并且使用第一网络接口(例如,蜂窝网络接口)在第一接入网络108上进行通信。第二接入点110例如可以包括WLAN接入点并且第二接入网络112可以包括WLAN。主机设备102可以被配置为经由第二接入点110建立连接并且使用第二网络接口(例如,WLAN接口)在第二接入网络112上进行通信。
根据一些示例实施方式,主机设备102可以被具体化为台式计算机、膝上计算机、移动终端、移动计算机、移动电话、移动通信设备、平板计算机、游戏设备、数码相机/便携摄像机、音频/视频播放器、电视设备、无线电接收机、数字录影机定位设备、其任意组合等。在一些示例实施方式中,主机设备102可以被具体化为诸如图2所示的移动终端。
就这点而言,图2图示了表示依据一些示例实施方式的主机设备102的一个实施方式的移动终端10的框图。然而,应当理解的是,所图示以及随后描述的移动终端10仅是可以实施所公开实施方式和/或从其获益的一种类型的主机设备102的说明,并且因此不应当被理解为对本发明的范围进行限制。虽然出于示例的目的图示了电子设备的若干示例实施方式并且将在随后进行描述,但是诸如移动电话、移动计算机、便携式数字助理(PDA)、寻呼机、膝上计算机、台式计算机、游戏设备、电视和其它类型的电子系统之类的其它类型的电子设备也可以采用本发明的实施方式。
根据示例实施方式,移动终端10可以包括与发射机14和接收机16进行通信的天线12(或多个天线)。移动终端10还可以包括处理器20,其被配置为分别向发射机提供信号并且从接收机接收信号。处理器20例如可以被实现为各种装置,其包括电路、带有(多个)数字信号处理器的一个或多个微处理器、不带有数字信号处理器的一个或多个处理器、一个或多个协处理器、一个或多个多核处理器、一个或多个控制器、处理电路、一个或多个计算机、包括集成电路的各种其它处理部件,该集成电路例如为ASIC(专用集成电路)或FPGA(现场可编程门阵列)或者它们的一些组合。因此,虽然在图2中被图示为单个处理器,但是在一些示例实施方式中,处理器20可以包括多个处理器。由处理器20所发送和接收的这些信号可以包括依据可应用蜂窝系统的空中接口标准的信令信息,和/或任意数量的不同有线或无线联网技术,包括但并不局限于无线保真度、无线局域网(WLAN),诸如电气电子工程师协会(IEEE)802.11、802.16等。此外,这些信号可以包括话音数据、用户所生成的数据、用户所请求的数据等。就这点而言,移动终端能够利用一种或多种空中接口标准、通信协议、调制类型、接入类型等进行操作。更具体地,移动终端可以能够依据各种第一代(1G)、第二代(2G)、2.5G、第三代(3G)通信协议、第四代(4G)通信协议、互联网协议多媒体子系统(IMS)通信协议(例如,会话发起协议(SIP))、H.323等进行操作。例如,移动终端能够依据2G无线通信协议IS-136(时分多址(TDMA))、全球通信系统(GSM)、IS-95(码分多址(CDMA))等进行操作。而且,例如,移动终端可以能够依据2.5G的无线通信协议通用分组无线业务(GPRS)、增强型数据GSM环境(EDGE)等进行操作。另外,例如,移动终端可以能够依据3G无线通信协议进行通信,诸如通用移动电信系统(UMTS)、码分多址2000(CDMA2000)、宽带码分多址(WCDMA)、时分同步码分多址(TD-SCDMA)等进行通信。移动终端还可以能够依据3.9G无线通信协议进行操作,诸如长期演进(LTE)或演进通用陆地无线电接入网(E-UTRAN)等。此外,例如,移动终端可以能够依据第四代(4G)无线通信协议等以及未来可能研发的类似无线通信协议进行操作。
在一些实施方式中,像双模式或更高模式的电话(例如,数字/模拟或TDMA/CDMA/模拟电话)一样,窄带先进移动电话系统(NAMPS)以及全接入通信系统(TACS)、移动终端也可以从本发明获益。因此,移动终端10能够根据无线保真度或全球微波接入互连性(WiMAX)协议进行操作。
所要理解的是,处理器20可以包括用于实施移动终端10的音频/视频和逻辑功能的电路。例如,处理器20可以包括数字信号处理器设备、微处理器设备和模数转换器、数模转换器等。移动终端的控制和信号处理功能可以根据这些设备各自的能力而在它们之间进行分配。处理器还可以包括内部语音编码器(VC)20a、内部数据调制解调器(DM)20b等。另外,处理器可以包括对可以存储在存储器中的一个或多个软件程序进行操作的功能。例如,处理器20能够操作诸如web浏览器之类的连接程序。连接程序可以允许移动终端10根据诸如无线应用协议(WAP)、超文本传输协议(HTTP)等的协议传送和接收诸如基于位置的内容的web内容。移动终端10能够使用传输控制协议/互联网协议(TCP/IP)跨互联网或其它网络传送和接收web内容。
移动终端10还可以包括用户接口,其例如包括耳机或扬声器24、振铃器22、麦克风26、显示器28、用户输入接口等,它们可操作地耦合至处理器20。就这点而言,处理器20可以包括被配置为对用户接口的一个或多个部件的功能进行控制的用户接口电路,上述部件例如扬声器24、振铃器22、麦克风26、显示器28等。处理器20和/或包括处理器20的用户接口电路可以被配置为通过存储在可由处理器20所访问的存储器(例如,易失性存储器40、非易失性存储器42等)上的计算机程序指令(例如,软件和/或固件)来控制用户接口的一个或多个部件的一个或多个功能。移动终端可以包括用于对与移动终端相关的各种电路进行供电的电池,上述电路诸如提供机械振动作为可检测输出的电路。用户输入接口可以包括允许移动终端接收数据的设备,诸如小键盘30、触摸显示器、游戏操纵杆和/或其它输入设备。在包括小键盘的实施方式中,小键盘可以包括数字(0-9)和相关按键(#、*),和/或用于对移动终端进行操作的其它按键。
根据一些示例实施方式,如图2所示,移动终端10还可以包括一个或多个用于共享和/或获取数据的装置。例如,移动终端可以包括短距离射频(RF)收发机和/或问答器64,从而可以依据RF技术与电子设备共享数据和/或从其获取数据。移动终端可以包括其它短距离收发机,例如红外(IR)收发机66、使用BluetoothTMSpecialInterest Group所研发的蓝牙TM品牌的无线技术的蓝牙TM(BT)收发机68、无线通用串行总线(USB)收发机70等。蓝牙TM收发机68能够根据超低频蓝牙TM技术(例如,WigreeTM)无线电标准进行操作。就这点而言,移动终端10特别是短距离收发机能够向处于移动终端附近(例如10米之内)的电子设备传送数据和/或从其接收数据。移动终端能够根据各种无线联网技术向电子设备传送数据和/或从其接收数据,上述无线联网技术包括无线保真度、WLAN技术,诸如IEEE 802.11技术、IEEE 802.15技术、IEEE 802.16技术等。
根据一些示例实施方式,移动终端10可以包括存储器,诸如订户身份模块(SIM)38、通用订户身份模块(USIM)、可移除用户身份模块(R-UIM)等,其可以存储与移动订户相关的信息要素。除了SIM之外,移动终端可以包括其它可移除和/或固定存储器。移动终端10可以包括易失性存储器40和/或非易失性存储器42。例如,易失性存储器40可以包括随机访问存储器(RAM),其包括动态和/或静态RAM,片上或片下高速缓冲存储器,等等。可以是嵌入式和/或可移除的非易失性存储器42例如可以包括只读存储器、闪存、磁存储设备(例如,硬盘、软盘驱动器、磁带等)、光盘驱动器和/或媒体、非易失性随机接入存储器(NVRAM)等。同易失性存储器40一样,非易失性存储器42可以包括用于数据的临时存储的高速缓存区域。存储器可以存储可由移动终端用于执行移动终端的功能的一个或多个软件程序、指令、信息段、数据等。例如,存储器可以包括能够唯一识别移动终端10的标识符,诸如国际移动设备标识(IMEI)代码。
现在参考图3,图3图示了根据本发明示例实施方式的主机设备102的框图。根据一些示例实施方式,主机设备102可以包括用于执行这里所描述的各种功能的各种装置,诸如处理器120、存储器122、通信接口124、用户接口126或接口管理电路128中的一个或多个。如这里所描述的主机设备102的这些装置例如可以被实现为电路、硬件部件(例如,适当编程的处理器、组合逻辑电路等)、包括存储有可由适当配置的处理设备(例如,处理器120)所执行的计算机可读程序指令(例如,软件或固件)的计算机可读介质(例如,存储器122)的计算机程序产品,或者它们的一些组合。
处理器120例如可以被实现为各种装置,包括带有(多个)数字信号处理器的一个或多个微处理器、不带有数字信号处理器的一个或多个处理器、一个或多个协处理器、一个或多个多核处理器、一个或多个控制器、处理电路、一个或多个计算机、包括例如ASIC(专用集成电路)或FPGA(现场可编程门阵列)的集成电路的各种其它处理部件,或者它们的一些组合。因此,虽然在图3中被示为单个处理器,但是在一些示例实施方式中,处理器120可以包括多个处理器。多个处理器可以互相操作通信并且可以共同被配置为执行如这里所描述的主机设备102的一个或多个功能。在主机设备102被实现为移动终端10的示例实施方式中,处理器120可以被实现为或包括处理器20。在一些示例实施方式中,处理器120可以被配置为执行存储在存储器122中或者可由处理器120所访问的指令。当被处理器120所执行时,这些指令可以使得主机设备102执行如这里所描述的主机设备102的一个或多个功能。这样,无论是通过硬件还是软件方法还是其组合进行配置,处理器120都可以包括在被相应配置时能够执行根据本发明示例实施方式的操作的实体。因此,例如,当处理器120被实现为ASIC、FPGA等时,处理器120可以包括专门配置的用于进行这里所描述的一个或多个操作的硬件。备选地,作为另一个示例,当处理器120被实现为诸如可以存储在存储器122中的指令的执行器时,指令可以对处理器120进行专门配置以执行这里所描述的一个或多个算法和操作。
存储器122例如可以包括易失性存储器、非易失性存储器,或者它们的一些组合。虽然在图3中被示为单个存储器,但是存储器122可以包括多个存储器。在示例实施方式中,存储器122例如可以包括硬盘、随机访问存储器、高速缓冲存储器、闪存、紧致盘只读存储器(CD-ROM)、数字多功能盘只读存储器(DVD-ROM)、光盘、被配置为存储信息的电路,或者它们的一些组合。在主机设备102被实现为移动终端10的示例实施方式中,存储器122可以包括易失性存储器40和/或非易失性存储器42。存储器122可以被配置为存储信息、数据、应用、指令等以使得主机设备102能够依据本发明的示例实施方式执行各种功能。例如,在一些示例实施方式中,存储器122可以被配置为缓存输入数据以便由处理器120进行处理。除此之外或备选地,在一些示例实施方式中,存储器122可以被配置为存储程序指令以便由处理器120执行。存储器122可以存储静态和/或动态信息形式的信息。该所存储的信息可以在接口管理电路128执行其功能的过程期间存储和/或使用。
通信接口124可以被实现为任意设备或装置,其以被配置为从系统100的实体接收数据和/或向其传送数据的电路、硬件、包括存储在计算机可读介质(例如,存储器122)上并且由处理设备(例如,处理器120)所执行的计算机可读程序指令的计算机程序产品或者它们的组合来实现。就这点而言,通信接口124可以包括和/或控制多个网络接口(例如,蜂窝网络接口、WLAN接口、它们的一些组合等)。相应网络接口在可用时(例如,当主机设备102处于实施相应网络接口所支持的接入技术的接入网络的接入点范围之内或者可用于与之进行通信时)被配置为经由该接入点建立传输连接。在一些示例实施方式中,通信接口124可以至少部分地被实现为处理器120或者由处理器120所控制。通信接口124例如可以与处理器120(诸如经由总线)进行通信。通信接口124例如可以包括天线、发射机、接收机、收发机和/或用于使得能够与系统100的一个或多个实体进行通信的支持硬件或软件。通信接口124可以被配置为使用可被用于在系统100的实体之间进行通信的任意协议接收和/或发射数据。通信接口124还可以诸如经由总线与存储器122、用户接口126和/或接口管理电路128进行通信。
根据一些示例实施方式,用户接口126可以与处理器120进行通信以接收用户输入的指示和/或向用户提供可听、视觉、机械或其它输出。这样,用户接口126例如可以包括键盘、鼠标、游戏操纵杆、显示器、触摸屏显示器、麦克风、扬声器和/或其它输入/输出机制。用户接口126还可以诸如经由总线而与存储器122、通信接口124和/或接口管理电路128进行通信。
根据示例实施方式,接口管理电路128可以被实现为各种装置,诸如电路、硬件、包括存储在计算机可读介质(例如,存储器122)并且由处理设备(例如,处理器120)所执行的计算机可读程序指令的计算机程序产品,或者他们的一些组合,并且在一些示例实施方式中,可以被实现为处理器120或者由其所控制。在接口管理电路128与处理器120单独具体化的示例实施方式中,接口管理电路128可以与处理器120进行通信。接口管理电路128进一步可以诸如经由总线而与存储器122、通信接口124或用户接口126中一个或多个进行通信。
现在参考图4,图4图示了根据本发明的一些示例实施方式的接入点400的框图。接入点400例如可以包括如图1所示的第一接入点106和/或第二接入点110的实施方式。因此,接入点400可以包括基站、演进节点B(eNB)、节点B、网关通用分组无线电服务支持节点(GGSN)、蜂窝接入点、无线路由器、路由器,它们的一些组合,等等。就这点而言,接入点400可以包括被配置为经由主机设备102经适当配置的网络接口向主机设备102提供对接入网络(例如,第一接入网络108、第二接入网络112等)的接入的任意接入点。根据一些示例实施方式,接入点400可以包括各种装置,诸如用于执行这里所描述的各种功能的处理器410、存储器412、通信接口414或优先级信令电路416中的一个或多个。如这里所描述的接入点400的这些装置例如可以被实现为电路、硬件部件(例如,适当编程的处理器、组合逻辑电路等)、包括存储可由适当配置的处理设备(例如,处理器410)所执行的计算机可读程序指令(例如,软件或固件)的计算机可读介质(例如,存储器412)的计算机程序产品,或者它们的一些组合。
处理器410例如可以被实现为各种装置,包括带有(多个)数字信号处理器的一个或多个微处理器、不带有数字信号处理器的一个或多个处理器、一个或多个协处理器、一个或多个多核处理器、一个或多个控制器、处理电路、一个或多个计算机、包括例如ASIC(专用集成电路)或FPGA(现场可编程门阵列)的集成电路的各种其它处理部件,或者它们的一些组合。因此,虽然在图4中被示为单个处理器,但是在一些示例实施方式中,处理器410可以包括多个处理器。多个处理器可以互相操作通信并且可以共同被配置为执行如这里所描述的接入点400的一个或多个功能。在一些示例实施方式中,处理器410可以被配置为执行存储在存储器412中或者可由处理器410所访问的指令。当被处理器410所执行时,这些指令可以使得接入点400执行如这里所描述的接入点400的一个或多个功能。这样,无论是通过硬件还是软件方法还是其组合进行配置,处理器410都可以包括在被相应配置时能够执行根据本发明示例实施方式的操作的实体。因此,例如,当处理器410被实现为ASIC、FPGA等时,处理器410可以包括专门配置的用于进行这里所描述的一个或多个操作的硬件。备选地,作为另一个示例,当处理器410被实现为诸如可以存储在存储器412中的指令的执行器时,指令可以对处理器410进行专门配置以执行这里所描述的一个或多个算法和操作。
存储器412例如可以包括易失性存储器、非易失性存储器,或者它们的一些组合。虽然在图4中被示为单个存储器,但是存储器412可以包括多个存储器。在示例实施方式中,存储器412例如可以包括硬盘、随机访问存储器、高速缓冲存储器、闪存、紧致盘只读存储器(CD-ROM)、数字多功能盘只读存储器(DVD-ROM)、光盘、被配置为存储信息的电路,或者它们的一些组合。存储器412可以被配置为存储信息、数据、应用、指令等以使得接入点400能够依据本发明的示例实施方式执行各种功能。例如,在一些示例实施方式中,存储器412可以被配置为缓存输入数据以便由处理器410进行处理。除此之外或备选地,在一些示例实施方式中,存储器412可以被配置为存储程序指令以便由处理器410执行。存储器412可以存储静态和/或动态信息形式的信息。该所存储的信息可以在优先级信令电路416执行其功能的过程期间存储和/或使用。
通信接口414可以被实现为任意设备或装置,其以被配置为从系统100的实体接收数据和/或向其传送数据的电路、硬件、包括存储在计算机可读介质(例如,存储器412)上并且由处理设备(例如,处理器410)所执行的计算机可读程序指令的计算机程序产品或者它们的组合来具体化。在一些示例实施方式中,通信接口414可以至少部分地被实现为处理器410或者由处理器410所控制。通信接口414例如可以与处理器410(诸如经由总线)进行通信。通信接口414例如可以包括天线、发射机、接收机、收发机和/或用于使得能够与系统100的一个或多个实体进行通信的支持硬件或软件。通信接口414可以被配置为使用可被用于在系统100的实体之间进行通信的任意协议接收和/或传送数据。通信接口414还可以诸如经由总线与存储器412和/或优先级信令电路416进行通信。
根据示例实施方式,优先级信令电路416可以被具体化为各种装置,诸如电路、硬件、包括存储在计算机可读介质(例如,存储器412)上并且由处理设备(例如,处理器410)所执行的计算机可读程序指令的计算机程序产品或者它们的组合,并且在一些示例实施方式中,可以被实现为处理器410或者以其它方式由处理器410所控制。在优先级信令电路416与处理器410分开实现的示例实施方式中,优先级信令电路416可以与处理器410进行通信。优先级信令电路416可以另外与一个或多个存储器412或通信接口414(诸如经由总线)进行通信。
在一些示例实施方式中,优先级信令电路416可以被配置为以信号向主机设备102通知网络地址族优选策略。该网络地址族优选策略可以指示第一网络地址族的优选级别。第一网络地址族可以默认地优先于第二网络地址族。就这点而言,第二地址族例如可以包括作为第一网络地址族的前任(predecessor)的遗留网络地址族。作为一个示例,第一网络地址族可以包括互联网协议版本6(IPv6)而第二网络地址族可以包括互联网协议版本4(IPv4)。然而,将要意识到的是,这里关于IPv4和IPv6所描述的其中网络地址族优选策略指示IPv6的优选级别的示例实施方式仅是出于示例的目的而提供。因此,将要意识到的是,实施方式并不局限于此并且可应用于其中一个网络地址族默认地优先于另一个网络地址族的任意网络地址族组合。
网络地址族优选策略例如可以由负责操作以信号通知网络地址族优选策略的接入点的网络运营商进行配置。就这点而言,如这里下文中进一步描述的那样,网络地址族优选策略可以被配置为触发主机设备102是否将网络业务在其可用时卸载到另一个网络接口和/或卸载的程度。
优先级信令电路416可以被配置为在相应接入网络上广播网络地址族优选策略并且可以专门将该网络地址族优选策略以信号通知给主机设备102。在一些示例实施方式中,优先级信令电路416可以被配置为将网络地址族优选策略以信号通知给主机设备102而作为路由器广告消息中以信号通知的默认路由器优选。就这点而言,路由器广告消息可以包括指示网络地址族的优选级别的一个或多个比特(例如,路由器广告消息的“Prf”或优选比特)。
在一个示例中,其中这样的路由器广告消息包括指示网络地址族的优选等级的两个优选比特,在由用于第一网络接口的接入点以信号通知的路由器广告消息中将优选比特设置为“11”可以指示第一网络地址族的优选级别为“低”(例如,低于预定阈值级别的优选级别),从而主机设备应当优先选择比第一网络接口的第一网络地址族更高的另外优选的当前可用第二网络接口,但是并不优先选择(如果可用)比经由第一网络接口上的第一网络地址族的连接更高的经由第一网络接口上的第二网络地址族的连接。因此,使用其中第一网络地址接口包括蜂窝网络接口而第二网络接口包括WLAN接口并且第一网络地址族包括IPv6而第二网络地址族包括IPv4的示例,即使WLAN即可上对于IPv6的支持并不可用(例如,如果WLAN接入的和/或饿使用WLAN接口使用的接入网络并不支持IPv6),网络运营商也可以令主机设备102跳过IPv6优于IPv4的默认优选而令另外优选的WLAN接口优先于蜂窝网络接口。
与之相比,在一些示例实施方式中,如果优选比特被设置为“01”,则优先级信令电路416可以指示第一网络地址族的优选级别为“高”(例如,满足预定阈值级别的优选级别)。就这点而言,当优选级别为“高”时,主机设备102可以被配置为在第二网络接口上并不支持第一网络地址族时令使用较不优选的第一网络接口(例如,蜂窝网络接口)的第一网络地址族(IPv6)的连接优先于另外优选的第二网络接口(例如,WLAN接口)。然而,如果在第二网络接口上针对第一网络地址族的支持可用,则主机设备102可以被配置为依据默认网络接口优选策略而使得第二网络接口优先于第一网络接口。就这点而言,如果网络运营商认为维持在第一网络地址族上的通信优于卸载业务,则网络运营商例如可以设置优选比特来指示高的优选级别。
依据一些示例实施方式,将优选比特设置为“00”可以以信号通知默认优选级别,这可以允许主机设备102依据由主机设备102硬编码或者以其他预先确定的策略来决定优选级别。因此,主机设备102可以依据主机设备所实施的预定优选策略而认为默认优选级别指示高优选级别(例如,满足预定阈值级别的优选级别)或者指示低优选级别(例如,低于预定阈值级别的优选级别)。
将要意识到的是,以上比特配置的示例仅是出于示例的目的而提供并且在本公开的范围内预期了其它部署和赋值形式。除了使用路由器广告消息来以信号通知网络地址族优选策略之外或者作为其替代,优先级信令电路416在一些示例实施方式中可以被配置为在以信号向主机设备102通知的配置参数中指示网络地址族优选策略。作为另一个示例,优先级信令电路416可以被配置为使用专用的地址选择策略分发协议而以信号向主机设备102通知网络地址族优选策略。
在一些示例实施方式中,主机设备102的接口管理电路128可以被配置为接收由用于第一网络接口的接入点向主机设备102以信号通知的网络地址族优选策略的指示,并且确定以信号通知的网络地址族优选策略。接口管理电路128可以进一步被配置为至少部分基于以信号通知的优选策略而从多个可用网络接口(例如,第一网络接口和第二网络接口)中选择一个接口作为优选网络接口。就这点而言,接口管理电路128可以被配置为选择优选网络接口以便建立新的数据会话。除此之外或备选地,接口管理电路128在选择优选网络接口时可以被配置为选择是否将网络业务从第一网络接口卸载到第二网络接口。
除了使得选择基于以信号通知的网络地址族优选策略之外,接口管理电路128可以被配置为基于所确定的可在第二网络接口上得到支持的网络地址族(例如,优选的第一网络地址族是否被第二网络接口可达的接入点和/或接入网络所支持)而在第一和第二网络接口(和/或第一网络接口之后的任意其它可用网络接口)之间选择优选网络接口。就这点而言,如果使用网络接口可达的接入点和/或接入网络(例如,处于主机设备102的范围内并且使用与所讨论接口相同的接入技术的接入点和/或接入网络)对网络地址族提供支持,则该网络地址族在网络接口上得到支持并因此可以使用。
给定其中第二网络接口默认地优先于第一网络接口并且网络地址族优选策略指示优选级别低于预定阈值级别(例如,网络地址族优选策略包括设置为“11”的优选比特)的示例,即使第一网络地址族在第二网络接口上不可用,接口管理电路128也可以被配置为跳过对于第一网络地址族的优选而选择第二网络接口作为优选网络接口。然而,将要意识到的是,如以下关于若干示例实施方式进一步描述的,这样的选择并不必然意味着接口管理电路128将自动将任何正在进行的网络业务从第一网络接口卸载到第二网络接口。
然而,如果网络地址族优选策略指示优选级别满足预定阈值级别(例如,网络地址族优选策略包括被设置为“01”的优选比特)并且第一网络地址族在第二网络接口上不可用,则接口管理电路128可以被配置为由于在第二网络接口上不可用的网络地址族的高度优先而选择第一网络接口为优先于第二网络接口。
在网络地址族优选策略指示默认优选级别的情形中(例如,网络地址族优选策略具有被设置为“00”的优选比特),接口管理电路128可以被配置为依据默认优选策略对网络地址族优选策略进行评估。就这点而言,根据主机设备的默认优选策略,接口管理电路128可以被配置为认为默认优选级别低于预定的阈值级别(例如,“低”)或者满足预定阈值级别(例如,“高”)。在第一网络接口的接入点并没有以信号向主机设备通知地址族优选策略的情形中,接口管理电路128可以类似地被配置为依据预定默认优选策略来选择网络接口。
已经依据一些示例实施方式对示例网络接口选择进行了描述,现在将参考具体环境示例对若干特定示例实施方式进行描述。出于这些示例的目的,接入网络接口将包括第一网络接口,而WLAN接口将包括第二网络接口。出于随后示例的目的,WLAN接口默认优先于蜂窝网络接口,并且WLAN接口仅用于提供针对各个示例实施方式的环境而并非进行限制。就这点而言,在随后示例中所描述的示例实施方式可以被应用于第一和第二网络接口的任意组合,其中第二网络接口默认优先于第一网络接口。随后示例进一步涉及IPv6和IPv4,其中IPv6的使用默认地通常优先于IPv4的使用。然而,将要意识到的是,IPv6和IPv4的使用仅是出于示例的目的而对各个示例实施方式提供上下文而并非进行限制。就这点而言,随后示例中所描述的示例实施方式可以被应用于第一网络地址族和第二网络地址族的任意组合,其中第一网络地址族默认优先于第二网络地址族。
表4图示了根据一些示例实施方式的表,其中针对各种网络地址族优选策略级别图示了优选网络地址族和优选网络接口的选择。可在WLAN接口上得到支持的网络地址族(例如,IPv6和/或IPv4)的组合以及针对WLAN接口的IPv6的优选级别在图4的第一行交叉进行了图示。类似地,在蜂窝接口上可用的网络地址族支持(例如,IPv6和/或IPv4)的各种组合以及蜂窝接口上IPv6的优选级别在第一列中下图示。给定在WLAN和蜂窝网络接口上可用的网络地址族支持的组合以及针对IPv6的优选级别,网格中的单元格相应地(以粗体)指示可以由接口管理电路128依据一些示例实施方式所选择的优选网络地址族和优选网络接口。表4:
在一些示例实施方式中,如表4中所示,默认网络地址族优选级别被作为“高”优选级别(例如,满足预订阈值级别的优选级别)对待。如所图示的,对于IPv4而言,WLAN接口在可用的情况下可以始终是优选的。两个单元格被高亮以图示出一些示例实施方式可以对之前的部署进行改进的地方,其中网络地址族优选始终被认为比网络接口优选有价值。就这点而言,两个高亮单元格指示了仅IPv4在WLAN接口上可用但是WLAN接口上的IPv4无论如何都可以被选择作为优选网络地址族和网络接口组合,因蜂窝网络接入点以信号通知的为IPv6的网络地址优选级别为“低”(例如,低于预定阈值级别的优选级别)。因此,在这些情形中,蜂窝网络运营商可以利用低的网络地址优选级别来触发要经由WLAN接口所建立的新的数据会话和/或触发蜂窝网络接口上的IPv6业务被卸载到WLAN接口上的IPv4。
另外,在表4中所指示的实施方式中,WLAN接口和蜂窝网络接口的接入点二者以信号通知IPv6的优选级别。就这点而言,通过一些示例实施方式,接口管理电路128可以被配置为确定第一网络接口的接入点以信号通知的第一网络地址族优选策略,并且确定第二网络接口的接入点以信号通知的第二网络地址族优选策略。接口管理电路128可以进一步被配置为遵循第一和第二网络地址族优选策略和/或在二者之间进行折衷。就这点而言,接口管理电路128可以被配置为基于以信号向主机设备102所通知的多个网络地址族优选策略来选择优选网络接口。
就这点而言,诸如在表4所图示的示例实施方式中,接口管理电路128可以被配置为以这样的方式而基于多个网络地址族优选策略来选择优选网络接口,其中如果两个接口正在传达地址族优选策略,则接口管理电路128可以使用接口优选作为连接中断器(tiebreaker)(例如,如果二者要求相同的优选则选择WLAN而不是蜂窝)。然而,在一些备选实施方式中,主机设备102的用户所订购的接口(例如,用户可订购可经由蜂窝接口进行接入的蜂窝网络)在接收到高的优选的情况下可以被优先选择。就这点而言,主机和/或网络运营商可以使得较高优先级地址族的业务默认地优先于主机设备102的用户所订购的向其提供服务的接口。
将要意识到的是,表4并没有反映出所有实施方式。就这点而言,其它网络接口类型和网络地址族可以替代表4的示例中所使用的那些。另外,在其它示例实施方式中,蜂窝网络接口可以默认地优先于WLAN接口,和/或IPv4可以默认地优先于IPv6。此外,表4中所给出的结果在接口管理电路128将IPv6的“默认”优选级别视为“低”而非“高”的情形中将会有所不同。
在一些示例实施方式中,接口管理电路128在网络业务在蜂窝网络接口上经由IPv6进行传输并且到较高优先级的网络接口(例如,WLAN接口)的连接变为可用的情形中可以被配置为确定IPv6是否在该较高优先级的网络接口上可用。将要意识到的是,该确定可以在基于网络地址族优选策略选择优选网络接口之前进行。就这点而言,除了网络地址族优选策略之外,接口管理电路128可以被配置为至少部分基于IPv6是否在WLAN接口上可用(例如,可由WLAN接口所接入的WLAN是否支持IPv6)确定是否使得WLAN接口优先于蜂窝接口。因此,在一些示例实施方式中,接口管理电路128可以被配置为仅在至少一些业务(例如,IPv6业务)可以从活动接口卸载到WLAN接口的情况下才选择WLAN接口或其它接口优先于活动接口。在接口选择之前确定IPv6(或其它地址族)的可用性的示例实施方式中,之前所确定的地址族可用性可以被用来支持网络业务卸载决策。
接口管理电路128可以被配置为通过使用链路层过程查询IPv6是否在较高优先级的网络接口上得到支持来确定IPv6(和/或其它地址族)在WLAN接口上是否可用。例如,在较高优先级的网络接口包括WLAN接口的情况下,接口管理电路128可以被配置为查询WLAN接口的IP地址版本能力(例如,使用IEEE 802.11u参数)。就这点而言,接口管理电路128可以使用所定义的网络地址族支持查询参数来查询WLAN的接入点以确定IPv6在WLAN接口上是否可用。
接口管理电路128可以被配置为至少部分地基于IPv6在WLAN接口上是否可用来确定是否将业务从到使用IPv6的蜂窝网络接口上的传输连接卸载到WLAN接口。在IPv6在WLAN接口上可用的情形中,接口管理电路128可以被配置为将业务卸载到WLAN接口。就这点而言,接口管理电路128可以被配置为诸如基于以信号通知的网络地址族优选策略来确定是否将业务从第一网络接口卸载到被选择为优选网络接口的第二网络接口,备选地,接口管理电路128可以被配置为仅在业务可以从第一网络接口(例如,蜂窝网络接口)被卸载到第二网络接口(例如,WLAN接口)的情况下才选择第二网络接口作为优选网络接口。
在可用WLAN接口并不对IPv6提供支持的情形中,接口管理电路128可以被配置为确定用于在IPv6和IPv4之间进行转换的地址转换机制是否在主机设备102中或者特别地在WLAN接口上得到支持或者可用。该确定可以在选择优选网络接口之前作出并且可以被接口管理电路128用作选择优选网络接口的基础。备选地,该确定可以严格进行以支持选择WLAN接口被选择作为优选接口之后的卸载决策。这样的地址转换机制例如可以包括Teredo、6到4、双栈移动IPv6(DSM IP6)、虚拟私有网络(VPN)、站内自动隧道寻址协议(ISATAP)、配置隧道等。在地址转换机制在WLAN接口上可用的情形中,接口管理电路128可以被配置为选择WLAN以便进行关联和/或使用地址转换机制将IPv6网络业务从蜂窝网络接口卸载到WLAN接口。然而,在地址转换机制在WLAN接口上不可用的情形中,接口管理电路128可以被配置为在蜂窝网络接口上使用IPv6来维持传输连接。然而,接口管理电路128可以选择WLAN接口作为用于建立经由IPv4的新数据会话的优选接口。
在主机设备102没有被配置为支持多个接口上(例如,蜂窝网络接口和WLAN接口二者上)的同时的数据连接的示例实施方式中,接口管理电路128可以被配置为不从蜂窝切换至WLAN接口,除非确定了IPv6和/或用于在IPv6和IPv4之间进行转换的地址转换机制在WLAN接口上可用。确定IPv6在WLAN接口上是否可用可以在不影响其它活动接口上正在进行的数据会话的情况下进行。
在一些示例实施方式中,接口管理电路128可以被配置为确定在第一网络接口上的传输连接上进行传送的网络业务是否是针对特定路线进行配置。在网络业务针对特定路线进行配置的情形中,接口管理电路128可以被配置为即使第二网络接口诸如由于默认策略、以信号通知的网络地址族优选策略等而已经被选择作为优选网络接口的情况下也不将网络业务卸载到第二网络接口。
图5图示了依据根据本发明示例实施方式的用于确定网络接口优选策略的示例方法的流程图。就这点而言,图5图示了例如可以在主机设备102处执行的操作。在图5中图示并参考其进行描述的操作例如可以在处理器120、存储器122、通信接口124、用户接口126或接口管理电路128中的一个或多个的控制下和/或借助于它们来执行。操作500可以包括确定由接入点针对第一网络接口以信号向主机设备通知的网络地址族优选策略。操作510可以包括至少部分基于以信号通知的优选策略从第一网络接口和第二网络接口中选择接口。
图6图示了依据根据本发明示例实施方式的用于确定网络接口优选策略的示例方法的流程图。就这点而言,图6图示了例如可以在主机设备102处执行的操作。在图6中图示并参考其进行描述的操作例如可以在处理器120、存储器122、通信接口124、用户接口126或接口管理电路128中的一个或多个的控制下和/或借助于它们来执行。操作600可以包括确定由用于第一网络接口的接入点以信号通知的网络地址族优选策略。操作610可以包括确定在第二网络接口上可用的网络地址族支持。第二网络接口可以默认地优先于第一网络接口。操作620可以包括至少部分基于网络地址族优选策略和所确定的在第二网络接口上可用的网络地址族支持而从第一网络接口和第二网络接口中选择接口。在网络地址族优选策略指示第一网络地址族的优选级别低于预定的阈值级别并且第一网络地址族在第二网络接口上不可用的示例情形中,操作620可以包括选择第二网络接口。在网络地址族优选策略指示第一网络地址族的优选级别满足预定的优选级别并且第一网络地址族在第二网络接口上不可用的备选示例情形中,操作620可以包括选择第一网络接口。
在操作620中选择了第二网络接口并且网络业务通过第一网络接口进行传送的情形中,图6中所图示的示例方法可选地可以进一步包括操作630。就这点而言,操作630可选地可包括确定是否将网络业务从第一网络接口卸载到第二网络接口。该确定可以基于用于传输网络业务的网络地址族在第二网络接口上是否可用,用于在网络地址族之间进行转换的地址转换机制在第二网络接口上是否可用,网络业务是否被配置为使用特定路线,它们的一些组合,等等。备选地,在一些示例实施方式中,在操作620中可以仅在至少一些网络业务可以从第一网络接口卸载到第二网络接口的情况下才选择第二网络接口。因此,在一些示例实施方式中,诸如用于网络业务传输的网络地址族在第二网络接口上是否可用,用于在网络地址族之间进行转换的地址转换机制在第二网络接口上是否可用,网络业务是否被配置为使用特定路线,它们的一些组合等的因素可以被确定并且被用作操作620中进行选择的基础。
图5-图6是根据本发明示例实施方式的系统、方法和计算机程序产品的流程图。将要理解的是,流程图的每个框以及流程图中框的组合可以由各种手段来实施,诸如硬件和/或包括具有存储于其上的计算机可读程序指令的一个或多个计算机可读介质的计算机程序产品。例如,这里所描述的一个或多个过程可以由计算机程序产品的计算机程序指令来实现。就这点而言,实现这里所描述过程的(多个)计算机程序产品可以被移动终端、服务器或其它计算设备的一个或多个存储器设备所存储并且由计算设备中的处理器来执行。在一些实施方式中,包括体现以上所描述过程的(多个)计算机程序产品的计算机程序指令可以由多个计算设备的存储器设备来存储。如将要意识到的那样,任意这样的计算机程序产品可以被加载到计算机或其它可编程设备上以产生机器,从而使得包括在计算机或其它可编程设备上执行的指令的计算机程序产品创建出用于实施(多个)流程图框中所指定的功能的装置。另外,计算机程序产品可以包括其上可以存储计算机程序指令的一个或多个计算机可读存储器(例如,存储器122),以使得一个或多个计算机可读存储器可以指示计算机或其它可编程设备以特定方式进行工作,以使得计算机程序产品包括实施(多个)流程图框中所指定的功能的制造品。一个或多个计算机程序产品的计算机程序指令也可以被加载到计算机或其它可编程设备(例如,主机设备102)上以使得一系列操作得以在计算机或其它可编程设备上得以执行以产生计算机实施的处理而使得在计算机或其它可编程设备上执行的指令实施(多个)流程图框中所指定的功能。
因此,流程图的框支持用于执行所指定功能的手段的组合。还将要理解的是,一个或多个流程图框以及流程图中框的组合可以由执行特定功能、或者特定目的的硬件和计算机程序产品的组合的基于专用硬件的计算机系统来实现。
上述功能可以以多种方式执行。例如,任何用于执行上述功能中的每个功能的适当的装置可以被运用于进行本发明的实施方式。在一些示例实施方式中,适当配置的处理器(例如,处理器120)可以提供全部或部分要素。在其他示例实施方式中,全部或部分要素可以由计算机程序产品配置并且在计算机程序产品的控制下操作。用于执行本发明的实施方式的方法的计算机程序产品包括诸如非易失性存储介质之类的计算机可读存储介质,以及诸如一系列计算机指令之类的在计算机可读存储介质中具体化的计算机可读程序代码部分。
通过以上描述和相关附图中所给出的教导,这里所给出的本发明的许多修改形式和其它实施方式将被本发明相关领域的技术人员所意识到。因此,所要理解的是,本发明的实施方式并不局限于所公开的具体实施方式,并且修改形式和其它实施方式意在包括在本发明的范围之内。此外,虽然以上描述和相关附图在部件和/或功能的某些示例组合形式的背景下对示例实施方式进行了描述,但是应当意识到的是,可以由备选实施方式提供部件和/或功能的不同组合形式而并不背离本发明的范围。就这点而言,例如,与以上明确描述的有所不同的部件和/或功能的其它组合形式也被预期处于本发明的范围之内。虽然这里采用了具体术语,但是它们仅以一般且描述性的含义所使用而并非意在进行限制。