IP Library Granted Patent US 10,375,197
Granted Patent B2
US 10,375,197 · App. 15/375,010 · Granted Aug 6, 2019

Dynamic key generation for identifying data segments

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 10,375,197
App. No.
15/375,010
Granted
Aug 6, 2019
Kind
B2
Abstract

Systems and techniques are described for caching resources. Multiple distinct resource identifiers that correspond to the same resource can be automatically collected, wherein the multiple distinct resource identifiers are included in resource requests that are sent from at least one client to at least one server. Next, a key can be automatically determined that matches the multiple distinct resource identifiers by analyzing the multiple distinct resource identifiers. A resource request can be received from a client that includes a resource identifier, and in response to determining that the resource identifier matches the key, the resource can be sent to the client.

Claims (47)

1. A method for resource caching based on dynamic key generation, the method comprising:

a caching device automatically collecting multiple distinct resource identifiers that correspond to a resource, wherein the multiple distinct resource identifiers are included in resource requests that are sent from at least one client to at least one server, and wherein the caching device is located on a network path between the at least one client and the at least one server;

the caching device automatically determining a key that matches the multiple distinct resource identifiers by analyzing the multiple distinct resource identifiers;

the caching device receiving a resource request from a client that includes a resource identifier; and

in response to the caching device determining that the resource identifier matches the key, the caching device sending the resource to the client.

2. The method of claim 1 , wherein each resource request is a Hypertext Transfer Protocol (HTTP) request.

3. The method of claim 2 , wherein each resource identifier includes a sequence of parameter values.

4. The method of claim 3 , wherein said automatically determining the key that matches the multiple distinct resource identifiers by analyzing the multiple distinct resource identifiers comprises:

identifying common parameter values that are common to all of the multiple distinct resource identifiers; and

determining the key based on the common parameter values.

5. The method of claim 1 , wherein said automatically collecting the multiple distinct resource identifiers that correspond to the resource comprises:

monitoring the resource requests and resources that are communicated between the at least one client and the at least one server;

computing a hash value for each resource based on contents of the resource, wherein each hash value is used to uniquely identify each unique resource; and

collecting distinct resource identifiers in the resource requests that correspond to resources with the same hash value.

6. The method of claim 1 , wherein said automatically collecting the multiple distinct resource identifiers comprises collecting a sufficient number of distinct resource identifiers so that a diversity condition is satisfied by the collected distinct resource identifiers.

7. A non-transitory computer-readable storage medium storing instructions that, when executed by a caching device, cause the caching device to perform a method for resource caching based on dynamic key generation, the method comprising:

automatically collecting multiple distinct resource identifiers that correspond to a resource, wherein the multiple distinct resource identifiers are included in resource requests that are sent from at least one client to at least one server, and wherein the caching device is located on a network path between the at least one client and the at least one server;

automatically determining a key that matches the multiple distinct resource identifiers by analyzing the multiple distinct resource identifiers;

receiving a resource request from a client that includes a resource identifier; and

in response to determining that the resource identifier matches the key, sending the resource to the client.

8. The non-transitory computer-readable storage medium of claim 7 , wherein each resource request is a Hypertext Transfer Protocol (HTTP) request.

9. The non-transitory computer-readable storage medium of claim 8 , wherein each resource identifier includes a sequence of parameter values.

10. The non-transitory computer-readable storage medium of claim 9 , wherein said automatically determining the key that matches the multiple distinct resource identifiers by analyzing the multiple distinct resource identifiers comprises:

identifying common parameter values that are common to all of the multiple distinct resource identifiers; and

determining the key based on the common parameter values.

11. The non-transitory computer-readable storage medium of claim 7 , wherein said automatically collecting the multiple distinct resource identifiers that correspond to the resource comprises:

monitoring the resource requests and resources that are communicated between the at least one client and the at least one server;

computing a hash value for each resource based on contents of the resource, wherein each hash value is used to uniquely identify each unique resource; and

collecting distinct resource identifiers in the resource requests that correspond to resources with the same hash value.

12. The non-transitory computer-readable storage medium of claim 7 , wherein said automatically collecting the multiple distinct resource identifiers comprises collecting a sufficient number of distinct resource identifiers so that a diversity condition is satisfied by the collected distinct resource identifiers.

13. A caching device, comprising:

a processor; and

a non-transitory computer-readable storage medium storing instructions that, when executed by the processor, cause the caching device to perform a method for resource caching based on dynamic key generation, the method comprising:

automatically collecting multiple distinct resource identifiers that correspond to a resource, wherein the multiple distinct resource identifiers are included in resource requests that are sent from at least one client to at least one server, and wherein the caching device is located on a network path between the at least one client and the at least one server;

automatically determining a key that matches the multiple distinct resource identifiers by analyzing the multiple distinct resource identifiers;

receiving a resource request from a client that includes a resource identifier; and

in response to determining that the resource identifier matches the key, sending the resource to the client.

14. The caching device of claim 13 , wherein each resource request is a Hypertext Transfer Protocol (HTTP) request.

15. The caching device of claim 14 , wherein each resource identifier includes a sequence of parameter values.

16. The caching device of claim 15 , wherein said automatically determining the key that matches the multiple distinct resource identifiers by analyzing the multiple distinct resource identifiers comprises:

identifying common parameter values that are common to all of the multiple distinct resource identifiers; and

determining the key based on the common parameter values.

17. The caching device of claim 13 , wherein said automatically collecting the multiple distinct resource identifiers that correspond to the resource comprises:

monitoring the resource requests and resources that are communicated between the at least one client and the at least one server;

computing a hash value for each resource based on contents of the resource, wherein each hash value is used to uniquely identify each unique resource; and

collecting distinct resource identifiers in the resource requests that correspond to resources with the same hash value.

18. The caching device of claim 13 , wherein said automatically collecting the multiple distinct resource identifiers comprises collecting a sufficient number of distinct resource identifiers so that a diversity condition is satisfied by the collected distinct resource identifiers.

Assignments (2)
RELEASE OF SECURITY INTEREST Recorded Aug 11, 2023
From: ALTER DOMUS (US) LLC, AS COLLATERAL AGENT
To: RIVERBED TECHNOLOGY, INC.; ATERNITY LLC; RIVERBED HOLDINGS, INC.
Reel/Frame 064673/0739 →
SECURITY INTEREST Recorded May 26, 2021
From: RIVERBED HOLDINGS, INC.; RIVERBED TECHNOLOGY, INC.; ATERNITY LLC
To: MACQUARIE CAPITAL FUNDING LLC
Reel/Frame 056397/0750 →