IP Library Granted Patent US 10,755,322
Granted Patent B2
US 10,755,322 · App. 15/438,922 · Granted Aug 25, 2020

Blockchain-based software instance usage determination

Inventor: Justin M. Kilpatrick (Raleigh, NC)
Assignee: Red Hat, Inc.
G06Q30/04
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 10,755,322
App. No.
15/438,922
Granted
Aug 25, 2020
Kind
B2
Abstract

Blockchain-based software instance usage determination is disclosed. A span identifier that identifies a span is received. A blockchain is traversed to identify a plurality of authorized transactions generated within the span, the blockchain including a plurality of blocks of authorized transactions, each authorized transaction authorizing execution of a software instance. Information about software instances identified in the plurality of authorized transactions is output.

Claims (66)

1. A method for generating an accounting of software instance usage, comprising:

receiving, by a computing device comprising a processor device, a span identifier that identifies a span;

traversing, by the computing device, a blockchain to identify a plurality of authorized transactions generated within the span, the blockchain comprising a plurality of blocks of authorized transactions, each authorized transaction authorizing execution of a software instance;

determining, by the computing device, a plurality of different software instance types authorized in the blockchain within the span;

determining, by the computing device, a quantity of each software instance of each software instance type that was authorized within the span; and

outputting, by the computing device, information about software instances identified in the plurality of authorized transactions, the information identifying the quantity of software instances of each software instance type that was authorized within the span.

2. The method of claim 1 further comprising:

determining an amount of time that each software instance of each software instance type that was authorized within the span was executed; and

wherein outputting the information further comprises:

outputting the information about the software instances, the information identifying for each software instance type an aggregate amount of time software instances executed within the span.

3. The method of claim 1 wherein traversing the blockchain further comprises:

traversing the blockchain to find at least one billing rules transaction in the plurality of blocks of authorized transactions that is effective within the span, the at least one billing rules transaction identifying:

an effective span during which the at least one billing rules transaction is effective;

at least one software instance type of the plurality of different software instance types; and

a fee associated with execution of a software instance of the at least one software instance type;

identifying a subset of authorized transactions, each authorized transaction in the subset authorizing execution of a software instance of the at least one software instance type;

determining cost information of execution for software instances of the at least one software instance type based at least in part on the at least one billing rules transaction and the subset of authorized transactions; and

wherein the information comprises the cost information.

4. The method of claim 3 wherein determining the cost information further comprises:

determining, for each authorized transaction, an amount of time of execution of the software instance associated with the authorized transaction;

summing the amount of time of execution for each software instance to generate a cumulative execution time; and

based on the at least one billing rules transaction and the cumulative execution time, determining the cost information.

5. The method of claim 1 wherein traversing the blockchain further comprises:

traversing the blockchain to find at least one billing rules transaction in the plurality of blocks of authorized transactions that is effective within the span, the at least one billing rules transaction identifying:

an effective span during which the at least one billing rules transaction is effective;

the plurality of different software instance types; and

fees that correspond to each software instance type of the plurality of different software instance types, each fee associated with execution of a software instance of a corresponding software instance type;

identifying, in the blockchain, all authorized transactions that authorized execution of a software instance within the span;

determining cost information for each software instance type based on authorized transactions and fees that correspond to each software instance type; and

wherein the information comprises the cost information.

6. The method of claim 1 wherein the span identifier identifies a span of time or a span of blocks in the blockchain.

7. A computing device, comprising:

a memory;

a processor device coupled to the memory to:

receive a span identifier that identifies a span;

traverse a blockchain to identify a plurality of authorized transactions generated within the span, the blockchain comprising a plurality of blocks of authorized transactions, each authorized transaction authorizing execution of a software instance;

determine a plurality of different software instance types authorized in the blockchain within the span;

determine an amount of time that each software instance of each software instance type that was authorized within the span was executed; and

output information about software instances identified in the plurality of authorized transactions, the information identifying for each software instance type an aggregate amount of time software instances executed within the span.

8. The computing device of claim 7 wherein the processor device is further to:

determine a quantity of each software instance of each software instance type that was authorized within the span; and

output the information about the software instances, the information identifying the quantity of software instances of each software instance type that was authorized within the span.

9. The computing device of claim 7 wherein to traverse the blockchain, the processor device is further to:

traverse the blockchain to find at least one billing rules transaction in the plurality of blocks of authorized transactions that is effective within the span, the at least one billing rules transaction identifying:

an effective span during which the at least one billing rules transaction is effective;

at least one software instance type of the plurality of different software instance types; and

a fee associated with execution of a software instance of the at least one software instance type;

identify a subset of authorized transactions, each authorized transaction in the subset authorizing execution of a software instance of the at least one software instance type;

determine cost information for execution of software instances of the at least one software instance type based at least in part on the at least one billing rules transaction and the subset of authorized transactions; and

wherein the information comprises the cost information.

10. The computing device of claim 7 wherein to traverse the blockchain, the processor device is further to:

traverse the blockchain to find at least one billing rules transaction in the plurality of blocks of authorized transactions that is effective within the span, the at least one billing rules transaction identifying:

an effective span during which the at least one billing rules transaction is effective;

the plurality of different software instance types; and

fees that correspond to each software instance type of the plurality of different software instance types, each fee associated with execution of a software instance of a corresponding software instance type;

identify, in the blockchain, all authorized transactions that authorized execution of a software instance within the span;

determine cost information for each software instance type based on authorized transactions and fees that correspond to each software instance type; and

wherein the information comprises the cost information.

11. A computing device, comprising:

a memory; and

a processor device coupled to the memory to:

receive a span identifier that identifies a span;

traverse a blockchain to identify a plurality of authorized transactions generated within the span, the blockchain comprising a plurality of blocks of authorized transactions, each authorized transaction authorizing execution of a software instance;

determine a plurality of different software instance types authorized in the blockchain within the span;

determine a quantity of each software instance of each software instance type that was authorized within the span; and

output information about software instances identified in the plurality of authorized transactions, the information identifying the quantity of software instances of each software instance type that was authorized within the span.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 22, 2017
From: KILPATRICK, JUSTIN M.
To: RED HAT, INC.
Reel/Frame 041343/0766 →
Continuity (1)
Related Publication 20180240165A1 · Aug 23, 2018