SlideShare a Scribd company logo
1 of 16
Download to read offline
Ultra-scalable Architectures for
Telecommunications and Web 2.0
Services



Mauricio Arango
Bernd Kaponig

Sun Microsystems


October 27, 2009
Web 2.0 Impact on Communications
          Applications
• Information-sharing, social media services such
  as Facebook, Twitter – experiencing fast &
  enormous growth
• Growth handled via horizontal scaling vs.
  vertical scaling – no forklift upgrades – agile
  and lower-cost
• Involves handling parallelism challenge in
  telecommunications service software

                                                    2
Impact of New Communications
         Applications - cont.
• Telecom service providers launching Web 2.0-
  like services
  – Nokia Ovi
  – Vodafone 360
• Expansion of services based on telecom
  network advantages - event-driven
  – Location-based
  – M2M
  – Metered realtime billing
  – SLA management

                                                 3
Parallel Application Architecture
      Model (server side)
               ●   Parallelize – breakup
                   into pieces
                   –   Application
                   –   Data
               ●   Requires middleware
                   –   Coordination
                       (communication)
                   –   Data management


                                           4
Price of Horizontal Scaling
• Requires software that can be distributed and has high degree
  of parallelism -
   – Applications broken into components
   – Components run in parallel in a distributed processing infrastructure



  Monolithic application                Parallel application




                                                                             5
Good News – Event-driven apps
           have high parallelism
• Web and                    • Data stream-driven
  telecommunications         • Event-based coordination
  applications are event-      pattern
  driven
  – User-generated events
  – Monitoring and sensing
    events
  – Network events




                                                      6
Other Parallel Application Design
                Patterns
                                               Worker 1


• Master-worker             Master             Worker 2




                                               Worker N



• Pipeline                 Phase
                           Stage 1   Stage 2               Stage N
                           1




                           Phase
                           Stage 1
 • Hybrid                  1         Stage 2              Stage N


                  Master   Phase
                           St
                           1         Stage 2              Stage N




                           Phase
                           Stage 1
                           1         Stage 2              Stage N
                                                                     7
Communications Middleware
• Coordination – interaction required when an
  application is split into multiple components
    Direct communication                          Indirect communication




•   Request-response, Notification            •   A node only needs to know about the
•                                                 intermediate entity
    Tightly coupled – every node needs to
    know about other nodes' address and       •   Space decoupling
    functions – non-scalable complexity for   •   Time decoupling
    developer
                                              •   Three mechanisms
•   Poor at handling node failures
                                                    – Tuple Space
                                                    – Message Queue
                                                    – Publish/Subscribe                 8
Tuple Space
• Invented by David Gelernter in early 80s •        Space & time decoupling across
• Simple functionality – via four operations        components
   – out()- deposits tuple                   •      Shared associative object (tuple)
   – in()- removes matching tuple                   store
   – read() - reads matching tuple           •      Inherent load-balancing
   – notify() - registers for notification •        Event processing framework
     on matching tuple                       •      Natural fit with business
                                                    processes



                           Component 2                   Component 3
   Component 1
                                                                               Component 4

                           in(     )     out(   )
    out(         )                                     read(      )
                                                                       read(       )



                                 Tuple Space                                                 9
Message Queue
• Intermediate entity: set of queues
• Communicating components only need to know queue names
• Basic functions:
   – sendMsg(queueName, message)
   – getMsg(queueName)
• Can be mapped as a subset of Tuple Space using:
   – out(queueName, message) for sendMsg
   – in(queueName) for getMsg



             Component 1
                                                         Component 2
                    sendMsg(queue-1,   )
                                                             getMsg(queue-1)
      sendMsg(queue-2,   )
                                       Message queue 1
                                                                       Component 3


                                                                           getMsg(queue-2)
                             Message queue 2


                                                                                             10
Publish/Subscribe
• Intermediate entity: broker
• Basic functions:
  – subscribe(template)
  – publish(message)
• Can be mapped as a subset of Tuple Space
  using:
  – out(tuple) for publish()
  – notify(template) for subscribe()




                                             11
Surge of Indirect Messaging
                   Middleware
●   Blitz (JavaSpaces)
●   Gigaspaces
●   Rinda
●   Gruple
●   Semispace
●   Open source JMS
     –   Sun Open Message Queue
     –   Apache ActiveMQ
●   Amazon Simple Message Queue Service
●   Rabbit MQ – based AMQP standard
●   Gearman
●   XMPP Pub/Sub
●   Pubsubhubbub                          12
Data Management Middleware
• Scaling via parallelization and
  caching
• Parallelization
   – Replication – read-most data
   – Partitioning/sharding – write &
     read
• Distributed caching
   – Shares scaling techniques with
     communications middleware
   – Use of Distributed Hash Tables
     (DHT)




                                       13
Use Case – Twitter-like, many-to-
   many Messaging System
               • Process new message
                  – out(message_list_update, follower,
                    message_publisher, message_content)
               • Update message list
                  – in(message_list_update, ?r, ?t)
                  – Put(new message)
               • Retrieve message list
                  – get(messages)




                                                  14
Conclusions
• Horizontal scalability requires parallel application
  architectures from day one
• Parallelization involves simple communications
  middleware models & simple APIs
  – Tuple Space simplest & superset model
• Distributed caching – scalable foundation for both
  communications and data management middleware
• Parallel application architectures key in
  telecommunications evolution


                                                         15
Additional information
●   Paper (includes references):
    http://blogs.sun.com/arango/resource/ICIN-09-Ultra
●   Blog: http://blogs.sun.com/arango/




                                                 16

More Related Content

What's hot

Bft mr-clouds-of-clouds-discco2012 - navtalk
Bft mr-clouds-of-clouds-discco2012 - navtalkBft mr-clouds-of-clouds-discco2012 - navtalk
Bft mr-clouds-of-clouds-discco2012 - navtalk
Pedro (A. R. S.) Costa
 
Full introduction to_parallel_computing
Full introduction to_parallel_computingFull introduction to_parallel_computing
Full introduction to_parallel_computing
Supasit Kajkamhaeng
 
June 08 MS3
June 08 MS3June 08 MS3
June 08 MS3
Samimvez
 
Sreerag parallel programming
Sreerag   parallel programmingSreerag   parallel programming
Sreerag parallel programming
Sreerag Gopinath
 
Architecture Analysis of Systems based on Publish-Subscribe Systems
Architecture Analysis of Systems based on Publish-Subscribe SystemsArchitecture Analysis of Systems based on Publish-Subscribe Systems
Architecture Analysis of Systems based on Publish-Subscribe Systems
Dharmalingam Ganesan
 

What's hot (20)

Bft mr-clouds-of-clouds-discco2012 - navtalk
Bft mr-clouds-of-clouds-discco2012 - navtalkBft mr-clouds-of-clouds-discco2012 - navtalk
Bft mr-clouds-of-clouds-discco2012 - navtalk
 
Pregel reading circle
Pregel reading circlePregel reading circle
Pregel reading circle
 
Physical organization of parallel platforms
Physical organization of parallel platformsPhysical organization of parallel platforms
Physical organization of parallel platforms
 
KIISE:SIGDB Workshop presentation.
KIISE:SIGDB Workshop presentation.KIISE:SIGDB Workshop presentation.
KIISE:SIGDB Workshop presentation.
 
3.5 SDN CloudStack Developer Day
3.5  SDN CloudStack Developer Day3.5  SDN CloudStack Developer Day
3.5 SDN CloudStack Developer Day
 
Lecture 7 cuda execution model
Lecture 7   cuda execution modelLecture 7   cuda execution model
Lecture 7 cuda execution model
 
Limitations of memory system performance
Limitations of memory system performanceLimitations of memory system performance
Limitations of memory system performance
 
Full introduction to_parallel_computing
Full introduction to_parallel_computingFull introduction to_parallel_computing
Full introduction to_parallel_computing
 
Parallel Processing Concepts
Parallel Processing Concepts Parallel Processing Concepts
Parallel Processing Concepts
 
Slide05 Message Passing Architecture
Slide05 Message Passing ArchitectureSlide05 Message Passing Architecture
Slide05 Message Passing Architecture
 
Communication model of parallel platforms
Communication model of parallel platformsCommunication model of parallel platforms
Communication model of parallel platforms
 
June 08 MS3
June 08 MS3June 08 MS3
June 08 MS3
 
Pretzel: optimized Machine Learning framework for low-latency and high throug...
Pretzel: optimized Machine Learning framework for low-latency and high throug...Pretzel: optimized Machine Learning framework for low-latency and high throug...
Pretzel: optimized Machine Learning framework for low-latency and high throug...
 
Parallel Computing 2007: Overview
Parallel Computing 2007: OverviewParallel Computing 2007: Overview
Parallel Computing 2007: Overview
 
Sreerag parallel programming
Sreerag   parallel programmingSreerag   parallel programming
Sreerag parallel programming
 
Architecture Analysis of Systems based on Publish-Subscribe Systems
Architecture Analysis of Systems based on Publish-Subscribe SystemsArchitecture Analysis of Systems based on Publish-Subscribe Systems
Architecture Analysis of Systems based on Publish-Subscribe Systems
 
Multithreading: Exploiting Thread-Level Parallelism to Improve Uniprocessor ...
Multithreading: Exploiting Thread-Level  Parallelism to Improve Uniprocessor ...Multithreading: Exploiting Thread-Level  Parallelism to Improve Uniprocessor ...
Multithreading: Exploiting Thread-Level Parallelism to Improve Uniprocessor ...
 
Chapter 1 - introduction - parallel computing
Chapter  1 - introduction - parallel computingChapter  1 - introduction - parallel computing
Chapter 1 - introduction - parallel computing
 
Distributed process and scheduling
Distributed process and scheduling Distributed process and scheduling
Distributed process and scheduling
 
Sc13 comex poster
Sc13 comex posterSc13 comex poster
Sc13 comex poster
 

Viewers also liked

ikd312-04-aljabar-relasional
ikd312-04-aljabar-relasionalikd312-04-aljabar-relasional
ikd312-04-aljabar-relasional
Anung Ariwibowo
 
Redshift Company Credentials
Redshift Company CredentialsRedshift Company Credentials
Redshift Company Credentials
Lisa_Bella
 
Finlandia 2009 [Autoguardado]
Finlandia 2009 [Autoguardado]Finlandia 2009 [Autoguardado]
Finlandia 2009 [Autoguardado]
guestd4e08
 
Planetario 2º ciclo 2013
Planetario 2º ciclo 2013Planetario 2º ciclo 2013
Planetario 2º ciclo 2013
XXX XXX
 
Concurso emasagra 2013
Concurso emasagra 2013Concurso emasagra 2013
Concurso emasagra 2013
XXX XXX
 
Visita biblioteca municipal 2013
Visita biblioteca municipal 2013Visita biblioteca municipal 2013
Visita biblioteca municipal 2013
XXX XXX
 
Euro Style Design Ltd The Designs
Euro Style Design Ltd The DesignsEuro Style Design Ltd The Designs
Euro Style Design Ltd The Designs
Roland Laufer
 

Viewers also liked (20)

ikd312-04-aljabar-relasional
ikd312-04-aljabar-relasionalikd312-04-aljabar-relasional
ikd312-04-aljabar-relasional
 
Rupert.Reading.Jan 2015
Rupert.Reading.Jan 2015 Rupert.Reading.Jan 2015
Rupert.Reading.Jan 2015
 
Redshift Company Credentials
Redshift Company CredentialsRedshift Company Credentials
Redshift Company Credentials
 
Innovation mentoring grant proposal 100113 rev 1
Innovation mentoring grant proposal 100113 rev 1Innovation mentoring grant proposal 100113 rev 1
Innovation mentoring grant proposal 100113 rev 1
 
Global Conferencing Trends
Global Conferencing TrendsGlobal Conferencing Trends
Global Conferencing Trends
 
Finlandia 2009 [Autoguardado]
Finlandia 2009 [Autoguardado]Finlandia 2009 [Autoguardado]
Finlandia 2009 [Autoguardado]
 
Planetario 2º ciclo 2013
Planetario 2º ciclo 2013Planetario 2º ciclo 2013
Planetario 2º ciclo 2013
 
Concurso emasagra 2013
Concurso emasagra 2013Concurso emasagra 2013
Concurso emasagra 2013
 
Tle4904 343973
Tle4904 343973Tle4904 343973
Tle4904 343973
 
Portfolio:Summer 09
Portfolio:Summer 09Portfolio:Summer 09
Portfolio:Summer 09
 
Portfolio Daniel Pedrosa
Portfolio Daniel PedrosaPortfolio Daniel Pedrosa
Portfolio Daniel Pedrosa
 
Absolute Dosimetry for Proton Beams-Doktorandenseminar 11 Sept 2008
Absolute Dosimetry for Proton Beams-Doktorandenseminar 11 Sept 2008Absolute Dosimetry for Proton Beams-Doktorandenseminar 11 Sept 2008
Absolute Dosimetry for Proton Beams-Doktorandenseminar 11 Sept 2008
 
PROYECTO WorkCentre
PROYECTO WorkCentrePROYECTO WorkCentre
PROYECTO WorkCentre
 
Orange Language Travel Hero
Orange Language Travel   HeroOrange Language Travel   Hero
Orange Language Travel Hero
 
CR4YR collaboration.Aug 2013, Oct Prince Rupert
CR4YR collaboration.Aug 2013, Oct Prince Rupert CR4YR collaboration.Aug 2013, Oct Prince Rupert
CR4YR collaboration.Aug 2013, Oct Prince Rupert
 
Rupert - AFL - Jan, 2014
Rupert - AFL - Jan, 2014Rupert - AFL - Jan, 2014
Rupert - AFL - Jan, 2014
 
Visita biblioteca municipal 2013
Visita biblioteca municipal 2013Visita biblioteca municipal 2013
Visita biblioteca municipal 2013
 
Mintpad Pro
Mintpad ProMintpad Pro
Mintpad Pro
 
soal-pemrograman-b
soal-pemrograman-bsoal-pemrograman-b
soal-pemrograman-b
 
Euro Style Design Ltd The Designs
Euro Style Design Ltd The DesignsEuro Style Design Ltd The Designs
Euro Style Design Ltd The Designs
 

Similar to Ultra-scalable Architectures for Telecommunications and Web 2.0 Services

Hadoop fault tolerance
Hadoop  fault toleranceHadoop  fault tolerance
Hadoop fault tolerance
Pallav Jha
 

Similar to Ultra-scalable Architectures for Telecommunications and Web 2.0 Services (20)

Introduction to Cloud Data Center and Network Issues
Introduction to Cloud Data Center and Network IssuesIntroduction to Cloud Data Center and Network Issues
Introduction to Cloud Data Center and Network Issues
 
More mpi4py
More mpi4pyMore mpi4py
More mpi4py
 
Performance Management in ‘Big Data’ Applications
Performance Management in ‘Big Data’ ApplicationsPerformance Management in ‘Big Data’ Applications
Performance Management in ‘Big Data’ Applications
 
Introduction to map reduce
Introduction to map reduceIntroduction to map reduce
Introduction to map reduce
 
Hadoop fault tolerance
Hadoop  fault toleranceHadoop  fault tolerance
Hadoop fault tolerance
 
Disco workshop
Disco workshopDisco workshop
Disco workshop
 
Hadoop
HadoopHadoop
Hadoop
 
IS-ENES COMP Superscalar tutorial
IS-ENES COMP Superscalar tutorialIS-ENES COMP Superscalar tutorial
IS-ENES COMP Superscalar tutorial
 
EEDC Programming Models
EEDC Programming ModelsEEDC Programming Models
EEDC Programming Models
 
Spark Overview and Performance Issues
Spark Overview and Performance IssuesSpark Overview and Performance Issues
Spark Overview and Performance Issues
 
MapReduce on Zero VM
MapReduce on Zero VM MapReduce on Zero VM
MapReduce on Zero VM
 
Cloud infrastructure. Google File System and MapReduce - Andrii Vozniuk
Cloud infrastructure. Google File System and MapReduce - Andrii VozniukCloud infrastructure. Google File System and MapReduce - Andrii Vozniuk
Cloud infrastructure. Google File System and MapReduce - Andrii Vozniuk
 
ROS distributed architecture
ROS  distributed architectureROS  distributed architecture
ROS distributed architecture
 
Network architecure (3).pptx
Network architecure (3).pptxNetwork architecure (3).pptx
Network architecure (3).pptx
 
Open source building blocks for the Internet of Things - Jfokus 2013
Open source building blocks for the Internet of Things - Jfokus 2013Open source building blocks for the Internet of Things - Jfokus 2013
Open source building blocks for the Internet of Things - Jfokus 2013
 
try
trytry
try
 
Project Matsu
Project MatsuProject Matsu
Project Matsu
 
Chapter 5.pptx
Chapter 5.pptxChapter 5.pptx
Chapter 5.pptx
 
3450 - Writing and optimising applications for performance in a hybrid messag...
3450 - Writing and optimising applications for performance in a hybrid messag...3450 - Writing and optimising applications for performance in a hybrid messag...
3450 - Writing and optimising applications for performance in a hybrid messag...
 
Industry - Program analysis and verification - Type-preserving Heap Profiler ...
Industry - Program analysis and verification - Type-preserving Heap Profiler ...Industry - Program analysis and verification - Type-preserving Heap Profiler ...
Industry - Program analysis and verification - Type-preserving Heap Profiler ...
 

Recently uploaded

CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
giselly40
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
Earley Information Science
 

Recently uploaded (20)

How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 

Ultra-scalable Architectures for Telecommunications and Web 2.0 Services

  • 1. Ultra-scalable Architectures for Telecommunications and Web 2.0 Services Mauricio Arango Bernd Kaponig Sun Microsystems October 27, 2009
  • 2. Web 2.0 Impact on Communications Applications • Information-sharing, social media services such as Facebook, Twitter – experiencing fast & enormous growth • Growth handled via horizontal scaling vs. vertical scaling – no forklift upgrades – agile and lower-cost • Involves handling parallelism challenge in telecommunications service software 2
  • 3. Impact of New Communications Applications - cont. • Telecom service providers launching Web 2.0- like services – Nokia Ovi – Vodafone 360 • Expansion of services based on telecom network advantages - event-driven – Location-based – M2M – Metered realtime billing – SLA management 3
  • 4. Parallel Application Architecture Model (server side) ● Parallelize – breakup into pieces – Application – Data ● Requires middleware – Coordination (communication) – Data management 4
  • 5. Price of Horizontal Scaling • Requires software that can be distributed and has high degree of parallelism - – Applications broken into components – Components run in parallel in a distributed processing infrastructure Monolithic application Parallel application 5
  • 6. Good News – Event-driven apps have high parallelism • Web and • Data stream-driven telecommunications • Event-based coordination applications are event- pattern driven – User-generated events – Monitoring and sensing events – Network events 6
  • 7. Other Parallel Application Design Patterns Worker 1 • Master-worker Master Worker 2 Worker N • Pipeline Phase Stage 1 Stage 2 Stage N 1 Phase Stage 1 • Hybrid 1 Stage 2 Stage N Master Phase St 1 Stage 2 Stage N Phase Stage 1 1 Stage 2 Stage N 7
  • 8. Communications Middleware • Coordination – interaction required when an application is split into multiple components Direct communication Indirect communication • Request-response, Notification • A node only needs to know about the • intermediate entity Tightly coupled – every node needs to know about other nodes' address and • Space decoupling functions – non-scalable complexity for • Time decoupling developer • Three mechanisms • Poor at handling node failures – Tuple Space – Message Queue – Publish/Subscribe 8
  • 9. Tuple Space • Invented by David Gelernter in early 80s • Space & time decoupling across • Simple functionality – via four operations components – out()- deposits tuple • Shared associative object (tuple) – in()- removes matching tuple store – read() - reads matching tuple • Inherent load-balancing – notify() - registers for notification • Event processing framework on matching tuple • Natural fit with business processes Component 2 Component 3 Component 1 Component 4 in( ) out( ) out( ) read( ) read( ) Tuple Space 9
  • 10. Message Queue • Intermediate entity: set of queues • Communicating components only need to know queue names • Basic functions: – sendMsg(queueName, message) – getMsg(queueName) • Can be mapped as a subset of Tuple Space using: – out(queueName, message) for sendMsg – in(queueName) for getMsg Component 1 Component 2 sendMsg(queue-1, ) getMsg(queue-1) sendMsg(queue-2, ) Message queue 1 Component 3 getMsg(queue-2) Message queue 2 10
  • 11. Publish/Subscribe • Intermediate entity: broker • Basic functions: – subscribe(template) – publish(message) • Can be mapped as a subset of Tuple Space using: – out(tuple) for publish() – notify(template) for subscribe() 11
  • 12. Surge of Indirect Messaging Middleware ● Blitz (JavaSpaces) ● Gigaspaces ● Rinda ● Gruple ● Semispace ● Open source JMS – Sun Open Message Queue – Apache ActiveMQ ● Amazon Simple Message Queue Service ● Rabbit MQ – based AMQP standard ● Gearman ● XMPP Pub/Sub ● Pubsubhubbub 12
  • 13. Data Management Middleware • Scaling via parallelization and caching • Parallelization – Replication – read-most data – Partitioning/sharding – write & read • Distributed caching – Shares scaling techniques with communications middleware – Use of Distributed Hash Tables (DHT) 13
  • 14. Use Case – Twitter-like, many-to- many Messaging System • Process new message – out(message_list_update, follower, message_publisher, message_content) • Update message list – in(message_list_update, ?r, ?t) – Put(new message) • Retrieve message list – get(messages) 14
  • 15. Conclusions • Horizontal scalability requires parallel application architectures from day one • Parallelization involves simple communications middleware models & simple APIs – Tuple Space simplest & superset model • Distributed caching – scalable foundation for both communications and data management middleware • Parallel application architectures key in telecommunications evolution 15
  • 16. Additional information ● Paper (includes references): http://blogs.sun.com/arango/resource/ICIN-09-Ultra ● Blog: http://blogs.sun.com/arango/ 16