Patents by Inventor Shrikanth Shankar

Shrikanth Shankar has filed for patents to protect the following inventions. This listing includes patent applications that are pending as well as patents that have already been granted by the United States Patent and Trademark Office (USPTO).

  • Patent number: 7774379
    Abstract: The concept of portioning is expanded with a variety of techniques. In particular, one technique involves partitioning an object at multiple levels, where at least one of the levels uses list-based partitioning. Further, a partitioning technique is provided which involves storing a data item in a default partition when the item does not map to any one of the list-based partitions for which a key value group has been defined. Techniques are also provided for efficiently splitting a partition.
    Type: Grant
    Filed: October 12, 2007
    Date of Patent: August 10, 2010
    Assignee: Oracle International Corporation
    Inventors: Subhransu Basu, Ananth Raghavan, Shrikanth Shankar, Vikram Shukla
  • Patent number: 7765246
    Abstract: The concept of portioning is expanded with a variety of techniques. In particular, one technique involves partitioning an object at multiple levels, where at least one of the levels uses list-based partitioning. Further, a partitioning technique is provided which involves storing a data item in a default partition when the item does not map to any one of the list-based partitions for which a key value group has been defined. Techniques are also provided for efficiently splitting a partition.
    Type: Grant
    Filed: October 12, 2007
    Date of Patent: July 27, 2010
    Assignee: Oracle International Corporation
    Inventors: Subhransu Basu, Ananth Raghavan, Shrikanth Shankar, Vikram Shukla
  • Patent number: 7698310
    Abstract: A system, method, computer program and article of manufacture for sharing metadata among cursors is provided. A metadata object marked as a versioned object can have multiple versions. Program units can share these versions of object metadata as opposed to copying the non-versioned object metadata into their memory. These program units may contain a pointer to an object's metadata but are otherwise void of the metadata information for the object. A locking protocol for the metadata ensures concurrency control and triggers dependency tracking. A locking protocol for the cursors controls cursor dependency status.
    Type: Grant
    Filed: May 13, 2005
    Date of Patent: April 13, 2010
    Assignee: Oracle International Corporation
    Inventors: Subhransu Basu, Russell John Green, Shrikanth Shankar
  • Patent number: 7644106
    Abstract: Techniques for avoiding lock contention when processing data definition language (DDL) statements are provided. Some DDL statements modify metadata of a table and then require access to the table. After such a DDL statement modifies the metadata of a table and the updated metadata is made available (i.e., published) to other database statements, execution of the DDL statement is suspended. Data manipulation language (DML) statements acquire locks on the table. In one approach, the locks, of any DML statement, that are granted after the DDL statement is issued are timestamped. The DDL statement uses the timestamps to determine when to access the table. The timestamps are used to determine when the last DML statement (that was pending at the time the modified metadata was published) commits and releases its lock on the table.
    Type: Grant
    Filed: July 30, 2007
    Date of Patent: January 5, 2010
    Assignee: Oracle International Corporation
    Inventors: Shrikanth Shankar, Ramesh Kumar, Amirali S. Valiani, Vasudha Krishnaswamy, Ananth Raghavan, Juan R. Loaiza
  • Publication number: 20090100089
    Abstract: Systems, methodologies, media, and other embodiments associated with supporting reference partitioned tables in a relational database are described. One example method includes identifying a partitioning strategy (e.g., range, list, hash) associated with a parent table that is related to a child table by a referential constraint. The example method may also include creating the child table to be a reference-partitioned table partitioned according to the partitioning strategy associated with the parent table. The example method may also include creating the child table to be equi-partitioned with respect to the parent table. The child table is not to replicate a partition key of the parent table but rather is to inherit a partitioning key associated with the parent table through a foreign key relationship.
    Type: Application
    Filed: October 11, 2007
    Publication date: April 16, 2009
    Applicant: ORACLE INTERNATIONAL CORPORATION
    Inventors: George Eadon, Eugene Inseok Chong, Shrikanth Shankar, Ananth Raghavan, Jagannathan Srinivasan, Souriprlya Das
  • Publication number: 20090037417
    Abstract: Techniques for avoiding lock contention when processing data definition language (DDL) statements are provided. Some DDL statements modify metadata of a table and then require access to the table. After such a DDL statement modifies the metadata of a table and the updated metadata is made available (i.e., published) to other database statements, execution of the DDL statement is suspended. Data manipulation language (DML) statements acquire locks on the table. In one approach, the locks, of any DML statement, that are granted after the DDL statement is issued are timestamped. The DDL statement uses the timestamps to determine when to access the table. The timestamps are used to determine when the last DML statement (that was pending at the time the modified metadata was published) commits and releases its lock on the table.
    Type: Application
    Filed: July 30, 2007
    Publication date: February 5, 2009
    Applicant: ORACLE INTERNATIONAL CORPORATION
    Inventors: Shrikanth Shankar, Ramesh Kumar, Amirali S. Valiani, Vasudha Krishnaswamy, Ananth Raghavan, Juan R. Loaiza
  • Publication number: 20090037416
    Abstract: Techniques for a data definition language (DDL) statement acquiring a lock on a table in wait mode in a deadlock free manner are provided. A DDL statement specifies metadata of a table that is to be modified, whereas a data manipulation language (DML) statement specifies a table to be modified. When a DDL statement is received, a proxy statement is initiated and executed instead of first acquiring an exclusive lock on metadata of a particular table. The proxy statement is similar to a DML statement in that the proxy statement acquires a lock on the particular table. After the proxy statement has been processed, an exclusive lock on the metadata is acquired.
    Type: Application
    Filed: July 30, 2007
    Publication date: February 5, 2009
    Applicant: ORACLE INTERNATIONAL CORPORATION
    Inventors: Ananth Raghavan, Shrikanth Shankar, Ramesh Kumar
  • Publication number: 20090037366
    Abstract: Techniques are provided for processing a CREATE INDEX statement that avoids one or more locks on the underlying table. The processing of such a statement may be divided into a build phase and a cooperation phase. During the build phase, a journal table is created and published. A snapshot of the table is obtained after the last DML transaction (that was pending at the time the journal table was published) commits. The index is built based on the state of the table as of the snapshot. Any changes to the table while the index is built are recorded in the journal table. During the cooperation phase, the index is partially published. A subsequent DML statement determines whether any changes in the journal table affect the same data as the subsequent DML statement. If so, then those changes are applied to the index followed by the subsequent DML statement.
    Type: Application
    Filed: July 30, 2007
    Publication date: February 5, 2009
    Applicant: ORACLE INTERNATIONAL CORPORATION
    Inventors: Shrikanth Shankar, Ramesh Kumar, Krishna Kunchithapadam, Ananth Raghavan, Dheeraj Pandey, Amit Ganesh, Joy M. Forsythe
  • Publication number: 20080313133
    Abstract: A method and apparatus for referencing a partition of a data storage space in a request to perform an operation with relation to the partition are disclosed. The techniques disclosed do not rely on knowing the partition's name, thus simplifying the process of requesting a database to perform an operation on a partition when that partition's name is unknown. Data such as a DDL statement is received. The data indicates a value in a FOR clause in lieu of the partition name. The data also indicates an operation to be performed with respect to a particular partition of the partitioned space. The particular partition is not named in the received data. Based on the value, it is determined that the particular partition is a first partition. The operation is performed with respect to the first partition.
    Type: Application
    Filed: June 15, 2007
    Publication date: December 18, 2008
    Inventors: Shrikanth Shankar, Ananth Raghavan, Badhri G. Varanasi
  • Publication number: 20080313246
    Abstract: A method and apparatus for managing data in a partitioned data storage space is provided. Data referencing a new data item to be stored in the data storage space is received. It is determined that the data item does not pertain to any previously created partition. In response to the determination, a new partition is automatically created in the data storage space. The partition is mapped to a new set of values, such as to a next unpartitioned interval of dates or numbers.
    Type: Application
    Filed: June 15, 2007
    Publication date: December 18, 2008
    Inventors: Shrikanth Shankar, Ananth Raghavan, Badhri G. Varanasi
  • Publication number: 20080313209
    Abstract: A method and apparatus for the on-demand allocation of segments and creation of metadata for previously-created data storage spaces and partitions are provided. A space is created in a database. As part of this creation process, no segment is allocated for the space. Rather, metadata describing the space sufficiently to allocate the segment in the future is created and maintained by the database. Data is received indicating a new item. Based on the metadata, it is determined that the new item pertains to the space. In response to the determination, a segment is allocated for the space. Additional metadata necessary for normal database operations in relation to the space and newly-allocated segment may also be created at this time. The new item can then be stored in the space.
    Type: Application
    Filed: June 15, 2007
    Publication date: December 18, 2008
    Inventors: Shrikanth Shankar, Ananth Raghavan, Badhri G. Varanasi
  • Publication number: 20080313623
    Abstract: A method and apparatus for changing versioned metadata without invalidating cursors is provided. Cursors may be linked to the appropriate version of metadata at execution time as opposed to compilation time, meaning that they do not require recompilation to link to a new version of metadata. A database system maintains compiled code implementing a plan with respect to data items in a data storage space. The compiled code may have been generated in response to receiving a request to perform an operation that may be implemented using the plan. A version of metadata is also maintained. The metadata describes characteristics of the data storage space implicated by the plan. The compiled code is executed. The step of execution comprises binding the compiled code to the version of metadata. A proxy object referenced in the compiled code may facilitate the binding of the compiled code to the appropriate version of metadata.
    Type: Application
    Filed: June 15, 2007
    Publication date: December 18, 2008
    Inventors: William H. Waddington, Shrikanth Shankar
  • Publication number: 20080281845
    Abstract: When altering records in a repository of information to add an attribute that has a non-NULL default value and a corresponding constraint to the records, no update record is issued and instead, the existing records are essentially treated as having a NULL value for the attribute being added. To compute a query over the records to which the attribute has been added, a value is generated for rows that hold NULL values for the attribute in which the value in which the NULL values held therein are translated to the default value.
    Type: Application
    Filed: May 9, 2007
    Publication date: November 13, 2008
    Inventor: Shrikanth Shankar
  • Patent number: 7447679
    Abstract: One embodiment of the present invention provides a system that optimizes the execution of a database query involving a target partitioned-database-object. During system operation, the database receives a query. If the query has a predicate that includes a partition-mapping function that uses the partitioning schema of a partitioned database-object and a list of columns from one or more tables to express a mapping of the list of column values to the partitions of the partitioned database-object, the system determines the compatibility of the partitioning schemas of the target partitioned-database-object and the partitioned database-object. Next, if the partitioning schemas are compatible, and if the list of columns is compatible with the partitioning keys of the target partitioned-database-object and the partitioned database-object, the system attempts to identify a subset of partitions in the target partitioned-database-object that satisfy the predicate.
    Type: Grant
    Filed: May 28, 2004
    Date of Patent: November 4, 2008
    Assignee: Oracle International Corporation
    Inventors: Shrikanth Shankar, Vikram Shukla
  • Publication number: 20080098046
    Abstract: A database may facilitate zero-downtime upgrades by concurrently maintaining multiple editions of database objects for use by both pre-upgrade and post-upgrade clients of a database application. Operations performed within the database are associated with an edition based on, for example, an initiating client or transaction. When an operation references an object or data, the database automatically performs the operation using the object or data associated with the edition with which the operation is itself associated. The database may determine the associated edition without explicit identification of the associated edition in a query or in code. Thus, no client or stored procedure code changes are necessary to reflect a new edition added during an update. Data changes in one edition may be automatically and immediately propagated to the other edition through the use of cross-edition triggers, thereby allowing both pre-upgrade and post-upgrade clients to remain fully functional throughout an upgrade.
    Type: Application
    Filed: October 19, 2007
    Publication date: April 24, 2008
    Applicant: ORACLE INTERNATIONAL CORPORATION
    Inventors: David M. Alpern, Alan Choi, Chandrasekharan Iyer, Jaebock Lee, Kumar Rajamani, Shrikanth Shankar, Guhan Viswanathan, William Waddington, Philip Yam
  • Patent number: 7340452
    Abstract: A cursor that is generated from an original database statement includes a master plan that is shared among the various participants involved in the parallel execution of the operations specified in the original statement. For participants that cannot share the same cursor, such as slave processes on remote servers, a remote cursor is generated. Signatures are generated for both the master plan and the remote plans, and compared to ensure that the remote plans are equivalent to the master plans. Various parameters and statistics are provided to remote servers to increase the likelihood that the remote plans will be equivalent to the master plan.
    Type: Grant
    Filed: July 27, 2004
    Date of Patent: March 4, 2008
    Assignee: Oracle International Corporation
    Inventors: Bhaskar Ghosh, Thierry Cruanes, Benoit Dageville, Shrikanth Shankar
  • Publication number: 20080046454
    Abstract: The concept of portioning is expanded with a variety of techniques. In particular, one technique involves partitioning an object at multiple levels, where at least one of the levels uses list-based partitioning. Further, a partitioning technique is provided which involves storing a data item in a default partition when the item does not map to any one of the list-based partitions for which a key value group has been defined. Techniques are also provided for efficiently splitting a partition.
    Type: Application
    Filed: October 12, 2007
    Publication date: February 21, 2008
    Applicant: Oracle International Corporation
    Inventors: Subhransu Basu, Ananth Raghavan, Shrikanth Shankar, Vikram Shukla
  • Publication number: 20080034181
    Abstract: The concept of portioning is expanded with a variety of techniques. In particular, one technique involves partitioning an object at multiple levels, where at least one of the levels uses list-based partitioning. Further, a partitioning technique is provided which involves storing a data item in a default partition when the item does not map to any one of the list-based partitions for which a key value group has been defined. Techniques are also provided for efficiently splitting a partition.
    Type: Application
    Filed: October 12, 2007
    Publication date: February 7, 2008
    Applicant: ORACLE INTERNATIONAL CORPORATION
    Inventors: Subhransu Basu, Ananth Raghavan, Shrikanth Shankar, Vikram Shukla
  • Patent number: 7299239
    Abstract: The concept of partitioning is expanded with a variety of techniques. In particular, one technique involves partitioning an object at multiple levels, where at least one of the levels uses list-based partitioning. Further, a partitioning technique is provided which involves storing a data item in a default partition when the item does not map to any one of the list-based partitions for which a key value group has been defined. Techniques are also provided for efficiently splitting a partition.
    Type: Grant
    Filed: December 2, 2002
    Date of Patent: November 20, 2007
    Assignee: Oracle International Corporation
    Inventors: Subhransu Basu, Ananth Raghavan, Shrikanth Shankar, Vikram Shukla
  • Publication number: 20060253429
    Abstract: Techniques are described for performing partition pruning in situations where previous database servers could not. Specifically, techniques are provided for (1) performing partition pruning based on predicates that involve non-prefix subsets of composite partitioning keys, (2) performing partition pruning when a global index access path is used to execute a query, and (3) performing partition pruning when predicates on partitioning columns are OR-ed together. More generally, techniques are described for partition pruning based on a non-contiguous set of not-pruned partitions.
    Type: Application
    Filed: May 4, 2005
    Publication date: November 9, 2006
    Inventors: Ananth Raghavan, Shrikanth Shankar