IP Library Granted Patent US 10,332,218
Granted Patent B2
US 10,332,218 · App. 15/620,473 · Granted Jun 25, 2019

Social ad hoc networking protocol and presentation layer

Inventors: Matthew Nicholas Papakipos (Portola Valley, CA); David Harry Garcia (Sunnyvale, CA); Michael John McKenzie Toksvig (Palo Alto, CA)
Assignee: Facebook, Inc.
G06Q50/01G06Q10/107H04L51/32H04W8/205H04L51/38H04W84/18
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,332,218
App. No.
15/620,473
Granted
Jun 25, 2019
Kind
B2
Abstract

In one embodiment, a method includes implementing an ad hoc network protocol comprising transmitting, from a first mobile device, one or more neighbor messages that includes a first user identifier corresponding to a first user of the first mobile device, wherein the first user identifier corresponds to a user account of the first user in a social networking system, receiving, at the first mobile device, one or more second neighbor messages from one or more second mobile devices that include second user identifiers corresponding to respective second users of the one or more second mobile devices, wherein the second user identifiers correspond to respective user accounts of one or more second users in the social networking system, and storing, at the first mobile device, information received in the one or more second neighbor messages for access by one or more applications hosted on the first mobile device.

Claims (56)

1. A method comprising: by one or more computing devices,

implementing an ad hoc network protocol comprising transmitting, from a first mobile device, one or more neighbor messages that includes a first user identifier corresponding to a first user of the first mobile device, wherein the first user identifier corresponds to a user account of the first user in a social networking system;

receiving, at the first mobile device, one or more second neighbor messages from one or more second mobile devices that include second user identifiers corresponding to respective second users of the one or more second mobile devices, wherein:

the second user identifiers correspond to respective user accounts of one or more second users in the social networking system, and

the second user identifiers are encrypted using a private key of the social networking system;

storing, at the first mobile device, information received in the one or more second neighbor messages for access by one or more applications hosted on the first mobile device, wherein the storing comprises decrypting the second user identifiers using a public key obtained from the social networking system;

accessing, at the first mobile device, in response to receiving the second user identifiers, the stored information to identify a valid path between the first mobile device and one of the one or more second mobile devices associated with the second user, wherein the valid path is identified based on a routing table maintained by the first mobile device; and

placing a call, at the first mobile device, between the first mobile device and a number dialed at the first mobile device through a telecommunications service of the second mobile device, wherein

placing a call, at the first mobile device, between the first mobile device and a number dialed at the first mobile device through a telecommunications service of one of the second mobile devices, wherein

the first mobile device has no access to an external telecommunications network,

the second mobile device has access to the external telecommunications network, and

the placing the call is based on the stored information received in one or more of the second neighbor messages.

2. The method of claim 1 , wherein the valid path between the first mobile device and one of the one or more second mobile devices associated with the second user comprises one or more hops.

3. The method of claim 2 , wherein the valid path comprising one or more hops utilizes only those second mobile devices where the first user of the first mobile device and the second user of the second mobile device have an association in the social networking system.

4. The method of claim 1 , wherein the first user and the second user have an association in the social networking system.

5. The method of claim 1 , further comprising:

transmitting, from the first mobile device, one or more update messages that includes the first user identifier;

receiving, at the first mobile device, one or more second update messages from the one or more second mobile devices that include the second user identifiers;

updating, at the first mobile device, the stored information previously received with information in the one or more second update messages for access by the one or more applications hosted on the first mobile device.

6. A system comprising:

a memory comprising instructions executable by one or more processors; and

the one or more processors coupled to the memory and operable to execute the instructions, the one or more processors being operable when executing the instructions to:

implement an ad hoc network protocol comprising transmitting, from a first mobile device, one or more neighbor messages that includes a first user identifier corresponding to a first user of the first mobile device, wherein the first user identifier corresponds to a user account of the first user in a social networking system;

receive, at the first mobile device, one or more second neighbor messages from one or more second mobile devices that include second user identifiers corresponding to respective second users of the one or more second mobile devices, wherein:

the second user identifiers correspond to respective user accounts of one or more second users in the social networking system, and

the second user identifiers are encrypted using a private key of the social networking system;

store, at the first mobile device, information received in the one or more second neighbor messages for access by one or more applications hosted on the first mobile device, wherein the storing comprises decrypting the second user identifiers using a public key obtained from the social networking system;

access, at the first mobile device, in response to receiving the second user identifiers, the stored information to identify a valid path between the first mobile device and one of the one or more second mobile devices associated with the second user, wherein the valid path is identified based on a routing table maintained by the first mobile device; and

place a call, at the first mobile device, between the first mobile device and a number dialed at the first mobile device through a telecommunications service of the second mobile device, wherein

the first mobile device has no access to an external telecommunications network,

the second mobile device has access to the external telecommunications network, and

the placing the call is based on the stored information received in one or more of the second neighbor messages.

7. The system of claim 6 , wherein the valid path between the first mobile device and one of the one or more second mobile devices associated with the second user comprises one or more hops.

8. The system of claim 7 , wherein the valid path comprising one or more hops utilizes only those second mobile devices where the first user of the first mobile device and the second user of the second mobile device have an association in the social networking system.

9. The system of claim 6 , wherein the first user and the second user have an association in the social networking system.

10. The system of claim 6 , further comprising:

transmit, from the first mobile device, one or more update messages that includes the first user identifier;

receive, at the first mobile device, one or more second update messages from the one or more second mobile devices that include the second user identifiers;

update, at the first mobile device, the stored information previously received with information in the one or more second update messages for access by the one or more applications hosted on the first mobile device.

11. One or more computer-readable non-transitory storage media embodying software operable when executed by one or more computer systems to:

implement an ad hoc network protocol comprising transmitting, from a first mobile device, one or more neighbor messages that includes a first user identifier corresponding to a first user of the first mobile device, wherein the first user identifier corresponds to a user account of the first user in a social networking system;

receive, at the first mobile device, one or more second neighbor messages from one or more second mobile devices that include second user identifiers corresponding to respective second users of the one or more second mobile devices, wherein:

the second user identifiers correspond to respective user accounts of one or more second users in the social networking system, and

the second user identifiers are encrypted using a private key of the social networking system;

store, at the first mobile device, information received in the one or more second neighbor messages for access by one or more applications hosted on the first mobile device, wherein the storing comprises decrypting the second user identifiers using a public key obtained from the social networking system;

access, at the first mobile device, in response to receiving the second user identifiers, the stored information to identify a valid path between the first mobile device and one of the one or more second mobile devices associated with the second user, wherein the valid path is identified based on a routing table maintained by the first mobile device; and

place a call, at the first mobile device, between the first mobile device and a number dialed at the first mobile device through a telecommunications service of the second mobile device, wherein

the first mobile device has no access to an external telecommunications network,

the second mobile device has access to the external telecommunications network, and

the placing the call is based on the stored information received in one or more of the second neighbor messages.

12. The media of claim 11 , wherein the valid path between the first mobile device and one of the one or more second mobile devices associated with the second user comprises one or more hops.

13. The media of claim 12 , wherein the valid path comprising one or more hops utilizes only those second mobile devices where the first user of the first mobile device and the second user of the second mobile device have an association in the social networking system.

14. The media of claim 11 , further comprising:

transmit, from the first mobile device, one or more update messages that includes the first user identifier;

receive, at the first mobile device, one or more second update messages from the one or more second mobile devices that include the second user identifiers;

update, at the first mobile device, the stored information previously received with information in the one or more second update messages for access by the one or more applications hosted on the first mobile device.

Assignments (3)
CHANGE OF NAME Recorded Dec 20, 2021
From: FACEBOOK, INC.
To: META PLATFORMS, INC.
Reel/Frame 058553/0802 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 13, 2019
From: PAPAKIPOS, MATTHEW NICHOLAS
To: FACEBOOK, INC.
Reel/Frame 049158/0344 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 10, 2019
From: GARCIA, DAVID HARRY; TOKSVIG, MICHAEL JOHN MCKENZIE
To: FACEBOOK, INC.
Reel/Frame 049139/0627 →
Continuity (2)
Continuation 13276451 · Oct 19, 2011
Related Publication 20170278198A1 · Sep 28, 2017
Cited By (1)
US 12,356,293