IP Library Granted Patent US 12,229,286
Granted Patent B2
US 12,229,286 · App. 17/677,605 · Granted Feb 18, 2025

Method and apparatus for creating and managing user configurable objects and functions on distributed ledger networks

Inventor: George Daniel Doney (Riva, MD)
Assignee: DTCC DIGITAL (US) INC.
G06F21/62G06F21/6245G06F21/64G06Q20/367G06Q20/401H04L9/50G06Q2220/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,229,286
App. No.
17/677,605
Granted
Feb 18, 2025
Kind
B2
Abstract

To achieve no code or low code parity in decentralized computing systems, disclosed implementations provide a data structure and trusted control plane that enables the creation and operation of composable objects, that is objects whose functions and properties are derived from configurable and upgradable templates. The templates are data structures that define the behavior of a collection of objects, the behaviors being the interfaces, functions, properties, events, triggers, error messages, and dependencies that define and object and its interaction with other objects and entities. Templates are configured by mapping the desired object behaviors to registered smart contract logic that affects the behaviors. Thus, complex objects can be composed without the need for new computer code. Additional logic to enable new behaviors can be added by authorized smart contract developers and, once certified, added to one or more templates to provide the objects access to the new capabilities.

Claims (52)

1. A method for creating and managing configurable objects, the objects being executable on a decentralized computing network to affect asset behaviors, the method comprising:

specifying, using a creator wallet, a class, required object properties, wherein the class is defined by a class template expressed as a data structure specifying executable behaviors for the class, the behaviors including permissions, interfaces, functions, properties, events, errors, and dependencies assigned to the class, the class template being stored in a class template registry in the decentralized computing network, wherein the creator wallet includes an address on the decentralized computing network;

instantiating a configurable object in the item registry, the object having a unique identifier, and a pointer to a class template that is configured to enable desired behaviors of the object;

routing, by a trusted control plane, requests from authorized users of the configurable object to affect object behaviors, the trusted control plane a smart contract proxy that ensures the security and authenticity of routed requests, the routing using instructions in the data structure of the class template assigned to the object, the data structure including a map to registered smart contract logic that executes the object behaviors, the logic registered in a logic registry, the logic being in the form of smart contract code that is executable in the decentralized computing network; and

executing, via registered smart contract logic the desired object behaviors on a distributed ledger network.

2. The method of claim 1 , wherein logic in the logic registry is published by authorized publishers as predefined distributed ledger smart contracts having declared interfaces, each of the predefined distributed ledger smart contracts implementing functions including a required function that returns a description of implemented interfaces and functions, properties, events, triggers, and dependencies in a standardized manner to thereby enable third party combination and configuration, and wherein each of the predefined distributed ledger smart contracts implement a defined session management pattern to ensure only authorized requests are processed by the smart contract, the logic registry containing a list of all smart contracts made available to the system including an identifier for the developer publishing each smart contract.

3. The method of claim 2 , wherein the distributed ledger smart contracts are validated by an authorized party as meeting the declared interfaces and implementing proper security controls via a specification to identify certifiers, negotiate payment, and record and publish code review.

4. The method of claim 1 , wherein the class templates are configured by authorized class designers, each class template containing a mapping to authorization models, properties, and code stored in the logic registry and executed via the trusted control plane, the class templates containing desired behaviors and requisite authorization models, the class template representing behaviors of a collection of virtual or physical items, the behaviors comprising interfaces and functions, properties, events, triggers, identifier types, dependencies, and rights to interact with the virtual or physical object.

5. The method of claim 4 , wherein a child class template may inherit behaviors from a parent class template, the inheritance affected by routing desired behaviors for execution using the parent template unless the child class explicitly overrides or extends the parent routing instructions with defined behaviors, and if overridden or extended, routing for execution based on the child template instructions.

6. The method of claim 4 , wherein an object may upgrade its behavior by assigning a new class template to its item registry record, the new class template upgraded from an earlier version of the class template by copying the old class template and changing or extending by assigning new behaviors, the behaviors affected by routing requests for execution based on the new class template.

7. The method of claim 1 , wherein objects may be assigned one or more external identifiers, the external identifiers facilitating reconciliation with or between external systems, the assignment linking the object item Id, the identifier type, and the external identifier.

8. The method of claim 1 , wherein the object is assigned a smart contract wallet, the wallet being a unique address on a distributed ledger that can be used to send or receive value and make state changes requests to other objects, the wallet operated by smart contract logic assigned to the object via its class template.

9. The method of claim 1 , wherein the instantiating of the object assigns behaviors for transferability of the object ownership between distributed ledger wallets, the behaviors characteristic of a non-fungible token (NFT).

10. The method of claim 9 , wherein the object record specifies an owner wallet associated with the object.

11. The method of claim 1 , wherein the configurable object may be assigned properties by any authorized user, the properties not necessarily linked to the designated class template.

12. The method of claim 1 , wherein the step of instantiating a configurable object in accordance with the executable logic for the class and the object properties includes recording each object in the item registry in association with a unique identifier and an assigned class by initiating an assign request, each object instance exhibiting the behaviors, interface, functions, properties, events, triggers, identifier types, and dependencies of the assigned class, and object specific values assigned to class properties.

13. The method of claim 12 , further comprising execution of object functions by ecosystem participants via signed state change requests routed through the item registry, wherein the item registry determines the eligibility of the state change requests based on the control context assigned to the desired request and the attributes and roles of the requestor with respect to the object, executing the validated state change requests on the decentralized network.

14. The method of claim 13 , further comprising the item registry creating a session to manage the execution of the desired request, a proxy routing the state change request to the appropriate code based on the class template, the code validating the legitimacy of the request based on the presence of a session and the code.

15. The method of claim 1 , further comprising rewarding parties contributing logic, certifications, or class templates to the decentralized computing network through the use of a utility token, the utility token being a unit of value linked to the utility of the ecosystem.

16. The method of claim 9 , wherein the instantiated object may be attached to one or more share classes, the share classes being fungible tokens permitting fractional ownership of the non-fungible asset, the linkage between the non-fungible token and associated fungible tokens enacted through a two way agreement transferring control of the fungible token issuing authority in exchange for rights to affect behaviors in the non-fungible token.

17. The method of claim 1 , wherein the routing comprises:

receiving a request that includes a function identifier, an item wallet, and request data;

identifying based on the item wallet the object to which the request applies;

requesting, by a smart contract of an item registry, a pointer to the function from a class registry based on a class template assigned to the classId associated with the object; determining a path to the requested function corresponding to the function identifier based on the routing instructions in the data structure of the class template; verifying the function is implemented by the smart contract address identified by the class template; and executing the request via the designated smart contract logic.

18. The method of claim 1 , wherein the executing of configurable logic enables the behaviors of a bank lending operation.

19. A computer system for creating and managing configurable objects, the objects being executable on a decentralized computing network to affect asset behaviors, the system comprising:

at least one computer processor; and

at least on memory device storing instructions that, when executed by the at least one computer processor, cause the at least one computer processor to carry out a method comprising:

specifying, using a creator wallet, a class, required object properties, wherein the class is defined by a class template expressed as a data structure specifying executable behaviors for the class, the behaviors including permissions, interfaces, functions, properties, events, errors, and dependencies assigned to the class, the class template being stored in a class template registry in the decentralized computing network, wherein the creator wallet includes an address on the decentralized computing network;

instantiating a configurable object in the item registry, the object having a unique identifier, and a pointer to a class template that is configured to enable desired behaviors of the object;

routing, by a trusted control plane, requests from authorized users of the configurable object to affect object behaviors, the trusted control plane a smart contract proxy that ensures the security and authenticity of routed requests, the routing using instructions in the data structure of the class template assigned to the object, the data structure including a map to registered smart contract logic that executes the object behaviors, the logic registered in a logic registry, the logic being in the form of smart contract code that is executable in the decentralized computing network; and

executing, via registered smart contract logic the desired object behaviors on a distributed ledger network.

20. The system of claim 19 , wherein logic in the logic registry is published by authorized publishers as predefined distributed ledger smart contracts having declared interfaces, each of the predefined distributed ledger smart contracts implementing functions including a required function that returns a description of implemented interfaces and functions, properties, events, triggers, and dependencies in a standardized manner to thereby enable third party combination and configuration, and wherein each of the predefined distributed ledger smart contracts implement a defined session management pattern to ensure only authorized requests are processed by the smart contract, the logic registry containing a list of all smart contracts made available to the system including an identifier for the developer publishing each smart contract.

21. The system of claim 20 , wherein the distributed ledger smart contracts are validated by an authorized party as meeting the declared interfaces and implementing proper security controls via a specification to identify certifiers, negotiate payment, and record and publish code review.

22. The system of claim 19 , wherein objects may be assigned one or more external identifiers, the external identifiers facilitating reconciliation with or between external systems, the assignment linking the object item Id, the identifier type, and the external identifier.

23. The system of claim 19 wherein the object is assigned a smart contract wallet, the wallet being a unique address on a distributed ledger that can be used to send or receive value and make state changes requests to other objects, the wallet operated by smart contract logic assigned to the object via its class template.

24. The system of claim 19 , wherein the instantiating of the object assigns behaviors for transferability of the object ownership between distributed ledger wallets, the behaviors characteristic of a non-fungible token (NFT).

25. The method of claim 24 , wherein the object record specifies an owner wallet associated with the object.

26. The system of claim 24 , wherein the instantiated object may be attached to one or more share classes, the share classes being fungible tokens permitting fractional ownership of the non-fungible asset, the linkage between the non-fungible token and associated fungible tokens enacted through a two way agreement transferring control of the fungible token issuing authority in exchange for rights to affect behaviors in the non-fungible token.

27. The system of claim 19 , wherein the configurable object may be assigned properties by any authorized user, the properties not necessarily linked to the designated class template.

28. The system of claim 27 , wherein the class templates are configured by authorized class designers, each class template containing a mapping to authorization models, properties, and code stored in the logic registry and executed via the trusted control plane, the class templates containing desired behaviors and requisite authorization models, the class template representing behaviors of a collection of virtual or physical items, the behaviors comprising interfaces and functions, properties, events, triggers, identifier types, dependencies, and rights to interact with the virtual or physical object.

29. The system of claim 28 , wherein a child class template may inherit behaviors from a parent class template, the inheritance affected by routing desired behaviors for execution using the parent template unless the child class explicitly overrides or extends the parent routing instructions with defined behaviors, and if overridden or extended, routing for execution based on the child template instructions.

30. The system of claim 28 , wherein an object may upgrade its behavior by assigning a new class template to its item registry record, the new class template upgraded from an earlier version of the class template by copying the old class template and changing or extending by assigning new behaviors, the behaviors affected by routing requests for execution based on the new class template.

31. The system of claim 19 , wherein the step of instantiating a configurable object in accordance with the executable logic for the class and the object properties includes recording each object in the item registry in association with a unique identifier and an assigned class by initiating an assign request, each object instance exhibiting the behaviors, interface, functions, properties, events, triggers, identifier types, and dependencies of the assigned class, and object specific values assigned to class properties.

32. The system of claim 31 , further comprising execution of object functions by ecosystem participants via signed state change requests routed through the item registry, wherein the item registry determines the eligibility of the state change requests based on the control context assigned to the desired request and the attributes and roles of the requestor with respect to the object, executing the validated state change requests on the decentralized network.

33. The system of claim 32 , further comprising the item registry creating a session to manage the execution of the desired request, a proxy routing the state change request to the appropriate code based on the class template, the code validating the legitimacy of the request based on the presence of a session and the code.

34. The system of claim 19 , further comprising rewarding parties contributing logic, certifications, or class templates to the decentralized computing network through the use of a utility token, the utility token being a unit of value linked to the utility of the ecosystem.

35. The system of claim 19 wherein the routing comprises:

receiving a request that includes a function identifier, an item wallet, and request data;

identifying based on the item wallet the object to which the request applies;

requesting, by a smart contract of an item registry, a pointer to the function from a class registry based on a class template assigned to the classId associated with the object; determining a path to the requested function corresponding to the function identifier based on the routing instructions in the data structure of the class template; verifying the function is implemented by the smart contract address identified by the class template; and executing the request via the designated smart contract logic.

36. The method of claim 19 , wherein the executing of configurable logic enables the behaviors of a bank lending operation.

Assignments (4)
MERGER AND CHANGE OF NAME Recorded Apr 19, 2024
From: SECURRENCY, INC.; SNAPDRAGON MERGER SUB INC.; DTCC DIGITAL (US) INC.
To: DTCC DIGITAL (US) INC.
Reel/Frame 067159/0338 →
RELEASE OF PATENT SECURITY INTEREST RECORDED AT REEL 064015, FRAME 0699 Recorded Dec 11, 2023
From: WISDOMTREE, INC.
To: SECURRENCY, INC.
Reel/Frame 065844/0315 →
SECURITY INTEREST Recorded Jun 21, 2023
From: SECURRENCY, INC.
To: WISDOMTREE, INC., AS COLLATERAL AGENT
Reel/Frame 064015/0699 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 2, 2022
From: DONEY, GEORGE DANIEL
To: SECURRENCY, INC.
Reel/Frame 059146/0557 →
Continuity (9)
Continuation In Part 16143058 · Sep 26, 2018
Continuation In Part 17332375 · May 27, 2021
Provisional Application 63151834 · Feb 22, 2021
Provisional Application 63151837 · Feb 22, 2021
Provisional Application 62563684 · Sep 27, 2017
Provisional Application 62732189 · Sep 17, 2018
Provisional Application 63030416 · May 27, 2020
Related Publication 20220188810A1 · Jun 16, 2022
Related Publication 20230281601A9 · Sep 7, 2023
References Cited (8)
US 20140129457A1 · Peeler · 2014 [cited by applicant]
US 20180117446A1 · Tran · 2018 [cited by examiner]
US 20190080404A1 · Molinari et al. · 2019 [cited by applicant]
US 20200005284A1 · Vijayan · 2020 [cited by examiner]
US 20200089672A1 · Velisetti et al. · 2020 [cited by applicant]
US 20200349562A1 · Madhuram et al. · 2020 [cited by applicant]
US 20220006705A1 · Padmanabhan · 2022 [cited by applicant]
US 20220271915A1 · Turner et al. · 2022 [cited by applicant]
Cited By (1)
US 12,651,296