Lecture 4 Page 1 CS 118 Winter 2016
Multiparty Communications CS 118 Computer Network Fundamentals Peter Reiher
Multiparty Communications CS 118 Computer Network Fundamentals - - PowerPoint PPT Presentation
Multiparty Communications CS 118 Computer Network Fundamentals Peter Reiher Lecture 4 CS 118 Page 1 Winter 2016 Outline Extending 2-party model to N-party A party has multiple receivers (other end) A party has multiple senders
Lecture 4 Page 1 CS 118 Winter 2016
Multiparty Communications CS 118 Computer Network Fundamentals Peter Reiher
Lecture 4 Page 2 CS 118 Winter 2016
Outline
Lecture 4 Page 3 CS 118 Winter 2016
Shannon Channel
– Homogenous endpoints
– Preselected sender, preselected receiver
predetermined receiver
Lecture 4 Page 4 CS 118 Winter 2016
Shannon 2-party communication
– Participating endpoints – Communication channel
– When the endpoints share state
– Whether something is lost
Lecture 4 Page 5 CS 118 Winter 2016
Decoupling party from channel
– Sometimes we communicate with Twitter – Sometimes we communicate with eBay – Sometimes we communicate with Wikipedia
each of them
– “Detach” channel end from party
Lecture 4 Page 6 CS 118 Winter 2016
Channel vs. party
– Integrated with the endpoint (party) – No choices – all information sent/received uses the
Lecture 4 Page 7 CS 118 Winter 2016
Separating the two
(state to share) from the channel (because there might be more than one)
Lecture 4 Page 8 CS 118 Winter 2016
Abstract network components
– (“party”) – Source or sink of state (“information”)
– (“channel”) – Action at a distance (“symbol transfer”)
Lecture 4 Page 9 CS 118 Winter 2016
Components
Shannon
Multiparty, modern terms
Lecture 4 Page 10 CS 118 Winter 2016
Multiparty extensions
– Need to differentiate the receivers – Names
– Juggling multiple “senders” – Sockets
– Broadcast and multicast
Lecture 4 Page 11 CS 118 Winter 2016
Multiparty
– All connected – By separate 2-party channels – Using a single protocol
Lecture 4 Page 12 CS 118 Winter 2016
Multiparty assumptions
– I.e., fully-connected topology – Each channel disjoint from the others
Lecture 4 Page 13 CS 118 Winter 2016
Why is this networking?
– Methods to enable communication between varying sets of indirectly connected parties that don’t share a single protocol
– ONE protocol for now – Direct 2-party channels for now – (we’ll get to the other parts later…)
Lecture 4 Page 14 CS 118 Winter 2016
Importance of multiparty
– Pairs communicating change
– Subsets of state, potential overlap, etc.
– Can share with more than one other party
Lecture 4 Page 15 CS 118 Winter 2016
The need for names
receivers
– How are receivers differentiated?
which?
Need some sort of identifier to indicate which channel (indicating which receiver)
Lecture 4 Page 16 CS 118 Winter 2016
A simple case
receivers?
Lecture 4 Page 17 CS 118 Winter 2016
What can the name apply to?
– Channels – Endpoints
– Consider a fully-connected network – For each source, channel:endpoint is 1:1 Foo
Lecture 4 Page 18 CS 118 Winter 2016
Names for receivers
– A number that corresponds to the channel/endpoint
– An OS-centric type of name specifying what the OS should connect the channel to
– Used more generically
– Originally (1974 TCP) meant one end of 2-party – Unix/BSD copied the term (1983) – Now means a LOT more
Lecture 4 Page 19 CS 118 Winter 2016
Receiver naming requirements
– Each party needs to differentiate N-1 receivers – Names need to be unique within that set – NO need (yet) for names to be unique within the set of all parties
Lecture 4 Page 20 CS 118 Winter 2016
Receiver name examples
the other ends it can talk to
Bob Ted Carol Alice Ishmael
Lecture 4 Page 21 CS 118 Winter 2016
Receiver name examples
the same thing
– But possibly with different names – Its names need not match anyone else’s
– To the sender and receiver
Bob Ted Carol Alice Ishmael 2 3 5 7 11 Paul George John Ringo Pete
Lecture 4 Page 22 CS 118 Winter 2016
Multiple senders
sites
Lecture 4 Page 23 CS 118 Winter 2016
Concurrency
communications?
– The channels – need to “keep ‘em separated” – Need to decouple the channel from the party itself
– A “disembodied” communication endpoint within a party
Lecture 4 Page 24 CS 118 Winter 2016
What’s inside the party?
– State to be shared
– Part of finite state machine (a process) within the party – Outside the party
that info to the channel
Lecture 4 Page 25 CS 118 Winter 2016
How many machines are there?
– Multiple FSMs can be modeled as one FSM
– A set of FSMs, running concurrently
– And/or running as if concurrent with each other
– And/or having internal concurrent components
Lecture 4 Page 26 CS 118 Winter 2016
So what else do we have to name?
– Process/thread identifier – State identifiers
– Need to know which portion of the party’s state interacts with a given channel
Lecture 4 Page 27 CS 118 Winter 2016
Internal naming requirements
– Each party needs to differentiate some number of “FSMs” (sets of states) – Names need to be unique within that set – NO need for names to be unique within the set of all parties
Lecture 4 Page 28 CS 118 Winter 2016
Summary of multiparty naming
receiver
– An internal channel index
machine
– An internal machine index
BOTH ARE INTERNAL ONLY
Lecture 4 Page 29 CS 118 Winter 2016
Multiples of communications
multiple other parties
Lecture 4 Page 30 CS 118 Winter 2016
Shannon channel
– 1:1
– Pick which two – Just communicate
Lecture 4 Page 31 CS 118 Winter 2016
Multiple receivers
– Send same info. on all channels – Every party in the network has the same info.
– Broadcast on a subset of channels
Lecture 4 Page 32 CS 118 Winter 2016
Broadcast
– No need to pick – Need to replicate
Lecture 4 Page 33 CS 118 Winter 2016
Broadcast
– When? Need to coordinate – How to coordinate?
Lecture 4 Page 34 CS 118 Winter 2016
Complexities of communications copying
– Losses don’t correlate across channels – Might link “all-or-none” behavior
– Knowing all the receivers have the info at the same time – Having them know that – Having you know that
– Send one to each receiver? Can we do better?
Lecture 4 Page 35 CS 118 Winter 2016
Multicast
– How to pick? – Who picks?
– Need to replicate – Need to coordinate
Lecture 4 Page 36 CS 118 Winter 2016
Multicast
– Subset can change
Lecture 4 Page 37 CS 118 Winter 2016
Multicast complexities
– How do you indicate the subset desired? – Who picks? Sender or receivers?
– Members join – Members leave
Lecture 4 Page 38 CS 118 Winter 2016
Full pairwise connectivity
– Full, 1-hop connectivity – Simple to understand
Lecture 4 Page 39 CS 118 Winter 2016
Problems with this picture
Lecture 4 Page 40 CS 118 Winter 2016
What can we share?
– We’re already doing that – Multiprocessing, multiprogramming, etc. – The rest is for CS 111 (Operating Systems)
– Let’s explore…
Lecture 4 Page 41 CS 118 Winter 2016
Sharing a channel
– Full-duplex
– A way to support broadcast/multicast
– To gather information from multiple sources
Lecture 4 Page 42 CS 118 Winter 2016
The big reason
Lecture 4 Page 43 CS 118 Winter 2016
Scale
ratio
– An independent variable that changes arbitrarily – A dependent variable that is expressed in terms of the independent one
y = f(x)
y x = f (x) x
f (x) x ≤ c * g(x) where c is a positive constant
Lecture 4 Page 44 CS 118 Winter 2016
Scale magnitude
– No increase
– Logarithmic increase
– Linear increase
– Polynomial increase
– Exponential increase
– Beyond exponential increase
y = c logkx y = cx y = cxk y = ckcx y = cxcx
Lecture 4 Page 45 CS 118 Winter 2016
Why do we care?
Lecture 4 Page 46 CS 118 Winter 2016
2-party sharing
Lecture 4 Page 47 CS 118 Winter 2016
Signals in different directions
– Bosons: pass right through each other
– Fermions: collide (Pauli exclusion principle)
Lecture 4 Page 48 CS 118 Winter 2016
For those that interfere,
– Two simplex channels – Back where we started!
– “Timesharing” – Time-division
Lecture 4 Page 49 CS 118 Winter 2016
Time sharing control
– I.e., embedded in the protocol description – Requires a common time event (synchronization)
– One side controls the communication
We’ll see more general cases later
Lecture 4 Page 50 CS 118 Winter 2016
N-party sharing: 1 to N
channel
destinations
Lecture 4 Page 51 CS 118 Winter 2016
1:N – How?
– “Non-destructive” reads
– All of them (“native” multicast/broadcast)
Lecture 4 Page 52 CS 118 Winter 2016
Non-destructive reads
– Typical case
– Groups of identical symbols (e.g., particles) – Perfect copies (measurement doesn’t alter value)
– Can simplify the sharing protocol
Lecture 4 Page 53 CS 118 Winter 2016
Destructive reads
– Rare
– Observer effect (read affects value) – E.g., quantum state, collect majority of particles, etc.
– Non-determinism – can’t control which receiver reads – Prevents using broadcast for sharing protocol
– Tamper evidence if expect only one receiver – Quantum cryptography, e.g.
Lecture 4 Page 54 CS 118 Winter 2016
Limiting 1:N transmissions
the message?
– Transmit on different channels – Transmit at different times – Transmit different symbol sets (“languages”) – Label the transmission destination (names)
All can be internal to the source I.e., this is the easy part
Lecture 4 Page 55 CS 118 Winter 2016
N-party sharing: N to 1
channel
several sources
Lecture 4 Page 56 CS 118 Winter 2016
N:1 – How?
– Technically difficult, at the particle level – Collisions between particles – Or confusion of who sent which particle – One of them
Lecture 4 Page 57 CS 118 Winter 2016
Limiting N:1 transmissions
– Transmit on different channels – Transmit at different times – Transmit different symbol sets (“languages”)
– (all of the above) – Label the transmission source (names)
Why is this harder than 1:N?
Lecture 4 Page 58 CS 118 Winter 2016
N:1 is harder than 1:N
– Coordinate use internal to the source
– Naming needs to be coordinated with receiver
receiver recognizes
the context of that sender
– Coordinate use between sources
– Coordinate naming
but name attached by sender
has a unique name?
Lecture 4 Page 59 CS 118 Winter 2016
N-party sharing: N to N
Lecture 4 Page 60 CS 118 Winter 2016
The ultimate shared channel
– All parties transmit on – All parties receive from
– One link to add
Lecture 4 Page 61 CS 118 Winter 2016
Single shared channel examples
– Diffuse infrared – Omidirectional RF
– Bus – Ethernet
– Individual fibers to a passive coupler
Lecture 4 Page 62 CS 118 Winter 2016
N:N – combine rules
– Transmit on different channels – Transmit at different times – Transmit different symbol sets (“languages”) – Label the destination
(control transmitter)
– Transmit on different channels – Transmit at different times – Transmit different symbol sets (“languages”)
– (all of the above) – Label the source
Lecture 4 Page 63 CS 118 Winter 2016
Summary
– Distance, number of parties
– Networking required internal names – Sharing requires coordinated names
– Protocols to manage the network, not just to share endpoint state