US 11,809,336 B2
Endpoint command invocation system using worker selection
Xi Yang, East York (CA); Paul-Andrew Joseph Miseiko, Mississauga (CA); Ryan Tonini, Vaughan (CA); and Bingbin Li, North York (CA)
Assigned to Rapid7, Inc., Boston, MA (US)
Filed by Rapid7, Inc., Boston, MA (US)
Filed on Mar. 8, 2023, as Appl. No. 18/118,889.
Application 18/118,889 is a continuation of application No. 17/581,682, filed on Jan. 21, 2022, granted, now 11,625,339.
Prior Publication US 2023/0236991 A1, Jul. 27, 2023
Int. Cl. G06F 13/10 (2006.01); G06F 13/18 (2006.01)
CPC G06F 13/102 (2013.01) [G06F 13/18 (2013.01)] 20 Claims
OG exemplary drawing
 
1. A system, comprising:
one or more hardware processors with associated memory that implement an endpoint command invocation system (“ECIS”), configured to execute an invocation manager (IM) and a plurality of invocation workers (IWs), wherein
the IM is configured to:
receive an invocation of a command that indicates a plurality of command recipients,
store information regarding the command in a data store,
use a global version of a connection map to determine one or more of the IWs that have at least one connection to at least one of the command recipients, and
dispatch the command to the one or more IWs; and
each of the one or more IWs is configured to:
receive the dispatched command from the IM,
determine whether a command recipient is online or offline,
when the command recipient is online:
use a local version of the connection map to determine a connection to the command recipient, and
send the dispatched command to the command recipient over the connection, and
when the command recipient is offline:
send the dispatched command to a dispatch queue corresponding to the command recipient, wherein the dispatch queue stores the dispatched command as a pending command.