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: 9934122
    Abstract: 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: Grant
    Filed: July 9, 2014
    Date of Patent: April 3, 2018
    Assignee: MICROSOFT TECHNOLOGY LICENSING, LLC
    Inventors: Adrian Tsai, Thomas Davidson, James Bartlett, Shawn Hargreaves
  • Publication number: 20160011955
    Abstract: 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: Application
    Filed: July 9, 2014
    Publication date: January 14, 2016
    Applicant: MICROSOFT CORPORATION
    Inventors: Adrian Tsai, Thomas Davidson, James Bartlett, Shawn Hargreaves
  • Patent number: 8607324
    Abstract: 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: Grant
    Filed: January 15, 2008
    Date of Patent: December 10, 2013
    Assignee: Microsoft Corporation
    Inventors: Shawn Hargreaves, John Mitchell Walker, Richard A. Meyer
  • Patent number: 8523666
    Abstract: 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: Grant
    Filed: May 25, 2007
    Date of Patent: September 3, 2013
    Assignee: Microsoft Corporation
    Inventors: John Mitchell Walker, Paul L. Bleisch, Thomas Wayne Miller, Jr., Matthew Picioccio, Shawn Hargreaves
  • Patent number: 8330764
    Abstract: 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: Grant
    Filed: April 20, 2007
    Date of Patent: December 11, 2012
    Assignee: Microsoft Corporation
    Inventors: John Mitchell Walker, Paul L. Bleisch, Thomas Wayne Miller, Jr., Matthew Picioccio, Shawn Hargreaves
  • Patent number: 8120622
    Abstract: 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: Grant
    Filed: January 15, 2008
    Date of Patent: February 21, 2012
    Assignee: Microsoft Corporation
    Inventors: Shawn Hargreaves, John Mitchell Walker, Richard A. Meyer
  • Patent number: 7949998
    Abstract: 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: Grant
    Filed: April 20, 2007
    Date of Patent: May 24, 2011
    Assignee: Microsoft Corporation
    Inventors: Paul L. Bleisch, Shawn Hargreaves, Tom Miller, Matthew Orren Picioccio, John M. Walker
  • Patent number: 7836055
    Abstract: 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: Grant
    Filed: January 31, 2006
    Date of Patent: November 16, 2010
    Assignee: Microsoft Corporation
    Inventors: Mel MacMahon, Boyd C. Multerer, Frank F. Savage, Josefa M. Nalewabau, Nicolas Gauvin, Shawn Hargreaves
  • Publication number: 20090179917
    Abstract: 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: Application
    Filed: January 15, 2008
    Publication date: July 16, 2009
    Applicant: Microsoft Corporation
    Inventors: Shawn Hargreaves, John Mitchell Walker, Richard A. Meyer
  • Publication number: 20090181772
    Abstract: 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: Application
    Filed: January 15, 2008
    Publication date: July 16, 2009
    Applicant: Microsoft Corporation
    Inventors: Shawn Hargreaves, John Mitchell Walker, Richard A. Meyer
  • Publication number: 20080293484
    Abstract: 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: Application
    Filed: May 25, 2007
    Publication date: November 27, 2008
    Applicant: Microsoft Corporation
    Inventors: John Mitchell Walker, Paul L. Bleisch, Thomas Wayne Miller, JR., Matthew Picioccio, Shawn Hargreaves
  • Publication number: 20080259087
    Abstract: 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: Application
    Filed: April 20, 2007
    Publication date: October 23, 2008
    Applicant: Microsoft Corporation
    Inventors: John Mitchell Walker, Paul L. Bleisch, Thomas Wayne Miller, Matthew Picioccio, Shawn Hargreaves
  • Publication number: 20080263537
    Abstract: 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: Application
    Filed: April 20, 2007
    Publication date: October 23, 2008
    Applicant: Microsoft Corporation
    Inventors: Paul L. Bleisch, Shawn Hargreaves, Tom Miller, Matthew Orren Picioccio, John M. Walker
  • Publication number: 20070220031
    Abstract: 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: Application
    Filed: January 31, 2006
    Publication date: September 20, 2007
    Applicant: Microsoft Corporation
    Inventors: Mel MacMahon, Boyd Multerer, Frank Savage, Josefa Nalewabau, Nicolas Gauvin, Shawn Hargreaves
  • Publication number: 20070178968
    Abstract: 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: Application
    Filed: January 31, 2006
    Publication date: August 2, 2007
    Applicant: Microsoft Corporation
    Inventors: Rejean Cote-Charpentier, Nicolas Gauvin, Shawn Hargreaves, Mel MacMahon, Boyd Multerer, Frank Savage