IP Library Granted Patent US 11,201,932
Granted Patent B2
US 11,201,932 · App. 17/065,238 · Granted Dec 14, 2021

Systems and methods for securely using cloud services on on-premises data

Inventors: Niraj Deo (Sammamish, WA); Saurabh Pandey (San Jose, CA); Johanna Christina Brugman (Seattle, WA)
Assignee: ORACLE INTERNATIONAL CORPORATION
H04L67/22H04L12/4641H04L41/0893H04L67/1002H04L67/306H04L67/40
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,201,932
App. No.
17/065,238
Granted
Dec 14, 2021
Kind
B2
Abstract

The present disclosure relates to systems and methods for providing cloud-based services securely to on-premises networks or other infrastructure. More particularly, the present disclosure relates to systems and methods for enriching first-party data (e.g., data collected directly by an on-premises server) stored within on-premises networks by enabling the on-premises networks to retrieve and process third-party data stored on cloud-based networks. As a technical benefit, cloud-based services can be performed on the first-party data within the on-premises networks.

Claims (66)

1. A computer-implemented method comprising:

storing a plurality of first-party user records within a first network, each first-party user record of the plurality of first-party user records including one or more first-party user features, and each first-party user feature of the one or more first-party user features being generated based on an interaction between a user device and the first network;

storing a plurality of third-party user records within a cloud network, each third-party user record of the plurality of third-party user records including one or more third-party user features, and each third-party user feature of the one or more third-party user features being generated based on an interaction between a user device and a second network;

establishing a communication channel between the first network and the cloud network, the communication channel being configured to transmit a first-party user feature from the first network to the cloud network or a third-party user record from the cloud network to the first network;

detecting a communication over the communication channel, the communication originating from the first network, the communication corresponding to a request to map a first-party user record of the plurality of first-party user records to one or more third-party user records stored within the cloud network;

monitoring a number of the one or more third-party user records received from the cloud network in response to the request from the first network, the monitoring being performed at each of the first network and the cloud network;

determining that the number of the one or more third-party user records received by the first network matches the number of the one or more third-party user records transmitted by the cloud network;

generating a value based on the number of the one or more third-party user records received by the first network that matched the number of the one or more third-party user records transmitted by the cloud network; and

exchanging the value from the first network for the one or more third-party user records transmitted by the cloud network.

2. The computer-implemented method of claim 1 , further comprising:

determining whether a maximum value associated with the first network has been exceeded, the maximum value being defined by a user associated with the first network;

wherein:

when the maximum value has not been exceeded, proceeding with processing the request received by the first network; and

when the maximum value has been exceeded, denying the request to map the first-party user record to the one or more third-party user records stored within the cloud network, and transmitting a signal over the communication channel to the first network, the signal indicating that the request has been denied.

3. The computer-implemented method of claim 2 , wherein the maximum value is defined by the user accessing an interface associated with the first network, the interface enabling the user to define a configuration of one or more cloud services provided by the cloud network.

4. The computer-implemented method of claim 1 , wherein the first network is an on-premises network or a virtual private cloud network, wherein the plurality of first-party user records are generated in response to one or more user devices navigating a web page hosted by the first network.

5. The computer-implemented method of claim 1 , wherein the monitoring of the number of the one or more third-party user records received by the first network includes using a code-implemented meter executed at the first network.

6. The computer-implemented method of claim 1 , wherein the monitoring of the number of the one or more third-party user records transmitted by the cloud network includes using a code-implemented meter executed at the cloud network.

7. The computer-implemented method of claim 1 , wherein the monitoring further comprises:

detecting the number of the one or more third-party user records received by the first network;

detecting the number of the one or more third-party user records transmitted by the cloud network;

comparing the number of the one or more third-party user records received by the first network with the number of the one or more third-party user records transmitted by the cloud network; and

generating the value based on the comparison.

8. A system, comprising:

one or more processors; and

a non-transitory computer-readable storage medium containing instructions which, when executed on the one or more processors, cause the one or more processors to perform operations including:

storing a plurality of first-party user records within a first network, each first-party user record of the plurality of first-party user records including one or more first-party user features, and each first-party user feature of the one or more first-party user features being generated based on an interaction between a user device and the first network;

storing a plurality of third-party user records within a cloud network, each third-party user record of the plurality of third-party user records including one or more third-party user features, and each third-party user feature of the one or more third-party user features being generated based on an interaction between a user device and a second network;

establishing a communication channel between the first network and the cloud network, the communication channel being configured to transmit a first-party user feature from the first network to the cloud network or a third-party user record from the cloud network to the first network;

detecting a communication over the communication channel, the communication originating from the first network, the communication corresponding to a request to map a first-party user record of the plurality of first-party user records to one or more third-party user records stored within the cloud network;

monitoring a number of the one or more third-party user records received from the cloud network in response to the request from the first network, the monitoring being performed at each of the first network and the cloud network;

determining that the number of the one or more third-party user records received by the first network matches the number of the one or more third-party user records transmitted by the cloud network;

generating a value based on the number of the one or more third-party user records received by the first network that matched the number of the one or more third-party user records transmitted by the cloud network; and

exchanging the value from the first network for the one or more third-party user records transmitted by the cloud network.

9. The system of claim 8 , wherein the operations further comprise:

determining whether a maximum value associated with the first network has been exceeded, the maximum value being defined by a user associated with the first network;

wherein:

when the maximum value has not been exceeded, proceeding with processing the request received by the first network; and

when the maximum value has been exceeded, denying the request to map the first-party user record to the one or more third-party user records stored within the cloud network, and transmitting a signal over the communication channel to the first network, the signal indicating that the request has been denied.

10. The system of claim 9 , wherein the maximum value is defined by the user accessing an interface associated with the first network, the interface enabling the user to define a configuration of one or more cloud services provided by the cloud network.

11. The system of claim 8 , wherein the first network is an on-premises network or a virtual private cloud network, wherein the plurality of first-party user records are generated in response to one or more user devices navigating a web page hosted by the first network.

12. The system of claim 8 , wherein the monitoring of the number of the one or more third-party user records received by the first network includes using a code-implemented meter executed at the first network.

13. The system of claim 8 , wherein the monitoring of the number of the one or more third-party user records transmitted by the cloud network includes using a code-implemented meter executed at the cloud network.

14. The system of claim 8 , wherein the operation of monitoring further comprises:

detecting the number of the one or more third-party user records received by the first network;

detecting the number of the one or more third-party user records transmitted by the cloud network;

comparing the number of the one or more third-party user records received by the first network with the number of the one or more third-party user records transmitted by the cloud network; and

generating the value based on the comparison.

15. A computer-program product tangibly embodied in a non-transitory machine-readable storage medium, including instructions configured to cause a processing apparatus to perform operations including:

storing a plurality of first-party user records within a first network, each first-party user record of the plurality of first-party user records including one or more first-party user features, and each first-party user feature of the one or more first-party user features being generated based on an interaction between a user device and the first network;

storing a plurality of third-party user records within a cloud network, each third-party user record of the plurality of third-party user records including one or more third-party user features, and each third-party user feature of the one or more third-party user features being generated based on an interaction between a user device and a second network;

establishing a communication channel between the first network and the cloud network, the communication channel being configured to transmit a first-party user feature from the first network to the cloud network or a third-party user record from the cloud network to the first network;

detecting a communication over the communication channel, the communication originating from the first network, the communication corresponding to a request to map a first-party user record of the plurality of first-party user records to one or more third-party user records stored within the cloud network;

monitoring a number of the one or more third-party user records received from the cloud network in response to the request from the first network, the monitoring being performed at each of the first network and the cloud network;

determining that the number of the one or more third-party user records received by the first network matches the number of the one or more third-party user records transmitted by the cloud network;

generating a value based on the number of the one or more third-party user records received by the first network that matched the number of the one or more third-party user records transmitted by the cloud network; and

exchanging the value from the first network for the one or more third-party user records transmitted by the cloud network.

16. The computer-program product of claim 15 , wherein the operations further comprise:

determining whether a maximum value associated with the first network has been exceeded, the maximum value being defined by a user associated with the first network;

wherein:

when the maximum value has not been exceeded, proceeding with processing the request received by the first network; and

when the maximum value has been exceeded, denying the request to map the first-party user record to the one or more third-party user records stored within the cloud network, and transmitting a signal over the communication channel to the first network, the signal indicating that the request has been denied.

17. The computer-program product of claim 16 , wherein the maximum value is defined by the user accessing an interface associated with the first network, the interface enabling the user to define a configuration of one or more cloud services provided by the cloud network.

18. The computer-program product of claim 15 , wherein the first network is an on-premises network or a virtual private cloud network, wherein the plurality of first-party user records are generated in response to one or more user devices navigating a web page hosted by the first network.

19. The computer-program product of claim 15 , wherein the monitoring of the number of the one or more third-party user records received by the first network includes using a code-implemented meter executed at the first network.

20. The computer-program product of claim 15 , wherein the monitoring of the number of the one or more third-party user records transmitted by the cloud network includes using a code-implemented meter executed at the cloud network.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 12, 2021
From: DEO, NIRAJ; PANDEY, SAURABH; BRUGMAN, JOHANNA CHRISTINA
To: ORACLE INTERNATIONAL CORPORATION
Reel/Frame 055241/0255 →
Continuity (2)
Provisional Application 62912013 · Oct 7, 2019
Related Publication 20210105316A1 · Apr 8, 2021
Cited By (1)
US 12,231,513