IP Library Granted Patent US 10,404,663
Granted Patent B1
US 10,404,663 · App. 15/056,435 · Granted Sep 3, 2019

File sharing over secure connections

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,404,663
App. No.
15/056,435
Granted
Sep 3, 2019
Kind
B1
Abstract

An example method for file sharing over secure connections comprises: establishing a secure client connection; receiving a client request identifying a file residing on the file sharing host; transmitting an identifier and a parameter of the secure client connection via a management connection to the file sharing host; receiving a host request to establish a secure host connection, the host request comprising the identifier of the secure client connection; establishing the secure host connection using the parameter of the secure client connection identified by the received identifier; forwarding, over the secure host connection, a first data packet received over the secure client connection, the first data packet comprising at least part of the client request; and forwarding, over the secure client connection, a second data packet received over the secure host connection, the second data packet comprising at least part of the file identified by the client request.

Claims (56)

1. A method for a file sharing proxy server, comprising:

establishing, by the file sharing proxy server, a secure client connection with a client computing device;

receiving, by the file sharing proxy server, a client request originated by the client computing device, the client request identifying a file sharing host and a file residing on a file system associated with the file sharing host;

responsive to identifying, by the file sharing proxy server, a management connection with the file sharing host, transmitting, to the file sharing host via the management connection, an identifier of the secure client connection and a state parameter of the secure client connection;

receiving, by the file sharing proxy server, a host request originated by the file sharing host to establish a secure host connection with the file sharing proxy server, the host request comprising the identifier of the secure client connection;

establishing, by the file sharing proxy server, the secure host connection with the file sharing host using the state parameter of the secure client connection identified by the received identifier of the secure client connection;

forwarding, by the file sharing proxy server, over the secure host connection, a first data packet received over the secure client connection, the first data packet comprising at least part of the client request; and

forwarding, by the file sharing proxy server, over the secure client connection, a second data packet received over the secure host connection, the second data packet comprising at least part of a content of the file identified by the client request.

2. The method of claim 1 , wherein forwarding the first data packet further comprises:

receiving the first data packet over a first socket associated with the secure client connection; and

writing the first data packet to a second socket associated with the secure host connection.

3. The method of claim 1 , further comprising:

responsive to failing to identify a management connection with the file sharing host specified by the client request, initiating a recovery procedure in order to establish the management connection with the file sharing host.

4. The method of claim 3 , wherein the recovery procedure comprises transmitting a message to a communication device associated with the file sharing host.

5. The method of claim 1 , wherein at least one of the secure client connection or the secure host connection is provided by a Secure Socket Layer (SSL) connection.

6. The method of claim 1 , wherein the state parameter of the secure client connection comprises a Secure Socket Layer (SSL) connection state element.

7. The method of claim 1 , wherein the state parameter of the secure client connection comprises a Secure Socket Layer (SSL) session key.

8. The method of claim 1 , wherein establishing the secure client connection further comprises authenticating the client computing device using a client credential.

9. The method of claim 1 , further comprising establishing the management connection with the file sharing host responsive to receiving a management connection request originated by the file sharing host.

10. The method of claim 9 , wherein establishing the management connection comprises at least one of: authenticating the file sharing host using a host credential, authenticating an authorized user of the file sharing host using a user credential, or validating an application-level protocol identifier.

11. The method of claim 1 , further comprising:

receiving, from the file sharing host, a file sharing request containing an identifier of the file residing on the file system associated with the file sharing host and identifiers of one or more file sharing clients authorized to access the file; and

producing a hyperlink comprising an identifier of the file sharing proxy server, an identifier of the file sharing host, and the identifier of the file.

12. A system, comprising:

a memory to store executable instructions; and

a processing device coupled to the memory, the processing device configured to execute the executable instructions causing the system to:

establish a secure client connection with a file sharing client;

receive a client request originated by the file sharing client, the client request identifying a file sharing host and a file residing on a file system associated with the file sharing host;

responsive to identifying a management connection with the file sharing host, transmitting to the file sharing host via the management connection, an identifier of the secure client connection and a state parameter of the secure client connection;

receive a host request originated by the file sharing host to establish a secure host connection, the host request comprising the identifier of the secure client connection;

establish the secure host connection with the file sharing host using the state parameter of the secure client connection identified by the received identifier of the secure client connection; and

forward, over the secure host connection, a first data packet received over the secure client connection, the first data packet comprising at least part of the client request; and

forward over the secure client connection, a second data packet received over the secure host connection, the second data packet comprising at least part of a content of the file identified by the client request.

13. The system of claim 12 , wherein at least one of the secure client connection or the secure host connection is provided by a Secure Socket Layer (SSL) connection.

14. The system of claim 12 , wherein forwarding the first data packet further comprises:

receiving the first data packet over a first socket associated with the secure client connection; and

writing the first data packet to a second socket associated with the secure host connection.

15. The system of claim 12 , wherein the state parameter of the secure client connection comprises a Secure Socket Layer (SSL) session key.

16. The system of claim 12 , wherein the processing device is further configured to execute the executable instructions causing the system to:

receive, from the file sharing host, a file sharing request containing an identifier of the file residing on the file system associated with the file sharing host and identifiers of one or more file sharing clients authorized to access the file; and

produce a hyperlink comprising an identifier of the file sharing proxy server, an identifier of the file sharing host, and the identifier of the file.

17. A non-transitory computer-readable storage medium comprising executable instructions which, when executed by a file sharing proxy server, cause the file sharing proxy server to:

receive a client request originated by a client computing device, the client request identifying a file sharing host and a file residing on a file system associated with the file sharing host;

establish a secure client connection with the client computing device;

responsive to identifying a management connection with the file sharing host, transmit, to the file sharing host via the management connection, an identifier of the secure client connection and a state parameter of the secure client connection;

receive a host request originated by the file sharing host to establish a secure host connection with the file sharing proxy server, the host request comprising the identifier of the secure client connection;

establish the secure host connection with the file sharing host using the state parameter of the secure client connection identified by the received identifier of the secure client connection;

forward, over the secure host connection, a first data packet received over the secure client connection, the first data packet comprising at least part of the client request; and

forward, over the secure client connection, a second data packet received over the secure host connection, the second data packet comprising at least part of a content of the file identified by the client request.

18. The non-transitory computer-readable storage medium of claim 17 , wherein forwarding the first data packet further comprises:

receiving the first data packet over a first socket associated with the secure client connection; and

writing the first data packet to a second socket associated with the secure host connection.

19. The non-transitory computer-readable storage medium of claim 17 , wherein the state parameter of the secure client connection comprises a Secure Socket Layer (SSL) session key.

20. The non-transitory computer-readable storage medium of claim 17 , further comprising executable instructions to cause the file sharing proxy server to:

receive, from the file sharing host, a file sharing request containing an identifier of the file residing on the file system associated with the file sharing host and identifiers of one or more file sharing clients authorized to access the file; and

produce a hyperlink comprising an identifier of the file sharing proxy server, an identifier of the file sharing host, and the identifier of the file.

Assignments (5)
RELEASE OF SECURITY INTEREST Recorded Jul 18, 2019
From: UBS AG, STAMFORD BRANCH, AS ADMINISTRATIVE AND COLLATERAL AGENT
To: COREL CORPORATION; CLEARSLIDE, INC.; PARALLELS INTERNATIONAL GMBH
Reel/Frame 049787/0073 →
RELEASE OF SECURITY INTEREST RECORDED AT : REEL 047973 FRAME 0797 Recorded Jul 17, 2019
From: UBS AG, STAMFORD BRANCH
To: PARALLELS INTERNATIONAL GMBH
Reel/Frame 049773/0590 →
SECURITY INTEREST Recorded Dec 21, 2018
From: PARALLELS INTERNATIONAL GMBH
To: UBS AG, STAMFORD BRANCH
Reel/Frame 047973/0797 →
MERGER AND CHANGE OF NAME Recorded Nov 5, 2018
From: PARALLELS IP HOLDINGS GMBH; PARALLELS INTERNATIONAL GMBH
To: PARALLELS INTERNATIONAL GMBH
Reel/Frame 047409/0673 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 14, 2016
From: PETRUKHIN, ALEXEY; NIKOLAENKO, GRIGORY; DOBROVOLSKIY, NIKOLAY; BELOUSSOV, SERGUEI
To: PARALLELS IP HOLDINGS GMBH
Reel/Frame 037966/0676 →
Cited By (1)
US 12,632,448