IP Library Granted Patent US 8,713,695
Granted Patent B2
US 8,713,695 · App. 13/616,540 · Granted Apr 29, 2014

Processing data using information embedded in a data request

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.
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 8,713,695
App. No.
13/616,540
Granted
Apr 29, 2014
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 (59)

1. A method comprising:

receiving, at a first server device, a request for data from a second server device, the request being generated at a client application;

extracting, by the first server device, user profile information from the request;

customizing, by the first server device, data based on the extracted user profile information;

generating, by the first server device, a response to the request, the response including the customized data;

sending, by the first server device, the response to the client application;

receiving, by the first server device, a flush directive; and

in response to receiving the flush directive, discarding, by the first server device, stored user profile information.

2. The method as recited in claim 1 , wherein the request comprises an HTTP request.

3. The method as recited in claim 2 , wherein the user profile information is included in one or more headers of the HTTP request.

4. The method as recited in claim 3 , wherein the user profile information is encrypted.

5. The method as recited in claim 4 , further comprising:

extracting an encrypted key from the request;

decrypting the encrypted key; and

using the decrypted key to decrypt the user profile information.

6. The method as recited in claim 5 , wherein:

decrypting the encrypted key comprises decrypting the encrypted key using a public key algorithm and a private key of the first server device, and

decrypting the encrypted user profile information comprises decrypting the user profile information using a symmetric decryption algorithm and the key.

7. The method as recited in claim 6 , wherein the key comprises a session key.

8. The method as recited in claim 2 , further comprising storing the user profile information in a non-transitory storage medium.

9. The method as recited in claim 8 , further comprising:

generating a token referencing the user profile information stored in the non-transitory storage medium.

10. A method comprising:

receiving, at a first server device, a request generated at a client application and forwarded from a second server device;

extracting, by the first server device, encrypted user profile information from the request;

decrypting, by the first server device, the encrypted user profile information;

generating, by the first server device, a response to the request using the user profile information;

sending the response to the request to the second server device;

receiving, by the first server device, a flush directive; and

in response to receiving the flush directive, discarding, by the first server device, stored user profile information.

11. The method as recited in claim 10 , wherein the request comprises an HTTP request.

12. The method as recited in claim 11 , wherein the encrypted user profile information is encrypted using a symmetric encryption algorithm.

13. The method as recited in claim 11 , wherein the encrypted user profile information is included in a header of the HTTP request.

14. The method as recited in claim 10 , further comprising:

extracting an encrypted key from the request;

decrypting the encrypted key; and

using the decrypted key to decrypt the encrypted user profile information.

15. The method as recited in claim 14 , wherein decrypting the encrypted key comprises decrypting the encrypted key using a public key algorithm and a private key of the first server device.

16. The method as recited in claim 15 , further comprising storing the user profile information in a non-transitory storage medium.

17. The method as recited in claim 16 , further comprising:

generating a token referencing the user profile information stored in the non-transitory storage medium.

18. A system comprising:

at least one processor;

at least one non-transitory computer readable storage medium storing a decryption key and instructions thereon that, when executed by the at least on processor, cause a first server device to:

receive a request for data from a second server device, the request being generated at a client application;

extract user profile information from the request;

customize data based on the extracted user profile information;

generate a response to the request, the response including the customized data;

send the response to the client application;

receive a flush directive; and

in response to receiving the flush directive, discard stored user profile information.

19. The system as recited in claim 18 , wherein the request comprises an HTTP request.

20. The system as recited in claim 19 , wherein one or more headers in the HTTP request includes the user profile information.

21. The system as recited in claim 20 , wherein the user profile information is encrypted.

22. The system as recited in claim 20 , wherein the instructions when executed by the at least one processor, further cause the system to:

extract an encrypted key from the request;

decrypt the encrypted key; and

store the decrypted key in the non-transitory storage medium.

23. The system as recited in claim 22 , wherein the instructions when executed by the at least one processor, further cause the system to decrypt the encrypted key using a public key algorithm and a private key of the first server 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 Aug 21, 2013
From: HARADA, LARRY T.; DOLECKI, MARK A.; PURDUM, CHRISTOPHER S.; HENDREN III, C. HUDSON
To: AMERICA ONLINE, INC.
Reel/Frame 031055/0127 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 21, 2013
From: AOL LLC
To: AOL INC.
Reel/Frame 031055/0192 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 21, 2013
From: AOL INC.
To: FACEBOOK, INC.
Reel/Frame 031055/0281 →
CHANGE OF NAME Recorded Aug 21, 2013
From: AMERICA ONLINE, INC.
To: AOL LLC
Reel/Frame 031075/0075 →
Continuity (4)
Continuation 13030986 · Feb 18, 2011
Continuation 11535056 · Sep 25, 2006
Continuation 09323415 · Jun 1, 1999
Related Publication 20130073862A1 · Mar 21, 2013