Patents by Inventor Alan D. Halverson
Alan D. 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).
-
Patent number: 11487771Abstract: Distributed query processing is often performed by a set of nodes that apply MapReduce to a data set and materialize partial results to storage, which are then aggregated to produce the query result. However, this architecture requires a preconfigured set of database nodes; can only fulfill queries that utilize MapReduce processing; and may be slowed down by materializing partial results to storage. Instead, distributed query processing can be achieved by choosing a node for various portions of the query, and generating customized code for the node that only performs the query portion that is allocated to the node. The node executes the code to perform the query portion, and rather than materializing partial results to storage, streams intermediate query results to a next selected node in the distributed query. Nodes selection may be involve matching the details of the query portion with the characteristics and capabilities of the available nodes.Type: GrantFiled: December 7, 2016Date of Patent: November 1, 2022Assignee: Microsoft Technology Licensing, LLCInventors: Willis Lang, Nikhil Teletia, Hideaki Kimura, Alan D. Halverson, Srinath Shankar, Karthik Ramachandra
-
Patent number: 11030179Abstract: A split-index can be employed for access to external data. The index can be created on a primary data storage system for data stored externally on a secondary data storage system. After creation, the index can be utilized to expedite at least query execution over the externally stored data. The index can be updated upon detection of changes to data. Further, even when the index is not completely up to date, the index can be exploited for query execution. Furthermore, hybrid execution is enabled with the index and without the index.Type: GrantFiled: July 14, 2017Date of Patent: June 8, 2021Assignee: Microsoft Technology Licensing, LLCInventors: Nikhil Teletia, Vinitha Reddy Gankidi, Alan D. Halverson, Jignesh M. Patel
-
Patent number: 10789247Abstract: According to examples, an apparatus may include a machine readable medium on which is stored machine readable instructions that may cause a processor to, for each of a plurality of resource setting levels, determine resource usage characteristics and execution times of executed workloads, assign, based on the resource usage characteristics of the executed workloads, each of the executed workloads into one of a plurality of resource bins, determine, for each of the resource bins, an average execution time of the executed workloads in the resource bin, determine a total average execution time of the executed workloads from the determined average execution times, identify a lowest total average execution time of the determined total average execution times, determine the resource setting level corresponding to the identified lowest total average execution time, and tune a resource setting to the determined resource setting level.Type: GrantFiled: May 22, 2018Date of Patent: September 29, 2020Assignee: MICROSOFT TECHNOLOGY LICENSING, LLCInventors: Rathijit Sen, Karthik S. Ramachandra, Alan D. Halverson
-
Publication number: 20190362005Abstract: According to examples, an apparatus may include a machine readable medium on which is stored machine readable instructions that may cause a processor to, for each of a plurality of resource setting levels, determine resource usage characteristics and execution times of executed workloads, assign, based on the resource usage characteristics of the executed workloads, each of the executed workloads into one of a plurality of resource bins, determine, for each of the resource bins, an average execution time of the executed workloads in the resource bin, determine a total average execution time of the executed workloads from the determined average execution times, identify a lowest total average execution time of the determined total average execution times, determine the resource setting level corresponding to the identified lowest total average execution time, and tune a resource setting to the determined resource setting level.Type: ApplicationFiled: May 22, 2018Publication date: November 28, 2019Applicant: Microsoft Technology Licensing, LLCInventors: Rathijit SEN, Karthik S. Ramachandra, Alan D. Halverson
-
Publication number: 20170316043Abstract: A split-index can be employed for access to external data. The index can be created on a primary data storage system for data stored externally on a secondary data storage system. After creation, the index can be utilized to expedite at least query execution over the externally stored data. The index can be updated upon detection of changes to data. Further, even when the index is not completely up to date, the index can be exploited for query execution. Furthermore, hybrid execution is enabled with the index and without the index.Type: ApplicationFiled: July 14, 2017Publication date: November 2, 2017Inventors: Nikhil Teletia, Vinitha Reddy Gankidi, Alan D. Halverson, Jignesh M. Patel
-
Patent number: 9715515Abstract: A split-index can be employed for access to external data. The index can be created on a primary data storage system for data stored externally on a secondary data storage system. After creation, the index can be utilized to expedite at least query execution over the externally stored data. The index can be updated upon detection of changes to data. Further, even when the index is not completely up to date, the index can be exploited for query execution. Furthermore, hybrid execution is enabled with the index and without the index.Type: GrantFiled: January 31, 2014Date of Patent: July 25, 2017Assignee: MICROSOFT TECHNOLOGY LICENSING, LLCInventors: Nikhil Teletia, Vinitha Reddy Gankidi, Alan D. Halverson, Jignesh M. Patel
-
Publication number: 20170083588Abstract: Distributed query processing is often performed by a set of nodes that apply MapReduce to a data set and materialize partial results to storage, which are then aggregated to produce the query result. However, this architecture requires a preconfigured set of database nodes; can only fulfill queries that utilize MapReduce processing; and may be slowed down by materializing partial results to storage. Instead, distributed query processing can be achieved by choosing a node for various portions of the query, and generating customized code for the node that only performs the query portion that is allocated to the node. The node executes the code to perform the query portion, and rather than materializing partial results to storage, streams intermediate query results to a next selected node in the distributed query. Nodes selection may be involve matching the details of the query portion with the characteristics and capabilities of the available nodes.Type: ApplicationFiled: December 7, 2016Publication date: March 23, 2017Inventors: Willis Lang, Nikhil Teletia, Hideaki Kimura, Alan D. Halverson, Srinath Shankar, Karthik Ramachandra
-
Publication number: 20150379083Abstract: A custom query execution engine can be generated that captures a query. More particularly, the custom query execution engine can be generated based on combination of a query and an execution engine. Subsequent to generation, a custom query execution engine can be submitted to a system configured to execute the custom query execution engine and evaluate the query over a data store.Type: ApplicationFiled: June 25, 2014Publication date: December 31, 2015Inventors: Willis Lang, Nikhil Teletia, Hideaki Kimura, Alan D. Halverson, Srinath Shankar, Karthik Ramachandra
-
Patent number: 9177172Abstract: A single system image is provided for a parallel data warehouse system by exposing a shell database within a database management system comprising metadata and statistics regarding externally stored data. Further, functionality of the database management system can be exploited to perform pre-execution tasks. In one instance, one or more execution plans can be generated by the database management system for an input command and subsequently employed to generate a distributed execution plan.Type: GrantFiled: November 15, 2012Date of Patent: November 3, 2015Assignee: Microsoft Technology Licensing, LLCInventors: Eric R. Robinson, Alan D. Halverson, Rimma V. Nehme, Srinath Shankar
-
Publication number: 20150220583Abstract: A split-index can be employed for access to external data. The index can be created on a primary data storage system for data stored externally on a secondary data storage system. After creation, the index can be utilized to expedite at least query execution over the externally stored data. The index can be updated upon detection of changes to data. Further, even when the index is not completely up to date, the index can be exploited for query execution. Furthermore, hybrid execution is enabled with the index and without the index.Type: ApplicationFiled: January 31, 2014Publication date: August 6, 2015Inventors: Nikhil Teletia, Vinitha Reddy Gankidi, Alan D. Halverson, Jignesh M. Patel
-
Publication number: 20140137237Abstract: A single system image is provided for a parallel data warehouse system by exposing a shell database within a database management system comprising metadata and statistics regarding externally stored data. Further, functionality of the database management system can be exploited to perform pre-execution tasks. In one instance, one or more execution plans can be generated by the database management system for an input command and subsequently employed to generate a distributed execution plan.Type: ApplicationFiled: November 15, 2012Publication date: May 15, 2014Applicant: MICROSOFT CORPORATIONInventors: Eric R. Robinson, Alan D. Halverson, Rimma V. Nehme, Srinath Shankar
-
Patent number: 8139495Abstract: A method, computer-readable medium, and system for providing a quality measurement based on communications within a communication application. Communication attributes that include information associated with a user's communications are obtained. In embodiments, such communication attributes may pertain to communication duration and communication frequency. Upon obtaining communication attributes, a quality measurement may be determined based on the communication attributes. Such a quality measurement provides an indication of the quality of the user's communications. In embodiments, the quality measurement may be stored, communicated to a user, or implemented within a communication application.Type: GrantFiled: September 13, 2007Date of Patent: March 20, 2012Assignee: Microsoft CorporationInventors: Sreenivas Gollapudi, Alan D. Halverson, Krishnaram G. Kenthapadi
-
Publication number: 20090073888Abstract: A method, computer-readable medium, and system for providing a quality measurement based on communications within a communication application. Communication attributes that include information associated with a user's communications are obtained. In embodiments, such communication attributes may pertain to communication duration and communication frequency. Upon obtaining communication attributes, a quality measurement may be determined based on the communication attributes. Such a quality measurement provides an indication of the quality of the user's communications. In embodiments, the quality measurement may be stored, communicated to a user, or implemented within a communication application.Type: ApplicationFiled: September 13, 2007Publication date: March 19, 2009Applicant: MICROSOFT COPORATIONInventors: SREENIVAS GOLLAPUDI, ALAN D. HALVERSON, KRISHNARAM G. KENTHAPADI