# US 12,120,024 B2 · Virtual carrier network

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 12,120,024 B2
- Document ID: US12120024B2
- Status: Granted
- Kind: B2
- Application number: 17/453,188
- Filed: 2021-11-02
- Published: 2022-05-05
- Granted: 2024-10-15
- Earliest claimed: 2020-11-02
- Assignees: Google Inc.
- Applicants: Google LLC
- Inventors: Benedict Seng Sum Wong; Nathan C. Harold
- Web page: https://patentgrep.com/patent/US12120024B2

## CPC

- H04L 45/586: of virtual routers
- H04W 76/12: Setup of transport tunnels
- G06F 9/45558: {Hypervisor-specific management and integration aspects}
- H04L 12/4633: {Interconnection of networks using encapsulation techniques, e.g. tunneling}
- H04L 12/4641: {Virtual LANs, VLANs, e.g. virtual private networks [VPN] (LAN interconnection over a bridge based backbone H04L12/462; encapsulation techniques H04L12/4633; routing of packets H04L45/00; packet switches H04L49/00; virtual private networks for security H04L63/0272)}
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)
- H04W: WIRELESS COMMUNICATION NETWORKS (broadcast communication H04H; communication systems using wireless links for non-selective communication, e.g. wireless extensions H04M1/72)
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

A method for a virtual network of a mobile device includes, for the mobile device executing a user application and simultaneously connected to a first wireless network and a second wireless network, selecting a remote server from a plurality of remote servers. The method also includes establishing the virtual network between the mobile device and the selected remote server. The virtual network includes at least one tunnel between the mobile device and the selected remote server over the first wireless network and the second wireless network. The method also includes transmitting data from the user application to the selected remote server over the virtual network. The data, when received by the selected remote server, causes the selected remote server to route the data to a destination server.

## Claims

### Claim 1

A method comprising:
selecting, by data processing hardware of a mobile device executing a user application, one of a first wireless network associated with a mobile virtual network operator (MVNO) and a second wireless network associated with the same MVNO;
selecting, by the data processing hardware, a remote server from a plurality of remote servers based on the one of the first wireless network and the second wireless network, both of which are associated with the same MVNO, each remote server of the plurality of remote servers associated with a geographical location;
establishing, by the data processing hardware, a virtual network between the mobile device and the selected remote server, the virtual network comprising at least one tunnel between the mobile device and the selected remote server over the one of the first wireless network and the second wireless network; and
transmitting, by the data processing hardware, data from the user application to the selected remote server over the virtual network via one of the at least one tunnel between the mobile device and the selected remote server over the one of the first wireless network and the second wireless network, the data when received by the selected remote server causing the selected remote server to route the data to a destination server.

### Claim 2 (depends on 1)

The method of claim 1, wherein:
the at least one tunnel between the mobile device and the selected remote server over the first wireless network comprises a first tunnel supporting data of a first service and a second tunnel supporting data of a second service;
the at least one tunnel between the mobile device and the selected remote server over the second wireless network comprises a third tunnel supporting data of the first service and a fourth tunnel supporting data of the second service; and
transmitting data from the user application to the selected remote server over the virtual network comprises selecting the first tunnel or the second tunnel between the mobile device and the selected remote server via the first wireless network or the third tunnel or the fourth tunnel between the mobile device and the selected remote server via the second wireless network based on the user application.

### Claim 3 (depends on 1)

The method of claim 1, wherein the first service comprises an Internet service and the second service comprises a tethering service.

### Claim 4 (depends on 1)

The method of claim 1, further comprising, after transmitting the data from the user application to the selected remote server:
connecting, by the data processing hardware, the mobile device to a third wireless network, the third wireless network comprising a user Wireless Fidelity (Wi-Fi) network; and
transmitting, by the data processing hardware, data from the user application to the destination server over the third wireless network.

### Claim 5 (depends on 1)

The method of claim 1, wherein selecting the remote server from the plurality of remote servers is based on the geographical location of each remote server of the plurality of remote servers.

### Claim 6 (depends on 5)

The method of claim 5, further comprising, prior to selecting the remote server from the plurality of remote servers:
selecting, by the data processing hardware, a preferred wireless network from the first wireless network or the second wireless network based on a network preference,
wherein selecting the remote server from the plurality of remote servers is based on the selected preferred wireless network.

### Claim 7 (depends on 6)

The method of claim 6, further comprising, after selecting the preferred wireless network:
selecting, by the data processing hardware, a second remote server from the plurality of remote servers based on the geographical location of each remote server of the plurality of remote servers;
establishing, by the data processing hardware, a second virtual network between the mobile device and the selected second remote server; and
transmitting, by the data processing hardware, data from the user application to the selected second remote server over the second virtual network, the data when received by the selected second remote server causing the selected second remote server to route the data to the destination server.

### Claim 8 (depends on 1)

The method of claim 1, wherein the user application comprises a virtual private network (VPN) application and wherein the destination server comprises a VPN server associated with the VPN application.

### Claim 9 (depends on 1)

The method of claim 1, further comprising, determining, by the data processing hardware, whether the first wireless network is associated with the same MVNO as the second wireless network.

### Claim 10 (depends on 1)

The method of claim 1, wherein the first wireless network comprises a cellular network and the second wireless network comprises a Wireless Fidelity (Wi-Fi) network.

### Claim 11

A system comprising:
data processing hardware of a mobile device; and
memory hardware in communication with the data processing hardware, the memory hardware storing instructions that when executed on the data processing hardware cause the data processing hardware to perform operations comprising:
selecting, for the mobile device executing a user application, one of a first wireless network associated with a mobile virtual network operator (MVNO) and a second wireless network associated with the same MVNO;
selecting a remote server from a plurality of remote servers based on the one of the first wireless network and the second wireless network, both of which are associated with the same MVNO, each remote server of the plurality of remote servers associated with a geographical location;
establishing a virtual network between the mobile device and the selected remote server, the virtual network comprising at least one tunnel between the mobile device and the selected remote server over the one of the first wireless network and the second wireless network; and
transmitting data from the user application to the selected remote server over the virtual network via one of the at least one tunnel between the mobile device and the selected remote server over the one of the first wireless network and the second wireless network, the data when received by the selected remote server causing the selected remote server to route the data to a destination server.

### Claim 12 (depends on 11)

The system of claim 11, wherein:
the at least one tunnel between the mobile device and the selected remote server over the first wireless network comprises a first tunnel supporting data of a first service and a second tunnel supporting data of a second service;
the at least one tunnel between the mobile device and the selected remote server over the second wireless network comprises a third tunnel supporting data of the first service and a fourth tunnel supporting data of the second service; and
transmitting data from the user application to the selected remote server over the virtual network comprises selecting the first tunnel or the second tunnel between the mobile device and the selected remote server via the first wireless network or the third tunnel or the fourth tunnel between the mobile device and the selected remote server via the second wireless network based on the user application.

### Claim 13 (depends on 11)

The system of claim 11, wherein the first service comprises an Internet service and the second service comprises a tethering service.

### Claim 14 (depends on 11)

The system of claim 11, wherein the operations further comprise, after transmitting the data from the user application to the selected remote server:
connecting the mobile device to a third wireless network, the third wireless network comprising a user Wireless Fidelity (Wi-Fi) network; and
transmitting data from the user application to the destination server over the third wireless network.

### Claim 15 (depends on 11)

The system of claim 11, wherein selecting the remote server from the plurality of remote servers is based on the geographical location of each remote server of the plurality of remote servers.

### Claim 16 (depends on 15)

The system of claim 15, wherein the operations further comprise, prior to selecting the remote server from the plurality of remote servers:
selecting a preferred wireless network from the first wireless network or the second wireless network based on a network preference,
wherein selecting the remote server from the plurality of remote servers is based on the selected preferred wireless network.

### Claim 17 (depends on 16)

The system of claim 16, wherein the operations further comprise, after selecting the preferred wireless network:
selecting a second remote server from the plurality of remote servers based on the geographical location of each remote server of the plurality of remote servers;
establishing a second virtual network between the mobile device and the selected second remote server; and
transmitting data from the user application to the selected second remote server over the second virtual network, the data when received by the selected second remote server causing the selected second remote server to route the data to the destination server.

### Claim 18 (depends on 11)

The system of claim 11, wherein the user application comprises a virtual private network (VPN) application and wherein the destination server comprises a VPN server associated with the VPN application.

### Claim 19 (depends on 11)

The system of claim 11, wherein the operations further comprise, determining whether the first wireless network is associated with the same MVNO as the second wireless network.

### Claim 20 (depends on 11)

The system of claim 11, wherein the first wireless network comprises a cellular network and the second wireless network comprises a Wireless Fidelity (Wi-Fi) network.
