| United States Patent | RE40,989 |
| Jain , et al. | November 17, 2009 |
Performing atomic operations on data entities having an arbitrary size is disclosed. Version data is associated with a data entity. The version data is saved to a first attribute. The data entity is then accessed. The saved version data is compared to the current version data. If the two are equal, the data entity is valid.
| Inventors: | Jain; Neel K. (Redmond, WA), Waters; Bradley M. (Woodinville, WA), Fields; Mahlon David (Kirkland, WA) |
| Assignee: |
Microsoft Corporation
(Redmond,
WA)
|
| Appl. No.: | 10/988,447 |
| Filed: | November 12, 2004 |
| Application Number | Filing Date | Patent Number | Issue Date | ||
| Reissue of: | 09286552 | Apr., 1999 | 06484185 | Nov., 2002 | |
| Current U.S. Class: | 1/1 ; 707/999.001; 707/999.002; 707/999.003; 707/999.008; 707/999.201; 707/999.203 |
| Current International Class: | G06F 12/00 (20060101) |
| Field of Search: | 707/8,201 |
| 5327556 | July 1994 | Mohan et al. |
| 5452448 | September 1995 | Sakuraba et al. |
| 5748978 | May 1998 | Narayan et al. |
| 5761677 | June 1998 | Senator et al. |
| 5806078 | September 1998 | Hug et al. |
| 5881229 | March 1999 | Singh et al. |
| 5918229 | June 1999 | Davis et al. |
| 5946699 | August 1999 | Sawashima et al. |
| 5950201 | September 1999 | Van Huben et al. |
| 5956480 | September 1999 | Kurihara |
| 5960406 | September 1999 | Rasansky et al. |
| 6009428 | December 1999 | Kleewein et al. |
| 6026474 | February 2000 | Carter et al. |
| 6067550 | May 2000 | Lomet |
| 6247027 | June 2001 | Chaudhry et al. |
| 6484185 | November 2002 | Jain et al. |
| 6535869 | March 2003 | Housel, III |
Courtois, P.J., F. Heymans and D.L. Parnas "Concurrent Control with `Readers` and `Writers`", Communications of the ACM, vol. 14, No. 10, Oct. 1971, pp. 667-668. cited by examiner . Easton, W.B. "Process Synchronization Without Long-Term Interlock", Proceedings of the 3.sup.rd ACM Symposium on Operating Systems Principles, 1971, pp. 95-100. cited by examiner . Easton, W.B. "Process Synchronization Without Long-Term Interlock", ACM SIGOPS Operating Systems Review, vol. 6, No. 1/2, Jun. 1972, pp. 95-100. cited by examiner . Gerber, A.J. ACM SIGOPS Operating Systems Review, vol. 11, No. 4, Oct. 1977, pp. 6-17. cited by examiner . Lamport, L. "Concurrent Reading and Writing", Communications of the ACM, vol. 20, No. 11, Nov. 1977. cited by examiner . Ramsperger, N. "Concurrent Access to Data", Acta Informatica, vol. 8, 1977, pp. 325-334. cited by examiner . Reed, D.P. and R.K. Kanodia "Synchronization with Eventcounts and Sequencers", Communications of the ACM, vol. 22, No. 2, Feb. 1979, pp. 115-123. cited by examiner . Lamport, L. "How to Make a Multiprocessor Computer That Correctly Executes Multiprocess Programs", IEEE Transactions on Computers, Col. C-28, No. 9, Sep. 1979, pp. 690-691. cited by examiner . Bernstein, P.A. and N. Goodman "Timestamp-Based Algorithms for Concurrency Control in Distributed Database Systems", Proceedings of the 6.sup.th International Conference on Very Large Databases, Oct. 1-3, 1980, pp. 285-300. cited by examiner . Plotkin, S.A. "Sticky Bits and Universality of Consensus", Proceedings of the 8.sup.th Annual ACM Symposium on Principles of Distributed Computing, 1989, pp. 159-175. cited by examiner . Herlihy, M. "Wait-Free Synchronization", ACM Transactions on Programming Languages and Systems, vol. 11, No. 1, Jan. 1991, pp. 124-149. cited by examiner . Herlihy, M. A Methodology for Implementing Highly Concurrent Data Objects, ACM Transactions on Programming Languages and Systems, vol. 15, No. 5, Nov. 1993, pp. 745-770. cited by examiner . Valois, J.D. "Lock-Free Data Structures", Ph. D. Thesis, Rensselaer Polytechnic Institute, May 1995. cited by examiner . Valois, J.D. "Lock-Free Linked Lists Using Compare-and-Swap", Proceedings of the 14.sup.th Annual ACM Symposium on Principles of Distributed Computing, Aug. 20-23, 1995, pp. 214-222. cited by examiner . Anderson, J., S. Ramamurthy, M. Moir and K. Jeffay "Lock-Free Transactions for Real-Time Systems", In Real-Time Databases: Issues and Applications, Amsterdam: Kluwer Academic Publishers, 1997. cited by examiner. |