Method 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

06360304

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 the present invention comprises a method of storing data in a distributed processing system which has multiple processors, one processor being a client node and one or more other processors each being a server node. Each server node has at least one storage medium associated therewith. The method includes: writing blocks of data from a client process of the client node to a first storage medium of a first server node of the distributed processing system, the writing continuing until all blocks of data to be stored by the client process are written to the first storage medium or until a physical end of storage is reached for the first storage medium, wherein the physical end of storage is reached without size of the first storage medium having been predetermined; if the physical end of storage is reached for the first storage medium, switching writing blocks of data from the client node to a second storage medium of a second server node of the distributed processing system, wherein the switching of writing is transparent to the client process; and wherein the writing blocks of data from the client process to the first storage medium and to the second storage medium comprise write-behind operations, and the first server node and the second server node periodically notify the client node whether previously received blocks of data have been correctly written to the first storage medium or the second storage medium, respectively.
In another aspect, a method of storing data in a distributed processing system having multiple processors is provided. One processor of the system is a client node and one or more other processors each comprise server nodes. Each server node has at least one storage medium associated therewith. The method includes: writing blocks of data from a client process of the client node to a first storage medium of a first server node of the system, the writing continuing until a physical end of storage is reached for the first storage medium, wherein the physical end of storage is reached without having predetermined a size of the first storage medium; after the physical end of storage is reached for the storage medium, switching the writing of data blocks to a second storage medium, the second storage medium being an additional storage medium of the first server node or a storage medium associated with a second server node of the system; wherein the writing of blocks of data to the first storage medium comprises a write-behind operation with the first server node periodically notifying the client node whether previously received blocks of data have been written correctly to the first storage medium; and ascertaining for the client process how many blocks of data were written to the first storage medium.
In a further aspect, a method of storing data in a distributed processing system having multiple processors is provided. One processor is designated a client node and one or more other processors comprise server nodes, with each server node having at least one storage medium associated therewith. The method includes: writing blocks of data from a client process of the client node to a first storage medium of a first server node of the distributed processing system, the writing continuing until a physical end of storage is reached for the first storage medium, wherein the physical end of storage is reached without having predetermined a size of available storage in the first storage medium; writing a header label to a second storage medium when the physical end of the first storage medium is reached, the second storage medium comprising one storage medium of the first server node or one storage medium of a second server node of the distributed processing system; switching the writing of blocks of data to the second storage medium after the physical end of the first storage medium is reached; and wherein the writing blocks of data to the first storage medium comprises a write-behind operation in which the first server node periodically notifies the client node whether the 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 sto

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

Method 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 Method 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 Method for multi-volume, write-behind data storage in a... will most certainly appreciate the feedback.

Rate now

     

Profile ID: LFUS-PAI-O-2836357

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