The propagator patterns are found in such diverse applications as Make, WWW, spreadsheets, GUIs, distributed file systems, distributed databases, workflow systems, and multilevel caches. In the strict propagation patterns, updates flow from the point of original change forward through the network. Dependent objects are immediately updated, unless failure occurs. In the lazy propagation pattern, an updated object merely sets its timestamp, without notifying any other object. It supports a combination of strict, lazy, and periodic update schemes.
All patterns support smart propagation for avoiding redundant work as well as concurrent updates.
Examples of these patterns are formulated in the Internet language Java.