Code Virtualization Server for Dynamic IoT Controller Profiles

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Configuring and programming controller-based devices to accommodate dynamic inputs or outputs is complex and time-consuming, especially for average users with limited programming and hardware knowledge, as it requires rewriting code and managing compatibility across multiple devices in IoT applications.

Innovation Solution

A method and apparatus for remotely modifying the behavior of code for controller-based devices by using a code virtualization server to update profiles associated with the code, allowing users to select and modify profiles through a graphical user interface without rewriting the code itself, enabling dynamic changes in input and output behavior.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If code is rewritten or reprogrammed to accommodate dynamic inputs or outputs, then the device can achieve desired functionality, but the time and labor required increases significantly

Engineering Contradiction:
Improvedynamic input/output accommodationVSAvoidcode rewriting time
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The patent applies preliminary action by pre-configuring behavior profiles that contain predefined sequences of operations and parameters. Instead of rewriting code when dynamic inputs/outputs are needed, the system prepares multiple behavior profiles in advance, each representing different operational modes. The controller can then switch between these pre-prepared profiles instantly, avoiding the time-consuming code rewriting process while maintaining full adaptability to different dynamic conditions.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent implements dynamics by making the code behavior modifiable at runtime through profile selection. The system transitions from static, hard-coded behavior to dynamic, selectable behavior profiles. This allows the controller to adapt its behavior on-the-fly by loading different profiles without requiring code recompilation or rewriting, thus achieving both adaptability and time efficiency.

Inventive Principle:
Principle #15Dynamics

2Adaptability or versatility

If code is rewritten to accommodate changes in input, output, or behavior, then the device functionality is updated, but the complexity of managing compatibility across multiple devices increases

Engineering Contradiction:
Improvebehavior modification capabilityVSAvoidcompatibility management complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent applies universality by creating a standardized behavior profile format that can be used across multiple different controller-based devices. The profile structure defines universal parameters and operation sequences that are device-agnostic. This allows a single profile design to be applied universally across numerous devices, eliminating the need to manage device-specific compatibility complexities when modifying behavior.

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

Solution Approach 2:

The patent uses copying by replicating proven behavior profiles across multiple devices. Instead of individually programming each device, the system creates a master profile and copies it to multiple controllers. When behavior changes are needed, the updated profile is copied to all devices simultaneously, ensuring consistency and dramatically reducing compatibility management complexity across the device fleet.

Inventive Principle:
Principle #26Copying

3Manufacturing precision

If programming knowledge is required to configure peripherals and modify code behavior, then precise control is achieved, but accessibility to average users is reduced

Engineering Contradiction:
Improvecode behavior precisionVSAvoiduser accessibility
Core Design Contradiction:
Manufacturing precisionVSEase of operation

Solution Approach 1:

The patent applies this principle by replacing complex, permanent code modifications with lightweight, interchangeable behavior profiles. Instead of requiring users to write and debug complex programming code, the system provides pre-packaged behavior profiles that can be selected and applied through simple interfaces. These profiles act as disposable, pre-configured solutions that deliver precise control without requiring the user to possess programming expertise.

Inventive Principle:
Principle #27Cheap short-living objects (Disposable)

Solution Approach 2:

The patent introduces an intermediary layer between the user and the controller's programming interface. This intermediary consists of the behavior profile system, which translates user-friendly selections into precise controller commands. Users interact with high-level profile descriptions rather than low-level code, while the system automatically handles the complex translation and configuration, thus bridging the gap between user accessibility and programming precision.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS10067490B2Method and apparatus for modifying behavior of code for a controller-based device
Publication Date: 2018.09.04 CIANMBELLA LTD
  • US10067490B2 patent drawing
  • US10067490B2 patent drawing
  • US10067490B2 patent drawing

AI summary

A method and apparatus for remotely modifying behavior of code for a controller-based device is provided. The method comprises receiving a modified profile from a user device at a code virtualization server, the modified profile corresponding to a profile associated with the code for execution on the controller-based device, where the controller-based device is remote to the user device and the code virtualization server, and updating the profile with the modified profile. The code comprises a first code for execution on the controller-based device, and the first code comprises a remote call from the controller-based device to the code virtualization server to cause execution of a second code on the code virtualization server using the updated profile.