掌桥专利:专业的专利平台
掌桥专利
首页

用于多网络连接性的智能手机切换

文献发布时间:2023-06-19 16:08:01



技术领域

本公开涉及切换用户设备的多网络连接性。

背景技术

移动设备(例如,智能电话)和其他用户设备通常提供许多不同的无线连接技术(例如,蜂窝、Wi-Fi、蓝牙等)。为了降低移动数据的成本,移动网络运营商(MNO)和移动虚拟网络运营商(MNVO)经常介导(mediate)额外的低成本网络(例如Wi-Fi网络)并从蜂窝连接(例如4G、5G等)卸载客户移动数据并在可能的情况下加载至低成本网络。现代移动操作系统没有明确区分这些运营者介导的网络连接和用户介导的网络连接,而是在逐个无线电的基础上提供对于至移动设备的连接的控制。

发明内容

本公开的一个方面提供了一种切换多网络连接性的方法。在一些实现中,该方法包括:对于连接到与第一网络运营商相关联的一个或多个运营者介导的无线网络的移动设备,每个网络同时连接到移动设备,通过移动设备的数据处理硬件执行用于在与数据处理硬件通信的屏幕上显示的图形用户界面。图形用户界面呈现状态图形,状态图形指示移动设备当前连接到与第一网络运营商相关联的一个或多个运营者介导的无线网络中的至少一个运营者介导的无线网络。该方法还包括交互式图形,该交互式图形被配置为接收用户输入指示,用于在禁用在移动设备和与第一网络运营商相关联的任何可用运营者介导的无线网络之间的连接和启用在移动设备和与第一网络运营商相关联的任何可用运营者介导的无线网络之间的连接之间进行选择。该方法还包括:在数据处理硬件处接收第一用户输入指示,该第一用户输入指示用于指示选择在图形用户界面中呈现的交互式图形以禁用在移动设备和与第一网络运营商相关联的任何可用运营者介导的无线网络之间的连接。响应于接收到第一用户输入指示,该方法包括通过数据处理硬件将移动设备从与第一网络运营商相关联的一个或多个运营者介导的无线网络中的每一个断开连接。该方法也包括:通过数据处理硬件更新状态图形以指示移动设备当前没有连接到与第一网络运营商相关联的任何运营者介导的无线网络。当响应于接收到第一用户输入指示而禁用在移动设备和与第一网络运营商相关联的任何可用运营者介导的无线网络之间的连接时,启用在移动设备和与除第一网络运营商之外的网络运营商相关联的任何可用无线网络之间的连接。

本公开的实现可以包括以下可选特征中的一个或多个。在一些实现中,当移动设备同时连接到与第一网络运营商相关联的至少两个运营者介导的无线网络时,该方法包括:通过数据处理硬件将至少两个运营者介导的无线网络中的一个识别为与第一网络运营商相关联的优先的运营者介导的无线网络。在图形用户界面中呈现的状态图形可以指示移动设备当前连接到优先的运营者介导的无线网络。

在一些示例中,当移动设备同时连接到与第一网络运营商相关联的至少两个运营者介导的无线网络时,对于移动设备同时连接到的至少两个运营者介导的无线网络中的每个运营者介导的无线网络,由数据处理硬件确定在移动设备和对应的运营者介导的无线网络之间的连接的连接质量。该方法还可以包括:通过数据处理硬件识别移动设备同时连接到的至少两个运营者介导的无线网络中的哪个运营者介导的无线网络关联于最高连接质量。在图形用户界面中呈现的状态图形指示在移动设备与识别的与最高连接质量相关联的运营者介导的无线网络之间的连接。可选地,在图形用户界面中呈现的状态图形进一步指示在移动设备和识别的与最高连接质量相关联的运营者介导的无线网络之间的连接的连接质量的值。

该方法:在接收第一用户输入指示之前并且在移动设备同时连接到至少第一运营者介导的无线网络和第二运营者介导的无线网络的情况下,第一运营者介导的无线网络可以包括与第一网络运营商相关联的运营者介导的蜂窝网络,且第二运营者介导的无线网络可以包括与第一网络运营商相关联的运营者介导的无线保真(Wi-Fi)网络。在一些示例中,响应于接收到第一用户输入指示,该方法包括:通过数据处理硬件将移动设备连接到与不同于第一网络运营商的第二网络运营商相关联的一个或多个无线网络。在这些示例中,当与第二网络运营商相关联的一个或多个无线网络包括用户介导的无线网络时,响应于接收到第一用户输入指示而更新状态图形以指示移动设备当前未连接到与第一网络相关联的任何运营者介导的无线网络运营商还可以包括:更新状态图形以指示移动设备当前连接到与第二网络运营商相关联的一个或多个用户介导的无线网络。

在一些实现中,将移动设备从与第一网络运营商相关联的一个或多个运营者介导的无线网络中的每一个断开连接包括:将移动设备与在与第一网络运营商相关联的一个或多个运营者介导的无线网络中的至少一个无线保真(Wi-Fi)网络断开连接。将移动设备连接到与第二网络运营商相关联的一个或多个无线网络可以包括:将移动设备连接到在与第二网络运营商相关联的一个或多个无线网络中的至少一个Wi-Fi网络。与第二网络运营商相关联的一个或多个无线网络包括运营者介导的无线网络或用户介导的无线网络。响应于接收到第一用户输入指示,该方法可以包括:由数据处理硬件维持在移动设备和与除了第一网络运营商之外的网络运营商相关联的无线网络之间的任何现有连接。

在一些实现中,在接收到第一用户输入指示之后,该方法包括:在数据处理硬件处接收第二用户输入指示,该第二用户输入指示用于指示选择在图形用户界面中呈现的交互式图形以启用在移动设备和与第一网络运营商相关联的任何可用运营者介导的无线网络之间的连接。响应于接收到第二用户输入指示,该方法可以包括:通过数据处理硬件将移动设备连接到与第一网络运营商相关联的一个或多个可用运营者介导的无线网络,并通过数据处理硬件重新更新状态图形以指示移动设备当前连接到与第一网络运营商相关联的至少一个运营者介导的无线网络。

在一些示例中,执行用于在屏幕上显示的图形用户界面还使得图形用户界面呈现第二状态图形,第二状态图形指示移动设备当前连接到与第一网络运营商不相关联的至少一个无线网络。在一些实现中,该方法包括由数据处理硬件显示第二图形指示,该第二图形指示用于指示和与不同的运营商相关联的至少一个无线连接的连接质量。在一些示例中,该方法包括:当响应于接收到第一用户输入指示而禁用在移动设备和与第一网络运营商相关联的任何可用运营者介导的无线网络之间的连接时,与第一网络运营商相关联的运营者介导的无线网络中的至少一个所关联的移动设备的无线电保持启用。

本公开的另一方面提供了一种用于切换多网络连接性的系统。该系统包括数据处理硬件和与数据处理硬件通信的存储器硬件。存储器硬件存储当在数据处理硬件上执行时使数据处理硬件执行操作的指令。该操作包括:对于连接到与第一网络运营商相关联的一个或多个运营者介导的无线网络的移动设备,每个网络同时连接到移动设备,执行用于在与数据处理硬件通信的屏幕上显示的图形用户界面。图形用户界面呈现状态图形,状态图形指示移动设备当前连接到与第一网络运营商相关联的一个或多个运营者介导的无线网络中的至少一个运营者介导的无线网络。该操作也包括:交互式图形,该交互式图形被配置为接收用户输入指示,用于在禁用在移动设备和与第一网络运营商相关联的任何可用运营者介导的无线网络之间的连接和启用在移动设备和与第一网络运营商相关联的任何可用运营者介导的无线网络之间的连接之间进行选择。该操作也包括:接收第一用户输入指示,该第一用户输入指示用于指示选择在图形用户界面中呈现的交互式图形以禁用在移动设备和与第一网络运营商相关联的任何可用运营者介导的无线网络之间的连接。响应于接收到第一用户输入指示,该操作包括:将移动设备从与第一网络运营商相关联的一个或多个运营者介导的无线网络中的每一个断开连接。该操作还包括:更新状态图形以指示移动设备当前没有连接到与第一网络运营商相关联的任何运营者介导的无线网络。当响应于接收到第一用户输入指示而禁用在移动设备和与第一网络运营商相关联的任何可用运营者介导的无线网络之间的连接时,启用在移动设备和与除第一网络运营商之外的网络运营商相关联的任何可用无线网络之间的连接。

该方面可以包括以下可选特征中的一个或多个。在一些实现中,当移动设备同时连接到与第一网络运营商相关联的至少两个运营者介导的无线网络时,该操作包括:将至少两个运营者介导的无线网络中的一个识别为与第一网络运营商相关联的优先的运营者介导的无线网络。在图形用户界面中呈现的状态图形可以指示移动设备当前连接到优先的运营者介导的无线网络。

在一些示例中,当移动设备同时连接到与第一网络运营商相关联的至少两个运营者介导的无线网络时,对于移动设备同时连接到的至少两个运营者介导的无线网络中的每个运营者介导的无线网络,确定在移动设备与对应的运营者介导的无线网络之间的连接的连接质量。该操作还可以包括:识别移动设备同时连接到的至少两个运营者介导的无线网络中的哪个运营者介导的无线网络关联于最高连接质量。在图形用户界面中呈现的状态图形指示在移动设备与识别的与最高连接质量相关联的运营者介导的无线网络之间的连接。可选地,在图形用户界面中呈现的状态图形进一步指示在移动设备和识别的与最高连接质量相关联的运营者介导的无线网络之间的连接的连接质量的值。

该操作:在接收第一用户输入指示之前并且在移动设备同时连接到至少第一运营者介导的无线网络和第二运营者介导的无线网络的情况下,第一运营者介导的无线网络可以包括与第一网络运营商相关联的运营者介导的蜂窝网络,且第二运营者介导的无线网络可以包括与第一网络运营商相关联的运营者介导的无线保真(Wi-Fi)网络。在一些示例中,响应于接收到第一用户输入指示,该操作包括:将移动设备连接到与不同于第一网络运营商的第二网络运营商相关联的一个或多个无线网络。在这些示例中,当与第二网络运营商相关联的一个或多个无线网络包括用户介导的无线网络时,响应于接收到第一用户输入指示而更新状态图形以指示移动设备当前未连接到与第一网络相关联的任何运营者介导的无线网络运营商还可以包括:更新状态图形以指示移动设备当前连接到与第二网络运营商相关联的一个或多个用户介导的无线网络。

在一些实现中,将移动设备从与第一网络运营商相关联的一个或多个运营者介导的无线网络中的每一个断开连接包括:将移动设备与在与第一网络运营商相关联的一个或多个运营者介导的无线网络中的至少一个无线保真(Wi-Fi)网络断开连接。将移动设备连接到与第二网络运营商相关联的一个或多个无线网络可以包括:将移动设备连接到在与第二网络运营商相关联的一个或多个无线网络中的至少一个Wi-Fi网络。与第二网络运营商相关联的一个或多个无线网络包括运营者介导的无线网络或用户介导的无线网络。响应于接收到第一用户输入指示,该操作可以包括:维持在移动设备和与除了第一网络运营商之外的网络运营商相关联的无线网络之间的任何现有连接。

在一些实现中,在接收到第一用户输入指示之后,该操作包括:接收第二用户输入指示,该第二用户输入指示用于指示选择在图形用户界面中呈现的交互式图形以启用在移动设备和与第一网络运营商相关联的任何可用运营者介导的无线网络之间的连接。响应于接收到第二用户输入指示,该操作可以包括将移动设备连接到与第一网络运营商相关联的一个或多个可用运营者介导的无线网络,并重新更新状态图形以指示移动设备当前连接到与第一网络运营商相关联的至少一个运营者介导的无线网络。

在一些示例中,执行用于在屏幕上显示的图形用户界面还使得图形用户界面呈现第二状态图形,第二状态图形指示移动设备当前连接到与第一网络运营商不相关联的至少一个无线网络。在一些实现中,该操作包括:显示第二图形指示,该第二图形指示用于指示和与不同的运营商相关联的至少一个无线连接的连接质量。在一些示例中,当响应于接收到第一用户输入指示而禁用在移动设备和与第一网络运营商相关联的任何可用运营者介导的无线网络之间的连接时,与第一网络运营商相关联的运营者介导的无线网络中的至少一个所关联的移动设备的无线电保持启用。

在附图和以下描述中阐述了本公开的一个或多个实现的细节。从描述和附图以及从权利要求中,其他方面、特征和优点将是显而易见的。

附图说明

图1是用于划分用户介导和运营者介导的连接并在不同连接之间提供多网络的示例系统的示意图。

图2A-2C是连接聚合器的示例性组件的示意图。

图2D是在移动设备上执行的图形用户界面上呈现的交互式图形的示意图。

图3是多网络连接器的示意图。

图4A和图4B是在移动设备上执行的图形用户界面上呈现的交互式图形的示意图。

图5是用于切换多网络连接性的方法的示例操作布置的流程图。

图6是可用于实现本文描述的系统和方法的示例计算设备的示意图。

各种附图中的相同参考符号表示相同的元件。

具体实施方式

诸如移动网络运营商(MNO)和移动虚拟网络运营商(MVNO)之类的运营者正越来越多地通过多种异构网络类型(例如,蜂窝网络和Wi-Fi网络)提供连接。当前的移动操作系统(OS)没有明确区分用户介导的连接(例如家庭无线保真(Wi-Fi)网络)和运营者介导的连接(例如具有由运营者提供的凭证的Wi-Fi接入点,或由运营者控制的蜂窝连接(例如,LTE))。用户介导的网络和运营者介导的网络可能具有非常不同的属性,因此将这两类网络视为相同经常会导致欠佳的用户体验。例如,运营者可能期望通过虚拟专用网络(VPN)对用户业务进行隧道传输来提供会话移动性以改善用户体验,但如果没有明确划分运营者介导网络和用户介导网络,则无法做到这一点。在这种情况下,运营者可能无法在VPN中包含用户介导的网络(例如,出于隐私考虑)。

此外,移动设备通常具有用于允许用户管理在移动设备上的无线电的用户控件。例如,用户可以启用/禁用Wi-Fi无线电或启用/禁用移动(即蜂窝)数据无线电。移动设备还以逐个无线电为基础,而不是在运营者或运营商基础上,提供状态指示符。移动设备的用户可能期望暂时禁用来自其运营者的连接,这可能包括多个不同的无线连接(例如,Wi-Fi和蜂窝)的元素,但移动设备缺乏任何方便的方式来做到这一点。充其量,用户必须在逐个无线电的基础上禁用连接,这会禁用来自该无线电的所有连接。这可能会产生意想不到的后果。例如,禁用Wi-Fi无线电以阻止移动设备连接到运营者提供的Wi-Fi网络也将阻止连接到不受那个运营者管理的其他Wi-Fi连接(例如,连接到用户的家庭网络)。此外,移动设备提供无线电连接(而不是运营者连接)的视觉指示器(例如,Wi-Fi或蜂窝连接强度)。例如,无法辨别Wi-Fi强度图形状态指示器是否与用户介导的Wi-Fi网络或运营者介导的Wi-Fi网络相关联。

本文的实现针对连接聚合器200和多网络控制器300,它们都在用户设备110上执行,用于区分用户介导的网络与运营者介导的网络,并提供方便的用户输入和视觉指示以控制和报告多网络连接。如本文所使用的,用户设备110可以互换地称为用户装置(UE)或移动设备。参考图1,在一些实现中,示例无线通信环境100包括通过多个无线网络120、120a-n与外部网络40通信的移动设备110。例如,用户设备110可以通过蜂窝网络120a和Wi-Fi网络120b与外部网络40通信。这些无线网络120仅仅是说明性的,并且用户设备110可以使用其他类型的无线网络(例如,公民宽带无线电服务(CBRS)、蓝牙等)与外部网络40通信。蜂窝网络120a可以包括通用分组无线电服务(GPRS)网络、通用移动电信系统(UMTS)网络、高速分组接入(HSPA)网络、增强型HSPA(H+)网络、增强型数据速率全球移动通信系统(GSM)(EDGE)网络或长期演进(LTE)无线电接入网络(RAN)(例如,4G/5G LTE)(其支持从外部网络40经由例如诸如宏小区演进节点B(MeNB)的基站到用户设备110的数据分组50的无线电通信和/或其他服务)。Wi-Fi网络120b可以包括也支持数据分组50的无线电通信的任何版本的Wi-Fi(例如,802.11n、802.11ac等)。在一些示例中,用户设备110同时连接到相同类型的多个无线网络120。例如,用户设备110可以包括用于同时连接到由不同运营者70运营的两个单独蜂窝网络120a的能力。

蜂窝网络120a与通过蜂窝网络120a向订阅用户设备110提供无线通信的服务的移动网络运营商(MNO)或移动虚拟网络运营商(MNVO)相关联。MNO或MVNO也可以称为无线服务提供商、无线运营者、蜂窝公司、移动网络运营商或移动网络运营者。术语“运营者”(“carrier”)可以在本文中用于指代MNO或MVNO。术语“网络运营商”在本文中可用于指代运营或介导无线网络120的实体,其可包括运营/介导运营者介导的无线网络120的运营者(例如,MNO或MVNO)或运营/介导用户介导的无线网络120的用户10。

如本文所用,运营者介导的无线网络120包括由单个特定运营者70(例如,MNO或MVNO)管理或介导或控制的任何无线网络120,其中,用户设备110订阅由运营者提供的服务。也就是说,用户10不控制或管理无线网络120。运营者介导的网络120是运营者已经为其提供凭证的网络,诸如其中,或者运营者提供的SIM配置文件或者可以通过运营者提供的SIM配置文件认证的运营者提供的应用,已提供凭证。例如,在UICC上提供的SIM配置文件允许用户设备110连接蜂窝网络120并对其进行认证。或者,运营者应用由操作系统111认证以访问SIM配置文件。可以使用运营者的私钥对于运营者应用进行加密签名,并通过SIM配置文件中包含的应用签名对于运营者应用进行认证。运营者应用被操作系统111授权提供用于访问例如Wi-Fi接入点的凭证。在一些示例中,经过认证的运营者应用可以提供WPA密码或Hotspot2.0证书;或者,对于其中不需要凭证来连接到接入点的开放网络,运营者使得用户设备110在不需要用户干预的情况下连接到接入点,或者使得向用户提出连接到网络的建议,用户可以接受或拒绝该建议。在与开放网络120的运营者介导的连接的情况下,可能需要额外的步骤来旁路“强制门户(captive portal)”以获得互联网访问,例如接受条款和条件,或提供密码或其他登录信息。对于使用强制门户到开放网络120的运营者介导的连接,运营者可以代表用户接受条款或以自动方式提供电子邮件地址、密码或其他登录信息。自动方式可能意味着通过诸如WISPr之类的协议或通过网络形式的自动提交来提供登录信息。单个用户设备110可以同时支持多个运营者介导的无线网络120。

用户介导的无线网络120包括与用户设备110未明确订阅的网络运营商70相关联的任何无线网络120,使得用户介导的无线网络120最终由用户10管理或介导或控制。用户介导的网络是用户为其提供了其自己的凭证(如有必要)以连接到例如接入点的网络,凭证例如是WPA密码或用户安装的证书,例如Hotspot2.0证书;或者,对于不需要连接到接入点的凭证的开放网络,用户已经采取了肯定的行动来连接到网络,例如从列表中选择网络,或者接受操作系统提出的建议。任何选择只能在设备第一次暴露于网络时发生。在用户介导的开放网络上,可能需要额外的手动步骤来旁路“强制门户”以获得互联网访问,例如接受条款和条件,或提供电子邮件地址、密码或其他登录信息。

单个设备(例如接入点)可以提供对用户介导的网络和运营者介导的网络的访问。拥有、租用或控制AP的用户可以使其他人能够使用接入点访问互联网,例如,用户创建用户提供给其他人的WEP密码。以这种方式访问的接入点提供对用户介导的网络的访问。有线服务提供商或DSL服务提供商可以从同一接入点运营运营者介导的网络服务。具有运营者应用提供的HS2.0证书的设备将自动连接到同一接入点。无需用户干预或密码。

在用户具有由对应于互联网服务提供商(ISP)的网络运营商70提供的互联网服务的合同,且因此可以选择多个不同的启用无线的用户设备110中的任何一个在任何给定时间连接到互联网服务的示例中,由所选用户设备110访问以使用互联网服务的无线网络120(例如,Wi-Fi网络120b)对应于用户介导的无线网络120。这里,用户10可以控制连接到互联网服务的调制解调器,以及控制与调制解调器通信的无线接入点(AP)(例如,无线路由器)以提供所选用户设备110可以与其建立无线连接以使用互联网服务的局域网(LAN)。在其他示例中,用户介导的无线网络120可以简单地包括用户设备110和靠近用户设备110的另一个设备之间的蓝牙连接(或其他无线连接)。另一方面,当与用户10关联的特定用户设备110订阅由特定运营者70(例如,MNO或MVNO)提供的无线通信的服务时,订阅用户设备110访问以接收无线通信的服务的无线网络120(例如,蜂窝和/或Wi-Fi网络120a、120b)对应于运营者介导的无线网络120。在一些实现中,安装在用户设备110上的订户身份模块(SIM)包括由特定运营者70定义的配置文件以启用和认证用户设备110连接到与特定运营者70相关联的运营者介导的无线网络120。然而,如果用户10想要将其他用户设备110连接到与特定运营者70相关联的这些运营者介导的无线网络120,则这些其他用户设备110中的每一个都必须单独订阅由特定运营者70提供的无线通信的服务。在这些实现中,用户设备110可以自由地连接到与特定运营者70以外的一个或多个网络运营商70相关联的用户介导的无线网络120。虽然在所示的示例中用户设备110被描述为移动设备110,但用户设备110可以包括能够连接到无线网络120的任何设备,例如但不限于平板电脑、笔记本电脑、台式机、智能手表、智能扬声器、智能显示器、智能电器等。

用户设备110包括计算资源112(例如,数据处理硬件)和/或存储资源114(例如,存储器硬件)。数据处理硬件112执行图形用户界面(GUI)115以显示在与数据处理硬件112、连接聚合器200和多网络控制器300通信的屏幕119上。数据处理硬件112进一步执行操作系统111和一个或多个应用116。在一些实现中,操作系统111执行连接聚合器200和多网络控制器300的功能。

用户设备110可以使用各种不同的操作系统111。在用户设备110是移动设备的示例中,用户设备110可以运行操作系统,包括但不限于由谷歌开发的

用户设备110还包括至少一个调制解调器165(也称为基带或基带处理器)。调制解调器165包括使得用户设备能够与运营商网络120无线通信的一个或多个天线。调制解调器165可以与一个或多个同时在多种频率(例如,700MHz、900MHz、2.4GHz、5.0GHz等)上工作的无线电通信。调制解调器165可以包括各种组件以提供发送和接收功能(处理器、存储器等)。在一些实现中,数据处理硬件112包括调制解调器165。即,在一些示例中,由数据处理硬件112执行的任务可以改为由调制解调器165执行,反之亦然。

用户设备110还包括一个或多个对应的订户识别模块(SIM)350,用于识别用户设备110并将其与某些类型的运营者介导的无线网络120连接。例如,SIM 350可以包括对应的SIM配置文件,其具有用于授权用户设备110与蜂窝网络120a连接以通过外部网络40访问目的地服务器60的凭证。类似地,SIM 350可以包括一个或多个附加SIM配置文件,其具有对应凭证,用于授权用户设备110与由网络运营商70而不是管理蜂窝网络120a的网络运营商管理的其他运营者介导的无线网络120。在一些示例中,一个或多个SIM 350包括一个或多个嵌入式SIM(eSIM)和一个或多个物理SIM的任何组合。

连接聚合器200在用户设备110和远程服务器130之间建立虚拟专用网络30(VPN)。VPN 30提供对应的VPN连接122、122a-n,用于将用户设备110连接到由同一网络运营商70(即,运营者)运营或管理的每个公共运营者介导的无线网络120。在一些实现中,VPN 30提供用于连接到由多个不同网络运营商70管理的无线网络的连接122。在所示的示例中,连接聚合器200通过使用蜂窝VPN连接122a且通过使用Wi-Fi VPN连接122b在用户设备110和远程服务器130之间建立VPN 30,蜂窝VPN连接122a通过蜂窝网络120a(例如,第一无线网络)将用户设备110连接到远程服务器130,Wi-Fi VPN连接122b通过Wi-Fi网络120b(例如,第二无线网络)将用户设备110连接到远程服务器130。

远程服务器130执行VPN后端服务132,该VPN后端服务132从连接聚合器200经由连接的无线网络120之一路由的用户设备110接收数据分组50,并经由外部网络40将数据分组50转发到目的地服务器60。外部网络40可以包括分组数据网络(PDN),其可以是互联网。外部网络40可以独立于与用户设备110或运营无线网络120的运营者70相关的任何网络。目的地服务器60可以是在用户设备110上执行的应用116向其发送或从其接收数据分组50的任何远程服务器。例如,目的地服务器60可以是托管网络内容的网络服务器。

软件应用(即,软件资源)可以指使计算设备执行任务的计算机软件。在一些示例中,软件应用可以被称为“应用”、“app”或“程序”。示例应用包括但不限于系统诊断应用、系统管理应用、系统维护应用、文字处理应用、电子表格应用、消息传递应用、媒体流应用、社交网络应用和游戏应用。

发送到用户设备110(例如,从目的地服务器60)的下游数据分组50被引导到远程VPN服务器130,该远程VPN服务器130继而通过VPN连接122之一将数据分组50转发到连接聚合器200。连接聚合器200接收数据分组50并将分组发送到在用户设备110上执行的适当应用116。

在一些实现中,远程VPN服务器130在针对目的地服务器60发送和接收数据分组50时保持相同的互联网协议(IP)地址,尽管经由多个不同的无线连接122通过多个不同的无线网络120针对用户设备110接收和发送数据分组50。因此,从目的地服务器60的角度来看,无论使用哪个无线连接122在用户设备110和目的地服务器60之间路由数据分组50,用户设备110的表观IP地址(apparent IP address)(即,远程服务器130的IP地址)都不会改变。此外,由于在用户设备110上执行的应用116对于用于将数据分组50发送到目的地服务器60或从目的地服务器60接收数据分组50的特定无线连接122是不可知的,所以从目的服务器60和在用户设备110上执行的应用116的视角看,连接聚合器200和远程VPN服务器130可以将多个无线连接122抽象为单个连接。

在一些实现中,连接聚合器200和远程VPN服务器130在跨多个不同无线网络120发送和接收数据分组50的同时提供会话连续性。会话连续性是指用户10在不同无线网络120之间切换时的不间断连接。为了保持会话连续性,远程VPN服务器130可以在认证用户设备110(即,连接聚合器200)之后,向连接聚合器200发送会话令牌210。会话令牌210唯一地标识用户设备110。当连接聚合器200通过无线网络120向远程VPN服务器130发送数据分组50时,连接聚合器200还可以发送标识用户设备110的会话令牌210。会话令牌210当被远程VPN服务器130接收时,可以允许远程VPN服务器130识别用户设备110,而与连接聚合器200使用哪个无线连接122用于连接用户设备110和远程VPN服务器130无关。例如,当用户设备110同时连接到蜂窝网络120a和Wi-Fi网络120b时,用户设备110可以具有与蜂窝网络连接122a相关联的第一IP地址和与Wi-Fi连接122b相关联的不同于第一IP地址的第二IP地址。在该示例中,当用户设备110发送上游数据分组50时,连接聚合器200可以通过Wi-Fi网络120b将数据分组50经由Wi-Fi连接122b路由到远程VPN服务器130,且呈现会话令牌210。然后用户设备110可以移出Wi-Fi网络120b的范围,并且连接聚合器200然后可以通过蜂窝网络120a将随后的上游数据分组50经由蜂窝连接122a路由到远程VPN服务器130并且再次呈现相同的会话令牌210。因此,远程VPN服务器130可以唯一地识别用户设备110,尽管IP地址从与Wi-Fi连接122b相关联的IP地址改变到与蜂窝连接122a相关联的后续IP地址。

在一些示例中,远程VPN服务器130可以基于接收到的会话令牌210更新其对将数据分组50发送到何处的理解。在一些实现中,远程VPN服务器130使用在最后会话令牌210被呈现给远程VPN服务器130时由连接聚合器200使用的相同的无线网络120和对应的无线连接122,将下游数据分组50发送到用户设备110。在传输失败的情况下,远程VPN服务器130可以退回到之前的无线连接122以尝试重新建立与用户设备110的通信。

继续参考图1,数据处理硬件112还执行多网络控制器300。多网络控制器300在用户设备110的屏幕119上显示的GUI 115中呈现状态图形320。状态图形320指示用户设备110当前连接到至少一个运营者介导的无线网络120。这里,状态图形320向用户设备110的用户10指示用户设备110连接到蜂窝网络120a和/或Wi-Fi网络120b。在一些示例中,多网络控制器300呈现第二状态图形320(未示出)以指示与运营商70的运营者介导的无线网络或用户介导的无线网络的连接,该运营商70不同于与第一状态图形320相关联的运营商70。多网络控制器300可以呈现任何数量的状态图形320以反映到移动设备110的无线连接122的任何数量的运营商70。

在一些实现中,多网络控制器300呈现交互式图形330,该交互式图形330被配置为接收用户输入指示312,用于禁用向用户设备110和与同一运营者或网络运营商70相关联的任何可用运营者介导的无线网络120之间的无线连接122。交互式图形330可以采取多种形式,例如按钮、开关、滑块或切换。其他形式的用户输入也可以提供用户输入指示312。例如,用户10可以可选地通过说出可以由用户设备110的麦克风记录的语音命令来提供用户输入指示312。在所示的示例中,交互式图形330包括在GUI 115上呈现的标记为“运营者切换”(“Carrier Toggle”)的图形按钮330,该按钮当被用户10选择时,提供用户输入指示312,该用户输入指示312指示用户10期望将用户设备110从与对应的运营者/网络运营商70相关联的所有无线连接122断开连接。当用户设备110提供至与多个不同的运营者70相关联的多个运营者介导的无线网络120的无线连接122时,多网络控制器300可以在GUI 115上呈现每个运营者70的相应的交互式图形的330,允许用户10在逐个运营者基础上控制运营者介导的无线网络120。或者,多网络控制器300可以呈现交互式图形330,用于断开所有运营者介导的网络120,而不管介导每个网络120的特定运营者70如何。

响应于接收到指示选择交互式图形330的用户输入指示312,多网络控制器300可以将用户设备110从与运营者/网络运营商70相关联的一个或多个运营者介导的无线网络120中的每一个断开连接,且更新状态图形320以指示移动设备110当前没有连接到与对应运营者/网络运营商70相关联的任何运营者介导的无线网络120。可选地,响应于接收到指示选择交互式图形330的用户输入指示312,多网络控制器300可以连接到与另一网络运营商70相关联的一个或多个网络120。例如,在与运营者介导的Wi-Fi网络120b断开连接后,如果用户介导的Wi-Fi网络120b在范围内且可用,则多网络控制器300可以自动(或提示用户10)连接到用户介导的Wi-Fi网络120b。在一些实现中,当响应于接收到用户输入指示312而从运营者介导的无线网络断开连接时,多网络控制器300可以维持在用户设备110和由其他运营商70(即,与用户介导的网络相关的其他运营者或网络运营商)介导的无线网络120之间的任何现有无线网络连接122。

在一些实现中,交互式图形330还被配置为接收用户输入指示312,用于启用在用户设备110和与相应运营者70相关联的任何可用运营者介导的无线网络120之间的连接。例如,在接收到指示选择交互式图形330以断开连接到用户设备110并由相关联的运营者70操作的所有运营者介导的无线网络120的连接的第一用户输入指示312之后,指示选择交互式图形330的随后的第二用户输入指示312可以使用户设备110通过对应的无线连接122启用或重新连接到运营者介导的无线网络120。虽然在所示的示例中,相同的交互式图形330用于在启用和禁用运营者介导的无线网络120之间切换,但是应理解可以使用单独的交互式图形来代替例如用于启用的第一交互式图形和用于禁用的第二交互式图形。另外,交互式图形330可以更新(例如,文本信息)以反映与交互式图形330的交互是否将启用或禁用运营者介导的网络120。

当多网络控制器300接收到指示选择交互式图形330以禁用与特定网络运营商70相关联的运营者介导的无线网络120的用户输入指示312时,多网络控制器300通过将用户设备10与关联于特定网络运营商70的每个运营者介导的无线网络120断开连接来响应。多网络控制器300还可以更新状态图形320以指示用户设备110当前没有连接到与网络运营商70相关联的任何运营者介导的无线网络120。在一些实现中,单个状态图形320指示用户设备110到任意数量的运营者介导的无线网络120的连接,并且在其他实现中,多网络控制器300在GUI115中呈现多个状态图形的320,每个状态图形的320代表提供一个或多个运营者介导的无线网络120的相应运营者/网络运营商70,用户设备110连接到该一个或多个运营者介导的无线网络120并且能够与其断开连接。在一些实现中,单个状态图形320指示用户设备110连接到由单个运营者网络70提供的所有服务。在这些实现中,当状态图形320指示用户设备110没有连接到由特定网络70提供的服务时,用户设备110仍可以连接到由单独的运营者或其他用户介导的无线网络120提供的其他运营者介导的无线网络120。可以在用户设备110上提供多个单独的图形,在这些情况下一个单独的图形用于每个运营者介导的无线网络120和/或每个用户介导的无线网络。

在一些示例中,多网络控制器300向连接聚合器200提供指示340,该指示340指示运营者介导的无线网络120何时已被用户10启用或禁用。连接聚合器200可以使用指示运营者介导的无线网络120何时已经被禁用的指示340来终止适当的无线连接122,和/或否则与VPN 30断开连接。在一些实现中,用户设备110保持与VPN 30的现有连接,但连接聚合器200将停止通过VPN 30传输数据分组50,并停止将从远程VPN服务器130接收的数据分组50转发到在用户设备110上执行的应用116。

现在参考图2A-2D,在一些实现中,连接聚合器200包括VPN客户端230。VPN客户端230通过公共无线网络120建立点对点连接122(例如,使用隧道协议)以在同一专用网络(例如,VPN 30)内包括用户设备110和远程服务器130。VPN客户端230可以实现许多安全和隐私特征来保护数据分组50。例如,VPN客户端230可以实现认证和/或加密。在一些示例中,VPN客户端230使用密码、生物特征、数字证书和双因素认证中的任何或全部来向VPN后端服务132认证。

在一些示例中,VPN客户端230接收VPN参数240。VPN参数240可以包括网络选择准则240a和网络连接质量数据240b。当同时启用多个无线连接122时,VPN客户端230可以使用VPN参数240来确定通过哪个连接的无线网络连接122来传输数据分组50。在一些实现中,选择准则240a识别在无线连接122中的优先级。例如,选择准则240a可以指示Wi-Fi网络连接122b具有比蜂窝网络连接122a更高的优先级,并且当同时启用两个连接122时,VPN客户端230将通过蜂窝网络连接122a使用Wi-Fi网络连接122b。换言之,当用户设备110同时连接到与同一网络运营商70相关联的至少两个运营者介导的无线网络时,选择准则240a可以将至少两个运营者介导的网络120之一识别为与网络运营商70相关联的优先运营者介导的无线网络120。可选地,多网络控制器300可以使用状态图形320来指示移动设备110当前连接到优先运营者介导的无线网络120。

在一些示例中,VPN客户端230可以至少部分地基于连接质量数据240b来确定使用哪个连接122。连接质量数据240b可以量化在移动设备110和远程VPN服务器130之间的每个无线连接122的质量。VPN客户端230可以识别哪个网络连接122具有最高的连接质量,并且使用所识别的网络连接来传输数据分组50。换言之,当用户设备110同时连接到与同一网络运营商70相关联的至少两个运营者介导的无线网络时,VPN客户端230可以基于连接质量数据240b识别至少两个运营者介导的无线网络120中的哪个运营者介导的无线网络120关联于最高连接质量。可选地,多网络控制器300可以使用状态图形320来指示移动设备110当前连接到具有最高连接质量的运营者介导的无线网络120。例如,在GUI 115中呈现的状态图形可以进一步指示在移动设备110和所识别的与最高连接质量相关联的运营者介导的无线网络120之间的连接122的连接质量的值。

VPN客户端230可以使用质量阈值240c,质量阈值240c当被满足时使VPN客户端230从使用用于传送数据分组150的一个无线网络120切换到另一个无线网络120。例如,在同时地经由蜂窝连接122a连接到蜂窝网络120a并经由Wi-Fi网络连接122b连接到Wi-Fi网络120b时,用户10可以将移动设备110从Wi-Fi网络120b的接入点移开,直到连接122b的质量由于距接入点的距离而降级到阈值水平。在该阈值水平,VPN客户端230可以从通过Wi-Fi网络120b传输数据分组50切换到通过蜂窝网络120a传输数据分组50以便避免影响用户体验。阈值可以是预定的(例如,通过用户)或者可以基于位置、连接122的数量、连接240b的质量和连接的优先级而是动态的。

现在参考图2A,VPN客户端230为由运营者70介导的每个无线连接122建立运营者介导的VPN网络连接122C以建立VPN 30。例如,VPN客户端230可以建立在VPN客户端230和远程VPN服务器130之间的蜂窝网络连接122a以及在VPN客户端230和远程VPN服务器130之间的无线网络连接122b(即,当相关联的Wi-Fi网络120是运营者介导的)。VPN客户端230可以从在用户设备110上执行的应用116接收应用业务(即,数据分组50)。在接收到数据分组50之后,VPN客户端230可以基于VPN参数240确定使用哪个活动运营者介导的VPN网络连接122C来传输数据分组50.

现在参考图2B,在一些实现中,用户设备110同时连接到一个或多个运营者介导的VPN网络连接122C和一个或多个用户介导的网络连接122U两者。例如,移动设备110可以具有到由运营者70运营的蜂窝网络120a的蜂窝无线连接122a,同时具有到由用户10运营的Wi-Fi网络120b的Wi-Fi无线连接122b(例如,用户的家庭Wi-Fi)。这里,用户介导的网络连接122U可以旁路VPN 30,而是通过外部网络40将应用业务(即,数据分组50)直接传输到目的地服务器60。在这种情况下,网络选择器250可以接收数据分组50并基于优先级数据252确定是使用用户介导的网络连接122U还是运营者介导的VPN网络连接122C。例如,用户介导的Wi-Fi网络连接122b可能是优选的,因为其成本低于运营者介导的蜂窝网络连接122a。可选地,多网络控制器300可以用状态图形320指示移动设备110当前连接到优先无线网络120(即,运营者介导的网络连接122C或用户介导的网络连接122U)。在一些示例中,状态图形320不指示移动设备110连接到哪个无线网络120(即,移动设备的哪些无线电被连接),而是仅指示移动设备110是否连接到用户介导的网络120或运营者介导的网络120。

现在参考图2C,在一些实现中,在VPN 30内也建立与用户介导的无线网络120相关联的用户介导的网络连接122U。例如,将移动设备110通过运营者介导的蜂窝网络120连接到VPN服务器130的运营者介导的蜂窝网络连接122a以及将移动设备110通过用户介导的Wi-Fi网络120b连接到VPN服务器130的用户介导的Wi-Fi网络连接122b都可以在VPN客户端230和远程VPN服务器130之间建立。在这种情况下,所有应用业务(即,数据分组50)可以路由到VPN客户端230,并且VPN客户端230可以基于VPN参数240确定在哪个连接122上传输每个数据分组50,如前面讨论过。

在将任何用户介导的网络连接122U包括在VPN 30内之前,连接聚合器200可以提示移动设备110的用户10提供同意270以允许VPN客户端230建立VPN用户介导的无线连接122U,其通过用户介导的无线网络120将用户设备110连接到远程VPN服务器130。在一些示例中,当连接聚合器200提示移动设备110的用户10提供同意270以允许VPN 30使用用户介导的无线网络120建立连接时,连接聚合器200在GUI 115中显示交互式图形332(图2D)。交互式图形332使用户10能够提供同意270以允许VPN 30建立用户介导的连接122U。例如,如图2D所示,GUI 115可以显示交互式图形332,其包括文本信息(例如,“在VPN中包括用户网络?”)以及使用户10能够同意(例如,通过选择“是”)或不同意(例如,通过选择“否”)使用VPN 30进行连接的按钮。

返回参考图2C,在一些实现中,远程VPN服务器130将一个或多个网络策略260、260a-n应用到通过VPN 30与VPN客户端230建立的每个无线连接122。在一些示例中,远程VPN服务器130将一个或多个网络策略260仅应用于与运营者介导的网络120的连接122(即,从网络策略260中排除用户介导的网络120),即使用户10已同意在VPN 30内包括用户介导的网络。网络策略260可以应用多种网络侧特征。例如,远程VPN服务器130可以将节流策略260a应用到连接122,其在某些时间或在某些消耗阈值处节流某些类型的数据。远程VPN服务器130可以附加地或替代地应用零费率策略260b。零费率政策260b可以在某些条件下以降低的财务成本提供互联网接入。例如,可以根据对某些网站的访问的广告或限制的增加来降低访问成本。

现在参考图3,当用户设备110同时连接到第一无线网络120a(例如,蜂窝网络)和第二无线网络120b(例如,Wi-Fi网络)时,多网络控制器300可以通过查询在用户设备110上安装/执行的运营者应用116、116C而确定第一无线网络120a是否和与第二无线网络120b相同的网络运营商70相关联。运营者应用116可以与特定运营者/网络运营商(例如,MNO或MVNO)相关联。在一些示例中,多网络控制器300首先通过确定运营者应用116C是否由运营者70数字签名来验证运营者应用116C与运营者70相关联。例如,运营者70可以使用运营者70的密码密钥352提供数字签名354。密钥352可以被包括在例如SIM 350内,该SIM 350可以包括嵌入式SIM(eSIM)。当多网络控制器300通过由与运营者70相关联的密钥352签名的数字签名354的存在来验证运营者应用116C时,多网络控制器300然后可以检索与运营者70相关联并由运营者70介导的每个无线网络120的网络标识(ID)117和/或网络凭证118(例如密码)。因此,使用检索到的网络ID 117和/或网络凭证118,多网络控制器300可以确定第一无线网络120a和第二无线网络120b是否与相同的运营者70相关联(例如,由其介导)。在一些情况下,无线网络120在连接(例如,Wi-Fi网络120b)之前可能需要凭证118,并且多网络控制器300可以从适当的运营者应用116C检索这些凭证118以访问相关联的网络120。在一些示例中,运营者应用116C向多网络控制器300“推送”或以其他方式提供相关联的运营者介导的网络120的凭证118。运营者应用116C可以查询多网络控制器300(或否则用户设备110的操作系统)以确定用户设备110当前是否连接到运营者的网络120之一。

现在参考图4A和4B,在一些实现中,在移动设备110的GUI 115中呈现的状态图形320更新以指示至与选定运营商相关联的至少一个运营者介导的无线网络或至少一个用户介导的无线网络的连接70。例如,在GUI 115中呈现的状态图形320a(图4A)指示移动设备110当前连接到运营者介导的无线网络。尽管未示出,当移动设备110同时连接到运营者介导的无线网络(例如,蜂窝网络120a)和用户介导的无线网络(例如,Wi-Fi网络120b)时,可以在GUI 115中呈现两个状态图形320,每一个都指示至运营者介导的无线网络或用户介导的无线网络的连接中的相应一个。这里,两个状态图形320可以是可区分的(例如,不同的图形、方向、颜色等),使得用户10可以区分用户设备110连接到哪些类型的无线网络120。图4A还示出了第一交互式图形330、330a,其被配置为接收用户输入指示,用于在禁用在移动设备110和与选择运营商70相关联的任何可用运营者介导的无线网络120之间的连接122(即,由状态图形320a表示)和启用在移动设备110和与选择运营商70相关联的任何可用运营者介导的无线网络120之间的连接122之间进行选择。响应于指示所呈现的第一交互式图形330a的选择(即,选择“是”以禁用运营者数据)的第一用户输入指示312,移动设备110断开与运营者介导的无线网络的连接。在一些示例中,移动设备110还连接到用户介导的无线网络120(例如,用户的Wi-Fi网络)。响应于第一输入指示312,图4B示出了状态图形320a,该状态图形320a通过在GUI 115中呈现状态图形320b来更新以指示移动设备110当前没有连接到与运营商70相关联的任何运营者介导的无线网络120。在一些示例中,状态图形320b还可以更新以指示移动设备110现在当前连接到用户介导的无线网络120。这里,图4B的状态图形320b包括相对于图4A的状态图形320a旋转的方向。在其他示例中,状态图形320b可以包括与状态图形320a完全不同的图形,包括不同的颜色,和/或包括任何其他可区分的特征,以允许用户10在指示至运营者介导的无线网络120的连接的状态图形320a和指示至用户介导的无线网络120的连接的状态图形320b之间进行辨别。图4B还示出了移动设备110在GUI115中呈现随后的第二交互式图形330b以提示用户10启用运营者数据。这里,用户可以提供第二用户输入指示312,其指示选择第二交互式图形330b以启用运营者数据(即,选择“是”以启用运营者数据),并且状态图形320b可以适当地恢复到呈现在图4A的GUI 115中的状态图形320a。状态图形320a、320b两者都可以在视觉上指示到当前连接的无线网络的连接质量(例如,信号强度)。因此,状态图形320a、320b为用户提供了一种方便和快捷的方式来确定移动设备110是否连接到运营者介导的无线网络或用户介导的无线网络,以及可选地提供连接的质量。

图5是切换移动设备110的多网络连接的方法500的示例性操作布置的流程图。方法500开始于操作502,用于同时连接到与第一网络运营商70相关联的一个或多个运营者介导的无线网络120的移动设备110通过移动设备110的数据处理硬件112执行图形用户界面115,以在与数据处理硬件112通信的屏幕119上显示。图形用户界面115呈现状态图形320,其指示移动设备110当前连接到与第一网络运营商70相关联的一个或多个运营者介导的无线网络120中的至少一个运营者介导的无线网络120。图形用户界面115还呈现交互式图形330,交互式图形330被配置为接收用户输入指示,用于在禁用在移动设备110和与第一网络运营商70相关联的任何可用运营者介导的无线网络120之间的连接122和启用在移动设备110和与第一网络运营商70相关联的任何可用的运营者介导的无线网络120之间的连接122之间进行选择。

在步骤504,方法500包括在数据处理硬件112处接收第一用户输入指示312,第一用户输入指示312用于指示选择在图形用户界面115中呈现的交互式图形330以禁用移动设备110和与第一网络运营商70相关联的任何可用运营者介导的无线网络120之间的连接122。在步骤506,响应于接收到第一用户输入指示312,该方法包括:通过数据处理硬件112将移动设备110从与第一网络运营商70相关联的一个或多个运营者介导的无线网络120的每个断开连接。在步骤508,该方法包括:由数据处理硬件112更新状态图形320以指示移动设备110当前没有连接到与第一网络运营商70相关联的任何运营者介导的无线网络120。

图6是可用于实现本文中描述的系统和方法的示例计算设备600的示意图。计算设备600旨在表示各种形式的数字计算机,例如膝上型电脑、台式机、工作站、个人数字助理、服务器、刀片式服务器、大型机和其他适当的计算机。这里所示的组件、它们的连接和关系以及它们的功能意味着仅是示例性的,并不意味着限制本文中描述和/或要求保护的发明的实现。

计算设备600包括处理器610、存储器620、存储设备630、连接到存储器620和高速扩展端口650的高速接口/控制器640以及连接到低速总线670和存储设备630的低速接口/控制器660。组件610、620、630、640、650和660中的每一个使用各种总线互连,并且可以安装在公共主板上或以其他适当的方式安装。处理器610可以处理用于在计算设备600内执行的指令,包括存储在存储器620或存储设备630上的指令以在诸如耦合到高速接口640的显示器680的外部输入/输出设备上显示用于图形用户界面(GUI)的图形信息。在其他实现中,可以酌情使用多个处理器和/或多条总线以及多个存储器和多种类型的存储器。此外,可以连接多个计算设备600,每个设备提供必要操作(例如,作为服务器组、刀片服务器组或多处理器系统)的部分。

存储器620在计算设备600内非暂时性地存储信息。存储器620可以是计算机可读介质、易失性存储器单元或非易失性存储器单元。非暂时存储器620可以是用于在临时或永久基础上存储程序(例如,指令序列)或数据(例如,程序状态信息)以供计算设备600使用的物理设备。非易失性存储器的示例包括但不限于闪存和只读存储器(ROM)/可编程只读存储器(PROM)/可擦可编程只读存储器(EPROM)/电可擦可编程只读存储器(EEPROM)(例如,通常用于固件,例如引导程序)。易失性存储器的示例包括但不限于随机存取存储器(RAM)、动态随机存取存储器(DRAM)、静态随机存取存储器(SRAM)、相变存储器(PCM)以及磁盘或磁带。

存储设备630能够为计算设备600提供大容量存储。在一些实现中,存储设备630是计算机可读介质。在各种不同的实现中,存储设备630可以是软盘设备、硬盘设备、光盘设备或磁带设备、闪存或其他类似的固态存储器设备或设备阵列,包括在存储区域网络中或具有其他配置的设备。在另外的实现中,计算机程序产品有形地体现在信息载体中。计算机程序产品包含在被执行时执行一种或多种方法(例如,上述那些)的指令。信息载体是计算机或机器可读介质,例如存储器620、存储设备630或处理器610上的存储器。

高速控制器640管理计算设备600的带宽密集型操作,而低速控制器660管理较低带宽密集型操作。这种职责分配只是示例性的。在一些实现中,高速控制器640耦合到存储器620、显示器680(例如,通过图形处理器或加速器),并且耦合到可以接受各种扩展卡(未示出)的高速扩展端口650。在一些实现中,低速控制器660耦合到存储设备630和低速扩展端口690。可以包括各种通信端口(例如,USB、蓝牙、以太网、无线以太网)的低速扩展端口690可以例如通过网络适配器耦合到一个或多个输入/输出设备,例如键盘、定点设备、扫描仪或联网设备(例如交换机或路由器)。

如图所示,可以以多种不同的形式实现计算设备600。例如,它可以实现为标准服务器600a或在一组这样的服务器600a中多次实现为膝上型计算机600b或实现为机架服务器系统600c的一部分。

可以在数字电子和/或光学电路、集成电路、专门设计的ASIC(专用集成电路)、计算机硬件、固件、软件和/或它们的组合中实现本文描述的系统和技术的各种实现。这些不同的实现可以包括在一个或多个计算机程序中的实现,这些计算机程序在包括至少一个可编程处理器的可编程系统上是可执行和/或可解释的,该可编程处理器可以是专用或通用的,耦合以从存储系统、至少一个输入设备和至少一个输出设备接收数据和指令以及向其传输数据和指令。

这些计算机程序(也称为程序、软件、软件应用或代码)包括用于可编程处理器的机器指令,并且可以以高级过程和/或面向对象的编程语言和/或以汇编/机器语言实现。如本文所用,术语“机器可读介质”和“计算机可读介质”是指任何计算机程序产品、非暂时性计算机可读介质、装置和/或设备(例如,磁盘、光盘、存储器、可编程逻辑设备(PLD)),用于向可编程处理器提供机器指令和/或数据,可编程处理器包括接收作为机器可读信号的机器指令的机器可读介质。术语“机器可读信号”是指用于向可编程处理器提供机器指令和/或数据的任何信号。

可以由一个或多个可编程处理器(也称为数据处理硬件)执行本说明书中描述的过程和逻辑流程,该一个或多个可编程处理器执行一个或多个计算机程序以通过对输入数据进行操作并生成输出来执行功能。过程和逻辑流程也可以由专用逻辑电路执行,专用逻辑电路例如是FPGA(现场可编程门阵列)或ASIC(专用集成电路)。适合于执行计算机程序的处理器包括例如通用和专用微处理器以及任何类型的数字计算机的任何一个或多个处理器。通常,处理器将从只读存储器或随机存取存储器或两者接收指令和数据。计算机的基本元件是用于执行指令的处理器和用于存储指令和数据的一个或多个存储器设备。通常,计算机还将包括一个或多个用于存储数据的大容量存储设备(例如,磁、磁光盘或光盘),或可操作地耦合以从一个或多个用于存储数据的大容量存储设备(例如,磁、磁光盘或光盘)接收数据或向其传输数据或两者。然而,计算机不需要有这样的设备。适用于存储计算机程序指令和数据的计算机可读介质包括所有形式的非易失性存储器、介质和存储器设备,例如包括:半导体存储器设备,例如EPROM、EEPROM和闪存设备;磁盘,例如内部硬盘或可移动磁盘;磁光盘;以及CD ROM和DVD-ROM盘。处理器和存储器可以由专用逻辑电路补充或结合在专用逻辑电路中。

为了提供与用户的交互,本公开的一个或多个方面可以在计算机上实现,该计算机具有显示设备,该显示设备例如是CRT(阴极射线管)、LCD(液晶显示器)监视器或触摸屏,用于向用户显示信息,该计算机且可选地具有键盘和定点设备,例如鼠标或轨迹球,用户可以通过它们向计算机提供输入。也可以使用其他类型的设备来提供与用户的交互;例如,提供给用户的反馈可以是任何形式的感官反馈,例如视觉反馈、听觉反馈或触觉反馈;且可以以任何形式接收来自用户的输入,该任何形式包括声音、语音或触觉输入。此外,计算机可以通过下述方式来与用户交互:向用户使用的设备发送文档和从其接收文档;例如,响应于从网络浏览器接收到的请求,将网页发送到用户的客户端设备上的网络浏览器。

已经描述了许多实现。然而,应当理解,在不背离本公开的精神和范围的情况下可以进行各种修改。因此,其他实现在所附权利要求的范围内。

技术分类

06120114711611