Cross-domain browser pre-fetching via image transcoding

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Web browser application programs are limited by the same origin policy, preventing them from accessing resources from different domains, which can lead to slower user feedback and experience due to the need for network communication to retrieve resources.

Innovation Solution

Resources are transcoded into images and pre-fetched by a browser application program before instantiation within a browser-based programmatic environment, allowing them to be provided from the local cache instead of requiring network communication, thereby minimizing latency and improving user experience.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If web browser application programs retrieve resources from different domains, then resource access capability is improved, but security policy compliance deteriorates

Engineering Contradiction:
Improveresource access capabilityVSAvoidsecurity policy compliance
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The patent uses images as an intermediary format to bypass the same origin policy. Resources from different domains are transcoded into image format, which browsers are permitted to access cross-domain. The images serve as a mediator that allows resource acquisition while maintaining compliance with security policies, as the browser only needs to access the image, not the original resource format.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent changes the format parameter of resources by transcoding them into images. This parameter change allows the resources to be accessed under different security rules that apply to images versus other resource types. By altering the representation format, the system exploits the browser's more permissive cross-domain access policy for images.

Inventive Principle:
Principle #35Parameter changes

2Reliability

If resources are fetched through network communication, then resource availability is improved, but access speed deteriorates

Engineering Contradiction:
Improveresource availabilityVSAvoidaccess speed
Core Design Contradiction:
ReliabilityVSSpeed

Solution Approach 1:

The patent applies preliminary action by pre-fetching resources and transcoding them into images before they are actually needed by the application. The browser retrieves and processes these image resources in advance, storing them in cache memory. When the application needs the resources, they are already prepared and available locally, eliminating the need for network communication at the moment of use and significantly improving access speed.

Inventive Principle:
Principle #10Preliminary action

3Speed

If resources are pre-fetched and cached, then access speed is improved, but memory usage increases

Engineering Contradiction:
Improveaccess speedVSAvoidmemory usage
Core Design Contradiction:
SpeedVSQuantity of substance

Solution Approach 1:

The patent uses images as temporary, disposable representations of resources. These image files serve as short-lived intermediaries that can be quickly created, cached, and discarded. The images are not permanent storage but temporary placeholders that enable fast access without requiring long-term retention of the original resources. This approach minimizes memory usage compared to caching full-resolution or complex resource formats.

Inventive Principle:
Principle #27Cheap short-living objects (Disposable)

Data Source

PatentUS8326056B2Cross-domain browser pre-fetching through data transcoding
Publication Date: 2012.12.04 MICROSOFT TECHNOLOGY LICENSING LLC
  • US8326056B2 patent drawing
  • US8326056B2 patent drawing
  • US8326056B2 patent drawing

AI summary

Browser application programs may be prevented from performing cross-domain retrieval of anything other than image files. To enable browsers to pre-fetch resources utilizable by code executing in a browser-based programmatic environment, without having to wait for the environment, and the code, to be instantiated and make the cross-domain request themselves, the cross-domain resources can be transcoded into image files. Once retrieved, these “image” files can be retained locally in a browser cache and provided to the code executing in the browser-based programmatic environment from there much more quickly. Then the code can decode the “image” and extract the original resource file, which the code can then utilize. The transcoding of resources into image files can be performed by first determining the height and width of an image file that will result in the least amount of wasted space when the resource is transcoded into it.