US 12,238,189 B2
Methods and systems for caching data communications over computer networks
Alan Arolovitch, Brookline, MS (US); Shmuel Bachar, Herzliyya (IL); Dror Moshe Gavish, Shoham (IL); Shahar Guy Grin, Ramat HaSharon (IL); and Shay Shemer, Hod Hasharon (IL)
Assigned to Skyvera, LLC, Austin, TX (US)
Filed by Skyvera, LLC, Austin, TX (US)
Filed on Jun. 15, 2023, as Appl. No. 18/335,994.
Application 18/335,994 is a continuation of application No. 17/240,738, filed on Apr. 26, 2021, granted, now 11,758,013.
Application 17/240,738 is a continuation of application No. 16/685,717, filed on Nov. 15, 2019, granted, now 11,019,170.
Application 16/685,717 is a continuation of application No. 14/667,071, filed on Mar. 24, 2015, granted, now 10,484,497, issued on Nov. 19, 2019.
Application 14/667,071 is a continuation of application No. 13/476,574, filed on May 21, 2012, granted, now 8,990,354, issued on Mar. 24, 2015.
Application 13/476,574 is a continuation of application No. 13/341,619, filed on Dec. 30, 2011, granted, now 8,185,612, issued on May 22, 2012.
Claims priority of provisional application 61/428,538, filed on Dec. 30, 2010.
Prior Publication US 2023/0336640 A1, Oct. 19, 2023
Int. Cl. G06F 15/167 (2006.01); G06F 16/957 (2019.01); H04L 67/14 (2022.01); H04L 67/50 (2022.01); H04L 67/51 (2022.01); H04L 67/568 (2022.01); H04N 21/63 (2011.01); H04L 67/1061 (2022.01); H04L 67/1074 (2022.01)
CPC H04L 67/568 (2022.05) [G06F 16/9574 (2019.01); H04L 67/14 (2013.01); H04L 67/51 (2022.05); H04L 67/535 (2022.05); H04N 21/632 (2013.01); H04L 67/1061 (2013.01); H04L 67/108 (2013.01)] 17 Claims
OG exemplary drawing
 
1. An apparatus comprising:
one or more processors; and
a memory, coupled to the one or more processors, that stores code, wherein when the code is executed by the one or more processors, the apparatus performs operations comprising:
caching communications by a multi-session application executed by a client, wherein the multi-session application utilizes at least one of:
(i) one or more sessions to discover information about a one or more content objects, identify content sources that the application contacts to retrieve the content object, data protocols used to do so, and data queries used to retrieve the object, and
(ii) multiple sessions to retrieve the one or more content object and passing information for content object identification;
(a) receiving, intercepting, or monitoring one or more data sessions between the client executing the multi-session application for retrieving the content object and one or more metadata services, said client communicating with the one or more metadata services to discover metadata for the content object;
(b) analyzing queries and responses exchanged between the client and the one of more metadata services to discover metadata for the content object;
(c) receiving or intercepting subsequent data sessions between the client and content sources;
(d) identifying a data protocol used by the client and identifying data queries within the data sessions;
(e) identifying the content object or portions thereof requested by the client in the data queries; and
(f) determining if the content object or portions thereof are stored in cache and, if so, sending the content object or portions thereof stored in cache to the client, and, if not, sending the data queries to the content sources, storing data responses from the content sources, and sending the data responses to the client.