System for multi-volume, write-behind data storage in a...

Electrical computers and digital processing systems: memory – Storage accessing and control – Control technique

Reexamination Certificate

Rate now

  [ 0.00 ] – not rated yet Voters 0   Comments 0

Details

C711S111000

Reexamination Certificate

active

06289422

ABSTRACT:

TECHNICAL FIELD
The present invention relates to mass storage of computer systems. More particularly, the invention relates to a write-behind enablement process which allows writing of data to multiple volumes of storage media associated with one or more server nodes in a distributed processing environment.
BACKGROUND OF THE INVENTION
In a distributed client/server storage environment, a client process will send data for storage to a remote server node, which writes the data to the actual storage medium. The ability to write data to remote storage medium allows an application program to use hardware that is associated with processors other than the one the application program is running on. The sharing of hardware resources in this way is a main advantage of a distributed computing environment. In order to improve performance within such an environment, it is desirable that the client program write several blocks of data to the server node for storage before reading a response from the server node to see if the transferred blocks of data have been written correctly. This technique of writing to the server node multiple blocks of data before confirming at a predetermined interval that the data has been correctly written is referred to as a “write-behind” function. With this function, communication overhead and delays between the client and server are minimized.
One difficulty with the write-behind process occurs because the client node does not continually check for status after sending each block of data. It will not be notified that the storage medium is full until the predetermined number of blocks have been sent to the server. Thus, the client node may only be notified of an end of volume condition after it has sent several additional blocks of data following the first block of data that would not fit in the storage medium.
One way that previous products have handled this problem is to require the client program to know the size of the storage medium before writing to it. As the client writes blocks of data to the storage medium, it knows that after a pre-specified number of blocks it must stop writing, and transition to a new storage medium. By doing this, the client never sends extra blocks to the server that cannot be written to the existing medium, and the problem is avoided.
There are two penalties for requiring the client to know the size of the storage media ahead of time. The first is that it is inconvenient to the programmer who must specify the storage medium size. The second is that in order to be safe, the maximum number of blocks is often not written to the storage medium. Thus, part of each storage medium may go unused.
In view of the above, a different approach to data transfer interfacing of the client and server nodes is desired.
DISCLOSURE OF THE INVENTION
Briefly summarized, in a first aspect a distributed processing system is presented which has multiple processors. One processor is designated a client node and one or more other processors each comprise a server node. The server node has at least one storage medium associated therewith. The client node is adapted to write blocks of data from a client process running thereon to a first storage medium of a first server node of the distributed processing system. The writing continues until a physical end of storage is reached for the first storage medium, and the physical end of storage is reached without the size of the first storage medium having been predetermined. The client node and the first server node are adapted to switch between blocks of data from the first storage medium to a second storage medium of a second server node of the distributed processing system, wherein the switching is transparent to the client process of the client node. Further, the writing of blocks of data from the client node to the first storage medium comprises a write-behind operation, and the first server node periodically notifies the client node whether previously received blocks of data have been correctly written to the first storage medium.
In another aspect, a distributed processing system is presented wherein multiple processors are coupled together, one processor comprising a client node and one or more other processors each comprising a server node. Each server node has at least one storage medium associated therewith. The client node is adapted to write blocks of data from a client process of the client node to a first storage medium of the at least one storage medium associated with a first server node of the distributed processing system. The writing continues until a physical end of the first storage medium is reached, wherein the physical end of the storage medium is reached without having predetermined a size of the first storage medium. The system further includes means for switching the writing of blocks of data to a second storage medium after reaching the physical end of the first storage medium. The second storage medium is either associated with the first server node or is associated with a second server node of the system. The writing of blocks of data to the first storage medium comprises a write-behind operation wherein the first server periodically notifies the client node whether previously received blocks of data have been correctly written to the first storage medium. The client node is adapted to ascertain for the client process how many blocks of data were written to the first storage medium.
In a still further aspect, a distributed processing system is presented wherein multiple processors are coupled together. One processor comprises a client node and one or more other processors comprise server nodes. Each server node has at least one storage medium associated therewith. The client node is adapted for writing blocks of data from a client process to a first storage medium associated with a first server node of the system. The writing continues until a physical end of the first storage medium is reached. The physical end of the first storage medium is reached without having predetermined a size of available storage in the first storage medium. The system also includes means for writing a header label to a second storage medium when the end of the first storage medium is reached. The second storage medium comprises a storage medium associated with the first server node or a storage medium associated with a second server node of the system. Means for switching is provided for switching the writing of blocks of data to the second storage medium after the physical end of the first storage medium is reached. The writing of blocks of data to the first storage medium comprises a write-behind operation wherein the first server node periodically notifies the client node whether previously received blocks of data have been written correctly to the first storage medium.
The concepts presented herein produce numerous advantages over conventional client/server interfacing for a write-behind process in a distributed processing environment. First, enhanced flexibility is provided by allowing the client application to store blocks of data to storage media associated with different processors within the distributed environment. Thus, a client application may switch writing blocks of data from a first tape mounted on a first drive on a first processor to a second tape mounted on a second drive of a second processor in the distributed processing system. Further, with an application programming interface as described herein, it is possible for client programs to track exactly how many blocks of data have been written to each storage medium so that future access to a specific block of data on a specific storage medium is possible. Advantageously, enhanced flexibility is provided herein to the client application for the client program to write its own headers. The multi-volume data transfer process disclosed herein allows a client process to use the full capacity of the storage medium in a multiple tape volume backup without requiring prior knowledge on the size of each tape when writing the blocks of data. Thus,

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 for multi-volume, write-behind data storage in a... 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 for multi-volume, write-behind data storage in a..., we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and System for multi-volume, write-behind data storage in a... will most certainly appreciate the feedback.

Rate now

     

Profile ID: LFUS-PAI-O-2441736

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