Download presentation
Presentation is loading. Please wait.
Published byToby Russell Modified over 9 years ago
1
GENA Framework Generalized Event Notification Architecture over HTTP Josh Cohen Josh Cohen 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 HTTP/1.1 GENA baseDAV GENA subtype schema RVP XML
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://mypc:8000/listener mailto: joshco@microsoft.com Delivery-Control: poll-interval=60 HTTP/1.1 200 Ok Extended-Response: 20041 ; comment=“Subscribed” Subscription-ID: ABADCAFE Call-Back: http://mypc:8000/listener mailto: joshco@microsoft.com
11
Event Notification NOFITY http://mypc:8000/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 ; comment=“Notification 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-interval=60; batch-mode=multipart/related HTTP/1.1 200 Ok Extended-Response: 20043 ; comment=“Events Pending” Content-Type: multipart/related Delivery-Control: poll-interval=60; batch-mode=multipart/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 Decaf Caffeine regular French Vanilla idle brewing ready
19
HTCPCP Subscription Start a subscription for an event which indicates readiness of regular french vanilla coffee SUBSCRIBE http://masinter/pot1 HTTP/1.1 Notification-Type: update; subtype=http://www.iana.org/gena/htcpcp Call-Back: http://sleepy/help mailto:sleepy@microsoft.com Content-Type: text/xml ready French-Vanilla caffeine
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@egg.microsoft.com Subscribe gena http://egg.microsoft.com/gena/
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.