US6711571B2

Partitioning ownership of a database among different database servers to control access to the database

Summary by NHIP

Database Ownership Partitioning

The system partitions a database into two data sets with distinct access permissions across multiple nodes. One set allows all nodes direct access, while a second set restricts direct access to a specific subset, forcing other nodes to send requests through authorized members.

Claim Score by NHIP

Read claim 1, the broadest

Abstract

A database or some portion thereof is partitioned into ownership groups. Each ownership group is assigned one or more database servers as owners of the ownership group. The database servers that are assigned as owners of an ownership group are treated as the owners of all data items that belong to the ownership group. That is, they are allowed to directly access the data items within the ownership group, while other database servers are not allowed to directly access those data items. Accordingly, a database system is provided which includes one or more persistent storage devices having a database stored thereon, and a plurality of database servers executing on a plurality of nodes. Each node has direct access to the persistent storage devices. At least a portion of the database is partitioned into a plurality of ownership groups. Each ownership group is assigned an owner set. Only processes that are executing on database servers that are members of the owner set of an ownership group are allowed to directly access data within the ownership group. Each ownership group is designated as either a shared nothing ownership group or a shared disk ownership group. Each shared nothing ownership group is assigned an owner from among the database servers. Only the owner of each shared nothing ownership group is allowed to directly access data within the shared nothing ownership group. Each of the database servers is allowed to directly access data within ownership groups that are designated as shared disk ownership groups.

US6711571B2, drawing sheet 1
Sheet 1 of 6

Term

Term ended

Expired 7 January 2020, 6.7 years ago.

  1. Priority
  2. Filed
  3. Granted
  4. Expired
  5. Today

144 claims: 9 independent, 135 dependent

  1. 1
    Broadest claimClaim Score 74, broad(NHIP)A system comprising:a plurality of nodes that have direct access to a database;the database including: a first set of data that each node of the plurality of nodes is allowed to directly access;and a second set of data that only a subset of the plurality of nodes is allowed to directly access;wherein nodes that do not belong to the subset are configured to send requests to nodes that belong to the subset when the nodes that do not belong to the subset are requested to perform operations that involve data within said second set of data.
  2. 11
    A database system including:a database;a plurality of database servers;wherein each database server of said plurality of database servers has direct access to said database;wherein at least a portion of said database is partitioned into a plurality of ownership groups;wherein at least one ownership group of said plurality of ownership groups is assigned an owner set;and wherein processes that are executing on database servers that are members of the owner set of an ownership group are allowed to directly access data within said ownership group.
  3. 43
    A system for transitioning ownership of a data item from a first owner set to a second owner set, the system comprising:a plurality of database servers;a database that includes the data item;a mechanism for managing access to the data item;wherein said plurality of database servers are informed that the data item is being transitioned from the first owner set to the second owner set;wherein the mechanism is configured to allow members of said first owner set and members of said second owner set to directly access said data item, after said plurality of database servers are informed;wherein data is stored that indicates that the second owner set is the exclusive owner of the data item;and wherein the mechanism is configured to allow only members of said second owner set to directly access the data item, after detecting that all transactions that are accessing said data item through said first owner set have either committed or aborted.
  4. 49
    A method for managing access to a database by a plurality of nodes having direct access to the database, the method comprising the steps of:partitioning at least a first portion of the database into a first set of data that each node of the plurality of nodes is allowed to directly access;and partitioning at least a second portion of the database into a second set of data that only a subset of the plurality of nodes is allowed to directly access;wherein nodes that do not belong to the subset are configured to send requests to nodes that belong to the subset when the nodes that do not belong to the subset are requested to perform operations that involve data within said second set of data.
  5. 59
    A method for managing access to a database that is directly accessible by a plurality of database servers, the method including the steps of:partitioning at least a portion of said database into a plurality of ownership groups;assigning an owner set to at least one ownership group of said plurality of ownership groups;and allowing processes executing in database servers that belong to the owner set of each ownership group to directly access data within each ownership group.
  6. 91
    A method for transitioning ownership of a data item from a first owner set to a second owner set, the method comprising the steps of:informing a plurality of database servers that the data item is being transitioned from the first owner set to the second owner set;after informing said plurality of database servers, allowing members of said first owner set and members of said second owner set to directly access said data item;detecting when all transactions that are accessing said data item through said first owner set have either committed or aborted;and after detecting when all transactions that are accessing said data item through said first owner set have either committed or aborted, performing the steps of: storing data that indicates that the second owner set is the exclusive owner of the data item;and allowing only members of said second owner set to directly access said data item.
  7. 97
    A computer-readable medium carrying one or more sequences of instructions for managing access to a database by a plurality of nodes having direct access to the database, 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:partitioning at least a first portion of the database into a first set of data that each node of the plurality of nodes is allowed to directly access;and partitioning at least a second portion of the database into a second set of data that only a subset of the plurality of nodes is allowed to directly access;wherein nodes that do not belong to the subset are configured to send requests to nodes that belong to the subset when the nodes that do not belong to the subset are requested to perform operations that involve data within said second set of data.
  8. 107
    A computer-readable medium carrying one or more sequences of instructions for managing access to a database that is directly accessible by a plurality of database servers, 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:partitioning at least a portion of said database into a plurality of ownership groups;assigning an owner set to at least one ownership group of said plurality of ownership groups;and allowing processes executing in database servers that belong to the owner set of each ownership group to directly access data within each ownership group.
  9. 139
    A computer-readable medium carrying one or more sequences of instructions for transitioning ownership of a data item from a first owner set to a second owner set, 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:informing a plurality of database servers that the data item is being transitioned from the first owner set to the second owner set;after informing said plurality of database servers, allowing members of said first owner set and members of said second owner set to directly access said data item;detecting when all transactions that are accessing said data item through said first owner set have either committed or aborted;and after detecting when all transactions that are accessing said data item through said first owner set have either committed or aborted, performing the steps of: storing data that indicates that the second owner set is the exclusive owner of the data item;and allowing only members of said second owner set to directly access said data item.