IP Library Granted Patent US 9,462,075
Granted Patent B2
US 9,462,075 · App. 14/041,785 · Granted Oct 4, 2016

Encrypted cached content system

Inventor: Samuel Liddicott (Wakefield, GB)
Assignee: Dell Products L.P.
H04L67/2852H04L63/12
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 9,462,075
App. No.
14/041,785
Granted
Oct 4, 2016
Kind
B2
Abstract

An encrypted cached content system includes a user IHS, a content provider IHS, and a caching IHS. The caching IHS includes a caching engine that is configured to receive a content request from the user IHS. The caching engine generates a user-side key using content identifying information in the content request, and forwards the content request to the content provider IHS over a network as a content partial information request. In response to receiving a content partial information response from the content provider IHS over a network, the caching engine generates a content-provider-side key using header information in the content partial information response. The caching engine performs a hashing operation on the content request using a combination of the user-side key and the content-provider-side key to produce a hashed content request, and uses the hashed content request to retrieve content from the cache.

Claims (80)

1. An encrypted cached content system, comprising:

a user information handling system (IHS);

a content provider IHS; and

a caching IHS connected to each of the user IHS and the content provider IHS, the caching IHS including a cache and a caching engine that is configured to:

receive a content request from the user IHS;

generate a user-side key using content identifying information in the content request, wherein the content identifying information is unique to the content being requested;

forward the content request to the content provider IHS over at least one network as a content partial information request and, in response, receive a content partial information response from the content provider IHS over the at least one network;

generate a content-provider-side key using information in the content partial information response;

perform a hashing operation on the content request using a combination of the user-side key and the content-provider-side key to produce a hashed content request; and

use the hashed content request to retrieve content from the cache.

2. The encrypted cached content system of claim 1 , wherein caching engine is configured to:

decrypt the content that was retrieved from the cache using a combination of the user-side key and the content-provider-side key.

3. The encrypted cached content system of claim 2 , wherein caching engine is configured to:

validate the content by comparing a header of the content that was decrypted with header information in the content partial information response; and

provide the content to the user IHS.

4. The encrypted cached content system of claim 1 , wherein the using the hashed content request to retrieve the content from the cache includes:

using the hashed content request to determine an entry in a content index that is associated with the content in the cache; and

retrieving the content from the cache based on the association of the content and the entry in the content index.

5. The encrypted cached content system of claim 1 , wherein caching engine is configured to:

receive, prior to receiving the content request from the user IHS, a previous content request;

generate, prior to receiving the content request from the user IHS, the user-side key using content identifying information in the previous content request;

receive, prior to receiving the content request from the user IHS, the content and response headers from the content provider IHS over the at least one network;

generate, prior to receiving the content request from the user IHS, the content-provider-side key using content information from at least one of the content and the response headers;

encrypt, prior to receiving the content request from the user IHS, the content using a combination of the user-side key that was generated using the content identifying information in the previous content request and the content-provider-side key that was generated using the content information from at least one of the content and the response headers;

perform, prior to receiving the content request from the user IHS, the hashing operation on the previous content request using a combination of the user-side key that was generated using the content identifying information in the previous content request and the content-provider-side key that was generated using the content information from at least one of the content and the response headers to create an entry in a content index; and

associate, prior to receiving the content request from the user IHS, the content that was encrypted with the entry in the content index and storing the content in the cache.

6. The encrypted cached content system of claim 1 , wherein the content identifying information in the content request includes a Uniform Resource Identifier (URI).

7. The encrypted cached content system of claim 1 , wherein the information in the content partial information response includes header information in a response that includes at least one of a last modified time, an ETAG value, content-length information, and a mime-type.

8. A caching information handling system (IHS), comprising:

a storage system including a cache;

a processor coupled to the storage system; and

a non-transitory memory coupled to the processor and including instructions that, when executed by the processor, cause the processor to provide a caching engine that is configured to:

receive a content request from a user IHS;

generate a user-side key using content identifying information in the content request, wherein the content identifying information is unique to the content being requested;

forward the content request to a content provider IHS over the at least one network as a content partial information request and, in response, receive a content partial information response from the content provider IHS over the at least one network;

generate a content-provider-side key using information in the content partial information response;

perform a hashing operation on the content request using a combination of the user-side key and the content-provider-side key to produce a hashed content request; and

use the hashed content request to retrieve content from the cache.

9. The caching IHS of claim 8 , wherein caching engine is configured to:

decrypt the content that was retrieved from the cache using a combination of the user-side key and the content-provider-side key.

10. The caching IHS of claim 9 , wherein caching engine is configured to:

validate the content by comparing a header of the content that was decrypted with header information in the content partial information response; and

provide the content to the user IHS.

11. The caching IHS of claim 8 , wherein the using the hashed content request to retrieve the content from the cache includes:

using the hashed content request to determine an entry in a content index that is associated with the content in the cache; and

retrieving the content from the cache based on the association of the content and the entry in the content index.

12. The caching IHS of claim 8 , wherein caching engine is configured to:

receive, prior to receiving the content request from the user IHS, a previous content request;

generate, prior to receiving the content request from the user IHS, the user-side key using content identifying information in the previous content request;

receive, prior to receiving the content request from the user IHS, the content and response headers from the content provider IHS over the at least one network;

generate, prior to receiving the content request from the user IHS, the content-provider-side key using information from at least one of the content and the response headers;

encrypt, prior to receiving the content request from the user IHS, the content using a combination of the user-side key that was generated using the content identifying information in the previous content request and the content-provider-side key that was generated using the information from at least one of the content and the response headers;

perform, prior to receiving the content request from the user IHS, the hashing operation on the previous content request using a combination of the user-side key that was generated using the content identifying information in the previous content request and the content-provider-side key that was generated using the information from at least one of the content and the response headers to create an entry in a content index; and

associate, prior to receiving the content request from the user IHS, the content that was encrypted with the entry in the content index and storing the content in the cache.

13. The caching IHS of claim 8 , wherein the content identifying information in the content request includes a Uniform Resource Identifier (URI).

14. The caching IHS of claim 8 , wherein the header in the content partial information response includes header information in a response that includes at least one of a last modified time, an ETAG value, content-length information, and a mime-type.

15. A method of caching content and retrieving cached content, comprising:

receiving, by a caching engine provided by a caching Information Handling System (IHS), a content request from a user IHS;

generating, by the caching engine, a user-side key using content identifying information in the content request, wherein the content identifying information is unique to the content being requested;

forwarding, by the caching engine, the content request to a content provider IHS over at least one network as a content partial information request and, in response, receiving a content partial information response from the content provider IHS over the at least one network;

generating, by the caching engine, a content-provider-side key using header information in the content partial information response;

performing, by the caching engine, a hashing operation on the content request using a combination of the user-side key and the content-provider-side key to produce a hashed content request; and

using, by the caching engine, the hashed content request to retrieve content from the cache.

16. The method of claim 15 , further comprising:

decrypting, by the caching engine, the content that was retrieved from the cache using a combination of the user-side key and the content-provider-side key.

17. The method of claim 16 , further comprising:

validating, by the caching engine, the content by comparing a header of the content that was decrypted with header information in the content partial information response; and

providing, by the caching engine, the content to the user IHS.

18. The method of claim 15 , wherein the using the hashed content request to retrieve the content from the cache includes:

using, by the caching engine, the hashed content request to determine an entry in a content index that is associated with the content in the cache; and

retrieving, by the caching engine, the content from the cache based on the association of the content and the entry in the content index.

19. The method of claim 15 , further comprising:

receiving, by the caching engine prior to receiving the content request from the user device, a previous content request;

generating, by the caching engine prior to receiving the content request from the user IHS, the user-side key using content identifying information in the previous content request;

receiving, by the caching engine prior to receiving the content request from the user IHS, the content and response headers from the content provider IHS over the at least one network;

generating, by the caching engine prior to receiving the content request from the user IHS, the content-provider-side key using content information from at least one of the content and the response headers;

encrypting, by the caching engine prior to receiving the content request from the user IHS, the content using a combination of the user-side key that was generated using the content identifying information in the previous content request and the content-provider-side key that was generated using the content information from at least one of the content and the response headers;

performing, by the caching engine prior to receiving the content request from the user IHS, the hashing operation on the previous content request using a combination of the user-side key that was generated using the content identifying information in the previous content request and the content-provider-side key that was generated using the content information from at least one of the content and the response headers to create an entry in a content index; and

associating, by the caching engine prior to receiving the content request from the user IHS, the content that was encrypted with the entry in the content index and storing the content in the cache.

20. The method of claim 15 , wherein the content identifying information in the content request includes a Uniform Resource Identifier (URI), and wherein the information in the content partial information response includes header information in a response that includes at least one of a last modified time, an ETAG value, content-length information, and a mime-type.

Assignments (15)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053546/0001) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC IP HOLDING COMPANY LLC
Reel/Frame 071642/0001 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (045455/0001) Recorded May 20, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO ASAP SOFTWARE EXPRESS, INC.); DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC CORPORATION (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MAGINATICS LLC); EMC IP HOLDING COMPANY LLC (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MOZY, INC.); SCALEIO LLC
Reel/Frame 061753/0001 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (040136/0001) Recorded Apr 26, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO ASAP SOFTWARE EXPRESS, INC.); DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC CORPORATION (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MAGINATICS LLC); EMC IP HOLDING COMPANY LLC (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MOZY, INC.); SCALEIO LLC
Reel/Frame 061324/0001 →
RELEASE OF SECURITY INTEREST Recorded Nov 3, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: ASAP SOFTWARE EXPRESS, INC.; AVENTAIL LLC; CREDANT TECHNOLOGIES, INC.; DELL USA L.P.; DELL INTERNATIONAL, L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL SYSTEMS CORPORATION; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; FORCE10 NETWORKS, INC.; MAGINATICS LLC; MOZY, INC.; SCALEIO LLC; WYSE TECHNOLOGY L.L.C.
Reel/Frame 058216/0001 →
SECURITY AGREEMENT Recorded Apr 22, 2020
From: CREDANT TECHNOLOGIES INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 053546/0001 →
SECURITY AGREEMENT Recorded Mar 21, 2019
From: CREDANT TECHNOLOGIES, INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 049452/0223 →
SECURITY AGREEMENT Recorded Sep 21, 2016
From: ASAP SOFTWARE EXPRESS, INC.; AVENTAIL LLC; CREDANT TECHNOLOGIES, INC.; DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL SYSTEMS CORPORATION; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; FORCE10 NETWORKS, INC.; MAGINATICS LLC; MOZY, INC.; SCALEIO LLC; SPANNING CLOUD APPS LLC; WYSE TECHNOLOGY L.L.C.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 040134/0001 →
SECURITY AGREEMENT Recorded Sep 21, 2016
From: ASAP SOFTWARE EXPRESS, INC.; AVENTAIL LLC; CREDANT TECHNOLOGIES, INC.; DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL SYSTEMS CORPORATION; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; FORCE10 NETWORKS, INC.; MAGINATICS LLC; MOZY, INC.; SCALEIO LLC; SPANNING CLOUD APPS LLC; WYSE TECHNOLOGY L.L.C.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 040136/0001 →
RELEASE OF SECURITY INTEREST Recorded Sep 14, 2016
From: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
To: DELL MARKETING L.P.; ASAP SOFTWARE EXPRESS, INC.; APPASSURE SOFTWARE, INC.; COMPELLENT TECHNOLOGIES, INC.; CREDANT TECHNOLOGIES, INC.; DELL INC.; DELL PRODUCTS L.P.; DELL USA L.P.; DELL SOFTWARE INC.; FORCE10 NETWORKS, INC.; PEROT SYSTEMS CORPORATION; SECUREWORKS, INC.; WYSE TECHNOLOGY L.L.C.
Reel/Frame 040040/0001 →
RELEASE OF SECURITY INTEREST Recorded Sep 14, 2016
From: BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
To: DELL MARKETING L.P.; ASAP SOFTWARE EXPRESS, INC.; APPASSURE SOFTWARE, INC.; COMPELLENT TECHNOLOGIES, INC.; CREDANT TECHNOLOGIES, INC.; DELL INC.; DELL PRODUCTS L.P.; DELL USA L.P.; DELL SOFTWARE INC.; FORCE10 NETWORKS, INC.; PEROT SYSTEMS CORPORATION; SECUREWORKS, INC.; WYSE TECHNOLOGY L.L.C.
Reel/Frame 040065/0618 →
RELEASE OF SECURITY INTEREST Recorded Sep 13, 2016
From: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
To: DELL MARKETING L.P.; ASAP SOFTWARE EXPRESS, INC.; APPASSURE SOFTWARE, INC.; COMPELLANT TECHNOLOGIES, INC.; CREDANT TECHNOLOGIES, INC.; DELL INC.; DELL PRODUCTS L.P.; DELL USA L.P.; DELL SOFTWARE INC.; FORCE10 NETWORKS, INC.; PEROT SYSTEMS CORPORATION; SECUREWORKS, INC.; WYSE TECHNOLOGY L.L.C.
Reel/Frame 040065/0216 →
PATENT SECURITY AGREEMENT (NOTES) Recorded Jan 2, 2014
From: APPASSURE SOFTWARE, INC.; ASAP SOFTWARE EXPRESS, INC.; BOOMI, INC.; COMPELLENT TECHNOLOGIES, INC.; CREDANT TECHNOLOGIES, INC.; DELL INC.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL USA L.P.; FORCE10 NETWORKS, INC.; GALE TECHNOLOGIES, INC.; PEROT SYSTEMS CORPORATION; SECUREWORKS, INC.; WYSE TECHNOLOGY L.L.C.
To: BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS FIRST LIEN COLLATERAL AGENT
Reel/Frame 031897/0348 →
PATENT SECURITY AGREEMENT (TERM LOAN) Recorded Jan 2, 2014
From: DELL INC.; APPASSURE SOFTWARE, INC.; ASAP SOFTWARE EXPRESS, INC.; BOOMI, INC.; COMPELLENT TECHNOLOGIES, INC.; CREDANT TECHNOLOGIES, INC.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL USA L.P.; FORCE10 NETWORKS, INC.; GALE TECHNOLOGIES, INC.; PEROT SYSTEMS CORPORATION; SECUREWORKS, INC.; WYSE TECHNOLOGY L.L.C.
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 031899/0261 →
PATENT SECURITY AGREEMENT (ABL) Recorded Jan 2, 2014
From: DELL INC.; APPASSURE SOFTWARE, INC.; ASAP SOFTWARE EXPRESS, INC.; BOOMI, INC.; COMPELLENT TECHNOLOGIES, INC.; CREDANT TECHNOLOGIES, INC.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL USA L.P.; FORCE10 NETWORKS, INC.; GALE TECHNOLOGIES, INC.; PEROT SYSTEMS CORPORATION; SECUREWORKS, INC.; WYSE TECHNOLOGY L.L.C.
To: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 031898/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 30, 2013
From: LIDDICOTT, SAMUEL
To: DELL PRODUCTS L.P.
Reel/Frame 031310/0971 →
Continuity (1)
Related Publication 20150095637A1 · Apr 2, 2015