IP Library Granted Patent US 9,876,745
Granted Patent B2
US 9,876,745 · App. 15/435,915 · Granted Jan 23, 2018

Systems and methods for transferring message data

Inventors: Andrey Kushnir (Sunnyvale, CA); Maksim Terekhin (Ulyanovsk, RU); Leonid Mosenkov (Ulyanovsk, RU)
Assignee: Satori Worldwide, LLC
H04L51/14G06Q10/107H04L47/11H04L47/25H04L67/2857
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 9,876,745
App. No.
15/435,915
Granted
Jan 23, 2018
Kind
B2
Abstract

Methods, systems, and apparatus, including computer programs encoded on a computer storage medium, are described for providing messages to client devices. In certain examples, a stream of messages is provided to a messaging application on a client device at a desired message feed rate. A message download rate of the stream of messages by the messaging application is monitored. A determination is made that the message download rate is less than the desired message feed rate. In response, the stream of messages is provided to a buffer on the client device at the desired message feed rate, and the stream of messages is sent from the buffer to the messaging application at the message download rate. A determination is made that the message download rate is greater than the desired message feed rate and, in response, a stored quantity of messages on the buffer is allowed to decrease. A determination is made that the stored quantity of messages on the buffer is zero and, in response, the stream of messages is provided to the messaging application at the desired message feed rate.

Claims (50)

1. A method, comprising:

receiving a stream of messages at a buffer, wherein the stream of messages comprises a message feed rate;

determining a maximum download rate for a messaging application of a subscriber client;

providing, by one or more computer processors, the stream of messages from the buffer to the messaging application at the message feed rate when the message feed rate is less than or equal to the maximum download rate; and

providing, by one or more computer processors, the stream of messages from the buffer to the messaging application at a rate less than or equal to the maximum download rate when the message feed rate is greater than the maximum download rate.

2. The method of claim 1 , wherein providing the stream of messages from the buffer to the messaging application at the message feed rate comprises:

providing the stream of messages to the messaging application without storing the messages in the buffer when the message feed rate is less than or equal to the maximum download rate.

3. The method of claim 1 , comprising:

monitoring download capabilities of the messaging application; and

based thereon, determining that the messaging application is unable to download the stream of messages at the message feed rate.

4. The method of claim 1 , comprising:

storing messages in the buffer when the message feed rate is greater than the maximum download rate.

5. The method of claim 4 , comprising:

deleting messages stored in the buffer when the buffer is full and the messaging application is unable to download additional messages.

6. The method of claim 5 , wherein messages stored in the buffer for a longest period of time are deleted.

7. The method of claim 1 , comprising:

allowing a stored quantity of messages in the buffer to decrease when the message feed rate is less than or equal to the maximum download rate.

8. The method of claim 7 , comprising:

determining that the stored quantity of messages in the buffer is zero; and

in response, providing the stream of messages from the buffer to the messaging application at the message feed rate.

9. The method of claim 1 , wherein messages are provided to the messaging application in an order in which the buffer received the messages.

10. The method of claim 1 , wherein the buffer resides on the subscriber client.

11. A subscriber client, comprising:

a buffer; and

one or more computer processors programmed to perform operations to:

receive a stream of messages at the buffer, wherein the stream of messages comprises a message feed rate;

determine a maximum download rate for a messaging application of the subscriber client;

provide the stream of messages from the buffer to the messaging application at the message feed rate when the message feed rate is less than or equal to the maximum download rate; and

provide the stream of messages from the buffer to the messaging application at a rate less than or equal to the maximum download rate when the message feed rate is greater than the maximum download rate.

12. The subscriber client of claim 11 , wherein to provide the stream of messages from the buffer to the messaging application at the message feed rate the one or more computer processors are further to:

provide the stream of messages to the messaging application without storing the messages in the buffer when the message feed rate is less than or equal to the maximum download rate.

13. The subscriber client of claim 11 , wherein the one or more computer processors are further to:

monitor download capabilities of the messaging application; and

based thereon, determine that the messaging application is unable to download the stream of messages at the message feed rate.

14. The subscriber client of claim 11 , wherein the one or more computer processor are further to:

store messages in the buffer when the message feed rate is greater than the maximum download rate.

15. The subscriber client of claim 14 , wherein the one or more computer processor are further to:

delete messages stored in the buffer when the buffer is full and the messaging application is unable to download additional messages.

16. The subscriber client of claim 15 , wherein the one or more computer processors are further to delete messages stored in the buffer for a longest period of time.

17. The subscriber client of claim 11 , wherein the one or more computer processor are further to:

allow a stored quantity of messages in the buffer to decrease when the message feed rate is less than or equal to the maximum download rate.

18. The subscriber client of claim 17 , wherein the one or more computer processor are further to:

determine that the stored quantity of messages in the buffer is zero; and

in response, provide the stream of messages from the buffer to the messaging application at the message feed rate.

19. The subscriber client of claim 11 , wherein the one or more computer processors are further to provide the messages to the messaging application in an order in which the buffer received the messages.

20. A non-transitory computer-readable medium having instructions stored thereon that, when executed by one or more computer processors, cause the one or more computer processors to:

receive a stream of messages at a buffer, wherein the stream of messages comprises a message feed rate;

determine a maximum download rate for a messaging application of a subscriber client;

provide, by the one or more computer processors, the stream of messages from the buffer to the messaging application at the message feed rate when the message feed rate is less than or equal to the maximum download rate; and

provide, by the one or more computer processors, the stream of messages from the buffer to the messaging application at a rate less than or equal to the maximum download rate when the message feed rate is greater than the maximum download rate.

Assignments (6)
RELEASE OF SECURITY INTEREST Recorded May 19, 2020
From: COMERICA BANK
To: SATORI WORLDWIDE, LLC
Reel/Frame 052707/0769 →
RELEASE OF SECURITY INTEREST Recorded May 19, 2020
From: MGG INVESTMENT GROUP LP, AS COLLATERAL AGENT
To: MACHINE ZONE, INC.; SATORI WORLDWIDE, LLC; COGNANT LLC
Reel/Frame 052706/0917 →
SECURITY INTEREST Recorded May 22, 2018
From: SATORI WORLDWIDE, LLC
To: COMERICA BANK
Reel/Frame 046215/0159 →
NOTICE OF SECURITY INTEREST -- PATENTS Recorded Feb 2, 2018
From: MACHINE ZONE, INC.; SATORI WORLDWIDE, LLC; COGNANT LLC
To: MGG INVESTMENT GROUP LP, AS COLLATERAL AGENT
Reel/Frame 045237/0861 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 13, 2017
From: MACHINE ZONE, INC.
To: SATORI WORLDWIDE, LLC
Reel/Frame 044428/0652 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 8, 2017
From: KUSHNIR, ANDREY; TEREKHIN, MAKSIM; MOSENKOV, LEONID
To: MACHINE ZONE, INC.
Reel/Frame 042647/0048 →
Continuity (3)
Continuation 15196597 · Jun 29, 2016
Continuation 14885034 · Oct 16, 2015
Related Publication 20170163582A1 · Jun 8, 2017