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 (14)
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 →
CHANGE OF NAME Recorded Feb 18, 2022
From: RIVERBED TECHNOLOGY, INC.
To: RIVERBED TECHNOLOGY LLC
Reel/Frame 059232/0551 →
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS Recorded Dec 27, 2021
From: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS U.S. COLLATERAL AGENT
To: RIVERBED TECHNOLOGY, INC.; ATERNITY LLC
Reel/Frame 058593/0169 →
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS Recorded Dec 27, 2021
From: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
To: RIVERBED TECHNOLOGY, INC.; ATERNITY LLC
Reel/Frame 058593/0046 →
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS Recorded Dec 27, 2021
From: ALTER DOMUS (US) LLC, AS COLLATERAL AGENT
To: RIVERBED TECHNOLOGY, INC.; ATERNITY LLC
Reel/Frame 058593/0108 →
SECURITY INTEREST Recorded Dec 10, 2021
From: RIVERBED TECHNOLOGY LLC (FORMERLY RIVERBED TECHNOLOGY, INC.); ATERNITY LLC
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS U.S. COLLATERAL AGENT
Reel/Frame 058486/0216 →
PATENT SECURITY AGREEMENT Recorded Oct 27, 2021
From: RIVERBED TECHNOLOGY, INC.; ATERNITY LLC
To: WILMINGTON TRUST, NATIONAL ASSOCIATION
Reel/Frame 057943/0386 →
PATENT SECURITY AGREEMENT SUPPLEMENT - FIRST LIEN Recorded Oct 14, 2021
From: RIVERBED HOLDINGS, INC.; RIVERBED TECHNOLOGY, INC.; ATERNITY LLC
To: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
Reel/Frame 057810/0502 →
PATENT SECURITY AGREEMENT SUPPLEMENT - SECOND LIEN Recorded Oct 14, 2021
From: RIVERBED HOLDINGS, INC.; RIVERBED TECHNOLOGY, INC.; ATERNITY LLC
To: ALTER DOMUS (US) LLC, AS COLLATERAL AGENT
Reel/Frame 057810/0559 →
RELEASE OF SECURITY INTEREST IN PATENTS RECORED AT REEL 056397, FRAME 0750 Recorded Oct 13, 2021
From: MACQUARIE CAPITAL FUNDING LLC
To: RIVERBED HOLDINGS, INC.; RIVERBED TECHNOLOGY, INC.; ATERNITY LLC
Reel/Frame 057983/0356 →
SECURITY INTEREST Recorded May 26, 2021
From: RIVERBED HOLDINGS, INC.; RIVERBED TECHNOLOGY, INC.; ATERNITY LLC
To: MACQUARIE CAPITAL FUNDING LLC
Reel/Frame 056397/0750 →
PATENT SECURITY AGREEMENT Recorded Mar 5, 2021
From: RIVERBED TECHNOLOGY, INC.
To: ALTER DOMUS (US) LLC, AS COLLATERAL AGENT
Reel/Frame 055514/0249 →
PATENT SECURITY AGREEMENT Recorded Jul 10, 2019
From: RIVERBED TECHNOLOGY, INC.
To: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
Reel/Frame 049720/0808 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 5, 2017
From: BORAH, HEMANGA KRISHNA; LAKSHMANA, MANJUNATH CHINNI
To: RIVERBED TECHNOLOGY, INC.
Reel/Frame 040859/0407 →