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

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

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
 

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

DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamUiPathCommunity
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontologyjohnbeverley2021
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxRemote DBA Services
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MIND CTI
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...Zilliz
 
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 DiscoveryTrustArc
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
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, Adobeapidays
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Orbitshub
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDropbox
 
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelMcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelDeepika Singh
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...apidays
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...apidays
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsNanddeep Nachan
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusZilliz
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businesspanagenda
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native ApplicationsWSO2
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyKhushali Kathiriya
 

Último (20)

DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontology
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptx
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
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
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
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
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelMcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 

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