|
It goes even beyond that. A lot of other very important, fundamental topics belong under the umbrella of distributed systems, starting with routing. The Internet is, after all, a giant distributed routing system. Another topic that's huge all by itself is peer-to-peer networks, and all their associated aspects, such as structured (DHTs like Chord, Cassandra, etc.) vs unstructured (Gnutella, Kazaa, etc.), P2P search, handling churn, handling peers with heterogenous capabilities, peer selection, topology organization, decentralized routing, file-sharing (torrents) vs streaming (PPLive, Spotify), etc. Other topics (with several overlapping aspects) include: - Security, such as Sybil attacks, group key management, etc; - Overlay networks; - CDNs; - Ad hoc and mesh networks; - MMOs and multiplayer games; - SCADA and industrial control systems; - Pub/Sub systems and application layer multicast; - Distributed file systems; - Load balancing and bandwidth management; And that's just off the top of my head... I'm sure I'm missing other important topics. |
Yes! DNS is also fascinating as far as distributed databases and consistency go:
http://pages.cs.wisc.edu/~akella/CS740/S08/740-Papers/MD88.p...