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: 10877734
    Abstract: 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: Grant
    Filed: March 15, 2019
    Date of Patent: December 29, 2020
    Assignee: MICROSOFT TECHNOLOGY LICENSING, LLC
    Inventors: John Stairs, Marcos Calderon Macias, Peter Villadsen
  • Publication number: 20190212988
    Abstract: 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: Application
    Filed: March 15, 2019
    Publication date: July 11, 2019
    Applicant: Microsoft Technology Licensing, LLC
    Inventors: John STAIRS, Marcos Calderon MACIAS, Peter VILLADSEN
  • Patent number: 10268455
    Abstract: 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: Grant
    Filed: May 20, 2016
    Date of Patent: April 23, 2019
    Assignee: MICROSOFT TECHNOLOGY LICENSING, LLC
    Inventors: John Stairs, Marcos Calderon Macias, Peter Villadsen
  • Patent number: 10146810
    Abstract: 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: Grant
    Filed: August 2, 2013
    Date of Patent: December 4, 2018
    Assignee: FireEye, Inc.
    Inventors: Jason Shiffer, Matthew Frazier, Sean Cunningham, Scott Hogsten, Eric Helvey, James Butler, Peter Villadsen
  • Publication number: 20170337038
    Abstract: 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: Application
    Filed: May 20, 2016
    Publication date: November 23, 2017
    Inventors: John Stairs, Marcos Calderon Macias, Peter Villadsen
  • Patent number: 9760346
    Abstract: 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: Grant
    Filed: May 31, 2013
    Date of Patent: September 12, 2017
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Peter Villadsen, Gustavo Plancarte, Tanmoy Dutta
  • Publication number: 20160103660
    Abstract: 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: Application
    Filed: December 17, 2015
    Publication date: April 14, 2016
    Inventors: Peter Villadsen, Zhaoqi Chen, Marcos Calderon Macias, Ramakanthachary Gottumukkala
  • Publication number: 20150113498
    Abstract: 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: Application
    Filed: October 21, 2013
    Publication date: April 23, 2015
    Applicant: Microsoft Corporation
    Inventors: Sean M. Wiese, Joshua H. Lange, Choon Chea Chua, Nitin Sharma, Peter Villadsen, Ramakanthachary S. Gottumukkala, Zhonghua Chu
  • Patent number: 8949257
    Abstract: 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: Grant
    Filed: February 1, 2008
    Date of Patent: February 3, 2015
    Assignee: Mandiant, LLC
    Inventors: Jason Shiffer, Matthew Frazier, Sean Cunningham, Scott Hogsten, Eric Helvey, James Butler, Peter Villadsen
  • Patent number: 8914780
    Abstract: 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: Grant
    Filed: March 4, 2011
    Date of Patent: December 16, 2014
    Assignee: Microsoft Corporation
    Inventors: Gustavo Adolfo Plancarte Ibarra, Peter Villadsen
  • Publication number: 20140359587
    Abstract: 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: Application
    Filed: May 31, 2013
    Publication date: December 4, 2014
    Inventors: Peter Villadsen, Gustavo Plancarte, Tanmoy Dutta
  • Patent number: 8793706
    Abstract: 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: Grant
    Filed: December 16, 2010
    Date of Patent: July 29, 2014
    Assignee: Microsoft Corporation
    Inventors: Peter Villadsen, Zhaoqi Chen, Ramakanthachary S. Gottumukkala, Marcos Calderon
  • Publication number: 20130325871
    Abstract: 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: Application
    Filed: August 2, 2013
    Publication date: December 5, 2013
    Inventors: Jason Shiffer, Matthew Frazier, Sean Cunningham, Scott Hogsten, Eric Helvey, James Butler, Peter Villadsen
  • Publication number: 20130325872
    Abstract: 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: Application
    Filed: August 2, 2013
    Publication date: December 5, 2013
    Inventors: Jason Shiffer, Matthew Frazier, Sean Cunningham, Scott Hogsten, Eric Helvey, James Butler, Peter Villadsen
  • Publication number: 20130318073
    Abstract: 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: Application
    Filed: August 2, 2013
    Publication date: November 28, 2013
    Inventors: Jason Shiffer, Matthew Frazier, Sean Cunningham, Scott Hogsten, Eric Helvey, James Butler, Peter Villadsen
  • Patent number: 8312437
    Abstract: 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: Grant
    Filed: December 30, 2008
    Date of Patent: November 13, 2012
    Assignee: Microsoft Corporation
    Inventor: Peter Villadsen
  • Publication number: 20120227034
    Abstract: 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: Application
    Filed: March 4, 2011
    Publication date: September 6, 2012
    Applicant: Microsoft Corporation
    Inventors: Gustavo Adolfo Plancarte Ibarra, Peter Villadsen
  • Publication number: 20120159516
    Abstract: 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: Application
    Filed: December 16, 2010
    Publication date: June 21, 2012
    Applicant: Microsoft Corporation
    Inventors: Peter Villadsen, Zhaoqi Chen, Ramakanthachary S. Gottumukkala, Marcos Calderon
  • Publication number: 20120159429
    Abstract: 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: Application
    Filed: December 15, 2010
    Publication date: June 21, 2012
    Applicant: MICROSOFT CORPORATION
    Inventors: Peter Villadsen, Zhaoqi Chen, Marcos Calderon Macias, Ramakanthachary Gottumukkala
  • Publication number: 20120159515
    Abstract: 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: Application
    Filed: December 16, 2010
    Publication date: June 21, 2012
    Applicant: Microsoft Corporation
    Inventors: Marcos Calderon, Ashish Gupta, Peter Villadsen