Workstation cooperation through a typed distributed shared memory abstraction

Data units are defined in a level that is above simple memory but below other cooperation paradigms. They are easily ported and well matched to traditional programming. Implementations can vary to suit each system, but the interface remains the same. They can be added to various systems without affecting the operating system context. Data units make an excellent foundation for building fully functional objects. However, they do not render the classic procedural programming model obsolete. Various coherency policies and mechanisms, including those of classic distributed shared memory (DSM) can be applied to data units. Data unit locks permit a wide variety of application-controlled coherency. This is particularly useful for those applications which allow the use of stale data while a replica is being updated. With proper control, this can lead to improved concurrency.<<ETX>>