Browser Search Pre-Request and BFF Polling for Faster First Results
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing search technologies face delays in providing search results due to latency issues, leading to increased energy consumption and user dissatisfaction, particularly in the Time To First Result (TTFR) metric.
Innovation Solution
Implementing an asynchronous pre-search request mechanism that initiates a search cycle early, establishing a persistent connection for polling, and optimizing server interactions to reduce the number of polling requests, while using region-specific routing and parallel processing to enhance search performance.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If a search engine uses multiple servers (crawler server, indexer server, search server) to distribute workloads, then system capacity and reliability are improved, but system complexity and communication overhead increase
Solution Approach 1:
The patent divides the search engine into three independent server components: crawler server for web page collection, indexer server for processing and storage, and search server for query handling. Each server operates independently with specialized functions, allowing parallel processing and distributing the computational workload across multiple machines, thereby increasing overall system capacity while maintaining manageable complexity through clear functional separation.
2Reliability
If the search engine stores complete HTML files including banners and navigation in the index, then crawling completeness is improved, but index size and processing time increase
Solution Approach 1:
The patent extracts and separates the main content area from surrounding HTML elements such as banners, navigation menus, and sidebars during the crawling process. By isolating only the relevant content portions for indexing, the system maintains complete and accurate content coverage while significantly reducing the volume of data requiring indexing and the associated processing time.
3Ease of operation
If the browser establishes a persistent connection to the BFF server, then connection overhead is reduced, but network resource consumption increases
Solution Approach 1:
The patent implements a persistent connection mechanism where the browser establishes a long-lived connection to the BFF server that remains open for multiple sequential requests. This eliminates the need to repeatedly establish and tear down connections, reducing connection management overhead and improving ease of operation. The connection is maintained actively but efficiently, with data transmitted only when needed, balancing resource consumption with operational convenience.
Data Source
Figure 1
Figure 2
Figure 3
AI summary
There is disclosed a computer-implemented method of searching for search results using a browser executing on a client device, a search home website HTML server, a back-end for front-end (BFF) server, and a search service server, the method including the steps of: (i) the search home website HTML server sending an asynchronous pre-search request to the search service server, the asynchronous pre-search request including the search parameters, and the search service server initiating a search cycle using the search parameters in response to the asynchronous pre-search request; (ii) the browser receiving from the search home website HTML server HTML data including a Cascading Style Sheets (CSS) and script tag; (iii) the browser executing the script files such that the client device including the browser establishes a persistent connection to the back-end for front-end (BFF) server, and sends the search parameters to the BFF server, the BFF server polling the search service server using the search parameters; (iv) the search service server recognizing that the search parameters it received in step (iii) correspond to the search parameters it received in step (i), to use the search cycle initiated in step (i) to provide first search results from the search cycle to the BFF server, in response to the polling from the BFF server.