Program mode switching

US9498714B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9498714-B2
Application numberUS-201113231850-A
CountryUS
Kind codeB2
Filing dateSep 13, 2011
Priority dateDec 15, 2007
Publication dateNov 22, 2016
Grant dateNov 22, 2016

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

A computing system is configured to execute a computer program on a server and to provide a video stream of the program output to a geographically remote client over a communication network. The computing system is further configured to provide executable content of the computer program to the client over the communication network in parallel with the video stream. When a sufficient amount of the executable content has been provided to the client execution of the computer program is transitioned from the server to the client. The transition optionally includes communicating a state of the computer program from the server to the client. The executable content can be provided to the client in an order that is determined based on the state of the computer program. Those parts of the executable content deemed most likely to be necessary to support game play on the client are given priority.

First claim

Opening claim text (preview).

What is claimed is: 1. A method of providing a computer game, the method comprising: receiving a command for processing by the computer game at a video server system, the command received from a remote client directing execution of the computer game; executing game logic of the computer game on the video server system in accordance with the command received from the remote client, execution of the game logic resulting in generation of a video game environment based on a game state and on the command received from the remote client; operating a graphics processing unit at the video server system to render the video game environment to video data; processing the video data through an encoding pipeline at the video server system to encode the video data into a data format compatible with a codec present at the remote client; providing the encoded video data from the video server system to the remote client over a communication network; and providing executable game logic of the computer game to the remote client in addition to the encoded video data; executing the executable game logic of the computer game on the remote client to generate video of the computer game at the remote client based on the game state and on commands for processing by the computer game as provided at the remote client; and in conjunction with executing the executable game logic of the computer game on the remote client, stopping provision of the encoded video data from the video server system to the remote client over the communication network. 2. The method of claim 1 , wherein a rate, in bytes/second, at which the executable game logic is provided is dependent on a bandwidth of the communication network. 3. The method of claim 1 , wherein a rate, in bytes/second, at which the executable game logic is provided is dependent on a bandwidth required to provide the encoded video data at a minimum level of quality. 4. The method of claim 1 , wherein a data packet sent from the video server system to the remote client includes both the encoded video data and data of the executable game logic. 5. The method of claim 4 , wherein the data of the executable game logic is background downloaded from the video server system to the remote client during provision of the encoded video data from the video server system to the remote client. 6. The method of claim 1 , wherein stopping provision of the encoded video data from the video server system to the remote client over the communication network is part of transitioning from a streaming mode in which the encoded video data is provided to the remote client from the video server system to a client mode in which the executable game logic is used to generate video of the computer game on the remote client. 7. The method of claim 6 , wherein the transitioning includes reassigning a game session to operate between a game server and the remote client rather than or in addition to between the game server and the video server system. 8. The method of claim 6 , further comprising: after transitioning to the client mode, transferring game state data from the remote client to the video server system during execution of the executable game logic in the client mode or after completing a session of the execution of the executable game logic in the client mode. 9. The method of claim 1 , further comprising: receiving a game command at the video server system from the remote client; forwarding the received game command to a game server; and receiving a game state from the game server, the game state having been updated using the received game command. 10. The method of claim 9 , further comprising: using the received game command to update a game state on the remote client. 11. The method of claim 1 , further comprising: determining a rate at which the executable game logic can be downloaded to the remote client while maintaining a minimum level of quality for display of a video stream corresponding to the encoded video data on the remote client. 12. The method of claim 11 , wherein the rate at which the executable game logic can be downloaded to the remote client is dependent on a rate at which the encoded video data is provided to the remote client. 13. The method of claim 11 , wherein the rate at which the executable game logic can be downloaded to the remote client changes over time. 14. The method of claim 11 , wherein the executable game logic is provided to the remote client at a rate less than or equal to the determined rate. 15. The method of claim 1 , wherein the executable game logic and the encoded video data are provided to the remote client in parallel. 16. The method of claim 1 , further comprising: modifying an order in which parts of the executable game logic are provided to the remote client, wherein the modifying is based on the game state. 17. The method of claim 16 , wherein modifying the order is dependent on a probability of reaching a second game state from a first game state. 18. The method of claim 1 , further comprising: providing the game state to the remote client from the video server system or from a game server. 19. The method of claim 1 , further comprising: transferring a game session such that the game state is sent from a game server to the remote client rather than or in addition to from the game server to the video server system. 20. The method of claim 19 , wherein the game session is transferred automatically. 21. The method of claim 1 , further comprising: transferring the game session such that a game server assigns commands received from the remote client to the game session that was previously established between the video server system and the game server. 22. The method of claim 21 , wherein transferring the game session includes sending instructions to the game server configured to cause the game server to change network addresses associated with the game session. 23. The method of claim 1 , further comprising: starting execution of the executable game logic on the remote client to produce game video based on the game state. 24. The method of claim 23 , further comprising: continuing to execute the executable game logic on the remote client while further parts of the executable game logic are downloaded to the remote client. 25. The method of claim 23 , wherein the executable game logic provided to the remote client includes all available executable game logic for the computer game. 26. A method of providing a computer game, the method comprising: executing game logic of the computer game on a video server system or a first client, execution of the game logic resulting in generation of a video game environment based on a game state; operating a graphics processing unit at the video server system of the first client to render the video game environment to video data; processing the video data through an encoding pipeline at the video server system to encode the video data into a data format compatible with a codec present at a remote second client; providing the encoded video data from the video server system or the first client to the remote second client over a communication network; and providing executable game logic to the remote second client from the first client in parallel with the encoded video data, the executable game logic configured to execute on the remote second client to generate game video at the remote sec

Assignees

Inventors

Classifications

  • Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers · CPC title

  • Communication between platforms, i.e. physical link to protocol · CPC title

  • for performing operations on behalf of the game client, e.g. rendering · CPC title

  • Processor architectures; Processor configuration, e.g. pipelining · CPC title

  • Game security or game management aspects · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US9498714B2 cover?
A computing system is configured to execute a computer program on a server and to provide a video stream of the program output to a geographically remote client over a communication network. The computing system is further configured to provide executable content of the computer program to the client over the communication network in parallel with the video stream. When a sufficient amount of t…
Who is the assignee on this patent?
Pereira Rui Filipe Andrade, Perry David, Gault Andrew Buchanan, and 1 more
What technology area does this patent fall under?
Primary CPC classification A63F13/355. Mapped technology areas include Human Necessities.
When was this patent published?
Publication date Tue Nov 22 2016 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).