Distributed systems EXAM Questions and Answers 2024/2025 | verified
What is a distributed system? - A distributed system is a collection of independent computers that
appears to its users as a single coherent system
What are the motivations for distributed systems? - Because the world is distributed.
Because joining forces increases performance, availability.
Because problems rarely hits two different places at exactly the same time. As a company having only one
database server is a bad idea.
What is Middleware? - Middleware is the software that connects software components or
enterprise applications. Middleware is the software layer that lies between the operating system and the
applications on each side of a distributed computer network.
Typically, it supports complex, distributed business software applications.
Provides abstraction and hides complexity.
Name the goals of middleware. [TO REDS] - Transparency
- The ability to view a distributed system as if it were a single computer
- Varying dimensions of transparency incl. location, access, migration, etc.
- The degree of transparency is a key decision in any systems architecture
Openness
- The offering of services according to standard rules (syntax and semantics)
- Openness provides support for the key properties of portability and interoperability
- Again, the degree of openness is a key factor in systems design
Resource sharing
- The ability to access and share resources in a distributed environment
,- The bread and butter of distributed systems
Extensibility
- The ability to be able to introduce new or modified functionality
Dependability/ Quality of Service
- Security
- Providing secure and authenticated channels, access control, key management, etc.
- Fault-tolerance
- Providing highly available and resilient distributed applications and services
Scalability
- Scalable with respect to size, e.g. support massive growth in the
number of users of a service
- Scalable with respect to geography, e.g. supporting distributed systems that span continents (dealing
with latencies, etc)
- Scalable with respect to administration, e.g. supporting systems which span many diferent
administrative organisations
What are the three different ways to protect against security threats? - Sandboxing, encryption,
authentication
How can we ensure protection against malicious mobile code? - Sandboxing
How can we ensure secure communication? - Encryption
How can we ensure access control? - Authentication
What is symmetric key encryption? - When the same key is used to encrypt and decrypt data.
, What is DES? Name the two functions. - Data Encryption Standard. DES_encrypt and
DES_decrypt
What is challenge response protocol? - Where we can identify a user without exchanging the secret
key. It requires the server to know all secret keys. Real application use asymmetric encryption to
distribute keys.
How many times is the X used in challenge response? - The same X is never reused. Once.
Why use Mobile Code? - To pass objects from one machine to the other that has no local
implementation of the objects.
What is mobile code? - Mobile code refers to code that can be sent from one destination to another
and run at that destination.
Why is mobile code a big security threat? - Malicious mobile code can compromise the server or
client.
Under what conditions does Java allow mobile code? - If sandboxing is activated, otherwise, no
chance.
What is sandboxing? - A sandbox is a security mechanism for separating running programs. It is
often used to execute untested code, or untrusted programs from unverified third parties, suppliers,
untrusted users and untrusted websites.
In general, a sandbox is an isolated computing environment in which a program or file can be executed
without affecting the application in which it runs. Sandboxes are used by software developers to test new
programming code.
Sandboxing is based on what three components? - Class loaders
Byte-code verifier
Security manager
What is a distributed system? - A distributed system is a collection of independent computers that
appears to its users as a single coherent system
What are the motivations for distributed systems? - Because the world is distributed.
Because joining forces increases performance, availability.
Because problems rarely hits two different places at exactly the same time. As a company having only one
database server is a bad idea.
What is Middleware? - Middleware is the software that connects software components or
enterprise applications. Middleware is the software layer that lies between the operating system and the
applications on each side of a distributed computer network.
Typically, it supports complex, distributed business software applications.
Provides abstraction and hides complexity.
Name the goals of middleware. [TO REDS] - Transparency
- The ability to view a distributed system as if it were a single computer
- Varying dimensions of transparency incl. location, access, migration, etc.
- The degree of transparency is a key decision in any systems architecture
Openness
- The offering of services according to standard rules (syntax and semantics)
- Openness provides support for the key properties of portability and interoperability
- Again, the degree of openness is a key factor in systems design
Resource sharing
- The ability to access and share resources in a distributed environment
,- The bread and butter of distributed systems
Extensibility
- The ability to be able to introduce new or modified functionality
Dependability/ Quality of Service
- Security
- Providing secure and authenticated channels, access control, key management, etc.
- Fault-tolerance
- Providing highly available and resilient distributed applications and services
Scalability
- Scalable with respect to size, e.g. support massive growth in the
number of users of a service
- Scalable with respect to geography, e.g. supporting distributed systems that span continents (dealing
with latencies, etc)
- Scalable with respect to administration, e.g. supporting systems which span many diferent
administrative organisations
What are the three different ways to protect against security threats? - Sandboxing, encryption,
authentication
How can we ensure protection against malicious mobile code? - Sandboxing
How can we ensure secure communication? - Encryption
How can we ensure access control? - Authentication
What is symmetric key encryption? - When the same key is used to encrypt and decrypt data.
, What is DES? Name the two functions. - Data Encryption Standard. DES_encrypt and
DES_decrypt
What is challenge response protocol? - Where we can identify a user without exchanging the secret
key. It requires the server to know all secret keys. Real application use asymmetric encryption to
distribute keys.
How many times is the X used in challenge response? - The same X is never reused. Once.
Why use Mobile Code? - To pass objects from one machine to the other that has no local
implementation of the objects.
What is mobile code? - Mobile code refers to code that can be sent from one destination to another
and run at that destination.
Why is mobile code a big security threat? - Malicious mobile code can compromise the server or
client.
Under what conditions does Java allow mobile code? - If sandboxing is activated, otherwise, no
chance.
What is sandboxing? - A sandbox is a security mechanism for separating running programs. It is
often used to execute untested code, or untrusted programs from unverified third parties, suppliers,
untrusted users and untrusted websites.
In general, a sandbox is an isolated computing environment in which a program or file can be executed
without affecting the application in which it runs. Sandboxes are used by software developers to test new
programming code.
Sandboxing is based on what three components? - Class loaders
Byte-code verifier
Security manager