Term
Transparency in a Distributed System
ch1 |
|
Definition
Access - Hide differences in data representation and how a resource is accessed
Location - Hide where a resource is located
Migration - Hide that a resource may move to another location
Relocation - Hide that a resource is mored to another location while in use
Replication - Hide that a resource is replicated
Concurrency - Hie that a resource may be shared by several competitive users
Failure - Hide the failure and recovery of a resource |
|
|
Term
Scalability Limitations
ch1 |
|
Definition
1) Centralized Services
Services are implemented by means of only a single server running on a specific machine in a distributed system. BOTTLENECK
2) Centralized Data
Data located on a single server would also create the same kind of bottleneck. But how can we get around the need to keep 50 million addresses in one location without duplicate copies/syncing issues?
3) Centralized Algorithms
An algorithm that collects data from all sites, sends to a single machine for processing, then distributes results should be avoided.
|
|
|
Term
Characteristics of Decentralized Algorithms
(Part of Scalability Problems) |
|
Definition
1) No machine has comlete information about the system state
2) Machines make decisions based only on local information
3) Failure of one machine does not ruin the algorithm
4) There is no implicit assumption that a global clock exists |
|
|
Term
|
Definition
|
|
Term
|
Definition
At the Data Level...
Data is persistent.....
even if no application is running, data will be stored somewhere for next use.
chap 2 |
|
|
Term
Pitfalls When
Developing Distributed Systems |
|
Definition
* •The network is reliable.
•* The network is secure.
•* The network is homogeneous.
•* The topology does not change.
•* Latency is zero.
•* Bandwidth is infinite.
•* Transport cost is zero.
•* There is one administrator.
|
|
|
Term
|
Definition
Centralized Services - A server for all users
Centralized Data - A single telephone book
Centralized Algorithms - Doing routing based on complete information |
|
|
Term
|
Definition
The User Interface Level
Contains all that is necessary to directly interface with the user, such as display mangement
The Processing Level
Typically contains the applications.
The Data Level
Manages the actual data that is being acted on. |
|
|
Term
|
Definition
When an operation can be repeated multiple times without harm.
For example, if you ask "how much money do I have?" this is idempotent. If you withdrawal $20, then it is not. |
|
|
Term
|
Definition
Layered Architectures
Object-Oriented Architectures
Data-Centered Architectures
Event-based Architectures
ch2 |
|
|
Term
|
Definition
A system that monitors it own behavior and takes appropriate measures to correct itself when needed.
ch2 |
|
|
Term
|
Definition
Tell how the various software componenets are to be organized and how they should react within the organization of a distributed system.
ch2 |
|
|
Term
|
Definition
The instantiation of software components on real machines.
ch2 |
|
|
Term
Vertical Distribution
ch 2 |
|
Definition
more goes here.........
The characteristic feature of vertical distribution is that it is achieved by placing logically different components on different machines.
|
|
|
Term
Distributed Hash Table (DHT) |
|
Definition
The most-used deterministic procedure in a structured peer-to-peer architecture is to organize the processes through a DHT.
MORE HERE......
ch2 |
|
|
Term
|
Definition
A class of modern system architectures that support horizontal distribution are known as peer-to-peer systems. At a high level, the processes that constitute this type of system are equal. ie: Every function that needs to be carried out is represented by every process that constitues the distributed system.
????? ch2 |
|
|
Term
|
Definition
Virtualization allows an application, and possibly also its complete environment including the operating system, to run concurrently with other applications,
but
highly independent of the underlying hardware and platforms,
leading to a high degree of portability. |
|
|
Term
stub
(in distributed computing)
ch4 |
|
Definition
A piece of code used for converting parameters passed during a RPC.
The main idea of an RPC is to allow a local computer (client) to remotely call procedures on a remote computer (server). The client and server use different address spaces, so conversion of parameters used in a function call have to be performed, otherwise the values of those parameters could not be used, because of pointers to the computer's memory pointing to different data on each machine. The client and server may also use different data representations even for simple parameters (e.g., big-endian versus little-endian for integers.) Stubs are used to perform the conversion of the parameters, so a Remote Function Call looks like a local function call for the remote computer. |
|
|
Term
|
Definition
Control abstraction involves the use of subprograms and related concept control flows. |
|
|
Term
|
Definition
Layered architecture partitions the concerns of thee application into stacked groups (layers).
It is a technique used in designing computer software, hardware and communications in which system or network components are isolated in layers so that changes can be made in 1 layer w/o affecting the others. |
|
|
Term
|
Definition
Abstraction: a concept or idea not associated with any specific instance.
Control Abstraction: Abstraction of actions
Data Abstraction: Abstraction of data structures
The mechanism and practice of ABSTRACTION reduces and factors out details so that one can focus on a few concepts at a time. |
|
|
Term
|
Definition
Refer to entities
3 types of NAMES:
ADDRESS
IDENTIFIER
HUMAN-FRIENDLY |
|
|
Term
Level of Abstraction
misc |
|
Definition
Abstraction: a concept or idea not associated with any specific instance.
Control Abstraction: Abstraction of actions
Data Abstraction: Abstraction of data structures
The mechanism and practice of ABSTRACTION reduces and factors out details so that one can focus on a few concepts at a time. |
|
|
Term
Scalability Problems
ch 1 |
|
Definition
.....of decentralized algorithms
* No machine has complete information about the system state
* Machines make decisions based only on local information
* Failure of one machine does not ruin the algorithm
* There is no implicit assumption that a global clock exists |
|
|
Term
|
Definition
WHERE DO YOU WANT THE DATA?
IS IT SECURE?
CAN IT BE ON THE CLIENT?
(ie: ss# should NOT be on client) |
|
|
Term
Scalability Limitations
ch 1
# 2 |
|
Definition
Centralized Services
A server for all users
Centralized Data
A single telephone book
Centralized Algorithms
Doing routing based on complete information |
|
|
Term
A Distributed System is......
ch 1 |
|
Definition
A collection of independent
computers that appears to its
users as a single
coherent system |
|
|
Term
|
Definition
* Needed when multiple processes need to smultaneously access the same resource(s).
Distributed mutual exclusion algorithms are classified into two different categories:
1) token-based solutions
2) permission-based solutions |
|
|
Term
|
Definition
NETWORK INTERFACE CARD
..is a hardware device that handles an interface to a computer network and allows a network-capable device to access that network.
* The NIC has a ROM chip that contains a unique #; the media access control (MAC) burned into it.
* Exists on the Data Link Layer of the OSI Model |
|
|
Term
|
Definition
.....what usually matters is not that ll processes agree
on exactly what time it is, but rather that the agree on
the order in which events occur. |
|
|
Term
A Note on
Ordered
Message
Delivery
ch6
1 and 2 of 2 |
|
Definition
Controversy about whether totally-ordered and causually-ordered multicasting should be provided a the middleware level vs the application handling it.
1) Middleware cannot tell what a message actually contains so only potential causality is captured. Example: 2 messages from the same sender that are completely independent will always be marked as causally rellated by middleware. This is overly restrictive and could lead to efficiency problems.
2) Not all causality may be captured.
Example: Alice posts an article. Alice calls Bob and verbally tells him about it. Bob posts an article without seeing Alice's post. There is causality between Bob's posting and Alice's posting due to external communication. This causality is not captured by the bulletin board system. |
|
|
Term
|
Definition
NETWORK TIME PROTOCOL
A timestamp is addded to the message before it is passed on the Network Interface. |
|
|
Term
Reference
Broadcast
Synchronization
(RBS) |
|
Definition
...is a clock synchronization protocol that is quite different from the other proposals.
RBS lets the receiver synchronize, keeping the sender out of the loop.
In RBS, a sender broadcasts a reference message that will allow its receivers to adjust their clocks.
CRITICAL PATH IS MINIMIZED WITH RBS. |
|
|
Term
Pitfalls When Developing
Distributed
Systems
ch1
False assumptions..... |
|
Definition
-
The network is reliable
-
The network is secure
-
The network is homogeneous (transparency dictates that it is not.)
-
Topology does not change (assume that it doesn't)
-
Latency is zero
-
Bandwidth is infinite
-
Transport cost is zero
-
There is one administrator
|
|
|
Term
|
Definition
...... a type of name
3 Properties:
- An identifier refers to at most one entity
- Each entity is referred to by at most one identifier
- An identifier always refers to the same entity
|
|
|
Term
R P C
(Remote Procedure Call)
ch 4 |
|
Definition
|
|
Term
OSI LAYERS
vs
TCP/IP
protocol slides |
|
Definition
|
|
Term
|
Definition
A layer is a collection of
conceptually similar functions
that provide services to the
layer above it and receives
services from the layer below it. |
|
|
Term
7 Layers of the
OSI Model
ps |
|
Definition
All
People
Seem
To
Need
Data (link)
Processing |
|
|
Term
|
Definition
The OSI Model is a way of subdividing a communications system into smaller parts called Layers.
7 - Application
6 - Presentation
5 - Session
4 - Transport
3 - Network
2 - Data Link
1 - Physical
|
|
|
Term
|
Definition
An IP address is a logical address. It can be changed.
(vs a MAC address that is a physical address of the hardware. It does not change.) |
|
|
Term
|
Definition
Overhead associated with layers is important.
Overhead bits are nondata bits necessary for transmission
(usually as part of headers, checksums and such). |
|
|
Term
|
Definition
Access - How
Location - Where
Migration - May move
Relocation - May move while in use
Replication - has extra copies
Concurrency - May be shared by competition
Failure - Hide failure and recovery
ALMRRCF |
|
|
Term
|
Definition
REAL TIME PROTOCOL
Allows timeliness over completeness for streaming video. |
|
|