IP Library Granted Patent US 7,788,291
Granted Patent B2
US 7,788,291 · App. 11/861,034 · Granted Aug 31, 2010

Web accelerator apparatus, system, and method

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 7,788,291
App. No.
11/861,034
Granted
Aug 31, 2010
Kind
B2
Abstract

A system, apparatus, and method for accelerating display of frequently accessed slowly changing static content by causing a client having cache to actively request new content from a server and influencing caching policy at the client.

Claims (64)

1. An integrated hardware product having plug and play characteristics, comprising an apparatus for accelerating the delivery of web content comprising at least one port attaching to a network, comprising a processor adapted to find a uniform resource locator (url) in a hypertext document received in said apparatus, and replace the url with a transition reference locator (trl), the trl comprising a transition tag (ttag) and the url reference, the apparatus coupled to a first network having a server and the apparatus further coupled to a second network having a client, whereby the client is caused to request a second version of a web acceleration object having the characteristic of frequently accessed, infrequently changing, static content.

2. A method for determining and deploying a transition tag (ttag) for a web acceleration object (WAO) referenced in a hypertext document received in an apparatus comprising a processor configured to find and replace a url in said document with a trl comprising said ttag, comprising the steps of

waiting until a minimum interval of time has elapsed from a previous determination; and

checking if the WAO has been modified since the previous determination of the ttag on at least one of the following conditions:

after responding to a number of http requests for the WAO,

after receiving a number of http requests for the WAO,

after responding to a number of http requests for a hypertext document containing a url reference to the WAO,

after receiving a number of http requests for a hypertext document containing a url reference to the WAO;

storing the ttag and the time at which the ttag was determined; whereby a change in content from a first version of a WAO to a second version of a WAO can be distinguished; and

transforming said hypertext document by

finding the at least one url referencing said WAO,

transforming said url into a trl comprising said ttag, and

replacing said url with said trl.

3. The method of claim 2 for determining a ttag for a WAO further comprising computing a checksum of the contents of the WAO.

4. The method of claim 2 for determining a ttag for a WAO further comprising reading the filedate of the WAO from the file system.

5. The method of claim 2 for determining a ttag for a WAO further comprising incrementing a counter after initializing the counter.

6. The method of claim 2 for determining a ttag for a WAO further comprising calling a hash function.

7. The method of claim 2 for determining a ttag for a WAO further comprising calling a pseudo-random number function.

8. The method of claim 2 for determining a ttag for a WAO further comprising storing http date.

9. A method for causing a current version of a web acceleration object (WAO) to be requested by clients having caches comprising the following processes:

receiving a hypertext document in a gateway comprising at least one port attaching to a network with at least one client;

finding in the hypertext document a uniform resource locator (url) reference to the web acceleration object (WAO);

replacing the url reference to the WAO with a transition resource locator (trl) reference to the WAO wherein a trl reference contains a url and a transition tag (ttag) to distinguish a first version of the WAO from a second version of the WAO; and

transmitting said hypertext document containing said trl to a client.

10. The method of claim 9 wherein replacing the url reference to a WAO with a trl to the WAO comprises adding a ttag to an existing query string.

11. The method of claim 9 wherein replacing the url reference to a WAO with a trl to the WAO comprises adding a ttag as part of query string.

12. The method of claim 9 wherein replacing the url reference to a WAO with a trl to the WAO comprises adding a ttag as a component to the path of the url.

13. The method of claim 9 wherein replacing the url reference to a WAO with a trl to the WAO comprises adding a ttag as a prefix to a file name.

14. The method of claim 9 wherein replacing the url reference to a WAO with a trl to the WAO comprises adding a ttag as a suffix to a file name.

15. The method of claim 9 wherein replacing the url reference to a WAO with a trl to the WAO comprises modifying a file name with a ttag.

16. The method of claim 9 further comprising a process of influencing caching policy on a WAO.

17. The method of claim 16 wherein the process of influencing caching policy on a WAO comprises transmitting, before the WAO, an hypertext transfer protocol (http) header comprising an expires directive.

18. The method of claim 16 wherein the process of influencing caching policy on a WAO comprises transmitting, before the WAO, an http cache-control header.

19. The method of claim 16 further comprising the process of displaying a list of WAO;

displaying a data input to exclude each WAO from caching;

storing a result of user input on excluding a WAO from caching; and

transmitting, before the WAO, an http header which is adapted to influence the caching policy not to store the WAO.

20. The method of claim 16 wherein a WAO comprises an image file.

21. The method of claim 16 wherein a WAO comprises a script.

22. The method of claim 16 wherein a WAO comprises a multimedia file.

23. The method of claim 16 wherein a WAO comprises a portable document file.

24. An apparatus for accelerating the presentation of hypertext documents without requiring highly skilled server administration for deployment, comprising:

at least one port attaching to a network with at least one server and at least one client;

a processor configured to

find a uniform resource locator (url) reference to a web acceleration object (WAO), and

replace the url reference with a transition resource locator (trl) reference wherein a trl reference comprises the url and a transition tag (ttag) and

transmit a modified hypertext document to the client.

25. The apparatus of claim 24 further comprising a processor configured to perform the processes of determining that the content of a WAO has changed and generating a ttag to distinguish a first version of a WAO from a second version of a WAO.

26. The apparatus of claim 24 further comprising a processor configured to perform the process of transmitting, before a requested WAO, an hypertext transfer protocol (http) Expires header and a future http date wherein a future http date is computed in relation to the date of the request for the WAO.

27. A computer-readable medium storing computer-executable instructions for performing a method for causing a current version of a web acceleration object (WAO) to be requested by a plurality of clients having caches, the method comprising:

receiving a hypertext document in a gateway having a high bandwidth port and a low bandwidth port;

finding in the hypertext document a uniform resource locator (url) reference to a web acceleration object (WAO);

replacing the url reference to a WAO with a transition resource locator (trl) reference to the WAO wherein a trl reference comprises a url and transition tag (ttag) to distinguish a first version of the WAO from a second version of the WAO; and

transmitting the resulting hypertext document containing the trl to a client.

28. The computer-readable medium of claim 27 wherein replacing the url reference to a WAO with a trl to the WAO comprises adding a ttag to an existing query string.

29. The computer-readable medium of claim 27 wherein replacing the url reference to a WAO with a trl to the WAO comprises adding a ttag as part of query string.

30. The computer-readable medium of claim 27 wherein replacing the url reference to a WAO with a trl to the WAO comprises adding a ttag as a component to the path of the url.

31. The computer-readable medium of claim 27 wherein replacing the url reference to a WAO with a trl to the WAO comprises adding a ttag as a prefix to a file name.

32. The computer-readable medium of claim 27 wherein replacing the url reference to a WAO with a trl to the WAO comprises adding a ttag as a suffix to a file name.

33. The computer-readable medium of claim 27 wherein replacing the url reference to a WAO with a trl to the WAO comprises modifying a file name with a ttag.

34. The computer-readable medium of claim 27 wherein a WAO comprises an image file.

35. The computer-readable medium of claim 27 wherein a WAO comprises a script.

36. The computer-readable medium of claim 27 wherein a WAO comprises a multimedia file.

37. The computer-readable medium of claim 27 wherein a WAO comprises a portable document file.

Assignments (12)
SECURITY INTEREST Recorded Mar 17, 2025
From: BARRACUDA NETWORKS, INC.
To: OAKTREE FUND ADMINISTRATION, LLC, AS COLLATERAL AGENT
Reel/Frame 070529/0123 →
SECURITY INTEREST Recorded Sep 3, 2022
From: BARRACUDA NETWORKS, INC.
To: UBS AG, STAMFORD BRANCH, AS COLLATERAL AGENT
Reel/Frame 061377/0208 →
SECURITY INTEREST Recorded Sep 3, 2022
From: BARRACUDA NETWORKS, INC.
To: KKR LOAN ADMINISTRATION SERVICES LLC, AS COLLATERAL AGENT
Reel/Frame 061377/0231 →
RELEASE OF FIRST LIEN SECURITY INTEREST IN IP RECORDED AT R/F 045327/0877 Recorded Aug 16, 2022
From: GOLDMAN SACHS BANK USA, AS COLLATERAL AGENT
To: BARRACUDA NETWORKS, INC.
Reel/Frame 061179/0602 →
RELEASE OF SECOND LIEN SECURITY INTEREST IN IP RECORDED AT R/F 054260/0746 Recorded Aug 16, 2022
From: GOLDMAN SACHS BANK USA, AS COLLATERAL AGENT
To: BARRACUDA NETWORKS, INC.
Reel/Frame 061521/0086 →
SECOND LIEN INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded Oct 30, 2020
From: BARRAUDA NETWORKS, INC.
To: GOLDMAN SACHS BANK USA, AS COLLATERAL AGENT
Reel/Frame 054260/0746 →
RELEASE OF SECURITY INTEREST IN INTELLECTUAL PROPERTY RECORDED AT R/F 045327/0934 Recorded Apr 15, 2019
From: GOLDMAN SACHS BANK USA, AS COLLATERAL AGENT
To: BARRACUDA NETWORKS, INC.
Reel/Frame 048895/0841 →
FIRST LIEN INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded Feb 14, 2018
From: BARRACUDA NETWORKS, INC.
To: GOLDMAN SACHS BANK USA, AS COLLATERAL AGENT
Reel/Frame 045327/0877 →
SECOND LIEN INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded Feb 14, 2018
From: BARRACUDA NETWORKS, INC.
To: GOLDMAN SACHS BANK USA, AS COLLATERAL AGENT
Reel/Frame 045327/0934 →
RELEASE OF SECURITY INTEREST Recorded Jan 8, 2018
From: SILICON VALLEY BANK, AS ADMINISTRATIVE AGENT
To: BARRACUDA NETWORKS, INC.
Reel/Frame 045027/0870 →
SECURITY INTEREST Recorded Oct 12, 2012
From: BARRACUDA NETWORKS, INC.
To: SILICON VALLEY BANK
Reel/Frame 029218/0107 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 7, 2008
From: ONGOLE, SUBRAHMANYAM; SHI, FLEMING; LEVOW, ZACHARY; DRAKO, DEAN; KONSTANTINOV, ANDREW
To: BARRACUDA NETWORKS INC
Reel/Frame 020620/0904 →