IP Library Granted Patent US 12,333,496
Granted Patent B2
US 12,333,496 · App. 18/118,716 · Granted Jun 17, 2025

Settling obligations via netting transactions

Inventor: David Hudson (London, GB)
Assignee: R3 Ltd.
G06Q10/0875G06Q20/3829G06Q20/389G06Q40/00G06Q2220/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 12,333,496
App. No.
18/118,716
Granted
Jun 17, 2025
Kind
B2
Abstract

A system is provided for netting obligations between entities of a cycle of obligations. Each obligation specifying a quantity of an item that a from-entity of the cycle is obligated to provide to a to-entity of the cycle. For each entity, the system determines whether the sum of its inventory of the item and the quantity of the obligation on which it is a to-entity is sufficient to satisfy the obligation on which it is a from-entity. When sufficient, the system identifies one or more netting transactions to settle the obligations of the cycle. The system then directs the execution of the netting transactions and settlement transactions to effect and record the settling of the obligations.

Claims (32)

1. A method performed by one or more computing systems of a network of network nodes for preserving privacy of obligations during a network scan, the method comprising:

under control of an initiator network node,

generating a scan identifier based on an initiator identifier of the initiator network node and a timestamp;

signing an initiate scan request using a first private key of a first public/private key pair;

selecting a nominated network node from the network of network nodes; and

sending to the nominated network node the initiate scan request that includes the scan identifier; and

under control of the nominated network node,

receiving the initiate scan request;

signing the initiate scan request using a second private key of a second private/public key pair; and

initiating a scan request by sending to a receiving network node the initiate scan request that is signed using the first private key and the second private key.

2. The method of claim 1 wherein a network node verifies signatures using a first public key of the first public/private key pair and a second public key of the second public/private key pair to determine that the initiate scan request was signed by two different entities.

3. The method of claim 1 wherein the receiving network node verifies that the initiator network node is different than the nominated network node.

4. The method of claim 3 wherein upon determining that the initiator network node is the same as the nominated network node, the receiving network node refuses to participate in the scan request.

5. The method of claim 1 wherein the receiving network node, upon receiving a second scan request while it is processing the initiating scan request, compares the scan identifier of the initiate scan request and a scan identifier of the second scan request.

6. The method of claim 5 wherein when the scan identifier of the second scan request is less than the scan identifier of the initiate scan request, the receiving network node aborts processing of the initiate scan request.

7. The method of claim 5 wherein when the scan identifier of the second scan request is greater than the scan identifier of the initiate scan request, the receiving network node responds to the second scan request indicating that the second scan request collided with the initiate scan request.

8. At least one non-transitory, computer-readable medium carrying instructions, which when executed by at least one data processor, performs operations for preserving privacy of obligations during a network scan, the operations comprising:

under control of an initiator network node,

generating a scan identifier based on an initiator identifier of the initiator network node and a timestamp;

signing an initiate scan request using a first private key of a first public/private key pair;

selecting a nominated network node from the network of network nodes; and

sending to the nominated network node the initiate scan request that includes the scan identifier; and

under control of the nominated network node,

receiving the initiate scan request;

signing the initiate scan request using a second private key of a second private/public key pair; and

initiating a scan request by sending to a receiving network node the initiate scan request that is signed using the first private key and the second private key.

9. The at least one non-transitory, computer-readable medium of claim 8 wherein a network node verifies signatures using a first public key of the first public/private key pair and a second public key of the second public/private key pair to determine that the initiate scan request was signed by two different entities.

10. The at least one non-transitory, computer-readable medium of claim 8 wherein the receiving network node verifies that the initiator network node is different than the nominated network node.

11. The at least one non-transitory, computer-readable medium of claim 10 wherein upon determining that the initiator network node is the same as the nominated network node, the receiving network node refuses to participate in the scan request.

12. The at least one non-transitory, computer-readable medium of claim 8 wherein the receiving network node, upon receiving a second scan request while it is processing the initiating scan request, compares the scan identifier of the initiate scan request and a scan identifier of the second scan request.

13. The at least one non-transitory, computer-readable medium of claim 12 wherein when the scan identifier of the second scan request is less than the scan identifier of the initiate scan request, the receiving network node aborts processing of the initiate scan request.

14. The at least one non-transitory, computer-readable medium of claim 12 wherein when the scan identifier of the second scan request is greater than the scan identifier of the initiate scan request, the receiving network node responds to the second scan request indicating that the second scan request collided with the initiate scan request.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 8, 2023
From: HUDSON, DAVID
To: R3 LTD.
Reel/Frame 062917/0676 →
Continuity (4)
Division 17009327 · Sep 1, 2020
Continuation 15722984 · Oct 2, 2017
Provisional Application 62566664 · Oct 2, 2017
Related Publication 20230214827A1 · Jul 6, 2023
References Cited (58)
US 7133845B1 · Ginter · 2006 [cited by examiner]
US 7398229B2 · Budish · 2008 [cited by examiner]
US 7593527B2 · Beeson · 2009 [cited by examiner]
US 8131648B2 · Barton · 2012 [cited by applicant]
US 8478616B2 · De Klerk et al. · 2013 [cited by applicant]
US 9794074B2 · Toll et al. · 2017 [cited by applicant]
US 9807079B2 · Doshi · 2017 [cited by examiner]
US 10116450B1 · Brown et al. · 2018 [cited by applicant]
US 10389518B2 · Chen et al. · 2019 [cited by applicant]
US 10412171B2 · Haleem · 2019 [cited by examiner]
US 10630769B2 · Carver et al. · 2020 [cited by applicant]
US 10643279B2 · Pessin · 2020 [cited by applicant]
US 10764142B2 · Bertsche · 2020 [cited by examiner]
US 10810546B2 · Hudson · 2020 [cited by applicant]
US 11102231B2 · Kraning · 2021 [cited by examiner]
US 20020178077A1 · Katz et al. · 2002 [cited by applicant]
US 20030135441A1 · Ginsberg · 2003 [cited by applicant]
US 20090037491A1 · Cachin et al. · 2009 [cited by applicant]
US 20090037684A1 · Obata et al. · 2009 [cited by applicant]
US 20090113217A1 · Dolgunov et al. · 2009 [cited by applicant]
US 20090198528A1 · Kahn · 2009 [cited by applicant]
US 20140222638A1 · Groarke · 2014 [cited by applicant]
US 20170243193A1 · Manian et al. · 2017 [cited by applicant]
US 20170244568A1 · Brickell et al. · 2017 [cited by applicant]
US 20170352012A1 · Hearn et al. · 2017 [cited by applicant]
US 20170352031A1 · Collin · 2017 [cited by applicant]
US 20170353309A1 · Gray · 2017 [cited by applicant]
US 20180075527A1 · Nagla et al. · 2018 [cited by applicant]
US 20180091309A1 · Misoczki et al. · 2018 [cited by applicant]
US 20180096175A1 · Schmeling · 2018 [cited by examiner]
US 20180117446A1 · Tran · 2018 [cited by examiner]
US 20190028276A1 · Pierce et al. · 2019 [cited by applicant]
US 20190043050A1 · Smith et al. · 2019 [cited by applicant]
US 20190108513A1 · Kano et al. · 2019 [cited by applicant]
US 20190122186A1 · Kano et al. · 2019 [cited by applicant]
US 20190132350A1 · Smith · 2019 [cited by examiner]
US 20190179933A1 · Wang et al. · 2019 [cited by applicant]
US 20190188711A1 · Wu et al. · 2019 [cited by applicant]
US 20190199514A1 · Hari et al. · 2019 [cited by applicant]
US 20190208422A1 · Haleem · 2019 [cited by examiner]
US 20190251199A1 · Klianev · 2019 [cited by applicant]
US 20190319797A1 · Suresh et al. · 2019 [cited by applicant]
US 20190319799A1 · Suresh et al. · 2019 [cited by applicant]
US 20190319800A1 · Misoczki et al. · 2019 [cited by applicant]
US 20190333059A1 · Fallah · 2019 [cited by examiner]
US 20190386832A1 · Palyutina · 2019 [cited by examiner]
US 20200286174A1 · Pessin · 2020 [cited by applicant]
WO 2019042101A1 · 2019 [cited by applicant]
WO 2019120327A2 · 2019 [cited by applicant]
Anonymous, “Transport Layer Security—Wikipedia,” Jun. 23, 2017, XP055494532, Retrieved from the Internet: https://en.wikipedia.org/w/index.php?title=Transport_Layer_Security&oldid=787037092, p. 1, 9. [cited by applicant]
Antonopoulos, A. “Mastering Bitcoin” 2014, First Edition, O'Reilly Media, Inc., Chapters 4 and 5 (Year: 2014). [cited by applicant]
Dikshit, P. “Efficient Weighted Threshold ECDSA for Securing Bitcoin Wallet” 2017, IEEE (Year: 2017), 10 pages. [cited by applicant]
Hart, P.E. et al., “A Formal Basis for Heuristic Determination of Minimum Cost Paths,” IEEE Transactions on Systems Science and Cybernetics SSC4, 1968, 4 (2), pp. 100-107. [cited by applicant]
Hearn, Mike, “Corda: A distributed ledger,” Nov. 29, 2016, https://docs.corda.net/releases/release-M10.1/_static/ordia-technical-whitepaper.pdf. 53 pages. [cited by applicant]
International Search Report and Written Opinion issued for PCT/GB2018/052757 mailed Nov. 26, 2018, 14 pages. [cited by applicant]
Johnson, D. “Finding all the Elementary Circuits of a Directed Graph,” SIAM J. Comput., vol. 4, No. 1, 1975, pp. 77-84. [cited by applicant]
Nakamoto, Satoshi, “Bitcoin: A Peer-to-Peer Electronic Cash System,” http://www.bitcoin.org/bitcoin.pdf, pp. 1-9, Jul. 4, 2010. [cited by applicant]
Tarjan, R. E., “Depth-First Search and Linear Graph Algorithms,” SIAM J. Comput., vol. 1, No. 2, 1972, pp. 146-160. [cited by applicant]