Runtime Environment Cross-Device Hardware Access

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing systems for sending data between devices often rely on complex or customized solutions, such as client/server architectures, which can limit responsiveness and simplify programming and deployment of applications, especially when accessing hardware resources across different devices with varying operating environments.

Innovation Solution

The system leverages a runtime environment common to both devices, allowing an application on one device to access the hardware resources of another device through instances of the runtime environment, which can communicate directly without a server, supporting different hardware architectures and operating systems, and enabling the use of various I/O components.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If client/server architecture is used for data transmission between devices, then communication can be established, but system complexity increases and responsiveness decreases

Engineering Contradiction:
Improvecommunication reliabilityVSAvoidsystem complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent extracts the server component from the traditional client/server architecture, allowing devices to communicate directly through runtime environments without requiring a centralized server. This eliminates server dependency while maintaining communication reliability across different devices and operating systems.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The runtime environment acts as an intermediary layer that enables communication between devices with different operating systems and hardware architectures. Instead of requiring direct peer-to-peer connections or server mediation, the runtime environment provides a standardized interface for data exchange, simplifying the system architecture while ensuring reliable communication.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Adaptability or versatility

If customized applications are used for device communication, then device-specific functionality can be achieved, but programming and deployment complexity increases

Engineering Contradiction:
Improvedevice compatibilityVSAvoidprogramming and deployment simplicity
Core Design Contradiction:
Adaptability or versatilityVSEase of manufacture

Solution Approach 1:

The runtime environment provides a universal platform that works across multiple device types and operating systems. Instead of requiring device-specific applications, the same runtime environment can be deployed on different devices (mobile phones, tablets, computers, televisions) to enable communication, greatly simplifying programming and deployment while maintaining broad adaptability.

Inventive Principle:
Principle #6Universality (Multi-functionality)

3Speed

If direct hardware access is enabled between devices, then application responsiveness improves, but communication complexity increases

Engineering Contradiction:
Improveapplication responsivenessVSAvoidcommunication complexity
Core Design Contradiction:
SpeedVSDevice complexity

Solution Approach 1:

The runtime environment serves as an intermediary that manages hardware access between devices. It provides standardized APIs and communication protocols that simplify direct hardware access while maintaining high responsiveness. The runtime environment handles the complexity of device discovery, connection establishment, and data serialization, allowing applications to access hardware resources directly without increasing overall system complexity.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS8949860B2Methods and systems for using a mobile device for application input
Publication Date: 2015.02.03 ADOBE INC
  • US8949860B2 patent drawing
  • US8949860B2 patent drawing
  • US8949860B2 patent drawing

AI summary

A instance of a runtime environment at each of a first and second computing device can allow an application at the first computing device to access hardware resources of the second computing device via the runtime environment. For instance, one device can comprise a mobile device and the other device can comprise a desktop computer, a laptop computer, or a home entertainment device. The first and second instance of the runtime environment can be configured to communicate with one another through a common messaging format of the runtime environment. For example, an editing or design application at one device may use a touch-enabled display at the second device to select tools, manipulate 3-D representations, or otherwise provide input data. As another example, a game at a mobile device can use the runtime environment to provide visual and audio output using a television set-top box running the runtime environment.