Patents by Inventor Prashant Gaharwar

Prashant Gaharwar 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: 11556505
    Abstract: A method, apparatus, and system for policy driven data placement and information lifecycle management in a database management system are provided. A user or database application can specify declarative policies that define the movement and transformation of stored database objects. The policies are associated with a database object and may also be inherited. A policy defines, for a database object, an archiving action to be taken, a scope, and a condition before the archiving action is triggered. Archiving actions may include compression, data movement, table clustering, and other actions to place the database object into an appropriate storage tier for a lifecycle phase of the database object. Conditions based on access statistics can be specified at the row level and may use segment or block level heatmaps. Policy evaluation occurs periodically in the background, with actions queued as tasks for a task scheduler.
    Type: Grant
    Filed: January 26, 2021
    Date of Patent: January 17, 2023
    Assignee: Oracle International Corporation
    Inventors: Vineet Marwah, Hariharan Lakshmanan, Ajit Mylavarapu, Prashant Gaharwar, Amit Ganesh
  • Patent number: 11354252
    Abstract: Techniques related to automatic cache management are disclosed. In some embodiments, one or more non-transitory storage media store instructions which, when executed by one or more computing devices, cause performance of an automatic cache management method when a determination is made to store a first set of data in a cache. The method involves determining whether an amount of available space in the cache is less than a predetermined threshold. When the amount of available space in the cache is less than the predetermined threshold, a determination is made as to whether a second set of data has a lower ranking than the first set of data by at least a predetermined amount. When the second set of data has a lower ranking than the first set of data by at least the predetermined amount, the second set of data is evicted. Thereafter, the first set of data is cached.
    Type: Grant
    Filed: September 27, 2018
    Date of Patent: June 7, 2022
    Assignee: Oracle International Corporation
    Inventors: Hariharan Lakshmanan, Dhruvil Shah, Prashant Gaharwar, Shasank K. Chavan, Tirthankar Lahiri, Saraswathy Narayan
  • Patent number: 11294816
    Abstract: Techniques are described herein for reducing the number of redundant evaluations that occur when an expression is evaluated against an encoded column vector by caching results of expression evaluations. When executing a query that includes an expression that references columns for which dictionary-encoded column vectors exist, the database server performs a cost-based analysis to determine which expressions (or sub-expressions) would benefit from caching the expression's evaluation result. For each such expression, the database server performs the necessary computations and caches the results for each of the possible distinct input values. When evaluating an expression for a row with a particular set of input codes, a look-up is performed based on the input code combination to retrieve the pre-computed results of that evaluation from the cache.
    Type: Grant
    Filed: January 3, 2017
    Date of Patent: April 5, 2022
    Assignee: Oracle International Corporation
    Inventors: Shasank K. Chavan, Dina Thomas, Ajit Mylavarapu, Prashant Gaharwar, Dennis Lui, Sheldon A. K. Lewis
  • Publication number: 20210149847
    Abstract: A method, apparatus, and system for policy driven data placement and information lifecycle management in a database management system are provided. A user or database application can specify declarative policies that define the movement and transformation of stored database objects. The policies are associated with a database object and may also be inherited. A policy defines, for a database object, an archiving action to be taken, a scope, and a condition before the archiving action is triggered. Archiving actions may include compression, data movement, table clustering, and other actions to place the database object into an appropriate storage tier for a lifecycle phase of the database object. Conditions based on access statistics can be specified at the row level and may use segment or block level heatmaps. Policy evaluation occurs periodically in the background, with actions queued as tasks for a task scheduler.
    Type: Application
    Filed: January 26, 2021
    Publication date: May 20, 2021
    Inventors: Vineet Marwah, Hariharan Lakshmanan, Ajit Mylavarapu, Prashant Gaharwar, Amit Ganesh
  • Patent number: 10949403
    Abstract: A method, apparatus, and system for policy driven data placement and information lifecycle management in a database management system are provided. A user or database application can specify declarative policies that define the movement and transformation of stored database objects. The policies are associated with a database object and may also be inherited. A policy defines, for a database object, an archiving action to be taken, a scope, and a condition before the archiving action is triggered. Archiving actions may include compression, data movement, table clustering, and other actions to place the database object into an appropriate storage tier for a lifecycle phase of the database object. Conditions based on access statistics can be specified at the row level and may use segment or block level heatmaps. Policy evaluation occurs periodically in the background, with actions queued as tasks for a task scheduler.
    Type: Grant
    Filed: March 14, 2013
    Date of Patent: March 16, 2021
    Assignee: ORACLE INTERNATIONAL CORPORATION
    Inventors: Vineet Marwah, Hariharan Lakshmanan, Ajit Mylavarapu, Prashant Gaharwar, Amit Ganesh
  • Patent number: 10838933
    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: Grant
    Filed: October 23, 2015
    Date of Patent: November 17, 2020
    Assignee: Oracle International Corporation
    Inventors: Vineet Marwah, Amit Ganesh, Hariharan Lakshmanan, Prashant Gaharwar, Dhruvil Shah
  • Patent number: 10726016
    Abstract: Techniques are described herein for sharing a dictionary across multiple in-memory compression units (IMCUs). After a dictionary is used to encode a first column vector in a first IMCU, the same dictionary is used to encode a second column vector in a second IMCU. The entries in the dictionary are in sort order to facilitate binary searching when performing value-to-code look-ups. If, during the encoding of the second column vector, values are encountered for which the dictionary does not already have codes, then a “sort-order-boundary” is established after the last entry in the dictionary, and entries for the newly encountered values are added to the dictionary, after the sort-order-boundary. To facilitate value-to-code look-ups, the new entries are also sorted relative to each other, creating a second “sort order set”. A new version of the dictionary may be created when the number of sort order sets in the first version of the dictionary reaches a configurable threshold.
    Type: Grant
    Filed: October 14, 2016
    Date of Patent: July 28, 2020
    Assignee: Oracle International Corporation
    Inventors: Shasank K. Chavan, Prashant Gaharwar, Ajit Mylavarapu, Dina Thomas, Dennis Lui, Sheldon A. K. Lewis, Roger D. Macnicol
  • Patent number: 10678791
    Abstract: Techniques are described for encoding join columns that belong to the same domain with a common dictionary. The tables are encoded with dictionary indexes that make the comparison operation of a join query a quick equality check of two integers and there is no need to compute any hashes during execution. Additionally, the techniques described herein minimize the bloom filter creation and evaluation cost as well because the dictionary indexes serve as hash values into the bloom filter. If the bloom filter is as large as the range of dictionary indexes, then the filter is no longer a probabilistic structure and can be used to filter rows in the probe phase with full certainty without any significant overhead.
    Type: Grant
    Filed: May 22, 2017
    Date of Patent: June 9, 2020
    Assignee: Oracle International Corporation
    Inventors: Shasank K. Chavan, Dina Thomas, Ajit Mylavarapu, Prashant Gaharwar, Tirthankar Lahiri, Jesse Kamp
  • Patent number: 10318493
    Abstract: A method, apparatus, and system for custom policy driven data placement and information lifecycle management in a database management system are provided. A user or database application can specify declarative custom policies that define the movement and transformation of stored database objects. A custom policy defines, for a database object, a custom function to evaluate on an associated database object to determine whether an archiving action is triggered. Archiving actions may include compression, data movement, table clustering, and other actions to place the database object into an appropriate storage tier for a lifecycle phase of the database object. The custom function is defined by the database user, and can flexibly include any customized business logic using data sources internal and external to the database, including database access statistics such as segment level or block level heatmaps.
    Type: Grant
    Filed: March 14, 2013
    Date of Patent: June 11, 2019
    Assignee: Oracle International Corporation
    Inventors: Vineet Marwah, Hariharan Lakshmanan, Ajit Mylavarapu, Prashant Gaharwar, Amit Ganesh
  • Publication number: 20190095346
    Abstract: Techniques related to automatic cache management are disclosed. In some embodiments, one or more non-transitory storage media store instructions which, when executed by one or more computing devices, cause performance of an automatic cache management method when a determination is made to store a first set of data in a cache. The method involves determining whether an amount of available space in the cache is less than a predetermined threshold. When the amount of available space in the cache is less than the predetermined threshold, a determination is made as to whether a second set of data has a lower ranking than the first set of data by at least a predetermined amount. When the second set of data has a lower ranking than the first set of data by at least the predetermined amount, the second set of data is evicted. Thereafter, the first set of data is cached.
    Type: Application
    Filed: September 27, 2018
    Publication date: March 28, 2019
    Inventors: Hariharan Lakshmanan, Dhruvil Shah, Prashant Gaharwar, Shasank K. Chavan, Tirthankar Lahiri, Saraswathy Narayan
  • Patent number: 10133667
    Abstract: Techniques related to efficient data storage and retrieval using a heterogeneous main memory are disclosed. A database includes a set of persistent format (PF) data that is stored on persistent storage in a persistent format. The database is maintained on the persistent storage and is accessible to a database server. The database server converts the set of PF data to sets of mirror format (MF) data and stores the MF data in a hierarchy of random-access memories (RAMs). Each RAM in the hierarchy has an associated latency that is different from a latency associated with any other RAM in the hierarchy. Storing the sets of MF data in the hierarchy of RAMs includes (1) selecting, based on one or more criteria, a respective RAM in the hierarchy to store each set of MF data and (2) storing said each set of MF data in the respective RAM.
    Type: Grant
    Filed: September 6, 2016
    Date of Patent: November 20, 2018
    Assignee: Orcle International Corporation
    Inventors: Niloy Mukherjee, Tirthankar Lahiri, Juan R. Loaiza, Jesse Kamp, Prashant Gaharwar, Hariharan Lakshmanan, Dhruvil Shah
  • Patent number: 10073885
    Abstract: Techniques are provided for determining costs for alternative execution plans for a query, where at least a portion of the data items required by the query are in in-memory compression-units within volatile memory. The techniques involve maintaining in-memory statistics, such as statistics that indicate what fraction of a table is currently present in in-memory compression units, and the cost of decompressing in-memory compression units. Those statistics are used to determine, for example, the cost of a table scan that retrieves some or all of the necessary data items from the in-memory compression-units.
    Type: Grant
    Filed: July 22, 2015
    Date of Patent: September 11, 2018
    Assignee: ORACLE INTERNATIONAL CORPORATION
    Inventors: Dinesh Das, Jiaqi Yan, Jesse Kamp, Prashant Gaharwar, Satyanarayana R. Valluri
  • Publication number: 20180253443
    Abstract: A method, apparatus, and system for automated information lifecycle management using low access patterns in a database management system are provided. A user or the database can store policy data that defines an archiving action when meeting an activity-level condition on one or more database objects. The archiving actions may include compression, data movement, and other actions to place the database object in an appropriate storage tier for a lifecycle phase of the database object. The activity-level condition may specify the database object meeting a low access pattern, optionally for a minimum time period. Various criteria including access statistics for the database object and cost characteristics of current and target compression levels or storage tiers may be considered to determine the meeting of the activity-level condition. The policies may be evaluated on an adjustable periodic basis and may utilize a task scheduler for minimal performance impact.
    Type: Application
    Filed: March 5, 2018
    Publication date: September 6, 2018
    Inventors: Vineet Marwah, Hariharan Lakshmanan, Ajit Mylavarapu, Prashant Gaharwar, Amit Ganesh
  • Publication number: 20180067853
    Abstract: Techniques related to efficient data storage and retrieval using a heterogeneous main memory are disclosed. A database includes a set of persistent format (PF) data that is stored on persistent storage in a persistent format. The database is maintained on the persistent storage and is accessible to a database server. The database server converts the set of PF data to sets of mirror format (MF) data and stores the MF data in a hierarchy of random-access memories (RAMs). Each RAM in the hierarchy has an associated latency that is different from a latency associated with any other RAM in the hierarchy. Storing the sets of MF data in the hierarchy of RAMs includes (1) selecting, based on one or more criteria, a respective RAM in the hierarchy to store each set of MF data and (2) storing said each set of MF data in the respective RAM.
    Type: Application
    Filed: September 6, 2016
    Publication date: March 8, 2018
    Inventors: Niloy Mukherjee, Tirthankar Lahiri, Juan R. Loaiza, Jesse Kamp, Prashant Gaharwar, Hariharan Lakshmanan, Dhruvil Shah
  • Patent number: 9910861
    Abstract: A method, apparatus, and system for automated information lifecycle management using low access patterns in a database management system are provided. A user or the database can store policy data that defines an archiving action when meeting an activity-level condition on one or more database objects. The archiving actions may include compression, data movement, and other actions to place the database object in an appropriate storage tier for a lifecycle phase of the database object. The activity-level condition may specify the database object meeting a low access pattern, optionally for a minimum time period. Various criteria including access statistics for the database object and cost characteristics of current and target compression levels or storage tiers may be considered to determine the meeting of the activity-level condition. The policies may be evaluated on an adjustable periodic basis and may utilize a task scheduler for minimal performance impact.
    Type: Grant
    Filed: March 14, 2013
    Date of Patent: March 6, 2018
    Assignee: Oracle International Corporation
    Inventors: Vineet Marwah, Hariharan Lakshmanan, Ajit Mylavarapu, Prashant Gaharwar, Amit Ganesh
  • Publication number: 20170255675
    Abstract: Techniques are described for encoding join columns that belong to the same domain with a common dictionary. The tables are encoded with dictionary indexes that make the comparison operation of a join query a quick equality check of two integers and there is no need to compute any hashes during execution. Additionally, the techniques described herein minimize the bloom filter creation and evaluation cost as well because the dictionary indexes serve as hash values into the bloom filter. If the bloom filter is as large as the range of dictionary indexes, then the filter is no longer a probabilistic structure and can be used to filter rows in the probe phase with full certainty without any significant overhead.
    Type: Application
    Filed: May 22, 2017
    Publication date: September 7, 2017
    Inventors: Shasank K. Chavan, Dina Thomas, Ajit Mylavarapu, Prashant Gaharwar, Tirthankar Lahiri, Jesse Kamp
  • 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: 20170116242
    Abstract: Techniques are described herein for reducing the number of redundant evaluations that occur when an expression is evaluated against an encoded column vector by caching results of expression evaluations. When executing a query that includes an expression that references columns for which dictionary-encoded column vectors exist, the database server performs a cost-based analysis to determine which expressions (or sub-expressions) would benefit from caching the expression's evaluation result. For each such expression, the database server performs the necessary computations and caches the results for each of the possible distinct input values. When evaluating an expression for a row with a particular set of input codes, a look-up is performed based on the input code combination to retrieve the pre-computed results of that evaluation from the cache.
    Type: Application
    Filed: January 3, 2017
    Publication date: April 27, 2017
    Inventors: Shasank K. Chavan, Dina Thomas, Ajit Mylavarapu, Prashant Gaharwar, Dennis Lui, Sheldon A.K. Lewis
  • Publication number: 20170109406
    Abstract: Techniques are described herein for sharing a dictionary across multiple in-memory compression units (IMCUs). After a dictionary is used to encode a first column vector in a first IMCU, the same dictionary is used to encode a second column vector in a second IMCU. The entries in the dictionary are in sort order to facilitate binary searching when performing value-to-code look-ups. If, during the encoding of the second column vector, values are encountered for which the dictionary does not already have codes, then a “sort-order-boundary” is established after the last entry in the dictionary, and entries for the newly encountered values are added to the dictionary, after the sort-order-boundary. To facilitate value-to-code look-ups, the new entries are also sorted relative to each other, creating a second “sort order set”. A new version of the dictionary may be created when the number of sort order sets in the first version of the dictionary reaches a configurable threshold.
    Type: Application
    Filed: October 14, 2016
    Publication date: April 20, 2017
    Inventors: Shasank K. Chavan, Prashant Gaharwar, Ajit Mylavarapu, Dina Thomas, Dennis Lui, Sheldon A.K. Lewis, Roger D. Macnicol
  • Publication number: 20160350371
    Abstract: Techniques are provided for determining costs for alternative execution plans for a query, where at least a portion of the data items required by the query are in in-memory compression-units within volatile memory. The techniques involve maintaining in-memory statistics, such as statistics that indicate what fraction of a table is currently present in in-memory compression units, and the cost of decompressing in-memory compression units. Those statistics are used to determine, for example, the cost of a table scan that retrieves some or all of the necessary data items from the in-memory compression-units.
    Type: Application
    Filed: July 22, 2015
    Publication date: December 1, 2016
    Inventors: DINESH DAS, JIAQI YAN, JESSE KAMP, PRASHANT GAHARWAR, SATYANARAYANA R. VALLURI