Access and method execution on distributed complex objects
Abstract
Complex objects are used to model “non-traditional” database applications such as in multimedia, software engineering, etc. The complex objects in such applications are large and possibly geographically distributed. The existing database server architectures tend to minimize one communication overhead at the expense of another in accessing the objects for method execution on a complex object. This thesis investigates how compiler optimization techniques can be used to minimize two of those conflicting overheads: number of round-trips and communication bandwidth in retrieving “irrelevant” objects. We present Client-Driven Object Grouping (CDOG) in which an executing method dynamically determines the groups of objects needed in its computation. The a priori computed static information for the method is used in making the decisions. The method semantics and execution profiles are used to extend these object groups. We introduce the notion of complex object skeletons. A skeleton provides a mechanism to determine the identity of objects in a complex object without having to access their data. Using the formal methodology presented, the static information is mapped to a skeleton to determine relevant identities. The implementation and empirical evaluation of CDOG in a distributed object database system called O-Raid is detailed. Finally, we show that dynamic grouping of objects at a client mitigates the limitations of server based object grouping mechanisms during method execution.
Degree
Ph.D.
Advisors
Bhargava, Purdue University.
Subject Area
Computer science
Off-Campus Purdue Users:
To access this dissertation, please log in to our
proxy server.