Patents by Inventor Alan Dale Halverson
Alan Dale Halverson 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: 20240394096Abstract: Systems and methods for processing a distributed transaction are provided. A distributed execution statement including a plurality of tasks for executing a query and a table to be modified by the executed query is received. A first task is transmitted to a first backend node and a second task is transmitted to a second backend node. A first confirmation that the first task is executed and a second confirmation that the second task is executed are received. Executing the first task includes making a first modification to the table and a first identification of the first modification, and executing the second task includes making a second modification to the table and a second identification of the second modification. Based at least on each of the first task and the second task being completed, committing the first modification and the second modification to the table.Type: ApplicationFiled: June 20, 2023Publication date: November 28, 2024Inventors: Alan Dale HALVERSON, Ryan Daniel O'CONNOR, Jose AGUILAR SABORIT, Raghunath RAMAKRISHNAN
-
Publication number: 20240134880Abstract: Methods for data visibility in nested transactions in distributed systems are performed by systems and devices. Distributed executions of queries are performed in processing systems according to isolation level protocols with unique nested transaction identifiers for data management and versioning across one or more data sets, one or more compute pools, etc., within a logical server via a single transaction manager that oversees the isolation semantics and data versioning. A distributed query processor of the systems and devices performs nested transaction versioning for distributed tasks by generating nested transaction identifiers, encoded in data rows, which are used to enforce correct data visibility. Data visibility is restricted to previously committed data from distributed transactions and tasks, and is blocked for distributed transactions and tasks that run concurrently.Type: ApplicationFiled: December 29, 2023Publication date: April 25, 2024Inventors: Sarvesh SINGH, Alan Dale HALVERSON, Sandeep LINGAM, Srikumar RANGARAJAN
-
Patent number: 11914613Abstract: Methods for data visibility in nested transactions in distributed systems are performed by systems and devices. Distributed executions of queries are performed in processing systems according to isolation level protocols with unique nested transaction identifiers for data management and versioning across one or more data sets, one or more compute pools, etc., within a logical server via a single transaction manager that oversees the isolation semantics and data versioning. A distributed query processor of the systems and devices performs nested transaction versioning for distributed tasks by generating nested transaction identifiers, encoded in data rows, which are used to enforce correct data visibility. Data visibility is restricted to previously committed data from distributed transactions and tasks, and is blocked for distributed transactions and tasks that run concurrently.Type: GrantFiled: March 31, 2021Date of Patent: February 27, 2024Assignee: MICROSOFT TECHNOLOGY LICENSING, LLCInventors: Sarvesh Singh, Alan Dale Halverson, Sandeep Lingam, Srikumar Rangarajan
-
Publication number: 20220318263Abstract: Methods for data visibility in nested transactions in distributed systems are performed by systems and devices. Distributed executions of queries are performed in processing systems according to isolation level protocols with unique nested transaction identifiers for data management and versioning across one or more data sets, one or more compute pools, etc., within a logical server via a single transaction manager that oversees the isolation semantics and data versioning. A distributed query processor of the systems and devices performs nested transaction versioning for distributed tasks by generating nested transaction identifiers, encoded in data rows, which are used to enforce correct data visibility. Data visibility is restricted to previously committed data from distributed transactions and tasks, and is blocked for distributed transactions and tasks that run concurrently.Type: ApplicationFiled: March 31, 2021Publication date: October 6, 2022Inventors: Sarvesh SINGH, Alan Dale HALVERSON, Sandeep LINGAM, Srikumar RANGARAJAN
-
Patent number: 10551901Abstract: A frequency governing method for a processor includes reading power management information from the processor. The processor operates in an active state or one of multiple power saving states. The power management information includes first information indicating occupancy of a first core of the processor in the active state and second information indicating occupancy of the first core in a first power saving state. The method includes generating an effective utilization based on the first information and the second information. The method includes setting a target frequency by performing a selected action of a first action including increasing the target frequency and a second action including decreasing the target frequency with respect to a current frequency of the processor based on the effective utilization. The selected action is selected according to the effective utilization. The method includes instructing the processor to operate the first core at the target frequency.Type: GrantFiled: July 1, 2017Date of Patent: February 4, 2020Assignee: MICROSOFT TECHNOLOGY LICENSING, LLCInventors: Rathijit Sen, Alan Dale Halverson
-
Patent number: 10515075Abstract: Processing a database query. A method includes receiving a database query from a user. The database query includes one or more imperative functions. The one or more imperative functions are converted to one or more declarative query representations. The one or more declarative query representations include standardized relational operators included in a relational query language. Further, the one or more declarative query representations are optimizable by a query optimizer of the database. The database query is optimized at the query optimizer to create a query plan by evaluating any declarative query representation originally in the database query received from the user and the one or more declarative query representations.Type: GrantFiled: May 15, 2017Date of Patent: December 24, 2019Assignee: Microsoft Technology Licensing, LLCInventors: Karthik Saligrama Ramachandra, Kwanghyun Park, Alan Dale Halverson, Conor John Cunningham, Cesar Alejandro Galindo-Legaria, Kameswara Venkatesh Emani
-
Publication number: 20190004585Abstract: A frequency governing method for a processor includes reading power management information from the processor. The processor operates in an active state or one of multiple power saving states. The power management information includes first information indicating occupancy of a first core of the processor in the active state and second information indicating occupancy of the first core in a first power saving state. The method includes generating an effective utilization based on the first information and the second information. The method includes setting a target frequency by performing a selected action of a first action including increasing the target frequency and a second action including decreasing the target frequency with respect to a current frequency of the processor based on the effective utilization. The selected action is selected according to the effective utilization. The method includes instructing the processor to operate the first core at the target frequency.Type: ApplicationFiled: July 1, 2017Publication date: January 3, 2019Inventors: Alan Dale HALVERSON, Rathijit SEN
-
Publication number: 20180329952Abstract: Processing a database query. A method includes receiving a database query from a user. The database query includes one or more imperative functions. The one or more imperative functions are converted to one or more declarative query representations. The one or more declarative query representations include standardized relational operators included in a relational query language. Further, the one or more declarative query representations are optimizable by a query optimizer of the database. The database query is optimized at the query optimizer to create a query plan by evaluating any declarative query representation originally in the database query received from the user and the one or more declarative query representations.Type: ApplicationFiled: May 15, 2017Publication date: November 15, 2018Inventors: Karthik Saligrama RAMACHANDRA, Kwanghyun PARK, Alan Dale HALVERSON, Conor John CUNNINGHAM, Cesar Alejandro GALINDO-LEGARIA, Kameswara Venkatesh EMANI
-
Patent number: 9940357Abstract: The present invention extends to methods, systems, and computer program products for formulating global statistics for parallel databases. In general, embodiments of the invention merge (combine) information in multiple compute node level histograms to create a global histogram for a table that is distributed across a number of compute nodes. Merging can include aligning histogram step boundaries across the compute node histograms. Merging can include aggregating histogram step-level information, such as, for example, equality rows and average range rows (or alternately equality rows, range rows, and distinct range rows), across the compute node histograms into a single global step. Merging can account for distinct values that do not appear at one or more compute nodes as well as distinct values that are counted at multiple compute nodes. A resulting global histogram can be coalesced to reduce the step count.Type: GrantFiled: February 25, 2015Date of Patent: April 10, 2018Assignee: Microsoft Technology Licensing, LLCInventors: Alan Dale Halverson, Eric R. Robinson, Srinath Shankar, Jeffrey F. Naughton
-
Patent number: 9888065Abstract: Defragmenting a cluster service to service additional capacity requests on the service. A method includes determining an amount of server resources needed for an additional deployment reservation request for a new deployment or increasing reservation of resources of an existing deployment. The method further includes determining a server that currently does not have capacity to service the additional deployment reservation request. The method further includes determining how resources on the server can be freed up by moving other replicas of other deployments on the server to other servers to allow the server to service the additional deployment reservation request.Type: GrantFiled: May 16, 2016Date of Patent: February 6, 2018Assignee: Microsoft Technology Licensing, LLCInventors: Willis Lang, Nikhil Teletia, Ajay Kalhan, Alan Dale Halverson, Prashant Varanasi
-
Patent number: 9805093Abstract: The present invention extends to methods, systems, and computer program products for executed stored procedures at parallel databases. Stored procedures are transformed so that execution of the stored procedure is split between a standalone database server and a parallel database coordinator. Execution of the stored procedure is initiated at the standalone database server. At execution time, control-flow statements, variable assignment, expression evaluation, etc., are handled by the standalone database server. SQL statements are passed from the standalone database server to the database for the execution. Results from executed SQL statements can be returned to the standalone database server or to a client. The parallel database coordinator can be added as a linked server to the standalone database server. In some embodiments, a session token is used to share session state between different parties.Type: GrantFiled: August 12, 2015Date of Patent: October 31, 2017Assignee: Microsoft Technology Licensing, LLCInventors: Nikhil Teletia, Alan Dale Halverson, Artem D. Yegorov
-
Publication number: 20160261687Abstract: Defragmenting a cluster service to service additional capacity requests on the service. A method includes determining an amount of server resources needed for an additional deployment reservation request for a new deployment or increasing reservation of resources of an existing deployment. The method further includes determining a server that currently does not have capacity to service the additional deployment reservation request. The method further includes determining how resources on the server can be freed up by moving other replicas of other deployments on the server to other servers to allow the server to service the additional deployment reservation request.Type: ApplicationFiled: May 16, 2016Publication date: September 8, 2016Inventors: Willis Lang, Nikhil Teletia, Ajay Kalhan, Alan Dale Halverson, Prashant Varanasi
-
Patent number: 9350800Abstract: Defragmenting a cluster service to service additional capacity requests on the service. A method includes determining an amount of server resources needed for an additional deployment reservation request for a new deployment or increasing reservation of resources of an existing deployment. The method further includes determining a server that currently does not have capacity to service the additional deployment reservation request. The method further includes determining how resources on the server can be freed up by moving other replicas of other deployments on the server to other servers to allow the server to service the additional deployment reservation request.Type: GrantFiled: June 5, 2013Date of Patent: May 24, 2016Assignee: Microsoft Technology Licensing, LLCInventors: Willis Lang, Nikhil Teletia, Ajay Kalhan, Alan Dale Halverson, Prashant Varanasi
-
Patent number: 9305074Abstract: Distributing rows of data in a distributed table distributed across a plurality of nodes. A method includes identifying skewed rows of a first table to be distributed in a distributed database system. The skewed rows include a common data value in a column such that the skewed rows are skewed, according to a predetermined skew factor, with respect to other rows in the first table not having the common data value. Non-skewed rows of the first table that are not skewed according to the skew factor are identified. The skewed rows of the first table are distributed across nodes in a non-deterministic fashion. The non-skewed rows of the first table are distributed across nodes in a deterministic fashion. The rows of the first table distributed across the nodes, whether distributed in a deterministic fashion or non-deterministic fashion, are stored in a single table at each of the nodes.Type: GrantFiled: June 19, 2013Date of Patent: April 5, 2016Assignee: Microsoft Technology Licensing, LLCInventors: Nikhil Teletia, Alan Dale Halverson, Srinath Shankar, Jeffrey Naughton
-
Publication number: 20150347513Abstract: The present invention extends to methods, systems, and computer program products for executed stored procedures at parallel databases. Stored procedures are transformed so that execution of the stored procedure is split between a standalone database server and a parallel database coordinator. Execution of the stored procedure is initiated at the standalone database server. At execution time, control-flow statements, variable assignment, expression evaluation, etc., are handled by the standalone database server. SQL statements are passed from the standalone database server to the database for the execution. Results from executed SQL statements can be returned to the standalone database server or to a client. The parallel database coordinator can be added as a linked server to the standalone database server. In some embodiments, a session token is used to share session state between different parties.Type: ApplicationFiled: August 12, 2015Publication date: December 3, 2015Inventors: Nikhil Teletia, Alan Dale Halverson, Artem D. Yegorov
-
Patent number: 9128990Abstract: The present invention extends to methods, systems, and computer program products for executed stored procedures at parallel databases. Stored procedures are transformed so that execution of the stored procedure is split between a standalone database server and a parallel database coordinator. Execution of the stored procedure is initiated at the standalone database server. At execution time, control-flow statements, variable assignment, expression evaluation, etc., are handled by the standalone database server. SQL statements are passed from the standalone database server to the database for the execution. Results from executed SQL statements can be returned to the standalone database server or to a client. The parallel database coordinator can be added as a linked server to the standalone database server. In some embodiments, a session token is used to share session state between different parties.Type: GrantFiled: March 15, 2013Date of Patent: September 8, 2015Assignee: Microsoft Technology Licensing, LLCInventors: Nikhil Teletia, Alan Dale Halverson, Artem D. Yegorov
-
Publication number: 20150169688Abstract: The present invention extends to methods, systems, and computer program products for formulating global statistics for parallel databases. In general, embodiments of the invention merge (combine) information in multiple compute node level histograms to create a global histogram for a table that is distributed across a number of compute nodes. Merging can include aligning histogram step boundaries across the compute node histograms. Merging can include aggregating histogram step-level information, such as, for example, equality rows and average range rows (or alternately equality rows, range rows, and distinct range rows), across the compute node histograms into a single global step. Merging can account for distinct values that do not appear at one or more compute nodes as well as distinct values that are counted at multiple compute nodes. A resulting global histogram can be coalesced to reduce the step count.Type: ApplicationFiled: February 25, 2015Publication date: June 18, 2015Inventors: Alan Dale Halverson, Eric R. Robinson, Srinath Shankar, Jeffrey F. Naughton
-
Patent number: 8972378Abstract: The present invention extends to methods, systems, and computer program products for formulating global statistics for parallel databases. In general, embodiments of the invention merge (combine) information in multiple compute node level histograms to create a global histogram for a table that is distributed across a number of compute nodes. Merging can include aligning histogram step boundaries across the compute node histograms. Merging can include aggregating histogram step-level information, such as, for example, equality rows and average range rows (or alternately equality rows, range rows, and distinct range rows), across the compute node histograms into a single global step. Merging can account for distinct values that do not appear at one or more compute nodes as well as distinct values that are counted at multiple compute nodes. A resulting global histogram can be coalesced to reduce the step count.Type: GrantFiled: October 22, 2012Date of Patent: March 3, 2015Assignee: Microsoft CorporationInventors: Alan Dale Halverson, Eric R. Robinson, Srinath Shankar, Jeffrey F. Naughton
-
Publication number: 20140379691Abstract: A distributed system that includes multiple database compute nodes, each operating a database. A control node provides a database interface that offers a view on a single database using parallel interaction with the multiple compute nodes. The control node helps perform a map reduce operation using some or all of the compute nodes in response to receiving a database query having an associated function that is identified as a reduce function. The control node evaluates the target data of the database query to identify one or more properties of the content of the target data. The reduce function is then configured based on these identified properties.Type: ApplicationFiled: June 21, 2013Publication date: December 25, 2014Inventors: Nikhil Teletia, Alan Dale Halverson, Jignesh M. Patel
-
Publication number: 20140379692Abstract: Distributing rows of data in a distributed table distributed across a plurality of nodes. A method includes identifying skewed rows of a first table to be distributed in a distributed database system. The skewed rows include a common data value in a column such that the skewed rows are skewed, according to a predetermined skew factor, with respect to other rows in the first table not having the common data value. Non-skewed rows of the first table that are not skewed according to the skew factor are identified. The skewed rows of the first table are distributed across nodes in a non-deterministic fashion. The non-skewed rows of the first table are distributed across nodes in a deterministic fashion. The rows of the first table distributed across the nodes, whether distributed in a deterministic fashion or non-deterministic fashion, are stored in a single table at each of the nodes.Type: ApplicationFiled: June 19, 2013Publication date: December 25, 2014Inventors: Nikhil Teletia, Alan Dale Halverson, Srinath Shankar, Jeffrey Naughton