IP Library Granted Patent US 12,468,700
Granted Patent B2
US 12,468,700 · App. 18/236,440 · Granted Nov 11, 2025

Asynchronous predictive caching of content listed in search results

Inventors: Ramesh Periyathambi (San Ramon, CA); Vineet Bindal (San Jose, CA); Naga Sita Raghuram Nimishakavi Venkata (San Jose, CA); Deepti Bhosale (San Jose, CA); Auston McReynolds (Sacramento, CA); Andrew Lin (San Jose, CA); Lakshimi Duraivenkatesh (San Ramon, CA)
Assignee: eBay Inc.
G06F16/24539G06F16/9535G06F16/9538G06F16/9558G06F16/9566G06F16/9574
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,468,700
App. No.
18/236,440
Granted
Nov 11, 2025
Kind
B2
Abstract

Technologies described reduce the amount of time between requesting content and receiving the requested content. In some embodiments, a client provides a search query. A search result page is generated and, prior to returning the search result page to the client, some or all of the search results are asynchronously pre-fetched and cached. The search query can include custom parameters that are also included in the pre-fetch requests. Web addresses in the search results page can be modified to indicate whether a prefetch operation was initiated. Once a user activates one of the search results, the responding web server uses the cached data while generating a response.

Claims (56)

1 . A method, comprising:

identifying a plurality of search result Uniform Resource Locators (URLs) based on a search query received from a client;

initiating a request for content to at least one of the plurality of search result URLs;

retrieving a page received in response to the request and classifying the page by identifying:

a first portion of content items of the page that is generated specific to the client; and

a second portion of the content items of the page that is client agnostic;

caching the page by storing the second portion of the content items of the page at a data storage location in a cache and excluding the first portion of the content items of the page that is generated specific to the client from the data storage location;

receiving a request from the client for the at least one of the plurality of search result URLs;

generating a response to the request based on the second portion of the content items of the page stored in the data storage location; and

responsive to receiving a request from a different client for the at least one of the plurality of search result URLs, transmitting a response to the different client that includes at least some of the second portion of the content items of the page stored in the data storage location.

2 . The method of claim 1 , wherein initiating the request for content to at least one of the plurality of search result URLs comprises initiating requests for content to two or more of the plurality of search result URLs.

3 . The method of claim 1 , further comprising separately caching the first portion of the content items of the page that is generated specific to the client by storing the first portion of the content items of the page at a different data storage location and, responsive to receiving a subsequent request for the at least one of the plurality of search result URLs from the client, transmitting a response to the client that includes at least some of the first portion of the content items of the page.

4 . The method of claim 1 , further comprising causing output, at the client, of a search result page comprising hyperlinks to the plurality of search result URLs.

5 . The method of claim 4 , further comprising modifying one of the hyperlinks corresponding to the at least one of the plurality of search result URLs to indicate performance of caching the page.

6 . The method of claim 4 , wherein initiating the request for content to the at least one of the plurality of search result URLs is performed before causing output of the search result page.

7 . The method of claim 1 , wherein the search query comprises:

a text search query defined by user input at the client; and

context data defining one or more parameters of the client, wherein identifying the first portion of the content items of the page that is generated specific to the client is performed based on the context data.

8 . The method of claim 1 , wherein generating the response to the request based on the second portion of the content items of the page comprises identifying, in the second portion of the content items of the page, a pointer to at least one content item stored in a data store separate from the data storage location, and generating the response to the request comprises retrieving the at least one content item from the data store.

9 . A system comprising:

one or more processors; and

a computer-readable storage medium storing instructions that are executable by the one or more processors to perform operations comprising:

identifying a plurality of search result Uniform Resource Locators (URLs) based on a search query received from a client;

initiating a request for content to at least one of the plurality of search result URLs;

retrieving a page received in response to the request and classifying the page to identify:

a first portion of content items of the page that is generated specific to the client; and

a second portion of the content items of the page that is client agnostic;

caching the page by storing the second portion of the content items of the page in a data storage location in a cache and excluding the first portion of the content items of the page that is generated specific to the client from the data storage location;

receiving a request from the client for the at least one of the plurality of search result URLs;

generating a response to the request based on the second portion of the page stored in the data storage location; and

responsive to receiving a request from a different client for the at least one of the plurality of search result URLs, transmitting a response to the different client that includes at least some of the second portion of the content items of the page stored in the data storage location.

10 . The system of claim 9 , wherein initiating the request for content to at least one of the plurality of search result URLs comprises initiating requests for content to two or more of the plurality of search result URLs.

11 . The system of claim 9 , the operations further comprising separately caching the first portion of the content items of the page that is generated specific to the client by storing the first portion of the content items of the page in a different data storage location and, responsive to receiving a subsequent request for the at least one of the plurality of search result URLs from the client, transmitting a response to the client that includes at least some of the first portion of the content items of the page.

12 . The system of claim 9 , the operations further comprising causing output, at the client, of a search result page comprising hyperlinks to the plurality of search result URLs.

13 . The system of claim 12 , the operations further comprising modifying one of the hyperlinks corresponding to the at least one of the plurality of search result URLs to indicate performance of caching the page.

14 . The system of claim 12 , wherein initiating the request for content to the at least one of the plurality of search result URLs is performed before causing output of the search result page.

15 . The system of claim 9 , wherein the search query comprises:

a text search query defined by user input at the client; and

context data defining one or more parameters of the client, wherein identifying the first portion of the content items of the page that is generated specific to the client is performed based on the context data.

16 . The system of claim 9 , wherein generating the response to the request based on the second portion of the content items of the page comprises identifying, in the second portion of the content items of the page, a pointer to at least one content item stored in a data store separate from the data storage location, and generating the response to the request comprises retrieving the at least one content item from the data store.

17 . A method, comprising:

identifying a plurality of search result Uniform Resource Locators (URLs) based on a search query received from a client;

initiating a request for content to at least one of the plurality of search result URLs;

retrieving a page received in response to the request and classifying the page to identify:

a first portion of content items of the page that is generated specific to the client; and

a second portion of the content items of the page that is client agnostic;

caching the page by:

storing the first portion of the content items of the page that is generated specific to the client in a first data storage location in a cache; and

storing the second portion of the content items of the page that is client agnostic in a second data storage location in the cache;

receiving a request from the client for the at least one of the plurality of search result URLs;

generating a response to the request by retrieving at least some of the first portion of the content items of the page from the first data storage location and retrieving at least some of the second portion of the content items of the page from the second data storage location;

maintaining the first portion of the content items of the page in the first data storage location and maintaining the second portion of the content items of the page in the second data storage location after generating the response; and

responsive to receiving a request from a different client for the at least one of the plurality of search result URLs, transmitting a response to the different client that includes at least some of the second portion of the content items of the page and excludes the first portion of the content items of the page.

18 . The method of claim 17 , wherein initiating the request for content to at least one of the plurality of search result URLs comprises initiating requests for content to two or more of the plurality of search result URLs.

19 . The method of claim 17 , further comprising causing output, at the client, of a search result page comprising hyperlinks to the plurality of search result URLs.

20 . The method of claim 17 , wherein generating the response to the request comprises identifying, in the second portion of the content items of the page, a pointer to at least one content item stored in a data store separate from the second data storage location, and generating the response to the request comprises retrieving the at least one content item from the data store.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 29, 2023
From: PERIYATHAMBI, RAMESH; BINDAL, VINEET; NIMISHAKAVI VENKATA, NAGA SITA RAGHURAM; BHOSALE, DEEPTI; MCREYNOLDS, AUSTON; LIN, ANDREW; DURAIVENKATESH, LAKSHIMI
To: EBAY INC.
Reel/Frame 064731/0032 →
Continuity (3)
Continuation 17200153 · Mar 12, 2021
Continuation 16243880 · Jan 9, 2019
Related Publication 20230394042A1 · Dec 7, 2023
References Cited (54)
US 6310941B1 · Crutcher et al. · 2001 [cited by applicant]
US 6959318B1 · Tso · 2005 [cited by applicant]
US 7908336B2 · Carlson et al. · 2011 [cited by applicant]
US 8447837B2 · Devanneaux et al. · 2013 [cited by applicant]
US 8516041B1 · Miles · 2013 [cited by applicant]
US 8543668B1 · Long · 2013 [cited by applicant]
US 8719265B1 · Bedrax-Weiss · 2014 [cited by examiner]
US 9299030B1 · Hotchkies et al. · 2016 [cited by applicant]
US 9552489B1 · Siegel et al. · 2017 [cited by applicant]
US 9560015B1 · Glazemakers et al. · 2017 [cited by applicant]
US 10983996B2 · Periyathambi et al. · 2021 [cited by applicant]
US 11775518B2 · Periyathambi et al. · 2023 [cited by applicant]
US 20010051927A1 · London · 2001 [cited by examiner]
US 20020062384A1 · Tso · 2002 [cited by applicant]
US 20060122976A1 · Baluja · 2006 [cited by applicant]
US 20060277167A1 · Gross et al. · 2006 [cited by applicant]
US 20090094417A1 · Carlson et al. · 2009 [cited by applicant]
US 20110093790A1 · Maczuba · 2011 [cited by applicant]
US 20130031204A1 · Graham et al. · 2013 [cited by applicant]
US 20130346704A1 · Burger et al. · 2013 [cited by applicant]
US 20150082416A1 · Strassmann · 2015 [cited by examiner]
US 20150188981A1 · Liang et al. · 2015 [cited by applicant]
US 20170223049A1 · Kuperman et al. · 2017 [cited by applicant]
US 20200120178A1 · Subramanian et al. · 2020 [cited by applicant]
US 20200218724A1 · Periyathambi et al. · 2020 [cited by applicant]
US 20210200767A1 · Periyathambi et al. · 2021 [cited by applicant]
CN 108885621A · 2018 [cited by applicant]
EP 2512101A1 · 2012 [cited by applicant]
WO 2010037168A1 · 2010 [cited by applicant]
WO 2018076388A1 · 2018 [cited by applicant]
WO 2020146019A1 · 2020 [cited by applicant]
U.S. Appl. No. 16/243,880 , “Non Final Office Action Received for U.S. Appl. No. 16/243,880, mailed on Aug. 19, 2020”, Aug. 19, 2020, 32 pages. [cited by applicant]
U.S. Appl. No. 16/243,880 , “Notice Of Allowance received for U.S. Appl. No. 16/243,880, mailed on Dec. 16, 2020”, Dec. 16, 2020, 6 pages. [cited by applicant]
U.S. Appl. No. 17/200,153 , “Final Office Action”, U.S. Appl. No. 17/200,153, Oct. 18, 2022, 26 pages. [cited by applicant]
U.S. Appl. No. 17/200,153 , “Non-Final Office Action”, U.S. Appl. No. 17/200,153, Apr. 27, 2023, 39 pages. [cited by applicant]
U.S. Appl. No. 17/200,153 , “Non-Final Office Action”, U.S. Appl. No. 17/200,153, Aug. 12, 2022, 22 pages. [cited by applicant]
U.S. Appl. No. 17/200,153 , “Notice of Allowance”, U.S. Appl. No. 17/200,153, Jul. 12, 2023, 6 pages. [cited by applicant]
U.S. Appl. No. 17/200,153 , “Restriction Requirement”, U.S. Appl. No. 17/200,153, Jun. 27, 2022, 6 pages. [cited by applicant]
19790963.3 , “Foreign Office Action”, EP Application No. 19790963.3, Aug. 2, 2023, 7 pages. [cited by applicant]
Lempel, Ronny , et al., “Predictive Caching and Prefetching of Query Results in Search Engines”, Retrieved from: <http://www2003.org/cdrom/papers/refereed/p017/p17-lempel.html> on Jul. 8, 2008, May 2003, 18 Pages. [cited by applicant]
PCT/US2019/053796 , “International Preliminary Report on Patentability Received PCT Patent Application No. PCT/US2019/053796, mailed on Jul. 22, 2021”, Jul. 22, 2021, 10 pages. [cited by applicant]
PCT/US2019/053796 , “International Search Report received for PCT Application No. PCT/US2019/053796, mailed on Nov. 27, 2019”, Nov. 27, 2019, 4 pages. [cited by applicant]
PCT/US2019/053796 , “International Written Opinion received for PCT Application No. PCT/US2019/053796, mailed on Nov. 27, 2019”, Nov. 27, 2019, 8 pages. [cited by applicant]
Stack Overflow , “What is the difference between asynchronous and synchronous HTTP request?”, Retrieved from the Internet URL :<https://stackoverflow.com/questions/16715380/what-is-difference-between-asynchronous-http-r… [cited by applicant]
19790963.3 , “Result for Consultation Received for European Patent Application No. 19790963.3, mailed on Jul. 2, 2024”, Jul. 2, 2024, 14 pages. [cited by applicant]
201980088490.6 , “Foreign Office Action”, CN Application 201980088490.6, Aug. 10, 2024, 25 pages. [cited by applicant]
Michael , “ACM SIGMOD Conference 2002: Madison, Wisconsin, USA”, Retrieved from the Internet: URL:https://www.sigmod.org/publications/dblp/db/conf/sigmod/sigmod2002.html, Jun. 6, 2002, 8 pages. [cited by applicant]
Wikipedia , “Responsive web design”, Retrieved from the Internet: URL:https://en.wikipedia.org/w/index.php?title= Responsive_web_desig n &oldid=877096044, Jan. 6, 2019, 7 pages. [cited by applicant]
“Foreign Office Action”, CN Application No. 201980088490.6, Nov. 7, 2024, 23 pages. [cited by applicant]
“Foreign Office Action”, CN Application No. 201980088490.6, Feb. 22, 2025, 22 pages. [cited by applicant]
Datta, et al., “Proxy-Based Acceleration of Dynamically Generated Content on the World Wide Web: An Approach and Implementation”, ACM—Retrieved at: http://delivery.acm.org/10.1145/570000/564703/p97-datta.pdf, Jun. 2002,… [cited by applicant]
19790963.3 , “Summons To Attend Oral Proceedings”, EP Application No. 19790963.3, Feb. 9, 2024, 13 pages. [cited by applicant]
201980088490.6 , “Office Action received for Chinese Patent Application No. 201980088490.6, mailed on Mar. 23, 2024”, Mar. 23, 2024, 23 pages. [cited by applicant]
Anton, Jesse , et al., “Web Caching for Database Applications with Oracle Web Cache”, Proceedings of the ACM SIGMOD International Conference on Management of Data; XP058266703, DOI: 10-1145/564691.546762; ISBN: 978-1-58… [cited by applicant]