IP Library Granted Patent US 12,505,177
Granted Patent B2
US 12,505,177 · App. 17/900,999 · Granted Dec 23, 2025

Systems and methods for managing software provisioning based on adjusted usage conditions of software items

Inventor: Martijn Van der Schaaf (Zuidland, NL)
Assignee: Acronis International GmbH
G06F21/105
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,505,177
App. No.
17/900,999
Granted
Dec 23, 2025
Kind
B2
Abstract

Disclosed herein are systems and method for managing software item access. A method may include: monitoring usage of a plurality of software items distributed over a network of computing devices; identifying a contract for the network governing the usage of the plurality of software items, wherein the contract includes a plurality of usage conditions that the network has to comply with to access the plurality of software items; determining whether a discrepancy between an adjustable usage condition of the plurality of usage conditions and the usage of the plurality of software items by the network exists; in response to determining that the discrepancy exists, generating a new usage condition based on historic usage condition parameters and the usage of the plurality of software items; updating the contract with the new usage condition; and managing access to the plurality of software items by the network based on the updated contract.

Claims (63)

1 . A method for software provisioning by a contract management module (CMM) installed on a server as a thick client application and on a network of computing devices as thin client applications, the method comprising:

monitoring, by the thin client applications installed on the network of computing devices, usage of a plurality of software items distributed over the network of computing devices;

reporting, by the thin client applications installed on the network of computing devices to the thick client application installed on the server, usage of the plurality of software items distributed over the network of computing devices;

identifying, by the thick client application installed on the server, in a database of contracts stored on the server or on a separate database server, a contract for the network governing the usage of the plurality of software items, wherein the contract includes a plurality of usage conditions that the network has to comply with to access the plurality of software items;

determining, by the thick client application installed on the server, whether a discrepancy between an adjustable usage condition of the plurality of usage conditions in the contract and the usage of the plurality of software items by the network exists;

in response to determining that the discrepancy with the adjustable usage condition in the contract exists:

determining, by the thick client application installed on the server, whether historic usage condition parameters, which are from inactive contracts of the network representing transactions that have expired or completed, include usage conditions that can resolve the discrepancy;

in response to determining that the historic usage condition parameters associated with the network do not include usage conditions that can resolve the discrepancy, identifying a first network type of the network; and

retrieving, from a historic usage conditions database, additional historic usage condition parameters associated with a different network with a second network type that matches the first network type;

generating, by the thick client application installed on the server, a new usage condition based on the additional historic usage condition parameters and the usage of the plurality of software items by the network, wherein the adjustable usage condition indicates a maximum amount of software item features that can be used by a given computing device, and wherein determining whether the discrepancy exists comprises determining that the maximum amount has been exceeded, and wherein the new usage condition increases the maximum amount of software item features so that the discrepancy does not exist;

updating, by the thick client application installed on the server, the contract with the new usage condition; and

enabling or disabling, by the thick client application installed on the server, access to the plurality of software items by the network based on the updated contract.

2 . The method of claim 1 , wherein disabling the access to the plurality of software items comprises:

determining whether another discrepancy exists between a non-adjustable usage condition of the plurality of usage conditions and the usage of the plurality of software items by the network; and

in response to determining that the another discrepancy exists, disabling the access.

3 . The method of claim 1 , wherein the plurality of software items are hosted on a cloud and wherein the plurality of software items includes one or more of: a software application, a software-as-a-service, a platform-as-a-service, an infrastructure-as-a-service, and a container-as-a-service.

4 . The method of claim 1 , wherein the adjustable usage condition indicates a usage term period after which at least one software item is no longer accessible to the network of computing devices, and wherein determining whether the discrepancy exists comprises determining that the usage term period has elapsed, and wherein the new usage condition extends the usage term period so that the discrepancy does not exist.

5 . The method of claim 1 , wherein the adjustable usage condition indicates a maximum number of computing devices that can run a given software item in the network, and wherein determining whether the discrepancy exists comprises determining that the maximum number has been exceeded, and wherein the new usage condition increases the maximum number of computing devices so that the discrepancy does not exist.

6 . The method of claim 1 , wherein generating the new usage condition based on the historic usage condition parameters and the usage of the plurality of software items comprises:

identifying a software item associated with the discrepancy;

extracting, from a database comprising the historic usage condition parameters, contract parameters associated with the software item, wherein the contract parameters include usage conditions that have not been violated; and

generating the new usage condition based on the usage conditions that have not been violated.

7 . The method of claim 6 , wherein the new usage condition further matches the usage by the network such that the discrepancy is not found in the new usage condition.

8 . The method of claim 6 , wherein the contract parameters are from contracts associated with different networks.

9 . The method of claim 6 , wherein the contract parameters are from inactive contracts associated with the network.

10 . A system for software provisioning by a contract management module (CMM) installed on a server as a thick client application and on a network of computing devices as thin client applications, comprising:

a memory; and

a hardware processor communicatively coupled with the memory and configured to:

monitor, by the thin client applications installed on the network of computing devices, usage of a plurality of software items distributed over the network of computing devices;

report, by the thin client applications installed on the network of computing devices to the thick client application installed on the server, usage of the plurality of software items distributed over the network of computing devices;

identify, by the thick client application installed on the server, in a database of contracts stored on the server or on a separate database server, a contract for the network governing the usage of the plurality of software items, wherein the contract includes a plurality of usage conditions that the network has to comply with to access the plurality of software items;

determine, by the thick client application installed on the server, whether a discrepancy between an adjustable usage condition of the plurality of usage conditions in the contract and the usage of the plurality of software items by the network exists;

in response to determining that the discrepancy with the adjustable usage condition in the contract exists:

determine, by the thick client application installed on the server, whether historic usage condition parameters, which are from inactive contracts of the network representing transactions that have expired or completed, include usage conditions that can resolve the discrepancy;

in response to determining that the historic usage condition parameters associated with the network do not include usage conditions that can resolve the discrepancy, identify a first network type of the network; and

retrieve, from a historic usage conditions database, additional historic usage condition parameters associated with a different network with a second network type that matches the first network type;

generate, by the thick client application installed on the server, a new usage condition based on the additional historic usage condition parameters and the usage of the plurality of software items by the network, wherein the adjustable usage condition indicates a maximum amount of software item features that can be used by a given computing device, and wherein determining whether the discrepancy exists comprises determining that the maximum amount has been exceeded, and wherein the new usage condition increases the maximum amount of software item features so that the discrepancy does not exist;

update, by the thick client application installed on the server, the contract with the new usage condition; and

enable or disable, by the thick client application installed on the server, access to the plurality of software items by the network based on the updated contract.

11 . The system of claim 10 , wherein the hardware processor is configured to disable the access to the plurality of software items by:

determining whether another discrepancy exists between a non-adjustable usage condition of the plurality of usage conditions and the usage of the plurality of software items by the network; and

in response to determining that the another discrepancy exists, disabling the access.

12 . The system of claim 10 , wherein the plurality of software items are hosted on a cloud and wherein the plurality of software items includes one or more of: a software application, a software-as-a-service, a platform-as-a-service, an infrastructure-as-a-service, and a container-as-a-service.

13 . The system of claim 10 , wherein the adjustable usage condition indicates a usage term period after which at least one software item is no longer accessible to the network of computing devices, and wherein determining whether the discrepancy exists comprises determining that the usage term period has elapsed, and wherein the new usage condition extends the usage term period so that the discrepancy does not exist.

14 . The system of claim 10 , wherein the adjustable usage condition indicates a maximum number of computing devices that can run a given software item in the network, and wherein determining whether the discrepancy exists comprises determining that the maximum number has been exceeded, and wherein the new usage condition increases the maximum number of computing devices so that the discrepancy does not exist.

15 . The system of claim 10 , wherein the hardware processor is configured to generate the new usage condition based on the historic usage condition parameters and the usage of the plurality of software items by:

identifying a software item associated with the discrepancy;

extracting, from a database comprising the historic usage condition parameters, contract parameters associated with the software item, wherein the contract parameters include usage conditions that have not been violated; and

generating the new usage condition based on the usage conditions that have not been violated.

16 . The system of claim 15 , wherein the new usage condition further matches the usage by the network such that the discrepancy is not found in the new usage condition.

17 . The system of claim 15 , wherein the contract parameters are from contracts associated with different networks.

18 . A non-transitory computer readable medium storing thereon computer executable instructions for software provisioning by a contract management module (CMM) installed on a server as a thick client application and on a network of computing devices as thin client applications, including instructions for:

monitoring, by the thin client applications installed on the network of computing devices, usage of a plurality of software items distributed over the network of computing devices;

reporting, by the thin client applications installed on the network of computing devices to the thick client application installed on the server, usage of the plurality of software items distributed over the network of computing devices;

identifying, by the thick client application installed on the server, in a database of contracts stored on the server or on a separate database server, a contract for the network governing the usage of the plurality of software items, wherein the contract includes a plurality of usage conditions that the network has to comply with to access the plurality of software items;

determining, by the thick client application installed on the server, whether a discrepancy between an adjustable usage condition of the plurality of usage conditions in the contract and the usage of the plurality of software items by the network exists;

in response to determining that the discrepancy with the adjustable usage condition in the contract exists:

determining, by the thick client application installed on the server, whether historic usage condition parameters, which are from inactive contracts of the network representing transactions that have expired or completed, include usage conditions that can resolve the discrepancy;

in response to determining that the historic usage condition parameters associated with the network do not include usage conditions that can resolve the discrepancy, identifying a first network type of the network; and

retrieving, from a historic usage conditions database, additional historic usage condition parameters associated with a different network with a second network type that matches the first network type;

generating, by the thick client application installed on the server, a new usage condition based on the additional historic usage condition parameters and the usage of the plurality of software items by the network, wherein the adjustable usage condition indicates a maximum amount of software item features that can be used by a given computing device, and wherein determining whether the discrepancy exists comprises determining that the maximum amount has been exceeded, and wherein the new usage condition increases the maximum amount of software item features so that the discrepancy does not exist;

updating, by the thick client application installed on the server, the contract with the new usage condition; and

enabling or disabling, by the thick client application installed on the server, access to the plurality of software items by the network based on the updated contract.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 20, 2025
From: VAN DER SCHAAF, MARTIJN
To: ACRONIS INTERNATIONAL GMBH
Reel/Frame 073641/0967 →
CORRECTIVE ASSIGNMENT TO CORRECT THE PATENTS LISTED BY DELETING PATENT APPLICATION NO. 18388907 FROM SECURITY INTEREST PREVIOUSLY RECORDED ON REEL 66797 FRAME 766. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY INTEREST. Recorded Nov 13, 2024
From: ACRONIS INTERNATIONAL GMBH
To: MIDCAP FINANCIAL TRUST
Reel/Frame 069594/0136 →
SECURITY INTEREST Recorded Mar 14, 2024
From: ACRONIS INTERNATIONAL GMBH
To: MIDCAP FINANCIAL TRUST
Reel/Frame 066797/0766 →
Continuity (2)
Continuation In Part 17892299 · Aug 22, 2022
Related Publication 20240061909A1 · Feb 22, 2024
References Cited (6)
US 20020022971A1 · Tanaka · 2002 [cited by examiner]
US 20090158275A1 · Wang · 2009 [cited by examiner]
US 20140122707A1 · de Assuncao · 2014 [cited by examiner]
US 20140244545A1 · Tsuji · 2014 [cited by examiner]
US 20150358482A1 · Schouwenburg · 2015 [cited by examiner]
US 20160062689A1 · Cherubini · 2016 [cited by examiner]