Dynamic Protocol Stack Assembly for Layered URI Dereferencing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Web browsers face challenges in handling layered Uniform Resource Identifiers (URIs) due to the lack of inherent support for multiple protocol stacks, leading to increased burden on developers and performance issues, as they need to write custom code to handle these complex URIs.

Innovation Solution

A system and method that allows web browsers to dynamically assemble protocol stacks using JavaScript, enabling the dereferencing of layered URIs by instantiating connectors and binders based on the URI, reducing the need for pre-composed protocol stacks and improving interoperability and performance.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If browsers pre-implement support for multiple protocol stacks, then layered URI handling capability is improved, but browser footprint and complexity increase

Engineering Contradiction:
Improvelayered URI handling capabilityVSAvoidbrowser footprint
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The protocol stack is segmented into separate, pluggable components (connectors and binders) that can be dynamically assembled. Each connector handles a specific protocol layer (e.g., HTTP connector, XMPP connector), and binders connect these connectors. This segmentation allows the browser to only load the specific protocol components needed for a given layered URI, rather than pre-implementing all possible protocols, thus reducing overall browser footprint while maintaining versatility.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements a dynamic protocol stack assembly mechanism where connectors and binders are loaded and configured at runtime based on the specific layered URI being processed. The browser dynamically determines which connectors and binders are needed for a given URI (e.g., HTTP/XMPP, WebSocket/SCTP) and assembles the appropriate stack only when required, rather than having static pre-implemented support for all protocols. This dynamic approach reduces complexity while maintaining adaptability.

Inventive Principle:
Principle #15Dynamics

2Adaptability or versatility

If developers write custom JavaScript code to handle layered URIs, then URI handling flexibility is improved, but JavaScript size and performance degradation increase

Engineering Contradiction:
ImproveURI handling flexibilityVSAvoidJavaScript performance
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The patent creates a universal framework of standardized connectors and binders that can handle multiple different protocol combinations through a single unified mechanism. Instead of requiring developers to write separate custom code for each protocol stack (HTTP/XMPP, WebSocket/SCTP, etc.), the same framework handles all cases by dynamically assembling the appropriate connectors and binders. This multi-functional approach eliminates redundant developer code while maintaining flexibility across different URI types.

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

Solution Approach 2:

The framework introduces standardized intermediaries (connectors and binders) that mediate between the browser's native capabilities and the diverse protocol requirements. These intermediaries provide a uniform interface for handling layered URIs, translating complex protocol-specific operations into standardized framework calls. This intermediary layer eliminates the need for developers to write custom code for each protocol, as the framework's intermediaries handle the complexity automatically.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Adaptability or versatility

If browsers support all protocol stack combinations, then interoperability is improved, but resource consumption and performance decrease

Engineering Contradiction:
Improveprotocol support coverageVSAvoidresource consumption
Core Design Contradiction:
Adaptability or versatilityVSUse of energy by moving object

Solution Approach 1:

By segmenting the protocol stack into discrete, loadable connectors and binders, the system can support all protocol combinations without loading all possible components simultaneously. Each connector (e.g., HTTP connector, XMPP connector, WebSocket connector) and binder is only instantiated when needed for a specific URI, reducing memory consumption and resource usage while maintaining comprehensive protocol support capability.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The dynamic loading and assembly of protocol components based on actual URI requirements ensures that the browser only consumes resources for the protocols it needs to handle at any given time. The framework dynamically determines which connectors and binders to instantiate based on the layered URI structure, avoiding the resource consumption associated with having all protocol stacks pre-loaded and ready.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS9407682B2Mechanism to dereference layered URI in web browsers using JavaScript
Publication Date: 2016.08.02 FUTUREWEI TECHNOLOGIES INC
  • US9407682B2 patent drawing
  • US9407682B2 patent drawing
  • US9407682B2 patent drawing

AI summary

An apparatus comprising a processor configured to compose a plurality of protocol stacks, and dereference a layered URI using at least one of the plurality of protocol stacks. Also, a computer program product comprising computer executable instructions stored on a non-transitory medium that when executed by a processor cause the processor to perform the following receive a layered URI, and call a URI dereference extension, wherein the dereference extension is configured to construct a protocol stack, wherein the protocol stack comprises a first connector, a second connector, and a binder, and wherein the first and second connectors are selected from a plurality of connectors based on the URI.