Shim Layer Disables Full-Screen Mode for Remote Gaming

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional computing systems require game applications to run in full-screen mode, preventing users from simultaneously interacting with or viewing output from other applications on the same computer.

Innovation Solution

A method that uses a shim layer to disable full-screen display mode for application programs on a server, allowing rendered image data to be transmitted to a client device for display, enabling users to interact with or view non-game applications while a game is running.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If a game application executes in full-screen mode on a conventional computing system, then the game application can provide immersive gaming experience, but the user cannot simultaneously see or interact with other application programs on the same computer

Engineering Contradiction:
Improvegaming experienceVSAvoidmulti-application capability
Core Design Contradiction:
Ease of operationVSAdaptability or versatility

Solution Approach 1:

The system segments the display output by routing game application rendered image data to a client device while allowing other application programs to continue displaying on the local display device. This segmentation allows the game to effectively have its own dedicated display space without blocking other applications.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The invention adds a new dimension to the display architecture by introducing a remote client device as an additional display output. Instead of competing for the same display space, the game application's visual output is extended to a separate spatial dimension (remote device), allowing simultaneous access to multiple applications on the local system.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

2Reliability

If a game application requires full-screen mode to run properly, then the game can execute without modification, but other users cannot access or view output from non-game applications on the same computer

Engineering Contradiction:
Improvegame executionVSAvoidapplication accessibility
Core Design Contradiction:
ReliabilityVSEase of operation

Solution Approach 1:

The system introduces an intermediary layer (the shim layer and remote display protocol) between the game application and the display output. This intermediary captures the rendered image data from the game and redirects it to a client device, while simultaneously allowing other applications to access the display system without interference.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Adaptability or versatility

If the system allows multiple users to access the same computer simultaneously, then collaboration is enabled, but full-screen game mode prevents other users from viewing non-game application output

Engineering Contradiction:
Improvemulti-user capabilityVSAvoidapplication output visibility
Core Design Contradiction:
Adaptability or versatilityVSLoss of information

Solution Approach 1:

The display output is segmented between local and remote devices. The game application's visual output is directed to the remote client device, while other applications maintain their output on the local display. This allows multiple users to simultaneously access different application outputs without conflict.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS10118095B2Implementing a remote gaming server on a desktop computer
Publication Date: 2018.11.06 NVIDIA CORP
  • US10118095B2 patent drawing
  • US10118095B2 patent drawing
  • US10118095B2 patent drawing

AI summary

One embodiment of the invention sets forth a method that includes receiving a request from a client device to launch an application program for execution on a server device, where the application program is configured to operate in a full-screen display mode, and, in response, creating an execution environment for the application program that disables the full-screen display mode. Within the execution environment, the application program is configured to generate the rendered image data for display on the client device. With the disclosed approach, application programs that are configured to execute on an application server computer system in a full-screen display mode can be executed through an execution environment that includes a shim layer configured to disable the full-screen display mode and transmit the render image data to a client device for display.