首页> 中国专利> 用于无线网络连接性的可扩展框架

用于无线网络连接性的可扩展框架

摘要

一种用于将通过蜂窝网络发送到移动计算设备的数据话务卸除到无线网络的可扩展框架,包括软件插件、通常作为移动设备操作系统一部分的插件主机,以及插件主机经由其与插件进行通信的插件接口。插件与一个或多个移动运营商相关联。该框架可包括一个或多个插件,但通常一次只有一个插件是活动的。该框架可自动检测并连接到与关联于活动插件的移动运营商相关联的无线网络。该插件可通过所连接的无线网络向移动运营商自动认证移动设备或移动设备用户。该插件不被允许访问负责检测及连接和断开连接无线网络的操作系统功能,这可改进移动操作系统稳定性和电池寿命。

著录项

  • 公开/公告号CN104067571A

    专利类型发明专利

  • 公开/公告日2014-09-24

    原文格式PDF

  • 申请/专利权人 微软公司;

    申请/专利号CN201380005712.6

  • 申请日2013-01-10

  • 分类号H04L12/70;H04L9/32;

  • 代理机构上海专利商标事务所有限公司;

  • 代理人陈小刚

  • 地址 美国华盛顿州

  • 入库时间 2023-12-17 02:04:05

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2017-05-31

    授权

    授权

  • 2015-08-05

    专利申请权的转移 IPC(主分类):H04L12/70 变更前: 变更后: 登记生效日:20150717 申请日:20130110

    专利申请权、专利权的转移

  • 2014-10-22

    实质审查的生效 IPC(主分类):H04L12/70 申请日:20130110

    实质审查的生效

  • 2014-09-24

    公开

    公开

说明书

背景

随着订户对内容的要求(尤其是视频内容)增加,蜂窝网络正努力跟上。 用于解决这一问题的一种技术是Wi-Fi卸除负荷(Wi-Fi offloading),其中移 动网络运营商将来自各蜂窝网络的话务卸除到Wi-Fi网络。

发明内容

提供本发明内容是为了以简化的形式介绍将在以下详细描述中进一步描 述的一些概念。本发明内容并不旨在标识所要求保护的主题的关键特征或必要 特征,也不旨在用于帮助确定所要求保护的主题的范围。

描述了一种可扩展框架,该可扩展框架允许应用开发者实现具有用于将蜂 窝数据卸除到Wi-Fi热点的因移动运营商而异的逻辑的软件插件。该框架包括 插件可用来指定优选Wi-Fi网络、尝试认证以及向平台和用户通知该连接尝试 的成功或失败的接口和回调。因为移动设备可被用在不同的网络中,单个设备 可包含根据订户身份或网络属性而激活的多个插件。

在将通过蜂窝网络发送的数据话务卸除到移动计算设备的方法的一个实 施例中,插件主机向活动插件发送与移动设备检测到的网络有关的信息。活动 插件和检测到的网络与特定移动运营商相关联。插件返回与从检测到的网络中 选择的优选网络有关的信息。移动设备连接到优选网络之一并且插件主机请求 活动插件认证该移动设备或移动设备用户。指示认证成功的信息被从活动插件 接收到并且数据话务被从蜂窝网络卸除到所连接的无线网络。

参考附图阅读下面的具体实施方式,将更清楚所公开的技术的前述和其他 目标、特征和优点。

附图说明

图1是描绘示例性移动计算设备的系统框图。

图2示出了其中可实现所描述的实施例、技术和工艺的适合的实现环境的 通用示例。

图3是经由蜂窝网络和无线网络连接到云的示例性移动计算设备的框图。

图4是可扩展框架的示例性实现的框图。

图5是卸除通过蜂窝网络发送到移动计算设备的数据话务的第一示例性方 法的流程图。

图6是采用本文描述的可扩展框架的移动计算设备的框图。

图7是卸除通过蜂窝网络发送到移动计算设备的数据话务的第二示例性方 法的流程图。

图8是卸除通过蜂窝网络发送到移动计算设备的数据话务的第三示例性方 法的流程图。

具体实施方式

本文所描述的技术允许在蜂窝网络上向/从移动计算设备(如智能电话或平 板计算机)发送的数据话务被卸除到另一无线网络(如Wi-Fi LAN(局域网))。 卸除负荷是通过在移动计算设备中实现的可扩展框架来启用的。该框架允许自 动连接到无线网络并自动认证移动设备(或移动设备用户)。该框架包括插件 主机(认证软件模块主机或认证插件主机)和一个或多个软件插件(认证软件 模块或认证插件)。软件插件通常由移动网络运营商(MO)或ISV(独立软件 供应商)提供并且包含自动连接和认证所需的信息。配备有本文描述的网络卸 除负荷技术的移动计算设备可以自动连接到Wi-Fi热点来卸除蜂窝数据话务而 无需用户干预。如本文所使用的,术语“热点”意指提供网络(通常是因特网) 接入的站点。

图1是描绘可用于执行本文中所述的任何方法的示例性移动计算设备(移 动设备)100的系统框图。移动计算设备100可包括各种可选硬件和软件组件 105。一般而言,组件105可与其他组件通信,但是出于容易例示的目的而未 示出所有连接。移动计算设备100可以是各种移动计算设备(例如,蜂窝电话、 智能电话、手持式计算机、膝上型计算机、笔记本计算机、平板设备、板式设 备、媒体播放器、消费电子设备(例如,启用网络的相机、摄像机))中的任 何一个,并且可允许与诸如Wi-Fi、蜂窝或卫星网络之类的一个或多个网络进 行有线或无线通信。虽然被称为“移动”计算设备,但在一些实施例中,移动 设备100可以是通常被认为不移动的计算设备,如台式计算机或服务器。

移动设备100可包括用于执行如信号编码、图形处理、数据处理、输入/ 输出处理、电源控制和/或其他功能等任务的控制器或处理器110(例如,信号 处理器、图形处理单元(GPU)、微处理器、ASIC或其他控制和处理逻辑电 路或者软件)。操作系统112可控制对组件105的分配和使用,并支持一个或 多个应用程序113。应用程序113可包括常见移动计算应用(例如,电子邮件 应用、日历、联系人管理器、web浏览器、消息收发应用)以及其他计算应用。

移动计算设备100可包括存储器120。存储器120可包括不可移动存储器 122和/或可移动存储器124。不可移动或嵌入式存储器122可包括RAM、ROM、 闪存、硬盘驱动器或其他众所周知的存储器存储技术。可移动存储器124可包 括闪存卡(例如SD(安全数字)卡)、记忆棒、GSM(全球移动通信系统) 系统中众所周知的订户身份模块(SIM)卡,或者其他众所周知的存储器存储 技术,诸如“智能卡”。存储器120可用于存储数据和/或用于在设备100上运行 操作系统112、应用程序113、插件主机114以及插件115的计算机可执行指 令。插件主机114可以是操作系统112的一部分。示例数据可包括可由移动计 算设备100经由一个或多个有线或无线网络发送给一个或多个网络服务器或其 他设备或者从其接收的网页、文本、图像、声音文件、视频数据、无线网络数 据库或其他数据集。存储器120可用于存储诸如国际移动订户身份(IMSI)等 订户标识符,以及诸如国际移动设备标识符(IMEI)等设备标识符。可将此类 标识符传送给网络服务器以标识用户和设备。移动计算设备100还可访问诸如 外部硬件驱动器的外部存储器(未示出)。

移动设备100可支持诸如触摸屏132、话筒134、相机136、物理键盘138、 和/或轨迹球139等一个或多个输入设备130,以及诸如扬声器142和显示器144 等一个或多个输出设备140。其他可能的输出设备(未示出)可包括压电或其 他触觉输出设备。输入设备130或输出设备140中的任一个可内置于、外置于 或可移除地附连于计算设备100。外部输入设备130和输出设备140可以通过 有线或无线连接与计算设备100通信。一些设备可提供一个以上的输入/输出功 能。例如,触摸屏132和显示器144可被组合在单个输入/输出设备中。

无线蜂窝调制解调器160可被耦合至蜂窝调制解调器天线162,并且可支 持移动计算设备100与移动蜂窝通信网络之间的双向通信。移动设备100可包 括其他基于无线电的调制解调器,诸如Wi-Fi调制解调器163或蓝牙调制解调 器164,它们中的每一个都可被耦合至其自己的天线(例如,Wi-Fi天线168、 蓝牙天线169)。蜂窝调制解调器160通常被配置成与一个或多个蜂窝网络(诸 如用于单个蜂窝网络内的数据和语音通信的GSM网络)通信、在蜂窝网络之 间通信、或在移动计算设备与公共交换电话网络(PSTN)之间通信。

移动计算设备100还可包括:包含物理连接器172的至少一个输入/输出端 口170(其可以是例如USB端口、IEEE1394(火线)端口、和/或RS-232端口)、 电源174、以及诸如GPS接收机175之类的卫星导航系统接收机。GPS接收机 175可被耦合至GPS天线179。尽管各个天线被示为移动计算设备100的分开 的硬件组件,但是它们可被结合到其他组件中。例如,GPS天线179可被结合 到GPS接收机175中。另外,在图1中示为分开的天线可被实现为单个天线。

所例示的组件105不是必需的或包括一切的,因为可删除任何组件并且可 添加其他组件。

图2示出了其中可实现所描述的实施例、技术和工艺的适合的实现环境200 的通用示例。

在示例环境200中,由云210提供各种类型的服务(例如,计算服务)。 例如,云210可包括可位于中央或是分布式的计算设备集,其向经由诸如因特 网等网络连接的各种类型的用户和设备提供基于云的服务。实现环境200可按 不同方式用于实现计算任务。例如,一些任务(例如,处理用户输入和呈现用 户界面)可在本地计算设备(例如,连接的设备230、240、250)上执行,而 其他任务(例如,存储将在后续处理、移动设备或用户认证中被使用的数据) 可在云210中执行。

在示例环境200中,云210向具有各种屏幕能力的相连接的设备230、240、 250提供服务。经连接的设备230表示具有计算机屏幕(例如,中型屏幕235) 的设备。例如,经连接的设备230可以是台式计算机、膝上型计算机、笔记本、 上网本或平板计算机等。经连接的设备240表示具有移动计算设备屏幕245(例 如,小型屏幕)的移动计算设备。例如,经连接的设备240可以是移动电话、 智能电话、个人数字助理等。经连接的设备250表示具有大屏幕255的设备。 例如,经连接的设备250可以是具有因特网连通性的电视机,或连接至诸如机 顶盒、游戏控制台等能够连接到云的另一设备的电视机。不具备屏幕能力的设 备也可被用在示例环境200中。例如,云210可向没有显示器的一个或多个计 算机(例如,服务器计算机)提供服务。

可由云210通过服务提供商220、或通过其他在线服务的提供商(未描述) 来提供服务。例如,云服务可被定制成对应于特定相连接的设备(例如,相连 接的设备230、240、250)的屏幕大小、显示能力、和/或触摸屏能力。可由服 务提供商220提供的服务包括例如电子邮件、短消息服务(SMS)、多媒体消 息服务(MMS)、社交联网和网站主存。服务提供商可主存提供诸如认证插件 和插件升级等各种各样的商品和服务的在线市场,以及用户可通过购买或不通 过购买来获取的、用于从云下载或通过邮件传送的媒体内容。

在示例环境200中,云210至少部分地使用服务提供商220来向各个相连 接的设备230、240、250提供此处描述的技术和解决方案。例如,服务提供商 220可提供用于各种基于云的服务的集中式解决方案。服务提供商220可管理 用户和/或设备(例如,连接的设备230、240、250及其相应的用户)的服务订 阅。

图3是经由蜂窝网络320和无线网络330连接到云310的移动计算设备300 的框图。使用本文描述的卸除负荷方法,云310与移动设备300之间通过蜂窝 网络320行进的数据话务333可被卸除作为通过无线网络330行进的数据话务 336。无线网络330可以是任何无线WLAN(无线局域网),如由一个或多个 Wi-Fi网络接入点(Wi-Fi热点)访问的Wi-Fi网络。虽然本文描述的技术一般 是参考将数据话务卸除到无线网络来讨论的,但在到移动设备的有线连接(例 如,以太网、USB、同轴电缆)可用的情况下,蜂窝话务可被卸除到有线网络。

如本文所使用的,术语“数据话务”包括可在移动设备300与云310之间 交换的任何类型的信息,包括音频和视频数据。

如本文所使用的,术语“卸除负荷”意指将在云310与移动设备300之间 流动的数据话务的至少一部分从蜂窝网络320重定向到无线网络330。在一些 实施例中,数据话务可被卸除到无线网络,使得没有或只有少量数据话务通过 蜂窝网络320行进。在其他实施例中,卸除负荷涉及蜂窝网络数据话务被简单 地减少,这可通过限制蜂窝网络数据率或通过蜂窝网络320传送的数据的量、 限制通过蜂窝网络320发送的数据的类型、卸除某些类型的数据话务或以其他 方式来执行。例如,卸除负荷可包括将视频数据卸除到无线网络330。在又一 些其他实施例中,在移动设备连接到无线网络330后数据话务继续通过蜂窝网 络320,并且卸除负荷在数据话务超过特定阈值时发生。可以使用其他卸除负 荷方案。

移动设备300包括操作系统340和插件350。本文描述的可扩展框架(框 架)包括操作系统340和插件350的各部分。操作系统340包括可由插件350 调用的应用程序接口(API)以及调用插件350的回调。操作系统340中的API 和回调可由插件350用来例如指定用于卸除负荷的无线网络、报告认证结果以 及向操作系统340提供要呈现给移动设备用户的消息。一般而言,单独的插件 支持卸除与所拥有的无线网络相关联的任务、由单个MO或MO的伙伴(如虚 拟移动网络运营商)运营或借用的任务。插件还可支持卸除与不关联于MO的 无线网络相关联的任务,如与Wi-Fi热点聚集器直接相关联的网络(但在一些 情况下,热点聚集器可以是MO的业务伙伴)。在各实施例中,活动插件是与 移动设备或移动设备用户可连接到其无线网络的移动运营商相关联的插件。确 定活动插件可以在移动计算设备打开(例如,作为引导过程的一部分)时、在 移动计算设备扫描并检测无线网络时或另一时间来确定。

因为移动设备可以使用与一个以上移动运营商相关联的无线网络,所以移 动设备300可以包含根据订户(移动设备和/或用户)身份或移动设备在其上接 收/发送数据话务或希望连接的蜂窝网络320的属性来激活的多个插件350。因 而,可以存在一个以上活动插件。选择激活哪一插件可以基于储存在SIM卡上 的属性,如IMSI、移动国家代码(MCC)、移动网络代码(MNC)或移动订 阅标识符号(MSIN);储存在移动设备的存储器中的属性,如国际移动设备 标识符(IMEI)、电子序列号(ESN)或移动设备标识符(MEID);以及储 存在可移动用户身份模块(R-UIM)或通用集成电路卡(UICC)(两种其他类 型的移动计算设备智能卡)上的属性。插件350可以向操作系统340提供它是 否要基于订户和/或网络标识符信息来激活的指示。在一些实施例中,选择活动 认证插件包括查询安装在移动设备上的认证插件并选择对该查询作出肯定响 应的第一认证插件(或者如果允许多个活动认证插件则对该查询作出肯定响应 的前N个认证插件)的作为活动认证插件(或诸插件)。

因而,多个插件可被安装在移动设备上以支持不同移动网络上的Wi-Fi热 点连接性。或者,单个插件可以支持连接到多个移动运营商的无线网络。在例 如SIM卡被交换或移动设备以其他方式从一个蜂窝网络切换到另一个蜂窝网 络时,移动设备300可以从一个插件切换到另一个插件。移动设备300还可响 应于用户输入来切换插件,如在用户提供指示移动设备300要从由第一移动运 营商运营的无线网络切换到由第二移动运营商运营的无线网络的输入时。

操作系统340执行各种卸除负荷和网络任务。在各实施例中,这些任务由 插件主机执行。例如,操作系统340可以调用插件350来询问移动设备300当 前不可检测但被假定由于移动设备的物理位置(这可通过经由卫星导航系统接 收机(例如,GPS接收机175)接收到的信息、经由蜂窝塔之间的三角测量或 基于移动设备的附近的Wi-Fi路由器的已知位置来确定)而将要可用的网络。

例如,移动计算设备可靠近四个Wi-Fi热点,这些热点中的三个能够连接 到但不是与移动运营商相关联的网络的接入点,该移动运营商与安装在移动设 备上的软件插件相关联。这四个无线热点恰好在移动计算设备的无线通信范围 之外并且由与该活动插件相关联的MO来运营。在这样的情况下,该框架可以 向用户通知与该MO相关联的附近Wi-Fi网络的存在。这样的通知可以经由音 频、文本或视频来作出。在一个实施例中,经由地图的显示来向用户通知附近 MO Wi-Fi热点,该地图示出了用户的当前位置和附近MO Wi-Fi热点的位置连 同用户应当移动得更靠近该MO Wi-Fi热点以及与如何到达该热点有关的方向 的推荐。该MO Wi-Fi热点可被突出显示或以其他方式标记,以将它与地图上 示出的其他Wi-Fi热点区分开。

操作系统340还可对用户请求连接到设备的无线通信范围内的已被标识为 Wi-Fi热点的特定无线网络(如路由器)作出响应并指令插件350执行针对该 网络的确认和认证。因而,该框架可以支持自动网络连接(例如,连接到插件 所支持的无线网络数据库中包含的无线网络)和手动网络连接(例如,连接到 用户指定的网络)两者。此外,操作系统340可以基于用户偏好、电池寿命、 系统状态或其他因素来确定是否扫描无线网络。例如,用户可以指示不要连接 到特定网络或该设备要多频繁地扫描无线网络。在一些实施例中,移动设备300 可被配置成在该移动设备的估计电池寿命保持在阈值(它可以是默认值或用户 指定的)之上的情况下扫描网络。如本文所使用的,短语“无线通信范围”意 指距移动计算设备的距离,在该距离上移动计算设备可以与另一计算设备(如 网络计算设备(如路由器))或另一无线计算设备(例如,智能电话)无线地 通信。

操作系统340还提供用于向用户通知与可要求用户的注意的状况(如用户 的针对网络的数据计划不合格或不足够支持数据话务卸除负荷)或者用户要联 系无线网络的运营商的客户支持有关的接口。操作系统340可以决定要在何时、 多频繁以及通过什么介质将这样的通知呈现给用户。通知属性也可由用户指 定。通常,插件不能直接使得通知被呈现给用户。通过经由操作系统向用户传 递来自插件的通知,消息可经由操作系统被递送给用户,从而允许插件生成的 消息按与操作系统所提供的其他消息相一致的方式来被递送,以维护一致的用 户体验。

操作系统340还能够从插件350接收与插件350所支持的无线网络有关的 信息。在检测到无线通信范围中的一个或多个无线网络的存在之后,操作系统 340可以确定哪些插件是活动插件并且要被用于卸除任务,如提供检测到的网 络中的优选网络的列表并在作出到无线网络的连接之后认证移动计算设备或 用户。因而,插件350允许移动运营商预先配置优选无线网络的列表。

插件350是执行各种网络卸除负荷功能的软件模块,通常与移动设备的操 作系统分开。插件350可由例如移动运营商或独立软件供应商(ISV)提供, 并且可初始安装在移动计算设备上或由移动计算设备用户下载以供安装。插件 可以向操作系统340通知一个或多个无线网络的特性,如将移动计算设备连接 到该网络所需的信息、移动设备是否要自动连接到特定网络、哪些无线网络是 优选的以及这些网络的连接优先级信息。例如,考虑包括两个插件的移动计算 设备,第一插件支持Wi-Fi热点而第二插件与Wi-Fi热点一 起工作。该移动设备可以取决于它在该设备上检测到SIM卡还是 SIM卡或者用户尝试连接到热点还是热点来激 活适当的插件。插件350还可向操作系统340通知到网络的连接是否需要SIM 卡的存在。连接优先级信息可以是可由插件用来向插件主机提供移动设备检测 到的无线网络的列表的连接次序的任何信息。例如,无线网络可具有基于诸如 网络的带宽容量等因素的优先级(例如,“1”、“2”、“3”……或“A”、 “B”、“C”……)。

插件350可被配置成接收在移动设备300的无线通信范围内检测到的无线 网络的列表并向操作系统340返回优选网络的列表、设备300要尝试连接到优 选网络的次序,以及优选网络的连接和认证信息。在一些实施例中,操作系统 340可以基于用户设置(例如,用户优选的Wi-Fi网络或网络连接次序)以及 其他因素从优选网络中选择连接到哪一网络。通过在卸除负荷框架内指定用户 设置,用户可以通过设置一组用户偏好来管理卸除负荷偏好,而不必在多个软 件应用(例如,多个插件)内指定设置或偏好。

插件350也可被配置成支持隐藏网络。隐藏网络包括没有主动广播它们的 存在的网络。隐藏网络可以是排他地或主要地专用于卸除负荷的网络。为了支 持隐藏网络,插件350可以提供移动设备要主动搜索的隐藏网络的网络标识符 (例如,SSID)。移动设备可以基于用户设置(例如,该系统可被配置成允许 用户禁用搜索或连接到隐藏网络)、功耗率、电池水平等来确定是否搜索这些 隐藏网络。例如,移动计算设备能够对该移动计算设备的功耗率落在功耗率阈 值之下、该移动计算设备的电池水平落在电池水平阈值之下,或在该移动设备 的无线通信范围内不能检测到任何其他无线网络作出响应来发起扫描隐藏无 线网络。

响应于来自操作系统340的移动设备已成功连接到网络的通知,插件350 可以确认该网络的身份、认证用户或执行使得该Wi-Fi连接可操作来用于卸除 蜂窝话务所需的任何其他动作。如果这些操作中的任何操作失败,则插件350 可以通知操作系统340从该网络断开连接。通常,为了改进系统稳定性,插件 不能够使得移动计算设备扫描Wi-Fi网络或连接到/断开连接无线网络。插件还 通常不被允许在移动计算设备上运行后台任务。

在一些实施例中,插件350可被配置成使得需要用户响应的各种通知被呈 现给用户。例如,在网络可被用于卸除负荷之前,插件可以使得查询被呈现在 移动设备显示器上,询问用户是否接受例如网络的使用条款或特定网络属性的 设置(如隐私设置)。这些通知还可包括可由用户简单地解散的信息通知。例 如,在移动设备连接到支持播广告的特定网络时,插件可使得一个或多个广告 出现在移动设备上。广告可通过例如点击广告窗口中的“OK”按钮或关闭广告 窗口来被解散。在一些实施例中,在所连接的网络可被用于联网之前,插件可 以通过向插件主机发送用户查询请求来使得需要用户响应的通知被呈现。用户 查询请求可包括用户要批准或同意的信息(例如,使用条款的文本)或对这样 的信息的引用(例如,到可找到这些使用条款的位置的链接)。作为回复,插 件主机可以向该插件发送指示用户是否批准或同意在该用户查询请求中包含 或引用的信息的信息。

插件350可以作为移动设备300上具有设置成在插件崩溃的情况下阻止操 作系统故障的特权的专用进程而运行。如果插件崩溃,则插件进程可被重启而 不影响系统稳定性。

插件350还可被配置成指定操作系统340要周期性地(或在另一时间基础 上)发出对插件的回调,该回调使得该插件检索任何可用插件更新。移动设备 300可以初始预安装一个或多个插件350,并且附加插件可在需要时或者在它 们变得可用时被添加到该设备。在一个实施例中,该框架可包含以下插件接口 中的一个或多个:初始化接口、检查网络接口、掩码接口、预连接接口、认证 接口、保持活动接口、连接失败接口、复位接口以及控制接口。

初始化接口可以返回注册状态(即,移动设备向蜂窝网络的注册的状态)、 插件要被更新(例如,移动运营商的Wi-Fi热点信息的更新,如新热点的位置、 不再存在的热点的移除或者另一MO现在拥有或运营的热点的移除,等等)的 频率(例如,插件更新频率)、连接信息(例如,网络协议)、认证信息(例 如,被用于网络的认证方案)、保持活动消息要被发送以维持移动设备与无线 网络之间的连接的频率(例如,保持活动消息频率)。因为插件可包含包括与 数十、数百或甚至数千无线网络有关的信息的网络数据库,所以该网络数据库 有时可能需要更新。响应于接收到插件更新频率或保持活动消息频率,插件主 机可以分别按基本上至少该周期性更新频率或保持活动消息更新来发送插件 更新命令或保持活动消息命令。例如,如果插件向插件主机提供的周期性更新 频率是三天,则插件主机可以至少大约每三天向该插件发送周期性更新命令。

检查网络接口(例如,Check_SSID接口)可以确定与提供给该接口的一 个或多个网络标识符(例如,SSID)相关联的网络是否为该插件所知并且可被 用于卸除负荷。检查网络接口可以指示所提供的网络标识符与可被用于卸除负 荷的无线网络相关联,例如通过如果所提供的网络标识符与可被用于卸除负荷 的无线网络相关联则返回“1”并且否则返回“0”。如果提供一个以上网络标 识符,则检查网络接口可返回一个或多个优选无线网络、该优选无线网络的连 接信息以及该一个或多个优选无线网络的连接次序。

掩码接口(例如,Get_Network_Mask(获得网络掩码))返回提供给该插 件的网络标识符(例如SSID)的“掩码”。掩码是无线网络的更“用户友好” 的描述符。例如,掩码接口可以针对所提供的SSID“ATTWIFI”返回掩码“AT&T Wi-Fi热点”,并且掩码“AT&T Metro Wi-Fi”可针对所提供的SSID “ATTMETROWIFI”而被返回。

在网络连接尝试启用该插件以执行任何预连接初始化或预备任务之前,预 连接接口可被调用。

在移动设备连接到无线网络以指导插件执行认证任务(如对照移动运营商 认证数据库来认证该移动设备或移动设备用户)之后,认证接口(例如, Attempt_Authentication(尝试认证)接口)可被调用。认证接口可以返回认证 是否成功的指示。保持活动接口(例如,Send_Keep_Alive_Message(发送保持 活动消息)接口)可被调用来指令插件发送保持活动消息以维持无线网络连接。 连接失败接口(例如,Connection_Failure(连接失败)接口)可被调用以使得 插件收集并报告所指示的网络的网络遥测数据。周期性更新接口(例如, Periodic_Update(周期性更新)接口)使得插件执行数据库更新并将遥测数据 发送给远程服务器。复位接口可以请求插件复位成初始状态。控制接口可以允 许移动设备向插件发送任何插件专用命令。

在各实施例中,该框架可以包含比以上列出的接口更多或更少的插件接 口,接口可以具有与以上使用的名称不同的名称,或者以上接口的变型。例如, 初始化接口可以返回上述初始化接口所返回的信息的子集,并且检查网络接口 可以返回与插件相关联的无线网络数据库中包含的所有无线网络的列表。

图4是可扩展框架400的示例性实现的框图。框架400示出了在WLAN 协议栈(WLAN栈)410、插件主机(认证软件模块主机)420、插件(认证软 件模块)430以及用户接口控制器497之间传递的消息和信息。如果移动计算 设备包括多个插件,则插件430可以是活动认证插件(或在允许多个插件活动 的情况下是活动插件之一)。通常,WLAN栈410、插件主机420以及用户接 口控制器497是移动设备操作系统的一部分。因而,插件主机420通常包括移 动计算设备操作系统的与插件430进行通信的各组件。在框架400中的一示例 性信息流中,首先,移动设备经由WLAN栈410扫描WLAN网络。可用或检 测到的WLAN网络440的列表被发送给插件主机420。插件主机420可以确定 是否要从列表440中移除任何网络,例如通过检查用户设置。例如,用户可能 已经指定即使特定网络可用也不要连接到它们。网络列表450(它可以是网络 列表440的经裁剪版本)被递送给插件430。网络列表可包括与检测到的网络 工作相对应的任何信息。插件430返回可被用于卸除负荷的一个或多个优选无 线网络的网络信息460(例如SSID)。优选网络是从插件主机420所提供的检 测到的网络中选择的。如果插件430已经提供了一个以上优选无线网络,则插 件主机420选择一个来连接。插件主机420随后发送指令WLAN栈410连接到 所选无线网络的连接命令470。例如,插件主机420可以基于插件430所提供 的连接次序和/或用户指定的连接次序选择要连接的无线网络。

在其中存在一个以上活动认证插件的实施例中,网络列表450可由插件主 机420提供给活动插件。相同网络列表450可被发送给多个活动插件,或可发 送只包括与关联于同特定插件相关联的移动运营商的无线网络相对应的信息 的网络列表450。插件主机420随后可从活动插件430接收优选网络的网络信 息460。插件主机420随后可从多个活动插件所提供的优选网络中选择要连接 的网络。

如果移动设备能够支持多个同时网络连接,则可扩展框架可以将移动设备 连接到一个以上网络以用于卸除负荷。可扩展框架可如下进行多个网络连接以 供卸除负荷。移动设备可检测该移动设备可连接的与各移动运营商相关联的网 络。检测到的网络的列表通过WLAN组件或子系统传递给插件主机。插件主机 将网络列表发送给与该移动设备可连接到其网络的移动运营商相关联的活动 插件。作为回复,活动插件中的每一个可以向插件主机发送与一个或多个优选 网络有关的信息。插件主机随后从活动插件所提供的每一优选网络列表中选择 网络并指令WLAN组件连接到所选网络。在作出了到所选网络的连接之后,对 于每一连接,通知适当的活动插件。活动插件随后尝试向所选网络认证移动设 备或移动设备用户,并且向插件主机报告认证结果。如果所连接的网络的认证 是成功的,则移动设备可以使用所连接的网络中的任何一个以供卸除负荷。

在作出了到所选网络的连接之后,插件主机420向插件430发送该连接的 连接通知480并且请求对移动设备或移动设备的用户认证。插件430随后基于 与所选网络相关联的移动运营商来尝试执行网络上的认证并向插件主机420返 回认证结果490(这可以是异步响应),从而报告该认证尝试的状态。认证可 以使用例如802.11开放认证、基于HTTPS的认证、EAP-SIM(可扩展认证协 议-SIM)或EAP-AKA(可扩展认证协议-认证和密钥管理)认证或其他认证方 案来执行。如果认证成功,则插件主机420可以将数据话务加载到所连接的无 线网络。

WLAN栈410还可向移动设备的用户接口控制器497发送(495)连接通 知以向用户通知该设备已连接到所选网络。用户接口控制器497可以向插件430 查询(499)(例如,使用Get_Network_Mask(获取网络掩码)接口)可以与 网络的SSID不同的无线网络显示名的用户友好版本,并接收作为响应的无线 网络显示名的用户友好版本。

如果认证尝试不成功,则插件主机420可将移动设备从该无线网络断开连 接。如果插件430指定了一个以上优选网络和连接次序,则插件主机420可根 据连接次序尝试连接到下一无线网络。如果认证因为用户的数据计划合格性而 失败或出于可由用户校正的另一原因而失败,则插件430可以向插件主机420 传递建议用户如何修复这一问题的通知,如联系客户支持或升级用户的数据计 划。

在一些实施例中,移动计算设备可被配置成允许用户控制卸除负荷框架的 各方面。例如,移动设备可被配置成允许用户启用或禁用到各单独的Wi-Fi热 点的连接性、手动地连接到热点网络,或使用户能够配置用户简档以供在移动 运营商热点连接性已被用户禁用的情况下连接到热点网络。例如,用户可以配 置用户简档,使得即使与特定Wi-Fi热点相关联的移动运营商的热点连接性已 被用户禁用也要连接到该特定Wi-Fi热点网络。此外,用户可配置该框架以允 许自动数据话务卸除到除了插件包含其连接信息之外的网络。此外,移动计算 设备可被配置成允许用户启用或禁用自动Wi-Fi网络卸除负荷。

图5是将移动计算设备数据话务从蜂窝网络卸除到无线网络的第一示例性 方法500的流程图。方法500可由例如配置成与蜂窝和无线网络一起 操作并包含用于启用自动连接且将数据话务卸除到无线网络的认证插 件主机和认证插件的智能电话来执行。在510,通过蜂窝网络传送和/ 或接收移动计算设备数据话务。在该示例中,智能电话通过蜂窝网络 传送和/或接收数据话务。在520,在移动计算设备的范围内检测一个或多个检 测到的无线网络。在该示例中,用户到达咖啡店并且智能电话检测到两个Wi-Fi 热点,一个热点的基地在咖啡店内而另一个热点的基地在隔壁的办公室内。咖 啡店Wi-Fi热点是Wi-Fi热点。在530,从该一个或多个检测到的无线 网络中选择所选无线网络。所选无线网络与移动运营商相关联。在该示例中, 智能电话选择与Wi-Fi热点相关联的无线网络。在540,无线通信设备 自动连接到所选无线网络。在该示例中,智能电话自动连接到Wi-Fi 热点。在550,向移动运营商自动发起移动计算设备或移动计算设备的用户的 认证。在该示例中,智能电话向自动发起该智能电话的认证。发起认 证包括通过Wi-Fi无线网络向远程服务器发送信息。在560, 确定移动计算设备或移动计算设备的用户的认证已经成功。在该示例中,智能 电话从远程服务器接收指示该智能电话已被认证用于在所连接的网络 上使用的信息或智能电话可以用来确定认证已经成功的信息。在570,数据话 务被卸除到所选无线网络。在该示例中,智能电话将数据话务的至少一部分卸 除到无线网络。因而,智能电话自动检测并连接到无线网络并 且将数据话务从蜂窝网络自动卸除到无线网络而无须用户干 预。在一些实施例中,方法500可包括比图5中所示出的动作更少的动作。

本文描述的可扩展框架提供了至少以下示例性优点。通过控制对内核系统 API的访问,移动设备操作系统稳定性可被改进并且电池寿命被延长。例如, 通过阻止在移动设备上执行的软件应用(如插件或与插件交互的其他软件应 用)具有对扫描无线网络的存在的系统功能的自由访问,各应用被阻止持续或 频繁地扫描无线网络(这可减少电池寿命)。

此外,随着当前移动运营商生态系统变得进一步碎片化并且不同的移动运 营商继续使用不同的解决方案和协议来将蜂窝数据卸除到Wi-Fi热点,平台开 发者开发并维护满足所有移动运营商的要求且保持最新的卸除负荷解决方案 正变得更加繁重。通过允许在移动设备上安装多个插件、安装新插件、以及更 新已安装插件,该框架是动态且可扩展的框架,该框架可适应网络通信协议中 的变化、新协议的发展、新热点的存在以及移动运营商业务领域的变化(例如, 新移动运营商的出现、移动运营商的合并、移动运营商停业)。

此外,本文描述的卸除负荷框架允许移动计算设备通过不允许访问网络扫 描、连接和断开连接特征来维护系统性能和稳定性,同时向应用开发者(MO 和ISV)提供他们可以在其中根据移动运营商的规范来实现Wi-Fi卸除负荷解 决方案的框架。

此外,系统平台开发者必须在通过允许访问内核系统API来向ISV提供灵 活性与可负面影响系统性能、稳定性以及最终用户体验的锁定API之间进行平 衡。本文描述的可扩展框架允许移动设备维持系统性能和稳定性,同时向应用 开发者提供根据移动运营商的规范来实现Wi-Fi卸除负荷解决方案的手段。

图6是采用本文描述的可扩展框架的移动计算设备600的框图。移动计算 设备600包括一个或多个处理器610、操作系统620、插件接口630以及认证 插件640。操作系统620包括使用插件接口630来与认证插件640通信的认证 插件主机650。插件接口630可包括本文描述的插件接口中的任何一个或多个 (例如,初始化、认证、检查网络)以及其他接口。

图7是卸除通过蜂窝网络发送到移动计算设备的数据话务的第二示例性方 法700的流程图。方法700可由例如具有包括认证插件主机并存储多个插件的 操作系统的平板计算设备来执行,其中与移动运营商A相关联的插件是活动认 证插件。

在710,将与一个或多个检测到的无线网络相对应的信息从认证插件主机 发送到活动认证插件。该一个或多个检测到的无线网络和活动认证插件与移动 运营商相关联。在该示例中,平板的认证插件主机将检测到的与移动运营商A 相关联的无线网络X、Y以及Z的SSID发送给活动认证插件。

在720,在认证插件主机处从活动认证插件接收与从一个或多个检测到的 无线网络选出的一个或多个优选无线网络相对应的信息。在该示例中,平板的 认证插件主机从活动插件接收优选无线网络X和Z的SSID。指示无线网络X 要在无线网络Z之前被连接的连接次序也被发送给认证插件主机。

在730,移动计算设备连接到一个或多个优选无线网络之一。移动计算设 备连接到的优选无线网络是所连接的无线网络。在该示例中,平板连接到无线 网络X。在740,在所连接的无线网络上向活动认证插件发送认证移动计算设 备或移动计算设备的用户的请求。在该示例中,平板的认证插件主机在无线网 络X上向活动插件发送认证平板的请求。

在750,从活动认证插件接收指示认证成功的信息。在该示例中,认证插 件主机从移动运营商A插件接收平板已被移动运营商A认证的确认。

在760,数据话务的至少一部分被卸除到所连接的无线网络。在该示例中, 平板将它通过蜂窝网络接收和发送的数据话务的至少一部分卸除到无线网络 X。

图8是卸除通过蜂窝网络发送到移动计算设备的数据话务的第三示例性方 法的流程图。在810,提供包括认证插件主机、包含活动认证插件在内的多个 认证插件、认证接口以及检查网络接口的可扩展框架。

在820,响应于从认证插件主机接收到对认证接口的至少一个调用,活动 认证插件尝试在移动设备要连接的网络上认证移动计算设备或移动计算设备 的用户并返回所尝试的认证是否成功的指示。在830,响应于接收到对检查网 络接口的至少一个调用,其中该调用包括与一个或多个检测到的无线网络相对 应的信息,活动认证插件返回与一个或多个优选无线网络相对应的信息和该一 个或多个优选无线网络的连接次序。

所揭示的方法中的任意能被实现为计算机可执行指令或计算机程序产品。 计算机可执行指令或计算机程序产品以及在所公开的实施例的实现期间所创 建和使用的任何数据可被存储在一个或多个计算机可读存储介质(例如,非瞬 态计算机可读存储介质,诸如一个或多个光学介质盘(诸如DVD或CD)、易 失性存储器组件(诸如DRAM或SRAM)或非易失性存储器组件(诸如闪存 或硬盘驱动器))上并在计算机(例如,任何可从市场上获得的计算机,包括 智能电话或包含计算硬件的其他计算设备)上执行。计算机可读存储介质不包 括传播信号。计算机可执行指令可以是例如经由web浏览器或其他软件应用程 序(诸如远程计算应用程序)访问或下载的专用软件应用程序或软件应用程序。 此类软件可例如在单个本地计算机(例如,任何合适的可购买计算机)上或在 使用一个或多个网络计算机的网络环境中(例如,经由因特网、广域网或局域 网、客户机-服务器网络(诸如,云计算网络)或其他此类网络)执行。

为清楚起见,只描述了基于软件的各实现的某些所选择的方面。省略了本 领域公知的其他细节。例如,应当理解,所公开的技术不限于任何特定计算机 语言或程序。例如,所公开的技术可由用C++、Java、Perl、JavaScript、Adobe Flash或任何其他合适的编程语言编写的软件来实现。同样,所公开的技术不限 于任何特定计算机或硬件类型。合适计算机和硬件的某些细节是众所周知的, 因此无需在本公开中进行详细阐述。

此外,基于软件的实施方式中的任一个(包括例如用于使计算机执行所公 开的方法中的任一种的计算机可执行指令)可以通过合适的通信手段来上传、 下载、或远程访问。这些合适的通信手段包括,例如,因特网、万维网、内联 网、电缆(包括光缆)、磁通信、电磁通信(包括RF、微波和红外通信)、电 子通信或其他这样的通信手段。

所公开的方法还可以用被配置成执行所公开的方法中的任一种方法的专 用计算硬件来实现。例如,所公开的方法可用集成电路(如专用集成电路 (“ASIC”)或诸如现场可编程门阵列(“FPGA”)之类的可编程逻辑器件 (“PLD”))来实现。集成电路可嵌入或直接耦合到移动计算设备以实现可 扩展框架。

此处公开的各种方法也可在诸如程序模块中所包括的由处理器在计算环 境中执行的指令等计算机可执行指令的一般上下文中描述。一般而言,程序模 块包括执行特定任务或实现特定抽象数据类型的例程、程序、库、对象、类、 组件、数据结构等。程序模块的功能可以如各实施例中所需的组合或在程序模 块之间分离。用于程序模块的计算机可执行指令可以在本地或分布式计算环境 中执行。

如在本申请和权利要求书中使用的,单数形式“一”、“一个”和“该”包括复 数形式,除非上下文另外清楚地指明。类似地,词语“或”意在包括“和”, 除非上下文另外清楚地指明。术语“包括”意味着“包含”,因此,“包括A或B” 意味着包含A或B以及一起包含A和B。另外,术语“包含”意味着“包括”。此 外,如本文所使用的,术语“和/或”意指短语中的任何一个项或任何项组合。

所公开的方法、装置和系统决不应被解释成限制性的。相反,本发明针对 各公开的实施方式(单独地或彼此的各种组合和子组合)的所有新颖和非显而 易见特征和方面。所公开的方法、装置和系统不限于任何具体方面或特征或其 组合,所公开的各实施方式也不要求存在任何一个或多个具体优点或解决各个 问题。

本文中参照本公开的装置或方法给出的操作理论、科学原理、和其他理论 性描述已出于更好理解的目的而被提供,其并非旨在对范围进行限制。所附权 利要求中的装置和方法并不限于以此类操作理论所描述的方式起作用的那些 装置和方法。

虽然为方便呈现起见所公开的方法的一些操作是以特定的顺序次序来描 述的,但应当理解,这一描述方法涵盖重新安排,除非本文阐明的具体语言需 要特定排序。例如,在某些情况下,可以重新安排或并发执行顺序地描述的操 作。此外,为简明起见,附图可能未示出其中所公开的方法可结合其他方法使 用的各种方式。

在示出和描述了所示实施例的原理之后,可采用多种安排来修改这些实施 例并仍然保持忠实于以上所描述的概念。鉴于可应用所示实施例的原理的许多 可能的实施例,应当认识到,所示实施例仅是优选示例,并且不应认为是限制 本发明的范围。要求保护落入所附权利要求的范围内的所有内容。

去获取专利,查看全文>

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号