Patents Assigned to ZenDesk, Inc.
-
Publication number: 20250190248Abstract: A system and methods are provided for conserving computing resources during automated capacity management of worker entities for processing asynchronous computing tasks. Each new task is placed in one of multiple queues maintained by a queue data store, wherein each queue has a corresponding fleet of workers for processing the queue's tasks. The queue data store periodically yields status data that may include the total number of workers assigned to each queue, the number of workers that are currently processing tasks, a rate of change in queue sizes, etc. These data are used to calculate the busyness of each queue's workers, which may be the percentage of the queue's workers that are busy or idle or a sequence of rates of change in the queue size. Based on the busyness, one or more new workers may be spawned or one or more existing workers may be terminated.Type: ApplicationFiled: December 12, 2023Publication date: June 12, 2025Applicant: Zendesk, Inc.Inventors: Jordan Hinkle, Steven N. Bloch
-
Publication number: 20250165631Abstract: A system and methods are provided for executing data operations across data domain boundaries without sharing a domain's data outside of the domain. A coordinator computer, module, or mechanism receives a trigger (or other automated process) and logically divides it into multiple fragments, each fragment corresponding to one domain and comprising data operations that require access to the corresponding domain's data. When the trigger is activated, the coordinator calls or invokes trigger engines within each domain to execute, in order, each fragments' data operations and receive an indication as to whether they completed successfully. A following fragment and its data operations may not be invoked unless and until the preceding fragments operations succeeded. If all fragments' data operations along a path from a root of the trigger to an end of the trigger complete successfully, one or more associated actions are executed.Type: ApplicationFiled: November 17, 2023Publication date: May 22, 2025Applicant: Zendesk, Inc.Inventors: Sanjeev Kumar Biswas, Jakub Konik, Prakruti Hindia
-
Patent number: 12287792Abstract: A system and method are provided for supporting dense retrieval of a template (e.g., a document template) for responding to a query or other textual input. The templates and past queries that were responded to using the templates are stored. A machine-learning model for matching a new query to the most appropriate template is trained using a selected subset of the stored queries as training queries. For each of one or more training batches or phases, multiple stored templates are selected (e.g., randomly) then, from among all training queries that the selected templates were used for, the same number of queries are selected (e.g., randomly), such that they represent the distribution of the training queries among the selected templates. A unique loss function is computed that leverages similarities and differences not only between each selected training query and each selected template, but also between different queries and between different templates.Type: GrantFiled: October 6, 2022Date of Patent: April 29, 2025Assignee: Zendesk, Inc.Inventors: Mariana Sá Correia Leite Almeida, Bruno Emanuel Da Graça Martins, Tiago Manuel Reis Mesquita
-
Patent number: 12112192Abstract: 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.Type: GrantFiled: September 23, 2021Date of Patent: October 8, 2024Assignee: Zendesk, Inc.Inventors: Sanjeev Kumar Biswas, Nguyen Truong Khanh, Ang Yi Hong, Sanjaykrishnan Kumar, Arpan Nagdeve
-
Publication number: 20240273099Abstract: Systems and methods are provided for detecting an actual or potential cascade of data rules within a system that processes data, or a cascade of data operations caused by the rules. A cascade involves multiple rules such that an action or actions performed by one rule upon a set of data (e.g., when specified conditions are satisfied) trigger automatic execution of another rule that performs one or more additional actions. Depending on the length and complexity of a cascade, which may be created accidentally, significant amounts of computing resources may be wasted, particularly if the cascade creates a loop that, if unresolved, would cause the cascade to execute repeatedly. One or more temporary data structures are employed to track the effects of a collection of rules (e.g., changes to data item values) to determine whether and when one rule's action(s) trigger another rule.Type: ApplicationFiled: February 9, 2023Publication date: August 15, 2024Applicant: Zendesk, Inc.Inventors: Sanjeev Kumar Biswas, Jan Krzysztof Kurzydlo
-
Publication number: 20240177083Abstract: A system and methods are provided for matching electronic tasks with actors able to process and complete the tasks, without polling. When a new task is received and no qualified actor is available, instead of repeatedly polling or querying actors, a task event is emitted that describes the task by criteria that can be used to match the task to a qualified actor. Similarly, when an actor becomes available and no suitable task is pending, instead of repeatedly polling or querying pending tasks, a corresponding actor event is emitted. Consumers of the events therefore attempt to match a pending task and an available actor only when there is a change to the tasks and/or the available actors.Type: ApplicationFiled: November 29, 2022Publication date: May 30, 2024Applicant: Zendesk, Inc.Inventors: Ciarán Archer, Chaminda Peiris, Nguyen Anh Tuan, Fernando Rincon Martin, Khoa Dang Bui, John Clifford
-
Publication number: 20240078136Abstract: A system and method are provided for operating a pool of workers within a distributed computing system, wherein each of multiple computers host one or more workers. Each computer also hosts ledgers for one or more originators of tasks that are submitted to the pool for processing. A ledger identifies tasks from the corresponding originator that have been submitted to the pool and that have not yet been completed. When an originator submits a new task, the system (e.g., a coordinator) identifies a maximum number of concurrent tasks permitted the originator and determines, with reference to the originator's ledger, whether the task can be submitted to the pool without exceeding the limit. If so, the task is assigned to an idle worker (if any) and is added to the originator's ledger. After completion, the task is removed from the ledger. Obsolete or stale entries are periodically purged from originators' ledgers.Type: ApplicationFiled: September 1, 2022Publication date: March 7, 2024Applicant: Zendesk, Inc.Inventors: Zhi Wei Mervyn Chng, Vatsal B. Sevak, Joshua J. Teitelbaum, Gary Steven Grossman, Gabriel Martin-Dempesy
-
Publication number: 20240070679Abstract: Systems and methods are provided for scheduling an automation (e.g., an automated workflow) to execute against a specified set of data (e.g., a customer support ticket) based on when time-based conditions within the automation will (or will likely) be true or satisfied with regard to the ticket. The automation's time-based conditions are represented by one or more functions designed to yield, when executed against a given ticket, a time interval during which those conditions will (or will likely) be true for that ticket. When a function produces a valid time interval, the corresponding automation is scheduled to run against the ticket during the interval. The functions may be quickly executed each time a ticket is modified (or created) because they may be created in assembly language or a native language of the computing platform that executes them.Type: ApplicationFiled: August 31, 2022Publication date: February 29, 2024Applicant: Zendesk, Inc.Inventors: Sanjeev Kumar Biswas, Vancheswaran Koduvayur Ananthanarayanan
-
Patent number: 11714746Abstract: Comparing the performance of multiple versions or branches/paths of an application (e.g., a web service or application) may be conducted within a suitable computing environment. Such an environment may be virtual in nature, cloud-based, or server-based, and is hosted with tools for simultaneously (or nearly simultaneously) executing multiple containers or other code collections with the same or similar operating conditions (e.g., network congestion, resource contention, memory management schemes). By arranging the performance test of different application versions in different sequences executed in parallel in separate containers, fair comparisons of the tested applications will be obtained. Testing sequences may be executed multiple times, and metrics are collected during each execution. Afterward, the results for each metric for each code version are aggregated and displayed to indicate their relative performance quantitatively and/or qualitatively.Type: GrantFiled: July 14, 2021Date of Patent: August 1, 2023Assignee: Zendesk, Inc.Inventors: Bazyli W. Brzóska, Rafal Jerzy Lindemann
-
Patent number: 11711276Abstract: A system and method are provided that automatically update a customer-support ticket in an online customer-support system. When the customer-support ticket is created or updated, the system applies a set of triggers, which modify the ticket based on business rules, wherein each trigger performs actions that modify the ticket when conditions for parameters associated with the ticket are satisfied. When applying a trigger to the ticket, the system evaluates the conditions for the trigger by evaluating an associated condition graph, which is a directed graph comprised of condition nodes, wherein each condition node specifies conditions on parameters associated with the ticket. During this evaluation, if a valid path through the condition graph is discovered, which comprises a sequence of satisfied condition nodes from the root node to a null node, the system fires the trigger, which involves performing actions associated with the trigger to update the ticket.Type: GrantFiled: September 29, 2022Date of Patent: July 25, 2023Assignee: Zendesk, Inc.Inventors: Sanjeev Kumar Biswas, Vancheswaran Koduvayur Ananthanarayanan
-
Publication number: 20230195743Abstract: Systems and methods are provided for balancing the execution of data transformation workflows within one or more ETL (Extract, Transform, Load) pipelines to promote their completion within a time constraint. On a periodic basis, data from multiple applications hosted by an organization are collected and segregated by associated providers, sponsors, brands, or other entities that correspond to different contexts in which end users (e.g., customers of the providers or other entities) use the applications. The providers are classified based on a selected characteristic of their data (e.g., amount of data, number of customers, number of customer support tickets). Datasets of multiple providers are batched within and/or across classes; the number of datasets batched is selected so as to allow all datasets to be transformed within the time constraint. Batched datasets are submitted to computing clusters to perform the data transformations to make the data consumable (e.g., viewable) by the providers.Type: ApplicationFiled: December 22, 2021Publication date: June 22, 2023Applicant: Zendesk, Inc.Inventor: Kostiantyn Demchuk
-
Publication number: 20230111562Abstract: A system and method are provided for supporting dense retrieval of a template (e.g., a document template) for responding to a query or other textual input. The templates and past queries that were responded to using the templates are stored. A machine-learning model for matching a new query to the most appropriate template is trained using a selected subset of the stored queries as training queries. For each of one or more training batches or phases, multiple stored templates are selected (e.g., randomly) then, from among all training queries that the selected templates were used for, the same number of queries are selected (e.g., randomly), such that they represent the distribution of the training queries among the selected templates. A unique loss function is computed that leverages similarities and differences not only between each selected training query and each selected template, but also between different queries and between different templates.Type: ApplicationFiled: October 6, 2022Publication date: April 13, 2023Applicant: Zendesk, Inc.Inventors: Mariana Sá Correia Leite Almeida, Bruno Emanuel Da Graça Martins, Tiago Manuel Reis Mesquita
-
Publication number: 20230092073Abstract: 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.Type: ApplicationFiled: September 23, 2021Publication date: March 23, 2023Applicant: Zendesk, Inc.Inventors: Sanjeev Kumar Biswas, Nguyen Truong Khanh, Ang Yi Hong, Sanjaykrishnan Kumar, Arpan Nagdeve
-
Patent number: 11595523Abstract: A system and method for providing customer-support services to a user of a website through a web widget. When the user accesses a web page containing the web widget, a call is automatically made from the web widget to a customer-support system. In response to the call, the system obtains status information from the customer-support system indicating whether customer-support agents are available to take telephone phone calls. If the status information indicates customer-support agents are available to take telephone calls, the web widget provides a call-related interface to the user, wherein the call-related interface is configured to facilitate a telephone call with a customer-support agent. If the status information indicates customer-support agents are not available to take telephone calls, the web widget provides a non-call-related interface to the user, wherein the non-call-related interface is configured to facilitate an alternative channel of customer support that does not involve a telephone call.Type: GrantFiled: April 20, 2022Date of Patent: February 28, 2023Assignee: Zendesk, Inc.Inventors: Barry McGaughey, Anatoly Mikhaylov, Nathan P. Thiesen, Gerard J. Cahill, Anthony Del Ciotto, Daniel Angel Bradford
-
Publication number: 20230023876Abstract: Comparing the performance of multiple versions or branches/paths of an application (e.g., a web service or application) may be conducted within a suitable computing environment. Such an environment may be virtual in nature, cloud-based, or server-based, and is hosted with tools for simultaneously (or nearly simultaneously) executing multiple containers or other code collections with the same or similar operating conditions (e.g., network congestion, resource contention, memory management schemes). By arranging the performance test of different application versions in different sequences executed in parallel in separate containers, fair comparisons of the tested applications will be obtained. Testing sequences may be executed multiple times, and metrics are collected during each execution. Afterward, the results for each metric for each code version are aggregated and displayed to indicate their relative performance quantitatively and/or qualitatively.Type: ApplicationFiled: July 14, 2021Publication date: January 26, 2023Applicant: Zendesk, Inc.Inventors: Bazyli W. Brzóska, Rafal Jerzy Lindemann
-
Publication number: 20230013289Abstract: A system and method are provided that automatically update a customer-support ticket in an online customer-support system. When the customer-support ticket is created or updated, the system applies a set of triggers, which modify the ticket based on business rules, wherein each trigger performs actions that modify the ticket when conditions for parameters associated with the ticket are satisfied. When applying a trigger to the ticket, the system evaluates the conditions for the trigger by evaluating an associated condition graph, which is a directed graph comprised of condition nodes, wherein each condition node specifies conditions on parameters associated with the ticket. During this evaluation, if a valid path through the condition graph is discovered, which comprises a sequence of satisfied condition nodes from the root node to a null node, the system fires the trigger, which involves performing actions associated with the trigger to update the ticket.Type: ApplicationFiled: September 29, 2022Publication date: January 19, 2023Applicant: Zendesk, Inc.Inventors: Sanjeev Kumar Biswas, Vancheswaran Koduvayur Ananthanarayanan
-
Publication number: 20220391714Abstract: A computer-implemented method for predicting knowledge elements in answer to requests for information, and an associated system that processes the information request (1) made using an intermediate predictive model (5) and a knowledge element prediction fit model (8) to generate a set of fitted knowledge elements to prepare an answer, associated with their respective probabilities of use (12), as a suggestion for the preparation of an answer to an information request (15). The suggested knowledge elements are corrected and/or updated to prepare answers based on historical data, such as: data predicted by the intermediate predictive model (5), answers sent to requesters (15), contents of one or more knowledge elements used in the answers (17) and/or feedback data on the relevance of the answers (21) sent.Type: ApplicationFiled: May 11, 2022Publication date: December 8, 2022Applicant: Zendesk, Inc.Inventors: MARIANA SÁ CORREIA LEITE DE ALMEIDA, LOURENÇO MARIA CASELLA VAZ PATO, PEDRO LUÍS DE FARIA E COELHO, RICARDO SILVA BARATA, RICARDO MANUEL PAULA MARTINS
-
Patent number: 11503156Abstract: A system and methods are provided for passing control of a customer-support conversation among integrations responsible for responding to a customer during the customer-support conversation. The system receives a message from a source integration, which is presently responsible for responding to the customer during the customer-support conversation, wherein the message includes a pass-control command that passes control of the customer-support conversation to a target integration. In response to the pass-control command, the system passes control of the customer-support conversation from the source integration to the target integration, so that the target integration becomes responsible for responding to the customer.Type: GrantFiled: September 9, 2021Date of Patent: November 15, 2022Assignee: Zendesk, Inc.Inventors: Michael Gozzo, Andrew Lavers, Jean-Philippe J. Joyal, Michael J. Spensieri, François U. Brien, Marc-Antoine Leblond
-
Patent number: 11496372Abstract: The disclosed embodiments provide a system that automatically updates a customer-support ticket in an online customer-support system. When the customer-support ticket is created or updated, the system applies a set of triggers, which modify the ticket based on business rules, wherein each trigger performs actions that modify the ticket when conditions for parameters associated with the ticket are satisfied. When applying a trigger to the ticket, the system evaluates the conditions for the trigger by evaluating an associated condition graph, which is a directed graph comprised of condition nodes, wherein each condition node specifies conditions on parameters associated with the ticket. During this evaluation, if a valid path through the condition graph is discovered, which comprises a sequence of satisfied condition nodes from the root node to a null node, the system fires the trigger, which involves performing actions associated with the trigger to update the ticket.Type: GrantFiled: July 17, 2020Date of Patent: November 8, 2022Assignee: Zendesk, Inc.Inventors: Sanjeev Kumar Biswas, Vancheswaran Koduvayur Ananthanarayanan
-
Patent number: D1084005Type: GrantFiled: May 8, 2020Date of Patent: July 15, 2025Assignee: Zendesk, Inc.Inventors: Si Min Lee, Amy O. Lee