0% found this document useful (0 votes)
112 views13 pages

Distributed Systems Architecture Overview

Uploaded by

Prudhvi
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
112 views13 pages

Distributed Systems Architecture Overview

Uploaded by

Prudhvi
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd

AOS SET -1

1. Explain about Architecture of Distributed systems?


A distributed system is a network of independent computers that appear to the users as a single
cohesive system. The architecture of distributed systems refers to the structure or layout of the
various components of the system and how they interact to achieve a unified goal, often
without central control. It deals with issues like communication, coordination, synchronization,
fault tolerance, scalability, and data consistency.

Types of Distributed System Architectures

1. Client-Server Model:
o In the client-server architecture, one or more clients request services from a central
server. The server processes these requests and sends the response back to the clients.
o This is one of the most common architectures, where servers may store data, process
requests, or provide services, and clients interact with servers to use these services.

2 Peer-to-Peer (P2P) Model:

 In a P2P architecture, all nodes are equal, and there is no centralized control. Each node
can act as both a client and a server.
 This model is used in file-sharing systems like Bit Torrent or in decentralized block
chains like Bit coin.

3. Layered Architecture in Distributed Systems


Layered Architecture in distributed systems organizes the system into hierarchical layers, each with
specific functions and responsibilities. This design pattern helps manage complexity and promotes
separation of concerns. Here’s a detailed explanation:
 In a layered architecture, the system is divided into distinct layers, where each layer provides
specific services and interacts only with adjacent layers.
 This separation helps in managing and scaling the system more effectively.

4 Data-Centic Architecture in Distributed Systems


Data-Centric Architecture is an architectural style that focuses on the central management and utilization
of data. In this approach, data is treated as a critical asset, and the system is designed around data
management, storage, and retrieval processes rather than just the application logic or user interfaces.

.
6. Event-Based Architecture in Distributed Systems
Event-Driven Architecture (EDA) is an architectural pattern where the flow of data and control in a
system is driven by events. Components in an EDA system communicate by producing and consuming
events, which represent state changes or actions within the system.
7. Microservices Architecture for Distributed Systems
Microservices Architecture is a design pattern where an application is composed of small, independent
services that each perform a specific function. These services are loosely coupled and interact with each
other through lightweight communication protocols, often over HTTP or messaging queues.

2 Explain about Deadlock Handling Strategies in Distributed system?


Ans. Deadlock Handling Strategies:
There are three strategies for handling deadlocks
1. Deadlock prevention,
2 deadlock avoidance, and
3 deadlock detection.
Handling of deadlock becomes highly complicated in distributed systems because
no site has accurate knowledge of the current state of the system and because
every inter-site communication involves a finite and unpredictable delay.
1 Deadlock prevention: It is commonly achieved either by having a
process acquire all the needed resources simultaneously before it begins
executing or by
Preempting a process which holds the needed resource.
• A method that might work is to order the resources and require processes to
Acquire them in strictly increasing order. This approach means that a process can
Never hold a high resource and ask for a low one, thus making cycles impossible.
• With global timing and transactions in distributed systems, two other methods
are possible -- both based on the idea of assigning each transaction a global
timestamp at the moment it starts.
• When one process is about to block waiting for a resource that another process
is using, a check is made to see which has a larger timestamp.
• We can then allow the wait only if the waiting process has a lower timestamp.
• The timestamp is always increasing if we follow any chain of waiting processes,
so cycles are impossible --- we can used decreasing order if we like.
• It is wiser to give priority to old processes because
– they have run longer so the system have larger investment on these processes.
- they are likely to hold more resources.
– A young process that is killed off will eventually age until it is the oldest one in
the system, and that eliminates starvation. This approach is highly inefficient and
impractical in distributed systems.
2 Deadlock avoidance: In this approach to distributed systems, a resource
is granted to a process if the resulting global system state is safe (note that a
global state includes all the processes and resources of the distributed
system).However, due to several problems, deadlock avoidance is impractical in
Distributed systems.
3 Deadlock detection requires examination of the status of process-resource
Interactions for presence of cyclic wait.
Deadlock detection in distributed systems seems to be the best approach to
handle deadlocks in distributed systems.

3 Explain about Distributed Shared Memory (DSM)?


Distributed shared memory: DSM is a mechanism that manages memory across multiple
nodes and makes inter-process communications transparent to end-users. The applications will think that they
are running on shared memory. DSM is a mechanism of allowing user processes to access shared data without
using inter-process communications. In DSM every node has its own memory and provides memory read and
writes services and it provides consistency protocols. The distributed shared memory ( DSM) implements the
shared memory model in distributed systems but it doesn’t have physical shared memory. All the nodes share
the virtual address space provided by the shared memory model. The Data moves between the main memories
of different nodes.
Types of Distributed shared memory

On-Chip Memory:
 The data is present in the CPU portion of the chip.
 Memory is directly connected to address lines.
 On-Chip Memory DSM is expensive and complex.
Bus-Based Multiprocessors:
 A set of parallel wires called a bus acts as a connection between CPU and memory.
 Accessing of same memory simultaneously by multiple CPUs is prevented by using some algorithms.
 Cache memory is used to reduce network traffic.
Ring-Based Multiprocessors:
 There is no global centralized memory present in Ring-based DSM.
 All nodes are connected via a token passing ring.
 In ring-bases DSM a single address line is divided into the shared area.
Advantages of Distributed shared memory
 Simpler abstraction: Programmer need not concern about data movement, as the address space is the same
it is easier to implement than RPC.
 Easier portability: The access protocols used in DSM allow for a natural transition from sequential to
distributed systems. DSM programs are portable as they use a common programming interface.
 Locality of data: Data moved in large blocks i.e. data near to the current memory location that is being
fetched, may be needed future so it will be also fetched.
 On-demand data movement: It provided by DSM will eliminate the data exchange phase.
 Larger memory space: It provides large virtual memory space, the total memory size is the sum of the
memory size of all the nodes, paging activities are reduced.
 Better Performance: DSM improve performance and efficiency by speeding up access to data.
.
Disadvantages of Distributed shared memory
 Accessibility: The data access is slow in DSM as compare to non-distributed.
 Consistency: When programming is done in DSM systems, programmers need to maintain consistency.
 Message passing: DSM use asynchronous message passing and is not efficient as per other message
passing implementation.
 Data redundancy: DSM allows simulataneous access to data, consistency and data redundancy is common
disdvantage.
 Lower Performance: CPU gets slowed down, even cache memory does not aid the situation.

OOS SET – 1
1 What is software engineering and evolution of software engineering
methodologies ?
Software Engineering is the process of designing, developing, testing, and maintaining software. It is a
systematic and disciplined approach to software development that aims to create high-quality, reliable, and
maintainable software.

[Link] engineering includes a variety of techniques, tools, and methodologies, including requirements
analysis, design, testing, and maintenance.

[Link] is a rapidly evolving field, and new tools and technologies are constantly being developed to improve the
software development process

[Link] following the principles of software engineering and using the appropriate tools and methodologies,
software developers can create high-quality, reliable, and maintainable software that meets the needs of its
users.

[Link] Engineering is mainly used for large projects based on software systems rather than single programs
or applications.

Software Evolution
 The process of developing a software product using software engineering principles and methods is
referred to as software evolution. This includes the initial development of software and its maintenance
and updates, till desired software product is developed, which satisfies the expected requirements.

 Evolution starts from the requirement gathering process. After which developers create a prototype of
the intended software and show it to the users to get their feedback at the early stage of software
product development. Even after the user has desired software in hand, the advancing technology and the
changing requirements force the software product to change accordingly. Re-creating software from
scratch and to go one-on-one with requirement is not feasible. The only feasible and economical solution
is to update the existing software so that it matches the latest requirements.

Software Evolution Laws


Lehman has given laws for software evolution. He divided the software into three different categories:

 S-type (static-type) - This is a software, which works strictly according to defined specifications and
solutions. The solution and the method to achieve it, both are immediately understood before coding. The
s-type software is least subjected to changes hence this is the simplest of all. For example, calculator
program for mathematical computation.
 P-type (practical-type) - This is a software with a collection of procedures. This is defined by exactly what
procedures can do. In this software, the specifications can be described but the solution is not obvious
instantly. For example, gaming software.
 E-type (embedded-type) - This software works closely as the requirement of real-world environment. This
software has a high degree of evolution as there are various changes in laws, taxes etc. in the real world
situations. For example, Online trading software.
2 Explain about Generic Components of OOA Model?

Generic Components of OOA model:


1. Classes and Objects
o Classes: Define blueprints for creating objects. Each class encapsulates data
(attributes) and behavior (methods).
o Objects: Instances of classes that represent specific entities in the problem
domain.
2. Attributes
o Properties or characteristics of classes that define their state.
o Example: A Car class may have attributes like color, make, and model.
3. Methods
o Functions associated with classes that describe their behavior.
o Example: Methods in a Car class might include start(), stop(), and
accelerate().
4. Relationships
o Associations: Describe how classes are connected, such as one-to-many or many-
to-many relationships.
o Inheritance: Defines a hierarchy where subclasses inherit attributes and methods
from super classes.
o Aggregation and Composition: Represents whole-part relationships, where
aggregation allows parts to exist independently and composition ties the lifecycle
of parts to the whole.
5. Use Cases
o Capture functional requirements by describing interactions between users (actors)
and the system.
o Each use case includes a scenario outlining the steps taken by actors to achieve a
goal.
6. State and Behavior
o State: Current values of an object's attributes.
o Behavior: Actions that can be performed by or on objects, typically represented
by methods.
7. Interfaces
o Define contracts that classes must implement, specifying a set of methods without
detailing how they are implemented.
8. Design Patterns
o Common solutions to recurring design problems that can enhance the structure
and maintainability of the software.

3 What is Design and Design for Object Oriented systems?

Design: Design refers to the process of defining the architecture, components, interfaces, and data
for a software system, with the aim of satisfying specified requirements. It is a crucial phase in the
software development lifecycle that occurs after the requirements gathering phase and before the
implementation (coding) phase

Design for Object- Oriented systems: Designing object-oriented systems in software


engineering involves several key principles and practices that help create robust, maintainable, and scalable
software. Here’s an overview of the main concepts and steps involved in designing such systems

Design Principles

1. Single Responsibility Principle (SRP):


o A class should have only one reason to change, meaning it should only have one job or
responsibility.

2. Open/Closed Principle (OCP):


o Software entities should be open for extension but closed for modification. This allows for new
functionality without altering existing code.

3. Liskov Substitution Principle (LSP):


o Objects of a superclass should be replaceable with objects of a subclass without affecting the
correctness of the program.

4. Interface Segregation Principle (ISP):


o Clients should not be forced to depend on interfaces they do not use. This promotes smaller,
more specific interfaces.

5. Dependency Inversion Principle (DIP):


o High-level modules should not depend on low-level modules. Both should depend on
abstractions (interfaces).

Design Process

1. Requirement Analysis:
o Gather and analyze the requirements of the system. Understand the functionality and
constraints.

2. Identifying Classes and Objects:

 Determine the key entities in the system and their responsibilities. Use techniques like CRC  (Class-
Responsibility-Collaboration) cards.
 Defining Relationships:

 Establish how classes interact. Consider using UML diagrams to visualize relationships like inheritance,
association, and aggregation.

 Creating UML Diagrams:

 Use Unified Modeling Language (UML) diagrams (class diagrams, sequence diagrams) to model the
system’s structure and behavior.

 Design Patterns:

 Consider applying design patterns (like Singleton, Observer, Factory, etc.) to solve common design
problems and promote best practices.

 Prototyping:

 Create prototypes or proof-of-concept implementations to validate design decisions and refine the
system based on feedback.

 Iteration and Refinement:

Continuously refine the design through iterations based on testing, feedback, and changing requirements

Research Methodology set – 1


1a. write briefly about criteria of good research problem?
Research Problem: The research problem is a specific and clear statement that identifies the gap or issue
in existing knowledge, prompting the need for further investigation. It forms the foundation of a
research study and guides the researcher in defining the scope, objectives, and methodology of the
research.

Criteria characteristics of a good research problem

A good research problem is the foundation of a successful research study. Here are criteria and
characteristics that define a good research problem:

1. *Relevance:* - The research problem should address a significant issue or gap in existing knowledge.
It should contribute to the field's understanding and have practical implications.

2. *Clarity and Precision:* - The problem statement should be clear, specific, and well-defined.
Ambiguity or vagueness should be avoided to ensure a focused and manageable research scope.
3. *Feasibility:* - The problem should be realistic and feasible in terms of available resources, time, and
ethical considerations. Researchers should be able to address the problem within the constraints of their
project

. 4. *Novelty and Originality:* - A good research problem introduces new insights, perspectives, or
approaches. It should demonstrate originality and contribute to the advancement of knowledge in the
field.

5.*Researchability:* - The problem should be researchable, meaning that it can be investigated


using appropriate research methods. It should be framed in a way that allows for empirical
investigation and data collection.

6. *Testability and Verifiability:* - The research problem should be formulated in a way that allows
for testing and verification. It should be possible to evaluate the hypotheses or research questions
using empirical evidence.

1b what are the errors in selecting a research problem?


Errors in selecting a research problem: Selecting a research problem is a critical step that can
significantly impact the success of a study. Here are common errors to avoid in this process:

1. *Lack of Significance:* - *Error:* Choosing a research problem that lacks importance or relevance to
the field. –

*Impact:* The study may not contribute meaningfully to existing knowledge or address practical issues.

2. *Overly Ambitious Goals:* - *Error:* Selecting a research problem with goals that are overly
ambitious or beyond the scope of the available resources and time. –

*Impact:* The study may face challenges in achieving its objectives, leading to incomplete or
inconclusive results.

3. *Insufficient Literature Review:* - *Error:* Failing to conduct a comprehensive literature review


before selecting a research problem. –

*Impact:* Missing the opportunity to identify gaps, debates, or areas needing further exploration in the
existing literature

. 4. *Inadequate Familiarity:* - *Error:* Choosing a research problem in an area where the researcher
lacks sufficient familiarity or expertise. –

*Impact:* The researcher may struggle to understand the nuances of the problem, potentially leading to
flawed study design or interpretation

. 5. *Overlooking Ethical Considerations:* - *Error:* Not considering ethical implications when selecting
a research problem. –
*Impact:* Ethical issues may arise during the study, affecting participant welfare or the overall integrity
of the research.

2a. write briefly about Effective technical writing?


Effective technical writing is crucial for communicating complex information clearly and concisely.
Whether you're writing technical documentation, reports, manuals, or any other form of technical
content, the following guidelines can help enhance the effectiveness of your writing:

1. Know Your Audience: Understand the background, knowledge, and needs of your target audience.
Tailor your writing style and level of technical detail accordingly.

2. Clear and Concise Language: Use plain and straightforward language. Avoid unnecessary jargon and
acronyms. Clearly express your ideas without ambiguity.

3. Organize Information Logically: Structure your document logically with a clear introduction, body,
and conclusion.

4. Use Visuals Effectively: Incorporate charts, graphs, tables, and illustrations to complement your text.
Ensure visuals are labeled, clear, and directly related to the content.

 5. Define Technical Terms: Provide clear definitions for technical terms or specialized terminology.
Consider including a glossary if necessary.

2b. Describe analysis of Plagrasim?


Plagiarism is the act of using someone else's work, ideas, or intellectual property without proper
attribution. Here's an analysis of plagiarism:

1. *Types of Plagiarism:* - *Copy-Paste Plagiarism:* directly copying and pasting text from a source
without proper citation. –

*Paraphrasing Plagiarism:* Rewriting someone else's work without giving credit. –

*Self-Plagiarism:* Using one's own previous work without proper citation. –

*Patchwriting:* Combining copied text with a few original words without proper citation.

2. *Consequences:* -

*Academic Consequences:* Can lead to academic penalties, ranging from failing an assignment to
expulsion. –

*Professional Repercussions:* In the professional world, plagiarism can damage one's reputation and
career. –
*Legal Consequences:* In some cases, plagiarism may lead to legal action, especially if copyright
infringement is involved.

3. *Detection Tools:* -

Various plagiarism detection tools, like Turn tin, Copy cape, and Grammar, are commonly used to
identify potential instances of plagiarism. - These tools compare the submitted work against a vast
database of academic and online content.

4. *Prevention Measures:* - *Citation Styles:* properly cite all sources using the required citation style
(APA, MLA, Chicago, etc.). –

*Understanding Plagiarism:* Educate individuals about what constitutes plagiarism and its
consequences. –

*Time Management:* Encourage effective time management to reduce the temptation to plagiarize due
to tight deadlines.

3. Write about the various steps in acquisition of trademarks and copy right?
Trademarks (Trade):

Nature: Trademarks are symbols, names, phrases, logos, or any distinctive elements that identify and
distinguish goods or services from those of others.

Scope: Aims to prevent consumer confusion and protect brand identity.

Duration: Trademarks can be renewed indefinitely, provided they are actively used and maintained.
Requirements: Trademarks must be distinctive, not generic, and used in commerce to acquire
protection.

Copyright:

Nature: Copyright protects original works of authorship, giving creators exclusive rights to reproduce,
distribute, display, and perform their works.

Scope: Encompasses literary, artistic, musical, and other creative works

Duration: Copyright protection lasts for the life of the author plus a certain number of years (e.g., 70
years).

Requirements: Works are automatically protected upon creation; no formal registration is necessary

You might also like