Patents by Inventor Luca Bolognese
Luca Bolognese 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: 8458678Abstract: A compiler supporting a language in which selected semantic objects are represented as data objects. The data objects may be used in multiple ways to expand the capabilities of the programming language. Data objects may be passed to applications and used to create executable instructions for that application. In this way, instructions written in the native language of the compiler may be used to control applications that accept programs in a language inconsistent with the native language of the compiler. The syntax checking and variable binding capabilities of the compiler may be used for those instructions that will be executed by an application separate from the object code generated by the compiler. The semantic objects represented as data objects may be selected based on express operations included in the source code or may be based on implicit type conversion.Type: GrantFiled: June 16, 2011Date of Patent: June 4, 2013Assignee: Microsoft CorporationInventors: Henricus Johannes Maria Meijer, Anders Hejlsberg, Matthew Warren, Dinesh Chandrakant Kulkarni, Luca Bolognese, Peter A. Hallam, Gary Shon Katzenberger, Donald F. Box
-
Patent number: 8375044Abstract: Queries against data sources (such as language-integrated queries to be applied against relational databases) may be prepared for processing by a query processing pipeline. This pipeline performs services including transforming the query into a form more easily applied by the data source, e.g., into SQL, by matching query terms with query operators configured to handle various query operations. Many query processing pipelines include single-item query operators that perform individual operations (e.g., an updating query operator that specifies an updating of individual records of a table.) An integrated query pipeline may be devised that includes both single-item query operators and multiple-item query operators that specify operations on sets of data items.Type: GrantFiled: June 24, 2008Date of Patent: February 12, 2013Assignee: Microsoft CorporationInventors: Evgueni Zabokritski, Matthew J. Warren, Anders Hejlsberg, Luca Bolognese, Erik Meijer, Dinesh Chandrakant Kulkarni
-
Patent number: 8370801Abstract: 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: GrantFiled: March 22, 2010Date of Patent: February 5, 2013Assignee: Microsoft CorporationInventors: Henricus Johannes Maria Meijer, Anders Hejlsberg, Matthew J. Warren, Luca Bolognese, Peter A. Hallam, Gary S. Katzenberger, Dinesh C. Kulkarni
-
Patent number: 8364750Abstract: The utilization of data services (such as web services) may involve the invocation of services, which may reduce performance and overburden the server. In some scenarios, the invocation may be specified in a language that does not support batch invocation, but it may not be feasible to re-code the invocations in a language that supports batching. Instead, the service invocations may be automatically translated into a batch logic specified in a batch-capable language and sent to the service as a batch. For example, a local proxy may receive a language-integrated query having two or more service invocations, compile the query into an expression tree including the two or more invocations, and send the expression tree to the service host to achieve the batch processing of the service invocations.Type: GrantFiled: June 24, 2008Date of Patent: January 29, 2013Assignee: Microsoft CorporationInventors: Luca Bolognese, Lucas James Hoban, Erik Meijer, Anders Hejlsberg, Matthew J. Warren, Dinesh Chandrakant Kulkarni, Mads Torgersen, John W. Dyer
-
Patent number: 8275731Abstract: 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: GrantFiled: May 10, 2010Date of Patent: September 25, 2012Assignee: Microsoft CorporationInventors: Henricus Johannes Maria Meijer, Anders Hejlsberg, Matthew J. Warren, Luca Bolognese, Peter A. Hallam, Gary S. Katzenberger, Dinesh C. Kulkami
-
Publication number: 20110246973Abstract: A compiler supporting a language in which selected semantic objects are represented as data objects. The data objects may be used in multiple ways to expand the capabilities of the programming language. Data objects may be passed to applications and used to create executable instructions for that application. In this way, instructions written in the native language of the compiler may be used to control applications that accept programs in a language inconsistent with the native language of the compiler. The syntax checking and variable binding capabilities of the compiler may be used for those instructions that will be executed by an application separate from the object code generated by the compiler. The semantic objects represented as data objects may be selected based on express operations included in the source code or may be based on implicit type conversion.Type: ApplicationFiled: June 16, 2011Publication date: October 6, 2011Applicant: Microsoft CorporationInventors: Henricus Johannes Maria Meijer, Anders Hejlsberg, Matthew J. Warren, Dinesh Chandrakant Kulkarni, Luca Bolognese, Peter A. Hallam, Gary S. Katzenberger, Donald Box
-
Patent number: 7992140Abstract: A compiler supporting a language in which selected semantic objects are represented as data objects. The data objects may be used in multiple ways to expand the capabilities of the programming language. Data objects may be passed to applications and used to create executable instructions for that application. In this way, instructions written in the native language of the compiler may be used to control applications that accept programs in a language inconsistent with the native language of the compiler. The syntax checking and variable binding capabilities of the compiler may be used for those instructions that will be executed by an application separate from the object code generated by the compiler. The semantic objects represented as data objects may be selected based on express operations included in the source code or may be based on implicit type conversion.Type: GrantFiled: July 29, 2005Date of Patent: August 2, 2011Assignee: Microsoft CorporationInventors: Henricus Johannes Maria Meijer, Anders Hejlsberg, Matthew J. Warren, Dinesh Chandrakant Kulkarni, Luca Bolognese, Peter A. Hallam, Gary S. Katzenberger, Donald Box
-
Patent number: 7818719Abstract: 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: GrantFiled: July 29, 2005Date of Patent: October 19, 2010Assignee: Microsoft CorporationInventors: Henricus Johannes Maria Meijer, Anders Hejlsberg, Matthew J. Warren, Luca Bolognese, Peter A. Hallam, Gary S. Katzenberger, Dinesh C. Kulkarni
-
Publication number: 20100217776Abstract: 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: ApplicationFiled: May 10, 2010Publication date: August 26, 2010Applicant: Microsoft CorporationInventors: Henricus Johannes Maria Meijer, Anders Hejlsberg, Matthew J. Warren, Luca Bolognese, Peter A. Hallam, Gary S. Katzenberger, Dinesh C. Kulkarni
-
Publication number: 20100175048Abstract: 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: ApplicationFiled: March 22, 2010Publication date: July 8, 2010Applicant: Microsoft CorporationInventors: Henricus Johannes Maria Meijer, Anders Hejlsberg, Matthew J. Warren, Luca Bolognese, Peter A. Hallam, Gary S. Katzenberger, Dinesh C. Kulkarni
-
Patent number: 7743066Abstract: 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: GrantFiled: July 29, 2005Date of Patent: June 22, 2010Assignee: Microsoft CorporationInventors: Henricus Johannes Maria Meijer, Anders Hejlsberg, Matthew J. Warren, Luca Bolognese, Peter A. Hallam, Gary S. Katzenberger, Dinesh C. Kulkarni
-
Patent number: 7743319Abstract: The present invention relates to a system and methodology to facilitate XML data communications and processing. A diffgram data structure is provided that includes one or more states of a plurality of data records. The state information can be determined by examining one or more data sources for differences from one or more reference data sources. If differences are detected between the data sources, the diffgram can be constructed in an XML compatible format with both previous state indications and current state indications that describes the state differences between the data sources. Error information and/or other administrative information or codes can also be provided to facilitate database management and/or processing.Type: GrantFiled: April 24, 2006Date of Patent: June 22, 2010Assignee: Microsoft CorporationInventors: Chia-Hsun Chen, Luca Bolognese, Vincenzo Lombardi, Omri Gazitt, Michael J. Pizzo, Jason Zhengnan Zhu
-
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: 7702686Abstract: Systems and methods that enable consistent navigation (for a database and memory environment) in object relational mapping. This typically ensures fidelity of object graph via restrictions on collections of persistent objects (e.g., entity sets, entity refs . . . ). Moreover, a tracking component can detect changes as they occur, and only a copy of the objects that have changed can be created, to optimize operation.Type: GrantFiled: July 29, 2005Date of Patent: April 20, 2010Assignee: Microsoft CorporationInventors: Henricus Johannes Maria Meijer, Anders Hejlsberg, Dinesh Chandrakant Kulkarni, Luca Bolognese, Matthew J. Warren, Peter A. Hallam
-
Patent number: 7694274Abstract: A program execution engine that facilitates generic type variance verification is provided. The execution engine receives a program executable in the form of intermediate language (IL). The program executable can be based on code that includes expression(s) with generic type(s) which have been identified as requiring variance verification (e.g., covariance and/or contra-variance). The execution engine includes a variance verification component that dynamically determines whether value(s) associated with the generic type(s) identified as requiring variance verification comply with the particular variance verification requirement. The variance verification component can provide error information (e.g., throw an exception), if the specified variance is not safely compliant. Variance verification can be based on static checking which places the burden on a source language compiler to emit the run-time checks in intermediate language (IL), if run-time checked variance is required.Type: GrantFiled: July 29, 2005Date of Patent: April 6, 2010Assignee: Microsoft CorporationInventors: Erik Meijer, Anders Hejlsberg, Matthew J. Warren, Luca Bolognese, Peter A. Hallam, Gary S. Katzenberger
-
Patent number: 7685155Abstract: The present invention relates to a system and methodology to facilitated data object persistence. An object schema is utilized to provide metadata for types in addition to what is provided by the type system for an underlying programming language. This metadata is then utilized by the system to translate data to and from user objects during a materialization or persistence process. The object schema provides information external to programming logic and type definitions. Consequently, the object schema can be deployed independent of an application thereby allowing the persistence storage of user objects to change without force the user to recompile and deploy application code.Type: GrantFiled: March 23, 2004Date of Patent: March 23, 2010Assignee: Microsoft CorporationInventors: Ilker Cengiz, Luca Bolognese, Jason Z. Zhu, Dempsey R. Swan, David E. Sceppa, Andrew J. Conrad
-
Patent number: 7685567Abstract: 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: GrantFiled: July 29, 2005Date of Patent: March 23, 2010Assignee: Microsoft CorporationInventors: Henricus Johannes Maria Meijer, Anders Hejlsberg, Matthew J. Warren, Luca Bolognese, Peter A. Hallam, Gary S. Katzenberger, Dinesh C. Kulkarni
-
Publication number: 20090319497Abstract: The utilization of data services (such as web services) may involve the invocation of services, which may reduce performance and overburden the server. In some scenarios, the invocation may be specified in a language that does not support batch invocation, but it may not be feasible to re-code the invocations in a language that supports batching. Instead, the service invocations may be automatically translated into a batch logic specified in a batch-capable language and sent to the service as a batch. For example, a local proxy may receive a language-integrated query having two or more service invocations, compile the query into an expression tree including the two or more invocations, and send the expression tree to the service host to achieve the batch processing of the service invocations.Type: ApplicationFiled: June 24, 2008Publication date: December 24, 2009Applicant: MICROSOFT CORPORATIONInventors: Luca Bolognese, Lucas James Hoban, Erik Meijer, Anders Hejlsberg, Matthew J. Warren, Dinesh Chandrakant Kulkarni, Mads Torgersen, John W. Dyer
-
Publication number: 20090319498Abstract: Queries against data sources (such as language-integrated queries to be applied against relational databases) may be prepared for processing by a query processing pipeline. This pipeline performs services including transforming the query into a form more easily applied by the data source, e.g., into SQL, by matching query terms with query operators configured to handle various query operations. Many query processing pipelines include single-item query operators that perform individual operations (e.g., an updating query operator that specifies an updating of individual records of a table.) An integrated query pipeline may be devised that includes both single-item query operators and multiple-item query operators that specify operations on sets of data items.Type: ApplicationFiled: June 24, 2008Publication date: December 24, 2009Applicant: MICROSOFT CORPORATIONInventors: Evgueni Zabokritski, Matthew J. Warren, Anders Hejlsberg, Luca Bolognese, Erik Meijer, Dinesh Chandrakant Kulkarni
-
Patent number: 7631011Abstract: The subject disclosure pertains to code generation patterns for use in object relational mapping. The code patterns may be used to manage bidirectional relationships and ensure consistency. The code patterns may support on-demand or deferred loading of relational data. Change detection and tracking are also provided. In addition, a default member modifier allows developers to override tool generated source code without directly modifying the generated source code.Type: GrantFiled: July 29, 2005Date of Patent: December 8, 2009Assignee: Microsoft CorporationInventors: Dinesh Chandrakant Kulkarni, Anders Hejlsberg, Matthew J. Warren, Luca Bolognese, Henricus Johannes Maria Meijer, Peter A. Hallam