Browser Extension Adapter for Native App Launching
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
The existing architecture for client computing devices accessing workspace resources using connection leases is not portable to all browsers, such as Safari, due to limitations in native messaging host capabilities and sandboxing restrictions, which hinder asynchronous messaging and resource launching.
Innovation Solution
The implementation of native messaging host capabilities within the client computing device allows external communication with native apps, using a processor to operate a browser extension that appends a store ID to launch messages, assigning a native messaging host process, and using an adapter to manage message routing and lifecycle monitoring, enabling resource launching across multiple stores without requiring modifications to the browser.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If browser extensions use native messaging host capabilities to communicate with native apps, then resource launching capability is improved, but browser compatibility and security sandboxing are worsened
Solution Approach 1:
The patent introduces an adapter as an intermediary component that bridges the browser extension and the native messaging host process. The adapter receives launch messages from the browser extension, routes them through the native messaging host process, and forwards them to the native app. This intermediary layer enables resource launching in browsers like Safari that would otherwise be incompatible with direct native messaging host usage, thus improving browser compatibility while maintaining the desired functionality.
2Productivity
If browser extensions directly communicate with native apps, then communication efficiency is improved, but security and stability are worsened
Solution Approach 1:
The native messaging host process serves as a secure intermediary between the browser extension and the native app. Instead of allowing direct communication that could compromise security, the message routing through the native messaging host process enables authentication, validation, and controlled interaction. This maintains communication efficiency while significantly improving security and stability by preventing unauthorized or malformed communications.
Solution Approach 2:
The communication architecture is segmented into distinct components: the browser extension, the adapter, the native messaging host process, and the native app. Each component has a specific responsibility and operates within its own security context. This segmentation isolates potential security issues to specific components, allowing the system to maintain overall stability even if one component encounters problems, thus improving reliability while preserving communication efficiency.
3Adaptability or versatility
If multiple stores are supported with separate native messaging host processes, then resource access versatility is improved, but system complexity is worsened
Solution Approach 1:
The adapter is designed as a universal component that can handle messages for multiple stores through a single interface. Rather than requiring separate communication pathways for each store, the adapter receives messages from the browser extension, determines the target store, and routes them to the appropriate native messaging host process. This multi-functional design reduces system complexity while maintaining the ability to access resources across multiple stores.
Solution Approach 2:
Multiple store management functionalities are merged into a single adapter component. The adapter consolidates message routing, process management, and store identification logic into one unified element. This merging approach simplifies the overall system architecture by eliminating the need for separate message handling mechanisms for each store, thus reducing complexity while preserving multi-store access versatility.
4Reliability
If sandboxing is enforced for browser extensions, then security is improved, but communication capability with native apps is worsened
Solution Approach 1:
The adapter acts as a trusted intermediary that operates within the sandboxed environment of the browser extension while having the capability to communicate with external native messaging host processes. The adapter receives messages from the sandboxed extension, validates them, and forwards them to the native messaging host process which then communicates with the native app. This intermediary approach maintains the security benefits of sandboxing while restoring full communication capability by using the adapter as a secure bridge between the restricted and unrestricted environments.
Data Source
AI summary
A client computing device includes a display and a processor coupled to the display. The processor operates a browser to access a store providing resources that are available. The available resources are displayed within a web page on a display. A launch message is generated in response to one of the resources being selected. An extension cooperating with the browser is operated to append a store ID identifying the store to the launch message. An adapter is operated to receive from the extension the launch message with the store ID, and assign a native messaging host process to the store. The native messaging host process is external the extension and supports communications with a native app on the client computing device. The native app is used to initiate launch of the selected resource.


