GENA Framework - PowerPoint PPT Presentation

About This Presentation
Title:

GENA Framework

Description:

GENA Fan-out Aggregation Routing Protocol. Base protocol provides an easily ... Long haul SMTP, medium haul TCP/HTTP and short haul/LAN UDP/HTTP over multicast ... – PowerPoint PPT presentation

Number of Views:106
Avg rating:3.0/5.0
Slides: 22
Provided by: JoshC91
Learn more at: https://isr.uci.edu
Category:

less

Transcript and Presenter's Notes

Title: GENA Framework


1
GENA Framework
  • Generalized Event Notification Architecture over
    HTTP
  • Josh Cohen ltjoshco_at_microsoft.comgt
  • http//egg.microsoft.com/gena/

2
Introduction
  • Design Goals
  • Architecture Layout
  • Protocol Overview
  • HTCPCP
  • An Example Schema Subtype

3
Design Goals
  • Internet scale
  • Generalized Event Notification
  • Leverage XML Extensibility
  • Leverage existing infrastructure
  • HTTP Proxy Servers and Firewalls
  • Use HTTP Object Model and Functionality
  • Fit into HTTP extension framework
  • Strong Security
  • Lightweight / High Performance

4
Scenarios for Base Protocol
  • Simple, Lightweight Subscriptions
  • Minimum requirements (HTTP only)
  • Asynchronous event delivery
  • Synchronous (Polled) delivery
  • Lightweight UDP delivery
  • Variable use of infrastructure intelligence
  • Events can carry entity bodies or resource data

5
Architecture Layout
  • GENA Base Protocol
  • Layer model diagram
  • GENA Extension Schemas
  • GENA Fan-out Aggregation Routing Protocol
  • Base protocol provides an easily implemented
    functionality set but allows clear and easy
    extensibility for complex applications.

6
Architecture Overview
7
Solutions
  • Security is via TLS/SSL and Digest Auth
  • Pattern / Search View subscriptions via DASL
  • Batching notifications via XML or MIME
  • UDP Notifications can provoke secure Polling.
  • UDP Notifications can be Multicast
  • Extensible schemas with XML
  • Integration with DAV.

8
Protocol Overview
  • New Verbs
  • SUBSCRIBE
  • UNSUBSCRIBE
  • POLL
  • NOTIFY
  • New Headers
  • Subscription-ID
  • Notification-Type
  • Delivery-Control
  • Call-Back

9
Protocol Messages
10
Subscribing to a resource
SUBSCRIBE http//server/resource HTTP/1.1 Man
http//www.iana.org/http/gena Subscription-Type
update Call-Back http//mypc8000/listener
mailto joshco_at_microsoft.com Delivery-Control
poll-interval60 HTTP/1.1 200
Ok Extended-Response 20041 commentSubscrib
ed Subscription-ID ABADCAFE Call-Back
http//mypc8000/listener mailto
joshco_at_microsoft.com
11
Event Notification
NOFITY http//mypc8000/listener HTTP/1.1 Man
http//www.iana.org/http/gena Subscription-Type
update Subscription-ID ABADCAFE HTTP/1.1 200
Ok Extended-Response 20042 commentNotifica
tion Acknowledged
12
Polling a Subscription
POLL http//server/resource HTTP/1.1 Man
http//www.iana.org/http/gena Subscription-Type
update Subscription-ID ABADCAFE Delivery-Control
poll-interval60 batch-modemultipart/related
HTTP/1.1 200 Ok Extended-Response 20043
commentEvents Pending Content-Type
multipart/related Delivery-Control
poll-interval60 batch-modemultipart/related
13
Building upon GENA
  • An application specifies an XML schema
  • Register a schema subtype identifier
  • plug in to notification subtype
  • Application specific schema is cleanly layered on
    top of GENA messages.
  • Application schemas exist as message bodies or
    sub-bodies.

14
Existing Infrastructure
  • Proxy Servers / Firewalls
  • Administrators can effectively filter GENA
    message by using any of
  • HTTP Extension ID (Mandatory)
  • HTTP Method
  • Resource URI / Call-back URI
  • When policy allows, existing proxies/firewalls
    can already deal with GENA/HTTP messages
  • Mail Servers
  • mailto callbacks end up in mailbox
  • Simple filters (procmail, exchange) can process
    incoming event notifications

15
Intelligent Infrastructure
  • GENA aware Proxy Servers
  • Fan-Out and Aggregation of Subscriptions
  • Subscriptions and Event Notifications become
    Hop-by-Hop
  • Allows multi-transport delivery. Long haul
    SMTP, medium haul TCP/HTTP and short haul/LAN
    UDP/HTTP over multicast
  • GENA Aware Message Bus
  • Mail Server, Proxy, etc
  • Allows extended queuing of events

16
Work in Progress
  • Proxy routing with Fan-out / Aggregation
  • Message encryption and authentication
  • Collaborating with SIP Authors
  • DAV Property Notification
  • Defining a subtype schema for PROPCHANGE
  • DASL based search result change notify

17
Example Application
18
HTCPCP Schema
  • HyperText Coffee Pot Control Protocol
  • Schema ID http//www.iana.org/gena/htcpcp

lthtcpcpgt ltcoffeeTypegtDecaflt/coffeeTypegt
ltcoffeeTypegtCaffeinelt/coffeeTypegt
ltflavorgtregularlt/flavorgt ltflavorgtFrench
Vanillalt/flavorgt ltstatusgtidlelt/statusgt
ltstatusgtbrewinglt/statusgt ltstatusgtreadylt/statusgt lt
/htcpcpgt
19
HTCPCP Subscription
  • Start a subscription for an event which indicates
    readiness of regular french vanilla coffee

SUBSCRIBE http//masinter/pot1 HTTP/1.1 Notificati
on-Type update subtypehttp//www.iana.org/gen
a/htcpcp Call-Back http//sleepy/help
mailtosleepy_at_microsoft.com Content-Type
text/xml lt? XML version1.0gt ltHTCPCPgt
ltStatusgtreadylt/statusgt ltflavorgtFrench-Vanillalt/fl
avorgt lttypegtcaffeinelt/typegt ltHTCPCPgt
20
RVP is a GENA-based protocol for Instant Messaging
  • Extends GENA based on DAV functionality
  • Leverages DAV property model for rich
    notification functionality
  • Uses DAV MKCOL, DELETE, PROPFIND, PROPPATCH
    methods
  • Implemented by Microsoft for the Exchange Instant
    Messaging Server
  • Distributed notifications and status information
    between users, distribution lists, and generic
    resources, across the Internet
  • Strong security features, e.g. SSL
  • Microsoft is working with ISPs,
    telecommunications vendors to design
    interoperable notifications systems based on RVP

21
Conclusion
  • GENA is being implemented by Microsoft Products
  • Our wish is to collaborate to agree on a
    standard. GENA or other, we will comply.
  • Interested in GENA? Join us.
  • Majordomo_at_egg.microsoft.com
  • Subscribe gena
  • http//egg.microsoft.com/gena/
Write a Comment
User Comments (0)
About PowerShow.com