Distributed Systems and Networking Concepts

0.0(0)
studied byStudied by 0 people
learnLearn
examPractice Test
spaced repetitionSpaced Repetition
heart puzzleMatch
flashcardsFlashcards
Card Sorting

1/136

flashcard set

Earn XP

Description and Tags

A comprehensive set of flashcards covering key concepts in distributed systems and networking.

Study Analytics
Name
Mastery
Learn
Test
Matching
Spaced

No study sessions yet.

137 Terms

1
New cards

Distributed System

A system composed of more than one computer (node) that work together to achieve performance or provide services that would be hard or impossible to attain on a single computer.

2
New cards

Node

Any computer or device (desktop, server, mobile phone, etc.) that participates in a distributed system by having a network interface.

3
New cards

Fault

A malfunction or failure in one or more components of a system.

4
New cards

Fault Tolerance

The ability of a system to continue operating as a whole despite the failure of some of its components.

5
New cards

System Model

A set of assumptions made about the behavior of nodes, the network, and failures when designing distributed algorithms.

6
New cards

Crash-Stop (Fail-stop) Model

A failure mode where a node suddenly stops functioning and does not recover.

7
New cards

Crash-Recovery (Fail-recovery) Model

A failure mode where a node crashes unexpectedly but may later recover and resume operation.

8
New cards

Byzantine Failure

A failure in which a node behaves arbitrarily (including malicious behavior or incorrect outputs) rather than just crashing.

9
New cards

Two Generals Problem

A classic thought experiment that shows it is impossible to achieve absolute certainty over unreliable communication channels.

10
New cards

Distributed Consensus

The process by which multiple nodes in a distributed system agree on a single data value or a course of action.

11
New cards

FLP Impossibility Theorem

A formal result stating that in an asynchronous distributed system with even one faulty process (crash failure), reaching guaranteed consensus is impossible.

12
New cards

Middleware (T.R.O.S.E.D.S. Goals)

Software that provides common services and capabilities to applications outside of what is offered by the operating system.

13
New cards

Remote Procedure Call (RPC)

A protocol that enables a program to cause a procedure (subroutine) to execute on a different address space as if it were a local call.

14
New cards

Protocol Styles (in RPC)

The design patterns used for remote invocation, including fire-and-forget, request-reply, and request-reply-acknowledge.

15
New cards

Marshalling/Unmarshalling

The process of converting an object into a byte stream for transmission over a network and then converting it back into an object.

16
New cards

Client Stub & Proxy

Client Stub – a component that packages a remote procedure call into a network message; Proxy – a local representative that provides the same interface as the remote object.

17
New cards

Server Stub (Skeleton)

A counterpart on the server side that receives the message, unmarshals it, and calls the actual procedure.

18
New cards

Dispatcher

The component on the server that receives incoming messages and routes them to the appropriate server stub.

19
New cards

Remote Method Invocation (RMI)

Java’s built-in middleware similar to RPC, enabling one Java virtual machine to invoke methods on an object in another JVM.

20
New cards

REST (Representational State Transfer)

An architectural style for designing networked applications that rely on stateless, client-server, cacheable communications.

21
New cards

HTTP Content Types & Semantics

Specifies the media type of the data being transmitted and provides guidelines on how messages should be formed and interpreted.

22
New cards

Idempotence in REST

The property that repeating the same RESTful operation produces the same result.

23
New cards

Unicast

A one-to-one communication model where a message is sent from a single sender to a single receiver.

24
New cards

Broadcast

A one-to-all communication model where a message is sent from one node to all other nodes in a network.

25
New cards

Multicast

A one-to-many model where a message is sent to a specific group of nodes.

26
New cards

Many-to-Many Communication

A communication pattern where multiple senders and multiple receivers exchange messages.

27
New cards

Group Communication

A middleware service that allows a process to send a message to a group of nodes with a single command.

28
New cards

Reliable Multicast

A multicast protocol that includes mechanisms to ensure that messages are delivered to all intended recipients despite network issues.

29
New cards

Atomic Multicast

A multicast communication guarantee that ensures a message is delivered either to all nodes or none at all.

30
New cards

ACK (Acknowledgement) / NACK (Negative Acknowledgement)

ACK – a message confirming successful receipt; NACK – a message indicating that a message was not received.

31
New cards

NACK Suppression

A mechanism to limit the number of NACKs sent to prevent network overload.

32
New cards

Hierarchical Feedback Control

A design approach that organizes receivers in a hierarchy to handle feedback more efficiently.

33
New cards

Security Threats

Potential risks that can compromise a system’s confidentiality, integrity, or availability.

34
New cards

Encryption

The process of converting plaintext into ciphertext to secure information against unauthorized access.

35
New cards

Symmetric Cryptography

A cryptographic method in which the same key is used for both encryption and decryption.

36
New cards

Ciphertext and Plaintext

Plaintext is the original, unencrypted data; Ciphertext is the encrypted data.

37
New cards

Diffusion

A property of cryptographic algorithms where the influence of a single plaintext bit is spread over many bits of ciphertext.

38
New cards

Asymmetric Cryptography

A cryptographic method that employs a pair of keys—a public key for encryption and a private key for decryption.

39
New cards

RSA

A widely used public-key cryptosystem that relies on the difficulty of factoring large composite numbers.

40
New cards

Digital Signature

A cryptographic technique that produces a unique hash signature for a message to ensure authenticity and integrity.

41
New cards

Certificate Authority (CA)

A trusted third-party organization that verifies and digitally signs public keys.

42
New cards

Client-Server Architecture

A computing model where dedicated servers provide resources or services and clients consume them.

43
New cards

Peer-to-Peer (P2P) Systems

A distributed network structure where every node acts as both a client and a server.

44
New cards

Distributed Hash Table (DHT)

A decentralized data structure that provides a lookup service akin to a hash table across multiple nodes.

45
New cards

Hash Table (Refresher)

A data structure that maps keys to values using a hash function.

46
New cards

Chord Protocol

A DHT protocol that organizes nodes in a circular structure using consistent hashing for even key distribution.

47
New cards

Cloud Computing

The delivery of computing services over the Internet for faster innovation and flexible resources.

48
New cards

Vertical Scaling (Scale-Up)

Increasing a single server’s capacity by adding more CPU, RAM, or storage.

49
New cards

Horizontal Scaling (Scale-Out)

Adding more servers to distribute a service’s load over multiple machines.

50
New cards

Load Balancer

A component that distributes incoming network traffic across multiple servers.

51
New cards

Stateful vs. Stateless Services

Stateful services maintain state between requests; stateless services treat each request independently.

52
New cards

Containment

Encapsulating a software system along with its dependencies into a single, isolated unit for easy deployment.

53
New cards

Virtual Machine (VM)

An emulated computer system providing the functionality of a physical computer.

54
New cards

Hypervisor

Software that creates and manages virtual machines by abstracting hardware resources.

55
New cards

Virtualisation

The creation of virtual versions of computing resources.

56
New cards

Container

A lightweight, stand-alone package that includes everything needed to run software.

57
New cards

Docker

A platform for developing, shipping, and running containers.

58
New cards

Namespaces

A Linux kernel feature that isolates system resources so that processes see their own separate instance.

59
New cards

Cgroups (Control Groups)

A Linux kernel feature used to limit and monitor resource usage of process groups.

60
New cards

VM Migration

The process of moving a virtual machine from one physical host to another with minimal downtime.

61
New cards

Abstraction

Hiding complex details behind simpler interfaces.

62
New cards

Idempotence

The property that repeating the same operation yields the same result.

63
New cards

Latency

The delay between a request being sent and its response.

64
New cards

Scalability

The ability of a system to handle increased load by adding resources.

65
New cards

Transparency

The property of a system that hides its distributed nature from the end user.

66
New cards

Openness and Interoperability

Ensuring systems can work together via standardized protocols.

67
New cards

Extensibility

The ease with which a system can add new features or modify existing ones.

68
New cards

Physical Clock

A hardware-based clock that provides time stamps but may suffer from skew and drift.

69
New cards

Clock Skew & Offset

The difference between a local clock and a reference clock’s time.

70
New cards

Ordering Distributed Events

The challenge of ensuring that all replicas process events in the same sequence.

71
New cards

Lamport Clocks

Logical clocks that assign scalar timestamps to events.

72
New cards

Vector Clocks

An extension of logical clocks that maintain an array of counters to capture causality.

73
New cards

Cryptographic Hash Function

A function that maps any-size input to a fixed-size digest in a collision-resistant manner.

74
New cards

Digest

The fixed-length output of a cryptographic hash function.

75
New cards

Double Spending

An attempt to use the same digital token multiple times fraudulently.

76
New cards

Decentralized Ledger & Blockchain

A distributed record of transactions maintained locally by each node without a central authority.

77
New cards

Peer-to-Peer (P2P) Network (in blockchain)

A network where each node functions as both a client and a server, storing the full ledger.

78
New cards

Gossip Protocol

A communication method where nodes forward messages to a small set of neighbors repeatedly.

79
New cards

Consensus Protocol (in Blockchain)

A mechanism by which participants agree on a single history of transactions.

80
New cards

Permissionless System

A decentralized system where any node can join without approval.

81
New cards

Strong Consistency

A model in which a read always returns the most recent write once updated across all replicas.

82
New cards

Eventual Consistency

A relaxed consistency model in which replicas eventually converge to the same state.

83
New cards

Quorum-Based Reads/Writes

Operations that require a majority of replicas to agree for a value to be committed.

84
New cards

CAP Theorem

The result stating that in the presence of network partitions, a distributed system can provide only two of the three guarantees.

85
New cards

Conflict Resolution (Last-Write-Wins)

A policy where, in conflicting updates, the write with the later timestamp is taken as final.

86
New cards

Read-Write & Write-Write Conflicts

Situations where interleaved operations lead to stale reads or overwritten writes.

87
New cards

Direct Communication

A communication model where the sender explicitly addresses the receiver.

88
New cards

Indirect Communication

Communication via an intermediary that decouples sender and receiver.

89
New cards

Group Communication (again)

A form of indirect communication where messages are sent to a group rather than a single individual.

90
New cards

Publish–Subscribe (Pub/Sub) System

A messaging pattern where publishers send events without specifying receivers.

91
New cards

Subscription Models – Channel-Based

Fixed channels in which subscribers receive all messages sent to that channel.

92
New cards

Subscription Models – Topic-Based

Events are tagged with topics and subscribers express interest in specific topics.

93
New cards

Subscription Models – Type-Based

Subscriptions based on data types in object-oriented languages.

94
New cards

Subscription Models – Content-Based

Subscribers define filters based on message content for fine-grained control.

95
New cards

Broker (in Pub/Sub)

An intermediary that matches published events with subscriber filters.

96
New cards

Event Routing

The process of efficiently delivering events only to subscribers whose filters match the event.

97
New cards

Data Storage Technologies

Various storage mediums such as disks, main memory, and networked/cloud storage.

98
New cards

Memory Hierarchy

The layered organization of storage from the fastest and smallest to the slowest and largest.

99
New cards

Cache

A smaller, faster storage area that temporarily holds a subset of data.

100
New cards

Principle of Locality

The tendency for programs to repeatedly access a relatively small portion of memory.