Databases Reference
In-Depth Information
decision support systems, relational database operations, data mining, and image
processing. However, they do not consider the management and reliability of the
data.
A set of autonomous disks is configured as a cluster in a network for either a
NAS or a SAN. Data is distributed within the cluster so it can be accessed uniformly.
The disks accept simultaneous accesses from multiple hosts via the network. Disk-
resident processors in the disks handle data distribution and load skews to enable
efficient data processing. They are also capable of tolerating disk failures and
software errors in the disk controllers, and reconfiguring the cluster after the
damaged disks are repaired. The data distribution, skew handling, and fault
tolerance are completely transparent to their hosts. Thus, the hosts are not involved
in communication between disks to realize these functions. This provides high
scalability of the system without the central controller.
2.1 Approaches to Implementation
There are many approaches to achieving the capabilities described above. We
propose to use rules with command layers and a stream interface 4) . They provide
sufficient flexibility to the user. Moreover, to provide transparency to the hosts,
our approach adopts a distributed directory combined with the rules. It enables
each disk to accept requests for all the data in a cluster and balances the load
within the cluster.
2.1.1 Rule Description
The autonomous disks are controlled by active rules, which are also called Event-
Condition-Action (ECA) rules 8, 9) . The syntax we use for a rule here is very simple
and common in active databases (we can omit the else clause):
when (an event triggering a rule);
if (conditions for checking the state);
then (actions executed if the conditions are satisfied);
else (actions executed if the conditions are not satisfied).
By using a programming language, all the functions can be implemented within
the disk controllers. The main reason for adopting rules is to provide user-friendly
descriptions for controlling distributed disks and to restrict the capabilities allowed
to users. If we allow users to write anything in an ordinary programming language,
they may violate some limit that will destroy some important information for
controlling the disk because of confusion as to how to describe what they wish to
do. The rule descriptions permit only combinations of the basic commands
provided, but are sufficiently flexible to manipulate streams and adapt the state of
a disk to suit. Basic commands are implemented by a programming language, and
combined together by the rules to realize the higher interface commands and
autonomy properties of the disks.
Search WWH ::




Custom Search