US9491148B2ActiveUtilityA1

Establishing a direct connection between two devices

66
Assignee: FACEBOOK INCPriority: Jul 18, 2014Filed: Jul 18, 2014Granted: Nov 8, 2016
Est. expiryJul 18, 2034(~8 yrs left)· nominal 20-yr term from priority
H04L 63/061H04L 9/32H04W 4/206G06F 21/445H04L 63/0428H04W 4/008H04L 63/04H04W 4/80H04L 51/00H04L 63/0435H04W 4/21H04L 51/52H04L 63/08H04L 63/062H04L 63/0442
66
PatentIndex Score
2
Cited by
17
References
19
Claims

Abstract

In one embodiment, a method includes, by a first computing device associated with a first user, receiving a connection request from a second computing device associated with a second user. The method also includes confirming that the connection request is associated with the second user and sending to the second computing device an acceptance of the connection request in response to confirming that the connection request is associated with the second user. The method further includes receiving from the second computing device an acknowledgement of the acceptance and, in response to the acknowledgement, allowing information to be exchanged between the first and second computing devices.

Claims

exact text as granted — not AI-modified
What is claimed is: 
     
       1. A method comprising:
 by a first computing device associated with a first user of a social-networking system, receiving a connection request from a second computing device associated with a second user of the social-networking system, wherein:
 the first and second users have previously established a social-network connection on the social-networking system; 
 the first computing device has previously received from the social-networking system (1) a unique code and (2) a public key associated with the second user; 
 the second computing device has previously received from the social-networking system (1) the unique code and (2) a private key associated with the second user and then encrypted the unique code using the second user's private key; and 
 the connection request received from the second computing device comprises the encrypted unique code; 
 
 by the first computing device, confirming that the connection request is associated with the second user, wherein the confirming comprises:
 decrypting the encrypted unique code using the second user's public key to produce a decrypted version of the encrypted unique code; and 
 verifying that the decrypted version of the encrypted unique code is valid by determining that the decrypted version of the encrypted unique code matches the unique code previously received from the social-networking system; 
 
 by the first computing device, sending to the second computing device an acceptance of the connection request in response to confirming that the connection request is associated with the second user; 
 by the first computing device, receiving from the second computing device an acknowledgement of the acceptance; 
 by the first computing device, in response to the acknowledgement, allowing information to be exchanged between the first and second computing devices; 
 by the first computing device, in response to determining that no network connection is available, storing a portion of the information exchanged between the first and second computing devices, wherein the stored portion of the information is to be sent later to the social-networking system; and 
 by the first computing device, in response to detecting an available network connection:
 connecting to the available network connection; and 
 sending, via the available network connection, the stored portion of the information to the social-networking system. 
 
 
     
     
       2. The method of  claim 1 , wherein:
 receiving the connection request from the second computing device comprises receiving the connection request directly from the second computing device; 
 sending the acceptance of the connection request to the second computing device comprises sending the acceptance of the connection request directly to the second computing device; 
 receiving the acknowledgement of the acceptance from the second computing device comprises receiving the acknowledgement of the acceptance directly from the second computing device; and 
 allowing information to be exchanged between the first and second computing devices comprises allowing information to be exchanged directly between the first and second computing devices. 
 
     
     
       3. The method of  claim 1 , wherein the unique code comprises a nickname, a first name, an image, a userid, an identifier, or an alias associated with the second user. 
     
     
       4. The method of  claim 1 , wherein the connection request further comprises a nickname, a first name, an image, a userid, an identifier, or an alias associated with the second user. 
     
     
       5. The method of  claim 1 , wherein the confirming that the connection request is associated with the second user further comprises, by the first computing device, receiving an input from the first user, wherein the input indicates that the first user received from the second user a verbal, visual, or physical indication that the connection request received by the first computing device is authentic. 
     
     
       6. The method of  claim 1 , wherein one or more portions of the connection-request acceptance or the acknowledgement are encrypted. 
     
     
       7. The method of  claim 1 , wherein:
 the second computing device has previously received from the social-networking system a public key associated with the first user; 
 the first computing device has previously received from the social-networking system a private key associated with the first user and the first user's public key; and 
 the connection-request acceptance sent by the first computing device comprises a portion that is encrypted using the first user's private key. 
 
     
     
       8. The method of  claim 1 , further comprising, by the second computing device, in response to the connection-request acceptance received from the first computing device, confirming that the connection-request acceptance is associated with the first user prior to sending the acknowledgement of the acceptance to the first computing device. 
     
     
       9. The method of  claim 1 , wherein the information exchanged between the first and second computing devices comprises contact information for the first or second user, one or more files, one or more applications, or social-networking information associated with the first or second user. 
     
     
       10. The method of  claim 1 , wherein the exchange of information between the first and second computing devices comprises the first computing device sending information to or receiving information from the second computing device in an encrypted or otherwise secure form. 
     
     
       11. The method of  claim 1 , wherein the exchange of information between the first and second computing devices comprises the first computing device sending information to or receiving information from the second computing device by a direct Wi-Fi connection between the first and second computing devices. 
     
     
       12. The method of  claim 1 , wherein the connection request is broadcast by the second device in a manner that allows the second user to remain anonymous. 
     
     
       13. One or more computer-readable non-transitory storage media comprising instructions operable when executed by a first computing device associated with a first user of a social-networking system to:
 receive a connection request from a second computing device associated with a second user of the social-networking system, wherein:
 the first and second users have previously established a social-network connection on the social-networking system; 
 the first computing device has previously received from the social-networking system (1) a unique code and (2) a public key associated with the second user; 
 the second computing device has previously received from the social-networking system (1) the unique code and (2) a private key associated with the second user and then encrypted the unique code using the second user's private key; and 
 the connection request received from the second computing device comprises the encrypted unique code; 
 
 confirm that the connection request is associated with the second user, comprising:
 decrypt the encrypted unique code using the second user's public key to produce a decrypted version of the encrypted unique code; and 
 verify that the decrypted version of the encrypted unique code is valid by determining that the decrypted version of the encrypted unique code matches the unique code previously received from the social-networking system; 
 
 send to the second computing device an acceptance of the connection request in response to confirming that the connection request is associated with the second user; 
 receive from the second computing device an acknowledgement of the acceptance; 
 in response to the acknowledgement, allow information to be exchanged between the first and second computing devices; 
 in response to determining that no network connection is available, store a portion of the information exchanged between the first and second computing devices, wherein the stored portion of the information is to be sent later to the social-networking system; and 
 in response to detecting an available network connection:
 connect to the available network connection; and 
 send, via the available network connection, the stored portion of the information to the social-networking system. 
 
 
     
     
       14. The media of  claim 13 , wherein:
 the connection request received from the second computing device is received directly from the second computing device; 
 the acceptance of the connection request sent to the second computing device is sent directly to the second computing device; 
 the acknowledgement of the acceptance received from the second computing device is received directly from the second computing device; and 
 the information exchanged between the first and second computing devices is exchanged directly between the first and second computing devices. 
 
     
     
       15. The media of  claim 13 , wherein the unique code comprises a nickname, a first name, an image, a userid, an identifier, or an alias-associated with the second user. 
     
     
       16. The media of  claim 13 , wherein the connection request further comprises a nickname, a first name, an image, a userid, an identifier, or an alias associated with the second user. 
     
     
       17. The media of  claim 13 , wherein confirming that the connection request is associated with the second user further comprises receiving an input from the first user, wherein the input indicates that the first user received from the second user a verbal, visual, or physical indication that the connection request received by the first computing device is authentic. 
     
     
       18. The media of  claim 13 , wherein one or more portions of the connection-request acceptance or the acknowledgement are encrypted. 
     
     
       19. A first computing device associated with a first user of a social-networking system, the first computing device comprising:
 one or more processors; and 
 a memory coupled to the processors comprising instructions executable by the processors, the processors being operable when executing the instructions to:
 receive a connection request from a second computing device associated with a second user of the social-networking system, wherein:
 the first and second users have previously established a social-network connection on the social-networking system; 
 the first computing device has previously received from the social-networking system (1) a unique code and (2) a public key associated with the second user; 
 the second computing device has previously received from the social-networking system (1) the unique code and (2) a private key associated with the second user and then encrypted the unique code using the second user's private key; and 
 the connection request received from the second computing device comprises the encrypted unique code; 
 
 confirm that the connection request is associated with the second user, comprising:
 decrypt the encrypted unique code using the second user's public key to produce a decrypted version of the encrypted unique code; and 
 verify that the decrypted version of the encrypted unique code is valid by determining that the decrypted version of the encrypted unique code matches the unique code previously received from the social-networking system; 
 
 send to the second computing device an acceptance of the connection request in response to confirming that the connection request is associated with the second user; 
 receive from the second computing device an acknowledgement of the acceptance; 
 in response to the acknowledgement, allow information to be exchanged between the first and second computing devices; 
 in response to determining that no network connection is available, store a portion of the information exchanged between the first and second computing devices, wherein the stored portion of the information is to be sent later to the social-networking system; and 
 in response to detecting an available network connection:
 connect to the available network connection; and 
 send, via the available network connection, the stored portion of the information to the social-networking system.

Cited by (0)

No later patents cite this yet.

References (0)

No backward citations on record.