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: 10831758
    Abstract: 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: Grant
    Filed: August 18, 2017
    Date of Patent: November 10, 2020
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: John Duffy, Edward G. Essey, Charles D. Callahan, II
  • Publication number: 20180129709
    Abstract: 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: Application
    Filed: August 18, 2017
    Publication date: May 10, 2018
    Applicant: Microsoft Technology Licensing, LLC
    Inventors: John Duffy, Edward G. Essey, Charles D. Callahan, II
  • Patent number: 9740742
    Abstract: 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: Grant
    Filed: December 28, 2015
    Date of Patent: August 22, 2017
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: John Duffy, Edward G. Essey, Charles D. Callahan, II
  • Publication number: 20160188669
    Abstract: 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: Application
    Filed: December 28, 2015
    Publication date: June 30, 2016
    Inventors: John Duffy, Edward G. Essey, Charles D. Callahan, II
  • Patent number: 9251291
    Abstract: 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: Grant
    Filed: November 29, 2007
    Date of Patent: February 2, 2016
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: John Duffy, Edward G. Essey, Charles D. Callahan, II
  • Patent number: 9251207
    Abstract: 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: Grant
    Filed: November 29, 2007
    Date of Patent: February 2, 2016
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: John Duffy, Edward G. Essey, Charles D. Callahan, II
  • Patent number: 8839214
    Abstract: 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: Grant
    Filed: June 30, 2010
    Date of Patent: September 16, 2014
    Assignee: Microsoft Corporation
    Inventors: Paul F. Ringseth, Weirong Zhu, Rick Molloy, Charles D. Callahan, II, Yosseff Levanoni, Lingli Zhang
  • Patent number: 8190624
    Abstract: 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: Grant
    Filed: November 29, 2007
    Date of Patent: May 29, 2012
    Assignee: Microsoft Corporation
    Inventors: John Duffy, Edward G. Essey, Charles D. Callahan, II
  • Publication number: 20120005662
    Abstract: 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: Application
    Filed: June 30, 2010
    Publication date: January 5, 2012
    Applicant: MICROSOFT CORPORATION
    Inventors: Paul F. Ringseth, Weirong Zhu, Rick Molloy, Charles D. Callahan, II, Yosseff Levanoni, Lingli Zhang
  • Publication number: 20090144228
    Abstract: 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: Application
    Filed: November 29, 2007
    Publication date: June 4, 2009
    Applicant: Microsoft Corporation
    Inventors: John Duffy, Edward G. Essey, Charles D. Callahan, II
  • Publication number: 20090144232
    Abstract: 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: Application
    Filed: November 29, 2007
    Publication date: June 4, 2009
    Applicant: MICROSOFT CORPORATION
    Inventors: John Duffy, Edward G. Wssey, Charles D. Callahan, II
  • Patent number: 5530866
    Abstract: 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: Grant
    Filed: October 13, 1994
    Date of Patent: June 25, 1996
    Assignee: Tera Computer Company
    Inventors: Brian D. Koblenz, Charles D. Callahan, II