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).

  • Publication number: 20160350352
    Abstract: Techniques are described for maintaining coherency of a portion of a database object populated in the volatile memories of multiple nodes in a database cluster. The techniques involve maintaining a local invalidation bitmap for chunks of data stored in memory in each particular node in the cluster by tracking locks granted by a lock manager. During a pre-loading operation, each given node requests a set of shared locks associated with the chunks of data to be store in the given node's memory. When a request to release one of these shared locks occurs, the in-memory copy of those data items may be invalidated in the node releasing its shared lock.
    Type: Application
    Filed: December 29, 2015
    Publication date: December 1, 2016
    Inventors: SANKET HASE, NEIL MACNAUGHTON, VIVEKANANDHAN RAJA, ATRAYEE MULLICK, VINEET MARWAH, AMIT GANESH
  • Patent number: 9483517
    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: August 5, 2015
    Date of Patent: November 1, 2016
    Assignee: Oracle International Corporation
    Inventors: Vivekanandhan Raja, Sanket Hase, Amit Ganesh, Vineet Marwah, Shuang Su, Atrayee Mullick, Sukhada Pendse
  • Patent number: 9465823
    Abstract: Disclosed are methods, systems, and computer program products for processing a file which include using a computer system that is programmed for performing a process of receiving the file in response to a request for storing the file, determining whether a database already contains the file, and storing the file in the database if the database does not already contain the file. The process may alternatively include receiving the file in response to a request for storing the file, determining whether a database already contains the file, and storing the file without storing the received file if the database already contains the file. The process may also alternatively include receiving the file in response to a request for storing the file in a database, separating the file into a plurality of portions, and storing the plurality of portions so each of the plurality of portions can be individually accessed.
    Type: Grant
    Filed: October 19, 2006
    Date of Patent: October 11, 2016
    Assignee: ORACLE INTERNATIONAL CORPORATION
    Inventors: Kam Shergill, Bharath Aleti, Dheerai Pandey, Sujatha Muthulingam, Amit Ganesh
  • Patent number: 9430390
    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: Grant
    Filed: July 21, 2014
    Date of Patent: August 30, 2016
    Assignee: Oracle International Corporation
    Inventors: Niloy Mukherjee, Amit Ganesh, Vineet Marwah, Jesse Kamp
  • Patent number: 9400812
    Abstract: Disclosed is a mechanism, system, interface, and process to determine one or more life intervals when given a key. In addition, one or more life intervals can be determined for each key within a range of keys. This type of process is useful for auditing purposes or if it is desire to implement a query upon past versions when a key or range of keys is specified for the data for which past versions is desired. This facilitates algorithms, mechanisms, and processes to implement a query upon past versions.
    Type: Grant
    Filed: August 12, 2011
    Date of Patent: July 26, 2016
    Assignee: ORACLE INTERNATIONAL CORPORATION
    Inventors: Bipul Sinha, Vivekanandhan Raja, Amit Ganesh
  • Patent number: 9378232
    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: Grant
    Filed: July 21, 2014
    Date of Patent: June 28, 2016
    Assignee: Oracle International Corporation
    Inventors: Niloy Mukherjee, Amit Ganesh, Vineet Marwah
  • Publication number: 20160140206
    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: January 25, 2016
    Publication date: May 19, 2016
    Inventors: Sanket Hase, Vivekanandhan Raja, Amit Ganesh, Vineet Marwah, Sukhada Pendse, Shuang Su, Atrayee Mullick
  • Patent number: 9342314
    Abstract: A method and apparatus for efficiently processing data in various formats in a single instruction multiple data (“SIMD”) architecture is presented. Specifically, a method to unpack a fixed-width bit values in a bit stream to a fixed width byte stream in a SIMD architecture is presented. A method to unpack variable-length byte packed values in a byte stream in a SIMD architecture is presented. A method to decompress a run length encoded compressed bit-vector in a SIMD architecture is presented. A method to return the offset of each bit set to one in a bit-vector in a SIMD architecture is presented. A method to fetch bits from a bit-vector at specified offsets relative to a base in a SIMD architecture is presented. A method to compare values stored in two SIMD registers is presented.
    Type: Grant
    Filed: September 10, 2013
    Date of Patent: May 17, 2016
    Assignee: Oracle International Corporation
    Inventors: Amit Ganesh, Shasank K. Chavan, Vineet Marwah, Jesse Kamp, Anindya C. Patthak, Michael J. Gleeson, Allison L. Holloway, Roger Macnicol
  • Patent number: 9323799
    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: April 26, 2016
    Assignee: Oracle International Corporation
    Inventors: Sanket Hase, Vivekanandhan Raja, Amit Ganesh, Vineet Marwah, Sukhada Pendse, Shuang Su, Atrayee Mullick
  • Publication number: 20160098347
    Abstract: Techniques are provided for using bitmaps to indicate which items, in a set of items, are invalid. The bitmaps include an “active” bitmap and one or more “temporal clones”. The active bitmap indicates which items in the set are currently valid. The temporal clones are outdated versions of the active bitmap that indicate which items in the set were invalid at previously points in time. Temporal clones may not be very different from each other. Therefore, temporal clones may be efficiently compressed. For example, a bitmap may be selected as a “base bitmap”, and one or more other bitmaps are encoded using delta encoding. Run length encoding may then be applied to further compress the bitmap information. These bitmaps may then be used to determine which items are valid relative to past-version requests.
    Type: Application
    Filed: October 4, 2014
    Publication date: April 7, 2016
    Inventors: Vivekanandhan Raja, Sanket Hase, Amit Ganesh, Vineet Marwah
  • Publication number: 20160085781
    Abstract: Techniques are provided for more efficiently using the bandwidth of the I/O path between a CPU and volatile memory during the performance of database operation. Relational data from a relational table is stored in volatile memory as column vectors, where each column vector contains values for a particular column of the table. A binary-comparable format may be used to represent each value within a column vector, regardless of the data type associated with the column. The column vectors may be compressed and/or encoded while in volatile memory, and decompressed/decoded on-the-fly within the CPU. Alternatively, the CPU may be designed to perform operations directly on the compressed and/or encoded column vector data. In addition, techniques are described that enable the CPU to perform vector processing operations on the column vector values.
    Type: Application
    Filed: December 1, 2015
    Publication date: March 24, 2016
    Inventors: Lawrence J. Ellison, Amit Ganesh, Vineet Marwah, Jesse Kamp, Anindya C. Patthak, Shasank K. Chavan, Michael J. Gleeson, Allison L. Holloway, Manosiz Bhattacharyya
  • Patent number: 9292564
    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: March 22, 2016
    Assignee: Oracle International Corporation
    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
  • Publication number: 20160070726
    Abstract: Techniques are provided for automatic verification of query results obtained from data formatted different from row-major format. Techniques are also provided for automatic triage of query results obtained from data formatted different from row-major format. In an embodiment, the query results may be obtained from querying data formatted in column-major format. In an embodiment, when the query results are determined to be incorrect, a cause of the error in the query results can be automatically identified.
    Type: Application
    Filed: November 6, 2015
    Publication date: March 10, 2016
    Inventors: ROGER MACNICOL, Amit GANESH, TECK HUA LEE, VINEET MARWAH, AUROSISH MISHRA
  • Publication number: 20160041906
    Abstract: Techniques are provided for sharding objects across different compute nodes. In one embodiment, a database server instance generates, for an object, a plurality of in-memory chunks including a first in-memory chunk and a second in-memory chunk, where each in-memory chunk includes a different portion of the object. The database server instance assigns each in-memory chunk to one of a plurality of computer nodes including the first in-memory chunk to a first compute node and a second in-memory chunk to a second local memory of a second compute node. The database server instance stores an in-memory map that indicates a memory location for each in-memory chunk. The in-memory map indicates that the first in-memory chunk is located in the first local memory of the first compute node and that the second in-memory chunk is located in the second local memory of the second compute node.
    Type: Application
    Filed: October 23, 2015
    Publication date: February 11, 2016
    Inventors: Niloy Mukherjee, Amit Ganesh, Vineet Marwah
  • Publication number: 20160034214
    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: October 13, 2015
    Publication date: February 4, 2016
    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: 9201944
    Abstract: Techniques are provided for more efficiently using the bandwidth of the I/O path between a CPU and volatile memory during the performance of database operation. Relational data from a relational table is stored in volatile memory as column vectors, where each column vector contains values for a particular column of the table. A binary-comparable format may be used to represent each value within a column vector, regardless of the data type associated with the column. The column vectors may be compressed and/or encoded while in volatile memory, and decompressed/decoded on-the-fly within the CPU. Alternatively, the CPU may be designed to perform operations directly on the compressed and/or encoded column vector data. In addition, techniques are described that enable the CPU to perform vector processing operations on the column vector values.
    Type: Grant
    Filed: June 12, 2013
    Date of Patent: December 1, 2015
    Assignee: ORACLE INTERNATIONAL CORPORATION
    Inventors: Lawrence J. Ellison, Amit Ganesh, Vineet Marwah, Jesse Kamp, Anindya C. Patthak, Shasank K. Chavan, Michael J. Gleeson, Allison L. Holloway, Manosiz Bhattacharyya
  • Publication number: 20150339343
    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: August 5, 2015
    Publication date: November 26, 2015
    Inventors: Vivekanandhan Raja, Sanket Hase, Amit Ganesh, Vineet Marwah, Shuang Su, Atrayee Mullick, Sukhada Pendse
  • Patent number: 9165016
    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: December 15, 2014
    Date of Patent: October 20, 2015
    Assignee: ORACLE INTERNATIONAL CORPORATION
    Inventors: Amit Ganesh, Vineet Marwah, Vikram Kapoor
  • Publication number: 20150277917
    Abstract: Techniques are described herein for storing and processing codes included in dictionary-encoded data. In an embodiment, for each respective code of a plurality of codes in the dictionary-encoded data: a plurality of bits from a first portion of the respective code is contiguously stored. One or more bits from a second portion of the respective code is stored in one or more slices. Each respective slice of the one or more slices stores a bit from the one or more bits with a corresponding bit position in the respective code. In another embodiment, a bit-vector is generated based on at least one slice by loading each respective bit of the plurality of bits into different respective partitions in a register at a bit position corresponding to the at least one slice.
    Type: Application
    Filed: April 1, 2014
    Publication date: October 1, 2015
    Inventors: Shasank Kisan Chavan, Phumpong Watanaprakornkul, Amit Ganesh, Vineet Marwah
  • Publication number: 20150269180
    Abstract: A method, apparatus, and system for OZIP, a data compression and decompression codec, is provided. OZIP utilizes a fixed size static dictionary, which may be generated from a random sampling of input data to be compressed. Compression by direct token encoding to the static dictionary streamlines the encoding and avoids expensive conditional branching, facilitating hardware implementation and high parallelism. By bounding token definition sizes and static dictionary sizes to hardware architecture constraints such as word size or processor cache size, hardware implementation can be made fast and cost effective. For example, decompression may be accelerated by using SIMD instruction processor extensions. A highly granular block mapping in optional stored metadata allows compressed data to be accessed quickly at random, bypassing the processing overhead of dynamic dictionaries. Thus, OZIP can support low latency random data access for highly random workloads, such as for OLTP systems.
    Type: Application
    Filed: July 21, 2014
    Publication date: September 24, 2015
    Inventors: VICTOR CHEN, ANINDYA PATTHAK, SHASANK KISAN CHAVAN, JESSE KAMP, VINEET MARWAH, AMIT GANESH