Bandwidth sharing amongst trusted peers
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-modifiedWhat 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.