Documente Academic
Documente Profesional
Documente Cultură
Network
Figure 10.2
Clock synchronization using a
time server
mr
mt
p Time server,S
Figure 10.3
An example synchronization
subnet in an NTP
implementation 1
2 2
3 3 3
m m'
Time
Server A Ti- 3 Ti
Figure 10.5
Events occurring at three
processes
p1
a b m1
p2 Physical
c d time
m2
p3
e f
Figure 10.6
Lamport timestamps for the
events shown in Figure 10.5
1 2
p1
a b m1
3 4
p2 Physical
c d time
m2
1 5
p3
e f
Figure 10.7
Vector timestamps for the
events shown in Figure 10.5
(1,0,0) (2,0,0)
p1
a b m1
(2,1,0) (2,2,0)
Physical
p2
time
c d m2
(0,0,1) (2,2,2)
p3
e f
Figure 10.8
Detecting global properties p1 p2
object
reference
message
a. Garbage collection garbage object
p1 p2
wait-for
b. Deadlock wait-for
p1 p2
activate
c. Termination passive passive
Figure 10.9
Cuts
0 1 2 3
e1 e1 e1 e1
p1
m1 m2
p2 Physical
0 1 2 time
e2 e2 e2
Inconsistent cut
Consistent cut
Figure 10.10
Chandy and Lamport’s
‘snapshot’
Marker receiving rule for process p algorithm
i
On pi’s receipt of a marker message over channel c:
if (pi has not yet recorded its state) it
records its process state now;
records the state of c as the empty set;
turns on recording of messages arriving over other incoming channels;
else
pi records the state of c as the set of messages it has received over c
since it saved its state.
end if
Marker sending rule for process pi
After pi has recorded its state, for each outgoing channel c:
pi sends one marker message over c
(before it sends any other message over c).
Figure 10.11
Two processes and their initial
states
p1 c2 p2
c1
c1 (empty)
2. Global state S 1
<$900, 0> p1 c2 (Order 10, $100), M p2 <$50, 2000>
c1 (empty)
3. Global state S 2
<$900, 0> p1 c2 (Order 10, $100), M p2 <$50, 1995>
c1 (five widgets)
4. Global state S 3
<$900, 5> p1 c2 (Order 10, $100) p2 <$50, 1995>
c1 (empty)
(M = marker message)
Figure 10.13
Reachability between states in
the snapshot algorithm
actual execution e 0 ,e 1,...
Ssnap
pre-snap: e '0 ,e '1 ,...e 'R-1 post-snap: e ' R,e 'R+1 ,...
Figure 10.14
Vector timestamps and variable
values for the execution of
(1,0) (2,0) Figure 10.9(4,3)
(3,0)
x1= 1 x1 = 100 x1 = 105 x1= 90
p1
m1 m2
p2 Physical
time
x2 = 100 x2 = 95 x2 = 90
(2,1) (2,2) (2,3)
Cut C 2
Cut C1
Chapter 11,12, and 13
• Are on transaction an concurrency control
that are typically covered in a data base
course.
Ch 14: Fault Tolerance
Figure 14.1
A basic architectural model for
the management of replicated
Requests and
replies data
RM
C FE RM
C FE Replica
RM managers
Figure 14.2
Services provided for process groups
Group
address
expansion
Group Leave
send
Join
Process group
Figure 14.3
View-synchronous
a (allowed).
group communication
b (allowed).
p crashes p crashes
p p
q q
r r
c (disallowed). d (disallowed).
p crashes p crashes
p p
q q
r r
C FE RM
RM
Backup
C FE RM
Backup
Figure 14.5
Active replication
RM
C FE RM FE C
RM
Ch.15: Distributed Multimedia
Systems
Figure 15.1
A distributed multimedia system
Video camera
and mike
insufficient scarce
high-quality resources resources
audio
abundant
network resources
file access
remote
login
1980 1990 2000
Figure 15.3
Characteristics of typical
multimedia streams
Data rate Sample or frame
(approximate) frequency size
B L
Microphones Mixer
Network
C connections
Screen Video file system Video
D store
M
Codec
Window system
: multimedia stream
White boxes represent media processing components,
many of which are implemented in software, including:
codec: coding/decoding filter
mixer: sound-mixing component
Figure 15.5
QoS specifications for
components of the application
shown in Figure 15.4
Component Bandwidth Latency Loss rate Resources required
Camera Out: 10 frames/sec, raw video Zero
640x480x16 bits
A Codec In: 10 frames/sec, raw video Interactive Low 10 ms CPU each 100 ms;
Out: MPEG-1 stream 10 Mbytes RAM
B Mixer In: 2 44 kbps audio Interactive Very low 1 ms CPU each 100 ms;
Out: 1 44 kbps audio 1 Mbytes RAM
H Window In: various Interactive Low 5 ms CPU each 100 ms;
system Out: 50 frame/sec framebuffer 5 Mbytes RAM
K Network In/Out:MPEG-1 stream, approx. Interactive Low 1.5 Mbps, low-loss
connection 1.5 Mbps stream protocol
L Network In/Out: Audio 44 kbps Interactive Very low 44 kbps, very low-loss
connection stream protocol
Figure 15.6
The QoS manager’s task
Admission control QoS negotiation
Application components specify their QoS
requirements to QoS manager
Flow spec.
QoS manager evaluates new requirements
against the available resources.
Sufficient?
Yes No
Reserve the requested resources Negotiate reduced resource provision with application.
Agreement?
Resource contract Yes No
Allow application to proceed
Do not allow application to proceed
Token generator
Figure 15.8
The RFC 1363 Flow Spec
Protocol version
Maximum transmission unit
Token bucket rate
Bandwidth:
Token bucket size
Maximum transmission rate
Minimum delay noticed
Delay:
Maximum delay variation
Loss sensitivity
Loss: Burst loss sensitivity
Loss interval
Quality of guarantee
Figure 15.9
Filtering
Source
Targets
Highbandwidth
Mediumbandwidth
Lowbandwidth
Figure 15.10
Tiger video file server hardware
configuration Controller
low-bandwidth network
Start/Stop
video distribution to clients requests from clients
Figure 15.11
Tiger schedule
2 1 block service 0
block play timeT timet
DSM appears as
Process
memory in address
accessing DSM
space of process
if(b=a) then
print("before");
time
Figure 16.6
Data items laid out over pages
A B
page n page n + 1
Figure 17.1
IDL interfaces Shape and
struct Rectangle{
1
long width;
ShapeList struct GraphicalObject {
2
string type;
long height; Rectangle enclosing;
long x; boolean isFilled;
long y; };
};
interface Shape { 3
long getVersion() ;
GraphicalObject getAllState() ; // returns state of the GraphicalObject
};
org.omg.CORBA.Object objRef =
orb.resolve_initial_references("NameService"); 4
NamingContext ncRef = NamingContextHelper.narrow(objRef);
NameComponent nc = new NameComponent("ShapeList", ""); 5
NameComponent path[] = {nc}; 6
ncRef.rebind(path, shapeRef); 7
ShapeList B XX V
P
C
D E S T
R Q U
Figure 17.10
Part of the CORBA Naming
Service NamingContext
struct NameComponent { string id; string kind; };
interface
typedef sequence <NameComponent> Name; in IDL
interface NamingContext {
void bind (in Name n, in Object obj);
binds the given name and remote object reference in my context.
void unbind (in Name n);
removes an existing binding with the given name.
void bind_new_context(in Name n);
creates a new naming context and binds it to a given name in my context.
Object resolve (in Name n);
looks up the name in my context and returns its remote object reference.
void list (in unsigned long how_many, out BindingList bl, out BindingIterator bi);
returns the names in the bindings in my context.
};
Figure 17.11
CORBA event channels
event channel
supplier consumer