IP Library Granted Patent US 9,942,204
Granted Patent B2
US 9,942,204 · App. 14/676,601 · Granted Apr 10, 2018

Secure personal server system and method

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,942,204
App. No.
14/676,601
Granted
Apr 10, 2018
Kind
B2
Abstract

A provider computer announces content to the provider computer and establishes a secure connection to a VPN server. Requests for the content are received in one protocol (HTTPS) from the consumer computer and forwarded to the VPN server in a less secure protocol (HTTP) by a protocol conversion proxy, which then forwards the request to the provider computer. A public URL and secure URL may be associated with the same content. The public URL is announced to a consumer computer. A public server receives the public URL and returns the secure URL, which consumer computer uses to establish a secure connection to the provider computer. Upon the secure URL being compromised, a new secure URL is associated with the public URL. The source IP addresses of requests for the public and secure URLs may be compared to determine whether the secure URL is compromised.

Claims (47)

1. A method for providing access to content on a first computer, the method comprising:

receiving, by a server system, a request from a first computer to establish an encrypted connection comprising a virtual private network (VPN) tunnel according to a VPN protocol;

establishing, by the server system, the VPN tunnel with the first computer;

establishing, by the server system, the first connection inside the VPN tunnel such that the server system is enabled to transmit to the first computer over the first connection in a reverse direction within the VPN tunnel, the first connection using a first type of communication protocol, the first type of protocol being less secure than the VPN protocol;

receiving, by the server system, a request from a second computer to establish a second connection to the server system, the second connection using a second type of communication protocol, the second type of protocol being more secure than the first type of protocol;

establishing, by the server system, the second connection to the second computer outside of any encrypted transport-level tunnel;

receiving, by the server system, from the second computer a first request for the content on the first computer, the first request being transmitted over the second connection according to the second type of communication protocol;

decrypting, by the server system, data from the first request to obtain decrypted data using an encryption key available to the server system; and

generating, by the server system, a second request containing the decrypted data according to the first type of communication protocol;

transmitting, by the server system, the second request to the first computer over the first connection within the VPN tunnel according to the first type of communication protocol;

receiving, by the server system, a first response from the first computer, the first response being received according to the first type of communication protocol over the first connection inside the VPN tunnel;

converting, by the server system, the first response to a second response, the second response including translated data that is translated from data in the first response by encrypting the data in the first response using the encryption key; and

transmitting, by the server system, the second response to the second computer according to the second type of communication protocol.

2. The method of claim 1 , further comprising transmitting the second request to the first computer only in response to determining that a number of simultaneous connections to the first computer are less than a threshold.

3. The method of claim 1 , further comprising:

reporting, by the server system, availability of the content on the first computer to a routing module;

receiving, by the routing module, reports of availability of content on a plurality of different computers from a plurality of intermediary servers;

receiving, by the routing module, the request for the content on the first computer from the second computer; and

routing, by the routing module, the request for the content on the first computer to the server system.

4. The method of claim 3 , wherein the server system and routing module are in the same local network.

5. A method for providing access to content on a personal computer, the method comprising:

receiving, by a server system from the personal computer, a posting message, the posting message including a posting uniform resource locator (URL) and referencing content on the personal computer;

receiving, by the server system, a request message from a requesting computer, the request message including the posting URL and having hypertext transport protocol secure (HTTPS) request formatting;

establishing, by the server system, a virtual private network (VPN) tunnel to the personal computer;

decrypting, by the server system, data from the request message using an encryption key to obtain the posting URL;

generating a translated response including the posting URL and having hypertext transport protocol (HTTP) request formatting; and

transmitting, by the server system, the translated message to the personal computer according to HTTP protocol within the VPN tunnel;

receiving, by the server system, a response to the translated message from the personal computer, the response being received according to HTTP protocol through the VPN tunnel and including the content;

encrypting, by the server system, the content using the encryption key to obtain a translated response; and

transmitting, by the server system, the translated response to the requesting computer according to HTTPS protocol.

6. The method of claim 5 , further comprising:

reporting, by the server system, the posting URL to a routing module;

receiving, by the routing module from a plurality of intermediary servers, other URLs referencing content on a plurality of other computers;

receiving, by the routing module, the request message; and

routing, by the routing module, the request message to the server system.

7. The method of claim 6 , wherein the server system and routing module are in the same local network.

8. A computer-readable medium comprising a non-transitory storage device and storing executable code effective instruct one or more processors to:

receive an instruction to make content available to a recipient computer system;

in response to the instruction to make the content available to a recipient computer system, transmit an invitation to access the content to the recipient computer system;

establish an encrypted virtual private network (VPN) connection to an intermediary server system;

receive one or more requests for the content; and

for each request of the one or more requests—

only if the each request is both of received from the intermediary server and through the encrypted VPN connection, transmitting the content to the intermediary server over the encrypted VPN connection; and

if the each request is not both of received from the intermediary server and through the encrypted VPN connection, refraining from transmitting the content to the intermediary server over the encrypted VPN connection;

wherein the executable code is further effective to instruct the one or more processors to transmit the invitation to access the content to the recipient computer system in bypass of the intermediary server.

9. The computer-readable medium of claim 8 , wherein the executable code includes instruction for instructing the one or more processors to transmit the invitation to access the content to the recipient computer system in at least one of a text message, email, message, and posting to a web site.

10. The computer-readable medium of claim 8 , wherein the invitation to access the content includes a domain name referencing a computer hosting the processor.

Assignments (21)
RELEASE OF SECURITY INTEREST Recorded Dec 17, 2024
From: JPMORGAN CHASE BANK, N.A.
To: AURA SUB, LLC; INTERSECTIONS, LLC; TWINGATE INC.
Reel/Frame 069616/0097 →
SECURITY INTEREST Recorded Dec 10, 2024
From: INTERSECTIONS, LLC
To: CERBERUS BUSINESS FINANCE AGENCY, LLC
Reel/Frame 069542/0987 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 30, 2023
From: CF NEWCO, INC.
To: INTERSECTIONS, LLC
Reel/Frame 065717/0839 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 30, 2023
From: AURA SUB, LLC
To: AURA HOLDCO, LLC
Reel/Frame 065717/0500 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 30, 2023
From: AURA HOLDCO, LLC
To: CF INTERMEDIATE HOLDINGS, LLC
Reel/Frame 065717/0668 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 30, 2023
From: CF INTERMEDIATE HOLDINGS, LLC
To: CF NEWCO, INC.
Reel/Frame 065717/0779 →
CORRECTIVE ASSIGNMENT TO REMOVE THE ERRONEOUS SERIAL NUMBER 16/000,700 AND 16/149,928 PREVIOUSLY RECORDED AT REEL: 059251 FRAME: 0342. ASSIGNOR(S) HEREBY CONFIRMS THE CHANGE OF NAME Recorded Jun 6, 2023
From: PANGO INC.
To: PANGO LLC
Reel/Frame 064065/0406 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION NUMBERS 16000700 AND 16149928 PREVIOUSLY RECORDED AT REEL: 059462 FRAME: 0043. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Mar 14, 2023
From: AURA HOLDCO, LLC
To: AURA SUB, LLC
Reel/Frame 063859/0966 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE SERIAL NUMBERS 16000700 AND 16149928 PREVIOUSLY RECORDED AT REEL: 059285 FRAME: 0023. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Mar 14, 2023
From: PANGO LLC
To: PORTUNUS PARENT, LLC
Reel/Frame 063873/0502 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION NUMBER 16000700 AND 16149928 PREVIOUSLY RECORDED AT REEL: 059392 FRAME: 0479. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Mar 14, 2023
From: PORTUNUS PARENT, LLC
To: AURA HOLDCO, LLC
Reel/Frame 063873/0551 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 31, 2022
From: AURA HOLDCO, LLC
To: AURA SUB, LLC
Reel/Frame 059462/0043 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 24, 2022
From: PORTUNUS PARENT, LLC
To: AURA HOLDCO, LLC
Reel/Frame 059392/0479 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 16, 2022
From: PANGO LLC
To: PORTUNUS PARENT, LLC
Reel/Frame 059285/0023 →
CHANGE OF NAME Recorded Feb 25, 2022
From: PANGO INC.
To: PANGO LLC
Reel/Frame 059251/0342 →
RELEASE OF SECURITY INTEREST Recorded Dec 8, 2021
From: JPMORGAN CHASE BANK, N.A.
To: PANGO, INC.; INTERSECTIONS INC.
Reel/Frame 058330/0983 →
SECURITY INTEREST Recorded Dec 7, 2021
From: INTERSECTIONS INC.; PANGO INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 058328/0941 →
SECURITY INTEREST Recorded Jul 2, 2020
From: PANGO, INC.; INTERSECTIONS INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 053105/0591 →
RELEASE OF SECURITY INTEREST Recorded Jul 1, 2020
From: PACIFIC WESTERN BANK
To: PANGO INC. (FORMERLY KNOWN AS ANCHORFREE INC.)
Reel/Frame 053116/0489 →
SECURITY INTEREST Recorded Jun 25, 2020
From: PANGO INC.
To: PACIFIC WESTERN BANK
Reel/Frame 053039/0417 →
CHANGE OF NAME Recorded Jan 10, 2020
From: ANCHORFREE INC.
To: PANGO INC.
Reel/Frame 051566/0680 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 1, 2015
From: LAPIDOUS, EUGENE; ARSITOV, ARTEM; AMBATI, VAMSI KRISHNA; MOLCHANOV, MAXIM
To: ANCHORFREE INC.
Reel/Frame 035315/0150 →