IP Library Granted Patent US 9,467,290
Granted Patent B2
US 9,467,290 · App. 13/970,550 · Granted Oct 11, 2016

Method and apparatus for providing secure streaming data transmission facilities using unreliable protocols

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,467,290
App. No.
13/970,550
Granted
Oct 11, 2016
Kind
B2
Abstract

The disclosure provides a method and apparatus for transmitting data securely using an unreliable communication protocol, such as User Datagram Protocol. In one variation, the disclosure describes retaining compatibility with conventional Secure Sockets Layer (SSL) and SOCKS protocols, such that secure UDP datagrams can be transmitted between a proxy server and a client computer in a manner analogous to conventional SOCKS processing. Further, the disclosure describes a network arrangement that employs a cache having copies distributed among a plurality of different locations. SSL/TLS session information for a session with each of the proxy servers is stored in the cache so that it is accessible to at least one other proxy server. Using this arrangement, cached SSL/TLS communication session information may be retrieved and used by a second proxy server to accept a session with the client device when the client device switches proxy servers.

Claims (60)

1. A method of securely transmitting a data record to or from a client computer, the method comprising:

establishing a connection between the client computer and a proxy server;

exchanging encryption credentials between the client computer and the proxy server over the connection;

agreeing between the client computer and the proxy server to use an unreliable transport protocol to transmit an encrypted data record from a sender to a receiver, wherein the receiver sends a message to the sender relating the receipt of the encrypted data record only after identifying that the encrypted data record received has a missing portion, the message sent to the sender in the form of a negative acknowledgement;

agreeing between the client computer and the proxy server that the encrypted data record will be transmitted using a particular port;

generating a nonce for the data record before the data record is encrypted;

encrypting the data record using the nonce;

appending the nonce the encrypted data record; and

transmitting the encrypted data record to or from the client computer using the unreliable transport protocol.

2. The method of claim 1 further comprising:

identifying of a second server by the client computer;

identifying data residing on the second server by the client computer;

transmitting of the identified data from the second server to the proxy server; and

transmitting of the identified data from the proxy server to the client computer, wherein the identified data transmitted from the proxy server to the client computer includes the encrypted data record.

3. The method of claim 2 , further comprising sending information by the client computer to the proxy server regarding the second server.

4. The method of claim 3 , wherein the information sent includes the internet protocol address of the second server.

5. The method of claim 3 , wherein the information sent identifies a port on the second sever through which the identified data is sent from the second server to the proxy server.

6. The method of claim 1 , further comprising attaching a header to the transmitted data that includes an encrypted bit, wherein the encrypted bit is set when the transmitted data includes encrypted data.

7. A non-transitory computer readable storage medium having embodied thereon a program executable by a processor to perform a method for securely transmitting a data record to or from a client computer, the method comprising:

establishing a connection between the client computer and a proxy server;

exchanging encryption credentials between the client computer and the proxy server over the connection;

agreeing between the client computer and the proxy server to use an unreliable transport protocol to transmit an encrypted data record from a sender to a receiver, wherein the receiver sends a message to the sender relating the receipt of the encrypted data record only after identifying that the encrypted data record received has a missing portion, the message sent to the sender in the form of a negative acknowledgement;

agreeing between the client computer and the proxy server that a data record will be transmitted using a particular port;

generating a nonce for the data record before the data record is encrypted;

encrypting the data record using the nonce;

appending the nonce the encrypted data record; and

transmitting the encrypted data record to or from the client computer using the unreliable transport protocol.

8. The non-transitory computer readable storage medium of claim 7 , the program further executable to:

identify a second server by the client computer;

identify data residing on the second server by the client computer to be transmitted to the client computer;

transmit the identified data from the second server to the proxy server; and

transmit the identified data from the proxy server to the client computer, wherein the identified data transmitted from the proxy server to the client computer includes the encrypted data record.

9. The non-transitory computer readable storage medium of claim 8 , the program further executable to send information by the client computer to the proxy server regarding the second server.

10. The non-transitory computer readable storage medium of claim 9 , wherein the information sent includes the internet protocol address of the second server.

11. The non-transitory computer readable storage medium of claim 9 , wherein the information sent identifies a port on the second sever through which the identified data is sent from the second server to the proxy server.

12. The non-transitory computer readable storage medium of claim 7 , the program further executable to attach a header to the transmitted data that includes an encrypted bit, wherein the encrypted bit is set when the transmitted data includes encrypted data.

13. A system for securely transmitting a data record to or from a client computer, the system comprising:

a client computer;

a memory in the client computer;

a proxy server; and

a memory in the proxy server, wherein:

a connection between the client computer and the proxy server is established,

encryption credentials between the client computer and the proxy server are exchanged over the connection,

the client computer and the proxy server agree to use an unreliable transport protocol to transmit an encrypted data record from a sender to a receiver, wherein the receiver sends a message to the sender relating the receipt of the encrypted data record only after identifying that the encrypted data record received has a missing portion, the message sent to the sender in the form of a negative acknowledgement;

the client computer and the proxy server agree that the data record will be transmitted using a particular port,

a nonce for the data record is generated,

the data record is encrypted using the nonce,

the nonce is appended to the encrypted data record, and

the encrypted data record is transmitted to or from the client computer using the protocol.

14. The system of claim 13 , further comprising:

a second server; and

a memory in the second server, wherein:

the second server is identified by the client computer,

data residing on the second server being is identified by the client computer,

the second server transmits the identified data to the proxy server, the proxy server securely transmits the identified data to the client computer, and

the identified data transmitted from the proxy server to the client computer include the encrypted data record.

15. The system of claim 14 , wherein information is sent by the client computer to the proxy server regarding the second server.

16. The system of claim 15 , wherein the information sent includes the internet protocol address of the second server.

17. The system of claim 15 , wherein the information sent identifies a port on the second sever through which the identified data is sent from the second server to the proxy server.

18. The system of claim 13 , wherein a header is attached to the transmitted data that includes an encrypted bit and the encrypted bit is set when the transmitted data includes encrypted data.

Assignments (20)
RELEASE OF SECOND LIEN SECURITY INTEREST IN PATENTS RECORDED AT RF 046321/0393 Recorded Jun 16, 2025
From: UBS AG, STAMFORD BRANCH, AS COLLATERAL AGENT
To: SONICWALL US HOLDINGS INC.
Reel/Frame 071625/0887 →
SECOND LIEN PATENT SECURITY AGREEMENT Recorded Jun 7, 2018
From: SONICWALL US HOLDINGS INC.
To: UBS AG, STAMFORD BRANCH, AS COLLATERAL AGENT
Reel/Frame 046321/0393 →
FIRST LIEN PATENT SECURITY AGREEMENT Recorded Jun 7, 2018
From: SONICWALL US HOLDINGS INC.
To: UBS AG, STAMFORD BRANCH, AS COLLATERAL AGENT
Reel/Frame 046321/0414 →
RELEASE OF FIRST LIEN SECURITY INTEREST IN PATENTS RECORDED AT R/F 040581/0850 Recorded May 22, 2018
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
To: QUEST SOFTWARE INC. (F/K/A DELL SOFTWARE INC.); AVENTAIL LLC
Reel/Frame 046211/0735 →
CORRECTIVE ASSIGNMENT TO CORRECT THE ASSIGNEE PREVIOUSLY RECORDED AT REEL: 040587 FRAME: 0624. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Nov 28, 2017
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: QUEST SOFTWARE INC. (F/K/A DELL SOFTWARE INC.); AVENTAIL LLC
Reel/Frame 044811/0598 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 25, 2017
From: AVENTAIL LLC
To: SONICWALL US HOLDINGS INC.
Reel/Frame 043950/0437 →
SECOND LIEN PATENT SECURITY AGREEMENT Recorded Nov 10, 2016
From: DELL SOFTWARE INC.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 040587/0624 →
FIRST LIEN PATENT SECURITY AGREEMENT Recorded Nov 9, 2016
From: DELL SOFTWARE INC.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 040581/0850 →
RELEASE OF SECURITY INTEREST Recorded Oct 31, 2016
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: AVENTAIL LLC; DELL PRODUCTS, L.P.; DELL SOFTWARE INC.
Reel/Frame 040521/0467 →
RELEASE OF SECURITY INTEREST IN CERTAIN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (040039/0642) Recorded Oct 31, 2016
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
To: AVENTAIL LLC; DELL PRODUCTS L.P.; DELL SOFTWARE INC.
Reel/Frame 040521/0016 →
RELEASE OF REEL 032810 FRAME 0206 (NOTE) Recorded Sep 14, 2016
From: BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
To: DELL SOFTWARE INC.; DELL PRODUCTS L.P.; CREDANT TECHNOLOGIES, INC.; COMPELLENT TECHNOLOGIES, INC.; FORCE10 NETWORKS, INC.; SECUREWORKS, INC.
Reel/Frame 040027/0204 →
RELEASE OF SECURITY INTEREST OF REEL 032809 FRAME 0930 (TL) Recorded Sep 14, 2016
From: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
To: DELL SOFTWARE INC.; DELL PRODUCTS L.P.; CREDANT TECHNOLOGIES, INC.; COMPELLENT TECHNOLOGIES, INC.; FORCE10 NETWORKS, INC.; SECUREWORKS, INC.
Reel/Frame 040045/0255 →
SECURITY AGREEMENT Recorded Sep 14, 2016
From: AVENTAIL LLC; DELL PRODUCTS, L.P.; DELL SOFTWARE INC.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 040030/0187 →
SECURITY AGREEMENT Recorded Sep 14, 2016
From: AVENTAIL LLC; DELL PRODUCTS L.P.; DELL SOFTWARE INC.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 040039/0642 →
RELEASE OF REEL 032809 FRAME 0887 (ABL) Recorded Sep 13, 2016
From: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
To: DELL PRODUCTS L.P.; DELL SOFTWARE INC.; CREDANT TECHNOLOGIES, INC.; COMPELLENT TECHNOLOGIES, INC.; FORCE10 NETWORKS, INC.; SECUREWORKS, INC.
Reel/Frame 040017/0314 →
SUPPLEMENT TO PATENT SECURITY AGREEMENT (NOTES) Recorded May 1, 2014
From: COMPELLENT TECHNOLOGIES, INC.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; FORCE10 NETWORKS, INC.; SECUREWORKS, INC.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 032810/0206 →
SUPPLEMENT TO PATENT SECURITY AGREEMENT (TERM LOAN) Recorded May 1, 2014
From: COMPELLENT TECHNOLOGIES, INC.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; FORCE10 NETWORKS, INC.; SECUREWORKS, INC.
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 032809/0930 →
SUPPLEMENT TO PATENT SECURITY AGREEMENT (ABL) Recorded May 1, 2014
From: COMPELLENT TECHNOLOGIES, INC.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; FORCE10 NETWORKS, INC.; SECUREWORKS, INC.
To: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 032809/0887 →
MERGER Recorded Apr 8, 2014
From: AVENTAIL CORPORATION
To: AVENTAIL LLC
Reel/Frame 032625/0362 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 8, 2014
From: VANHEYNINGAN, MARC D.; ERICKSON, RODGER D.
To: AVENTAIL CORPORATION
Reel/Frame 032625/0289 →