What is a communication paradigm? It is a set of communication primitives Network adapters allow us to send data using MAClayer primitives Transport layer endows us with sockets How could we raise the abstraction further?
Study of a communication paradigm: Properties Target applications Underlying implementation concepts INF5040, Roman Vitenberg
INF 5040
2
1
Communication properties Addressing scheme and space decoupling Underlying protocol addresses (IP) – no decoupling Logical aliases – partial decoupling – DNS and NAT translation, service names, email aliases
Content-based addressing – full decoupling – Interactions are declarative
Persistence level Fully persistent Fully transient Intermediate INF5040, Roman Vitenberg
3
Communication properties Synchrony Fully synchronous Fully asynchronous Intermediate
Message-oriented communication Stream-oriented communication Software-based distributed shared memory (DSM) INF5040, Roman Vitenberg
5
Message-oriented communication paradigms
(some)
Raw socket programming Message-passing interface (MPI) Message-oriented middleware (MOM) Publish-subscribe communication
INF5040, Roman Vitenberg
INF 5040
6
3
Raw socket programming Addressing scheme: IP addresses No time decoupling Transient Mainly used for building higher-level abstractions
INF5040, Roman Vitenberg
7
Message-programming interface (MPI) Addressing scheme A group of nodes assigned logical addresses
Failures are considered fatal Transient without time decoupling Data-oriented (advanced data manipulation) Basic API: MPI_send, MPI_recv Data-oriented API: MPI_scatter,MPI_gather
Use: parallel computation in fast networks INF5040, Roman Vitenberg
INF 5040
8
4
Message-oriented middleware (MOM) Addressing scheme: logical queue name Persistent Full time decoupling put(msg,dest queue name) Sender Queuing layer OS layer
get(local queue name) Receiver Queuing layer OS layer
INF5040, Roman Vitenberg
9
Routing in MOM Handles queue name to address translation Hierarchical names: {queue manager, internal id}
Message brokers perform inter-domain routing with format conversion Sender Queuing layer OS layer
Message broker
INF5040, Roman Vitenberg
INF 5040
Receiver Queuing layer OS layer
10
5
MOM applications & implementations Implementations: IBM MQ, Oracle AQ The E-mail application Workflow and other collaborative apps Federated information systems Query