IP Library Granted Patent US 9,363,237
Granted Patent B2
US 9,363,237 · App. 14/586,844 · Granted Jun 7, 2016

Secure data exchange between data processing systems

Inventors: Larry T. Harada (Mountain View, CA); Mark A. Dolecki (Columbus, OH); Christopher S Purdum (Columbus, OH); C. Hudson Hendren, III (Strasburg, VA)
Assignee: FACEBOOK, INC.
H04L63/0281G06Q20/206G06Q20/3821H04L61/2007H04L63/04H04L63/0428H04L63/0471H04L63/08H04L67/02H04L67/2804H04L67/2842
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,363,237
App. No.
14/586,844
Granted
Jun 7, 2016
Kind
B2
Abstract

A data transfer method performed at a proxy server includes intercepting a data request from a client computer that is directed to a target server, encrypting profile information, augmenting the data request by adding the encrypted profile information to the data request, and sending the augmented data request to the target server. A data transfer method that is performed at an information server includes receiving a data request from a proxy server, extracting profile information added to the data request by the proxy server, using the extracted profile information to generate a response, and sending the response to the proxy server.

Claims (47)

1. A method comprising:

intercepting, by a proxy server over a network, a data request from a first computing device that is directed to a web server;

modifying the data request to include user profile information;

sending the modified data request to the web server;

sending information to the web server for controlling a manner for how data sent to the web server is cached in the web server;

receiving, by the proxy server, a response from the web server, wherein the response to the proxy server includes information for controlling a manner for how data received from the web server is cached in the proxy server;

caching the data received from the web server in the proxy server; and

sending at least a portion of the cached data from the proxy server to the first computing device.

2. The method of claim 1 , wherein the manner for how data received from the web server is cached includes a time-to-live value specified by the web server.

3. The method of claim 1 , wherein the data request to the web server includes an indication that cached data should not be used to satisfy the response to the proxy server.

4. The method of claim 1 , wherein the data request from the first computing device is an HTTP data request from a web browser.

5. The method of claim 1 , further comprising:

determining an IP address of the first computing device; and

querying a database to determine an identity associated with the IP address in the database.

6. The method of claim 1 , wherein the user profile information is encrypted by the proxy server before sending to the web server.

7. The method of claim 1 , wherein the user profile information is included in a header of the data request.

8. The method of claim 1 , wherein the user profile information includes an IP address of the first computing device.

9. An apparatus comprising:

one or more processors; and

one or more memories operatively coupled to at least one of the one or more processors and having instructions stored thereon that, when executed by at least one of the one or more processors, cause the apparatus to:

intercept over a network a data request from a first computing device that is directed to a web server;

modify the data request to include user profile information;

send the data request to the web server;

send information to the web server for controlling a manner for how data sent to the web server is cached in the web server;

receive a response from the web server, wherein the response includes information for controlling a manner for how data received from the web server is cached;

cache the data received from the web server, and;

send at least a portion of the cached data to the first computing device.

10. The apparatus of claim 9 , wherein the manner for how data received from the web server is cached includes a time-to-live value specified by the web server.

11. The apparatus of claim 9 , wherein the data request to the web server includes an indication that cached data should not be used to satisfy the response.

12. The apparatus of claim 9 , wherein the data request from the first computing device is an HTTP data request sent from a web browser.

13. The apparatus of claim 9 , wherein at least one of the one or more memories has further instructions stored thereon that, when executed by at least one of the one or more processors, cause the apparatus to:

determine an IP address of the first computing device; and

query a database to determine an identity associated with the IP address in the database.

14. The apparatus of claim 9 , wherein the user profile information is included in a header of the data request.

15. The apparatus of claim 9 , wherein the user profile information includes an IP address of the first computing device.

16. The apparatus of claim 9 , wherein at least one of the one or more memories has further instructions stored thereon that, when executed by at least one of the one or more processors, cause the apparatus to encrypt the user profile information before sending to the web server.

17. At least one non-transitory computer-readable medium storing computer-readable instructions that, when executed by one or more computing devices, cause at least one of the one or more computing devices to:

intercept over a network a data request from a first computing device that is directed to a web server;

modify the data request to include user profile information;

send the data request to the web server;

send information to the web server for controlling a manner for how data sent to the web server is cached in the web server;

receive a response from the web server, wherein the response includes information for controlling a manner for how data received from the web server is cached;

cache the data received from the web server; and

send at least a portion of the cached data to the first computing device.

18. The at least one non-transitory computer-readable medium of claim 17 , wherein the manner for how data received from the web server is cached includes a time-to-live value specified by the web server.

19. The at least one non-transitory computer-readable medium of claim 17 , wherein the data request to the web server includes an indication that cached data should not be used to satisfy the response.

20. The at least one non-transitory computer-readable medium of claim 17 , wherein the user profile information includes an IP address of the first computing device.

Assignments (5)
CHANGE OF NAME Recorded Dec 20, 2021
From: FACEBOOK, INC.
To: META PLATFORMS, INC.
Reel/Frame 058961/0436 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 9, 2015
From: HARADA, LARRY T.; DOLECKI, MARK A.; PURDUM, CHRISTOPHER S.; HENDREN III, C. HUDSON
To: AMERICA ONLINE, INC.
Reel/Frame 034922/0730 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 9, 2015
From: AOL LLC
To: AOL INC.
Reel/Frame 034922/0796 →
CHANGE OF NAME Recorded Feb 9, 2015
From: AMERICA ONLINE, INC.
To: AOL LLC
Reel/Frame 034925/0085 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 9, 2015
From: AOL INC.
To: FACEBOOK, INC.
Reel/Frame 034925/0115 →
Continuity (6)
Continuation 13786273 · Mar 5, 2013
Continuation 13786212 · Mar 5, 2013
Continuation 13030986 · Feb 18, 2011
Continuation 11535056 · Sep 25, 2006
Continuation 09323415 · Jun 1, 1999
Related Publication 20160014086A1 · Jan 14, 2016