Serializing document editing commands
AssigneeMicrosoft Corporation
InventorsJeffrey Huang, Dachuan Zhang
Life of this patent
Estimating the term…
Abstract
A command stream is generated that includes serialized commands for editing a document. The command stream can be applied to a modified document to generate a single document that contains modifications to the document made using both a Web application and a client application. The command stream can also be utilized to recreate the edited state of a document following the disconnection from a Web application for editing the document, to load balance a server computer hosting the Web application even while editing sessions are in progress, to perform an upgrade of a server hosting the Web application while editing sessions are in progress, and for other purposes.
Claims17
A computer-implemented method comprising performing computer-implemented operations for:
- storing a document on a server computer;
- receiving a plurality of user commands using web-based applications to modify the document;
- serializing the received commands;
- storing the serialized commands in sequential order in a command stream separate from the document;
- determining whether the server computer is a highly loaded server computer;
- if the server computer is a highly loaded server computer then determining whether there is an in-progress document editing session for the document;
- and
- if there is an in-progress document editing session, applying the command stream to the document;
- and then
- moving the document to a non-highly loaded server computer.
A computer-readable storage medium having computer-executable instructions stored thereupon which, when executed by a computer, cause the computer to:
- store a document on a server computer;
- receive a plurality of user commands using web-based applications to modify the document;
- serialize the received commands;
- store the serialized commands in sequential order in a command stream separate from the document;
- receive a request to save the document;
- in response to receipt of the request, determine whether the server computer is a highly-loaded computer;
- if the server computer is a highly loaded server computer then determine whether there is an in-progress document editing session for the document;
- if there is an in-progress document editing session then apply the commands in the command stream to the document in serial order and save the document;
- and then
- move the saved document to a non-highly loaded server computer.
A computer-implemented method comprising performing computer-implemented operations for:
- storing a document on a server computer;
- receiving a plurality of user commands using web-based applications to modify the document at a first application;
- serializing the received commands by way of the first application;
- storing the serialized commands in sequential order in a command stream separate from the document;
- modifying the document by way of a second application to create a modified document;
- determining whether the server computer is a highly loaded server computer;
- if the server computer is a highly loaded server computer then determining whether there is an in-progress document editing session for the document;
- if there is an in-progress document editing session then applying the serialized commands in the command stream to the modified document by way of the first application;
- and then
- moving the document to a non-highly loaded server computer.
Dependencies are inferred from the claim text.