US 12,225,020 B2
Token management for asynchronous request-reply
Prasham Rajeshbhai Ajmera, Woodinville, WA (US); Izydor Gryko, Kirkland, WA (US); and Richard Jose Mejia Valencia, Seattle, WA (US)
Assigned to MICROSOFT TECHNOLOGY LICENSING, LLC, Redmond, WA (US)
Filed by Microsoft Technology Licensing, LLC, Redmond, WA (US)
Filed on Oct. 7, 2021, as Appl. No. 17/496,627.
Claims priority of provisional application 63/168,852, filed on Mar. 31, 2021.
Prior Publication US 2022/0321346 A1, Oct. 6, 2022
Int. Cl. H04L 9/40 (2022.01); H04L 9/32 (2006.01); H04L 47/70 (2022.01); H04L 47/762 (2022.01); H04L 47/78 (2022.01); H04W 12/08 (2021.01)
CPC H04L 63/108 (2013.01) [H04L 9/3213 (2013.01); H04L 9/3228 (2013.01); H04L 47/762 (2013.01); H04L 47/781 (2013.01); H04L 47/826 (2013.01); H04L 63/0807 (2013.01); H04L 63/0892 (2013.01); H04W 12/08 (2013.01)] 19 Claims
OG exemplary drawing
 
1. A system operable to manage execution of a request that outlasts token expiration in an asynchronous request-reply pattern, the system comprising:
at least one hardware processor;
a work process application program interface (API) executed by the at least one hardware processor to:
receive a request from a client to perform an operation, wherein the request includes a token with an expiration;
create a tracking key for the request;
post the request for processing; and
transmit a response to the client in response to accepting the request, wherein the response includes a reply-after time period, the tracking key, and a location to poll for a status of the request after expiration of the reply-after time period, wherein the location to poll for the status of the request is different from a location of the work process API; and
a status checker API executed by the at least one hardware processor to:
wait for a status check of the request from the client upon a determination that the token has expired;
receive the status check for the request from the client based on the reply-after time period and the location to poll, wherein the status check includes a new token and the tracking key;
check the status of the request using the tracking key;
extract the new token from the status check based on the new token being needed to execute the request;
requeue the request with the new token without issuing a certificate; and
send a reply to the status check with a current status of the request.