IP Library Granted Patent US 7,359,395
Granted Patent B2
US 7,359,395 · App. 10/870,705 · Granted Apr 15, 2008

Pre-fetch communication systems and methods

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,359,395
App. No.
10/870,705
Granted
Apr 15, 2008
Kind
B2
Abstract

The present invention relates to telecommunications devices, systems and methods for providing improved performance over long latency communications links. Some embodiments selectively pre-fetch and transmit information over the link using improved protocol and pre-fetch mechanisms. One system includes a first gateway ( 430 ) adapted to communicate with a client ( 410 ), the first gateway including a processor coupled to a storage medium. The storage medium includes code for receiving a request for retrieving a web object, code for forwarding the request to a second gateway ( 440 ) over the long latency link, and code for receiving a pre-fetch announcement and response data for the web object from the second gateway. The pre-fetch announcement is received prior to receiving the response data.

Claims (44)

1. A method of communicating over a communications link, the method comprising:

receiving, from a first gateway, a request for a base web object, wherein the base web object identifies one or more referenced web objects therein;

retrieving the base web object;

parsing the base web object to identify one or more referenced web objects to be pre-fetched;

constructing, and transmitting to the first gateway, a pre-fetch announcement identifying the one or more referenced web objects to be pre-fetched wherein the pre-fetch announcement comprises, for each referenced web object to be pre-fetched, a matching program comprising a data locator for the referenced web object and one or more operation codes operative to how requests for a given reference web object are to be matched to the referenced web objects to be pre-fetched; and

subsequent to constructing and transmitting the pre-fetch announcement, transmitting the base web object to the first gateway.

2. A method comprising:

receiving, from a first gateway, a request for a base web object;

retrieving the base web object;

parsing the base web object to identify one or more referenced web objects to be pre-fetched;

for each referenced web object to be pre-fetched, constructing a matching program comprising a data locator for the referenced web object, one or more operation codes and, one or more operands;

sending, to the first gateway, a pre-fetch announcement and subsequently the base web object, wherein the pre-fetch announcement includes the matching programs for at least one of the one or more referenced web objects to be pre-fetched;

pre-fetching the one or more referenced web objects; and

sending the one or more pre-fetched web objects to the first gateway, wherein the first gateway is operative to

receive client requests for the one or more referenced web objects;

match the client requests to the pre-fetched referenced web objects by applying the corresponding matching programs associated with the pre-fetched referenced web objects against request headers of the client requests and executing the one or more operation codes in the respective matching programs.

3. The method as in claim 2 further comprising receiving a pre-fetch limit indicator from the first gateway, and wherein the number of pre-fetched referenced web objects is limited by the pre-fetch limit indicator.

4. The method as in claim 3 wherein the pre-fetch limit indicator comprises a limit on a pre-fetch connection data amount.

5. The method as in claim 3 further comprising receiving an updated pre-fetch limit indicator.

6. The system in claim 2 wherein the operation codes include an operation code for a cookie match operation.

7. A system for communicating over a communications link, the system comprising:

a first gateway adapted to communicate with a client, the first gateway comprising a processor coupled to a storage medium, the storage medium comprising:

code for receiving a request for a base web object, wherein the base web object identifies one or more referenced web objects therein;

code for forwarding the request to a second gateway over the link;

code for receiving, at the first gateway from the second gateway, a pre-fetch announcement identifying at least one of the one or more referenced web objects and the base web object, wherein the base web object is transmitted from the second gateway subsequent to the pre-fetch announcement, and wherein the pre-fetch announcement comprises, for each referenced web object to be pre-fetched, constructing a matching program comprising a data locator for the referenced web object, one or more operation codes and, one or more operands;

code for receiving, at the first gateway from the second gateway, the one or more referenced web objects;

code for receiving client requests for the one or more referenced web objects; and

code for matching the client requests to the pre-fetched referenced web objects by applying the corresponding matching programs associated with the pre-fetched referenced web objects against request headers of the client requests and executing the one or more operation codes in the respective matching programs.

8. The system as in claim 7 wherein the storage medium comprises a resolver cache.

9. The system as in claim 7 further comprising a second gateway adapted to communicate with a server, the second gateway comprising a processor coupled to a storage medium, the storage medium comprising:

code for receiving the request for retrieving the base web object;

code for retrieving the web object and parsing the base web object for one or more referenced web objects to pre-fetch;

code for creating and forwarding the pre-fetch announcement to the first gateway; and

code for retrieving the one or more referenced web objects from a target server.

10. The system as in claim 9 wherein the pre-fetch announcement comprises one or more response matching programs facilitating matching of the referenced web objects to the matching programs.

11. The system in claim 7 wherein the operation codes include an operation code for a cookie match operation.

12. A method comprising:

receiving, at a first gateway, a client request for a base web object, wherein the base web object identifies a referenced web object therein;

forwarding the client request to a second gateway;

receiving, from the second gateway, a pre-fetch announcement for the referenced web object including a request match header, wherein the request match header comprises a matching program, wherein the matching program comprises a data locator for the referenced web object, one or more operation codes and one or more operands;

receiving the referenced web object from the second gateway;

receiving a second client request for the referenced web object, wherein the second client request includes a request header including second data locator; and

matching the second client request to the referenced web object by applying the matching program against the request header of the second client request and executing the one or more operation codes in the matching program.

13. The method in claim 12 wherein the operation codes include an operation code for a cookie match operation.

Assignments (13)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 21, 2019
From: SYMANTEC CORPORATION
To: CA, INC.
Reel/Frame 051144/0918 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 27, 2016
From: BLUE COAT SYSTEMS, INC.
To: SYMANTEC CORPORATION
Reel/Frame 039851/0044 →
RELEASE OF SECURITY INTEREST Recorded Aug 1, 2016
From: JEFFERIES FINANCE LLC
To: BLUE COAT SYSTEMS, INC.
Reel/Frame 039516/0929 →
RELEASE OF SECURITY INTEREST IN PATENT COLLATERAL AT REEL/FRAME NO. 30740/0181 Recorded May 29, 2015
From: JEFFERIES FINANCE LLC
To: BLUE COAT SYSTEMS, INC.
Reel/Frame 035797/0280 →
RELEASE OF SECURITY INTEREST IN PATENT COLLATERAL AT REEL/FRAME NO. 27727/0144 Recorded May 29, 2015
From: JEFFERIES FINANCE LLC
To: BLUE COAT SYSTEMS, INC.
Reel/Frame 035798/0006 →
SECURITY INTEREST Recorded May 22, 2015
From: BLUE COAT SYSTEMS, INC.
To: JEFFERIES FINANCE LLC, AS THE COLLATERAL AGENT
Reel/Frame 035751/0348 →
SECOND LIEN PATENT SECURITY AGREEMENT Recorded Jul 3, 2013
From: BLUE COAT SYSTEMS, INC.
To: JEFFERIES FINANCE LLC, AS COLLATERAL AGENT
Reel/Frame 030740/0181 →
RELEASE OF SECURITY INTEREST IN PATENT COLLATERAL RECORDED AT R/F 027727/0178 Recorded Oct 16, 2012
From: JEFFERIES FINANCE LLC, AS COLLATERAL AGENT
To: BLUE COAT SYSTEMS, INC.
Reel/Frame 029140/0170 →
SECOND LIEN PATENT SECURITY AGREEMENT Recorded Feb 16, 2012
From: BLUE COAT SYSTEMS, INC.
To: JEFFERIES FINANCE LLC
Reel/Frame 027727/0178 →
FIRST LIEN PATENT SECURITY AGREEMENT Recorded Feb 16, 2012
From: BLUE COAT SYSTEMS, INC.
To: JEFFERIES FINANCE LLC
Reel/Frame 027727/0144 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 1, 2011
From: PACKETEER, INC.
To: BLUE COAT SYSTEMS, INC.
Reel/Frame 027307/0603 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 25, 2005
From: MENTAT INC.
To: PACKETEER, INC.
Reel/Frame 015788/0559 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 19, 2004
From: TOPOREK, JEROME D.; DYE, MARC S.; MCCOOEY, JEREMY A.
To: MENTAT INC.
Reel/Frame 015110/0208 →