Patents by Inventor Ralf Lammel

Ralf Lammel 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: 20080162409
    Abstract: Iterate-aggregate shape queries are executable in an efficient parallel manner. Techniques are utilized that leverage properties of aggregations to implement such a query in a highly parallelized manner utilizing one or both of vertical and horizontal parallelism. More specifically, queries can be recursively evaluated in parallel utilizing partitioning and repartitioning mechanisms. Distributed query execution results over a subset of input data are repartitioned and aggregated to produce a final result.
    Type: Application
    Filed: December 27, 2006
    Publication date: July 3, 2008
    Applicant: MICROSOFT CORPORATION
    Inventors: Henricus Johannes Maria Meijer, Ralf Lammel, Brian C. Beckman
  • Publication number: 20080065941
    Abstract: Generation of test data for systems having functionality subject to a grammar or other sort of meta-data is automated by a controlled combinatorial approximation of naïve combinatorial coverage. A suite of control mechanisms are applied to an algorithm that generates test data to provide well-defined and understandable approximations of full combinatorial coverage.
    Type: Application
    Filed: August 21, 2006
    Publication date: March 13, 2008
    Applicant: Microsoft Corporation
    Inventors: Ralf Lammel, Wolfram Schulte
  • Publication number: 20080040360
    Abstract: A design pattern for choice types in object oriented programming languages is described herein. The design pattern enables discrimination among branch types in a type-safe and discoverable manner. Additionally, the design pattern enables object types that will eventually serve as branch types to be initially defined without placing them in a fixed class hierarchy. Hence, these object types can be initially defined without the need to anticipate that they will later be used as branch types. Furthermore, these object types can serve as branch types for multiple choice types, without the need to anticipate the names or compositions of the choice types when the branch object types are initially defined.
    Type: Application
    Filed: August 14, 2006
    Publication date: February 14, 2008
    Applicant: Microsoft Corporation
    Inventors: Erik Meijer, Ralf Lammel
  • Publication number: 20080040656
    Abstract: Object instance annotation technology is disclosed. This technology is capable of annotating any number of instances for any number of objects. Object instance annotations can be of various types, and annotations can serve as data extensions. Objects are enabled for annotation either by developers, or, alternatively, automatically by a programming language or framework. Furthermore, an interface is provided for annotations. This interface has a variety of operations, some of which allow for adding, retrieving, or removing annotations. Annotations can be reference types or even value types. They may also be private class types. Once object instances are enabled for annotating, and the interface is set up, this interface can annotate a multitude of different kinds of objects. For example, it can annotate generic objects, XML trees, CodeDom trees, and so on.
    Type: Application
    Filed: August 14, 2006
    Publication date: February 14, 2008
    Applicant: Microsoft Corporation
    Inventors: Ralf Lammel, Anders Hejlsberg, Andrew E. Kimball, David Lawrence Remy, Erik Meijer
  • Publication number: 20070245325
    Abstract: Type inference techniques are provided for use in compiling an Extensible Markup Language Transforms (XSLT) stylesheet into a compiled XSLT processor. Using “variant” storages instead of an appropriate efficient representation is both memory-costly (requires more space) and computationally inefficient (requires runtime type switching during execution of the expression). Type inference may be used to determine what types may be assigned to variables and parameters during execution of an XSLT program.
    Type: Application
    Filed: September 13, 2006
    Publication date: October 18, 2007
    Applicant: Microsoft Corporation
    Inventors: Anton V. Lapounov, Ralf Lammel, Sergey Dubinets
  • Publication number: 20070245330
    Abstract: Techniques are provided for performing focus inference when compiling an Extensible Markup Language Transforms (XSLT) stylesheet into a compiled XSLT processor. In XPath/XSLT, expression evaluation occurs with respect to the dynamic context. In XPath, the part of the dynamic context, related to the context node-set, is called the “focus” of the expression. Conceptually, the focus would need to be systematically computed and propagated along the recursive execution of XSLT templates. This is costly. Focus inference enables the more efficient execution of XSLT programs since the inferred focus information can be used directly by a code generator in an XSLT compilation architecture.
    Type: Application
    Filed: September 13, 2006
    Publication date: October 18, 2007
    Applicant: Microsoft Corporation
    Inventors: Anton V. Lapounov, Ralf Lammel, Sergey Dubinets
  • Publication number: 20070220486
    Abstract: A schema code complexity analysis architecture that computes complexity data for output to a code designer. The complexity data can be in the form of a number and/or complexity level. A schema component is provided for processing schema code, and a metrics component, for outputting a complexity value based on complexity of the schema code. In one implementation, the schema code is based on an XML schema, and the metrics component employs a newly-defined variation of a McCabe cyclomatic complexity metric to determine the complexity value. The decisions employed for computing schema complexity can include choices, occurrence constraints, element references to substitution groups, type references to types that are extended or restricted, a multiplicity of root element declarations, and nillable elements.
    Type: Application
    Filed: March 16, 2006
    Publication date: September 20, 2007
    Applicant: Microsoft Corporation
    Inventors: Ralf Lammel, Stanislav Kitsis, David L. Remy, Priyamvadha P. Lakshminarayanan
  • Publication number: 20070055978
    Abstract: Systems and methods that enhance and balance a late binding and an early binding in a programming language, via supplying an option component to opt-in (or opt-out) late binding, and wherein a late binding is triggered based on a static type for the variable (e.g., object or a type/string.) Additionally, the variable is enabled to have different static types at different regions (e.g., a program fragment) of the programming language.
    Type: Application
    Filed: September 6, 2005
    Publication date: March 8, 2007
    Applicant: Microsoft Corporation
    Inventors: Henricus Meijer, Brian Beckman, David Schach, Amanda Silver, Paul Vick, Peter Drayton, Avner Aharoni, Ralf Lammel
  • Publication number: 20070050754
    Abstract: Systems and methods that enhance expressibility in a programming language (e.g., Visual Basic) via relaxation of artificial restrictions and extension of delegates associated therewith, without changing the runtime infrastructure. A stub is employed that can replace an impermissible expression in the programming language, to leverage the existing permissible expressions.
    Type: Application
    Filed: August 30, 2005
    Publication date: March 1, 2007
    Applicant: Microsoft Corporation
    Inventors: Henricus Meijer, Brian Beckman, Peter Drayton, David Schach, Ralf Lammel, Avner Aharoni
  • Publication number: 20070044066
    Abstract: Multiple programming languages can be embedded and supported within a single source. Programs nested with syntax from a plurality of languages (e.g., C#, SQL, XML . . . ), among other things, enable users to avail themselves of advantageous aspects of different languages for particular tasks. Language services that provide language specific functionality including but not limited to formatting, intelligent assist, auto completion, and coloring, can be employed and switched between to afford support for their respective languages in a mixed language source program. Similarly, mixed language programs can be compiled with language specific services or systems such as parsers, scanners and the like to process corresponding code portions.
    Type: Application
    Filed: August 19, 2005
    Publication date: February 22, 2007
    Applicant: Microsoft Corporation
    Inventors: Henricus Meijer, Brian Beckman, Avner Aharoni, David Schach, Peter Drayton, Ralf Lammel, Jose Blakeley, Cyrus Najmabadi