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: 20240134880
    Abstract: 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: Application
    Filed: December 29, 2023
    Publication date: April 25, 2024
    Inventors: Sarvesh SINGH, Alan Dale HALVERSON, Sandeep LINGAM, Srikumar RANGARAJAN
  • Patent number: 11914613
    Abstract: 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: Grant
    Filed: March 31, 2021
    Date of Patent: February 27, 2024
    Assignee: MICROSOFT TECHNOLOGY LICENSING, LLC
    Inventors: Sarvesh Singh, Alan Dale Halverson, Sandeep Lingam, Srikumar Rangarajan
  • Publication number: 20220318263
    Abstract: 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: Application
    Filed: March 31, 2021
    Publication date: October 6, 2022
    Inventors: Sarvesh SINGH, Alan Dale HALVERSON, Sandeep LINGAM, Srikumar RANGARAJAN
  • Patent number: 10551901
    Abstract: 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: Grant
    Filed: July 1, 2017
    Date of Patent: February 4, 2020
    Assignee: MICROSOFT TECHNOLOGY LICENSING, LLC
    Inventors: Rathijit Sen, Alan Dale Halverson
  • Patent number: 10515075
    Abstract: 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: Grant
    Filed: May 15, 2017
    Date of Patent: December 24, 2019
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Karthik Saligrama Ramachandra, Kwanghyun Park, Alan Dale Halverson, Conor John Cunningham, Cesar Alejandro Galindo-Legaria, Kameswara Venkatesh Emani
  • Publication number: 20190004585
    Abstract: 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: Application
    Filed: July 1, 2017
    Publication date: January 3, 2019
    Inventors: Alan Dale HALVERSON, Rathijit SEN
  • Publication number: 20180329952
    Abstract: 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: Application
    Filed: May 15, 2017
    Publication date: November 15, 2018
    Inventors: Karthik Saligrama RAMACHANDRA, Kwanghyun PARK, Alan Dale HALVERSON, Conor John CUNNINGHAM, Cesar Alejandro GALINDO-LEGARIA, Kameswara Venkatesh EMANI
  • Patent number: 9940357
    Abstract: 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: Grant
    Filed: February 25, 2015
    Date of Patent: April 10, 2018
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Alan Dale Halverson, Eric R. Robinson, Srinath Shankar, Jeffrey F. Naughton
  • Patent number: 9888065
    Abstract: 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: Grant
    Filed: May 16, 2016
    Date of Patent: February 6, 2018
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Willis Lang, Nikhil Teletia, Ajay Kalhan, Alan Dale Halverson, Prashant Varanasi
  • Patent number: 9805093
    Abstract: 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: Grant
    Filed: August 12, 2015
    Date of Patent: October 31, 2017
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Nikhil Teletia, Alan Dale Halverson, Artem D. Yegorov
  • Publication number: 20160261687
    Abstract: 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: Application
    Filed: May 16, 2016
    Publication date: September 8, 2016
    Inventors: Willis Lang, Nikhil Teletia, Ajay Kalhan, Alan Dale Halverson, Prashant Varanasi
  • Patent number: 9350800
    Abstract: 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: Grant
    Filed: June 5, 2013
    Date of Patent: May 24, 2016
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Willis Lang, Nikhil Teletia, Ajay Kalhan, Alan Dale Halverson, Prashant Varanasi
  • Patent number: 9305074
    Abstract: 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: Grant
    Filed: June 19, 2013
    Date of Patent: April 5, 2016
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Nikhil Teletia, Alan Dale Halverson, Srinath Shankar, Jeffrey Naughton
  • Publication number: 20150347513
    Abstract: 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: Application
    Filed: August 12, 2015
    Publication date: December 3, 2015
    Inventors: Nikhil Teletia, Alan Dale Halverson, Artem D. Yegorov
  • Patent number: 9128990
    Abstract: 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: Grant
    Filed: March 15, 2013
    Date of Patent: September 8, 2015
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Nikhil Teletia, Alan Dale Halverson, Artem D. Yegorov
  • Publication number: 20150169688
    Abstract: 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: Application
    Filed: February 25, 2015
    Publication date: June 18, 2015
    Inventors: Alan Dale Halverson, Eric R. Robinson, Srinath Shankar, Jeffrey F. Naughton
  • Patent number: 8972378
    Abstract: 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: Grant
    Filed: October 22, 2012
    Date of Patent: March 3, 2015
    Assignee: Microsoft Corporation
    Inventors: Alan Dale Halverson, Eric R. Robinson, Srinath Shankar, Jeffrey F. Naughton
  • Publication number: 20140379692
    Abstract: 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: Application
    Filed: June 19, 2013
    Publication date: December 25, 2014
    Inventors: Nikhil Teletia, Alan Dale Halverson, Srinath Shankar, Jeffrey Naughton
  • Publication number: 20140379691
    Abstract: 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: Application
    Filed: June 21, 2013
    Publication date: December 25, 2014
    Inventors: Nikhil Teletia, Alan Dale Halverson, Jignesh M. Patel
  • Publication number: 20140365658
    Abstract: 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: Application
    Filed: June 5, 2013
    Publication date: December 11, 2014
    Inventors: Willis Lang, Nikhil Teletia, Ajay Kalhan, Alan Dale Halverson, Prashant Varanasi