Patents by Inventor Amit Ganesh

Amit Ganesh 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: 9141609
    Abstract: In a database system having a plurality of concurrently executing session processes, the method commences by establishing a master list of sequences, the master list comprising a plurality of sequence objects which in turn define a sequence of values used for numbering and other identification within the database system. To reduce sequence cache latch access contention, multiple tiers of latches are provided. Methods of the system provide a first tier having a first tier “global” latch to serialize access to the master list. A second tier of latches is provided, the second tier having multiple second tier latches to serialize access to corresponding allocated sequences of values such that at any point in time, only one of the concurrently executing session processes is granted access to the allocated sequence.
    Type: Grant
    Filed: December 1, 2011
    Date of Patent: September 22, 2015
    Assignee: ORACLE INTERNATIONAL CORPORATION
    Inventors: Fulu Li, Vineet Marwah, Amit Ganesh
  • Patent number: 9128972
    Abstract: Techniques are provided for maintaining data persistently in one format, but making that data available to a database server in more than one format. For example, one of the formats in which the data is made available for query processing is based on the on-disk format, while another of the formats in which the data is made available for query processing is independent of the on-disk format. Data that is in the format that is independent of the disk format may be maintained exclusively in volatile memory to reduce the overhead associated with keeping the data in sync with the on-disk format copies of the data.
    Type: Grant
    Filed: July 21, 2014
    Date of Patent: September 8, 2015
    Assignee: ORACLE INTERNATIONAL CORPORATION
    Inventors: Vivekanandhan Raja, Sanket Hase, Amit Ganesh, Vineet Marwah, Shuang Su, Atrayee Mullick, Sukhada Pendse
  • Publication number: 20150149419
    Abstract: For automatic data placement of database data, a plurality of access-tracking data is maintained. The plurality of access-tracking data respectively corresponds to a plurality of data rows that are managed by a database server. While the database server is executing normally, it is automatically determined whether a data row, which is stored in first one or more data blocks, has been recently accessed based on the access-tracking data that corresponds to that data row. After determining that the data row has been recently accessed, the data row is automatically moved from the first one or more data blocks to one or more hot data blocks that are designated for storing those data rows, from the plurality of data rows, that have been recently accessed.
    Type: Application
    Filed: December 15, 2014
    Publication date: May 28, 2015
    Inventors: AMIT GANESH, VINEET MARWAH, VIKRAM KAPOOR
  • Publication number: 20150089125
    Abstract: Techniques are provided for performing parallel processing on in-memory objects within a database system. In one embodiment, a plurality of in-memory chunks are maintained on a plurality of non-uniform memory access (NUMA) nodes. In response to receiving a query, a set of clusters is determined for the plurality of in-memory chunks. Each respective cluster in the set of clusters corresponds to a particular NUMA node of the plurality of NUMA nodes and includes a set of one or more in-memory chunks from the plurality of in-memory chunks. For each respective cluster in the set of clusters, a query coordinator assigns, to the respective cluster, a set of one or more processes associated with the particular NUMA node that corresponds to the respective cluster.
    Type: Application
    Filed: July 21, 2014
    Publication date: March 26, 2015
    Inventors: NILOY MUKHERJEE, AMIT GANESH, VINEET MARWAH
  • Publication number: 20150088824
    Abstract: Techniques are provided for granular load and refresh of columnar data. In an embodiment, a particular data object that contains particular data formatted different from column-major format is maintained, the particular data including first data and second data. First and second data objects contain the first and second data, respectively, organized in the column-major format. In response to changes being committed to the first data in the particular data object, invalidating one or more rows of the first data object. In response to a number of invalidated rows of the first data object exceeding a threshold, automatically performing a refresh operation on the first data object independent of any refresh operation on the second data object.
    Type: Application
    Filed: July 21, 2014
    Publication date: March 26, 2015
    Inventors: Jesse Kamp, Vineet Marwah, Amit Ganesh, Michael Gleeson, Maheswaran Venkatachalam, Allison Holloway, Niloy Mukherjee, Sanket Hase
  • Publication number: 20150089134
    Abstract: Techniques are provided for managing in-memory space and objects. In one embodiment, a set of in-memory objects are maintained within an area in volatile memory that is accessible to a database server. An in-memory object in this context includes a set of one or more in-memory segments where each respective in-memory segment includes a set of in-memory extents and each respective in-memory extent is a contiguous chunk of memory from the area in volatile memory that is accessible to the database server. The area in volatile memory is managed as a set of stripes, where each stripe is a contiguous chunk of in-memory extents. Stripe control blocks are used to locate free in-memory extents for allocation and registration with an in-memory segment.
    Type: Application
    Filed: July 21, 2014
    Publication date: March 26, 2015
    Inventors: NILOY MUKHERJEE, AMIT GANESH, VINEET MARWAH, JESSE KAMP
  • Publication number: 20150088811
    Abstract: Techniques are provided for maintaining data persistently in one format, but making that data available to a database server in more than one format. For example, one of the formats in which the data is made available for query processing is based on the on-disk format, while another of the formats in which the data is made available for query processing is independent of the on-disk format. Data that is in the format that is independent of the disk format may be maintained exclusively in volatile memory to reduce the overhead associated with keeping the data in sync with the on-disk format copies of the data.
    Type: Application
    Filed: July 21, 2014
    Publication date: March 26, 2015
    Inventors: Sanket Hase, Vivekanandhan Raja, Amit Ganesh, Vineet Marwah, Sukhada Pendse, Shuang Su, Atrayee Mullick
  • Publication number: 20150088822
    Abstract: Techniques are provided for maintaining data persistently in one format, but making that data available to a database server in more than one format. For example, one of the formats in which the data is made available for query processing is based on the on-disk format, while another of the formats in which the data is made available for query processing is independent of the on-disk format. Data that is in the format that is independent of the disk format may be maintained exclusively in volatile memory to reduce the overhead associated with keeping the data in sync with the on-disk format copies of the data.
    Type: Application
    Filed: July 21, 2014
    Publication date: March 26, 2015
    Inventors: Vivekanandhan Raja, Sanket Hase, Amit Ganesh, Vineet Marwah, Shuang Su, Atrayee Mullick, Sukhada Pendse
  • Publication number: 20150088830
    Abstract: Techniques are provided for maintaining data persistently in one format, but making that data available to a database server in more than one format. For example, one of the formats in which the data is made available for query processing is based on the on-disk format, while another of the formats in which the data is made available for query processing is independent of the on-disk format. Data that is in the format that is independent of the disk format may be maintained exclusively in volatile memory to reduce the overhead associated with keeping the data in sync with the on-disk format copies of the data.
    Type: Application
    Filed: July 21, 2014
    Publication date: March 26, 2015
    Inventors: Jesse Kamp, Amit Ganesh, Vineet Marwah, Vivekanandhan Raja, Tirthankar Lahiri, Allison L. Holloway, Sanket Hase, Shasank K. Chavan, Niloy Mukherjee, Teck Hua Lee, Michael J. Gleeson, Krishna Kunchithapadam
  • Patent number: 8977597
    Abstract: Techniques for maintaining a cascading index are provided. In one approach, one or more branch node compression techniques are applied to the main index of a cascading index. In an approach, a Bloom filter is generated and associated with, e.g., a branch node in the main index. The Bloom filter is used to determine whether, without accessing any leaf blocks, a particular key value exists, e.g., in leaf blocks associated with the branch node. In an approach, a new redo record is generated in response to a merge operation between two levels of the cascading index. The new redo record comprises (a) one or more addresses of blocks that are affected by the merge operation, (b) data is that being “pushed down” to a lower level of the cascading index, and (c) one or more addresses of blocks that are written to storage as a result of the merge operation.
    Type: Grant
    Filed: November 6, 2013
    Date of Patent: March 10, 2015
    Assignee: Oracle International Corporation
    Inventors: Amit Ganesh, Juan R. Loaiza, Krishna Kunchithapadam
  • Patent number: 8959057
    Abstract: For automatic data placement of database data, a plurality of access-tracking data is maintained. The plurality of access-tracking data respectively corresponds to a plurality of data rows that are managed by a database server. While the database server is executing normally, it is automatically determined whether a data row, which is stored in first one or more data blocks, has been recently accessed based on the access-tracking data that corresponds to that data row. After determining that the data row has been recently accessed, the data row is automatically moved from the first one or more data blocks to one or more hot data blocks that are designated for storing those data rows, from the plurality of data rows, that have been recently accessed.
    Type: Grant
    Filed: May 18, 2012
    Date of Patent: February 17, 2015
    Assignee: Oracle International Corporation
    Inventors: Amit Ganesh, Vineet Marwah, Vikram Kapoor
  • Publication number: 20150032763
    Abstract: A method and apparatus is provided for optimizing queries received by a database system that relies on an intelligent data storage server to manage storage for the database system. Storing compression units in hybrid columnar format, the storage manager evaluates simple predicates and only returns data blocks containing rows that satisfy those predicates. The returned data blocks are not necessarily stored persistently on disk. That is, the storage manager is not limited to returning disc block images. The hybrid columnar format enables optimizations that provide better performance when processing typical database workloads including both fetching rows by identifier and performing table scans.
    Type: Application
    Filed: September 8, 2014
    Publication date: January 29, 2015
    Inventors: VINEET MARWAH, VIKRAM KAPOOR, JESSE KAMP, KAM SHERGILL, ROGER MACNICOL, SACHIN KULKARNI, AMIT GANESH
  • Patent number: 8943029
    Abstract: A computer is programmed to compress data of a database in response to database modification language (DML) statements generated by on-line transaction processing (OLTP) systems. In several embodiments, data that is initially added to a database block is left uncompressed until a predetermined condition is satisfied, which happens infrequently (relative to OLTP transactions on the block). When satisfied, the computer automatically compresses all uncompressed data in the block, which increases the amount of unused space in the block. New data is thereafter added uncompressed to the partially compressed block, until satisfaction of a predetermined condition whereby the partially compressed block is again compressed, i.e. re-compressed. Adding of new data to a partially compressed block and its compression are repeated unless another predetermined condition is met, in response to which the block is not further re-compressed, thereby to recognize a limit on the benefit from compression.
    Type: Grant
    Filed: February 9, 2013
    Date of Patent: January 27, 2015
    Assignee: Oracle International Corporation
    Inventors: Vineet Marwah, Valentin G. Stredie, Dheeraj Pandey, Amit Ganesh
  • Patent number: 8935223
    Abstract: A highly flexible and extensible structure is provided for physically storing tabular data. The structure, referred to as a compression unit, may be used to store tabular data that logically resides in any type of table-like structure. According to one embodiment, compression units are recursive. Thus, a compression unit may have a “parent” compression unit to which it belongs, and may have one or more “child” compression units that belong to it. In one embodiment, compression units include metadata that indicates how the tabular data is stored within them. The metadata for a compression unit may indicate, for example, whether the data is stored in row-major or column major-format, the order of the columns within the compression unit (which may differ from the logical order of the columns dictated by the definition of their logical container), a compression technique for the compression unit, the child compression units (if any), etc.
    Type: Grant
    Filed: November 12, 2009
    Date of Patent: January 13, 2015
    Assignee: Oracle International Corporation
    Inventors: Amit Ganesh, Vikram Kapoor, Vineet Marwah, Kam Shergill, Roger MacNicol, Sachin Kulkarni, Jesse Kamp
  • Patent number: 8856083
    Abstract: A bulk delete operation with reduced latency allows for retrieval of deleted data. Each database object holds a Delete SCN indicating when a bulk delete operation was last performed. Each row in the database object holds a Row Modification SCN indicating when the row was last updated. A bulk delete is performed by writing the old value of the Delete SCN to the undo tablespace and updating the Delete SCN. No undo information is stored for the rows. A write is performed by finding a deleted row, storing undo information for the deleted row and writing over the deleted row. To read from the database object, a rollback operation is performed, if necessary. Those rows are then retrieved for which the Row Modification SCN is higher than the Delete SCN and is less than or equal to the timestamp for the requested data.
    Type: Grant
    Filed: June 9, 2006
    Date of Patent: October 7, 2014
    Assignee: Oracle International Corporation
    Inventors: Amit Ganesh, Niloy Mukherjee, Manosiz Bhattacharyya, Bipul Sinha
  • Publication number: 20140279849
    Abstract: A method, apparatus, and system for hierarchical organization of tablespace free space metadata in a database are provided. The hierarchy is divided into at least two levels: level 1 or L1 bitmap blocks are stored as a shared data structure and map free space in a tablespace, whereas level 2 or L2 bitmap blocks are stored as separate local copies at each database instance and map to the L1 bitmap blocks. This hierarchical organization provides a mechanism for finer grained concurrency control, enabling highly parallel tablespace metadata processing to accommodate the performance requirements of large tablespaces with big data sets. By integrating the hierarchical organization as part of the tablespace stack layer in a database management system (DBMS), implementations can be provided transparently to database end users without demanding any additional administrative, maintenance, or development burdens.
    Type: Application
    Filed: March 14, 2013
    Publication date: September 18, 2014
    Applicant: ORACLE INTERNATIONAL CORPORATION
    Inventors: Wei Zhang, Sujatha Muthulingam, Amit Ganesh
  • Publication number: 20140279959
    Abstract: A data block stores one or more rows of a database table or relation. An entire row may not fit in a data block. Part of the row is stored in one data block, and another part is stored in another data block. Each row part is referred to herein as a row segment and the data blocks are referred to as row-segmented data blocks. Data block dictionary compression is used to compress row-segmented data blocks. Each data block contains a dictionary that is used to compress rows in the data block, including row segments. The dictionary in a data block is used to compress row segments in the data block. Hence, multiple dictionaries may be used to decompress a row comprised of row segments.
    Type: Application
    Filed: March 12, 2013
    Publication date: September 18, 2014
    Inventors: Vineet Marwah, Ajit Mylavarapu, Amit Ganesh
  • Publication number: 20140280249
    Abstract: In an approach, the database server generates a request for data representing rows of a table, the request identifying one or more data blocks stored on a storage system. The database server then generates metadata describing one or more filtering conditions to be applied to the rows and sends the metadata along with the request to the storage system. The storage system, when applying filtering conditions to a column containing a LOB, determines whether the LOB is stored in-line or out-of-line. If the column contains an out-of-line LOB, the storage system skips the filtering conditions on the column. If the column contains an in-line LOB, the storage system applies the filtering conditions to the column. Upon obtaining the filtered data from the storage system, the database server retrieves the data blocks for out-of-line LOBs and applies the skipped filtering conditions to create a final result set.
    Type: Application
    Filed: March 14, 2013
    Publication date: September 18, 2014
    Applicant: ORACLE INTERNATIONAL CORPORATION
    Inventors: Vineet Marwah, Amit Ganesh, Teck Hua Lee, Hui Joe Chang
  • Publication number: 20140279960
    Abstract: Row locking is performed at the row level of granularity for database data stored in columnar form. Row level locking entails use of a lock vector that is stored in a compression unit in a data block, the compression unit storing rows in columnar-major format. On an as needed basis, the lock vector is expanded to identify more transactions affecting the rows in the compression unit.
    Type: Application
    Filed: March 12, 2013
    Publication date: September 18, 2014
    Applicant: ORACLE INTERNATIONAL CORPORATION
    Inventors: Vineet Marwah, Teck Hua Lee, Amit Ganesh
  • Patent number: 8832142
    Abstract: A method and apparatus is provided for optimizing queries received by a database system that relies on an intelligent data storage server to manage storage for the database system. Storing compression units in hybrid columnar format, the storage manager evaluates simple predicates and only returns data blocks containing rows that satisfy those predicates. The returned data blocks are not necessarily stored persistently on disk. That is, the storage manager is not limited to returning disc block images. The hybrid columnar format enables optimizations that provide better performance when processing typical database workloads including both fetching rows by identifier and performing table scans.
    Type: Grant
    Filed: August 30, 2010
    Date of Patent: September 9, 2014
    Assignee: Oracle International Corporation
    Inventors: Vineet Marwah, Vikram Kapoor, Jesse Kamp, Kam Shergill, Roger Macnicol, Sachin Kulkami, Amit Ganesh