Patents by Inventor Donald James McCrady

Donald James McCrady 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: 8443373
    Abstract: Embodiments are directed to dynamically allocating processing resources among a plurality of resource schedulers. A resource manager dynamically allocates resources to a first resource scheduler. The resource manager is configured to dynamically allocate resources among a plurality of resource schedulers, and each scheduler is configured to manage various processing resources. The resource manager determines that at least one of the processing resources dynamically allocated to the first resource scheduler is idle. The resource manager determines that at least one other resource scheduler needs additional processing resources and, based on the determination, loans the determined idle processing resource of the first resource scheduler to a second resource scheduler.
    Type: Grant
    Filed: January 26, 2010
    Date of Patent: May 14, 2013
    Assignee: Microsoft Corporation
    Inventors: Genevieve Fernandes, Marko Radmilac, Donald James McCrady, Krishnan Varadarajan
  • Patent number: 8214316
    Abstract: In an embodiment, a computer system determines that a first rule in a ruleset comprising a plurality of rules is to be executed, where the first rule includes a condition and an action that is to be performed when the first rule's condition is met. The computer system dynamically modifies the first rule's condition to include a portion of software code configured to monitor and receive notifications from a data-change notification system. The computer system executes the dynamically modified first rule and executes a second rule in the ruleset. The computer system receives a notification from the data-change notification system indicating that execution of the second rule's action has modified data values being monitored by the first rule's software code portion and that, as a result of the modification, the first rule is to be re-executed. The computer system also re-executes the first rule based on the received notification.
    Type: Grant
    Filed: March 23, 2009
    Date of Patent: July 3, 2012
    Assignee: Microsoft Corporation
    Inventors: Kavita Kamani, John Rummell, Donald James McCrady
  • Patent number: 8196122
    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: February 16, 2007
    Date of Patent: June 5, 2012
    Assignee: Microsoft Corporation
    Inventors: Donald James McCrady, Paul F. Ringseth, Bimal Mehta
  • Publication number: 20110185364
    Abstract: Embodiments are directed to dynamically allocating processing resources among a plurality of resource schedulers. A resource manager dynamically allocates resources to a first resource scheduler. The resource manager is configured to dynamically allocate resources among a plurality of resource schedulers, and each scheduler is configured to manage various processing resources. The resource manager determines that at least one of the processing resources dynamically allocated to the first resource scheduler is idle. The resource manager determines that at least one other resource scheduler needs additional processing resources and, based on the determination, loans the determined idle processing resource of the first resource scheduler to a second resource scheduler.
    Type: Application
    Filed: January 26, 2010
    Publication date: July 28, 2011
    Applicant: MICROSOFT CORPORATION
    Inventors: Genevieve Fernandes, Marko Radmilac, Donald James McCrady, Krishnan Varadarajan
  • Patent number: 7971195
    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: February 2, 2007
    Date of Patent: June 28, 2011
    Assignee: Microsoft Corporation
    Inventors: Paul F. Ringseth, Donald James McCrady
  • 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
  • Publication number: 20100241604
    Abstract: In an embodiment, a computer system determines that a first rule in a ruleset comprising a plurality of rules is to be executed, where the first rule includes a condition and an action that is to be performed when the first rule's condition is met. The computer system dynamically modifies the first rule's condition to include a portion of software code configured to monitor and receive notifications from a data-change notification system. The computer system executes the dynamically modified first rule and executes a second rule in the ruleset. The computer system receives a notification from the data-change notification system indicating that execution of the second rule's action has modified data values being monitored by the first rule's software code portion and that, as a result of the modification, the first rule is to be re-executed. The computer system also re-executes the first rule based on the received notification.
    Type: Application
    Filed: March 23, 2009
    Publication date: September 23, 2010
    Applicant: Microsoft Corporation
    Inventors: Kavita Kamani, John Rummell, Donald James McCrady
  • 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
  • Publication number: 20040261066
    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: Application
    Filed: June 18, 2003
    Publication date: December 23, 2004
    Applicant: Microsoft Corporation
    Inventors: Paul F. Ringseth, Donald James McCrady, Bimal Mehta, Paul Maybee
  • Publication number: 20040255046
    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: Application
    Filed: June 11, 2003
    Publication date: December 16, 2004
    Applicant: Microsoft Corporation
    Inventors: Paul F. Ringseth, Donald James McCrady
  • Patent number: 6226786
    Abstract: The invention provides a technique for generating minimal debugging type information in a distinguished compile unit while still supporting the debugging of classes for which the distinguished compile unit is not, in this module, being built or debugged, where the debugging information for the classes has been previously compiled into one or more object modules. On detecting a reference to a type in a program, the compiler inserts code into the module it is compiling to direct the linker where to locate the debugging information object module describing that type. Usually, the object module will be located in a separate link library, so the compiler directs the linker to add the debug library to the list of libraries from which it tries to resolve symbolic references, and to add a reference to an external linkage symbol defined in the object module describing the type. The linker will have to resolve this symbol by adding the debug library into the link.
    Type: Grant
    Filed: December 17, 1997
    Date of Patent: May 1, 2001
    Assignee: International Business Machines Corporation
    Inventors: Kevin Paul Hickman, Donald James McCrady, William Sarantakos, Kevin Alexander Stoodley, Brian Ward Thomson
  • Patent number: 6178548
    Abstract: A binary class library is adapted to provide full debugging type information particularly for use during program compilation in a minimal debug-generation mode. The library includes, a compile unit that #includes all the include files describing the classes that a given class library implements and exports. The compile unit also includes code defining a symbol with an external linkage. The resulting object module is put into the binary class library or a separate debug library. An inclusion direction and an external linkage symbol to the debug library are added to all include files for the class library that are #included by any program using its classes. These additions cause the compiler to direct the linker to add the debug library to the list of libraries from which it tries to resolve symbolic references, and to add a reference to the external linkage symbol that the linker will have to resolve by adding the debug library into the link.
    Type: Grant
    Filed: December 17, 1997
    Date of Patent: January 23, 2001
    Assignee: International Business Machines Corporation
    Inventors: Kevin Paul Hickman, Donald James McCrady, William Sarantakos, Kevin Alexander Stoodley, Brian Ward Thomson