US11765643B2ActiveUtilityA1

Bandwidth sharing amongst trusted peers

Assignee: CITRIX SYSTEMS INCPriority: Jun 19, 2019Filed: Oct 15, 2021Granted: Sep 19, 2023
Est. expiryJun 19, 2039(~12.9 yrs left)· nominal 20-yr term from priority
H04L 67/104H04W 40/34H04W 88/04H04W 48/20H04W 8/005H04W 40/24H04L 63/0428H04W 40/22H04L 47/125H04L 63/0807H04W 8/04H04L 67/51H04W 76/14H04W 12/033H04L 9/3213H04W 4/06H04W 4/12H04W 12/06H04W 92/18
60
PatentIndex Score
0
Cited by
33
References
18
Claims

Abstract

A first device connected to a network via a first connection may perform a method that involves determining a need for improved communication between the first device and the network, receiving a message from a second device that includes an indication of at least one performance parameter of a second connection between the second device and the network, establishing a peer-to-peer connection between the first device and the second device based at least in part on the indication, and communicating with the network via a communications channel that includes the peer-to-peer connection and the second connection.

Claims

exact text as granted — not AI-modified
What is claimed is: 
     
       1. A method, comprising:
 receiving, by a first instance of a first application operating under control of a first device and from a remote computing system, a first indication that an identity of a first user of the first device has been authenticated by the remote computing system; 
 determining, by the first instance of the first application, that a first connection between the first device and a network is inadequate to support use of a second application by the first device; 
 causing, by the first instance of the first application and based at least in part on the first indication and the first connection being inadequate to support use of the second application, a peer-to-peer connection to be established between the first device and a second device controlling a second instance of the first application; and 
 communicating, by the first device, with the network via a communications channel that includes the peer-to-peer connection and a second connection between the second device and the network, the communications channel being configured such that the second device forwards first data the second device receives from the network via the second connection to the first device via the peer-to-peer connection, and such that the second device forwards second data the second device receives from the first device via the peer-to-peer connection to the network via the second connection. 
 
     
     
       2. The method of  claim 1 , further comprising:
 receiving, by the second instance of the first application and from the remote computing system, a second indication that an identity of a second user of the second device has been authenticated by the remote computing system; 
 wherein establishing the peer-to-peer connection is further based at least in part on receipt of the second indication. 
 
     
     
       3. The method of  claim 1 , further comprising:
 receiving, by the first instance of the first application, a first message from the second device, the first message including a second indication of at least one performance parameter of the second connection; 
 wherein causing the peer-to-peer connection to be established is further based at least in part on receipt of the second indication. 
 
     
     
       4. The method of  claim 3 , further comprising:
 causing, by the first instance of the first application, the first device to broadcast of second message indicating a need for additional bandwidth, wherein the first message is responsive to the second message. 
 
     
     
       5. The method of  claim 1 , further comprising:
 causing, by the first instance of the first application and based at least in part on the first indication, the first device to present a user interface enabling access to the second application; and 
 receiving, by the first instance of the first application, an input to the user interface requesting access to the second application. 
 
     
     
       6. The method of  claim 1 , further comprising:
 determining, by the first instance of the first application, that the second application has been designated as being of a first level of importance relative to other applications; 
 wherein causing the peer-to-peer connection to be established is further based at least in part on the second application having been designated as being of the first level of importance. 
 
     
     
       7. The method of  claim 1 , wherein the first instance of the first application is executing on the first device and the second instance of the first application is executing on the second device. 
     
     
       8. The method of  claim 1 , further comprising:
 receiving, by the first instance of the first application and from the remote computing system based at least in part on authentication of the first user by the remote computing system, a first token to encrypt communications sent over the peer-to-peer connection; and 
 receiving, by the second instance of the first application and from the remote computing system based at least in part on authentication of a second user of the second device by the remote computing system, a second token to decrypt communications received over the peer-to-peer connection. 
 
     
     
       9. A system, comprising:
 at least one processor; and 
 at least one computer-readable medium encoded with instructions which, when executed by the at least one processor, cause the system to:
 receive, by a first instance of a first application operating under control of a first device and from a remote computing system, a first indication that an identity of a first user of the first device has been authenticated by the remote computing system, 
 determine, by the first instance of the first application, that a first connection between the first device and a network is inadequate to support use of a second application by the first device, 
 cause, by the first instance of the first application and based at least in part on the first indication and the first connection being inadequate to support use of the second application, a peer-to-peer connection to be established between the first device and a second device controlling a second instance of the first application, and 
 communicate, by the first device, with the network via a communications channel that includes the peer-to-peer connection and a second connection between the second device and the network, the communications channel being configured such that the second device forwards first data the second device receives from the network via the second connection to the first device via the peer-to-peer connection, and such that the second device forwards second data the second device receives from the first device via the peer-to-peer connection to the network via the second connection. 
 
 
     
     
       10. The system of  claim 9 , wherein the at least one computer-readable medium is further encoded with additional instructions which, when executed by the at least one processor, further cause the system to:
 receive, by the second instance of the first application and from the remote computing system, a second indication that an identity of a second user of the second device has been authenticated by the remote computing system; and 
 establish the peer-to-peer connection further based at least in part on receipt of the second indication. 
 
     
     
       11. The system of  claim 9 , wherein the at least one computer-readable medium is further encoded with additional instructions which, when executed by the at least one processor, further cause the system to:
 receive, by the first instance of the first application, a first message from the second device, the first message including a second indication of at least one performance parameter of the second connection; and 
 cause the peer-to-peer connection to be established further based at least in part on receipt of the second indication. 
 
     
     
       12. The system of  claim 11 , wherein the at least one computer-readable medium is further encoded with additional instructions which, when executed by the at least one processor, further cause the system to:
 cause, by the first instance of the first application, the first device to broadcast of second message indicating a need for additional bandwidth, wherein the first message is responsive to the second message. 
 
     
     
       13. The system of  claim 9 , wherein the at least one computer-readable medium is further encoded with additional instructions which, when executed by the at least one processor, further cause the system to:
 cause, by the first instance of the first application and based at least in part on the first indication, the first device to present a user interface enabling access to the second application; and 
 receive, by the first instance of the first application, an input to the user interface requesting access to the second application. 
 
     
     
       14. The system of  claim 9 , wherein the at least one computer-readable medium is further encoded with additional instructions which, when executed by the at least one processor, further cause the system to:
 determine, by the first instance of the first application, that the second application has been designated as being of a first level of importance relative to other applications; and 
 cause the peer-to-peer connection to be established further based at least in part on the second application having been designated as being of the first level of importance. 
 
     
     
       15. The system of  claim 9 , wherein the first instance of the first application is configured to execute on the first device and the second instance of the first application is configured to execute on the second device. 
     
     
       16. The system of  claim 9 , wherein the at least one computer-readable medium is further encoded with additional instructions which, when executed by the at least one processor, further cause the system to:
 receive, by the first instance of the first application and from the remote computing system based at least in part on authentication of the first user by the remote computing system, a first token to encrypt communications sent over the peer-to-peer connection; and 
 receive, by the second instance of the first application and from the remote computing system based at least in part on authentication of a second user of the second device by the remote computing system, a second token to decrypt communications received over the peer-to-peer connection. 
 
     
     
       17. At least one non-transitory computer-readable medium encoded with instructions which, when executed by at least one processor of a system, cause the system to:
 receive, by a first instance of a first application operating under control of a first device and from a remote computing system, a first indication that an identity of a first user of the first device has been authenticated by the remote computing system; 
 determine, by the first instance of the first application, that a first connection between the first device and a network is inadequate to support use of a second application by the first device; 
 cause, by the first instance of the first application and based at least in part on the first indication and the first connection being inadequate to support use of the second application, a peer-to-peer connection to be established between the first device and a second device controlling a second instance of the first application; and 
 communicate, by the first device, with the network via a communications channel that includes the peer-to-peer connection and a second connection between the second device and the network, the communications channel being configured such that the second device forwards first data the second device receives from the network via the second connection to the first device via the peer-to-peer connection, and such that the second device forwards second data the second device receives from the first device via the peer-to-peer connection to the network via the second connection. 
 
     
     
       18. The at least one non-transitory computer-readable medium of  claim 17 , further encoded with additional instructions which, when executed by the at least one processor, further cause the system to:
 receive, by the second instance of the first application and from the remote computing system, a second indication that an identity of a second user of the second device has been authenticated by the remote computing system; and 
 establish the peer-to-peer connection further based at least in part on receipt of the second indication.

Join the waitlist — get patent alerts

Track US11765643B2 — get alerts on status changes and closely related new filings.

We store only your email — no account needed. See our privacy policy.