Patent ID: 8024427

Claim:
A tangible computer-readable storage medium that does not consist of a signal, said computer-readable storage medium storing executable computer program instructions that, when executed, cause a computer to perform a computer-implemented method comprising: receiving a request at a server from a browser of a computing device of a user, the request including a command to process a web page form document that was edited by the user using the browser, a storage identifier identifying a current storage location of a state associated with the web page form document, one of the state or a cookie identifying the state, and a status field indicating whether the state or the cookie identifying the state is included in the request; obtaining, by the server, the state associated with the web page form document from the current storage location, the state associated with the web page form document comprising data provided in the web page form document, presentation information for displaying the web page form document, and meta information indicating where the state associated with the web page form document may be stored; processing the web page form document at the server based on the state associated with the web page form document and the command included in the request, wherein the processing adds data to the web page form document; adding data to the state associated with the web page form document based on the processing to provide an updated state associated with the web page form document; determining that a size of the updated state associated with the web page form document exceeds a threshold size to store the updated state in the current storage location; dynamically determining an updated storage location to store the updated state associated with the web page form document based on criteria including a connection speed of the computing device and the size of the updated state, wherein the updated storage location is selected from a group of storage locations at one or more network devices; storing the updated state on a network device at the updated storage location; and sending a response to the request to the browser of the computing device of the user, the response comprising a token to be used by the browser for identifying the updated state and an updated storage identifier identifying the updated storage location where the updated state is stored.