# US 2019/0356733 A1 · Load Balancing in Blockchain Environments

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 2019/0356733 A1
- Document ID: US20190356733A1
- Status: Published application
- Kind: A1
- Application number: 15/983,595
- Filed: 2018-05-18
- Published: 2019-11-21
- Earliest claimed: 2018-05-18
- Assignees: Factom, Inc.
- Applicants: Factom
- Inventors: Paul Snow
- Web page: https://patentgrep.com/patent/US20190356733A1

## CPC

- H04L 67/1001: for accessing one among a plurality of replicated servers
- G06F 9/45558: {Hypervisor-specific management and integration aspects}
- G06F 9/5083: {Techniques for rebalancing the load in a distributed system}
- G06F 16/1805: {Append-only file systems, e.g. using logs or journals to store data}
- G06F 16/27: Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
- H04L 9/0643: {Hash functions, e.g. MD5, SHA, HMAC or f9 MAC}
- H04L 9/3239: {involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD}
- H04L 63/12: {Applying verification of the received information (cryptographic mechanisms or cryptographic arrangements for data integrity or data verification H04L9/32)}
- G06F 2009/4557: {Distribution of virtual machine instances; Migration and load balancing}
- H04L 9/50: {using hash chains, e.g. blockchains or hash trees}
- H04L 2209/56: Financial cryptography, e.g. electronic payment or e-cash
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

Hardware and software resources are load balanced when processing multiple blockchains. As more and more entities (whether public or private) are expected to generate their own blockchains for verification, a server or other resource in a blockchain environment may be over utilized. For example, as banks, websites, and retailers issue their own private cryptocoinage, the number of financial transactions may clog or hog networking and/or hardware resources. A blockchain load balancing mechanism thus allocates resources among the multiple blockchains.

## Claims

### Claim 1

A method, comprising:
receiving, by a server, private blockchains associated with private entities, each private blockchain of the private blockchains associated with a corresponding private entity of the private entities, and the each private blockchain containing cryptographically hashed private data associated with private cryptocoinage issued by the corresponding private entity;
executing, by the server, a blockchain load balancing mechanism to allocate a resource among the private blockchains; and
generating, by the server, a blockchain data layer in response to the blockchain load balancing mechanism that allocates the resource among the private blockchains, the blockchain data layer based on the each private blockchain containing the cryptographically hashed private data associated with the private cryptocoinage issued by the corresponding private entity.

### Claim 2 (depends on 1)

The method of claim 1, further comprising receiving a block of data associated with the private cryptocoinage.

### Claim 3 (depends on 1)

The method of claim 1, further comprising assigning a virtual machine to the each private blockchain.

### Claim 4 (depends on 1)

The method of claim 1, further comprising determining a number of transactions represented by the each private blockchain containing the cryptographically hashed private data associated with the private cryptocoinage issued by the corresponding private entity.

### Claim 5 (depends on 4)

The method of claim 4, further comprising allocating the resource based on the number of transactions represented by the each private blockchain.

### Claim 6 (depends on 1)

The method of claim 1, further comprising determining a bit rate of the each private blockchain of the private blockchains.

### Claim 7 (depends on 4)

The method of claim 4, further comprising allocating the resource based on the bit rate of the each private blockchain.

### Claim 8

A system, comprising:
a hardware processor; and
a memory device, the memory device storing instructions, the instructions when executed causing the hardware processor to perform operations, the operations comprising:
receiving private blockchains as inputs, each private blockchain of the private blockchains associated with a corresponding private entity, and the each private blockchain containing cryptographically hashed private data associated with private cryptocoinage issued by the corresponding private entity;
executing a blockchain load balancing mechanism to allocate virtual machines executed by the system among the private blockchains; and
generating a blockchain data layer in response to the blockchain load balancing mechanism that allocates the virtual machines executed by the system among the private blockchains, the blockchain data layer based on the each private blockchain containing the cryptographically hashed private data associated with the private cryptocoinage issued by the corresponding private entity.

### Claim 9 (depends on 8)

The system of claim 8, wherein the operations further comprise receiving a block of data associated with the private cryptocoinage.

### Claim 10 (depends on 8)

The system of claim 8, wherein the operations further comprise determining a number of transactions represented by the each private blockchain containing the cryptographically hashed private data associated with the private cryptocoinage issued by the corresponding private entity.

### Claim 11 (depends on 10)

The system of claim 10, wherein the operations further comprise allocating the virtual machines based on the number of transactions represented by the each private blockchain.

### Claim 12 (depends on 8)

The system of claim 8, wherein the operations further comprise determining a bit rate of the each private blockchain of the private blockchains.

### Claim 13 (depends on 12)

The system of claim 12, wherein the operations further comprise allocating the virtual machines based on the bit rate of the each private blockchain.

### Claim 14 (depends on 8)

The system of claim 8, wherein the operations further comprise hashing data records representing the blockchain data layer to generate a hash value representing a cryptographic proof associated with the private cryptocoinage issued by the corresponding private entity.

### Claim 15

A memory device storing instructions that when executed cause a hardware processor to perform operations, the operations comprising:
receiving private blockchains as inputs, each private blockchain of the private blockchains associated with a corresponding private entity, and the each private blockchain containing cryptographically hashed private data associated with private cryptocoinage issued by the corresponding private entity;
executing a blockchain load balancing mechanism to allocate virtual machines executed by the system among the private blockchains;
determining a parameter associated with the each private blockchain of the private blockchains;
querying an electronic database for the parameter associated with the each private blockchain, the electronic database electronically associating the virtual machines to blockchain parameters including the parameter associated with the each private blockchain;
identifying a virtual machine of the virtual machines in the electronic database that is electronically associated to the parameter associated with the each private blockchain; and
generating a blockchain data layer by the virtual machine identified by the electronic database that is electronically associated to the parameter associated with the each private blockchain, the blockchain data layer based on the each private blockchain containing the cryptographically hashed private data associated with the private cryptocoinage issued by the corresponding private entity.

### Claim 16 (depends on 15)

The memory device of claim 15, wherein the operations further comprise receiving a block of data associated with the private cryptocoinage.

### Claim 17 (depends on 15)

The memory device of claim 15, wherein the operations further comprise determining a number of transactions as the parameter, the number of transactions represented by the each private blockchain containing the cryptographically hashed private data associated with the private cryptocoinage issued by the corresponding private entity.

### Claim 18 (depends on 17)

The memory device of claim 17, wherein the operations further comprise identifying the virtual machine in the electronic database that is electronically associated to the number of transactions represented by the each private blockchain.

### Claim 19 (depends on 15)

The memory device of claim 15, wherein the operations further comprise determining a bit rate of the each private blockchain.

### Claim 20 (depends on 19)

The memory device of claim 19, wherein the operations further comprise identifying the virtual machine in the electronic database that is electronically associated to the bit rate of the each private blockchain.
