Web Application Plugin Discovery via Cross-Document Messaging
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current methods for adding new functionality to web applications often require modifying server-side resources, leading to administrative overhead, potential destabilization, and security concerns, especially when users need to wait for administrators to implement new plugins, which can cause outages and compromise user privacy.
Innovation Solution
A method that initiates a client-side component to discover and install web application plugins by using cross-document messaging to communicate metadata about plugin capabilities, allowing plugins to be installed without modifying the origin server, thus bypassing the single origin policy and maintaining security and privacy.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If new functionality is installed on the origin server, then the web application gains new capabilities, but the risk of server destabilization and administrative overhead increases
Solution Approach 1:
The patent segments the web application into modular components: the origin server, the plugin server, and client-side components. Each operates independently with well-defined interfaces, allowing new functionality to be added as separate plugins without modifying or risking the stability of the core origin server.
Solution Approach 2:
The patent introduces a plugin server as an intermediary component that sits between the origin server and client-side components. This mediator handles plugin installation, activation, and communication, isolating the origin server from direct interactions with plugins and preventing potential destabilization.
2Adaptability or versatility
If administrators manage plugin installation on the origin server, then new functionality is added, but the time required for users to access new features increases
Solution Approach 1:
The patent enables self-service plugin installation where users can directly install and activate plugins on their own client-side environments without requiring administrator intervention. The system provides automated plugin management capabilities that allow users to independently add new functionality to their web applications.
Solution Approach 2:
The patent implements preliminary actions by pre-configuring plugin metadata, capabilities, and installation protocols on the origin server. This allows the plugin server to automatically handle installation and configuration processes without requiring real-time administrator involvement, significantly reducing deployment time.
3Adaptability or versatility
If the origin server acts as a proxy to another server for new functionality, then extensibility is achieved, but administrative overhead and complexity increase
Solution Approach 1:
The patent introduces a dedicated plugin server as an intermediary component that sits between the origin server and client-side components. This mediator handles plugin installation, activation, and communication, isolating the origin server from direct interactions with plugins and preventing potential destabilization.
Solution Approach 2:
The patent creates a universal plugin architecture that can accommodate various types of functionality through a standardized interface. The plugin server provides multi-functional capabilities including installation, activation, deactivation, and communication management, reducing the need for separate specialized systems.
4Adaptability or versatility
If server-side resources are modified to add plugins, then new capabilities are enabled, but security and privacy risks increase
Solution Approach 1:
The patent segments the system architecture to isolate plugin execution from the origin server. Plugins run in separate client-side components or sandboxed environments, preventing direct access to or modification of server-side resources. This segmentation maintains security boundaries while enabling functional extensibility.
Solution Approach 2:
The patent implements isolation mechanisms analogous to flexible shells, where client-side components and sandboxed environments act as protective layers between plugins and the origin server. These isolation boundaries allow controlled communication while preventing unauthorized access or modification of server resources.
Data Source
AI summary
A method for discovering and installing web application plugins is disclosed. In one embodiment, such a method includes initiating a client-side component of a server-based web application. The client side-component hosts a first document. The method opens an inline frame, such as an IFrame or Web Worker, within the first document that hosts a second document. The method uses cross-document messaging to communicate, from the second document to the first document, metadata describing a plugin's capabilities and metadata describing an API to access the plugin's capabilities via cross-document messaging. The method utilizes the capabilities of the plugin using cross-document messaging in accordance with the API. A corresponding system and computer program product are also disclosed.


