IP Library Granted Patent US 9,911,001
Granted Patent B2
US 9,911,001 · App. 14/738,539 · Granted Mar 6, 2018

Automatic SQL query modification for data restriction

Inventor: Gary J. Bisaga (Leesburg, VA)
Assignee: PEARSON EDUCATION, INC.
G06F21/6227G06F21/62G06F17/30427
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 9,911,001
App. No.
14/738,539
Granted
Mar 6, 2018
Kind
B2
Abstract

A method of automatically modifying a computer data query is disclosed herein. The modification of the computer data query can be performed to restrict access to data. The computer data query can be modified by receiving the computer data query, identifying tables in the query and retrieving providers associated with the tables identified in the query. These providers can be linked to one or several predicates. These predicates can be retrieved and used to modify the query. The modified query can then be used to retrieve data from one or several tables identified within the query.

Claims (62)

1. A method for managing access to information via a modification of a request for information, the method comprising:

receiving, by a network interface of a content management server, a query from a user device, wherein:

the query comprises a character string arranged according to a programming language,

the query identifies a first table comprising a row and a column, and

the query identifies at least one of the row and column for data retrieval;

receiving user attribute information relating to a user of the user device, wherein the user attribute information identifies a categorization of the user;

parsing the query with a programming language parser;

retrieving an access rule corresponding to the first table in the query and the user attribute information, wherein the access rule identifies a limitation of accessibility of data in the first table;

in response to a determination that an additional data access provider is associated with the first table, retrieving the additional data access provider associated with the first table;

retrieving a predicate associated with the additional data access provider, the predicate comprising a pre-created text string insertable into the query to modify a scope of the query and the predicate restricting the user to access columns and rows of the first table;

editing, by the content management server, the query based on the access rule by inserting the predicate into the character string; and

using the edited query with the predicate to access data in the first table that is accessible to the user according to the limitation of accessibility of data corresponding to the access rule.

2. The method of claim 1 , wherein the query comprises a named query.

3. The method of claim 1 , wherein the query comprises a table query.

4. The method of claim 1 , wherein parsing the query with a programming language parser comprises building an abstract syntax tree representing the query.

5. The method of claim 1 , wherein retrieving the access rule corresponding to the first table in the query and the user attribute information comprises:

in response to a determination that the first table is identified in the query, retrieving the access rule corresponding to the first table in the query; and

upon identifying the first table in the query, retrieving the user attribute information.

6. The method of claim 5 , wherein retrieving the access rule corresponding to the first table in the query and the user attribute information comprises:

retrieving data associated with the first table in the query;

in response to a determination that a data access provider is identified in the data associated with the first table in the query; and

selecting the data access provider when the data access provider is identified in the data associated with the first table in the query.

7. The method of claim 6 , wherein retrieving the access rule corresponding to the first table in the query and the user attribute information comprises:

retrieving a second predicate associated with the additional data access provider associated with the first table.

8. The method of claim 7 , further comprising:

in response to a determination that a second table is associated with the query, identifying a provider associated with the second table; and

retrieving a third predicate associated with the second table.

9. The method of claim 8 , further comprising stacking a plurality of predicates associated with the first table and the second table.

10. The method of claim 9 , wherein editing the query based on the access rule by modifying a portion of the character string comprises inserting the stacked plurality of predicates associated with the first table and the second table into the character string of the query.

11. A system for managing access to information via a modification of a request for information, the system comprising:

a memory comprising:

a database comprising data arranged in a plurality of tables;

a table database containing information relating to one or several tables; and

a data access provider database including at least one group of access rules specifying the accessibility of the data arranged in the plurality of tables by one or several categorizations of users; and

a processor configured to:

receive a query from a user device, wherein:

the query comprises a character string arranged according to a programming language,

the query identifies a first table comprising a row and a column,

the first table is one of the plurality of tables of the database, and

the query identifies at least one of: the row or column for data retrieval;

receive user attribute information relating to a user of the user device, wherein the user attribute information identifies a categorization of the user;

parse the query with a programming language parser;

retrieve an access rule corresponding to the first table in the query and the user attribute information, wherein the access rule identifies a limitation of accessibility of data in the first table;

in response to a determination that an additional data access provider is associated with the first table, retrieve the additional data access provider associated with the first table;

retrieve a predicate associated with the additional data access provider, the predicate comprising a pre-created text string insertable into the query to modify a scope of the query and the predicate restricting the user to access columns and rows of the first table;

edit the query based on the access rule by inserting the predicate into the character string; and

use the edited query with the predicate to access data in the first table that is accessible to the user according to the limitation of accessibility of data corresponding to the access rule.

12. The system of claim 11 , wherein parsing the query with a programming language parser comprises building an abstract syntax tree representing the query.

13. The system of claim 11 , wherein retrieving the access rule corresponding to the first table in the query and the user attribute information comprises:

in response to a determination that the first table is identified in the query, retrieving the access rule corresponding to the first table in the query; and

upon identifying the first table in the query, retrieving the user attribute information.

14. The system of claim 13 , wherein retrieving the access rule corresponding to the first table in the query and the user attribute information comprises:

retrieving data associated with the first table in the query;

in response to a determination that a data access provider is identified in the data associated with the first table in the query; and

selecting the data access provider when the data access provider is identified in the data associated with the first table in the query.

15. The system of claim 14 , wherein retrieving the access rule corresponding to the first table in the query and the user attribute information comprises:

retrieving a second predicate associated with the additional data access provider associated with the first table.

16. The system of claim 15 , wherein the processor is further configured to:

in response to a determination that a second table is associated with the query, identify a data access provider associated with the second table; and

retrieve a third predicate associated with the second table.

17. The system of claim 16 , wherein the processor is further configured to stack a plurality of predicates associated with the first table and the second table.

18. The system of claim 17 , wherein editing the query based on the access rule by modifying a portion of the character string comprises inserting the stacked plurality of predicates associated with the first table and the second table into the character string of the query.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 22, 2017
From: BISAGA, GARY J.
To: PEARSON EDUCATION, INC.
Reel/Frame 043635/0081 →
Continuity (1)
Related Publication 20160364444A1 · Dec 15, 2016