iPhone Distributed Computing Fallacy #5: topology doesn’t change

Jonah Williams ·

Reviewing the 8 classic “fallacies of distributed computing” and how we can avoid them when writing iOS applications.

The fallacies of distributed computing

  1. The network is reliable.
  2. Latency is zero.
  3. Bandwidth is infinite.
  4. The network is secure.
  5. Topology doesn’t change.
  6. There is one administrator.
  7. Transport cost is zero.
  8. The network is homogeneous.

Fallacy #5: “topology doesn’t change”.

WWAN connections use significantly more power than WiFi connections. This becomes important when working with long lived connections or streaming media. A connection established over the WWAN will keep that interface active even if a WiFi network becomes available. To avoid running both interfaces it is up to the app to close and re-establish any active connections on the newly available network interface. Use Apple’s Reachability example to monitor changes in available interfaces and react as necessary. Also take a look at Paul Danbold’s “Advanced networking” talk from the 2009 Tech Talk World Tour.

Those changes to the network are also likely to result in changes to the device’s available bandwidth and latency so apps which make decisions based on those characteristics may need to monitor their connections and adapt to changing conditions. Since apps which stream significant amounts of audio or video are required to use http live streaming they can automatically switch between available streams designed for higher or lower bandwidth connections as network conditions change.