IP Library Granted Patent US 10,152,522
Granted Patent B1
US 10,152,522 · App. 14/871,485 · Granted Dec 11, 2018

Globally distributed compliance enforcement

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 10,152,522
App. No.
14/871,485
Granted
Dec 11, 2018
Kind
B1
Abstract

A method and system for requesting a first data, including receiving from a first requestor a first query request to read the first data located in a first geographic location, where the first requestor is located in a second geographic location. The method further includes executing the first query request by a query engine in the first geographic location to obtain a first query result, obtaining a first compliance rule based on at least one of the first geographic location, the second geographic location, generating an exportable result by applying the first compliance rule to the first query result, and transmitting the first exportable result to the first requestor.

Claims (86)

1. A method for requesting data comprising:

receiving, by a first query node, a local query request to read a first data of the data;

making a determination that the first data comprises a local portion and a remote portion;

in response to the determination:

executing the local query request by a query engine in a first geographic location in which a first requestor that sent the local query request is located, to obtain a first query result, wherein the first query result comprises the local portion;

executing the local query request by a second query engine in a second geographic location, in which the first requestor that sent the local query request is not located, to obtain a second query result, wherein the second query result comprises the remote portion;

obtaining a first compliance rule based on at least one of the first geographic location and the second geographic location;

generating an exportable result by applying the first compliance rule to the second query result, wherein the exportable result does not include a portion of the remote portion, wherein the exportable result includes a count of a number of fields of the remote portion; and

transmitting both of the first query result and the exportable result to the first requestor.

2. The method of claim 1 , further comprising:

receiving, by the first query node, a remote query request to read a second data of the data;

making a second determination that the second data comprises a second local portion and a second remote portion;

in response to the second determination:

executing the remote query request by the query engine in the first geographic location, in which a second requestor that sent the remote query request is not located, to obtain a third query result, wherein the third query result comprises the second local portion;

obtaining a second compliance rule based on at least one of the first geographic location and the second geographic location;

generating a second exportable result by applying the second compliance rule to the third query result, wherein the second exportable result does not include a portion of the second local portion, wherein the second exportable result includes a second count of a number of fields of the second local portion;

executing the remote query request by the query engine in the second geographic location, in which the requestor that sent the remote query request is located, to obtain a fourth query result, wherein the fourth query result comprises the second remote portion;

transmitting both of the fourth query result and the second exportable result to the second requestor.

3. The method of claim 1 ,

wherein the query engine is executing on a first query node,

wherein the first requestor is one selected from a group consisting of a client and a second query node.

4. The method of claim 1 , wherein the first requestor is an intermediate requestor.

5. The method of claim 4 , further comprising:

receiving, by the intermediate requestor, the exportable result; and

transmitting, by the intermediate requestor, the exportable result to a source requestor.

6. The method of claim 1 , wherein executing the local query request by the query engine in the first geographic location generates query execution data.

7. The method of claim 6 , wherein the query execution data comprises a list of the fields of the data that were selected, retrieved, modified, or updated as part of executing the local query request by the query engine in the first geographic location.

8. The method of claim 7 , further comprising:

obtaining a second compliance rule based on the query execution data,

before transmitting the exportable result, removing a second portion of the remote portion specified by the second compliance rule.

9. A system comprising:

a first query node located in a first geographic location comprising a data repository, a query engine, and a compliance engine;

wherein the first query node is configured to:

receive a local query request to read a first data;

make a determination that the first data comprises a local portion and a remote portion;

in response to the determination:

execute, by the query engine, the local query request by the query engine to obtain a first query result, wherein the first query result comprises the local portion;

execute the local query request by a second query engine in a second geographic location, in which a first requestor that sent the local query request is not located, to obtain a second query result, wherein the second query result comprises the remote portion;

obtain, by the compliance engine, a first compliance rule based on at least one of the first geographic location, the second geographic location, and the query execution data;

generate, by the compliance engine, an exportable result by applying the first compliance rule to the first query result, wherein the exportable result does not include a portion of the remote portion, wherein the exportable result includes a count of a number of fields of the remote portion, wherein the remote portion is not stored in the data repository; and

transmit both of the first query result and the exportable result to the first requestor.

10. The system of claim 9 , the first query node is further configured to:

receive a remote query request to read a second data of the data;

make a second determination that the second data comprises a second local portion and a second remote portion;

in response to the second determination:

execute the remote query request by the query engine in the first geographic location, in which a second requestor that sent the remote query request is not located, to obtain a third query result, wherein the third query result comprises the second local portion;

obtain a second compliance rule based on at least one of the first geographic location, the second geographic location;

generate a second exportable result by applying the second compliance rule to the third query result, wherein the second exportable result does not include a portion of the second local portion, wherein the second exportable result includes a second count of a number of fields of the second local portion;

execute the remote query request by the query engine in the second geographic location, in which the requestor that sent the remote query request is located, to obtain a fourth query result, wherein the fourth query result comprises the second remote portion;

transmit both of the fourth query result and the second exportable result to the second requestor.

11. The system of claim 9 , wherein the first requestor is one selected from a group consisting of a client and a second query node.

12. The system of claim 9 , wherein the first requestor is an intermediate requestor.

13. The system of claim 12 , the first query node further configured to:

receive, by the intermediate requestor, the exportable result; and

transmit, by the intermediate requestor, the exportable result to a source requestor.

14. The system of claim 9 , wherein executing the local query request by the query engine in the first geographic location generates query execution data.

15. The system of claim 14 , wherein the first query node is further configured to:

obtain a second compliance rule based on the query execution data,

before transmitting the exportable result, remove a second portion of the remote portion specified by the second compliance rule.

16. A non-transitory computer readable medium comprising instructions, which when executed by at least one processor perform a method, the method comprising:

receiving, by a first query node, a local query request to read a first data of the data;

making a determination that the first data comprises a local portion and a remote portion;

in response to the determination:

executing the local query request by a query engine in a first geographic location, in which a first requestor that sent the local query request is located, to obtain a first query result, wherein the first query result comprises the local portion;

executing the local query request by a second query engine in a second geographic location, in which the first requestor that sent the local query request is not located, to obtain a second query result, wherein the second query result comprises the remote portion;

obtaining a first compliance rule based on at least one of the first geographic location, the second geographic location;

generating an exportable result by applying the first compliance rule to the second query result, wherein the exportable result does not include a portion of the remote portion, wherein the exportable result includes a count of a number of fields of the remote portion; and

transmitting both of the first query result and the exportable result to the first requestor.

17. The non-transitory computer readable medium of claim 16 ,

the method further comprising:

receiving, by the first query node, a remote query request to read a second data of the data;

making a second determination that the second data comprises a second local portion and a second remote portion;

in response to the second determination:

executing the remote query request by the query engine in the first geographic location, in which a second requestor that sent the remote query request is not located, to obtain a third query result, wherein the third query result comprises the second local portion;

obtaining a second compliance rule based on at least one of the first geographic location, the second geographic location;

generating a second exportable result by applying the second compliance rule to the third query result, wherein the second exportable result does not include a portion of the second local portion, wherein the second exportable result includes a second count of a number of fields of the second local portion;

executing the remote query request by the query engine in the second geographic location, in which the requestor that sent the remote query request is located, to obtain a fourth query result, wherein the fourth query result comprises the second remote portion;

transmitting both of the fourth query result and the second exportable result to the second requestor.

18. The non-transitory computer readable medium of claim 16 ,

wherein the query engine is executing on a first query node,

wherein the first requestor is one selected from a group consisting of a client and a second query node.

19. The non-transitory computer readable medium of claim 16 , wherein the first requestor is an intermediate requestor.

20. The non-transitory computer readable medium of claim 19 ,

the method further comprising:

receiving, by the intermediate requestor, the exportable result; and

transmitting, by the intermediate requestor, the exportable result to a source requestor.

Assignments (4)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053546/0001) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC IP HOLDING COMPANY LLC
Reel/Frame 071642/0001 →
SECURITY AGREEMENT Recorded Mar 21, 2019
From: CREDANT TECHNOLOGIES, INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 049452/0223 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 3, 2017
From: EMC CORPORATION
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 041872/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 18, 2016
From: VAN ROTTERDAM, JEROEN MATTIJS; HUMBY, DAVID; KEARNS, UNA T.; MEENAKSHISUNDARAM, RAMAN
To: EMC CORPORATION
Reel/Frame 040652/0165 →
Cited By (1)
US 12,271,384