Patents by Inventor Curt Oliver Hagenlocher

Curt Oliver Hagenlocher 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: 8499290
    Abstract: The present invention extends to methods, systems, and computer program products for creating text functions form a spreadsheet. Embodiments of the invention extract functions from spreadsheets and represent the functions in textual form. Representation in textual form promotes code reuse, clarify, expressive power, and better performance. Text can be rendered in virtually any programming language, such as, for example, C#, C++, Visual Basic (“VB”), etc. In some embodiments, programming language extensibility to support spreadsheet compatible data types and functions is utilized.
    Type: Grant
    Filed: June 15, 2010
    Date of Patent: July 30, 2013
    Assignee: Microsoft Corporation
    Inventors: John Benjamin Messerly, James J. Hugunin, Jonathon Michael Stall, Curt Oliver Hagenlocher
  • Patent number: 8381195
    Abstract: The present invention extends to methods, systems, and computer program products for implementing parallel loops with serial semantics. Embodiments of the invention provide a semantic transforms and codegen patterns that provide more efficient parallel loop implementations with serial loop semantics. Embodiments of the invention support assignments within for-loop bodies, support break/return constructs within for-loop bodies, and run transformations to covert serial constructs to parallel constructs.
    Type: Grant
    Filed: June 17, 2010
    Date of Patent: February 19, 2013
    Assignee: Microsoft Corporation
    Inventors: Jonathon Michael Stall, Curt Oliver Hagenlocher, John Benjamin Messerly, James J. Hugunin
  • Patent number: 8365143
    Abstract: Using language add-ins with one or more static extensibility points of an application host. The method includes searching for user code in a user code store. Some user code is found in the user code store. A determination is made as to the language of the user code from among a plurality of predefined languages. The user code is provided to a language provider for the determined language. A function invocation is received from an application host. The function invocation is matched to at least a portion of the user code. The at least a portion of user code corresponding to the function invocation is executed via the language provider.
    Type: Grant
    Filed: June 15, 2010
    Date of Patent: January 29, 2013
    Assignee: Microsoft Corporation
    Inventors: Curt Oliver Hagenlocher, Anthony Moore, John Lam
  • Publication number: 20110314365
    Abstract: The present invention extends to methods, systems, and computer program products for decompiling loops in a spreadsheet. Embodiments of the invention detect loops by walking a dependency graph on a spreadsheet. As nodes are encountered, sequences of the same formulas are looked for in a normalized representation of the spreadsheet (e.g., R1C1 notation). When the same formulas are identified, the formulas may represent a loop. The spatial structure of the cells is analyzed to determine which cells are to be stored in arrays and which cells can be loop carried dependencies.
    Type: Application
    Filed: June 17, 2010
    Publication date: December 22, 2011
    Applicant: Microsoft Corporation
    Inventors: John Benjamin Messerly, James J. Hugunin, Jonathon Michael Stall, Curt Oliver Hagenlocher
  • Publication number: 20110314461
    Abstract: The present invention extends to methods, systems, and computer program products for implementing parallel loops with serial semantics. Embodiments of the invention provide a semantic transforms and codegen patterns that provide more efficient parallel loop implementations with serial loop semantics. Embodiments of the invention support assignments within for-loop bodies, support break/return constructs within for-loop bodies, and run transformations to covert serial constructs to parallel constructs.
    Type: Application
    Filed: June 17, 2010
    Publication date: December 22, 2011
    Applicant: Microsoft Corporation
    Inventors: Jonathon Michael Stall, Curt Oliver Hagenlocher, John Benjamin Messerly, James J. Hugunin
  • Publication number: 20110307859
    Abstract: Using language add-ins with one or more static extensibility points of an application host. The method includes searching for user code in a user code store. Some user code is found in the user code store. A determination is made as to the language of the user code from among a plurality of predefined languages. The user code is provided to a language provider for the determined language. A function invocation is received from an application host. The function invocation is matched to at least a portion of the user code. The at least a portion of user code corresponding to the function invocation is executed via the language provider.
    Type: Application
    Filed: June 15, 2010
    Publication date: December 15, 2011
    Applicant: Microsoft Corporation
    Inventors: Curt Oliver Hagenlocher, Anthony Moore, John Lam
  • Publication number: 20110307874
    Abstract: The present invention extends to methods, systems, and computer program products for creating text functions form a spreadsheet. Embodiments of the invention extract functions from spreadsheets and represent the functions in textual form. Representation in textual form promotes code reuse, clarify, expressive power, and better performance. Text can be rendered in virtually any programming language, such as, for example, C#, C++, Visual Basic (“VB”), etc. In some embodiments, programming language extensibility to support spreadsheet compatible data types and functions is utilized.
    Type: Application
    Filed: June 15, 2010
    Publication date: December 15, 2011
    Applicant: Microsoft Corporation
    Inventors: John Benjamin Messerly, James J. Hugunin, Jonathon Michael Stall, Curt Oliver Hagenlocher