Browse Prior Art Database

Architecture for Serving Large Read Only Objects from a Host

IP.com Disclosure Number: IPCOM000108941D
Original Publication Date: 1992-Jul-01
Included in the Prior Art Database: 2005-Mar-23
Document File: 5 page(s) / 215K

Publishing Venue

IBM

Related People

Lynne, KJ: AUTHOR

Abstract

An architecture for high-performance serving of large read-only files from a host system is disclosed. The host system maintains control over the access of the files itself, but relegates the task of actually transferring the data to a special server machine which is optimized for serving these kinds of files. The existence of the server machine is transparent to the requester; the receiving application accesses the file just as though it were actually on the host computer.

This text was extracted from an ASCII text file.
This is the abbreviated version, containing approximately 31% of the total text.

Architecture for Serving Large Read Only Objects from a Host

       An architecture for high-performance serving of large
read-only files from a host system is disclosed.  The host system
maintains control over the access of the files itself, but relegates
the task of actually transferring the data to a special server
machine which is optimized for serving these kinds of files.  The
existence of the server machine is transparent to the requester; the
receiving application accesses the file just as though it were
actually on the host computer.

      Central to the architecture is a new concept called a ROLDO
(Read Only Large Data Object) which is recognized by the system for
treatment as a special kind of entity.  A ROLDO is like any other
byte-stream file, but possesses the following characteristics:
o    It is large; usually in the area of a hundred kilobytes or more
and often as large as several megabytes or more.
o    It is often read but seldom, if ever, written to or changed; at
least it is read performance that is critical to the application
using the data rather than write performance.
o    It is usually read sequentially from beginning to end. That is
unlike databases or indexed files, requesting applications almost
always download the entire ROLDO when using it.
o    The data in the ROLDO itself is not irreplaceable; that is, it
is only a copy of the original which either resides elsewhere or can
be regenerated when and if necessary.

      These inherent characteristics of a ROLDO allow it to be served
in a highly efficient manner:  The fact that it is read-only means
that sharing a ROLDO among numerous asynchronous requesters requires
no complicated and time-consuming locking schemes.  Similarly, since
a ROLDO never changes, journaling or recovery procedures are
unnecessary.  Since a ROLDO is only a copy, backup or recovery
procedures are not needed in case of a permanent failure, and since
ROLDOs are read sequentially from beginning to end, a ROLDO server
can profitably prefetch ROLDO data before the the read request from
the application is received.  Finally, since ROLDOs are large
objects, most of the time will be taken by the transmission of the
data itself; consequently, more time can be spent in preparation for
sending it (i.e., the "open" logic) if that buys significant
performance improvement in the actual data transmission phase.

      The solution proposed is to maintain a ROLDO as two pieces: a
header portion and a data portion.  The header portion, which
contains all the directory information for a ROLDO (i.e., its size,
date, authorities, etc.) is maintained on the host; however, the data
portion of the ROLDO exists elsewhere (as well as, possibly, a copy
of it on the host for backup purposes) on a separate entity known as
a ROLDO server.  The header portion has a "pointer" to the data on
the ROLDO server.  The host takes on the role of a "data manager"; it
does most of the "op...