US RE42,578 E1
Synchronization using commitment
Darrell F. High, Arlington, Tex. (US); and Robert S. Shaw, Cupertino, Calif. (US)
Assigned to Hewlett-Packard Development Company, L.P., Houston, Tex. (US)
Filed on Feb. 26, 2004, as Appl. No. 10/788,046.
Application 10/788046 is a reissue of application No. 09/738119, filed on Dec. 15, 2000, now 6,601,069, filed on Jul. 29, 2003.
Int. Cl. G06F 17/00 (2006.01)
U.S. Cl. 707—102  [707/100; 707/101; 707/103 R] 23 Claims
OG exemplary drawing
 
1. A method for sharing among a plurality of competing processes a file object that includes file contents and a state that describes whether the file contents are inconsistent and whether the file object is in the use of a competing process, the state having a value being selected from a group consisting of ‘uncommitted’, ‘inconsistent’ and ‘committed’, the method comprising:
determining the state value of the file object and whether or not the file content is suitable for use by a specific one of the competing processes;
(i) if the state value of the file object is not ‘committed’ and either the state value is ‘inconsistent’ or the file content is not suitable for use by the specific one of the competing processes:
obtaining exclusive access to the file object;
adjusting the contents of the file object;
setting the state of the file object to ‘committed’; and
relinquishing exclusive access to the file object;
(ii) if the state value of the file object is not ‘committed’ and the state value is not ‘inconsistent’ and the file content is suitable for use by the specific one of the competing processes,
setting the state of the file object to ‘committed’;
(iii) if the state value of the file object is ‘committed’ and the file content is suitable for use by the specific process,
sharing the committed file; and
(iv) otherwise, returning a failure status.