Adaptive application selection in cloud gaming
First Claim
Patent Images
1. A method for providing a remote gaming service, comprising the actions of:
- a) downloading over a network to a game station, without explicit user designation, at least an initially immediately playable portion of at least one game, said game being chosen at least partially in dependence on at least some of;
usage information of said game station,usage heuristics of said game station,current and prior amounts of storage used of said game station, andavailable bandwidth;
when a user selects a particular game from said downloaded games,b) beginning execution of said game virtualized at said game station using the initially immediately playable portion of said game;
using a file system hook to augment a client file system of said game station with a file system overlay used to control access of an operating system of said game station to the client file system through the file system hook;
intercepting a file system call for at least one of additional components used in continued execution of said game virtualized at said game station from said operating system using said file system hook;
determining if the at least one of said additional components resides in local storage at said game station;
if it is determined the at least one of said additional components is absent from said local storage,c) streaming over a network to said game station the at least one of said additional components, said streaming beginning contemporaneously with and continuing at least partially concurrently with said executing, and providing the at least one of said additional components to said operating system through said file system overlay by said file system hook for use in continued execution of said game virtualized at said game station.
3 Assignments
0 Petitions
Accused Products
Abstract
Methods and systems for remotely provisioning immediately executable games with license control in secure environments. Immediately initially executable portions of games are pushed onto user desktops, and when games are selected for play, additional components of selected games are streamed to said desktops.
111 Citations
20 Claims
-
1. A method for providing a remote gaming service, comprising the actions of:
-
a) downloading over a network to a game station, without explicit user designation, at least an initially immediately playable portion of at least one game, said game being chosen at least partially in dependence on at least some of; usage information of said game station, usage heuristics of said game station, current and prior amounts of storage used of said game station, and available bandwidth; when a user selects a particular game from said downloaded games, b) beginning execution of said game virtualized at said game station using the initially immediately playable portion of said game; using a file system hook to augment a client file system of said game station with a file system overlay used to control access of an operating system of said game station to the client file system through the file system hook; intercepting a file system call for at least one of additional components used in continued execution of said game virtualized at said game station from said operating system using said file system hook; determining if the at least one of said additional components resides in local storage at said game station; if it is determined the at least one of said additional components is absent from said local storage, c) streaming over a network to said game station the at least one of said additional components, said streaming beginning contemporaneously with and continuing at least partially concurrently with said executing, and providing the at least one of said additional components to said operating system through said file system overlay by said file system hook for use in continued execution of said game virtualized at said game station. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A non-transitory computer-readable medium having stored thereon instructions that, when executed, direct a computing apparatus to perform the steps of:
-
a) downloading over a network to a game station, without explicit user designation, at least an initially immediately playable portion of at least one game, said game being chosen at least partially in dependence on at least some of; usage information of said game station, usage heuristics of said game station, current and prior amounts of storage used of said game station, and available bandwidth; when a user selects a particular game from said downloaded games, b) beginning execution of said game virtualized at said game station using the initially immediately playable portion of said game; using a file system hook to augment a client file system of said game station with a file system overlay used to control access of an operating system of said game station to the client file system through the file system hook; intercepting a file system call for at least one of additional components used in continued execution of said game virtualized at said game station from said operating system using said file system hook; determining if the at least one of said additional components resides in local storage at said game station; if it is determined the at least one of said additional components is absent from said local storage, c) streaming over a network to said game station the at least one of said additional components, said streaming beginning contemporaneously with and continuing at least partially concurrently with said executing, and providing the at least one of said additional components to said operating system through said file system overlay by said file system hook for use in continued execution of said game virtualized at said game station.
-
-
8. A method for providing a remote gaming service, comprising the actions of:
-
a) collecting user preference data using at least one first game station and at least one game pusher, said user preference data comprising at least some of; usage information of said first game station and/or at least one other game station, usage heuristics of said first game station and/or at least one other game station, current storage used of said first game station and/or at least one other game station, and available bandwidth; b) downloading by said first game station from said game pusher or pushing by said game pusher to said first game station, without explicit user designation, at least an initially immediately playable portion of at least one game, said game being chosen at least partially in dependence on said user preference data; when a user selects said game from said downloaded or pushed games, c) beginning execution of said game virtualized at said first game station using the initially immediately playable portion of said game; using a file system hook to augment a client file system of said first game station with a file system overlay used to control access of an operating system of said first game station to the client file system through the file system hook; intercepting a file system call for at least one of additional components used in continued execution of said game virtualized at said first game station from said operating system using said file system hook; determining if the at least one of said additional components resides in local storage at said first game station; if it is determined the at least one of said additional components is absent from said local storage, d) streaming over a network to said first game station the at least one of said additional components, said streaming beginning contemporaneously with and continuing at least partially concurrently with said executing, and providing the at least one of said additional components to said operating system through said file system overlay by said file system hook for use in continued execution of said game virtualized at said first game station. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
-
15. A non-transitory computer-readable medium having stored thereon instructions that, when executed, direct a computing apparatus to perform the steps of:
-
a) collecting user preference data using at least one first game station and at least one game pusher, said user preference data comprising at least some of; usage information of said first game station and/or at least one other game station, usage heuristics of said first game station and/or at least one other game station, current storage used of said first game station and/or at least one other game station, and available bandwidth; b) downloading by said first game station from said game pusher or pushing by said game pusher to said first game station, without explicit user designation, at least an initially immediately playable portion of at least one game, said game being chosen at least partially in dependence on said user preference data; when a user selects said particular game from said downloaded or pushed games, c) beginning execution of said game virtualized at said first game station using the initially immediately playable portion of said game; using a file system hook to augment a client file system of said first game station with a file system overlay used to control access of an operating system of said first game station to the client file system through the file system hook; intercepting a file system call for at least one of additional components used in continued execution of said game virtualized at said first game station from said operating system using said file system hook; determining if the at least one of said additional components resides in local storage at said first game station; if it is determined the at least one of said additional components is absent from said local storage, d) streaming over a network to said first game station the at least one of said additional components, said streaming beginning contemporaneously with and continuing at least partially concurrently with said executing, and providing the at least one of said additional components to said operating system through said file system overlay by said file system hook for use in continued execution of said game virtualized at said first game station.
-
-
16. A game playing system, comprising:
-
a) at least one game input unit and at least one display; b) software comprising at least immediately initially playable portions of at least one game downloaded over a network, without explicit user designation and/or invisibly to users of a game station, from a game supplier, said game being chosen at least partially in dependence on at least some of; usage information of said game station, usage heuristics of said game station, current and prior amounts of storage used of said game, and available bandwidth; c) said game station, connected to execute said software, which causes said game station to; begin execution of said game virtualized at said game station using the initially immediately playable portion of said game; use a file system hook to augment a client file system of said game station with a file system overlay used to control access of an operating system of said game station to the client file system through the file system hook; intercept a file system call for at least one of additional components used in continued execution of said game virtualized at said game station from said operating system using said file system hook; determine if the at least one of said additional components resides in local storage at said game station; receive the at least one of said additional components streamed through a network if it is determined the at least one of said additional components is absent from said local storage, said streaming beginning contemporaneously with and continuing at least partially concurrently with said executing, and provide the at least one of said additional components to said operating system through said file system overlay by said file system hook for use in continued execution of said game virtualized at said game station; send output from said game station to said display based on the continued execution of said game virtualized at said game station. - View Dependent Claims (17, 18, 19, 20)
-
Specification