1connecting existing networked computer systems into a
larger system
integrative view
2An existing network is extended with additional computers
expansive view
3a networked computer system in which processes and resources are necessarily spread across multiple computers
decentralized system
4a networked computer system in which processes and resources are sufficiently spread across computers
distributed system
5centralized solutions do not scale, t or f
f
6when a systems logic is central, as in it has the same knowledge base allthroughout. (data, business logic)
logically centralized
7when a system has a genuinely centralized infrastructure. (servers and hardware)
physically centralized
8what is an example of a system that is logically centralized but physically distributed?
DNS
9Centralized solutions have a single point of failure, t or f
f
10a single point of failure is often easier to manage and make
robust
11 The phenomenon by which a distributed system attempts to hide the fact
that its processes and resources are *physically distributed across
multiple computers*, possibly *separated by large distances*.
transparency
12transparency is handled through ___
middleware
13the layer between operating systems and applications that facilitates transparency
middleware
14Hide differences in data representation and how an
object is accessed
access transparency
15 Hide that an object may be moved to another location
while in use
relocation transparency
16Hide that an object may move to another location
migration transparency
17Hide that an object may be shared by several
independent users
concurrency
18you can completely hide all failures, t or f
f
19you can be sure a computer actually performed an operation before a crash, t or f
f
20Distribution transparency is a nice feature, but achieving it is a
different story, and it should often not even be a goal, t or f
t
21A system that offers components that can easily be used by, or
integrated into other systems.
open distributed system
22The average time until a component fails
mean time to failure
23the average time needed to repair a component
mean time to repair
24mean time to failure + mean time to repair
mean time between failures
25a component not living up to expectations (crashed)
failure
26a part of a component that can lead to failure (programming bug)
error
27cause of an error (sloppy programmer)
fault
28Prevent the occurrence of a
fault
fault prevention
29 Build a component and make
it mask the occurrence of a
fault
fault tolerance
30 Reduce the presence, number,
or seriousness of a fault
fault removal
31Estimate current presence,
future incidence, and
consequences of faults
fault forecasting
32A distributed system that is not secure, is not
dependable
33 information is disclosed only to authorized parties
confidentiality
34 Ensure that alterations to assets of a system can be made
only in an authorized way
integrity
35 verifying the correctness of a claimed identity
authentication
36does an identified entity has proper access rights?
authorization
37one entity can be assured that another will perform particular
actions according to a specific expectation
trust
38Encryption and Decryotion key are the same and kept secret
symmetric cryptosystem
39private key and secret key are used to send messages
asymmetric cryptosystem
40a function that returns a fixed length string that is affected heavily by the input changes
secure hash function
41when we use a hash function we are essentially creating a
digital signature
42 Number of users or processes
size scalability
43 Maximum distance between nodes
geographical scalability
44Number of administrative domains
administrative scalability
45a centralized service can be modled as a simple __
queuing system
46parallel computing type where the processors share memory
multiprocessor
47parallel computing type where each processor has private memory
multicomputer
48Essentially a group of high-end systems connected through a LAN, with same OS and single tightly coupled managing nodes
cluster computing
49Heterogeneous
Dispersed across several organizations
Can easily span a wide-area network,
plenty of nodes everywhere
grid computing
50An example of intregrating applications, this defines "transactions" of data between applications. EX: payroll account and Employee database communicating together
EAI
51In EAI, data in a transaction is usually distributed, so a _ is responsible for coordinating the transaction
tp monitor
52in our middleware, we can call functions that call functions on other applications, then return their returns to our middleware.
Remote Procedure Call
53Messages are sent to logical
contact point (published), and forwarded to subscribed applications
message oriented middleware
54distributed systems in which nodes are
small, mobile, and often embedded in a larger system, characterized
by the fact that the system naturally blends into the user’s
environment.
pervasive systems
55a pervasive system that is visible and autonomous and continuously interacting with the user (think a system of health monitoring sensors on a body)
ubiquitous systems
56a pervasive system of many mobile components (location is changing constantly) think all of your apple products and accessories
mobile computing
57a pervasive system of many sensors
sensor networks
58contains units for interfacing to users or external
applications
Application-interface layer
59contains the functions of an application, i.e., without specific
data
Processing layer
60contains the data that a client wants to manipulate through the
application components
Data layer
61 Components are objects, connected to each other through procedure calls. Objects
may be placed on different machines; calls can thus execute across a network.
object based style
62 View a distributed system as a collection of resources, individually managed by components. Resources may be added,
removed, retrieved, and modified by (remote) applications
restful architectures
63example of restful architechtures where Objects (i.e., files) are placed into buckets (i.e., directories). Buckets cannot be placed into buckets.
Operations on ObjectName in bucket BucketName require the following identifier
amazon simple storage service
64occurs when two components must operate at the same time or in a specific sequence to function correctly
temporal coupling
65occurs when one component needs a direct reference to another to function—like knowing its address, name, or interface.
refferential coupling
66 is where data is described by attribute value pairs
publish and subscribe
67in publish and subscribe model what is it called when you specify where an attribute = value
topic based subscription
68in publish and subscribe model what is it called when you specify a attribute withing a range
content based subscription
69when we make middleware wrappers 1 to 1, it requires __ wrappers
N^2
70when we make middleware wrappers through a broker, it requires __ wrappers
2N
71dumb terminal/mainframe configuration
single tiered
72client/single server configuration
two tiered
73 each layer on separate machine
three tiered
74whats an example of client server architecture
network file system
75A website consisted as a collection of HTML files
HTML files could be referred to each other by a hyperlink
A Web server essentially needed only a hyperlink to fetch a file
A browser took care of properly rendering the content of a file
this describes
Simple Web Servers
76 A website was built around a database with content
A Webpage could still be referred to by a hyperlink
A Web server essentially needed only a hyperlink to fetch a file
A separate program (Common Gateway Interface) composed a page
A browser took care of properly rendering the content of a file
this describes
web servers
77Comes from dividing distributed applications into three logical layers, and running
the components from each layer on a different server (machine).
vertical distribution
78A client or server may be physically split up into logically equivalent parts, but each
part is operating on its own share of the complete data set.
horizontal distribution
79 Processes are all equal: the functions that need to be carried out are represented
by every process
⇒
each process will act as a client and a server at the same time
(i.e., acting as a servant).
peer to peer architectures
80 each data item is uniquely associated with a key, in turn used as
an index. Common practice: use a hash function
semantic free index
81simple example of a p2p system that stores key value pairs
hyper cube
82another example of p2p where nodes are in a ring with a hash, there are shortcut links between nodes too
chord
83 Each node maintains a dynamic list of neighbors. The resulting overlay resembles a
random graph:
unstructured p2p
84 issuing node passes request for to all neighbors. Request is ignored
when receiving node had seen it before. Otherwise, searches locally for
(recursively). May be limited by a Time-To-Live: a maximum number of hops.
flooding
85 issuing node passes request for to randomly chosen neighbor,
. If does not have , it forwards request to one of its randomly chosen neighbors,
and so on
random walk
86random walk is more communication efficient but takes more time to find result, t or f
t
87we can upgrade p2p by having brokers or index servers to find data faster, this is called a
super peer network
88whats an example of superpeer networks that allows you to trade chunks in a swarm
bittorrent
89what is the type of computing that puts all data in a cloud (large data centers) that is managed by platforms like amazon s3 storage system, and can be interacted with by many types of applications?
cloud computing
90systems depployed on the internet where servers are placed at the edge of the network and serve as a boundary between enterprise networks and the internet.
edge server architecture
91these are common misconceptions: the cloud has bad bandwidth and latency, the cloud is unreliable, and that edge servers protect data, t or f
t
92blocks are what in the blockchain
multiple validated transactions
93the block chain is __ only
append
94A single entity decides on which validator can go ahead and append a block. Does
not fit the design goals of blockchains
centralized consensus
95A selected, relatively small group of servers jointly reach consensus on which validator can go
ahead.
None of these servers needs to be trusted, as long as roughly two-thirds behave according to
their specifications
permissioned consensus
96Participants collectively engage in a leader election. Only the elected leader is allowed to append
a block of validated transactions.
Large-scale, decentralized leader election that is fair, robust, secure, and so on, is far from
trivial
permissionless consensus