IP Library Granted Patent US 12,229,697
Granted Patent B2
US 12,229,697 · App. 16/795,544 · Granted Feb 18, 2025

Computation of containment relationships

Inventors: Ashish Jagmohan (Irvington, NY); Yi-Min Chee (Yorktown Heights, NY); Julie MacNaught (Durham, CT); Abhilash Narendra (White Plains, NY); Krishna Chaitanya Ratakonda (Yorktown Heights, NY); Ryan Enderby (New York, NY)
Assignee: International Business Machines Corporation
G06Q10/06315G06F16/25G06Q10/06393
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,229,697
App. No.
16/795,544
Granted
Feb 18, 2025
Kind
B2
Abstract

An example operation may include one or more of generating, by a blockchain node, an asset containment world-state by execution of a linear-time ingestion algorithm, detecting, by the blockchain node, an asset aggregation or disaggregation event, updating, by the blockchain node, the world-state based on the asset aggregation or disaggregation event, and computing supply-chain metrics based on the updated world-state.

Claims (54)

1. A node in a blockchain network, the node comprising:

a memory storing one or more instructions; and

a processor that, when executing the one or more instructions, is configured to:

generate an asset containment world-state table that represents latest values for all keys included in a chain transaction log of a blockchain of the blockchain network, wherein rows of the asset containment world-state table correspond to events associated with assets, and wherein each row comprises a start-time field, an end-time field, a start-time-upper-bound field, and an end-time-lower-bound field;

detect that an event associated with an asset occurs at time T 1 , wherein the event comprises an aggregation event or a disaggregation event;

using a smart contract, read key-value pairs stored in the blockchain;

using the smart contract, identify a row in the asset containment world-state table corresponding to a prior event associated with the asset using the key-value pairs that have been read, wherein it is determined that the row needs to be split to create a new row corresponding to the event in response to the event being identified as a child of the prior event based on a start-time-lower-bound field of the row having a value less than or equal to T 1 and an end-time-upper-bound field of the row having a value greater than T 1 , and wherein the prior event is one of the aggregation event or the disaggregation event associated with the asset;

using the smart contract, determine using a linear-time ingestion algorithm that the event occurs in one of an aggregation/disaggregation interval of the prior event, an aggregation/aggregation interval of the prior event, or an aggregation/disaggregation interval of the prior event using the start-time field of the event, the end-time field of the event, the start-time-lower-bound field of the event, and the end-time-upper-bound field of the event;

in response to the determination, using the smart contract to modify the asset containment world-state table to have a new row corresponding to the event by splitting the row corresponding to the prior event into a first row corresponding to the prior event and the new row using the linear-time ingestion algorithm to execute a one-shot ingestion modifying the asset containment world-state table only once, wherein the aggregation/disaggregation event does not modify the asset containment world-state table again even if it is received in an out-of-time order; and

using the smart contract, compute a low-latency, real-time estimation of supply-chain metrics based on the modified updated world-state table using a smart contract of the blockchain.

2. The node of claim 1 , wherein the processor is further configured to:

detect the aggregation event or the disaggregation event at an asset ingestion time.

3. The node of claim 1 , wherein the processor is further configured to:

split the computation of the supply-chain metrics between an ingestion time and a query time.

4. The node of claim 1 , wherein the processor is further configured to:

execute the linear-time algorithm to process combinations of asset aggregation or disaggregation orderings at a query time.

5. The node of claim 4 , wherein the processor is further configured to:

unroll multiple levels of an asset containment based on children.

6. The node of claim 5 , wherein the processor is further configured to:

detect parent-child-parent loop errors.

7. A method, comprising:

generating an asset containment world-state table by a blockchain node, wherein the asset containment world-state table represents latest values for all keys included in a chain transaction log of a blockchain of the blockchain network, wherein rows of the asset containment world-state table correspond to events associated with assets, and wherein each row comprises a start-time field, an end-time field, a start-time-upper-bound field, and an end-time-lower-bound field;

by the blockchain node, detecting that an event associated with an asset occurs at time T 1 , wherein the event comprises an aggregation event or a disaggregation event;

by the blockchain node, read key-value pairs stored in the blockchain using a smart contract;

by the blockchain node executing the smart contract, identifying a row in the asset containment world-state table that corresponding to a prior event associated with the asset using the key-value pairs that have been read, wherein it is determined that the row needs to be split to create a new row corresponding to the event in response to the event being identified as a child of the prior event based on a start-time-lower-bound field of the row having a value less than or equal to T 1 and an end-time-upper-bound field of the row having a value greater than T 1 , and wherein the prior event is one of the aggregation event or the disaggregation event associated with the asset;

by the blockchain node executing the smart contract, determining using a linear-time ingestion algorithm that the event occurs in one of an aggregation/disaggregation interval of the prior event, an aggregation/aggregation interval of the prior event, or an aggregation/disaggregation interval of the prior event using the start-time field of the event, the end-time field of the event, the start-time-lower-bound field of the event, and the end-time-upper-bound field of the event;

by the blockchain node executing the smart contract and in response to the determining, modifying the asset containment world-state table to have a new row corresponding to the event by splitting the row corresponding to the prior event into a first row corresponding to the prior event and the new row using the linear-time ingestion algorithm to execute a one-shot ingestion modifying the asset containment world-state table only once, wherein the aggregation/disaggregation event does not modify the asset containment world-state table again even if it is received in an out-of-time order; and

by the blockchain node executing the smart contract, computing a low-latency, real-time estimation of supply-chain metrics based on the modified world-state table using a smart contract of the blockchain.

8. The method of claim 7 , further comprising:

detecting the aggregation event or the disaggregation event at an asset ingestion time.

9. The method of claim 7 , further comprising:

splitting the computation of the supply-chain metrics between an ingestion time and a query time.

10. The method of claim 7 , further comprising:

executing the linear-time algorithm to process combinations of asset aggregation or disaggregation orderings at a query time.

11. The method of claim 10 , further comprising:

unrolling multiple levels of an asset containment based on children.

12. The method of claim 11 , further comprising:

detecting parent-child-parent loop errors.

13. A non-transitory computer-readable medium comprising one or more instructions that, when executed by a processor of a node in a blockchain network, cause the processor to perform:

generating an asset containment world-state table by a blockchain node, wherein the asset containment world-state table represents latest values for all keys included in a chain transaction log of a blockchain of the blockchain network, wherein rows of the asset containment world-state table correspond to events associated with assets, and wherein each row comprises a start-time field, an end-time field, a start-time-upper-bound field, and an end-time-lower-bound field;

by the blockchain node, detecting that an event associated with an asset occurs at time T 1 , wherein the event comprises an aggregation event or a disaggregation event;

by the blockchain node, read key-value pairs stored in the blockchain using a smart contract;

by the blockchain node executing the smart contract, identifying a row in the asset containment world-state table that corresponding to a prior event associated with the asset using the key-value pairs that have been read, wherein it is determined that the row needs to be split to create a new row corresponding to the event in response to the event being identified as a child of the prior event based on a start-time-lower-bound field of the row having a value less than or equal to T 1 and an end-time-upper-bound field of the row having a value greater than T 1 , and wherein the prior event is one of the aggregation event or the disaggregation event associated with the asset;

by the blockchain node executing the smart contract, determining using a linear-time ingestion algorithm that the event occurs in one of an aggregation/disaggregation interval of the prior event, an aggregation/aggregation interval of the prior event, or an aggregation/disaggregation interval of the prior event using the start-time field of the event, the end-time field of the event, the start-time-lower-bound field of the event, and the end-time-upper-bound field of the event;

by the blockchain node executing the smart contract and in response to the determining, modifying the asset containment world-state table to have a new row corresponding to the event by splitting the row corresponding to the prior event into a first row corresponding to the prior event and the new row using the linear-time ingestion algorithm to execute a one-shot ingestion modifying the asset containment world-state table only once, wherein the aggregation/disaggregation event does not modify the asset containment world-state table again even if it is received in an out-of-time order; and

by the blockchain node executing the smart contract, computing a low-latency, real-time estimation of supply-chain metrics based on the modified world-state table using a smart contract of the blockchain.

14. The non-transitory computer-readable medium of claim 13 , wherein the one or more instructions further cause the processor to perform:

detecting the aggregation event or the disaggregation event at an asset ingestion time.

15. The non-transitory computer-readable medium of claim 13 , wherein the one or more instructions further cause the processor to perform:

splitting the computation of the supply-chain metrics between an ingestion time and a query time.

16. The non-transitory computer-readable medium of claim 13 , wherein the one or more instructions further cause the processor to perform:

executing the linear-time algorithm to process combinations of asset aggregation or disaggregation orderings at a query time.

17. The non-transitory computer-readable medium of claim 16 , wherein the one or more instructions further cause the processor to perform:

unrolling multiple levels of an asset containment based on children and detecting parent-child-parent loop errors.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 19, 2020
From: JAGMOHAN, ASHISH; CHEE, YI-MIN; MACNAUGHT, JULIE; NARENDRA, ABHILASH; RATAKONDA, KRISHNA CHAITANYA; ENDERBY, RYAN
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 051865/0161 →
Continuity (1)
Related Publication 20210256442A1 · Aug 19, 2021
References Cited (53)
US 6105062A · Andrews et al. · 2000 [cited by applicant]
US 6536033B1 · Weerawarana et al. · 2003 [cited by applicant]
US 6760733B1 · Komine et al. · 2004 [cited by applicant]
US 7716252B2 · Jones et al. · 2010 [cited by applicant]
US 7734657B2 · Anonsen et al. · 2010 [cited by applicant]
US 7788119B2 · Najmi et al. · 2010 [cited by applicant]
US 8626558B2 · Dudley et al. · 2014 [cited by applicant]
US 8856089B1 · Briggs et al. · 2014 [cited by applicant]
US 9110900B2 · Herbeck et al. · 2015 [cited by applicant]
US 9659045B2 · Liu et al. · 2017 [cited by applicant]
US 9723019B1 · Rathor · 2017 [cited by applicant]
US 10567320B2 · Chalakudi · 2020 [cited by examiner]
US 20020143598A1 · Scheer · 2002 [cited by examiner]
US 20030110104A1 · King et al. · 2003 [cited by applicant]
US 20030229526A1 · Gallacci et al. · 2003 [cited by applicant]
US 20060064429A1 · Yao · 2006 [cited by applicant]
US 20060115752A1 · Latypov · 2006 [cited by examiner]
US 20090007098A1 · Chevrette et al. · 2009 [cited by applicant]
US 20090276562A1 · Lieber · 2009 [cited by examiner]
US 20100250497A1 · Redlich · 2010 [cited by examiner]
US 20110246506A1 · Nakano et al. · 2011 [cited by applicant]
US 20110320419A1 · Johnston · 2011 [cited by examiner]
US 20130018849A1 · Johnston · 2013 [cited by examiner]
US 20130155090A1 · Pourbigharaz · 2013 [cited by examiner]
US 20130185313A1 · Herbeck et al. · 2013 [cited by applicant]
US 20130290358A1 · Dogaru · 2013 [cited by examiner]
US 20140136218A1 · Bolene · 2014 [cited by examiner]
US 20140136291A1 · Bolene · 2014 [cited by examiner]
US 20170032301A1 · Marshall · 2017 [cited by applicant]
US 20170230189A1 · Toll et al. · 2017 [cited by applicant]
US 20180101848A1 · Castagna et al. · 2018 [cited by applicant]
US 20180130158A1 · Atkinson et al. · 2018 [cited by applicant]
US 20180341930A1 · Moir et al. · 2018 [cited by applicant]
US 20190026690A1 · Wappler et al. · 2019 [cited by applicant]
US 20190043201A1 · Strong · 2019 [cited by examiner]
US 20190116142A1 · Chalakudi · 2019 [cited by examiner]
US 20190138662A1 · Deutsch et al. · 2019 [cited by applicant]
US 20190332807A1 · LaFever · 2019 [cited by examiner]
US 20190340619A1 · Leong et al. · 2019 [cited by applicant]
US 20200051011A1 · Dasari · 2020 [cited by examiner]
US 20200089720A1 · Dallara · 2020 [cited by examiner]
US 20200394654A1 · Concannon et al. · 2020 [cited by applicant]
US 20210073209A1 · Loaiza · 2021 [cited by examiner]
US 20210256017A1 · Jagmohan et al. · 2021 [cited by applicant]
CN 106126192B · 2019 [cited by applicant]
CN 110852723A · 2020 [cited by examiner]
JP 2008523473A · 2008 [cited by examiner]
WO WO2019246568A1 · 2019 [cited by examiner]
“The Blockchain Potential for Port Logistics”, by Weernink et al., SmartPort, Spring 2017. (Year: 2017). [cited by examiner]
“Leveraging Blockchain Technology to Enhance Supply Chain Management in Healthcare”, by Mackey et al., Lipscomb University, Blockchain in Healthcare Today, Mar. 27, 2018. (Year: 2018). [cited by examiner]
Beck et al., “Blockchain Technology in Business and Information Systems Research”, IT University of Copenhagen, Copenhagen, Denmark, Business Information System Engineer 59 (6): p. 381-384, 2017. (Year: 2017). [cited by examiner]
List of IBM Patents or Patent Applications Treated as Related, Current date, 2018. [cited by applicant]
Ashish Jagmohan, Computation of Containment Relationships, U.S. Appl. No. 16/795,551, filed Feb. 19, 2020. [cited by applicant]