Patents by Inventor Shawn Hargreaves
Shawn Hargreaves 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: 9934122Abstract: Embodiments of the invention rely on simple time measurements to extract rich performance analysis from a graphics program. The invention times the program as it repeatedly executes on a selected platform, while a series of variations are applied to the program with each execution. As a result, without requiring any specific profiling tools for the platform, a developer can analyze and understand the performance characteristics of the program based upon these elapsed time measurements. The program can then be optimized to incorporate variations that improve execution time.Type: GrantFiled: July 9, 2014Date of Patent: April 3, 2018Assignee: MICROSOFT TECHNOLOGY LICENSING, LLCInventors: Adrian Tsai, Thomas Davidson, James Bartlett, Shawn Hargreaves
-
Publication number: 20160011955Abstract: Embodiments of the invention rely on simple time measurements to extract rich performance analysis from a graphics program. The invention times the program as it repeatedly executes on a selected platform, while a series of variations are applied to the program with each execution. As a result, without requiring any specific profiling tools for the platform, a developer can analyze and understand the performance characteristics of the program based upon these elapsed time measurements. The program can then be optimized to incorporate variations that improve execution time.Type: ApplicationFiled: July 9, 2014Publication date: January 14, 2016Applicant: MICROSOFT CORPORATIONInventors: Adrian Tsai, Thomas Davidson, James Bartlett, Shawn Hargreaves
-
Patent number: 8607324Abstract: Systems, methods and computer readable media are disclosed for a trusted proxy to intercept communications between an untrusted computerized gaming system and an online multi-player gaming service that requires games to be trusted, allowing the untrusted computerized gaming system to use the multi-player gaming service. In addition to allowing the untrusted computerized gaming system to use the multi-player gaming service in general, the trusted proxy can also limit the extent of the interaction between the untrusted computerized gaming system and the multi-player gaming service.Type: GrantFiled: January 15, 2008Date of Patent: December 10, 2013Assignee: Microsoft CorporationInventors: Shawn Hargreaves, John Mitchell Walker, Richard A. Meyer
-
Patent number: 8523666Abstract: Mechanisms are disclosed that allow for execution of unsigned content and the securing of resources in a closed system when such unsigned content is executing on the system. For example, an application programming interface is used between an access layer implementing unsigned content and an operating system of the closed system. The application programming interface may have sub-interfaces that correspond to sub-layers of the access layer, including a graphics sub-interface, an audio sub-interface, an input sub-interface, and a storage sub-interface. These sub-interfaces present access calls made by the sub-layers to the protected resources of the closed system. By providing the application programming interface, unsigned content, e.g., video games can run on a closed system that is typically designed to run only signed content.Type: GrantFiled: May 25, 2007Date of Patent: September 3, 2013Assignee: Microsoft CorporationInventors: John Mitchell Walker, Paul L. Bleisch, Thomas Wayne Miller, Jr., Matthew Picioccio, Shawn Hargreaves
-
Patent number: 8330764Abstract: Mechanisms allow for execution of unsigned managed code graphic resource call in a closed system when such unsigned content is executing on the system. For example, a managed code graphic resource device is used between an application running unsigned content and a supervisor mode graphic resource device. A managed mode graphics device validates graphic resource calls made by the application. A managed mode graphics device manages resource calls by differentiating between calls that may be made directly to the supervisor mode graphics device, calls that may be pipelined for later action, and calls that may be made to an intermediate device.Type: GrantFiled: April 20, 2007Date of Patent: December 11, 2012Assignee: Microsoft CorporationInventors: John Mitchell Walker, Paul L. Bleisch, Thomas Wayne Miller, Jr., Matthew Picioccio, Shawn Hargreaves
-
Patent number: 8120622Abstract: Systems, methods and computer readable media are disclosed for an overlaying requester to send graphics commands to a game connected to the overlaying requester via a dummy graphics application programming interface (API) object that the game will render over normal game-play graphics. In addition to allowing the overlaying requester to send graphics commands to the game in general, the dummy graphics API object can also limit the extent of the interaction between the overlaying requester and the computerized gaming system.Type: GrantFiled: January 15, 2008Date of Patent: February 21, 2012Assignee: Microsoft CorporationInventors: Shawn Hargreaves, John Mitchell Walker, Richard A. Meyer
-
Patent number: 7949998Abstract: Mechanisms are disclosed that allow for platform abstraction of a computing platform using a programming framework. The programming framework allows application programs to interact with different platforms in an identical manner by abstracting the platform. The application uses identical instructions to the programming framework across different platforms, with the programming framework modifying the instructions to fit platform specific requirements. The programming framework also emulates platform specific expected application behavior on behalf of the application. The programming framework may also provide an additional layer of security for the platform, limiting the access of the application program.Type: GrantFiled: April 20, 2007Date of Patent: May 24, 2011Assignee: Microsoft CorporationInventors: Paul L. Bleisch, Shawn Hargreaves, Tom Miller, Matthew Orren Picioccio, John M. Walker
-
Patent number: 7836055Abstract: A data provider application programming interface (API) is configured for use with a game content editing application. An asset relationship management file, which is generated with the data provider API, includes information such as relationship references and annotations and is updated by the data provider API when a digital asset is edited. The asset relationship management file is then stored in a data store. An asset relationship graph is generated, based on the asset relationship management file in the data store. The asset relationship graph includes asset graph nodes that map dependency relationships between asset files. A graph API is also described. The graph API is configured for accessing the relationship graph through a server process to expose dependency relationships and annotations to a client process, such as an application. Thus, the effect of changes to one asset on other assets can readily be evaluated.Type: GrantFiled: January 31, 2006Date of Patent: November 16, 2010Assignee: Microsoft CorporationInventors: Mel MacMahon, Boyd C. Multerer, Frank F. Savage, Josefa M. Nalewabau, Nicolas Gauvin, Shawn Hargreaves
-
Publication number: 20090179917Abstract: Systems, methods and computer readable media are disclosed for an overlaying requester to send graphics commands to a game connected to the overlaying requester via a dummy graphics application programming interface (API) object that the game will render over normal game-play graphics. In addition to allowing the overlaying requester to send graphics commands to the game in general, the dummy graphics API object can also limit the extent of the interaction between the overlaying requester and the computerized gaming system.Type: ApplicationFiled: January 15, 2008Publication date: July 16, 2009Applicant: Microsoft CorporationInventors: Shawn Hargreaves, John Mitchell Walker, Richard A. Meyer
-
Publication number: 20090181772Abstract: Systems, methods and computer readable media are disclosed for a trusted proxy to intercept communications between an untrusted computerized gaming system and an online multi-player gaming service that requires games to be trusted, allowing the untrusted computerized gaming system to use the multi-player gaming service. In addition to allowing the untrusted computerized gaming system to use the multi-player gaming service in general, the trusted proxy can also limit the extent of the interaction between the untrusted computerized gaming system and the multi-player gaming service.Type: ApplicationFiled: January 15, 2008Publication date: July 16, 2009Applicant: Microsoft CorporationInventors: Shawn Hargreaves, John Mitchell Walker, Richard A. Meyer
-
Publication number: 20080293484Abstract: Mechanisms are disclosed that allow for execution of unsigned content and the securing of resources in a closed system when such unsigned content is executing on the system. For example, an application programming interface is used between an access layer implementing unsigned content and an operating system of the closed system. The application programming interface may have sub-interfaces that correspond to sub-layers of the access layer, including a graphics sub-interface, an audio sub-interface, an input sub-interface, and a storage sub-interface. These sub-interfaces present access calls made by the sub-layers to the protected resources of the closed system. By providing the application programming interface, unsigned content, e.g., video games can run on a closed system that is typically designed to run only signed content.Type: ApplicationFiled: May 25, 2007Publication date: November 27, 2008Applicant: Microsoft CorporationInventors: John Mitchell Walker, Paul L. Bleisch, Thomas Wayne Miller, JR., Matthew Picioccio, Shawn Hargreaves
-
Publication number: 20080259087Abstract: Mechanisms allow for execution of unsigned managed code graphic resource call in a closed system when such unsigned content is executing on the system. For example, a managed code graphic resource device is used between an application running unsigned content and a supervisor mode graphic resource device. A managed mode graphics device validates graphic resource calls made by the application. A managed mode graphics device manages resource calls by differentiating between calls that may be made directly to the supervisor mode graphics device, calls that may be pipelined for later action, and calls that may be made to an intermediate device.Type: ApplicationFiled: April 20, 2007Publication date: October 23, 2008Applicant: Microsoft CorporationInventors: John Mitchell Walker, Paul L. Bleisch, Thomas Wayne Miller, Matthew Picioccio, Shawn Hargreaves
-
Publication number: 20080263537Abstract: Mechanisms are disclosed that allow for platform abstraction of a computing platform using a programming framework. The programming framework allows application programs to interact with different platforms in an identical manner by abstracting the platform. The application uses identical instructions to the programming framework across different platforms, with the programming framework modifying the instructions to fit platform specific requirements. The programming framework also emulates platform specific expected application behavior on behalf of the application. The programming framework may also provide an additional layer of security for the platform, limiting the access of the application program.Type: ApplicationFiled: April 20, 2007Publication date: October 23, 2008Applicant: Microsoft CorporationInventors: Paul L. Bleisch, Shawn Hargreaves, Tom Miller, Matthew Orren Picioccio, John M. Walker
-
Publication number: 20070220031Abstract: A data provider application programming interface (API) is configured for use with a game content editing application. An asset relationship management file, which is generated with the data provider API, includes information such as relationship references and annotations and is updated by the data provider API when a digital asset is edited. The asset relationship management file is then stored in a data store. An asset relationship graph is generated, based on the asset relationship management file in the data store. The asset relationship graph includes asset graph nodes that map dependency relationships between asset files. A graph API is also described. The graph API is configured for accessing the relationship graph through a server process to expose dependency relationships and annotations to a client process, such as an application. Thus, the effect of changes to one asset on other assets can readily be evaluated.Type: ApplicationFiled: January 31, 2006Publication date: September 20, 2007Applicant: Microsoft CorporationInventors: Mel MacMahon, Boyd Multerer, Frank Savage, Josefa Nalewabau, Nicolas Gauvin, Shawn Hargreaves
-
Publication number: 20070178968Abstract: Methods, systems, and software products are described that display relationships between game assets in a game development environment. In one implementation, a selection of a particular game asset is received, and a selection of a particular type of relationship is received to display for the selected game asset. The type of relationship may be a parent relationship, a child relationship, a category relationship, etc. Other game assets are then identified that have the selected relationship with the selected game asset. The other game assets that are identified are displayed to a user.Type: ApplicationFiled: January 31, 2006Publication date: August 2, 2007Applicant: Microsoft CorporationInventors: Rejean Cote-Charpentier, Nicolas Gauvin, Shawn Hargreaves, Mel MacMahon, Boyd Multerer, Frank Savage