IP Library Granted Patent US 10,965,723
Granted Patent B2
US 10,965,723 · App. 16/748,310 · Granted Mar 30, 2021

Instantaneous call sessions over a communications application

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,965,723
App. No.
16/748,310
Granted
Mar 30, 2021
Kind
B2
Abstract

In one embodiment, a method includes determining, by a computer server machine, that a callee-user is available for a communication session based on location information associated with a client system of the callee-user; sending, by the computer server machine, in response to determining that the callee-user is available, a notification to a client system of a caller-user indicating that the callee-user is available; receiving, by the computer server machine, a request from the client system of the caller-user to initiate the communication session; establishing, by the computer server machine, the communication session to enable a media stream comprising media captured at the client system of the caller-user to be received at the client system of a callee-user; and sending, by the computer server machine, the media captured at the client system of the caller-user to the client system of the callee-user.

Claims (51)

1. A method comprising:

determining, by a computer server machine, that a callee-user is available for a communication session based on geographic location information associated with a client system of the callee-user;

sending, by the computer server machine, in response to determining that the callee-user is available, a notification to a client system of a caller-user indicating that the callee-user is available;

receiving, by the computer server machine, a request from the client system of the caller-user to initiate the communication session;

establishing, by the computer server machine, the communication session to enable a media stream comprising media captured at the client system of the caller-user to be received at the client system of a callee-user; and

sending, by the computer server machine, the media captured at the client system of the caller-user to the client system of the callee-user.

2. The method of claim 1 , wherein determining that the callee-user is available for the communication session comprises:

determining that the geographic location information associated with the client system of the callee-user corresponds to a geographic location that is suitable for the communication session.

3. The method of claim 1 , wherein the captured media has a media type comprising video only, audio only, or both video and audio.

4. The method of claim 1 , wherein the establishing the communication session comprises:

receiving a setup-offer from the client system of the caller-user, wherein the setup-offer comprises information corresponding to one or more capabilities of the client system of the caller-user; and

receiving a setup-answer from the client system of the callee-user, wherein the setup-answer comprises information corresponding to one or more capabilities of the client system of the callee-user.

5. The method of claim 4 , wherein the capabilities of the client system of the caller-user comprises an identification of one or more codecs, wherein the capabilities of the client system of the callee-user comprises an identification of one or more codecs, and further comprising:

determining one or more compatible codecs to be used in the communication session, wherein the media stream comprises datagrams encoded using one of the compatible codecs.

6. The method of claim 1 , further comprising:

receiving a reply-input from the client system of the callee-user;

re-establishing the communication session, the media stream further comprising media captured at the client system of the callee-user and received at the client system of the caller-user; and

sending the media captured at the client system of the callee-user to the client system of the caller-user.

7. The method of claim 6 , wherein the reply-input specifies a media type to be sent by the callee-user, wherein the media type to be sent by the callee-user differs from the media type of the media captured at the client-system of the caller-user.

8. The method of claim 6 , wherein the reply-input specifies a media type required by the callee-user for the media stream, and further comprising:

sending a request to the caller-user to accept the specified media type;

receiving a response from the caller-user regarding the request; and

if the response comprises acceptance of the specified media type, re-establishing the communication session, the media stream comprising only media of the specified media type;

else if the response comprises refusal to accept the specified media type, providing a notification to the callee-user regarding the refusal.

9. The method of claim 1 , wherein determining that the callee-user is available for the communication session is further based on an occurrence of one or more negative conditions, the one or more negative conditions comprising information indicating that the client system of the callee-user is not available for the communication session.

10. The method of claim 9 , wherein the one or more negative conditions further comprise a user preference of the callee-user indicating that the callee-user is not interested in the communication session.

11. The method of claim 9 , wherein the one or more negative conditions further comprise information about a history of behavior of the callee-user.

12. The method of claim 9 , wherein the one or more negative conditions further comprise information indicating the callee-user has already established a different communication session with a different user.

13. The method of claim 9 , wherein the one or more negative conditions further comprise information about a privacy setting of the callee-user specifying that the callee-user does not permit communication sessions initiated by other users.

14. The method of claim 9 , wherein the one or more negative conditions further comprise information about a mood or sentiment of the callee-user indicating that the callee-user is not interested in the communication session.

15. The method of claim 9 , further comprising:

accessing a social graph comprising a plurality of nodes and a plurality of edges connecting the nodes, each of the edges between two of the nodes representing a single degree of separation between them, the nodes comprising:

a first node corresponding to the callee-user;

a second node corresponding to the caller-user; and

a plurality of other nodes that each correspond to concepts or users associated with the computer server machine; and

wherein the one or more negative conditions further comprise information about one or more of the other nodes that are connected to the first node or the second node.

16. The method of claim 15 , wherein the information based on the one or more of the other nodes indicates that there is more than a single degree of separation between the first node and the second node.

17. The method of claim 15 , wherein the information based on the one or more of the other nodes indicates that the second node is among a group of nodes corresponding to users who cannot initiate a communication session with the callee-user.

18. The method of claim 1 , wherein, if the media stream comprising media captured at the client system of the caller-user comprises a video stream, the video of the video stream is optimized to be displayed within a subregion of the display of the client system of the callee-user.

19. One or more computer-readable non-transitory storage media embodying software that is operable when executed to:

determine that a callee-user is available for a communication session based on geographic location information associated with a client system of the callee-user;

send, in response to determining that the callee-user is available, a notification to a client system of a caller-user indicating that the callee-user is available;

receive a request from the client system of the caller-user to initiate the communication session;

establish the communication session to enable a media stream comprising media captured at the client system of the caller-user to be received at the client system of a callee-user; and

send the media captured at the client system of the caller-user to the client system of the callee-user.

20. A system 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:

determine that a callee-user is available for a communication session based on geographic location information associated with a client system of the callee-user;

send, in response to determining that the callee-user is available, a notification to a client system of a caller-user indicating that the callee-user is available;

receive a request from the client system of the caller-user to initiate the communication session;

establish the communication session to enable a media stream comprising media captured at the client system of the caller-user to be received at the client system of a callee-user; and

send the media captured at the client system of the caller-user to the client system of the callee-user.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 28, 2024
From: TAINE, STEPHANE; ZHANG, EDWARD YOUNG; MERCREDI, DWAYNE B.; LEGGETT, MICHAEL; ARONOFF, BRENDAN BENJAMIN; MARTINAZZI, PETER HENRY; NOON, EVAN PATRICK; KANG, DUCKJIN; EHRHARDT, JOHN RANDALL
To: FACEBOOK, INC.
Reel/Frame 066944/0310 →
CHANGE OF NAME Recorded Dec 20, 2021
From: FACEBOOK, INC.
To: META PLATFORMS, INC.
Reel/Frame 058553/0802 →