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: 9229790Abstract: 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: GrantFiled: April 4, 2014Date of Patent: January 5, 2016Assignee: Microsoft Technology Licensing, LLCInventors: 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: 20150020084Abstract: 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: ApplicationFiled: April 4, 2014Publication date: January 15, 2015Applicant: Microsoft CorporationInventors: 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: 8726237Abstract: 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: GrantFiled: October 28, 2009Date of Patent: May 13, 2014Assignee: Microsoft CorporationInventors: Shawn Van Ness, Paul Kwiatkowski, Nikhil Dang, Martyn Lovell, Benjamin Constable, Gary Henderson
-
Patent number: 8695021Abstract: 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: GrantFiled: August 31, 2011Date of Patent: April 8, 2014Assignee: Microsoft CorporationInventors: 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: 8593463Abstract: 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: GrantFiled: October 27, 2009Date of Patent: November 26, 2013Assignee: Microsoft CorporationInventors: Robert Jarrett, Sankhyayan Debnath, Paul Kwiatkowski, Martyn Lovell, Billie Sue Chafins, Paul Gildea, Jay Turney
-
Publication number: 20130055292Abstract: 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: ApplicationFiled: August 31, 2011Publication date: February 28, 2013Applicant: Microsoft CorporationInventors: 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: 20130055291Abstract: 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: ApplicationFiled: August 31, 2011Publication date: February 28, 2013Applicant: Microsoft CorporationInventors: 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: 20110096076Abstract: 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: ApplicationFiled: October 27, 2009Publication date: April 28, 2011Applicant: Microsoft CorporationInventors: Paul Kwiatkowski, Sankhyayan Debnath, Martyn Lovell, Nicolas Brun, Robert Jarrett, Billie Sue Chafins, Paul Gildea, Shawn Van Ness, Jay Turney
-
Publication number: 20050240640Abstract: 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: ApplicationFiled: June 30, 2005Publication date: October 27, 2005Applicant: Microsoft CorporationInventors: Christopher Kaler, Martyn Lovell, Michael Grier, Bradley Bartz
-
Publication number: 20050091291Abstract: 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: ApplicationFiled: November 24, 2004Publication date: April 28, 2005Applicant: Microsoft CorporationInventors: Christopher Kaler, Steven Kruy, Martyn Lovell, Michael Grier