US 12,278,881 B1
Domain agnostic offline runtime for single page applications
Aninda Ray, Sammamish, WA (US); Andrew James Koltz, Seattle, WA (US); Dennis Joel David Myren, Seattle, WA (US); Naman Kanakiya, Atlanta, GA (US); Roger Allen Lueder, Bellevue, WA (US); Steven Bailey, Bellevue, WA (US); John Fan, Bellevue, WA (US); and Edgar Hernandez Gonzalez, Bothell, WA (US)
Assigned to MICROSOFT TECHNOLOGY LICENSING, LLC, Redmond, WA (US)
Filed by MICROSOFT TECHNOLOGY LICENSING, LLC, Redmond, WA (US)
Filed on Oct. 25, 2023, as Appl. No. 18/494,298.
Int. Cl. H04L 67/60 (2022.01); G06F 16/23 (2019.01)
CPC H04L 67/60 (2022.05) [G06F 16/2372 (2019.01)] 20 Claims
OG exemplary drawing
 
1. A method comprising:
initiating, at a computing device, an installation operation for a service worker configured to serve a plurality of single page applications associated with a user account of the computing device, wherein the installation operation comprises:
identifying a working set comprising user data and the plurality of single page applications, wherein the plurality of single page applications is hosted across a plurality of domains; and
extracting, by a synchronization engine that is local to the computing device, a first plurality of information units comprising the working set from a network resource via a network connection between the computing device and the network resource;
storing the first plurality of information units at the computing device within the synchronization engine;
managing, by the synchronization engine, the first plurality of information units separately from a browser cache;
intercepting, by the service worker, a request defining a second plurality of information units associated with a single page application of the plurality of single page applications served by the service worker, wherein the second plurality of information units is a subset of the first plurality of information units stored within the synchronization engine;
matching the request with a route path in an entry of a routing table;
determining, from the entry of the routing table, an identification of the single page application of the plurality of single page applications;
retrieving the second plurality of information units from the synchronization engine independent of a network connection status; and
invoking execution of the single page application utilizing the second plurality of information units retrieved from the synchronization engine.