Lightweight Client Virtualization via Framebuffer Image Processing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing protocols for accessing and controlling virtualized computer services over networks are platform-specific, leading to high CPU usage, latency issues, and incompatibility with lightweight devices due to reliance on operating system graphics and specialized chips, limiting their effectiveness over long distances and in low-bandwidth environments.

Innovation Solution

A system utilizing an image processor algorithm that directly accesses framebuffer data from a virtual machine, processes it into image data packets, and transmits these packets to clients for rendering, allowing control of virtual services without relying on operating system instructions, thus providing a platform-independent solution that can function over short and long distances with minimal computational resources.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If platform-specific protocols are used for accessing virtualized computer services, then the protocols can leverage operating system graphics context for compression and decompression, but this leads to high CPU usage and difficulty in handling large latency over long distance network connections

Engineering Contradiction:
Improvecompression/decompression efficiencyVSAvoidCPU usage
Core Design Contradiction:
ProductivityVSUse of energy by moving object

Solution Approach 1:

The patent replaces the mechanical processing system (CPU-based compression/decompression) with an optical processing system (graphics card-based parallel processing). The graphics card's pixel processing units handle the compression and decompression operations in parallel, leveraging hardware acceleration rather than sequential CPU processing. This substitution dramatically reduces CPU usage while maintaining or improving compression efficiency.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

2Productivity

If platform-specific protocols are used that require specialized graphics chips for decoding, then compression performance can be improved, but this reduces compatibility with lightweight client devices

Engineering Contradiction:
Improvecompression performanceVSAvoiddevice compatibility
Core Design Contradiction:
ProductivityVSAdaptability or versatility

Solution Approach 1:

The patent creates a universal protocol that can be implemented across diverse platforms without requiring specialized hardware. The graphics card-based approach uses standard OpenGL ES commands that are widely supported across different device types, from mobile smartphones to desktops and tablets. This multi-functional approach allows the same protocol to achieve high compression performance on capable devices while remaining compatible with lightweight clients that lack specialized graphics chips.

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

Solution Approach 2:

The patent uses OpenGL ES as an intermediate representation layer that copies and standardizes graphics commands across different platforms. Instead of requiring device-specific protocols, the system translates various platform graphics commands into standardized OpenGL ES commands, which can then be processed uniformly by the virtual machine. This copying approach enables broad device compatibility while maintaining compression performance.

Inventive Principle:
Principle #26Copying

3Loss of energy

If complex compression protocols are used to reduce bandwidth consumption, then network efficiency can be improved, but this increases device complexity and power consumption on client devices

Engineering Contradiction:
Improvenetwork bandwidth consumptionVSAvoidclient device complexity
Core Design Contradiction:
Loss of energyVSDevice complexity

Solution Approach 1:

The patent inverts the traditional approach by performing compression on the client device rather than on the server. The client's graphics card compresses the framebuffer data before transmission, and the server decompresses it. This inversion shifts the computational burden from the server to the client, reducing server CPU usage and network bandwidth consumption, while the client's existing graphics hardware handles the compression without requiring additional specialized components.

Inventive Principle:
Principle #13The other way round (Inversion)

4Speed

If platform-specific protocols are used that rely on operating system graphics layer, then fast performance can be achieved through OS graphics commands, but this makes the protocols incompatible with lightweight client devices

Engineering Contradiction:
Improveprocessing speedVSAvoidlightweight device compatibility
Core Design Contradiction:
SpeedVSAdaptability or versatility

Solution Approach 1:

The patent introduces OpenGL ES as an intermediary layer between the operating system graphics commands and the virtual machine framebuffer. The client device's graphics card translates local graphics commands into standardized OpenGL ES commands, which serve as a universal intermediate representation. This intermediary approach allows fast local graphics processing on diverse devices while maintaining compatibility with lightweight clients that may have different graphics capabilities, as the translation handles the differences transparently.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS9183025B2Systems and algorithm for interfacing with a virtualized computing service over a network using a lightweight client
Publication Date: 2015.11.10 CITRIX SYSTEMS INC
  • US9183025B2 patent drawing
  • US9183025B2 patent drawing
  • US9183025B2 patent drawing

AI summary

Systems and algorithm for providing a service to a client includes defining a virtual infrastructure in which a plurality of virtual machines are running on a virtualization layer with at least one of the virtual machine executing an image processor algorithm. The image processor algorithm is configured to access framebuffer data of a specific virtual machine that includes the service to be controlled, process the framebuffer data to generate image data packets with contextual information by scanning the framebuffer data to discern the image of the virtual machine display, evaluate the framebuffer data to identify contiguous areas of activity, extract data related to the contiguous areas of activity and package the extracted data into image data packets. The image data packets are transmitted to the client for presenting on a display device of the client.