Patents by Inventor Dinesh C. Kulkarni

Dinesh C. Kulkarni 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: 8819046
    Abstract: Data source queries may be specified in various languages, such as SQL, XQuery, and object-oriented languages, and each language may have various linguistic features that enable different types of queries. It may be advantageous to formulate mixed language queries having portions specified in a first language and portions specified in a second language, and to provide mixed language query evaluation components that can parse portions of queries of different languages. It may also be advantageous to permit the translation of single language queries into multiple languages to be parsed by such mixed language query evaluation components. Such techniques may permit queries to utilize linguistic features and processing techniques of one language that are less efficient, less direct, or simply unavailable in another language.
    Type: Grant
    Filed: June 24, 2008
    Date of Patent: August 26, 2014
    Assignee: Microsoft Corporation
    Inventors: Matthew J. Warren, Anders Hejlsberg, Ion Vasilian, Erik Meijer, Dinesh C. Kulkarni
  • Patent number: 8370801
    Abstract: Architecture that extends existing types including constructed and sealed types using extension methods. Extension methods are static methods that can be invoked using instance method syntax. Extension methods are declared by specifying the keyword “this” as a modifier on the first parameter of the methods. Extension methods have all the capabilities of regular static methods. In addition, once imported, extension methods can be invoked using instance method syntax. Also disclosed are rules for importing extension methods, and extension method invocations. Extension methods are imported through using-namespace-directives. In addition to importing the types contained in a namespace, a using-namespace-directive imports all extension methods in all static classes in the namespace. In effect, imported extension methods appear as additional methods on the types that are given by their first parameter and have lower precedence than regular instance methods.
    Type: Grant
    Filed: March 22, 2010
    Date of Patent: February 5, 2013
    Assignee: Microsoft Corporation
    Inventors: Henricus Johannes Maria Meijer, Anders Hejlsberg, Matthew J. Warren, Luca Bolognese, Peter A. Hallam, Gary S. Katzenberger, Dinesh C. Kulkarni
  • Patent number: 8060868
    Abstract: Providing for read/write access to captured free variables expressed as environment data objects is disclosed herein. By way of example, free variables can be rewritten as a field of a private class, and accessed via an instance of the private class captured within the environment data object. In such a manner, no need of a placeholder or proxy function is required to access the free variable. Consequently, the subject innovation provides a simplified method for capturing free variables within expression trees and providing read/write access to such variables.
    Type: Grant
    Filed: June 21, 2007
    Date of Patent: November 15, 2011
    Assignee: Microsoft Corporation
    Inventors: Henricus Johannes Maria Meijer, Anders Hejlsberg, Mads Torgersen, Peter A. Hallam, Matthew J. Warren, Dinesh C. Kulkarni, Clemens Alden Szyperski
  • Patent number: 7890939
    Abstract: Partial methods enable separation of method declaration and/or calls from method implementation. A partial method specifies a signature of a join or hook point in a class. Calls to a partial method specify a join or hook point in code that can optionally be linked with an actual method implementation of the same signature. Separate method implementations or other code related to a partial method are injected into a single program prior to execution. Unimplemented partial methods are treated as no operation instructions or otherwise ignored.
    Type: Grant
    Filed: February 13, 2007
    Date of Patent: February 15, 2011
    Assignee: Microsoft Corporation
    Inventors: Dinesh C. Kulkarni, Mads Torgersen, Henricus Johannes Maria Meijer, Anders Hejlsberg, Matthew J. Warren, Peter A. Hallam
  • Patent number: 7860823
    Abstract: The claimed subject matter provides a system and/or a method that facilitates querying data utilizing an explicit representation of an embedded language. An IEnumberable component can receive a data operation that can be employed on a collection of data utilizing at least one of an IEnumerable interface and an IEnumerable<T> interface. A mirror component can provide a generic interface to query the collection of data by representing the collection of data as an expression tree utilizing at least one function that mirrors the at least one IEnumerable interface and the IEnumerable<T> interface.
    Type: Grant
    Filed: August 16, 2006
    Date of Patent: December 28, 2010
    Assignee: Microsoft Corporation
    Inventors: Anders Hejlsberg, Matthew J. Warren, Henricus Johannes Maria Meijer, Dinesh C. Kulkarni, Mads Torgersen
  • Patent number: 7818719
    Abstract: Syntax for creating object instances utilizing expressions instead of statements. A syntax component facilitates extension of conventional object-creation-expression syntax. An initializer component provides for initialization of a newly-created entity via object and collection initializers. The initializer component provides initialization of the newly-created entity utilizing an object initializer where the object initializer specifies values for one or more fields or properties of the newly-created entity which is an object, and consists of a sequence of member initializers enclosed by tokens and separated by commas. The initializer component can also provides initialization of the newly-created entity utilizing a collection initializer when the underlying object implements a certain interface or implements a certain pattern. An overloading constructor can be called as part of the initialization process.
    Type: Grant
    Filed: July 29, 2005
    Date of Patent: October 19, 2010
    Assignee: Microsoft Corporation
    Inventors: Henricus Johannes Maria Meijer, Anders Hejlsberg, Matthew J. Warren, Luca Bolognese, Peter A. Hallam, Gary S. Katzenberger, Dinesh C. Kulkarni
  • Patent number: 7788275
    Abstract: An object-relational mapping mechanism facilitates customized relationship traversal. The mechanism can override default loading behavior with custom functionality (e.g., eager loading, lazy loading . . . ) specified by a programmer, for example. In other words, the object-relational mapping mechanism includes an extensibility point or hook for customization.
    Type: Grant
    Filed: September 18, 2007
    Date of Patent: August 31, 2010
    Assignee: Microsoft Corporation
    Inventors: Matthew J. Warren, Dinesh C. Kulkarni, Anders Hejlsberg, Henricus Johannes Maria Meijer
  • Publication number: 20100217776
    Abstract: Anonymous types for a programming language. Non-denotable anonymous types are types that a compiler generates on behalf of a programmer and can then be used as nominal types. Insofar as anonymous types do not have a name, they can be used only inside a method in which they are created. Additionally, an anonymous type cannot be exposed in any way outside of the method. Syntax to create an anonymous type is useful when employed with a Select operator to generate a result with a particular shape, without the need of having a regular type for it. Anonymous types are expressible such that an expression of that type can be written. Translation of an anonymous type by a compiler generates a nominal class that implements Equals and GetHashCode methods. There is equivalence of anonymous types within the same method, and conversion of an unrealized structural type into structurally compatible nominal type.
    Type: Application
    Filed: May 10, 2010
    Publication date: August 26, 2010
    Applicant: Microsoft Corporation
    Inventors: Henricus Johannes Maria Meijer, Anders Hejlsberg, Matthew J. Warren, Luca Bolognese, Peter A. Hallam, Gary S. Katzenberger, Dinesh C. Kulkarni
  • Publication number: 20100175048
    Abstract: Architecture that extends existing types including constructed and sealed types using extension methods. Extension methods are static methods that can be invoked using instance method syntax. Extension methods are declared by specifying the keyword “this” as a modifier on the first parameter of the methods. Extension methods have all the capabilities of regular static methods. In addition, once imported, extension methods can be invoked using instance method syntax. Also disclosed are rules for importing extension methods, and extension method invocations. Extension methods are imported through using-namespace-directives. In addition to importing the types contained in a namespace, a using-namespace-directive imports all extension methods in all static classes in the namespace. In effect, imported extension methods appear as additional methods on the types that are given by their first parameter and have lower precedence than regular instance methods.
    Type: Application
    Filed: March 22, 2010
    Publication date: July 8, 2010
    Applicant: Microsoft Corporation
    Inventors: Henricus Johannes Maria Meijer, Anders Hejlsberg, Matthew J. Warren, Luca Bolognese, Peter A. Hallam, Gary S. Katzenberger, Dinesh C. Kulkarni
  • Patent number: 7743066
    Abstract: Anonymous types for a programming language. Non-denotable anonymous types are types that a compiler generates on behalf of a programmer and can then be used as nominal types. Insofar as anonymous types do not have a name, they can be used only inside a method in which they are created. Additionally, an anonymous type cannot be exposed in any way outside of the method. Syntax to create an anonymous type is useful when employed with a Select operator to generate a result with a particular shape, without the need of having a regular type for it. Anonymous types are expressible such that an expression of that type can be written. Translation of an anonymous type by a compiler generates a nominal class that implements Equals and GetHashCode methods. There is equivalence of anonymous types within the same method, and conversion of an unrealized structural type into structurally compatible nominal type.
    Type: Grant
    Filed: July 29, 2005
    Date of Patent: June 22, 2010
    Assignee: Microsoft Corporation
    Inventors: Henricus Johannes Maria Meijer, Anders Hejlsberg, Matthew J. Warren, Luca Bolognese, Peter A. Hallam, Gary S. Katzenberger, Dinesh C. Kulkarni
  • Patent number: 7685567
    Abstract: Architecture that extends existing types including constructed and sealed types using extension methods. Extension methods are static methods that can be invoked using instance method syntax. Extension methods are declared by specifying the keyword “this” as a modifier on the first parameter of the methods. Extension methods have all the capabilities of regular static methods. In addition, once imported, extension methods can be invoked using instance method syntax. Also disclosed are rules for importing extension methods, and extension method invocations. Extension methods are imported through using-namespace-directives. In addition to importing the types contained in a namespace, a using-namespace-directive imports all extension methods in all static classes in the namespace. In effect, imported extension methods appear as additional methods on the types that are given by their first parameter and have lower precedence than regular instance methods.
    Type: Grant
    Filed: July 29, 2005
    Date of Patent: March 23, 2010
    Assignee: Microsoft Corporation
    Inventors: Henricus Johannes Maria Meijer, Anders Hejlsberg, Matthew J. Warren, Luca Bolognese, Peter A. Hallam, Gary S. Katzenberger, Dinesh C. Kulkarni
  • Patent number: 7657505
    Abstract: The subject disclosure pertains to systems and methods that facilitate retrieval of data. In particular, an application defined data shape can regulate loading of data for use in an object relational mapping system, enabling the object-oriented application to access data in a relational data base system. Data shapes define policies that control data retrieval, enabling efficient data loading. A data shape allows users to declaratively specify a set of policies to be applied to all queries associated with the data shape. In particular, data shapes can include policies that control eager loading. In addition, data shapes can also include filtering policies intended to reduce or limit data retrieved from a relational database.
    Type: Grant
    Filed: January 19, 2007
    Date of Patent: February 2, 2010
    Assignee: Microsoft Corporation
    Inventors: Anders Hejlsberg, Matthew J. Warren, Dinesh C. Kulkarni, Henricus Johannes Maria Meijer, Terry A. Adams, Jomo Ahab Fisher, Daigo Hamura, Mads Torgersen
  • Publication number: 20090319496
    Abstract: Data source queries may be specified in various languages, such as SQL, XQuery, and object-oriented languages, and each language may have various linguistic features that enable different types of queries. It may be advantageous to formulate mixed language queries having portions specified in a first language and portions specified in a second language, and to provide mixed language query evaluation components that can parse portions of queries of different languages. It may also be advantageous to permit the translation of single language queries into multiple languages to be parsed by such mixed language query evaluation components. Such techniques may permit queries to utilize linguistic features and processing techniques of one language that are less efficient, less direct, or simply unavailable in another language.
    Type: Application
    Filed: June 24, 2008
    Publication date: December 24, 2009
    Applicant: MICROSOFT CORPORATION
    Inventors: Matthew J. Warren, Anders Hejlsberg, Ion Vasilian, Erik Meijer, Dinesh C. Kulkarni
  • Publication number: 20090077120
    Abstract: An object-relational mapping mechanism facilitates customized relationship traversal. The mechanism can override default loading behavior with custom functionality (e.g., eager loading, lazy loading . . . ) specified by a programmer, for example. In other words, the object-relational mapping mechanism includes an extensibility point or hook for customization.
    Type: Application
    Filed: September 18, 2007
    Publication date: March 19, 2009
    Applicant: MICROSOFT CORPORATION
    Inventors: Matthew J. Warrren, Dinesh C. Kulkarni, Anders Hejlsberg, Henricus Johannes Maria Meijer
  • Publication number: 20080320440
    Abstract: Providing for read/write access to captured free variables expressed as environment data objects is disclosed herein. By way of example, free variables can be rewritten as a field of a private class, and accessed via an instance of the private class captured within the environment data object. In such a manner, no need of a placeholder or proxy function is required to access the free variable. Consequently, the subject innovation provides a simplified method for capturing free variables within expression trees and providing read/write access to such variables.
    Type: Application
    Filed: June 21, 2007
    Publication date: December 25, 2008
    Applicant: MICROSOFT CORPORATION
    Inventors: Henricus Johannes Maria Meijer, Anders Hejlsberg, Mads Torgersen, Peter A. Hallam, Matthew J. Warren, Dinesh C. Kulkarni, Clemens Alden Szyperski
  • Publication number: 20080196014
    Abstract: Partial methods enable separation of method declaration and/or calls from method implementation. A partial method specifies a signature of a join or hook point in a class. Calls to a partial method specify a join or hook point in code that can optionally be linked with an actual method implementation of the same signature. Separate method implementations or other code related to a partial method are injected into a single program prior to execution. Unimplemented partial methods are treated as no operation instructions or otherwise ignored.
    Type: Application
    Filed: February 13, 2007
    Publication date: August 14, 2008
    Applicant: MICROSOFT CORPORATION
    Inventors: Dinesh C. Kulkarni, Mads Torgersen, Henricus Johannes Maria Meijer, Anders Hejlsberg, Matthew J. Warren, Peter A. Hallam
  • Publication number: 20080177716
    Abstract: The subject disclosure pertains to systems and methods that facilitate retrieval of data. In particular, an application defined data shape can regulate loading of data for use in an object relational mapping system, enabling the object-oriented application to access data in a relational data base system. Data shapes define policies that control data retrieval, enabling efficient data loading. A data shape allows users to declaratively specify a set of policies to be applied to all queries associated with the data shape. In particular, data shapes can include policies that control eager loading.
    Type: Application
    Filed: January 19, 2007
    Publication date: July 24, 2008
    Applicant: MICROSOFT CORPORATION
    Inventors: Anders Hejlsberg, Matthew J. Warren, Dinesh C. Kulkarni, Henricus Johannes Maria Meijer, Terry A. Adams, Jomo Ahab Fisher, Daigo Hamura, Mads Torgersen
  • Publication number: 20070271233
    Abstract: The claimed subject matter provides a system and/or a method that facilitates querying data utilizing an explicit representation of an embedded language. An IEnumberable component can receive a data operation that can be employed on a collection of data utilizing at least one of an IEnumerable interface and an IEnumerable<T> interface. A mirror component can provide a generic interface to query the collection of data by representing the collection of data as an expression tree utilizing at least one function that mirrors the at least one IEnumerable interface and the IEnumerable<T> interface.
    Type: Application
    Filed: August 16, 2006
    Publication date: November 22, 2007
    Applicant: MICROSOFT CORPORATION
    Inventors: Anders Hejlsberg, Matthew J. Warren, Henricus Johannes Maria Meijer, Dinesh C. Kulkarni, Mads Torgersen