# US 2018/0322272 A1 · Cloud based virtual computing system with license server

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

- Number: US 2018/0322272 A1
- Document ID: US20180322272A1
- Status: Published application
- Kind: A1
- Application number: 15/584,770
- Filed: 2017-05-02
- Published: 2018-11-08
- Earliest claimed: 2017-05-02
- Assignees: MobileNerd, Inc.
- Applicants: Emonix, Inc.
- Inventors: Alok Sharma; Suman Banerjee
- Web page: https://patentgrep.com/patent/US20180322272A1

## CPC

- G06F 16/1824: {implemented using Network-attached Storage [NAS] architecture (distributed or networked storage systems G06F3/067; protocols for distributed storage of data in a network H04L67/1097)}
- G06F 21/121: {Restricting unauthorised execution of programs}
- G06F 21/44: Program or device authentication
- H04L 63/0272: {Virtual private networks}
- H04L 63/08: {for authentication of entities (cryptographic mechanisms or cryptographic arrangements for entity authentication H04L9/32)}
- H04L 63/10: {for controlling access to devices or network resources}
- H04L 67/10: in which an application is distributed across nodes in the network (software deployment G06F8/60; multiprogramming arrangements G06F9/46)
- H04L 67/14: Session management (for real-time applications in data packet communications networks H04L65/1066)
- H04W 4/00: Services specially adapted for wireless communication networks; Facilities therefor
- 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)
- H04W: WIRELESS COMMUNICATION NETWORKS (broadcast communication H04H; communication systems using wireless links for non-selective communication, e.g. wireless extensions H04M1/72)

## Abstract

A method includes establishing a virtual network connection between a local network including a plurality of virtual machines executing on at least one application server and a license server. The license server is executed by a first computing device different than the application server. A first license authorization request is received from a first virtual machine of the plurality of virtual machines at the license server over the virtual network connection. A number of active sessions of the first application executing on the plurality of virtual machines is determined. A license approval or a license denial is selectively sent from the license server over the virtual network connection responsive to the first license authorization request based on the number of active sessions.

## Claims

### Claim 1

A method, comprising:
instantiating a plurality of virtual machines on at least one application server, the plurality of virtual machines defining a local network;
establishing a virtual network connection between the local network and a license server, wherein the license server is executed by a first computing device different than the application server;
sending a first license authorization request from a first virtual machine of the plurality of virtual machines to the license server over the virtual network connection to authorize the execution of a first application on the first virtual machine; and
receiving a license approval from the license server over the virtual network connection responsive to the first license authorization request.

### Claim 2 (depends on 1)

The method of claim 1, wherein the virtual network connection comprises a virtual private network (VPN) connection.

### Claim 3 (depends on 1)

The method of claim 1, further comprising:
sending a second license authorization request from a second virtual machine of the plurality of virtual machines to the license server over the virtual network connection;
receiving a second license approval in the second virtual machine from the license server over the virtual network connection responsive to a number of active sessions of the first application on the local network being less a maximum number of authorized sessions; and
receiving a first license denial in the second virtual machine from the license server over the virtual network connection responsive to the number of active sessions of the first application on the local network being equal to the maximum number of authorized sessions.

### Claim 4 (depends on 1)

The method of claim 1, further comprising:
sending a license release notification to the license server responsive to terminating the first application on the first virtual machine.

### Claim 5 (depends on 1)

The method of claim 1, further comprising:
establishing a remote desktop connection between a first computing device and the first virtual machine, the remote desktop connection operating using remote desktop messages formatted according to a first protocol;
establishing a virtual network tunnel between the first computing device and the first virtual machine for communicating the remote desktop messages;
at a first end of the virtual network tunnel, converting remote desktop messages formatted using the first protocol to generate transport messages using a transport protocol different than the first protocol, and communicating the transport messages over the virtual network tunnel; and
at a second end of the virtual network tunnel, receiving the transport messages and extracting the remote desktop messages from the transport messages.

### Claim 6 (depends on 5)

The method of claim 5, wherein converting the remote desktop messages further comprises encrypting the remote desktop messages.

### Claim 7 (depends on 5)

The method of claim 5, wherein the transport protocol comprises a hypertext transfer protocol (HTTP) and the first protocol comprises a remote desktop protocol (RDP).

### Claim 8 (depends on 5)

The method of claim 5, further comprising:
configuring the first computing device as a file system host;
configuring the first virtual machine as a file system client; and
mapping a first storage device coupled to the first computing device as a second storage device in the first virtual machine.

### Claim 9 (depends on 8)

The method of claim 8, further comprising communicating exchanges between the file system host and the file system client over the virtual network tunnel.

### Claim 10 (depends on 5)

The method of claim 5, further comprising:
executing a remote desktop terminal on the first virtual machine and a remote desktop client on the first computing device to implement the remote desktop connection;
executing a virtual network terminal on the first virtual machine interfacing with the remote desktop terminal; and
executing a virtual network client on the first computing device interfacing with the remote desktop client, wherein the virtual network terminal and the virtual network client implement the virtual network tunnel.

### Claim 11 (depends on 10)

The method of claim 10, further comprising:
executing a remote desktop terminal on the first virtual machine and a remote desktop client on the first computing device to implement the remote desktop connection;
executing a virtual network terminal on a second virtual machine different than the first virtual machine to interface with the remote desktop terminal;
executing a virtual network client on the first computing device to interface with the remote desktop client to implement the virtual network tunnel, wherein the virtual network terminal and the virtual network client implement the virtual network tunnel.

### Claim 12

A method, comprising:
establishing a virtual network connection between a local network including a plurality of virtual machines executing on at least one application server and a license server, wherein the license server is executed by a first computing device different than the application server;
receiving a first license authorization request from a first virtual machine of the plurality of virtual machines at the license server over the virtual network connection;
determining a number of active sessions of the first application executing on the plurality of virtual machines; and
selectively sending a license approval or a license denial from the license server over the virtual network connection responsive to the first license authorization request based on the number of active sessions.

### Claim 13 (depends on 12)

The method of claim 12, wherein selectively sending the license approval or the license denial comprises:
sending the license approval responsive to a number of active sessions of the first application on the local network being less a maximum number of authorized sessions; and
sending the license denial responsive to the number of active sessions of the first application on the local network being equal to the maximum number of authorized sessions

### Claim 14 (depends on 12)

The method of claim 12, further comprising:
receiving a license release in the license server from the local network; and
updating the number of active sessions.

### Claim 15 (depends on 12)

The method of claim 12, wherein the virtual network connection comprises a virtual private network (VPN) connection.

### Claim 16

A system, comprising:
a license server executing on a first computing device to establish a virtual network connection with a local network including a plurality of virtual machines executing on at least one application server different than the first computing device, wherein the license server is to receive a first license authorization request from a first virtual machine of the plurality of virtual machines over the virtual network connection, determine a number of active sessions of the first application executing on the plurality of virtual machines, and selectively send a license approval or a license denial from the license server over the virtual network connection responsive to the first license authorization request based on the number of active sessions.

### Claim 17 (depends on 16)

The system of claim 16, wherein the license server is to send the license approval responsive to a number of active sessions of the first application on the local network being less a maximum number of authorized sessions, and sending the license denial responsive to the number of active sessions of the first application on the local network being equal to the maximum number of authorized sessions

### Claim 18 (depends on 16)

The method of claim 16, wherein the license server is to receive a license release from the local network and update the number of active sessions.

### Claim 19 (depends on 16)

The system of claim 16, wherein the virtual network connection comprises a virtual private network (VPN) connection.
