Patent EP0250627A1 successfully refreshed from Google Patents.
Patent EP0560179B1 successfully refreshed from Google Patents.
Patent US6587854B1 successfully refreshed from Google Patents.
← Back to Patent Explorer
US6587854B1 Expired / Lapsed US ⏱️ 0.0 years remaining

Virtually partitioning user data in a database system

Assignee: Oracle International Corp
•
Filing: 2001-05-31
•
Granted: 2003-07-01
•
Expires: 2021-05-31
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A method and apparatus are provided for storing data of multiple enterprises in a set of database objects in a database system and allowing multiple enterprises to interact with the database system as if those database objects contained only their data. According to an aspect of the present invention, a database command issued against a database object by a user is modified by adding predicates that limit access to data associated with the enterprise in which the user has data access. The predicates may specify conditions based on a column in the database object that identifies the enterprise. When a user issues a database command to add data to the database object, the column is populated in a manner transparent to the user. The data in the database object that is associated with a particular enterprise is stored in a separate tablespace.

Inventors

  • 👤 Christine Pae Guthrie
  • 👤 Jesper Andersen
  • 👤 Chon Hei Lei
  • 👤 Douglas James McMahon

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-08 22:01
CPC Classifications
G; G06; G06F; G06F21/00; G06F21/60; G06F21/62; G06F21/6218; G06F21/6227; G06F16/00; G06F16/20; G06F16/24; G06F16/245; G06F16/2453; G06F16/24534; G06F16/24547; G06F16/2457; G06F16/24575; G06F2221/00; G06F2221/21; G06F2221/2141; Y; Y10; Y10S; Y10S707/00; Y10S707/99931; Y10S707/99939

Claims Analysis

Total Claims: 34
Claim 1
Independent Claim 113 words
A method for managing enterprise access to data, the method comprising the steps of: detecting that a database command is issued by a user against a database object containing records for a plurality of users that includes said user; before executing the database command against the database object, creating a modified database command based on the database command and issued against the same database object by selectively adding zero or more predicates to said database command that specify one or more criteria that is: satisfied by records containing data for said user, and not satisfied by records containing data for other users of said plurality of users; and executing said modified database command.
Claim 2
Independent Claim 113 words
A method for managing enterprise access to data, the method comprising the steps of: detecting that a database command is issued by a user against a database object containing records for a plurality of users that includes said user; before executing the database command against the database object, creating a modified database command based on the database command and issued against the same database object by selectively adding zero or more predicates to said database command that specify one or more criteria that is: satisfied by records containing data for said user, and not satisfied by records containing data for other users of said plurality of users; and executing said modified database command.
Claim 3
Dependent Claim 43 words
The method of claim 1 , wherein said database object includes a column that contains values, wherein each value of said values identifies a particular user from said plurality of users; and wherein said one or more criteria is based on said column.
Claim 4
Dependent Claim 17 words
The method of claim 2 , wherein said zero or more predicates are based on said column.
Claim 5
Dependent Claim 39 words
The method of claim 1 , wherein the method further includes the step of storing a subset of the records which contain data for each user of said plurality of users in a partition contained in a separate tablespace.
Claim 6
Dependent Claim 50 words
The method of claim 4 , wherein the method further includes the steps of: receiving queries that request to store the records in the database object, and determining which partition to store a particular record of said records based on the identity of each user of said plurality of users.
Claim 7
Dependent Claim 27 words
The method of claim 1 , wherein prior to executing said modified database command, performing one or more query optimization operations based on said modified database command.
Claim 8
Dependent Claim 27 words
The method of claim 1 , wherein records containing data for each user of said users are stored in a separate tablespace of a plurality of tablespaces.
Claim 9
Dependent Claim 47 words
The method of claim 1 , further including the steps of detecting that a second database command is issued by said user against another database object; and determining, independently of the identity of the user, which records in said other database object satisfy said second database command.
Claim 10
Dependent Claim 52 words
The method of claim 1 , wherein the user is associated with a session for which a plurality of context attributes has been established; and wherein predicates to add to said database command are based at least in part on current values of one or more of said plurality of context attributes.
Claim 11
Dependent Claim 36 words
The method of claim 1 , further including the steps of invoking a policy function associated with said database object; and said policy function generating the zero or more predicates to add to said database command.
Claim 12
Dependent Claim 55 words
The method of claim 10 , wherein: the user is associated with a session for which a plurality of context attributes has been established; and the policy function determines which predicates to add to said database command based at least in part on current values of one or more of said plurality of context attributes.
Claim 13
Independent Claim 128 words
A method for managing access to data stored in a database system, the method comprising the steps of: adding a column to a database object containing records for users; transparent to said users, storing a value in the column for each row in the database object to indicate a user associated with the data in said each row, wherein said users do not expressly specify storing the value in the column for each row in the database object, and said value is generated according to metadata indicating how to generate values for said column; and satisfying queries issued by a particular user against said database object by providing data only from those rows in the database object that contain a value in the column identifying the particular user.
Claim 14
Independent Claim 128 words
A method for managing access to data stored in a database system, the method comprising the steps of: adding a column to a database object containing records for users; transparent to said users, storing a value in the column for each row in the database object to indicate a user associated with the data in said each row, wherein said users do not expressly specify storing the value in the column for each row in the database object, and said value is generated according to metadata indicating how to generate values for said column; and satisfying queries issued by a particular user against said database object by providing data only from those rows in the database object that contain a value in the column identifying the particular user.
Claim 15
Dependent Claim 36 words
The method of claim 12 , wherein the step of storing a value in each row includes said database system storing a default value generated according to metadata indicating how to generate values for said column.
Claim 16
Dependent Claim 52 words
The method of claim 12 , wherein the user is associated with a session for which a plurality of context attributes has been established; and the method further includes the step of generating the value based on one or more context attributes that have been established for the session for the user.
Claim 17
Dependent Claim 27 words
The method of claim 12 , wherein records containing data for each user of said users are stored in a separate tablespace of a plurality of tablespaces.
Claim 18
Dependent Claim 140 words
A computer-readable medium carrying one or more sequences of instructions for managing user access to data, wherein execution of the one or more sequences of instructions by one or more processors causes the one or more processors to perform the steps of: detecting that a database command is issued by a user against a database object containing records for a plurality of users that includes said user; before executing the database command against the database, creating a modified database command based on the database command and issued against the same database object by selectively adding zero or more predicates to said database command that specify one or more criteria that is: satisfied by record containing data for said user, and not satisfied by records containing data for other users of said plurality of users; and executing said modified database command.
Claim 19
Dependent Claim 140 words
A computer-readable medium carrying one or more sequences of instructions for managing user access to data, wherein execution of the one or more sequences of instructions by one or more processors causes the one or more processors to perform the steps of: detecting that a database command is issued by a user against a database object containing records for a plurality of users that includes said user; before executing the database command against the database, creating a modified database command based on the database command and issued against the same database object by selectively adding zero or more predicates to said database command that specify one or more criteria that is: satisfied by record containing data for said user, and not satisfied by records containing data for other users of said plurality of users; and executing said modified database command.
Claim 20
Dependent Claim 44 words
The computer-readable medium of claim 16 , wherein said database object includes a column that contains values, wherein each value of said values identifies a particular user from said plurality of users; and wherein said one or more criteria is based on said column.
Claim 21
Dependent Claim 18 words
The computer-readable medium of claim 17 , wherein said zero or more predicates are based on said column.
Claim 22
Dependent Claim 40 words
The computer-readable medium of claim 16 , wherein the steps further include the step of storing a subset of the records which contain data for each user of said plurality of users in a partition contained in a separate tablespace.
Claim 23
Dependent Claim 51 words
The computer-readable medium of claim 19 , wherein the steps further include the steps of: receiving queries that request to store the records in the database object, and determining which partition to store a particular record of said records based on the identity of each user of said plurality of users.
Claim 24
Dependent Claim 32 words
The computer-readable medium of claim 16 , wherein the steps further include performing one or more query optimization operations based on said modified database command prior to executing said modified database command.
Claim 25
Dependent Claim 28 words
The computer-readable medium of claim 16 , wherein records containing data for each user of said users are stored in a separate tablespace of a plurality of tablespaces.
Claim 26
Dependent Claim 51 words
The computer-readable medium of claim 16 , wherein the steps further include the steps of detecting that a second database command is issued by said user against another database object; and determining, independently of the identity of the user, which records in said other database object satisfy said second database command.
Claim 27
Dependent Claim 53 words
The computer-readable medium of claim 16 , wherein the user is associated with a session for which a plurality of context attributes has been established; and wherein predicates to add to said database command are based at least in part on current values of one or more of said plurality of context attributes.
Claim 28
Dependent Claim 37 words
The computer-readable medium of claim 16 , further including the steps of invoking a policy function associated with said database object; and said policy function generating the zero or more predicates to add to said database command.
Claim 29
Dependent Claim 56 words
The computer-readable medium of claim 25 , wherein: the user is associated with a session for which a plurality of context attributes has been established; and the policy function determines which predicates to add to said database command based at least in part on current values of one or more of said plurality of context attributes.
Claim 30
Dependent Claim 130 words
A computer-readable medium for managing access to data stored in a database system, the computer-readable medium comprising the steps of: adding a column to a database object containing records for users; transparent to said users, storing a value in the column for each row in the database object to indicate a user associated with the data in said each row, wherein said users do not expressly specify storing the value in the column for each row in the database object, and said value is generated according to metadata indicating how to generate values for said column; and satisfying queries issued by a particular user against said database object by providing data only from those rows in the database object that contain a value in the column identifying the particular user.
Claim 31
Dependent Claim 130 words
A computer-readable medium for managing access to data stored in a database system, the computer-readable medium comprising the steps of: adding a column to a database object containing records for users; transparent to said users, storing a value in the column for each row in the database object to indicate a user associated with the data in said each row, wherein said users do not expressly specify storing the value in the column for each row in the database object, and said value is generated according to metadata indicating how to generate values for said column; and satisfying queries issued by a particular user against said database object by providing data only from those rows in the database object that contain a value in the column identifying the particular user.
Claim 32
Dependent Claim 37 words
The computer-readable medium of claim 27 , wherein the step of storing a value in each row includes said database system storing a default value generated according to metadata indicating how to generate values for said column.
Claim 33
Dependent Claim 53 words
The computer-readable medium of claim 27 , wherein the user is associated with a session for which a plurality of context attributes has been established; and the steps further include the step of generating the value based on one or more context attributes that have been established for the session for the user.
Claim 34
Dependent Claim 28 words
The computer-readable medium of claim 27 , wherein records containing data for each user of said users are stored in a separate tablespace of a plurality of tablespaces.

References Cited (Backward Citations)

US5265221A Cited
US5276901A Cited
US5428778A Cited
US5787428A Cited
US6134549A Cited
US5751949A Cited
US5940818A Cited
US6275824B1 Cited
US6363387B1 Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2006-06-30 2006-12-30 2007-07-01 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2010-06-30 2010-12-30 2011-07-01 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2014-06-30 2014-12-30 2015-07-01 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag