Chapter 1
Concurrent and Networked Objects
“With the exception of music, we have been trained to think of patterns as fixed affairs. It’s easier and lazier that way, but, of course, all nonsense. The right way to begin to think of the pattern which connects is to think of a dance of interacting parts, pegged down by various sorts of limits.”
Gregory Bateson — Cultural Anthropologist
This chapter introduces topics related to concurrent and networked objects. We first motivate the need for advanced software development techniques in this area. Next, we present an overview of key design challenges faced by developers of concurrent and networked object-oriented applications and middleware. To illustrate how patterns can be applied to resolve these problems, we examine a case study of an object-oriented framework and a high-performance Web server implemented using this framework. In the case study we focus on key patterns presented in this book that help to simplify four important aspects of concurrent and networked applications:
- Service access and configuration
- Event handling
- Synchronization and
- Concurrency
1.1 Motivation
During the past decade advances in VLSI technology and fiber-optics have increased computer processing power by 3–4 orders of magnitude and network link speeds by 6–7 orders of magnitude. Assuming that these trends continue, by the end of this decade
- Desktop computer clock speeds will run at ~100 Gigahertz
- Local area network link speeds will run at ~100 Gigabits/second ...
Get Pattern-Oriented Software Architecture, Volume 2, Patterns for Concurrent and Networked Objects now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.