Method, apparatus, and computer program
US-2024414120-A1 · Dec 12, 2024 · US
US9003059B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-9003059-B2 |
| Application number | US-5875808-A |
| Country | US |
| Kind code | B2 |
| Filing date | Mar 31, 2008 |
| Priority date | Mar 31, 2008 |
| Publication date | Apr 7, 2015 |
| Grant date | Apr 7, 2015 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
Systems and methods for implementing online and offline applications are described. Such systems and methods may in some cases provide the same programming interface, regardless of whether the application is online or offline. Such systems and methods may also or instead in some cases provide additional or other possible capabilities, including installation without elevated privileges, simplified data synchronization, sharing of applications and application data, access to data from other applications, and richer client functionality than may be provided by an application such as a web browser.
Opening claim text (preview).
What is claimed is: 1. A method, comprising: providing, on a computing device of a user, a local operating environment including a local web server; providing, on the computing device, an application package for a web application installed on the computing device, the application package including a user interface of the web application and executable code of the web application, wherein the web application runs in an online mode for communication with a remote web server when the computing device is connected to the remote web server and runs in an offline mode for communication with the local web server when the computing device is not connected to the remote web server; hosting the web application within a viewer application on the computing device that is separate from a web browser on the computing device; displaying, by the viewer application, the user interface of the web application; receiving, by the viewer application, user interaction with the user interface of the web application; executing, by the viewer application, the executable code of the web application to determine a data portion of a web request address that is based on the user interaction with the user interface of the web application, wherein: the data portion of the web request address includes contents that can be interpreted by both the remote web server and the local web server, and the data portion of the web request address is identical regardless of whether the web application is running in the online mode or the offline mode; determining, by the viewer application, a host portion of the web request address that is not controlled by the web application and that identifies different hosts depending on whether the web application is running in the online mode or the offline mode, wherein the host portion of the web request address identifies either the remote web server or the local web server; generating, by the viewer application, a web request directly addressed to the local web server when the web application is running in the offline mode, wherein the web request is addressed using the determined host portion of the web request address that identifies the local web server and the determined data portion of the web request address that includes the contents to be interpreted by the local web server; issuing, by the viewer application, the web request directly to the local web server when the web application is running in the offline mode, wherein the web request issued by the viewer application is not addressed to the remote web server and does not require redirection to the local web server; and receiving, by the local web server, the web request directly from the viewer application when the web application is running in the offline mode, wherein the web request received by the local web server is not addressed to the remote web server and does not require interception by the local web server. 2. The method of claim 1 , further comprising: updating a local data store on the computing device with a change to application data associated with the web application in response to the web request; and synchronizing the change to application data with a remote data store of the remote web server when the web application is running in the online mode. 3. The method of claim 1 , wherein installing the local operating environment on the computing device does not require elevated privileges on the computing device. 4. The method of claim 1 , further comprising: updating a local data store on the computing device with a change to application data associated with the web application in response to the web request; and synchronizing the change to application data with a data store located on a second computing device of the user when the web application is running in the online mode. 5. The method of claim 1 , wherein: the application package comprises at least one HyperText Markup Language (HTML) page and at least one JavaScript function included in or referenced by the HTML page, and the application package is downloaded to the computing device from the remote web server. 6. The method of claim 1 , wherein the local operating environment includes a local data store, and wherein the local operating environment is capable of persisting data received by the local web server using the local data store. 7. The method of claim 1 , wherein: the application package is defined by a manifest that references components of the user interface of the web application and the executable code of the web application, and the manifest provides configuration settings associated with the web application. 8. The method of claim 1 , further comprising: receiving input from the user indicating a desire to use the web application installed on the computing device; receiving identification information that identifies the user; displaying information describing the web application; and receiving input from the user confirming the desire to use the web application. 9. The method of claim 1 , further comprising: provisioning the web application for the user by associating the web application with the user and creating at least a portion of application data associated with the user and with the web application. 10. The method of claim 1 , further comprising: receiving, at the computing device, the application package from a remote computing device associated with a second user. 11. The method of claim 10 , wherein an application manifest defines the user interface and the executable code included in the application package. 12. The method of claim 1 , wherein the computing device includes a synchronization mechanism that is configured to transfer application data from the computing device to another computing device of the user and to a remote computing device of a second user. 13. The method of claim 1 , further comprising: receiving input from the user indicating a desire to share the application package with a second user; receiving, from the second user, an indication of accepting a request to share the application package; receiving a change, made by the second user, to application data; and synchronizing the change to application data with the computing device and at least one other computing device associated with the user, wherein the change to application data made by the second user is accessible when the user interacts with the web application using the computing device or using the at least one other computing device. 14. The method of claim 1 wherein the viewer application provides additional functionality to the web application installed on the computing device. 15. The method of claim 14 wherein the additional functionality comprises at least one of: drag and drop of images; drag and drop of files; rich clipboard interaction functionality; native access to data located on the computing device; and web browser extension functionality. 16. The method of claim 1 , wherein the computing device is included in a mesh of devices associated with the user, the method further comprising: providing, by the computing device, the application package to a different device included in the mesh of devices associated with the user; and receiving, at the local web server on the computing device, a web request that is issued by the different device and that is addressed to the local web server on the computing device. 17. A computing device, comprising: a processor for executing computer-executable instructions; and memory storing computer-executable instructions that, when execu
Intermediate processing functionally located close to the data consumer application, e.g. in same machine, in same home or in same sub-network · CPC title
Electricity · mapped topic
Physics · mapped topic
Electricity · mapped topic
involving the movement of software or configuration parameters (network booting or remote initial program loading [RIPL] G06F9/4416) · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.