×

Offline execution of web based applications

  • US 7,814,234 B2
  • Filed: 10/30/2006
  • Issued: 10/12/2010
  • Est. Priority Date: 10/30/2006
  • Status: Expired due to Fees
First Claim
Patent Images

1. At a computer system connected to a network, the computer system including a Web browser and a plurality of Web browser application components for corresponding Web based applications, the Web browser for executing Web browser application components to access resources from Web server application components of the corresponding Web based applications respectively, a method for storing local content for offline use by a Web browser application component, the method comprising:

  • an act of determining that the Web based application is enabled for offline execution;

    an act of detecting that a Web based server component for the Web based application is available via network communication at a Web site in a specified domain;

    an act of sending a request to the Web based server component for resources to facilitate offline execution of the Web based application in response to detecting that the Web based server component for the Web based application is available via network communication, the request including;

    a request for content corresponding to the Web based application, a request for executable application code for the Web based application, and a request for database data from a database corresponding to the Web based application;

    prior to receiving the resources from the Web based server component, an act of receiving a manifest that specifies a collection of resources the Web based server component is to send to the computer system for local storage and that specifies the storage requirements for storing the collection of resources, the manifest also specifying;

    the executable code module that is to be executed locally at the computer system when the Web server is unavailable, and a synchronization module that is to be executed locally at the computer system when there exists network communication with the Web based server component for synchronizing the locally-stored collection of resources with the Web based application at the Web based server; and

    an act of determining whether the storage requirements specified in the manifest exceed a quota and upon determining that the storage requirements exceed the quota, prompting the user to authorize the increase of the quota to an amount sufficient to store the collection of resources;

    an act of receiving the collection of resources for the Web based application from the Web based server component via network communication subsequent to sending the request, the collection of resources collectively representing a locally-executable copy of at least a portion of the Web site that was torn off from the specified domain for offline execution at the computer system, the collection of resources including;

    content corresponding to the Web based application;

    executable code for the Web based application, including an executable module that is to be executed locally at the computer system when the Web server is unavailable, the executable code module for receiving requests from the Web browser and generating corresponding responses; and

    at least a portion of database data from the database corresponding to the Web based application;

    an act of locally storing the received collection of resources at the computer system, the locally stored content and executable code for the Web based application stored in a Web browser cache and the locally stored database data stored in a separate local store that is separate from the browser cache, the content and database data accessible to the executable code module without requiring network communication with the Web based server component, such that the content, the executable code module, and the database data can be used to generate a response to a subsequent request from the Web browser to access the torn off portion of the Web site when it is detected that the Web based server component is not available via network communication;

    an act of receiving a request from the Web browser to access a portion of the Web site at the specified domain;

    upon determining that communication with the specified domain is unavailable, an act of the Web browser locally loading the executable module from the Web browser cache to satisfy the request while one or more other Web browser applications continue to execute via network communication; and

    an act of overriding the default cache reclamation settings of the Web browser to extend when the content and the executable code for the Web based application expire from the Web browser cache.

View all claims
  • 2 Assignments
Timeline View
Assignment View
    ×
    ×