1. Q: An alternative definition for a distributed system is that of a collection of
independent computers providing the view of being a single system, that is, it
is completely hidden from users that there even multiple computers. Give an
example where this view would come in very handy.
ANSWER: What immediately comes to mind is parallel computing. If one could
design programs that run without any serious modifications on distributed systems that
appear to be the same as nondistributed systems, life would be so much easier. Achieving
a single-system view is by now considered virtually impossible when performance is in play.
2. Q: What is the role of middleware in a distributed system?
ANSWER: To enhance the distribution transparency that is missing in network operating
systems. In other words, middleware aims at improving the single-system view that a
distributed system should have.
3. Q: Many networked systems are organized in terms of a back office and a
front office. How does organizations match with the coherent view we demand
for a distributed system?
ANSWER: A mistake easily made is to assume that a distributed system as operating
in an organization, should be spread across the entire organization. In practice,
we see distributed systems being installed along the way that an organization
is split up. In this sense, we could have a distributed system supporting backoffice procedures and processes, as well as a separate front-office system. Of
course, the two may be coupled, but there is no reason for letting this coupling
be fully transparent.
4. Q: Explain what is meant by (distribution) transparency, and give examples of
different types of transparency.
ANSWER: Distribution transparency is the phenomenon by which distribution aspects
in a system are hidden from users and applications. Examples include access
transparency, location transparency, migration transparency, relocation transparency,
replication transparency, concurrency transparency, failure transparency, and persistence transparency.
5. Q: Why is it sometimes so hard to hide the occurrence and recovery from failures in a distributed system?
ANSWER: It is generally impossible to detect whether a server is actually down, or
that it is simply slow in responding. Consequently, a system may have to
report that a service is not available, although, in fact, the server is just slow.
6. Q: Why is it not always a good idea to aim at implementing the highest degree
of transparency possible?
ANSWER: Aiming at the highest degree of transparency may lead to a considerable
loss of performance that users are not willing to accept.
7. Q: What is an open distributed system and what benefits does openness provide?
ANSWER: An open distributed system offers services according to clearly defined
rules. An open system is capable of easily interoperating with other open systems
but also allows applications to be easily ported between different implementations of the same system.
8. Q: Describe precisely what is meant by a scalable system.
ANSWER: A system is scalable with respect to either its number of components,
geographical size, or number and size of administrative domains, if it can grow in
one or more of these dimensions without an unacceptable loss of performance.
9. Q: Scalability can be achieved by applying different techniques. What are
these techniques?
ANSWER: Scaling can be achieved through distribution, replication, and caching.
10. Q: Explain what is meant by a virtual organization and give a hint on how
such organizations could be implemented.
ANSWER: A virtual organization (VO) defines a group of users/applications that have
access to a specified group of resources, which may be distributed across many
different computers, owned by many different organizations. In effect, a VO
defines who has access to what. This also suggests that the resources should
keep an account of foreign users along with their access rights. This can often
be done using standard access control mechanisms (like the rwx bits in UNIX),
although foreign users may need to have a special account. The latter complicates
matters considerably.
11. Q: When a transaction is aborted, we have said that the world is restored to its
previous state, as though the transaction had never happened. We lied. Give an
example where resetting the world is impossible.
ANSWER: Any situation in which physical I/O has occurred cannot be reset. For
example, if the process has printed some output, the ink cannot be removed
from the paper. Also, in a system that controls any kind of industrial process, it
is usually impossible to undo work that has been done.
12. Q: Executing nested transactions requires some form of coordination. Explain
what a coordinator should actually do.
ANSWER: A coordinator need simply ensure that if one of the nested transactions
aborts, that all other subtransactions abort as well. Likewise, it should
coordinate that all of them commit when each of them can. To this end, a
nested transaction should wait to commit until it is told to do so by the coordinator.
13. Q: We argued that distribution transparancy may not be in place for pervasice
systems. This statement is not true for all types of transparencies. Give an
example.
ANSWER: Think of migration transparency. In mnay pervasive systems, components
are mobile and will need to re-establish connections when moving from one
access point to another. Preferably, such handovers should be completely
transparent to the user. Likewise, it can be argued that many other types of
transparencies should be supported as well. However, what should not be hidden is a
user is possibly accessing resources that are directly coupled to the
user’s current environment.
14. Q: We already gav e some examples of distributed pervasive systems: home
systems, electronic health-care systems, and sensor networks. Extend this list
with more examples.
ANSWER: There are quite a few other examples of pervasive systems. Think of
largescale wireless mesh networks in cities or neighborhoods that provide services
such as Internet access, but also form the basis for other services like a news
system. There are systems for habitat monitoring (as in wildlife resorts), electronic
jails by which offenders are continuously monitored, large-scale integrated sports
systems, office systems deploying active badges to know about
the whereabouts of their employees, and so on.
independent computers providing the view of being a single system, that is, it
is completely hidden from users that there even multiple computers. Give an
example where this view would come in very handy.
ANSWER: What immediately comes to mind is parallel computing. If one could
design programs that run without any serious modifications on distributed systems that
appear to be the same as nondistributed systems, life would be so much easier. Achieving
a single-system view is by now considered virtually impossible when performance is in play.
2. Q: What is the role of middleware in a distributed system?
ANSWER: To enhance the distribution transparency that is missing in network operating
systems. In other words, middleware aims at improving the single-system view that a
distributed system should have.
3. Q: Many networked systems are organized in terms of a back office and a
front office. How does organizations match with the coherent view we demand
for a distributed system?
ANSWER: A mistake easily made is to assume that a distributed system as operating
in an organization, should be spread across the entire organization. In practice,
we see distributed systems being installed along the way that an organization
is split up. In this sense, we could have a distributed system supporting backoffice procedures and processes, as well as a separate front-office system. Of
course, the two may be coupled, but there is no reason for letting this coupling
be fully transparent.
4. Q: Explain what is meant by (distribution) transparency, and give examples of
different types of transparency.
ANSWER: Distribution transparency is the phenomenon by which distribution aspects
in a system are hidden from users and applications. Examples include access
transparency, location transparency, migration transparency, relocation transparency,
replication transparency, concurrency transparency, failure transparency, and persistence transparency.
5. Q: Why is it sometimes so hard to hide the occurrence and recovery from failures in a distributed system?
ANSWER: It is generally impossible to detect whether a server is actually down, or
that it is simply slow in responding. Consequently, a system may have to
report that a service is not available, although, in fact, the server is just slow.
6. Q: Why is it not always a good idea to aim at implementing the highest degree
of transparency possible?
ANSWER: Aiming at the highest degree of transparency may lead to a considerable
loss of performance that users are not willing to accept.
7. Q: What is an open distributed system and what benefits does openness provide?
ANSWER: An open distributed system offers services according to clearly defined
rules. An open system is capable of easily interoperating with other open systems
but also allows applications to be easily ported between different implementations of the same system.
8. Q: Describe precisely what is meant by a scalable system.
ANSWER: A system is scalable with respect to either its number of components,
geographical size, or number and size of administrative domains, if it can grow in
one or more of these dimensions without an unacceptable loss of performance.
9. Q: Scalability can be achieved by applying different techniques. What are
these techniques?
ANSWER: Scaling can be achieved through distribution, replication, and caching.
10. Q: Explain what is meant by a virtual organization and give a hint on how
such organizations could be implemented.
ANSWER: A virtual organization (VO) defines a group of users/applications that have
access to a specified group of resources, which may be distributed across many
different computers, owned by many different organizations. In effect, a VO
defines who has access to what. This also suggests that the resources should
keep an account of foreign users along with their access rights. This can often
be done using standard access control mechanisms (like the rwx bits in UNIX),
although foreign users may need to have a special account. The latter complicates
matters considerably.
11. Q: When a transaction is aborted, we have said that the world is restored to its
previous state, as though the transaction had never happened. We lied. Give an
example where resetting the world is impossible.
ANSWER: Any situation in which physical I/O has occurred cannot be reset. For
example, if the process has printed some output, the ink cannot be removed
from the paper. Also, in a system that controls any kind of industrial process, it
is usually impossible to undo work that has been done.
12. Q: Executing nested transactions requires some form of coordination. Explain
what a coordinator should actually do.
ANSWER: A coordinator need simply ensure that if one of the nested transactions
aborts, that all other subtransactions abort as well. Likewise, it should
coordinate that all of them commit when each of them can. To this end, a
nested transaction should wait to commit until it is told to do so by the coordinator.
13. Q: We argued that distribution transparancy may not be in place for pervasice
systems. This statement is not true for all types of transparencies. Give an
example.
ANSWER: Think of migration transparency. In mnay pervasive systems, components
are mobile and will need to re-establish connections when moving from one
access point to another. Preferably, such handovers should be completely
transparent to the user. Likewise, it can be argued that many other types of
transparencies should be supported as well. However, what should not be hidden is a
user is possibly accessing resources that are directly coupled to the
user’s current environment.
14. Q: We already gav e some examples of distributed pervasive systems: home
systems, electronic health-care systems, and sensor networks. Extend this list
with more examples.
ANSWER: There are quite a few other examples of pervasive systems. Think of
largescale wireless mesh networks in cities or neighborhoods that provide services
such as Internet access, but also form the basis for other services like a news
system. There are systems for habitat monitoring (as in wildlife resorts), electronic
jails by which offenders are continuously monitored, large-scale integrated sports
systems, office systems deploying active badges to know about
the whereabouts of their employees, and so on.