# US 11,310,344 B1 · Multi-tenant computer systems for producing service results in response to service requests from client compute devices, and methods for the same

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

- Number: US 11,310,344 B1
- Document ID: US11310344B1
- Status: Granted
- Kind: B1
- Application number: 17/394,057
- Filed: 2021-08-04
- Granted: 2022-04-19
- Earliest claimed: 2021-03-26
- Assignees: Flueid Software Corporation
- Applicants: Flueid Software Corporation
- Inventors: Peter Bowman; Peter Richter; Dennis Frandsen; Ryan Jaeger
- Web page: https://patentgrep.com/patent/US11310344B1

## CPC

- G06Q 10/08: Logistics, e.g. warehousing, loading or distribution; Inventory or stock management
- H04L 67/34: {involving the movement of software or configuration parameters (network booting or remote initial program loading [RIPL] G06F9/4416)}
- H04L 63/0428: {wherein the data content is protected, e.g. by encrypting or encapsulating the payload}
- H04L 63/0807: {using tickets, e.g. Kerberos (cryptographic mechanisms or cryptographic arrangements for entity authentication using tickets or tokens H04L9/3213)}
- H04L 67/1095: Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
- H04L 67/133: Protocols for remote procedure calls [RPC]
- 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
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

In some embodiments, a non-transitory processor-readable medium receives, from a client compute device and at a multi-tenant computer system, a service request that includes an authentication token provided by a third-party compute device and that identifies a single-tenant account (1) of the multi-tenant computer system and (2) associated with the client compute device. The medium sends an information request for first information associated with the service request to the third-party compute device. The medium receives the first information from the third-party compute device in response to the information request. The medium processes the service request based on the first information to produce a service result responsive to the service request. The medium sends the service result to the client compute device. The medium sends, to the third-party compute device, second information including at least one of billing data, reporting data or performance data associated with the service request and the service result.

## Claims

### Claim 1

A non-transitory processor-readable medium storing code representing instructions to be executed by a processor, the code comprising code to cause the processor to:
receive, from a first compute device and at a multi-tenant computer system, a service request that includes an authentication token provided by a second compute device and that identifies a tenant account (1) of the multi-tenant computer system and (2) associated with the first compute device;
process, at the multi-tenant computer system, the service request based on a first set of information to produce a service result responsive to the service request; and
send, to the second compute device and from the multi-tenant computer system, a second set of information including at least one of billing data, reporting data or performance data, associated with the service request and the service result.

### Claim 2 (depends on 1)

The non-transitory processor-readable medium of claim 1, wherein the second compute device is included within a multi-tenant computer system with which a party of the second compute device has an account different from the tenant account associated with the first compute device.

### Claim 3 (depends on 1)

The non-transitory processor-readable medium of claim 1, wherein:
the first compute device is included within a plurality of first compute devices, the tenant account is included within a plurality of tenant accounts of at least one multi-tenant computer system, the multi-tenant computer system included within the at least one multi-tenant computer system,
the code to receive the service request, the code to send the information request, the code to receive the first set of information, the code to process, the code to the service result and the code to send the second set of information collectively defining a software instantiation from a plurality of software instantiations, each software instantiation from the plurality of software instantiations being stored in the at least one multi-tenant computer system and uniquely associated with a tenant account from the plurality of tenant accounts.

### Claim 4 (depends on 1)

The non-transitory processor-readable medium of claim 1, further comprising code to cause the processor to:
send a plurality of application programming interface (API) calls to a plurality of publicly-available databases to retrieve publicly-available information; and
receive the publicly-available information in response to the plurality of API calls,
the code to process the service request including code to process the service request based on the publicly-available information.

### Claim 5 (depends on 1)

The non-transitory processor-readable medium of claim 1, further comprising code to cause the processor to:
store, at the multi-tenant computer system, transactional data associated with a client of the first compute device,
the transactional data not accessible by and not provided to the second compute device.

### Claim 6 (depends on 1)

The non-transitory processor-readable medium of claim 1, wherein the first set of information includes encrypted configuration parameters and encrypted publicly-available information, the non-transitory processor-readable medium further comprising code to cause the processor to:
decrypt the encrypted configuration parameters and the encrypted publicly-available information based on the authentication token to produce configuration parameters and publicly-available information, respectively,
the code to process including code to process the service request based on the configuration parameters and the publicly-available information.

### Claim 7 (depends on 1)

The non-transitory processor-readable medium of claim 1, wherein:
the code to process includes code to process separately for each party from a plurality of parties (1) without using a different software for any two parties from the plurality of parties, (2) based on a set of customizable parameters (a) from a plurality of sets of customizable parameters and (b) specific to that party, and (3) based on the first set of information, to produce a plurality of service results that include the service result,
the code to send the service result including code to send the plurality of service results, and
the code to send the second set of information including code to send the second set of information based on the service request and the plurality of service results.

### Claim 8

A non-transitory processor-readable medium storing code representing instructions to be executed by a processor, the code comprising code to cause the processor to:
receive, from a compute device and at a multi-tenant computer system, a service request associated with a tenant account (1) of the multi-tenant computer system and (2) associated with the compute device;
process separately for each party from a plurality of parties, at the multi-tenant computer system, the service request based on a first set of information to produce a plurality of service results responsive to the service request; and
send, from the multi-tenant computer system, a second set of information associated with the service request and the plurality of service results.

### Claim 9 (depends on 8)

The non-transitory processor-readable medium of claim 8, wherein:
the compute device is a first compute device,
the service request includes an authentication token provided by a second compute device that identified the tenant account,
the code to send the second set of information includes code to send the second set of information to the second compute device, the second set of information including reporting information and billing information associated with the tenant account.

### Claim 10 (depends on 9)

The non-transitory processor-readable medium of claim 9, wherein the second compute device is included within a multi-tenant computer system with which a party of the second compute device has an account different from the tenant account associated with the first compute device.

### Claim 11 (depends on 8)

The non-transitory processor-readable medium of claim 8, wherein:
the compute device is a first compute device,
the first compute device is included within a plurality of first compute devices, the tenant account is included within a plurality of tenant accounts of at least one multi-tenant computer system, the multi-tenant computer system included within the at least one multi-tenant computer system,
the code to receive the service request, the code to send the information request, the code to receive the first set of information, the code to process, the code to send the service result and the code to send the second set of information collectively defining a software instantiation from a plurality of software instantiations,
each software instantiation from the plurality of software instantiations being stored in the at least one multi-tenant computer system and uniquely associated with a tenant account from the plurality of tenant accounts,
each software instantiation from the plurality of software instantiations not stored at a second compute device not included in the plurality of first compute devices.

### Claim 12 (depends on 8)

The non-transitory processor-readable medium of claim 8, further comprising code to cause the processor to:
send a plurality of application programming interface (API) calls to a plurality of publicly-available databases to retrieve publicly-available information; and
receive the publicly-available information in response to the plurality of API calls,
the code to process the service request including code to process the service request based on the publicly-available information.

### Claim 13 (depends on 8)

The non-transitory processor-readable medium of claim 8, wherein:
the compute device is a first compute device,
the service request includes an authentication token provided by a second compute device that identified the tenant account,
the code to send the second set of information includes code to send the second set of information to the second compute device, the second set of information including reporting information and billing information associated with the tenant account.

### Claim 14 (depends on 8)

The non-transitory processor-readable medium of claim 8, wherein the compute device is a first compute device, the non-transitory processor-readable medium further comprising code to cause the processor to:
store, at the multi-tenant computer system, transactional data associated with a client of the first compute device,
the transactional data not accessible by and not provided to a second compute device.

### Claim 15 (depends on 8)

The non-transitory processor-readable medium of claim 8, wherein the first set of information includes encrypted configuration parameters and encrypted publicly-available information, the non-transitory processor-readable medium further comprising code to cause the processor to:
decrypt the encrypted configuration parameters and the encrypted publicly-available information based on the authentication token to produce configuration parameters and publicly-available information, respectively,
the code to process including code to process the service request based on the configuration parameters and the publicly-available information.

### Claim 16

A non-transitory processor-readable medium storing code representing instructions to be executed by a processor, the code comprising code to cause the processor to:
define a software instantiation that is (1) to be included within a plurality of software instantiations, (2) stored in at least one multi-tenant computer system, and (3) uniquely associated with a tenant account to be included within a plurality of tenant accounts, the code to define including code to:
receive, from a first compute device to be included within a plurality of first compute devices and at the at least one multi-tenant computer system via an application programming interface (API), a service request that includes an authentication token provided by a second compute device and that identifies the tenant account, the tenant account being associated with the first compute device, the second compute device not included in the plurality of first compute devices;
automatically process separately for each party from a plurality of parties, at the at least one multi-tenant computer system, the service request (1) without using a different software for any two parties from the plurality of parties, (2) based on a set of customizable parameters (a) from a plurality of sets of customizable parameters and (b) specific to that party, and (3) based on a first set of information, to produce a plurality of service results responsive to the service request; and
send, to the second compute device and from the at least one multi-tenant computer system, a second set of information associated with the service request and the plurality of service results.

### Claim 17 (depends on 16)

The non-transitory processor-readable medium of claim 16, further comprising code to cause the processor to:
send a plurality of application programming interface (API) calls to a plurality of publicly-available databases to retrieve publicly-available information; and
receive the publicly-available information in response to the plurality of API calls,
the code to automatically process including code to process separately for each party from the plurality of parties the service request based on the publicly-available information.

### Claim 18 (depends on 16)

The non-transitory processor-readable medium of claim 16, further comprising code to cause the processor to:
store, at the multi-tenant computer system, transactional data of a client of the first compute device and transactional data of a customer of the client of the first compute device,
the transactional data of the client not accessible by and not provided to a compute device for each party from the plurality of parties,
the transactional data of the customer not accessible by and not provided to either of the second compute device and the compute device for each party from the plurality of parties.

### Claim 19 (depends on 16)

The non-transitory processor-readable medium of claim 16, wherein the first set of information includes encrypted configuration parameters and encrypted publicly-available information, the non-transitory processor-readable medium further comprising code to cause the processor to:
decrypt the encrypted configuration parameters and the encrypted publicly-available information based on the authentication token to produce configuration parameters and publicly-available information, respectively,
the code to process including code to process the service request based on the configuration parameters and the publicly-available information.

### Claim 20 (depends on 16)

The non-transitory processor-readable medium of claim 16, wherein:
the code to send the information request includes code to send the information request to cause the second compute device to send, in response to the information request, a plurality of API calls to a plurality of publicly-available databases to retrieve the publicly-available information,
the publicly-available information including a plurality of information sets, each information set from the plurality of information sets being received from a publicly-available database from the plurality of publicly-available databases,
the first set of information including an aggregation of the plurality of information sets.
