SlideShare ist ein Scribd-Unternehmen logo
1 von 47
Downloaden Sie, um offline zu lesen
The Evolution of Internet-Scale
Event Notification Services
             Past, Present, and Future




                                            Adam Rifkin
                                             Rohit Khare
            Workshop on Internet-Scale Event Notification
                            University of California, Irvine
                                             July 13, 1998
The Evolution of Internet-Scale Event
          Notification Services
„ Past
       ƒ Event-Based Integration (EBI) occupied application niches,
         adapted to loosely-coupled systems
       ƒ Event Notification Services (ENS) expanded their range,
         from hosts to LANs to WANs
„ Present
       ƒ Crossing trust domains raises new ‘Internet’ concerns
„ Future
       ƒ Explosion of diverse, competing protocol proposals
       ƒ Selection criteria likely to lead toward convergence
13 July 1998                                                          2
Goals of this Presentation
„ “You can’t tell the players without a scorecard!”
       ƒ Over a hundred systems and eighty more papers
„ “What are the design choices?”
       ƒ Identifying primary axes of classification
„ “What’s new research here?”
       ƒ Issues which are truly unique to Internet-scale ENSs
„ “What’s going on in the marketplace?”
       ƒ New players have wider ambitions than past ISENSs
„ “How can we select more principled designs?”
       ƒ Lessons from software architecture for ISENSs

13 July 1998                                                    3
Who We Are
„ Adam Rifkin
       ƒ Seventh-year at Caltech with K. Mani Chandy
       ƒ Microsoft Research, HP Labs, Rome Labs, NASA
       ƒ Studying the semantics of event models
               ‚ Can formal specification help explain the behavior and performance
                 of distributed systems?

„ Rohit Khare
       ƒ Second-year at UC Irvine with Richard Taylor
       ƒ W3C, Web Journal, MCI Internet Architecture
       ƒ Studying the design of application-layer protocols
13 July 1998   ‚ How did all these TPs evolve? Are they converging?                   4
Past, Present, Future


        Adapting to niche applications
                     Expanding range
The Evolution of Event Systems
„ Defining Events, Notifications, and Handlers
       ƒ Enumerating and clustering existing systems
„ Evolution into new niches and widening range
„ Archetypal applications and notification services
„ Taxonomy of ENS design space
       ƒ Evaluating models from the literature




13 July 1998                                           6
Defining our terms
„ People have called lots of things event systems:
       ƒ graphical interfaces, physical simulations, collaborative
         workflow, programming with callbacks...
„ Events are Notifications to be Handled
       ƒ Events, as in physics, are abstract and instantaneous
       ƒ Notifications are messages with definite semantics
       ƒ Handlers implement synchronization and semantic
         constraints of a pattern of notifications
„ Events are not: RPC, Blackboards, Pipes, Documents,
  or FYI Messages
13 July 1998                                                         7
Things that go “notify” in the night:
           ACA (Digital)      DRP (Marimba)       Java Transactions         RPC
         Active Databases         DSN (mail)         JavaSpaces             RVP
          Active Software             East               JEDI              SGAP
               Actors          e-cast (Lucent)       JFC (Swing)          SIMNET
             Amalgame                 Elvin           Keryx (HP)           SIENA
            Amiga REXX          ENP (Oracle)            Leases              SIP
            AppleEvents           Ensemble          Logical Clocks         SMTP
               Atlantis               Field             Maisie         SNMP Traps
              Backweb                finger          Majordomo        SoftBench (HP)
                 Bart            GENA (MS)             Mariposa             SRM
            BEA/Tuxedo               FUSE          Mediator Pattern        SWAP
                BLIP               HORUS                Mentat         SwitchWare
             BOF/BOCK                HTTP                MFTP             Talarian
              C2 Style                 ICQ               MMS              Taligent
         CISCO Pub & Sub            iFlame              MSMQ               Talkd
           COM+ Events        Information Bus         MQ*Series         Teamwave
               Consul            Infospheres             MTP               Tibco
        CORBA Notification        Intermind              MTS          ToolTalk (Sun)
        CORBA Transaction      Iona OrbixTalk            NNTP             Ubique
               Cronus            IP Multicast            NSTP              Vitria
               Desert                  IRC             OpenDoc             VMTP
              DCE RPC                 ISIS               PIPR             WhoDP
               DEEDS              Java AWT               PLAN          Win32 events
                DHCP             Java Beans            Pointcast        X Windows
         DIS (IEEE 1278)     Java Distr. Events       POLYLITH         Yahoo Pager
        Discrete Event Sim      Java InfoBus              RIP              Yeast
13 July 1998 Notifications
         DNS                  Java OS events             RMP              Zephyr       8
Clustering by Application Context
          Messaging         Presence     Simulation/Graphics     Application Integration
             Backweb            Blip              Actors               ACA (Digital)
         DRP (Marimba)        finger        DIS (IEEE 1278)           Active Software
           DSN (mail)           ICQ        Discrete Event Sim.          Amalgame
         e-cast (Lucent)      NSTP              Java AWT               Amiga REXX
              HTTP             PIPR            JFC (Swing)             AppleEvents
            Intermind          RVP         Living Worlds (HP)          BEA/Tuxedo
           Majordomo          SGAP            Logical Clocks                East
              MFTP              SIP               Maisie                    Field
              MSMQ           WhoDP               Mentat                   HORUS
           MQ*Series                             SIMNET              Information Bus
              NNTP                               Taligent             Iona OrbixTalk
            Pointcast                         Win32 events              Java Beans
                              Chat
              SMTP                             X Windows               Java InfoBus
                             iFlame
          SNMP Traps                                                    Keryx (HP)
                               IRC
             Talarian                                                    OpenDoc
                              Talkd
           Teamwave                                                      POLYLITH
                             Ubique
              Tibco                                                   SoftBench (HP)
              VMTP         Yahoo Pager                                     SWAP
                             Zephyr
                                                                      ToolTalk (Sun)
                                                                           Vitria
                                                                           Yeast




13 July 1998                                                                           9
Clustering by Notification Features
„ Myriad ways to slice and dice this survey set…
       Low Latency         High Latency         Polling            Invocation         Multicast         Reliable
       COM+ Events             SMTP            Backweb          CORBA Notification   IP Multicast     BEA/Tuxedo
        Amiga REXX          Majordomo            Finger               Field             RMP         CORBA Transaction
        AppleEvents         DSN (mail)            ICQ            SoftBench (HP)          SIP             MSMQ
        SNMP Traps        DNS Notifications    Pointcast          ToolTalk (Sun)        SRM            MQ*Series
     IRelay Chat (IRC)         NNTP           Yahoo Pager            Zephyr             Tibco
                                                                                                         Leases
                                                                                     UDP Mode             DHCP
                                                                                      BackWeb          AFS Caching
                                                                                       WhoDP            WebDAV
                    1                     N                              K
                  TalkD               Backweb                        C2 Style                       Dead-reckoning
               Win32 events           Pointcast                  DNS Notifications                  DIS (IEEE 1278)
     1          X Windows           DRP (Marimba)                      DHCP                             SIMNET
                                                            1
                                       Finger                          SMTP                             WhoDP
                 Zephyr                  ICQ                       SNMP Traps
                  SMTP               Yahoo Pager                       Tibco
     N                                 WhoDP                          iFlame
                                                            K
                                        SGAP                       Majordomo
                                        NNTP


13 July 1998                                                                                                    10
The Evolutionary March of Progress:
     New niches and widening range…
         WAN



                                   Rendezvous                                             CORBA
                News (NNTP),                        Internet Relay       VRML
                                 (RVP), WhoDP,                                         Notifications,
                  channels                            Chat (IRC)     Environments
                                  NSTP, SGAP                                             HP Keryx
                                                                       Distributed      WebBroker,
                reliable mcast       Session
                                                    Zephyr, iFlame   Interactive Sim   Beans, Horus
                (Tibco, MFTP)    Invitation (SIP)
                                                                       (DIS /IEEE)       Ensemble
                                                                     Discrete Event     Field, ISIS,
         LAN




                    eMail
                                     finger           Netshow           Simulation     HP SoftBench,
                   (SMTP)
                                                                         (Maisie)      Sun ToolTalk
 Scale




                 Simple Net
                                                                      X Windows        AppleEvents,
                Management                              TalkD
                                                                        System         COM+ Events
                Traps (SNMP)
                                                                      MacOS event      Cut-n-paste,
         Host




                  Mach IPC           who(1)            write(1)      loop, Language     Pub-n-sub,
                                                                       exceptions       Exceptions
                                       Login
                                                                       GUI event
         OS




                                   information                                         Pipe-and-filter
                                                                        queue
                                      (utmp)
                Messaging           Presence            Chat         Simulation/          Tool
                                                                       Graphics        Integration

13 July 1998                                                                                             11
Exploring the Fossil Record
„ Our evolutionary map is only descriptive as yet
       ƒ These five applications are not a privileged frame of
         reference; merely popular clusters
„ To evaluate EBI styles, outline orthogonal axes:
       ƒ Rate of event occurrence
       ƒ Topology of notification distribution
       ƒ Content model of notifications
       ƒ Naming model: sources, sinks, queues, subscriptions
       ƒ Event transformations: filtering, aggregation, etc.
       ƒ Security and Privacy requirements
13 July 1998                                                     12
Application: Messaging
„ Goal: Delivering “human-actionable” content
       ƒ News occurs at O(minutes) to O(days)
       ƒ Sample event: “Today’s lunch menu is…”
„ Distributed 1-N (many) or 1-K (known set)
„ Notifications range from text to multimedia
„ Names: mailboxes, newsgroups, topics, etc.
„ Transformations: compression, batch delivery
„ Authenticated senders, content integrity &
  confidentiality
13 July 1998                                      13
Systems: Messaging
„ E-mail and mailing lists
       ƒ Mail can be queued at relays; reliable, but O(days)
       ƒ Mlists require subscriber verification; allows digests
„ USENET News
       ƒ Articles, named by message-ID, can be posted to a set of groups
         within a distribution region until expiry
„ Publish & Subscribe
       ƒ Topic selection can be more specific than “group”,
         such as selection of characteristics of the messages
„ Web Push / “Channels”
       ƒ Poll for updated content; could be bundled, cached

13 July 1998                                                               14
Application: Presence
„ Goal: maintaining awareness of people, devices
       ƒ Changes in state occur on O(minutes)
       ƒ Sample Event: “Elvis has left the building…”
„ Monitor “buddies” or “editors” (1-K)
       ƒ Infrastructure typically designed for N-N, though
„ Notifications can be lightweight (text)
„ Names: users-from-directories, groups
„ Transformations: batch update; state timeout
„ Privacy requires knowing who’s watching
13 July 1998                                                 15
Systems: Presence
„ who (1), utmp
       ƒ Multiuser OSes log and report current logins
„ finger
       ƒ Returns last-seen, last-read, and .plan for username
„ WhoDP
       ƒ Switchboards maintain directory of clients; actual presence
         traffic redirected peer-to-peer
„ AOL Instant Messenger
       ƒ Centralized state server; client holds connection open
13 July 1998                                                      16
Application: Chat
„ Goal: Delivering units of (human) conversation
       ƒ Interaction occurs on O(seconds)
       ƒ Sample event: “[Duke] smells a Wumpus…”
„ Distributed 1-1, 1-K (lecture), or K-K (forum)
„ Notifications range from text to multimedia
„ Names: email addrs, handles, channels
„ Security: speaker authentication, confidentiality
  through content encryption
„ Privacy: audience enumeration
13 July 1998                                          17
Systems: Chat
„ write (1)
       ƒ Displays to all users (except users blocking all writes)
„ TalkD
       ƒ Binary session request; requires active confirmation
„ Zephyr
       ƒ Delivers messagegrams with Kerberos authentication
„ Internet Relay Chat (IRC)
       ƒ Directed acyclic graph of servers using a ‘gossip’ alg.
       ƒ Weak confidentiality of forum content (passwords)
       ƒ Robots can automatically trigger events (invitations)

13 July 1998                                                        18
Application: Simulation
„ Goal: Maintaining consistent (physical) state
       ƒ Interaction occurs on O(milliseconds)
       ƒ Sample event: “[Duke] fires 9mm at the Wumpus…”
       ƒ Sample event: “Mouse button 2 clicked twice…”
„ Distribution limited to 1-1 or small K-K groups
„ Notifications are usually small and stateful
  (for example, delta updates)
„ Transformations: event aggregation, masking
  (filtering), batching, and dead-reckoning
13 July 1998                                               19
Systems: Simulation
„ GUI event queues
       ƒ Hardware devices deliver interrupts or are scanned,
         foreshadowing the invoke vs. poll options
       ƒ Event queue can select events by bounds, type, etc.
       ƒ Events can be updated, coalesced in the queue
„ Distributed Interactive Simulation (DIS)
       ƒ IEEE Standard 1278.1 (1995)
       ƒ Physical and synthetic players in a wargame
       ƒ Myriad specific update message formats
       ƒ Lost updates replaced by predictions
13 July 1998                                                   20
Application: Integration
„ Goal: wiring together component software
       ƒ Data flows from O(milliseconds) to O(hours)
       ƒ This wide range can be problemmatic
       ƒ Sample Event: “Compiler finished foo.c as foo.o”
„ 1-K; source usually unaware of consumers
„ Notifications typically machine-readable streams
„ Names: processes, hosts
„ Transformations: data type adaptors

13 July 1998                                                21
Systems: Integration
„ Information Bus
       ƒ Routes messages to groups based on content
„ POLYLITH Software Bus
       ƒ Redirects/repackages intermodule calls per bus wiring
„ Field, Yeast
       ƒ Central message repository triggers sw tools
„ AppleEvents, REXX
       ƒ Event-oriented user interface scripting languages


13 July 1998                                                     22
Developing an Architectural Model
„ Zooming out from these details, we choose to
  separate the event infrastructure layer
„ Above, applications rely on EBI services
          ƒ Several classic papers speak to this model
„ Below, EN services bound protocol designs
                                 Components/Tools, Connectors, Notifications, Requests
                   Integration
                      Event
                      Based




                                 ‘Logical’ routers, message transformers, application event semantics (e.g. dead-reckoning)

                                 Reliable storage, synchronization, typing
                                 Quality of Service, Link and message security
      Notification
       Services
        Event




                                 ‘Physical’ routing topology, ‘physical’ naming, initiation rules (poll vs. interrupt)

                                 Wire formats, stateful optimizations (session vs. packet), batching

13 July 1998                                                                                                                  23
Field                                                 [Reiss90]
„ Connects clients (“tools”) with anonymous bcast
„ Central message server as a separate process
„ Tools register interest in message-expressions
„ Forwarded in order received
„ No exception handling
       ƒ e.g. access control, delivery constraint violations
„ Policy tool can intercept, replace messages
„ “tools advertise operations” informed SoftBench

13 July 1998                                                   24
Polylith                                           [Purtilo94]
„ Tools bind their I/O ports to a Software Bus
       ƒ ports identified by name, allowing retargeting
„ Module Interconnection Lang to wrap tools
„ Simple, Structured, and Pointer message types
„ Limited to simple filtering on channels
„ No explicit support for groups
„ No exception handling
       ƒ e.g. ill-formed messages or incompatible connections

13 July 1998                                                    25
EBI Framework                                                  [Barrett, et al 96]

                  Feature                  FIELD                  POLYLITH                      CORBA
                                                              Simple, Structured,       Simple, Structured, and
               Message Types                String
                                                                 Pointer types             Interface types

                  Registrar         Msg message server                Bus                        ORBs

                   Router           Msg pattern matching              Bus                        ORBs

               Message Sending            Multicast         Point-to-Point, Multicast        Point-to-Point

               Message Delivery     Non-polling (passive)       Polling (active)              Unspecified

           Message Transform
                                       Filters, Policies    Filtering by bus channel             None
            Functions (MTFs)

          Delivery Constraints         Policy Priorities      Not User-definable        At-most-once, Best-effort

                                                                                         Participant and Router
                  Grouping           Participant Groups              None
                                                                                          Groups (“domains”)


                              Presents a taxonomy of causes, not effects
13 July 1998                                                                                                   26
C2 Style                                  [Taylor, et al 96]
„ Components respond to notifications, emit requests
  (asynchronously)
„ Connectors coordinate all communication
       ƒ First-class objects, function as routers, broadcasters,
         filters, prioritizers
„ Messages = name + typed parameters
„ Notifications of state changes flow “down”
„ Requests for action flow “up”

13 July 1998                                                       27
ISE Observation and Notification
                        [Rosenblum, Wolf 97]
„ Attributes of ‘Internet-Scale’
       ƒ Geographical reach, autonomy, security, QoS
„ Lifecycle of an event
       ƒ Determination of which events shall be observable
       ƒ Expression of interest in an event or pattern
       ƒ Occurrence of an event
       ƒ Observation
       ƒ Relation of an event to a pattern of interest
       ƒ Notification to an application
       ƒ Receipt by the application
       ƒ Response of the application
13 July 1998                                                 28
Framework                [Rosenblum, Wolf 97]
„ Object model of senders and receivers
„ Event model characterizes event phenomena
„ Naming model of references to items of interest
„ Observation model of identifiable patterns
„ Time model of events causing notifications
„ Notification model of mechanisms to express
  interest and receive them
„ Resource model for allocation and accounting

13 July 1998                                        29
Moving to the Lower Layer:
                The ENS Design Space
„ It isn’t easy. Confusion abounds:
       ƒ “A Rendering may be received in one of two ways: either…
         returned as a value from a synchronous call [‘client-pull’],
         or… requested and then sent asynchronously, in chunks
         [‘server-push’]” -- HTTP-NG Interfaces
       ƒ “Messages that represent commands must be
         synchronous and must provide the caller with a reply.” --
         Field
„ Often conflate blocking, synchronization, timing, and
  initiation -- these are all separable
13 July 1998                                                         30
Our Taxonomy of ENS Design Space
„ Initiation
       ƒ Source- (interrupt) vs. Sink-initiated (poll)
„ Synchronization
       ƒ Synchronous (batched) vs. Asynchronous (deferred)
„ Blocking
       ƒ Blocking vs. Non-blocking handlers
„ Causality
       ƒ Ordered vs. unordered, duplicate, and/or missing
„ Timing (may be a spectrum)
       ƒ Real- (deadlined) to Virtual-time (eventual) delivery

13 July 1998                                                     31
Secondary Taxonomy Concerns
„ Transport
       ƒ Reliability above vs. at the bearer service
       ƒ Multicasting above vs. at the bearer service
„ Notification Content Model
       ƒ Externally-visible typing (MIME encodings)
       ƒ Size
       ƒ Streamable
       ƒ Lossy content (multimedia)
„ Security
       ƒ Trusted event notifiers vs. trusted notifications


13 July 1998                                                 32
Past, Present, Future


            Crossing trust domains
Why Event-Based Integration won
„ Loose coupling is a hallmark of Internet-scale
  development
„ Allows dynamic communication topology
„ Separates engineering tradeoffs for latency,
  efficiency
„ But, these were mission-specific and not yet
  Internet-Scale...



13 July 1998                                       34
New issues
„ Not merely about scaling across space, time, and number of
  participants and events...
„ …but across Organizations:
       ƒ Security concerns
       ƒ Interoperability
       ƒ Semantic (Ontological) agreement
       ƒ Administrative Decentralization
       ƒ Mobility
„ Most of all, Evolvability of an ISEN Service
       ƒ … we have an opportunity to define a generic service


13 July 1998                                                    35
Unaddressed issues
„ Performance models: nonexistent
       ƒ We believe a model would converge with messaging
         performance, modulo “event-handling” time
       ƒ Parameters such as event frequency, size, ...
„ Queuing policies across a connection topology
       ƒ Critical factor in scaling, yet usually unspecified in protocols
„ Evaluation criteria
       ƒ Scenarios, benchmarks, metrics, models
„ Others?
13 July 1998                                                           36
Past, Present, Future


        Competing protocol proposals
                   Selection criteria
The great thing about standards is...
„ At WISEN alone:
       ƒ Presence/Chat
               ‚ NSTP/SGAP/RVP/WhoDP
       ƒ Tool Integration
               ‚ SWAP/DAV/IPP
       ƒ Generic Notification Services
               ‚ GENA/BLIP

„ Lots of others in the quiet race to market
„ Does this welter of proposals overlook anything?

13 July 1998                                         38
Perhaps.
„ “Connectors should be first-class objects”
       ƒ Don’t hide subscription and queueing
„ “Transport is an engineering decision”
       ƒ … not a semantic one
       ƒ Beware of “reliable” datagrams and multicast
               ‚ reinvent TCP and risk ACK implosion, respectively
„ “With security aforethought”
       ƒ Need security at the message level
„ If we are aiming at a global infrastructure, community
  involvement is paramount

13 July 1998                                                         39
Our Conclusions




                  Revisiting our goals
“You can’t tell the players without a
                scorecard!”
„ A staggering range of systems can be considered
  event-oriented
       ƒ Events are notifications which trigger commands
„ Need to tease apart EBI applications from ENSs
       ƒ In the past, EN systems presented both together




13 July 1998                                               41
“What are the design choices?”
„ We believe event notifications across the Internet are
  necessarily identifiable as messages
       ƒ ISEN design space is slightly larger than IS messages
„ Message delivery initiated by source or sink
       ƒ Polling vs. Interrupts
               ‚ often conflated with non-blocking vs. blocking semantics
               ‚ often conflated with which-side-establishes-a-connection

„ End-to-end delivery or via mediators (queues)
               ‚ often conflated with “real time” vs. deferred

„ Reliable delivery provided by or above transport
13 July 1998                                                                42
“What’s new research here?”
„ Evolvability: how flexible can an ISENS be?
       ƒ An opportunity to build “great infrastructure”
„ Security: should the ENS be trusted or not?
       ƒ Hop-by-hop trust may not be dynamic enough
„ Performance modeling: what are the limits?
       ƒ Analytic and statistical models not developed yet
„ There’s also good engineering to be done…
       ƒ (Not to mention standardization leadership)


13 July 1998                                                 43
“What’s going on in the market?”
„ New applications and protocols are emerging for EBI
  and ENS across organizational (trust) lines
„ Entrants usually leveraging a technology
       ƒ Transport (UDP, mcast) or HTTP or both
„ Some glimmer of a layered solution
       ƒ Event notification separable from event schema
„ Collaboration and groupware tools are leaders



13 July 1998                                              44
“How can we select
               more principled designs?”
„ We believe the C2 and “representational state
  transfer” architectural styles show promise
„ C2’s connectors, components, and notifications:
       ƒ can model (bridge) a range of current proposals
       ƒ hint at design rules for verifying EBI
       ƒ reuses a common ENS at varying levels of abstraction
       ƒ perhaps a lattice of event notification services
„ Representational State Transfer’s messages
       ƒ separate the artifact (wire) and ideal (remote) form
       ƒ allow dynamism and scale through statelessness
13 July 1998                                                    45
Recommendation: A Layered ISENS
„ Wire protocol for notifications
       ƒ Perhaps an “asynchronous HTTP”
„ Notification management
       ƒ Interfaces for advertising and subscribing
       ƒ Queue management policies
       ƒ Generic notification typing
„ WebEvents Package
       ƒ Trapping HTTP Method Resource
       ƒ Link maintenance
       ƒ New-content (“push”)
13 July 1998                                          46

„ These are missing from current proposals!
For Further Information…
„ NOTIFY BOF at IETF-Chicago
       ƒ Chaired by Jim Whitehead, UC Irvine
„ This presentation and our events bibliography
       ƒ http://www.cs.caltech.edu/~adam/isen/
„ Notifications mailing list
       ƒ notification-subscribe@makelist.com
       ƒ http://www.findmail.com/list/notification/
„ Contact us
       ƒ adam@cs.caltech.edu
       ƒ rohit@uci.edu

13 July 1998                                          47

Weitere ähnliche Inhalte

Andere mochten auch

iPhone Informative speech
iPhone Informative speechiPhone Informative speech
iPhone Informative speechcjdanskine
 
Evolution of music players Extra Credit
Evolution of music players Extra CreditEvolution of music players Extra Credit
Evolution of music players Extra Creditkels003
 
Apple Disrupts the Mobile Telecommunications Industry
Apple Disrupts the Mobile Telecommunications IndustryApple Disrupts the Mobile Telecommunications Industry
Apple Disrupts the Mobile Telecommunications IndustryDan Murillo
 
Evolution of the iPhone
Evolution of the iPhoneEvolution of the iPhone
Evolution of the iPhoneMifunetune
 
iPad SWOT analysis
iPad SWOT analysisiPad SWOT analysis
iPad SWOT analysisamkr4u4ever
 
History of the Telephone
History of the TelephoneHistory of the Telephone
History of the TelephoneNYanisse
 
The Evolution Of The Music Industry The Effect Of Technology And Law On Stra...
The Evolution Of The Music Industry  The Effect Of Technology And Law On Stra...The Evolution Of The Music Industry  The Effect Of Technology And Law On Stra...
The Evolution Of The Music Industry The Effect Of Technology And Law On Stra...Ben Kilmer
 
Programing for the iPhone
Programing for the iPhonePrograming for the iPhone
Programing for the iPhoneMike Qaissaunee
 
The Evolution of the Telephone
The Evolution of the TelephoneThe Evolution of the Telephone
The Evolution of the TelephoneMark Litwa
 

Andere mochten auch (12)

iPhone Informative speech
iPhone Informative speechiPhone Informative speech
iPhone Informative speech
 
Evolution of music players Extra Credit
Evolution of music players Extra CreditEvolution of music players Extra Credit
Evolution of music players Extra Credit
 
The Apple story
The Apple storyThe Apple story
The Apple story
 
Apple Disrupts the Mobile Telecommunications Industry
Apple Disrupts the Mobile Telecommunications IndustryApple Disrupts the Mobile Telecommunications Industry
Apple Disrupts the Mobile Telecommunications Industry
 
Evolution of the iPhone
Evolution of the iPhoneEvolution of the iPhone
Evolution of the iPhone
 
Tablet industry
Tablet industryTablet industry
Tablet industry
 
iPad SWOT analysis
iPad SWOT analysisiPad SWOT analysis
iPad SWOT analysis
 
History of the Telephone
History of the TelephoneHistory of the Telephone
History of the Telephone
 
The iPhone Evolution
The iPhone EvolutionThe iPhone Evolution
The iPhone Evolution
 
The Evolution Of The Music Industry The Effect Of Technology And Law On Stra...
The Evolution Of The Music Industry  The Effect Of Technology And Law On Stra...The Evolution Of The Music Industry  The Effect Of Technology And Law On Stra...
The Evolution Of The Music Industry The Effect Of Technology And Law On Stra...
 
Programing for the iPhone
Programing for the iPhonePrograming for the iPhone
Programing for the iPhone
 
The Evolution of the Telephone
The Evolution of the TelephoneThe Evolution of the Telephone
The Evolution of the Telephone
 

Ähnlich wie Evolution of Internet-Scale Event Notification Services: Past, Present and Future

Charlie Talk - Everything At The Click Of A Button
Charlie Talk - Everything At The Click Of A ButtonCharlie Talk - Everything At The Click Of A Button
Charlie Talk - Everything At The Click Of A ButtonAtlassian
 
Jabber 101
Jabber 101Jabber 101
Jabber 101stpeter
 
JmDNS : Service Discovery for the 21st Century
 JmDNS : Service Discovery for the 21st Century JmDNS : Service Discovery for the 21st Century
JmDNS : Service Discovery for the 21st CenturyGnu Alsonative
 
JmDNS : Service Discovery for the 21st Century
 JmDNS : Service Discovery for the 21st Century JmDNS : Service Discovery for the 21st Century
JmDNS : Service Discovery for the 21st CenturyGnu Alsonative
 
Wireshark
WiresharkWireshark
Wiresharkbtohara
 
Skills Summary for GASteele
Skills Summary for GASteeleSkills Summary for GASteele
Skills Summary for GASteeleGreg A. Steele
 
OpenStack and OpenFlow Demos
OpenStack and OpenFlow DemosOpenStack and OpenFlow Demos
OpenStack and OpenFlow DemosBrent Salisbury
 
Software Defined Data Centers - June 2012
Software Defined Data Centers - June 2012Software Defined Data Centers - June 2012
Software Defined Data Centers - June 2012Brent Salisbury
 
The Potential Impact of Software Defined Networking SDN on Security
The Potential Impact of Software Defined Networking SDN on SecurityThe Potential Impact of Software Defined Networking SDN on Security
The Potential Impact of Software Defined Networking SDN on SecurityBrent Salisbury
 
Maemo 5 Architecture by Tapio Tolvanen
Maemo 5 Architecture by Tapio TolvanenMaemo 5 Architecture by Tapio Tolvanen
Maemo 5 Architecture by Tapio TolvanenAshley Walker
 
Future Cloud Infrastructure
Future Cloud InfrastructureFuture Cloud Infrastructure
Future Cloud Infrastructureexponential-inc
 
NUSE (Network Stack in Userspace) at #osio
NUSE (Network Stack in Userspace) at #osioNUSE (Network Stack in Userspace) at #osio
NUSE (Network Stack in Userspace) at #osioHajime Tazaki
 
เทคโนโลยีสารสนเทศสำหรับครู
เทคโนโลยีสารสนเทศสำหรับครูเทคโนโลยีสารสนเทศสำหรับครู
เทคโนโลยีสารสนเทศสำหรับครูBeauso English
 
Presence and the Real-Time Internet
Presence and the Real-Time InternetPresence and the Real-Time Internet
Presence and the Real-Time Internetstpeter
 
D. Fast, Simple User-Space Network Functions with Snabb (RIPE 77)
D. Fast, Simple User-Space Network Functions with Snabb (RIPE 77)D. Fast, Simple User-Space Network Functions with Snabb (RIPE 77)
D. Fast, Simple User-Space Network Functions with Snabb (RIPE 77)Igalia
 
From Silicon to Software - IIT Madras
From Silicon to Software - IIT MadrasFrom Silicon to Software - IIT Madras
From Silicon to Software - IIT MadrasAanjhan Ranganathan
 
Архитектура ОС Tizen
Архитектура ОС TizenАрхитектура ОС Tizen
Архитектура ОС TizenArtur Baranok
 
Embracing concurrency for fun utility and simpler code
Embracing concurrency for fun utility and simpler codeEmbracing concurrency for fun utility and simpler code
Embracing concurrency for fun utility and simpler codekamaelian
 

Ähnlich wie Evolution of Internet-Scale Event Notification Services: Past, Present and Future (20)

Charlie Talk - Everything At The Click Of A Button
Charlie Talk - Everything At The Click Of A ButtonCharlie Talk - Everything At The Click Of A Button
Charlie Talk - Everything At The Click Of A Button
 
Jabber 101
Jabber 101Jabber 101
Jabber 101
 
JmDNS : Service Discovery for the 21st Century
 JmDNS : Service Discovery for the 21st Century JmDNS : Service Discovery for the 21st Century
JmDNS : Service Discovery for the 21st Century
 
JmDNS : Service Discovery for the 21st Century
 JmDNS : Service Discovery for the 21st Century JmDNS : Service Discovery for the 21st Century
JmDNS : Service Discovery for the 21st Century
 
Wireshark
WiresharkWireshark
Wireshark
 
Skills Summary for GASteele
Skills Summary for GASteeleSkills Summary for GASteele
Skills Summary for GASteele
 
OpenStack and OpenFlow Demos
OpenStack and OpenFlow DemosOpenStack and OpenFlow Demos
OpenStack and OpenFlow Demos
 
Software Defined Data Centers - June 2012
Software Defined Data Centers - June 2012Software Defined Data Centers - June 2012
Software Defined Data Centers - June 2012
 
The Potential Impact of Software Defined Networking SDN on Security
The Potential Impact of Software Defined Networking SDN on SecurityThe Potential Impact of Software Defined Networking SDN on Security
The Potential Impact of Software Defined Networking SDN on Security
 
Maemo 5 Architecture by Tapio Tolvanen
Maemo 5 Architecture by Tapio TolvanenMaemo 5 Architecture by Tapio Tolvanen
Maemo 5 Architecture by Tapio Tolvanen
 
Future Cloud Infrastructure
Future Cloud InfrastructureFuture Cloud Infrastructure
Future Cloud Infrastructure
 
NUSE (Network Stack in Userspace) at #osio
NUSE (Network Stack in Userspace) at #osioNUSE (Network Stack in Userspace) at #osio
NUSE (Network Stack in Userspace) at #osio
 
เทคโนโลยีสารสนเทศสำหรับครู
เทคโนโลยีสารสนเทศสำหรับครูเทคโนโลยีสารสนเทศสำหรับครู
เทคโนโลยีสารสนเทศสำหรับครู
 
Presence and the Real-Time Internet
Presence and the Real-Time InternetPresence and the Real-Time Internet
Presence and the Real-Time Internet
 
D. Fast, Simple User-Space Network Functions with Snabb (RIPE 77)
D. Fast, Simple User-Space Network Functions with Snabb (RIPE 77)D. Fast, Simple User-Space Network Functions with Snabb (RIPE 77)
D. Fast, Simple User-Space Network Functions with Snabb (RIPE 77)
 
From Silicon to Software - IIT Madras
From Silicon to Software - IIT MadrasFrom Silicon to Software - IIT Madras
From Silicon to Software - IIT Madras
 
Архитектура ОС Tizen
Архитектура ОС TizenАрхитектура ОС Tizen
Архитектура ОС Tizen
 
IT Skill Set
IT Skill SetIT Skill Set
IT Skill Set
 
IT Skill Set
IT Skill SetIT Skill Set
IT Skill Set
 
Embracing concurrency for fun utility and simpler code
Embracing concurrency for fun utility and simpler codeEmbracing concurrency for fun utility and simpler code
Embracing concurrency for fun utility and simpler code
 

Mehr von Hiroshi Ono

Voltdb - wikipedia
Voltdb - wikipediaVoltdb - wikipedia
Voltdb - wikipediaHiroshi Ono
 
Gamecenter概説
Gamecenter概説Gamecenter概説
Gamecenter概説Hiroshi Ono
 
EventDrivenArchitecture
EventDrivenArchitectureEventDrivenArchitecture
EventDrivenArchitectureHiroshi Ono
 
program_draft3.pdf
program_draft3.pdfprogram_draft3.pdf
program_draft3.pdfHiroshi Ono
 
nodalities_issue7.pdf
nodalities_issue7.pdfnodalities_issue7.pdf
nodalities_issue7.pdfHiroshi Ono
 
genpaxospublic-090703114743-phpapp01.pdf
genpaxospublic-090703114743-phpapp01.pdfgenpaxospublic-090703114743-phpapp01.pdf
genpaxospublic-090703114743-phpapp01.pdfHiroshi Ono
 
kademlia-1227143905867010-8.pdf
kademlia-1227143905867010-8.pdfkademlia-1227143905867010-8.pdf
kademlia-1227143905867010-8.pdfHiroshi Ono
 
pragmaticrealworldscalajfokus2009-1233251076441384-2.pdf
pragmaticrealworldscalajfokus2009-1233251076441384-2.pdfpragmaticrealworldscalajfokus2009-1233251076441384-2.pdf
pragmaticrealworldscalajfokus2009-1233251076441384-2.pdfHiroshi Ono
 
downey08semaphores.pdf
downey08semaphores.pdfdowney08semaphores.pdf
downey08semaphores.pdfHiroshi Ono
 
BOF1-Scala02.pdf
BOF1-Scala02.pdfBOF1-Scala02.pdf
BOF1-Scala02.pdfHiroshi Ono
 
TwitterOct2008.pdf
TwitterOct2008.pdfTwitterOct2008.pdf
TwitterOct2008.pdfHiroshi Ono
 
stateyouredoingitwrongjavaone2009-090617031310-phpapp02.pdf
stateyouredoingitwrongjavaone2009-090617031310-phpapp02.pdfstateyouredoingitwrongjavaone2009-090617031310-phpapp02.pdf
stateyouredoingitwrongjavaone2009-090617031310-phpapp02.pdfHiroshi Ono
 
SACSIS2009_TCP.pdf
SACSIS2009_TCP.pdfSACSIS2009_TCP.pdf
SACSIS2009_TCP.pdfHiroshi Ono
 
scalaliftoff2009.pdf
scalaliftoff2009.pdfscalaliftoff2009.pdf
scalaliftoff2009.pdfHiroshi Ono
 
stateyouredoingitwrongjavaone2009-090617031310-phpapp02.pdf
stateyouredoingitwrongjavaone2009-090617031310-phpapp02.pdfstateyouredoingitwrongjavaone2009-090617031310-phpapp02.pdf
stateyouredoingitwrongjavaone2009-090617031310-phpapp02.pdfHiroshi Ono
 
program_draft3.pdf
program_draft3.pdfprogram_draft3.pdf
program_draft3.pdfHiroshi Ono
 
nodalities_issue7.pdf
nodalities_issue7.pdfnodalities_issue7.pdf
nodalities_issue7.pdfHiroshi Ono
 
genpaxospublic-090703114743-phpapp01.pdf
genpaxospublic-090703114743-phpapp01.pdfgenpaxospublic-090703114743-phpapp01.pdf
genpaxospublic-090703114743-phpapp01.pdfHiroshi Ono
 
kademlia-1227143905867010-8.pdf
kademlia-1227143905867010-8.pdfkademlia-1227143905867010-8.pdf
kademlia-1227143905867010-8.pdfHiroshi Ono
 

Mehr von Hiroshi Ono (20)

Voltdb - wikipedia
Voltdb - wikipediaVoltdb - wikipedia
Voltdb - wikipedia
 
Gamecenter概説
Gamecenter概説Gamecenter概説
Gamecenter概説
 
EventDrivenArchitecture
EventDrivenArchitectureEventDrivenArchitecture
EventDrivenArchitecture
 
program_draft3.pdf
program_draft3.pdfprogram_draft3.pdf
program_draft3.pdf
 
nodalities_issue7.pdf
nodalities_issue7.pdfnodalities_issue7.pdf
nodalities_issue7.pdf
 
genpaxospublic-090703114743-phpapp01.pdf
genpaxospublic-090703114743-phpapp01.pdfgenpaxospublic-090703114743-phpapp01.pdf
genpaxospublic-090703114743-phpapp01.pdf
 
kademlia-1227143905867010-8.pdf
kademlia-1227143905867010-8.pdfkademlia-1227143905867010-8.pdf
kademlia-1227143905867010-8.pdf
 
pragmaticrealworldscalajfokus2009-1233251076441384-2.pdf
pragmaticrealworldscalajfokus2009-1233251076441384-2.pdfpragmaticrealworldscalajfokus2009-1233251076441384-2.pdf
pragmaticrealworldscalajfokus2009-1233251076441384-2.pdf
 
downey08semaphores.pdf
downey08semaphores.pdfdowney08semaphores.pdf
downey08semaphores.pdf
 
BOF1-Scala02.pdf
BOF1-Scala02.pdfBOF1-Scala02.pdf
BOF1-Scala02.pdf
 
TwitterOct2008.pdf
TwitterOct2008.pdfTwitterOct2008.pdf
TwitterOct2008.pdf
 
camel-scala.pdf
camel-scala.pdfcamel-scala.pdf
camel-scala.pdf
 
stateyouredoingitwrongjavaone2009-090617031310-phpapp02.pdf
stateyouredoingitwrongjavaone2009-090617031310-phpapp02.pdfstateyouredoingitwrongjavaone2009-090617031310-phpapp02.pdf
stateyouredoingitwrongjavaone2009-090617031310-phpapp02.pdf
 
SACSIS2009_TCP.pdf
SACSIS2009_TCP.pdfSACSIS2009_TCP.pdf
SACSIS2009_TCP.pdf
 
scalaliftoff2009.pdf
scalaliftoff2009.pdfscalaliftoff2009.pdf
scalaliftoff2009.pdf
 
stateyouredoingitwrongjavaone2009-090617031310-phpapp02.pdf
stateyouredoingitwrongjavaone2009-090617031310-phpapp02.pdfstateyouredoingitwrongjavaone2009-090617031310-phpapp02.pdf
stateyouredoingitwrongjavaone2009-090617031310-phpapp02.pdf
 
program_draft3.pdf
program_draft3.pdfprogram_draft3.pdf
program_draft3.pdf
 
nodalities_issue7.pdf
nodalities_issue7.pdfnodalities_issue7.pdf
nodalities_issue7.pdf
 
genpaxospublic-090703114743-phpapp01.pdf
genpaxospublic-090703114743-phpapp01.pdfgenpaxospublic-090703114743-phpapp01.pdf
genpaxospublic-090703114743-phpapp01.pdf
 
kademlia-1227143905867010-8.pdf
kademlia-1227143905867010-8.pdfkademlia-1227143905867010-8.pdf
kademlia-1227143905867010-8.pdf
 

Kürzlich hochgeladen

Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
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
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEarley Information Science
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...gurkirankumar98700
 
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
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024The Digital Insurer
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsRoshan Dwivedi
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 

Kürzlich hochgeladen (20)

Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
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
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
 
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
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 

Evolution of Internet-Scale Event Notification Services: Past, Present and Future

  • 1. The Evolution of Internet-Scale Event Notification Services Past, Present, and Future Adam Rifkin Rohit Khare Workshop on Internet-Scale Event Notification University of California, Irvine July 13, 1998
  • 2. The Evolution of Internet-Scale Event Notification Services „ Past ƒ Event-Based Integration (EBI) occupied application niches, adapted to loosely-coupled systems ƒ Event Notification Services (ENS) expanded their range, from hosts to LANs to WANs „ Present ƒ Crossing trust domains raises new ‘Internet’ concerns „ Future ƒ Explosion of diverse, competing protocol proposals ƒ Selection criteria likely to lead toward convergence 13 July 1998 2
  • 3. Goals of this Presentation „ “You can’t tell the players without a scorecard!” ƒ Over a hundred systems and eighty more papers „ “What are the design choices?” ƒ Identifying primary axes of classification „ “What’s new research here?” ƒ Issues which are truly unique to Internet-scale ENSs „ “What’s going on in the marketplace?” ƒ New players have wider ambitions than past ISENSs „ “How can we select more principled designs?” ƒ Lessons from software architecture for ISENSs 13 July 1998 3
  • 4. Who We Are „ Adam Rifkin ƒ Seventh-year at Caltech with K. Mani Chandy ƒ Microsoft Research, HP Labs, Rome Labs, NASA ƒ Studying the semantics of event models ‚ Can formal specification help explain the behavior and performance of distributed systems? „ Rohit Khare ƒ Second-year at UC Irvine with Richard Taylor ƒ W3C, Web Journal, MCI Internet Architecture ƒ Studying the design of application-layer protocols 13 July 1998 ‚ How did all these TPs evolve? Are they converging? 4
  • 5. Past, Present, Future Adapting to niche applications Expanding range
  • 6. The Evolution of Event Systems „ Defining Events, Notifications, and Handlers ƒ Enumerating and clustering existing systems „ Evolution into new niches and widening range „ Archetypal applications and notification services „ Taxonomy of ENS design space ƒ Evaluating models from the literature 13 July 1998 6
  • 7. Defining our terms „ People have called lots of things event systems: ƒ graphical interfaces, physical simulations, collaborative workflow, programming with callbacks... „ Events are Notifications to be Handled ƒ Events, as in physics, are abstract and instantaneous ƒ Notifications are messages with definite semantics ƒ Handlers implement synchronization and semantic constraints of a pattern of notifications „ Events are not: RPC, Blackboards, Pipes, Documents, or FYI Messages 13 July 1998 7
  • 8. Things that go “notify” in the night: ACA (Digital) DRP (Marimba) Java Transactions RPC Active Databases DSN (mail) JavaSpaces RVP Active Software East JEDI SGAP Actors e-cast (Lucent) JFC (Swing) SIMNET Amalgame Elvin Keryx (HP) SIENA Amiga REXX ENP (Oracle) Leases SIP AppleEvents Ensemble Logical Clocks SMTP Atlantis Field Maisie SNMP Traps Backweb finger Majordomo SoftBench (HP) Bart GENA (MS) Mariposa SRM BEA/Tuxedo FUSE Mediator Pattern SWAP BLIP HORUS Mentat SwitchWare BOF/BOCK HTTP MFTP Talarian C2 Style ICQ MMS Taligent CISCO Pub & Sub iFlame MSMQ Talkd COM+ Events Information Bus MQ*Series Teamwave Consul Infospheres MTP Tibco CORBA Notification Intermind MTS ToolTalk (Sun) CORBA Transaction Iona OrbixTalk NNTP Ubique Cronus IP Multicast NSTP Vitria Desert IRC OpenDoc VMTP DCE RPC ISIS PIPR WhoDP DEEDS Java AWT PLAN Win32 events DHCP Java Beans Pointcast X Windows DIS (IEEE 1278) Java Distr. Events POLYLITH Yahoo Pager Discrete Event Sim Java InfoBus RIP Yeast 13 July 1998 Notifications DNS Java OS events RMP Zephyr 8
  • 9. Clustering by Application Context Messaging Presence Simulation/Graphics Application Integration Backweb Blip Actors ACA (Digital) DRP (Marimba) finger DIS (IEEE 1278) Active Software DSN (mail) ICQ Discrete Event Sim. Amalgame e-cast (Lucent) NSTP Java AWT Amiga REXX HTTP PIPR JFC (Swing) AppleEvents Intermind RVP Living Worlds (HP) BEA/Tuxedo Majordomo SGAP Logical Clocks East MFTP SIP Maisie Field MSMQ WhoDP Mentat HORUS MQ*Series SIMNET Information Bus NNTP Taligent Iona OrbixTalk Pointcast Win32 events Java Beans Chat SMTP X Windows Java InfoBus iFlame SNMP Traps Keryx (HP) IRC Talarian OpenDoc Talkd Teamwave POLYLITH Ubique Tibco SoftBench (HP) VMTP Yahoo Pager SWAP Zephyr ToolTalk (Sun) Vitria Yeast 13 July 1998 9
  • 10. Clustering by Notification Features „ Myriad ways to slice and dice this survey set… Low Latency High Latency Polling Invocation Multicast Reliable COM+ Events SMTP Backweb CORBA Notification IP Multicast BEA/Tuxedo Amiga REXX Majordomo Finger Field RMP CORBA Transaction AppleEvents DSN (mail) ICQ SoftBench (HP) SIP MSMQ SNMP Traps DNS Notifications Pointcast ToolTalk (Sun) SRM MQ*Series IRelay Chat (IRC) NNTP Yahoo Pager Zephyr Tibco Leases UDP Mode DHCP BackWeb AFS Caching WhoDP WebDAV 1 N K TalkD Backweb C2 Style Dead-reckoning Win32 events Pointcast DNS Notifications DIS (IEEE 1278) 1 X Windows DRP (Marimba) DHCP SIMNET 1 Finger SMTP WhoDP Zephyr ICQ SNMP Traps SMTP Yahoo Pager Tibco N WhoDP iFlame K SGAP Majordomo NNTP 13 July 1998 10
  • 11. The Evolutionary March of Progress: New niches and widening range… WAN Rendezvous CORBA News (NNTP), Internet Relay VRML (RVP), WhoDP, Notifications, channels Chat (IRC) Environments NSTP, SGAP HP Keryx Distributed WebBroker, reliable mcast Session Zephyr, iFlame Interactive Sim Beans, Horus (Tibco, MFTP) Invitation (SIP) (DIS /IEEE) Ensemble Discrete Event Field, ISIS, LAN eMail finger Netshow Simulation HP SoftBench, (SMTP) (Maisie) Sun ToolTalk Scale Simple Net X Windows AppleEvents, Management TalkD System COM+ Events Traps (SNMP) MacOS event Cut-n-paste, Host Mach IPC who(1) write(1) loop, Language Pub-n-sub, exceptions Exceptions Login GUI event OS information Pipe-and-filter queue (utmp) Messaging Presence Chat Simulation/ Tool Graphics Integration 13 July 1998 11
  • 12. Exploring the Fossil Record „ Our evolutionary map is only descriptive as yet ƒ These five applications are not a privileged frame of reference; merely popular clusters „ To evaluate EBI styles, outline orthogonal axes: ƒ Rate of event occurrence ƒ Topology of notification distribution ƒ Content model of notifications ƒ Naming model: sources, sinks, queues, subscriptions ƒ Event transformations: filtering, aggregation, etc. ƒ Security and Privacy requirements 13 July 1998 12
  • 13. Application: Messaging „ Goal: Delivering “human-actionable” content ƒ News occurs at O(minutes) to O(days) ƒ Sample event: “Today’s lunch menu is…” „ Distributed 1-N (many) or 1-K (known set) „ Notifications range from text to multimedia „ Names: mailboxes, newsgroups, topics, etc. „ Transformations: compression, batch delivery „ Authenticated senders, content integrity & confidentiality 13 July 1998 13
  • 14. Systems: Messaging „ E-mail and mailing lists ƒ Mail can be queued at relays; reliable, but O(days) ƒ Mlists require subscriber verification; allows digests „ USENET News ƒ Articles, named by message-ID, can be posted to a set of groups within a distribution region until expiry „ Publish & Subscribe ƒ Topic selection can be more specific than “group”, such as selection of characteristics of the messages „ Web Push / “Channels” ƒ Poll for updated content; could be bundled, cached 13 July 1998 14
  • 15. Application: Presence „ Goal: maintaining awareness of people, devices ƒ Changes in state occur on O(minutes) ƒ Sample Event: “Elvis has left the building…” „ Monitor “buddies” or “editors” (1-K) ƒ Infrastructure typically designed for N-N, though „ Notifications can be lightweight (text) „ Names: users-from-directories, groups „ Transformations: batch update; state timeout „ Privacy requires knowing who’s watching 13 July 1998 15
  • 16. Systems: Presence „ who (1), utmp ƒ Multiuser OSes log and report current logins „ finger ƒ Returns last-seen, last-read, and .plan for username „ WhoDP ƒ Switchboards maintain directory of clients; actual presence traffic redirected peer-to-peer „ AOL Instant Messenger ƒ Centralized state server; client holds connection open 13 July 1998 16
  • 17. Application: Chat „ Goal: Delivering units of (human) conversation ƒ Interaction occurs on O(seconds) ƒ Sample event: “[Duke] smells a Wumpus…” „ Distributed 1-1, 1-K (lecture), or K-K (forum) „ Notifications range from text to multimedia „ Names: email addrs, handles, channels „ Security: speaker authentication, confidentiality through content encryption „ Privacy: audience enumeration 13 July 1998 17
  • 18. Systems: Chat „ write (1) ƒ Displays to all users (except users blocking all writes) „ TalkD ƒ Binary session request; requires active confirmation „ Zephyr ƒ Delivers messagegrams with Kerberos authentication „ Internet Relay Chat (IRC) ƒ Directed acyclic graph of servers using a ‘gossip’ alg. ƒ Weak confidentiality of forum content (passwords) ƒ Robots can automatically trigger events (invitations) 13 July 1998 18
  • 19. Application: Simulation „ Goal: Maintaining consistent (physical) state ƒ Interaction occurs on O(milliseconds) ƒ Sample event: “[Duke] fires 9mm at the Wumpus…” ƒ Sample event: “Mouse button 2 clicked twice…” „ Distribution limited to 1-1 or small K-K groups „ Notifications are usually small and stateful (for example, delta updates) „ Transformations: event aggregation, masking (filtering), batching, and dead-reckoning 13 July 1998 19
  • 20. Systems: Simulation „ GUI event queues ƒ Hardware devices deliver interrupts or are scanned, foreshadowing the invoke vs. poll options ƒ Event queue can select events by bounds, type, etc. ƒ Events can be updated, coalesced in the queue „ Distributed Interactive Simulation (DIS) ƒ IEEE Standard 1278.1 (1995) ƒ Physical and synthetic players in a wargame ƒ Myriad specific update message formats ƒ Lost updates replaced by predictions 13 July 1998 20
  • 21. Application: Integration „ Goal: wiring together component software ƒ Data flows from O(milliseconds) to O(hours) ƒ This wide range can be problemmatic ƒ Sample Event: “Compiler finished foo.c as foo.o” „ 1-K; source usually unaware of consumers „ Notifications typically machine-readable streams „ Names: processes, hosts „ Transformations: data type adaptors 13 July 1998 21
  • 22. Systems: Integration „ Information Bus ƒ Routes messages to groups based on content „ POLYLITH Software Bus ƒ Redirects/repackages intermodule calls per bus wiring „ Field, Yeast ƒ Central message repository triggers sw tools „ AppleEvents, REXX ƒ Event-oriented user interface scripting languages 13 July 1998 22
  • 23. Developing an Architectural Model „ Zooming out from these details, we choose to separate the event infrastructure layer „ Above, applications rely on EBI services ƒ Several classic papers speak to this model „ Below, EN services bound protocol designs Components/Tools, Connectors, Notifications, Requests Integration Event Based ‘Logical’ routers, message transformers, application event semantics (e.g. dead-reckoning) Reliable storage, synchronization, typing Quality of Service, Link and message security Notification Services Event ‘Physical’ routing topology, ‘physical’ naming, initiation rules (poll vs. interrupt) Wire formats, stateful optimizations (session vs. packet), batching 13 July 1998 23
  • 24. Field [Reiss90] „ Connects clients (“tools”) with anonymous bcast „ Central message server as a separate process „ Tools register interest in message-expressions „ Forwarded in order received „ No exception handling ƒ e.g. access control, delivery constraint violations „ Policy tool can intercept, replace messages „ “tools advertise operations” informed SoftBench 13 July 1998 24
  • 25. Polylith [Purtilo94] „ Tools bind their I/O ports to a Software Bus ƒ ports identified by name, allowing retargeting „ Module Interconnection Lang to wrap tools „ Simple, Structured, and Pointer message types „ Limited to simple filtering on channels „ No explicit support for groups „ No exception handling ƒ e.g. ill-formed messages or incompatible connections 13 July 1998 25
  • 26. EBI Framework [Barrett, et al 96] Feature FIELD POLYLITH CORBA Simple, Structured, Simple, Structured, and Message Types String Pointer types Interface types Registrar Msg message server Bus ORBs Router Msg pattern matching Bus ORBs Message Sending Multicast Point-to-Point, Multicast Point-to-Point Message Delivery Non-polling (passive) Polling (active) Unspecified Message Transform Filters, Policies Filtering by bus channel None Functions (MTFs) Delivery Constraints Policy Priorities Not User-definable At-most-once, Best-effort Participant and Router Grouping Participant Groups None Groups (“domains”) Presents a taxonomy of causes, not effects 13 July 1998 26
  • 27. C2 Style [Taylor, et al 96] „ Components respond to notifications, emit requests (asynchronously) „ Connectors coordinate all communication ƒ First-class objects, function as routers, broadcasters, filters, prioritizers „ Messages = name + typed parameters „ Notifications of state changes flow “down” „ Requests for action flow “up” 13 July 1998 27
  • 28. ISE Observation and Notification [Rosenblum, Wolf 97] „ Attributes of ‘Internet-Scale’ ƒ Geographical reach, autonomy, security, QoS „ Lifecycle of an event ƒ Determination of which events shall be observable ƒ Expression of interest in an event or pattern ƒ Occurrence of an event ƒ Observation ƒ Relation of an event to a pattern of interest ƒ Notification to an application ƒ Receipt by the application ƒ Response of the application 13 July 1998 28
  • 29. Framework [Rosenblum, Wolf 97] „ Object model of senders and receivers „ Event model characterizes event phenomena „ Naming model of references to items of interest „ Observation model of identifiable patterns „ Time model of events causing notifications „ Notification model of mechanisms to express interest and receive them „ Resource model for allocation and accounting 13 July 1998 29
  • 30. Moving to the Lower Layer: The ENS Design Space „ It isn’t easy. Confusion abounds: ƒ “A Rendering may be received in one of two ways: either… returned as a value from a synchronous call [‘client-pull’], or… requested and then sent asynchronously, in chunks [‘server-push’]” -- HTTP-NG Interfaces ƒ “Messages that represent commands must be synchronous and must provide the caller with a reply.” -- Field „ Often conflate blocking, synchronization, timing, and initiation -- these are all separable 13 July 1998 30
  • 31. Our Taxonomy of ENS Design Space „ Initiation ƒ Source- (interrupt) vs. Sink-initiated (poll) „ Synchronization ƒ Synchronous (batched) vs. Asynchronous (deferred) „ Blocking ƒ Blocking vs. Non-blocking handlers „ Causality ƒ Ordered vs. unordered, duplicate, and/or missing „ Timing (may be a spectrum) ƒ Real- (deadlined) to Virtual-time (eventual) delivery 13 July 1998 31
  • 32. Secondary Taxonomy Concerns „ Transport ƒ Reliability above vs. at the bearer service ƒ Multicasting above vs. at the bearer service „ Notification Content Model ƒ Externally-visible typing (MIME encodings) ƒ Size ƒ Streamable ƒ Lossy content (multimedia) „ Security ƒ Trusted event notifiers vs. trusted notifications 13 July 1998 32
  • 33. Past, Present, Future Crossing trust domains
  • 34. Why Event-Based Integration won „ Loose coupling is a hallmark of Internet-scale development „ Allows dynamic communication topology „ Separates engineering tradeoffs for latency, efficiency „ But, these were mission-specific and not yet Internet-Scale... 13 July 1998 34
  • 35. New issues „ Not merely about scaling across space, time, and number of participants and events... „ …but across Organizations: ƒ Security concerns ƒ Interoperability ƒ Semantic (Ontological) agreement ƒ Administrative Decentralization ƒ Mobility „ Most of all, Evolvability of an ISEN Service ƒ … we have an opportunity to define a generic service 13 July 1998 35
  • 36. Unaddressed issues „ Performance models: nonexistent ƒ We believe a model would converge with messaging performance, modulo “event-handling” time ƒ Parameters such as event frequency, size, ... „ Queuing policies across a connection topology ƒ Critical factor in scaling, yet usually unspecified in protocols „ Evaluation criteria ƒ Scenarios, benchmarks, metrics, models „ Others? 13 July 1998 36
  • 37. Past, Present, Future Competing protocol proposals Selection criteria
  • 38. The great thing about standards is... „ At WISEN alone: ƒ Presence/Chat ‚ NSTP/SGAP/RVP/WhoDP ƒ Tool Integration ‚ SWAP/DAV/IPP ƒ Generic Notification Services ‚ GENA/BLIP „ Lots of others in the quiet race to market „ Does this welter of proposals overlook anything? 13 July 1998 38
  • 39. Perhaps. „ “Connectors should be first-class objects” ƒ Don’t hide subscription and queueing „ “Transport is an engineering decision” ƒ … not a semantic one ƒ Beware of “reliable” datagrams and multicast ‚ reinvent TCP and risk ACK implosion, respectively „ “With security aforethought” ƒ Need security at the message level „ If we are aiming at a global infrastructure, community involvement is paramount 13 July 1998 39
  • 40. Our Conclusions Revisiting our goals
  • 41. “You can’t tell the players without a scorecard!” „ A staggering range of systems can be considered event-oriented ƒ Events are notifications which trigger commands „ Need to tease apart EBI applications from ENSs ƒ In the past, EN systems presented both together 13 July 1998 41
  • 42. “What are the design choices?” „ We believe event notifications across the Internet are necessarily identifiable as messages ƒ ISEN design space is slightly larger than IS messages „ Message delivery initiated by source or sink ƒ Polling vs. Interrupts ‚ often conflated with non-blocking vs. blocking semantics ‚ often conflated with which-side-establishes-a-connection „ End-to-end delivery or via mediators (queues) ‚ often conflated with “real time” vs. deferred „ Reliable delivery provided by or above transport 13 July 1998 42
  • 43. “What’s new research here?” „ Evolvability: how flexible can an ISENS be? ƒ An opportunity to build “great infrastructure” „ Security: should the ENS be trusted or not? ƒ Hop-by-hop trust may not be dynamic enough „ Performance modeling: what are the limits? ƒ Analytic and statistical models not developed yet „ There’s also good engineering to be done… ƒ (Not to mention standardization leadership) 13 July 1998 43
  • 44. “What’s going on in the market?” „ New applications and protocols are emerging for EBI and ENS across organizational (trust) lines „ Entrants usually leveraging a technology ƒ Transport (UDP, mcast) or HTTP or both „ Some glimmer of a layered solution ƒ Event notification separable from event schema „ Collaboration and groupware tools are leaders 13 July 1998 44
  • 45. “How can we select more principled designs?” „ We believe the C2 and “representational state transfer” architectural styles show promise „ C2’s connectors, components, and notifications: ƒ can model (bridge) a range of current proposals ƒ hint at design rules for verifying EBI ƒ reuses a common ENS at varying levels of abstraction ƒ perhaps a lattice of event notification services „ Representational State Transfer’s messages ƒ separate the artifact (wire) and ideal (remote) form ƒ allow dynamism and scale through statelessness 13 July 1998 45
  • 46. Recommendation: A Layered ISENS „ Wire protocol for notifications ƒ Perhaps an “asynchronous HTTP” „ Notification management ƒ Interfaces for advertising and subscribing ƒ Queue management policies ƒ Generic notification typing „ WebEvents Package ƒ Trapping HTTP Method Resource ƒ Link maintenance ƒ New-content (“push”) 13 July 1998 46 „ These are missing from current proposals!
  • 47. For Further Information… „ NOTIFY BOF at IETF-Chicago ƒ Chaired by Jim Whitehead, UC Irvine „ This presentation and our events bibliography ƒ http://www.cs.caltech.edu/~adam/isen/ „ Notifications mailing list ƒ notification-subscribe@makelist.com ƒ http://www.findmail.com/list/notification/ „ Contact us ƒ adam@cs.caltech.edu ƒ rohit@uci.edu 13 July 1998 47