Patents by Inventor Paul F. Ringseth

Paul F. Ringseth 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: 20110093851
    Abstract: Shutting down a computer work scheduler. The work scheduler includes a number of virtual processors, each of which is either active or inactive. An active processor executes work, searches for work, or is idle. An inactive has no context running atop it. The method includes determining that all processors controlled by the scheduler are idle. As a result of determining that all controlled by the scheduler are idle, the method proceeds to a first phase of a shutdown operation, which when successful, includes: performing a sweep of all collections searching for any work in the scheduler and determining that no work is found in the scheduler. As a result of determining that no work is found in the scheduler, the method proceeds to a second phase of a shutdown operation, which when successful includes messaging all contexts in the scheduler and telling them to exit.
    Type: Application
    Filed: October 16, 2009
    Publication date: April 21, 2011
    Applicant: MICROSOFT CORPORATION
    Inventors: William Robert Messmer, Paul F. Ringseth, Genevieve Fernandes
  • Publication number: 20100325636
    Abstract: An interface between a resource manager and schedulers in a process executing on a computer system allows the resource manager to manage the resources of the schedulers. The resource manager communicates with the schedulers using the interface to access statistical information from the schedulers. The statistical information describes the amount of use of the resources by the schedulers. The resource manager also communicates with the schedulers to dynamically allocate and reallocate resources among the schedulers in the same or different processes or computer systems in accordance with the statistical information.
    Type: Application
    Filed: June 18, 2009
    Publication date: December 23, 2010
    Applicant: MICROSOFT CORPORATION
    Inventors: Paul F. Ringseth, William R. Messmer, Niklas Gustafsson, Genevieve Fernandes, Marko Radmilac
  • Publication number: 20100318995
    Abstract: A scheduler in a process of a computer system schedules tasks of a task group for concurrent execution by multiple execution contexts. The scheduler provides a mechanism that allows the task group to be cancelled by an arbitrary execution context or an asynchronous error state. When a task group is cancelled, the scheduler sets a cancel indicator in each execution context that is executing tasks corresponding to the cancelled task group and performs a cancellation process on each of the execution contexts where a cancel indicator is set. The scheduler also creates local aliases to allow task groups to be used without synchronization by execution contexts that are not directly bound to the task groups.
    Type: Application
    Filed: June 10, 2009
    Publication date: December 16, 2010
    Applicant: Microsoft Corporation
    Inventors: William R. Messmer, David Callahan, Paul F. Ringseth, Niklas Gustafsson
  • Patent number: 7836436
    Abstract: Instructions in an asynchronous transactional messaging language are transformed into instructions that are compatible with the web services. In one embodiment, the asynchronous transactional messaging language is XLANG/s, and the web service languages are the web services description language (WSDL) and the simple object access protocol (SOAP). A programmer simply writes high level declarative statements that pertain to the specific type of business transaction. During compilation, selected instructions are transformed into instructions that are compatible with web services. This transformation is transparent to the designer of the business application. The asynchronous transactional messaging language source files are compiled in an iterative compilation process. During each pass of this compilation process, different variables are parsed. The parsed results are logically organized in a tree structure. The tree structure is traversed in depth first traversal order.
    Type: Grant
    Filed: October 10, 2006
    Date of Patent: November 16, 2010
    Assignee: Microsoft Corporation
    Inventors: Paul F Ringseth, Donald James McCrady
  • Patent number: 7779388
    Abstract: A system and methods are provided that make compile-time declarative modeling available for SOAP-based data transmission(s). The declarative modeling minimizes the amount of coding required of a developer. The underlying details regarding the SOAP protocol, dispatching to the appropriate object and function, marshaling and un-marshaling of XML and generating the SOAP response are hidden from the developer when implementing SOAP-based Web services. The task of creating a SOAP-based web service is thus greatly simplified by reducing the number and complexity of considerations required of the developer when generating SOAP-based Web services. In one embodiment, attributes for Visual C++ are utilized as a framework for a declarative syntax for SOAP-based Web services, which Visual C++ attributes have access to type and marshaling information.
    Type: Grant
    Filed: August 31, 2005
    Date of Patent: August 17, 2010
    Assignee: Microsoft Corporation
    Inventors: Paul F. Ringseth, Momin M. Al-Ghosien, Jasjit S. Grewal
  • 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: 7730447
    Abstract: A system and methods are provided that make compile-time declarative modeling available for SOAP-based data transmission(s). The declarative modeling minimizes the amount of coding required of a developer. The underlying details regarding the SOAP protocol, dispatching to the appropriate object and function, marshaling and un-marshaling of XML and generating the SOAP response are hidden from the developer when implementing SOAP-based Web services. The task of creating a SOAP-based web service is thus greatly simplified by reducing the number and complexity of considerations required of the developer when generating SOAP-based Web services. In one embodiment, attributes for Visual C++ are utilized as a framework for a declarative syntax for SOAP-based Web services, which Visual C++ attributes have access to type and marshaling information.
    Type: Grant
    Filed: August 5, 2005
    Date of Patent: June 1, 2010
    Assignee: Microsoft Corporation
    Inventors: Paul F. Ringseth, Momin M. Al-Ghosien, Jasjit S. Grewal
  • Publication number: 20100131543
    Abstract: Creating and executing a distributed stream processing operator graph based on a query. The operator graph includes movable stream algebra operators for processing events received from high volume data streams. The operators are partially compiled and distributed to computing devices for completion of the compilation and subsequent execution. During execution, the operators maintain minimal state information associated with received events via an expiration time assigned to each of the event instances. Additional events are generated and aggregated by the operators for communication to a service responsible for the query.
    Type: Application
    Filed: January 26, 2010
    Publication date: May 27, 2010
    Applicant: MICROSOFT CORPORATION
    Inventors: Gueorgui B. Chkodrov, Paul F. Ringseth, Tihomir T. Tarnavski, Andy Shen, Roger Shane Barga, Jonathan Goldstein
  • Publication number: 20100088704
    Abstract: A process in a computer system creates and uses a meta-scheduler with meta-contexts that execute on meta-virtual processors. The meta-scheduler includes a set of schedulers with scheduler-contexts that execute on virtual processors. The meta-scheduler schedules the scheduler-contexts on the meta-contexts and schedules the meta-contexts on the meta-virtual processors which execute on execution contexts associated with hardware threads.
    Type: Application
    Filed: October 3, 2008
    Publication date: April 8, 2010
    Applicant: Microsoft Corporation
    Inventors: Paul F. Ringseth, William R. Messmer, Niklas Gustafsson, Joseph L. Hellerstein
  • Patent number: 7676461
    Abstract: Creating and executing a distributed stream processing operator graph based on a query. The operator graph includes movable stream algebra operators for processing events received from high volume data streams. The operators are partially compiled and distributed to computing devices for completion of the compilation and subsequent execution. During execution, the operators maintain minimal state information associated with received events via an expiration time assigned to each of the event instances. Additional events are generated and aggregated by the operators for communication to a service responsible for the query.
    Type: Grant
    Filed: July 18, 2007
    Date of Patent: March 9, 2010
    Assignee: Microsoft Corporation
    Inventors: Gueorgui B. Chkodrov, Paul F. Ringseth, Tihomir T. Tarnavski, Andy Shen, Roger Shane Barga, Jonathan Goldstein
  • Publication number: 20090320027
    Abstract: Methods and systems for statistically eliding fences in a work stealing algorithm are disclosed. A data structure comprising a head pointer, tail pointer, barrier pointer and an advertising flag allows for dynamic load-balancing across processing resources in computer applications.
    Type: Application
    Filed: June 18, 2008
    Publication date: December 24, 2009
    Applicant: MICROSOFT CORPORATION
    Inventors: Paul F. Ringseth, Bill Messmer, Charles David Callahan, II, Stephen Toub
  • 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
  • Publication number: 20090288086
    Abstract: A scheduler in a process of a computer system includes a local collection of tasks for each processing resource allocated to the scheduler and at least one general collection of tasks. The scheduler assigns each task that becomes unblocked to the local collection corresponding to the processing resource that caused the task to become unblocked. When a processing resource becomes available, the processing resource attempts to execute the most recently added task in the corresponding local collection. If there are no tasks in the corresponding local collection, the available processing resource attempts to execute a task from the general collection.
    Type: Application
    Filed: May 16, 2008
    Publication date: November 19, 2009
    Applicant: MICROSOFT CORPORATION
    Inventors: Paul F. Ringseth, Niklas Gustafsson, Genevieve Fernandes
  • Publication number: 20090276778
    Abstract: A scheduler in a process of a computer system detects a task with an associated execution context that has not been previously invoked by the scheduler. The scheduler executes the task on a processing resource without performing a context switch if the processing resource executed a previous task to completion. The scheduler stores the execution context originally associated with the task for later use.
    Type: Application
    Filed: May 1, 2008
    Publication date: November 5, 2009
    Applicant: Microsoft Corporation
    Inventors: Paul F. Ringseth, Genevieve Fernandes
  • Publication number: 20090024622
    Abstract: Creating and executing a distributed stream processing operator graph based on a query. The operator graph includes movable stream algebra operators for processing events received from high volume data streams. The operators are partially compiled and distributed to computing devices for completion of the compilation and subsequent execution. During execution, the operators maintain minimal state information associated with received events via an expiration time assigned to each of the event instances. Additional events are generated and aggregated by the operators for communication to a service responsible for the query.
    Type: Application
    Filed: July 18, 2007
    Publication date: January 22, 2009
    Applicant: MICROSOFT CORPORATION
    Inventors: Gueorgui B. Chkodrov, Paul F. Ringseth, Tihomir T. Tarnavski, Andy Shen, Roger Shane Barga, Jonathan Goldstein
  • Publication number: 20080167925
    Abstract: An XLANG/s compiler detects convoy scenarios during compilation and generates runtime directives to correctly correlate incoming messages with business process instances. A convoy scenario, present in event driven processes, is defined by a correlation set initialized during a receive operation which is provided to a subsequent receive operation. The compiler detects those convoy scenarios by analyzing the control and dataflow of a XLANG/s program. Three convoy patterns are distinguished: (1) activation convoys, (2) uniform sequential convoys, and (3) non-uniform sequential convoys. XLANG/s allows declarative descriptions of convoy scenarios without requiring an understanding of the low-level details supporting their correct execution. Convoy scenarios are processed by statically analyzing a written workflow application to deduce the nature and type of convoy scenarios used by the application. Information is extracted at compile time to support the runtime infrastructure.
    Type: Application
    Filed: March 25, 2008
    Publication date: July 10, 2008
    Applicant: MICROSOFT CORPORATION
    Inventors: Bimal Mehta, Johannes Klein, Lee Graber, Paul Maybee, Sriram Balasubramanian, Sanjib Saha, Satish R. Thatte, Paul F. Ringseth
  • Patent number: 7370333
    Abstract: An XLANG/s compiler detects convoy scenarios during compilation and generates runtime directives to correctly correlate incoming messages with business process instances. A convoy scenario, present in event driven processes, is defined by a correlation set initialized during a receive operation which is provided to a subsequent receive operation. The compiler detects those convoy scenarios by analyzing the control and dataflow of a XLANG/s program. Three convoy patterns are distinguished: (1) activation convoys, (2) uniform sequential convoys, and (3) non-uniform sequential convoys. XLANG/s allows declarative descriptions of convoy scenarios without requiring an understanding of the low-level details supporting their correct execution. Convoy scenarios are processed by statically analyzing a written workflow application to deduce the nature and type of convoy scenarios used by the application. Information is extracted at compile time to support the runtime infrastructure.
    Type: Grant
    Filed: June 2, 2003
    Date of Patent: May 6, 2008
    Assignee: Microsoft Corporation
    Inventors: Bimal Mehta, Johannes Klein, Lee Graber, Paul Maybee, Sriram Balasubramanian, Sanjib Saha, Satish R. Thatte, Paul F. Ringseth
  • Patent number: 7343589
    Abstract: A XLANG/s compiler recognizes a statement in XLANG/s code to make an assumption as to the success or failure of a specified transaction. The assignment states of variables are tracked and changes to such states are recorded. While processing XLANG/s code, the compiler determines whether the assignment state of a particular correlation, operation or the like is correct for the transaction being performed. If not, the compiler may generate an error message. Moreover, by using declarative assumptions such as if(succeeded(T)) or if(!succeeded(T)), definite-assignment analysis of shared state variables may cross transactional boundaries.
    Type: Grant
    Filed: June 18, 2003
    Date of Patent: March 11, 2008
    Assignee: Microsoft Corporation
    Inventors: Paul F. Ringseth, Donald James McCrady, Bimal Mehta, Paul Maybee
  • Patent number: 7210135
    Abstract: A XLANG/s compilation method is provided that uses data flow analysis of a program's flow graph to determine lifetimes of a data object. A flowgraph is created according to abstract computer instructions. A depth-first order is assigned to basic blocks and a dominance relationship between the basic blocks is determined. A determination is made as to whether any loops are present within the flowgraph and, if so, the loops are identified. A creation point, destruction point and lock point for the data object is determined. Instructions are inserted into the computer code to create the at least one data object at the creation point, to destroy the data object at the destruction point and to lock the data object at the lock point.
    Type: Grant
    Filed: August 26, 2003
    Date of Patent: April 24, 2007
    Assignee: Microsoft Corporation
    Inventors: Donald James McCrady, Paul F. Ringseth, Bimal Mehta
  • Patent number: 7194733
    Abstract: Instructions in an asynchronous transactional messaging language are transformed into instructions that are compatible with the web services. In one embodiment, the asynchronous transactional messaging language is XLANG/s, and the web service languages are the web services description language (WSDL) and the simple object access protocol (SOAP). A programmer simply writes high level declarative statements that pertain to the specific type of business transaction. During compilation, selected instructions are transformed into instructions that are compatible with web services. This transformation is transparent to the designer of the business application. The asynchronous transactional messaging language source files are compiled in an iterative compilation process. During each pass of this compilation process, different variables are parsed. The parsed results are logically organized in a tree structure. The tree structure is traversed in depth first traversal order.
    Type: Grant
    Filed: June 11, 2003
    Date of Patent: March 20, 2007
    Assignee: Microsoft Corporation
    Inventors: Paul F Ringseth, Donald James McCrady