Patents by Inventor Vivek Narasayya

Vivek Narasayya 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: 7567949
    Abstract: A database server supports weighted and unweighted sampling of records or tuples in accordance with desired sampling semantics such as with replacement (WR), without replacement (WoR), or independent coin flips (CF) semantics, for example. The database server may perform such sampling sequentially not only to sample non-materialized records, such as those produced as a stream by a pipeline in a query tree for example, but also to sample records, whether materialized or not, in a single pass. The database server also supports sampling over a join of two relations of records or tuples without requiring the computation of the full join and without requiring the materialization of both relations and/or indexes on the join attribute values of both relations.
    Type: Grant
    Filed: September 10, 2002
    Date of Patent: July 28, 2009
    Assignee: Microsoft Corporation
    Inventors: Surajit Chaudhuri, Rajeev Motwani, Vivek Narasayya
  • Patent number: 7493337
    Abstract: A query progress indicator that provides an indication to a user of the progress of a query being executed on a database. The indication of the progress of the query allows the user to decide whether the query should be allowed to complete or should be aborted. One method that may be used to estimate the progress of a query that is being executed on a database defines a model of work performed during execution of a query. The total amount of work that will be performed during execution of the query is estimated according to the model. The amount of work performed at a given point during execution of the query is estimated according to the model. The progress of the query is estimated using the estimated amount of work at the given point in time and the estimated total amount of work. This estimated progress of query execution may be provided to the user.
    Type: Grant
    Filed: March 31, 2004
    Date of Patent: February 17, 2009
    Assignee: Microsoft Corporation
    Inventors: Surajit Chaudhuri, Vivek Narasayya, Ravishankar Ramamurthy
  • Publication number: 20090006392
    Abstract: Architecture that provides a data profile computation technique which employs key profile computation and data pattern profile computation. Key profile computation in a data table includes both exact keys as well as approximate keys, and is based on key strengths. A key strength of 100% is an exact key, and any other percentage in an approximate key. The key strength is estimated based on the number of table rows that have duplicated attribute values. Only column sets that exceed a threshold value are returned. Pattern profiling identifies a small set of regular expression patterns which best describe the patterns within a given set of attribute values. Pattern profiling includes three phases: a first phases for determining token regular expressions, a second phase for determining candidate regular expressions, and a third phase for identifying the best regular expressions of the candidates that match the attribute values.
    Type: Application
    Filed: June 27, 2007
    Publication date: January 1, 2009
    Applicant: MICROSOFT CORPORATION
    Inventors: Zhimin Chen, Venkatesh Ganti, Gunjan Jha, Shriraghav Kaushik, Vivek Narasayya
  • Patent number: 7472107
    Abstract: Integrating the partitioning of physical design structures with the physical design process can result in more efficient query execution. When candidate structures are evaluated for their relative benefit, one or more partitioning methods is associated with each structure so that the benefits of various partitioning methods are taken into consideration when the structures are selected for use by the database. A pool of partitioned candidate structures is formed by proposing and evaluating the benefit of candidate structures with associated partitioning on a per query basis. The selected partitioned candidates are then used to construct generalized structures with associated partitioning methods that are evaluated for their benefit over the workload. Those generalized structures are added to the pool of partitioned candidate structures. From this augmented pool of partitioned candidate structures, an optimal set of partitioned structures is enumerated for use by the database system.
    Type: Grant
    Filed: June 23, 2003
    Date of Patent: December 30, 2008
    Assignee: Microsoft Corporation
    Inventors: Sanjay Agrawal, Surajit Chaudhuri, Vivek Narasayya
  • Patent number: 7346601
    Abstract: A method for evaluating a user query on a database having a mining model that classifies records contained in the database into classes when the query comprises at least one mining predicate that refers to a class of database records. An upper envelope is derived for the class referred to by the mining predicate corresponding to a query that returns a set of database records that includes all of the database records belonging to the class. The upper envelope is included in the user query for query evaluation. The method may be practiced during a preprocessing phase by evaluating the mining model to extract a set of classes of the database records and deriving an upper envelope for each class. These upper envelopes are stored for access during user query evaluation.
    Type: Grant
    Filed: June 3, 2002
    Date of Patent: March 18, 2008
    Assignee: Microsoft Corporation
    Inventors: Surajit Chaudhuri, Vivek Narasayya, Sunita Sarawagi
  • Patent number: 7328221
    Abstract: A method for estimating the result of a query on a database having data records arranged in tables. The database has an expected workload that includes a set of queries that can be executed on the database. An expected workload is derived including a set of queries that can be executed on the database. A sample is constructed by selecting data records for inclusion in the sample in a manner that minimizes an estimation error when the data records are acted upon by a query in the expected workload to provide an expected workload to provide an expected result. The query accesses the sample and is executed on the sample, returning an estimated query result. The expected workload can be constructed by specifying a degree of overlap between records selected by queries in the given workload and records selected by queries in the expected workload.
    Type: Grant
    Filed: September 8, 2004
    Date of Patent: February 5, 2008
    Assignee: Microsoft Corporation
    Inventors: Surajit Chaudhuri, Vivek Narasayya, Gantam Das
  • Patent number: 7299220
    Abstract: A database object summarization tool is provided that selects a subset of database objects subject to filtering constraints such as a partial order or optimization of some attribute. A dominance primitive filters out tuples that are dominated according to a partial order constraint by another tuple. A representation primitive selects a representative subset of tuples such than an optimization criteria is met.
    Type: Grant
    Filed: March 31, 2004
    Date of Patent: November 20, 2007
    Assignee: Microsoft Corporation
    Inventors: Surajit Chaudhuri, Vivek Narasayya, Prasanna Ganesan
  • Patent number: 7293036
    Abstract: Relational database applications such as index selection, histogram tuning, approximate query processing, and statistics selection have recognized the importance of leveraging workloads. Often these applications are presented with large workloads, i.e., a set of SQL DML statements, as input. A key factor affecting the scalability of such applications is the size of the workload. The invention concerns workload compression which helps improve the scalability of such applications. The exemplary embodiment is broadly applicable to a variety of workload-driven applications, while allowing for incorporation of application specific knowledge. The process is described in detail in the context of two workload-driven applications: index selection and approximate query processing.
    Type: Grant
    Filed: December 8, 2004
    Date of Patent: November 6, 2007
    Assignee: Microsoft Corporation
    Inventors: Surajit Chaudhuri, Ashish Kumar Gupta, Vivek Narasayya
  • Patent number: 7281013
    Abstract: A method for providing workload information in a structured workload information data structure format that is organized according to a workload schema to be conducive to a given end usage of the information. The structured workload information can be made accessible using standard database analytical server applications to facilitate ad-hoc querying of the structured workload information to summarize and analyze the database workload or to facilitate exchange of workload information. A structured workload information (SWI) is constructed according to a SWI schema to facilitate a desired end usage of the workload information. The query information is extracted from the workload and stored in a structured workload information (SWI) data structure according to the schema based on the desired end usage of the information such as ad hoc querying or information exchange.
    Type: Grant
    Filed: June 3, 2002
    Date of Patent: October 9, 2007
    Assignee: Microsoft Corporation
    Inventors: Surajit Chaudhuri, Vivek Narasayya, Omer Zaki
  • Patent number: 7281007
    Abstract: A method for estimating the result of a query on a database having data records arranged in tables. The database has an expected workload that includes a set of queries that can be executed on the database. An expected workload is derived including a set of queries that can be executed on the database. A sample is constructed by selecting data records for inclusion in the sample in a manner that minimizes an estimation error when the data records are acted upon by a query in the expected workload to provide an expected workload to provide an expected result. The query accesses the sample and is executed on the sample, returning an estimated query result. The expected workload can be constructed by specifying a degree of overlap between records selected by queries in the given workload and records selected by queries in the expected workload.
    Type: Grant
    Filed: September 8, 2004
    Date of Patent: October 9, 2007
    Assignee: Microsoft Corporation
    Inventors: Surajit Chaudhuri, Vivek Narasayya, Gantam Das
  • Publication number: 20070192280
    Abstract: The subject disclosure pertains to exploitation of sequence information in a workload for the purpose of performance tuning. An optimal or exhaustive approach to tune sequences by mapping to a shortest path problem is provided as well as powerful techniques that result in optimal or nearly optimal solutions. Also disclosed is greedy approach that is much more efficient than the optimal approach and yet also generates solutions of comparable quality. Further yet, systems and methods are provided that facilitate extraction of sequence information and implementation of recommendations.
    Type: Application
    Filed: February 1, 2006
    Publication date: August 16, 2007
    Applicant: Microsoft Corporation
    Inventors: Sanjay Agrawal, Lik Han Chu, Vivek Narasayya
  • Patent number: 7249141
    Abstract: Layout in a database system is performed using workload information. Execution information for a workload is obtained. Cumulative access and co-access information for database objects is then assembled. A cost model is developed for quantitatively capturing the value of different layouts, and a search is performed for a recommended database layout. In one embodiment, a greedy search is performed which initially attempts provide a layout that minimizes co-location of objects on storage objects, and then attempts to improve that layout via a greedy search.
    Type: Grant
    Filed: April 30, 2003
    Date of Patent: July 24, 2007
    Assignee: Microsoft Corporation
    Inventors: Sanjay Agrawal, Surajit Chaudhuri, Abhinandan Das, Vivek Narasayya
  • Patent number: 7194451
    Abstract: A framework is provided within a database system for specifying database monitoring rules that will be evaluated as part of the execution code path of database events being monitored. The occurrence of a selected database event triggers a rule that evaluates some parameter of an object related to the event against a condition in the rule. If the condition is met, a specified action is taken that can alter the execution of the database event or database system performance. Lightweight aggregation tables are utilized to enable aggregation of object parameter values so that presently occurring events can be compared to a summary of the object parameter values from previously occurring database events. Signatures are assigned to queries based on the structure of the query plan so that information in the lightweight aggregation tables can be grouped according to query signature.
    Type: Grant
    Filed: February 26, 2004
    Date of Patent: March 20, 2007
    Assignee: Microsoft Corporation
    Inventors: Surajit Chaudhuri, Arnd Christian Konig, Vivek Narasayya
  • Patent number: 7155459
    Abstract: A method is provided for tuning a database to recommend a set of physical design structures for the database that optimize database performance for a given workload given a total time bound that defines a maximum amount of time that can be spent tuning the database. A cumulative set of recommended structures is maintained and incrementally updated based on tuning that is performed in intervals over portions of the workload. The cumulative set of recommended structures is updated by tuning the database by examining a predetermined portion of the workload during a time slice that is a fraction of the total time bound. At the end of the time slice, a set of recommended structures has been enumerated that is based on the workload portions that have been examined thus far. The set of recommended structures is updated until all queries in the workload have been examined or until the time bound is reached.
    Type: Grant
    Filed: June 28, 2002
    Date of Patent: December 26, 2006
    Assignee: Miccrosoft Corporation
    Inventors: Surajit Chaudhuri, Sanjay Agrawal, Vivek Narasayya
  • Patent number: 7139778
    Abstract: In a relational database system, a set of physical design structures is enumerated that optimizes database performance over a given workload consisting of workload entries that include queries and updates that have been executed against the database. An individual benefit is calculated for each candidate structure relevant to a given workload entry and these individual benefits are summed over the entries in the workload examined thus far. A workload entry is selected from the workload and a set of candidate structures relevant to the workload entry is identified.
    Type: Grant
    Filed: June 28, 2002
    Date of Patent: November 21, 2006
    Assignee: Microsoft Corporation
    Inventors: Surajit Chaudhuri, Vivek Narasayya, Mayur Datar
  • Publication number: 20060253422
    Abstract: Systems and methodologies for computation of multiple group by queries via an optimizer that examines the space of plans in a systematic and cost based manner. The optimizer includes a merging component to merge pairs of sub plans to facilitate a plan choice with a lowest cost. The merging component can take as input two sub plans (e.g., sub plan P1 with root node V1 and sub plan P2 with root node V2, wherein each sub plan is a sub-tree of a logical plan whose root node is directly pointed to a Relation “R”), to return a set of sub-plans as out put with a root node V1?V2 that is the smallest relation from which both V1 and V2 can be computed.
    Type: Application
    Filed: May 6, 2005
    Publication date: November 9, 2006
    Applicant: Microsoft Corporation
    Inventors: Vivek Narasayya, Zhimin Chen
  • Publication number: 20060253473
    Abstract: Systems and methodologies that split a table into a plurality of sub-tables, and vertical partitions. By analyzing an associated work load to determine frequently referenced columns, the subject invention supplies a compromise among various vertical partitioning strategies (e.g., candidate selection for table spilt) via a merging act, such that the table is split optimally for the work load taken as a whole Accordingly, an incoming query can optimally reference only required columns.
    Type: Application
    Filed: May 6, 2005
    Publication date: November 9, 2006
    Applicant: Microsoft Corporation
    Inventors: Sanjay Agrawal, Vivek Narasayya, Beverly Yang
  • Patent number: 7120624
    Abstract: A method for estimating the result of a query on a database having data records arranged in tables. The database has an expected workload that includes a set of queries that can be executed on the database. A sample is constructed by selecting data records for inclusion in the sample in a manner that minimizes an estimation error when the data records are acted upon by a query in the expected workload to provide an estimated result. The query accesses the sample and is executed on the sample, returning an estimated query result. The expected workload can be constructed by specifying a degree of overlap between records selected by queries in the given workload and records selected by queries in the expected workload.
    Type: Grant
    Filed: May 21, 2001
    Date of Patent: October 10, 2006
    Assignee: Microsoft Corporation
    Inventors: Surajit Chaudhuri, Vivek Narasayya, Guatam Das
  • Publication number: 20060136358
    Abstract: An automated database tuning tool may include a user interface component and a tuning engine. The user interface may be a graphical component that interfaces with a user to collect configuration parameters for a tuning session for a specified database. The configuration parameters may be stored in a tuning database. A tuning engine that performs the actual tuning process may generate physical design recommendations and reports. The recommendations and reports may be stored in the tuning database, enabling the tuning tool to be run off-line or in background. Communication between components of the tuning tool may occur via stored procedures.
    Type: Application
    Filed: December 21, 2004
    Publication date: June 22, 2006
    Applicant: Microsoft Corporation
    Inventors: Dmitry Sonkin, Maciej Sarnowicz, Bruce Prang, Djana Milton, Arunprasad Marathe, Vivek Narasayya, Manoj Syamala, Sanjay Agrawal
  • Publication number: 20060085463
    Abstract: An outlier index for a database and a given workload is generated by identifying sub-relations of tuples in the database induced by selection and group by conditions in queries in the workload. A variance is then generated for values in each sub-relation. Sub-relations having higher variances are selected, and outliers from such sub-relations having higher variances are generated.
    Type: Application
    Filed: December 7, 2005
    Publication date: April 20, 2006
    Applicant: Microsoft Corporation
    Inventors: Surajit Chaudhuri, Vivek Narasayya, Rajeev Motwani, Mayur Datar