Lesson 1.2: Physical models
A physical model is a representation of the underlying hardware elements of a distributed system that abstracts away from specific details of the computer and networking technologies employed.
Generations of Distributed Systems
A. Early Distributed Systems (1970s–1980s)
- Scale: 10–100 nodes connected via LANs (e.g., Ethernet).
- Services: Shared printers, file servers, email, limited Internet file transfer.
- Characteristics:
- Homogeneous (similar hardware/software).
- Limited focus on openness or quality of service (QoS).
B. Internet-Scale Systems (1990s–2000s)
- Scale: Global, leveraging the Internet (e.g., Google, 1996).
- Characteristics:
- Heterogeneity: Diverse nodes (hardware, OS, languages, teams).
- Open standards: Middleware like CORBA/web services.
- QoS: Added protocols for reliability/performance.
C. Contemporary Systems (2010s–Present)
- Key Trends:
- Mobile Computing: Nodes (laptops, smartphones) move, requiring service discovery.
- Ubiquitous Computing: Embedded systems (e.g., smart homes, IoT devices).
- Cloud Computing: Pools of nodes (e.g., Google clusters) replace autonomous machines.
- Heterogeneity: Ranges from tiny sensors to high-performance clusters.
D. Systems of Systems (Ultra-Large-Scale)
- Definition: Complex systems integrating subsystems (e.g., flood prediction systems).
- Example: Sensor networks → Simulation clusters → Mobile alerts.
Generations of Distributed Systems
Distributed systems | Feature Early (1970s–1980s) | Internet-Scale (1990s–2000s) | Contemporary (2010s–Present) |
---|---|---|---|
Scale | Small (10–100 nodes) | Large (global, e.g., Google) | Ultra-large (IoT, cloud, mobile) |
Heterogeneity | Limited (homogeneous hardware/software) | Significant (diverse platforms, languages, middleware) | Extreme (embedded devices, clusters, edge computing) |
Openness | Not prioritized | Emphasized (standards like CORBA/web services) | Major challenge (existing standards insufficient for complexity) |
Quality of Service (QoS) | Basic (limited research) | Advanced (protocols for reliability/performance) | Critical but unresolved (complexity demands new solutions) |