# US 11,445,023 B2 · Computing networks and systems for implementing a data cloud

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

- Number: US 11,445,023 B2
- Document ID: US11445023B2
- Status: Granted
- Kind: B2
- Application number: 17/125,926
- Filed: 2020-12-17
- Published: 2022-06-23
- Granted: 2022-09-13
- Earliest claimed: 2020-12-17
- Assignees: Veeva Systems Inc.
- Applicants: Veeva Systems Inc.
- Inventors: Lindsey Lofgren; Gary Abramsky; Leanora Drumm
- Web page: https://patentgrep.com/patent/US11445023B2

## CPC

- G06F 21/6218: {to a system of files or objects, e.g. local or distributed file system or database}
- H04L 67/1097: for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
- G06F 16/2477: {Temporal data queries}
- G06F 16/26: Visual data mining; Browsing structured data
- G06F 21/31: User authentication
- G16H 10/60: for patient-specific data, e.g. for electronic patient records
- H04L 63/10: {for controlling access to devices or network resources}
- G06F 3/0482: Interaction with lists of selectable items, e.g. menus
- 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)
- G16H: HEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA

## Abstract

Systems and methods are provided for managing and accessing data using one or more data cloud servers. An exemplary method includes: retrieving from one or more external sources, output data; receiving a first instruction from a user to provide access to the output data to a first set of one or more recipient systems; providing the first set of one or more recipient systems with access to the output data; receiving a second instruction from the first set of the one or more recipient systems to provide access to the output data to a second set of the one or more recipient systems; providing the second set of the one or more recipient systems with access to the output data.

## Claims

### Claim 1

A method for managing and accessing data using one or more data cloud servers, the method comprising:
receiving, using one or more computing device processors, an initial request for accessing data;
determining, using the one or more computing device processors, one or more external sources to retrieve the data;
receiving, using the one or more computing device processors, a first request for a first configuration data set having a first set of configuration properties;
retrieving, using the one or more computing device processors, the first configuration data set from the one or more external sources;
initiating display of, using the one or more computing device processors, the first configuration data set including the first set of configuration properties;
receiving selection of, using the one or more computing device processors, one or more elements of the first configuration data set to form a first select configuration data set;
receiving, using the one or more computing device processors, a second request for a second configuration data set having a second set of configuration properties;
retrieving, using the one or more computing device processors, the second configuration data set from the one or more external sources;
initiating display of, using the one or more computing device processors, the second configuration data set including the second set of configuration properties;
receiving selection of, using the one or more computing device processors, one or more elements of the second configuration data set to form a second select configuration data set;
receiving, using the one or more computing device processors, a third request for a third configuration data set having a third set of configuration properties;
retrieving, using the one or more computing device processors, the third configuration data set from the one or more external sources;
initiating display of, using the one or more computing device processors, the third configuration data set including the third set of configuration properties;
receiving selection of, using the one or more computing device processors, one or more elements of the third configuration data set to form a third select configuration data set;
determining, using the one or more computing device processors, a timeframe for retrieving data associated with at least one of the first select configuration data set, the second select configuration data set, and the third select configuration data set;
generating, using the one or more computing device processors, a query based on data associated with the timeframe, the at least one of the first select configuration data set, the second select configuration data set, and the third select configuration data set, or other data related to the at least one of the first select configuration data set, the second select configuration data set, and the third select configuration data set;
executing, using the one or more computing device processors, the query according to a cadence;
retrieving, using the one or more computing device processors, from the one or more external sources, output data;
receiving, using the one or more computing device processors, a first instruction from a user to provide access to the output data to a first set of one or more recipient systems;
in response to receiving the first instruction from the user to provide access to the output data, sending, using the one or more computing device processors, to the first set of the one or more recipient systems, one or more exchange protocols for accessing the output data;
receiving, using the one or more computing device processors, acceptance of the one or more exchange protocols from the first set of the one or more recipient systems for access to the output data;
in response to receiving the acceptance of the one or more exchange protocols from the first set of the one or more recipient systems, providing, using the one or more computing device processors, the first set of the one or more recipient systems with access to the output data, otherwise the output data is blocked from the first set of the recipient systems;
receiving, using the one or more computing device processors, a second instruction from the first set of the one or more recipient systems to provide access to the output data to a second set of the one or more recipient systems;
in response to receiving the second instruction from the first set of the one or more recipient systems to provide access to the output data, sending, using the one or more computing device processors, to the second set of the one or more recipient systems, the one or more exchange protocols or second one or more exchange protocols for accessing the output data;
receiving, using the one or more computing device processors, acceptance of the one or more exchange protocols or the second one or more exchange protocols from the second set of the one or more recipient systems for accessing the output data; and
in response to receiving the acceptance of the one or more exchange protocols or the second one or more exchange protocols from the second set of the one or more recipient systems, providing, using the one or more computing device processors, the second set of the one or more recipient systems with access to the output data, otherwise the output data is blocked from the second set of the recipient systems.

### Claim 2 (depends on 1)

The method of claim 1, wherein receiving the initial request for accessing the data comprises receiving the initial request via a user interface executing on a computing device processor different from the one or more computing device processors.

### Claim 3 (depends on 2)

The method of claim 2, wherein determining the one or more external sources to retrieve the data comprises receiving an indication from the user which of the one or more external sources are used for retrieving the data.

### Claim 4 (depends on 1)

The method of claim 1, wherein determining the timeframe for retrieving the data associated with the at least one of the first select configuration data set, the second select configuration data set, and the third select configuration data set comprises receiving the timeframe for retrieving the data associated with the at least one of the first select configuration data set, the second select configuration data set, and the third select configuration data set from the user.

### Claim 5 (depends on 1)

The method of claim 1, wherein executing the query comprises parsing the query to determine which of the one or more external sources are used to retrieve the output data.

### Claim 6 (depends on 5)

The method of claim 5, further comprising generating one or more new queries to be sent to the one or more external sources for retrieving the output data.

### Claim 7 (depends on 1)

The method of claim 1, wherein receiving the first instruction from the user to provide access to the output data comprises analyzing the first instruction to determine a network address of the first set of the one or more recipient systems.

### Claim 8 (depends on 1)

The method of claim 1, wherein sending to the first set of the one or more recipient systems the one or more exchange protocols comprises initiating display of the one or more exchange protocols to the first set of the one or more recipient systems.

### Claim 9 (depends on 8)

The method of claim 8, wherein receiving the acceptance of the one or more exchange protocols comprises notifying the user of the acceptance of the one or more exchange protocols by the first set of the one or more recipient systems via a user interface.

### Claim 10 (depends on 1)

The method of claim 1, wherein receiving the second instruction from the first set of the one or more recipient systems to provide access to the output data comprises analyzing the second instruction to determine a network address of the second set of the one or more recipient systems and if the network address of the second set of the one or more recipient systems is different from a network address of the user and a network address of the first set of the one or more recipient systems.

### Claim 11

A system for managing and accessing data using one or more data cloud servers, the system comprising:
one or more computing device processors; and
one or more computing device memories, coupled to the one or more computing device processors, the one or more computing device memories storing instructions executed by the one or more computing device processors, wherein the instructions are configured to:
receive an initial request for accessing data;
determine one or more external sources to retrieve the data;
receive a first request for a first configuration data set having a first set of configuration properties;
retrieve the first configuration data set from the one or more external sources;
initiate display of the first configuration data set including the first set of configuration properties;
receive selection of one or more elements of the first configuration data set to form a first select configuration data set;
receive a second request for a second configuration data set having a second set of configuration properties;
retrieve the second configuration data set from the one or more external sources;
initiate display of the second configuration data set including the second set of configuration properties;
receive selection of one or more elements of the second configuration data set to form a second select configuration data set;
receive a third request for a third configuration data set having a third set of configuration properties;
retrieve the third configuration data set from the one or more external sources;
initiate display of the third configuration data set including the third set of configuration properties;
receive selection of one or more elements of the third configuration data set to form a third select configuration data set;
determine a timeframe for retrieving data associated with at least one of the first select configuration data set, the second select configuration data set, and the third select configuration data set;
generate a query based on data associated with the timeframe, the at least one of the first select configuration data set, the second select configuration data set, and the third select configuration data set, or other data related to the at least one of the first select configuration data set, the second select configuration data set, and the third select configuration data set;
execute the query according to a cadence;
retrieve from the one or more external sources, output data;
receive a first instruction from a user to provide access to the output data to a first set of one or more recipient systems;
in response to receiving the first instruction from the user to provide access to the output data, send to the first set of the one or more recipient systems, one or more exchange protocols for accessing the output data;
receive acceptance of the one or more exchange protocols from the first set of the one or more recipient systems for access to the output data;
in response to receiving the acceptance of the one or more exchange protocols from the first set of the one or more recipient systems, provide the first set of the one or more recipient systems with access to the output data, otherwise the output data is blocked from the first set of the recipient systems;
receive a second instruction from the first set of the one or more recipient systems to provide access to the output data to a second set of the one or more recipient systems;
in response to receiving the second instruction from the first set of the one or more recipient systems to provide access to the output data, send to the second set of the one or more recipient systems, the one or more exchange protocols or second one or more exchange protocols for accessing the output data;
receive acceptance of the one or more exchange protocols or the second one or more exchange protocols from the second set of the one or more recipient systems for accessing the output data; and
in response to receiving the acceptance of the one or more exchange protocols or the second one or more exchange protocols from the second set of the one or more recipient systems, provide the second set of the one or more recipient systems with access to the output data, otherwise the output data is blocked from the second set of the recipient systems.

### Claim 12 (depends on 11)

The system of claim 11, wherein the instructions are further configured to provide a user interface for allowing the user to select which of the one or more external sources to retrieve data.

### Claim 13 (depends on 11)

The system of claim 11, wherein the instructions are further configured to provide a user interface for displaying details of the at least one of the first set of configuration properties, the second set of configuration properties, and the third set of configuration properties.

### Claim 14 (depends on 11)

The system of claim 11, wherein the instructions are further configured to provide a user interface for selecting at least one of the one or more elements of the first configuration data set, the one or more elements of the second configuration data set, and the one or more elements of the third configuration data set.

### Claim 15 (depends on 11)

The system of claim 11, wherein the instructions are further configured to provide a user interface for displaying the one or more elements of the first configuration data set, the one or more elements of the second configuration data set, and the one or more elements of the third configuration data set based on one or more user criteria.

### Claim 16 (depends on 11)

The system of claim 11, wherein the instructions are further configured to provide a user interface for indicating when the output data is available for sharing with the first set of the one or more recipient systems or the second set of the one or more recipient systems.

### Claim 17 (depends on 11)

The system of claim 11, wherein the instructions are further configured to provide a user interface for indicating the first set of the one or more recipient systems or the second set of the one or more recipient systems sharing the output data.

### Claim 18

A method for managing and accessing data using one or more data cloud servers, the method comprising:
receiving, using one or more computing device processors, a first request for accessing data;
determining, using the one or more computing device processors, one or more external sources to retrieve the data;
retrieving, using the one or more computing device processors, an at least first configuration data set from the one or more external sources, wherein the at least first configuration data set has an at least first set of configuration properties;
initiating display of, using the one or more computing device processors, the at least first configuration data set including the at least first set of configuration properties;
receiving selection of, using the one or more computing device processors, one or more elements of the at least first configuration data set to form an at least first select configuration data set;
determining, using the one or more computing device processors, a timeframe for retrieving data associated with the at least first select configuration data set;
generating, using the one or more computing device processors, a query based on data associated with the timeframe, the at least first select configuration data set, or other data related to the at least first select configuration data set;
executing, using the one or more computing device processors, the query according to a cadence;
retrieving, using the one or more computing device processors, from the one or more external sources, output data;
receiving, using the one or more computing device processors, a first instruction from a user to provide access to the output data to a first set of one or more recipient systems;
in response to receiving the first instruction from the user to provide access to the output data, sending, using the one or more computing device processors, to the first set of the one or more recipient systems, one or more exchange protocols for accessing the output data;
receiving, using the one or more computing device processors, acceptance of the one or more exchange protocols from the first set of the one or more recipient systems for access to the output data;
in response to receiving the acceptance of the one or more exchange protocols from the first set of the one or more recipient systems, providing, using the one or more computing device processors, the first set of the one or more recipient systems with access to the output data;
receiving, using the one or more computing device processors, a second instruction from the first set of the one or more recipient systems to provide access to the output data to a second set of the one or more recipient systems;
in response to receiving the second instruction from the first set of the one or more recipient systems to provide access to the output data, sending, using the one or more computing device processors, to the second set of the one or more recipient systems, the one or more exchange protocols or second one or more exchange protocols for accessing the output data;
receiving, using the one or more computing device processors, acceptance of the one or more exchange protocols or the second one or more exchange protocols from the second set of the one or more recipient systems for accessing the output data; and
in response to receiving the acceptance of the one or more exchange protocols or the second one or more exchange protocols from the second set of the one or more recipient systems, providing, using the one or more computing device processors, the second set of the one or more recipient systems with access to the output data.

### Claim 19 (depends on 18)

The method of claim 18, further comprising initiating display of a visual representation of the output data using one or more analytical tools.

### Claim 20 (depends on 19)

The method of claim 19, wherein initiating display of the visual representation of the output data comprises utilizing at least one histogram to visually represent the output data.
