February 2006 Lemonade Internet Draft: LZIP S. H. Maes Document: draft-ietf-lemonade-compress-00 R. Cromwell (Editors) Expires: August 2006 February 2006 COMPRESSION Status of this Memo 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 becomes aware will be disclosed, in accordance with Section 6 of BCP 79. 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. Copyright Notice Copyright (C) The Internet Society (2006). Abstract Lemonade investigates adding mobile optimizations for the next version of the Lemonade Profile. LZIP addresses this task and provides an extension to allow compression of the exchanged text and binary literals, typically message body parts. Conventions used in this document Maes Expires – August 2006 [Page 1] February 2006 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 Copyright Notice............................................ 1 Abstract.................................................... 1 Conventions used in this document........................... 1 Table of Contents........................................... 2 1. Introduction............................................. 2 2. The CAPABILITY Command................................... 3 3. LZIP Commands............................................ 3 4. LZIP Response............................................ 3 5. Formal Syntax............................................ 4 Security Considerations..................................... 4 References.................................................. 4 Future Work................................................. 5 Version History............................................. 5 Acknowledgments............................................. 5 Authors Addresses........................................... 6 Intellectual Property Statement............................. 6 Disclaimer of Validity...................................... 7 Copyright Statement ........................................ 7 1. Introduction LZIP provides an extension to allow compression of text and binary literals. While it could be argued that transport could provide generic compression of the data (e.g. TLS with NULL Cipher), application level compression presents the advantage to be better tunable to the Maes Expires – August 2006 [Page 2] February 2006 type of data being requested, for example, to avoid compression of already compressed data. Compression performances depend on the actual types of e-mail that are received. They change between text bodies and different types of attachments. In general, LZIP presents a worthwhile gain over uncompressed or network compressed only approached at very little extra cost for the implementer. Bandwidth optimization are important features required in particular to support mobile email use cases [MEMAIL][OMA-ME-RD] 2. The CAPABILITY Command Servers which support LZIP MUST return ‘LZIP’ in the response list to a capability command. Example: A LEMONADE server that implements LZIP. C: a001 CAPABILITY S: * CAPABILITY IMAP4rev1 AUTH=LOGIN IDLE LZIP S: a001 OK CAPABILITY completed 3. LZIP Commands The LZIP command is an extension of [RFC3516] IMAP BINARY, which introduces three new commands “LZIP”, “LZIP.PEEK”, “LZIP.SIZE” that parallel the syntax and semantics of “BINARY”, “BINARY.PEEK”, and “BINARY.SIZE” in [RFC3516]. In general, LZIP inherits all of the requirements and semantics of [RFC3516]’s “BINARY” and “BINARY.PEEK”, except that the content transfer encoding being requested is understood to be the result of what would be returned from BINARY decoding, followed by the application of the DEFLATE algorithm. Example: Zipping a body part fetch C: A1 FETCH 123 LZIP.PEEK[1.2] S: * LZIP[1.2]~{1234} S: ….binary decoded and deflated data…. S: A1 OK FETCH completed As mentioned in RFC3516, LZIP.SIZE is a potentially expensive operation, as in LZIP, so clients should be aware that making successive requests for the same part may be expensive. 4. LZIP Response As the result of processing an LZIP command, two new responses, LZIP and LZIP.SIZE which parallel that responses of [RFC3516] are Maes Expires – August 2006 [Page 3] February 2006 introduced. They are identical in syntax and semantics of the BINARY responses in [RFC3516] in everyway, except that the resulting binary literal is understood to be in DEFLATE format. 5. Formal Syntax The following syntax specification uses the Augmented Backus-Naur Form (ABNF) notation. Elements not defined here can be found in the formal syntax of the [ABNF], [RFC3501], and [ABNFEXTEND]. The create ABNF grammar in [RFC3501] is hereby modified to the grammar defined in [ABNFEXTEND] fetch-att =/ "LZIP" [".PEEK"] section-binary [partial] / "LZIP.SIZE" section-binary msg-att-static =/ "LZIP" section-binary SP (nstring / literal8) / "LZIP.SIZE" section-binary SP number Security Considerations LZIP does not introduce additional security consideration with respect to IMAPv4Rev1. References [LEMONADEPROFILE] Maes, S.H. and Melnikov A., "Lemonade Profile", draft-ietf-lemonade-profile-XX.txt, (work in progress). [MEMAIL] Maes, S.H., “Lemonade and Mobile e-mail", draft-maes- lemonade-mobile-email-xx.txt, (work in progress). [OMA-ME-RD] Open Mobile Alliance Mobile Email Requirement Document, (Work in progress). http://www.openmobilealliance.org/ [P-IMAP] Maes, S.H., Lima R., Kuang, C., Cromwell, R., Ha, V. and Chiu, E., Day, J., Ahad R., Jeong W-H., Rosell G., Sini, J., Sohn S-M., Xiaohui F. and Lijun Z., "Push Extensions to the IMAP Protocol (P-IMAP)", draft-maes-lemonade-p-imap-xx.txt, (work in progress). [RFC1951] Deutsch, P. “DEFLATE Compressed Data Format Specification version 1.3”, RFC1951, May 1996. http://www.ietf.org/rfc/rfc1951 Maes Expires – August 2006 [Page 4] February 2006 [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 [RFC3516] Nerenberg, L. “IMAP4 Binary Content Extension”, RFC3516, April 2003. http://www.ietf.org/rfc/rfc3516 Future Work Should a new “compressed literal” be considered paralleling the binary literal8 syntax? For example, %~{nz-number}? Potential applications could be its usage in APPEND/CATENATE. Version History Release 00 of draft-maes-lemonadel-lzip Initial release published in June 2005 Release 01 of draft-maes-lemonadel-lzip Shortened list of editors. Authors pushed to acknowledgements Section 2: Addition of exact compression algorithm references Section 4: Addition of exact compression algorithm references Considerations on command compression added Correction and updates of examples References: Additional references on compression algorithms and IMAP4 Binary. Release 02 of draft-maes-lemonadel-lzip Reworked to model IMAP BINARY Release 00 of IETF draft Re-cast LZIP to focus on compression of text and binary literals. Acknowledgments The authors want to thank all who have contributed key insight and extensively reviewed and discussed the concepts of LPSEARCH and its early introduction P-IMAP [P-IMAP]. In particular, this includes the authors of the P-IMAP draft: Rafiul Ahad – Oracle Corporation, Eugene Chiu – Oracle Corporation, Ray Cromwell – Oracle Corporation, Jia-der Day – Oracle Corporation, Vi Ha – Oracle Corporation, Wook-Hyun Jeong – Samsung Electronics Co. LTF, Chang Kuang – Oracle Corporation, Rodrigo Lima – Oracle Corporation, Stephane H. Maes – Oracle Maes Expires – August 2006 [Page 5] February 2006 Corporation, Gustaf Rosell - Sony Ericsson, Jean Sini – Symbol Technologies, Sung-Mu Son – LG Electronics, Fan Xiaohui - CHINA MOBILE COMMUNICATIONS CORPORATION (CMCC), Zhao Lijun - CHINA MOBILE COMMUNICATIONS CORPORATION (CMCC). We also want to give a special thanks to A. Melnikov for his review and suggestions. 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 Ray Cromwell Oracle Corporation 500 Oracle Parkway Redwood Shores, CA 94065 USA Anil Srivastava Sun Microsystems 4150 Network Circle SCA15/201 Santa Clara, CA 94065 anil.srivastava@sun.com Intellectual Property Statement The IETF takes no position regarding the validity or scope of any Intellectual Property Rights or other rights that might be claimed to pertain to the implementation or use of the technology described in this document or the extent to which any license under such rights might or might not be available; nor does it represent that it has made any independent effort to identify any such rights. Information on the procedures with respect to rights in RFC documents can be found in BCP 7878 and BCP 79. Copies of IPR disclosures made to the IETF Secretariat 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 implementers or users of this specification can be obtained from the IETF on-line IPR repository at http://www.ietf.org/ipr. Maes Expires – August 2006 [Page 6] February 2006 The IETF invites any interested party to bring to its attention any copyrights, patents or patent applications, or other proprietary rights that may cover technology that may be required to implement this standard. Please address the information to the IETF at ietf- ipr@ietf.org. Disclaimer of Validity 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. Copyright Statement Copyright (C) The Internet Society (2006). 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. Acknowledgement Funding for the RFC Editor function is currently provided by the Internet Society. Maes Expires – August 2006 [Page 7]