Interworking between IoT service layer systems and distributed ledger systems
A distributed ledger interworking architecture is described wherein a distributed ledger proxy interfaces with IoT service layer systems and distributed ledger systems. Service layer nodes may interact with the distributed ledger proxy to leverage functions provided by distributed ledger systems, such as to request that the distributed ledger proxy insert some service layer information into the distributed ledgers. A distributed ledger proxy can support multiple service layer nodes and may interface to multiple different distributed ledger systems.
1. A method performed by a distributed ledger proxy for interworking a service layer system and a distributed ledger system, the method comprising:
receiving, from a service layer entity of the service layer system, a message comprising data for the service layer system to be stored at the distributed ledger system, wherein the service layer system is a middleware layer system providing service capabilities to a plurality of applications through a set of application programming interfaces (APIs);
generating, at the distributed ledger proxy and based on the data for the service layer system, a transaction in accordance with one or more specifications of the distributed ledger system;
sending, to the distributed ledger system, information associated with the transaction;
receiving, from the distributed ledger system, an indication that the transaction has been confirmed by the distributed ledger system; and
sending, to the service layer entity of the service layer system, the indication that the transaction has been confirmed by the distributed ledger system.
2. The method of claim 1 , further comprising generating a mapping between the data received from the service layer entity and the transaction.
3. The method of claim 1 , wherein the indication that the transaction has been confirmed by the distributed ledger system comprises at least one of an identifier of the transaction, an identifier of the data received from the service layer entity, or a hash of the data received from the service layer entity.
4. The method of claim 1 , further comprising sending, to the service layer entity and prior to receiving the indication that the transaction has been confirmed, a response comprising an indication that the transaction is awaiting confirmation by the distributed ledger system.
5. The method of claim 1 , further comprising receiving, from the service layer entity, another message comprising other data, wherein the transaction is generated based on the data and the other data.
6. The method of claim 1 , further comprising:
receiving, from the service layer entity, a request to retrieve one or more transactions from the distributed ledger system;
retrieving, from the distributed ledger system, information associated with the one or more transactions; and
sending, to the service layer entity, information associated with the one or more transactions.
7. The method of claim 1 ,
wherein the distributed ledger system comprises a plurality of distributed ledger nodes, and
wherein the message comprises an indication to store the data at a particular one of the distributed ledger nodes.
8. An apparatus comprising a processor and a memory, the memory storing computer-executable instructions which, when executed by the processor, implement a distributed ledger proxy for interworking a service layer system and a distributed ledger system, and cause the distributed ledger proxy to perform operations comprising:
receiving, from a service layer entity of the service layer system, a message comprising data to be stored at the distributed ledger system, wherein the service layer system is a middleware layer system providing service capabilities to a plurality of applications through a set of application programming interfaces (APIs);
generating, at the distributed ledger proxy and based on the data for the service layer system, a transaction in accordance with one or more specifications of the distributed ledger system;
sending, to the distributed ledger system, information associated with the transaction;
receiving, from the distributed ledger system, an indication that the transaction has been confirmed by the distributed ledger system; and
sending, to the service layer entity of the service layer system, the indication that the transaction has been confirmed by the distributed ledger system.
9. The apparatus of claim 8 , wherein the instructions when executed further cause the distributed ledger proxy to perform operations comprising generating a mapping between the data received from the service layer entity and the transaction.
10. The apparatus of claim 8 , wherein the indication that the transaction has been confirmed by the distributed ledger system comprises at least one of an identifier of the transaction, an identifier of the data received from the service layer entity, or a hash of the data received from the service layer entity.
11. The apparatus of claim 8 , wherein the instructions when executed further cause the distributed ledger proxy to perform operations comprising sending, to the service layer entity and prior to receiving the indication that the transaction has been confirmed, a response comprising an indication that the transaction is awaiting confirmation by the distributed ledger system.
12. The apparatus of claim 8 , wherein the instructions when executed further cause the distributed ledger proxy to perform operations comprising receiving, from the service layer entity, another message comprising other data, wherein the transaction is generated based on the data and the other data.
13. The apparatus of claim 8 , wherein the instructions when executed further cause the distributed ledger proxy to perform operations comprising:
receiving, from the service layer entity, a request to retrieve one or more transactions from the distributed ledger system;
retrieving, from the distributed ledger system, information associated with the one or more transactions; and
sending, to the service layer entity, information associated with the one or more transactions.
14. The apparatus of claim 8 ,
wherein the distributed ledger system comprises a plurality of distributed ledger nodes, and
wherein the message comprises an indication to store the data at a particular one of the distributed ledger nodes.
15. A non-transitory computer-readable storage medium storing computer-executable instructions which, when executed by a processor, implement a distributed ledger proxy for interworking a service layer system and a distributed ledger system, and cause the distributed ledger proxy to perform operations comprising:
receiving, from a service layer entity of the service layer system, a message comprising data to be stored at the distributed ledger system, wherein the service layer system is a middleware layer system providing service capabilities to a plurality of applications through a set of application programming interfaces (APIs);
generating, at the distributed ledger proxy and based on the data for the service layer system, a transaction in accordance with one or more specifications of the distributed ledger system;
sending, to the distributed ledger system, information associated with the transaction;
receiving, from the distributed ledger system, an indication that the transaction has been confirmed by the distributed ledger system; and
sending, to the service layer entity of the service layer system, the indication that the transaction has been confirmed by the distributed ledger system.
16. The non-transitory computer-readable storage medium of claim 15 , wherein the instructions when executed further cause the distributed ledger proxy to perform operations comprising generating a mapping between the data received from the service layer entity and the transaction.
17. The non-transitory computer-readable storage medium of claim 15 , wherein the indication that the transaction has been confirmed by the distributed ledger system comprises at least one of an identifier of the transaction, an identifier of the data received from the service layer entity, or a hash of the data received from the service layer entity.
18. The non-transitory computer-readable storage medium of claim 15 , wherein the instructions when executed further cause the distributed ledger proxy to perform operations comprising sending, to the service layer entity and prior to receiving the indication that the transaction has been confirmed, a response comprising an indication that the transaction is awaiting confirmation by the distributed ledger system.
19. The non-transitory computer-readable storage medium of claim 15 , wherein the instructions when executed further cause the distributed ledger proxy to perform operations comprising receiving, from the service layer entity, another message comprising other data, wherein the transaction is generated based on the data and the other data.
20. The non-transitory computer-readable storage medium of claim 15 ,
wherein the distributed ledger system comprises a plurality of distributed ledger nodes, and
wherein the message comprises an indication to store the data at a particular one of the distributed ledger nodes.