Patents by Inventor Charles D. Callahan, II
Charles D. Callahan, II 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: 10831758Abstract: A query that identifies an input data source is rewritten to contain data parallel operations that include partitioning and merging. The input data source is partitioned into a plurality of initial partitions. A parallel repartitioning operation is performed on the initial partitions to generate a plurality of secondary partitions. A parallel execution of the query is performed using the secondary partitions to generate a plurality of output sets. The plurality of output sets are merged into a merged output set.Type: GrantFiled: August 18, 2017Date of Patent: November 10, 2020Assignee: Microsoft Technology Licensing, LLCInventors: John Duffy, Edward G. Essey, Charles D. Callahan, II
-
Publication number: 20180129709Abstract: A query that identifies an input data source is rewritten to contain data parallel operations that include partitioning and merging. The input data source is partitioned into a plurality of initial partitions. A parallel repartitioning operation is performed on the initial partitions to generate a plurality of secondary partitions. A parallel execution of the query is performed using the secondary partitions to generate a plurality of output sets. The plurality of output sets are merged into a merged output set.Type: ApplicationFiled: August 18, 2017Publication date: May 10, 2018Applicant: Microsoft Technology Licensing, LLCInventors: John Duffy, Edward G. Essey, Charles D. Callahan, II
-
Patent number: 9740742Abstract: A query that identifies an input data source is rewritten to contain data parallel operations that include partitioning and merging. The input data source is partitioned into a plurality of initial partitions. A parallel repartitioning operation is performed on the initial partitions to generate a plurality of secondary partitions. A parallel execution of the query is performed using the secondary partitions to generate a plurality of output sets. The plurality of output sets are merged into a merged output set.Type: GrantFiled: December 28, 2015Date of Patent: August 22, 2017Assignee: Microsoft Technology Licensing, LLCInventors: John Duffy, Edward G. Essey, Charles D. Callahan, II
-
Publication number: 20160188669Abstract: A query that identifies an input data source is rewritten to contain data parallel operations that include partitioning and merging. The input data source is partitioned into a plurality of initial partitions. A parallel repartitioning operation is performed on the initial partitions to generate a plurality of secondary partitions. A parallel execution of the query is performed using the secondary partitions to generate a plurality of output sets. The plurality of output sets are merged into a merged output set.Type: ApplicationFiled: December 28, 2015Publication date: June 30, 2016Inventors: John Duffy, Edward G. Essey, Charles D. Callahan, II
-
Patent number: 9251291Abstract: A query that includes a search operator and that identifies an input data source is received. The input data source is partitioned into a plurality of partitions. A parallel search through the partitions is performed for an element that could halt the search. The parallel search is performed using a plurality of parallel workers. One of the parallel workers generates a notification when the element is found by that worker. The notification notifies the other parallel workers that the search could be halted. Each of the parallel workers generates an output set based on results of the search. The output sets are merged into a merged output set.Type: GrantFiled: November 29, 2007Date of Patent: February 2, 2016Assignee: Microsoft Technology Licensing, LLCInventors: John Duffy, Edward G. Essey, Charles D. Callahan, II
-
Patent number: 9251207Abstract: A query that identifies an input data source is rewritten to contain data parallel operations that include partitioning and merging. The input data source is partitioned into a plurality of initial partitions. A parallel repartitioning operation is performed on the initial partitions to generate a plurality of secondary partitions. A parallel execution of the query is performed using the secondary partitions to generate a plurality of output sets. The plurality of output sets are merged into a merged output set.Type: GrantFiled: November 29, 2007Date of Patent: February 2, 2016Assignee: Microsoft Technology Licensing, LLCInventors: John Duffy, Edward G. Essey, Charles D. Callahan, II
-
Patent number: 8839214Abstract: A high level programming language provides an extensible set of transformations for use on indexable types in a data parallel processing environment. A compiler for the language implements each transformation as a map from indexable types to allow each transformation to be applied to other transformations. At compile time, the compiler identifies sequences of the transformations on each indexable type in data parallel source code and generates data parallel executable code to implement the sequences as a combined operation at runtime using the transformation maps. The compiler also incorporates optimizations that are based on the sequences of transformations into the data parallel executable code.Type: GrantFiled: June 30, 2010Date of Patent: September 16, 2014Assignee: Microsoft CorporationInventors: Paul F. Ringseth, Weirong Zhu, Rick Molloy, Charles D. Callahan, II, Yosseff Levanoni, Lingli Zhang
-
Patent number: 8190624Abstract: A parallel execution of a query is performed with a plurality of producers using a partitioned data source, thereby producing output data. The output data is consumed with at least one consumer. The at least one consumer is monitored. A determination is made whether to stop producing output data by at least one of the producers prior to completion of the execution of the query based on the monitoring.Type: GrantFiled: November 29, 2007Date of Patent: May 29, 2012Assignee: Microsoft CorporationInventors: John Duffy, Edward G. Essey, Charles D. Callahan, II
-
Publication number: 20120005662Abstract: A high level programming language provides an extensible set of transformations for use on indexable types in a data parallel processing environment. A compiler for the language implements each transformation as a map from indexable types to allow each transformation to be applied to other transformations. At compile time, the compiler identifies sequences of the transformations on each indexable type in data parallel source code and generates data parallel executable code to implement the sequences as a combined operation at runtime using the transformation maps. The compiler also incorporates optimizations that are based on the sequences of transformations into the data parallel executable code.Type: ApplicationFiled: June 30, 2010Publication date: January 5, 2012Applicant: MICROSOFT CORPORATIONInventors: Paul F. Ringseth, Weirong Zhu, Rick Molloy, Charles D. Callahan, II, Yosseff Levanoni, Lingli Zhang
-
Publication number: 20090144228Abstract: A parallel execution of a query is performed with a plurality of producers using a partitioned data source, thereby producing output data. The output data is consumed with at least one consumer. The at least one consumer is monitored. A determination is made whether to stop producing output data by at least one of the producers prior to completion of the execution of the query based on the monitoring.Type: ApplicationFiled: November 29, 2007Publication date: June 4, 2009Applicant: Microsoft CorporationInventors: John Duffy, Edward G. Essey, Charles D. Callahan, II
-
Publication number: 20090144232Abstract: A query that includes a search operator and that identifies an input data source is received. The input data source is partitioned into a plurality of partitions. A parallel search through the partitions is performed for an element that could halt the search. The parallel search is performed using a plurality of parallel workers. One of the parallel workers generates a notification when the element is found by that worker. The notification notifies the other parallel workers that the search could be halted. Each of the parallel workers generates an output set based on results of the search. The output sets are merged into a merged output set.Type: ApplicationFiled: November 29, 2007Publication date: June 4, 2009Applicant: MICROSOFT CORPORATIONInventors: John Duffy, Edward G. Wssey, Charles D. Callahan, II
-
Patent number: 5530866Abstract: The present invention provides methods for allocating physical registers within a compiler phase to achieve efficient operation of a target CPU. The methods of the present invention allocate variables between physical registers and memory to accommodate local as well as global code structure. Such methods facilitate the location of variables that are heavily accessed at a portion of the code in a physical register during the execution thereof.Type: GrantFiled: October 13, 1994Date of Patent: June 25, 1996Assignee: Tera Computer CompanyInventors: Brian D. Koblenz, Charles D. Callahan, II