An embodiment of the invention described in the specification and drawings
is a distributed and highly available data storage system. In one
embodiment, the distributed data storage system includes a plurality of
data storage units that are controlled by an object management system. The
object management system preferentially selects the distributed data
storage units for performing the file access requests according to the
external inputs/outputs with which the file access requests are
associated. In response to a file creation request that is associated with
an external input of one distributed data storage unit, the object
management system preferentially creates a data file in that distributed
data storage unit. In response to a file retrieval request that is
associated with a data file and an external output of a distributed data
storage unit, the object management system preferentially returns a
hostname and pathname of a copy of the data file that is stored within
that distributed data storage unit. The object management system also
makes redundant copies of the data files in different units to provide
high availability of data.