Pattern-Oriented Software Architecture, Patterns for Concurrent and Networked Objects
Designing application software to run in distributed and concurrent environments is a challenge facing software developers. These patterns form the basis of a pattern language that address issues of distribution, concurrency and networking.