IP Library Granted Patent US 9,675,890
Granted Patent B2
US 9,675,890 · App. 13/873,382 · Granted Jun 13, 2017

Adaptive application selection in cloud gaming

Inventors: Yavuz Ahiska (Esher, GB); Bartu Ahiska (Esher, GB)
Assignee: Numecent Holdings, Inc.
A63F13/77A63F13/12A63F13/355A63F13/60G06F9/44568H04L67/2852A63F2300/407A63F2300/534A63F2300/538A63F2300/552A63F2300/6036G06F8/63G06F8/67G06F9/44521H04L65/105H04L65/1069H04L67/26H04L67/306H04L67/34
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,675,890
App. No.
13/873,382
Granted
Jun 13, 2017
Kind
B2
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.

Claims (83)

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.

2. The method of claim 1 , wherein whether said additional components are resident in or streaming to said game station is hidden from users of said game station.

3. The method of claim 1 , wherein at least one choice made during play of said particular game causes streaming of at least one additional component of said particular game or of optional additional content of said particular game.

4. The method claim 1 , wherein once a portion of a game has been pushed or streamed to said game station, said game station can act as an application source with respect to said portion.

5. The method of claim 1 , wherein said initially immediately playable portion of said particular game is a pre-virtualized packaged version of said particular game.

6. The method of claim 1 , wherein said initially immediately playable portion comprises of at least the whole executable of a game.

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.

9. The method of claim 8 , wherein whether said additional components are resident in or streaming to said first game station is hidden from users of said first game station.

10. The method of claim 8 , wherein at least one choice made during play of said particular game causes streaming of at least one additional component of said particular game or of optional additional content of said particular game.

11. The method claim 8 , wherein once a portion of a game has been pushed or streamed to said first game station, said first game station can act as an application source with respect to said portion.

12. The method of claim 8 , further comprising controlling, without explicit user designation, deletion of portions, components and complete games from said first game station.

13. The method of claim 8 , wherein said initially immediately playable portion of said particular game is a pre-virtualized packaged version of said particular game.

14. The method of claim 13 , further comprising controlling, without explicit user designation, virtualization and de-virtualization of portions, components and/or complete games on said first game station.

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.

17. The system of claim 16 , wherein said software is a pre-virtualized packaged version of said particular game.

18. The system of claim 16 , wherein additional components may be selected by a user to be streamed to said game station.

19. The system of claim 16 , wherein a user can select at least one game to be included in said available games on said game station.

20. The system of claim 16 , wherein playability of said game or said additional components depends at least partially on availability and details of applicable permissions.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 24, 2015
From: NUMECENT HOLDINGS LTD.
To: NUMECENT HOLDINGS, INC.
Reel/Frame 036650/0061 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 9, 2014
From: APPROXY INC LTD
To: NUMECENT HOLDINGS LTD
Reel/Frame 033926/0363 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 27, 2014
From: AHISKA, YAVUZ; AHISKA, BARTU
To: APPROXY INC., LTD
Reel/Frame 032540/0281 →
Continuity (7)
Continuation 13458437 · Apr 27, 2012
Provisional Application 61480333 · Apr 28, 2011
Provisional Application 61505826 · Jul 8, 2011
Provisional Application 61600390 · Feb 17, 2012
Provisional Application 61602069 · Feb 22, 2012
Provisional Application 61609941 · Mar 13, 2012
Related Publication 20130324263A1 · Dec 5, 2013