Rich Internet Application Real-Time Data Server

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current web-based real-time data processing and visualization solutions, such as AJAX and Streaming AJAX, suffer from high latency and inefficiencies, making them unsuitable for real-time applications due to their reliance on polling mechanisms and lack of support for direct data transmission and high-quality graphical displays.

Innovation Solution

The use of Rich Internet Application (RIA) frameworks, like Adobe Flash and Microsoft Silverlight, in conjunction with real-time data servers, enables low-latency data processing and visualization in web browsers by establishing persistent connections for real-time data transmission and allowing bidirectional communication, reducing latency and improving graphical display capabilities.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If AJAX or Streaming AJAX polling mechanisms are used for web-based real-time data transmission, then web browser compatibility is improved, but data latency increases and real-time performance deteriorates

Engineering Contradiction:
Improveweb browser compatibilityVSAvoiddata latency
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The patent introduces a server as an intermediary component that maintains persistent connections with both data sources and RIA applications. This server mediates real-time data transmission, receiving data from sources and pushing it to RIA applications without requiring polling. The server acts as a broker that enables direct real-time communication while maintaining web-based accessibility, thus reducing latency without sacrificing browser compatibility.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system dynamically adjusts connection management by establishing persistent connections that remain open throughout the application lifetime, rather than creating and destroying connections with each data request. This dynamic connection management allows the system to maintain real-time data streams efficiently, reducing the overhead and latency associated with repeated connection establishment and polling operations.

Inventive Principle:
Principle #15Dynamics

2Loss of time

If persistent connections are established for real-time data transmission, then data latency is reduced, but connection management complexity increases

Engineering Contradiction:
Improvedata latencyVSAvoidconnection management complexity
Core Design Contradiction:
Loss of timeVSDevice complexity

Solution Approach 1:

The server is designed as a universal platform that handles multiple functions: maintaining persistent connections with data sources, receiving and processing real-time data, managing RIA application connections, and pushing data to multiple clients simultaneously. This multi-functional design consolidates connection management complexity into a single server component rather than requiring each client to manage complex connection logic independently.

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

Solution Approach 2:

The server implements automatic connection management including handling connection establishment, maintenance, and termination without requiring manual intervention. The system automatically manages the lifecycle of persistent connections, handles reconnection logic, and manages data routing between sources and clients, thereby reducing the operational complexity burden on users while maintaining real-time performance.

Inventive Principle:
Principle #25Self-service

3Manufacturing precision

If RIA frameworks are used for real-time data visualization, then graphical display quality is improved, but system resource consumption increases

Engineering Contradiction:
Improvegraphical display qualityVSAvoidsystem resource consumption
Core Design Contradiction:
Manufacturing precisionVSUse of energy by moving object

Solution Approach 1:

The system applies partial action by updating only the specific graphical elements that correspond to changed data values, rather than redrawing the entire visualization. The RIA framework receives selective data updates from the server and renders only the necessary portions of the graphical display, reducing overall resource consumption while maintaining high display quality for the updated elements.

Inventive Principle:
Principle #16Partial or excessive action

4Device complexity

If polling mechanisms are used for data retrieval, then system simplicity is maintained, but productivity and real-time responsiveness deteriorate

Engineering Contradiction:
Improvesystem simplicityVSAvoidreal-time data processing efficiency
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The system inverts the traditional polling approach by implementing a push model where the server proactively sends data to RIA applications when changes occur, rather than requiring clients to repeatedly request data. This inversion maintains relative system simplicity while dramatically improving real-time responsiveness and productivity, as data is transmitted immediately upon generation without waiting for the next polling cycle.

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

Data Source

PatentUS9667689B2System and method for providing real-time data
Publication Date: 2017.05.30 REAL INNOVATIONS INT
  • US9667689B2 patent drawing
  • US9667689B2 patent drawing
  • US9667689B2 patent drawing

AI summary

A system and method for providing real-time data to a Rich Internet Application is disclosed. The graphical and networking features of RIA frameworks in conjunction with at least one real-time data server provides low-latency, real-time data applications in a web browser. In one embodiment, data is produced at a data source, propagated to a server, and collected at the server. A persistent connection is created from a RIA to the server, and the RIA is subscribed to the data, wherein the subscribed data comprises at least some of the data collected at the server, and wherein the server propagates the subscribed data to the RIA through the persistent connection as the data is collected at the server.