US 12,108,487 B2
Matching pipeline for a communication system
Eoin Nolan, Dublin (IE); Séan Smithers, Dublin (IE); and Paul Magrath, Dublin (IE)
Assigned to Intercom, Inc., San Francisco, CA (US)
Filed by Intercom, Inc., San Francisco, CA (US)
Filed on Aug. 9, 2022, as Appl. No. 17/884,153.
Claims priority of provisional application 63/244,141, filed on Sep. 14, 2021.
Prior Publication US 2023/0079593 A1, Mar. 16, 2023
Int. Cl. H04W 8/18 (2009.01); H04W 4/08 (2009.01)
CPC H04W 8/186 (2013.01) [H04W 4/08 (2013.01)] 19 Claims
OG exemplary drawing
 
1. A method comprising:
identifying a first group of user objects that are absent from a first user path, the first group of user objects having a first attribute, each user object being associated with a user device of a user, the first user path comprising a first edge, a second edge, an entry node, a first subsequent node, and a second subsequent node, each node comprising a condition block, a content block, and an action block, the condition block of the first subsequent node indicating whether respective user object advances within the first user path from the first subsequent node along the first edge or the second edge;
locating active checkpoints within other user paths with each active checkpoint having a user object associated therewith;
forming a second group of the user objects associated with the active checkpoints from the other user paths;
performing, with a processing device, a negative match with a second attribute to;
remove a first user object from the first group that matches the second attribute to keep a first set of remaining user objects in the first group;
prevent the first user object from entering the first user path;
remove a second user object from the second group that matches the second attribute to keep a second set of remaining user objects in the second group; and
prevent the second user object from entering the first user path;
generating a third group comprising the first set of remaining user objects and the second set of remaining user objects;
processing, in response to forming the third group, each user object of the third group to:
place each user object at the entry node of the first user path;
create a first active checkpoint for each user object at the entry node;
advance each user object from the entry node to the first subsequent node of the first user path; and
create a subsequent checkpoint for each user object at the first subsequent node; and
completing a task associated with the first subsequent checkpoint.