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: 8443373Abstract: 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: GrantFiled: January 26, 2010Date of Patent: May 14, 2013Assignee: Microsoft CorporationInventors: Genevieve Fernandes, Marko Radmilac, Donald James McCrady, Krishnan Varadarajan
-
Patent number: 8214316Abstract: 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: GrantFiled: March 23, 2009Date of Patent: July 3, 2012Assignee: Microsoft CorporationInventors: Kavita Kamani, John Rummell, Donald James McCrady
-
Patent number: 8196122Abstract: 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: GrantFiled: February 16, 2007Date of Patent: June 5, 2012Assignee: Microsoft CorporationInventors: Donald James McCrady, Paul F. Ringseth, Bimal Mehta
-
Publication number: 20110185364Abstract: 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: ApplicationFiled: January 26, 2010Publication date: July 28, 2011Applicant: MICROSOFT CORPORATIONInventors: Genevieve Fernandes, Marko Radmilac, Donald James McCrady, Krishnan Varadarajan
-
Patent number: 7971195Abstract: 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: GrantFiled: February 2, 2007Date of Patent: June 28, 2011Assignee: Microsoft CorporationInventors: Paul F. Ringseth, Donald James McCrady
-
Patent number: 7836436Abstract: 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: GrantFiled: October 10, 2006Date of Patent: November 16, 2010Assignee: Microsoft CorporationInventors: Paul F Ringseth, Donald James McCrady
-
Publication number: 20100241604Abstract: 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: ApplicationFiled: March 23, 2009Publication date: September 23, 2010Applicant: Microsoft CorporationInventors: Kavita Kamani, John Rummell, Donald James McCrady
-
Patent number: 7343589Abstract: 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: GrantFiled: June 18, 2003Date of Patent: March 11, 2008Assignee: Microsoft CorporationInventors: Paul F. Ringseth, Donald James McCrady, Bimal Mehta, Paul Maybee
-
Patent number: 7210135Abstract: 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: GrantFiled: August 26, 2003Date of Patent: April 24, 2007Assignee: Microsoft CorporationInventors: Donald James McCrady, Paul F. Ringseth, Bimal Mehta
-
Patent number: 7194733Abstract: 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: GrantFiled: June 11, 2003Date of Patent: March 20, 2007Assignee: Microsoft CorporationInventors: Paul F Ringseth, Donald James McCrady
-
Publication number: 20040261066Abstract: 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: ApplicationFiled: June 18, 2003Publication date: December 23, 2004Applicant: Microsoft CorporationInventors: Paul F. Ringseth, Donald James McCrady, Bimal Mehta, Paul Maybee
-
Publication number: 20040255046Abstract: 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: ApplicationFiled: June 11, 2003Publication date: December 16, 2004Applicant: Microsoft CorporationInventors: Paul F. Ringseth, Donald James McCrady
-
Patent number: 6226786Abstract: 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: GrantFiled: December 17, 1997Date of Patent: May 1, 2001Assignee: International Business Machines CorporationInventors: Kevin Paul Hickman, Donald James McCrady, William Sarantakos, Kevin Alexander Stoodley, Brian Ward Thomson
-
Patent number: 6178548Abstract: 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: GrantFiled: December 17, 1997Date of Patent: January 23, 2001Assignee: International Business Machines CorporationInventors: Kevin Paul Hickman, Donald James McCrady, William Sarantakos, Kevin Alexander Stoodley, Brian Ward Thomson