US 11,748,681 B1
Persistent state management system for web applications
Krishanu Takhtani, Jabalpur (IN); Akashdeep Bhattacharya, Asansol (IN); and Karan Juneja, Abohar (IN)
Assigned to Amazon Technologies, Inc., Seattle, WA (US)
Filed by Amazon Technologies, Inc., Seattle, WA (US)
Filed on Sep. 14, 2021, as Appl. No. 17/475,115.
Int. Cl. G06F 15/16 (2006.01); G06F 21/31 (2013.01); H04L 29/06 (2006.01); H04L 29/08 (2006.01); G06Q 10/0633 (2023.01); G06F 16/22 (2019.01); H04L 67/142 (2022.01)
CPC G06Q 10/0633 (2013.01) [G06F 16/22 (2019.01); H04L 67/142 (2013.01)] 20 Claims
OG exemplary drawing
 
1. A method of maintaining a user state of a workflow of a web-based application having multiple pages associated with the workflow, the method comprising:
receiving a first request, from the web-based application, for storing a state of the web-based application, the first request comprises an application name of the web-based application, a user identification of a user of the web-based application, and a step name associated with a step of the workflow, wherein the state of the web-based application comprises an attribute value map that comprises a value pair of attribute and attribute value, and a last accessed step address map;
generating a timestamp;
storing, in a first data structure in a database, using the application name and the user identification as a partition key and the step name as a sort key, the attribute value map, and the timestamp;
storing, in a second data structure in the database, using the application name and the user identification as the partition key, a last accessed step name from the last accessed step address map, a last accessed step address from the last accessed step address map, and the timestamp;
receiving a second request, from the web-based application, for the state that was previously stored, the second request comprises the application name, the user identification and the step name;
retrieving, using the application name and the user identification as the partition key and the step name as the sort key, the attribute value map from the first data structure in the database; and
transmitting the attribute value map in a response to the web-based application to populate the step of the web-based application to return the web-based application to the state that was stored.