IP Library Granted Patent US 12,112,192
Granted Patent B2
US 12,112,192 · App. 17/483,182 · Granted Oct 8, 2024

Split triggers for executing computer operations

Inventors: Sanjeev Kumar Biswas (Singapore, SG); Nguyen Truong Khanh (Singapore, SG); Ang Yi Hong (Singapore, SG); Sanjaykrishnan Kumar (Singapore, SG); Arpan Nagdeve (Singapore, SG)
Assignee: Zendesk, Inc.
G06F9/4843G06F9/451
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 12,112,192
App. No.
17/483,182
Granted
Oct 8, 2024
Kind
B2
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 (74)

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.

2. 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.

3. 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.

4. 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.

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

6. The method of claim 1 , further comprising:

dividing the first trigger into multiple paths.

7. 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.

8. 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.

9. 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.

10. 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.

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.

12. 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.

13. 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.

14. 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.

15. The non-transitory computer readable medium of claim 11 , wherein the method further comprises:

dividing the first trigger into multiple paths.

16. 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.

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.

18. 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.

19. 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.

20. 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.

Assignments (2)
SECURITY INTEREST Recorded Nov 22, 2022
From: ZENDESK, INC.
To: OWL ROCK CAPITAL CORPORATION, AS COLLATERAL AGENT
Reel/Frame 061850/0397 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 18, 2021
From: BISWAS, SANJEEV KUMAR; KHANH, NGUYEN TRUONG; HONG, ANG YI; KUMAR, SANJAYKRISHNAN; NAGDEVE, ARPAN
To: ZENDESK, INC.
Reel/Frame 057823/0966 →
Continuity (1)
Related Publication 20230092073A1 · Mar 23, 2023