home *** CD-ROM | disk | FTP | other *** search
/ Internet Info 1997 December / Internet_Info_CD-ROM_Walnut_Creek_December_1997.iso / drafts / draft_n_r / draft-newman-acap-imsp-lessons-02.txt < prev    next >
Text File  |  1997-07-29  |  12KB  |  341 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7. Network Working Group                                          C. Newman
  8. Internet Draft: Lessons Learned from IMSP                       Innosoft
  9. Document: draft-newman-acap-imsp-lessons-02.txt                July 1997
  10.                                                    Expires in six months
  11.  
  12.  
  13.                        Lessons Learned from IMSP
  14.  
  15.  
  16. Status of this memo
  17.  
  18.      This document is an Internet-Draft.  Internet-Drafts are working
  19.      documents of the Internet Engineering Task Force (IETF), its areas,
  20.      and its working groups.  Note that other groups may also distribute
  21.      working documents as Internet-Drafts.
  22.  
  23.      Internet-Drafts are draft documents valid for a maximum of six
  24.      months and may be updated, replaced, or obsoleted by other
  25.      documents at any time.  It is inappropriate to use Internet-Drafts
  26.      as reference material or to cite them other than as "work in
  27.      progress."
  28.  
  29.      To view the entire list of current Internet-Drafts, please check
  30.      the "1id-abstracts.txt" listing contained in the Internet-Drafts
  31.      Shadow Directories on ftp.is.co.za (Africa), ftp.nordu.net
  32.      (Europe), munnari.oz.au (Pacific Rim), ds.internic.net (US East
  33.      Coast), or ftp.isi.edu (US West Coast).
  34.  
  35.  
  36. Introduction
  37.  
  38.      IMSP (Internet Message Support Protocol) [IMSP] was designed and
  39.      implemented to supply the support functions necessary for a large
  40.      scale IMAP4 based infrastructure with highly mobile users.
  41.      Although the protocol was successful in its mission, it was
  42.      realized that a slightly different approach could achieve more for
  43.      the Internet Standards community.  Thus was born the idea for ACAP
  44.      (Application Configuration Access Protocol) [ACAP].
  45.  
  46.      This document will discuss the successes and failures of the IMSP
  47.      protocol and how the IMSP experiment is influencing the design of
  48.      ACAP.
  49.  
  50.  
  51. 1. The origin of IMSP
  52.  
  53.      CMU (Carnegie Mellon University) has been running an experimental
  54.      messaging system called AMS (Andrew Message System) for many years.
  55.  
  56.  
  57.  
  58. Newman                                                          [Page 1]
  59.  
  60. Internet Draft         Lessons Learned from IMSP               July 1997
  61.  
  62.  
  63.      AMS has been extremely successful and has lead to a situation where
  64.      mail, shared bboards, and newsgroups are used daily by people from
  65.      all over the University, including non-technical departments.
  66.      Unfortunately, AMS has two fatal flaws.  It is dependant on AFS
  67.      (Andrew File System) which inhibits scaling and cross-platform use,
  68.      and is not standards based so that all clients have to be developed
  69.      in-house.
  70.  
  71.      In 1992, CMU begin working through the Internet standards process
  72.      to bring the functionality of AMS to the standards community.  CMU
  73.      strongly supported IMAP4 [IMAP] as the core functionality, and
  74.      created IMSP to supply the support functions which are needed in a
  75.      message system but are not part of basic message access.
  76.  
  77.      There are three major components of IMSP:
  78.  
  79.      1) Storage for client configuration information.
  80.  
  81.      2) Storage for user address books.
  82.  
  83.      3) Mailbox distribution/replication support.
  84.  
  85.      The first two components are successfully used today at a number of
  86.      large sites.  Experiments with the third component are ongoing.
  87.  
  88.  
  89. 2. Nomadic Users
  90.  
  91.      Universities, Hospitals and other large sites need a message system
  92.      where any PC or workstation can be used to access messages
  93.      transparently.  As tele-commuting and laptops become more popular,
  94.      more individuals are faced with the problem of accessing their
  95.      messages from more than one computer and often more than one
  96.      platform.  While IMAP4 [IMAP] allows users to access their message
  97.      stores, it does not provide storage for address books and
  98.      configuration information needed by these mobile users.  IMSP fills
  99.      this niche.
  100.  
  101.      This need is so great that a significant number of sites have
  102.      deployed IMAP4 and IMSP despite the immaturity of IMAP clients in
  103.      1995 and the experimental nature of IMSP.  The IMAP4/IMSP
  104.      combination allows users to move from machine to machine and get
  105.      the same configuration and interface.
  106.  
  107.  
  108. 3. Client Configuration
  109.  
  110.      The CMU IMSP server implementation provides server storage of
  111.  
  112.  
  113.  
  114. Newman                                                          [Page 2]
  115.  
  116. Internet Draft         Lessons Learned from IMSP               July 1997
  117.  
  118.  
  119.      client configuration and also provides administrative defaults or
  120.      mandatory settings for client configuration.  Our experiments show
  121.      this is a great success.
  122.  
  123.      For example, many sites wish to control what appears in the "From:"
  124.      header of outgoing mail, while other sites let the user do as they
  125.      choose.  The CMU IMSP server allows sites to configure either a
  126.      default "From:" address, or a mandatory "From:" address based on
  127.      the IMSP login name.  This prevents users from accidentally sending
  128.      mail with the wrong "From:" address.  Administrators of large sites
  129.      are quite fond of this feature.
  130.  
  131.      The Simeon client from ESYS corporation stores a great deal of
  132.      private configuration information on the IMSP server, in addition
  133.      to common configuration options.  The decision to create an IMSP
  134.      options registry for common options as well as reserving parts of
  135.      the name space with vendor specific prefixes appears to be sound.
  136.  
  137.      Options appear to work well as they are implemented in IMSP, and
  138.      are certainly not limited to messaging.  ACAP should include an
  139.      option registry with vendor specific prefixes, as well as
  140.      administrative defaults and mandatory settings.
  141.  
  142.  
  143. 4. Address Books and Access Control
  144.  
  145.      Almost every messaging system provides an interface for personal
  146.      address books which is distinct from a public directory service.
  147.      CMU's IMSP server provides an interface to multiple personal
  148.      address books.  It also provides rich access control on address
  149.      books so they can be shared with other users.  As soon as a client
  150.      interface was created for these functions they both became very
  151.      popular.  They were so popular, in fact, that users started asking
  152.      for the ability to "subscribe" to address books so they didn't have
  153.      to wade though a large list.
  154.  
  155.      The basic structure for IMSP address books was that each address
  156.      book was made up of a list of entries, and each entry was made up
  157.      of a set of (attribute, value) pairs.  A set of basic attributes
  158.      was defined, and others were permitted.  This structure
  159.      successfully provided the necessary flexibility.
  160.  
  161.      Despite these successes, there are a number of problems with IMSP
  162.      address books.  Access becomes slow when they get large, and
  163.      searching requires two round trips to the server.  The original
  164.      server implementation didn't allow spaces in address book entry
  165.      names, but users soon demanded this flexibility.  There were also
  166.      requests for access control groups to improve sharing of address
  167.  
  168.  
  169.  
  170. Newman                                                          [Page 3]
  171.  
  172. Internet Draft         Lessons Learned from IMSP               July 1997
  173.  
  174.  
  175.      books.
  176.  
  177.      Finally, it became clear that there are two different models for
  178.      address books in common use.  The Unix/text-based model has a short
  179.      alias for each entry which expands to the email address.  The
  180.      PC/GUI model uses common names which can be chosen from a list to
  181.      use as the email address.  IMSP used the common name as the primary
  182.      key for address books, which makes implementation of the
  183.      Unix/text-based model inefficient due to the two-round trips needed
  184.      for searching.
  185.  
  186.      The ACAP protocol should include address books with rich access
  187.      control and a "subscription" capability.  It needs to address the
  188.      problems we've identified in IMSP.
  189.  
  190.  
  191. 5. Generalization of the Application Configuration problem
  192.  
  193.      While IMSP was designed specifically for messaging applications,
  194.      the options and address book functions could be quite useful in
  195.      other applications.  In addition, the mobility problem is not
  196.      limited to messaging.  Web browser bookmarks are a prime example of
  197.      application configuration information which should be mobile.
  198.  
  199.      Another observation was that the mailbox list features of IMSP
  200.      didn't seem to fit with the address book and configuration
  201.      portions, and each had different target markets.  This recognition
  202.      was the primary motivation to invent ACAP.  ACAP specifies a basic
  203.      model which can then be applied to support different applications.
  204.  
  205.  
  206. 6. Large Lists
  207.  
  208.      The IMSP protocol model for address book entries and mailbox lists
  209.      is a serious problem for large lists.  It requires fetching the
  210.      entire list, even when a client only has display space for the
  211.      first 50.  This can be very slow on low memory machines and over
  212.      slow network connections.
  213.  
  214.      ACAP should provide a way for clients to implement "virtual scroll
  215.      bars" where they only have to fetch what needs to be displayed to
  216.      the user.  This means that ACAP needs rich server side searching
  217.      and sorting with the ability to fetch deterministic parts of the
  218.      resulting ordered list.
  219.  
  220.  
  221.  
  222.  
  223.  
  224.  
  225.  
  226. Newman                                                          [Page 4]
  227.  
  228. Internet Draft         Lessons Learned from IMSP               July 1997
  229.  
  230.  
  231. 7. The ACAP "dataset" model
  232.  
  233.      The CMU IMSP implementation ended up using the same database
  234.      backend for all the lists (options, address book entries, address
  235.      books, mailboxes).  The server translated the function based
  236.      commands for each of these lists into a common set of backend
  237.      database operations.
  238.  
  239.      ACAP can be a smaller and simpler protocol than IMSP if it provides
  240.      data based commands rather than function based commands.  The idea
  241.      is to take the IMSP address book model and turn it in to a generic
  242.      container which can hold options, mailboxes, access control groups
  243.      or even web browser bookmarks.
  244.  
  245.      Therefore the ACAP "dataset" model has the same structure as an
  246.      IMSP address book: a dataset is a set of entries and each entry is
  247.      a set of (attribute, value) pairs.
  248.  
  249.  
  250. 8. Conclusion
  251.  
  252.      IMSP was a successful experiment which demonstrates the need for a
  253.      configuration server.  ACAP is the logical refinement of the ideas
  254.      behind IMSP and is likely to become an important part of the
  255.      Internet protocol suite.
  256.  
  257.  
  258. 9. References
  259.  
  260.      [IMSP]      Myers, J., "Internet Message Support Protocol",
  261.                  Experiment in progress,
  262.                  http://andrew2.andrew.cmu.edu/cyrus/rfc/imsp.html, June
  263.                  1995
  264.  
  265.      [IMAP]      Crispin, M., "Internet Message Access Protocol -
  266.                  Version 4rev1", RFC 2060, University of Washington,
  267.                  December 1996.
  268.  
  269.      [ACAP]      Newman, Myers, "Application Configuration Access
  270.                  Protocol", Work in progress, June 1997.
  271.  
  272.  
  273.  
  274. 10. Security Considerations
  275.  
  276.      There are no known security issues in this memo.
  277.  
  278.  
  279.  
  280.  
  281.  
  282. Newman                                                          [Page 5]
  283.  
  284. Internet Draft         Lessons Learned from IMSP               July 1997
  285.  
  286.  
  287. 11. Acknowledgments
  288.  
  289.      Many thanks to Steve Hole and the ESYS corporation for their early
  290.      client support of IMSP which was invaluable to this effort.  Thanks
  291.      also to Terry Gray for his insistence that IMSP was too application
  292.      specific and that something more general was needed.  And thanks to
  293.      John Myers for his authorship of the IMSP specification and
  294.      observation that everything could fit into the address book model.
  295.  
  296. 12. Author's Address
  297.  
  298.      Chris Newman
  299.      Innosoft International, Inc.
  300.      1050 Lakes Drive
  301.      West Covina, CA 91790
  302.  
  303.      Email: chris.newman@innosoft.com
  304.  
  305.  
  306.  
  307.  
  308.  
  309.  
  310.  
  311.  
  312.  
  313.  
  314.  
  315.  
  316.  
  317.  
  318.  
  319.  
  320.  
  321.  
  322.  
  323.  
  324.  
  325.  
  326.  
  327.  
  328.  
  329.  
  330.  
  331.  
  332.  
  333.  
  334.  
  335.  
  336.  
  337.  
  338. Newman                                                          [Page 6]
  339.  
  340.  
  341.