IPC분류정보
국가/구분 |
United States(US) Patent
등록
|
국제특허분류(IPC7판) |
|
출원번호 |
US-0685134
(2007-03-12)
|
등록번호 |
US-8504775
(2013-08-06)
|
발명자
/ 주소 |
|
출원인 / 주소 |
|
대리인 / 주소 |
|
인용정보 |
피인용 횟수 :
56 인용 특허 :
233 |
초록
▼
The present solution provides techniques that may accelerate and optimize network traffic in the areas of proxy caching, protocol acceleration, domain name resolution acceleration, and compression improvements using prefetching and/or prefreshening techniques to improve intermediary caching. Techniq
The present solution provides techniques that may accelerate and optimize network traffic in the areas of proxy caching, protocol acceleration, domain name resolution acceleration, and compression improvements using prefetching and/or prefreshening techniques to improve intermediary caching. Techniques described herein may improve the efficiency of obtaining and servicing data from originating servers to requesting clients and accelerates domain name resolution. The present solution may further help accelerate resolution of URLs into IP addresses. The present solution may improve compression techniques by prefetching non-cacheable and cacheable content to use for compressing network traffic, such as HTTP. The acceleration and optimization techniques described herein may be deployed on the client as a client agent or as part of a browser, as well as on any type and form of intermediary device, such as an appliance, proxying device or any type of interception caching and/or proxying device.
대표청구항
▼
1. A method for refreshing cached objects based on user requests for pages identifying the cached objects, the method comprising: (a) receiving, by a device, a page via a network, the page identifying an object via a uniform resource locator (URL);(b) forwarding, by the device, the page to a user re
1. A method for refreshing cached objects based on user requests for pages identifying the cached objects, the method comprising: (a) receiving, by a device, a page via a network, the page identifying an object via a uniform resource locator (URL);(b) forwarding, by the device, the page to a user requesting the page;(c) determining, by the device, that the object identified by the URL of the forwarded page is stored in a cache of the device and determining from the cache that a remaining time to expiration of the object in the cache is within a predetermined threshold prior to expiration of the object in the cache and a size of the object is larger than a predetermined size established for prefetching;(d) transmitting, by the device responsive to the determination that the remaining time to expiration of the object in the cache is within the predetermined threshold prior to expiration of the object in the cache, a request for a status of the object to a remote object server prior to the user requesting the object from the page and prior to expiration of the object stored in the cache; and(e) updating, by the device, the object in the cache responsive to receiving a response to the request for the status of the object. 2. The method of claim 1, wherein step (d) further comprises transmitting, by the device to the remote object server, responsive to the determination, a conditional request to retrieve the object. 3. The method of claim 1, further comprising receiving, by the device, in response to the request, an indication from the remote object server that the object is valid. 4. The method of claim 1, further comprising receiving, by the device, in response to the request, an updated version of the object from the remote object server. 5. The method of claim 1, wherein step (c) further comprises determining, by the device, an expiry of the object has expired. 6. The method of claim 1, wherein step (c) further comprises determining, by the device, that bandwidth availability between the device and the remote object server is within a predetermined threshold, and transmitting the request for the status of the object in response to the determination. 7. The method of claim 1, further comprising determining, by the device, that the remote object server is not available to provide the object, and not serving the object from the cache in response to the determination. 8. The method of claim 1, further comprising determining, by the device, that the remote object server does not allow the user access to the object, and not serving the object from the cache in response to the determination. 9. The method of claim 8, wherein step (d) further comprises not transmitting, by the device, the request to the remote object server in response to the determination. 10. The method of claim 1 wherein step (c) further comprises determining that the object exists in the cache and that a status identifier associated with the object indicates that the object is valid. 11. The method of claim 1, wherein step (c) further comprises determining that a size of the object is below a predetermined threshold and transmitting the request for the status of the object to the remote object server in response to the determination. 12. The method of claim 1, further comprising identifying, by the device, one or more levels of the page having objects, determining objects at each of the one or more levels are located in the cache, and transmitting requests for a status of the objects to the remote object server in response to the determination. 13. The method of claim 12, further comprising transmitting, by the device, the requests prior to the user requesting a level from the one or more levels of the page. 14. The method of claim 1, further comprising identifying, by the device, the request to the remote object server as a speculative request. 15. The method of claim 1, wherein the device comprises one of a client or a server. 16. The method of claim 1, wherein the device comprises an appliance intercepting and forwarding communications between a client and a server. 17. A device for refreshing cached objects based on user requests for pages identifying the object, the device comprising: means for receiving a page via a network, the page identifying an object via a uniform resource locator (URL);means for forwarding the page to a user requesting the page;means for determining that the object identified by the URL of the forwarded page is stored in a cache of the device and determining from the cache that a remaining time to expiration of the object in the cache is within a predetermined threshold prior to expiration of the object in the cache and a size of the object is larger than a predetermined size established for prefetching;means for transmitting, responsive to the determination that the remaining time to expiration of the object in the cache is within the predetermined threshold prior to expiration of the object in the cache, a request for a status of the object to a remote object server prior to the user requesting the object from the page and prior to expiration of the object stored in the cache; andmeans for updating the object in the cache responsive to receiving a response to the request for the status of the object. 18. The device of claim 17, wherein the device transmits to the remote object server, responsive to the determination, a conditional request to retrieve the object. 19. The device of claim 17, wherein the device receives in response to the request an indication from the remote object server that the object is valid. 20. The device of claim 17, wherein the device receives in response to the request an updated version of the object from the remote object server. 21. The device of claim 17, wherein the device determines an expiry of the object has expired. 22. The device of claim 17, wherein the device determines that bandwidth availability between the device and the remote object server is within a predetermined threshold, and transmits the request for the status of the object in response to the determination. 23. The device of claim 17, wherein the device determines that the remote object server is not available to provide the object, and does not serve the object from the cache in response to the determination. 24. The device of claim 17, wherein the device determines that the remote object serve does not allow the user access to the object, and does not server the object from the cache in response to the determination. 25. The device of claim 24, wherein the device does not transmit the request to the remote object server in response to the determination. 26. The device of claim 17, wherein the device comprises determining that the object exists in the cache and that a status identifier associated with the object indicates that the object is valid. 27. The device of claim 17, wherein the device determines that a size of the object is below a predetermined threshold and transmits the request for the status of the object to the remote object server in response to the determination. 28. The device of claim 17, wherein the device identifies one or more levels of the page having objects, determining objects at each of the one or more levels are located in the cache, and transmits requests for a status of the objects to the remote object server in response to the determination. 29. The device of claim 28, wherein the device transmits the requests prior to the user requesting a level from the one or more levels of the page. 30. The device of claim 17, wherein the device identifies the request to the remote object server as a speculative request. 31. The device of claim 17, wherein the device comprises one of a client or a server. 32. The device of claim 17, wherein the device intercepts and forwards communications between a client and a server. 33. In a networked environment including a network appliance acting as a proxy between a client requesting pages and a server responding to client requests, a method for refreshing objects cached by the appliance, the method comprising: (a) receiving, by the appliance, a page transmitted by a server to a client in response to a request from a user of the client, the page identifying an object via a uniform resource locator (URL);(b) forwarding, by the appliance, the intercepted page to the client;(c) determining, by a cache manager of the appliance, that the object identified by the URL of the forwarded page is stored in a cache of the appliance and determining from the cache that a remaining time to expiration of the object in the cache is within a predetermined threshold prior to expiration of the object in the cache and a size of the object is larger than a redetermined size established for prefetching;(d) transmitting, by the appliance, responsive to the determination that the remaining time to expiration of the object in the cache is within the predetermined threshold prior to expiration of the object in the cache, a request for a status of the object to the server prior to the user of the client requesting the object from the page and prior to expiration of the object stored in the cache; and(e) updating, by the appliance, the object in the cache responsive to a response to the request for the status of the object. 34. The method of claim 33, further comprising transmitting, by the appliance, to the server, responsive to the determination, a conditional request to retrieve the object. 35. The method of claim 33, further comprising receiving, by the appliance, in response to the request, an indication from the remote object server that the object is valid. 36. The method of claim 33, further comprising receiving, by the appliance, in response to the request, an updated version of the object from the remote object server. 37. The method of claim 33, further comprises determining, by the cache manager, an expiry of the object has expired. 38. The method of claim 33, further comprises determining, by the cache manager, that bandwidth availability between the appliance and the remote object server is within a predetermined threshold, and transmitting, by the appliance, the request for the status of the object in response to the determination. 39. The method of claim 33, further comprising determining, by the appliance, that the server is not available to provide the object, and not serving the object from the cache in response to the determination. 40. The method of claim 33, further comprising determining, by the appliance, that the server does not allow the user access to the object, and not serving the object from the cache in response to the determination. 41. The method of claim 33, further comprising determining, by the cache manager, the object exists in the cache and that a status identifier associated with the object indicates that the object is valid. 42. The method of claim 41, further comprising not transmitting, by the appliance, the request to the remote in response to the determination. 43. The method of claim 33, further comprising determining, by the cache manager, that a size of the object in the cache is below a predetermined threshold and transmitting by the appliance the request for the status of the object to the remote object server in response to the determination. 44. The method of claim 33, further comprising identifying, by the appliance, one or more levels of the page having objects, determining, by the cache manager, objects at each of the one or more levels are located in the cache, and transmitting, by the appliances, requests for a status of the objects to the server in response to the determination. 45. The method of claim 33, further comprising transmitting, by the appliance, the requests prior to the user requesting a level from the one or more levels of the page. 46. The method of claim 33, further comprising identifying, by the appliance, the request to the server as a speculative request. 47. A method for refreshing, by an intermediary device, an object in a cache of the intermediary device upon a user request for a page identifying the object, the method comprising: (a) receiving, by an intermediary device from a server, a page in response to a first request for the page by a user, the page identifying an object via a uniform resource locator (URL);(b) determining, by the intermediary device, based on the received page that the object identified by the URL of the page is stored in a cache of the intermediary device and that a size of the object is larger than a predetermined size established for prefetching;(c) transmitting, by the intermediary device, responsive to the determination and prior to the user requesting the object, a second request to the server to obtain hypertext transfer protocol (HTTP) header information of the object;(d) prefetching, by the intermediary device prior to expiration of the object stored in the cache, from the server the object based on the HTTP header information of the object received from the server responsive to the second request, the HTTP header information indicating an updated version of the object;(e) storing, by the intermediary device in the cache, the updated version of the prefetched object;(f) determining, by the intermediary device, that a second object identified by a second URL of a second received page is stored in the cache of the intermediary device and that the second object's size is smaller than the predetermined size established for prefetching and responsive to the second object's size being smaller than the predetermined size for prefetching, not transmitting to the server a request to obtain HTTP header information of the second object.
※ AI-Helper는 부적절한 답변을 할 수 있습니다.