Web Application Demonstration via URL Redirection and Server Segmentation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current methods for demonstrating web-based software applications lack the ability to create interactive and flexible playback of recorded demonstrations, restricting users to replay interactions in the same order as they were recorded.

Innovation Solution

A method that involves a processor executing a web browser to detect and modify URLs, allowing a demonstration recording of a web-based application to be created and played back, enabling interaction with the demonstration in any order by storing and retrieving browser-executable code and web resources across multiple servers, and using a custom browser with a modified network layer to capture and replay request/response pairs.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If a web-based application demonstration is recorded and played back using standard methods, then the demonstration can be replayed, but the playback is restricted to the same order as the original recording and lacks interactivity

Engineering Contradiction:
Improvedemonstration playback flexibilityVSAvoidsystem architecture
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The demonstration system is segmented into multiple independent servers: a web server hosting the application code, a resource server storing static assets, and a demonstration server managing playback. This segmentation allows each component to be optimized independently and enables flexible recombination during playback, resolving the contradiction between playback flexibility and system complexity.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

A custom browser acts as an intermediary between the user and the demonstration servers. It captures user interactions, translates them into executable instructions, and coordinates requests across multiple servers. This intermediary layer enables flexible playback ordering while managing the underlying system complexity.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Adaptability or versatility

If multiple servers are used to host different components of the demonstration, then flexibility and interactivity are improved, but the system complexity increases

Engineering Contradiction:
Improvedemonstration interactivityVSAvoidmulti-server architecture
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The demonstration server is designed with multi-functionality, handling both the hosting of application code and the management of playback operations. The custom browser also serves multiple functions: rendering the application, capturing interactions, and coordinating server requests. This consolidation of functions into universal components reduces overall system complexity while maintaining interactivity.

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

Solution Approach 2:

The patent merges the application delivery function and playback control function into a unified demonstration system. The web server and demonstration server work as integrated components with shared state and coordinated operations, reducing the effective complexity compared to fully separate systems.

Inventive Principle:
Principle #5Merging (Combining)

3Adaptability or versatility

If URLs are modified to reference different servers for code and resources, then demonstration flexibility is enhanced, but the complexity of URL management and code modification increases

Engineering Contradiction:
Improveserver resource mappingVSAvoidURL modification process
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The custom browser serves as an intermediary that automatically manages URL modifications. It intercepts resource requests, modifies URLs to point to the appropriate servers, and transparently handles the complexity of server resource mapping. This eliminates the need for manual URL management while enabling flexible server configuration.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system dynamically changes URL parameters based on the demonstration configuration. Instead of hardcoding server references in the application code, URLs are modified at runtime with different server addresses and resource paths, allowing flexible mapping without increasing structural complexity.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS11909807B2Local recording for demonstration of web-based software applications
Publication Date: 2024.02.20 DEMOSTACK INC
  • US11909807B2 patent drawing
  • US11909807B2 patent drawing
  • US11909807B2 patent drawing

AI summary

In embodiments of the present invention, a processor executing a web browser detects a first request including a Hypertext Transfer Protocol (HTTP) request conveyed by the web browser to a first server for a web page including browser-executable code for a web-based application, and a response received from the first server including the requested browser-executable code, wherein the first HTTP request includes a first Uniform Resource Locator (URL). In the browser-executable code, a second request to a second server for a web resource and including a second URL is identified, and the second URL in the browser-executable code is modified so as to reference a third server. The first URL is modified so as to reference a fourth server, and the modified browser-executable code is stored on the fourth server so as to be referenced by the modified first URL.