强制门户状态检测及避免多接口流量卸载的制作方法

xiaoxiao2020-9-10  3

强制门户状态检测及避免多接口流量卸载的制作方法
【专利摘要】在一个实施方式中,连接至Wi-Fi热点的移动设备首先执行连接检查,从而通过将连接检查消息传输给公共IP网络中的一个或多个外部端点确定无线连接是否陷入强制门户的围墙花园内。如果没有接收到响应,移动设备确定其处于强制门户状态,并且产生绑定至显示强制门户的门户页面的移动设备的Wi-Fi状态跟踪器的浏览器窗口。以这种方式,移动设备并不从其无线蜂窝接口将任何流量卸载至其Wi-Fi接口,直至其确定Wi-Fi接口可访问公共IP网络,从而防止移动应用的数据中断。
【专利说明】强制门户状态检测及避免多接口流量卸载

【技术领域】
[0001] 本公开主要涉及到无线网络的连接。

【背景技术】
[0002] 移动设备可配备有多个通信接口,诸如用于访问一个或多个蜂窝网络的无线电 收发器(例如,GPRS (通用分组无线电服务)、EDGE (用于gsm演进的增强型数据速率)、 3GPP (第三代合作伙伴项目)、3GPP2与CDMA2000 (码分多址))、以及用于访问一个或多个 无线局域网(WLAN)的无线电收发器,诸如,电气和电子工程师协会(IEEE)802. ll(Wi-Fi) 和IEEE 802. 16(WiMAX)网络。由于带宽、信号强度、避免数据收费、电池寿命保存以及其他 考虑因素,许多移动设备被配置为自动连接至任何可用的无线网络并且路由所有数据。
[0003] 然而,所有WLAN都不是免费的。许多WLAN以它们默认的网关或服务器控制(host, 托管)网络门户(也被称为"强制门户(captive portal)")来防止对英特网(或其他网 络)的访问,直到移动设备的用户通常通过键入付款信息或注册或密码凭证或同意供应商 的服务条款而已经执行了认证。
[0004] 强制门户技术通常使网络上的超文本传输协议(HTTP)客户端在正常使用因特网 之前看到特定的网页(通常出于认证之目的)。强制门户将网页浏览器转到认证设备。这 可通过截取所有的数据包来完成,而无需考虑地址或门户,直至用于打开浏览器并且尝试 访问因特网。此时,浏览器可以被重新定向至要求认证或付款或显示用户必须同意的可接 受使用条款的网页。直至成功认证,用户设备可"陷入"门户"围墙花园(walled garden)" 内。强制门户通常用在Wi-Fi热点处并且也可用于控制(例如,在公寓住宅、酒店房间、商 业中心或"开放式"以太网接口中)的有线访问。强制门户可使用广泛的数据包拦截技术, 诸如,HTTP重定向、IP重定向以及域名服务器(DNS)重定向。

【专利附图】

【附图说明】
[0005] 图1A示出了用于多接口移动设备的示例性客户端-服务器环境。
[0006] 图1B示出了示例性的移动IP移交。
[0007] 图2示出了由于强制门户状态而导致的示例性数据-连接问题。
[0008] 图3示出了实施示例性强制-门户-状态检测和避免功能的示例性移动设备的示 例性应用模块。
[0009] 图4示出了用于检测和避免强制-门户状态的示例性方法。
[0010] 图5示出了用于检测强制-门户状态的示例性方法。
[0011] 图6是用于实施强制-门户-状态检测和避免的移动设备的示例性状态图。
[0012] 图7示出了示例性移动设备接口。
[0013] 图8示出了示例性网络环境。
[0014] 图9示出了示例性计算机系统。
[0015] 图10示出了示例性移动设备。

【具体实施方式】
[0016] 在【具体实施方式】中,当连接到特定WLAN时,多接口移动设备或其他客户端设备 则将连接检查传输给公共IP网络中的端点,并且仅在从端点接收到指示该设备具有通过 WLAN的全因特网访问的(ACK)之后,从其无线蜂窝接口将流量卸载到其WLAN接口。在具体 实施方式中,当检测其陷入强制门户的围墙花园内时,移动设备可产生绑定至该设备WLAN 接口的浏览器窗口或用户界面,因此,其可在进行门户认证而同时经由其无线蜂窝无线接 口保持到因特网的数据连接。
[0017] 随着移动应用的普及性提高,网络浏览器不再保留移动设备通过其访问因特网的 方式。出于接收天气、交通、股票更新、地图、即时消息等目的,专用应用可打开应用服务器 的TCP/IP连接。特别关注的是专用(不基于浏览器)社交网络应用的使用。由于现代用 户生活中社交网络的普遍性,许多用户仅依赖于社交网络系统对新闻、事件、兴趣点、消息、 以及其他社交数据的更新;用户依赖于社交网络作为其因特网门户以及管理其自身的个人 生活。在【具体实施方式】中,社交网络应用可经由VPN隧道或"始终在线"TCP/IP连接保持通 知信道,以确保即时通知用户有关的社交数据。
[0018] 在【具体实施方式】中,例如,实施为社交网络网站的社交网络系统可将通信推至其 用户的客户端设备。通常,社交网络是由通过一种或多种类型的相关性或关系,诸如,友谊、 血缘关系、共同爱好、金融交易、厌恶、或信仰、学识或声望关系,连接的实体(诸如,个人或 组织)组成的社交结构。最近几年,社交网络利用了因特网的优势。存在一些以社交网络 网站形式存在于因特网上的社交网络系统。这样的社交网络网站使得它们的通常被称为网 站用户的会员进行各种社交活动。例如,WWW. facebook. com上由Facebook有限公司运营 的社交网络网站能够使其用户通过电子邮件、即时消息、或博客文章与其朋友通信并且组 织社交事件,分享照片,接收其朋友或感兴趣事件的新消息,玩游戏等。
[0019] 存在可以被推至客户端设备的各种通信,诸如,例如但不限于,系统更新消息、软 件更新消息、广告、警报、用户账户通知、社交网络消息、服务协议更新或不同类型通信的组 合。各通知的内容可改变。通常,通知内容可与实体有关,实体可以是人类或非人类实体 (例如,组织、位置、产品、软件应用、电影、主题等)。通知可源自于社交网络系统(例如, 有关社交信息或社交连接的通知)或源自于第三方(例如,有关第三方产品或服务的通 知)。对于关于通知隧道的进一步信息,请参见共同持有的于2011年4月28日提交的第 13/096, 184号、名称为"Managing Notifications Pushed to User Devices"的美国专利申 请,通过引用将其全部内容结合在此。
[0020] 由于各种非基于浏览器的移动应用(诸如,社交网络应用和上述所述社交网络通 知信道)的增加的使用,用户经常不能意识到他们陷入了强制门户围墙花园内。因此,他们 可能遗漏来自其非基于浏览器的移动应用的有价值的信息,诸如,通过通知信道的来自社 交网络系统的通知。
[0021] 图1A示出了用于多接口移动设备105的示例性客户端-服务器环境。移动设备 105可包括用于通过RF收发器塔104与无线蜂窝网络102通信和通过无线接入点、路由器、 或转发器(未示出)通信至无线LAN 103的多个无线接口。无线蜂窝网络102可以是基 于 GSM 的网络(例如,GPRS、EDGE、UMTS、HDSPA/HSUPA、LTE、3GPP、3GPP2)、基于 CDMA 的网 络(CDMA2000、WCDMA、EVD0、LTE等)、或任何合适的蜂窝数据连接。WLAN103可以是IEEE 802. 11 Wi-Fi LAN、802. 16WiMAX LAN、或任何合适的WLAN。在【具体实施方式】中,移动设备 105可包括其他无线电收发器,诸如,用于与蓝牙或超带宽个人局域网通信。在具体实施方 式中,移动设备105可包括用于与各种城域网通信的一个或多个无线电收发器。本公开预 期了任何合适的无线网络协议。
[0022] 移动设备105经由因特网101和无线蜂窝网络102或无线LAN 103中的一个通过 其本地浏览器或各服务的专门应用保持其与各个第三方服务器100A-D的连接。例如,在常 规操作下,移动设备105可经由其载体的无线蜂窝网络102和因特网101保持从驻留在移 动设备上的社交网络应用至社交网络系统服务器100A的连接。如上所述,该连接可以是用 于从社交网络系统接收重要更新和内容的始终在线通知信道。类似地,移动设备105可通 过流音频应用(streaming audio application)(例如,Pandora、YouTube、Spotify 或懒 鬼电台(Slacker Radio))至流内容服务器(streaming content server) 100B之间的相同 路径保持连接,以接收流音乐或视频。作为另一个实例,移动设备105可经由无线蜂窝网络 102保持移动设备105上驻留的聊天客户端与消息服务器100C之间的连接,诸如,谷歌聊 天、A0L即时通讯、Jabber、ICQ、雅虎通(Yahoo ! Messenger)等。本公开预期通过因特网 101将数据包传输给移动设备105并且接收数据包的任何合适服务器100D。
[0023] 在特定情况下,移动设备105可从无线蜂窝网络104 (通过物理介质104a)切换至 无线LAN 103 (通过物理介质103a)。在【具体实施方式】中,移动设备105可被配置为自动连 接到范围内的任何无线网络。在【具体实施方式】中,移动设备105基于多种性能因素切换至 无线LAN 103。例如,只有当信号强度高于预定阈值或只有当WLAN满足一定的带宽要求时, 移动设备105可连接至WLAN 103。在【具体实施方式】中,移动设备105可自动连接至WLAN 103以保持电池寿命或避免数据超量费用。在【具体实施方式】中,移动设备105在明确的用户 指令之后可仅连接到WLAN 103。本公开预期了连接至可用无线网络的任何合适方法。
[0024] 图1B示出了与图1A中相同的网络,除了移动设备105利用移动IP。在图1中, 移动设备105独立地管理无线连接104a和103a ;移动设备105获得到因特网101的两个 独立IP地址和连接。因此,当移动设备105从无线蜂窝网络102切换至无线LAN 103时, 则不存在数据"移交";应用必须与服务器100A-100D进行重新认证。在【具体实施方式】中, 移动应用可无缝地进行该重新认证并且无需用户交互。例如,在连接至WLAN 103之后其与 社交网络系统服务器100A的初始通信时,社交网络应用可传输诸如社交网络用户标识符 和密码等认证信息。在【具体实施方式】中,社交网络系统服务器100A执行MAC认证;只要传 入的数据包来自移动设备,则无需考虑IP地址,社交网络系统可响应移动设备105的请求。 然而,在图1的配置中,由驻留在移动设备105上的应用处理IP地址变更;当移动设备105 连接至WLAN 103时,不存在真实的数据"移交"。
[0025] 图1B示出了当其连接至WLAN 103之后利用用于流量卸载的移动IP的移动设备。 尽管图1B描述了移动IP移交,然而,可以类似方式利用其它基于IP的移动性管理协议(例 如,基于SIP的移动性管理)。移动服务供应商106可以是管理移动设备105的家庭网络的 任一实体,例如,蜂窝式服务供应商、家庭企业网络、或因特网服务供应商(ISP)。蜂窝网络 102直接或经由标准IP网络连接至移动服务供应商106。
[0026] 通常而言,当移动设备105从蜂窝网络102移动至WLAN 103时,移动设备105获取 可用于从新网络接收IP数据包的本地IP地址。移动设备105使用该新本地IP地址作为其 移动IP转交地址(CoA)并且使用移动IP向其移动IP本地代理107注册新的CoA。这允许 移动设备105继续接收由任一移动或固定终端发送的被寻址到其移动IP本地地址的IP数 据包,该任一移动或固定终端可将数据包发送给移动设备105的移动服务供应商网络106。 被寻址到移动设备105本地地址的用户IP数据包将被路由到移动IP本地代理107,移动IP 本地代理107则通过隧道将这些数据包传输给移动设备105的当前CoA。3GPP Release 8 引进了双栈移动IP (DSMIP)以使得3G与Wi-Fi之间能够无缝移交。这样的技术是本领域 中众所周知的且这里并不进一步讨论。
[0027] 无论移动设备105利用无缝移交(如图1A中)或两个独立的连接(如图1A中), 通过移交运行的诸如社交网络应用的应用和聊天客户端需要通过WLAN 103到因特网101 的基本即时连接。由于数据包重新定向,而由强制门户进行的中断(g卩,陷入围墙花园内) 导致与用户的连接完全丢失,由于移动设备105的用户在移交时没有经由浏览器在网上冲 浪,所以通常并不知道。
[0028] 图2示出了由于移动设备105陷入在强制门户围墙花园(此处被称作"强制门户 状态"208)内而导致数据连接丢失的示例性处理。
[0029] 在步骤201,仅当范围内不存在任何Wi-Fi网络时,移动设备105才在蜂窝数据模 式下运行。在步骤202,操作移动设备105的用户进入Wi-Fi热点覆盖区,例如,酒店、机场 终端、咖啡屋等。
[0030] 在步骤203,移动设备自动连接到Wi-Fi热点。尽管自动连接经常导致强制门户状 态208,然而,即使用户明确发布指令连接到Wi-Fi热点,移动设备105也可以结束强制门户 状态208。例如,实施强制门户的Wi-Fi网络未几乎排他的公共的、未加密WLAN。因此,在深 信WLAN提供了全英特网接入,而实际上,用户的设备陷入了强制门户状态208的情况下,用 户可以连接至WLAN。在步骤204-205,移动设备105保持陷入在强制门户状态208下。从 移动设备105至英特网寻址的数据包没有被WLAN转发,WLAN的默认网关或网络服务器继 续以包括门户网页的内容的HTTP响应轰击移动设备105。因为不期望非浏览器移动应用, 或非浏览器移动应用不能给予这些HTTP响应,所以通常其丢弃数据包,并且用户仍可无限 期地处于强制门户状态208。例如,除非移动设备105的用户打开浏览器窗口并且进入门户 页面,或通知没有任何其他移动应用接收更新,否则,用户可能永远认识不到他或她陷入在 强制门户状态208下。
[0031] 假设用户最终通知并且打开移动设备105的网络浏览器,在步骤206,用于将认证 凭证,诸如,用户姓名、密码、付款信息、奖励代码、同意服务条款等提供给强制门户,并且在 步骤207,通过Wi-Fi连接重新存储数据连接。
[0032] 图3示出了实施【具体实施方式】的强制门户状态检测和避免功能的移动设备300上 驻留的示例性软件模块。移动设备300包括连接管理器应用301和要求因特网连接的各种 用户应用307。如上所述,应用307可包括但不限于:网络浏览器308、社交网络应用309、 社交网络通知信道309a(其可以是社交网络应用309的部件)、IP电话(voice-over-IP, VoIP)应用310、或流视频应用311。本公开预期了任何合适的应用312。
[0033] 连接管理器301可以是第三方应用,或更典型地,内置于移动设备300的操作系统 中。连接管理器301包括积极探测可用Wi-Fi网络的Wi-Fi收听器模块302。在具体实施 方式中,Wi-Fi收听器模块302可以预定间隔进行探测。在【具体实施方式】中,基于移动设备 300的位置、电池寿命以及其他因素调整预定间隔。本公开预期了任何合适的Wi-Fi收听器 模块302。
[0034] 连接管理器301包括两个连接状态跟踪器,蜂窝式数据连接状态跟踪器303和 Wi-Fi连接状态跟踪器304,它们中的每个分别管理其相关联的无线接口的连接状态。对本 领域普通技术人员来说显而易见的是,连接管理器301可具有用于各种无线接口(诸如,蓝 牙、WiMax等)的任何数目的连接状态跟踪器。
[0035] Wi-Fi连接状态管理器304包括WPA子系统305和配置管路306。WPA子系统305 负责连接到给定Wi-Fi网络的物理无线介质,包括加密、认证等。在【具体实施方式】中,WPA子 系统305可包含在用于移动设备300的无线网络接口卡(NIC)驱动器中。配置管路306包 括负责配置所用无线连接的顺序执行的几个处理。在【具体实施方式】中,WLAN不被视为"准 备使用",直至配置管路306的所有处理306a-c均成功完成执行。
[0036] DHCP处理306a实施动态主机配置协议(DHCP)并且负责从WLAN获得IP地址。 DHCP是本领域众所周知的,因此这里不再进一步讨论。在【具体实施方式】中,配置管路306包 括实施WISPr (无线因特网服务供应商路由)协议的软件处理。WISPr以类似于允许蜂窝电 话用户在载体之间漫游的方式允许用户在无线因特网服务供应商之间漫游。RADIUS服务器 用于认证用户凭证。在【具体实施方式】中,WISPr利用基于XML的协议将认证信息存储在客 户端设备中并且将其传输给热点的RADIUS服务器,从而避免用户与强制门户交互的需要。 然而,在这样的实施方式中,即使在WLAN已经认证移动设备之后,与WLAN自身的连接问题 也可导致服务中断。在【具体实施方式】中,配置管路306支持用于配置无线连接的其他处理。 例如,管路306可包括存储之前使用的认证凭证或cookies的智能客户端。在具体实施方 式中,管路306可包括实施国际漫游访问协议(IRAP)的处理。本公开预期了用于配置管路 306中的执行的任何数目的合适软件处理。
[0037] 如上所述,配置管路306包括在Wi-Fi连接状态跟踪器304认为无线连接"完全连 接"之前必须成功执行的连续软件处理。例如,通常,当移动设备连接到Wi-Fi网络时,其 通过DHCP处理306a获得IP地址,并且选择性地执行通过WISPr所需的任何认证。在具体 实施方式中,强制门户检查处理306c被附加至配置管路306的端部。如下面更为详细讨论 的,强制门户检查处理306c检测无线网络连接是否处于强制门户状态;如果强制门户检查 处理306c检测到强制门户状态,Wi-Fi连接状态跟踪器304将不会认为设备"完全连接"到 WLAN。
[0038] 图4示出了用于检测和避免用于双接口移动设备300的强制门户状态的示例性方 法。该方法可以步骤401开始,其中,移动设备300经由其载体的蜂窝数据网络(诸如,网络 102)连接到因特网。在步骤402,如之前所述,Wi-Fi收听器302积极地探测可用的Wi-Fi 网络。如果没有发现网络,则在预定时间段之后,或根据Wi-Fi收听器302的策略,该处理 循环回至402。如果检测到Wi-Fi网络,则该处理进行到步骤403。
[0039] 在步骤403,移动设备300通过执行配置管路306中的各个处理而连接到检测的 Wi-Fi网络中的一个。如上所述,移动设备300可自动或响应明确的用户指令连接到检测的 Wi-Fi网络。在【具体实施方式】中,移动设备对可用Wi-Fi网络进行分级或打分并且自动连接 到其认为"最佳的"网络的网络。在【具体实施方式】中,移动设备对可用Wi-Fi网络进行分级 或打分并且将分类的网络列表提供给用户,用于使用户发出明确的连接指令。在具体实施 方式中,移动设备300可通过其蜂窝数据连接102a从外部节点获得Wi-Fi网络分数。例如, 移动设备300可将请求传输给具有可用网络SSID及其物理位置的第三方服务器。作为回 应,第三方服务器可基于其他用户的报告经验传输有关各个已识别Wi-Fi网络的分数。类 似地,当移动设备300连接到特定的Wi-Fi网络时,移动设备300可传输性能指标,诸如,带 宽、时延、网络上的设备数目等、或用户填写的网络质量调查。在这样的实施方式中,Wi-Fi 网络的等级和随后的分级基于众包数据(crowd-sourced data)。本公开预期选择并且连接 到Wi-Fi网络的任何合适方式。在步骤403,移动设备300执行除配置管路306的最后步骤 之外的所有步骤,包括经由DHCP处理306a获得IP地址以及通过WISPr处理306b的任何 内置认证。在步骤403-406,移动设备300经由蜂窝数据网络102保持其到公共IP网络的 数据连接。
[0040] 在步骤404,移动设备300执行配置管路306中的强制门户检测306c。将参考图5 进一步详细描述强制门户检查306c。如果强制门户检查处理306c确定移动设备300经由 其Wi-Fi接口连接到强制门户,则该处理进行到步骤405。如果不是,则处理跳到步骤406, 其中,移动设备300开始使用已连接的Wi-Fi网络与公共IP网络通信。在移动设备300利 用移动IP的实施方式中,这样的移交包括经由Wi-Fi网络103将其新的CoA传输给其本地 代理107。
[0041] 在步骤405, 一旦检测到Wi-Fi连接处于强制门户状态(即,陷入强制门户围墙花 园内),移动设备300产生浏览器窗口并且从强制门户下载门户页面。在【具体实施方式】中, 利用移动数据接口,所有的非强制门户流量通过移动数据接口继续被传输和接收,未被中 断。例如,如果用户在从缺少WiFi连接的区域移动至具有WiFi覆盖的WiFi区域时正在参 与聊天会话,则数据通过移动数据接口继续流至移动设备和从移动设备流至聊天服务器, 直至流量被卸载。在【具体实施方式】中,由移动设备300产生的浏览器窗口可具有另外的自 定义用户界面元素。将参考图7进一步详细描述产生的浏览器窗口。在步骤405,因为移动 设备300保持两个同时发生的无线连接和两个IP地址(一个用于无线蜂窝网络102,而一 个用于Wi-Fi网络103),所以移动设备300将产生的浏览器窗口绑定至其Wi-Fi接口以防 止不正确的递送。因此,所有HTTP请求、HTTP响应、DNS请求/响应或由浏览器窗口产生的 所有其他开放式插座连接被迫利用Wi-Fi接口。在【具体实施方式】中,通过变更产生的浏览 器窗口的浏览器堆栈可实现此绑定。本公开预期了从产生的浏览器窗口将所有流量传输给 Wi-Fi接口的任何合适方法。
[0042] 在步骤406,用户与产生的浏览器窗口交互以键入认证凭证。如上所述,认证凭证 范围可从用户名/密码、付款信息、以及奖励代码到仅同意Wi-Fi网络供应商的服务条款。 当用户点击强制门户内容中的"提交"或"继续"按钮时,则将认证凭证提交给了强制门户 以用于验证。如果认证凭证有效,则根据实施,强制门户可将ACK传输给用户。在其他实施 方式中,强制门户可仅授予移动设备300因特网接入。在特定实施方式中,当接收到提交的 认证凭证有效的确认时,移动设备300则可进行到步骤408并且将流量卸载至Wi-Fi连接。 然而,在这样的实施方式中,如果到公共IP网络的强制门户的连接出现故障,则可能还出 现用户服务中断。
[0043] 因此,在【具体实施方式】中,在提交有效认证凭证之后,处理返回至步骤404中的强 制门户状态检测,以确保Wi-Fi连接可接入公共IP网络。
[0044] 在步骤408,移动设备300将数据流量卸载至Wi-Fi连接103a。在【具体实施方式】 中,移动设备300可仅将数据流量的一部分卸载至Wi-Fi连接103a。例如,DSMIP允许基于 应用的卸载,因此,可将带宽密集型应用卸载至更高的带宽网络。作为另一个实例,DSMIP可 仅将为对时延不敏感的流量的流量卸载至经历较少时延的网络。在【具体实施方式】中,流量 卸载可基于流。例如,3GPP release 10引进了将多个本地CoA注册到单一 HoA中,并且将 不同IP流(例如,http、视频、VoIP等)绑定至不同CoA或直接绑定至HoA的能力。因此, 可将一些流量锚钉(anchor)至移动设备300的HA 107,诸如,VPN或视频流量,而将一些流 量完全卸载至WLAN,无需穿过WLAN,诸如,HTTP。本公开预期了将移动设备300的全部或部 分数据流量从其无线蜂窝网络接口卸载至其Wi-Fi接口的任何合适方法。
[0045] 特定的强制门户可恢复至强制门户状态并且在预定时间段之后将连接的设备转 移至其围墙花园。例如,如果用户购买热点的1小时通行,则一旦一小时通行届满,强制门 户可重新初始化数据包重新定向,从而迫使用户购买额外时间。如上所述,因为许多用户出 于网络浏览之外的其他目的需要到因特网的数据连接,所以用户可以意识到其已经丢失因 特网连接。因此,在【具体实施方式】中,移动设备300可执行步骤404中的强制门户状态检 查。一旦在步骤404中通过强制门户状态检查,或可选地,一旦在步骤408中将流量卸载至 Wi-Fi接口,移动设备300启动指示时间的定时器,直至下一步强制门户状态检查。如果在 步骤409中定时器届满,则该处理返回至步骤404并且执行强制门户状态检查。
[0046] 对本领域普通技术人员显而易见的是,如果由于例如用户离开Wi-Fi热点覆盖区 而导致移动设备300完全丢失其Wi-Fi连接,则可以在任一时刻中断图4中的处理。同样显 而易见的是,在这种情况下,移动设备300将所有数据流量转移回至其无线蜂窝网络接口。
[0047] 尽管本公开描述并且示出图4中该方法以特定顺序发生的特定步骤,然而,本公 开预期了图4中该方法以任何合适的顺序发生的任何合适步骤。而且,尽管本公开描述并 且示出执行图4的方法的特定步骤的特定部件,然而,本公开预期了执行图4的方法的任何 合适步骤的任何合适部件的任何合适组合。
[0048] 图5示出了检测强制门户状态的示例性方法。在【具体实施方式】中,通过配置管路 306中的强制网络-门户-状态检测处理306c实施图5中的方法。在【具体实施方式】中,移 动设备300可跳过配置管路306中的其他不必要的处理。例如,当移动设备对现有Wi-Fi连 接周期性地执行强制-门户-状态检查(如步骤409中)时,则不需要执行DHCP处理306a 或WISPr认证306b。在【具体实施方式】中,仅当第一连接到Wi-Fi网络时才执行全部的配置 管路306。
[0049] 该方法可在步骤501开始,其中,移动设备基于预定的规则或内部定时器设置进 行确定以检查其是否处于强制门户状态。在步骤502,移动设备300将连接检查传输给因特 网中的外部节点。在【具体实施方式】中,连接检查可以是非常熟知的域,诸如,WWW, facebook. 在【具体实施方式】中,外部节点可以是分布式内容分发网络(诸如,Akamai)的一个或 多个服务器。在【具体实施方式】中,连接检查可以如同ping请求一样简单。在【具体实施方式】 中,连接检查可请求将特定标识符包括在响应中。在【具体实施方式】中,该响应可包括唯一的 非缓存标识符。本公开预期了任何合适的连接检查请求或响应消息。
[0050] 在步骤503,移动设备300与连接检查消息的传输基本同时启动定时器。在具体 实施方式中,定时器可以是以预定超时时间段(例如,400ms)开始的倒数定时器。如果在 定时器届满之前接收到连接检查响应消息(步骤504),则在步骤505,移动设备确定Wi-Fi 连接没有处于强制门户状态,在该点,该方法可以结束。另一方面,如果在超时届满之前没 有接收到响应,则移动设备3001将Wi-Fi连接识别为处于强制门户状态(步骤506),在该 点,该方法可结束。
[0051] 尽管本公开描述并且示出图5中该方法以特定顺序发生的特定步骤,然而,本公 开预期了图5中该方法以任何合适顺序发生的任何合适步骤。而且,尽管本公开描述并且 示出进行图5中该方法的具体步骤的具体部件,然而,本公开预期了进行图5中该方法的任 何合适步骤的任何合适部件的任何合适组合。
[0052] 图6以状态图描述了图4和图5中的方法。本领域普通技术人员可以理解,图4 中的方法不仅是仅执行一次的程序,而是通过Wi-Fi网络连续监控Wi-Fi连接和公共IP网 络接入。
[0053] 图6中的状态图包含四种状态。在状态S0,移动设备300仅通过其蜂窝无线接口 连接到公共IP网络。在这种状态过程中,如上所述,移动设备300的Wi-Fi收听器通过传 输探测消息或搜索广播SSID周期性地检查可用Wi-Fi网络。如果没有发现网络,则移动设 备300保持在状态S0。如果发现网络,则移动设备300连接到网络并且转变成状态S1。
[0054] 在状态S1中,移动设备300被连接到其载体的无线蜂窝数据网络以及所检测的 Wi-Fi网络,而不将任何流量卸载至其Wi-Fi接口。在S1,移动设备300执行图5中的强制 门户状态检查以确定其是否陷入强制门户围墙花园内。如果没有,则移动设备转变至状态 S3。如果移动设备300确定其Wi-Fi连接陷入强制门户状态,则其转变至状态S2。
[0055] 在状态S3,移动设备300将其一些或全部流量(如上所述)转移至Wi-Fi网络。 因此,移动设备300根据执行另一个强制门户状态检查的届满信号来初始化定时器。
[0056] 在状态S2,移动设备300产生绑定至其Wi-Fi接口并且包括从连接强制门户下载 的内容的浏览器窗口。如上所述,用户可提供认证信息。
[0057] 对本领域普通技术人员显而易见的是,例如,如果用户不希望支付因特网接入,则 用户可仅选择保持处于蜂窝网络,而不使用Wi-Fi。在这样的实施方式中,当用户拒绝连接 到Wi-Fi网络(如参考图7进行的讨论),移动设备300则返回至状态S0并且周期性地扫 描用户所拒绝网络之外的网络。如上所述,在【具体实施方式】中,在任何状态S1、S2或S3,如 果移动设备300丢失Wi-Fi连接,则移动设备300仅将所有流量转移回至其无线蜂窝无线 接口并且返回至状态S0。
[0058] 图7示出了显示响应于强制门户状态的检测而产生的浏览器窗口 701的移动设备 300(图4中的步骤405或图6中的状态S2)。在【具体实施方式】中,浏览器窗口 701包括由 移动设备300产生的用户界面区域702和从强制门户的网关或服务器获得的内容区域706。 在【具体实施方式】中,移动设备300对内容区域中显示的内容不能进行控制,其仅从强制门 户下载并且呈现该内容。
[0059] 在【具体实施方式】中,用户界面区域702包括无线网络的名称(在这种情况下, "Boingo HotSpot")。在【具体实施方式】中,该名称为网络SSID。在【具体实施方式】中,基于 移动设备300的SSID和位置从第三方服务获得网络的名称。本公开预期了识别当前无线 网络的任何合适方法。在【具体实施方式】中,用户界面区域702可包括丢弃按钮(dismiss button) 703。在该实施方式中,丢弃按钮703的用户选择使移动设备关闭浏览器窗口 702 并且将所有数据流量处于无线蜂窝接口中。在【具体实施方式】中,丢弃按钮703的选择使移 动设备从可用网络列表去除当前网络。在【具体实施方式】中,移动设备300未来将不连接到 任何丢弃的网络。在【具体实施方式】中,选择丢弃按钮703使移动设备300显示关于当前网 络的潜在动作菜单,诸如,"关于此网络,不用再提示我"。本公开预期了丢弃或关闭浏览器 窗口 701或将基于网络的策略应用于当前连接网络的任何合适方式。在【具体实施方式】中, 用户界面区域702还包括标准的导航条704和"继续(go)"按钮705。对本领域普通技术 人员显而易见的是,导航条704显示当前显示内容的URL,而"继续"按钮705提交在导航条 704中的有关URL的http请求。
[0060] 如上所述,内容区域706仅显示从强制门户获得的内容,通常,存储在强制门户本 地网关或连接至强制门户的独立服务器上的html网页。出于示例性之目的,图7描述了包 括用于支付处理的多个字段的内容区域706中的强制门户页面,所述多个字段包括但不限 于,姓、名、信誉卡号码、届满日期以及账单地址。在【具体实施方式】中,强制门户页面可以仅 列出一组项目和条件,以单个按钮指示用户同意同意无线网络供应商的服务/使用条款。 出于教导之目的,内容区域706还包括各种访问选项707、708以及709,当被选择时,访问选 项707、708以及709收取用户信誉卡所显示金额的费用并且授权移动设备300在所显示时 间段内访问公共IP网络。在成功认证之后,强制门户可授权用户访问因特网,并且移动设 备300可在将一些或所有数据流量下载至Wi-Fi网络之前开始执行连接检查(步骤404和 状态S1)。
[0061] 在网络环境中可实施【具体实施方式】。图8示出了示例性的网络环境800。网络环 境800包括将一个或多个服务器820以及一个或多个客户端830彼此耦接的网络810。在具 体实施方式中,网络810为内网、外网、虚拟专用网络(VPN)、局域网(LAN)、无线LAN (WLAN)、 广域网(WAN)、城域网(MAN)、因特网的一部分、或另一网络810或两个或多个该网络810的 组合。本公开预期了任何合适的网络810。
[0062] 一个或多个链路850将服务器820或客户端830耦接至网络810。在具体实施方 式中,一个或多个链路850中的每个均包括一个或多个有线、无线或光链路850。在具体实 施方式中,一个或多个链路850中的每个均包括内网、外网、VPN、LAN、WLAN、WAN、MAN、因特 网的一部分、或另一链路850或两个或多个该链路850的组合。本公开预期了将服务器820 和客户端830耦接到网络810的任何合适链路850。
[0063] 在【具体实施方式】中,每个服务器820均可以是单一服务器或可以是涵盖多台计算 机的分布式服务器或多个数据中心。服务器820可以是各种类型,诸如,例如但不限制,网 络服务器、新闻服务器、邮件服务器、消息服务器、广告服务器、文件服务器、应用服务器、交 易服务器、数据库服务器、或代理服务器。在【具体实施方式】中,每个服务器820均可包括硬 件、软件、或嵌入式逻辑部件或用于进行由服务器820实施或支持的适当功能的两个或多 个该部件的组合。例如,网络服务器通常能够控制包含网页或网页的特定元素的网站。更具 体地,网络服务器可控制HTML文件或其他文件类型,或可根据请求动态创建或构成文件, 并且响应于来自客户端830的HTTP或其他请求将其通信给客户端830。邮件服务器通常能 够将电子邮件服务提供给各个客户端830。数据库服务器通常能够提供用于管理存储在一 个或多个数据存储器中的数据的接口。在【具体实施方式】中,实施社交网络网站的社交网络 系统822可宿主在一个或多个服务器820上。
[0064] 在【具体实施方式】中,一个或多个数据存储器840可经由一个或多个链路850通信 地链接到一个或多个服务器820。在【具体实施方式】中,数据存储器840可用于存储各种类型 的信息。在【具体实施方式】中,可根据特定数据结构组织数据存储器840中存储的信息。在

【具体实施方式】中,每个数据存储器840均可以是相关的数据库。【具体实施方式】可提供能够 使服务器820或客户端830管理,例如,检索、修改、添加、或删除数据存储器840中存储的 信息的接口。
[0065] 在【具体实施方式】中,每个客户端830可以是包括硬件、软件或嵌入式逻辑部件或 这样的部件的一种或两种的组合并能够执行由客户端830实施或支持的适当功能的电子 设备。例如但不限制,客户端830可以是台式计算机系统、笔记本计算机系统、上网本计算 机系统(netbook computer system)、手持式电子设备或移动电话。本公开预期了任何合适 的客户端830。客户端830能够使客户端830的网络用户访问网络830。客户端830能够 使其用户与位于其他客户端830的其他用户通信。
[0066]客户端 830 可具有网络浏览器 832,诸如,MICROSOFT INTERNET EXPL0RER、G00GLE CHROME或M0ZILLA FIREF0X,并且可具有一个或多个附加元件、插件、或其他扩展,诸如, TOOLBAR或YAHOO TOOLBAR。客户端830处的用户可进入统一资源定位器(URL)或使网络 浏览器832引导至服务器820的其他地址,并且网络浏览器832可产生超文本传输协议 (HTTP)请求并且将HTTP请求传送给服务器820。服务器820可接受HTTP请求并且响应 于HTML请求将一个或多个超文本标记语言(HTML)文件冲送给客户端830。客户端830可 基于HTML文件从服务器820渲染网页以用于展示给用户。本公开预期了任何合适的网页 文件。例如但并不通过限制方式,网页可根据具体需要从HTML文件、可扩展的超文本标记 语言(XHTML)文件、或可扩展的标记语言(XML)文件进行渲染。这些网页还可执行脚本程 序,诸如,例如但并不通过限制方式,以JAVASCRIPT、JAVA、MICROSOFT SILVERLIGHT,诸如 AJAX(异步Javascript和XML)等标记语言和脚本程序组合编写的程序等。此处,参考网页 包括一个或多个对应的网页文件(浏览器可用于渲染网页)(如适用),反之亦然。
[0067] 可在一个或多个计算机系统上实施【具体实施方式】。图9示出了示例性计算机系统 900。在【具体实施方式】中,一个或多个计算机系统900执行本公开中所描述或示出的一种或 多种方法的一个或多个步骤。在【具体实施方式】中,一个或多个计算机系统900提供本公开 中所描述或示出的功能。在【具体实施方式】中,一个或多个计算机系统900上运行的软件执 行本公开中所描述或示出的一种或多种方法的一个或多个步骤或提供本公开中所描述或 示出的功能。【具体实施方式】包括一个或多个计算机系统900的一个或多个部分。
[0068] 本公开预期了任何合适数目的计算机系统900。本公开预期了采用任何合适物理 形式的计算机系统900。例如但并不通过限制方式,计算机系统900可以是嵌入式计算机系 统、片上系统(S0C)、单板计算机系统(SBC)(诸如,例如,模块上计算机(COM)或模块上系统 (S0M))、台式计算机系统、膝上型或笔记本计算机系统、交互式自助服务机、大型机、网状计 算机系统、移动电话、个人数字助理(PDA)、服务器、或两者或多种这些的组合。适当地,计算 机系统900可包括一个或多个计算机系统900 ;单一式或分布式的;跨多个位置;跨多台机 器;或驻留在云中(其可包括一个或多个网络中的一个或多个云部件)。适当地,一个或多 个计算机系统900可执行本公开中所描述或示出的一种或多种方法的一个或多个步骤,而 无严格的空间或时间限制。例如但并不通过限制方式,一个或多个计算机系统900可实时 或以成批模式执行本公开中所描述或示出的一种或多种方法的一个或多个步骤。适当地, 一个或多个计算机系统900可在不同时间或在不同位置执行本公开中所描述或示出的一 种或多种方法的一个或多个步骤。
[0069] 在【具体实施方式】中,计算机系统900包括处理器902、内存(mem〇ry)904、存储器 906、输入/输出(I/O)接口 908、通信接口 910以及总线912。尽管本公开描述并且示出具 有以特定配置的特定数量的特定部件的特定计算机系统,本公开预期了具有以任何合适配 置的任何适当数量的任何合适部件的任何合适的计算机系统。
[0070] 在【具体实施方式】中,处理器902包括用于执行诸如构成计算机程序的指令的硬 件。例如但并不通过限制方式,为了执行指令,处理器902可从内部寄存器、内部缓存、内存 904或存储器906检索(或获取)指令,解码并且执行指令;然后,将一种或多种结果写入内 部寄存器、内部缓存、内存904或存储器906中。在【具体实施方式】中,处理器902可包括用 于数据、指令、或地址的一种或多种内部缓存。适当地,本公开预期了包括任何合适数目的 任何合适内部缓存的处理器902。例如但并不通过限制方式,处理器902可包括一个或多个 指令缓存、一个或多个数据缓存、以及一个或多个翻译后备缓冲器(TLB)。指令缓存中的指 令可以是内存904或存储器906中的指令的副本,并且指令缓存可加速处理器902对这些 指令的检索。数据缓存中的数据可以是内存904或存储器906中用于在处理器902上执行 以运行的指令的数据的副本;在处理器902上执行的用于由在处理器902上执行的随后的 指令访问的或用于写入内存904或存储器906的先前指令的结果;或其他合适的数据。数 据缓存可加速处理器902的读出或写入操作。TLB可加速处理器902的虚拟地址转译。在

【具体实施方式】中,处理器902可包括用于数据、指令或地址的一个或多个内部寄存器。适当 地,本公开预期了包括任何合适数目的任何合适内部寄存器的处理器902。适当地,处理器 902可包括一个或多个运算逻辑单元(ALU);可以是多核处理器;或包括一个或多个处理器 902 (如适用)。尽管本公开描述并且示出了特定处理器,然而,本公开预期了任何合适的处 理器。
[0071] 在【具体实施方式】中,内存904包括用于存储处理器902执行的指令或处理器902 运行的数据的主内存。例如但并不通过限制方式,计算机系统900可从存储器906或另一 源(诸如,例如,另一计算机系统900)将指令加载到内存904。然后,处理器902可从内存 904将指令加载到内部寄存器或内部缓存。为了执行指令,处理器902可从内部寄存器或内 部缓存检索指令并且对它们进行解码。在执行指令过程中或之后,处理器902可将一个或 多个结果(可以是中间结果或最终结果)写入内部寄存器或内部缓存。然后,处理器902 可将这些结果中的一个或多个写入内存904。在【具体实施方式】中,处理器902仅执行一个或 多个内部寄存器或内部缓存中或内存904中的指令(与存储器906或其他位置的相反)并 且仅运行一个或多个内部寄存器或内部缓存中或内存904中的数据(与存储器906或其他 位置的相反)。一条或多条内存总线(其中每条均可包括地址总线和数据总线)可将处理 器902耦接至内存904。如上所述,总线912可包括一条或多条内存总线。在【具体实施方式】 中,一个或多个内存管理单元(MMU)驻留在处理器902与内存904之间并且利于由处理器 902所请求对内存904的访问。在【具体实施方式】中,内存904包括随机存取存储器(RAM)。 适当地,RAM可以是易失性内存。适当地,该RAM可以是动态RAM (DRAM)或静态RAM (SRAM)。 而且,适当地,该RAM可以是单端口或多端口 RAM。本公开预期了任何合适的RAM。适当地, 904包括一个或多个内存904。尽管本公开描述并且示出了特定内存,然而,本公开预期了 任何合适的内存。
[0072] 在【具体实施方式】中,存储器906包括用于数据或指令的大容量存储器。例如但并 不通过限制方式,存储器906可包括HDD、软盘驱动器、闪存、光盘、磁光盘、磁带或通用串行 总线(USB)驱动或这些中的两种或多种的组合。适当地,存储器906可包括可移动或非移 动(或固定)介质。适当地,存储器906可以在计算机系统900内部或外部。在具体实施 方式中,存储器906是非易失性固态内存。在【具体实施方式】中,存储器906包括只读存储器 (ROM)。适当地,ROM可以是掩模编程ROM、可编程的ROM (PR0M)、可擦除PROM (EPROM)、电可 擦除PR0M(EEPR0M、电可改写ROM(EAROM)、或闪存或这些中两种或多种的组合。本公开预期 了采用任何合适物理形式的大容量存储器906。适当地,存储器906可包括利于处理器902 与存储器906之间通信的一个或多个存储控制单元。适当地,存储器906可包括一个或多 个存储器906。尽管本公开描述并且示出了特定存储器,然而,本公开预期了任何合适的存 储器。
[0073] 在【具体实施方式】中,1/0接口 908包括提供用于计算机系统900与一个或多个1/0 设备之间通信的一个或多个接口的硬件、软件或它们两者。适当地,计算机系统900可包括 这些1/0设备中的一个或多个。这些1/0设备中的一个或两个能够使人与计算机系统900 之间进行通信。例如但并不通过限制方式,1/0设备可包括键盘、键区、麦克风、监控器、鼠 标、打印机、扫描仪、扬声器、静态照相机、铁笔、写字板、触摸屏、轨迹球、录像机、另一合适 的1/0设备或这些中的两种或多种的组合。1/0设备可包括一个或多个传感器。本公开预 期了与任何合适的1/0设备和它们的任何合适的1/0接口 908。适当地,1/0接口 908可包 括能够使处理器902驱动这些1/0设备中的一个或多个的一个或多个设备或软件驱动器。 适当地,1/0接口 908可包括一个或多个1/0接口 908。尽管本公开描述并且示出了特定1/ 〇接口,然而,本公开预期了任何合适的1/0接口。
[0074] 在【具体实施方式】中,通信接口 910包括提供用于计算机系统900与一个或多个其 他计算机系统900或一个或多个网络之间通信(诸如,例如,基于数据包的通信)的一个或 多个接口的硬件、软件或它们两者。例如但并不通过限制方式,通信接口 910可包括用于与 以太网或其他有线网络通信的网络接口控制器(NIC)或网络适配器或用于与诸如WI-FI网 络的无线网络通信的无线NIC(WNIC)或无线适配器。本公开预期了任何合适的网络和用于 其的任何合适的通信接口 910。例如但并不通过限制方式,计算机系统900可与自组织网 络(ad hoc network,特定网络)、个人局域网(PAN)、局域网(LAN)、广域网(WAN)、城域网 (MAN)、或因特网的一个或多个部分、或这些中的两种或多种的组合通信。一个或多个这些 网络中的一个或多个部分可以为有线或无线的。例如,计算机系统900可与无线PAN(WPAN) (诸如,例如,蓝牙WPAN)、WI-FI网络、WI-MAX网络、蜂窝电话网络(诸如,例如,全球移动通 信系统(GSM)网络)、或其他合适的无线网络、或这些中两种或多种的组合通信。适当地,计 算机系统900可包括用于任何这些网络的任何合适的通信接口 910。适当地,通信接口 910 可包括一个或多个通信接口 910 (如适用)。尽管本公开描述并且示出了特定通信接口,然 而,本公开预期了任何合适的通信接口。
[0075] 在【具体实施方式】中,总线912包括将计算机系统900的部件彼此耦接的硬件、软 件或它们两者。例如但并不通过限制方式,总线912可包括加速图形端口(AGP)或其他 图形总线、增强行业标准架构(EISA)总线、前端总线(FSB)、超传输(HYPERTRANSPORT, HT)互联、行业标准架构(ISA)总线、无限宽带互联(INFINIBAND interconnect)、低脚位 (low-pin-count,LPC)总线、内存总线、微通道结构(MAC)总线、外围设备互联(PCI)总线、 PCI-Express (PCI-X)总线、串行高级技术附件(SATA)总线、视频电子标准协会局部(VLB) 总线、或另一合适总线、或这些中的两种或多种的组合。适当地,总线912可包括一条或多 条总线912。尽管本公开描述并且示出了特定总线,然而,本公开预期了任何合适的总线或 互联。
[0076] 图10示出了示例性客户端设备300。在【具体实施方式】中,客户端300可包括硬件、 固件以及软件。在【具体实施方式】中,客户端设备300可以是智能手机(例如,iPhone、基于 Android的手机或蓝莓),其是提供比传统移动电话更为高级的计算能力和连接的移动电 话。其可以被视为与移动电话集成的手持式计算机。在【具体实施方式】中,客户端设备300 可以是上网本或平板计算机(例如,iPad、基于Android的平板)。客户端设备300可通过 诸如,基于GSM或CDMA2000的无线蜂窝网络的无线连接而连接到网络。
[0077] 在【具体实施方式】中,客户端设备300可包括硬件1010和软件1020。在具体实施 方式中,硬件210可包括任何数目的硬件部件,诸如,例如但并不限于,处理器1011、内存 1012、存储器1013、收发器1014、输入/输出设备1015(例如,显示器、触摸屏、键盘、麦克 风、扬声器等)、照相机1016、全球定位系统(GPS)传感器1017、传感器中心1017、通知控制 开关1019、蜂窝式收发器1041、Wi-Fi收发器1042等。在【具体实施方式】中,硬件1010可包 括无线显示(WiDi)收发器、蓝牙低能(BLE)收发器、近场通信(NFC)收发器、802. 11 Wi-Fi 和802. 16 WiMax收发器等。本公开预期了任何合适的硬件部件。在【具体实施方式】中,即使 移动设备300不执行或共享任何自确定位置信息,也可由社交网络系统执行位置确定。例 如,社交网络系统可保持所有Wi-Fi网络的物理地图并且从其IP地址确定客户端设备300 的位置。本公开预期了确定客户端设备300的位置的任何合适方式。在【具体实施方式】中, 可将用户的一些或所有用户数据存储在存储器1013中。
[0078] 在【具体实施方式】中,软件1020可包括操作系统1021,该操作系统可包括内核1031 或对应于客户端设备300上可用的一些硬件部件的任何数目的设备驱动器1032。可基于客 户端设备300的实际类型选择用于客户端设备300的操作系统1021。例如,如果客户端设 备300是移动设备(例如,智能手机),则操作系统1021可以是移动操作系统,诸如,例如 但不限于,Microsoft 的 Windows Mobile、Google 的 Android、Nokia 的 Symbian, Apple 的 iOS 以及 Samsung 的 Bada。
[0079] 在【具体实施方式】中,存在客户端设备300中驻留并且执行的连接池管理器1022, 其可被实施为计算机软件。在【具体实施方式】中,可在客户端设备300上执行一个或多个软 件应用1023。在【具体实施方式】中,它们可以是在客户端设备300中安装和驻留的本地应用。 例如,一个应用(例如,谷歌地图)能够使设备用户浏览地图、搜索地址和业务、并且获取指 导;第二应用能够使设备用户读取、发送并且接收电子邮件;第三应用(例如,网络浏览器) 能够使设备用户浏览并搜索因特网;第四应用能够使设备用户使用照相机1016拍照或记 录视频;第五应用能够使设备用户接收并且发起VoIP或蜂窝网络电话等。在具体实施方 式中,存在能够使设备用户管理推送给客户端设备300的通知的软件应用(例如,通知控制 1025)。每一个软件应用1020均可具有用户界面并且可实施一种或多种特定功能。每一个 软件应用1020可包括实施各功能的一个或多个软件模块。包括通知控制1025的软件应用 1020的可执行代码可以存储在客户端设备300中的计算机可读和非易失性介质(例如,存 储器1013或内存1012)中。
[0080] 本公开预期了实施任何合适存储器的一种或多种计算机可读存储介质。在具体实 施方式中,适当地,计算机可读存储介质实施处理器902的一个或多个部分(诸如,例如,一 个或多个内部寄存器或缓存)、内存904的一个或多个部分、存储器906的一个或多个部分、 或这些的组合。在【具体实施方式】中,计算机可读存储介质实施RAM或ROM。在具体实施方 式中,计算机可读存储介质实施易失性或永久性内存。在【具体实施方式】中,一种或多种计算 机可读存储介质将软件具体化。此处,适当地,参考软件可包括一种或多种应用、字节码、一 个或多个计算机程序、一个或多个可执行程序、一个或多个指令、逻辑、机器码、一个或多个 脚本、或源代码,反之亦然。在【具体实施方式】中,软件包括一个或多个应用编程界面(API)。 本公开预期了以任何合适编程语言或编程语言的组合编写或表达的任何合适软件。在具体 实施方式中,软件表示为源代码或目标代码。在【具体实施方式】中,软件以诸如,例如,C、Perl 或其合适扩展的高级编程语言表达。在【具体实施方式】中,软件以诸如,汇编式语言(或机器 代码)的低级编程语言表达。在【具体实施方式】中,软件以JAVA、C或C++表达。在具体实施 方式中,软件以超文本标记语言(HTML)、可扩展标记语言(XML)或其他合适的标记语言来 表达。
[0081] 本文中,适当地,参考计算机可读非易失性存储介质可包括基于半导体或其他集 成电路(1C)(诸如,例如,现场可编程门阵列(FPGA)或专用IC(ASIC))、硬盘驱动(HDD)、 混合硬盘驱动(HHD)、光盘、光盘驱动(ODD)、磁光盘、磁光盘驱动、软盘、软盘驱动(FDD)、磁 带、全息存储介质、固态驱动(SSD)、RAM驱动、源数字卡、源数字驱动、另一合适的计算机可 读非易失性存储介质、或这种中的合适组合。适当地,计算机可读非易失性存储介质可以是 易失性、非易失性、或易失性和非易失性的组合。本文中,除非另有明确指示或上下文另有 指示,否则,"或"为包括和非排他性。因此,在本文中,除非另有明确指示或上下文另有指 示,否则,"A或B"指"A、B、或A和B"。而且,除非另有明确指示或上下文另有指示,否则, "和"为两者联合或单独的。因此,在本文中,除非另有明确指示或上下文另有指示,否则,"A 和B"指"联合或单独的A和B"。
[0082] 本领域普通技术人员应当理解的是,本公开包括对示例性实施方式的所有改变、 替换、变形、更改以及修改。同样,适当地,所附权利要求包括本领域普通技术人员可以理解 的对示例性实施方式的所有改变、替换、变形、更改以及修改。而且,所附权利要求中的对适 于、为设置为、能够(capable of)、被配置为、能够(enabled to)、可操作为(operable to) 或操作为(operative to)执行特定功能的装置或系统或装置或系统的部件的参考包括装 置、系统、部件,无论特定功能是否被激活、接通或解锁,只要装置、系统或部件被如此地适 于、设置、能够、配置、能够、可操作或操作。
【权利要求】
1. 一种或多种将逻辑具体化的非临时性计算机可读存储介质,所述逻辑在由一个或多 个计算系统执行时可操作以: 经由第一无线接口保持与第一无线数据网络的第一连接; 经由第二无线接口发起与第二无线数据网络的第二连接并同时保持所述第一连接; 经由无线网络状态跟踪器确定所述第二连接是否处于强制门户状态,其中,所述确定 包括: 经由所述第二连接将连接检查传输给端点; 与所述连接检查的所述传输基本同时启动定时器; 如果在所述定时器届满之前没有接收到来自所述端点的响应,则将所述第二连接识别 为处于所述强制门户状态;并且 如果在所述定时器届满之前接收到来自所述端点的响应,则将所述第二连接识别为没 有处于所述强制门户状态。
2. 根据权利要求1所述的介质,进一步包括当被执行时能够进行以下操作的指令: 响应于肯定性确定,产生并且显示包括来自由所述第二无线数据网络托管的门户的内 容的用户界面;并且 将与所述用户界面相关联的流量绑定至所述第二接口。
3. 根据权利要求2所述的介质,进一步包括当被执行时能够进行以下操作的指令: 经由所述用户界面接收认证凭证; 将所述认证凭证提交给所述门户;并且 响应于接收来自所述门户的认证授权消息; 将用于所述第一接口的数据流量卸载到所述第二接口。
4. 根据权利要求3所述的介质,进一步包括当被执行时能够进行以下操作的指令: 经由所述无线网络状态跟踪器周期性地确定所述第二连接是否处于强制门户状态;并 且 响应于肯定性确定: 产生并且显示包括来自由所述第二无线数据网络托管的门户的内容的用户界面;并且 将与所述用户界面相关联的流量绑定至所述第二接口。
5. 根据权利要求4所述的介质,其中,所述内容包括更新访问订阅的用户提示。
6. 根据权利要求5所述的介质,进一步包括当被执行时能够进行以下操作的指令: 连续监控所述第二连接的一种或多种性能; 基于所述第二连接的所述一种或多种性能终止所述第二条件;并且 将所有流量卸载到所述第一接口。
7. 根据权利要求1所述的介质,进一步包括当被执行时能够进行以下操作的指令: 响应于否定性确定,将用于所述第一接口的数据流量卸载至所述第二接口。
8. 根据权利要求7所述的介质,进一步包括当被执行时能够进行以下操作的指令: 经由所述无线网络状态跟踪器周期性地确定所述第二连接是否处于强制门户状态;并 且 响应于肯定性确定: 产生并且显示包括来自由所述第二无线数据网络托管的门户的内容的用户界面;并且 将与所述用户界面相关联的流量绑定至所述第二接口。
9. 根据权利要求8所述的介质,其中,所述内容包括更新访问订阅的用户提示。
10. 根据权利要求9所述的介质,进一步包括当被执行时能够进行以下操作的指令: 连续监控所述第二连接的一种或多种性能; 基于所述第二连接的所述一种或多种性能终止所述第二条件;并且 将所有流量卸载到所述第一接口。
11. 根据权利要求1所述的介质,进一步包括当被执行时能够进行以下操作的指令: 连续监控所述第二连接的一种或多种性能; 基于所述第二连接的所述一种或多种性能终止所述第二条件;并且 将所有流量卸载到所述第一接口。
12. -种装置,包括: 一个或多个处理器; 第一无线接口; 第二无线接口; 一种或多种将逻辑具体化的非临时性计算机可读存储介质,所述逻辑在由所述一个或 多个处理器执行时,可操作以: 经由所述第一无线接口保持与第一无线数据网络的第一连接; 经由所述第二无线接口发起与第二无线数据网络的第二连接并同时保持所述第一连 接; 经由无线网络状态跟踪器确定所述第二连接是否处于强制门户状态,其中,所述确定 包括: 经由所述第二连接将连接检查传输给端点; 与所述连接检查的所述传输基本同时启动定时器; 如果在所述定时器届满之前没有接收到来自所述端点的响应,则将所述第二连接识别 为处于所述强制门户状态;并且 如果在所述定时器届满之前接收到来自所述端点的响应,则将所述第二连接识别为没 有处于所述强制门户状态。
13. 根据权利要求12所述的装置,所述一种或多种介质进一步包括当由所述一个或多 个处理器执行时能够进行以下操作的指令: 响应于肯定性确定,产生并且显示包括来自由所述第二无线数据网络托管的门户的内 容的用户界面;并且 将与所述用户界面相关联的流量绑定至所述第二接口。
14. 根据权利要求12所述的装置,所述一种或多种介质进一步包括当由所述一个或多 个处理器执行时能够进行以下操作的指令: 经由用户接口接收认证凭证; 将所述认证凭证提交给所述门户;并且 响应于接收来自所述门户的认证授权消息; 将用于所述第一接口的数据流量卸载到所述第二接口。
15. 根据权利要求14所述的装置,进一步包括当被执行时能够进行以下操作的指令: 经由所述无线网络状态跟踪器周期性地确定所述第二连接是否处于强制门户状态;并 且 响应于肯定性确定: 产生并且显示包括来自由所述第二无线数据网络托管的门户的内容的用户接口;并且 将与所述用户界面相关联的流量绑定至所述第二接口。
16. 根据权利要求15所述的装置,其中,所述内容包括更新访问订阅的用户提示。
17. 根据权利要求16所述的装置,所述一种或多种介质进一步包括当由所述一个或多 个处理器执行时能够进行以下操作的指令: 连续监控所述第二连接的一种或多种性能; 基于所述第二连接的所述一种或多种性能终止所述第二条件;并且 将所有流量卸载到所述第一接口。
18. 根据权利要求12所述的装置,所述一种或多种介质进一步包括当由所述一个或多 个处理器执行时能够进行以下操作的指令: 响应于否定性确定,将用于所述第一接口的数据流量卸载至所述第二接口。
19. 根据权利要求18所述的装置,所述介质进一步包括当由所述一个或多个处理器执 行时能够进行以下操作的指令: 经由所述无线网络状态跟踪器周期性地确定所述第二连接是否处于强制门户状态;并 且 响应于肯定性确定: 产生并且显示包括来自由所述第二无线数据网络托管的门户的内容的用户接口;并且 将与所述用户界面相关联的流量绑定至所述第二接口。
20. -种方法,所述方法包括通过一种或多种计算系统: 经由第一无线接口保持与第一无线数据网络的第一连接; 经由第二无线接口发起与第二无线数据网络的第二连接并同时保持所述第一连接; 经由无线网络状态跟踪器确定所述第二连接是否处于强制门户状态,其中,所述确定 包括: 经由所述第二连接将连接检查传输给端点; 与所述连接检查的所述传输基本同时启动定时器; 如果在所述定时器届满之前没有接收到来自所述端点的响应,则将所述第二连接识别 为处于所述强制门户状态;并且 如果在所述定时器届满之前接收到来自所述端点的响应,则将所述第二连接识别为没 有处于所述强制门户状态。
【文档编号】H04W36/14GK104094640SQ201280069163
【公开日】2014年10月8日 申请日期:2012年12月17日 优先权日:2011年12月19日
【发明者】阿德里安·波特拉, 莫希特·塔瓦尔 申请人:脸谱公司

最新回复(0)