 Call Kai
Call Kai Learn
Learn Practice Test
Practice Test Spaced Repetition
Spaced Repetition Match
Match1/96
Looks like no tags are added yet.
| Name | Mastery | Learn | Test | Matching | Spaced | 
|---|
No study sessions yet.
Distributed System is a
Networked computer system in which processes & resources sufficiently spread across multiple computers to appear as a single coherent system to users.
Centralized Systems
One node controls all resources and processes
Decentralized Systems
Multiple nodes operate inependently OR still operate independently but can request resources from each other
Distributed Systems
Nodes cooperate and share resources with each other
Transitioning from decentralized to a distributed system requires:
increasing node connectivity
Transparency is when
The system hides its distribution nature from users.
Types of transparency
Access
Location
Migration
Replication
Concurrency
Failure
Access Transparency
Hide differences in data representation & how an object is accessed
Location Transparency
Hide where an object is located
Migration Transparency
Hide that an object may be moved to another locationR
Replication Transparency
Hide that an object is duplicated
Concurrency Transparency
Hide that an object night be shared by multiple users
Failure Transparency
Hide the failures from a user
Openess
The idea that systems should support iteroperability, portability, an extensibility.
Also, system must conform to well defined interfaces.
Interoperability
The extent in which two systems/components from different manufacturers can co-exist & work together by merely relying on each other’s services as specified by a common standard.
Portability
The extent an application developed for a distributed system can be executed without modification on a different system that implements the same interfaces
Extensibility
To easily configure the system out of parts or add new components.
3 types of Scalability
Size Scalability
Geographical Scalability
Administrative Scalability
Size Scalability
Easily add users and resources to the system without notably effecting performance
Size Scalability Issues
Computational capacity limited by CPUs
Storage capacity including transfer rate between CPUs & disks
Network between user & the centralized service
Geographical Scalability
Users and resources are far apart, but significant communication delays aren’t noticed
Geographical Scalability Issues
Pre-existing systems rely on synchronous communication
Communication in wide area networks is less reliable than LAN
Wide area systems typically have limited facilities for multi-point communication
Administrative Scalability
An easily manageable system despite spanning multiple organisations.
Administrative Scalability Issues
Conflicting policies of resource usage, management, and security
Dependability
In order for a component to provide services to a client it may require services from other components
The 4 requirements of dependability
Availability
Reliability
Safety
Maintainability
Availability
The idea that a system is fully functioning and able to provide all expected services to its users.
Reliability
The idea that a system will run continuously for extended periods of time without failur
Safety
If a system were to temporarily fail no catastrophic event happens as a result.
Maintainability
How easily a failed system can be repaired.
Fault Tolerance has 3 metrics:
Mean Time to Failure
Mean time to Repair
Mean Time Between Failures
Security
Dependable Systems are also required to provide security especially in regards to confidentiality and integrity
5 Points of Security
Confidentiality
Integrity
Authentication
Authorization
Trust
Confidentiality
Only authorized access to data
How is confidentiality enforced?
Use encryption to protect confidential data & employ secure communication protocols to ensure authorized access.
Integrity
Ensure modifications are done by authorized users
How is integrity enforced?
Use hashes & digital signatures to check for tampering.
Use controlled update mechanisms & logging to verify authorized modifications.
Authentication
Verify Identity
How is authentication enforced?
Use secure credentials such as passwords and public key infrastructures to verify users.
Authorization
Check rights to access/modify an object
How to enforce authorization?
Use access control list, role based access control to restrict access.
Trust
Confidence the other points are accurate
6 Performance Metrics
Mean Time to Failure (MTTF)
Mean Time to Repair (MTTR)
Mean Time Between Failures (MTBF)
Utilization (U)
Throughput (X)
Response Time (R)
Utilization (U)
The fraction of time that a service is busy.
# of Incoming requests/# of processed requests
Throughput (X)
Average number of request processed per unit of time
Number of incoming requests that have been recieved by the server
Response Time (R)
How long a service takes to process a request including time in queue
1/(1-U)
4 Security Mechanisms
Symmetric Cryptosystem
Asymmetric Cryptosystem
Digital Signature
Secure Hash Function
Symmetric Cryptosystem
Uses the same key for encryption and decryption making it fast but requires secure key sharing.
Asymmetric Cryptosystem
Uses public/private key pairs where the public key encrypts and the private key decrypts. Enables secure communication without key sharing
Secure Hash Function
Maps input data to fixed length output making it sensitive to input changes, useful for integrity checks.
3 Key Terms in Fault Handling
Failure
Error
Fault
Failure
When a system cannot complete a promised service
Ex: Crashed Program
Error
Part of system state that can lead to failure
Ex: Messed up syntax
Fault
The cause of an error
Ex: Sloppy Coding
4 Fault Handling Techniques
Fault Prevention
Fault Tolerance
Fault Removal
Fault Forecasting
Fault Prevention
Prevent the occurence of a fault
Fault Tolerance
Build a component to hide the occurrence of a fault from users.
Fault Removal
Reduce the presence, number, or security of a fault
Fault Forecasting
Estimate current presence, future incidents, and consequences of faults
6 Types of System Classifications
Cluster Computing
Grid Computing
Pervasive System
Mobile Computing
Sensor Networks
Edge Computing
Cluster Computing
Homogenous systems on LAN
Same OS & near identical hardware
Single or tightly couple managing nodes
Grid Computing
Heterogenous systems across WANs
Can have different OS & Hardware
Dispersed across multiple organizations
Can easily span a WAN
Pervasive System
Embedded mobile computing, context aware
Nodes are small and mobile
Often nodes are embedded in a larger system
System naturally blents into the user’s environment
Three subtypes of pervasive systems
Ubiquitous
Mobile
Sensor
Mobile Computing
Devices as clients of cloud services
Device location is expected to change
Maintaining continuous communication can lead to problems
Sensor Networks
Many small low power nodes
Many nodes (10s-1000s)
Simple nodes (small memory/compute/communication capabilities)
Often battery powered or powerless
Edge Computing
Processing new data sources
Uses mobile computing as a base but instead of directly connecting ot the cloud it connects to a mor elocal data center.
False Assumptions
The network is reliable
There is one adminstrator
Transport cost is zero
Topology does not change
Latency is zero
Bandwidth is infinite
Architectural Styles
Define how components interact via connectors and data exchange
Connector
Mediates communication, coordination, and cooperation between components
Layered Architectures
Organize systems into layers with distinct responsibilities
OIS Model
The first layered model that used layers, but some aspects were vague
Database Architectuers
Use 3 layers:
Interface Layer
Processing Layer
Data Layer
Interface Layer
User/external application interactions
Processing Layer
Functions of an applicationDa
Data Layer
Persistent Storage of data
Object Based Style
Components = Objects
Communication via method calls
Encapsulation of Data and behavior
Data can be modified without revealing internal workings
RESTful Architecture is optipized around
Resources
RESTful Architecture
Resources are identified through a single naming scheme
All services offer the same interface
Messages sent to or from are fully self-described
After execution the component used forgets everything about the caller
Coupling Dimensions
Referentially Coupled
Temporally Coupled
Referentially Coupled
Explicit referencing in communication.
Example: Email address
Temporally Coupled
Whether or not systems are insync
Example: Instant messaging back and forth
Linda Tuple Space
A shared data space that is temporally and referentially decoupledT
Middleware
Holds commonly used components and function that don’t need to be implemented separately.
The “OS” of distributed systems.
Middleware Functions
Communication, Naming, Security, Persistance
Legacy Integration
In short use wrappers/adapters
1 on 1 wrapper time complexity
O(N)²
Broker wrapper time complexity
O(N)
Client Server Model:
Servers offer services
Clients use services
Clients and servers can be on different machines
Clients follow requeest reply model regarding using services
Symmetric Architectures
Peer 2 Peer
Structures P2P
Unstructured P2P
Super Peer Networks
BitTorrent
Peer 2 Peer
All nodes are equal
Structured P2P
Use hash based indexing
Unstructured P2P
Random graphs, flooding, random walksSu
Super peer networks
Introduce hierarchy for efficiency
BitTorrent
Tracker Based swarm coordination chunk trading among peers
Hybrid Architectures
Cloud computing layers
Edge Computing
Blockchain
Cloud Computing layers
Hardware → Infrastructure → Platform → Application