IP Library Granted Patent US 12,524,565
Granted Patent B2
US 12,524,565 · App. 18/652,305 · Granted Jan 13, 2026

Security description framework

Inventors: Vamsi Thummala (Pleasanton, CA); Prasanna JayaPrakash (Livermore, CA); Gary Heck (Pleasanton, CA)
Assignee: Workday, Inc.
G06F21/6227G06F16/24
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 12,524,565
App. No.
18/652,305
Granted
Jan 13, 2026
Kind
B2
Abstract

The present application discloses a method, system, and computer system for enforcing security with respect to a database. The system includes a database configured to receive a query, wherein the query is modified to comprise one or more security predicates; determine data to return in response to the query by examining the one or more security predicates with respect to security for a field; and return the determined data in response to the query.

Claims (36)

1 . A system, comprising:

a system layer configured to:

receive a query; and

modify the query to comprise one or more security predicates; and

a database configured to:

receive the modified query from the system layer;

determine data to return in response to the modified query, wherein determining the data to return comprises extracting the one or more security predicates from the modified query and determining whether the one or more security predicates extracted from the modified query are consistent with one or more security descriptors for a field of the database; and

return the determined data in response to the modified query.

2 . The system as in claim 1 , wherein the database comprises an object-oriented database.

3 . The system as in claim 1 , wherein the security for the field is designated by having an attribute associated with a field type.

4 . The system as in claim 3 , wherein the attribute is stored as information in a row of the database.

5 . The system as in claim 1 , wherein the data comprises a set of database information from a plurality of fields.

6 . The system as in claim 1 , wherein the one or more security predicates are generated for the query after receiving the query and before modifying the query.

7 . The system as in claim 1 , wherein the security for the field of the database is preconfigured.

8 . The system as in claim 1 , wherein the one or more security predicates are indicative of one or more security privileges of a user.

9 . The system as in claim 8 , wherein the query corresponds to a request from the user.

10 . A method, comprising:

receiving a query, wherein the query comprises one or more security predicates;

determining, using a processor, data to return in response to the query, wherein determining the data to return comprises extracting the one or more security predicates from the query and determining whether the one or more security predicates extracted from the query are consistent with one or more security descriptors for a field of a database; and

returning the determined data in response to the query.

11 . The method as in claim 10 , wherein the database comprises an object-oriented database.

12 . The method as in claim 10 , wherein the security for the field is designated by having an attribute associated with a field type.

13 . The method as in claim 12 , wherein the attribute is stored as information in a row of the database.

14 . The method as in claim 10 , wherein the data comprises a set of database information from a plurality of fields.

15 . The method as in claim 10 , wherein the one or more security predicates are generated for the query after receiving the query.

16 . The method as in claim 10 , wherein the security for the field of the database is preconfigured.

17 . The method as in claim 10 , wherein the one or more security predicates are indicative of one or more security privileges of a user.

18 . The method as in claim 17 , wherein the query corresponds to a request from the user.

19 . A computer program product, the computer program product being embodied in a non-transitory computer readable medium and comprising computer instructions for:

receiving a query, wherein the query comprises one or more security predicates;

determining, using a processor, data to return in response to the query, wherein determining the data to return comprises extracting the one or more security predicates from the query and determining whether the one or more security predicates extracted from the query are consistent with one or more security descriptors for a field; and

returning the determined data in response to the query.

20 . The computer program product as in claim 19 , the computer program product comprising computer instructions for:

receiving a second query, wherein the second query is modified to comprise one or more second security predicates;

determining second data to return in response to the second query by examining the one or more second security predicates, comprised in the second query, with respect to one or more second security descriptors for a second field; and

returning the determined second data in response to the second query.

Continuity (2)
Continuation 17459914 · Aug 27, 2021
Related Publication 20240281556A1 · Aug 22, 2024
References Cited (28)
US 8010560B2 · Becker · 2011 [cited by applicant]
US 8234299B2 · Bird · 2012 [cited by applicant]
US 8661555B2 · Miseldine · 2014 [cited by applicant]
US 9002803B2 · Qayyum · 2015 [cited by examiner]
US 9111114B1 · Choi · 2015 [cited by examiner]
US 9519795B2 · Guarrieri · 2016 [cited by applicant]
US 9753737B2 · Munday · 2017 [cited by examiner]
US 10097522B2 · Philipp · 2018 [cited by examiner]
US 10248810B2 · Bisaga · 2019 [cited by applicant]
US 10380334B2 · Gopi · 2019 [cited by examiner]
US 10540513B2 · Van Hoof · 2020 [cited by applicant]
US 10642990B2 · Pattabhiraman · 2020 [cited by examiner]
US 10671751B2 · Schneider · 2020 [cited by examiner]
US 10713376B2 · Timmerman · 2020 [cited by examiner]
US 10872162B2 · Qayyum · 2020 [cited by examiner]
US 11275850B1 · Brandwine · 2022 [cited by examiner]
US 11531931B2 · Enuka · 2022 [cited by examiner]
US 11741100B2 · Schneider · 2023 [cited by applicant]
US 12254100B2 · Wei · 2025 [cited by examiner]
US 20100030725A1 · Mendis · 2010 [cited by applicant]
US 20100030737A1 · Scheuber-Heinz · 2010 [cited by examiner]
US 20100071067A1 · Bardowell · 2010 [cited by applicant]
US 20160019288A1 · Knechtel · 2016 [cited by examiner]
US 20170163638A1 · Kisters · 2017 [cited by examiner]
US 20180075251A1 · Van Hoof · 2018 [cited by examiner]
US 20190340283A1 · Schneider · 2019 [cited by examiner]
US 20210099293A1 · Aleksander · 2021 [cited by examiner]
US 20210303720A1 · Creenaune · 2021 [cited by examiner]