Patents by Inventor Brian M. Grunkemeyer
Brian M. Grunkemeyer 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: 8782607Abstract: An error handling system is described herein that provides a facility for controlling the behavior of software when the software violates a contract condition. The system provides configurable runtime behavior that takes place when a contract fails. The error handling system provides an event that a hosting application or other software code can register to handle and that the system invokes upon detecting a contract failure. The application's response to the event determines how the system handles the failure. If the event is unhandled, the system triggers an escalation policy that allows an administrator or application to specify how the system handles contract failures. Thus, the error handling system provides increased control over the handling of contract failures within software code.Type: GrantFiled: February 20, 2009Date of Patent: July 15, 2014Assignee: Microsoft CorporationInventors: Melitta L. G. Andersen, Michael Barnett, Manuel A. Fahndrich, Brian M. Grunkemeyer, Katherine E. King, Michael M. Magruder, Andrew J. Pardoe, Kumar Gaurav Khanna
-
Patent number: 8443338Abstract: An assembly aggregate comprising a virtual, logical view of an arbitrarily defined collection of intermediate code and metadata can be authored, factored, accessed, modified, and distributed. Multiple physical containers of assembly information can be aggregated to create a single logical assembly called an assembly aggregate. An assembly can thus be redefined as a logical view against (or projection over) the assembly aggregate. Such an assembly can be targeted to the requester: that is, an assembly can be redefined according to tool and/or execution context rather than conforming to explicit or implicit requirements enforced by the runtime.Type: GrantFiled: October 8, 2008Date of Patent: May 14, 2013Assignee: Microsoft CorporationInventors: Krzysztof J. Cwalina, Michael C. Fanning, Brian M. Grunkemeyer, Brent E. Rector, Barend H. Venter
-
Patent number: 8250524Abstract: In one embodiment, a computer system provides an application programming interface (API) for augmenting an application API. A computer system receives software code written in a second programming language indicating a user's intention to augment an application API with contracts from a contract API written in a first programming language. The software code includes a reference to the contract API. The contracts include assertions indicating appropriate use of the application API. The computer system accesses portions of the contract API according to the reference in the software code and compiles the received software code and the referenced portions of the contract API into an intermediate language (IL) version of the software code. The IL version is in an intermediate language common to both the first programming language and the second programming language. The IL version includes the assertions indicating appropriate use of the application API.Type: GrantFiled: December 21, 2007Date of Patent: August 21, 2012Assignee: Microsoft CorporationInventors: Michael Barnett, Manuel A. Fahndrich, Brian M. Grunkemeyer, Wolfram Schulte
-
Patent number: 8095513Abstract: A method and system for implementing a safe buffer is described herein. The method includes implementing a buffer class that ensures that accesses to memory are performed in a safe manner. The buffer class may be a handle to protected resources in memory. The buffer class may exploit methods to read and write to memory that ensures that read and writes are performed to valid memory locations within buffer bounds.Type: GrantFiled: June 5, 2006Date of Patent: January 10, 2012Assignee: Microsoft CorporationInventors: Brian M. Grunkemeyer, Alessandro P. Catorcini, Anthony J. Moore
-
Publication number: 20100251212Abstract: A version traversal system for objects, such as types, may include a reference to another version of an object with the type definition. The reference may be used to identify an older or newer version of the object which may be in a different assembly and may have a different simple name. The version traversal system may be used to compile applications written for the first version but compiled with assemblies from the second version, as well as serializing and deserializing objects from one version to another. The version traversal system may enable two way communications between applications that use two versions of a set of assemblies. The reference may include a fully qualified name or other identifiers.Type: ApplicationFiled: March 30, 2009Publication date: September 30, 2010Applicant: Microsoft CorporationInventors: Brian M. Grunkemeyer, Madhusudhan Talluri, Mauro M. Ottaviani, Mei-Chin Tsai, Brian K. Pepin
-
Publication number: 20100218169Abstract: An error handling system is described herein that provides a facility for controlling the behavior of software when the software violates a contract condition. The system provides configurable runtime behavior that takes place when a contract fails. The error handling system provides an event that a hosting application or other software code can register to handle and that the system invokes upon detecting a contract failure. The application's response to the event determines how the system handles the failure. If the event is unhandled, the system triggers an escalation policy that allows an administrator or application to specify how the system handles contract failures. Thus, the error handling system provides increased control over the handling of contract failures within software code.Type: ApplicationFiled: February 20, 2009Publication date: August 26, 2010Applicant: MICROSOFT CORPORATIONInventors: Melitta L. G. Andersen, Michael Barnett, Manuel A. Fahndrich, Brian M. Grunkemeyer, Katherine E. King, Michael M. Magruder, Andrew J. Pardoe, Kumar Gaurav Khanna
-
Publication number: 20100083238Abstract: One or more embodiments, described herein, are directed towards a technology for performing transformations and/or modifications to managed byte code. In order to perform the transformations and/or modifications, a mutable programmable representation (MPR) is laid out. A programmer then performs an arbitrary adjustment using the MPR.Type: ApplicationFiled: September 30, 2008Publication date: April 1, 2010Applicant: Microsoft CorporationInventors: Michael Barnett, Michael C. Fanning, Brian M. Grunkemeyer, Barend H. Venter
-
Patent number: 7685574Abstract: Authored code may include a notification that no tolerance for failure or corruption is expected for an identified sub-set of the code. Any potential failure point, which may be induced by a runtime environment routine or sub-routine, that is associated with the identified sub-set of code may then be identified and hoisted to a point apart from the identified sub-set of code.Type: GrantFiled: September 29, 2004Date of Patent: March 23, 2010Assignee: Microsoft CorporationInventors: Christopher W Brumme, Sean E Trowbridge, Rudi Martin, WeiWen Liu, Brian M. Grunkemeyer, Mahesh Prakriya
-
Patent number: 7673051Abstract: The exposure and usage of one or more particular physical and logical resources by methods within an isolation boundary may be annotated so as to preempt resource usage conflicts. Further described are tools, contracts, and collaborative processes for at least identifying potential resource usage conflicts. More particularly, the example tools, contracts, and collaborative processes may be used to annotate at least one of exposure and consumption of one or more particular physical and logical resources by methods within an isolation boundary.Type: GrantFiled: July 26, 2005Date of Patent: March 2, 2010Assignee: Microsoft CorporationInventors: Jesse D. Kaplan, Brandon Scott Wadsworth, Brian M. Grunkemeyer
-
Patent number: 7610579Abstract: A finalizer may include a notification that no tolerance for failure or corruption is expected. Any potential failure point, which may be induced by a runtime execution environment routine or subroutine that is associated with the finalizer may then be prepared apart from the finalizer.Type: GrantFiled: December 10, 2004Date of Patent: October 27, 2009Assignee: Microsoft CorporationInventors: Sean E. Trowbridge, Brian M. Grunkemeyer, Christopher W. Brumme, Mahesh Prakriya, Patrick H. Dussud, Ian H. Carmichael
-
Patent number: 7610322Abstract: Enabling secure and efficient marshaling, utilization, and releasing of handles in either of an operating system or runtime environment includes wrapping a handle with a counter to tabulate a number of threads using currently using the handle. Thus, handle administration is implemented to circumvent potential security risks, avoid correctness problems, and foster more efficient handle releasing.Type: GrantFiled: May 25, 2004Date of Patent: October 27, 2009Assignee: Microsoft CorporationInventors: Brian M. Grunkemeyer, David Sebastien Mortenson, Rudi Martin, Sonja Keserovic, Mahesh Prakriya, Christopher W. Brumme
-
Patent number: 7581231Abstract: An application program interface (API) provides a set of functions for application developers who build Web applications on Microsoft Corporation's .NET™ platform.Type: GrantFiled: February 28, 2002Date of Patent: August 25, 2009Assignee: Microsoft CorporationInventors: Adam W. Smith, Anthony J. Moore, Anders Hejlsberg, Brian A. LaMacchia, Blaine J. Dockter, Brian M. Grunkemeyer, Brian K. Pepin, Caleb L. Doise, Christopher W. Brumme, Chad W. Royal, Christopher L. Anderson, Corina E. Feuerstein, Craig T. Sinclair, Daniel Dedu-Constantin, Daniel Takacs, David S. Ebbo, David S. Mortenson, Erik B. Christensen, Erik B. Olson, Fabio A. Yeon, Giovanni M. Della-Libera, Gopala Krishna R. Kakivaya, Gregory D. Fee, Hany E. Ramadan, Jayanth V. Rajan, Jeffrey M. Cooperstein, Jonathan C. Hawkins, James H. Hogg, Joe D. Long, John I. McConnell, Jesus Ruiz-Scougall, James S. Miller, Julie D. Bennett, Jun Fang, Krzysztof J. Cwalina, Keith W. Ballinger, Lance E. Olson, Loren M. Kohnfelder, Luca Bolognese, Manu Vasandani, Mark T. Anders, Mark P. Ashton, Mark A. Boulter, Mark W. Fussell, Michael M. Magruder, Manish S. Prabhu, Neetu Rajpal, Nikhil Kothari, Nithyalakshmi Sampathkumar, Nicholas M. Kramer, Omri Gazitt, Radu Rares Palanca, Raja Krishnaswamy, Robert M. Howard, Ramasamy Krishnaswamy, Shawn P. Burke, Scott D. Guthrie, Sean E. Trowbridge, Seth M. Demsey, Shajan Dasan, Subhag P. Oak, Sreeram Nivarthi, Stefan H. Pharies, Suzanne M. Cook, Susan M. Warren, Tarun Anand, Travis J. Muhlestein, William A. Adams, Yan Leshinsky, Yann E. Christensen, Yung-shin Lin, Stephen J. Millet, Joseph Roxe, Alan Boshier, Henry L. Sanders, David Bau
-
Patent number: 7571428Abstract: Reliability contracts declare an intent of executable code, and may be associated with at least a portion of the executable code. The intent of the executable code in the face of particular conditions may be declared for the use in any one of a programming, execution, or testing environment.Type: GrantFiled: May 14, 2004Date of Patent: August 4, 2009Assignee: Microsoft CorporationInventors: Rudi Martin, Mahesh Prakriya, Brian M. Grunkemeyer, Christopher W. Brumme, Sean E. Trowbridge, Weiwen Liu
-
Patent number: 7555757Abstract: An application program interface (API) provides a set of functions, including a set of base classes and types that are used in substantially all applications accessing the API, for application developers who build Web applications on Microsoft Corporation's .NET™ platform.Type: GrantFiled: June 23, 2005Date of Patent: June 30, 2009Assignee: Microsoft CorporationInventors: Adam W. Smith, Anthony J. Moore, Brian A. LaMacchia, Anders Hejlsberg, Brian M. Grunkemeyer, Caleb L. Doise, Christopher W. Brumme, Christopher L. Anderson, Corina E. Feuerstein, Craig T. Sinclair, Daniel Takacs, David S. Ebbo, David O. Driver, David S. Mortenson, Erik B. Christensen, Erik B. Olson, Fabio A. Yeon, Gopala Krishna R. Kakivaya, George D. Fee, Hany E. Ramadan, Henry L. Sanders, II, Jayanth V. Rajan, Jeffrey M. Cooperstein, Jonathan C. Hawkins, James H. Hogg, Joe D. Long, John I. McConnell, Jesus Ruiz-Scougall, James S. Miller, Julie D. Bennett, Krzysztof J. Cwalina, Lance E. Olson, Loren M. Kohnfelder, Michael M. Magruder, Manish S. Prabhu, Radu Rares Palanca, Raja Krishnaswamy, Shawn P. Burke, Sean E. Trowbridge, Seth M. Demsey, Shajan Dasan, Stefan H. Pharies, Suzanne M. Cook, Tarun Anand, Travis J. Muhlestein, Yann E. Christensen, Yung-shin Lin, Ramasamy Krishnaswamy, Joseph Roxe, Alan Boshier, David Bau
-
Publication number: 20090164973Abstract: In one embodiment, a computer system provides an application programming interface (API) for augmenting an application API. A computer system receives software code written in a second programming language indicating a user's intention to augment an application API with contracts from a contract API written in a first programming language. The software code includes a reference to the contract API. The contracts include assertions indicating appropriate use of the application API. The computer system accesses portions of the contract API according to the reference in the software code and compiles the received software code and the referenced portions of the contract API into an intermediate language (IL) version of the software code. The IL version is in an intermediate language common to both the first programming language and the second programming language. The IL version includes the assertions indicating appropriate use of the application API.Type: ApplicationFiled: December 21, 2007Publication date: June 25, 2009Applicant: Microsoft CorporationInventors: Michael Barnett, Manuel A. Fahndrich, Brian M. Grunkemeyer, Wolfram Schulte
-
Patent number: 7487380Abstract: Deterministic code execution may be recovered for programs or portions thereof by implementing a programmable policy on a system host to escalate the scope of a code discard based on various parameters.Type: GrantFiled: October 14, 2004Date of Patent: February 3, 2009Assignee: Microsoft CorporationInventors: Christopher W Brumme, WeiWen Liu, Mahesh Prakriya, Sean E Trowbridge, Ian H Carmichael, Patrick H Dussud, Brian M Grunkemeyer
-
Publication number: 20070283113Abstract: A method and system for implementing a safe buffer is described herein. The method includes implementing a buffer class that ensures that accesses to memory are performed in a safe manner. The buffer class may be a handle to protected resources in memory. The buffer class may exploit methods to read and write to memory that ensures that read and writes are performed to valid memory locations within buffer bounds.Type: ApplicationFiled: June 5, 2006Publication date: December 6, 2007Applicant: Microsoft CorporationInventors: Brian M. Grunkemeyer, Alessandro P. Catorcini, Anthony J. Moore
-
Patent number: 7280558Abstract: A system and method for converting code associated with synchronous method calls to code that can be employed to perform asynchronous method calls and for supporting such asynchronous method calls is provided. The system includes a pattern generator that can break code for a synchronous method call into one or more constituent parts including a begin asynchronous operation method, an end asynchronous operation method, an asynchronous call state object and an asynchronous call result object. The system includes a pattern data store that holds data associated with converting a synchronous method call to an asynchronous method call, which facilitates employing the system consistently across environments like file input/output, stream input/output, socket input/output, networking, remoting channels, proxies, web forms, web services and messaging message queues.Type: GrantFiled: June 28, 2001Date of Patent: October 9, 2007Assignee: Microsoft CorporationInventors: Brian M. Grunkemeyer, Jonathan C. Hawkins, Christopher W. Brumme, Gopala Krishna R. Kakivaya, Lance E. Olson, Dmitry Robsman, Henry L. Sanders, II
-
Patent number: 7248603Abstract: A system and method for converting code associated with synchronous method calls to code that can be employed to perform asynchronous method calls and for supporting such asynchronous method calls is provided. The system includes a pattern generator that can break code for a synchronous method call into one or more constituent parts including a begin asynchronous operation method, an end asynchronous operation method, an asynchronous call state object and an asynchronous call result object. The system includes a pattern data store that holds data associated with converting a synchronous method call to an asynchronous method call, which facilitates employing the system consistently across environments like file input/output, stream input/output, socket input/output, networking, remoting channels, proxies, web forms, web services and messaging message queues.Type: GrantFiled: June 21, 2006Date of Patent: July 24, 2007Assignee: Microsoft CorporationInventors: Brian M. Grunkemeyer, Jonathan C. Hawkins, Christopher W. Brumme, Gopala Krishna R. Kakivaya, Lance E. Olson, Dmitry Robsman, Henry L. Sanders, II
-
Patent number: 7017162Abstract: An application program interface (API) provides a set of functions, including a set of base classes and types that are used in substantially all applications accessing the API, for application developers who build Web applications on Microsoft Corporation's .NET™ platform.Type: GrantFiled: July 10, 2001Date of Patent: March 21, 2006Assignee: Microsoft CorporationInventors: Adam W. Smith, Anthony J. Moore, Brian A. LaMacchia, Anders Hejlsberg, Brian M. Grunkemeyer, Caleb L. Doise, Christopher W. Brumme, Christopher L. Anderson, Corina E. Feuerstein, Craig T. Sinclair, Daniel Takacs, David S. Ebbo, David O. Driver, David S. Mortenson, Erik B. Christensen, Erik B. Olson, Fabio A. Yeon, Gopala Krishna R. Kakivaya, Gregory D. Fee, Hany E. Ramadan, Henry L. Sanders, Jayanth V. Rajan, Jeffrey M. Cooperstein, Jonathan C. Hawkins, James H. Hogg, Joe D. Long, John I. McConnell, Jesus Ruiz-Scougall, James S. Miller, Julie D. Bennett, Krzysztof J. Cwalina, Lance E. Olson, Loren M. Kohnfelder, Michael M. Magruder, Manish S. Prabhu, Radu Rares Palanca, Raja Krishnaswamy, Shawn P. Burke, Sean E. Trowbridge, Seth M. Demsey, Shajan Dasan, Stefan H. Pharies, Suzanne M. Cook, Tarun Anand, Travis J. Muhlestein, Yann E. Christensen, Yung-shin Lin, Ramasamy Krishnaswamy, Joseph Roxe, Alan Boshier, David Bau