IP Library Granted Patent US 12,217,081
Granted Patent B2
US 12,217,081 · App. 16/275,872 · Granted Feb 4, 2025

Decentralized process management using distributed ledgers

Inventor: George Parapadakis (Milton Keynes, GB)
Assignee: Hyland UK Operations Limited
G06F9/463G06F9/3005G06F9/52G06F8/60
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,217,081
App. No.
16/275,872
Granted
Feb 4, 2025
Kind
B2
Abstract

Computer-implemented methods, systems and infrastructure for depositing at least one instruction onto one or more data blocks of a distributed immutable ledger implemented to have a plurality of data blocks connected by way of logical links in a sequential chain. The at least one instruction may be associated with information deposited onto the one or more data blocks, the deposited information comprising at least one of data or metadata utilizable by a second party, using a computing application, to perform one or more operations according to the at least one instructions as related to a first step in a process being managed by the first party.

Claims (70)

1. A computer-implemented method in a communications network comprising a first process engine, a second process engine, and a distributed immutable ledger in communication with the first process engine and the second process engine over the communications network to manage a workflow in interactive computer software applications, the method comprising:

depositing, by a first party using the first process engine, at least one instruction onto one or more data blocks of the distributed immutable ledger implemented to have a plurality of data blocks connected by way of logical links in a sequential chain, wherein a first block of the one or more data blocks is monitored by a second party,

the at least one instruction being associated with information deposited onto the one or more data blocks, the deposited information comprising at least one of data or metadata utilizable by the second party in the interactive computer software applications, wherein the at least one of data or metadata identifies a state of one or more processes associated with the deposited information to enable the first party and the second party to determine progress in workflow associated with the one or more processes, wherein the at least one of data or metadata enables the first party and the second party to utilize the distributed immutable ledger as a distributed environment in which the workflow is manageable between two or more parties according to state information communicated between the two or more parties, wherein the at least one of data or metadata enables the first party and the second party to synchronize the workflow associated with the one or more processes, wherein the interactive computer software application includes at least one of a spreadsheet or word processing functionality;

using a computing application which is one of the interactive computer software applications and the second process engine to perform one or more operations according to the at least one instruction as related to a first step in a process being managed by the first party;

utilizing, by the first party and the second party, the at least one of data or metadata for workflow synchronization and to determine workflow progress of the one or more processes associated with the deposited information, wherein one or more of the first process engine and second process engine defines constraints in how the deposited information can be utilized or manipulated in order for a process to be performed according to a map of the workflow;

reading one or more results deposited onto one or more blocks of the distributed immutable ledger, the one or more results having been generated by the second party according to the at least one instruction deposited by the first party;

utilizing, by the first party, at least a portion of the one or more results deposited by the second party to confirm that the one or more processes associated with the deposited information are performed by the second party according to the at least one instruction, the one or more results deposited by the second party being stored on a second block on the distributed immutable ledger, wherein the first party monitors the second block,

wherein the first process engine is encapsulated or incorporated as a smart contract on the distributed immutable ledger;

synchronizing state information by a third process engine via updating the at least one of data or metadata based on information provided to a third party by at least one of the first party or the second party; and

determining workflow progress by utilizing the third process engine, independent of the first process engine and the second process engine, a smart contract to control transactions and workflow associated with the one or more processes in accordance with the synchronized state information for the one or more processes, the state information being identified in the at least one of data or metadata to indicate a most recent state at which either the first party or the second party is engaged in managing the process in the workflow,

wherein rules and conditions associated with managing the one or more processes or controlling the transactions and the workflow are stored on at least one block of the distributed immutable ledger,

wherein the second process engine is compatible with the first process engine to:

monitor a first data block of the distributed immutable ledger for the at least one instruction;

perform the one or more operations according to the at least one instruction in order to advance the process being managed by the first party to a second step in the process;

deposit the one or more results on a second data block monitored by the first process engine; and

deploy one or more of the first process engine and the second process engine on the distributed immutable ledger to orchestrate an execution of process flow and data exchanges between the first party and the second party.

2. The method of claim 1 , wherein the first party implements the distributed immutable ledger with control information.

3. The method of claim 2 , wherein the control information are implementations of rules and conditions.

4. The method of claim 1 , wherein one or more records are maintained on the distributed immutable ledger, the one or more records comprising: the at least one instruction, the deposited information by the first party, and the deposited results by the second party.

5. The method of claim 1 comprising utilizing the first process engine by the first party,

wherein one or more records are maintained on the distributed immutable ledger, the one or more records comprising: the at least one instruction, the deposited information by the first party, and the deposited results by the second party,

wherein the deposited information by the first party are stored on a first data block on the distributed immutable ledger by the first process engine, the first data block being monitored by the second party, and

wherein the one or more results deposited by the second party are stored on a second data block on the distributed immutable ledger, the second data block being monitored by the first process engine.

6. The method of claim 1 , wherein the at least one of data or metadata is metadata.

7. The method of claim 1 , wherein the at least one of data or metadata is data.

8. A computer-implemented system to manage a workflow in interactive computer software applications comprising:

at least one programmable processor;

a distributed immutable ledger; and

a non-transitory machine-readable medium storing instructions that, when executed by the at least one programmable processor, cause the at least one programmable processor to perform operations comprising:

depositing, by a first party using a first process engine, at least one instruction onto one or more data blocks of the distributed immutable ledger implemented to have a plurality of data blocks connected by way of logical links in a sequential chain, wherein a first block of the one or more data blocks is monitored by a second party,

the at least one instruction being associated with information deposited onto the one or more data blocks, the deposited information comprising at least one of data or metadata utilizable by the second party in the interactive computer software application, wherein the at least one of data or metadata identifies a state of one or more processes associated with the deposited information to enable the first party and the second party to determine progress in workflow associated with the one or more processes, wherein the at least one of data or metadata enables the first party and the second party to utilize the distributed immutable ledger as a distributed environment in which the workflow is manageable between two or more parties according to state information communicated between the two or more parties, wherein the at least one of data or metadata enables the first party and the second party to synchronize the workflow associated with the one or more processes, wherein the interactive computer software application includes at least one of a spreadsheet or word processing functionality;

using a computing application which is one of the interactive computer software applications and a second process engine to perform one or more operations according to the at least one instructions as related to a first step in a process being managed by the first party;

utilizing, by the first party and the second party, the at least one of data or metadata for workflow synchronization and to determine workflow progress of the one or more processes associated with the deposited information, wherein the first process engine defines constraints in how the deposited information can be utilized or manipulated in order for a process to be performed according to a map of the workflow;

reading one or more results deposited onto one or more blocks of the distributed immutable ledger, the one or more results having been generated by the second party according to the at least one instruction deposited by the first party;

utilizing at least a portion of the one or more results deposited by the second party to confirm that one or more processes associated with the deposited information are performed by the second party according to the at least one instruction, the one or more results deposited by the second party being stored on a second block on the distributed immutable ledger, wherein the first party monitors the second block,

wherein one or more of the first process engine and second process engine is encapsulated or incorporated as a smart contract on the distributed immutable ledger;

synchronizing state information by a third process engine via updating the at least one of data or metadata based on information provided to a third party by at least one of the first party or the second party; and

determining workflow progress by utilizing the third process engine, independent of the first process engine and the second process engine, a smart contract to control transactions or workflow associated with the one or more processes in accordance with the synchronized state information for the one or more processes, the state information being identified in the at least one of data or metadata to indicate a most recent state at which either the first party or the second party is engaged in managing the process in the workflow synchronized by the third process engine,

wherein rules and conditions associated with managing the one or more processes or controlling the transactions and the workflow are stored on at least one block of the distributed immutable ledger,

wherein the second process engine is compatible with the first process engine to:

monitor a first data block of the distributed immutable ledger for the at least one instruction;

perform the one or more operations according to the at least one instruction in order to advance the process being managed by the first party to a second step in the process;

deposit the one or more results on a second data block monitored by the first process engine; and

deploy one or more of the first process engine and the second process engine on the distributed immutable ledger to orchestrate an execution of process flow and data exchanges between the first party and the second party.

9. The system of claim 8 , wherein the first party implements the distributed immutable ledger with control information.

10. The system of claim 9 , wherein the control information are implementations of rules and conditions.

11. The system of claim 8 , wherein one or more records are maintained on the distributed immutable ledger, the one or more records comprising: the at least one instruction, the deposited information by the first party, and the deposited results by the second party.

12. The system of claim 8 , wherein the at least one of data or metadata is metadata.

13. The system of claim 8 , wherein the at least one of data or metadata is data.

14. A computer program product to manage a workflow in interactive computer software applications comprising a non-transitory machine-readable medium storing instructions that, when executed by at least one programmable processor, cause the at least one programmable processor to perform operations comprising:

depositing, by a first party using a first process engine, at least one instruction onto one or more data blocks of a distributed immutable ledger implemented to have a plurality of data blocks connected by way of logical links in a sequential chain, wherein a first block of the one or more data blocks is monitored by a second party,

the at least one instruction being associated with information deposited onto the one or more data blocks, the deposited information comprising at least one of data or metadata utilizable by the second party in the interactive computer software applications, wherein the at least one of data or metadata identified a state of one or more processes associated with the deposited information to enable the first party and the second party to determine progress in workflow associated with the one or more processes, wherein the at least one of data or metadata enables the first party and the second party to utilize the distributed immutable ledger as a distributed environment in which the workflow is manageable between two or more parties according to state information communicated between the two or more parties, wherein the at least one of data or metadata enables the first party and the second party to synchronize the workflow associated with the one or more processes, wherein the interactive computer software application includes at least one of a spreadsheet or word processing functionality;

using a computing application which is one of the interactive computer software applications and a second process engine, to perform one or more operations according to the at least one instructions as related to a first step in a process being managed by the first party, wherein the first process engine defines constraints in how the deposited information can be utilized or manipulated in order for a process to be performed according to a map of the workflow;

reading one or more results deposited onto one or more blocks of the distributed immutable ledger, the one or more results having been generated by the second party according to the at least one instruction deposited by the first party; and

utilizing at least a portion of the one or more results deposited by the second party to confirm that the one or more processes associated with the deposited information are performed by the second party according to the at least one instruction, the one or more results deposited by the second party being stored on a second block on the distributed immutable ledger, wherein the first party monitors the second block,

wherein one or more of the first process engine and second process engine is encapsulated or incorporated as a smart contract on the distributed immutable ledger;

synchronizing state information by a third process engine via updating the at least one of data or metadata based on information provided to a third party by at least one of the first party or the second party; and

determining workflow progress by utilizing the third process engine being incorporated in form of a smart contract to, independent of the first process engine and the second process engine, control transactions or workflow associated with the one or more processes in accordance with the synchronized state information for the one or more processes, the state information being identified in the at least one of data or metadata to indicate a most recent state at which either the first party or the second party is engaged in managing the process in the workflow synchronized by the third process engine,

wherein rules and conditions associated with managing the one or more processes or controlling the transactions and the workflow are stored on at least one block of the distributed immutable ledger,

wherein the second process engine is compatible with the first process engine to:

monitor a first data block of the distributed immutable ledger for the at least one instruction;

perform the one or more operations according to the at least one instruction in order to advance the process being managed by the first party to a second step in the process;

deposit the one or more results on a second data block monitored by the first process engine; and

deploy one or more of the first process engine and the second process engine on the distributed immutable ledger to orchestrate an execution of process flow and data exchanges between the first party and the second party.

15. The computer program product of claim 14 , wherein the first party implements the distributed immutable ledger with control information.

16. The computer program product of claim 15 , wherein the control information are implementations of rules and conditions.

17. The computer program product of claim 14 , wherein one or more records are maintained on the distributed immutable ledger, the one or more records comprising: the at least one instruction, the deposited information by the first party, and the deposited results by the second party.

18. The computer program product of claim 14 , wherein the deposited information by the first party are stored on a first block on the distributed immutable ledger, the first block being monitored by the second party, the first party implementing rules or conditions associated with how the process is managed or how transactions associated with the process or corresponding workflow are verified.

19. The computer program product of claim 14 , wherein the at least one of data or metadata is metadata.

20. The computer program product of claim 14 , wherein the at least one of data or metadata is data.

Assignments (8)
CHANGE OF NAME Recorded Feb 27, 2024
From: ALFRESCO SOFTWARE, INC.
To: ALFRESCO SOFTWARE LIMITED
Reel/Frame 066574/0768 →
SECURITY INTEREST Recorded Jan 17, 2024
From: HYLAND UK OPERATIONS LIMITED
To: GOLUB CAPITAL MARKETS LLC, AS COLLATERAL AGENT
Reel/Frame 066339/0332 →
RELEASE OF SECURITY INTEREST RECORDED AT REEL/FRAME 055820/0369 Recorded Sep 24, 2023
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT, A BRANCH OF CREDIT SUISSE
To: ALFRESCO SOFTWARE LIMITED (K/N/A HYLAND UK OPERATIONS LIMITED)
Reel/Frame 065018/0057 →
RELEASE OF SECURITY INTEREST RECORDED AT REEL/FRAME 55820/0343 Recorded Sep 21, 2023
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT, A BRANCH OF CREDIT SUISSE
To: ALFRESCO SOFTWARE LIMITED (K/N/A HYLAND UK OPERATIONS LIMITED)
Reel/Frame 064974/0425 →
CHANGE OF NAME Recorded Oct 13, 2021
From: ALFRESCO SOFTWARE LIMITED
To: HYLAND UK OPERATIONS LIMITED
Reel/Frame 057909/0840 →
SECURITY AGREEMENT SUPPLEMENT (FIRST LIEN) Recorded Mar 26, 2021
From: ALFRESCO SOFTWARE LIMITED
To: CREDIT SUISSE
Reel/Frame 055820/0343 →
SECURITY AGREEMENT SUPPLEMENT (SECOND LIEN) Recorded Mar 26, 2021
From: ALFRESCO SOFTWARE LIMITED
To: CREDIT SUISSE
Reel/Frame 055820/0369 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 31, 2019
From: PARAPADAKIS, GEORGE
To: ALFRESCO SOFTWARE, INC.
Reel/Frame 049921/0411 →
Continuity (1)
Related Publication 20200264915A1 · Aug 20, 2020
References Cited (15)
US 20150379510A1 · Smith · 2015 [cited by examiner]
US 20160261685A1 · Chen · 2016 [cited by examiner]
US 20170039330A1 · Tanner, Jr. · 2017 [cited by examiner]
US 20170279783A1 · Milazzo · 2017 [cited by examiner]
US 20190268277A1 · Asthana · 2019 [cited by examiner]
US 20190392164A1 · Dutta · 2019 [cited by examiner]
US 20190392392A1 · Elden · 2019 [cited by examiner]
US 20200012779A1 · Chandrasekaran · 2020 [cited by examiner]
US 20200021590A1 · Jeuk · 2020 [cited by examiner]
US 20200042960A1 · Cook · 2020 [cited by examiner]
US 20200127843A1 · Webster · 2020 [cited by examiner]
US 20200183917A1 · Duchastel · 2020 [cited by examiner]
WO WO2017136956A1 · 2017 [cited by examiner]
Billings, J. J., “Applying Distributed Ledgers to Manage Workflow Provenance”, arXiv: 1804.05395 [cs.DC], Apr. 15, 2018. (Year: 2018). [cited by examiner]
Xu, X. et al., “The Blockchain as a Software Connector”, 2016 13th Working IEEE/IFIP Conference on Software Architecture. (Year: 2016). [cited by examiner]