Client-Server Event Framework for Asynchronous AJAX Processing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing client-server computing systems are inefficient due to server-intensive frameworks that require multiple HTTP requests and page reloads for managing client-side events, leading to suboptimal use of networking and processing resources.

Innovation Solution

A framework divided between client and server, featuring a client-side controller for managing events and a server-side controller for responding to requests, enabling asynchronous communication and dynamic loading of new content without full page reloads.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If server-intensive frameworks are used with controller-model-view all located on server, then server can manage events centrally, but multiple HTTP requests and page reloads are required causing inefficient network and processing resource usage

Engineering Contradiction:
Improvecentralized event managementVSAvoidnetwork and processing resources
Core Design Contradiction:
ReliabilityVSLoss of energy

Solution Approach 1:

The framework is divided into client-side and server-side controllers, each managing events in their respective environments. The client-side controller handles client events locally, while the server-side controller manages server events, reducing the need for constant server communication and page reloads.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

An event manager acts as an intermediary between client and server, registering client events and retrieving server notifications asynchronously. This mediator enables efficient event coordination without requiring full page reloads or multiple HTTP requests for each event.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Adaptability or versatility

If multiple events occur on a single webpage requiring multiple HTTP requests and responses, then each event can be processed independently, but the client experiences multiple page reloads resulting in poor resource utilization

Engineering Contradiction:
Improveindependent event processingVSAvoidresource usage efficiency
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The client-side controller continuously monitors for events and the server-side controller continuously provides notifications without requiring discrete HTTP requests for each event. This continuous asynchronous communication eliminates repeated page reloads and optimizes resource usage while maintaining independent event processing capability.

Inventive Principle:
Principle #20Continuity of useful action

Solution Approach 2:

The system uses periodic polling where the client event manager retrieves notifications from the server controller at scheduled intervals. This periodic action allows multiple events to be processed efficiently without triggering multiple full page reloads, as notifications are retrieved asynchronously in a structured manner.

Inventive Principle:
Principle #19Periodic action

3Reliability

If frameworks provide comprehensive tools and APIs for development, then software quality and portability improve, but the complexity of the framework itself increases

Engineering Contradiction:
Improvesoftware qualityVSAvoidframework complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The framework provides universal event management capabilities that work across different client-server configurations. The client-side and server-side controllers use standardized interfaces for event registration and notification retrieval, enabling the same framework to handle diverse event scenarios without increasing overall complexity.

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

Data Source

PatentUS7487201B1Method and system for providing framework for Java based AJAX web applications
Publication Date: 2009.02.03 ORACLE AMERICAN INC
  • US7487201B1 patent drawing
  • US7487201B1 patent drawing
  • US7487201B1 patent drawing

AI summary

A method and system for managing events associated with either the client or the server using a controller framework includes initiating a request at a client. The request triggers an event that is processed using a client controller on the client. The client controller registers the event on the client, forwards the event to a server controller on a server, polls the server controller on the server periodically for information related to the event and retrieves notifications in response to the request or upon a poll. The client controller communicates with the server controller using asynchronous communication. The response retrieved by the client controller is loaded onto the browser of the client dynamically and rendered at the client as and when notifications are received from the server.