Caching infrastructure
First Claim
1. A method for retrieval of presence metadata, the method comprising:
- receiving a request from a first client to edit a document file;
sending short-term check out metadata to the first client to begin an editing session; and
writing a transition ID to a transition table stored in a cache, wherein the presence of the transition ID in the cache indicates that a document has switched from a single-client mode to a multi-client mode;
receiving a ping from the first client to determine if the transition ID is in the cache;
if the transition ID is not in the cache,receiving a plurality of pings from the first client at regular intervals, andsaving the document to a server a plurality of times without incurring reads/writes to a database, andif the transition ID is in the cache,receiving a plurality of pings from the first client to collect a lock table from a database to identify a second client, andin a separate web service request, receiving the second client'"'"'s lock information.
2 Assignments
0 Petitions
Accused Products
Abstract
Example systems and methods are directed at maintaining and retrieving presence metadata. One example method includes receiving a request from a first client to edit a document file, and sending short-term check out metadata to the first client to begin an editing session. The method also includes writing the transition ID to a transition table stored in a cache, wherein the presence of another transition ID in the cache indicates that a document has switched from a single-client mode to a multi-client mode. An example system includes a processing unit operative to receive a document, the document including short-term check out metadata indicating an editing session has begun, ping a cache to determine if another transition ID is stored in the cache, and send a transition ID to a transition table stored in a cache to switch from a single-client mode to a multi-client mode.
-
Citations
20 Claims
-
1. A method for retrieval of presence metadata, the method comprising:
-
receiving a request from a first client to edit a document file; sending short-term check out metadata to the first client to begin an editing session; and writing a transition ID to a transition table stored in a cache, wherein the presence of the transition ID in the cache indicates that a document has switched from a single-client mode to a multi-client mode; receiving a ping from the first client to determine if the transition ID is in the cache; if the transition ID is not in the cache, receiving a plurality of pings from the first client at regular intervals, and saving the document to a server a plurality of times without incurring reads/writes to a database, and if the transition ID is in the cache, receiving a plurality of pings from the first client to collect a lock table from a database to identify a second client, and in a separate web service request, receiving the second client'"'"'s lock information. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A system including a cache infrastructure for retrieval of presence metadata,the system comprising:
-
a memory storage unit; and a processing unit coupled to the memory storage unit, wherein the processing unit is operative to; receive short-term check out metadata from a first client to begin an editing session for a document; add a transition ID to the short-term check out metadata; write the transition ID to a transition table stored in a cache, switch from a single-client mode to a multi-client mode, wherein switching from the single-client mode to the multi-client mode comprises the processing unit being operative to notice when the first client attempts to take another short-term lock on the document and seeing that that a second client has already received the document; determine if the multi-client mode is in progress by checking a database; receive a ping from the first client to determine if the transition ID is in the cache; if the transition ID is not in the cache, receive pings from the first client at regular intervals, and save the document to a server a plurality of times without incurring any reads/writes to the database, and if the transition ID is in the cache, receive a ping from the first client to collect a lock table from the database to identify the second client, and receive the second client'"'"'s lock information by receiving pings that do not carry lock information. - View Dependent Claims (9, 10, 11, 12)
-
-
13. A client computer for retrieval of metadata relating to a multi-client editing session, the client computer comprising:
-
a memory unit; and a processing unit operative to; receive a document from a storage device, the document comprising short-term check out metadata indicating an editing session has begun; ping a cache to determine if another transition ID is stored in the cache; and send a transition ID to a transition table stored in a cache if the another transition ID is not stored in the cache to switch from a single-client mode to a multi-client mode; determine if more than one another transition ID is in the cache; if more than one another transition ID is in the cache, write to a database information indicating a second client has joined the editing session; refresh the cache by updating the transition table;
wherein updating the transition table comprises the processing unit being operative to;ping the cache to check for the presence of another transition ID in the cache; and if the another transition ID is not present in the cache, determine if the cache has been refreshed within a predetermined time interval; if the cache has been refreshed within the predetermined time interval, respond to the ping from the cache, and if the cache has not been refreshed within the predetermined time interval, fetch the transition table corresponding to the document'"'"'s content database. - View Dependent Claims (14, 15, 16, 17, 18, 19, 20)
-
Specification