what is a distributed system
•A distributed system is a computing environment in which various components are spread across multiple computers (or other computing devices) on a network.
mention two characteristic of distributed systems
•It consists of several independent computers connected through communication network,
•The computers communicate with each other by exchanging message over a communication network.
•Each computer has its own memory, clock and runs its own operating system.
•Each computer has its own resources, called local resources
•Remote resources are accessed through the network
What is a process
•A process is often defined as a program in execution, that is, a program that is currently being executed on one of the operating system’s virtual processors.
Name the 7 layers of the OSI model
Application Layer, Presentation Layer, Session Layer, Transport Layer, Network Layer, Data Link Layer, Physical Layer
In active replication each ___ request is processed by all the ____
Explain one ways why we need distributed systems
scalability
reliability
Performance
Explain the two client server models
•Thin-client model:
•In this model, the load of data processing and transformation is put on the server side, and the client has a light implementation that is mostly concerned with retrieving and returning the data it is being asked for, with no considerable further processing.
•Fat-client model:
•In this model, the client component is also responsible for processing and transforming the data before returning it to the user, whereas the server features a relatively light implementation that is mostly concerned with the management of access to the data.
Explain the two types of threads
•User Level Threads − User managed threads. Supported above the kernel and managed without kernel support
•Kernel Level Threads − Operating System managed threads acting on kernel. Supported and managed directly by the operating system.
Explain the function of the Data Link Layer
•The data link layer establishes and terminates a connection between two physically-connected nodes on a network. It breaks up packets into frames and sends them from source to destination.
Mention and explain any 2 reasons for replication
High Availability, Fault Tolerance, Read Scalability, Reduced Redundancy
Explain 3 fails assumptions that everyone makes when developing distributed systems
•1. The network is reliable.
•2. The network is secure.
•3. The network is homogeneous.
•4. The topology does not change
•5. Latency is zero.
•6. Bandwidth is infinite.
•7. Transport cost is zero.
•8. There is one administrator.
Explain how the data-centered architecture works
•Data-centered architectures evolve around the idea that processes communicate through a common (passive or active) repository.
•Data Centered Architecture is a type of architecture in which a common data space is present at the centered.
•It contains all the required data in one place a shared data space.
•All the components are connected to this data space and they follow publish/subscribe type of communication.
Explain the difference between connection-oriented or connectionless network services
Reliable transport connections
What is ATM?
•Asynchronous transfer mode (ATM) is a switching technique used by telecommunication networks that uses asynchronous time-division multiplexing to encode data into small, fixed-sized cells.
•ATM is the core protocol used over the synchronous optical network (SONET) backbone of the integrated digital services network (ISDN).
Explain the difference between active vs passive replication
•Client requests can be broadcast to servers via an Atomic Broadcast for them to get the same input in the same sequence.
•Client requests are processed by just one server (named primary) in Passive Replication.
Explain the difference between interoperability and portability
•Interoperability characterizes the extent by which two implementations of systems or components from different manufacturers can co-exist and work together by merely
relying on each other’s services as specified by a common standard.
•Portability characterizes to what extent an application developed for a distributed system A can be executed, without modification, on a different distributed system B that implements the same interfaces as A.
Explain how the event based architecture works?
•In event-based architectures, processes essentially communicate through the propagation of events, which optionally also carry data
•For distributed systems, event propagation has generally been associated with what are known as publish/subscribe systems (Eugster et al., 2003).
•The main advantage of event-based systems is that processes are loosely coupled. In principle, they need not explicitly refer to each other.
•This is also referred to as being decoupled in space, or referentially decoupled
What is the function of the transport layer
•The transport layer turns the underlying network into something that an application developer can use.
Explain the functions of the 4 layer of the OSI model?
•The transport layer takes data transferred in the session layer and breaks it into “segments” on the transmitting end.
•It is responsible for reassembling the segments on the receiving end, turning it back into data that can be used by the session layer.
•The transport layer carries out flow control, sending data at a rate that matches the connection speed of the receiving device, and error control, checking if data was received incorrectly and if not, requesting it again.
explain two problems faced with scalability
•A centralized system is going to be limited by whatever the main source of control is capable of handling (Computational limitations, storage limitations and network limitations)
•If our system uses synchronous communication, then it’s likely that, at some point, the network itself could fail while one resource is blocking and awaiting a response from another.
Distributed systems generally fall into one of _____ different basic architecture models
Explain any 2
•Client-server - Clients contact the server for data, then format it and display it to the end-user. The end- user can also make a change from the client-side and commit it back to the server to make it permanent.
•Three-tier - Information about the client is stored in a middle tier rather than on the client to simplify application deployment. This architecture model is most common for web applications.
•N-tier - Generally used when an application or server needs to forward requests to additional enterprise services on the network.
•Peer-to-peer - There are no additional machines used to provide services or manage resources. Responsibilities are uniformly distributed among machines in the system, known as peers, which can serve as either client or server.
Explain the various cloud computing models
•Software as a service (SaaS):
•The customer uses the cloud provider’s applications and associated infrastructure.
•The applications can be accessed with a variety of devices via a thin client interface, Maintenance and administration of the outsourced infrastructure is handled by the cloud provider.
•Platform as a service(PaaS)
•A cloud-based environment is provided, the customer retains control over the applications provided and can configure customized user settings while the technical infrastructure for distributed computing is handled by the cloud provider.
•Infrastructure as a service (IaaS)
•The cloud provider supplies a technical infrastructure which users can access via public or private networks.
•The provided infrastructure may include the following components: servers, computing and networking resources, communication devices storage space, and systems for archiving and securing data.
Explain two benefits of using threads
•Responsiveness: Multithreading an interactive application may allow program to continue running even if part of it is blocked or is performing a lengthy operation, thereby increasing responsiveness to the user.
•Resource sharing: By default threads share the memory and the resources of the process to which they belong. This allows an application to have several different threads of activity within the same address space.
•Economy: Allocating memory and resources for process creation is costly. Because threads share resources of the process to which they belong, it is more economical to create and context switch
•Scalability: The benefits of multithreading can be greatly increased in a multiprocessor architecture, where threads may be running in parallel on different processors.A single-threaded process can only run on one CPU, no m atter how many are available. Multithreading on a multi-CPU machine increases concurrency.
Explain how multicast communication works?
•Multicast communication can be achieved using a broadcast mechanism.
•UDP is an example of a protocol that supports broadcast directly, but not multicast.
• In this case, transport layer ports can be used as a means of group message filtering by arranging that only the subset of processes that are members of the group listen on the particular port.
•The group membership action join group can be implemented locally by the process binding to the appropriate port and issuing a receive-from call.
1) A distributed system is broadly divided into two essential concepts, explain any two architectures from any category
software architecture (further divided into layered architecture, object-based architecture, data-centered architecture, and event-based architecture) and system architecture (further divided into client-server architecture and peer-to-peer architecture).