SlideShare une entreprise Scribd logo
1  sur  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.

Contenu connexe

Similaire à 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 StateBruce MacVarish
 
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...Real-Time Innovations (RTI)
 
Sybase Complex Event Processing
Sybase Complex Event ProcessingSybase Complex Event Processing
Sybase Complex Event ProcessingSybase Türkiye
 
Business and Online Services - Ben Kepes
Business and Online Services - Ben KepesBusiness and Online Services - Ben Kepes
Business and Online Services - Ben KepesIntergen
 
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 BusBATbern
 
Cisco Presentation 1
Cisco Presentation 1Cisco Presentation 1
Cisco Presentation 1changcai
 
ON event - May 2010
ON event - May 2010ON event - May 2010
ON event - May 2010Ben Kepes
 
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 ManageFrank Wagman
 
Guy Nirpaz Next Gen App Servers
Guy Nirpaz Next Gen App ServersGuy Nirpaz Next Gen App Servers
Guy Nirpaz Next Gen App Serversdeimos
 
DISA: Cloud Computing And SaaS
DISA: Cloud Computing And SaaSDISA: Cloud Computing And SaaS
DISA: Cloud Computing And SaaSGovCloud Network
 
Azure Services Platform
Azure Services PlatformAzure Services Platform
Azure Services PlatformDavid Chou
 
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 ...VMware Tanzu
 
Over the Air 2011 Security Workshop
Over the Air 2011 Security Workshop Over the Air 2011 Security Workshop
Over the Air 2011 Security Workshop Ericsson Labs
 
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 Scanlonapidays
 
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 GovernmentNirvesh Sooful
 
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” ArchitecturesFIWARE
 
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...Kim Clark
 
OSS Presentation Keynote by Hal Stern
OSS Presentation Keynote by Hal SternOSS Presentation Keynote by Hal Stern
OSS Presentation Keynote by Hal SternOpenStorageSummit
 
Migrating Enterprise Apps to the Cloud
Migrating Enterprise Apps to the CloudMigrating Enterprise Apps to the Cloud
Migrating Enterprise Apps to the CloudSVDevOps
 

Similaire à 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
 

Plus de David Rosenblum

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...David Rosenblum
 
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)David Rosenblum
 
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 ...David Rosenblum
 
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)David Rosenblum
 
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 ...David Rosenblum
 
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)David Rosenblum
 
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)David Rosenblum
 
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)David Rosenblum
 
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)David Rosenblum
 

Plus 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)
 

Dernier

Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Paola De la Torre
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Alan Dix
 
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.pptxHampshireHUG
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?XfilesPro
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphNeo4j
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
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 2024Rafal Los
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...HostedbyConfluent
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptxLBM Solutions
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 

Dernier (20)

Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
 
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
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
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
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptx
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 

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.

Notes de l'éditeur

  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