Smart Client Email System Asynchronous Processing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Browser-based email systems experience latency and unresponsiveness due to the traditional request/response model, leading to slow performance and limited user interface features, especially when many users are connected simultaneously.

Innovation Solution

Implementing a 'smart client' model with asynchronous communication protocols between the client and server, allowing the client to perform data processing tasks like searching, sorting, and folder management, reducing the need for frequent server requests and responses, and using Dynamic Hypertext Markup Language (DHTML) for client-side rendering.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Device complexity

If a traditional request/response model is used in browser-based email systems, then the system implementation is simple, but the user experiences long latency and the system appears slow and unresponsive

Engineering Contradiction:
Improvesystem implementation complexityVSAvoiduser latency
Core Design Contradiction:
Device complexityVSLoss of time

Solution Approach 1:

The system performs preliminary actions by pre-loading email data, folder structures, and message headers into the browser's memory before the user needs them. The smart client maintains local copies of email data and performs client-side processing of searching, sorting, and filtering operations, so that when the user requests information, it is immediately available without waiting for server round-trips.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system dynamically adapts between different operational modes. It uses asynchronous communication protocols that allow the interface to remain responsive while data is being fetched from the server. The smart client can operate in offline mode with cached data, dynamically switching between local and remote data sources based on connectivity and user needs, making the system appear more responsive.

Inventive Principle:
Principle #15Dynamics

2Adaptability or versatility

If more users are connected to the same email system simultaneously, then the system serves more users, but the server's response slows down and network traffic increases

Engineering Contradiction:
Improvenumber of concurrent usersVSAvoidserver response speed
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The invention extracts data processing functions from the server and relocates them to the client side. The smart client performs searching, sorting, filtering, and other email management operations locally in the browser, eliminating the need for these operations to traverse the network. Only essential data synchronization with the server is required, dramatically reducing network traffic and server load per user.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The browser-based smart client acts as an intermediary layer between the user and the mail server. It maintains local caches of email data and performs client-side processing, reducing the frequency and volume of requests to the server. This intermediary layer absorbs much of the processing load, allowing the server to handle more concurrent users effectively.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Adaptability or versatility

If the user interface is updated with new features and appearance changes, then the client application is more feature-rich, but a new request must be sent to the server and another HTML page received, adding more load

Engineering Contradiction:
Improveuser interface featuresVSAvoidnetwork load
Core Design Contradiction:
Adaptability or versatilityVSLoss of energy

Solution Approach 1:

The system performs preliminary actions by downloading and caching the complete user interface framework, including all HTML, CSS, JavaScript, and DHTML code, along with email data, into the user's browser. This one-time pre-loading eliminates the need for subsequent requests for interface updates. The smart client can then dynamically update the interface using local resources without contacting the server, except for essential data synchronization.

Inventive Principle:
Principle #10Preliminary action

4Loss of time

If a minimalistic user interface is used to reduce latency, then the system responds faster, but advanced features found in desktop email applications are not supported

Engineering Contradiction:
Improvesystem response timeVSAvoidemail features
Core Design Contradiction:
Loss of timeVSAdaptability or versatility

Solution Approach 1:

The system pre-loads comprehensive email data including all messages, attachments, folder structures, and metadata into the browser's memory. It also downloads the complete smart client application with full feature support. This preliminary action enables the client to provide a feature-rich interface with searching, sorting, filtering, drag-and-drop, and other advanced capabilities while maintaining fast response times since all operations can be performed locally without server delays.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system dynamically loads additional features and data on-demand based on user behavior. The smart client can enable advanced features locally without requiring server requests, and only synchronizes essential changes with the server when needed. This dynamic approach allows full feature support while minimizing network latency.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS8117264B1Email system
Publication Date: 2012.02.14 YAHOO ASSETS LLC
  • US8117264B1 patent drawing
  • US8117264B1 patent drawing
  • US8117264B1 patent drawing

AI summary

A system and method are disclosed for providing interaction with mail data on a server. Providing interaction with mail data on a server comprises receiving mail information from the server; updating data structures in a client using the mail information received; operating on the mail information at the client and displaying operation results on the client; sending operation information to the server so that the same operation may be executed on the server.