< draft-newman-acap-imsp-lessons-01.txt   draft-newman-acap-imsp-lessons-02.txt >
Network Working Group C. Newman Network Working Group C. Newman
Internet Draft: Lessons Learned from IMSP Innosoft Internet Draft: Lessons Learned from IMSP Innosoft
Document: draft-newman-acap-imsp-lessons-01.txt December 1996 Document: draft-newman-acap-imsp-lessons-02.txt July 1997
Expires in six months
Lessons Learned from IMSP Lessons Learned from IMSP
Status of this memo Status of this memo
This document is an Internet Draft. Internet Drafts are working This document is an Internet-Draft. Internet-Drafts are working
documents of the Internet Engineering Task Force (IETF), its Areas, documents of the Internet Engineering Task Force (IETF), its areas,
and its Working Groups. Note that other groups may also distribute and its working groups. Note that other groups may also distribute
working documents as Internet Drafts. working documents as Internet-Drafts.
Internet Drafts are draft documents valid for a maximum of six
months. Internet Drafts may be updated, replaced, or obsoleted by
other documents at any time. It is not appropriate to use Internet
andrewDrafts as reference material or to cite them other than as a
``working draft'' or ``work in progress``.
To learn the current status of any Internet-Draft, please check the Internet-Drafts are draft documents valid for a maximum of six
1id-abstracts.txt listing contained in the Internet-Drafts Shadow months and may be updated, replaced, or obsoleted by other
Directories on ds.internic.net, nic.nordu.net, ftp.isi.edu, or documents at any time. It is inappropriate to use Internet-Drafts
munnari.oz.au. as reference material or to cite them other than as "work in
progress."
A revised version of this draft document will be submitted to the To view the entire list of current Internet-Drafts, please check
RFC editor as a Proposed Standard for the Internet Community. the "1id-abstracts.txt" listing contained in the Internet-Drafts
Discussion and suggestions for improvement are requested. This Shadow Directories on ftp.is.co.za (Africa), ftp.nordu.net
document will expire six months after publication. Distribution of (Europe), munnari.oz.au (Pacific Rim), ds.internic.net (US East
this draft is unlimited. Coast), or ftp.isi.edu (US West Coast).
1. Introduction Introduction
IMSP (Internet Message Support Protocol) [IMSP] was designed and IMSP (Internet Message Support Protocol) [IMSP] was designed and
implemented to supply the support functions necessary for a large implemented to supply the support functions necessary for a large
scale IMAP4 based infrastructure with highly mobile users. scale IMAP4 based infrastructure with highly mobile users.
Although the protocol was successful in its mission, it was Although the protocol was successful in its mission, it was
realized that a slightly different approach could achieve more for realized that a slightly different approach could achieve more for
the Internet Standards community. Thus was born the idea for ACAP the Internet Standards community. Thus was born the idea for ACAP
(Application Configuration Access Protocol) [ACAP]. (Application Configuration Access Protocol) [ACAP].
This document will discuss the successes and failures of the IMSP This document will discuss the successes and failures of the IMSP
protocol and how the IMSP experiment is influencing the design of protocol and how the IMSP experiment is influencing the design of
ACAP. ACAP.
2. The origin of IMSP 1. The origin of IMSP
CMU (Carnegie Mellon University) has been running an experimental CMU (Carnegie Mellon University) has been running an experimental
messaging system called AMS (Andrew Message System) for many years. messaging system called AMS (Andrew Message System) for many years.
AMS has been extremely successful and has lead to a situation where AMS has been extremely successful and has lead to a situation where
mail, shared bboards, and newsgroups are used daily by people from mail, shared bboards, and newsgroups are used daily by people from
all over the University, including non-technical departments. all over the University, including non-technical departments.
Unfortunately, AMS has two fatal flaws. It is dependant on AFS Unfortunately, AMS has two fatal flaws. It is dependant on AFS
(Andrew File System) which inhibits scaling and cross-platform use, (Andrew File System) which inhibits scaling and cross-platform use,
and is not standards based so that all clients have to be developed and is not standards based so that all clients have to be developed
in-house. in-house.
In 1992, CMU begin working through the Internet standards process In 1992, CMU begin working through the Internet standards process
to bring the functionality of AMS to the standards community. CMU to bring the functionality of AMS to the standards community. CMU
skipping to change at page 2, line 34 skipping to change at page 2, line 30
1) Storage for client configuration information. 1) Storage for client configuration information.
2) Storage for user address books. 2) Storage for user address books.
3) Mailbox distribution/replication support. 3) Mailbox distribution/replication support.
The first two components are successfully used today at a number of The first two components are successfully used today at a number of
large sites. Experiments with the third component are ongoing. large sites. Experiments with the third component are ongoing.
3. Mobile Users 2. Nomadic Users
Universities, Hospitals and other large sites need a message system Universities, Hospitals and other large sites need a message system
where any PC or workstation can be used to access messages where any PC or workstation can be used to access messages
transparently. As tele-commuting and laptops become more popular, transparently. As tele-commuting and laptops become more popular,
more individuals are faced with the problem of accessing their more individuals are faced with the problem of accessing their
messages from more than one computer and often more than one messages from more than one computer and often more than one
platform. While IMAP4 [IMAP] allows users to access their message platform. While IMAP4 [IMAP] allows users to access their message
stores, it does not provide storage for address books and stores, it does not provide storage for address books and
configuration information needed by these mobile users. IMSP fills configuration information needed by these mobile users. IMSP fills
this niche. this niche.
This need is so great that a significant number of sites have This need is so great that a significant number of sites have
deployed IMAP4 and IMSP despite the immaturity of IMAP clients in deployed IMAP4 and IMSP despite the immaturity of IMAP clients in
1995 and the experimental nature of IMSP. The IMAP4/IMSP 1995 and the experimental nature of IMSP. The IMAP4/IMSP
combination allows users to move from machine to machine and get combination allows users to move from machine to machine and get
the same configuration and interface. the same configuration and interface.
4. Client Configuration 3. Client Configuration
The CMU IMSP server implementation provides server storage of The CMU IMSP server implementation provides server storage of
client configuration and also provides administrative defaults or client configuration and also provides administrative defaults or
mandatory settings for client configuration. Our experiments show mandatory settings for client configuration. Our experiments show
this is a great success. this is a great success.
For example, many sites wish to control what appears in the "From:" For example, many sites wish to control what appears in the "From:"
header of outgoing mail, while other sites let the user do as they header of outgoing mail, while other sites let the user do as they
choose. The CMU IMSP server allows sites to configure either a choose. The CMU IMSP server allows sites to configure either a
default "From:" address, or a mandatory "From:" address based on default "From:" address, or a mandatory "From:" address based on
skipping to change at page 3, line 31 skipping to change at page 3, line 27
private configuration information on the IMSP server, in addition private configuration information on the IMSP server, in addition
to common configuration options. The decision to create an IMSP to common configuration options. The decision to create an IMSP
options registry for common options as well as reserving parts of options registry for common options as well as reserving parts of
the name space with vendor specific prefixes appears to be sound. the name space with vendor specific prefixes appears to be sound.
Options appear to work well as they are implemented in IMSP, and Options appear to work well as they are implemented in IMSP, and
are certainly not limited to messaging. ACAP should include an are certainly not limited to messaging. ACAP should include an
option registry with vendor specific prefixes, as well as option registry with vendor specific prefixes, as well as
administrative defaults and mandatory settings. administrative defaults and mandatory settings.
5. Address Books and Access Control 4. Address Books and Access Control
Almost every messaging system provides an interface for personal Almost every messaging system provides an interface for personal
address books which is distinct from a public directory service. address books which is distinct from a public directory service.
CMU's IMSP server provides an interface to multiple personal CMU's IMSP server provides an interface to multiple personal
address books. It also provides rich access control on address address books. It also provides rich access control on address
books so they can be shared with other users. As soon as a client books so they can be shared with other users. As soon as a client
interface was created for these functions they both became very interface was created for these functions they both became very
popular. They were so popular, in fact, that users started asking popular. They were so popular, in fact, that users started asking
for the ability to "subscribe" to address books so they didn't have for the ability to "subscribe" to address books so they didn't have
to wade though a large list. to wade though a large list.
skipping to change at page 4, line 22 skipping to change at page 4, line 19
PC/GUI model uses common names which can be chosen from a list to PC/GUI model uses common names which can be chosen from a list to
use as the email address. IMSP used the common name as the primary use as the email address. IMSP used the common name as the primary
key for address books, which makes implementation of the key for address books, which makes implementation of the
Unix/text-based model inefficient due to the two-round trips needed Unix/text-based model inefficient due to the two-round trips needed
for searching. for searching.
The ACAP protocol should include address books with rich access The ACAP protocol should include address books with rich access
control and a "subscription" capability. It needs to address the control and a "subscription" capability. It needs to address the
problems we've identified in IMSP. problems we've identified in IMSP.
6. Generalization of the Application Configuration problem 5. Generalization of the Application Configuration problem
While IMSP was designed specifically for messaging applications, While IMSP was designed specifically for messaging applications,
the options and address book functions could be quite useful in the options and address book functions could be quite useful in
other applications. In addition, the mobility problem is not other applications. In addition, the mobility problem is not
limited to messaging. Web browser bookmarks are a prime example of limited to messaging. Web browser bookmarks are a prime example of
application configuration information which should be mobile. application configuration information which should be mobile.
Another observation was that the mailbox list features of IMSP Another observation was that the mailbox list features of IMSP
didn't seem to fit with the address book and configuration didn't seem to fit with the address book and configuration
portions, and each had different target markets. This recognition portions, and each had different target markets. This recognition
was the primary motivation to invent ACAP. ACAP specifies a basic was the primary motivation to invent ACAP. ACAP specifies a basic
model which can then be applied to support different applications. model which can then be applied to support different applications.
7. Large Lists 6. Large Lists
The IMSP protocol model for address book entries and mailbox lists The IMSP protocol model for address book entries and mailbox lists
is a serious problem for large lists. It requires fetching the is a serious problem for large lists. It requires fetching the
entire list, even when a client only has display space for the entire list, even when a client only has display space for the
first 50. This can be very slow on low memory machines and over first 50. This can be very slow on low memory machines and over
slow network connections. slow network connections.
ACAP should provide a way for clients to implement "virtual scroll ACAP should provide a way for clients to implement "virtual scroll
bars" where they only have to fetch what needs to be displayed to bars" where they only have to fetch what needs to be displayed to
the user. This means that ACAP needs rich server side searching the user. This means that ACAP needs rich server side searching
and sorting with the ability to fetch deterministic parts of the and sorting with the ability to fetch deterministic parts of the
resulting ordered list. resulting ordered list.
8. The ACAP "dataset" model 7. The ACAP "dataset" model
The CMU IMSP implementation ended up using the same database The CMU IMSP implementation ended up using the same database
backend for all the lists (options, address book entries, address backend for all the lists (options, address book entries, address
books, mailboxes). The server translated the function based books, mailboxes). The server translated the function based
commands for each of these lists into a common set of backend commands for each of these lists into a common set of backend
database operations. database operations.
ACAP can be a smaller and simpler protocol than IMSP if it provides ACAP can be a smaller and simpler protocol than IMSP if it provides
data based commands rather than function based commands. The idea data based commands rather than function based commands. The idea
is to take the IMSP address book model and turn it in to a generic is to take the IMSP address book model and turn it in to a generic
container which can hold options, mailboxes, access control groups container which can hold options, mailboxes, access control groups
or even web browser bookmarks. or even web browser bookmarks.
Therefore the ACAP "dataset" model has the same structure as an Therefore the ACAP "dataset" model has the same structure as an
IMSP address book: a dataset is a set of entries and each entry is IMSP address book: a dataset is a set of entries and each entry is
a set of (attribute, value) pairs. a set of (attribute, value) pairs.
9. Conclusion 8. Conclusion
IMSP was a successful experiment which demonstrates the need for a IMSP was a successful experiment which demonstrates the need for a
configuration server. ACAP is the logical refinement of the ideas configuration server. ACAP is the logical refinement of the ideas
behind IMSP and is likely to become an important part of the behind IMSP and is likely to become an important part of the
Internet protocol suite. Internet protocol suite.
10. References 9. References
[IMSP] Myers, J., "Internet Message Support Protocol", [IMSP] Myers, J., "Internet Message Support Protocol",
Experiment in progress, Experiment in progress,
http://andrew2.andrew.cmu.edu/cyrus/rfc/imsp.html, http://andrew2.andrew.cmu.edu/cyrus/rfc/imsp.html, June
June 1995 1995
[IMAP] Crispin, M., "Internet Message Access Protocol - [IMAP] Crispin, M., "Internet Message Access Protocol -
Version 4rev1", RFC 2060, University of Version 4rev1", RFC 2060, University of Washington,
Washington, December 1996. December 1996.
[ACAP] Myers, J., "Application Configuration Access [ACAP] Newman, Myers, "Application Configuration Access
Protocol", Work in progress, November 1996. Protocol", Work in progress, June 1997.
11. Security Considerations 10. Security Considerations
There are no known security issues in this memo. There are no known security issues in this memo.
12. Acknowledgments 11. Acknowledgments
Many thanks to Steve Hole and the ESYS corporation for their Many thanks to Steve Hole and the ESYS corporation for their early
early client support of IMSP which was invaluable to this client support of IMSP which was invaluable to this effort. Thanks
effort. Thanks also to Terry Gray for his insistence that also to Terry Gray for his insistence that IMSP was too application
IMSP was too application specific and that something more specific and that something more general was needed. And thanks to
general was needed. And thanks to John Myers for his John Myers for his authorship of the IMSP specification and
authorship of the IMSP specification and observation that observation that everything could fit into the address book model.
everything could fit into the address book model.
13. Author's Address 12. Author's Address
Chris Newman Chris Newman
Innosoft International, Inc. Innosoft International, Inc.
1050 E Garvey Ave S. 1050 Lakes Drive
West Covina, CA 91790 West Covina, CA 91790
Email: chris.newman@innosoft.com Email: chris.newman@innosoft.com
 End of changes. 24 change blocks. 
51 lines changed or deleted 47 lines changed or added

This html diff was produced by rfcdiff 1.48. The latest version is available from http://tools.ietf.org/tools/rfcdiff/