KVM Agent Server Client Shared Memory Synchronization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In terminal server environments, securely and timely updating the graphical display for remote clients is challenging due to information being passed across user session boundaries, leading to issues with data transmission and synchronization.

Innovation Solution

Implementing a KVM agent server/client system with shared memory, synchronized via token passing or other operations, using FIFO pipes, sockets, files, and semaphores to facilitate faster and error-free transfer of display data, allowing protocol-independent communication between the agent server and client.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If multiple independent instances of applications are implemented to satisfy remote client demands, then client service capability is improved, but secure and synchronous updating of graphical display becomes difficult

Engineering Contradiction:
Improveclient service capabilityVSAvoidsecure and synchronous display updating
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The patent introduces a window server as an intermediary component that mediates between multiple application instances and client sessions. The window server maintains a centralized representation of the graphical display and controls access to it, ensuring that display updates are synchronized and secure across multiple clients while allowing each application instance to operate independently.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Ease of operation

If graphical data is transmitted via window server across user session boundaries, then display information is made accessible, but information security deteriorates due to unauthorized access

Engineering Contradiction:
Improvedisplay information accessibilityVSAvoidinformation security
Core Design Contradiction:
Ease of operationVSObject-affected harmful factors

Solution Approach 1:

The patent implements local quality control by associating each graphical display element with specific access permissions and session identifiers. The window server evaluates the origin and destination of each display update, applying different security rules based on the local context of the transaction, thereby allowing legitimate cross-session updates while blocking unauthorized access.

Inventive Principle:
Principle #3Local quality

3Speed

If display data transfer speed is increased, then user experience is improved, but data transmission errors may increase

Engineering Contradiction:
Improvedisplay data transfer speedVSAvoiddata transmission accuracy
Core Design Contradiction:
SpeedVSReliability

Solution Approach 1:

The patent implements continuous data transfer mechanisms where the window server maintains persistent connections and buffered data streams between application instances and client sessions. This allows display data to be transmitted continuously at high speeds without interruption, while built-in error checking and correction protocols ensure data integrity throughout the continuous transmission process.

Inventive Principle:
Principle #20Continuity of useful action

Data Source

PatentUSRE46386E1Updating a user session in a mach-derived computer system environment
Publication Date: 2017.05.02 STRATEGIC TECH PARTNERS
  • USRE46386E1 patent drawing
  • USRE46386E1 patent drawing
  • USRE46386E1 patent drawing

AI summary

Methods, apparatus, systems and computer program product for updating a user session in a terminal server environment. Transfer of display data corresponding to an updated user interface can occur via a memory shared between an agent server and an agent client in a terminal server environment. Access to the shared memory can be synchronized via token passing or other operation to prevent simultaneous access to the shared memory. Token sharing and synchronized input/output can be performed using FIFOs, sockets, files, semaphores and the like, allowing communications between the agent server and agent client communications to adapt to different operating system architecture.