| 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 |

| 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.
|