Virtual Input Controller for Secure Game Injection

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing spectating systems in online gaming limit remote player participation as they require compatible game controllers and lack seamless integration of inputs from incompatible devices, posing security risks due to potential malicious hacking.

Innovation Solution

A computing system comprising a broadcasting agent, an input driver, and a virtual input controller that translates inputs from incompatible devices to a compatible protocol, allowing remote participation without requiring the application to process these inputs, and ensures secure injection by channeling them exclusively to the intended application.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If spectating systems allow remote player participation using incompatible devices, then user accessibility and remote participation are improved, but system security and input compatibility are worsened due to potential malicious hacking and protocol incompatibility

Engineering Contradiction:
Improveremote player participationVSAvoidsystem security
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The virtual input controller serves as an intermediary component between incompatible input devices and the game application. It receives inputs from various devices, translates them to the appropriate protocol, and injects them into the target application, thereby enabling remote participation while maintaining system security and compatibility.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system creates a virtual copy of the input controller that mimics the behavior and protocol of legitimate game controllers. This virtual controller replica allows incompatible devices to interact with the game system without requiring the actual hardware to be compatible, thus improving accessibility while maintaining protocol integrity.

Inventive Principle:
Principle #26Copying

2Reliability

If spectating systems require compatible game controllers for remote participation, then input protocol compatibility and system security are improved, but user accessibility and ease of operation are worsened

Engineering Contradiction:
Improveinput protocol compatibilityVSAvoiduser accessibility
Core Design Contradiction:
ReliabilityVSEase of operation

Solution Approach 1:

The virtual input controller dynamically changes the protocol parameters of received inputs to match the expected format of the target application. It transforms data from incompatible devices by modifying protocol parameters such as data format, transmission timing, and control signal structures, thereby enabling broad device compatibility without compromising system reliability.

Inventive Principle:
Principle #35Parameter changes

3Speed

If the application directly processes inputs from spectating devices, then input processing speed is improved, but system complexity and security vulnerability are worsened

Engineering Contradiction:
Improveinput processing speedVSAvoidapplication processing complexity
Core Design Contradiction:
SpeedVSDevice complexity

Solution Approach 1:

The input processing and translation functionality is extracted from the game application and placed into a separate virtual input controller component. This extraction allows the application to receive pre-processed, standardized inputs without dealing with the complexity of protocol translation and device compatibility, thereby maintaining fast input processing while reducing application complexity and security vulnerabilities.

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentEP3630319B1Virtual controller for game injection
Publication Date: 2022.04.06 MICROSOFT TECHNOLOGY LICENSING LLC
  • EP3630319B1 patent drawingFigure 1
  • EP3630319B1 patent drawingFigure 2
  • EP3630319B1 patent drawingFigure 3

AI summary

A computing system includes an input driver and a virtual input controller. The input driver is configured to receive input data from a first controller of a recognized data protocol and to provide the input data to an API of an application to control actions of a first participant in the gaming application. The virtual input controller is, in contrast, configured to receive input data from a second controller of a protocol incompatible with the input driver, translate the input data to the recognized data protocol; request a broadcast application identifier for a currently-broadcasting application from the broadcasting agent, and provide the translated input data to the input driver in association with the broadcast application identifier for controlling actions of a second participant in the application via the API of the gaming application.