SAMPLE EXAMINATION PAPER – SAMPLE ANSWERS

SAMPLE EXAMINATION PAPER – SAMPLE ANSWERS
EXAMINATION PAPER
School
Computing and Mathematical Sciences
Department
Computer Science
Level
Three
TITLE OF PAPER
Distributed Information Systems - AC
COURSE CODE
COMP1305
Date and Time
SAMPLE EXAM PAPER
This paper contains SIX questions.
ALL questions carry the same number of marks.
Marks will be awarded for the best FOUR answers.
Each Question is Worth 25 marks.
Distributed Information Systems – AC
COMP1303
Page 1 of 22
SAMPLE EXAMINATION PAPER – SAMPLE ANSWERS
1.
(a)
i)
Explain the difficulties of detecting deadlock in a distributed
environment.
[6 marks]
The difficulties arise because the actual resources, and processes, and thus the process’state,
is distributed across several computers. The local operating system (i.e. at a specific
computer) can only ‘see’ a subset of the deadlocked resources, processes, and their state.
Located at computer X
Resource A
Process 1
Process 2
Located at computer Y
Resource B
Located at computer Z
This diagram shows two processes, located on two different computers, deadlocked because
of their competition for two resources. The resources are located at separate computers and
the deadlock itself involves three computers – no single computer can ‘see’ the entire
deadlock.
Explanation of the difficulties of detecting deadlock in a distributed environment. [6 marks]
Note that discussion of deadlock in a non-distributed context will only receive 1 or 2 marks,
depending on the accuracy and relevance.
Distributed Information Systems – AC
COMP1303
Page 2 of 22
SAMPLE EXAMINATION PAPER – SAMPLE ANSWERS
ii)
Show with the aid of diagrams, how phantom deadlocks can occur, and
discuss the consequences of this.
[6 marks]
It takes time to gather the ‘state’ of processes and to determine if a deadlock is present.
During the gathering process the state of processes is continually changing, thus it is not
possible to achieve a totally consistent global view.
Edge-chasing (drawing a wait-for graph) can lead to a cycle reported that never actually
existed all at once.
Resource A
Exists at time T0 only
Exists at time T0 and T1
Process 1
Process 2
Exists at time T0 and T1
Resource B
Exists at time T1 only
The diagram shows that if the state-collection spans both time T0 and time T1 it will ‘detect’ a
deadlock which never actually exists – there is no complete cycle at either time T1 or time T2.
The consequence of phantom deadlocks is that processes are terminated unnecessarily, and
valuable processing resource is wasted – the process must be re-started.
Illustration with diagram(s), how phantom deadlocks can occur.
Note that omission of a diagram will reduce the mark to a maximum of 2.
Discussion of the consequences of phantom deadlocks
Distributed Information Systems – AC
COMP1303
Page 3 of 22
[4 marks]
[2 marks]
SAMPLE EXAMINATION PAPER – SAMPLE ANSWERS
(b)
i)
Explain, the need for clock synchronisation services in distributed
systems. Provide application examples to illustrate your answer.
[6 marks]
Each node must have a clock and these need to be kept synchronised (i.e. telling the same
time). (Some discussion of relevant issues such as clock skew, clock drift, and Coordinated
Universal Time (UTC), perhaps discussion of the differences between physical clocks and
logical clocks)
Clocks are used to timestamp events and this is important in transactions. It is sometimes very
important to know the order in which events occurred.
Example situations of the use of time-stamping to determine event order would include
financial transactions (e.g. stock buying and selling, back account updates deposits –
withdrawals).
Replicated database updates require that all replicas remain consistent – one node must not
perform event A before event B whilst another performs event B before event A.
A telemetry application (at a factory) might ignore the situation where valve X opens before
the temperature in tank Y reaches 100 degrees, but signal an alarm if the events are seen to
occur in the opposite order.
Explanation of the need for clock synchronisation services in distributed systems. [3 marks]
Provision of appropriate application examples to illustrate the answer.
[3 marks]
Distributed Information Systems – AC
COMP1303
Page 4 of 22
SAMPLE EXAMINATION PAPER – SAMPLE ANSWERS
ii)
Critically discuss ways in which a clock synchronisation service could
be implemented. Your answer should highlight the strengths and
weaknesses of at least two approaches.
[7 marks]
The key issues:
Updates are subject to message delays – thus absolute synchronisation is not possible.
Problems associated with adjusting clocks immediately – better to speed them up or slow
them down a small amount and adjust them over a period.
Problems associated with setting a fast clock back in time – some timestamps that have
already been used will now be in the future – bad. Also timestamps that have been used can
be re-used – bad.
Highlight the strength and weaknesses of two approaches for achieving clock synchronisation.
These could be any two of, for example:
Cristian’s method,
The Berkeley algorithm
The Network Time Protocol (NTP)
For example, the strengths and weaknesses of Cristian’s method could be discussed thus:
•
Intended mainly for use within an Intranet and is not particularly scalable (being
server-based and not hierarchical), and not particularly suited to use over networks
that have very large delays, or highly variable delays.
•
Simple for use in LAN environments in which delay is usually short and reasonably
stable.
•
Takes into account the round-trip time (RTT) between the client and server when
calculating the time to set at the client’s clock. Only achieves satisfactory
synchronisation if the RTT is short with respect to the accuracy required.
Critical discussion of the ways in which a clock synchronisation service could be
implemented.
[3 marks]
Highlight / outline the strengths and weaknesses of at least two approaches.
[4 marks]
Note: one approach covered in good detail might receive 3 marks, but to get full marks there
must be at least some detail of each of TWO approaches.
Distributed Information Systems – AC
COMP1303
Page 5 of 22
SAMPLE EXAMINATION PAPER – SAMPLE ANSWERS
2.
(a)
Critically discuss the security implications of the following features of
distributed systems:
i)
Exposed system-level communications.
[6 marks]
Communication between parts of applications (such as client/server applications) contains
system-level information as well as user / application data. Thus an eavesdropper could
potentially discover passwords, port numbers, encryption keys, system-management
information (such as the location of resources) etc.
The system-level information is potentially much more sensitive than the user data because it
might enable an attacker to gain access to services and other resources, and to perform a widevariety of attacks such a denial-of-service and masquerade / impersonation of services.
An answer similar to the above would achieve full marks
[6 marks]
ii)
Multiple points of execution.
[6 marks]
Multiple points of execution exist – a process can execute at many different locations, and
resources can be executed at many locations. This has both positive and negative impacts on
security.
The positive impacts include:
an attacker may not know in advance where a particular process will execute, or where a
particular resource (file, objects, etc) will be located. Thus the attacker relies on luck if they
are targeting a specific resource or process. Dynamic relocation of resources further
compounds the difficulties faced by this type of attacker. Distribution of resources, such as a
database means that if only a single site is attacked (or its transmissions monitored) the
attacker might only see a fraction of the actual data passing by.
The negative impacts include:
Each of the sites must be secured against attacks, but accessible freely to authorised users –
this requires a fine balance in the security measures employed. If one site is successfully
attacked, the intruder must not be able to extend their attack through (apparently) legitimate
internal requests. Detection of attacks in distributed systems can be difficult and complex.
An answer similar to the above would achieve full marks
[6 marks]
(b)
i)
Explain, with the aid of diagrams, the operation of the Kerberos
distributed systems authentication mechanism.
[9 marks]
See for example the course text (Coulouris, Dollimore and Kindberg) chapter 7, pp291 – 308.
In particular the answer should describe the operation of the Authentication Server (AS) and
the Ticket-Granting Server (TGS). The use of tickets and authenticators, and the different
encryption keys that are used for the various types of messages should be included in the
answer. Additional mechanisms to enhance security, such as time-stamping of messages to
limit lifetimes and the inclusion of client location in tickets to prevent illegal use from another
location etc, should also be discussed.
An answer that correctly covered all these issues would receive full marks
[9 marks]
Distributed Information Systems – AC
COMP1303
Page 6 of 22
SAMPLE EXAMINATION PAPER – SAMPLE ANSWERS
ii)
Critically discuss the extent of the security provided by Kerberos.
[4 marks]
Kerberos is itself a distributed application. It provides authentication services for clients and
servers – i.e. it can authenticate a client on behalf of a server, but the client can also request
that the server be authenticated before any sensitive data is sent to the server (this helps
prevent masquerade attacks).
Kerberos does not trust / rely on the integrity of workstations.
Kerberos provides three different levels of security (with respect to message encryption) –
which gives users and administrators considerable flexibility.
Kerberos does not transmit the password across the network – not even an encrypted version
of it – instead it uses the password as a DES key to decrypt messages containing tickets.
One issue is the selection of TGS ticket lifetimes – too long reduces security, too short
inconveniences users.
See also the course text (Coulouris, Dollimore and Kindberg) page 298.
A discussion such as the above would receive full marks
Distributed Information Systems – AC
COMP1303
Page 7 of 22
[4 marks]
SAMPLE EXAMINATION PAPER – SAMPLE ANSWERS
3.
(a)
Identify the transparency requirements of a distributed file system. Your
answer should discuss the relative importance of the various forms of
transparency and provide application examples to illustrate and justify your
answer.
[7 marks]
Access and Location transparency are the most important in this context. It is vital that users
can access their files regardless of whether they are held locally or remotely, and the user
should not have to know where the files are actually held, or to have to do anything different
to access the files if they are remote.
Failure, Concurrency, Performance and Scalability transparencies are also very important.
Users should have reliable error-free access to their files and files should not be corrupted (in
particular, multi-user updates should be protected from the lost-update problem). Performance
should be predictable (not sporadic) and should be maintained (or degrade gracefully) as the
system scale increases.
Replication transparency is desirable, as it is a means of increasing robustness, access and
performance.
The answer should identify the transparency requirements specific to a distributed file
system. Just listing all the transparency requirements the course has covered, without relation
to distributed file systems will not attract marks.
The answer should discuss the relative importance of the various forms of transparency.
Some forms of transparency are vital, others perhaps, desirable but not absolutely necessary –
the answer should differentiate – as in the sample answer above.
[5 marks]
An application example (illustrating the need for access and location transparency):
Consider an office worker who regularly uses a mixture of files that are located at several
different file servers, and some on the local computer (their workstation). It would be
inappropriate to ask the user for the location of each file they used, for several reasons:
o
The user may not know what a file server is!
o
The user may not realise that the files are held at different locations!
o
The user may not know at which location their files are held!
o
The user does not have spare time to keep answering questions or providing information
as to the location of their files.
o
The file system may relocate / redistribute files to perform load balancing – so the
user’s knowledge of location could be out-of-date.
o
The file server might have crashed and a replacement / replica could be in operation.
For all these reasons (and several others) it is inappropriate for the user to be expected to
know details of the location of their files, and to have to do anything different to access
remote files, than they would have to do to access local files. Therefore access and location
transparency are vital requirements.
An application example(s) to illustrate and justify your answer.
[2 marks]
Distributed Information Systems – AC
COMP1303
Page 8 of 22
SAMPLE EXAMINATION PAPER – SAMPLE ANSWERS
(b)
Describe, with the aid of a suitable diagram, the architecture of the NFS
distributed file system. In particular you should show how requests for both
local and remote files are handled.
[8 marks]
Application processes
System calls
Virtual File System
Local
File
Local
File
System
Remote
File
NFS
Client
Virtual File System
NFS
Protocol
Operating System Kernel
NFS
Server
Local
file
system
Operating System Kernel
The diagram shows how the VFS layer intercepts file requests and determines whether the file
is local or remote. Local file requests are passed to the local file system. Remote requests are
passed to the NFS client, which passes the request to the NFS server process at the
appropriate remote node. The NFS server then passed the request to (its local) VFS layer. The
VFS at the remote node then passes the request to (its local) file system.
Importantly, the presence of the VFS at the user’s computer hides the remoting activity (and
thus provides access and location transparency.
Description of the architecture of the NFS distributed file system. The answer should show
how requests for both local and remote files are handled (i.e. explain the operation of the VFS
layer).
[8 marks]
Note: answers that do not include a suitable diagram will receive a maximum of 4 marks.
Distributed Information Systems – AC
COMP1303
Page 9 of 22
SAMPLE EXAMINATION PAPER – SAMPLE ANSWERS
(c)
Consider a software development company with Development, Quality
Assurance, and Sales departments. Each department is to have its own file
server.
Sketch out a strategy for making the company’s files available to all users,
using NFS. Your answer should include details of the proposed directory tree
structure as seen by users, showing the various mount points.
[8 marks]
Local area network
User
User
workstation
User
workstation
workstation
‘Development’
File server
‘Quality
Assurance’
File server
‘Sales’
File server
Storage of files
Storage of files
Storage of files
This diagram (above) shows the physical view. Each user workstation can access each
physical server via the LAN. A user’s files could be physically located at their own
workstation, or at any of the three file servers.
client
root
usr
Dev
Mount points
QA Sales
remote
mount
remote
mount
remote
mount
root
root
exports
exports
aaa
A
B
Development
root
nfs
bbb
C
J
K
ccc
L
Quality Assurance
Distributed Information Systems – AC
COMP1303
Page 10 of 22
X
Y
Sales
Z
SAMPLE EXAMINATION PAPER – SAMPLE ANSWERS
The diagram (above) shows the location of mount points within the directory tree, and details
of the file system tree constructed across the four different computers to appear as a single
tree by a user at the client workstation.
client
root
usr
Dev
A
B
C
QA Sales
J
K
L
X
Y
Z
This diagram (above) shows the virtual file system, as seen by a user at the client workstation.
The answer should differentiate between the physical and virtual ‘views’, i.e. the differences
between the actual network configuration and the users’ perception of the files being locally
available. Details of the proposed directory tree structure as seen by users, showing the
various mount points should be included.
[8 marks]
Partial answers, lacking diagrams or explanation will receive reduced marks.
Distributed Information Systems – AC
COMP1303
Page 11 of 22
SAMPLE EXAMINATION PAPER – SAMPLE ANSWERS
4.
(a)
Critically discuss the CORBA distributed object architecture. Your answer
should describe the operation of both static-invocation and dynamicinvocation, providing examples of the use of each.
[12 marks]
The discussion should be critical (i.e. state strengths, weaknesses, advantages, disadvantages)
and be formed around the following technical material:
The Object Request Broker (ORB) - the central component of CORBA
Object
Implementation
Client
Request
ORB
A request being sent through the Object Request Broker
(A High-level representation)
The ORB facilitates message exchange between objects.
Objects use the ORB to make requests to, and receive responses from, other objects.
Object
Implementation
Client
Dynamic
Invocation
IDL
Stubs
ORB
Interface
IDL
Skeleton
Object
Adapter
ORB CORE
ORB-dependent interface
Interface identical for all ORB implementations
There are stubs and a skeleton for each object type
There may be multiple Object Adapters
The structure of the ORB interfaces in CORBA
Each CORBA object has an object reference which is unique and independent of its name(s).
Distributed Information Systems – AC
COMP1303
Page 12 of 22
SAMPLE EXAMINATION PAPER – SAMPLE ANSWERS
Object Adapters.
Object adapters provide access to ORB services, including:
•
implementation activation and deactivation
•
mapping object references to implementations
•
registration of implementations
•
generation and interpretation of object references
•
object activation and deactivation
•
method invocation
Basic Object Adapter (BOA).
Every CORBA implementation must provide a BOA which is used by default, additionally
special Object Adapters may be provided (for a specific DBMS for example).
The Implementation repository is used by the Object Adapter to keep track of classes and
their runtime instances (Objects).
The Interface repository is a runtime database that contains descriptions of the methods
associated with each class. This database is used by the Dynamic Invocation utility to match a
suitable server object to a dynamic request message.
Critical discussion of the CORBA distributed object architecture.
Note that non-discursive, note regurgitation will receive less marks.
Distributed Information Systems – AC
COMP1303
Page 13 of 22
[4 marks]
SAMPLE EXAMINATION PAPER – SAMPLE ANSWERS
Static Invocation Interface.
Platform 2
(Server / object implementation)
Platform 1
(Client)
Application 2
Object B
Application 1
Object A
Request
Dynamic
Invocation
Client
IDL Stubs
Interface
repository
Dynamic
Skeleton
Invocation
ORB (Client side)
Server
IDL Stubs
(Skeletons)
Implementation
repository
Object Adapter
ORB (Client side)
Object Request Broker (Core)
Static Invocation
(A brief explanation of the operation of static invocation should accompany the diagram).
Example of use - the Static Invocation interface is used when the Client object wants to send
a message to a specific object, i.e. the target object was known at compile time. This is typical
of situations where regular relationships between objects occur – for example a certain bank
application business-logic (middle-tier) object is a regular client of a back-end data-manager
object which manages storage of the bank account data.
Description of the operation of static-invocation, with an example of its use.
Note that omission of the example (or a poor example) will reduce the mark.
Distributed Information Systems – AC
COMP1303
Page 14 of 22
[4 marks]
SAMPLE EXAMINATION PAPER – SAMPLE ANSWERS
Dynamic Invocation Interface.
Platform 2
(Server / object implementation)
Platform 1
(Client)
Application 2
Object B
Application 1
Object A
Request
Dynamic
Invocation
Client
IDL Stubs
Interface
repository
ORB (Client side)
Dynamic
Skeleton
Invocation
Server
IDL Stubs
(Skeletons)
Implementation
repository
Object Adapter
ORB (Client side)
Object Request Broker (Core)
Dynamic Invocation
(A brief explanation of the operation of dynamic invocation should accompany the diagram).
Dynamic Invocation is used when the client object requests a service but does not know the
specific class of object to satisfy the request.
Example of use - the Dynamic Invocation interface is used when the client object wants to
interact with a particular type of service (but does not know which object provides this
service). This situation usually arises at run time. For example a replicated database service
needs to update some data held at all currently active service instances. The number of replica
servers that exist at any moment (and their identities) is not knowable at compile time. The
interface repository is used to identify server-objects that have interface descriptions /
methods that match the description provided by the client object.
Description of the operation of dynamic-invocation, with an example of its use.
Note that omission of the example (or a poor example) will reduce the mark.
Distributed Information Systems – AC
COMP1303
Page 15 of 22
[4 marks]
SAMPLE EXAMINATION PAPER – SAMPLE ANSWERS
(b)
Evaluate the extent of the transparencies provided by CORBA, indicating how
each form of transparency is achieved.
[7 marks]
•
Access transparency - Object methods are invoked in the same manner whether they are
local or remote to the requesting object – achieved partly by the ORB and partly by the
use of skeletons, stubs and object adapters.
• Location transparency - The location of an object is not known and does not need to be
known when invoking that object’s methods – achieved by the ORB and the
Implementation repository, which keeps track of runtime instances
• Implementation transparency - The way an application is implemented (language,
Activation Policy, platform, operating system etc.) is hidden – achieved primarily
through the use of IDL.
• Distribution transparency - The communications network, specific node - server
mappings, and relative locations of communicating objects are hidden – achieved
through the use of the ORB and the object adapter (especially the various activation
policies it can support)
• Configuration transparency – the configuration of the system and of services does not
need to be known by applications – this is fundamentally achieved through the
provision of Dynamic Invocation, with the Interface Repository which contains
descriptions of the methods associated with each class, allowing them to be ‘discovered’
by applications at run-time.
CORBA does NOT SPECIFICALLY support replication transparency or concurrency
transparency.
Evaluation of the extent of the transparencies provided by CORBA
[4 marks]
Indication of how each form of transparency is achieved / provided.
[3 marks]
Note that just listing the correct list of transparencies will achieve only 1 or 2 marks.
Listing all transparencies that are covered in the course, with no differentiation between the
ones provided by CORBA and those not provided, will not receive any marks.
Distributed Information Systems – AC
COMP1303
Page 16 of 22
SAMPLE EXAMINATION PAPER – SAMPLE ANSWERS
(c)
Describe, in outline, the steps required when developing distributed
applications using CORBA. Include in your answer a brief explanation of the
role of IDL.
[6 marks]
The CORBA IDL consists of a subset of C++ with additional keywords to support object
distribution concepts. Support for several target languages is provided (C, C++, COBOL,
ADA, Small Talk and others).
IDL provides implementation transparency and allows objects written in different languages
to communicate.
Client side
COBOL
C
C++
ADA
Other
Server / Object Implementation side
IDL
IDL
IDL
IDL
ORB
IDL
ORB
IDL
IDL
IDL
IDL
IDL
COBOL
C
C++
ADA
Other
Interface Deffinition Language (IDL)
The steps required are:
1. The interfaces between objects are identified and described using IDL code. This describes
the interfaces only – it is language and functionality independent.
2. The IDL compiler generates a client stub, a server implementation skeleton and a header
file.
3. The actual client functionality is written in the chosen client-object development language.
4. The actual server functionality is written in the chosen server-object development language.
5. The client is compiled together with the client stub and the header file (from step 2).
6. The server is compiled together with the server skeleton and the header file (from step 2).
7. The client and server objects are deployed into the system.
Distributed Information Systems – AC
COMP1303
Page 17 of 22
SAMPLE EXAMINATION PAPER – SAMPLE ANSWERS
Identify Objects
in System
Write IDL
Definitions
Add Server
Object Code
Compile
Client Applications
Interface
repository
Client IDL Stubs
Server Applications
Server IDL Stubs
(Skeletons)
Steps in developing a CORBA application
Outline description of the steps required when developing distributed applications using
CORBA.
[4 marks]
Brief explanation of the role of IDL.
[2 marks]
Distributed Information Systems – AC
COMP1303
Page 18 of 22
SAMPLE EXAMINATION PAPER – SAMPLE ANSWERS
5.
(a)
Compare and contrast the two-tier and three-tier models for distributed
application design. Provide application examples to illustrate the relative
advantages and disadvantages of each approach.
[13 marks]
Presentation
Data
Network
Processing
Secondary storage
Two-tier application (fat client)
Data
Network
Secondary storage
Presentation
Processing
Two-tier application (fat server)
Presentation
Presentation
Network
Processing
Processing
Processing
Network
Data
Data
Data
Data
Three-tier application
Diagrams, such as those shown above, should be provided to illustrate the key differences. In
particular the separation of the presentation, business logic and data management
functionality should be illustrated and discussed. Strengths and weaknesses should be
highlighted. For example, the fat server (two-tier) is less scalable than the thin server –
because each client adds significant extra workload on the server. The three tier approach is
more flexible because all three aspects of functionality can be separated (and replication can
occur in the business logic and the data management entities as required).
Comparison of the two-tier and three-tier models for distributed application design. Note the
sample answer above details only a subset of the many examples of differences, relative
advantages and relative disadvantages.
[7 marks]
Distributed Information Systems – AC
COMP1303
Page 19 of 22
SAMPLE EXAMINATION PAPER – SAMPLE ANSWERS
A departmental server based application does not need the scalability offered by the three-tier
approach and thus would be more suitable to a simple client-server design which is much
simpler and thus easier to design, install and maintain.
A distributed application deployed over an international corporation will need to be highly
scalable and robust. This type of application is much more suited to the three-tier approach, as
it is inherently more scalable, and can be made robust by replication at several levels. Also the
three-tier design approach enables more flexible security, as some users can have access
restricted to the only parts of the system they need to access.
Provision of application examples to illustrate the relative advantages and disadvantages of
each approach (note the answer above provides only a subset of the possible examples that
could be given.
[6 marks]
(b)
Show, with the aid of diagrams, how the three-tier model could be applied to
the design of a distributed stock-control system. Your answer should include a
discussion of the functionality of each tier, with justification.
[12 marks]
Presentation
(user interface)
Business
logic
Data
Management
(database
engine)
One copy
per user
(e.g. Update stock
quantity,
Check stock price,
Move stock)
One copy at each
warehouse,
Deals with local-stock part
of the stock database.
Tier 1
Tier 2
Tier 2
The three tiers are separated and can be deployed to suit the physical distribution of the
company. For example, part of the database can be held at each warehouse (maintaining the
data for the local stock) A query to determine the stock held at a specific warehouse would
only need to contact the appropriate tier-3 object. However, a stock audit (for example) would
need to contact all of the tier-3 objects.
The answer should illustrate how the three-tier model could be applied to the design of a
distributed stock-control system. The use of a clear, appropriate diagram is important. The
functionality of each tier, should be discussed and justified.
[12 marks]
An answer without a suitable diagram would receive a maximum of 8 marks.
Distributed Information Systems – AC
COMP1303
Page 20 of 22
SAMPLE EXAMINATION PAPER – SAMPLE ANSWERS
6.
(a)
Critically discuss the need for replication in distributed systems.
Your answer should address the following issues:
What can be replicated?
What are the benefits of replication?
How can replication be achieved?
[12 marks]
Several aspects of distributed systems can be replicated, these include:
Processes – especially services that need to be highly available and fault-tolerant. For
example a web-service could be replicated at several sites to ensure that the service was
highly available – even if one site suffered a failure.
Data resources such as files and databases can be replicated to ensure that copies are
highly available – despite possible failures in some parts of the system. When writable
data resources are replicated the issues of update consistency and distributed transaction
management must be addressed.
Computationally-intense applications can be decomposed to run as parallel applications.
The parts are then executed (as replicas) and the results collected. The replication of
such applications spreads the load over several processors, and thus reduces responsetime.
[4 marks]
There are several benefits of replication:
Fault-tolerance. If one replica (process or resource) cannot be accessed, another can be
contacted.
Multiple copies of a resource means that the access requests can be distributed across
the replicas. This increases the availability of the resource, reducing the load on any one
server and thus reducing access times.
Many systems have geographically dispersed users. Spreading copies of resource so that
it is geographically near to users reduces the amount of traffic in network systems,
reduces the associated costs of long-distance network communication and reduces
communication latency.
[4 marks]
There are several issues to be considered when replication is implemented. Replication should
be transparent to users (user applications). Applications should not need to know that
resources are replicated, how may replicas there are, or where they are located. If one copy of
a resource is unavailable the request should be redirected to another copy without the userapplication’s involvement. Where resources are geographically dispersed, a user’s request
should, by default, be automatically directed to the ‘nearest’ instance of the resource.
The most common way to achieve this is to provide an additional software layer (service) at
each computer which ‘resolves’ requests appropriately and thus provides access and location
transparency.
[4 marks]
Distributed Information Systems – AC
COMP1303
Page 21 of 22
SAMPLE EXAMINATION PAPER – SAMPLE ANSWERS
(b)
Critically evaluate the need for directory services in large, dynamic distributed
systems. Provide application examples to illustrate your answer.
[6 marks]
As systems expand, the number of resources, and the number of possible locations these
resources can reside grows exponentially. It is not reasonable to expect applications to keep
track of the names and addresses of all the resources (including other applications and core
services) that they use. The dynamic reconfiguration of systems – moving resources around to
load-balance and to cope with component failures – considerably exacerbates the problem.
Directory services provide a convenient solution. An application client contacts the directory
service to find the current location of (one copy of) the service they require. The business of
ensuring the information is up-to-date is the responsibility of the directory service, not the
user application.
[3 marks]
An example would be a web-browser connecting to a web-server. The user provides a URL,
which identifies a service by name (but does not provide location information). The browser
contacts a directory service (DNS in the Internet) to translate the domain-name part of the
URL into an address. The client then uses the address to establish an HTTP connection to the
appropriate web-server.
[3 marks]
(c)
Describe, in outline, the architecture and operation of the Domain Name
System (DNS).
Your answer should address the following issues:
How does an application make a request to DNS?
How are names resolved to IP addresses?
How does the DNS system achieve scalability?
[7 marks]
Applications embed a resolver such as ‘GetHostByName’ into the client code. When the client
needs to resolve an application name into an address (e.g. from a URL into an IP address) the
resolver is invoked and contacts the local DNS server.
Local resource names are translated into addresses by the local DNS server. Non-local names
are passed up the DNS server hierarchy until a server is reached that can perform the required
resolution (i.e. it is local to the requested resource). The address is then passed back down the
hierarchy to the local server, which passes it back to the resolver.
The scalability of DNS is fundamentally derived from its hierarchical (inverted tree)
implementation. Additionally, DNS servers are replicated to ensure that the system is very
robust and that requests are handled quickly. The replication enhances scalability.
[7 marks]
Distributed Information Systems – AC
COMP1303
Page 22 of 22