Patents by Inventor Brian K. Pepin

Brian K. Pepin 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: 8959489
    Abstract: The present invention provides technologies for forming an editing interface for editing arbitrary objects. In particular, the present invention provides system and methods for enumerating object properties, selecting a suitable pre-existing object editor and, if no such pre-existing editor is available, constructing an object editor on the fly suitable for editing the properties of the object where the object may include properties and/or collections of objects. Construction of a suitable editor is based on enumeration of object properties and on the serialization of the object using a descriptive language such as extensible markup language (“XML”) or the like. Property values specified by a user via the object interface and editors are stored in a descriptive format such as XML and generally specify the initial characteristics of the object.
    Type: Grant
    Filed: April 16, 2007
    Date of Patent: February 17, 2015
    Assignee: Microsoft Corporation
    Inventors: Alan J. Gasperini, James S. Nakashima, Juraj Hlavac, Gary K. Linscott, Charles P. Jazdzewski, Jeffrey W. Kelly, Unnikrishnan Ravindranathan, Brian K. Pepin, Mark A. Boulter
  • Patent number: 8762936
    Abstract: An Integrated Development Environment (IDE) is provided which comprises a visual designer that supports at least two avenues of extension. First, the visual designer may be extended with entirely new features by adding a visual designer extension. The visual designer extension is a deriving class of an extension server object. The extension server object may be provided along with the IDE. The visual designer extension manages a list of extension objects, and exposes a service provider to such extension objects. The visual designer extension can request and publish services through the service provider. Second, the visual designer may be extended with new variations of existing features by adding additional extension objects that derive from, and are managed by, an existing visual designer extension. These two modes of extension are supported by a novel visual designer framework described herein.
    Type: Grant
    Filed: June 9, 2006
    Date of Patent: June 24, 2014
    Assignee: Microsoft Corporation
    Inventors: Brian K. Pepin, Fred W. Balsiger
  • Patent number: 7908582
    Abstract: A system and method for discovering the design time attributes of a component are provided. The invention includes a type descriptor that can access metadata associated with a component and report the metadata to a development tool. The invention further includes a custom type descriptor interface that can be implemented on a component in order to dynamically provide information regarding the component to the type descriptor. The invention further includes a type descriptor filter service interface that can be implemented by the development tool to facilitate filtering of design time information regarding components in order to simulate a run time environment. The invention further comprises methodologies and tools for facilitating application development.
    Type: Grant
    Filed: December 8, 2006
    Date of Patent: March 15, 2011
    Assignee: Microsoft Corporation
    Inventors: Brian K. Pepin, Shawn P. Burke
  • Publication number: 20100251212
    Abstract: A version traversal system for objects, such as types, may include a reference to another version of an object with the type definition. The reference may be used to identify an older or newer version of the object which may be in a different assembly and may have a different simple name. The version traversal system may be used to compile applications written for the first version but compiled with assemblies from the second version, as well as serializing and deserializing objects from one version to another. The version traversal system may enable two way communications between applications that use two versions of a set of assemblies. The reference may include a fully qualified name or other identifiers.
    Type: Application
    Filed: March 30, 2009
    Publication date: September 30, 2010
    Applicant: Microsoft Corporation
    Inventors: Brian M. Grunkemeyer, Madhusudhan Talluri, Mauro M. Ottaviani, Mei-Chin Tsai, Brian K. Pepin
  • Patent number: 7770159
    Abstract: A “virtual type” that, to the reflection system, looks and acts like a fully compiled type—in reality, the “virtual type” does not exist and has been fabricated based on another API such as CodeDOM. Essentially, the “virtual type” allows code to be implemented using a single code path and therefore can remain ignorant that it is dealing with uncompiled source code. A “virtual type” is an object that looks just like a compiled type, provided that it is viewed through a reflection application program interface (API).
    Type: Grant
    Filed: October 20, 2004
    Date of Patent: August 3, 2010
    Assignee: Microsoft Corporation
    Inventors: Brian K Pepin, Shawn P Burke
  • Patent number: 7721219
    Abstract: The present invention relates to systems and methods that provide automatic generation of user interfaces via creation of a class-based model. A system is provided that facilitates generating a user interface. The system includes a class component to generally define properties and methods associated with one or more interface actions. A service component parses the class to automatically generate all or a portion of a user interface from the interface actions. Push and Pull-type models can be provided to facilitate merging of actions from various classes such as provided by third parties or from existing component developments.
    Type: Grant
    Filed: August 2, 2004
    Date of Patent: May 18, 2010
    Assignee: Microsoft Corporation
    Inventors: Michael R. Harsh, Brian K. Pepin, Nikhil Kothari, Andrew Cheng-min Lin, Julien Jacques Nicolas Ellie, Simon Calvert
  • Patent number: 7716246
    Abstract: Dynamic metadata allows for metadata that can be configured for an application programming interface (API) after the API has shipped. Multiple entities can provide metadata for the same API or portions of an API. The metadata provided for an API can be set up for each application domain, allowing customization within a single process. Metadata can be provided in several ways, including traditional compiled code and declarative markup as well as databases and other more dynamic approaches. Metadata is separated from its runtime components, so that the metadata that is used by the runtime components can be changed. For example, metadata may be declared on the objects separately. The metadata is then tied back to the runtime components.
    Type: Grant
    Filed: November 30, 2005
    Date of Patent: May 11, 2010
    Assignee: Microsoft Corporation
    Inventor: Brian K. Pepin
  • Patent number: 7676787
    Abstract: The invention includes an architecture in which components associate their design time functionality independent of a design tool. The design time functionality includes code generators, compilers, parsers and editors. The architecture includes interfaces for components and designers to communicate. The architecture includes attributes in metadata that describe the functionality associated with the instance of a component.
    Type: Grant
    Filed: March 9, 2005
    Date of Patent: March 9, 2010
    Assignee: Microsoft Corporation
    Inventor: Brian K. Pepin
  • Patent number: 7634578
    Abstract: Node-to-node communication pipelines may include code modules that are configured and assembled across a protocol according to dynamically input module-specific parameters. The parameters may be input to a service into which the modules are registered, and one or more appropriate pipelines may be dynamically assembled.
    Type: Grant
    Filed: July 14, 2005
    Date of Patent: December 15, 2009
    Assignee: Microsoft Corporation
    Inventors: Brian K. Pepin, James S. Miller, Jeffrey Richter, Thomas E. Quinn
  • Patent number: 7581231
    Abstract: An application program interface (API) provides a set of functions for application developers who build Web applications on Microsoft Corporation's .NET™ platform.
    Type: Grant
    Filed: February 28, 2002
    Date of Patent: August 25, 2009
    Assignee: Microsoft Corporation
    Inventors: Adam W. Smith, Anthony J. Moore, Anders Hejlsberg, Brian A. LaMacchia, Blaine J. Dockter, Brian M. Grunkemeyer, Brian K. Pepin, Caleb L. Doise, Christopher W. Brumme, Chad W. Royal, Christopher L. Anderson, Corina E. Feuerstein, Craig T. Sinclair, Daniel Dedu-Constantin, Daniel Takacs, David S. Ebbo, David S. Mortenson, Erik B. Christensen, Erik B. Olson, Fabio A. Yeon, Giovanni M. Della-Libera, Gopala Krishna R. Kakivaya, Gregory D. Fee, Hany E. Ramadan, Jayanth V. Rajan, Jeffrey M. Cooperstein, Jonathan C. Hawkins, James H. Hogg, Joe D. Long, John I. McConnell, Jesus Ruiz-Scougall, James S. Miller, Julie D. Bennett, Jun Fang, Krzysztof J. Cwalina, Keith W. Ballinger, Lance E. Olson, Loren M. Kohnfelder, Luca Bolognese, Manu Vasandani, Mark T. Anders, Mark P. Ashton, Mark A. Boulter, Mark W. Fussell, Michael M. Magruder, Manish S. Prabhu, Neetu Rajpal, Nikhil Kothari, Nithyalakshmi Sampathkumar, Nicholas M. Kramer, Omri Gazitt, Radu Rares Palanca, Raja Krishnaswamy, Robert M. Howard, Ramasamy Krishnaswamy, Shawn P. Burke, Scott D. Guthrie, Sean E. Trowbridge, Seth M. Demsey, Shajan Dasan, Subhag P. Oak, Sreeram Nivarthi, Stefan H. Pharies, Suzanne M. Cook, Susan M. Warren, Tarun Anand, Travis J. Muhlestein, William A. Adams, Yan Leshinsky, Yann E. Christensen, Yung-shin Lin, Stephen J. Millet, Joseph Roxe, Alan Boshier, Henry L. Sanders, David Bau
  • Patent number: 7546602
    Abstract: An application program interface (API) provides a set of functions for application developers who build Web applications on Microsoft Corporation's .NET™ platform.
    Type: Grant
    Filed: July 10, 2001
    Date of Patent: June 9, 2009
    Assignee: Microsoft Corporation
    Inventors: Anders Hejlsberg, Brian K. Pepin, Chad W. Royal, Christopher L. Anderson, Giovanni M. Della-Libera, Mark A. Boulter, Nicholas M. Kramer, Shawn P. Burke, Subhag P. Oak, Sreeram Nivarthi
  • Publication number: 20090006433
    Abstract: Various techniques for assembling object properties are disclosed. For example, one such method includes receiving an object identification that indicates an object, and receiving a property associated with the object. Property category identification is performed that identifies a property category associated with the aforementioned property, and the property is dynamically associated with the identified property category. In some instances, such methods further include providing a category editor that allows for modifying a plurality of properties associated with the property category.
    Type: Application
    Filed: June 29, 2007
    Publication date: January 1, 2009
    Applicant: Microsoft Corporation
    Inventors: Alan J. Gasperini, Gary Linscott, Amir M. Khella, Unnikrishnan Ravindranathan, Mark Boulter, James K. Nakashima, Juraj Hlavac, Brian K. Pepin
  • Patent number: 7467373
    Abstract: A system and/or methodology to publish and share global objects in a visual designer is provided. A global object is an object that is available anywhere in the development project, rather than being local to a class or user interface element. Aspects of the invention are directed to a mechanism where global objects can be published, queried and/or used by individual visual designers. Additionally, aspects are directed to systems and/or methodologies where changes to those global objects can be made in such a way that they can be automatically updated in the designer. An alternate aspect of this mechanism can integrate with visual designers such that the designer itself does not need to be modified to accommodate the presence of a global object.
    Type: Grant
    Filed: October 18, 2004
    Date of Patent: December 16, 2008
    Assignee: Microsoft Corporation
    Inventors: Brian K Pepin, Shawn P Burke
  • Publication number: 20080256465
    Abstract: The present invention provides technologies for forming an editing interface for editing arbitrary objects. In particular, the present invention provides system and methods for enumerating object properties, selecting a suitable pre-existing object editor and, if no such pre-existing editor is available, constructing an object editor on the fly suitable for editing the properties of the object where the object may include properties and/or collections of objects. Construction of a suitable editor is based on enumeration of object properties and on the serialization of the object using a descriptive language such as extensible markup language (“XML”) or the like. Property values specified by a user via the object interface and editors are stored in a descriptive format such as XML and generally specify the initial characteristics of the object.
    Type: Application
    Filed: April 16, 2007
    Publication date: October 16, 2008
    Applicant: Microsoft Corporation
    Inventors: Alan J. Gasperini, James S. Nakashima, Juraj Hlavac, Gary K. Linscott, Charles P. Jazdzewski, Jeffrey W. Kelly, Unnikrishnan Ravindranathan, Brian K. Pepin, Mark A. Boulter
  • Publication number: 20070288887
    Abstract: An Integrated Development Environment (IDE) is provided which comprises a visual designer that supports at least two avenues of extension. First, the visual designer may be extended with entirely new features by adding a visual designer extension. The visual designer extension is a deriving class of an extension server object. The extension server object may be provided along with the IDE. The visual designer extension manages a list of extension objects, and exposes a service provider to such extension objects. The visual designer extension can request and publish services through the service provider. Second, the visual designer may be extended with new variations of existing features by adding additional extension objects that derive from, and are managed by, an existing visual designer extension. These two modes of extension are supported by a novel visual designer framework described herein.
    Type: Application
    Filed: June 9, 2006
    Publication date: December 13, 2007
    Applicant: Microsoft Corporation
    Inventors: Brian K. Pepin, Fred W. Balsiger
  • Patent number: 7150001
    Abstract: A system and method for discovering the design time attributes of a component are provided. The invention includes a type descriptor that can access metadata associated with a component and report the metadata to a development tool. The invention further includes a custom type descriptor interface that can be implemented on a component in order to dynamically provide information regarding the component to the type descriptor. The invention further includes a type descriptor filter service interface that can be implemented by the development tool to facilitate filtering of design time information regarding components in order to simulate a run time environment. The invention further comprises methodologies and tools for facilitating application development.
    Type: Grant
    Filed: March 19, 2001
    Date of Patent: December 12, 2006
    Assignee: Microsoft Corporation
    Inventors: Brian K. Pepin, Shawn P. Burke
  • Patent number: 6948150
    Abstract: The invention includes an architecture in which components associate their design time functionality independent of a design tool. The design time functionality includes code generators, compilers, parsers and editors. The architecture includes interfaces for components and designers to communicate. The architecture includes attributes in metadata that describe the functionality associated with the instance of a component.
    Type: Grant
    Filed: February 20, 2001
    Date of Patent: September 20, 2005
    Assignee: Microsoft Corporation
    Inventor: Brian K. Pepin
  • Publication number: 20030177282
    Abstract: An application program interface (API) provides a set of functions for application developers who build Web applications on Microsoft Corporation's .NET™ platform.
    Type: Application
    Filed: July 10, 2001
    Publication date: September 18, 2003
    Inventors: Andres Hejlsberg, Brian K. Pepin, Chad W. Royal, Christopher L. Anderson, Giovanni M. Della-Libera, Mark A. Boulter, Nicholas M. Kramer, Shawn P. Burke, Subhag P. Oak, Sreeram Nivarthi
  • Publication number: 20030028685
    Abstract: An application program interface (API) provides a set of functions for application developers who build Web applications on Microsoft Corporation's .NET™ platform.
    Type: Application
    Filed: February 28, 2002
    Publication date: February 6, 2003
    Inventors: Adam W. Smith, Anthony J. Moore, Anders Hejlsberg, Brian A. LaMacchia, Blaine J. Dockter, Brian M. Grunkemeyer, Brian K. Pepin, Caleb L. Doise, Christopher W. Brumme, Chad W. Royal, Christopher L. Anderson, Corina E. Feuerstein, Craig T. Sinclair, Daniel Dedu-Constantin, Daniel Takacs, David S. Ebbo, David S. Mortenson, Erik B. Christensen, Erik B. Olson, Fabio A. Yeon, Giovanni M. Della-Libera, Gopala Krishna R. Kakivaya, Gregory D. Fee, Hany E. Ramadan, Jayanth V. Rajan, Jeffrey M. Cooperstein, Jonathan C. Hawkins, James H. Hogg, Joe D. Long, John I. McConnell, Jesus Ruiz-Scougall, James S. Miller, Julie D. Bennett, Jun Fang, Krzysztof J. Cwalina, Keith W. Ballinger, Lance E. Olson, Loren M. Kohnfelder, Luca Bolognese, Manu Vasandani, Mark T. Anders, Mark P. Ashton, Mark A. Boulter, Mark W. Fussell, Michael M. Magruder, Manish S. Prabhu, Neetu Rajpal, Nikhil Kothari, Nithyalakshmi Sampathkumar, Nicholas M. Kramer, Omri Gazitt, Radu Rares Palanca, Raja Krishnaswamy, Robert M. Howard, Ramasamy Krishnaswamy, Shawn P. Burke, Scott D. Guthrie, Sean E. Trowbridge, Seth M. Demsey, Shajan Dasan, Subhag P. Oak, Sreeram Nivarthi, Stefan H. Pharies, Suzanne M. Cook, Susan M. Warren, Tarun Anand, Travis J. Muhlestein, William A. Adams, Yan Leshinsky, Yann E. Christensen, Yung-shin Lin, Stephen J. Miller, Joseph Roxe, Alan Boshier, Henry L. Sanders, David Bau