Asynchronous Channel Bus Bridge for UI Decoupling

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Building integrated user interfaces (UIs) for distributed systems is challenging due to the difficulty in sourcing, delivering, and sharing multiple streams of real-time data across various layers of middleware, leading to tightly coupled services and modularity issues, especially in large applications like vSphere Webclient.

Innovation Solution

The implementation of a bridge and an asynchronous channel-based bus (Bifröst) enables UI-to-UI, Service-to-UI, and UI-to-Service asynchronous communication, allowing dynamic channel creation and message broadcasting, decoupling services and views, and using STOMP and ReactiveX for seamless communication across different technologies.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If real-time data communication is implemented across distributed systems, then data freshness and responsiveness are improved, but system complexity and coupling increase

Engineering Contradiction:
Improvedata communication speedVSAvoidsystem complexity
Core Design Contradiction:
SpeedVSDevice complexity

Solution Approach 1:

The system segments data communication into independent channels that can be created, managed, and destroyed dynamically. Each channel represents a discrete communication path between UI components, services, or views, allowing the system to maintain real-time data flow while avoiding monolithic complexity. Channels can be selectively activated based on specific data needs rather than maintaining all possible connections continuously.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces an intermediary channel management layer that sits between distributed system components. This mediator handles channel creation, message routing, and data distribution automatically, shielding individual components from the complexity of direct peer-to-peer connections. The intermediary abstracts the communication infrastructure, allowing components to subscribe to needed data channels without managing the underlying connection complexity.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Loss of information

If multiple data streams are shared across UI layers, then real-time visibility is improved, but service coupling increases

Engineering Contradiction:
Improvedata visibilityVSAvoidservice decoupling
Core Design Contradiction:
Loss of informationVSAdaptability or versatility

Solution Approach 1:

The channel infrastructure is designed to be dynamic rather than static. Channels can be created on-demand when specific data streams need to be shared, and destroyed when no longer needed. Subscriptions to channels can be added or removed independently, allowing UI components to receive only the specific data streams they require at any given time. This dynamic approach ensures complete data visibility for subscribed components while maintaining loose coupling, as components interact through standardized channel interfaces rather than direct dependencies.

Inventive Principle:
Principle #15Dynamics

3Productivity

If asynchronous communication is implemented, then system responsiveness is improved, but implementation complexity increases

Engineering Contradiction:
Improvesystem responsivenessVSAvoidimplementation complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The asynchronous channel system implements self-service mechanisms where channels automatically manage their own message queues, delivery timing, and acknowledgment workflows. Once a channel is created and components subscribe, the infrastructure handles asynchronous message routing, delivery guarantees, and error handling without requiring manual intervention or complex coordination logic in individual components. This self-managing approach enables asynchronous communication while keeping implementation complexity localized to the channel infrastructure rather than propagating throughout the entire system.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS10579577B2Bridge and asynchronous channel based bus to provide UI-to-UI asynchronous communication
Publication Date: 2020.03.03 VMWARE INC
  • US10579577B2 patent drawing
  • US10579577B2 patent drawing
  • US10579577B2 patent drawing

AI summary

In a system and method for providing UI-to-UI asynchronous communication, a bridge is coupled to an asynchronous channel based bus that has at least one Galactic channel. The bridge receives each message on the Galactic channel, and converts each message from a channel message format used by the Galactic channel to a common message format. The bridge utilizes a socket to broadcast each converted message to, and receive messages from, the one or more other bridges. The bridge determines that a message received from the one or more other bridges is destined for the Galactic channel. The bridge converts the message into the channel message format used by the Galactic channel. The bridge distributes the converted message to the at least one Galactic channel.