IP Library Granted Patent US 11,637,688
Granted Patent B2
US 11,637,688 · App. 16/965,927 · Granted Apr 25, 2023

Method and apparatus for implementing a distributed blockchain transaction processing element in a datacenter

Inventors: James Kempf (Mountain View, CA); Heikki Mahkonen (San Jose, CA); Zoltán Turányi (Szentendre, HU)
Assignee: Telefonaktiebolaget LM Ericsson (publ)
H04L9/0618H04L9/50
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,637,688
App. No.
16/965,927
Granted
Apr 25, 2023
Kind
B2
Abstract

Methods and systems for implementing a distributed blockchain transaction processing element in a data center are described. A call to a function is received. The call for the function is dispatched to a first runtime environment of a first server. Code is fetched from the blockchain database. The code is executed in the first runtime environment resulting in a blockchain transaction. A copy of the blockchain transaction is written in a storage medium that is locally accessible by the first server. The blockchain transaction is added to a first block. A consensus mechanism is used to determine whether the first block is to be added to the blockchain database; and responsive to determining that the first block is to be added to the blockchain database, the first block is caused to be stored in a persistent storage as part of the blockchain database.

Claims (48)

1. A method in a data center for implementing a blockchain transaction processing component, the method comprising:

receiving, at a first server of the data center, a call to a function to be performed for a smart contract of a blockchain database;

dispatching the call for the function to a first runtime environment of the first server;

fetching code from the blockchain database, wherein the code includes a set of one or more instructions to be executed for implementing the function;

executing the code in the first runtime environment resulting in a blockchain transaction and a modified state of the blockchain database;

writing a copy of the blockchain transaction and the modified state of the blockchain database in a storage medium that is locally accessible by the first server, wherein the storage medium is part of a distributed cluster of storage media accessible to a plurality of servers of the data center; and

in response to writing the copy of the blockchain transaction and the modified state:

adding the blockchain transaction to a first block;

determining, based on a consensus mechanism, whether the first block is to be added to the blockchain database; and

responsive to determining that the first block is to be added to the blockchain database, causing the first block to be stored in a persistent storage as part of the blockchain database.

2. The method of claim 1 , wherein the function to be performed includes at least one of creating the smart contract and performing a transaction operation on the smart contract that was previously created.

3. The method of claim 1 , wherein the smart contract indicates a delegation of rights from a service hosted in the data center to a tenant of the service for enabling the tenant to access resources from the service based on a service offer agreed upon between the tenant and the service.

4. The method of claim 1 , further comprising causing one or more copies of the first block to be stored in one or more storage media in one or more servers separate from the first server to enable high availability of the first block.

5. The method of claim 1 , wherein the consensus mechanism is performed for determining a block from a plurality of blocks that is to be written to the blockchain database, wherein the plurality of blocks includes the first block and each block from the plurality of blocks results from execution of code of one or more functions on one or more runtime environments of servers of the data center.

6. The method of claim 5 , wherein the consensus mechanism is run across a plurality of servers of the data center.

7. A data center for implementing a blockchain transaction processing component, the data center comprising:

a first server including:

a non-transitory computer readable storage medium to store instructions; and

a processor coupled with the non-transitory computer readable storage medium to process the stored instructions to:

receive a call to a function to be performed for a smart contract of a blockchain database;

dispatch the call for the function to a first runtime environment of the first server;

fetch code from the blockchain database, wherein the code includes a set of one or more instructions to be executed for implementing the function;

execute the code in the first runtime environment resulting in a blockchain transaction and a modified state of the blockchain database;

write a copy of the blockchain transaction and the modified state of the blockchain database in a storage medium that is locally accessible by the first server, wherein the storage medium is part of a distributed cluster of storage media accessible to a plurality of servers of the data center; and

in response to writing the copy of the blockchain transaction and the modified state:

add the blockchain transaction to a first block;

determine, based on a consensus mechanism, whether the first block is to be added to the blockchain database; and

responsive to determining that the first block is to be added to the blockchain database, cause the first block to be stored in a persistent storage as part of the blockchain database.

8. The data center of claim 7 , wherein the function to be performed includes at least one of creating the smart contract and performing a transaction operation on the smart contract that was previously created.

9. The data center of claim 7 , wherein the smart contract indicates a delegation of rights from a service hosted in the data center to a tenant of the service for enabling the tenant to access resources from the service based on a service offer agreed upon between the tenant and the service.

10. The data center of claim 7 , wherein the processor is further to:

cause one or more copies of the first block to be stored in one or more storage media in one or more servers separate from the first server to enable high availability of the first block.

11. The data center of claim 7 , wherein the consensus mechanism is performed for determining a block from a plurality of blocks that is to be written to the blockchain database, wherein the plurality of blocks includes the first block and each block from the plurality of blocks results from execution of code of one or more functions on one or more runtime environments of servers of the data center.

12. A non-transitory computer readable medium to store instructions which when executed by one or more processors of a server in a data center causes the one or more processors to perform the following operations:

receiving, at a first server of the data center, a call to a function to be performed for a smart contract of a blockchain database;

dispatching the call for the function to a first runtime environment of the first server;

fetching code from the blockchain database, wherein the code includes a set of one or more instructions to be executed for implementing the function;

executing the code in the first runtime environment resulting in a blockchain transaction and a modified state of the blockchain database;

writing a copy of the blockchain transaction and the modified state of the blockchain database in a storage medium that is locally accessible by the first server, wherein the storage medium is part of a distributed cluster of storage media accessible to a plurality of servers of the data center; and

in response to writing the copy of the blockchain transaction and the modified state:

adding the blockchain transaction to a first block;

determining, based on a consensus mechanism, whether the first block is to be added to the blockchain database; and

responsive to determining that the first block is to be added to the blockchain database, causing the first block to be stored in a persistent storage as part of the blockchain database.

13. The non-transitory computer readable medium of claim 12 , wherein the function to be performed includes at least one of creating the smart contract and performing a transaction operation on the smart contract that was previously created.

14. The non-transitory computer readable medium of claim 12 , wherein the smart contract indicates a delegation of rights from a service hosted in the data center to a tenant of the service for enabling the tenant to access resources from the service based on a service offer agreed upon between the tenant and the service.

15. The non-transitory computer readable medium of claim 12 , further comprising causing one or more copies of the first block to be stored in one or more storage media in one or more servers separate from the first server to enable high availability of the first block.

16. The non-transitory computer readable medium of claim 12 , wherein the consensus mechanism is performed for determining a block from a plurality of blocks that is to be written to the blockchain database, wherein the plurality of blocks includes the first block and each block from the plurality of blocks results from execution of code of one or more functions on one or more runtime environments of servers of the data center.

17. The non-transitory computer readable medium of claim 16 , wherein the consensus mechanism is run across a plurality of servers of the data center.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 29, 2020
From: KEMPF, JAMES; MAHKONEN, HEIKKI; TURÁNYI, ZOLTÁN
To: TELEFONAKTIEBOLAGET LM ERICSSON (PUBL)
Reel/Frame 053346/0440 →
Continuity (1)
Related Publication 20210050989A1 · Feb 18, 2021