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: 20170249376
    Abstract: Techniques are described for characterizing and summarizing seasonal patterns detected within a time series. According to an embodiment, a set of time series data is analyzed to identify a plurality of instances of a season, where each instance corresponds to a respective sub-period within the season. A first set of instances from the plurality of instances are associated with a particular class of seasonal pattern. After classifying the first set of instances, a second set of instances may remain unclassified or otherwise may not be associated with the particular class of seasonal pattern. Based on the first and second set of instances, a summary may be generated that identifies one or more stretches of time that are associated with the particular class of seasonal pattern. The one or more stretches of time may span at least one sub-period corresponding to at least one instance in the second set of instances.
    Type: Application
    Filed: February 29, 2016
    Publication date: August 31, 2017
    Inventors: Dustin Garvey, Uri Shaft, Lik Wong, Amit Ganesh
  • Patent number: 9715414
    Abstract: A method, apparatus, and system for a multi-instance database scan server is provided to process data scan operations for segments within in-memory stores, such as in-memory columnar (IMC) stores. The scan server uses a client/server based model, wherein each database instance in the database management system (“DBMS”) is associated with a client-side scan server and a server-side scan server. The client-side scan server can reside in the data and/or index layer of the DBMS, receiving requests for scan operations on in-memory segments. After receiving a data scan request from an IMC client, the client-side scan server can create several independently executable scanning tasks to process the request. The scanning tasks are each assigned to a particular server-side scan server for processing based on one or more factors, which may include a load balancing component. Additional factors to be considered may include instance affinity and/or NUMA (Non-Uniform Memory Access) affinity.
    Type: Grant
    Filed: October 23, 2015
    Date of Patent: July 25, 2017
    Assignee: Oracle International Corporation
    Inventors: Sujatha Muthulingam, Amit Ganesh, Vineet Marwah
  • Patent number: 9697221
    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: Grant
    Filed: July 21, 2014
    Date of Patent: July 4, 2017
    Assignee: Oracle International Corporation
    Inventors: Anindya Patthak, Victor Chen, Shasank Kisan Chavan, Jesse Kamp, Amit Ganesh, Vineet Marwah
  • Patent number: 9697174
    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: July 4, 2017
    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: 9684682
    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: Grant
    Filed: October 23, 2015
    Date of Patent: June 20, 2017
    Assignee: Oracle International Corporation
    Inventors: Niloy Mukherjee, Amit Ganesh, Vineet Marwah
  • Patent number: 9645928
    Abstract: Techniques are described herein for maintaining a directory map that contains a data chunk-to-server mapping. Directory maps, maintained within the volatile memory of each server node in the set of multiple server nodes, include a node hierarchy represented as a tree structure in which each node represents a range of an on-disk address range. Each child node, within the node hierarchy, represents a sub-range of the on-disk address range represented by the parent node of the child node. Once a data chunk is loaded into volatile memory of a particular server, mapping information relating the particular on-disk starting address of the data chunk loaded into volatile memory and the pointer address to the location in volatile memory is loaded into one or more node in the directory map.
    Type: Grant
    Filed: August 7, 2015
    Date of Patent: May 9, 2017
    Assignee: Oracle International Corporation
    Inventors: Niloy Mukherjee, Amit Ganesh, Vineet Marwah
  • Patent number: 9646053
    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: Grant
    Filed: March 12, 2013
    Date of Patent: May 9, 2017
    Assignee: Oracle International Corporation
    Inventors: Vineet Marwah, Ajit Mylavarapu, Amit Ganesh
  • Patent number: 9639468
    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: Grant
    Filed: October 4, 2014
    Date of Patent: May 2, 2017
    Assignee: Oracle International Corporation
    Inventors: Vivekanandhan Raja, Sanket Hase, Amit Ganesh, Vineet Marwah
  • Publication number: 20170116269
    Abstract: Techniques are provided for storing in in-memory unit (IMU) in a lower-storage tier and copying the IMU to DRAM when needed for query processing. Techniques are also provided for copying IMUs to lower tiers of storage when evicted from the cache of higher tiers of storage. Techniques are provided for implementing functionality of IMUs within a storage system, to enable database servers to push tasks, such as filtering, to the storage system where the storage system may access IMUs within its own memory to perform the tasks. Metadata associated with a set of data may be used to indicate whether an IMU for the data should be created by the database server machine or within the storage system.
    Type: Application
    Filed: October 21, 2016
    Publication date: April 27, 2017
    Inventors: Roger D. Macnicol, Viral Shah, Xia Hua, Jesse Kamp, Shasank K. Chavan, Maria Colgan, Tirthankar Lahiri, Adrian Tsz Him Ng, Krishnan Meiyyappan, Amit Ganesh, Juan R. Loaiza, Kothanda Umamageswaran, Yiran Qin
  • Publication number: 20170116232
    Abstract: A method, apparatus, and system for periodic performance optimization through heatmap based management of an in-memory area are provided. A heatmap is maintained to track database accesses, and a sliding most recent time window of the heatmap is externalized to a desired granularity level to provide access statistics regarding candidate elements to be possibly placed in the in-memory area. Initially and on a periodic basis, an appropriate knapsack algorithm is chosen based on an analysis on the computational costs versus the benefits of applying various knapsack algorithms for the candidate elements. Using the chosen algorithm in conjunction with a selected performance model, an optimized configuration of the in-memory area is determined. The optimized configuration indicates a set of elements chosen from the candidate elements, optionally specified with compression levels.
    Type: Application
    Filed: October 23, 2015
    Publication date: April 27, 2017
    Inventors: Vineet Marwah, Amit Ganesh, Hariharan Lakshmanan, Prashant Gaharwar, Dhruvil Shah
  • Publication number: 20170116043
    Abstract: A method, apparatus, and system for a multi-instance database scan server is provided to process data scan operations for segments within in-memory stores, such as in-memory columnar (IMC) stores. The scan server uses a client/server based model, wherein each database instance in the DBMS is associated with a client-side scan server and a server-side scan server. The client-side scan server can reside in the data and/or index layer of the DBMS, receiving requests for scan operations on in-memory segments. After receiving a data scan request from an IMC client, the client-side scan server can create several independently executable scanning tasks to process the request. The scanning tasks are each assigned to a particular server-side scan server for processing based on one or more factors, which may include a load balancing component. Additional factors to be considered may include instance affinity and/or NUMA (Non-Uniform Memory Access) affinity.
    Type: Application
    Filed: October 23, 2015
    Publication date: April 27, 2017
    Inventors: Sujatha Muthulingam, Amit Ganesh, Vineet Marwah
  • Patent number: 9606921
    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: Grant
    Filed: July 21, 2014
    Date of Patent: March 28, 2017
    Assignee: Oracle International Corporation
    Inventors: Jesse Kamp, Vineet Marwah, Amit Ganesh, Michael Gleeson, Maheswaran Venkatachalam, Allison Holloway, Niloy Mukherjee, Sanket Hase
  • Publication number: 20170060772
    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. Selection of data to be maintained in the volatile memory may be based on various factors. Once selected the data may also be compressed to save space in the volatile memory. The compression level may depend on one or more factors that are evaluated for the selected data.
    Type: Application
    Filed: August 31, 2015
    Publication date: March 2, 2017
    Inventors: CHINMAYI KRISHNAPPA, VINEET MARWAH, AMIT GANESH
  • Patent number: 9576012
    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: Grant
    Filed: March 14, 2013
    Date of Patent: February 21, 2017
    Assignee: Oracle International Corporation
    Inventors: Wei Zhang, Sujatha Muthulingam, Amit Ganesh
  • Publication number: 20170039137
    Abstract: Techniques are described herein for maintaining a directory map that contains a data chunk-to-server mapping. Directory maps, maintained within the volatile memory of each server node in the set of multiple server nodes, include a node hierarchy represented as a tree structure in which each node represents a range of an on-disk address range. Each child node, within the node hierarchy, represents a sub-range of the on-disk address range represented by the parent node of the child node. Once a data chunk is loaded into volatile memory of a particular server, mapping information relating the particular on-disk starting address of the data chunk loaded into volatile memory and the pointer address to the location in volatile memory is loaded into one or more node in the directory map.
    Type: Application
    Filed: August 7, 2015
    Publication date: February 9, 2017
    Inventors: Niloy Mukherjee, Amit Ganesh, Vineet Marwah
  • Publication number: 20170031975
    Abstract: Techniques are described for materializing pre-computed results of expressions. In an embodiment, a set of one or more column units are stored in volatile or non-volatile memory. Each column unit corresponds to a column that belongs to an on-disk table within a database managed by a database server instance and includes data items from the corresponding column. A set of one or more virtual column units, and data that associates the set of one or more column units with the set of one or more virtual column units, are also stored in memory. The set of one or more virtual column units includes a particular virtual column unit storing results that are derived by evaluating an expression on at least one column of the on-disk table.
    Type: Application
    Filed: May 4, 2016
    Publication date: February 2, 2017
    Inventors: Aurosish Mishra, Shasank K. Chavan, Allison L. Holloway, Jesse Kamp, Ramesh Kumar, Zhen Hua Liu, Niloy Mukherjee, Amit Ganesh, Tirthankar Lahiri, Vineet Marwah
  • Publication number: 20170031976
    Abstract: Techniques are described for materializing computations in memory. In an embodiment, responsive to a database server instance receiving a query, the database server instance identifies a set of computations for evaluation during execution of the query. Responsive to identifying the set of computations, the database server instance evaluates at least one computation in the set of computations to obtain a first set of computation results for a first computation in the set of computations. After evaluating the at least one computation, the database server instance stores, within an in-memory unit, the first set of computation results. The database server also stores mapping data that maps a set of metadata values associated with the first computation to the first set of computation results.
    Type: Application
    Filed: May 4, 2016
    Publication date: February 2, 2017
    Inventors: Shasank K. Chavan, Aurosish Mishra, Amit Ganesh
  • Patent number: 9559720
    Abstract: Techniques are described herein for automatically selecting the compression techniques to be used on tabular data. A compression analyzer gives users high-level control over the selection process without requiring the user to know details about the specific compression techniques that are available to the compression analyzer. Users are able to specify, for a given set of data, a “balance point” along the spectrum between “maximum performance” and “maximum compression”. The point thus selected is used by the compression analyzer in a variety of ways. For example, in one embodiment, the compression analyzer uses the user-specified balance point to determine which of the available compression techniques qualify as “candidate techniques” for the given set of data. The compression analyzer selects the compression technique to use on a set of data by actually testing the candidate compression techniques against samples from the set of data.
    Type: Grant
    Filed: September 28, 2012
    Date of Patent: January 31, 2017
    Assignee: Oracle International Corporation
    Inventors: Vineet Marwah, Vikram Kapoor, Amit Ganesh, Jesse Kemp, Sachin Kulkarni, Roger Macnicol, Kam Shergill, Manosiz Bhattacharyya
  • Publication number: 20160371314
    Abstract: A method, non-transitory computer readable media, 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 blocks are stored as a shared data structure and map free space in a tablespace, whereas level 2 or L2 blocks are stored as separate local copies at each database instance and map to the L1 bitmap blocks. The L2 blocks each indicate, for each L1 block of a respective subset of a plurality of L1 blocks, a maximum size of a largest extent that can be allocated.
    Type: Application
    Filed: August 29, 2016
    Publication date: December 22, 2016
    Inventors: Wei Zhang, Sujatha Muthulingam, Amit Ganesh
  • Publication number: 20160350363
    Abstract: Techniques are herein described for loading a portion of a database object into volatile memory without blocking database manipulation language transactions. The techniques involve invalidating data items loaded from blocks affected by a transaction, referred to as a straddling transaction that started before the load time and committed after the load time. Identifying these straddling transactions involves reviewing one or more transaction lists associated with the set of data items loaded in memory. The transaction list may be read in reverse temporal order of commit to identify a transaction meeting the criteria of starting before the load start, not committing before the load time, and affecting a data item loaded in memory.
    Type: Application
    Filed: December 29, 2015
    Publication date: December 1, 2016
    Inventors: Vivekanandhan Raja, Atrayee Mullick, Sanket Hase, Sukhada Pendse, Amit Ganesh, Vineet Marwah, Neil MacNaughton