Extended Enterprise Laboratory, Hewlett-Packard Laboratories, Bristol Keryx: Internet Notification...

Post on 29-Mar-2015

212 views 0 download

Tags:

transcript

Extended Enterprise Laboratory, Hewlett-Packard Laboratories, Bristol

Keryx: Internet Notification Service

for Dynamic Web Applications

Søren BrandtAnders Kristensen

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

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

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

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

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

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

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

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

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

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)

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

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

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

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

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

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

Extended Enterprise Laboratory, Hewlett-Packard Laboratories, Bristol

Keryxon the web

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