# US 9,517,410 B2 · Adaptive application streaming in cloud gaming

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 9,517,410 B2
- Document ID: US9517410B2
- Status: Granted
- Kind: B2
- Application number: 13/458,437
- Filed: 2012-04-27
- Published: 2012-11-08
- Granted: 2016-12-13
- Earliest claimed: 2011-04-28
- Assignees: Numecent Holdings, Inc.
- Applicants: Yavuz Ahiska; Bartu Ahiska
- Inventors: Yavuz Ahiska; Bartu Ahiska
- Web page: https://patentgrep.com/patent/US9517410B2

## CPC

- A63F 13/77: involving data related to game devices or game servers, e.g. configuration data, software version or amount of memory
- A63F 13/355: Performing operations on behalf of clients with restricted processing capabilities, e.g. servers transform changing game scene into an encoded video stream for transmitting to a mobile phone or a thin client
- A63F 13/358: Adapting the game course according to the network or server load, e.g. for reducing latency due to different connection speeds between clients
- A63F 13/60: Generating or modifying game content before or while executing the game program, e.g. authoring tools specially adapted for game development or game-integrated level editor
- G06F 9/44568: {Immediately runnable code}
- H04L 67/5682: Policies or rules for updating, deleting or replacing the stored data
- A63F 2300/407: Data transfer via internet
- A63F 2300/534: for network load management, e.g. bandwidth optimization, latency reduction
- A63F 2300/538: for performing operations on behalf of the game client, e.g. rendering
- A63F 2300/552: for downloading to client devices, e.g. using OS version, hardware or software profile of the client device
- A63F 2300/6036: for offering a minigame in combination with a main game
- G06F 8/63: {Image based installation; Cloning; Build to order}
- G06F 8/656: while running
- G06F 9/44521: {Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading}
- H04L 65/1045: Proxies, e.g. for session initiation protocol [SIP]
- H04L 65/1069: Session establishment or de-establishment
- H04L 67/306: User profiles
- H04L 67/34: {involving the movement of software or configuration parameters (network booting or remote initial program loading [RIPL] G06F9/4416)}
- H04L 67/55: Push-based network services
- A63F: CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## 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

### Claim 1

A method for providing a remote gaming service, comprising the actions of:
when a user selects a particular game from available games on a game station at a target device,
a) executing software corresponding to said particular game at the target device, said particular game being virtualized by being initially playable without download of the entire particular game at the target device immediately following said selecting; and
if said particular game comprises additional components for use in continued execution of the particular game and absent from the target device,
b) streaming over a network to said game station at least one of said additional components, said streaming beginning contemporaneously with and continuing at least partially concurrently with said executing of the particular game at the target device, the at least one of said additional components streamed to the game station from a local portal residing on local devices or, if the local portal fails, an application delivery network application server implemented remote from the target device in a wide area network, the local portal regulating license provisioning of streaming virtualized applications including the particular game executing at a plurality of game stations including the game station and providing the at least one of said additional components to the game station at the target device, wherein a local device of the local devices to stream the at least one of said additional components is selected from the local devices according to load weights of the local devices in streaming virtualized games, the load weights based on a number of active sessions of the local devices in a running state for streaming the virtualized games and in a buffering state for streaming the virtualized games.

### Claim 2 (depends on 1)

The method of claim 1, wherein ones of said additional components are immediately executable once they are streamed to said game station.

### Claim 3 (depends on 1)

The method of claim 1, wherein said software corresponding to said particular game is a pre-virtualized packaged version of said particular game.

### Claim 4 (depends on 1)

The method of claim 1, wherein additional components may be elected by the user to be streamed to said game station.

### Claim 5 (depends on 1)

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.

### Claim 6 (depends on 1)

The method of claim 1, wherein playability of said particular game or said additional components depends at least partially on availability and details of applicable permissions.

### Claim 7

A system comprising:
at least one processor;
memory storing instructions configured to cause the at least one processor to perform:
when a user selects a particular game from available games on a game station at a target device,
a) executing software corresponding to said particular game at the target device, said particular game being virtualized by being initially playable without download of the entire particular game at the target device immediately following said selecting; and
if said particular game comprises additional components for use in continued execution of the game and absent from the target device,
b) streaming over a network to said game station at least one of said additional components, said streaming beginning contemporaneously with and continuing at least partially concurrently with said executing of the particular game at the target device, the at least one of said additional components streamed to the game station from a local portal residing on local devices or, if the local portal fails, an application delivery network application server implemented remote from the target device in a wide area network, the local portal regulating license provisioning of streaming virtualized applications including the particular game executing at a plurality of game stations including the game station and providing the at least one of said additional components to the game station at the target device, wherein a local device of the local devices to stream the at least one of said additional components is selected from the local devices according to load weights of the local devices in streaming virtualized games, the load weights based on a number of active sessions of the local devices in a running state for streaming the virtualized games and in a buffering state for streaming the virtualized games.

### Claim 8

A method for managing remote gaming, comprising the actions of:
using at least one game pusher to push software over a network to a game station at a target device, said software corresponding to games chosen to be available for play on said game station, said software being virtualized by being initially playable without download of the entire games at the target device immediately after selection using said game station, said game station being physically separated from said game pusher; and
when a user selects a particular game for play, if said particular game requires additional components to provide aspects of said particular game available to the user upon selection but said additional components are absent from the target device,
using said game pusher to control streaming to said game station of said additional components, said streaming beginning contemporaneously with said selection and continuing at least partially concurrently with said play of the particular game, said additional components streamed to the game station from a local portal residing on local devices or, if the local portal fails, an application delivery network application server implemented remote from the target device in a wide area network, the local portal regulating license provisioning of streaming virtualized applications including the particular game executing at a plurality of game stations including the game station and providing the at least one of said additional components to the game station at the target device, wherein a local device of the local devices to stream said additional components is selected from the local devices according to load weights of the local devices in streaming virtualized games, the load weights based on a number of active sessions of the local devices in a running state for streaming the virtualized games and in a buffering state for streaming the virtualized games.

### Claim 9 (depends on 8)

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.

### Claim 10 (depends on 8)

The method of claim 8, further comprising controlling, without explicit user designation, creation and update of a list of games available for play on said game station.

### Claim 11

A remote game push control system, comprising:
a) a plurality of software-implemented games, at least one of said games comprising an immediately initially playable portion and at least one additional component separately transmissible from said portion, said at least one additional component being integral to extended play of corresponding ones of said games; and
b) at least one game pusher which:
pushes portions of at least one of said games over a network to a game station at a target device, said portions of said games including at least said immediately initially playable portions, said game station being physically separated from said game pusher;
when a particular game is selected to be played on said game station, if respective components corresponding to said particular game are absent from the target device, streams, concurrently, with the playing of the particular game, at least one of said respective components to said game station, the at least one of said respective components streamed to the game station from a local portal residing on local devices or, if the local portal fails, an application delivery network application server implemented remote from the target device in a wide area network, the local portal regulating license provisioning of streaming virtualized applications including the particular game executing at a plurality of game stations including the game station and providing the at least one of said respective components to the game station at the target device, wherein a local device of the local devices to stream the at least one of said respective components is selected from the local devices according to load weights of the local devices in streaming virtualized games, the load weights based on a number of active sessions of the local devices in a running state for streaming the virtualized games and in a buffering state for streaming the virtualized games.
