IP Library › Granted Patent US 11,205,178
Granted Patent B2
US 11,205,178 · App. 15/856,138 · Granted Dec 21, 2021

Converting processes into multiple blockchain smart contracts

Inventors: Vishal S. Batra (Noida, IN); Praveen Jayachandran (Bangalore, IN); Shachi Sharma (New Delhi, IN); Abhishek Singh (New Delhi, IN)
Assignee: International Business Machines Corporation
G06Q20/4014G06Q10/0633G06Q20/3827G06Q20/405G06Q50/18G06Q2220/00
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 11,205,178
App. No.
15/856,138
Filed
Dec 28, 2017
Granted
Dec 21, 2021
Kind
B2
Examiner
KUO, CHENYUH
Art Unit
3685
USPC
705/75
Abstract

An example operation may include one or more of identifying a workflow specification including a number of entities and state elements, selecting two or more entities designated as a subset of entities among the entities, where the subset of entities share one or more of the state elements of the workflow specification among the state elements, and creating a first smart contract identifying the one or more state elements.

Claims (50)

1. A method, comprising:

receiving, by a processor, a machine-readable workflow specification including a plurality of entities and a plurality of state elements;

based on the received machine-readable workflow specification, identifying, by the processor, for a first sub-process, a first entity and a second entity of the plurality of the entities, a first state variable and a second state variable of the plurality of the state elements, and a first access control data, wherein the first access control data comprises a write access of the first state variable and a read access of the second state variable for the first entity, and a read access of the first state variable and a write access of the second state variable for the second entity;

based on the received machine-readable workflow specification, identifying, by the processor, for a second sub-process, the second entity and a third entity of the plurality of the entities, the second state variable and a third state variable of the plurality of the state elements, and a second access control data, wherein the second access control data comprises the write access of the second state variable and a read access of the third state variable for the second entity, and a read access of the second state variable and a write access of the third state variable for the third entity;

based on the first and second sub-processes, automatically generating, by the processor, for the first sub-process, a first smart contract which comprises the first and second variables, the first and second entities, and a first access rule based on the first access control data, and, for the second sub-process, a second smart contract which comprises the second and third variables, the second and third entities, and a second access rule based on the second access control data, wherein the second smart contract further comprises a subscription to an event of the second state variable of the first contract;

storing, by the processor, in a smart contract registry, the event of the first smart contract and the subscription of the second smart contract;

deploying, by the processor, the first and second smart contracts on a blockchain node;

receiving, by the processor, a request from the second entity to update the second state variable of the first smart contract;

determining, by the processor that the second entity has the write access to the second variable of the first contract based on the first access rule;

in response to the determining, updating, by the processor, the second state variable of the first smart contract by executing the first smart contract;

detecting, by the processor, the event of the second state variable from the first smart contract;

generating, by the processor, a notification to the second smart contract based on the detected event of the second state variable of the first contract; and

updating, by the processor, the second state variable of the second smart contract by executing the second smart contract based on the second access rule.

2. The method of claim 1 , wherein the generating comprises generating the first smart contract based on a smart contract template.

3. The method of claim 2 , wherein the generating comprises populating the smart contract template with respective state elements of the machine-readable workflow to generate the first smart contract.

4. The method of claim 1 , further comprising storing the first and second smart contracts on a blockchain.

5. The method of claim 1 , wherein the generating comprises generating different access control rules for the first smart contract and the second smart contract.

6. An apparatus, comprising:

a processor configured to:

receive a machine-readable workflow specification including a plurality of entities and a plurality of state elements;

based on the received machine-readable workflow specification, identify, for a first sub-process, a first entity and a second entity of the plurality of the entities, a first state variable and a second state variable of the plurality of the state elements, and a first access control data, wherein the first access control data which comprises a write access of the first state variable and a read access of the second state variable for the first entity, and a read access of the first state variable and a write access of the second state variable for the second entity;

based on the received machine-readable workflow specification, identify, for a second sub-process, the second entity and a third entity of the plurality of the entities, the second state variable and a third state variable of the plurality of the state elements, and a second access control data, wherein the second access control data comprises the write access of the second state variable and a read access of the third state variable for the second entity, and a read access of the second state variable and a write access of the third state variable for the third entity;

based on the first and second sub-processes, automatically generate, for the first sub-process, a first smart contract-which comprises the first and second variables, the first and second entities, and a first access rule based on the first access control data, and, for the second sub-process, a second smart contract comprises the second and third variables, the second and third entities, and a second access rule based on the second access control data, wherein the second smart contract further comprises a subscription to an event of the second state variable of the first contract;

store, in a smart contract registry, the event of the first smart contract and the subscription of the second smart contract;

deploy the first and second smart contracts on a blockchain node;

receive a request from the second entity to update the second state variable of the first smart contract;

determinine that the second entity has the write access to the second variable of the first contract based on the first access rule;

in response to the determining, update the second state variable of the first smart contract by executing the first smart contract;

detect the event of the second state variable from the first smart contract;

generate a notification to the second smart contract based on the detected event of the second state variable of the first contract; and

update the second state variable of the second smart contract by executing the second smart contract based on the second access rule.

7. The apparatus of claim 6 , wherein the processor is configured to generate the first smart contract based on a smart contract template.

8. The apparatus of claim 7 , wherein the processor is configured to populate the smart contract template with respective state elements of the machine readable workflow to generate the first smart contract.

9. The apparatus of claim 6 , wherein the processor is further configured to store the first and second smart contracts on a blockchain.

10. The apparatus of claim 6 , wherein the processor is further configured to generate different access control rules for the first smart contract and the second smart contract.

11. A non-transitory computer readable storage medium that stores instructions that, when executed by a processor, cause the processor to perform a method comprising:

receiving a machine-readable workflow specification including a plurality of entities and a plurality of state elements;

based on the received machine-readable workflow specification, identifying, for a first sub-process, a first entity and a second entity of the plurality of the entities, a first state variable and a second state variable of the plurality of the state elements, and a first access control data, wherein the first access control data which comprises a write access of the first state variable and a read access of the second state variable for the first entity, and a read access of the first state variable and a write access of the second state variable for the second entity;

based on the received machine-readable workflow specification, identifying for a second sub-process, the second entity and a third entity of the plurality of the entities, the second state variable and a third state variable of the plurality of the state elements, and a second access control data, wherein the second access control data comprises the write access of the second state variable and a read access of the third state variable for the second entity, and a read access of the second state variable and a write access of the third state variable for the third entity;

based on the first and second sub-processes, automatically generating, for the first sub-process, a first smart contract which comprises the first and second variables, the first and second entities, and a first access rule based on the first access control data, and, for the second sub-process, a second smart contract which comprises the second and third variables, the second and third entities, and a second access rule based on the second access control data, wherein the second smart contract further comprises a subscription to an event of the second state variable of the first contract;

storing in a smart contract registry, the event of the first smart contract and the subscription of the second smart contract;

deploying the first and second smart contracts on a blockchain node;

receiving a request from the second entity to update the second state variable of the first smart contract;

determining that the second entity has the write access to the second variable of the first contract based on the first access rule;

in response to the determining, updating the second state variable of the first smart contract by executing the first smart contract;

detecting the event of the second state variable from the first smart contract;

generating, by the processor, a notification to the second smart contract based on the detected event of the second state variable of the first contract; and updating, by the processor, the second state variable of the second smart contract by executing the second smart contract based on the second access rule.

12. The non-transitory computer readable storage medium of claim 11 , wherein the generating comprises generating the first smart contract based on a smart contract template.

13. The non-transitory computer readable storage medium of claim 12 , wherein the generating comprises populating the smart contract template with respective state elements of the machine-readable workflow to generate the first smart contract.

14. The non-transitory computer readable storage medium of claim 11 , wherein the method further comprises storing the first and second smart contracts on a blockchain.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 28, 2017
From: BATRA, VISHAL S.; JAYACHANDRAN, PRAVEEN; SHARMA, SHACHI; SINGH, ABHISHEK
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 044501/0543 →
Continuity (1)
Related Publication 20190205884A1 · Jul 4, 2019
Cited By (3)
US 12,190,315 US 12,393,900 US 12,737,723