# Cloud Concurrent Licensing

With LicenseSpring, application developers can allocate licenses for simultaneous usage, wherein LicenseSpring functions as the floating license server.

![LicenseSpring Floating Cloud Visualization](https://content.gitbook.com/content/gLzurdfXUuKr9IziZWLz/blobs/whlEpm0Xr8NNGW4sbALe/EPAhDhHvl54itpVw_2eZq_image.png)

### Configuring Floating Cloud Licenses

Configuring a cloud-based floating license involves adjusting several parameters:

#### Timeout Period

Within the process of setting up a new product, you'll encounter a parameter named "floating timeout."

This value, measured **in minutes**, dictates how frequently the license application must communicate with the LicenseSpring server to maintain the license's active state.

Should the application fail to establish contact with the server before the designated timeout duration elapses, the license will be automatically freed from that particular application.

If you wish to modify the Floating timeout duration for an already-configured product, follow these steps:

{% stepper %}
{% step %}

### Modify the floating timeout

* Access the product.
* Choose "Edit Product".
* Navigate to "License Configuration".
  {% endstep %}
  {% endstepper %}

{% hint style="info" %}
**Note:** The floating timeout period is defined at the product level, but you can override it per license policy or on the license itself.
{% endhint %}

![Initial product configuration allows you to set the floating timeout.](https://content.gitbook.com/content/gLzurdfXUuKr9IziZWLz/blobs/64ZH3V47Vn7BXfKZNpZd/gEyOA3W7ZK5Jb6OAfL3gi_scr%2020230809%20lsvj.png)

![Set floating timeout on license policy](https://content.gitbook.com/content/gLzurdfXUuKr9IziZWLz/blobs/hBopdM3PuLu9RpezQ2mE/3M%20JarL3wFhsBaLF_KIRR_scr%2020230809%20ltcv.png)

![](https://content.gitbook.com/content/gLzurdfXUuKr9IziZWLz/blobs/uVoPTCF43ie4ZIF8tnVq/_k9VCT8sVyamxUxNnIP56_scr%2020230809%20lscw.png)

#### Max Simultaneous License Users

During the setup of a new product license policy, if the chosen license type is a floating cloud license, you will specify the quantity of devices that can simultaneously utilize the license.

Additionally, it's possible to designate the number of concurrent users at the time of license issuance, and this allocation can be modified subsequently, even after the license has already been granted.

{% hint style="info" %}
**Note:** Max simultaneous users is **not the same** as max activations. Simultaneous users are the total number of machines that can concurrently use a license, while max activations are the number of machines that are node locked to the license.

A license must have been activated on a device before the device can check it out.

Simultaneous users should therefore be less than or equal to max activations, if max activations are not set to unlimited.
{% endhint %}

![Setting the default max concurrent usage.](https://content.gitbook.com/content/gLzurdfXUuKr9IziZWLz/blobs/tZZJCiF16DWGWj2K0FtQ/68x2xYspxsz5lU2Blsi01_scr%2020230809%20lugq.png)

![Changing the default max simultaneous license users value.](https://content.gitbook.com/content/gLzurdfXUuKr9IziZWLz/blobs/4I4kvD3Pqx5LbTDvS5PN/SvWJgf5s7a0f3uHW%20v90%20_scr%2020230809%20luon.png)

The usage of these licenses is similar to that of normal licenses. You utilize `activate_license`, `check_license` and other endpoints as usual. The SDK handles the other aspects such as checking for concurrent usage.

After a license is activated, it needs to be checked to occupy a floating slot.

#### Release

Floating licenses can be released using: API, Platform and License Manager.

**API**

A call should be made to `/api/v4/floating/release` to gracefully release the license floating slot. This call will avoid waiting for the timeout to release the license.

See [Release Floating License](https://docs.licensespring.com/license-api/floating/features/release-floating-license) for more information on how to release a floating license via our API.

**Platform**

To release a license inside the platform go to: License --> Devices --> Choose device --> Actions --> Revoke

![](https://content.gitbook.com/content/gLzurdfXUuKr9IziZWLz/blobs/H9VbkoVQlEGQclEuiYth/gSvhRhCeYehzdP2coUCb1_image.png)
