This document presents the philosophy and design of our language independent middleware, the Distribution Subsystem(DSS). A notion of abstract entity types enables the DSS to offer distribution support for virtually any high level programming language. A novel framework for entity consistency protocols is presented. The framework greatly simplifies the development of new protocols, indicated by the numerous protocols provided by the DSS implementation. A roadmap of how to couple a programming system to the DSS is also given