首页> 中国专利> 针对旧版本应用和非旧版本应用提供智能无线模块选择的方法和装置

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

摘要

本文描述了针对旧版本应用和非旧版本应用提供智能接口选择的方法和装置。该方法包括截获来自期望无线接入的应用的联网函数调用,根据选择标准从多个候选无线模块中选择一个无线模块,以及将所述无线模块绑定到所述应用。为了有助于流移动性,该方法包括向所述无线模块分配临时端口,仅根据所述临时端口来产生流绑定规则,以及以信号形式向归属代理发送所述流绑定规则。

著录项

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2015-02-25

    授权

    授权

  • 2012-12-26

    实质审查的生效 IPC(主分类):H04W48/18 申请日:20110216

    实质审查的生效

  • 2012-11-07

    公开

    公开

说明书

基于35U.S.C.§119要求优先权

本专利申请要求于2010年2月16日递交的、名称为“METHOD AND  APPARATUS FOR FACILITATING INTERFACE SELECTION WITH  LEGACY AND NON-LEGACY APPLICATIONS”的美国临时申请 No.61/305,087的优先权,该临时申请已经被转让给本申请的受让人,因此 以引用方式将其明确地并入本文。

本专利申请要求于2010年2月16日递交的、名称为“SYSTEMS, APPARATUS AND METHODS TO FACILITATE FLOW MOBILITY”的美国 临时申请No.61/305,091的优先权,该临时申请已经被转让给本申请的受让 人,因此以引用方式将其明确地并入本文。

技术领域

概括地说,本发明涉及无线通信系统的操作,具体地说,涉及针对旧 版本应用(legacy application)和非旧版本应用提供智能无线模块选择 (intelligent radio selection)的方法和装置。

背景技术

目前,运行以给无线设备提供广泛的附加服务和特征的应用(App)或 设备小应用程序(device applet)是可用的。例如,目前,对于无线设备而 言,下载并启动设备小应用程序以执行诸如购物、搜索、定位、驾驶导航 或一系列其它功能之类的增值功能是可能的。通常,网络和应用程序供应 商为了附加费用将这些设备小应用程序提供给设备用户。因此,设备小应 用程序的使用增加了无线设备的功能性和实用性,并且给设备用户提供了 最初在设备本身上不可用的特征和便利。

通常,无线设备使用多个无线模块中的任意一个无线模块来与一个或 多个无线网络连接。例如,无线设备可以包括通过使用蜂窝、WiFi、蓝牙 或其它类型的无线接入技术来提供通信的各种无线模块。因此,通常为在 无线设备上执行的应用提供默认路由,所述默认路由确定了这些应用与适 当的网络进行通信所使用的无线模块和相关联的无线信道。

然而,对智能地选择无线模块的关注日益增加,其中,给定的应用通 过该无线模块来进行通信。这是部分地由于多无线模块设备(例如,3G/WiFi 设备)的数量的增加以及可能给运营商造成容量问题的网络业务的增加。 因此,对于这些容量问题,在卸载是可能的并且不会显著降低应用性能的 情况下或者在实际上可以根据智能无线模块选择来改进应用性能的情况 下,将业务卸载到可选择的无线模块是期望的。

遗憾的是,所提出的影响无线模块选择的解决方案可能是低效的、昂 贵的,并且可能不能应用于旧版本应用。例如,一种提出的解决方案将要 求改变所有的应用以显式地指示优选的无线模块以供使用。这种解决方案 可能是非常低效且昂贵的,这是因为这将需要改进每个无线设备处的应用 以指定无线模块偏好并且将不得不考虑每个设备处的可用无线资源。此外, 在这些改进是不可能的情况下,这种解决方案对于旧版本应用是不可行的。

因此,期望具有高效且性价比高的机制,该机制运行以针对旧版本应 用和非旧版本应用二者提供智能无线模块选择,以使每个应用使用最期望 的可用无线模块。

发明内容

在一个或多个方面,包括方法和装置的智能无线模块选择系统运行以 针对旧版本应用和非旧版本应用提供智能无线模块选择,以使每个应用使 用最期望的可用无线模块。

在一个方面,提供了一种用于在设备处进行智能无线模块选择的方法。 该方法包括截获来自期望无线接入的应用的联网函数调用(networking  function call),根据选择标准从多个候选无线模块中选择一个无线模块,以 及将所述无线模块绑定到所述应用。

在一个方面,提供了一种用于在设备处进行智能无线模块选择的装置。 该装置包括用于截获来自期望无线接入的应用的联网函数调用的模块,用 于根据选择标准从多个候选无线模块中选择一个无线模块的模块,以及用 于将所述无线模块绑定到所述应用的模块。

在一个方面,提供了一种用于在设备处进行智能无线模块选择的装置。 该装置包括连接引擎和套接字部件,其中,所述连接引擎被配置为截获来 自期望无线接入的应用的联网函数调用,并根据选择标准从多个候选无线 模块中选择一个无线模块,以及所述套接字部件被配置为将所述无线模块 绑定到所述应用。

在一个方面,提供了一种用于在设备处进行智能无线模块选择的计算 机程序产品。该计算机程序产品包括具有代码的计算机可读介质,所述代 码可由处理器执行以截获来自期望无线接入的应用的联网函数调用,根据 选择标准从多个候选无线模块中选择一个无线模块,以及将所述无线模块 绑定到所述应用。

在阅读了下文阐述的关于附图、说明书和权利要求的简要描述以后, 其它方面将变得显而易见。

附图说明

通过下面结合附图给出的描述,本文所描述的前述方面将变得更加显 而易见,其中:

图1示出了说明智能无线模块选择系统的各个方面的示例性网络环境;

图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)、 IEEE 802.11、IEEE 802.15、IEEE 802.16、IEEE 802.20、闪速-之类 的无线技术。UTRA、E-UTRA和GSM是通用移动电信系统(UMTS)的 一部分。长期演进(LTE)是使用E-UTRA的UMTS的新版本。在来自名 称为“第三代合作伙伴计划”(3GPP)的组织的文件中描述了UTRA、 E-UTRA、GSM、UMTS和LTE。在来自名称为“第三代合作伙伴计划2” (3GPP2)的组织的文件中描述了CDMA2000。所述的各种无线技术和标 准都是本领域中所公知的。

图1示出了说明智能无线模块选择系统的各个方面的示例性网络环境 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的套接字层函数来建立 该应用与已选择的无线模块/接口之间的连接。例如,套接字层函数可以包 括连接函数“Connect()”、绑定函数“Bind()”、设置套接字选择函数 “Setsockopt()”和/或任何其它适当的套接字层函数。

因此,设备结构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()、Bind()和 Setsockopt()之类的函数。Connect()函数用于建立应用与特定的无线模块/接 口之间的连接。例如,可以从由无线部件312提供的多个候选无线模块中 选择特定的无线模块/接口。在一个方面,套接字层部件310被配置为执行 多个套接字层函数或命令。

连接引擎部件308包括硬件和/或处理器执行软件,其被配置为执行系 统资源的评估以选择特定的无线模块以供应用使用。在各种实现中,连接 引擎部件308被配置成集中式无线控制器以根据以下选择标准中的一个或 多个选择标准来选择特定的无线模块。

1、用户策略—由设备用户设置的、与在设备处执行的应用的无线接入有关 的策略。

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()、Bind()和 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 中的诸如Bind()函数之类的函数,以将已经选择的无线模块绑定到应用。下 面提供了用于提供智能无线模块选择的设备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处,来自应用的联网函数调用被截获。例如,联网函数调 用可以是诸如Connect()函数之类的POSIX套接字函数调用。应用产生联网 函数调用以连接到无线模块,从而允许与外部网络进行通信。由于预载库 318以比联网库320高的优先级链接到执行环境中,因此联网函数调用由预 载库318中的函数截获(或处理)。

在方框410处,预载库318中所调用的函数向连接引擎部件308产生 选择请求,以选择适当的无线模块以供应用使用。该请求包括作为可以由 连接引擎部件308使用以选择适当的无线模块以供应用使用的选择标准的 一部分的任意信息。

在方框412处,评估选择标准。在一种实现中,连接引擎部件308进 行操作以评估上述选择标准。例如,连接引擎308与无线部件312进行通 信以评估作为选择标准的一部分的无线度量。

在方框414处,根据对选择标准的评估来选择无线模块。例如,连接 引擎部件308进行操作以选择最匹配选择标准的无线模块。

在方框416处,将已选择的无线模块绑定到应用。例如,在一种实现 中,连接引擎部件308调用联网库320的Bind()函数以将已选择的无线模块 绑定到应用。例如,连接引擎部件308了解联网库320以及了解如何在没 有被预载库318截获的情况下直接地存取其函数。

在方框418处,应用程序然后使用已经为网络通信选择的无线模块。

在可选的操作中,该方法继续前进至方框412,其中,连接引擎部件 308进行操作以对选择标准进行周期的评估以确定当前的无线模块是否最 匹配选择标准。如果在对选择标准进行另一个评估以后确定除了当前无线 模块以外的无线模块最匹配选择标准,则连接引擎308可以破坏连接,以 此作为触发应用重新开始连接的方式,从而为新的连接选择不同的无线模 块。因此,可选的操作允许周期地评估选择标准,以确保选择最适当的无 线模块来进行期望的通信。

因此,方法400提供了智能无线模块选择以供旧版本应用和非旧版本 应用使用。应该注意的是,方法400仅是一种实现,并且可以重新安排或 者以其它方式修改方法400的操作,以使其它实现成为可能。

图5示出了提供智能无线模块选择的示例性装置500。例如,装置500 适合于用作图1中所示的设备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处,来自应用的联网函数调用被截获。例如,联网函数调 用可以是诸如Connect()函数之类的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处,来自应用的联网函数调用被截获。例如,联网函数调 用可以是诸如Connect()函数之类的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(EEPROM)、寄存器、硬盘、移动磁盘、CD-ROM或 者本领域熟知的任何其它形式的存储介质中。示例性的存储介质被耦合到 处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写 入信息。或者,存储介质也可以是处理器的组成部分。处理器和存储介质 可以位于ASIC中。该ASIC可以位于用户终端中。或者,处理器和存储介 质可以作为分立部件位于用户终端中。

在一个或多个示例性的实施例中,所描述的功能可以实现在硬件、软 件、固件或其任意组合中。如果实现在软件中,则可以将这些功能作为一 个或多个指令或代码存储或传送到计算机可读介质上。计算机可读介质包 括计算机存储介质和通信介质二者,所述通信介质包括有助于计算机程序 从一个位置转移到另一个位置的任意介质。存储介质可以是能够由计算机 存取的任意可用介质。通过举例而非限制的方式,这种计算机可读介质可 以包括RAM、ROM、EEPROM、CD-ROM或其它光盘存储器、磁盘存储 器或其它磁存储设备、或者能够用于携带或存储具有指令或数据结构形式 的期望的程序代码并能够由计算机进行存取的任何其它介质。此外,基本 上任何连接可以称为计算机可读介质。例如,如果软件是使用同轴电缆、 光纤光缆、双绞线、数字用户线(DSL)或者诸如红外线、无线电和微波之 类的无线技术从网站、服务器或其它远程源发送的,则同轴电缆、光纤光 缆、双绞线、DSL或者诸如红外线、无线电和微波之类的无线技术被包括 在介质的定义中。本文使用的磁盘和光盘包括压缩光盘(CD)、激光光盘、 光盘、数字通用光盘(DVD)、软盘和蓝光光盘,其中,磁盘通常磁性地复 制数据,而光盘用激光光学地复制数据。上述各项的组合也应该包括在计 算机可读介质的范围中。

提供所公开的示例性实施例的以上描述以使得本领域的任何技术人员 能够实现或使用本发明。对于本领域技术人员来说,这些示例性实施例的 各种修改都是显而易见的,并且本文定义的总体原理也可以在不脱离本发 明的精神或保护范围的基础上适用于其它实施例。因此,本发明并不限于 本文给出的示例性实施例,而是与符合本文公开的原理和新颖特征的最广 范围相一致。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号