Patents by Inventor Srikumar Rangarajan

Srikumar Rangarajan 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: 9195657
    Abstract: Methods, systems, and computer-readable media of columnar storage of a database index are disclosed. A particular columnar index includes a column store that stores rows of the columnar index in a column-wise fashion and a delta store that stores rows of the columnar index in a row-wise fashion. The column store also includes an absence flag array. The absence flag array includes entries that indicate whether certain rows have been logically deleted from the column store.
    Type: Grant
    Filed: March 8, 2010
    Date of Patent: November 24, 2015
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Artem A. Oks, Per-Ake Larson, Srikumar Rangarajan, Michael James Zwilling, Jose A. Blakeley, Hanumantha R. Kodavalla
  • Publication number: 20150234778
    Abstract: A data normalization system is described herein that represents multiple data types that are common within database systems in a normalized form that can be processed uniformly to achieve faster processing of data on superscalar CPU architectures. The data normalization system includes changes to internal data representations of a database system as well as functional processing changes that leverage normalized internal data representations for a high density of independently executable CPU instructions. Because most data in a database is small, a majority of data can be represented by the normalized format. Thus, the data normalization system allows for fast superscalar processing in a database system in a variety of common cases, while maintaining compatibility with existing data sets.
    Type: Application
    Filed: May 3, 2015
    Publication date: August 20, 2015
    Inventors: Aleksandras Surna, Erik Ismert, Srikumar Rangarajan, Nimish S. Khanolkar
  • Publication number: 20150193485
    Abstract: Architecture that includes an index creation algorithm that utilizes available resources and dynamically adjusts to successfully scale with increased resources and be able to do so for any data distribution. The resources can be processing resources, memory, and/or input/output, for example. A finer level of granularity, called a segment, is utilized to process tuples in a partition while creating an index. The segment also aligns with compression techniques for the index. By choosing an appropriate size for a segment and using load balancing the overall time for index creation can be reduced. Each segment can then be processed by a single thread thereby limiting segment skew. Skew is further limited by breaking down the work done by a thread into parallelizable stages.
    Type: Application
    Filed: March 18, 2015
    Publication date: July 9, 2015
    Inventors: Artem Oks, Qingqing Zhou, Srikumar Rangarajan, RicharAleksandras Surna, Wey Guy, Cipri Clinciu, Ashit Gosalia
  • Patent number: 8990216
    Abstract: Architecture that includes an index creation algorithm that utilizes available resources and dynamically adjusts to successfully scale with increased resources and be able to do so for any data distribution. The resources can be processing resources, memory, and/or input/output, for example. A finer level of granularity, called a segment, is utilized to process tuples in a partition while creating an index. The segment also aligns with compression techniques for the index. By choosing an appropriate size for a segment and using load balancing the overall time for index creation can be reduced. Each segment can then be processed by a single thread thereby limiting segment skew. Skew is further limited by breaking down the work done by a thread into parallelizable stages.
    Type: Grant
    Filed: March 19, 2010
    Date of Patent: March 24, 2015
    Assignee: Microsoft Corporation
    Inventors: Artem Oks, Qingqing Zhou, Srikumar Rangarajan, Aleksandras Surna, Wey Guy, Cipri Clinciu, Ashit Gosalia
  • Publication number: 20140379725
    Abstract: The degree of parallel processing used to build a database index can be dynamically adjusted based on actual memory usage of individual parallel processing units. Memory can be reserved to prevent an out-of-memory condition. A predetermined number of initial parallel processing units can be activated. The actual usage of resources by the initial activated parallel processing unit(s) can be measured to establish an initial baseline for resource consumption per parallel processing unit. The baseline for resource consumption per parallel processing unit can be used to determine how many additional parallel processing units are activated. The actual resource usage of each parallel processing unit can be measured and used to refine the baseline memory usage. The refined average memory usage can be used to determine how many additional parallel processing units are activated.
    Type: Application
    Filed: December 23, 2013
    Publication date: December 25, 2014
    Applicant: Microsoft Corporation
    Inventors: In-Jerng Choe, Mayukh Saubhasik, Ashit Gosalia, Srikumar Rangarajan
  • Publication number: 20140129525
    Abstract: A data normalization system is described herein that represents multiple data types that are common within database systems in a normalized form that can be processed uniformly to achieve faster processing of data on superscalar CPU architectures. The data normalization system includes changes to internal data representations of a database system as well as functional processing changes that leverage normalized internal data representations for a high density of independently executable CPU instructions. Because most data in a database is small, a majority of data can be represented by the normalized format. Thus, the data normalization system allows for fast superscalar processing in a database system in a variety of common cases, while maintaining compatibility with existing data sets.
    Type: Application
    Filed: January 13, 2014
    Publication date: May 8, 2014
    Applicant: Microsoft Corporation
    Inventors: Aleksandras Surna, Erik Ismert, Srikumar Rangarajan, Nimish S. Khanolkar
  • Patent number: 8631039
    Abstract: A data normalization system is described herein that represents multiple data types that are common within database systems in a normalized form that can be processed uniformly to achieve faster processing of data on superscalar CPU architectures. The data normalization system includes changes to internal data representations of a database system as well as functional processing changes that leverage normalized internal data representations for a high density of independently executable CPU instructions. Because most data in a database is small, a majority of data can be represented by the normalized format. Thus, the data normalization system allows for fast superscalar processing in a database system in a variety of common cases, while maintaining compatibility with existing data sets.
    Type: Grant
    Filed: May 5, 2010
    Date of Patent: January 14, 2014
    Assignee: Microsoft Corporation
    Inventors: Aleksandras Surna, Erik Ismert, Srikumar Rangarajan, Nimish S. Khanolkar
  • Patent number: 8548986
    Abstract: Architecture that provides for greater interoperability between column stores and row stores by leveraging the advantages both have to offer. The architecture operates automatically (e.g., dynamically) to move between row oriented processing mode and batch processing mode, and the combination thereof, when it is more beneficial to run in one mode relative to the other mode, or both modes. The auto-switching of data processing between batch and row oriented mode occurs during the execution of a single query. The architecture can automatically modify an operator in the query tree and/or remove an operator if desired at runtime for more efficient processing. This approach also accounts for memory constraints for either of row or column processing.
    Type: Grant
    Filed: March 19, 2010
    Date of Patent: October 1, 2013
    Assignee: Microsoft Corporation
    Inventors: Aleksandras Surna, Per-Ake Larson, Srikumar Rangarajan
  • Patent number: 8176021
    Abstract: Aspects of the subject matter described herein relate to optimized reverse key indexes. In aspects, a dispersion function disperses index values such that they are distributed across multiple pages of an index. The dispersion function utilizes a dispersion factor that indicates to what extent the index values are dispersed. Because the index values are dispersed, contention regarding inserts may be reduced or eliminated and other advantages realized.
    Type: Grant
    Filed: June 2, 2008
    Date of Patent: May 8, 2012
    Assignee: Microsoft Corporation
    Inventors: Hanumantha R. Kodavalla, Pravin Mittal, Srikumar Rangarajan
  • Publication number: 20110276607
    Abstract: A data normalization system is described herein that represents multiple data types that are common within database systems in a normalized form that can be processed uniformly to achieve faster processing of data on superscalar CPU architectures. The data normalization system includes changes to internal data representations of a database system as well as functional processing changes that leverage normalized internal data representations for a high density of independently executable CPU instructions. Because most data in a database is small, a majority of data can be represented by the normalized format. Thus, the data normalization system allows for fast superscalar processing in a database system in a variety of common cases, while maintaining compatibility with existing data sets.
    Type: Application
    Filed: May 5, 2010
    Publication date: November 10, 2011
    Applicant: Microsoft Corporation
    Inventors: Aleksandras Surna, Erik Ismert, Srikumar Rangarajan, Nimish S. Khanolkar
  • Patent number: 8027955
    Abstract: Database management is described. A source data structure is copied to create a new data structure. Changes to the source data structure that occur during and after creation of the new data structure are accumulated in a file before they are added to the new data structure. Changes included in the file are subsequently applied to the second data structure.
    Type: Grant
    Filed: March 19, 2007
    Date of Patent: September 27, 2011
    Assignee: Microsoft Corporation
    Inventors: Gang He, Srikumar Rangarajan
  • Publication number: 20110231403
    Abstract: Architecture that includes an index creation algorithm that utilizes available resources and dynamically adjusts to successfully scale with increased resources and be able to do so for any data distribution. The resources can be processing resources, memory, and/or input/output, for example. A finer level of granularity, called a segment, is utilized to process tuples in a partition while creating an index. The segment also aligns with compression techniques for the index. By choosing an appropriate size for a segment and using load balancing the overall time for index creation can be reduced. Each segment can then be processed by a single thread thereby limiting segment skew. Skew is further limited by breaking down the work done by a thread into parallelizable stages.
    Type: Application
    Filed: March 19, 2010
    Publication date: September 22, 2011
    Applicant: MICROSOFT CORPORATION
    Inventors: Artem Oks, Qingqing Zhou, Srikumar Rangarajan, Aleksandras Surna, Wey Guy, Cipri Clinciu, Ashit Gosalia
  • Publication number: 20110231389
    Abstract: Architecture that provides for greater interoperability between column stores and row stores by leveraging the advantages both have to offer. The architecture operates automatically (e.g., dynamically) to move between row oriented processing mode and batch processing mode, and the combination thereof, when it is more beneficial to run in one mode relative to the other mode, or both modes. The auto-switching of data processing between batch and row oriented mode occurs during the execution of a single query. The architecture can automatically modify an operator in the query tree and/or remove an operator if desired at runtime for more efficient processing. This approach also accounts for memory constraints for either of row or column processing.
    Type: Application
    Filed: March 19, 2010
    Publication date: September 22, 2011
    Applicant: MICROSOFT CORPORATION
    Inventors: Aleksandras Surna, Per-Ake Larson, Srikumar Rangarajan
  • Publication number: 20110219020
    Abstract: Methods, systems, and computer-readable media of columnar storage of a database index are disclosed. A particular columnar index includes a column store that stores rows of the columnar index in a column-wise fashion and a delta store that stores rows of the columnar index in a row-wise fashion. The column store also includes an absence flag array. The absence flag array includes entries that indicate whether certain rows have been logically deleted from the column store.
    Type: Application
    Filed: March 8, 2010
    Publication date: September 8, 2011
    Inventors: Artem A. Oks, Per-Ake Larson, Srikumar Rangarajan, Michael James Zwilling, Jose A. Blakeley, Hanumantha R. Kodavalla
  • Publication number: 20110145201
    Abstract: Methods, systems, and computer-readable media of database mirroring are disclosed. A particular method includes initiating a transaction that modifies one or more pages of a first database. Each page includes a structure modification operation (SMO) bit and initiating the transaction includes setting the SMO bit of each of the one or more pages to a first value. One or more first records are created at a transaction log of the first database. The transaction log is useable at a second database to mirror the transaction. Each first record indicates the setting of a SMO bit of a particular page to the first value. The database transaction is performed, and the SMO bit of each of the one or more pages is set to a second value. One or more second records are created at the transaction log, each second record indicating the setting of a SMO bit of a particular page to the second value. The method includes committing the transaction.
    Type: Application
    Filed: December 11, 2009
    Publication date: June 16, 2011
    Applicant: Microsoft Corporation
    Inventors: Marcel van der Holst, Robin D. Dhamankar, Hanumantha R. Kodavalla, Srikumar Rangarajan
  • Patent number: 7873672
    Abstract: Various technologies and techniques are disclosed for efficiently processing DML SQL statements through minimal logging and optimized insertions. Rows are inserted into a table in a database in a sorted order. When an insertion of a particular row into the table causes a page split and a new page created during the page split is empty, the new page is locked until an end of a transaction associated with the insertion is completed. When the page split is caused by appending monotonically increasing values at an end of the table, the sorted order will guarantee that the new page is empty. Minimal logging is performed. When the transaction associated with the insertion is completed, a forced checkpoint is performed.
    Type: Grant
    Filed: January 24, 2008
    Date of Patent: January 18, 2011
    Assignee: Microsoft Corporation
    Inventors: Stefano Stefani, Srikumar Rangarajan, Marcel van der Holst
  • Patent number: 7702637
    Abstract: A method and system for fragment-based serialization places one or more object members in fragments. Fragments may comprise a header and a payload. A header can provide useful information about the fragment, such as an indication of fragment type and an indication of fragment length. A payload may comprise one or more members of an object. Primitive members may be stored in a Binary Fragment with a record format payload. LOB and FS members may be stored in fragments that have a Value Type field for setting forth additional properties of the fragment. Collections may be stored in a series of fragments, a first fragment to indicate a start of a collection, one or more second fragments to serialize collection elements, and a Terminator Fragment to indicate the end of a collection. Fragment-serialized objects minimize storage overhead while providing fast instantiation and low-cost location and updating.
    Type: Grant
    Filed: June 15, 2005
    Date of Patent: April 20, 2010
    Assignee: Microsoft Corporation
    Inventors: F. Soner Terek, Ajay Kalhan, Nagavamsi Ponnekanti, Srikumar Rangarajan, Michael J. Zwilling
  • Publication number: 20090300013
    Abstract: Aspects of the subject matter described herein relate to optimized reverse key indexes. In aspects, a dispersion function disperses index values such that they are distributed across multiple pages of an index. The dispersion function utilizes a dispersion factor that indicates to what extent the index values are dispersed. Because the index values are dispersed, contention regarding inserts may be reduced or eliminated and other advantages realized.
    Type: Application
    Filed: June 2, 2008
    Publication date: December 3, 2009
    Applicant: MICROSOFT CORPORATION
    Inventors: Hanumantha R. Kodavalla, Pravin Mittal, Srikumar Rangarajan
  • Publication number: 20090193060
    Abstract: Various technologies and techniques are disclosed for efficiently processing DML SQL statements through minimal logging and optimized insertions. Rows are inserted into a table in a database in a sorted order. When an insertion of a particular row into the table causes a page split and a new page created during the page split is empty, the new page is locked until an end of a transaction associated with the insertion is completed. When the page split is caused by appending monotonically increasing values at an end of the table, the sorted order will guarantee that the new page is empty. Minimal logging is performed. When the transaction associated with the insertion is completed, a forced checkpoint is performed.
    Type: Application
    Filed: January 24, 2008
    Publication date: July 30, 2009
    Applicant: MICROSOFT CORPORATION
    Inventors: Stefano Stefani, Srikumar Rangarajan, Marcel van der Holst
  • Publication number: 20080235296
    Abstract: Database management is described. A source data structure is copied to create a new data structure. Changes to the source data structure that occur during and after creation of the new data structure are accumulated in a file before they are added to the new data structure. Changes included in the file are subsequently applied to the second data structure.
    Type: Application
    Filed: March 19, 2007
    Publication date: September 25, 2008
    Applicant: Microsoft Corporation
    Inventors: Gang He, Srikumar Rangarajan