IP Library Granted Patent US 10,554,591
Granted Patent B2
US 10,554,591 · App. 15/691,569 · Granted Feb 4, 2020

Techniques for efficient messaging client communication

Inventors: Wei Zhang (Bellevue, WA); Lei Guang (Bellevue, WA); Shaoqian Yuan (Sammamish, WA); Pei Yue (Bellevue, WA); Shuangtiao Huang (Bellevue, WA); Vladimir Shubin (Kenmore, WA); Yanhong Ju (Redmond, WA); Qunshu Zhang (Sammamish, WA)
Assignee: FACEBOOK, INC.
H04L51/04H04L63/083H04L67/145H04W12/06
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,554,591
App. No.
15/691,569
Granted
Feb 4, 2020
Kind
B2
Abstract

Techniques for efficient messaging client communication are described. In one embodiment, an apparatus may comprise a client front-end component of a messaging server operative to receive a protocol connect packet from a messaging client, the protocol connect packet initiating a client authentication process with the messaging client; and receive a message package from the messaging client, the message package received during the client authentication process; a client authentication component operative to perform the client authentication process with the messaging client; and a client message queueing component operative to queue the message package in an authorization-holding message queue in response to the message package being received during the client authentication process. Other embodiments are described and claimed.

Claims (56)

1. A computer-implemented method, comprising:

receiving a protocol connect packet from a messaging client at a messaging server, the protocol connect packet initiating a client authentication process for a messaging system with the messaging client, wherein the client authentication process is based on connection information extracted from the protocol connect packet;

receiving a message package at the messaging server, wherein the message packet is from the messaging client and for distribution via the messaging system, the message package received during the client authentication process; and

queueing the message package in an authorization-holding message queue in response to the message package being received during the client authentication process.

2. The method of claim 1 , further comprising:

completing the client authentication process with the messaging client as a successful authentication; and

forwarding the message package from the authorization-holding message queue to an outgoing message queue in response to the successful authentication.

3. The method of claim 2 , further comprising:

sending a message reception acknowledgement for the message package to the messaging client in response to forwarding the message package from the authorization-holding message queue to the outgoing message queue based on the successful authentication.

4. The method of claim 1 , further comprising:

determining a failed authentication for the client authentication process with the messaging client; and

deleting the message package from the authorization-holding message queue in response to the failed authentication.

5. The method of claim 1 , further comprising:

receiving a messaging client subscription package as part of the protocol connect packet, the messaging client subscription package comprising a plurality of subscription topics for foreground messaging client notification.

6. The method of claim 1 , further comprising:

resetting a stay-alive ping request timer associated with the messaging client at the messaging server in response to receiving the message package.

7. The method of claim 1 , further comprising:

receiving a stay-alive ping from the messaging client at the messaging server, the stay-alive ping sent based on a client device screen activation for a client device executing the messaging client; and

resetting a stay-alive ping request timer associated with the messaging client at the messaging server in response to receiving the stay-alive ping.

8. An apparatus, comprising:

a hardware processor;

a client front-end component of a messaging server operative to receive a protocol connect packet from a messaging client, the protocol connect packet initiating a client authentication process for a messaging system with the messaging client, wherein the client authentication process is based on connection information extracted from the protocol connect packet; and receive a message package from the messaging client for distribution via the messaging system, the message package received during the client authentication process;

a client authentication component operative to perform the client authentication process with the messaging client; and

a client message queueing component operative to queue the message package in an authorization-holding message queue in response to the message package being received during the client authentication process.

9. The apparatus of claim 8 , further comprising:

the client authentication component operative to complete the client authentication process with the messaging client as a successful authentication; and

the client message queueing component operative to forward the message package from the authorization-holding message queue to an outgoing message queue in response to the successful authentication.

10. The apparatus of claim 9 , further comprising:

the client front-end component operative to send a message reception acknowledgement for the message package to the messaging client in response to the forwarding of the message package from the authorization-holding message queue to the outgoing message queue based on the successful authentication.

11. The apparatus of claim 8 , further comprising:

the client authentication component operative to determine a failed authentication for the client authentication process with the messaging client; and

the client message queueing component operative to delete the message package from the authorization-holding message queue in response to the failed authentication.

12. The apparatus of claim 8 , further comprising:

the client front-end component operative to receive a messaging client subscription package as part of the protocol connect packet, the messaging client subscription package comprising a plurality of subscription topics for foreground messaging client notification.

13. The apparatus of claim 8 , further comprising:

the client front-end component operative to reset a stay-alive ping request timer associated with the messaging client at the messaging server in response to receiving the message package.

14. The apparatus of claim 8 , further comprising:

the client front-end component operative to receive a stay-alive ping from the messaging client at the messaging server, the stay-alive ping sent based on a client device screen activation for a client device executing the messaging client; and reset a stay-alive ping request timer associated with the messaging client at the messaging server in response to receiving the stay-alive ping.

15. At least one non-transitory computer-readable storage medium comprising instructions that, when executed, cause a system to:

receive a protocol connect packet from a messaging client at a messaging server, the protocol connect packet initiating a client authentication process for a messaging system with the messaging client, wherein the client authentication process is based on connection information extracted from the protocol connect packet;

receive a message package at the messaging server, wherein the message packet is from the messaging client and for distribution via the messaging system, the message package received during the client authentication process; and

queue the message package in an authorization-holding message queue in response to the message package being received during the client authentication process.

16. The at least one non-transitory computer-readable storage medium of claim 15 , comprising further instructions that, when executed, cause a system to:

complete the client authentication process with the messaging client as a successful authentication;

forward the message package from the authorization-holding message queue to an outgoing message queue in response to the successful authentication; and

send a message reception acknowledgement for the message package to the messaging client in response to forwarding the message package from the authorization-holding message queue to the outgoing message queue based on the successful authentication.

17. The at least one non-transitory computer-readable storage medium of claim 15 , comprising further instructions that, when executed, cause a system to:

determine a failed authentication for the client authentication process with the messaging client; and

delete the message package from the authorization-holding message queue in response to the failed authentication.

18. The at least one non-transitory computer-readable storage medium of claim 15 , comprising further instructions that, when executed, cause a system to:

receive a messaging client subscription package as part of the protocol connect packet, the messaging client subscription package comprising a plurality of subscription topics for foreground messaging client notification.

19. The at least one non-transitory computer-readable storage medium of claim 15 , comprising further instructions that, when executed, cause a system to:

reset a stay-alive ping request timer associated with the messaging client at the messaging server in response to receiving the message package.

20. The at least one non-transitory computer-readable storage medium of claim 15 , comprising further instructions that, when executed, cause a system to:

receive a stay-alive ping from the messaging client at the messaging server, the stay-alive ping sent based on a client device screen activation for a client device executing the messaging client; and

reset a stay-alive ping request timer associated with the messaging client at the messaging server in response to receiving the stay-alive ping.

Assignments (2)
CHANGE OF NAME Recorded May 5, 2022
From: FACEBOOK, INC.
To: META PLATFORMS, INC.
Reel/Frame 059858/0387 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 16, 2017
From: ZHANG, WEI; GUANG, LEI; YUAN, SHAOQIAN; YUE, PEI; HUANG, SHUANGTIAO; SHUBIN, VLADIMIR; JU, YANHONG; ZHANG, QUNSHU
To: FACEBOOK, INC.
Reel/Frame 044151/0901 →
Continuity (1)
Related Publication 20190068528A1 · Feb 28, 2019