Distributed Systems Midsem Answers
Distributed Systems Midsem Answers
1. Consider a hypothetical car hire company and sketch out a three-tier solution
to the provision of their underlying distributed car hire service. Use this to
illustrate the benefits and drawbacks of a three-tier solution considering
issues such as performance, scalability, dealing with failure and also
maintaining the software over?
Answer
The user interface tier would be responsible for providing the interface that
customers use to interact with the car hire service. This could include a
website or a mobile app that allows customers to search for and book cars, as
well as providing information about the cars and the company's policies.
The application tier would be responsible for managing the core business
logic of the car hire service. This could include handling requests from the
user interface tier, interfacing with the data tier to retrieve and store
information about cars and customers, and managing the allocation of cars to
customers.
The data tier would be responsible for storing and managing the data used
by the car hire service, such as information about cars, customers, and
bookings. This could be done using a database management system.
Benefit
One of the key benefits of a three-tier solution is that it can improve
performance by allowing different components of the system to be
optimized for their specific tasks
Drawback
One potential drawback of a three-tier solution is that it can be more
complex to design, implement, and maintain than a simpler system.
3. A server creates a port that it uses to receive requests from clients. Discuss
the design issues concerning the relationship between the name of this port
and the names used by clients.
Answer
One of the key design issues concerning the relationship between the name
of a server's port and the names used by clients is the need to ensure that the
server and clients can communicate using a shared, well-defined naming
convention. This is necessary in order for the server to know which port to
listen on and for clients to know which port to send requests to
Answer
Both message passing and distributed shared memory (DSM) are
technologies that can be used to implement fault-tolerant applications. The
choice between these two approaches depends on a number of factors,
including the specific requirements and constraints of the application, the
performance and scalability needs of the system, and the availability of
supporting infrastructure
DSM is preferable for applications that require a high degree of data sharing
and coordination, and that can tolerate a higher level of complexity and
overhead. This is because DSM provides a shared memory space that can be
accessed and updated by multiple components of the system, allowing for
more efficient communication and coordination. However, DSM typically
requires specialized hardware and software support, and can be more
complex to implement and maintain than message passing.
Answer
One approach to dealing with the problem of differing data representations
on heterogeneous computers in a DSM system implemented in middleware
without hardware support is to use platform-neutral data types and
serialization formats. This allows the DSM system to represent data in a
form that is independent of the underlying hardware and software platforms,
and can be easily transmitted and deserialized on different computers.
Answer
No, a communication paradigm being asynchronous does not necessarily
imply that it is also time-uncoupled.