Web Crawler Priority Scheduling via Timestamp and Freshness
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current web crawling systems lack effective prioritization methods, leading to inefficient crawling of web content, where important and frequently updated pages are not crawled promptly due to 'starvation' issues, where lower priority pages are never crawled due to higher priority pages consistently being crawled first.
Innovation Solution
A system that includes an entry management module, an entry selection module, a crawler module, and a freshness module to prioritize crawling based on timestamp values and freshness values, ensuring that pages with newer timestamps and higher freshness values are crawled more frequently, preventing starvation and maintaining order in the crawling schedule.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If path identifiers are ordered using FIFO or LIFO methods, then the crawling process maintains a simple order, but all path identifiers are crawled at the same rate regardless of importance or update frequency
Solution Approach 1:
The patent changes the parameter used for ordering path identifiers from simple positional order (FIFO/LIFO) to a composite priority value that incorporates multiple factors including update frequency, importance, and recency. This allows the system to dynamically adjust crawling priorities based on content characteristics rather than using a static ordering method.
Solution Approach 2:
The system implements dynamic priority assignment where path identifiers can change their position in the crawling queue based on their updated characteristics. As web pages are crawled and their update frequencies and importance levels are determined, their priority values are adjusted, making the crawling order adaptive rather than fixed.
2Loss of information
If path identifiers are ordered according to priority values, then higher priority pages are crawled first, but lower priority pages suffer from starvation and are never crawled
Solution Approach 1:
The patent implements a time-based component in the priority calculation that ensures all path identifiers are periodically revisited. By incorporating recency factors and setting maximum intervals between crawls, the system guarantees that even lower priority pages will eventually be crawled, preventing permanent starvation while still allowing high-priority pages to be crawled more frequently.
Solution Approach 2:
The system uses feedback from crawling results to continuously adjust priority values. After crawling a page, the system learns about its update frequency and importance, then uses this information to adjust its priority for future crawls. This feedback loop ensures that pages that become more important over time automatically receive higher priority, while still maintaining baseline coverage of all pages.
3Device complexity
If the web crawler processes path identifiers in a fixed order, then the crawling process is simple to implement, but important and frequently updated pages may not be crawled promptly
Solution Approach 1:
The patent introduces multiple parameters for prioritizing path identifiers including update frequency, importance score, and recency. These parameters are combined to create a composite priority value that determines crawling order. The system calculates these parameters based on observable characteristics of web pages and their update patterns, enabling intelligent prioritization without requiring complex manual configuration.
Data Source
AI summary
In some embodiments, an entry management module may receive a set of entries, each entry of the set of entries including a time-stamp value and a path identifier to a data object having content that may be changed. An entry selection module may select a first entry from the set of entries based on a first time-stamp value of the first entry, the first time-stamp value identifying a first time being no later than other times identified by time-stamp values of other entries. A crawler module may retrieve first content from a first data object using a first path identifier of the first entry. A freshness module may calculate a first updated timestamp value using a first freshness value, the first freshness value indicating a priority to retrieve possibly changed content from the first data object, the first updated time-stamp value replacing the first time-stamp value.


