extended enterprise laboratory, hewlett-packard laboratories, bristol keryx: internet notification...

18
Extended Enterprise Laboratory, Hewlett-Packard Laboratories, Bristol Keryx: Internet Notification Service for Dynamic Web Applications Søren Brandt Anders Kristensen

Upload: jaheem-cureton

Post on 29-Mar-2015

212 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Extended Enterprise Laboratory, Hewlett-Packard Laboratories, Bristol Keryx: Internet Notification Service for Dynamic Web Applications Søren Brandt Anders

Extended Enterprise Laboratory, Hewlett-Packard Laboratories, Bristol

Keryx: Internet Notification Service

for Dynamic Web Applications

Søren BrandtAnders Kristensen

Page 2: Extended Enterprise Laboratory, Hewlett-Packard Laboratories, Bristol Keryx: Internet Notification Service for Dynamic Web Applications Søren Brandt Anders

Extended Enterprise Laboratory, Hewlett-Packard Laboratories, Bristol

Expanding the Scope of Push

Current push technologies notify users of Web-content updates

But notifications are potentially useful in a much wider context

The Internet would benefit from a general purpose Event Notification Service

Web content push is just one application of such a service

Page 3: Extended Enterprise Laboratory, Hewlett-Packard Laboratories, Bristol Keryx: Internet Notification Service for Dynamic Web Applications Søren Brandt Anders

Extended Enterprise Laboratory, Hewlett-Packard Laboratories, Bristol

Limitations of Current Push

Narrow focus on web content push

Location-centric channel concept

No standard filtering language defined

Closed architectures that do not support higher-order services

Bandwidth problems: frequently changing information index files (e.g., CDF) may become quite large

Page 4: Extended Enterprise Laboratory, Hewlett-Packard Laboratories, Bristol Keryx: Internet Notification Service for Dynamic Web Applications Søren Brandt Anders

Extended Enterprise Laboratory, Hewlett-Packard Laboratories, Bristol

The Case for a Generic Notification Service

Standard would allow increased interoperation between currently separated systems intelligent devices can communicate with people people can communicate with intelligent devices

Notifications can drive channel updates

A Nervous System for the Internet

Page 5: Extended Enterprise Laboratory, Hewlett-Packard Laboratories, Bristol Keryx: Internet Notification Service for Dynamic Web Applications Søren Brandt Anders

Extended Enterprise Laboratory, Hewlett-Packard Laboratories, Bristol

Elements of a Notification Standard

Format for describing structured data

Standard notification elements

Standard filtering language(s)

Schema language

Standard vocabularies

Transport protocols (?)

• expressive• human-readable

• easy to generate• must facilitate filtering

Page 6: Extended Enterprise Laboratory, Hewlett-Packard Laboratories, Bristol Keryx: Internet Notification Service for Dynamic Web Applications Søren Brandt Anders

Extended Enterprise Laboratory, Hewlett-Packard Laboratories, Bristol

Internet Notification Service

Any event can generate a notification:

WWW page update

stock price update

printer paper jam

telephone ringing

vehicle or domestic security

personal location update

package delivery

voicemail

travel documents ready

Existing Notification based systems:

Network Management (SNMP, GDMO)

Workflow

Communication services

PSTN, mobile, VOI

voice-mail, pager, email

Distributed games

Distributed Virtual Environments

Page 7: Extended Enterprise Laboratory, Hewlett-Packard Laboratories, Bristol Keryx: Internet Notification Service for Dynamic Web Applications Søren Brandt Anders

Extended Enterprise Laboratory, Hewlett-Packard Laboratories, Bristol

Example Service:Monitor Stock Prices

NYSE Stock Price Service

Publish

Browser: Stock price monitor

Event Routing

Event Matching

FTSE Stock Price Service

Events

Publish

Events

Events

Subscribe

Page 8: Extended Enterprise Laboratory, Hewlett-Packard Laboratories, Bristol Keryx: Internet Notification Service for Dynamic Web Applications Søren Brandt Anders

Extended Enterprise Laboratory, Hewlett-Packard Laboratories, Bristol

Example: Spare Parts Shopping

Yesterday’s scenario: check local weekly

Today’s scenario: subscribe to “Auto Parts” channel adds about unwanted car brands and parts only information from anticipated source

Tomorrow’s scenario: subscribe to notifications about available “1984 VW Rabbit carburettors” only relevant notifications notifications from unanticipated sources

Page 9: Extended Enterprise Laboratory, Hewlett-Packard Laboratories, Bristol Keryx: Internet Notification Service for Dynamic Web Applications Søren Brandt Anders

Extended Enterprise Laboratory, Hewlett-Packard Laboratories, Bristol

Keryx - Internet Notification Service

A light-weight, many-to-many communication service between applications or people

Publish and subscribe model

End-user defined filters

Decoupling of sources and sinks

Fine-grained information units

A nervous system for the Internet

Emergent services

Higher-order services

Action

Reaction

Reaction

Page 10: Extended Enterprise Laboratory, Hewlett-Packard Laboratories, Bristol Keryx: Internet Notification Service for Dynamic Web Applications Søren Brandt Anders

Extended Enterprise Laboratory, Hewlett-Packard Laboratories, Bristol

‘Smart Seat’

Video Camera

Web Client (Browser)

Services written in Java

Event Distributor

Event Registration and Forwarding Service

Web Server

Services written in Java (e.g.)

Active Badge

Internet

PBX

Op

en S

et of D

evices

Events

Events

EventsEvents

Events

Enterprise Telephony

Events

Events

Electronic Mail

WWW Site Watch

Keryx Notification Architecture

Page 11: Extended Enterprise Laboratory, Hewlett-Packard Laboratories, Bristol Keryx: Internet Notification Service for Dynamic Web Applications Søren Brandt Anders

Extended Enterprise Laboratory, Hewlett-Packard Laboratories, Bristol

Internet Notification Service:Basic concepts

Publication Declare an intention to

send notifications Describe notification

types

Subscription Register interest in

receiving notifications Register notification filter

Notifications Fine-grained information

packages Describes an event Suited for automatic

processing Undirected

Propagation Supporting servers send

notifications to end-users Propagate only if interest

exists (filters)

Page 12: Extended Enterprise Laboratory, Hewlett-Packard Laboratories, Bristol Keryx: Internet Notification Service for Dynamic Web Applications Søren Brandt Anders

Extended Enterprise Laboratory, Hewlett-Packard Laboratories, Bristol

Keryx Service Model

Service characteristics: notification driven sub-parts evolve independently

Service is a collection of small software elements produce and consume events need not be aware of other elements located anywhere

Emergent services: not centrally planned higher-order services

Page 13: Extended Enterprise Laboratory, Hewlett-Packard Laboratories, Bristol Keryx: Internet Notification Service for Dynamic Web Applications Søren Brandt Anders

Extended Enterprise Laboratory, Hewlett-Packard Laboratories, Bristol

Service Example: Event Correlation

Value-adding higher-order service detects patterns in a low-level stream of notifications generates “derived” higher-level notifications reduces volume of traffic to event consumers

Example event correlation services: personalised news network management personal location tracker page-change digests stock-change services

Page 14: Extended Enterprise Laboratory, Hewlett-Packard Laboratories, Bristol Keryx: Internet Notification Service for Dynamic Web Applications Søren Brandt Anders

Extended Enterprise Laboratory, Hewlett-Packard Laboratories, Bristol

Transfer Syntax

{ type (notify), content { type (stock-price price-change) stock-symbol “HWP” stock-price “$65” exchange-name “NYSE” }, system { source “quotes.nyse.com” publication-id “id://nyse/57” }}

On-the-wire format Structures

Maps: (name, value) Lists: indexed

Atomics Symbol, String, Number, ...

Filter Language Predicates on events

Human readable Easy to generate

Page 15: Extended Enterprise Laboratory, Hewlett-Packard Laboratories, Bristol Keryx: Internet Notification Service for Dynamic Web Applications Søren Brandt Anders

Extended Enterprise Laboratory, Hewlett-Packard Laboratories, Bristol

Routing by Event Content

Distributor matches events to subscriptions filtering based on event content

Events forwarded to interested subscribers multicast or point-to-point event delivery

Events forwarded to other event distributors

Page 16: Extended Enterprise Laboratory, Hewlett-Packard Laboratories, Bristol Keryx: Internet Notification Service for Dynamic Web Applications Søren Brandt Anders

Extended Enterprise Laboratory, Hewlett-Packard Laboratories, Bristol

Keryx Reference Implementation

Notification Framework + APIs: Java and C

Event Distributor

Simple notification transport protocols (TCP and UDP)

Generic Notification Viewer support for specialised plugins for specific event types

Rule-based notification rewriting service

Free for non-commercial use

Page 17: Extended Enterprise Laboratory, Hewlett-Packard Laboratories, Bristol Keryx: Internet Notification Service for Dynamic Web Applications Søren Brandt Anders

Extended Enterprise Laboratory, Hewlett-Packard Laboratories, Bristol

Conclusion

Expand scope of push technology discussions!

Base Web Content Push on Internet Notification standard!

Elements of a notification service: notification language filtering language delivery component

Page 18: Extended Enterprise Laboratory, Hewlett-Packard Laboratories, Bristol Keryx: Internet Notification Service for Dynamic Web Applications Søren Brandt Anders

Extended Enterprise Laboratory, Hewlett-Packard Laboratories, Bristol

Keryxon the web

http://keryxsoft.hpl.hp.com/