IP Library Granted Patent US 8,954,100
Granted Patent B2
US 8,954,100 · App. 13/290,000 · Granted Feb 10, 2015

Server-side rate-limiting algorithms for piggybacking social updates for mobile devices

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 8,954,100
App. No.
13/290,000
Granted
Feb 10, 2015
Kind
B2
Abstract

In one embodiment, a mobile device determines a notification mode based on the mobile device's user interface mode, and transmits a message comprising the notification mode to a server, causing the server to transmit one or more messages to the mobile device based on the notification mode.

Claims (41)

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

receiving, from a mobile device of a first user, device status information selected from the group consisting of: information related to power for the device, information related to network connectivity of the device, or a notification mode of the device;

identifying one or more outgoing messages to be sent to the first user;

computing a value for each of the one or more outgoing messages, wherein the value is computed with respect to information about the first user;

assigning a timeout duration to each of the one or more outgoing messages, wherein the timeout duration is inversely correlated with a calculated affinity between the first user and each of the one or more outgoing messages, and wherein the timeout duration is scaled by a scaling factor that is based on the device status information;

placing the outgoing messages into an outgoing message queue; and

upon the detection of a triggering condition, sending at least one of the messages in the outgoing message queue to the mobile device, the triggering condition being based on the device status information, the timeout duration, and the respective values of the one or more outgoing messages.

2. The method of claim 1 , wherein the determining a value of the one or more outgoing messages is further based on an affinity between each of the one or more outgoing messages and the first user.

3. The method of claim 1 , placing the one or more outgoing messages into an outgoing message queue comprising calculating a sum of the values for all the messages in the outgoing message queue, wherein the triggering condition comprises the sum exceeding a predetermined threshold.

4. The method of claim 3 , wherein the predetermined threshold is based on the device status information.

5. The method of claim 1 wherein the triggering condition is triggered if any one of the timeout durations for the one or more messages in the outgoing message queue has elapsed.

6. The method of claim 1 , wherein the device status information comprises the system health of the mobile device.

7. The method of claim 6 , wherein the system health of the mobile device comprises the battery state of the mobile device.

8. A non-transitory, computer-readable media comprising instructions operable, when executed by one or more computing devices, to:

receive, from a mobile device of a first user, device status information selected from the group consisting of: information related to power for the device, information related to network connectivity of the device, or a notification mode of the device;

identify one or more outgoing messages to be sent to the first user;

compute a value for each of the one or more outgoing messages, wherein the value is computed with respect to information about the first user;

assign a timeout duration to each of the one or more outgoing messages, wherein the timeout duration is inversely correlated with a calculated affinity between the first user and each of the one or more outgoing messages, and wherein the timeout duration is scaled by a scaling factor that is based on the device status information;

place the outgoing messages into an outgoing message queue; and

upon the detection of a triggering condition, send at least one of the messages in the outgoing message queue to the mobile device, the triggering condition being based on the device status information, the timeout duration, and the respective values of the one or more outgoing messages.

9. The media of claim 8 , wherein the determining a value of the one or more outgoing messages is further based on an affinity between each of the one or more outgoing messages and the first user.

10. The media of claim 8 , placing the one or more outgoing messages into an outgoing message queue comprising calculating a sum of the values for all the messages in the outgoing message queue, wherein the triggering condition comprises the sum exceeding a predetermined threshold.

11. The media of claim 10 , wherein the predetermined threshold is based on the device status information.

12. The media of claim 8 , wherein the triggering condition is triggered if any one of the timeout durations for the one or more messages in the outgoing message queue has elapsed.

13. The media of claim 8 , wherein the device status information comprises the system health of the mobile device.

14. The media of claim 13 , wherein the system health comprises the battery state of the mobile device.

15. 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:

receive, from a mobile device of a first user, device status information selected from the group consisting of: information related to power for the device, information related to network connectivity of the device, or a notification mode of the device;

identify one or more outgoing messages to be sent to the first user;

compute a value for each of the one or more outgoing messages, wherein the value is computed with respect to information about the first user;

assign a timeout duration to each of the one or more outgoing messages, wherein the timeout duration is inversely correlated with a calculated affinity between the first user and each of the one or more outgoing messages, and wherein the timeout duration is scaled by a scaling factor that is based on the device status information;

place the outgoing messages into an outgoing message queue; and

upon the detection of a triggering condition, send at least one of the messages in the outgoing message queue to the mobile device, the triggering condition being based on the device status information, the timeout duration, and the respective values of the one or more outgoing messages.

16. The system of claim 15 , wherein the determining a value of the one or more outgoing messages is further based on an affinity between each of the one or more outgoing messages and the first user.

17. The system of claim 15 , placing the one or more outgoing messages into an outgoing message queue comprising calculating a sum of the values for all the messages in the outgoing message queue, wherein the triggering condition comprises the sum exceeding a predetermined threshold.

18. The system of claim 17 , wherein the predetermined threshold is based on the device status information.

19. The system of claim 15 , wherein the triggering condition is triggered if any one of the timeout durations for the one or more messages in the outgoing message queue has elapsed.

20. The system of claim 15 , wherein the device status information comprises the system health of the mobile device.

21. The system of claim 20 , wherein the system health comprises the battery state of the mobile device.

Assignments (2)
CHANGE OF NAME Recorded Dec 20, 2021
From: FACEBOOK, INC.
To: META PLATFORMS, INC.
Reel/Frame 058553/0802 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 18, 2011
From: TOKSVIG, MICHAEL JOHN MCKENZIE; PAPAKIPOS, MATTHEW NICHOLAS
To: FACEBOOK, INC.
Reel/Frame 027257/0458 →