# US 2021/0241241 A1 · Systems, methods, and apparatuses for conducting transactions between bots using distributed ledger technology in a cloud based computing environment

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

- Number: US 2021/0241241 A1
- Document ID: US20210241241A1
- Status: Published application
- Kind: A1
- Application number: 16/779,518
- Filed: 2020-01-31
- Published: 2021-08-05
- Earliest claimed: 2020-01-31
- Assignees: salesforce.com, inc.
- Applicants: salesforce.com, inc.
- Inventors: Savithru Mallikarjuna Durga Lokanath
- Web page: https://patentgrep.com/patent/US20210241241A1

## CPC

- G06Q 20/102: {Bill distribution or payments}
- G06F 16/90332: {Natural language query formulation or dialogue systems}
- G06Q 20/065: {using e-cash}
- G06Q 20/3825: {Use of electronic signatures}
- G06Q 20/3827: {Use of message hashing}
- G06Q 20/386: {using messaging services or messaging apps (using mobile network messaging services for payment, e.g. SMS G06Q20/3255)}
- G06Q 20/389: {Keeping log of transactions for guaranteeing non-repudiation of a transaction}
- G06Q 20/405: {Establishing or using transaction specific rules}
- H04L 9/0637: {Modes of operation, e.g. cipher block chaining [CBC], electronic codebook [ECB] or Galois/counter mode [GCM]}
- H04L 9/3239: {involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD}
- H04L 9/50: {using hash chains, e.g. blockchains or hash trees}
- H04L 51/02: using automatic reactions or user delegation, e.g. automatic replies or chatbot-generated messages
- H04L 63/123: {received data contents, e.g. message integrity}
- H04L 51/216: Handling conversation history, e.g. grouping of messages in sessions or threads
- G06Q: INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- 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

Described herein are means for conducting transactions between bots using Distributed Ledger Technology (DLT) in a cloud based computing environment. According to a particular embodiment, there is a system having at least a processor and a memory therein, in which the system is configurable with means for: operating, by a cloud service provider, an interface to a blockchain, in which each bot is a node on the blockchain; posting a transaction request to a chat log by one of the plurality of bots or an administrator; writing the transaction request, and an identification of the one of the plurality of bots or the administrator requesting the transaction, to the blockchain; negotiating consensus among the plurality of bots as nodes on the blockchain to conduct the requested transaction; and when consensus is reached: writing the transaction to the blockchain; pulling the transaction request from the chat log by one of the plurality of bots; and conducting the transaction by the one of the plurality of bots that pulled the transaction request from the chat log; and posting completion of the transaction to the chat log by the one of the plurality of bots that conducted the transaction. Other related embodiments are disclosed.

## Claims

### Claim 1

A method for conducting transactions between a plurality of bots, comprising:
operating, by a cloud service provider, an interface to a blockchain, wherein each bot is a node on the blockchain;
posting a transaction request to a chat log by one of the plurality of bots or an administrator;
writing the transaction request, and an identification of the one of the plurality of bots or the administrator requesting the transaction, to the blockchain;
negotiating consensus among the plurality of bots as nodes on the blockchain to conduct the requested transaction; and
when consensus is reached:
writing the transaction to the blockchain;
pulling the transaction request from the chat log by one of the plurality of bots; and
conducting the transaction by the one of the plurality of bots that pulled the transaction request from the chat log; and
posting completion of the transaction to the chat log by the one of the plurality of bots that conducted the transaction.

### Claim 2 (depends on 1)

The method of claim 1,
wherein posting the transaction request to the chat log by one of the plurality of bots comprises a monitoring bot posting the transaction request to the chat log; and
wherein pulling the transaction request from the chat log by one of the plurality of bots, and conducting the transaction by the one of the plurality of bots that pulled the transaction request from the chat log, comprises a deployment bot pulling the transaction request from the chat log, and conducting the transaction.

### Claim 3 (depends on 1)

The method of claim 1, further comprising:
each of the plurality of bots reading the chat log;
applying natural language processing to the chat log; and
interpreting one or more commands from the chat log based on the natural language processing.

### Claim 4 (depends on 1)

The method of claim 1, wherein negotiating consensus among the plurality of bots as nodes on the blockchain to conduct the requested transaction further comprises negotiating consensus among the plurality of bots as nodes on the blockchain as to one of:
the identity and authority of the one of the plurality of bots requesting the transaction; and
the identity and authority of the one of the plurality of bots to write the transaction request to the blockchain.

### Claim 5 (depends on 1)

The method of claim 1, further comprising, when consensus is not reached:
dismissing the transaction request; and
posting dismissal of the transaction request to the chat log by the one of the plurality of bots that pulled the transaction request from the chat log; and
wherein the method further comprises, when consensus is not reached, isolating or quarantining the one of the plurality of bots requesting the transaction.

### Claim 6 (depends on 1)

The method of claim 1, further comprising, when consensus is not reached,
dismissing the transaction request;
comparing a number of bad attempts by the node having originated the transaction request with a threshold number of bad attempts within a specified time-period; and
wherein after the threshold number of bad attempts is attained by the node having originated the transaction request within the specified time-period, the method further comprises ejecting the node having originated the transaction request from the blockchain network.

### Claim 7 (depends on 5)

The method of claim 5, wherein isolating the one of the plurality of bots requesting the transaction comprises prohibiting the one of the plurality of bots requesting the transaction from one of:
posting transaction requests to the chat log;
writing transaction requests to the blockchain;
pulling transaction requests from the chat log; and
conducting transactions.

### Claim 8 (depends on 5)

The method of claim 5, further comprising, when consensus is not reached, one or more of:
terminating the one of the plurality of bots requesting the transaction;
prohibiting any bot among the plurality of bots that initiated or caused the one of the plurality of bots to request the transaction from initiating or causing any of the plurality of bots to request transactions; and
prohibiting or terminating a computer program, or source thereof, or an attacker initiating, or causing, or otherwise taking control of, any of the plurality of bots to request transactions.

### Claim 9 (depends on 1)

The method of claim 1, wherein each of the plurality of bots controls a respective one of:
a plurality of computer system or virtual machine hardware or software parameters, states, resources, and instances; and
wherein conducting transactions between the plurality of bots comprises conducting transactions between or involving the plurality of computer system or virtual machine hardware or software parameters, states, resources, and instances respectively controlled via the plurality of bots.

### Claim 10 (depends on 1)

The method of claim 1, wherein at least two of the plurality of bots are functionally redundant and control a respective at least two of a plurality of computer system or virtual machine hardware or software parameters, states, resources, and instances that are functionally redundant.

### Claim 11 (depends on 1)

The method of claim 1, further comprising periodically writing to the blockchain a hash of a current state of the plurality of computer system or virtual machine hardware or software parameters, states, resources, and instances respectively controlled by the plurality of bots; and
wherein negotiating consensus among the plurality of bots to conduct the requested transaction comprises denying approval or consensus among the plurality of bots to conduct the requested transaction when the one or more of the plurality of bots fails to approve the requested transaction based on a difference in the blockchain detected by at least one of the bots regarding the hash of at least one of the current state of the plurality of computer system or virtual machine hardware or software parameters, states, resources, and instances controlled by a respective one of the plurality of bots.

### Claim 12 (depends on 11)

The method of claim 11, wherein negotiating consensus among the plurality of bots to conduct the requested transaction further comprises achieving consensus among the plurality of bots to conduct the requested transaction when a threshold number of the plurality of bots approve the requested transaction based on a match in the blockchain detected among the bots regarding the hash of the current state of the plurality of computer system or virtual machine hardware or software parameters, states, resources, and instances respectively controlled by the plurality of bots.

### Claim 13 (depends on 11)

The method of claim 11 wherein negotiating consensus among the plurality of bots to conduct the requested transaction further comprises achieving consensus among the plurality of bots to conduct the requested transaction when a threshold number of the plurality of bots approve the requested transaction based on one of: a type, priority, or criticality of the request, the requested transaction, the corresponding computer system or virtual machine hardware or software parameters, states, resources, and instances, and a cloud service provider cloud computing production, development, or sandbox, environment.

### Claim 14

Non-transitory computer readable storage media having instructions stored thereon that, when executed by a system of a host organization having at least a processor and a memory therein, the instructions cause the system to perform the following operations:
operating, by a cloud service provider, an interface to a blockchain, wherein each bot is a node on the blockchain;
posting a transaction request to a chat log by one of the plurality of bots or an administrator;
writing the transaction request, and an identification of the one of the plurality of bots or the administrator requesting the transaction, to the blockchain;
negotiating consensus among the plurality of bots as nodes on the blockchain to conduct the requested transaction; and
when consensus is reached:
writing the transaction to the blockchain;
pulling the transaction request from the chat log by one of the plurality of bots; and
conducting the transaction by the one of the plurality of bots that pulled the transaction request from the chat log; and
posting completion of the transaction to the chat log by the one of the plurality of bots that conducted the transaction.

### Claim 15 (depends on 14)

The non-transitory computer readable storage media of claim 14:
wherein posting the transaction request to the chat log by one of the plurality of bots comprises a monitoring bot posting the transaction request to the chat log; and
wherein pulling the transaction request from the chat log by one of the plurality of bots, and conducting the transaction by the one of the plurality of bots that pulled the transaction request from the chat log, comprises a deployment bot pulling the transaction request from the chat log, and conducting the transaction.

### Claim 16 (depends on 14)

The non-transitory computer readable storage media of claim 14, wherein negotiating consensus among the plurality of bots as nodes on the blockchain to conduct the requested transaction further comprises negotiating consensus among the plurality of bots as nodes on the blockchain as to one of:
the identity and authority of the one of the plurality of bots requesting the transaction; and
the identity and authority of the one of the plurality of bots to write the transaction request to the blockchain.

### Claim 17 (depends on 14)

The non-transitory computer readable storage media of claim 14, further comprising, when consensus is not reached:
dismissing the transaction request; and
posting dismissal of the transaction request to the chat log by the one of the plurality of bots that pulled the transaction request from the chat log.

### Claim 18 (depends on 14)

The non-transitory computer readable storage media of claim 14, further comprising is not reached, isolating or quarantining the one of the plurality of bots requesting the transaction, wherein isolating the one of the plurality of bots requesting the transaction comprises prohibiting the one of the plurality of bots requesting the transaction from one of:
posting transaction requests to the chat log;
writing transaction requests to the blockchain;
pulling transaction requests from the chat log; and
conducting transactions.

### Claim 19

A system to execute at a host organization, wherein the system comprises:
a memory to store instructions;
a processor to execute instructions;
wherein the system is configurable to execute the instructions via the processor to carry out operations including:
operating, by a cloud service provider, an interface to a blockchain, wherein each bot is a node on the blockchain;
posting a transaction request to a chat log by one of the plurality of bots or an administrator;
writing the transaction request, and an identification of the one of the plurality of bots or the administrator requesting the transaction, to the blockchain;
negotiating consensus among the plurality of bots as nodes on the blockchain to conduct the requested transaction; and
when consensus is reached:
writing the transaction to the blockchain;
pulling the transaction request from the chat log by one of the plurality of bots; and
conducting the transaction by the one of the plurality of bots that pulled the transaction request from the chat log; and
posting completion of the transaction to the chat log by the one of the plurality of bots that conducted the transaction.

### Claim 20 (depends on 19)

The system of claim 19:
wherein posting the transaction request to the chat log by one of the plurality of bots comprises a monitoring bot posting the transaction request to the chat log; and
wherein pulling the transaction request from the chat log by one of the plurality of bots, and conducting the transaction by the one of the plurality of bots that pulled the transaction request from the chat log, comprises a deployment bot pulling the transaction request from the chat log, and conducting the transaction.

### Claim 21 (depends on 19)

The system of claim 19, wherein negotiating consensus among the plurality of bots as nodes on the blockchain to conduct the requested transaction further comprises negotiating consensus among the plurality of bots as nodes on the blockchain as to one of:
the identity and authority of the one of the plurality of bots requesting the transaction; and
the identity and authority of the one of the plurality of bots to write the transaction request to the blockchain.
