The patent badge is an abbreviated version of the USPTO patent document. The patent badge does contain a link to the full patent document.

The patent badge is an abbreviated version of the USPTO patent document. The patent badge covers the following: Patent number, Date patent was issued, Date patent was filed, Title of the patent, Applicant, Inventor, Assignee, Attorney firm, Primary examiner, Assistant examiner, CPCs, and Abstract. The patent badge does contain a link to the full patent document (in Adobe Acrobat format, aka pdf). To download or print any patent click here.

Date of Patent:
May. 26, 2009

Filed:

Apr. 11, 2000
Applicants:

Nir N. Shavit, Cambridge, MA (US);

Ole Agesen, Needham, MA (US);

David L. Detlefs, Westford, MA (US);

Christine H. Flood, Westford, MA (US);

Alexander T. Garthwaite, Beverly, MA (US);

Paul A. Martin, Arlington, MA (US);

Guy L. Steele, Jr., Lexington, MA (US);

Inventors:

Nir N. Shavit, Cambridge, MA (US);

Ole Agesen, Needham, MA (US);

David L. Detlefs, Westford, MA (US);

Christine H. Flood, Westford, MA (US);

Alexander T. Garthwaite, Beverly, MA (US);

Paul A. Martin, Arlington, MA (US);

Guy L. Steele, Jr., Lexington, MA (US);

Assignee:

Sun Microsystems, Inc., Santa Clara, CA (US);

Attorney:
Primary Examiner:
Int. Cl.
CPC ...
G06F 7/06 (2006.01);
U.S. Cl.
CPC ...
Abstract

An array-based concurrent shared object implementation has been developed that provides non-blocking and linearizable access to the concurrent shared object. In an application of the underlying techniques to a deque, the array-based algorithm allows uninterrupted concurrent access to both ends of the deque, while returning appropriate exceptions in the boundary cases when the deque is empty or full. An interesting characteristic of the concurrent deque implementation is that a processor can detect these boundary cases, e.g., determine whether the array is empty or full, without checking the relative locations of the two end pointers in an atomic operation.


Find Patent Forward Citations

Loading…