Patents by Inventor Rick Molloy

Rick Molloy 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: 9720729
    Abstract: A runtime environment allows a scheduler in a process of a computer system to be finalized prior to the process completing. The runtime environment causes execution contexts that are inducted into the scheduler and execution contexts created by the scheduler to be tracked. The runtime environment finalizes the scheduler subsequent to each inducted execution context exiting the scheduler and each created execution context being retired by the scheduler.
    Type: Grant
    Filed: June 2, 2008
    Date of Patent: August 1, 2017
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Paul Ringseth, Genevieve Fernandes, Rick Molloy, Rahul Patil
  • Patent number: 8887162
    Abstract: Local storage may be allocated for each processing resource in a process of a computer system. Each processing resource may be virtualized and may have a one-to-one or a many-to-one correspondence with with physical processors. The contents of each local storage persist across various execution contexts that are executed by a corresponding processing resource. Each local storage may be accessed without synchronization (e.g., locks) by each execution context that is executed on a corresponding processing resource. The local storages provide the ability to segment data and store and access the data without synchronization. The local storages may be used to implement lock-free techniques such as a generalized reduction where a set of values is combined through an associative operator.
    Type: Grant
    Filed: December 17, 2008
    Date of Patent: November 11, 2014
    Assignee: Microsoft Corporation
    Inventors: Paul F. Ringseth, Rick Molloy, Niklas Gustafsson, David Callahan
  • 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: 8650570
    Abstract: A runtime environment of a computer system is provided that creates first and second scheduler instances in a process. Each scheduler instance includes allocated processing resources and is assigned a set of tasks for execution. Each scheduler instance schedules tasks for execution using the allocated processing resources to perform the work of the process.
    Type: Grant
    Filed: June 2, 2008
    Date of Patent: February 11, 2014
    Assignee: Microsoft Corporation
    Inventors: Paul Ringseth, Genevieve Fernandes, Niklas Gustafsson, Rick Molloy, Rahul Patil, Philip Lucido
  • Patent number: 8561072
    Abstract: A scheduler in a process of a computer system includes a respective scheduling collection for each scheduling node in the scheduler. The scheduling collections are mapped into at least a partial search order based on one or more execution metrics. When a processing resource in a scheduling node becomes available, the processing resource first attempts to locate a task to execute in a scheduling collection corresponding to the scheduling node before searching other scheduling collections in an order specified by the search order.
    Type: Grant
    Filed: May 16, 2008
    Date of Patent: October 15, 2013
    Assignee: Microsoft Corporation
    Inventors: Paul F. Ringseth, Genevieve Fernandes, Niklas Gustafsson, Rick Molloy
  • 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: 20100153967
    Abstract: Local storage may be allocated for each processing resource in a process of a computer system. Each processing resource may be virtualized and may have a one-to-one or a many-to-one correspondence with with physical processors. The contents of each local storage persist across various execution contexts that are executed by a corresponding processing resource. Each local storage may be accessed without synchronization (e.g., locks) by each execution context that is executed on a corresponding processing resource. The local storages provide the ability to segment data and store and access the data without synchronization. The local storages may be used to implement lock-free techniques such as a generalized reduction where a set of values is combined through an associative operator.
    Type: Application
    Filed: December 17, 2008
    Publication date: June 17, 2010
    Applicant: Microsoft Corporation
    Inventors: Paul F. Ringseth, Rick Molloy, Niklas Gustafsson, David Callahan
  • Patent number: 7673148
    Abstract: An application for updating, distributing, and rendering an application feature set and application versions is disclosed. The application component allows multiple versions of similar applications to be installed and upgraded on the same computer. Meanwhile, allowing new product levels downloads to transform an existing product into a different product.
    Type: Grant
    Filed: October 15, 2004
    Date of Patent: March 2, 2010
    Assignee: Microsoft Corporation
    Inventors: Song Zou, Rick Molloy, Robert Hernon, Jared Reisinger
  • Publication number: 20090300637
    Abstract: A runtime environment of a computer system is provided that creates first and second scheduler instances in a process. Each scheduler instance includes allocated processing resources and is assigned a set of tasks for execution. Each scheduler instance schedules tasks for execution using the allocated processing resources to perform the work of the process.
    Type: Application
    Filed: June 2, 2008
    Publication date: December 3, 2009
    Applicant: MICROSOFT CORPORATION
    Inventors: Paul Ringseth, Genevieve Fernandes, Niklas Gustafsson, Rick Molloy, Rahul Patil, Phillp Lucido
  • Publication number: 20090300627
    Abstract: A runtime environment allows a scheduler in a process of a computer system to be finalized prior to the process completing. The runtime environment causes execution contexts that are inducted into the scheduler and execution contexts created by the scheduler to be tracked. The runtime environment finalizes the scheduler subsequent to each inducted execution context exiting the scheduler and each created execution context being retired by the scheduler.
    Type: Application
    Filed: June 2, 2008
    Publication date: December 3, 2009
    Applicant: MICROSOFT CORPORATION
    Inventors: Paul Ringseth, Genevieve Fernandes, Rick Molloy, Rahul Patil
  • Publication number: 20090288087
    Abstract: A scheduler in a process of a computer system includes a respective scheduling collection for each scheduling node in the scheduler. The scheduling collections are mapped into at least a partial search order based on one or more execution metrics. When a processing resource in a scheduling node becomes available, the processing resource first attempts to locate a task to execute in a scheduling collection corresponding to the scheduling node before searching other scheduling collections in an order specified by the search order.
    Type: Application
    Filed: May 16, 2008
    Publication date: November 19, 2009
    Applicant: MICROSOFT CORPORATION
    Inventors: Paul F. Ringseth, Genevieve Fernandes, Niklas Gustafsson, Rick Molloy
  • Patent number: 7493311
    Abstract: An information server may function as a centralized query broker that accepts queries from query clients, dispatches queries to potentially disparate data sources, and returns query results to query clients. An information server may centralize information access and security/control operations and may provide a set of uniform interfaces for accessing various types of data sources. A pluggable data source interface may be used for extending the data and actions that are available to an information server. The queries that arrive at the data sources are typically simple queries, which contain no sub-query addressing to a different data source. To make a data source pluggable, a data source may expose a standard interface and may store information about the data source's existence so that an information server will be able to determine, from the stored information, which data sources are available for responding to queries in the information server system.
    Type: Grant
    Filed: June 30, 2003
    Date of Patent: February 17, 2009
    Assignee: Microsoft Corporation
    Inventors: Paul L. Cutsinger, Zhong Chen, Robert S. Wigton, Rick Molloy, John R. Bartlow, Lei Tan, Derek R. Westcott
  • Publication number: 20050273452
    Abstract: Database records having n fields are analogized to points in n-dimensional space. “Distances” between records are calculated and used to assess the likelihood that those records pertain to the same instance of an item or event of interest. A distance between two records can be based on the distances between corresponding fields of those two records. For certain types of data, a distance between two fields may be a simple difference between the magnitudes of the two field values. For other types of data, the distance may be determined in other ways. Weights may be assigned to the field distances prior to determining record distances.
    Type: Application
    Filed: June 4, 2004
    Publication date: December 8, 2005
    Applicant: Microsoft Corporation
    Inventors: Rick Molloy, Keith Kelly