# US 11,121,982 B2 · Virtual computing services deployment network

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

- Number: US 11,121,982 B2
- Document ID: US11121982B2
- Status: Granted
- Kind: B2
- Application number: 16/057,303
- Filed: 2018-08-07
- Published: 2018-12-06
- Granted: 2021-09-14
- Earliest claimed: 2008-01-03
- Assignees: VMware, Inc.
- Applicants: VMware, Inc.
- Inventors: Clinton B. Battersby; Kenneth Ringdahl; James Snow; Paul J. Gaffney; Andrew W. Hobgood
- Web page: https://patentgrep.com/patent/US11121982B2

## CPC

- G06F 9/5044: {considering hardware capabilities}
- H04L 47/70: Admission control; Resource allocation
- H04L 47/82: {Miscellaneous aspects}
- H04L 67/10: in which an application is distributed across nodes in the network (software deployment G06F8/60; multiprogramming arrangements G06F9/46)
- H04L 67/141: Setup of application sessions (admission control or resource allocation in data switching networks H04L47/70)
- H04L 67/306: User profiles
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

A virtual computing services deployment network provides a consistent user experience from a variety of locations via a connection fabric for accessing a virtual desktop. The connection fabric identifies a user profile defining the virtualized desktop resources required for a particular user. The connection fabric includes distributed data and processing in nodes distributed throughout a public access network accessible from a user access device. Each of the fabric nodes is operable to provide an identifier (such as an IP address) of a computing resource adapted to provide the user specific desktop. A user access device accesses a local fabric node in the connection fabric, and the fabric node determines a computing resource matching a user profile of expected computing resources. The fabric node associates the user access device with the computing resource and sends the user access device an identifier for directly accessing the computing resource.

## Claims

### Claim 1

A method comprising:
receiving, at a connection fabric having a plurality of fabric nodes, a connection request for a computing resource from a user access point, wherein a user of the user access point is associated with a profile indicating resource parameters for a connected computing resource;
identifying, by the connection fabric, the profile associated with the user, wherein the connection fabric comprises a plurality of nodes forming part of a distributed data repository such that each node contains a distributed portion of a set of user profiles for the plurality of users, wherein identifying the profile comprises traversing one or more nodes until a match is found;
identifying, from a particular node of the connection fabric, the computing resource that satisfies the resource parameters of the profile, wherein the identifying from the particular node comprises accessing the user profile maintained by the nodes of the connection fabric and using the resource parameters of a virtual desktop defined by the profile to identify the computing resource; and
providing an identity of the identified computing resource to the user access point.

### Claim 2 (depends on 1)

The method of claim 1, comprising:
retrieving, from a mapping of computing resources to applications, a network location of the identified computing resource, wherein the mapping is located on the particular node of the connection fabric, and wherein the mapping identifies the applications and operating systems available on each of the plurality of computing resources.

### Claim 3 (depends on 2)

The method of claim 2, wherein retrieving the network location is based on a correlation of the profile and available computing resources.

### Claim 4 (depends on 1)

The method of claim 1, comprising:
associating the user with the identified computing resource including designating the match in a repository for future reference.

### Claim 5 (depends on 4)

The method of claim 4, wherein designating the match includes storing a hash of the match in a distributed hash table.

### Claim 6 (depends on 1)

The method of claim 1, wherein the connection fabric comprises a plurality of nodes, wherein the plurality of nodes are collectively responsive to the user access point for determining the computing resource according the profile.

### Claim 7 (depends on 1)

The method of claim 1, wherein the nodes of the connection fabric further comprise information about available computing resources.

### Claim 8 (depends on 1)

The method of claim 1, wherein identifying the profile comprises;
determining whether the profile associated with the user is found on a first node of the connection fabric, and
in response to a determination that the profile associated with the user is not found on the first node, iteratively traversing one or more second nodes of the plurality of nodes of the connection fabric until the profile is found.

### Claim 9 (depends on 1)

The method of claim 1, wherein identifying the computer resource includes matching the resource parameters of the profile to particular applications and operating systems available on each of the plurality of available computing resources.

### Claim 10

A system comprising:
a plurality of computing devices configured to provide a plurality of nodes of a connection fabric and a plurality of computing resources, wherein the connection fabric is configured to perform operations comprising:
receiving, at a connection fabric having a plurality of fabric nodes, a connection request for a computing resource from a user access point, wherein a user of the user access point is associated with a profile indicating resource parameters for a connected computing resource;
identifying, by the connection fabric, the profile associated with the user, wherein the connection fabric comprises a plurality of nodes forming part of a distributed data repository such that each node contains a distributed portion of a set of user profiles for the plurality of users, wherein identifying the profile comprises traversing one or more nodes until a match is found;
identifying, from a particular node of the connection fabric, the computing resource that satisfies the resource parameters of the profile, wherein the identifying from the particular node comprises accessing the user profile maintained by the nodes of the connection fabric and using the resource parameters of a virtual desktop defined by the profile to identify the computing resource; and
providing an identity of the identified computing resource to the user access point.

### Claim 11 (depends on 10)

The system of claim 10, wherein the connection fabric is further configured to perform operations comprising:
retrieving, from a mapping of computing resources to applications, a network location of the identified computing resource, wherein the mapping is located on the particular node of the connection fabric, and wherein the mapping identifies the applications and operating systems available on each of the plurality of computing resources.

### Claim 12 (depends on 11)

The system of claim 11, wherein retrieving the network location is based on a correlation of the profile and available computing resources.

### Claim 13 (depends on 10)

The system of claim 10, wherein the connection fabric is further configured to perform operations comprising:
associating the user with the identified computing resource including designating the match in a repository for future reference.

### Claim 14 (depends on 13)

The system of claim 13, wherein designating the match includes storing a hash of the match in a distributed hash table.

### Claim 15 (depends on 10)

The system of claim 10, wherein the connection fabric comprises a plurality of nodes, wherein the plurality of nodes are collectively responsive to the user access point for determining the computing resource according the profile.

### Claim 16 (depends on 10)

The system of claim 10, wherein the nodes of the connection fabric further comprise information about available computing resources.

### Claim 17

One or more storage devices including computer program instructions that when executed by one or more processors are configured to perform operations comprising:
receiving, at a connection fabric having a plurality of fabric nodes, a connection request for a computing resource from a user access point, wherein a user of the user access point is associated with a profile indicating resource parameters for a connected computing resource;
identifying, by the connection fabric, the profile associated with the user, wherein the connection fabric comprises a plurality of nodes forming part of a distributed data repository such that each node contains a distributed portion of a set of user profiles for the plurality of users, wherein identifying the profile comprises traversing one or more nodes until a match is found;
identifying, from a particular node of the connection fabric, the computing resource that satisfies the resource parameters of the profile, wherein the identifying from the particular node comprises accessing the user profile maintained by the nodes of the connection fabric and using the resource parameters of a virtual desktop defined by the profile to identify the computing resource; and
providing an identity of the identified computing resource to the user access point.

### Claim 18 (depends on 17)

The one or more storage devices of claim 17, further comprising instructions that when executed by one or more processors are configured to perform operations comprising:
retrieving, from a mapping of computing resources to applications, a network location of the identified computing resource, wherein the mapping is located on the particular node of the connection fabric, and wherein the mapping identifies the applications and operating systems available on each of the plurality of computing resources.

### Claim 19 (depends on 18)

The one or more storage devices of claim 18, wherein retrieving the network location is based on a correlation of the profile and available computing resources.

### Claim 20 (depends on 17)

The one or more storage devices of claim 17, further comprising instructions that when executed by one or more processors are configured to perform operations comprising:
associating the user with the identified computing resource including designating the match in a repository for future reference.

### Claim 21 (depends on 20)

The one or more storage devices of claim 20, wherein designating the match includes storing a hash of the match in a distributed hash table.

### Claim 22 (depends on 17)

The one or more storage devices of claim 17, wherein the connection fabric comprises a plurality of nodes, wherein the plurality of nodes are collectively responsive to the user access point for determining the computing resource according the profile.
