Claims
- 1. A method for providing a proxy service to retrieve content over a data network from a content server, the method comprising:
forwarding a request for the content over the data network towards the content server, wherein a proxy in communication with the content server determines a plurality of objects corresponding to the content based on the request, the proxy generating a list specifying the objects that are to be pre-fetched according to a criterion; receiving the generated list in response to the request; receiving the pre-fetched objects on the list; and selectively holding a subsequent request associated with an object specified on the list.
- 2. A method according to claim 1, wherein the proxy in the forwarding step obtains domain name service (DNS) information associated with the request, the method further comprising:
receiving from the proxy the DNS information piggybacked on one of the pre-fetched objects.
- 3. A method according to claim 1, wherein the proxy in the forwarding step receives a cookie associated with one of the pre-fetched objects and determines whether the received cookie matches that of a cookie provided in the request, the proxy not forwarding the pre-fetched object if there is no match.
- 4. A method according to claim 3, wherein the proxy in the forwarding step compares a domain name specified in the request with the cookie associated with the one pre-fetched object.
- 5. A method according to claim 1, wherein the proxy in the forwarding step assigns a plurality of identifiers corresponding to the objects in the list, the method further comprising:
forwarding a message to the proxy specifying one of the identifiers to avoid duplicate retrieval of the one corresponding object.
- 6. A method according to claim 5, further comprising:
rejecting a pre-fetched objected from the list based upon one of a rejection of the list and a discrepancy of the identifiers.
- 7. A method according to claim 1, wherein the criterion in the forwarding step includes one of object size and object type.
- 8. A method according to claim 1, wherein number of objects specified in the list in the forwarding step is limited by a configurable threshold.
- 9. A method according to claim 1, wherein the content conforms with a markup language that includes Hypertext Markup Language (HTML).
- 10. A method according to claim 1, wherein the data network includes a Very Small Aperture Terminal (VSAT) satellite network, and the proxy in the forwarding step resides in a VSAT terminal in communication with the content server.
- 11. A method according to claim 1, further comprising:
transmitting one of the received pre-fetched objects to a browser in response to a request from the browser.
- 12. A method according to claim 1, further comprising:
outputting a log file to maintain statistical information on the proxy service.
- 13. A computer-readable medium bearing instructions for providing a proxy service to retrieve content over a data network from a content server, said instruction, being arranged, upon execution, to cause one or more processors to perform the method of claim 1.
- 14. A network apparatus for providing a proxy service to retrieve content over a data network from a content server, the apparatus comprising:
an interface configured to forward a request for the content over the data network towards the content server, wherein an upstream proxy in communication with the content server determines a plurality of objects corresponding to the content based on the request, the upstream proxy generating a list specifying the objects that are to be pre-fetched according to a criterion; and a downstream proxy configured to receive the generated list in response to the request and to receive the pre-fetched objects on the list, wherein the downstream proxy selectively holds a subsequent request associated with an object specified on the list.
- 15. An apparatus according to claim 14, wherein the upstream proxy obtains domain name service (DNS) information associated with the request and piggybacks the DNS information piggybacked onto one of the pre-fetched objects.
- 16. An apparatus according to claim 14, wherein the upstream proxy receives a cookie associated with one of the pre-fetched objects and determines whether the received cookie matches that of a cookie provided in the request, the upstream proxy not forwarding the pre-fetched object if there is no match.
- 17. An apparatus according to claim 16, wherein the upstream proxy compares a domain name specified in the request with the cookie associated with the one pre-fetched object.
- 18. An apparatus according to claim 14, wherein the upstream proxy assigns a plurality of identifiers corresponding to the objects in the list, and the downstream proxy forwards a message to the upstream proxy specifying one of the identifiers to avoid duplicate retrieval of the one corresponding object.
- 19. An apparatus according to claim 18, wherein the downstream proxy rejects a pre-fetched objected from the list based upon one of a rejection of the list and a discrepancy of the identifiers.
- 20. An apparatus according to claim 14, wherein the criterion in the forwarding step includes one of object size and object type.
- 21. An apparatus according to claim 14, wherein number of objects specified in the list is limited by a configurable threshold.
- 22. An apparatus according to claim 14, wherein the content conforms with a markup language that includes Hypertext Markup Language (HTML).
- 23. An apparatus according to claim 14, wherein the data network includes a Very Small Aperture Terminal (VSAT) satellite network, and the upstream proxy resides in a VSAT terminal in communication with the content server.
- 24. An apparatus according to claim 14, further comprising:
another interface configured to transmit one of the received pre-fetched objects to a browser in response to a request from the browser.
- 25. An apparatus according to claim 14, wherein the downstream proxy is configured to output a log file to maintain statistical information on the proxy service.
- 26. A method for providing a proxy service to retrieve content over a data network from a content server, the method comprising:
receiving a request for the content over the data network from a proxy; generating a list specifying objects that are to be pre-fetched based on the request according to a criterion; transmitting the generated list to the proxy in response to the request; retrieving the objects in the list from the content server; and forwarding the objects on the list to the proxy, wherein the proxy selectively holds a subsequent request associated with an object specified on the list.
- 27. A method according to claim 26, further comprising:
obtaining domain name service (DNS) information associated with the request; and forwarding the DNS information piggybacked on one of the pre-fetched objects.
- 28. A method according to claim 26, further comprising:
receiving a cookie associated with one of the pre-fetched objects; determining whether the received cookie matches that of a cookie provided in the request; and blocking the forwarding of the one pre-fetched object if there is no match.
- 29. A method according to claim 28, wherein the proxy in the forwarding step compares a domain name specified in the request with the cookie associated with the one pre-fetched object.
- 30. A method according to claim 26, further comprising:
assigning a plurality of identifiers corresponding to the objects in the list; and receiving a message from the proxy specifying one of the identifiers to avoid duplicate retrieval of the one corresponding object.
- 31. A method according to claim 30, wherein the proxy in the receiving step rejects a pre-fetched objected from the list based upon one of a rejection of the list and a discrepancy of the identifiers.
- 32. A method according to claim 26, wherein the criterion in the generating step includes one of object size and object type.
- 33. A method according to claim 26, wherein number of objects specified in the list in the forwarding step is limited by a configurable threshold.
- 34. A method according to claim 26, wherein the content conforms with a markup language that includes Hypertext Markup Language (HTML).
- 35. A method according to claim 26, wherein the data network includes a Very Small Aperture Terminal (VSAT) satellite network.
- 36. A method according to claim 26, wherein the proxy in the receiving step transmits one of the pre-fetched objects to a browser in response to a request from the browser.
- 37. A method according to claim 26, further comprising:
outputting a log file to maintain statistical information on the proxy service.
- 38. A computer-readable medium bearing instructions for providing a proxy service to retrieve content over a data network from a content server, said instruction, being arranged, upon execution, to cause one or more processors to perform the method of claim 26.
- 39. A network apparatus for providing a proxy service to retrieve content over a data network from a content server, the apparatus comprising:
an interface configured to receive a request for the content over the data network from a downstream proxy; and an upstream proxy configured to determine a plurality of objects corresponding to the content in response to the request, and to generate a list specifying the objects that are to be pre-fetched according to a criterion, wherein the generated list is transmitted to the downstream proxy in response to the request, the upstream proxy retrieving the objects in the list from the content server, the objects on the list being forwarded to the downstream proxy, wherein the downstream proxy selectively holds a subsequent request associated with an object specified on the list.
- 40. An apparatus according to claim 39, wherein the upstream proxy obtains domain name service (DNS) information associated with the request, and the DNS information is piggybacked on one of the pre-fetched objects to the downstream proxy.
- 41. An apparatus according to claim 39, wherein the upstream proxy receives a cookie associated with one of the pre-fetched objects, and determines whether the received cookie matches that of a cookie provided in the request, the forwarding of the one pre-fetched object blocked if there is no match.
- 42. An apparatus according to claim 41, wherein the downstream proxy compares a domain name specified in the request with the cookie associated with the one pre-fetched object.
- 43. An apparatus according to claim 39, wherein the upstream proxy assigns a plurality of identifiers corresponding to the objects in the list, the upstream proxy receiving a message from the downstream proxy specifying one of the identifiers to avoid duplicate retrieval of the one corresponding object.
- 44. An apparatus according to claim 43, wherein the downstream proxy rejects a pre-fetched objected from the list based upon one of a rejection of the list and a discrepancy of the identifiers.
- 45. An apparatus according to claim 39, wherein the criterion includes one of object size and object type.
- 46. An apparatus according to claim 39, wherein number of objects specified in the list is limited by a configurable threshold.
- 47. An apparatus according to claim 39, wherein the content conforms with a markup language that includes Hypertext Markup Language (HTML).
- 48. An apparatus according to claim 39, wherein the data network includes a Very Small Aperture Terminal (VSAT) satellite network.
- 49. An apparatus according to claim 39, wherein the downstream proxy transmits one of the pre-fetched objects to a browser in response to a request from the browser.
- 50. An apparatus according to claim 39, wherein the upstream proxy is configured to output a log file to maintain statistical information on the proxy service.
- 51. A system for supporting retrieval of a web page over a data network from a web site, the system comprising:
a downstream proxy configured to receive a request message from a browser to retrieve the web page; and an upstream proxy configured to parse the web page to determine an object embedded in the web page, wherein a promise list is generated specifying the embedded object that is to be pre-fetched according to a criterion, the promise list being transmitted to the downstream proxy, wherein the upstream proxy pre-fetches the embedded object from the web site, wherein the upstream proxy determines whether to forward one of the pre-fetched embedded object to the downstream proxy based on a comparison of cookies associated with one of the pre-fetched objects supplied, respectively, by the browser and the web site.
- 52. A system for supporting retrieval of a web page over a data network from a web site, the system comprising:
a first proxying means for receiving a request message from a browser to retrieve the web page; and an second proxying means for parsing the web page to determine an object embedded in the web page, wherein a promise list is generated specifying the embedded object that is to be pre-fetched according to a criterion, the promise list being transmitted to the first proxying means, wherein the second proxying means pre-fetches the embedded object from the web site, wherein the second proxying means determines whether to forward one of the pre-fetched embedded object to the first proxying means based on a comparison of cookies associated with one of the pre-fetched objects supplied, respectively, by the browser and the web server.
RELATED APPLICATIONS
[0001] This application is related to, and claims the benefit of the earlier filing date under 35 U.S.C. §119(e) of, U.S. Provisional Patent Application (Serial No. 60/409,737) filed Sep. 11, 2002 (Attorney Docket: PD-202114), entitled “System and Method for Pre-fetching Content in a Proxy Architecture”; the entirety of which is incorporated herein by reference.
Provisional Applications (1)
|
Number |
Date |
Country |
|
60409737 |
Sep 2002 |
US |