IP Library Patent Application 14596968
Patent Application
App. No. 14/596,968

Methods and Systems for Performing a Prefetch Abort Operation

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 None
App. No.
14/596,968
Abstract

The present invention relates to systems, apparatus, and methods of determining whether to abort a prefetch operation. The method includes receiving a prefetched object downloaded from a content server, and checking the prefetched object to determine the prefetched object's size. The method further includes determining a probability of use of the prefetched object, checking a link between a server and a client to determine the link's bandwidth, and checking the link between the server and the client to determine the link's latency. In addition, the method includes, based on at least one of the size of the prefetched object, the probability of use of the prefetched object, the bandwidth of the link, and the latency of the link, determining whether to forward the prefetched object to the client.

Claims (43)

1 . A method of determining whether to abort a prefetch operation, the method comprising:

receiving a prefetched object downloaded from a content server;

checking the prefetched object to determine the prefetched object's size;

determining a probability of use of the prefetched object;

checking a link between a server and a client to determine the link's bandwidth;

checking the link between the server and the client to determine the link's latency; and

based on at least one of the size of the prefetched object, the probability of use of the prefetched object, the bandwidth of the link, and the latency of the link, determining whether to forward the prefetched object to the client.

2 . The method of determining whether to abort a prefetch operation as recited in claim 1 , wherein the latency of the link is determined based on a round trip time (RTT) value.

3 . The method of determining whether to abort a prefetch operation as recited in claim 1 , wherein a user history is used, at least in part, to determine the probability of use of the prefetched object.

4 . The method of determining whether to abort a prefetch operation as recited in claim 1 , wherein objects within the prefetched object are recursively prefetched.

5 . The method of determining whether to abort a prefetch operation as recited in claim 1 , wherein the size of the prefetched object, the probability of use of the prefetched object, the bandwidth of the link, the latency of the link, and the amount of time associated with the initial download of the prefetched object are each assigned a point value.

6 . The method of determining whether to abort a prefetch operation as recited in claim 5 , wherein the point values are summed to generate a total point value.

7 . The method of determining whether to abort a prefetch operation as recited in claim 6 , wherein if the total point value is greater than or equal to a threshold value, then the prefetched object is forwarded to the client.

8 . The method of determining whether to abort a prefetch operation as recited in claim 1 , further comprising determining an amount of time associated with an initial download of the prefetched object from the Internet.

9 . The method of determining whether to abort a prefetch operation as recited in claim 1 , further comprising temporarily storing the prefetched object.

10 . The method of determining whether to abort a prefetch operation as recited in claim 1 , further comprising performing a cost-benefit analysis on the prefetched object.

11 . The method of determining whether to abort a prefetch operation as recited in claim 1 , further comprising, based on the cost-benefit analysis, determining whether the cost of prefetching the object outweighs the benefit of prefetching the object.

12 . The method of determining whether to abort a prefetch operation as recited in claim 11 , wherein if the cost outweighs the benefit, then not prefetching the object, and wherein if the benefit outweighs the cost, then prefetching the object.

13 . The method of determining whether to abort a prefetch operation as recited in claim 1 , further comprising based on determining to prefetch the prefetched object, forwarding the prefetched object to the client.

14 . A system for determining whether to abort a prefetch operation, the system comprising:

a content server configured to:

transmit objects over a network connection;

a proxy server coupled with the content server, the proxy server configured to:

receive a prefetched object from the content server;

check the prefetched object to determine the prefetched object's size;

determine a probability of use of the prefetched object;

check a link between a server and a client to determine the link's bandwidth;

check the link between the server and the client to determine the link's latency; and

based on at least one of the size of the prefetched object, the probability of use of the prefetched object, the bandwidth of the link, and the latency of the link, determine whether to forward the prefetched object to the client; and

a client coupled with the proxy server, the client configured to:

based on the proxy server's determination to forward the prefetched object, receive the prefetched object from the proxy server.

15 . The system for determining whether to abort a prefetch operation as recited in claim 14 , wherein the client system further comprises a proxy client.

16 . The system for determining whether to abort a prefetch operation as recited in claim 15 , wherein the proxy client is configured to intercept communications between the client and the proxy server.

17 . The system for determining whether to abort a prefetch operation as recited in claim 16 , wherein the proxy client and the proxy server are configured to provide network acceleration for the client.

18 . A machine-readable medium having sets of instructions stored thereon which, when executed by one or more machines, cause the one or more machines to:

receive a prefetched object downloaded from a content server;

check the prefetched object to determine the prefetched object's size;

determine a probability of use of the prefetched object;

check a link between a server and a client to determine the link's bandwidth;

check the link between the server and the client to determine the link's latency; and

based on at least one of the size of the prefetched object, the probability of use of the prefetched object, the bandwidth of the link, and the latency of the link, determine whether to forward the prefetched object to the client.

19 . The machine-readable medium as recited in claim 18 , wherein the sets of instructions which, when further executed by the one or more machines, cause the one or more machines to, based on the cost-benefit analysis, determine whether the cost of prefetching the object outweighs the benefit of prefetching the object.

20 . The machine-readable medium as recited in claim 19 , wherein if the cost outweighs the benefit, then not prefetching the object, and wherein if the benefit outweighs the cost, then prefetching the object.

Assignments (5)
RELEASE OF SECURITY INTEREST Recorded Jun 4, 2025
From: MUFG BANK, LTD. (AS SUCCESSOR-IN-INTEREST TO MUFG UNION BANK, N.A.), AS AGENT
To: VIASAT, INC.
Reel/Frame 071321/0020 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 21, 2025
From: VIASAT, INC.
To: SNAPPI HOLDCO, INC.
Reel/Frame 070293/0483 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 21, 2025
From: SNAPPI HOLDCO, INC.
To: SNAPPI, INC.
Reel/Frame 070293/0879 →
PATENT SECURITY AGREEMENT Recorded May 24, 2016
From: VIASAT, INC.
To: MUFG UNION BANK, N.A., AS AGENT
Reel/Frame 038799/0714 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 16, 2015
From: SEBASTIAN, WILLIAM B
To: VIASAT, INC.
Reel/Frame 037309/0433 →