Patents by Inventor David Schach
David Schach 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: 7739223Abstract: A data mapping architecture for mapping between two or more data sources without modifying the metadata or structure of the data sources themselves. Data mapping also supports updates. The architecture also supports at least the case where data sources that are being mapped, are given, their schemas predefined, and cannot be changed. The architecture includes a mapping component that receives respective metadata from at least two arbitrary data models, and maps expressions between the data models.Type: GrantFiled: August 29, 2003Date of Patent: June 15, 2010Assignee: Microsoft CorporationInventors: Alexander Vaschillo, Ilker Cengiz, Bertan Ari, Srinivasa R. Burugapalli, Luca Bolognese, Avner Y. Aharoni, Steven D. White, Alex Laskos, Andrew J. Conrad, Todd F. Pfleiger, Jason Z. Zhu, Chris Suver, David Schach, Adam J. Wiener
-
Patent number: 7711739Abstract: The subject invention relates to systems and methods that augment node-based programming languages to facilitate efficient data manipulation of hierarchical data structures. In one aspect, a query or general purpose language system is provided. The system includes a query component to interact with hierarchical node-based data collections and a language extension component to augment the query component to facilitate interactions with the node-based data collections. The language extension component supplies various functions to filter the data collections at a granular level, re-shape the data collections, sort the data collections, or extend the data collections with computed nodes.Type: GrantFiled: January 25, 2005Date of Patent: May 4, 2010Assignee: Microsoft CorporationInventors: David Schach, Henricus Johannes Maria Meijer, Avner Y. Aharoni, Adam J. Wiener
-
Patent number: 7665073Abstract: The subject invention pertains to a compilation system and meta-object protocol to facilitate interaction with objects of various types including but not limited to XML documents. More specifically, a delineator or dot operator can be extended to hide idiosyncratic details of interacting with objects. Code details can be generated by a compiler behind the scenes. This enables a programmer to achieve the same results while writing much simpler and intuitive code.Type: GrantFiled: April 18, 2005Date of Patent: February 16, 2010Assignee: Microsoft CorporationInventors: Henricus Johannes Maria Meijer, Avner Y. Aharoni, David Schach
-
Patent number: 7661096Abstract: The subject invention pertains to systems and methods for iterating over or otherwise traversing a collection of objects or elements. More specifically, mechanisms are provided for handling both conventional non-nested streams such as enumeratables as well as nested streams. Nested streams provide a more efficient mechanism for traversing certain objects such as recursive generators. One problem with nested streams is that they need to be flattened or simplified. Techniques are provided herein to allow such streams to be flattened quickly and efficiently. Moreover, systems and methods are disclosed to preserve backward compatibility of optimized nested stream processing with conventional non-nested streams.Type: GrantFiled: January 28, 2005Date of Patent: February 9, 2010Assignee: Microsoft CorporationInventors: Henricus Johannes Maria Meijer, David Schach, Avner Y. Aharoni, Wolfram Schulte
-
Patent number: 7574701Abstract: A special syntax is developed to differentiate between accesses to a primary and one or more secondary object protocols in a programming language. The syntax allows the compiler to differentiate between the primary and secondary object model based on syntax, rather than type. The syntax is created in such a way as to approximate the syntax of the secondary object model, and allows the user to dynamically generate member names.Type: GrantFiled: August 21, 2006Date of Patent: August 11, 2009Assignee: Microsoft CorporationInventors: Anders Hejlsberg, Henricus Johannes Maria Meijer, David Schach, Avner Aharoni, Brian Beckman, Andrew Kimball
-
Publication number: 20080046456Abstract: A special syntax is developed to differentiate between accesses to a primary and one or more secondary object protocols in a programming language. The syntax allows the compiler to differentiate between the primary and secondary object model based on syntax, rather than type. The syntax is created in such a way as to approximate the syntax of the secondary object model, and allows the user to dynamically generate member names.Type: ApplicationFiled: August 21, 2006Publication date: February 21, 2008Applicant: Microsoft CorporationInventors: Anders Hejlsberg, Henricus Johannes Maria Meijer, David Schach, Avner Aharoni, Brian Beckman, Andrew Kimball
-
Publication number: 20070074185Abstract: Systems and methods that enhance a programming language with late binding via employing expressions of the form “Expression” in syntactic positions—wherein previously only compile-time constants were allowed. In a related aspect, the subject innovation can parameterize over a member name, via examining the grammar of the language (and all the available helpers) and replace identifiers or constants with an expression(s).Type: ApplicationFiled: August 30, 2005Publication date: March 29, 2007Applicant: Microsoft CorporationInventors: Henricus Meijer, Peter Drayton, Brian Beckman, Paul Vick, Amanda Silver, David Schach, Avner Aharoni
-
Publication number: 20070055978Abstract: 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: September 6, 2005Publication date: March 8, 2007Applicant: Microsoft CorporationInventors: Henricus Meijer, Brian Beckman, David Schach, Amanda Silver, Paul Vick, Peter Drayton, Avner Aharoni, Ralf Lammel
-
Publication number: 20070050348Abstract: The subject disclosure pertains to coding assistance based on context and user preference. Assistance can be provided to facilitate specifying queries and more particularly query comprehension specification. Programmatic support can include but is not limited to providing type information for collections in scope, automatic keyword and/or query clause generation, error identification and tips.Type: ApplicationFiled: August 30, 2005Publication date: March 1, 2007Applicant: Microsoft CorporationInventors: Avner Aharoni, Henricus Maria Meijer, Brian Beckman, David Schach, Peter Drayton, Amanda Silver, Paul Vick
-
Publication number: 20070050380Abstract: Systems and methods that enhance a programming language by introducing null unification on a type level in addition to a value level, for static types of both reference and value types T. An operator that adds a level of nullability (and removes such nullability) is introduced without a mention of the actual type, to steer overloading in a precise manner.Type: ApplicationFiled: August 30, 2005Publication date: March 1, 2007Applicant: Microsoft CorporationInventors: Henricus Meijer, Amanda Silver, Brian Beckman, Paul Vick, Avner Aharoni, David Schach, Peter Drayton
-
Publication number: 20070050754Abstract: 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: August 30, 2005Publication date: March 1, 2007Applicant: Microsoft CorporationInventors: Henricus Meijer, Brian Beckman, Peter Drayton, David Schach, Ralf Lammel, Avner Aharoni
-
Publication number: 20070043760Abstract: An architecture that that extends conventional computer programming languages that compile into an instance of an extensible markup language (XML) document object model (DOM) to provide support for XML literals in the underlying programming language. This architecture facilitates a convenient short cut by replacing the complex explicit construction required by conventional systems to create an instance of a DOM with a concise XML literal for which conventional compilers can translate into the appropriate code. The architecture allows these XML literals to be embedded with expressions, statement blocks or namespaces to further enrich the power and versatility. In accordance therewith, context information describing the position and data types that an XML DOM can accept can be provided to the programmer via, for example, an integrated development environment.Type: ApplicationFiled: August 22, 2005Publication date: February 22, 2007Applicant: Microsoft CorporationInventors: Henricus Johannes Maria Meijer, David Schach, Avner Aharoni, Peter Drayton, Brian Beckman, Amanda Silver, Paul Vick
-
Publication number: 20070043702Abstract: This disclosure pertains to the interaction between query expressions and metadata. Metadata, for example provided by one or more schemas, can supply information over a domain to be queried and/or navigated. This metadata can be applied to the query expression, or vice versa, to return information about the domain and/or the query expression.Type: ApplicationFiled: August 19, 2005Publication date: February 22, 2007Applicant: Microsoft CorporationInventors: Priyamvadha Lakshminarayanan, Avner Aharoni, Henricus Meijer, David Schach
-
Publication number: 20070044066Abstract: 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: ApplicationFiled: August 19, 2005Publication date: February 22, 2007Applicant: Microsoft CorporationInventors: Henricus Meijer, Brian Beckman, Avner Aharoni, David Schach, Peter Drayton, Ralf Lammel, Jose Blakeley, Cyrus Najmabadi
-
Publication number: 20070038978Abstract: The subject disclosure pertains to layering of a plurality of type systems. A development environment and language compilers can support multiple data models and their type systems in the same program. Elements of a program such as expressions can then be associated with several types from the multiple type systems. Compilers can employ the information provided by additional type systems to improve static type checking. Furthermore, the information can be bubbled up to a user in a plurality of forms including but not limited to intelligent assistance, auto-completion, tool tips, error information, and return types to enhance the program development experience.Type: ApplicationFiled: August 11, 2005Publication date: February 15, 2007Applicant: Microsoft CorporationInventors: Henricus Meijer, David Schach, Avner Aharoni, Peter Drayton
-
Publication number: 20060236226Abstract: The subject invention pertains to a compilation system and meta-object protocol to facilitate interaction with objects of various types including but not limited to XML documents. More specifically, a delineator or dot operator can be extended to hide idiosyncratic details of interacting with objects. Code details can be generated by a compiler behind the scenes. This enables a programmer to achieve the same results while writing much simpler and intuitive code.Type: ApplicationFiled: April 18, 2005Publication date: October 19, 2006Applicant: Microsoft CorporationInventors: Henricus Meijer, Avner Aharoni, David Schach
-
Publication number: 20060167867Abstract: The subject invention relates to systems and methods that augment node-based programming languages to facilitate efficient data manipulation of hierarchical data structures. In one aspect, a query or general purpose language system is provided. The system includes a query component to interact with hierarchical node-based data collections and a language extension component to augment the query component to facilitate interactions with the node-based data collections. The language extension component supplies various functions to filter the data collections at a granular level, re-shape the data collections, sort the data collections, or extend the data collections with computed nodes.Type: ApplicationFiled: January 25, 2005Publication date: July 27, 2006Applicant: Microsoft CorporationInventors: David Schach, Henricus Meijer, Avner Aharoni, Adam Wiener
-
Publication number: 20060101423Abstract: Data is requested by an XML application conforming to the XML data model. The data is stored in an SQL database conforming to the relational data model. A mapping component transforms the XML query into an SQL query using a mapping component comprising instructions obtained from an instruction set defined by a mapping algebra. The transformed operation is used to retrieve the data. Once retrieved, the algebraically defined mapping component transforms the SQL data from data conforming to the relational data model to data conforming to the XML data for use in the XML application.Type: ApplicationFiled: October 1, 2004Publication date: May 11, 2006Applicant: Microsoft CorporationInventors: Avner Aharoni, David Schach, Erik Meijer
-
Publication number: 20050183071Abstract: The subject invention pertains to systems and methods for iterating over or otherwise traversing a collection of objects or elements. More specifically, mechanisms are provided for handling both conventional non-nested streams such as enumeratables as well as nested streams. Nested streams provide a more efficient mechanism for traversing certain objects such as recursive generators. One problem with nested streams is that they need to be flattened or simplified. Techniques are provided herein to allow such streams to be flattened quickly and efficiently. Moreover, systems and methods are disclosed to preserve backward compatibility of optimized nested stream processing with conventional non-nested streams.Type: ApplicationFiled: January 28, 2005Publication date: August 18, 2005Applicant: Microsoft CorporationInventors: Henricus Meijer, David Schach, Avner Aharoni, Wolfram Schulte
-
Publication number: 20050050068Abstract: A data mapping architecture for mapping between two or more data sources without modifying the metadata or structure of the data sources themselves. Data mapping also supports updates. The architecture also supports at least the case where data sources that are being mapped, are given, their schemas predefined, and cannot be changed. The architecture includes a mapping component that receives respective metadata from at least two arbitrary data models, and maps expressions between the data models.Type: ApplicationFiled: August 29, 2003Publication date: March 3, 2005Inventors: Alexander Vaschillo, Ilker Cengiz, Bertan Ari, Srinivasa Burugapalli, Luca Bolognese, Avner Aharoni, Steven White, Alex Laskos, Andrew Conrad, Todd Pfleiger, Jason Zhu, Chris Suver, David Schach, Adam Wiener