虚拟运营商网络的制作方法

文档序号:32679042发布日期:2022-12-24 04:33阅读:237来源:国知局
虚拟运营商网络的制作方法

1.本公开涉及用户设备的虚拟运营商(carrier)网络。


背景技术:

2.移动设备(例如,智能电话)和其他用户设备通常提供许多不同的无线连接技术(例如,蜂窝、wi-fi、蓝牙等)。为了降低移动数据的成本,移动网络运营方(mobile network operator,mno)和移动虚拟网络运营方(mnvo)经常协调(mediate)附加的较低成本网络(例如wi-fi网络)并在可能的情况下将客户移动数据从蜂窝连接(例如,4g、5g等)卸载到较低成本网络上。现代移动操作系统没有针对多个运营商网络提供便利的移动性解决方案或用户体验。


技术实现要素:

3.本公开的一个方面提供了一种移动设备的虚拟运营商网络。该方法包括,对于执行用户应用并且同时连接到与移动虚拟网络运营方(mvno)关联的第一无线网络和与相同的mvno关联的第二无线网络的移动设备,通过数据处理硬件从多个远程服务器中选择远程服务器。多个远程服务器中的每个远程服务器与地理位置关联。该方法还包括通过数据处理硬件在移动设备和选择的远程服务器之间建立虚拟网络。该虚拟网络包括移动设备和选择的远程服务器之间在第一无线网络上的至少一个隧道和移动设备和选择的远程服务器之间在第二无线网络上的至少一个隧道。该方法还包括通过数据处理硬件经由移动设备和选择的远程服务器之间在第一无线网络上的至少一个隧道中的一个或经由移动设备和选择的远程服务器之间在第二无线网络上的至少一个隧道中的一个通过虚拟网络将数据从用户应用发送到选择的远程服务器。数据在由选择的远程服务器接收时使选择的远程服务器将数据路由到目的地服务器。
4.本公开的实施方式可以包括以下可选特征中的一个或多个。在一些实施方式中,移动设备和选择的远程服务器之间在第一无线网络上的至少一个隧道包括支持第一服务的数据的第一隧道和支持第二服务的数据的第二隧道。移动设备和选择的远程服务器之间在第二无线网络上的至少一个隧道可以包括支持第一服务的数据的第三隧道和支持第二服务的数据的第四隧道。在该实施方式中,通过虚拟网络将数据从用户应用发送到选择的远程服务器包括基于用户应用选择移动设备和选择的远程服务器之间经由第一无线网络的第一隧道或第二隧道或选择移动设备和选择的远程服务器之间经由第二无线网络的第三隧道或第四隧道。
5.在一些示例中,第一服务包括互联网服务并且第二服务包括系连服务(tethering service)。可选地,该方法还包括:在将数据从用户应用发送到选择的远程服务器之后,通过数据处理硬件将移动设备连接到第三无线网络。第三无线网络包括用户无线保真(wi-fi)网络。在该示例中,该方法还包括通过数据处理硬件在第三无线网络上将数据从用户应用方式到目的地服务器。
6.从多个远程服务器中选择远程服务器可以基于多个远程服务器中的每个远程服务器的地理位置。在一些实施方式中,该方法还包括,在从多个远程服务器中选择远程服务器之前,通过数据处理硬件基于网络偏好从第一无线网络或第二无线网络中选择优选无线网络。这里,从多个远程服务器中选择远程服务器是基于选择的优选无线网络。在一些示例中,该方法还包括在选择优选无线网络之后,通过数据处理硬件基于多个远程服务器中的每个远程服务器的地理位置从多个远程服务器中选择第二远程服务器。该方法还可以包括通过数据处理硬件在移动设备和选择的第二远程服务器之间建立第二虚拟网络,和通过数据处理硬件在第二虚拟网络上将数据从用户应用发送到选择的第二远程服务器。数据在由选择的第二远程服务器接收时使选择的第二远程服务器将数据路由到目的地服务器。
7.可选地,用户应用包括虚拟专用网(vpn)应用。目的地服务器可以包括与vpn应用关联的vpn服务器。在一些实施方式中,该方法还包括通过数据处理硬件确定第一无线网络是否与和第二无线网络相同的mvno关联。在一些示例中,第一无线网络包括蜂窝网络并且第二无线网络包括无线保真(wi-fi)网络。
8.本公开的另一方面提供了一种用于建立移动设备的虚拟运营商网络的系统。该系统包括移动设备的数据处理硬件和与数据处理硬件通信的存储器硬件。存储器硬件存储当在数据处理硬件上执行时使数据处理硬件执行操作的指令。该操作包括,对于执行用户应用并且同时连接到与移动虚拟网络运营方(mvno)关联的第一无线网络和与相同的mvno关联的第二无线网络的移动设备,从多个远程服务器中选择远程服务器。多个远程服务器中的每个远程服务器与地理位置关联。该操作还包括在移动设备和选择的远程服务器之间建立虚拟网络。该虚拟网络包括移动设备和选择的远程服务器之间在第一无线网络上的至少一个隧道和移动设备和选择的远程服务器之间在第二无线网络上的至少一个隧道。该操作还包括经由移动设备和选择的远程服务器之间在第一无线网络上的至少一个隧道中的一个或经由移动设备和选择的远程服务器之间在第二无线网络上的至少一个隧道中的一个将数据从用户应用发送到选择的远程服务器。数据在由选择的远程服务器接收时使选择的远程服务器将数据路由到目的地服务器。
9.该方面可以包括以下可选特征中的一个或多个。在一些实施方式中,移动设备和选择的远程服务器之间在第一无线网络上的至少一个隧道包括支持第一服务的数据的第一隧道和支持第二服务的数据的第二隧道。移动设备和选择的远程服务器之间在第二无线网络上的至少一个隧道可以包括支持第一服务的数据的第三隧道和支持第二服务的数据的第四隧道。在该实施方式中,通过虚拟网络将数据从用户应用发送到选择的远程服务器包括基于用户应用选择移动设备和选择的远程服务器之间经由第一无线网络的第一隧道或第二隧道或选择移动设备和选择的远程服务器之间经由第二无线网络的第三隧道或第四隧道。
10.在一些示例中,第一服务包括互联网服务并且第二服务包括系连服务。可选地,该操作还包括:在将数据从用户应用发送到选择的远程服务器之后,将移动设备连接到第三无线网络。第三无线网络包括用户无线保真(wi-fi)网络。在该示例中,该操作还包括在第三无线网络上将数据从用户应用发送到目的地服务器。
11.从多个远程服务器中选择远程服务器可以基于多个远程服务器中的每个远程服务器的地理位置。在一些实施方式中,该操作还包括,在从多个远程服务器中选择远程服务
器之前,基于网络偏好从第一无线网络或第二无线网络中选择优选无线网络。这里,从多个远程服务器中选择远程服务器是基于选择的优选无线网络。在一些示例中,该操作还包括在选择优选无线网络之后,基于多个远程服务器中的每个远程服务器的地理位置从多个远程服务器中选择第二远程服务器。该操作还可以包括在移动设备和选择的第二远程服务器之间建立第二虚拟网络,和在第二虚拟网络上将数据从用户应用发送到选择的第二远程服务器。数据在由选择的第二远程服务器接收时使选择的第二远程服务器将数据路由到目的地服务器。
12.可选地,用户应用包括虚拟专用网(vpn)应用。目的地服务器可以包括与vpn应用关联的vpn服务器。在一些实施方式中,该操作还包括确定第一无线网络是否与和第二无线网络相同的mvno关联。在一些示例中,第一无线网络包括蜂窝网络并且第二无线网络包括无线保真(wi-fi)网络。
13.本公开的一个或多个实施方式的细节在附图和以下描述中阐述。从描述和附图以及从权利要求中,其他方面、特征和优点将是显而易见的。
附图说明
14.图1是用于通过两个或更多个运营商无线网络提供移动设备的虚拟运营商网络的示例系统的示意图。
15.图2是虚拟运营商网络管理器的示例性组件的示意图。
16.图3是虚拟运营商网络管理器和用户网络管理器的示意图。
17.图4a和4b是虚拟运营商网络管理器切换移动性锚点的示意图。
18.图5是用于提供移动设备的虚拟运营商网络的方法的操作的示例布置的流程图。
19.图6是可以用于实现本文描述的系统和方法的示例计算设备的示意图。
20.各个附图中相同的附图标记指示相同的要素。
具体实施方式
21.诸如移动网络运营方(mno)和移动虚拟网络运营方(mvno)的运营商(carrier)正越来越多地通过多种异构网络类型(例如,蜂窝网络和wi-fi网络)提供连接性。运营商可以使用机会数据卸载(opportunistic data offload),通过将流量转移到更廉价的网络(例如,从蜂窝网络到wi-fi)来降低数据成本。然而,常规移动操作系统(os)不提供底层网络的抽象,当移动设备在网络之间切换时,这会导致糟糕的用户体验和/或连接性下降。
22.解决此问题的当前技术通常涉及将虚拟专用网络(vpn)跨多个无线网络扩展到远程vpn服务器。虽然这确实为用户和移动设备提供了一些网络抽象,但它也存在一些缺点。例如,vpn聚合来自连接到移动设备的所有网络,包括用户协调的网络(user-mediated network)(例如家庭wi-fi网络),的流量。由于用户协调的网络上的数据现在必须历经vpn服务,因此这会产生隐私问题,并且通常至少需要用户的同意。此外,vpn不为用户设备上的多个配置文件或不同的数据服务(例如,系连(tethering))提供任何移动性。也就是说,通常所有配置文件和所有数据服务都必须使用相同的vpn。作为又另一示例,vpn限制用户使用他们自己的vpn应用。此外,在许多情况下,vpn是用户可控的,因此充其量只能提供有漏洞的抽象。
23.本文的实施方式涉及虚拟运营商网络管理器,其在用户设备上执行以在用户设备和与无线网络运营方(例如,移动虚拟网络运营方(mvno))关联的多个无线网络之间建立虚拟网络(例如,虚拟运营商网络)。虚拟网络包括从多个远程服务器中选择的远程服务器以用作移动性锚点。虚拟网络还包括用户设备和选择的远程服务器之间的一个或多个隧道。在用户设备上执行的应用通过虚拟网络的一个或多个隧道向选择的远程服务器发送和接收数据,该选择的远程服务器将数据路由到目的地服务器。
24.现在参考图1,在一些实施方式中,示例无线通信环境(例如,系统)100包括通过至少两个无线网络120、120a-b同时与外部网络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)或5g nr(新无线电)网络,其例如通过诸如宏小区演进节点b(menb)的基站支持数据分组50(在本文也简称为“数据”)和/或其他服务从外部网络40到用户设备110的无线电传送。wi-fi网络120b可以包括也支持数据分组50的无线电传送的任何版本的wi-fi(例如,802.11n、802.11ac等)。在一些示例中,用户设备110同时连接到相同类型的多个无线网络120。例如,用户设备110可以包括用于同时连接到由不同运营商70运营的两个单独的运营商蜂窝网络120a或具有不同接入点的多个运营商wi-fi网络120b的能力。
25.运营商蜂窝网络120a与通过运营商蜂窝网络120a向订阅用户设备110提供无线通信服务的移动网络运营方(mno)或移动虚拟网络运营方(mnvo)关联。mno或mvno也可以称为无线服务提供商、无线运营商、蜂窝公司、移动网络运营方或移动网络运营商。术语“运营商(carrier)”可以在本文中用于指代mno或mvno。术语“无线网络运营方”可以在本文中用于指代运营或协调无线网络120的实体,其可以包括运营/协调运营商协调的无线网络(carrier-mediated wireless network)120的运营商(例如,mno或mvno)或运营/协调用户协调的无线网络120的用户10。
26.当在本文使用时,运营商协调的无线网络120(本文也简称为“运营商无线网络120”)包括由单个特定运营商70(例如,mno或mvno)管理或协调或控制的任何无线网络120,其中,用户设备110订阅由该运营商提供的服务。也就是说,用户10不控制或管理无线网络120。运营商协调的网络120是运营商已经为其提供凭证的网络,诸如其中运营商提供的sim配置文件或可以通过运营商提供的sim配置文件进行认证的运营商提供的应用已提供凭证。例如,通用集成电路卡(uicc)上提供的sim配置文件允许用户设备110附接运营商蜂窝网络120a并与其进行认证。或者,运营商应用由操作系统(os)111认证以访问sim配置文件。运营商应用可以使用运营商的私钥进行加密签名,并通过sim配置文件中包含的应用签名进行认证。运营商应用被操作系统111授权以提供用于接入例如运营商wi-fi接入点的凭证。在一些示例中,经过认证的运营商应用可以提供wpa密码或hotspot2.0证书;或者,对于不需要凭证来连接到接入点的开放网络,运营商使用户设备110在不需要用户介入的情况下连接到接入点,或者使得向用户提出连接到网络的建议,用户可以接受或拒绝。在运营商
协调的到开放无线网络120的连接的情况下,可能需要附加的步骤来满足“强制门户”以获得互联网接入的要求,诸如接受条款和条件,或提供密码或其他登录信息。对于使用强制门户到开放网络120的运营商协调的连接,运营商可以代表用户接受条款或以自动方式提供电子邮件地址、密码或其他登录信息。自动化方式可能意味着通过诸如wispr的协议或通过网络表单的自动提交来提供登录信息。单个用户设备110可以同时支持多个运营商协调的无线网络120。
27.用户协调的无线网络120包括与用户设备110未明确订阅的无线网络运营方(例如,运营商)70关联的任何无线网络120,使得用户协调的无线网络120最终由用户10管理或协调或控制。用户协调的网络是用户已为其提供其自己的凭证(如有必要)(例如wpa密码或用户安装的证书(例如,hotspot 2.0证书))以连接到例如接入点的网络;或者,对于不需要连接到接入点的凭据的开放网络,用户已经采取了肯定的动作连接到网络,诸如从列表中选择了网络,或者接受操作系统提出的建议。任何选择只可以在设备第一次暴露于网络时发生。在用户协调的开放网络上,可能需要附加的手动步骤来满足“强制门户”获得互联网访问的要求,诸如接受条款和条件,或提供电子邮件地址、密码或其他登录信息。
28.单个设备(例如接入点)可以提供对用户协调的网络和运营商协调的网络两者的访问。拥有、租用或控制ap的用户可以使其他用户能够使用接入点访问互联网,例如,用户创建wep密码提供给其他用户。接入点在以这种方式被访问时提供对用户协调的网络的访问。有线服务提供商或dsl服务提供商可以从相同的接入点运营运营商协调的网络服务。具有运营商app(小程序)提供的hs2.0证书的设备将自动连接到相同接入点。无需用户介入或密码。
29.在用户具有由与互联网服务提供商(isp)对应的无线网络运营方70提供的互联网服务合同并且因此可以选择多个不同的启用无线的用户设备110中的任何一个来在任何给定时间连接到互联网服务的示例中,被选择的用户设备110访问以使用互联网服务的无线网络120(例如,运营商wi-fi网络120b)与用户协调的无线网络120对应。这里,用户10可以控制连接到互联网服务的调制解调器以及与调制解调器通信的无线接入点(ap)(例如,无线路由器)以提供局域网(lan),选择的用户设备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的任何设备,例如但不限于平板计算机、膝上型计算机、台式机、智能手表、智能扬声器、智能显示器、智能电器等。
30.用户设备110包括计算资源112(例如,数据处理硬件)和/或存储资源114(例如,存储器硬件)。数据处理硬件112执行操作系统111和一个或多个用户软件应用116。数据处理硬件112还执行虚拟运营商网络管理器150。在一些实施方式中,操作系统111执行虚拟运营商网络管理器150的功能。
31.用户设备110可以使用各种不同的操作系统111。在用户设备110是移动设备的示例中,用户设备110可以运行操作系统,包括但不限于由谷歌公司开发的由苹果公司开发的或由微软公司开发的windows因此,在用户设备110上运行的操作系统111可以包括但不限于或windows中的一种。在一些示例中,用户设备可以运行操作系统,包括但不限于微软公司的microsoft苹果公司的mac或linux。
32.用户设备110还包括至少一个调制解调器165(也称为基带或基带处理器)。调制解调器165包括使用户设备能够与运营方无线网络120无线通信的一个或多个天线。调制解调器165可以与同时在多种频率(例如,700mhz、900mhz、2.4ghz、5.0ghz等)上操作的一个或多个无线电通信。调制解调器165可以包括提供发送和接收功能的各种组件(处理器、存储器等)。在一些实施方式中,数据处理硬件112包括调制解调器165。也就是说,在一些示例中,由数据处理硬件112执行的任务可以改为由调制解调器165执行,反之亦然。
33.用户设备110还包括一个或多个对应的订户识别模块(sim)118,用于识别用户设备110并将其与某些类型的运营商协调的无线网络120连接。例如,sim 118可以包括对应的sim配置文件,其具有用于授权用户设备110与运营商蜂窝网络120a连接以通过外部网络40访问目的地服务器60的凭证。类似地,sim 118可以包括一个或多个附加的sim配置文件,其具有对应凭证,用于授权用户设备110与由除了管理运营商蜂窝网络120a的网络运营方之外的无线网络运营方70管理的其他运营商协调的无线网络120进行连接。在一些示例中,一个或多个sim 118包括一个或多个嵌入式sim(esim)和一个或多个物理sim的任何组合。
34.虚拟运营商网络管理器150(在本文中也称为“vcn管理器150”)在用户设备110和远程服务器130、130a-b之间建立虚拟网络30、30a-b(在本文中也称为“虚拟运营商网络”或“vcn”)。如在下文更详细地讨论的,vcn管理器150从多个远程服务器130中选择远程服务器130。每个远程服务器130可以与地理位置关联。在一些示例中,地理位置是不同的。例如,第一远程服务器130a与一地理位置关联,该地理位置在与支持运营商蜂窝网络120a的数据中心关联的地理位置处或在其附近。也就是说,历经运营商蜂窝网络120a的数据分组50由与运营商蜂窝网络120a关联的一个或多个服务器(未示出)处理。第一远程服务器130a可以在地理上位于与支持运营商蜂窝网络120a的数据中心关联的一个或多个服务器附近(例如,“共址(co-sited)”或“共同定位(co-located)”)。类似地,第二远程服务器130b可以在地理上位于支持运营商wi-fi网络120b的数据中心处或其附近。在其他示例中,多个远程服务器130具有相同的地理位置。例如,与无线网络120关联的数据中心包括多个远程服务器130。
35.vcn管理器150在移动设备110和选择的远程服务器130之间建立虚拟网络30。例如,当vcn管理器150选择第一远程服务器130a时,vcn管理器150在移动设备110和第一远程服务器130a之间建立第一虚拟网络30、30a。替代地,当vcn管理器150选择第二远程服务器130b时,vcn管理器150在移动设备110和第二远程服务器130b之间建立第二虚拟网络30、
30b。虚拟网络30包括在第一无线网络120a(例如,运营商蜂窝网络120a)上在移动设备110和选择的远程服务器130之间的至少一个隧道122、122aa-n以及在第二无线网络120b(例如,运营商wi-fi网络120b)上在移动设备110和选择的远程服务器130之间的至少一个隧道122、122ba-n。每个隧道122通过封装(例如,使用互联网安全协议(ipsec)等)在其相应的无线网络120上建立专用网络通信。每个隧道122可以独立地在用户设备110和选择的远程服务器130之间建立安全通信,这可以包括执行密钥交换(例如,通过互联网密钥交换(ike))和建立加密和其他安全通信过程。在一些实施方式中,借助由一个或多个无线网络运营方70(例如,通过(一个或多个)sim 118)提供的配置,vcn管理器150使用ike库作为控制平面并且使用ipsec作为数据平面。注意,这些协议只是示例性的,并且vcn管理器150可以实现任何其他协议。
36.用户设备110执行与目的地服务器60通信的用户软件应用116。例如,用户软件应用116包括互联网浏览器、游戏应用、消息传递应用、电子邮件应用和/或经由无线网络120与远离用户设备110的其他设备(例如,目的地服务器60)通信的任何其他应用。在一些示例中,用户软件应用116包括用户vpn应用并且目的地服务器60包括与vpn应用关联的vpn服务器。vcn管理器150在连接到用户设备110的运营商无线网络120中的一个上经由隧道122中的一个通过虚拟网络30将数据分组50从用户软件应用116发送到选择的远程服务器130。选择的远程服务器130在接收到数据分组50时将数据分组50通过外部网络40转发到目的地服务器60。同样,选择的远程服务器130从目的地服务器60(通过外部网络40)接收的数据分组50(通过隧道122)被发送到用户设备110和用户软件应用116,从而通过无线网络120中的一个或多个和外部网络40在用户软件应用16和目的地服务器60之间建立双向通信。
37.外部网络40可以独立于与用户设备110或运营无线网络120的运营商70相关的任何网络。目的地服务器60可以是在用户设备上110执行的用户软件应用116向其发送或从其接收数据分组50的任何远程服务器。例如,目的地服务器60可以是托管网络内容的网络服务器。
38.软件应用(即,软件资源)可以指使计算设备执行任务的计算机软件。在一些示例中,软件应用可以被称为“应用”、“app(小程序)”或“程序”。示例应用包括但不限于系统诊断应用、系统管理应用、系统维护应用、文字处理应用、电子表格应用、消息传递应用、媒体流应用、社交网络应用和游戏应用。
39.现在参考图2,在一些实施方式中,用户设备110针对不同的服务和/或能力执行不同的用户软件应用(即,服务应用)116。例如,用户设备110执行需要或使用第一服务或能力的第一服务应用116、116a。第一服务应用116a可以包括需要访问互联网的用户应用,诸如浏览器或电子邮件应用。用户设备110还可以执行需要或使用第二服务或能力的第二服务应用116、116b。例如,第二服务应用116b包括平台应用(例如,os应用),诸如将用户设备110系连到其他附近设备的系连应用。用户设备110可以执行支持或需要诸如短消息服务(sms)、多媒体消息传递服务(mms)、富通信服务(rcs)、辅助全球定位系统(gps)、互联网协议语音(voip)等的进一步服务或能力的各类服务应用116(例如,第三服务应用)的任何组合。
40.在一些示例中,vcn管理器150包括一个或多个服务连接器210、210a-b,每个服务连接器与一种或多种类型的服务应用116接口。例如,第一服务连接器210a从第一服务应用
116a接收数据分组50,而第二服务连接器210b从第二服务应用116b接收数据分组50。每个服务连接器210可以对于每个无线网络120在用户设备110和选择的远程服务器130之间建立隧道122。在所示示例中,第一服务连接器210a对于从第一服务应用116a接收的数据50在第一无线网络120a上在用户设备110和选择的远程服务器130之间建立第一隧道122a。第二服务连接器210b对于从第二服务应用116b接收的数据50在第一无线网络120a上在用户设备110和选择的远程服务器(即,选择的移动性锚点)130之间建立第二隧道122b。同样,第一服务连接器210a对于从第一服务应用116a接收的数据50在第二无线网络120b上在用户设备110和选择的远程服务器130之间建立第三隧道122c,并且第二服务连接器210b对于从第二服务应用116b接收的数据50在第二无线网络120b上在用户设备110和选择的远程服务器130之间建立第四隧道122d。
41.因此,在该示例中,第一无线网络120a上在用户设备110和选择的远程服务器130之间的隧道122包括支持由第一服务应用116a传送的第一服务(例如,互联网服务)的数据50的第一隧道122a和支持由第二服务应用116b传送的第二服务(例如,系连服务)的数据50的第二隧道122b。类似地,第二无线网络120b上在用户设备110和选择的远程服务器130之间的隧道122包括支持由第一服务应用116a传送的第一服务的数据50的第三隧道122c和支持由第二服务应用116b传送的第二服务的数据50的第四隧道122d。在一些实施方式中,vcn管理器150基于相应的用户软件应用116(例如,哪个用户软件应用116发送数据50),选择经由第一无线网络120a的用户设备110和选择的远程服务器130之间的第一隧道122a或第二隧道122b,或选择经由第二无线网络120b的用户设备110和选择的远程服务器130之间的第三隧道122c或第四隧道122d,将数据50通过虚拟网络30从服务应用116传输到选择的远程服务器130。
42.服务连接器210将物理无线网络120从用户软件应用116抽离(即,无论服务连接器210选择哪个隧道122或物理无线网络120发送数据50,连接对于用户软件应用116来说看上去都是相同的),同时保持隔离数据服务的灵活性。无线网络运营方70和/或用户10可以出于多种原因使用数据服务隔离,包括定价、优先级、订阅级别等。例如,mno或mvno可以与标准互联网数据50分开地对通过系连服务发送的数据50进行计费或跟踪,即使两种服务最终结果都是与相同的目的地服务器60通信。同时,服务连接器210提供的网络抽象允许vcn管理器150单方面选择在哪个无线网络120上发送数据50而不影响用户软件应用116,因为vcn管理器150改为向用户软件应用116提供单个虚拟化网络连接。因此,在虚拟网络30提供的服务与底层物理无线网络120之间没有严格的相关性。也就是说,vcn管理器150可以使用单个隧道122来隧道传输(tunnel)所有服务或将每个单独的服务分解到不同的独立隧道122。换句话说,隧道122可以暴露、重新映射服务或对于虚拟端点隐藏服务。当连接到5g无线网络120并且5g分片生效时,vcn管理器150可以将每个分片视为底层服务,并且可以适当地重新映射暴露的服务。
43.在一些实施方式中,vcn管理器150仅向用户10和用户软件应用116提供虚拟网络30,使得用户10和/或用户软件应用116对物理运营商无线网络120没有可见性或控制而是仅与到虚拟网络30的连接接口。因此,无论使用的底层无线网络120如何,vcn管理器150都为用户10和/或用户软件应用116提供一致的网络连接,其提供连续和可靠的连接性,并且vcn管理器150将物理无线网络120视为实现细节并保护在无线网络120上传输的数据50。
44.因为每个服务连接器210可以建立多个隧道122,每个隧道122支持不同的能力,所以诸如mvno的实体可以尽可能灵活地配置它们的网络。例如,mno绑定服务可以继续正常工作,而服务连接器210专门隧道传输mvno绑定服务。
45.在一些实施方式中,vcn管理器150限制或以其他方式阻止某些用户软件应用116访问某些物理无线网络120或服务连接器210。也就是说,vcn管理器150可以对在用户设备110上执行的一些或所有用户软件应用施加访问限制116。例如,vcn管理器150可以限制来自除了支持互联网能力的服务连接器210之外的所有服务连接器210的高级用户软件应用116(例如,电子邮件应用)。也就是说,vcn管理器150可以限制电子邮件应用访问例如支持系连的服务连接器210。在又另一示例中,vcn管理器150可以限制运营商应用160(即,与特定无线网络运营方70关联的应用)访问其他运营商的无线网络120。也就是说,服务连接器210可以仅将连接聚合到由相同运营商70运营的无线网络120,并且当用户设备110连接到来自多于一个无线网络运营方70的无线网络120时禁止服务应用(即,运营商应用)116访问其他运营商无线网络120。可选地,除非用户软件应用116提供位置许可,否则vcn管理器150限制用户软件应用116对位置敏感的无线网络120(例如,运营商wi-fi网络)的访问或可见性。
46.在一些实施方式中,vcn管理器150确定与连接到用户设备110的每个无线网络120关联的无线网络运营方70。在一些示例中,vcn管理器150确定第一无线网络120a是否与和第二无线网络120b相同的网络运营方70关联。例如,vcn管理器150可以查询在用户设备110上安装和/或执行的一个或多个运营商应用116。运营商应用116可以各自与特定运营商/无线网络运营方70(例如,mno或mvno)关联。无线网络运营方70可以对运营商应用116进行数字签名,并且vcn管理器150可以通过与用户设备110的sim118一起存储或关联的密码密钥来验证数字签名。
47.vcn管理器150可以对每个用户软件应用116进行分类并且基于该分类确定访问限制。例如,vcn管理器150可以将应用116分类为平台(即,os)应用、系统应用、运营商应用和用户应用。vcn管理器150可以基于用户软件应用116的分类来控制什么无线网络120和服务连接器210是可见的和/或可访问的。
48.在一些示例中,vcn管理器150跨由用户设备110的一个或多个sim118定义的多个配置文件管理虚拟网络30。例如,一些用户10可以在用户设备110上包括工作配置文件和个人配置文件两者。这些配置文件可以订阅相同或不同的无线网络运营方70。vcn管理器150可以基于当前活动的(一个或多个)配置文件来调整虚拟网络30中包括哪些无线网络120、优选无线网络等。
49.现在参考图3,在一些实施方式中,用户设备110连接到用户协调的网络120、120u,诸如家庭wi-fi网络。这里,除了vcn管理器150,用户设备110还执行用户网络管理器310。在这个示例中,用户软件应用116(和/或用户10和/或os 111)选择经由vcn管理器150通过虚拟网络30(即,运营商无线网络120中的一个)或通过用户网络管理器310经由用户协调的网络120u与目的地服务器60通信。也就是说,在一些示例中,用户协调的网络120u独立于vcn管理器150和虚拟网络30。用户网络管理器310将数据分组50经由到目的地服务器60的用户协调的网络120u(并且可能通过附加的外部网络)从用户设备110发送到目的地服务器60并绕过vcn管理器150、虚拟网络30和选择的远程服务器130。因此,历经用户协调的网络120u
的数据50不被远程服务器130接收,这减轻了隐私和同意问题。
50.现在参考图4a,在一些实施方式中,vcn管理器150基于多个远程服务器130中的每一个的不同地理位置来选择远程服务器130。在所示示例中,用户设备110位于用户10的住所410并且在运营商wi-fi网络120b的范围内。基于网络偏好450,vcn管理器150选择运营商wi-fi网络120b作为运营商蜂窝网络120a上的优选无线网络120。网络偏好450可以包括诸如成本、可靠性、时延、拥塞、带宽、位置、传输类型、域名系统(dns)隐私、蜂窝无线电接入技术(rat)、信号强度、当前活动链路、链路不可靠性、用户设备110的移动或速度等的因素。例如,当处于范围内时,运营商wi-fi网络120b往往比运营商蜂窝网络120a更廉价和更可靠,并且因此当可用时运营商wi-fi网络120b有时优于运营商蜂窝网络120a。vcn管理器150可以接收影响网络偏好450的连接的无线网络120中的一个或多个的网络统计数据。无线网络运营方70可以指示网络偏好450的一部分(例如,通过用户软件应用116或sim 118)。
51.vcn管理器150可以基于选择的优选无线网络和/或远程服务器130的地理位置来选择远程服务器130。继续图4a的示例,远程服务器130b的地理位置位于运营商wi-fi网络120b的数据中心处或在其附近,并且远程服务器130a的地理位置位于运营商蜂窝网络120a的不同数据中心处或在其附近。在用户设备110主要通过运营商wi-fi网络120b发送数据50的情况下,与运营商蜂窝网络120a不同(例如,由于用户设备110的地理位置、优选的无线网络120、网络偏好450等),vcn管理器150选择远程服务器130b而不是例如远程服务器130a,因为远程服务器130b靠近运营商wi-fi网络数据中心,由于数据50必须行进的距离较短,因而这提供数据50的通常减少的时延。
52.在选择远程服务器130b之后,vcn管理器150在运营商蜂窝网络120a和运营商wi-fi网络120b两者上在用户设备110和选择的远程服务器130b之间经由隧道122建立虚拟网络30。用户软件应用116经由隧道122将数据50发送到选择的远程服务器130b,该选择的远程服务器130b又将数据50通过外部网络40路由到目的地服务器60。
53.现在参考图4b,在该示例中,用户10正在通过车辆420行进。这里,vcn管理器150可以基于多个远程服务器130中的每一个的不同地理位置选择多个远程服务器130中的第二远程服务器。例如,由于用户设备110在车辆420内的移动,运营商wi-fi网络120b不再是可行的优选无线网络120并且运营商蜂窝网络120a变成优选无线网络120。在一些示例中,这使得vcn管理器150选择更适合新的优选无线网络120的新“移动性锚点”(即,远程服务器130)。这里,由于远程服务器130a在地理上位于运营商蜂窝网络120a的数据中心处或其附近,因此vcn管理器150选择远程服务器130a而不是远程服务器130b。
54.在一些实施方式中,vcn管理器150在运营商蜂窝网络120a和运营商wi-fi网络120b上在用户设备110和选择的远程服务器130a之间经由隧道122建立第二虚拟网络30。用户软件应用116经由隧道122将数据50发送到选择的远程服务器130a,该选择的远程服务器130a又通过外部网络40将数据50路由到目的地服务器60。
55.vcn管理器150可以出于许多其他原因选择不同的远程服务器130(即,移动性锚点)。例如,当远程服务器需要维护或遭受故障时,vcn管理器150可以选择不同的远程服务器130。vcn管理器150可以基于比特英里、时延和吞吐量问题来选择不同的远程服务器130。vcn管理器150可以在与新选择的远程服务器130建立第二虚拟网络30之后保持与先前选择的远程服务器130的第一虚拟网络30(即,保持两个单独的虚拟网络30),以在终止第一虚拟
网络30之前保持移动性一段时间。也就是说,移动性锚点可以在终止之前弃用(deprecate)一段时间。vcn管理器150可以基于远程服务器130支持的服务选择远程服务器130(即,移动性锚点)。也就是说,并非所有远程服务器130都可以支持所有服务。一些地理位置可以包括多个远程服务器130,并且每个远程服务器130可以支持具有一些重叠或没有重叠的不同的服务集合。因此,vcn管理器150可以选择甚至具有相同地理位置的远程服务器130用于某些服务或用于其他目的,诸如负载平衡、维护等。
56.因此,vcn管理器150在一个或多个物理无线网络120之上提供单个统一的网络抽象,并为用户10和用户软件应用116在物理无线网络120之间迁移网络连接性。vcn管理器150虚拟化由用户设备110同时提供的每个数据服务(例如,互联网、mms、系连、voip等),并将每个服务适当地映射到连接到用户设备110的物理运营商无线网络120。这允许vcn管理器150完全模拟到用户10和用户软件应用116两者的蜂窝网络连接。vcn管理器150可以在不同的移动性锚点(即,远程服务器130)之间切换(handoff),以向mno或mvno提供负载平衡、执行维护并进行地理优化的能力。vcn管理器150与常规的虚拟化层相比使性能开销最小化,同时还允许无线网络运营方70通过在网络或基础设施改变期间切换到不同的移动性锚点来提高网络可靠性。尽管本文的示例通常示出了用户设备110与第一无线网络120a和第二无线网络120b通信,但是用户设备110和vcn管理器150可以连接和管理任何数量的运营商无线网络120。
57.图5是用于与移动设备110建立虚拟运营商网络的方法500的操作的示例性布置的流程图。方法500在操作502处包括对于执行用户应用116并且同时连接到与移动虚拟网络运营方(mvno)关联的第一无线网络120a和与相同的mvno关联的第二无线网络120b的移动设备110,通过数据处理硬件112选择多个远程服务器130中的一个远程服务器。多个远程服务器130中的每个远程服务器130与不同的地理位置关联。
58.在操作504处,方法500包括通过数据处理硬件112在移动设备110和选择的远程服务器130之间建立虚拟网络30。虚拟网络30包括移动设备110和选择的远程服务器130之间在第一无线网络120a上的至少一个隧道122和移动设备110和选择的远程服务器130之间在第二无线网络120b上的至少一个隧道122。
59.在操作506处,方法500包括通过数据处理硬件122经由移动设备110和选择的远程服务器130之间在第一无线网络120a上的至少一个隧道122中的一个或经由移动设备110和选择的远程服务器130之间在第二无线网络120b上的至少一个隧道122中的一个、通过虚拟网络30将数据50从用户软件应用116发送到选择的远程服务器130。数据50在由选择的远程服务器130接收时使选择的远程服务器130将数据路由到目的地服务器60。
60.图6是可以用于实现本文档中描述的系统和方法的示例计算设备600的示意图。计算设备600旨在表示各种形式的数字计算机,诸如膝上型计算机、台式机、工作站、个人数字助理、服务器、刀片服务器、大型机和其他适当的计算机。这里所示的组件、其连接和关系以及其功能仅是示例性的,并不意味着限制本文档中描述和/或要求保护的发明的实现。
61.计算设备600包括处理器610、存储器620、存储设备630、连接到存储器620和高速扩展端口650的高速接口/控制器640以及连接到低速总线670和存储设备630的低速接口/控制器660。组件610、620、630、640、650和660中的每一个使用各种总线互连,并且可以安装在公共主板上或以其他适当的方式安装。处理器610可以处理用于在计算设备600内执行的
指令,包括存储在存储器620中或存储设备630上的指令,以在诸如联接到高速接口640的显示器680的外部输入/输出设备上显示用于图形用户界面(gui)的图形信息。在其他实施方式中,可以酌情使用多个处理器和/或多个总线以及多个存储器和多种类型的存储器。此外,可以连接多个计算设备600,每个设备提供部分必要操作(例如,作为服务器组、刀片服务器组或多处理器系统)。
62.存储器620在计算设备600内非暂时性地存储信息。存储器620可以是计算机可读介质、(一个或多个)易失性存储器单元或(一个或多个)非易失性存储器单元。非暂时性存储器620可以是用于在临时或永久基础上存储程序(例如,指令序列)或数据(例如,程序状态信息)以供计算设备600使用的物理设备。非易失性存储器的示例包括但不限于闪存和只读存储器(rom)/可编程只读存储器(prom)/可擦可编程只读存储器(eprom)/电可擦可编程只读存储器(eeprom)(例如,通常用于固件,例如引导程序)。易失性存储器的示例包括但不限于随机存取存储器(ram)、动态随机存取存储器(dram)、静态随机存取存储器(sram)、相变存储器(pcm)以及盘或带。
63.存储设备630能够为计算设备600提供大容量存储。在一些实施方式中,存储设备630是计算机可读介质。在各种不同的实施方式中,存储设备630可以是软盘设备、硬盘设备、光盘设备或带设备、闪存或其他类似的固态存储器设备或设备阵列,包括在存储区域网络或其他配置中的设备。在另外的实施方式中,计算机程序产品有形地体现在信息载体中。计算机程序产品包含在执行时执行一种或多种方法(诸如上面描述的方法)的指令。信息载体是计算机或机器可读介质,诸如存储器620、存储设备630或处理器610上的存储器。
64.高速控制器640管理计算设备600的带宽密集型操作,而低速控制器660管理较低带宽密集型操作。这样的职责分配只是示例性的。在一些实施方式中,高速控制器640联接到存储器620、显示器680(例如,通过图形处理器或加速器),并且联接到可以接受各种扩展卡(未示出)的高速扩展端口650。在一些实施方式中,低速控制器660联接到存储设备630和低速扩展端口690。低速扩展端口690可以包括各种通信端口(例如,usb、蓝牙、以太网、无线以太网),可以例如通过网络适配器联接到一个或多个输入/输出设备,诸如键盘、指向设备、扫描仪或网络设备(诸如交换机或路由器)。
65.如图所示,计算设备600可以以多种不同的形式实现。例如,其可以实现为标准服务器600a或在一组这样的服务器600a中多次实现,作为膝上型计算机600b,或作为机架服务器系统600c的一部分。
66.本文所述的系统和技术的各种实施方式可以在数字电子电路和/或光学回路、集成电路、专门设计的asic(专用集成电路)、计算机硬件、固件、软件和/或其组合中实现。这些各种实施方式可以包括在一个或多个计算机程序中的实施方式,该计算机程序可以在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或通用的,该至少一个可编程处理器经联接以从存储系统、至少一个输入设备和至少一个输出设备接收数据和指令并将数据和指令传输到存储系统、至少一个输入设备和至少一个输出设备。
67.这些计算机程序(也称为程序、软件、软件应用或代码)包括用于可编程处理器的机器指令,并且可以以高级过程和/或面向对象的编程语言和/或以汇编/机器语言实现。当在本文使用时,术语“机器可读介质”和“计算机可读介质”是指任何计算机程序产品、非暂
时性计算机可读介质、装置和/或设备(例如,磁盘、光盘、存储器、可编程逻辑设器件(pld)),其用于向可编程处理器提供机器指令和/或数据,包括接收机器指令作为机器可读信号的机器可读介质。术语“机器可读信号”是指用于向可编程处理器提供机器指令和/或数据的任何信号。
68.本说明书中描述的过程和逻辑流可以由一个或多个可编程处理器(也称为数据处理硬件)执行,其执行一个或多个计算机程序以通过对输入数据进行操作并生成输出来执行功能。过程和逻辑流也可以由专用逻辑电路执行,例如fpga(现场可编程门阵列)或asic(专用集成电路)。适合于执行计算机程序的处理器包括,例如,通用和专用微处理器,以及任何种类的数字计算机的任何一个或多个处理器。通常,处理器将从只读存储器或随机存取存储器或两者接收指令和数据。计算机的基本元件是用于执行指令的处理器和用于存储指令和数据的一个或多个存储器设备。通常,计算机还将包括或操作性地联接成从用于存储数据的一个或多个大容量存储设备(例如,磁盘、磁光盘或光盘)接收数据或将数据传输到该一个或多个大容量存储设备或接收和传输数据。然而,计算机不必具有这样的设备。适用于存储计算机程序指令和数据的计算机可读介质包括所有形式的非易失性存储器、介质和存储器设备,例如包括半导体存储器设备,例如,eprom、eeprom和闪存设备;磁盘,例如,内部硬盘或可移动盘;磁光盘;和cd rom和dvd-rom盘。处理器和存储器可以由专用逻辑电路补充或结合在专用逻辑电路中。
69.为了提供与用户的交互,本公开的一个或多个方面可以在具有显示设备并且可选地具有键盘和指向设备(例如鼠标或轨迹球)的计算机上实现,该显示设备例如crt(阴极射线管)、lcd(液晶显示)监视器或触摸屏,用于向用户显示信息,用户可以通过键盘和指向设备向计算机提供输入。也可以使用其他种类的设备来提供与用户的交互;例如,提供给用户的反馈可以是任何形式的感官反馈,例如视觉反馈、听觉反馈或触觉反馈;并且可以以任何形式接收来自用户的输入,包括声音、语音或触觉输入。此外,计算机可以通过向用户使用的设备发送文档和从其接收文档来与用户交互;例如,通过响应于从用户客户端设备上的网络浏览器接收的请求,将网页发送到网络浏览器。
70.已经描述了许多实施方式。然而,应当理解,在不背离本公开的精神和范围的情况下可以进行各种修改。因此,其他实施方式在所附权利要求的范围内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1