# US 11,307,848 B2 · System for electronic integration and deployment of computer code in a code development network

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

- Number: US 11,307,848 B2
- Document ID: US11307848B2
- Status: Granted
- Kind: B2
- Application number: 16/458,413
- Filed: 2019-07-01
- Published: 2021-01-07
- Granted: 2022-04-19
- Earliest claimed: 2019-07-01
- Assignees: Bank of America Corporation
- Applicants: Bank of America Corporation
- Inventors: Sibhi Arul Prian Poyhai Karunakaran; Maguluri Tanuja
- Web page: https://patentgrep.com/patent/US11307848B2

## CPC

- G06F 8/71: Version control (security arrangements therefor G06F21/57); Configuration management
- H04L 9/3239: {involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD}
- G06F 8/60: Software deployment
- G06F 9/44552: {Conflict resolution, i.e. enabling coexistence of conflicting executables}
- G06F 16/27: Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
- G06F 16/9024: {Graphs; Linked lists (G06F16/9027 takes precedence)}
- H04L 9/0643: {Hash functions, e.g. MD5, SHA, HMAC or f9 MAC}
- H04L 9/3297: {involving time stamps, e.g. generation of time stamps}
- H04L 9/3271: {using challenge-response}
- H04L 9/50: {using hash chains, e.g. blockchains or hash trees}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

A system provides electronic integration and deployment of computer code in a code development network. The system may comprise a multilayered distributed ledger structure and may perform real-time source code conflict checks by combining the latest nonce from a primary distributed ledger with the genesis block of a working distributed ledger into a hash algorithm. Depending on whether the output of said hash algorithm satisfies the cryptographic challenge set by the distributed ledger system, the system may be able to detect mismatches between the source code found in a working distributed ledger and the source code found in the primary distributed ledger. Furthermore, the system may include production systems as nodes of the primary distributed ledger such that the production systems may maintain updated copies of the source code throughout the software development process.

## Claims

### Claim 1

A system for electronic integration and deployment of computer code in a code development network, the system comprising:
a memory device with computer-readable program code stored thereon;
a communication device; and
a processing device operatively coupled to the memory device and the communication device, wherein the processing device is configured to execute the computer-readable program code to:
retrieve, from a primary distributed ledger, a latest version of computer code;
generate, from the latest version of the computer code, a working distributed ledger comprising a working genesis block, wherein the working genesis block is a copy of a latest block within the primary distributed ledger at a first point in time, wherein the working genesis block is a first block within the working distributed ledger;
submit a proposed block to the working distributed ledger, wherein the proposed block comprises one or more commits to the computer code;
repeatedly execute, at designated time intervals, a computer code conflict check by comparing the primary distributed ledger with the working distributed ledger, wherein the computer code conflict check comprises:
retrieving a nonce value from the latest block within the primary distributed ledger at the first point in time; and
combining the nonce value with a block header of the working genesis block within the working distributed ledger into a hash algorithm to generate a hash output; and
validate the proposed block via a consensus algorithm.

### Claim 2 (depends on 1)

The system according to claim 1, wherein the processing device is further configured to:
submit the proposed block to the primary distributed ledger;
execute a second computer code conflict check;
validate the proposed block via the consensus algorithm; and
validate the proposed block via a second consensus algorithm.

### Claim 3 (depends on 1)

The system according to claim 1, wherein the computer code conflict check further causes the processing device to:
detect that the nonce value is below a predetermined threshold;
based on detecting that the nonce value is below the predetermined threshold, determine that a cryptographic challenge has been satisfied; and
determine that the computer code conflict check has been successfully completed.

### Claim 4 (depends on 1)

The system according to claim 1, wherein the computer code conflict check further causes the processing device to:
detect that the nonce value is above a predetermined threshold;
based on detecting that the nonce value is above the predetermined threshold, determine that a cryptographic challenge has not been satisfied; and
determine that the computer code conflict check has failed.

### Claim 5 (depends on 1)

The system according to claim 1, wherein the processing device is further configured to:
detect that the computer code conflict check has been successfully completed; and
based on detecting that the computer code conflict check has been successfully completed, determine that the working distributed ledger is up to date.

### Claim 6 (depends on 1)

The system according to claim 1, wherein the processing device is further configured to:
detect that the computer code conflict check has failed;
retrieve, from the primary distributed ledger, a refreshed version of the computer code; and
generate, from the refreshed version of the computer code, a working distributed ledger comprising a refreshed genesis block, wherein the refreshed genesis block is a copy of a last block within the primary distributed ledger at a second point in time, wherein the second point in time occurs after the first point in time.

### Claim 7 (depends on 3)

The system according to claim 3, wherein the processing device is further configured to generate and transmit a notification to a developer, wherein the notification indicates that the working distributed ledger needs to be refreshed.

### Claim 8 (depends on 2)

The system according to claim 2, wherein the consensus algorithm is a proof of authority algorithm, wherein the second consensus algorithm is a proof of work algorithm.

### Claim 9 (depends on 1)

The system according to claim 1, wherein the processing device is further configured to:
detect that the proposed block has been successfully validated via the consensus algorithm; and
append the proposed block to the working distributed ledger.

### Claim 10 (depends on 8)

The system according to claim 8, wherein the processing device is further configured to:
detect that the proposed block has been successfully validated via the consensus algorithm and the second consensus algorithm; and
append the proposed block to the primary distributed ledger.

### Claim 11

A computer program product for electronic integration and deployment of computer code in a code development network, the computer program product comprising at least one non-transitory computer readable medium having computer-readable program code portions embodied therein, the computer-readable program code portions comprising executable code portions for:
retrieving, from a primary distributed ledger, a latest version of computer code;
generating, from the latest version of the computer code, a working distributed ledger comprising a working genesis block, wherein the working genesis block is a copy of a latest block within the primary distributed ledger at a first point in time, wherein the working genesis block is a first block within the working distributed ledger;
submitting a proposed block to the working distributed ledger, wherein the proposed block comprises one or more commits to the computer code;
repeatedly executing, at designated time intervals, a computer code conflict check by comparing the primary distributed ledger with the working distributed ledger, wherein the computer code conflict check comprises:
retrieving a nonce value from the latest block within the primary distributed ledger at the first point in time; and
combining the nonce value with a block header of the working genesis block within the working distributed ledger into a hash algorithm to generate a hash output; and
validating the proposed block via a consensus algorithm.

### Claim 12 (depends on 11)

The computer program product according to claim 11, wherein the computer-readable program code portions further comprise executable code portions for:
submitting the proposed block to the primary distributed ledger;
executing a second computer code conflict check;
validating the proposed block via the consensus algorithm; and
validating the proposed block via a second consensus algorithm.

### Claim 13 (depends on 11)

The computer program product according to claim 11, wherein the computer code conflict check further comprises:
detecting that the nonce value is below a predetermined threshold;
based on detecting that the nonce value is below the predetermined threshold, determining that a cryptographic challenge has been satisfied; and
determining that the computer code conflict check has been successfully completed.

### Claim 14

A computer-implemented method for electronic integration and deployment of computer code in a code development network, the method comprising:
retrieving, from a primary distributed ledger, a latest version of computer code;
generating, from the latest version of the computer code, a working distributed ledger comprising a working genesis block, wherein the working genesis block is a copy of a latest block within the primary distributed ledger at a first point in time, wherein the working genesis block is a first block within the working distributed ledger;
submitting a proposed block to the working distributed ledger, wherein the proposed block comprises one or more commits to the computer code;
repeatedly executing, at designated time intervals, a computer code conflict check by comparing the primary distributed ledger with the working distributed ledger, wherein the computer code conflict check comprises:
retrieving a nonce value from the latest block within the primary distributed ledger at the first point in time; and
combining the nonce value with a block header of the working genesis block within the working distributed ledger into a hash algorithm to generate a hash output; and
validating the proposed block via a consensus algorithm.

### Claim 15 (depends on 14)

The computer-implemented method of claim 14, the method further comprising:
submitting the proposed block to the primary distributed ledger;
executing a second computer code conflict check;
validating the proposed block via the consensus algorithm; and
validating the proposed block via a second consensus algorithm.

### Claim 16 (depends on 14)

The computer-implemented method of claim 14, wherein the computer code conflict check further comprises:
detecting that the nonce value is below a predetermined threshold;
based on detecting that the nonce value is below the predetermined threshold, determining that a cryptographic challenge has been satisfied; and
determining that the computer code conflict check has been successfully completed.

### Claim 17 (depends on 14)

The computer-implemented method of claim 14, wherein the computer code conflict check further comprises:
detecting that the nonce value is above a predetermined threshold;
based on detecting that the nonce value is above the predetermined threshold, determining that a cryptographic challenge has not been satisfied; and
determining that the computer code conflict check has failed.
