US 11,817,091 B1
Fault-tolerance techniques for dialog-driven applications
Swapandeep Singh, Sammamish, WA (US); Gouthamamani Venkatesan, Seattle, WA (US); Lefan Zhang, Seattle, WA (US); Kartik Rustagi, Sammamish, WA (US); Rama Krishna Sandeep Pokkunuri, Redmond, WA (US); Omkar Prakash Kurode, Redmond, WA (US); and Harshal Pimpalkhute, Redmond, WA (US)
Assigned to Amazon Technologies, Inc., Seattle, WA (US)
Filed by Amazon Technologies, Inc., Seattle, WA (US)
Filed on Sep. 30, 2020, as Appl. No. 17/039,900.
Int. Cl. G10L 15/04 (2013.01); G10L 15/00 (2013.01); H04L 67/145 (2022.01); G06F 11/07 (2006.01); G10L 15/22 (2006.01); G06N 20/00 (2019.01); G06F 11/14 (2006.01); G10L 15/30 (2013.01); H04L 67/14 (2022.01); H04L 67/01 (2022.01)
CPC G10L 15/22 (2013.01) [G06F 11/1451 (2013.01); G06N 20/00 (2019.01); G10L 15/30 (2013.01); H04L 67/01 (2022.05); H04L 67/14 (2013.01); G06F 2201/82 (2013.01)] 20 Claims
OG exemplary drawing
 
6. A computer-implemented method, comprising:
determining a first checkpoint descriptor for a first application at a dialog-driven application management service, wherein the first checkpoint descriptor includes a first rule for identifying application state information to be included in a checkpoint, and wherein an utterance of a client of the first application is transmitted to the dialog-driven application management service as a sequence of input blocks;
generating, at the dialog-driven application management service, based at least in part on detecting that a checkpoint boundary criterion has been met with respect to the first application, a first checkpoint in accordance with the first rule, wherein the first checkpoint comprises one or more identifiers for respective input blocks obtained at the dialog-driven application management service from a particular client-side component of the dialog-driven application management service;
obtaining a plurality of input blocks at the dialog-driven application management service subsequent to a connectivity failure and a re-establishment of connectivity between the particular client-side component and the dialog-driven application management service, wherein the plurality of input blocks comprises one or more retransmitted input blocks; and
determining, at the dialog-driven application management service using the first checkpoint, at least one input block of the plurality of input blocks for which further processing is not to be performed.