Controlling Concurrent User Access with Network Floating Licensing

By Mike Wozniak  |  Software Licensing Tips

Posted:  September 16

Network users

Under the control of network floating licensing, software can be installed on many or all computers throughout your customer's organization allowing a prescribed number of end-users (determined by the software license) to run the software at the same time. When the ceiling is reached, a new user will need to wait for a previously authorized user to complete use of the software and terminate his or her session. This provides your customers with more flexibility in maximizing the use of your software while still giving you the control to limit usage.

Why offer Network Floating Licensing options with your software?

There are several compelling reasons why software companies are typically interested in licensing by concurrent user, such as:

  1. There is an increase in demand from end-users to provide concurrent user license functionality.
  2. Licenses for companies with locations across diverse geographic locations can move across the globe as the sun rises and sets.
  3. This allows volume/site licensing that still keeps control over license use and distribution.
  4. Maintaining control while allowing software to run in Virtual Machines is often best achieved with concurrent user licensing.

Considerations with Network Floating Licensing

There are numerous considerations associated with the concepts of network floating licensing, such as:

  • What type of IT administrators are available at the company’s location to set up and administer the server infrastructure?
  • Does your software require Internet access or is Internet access available to your customers when they run the software? If so, can the network floating licensing server be located on the Internet?
  • Do end-users always run the software over a high-speed Local Area Network (LAN), or do they work remotely over a Wide Area Network (WAN) or Virtual Private Network (VPN)?
  • Do end users need to "check out" a software license from the network floating server, then disconnect from the corporate network and run disconnected for a period of time?
  • How soon after a computer crash or the abnormal termination of the application will the software license be usable by the same or a different user?
  • What type of software is being licensed? Concurrent user licensing for a desktop application is significantly different from a web-based application due to the nature of the application.

The focus of this blog post is Network Floating Licensing for a desktop application. The concept of concurrent user limitations for a web application will be the topic of a future blog post.

Possible Approaches to Network Floating Licensing

We have explored several approaches to enforcing a maximum number of concurrent users in a running application.

Exclusive File Locking Technique with Local File Server

Have you ever tried to open an Office document from a network shared folder and seen a dialog box that the file was being edited and give you the option to open read-only or be notified when the document is available for editing? An exclusive file locking technique is a simple and often a sufficient way to track the number of concurrent users on a small network where all users are connected to the same folder for sharing files.

  • Simple APIs to setup in application source code.
  • No Internet access is required.
  • Since no special server software needs to be installed on a dedicated server, most users can configure the local file share without having strong IT administration skills.
  • This type of architecture is ideally suited for use in high-speed LAN environments where a nominal amount of concurrent users are continually online and, therefore, license check-in or check-out activities are not required.

For over 20 years, Protection PLUS has featured the concept of Network Floating Licensing using a simple file server along with an exclusive file locking technique. This can limit the number of concurrent executions of your software at a given customer’s location, and every customer can have a different number of allowed concurrent users. We have many customers using this system as it stands today with great success.

Concurrency Server on Local Office LAN

The ensuing step above the local file server approach would be to install Network Floating Licensing software on one of the customer’s servers. This would, naturally, require the engagement of the customer’s IT staff to set up and maintain but would not require uninterrupted Internet access.

  • Continued internet access is not required.
  • Requires IT administrator to set up and manage the concurrency server software.
  • License check-out and check-in may or may not be available, depending on security requirements.
  • Scales to a large number of users, even those connecting on a lower-speed WAN or VPN

To make such a system that is easy for the developers to implement AND easy for the IT administrators to install and maintain AND secure to make it difficult to tamper with (especially because this system is running in an untrusted environment where you have no control) presents a significant challenge for any development team. For this reason, the SoftwareKey Team continues working on this until we are satisfied with a solution that best addresses and balances all of these requirements.

Cloud-Controlled Network Floating Licensing

For applications that mandate Internet access or if Internet access is available to your customers when they run the software, the concept of Cloud-Controlled Network Floating Licensing can be implemented using a central server on the Internet.

  • Has similar scalability capabilities and licensing features to "Concurrency Server on Local Office LAN."
  • Customer doesn't need to manage local concurrency server software or have IT administrative experience.
  • Provides additional security to the software publisher since concurrency server is always running in a trusted environment and difficult for the end user to tamper.
  • Easier to track usage of the application in a central location (advanced).

Network Floating Licensing using the Internet can be implemented using Protection PLUS 5 SDK and SOLO Server. We have developed a licensing API with full check-in/check-out capabilities. Instead of installing software on a local customer server to enforce concurrency, a single central SOLO Server license is shared by all of your customers. Please contact us to learn how to evaluate this system and for pricing.

The Cloud-Controlled Network Floating Licensing option has greatly simplified our license authentication process. Moving from a LAN approach to a WAN approach has also made our clients' lives easier, as they only need to manage one account for all offices instead of the one-license-per-office approach. And if it makes our clients happy, it makes us happy.

License authentication time using the Cloud approach is proving to be significantly faster than license authentication using a WAN approach in conjunction with some clients' own server.

Clint Monari
Lead UI Developer, Bridge Software Institute

Summary

Network floating licensing allows you to provide a licensing model that is convenient and efficient for your customers. The SoftwareKey System offers multiple approaches to achieve the best results for your particular needs based on the considerations described here. If you have any general questions about network floating licensing or feedback on this post, please contact us!

About the Author

Mike Wozniak is the founder of SoftwareKey.com and responsible for marketing, content and product strategy. When he isn't plotting new ways to help customers solve licensing and business automation challenges, he likes to travel and entertain guests who come to visit the Orlando area.

Mike Wozniak


Tags


Related Posts

3 Steps to Validate Software Licensing, Protect Profits, and Keep Customers Happy

3 Steps to Validate Software Licensing, Protect Profits, and Keep Customers Happy
{"email":"Email address invalid","url":"Website address invalid","required":"Required field missing"}
>