IP Library Granted Patent US 10,069,876
Granted Patent B1
US 10,069,876 · App. 15/784,579 · Granted Sep 4, 2018

Method and system for integrating real time communication features in applications

Inventors: Michael Dröse (Hohenstein, DE); Tadeusz Kozak (Victoria, AU); Kavan Antony Seggie (London, GB); Dmitry Sobinov (Berlin, DE)
Assignee: Snap Inc.
H04L65/1069G06Q20/14H04L43/087H04L43/0858H04L43/0894H04L65/80H04L67/1074
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,069,876
App. No.
15/784,579
Granted
Sep 4, 2018
Kind
B1
Abstract

A computer has a processor and a memory connected to the processor. The memory stores instructions executed by the processor to receive a real time communication request from a client device and perform an evaluation of the number of client devices associated with the real time communication request. The evaluation results in the coordination of peer-to-peer communications in the event of two client devices and an attempt to host a real time communication session using a first protocol in the event of three or more client devices. A second protocol for the real time communication session is invoked in the event that the attempt to host the real time communication session using the first protocol is unsuccessful.

Claims (22)

1. A computer, comprising:

a processor; and

a memory connected to the processor, the memory storing instructions executed by the processor to:

receive a real time communication request from a client device,

perform an evaluation of the number of client devices associated with the real time communication request, wherein the evaluation results in the coordination of peer-to-peer communications in the event of two client devices and an attempt to host a real time communication session using a first protocol in the event of three or more client devices,

invoke a second protocol for the real time communication session in the event that the attempt to host the real time communication session using the first protocol is unsuccessful,

attempt to transition the real time communication session from the second protocol to the first protocol in response to the first protocol connectivity success, wherein the first protocol is the User Datagram Protocol and the second protocol is the Transmission Control Protocol,

host an application program interface operative to supply analytics on real time communication sessions, and

supply to a client a prompt regarding charges associated with a real time communication session and prompts for choosing a payment method for the charges.

2. The computer of claim 1 wherein the real time communication session supports audio and video on a single communication channel.

3. The computer of claim 1 wherein coordination of peer-to-peer communications includes coordination of User Datagram Protocol peer-to-peer communications.

4. The computer of claim 1 wherein the memory stores instructions executed by the processor to coordinate the peer-to-peer communications after confirming that the first protocol communication is operative for the two client devices.

5. The computer of claim 1 wherein the memory stores instructions executed by the processor to collect network stream quality measurements from client devices.

6. The computer of claim 5 wherein the network stream quality measurements include loss packet measurements and one-way packet queuing delay measurements.

7. The computer of claim 1 wherein the memory stores instructions executed by the processor to send real time transport control protocol receiver report messages to the client devices.

8. The computer of claim 1 wherein the memory stores instructions executed by the processor to designate client device feed qualities based upon an evaluation of real time transport control protocol receiver report messages from the client devices.

9. The computer of claim 8 wherein the memory stores instructions executed by the processor to designate client device feed qualities based upon uplink adaptation monitoring to detect packet queuing delay, packet loss and jitter.

10. The computer of claim 8 wherein the memory stores instructions executed by the processor to designate client device feed qualities by modulating at least one of target bitrate, size of video feed and number of frames per second.

11. The computer of claim 8 wherein the memory stores instructions executed by the processor to designate client device feed qualities based upon downlink adaptation monitoring of a high quality video feed and a low quality video feed.

12. The computer of claim 8 wherein the memory stores instructions executed by the processor to designate client device feed qualities based upon peer-to-peer adaptation monitoring of a single communication session between the two client devices.

13. The computer of claim 1 wherein the memory stores instructions executed by the processor to host a plurality of real time communication sessions.

14. The computer of claim 13 wherein the memory stores instructions executed by the processor to dynamically distribute load across the plurality of real time communication sessions.

Assignments (2)
CHANGE OF NAME Recorded Oct 16, 2017
From: SNAPCHAT, INC.
To: SNAP INC.
Reel/Frame 044212/0934 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 16, 2017
From: DRÖSE, MICHAEL; KOZAK, TADEUSZ; SEGGIE, KAVAN ANTONY; SOBINOV, DMITRY
To: SNAPCHAT, INC.
Reel/Frame 043872/0536 →
Continuity (4)
Continuation 14746752 · Jun 22, 2015
Continuation 14536532 · Nov 7, 2014
Provisional Application 61916562 · Dec 16, 2013
Provisional Application 61909343 · Nov 26, 2013