IP Library Granted Patent US 10,257,315
Granted Patent B2
US 10,257,315 · App. 13/355,989 · Granted Apr 9, 2019

Secure proxied data retrieval from third-party services

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,257,315
App. No.
13/355,989
Granted
Apr 9, 2019
Kind
B2
Abstract

In one embodiment, a social networking system transmits a client proxy application to a client device in order to export data from a third-party site that has instituted IP address blocking or rate limiting. In particular embodiments, the proxy application multiplexes a plurality of web responses from the third-party server over a single socket communication with a proxy server. In particular embodiments, the proxy application obtains data from the third-party service and relays it via the proxy server to the social networking system.

Claims (77)

1. A method comprising:

sending, from a social-networking system, by way of a proxy application installed on a client computing device associated with a user of the social-networking system, a request addressed to a third-party server for contact information associated with one or more users of one or more services associated with the third-party server, wherein:

the request obscures any identification of the social-networking system by at least obscuring network information associated with the social-networking system, and

the proxy application comprises instructions to cause the proxy application to:

initiate one or more secure connections with a token exchanger,

receive, from the token exchanger, a unique session ID, a host ID, and an encryption key, wherein the host ID identifies a proxy server, and

initiate one or more secure connections with the proxy server;

receiving, at the social-networking system, from the third-party server and by way of the proxy application, the contact information;

cross-referencing, by the social-networking system, the contact information received from the third-party server with a database of user information of users of the social-networking system;

identifying, by the social-networking system, based at least in part on the cross-referencing, one or more of the users of the services who are also users of the social-networking system; and

sending, by the social-networking system, to the client computing device, information identifying one or more accounts of the social-networking system, wherein each of the accounts is associated with one or more of the users of the services who are also users of the social-networking system.

2. The method of claim 1 , wherein the user information comprises one or more of:

one or more message logs;

profile information associated with one or more of the users of the third-party services;

online retailer information associated with the user who is associated with the computing device; or

profile information associated with the user who is associated with the computing device.

3. The method of claim 1 , wherein one or more of the secure connections are SOCKS5 protocol connections.

4. The method of claim 1 , wherein the instructions cause the proxy application to:

send the session ID to the proxy server.

5. The method of claim 4 , wherein the instructions cause the proxy application to:

receive, from the proxy server, an internal server ID, wherein the internal server ID was sent from the proxy server after:

the proxy server sent to the token exchanger the session ID; and

the proxy server received from the token exchanger the encryption key; and

send to the social-networking system the session ID and the internal server ID.

6. The method of claim 5 , further comprising establishing, by the social-networking system, one or more secure connections with the proxy server.

7. One or more non-transitory computer-readable storage media embodying software that is operable when executed by one or more computing systems associated with a social-networking system to:

send by way of a proxy application installed on a client computing device associated with a user of the social-networking system, a request addressed to a third-party server for contact information associated with one or more users of one or more services associated with the third-party server, wherein:

the request obscures any identification of the social-networking system by at least obscuring network information associated with the social-networking system, and

the proxy application comprises instructions to cause the proxy application to:

initiate one or more secure connections with a token exchanger,

receive, from the token exchanger, a unique session ID, a host ID, and an encryption key, wherein the host ID identifies a proxy server, and

initiate one or more secure connections with the proxy server;

receive, from the third-party server and by way of the proxy application, the contact information;

cross-reference the contact information received from the third-party server with a database of user information of users of the social-networking system;

identify, based at least in part on the cross-referencing, one or more of the users of the services who are also users of the social-networking system; and

send, to the client computing device, information identifying one or more accounts of the social-networking system, wherein each of the accounts is associated with one or more of the users of the services who are also users of the social-networking system.

8. The media of claim 7 , wherein the user information comprises one or more of:

one or more message logs;

profile information associated with one or more of the users of the third-party services;

online retailer information associated with the user who is associated with the computing device; or

profile information associated with the user who is associated with the computing device.

9. The media of claim 7 , wherein one or more of the secure connections are SOCKS5 protocol connections.

10. The media of claim 7 , wherein the instructions cause the proxy application to:

send the session ID to the proxy server.

11. The media of claim 10 , wherein the instructions cause the proxy application to:

receive, from the proxy server, an internal server ID, wherein the internal server ID was sent from the proxy server after:

the proxy server sent to the token exchanger the session ID; and

the proxy server received from the token exchanger the encryption key; and

send to the social-networking system the session ID and the internal server ID.

12. The media of claim 11 , further comprising establishing, by the social-networking system, one or more secure connections with the proxy server.

13. A system comprising:

one or more processors associated with a social-networking system; and

a memory coupled to the processors comprising instructions executable by the processors, the processors being operable when executing the instructions to:

send by way of a proxy application installed on a client computing device associated with a user of the social-networking system, a request addressed to a third-party server for contact information associated with one or more users of one or more services associated with the third-party server, wherein:

the request obscures any identification of the social-networking system by at least obscuring network information associated with the social-networking system, and

the proxy application comprises instructions to cause the proxy application to:

initiate one or more secure connections with a token exchanger,

receive, from the token exchanger, a unique session ID, a host ID, and an encryption key, wherein the host ID identifies a proxy server, and

initiate one or more secure connections with the proxy server;

receive, from the third-party server and by way of the proxy application, the contact information;

cross-reference the contact information received from the third-party server with a database of user information of users of the social-networking system;

identify, based at least in part on the cross-referencing, one or more of the users of the services who are also users of the social-networking system; and

send, to the client computing device, information identifying one or more accounts of the social-networking system, wherein each of the accounts is associated with one or more of the users of the services who are also users of the social-networking system.

14. The system of claim 1 , wherein the user information comprises one or more of:

one or more message logs;

profile information associated with one or more of the users of the third-party services;

online retailer information associated with the user who is associated with the computing device; or

profile information associated with the user who is associated with the computing device.

15. The system of claim 13 , wherein one or more of the secure connections are SOCKS5 protocol connections.

16. The system of claim 13 , wherein the instructions cause the proxy application to:

send the session ID to the proxy server.

17. The system of claim 16 , wherein the instructions cause the proxy application to:

receive, from the proxy server, an internal server ID, wherein the internal server ID was sent from the proxy server after:

the proxy server sent to the token exchanger the session ID; and

the proxy server received from the token exchanger the encryption key; and

send to the social-networking system the session ID and the internal server ID.

18. The system of claim 17 , further comprising establishing, by the social-networking system, one or more secure connections with the proxy server.

Assignments (1)
CHANGE OF NAME Recorded Dec 20, 2021
From: FACEBOOK, INC.
To: META PLATFORMS, INC.
Reel/Frame 058553/0802 →