Method for accelerating delivery of content in a computer network
First Claim
1. In a communications network, a method for accelerating delivery of data comprising:
- a) receiving a request for data from a client'"'"'s Web browser at client network software associated with a first cache containing data sent to the client, said request directed to a data source in the communications network, wherein the data source is a content provider, a content provider proxy, or a network hub intermediating between the first proxy and the con-tent provider, the hub having a second cache containing data transmitted from the content provider through the hub;
b) determining whether content corresponding to the requested URL is already in the first cache and, if soi) returning the content to the client'"'"'s browser;
otherwiseii) determining whether the requested URL matches a pattern of other URLs in the first cache and, if soA) returning content corresponding to a pattern-matching URL to the client'"'"'s browser;
otherwiseB) requesting the data from the data source, said request sent from the client network software;
C) receiving requested data from the data source at the client network software;
D) determining whether a URL corresponding to the requested data matches a pattern of other URLs stored in the first cache and determining whether the URL which matches the pattern of other URLs stored in the first cache has an expiration time which less than a predetermined period of expiration time, said determination of expiration time performed prior to returning the requested data to the client'"'"'s browser; and
E) returning the requested data to the client'"'"'s browser if the corresponding URL does not match the pattern of other URLs stored in the first cache, otherwise adding the content corresponding to the URL to the first cache before returning the requested data to the client'"'"'s browser.
1 Assignment
0 Petitions
Accused Products
Abstract
A method of reducing network congestion and service latency associated with downloading Web pages containing third party advertisements. In one embodiment, pattern recognition algorithms are employed to determine whether a request for a URL may be satisfied by the content associated with a URL which is contained in the client'"'"'s cache; if there is a pattern match, the cached contents associated with the URL are delivered to the browser to satisfy the request. In another embodiment, images associated with HTML snippet ads are requested and cached by client software before they are requested by the browser downloading the Web page where the images will be displayed. In a third embodiment, latency is reduced by “time shifting,” wherein a cached ad is displayed while client software requests and caches the ad originally requested ad, which will be shown the next time the URL is requested. In other embodiments, this time-shifting technique may also be combined with the pattern-recognition technique and the approach to accelerating delivery of HTML snippet ads.
-
Citations
54 Claims
-
1. In a communications network, a method for accelerating delivery of data comprising:
-
a) receiving a request for data from a client'"'"'s Web browser at client network software associated with a first cache containing data sent to the client, said request directed to a data source in the communications network, wherein the data source is a content provider, a content provider proxy, or a network hub intermediating between the first proxy and the con-tent provider, the hub having a second cache containing data transmitted from the content provider through the hub; b) determining whether content corresponding to the requested URL is already in the first cache and, if so i) returning the content to the client'"'"'s browser;
otherwiseii) determining whether the requested URL matches a pattern of other URLs in the first cache and, if so A) returning content corresponding to a pattern-matching URL to the client'"'"'s browser;
otherwiseB) requesting the data from the data source, said request sent from the client network software; C) receiving requested data from the data source at the client network software; D) determining whether a URL corresponding to the requested data matches a pattern of other URLs stored in the first cache and determining whether the URL which matches the pattern of other URLs stored in the first cache has an expiration time which less than a predetermined period of expiration time, said determination of expiration time performed prior to returning the requested data to the client'"'"'s browser; and E) returning the requested data to the client'"'"'s browser if the corresponding URL does not match the pattern of other URLs stored in the first cache, otherwise adding the content corresponding to the URL to the first cache before returning the requested data to the client'"'"'s browser. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13)
-
-
14. In a communications network, a method for accelerating delivery of data comprising:
-
a) receiving a first request for a first set of data from a client'"'"'s Web browser at client network software associated with a first cache containing data sent to the client, said request directed to a first data source in the communications network, wherein the data source is a content provider, a content provider proxy, or a network hub intermediating between the first proxy and the content provider, the hub having a second cache containing data transmitted from the content provider through the hub; b) requesting the first set of data from the first data source, said request sent from the client network software; c) receiving requested first set of data from the first data source at the client;
network software;d) determining which URLs in the first set of data correspond to a second data source, wherein the second data source is a second content provider, a second content provider proxy, or a second network hub intermediating between the first proxy and the second content provider, the hub having a third cache containing data transmitted from the second content provider through the hub, wherein the determination of which URLs in the first set of data correspond to the second data source is made by a pattern-matching algorithm which is created manually on a by-domain basis after examining the requested URL; e) combining all requests for a second set of data from the second data source in a second request; f) sending said second request to the second data source; g) receiving the requested second set data from the second data source at the client network software; h) parsing out requests for images contained in the second set of requested data; i) determining whether requested images are contained in the first cache; j) combining all requests for images not contained in the first cache in a third request; k) sending said third request to the second data source; l) receiving requested images from the second data source at the client network software; and m) adding requested images to the first cache, wherein an image requested by the client'"'"'s browser is supplied by the first cache. - View Dependent Claims (15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28)
-
-
29. In a communications network, a method for accelerating delivery of data comprising:
-
a) receiving a request for a first set of data from a client'"'"'s Web browser at client network software associated with a first cache containing data sent to the client, wherein the first set of data is a member of a group having sets of data that are serially presented, and wherein the data source is a content provider, a content provider proxy, or a network hub intermediating between the client and the content provider, the hub having a second cache containing data transmitted from the content provider through the hub; b) determining whether the first set of data is contained in the first cache, and if so i) returning the cached set of data to the client'"'"'s browser, requesting a second set of data from the data source, wherein the second set of data is also a member of the group having sets of data that are serially presented, and wherein the second set of data is to be shown subsequent to the first set of data, receiving the second set of data at the client network software, and caching the second set of data in the first cache;
otherwiseii) determining whether a URL corresponding to the request for the first set of data matches a pattern of other URLs stored in the first cache wherein a standard pattern-matching algorithm is used to determine whether the URL corresponding to the request for the first set of data matches a pattern of other URLs stored in the first cache, and further determining whether the URL which matches the pattern of other URLs stored in the first cache has an expiration time which is less than a predetermined period of expiration time, said determination of expiration time performed prior to returning the requested data to the client'"'"'s browser, and if so A) returning data corresponding to the pattern-matching URL to the client'"'"'s browser, requesting the first set of data from the data source, receiving the first set;
of data at client network software, and caching the first set of data in the first cache;
otherwiseB) requesting the first set of data from the data source, receiving the first set of data at the client network software, returning the first set of data to the client'"'"'s browser, and caching the first set of data in the first cache. - View Dependent Claims (30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40)
-
-
41. In a communications network, a method for accelerating delivery of data comprising:
-
a) receiving a first request for a first set of data from a client'"'"'s Web browser at client network software associated with a first cache containing data transmitted to the client, wherein the first data source is a content provider, a content provider proxy, or a network hub intermediating between the client and the content provider, the hub having a second cache containing data transmitted from the content provider through the hub; b) returning a second set of data to the clients browser, wherein a first URL corresponding to the second set of data matches a pattern of a second URL corresponding to the first request, said second set of data stored in first cache, wherein a pattern matching algorithm is created manually on a by-domain basis after examining the requested URL, the manually-created pattern-matching algorithm is used to determined whether the first URL corresponding to the second set of data matches the pattern of the second URL, the first URL having an expiration time which is less than a predetermined period of expiration time; c) requesting the first set of data from the first data source, said request sent from the client network software; d) receiving the requested first set of data from the first data source; e) parsing out requests for images contained in the first set of data; f) determining whether requested images are contained in the first cache; g) combining all requests for images not contained in the first cache in a second request; h) sending said second request to a second data source, wherein the second data source is a second content provider, a second content provider proxy, or a second network hub intermediating between the client and the second content provider, the second hub having third cache containing data transmitted from the second content provider through the second hub; i) receiving requested images from the second data source; and j) adding requested images to the first cache, wherein an image requested by the client'"'"'s browser is supplied by the first cache. - View Dependent Claims (42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54)
-
Specification