SlideShare ist ein Scribd-Unternehmen logo
1 von 13
Architectural Patterns
[PART 1]
Introduction
Architecture is the system design at the highest
level. All Architectural decisions are made at this
level. For Example decisions about technology to use,
product(s) to use, interfaces, number of modules,
behavior, relationships and interactions of the
modules, scalability and performance.

Changing the architectural decisions will have
significant ripple effects.
Architectural patterns can be an useful aid to
find most suitable architecture for the system.
Architectural Patterns
Architectural Patterns • Patterns provide a set of predefined
subsystems, specify their responsibilities and
relationships between them.
• Patterns are reusable and bring well defined
constraints
• Pattern alone or combined can provide
solution for creating architecture for a system
Architectural Patterns
Following common patterns will be described in the
subsequent slides.
• Pipe and Filter
• Layers
• Shared-data
• Client-Server
• Publish-subscribe
• Peer-to-peer
• Call and return
• Black Board
Pipe and Filter
This pattern can be used to divide system’s task to
different steps. These steps are connected by
dataflow within the system. Output data of one step
can be input data of another step. Each processing
step is implemented by a filter component. Each pipe
implements the data flow between adjacent
processing steps. Filters can be Asynchronous.
Example –
Input

Noise
Detection
(Filter)

Pipe

Noise
Verification
(Filter)

Pipe

Noise
Rectification
(Filter)

output
Layers
This pattern can be used for a system that requires
decomposition. System can be decomposed to various
hierarchical level of abstraction. Several operations are on the
same level of abstraction but are largely independent of each
other. Layers communicate between each other using APIs. Each
layer acts as a service provider to above layer.

Example – OSI 7-Layer Model
Each layer is independent of other.
Each lower layer acts as a service
provider to above layer.

Application
Presentation

Session
Transport
Network
Datalink

Physical
Shared Data
This pattern can be used for sharing data between components of a
system.
Components are define by two types – Data repositories and Data
accessors.
• Data repositories are permanent storage devices e.g. databases,
files where system stores data. They also take care of
synchronization issues due to concurrent access and provide access
support to data.
• Data accessor components can read and write modified data to it.
Shared data resource can be active agent or passive agent.
Active Agent – any modification to data is informed to all components
Passive Agent – components need to read the data (modified)
whenever they require.
Example – Database oriented systems
Client Server
This pattern can be used for communication between two
components Client and Server.
Client - It can only communicate with server and not with other
clients. it can only request to Server and receives reply.
Communication is initiated by a client which sends request and
server responds
Server – It receives the service request from client at a define
port, performs computation and returns the result back to Client
who requested for the service
Connector type is – request/reply, which is asymmetric
Often the client and the server reside on different machines
Example – Distributed systems
Peer to Peer
• Peers acts as either clients or servers.
• State and behavior are distributed among peers.
• Peers are independent components, having their own state
and control thread.
• They communicate among themselves using Network
protocols (protocol messages)
• Supports decentralized computing with flow of control and
resources distributed among peers.
• Components use services from each other through methods
• Highly robust in the face of failure of any given node.
• Scalable in terms of access to resources and computing
power.
Publish-Subscribe
This pattern can be used in systems where an only send messages to the applications that are
interested in receiving the messages without knowing the identities of the receivers.
The are three variation of the Publish-Subscribe pattern
• List-Based Publish/Subscribe Publish component will maintain a list of subscribers for a subject. When events occur for that subject,
each subscriber on the subscription list is notified.
All interested Subscribe components will register with Publish component for the subject
• Broadcast-Based Publish/Subscribe When an event occurs, Publisher creates a message and broadcasts it to the local area network (LAN).
All Subscriber matches the subject line to a subject that it subscribes to. If the subject does not match, it
ignores the message.
To identify subscribers topic, Publisher sends a broadcast message that asks Subscribers to reply if they
subscribe to a particular topic. Responses are then returned by Subscribers to the Publisher to identify
the Subscribers.
It is an effective method for decoupling producers from consumers.
• Content-Based Publish/Subscribe –
In this case subscriptions are related to specific information content.
Messages are intelligently routed to their final destination based on the content of the message. This
approach overcomes the limitation of a broadcast-based system, where distribution is coupled to a
multicast tree that is based on Transmission Control Protocol (TCP).
Call and Return
• Consumer components invoke functionality in Provider
components.
• Consumer components waits until an invoked service
completes and returns results before continuing
• components depend on invoked functionality to get their own
work done
• The correctness of each component may depend on the
correctness of the functionality it invokes
• Inter-process calls or Remote procedure calls in a distributed
set of processes or a network of computers
.
Blackboard
This pattern is useful for problems for which no deterministic solution
strategies are known.
Several specialized subsystems assemble their knowledge to build a possibly
partial or approximate solution.
System is divided into 1. Blackboard, 2. A collection of knowledge sources, 3.
Control Component
Blackboard - It is the central data store for solution space and control data. It
provides interface that enables all knowledge sources to read from and write
to it
Knowledge Sources - They are separate, independent subsystems that solve
specific aspects of the overall problem. A solution can only be built by
integrating the results of several knowledge sources
Control Components : It runs a loop to monitor the changes on the
blackboard. It will pick a knowledge source and decide what action to take
next according to a knowledge application strategy
Example - HEARSAY-I1 speech recognition system
Thank You

Your suggestions and comments are always welcome.
Please send me your feedback at
a_s_sinha@yahoo.com

Weitere ähnliche Inhalte

Was ist angesagt?

INTRODUCTION TO UML DIAGRAMS
INTRODUCTION TO UML DIAGRAMSINTRODUCTION TO UML DIAGRAMS
INTRODUCTION TO UML DIAGRAMS
Ashita Agrawal
 
Architectural styles and patterns
Architectural styles and patternsArchitectural styles and patterns
Architectural styles and patterns
Himanshu
 

Was ist angesagt? (20)

Ooad
OoadOoad
Ooad
 
Unified process Model
Unified process ModelUnified process Model
Unified process Model
 
INTRODUCTION TO UML DIAGRAMS
INTRODUCTION TO UML DIAGRAMSINTRODUCTION TO UML DIAGRAMS
INTRODUCTION TO UML DIAGRAMS
 
REQUIREMENT ENGINEERING
REQUIREMENT ENGINEERINGREQUIREMENT ENGINEERING
REQUIREMENT ENGINEERING
 
Software requirement engineering
Software requirement engineeringSoftware requirement engineering
Software requirement engineering
 
Unit 4
Unit 4Unit 4
Unit 4
 
Software Architecture and Design Introduction
Software Architecture and Design IntroductionSoftware Architecture and Design Introduction
Software Architecture and Design Introduction
 
Software design
Software designSoftware design
Software design
 
Uml class-diagram
Uml class-diagramUml class-diagram
Uml class-diagram
 
Domain Modeling
Domain ModelingDomain Modeling
Domain Modeling
 
Distributed Operating System_4
Distributed Operating System_4Distributed Operating System_4
Distributed Operating System_4
 
object oriented methodologies
object oriented methodologiesobject oriented methodologies
object oriented methodologies
 
Architecture design in software engineering
Architecture design in software engineeringArchitecture design in software engineering
Architecture design in software engineering
 
Architectural styles and patterns
Architectural styles and patternsArchitectural styles and patterns
Architectural styles and patterns
 
CS8592-OOAD Lecture Notes Unit-2
CS8592-OOAD Lecture Notes Unit-2CS8592-OOAD Lecture Notes Unit-2
CS8592-OOAD Lecture Notes Unit-2
 
Collaboration diagram- UML diagram
Collaboration diagram- UML diagram Collaboration diagram- UML diagram
Collaboration diagram- UML diagram
 
The CAP Theorem
The CAP Theorem The CAP Theorem
The CAP Theorem
 
UML
UMLUML
UML
 
Software requirements
Software requirementsSoftware requirements
Software requirements
 
Transport layer protocol
Transport layer protocolTransport layer protocol
Transport layer protocol
 

Andere mochten auch

Software archiecture lecture09
Software archiecture   lecture09Software archiecture   lecture09
Software archiecture lecture09
Luktalja
 
Software archiecture lecture06
Software archiecture   lecture06Software archiecture   lecture06
Software archiecture lecture06
Luktalja
 

Andere mochten auch (20)

Architectural Engineering - Brief Introduction and Case Studies
Architectural Engineering - Brief Introduction and Case StudiesArchitectural Engineering - Brief Introduction and Case Studies
Architectural Engineering - Brief Introduction and Case Studies
 
Software Patterns
Software PatternsSoftware Patterns
Software Patterns
 
Architectural Patterns and Software Architectures: Client-Server, Multi-Tier,...
Architectural Patterns and Software Architectures: Client-Server, Multi-Tier,...Architectural Patterns and Software Architectures: Client-Server, Multi-Tier,...
Architectural Patterns and Software Architectures: Client-Server, Multi-Tier,...
 
PAC
PACPAC
PAC
 
Innovative Tensile Pvt Ltd
Innovative Tensile Pvt Ltd Innovative Tensile Pvt Ltd
Innovative Tensile Pvt Ltd
 
Architectural Design 1 Lectures by Dr. Yasser Mahgoub - Lectures by Dr. Yasse...
Architectural Design 1 Lectures by Dr. Yasser Mahgoub - Lectures by Dr. Yasse...Architectural Design 1 Lectures by Dr. Yasser Mahgoub - Lectures by Dr. Yasse...
Architectural Design 1 Lectures by Dr. Yasser Mahgoub - Lectures by Dr. Yasse...
 
PAC Learning
PAC LearningPAC Learning
PAC Learning
 
Software archiecture lecture09
Software archiecture   lecture09Software archiecture   lecture09
Software archiecture lecture09
 
Pictorious 2017 Update
Pictorious 2017 UpdatePictorious 2017 Update
Pictorious 2017 Update
 
Software Architecture: Principles, Patterns and Practices
Software Architecture: Principles, Patterns and PracticesSoftware Architecture: Principles, Patterns and Practices
Software Architecture: Principles, Patterns and Practices
 
Software archiecture lecture06
Software archiecture   lecture06Software archiecture   lecture06
Software archiecture lecture06
 
Introduction to SOFTWARE ARCHITECTURE
Introduction to SOFTWARE ARCHITECTUREIntroduction to SOFTWARE ARCHITECTURE
Introduction to SOFTWARE ARCHITECTURE
 
Lecture IMTelkom MM-Biztel: Architectural Innovation
Lecture IMTelkom MM-Biztel: Architectural  InnovationLecture IMTelkom MM-Biztel: Architectural  Innovation
Lecture IMTelkom MM-Biztel: Architectural Innovation
 
I mindsx4howest v2
I mindsx4howest v2I mindsx4howest v2
I mindsx4howest v2
 
Layered architecture style
Layered architecture styleLayered architecture style
Layered architecture style
 
Greg Young on Architectural Innovation: Eventing, Event Sourcing
Greg Young on Architectural Innovation: Eventing, Event SourcingGreg Young on Architectural Innovation: Eventing, Event Sourcing
Greg Young on Architectural Innovation: Eventing, Event Sourcing
 
[2015/2016] Introduction to software architecture
[2015/2016] Introduction to software architecture[2015/2016] Introduction to software architecture
[2015/2016] Introduction to software architecture
 
Laudon Ch13
Laudon Ch13Laudon Ch13
Laudon Ch13
 
Oracle ADF Architecture TV - Design - ADF Architectural Patterns
Oracle ADF Architecture TV - Design - ADF Architectural PatternsOracle ADF Architecture TV - Design - ADF Architectural Patterns
Oracle ADF Architecture TV - Design - ADF Architectural Patterns
 
Sa 008 patterns
Sa 008 patternsSa 008 patterns
Sa 008 patterns
 

Ähnlich wie Architectural patterns part 1

Ähnlich wie Architectural patterns part 1 (20)

architectural design
 architectural design architectural design
architectural design
 
Software architecture unit 4
Software architecture unit 4Software architecture unit 4
Software architecture unit 4
 
Architecture Design in Software Engineering
Architecture Design in Software EngineeringArchitecture Design in Software Engineering
Architecture Design in Software Engineering
 
Client Server Model and Distributed Computing
Client Server Model and Distributed ComputingClient Server Model and Distributed Computing
Client Server Model and Distributed Computing
 
Data Flow Architecture_UNIT_2.pptx
Data Flow Architecture_UNIT_2.pptxData Flow Architecture_UNIT_2.pptx
Data Flow Architecture_UNIT_2.pptx
 
Architec design introduction
Architec design introductionArchitec design introduction
Architec design introduction
 
WINSEM2022-23_SWE2004_ETH_VL2022230501954_2023-02-01_Reference-Material-I.pptx
WINSEM2022-23_SWE2004_ETH_VL2022230501954_2023-02-01_Reference-Material-I.pptxWINSEM2022-23_SWE2004_ETH_VL2022230501954_2023-02-01_Reference-Material-I.pptx
WINSEM2022-23_SWE2004_ETH_VL2022230501954_2023-02-01_Reference-Material-I.pptx
 
Computer networks unit i
Computer networks    unit iComputer networks    unit i
Computer networks unit i
 
Shared information systems
Shared information systemsShared information systems
Shared information systems
 
Lect 1 Distributed System.pptx
Lect 1 Distributed System.pptxLect 1 Distributed System.pptx
Lect 1 Distributed System.pptx
 
Chapter 1
Chapter 1Chapter 1
Chapter 1
 
DSchap-02.ppt
DSchap-02.pptDSchap-02.ppt
DSchap-02.ppt
 
distributed system chapter one introduction to distribued system.pdf
distributed system chapter one introduction to distribued system.pdfdistributed system chapter one introduction to distribued system.pdf
distributed system chapter one introduction to distribued system.pdf
 
Lecture 9.pptx
Lecture 9.pptxLecture 9.pptx
Lecture 9.pptx
 
unit1 network model osi and tcpip.pptx
unit1  network model osi and tcpip.pptxunit1  network model osi and tcpip.pptx
unit1 network model osi and tcpip.pptx
 
Distributed Operating System.pptx
Distributed Operating System.pptxDistributed Operating System.pptx
Distributed Operating System.pptx
 
Seii unit7 component-level-design
Seii unit7 component-level-designSeii unit7 component-level-design
Seii unit7 component-level-design
 
architeral design.pptx
architeral design.pptxarchiteral design.pptx
architeral design.pptx
 
Basics of Ethernet
Basics of Ethernet Basics of Ethernet
Basics of Ethernet
 
distributed system original.pdf
distributed system original.pdfdistributed system original.pdf
distributed system original.pdf
 

Mehr von assinha

Mehr von assinha (10)

Nwe Embodiment (Naba Kalebara) of Lord Jagannath of PURI - The Greatest and B...
Nwe Embodiment (Naba Kalebara) of Lord Jagannath of PURI - The Greatest and B...Nwe Embodiment (Naba Kalebara) of Lord Jagannath of PURI - The Greatest and B...
Nwe Embodiment (Naba Kalebara) of Lord Jagannath of PURI - The Greatest and B...
 
SNMP AT a GLANCE
SNMP AT a GLANCESNMP AT a GLANCE
SNMP AT a GLANCE
 
Layer3protocols
Layer3protocolsLayer3protocols
Layer3protocols
 
Umts explained
Umts explainedUmts explained
Umts explained
 
Architectural patterns part 4
Architectural patterns part 4Architectural patterns part 4
Architectural patterns part 4
 
Architectural patterns part 3
Architectural patterns part 3Architectural patterns part 3
Architectural patterns part 3
 
Architectural Patterns - Interactive and Event Handling Patterns
Architectural Patterns  - Interactive and Event Handling PatternsArchitectural Patterns  - Interactive and Event Handling Patterns
Architectural Patterns - Interactive and Event Handling Patterns
 
Data Structures used in Linux kernel
Data Structures used in Linux kernel Data Structures used in Linux kernel
Data Structures used in Linux kernel
 
E nodeb handover procedure
E nodeb handover procedureE nodeb handover procedure
E nodeb handover procedure
 
Initial LTE call Setup Flow
Initial LTE call Setup FlowInitial LTE call Setup Flow
Initial LTE call Setup Flow
 

Kürzlich hochgeladen

Activity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfActivity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdf
ciinovamais
 
1029-Danh muc Sach Giao Khoa khoi 6.pdf
1029-Danh muc Sach Giao Khoa khoi  6.pdf1029-Danh muc Sach Giao Khoa khoi  6.pdf
1029-Danh muc Sach Giao Khoa khoi 6.pdf
QucHHunhnh
 
Gardella_Mateo_IntellectualProperty.pdf.
Gardella_Mateo_IntellectualProperty.pdf.Gardella_Mateo_IntellectualProperty.pdf.
Gardella_Mateo_IntellectualProperty.pdf.
MateoGardella
 
The basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptxThe basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptx
heathfieldcps1
 
Beyond the EU: DORA and NIS 2 Directive's Global Impact
Beyond the EU: DORA and NIS 2 Directive's Global ImpactBeyond the EU: DORA and NIS 2 Directive's Global Impact
Beyond the EU: DORA and NIS 2 Directive's Global Impact
PECB
 

Kürzlich hochgeladen (20)

This PowerPoint helps students to consider the concept of infinity.
This PowerPoint helps students to consider the concept of infinity.This PowerPoint helps students to consider the concept of infinity.
This PowerPoint helps students to consider the concept of infinity.
 
Nutritional Needs Presentation - HLTH 104
Nutritional Needs Presentation - HLTH 104Nutritional Needs Presentation - HLTH 104
Nutritional Needs Presentation - HLTH 104
 
ICT Role in 21st Century Education & its Challenges.pptx
ICT Role in 21st Century Education & its Challenges.pptxICT Role in 21st Century Education & its Challenges.pptx
ICT Role in 21st Century Education & its Challenges.pptx
 
Activity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfActivity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdf
 
1029-Danh muc Sach Giao Khoa khoi 6.pdf
1029-Danh muc Sach Giao Khoa khoi  6.pdf1029-Danh muc Sach Giao Khoa khoi  6.pdf
1029-Danh muc Sach Giao Khoa khoi 6.pdf
 
Gardella_Mateo_IntellectualProperty.pdf.
Gardella_Mateo_IntellectualProperty.pdf.Gardella_Mateo_IntellectualProperty.pdf.
Gardella_Mateo_IntellectualProperty.pdf.
 
Mattingly "AI & Prompt Design: The Basics of Prompt Design"
Mattingly "AI & Prompt Design: The Basics of Prompt Design"Mattingly "AI & Prompt Design: The Basics of Prompt Design"
Mattingly "AI & Prompt Design: The Basics of Prompt Design"
 
Mattingly "AI & Prompt Design: Structured Data, Assistants, & RAG"
Mattingly "AI & Prompt Design: Structured Data, Assistants, & RAG"Mattingly "AI & Prompt Design: Structured Data, Assistants, & RAG"
Mattingly "AI & Prompt Design: Structured Data, Assistants, & RAG"
 
Ecological Succession. ( ECOSYSTEM, B. Pharmacy, 1st Year, Sem-II, Environmen...
Ecological Succession. ( ECOSYSTEM, B. Pharmacy, 1st Year, Sem-II, Environmen...Ecological Succession. ( ECOSYSTEM, B. Pharmacy, 1st Year, Sem-II, Environmen...
Ecological Succession. ( ECOSYSTEM, B. Pharmacy, 1st Year, Sem-II, Environmen...
 
The basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptxThe basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptx
 
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
 
Grant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy ConsultingGrant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy Consulting
 
Beyond the EU: DORA and NIS 2 Directive's Global Impact
Beyond the EU: DORA and NIS 2 Directive's Global ImpactBeyond the EU: DORA and NIS 2 Directive's Global Impact
Beyond the EU: DORA and NIS 2 Directive's Global Impact
 
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptxSOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
 
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
 
Measures of Dispersion and Variability: Range, QD, AD and SD
Measures of Dispersion and Variability: Range, QD, AD and SDMeasures of Dispersion and Variability: Range, QD, AD and SD
Measures of Dispersion and Variability: Range, QD, AD and SD
 
microwave assisted reaction. General introduction
microwave assisted reaction. General introductionmicrowave assisted reaction. General introduction
microwave assisted reaction. General introduction
 
Z Score,T Score, Percential Rank and Box Plot Graph
Z Score,T Score, Percential Rank and Box Plot GraphZ Score,T Score, Percential Rank and Box Plot Graph
Z Score,T Score, Percential Rank and Box Plot Graph
 
Holdier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdfHoldier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdf
 
Advance Mobile Application Development class 07
Advance Mobile Application Development class 07Advance Mobile Application Development class 07
Advance Mobile Application Development class 07
 

Architectural patterns part 1

  • 2. Introduction Architecture is the system design at the highest level. All Architectural decisions are made at this level. For Example decisions about technology to use, product(s) to use, interfaces, number of modules, behavior, relationships and interactions of the modules, scalability and performance. Changing the architectural decisions will have significant ripple effects. Architectural patterns can be an useful aid to find most suitable architecture for the system.
  • 3. Architectural Patterns Architectural Patterns • Patterns provide a set of predefined subsystems, specify their responsibilities and relationships between them. • Patterns are reusable and bring well defined constraints • Pattern alone or combined can provide solution for creating architecture for a system
  • 4. Architectural Patterns Following common patterns will be described in the subsequent slides. • Pipe and Filter • Layers • Shared-data • Client-Server • Publish-subscribe • Peer-to-peer • Call and return • Black Board
  • 5. Pipe and Filter This pattern can be used to divide system’s task to different steps. These steps are connected by dataflow within the system. Output data of one step can be input data of another step. Each processing step is implemented by a filter component. Each pipe implements the data flow between adjacent processing steps. Filters can be Asynchronous. Example – Input Noise Detection (Filter) Pipe Noise Verification (Filter) Pipe Noise Rectification (Filter) output
  • 6. Layers This pattern can be used for a system that requires decomposition. System can be decomposed to various hierarchical level of abstraction. Several operations are on the same level of abstraction but are largely independent of each other. Layers communicate between each other using APIs. Each layer acts as a service provider to above layer. Example – OSI 7-Layer Model Each layer is independent of other. Each lower layer acts as a service provider to above layer. Application Presentation Session Transport Network Datalink Physical
  • 7. Shared Data This pattern can be used for sharing data between components of a system. Components are define by two types – Data repositories and Data accessors. • Data repositories are permanent storage devices e.g. databases, files where system stores data. They also take care of synchronization issues due to concurrent access and provide access support to data. • Data accessor components can read and write modified data to it. Shared data resource can be active agent or passive agent. Active Agent – any modification to data is informed to all components Passive Agent – components need to read the data (modified) whenever they require. Example – Database oriented systems
  • 8. Client Server This pattern can be used for communication between two components Client and Server. Client - It can only communicate with server and not with other clients. it can only request to Server and receives reply. Communication is initiated by a client which sends request and server responds Server – It receives the service request from client at a define port, performs computation and returns the result back to Client who requested for the service Connector type is – request/reply, which is asymmetric Often the client and the server reside on different machines Example – Distributed systems
  • 9. Peer to Peer • Peers acts as either clients or servers. • State and behavior are distributed among peers. • Peers are independent components, having their own state and control thread. • They communicate among themselves using Network protocols (protocol messages) • Supports decentralized computing with flow of control and resources distributed among peers. • Components use services from each other through methods • Highly robust in the face of failure of any given node. • Scalable in terms of access to resources and computing power.
  • 10. Publish-Subscribe This pattern can be used in systems where an only send messages to the applications that are interested in receiving the messages without knowing the identities of the receivers. The are three variation of the Publish-Subscribe pattern • List-Based Publish/Subscribe Publish component will maintain a list of subscribers for a subject. When events occur for that subject, each subscriber on the subscription list is notified. All interested Subscribe components will register with Publish component for the subject • Broadcast-Based Publish/Subscribe When an event occurs, Publisher creates a message and broadcasts it to the local area network (LAN). All Subscriber matches the subject line to a subject that it subscribes to. If the subject does not match, it ignores the message. To identify subscribers topic, Publisher sends a broadcast message that asks Subscribers to reply if they subscribe to a particular topic. Responses are then returned by Subscribers to the Publisher to identify the Subscribers. It is an effective method for decoupling producers from consumers. • Content-Based Publish/Subscribe – In this case subscriptions are related to specific information content. Messages are intelligently routed to their final destination based on the content of the message. This approach overcomes the limitation of a broadcast-based system, where distribution is coupled to a multicast tree that is based on Transmission Control Protocol (TCP).
  • 11. Call and Return • Consumer components invoke functionality in Provider components. • Consumer components waits until an invoked service completes and returns results before continuing • components depend on invoked functionality to get their own work done • The correctness of each component may depend on the correctness of the functionality it invokes • Inter-process calls or Remote procedure calls in a distributed set of processes or a network of computers .
  • 12. Blackboard This pattern is useful for problems for which no deterministic solution strategies are known. Several specialized subsystems assemble their knowledge to build a possibly partial or approximate solution. System is divided into 1. Blackboard, 2. A collection of knowledge sources, 3. Control Component Blackboard - It is the central data store for solution space and control data. It provides interface that enables all knowledge sources to read from and write to it Knowledge Sources - They are separate, independent subsystems that solve specific aspects of the overall problem. A solution can only be built by integrating the results of several knowledge sources Control Components : It runs a loop to monitor the changes on the blackboard. It will pick a knowledge source and decide what action to take next according to a knowledge application strategy Example - HEARSAY-I1 speech recognition system
  • 13. Thank You Your suggestions and comments are always welcome. Please send me your feedback at a_s_sinha@yahoo.com