# US 12,112,192 B2 · Split triggers for executing computer operations

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 12,112,192 B2
- Document ID: US12112192B2
- Status: Granted
- Kind: B2
- Application number: 17/483,182
- Filed: 2021-09-23
- Published: 2023-03-23
- Granted: 2024-10-08
- Earliest claimed: 2021-09-23
- Assignees: Zendesk, Inc.
- Applicants: Zendesk, Inc.
- Inventors: Sanjeev Kumar Biswas; Nguyen Truong Khanh; Ang Yi Hong; Sanjaykrishnan Kumar; Arpan Nagdeve
- Web page: https://patentgrep.com/patent/US12112192B2

## CPC

- G06F 9/4843: {by program, e.g. task dispatcher, supervisor, operating system}
- H04L 67/141: Setup of application sessions (admission control or resource allocation in data switching networks H04L47/70)
- G06F 9/445: Program loading or initiating (bootstrapping G06F9/4401; security arrangements for program loading or initiating G06F21/57)
- G06F 9/451: Execution arrangements for user interfaces
- G06F 9/4806: {Task transfer initiation or dispatching}
- G06F 9/5072: {Grid computing}
- G06F 9/542: {Event management; Broadcasting; Multicasting; Notifications}
- G06F 9/547: {Remote procedure calls [RPC]; Web services}
- G06Q 10/06311: {Scheduling, planning or task assignment for a person or group}
- G06Q 30/016: After-sales
- H04L 67/02: based on web technology, e.g. hypertext transfer protocol [HTTP]
- H04L 67/34: {involving the movement of software or configuration parameters (network booting or remote initial program loading [RIPL] G06F9/4416)}
- H04L 67/535: {Tracking the activity of the user (network monitoring arrangements H04L43/00; recording of computer activity G06F11/34)}
- G06F 2209/541: Client-server
- G06F 2209/542: Intercept
- H04L 67/306: User profiles
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)
- G06Q: INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR

## Abstract

One or more computer operations are triggered and executed when multiple sets of conditions that define a split trigger and that are evaluated at multiple locations are satisfied. The operations may involve allocating or deallocating computing resources (e.g., by establishing or tearing down a persistent connection), generating a message to be displayed on a computing device, altering stored data, and/or other activity. In an illustrative client/server computing environment, a first set of client conditions of a first split trigger is evaluated at a client device, using parameters observable at the client without interaction with a server. When the first of client conditions is satisfied, the client transmits a signal to a server that then evaluates a first set of server conditions of the first split trigger. If the first sets of client conditions and server conditions are satisfied, the computer operation(s) associated with the split trigger are executed.

## Claims

### Claim 1

A method comprising:
constructing at a server one or more triggers for activating associated computer operations;
automatically splitting each of the one or more triggers by identifying, within the trigger, a first set of conditions and a second set of conditions;
receiving at the server a first non-persistent communication connection from a client computing device;
for each of the one or more triggers, transmitting to the client a corresponding first set of conditions, wherein a corresponding second set of conditions for each of the multiple triggers is stored at the server;
receiving from the client a signal indicating that a first set of conditions corresponding to a first trigger has been satisfied at the client;
retrieving the second set of conditions corresponding to the first trigger; and
executing one or more computer operations associated with the first trigger only if the second set of conditions has been satisfied;
wherein constructing the one or more triggers comprises, for each trigger:
obtaining the corresponding first set of conditions and second set of conditions; and
constructing a directed graph comprising multiple nodes, wherein each of the multiple nodes comprises one or more of the first set of conditions or one or more of the second set of conditions.

### Claim 2 (depends on 1)

The method of claim 1, further comprising:
transmitting a widget to the client, via the first non-persistent communication connection;
wherein the widget facilitates interaction between the client and a support system for supporting use of one or more applications and/or websites.

### Claim 3 (depends on 1)

The method of claim 1, further comprising:
transmitting a trigger engine to the client, via the first non-persistent communication connection;
wherein the trigger engine evaluates the first set of conditions for each of the multiple triggers.

### Claim 4 (depends on 1)

The method of claim 1, wherein each condition in each first set of conditions comprises a parameter observable at the client without interaction with the server.

### Claim 5 (depends on 1)

The method of claim 1, wherein the one or more computer operations include establishing a first persistent communication between the client and the server.

### Claim 6 (depends on 1)

The method of claim 1, further comprising:
dividing the first trigger into multiple paths.

### Claim 7 (depends on 6)

The method of claim 6, wherein transmitting to the client the first set of conditions comprises transmitting to the client one or more of the multiple paths.

### Claim 8 (depends on 6)

The method of claim 6, wherein transmitting to the client the first set of conditions comprises:
removing the second set of conditions from one or more of the multiple paths; and
transmitting to the client the one or more of the multiple paths from which the second set of conditions was removed.

### Claim 9 (depends on 6)

The method of claim 6,
wherein each condition in the first set of conditions and the second set of conditions comprises a parameter, a target value, and an operator that identifies a relationship between the parameter and the target value.

### Claim 10 (depends on 1)

The method of claim 1, wherein the one or more computer operations include at least one of the following:
updating a customer support ticket associated with a customer support request received from the client;
transmitting one or more communications regarding a customer support ticket associated with a customer support request received from the client;
modifying a user profile associated with a user of the client; and
prohibiting a user of the client from using a communication utility hosted by the server.

### Claim 11

A non-transitory computer-readable medium storing instructions that, when executed by a processor, cause the processor to perform a method comprising:
constructing at a server one or more triggers for activating associated computer operations;
automatically splitting each of the one or more triggers by identifying, within the trigger, a first set of conditions and a second set of conditions;
receiving at the server a first non-persistent communication connection from a client computing device;
for each of the one or more triggers, transmitting to the client a corresponding first set of conditions, wherein a corresponding second set of conditions for each of the multiple triggers is stored at the server;
receiving from the client a signal indicating that a first set of conditions corresponding to a first trigger has been satisfied at the client;
retrieving the second set of conditions corresponding to the first trigger; and
executing one or more computer operations associated with the first trigger only if the second set of conditions has been satisfied;
wherein constructing the one or more triggers comprises, for each trigger:
obtaining the corresponding first set of conditions and second set of conditions; and
constructing a directed graph comprising multiple nodes, wherein each of the multiple nodes comprises one or more of the first set of conditions or one or more of the second set of conditions.

### Claim 12 (depends on 11)

The non-transitory computer readable medium of claim 11, wherein the method further comprises:
transmitting a widget to the client via the first non-persistent communication connection;
wherein the widget is executed by the client to facilitate interaction between the client and a support system for supporting use of one or more applications and/or websites.

### Claim 13 (depends on 11)

The non-transitory computer readable medium of claim 11, wherein the method further comprises:
transmitting a trigger engine to the client via the first non-persistent communication connection;
wherein the trigger engine is executed by the client to evaluate the first set of conditions for each of the multiple triggers.

### Claim 14 (depends on 11)

The non-transitory computer readable medium of claim 11, wherein each condition in each first set of conditions comprises a parameter observable at the client without interaction with the server.

### Claim 15 (depends on 11)

The non-transitory computer readable medium of claim 11, wherein the method further comprises:
dividing the first trigger into multiple paths.

### Claim 16 (depends on 15)

The system of claim 15, wherein transmitting to the client the first set of conditions comprises transmitting to the client one or more of the multiple paths.

### Claim 17

A server computer system, comprising:
one or more processors; and
memory storing instructions that, when executed by the one or more processors, cause the server to:
construct one or more triggers for activating associated computer operations;
automatically split each of the one or more triggers by identifying, within the trigger, a first set of conditions and a second set of conditions;
receive a first non-persistent communication connection from a client computing device;
for each of the one or more triggers, transmit to the client a corresponding first set of conditions, wherein a corresponding second set of conditions for each of the multiple triggers is stored at the server;
receive from the client a signal indicating that a first set of conditions corresponding to a first trigger has been satisfied at the client;
retrieve the second set of conditions corresponding to the first trigger; and
execute one or more computer operations associated with the first trigger only if the second set of conditions has been satisfied;
wherein constructing the one or more triggers comprises, for each trigger:
obtaining the corresponding first set of conditions and second set of conditions; and
constructing a directed graph comprising multiple nodes, wherein each of the multiple nodes comprises one or more of the first set of conditions or one or more of the second set of conditions.

### Claim 18 (depends on 17)

The system of claim 17, wherein the memory further stores instructions that, when executed by the one or more processors, cause the server to:
transmit a widget to the client via the first non-persistent communication connection; and
transmit a trigger engine to the client via the first non-persistent communication connection;
wherein the widget is executed by the client to facilitate interaction between the client and a support system for supporting use of one or more applications and/or websites; and
wherein the trigger engine is executed by the client to evaluate the first set of conditions for each of the multiple triggers.

### Claim 19 (depends on 17)

The system of claim 17, wherein the memory further stores instructions that, when executed by the one or more processors, cause the server to:
divide the first trigger into multiple paths.

### Claim 20 (depends on 19)

The system of claim 19, wherein transmitting to the client the first set of conditions comprises transmitting to the client one or more of the multiple paths.
