A game or other software program is made accessible for execution by clients on a peer-peer network only after a plurality of verifications are made to ensure that control of the software is maintained. With a request sent to a server to access the software, a client includes a nonce and an ID of the user. The server digitally signs a portion of a ticket that is returned to the client, which includes the nonce, a time stamp, and the ID. The ticket is required to access the software. The clients are required to exchange the tickets, verify the digital signature on the portion of each ticket, and use the information therein to confirm that the tickets are current, issued by the correct server, issued to the proper users, and received from the users who are intended to execute the software.
Systems And Methods For Free Demonstration Of Online Premium Content Prior To Purchase
Brian H. Ostergren - Redmond WA, US Eric D. Heutchy - Carnation WA, US
Assignee:
Microsoft Corporation - Redmond WA
International Classification:
G06F 7/04 G06F 15/16 G06F 17/13 H04L 29/06
US Classification:
726 6, 713 2
Abstract:
Key-limited use applications are maintained at a central service where the central service can receive requests from a remote computing device for access to the key-limited use applications. The key-limited use applications include publicly available portions and a locked portions accessible with a key. The central service can provide a key to the remote computing device associated with a key-limited use application for complete access. The key can be stored in a memory device associated with the remote computing device. A digital signature can be assigned to the key to prevent operation of the key in a second computing device. Unauthorized or unlicensed computing devices are prevented from using the applications.
Richard Thames Rowan - Redmond WA, US Eric Heutchy - Carnation WA, US Brian Ostergren - Redmond WA, US
Assignee:
Microsoft Corporation - Redmond WA
International Classification:
A63F 13/00 G06F 17/00
US Classification:
463 42, 463 16
Abstract:
A progressive stall timer is disclosed. For example, in one disclosed embodiment, a participant in an online turn-based social experience is provided with a time interval in which to take an action in a current turn. If the participant does not take an action in the current turn during the time interval, then the participant is provided a shortened time interval during which to take an action in a later turn. In this manner, the negative impact a stalling participant has on the experience is reduced each time the participant stalls.
Personalizing Access Of Game Web Site Based On User Configuration
David Andrews - North Bend WA, US Eric D. Heutchy - Redmond WA, US
Assignee:
Microsoft Corporation - Redmond WA
International Classification:
G06F 3/00 G06F 9/44 G06F 9/445
US Classification:
715747, 715742, 717168, 717174
Abstract:
A personalized web page displays a subset of multiplayer games available on a game web site, corresponding to game software programs that are installed on a user's computer. When the user connects to the web site, an extended markup language (XML) data file, a web page that is not yet personalized, and a control file are downloaded. An executable instance of an ActiveX™ control program instantiated by JScript included in the web page queries the operating system registry to produce an XML text string listing each software program of a specific type that are installed. The results are then compared to the XML data downloaded from the web site, returning the subset of the games that are available on the web site and also installed on the computer. The web page is then transformed to display the subset, producing the personalized web page.
Scaling Render Targets To A Higher Rendering Resolution To Display Higher Quality Video Frames
- Redmond WA, US Eric David HEUTCHY - Carnation WA, US Chen LI - Sammamish WA, US Matthew GORDON - Redmond WA, US Aaron Blake STOVER - Sammamish WA, US Roger John PERKINS - Kirkland WA, US
International Classification:
G06T 3/40 G06T 15/00 G06T 3/00 G06T 15/04
Abstract:
Examples described herein improve the quality of the video frames that are rendered and displayed. A system is configured to generate render targets based on instructions received from a source of video content. The system is configured to create and/or access a selection parameter and use the selection parameter to identify one or more of the render targets to be scaled. Once identified, the system scales a native size (e.g., a native resolution) of an identified render target to a larger size (e.g., based on a predetermined scaling factor), thereby generating a higher density render target. The higher density render target, or a corresponding higher density render target texture (RTT), can be used in a rendering pipeline to produce a video frame in a higher output resolution (e.g., 4k resolution) compared to the output resolution specified in the instructions (e.g., 720p resolution).
Texture Value Patch Used In Gpu-Executed Program Sequence Cross-Compilation
- Redmond WA, US Matthew GORDON - Redmond WA, US Eric David HEUTCHY - Carnation WA, US Ke DENG - Sammamish WA, US Warren Lee BURCH - Redmond WA, US Roger John PERKINS - Kirkland WA, US
Assignee:
Microsoft Technology Licensing, LLC - Redmond WA
International Classification:
G06T 15/00
Abstract:
A computing system configured to execute instructions for a first graphical processing unit (GPU) on a second GPU is provided. The computing system may include the second GPU and a processor. The processor may be configured to receive second GPU state data that indicates one or more global properties of the second GPU. The processor may be further configured to receive one or more binary instructions for texture operation configured to be executed on the first GPU. Based on the second GPU state data, the processor may be further configured to apply a texture value patch to the one or more binary instructions. Applying the texture value patch may translate the one or more binary instructions into one or more translated binary instructions configured to be executed on the second GPU.
Asynchronous Translation Of Computer Program Resources In Graphics Processing Unit Emulation
Resource processing during run time can be performed asynchronously from emulation of an application by a central processing unit. For example, an emulator can include a main processing thread that performs emulation processes. In response to encountering a shader, or other resource, to be processed, the emulator can invoke a separate asynchronous thread to perform such processing. Processed resources, such as translated shaders and generated textures, can be stored in a cache. In response to a command that uses a resource, such as a draw command that invokes a shader or other resource, the emulator can use the processed resource in the cache. If the processed resource is not in the cache, the emulator can skip processing the command that uses the resource. If processed resources can be obtained from other sources and loaded in the cache, processing of resources by the emulator can be eliminated.
Remote Translation, Aggregation And Distribution Of Computer Program Resources In Graphics Processing Unit Emulation
- Redmond WA, US Barry Bond - Redmond WA, US Robert Francis - Woodinville WA, US Eric Heutchy - Carnation WA, US
International Classification:
G06T 1/20 G06F 9/45 G06T 15/80
Abstract:
Resource processing, such as shader translation, during run time of an application on an emulated platform, can be performed asynchronously from emulation of the application. One or more server computers can be configured to perform such processing remotely from the computers executing the emulation. The one or more server computers can receive resources for processing from multiple computers. The one or more server computers aggregate the resources received from the multiple computers for different applications and process those resources. For example, multiple shaders, discovered from multiple different emulations of an application on multiple computers, are translated and organized by the one or more server computers. The translated shaders can be packaged as an update to the application and redistributed to the computers using the application. Such an update can be installed on the computers as a set of translated shaders for use in the emulation of the application.