Changes on license validation to synchronize workloads

The intention of this page is to give a look to the discussion about the new process that wants to generates a mechanism that applies the workloads to the company database and updates the license file

The current process

The current workloads update process operates locally on the client computer, and executes the corresponding discounts updating the .lic file from the application. considering any conversion executed. The following diagram represents roughly the current implemented process:

The issue with this approach is that the client can execute all the conversions that they want (if the lines of code for conversion in the license allows it) because they can download the application and activate the corresponding license on a different computer, and then the lines of code will be restored at full. At example:

  1. The client downloads the application an activates a license with 1000 LoC for conversion on a computer A.

  2. The client executes a conversion on computer A using 300 LoC, the local .lic file will be updated to report 700 LoC remaining.

  3. The client downloads the application an activates the same license (if the number of activations parameter allows it) again on a computer B (this will generate a .lic file with the original 1000 LoC).

  4. The client can execute a new conversion on computer B using 800 LoC this time.

  5. And so on.

Proposal for new process

According to the issue found on the current workloads update process, a proposal for a new process has been generated. This new process will try to synchronize the workloads from the client computer with the license on the company database, this to avoid that the client can downloads an used license on a new computer with the initial LoC for conversion. The following diagram represents the new process:

On this new process when the application starts up, will execute a request to an API to request the license information an updates the LoC available on the local .lic file. After a success conversion process execution, the local file will be updated, and after that, a request will be executed to the API to synchronize the new remaining LoC.

Note: This approach presents an issue related to the internet connection, when the application is executed without internet connection, the synchronization process couldn't be executed.

Considerations for the new process

According to the cases explained before, the following approach has been raised: Modify the implementation of the controller to especify through a new property on the controller settings that the application will be using the "Online mode" or the "Local mode" for the workloads update process.

  • On ONLINE MODE, the workloads update process will execute the workflow on the Diagram 2 (New process proposal), but the application that uses this mode needs to be connected to the internet permanently (as a backup the .lic file will be continuelly updated).

  • On LOCAL MODE, the workloads update process will execute the workflow on the Diagram 1 (current workload process) as currently do.

Last updated