Qualified video delivery methods
First Claim
Patent Images
1. A method comprising:
- receiving a request from a client to display an object, the object being configured to allow a user of the client to play a video game;
testing the client to determine if the client is qualified to receive a streaming video of the game;
qualifying the client to receive the streaming video, wherein qualifying the client includes comparing results of the testing with minimum requirements for delivery of the streaming video of the game, and wherein qualifying the client includes determining a video decoder type present at the client;
selecting a video server system from among a plurality of geographically distributed video server systems to provide streaming video to the client based on which of the plurality of geographically distributed video server systems is qualified to provide the streaming video to the client, the selected video server system including a graphics processing unit for rendering the streaming video of the game, the selected video server system defined to access a shared memory to store the streaming video of the game rendered by the graphics processing unit, contents of the streaming video being dependent on game commands received from the client and game logic of the video game included in the selected video server system;
dynamically provisioning an encoding pipeline after qualifying the client to encode video data of the streaming video in a video format for use by the client, wherein the encoding pipeline is dynamically provisioned to include an encoder that is compatible with the video decoder type present at the client as determined through qualifying of the client;
detecting an adverse condition associated with providing the streaming video to the client; and
in response to detecting the adverse condition, selecting a different encoder for use within the encoding pipeline, wherein the different encoder is compatible with the video decoder type present at the client as determined through qualifying of the client.
4 Assignments
0 Petitions
Accused Products
Abstract
A video server is configured to provide streaming video to players of computer games over a computing network. The video server can provided video of different games to different players simultaneously. This is accomplished by rendering several video streams in parallel using a single GPU. The output of the GPU is provided to graphics processing pipelines that are each associated with a specific client/player and are dynamically allocated as needed. A client qualifier may be used to assure that only clients capable of presenting the streaming video to a player at a minimum level of quality receive the video stream.
368 Citations
24 Claims
-
1. A method comprising:
-
receiving a request from a client to display an object, the object being configured to allow a user of the client to play a video game; testing the client to determine if the client is qualified to receive a streaming video of the game; qualifying the client to receive the streaming video, wherein qualifying the client includes comparing results of the testing with minimum requirements for delivery of the streaming video of the game, and wherein qualifying the client includes determining a video decoder type present at the client; selecting a video server system from among a plurality of geographically distributed video server systems to provide streaming video to the client based on which of the plurality of geographically distributed video server systems is qualified to provide the streaming video to the client, the selected video server system including a graphics processing unit for rendering the streaming video of the game, the selected video server system defined to access a shared memory to store the streaming video of the game rendered by the graphics processing unit, contents of the streaming video being dependent on game commands received from the client and game logic of the video game included in the selected video server system; dynamically provisioning an encoding pipeline after qualifying the client to encode video data of the streaming video in a video format for use by the client, wherein the encoding pipeline is dynamically provisioned to include an encoder that is compatible with the video decoder type present at the client as determined through qualifying of the client; detecting an adverse condition associated with providing the streaming video to the client; and in response to detecting the adverse condition, selecting a different encoder for use within the encoding pipeline, wherein the different encoder is compatible with the video decoder type present at the client as determined through qualifying of the client. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24)
-
Specification