针对旧版本应用和非旧版本应用提供智能无线模块选择的方法和装置的制作方法

文档序号:7848120阅读:104来源:国知局
专利名称:针对旧版本应用和非旧版本应用提供智能无线模块选择的方法和装置的制作方法
技术领域
概括地说,本发明涉及无线通信系统的操作,具体地说,涉及针对旧版本应用(legacy application)和非旧版本应用提供智能无线模块选择(intelligent radioselection)的方法和装置。
背景技术
目前,运行以给无线设备提供广泛的附加服务和特征的应用(App)或设备小应用程序(device applet)是可用的。例如,目前,对于无线设备而言,下载并启动设备小应用程序以执行诸如购物、搜索、定位、驾驶导航或一系列其它功能之类的增值功能是可能的。通常,网络和应用程序供应商为了附加费用将这些设备小应用程序提供给设备用户。因此,设备小应用程序的使用增加了无线设备的功能性和实用性,并且给设备用户提供了最初在设备本身上不可用的特征和便利。通常,无线设备使用多个无线模块中的任意一个无线模块来与一个或多个无线网络连接。例如,无线设备可以包括通过使用蜂窝、WiFi、蓝牙或其它类型的无线接入技术来提供通信的各种无线模块。因此,通常为在无线设备上执行的应用提供默认路由,所述默认路由确定了这些应用与适当的网络进行通信所使用的无线模块和相关联的无线信道。然而,对智能地选择无线模块的关注日益增加,其中,给定的应用通过该无线模块来进行通信。这是部分地由于多无线模块设备(例如,3G/WiFi设备)的数量的增加以及可能给运营商造成容量问题的网络业务的增加。因此,对于这些容量问题,在卸载是可能的并且不会显著降低应用性能的情况下或者在实际上可以根据智能无线模块选择来改进应用性能的情况下,将业务卸载到可选择的无线模块是期望的。遗憾的是,所提出的影响无线模块选择的解决方案可能是低效的、昂贵的,并且可能不能应用于旧版本应用。例如,一种提出的解决方案将要求改变所有的应用以显式地指示优选的无线模块以供使用。这种解决方案可能是非常低效且昂贵的,这是因为这将需要改进每个无线设备处的应用以指定无线模块偏好并且将不得不考虑每个设备处的可用无线资源。此外,在这些改进是不可能的情况下,这种解决方案对于旧版本应用是不可行的。
因此,期望具有高效且性价比高的机制,该机制运行以针对旧版本应用和非旧版本应用二者提供智能无线模块选择,以使每个应用使用最期望的可用无线模块。

发明内容
在一个或多个方面,包括方法和装置的智能无线模块选择系统运行以针对旧版本应用和非旧版本应用提供智能无线模块选择,以使每个应用使用最期望的可用无线模块。在一个方面,提供了一种用于在设备处进行智能无线模块选择的方法。该方法包括截获来自期望无线接入的应用的联网函数调用(networking function call),根据选择标准从多个候选无线模块中选择一个无线模块,以及将所述无线模块绑定到所述应用。在一个方面,提供了一种用于在设备处进行智能无线模块选择的装置。该装置包括用于截获来自期望无线接入的应用的联网函数调用的模块,用于根据选择标准从多个候选无线模块中选择一个无线模块的模块,以及用于将所述无线模块绑定到所述应用的模块。 在一个方面,提供了一种用于在设备处进行智能无线模块选择的装置。该装置包括连接引擎和套接字部件,其中,所述连接引擎被配置为截获来自期望无线接入的应用的联网函数调用,并根据选择标准从多个候选无线模块中选择一个无线模块,以及所述套接字部件被配置为将所述无线模块绑定到所述应用。在一个方面,提供了一种用于在设备处进行智能无线模块选择的计算机程序产品。该计算机程序产品包括具有代码的计算机可读介质,所述代码可由处理器执行以截获来自期望无线接入的应用的联网函数调用,根据选择标准从多个候选无线模块中选择一个无线模块,以及将所述无线模块绑定到所述应用。在阅读了下文阐述的关于附图、说明书和权利要求的简要描述以后,其它方面将变得显而易见。


通过下面结合附图给出的描述,本文所描述的前述方面将变得更加显而易见,其中图I示出了说明智能无线模块选择系统的各个方面的示例性网络环境;图2示出了用于智能无线模块选择的示例性设备结构;图3示出了被配置为提供智能无线模块选择的示例性设备;图4示出了用于提供智能无线模块选择的示例性方法;图5示出了提供智能无线模块选择的示例性装置;图6示出了说明由智能无线模块选择系统提供的流移动性的各个方面的示例性通信网络;图7示出了用于提供流移动性的示例性方法;以及图8示出了用于提供流移动性的示例性方法。
具体实施例方式下面的说明描述了智能无线模块选择系统的实现,所述智能无线模块选择系统进行操作以针对旧版本应用和非旧版本应用提供智能无线模块选择,从而使每个应用能够使用最期望的可用无线模块。本文所描述的技术可以用于多种无线通信网络,例如,码分多址(CDMA)网络、时分多址(TDMA)网络、频分多址(FDMA)网络、正交FDMA (OFDMA)网络、单载波FDMA (SC-FDMA)网络等。术语“网络”和“系统”通常交互使用。CDMA网络可以实现诸如通用陆地无线接入(UTRA)、CDMA2000之类的无线技术。UTRA包括宽带-CDMA (W-CDMA)和低码片率(LCR)。CDMA2000涵盖IS-2000标准、IS-95标准和IS-856标准。TDMA网络可以实现诸如全球移动通信系统(GSM)之类的无线技术。OFDMA网络可以实现诸如演进型UTRA (E-UTRA),IEEE802. IUIEEE 802. 15.IEEE 802. 16、IEEE 802. 20、闪速-OFDM 之类的无线技术。UTRA、E-UTRA和GSM是通用移动电信系统(UMTS)的一部分。长期演进(LTE)是使用E-UTRA的UMTS的新版本。在来自名称为“第三代合作伙伴计划”(3GPP)的组织的文件中描述了 UTRA、E-UTRA、GSM、UMTS和LTE。在来自名称为“第三代合作伙伴计划2” (3GPP2)的组织的文件中描述了 CDMA2000。所述的各种无线技术和标准都是本领域中所公知的。
图I示出了说明智能无线模块选择系统的各个方面的示例性网络环境100。网络环境100包括设备102和通信网络104。设备102包括使用相应的无线信道106与网络104进行通信的多个无线模块。设备102还包括智能无线模块选择系统108,其进行操作以选择将由特定应用使用的特定无线模块。在操作期间,设备102执行应用,所述应用可以使用多个无线模块中的任意一个无线模块来与网络104连接。例如,用于执行的应用发出诸如套接字层调用之类的联网函数调用,以请求用于与网络104进行通信的网络资源。传统的系统通常根据默认的路由配置来处理套接字层调用,以将预定的无线资源绑定到该应用。然而,在各种实施方式中,智能无线模块选择系统进行操作以截获来自该应用的联网函数调用,并且选择适当的无线模块以供该应用使用。然后,执行绑定过程以将该应用绑定到网络资源(即,已经选择的无线模块)。因为智能无线模块选择系统响应于应用而使用无线资源的正常操作来运作,因此该系统可以在无需任何应用改变或改进的情况下对旧版本应用和非旧版本应用进行操作。下面提供智能无线模块选择系统的更详细的描述。图2示出了提供智能无线模块选择系统的示例性设备结构200。结构200包括连接引擎202、应用层204、套接字层206和无线单元208。应用层204包括可以执行以提供各种功能并且使用无线单元208的无线模块中的一个或多个无线模块来与外部网络进行通信的应用。套接字层206发出调用(或请求)以在特定的应用与无线模块之间建立绑定。连接引擎202进行操作以提供符合本文提出的各个方面的智能无线模块选择。在操作期间,连接引擎202截获来自应用层204处的应用的诸如套接字层调用之类的联网函数调用。一旦截获了联网函数调用,则连接引擎202进行操作以从无线单元208内的多个候选无线模块中选择理想的无线模块/接口。例如,连接引擎202根据各种选择标准来选择无线模块。当选择了无线模块/接口时,连接引擎202使用套接字层206的套接字层函数来建立该应用与已选择的无线模块/接口之间的连接。例如,套接字层函数可以包括连接函数“(0111^(^()”、绑定函数“8111(1()”、设置套接字选择函数“5的80(^叩丨()”和/或任何其它适当的套接字层函数。因此,设备结构200提供了智能无线模块选择,以使在设备处执行的旧版本应用和非旧版本应用可以绑定到最优选的无线模块/接口。图3示出了提供智能无线模块选择的示例性无线设备300。设备300包括全部耦合在一起以使用通信总线314进行通信的处理器302、存储器304、无线部件312、应用层部件306、套接字层部件310和连接引擎部件308。应该注意的是,设备300仅是一种实现,其它的实现是可能的。在一个方面,处理器302包括以下各项中的至少一项CPU、处理器、门阵列、硬件逻辑、存储器元件和/或硬件执行软件。处理器302进行操作以控制设备300的操作,以使在设备300处执行的应用可以绑定到最期望的无线模块。在一种实现中,处理器302被配置为执行与实现多个函数中的任意一个函数有关的计算机可读指令。例如,处理器302进行操作以分析从设备300接收或传送的信息,以实现智能无线模块选择。在另一个方面,处理器302进行操作以产生信息,所述信息可由存储器304、无线部件312、应用层部件306、套接字层部件310和/或连接引擎部件308使用以实现智能无线模块选择。
无线部件312包括硬件和/或处理器执行软件,其被配置为提供多个无线模块/接口,所述无线模块/接口可以用于使用多个无线信道316将设备300与诸如外部通信网络之类的多个外部实体连接。例如,无线部件312提供无线模块/接口以使用蜂窝、WiFi、蓝牙或者通过使用无线信道316来与通信网络进行通信的任何其它技术进行通信。应用层部件306包括硬件和/或处理器执行软件,其被配置为在设备300上存储和/或执行一个或多个应用。在一种实现中,应用层部件306被配置为允许应用发起联网函数调用以请求联网服务,例如,为了与外部网络或系统进行通信,请求与无线模块/接口的连接。套接字层部件310包括硬件和/或处理器执行软件,其被配置为执行套接字层函数。在一种实现中,套接字层函数包括诸如Connect O、BindO和SetsockoptO之类的函数。ConnectO函数用于建立应用与特定的无线模块/接口之间的连接。例如,可以从由无线部件312提供的多个候选无线模块中选择特定的无线模块/接口。在一个方面,套接字层部件310被配置为执行多个套接字层函数或命令。连接引擎部件308包括硬件和/或处理器执行软件,其被配置为执行系统资源的评估以选择特定的无线模块以供应用使用。在各种实现中,连接引擎部件308被配置成集中式无线控制器以根据以下选择标准中的一个或多个选择标准来选择特定的无线模块。I、用户策略一由设备用户设置的、与在设备处执行的应用的无线接入有关的策略。2、运营商策略一由网络运营商设置的、与设备或应用的网络接入有关的策略。3、无线度量一用于针对特定的应用或操作环境来选择最优选的无线模块的无线性能的测量或其它类型的测量。4、应用要求一与请求应用相关联的要求,例如带宽要求或延迟/性能要求。5、网络可用性一与特定无线接口上的特定网络的可用性有关的信息。6、厂商提供的度量一用于从诸如接收信号强度指示和分组丢失率之类的无线度量转化为特定无线接口可用的吞吐量和延迟的信息。7、接入点可用性一为拥塞了来自其它设备的大量业务的接入点或那些可以配置无线链路但没有将分组转发给网络的接入点指定独特标识符的信息。
存储器304包括RAM、ROM、EEPROM或操作为允许在设备300处存储信息或者可在设备300处恢复信息的任何其它类型的存储设备。在一种实现中,存储器304被配置为存储由处理器302执行的计算机可读指令。存储器304还可被配置为存储多种其它类型的数据中的任意一种数据,所述数据包括由处理器302、无线部件312、应用层部件306、套接字层部件310和/或连接引擎部件308中的任意一种产生的数据。可以将存储器304配置成若干不同的结构,包括如随机存取存储器、电池供电的存储器、硬盘、磁带等。还可以在存储器304上实现诸如压缩和自动备份之类的各种特征。存储器304被配置为存储预载库318和联网库320。在一种实现中,联网库320包括POSIX或Berkeley套接字应用编程接口(API ),其包括用于以C编程语言开发应用的函数,这些函数执行进程间通信,并且最常用于计算机网络中的通信。例如,POSIX API包括诸如 Connect ()、BindO 和 Setsockopt ()之类的函数。 预载库318用于截获来自应用层306处的应用的套接字调用。例如,预载库318至少包括由联网库320提供的API函数的子集,并且以比联网库320高的优先级链接到执行环境中。在操作期间,系统对设备第一次启动时链接器所使用的环境进行配置。在一种实现中,链接器进行操作以在开始正常库链接以前核查将被加载的库的环境。通常,链接器加载提供联网API的联网库320。应用使用该接口以创建并连接套接字,从而建立网络通信。例如,在一种实现中,链接器扫描应用及其依赖关系,因此,将所有库都加载到存储器中。链接器被配置为在其它库之前加载预载库318并且填写查找表,因此,接下来被加载的库是满足的并且可以使用预载库318。预载库318至少包括联网库320提供的API套接字的子集。当应用发出联网函数调用以创建或连接套接字时,该调用由预载库318处理(或截获)。例如,应用向具有自变量或属性的Connect ()函数提供函数指针,例如,提供给Connect ()函数的IP地址、目的地和文件描述符。然后,预载库318向集中式无线控制实体产生请求以为特定的连接选择最适当的网络接口。例如,预载库318向连接引擎部件308发送请求以确定要使用的适当的无线模块。当选择了适当的无线模块以后,执行对联网库320套接字API的调用以在控制返回预载库318以前完成连接建立。例如,连接引擎部件308进行操作以调用联网库320的函数以将已经选择的无线模块绑定到发出请求的应用。连接引擎部件308被配置为以多种方式从多个候选无线模块中智能地选择一个无线模块。例如,连接引擎部件308可以被配置为使用上述选择标准中的一个或多个选择标准来选择无线模块。一旦选择了无线模块,则连接引擎部件308将该无线模块绑定到应用。例如,在一种实现中,绑定是通过调用到初始的联网库320中来执行的。在可以指定特定的库标识符和函数标识符并且存储该信息的情况下,运行时间链接器提供专家接口。因此,连接引擎部件308和预载库318处的函数可以容易地存取联网库320中的诸如BindO函数之类的函数,以将已经选择的无线模块绑定到应用。下面提供了用于提供智能无线模块选择的设备300的操作的更详细的描述。在各种实现中,智能无线模块选择系统包括计算机程序产品,其具有存储或体现在计算机可读介质上的一个或多个程序指令(“指令”)或“代码”集合。当代码由诸如处理器302之类的至少一个处理器执行时,所述代码的执行使处理器302控制设备300以便提供本文所描述的智能接口选择系统的功能。例如,计算机可读介质包括软盘、CDROM、存储卡、闪存设备、RAM、ROM或与设备300对接的任何其它类型的存储设备或计算机可读介质。在另一方面,可以将代码集合从外部设备或通信网络资源下载到设备300中。当执行代码集合时,这些代码集合用于提供本文所描述的智能接口选择系统的各个方面。图4示出了用于提供智能无线模块选择的示例性方法400。为了清楚起见,下面参照图3中所示的设备300来描述方法400。在一种实现中,处理器302执行一个或多个代码集合以控制设备300的功能元件,从而实现下面所描述的功能。在方框402处,开始执行应用。该应用可以是作为应用层部件306的一部分的旧版本应用或非旧版本应用。例如,应用可以是网络浏览器,其产生联网函数调用以使用无线部件312处的可用无线模块连接到无线网络。 在方框404处,配置并加载预载库。例如,预载库318包括联网函数的子集,其被提供在通常由应用使用的联网库320中以评估通信网络。预载库318中的联网函数被配置为截获来自在设备处执行的应用的联网函数调用。例如,预载库318包括POSIX套接字函数,其可以用于截获在设备300处执行的应用的套接字调用。在一种实现中,预载库318被存储在存储器304中。在一种实现中,将预载库318函数配置为接收从进行调用的应用传送的自变量,并使用这些自变量向连接引擎部件308产生请求,以便选择最适合于应用的目的的无线模块。在方框406处,将预载库链接到执行环境中。例如,处理器302以比联网库320高的优先级将预载库318链接到执行环境中。因此,应用的联网函数调用将由预载库318中的函数截获并处理而不由联网库320中的类似函数处理。在方框408处,来自应用的联网函数调用被截获。例如,联网函数调用可以是诸如ConnectO函数之类的POSIX套接字函数调用。应用产生联网函数调用以连接到无线模块,从而允许与外部网络进行通信。由于预载库318以比联网库320高的优先级链接到执行环境中,因此联网函数调用由预载库318中的函数截获(或处理)。在方框410处,预载库318中所调用的函数向连接引擎部件308产生选择请求,以选择适当的无线模块以供应用使用。该请求包括作为可以由连接引擎部件308使用以选择适当的无线模块以供应用使用的选择标准的一部分的任意信息。在方框412处,评估选择标准。在一种实现中,连接引擎部件308进行操作以评估上述选择标准。例如,连接引擎308与无线部件312进行通信以评估作为选择标准的一部分的无线度量。在方框414处,根据对选择标准的评估来选择无线模块。例如,连接引擎部件308进行操作以选择最匹配选择标准的无线模块。在方框416处,将已选择的无线模块绑定到应用。例如,在一种实现中,连接引擎部件308调用联网库320的BindO函数以将已选择的无线模块绑定到应用。例如,连接引擎部件308 了解联网库320以及了解如何在没有被预载库318截获的情况下直接地存取其函数。在方框418处,应用程序然后使用已经为网络通信选择的无线模块。
在可选的操作中,该方法继续前进至方框412,其中,连接引擎部件308进行操作以对选择标准进行周期的评估以确定当前的无线模块是否最匹配选择标准。如果在对选择标准进行另一个评估以后确定除了当前无线模块以外的无线模块最匹配选择标准,则连接引擎308可以破坏连接,以此作为触发应用重新开始连接的方式,从而为新的连接选择不同的无线模块。因此,可选的操作允许周期地评估选择标准,以确保选择最适当的无线模块来进行期望的通信。因此,方法400提供了智能无线模块选择以供旧版本应用和非旧版本应用使用。应该注意的是,方法400仅是一种实现,并且可以重新安排或者以其它方式修改方法400的操作,以使其它实现成为可能。图5示出了提供智能无线模块选择的示例性装置500。例如,装置500适合于用作图I中所示的设备102。在一个方面,装置500是由至少一个集成电路来实现的,所述集成电路包括被配置为提供本文所描述的智能无线模块选择系统的各个方面的一个或多个模块。例如,在一个方面,每个模块包括硬件和/或硬件执行软件。
装置500包括第一模块,所述第一模块包括用于截获来自期望无线接入的应用的联网函数调用的单元(502),其在一个方面包括预载库318。装置500还包括第二模块,所述第二模块包括用于根据选择标准来从多个候选无线模块中选择一个无线模块的单元(504),其在一个方面包括连接引擎模块308。装置500还包括第三模块,所述第三模块包括用于将无线模块绑定到应用的单元(506),其在一个方面包括连接引擎模块308。流移动件除了智能接口选择以外,系统还操作为提供下文所描述的流移动性。图6示出了示例性的通信网络600,其说明了由智能无线模块选择系统提供的流移动性的各个方面。通信网络600包括设备602,该设备被配置为使用一个或多个通信接口 606与网络604进行通信。例如,通信接口 606包括蜂窝、WiFi、蓝牙和任何其它适当的通信技术。在操作期间,设备602处的应用产生连接请求以与网络资源进行通信。如上所描述的,系统108执行智能接口选择以满足该请求。为了提供流移动性的各个方面,系统操作为动态地产生流绑定规则,所述流绑定规则指定从接口 606选择的特定通信接口以封装分组以便在归属代理608与设备602之间进行路由。在传统的系统中,通常用包括源IP地址、目的IP地址、源端口、目的端口和协议的5元组来描述IP流绑定。因此,该描述是由手机602提供给归属代理608,并且匹配该描述的分组将因此由归属代理608来路由。遗憾的是,因为即使是在唯一发生改变的元组可能是源端口的情况下,5元组的所有元素都被发送,因此使用5元组来寄存流可能不是带宽高效的。在各种实现中,该系统操作为当开始连接时动态地产生流绑定规则,以便通过最适当的无线模块/接口来发送数据流。例如,在一种实现中,系统分配将由应用使用以进行网络通信的临时端口。系统108然后仅根据临时端口来动态地产生流绑定规则,所述流绑定规则指示特定的数据流将与临时端口相关联并且将通过特定的无线模块/接口来发送。通过在绑定规则中仅使用临时端口,不必将整个5元组都发送给归属代理,这比传统的系统更高效,这是因为节省了传输带宽。在另一种实现中,动态地产生IPv6地址以用于连接。例如,产生属于移动节点前缀的每个连接IPv6地址并将其分配给移动IP地址。接下来,动态产生仅基于每个连接IPv6地址的流绑定规则。在上述情况中的任意一种情况下,然后通过网络604以信号形式将绑定规则发送给归属代理(HA)608。HA 608操作为根据绑定规则将分组路由给设备。例如,在HA 608处接收从通信节点(CN) 610发送到设备的数据分组,并且使用绑定规则来将该数据分组路由给设备602。下面的方法描述了由智能选择系统提供的流移动性的各个方面。图7示出了一种用于提供流移动性的示例性方法700。为了清楚起见,下面参照图3中所示的设备300和图6中所示的网络600来描述方法700。在一种实现中,处理器302执行一个或多个代码集合以控制设备300的功能元件,从而执行下面所描述的功能。在方框702处,通过应用创建套接字。例如,在设备602处执行的应用创建套接字 以从作为网络604的一部分的网络资源接收数据流。在方框704处,来自应用的联网函数调用被截获。例如,联网函数调用可以是诸如ConnectO函数之类的POSIX套接字函数调用。该应用产生联网函数调用以连接到无线模块,从而允许与外部网络进行通信。由于预载库318以比联网库320高的优先级链接到执行环境中,因此由预载库318中的函数来截获(或处理)联网函数调用。在方框706处,执行智能接口选择以满足联网函数调用。例如,执行方法400的方框408至414以选择无线模块/接口以供应用使用。因此,选择由设备602提供的接口 606中的一个接口以供应用使用。在方框708处,分配临时本地端口。在一种实现中,连接引擎308操作为将临时本地端口分配给应用。例如,临时(即,短暂的)端口是从预定范围内选择的、用于IP通信的传输协议端口。该分配是临时的并且仅对于通信会话的持续时间是有效的。在完成了通信会话以后,该端口可再使用。在方框710处,仅根据临时端口来动态地产生流绑定规则。在一种实现中,连接引擎308操作为仅根据所分配的临时本地端口来动态地产生绑定规则。在方框712处,以信号形式将流绑定规则发送给与设备相关联的归属代理。例如,连接引擎308操作为将流绑定规则发送给归属代理608。然后,归属代理608使用流绑定规则来使用适当的无线模块/接口将流路由到设备602。因此,方法700提供了智能无线模块选择系统中的流移动性。应该注意的是,方法700仅是一种实现,可以重新安排或者以其它方式修改方法700的操作,以使其它实现成为可能。图8示出了一种用于提供流移动性的示例性方法800。为了清楚起见,下面参照图3中示出的设备300和图6中示出的网络600来描述方法800。在一种实现中,处理器302执行一个或多个代码集合以控制设备300的功能元件,从而执行下面所描述的功能。在方框802处,由应用创建套接字。例如,在设备602处执行的应用创建套接字以从作为网络604的一部分的网络资源接收数据流。在方框804处,来自应用的联网函数调用被截获。例如,联网函数调用可以是诸如ConnectQ函数之类的POSIX套接字函数调用。应用产生联网函数调用以连接到无线模块,从而允许与外部网络进行通信。由于预载库318以比联网库320高的优先级链接到执行环境中,因此由预载库318中的函数来截获(或处理)联网函数调用。在方框806处,执行智能接口选择以满足联网函数调用。例如,执行方法400的方框408至414以选择无线模块/接口以供应用使用。因此,选择由设备602提供的接口 606中的一个接口。在方框808处,产生属于移动节点前缀的每个连接IPv6地址。例如,由连接引擎308产生每个连接IPv6地址。在方框810处,将每个连接IPv6地址分配给移动IP地址。例如,分配是由连接引擎308执行的。在方框812处,仅根据每个连接IPv6地址来动态地产生流绑定规则。在一种实现中,连接引擎308操作为仅根据每个连接IPv6地址来动态地产生绑定规则。由于诸如端口 地址或目的地址之类的其它参数不是必须的并且会消耗归属代理的处理资源,因此这实现了高效的带宽利用。在方框814处,以信号形式将流绑定规则发送给与设备相关联的归属代理。例如,连接引擎308操作为将流绑定规则发送给归属代理608。然后,归属代理608使用流绑定规则以使用适当的无线模块/接口将流路由到设备602。因此,方法800提供了智能无线模块选择系统中的流移动性。应该注意的是,方法800仅是一种实现,可以重新安排或者以其它方式修改方法800的操作,以使其它实现成为可能。本领域技术人员应当理解的是,信息和信号可以使用多种不同的技术和方法来表示。例如,在贯穿上面的描述中提及的数据、指令、命令、信息、信号、比特、符号和码片可以用电压、电流、电磁波、磁场或粒子、光场或粒子或者其任意组合来表示。本领域技术人员还应清楚的是,结合本文的实施例描述的各种示例性的逻辑框、模块、电路和算法步骤均可以实现成电子硬件、计算机软件或这二者的组合。为了清楚地表示硬件和软件之间的可交换性,上面对各种示例性的部件、框、模块、电路和步骤均围绕其功能进行了总体描述。至于这种功能是实现成硬件还是实现成软件,取决于特定的应用和对整个系统所施加的设计约束条件。熟练的技术人员可以针对每个特定应用,以变通的方式实现所描述的功能,但是,这种实现决策不应解释为背离本发明的示例性实施例的保护范围。用于执行本文所描述的功能的通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或其它可编程逻辑器件、分立门或者晶体管逻辑、分立硬件组件或者其任意组合,可以实现或执行结合本文的实施例所描述的各种示例性的逻辑框、模块和电路。通用处理器可以是微处理器,或者,该处理器也可以是任何传统的处理器、控制器、微控制器或者状态机。处理器也可以实现为计算设备的组合,例如,DSP和微处理器的组合、多个微处理器、一个或多个微处理器与DSP内核的结合,或者任何其它此种结构。结合本文的实施例所描述的方法或者算法的步骤可直接体现在硬件、由处理器执行的软件模块或这二者的组合中。软件模块可以位于随机存取存储器(RAM)、闪存、只读存储器(ROM)、电可编程ROM (EPROM)、电可擦可编程ROM (EEPR0M)、寄存器、硬盘、移动磁盘、CD-ROM或者本领域熟知的任何其它形式的存储介质中。示例性的存储介质被耦合到处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息。或者,存储介质也可以是处理器的组成部分。处理器和存储介质可以位于ASIC中。该ASIC可以位于用户终端中。或者,处理器和存储介质可以作为分立部件位于用户终端中。在一个或多个示例性的实施例中,所描述的功能可以实现在硬件、软件、固件或其任意组合中。如果实现在软件中,则可以将这些功能作为一个或多个指令或代码存储或传送到计算机可读介质上。计算机可读介质包括计算机存储介质和通信介质二者,所述通信介质包括有助于计算机程序从一个位置转移到另一个位置的任意介质。存储介质可以是能够由计算机存取的任意可用介质。通过举例而非限制的方式,这种计算机可读介质可以包括RAM、ROM、EEPROM、CD-ROM或其它光盘存储器、磁盘存储器或其它磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机进行存取的任何其它介质。此外,基本上任何连接可以称为计算机可读介质。例如,如果软件是使用同轴电缆、光纤光缆、双绞线、数字用户线(DSL)或者诸如红外线、无线电和微波之类的无线技术从网站、服务器或其它远程源发送的,则同轴电缆、光纤光缆、双绞线、DSL或者诸如红外线、无线电和微波之类的无线技术被包括在介质的定义中。本文使用的磁盘和光盘包括压 缩光盘(CD)、激光光盘、光盘、数字通用光盘(DVD)、软盘和蓝光光盘,其中,磁盘通常磁性地复制数据,而光盘用激光光学地复制数据。上述各项的组合也应该包括在计算机可读介质的范围中。提供所公开的示例性实施例的以上描述以使得本领域的任何技术人员能够实现或使用本发明。对于本领域技术人员来说,这些示例性实施例的各种修改都是显而易见的,并且本文定义的总体原理也可以在不脱离本发明的精神或保护范围的基础上适用于其它实施例。因此,本发明并不限于本文给出的示例性实施例,而是与符合本文公开的原理和新颖特征的最广范围相一致。
权利要求
1.一种用于在设备处进行智能无线模块选择的方法,所述方法包括 截获来自期望无线接入的应用的联网函数调用; 根据选择标准从多个候选无线模块中选择一个无线模块;以及 将所述无线模块绑定到所述应用。
2.根据权利要求I所述的方法,其中,所述截获的步骤包括 在链接到所述设备的执行环境中的预载库处截获所述联网函数调用。
3.根据权利要求2所述的方法,其中,所述截获的步骤包括 以比联网库高的优先级将所述预载库链接到所述执行环境中,其中,所述预载库至少包括在所述联网库中可用的函数的子集。
4.根据权利要求3所述的方法,其中,所述绑定的步骤包括 使用所述联网库的一个或多个函数将所述无线模块绑定到所述应用。
5.根据权利要求I所述的方法,其中,所述截获的步骤包括 向集中式无线控制器产生请求以选择所述无线模块。
6.根据权利要求I所述的方法,其中,所述选择标准包括以下各项中的至少一项 用户策略标准、网络策略标准、应用要求、连接属性和无线度量标准。
7.根据权利要求I所述的方法,其中,所述候选无线模块包括以下各项中的至少一项 蜂窝、WiFi和蓝牙无线接入技术。
8.根据权利要求I所述的方法,其中,所述联网函数调用是套接字层调用。
9.根据权利要求8所述的方法,其中,所述套接字层调用是以下各项中的至少一项 Connect ()、Bind ()和 Setsockopt ()。
10.根据权利要求I所述的方法,其中,所述应用是旧版本应用和非旧版本应用中的一个。
11.根据权利要求I所述的方法,其中,所述绑定的步骤包括 向所述无线模块分配临时端口; 仅根据所述临时端口来产生流绑定规则;以及 以信号形式向归属代理发送所述流绑定规则。
12.根据权利要求I所述的方法,其中,所述绑定的步骤包括 产生与所述无线模块相关联的IPv6地址; 仅根据所述IPv6地址来产生流绑定规则;以及 以信号形式向归属代理发送所述流绑定规则。
13.一种用于在设备处进行智能无线模块选择的装置,所述装置包括 用于截获来自期望无线接入的应用的联网函数调用的模块; 用于根据选择标准从多个候选无线模块中选择一个无线模块的模块; 以及 用于将所述无线模块绑定到所述应用的模块。
14.根据权利要求13所述的装置,其中,所述用于截获的模块包括 用于在链接到所述设备的执行环境中的预载库处截获所述联网函数调用的模块。
15.根据权利要求14所述的装置,其中,所述用于截获的模块包括 用于以比联网库高的优先级将所述预载库链接到所述执行环境中的模块,其中,所述预载库至少包括在所述联网库中可用的函数的子集。
16.根据权利要求15所述的装置,其中,所述用于绑定的模块包括 用于使用所述联网库的一个或多个函数来将所述无线模块绑定到所述应用的模块。
17.根据权利要求13所述的装置,其中,所述用于截获的模块包括 用于向集中式无线控制器产生请求以选择所述无线模块的模块。
18.根据权利要求13所述的装置,其中,所述选择标准包括以下各项中的至少一项 用户策略标准、网络策略标准、应用要求、连接属性和无线度量标准。
19.根据权利要求13所述的装置,其中,所述候选无线模块包括以下各项中的至少一项 蜂窝、WiFi和蓝牙无线接入技术。
20.根据权利要求13所述的装置,其中,所述联网函数调用是套接字层调用。
21.根据权利要求20所述的装置,其中,所述套接字层调用是以下各项中的至少一项 Connect ()、Bind ()和 Setsockopt ()。
22.根据权利要求13所述的装置,其中,所述应用是旧版本应用和非旧版本应用中的一个。
23.根据权利要求13所述的装置,其中,所述用于绑定的模块包括 用于向所述无线模块分配临时端口的模块; 用于仅根据所述临时端口来产生流绑定规则的模块;以及 用于以信号形式向归属代理发送所述流绑定规则的模块。
24.根据权利要求13所述的装置,其中,所述用于绑定的模块包括 用于产生与所述无线模块相关联的IPv6地址的模块; 用于仅根据所述IPv6地址来产生流绑定规则的模块;以及 用于以信号形式向归属代理发送所述流绑定规则的模块。
25.一种用于在设备处进行智能无线模块选择的装置,所述装置包括 连接引擎,其被配置为截获来自期望无线接入的应用的联网函数调用,并且根据选择标准从多个候选无线模块中选择一个无线模块;以及 套接字部件,其被配置为将所述无线模块绑定到所述应用。
26.根据权利要求25所述的装置,其中,所述连接引擎被配置为 使用被链接到所述设备的执行环境中的预载库来截获所述联网函数调用。
27.根据权利要求26所述的装置,其中,所述预载库是以比联网库高的优先级被链接到所述执行环境中,其中,所述预载库至少包括在所述联网库中可用的函数的子集。
28.根据权利要求27所述的装置,其中,所述套接字部件被配置为 使用所述联网库的一个或多个函数来将所述无线模块绑定到所述应用。
29.根据权利要求25所述的装置,其中,所述选择标准包括以下各项中的至少一项 用户策略标准、网络策略标准、应用要求、连接属性和无线度量标准。
30.根据权利要求25所述的装置,其中,所述候选无线模块包括以下各项中的至少一项 蜂窝、WiFi和蓝牙无线接入技术。
31.根据权利要求25所述的装置,其中,所述联网函数调用是套接字层调用。
32.根据权利要求31所述的装置,其中,所述套接字层调用是以下各项中的至少一项 Connect ()、Bind ()和 Setsockopt ()。
33.根据权利要求25所述的装置,其中,所述应用是旧版本应用和非旧版本应用中的一个。
34.根据权利要求25所述的装置,其中,所述连接引擎被配置为 向所述无线模块分配临时端口; 仅根据所述临时端口来产生流绑定规则;以及 以信号形式向归属代理发送所述流绑定规则。
35.根据权利要求25所述的装置,其中,所述连接引擎被配置为 产生与所述无线模块相关联的IPv6地址; 仅根据所述IPv6地址来产生流绑定规则;以及 以信号形式向归属代理发送所述流绑定规则。
36.一种用于在设备处进行智能无线模块选择的计算机程序产品,所述计算机程序产品包括 计算机可读介质,其包含代码,所述代码可由处理器执行以 截获来自期望无线接入的应用的联网函数调用; 根据选择标准从多个候选无线模块中选择一个无线模块;以及 将所述无线模块绑定到所述应用。
37.根据权利要求36所述的计算机可读介质,其中,所述代码被配置为 使所述处理器使用链接到所述设备的执行环境中的预载库来截获所述联网函数调用。
38.根据权利要求37所述的计算机可读介质,其中,所述代码被配置为 使所述处理器以比联网库高的优先级将所述预载库链接到所述执行环境中,其中,所述预载库至少包括在所述联网库中可用的函数的子集。
39.根据权利要求38所述的计算机可读介质,其中,所述代码被配置为 使所述处理器使用所述联网库中的一个或多个函数来将所述无线模块绑定到所述应用。
40.根据权利要求36所述的计算机可读介质,其中,所述选择标准包括以下各项中的至少一项 用户策略标准、网络策略标准、应用要求、连接属性和无线度量标准。
41.根据权利要求36所述的计算机可读介质,其中,所述候选无线模块包括以下各项中的至少一项 蜂窝、WiFi和蓝牙无线接入技术。
42.根据权利要求36所述的计算机可读介质,其中,所述联网函数调用是套接字层调用。
43.根据权利要求42所述的计算机可读介质,其中,所述套接字层调用是以下各项中的至少一项Connect ()、Bind ()和 Setsockopt ()。
44.根据权利要求36所述的计算机可读介质,其中,所述应用是旧版本应用和非旧版本应用中的一个。
45.根据权利要求36所述的计算机可读介质,其中,所述代码被配置为使所述处理器向所述无线模块分配临时端口;仅根据所述临时端口来产生流绑定规则;以及以信号形式向归属代理发送所述流绑定规则。
46.根据权利要求36所述的计算机可读介质,其中,所述代码被配置为使所述处理器产生与所述无线模块相关联的IPv6地址;仅根据所述IPv6地址来产生流绑定规则;以及以信号形式向归属代理发送所述流绑定规则。
全文摘要
本文描述了针对旧版本应用和非旧版本应用提供智能接口选择的方法和装置。该方法包括截获来自期望无线接入的应用的联网函数调用,根据选择标准从多个候选无线模块中选择一个无线模块,以及将所述无线模块绑定到所述应用。为了有助于流移动性,该方法包括向所述无线模块分配临时端口,仅根据所述临时端口来产生流绑定规则,以及以信号形式向归属代理发送所述流绑定规则。
文档编号H04W48/18GK102771164SQ201180009475
公开日2012年11月7日 申请日期2011年2月16日 优先权日2010年2月16日
发明者D·W·克雷格, G·贾雷塔, G·齐尔特西斯, J·H·拉加尼耶, J·K·孙达拉拉詹, K·I·阿赫马瓦拉, 靳海鹏 申请人:高通股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1