This project addresses issues in grids and metacomputing systems arising from (1) heterogeneity in resource types, (2) difficulties in preparing and staging applications, and (3) intrinsically high levels of dynamicity common in grids. Strategies to reconcile different resource classes, and to dynamically prepare resources that become available during application execution are the focus of this research. The approach adopted is based on is based on client-centric overlay software that provides unified access to diverse resources, complemented by runtime systems that substantially automate setup and configuration. The overlay unifies heterogeneous resources through service drivers or mediators that operate analogously to device drivers. New resources and variations in availability are handled through self-deployment of mediators and their service daemon counterparts, enabling the overlay to adaptively present applications with coherent aggregated projections of the underlying resources. This framework, termed Unibus, is being designed to accommodate multiple resource classes, ranging in access type from virtualization systems to interactive shells, job schedulers, and metaschedulers. Unification abstractions are based on identifying commonalities within resource classes and presenting uniform interfaces to them. Dynamic environment conditioning builds upon open standards in autonomic software deployment, with specifications of application structure and dependencies driving platform preparation with assistance from mediators and service daemons. This approach adopted by the Unibus system is expected to substantially enhance the prevalence of resource sharing across multiple resource classes and multiple administrative domains. By alleviating tedious setup requirements and reconciling resource diversity, will contribute significantly to realizing the true vision of grids and metacomputing.