Patents by Inventor Martyn Lovell

Martyn Lovell 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: 9229790
    Abstract: Information about the operating system application programming interfaces is stored in a known format in a known location. This information fully describes the APIs exposed by the operating system and is stored in API metadata files. A language compiler or interpreter uses this API information to build a natural and familiar representation of the native system API in the target language. The language compiler or interpreter can read the API information at compile time and/or runtime. The metadata is used to allow an application to refer to named elements in the API. Projections are built that use the metadata to map named elements in the API to named elements in the target language, and to define wrappers that marshal data of those elements between the target representation and the native operating system representation.
    Type: Grant
    Filed: April 4, 2014
    Date of Patent: January 5, 2016
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Harold Pierson, Brent Rector, Martyn Lovell, Mahesh Prakriya, Stephen Rowe, Tassaduq Basu, Robert A. Wlodarczyk, Elliot H. Omiya, Jerry Dunietz, Ales Holecek, Lawrence W. Osterman, Wei Zeng, Neeraj Wadhwa, Shakeel Solkar, Michael Aksionkin
  • Publication number: 20150020084
    Abstract: Information about the operating system application programming interfaces is stored in a known format in a known location. This information fully describes the APIs exposed by the operating system and is stored in API metadata files. A language compiler or interpreter uses this API information to build a natural and familiar representation of the native system API in the target language. The language compiler or interpreter can read the API information at compile time and/or runtime. The metadata is used to allow an application to refer to named elements in the API. Projections are built that use the metadata to map named elements in the API to named elements in the target language, and to define wrappers that marshal data of those elements between the target representation and the native operating system representation.
    Type: Application
    Filed: April 4, 2014
    Publication date: January 15, 2015
    Applicant: Microsoft Corporation
    Inventors: Harold Pierson, Brent Rector, Martyn Lovell, Mahesh Prakriya, Stephen Rowe, Tassaduq Basu, Robert A. Wlodarczyk, Elliot H. Omiya, Jerry Dunietz, Ales Holecek, Lawrence W. Osterman, Wei Zeng, Neeraj Wadhwa, Shakeel Solkar, Michael Aksionkin
  • Patent number: 8726237
    Abstract: Many computer applications involve event driven programming. Unfortunately, it may be burdensome on application developers to develop event handlers in unmanaged code for all relevant events within their computer application. For example, when using COM objects in connection with event handling, the burden of lifetime management may be placed on the application developer. Accordingly, one or more systems and/or techniques for event handling in unmanaged code are disclosed herein. A delegate comprising a first interface and a second interface is provided. The delegate may receive event data from a software platform connected to the first interface and may notify a function of a process connected to the second interface. The delegate self destructs when both the computing platform and the process have released their connections to the respective interfaces, thus mitigating manual coding of lifetime management functionality within the process.
    Type: Grant
    Filed: October 28, 2009
    Date of Patent: May 13, 2014
    Assignee: Microsoft Corporation
    Inventors: Shawn Van Ness, Paul Kwiatkowski, Nikhil Dang, Martyn Lovell, Benjamin Constable, Gary Henderson
  • Patent number: 8695021
    Abstract: Information about the operating system application programming interfaces is stored in a known format in a known location. This information fully describes the APIs exposed by the operating system and is stored in API metadata files. A language compiler or interpreter uses this API information to build a natural and familiar representation of the native system API in the target language. The language compiler or interpreter can read the API information at compile time and/or runtime. The metadata is used to allow an application to refer to named elements in the API. Projections are built that use the metadata to map named elements in the API to named elements in the target language, and to define wrappers that marshal data of those elements between the target representation and the native operating system representation.
    Type: Grant
    Filed: August 31, 2011
    Date of Patent: April 8, 2014
    Assignee: Microsoft Corporation
    Inventors: Harold Pierson, Brent Rector, Martyn Lovell, Mahesh Prakriya, Stephen Rowe, Tassaduq Basu, Robert A. Wlodarczyk, Elliot H. Omiya, Jerry Dunietz, Ales Holecek, Lawrence W. Osterman, Wei Zeng, Neeraj Wadhwa, Shakeel Solkar, Michael Aksionkin
  • Patent number: 8593463
    Abstract: Many computer applications incorporate and support animation (e.g., interactive user interfaces). Unfortunately, it may be challenging for computer applications and rendering systems to render animation frames at a smooth and consistent rate while conserving system resources. Accordingly, a technique for controlling animation rendering frame rate of an application is disclosed herein. An animation rendering update interval of an animation timer may be adjusted based upon a rendering system state (e.g., a rate of compositing visual layouts from animation frames) of a rendering system and/or an application state (e.g., a rate at which an application renders frames) of an application. Adjusting the animation rendering update interval allows the animation timer to adjust the frequency of performing rendering callback notifications (work requests to an application to render animation frames) to an application based upon rendering system performance and application performance.
    Type: Grant
    Filed: October 27, 2009
    Date of Patent: November 26, 2013
    Assignee: Microsoft Corporation
    Inventors: Robert Jarrett, Sankhyayan Debnath, Paul Kwiatkowski, Martyn Lovell, Billie Sue Chafins, Paul Gildea, Jay Turney
  • Publication number: 20130055292
    Abstract: Information about the operating system application programming interfaces is stored in a known format in a known location. This information fully describes the APIs exposed by the operating system and is stored in API metadata files. A language compiler or interpreter uses this API information to build a natural and familiar representation of the native system API in the target language. The language compiler or interpreter can read the API information at compile time and/or runtime. The metadata is used to allow an application to refer to named elements in the API. Projections are built that use the metadata to map named elements in the API to named elements in the target language, and to define wrappers that marshal data of those elements between the target representation and the native operating system representation.
    Type: Application
    Filed: August 31, 2011
    Publication date: February 28, 2013
    Applicant: Microsoft Corporation
    Inventors: Harold Pierson, Brent Rector, Martyn Lovell, Mahesh Prakriya, Stephen Rowe, Tassaduq Basu, Robert A. Wlodarczyk, Elliot H. Omiya, Jerry Dunietz, Ales Holecek, Lawrence W. Osterman, Wei Zeng, Neeraj Wadhwa, Shakeel Solkar, Michael Aksionkin
  • Publication number: 20130055291
    Abstract: Native operating system application programming interfaces (API's) are described using metadata and such descriptions are stored in a standard file format in a known location. By storing API definitions using such metadata, other applications can readily identify and use the APIs. To create such API representations, during development, a developer describes the shape of the API, including (but not limited to) the classes, interfaces, methods, properties, events, parameters, structures and enumerated types defined by the API. This API description is processed by a tool which generates a machine-readable metadata file. The machine-readable metadata file contains the same information as the API description, however in a format designed to be machine read rather than human authored.
    Type: Application
    Filed: August 31, 2011
    Publication date: February 28, 2013
    Applicant: Microsoft Corporation
    Inventors: Harold Pierson, Brent Rector, Martyn Lovell, Mahesh Prakriya, Stephen Rowe, Tassaduq Basu, Robert A. Wlodarczyk, Elliot H. Omiya, Jerry Dunietz, Ales Holecek, Lawrence W. Osterman, Wei Zeng, Neeraj Wadhwa, Shakeel Solkar, Michael Aksionkin
  • Publication number: 20110096076
    Abstract: Many computer applications incorporate and support animation. Application performance may be enhanced by delegating animation management to an application program interface (animation API) for animation. Accordingly, an animation API for managing animation is disclosed herein. The animation API may be configured to sequentially interpolate values of animation variables defining animation movement of animation objects. The animation API may interpolate the values of the animation variables using animation transitions within animation storyboards. The animation API may be configured to determine durations of animation transitions based upon animation characteristics parameters (e.g., starting position, desiring ending position, starting velocity of an animation variable). Durations and start times of animation transitions may be determined based upon key frames. The animation API may be configured to resolve scheduling conflicts among one or more animation transitions.
    Type: Application
    Filed: October 27, 2009
    Publication date: April 28, 2011
    Applicant: Microsoft Corporation
    Inventors: Paul Kwiatkowski, Sankhyayan Debnath, Martyn Lovell, Nicolas Brun, Robert Jarrett, Billie Sue Chafins, Paul Gildea, Shawn Van Ness, Jay Turney
  • Publication number: 20050240640
    Abstract: A software-development system or versioning system has a collection of modules for performing individual development functions such as document editing, keyword processing, and private-copy management. Each module has an interface compatible with that of the others, so that modules can be added to or substituted for the original modules, if the new modules conform to the interface. The architecture of this system supports the performance of development actions such as document merging and keyword expansion at any location within the system. The system operates upon documents and files as objects in an object space, rather than in name spaces.
    Type: Application
    Filed: June 30, 2005
    Publication date: October 27, 2005
    Applicant: Microsoft Corporation
    Inventors: Christopher Kaler, Martyn Lovell, Michael Grier, Bradley Bartz
  • Publication number: 20050091291
    Abstract: A configuration management system creates (602) each configuration by assigning a configuration identifier to each configuration. In addition, relational information is computed (706) that indicates the relationships between the configuration and any configurations upon which it is based. The system then tracks (604) changes to files of the configuration by storing information associating each new file version with the configuration identifier. The system also tracks (1210) changes to file properties. A configuration is then reconstructed (608) as of a desired date, by identifying (2104, 2106) the file versions and properties associated with that configuration as of the desired date. A determination is made (2110) whether a user that has requested the file versions has access privileges by first checking a security cache (2600) for the user privileges information. If the information is not on the cache, it is computed from a security table (2800) and stored on the cache.
    Type: Application
    Filed: November 24, 2004
    Publication date: April 28, 2005
    Applicant: Microsoft Corporation
    Inventors: Christopher Kaler, Steven Kruy, Martyn Lovell, Michael Grier