SlideShare a Scribd company logo
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

PDF
Nov 05 MS1
PDF
Lecture 3 parallel programming platforms
PDF
Parallel Data Processing with MapReduce: A Survey
PDF
benchmarks-sigmod09
PDF
Solution(1)
PDF
Nov 07 MS3
PDF
Aw25293296
PPT
program partitioning and scheduling IN Advanced Computer Architecture
Nov 05 MS1
Lecture 3 parallel programming platforms
Parallel Data Processing with MapReduce: A Survey
benchmarks-sigmod09
Solution(1)
Nov 07 MS3
Aw25293296
program partitioning and scheduling IN Advanced Computer Architecture

What's hot (20)

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

Viewers also liked (20)

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

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

PPTX
Introduction to Cloud Data Center and Network Issues
PDF
More mpi4py
PPTX
Performance Management in ‘Big Data’ Applications
PDF
Introduction to map reduce
PPTX
Hadoop fault tolerance
PDF
Disco workshop
PPT
PPT
IS-ENES COMP Superscalar tutorial
PPTX
the mapreduce programming paradigm in cybersecurity
PPT
EEDC Programming Models
PPTX
Spark Overview and Performance Issues
PDF
MapReduce on Zero VM
PPTX
Cloud infrastructure. Google File System and MapReduce - Andrii Vozniuk
PDF
ROS distributed architecture
PPTX
Network architecure (3).pptx
PDF
Open source building blocks for the Internet of Things - Jfokus 2013
PPTX
Project Matsu
PPTX
Chapter 5.pptx
PDF
3450 - Writing and optimising applications for performance in a hybrid messag...
Introduction to Cloud Data Center and Network Issues
More mpi4py
Performance Management in ‘Big Data’ Applications
Introduction to map reduce
Hadoop fault tolerance
Disco workshop
IS-ENES COMP Superscalar tutorial
the mapreduce programming paradigm in cybersecurity
EEDC Programming Models
Spark Overview and Performance Issues
MapReduce on Zero VM
Cloud infrastructure. Google File System and MapReduce - Andrii Vozniuk
ROS distributed architecture
Network architecure (3).pptx
Open source building blocks for the Internet of Things - Jfokus 2013
Project Matsu
Chapter 5.pptx
3450 - Writing and optimising applications for performance in a hybrid messag...

Recently uploaded (20)

PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PDF
Machine learning based COVID-19 study performance prediction
PDF
MIND Revenue Release Quarter 2 2025 Press Release
PPTX
Programs and apps: productivity, graphics, security and other tools
PDF
NewMind AI Weekly Chronicles - August'25 Week I
PDF
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
PDF
Encapsulation theory and applications.pdf
PDF
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
PDF
Network Security Unit 5.pdf for BCA BBA.
PPTX
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx
PPTX
20250228 LYD VKU AI Blended-Learning.pptx
PPTX
Cloud computing and distributed systems.
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PDF
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
PPTX
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
PDF
cuic standard and advanced reporting.pdf
PDF
Unlocking AI with Model Context Protocol (MCP)
PPTX
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
PDF
Chapter 3 Spatial Domain Image Processing.pdf
Diabetes mellitus diagnosis method based random forest with bat algorithm
Machine learning based COVID-19 study performance prediction
MIND Revenue Release Quarter 2 2025 Press Release
Programs and apps: productivity, graphics, security and other tools
NewMind AI Weekly Chronicles - August'25 Week I
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
Digital-Transformation-Roadmap-for-Companies.pptx
Encapsulation theory and applications.pdf
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
Network Security Unit 5.pdf for BCA BBA.
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx
20250228 LYD VKU AI Blended-Learning.pptx
Cloud computing and distributed systems.
Agricultural_Statistics_at_a_Glance_2022_0.pdf
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
cuic standard and advanced reporting.pdf
Unlocking AI with Model Context Protocol (MCP)
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
Chapter 3 Spatial Domain Image Processing.pdf

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