IP Library › Granted Patent US 10,999,399
Granted Patent B2
US 10,999,399 · App. 15/666,970 · Granted May 4, 2021

Offline use of network application

Inventor: Satishkumar Sekharan (Coquitlam, CA)
Assignee: SAP SE
H04L67/32H04L67/02H04L67/2861G06F3/048G06F16/955
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,999,399
App. No.
15/666,970
Granted
May 4, 2021
Kind
B2
Abstract

A system includes display of user interface, detection of a UI event associated with the user interface, interception of a request to a network triggered by the UI event, generation of a cache key based on the UI event, reception of a response to the request from the network, generation of a data structure including the response, and storage of the data structure in the persistent storage system in association with the cache key.

Claims (132)

1. A system comprising:

a persistent storage system;

a display;

a memory storing processor-executable process steps; and

a processor to execute the processor-executable process steps to:

display a user interface on the display;

detect a User Interface (UI) event associated with the user interface;

intercept a request to a network triggered by the UI event;

generate a cache key based on the UI event;

receive a response to the request from the network;

serialize the response, wherein serialization converts the response to a different structured form for storage and deserialization is applied offline to the serialized response before the response is provided to a renderer, wherein the deserialized response is the same as the received response;

generate a script object including an executable UI event, a Uniform Resource Identifier of the user interface event, the serialized response, a name of the UI event, and a type of the UI event;

store the script object in the persistent storage system in association with the cache key;

detect a second UI event associated with the user interface; and

determine that the system is offline;

in response to the determination that the system is offline:

generate a second cache key based on the second UI event;

request the script object from the persistent storage system based on the second cache key, where the second cache key is identical to the cache key;

receive the script object from the persistent storage system;

identify the response included in the script object; and

display an image on the display based on the identified response.

2. A system according to claim 1 , wherein generation of a cache key comprises generation of the cache key based on a body of the request and on a Uniform Resource Identifier associated with the request.

3. A system according to claim 1 , wherein generation of the script object comprises serialization of the request and generation of the script object including the serialized response and the serialized request.

4. A system according to claim 1 , wherein generation of a cache key comprises generation of the cache key based on a body of the request and on a Uniform Resource Identifier associated with the request, and

wherein generation of the second cache key comprises generation of the second cache key based on a body of a second request associated with the second UI event and on a second Uniform Resource Identifier associated with the second request.

5. A system according to claim 1 , the processor to execute the processor-executable process steps to:

retrieve the script object from the persistent storage system;

determine the UI event based on the retrieved script object;

execute the UI event to trigger a second request to the network;

receive a second response to the second request from the network;

serialize the second response;

generate a second script object including the Uniform Resource Identifier of the user interface, the serialized second response, the name of the UI event, and the type of the UI event;

generate a third cache key based on the second request; and

store the second script object in the persistent storage system in association with the third cache key.

6. A system according to claim 1 , the processor to execute the processor-executable process steps to:

detect a third UI event associated with the user interface;

determine that the system is offline;

in response to the second determination that the system is offline:

generate a third cache key based on the third UI event;

determine that no script object is stored in the persistent storage system in association with the third cache key;

transmit a no content code in response to a second request triggered by the third UI event; and

add the third UI event and second request to a queue;

determine that the system is online; and

in response to the determination that the system is online:

execute the third UI event to trigger the second request to the network;

receive a third response to the second request from the network;

serialize the third response;

generate a second script object including the Uniform Resource Identifier of the user interface, the serialized third response, the name of the UI event, and the type of the UI event;

generate a fourth cache key based on the second request; and

store the second script object in the persistent storage system in association with the fourth cache key.

7. A system according to claim 1 , the processor to execute the processor-executable process steps to:

retrieve the script object from the persistent storage system;

determine the UI event based on the retrieved script object;

execute the UI event to trigger a second request to the network;

receive a second response to the second request from the network;

serialize the second response;

generate a second script object including the Uniform Resource Identifier of the user interface, the serialized second response, the name of the UI event, and the type of the UI event;

generate a second cache key based on the second request; and

store the second script object in the persistent storage system in association with the second cache key.

8. A computer-implemented method comprising:

displaying a user interface on a display;

detecting a User Interface (UI) event associated with the user interface and triggering a request to a network;

generating a cache key based on the UI event;

receiving a response to the request from the network;

serializing the response, serializing the request, and generating a script object including an executable UI event, a Uniform Resource Identifier of the user interface event, a name of the UI event, a type of the UI event, the serialized response and the serialized request, wherein serialization of the response converts the response to a different structured form for storage and deserialization is applied offline to the serialized response before the response is provided to a renderer, wherein the deserialized response is the same as the received response;

storing the script object in a local persistent storage system in association with the cache key

detecting a second UI event associated with the user interface;

determining that the system is offline;

in response to the determination that the system is offline:

generating a second cache key based on the second UI event;

requesting the script object from the persistent storage system based on the second cache key, where the second cache key is identical to the cache key;

receiving the script object from the persistent storage system;

identifying the response included in the script object; and

displaying an image on the display based on the identified response.

9. A method according to claim 8 , wherein generating a cache key comprises generating the cache key based on a body of the request and on a Uniform Resource Identifier associated with the request.

10. A method according to claim 8 , wherein generating a cache key comprises generating the cache key based on a body of the request and on a Uniform Resource Identifier associated with the request, and

wherein generating the second cache key comprises generating the second cache key based on a body of a second request associated with the second UI event and on a second Uniform Resource Identifier associated with the second request.

11. A method according to claim 8 , further comprising:

detecting a third UI event associated with the user interface;

determining that the system is offline;

in response to the second determination that the system is offline:

generating a third cache key based on the third UI event;

determining that no script object is stored in the persistent storage system in association with the third cache key;

transmitting a no content code in response to a second request triggered by the third UI event; and

adding the third UI event and second request to a queue;

determining that the system is online; and

in response to determining that the system is online:

executing the third UI event to trigger the second request to the network;

receiving a third response to the second request from the network;

serializing the third response;

generating a second script object including the Uniform Resource Identifier of the user interface, the serialized third response, the name of the UI event, and the type of the UI event;

generating a fourth cache key based on the second request; and

storing the second script object in the persistent storage system in association with the fourth cache key.

12. A method according to claim 8 , further comprising:

retrieving the script object from the persistent storage system;

determining the UI event based on the retrieved script object;

executing the UI event to trigger a second request to the network;

receiving a second response to the second request from the network;

serializing the second response;

generating a second script object including the Uniform Resource Identifier of the user interface, the serialized second response, the name of the UI event, and the type of the UI event;

generating a third cache key based on the second request; and

storing the second script object in the persistent storage system in association with the third cache key.

13. A system comprising:

executable code of a Web application;

executable code of a service worker;

a Web browser to execute the Web application to:

render a Web page;

detect a User Interface (UI) event associated with the Web page; and

transmit a request to the network based on the Web page and the UI event; and

the Web browser to execute the service worker to:

generate a cache key based on the UI event;

receive a response to the request from the network;

serialize the response, wherein serialization converts the response to a different structured form for storage and deserialization is applied offline to the serialized response before the response is provided to a renderer, wherein the deserialized response is the same as the received response;

generate a script object including a Uniform Resource Identifier of the user interface, the serialized response, the name of the UI event, and the type of the UI event;

store the script object in a local persistent storage system in association with the cache key;

detect a second UI event associated with the Web page;

determine that the system is offline; and

in response to determining that the system is offline:

generate a second cache key based on the second UI event;

request the script object from the persistent storage system based on the second cache key, where the second cache key is identical to the cache key;

receive the script object from the persistent storage system;

identify the response included in the script object; and

render a second Web page based on the identified response.

14. A system according to claim 13 , the Web browser to execute the service worker to:

retrieve the script object from the persistent storage system;

determine the UI event based on the retrieved script object;

execute the UI event to trigger a second request to the network;

receive a second response to the second request from the network;

serialize the second response;

generate a second script object including the Uniform Resource Identifier of the user interface, the serialized second response, the name of the UI event, and the type of the UI event;

generate a third cache key based on the second request; and

store the second script object in the persistent storage system in association with the third cache key.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 2, 2017
From: SEKHARAN, SATISHKUMAR
To: SAP SE
Reel/Frame 043415/0161 →
Continuity (1)
Related Publication 20190045026A1 · Feb 7, 2019