IP Library Granted Patent US 12,353,522
Granted Patent B2
US 12,353,522 · App. 17/943,267 · Granted Jul 8, 2025

Systems and methods for monitoring software items based on generated contracts

Inventor: Martijn Van der Schaaf (Zuidland, NL)
Assignee: Acronis International GmbH
G06F21/105G06Q30/018G06F21/1073
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,353,522
App. No.
17/943,267
Granted
Jul 8, 2025
Kind
B2
Abstract

Disclosed herein are systems and method for monitoring software items using a generated contract, the method including: transmitting a quote for viewing on a computing device associated with a first person, wherein the quote includes a list of software items included in a transaction; in response to receiving an approval of the quote by the first person, generating a contract governing the transaction by: extracting the list of software items from the quote; retrieving software item information for each of the list of software items; determining, based on the software item information and for inclusion in the contract, usage conditions that the first person has to comply with to access software items in the list of software items; and monitoring compliance with the usage conditions using the contract; and in response to detecting non-compliance, blocking access to a corresponding software item in the list of software items.

Claims (65)

1. A method for monitoring software items using a generated contract, the method comprising:

transmitting a quote for viewing on a computing device associated with a first person, wherein the quote comprises a list of software items included in a transaction;

in response to receiving an approval of the quote by the first person, generating a contract governing the transaction by:

extracting the list of software items from the quote;

retrieving software item information for each of the list of software items;

executing a first machine learning model trained to classify each of a plurality of historical contracts into various software item types, wherein executing comprises: classifying, using the first machine learning model trained on the plurality of historical contracts to distinguish between subscription-based and non-subscription-based items, each respective software item of the list of software items into a subscription-based software item and a non-subscription-based software item based on the software item information; and

executing a second machine learning model trained to identify, in the plurality of historical contracts, reoccurring usage conditions associated with a particular software item type, and generate at least one template for the reoccurring usage conditions, wherein the particular software item type is a subscription-based software item;

executing a third machine learning model trained to populate the at least one template with information in the quote, wherein training the third machine learning model comprises:

identifying training usage condition templates from training contracts and associated quotes;

determining numbers and terms taken from the associated quotes and entered into the training usage condition templates; and

identifying information in an arbitrary quote that should be entered into a given contract based on the determined numbers and terms;

determining, based on the software item information and for inclusion in the contract, usage conditions that the first person has to comply with to access software items in the list of software items, wherein the usage conditions comprise the at least one template populated with the information in the quote, wherein determining the usage conditions comprises:

for each respective subscription-based software item, determining a usage term period after which the subscription-based software item is no longer accessible to the first person, in accordance with a first usage condition of the usage conditions; and

monitoring compliance with the usage conditions using the contract; and

in response to detecting non-compliance with at least one of the usage conditions, blocking access to a corresponding software item in the list of software items, wherein detecting the non-compliance comprises in response to detecting that the usage term period for the respective subscription-based software item has elapsed, blocking access to the respective subscription-based software item for the first person.

2. The method of claim 1 , wherein the list of software items includes one or more of: a software application, a hardware device, a software-as-a-service, a platform-as-a-service, an infrastructure-as-a-service, and a container-as-a-service.

3. The method of claim 1 , further comprising:

in response to receiving the approval, retrieving at least one pre-existing contract associated with the first person by looking up an identifier of the first person or a vendor providing the list of software items in a contracts database.

4. The method of claim 3 , further comprising:

determining whether to include the transaction in the at least one pre-existing contract, wherein generating the contract is further in response to determining not to include the transaction in the at least one pre-existing contract.

5. The method of claim 4 , further comprising:

in response to determining to include the transaction in the at least one pre-existing contract, including the usage conditions and the list of software items in the at least one pre-existing contract.

6. The method of claim 1 , wherein the contract is a smart contract for a blockchain.

7. The method of claim 1 , wherein the software item information comprises for each respective software item one or more of: a unique identifier, an software item type, a fee, a usage description, and a developer description.

8. A system for monitoring software items using a generated contract, comprising:

a memory; and

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

transmit a quote for viewing on a computing device associated with a first person, wherein the quote comprises a list of software items included in a transaction;

in response to receiving an approval of the quote by the first person, generate a contract governing the transaction by:

extracting the list of software items from the quote;

retrieving software item information for each of the list of software items;

executing a first machine learning model trained to classify each of a plurality of historical contracts into various software item types, wherein executing comprises: classifying, using the first machine learning model trained on the plurality of historical contracts to distinguish between subscription-based and non-subscription-based items, each respective software item of the list of software items into a subscription-based software item and a non-subscription-based software item based on the software item information; and

executing a second machine learning model trained to identify, in the plurality of historical contracts, reoccurring usage conditions associated with a particular software item type, and generate at least one template for the reoccurring usage conditions, wherein the particular software item type is a subscription-based software item;

executing a third machine learning model trained to populate the at least one template with information in the quote, wherein training the third machine learning model comprises:

identifying training usage condition templates from training contracts and associated quotes;

determining numbers and terms taken from the associated quotes and entered into the training usage condition templates; and

identifying information in an arbitrary quote that should be entered into a given contract based on the determined numbers and terms;

determining, based on the software item information and for inclusion in the contract, usage conditions that the first person has to comply with to access software items in the list of software items, wherein the usage conditions comprise the at least one template populated with the information in the quote, wherein determining the usage conditions comprises:

for each respective subscription-based software item, determining a usage term period after which the subscription-based software item is no longer accessible to the first person, in accordance with a first usage condition of the usage conditions; and

monitoring compliance with the usage conditions using the contract; and

in response to detecting non-compliance with at least one of the usage conditions, blocking access to a corresponding software item in the list of software items, wherein detecting the non-compliance comprises in response to detecting that the usage term period for the respective subscription-based software item has elapsed, blocking access to the respective subscription-based software item for the first person.

9. The system of claim 8 , wherein the list of software items includes one or more of: a software application, a hardware device, a software-as-a-service, a platform-as-a-service, an infrastructure-as-a-service, and a container-as-a-service.

10. The system of claim 8 , wherein the hardware processor is further configured to:

in response to receiving the approval, retrieve at least one pre-existing contract associated with the first person by looking up an identifier of the first person or a vendor providing the list of software items in a contracts database.

11. The system of claim 10 , wherein the hardware processor is further configured to:

determine whether to include the transaction in the at least one pre-existing contract, wherein generating the contract is further in response to determining not to include the transaction in the at least one pre-existing contract.

12. The system of claim 11 , wherein the hardware processor is further configured to:

in response to determining to include the transaction in the at least one pre-existing contract, include the usage conditions and the list of software items in the at least one pre-existing contract.

13. The system of claim 8 , wherein the contract is a smart contract for a blockchain.

14. The system of claim 8 , wherein the software item information comprises for each respective software item one or more of: a unique identifier, an software item type, a fee, a usage description, and a developer description.

15. A non-transitory computer readable medium storing thereon computer executable instructions for monitoring software items using a generated contract, including instructions for:

transmitting a quote for viewing on a computing device associated with a first person, wherein the quote comprises a list of software items included in a transaction;

in response to receiving an approval of the quote by the first person, generating a contract governing the transaction by:

extracting the list of software items from the quote;

retrieving software item information for each of the list of software items;

executing a first machine learning model trained to classify each of a plurality of historical contracts into various software item types, wherein executing comprises: classifying, using the first machine learning model trained on the plurality of historical contracts to distinguish between subscription-based and non-subscription-based items, each respective software item of the list of software items into a subscription-based software item and a non-subscription-based software item based on the software item information; and

executing a second machine learning model trained to identify, in the plurality of historical contracts, reoccurring usage conditions associated with a particular software item type, and generate at least one template for the reoccurring usage conditions, wherein the particular software item type is a subscription-based software item;

executing a third machine learning model trained to populate the at least one template with information in the quote, wherein training the third machine learning model comprises:

identifying training usage condition templates from training contracts and associated quotes;

determining numbers and terms taken from the associated quotes and entered into the training usage condition templates; and

identifying information in an arbitrary quote that should be entered into a given contract based on the determined numbers and terms;

determining, based on the software item information and for inclusion in the contract, usage conditions that the first person has to comply with to access software items in the list of software items, wherein the usage conditions comprise the at least one template populated with the information in the quote, wherein determining the usage conditions comprises:

for each respective subscription-based software item, determining a usage term period after which the subscription-based software item is no longer accessible to the first person, in accordance with a first usage condition of the usage conditions; and

monitoring compliance with the usage conditions using the contract; and

in response to detecting non-compliance with at least one of the usage conditions, blocking access to a corresponding software item in the list of software items, wherein detecting the non-compliance comprises in response to detecting that the usage term period for the respective subscription-based software item has elapsed, blocking access to the respective subscription-based software item for the first person.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 9, 2025
From: VAN DER SCHAAF, MARTIJN
To: ACRONIS INTERNATIONAL GMBH
Reel/Frame 071358/0667 →
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 (1)
Related Publication 20240086499A1 · Mar 14, 2024
References Cited (18)
US 9626668B2 · Raley · 2017 [cited by examiner]
US 10380339B1 · Appalaraju · 2019 [cited by examiner]
US 20150193607A1 · Li · 2015 [cited by examiner]
US 20190073680A1 · Knox · 2019 [cited by examiner]
US 20210182366A1 · Fan · 2021 [cited by examiner]
US 20210209197A1 · Block · 2021 [cited by examiner]
US 20210209709A1 · Slavin · 2021 [cited by examiner]
US 20210400147A1 · Benkreira · 2021 [cited by examiner]
US 20220058014A1 · Björkman · 2022 [cited by examiner]
US 20220171830A1 · Gokan · 2022 [cited by examiner]
US 20220237069A1 · Freeman · 2022 [cited by examiner]
US 20220237267A1 · Diaz · 2022 [cited by examiner]
US 20230008345A1 · Agrawal · 2023 [cited by examiner]
US 20240061909A1 · Van der Schaaf · 2024 [cited by examiner]
WO WO2021123916A1 · 2021 [cited by examiner]
Marotta-Wurgler, Florencia. “What's in a Standard Form Contract? AN Empirical Analysis of Software License Agreements.” Journal of Empirical Legal Studies, vol. 4, Issue 4, pp. 677-713, Dec. 2007. (Year: 2007). [cited by examiner]
Park, Jeohong, et al. “The CONabc Usage Control Model.” ACM Transactions on Information and System Security, vol. 7, No. 1, pp. 128-174, Feb. 2004. (Year: 2004). [cited by examiner]
St. Laurent, Andrew. “Understanding Open Source and Free Software Licensing.” O'Reilly Media, Sebastopol, CA, 95472. (Year: 2004). [cited by examiner]