|Publication number||US5751949 A|
|Application number||US 08/447,650|
|Publication date||May 12, 1998|
|Filing date||May 23, 1995|
|Priority date||May 23, 1995|
|Publication number||08447650, 447650, US 5751949 A, US 5751949A, US-A-5751949, US5751949 A, US5751949A|
|Inventors||Robert David Thomson, Roger Geiwitz|
|Original Assignee||Mci Corporation|
|Export Citation||BiBTeX, EndNote, RefMan|
|Patent Citations (9), Referenced by (148), Classifications (7), Legal Events (8)|
|External Links: USPTO, USPTO Assignment, Espacenet|
The present invention relates generally to computer accessed databases, and, more specifically, to a security system for limiting access to the database to authorized users.
Computer accessible databases are well known and typically configure data in tables having rows and columns. A typical server computer system includes a central server computer with many remote terminals operatively joined thereto, with each terminal typically being in the form of a personal computer with its own monitor, keyboard, and central processing unit (CPU). Clients or users utilize the remote terminals to access the server computer for various purposes including accessing databases therein for in turn manipulating the data as desired. The server computer is maintained by one or more administrators who configure and maintain the various databases for use by the various users at the remote terminals. And, the server computer utilizes appropriate software or programs to accomplish this.
In one exemplary embodiment, the server computer includes conventional relational database software stored therein which is used by an administrator for creating and maintaining databases including various server or data tables. An exemplary relational database software is known as standard query language (SQL) Server software and is commercially available from the Sybase Company, of Denver, Colo. for example. The Sybase SQL Server software is merely representative of existing or developed software having built in capabilities for creating and maintaining databases, and inherent limitations as well.
For example, the relational database software is preconfigured for effecting security of the data contained in the various data or server tables thereof in horizontal or vertical manners. A typical server table includes a limited number of data columns in the vertical direction typically limited by the relevant number of pertinent attributes concerning the data. The number of corresponding horizontal rows of the table is usually unlimited, and is typically substantially greater in number than the number of columns. Recognizing the need to provide security to the various data tables as desired, the relational database software is provided with suitable software to limit access to entire server tables to authorized users, as well as limiting access to selected rows or columns of individual tables to authorized users.
In order to limit user access to one or more of the table columns, the relational database software allows an administrator to create using predefined software syntax one or more subsets of the tables known generally as views. In this way, the various users at the remote terminals may only access authorized data columns through predefined views, which is typically implemented by matching a user's log-on (logon) identification (ID) number with a user ID stored in a corresponding system table in the server computer. Since there are a finite, reasonable number of table columns in typical databases, creating a specific view for the corresponding authorized columns is readily accomplished for securing access to these columns.
However, in order to effect horizontal or row security in the server tables, the same security tool requires that an individual view be effected by the administrator for each horizontal slice or row of a given server table. If the number of rows is reasonably small, this security tool is readily implemented. A significant problem occurs when there are a substantial number of horizontal data slices, for example a thousand or more, since the available security method would in turn require the administrator to generate a corresponding number of views, a thousand or more, to implement the row security. Furthermore, if the row security parameters require frequent changing, then corresponding views must also be created and entered into the database before the new security can be utilized, which makes the data unavailable for the corresponding time required to implement the security change. It is desirable to improve the ease of effecting security, in particular row security, with a minimum amount of effort and time to implement, and eliminate unavailable down-time for accessing the data in the server tables.
A security system and method are provided for securing user access to server tables having data arranged in rows and columns. The server table is contained in a server computer which is accessible by a plurality of user terminals joined thereto. The server computer includes relational database software for creating and maintaining tables, including the server table, and views defining subsets of the tables. A security table is stored in the computer for identifying authorized user access to preselected rows of the server table for pre-identified users. An access view is stored in the computer for automatically joining the security and server tables to limit user access to the server table to the preselected rows thereof based on the security table. A single security table may therefore be used and is readily updated by merely deleting, adding, or updating entries.
The invention, in accordance with preferred and exemplary embodiments, together with further objects and advantages thereof, is more particularly described in the following detailed description taken in conjunction with the accompanying drawings in which:
FIG. 1 is a schematic representation of a plurality of remote user terminals operatively joined to a server computer containing a database with a plurality of server tables having data arranged in rows and columns.
FIG. 2 is an exemplary server table containing data arranged in rows and columns stored within the server computer illustrated in FIG. 1.
FIG. 3 is a flow chart representation of a user request for data sent to the server computer illustrated in FIG. 1 showing access to a plurality of server tables like the one illustrated in FIG. 2 through a corresponding plurality of access views and a common security table.
FIG. 4 is an exemplary embodiment of the security table illustrated in FIG. 3 containing rows of user ID's and authorized row access to the server tables illustrated In FIG. 3.
FIG. 5 is an exemplary view of software syntax for joining the security table of FIG. 4 to the first server table illustrated in FIGS. 2 and 3 to effect row security thereof.
FIG. 6 is an exemplary second view of software syntax for joining the security table of FIG. 4 with the second server table of FIG. 3 to effect row security based on another row label.
FIG. 7 is a table of sample Standard Query Language (SQL) queries provided to the server computer in FIG. 1 through the various remote terminals, with the corresponding query results therefor.
Illustrated schematically in FIG. 1 is an exemplary database server system 10 which includes a central server computer 12 and a plurality of conventional remote user input/output terminals 14 operatively joined thereto in a conventionally known manner for providing access thereto. The server computer 12 may take any conventional form and includes a digital, programmable central processing unit (CPU) and one or more conventional memory or storage devices. The user terminals 14 may also take any conventional form such as a personal computer including an output monitor, an input keyboard, its own CPU, and its own memory storage device as required.
The server computer 12 is conventionally configured with a preexisting relational database software suitably stored in the computer 12. An exemplary relational database software is conventionally known as the Sybase SQL Server software which is a commercially available product from the Sybase Company of Denver, Colo. for example. The relational database software is stored in the server computer 12 and is conventionally operable by an administrator for creating and maintaining a database including tables, with an exemplary table being referred to as a data or server table having data prearranged in horizontal rows and vertical columns. The relational database software also includes conventional views which define subsets of one or more of these server tables, which views are implemented using a preexisting software syntax for the corresponding relational database software. Since various relational database software is available, various syntax is associated therewith, with the corresponding views nevertheless being definable by the administrator to define data subsets as desired.
In the exemplary Sybase SQL Server software, a preexisting security system is provided therein. The security system may be configured by the administrator to limit user access to entire tables or portions thereof based on a suitable user identification (ID) such as a single, multi-digit number (e.g. 12345) for example. In order to create security for a given data partition such as one or more rows or columns of a given server table, the administrator creates a specific view for each such data partition giving access thereto to specified users by their corresponding user ID's. In a practical application, a server table includes a reasonably small number of columns, and providing vertical for one or more of the columns is readily accomplished by creating the corresponding views.
However, the number of rows in an exemplary server table is substantially greater than the number of columns and may for example be up to three or more orders of magnitude greater, with the corresponding number of data partitions being equally as large. For a one thousand row server table, up to one thousand views would be required to implement horizontal row security using the preexisting relational database software. However this presents an administrative burden and is time consuming. Furthermore, if the row security needs to change frequently, then new views need to be created by the administrator and entered into the database before the new security can be effected, which then prevents the data from being available by the users for the time required to implement the security.
In accordance with the present invention, the existing relational database software may be used in a new manner to substantially simplify the creation of row security in the server tables thereof. The improved security system in accordance with the present invention includes the existing server computer 12 shown in FIG. 1, the existing relational database software contained therein, and the existing user terminals 14. An exemplary first server TABLE1 stored in the database of the server computer 12 illustrated in FIG. 1 is illustrated in FIG. 2. This exemplary server table includes data arranged in rows and columns of any desired length, with the number of rows typically being substantially larger than the number of columns, for example three or more orders of magnitude greater. In TABLE1 each of the various rows has a corresponding row label, which in this exemplary embodiment identifies various departments (Dept's) by a corresponding multiple digit number. For each of the row labels, there are one or more columns of useful data indicated generically by various combinations of the letters X and Y, with the data taking any suitable form as desired such as alphabetic, numeric, or alphanumeric . For example, the data contained in the various columns might represent sensitive financial data for the corresponding departments, with it being desired to limit user access to the data in TABLE1 on a selected need-to-know basis.
Accordingly, in order to readily implement row security of the TABLE1 a single Security TABLE-S is created by the administrator and stored in the server computer 12 for Identifying authorized user access to preselected rows of the server TABLE1 for pre-identified users as illustrated in FIG. 3. In addition, a suitable access view, such as first VIEW1 is created by the administrator and is also stored in the server computer 12 for automatically joining the Security TABLE-S and the corresponding server table such as TABLE1 to limit user access to the server table to solely preselected rows thereof based on the Security TABLE-S.
Referring firstly to FIG. 4, an exemplary Security TABLE-S is illustrated and includes a first column of preselected user ID's and one or more corresponding columns of authorized-access row labels for the respective user ID's. For example, each of the users is given a corresponding user ID which may take any suitable form including the multi digit numbers illustrated in FIG. 4. When a user logs on to one of the remote terminals illustrated in FIG. 1, the user ID must be entered and is conventionally stored in a system table 16 in the server computer 12 in a conventionally known manner. In this way a preselected user ID is associated with a given user. And, as shown in FIG. 2, a row label (e.g. Dept.number) is associated with or defines each row of the server TABLE1. The Security TABLE-S is therefore used to join given or identified users as identified by their ID's to the authorized row labels in the server TABLE1.
The Security TABLE-S may include as many row entries as desired for linking user ID's to desired row labels, such as the Dept. numbers found in TABLE1. As indicated for example in Security TABLE-S, one or more user ID rows may be provided for a given user ID to correspond with one or more authorized row labels such as Dept. number. User ID 11111 is listed in the Security TABLE-S as having authorized access to Dept. Nos. 001, 010, and 020 for example. User ID 22222 is authorized for access to Dept. Nos. 001 and 002.
The Security TABLE-S provides a simple security list based on user ID's and row labels which is implemented in accordance with the present invention using one or more predefined views having suitable relational database syntax for allowing access to the server TABLE1 by the user solely through the access view itself and based on the Security TABLE-S. FIG. 5 illustrates an exemplary first VIEW1 in conventional Sybase relational database server syntax which creates a subset from TABLE1 based on the Security TABLE-S to allow user access to authorized rows of the server TABLE1 based on the user ID's and row labels. The first access VIEW1 illustrated in FIG. 5 provides the syntax configuration to allow row access to the server TABLE1 where both an authorized-access row label and user ID is contained in the Security TABLE-S for the given user. Paraphrasing the syntax of the first VIEW1, a user operating a remote terminal 14 in FIG. 1 will be allowed access to the first server TABLE1 through the first VIEW1 which selects from the TABLE1 where the Security TABLE-S user ID is equal to the user name as represented by the user logon ID, in conjunction with the Security TABLE-S row label such as Dept. number where it is equal to the server TABLE1 row label. For example, since the TABLE-S allows access to Dept. Nos. 001, 010, and 020, to user ID 11111, the first VIEW1 operates with the server TABLE1 to allow access to each row label number 001, 010, and 020 entry and its corresponding data columns found therein. The Security TABLE-S need only include a single record per row label per user ID which results in a relatively simple security table. The Security TABLE-S may therefore simply include duplicate or multiple user ID's as shown in FIG. 4 with different row labels therefor, respectively. The Security TABLE-S may be readily or dynamically updated by the administrator by simply changing, adding, or deleting rows therein containing the user ID and respective row label entry or record. In this way, the various users at the remote terminals 14 may continue to access the various server tables such as TABLE1 with minimal or no interruption, since updating of the Security TABLE-S merely involves simple row by row entries Into that existing table.
Referring again to FIG. 3, a typical user request for data is represented in flow chart form for obtaining access to authorized rows in various ones of server tables contained in the server computer 12 of FIG. 1. In a practical application, there are a plurality of different server tables as illustrated in FIG. 3, with each server table containing data in row and column form in a manner identical to the first server TABLE1 illustrated in FIG. 2. The various server tables may be conventionally configured to have different column data for similar row labels, or different row labels and corresponding column entries. In the exemplary first TABLE1 illustrated in FIG. 2, column data is provided for a given row label representing different departments (Dept.).
The second server TABLE2 illustrated in FIG. 3 is substantially identical to the server TABLE1 illustrated in FIG. 2 except that the row labels thereof are different and indicate for example a different classification such as one of the U.S. States. Since the state row label associated with server TABLE2 is different than the Dept. row label associated with server TABLE1, a correspondingly different second VIEW2 is created therefor. A common, single Security TABLE-S may correspondingly be used to provide secured access to the various server tables by having a corresponding number of data columns therein for the different row labels of server TABLE1 and TABLE2 corresponding to respective user ID's. AS shown in FIG. 4 for example, user ID 11111 has authorized access to the specified departments, and authorized access to data in server TABLE2 for the exemplary states indicated by the two letter abbreviation CA, TX, and NY. A corresponding VIEW2 is required for joining the security TABLE-S with the corresponding server TABLE2 and is illustrated in FIG. 6 with an exemplary syntax. The second VIEW2 illustrates in FIG. 6 is substantially identical to the first VIEW1 illustrated in FIG. 1 except that the row label in VIEW2 is the "state" as identified by the two letter abbreviation, whereas the row label utilized in the first VIEW1 is the "Dept" indicated by its corresponding reference number.
As shown in FIG. 3, a plurality of different server tables are indicated, along with a respective plurality of the views allowing row access to each of the server tables based on a respective one of the views configured specifically therefor. In the exemplary embodiment illustrated in FIG. 3, the first VIEW1 is specifically configured for the Dept. TABLE1, and the second VIEW2 is specifically configured for the state TABLE2. Upon matching of a user's log-on ID with the stored user ID's contained in the Security TABLE-S, the corresponding views allow indirect access to the corresponding server tables for the authorized row therein which provides simple and effective security using standard tools which preexist in the relational database software contained in the server computer 12. No program changes are required in the relational database software itself, but improved and simplified security is nevertheless available.
The relational database software contained in the server computer 12 is conventionally configured to allow direct user read access solely to the various views and the Security TABLE-S, with no direct user access to the server tables themselves, which are maintained by the administrator. Access to the server tables is provided solely through the various views and therefore row security is easily and effectively implemented without major work or modification of the preexisting relational database software itself.
The security system of the present invention is effected by an administrator using the available tools in the existing relational database software in the server computer 12. AS is conventionally known, the clients or users at the remote terminals 14 have limited access to the tools available in the relational database software in the server computer 12. Various electronic spreadsheet software and/or report generation software is typically used in the various remote terminals 14 to actually access and manipulate the various databases in the server computer 12 in a conventional fashion and are conventionally compatible with the relational database software itself. Since the remote terminals 14 access data from the server computer 12 using conventional tables and views allowed in the relational database software, the security system of the present invention is effectively invisible to the end user.
FIG. 7 illustrates sample relational database (SQL) queries which may be made from any one of the remote terminals 14 by an end user or client. These sample queries are associated with the exemplary first TABLE1 illustrated in FIG. 2. In conventional fashion, the first query in suitable syntax requests column I data from VIEW1, with the user access to the first server TABLE1 being processed through the flow chart illustrated In FIG. 3 to return the data record in all departments that the user has access based on the Security TABLE-S authorization.
In the second query illustrated in FIG. 7, the user requests column 1 and 2 records from the first VIEW1 for a specific department such as "001." Both columns will be returned to the remote terminal 14 for records in Dept. "001" if the user has a record in the Security TABLE-S authorizing the use of Dept. "001." And in the third query illustrated in FIG. 7, the user requests data records from the first VIEW1 for Depts. "001" and "002." All records will be returned for these two Depts. if the user has authorization for both Depts. in the Security TABLE-S. If the user is authorized only for one of the two Depts., the access will be limited to that single authorized Dept.
The security system and method disclosed above therefore provide improved row security with a single Security TABLE-S, with a single view per serving table for providing access thereto. This substantially simplifies existing security procedures available in the existing relational database software, and correspondingly reduces administration efforts while allowing dynamic and quick changes in the Security TABLE-S for minimizing or preventing interruption or downtime in the various databases contained in the server computer 12. If column security is also desired, the standard or existing procedure for effecting column security available in the relational database software may be utilized for creating corresponding views in a conventional manner. In this way both row and column security may be implemented using existing relational database software tools If desired.
While there have been described herein what are considered to be preferred and exemplary embodiments of the present invention, other modifications of the invention shall be apparent to those skilled in the art from the teachings herein, and it is, therefore, desired to be secured in the appended claims all such modifications as fall within the true spirit and scope of the invention.
Accordingly, what is desired to be secured by Letters Patent of the United States is the invention as defined and differentiated in the following claims:
|Cited Patent||Filing date||Publication date||Applicant||Title|
|US5021995 *||Dec 17, 1985||Jun 4, 1991||Wang Laboratories, Inc.||Data exchange apparatus and methods|
|US5058162 *||Aug 9, 1990||Oct 15, 1991||Hewlett-Packard Company||Method of distributing computer data files|
|US5065429 *||Oct 14, 1990||Nov 12, 1991||Lang Gerald S||Method and apparatus for protecting material on storage media|
|US5182705 *||Aug 11, 1989||Jan 26, 1993||Itt Corporation||Computer system and method for work management|
|US5272628 *||Apr 16, 1990||Dec 21, 1993||Microsoft Corporation||Method and system for aggregating tables having dissimilar formats|
|US5345549 *||Oct 30, 1992||Sep 6, 1994||International Business Machines Corporation||Multimedia based security systems|
|US5421001 *||May 1, 1992||May 30, 1995||Wang Laboratories, Inc.||Computer method and apparatus for a table driven file interface|
|US5440735 *||Oct 8, 1993||Aug 8, 1995||International Business Machines Corporation||Simplified relational data base snapshot copying|
|US5483596 *||Jan 24, 1994||Jan 9, 1996||Paralon Technologies, Inc.||Apparatus and method for controlling access to and interconnection of computer system resources|
|Citing Patent||Filing date||Publication date||Applicant||Title|
|US5944825 *||May 30, 1997||Aug 31, 1999||Oracle Corporation||Security and password mechanisms in a database system|
|US6275824||Oct 2, 1998||Aug 14, 2001||Ncr Corporation||System and method for managing data privacy in a database management system|
|US6339768||Aug 13, 1998||Jan 15, 2002||International Business Machines Corporation||Exploitation of subsumption in optimizing scalar subqueries|
|US6480850 *||Oct 1, 1999||Nov 12, 2002||Ncr Corporation||System and method for managing data privacy in a database management system including a dependently connected privacy data mart|
|US6515765||Jun 8, 1999||Feb 4, 2003||Matsushita Electric Industrial Co., Ltd.||Image data management system and method thereof|
|US6578037 *||Jun 7, 2000||Jun 10, 2003||Oracle Corporation||Partitioned access control to a database|
|US6587854 *||May 31, 2001||Jul 1, 2003||Oracle Corporation||Virtually partitioning user data in a database system|
|US6606627 *||Aug 27, 2001||Aug 12, 2003||Oracle Corporation||Techniques for managing resources for multiple exclusive groups|
|US6631371||Sep 18, 2002||Oct 7, 2003||Oracle International Corporation||Database fine-grained access control|
|US6768985 *||Aug 30, 1999||Jul 27, 2004||Unisys Corporation||Method and apparatus for administration of database partitions|
|US6813617||May 7, 2003||Nov 2, 2004||Oracle International Corporation||Dynamic generation of optimizer hints|
|US6820082 *||Apr 3, 2000||Nov 16, 2004||Allegis Corporation||Rule based database security system and method|
|US7024409 *||Apr 16, 2002||Apr 4, 2006||International Business Machines Corporation||System and method for transforming data to preserve privacy where the data transform module suppresses the subset of the collection of data according to the privacy constraint|
|US7111005||Oct 6, 2000||Sep 19, 2006||Oracle International Corporation||Method and apparatus for automatic database encryption|
|US7133875 *||Apr 12, 2002||Nov 7, 2006||Oracle International Corporation||Method and apparatus for redefining a group of related objects in a relational database system|
|US7155612||Apr 30, 2003||Dec 26, 2006||International Business Machines Corporation||Desktop database data administration tool with row level security|
|US7228300||May 7, 2003||Jun 5, 2007||Oracle International Corporation||Caching the results of security policy functions|
|US7237147||Aug 27, 2003||Jun 26, 2007||Oracle International Corporation||Method and apparatus for making available data that was locked by a dead transaction before rolling back the entire dead transaction|
|US7240046 *||Sep 4, 2002||Jul 3, 2007||International Business Machines Corporation||Row-level security in a relational database management system|
|US7281003||Sep 15, 2004||Oct 9, 2007||Oracle International Corporation||Database fine-grained access control|
|US7310647||Jan 23, 2004||Dec 18, 2007||Oracle International Corporation||Column masking of tables|
|US7464080||May 10, 2007||Dec 9, 2008||International Business Machines Corporation||Row-level security in a relational database management system|
|US7562092 *||Jul 14, 2009||Microsoft Corporation||Secured views for a CRM database|
|US7594266||Sep 29, 2006||Sep 22, 2009||Protegrity Corporation||Data security and intrusion detection|
|US7664753||Sep 21, 2005||Feb 16, 2010||Private Access, Inc.||Standing order database search system and method for internet and intranet application|
|US7676453||Apr 22, 2004||Mar 9, 2010||Oracle International Corporation||Partial query caching|
|US7676470 *||Mar 9, 2010||International Business Machines Corporation||Self discovering adaptive security system and method|
|US7698441||Apr 13, 2010||International Business Machines Corporation||Intelligent use of user data to pre-emptively prevent execution of a query violating access controls|
|US7712137||Feb 27, 2006||May 4, 2010||Microsoft Corporation||Configuring and organizing server security information|
|US7725465||Apr 18, 2007||May 25, 2010||Oracle International Corporation||Document date as a ranking factor for crawling|
|US7730032||Jan 12, 2006||Jun 1, 2010||Oracle International Corporation||Efficient queriability of version histories in a repository|
|US7814090 *||May 31, 2005||Oct 12, 2010||Oracle International Corporation||Query generator|
|US7818788||Feb 14, 2006||Oct 19, 2010||Microsoft Corporation||Web application security frame|
|US7873660||Jan 18, 2011||Oracle International Corporation||Enforcing data privacy aggregations|
|US7890315||Feb 15, 2011||Microsoft Corporation||Performance engineering and the application life cycle|
|US7941419||Feb 28, 2007||May 10, 2011||Oracle International Corporation||Suggested content with attribute parameterization|
|US7996392||Jun 27, 2007||Aug 9, 2011||Oracle International Corporation||Changing ranking algorithms based on customer settings|
|US8005816||Aug 23, 2011||Oracle International Corporation||Auto generation of suggested links in a search system|
|US8027982||Sep 27, 2011||Oracle International Corporation||Self-service sources for secure search|
|US8095531||Oct 2, 2007||Jan 10, 2012||Salesforce.Com, Inc.||Methods and systems for controlling access to custom objects in a database|
|US8214394 *||Jul 3, 2012||Oracle International Corporation||Propagating user identities in a secure federated search system|
|US8239396||Mar 20, 2009||Aug 7, 2012||Oracle International Corporation||View mechanism for data security, privacy and utilization|
|US8239414||May 18, 2011||Aug 7, 2012||Oracle International Corporation||Re-ranking search results from an enterprise system|
|US8316007||Nov 20, 2012||Oracle International Corporation||Automatically finding acronyms and synonyms in a corpus|
|US8316051 *||Nov 20, 2012||Oralce International Corporation||Techniques for adding multiple security policies to a database system|
|US8321387||Jul 28, 2005||Nov 27, 2012||International Business Machines Corporation||Restricting access to sensitive data|
|US8332430||Feb 28, 2007||Dec 11, 2012||Oracle International Corporation||Secure search performance improvement|
|US8352475||Apr 4, 2011||Jan 8, 2013||Oracle International Corporation||Suggested content with attribute parameterization|
|US8402017 *||Dec 8, 2006||Mar 19, 2013||International Business Machines Corporation||Method for altering database views dependent on rules|
|US8402281 *||Mar 19, 2013||Protegrity Corporation||Data security system for a database|
|US8412717||Apr 2, 2013||Oracle International Corporation||Changing ranking algorithms based on customer settings|
|US8423535||Apr 16, 2013||Salesforce.Com, Inc.||Query optimization in a multi-tenant database system|
|US8433712||Apr 30, 2013||Oracle International Corporation||Link analysis for enterprise environment|
|US8443426||Jun 11, 2008||May 14, 2013||Protegrity Corporation||Method and system for preventing impersonation of a computer system user|
|US8478713||Sep 30, 2008||Jul 2, 2013||International Business Machines Corporation||Row-level security in a relational database management system|
|US8504474 *||Jul 28, 2010||Aug 6, 2013||American Express Travel Related Services Company, Inc.||Consolidated payment account system and method|
|US8510334||Nov 5, 2009||Aug 13, 2013||Oracle International Corporation||Lock manager on disk|
|US8533775 *||Jun 13, 2008||Sep 10, 2013||Hewlett-Packard Development Company, L.P.||Hierarchical policy management|
|US8543566 *||Nov 10, 2006||Sep 24, 2013||Salesforce.Com, Inc.||System and methods of improving a multi-tenant database query using contextual knowledge about non-homogeneously distributed tenant data|
|US8595255||May 30, 2012||Nov 26, 2013||Oracle International Corporation||Propagating user identities in a secure federated search system|
|US8601028||Jun 28, 2012||Dec 3, 2013||Oracle International Corporation||Crawling secure data sources|
|US8620954||Apr 16, 2010||Dec 31, 2013||Salesforce.Com, Inc.||Query optimization in a multi-tenant database system|
|US8626794||Jul 2, 2012||Jan 7, 2014||Oracle International Corporation||Indexing secure enterprise documents using generic references|
|US8676845 *||Aug 22, 2006||Mar 18, 2014||International Business Machines Corporation||Database entitlement|
|US8707451||Feb 28, 2007||Apr 22, 2014||Oracle International Corporation||Search hit URL modification for secure application integration|
|US8725770||Nov 14, 2012||May 13, 2014||Oracle International Corporation||Secure search performance improvement|
|US8732157||Mar 31, 2010||May 20, 2014||Salesforce.Com, Inc.||Query optimization in a multi-tenant database system|
|US8826449||Sep 27, 2007||Sep 2, 2014||Protegrity Corporation||Data security in a disconnected environment|
|US8868540||Feb 28, 2007||Oct 21, 2014||Oracle International Corporation||Method for suggesting web links and alternate terms for matching search queries|
|US8875249||Feb 28, 2007||Oct 28, 2014||Oracle International Corporation||Minimum lifespan credentials for crawling data repositories|
|US8935787||Feb 17, 2014||Jan 13, 2015||Protegrity Corporation||Multi-layer system for privacy enforcement and monitoring of suspicious data access behavior|
|US9047487||Mar 2, 2012||Jun 2, 2015||Robert H. Shelton||Standing order database search system and method for internet and intranet application|
|US9081816||Oct 23, 2013||Jul 14, 2015||Oracle International Corporation||Propagating user identities in a secure federated search system|
|US9165125 *||Jun 13, 2012||Oct 20, 2015||Mobilextension Inc.||Distribution of dynamic structured content|
|US9177124||Feb 28, 2007||Nov 3, 2015||Oracle International Corporation||Flexible authentication framework|
|US9229967||Feb 22, 2006||Jan 5, 2016||Oracle International Corporation||Efficient processing of path related operations on data organized hierarchically in an RDBMS|
|US9251364||Dec 30, 2013||Feb 2, 2016||Oracle International Corporation||Search hit URL modification for secure application integration|
|US20020174352 *||Apr 24, 2001||Nov 21, 2002||Anonymity Protection In Sweden Ab||Data security system for a database|
|US20030061482 *||Aug 23, 2002||Mar 27, 2003||Efunds Corporation||Software security control system and method|
|US20030177135 *||Apr 11, 2003||Sep 18, 2003||Axon Information Technology Pty Ltd.||Multi-user database for computer-based information|
|US20030208457 *||Apr 16, 2002||Nov 6, 2003||International Business Machines Corporation||System and method for transforming data to preserve privacy|
|US20040039962 *||Aug 27, 2003||Feb 26, 2004||Amit Ganesh||Method and apparatus for making available data that was locked by a dead transaction before rolling back the entire dead transaction|
|US20040044655 *||Sep 4, 2002||Mar 4, 2004||International Business Machines Corporation||Row-level security in a relational database management system|
|US20040049683 *||Jul 18, 2003||Mar 11, 2004||Klaus Abraham-Fuchs||Method and system for evaluation of sensitive data|
|US20040068661 *||Oct 3, 2002||Apr 8, 2004||International Business Machines Corporation||Intelligent use of user data to pre-emptively prevent execution of a query violating access controls|
|US20040250098 *||Apr 30, 2003||Dec 9, 2004||International Business Machines Corporation||Desktop database data administration tool with row level security|
|US20050038783 *||Sep 15, 2004||Feb 17, 2005||Lei Chon Hei||Database fine-grained access control|
|US20050144176 *||Jan 23, 2004||Jun 30, 2005||Oracle International Corporation||Column masking of tables|
|US20060136479 *||Dec 22, 2004||Jun 22, 2006||Microsoft Corporation||Secured views for a CRM database|
|US20060259950 *||Feb 17, 2006||Nov 16, 2006||Ulf Mattsson||Multi-layer system for privacy enforcement and monitoring of suspicious data access behavior|
|US20060271529 *||May 31, 2005||Nov 30, 2006||Jitendra Dhamija||Query generator|
|US20070027871 *||Jul 26, 2005||Feb 1, 2007||International Business Machines Corporation||Self discovering adaptive security system and method|
|US20070027880 *||Jul 28, 2005||Feb 1, 2007||International Business Machines Corporation||System and method for restricting access to sensitive data|
|US20070067637 *||Mar 13, 2006||Mar 22, 2007||Protegrity, A Swedish Corporation||Method and a system for preventing impersonation of a database user|
|US20070083928 *||Sep 29, 2006||Apr 12, 2007||Ulf Mattsson||Data security and intrusion detection|
|US20070124276 *||Nov 10, 2006||May 31, 2007||Salesforce.Com, Inc.||Method of improving a query to a database system|
|US20070156375 *||May 11, 2006||Jul 5, 2007||Microsoft Corporation||Performance engineering and the application life cycle|
|US20070157311 *||Dec 29, 2005||Jul 5, 2007||Microsoft Corporation||Security modeling and the application life cycle|
|US20070174271 *||Feb 17, 2006||Jul 26, 2007||Ulf Mattsson||Database system with second preprocessor and method for accessing a database|
|US20070180240 *||Nov 21, 2006||Aug 2, 2007||Ulf Dahl||Data security system for a database|
|US20070198545 *||Feb 22, 2006||Aug 23, 2007||Fei Ge||Efficient processing of path related operations on data organized hierarchically in an RDBMS|
|US20070199050 *||Feb 14, 2006||Aug 23, 2007||Microsoft Corporation||Web application security frame|
|US20070204346 *||Feb 27, 2006||Aug 30, 2007||Microsoft Corporation||Server security schema|
|US20070208713 *||Feb 28, 2007||Sep 6, 2007||Oracle International Corporation||Auto Generation of Suggested Links in a Search System|
|US20070208714 *||Feb 28, 2007||Sep 6, 2007||Oracle International Corporation||Method for Suggesting Web Links and Alternate Terms for Matching Search Queries|
|US20070208734 *||Feb 28, 2007||Sep 6, 2007||Oracle International Corporation||Link Analysis for Enterprise Environment|
|US20070208744 *||Feb 28, 2007||Sep 6, 2007||Oracle International Corporation||Flexible Authentication Framework|
|US20070208745 *||Feb 28, 2007||Sep 6, 2007||Oracle International Corporation||Self-Service Sources for Secure Search|
|US20070208746 *||Feb 28, 2007||Sep 6, 2007||Oracle International Corporation||Secure Search Performance Improvement|
|US20070208755 *||Feb 28, 2007||Sep 6, 2007||Oracle International Corporation||Suggested Content with Attribute Parameterization|
|US20070209080 *||Feb 28, 2007||Sep 6, 2007||Oracle International Corporation||Search Hit URL Modification for Secure Application Integration|
|US20070214129 *||Feb 28, 2007||Sep 13, 2007||Oracle International Corporation||Flexible Authorization Model for Secure Search|
|US20070220268 *||Feb 28, 2007||Sep 20, 2007||Oracle International Corporation||Propagating User Identities In A Secure Federated Search System|
|US20070244898 *||May 10, 2007||Oct 18, 2007||International Business Machines Corporation||Row-level security in a relational database management system|
|US20070250486 *||Apr 18, 2007||Oct 25, 2007||Oracle International Corporation||Document date as a ranking factor for crawling|
|US20070283425 *||Feb 28, 2007||Dec 6, 2007||Oracle International Corporation||Minimum Lifespan Credentials for Crawling Data Repositories|
|US20080052291 *||Aug 22, 2006||Feb 28, 2008||Michael Bender||Database entitlement|
|US20080082540 *||Oct 2, 2007||Apr 3, 2008||Salesforce.Com, Inc.||Methods and systems for controlling access to custom objects in a database|
|US20080097954 *||Oct 20, 2006||Apr 24, 2008||Microsoft Corporation||Ranged lookups|
|US20080140620 *||Dec 8, 2006||Jun 12, 2008||Michael Bender||Method for altering database views dependent on rules|
|US20090006356 *||Jun 27, 2007||Jan 1, 2009||Oracle International Corporation||Changing ranking algorithms based on customer settings|
|US20090006359 *||Jun 28, 2007||Jan 1, 2009||Oracle International Corporation||Automatically finding acronyms and synonyms in a corpus|
|US20090024570 *||Jul 20, 2007||Jan 22, 2009||Oracle Internatonal Corporation||User defined query rewrite mechanism|
|US20090030907 *||Sep 30, 2008||Jan 29, 2009||International Business Machines Corporation||Row-level security in a relational database management system|
|US20090043775 *||Sep 30, 2008||Feb 12, 2009||International Business Machines Corporation||Row-level security in a relational database management system|
|US20090089591 *||Sep 27, 2007||Apr 2, 2009||Protegrity Corporation||Data security in a disconnected environment|
|US20100185611 *||Mar 31, 2010||Jul 22, 2010||Oracle International Corporation||Re-ranking search results from an enterprise system|
|US20100241641 *||Mar 20, 2009||Sep 23, 2010||Oracle International Corporation||View mechanism for data security, privacy and utilization|
|US20110004551 *||Jul 28, 2010||Jan 6, 2011||American Express Travel Related Services Company, Inc.||Consolidated payment account system and method|
|US20110093917 *||Jun 13, 2008||Apr 21, 2011||Byron A Alcorn||Hierarchical Policy Management|
|US20110106778 *||Nov 5, 2009||May 5, 2011||Oracle International Corporation||Lock manager on disk|
|US20110246788 *||Oct 6, 2011||Protegrity Corporation||Data security system for a database|
|US20130340043 *||Jun 13, 2012||Dec 19, 2013||Mehrdad (John) Zarei||Distribution of dynamic structured content|
|US20160119321 *||Oct 29, 2015||Apr 28, 2016||Oracle International Corporation||Flexible authentication framework|
|CN1794232B||Nov 22, 2005||Sep 29, 2010||微软公司||Method for establishing secured views for a database|
|EP0965929A2 *||Jun 15, 1999||Dec 22, 1999||Matsushita Electric Industrial Co., Ltd.||Image data management system and method thereof|
|EP0990972A1 *||Sep 17, 1999||Apr 5, 2000||Ncr International Inc.||System and method for managing data privacy in a database management system|
|EP0991005A2 *||Sep 24, 1999||Apr 5, 2000||Ncr International Inc.||Privacy-enhanced database|
|EP1089196A2 *||Aug 17, 2000||Apr 4, 2001||Ncr International Inc.||System and method for managing data privacy in a database management system including a dependently connected privacy data mart|
|EP1207443A3 *||Nov 8, 2001||Nov 22, 2006||Protegrity Research & Development||Encryption of databases based on a combination of hardware and software|
|EP1446737A2 *||Sep 26, 2002||Aug 18, 2004||Oracle International Corporation||An efficient index structure to access hierarchical data in a relational database system|
|EP1446737B1 *||Sep 26, 2002||Apr 27, 2016||Oracle International Corporation||An efficient index structure to access hierarchical data in a relational database system|
|EP1550038A2 *||Sep 25, 2003||Jul 6, 2005||International Business Machines Corporation||Intelligent use of user data to pre-emptively prevent execution of a query violating access controls|
|EP1675030A1 *||Dec 7, 2005||Jun 28, 2006||Microsoft Corporation||Secured views for a CRM database|
|WO2002029577A2 *||Oct 5, 2001||Apr 11, 2002||Oracle Corporation||Method and apparatus for automatic database encryption|
|WO2002029577A3 *||Oct 5, 2001||Sep 18, 2003||Oracle Corp||Method and apparatus for automatic database encryption|
|WO2002031686A1 *||May 11, 2001||Apr 18, 2002||Axon Information Technology Pty Ltd||A multi-user database for computer-based information|
|WO2006111515A1 *||Apr 14, 2006||Oct 26, 2006||Amadeus S.A.S.||A customer centric travel system|
|International Classification||G06F21/00, G06F1/00|
|Cooperative Classification||G06F21/00, G06F21/6227|
|European Classification||G06F21/62B1, G06F21/00|
|Nov 7, 1995||AS||Assignment|
Owner name: MCI COMMUNICATIONS CORPORATION, DISTRICT OF COLUMB
Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:THOMSON, ROBERT;GEIWITZ, ROGER;REEL/FRAME:007710/0160;SIGNING DATES FROM 19950926 TO 19951102
|Oct 12, 2001||FPAY||Fee payment|
Year of fee payment: 4
|Nov 30, 2005||REMI||Maintenance fee reminder mailed|
|Mar 31, 2006||FPAY||Fee payment|
Year of fee payment: 8
|Mar 31, 2006||SULP||Surcharge for late payment|
Year of fee payment: 7
|Nov 12, 2009||FPAY||Fee payment|
Year of fee payment: 12
|Sep 17, 2012||AS||Assignment|
Effective date: 20120917
Owner name: VERIZON PATENT AND LICENSING INC., NEW JERSEY
Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:MCI COMMUNICATIONS CORPORATION;REEL/FRAME:028969/0416
|Nov 28, 2012||AS||Assignment|
Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:VERIZON PATENT AND LICENSING INC.;REEL/FRAME:029368/0460
Owner name: TEKLA PEHR LLC, DELAWARE
Effective date: 20120918