US 12,287,778 B2
Agent presence service for a cloud-based contact center platform
Charlie Helin, Murrieta, CA (US); and Justin Kurtz, San Francisco, CA (US)
Assigned to Twilio Inc., San Francisco, CA (US)
Filed by Twilio Inc., San Francisco, CA (US)
Filed on May 17, 2023, as Appl. No. 18/198,804.
Prior Publication US 2024/0386012 A1, Nov. 21, 2024
Int. Cl. G06F 16/23 (2019.01); G06F 12/0864 (2016.01)
CPC G06F 16/2379 (2019.01) [G06F 12/0864 (2013.01)] 18 Claims
OG exemplary drawing
 
1. A system for monitoring network connectivity status of a user through a presence service, the system comprising:
a processor; and
a memory storage device storing instructions thereon, which, when executed by the processor, cause the system to perform operations comprising:
receiving over a network a first heartbeat message from a client application executing on a client device of a user, the first heartbeat message received as an HTTP Post request and including a user ID of the user;
determining if a hash for the user ID of the user is present in a memory cache; and
if the hash for the user ID of the user is determined to not be present in the memory cache:
writing to the memory cache a hash for the user ID, the hash for the user ID having a key structured as a key-value pair and a first entry structured as a field-value pair, wherein the value of the key is the user ID and the value of the first entry is data indicating a session ID associated with the first heartbeat message and a timestamp associated with the first heartbeat message; and
updating a database to include a data record indicating that the user is online; and
writing to the memory cache a member in a first sorted set of a plurality of sorted sets, the member comprising a score derived from the timestamp associated with the first heartbeat message and a value comprising the hash for the user ID and session ID, wherein the first sorted set is selected from the plurality of sorted sets using an index derived from the first heartbeat message;
wherein the plurality of sorted sets enable parallel processing to identify expired agent sessions based on the scores of the members.