System, device, and method for providing mutual exclusion...

Data processing: database and file management or data structures – Database design – Data structure types

Reexamination Certificate

Rate now

  [ 0.00 ] – not rated yet Voters 0   Comments 0

Details

C707S793000

Reexamination Certificate

active

06829609

ABSTRACT:

FIELD OF THE INVENTION
The present invention relates generally to computer systems, and more particularly to providing mutual exclusion for computer system resources.
BACKGROUND OF THE INVENTION
Many computer systems include various resources that must be shared among multiple processes. For example, files, data structures, memory locations, disks, and peripherals are often shared among multiple processes. Such processes may run on the same processor within a particular device, on different processors within the same device, or on different processors within different devices.
In many cases in the prior art, certain types of accesses to such shared resources must be restricted to one process at a time. This is often referred to as “mutual exclusion.” One type of mutual exclusion, for example, allows only one process to write to a particular resource at any given time (although multiple processes may be allowed to read from the resource). Mutual exclusion may be required, for example, to prevent multiple processes from interfering with one another or to prevent multiple processes from making conflicting or inconsistent changes to the resource.
One way to provide mutual exclusion for such shared resources utilizes a distributed lock mechanism. One process, typically the first process that requires access to the resource, becomes the “owner” of the resource. The owner process coordinates all access to the resource. When a non-owner process requires access to the resource, the non-owner process sends a request to the owner process requesting access to the resource. The owner process either grants or denies access to the resource based upon such considerations as the type of access requested and the resource state (reserved or unreserved).
Each process that requires access to a particular resource, including the owner process and any non-owner process(es), maintains a “lock” for the resource. A lock is typically a data structure that is maintained in a memory. The lock indicates, among other things, the owner process for the resource. Thus, a lock maintained by a non-owner process includes a reference to the owner process. In order to distinguish between a lock maintained by the owner process and a lock maintained by a non-owner process, the lock maintained by the owner process is referred to hereinafter as the “owner” lock, while a lock maintained by a non-owner process is referred to hereinafter as a “reference” lock.
The lock for a particular resource may be created as part of an investigation procedure that is performed by a process the first time it requires access to the resource. In such an investigation procedure, the process sends an inquiry to the other processes inquiring whether one of the other processes owns the resource. If none of the other processes owns the resource, then the process becomes the owner for the resource, and creates an owner lock for the resource. If one of the other processes owns the resource, then the process creates a reference lock for the resource, and sends a request to the owner process to request access to the resource.
One problem with such a prior art lock mechanism is that it requires two transaction exchanges when a process requires access to a resource that is owned by another process. Specifically, the process first sends an inquiry to the other processes to inquire whether another process owns the resource, and then sends a request to the owner process to request access to the resource. This is time-consuming, and adds to inter-process communication overhead.
Thus, a simpler lock mechanism that requires only one transaction exchange for a process to reserve the resource would be useful, and is provided by the present invention.
SUMMARY OF THE INVENTION
In accordance with one aspect of the present invention, mutual exclusion for resources in a computer system is provided using a distributed lock mechanism in which a first process to request access to a resource becomes the owner of the resource, and other processes must request access to the resource through the owner process. In order to expedite access to the resource, a non-owner process creates a lock upon receiving an inquiry from another process. The lock indicates, among other things, the owner process for the resource. Thereafter, when the process requires access to the resource, the process uses the lock to determine the owner process for the resource, and sends a request to the owner process requesting access to the resource. In this way, the process does not need to send a separate inquiry to determine whether another process owns the resource.


REFERENCES:
patent: 5586318 (1996-12-01), Toutonghi
patent: 5706511 (1998-01-01), Tomoda
patent: 6026401 (2000-02-01), Brealey et al.
patent: 6173442 (2001-01-01), Agesen et al.
patent: 6223204 (2001-04-01), Tucker
patent: 6247025 (2001-06-01), Bacon
patent: 969369 (2000-01-01), None
Kawachiya et al. (Lock reservation: Java Locks can mostly do without atomic operations) ACM Press, Year: 2002, pp.: 130 141.

LandOfFree

Say what you really think

Search LandOfFree.com for the USA inventors and patents. Rate them and share your experience with other people.

Rating

System, device, and method for providing mutual exclusion... does not yet have a rating. At this time, there are no reviews or comments for this patent.

If you have personal experience with System, device, and method for providing mutual exclusion..., we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and System, device, and method for providing mutual exclusion... will most certainly appreciate the feedback.

Rate now

     

Profile ID: LFUS-PAI-O-3325390

  Search
All data on this website is collected from public sources. Our data reflects the most accurate information available at the time of publication.