Client-Side Widget Message Bus for Latency Reduction

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing client-server models for browsing computer-delivered content require multiple communication transactions between clients and servers, leading to increased latency and complexity, limiting the flexibility of widget communication and customization.

Innovation Solution

Implementing a message bus and registry within the client system that allows widgets to communicate directly without interacting with external servers, enabling peer-to-peer communication and reducing reliance on server-mediated interactions.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If widgets communicate through external servers using the client-server model, then server-mediated interaction is maintained, but latency increases and communication complexity increases

Engineering Contradiction:
Improveserver-mediated interactionVSAvoidlatency
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent extracts the message bus functionality from the external server environment and places it directly in the client's execution environment. This allows widgets to communicate peer-to-peer without routing messages through external servers, eliminating network round-trips and reducing latency while maintaining reliable communication through the structured message bus protocol.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent introduces a new dimension of communication by implementing a message bus that operates within the client's execution environment rather than through the traditional network dimension. This creates a local communication layer that bypasses external server dependencies, reducing both latency and network complexity.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

2Device complexity

If widgets communicate through external servers, then centralized control is maintained, but device complexity and communication overhead increase

Engineering Contradiction:
Improvecommunication transactionsVSAvoidcentralized control
Core Design Contradiction:
Device complexityVSReliability

Solution Approach 1:

The patent segments the communication architecture by dividing it into independent components: the message bus for message routing, the registry for widget discovery, and the execution environment for widget operation. This segmentation allows each component to function independently without requiring complex server-mediated coordination, reducing overall system complexity while maintaining controlled communication through standardized protocols.

Inventive Principle:
Principle #1Segmentation

3Adaptability or versatility

If widgets are configured to execute independently, then widget independence is maintained, but widget communication flexibility is limited

Engineering Contradiction:
Improvewidget independenceVSAvoidcommunication architecture
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent implements a universal message bus that serves multiple functions: message routing between independent widgets, event notification, data sharing, and coordination. This single universal communication mechanism supports diverse widget interaction patterns without requiring separate communication channels for each widget pair, enhancing communication flexibility while maintaining widget independence and reducing architectural complexity.

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

Data Source

PatentUS8104044B1System and method for client-side widget communication
Publication Date: 2012.01.24 AMAZON TECH INC
  • US8104044B1 patent drawing
  • US8104044B1 patent drawing
  • US8104044B1 patent drawing

AI summary

Method and system for client-side communication among widgets. In one embodiment, instructions may be processor-executable within a system to implement a web browser and a number of widgets configured to execute within an execution environment provided by the web browser. The web browser may be configured to obtain content from servers external to the system, and members of at least a subset of the widgets may be configured to communicate with one another without interacting with any of the external servers.