SlideShare una empresa de Scribd logo
1 de 36
Applications and
 Abstractions
   A Cautionary Tale
     David S. Rosenblum
   Felicitous Computing Institute
        School of Computing
  National University of Singapore
My Net Cred
•   SIENA Internet-scale publish/subscribe system
       Collaboration with Alex Wolf & Antonio Carzaniga
•   Formerly Principal Architect and CTO of
•   Confidentiality in Internet-scale publish/subscribe
•   ROAR: Rendezvous on a Ring
      PhD of Costin Raiciu, collaboration with Mark Handley
•   Some papers in ACM TOCS, PODC, SIGCOMM, ICNP
•   Ten patents for work at
Question 0
        What is (an) abstraction?
     “the process of considering something
   independently of its associations, attributes,
         or concrete accompaniments”
         [Oxford American Dictionary]


• Implementation independence
• Widespread applicability and reusability
Question 1
   Why are abstractions needed?


• for understanding and reasoning
• for designing and implementing
Question 1
   Why are abstractions needed?


• for understanding and reasoning
• for designing and implementing
           My focus in this talk is on
   abstractions for building applications that
      are to be deployed on the Internet
Question 2
   What abstractions are needed?
• Communication paradigms
• Storage paradigms
• Structuring and coordination paradigms
• Formal logical models of these
• Formal quantitative models of these
Question 2
   What abstractions are needed?
• Communication paradigms
• Storage paradigms
• Structuring and coordination paradigms
• Formal logical models of these
• Formal quantitative models of these
    My own interests are in communication
     paradigms and probabilistic models
The Thesis of This Talk
  General-purpose abstractions for building
 applications can lose their generality and/or
         abstractness once realized at
                Internet scale.
The Thesis of This Talk
  General-purpose abstractions for building
 applications can lose their generality and/or
         abstractness once realized at
                Internet scale.
There may be many approaches for realizing an abstraction, but
 each one employs its own assumptions, algorithms, protocols,
               optimizations and heuristics.
The Thesis of This Talk
  General-purpose abstractions for building
 applications can lose their generality and/or
         abstractness once realized at
                Internet scale.
There may be many approaches for realizing an abstraction, but
 each one employs its own assumptions, algorithms, protocols,
               optimizations and heuristics.

Those choices can strongly constrain the set of applications able
   to use the realization naturally, effectively and efficiently.
Motivating Example
                 Publish/Subscribe


                                 •   Natural abstraction for multi-way,
                                     asynchronous dissemination of data
                notifications,
Applications   alerts, updates   •   At application level, middleware or
                                     brokers provide decoupling,
Components         events
                                     anonymity, matching, caching,
                                     authentication, and many other
  Objects          events
                                     services
                   signals,
    OS           interrupts      •   Many conceivable applications at
                                     Internet scale
Motivating Example
                 Publish/Subscribe
                            subscribe


                                 •   Natural abstraction for multi-way,
                                     asynchronous dissemination of data
                notifications,
Applications   alerts, updates   •   At application level, middleware or
                                     brokers provide decoupling,
Components         events
                                     anonymity, matching, caching,
                                     authentication, and many other
  Objects          events
                                     services
                   signals,
    OS           interrupts      •   Many conceivable applications at
                                     Internet scale
Motivating Example
                 Publish/Subscribe
                            subscribe
                              publish
                                 •   Natural abstraction for multi-way,
                                     asynchronous dissemination of data
                notifications,
Applications   alerts, updates   •   At application level, middleware or
                                     brokers provide decoupling,
Components         events
                                     anonymity, matching, caching,
                                     authentication, and many other
  Objects          events
                                     services
                   signals,
    OS           interrupts      •   Many conceivable applications at
                                     Internet scale
Internet-Scale Pub/Sub
       Applications




       Stock Quotes
Internet-Scale Pub/Sub
                Applications
        symbol = “AAPL” and price > 700.00



 symbol = “AAPL”, price = 701.23, shares = 5000, [etc.]

               Stock Quotes
Internet-Scale Pub/Sub
                  Applications




Location-Dependent Travel Alerts
  bus arrivals, taxi dispatching, traffic incidents, etc.
Internet-Scale Pub/Sub
                             Applications
      bus = (10 or 30 or 51 or 143 or 188) and nextnextstop = 16069



bus = 143, capacity = 0.9, stop = 16089, nextstop = 16079, nextnextstop=16069

         Location-Dependent Travel Alerts
             bus arrivals, taxi dispatching, traffic incidents, etc.
Internet-Scale Pub/Sub
                     Application Characteristics
      Subscriptions              Application                    Notifications
...    Selectivity     Churn                           Frequency Uniqueness    ...
...                                Stock Quotes                                ...
...                              Software Updates                              ...
...                                 Travel Alerts                              ...
...                                 News Alerts                                ...
...                                   MMOGs                                    ...
...                            Battlefield Awareness                            ...
...                              Location Updates                              ...
...                            Social Network Alerts                           ...
...                             Context Awareness                              ...
...       ...           ...              ...              ...         ...      ...
SIENA
• General-purpose realization of publish/
  subscribe at Internet scale
• Designed as a decentralized overlay of brokers
• Full content-based matching of notifications to
  subscriptions with best-effort delivery
• Self-describing notifications―no notification
  types, predefined topic hierarchies, etc.
SIENA
    Subscription Forwarding
                 2
    1

                                  3
          5
4                    6

                              7
    8
                     9
SIENA
         Subscription Forwarding
    s1                          s1: “price < 700”
a            s1:a       2
         1

                                        3
                    5
    4                       6

                                    7
         8
                            9
SIENA
            Subscription Forwarding
                                       s1:1
       s1                                         s1: “price < 700”
a                s1:a              2
            1
                                                                 s1:2
                       s1:2
                                                             3
s1:1
                              5
       4                          s1:3    6

                                                  s1:3   7
            8   s1:5
                                   s1:6       9
SIENA
                Subscription Merging
                                      s1:1

a               s1:a              2
           1
                                                                s1:2
                      s1:2
                                                            3
s1:1
                             5
       4                         s1:3    6

                                                 s1:3   7
           8   s1:5
                                  s1:6       9
SIENA
                  Subscription Merging
                                        s1:1
                                        s2:5
a                 s1:a              2              s2: “price < 600”
             1
                        s1:2                                      s1:2
                        s2:8                                  3
s1:1
                               5
         4                         s1:3    6

                                                   s1:3   7
    s2
             8   s1:5
b                s2:b               s1:6       9
SIENA
                  Subscription Merging
                                        s1:1
                                        s2:5
                                                    s1 covers s2
a                 s1:a              2
             1
                        s1:2                                      s1:2
                        s2:8                                  3
s1:1
                               5
         4                         s1:3    6

                                                   s1:3   7
    s2
             8   s1:5
b                s2:b               s1:6       9
SIENA
                   Subscription Merging
s1 covers s2                             s1:1        s1 covers s2
                                         s2:5
 a                 s1:a
                                     2
            1      s2:2


                         s1:2                                      s1:2
                         s2:8                                  3
 s1:1
                                5
          4                         s1:3    6

                                                    s1:3   7
     s2
              8   s1:5
 b                s2:b               s1:6       9
SIENA
               Notification Delivery
                                      s1:1
                                      s2:5
a               s1:a
                                  2
           1    s2:2


                      s1:2                                      s1:2
                      s2:8                                  3
s1:1
                             5
       4                         s1:3    6

                                                 s1:3   7
           8   s1:5
b              s2:b               s1:6       9
SIENA
               Notification Delivery
                                      s1:1
                                      s2:5
a               s1:a
                                  2              n1: “price = 550”
           1    s2:2


                      s1:2                                      s1:2
                      s2:8                                  3
s1:1
                             5
       4                         s1:3    6

                                                 s1:3   7
                                                                 n1
           8   s1:5
b              s2:b               s1:6       9
SIENA
               Notification Delivery
                                      s1:1
                                      s2:5
a               s1:a
                                  2              n1: “price = 550”
           1    s2:2


                      s1:2                                      s1:2
                      s2:8                                  3
s1:1
                             5
       4                         s1:3    6

                                                 s1:3   7
                                                                 n1
           8   s1:5
b              s2:b               s1:6       9
SIENA
               Notification Delivery
                                      s1:1
                                      s2:5
a               s1:a
                                  2              n1: “price = 550”
           1    s2:2


                      s1:2                                      s1:2
                      s2:8                                  3
s1:1
                             5
       4                         s1:3    6

                                                 s1:3   7
                                                                 n1
           8   s1:5
b              s2:b               s1:6       9
SIENA
Implied Ideal Application Characteristics
 •   Many publishers and many subscribers
       To justify decentralized implementation
 •   Notifications much more frequent than subscriptions
      To justify subscription forwarding
 •   Low subscription churn
       To justify subscription forwarding and merging
 •   High subscription selectivity
       To justify content-based matching in brokers
 •   Subscription similarity correlated with network locality
       To justify subscription merging
SIENA
Implied Ideal Application Characteristics
 •   Many publishers and many subscribers
       not Stock Quotes
 •   Notifications much more frequent than subscriptions
       not Software Updates
 •   Low subscription churn
       not location-dependent applications
 •   High subscription selectivity
        not Software Updates
 •   Subscription similarity correlated with network locality
       not Stock Quotes, Software Updates, MMOGs, etc.
SIENA
Implied Ideal Application Characteristics
☞ Few applications have all these characteristics

        Traffic alerts
        Social interaction alerts
        others?
Internet-Scale Pub/Sub
                 Other Approaches
☞ Other approaches induce similar limitations

    •   Gryphon
        • Subscription flooding over tree of clusters
        • Applicable if subscriptions are few and stable
    •   Hermes
        • Rendezvous nodes allocated to content types
        • Applicable if load is spread evenly by type
    •   PreCache
        •  Trie- and kd-tree-based subscription storage
        •  Applicable if subscription churn is very low
Conclusion
•   Conceptually, publish/subscribe is a very general
    abstraction
•   But it loses generality once realized at Internet
    scale
•   And it does so for reasons that have little to do
    with the peculiarities of the Internet
•   Adaptability as a compromise
      ROAR’s partitioning/replication tradeoff
      Alex and Antonio’s content-based networking (CBN)
Question 3
How can research ... be fostered ... ?

• With respect to abstractions for building ...
       I would like to have better formal logical
       and probabilistic models ...
       ... for exploration of and reasoning
       about ...
       ... the design space induced by a network
       abstraction like publish/subscribe.

Más contenido relacionado

Similar a Applications and Abstractions: A Cautionary Tale (invited talk at a DIMACS Working Group)

Enterprise Apps Future State
Enterprise Apps Future StateEnterprise Apps Future State
Enterprise Apps Future State
Bruce MacVarish
 
Cisco Presentation 1
Cisco Presentation 1Cisco Presentation 1
Cisco Presentation 1
changcai
 
OpenSpan - A Better Way to Work, A Better Way to Manage
OpenSpan - A Better Way to Work, A Better Way to ManageOpenSpan - A Better Way to Work, A Better Way to Manage
OpenSpan - A Better Way to Work, A Better Way to Manage
Frank Wagman
 
Guy Nirpaz Next Gen App Servers
Guy Nirpaz Next Gen App ServersGuy Nirpaz Next Gen App Servers
Guy Nirpaz Next Gen App Servers
deimos
 
OSS Presentation Keynote by Hal Stern
OSS Presentation Keynote by Hal SternOSS Presentation Keynote by Hal Stern
OSS Presentation Keynote by Hal Stern
OpenStorageSummit
 

Similar a Applications and Abstractions: A Cautionary Tale (invited talk at a DIMACS Working Group) (20)

Enterprise Apps Future State
Enterprise Apps Future StateEnterprise Apps Future State
Enterprise Apps Future State
 
First Operational Technology (OT) High Performance Messaging Patterns for Ent...
First Operational Technology (OT) High Performance Messaging Patterns for Ent...First Operational Technology (OT) High Performance Messaging Patterns for Ent...
First Operational Technology (OT) High Performance Messaging Patterns for Ent...
 
Sybase Complex Event Processing
Sybase Complex Event ProcessingSybase Complex Event Processing
Sybase Complex Event Processing
 
Business and Online Services - Ben Kepes
Business and Online Services - Ben KepesBusiness and Online Services - Ben Kepes
Business and Online Services - Ben Kepes
 
batbern43 Events - Lessons learnt building an Enterprise Data Bus
batbern43 Events - Lessons learnt building an Enterprise Data Busbatbern43 Events - Lessons learnt building an Enterprise Data Bus
batbern43 Events - Lessons learnt building an Enterprise Data Bus
 
Cisco Presentation 1
Cisco Presentation 1Cisco Presentation 1
Cisco Presentation 1
 
ON event - May 2010
ON event - May 2010ON event - May 2010
ON event - May 2010
 
OpenSpan - A Better Way to Work, A Better Way to Manage
OpenSpan - A Better Way to Work, A Better Way to ManageOpenSpan - A Better Way to Work, A Better Way to Manage
OpenSpan - A Better Way to Work, A Better Way to Manage
 
Guy Nirpaz Next Gen App Servers
Guy Nirpaz Next Gen App ServersGuy Nirpaz Next Gen App Servers
Guy Nirpaz Next Gen App Servers
 
DISA: Cloud Computing And SaaS
DISA: Cloud Computing And SaaSDISA: Cloud Computing And SaaS
DISA: Cloud Computing And SaaS
 
Azure Services Platform
Azure Services PlatformAzure Services Platform
Azure Services Platform
 
Chassis and AppFactory: Accelerate Development of Cloud-Native Microservices ...
Chassis and AppFactory: Accelerate Development of Cloud-Native Microservices ...Chassis and AppFactory: Accelerate Development of Cloud-Native Microservices ...
Chassis and AppFactory: Accelerate Development of Cloud-Native Microservices ...
 
Over the Air 2011 Security Workshop
Over the Air 2011 Security Workshop Over the Air 2011 Security Workshop
Over the Air 2011 Security Workshop
 
apidays LIVE JAKARTA - Event Driven APIs by Phil Scanlon
apidays LIVE JAKARTA - Event Driven APIs by Phil Scanlonapidays LIVE JAKARTA - Event Driven APIs by Phil Scanlon
apidays LIVE JAKARTA - Event Driven APIs by Phil Scanlon
 
ITWeb Conference June06 Open Source for Local Government
ITWeb Conference June06 Open Source for Local GovernmentITWeb Conference June06 Open Source for Local Government
ITWeb Conference June06 Open Source for Local Government
 
FIWARE Global Summit - Edge/Fog Computing in “Powered by FIWARE” Architectures
FIWARE Global Summit - Edge/Fog Computing in “Powered by FIWARE” ArchitecturesFIWARE Global Summit - Edge/Fog Computing in “Powered by FIWARE” Architectures
FIWARE Global Summit - Edge/Fog Computing in “Powered by FIWARE” Architectures
 
Microservices: Where do they fit within a rapidly evolving integration archit...
Microservices: Where do they fit within a rapidly evolving integration archit...Microservices: Where do they fit within a rapidly evolving integration archit...
Microservices: Where do they fit within a rapidly evolving integration archit...
 
OSS Presentation Keynote by Hal Stern
OSS Presentation Keynote by Hal SternOSS Presentation Keynote by Hal Stern
OSS Presentation Keynote by Hal Stern
 
Migrating Enterprise Apps to the Cloud
Migrating Enterprise Apps to the CloudMigrating Enterprise Apps to the Cloud
Migrating Enterprise Apps to the Cloud
 
Deploying Enterprise Apps in the Cloud
Deploying Enterprise Apps in the CloudDeploying Enterprise Apps in the Cloud
Deploying Enterprise Apps in the Cloud
 

Más de David Rosenblum

Más de David Rosenblum (9)

Known Unknowns: Testing in the Presence of Uncertainty (talk at ACM SIGSOFT F...
Known Unknowns: Testing in the Presence of Uncertainty (talk at ACM SIGSOFT F...Known Unknowns: Testing in the Presence of Uncertainty (talk at ACM SIGSOFT F...
Known Unknowns: Testing in the Presence of Uncertainty (talk at ACM SIGSOFT F...
 
Career Management (invited talk at ICSE 2014 NFRS)
Career Management (invited talk at ICSE 2014 NFRS)Career Management (invited talk at ICSE 2014 NFRS)
Career Management (invited talk at ICSE 2014 NFRS)
 
SIGSOFT Impact Award: Reflections and Prospects (invited talk at SIGSOFT FSE ...
SIGSOFT Impact Award: Reflections and Prospects (invited talk at SIGSOFT FSE ...SIGSOFT Impact Award: Reflections and Prospects (invited talk at SIGSOFT FSE ...
SIGSOFT Impact Award: Reflections and Prospects (invited talk at SIGSOFT FSE ...
 
Content-Based Publish/Subscribe: A Re-Assessment (keynote talk at DOA 2005)
Content-Based Publish/Subscribe: A Re-Assessment (keynote talk at DOA 2005)Content-Based Publish/Subscribe: A Re-Assessment (keynote talk at DOA 2005)
Content-Based Publish/Subscribe: A Re-Assessment (keynote talk at DOA 2005)
 
Scalability in Software Systems Engineering: The Good, the Bad, and the Ugly ...
Scalability in Software Systems Engineering: The Good, the Bad, and the Ugly ...Scalability in Software Systems Engineering: The Good, the Bad, and the Ugly ...
Scalability in Software Systems Engineering: The Good, the Bad, and the Ugly ...
 
Some Open Problems in Publish/Subscribe Networking (keynote talk at DEBS 2003)
Some Open Problems in Publish/Subscribe Networking (keynote talk at DEBS 2003)Some Open Problems in Publish/Subscribe Networking (keynote talk at DEBS 2003)
Some Open Problems in Publish/Subscribe Networking (keynote talk at DEBS 2003)
 
Assertions a Decade Later (invited talk at ICSE 2002)
Assertions a Decade Later (invited talk at ICSE 2002)Assertions a Decade Later (invited talk at ICSE 2002)
Assertions a Decade Later (invited talk at ICSE 2002)
 
Scalability: What It Is and How to Analyze It (keynote talk at SBES 2007)
Scalability: What It Is and How to Analyze It (keynote talk at SBES 2007)Scalability: What It Is and How to Analyze It (keynote talk at SBES 2007)
Scalability: What It Is and How to Analyze It (keynote talk at SBES 2007)
 
Software System Scalability: Concepts and Techniques (keynote talk at ISEC 2009)
Software System Scalability: Concepts and Techniques (keynote talk at ISEC 2009)Software System Scalability: Concepts and Techniques (keynote talk at ISEC 2009)
Software System Scalability: Concepts and Techniques (keynote talk at ISEC 2009)
 

Último

Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 

Último (20)

The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
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
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
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
 
Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024
 
Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
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
 
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
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
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...
 

Applications and Abstractions: A Cautionary Tale (invited talk at a DIMACS Working Group)

  • 1. Applications and Abstractions A Cautionary Tale David S. Rosenblum Felicitous Computing Institute School of Computing National University of Singapore
  • 2. My Net Cred • SIENA Internet-scale publish/subscribe system Collaboration with Alex Wolf & Antonio Carzaniga • Formerly Principal Architect and CTO of • Confidentiality in Internet-scale publish/subscribe • ROAR: Rendezvous on a Ring PhD of Costin Raiciu, collaboration with Mark Handley • Some papers in ACM TOCS, PODC, SIGCOMM, ICNP • Ten patents for work at
  • 3. Question 0 What is (an) abstraction? “the process of considering something independently of its associations, attributes, or concrete accompaniments” [Oxford American Dictionary] • Implementation independence • Widespread applicability and reusability
  • 4. Question 1 Why are abstractions needed? • for understanding and reasoning • for designing and implementing
  • 5. Question 1 Why are abstractions needed? • for understanding and reasoning • for designing and implementing My focus in this talk is on abstractions for building applications that are to be deployed on the Internet
  • 6. Question 2 What abstractions are needed? • Communication paradigms • Storage paradigms • Structuring and coordination paradigms • Formal logical models of these • Formal quantitative models of these
  • 7. Question 2 What abstractions are needed? • Communication paradigms • Storage paradigms • Structuring and coordination paradigms • Formal logical models of these • Formal quantitative models of these My own interests are in communication paradigms and probabilistic models
  • 8. The Thesis of This Talk General-purpose abstractions for building applications can lose their generality and/or abstractness once realized at Internet scale.
  • 9. The Thesis of This Talk General-purpose abstractions for building applications can lose their generality and/or abstractness once realized at Internet scale. There may be many approaches for realizing an abstraction, but each one employs its own assumptions, algorithms, protocols, optimizations and heuristics.
  • 10. The Thesis of This Talk General-purpose abstractions for building applications can lose their generality and/or abstractness once realized at Internet scale. There may be many approaches for realizing an abstraction, but each one employs its own assumptions, algorithms, protocols, optimizations and heuristics. Those choices can strongly constrain the set of applications able to use the realization naturally, effectively and efficiently.
  • 11. Motivating Example Publish/Subscribe • Natural abstraction for multi-way, asynchronous dissemination of data notifications, Applications alerts, updates • At application level, middleware or brokers provide decoupling, Components events anonymity, matching, caching, authentication, and many other Objects events services signals, OS interrupts • Many conceivable applications at Internet scale
  • 12. Motivating Example Publish/Subscribe subscribe • Natural abstraction for multi-way, asynchronous dissemination of data notifications, Applications alerts, updates • At application level, middleware or brokers provide decoupling, Components events anonymity, matching, caching, authentication, and many other Objects events services signals, OS interrupts • Many conceivable applications at Internet scale
  • 13. Motivating Example Publish/Subscribe subscribe publish • Natural abstraction for multi-way, asynchronous dissemination of data notifications, Applications alerts, updates • At application level, middleware or brokers provide decoupling, Components events anonymity, matching, caching, authentication, and many other Objects events services signals, OS interrupts • Many conceivable applications at Internet scale
  • 14. Internet-Scale Pub/Sub Applications Stock Quotes
  • 15. Internet-Scale Pub/Sub Applications symbol = “AAPL” and price > 700.00 symbol = “AAPL”, price = 701.23, shares = 5000, [etc.] Stock Quotes
  • 16. Internet-Scale Pub/Sub Applications Location-Dependent Travel Alerts bus arrivals, taxi dispatching, traffic incidents, etc.
  • 17. Internet-Scale Pub/Sub Applications bus = (10 or 30 or 51 or 143 or 188) and nextnextstop = 16069 bus = 143, capacity = 0.9, stop = 16089, nextstop = 16079, nextnextstop=16069 Location-Dependent Travel Alerts bus arrivals, taxi dispatching, traffic incidents, etc.
  • 18. Internet-Scale Pub/Sub Application Characteristics Subscriptions Application Notifications ... Selectivity Churn Frequency Uniqueness ... ... Stock Quotes ... ... Software Updates ... ... Travel Alerts ... ... News Alerts ... ... MMOGs ... ... Battlefield Awareness ... ... Location Updates ... ... Social Network Alerts ... ... Context Awareness ... ... ... ... ... ... ... ...
  • 19. SIENA • General-purpose realization of publish/ subscribe at Internet scale • Designed as a decentralized overlay of brokers • Full content-based matching of notifications to subscriptions with best-effort delivery • Self-describing notifications―no notification types, predefined topic hierarchies, etc.
  • 20. SIENA Subscription Forwarding 2 1 3 5 4 6 7 8 9
  • 21. SIENA Subscription Forwarding s1 s1: “price < 700” a s1:a 2 1 3 5 4 6 7 8 9
  • 22. SIENA Subscription Forwarding s1:1 s1 s1: “price < 700” a s1:a 2 1 s1:2 s1:2 3 s1:1 5 4 s1:3 6 s1:3 7 8 s1:5 s1:6 9
  • 23. SIENA Subscription Merging s1:1 a s1:a 2 1 s1:2 s1:2 3 s1:1 5 4 s1:3 6 s1:3 7 8 s1:5 s1:6 9
  • 24. SIENA Subscription Merging s1:1 s2:5 a s1:a 2 s2: “price < 600” 1 s1:2 s1:2 s2:8 3 s1:1 5 4 s1:3 6 s1:3 7 s2 8 s1:5 b s2:b s1:6 9
  • 25. SIENA Subscription Merging s1:1 s2:5 s1 covers s2 a s1:a 2 1 s1:2 s1:2 s2:8 3 s1:1 5 4 s1:3 6 s1:3 7 s2 8 s1:5 b s2:b s1:6 9
  • 26. SIENA Subscription Merging s1 covers s2 s1:1 s1 covers s2 s2:5 a s1:a 2 1 s2:2 s1:2 s1:2 s2:8 3 s1:1 5 4 s1:3 6 s1:3 7 s2 8 s1:5 b s2:b s1:6 9
  • 27. SIENA Notification Delivery s1:1 s2:5 a s1:a 2 1 s2:2 s1:2 s1:2 s2:8 3 s1:1 5 4 s1:3 6 s1:3 7 8 s1:5 b s2:b s1:6 9
  • 28. SIENA Notification Delivery s1:1 s2:5 a s1:a 2 n1: “price = 550” 1 s2:2 s1:2 s1:2 s2:8 3 s1:1 5 4 s1:3 6 s1:3 7 n1 8 s1:5 b s2:b s1:6 9
  • 29. SIENA Notification Delivery s1:1 s2:5 a s1:a 2 n1: “price = 550” 1 s2:2 s1:2 s1:2 s2:8 3 s1:1 5 4 s1:3 6 s1:3 7 n1 8 s1:5 b s2:b s1:6 9
  • 30. SIENA Notification Delivery s1:1 s2:5 a s1:a 2 n1: “price = 550” 1 s2:2 s1:2 s1:2 s2:8 3 s1:1 5 4 s1:3 6 s1:3 7 n1 8 s1:5 b s2:b s1:6 9
  • 31. SIENA Implied Ideal Application Characteristics • Many publishers and many subscribers To justify decentralized implementation • Notifications much more frequent than subscriptions To justify subscription forwarding • Low subscription churn To justify subscription forwarding and merging • High subscription selectivity To justify content-based matching in brokers • Subscription similarity correlated with network locality To justify subscription merging
  • 32. SIENA Implied Ideal Application Characteristics • Many publishers and many subscribers not Stock Quotes • Notifications much more frequent than subscriptions not Software Updates • Low subscription churn not location-dependent applications • High subscription selectivity not Software Updates • Subscription similarity correlated with network locality not Stock Quotes, Software Updates, MMOGs, etc.
  • 33. SIENA Implied Ideal Application Characteristics ☞ Few applications have all these characteristics Traffic alerts Social interaction alerts others?
  • 34. Internet-Scale Pub/Sub Other Approaches ☞ Other approaches induce similar limitations • Gryphon • Subscription flooding over tree of clusters • Applicable if subscriptions are few and stable • Hermes • Rendezvous nodes allocated to content types • Applicable if load is spread evenly by type • PreCache • Trie- and kd-tree-based subscription storage • Applicable if subscription churn is very low
  • 35. Conclusion • Conceptually, publish/subscribe is a very general abstraction • But it loses generality once realized at Internet scale • And it does so for reasons that have little to do with the peculiarities of the Internet • Adaptability as a compromise ROAR’s partitioning/replication tradeoff Alex and Antonio’s content-based networking (CBN)
  • 36. Question 3 How can research ... be fostered ... ? • With respect to abstractions for building ... I would like to have better formal logical and probabilistic models ... ... for exploration of and reasoning about ... ... the design space induced by a network abstraction like publish/subscribe.

Notas del editor

  1. \n
  2. \n
  3. \n
  4. \n
  5. \n
  6. \n
  7. \n
  8. \n
  9. \n
  10. \n
  11. \n
  12. \n
  13. \n
  14. \n
  15. \n
  16. \n
  17. \n
  18. \n
  19. \n
  20. \n
  21. \n
  22. \n
  23. \n
  24. \n
  25. \n
  26. \n
  27. \n
  28. \n
  29. \n
  30. \n
  31. \n
  32. \n
  33. \n
  34. \n
  35. \n
  36. \n
  37. \n
  38. \n
  39. \n
  40. \n
  41. \n
  42. \n
  43. \n
  44. \n
  45. \n
  46. \n
  47. \n
  48. \n
  49. \n
  50. \n
  51. \n
  52. \n
  53. \n
  54. \n
  55. \n
  56. \n
  57. \n
  58. \n
  59. \n
  60. \n
  61. \n
  62. \n
  63. \n
  64. \n
  65. \n
  66. \n
  67. \n
  68. \n
  69. \n
  70. \n
  71. \n
  72. \n
  73. \n
  74. \n
  75. \n
  76. \n
  77. \n
  78. \n
  79. \n
  80. \n
  81. \n
  82. \n
  83. \n
  84. \n
  85. \n
  86. \n
  87. \n
  88. \n
  89. \n