IP Library Granted Patent US 9,438,564
Granted Patent B1
US 9,438,564 · App. 13/622,187 · Granted Sep 6, 2016

Managing pooled VPN proxy servers by a central server

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,438,564
App. No.
13/622,187
Granted
Sep 6, 2016
Kind
B1
Abstract

A method, system and computer program product for managing pooled VPN proxy servers by a central server is provided. The method includes receiving information from a plurality of computers wherein the information received is used for registering, with a central server, the respective computer as a VPN proxy server. The method also includes receiving a request from a client device for a VPN proxy server and sending a list of registered VPN proxy servers to the client device.

Claims (52)

1. A computer-implemented method for managing pooled virtual private

network (VPN) proxy servers by a central server, comprising:

receiving, at the central server, a registration request from a computing device to register with the central server as a VPN proxy server;

registering the computing device as a VPN proxy server responsive to the registration request;

maintaining a list of registered VPN proxy servers;

receiving a connection request from a client for a VPN connection to a VPN proxy server; and

facilitating, responsive to receiving the connection request, establishment of the VPN connection from the client to the computing device by:

searching the list of registered VPN proxy servers for a result set of registered VPN proxy servers based on geograohic location information received by the central server from the client; and

sending the result set of registered VPN proxy servers to the client, wherein the result set includes the computing device registered as a VPN proxy server.

2. The computer-implemented method of claim 1 , further comprising:

updating the list of registered VPN proxy servers by removing, from the list, a first VPN proxy server responsive to a determination that the first VPN proxy server is not reachable.

3. The computer-implemented method of claim 2 , wherein the central server receives notification from the client that the first VPN proxy server is not reachable.

4. The computer-implemented method of claim 1 , further comprising:

encrypting the result set of registered VPN proxy servers prior to sending the result set to the client, wherein sending the result set of registered VPN proxy servers to the client comprises sending the encrypted result set.

5. The computer-implemented method of claim 1 , wherein the registration request from the computing device includes an IP address, geographic location, and available bandwidth.

6. The computer-implemented method of claim 5 , wherein the result set includes, for the computing device, the IP address, geographic location, and available bandwidth.

7. The computer-implemented method of claim 6 , wherein the client stores the IP address, geographic location, and available bandwidth of the computing device.

8. The computer-implemented method of claim 1 , wherein the VPN connection is to a wide area network.

9. The computer-implemented method of claim 1 , wherein the VPN connection is to a private local area network (LAN).

10. The computer-implemented method of claim 1 , further comprising establishing the VPN connection between the client device and the computing device registered as a VPN proxy server.

11. The computer-implemented method of claim 1 , wherein the client device is a mobile phone.

12. The computer-implemented method of claim 1 , wherein the VPN connection includes a wireless connection.

13. The computer-implemented method of claim 1 , wherein the preferences received from the client includes a required minimum bandwidth available to the potential VPN proxy server.

14. A processor-based system for managing pooled virtual private network (VPN) proxy servers, comprising:

one or more processors; at least one memory coupled to the one or more processors; wherein the one or more processors are configured to:

process a registration request from a computing device to register as a VPN proxy server;

register the computing device as a VPN proxy server responsive to the registration request;

maintain a list of registered VPN proxy servers;

receive a connection request from a client for a VPN connection to a VPN proxy server; and

facilitate, responsive to receiving the connection request, establishment of the VPN connection from the client to the computing device by:

searching the list of registered VPN proxy servers for a result set of registered VPN proxy servers based on geograohic location information received by the central server from the client; and

sending the result set of registered VPN proxy servers to the client.

15. The system of claim 14 , wherein the one or more processors are further configured to:

update the list of registered VPN proxy servers by removing, from the list, a first VPN proxy server responsive to a determination that the first VPN proxy server is not reachable.

16. The system of claim 14 , wherein the one or more processors are further configured to:

encrypt the result set of registered VPN proxy servers prior to sending the result set to the client, wherein sending the result set of registered VPN proxy servers to the client comprises sending the encrypted result set.

17. The system of claim 14 , wherein the one or more processors are configured in a load sharing configuration.

18. A computer-readable storage device having computer program logic recorded thereon, execution of which, by one or more computing processors, causes the computing processors to perform operations comprising:

receiving, at the central server, a registration request from a computing device to register with the central server as a virtual private network (VPN) proxy server;

registering the computing device as a VPN proxy server responsive to the registration request; maintaining a list of registered VPN proxy servers;

receiving a connection request from a client for a VPN connection to a VPN proxy server; and

facilitating, responsive to receiving the connection request, establishment of the VPN connection from the client to the computing device by:

searching the list of registered VPN proxy servers for a result set of registered VPN proxy servers based on geograohic location information received by the central server from the client; and

sending the result set of registered VPN proxy servers to the client, wherein the result set includes the computing device registered as a VPN proxy server.

19. The computer-readable storage device of claim 18 , wherein the computer program logic recorded thereon, when executed, further causes the computing processors to perform operations comprising:

updating the list of registered VPN proxy servers by removing, from the list, a first VPN proxy server responsive to a determination that the first VPN proxy server is not reachable.

20. The computer-readable storage device of claim 19 , wherein the computer program logic recorded thereon, when executed, further causes the computing processors to perform operations comprising receiving notification from the client that the first VPN proxy server is not reachable.

21. The computer-readable storage device of claim 18 , wherein the computer program logic recorded thereon, when executed, further causes the computing processors to perform operations comprising:

encrypting the result set of registered VPN proxy servers prior to sending the result set to the client, wherein sending the result set of registered VPN proxy servers to the client comprises sending the encrypted result set.

22. The computer-readable storage device of claim 18 , wherein the registration request from the computing device includes an IP address, geographic location, and available bandwidth.

23. The computer-readable storage device of claim 18 , wherein the computer program logic recorded thereon, when executed, further causes the computing processors to perform operations comprising: receiving VPN proxy server preferences from the client and searching the list of registered VPN proxy servers for the result set of registered VPN proxy servers by searching for servers satisfying the preferences.

24. The computer-readable storage device of claim 23 , wherein the preferences received from the client includes a required minimum bandwidth available to the potential VPN proxy server.

Assignments (2)
CHANGE OF NAME Recorded Oct 2, 2017
From: GOOGLE INC.
To: GOOGLE LLC
Reel/Frame 044566/0657 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 18, 2012
From: WENG, ZHI; ZHENG, LANTIAN
To: GOOGLE INC.
Reel/Frame 028981/0035 →