Emulator Proxy Delegation for Accurate Device Simulation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional software-based emulators for non-PC devices struggle to accurately simulate the hardware and network functionality of these devices, leading to difficulties in debugging and deployment of applications, as they cannot guarantee an equivalent operating environment and often lack access to actual cellular networks or other device-specific features.
Innovation Solution
A system comprising a proxy client module on a computing platform and a proxy server module on the non-PC device, which delegates complex functionalities that cannot be simulated to the actual device for processing, allowing accurate emulation and reducing the need for extensive emulator code.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of manufacture
If a software-based emulator is used to simulate non-PC device functionality, then application development can be performed on a PC platform with access to software development resources, but the emulator cannot accurately simulate hardware and network functionality leading to debugging difficulties
Solution Approach 1:
The system divides functionality into two segments: simulated components (basic device operations) handled by the emulator, and real components (hardware and network functionality) handled by the actual non-PC device. This segmentation allows the emulator to provide a development-friendly PC environment while the real device ensures accurate functionality testing.
Solution Approach 2:
A proxy server acts as an intermediary between the emulator and the non-PC device. It receives requests from the emulator, forwards them to the actual device for processing, and returns results. This mediator enables the emulator to access real device functionality without requiring full simulation capabilities.
2Adaptability or versatility
If the emulator attempts to simulate all hardware and network functionality, then a complete operating environment can be provided, but the complexity of the emulator increases and certain functionalities cannot be accurately simulated
Solution Approach 1:
Complex functionality that is difficult to simulate (hardware access, network operations) is extracted from the emulator and delegated to the actual non-PC device. The emulator focuses only on simulating basic device operations, significantly reducing its complexity while maintaining a complete operating environment through the proxy server.
Solution Approach 2:
The proxy server provides universal functionality by handling multiple types of requests (hardware simulation, network access) that would otherwise require separate simulation implementations in the emulator. This multi-functional approach reduces emulator complexity while maintaining adaptability.
3Measurement precision
If application debugging is performed on the actual non-PC device, then accurate testing of device-specific features can be done, but the deployment process becomes tedious and expensive
Solution Approach 1:
The system performs preliminary debugging actions on the emulator using the proxy server to forward requests to the actual device. This allows developers to test and debug application features before final deployment, reducing the need for repeated deployment cycles and associated time and cost losses.
4Reliability
If operating system software is ported from the non-PC device to the PC platform, then the emulator can run the actual operating system, but the porting process is difficult, time consuming, and error-prone
Solution Approach 1:
Instead of porting the entire operating system to the PC platform, the system creates a simplified copy or representation of the operating system environment within the emulator. The proxy server enables this simplified environment to access real device functionality, achieving operating system equivalence without the time-consuming porting process.
Data Source
AI summary
A system and method are disclosed for emulating electronic device functionality. An emulator is defined to operate on a computing platform to simulate functionality of an electronic device. The electronic device and computing platform are separate from each other. A proxy client module is defined to operate in conjunction with the emulator. The proxy client module is defined to transmit an application request from the emulator to the electronic device to be processed by the electronic device. A proxy server module is defined to operate on the electronic device. The proxy server module is defined to receive the application request transmitted from the proxy client module, submit the application request to the electronic device for processing, and transmit results of the application request processing to the proxy client module.


