Client–Server Model

/ˈklaɪ.ənt ˈsɜːr.vər ˈmɒd.əl/

noun — “the digital handshake that keeps your apps and servers from fighting over data.”

Client–Server Model is a network architecture where tasks and workloads are divided between service providers, called servers, and service requesters, called clients. In this model, clients initiate requests for resources or services, and servers respond by providing data, computation, or functionality. This separation allows multiple clients to access shared resources efficiently while centralizing control on the server side.

Network Protocol

/ˈnɛt.wɜːrk ˈproʊ.tə.kɒl/

noun — “the rulebook that keeps your data from turning into digital chaos.”

Network Protocol is a standardized set of rules and conventions that govern how devices communicate over a network. It defines how data is formatted, transmitted, received, and interpreted, ensuring that different systems, operating systems, and applications can exchange information reliably and efficiently. From sending a simple email to streaming high-definition video, Network Protocols are the invisible traffic controllers keeping everything orderly.

Message Queue

/ˈmɛs.ɪdʒ kjuː/

noun — “the post office for processes, delivering data one envelope at a time.”

Message Queue is a communication mechanism that allows processes or applications to exchange information asynchronously by sending messages to a queue rather than communicating directly. This decouples the sender from the receiver, enabling reliable data transfer, load balancing, and better concurrency management in complex systems.

Socket

/ˈsɑː.kɪt/

noun — “the doorway your data knocks on when it wants to leave the machine.”

Socket is an endpoint for sending or receiving data across a network, allowing programs to communicate with other programs either on the same machine or across different systems. In operating systems and networking, a Socket represents a structured interface between an application and the network stack, abstracting away the gritty details of packets, routing, and hardware.

Pipe

/paɪp/

noun — “the secret tunnel your data sneaks through between programs.”

Pipe is an inter-process communication mechanism that allows the output of one program to be directly fed as input to another in a sequential, stream-oriented fashion. Commonly used in Unix-like systems and Command Line Interface scripting, Pipes enable chaining commands together to create powerful, modular workflows without the need for intermediate files.

Inter-Process Communication

/ˌɪn.tər ˈprɑː.ses kəˌmjuː.nɪˈkeɪ.ʃən/

noun — “how processes gossip without spilling secrets.”

Inter-Process Communication (IPC) is the set of mechanisms and protocols that allow separate processes within an operating system to exchange data, signals, or messages. Since each process typically runs in its own memory space, IPC provides controlled pathways to share information safely and efficiently, enabling collaboration without causing chaos or memory collisions.

Code

/kōd/

noun — "a system of symbols or rules used to represent information."

Code is a structured system for representing, communicating, or storing information using a defined set of symbols, rules, or conventions. In computing, cryptography, and digital communication, code refers to any method by which data or instructions are expressed in a form that can be transmitted, processed, or interpreted according to a predefined scheme. It emphasizes the *representation* of meaning rather than the meaning itself.

Message Queuing Telemetry Transport

/ˌɛm.kjuːˌtiːˈtiː/

noun — "lightweight messaging protocol for IoT devices."

MQTT , short for Message Queuing Telemetry Transport, is a lightweight, publish-subscribe messaging protocol optimized for constrained devices and low-bandwidth, high-latency, or unreliable networks. It enables efficient, asynchronous communication between clients and brokers, making it widely used in Internet of Things (IoT) applications.

Pub/Sub

/pʌb ˈsʌb/

noun — "asynchronous messaging model for decoupled communication."

Pub/Sub (short for Publish/Subscribe) is a messaging pattern in which senders (publishers) do not send messages directly to specific receivers (subscribers), but instead categorize messages into channels or topics. Subscribers express interest in one or more topics and receive only messages that match those topics. This decouples the sender and receiver, enabling scalable, asynchronous communication across distributed systems.