Assessments, Exam Practice
Assessments, Exam Practice
UNIVERSITY OF ZULULAND
Assessment III
Examiner: Ms I. N. Ezeji
Moderator: Mr. P Tarwireyi
Duration: 2 hours 75 marks
Instructions
1. Give an example of where an address of an entity E needs to be further resolved into another
address to actually access E. [2]
ANSWER
IP addresses are used to address hosts, but to access a host, the IP address
needs to be resolved to an Ethernet address
ANSWER
Yes, the name of the entity is independent of its address. Based on the name,
nothing can be said about the associated entity’s address
1|Page
Monday, 14th of December 2020
ANSWER
A true identifier is one that is unique, that will never change. For example a MAC
address or port on a single machine.
ANSWER
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.
5. Is an identifier allowed to contain information on the entity it refers to? Explain the of the
consequence. [4]
ANSWER
Yes, but that information cannot be allowed to change as it would mean the
identifier also needs to be changed. For example, a MAC address often contains
information about manufacture of the device.
6. List the two simple solutions for locating an entity with regards to flat naming. [2]
ANSWER:
Broadcasting and Multicasting
Forwarding pointers
2|Page
Monday, 14th of December 2020
7. Discuss the listed solutions from 6. above in terms of their strengths and weaknesses. [9]
ANSWER
forwarding Pointers
• Advantage:
Dereferencing can be made transparent to client follow the pointer chain
• Geographical scalability problems:
Chain can be very long for highly mobile entities
Multicasting:
WEAKNESS:
Muticasting has no reliabilty, flow control or error recovery functions in UDP.
Since TCP window mechanism is not availabe in UDP, possibility of congestion is there in
multicast.
Broadcasting becomes inefficient when the network grows. Not only is network bandwidth
wasted by request messages, but, more seriously, too many hosts may be interrupted by
requests they cannot answer.
3|Page
Monday, 14th of December 2020
8. Figure 4 shows bank account operations in which transaction V transfers a sum from account
A to B and transaction W invokes the branchTotal method to obtain the sum of the balances
of all the accounts in the bank. The balances of the two bank accounts, A and B, are both
initially $200.
Figure 1
a. Identify and describe the concurrency control problem exhibited in Figure 1. [2]
ANSWER
To coordinate execution so that the VIEW or effect from the database's perspective is the
same as if the concurrently executing transactions were executed in a serial fashion.
10. All concurrency control protocols are based on serial equivalence and are derived from three
rules of conflicting operations. What are these rules? [6]
ANSWER
ANSWER
The granting of locks is implemented by a separate object in the server that is called the lock
manager. The lock manager provides setLock and unLock operations for use by the server.
The lock manager holds a set of locksEach lock is an instance of the class Lock and is associated
with a particular object.
4|Page
Monday, 14th of December 2020
12. How can role changes be expressed in an access control matrix? [3]
13. It is required that transactions delay both their read and write operations so as to avoid both
‘dirty reads’ and ‘premature writes’. Explain this type of transaction? [3]
14. Describe how a non-recoverable situation could arise if write locks are released after the last
operation of a transaction but before its commitment. [2]
15. State and discuss the two aspects of atomicity in distributed systems transactions.
[4]
16. Suppose you were asked to develop a distributed application that would allow teachers to set
up exams. Give at least three statements that would be part of the security policy for such an
application. [6]
17. Would it be safe to join message 3 and message 4 in the authentication framework shown in
Figure 1? Justify your answer.
Figure 1 [2]
18. Why is it not necessary in Figure 2 for the KDC to know for sure it was talking to Alice
when it receives a request for a secret key that Alice can share with Bob?
answer
Key: Because the secret key between Alice and Bob is encrypted by the shared key between the
KDC and Alice, which means that only Alice can decrypt the message.
5|Page
Monday, 14th of December 2020
Figure 2 [2]
19. Access rights of objects with reference to subjects are enforced using Access Control Matrix
approaches like the Access Control List and Capabilities. Discuss their differences. [3]
20. Discuss any two advantages and two disadvantages of using centralized servers for key
management. [8
advantage:
it is relatively easy to secure several servers instead of all clients. Easy to change to
shared keys between members. Can be trusted by all members.
Disadvantage:
6|Page
Monday, 14th of December 2020
-------------------------------------------------------------------------------------------------------------------------
7|Page
Monday, 14th of December 2020
UNIVERSITY OF ZULULAND
Assessment III
Examiner: Ms I. N. Ezeji
Moderator: Mr. P Tarwireyi
Duration: 2 hours
75 marks
Instructions
ANSWER
IP addresses are used to address hosts, but to access a host, the IP
address
needs to be resolved to an Ethernet address
a DNS server ask for the IP address associated with "www.example.com".
Then DNS server replies with the corresponding IP address (e.g., 192.168.1.1).
1|Page
Monday, 14th of December 2020
NO, In the given example, the URLs contain specific domain names (acme.org and acme.nl) that indicate the
specific location or organization associated with them.
The key idea is that, by considering just the name (domain), you should not be able to deduce the precise
address (geographical or network) of the entity
ANSWER
Yes, the name of the entity is independent of its address. Based on
the name,
nothing can be said about the associated entity’s address
ANSWER
An identifier refers to at most one entity.
Each entity is referred to by at most one identifier.
2|Page
Monday, 14th of December 2020
ANSWER
for consistency
Yes, but that information cannot be allowed to change as it would mean
the
identifier also needs to be changed. For example, a MAC address often
contains
information about manufacture of the device.
6. List the two simple solutions for locating an entity with regards to flat
naming. [2] Broadcasting
Forwarding pointers
ANSWER:
Broadcasting and Multicasting
Forwarding pointers
7. Discuss the listed solutions from 6. above in terms of their strengths and
weaknesses. [9]
BROADCASTING
ANSWER
Good for message delivery Congestion on big scale netwk
Simplicity on implementation Limited scaling
forwarding Pointers Suitable for small network High security risk
• Advantage:
Dereferencing can be made transparent to client follow the pointer chain
• Geographical scalability problems:
Chain can be very long for highly mobile entities
Multicasting:
WEAKNESS:
Muticasting has no reliabilty, flow control or error recovery functions in UDP.
Since TCP window mechanism is not availabe in UDP, possibility of congestion
is there in multicast.
Broadcasting becomes inefficient when the network grows. Not only is network
bandwidth wasted by request messages, but, more seriously, too many hosts
may be interrupted by requests they cannot answer.
4|Page
Monday, 14th of December 2020
Figure 1
ANSWER
To coordinate execution so that the VIEW or effect from the database's
perspective is the same as if the concurrently executing transactions
were executed in a serial fashion.
5|Page
Monday, 14th of December 2020
ANSWER
ANSWER
The granting of locks is implemented by a separate object in the server that
is called the lock manager. The lock manager provides setLock and unLock
operations for use by the server.
The lock manager holds a set of locksEach lock is an instance of the class Lock
and is associated with a particular object.
13. It is required that transactions delay both their read and write
operations so as to avoid both ‘dirty reads’ and ‘premature writes’.
Explain this type of transaction? [3]
15. State and discuss the two aspects of atomicity in distributed systems
transactions.
[4]
6|Page
Monday, 14th of December 2020
Figure 1 [2]
18. Why is it not necessary in Figure 2 for the KDC to know for sure it
was talking to Alice when it receives a request for a secret key that Alice
can share with Bob?
answer
Key: Because the secret key between Alice and Bob is encrypted by the shared
key between the KDC and Alice, which means that only Alice can decrypt the
message.
Figure 2 [2]
19. Access rights of objects with reference to subjects are enforced us-
ing Access Control Matrix approaches like the Access Control List and
Capabilities. Discuss their differences. [3]
7|Page
Monday, 14th of December 2020
ANSWER:
allows to flexibly manage a very large number of keys throughout their entire lifecycle
A fully automated and centralized key management system, such as used by MasterCard, allows a
business to maintain their secure infrastructure while significantly reducing costs and improving
operational efficiency.
A centralized and granular cryptographic policy can enable seamless updates for all necessary
cryptographic functions without any changes in the application code. Implementinging centralized
policy enforcement where the system collects all relevant information in a single place for easy
audit and in human-readable form makes demonstration of compliance with internal and external
8|Page
Monday, 14th of December 2020
advantage:
it is relatively easy to secure several servers instead of all clients. Easy to
change to shared keys between members. Can be trusted by all members.
Disadvantage:
9|Page
Monday, 14th of December 2020
------------------------------------------------------------------------------------------------------
-------------------
10 | P a g e
Assessment Three
1] Identify the three Communication primitives of request –reply protocol and explain them.
When the server has invoked the specified operation, it then uses sendReply to send the reply message to
the client.
2] Indirect communication avoids direct coupling and hence inherits interesting properties. Two key
properties of this scheme are space and time uncoupling. Perform a comparative study between space and
time uncoupling.
Space Un-Coupling Properties: Sender does not Properties: Sender does not
need to know the identity of need to know the identity of
the receiver; receiver must the receiver ; sender and
exist at that time. E.g. IP receiver can have independent
multicast times e.g. direct
communication paradigms
3] Group communication is an important building block for reliable distributed systems. Identify the
four key areas of application.
• The reliable dissemination of information to potentially large numbers of clients, including in the financial
industry, where institutions require accurate and up-to-date access to a wide variety of information sources;
• Support for collaborative applications, where again events must be disseminated to multiple users to
preserve a common user view – for example, in multiuser games.
• Support for a range of fault-tolerance strategies, including the consistent update of replicated data.
Go over number nine
• Support for system monitoring and management, including for example load balancing strategies.
The request protocol may be used when the client requires no confirmation that the operation has
been executed.
They subscribe to a given channel and receive all events published by that channel. This is a less
optimal strategy because each and every event within a topic can have some attributes that they
describe.
8] Explain the mechanism of the request-reply (RR) protocol. How does the RR protocol
compensate for not using the acknowledge message?
Request-reply protocols are designed to support client-server communication. RRP compensate for
not using the acknowledge message in that the server’s reply message is regarded as an
acknowledgement of the client’s request message.
9] List and discuss any three key elements of a group communication management.
Failure detection: The service monitors the group members not only in case they should crash, but also in
case they should become unreachable because of a communication failure.
Go over number nine
Notifying members of group membership changes: The service notifies the group’s members when a
process is added, or when a process is excluded
Performing group address expansion: When a process multicasts a message, it supplies the group identifier
rather than a list of processes in the group.
1.3) A user arrives at a railway station that she has never visited before, carrying a PDA that is
capable of wireless networking. Suggest how the user could be provided with information about the
local services and amenities at that station, without entering the station’s name or attributes. What
technical challenges must be overcome?
The user must be able to acquire the address of locally relevant information as automatically as
possible. One method is for the local wireless network to provide the URL of web pages about the
locality over a local wireless network. For this to work: (1) the user must run a program on her
device that listens for these URLs, and which gives the user sufficient control that she is not
swamped by unwanted URLs of the places she passes through; and (2) the means of propagating the
URL (e.g. infrared or an 802.11 wireless LAN) should have a reach that corresponds to the physical
spread of the place itself
1.4) Explain the use of distributed systems as a utility.
1.5 The INFO service manages a potentially very large set of resources, each of which can be
accessed by users throughout the Internet by means of a key (a string name). Discuss an approach to
the design of the names of the resources that achieves the minimum loss of performance as the
number of resources in the service increases. Suggest how the INFO service can be implemented so
as to avoid performance bottlenecks when the number of users becomes very large.
Algorithms that use hierarchic structures scale better than those that use linear structures.
Therefore the solution should suggest a hierarchic naming scheme. To allow for large numbers of
users, the resources are partitioned amongst several servers. To avoid performance bottlenecks the
algorithm for looking up a name must be decentralised. That is, the same server must not be
involved in looking up every name.
What is the range of techniques covered by remote invocation? Briefly explain each technique.
• The remote procedure call (RPC): provides higher-level support for programmers by extending the
concept of a procedure call to operate in a networked environment.
• Remote method invocation: method invocations are betwenn objects in different proceses where
client objects may invoke methods of remote objects residing in another process running in another
computer also in the same way as local method invocations.
What is a mobile agent? How can it be a potential security treat?
A mobile agent is a running program (including both code and data) that travels from one computer to another
in a network carrying out a task on someone’s behalf, such as collecting information, and eventually returning
with the results.
What are the two variants of the interaction model in distributed systems? How do they differ?
Synchronous distributed systems and Synchronous distributed systems.
The term protocol is used to refer to a well-known set of rules and formats to be used for communication
between processes in order to perform a given task. The definition of a protocol has two important parts to it:
• Specification of the sequence of messages that must be exchanged;
• Specification of the format of the data in the messages.
Describe the three alternative approaches to external data representation and marshalling.
• CORBA’s common data representation: is concerned with an external representation for the
structured and primitive types that can be passed as the arguments and results of the method
invocations.
• Java’s object serialization: concerned with the flattening and external data representation of any
single object or tree that may need to be transmitted in a message or stored on a disk.
• XML (Extensible Markup Language): represents a textual format for representing structured data.
What are the different ways in which CORBA can represent constructed types?
Short, long, unsigned short, unsigned long, float, double, char, Boolean etc.
CORBA supports passing of non-CORBA objects by value. What are the properties of these non
CORBA objects? What are their limitations?
These non CORBA objects are object-like in the sense that they possess both attributes and methods.
A: URI are uniform in that their syntax incorporates that of indefinitely many individual types of resource
identifiers. The advantage of uniformity is that it eases the process of introducing new types of identifiers as
well as using existing types of identifiers in new context, without disrupting existing usage.
2) Discuss the problem associated with name services in a distributed system. How can this
be solved?
3) explain why a name space is important for a particular service. What is the advantage of a
hierarchic name space?
A: Another important aspect of the implementation of a name service is the use of replication and caching.
Both of these assist in making the service highly available, and both also reduce the time taken to resolve a
name. One important advantage of a hierarchy is that it makes large name spaces more manageable.
4) Discuss the shortcomings of the original Internet naming scheme, in which all host names and addresses were
held in a single central master file.
A: This original scheme was soon seen to suffer from three major shortcomings:
• It did not scale to large numbers of computers.
• Local organizations wished to administer their own naming systems.
• A general name service was needed – not one that serves only for looking up
computer addresses.
Transactions
2) State the four main problems that may arise in concurrent executions of transactions.
3)
Final Exam 2015
1. Distributed systems are going through a period of significant change, which can
be traced back to a number of influential trends. Describe three of these trends?
Distributed systems are undergoing a period of significant change and this can
be traced back to a number of influential trends:
• the emergence of pervasive networking technology;
• the emergence of ubiquitous computing coupled with the desire to
support user mobility in distributed systems;
• the increasing demand for multimedia services;
• the view of distributed systems as a utility.
2. What are the two variants of the interaction model in distributed systems? On
what points do they differ?
Synchronous distributed systems: it is the one in which the following bounds are
defined:
• The time to execute each step of a process has known lower and upper
bounds.
• Each message transmitted over a channel is received within a known bounded
time.
• Each process has a local clock whose drift rate from real time has a known
bound.
• Process execution speeds – for example, one process step may take only a
picosecond and another a century; all that can be said is that each step may take
an arbitrarily long time.
• Message transmission delays – for example, one message from process A to
process B may be delivered in negligible time and another may take several
years. In other words, a message may be received after an arbitrarily long time.
• Clock drift rates – again, the drift rate of a clock is arbitrary.
Synchronous distributed systems: The time to execute each step of a process has
known lower and upper bounds.
The best route for communication between two points in the network is re-evaluated
periodically, taking into account the current traffic in the network and any faults such
as broken connections or routers.
8. Explain why a name space is important for a particular name service. What is
the advantage of a hierarchic name space?
9. What are the two new name variants to the invocation semantics used by
asynchronous RMI(Remote Method Invocation)?
b) List and discuss any three key elements of a group communication management.
d) List any two subscription filter model with regard to publish-subscribe system.[6,9,3,2]
c) Suppose you were asked to develop a distributed application that will allow teachers to
set up exams. Give at least three statements that would be part of the security policy for such
an application.
• The requirements would include that students should not be able to access exams before a
specific time.
• Any teacher accessing an exam before the actual examination date should be authenticated.
• There may be a restricted group of people that should be given read access to any exam in
preparation, whereas only the responsible teacher should be given full access.
Final Exam 2015
1. Distributed systems are going through a period of significant change, which can
be traced back to a number of influential trends. Describe three of these trends?
//Old Solution
The emergence of pervasive networking technology: the rise of different types of networking
technologies such as WiFi, WiMAX, Bluetooth etc.
Distributed multimedia systems: ability to support a wide variety of multimedia systems such
as audio video and images etc.
Mobile and Ubiquitous computing: Mobile computing is the performance of a computing task
while the user is on the move, or visiting places other than their usual environment. Ubiquitous
computing is the harnessing of small, cheap computational devices that are present in the
users’ physical environments including home, office, even natural settings.
//Slide 11 chapter 1
The Book
Distributed systems are undergoing a period of significant change and this can
be traced back to a number of influential trends:
• the emergence of pervasive networking technology;
• the emergence of ubiquitous computing coupled with the desire to
support user mobility in distributed systems;
• the increasing demand for multimedia services;
• the view of distributed systems as a utility.
2. What are the two variants of the interaction model in distributed systems? On
what points do they differ?
//Old Solution
Synchronous distributed systems: The time to execute each step of a process has
known lower and upper bounds.
Asynchronous Distributed systems: The asynchronous model allows no assumptions
about the time intervals involved in any execution.
The Book
Synchronous distributed systems: it is the one in which the following bounds are
defined:
• The time to execute each step of a process has known lower and upper
bounds.
• Each message transmitted over a channel is received within a known bounded
time.
• Each process has a local clock whose drift rate from real time has a known
bound.
• Process execution speeds – for example, one process step may take only a
picosecond and another a century; all that can be said is that each step may take
an arbitrarily long time.
• Message transmission delays – for example, one message from process A to
process B may be delivered in negligible time and another may take several
years. In other words, a message may be received after an arbitrarily long time.
• Clock drift rates – again, the drift rate of a clock is arbitrary.
3. How does adaptive routing ensure the best route of communication between two
points in the network?
//Old Solution
The best route for communication between two points in the network is re-evaluated
periodically, taking into account the current traffic in the network and any faults such
as broken connections or routers.
The Book
the best route for communication between two points in the network is re-
evaluated periodically, taking into account the current traffic in the network
and any faults such as broken connections or routers.
//Old Solution
//Mnaka
Is a socket that allow communication between two different processes on the same or different
machines. It provides an endpoint between communication TCP and UDP
• The reliable dissemination of information to potentially large numbers of clients, including in the financial
industry, where institutions require accurate and up-to-date access to a wide variety of information sources;
• Support for collaborative applications, where again events must be disseminated to multiple users to preserve
a common user view – for example, in multiuser games.
• Support for system monitoring and management, including for example load balancing strategies.
8. Explain why a name space is important for a particular name service. What is
the advantage of a hierarchic name space?
9. What are the two new name variants to the invocation semantics used by
asynchronous RMI(Remote Method Invocation)?
• A cache is a store of recently used data objects that is closer to one client or a
particular set of clients than the objects themselves
Communicating Entities
• The entities that communicate in a distributed system are typically processes, leading to the
prevailing view of a distributed system as processes coupled with appropriate interprocess
communication paradigms.
--From the programming perspective and more problem oriented abstructions have been proposed
*Objects, components, and web services
Communication paradigms
*Interprocess communication
*Remote invocation
*Indirect communication
-Objects, components and services, including web services interact with each other to
perform a useful activity. Eg to support a chat session.
-two architectural styles stemming from the role of the individual processes
Placement
• Deals with how the object/components/web services are mapped on to the underlying
physical distributed infrastructure
• Caching
• Mobile code
• Mobile agents
• Layering
• Tiered architecture
• Thin clients
• Proxy pattern
• Brokerage pattern
• Reflection
b. The proxy offers exactly the same interface as the remote object.
d. The pattern consists of a trio; the service requestor, service provider and the
brokerage
Reflection pattern
h. Reflection has been widely used in the field of reflective middleware to support
configurable and reconfigurable middleware architecture
3. Indirect communication is defined as communication between entities in a distributed
system through an intermediary with no direct coupling between the sender and the receiver(s)
• Space uncoupling
• Time uncoupling
b) List and discuss any three key elements of a group communication management.
Failure detection: The service monitors the group members not only in case they should crash, but also in case
they should become unreachable because of a communication failure.
Notifying members of group membership changes: The service notifies the group’s members when a process is
added, or when a process is excluded
Performing group address expansion: When a process multicasts a message, it supplies the group identifier
rather than a list of processes in the group.
They subscribe to a given channel and receive all events published by that channel. This is a less
optimal strategy because each and every event within a topic can have some attributes that they
describe.
d) List any two subscription filter model with regard to publish-subscribe system.[6,9,3,2]
o Encryption
▪ Transforms the data into a form the attacker cannot understand
▪ It also helps to check whether data has been modified
o Authentication
▪ Used to verify the claimed identity of the user, client, server, host or any other
entity
o Authorisation
▪ Checks whether the client is authorised to perform the action requested
o Auditing
▪ Used to trace which clients accessed what and in which way.
c) Suppose you were asked to develop a distributed application that will allow teachers to
set up exams. Give at least three statements that would be part of the security policy for such
an application.
Section A
1. How does adaptive routing ensure the best route of communication between two
points in the network?
The best route for communication between two points in the network is re-evaluated
periodically, taking into account the current traffic in the network and any faults such as
broken connections or routers.
2. What is socket abstraction? Name the main protocols used in Interprocess communication.
• Locks are used to order transactions that access the same objects according to the order of arrival
of their operations at the objects.
• Optimistic concurrency control allows transactions to proceed until they are ready to commit,
whereupon a check is made to see whether they have performed conflicting operations on objects.
• Timestamp ordering uses timestamps to order transactions that access the same objects according
to their starting times.
6. To enforce a security policy, a security mechanism like authentication, encryption, authorisation
and auditing are required. What is a security policy? [2]
b) Use your design in (a) to illustrate the benefits and drawbacks of a three-tier solution
considering the following issues:
i. Performance: this approach introduces extra latency in that requests must go from the
web-based interface to the middle tier and then to the database (and back).
ii. Scalability: processing load is also spread over three machines (especially over the middle
tier and the database) and this may help with performance. For this latter reason, the three-
tier solution may scale better.
iii. Dealing with failure: in terms of failure, there is an extra element involved and this
increases the probability of a failure occurring in the system.
iv. Maintaining the software over time.: the middle tier only contains application logic
and this should therefore be easier to update and maintain.
c) Name two Technologies that you may use to implement the system.
[6,12,2]
12. Scability problems covered!! ☺.
Controlling the cost of physical resources: As the demand for a resource grows, it should
be possible to extend the system at a reasonable cost.
Controlling performance loss: the time taken to access hierarchical distributed data is O(log
n) {n is the size of the data}.For a system to be scalable it should not be worse than this.
Preventing software resources from running out: example is IP addresses running out in a
large internet. IPv4, hence the introduction of IPv6
[3,8,9]
13. Computer networks are based on the following Principles: packet transmission, Data
streaming, Packet switching, protocol layering, and Routing.
a) What is the use of a switching system?
To transmit information between two arbitrary nodes
b) List the four different types of switching used in computer networks.
BROADCAST, CIRCUIT SWITCHING, POCKET SWITCHING, FRAME RELAY.
• Packet switching: instead of making and breaking connections to build circuits, a store and
forward network just forwards packets from their source to their destination.
• Frame Relay: They switch networks on the fly without having to store them.
14. Remote Invocation is concerned with how processes communicate in a distributed system
using the following paradigms: Request-reply protocol, remote procedure call and remote
method invocation.
a) Describe the three paradigms.
Request-reply protocols: Request-reply protocols are effectively a pattern imposed on an
message-passing service to support client-server computing.
Remote procedure calls (RRP): Procedures in processes on remote computers can be called
as if they are procedures in the local address space.
Remote method invocation(RMI): method invocations between objects in different processes
where client objects may invoke methods of remote objects residing in another process and
running in another host.
b) Describe the two components of message identifiers in request=reply communication.
a requestId, which is taken from an increasing sequence of integers by the sending process.
an identifier for the sender process, for example, its port and Internet address.
c) Explain the mechanism of the request-reply (RR) protocol. How does the RR protocol
compensate for not using the acknowledge message?
DONE!! ☺
Request-reply protocols are designed to support client-server communication. RRP compensage
for not using the acknowledge message in that server’s reply message is regarded as an
acknowledgement of the client’s request message.
d) What are the three protocols used for implementing various types of request behaviour? Which
of these protocols can be used when the client requires no confirmation that the operation has
been executed?
• The request (R) protocol;
• The request-reply (RR) protocol;
• The request-reply-acknowledge reply (RRA) protocol.
The request protocol may be used when the client requires no confirmation that the operation
has been executed.
15. ] Indirect communication avoids direct coupling and hence inherits interesting properties. Two key properties
of this scheme are space and time uncoupling.
c) Explain how the loose coupling inherent in message queues can aid with Enterprise Application Integration.
loose coupling is when an application does not need to know the intimate details of how to reach
and interface with other applications
d) Based on your answer in c, consider to what extent this can be traced to time uncoupling, space uncoupling
or a combination of both.
NAME SERVICES
Name Services
Mba IN
1
NAME SERVICES
Topics
• Introduction
• Name Services and the Domain Name
System
• Directory Service
2
NAME SERVICES
Introduction
❖ Entities need ways through which they can be accessed
❖ This is done through entities which are known as Access
Points
❖ The name of an access point is known as an address
❖ So an address is special kind of a name that only refers to special entities
known as access points
❖ It is possible but not convenient to name an entity with the
name of its access point.
❖ An entity may easily change its access point or
❖ An access point may be reassigned to another entity
❖ It is desirable for a entity to be known by a separate name
independent of its access point.
❖ This also helps to support distribution.
❖ An entity can have more than one access point
NAME SERVICES
Introduction
❖ An identifier is a name that is uniquely identify an entity
and in interpreted only by computer programs
❖ Resources are accessed using identifier or reference
➢ An identifier can be stored in variables and retrieved from
tables quickly.
➢ Identifier includes or can be transformed to an address for an
object.
❖ E.g. Corba remote object reference.
❖ Properties of a true identifier:
• 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
NAME SERVICES
Introduction
❖ A name is human-readable value (usually a string) that
can be resolved to an identifier or address.
❖ These are generally defined entirely by the user.
❖ Examples are: Internet domain name, file pathname.
• ./etc/passwd, http://www.cdk5.net
❖ For many purposes, names are preferable to identifiers
➢ The binding of the named resource to a physical location is
deferred and can be changed.
➢ They are more meaningful to users.
▪ Resource names are resolved by name services
➢ To give identifiers and other useful attributes.
NAME SERVICES
Resolving Names to addresses and identifiers
❖ Key Challenge
❖ How do we resolve names to identifiers and addresses
❖ A naming system maintains name-to-address binding which in
its simplest form is just a table of (name, address) pairs
❖ For distributed systems that span large networks a centralised
table will not work
NAME SERVICES
Uniform Resource Identifiers
❖The se came about with the need of representing
resources on the web
❖URI can be group into two:
➢ Uniform Resource Locators(URL)
❖These provide location information of a resource
❖Also specify the method used to access a resource
❖E.g. http://uzulu.ac.za
❖They are efficient identifiers
➢ Uniform Resource Names(URN)
❖These are pure resource names rather than locators
❖Look up is very difficult in URN
NAME SERVICES
Name Resolution
URL
http://www.cdk3.net:8888/WebExamples/earth.html
DNS lookup
Resource ID (IP number, port number, pathname)
ARP lookup
file
(Ethernet) Network address
2:60:8c:2:b0:5a Socket
Web server
Figure 1. Composed naming domains used to access a resource from a URL
Couloris,Dollimore and Kindberg Distributed Systems: Concepts & Design Edn. 4 , Pearson Education 2005
8
NAME SERVICES
Name Services
▪ A name service stores a collection of one
or more naming contexts, sets of bindings
between textual names and attributes for
objects such as computers, services, and
users.
9
NAME SERVICES
Name spaces
✓ Names are commonly organised into what are called name spaces
✓ Name spaces for structured names can be represented by a
directed graph with two types of nodes
– Leaf Nodes
• Represents a named entity
• Has no outgoing edges
• Stores information about the entity its representing, e.g. its
address
• It alternatively contains the state of an entity it represents
– Directory Nodes
• Has a number of outgoing nodes
• It stores a table in which an outgoing edge is represented as a
pair (edge label, node identifier)
NAME SERVICES
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5
NAME SERVICES
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5
NAME SERVICES
15
NAME SERVICES
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5
NAME SERVICES
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5
NAME SERVICES
Attribute-based Naming
❖There are cases were a user needs only to provide
the a description of a resource he wants to access;
❖Such cases can not be covered by Flat and structured
names;
❖There are many ways in which descriptions can be
provided, but the popular one is to describe an entity
in terms of (attribute, value) pairs;
❖This generally referred to as attribute-based naming;
❖In this an entity is seen as set of (attribute, value)
pairs;
❖It is up to the naming system to return one or more
attributes which meet the description
NAME SERVICES
Directory Services
❖ Attribute-based naming systems are also known as directory
services.
❖ The attributes are used for searching for entities
❖ The major challenge is definition of the appropriate set of
attributes
❖ To alleviate this challenge research has been conducted on
unifying the ways that resources can be described
❖ One such development id LDAP
❖ Directory services are usually centralised
❖ Distribution usually comes with compromised performance
NAME SERVICES
Implementing LDAP
▪ Implementation of LDAP directory is similar to that of
DNS except that LDAP supports more lookup
operations;
▪ Searching in LDAP is generally expensive compared
to the DNS;
▪ One notable recent directory that extends the LDAP
idea for web service and grid computing is the
Universal Directory and Discovery Integration (UDDI).
Transactions and Concurrency Control
Introduction to Transactions and Concurrency Control
▪ For example, deposit and withdraw methods: the actions of two concurrent executions
of the methods could be interleaved arbitrarily and have strange effects on the instance
variables of the account object.
9
Example:A client’s banking transaction
Assume Each Operation Is Synchronized
Transaction T;
a.withdraw(100); The aim of any server that supports
transactions is to maximize concurrency.
b.deposit(100);
So,
c.withdraw(200); transactions are allowed to execute
b.deposit(200); concurrently if they would have the same
effect as serial execution.
10
Operations in Coordinator interface
abortTransaction(trans);
aborts the transaction.
Example:A client’s banking transaction
Transaction T
tid = openTransaction(); Coordinator Interface:
a.withdraw(tid,100);
openTransaction() -> transID
b.deposit(tid,100); closeTransaction(transID) ->
c.withdraw(tid,200); commit or abort
abortTransaction(TransID)
b.deposit(tid,200);
closeTransaction(tid) or
abortTransaction(tid)
12
Transaction life histories
If a transaction aborts for any reason (self abort or server abort), it must be guaranteed
that future transaction will not see the its effect either in the object or in their copies in
permanent storage.
Concurrency Control: the lost update problem
Transaction T : Transaction U:
balance = b.getBalance(); balance = b.getBalance();
b.setBalance(balance*1.1); b.setBalance(balance*1.1);
a.withdraw(balance/10) c.withdraw(balance/10)
balance = b.getBalance(); $200
balance = b.getBalance(); $200
b.setBalance(balance*1.1); $220
b.setBalance(balance*1.1); $220
a.withdraw(balance/10) $80
c.withdraw(balance/10) $280
Concurrency Control: The inconsistent retrievals problem
Transaction V: Transaction W:
a.withdraw(100)
aBranch.branchTotal()
b.deposit(100)
a.withdraw(100); $100
total = a.getBalance() $100
total = total+b.getBalance() $300
total = total+c.getBalance()
b.deposit(100) $300
Transaction T: Transaction U:
balance = b.getBalance() balance = b.getBalance()
b.setBalance(balance*1.1) b.setBalance(balance*1.1)
a.withdraw(balance/10) c.withdraw(balance/10)
Transaction T: Transaction U:
x = read(i)
write(i, 10)
y = read(j)
write(j, 30)
write(j, 20)
z = read (i)
• T’s and U’s access of to objects i and j is serialised with respect to each
other, but…
• The ordering in the above figure is not serially equivalent.
• Serial equivalence will require that:
1. T accesses i before U and T access j before U, OR
2. U accesses I before T and U access j before T.
Recoverability From Aborts
Transaction T: Transaction U:
a.getBalance() a.getBalance()
a.setBalance(balance + 10) a.setBalance(balance + 20)
Transaction T: Transaction U:
a.setBalance(105) a.setBalance(110)
$100
a.setBalance(105) $105
a.setBalance(110) $110
Premature write: related to the interaction between write operations on the same
object belonging to different transactions.
a. If U aborts and then T commit, we got a to be correct 105.
Some systems restore value to “Before images” value for abort action, namely the
value before all the writes of a transaction. a is 100, which is the before image of T’s
write. 105 is the before image of U’s write.
b. Consider if U commits and then T aborts, we got wrong value of 100.
c. Similarly if T aborts then U aborts, we got 105, which is wrong and should be 100.
So to ensure correctness, write operations must be delayed until earlier transactions
that updated the same object have either committed or aborted.
Nested transactions
T : top-level transaction
T1 = openSubTransaction T2 = openSubTransaction
commit
T1 : T2 :
openSubTransaction openSubTransaction openSubTransaction
prov. commit abort
T11 : T12 : T21 :
openSubTransaction
prov. commit prov. commit prov. commit
T211 :
prov.commit
T1 (Transfer) T2 (Dividend)
Lock-based protocol – example: Example of schedule with locks
1. S-lock(X)
2. A1 <- Read(X) No wait: S-locks
1. S-lock(X)
3. Unlock(X)
2. A1 <- Read(X)
4. A1 <- A1 – k
T1 waits
5. X-lock(X)
3. Unlock(X)
T1 can go ahead
4. A1 <- A1* 1.01 T2 waits
5. X-lock(X)
5. X-lock(X)
T1 6. Write(X, A1) T2
7. Unlock(X)
T2 can go ahead
8. …. 5. X-lock(X)
Lock based protocols -- questions
5. A2 <- A2 * 1.01
S-lock (Y)
6. Write(Y, A2) X-lock (Y)
Unlock(Y)
4. A2 <- Read(Y)
Unlock(Y)
5. A2 <- A2 + k Not conflict serializable.
X-lock (Y)
Unlock(Y)6. Write(Y, A2)
X : 100 -> 50 -> 50.5; Y : 200 -> 202 -> 252; X+Y = 302.5 not 303
Two-phase locking -- motivation
X-lock(X)
Write(X, 100)
Unlock(X) S-lock(X)
Read(X)
……
T1 T2
• In this case, there is contention from T1 to T2
• To ensure serializability, we must ensure there is no conflict
from T2 back to T1
• How?
Two-phase locking -- motivation
Transaction T Transaction U
Waits for B
Held by
A cycle in a wait-for graph
V
Another wait-for graph
V T
Held by W
T Held by Held by
C
U
Held by B
U
W V
Waits for
Transaction T Transaction U
Operations Locks Operations Locks
1
Naming
• Names are associated to entities (files,
computers, Web pages, services(remote
and local) disk, Printers, objects etc.)
– Entities (1) have a location and (2) can be
operated on.
• Name Resolution: the process of
associating a name with the entity/object it
represents.
– Naming systems prescribe the rules for doing
this.
2
Names
• Types of names
– Addresses
– Identifiers
– Human friendly
• Representation of names
– Human friendly format
– Machine readable – generally random bit
strings
3
Addresses as Names
• To operate on an entity in a distributed
system, we need an access point.
• Access points are physical entities
named by an address.
– Compare to telephones, mailboxes
• Objects may have multiple access
points
– Replicated servers represent a logical
entity (the service) but have many access
points (the various machines hosting the
service)
4
Addresses as Names
• Entities may change access points over time
– A server moves to a different host machine, with
a different address, but is still the same service.
• New entities may take over the vacated
access point and its address.
• Better: a location-independent name for an
entity E
– should be independent of the addresses of the
access points offered by E.
5
Identifiers as Names
• Identifiers are names that are unique and
location independent.
• Properties of identifiers:
– An identifier refers to at most one entity
– Each entity has at most one identifier
– An identifier always refers to the same entity; it is
never reused.
• Human comparison?
• An entity’s address may change, but its identifier
cannot change.
6
Human-Friendly Names
• Human-friendly names are designed to be
used by humans instead of a computer
• They usually contain contextual
information; e.g., file names or DNS
names.
• Do not usually contain information that is
useful to a computer
7
Representation
• Addresses and identifiers are usually
represented as bit strings (a pure name)
rather than in human readable form.
– Unstructured or flat names.
• Human-friendly names are more likely to
be character strings (have semantics)
8
Name Resolution
• The central naming issue: how can other
forms of names (human-friendly,
identifiers) be resolved to addresses?
• Naming systems maintain name-to-
address bindings
• In a distributed system a centralized
directory of name-address pairs is not
practical.
9
Naming Systems
• Flat Naming
– Unstructured; e.g., a random bit string
– Resolves identifiers to addresses
• Structured Naming
– Human-readable, consist of parts; e.g., file names or
Internet host naming
– Resolves structured human-friendly names to
addresses
• Attribute-Based Naming
– An exception to the rule that named objects must be
unique
– Entities have attributes; request an object by
specifying the attribute values of interest. 10
– Resolves descriptive names to addresses
Flat Naming
• Addresses and identifiers are usually pure
names (bit strings – often random)
• Identifiers are location independent:
– Do not contain any information about how to locate
the associated entity.
• Addresses are not location independent.
• In a small LAN name resolution can be simple.
– Broadcast or multicast to all stations in the network.
– Each receiver must “listen” to network transmissions
– Not scalable
11
Flat Naming
• Simple Solutions
– Broadcasting
– Forwarding pointers
• Home-based Solutions
• Hierarchical Solutions
• Distributed Hash Tables
Broadcasting (I)
Internet ARP: Network IP addresses → data-link MAC addresses
Reply to
Need
Address for IGNORE Request
Entity(A) Request
Entity(A)
Address of
Entity(A)
Broadcasting (II)
• Broadcasting is not suitable for larger
networks
– Bandwidth is wasted
– Hosts are interrupted for no reason
Flat Names – Resolution in WANs
• Simple solutions for mobile entities
– Chained forwarding pointers
• Directory locates initial position; follow chain of
pointers left behind at each host as the server
moves
• Broken links
– Home-based approaches
• Each entity has a home base; as it moves, update
its location with its home base.
• Permanent moves?
15
Useful for contacting mobile hosts
16
Comparison
• Broadcasting:
– Scalability problems
– Efficiency problems in large scale systems
• Forwarding Pointers:
– Geographical scalability problems
• Long chains: performance problem
• Prone to failure
Home-Based Approaches
34
5.4 – Attribute-Based Naming
• Allows a user to search for an entity whose
name is not known.
• Entities are associated with various attributes,
which can have specific values.
• By specifying a collection of <attribute, value>
pairs, a user can identify one (or more) entities
• Attribute based naming systems are also
referred to as directory services, as opposed to
naming systems.
35
5.4 – Attribute-Based Naming
• Examples: search a music data base for a
particular kind of music, or music by a particular
artist, or . . .
• Difficulty: choosing an appropriate set of
attributes – how many, what variety, etc.
– E.g., should there be a category for ragga music (a
type of reggae)?
• Satisfying a request may require an exhaustive
search through the complete set of entity
descriptors
36
Attribute-Based Naming
• Not particularly scalable if it requires storing all
descriptors in a single database.
• RDF: Resource Description Framework
– Standardized data representation for the Semantic
Web
– Subject-predicate-object triplet (person, name, Alice)
• Some proposed solutions: (page 218)
– LDAP (Lightweight Directory Access Protocol)
combines structured naming with attribute based
names. Provides access to directory services via the
Internet.
37
DISTRIBUTED SYSTEMS
Principles and Paradigms
Chapter 9
Security
Mba IN
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5
Chapter Outline
❖ Introduction to security
❖ Secure Channels
❖ Access Control
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5
Introduction to security
❖ Security in Distributed Systems can be roughly divided into two
parts:
❖ Secure Channels
❖ This deals with the communication between users and processes
❖ This entails authentication of users, message integrity, and
confidentiality
❖ Authorisation
❖ Authorisation deals with ensuring that processes get access to only
those resources they are entitled to.
❖ It is also loosely referred to access control
❖ Secure channel and access control requires mechanisms to
distribute cryptographic keys, and adding and removing users form
systems
❖ These issues are addressed by what is known as Security
Management
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5
Security Threats
❖ One way of looking at security in DS is to view it from the
point of protecting the services and data it offers against
security threats.
❖ Types of security threats to consider:
➢ Interception
• An unauthorized party gains access to a service or data
➢ Interruption
• is a situation in which services/data become unavailable, unusable
or destroyed
➢ Modification
• Unauthorized tampering with the data/services so that it no longer
adheres to its original specification
➢ Fabrication
• Is when additional data/activity will be generated that would
normally not exist
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5
Security policy
❖ Simply getting what security threats exist is not
enough to build a secure system;
❖ A description of the security requirement is needed.
A specification of the security requirements is known
as the security policy;
❖ A security policy describes precisely which actions
the entities in a system are allowed to take and
which ones are prohibited
❖ To enforce a security policy, a security
mechanisms is required
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5
Security Mechanisms
❖ Following are some important security mechanisms:
▪ Encryption
• Transforms the data into a form the attacker can not understand
• It also helps to check whether data has been modified
▪ Authentication
• Used to verify the claimed identity of the user, client, server, host or any
other entity
▪ Authorisation
• Checks whether the client is authorised to perform the action requested
▪ Auditing
• Used to trace which clients accessed what and in which way.
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5
Cryptography (1)
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5
Cryptography(2)
❖ In cryptography the aim is protection against the following 3
attacks:
❖ Message interception
• Without a proper key the intruder will see only unintelligable
data
❖ Message modification
• Without first decrypting the message the intruder cannot
meaningfully modify the message
❖ Insertion of encrypted message
• If an intruder cannot meaningfully modify the message he
also cannot meanigfully insert messages
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5
Cryptography (3)
❖ There are two different types of Cryptography
❖ Symmetric Cryptography
• The same key is used to encrypt and decrypt a
message
❖ Asymmetric Cryptography (Public-key systems)
• Separate keys are used for encryption and decryption
• The following notation is used:
– K+A: public key belonging to A
– K-A: private key belonging to A
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5
Cryptography (4)
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5
Chapter Outline
❖ Introduction to security
❖ Secure Channels
❖ Access Control
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5
Secure Channels
❖ Concentrate on the following two issues:
❖ Authentication
❖ Message Integrity and Confidentiality
❖ Authentication and message integrity cannot do without each
other;
❖ Before two parties can communicate a channel is first
established through authentication
❖ After authentication data integrity and confidentiality come
into play. They are achieved through the use of session keys;
❖ A session key is a shared (secret) key that is used to encrypt
messages for a given session;
❖ A session key is only valid as long as the channel exists
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5
Authentication
❖ Authentication Based on a Shared Secret Key
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5
Authentication Based on a Shared Secret Key (1)
▪ The main challenge with this protocol is Alice may want to start setting up
a secure channel with Bob even before Bob had received the shared key
from the KDC.
▪ One solution to this problem is to let Alice make a connection to Bob by
herself
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5
Authentication Using a Key Distribution Center (2)
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5
Authentication Using a Key Distribution Center (3)
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5
Message Integrity and Confidentiality
❖ Besides authentication a secure channel should also provide
guarantees for message integrity and confidentiality
❖ Confidentiality is easily established through encryption
❖ However, protecting messages against modifications is more
complicated
❖ Digital signatures are used to ensure integrity of messages
exchanged
❖ There are several ways of placing digital signatures on
messages, which include:
– Public Key Cryptography
– Use of message digests
– Use of session keys
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5
Digital Signatures (1)
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5
Digital Signatures (2)
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5
Session Keys
❖ After the authentication phase the communicating parties
generally use a unique shared session key for confidentiality
❖ The session key is safely discarded when the channel is no
longer in use.
❖ An alternative to session keys is to use the key allocated
during authentication, but the use of session keys has a lot of
important advantages:
▪ When a key is used often it becomes easier to reveal it.
▪ Provides protection against replay attacks
▪ If such a key is compromised damage is limited to only that session
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5
Chapter Outline
❖ Introduction to security
❖ Secure Channels
❖ Access Control
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5
Access Control
❖ Requests involve carrying operations on
resources that are controlled by the server;
❖ These operations can only be carried out if the
client has sufficient access rights for invoking
them;
❖ Verifying access rights is referred as access
control;
❖ Granting these access rights in referred to as
authorisation.
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5
General Issues in Access Control
❖ A reference monitor:
❖ records which subject may do what;
❖ decides whether a subject is allowed to invoke a specific operation.
❖ Is called each time an object is invoked
❖ It is therefore important that the reference monitor be
tamperproof
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5
Access Control Matrix
❖ Access Control Matrix is a common approach to modelling
the access rights of subjects with respect to objects
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5
Access Control Matrix (1)
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5
Access Control Matrix (2)
❖ ACL or capability lists can still become too large that further measures
need to be taken.
❖ One general way is to make use of protection domains
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5
Protection Domains