Patents by Inventor Peter Villadsen
Peter Villadsen 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: 10877734Abstract: An augmenting system for augmenting a program's original class with an augmenting class is provided. In some embodiments, the augmenting system receives a definition of an augmenting class that includes a data member. The augmenting system generates resolution code for the computer program. The resolution code is for accessing a reference to an original instance of the original class and providing a reference to a corresponding augmenting instance of the augmenting class. When processing a statement of the computer program that accesses the data member using the reference to the original instance, the augmenting system generates access code for the computer program. The access code uses the resolution code to retrieve the reference to the augmenting instance for the original instance and accesses the data member based on the retrieved reference to the augmenting instance.Type: GrantFiled: March 15, 2019Date of Patent: December 29, 2020Assignee: MICROSOFT TECHNOLOGY LICENSING, LLCInventors: John Stairs, Marcos Calderon Macias, Peter Villadsen
-
Publication number: 20190212988Abstract: An augmenting system for augmenting a program's original class with an augmenting class is provided. In some embodiments, the augmenting system receives a definition of an augmenting class that includes a data member. The augmenting system generates resolution code for the computer program. The resolution code is for accessing a reference to an original instance of the original class and providing a reference to a corresponding augmenting instance of the augmenting class. When processing a statement of the computer program that accesses the data member using the reference to the original instance, the augmenting system generates access code for the computer program. The access code uses the resolution code to retrieve the reference to the augmenting instance for the original instance and accesses the data member based on the retrieved reference to the augmenting instance.Type: ApplicationFiled: March 15, 2019Publication date: July 11, 2019Applicant: Microsoft Technology Licensing, LLCInventors: John STAIRS, Marcos Calderon MACIAS, Peter VILLADSEN
-
Patent number: 10268455Abstract: An augmenting system for augmenting a program's original class with an augmenting class is provided. In some embodiments, the augmenting system receives a definition of an augmenting class that includes a data member. The augmenting system generates resolution code for the computer program. The resolution code is for accessing a reference to an original instance of the original class and providing a reference to a corresponding augmenting instance of the augmenting class. When processing a statement of the computer program that accesses the data member using the reference to the original instance, the augmenting system generates access code for the computer program. The access code uses the resolution code to retrieve the reference to the augmenting instance for the original instance and accesses the data member based on the retrieved reference to the augmenting instance.Type: GrantFiled: May 20, 2016Date of Patent: April 23, 2019Assignee: MICROSOFT TECHNOLOGY LICENSING, LLCInventors: John Stairs, Marcos Calderon Macias, Peter Villadsen
-
Patent number: 10146810Abstract: A system and method for analyzing data from a plurality of computer environments. The computer environments are authenticated and data is imported to a memory location. The data is converted into a uniform format to enable expedited searching by one or more authenticated users. The data may be marked so that a user may determine which computer environment provided the data. The system may also create one or more indexes of the data to assist one or more users in searching the data.Type: GrantFiled: August 2, 2013Date of Patent: December 4, 2018Assignee: FireEye, Inc.Inventors: Jason Shiffer, Matthew Frazier, Sean Cunningham, Scott Hogsten, Eric Helvey, James Butler, Peter Villadsen
-
Publication number: 20170337038Abstract: An augmenting system for augmenting a program's original class with an augmenting class is provided. In some embodiments, the augmenting system receives a definition of an augmenting class that includes a data member. The augmenting system generates resolution code for the computer program. The resolution code is for accessing a reference to an original instance of the original class and providing a reference to a corresponding augmenting instance of the augmenting class. When processing a statement of the computer program that accesses the data member using the reference to the original instance, the augmenting system generates access code for the computer program. The access code uses the resolution code to retrieve the reference to the augmenting instance for the original instance and accesses the data member based on the retrieved reference to the augmenting instance.Type: ApplicationFiled: May 20, 2016Publication date: November 23, 2017Inventors: John Stairs, Marcos Calderon Macias, Peter Villadsen
-
Patent number: 9760346Abstract: Abstract Syntax Trees (ASTs) are generated using the source code of a programming language that include information relating to the structure of the program. The generation of the ASTs may be performed in parallel. The types are split into a number of modules (e.g. configurable) that form an assembly. During the different stages of the compilation process, each module may be compiled in parallel. As the different modules are being compiled (e.g. in parallel), compiler metadata from the different modules may be written to a repository accessible by the different compilation processes. After flowing through the compilation pipeline, each of the enriched ASTs are used for code generation where they are transformed into the target language (e.g. a code stream that can be executed on hardware). The executable code is then stored as part of the assembly. The storage of the code may also be performed in parallel.Type: GrantFiled: May 31, 2013Date of Patent: September 12, 2017Assignee: Microsoft Technology Licensing, LLCInventors: Peter Villadsen, Gustavo Plancarte, Tanmoy Dutta
-
Publication number: 20160103660Abstract: Customization of software source code is enabled by adding the event handlers to be invoked in metadata instead of as coding artifacts. The fact that classes offer delegates that can be assigned handlers is described as part of metadata, in other words, as descriptions of the event itself. By defining eventing in metadata, adding and/or removing handlers for specific events is enabled without programming or modification of the source code.Type: ApplicationFiled: December 17, 2015Publication date: April 14, 2016Inventors: Peter Villadsen, Zhaoqi Chen, Marcos Calderon Macias, Ramakanthachary Gottumukkala
-
Publication number: 20150113498Abstract: A customization environment uses a customization system that models customizations to a base computer system. Each set of customizations is stored as a separate extension package, which is stored separately from the code for the base system. During runtime, the extension packages are discovered in a runtime environment and applied to extend the base system, without overwriting any of the code for the base system.Type: ApplicationFiled: October 21, 2013Publication date: April 23, 2015Applicant: Microsoft CorporationInventors: Sean M. Wiese, Joshua H. Lange, Choon Chea Chua, Nitin Sharma, Peter Villadsen, Ramakanthachary S. Gottumukkala, Zhonghua Chu
-
Patent number: 8949257Abstract: A system and method for analyzing data from a plurality of computer environments. The computer environments are authenticated and data is imported to a memory location. The data is converted into a uniform format to enable expedited searching by one or more authenticated users. The data may be marked so that a user may determine which computer environment provided the data. The system may also create one or more indexes of the data to assist one or more users in searching the data.Type: GrantFiled: February 1, 2008Date of Patent: February 3, 2015Assignee: Mandiant, LLCInventors: Jason Shiffer, Matthew Frazier, Sean Cunningham, Scott Hogsten, Eric Helvey, James Butler, Peter Villadsen
-
Patent number: 8914780Abstract: Concepts and technologies are described herein for incremental generation of managed assemblies. In accordance with some of the concepts and technologies disclosed herein, a compiler incrementally generates a managed assembly thereby facilitating a rapid application development environment in which changes to the assembly require recompilation of only a changed portion of the assembly instead of recompilation of the entire assembly.Type: GrantFiled: March 4, 2011Date of Patent: December 16, 2014Assignee: Microsoft CorporationInventors: Gustavo Adolfo Plancarte Ibarra, Peter Villadsen
-
Publication number: 20140359587Abstract: Abstract Syntax Trees (ASTs) are generated using the source code of a programming language that include information relating to the structure of the program. The generation of the ASTs may be performed in parallel. The types are split into a number of modules (e.g. configurable) that form an assembly. During the different stages of the compilation process, each module may be compiled in parallel. As the different modules are being compiled (e.g. in parallel), compiler metadata from the different modules may be written to a repository accessible by the different compilation processes. After flowing through the compilation pipeline, each of the enriched ASTs are used for code generation where they are transformed into the target language (e.g. a code stream that can be executed on hardware). The executable code is then stored as part of the assembly. The storage of the code may also be performed in parallel.Type: ApplicationFiled: May 31, 2013Publication date: December 4, 2014Inventors: Peter Villadsen, Gustavo Plancarte, Tanmoy Dutta
-
Patent number: 8793706Abstract: Concepts and technologies are described herein for providing metadata-based eventing supporting operations on data. Application data such as classes and events can be stored in a table and can be associated with and/or described by application metadata. The application metadata also can specify one or more event handlers that reference one or more methods on a class. The event handlers can be invoked via various delegates linked to the one or more application metadata tables. When a create, update, or delete operation on the application data is received, the application metadata can be queried to determine if the application metadata describes event handlers associated with the application data. If event handlers associated with the application data exist, the event handlers can be invoked.Type: GrantFiled: December 16, 2010Date of Patent: July 29, 2014Assignee: Microsoft CorporationInventors: Peter Villadsen, Zhaoqi Chen, Ramakanthachary S. Gottumukkala, Marcos Calderon
-
Publication number: 20130325871Abstract: A system and method for analyzing data from a plurality of computer environments. The computer environments are authenticated and data is imported to a memory location. The data is converted into a uniform format to enable expedited searching by one or more authenticated users. The data may be marked so that a user may determine which computer environment provided the data. The system may also create one or more indexes of the data to assist one or more users in searching the data.Type: ApplicationFiled: August 2, 2013Publication date: December 5, 2013Inventors: Jason Shiffer, Matthew Frazier, Sean Cunningham, Scott Hogsten, Eric Helvey, James Butler, Peter Villadsen
-
Publication number: 20130325872Abstract: A system and method for analyzing data from a plurality of computer environments. The computer environments are authenticated and data is imported to a memory location. The data is converted into a uniform format to enable expedited searching by one or more authenticated users. The data may be marked so that a user may determine which computer environment provided the data. The system may also create one or more indexes of the data to assist one or more users in searching the data.Type: ApplicationFiled: August 2, 2013Publication date: December 5, 2013Inventors: Jason Shiffer, Matthew Frazier, Sean Cunningham, Scott Hogsten, Eric Helvey, James Butler, Peter Villadsen
-
Publication number: 20130318073Abstract: A system and method for analyzing data from a plurality of computer environments. The computer environments are authenticated and data is imported to a memory location. The data is converted into a uniform format to enable expedited searching by one or more authenticated users. The data may be marked so that a user may determine which computer environment provided the data. The system may also create one or more indexes of the data to assist one or more users in searching the data.Type: ApplicationFiled: August 2, 2013Publication date: November 28, 2013Inventors: Jason Shiffer, Matthew Frazier, Sean Cunningham, Scott Hogsten, Eric Helvey, James Butler, Peter Villadsen
-
Patent number: 8312437Abstract: Architecture allows a programmer to answer questions about the source code the programmer is authoring, questions that cannot be answered by other means. A searching mechanism is provided over a much more structured presentation of the source code. The architecture utilizes components that provide an intimate knowledge about the structure of the text, namely, the source code of some particular programming language. The search mechanism employs an abstract syntax tree representation of the code over which the search is conducted. The program source code (as edited by the programmer) is transformed into the abstract syntax tree to embody the structure of the program. If the syntax tree is provided in XML, for example, an XML search mechanism such as Xpath can be utilized to perform the actual searching. This tree is then queried, allowing richer searching criteria to be expressed (by virtue of the structured format of the tree).Type: GrantFiled: December 30, 2008Date of Patent: November 13, 2012Assignee: Microsoft CorporationInventor: Peter Villadsen
-
Publication number: 20120227034Abstract: Concepts and technologies are described herein for incremental generation of managed assemblies. In accordance with some of the concepts and technologies disclosed herein, a compiler incrementally generates a managed assembly thereby facilitating a rapid application development environment in which changes to the assembly require recompilation of only a changed portion of the assembly instead of recompilation of the entire assembly.Type: ApplicationFiled: March 4, 2011Publication date: September 6, 2012Applicant: Microsoft CorporationInventors: Gustavo Adolfo Plancarte Ibarra, Peter Villadsen
-
Publication number: 20120159516Abstract: Concepts and technologies are described herein for providing metadata-based eventing supporting operations on data. Application data such as classes and events can be stored in a table and can be associated with and/or described by application metadata. The application metadata also can specify one or more event handlers that reference one or more methods on a class. The event handlers can be invoked via various delegates linked to the one or more application metadata tables. When a create, update, or delete operation on the application data is received, the application metadata can be queried to determine if the application metadata describes event handlers associated with the application data. If event handlers associated with the application data exist, the event handlers can be invoked.Type: ApplicationFiled: December 16, 2010Publication date: June 21, 2012Applicant: Microsoft CorporationInventors: Peter Villadsen, Zhaoqi Chen, Ramakanthachary S. Gottumukkala, Marcos Calderon
-
Publication number: 20120159429Abstract: Customization of software source code is enabled by adding the event handlers to be invoked in metadata instead of as coding artifacts. The fact that classes offer delegates that can be assigned handlers is described as part of metadata, in other words, as descriptions of the event itself. By defining eventing in metadata, adding and/or removing handlers for specific events is enabled without programming or modification of the source code.Type: ApplicationFiled: December 15, 2010Publication date: June 21, 2012Applicant: MICROSOFT CORPORATIONInventors: Peter Villadsen, Zhaoqi Chen, Marcos Calderon Macias, Ramakanthachary Gottumukkala
-
Publication number: 20120159515Abstract: Concepts and technologies are described herein for sharing object representations between one or more runtime environments. In accordance with the concepts and technologies disclosed herein, logic defining objects includes references to one or more object proxies. Logic defining the object proxies can include a reference to at least one object corresponding to the object proxy. When an object reference associated with the object proxy is generated, the object reference is routed to the object corresponding to the object proxy. According to various implementations, the object is accessed via accessing the object proxy. Thus, the object may appear native to the runtime environment in which the object proxy resides. In some embodiments, a conduit translates object references from object proxies to objects, and enables communications between runtime environments. Objects also can be referenced by more than one object proxies.Type: ApplicationFiled: December 16, 2010Publication date: June 21, 2012Applicant: Microsoft CorporationInventors: Marcos Calderon, Ashish Gupta, Peter Villadsen