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: 7739223
    Abstract: 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: Grant
    Filed: August 29, 2003
    Date of Patent: June 15, 2010
    Assignee: Microsoft Corporation
    Inventors: 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: 7711739
    Abstract: 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: Grant
    Filed: January 25, 2005
    Date of Patent: May 4, 2010
    Assignee: Microsoft Corporation
    Inventors: David Schach, Henricus Johannes Maria Meijer, Avner Y. Aharoni, Adam J. Wiener
  • Patent number: 7665073
    Abstract: 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: Grant
    Filed: April 18, 2005
    Date of Patent: February 16, 2010
    Assignee: Microsoft Corporation
    Inventors: Henricus Johannes Maria Meijer, Avner Y. Aharoni, David Schach
  • Patent number: 7661096
    Abstract: 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: Grant
    Filed: January 28, 2005
    Date of Patent: February 9, 2010
    Assignee: Microsoft Corporation
    Inventors: Henricus Johannes Maria Meijer, David Schach, Avner Y. Aharoni, Wolfram Schulte
  • Patent number: 7574701
    Abstract: 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: Grant
    Filed: August 21, 2006
    Date of Patent: August 11, 2009
    Assignee: Microsoft Corporation
    Inventors: Anders Hejlsberg, Henricus Johannes Maria Meijer, David Schach, Avner Aharoni, Brian Beckman, Andrew Kimball
  • Publication number: 20080046456
    Abstract: 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: Application
    Filed: August 21, 2006
    Publication date: February 21, 2008
    Applicant: Microsoft Corporation
    Inventors: Anders Hejlsberg, Henricus Johannes Maria Meijer, David Schach, Avner Aharoni, Brian Beckman, Andrew Kimball
  • Publication number: 20070074185
    Abstract: 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: Application
    Filed: August 30, 2005
    Publication date: March 29, 2007
    Applicant: Microsoft Corporation
    Inventors: Henricus Meijer, Peter Drayton, Brian Beckman, Paul Vick, Amanda Silver, David Schach, Avner Aharoni
  • 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: 20070050348
    Abstract: 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: Application
    Filed: August 30, 2005
    Publication date: March 1, 2007
    Applicant: Microsoft Corporation
    Inventors: Avner Aharoni, Henricus Maria Meijer, Brian Beckman, David Schach, Peter Drayton, Amanda Silver, Paul Vick
  • Publication number: 20070050380
    Abstract: 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: Application
    Filed: August 30, 2005
    Publication date: March 1, 2007
    Applicant: Microsoft Corporation
    Inventors: Henricus Meijer, Amanda Silver, Brian Beckman, Paul Vick, Avner Aharoni, David Schach, Peter Drayton
  • 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: 20070043760
    Abstract: 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: Application
    Filed: August 22, 2005
    Publication date: February 22, 2007
    Applicant: Microsoft Corporation
    Inventors: Henricus Johannes Maria Meijer, David Schach, Avner Aharoni, Peter Drayton, Brian Beckman, Amanda Silver, Paul Vick
  • Publication number: 20070043702
    Abstract: 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: Application
    Filed: August 19, 2005
    Publication date: February 22, 2007
    Applicant: Microsoft Corporation
    Inventors: Priyamvadha Lakshminarayanan, Avner Aharoni, Henricus Meijer, David Schach
  • 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
  • Publication number: 20070038978
    Abstract: 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: Application
    Filed: August 11, 2005
    Publication date: February 15, 2007
    Applicant: Microsoft Corporation
    Inventors: Henricus Meijer, David Schach, Avner Aharoni, Peter Drayton
  • Publication number: 20060236226
    Abstract: 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: Application
    Filed: April 18, 2005
    Publication date: October 19, 2006
    Applicant: Microsoft Corporation
    Inventors: Henricus Meijer, Avner Aharoni, David Schach
  • Publication number: 20060167867
    Abstract: 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: Application
    Filed: January 25, 2005
    Publication date: July 27, 2006
    Applicant: Microsoft Corporation
    Inventors: David Schach, Henricus Meijer, Avner Aharoni, Adam Wiener
  • Publication number: 20060101423
    Abstract: 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: Application
    Filed: October 1, 2004
    Publication date: May 11, 2006
    Applicant: Microsoft Corporation
    Inventors: Avner Aharoni, David Schach, Erik Meijer
  • Publication number: 20050183071
    Abstract: 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: Application
    Filed: January 28, 2005
    Publication date: August 18, 2005
    Applicant: Microsoft Corporation
    Inventors: Henricus Meijer, David Schach, Avner Aharoni, Wolfram Schulte
  • Publication number: 20050050068
    Abstract: 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: Application
    Filed: August 29, 2003
    Publication date: March 3, 2005
    Inventors: 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