Lemonade Internet Draft: Lemonade Requirements Server to S. H. Maes Client Notifications Document: draft-smaes-lemonade-s2c-notification- C. Wilson reqs-00 Expires: April 2005 October 2004 Lemonade Requirements for Server to Client Notifications Status of this Memo This document is an Internet-Draft and is subject to all provisions of Section 10 of RFC2026. By submitting this Internet-Draft, each author represents that any applicable patent or other IPR claims of which he or she is aware have been or will be disclosed, and any of which he or she become aware will be disclosed, in accordance with RFC 3668. Internet-Drafts are working documents of the Internet Engineering Task Force (IETF), its areas, and its working groups. Note that other groups may also distribute working documents as Internet- Drafts. Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress." The list of current Internet-Drafts can be accessed at http://www.ietf.org/ietf/1id-abstracts.txt The list of Internet-Draft Shadow Directories can be accessed at http://www.ietf.org/shadow.html. Abstract This document describes Lemonade requirements for server to client notifications. These server to client notifications provide information on crucial changes to a client. This document does not assume how notifications are provided to the clients: the client to server notifications may be actively pushed to a client through different mechanisms rather than requiring the client to initiate contact to ask for state changes; or they may be polled by the client, still avoiding that the client performs full state comparisons. Conventions used in this document Maes [Page 1] October 2004 In examples, "C:" and "S:" indicate lines sent by the client and server respectively. The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in [RFC2119]. An implementation is not compliant if it fails to satisfy one or more of the MUST or REQUIRED level requirements for the protocol(s) it implements. An implementation that satisfies all the MUST or REQUIRED level and all the SHOULD level requirements for a protocol is said to be "unconditionally compliant" to that protocol; one that satisfies all the MUST level requirements but not all the SHOULD level requirements is said to be "conditionally compliant." When describing the general syntax, some definitions are omitted as they are defined in [RFC3501]. Table of Contents Status of this Memo...............................................1 Abstract..........................................................1 Conventions used in this document.................................1 Table of Contents.................................................2 1. Introduction...................................................2 2. Use cases for Lemonade Server to Client Notifications..........3 2.1. Outband notifications.....................................3 2.2. Inband notifications......................................4 2.3. Event-based synchronization...............................4 2.4. Notification filtering....................................4 2.5. Notification buffering or polling.........................5 2.6. Changes of notification mechanisms........................5 2.7. Changes of filtering......................................5 2.8. Notification content......................................5 2.9. End-to-end Notification confidentiality...................5 2.10. End-to-end Notification reliability......................5 2.11. Notification buffering...................................6 2.12. Notification from multiple server........................6 2.13. Notification service provider............................6 3. Requirements for Lemonade Client to Server Notifications.......6 Security Considerations...........................................8 References........................................................9 Authors Addresses.................................................9 Intellectual Property Statement...................................9 Full Copyright Statement.........................................10 1. Introduction Maes Expires - April 2005 [Page 2] October 2004 In this document, we assume clients with limited computing resources and battery life time able to connect to a Lemonade server through a network with constrained or costly bandwidth (e.g. mobile network). The lemonade profile [LEMONADEPROFILE] extends IMAPv4 Rev1 [RFC3501] with optimizations that are especially useful when accessing, manipulating or sending messages from resource and bandwidth constrained clients. Users of wired systems (desktop, laptop) have come to expect a quasi- instantaneous reflection on the client of changes that take place on the mail server. These same users are expecting the same behavior on mobile devices while, at the same time, minimizing bandwidth and power requirements to allow normal client response over a nominal time frame. As a result, server to client notifications are required to support some or all of the following: - avoid unnecessary polling when possible - enable quasi instantaneous client wake up and update when possible - avoid full fledged state comparison by the client as typically performed by IMAP clients. The Lemonade server to client notifications inform the client of changes in an end user's mailbox. Use cases are at a \very high level. As the work progress more details may be added. These use cases may also expand into additional use cases and requirements for Lemonade Profile. 2. Use cases for Lemonade Server to Client Notifications 2.1. Outband notifications Permanent connections from the client to the server have an associated cost in battery power which may limit the lifetime of the device beyond the usefulness of the email client. Permanent connections may also be prohibitively expensive as well depending on the network operatorĘs billing structure. In order to preserve battery power and/or limit the cost of connection, it is desirable for a mobile client not to maintain a permanent data connection (IP address, etc...). However, the user expects that his client will reflect changes that take place on the mail server quasi-instantaneously (e.g. new e-mail, deleted e-mail, change of status (read/unread), e-mail move ...). Maes Expires - April 2005 [Page 3] October 2004 By allowing the mobile device to receive outband notifications over a wireless network (GSM, CDMA, WLAN, ą), the client is made aware of the event (i.e. it is awakened). The client can react as determined by its settings (user preferences, client settings ...) by updating its state if it has enough information, or connecting to the server to access the information required to update its state. 2.2. Inband notifications Even when a client is always data connected, in order to preserve battery power or to limit the cost of connection, a client (mobile device) limits its requests for changes to the server. Still the user expects that his client will quasi-instantaneously reflect changes that take place on the mail server (e.g. new e-mail, deleted e-mail, change of status (read/unread), e-mail move, ...). With a mechanism for inband notifications, the client can await for server events to request information on changes on the server. The client can react as determined by its settings (user preferences, client settings, ...) by updating its state (if it has enough information) or connect to the server to access the information required to update its state. Such a mechanism should minimize bandwidth requirements and processing requirements on the client. 2.3. Event-based synchronization The client spends a significant time during the lifetime of the connection making sure that the server and client are properly synchronized. In order to minimize this cost (bandwidth and processing) a mobile client can avoid full state comparisons by simply collecting all the changes that took place on the server and applying them on the client. These events can be actively sent to the client by the server (notification) or made available to a client that request synchronization with the server. 2.4. Notification filtering A user may decide to send the client (mobile device) only notifications related to special events (e.g. e-mail marked urgent or e-mail from a particular sender). Other changes can be kept on the server (delayed notification) and made available during the event-based synchronization that takes place when the client connects to the server. Maes Expires - April 2005 [Page 4] October 2004 2.5. Notification buffering or polling On a network where notifications may not be reliable, a client may connect to server without having been notified or may not have received all the notifications the server has sent. The server then provides the notifications that have not yet been acted on for the client to perform event-based synchronization. 2.6. Changes of notification mechanisms A user may want to be able to change the notification mechanisms to be used: - Outband to a new device address / new device - From inband (when connected) to outband (to save batteries, because of change of network technologies or because of change of cost of bandwidth). - From pushed notifications (inband or outband) to periodic poll. 2.7. Changes of filtering While connected, a user may want to be able to change the notification filters to be applied (e.g. to add a user or event for push notification or delayed notification). 2.8. Notification content A server may simply notify that an event took place and invite the client to access the notification details from the server. It may also provide more information about the details of the event in the notification to allow the client, as determined by its settings (user preferences, client settings, ...), to immediately update its state prior to connecting to the server. 2.9. End-to-end Notification confidentiality A server that provides notifications with more information about the details of the events must encrypt the notification to preserve confidentiality. 2.10. End-to-end Notification reliability Notifications may not be reliable under some conditions (e.g. outband notifications over mobile network or inband notifications lost when connectivity is lost). The server maintains the notifications that have not yet been acted on for the client to perform event-based synchronization. After a certain period of inaction, based on settings or preferences, the Maes Expires - April 2005 [Page 5] October 2004 server may send (e.g. periodically) an additional notification to prompt the client to access these remaining notifications; until the client acts upon them. Similarly, if no notification was received for a while, and based on settings or preferences, a client may access the server to check for missing notifications stored by the server. 2.11. Notification buffering After determining that a client does not react to notifications, the server may stop sending them and solely stored / buffer them on the server. A mechanism as described in the End-to-end Notification reliability use case can be used for the client to eventually receive them. 2.12. Notification from multiple server A client receives notifications associated to multiple servers / e- mail accounts. 2.13. Notification service provider A client is notified by a notification service provided by a service provider that reacts to events communicates by the e-mail server in an enterprise domain. Confidentiality and integrity of the notifications is maintained. A typical example would be a mobile e- mail service provided by a GSM or CDMA operator that provides client to server notification (and support for Lemonade profile) to enterprise e-mail server and employees. 3. Requirements for Lemonade Client to Server Notifications This section contains a list of requirements for the Lemonade Client to Server Notifications. R-1: Notifications MUST support association to server mail events including: - New incoming e-mail - E-mail status change (read/unread, deleted, ...) - E-mail moved to new folder - New folder - New sent e-mail R-2: Notifications MUST support partial description that an event took place, as decided by server settings or preferences Maes Expires - April 2005 [Page 6] October 2004 R-3: Notification MAY provide details of the event that took place on the server R-4: When notifications provide additional details, they MUST support end-to-end confidentiality between server and client R-5: Notification mechanisms MUST be independent of the transport mechanism R-6: Notifications MUST support outband notification mechanisms for clients and networks that support such mechanisms. These include: - SMS - Push (e.g. WAP Push) - MMS - IP/UDP (WLAN, BT) R-7: Notifications MUST support inband notification mechanisms for clients that are data connected to the network and support pushed notification to the client. R-8: When available, it MUST be possible to use outband notification to wake up clients that are not permanently data connected to the network (e.g. no IP address). R-9: Lemonade servers MUST be able to store Notifications that have not yet been acted upon by the client and make them available when the client accesses the server. R-10: A client MUST be able to query for Notifications that have not yet been acted upon by the client. R-11: The overall notification mechanism MUST be end-to-end reliable even if the notification transport / channel may be unreliable (e.g. SMS). R-12: The overall notification mechanism MUST provide event-based synchronization so that the client reflects all changes on the server based on settings / preferences / filtering. R-13: The overall notification mechanisms MUST allow filtering of the notifications pushed to the client versus the notification kept on the server for when the client accesses it. R-14: It MUST be possible to change the notification filtering rules from the client. R-15: It MUST be possible to change the notification mechanisms from the client (e.g. new device, inband, outband, polling, ...) Maes Expires - April 2005 [Page 7] October 2004 R-16: The server MUST be able to limit the number of notifications sent to the client within a given time span if the client does not react to them and a certain number of notifications are pending on the server as determined by settings or preferences. R-17: Clients MUST be able, based on settings or preferences, to handle situations where no notification has been received for a certain period of time by accessing the server and checking for notifications that have not been acted upon. R-18: Servers MUST be able, based on settings or preferences, to handle situations where no notification has been acted upon for a certain period of time by periodically trying to notify the client server of pending notifications. R-19: Outband notification MUST support the associated addressing schema of the mobile network that may differ from the IP addresses (that may not exist). R-20: Notification SHOULD be designed to allow quasi-instantaneous transmission to the client when supported by network and device. R-21: Notifications MUST be designed to minimize bandwidth requirements to convey their intended information. R-22: A client MUST always be able to associate a notification with the correct originating server in order to update its state properly. R-23: Notifications MUST be compatible with firewalls when appropriate. R-24: Notification MUST be confidential when needed. R-25: Proxy deployments MUST be compatible with end-to-end confidential notifications. R-26: All notification mechanisms MUST be designed to minimize processing requirements on the client. Security Considerations We have the same security requirements for an in-response, polled and inband connectivity mode as IMAP. For the outband connectivity mode, servers should use encryption methods for notifications if sensitive information is included in the payload of that notification. Maes Expires - April 2005 [Page 8] October 2004 When an implementation of Lemonade is proxy-based, this may create new security issues. There may be SPAM issues. With the proliferation of SPAM opening notifications to a large user base could bring existing wireless networks to a halt. They may also lead to denial of service attack on client. Mechanisms may be needed to address these issues. References [RFC2119] Brader, S. "Keywords for use in RFCs to Indicate Requirement Levels", RFC 2119, March 1997. http://www.ietf.org/rfc/rfc2119 [RFC3501] Crispin, M. "IMAP4, Internet Message Access Protocol Version 4 rev1", RFC 3501, March 2003. http://www.ietf.org/rfc/rfc3501 [LEMONADEPROFILE] Maes, S.H. and Melnikov A., "Lemonade Profile", draft-ietf-lemonade-profile-00.txt, (work in progress), July 2004. Authors Addresses Stephane H. Maes Oracle Corporation 500 Oracle Parkway M/S 4op634 Redwood Shores, CA 94065 USA Phone: +1-650-607-6296 Email: stephane.maes@oracle.com Corby Wilson Enterprise Mobility Systems Nokia 503 Martindale Street Suite 610 Pittsburgh, PA 15212 USA Phone: +1-412-576-5402 Email: Corby.Wilson@nokia.com Intellectual Property Statement The IETF takes no position regarding the validity or scope of any intellectual property or other rights that might be claimed to pertain to the implementation or use of the technology described in Maes Expires - April 2005 [Page 9] October 2004 this document or the extent to which any license under such rights might or might not be available; neither does it represent that it has made any effort to identify any such rights. Information on the IETF's procedures with respect to rights in standards-track and standards-related documentation can be found in BCP-11. Copies of claims of rights made available for publication and any assurances of licenses to be made available, or the result of an attempt made to obtain a general license or permission for the use of such proprietary rights by implementors or users of this specification can be obtained from the IETF Secretariat. The IETF invites any interested party to bring to its attention any copyrights, patents or patent applications, or other proprietary rights which may cover technology that may be required to practice this standard. Please address the information to the IETF Executive Director. Acknowledgement Funding for the RFC Editor function is currently provided by the Internet Society. Full Copyright Statement Copyright (C) The Internet Society (2004). This document is subject to the rights, licenses and restrictions contained in BCP 78, and except as set forth therein, the authors retain all their rights. This document and the information contained herein are provided on an "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY AND THE INTERNET ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Maes Expires - April 2005 [Page 10] October 2004 Maes Expires - April 2005 [Page 11]