Presentation is loading. Please wait.

Presentation is loading. Please wait.

GENA Framework Generalized Event Notification Architecture over HTTP Josh Cohen Josh Cohen

Similar presentations


Presentation on theme: "GENA Framework Generalized Event Notification Architecture over HTTP Josh Cohen Josh Cohen"— Presentation transcript:

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/


Download ppt "GENA Framework Generalized Event Notification Architecture over HTTP Josh Cohen Josh Cohen"

Similar presentations


Ads by Google