# US 10,122,828 B1 · Geographic-aware virtual desktops

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

- Number: US 10,122,828 B1
- Document ID: US10122828B1
- Status: Granted
- Kind: B1
- Application number: 14/547,821
- Filed: 2014-11-19
- Granted: 2018-11-06
- Earliest claimed: 2014-11-19
- Assignees: Amazon Technologies, Inc.
- Applicants: Amazon Technologies, Inc.
- Inventors: Varun Verma
- Web page: https://patentgrep.com/patent/US10122828B1

## CPC

- H04L 61/5061: Pools of addresses
- H04L 61/50: Address allocation
- H04L 61/5007: Internet protocol [IP] addresses
- H04L 67/52: specially adapted for the location of the user terminal
- H04L 2101/69: using geographic information, e.g. room number
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

Systems and methods for geographic-aware virtual desktops are disclosed. In one example, a pool of network addresses can be maintained. Each network address can be associated with a respective geographical location. The pool of network addresses can include network addresses associated with different respective geographical locations. A geographical location associated with a client device accessing a virtual desktop can be determined. An external-facing network address can be selected from the pool of network addresses based on the geographical location associated with the client device. The external-facing network address can be assigned for network traffic associated with the virtual desktop.

## Claims

### Claim 1

A method of generating a remote desktop request, the method comprising:
receiving a connection request from a client device in a first geographic location to a host server computer in a second geographic location so as to establish a virtual desktop, wherein the first geographic location and the second geographic location are located in different regions of a country or in different countries;
determining that the client device is located in the first geographic location;
maintaining a pool of faux geographic-specific Internet Protocol (IP) addresses, each faux geographic-specific IP address associated with a respective geographic location, the pool of faux geographic-specific IP addresses including IP addresses associated with different respective geographic locations;
determining distances from the first geographic location of the client device to the different respective geographic locations associated with respective faux geographic-specific IP addresses of the pool of faux geographic-specific IP addresses;
using the determined distances to select a particular faux geographic-specific IP address from the pool of faux geographic-specific IP addresses;
assigning the selected faux geographic-specific IP address to the host server computer so that the virtual desktop executing on the host server computer appears as though it is located in the first geographic location and not in the second geographic location for requests transmitted to third-party web servers;
generating a request for a webpage using the virtual desktop; and
transmitting the request for the webpage from the host server computer using the selected faux geographic-specific IP address.

### Claim 2 (depends on 1)

The method according to claim 1, wherein determining that the client device is located in the first geographic location comprises:
determining an IP address of the client device; and
using a geolocation service to map the IP address of the client device to the first geographic location.

### Claim 3 (depends on 1)

The method according to claim 1, wherein determining that the client device is located in the first geographic location comprises receiving an indication of the first geographic location from the client device.

### Claim 4 (depends on 1)

The method according to claim 1, wherein the pool of geographic-specific IP addresses comprises a first IP address associated with a first country, and a second IP address associated with a second country.

### Claim 5 (depends on 1)

The method according to claim 1, wherein the virtual desktop is a remote desktop executing in a partition of a multi-tenant environment.

### Claim 6

A computer-readable storage medium including instructions that upon execution cause a computer system to:
determine a geographical location associated with a client device accessing a virtual desktop, the geographical location corresponding to a region of a country;
determine distances from the geographical location associated with the client device to geographical locations associated with network addresses of a pool of network addresses, each network address of the pool of network addresses being associated with a respective geographical location, the pool of network addresses including network addresses associated with different respective geographical locations;
select an external-facing network address from the pool of network addresses based on the determined distances, wherein the geographical location associated with the selected external-facing network address is closer to the geographical location associated with the client device than a geographical location associated with a host server computer allocated to execute the virtual desktop, wherein the geographical location associated with the selected external-facing network address and the geographical location associated with the client device are located in different regions of a country or in different countries; and
assign the external-facing network address to the host server computer allocated to execute the virtual desktop, the host server computer in a different geographical location than the client device, the external-facing network address used for network traffic associated with the virtual desktop;
generate a request for a webpage using the virtual desktop; and
transmit the request for the webpage from the host server computer using the assigned external-facing network address.

### Claim 7 (depends on 6)

The computer-readable storage medium according to claim 6, wherein determining the geographical location associated with the client device accessing the virtual desktop comprises:
determining a network address of the client device; and
using a geolocation service to map the network address of the client device to the geographical location associated with the client device.

### Claim 8 (depends on 6)

The computer-readable storage medium according to claim 6, wherein determining the geographical location associated with the client device accessing the virtual desktop comprises receiving the geographical location from the client device.

### Claim 9 (depends on 6)

The computer-readable storage medium according to claim 6, wherein the pool of network addresses comprises a first network address associated with a first country, and a second network address associated with a second country.

### Claim 10 (depends on 6)

The computer-readable storage medium according to claim 6, wherein selecting the external-facing network address from the pool of network addresses based on the geographical location associated with the client device comprises selecting a network address associated with the same geographical location associated with the client device and assigning it to a host server computer in a different geographical location, the host server computer for forwarding the network traffic associated with the virtual desktop.

### Claim 11 (depends on 6)

The computer-readable storage medium according to claim 6, wherein selecting the external-facing network address from the pool of network addresses based on the geographical location associated with the client device comprises:
selecting the external-facing network address to be a network address associated with the geographical location that is closest to the geographical location associated with the client device.

### Claim 12 (depends on 6)

The computer-readable storage medium according to claim 6, wherein the instructions, upon execution, further cause the computer system to:
configure a network interface to use the external-facing network address for network traffic associated with the virtual desktop.

### Claim 13 (depends on 6)

The computer-readable storage medium according to claim 6, wherein the virtual desktop is a remote desktop executing in a multi-tenant environment.

### Claim 14

A system for a multi-tenant environment of a service provider comprising:
a storage system for storing a pool of network addresses, each network address associated with a respective geographical location, the pool of network addresses including network addresses associated with different respective geographical locations, the different geographical locations located in different regions of a country or in different countries; and
a virtual desktop provisioning service in communication with the storage system, the virtual desktop provisioning service configured to:
determine a geographical location associated with a client device;
determine distances from the geographical location associated with the client device to the respective geographical locations associated with network addresses of the pool of network addresses;
select an external-facing network address from the pool of network addresses based on the determined distances, wherein the geographical location associated with the selected external-facing network address is closer to the geographical location associated with the client device than a geographical location associated with a server computer selected to execute a virtual desktop associated with the client device; and
configure the virtual desktop associated with the client device to use the external-facing network address for network traffic associated with the virtual desktop, the virtual desktop executing on the server computer in a different geographical location than the geographical location associated with the client device; and
the virtual desktop configured to:
generate a request for a webpage; and
transmit the request for the webpage from the virtual desktop using the selected external-facing network address.

### Claim 15 (depends on 14)

The system according to claim 14, wherein determining the geographical location associated with the client device comprises:
determining a network address of the client device; and
using a geolocation service to map the network address of the client device to the geographical location associated with the client device.

### Claim 16 (depends on 14)

The system according to claim 14, wherein determining the geographical location associated with the client device comprises receiving the geographical location from the client device.

### Claim 17 (depends on 14)

The system according to claim 14, wherein the pool of network addresses comprises a first network address associated with a first country, and a second network address associated with a second country.

### Claim 18 (depends on 14)

The system according to claim 14, wherein selecting the external-facing network address from the pool of network addresses based on the geographical location associated with the client device comprises selecting a network address associated with the same geographical location associated with the client device.

### Claim 19 (depends on 14)

The system according to claim 14, wherein selecting the external-facing network address from the pool of network addresses based on the geographical location associated with the client device comprises:
selecting the external-facing network address to be a network address associated with the geographical location that is closest to the geographical location associated with the client device.
