Electrical computers and digital processing systems: memory – Storage accessing and control – Shared memory area
Reexamination Certificate
1998-07-10
2001-01-30
Yoo, Do Hyun (Department: 2759)
Electrical computers and digital processing systems: memory
Storage accessing and control
Shared memory area
C711S147000, C711S167000, C711S203000
Reexamination Certificate
active
06182197
ABSTRACT:
BACKGROUND OF THE INVENTION
1. Field of the Invention
The present invention relates generally to clustered computer systems, and more particularly to systems and methods for accessing shared disk data in a clustered computer environment.
2. DESCRIPTION OF THE RELATED ART
Clustered computing refers to the ability of many computer processors to work in consonance with each other to undertake respective portions of large scale computing tasks, or to execute separate applications using a common data storage resource. The computers communicate with each other and/or the data storage resource via a network to, e.g., distribute computational chores among the computers, or to execute their respective independent applications. Using many computers working together to undertake large scale computations is often more cost-effective than providing a single monolithic processor to execute such tasks.
In many clustered computing systems, each computer might be physically connected to one or more respective data storage devices, typically computer disks. Further, to enable more than a single computer to access data on a disk, the disk might be physically connected to a plurality of computers. Such shared system disks are referred to as “physically shared” disks, because they are physically connected to the computers of the system. It will readily be appreciated that such a system, referred to as a shared storage system, not only distributes computations among the several computers, but also distributes data across the several disks.
While physically connecting a disk to several computers is an effective method for sharing storage, it happens that the accompanying input/output (I/O) hardware can be relatively expensive. Moreover, such a system is not readily scalable. More particularly, connecting each one of a large number of computers to each of a large number of disks is not only expensive, but requires excessive and complicated cabling.
Accordingly, the present assignee has introduced a system referred to as “virtual shared disk”, or “VSD”, in which each computer of a clustered computing system regards each one of many system disks as being physically connected all the system computers, despite the fact that each disk is physically connected only to one or a few computers. VSD achieves this essentially by providing, for each computer, a software module representing a respective system disk, with the software module appearing to the computer as a device driver for the respective disk. To read or write to a disk that is not physically connected to it, a computer invokes the device driver of the “virtual” disk as it would a physically shared disk to request a read or write operation, with the underlying VSD software module then sending the request to the computer in the system that is actually physically connected to the disk.
Regardless of whether the shared system disks are virtual or physical, however, it will be appreciated that two or more system computers might issue read or write requests to a single system disk virtually simultaneously with each other. When this happens, a system disk addresses the competing requests based on considerations that are internal to the disk, and not based on the order in which the requests were received or indeed on any consideration external to the disk. For example, a system disk might respond to competing requests based on the current position of the disk head relative to the sectors of the disk on which the requested data is stored (or is to be stored), with the request that is “closest” to the head being addressed first.
As recognized by the present invention, the above-mentioned process for addressing competing requests to a disk, whether virtually or physically, has the drawback of not considering the fact that one request might be more urgent than another. This is particularly unfortunate in multimedia applications, which typically read a large block of data bits that must be delivered in a particular temporal order. Thus, as recognized herein, read and write requests can define response deadlines (i.e., temporally-based priorities) or other, non-temporally-based priorities, beyond which the requests become stale, and satisfying them late consequently makes no sense. As discussed above, however, current shared storage systems do not respond to requests based on priorities defined by the requests, but rather based on internal disk considerations, much less do current shared storage systems consider whether a request should be terminated if it cannot be satisfied within the deadline (or other priority).
Moreover, the present invention understands that one multimedia application might request a first video frame bit that is to be played sooner than a second video frame bit that might be requested by another application. In such a circumstance, it would be desirable for the shared storage system to respond to the first request before the second request, regardless of whether the first request was received before the second request. Unfortunately, current shared disk systems do not contemplate considering the relative priorities of competing requests in determining how to respond to plural near-simultaneous requests to a single system disk.
Accordingly, the present invention recognizes that shared storage systems including VSD can better supply data for multimedia streams for, e.g., as video-on-demand, if the shared storage system performance can be made to model real-time multimedia data streaming.
SUMMARY OF THE INVENTION
The invention is a general purpose computer programmed according to the inventive steps herein to update and terminate data access requests to a shared storage system in a clustered computer system. The invention can also be embodied as an article of manufacture—a machine component—that is used by a digital processing apparatus and which tangibly embodies a program of instructions that are executable by the digital processing apparatus to undertake the present invention. This invention is realized in a critical machine component that causes a digital processing apparatus to perform the inventive method steps herein.
In accordance with the present invention, a computer system includes plural client nodes that communicate data access requests to plural storage nodes. The system further includes logic means for associating one or more of the data access requests with respective priorities, e.g., time-based deadlines. Additionally, the system includes logic means for sending the data access requests and priorities to the storage nodes. Moreover, the system includes logic means for ordering the data access requests at the storage nodes based on the respective priorities, such that the data access requests are satisfied in consideration of their respective priorities.
In a preferred embodiment, logic means are provided for changing the priorities of the data access requests, prior to the requests being satisfied by a storage node, to render an updated priority. Logic means then reorder data access requests at the storage nodes, based on the updated priorities. Furthermore, logic means can be provided for terminating one or more data access requests.
Preferably, the computing and storage nodes are loosely synchronized with each other. In an exemplary embodiment, the system is a virtual shared disk (VSD) system, and each storage node includes at least one storage computer and at least one data storage device. Unless the invention is implemented on a system disk controller, each storage computer includes logic means for sending no more than one data access request at a time to the data storage device, such that the data storage device cannot reorder the sequence of responding to data access requests based on considerations that are internal to the data storage device.
In another aspect, in a computer system having plural computers communicating data access requests to a shared storage system, a computer-implemented method is disclosed for satisfying at least two contemporaneous data access requests to a single data storage device of the sh
Dias Daniel Manuel
Mukherjee Rajat
International Business Machines - Corporation
Namazi Mehdi
Rogitz John L.
Yoo Do Hyun
LandOfFree
Real-time shared disk system for computer clusters does not yet have a rating. At this time, there are no reviews or comments for this patent.
If you have personal experience with Real-time shared disk system for computer clusters, we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Real-time shared disk system for computer clusters will most certainly appreciate the feedback.
Profile ID: LFUS-PAI-O-2445084