IP Library › Granted Patent US 9,853,962
Granted Patent B2
US 9,853,962 · App. 15/298,422 · Granted Dec 26, 2017

Flexible authentication framework

Inventors: Muralidhar Krishnaprasad (Fremont, CA); Mark Davis (Fremont, CA); Mark Ture (Santa Clara, CA); Cindy Hsin (Fremont, CA); Meeten Bhavsar (Emerald Hills, CA); Hiroshi Koide (San Francisco, CA); Joaquin Delgado (Santa Clara, CA); Chi-Ming Yang (Sunnyvale, CA); Visar Nimani (Jacksonville, FL); Hui Ouyang (Fremont, CA); Sachin Bhatkar (Sunnyvale, CA); Thomas Chang (Redwood Shores, CA)
Assignee: ORACLE INTERNATIONAL CORPORATION
H04L63/08G06F17/30011G06F17/30321G06F17/30477G06F17/30554G06F17/30864G06F17/30867G06F21/31G06F21/6227H04L63/083H04L63/0815H04L63/102
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,853,962
App. No.
15/298,422
Granted
Dec 26, 2017
Kind
B2
Abstract

A flexible and extensible architecture allows for secure searching across an enterprise. Such an architecture can provide a simple Internet-like search experience to users searching secure content inside (and outside) the enterprise. The architecture allows for the crawling and searching of a variety of sources across an enterprise, regardless of whether any of these sources conform to a conventional user role model. The architecture further allows for security attributes to be received at query time, for example, in order to provide real-time secure access to enterprise resources. The user query also can be transformed to provide for dynamic querying that provides for a more current result list than can be obtained for static queries.

Claims (64)

1. A method for building and using a secure index to service queries for a plurality of secure data stores, the method comprising:

crawling, by a computer system, the plurality of secure data stores residing on a plurality of different computer systems;

generating, by the computer system, an index of a plurality of documents from across the plurality of secure data stores, wherein each of the plurality of documents is associated with one or more security requirements from a corresponding one of the plurality of secure data stores;

storing, by the computer system, in the index, for each document in the plurality of documents, the corresponding one or more security requirements;

receiving, by the computer system, a query and user identification information from a client device;

providing, by the computer system, the user identification information to at least one of a plurality of identity management systems, wherein each of the plurality of identity management systems receives the user identification information through a respective Application Program Interface (API);

validating, by the computer system, a user against at least one identity management system in the plurality of identity management systems;

in response to receiving the query, obtaining, by the computer system, security information for the user of the client device;

selecting, by the computer system, each document in the index that is responsive to the query and where the corresponding one or more security requirements are satisfied by the security information of the user; and

transmitting, by the computer system, links to each selected document in the index as a result set to the client device to service the query from the client device.

2. The method of claim 1 , wherein the plurality of secure data stores reside both inside of an enterprise and outside of the enterprise.

3. The method of claim 1 , wherein the security information for the user is obtained from an identity management system associated with at least one of the plurality of secure data stores.

4. The method of claim 1 , wherein the one or more security requirements includes at least one grant attribute or at least one deny attribute.

5. The method of claim 1 , wherein a number or type of objects required from the user identification information by a first identity management system in the plurality of identity management systems is different from a number or type of objects required from the user identification information by a second identity management system in the plurality of identity management systems.

6. The method of claim 1 , wherein:

the one or more security requirements comprises one or more security attributes;

each of the one or more security attributes for each of the plurality of documents is associated with a corresponding set of acceptable security attribute values;

the security information for the user of the client device comprises one or more security attributes of the user and one or more security attribute values for each of the one or more security attributes of the user; and

the one or more security requirements are satisfied by the security information of the user when, for each of the one or more security attributes of the document:

the security attribute value of the document matches at least one of the one or more security attributes of the user; and

at least one of the one or more security attribute values of the at least one of the one or more security attributes of the user falls within the set of acceptable security attribute values of the security attribute of the document.

7. A non-transitory, computer-readable storage medium comprising instructions that, when executed by one or more processors, cause the one or more processors to build and use a secure index to service queries for a plurality of secure data stores by performing operations comprising:

crawling the plurality of secure data stores residing on a plurality of different computer systems;

generating an index of a plurality of documents from across the plurality of secure data stores, wherein each of the plurality of documents is associated with one or more security requirements from a corresponding one of the plurality of data secure stores;

storing, in the index, for each document in the plurality of documents, the corresponding one or more security requirements;

receiving a query and user identification information from a client device;

providing the user identification information to at least one of a plurality of identity management systems, wherein each of the plurality of identity management systems receives the user identification information through a respective Application Program Interface (API);

validating a user against at least one identity management system in the plurality of identity management systems;

in response to receiving the query, obtaining security information for the user of the client device;

selecting each document in the index that is responsive to the query and where the corresponding one or more security requirements are satisfied by the security information of the user; and

transmitting links to each selected document in the index as a result set to the client device to service the query from the client device.

8. The non-transitory, computer-readable storage medium of claim 7 , wherein the plurality of secure data stores reside both inside of an enterprise and outside of the enterprise.

9. The non-transitory, computer-readable storage medium of claim 7 , wherein the security information for the user is obtained from an identity management system associated with at least one of the plurality of secure data stores.

10. The non-transitory, computer-readable storage medium of claim 7 , wherein the one or more security requirements includes at least one grant attribute or at least one deny attribute.

11. The non-transitory, computer-readable storage medium of claim 7 , wherein a number or type of objects required from the user identification information by a first identity management system in the plurality of identity management systems is different from a number or type of objects required from the user identification information by a second identity management system in the plurality of identity management systems.

12. The non-transitory, computer-readable storage medium of claim 7 , wherein:

the one or more security requirements comprises one or more security attributes;

each of the one or more security attributes for each of the plurality of documents is associated with a corresponding set of acceptable security attribute values;

the security information for the user of the client device comprises one or more security attributes of the user and one or more security attribute values for each of the one or more security attributes of the user; and

the one or more security requirements are satisfied by the security information of the user when, for each of the one or more security attributes of the document:

the security attribute value of the document matches at least one of the one or more security attributes of the user; and

at least one of the one or more security attribute values of the at least one of the one or more security attributes of the user falls within the set of acceptable security attribute values of the security attribute of the document.

13. A system comprising:

one or more hardware processors; and

one or more memory devices comprising instructions that, when executed by the one or more processors, cause the one or more processors to build and use a secure index to service queries for a plurality of secure data stores by configuring the one or more processors to:

crawl the plurality of secure data stores residing on a plurality of different computer systems;

generate an index of a plurality of documents from across the plurality of secure data stores, wherein each of the plurality of documents is associated with one or more security requirements from a corresponding one of the plurality of secure data stores;

store, in the index, for each document in the plurality of documents, the corresponding one or more security requirements;

receive a query and user identification information from a client device;

provide the user identification information to at least one of a plurality of identity management systems, wherein each of the plurality of identity management systems receives the user identification information through a respective Application Program Interface (API);

validate a user against at least one identity management system in the plurality of identity management systems;

in response to receiving the query, obtain security information for the user of the client device;

select each document in the index that is responsive to the query and where the corresponding one or more security requirements are satisfied by the security information of the user; and

transmit links to each selected document in the index as a result set to the client device to service the query from the client device.

14. The system of claim 13 , wherein the plurality of secure data stores reside both inside of an enterprise and outside of the enterprise.

15. The system of claim 13 , wherein the security information for the user is obtained from an identity management system associated with at least one of the plurality of secure data stores.

16. The system of claim 13 , wherein a number or type of objects required from the user identification information by a first identity management system in the plurality of identity management systems is different from a number or type of objects required from the user identification information by a second identity management system in the plurality of identity management systems.

17. The system of claim 13 , wherein:

the one or more security requirements comprises one or more security attributes;

each of the one or more security attributes for each of the plurality of documents is associated with a corresponding set of acceptable security attribute values;

the security information for the user of the client device comprises one or more security attributes of the user and one or more security attribute values for each of the one or more security attributes of the user; and

the one or more security requirements are satisfied by the security information of the user when, for each of the one or more security attributes of the document:

the security attribute value of the document matches at least one of the one or more security attributes of the user; and

at least one of the one or more security attribute values of the at least one of the one or more security attributes of the user falls within the set of acceptable security attribute values of the security attribute of the document.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 7, 2016
From: KRISHNAPRASAD, MURALIDHAR; DAVIS, MARK; TURE, MARK; HSIN, CINDY; BHAVSAR, MEETEN; KOIDE, HIROSHI; DELGADO, JOAQUIN; YANG, CHI-MING; NIMANI, VISAR; OUYANG, HUI; BHATKAR, SACHIN; CHANG, THOMAS
To: ORACLE INTERNATIONAL CORPORATION
Reel/Frame 040245/0035 →
Continuity (6)
Continuation 14930475 · Nov 2, 2015
Continuation 11680530 · Feb 28, 2007
Provisional Application 60778151 · Mar 1, 2006
Provisional Application 60777988 · Mar 1, 2006
Provisional Application 60800737 · May 16, 2006
Related Publication 20170039282A1 · Feb 9, 2017