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).
-
Patent number: 8732732Abstract: 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: GrantFiled: June 25, 2013Date of Patent: May 20, 2014Assignee: Microsoft CorporationInventors: Henricus Johannes Maria Meijer, Brian C. Beckman, David N. Schach, Amanda Silver, Paul A. Vick, Peter F. Drayton, Avner Y. Aharoni, Ralf Lammel
-
Publication number: 20130290987Abstract: 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: ApplicationFiled: June 25, 2013Publication date: October 31, 2013Inventors: Henricus Johannes Maria Meijer, Brian C. Beckman, David N. Schach, Amanda Silver, Paul A. Vick, Peter F. Drayton, Avner Y. Aharoni, Ralf Lammel
-
Patent number: 8473932Abstract: 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: GrantFiled: March 1, 2010Date of Patent: June 25, 2013Assignee: Microsoft CorporationInventors: Henricus Johannes Maria Meijer, Brian C. Beckman, Peter F. Drayton, David N. Schach, Ralf Lammel, Avner Y. Aharoni
-
Patent number: 8473971Abstract: 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: GrantFiled: September 6, 2005Date of Patent: June 25, 2013Assignee: Microsoft CorporationInventors: Henricus Johannes Maria Meijer, Brian C. Beckman, David N. Schach, Amanda Silver, Paul A. Vick, Peter F. Drayton, Avner Y. Aharoni, Ralf Lammel
-
Patent number: 8370391Abstract: An API for functionally updates to data represented in trees, such as XML trees, is provided. Functional updates can be implemented using an update combinator to search for matching nodes and apply an indicated function to those matching nodes. This API can be used in non-functional languages, such as procedural languages or scripting languages. Updates are performed without side effects since a shallow clone is created for at least a portion of a tree. Nodes of the tree can be streamed into memory so that only a portion of a large tree is present in memory at any time. Artificial intelligence can be used by the API to optimize performance under the circumstances, such as optimizing based on node type that is to be updated.Type: GrantFiled: March 25, 2008Date of Patent: February 5, 2013Assignee: Microsoft CorporationInventors: Ralf Lammel, Henricus Johannes Maria Meijer
-
Patent number: 8132093Abstract: 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: GrantFiled: August 14, 2006Date of Patent: March 6, 2012Assignee: Microsoft CorporationInventors: Ralf Lammel, Anders Hejlsberg, Andrew E. Kimball, David Lawrence Remy, Erik Meijer
-
Publication number: 20120042234Abstract: 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: ApplicationFiled: October 19, 2011Publication date: February 16, 2012Applicant: Microsoft CorporationInventors: Anton V. Lapounov, Ralf Lammel, Sergey Dubinets
-
Patent number: 8074166Abstract: 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: GrantFiled: September 13, 2006Date of Patent: December 6, 2011Assignee: Microsoft CorporationInventors: Anton V. Lapounov, Ralf Lammel, Sergey Dubinets
-
Patent number: 8037096Abstract: Memory efficient data processing is provided in a computer environment. A data representation or description is utilized to reduce memory footprint. A data structure can be serialized iteratively utilizing the representation rather than first loading the entire data structure to memory. Portions of the data structure can be materialized to and removed from memory as function of operational need.Type: GrantFiled: June 29, 2007Date of Patent: October 11, 2011Assignee: Microsoft CorporationInventors: Michael Craig Champion, Anders Hejlsberg, Andrew Eyring Kimball, Ralf Lammel, Henricus Johannes Maria Meijer, Ion Vasilian
-
Patent number: 8005848Abstract: Programming mechanisms for data parsing facilitate both clear code specification and efficient execution. Declarative style code can be employed to enable clear and concise specification of data parsing. Further, an efficient parsing approach can be utilized that enables processing of a data structure without first materializing the entire structure to memory. More specifically, streaming and/or selective materialization of portions of data to memory can be employed.Type: GrantFiled: June 28, 2007Date of Patent: August 23, 2011Assignee: Microsoft CorporationInventors: Michael Craig Champion, Anders Hejlsberg, Andrew Eyring Kimball, Ralf Lammel, Henricus Johannes Maria Meijer, David L. Remy, Ion Vasilian
-
Patent number: 7861229Abstract: 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: GrantFiled: March 16, 2006Date of Patent: December 28, 2010Assignee: Microsoft CorporationInventors: Ralf Lammel, Stanislav Kitsis, David L. Remy, Priyamvadha P. Lakshminarayanan
-
Publication number: 20100162218Abstract: 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: ApplicationFiled: March 1, 2010Publication date: June 24, 2010Applicant: Microsoft CorporationInventors: Henricus Johannes Maria Meijer, Brian C. Beckman, Peter F. Drayton, David N. Schach, Ralf Lammel, Avner Y. Aharoni
-
Patent number: 7694285Abstract: 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: GrantFiled: August 30, 2005Date of Patent: April 6, 2010Assignee: Microsoft CorporationInventors: Henricus Johannes Maria Meijer, Brian C. Beckman, Peter F. Drayton, David N. Schach, Ralf Lammel, Avner Y. Aharoni
-
Patent number: 7680765Abstract: 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: GrantFiled: December 27, 2006Date of Patent: March 16, 2010Assignee: Microsoft CorporationInventors: Henricus Johannes Maria Meijer, Ralf Lammel, Brian C. Beckman
-
Patent number: 7640470Abstract: 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: GrantFiled: August 21, 2006Date of Patent: December 29, 2009Assignee: Microsoft CorporationInventors: Ralf Lammel, Wolfram Schulte
-
Patent number: 7631003Abstract: Systems and methods that facilitate mapping from an XML schema to an object model, while mitigating object impedance mismatch. A normalization component can flatten nesting scopes and/or and reduce the number of types in subtyping hierarchies, and a core mapping component can supply the object type. A subsequent object level transformation can typically be performed on the object model, to create the final object model.Type: GrantFiled: February 20, 2007Date of Patent: December 8, 2009Assignee: Microsoft CorporationInventor: Ralf Lammel
-
Publication number: 20090248624Abstract: An API for functionally updates to data represented in trees, such as XML trees, is provided. Functional updates can be implemented using an update combinator to search for matching nodes and apply an indicated function to those matching nodes. This API can be used in non-functional languages, such as procedural languages or scripting languages. Updates are performed without side effects since a shallow clone is created for at least a portion of a tree. Nodes of the tree can be streamed into memory so that only a portion of a large tree is present in memory at any time. Artificial intelligence can be used by the API to optimize performance under the circumstances, such as optimizing based on node type that is to be updated.Type: ApplicationFiled: March 25, 2008Publication date: October 1, 2009Applicant: MICROSOFT CORPORATIONInventors: Ralf Lammel, Henricus Johannes Maria Meijer
-
Publication number: 20090006429Abstract: Programming mechanisms for data parsing facilitate both clear code specification and efficient execution. Declarative style code can be employed to enable clear and concise specification of data parsing. Further, an efficient parsing approach can be utilized that enables processing of a data structure without first materializing the entire structure to memory. More specifically, streaming and/or selective materialization of portions of data to memory can be employed.Type: ApplicationFiled: June 28, 2007Publication date: January 1, 2009Applicant: MICROSOFT CORPORATIONInventors: Michael Craig Champion, Anders Hejlsberg, Andrew Eyring Kimball, Ralf Lammel, Henricus Johannes Maria Meijer, David L. Remy, Ion Vasilian
-
Publication number: 20090006450Abstract: Memory efficient data processing is provided in a computer environment. A data representation or description is utilized to reduce memory footprint. A data structure can be serialized iteratively utilizing the representation rather than first loading the entire data structure to memory. Portions of the data structure can be materialized to and removed from memory as function of operational need.Type: ApplicationFiled: June 29, 2007Publication date: January 1, 2009Applicant: MICROSOFT CORPORATIONInventors: Michael Craig Champion, Anders Hejlsberg, Andrew Eyring Kimball, Ralf Lammel, Henricus Johannes Maria Meijer, Ion Vasilian
-
Publication number: 20080201351Abstract: Systems and methods that facilitate mapping from an XML schema to an object model, while mitigating object impedance mismatch. A normalization component can flatten nesting scopes and/or and reduce the number of types in subtyping hierarchies, and a core mapping component can supply the object type. A subsequent object level transformation can typically be performed on the object model, to create the final object model.Type: ApplicationFiled: February 20, 2007Publication date: August 21, 2008Applicant: MICROSOFT CORPORATIONInventor: Ralf Lammel