Server-Side Client Script Evaluation for Dynamic Link Crawling

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional Web crawlers are unable to locate and index dynamically generated links due to their inability to execute client-side scripts outside the context of a Web browser, limiting their ability to crawl and index documents containing such links.

Innovation Solution

A facility is provided that enables server-side evaluation of client-side scripts by executing them using a server-side scripting engine, which provides equivalent browser objects to simulate the execution environment, allowing dynamically generated links to be detected and added to the crawl queue.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If conventional Web crawlers are used to crawl and index Web pages, then the crawling process is simple and efficient, but dynamically generated links cannot be located or indexed

Engineering Contradiction:
Improveability to locate dynamically generated linksVSAvoidcrawling system complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent introduces a client-side script execution engine as an intermediary component between the Web crawler and the dynamically generated links. This engine simulates a Web browser environment to execute client-side scripts and generate the dynamic links, allowing the crawler to access and index content that would otherwise be inaccessible. The intermediary resolves the contradiction by adding the necessary complexity only where needed (in the execution engine) while keeping the rest of the crawling system relatively simple.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The crawling system is segmented into distinct functional components: the Web crawler itself, the client-side script execution engine, and the link generation module. This segmentation allows each component to be optimized independently - the crawler focuses on efficient page discovery while the execution engine handles the complex task of script interpretation and dynamic link generation, resolving the contradiction between simplicity and capability.

Inventive Principle:
Principle #1Segmentation

2Loss of information

If client-side scripts are executed outside a Web browser context, then dynamically generated links can be discovered, but execution compatibility issues arise

Engineering Contradiction:
Improvediscovery of dynamically generated contentVSAvoidscript execution compatibility
Core Design Contradiction:
Loss of informationVSReliability

Solution Approach 1:

The patent creates a simplified copy of the Web browser execution environment that runs on the server side. Instead of attempting to run scripts in their original client-side context, the system copies the essential browser objects and execution context to a server environment where they can be executed reliably. This copying approach resolves the contradiction by preserving the execution semantics needed for dynamic link generation while eliminating the compatibility issues of cross-context execution.

Inventive Principle:
Principle #26Copying

3Loss of information

If all Web pages including those with dynamic links are crawled, then complete indexing is achieved, but processing time increases significantly

Engineering Contradiction:
Improvecompleteness of indexed contentVSAvoidcrawling and processing time
Core Design Contradiction:
Loss of informationVSLoss of time

Solution Approach 1:

The patent applies partial action by selectively executing client-side scripts only on Web pages that contain dynamic link generation, rather than processing every page uniformly. The system identifies pages with script tags and focuses computational resources on those specific pages, achieving complete indexing of dynamic content while minimizing unnecessary processing time on static pages.

Inventive Principle:
Principle #16Partial or excessive action

Solution Approach 2:

The system performs preliminary analysis of Web pages to identify those containing client-side scripts before executing them. By pre-processing pages to detect script presence and organizing them for targeted execution, the system avoids the time cost of executing scripts on every page while ensuring no dynamic content is missed, thus resolving the contradiction between completeness and efficiency.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS8443346B2Server evaluation of client-side script
Publication Date: 2013.05.14 YAHOO ASSETS LLC
  • US8443346B2 patent drawing
  • US8443346B2 patent drawing
  • US8443346B2 patent drawing

AI summary

A facility is described for server-side evaluation of client-side script, such as to crawl and index dynamically generated links. In various embodiments, the facility provides an object that emulates a browser object. The provided object exposes a function for performing steps comprising receiving a first link and storing the received first link in a list of links to be processed. The facility receives a second link to be processed, loads a second document identified by the received second link, and assigns the provided object to a global variable so that a script associated with the loaded second document invokes the function exposed by the provided object instead of a function with a similar name that is exposed by the emulated browser object. The function with the similar name exposed by the emulated browser object handles the received first link without storing it in the list of links to be processed.