Application Configuration Access Protocol Praveen S Thangavelu Nov Advisor: Dr Chung-E-Wang Department of Computer Science, CSUS
Motivation and Agenda Opportunity to study, design and implement a real life internet protocol Solution to client mobility Understanding RFC specifications Agenda Overview Protocol Framework ACAP Commands Design Issues – Methodology, scope & clients Major functionality Problems Results and Future enhancements
Overview Companion protocol to IMAP IMAP vs. ACAP History – IMSP and ACAP Directory Service?? Application of ACAP and Example ACAP Usage for Mobile User Example Clients EUDORA – ACAP enabled
Data Model and Design Goals ACAP Data Model Datasets, entries and attributes Tree of entries Rules with which clients access datasets are specified in dataset classes Pre-defined attributes Design Goals Access Configuration/Preferences remotely Emphasis on client simplicity Easily manageable – Dataset Inheritance Clients with intermittent access- slow clients – modtime attribute Operated well with Large clients
Protocol Framework Link Level Assumes reliable data stream (TCP/Port 674) Client Server connection Text based line oriented protocol Commands and responses Client command Server data Server completion results Tagged response; command continuation request Operational Considerations Data transferred comply with underlying transport window size Multiple commands
Server States Connection ACAP greeting Rejected Connection Bye Greeting Successful Authenticate Logout Logout command Server shutdown Connection closed Init Connection/Server greeting Non-authenticated Authenticated Logout and close connection
Protocol Elements Datasets Entries, attributes Response code OK, BAD, NO Access Control Lists Namespaces Functionality Communication Dataset definition Parsing system
Implementation Issues Communication Subsystem Multiple clients In memory representation of data ACAP Command Parsing Some Server Response codes – Modified Datasets CREATE, READ, STORE Compatibility with real time mail clients Other mail clients – pine
Some Sample Results Client: Server: * ACAP (IMPLEMENTATION "Plugged In ACAP Server v1.03") (CONTEXTLIMIT "150") (SASL "CRAM-MD5" "KERBEROS_V4") Client: GH45 STORE ("/addressbook/user/praveen" "Contact.Name" "Praveen" "Contact. " Server: GH45 OK "STORE completed" Client: GH46 LOGOUT Server: * BYE "See ya later" Server: GH46 OK "LOGOUT completed“ Planning to store configuration Information for Pine or ELM
Future Enhancements Server Replication/ Mirroring Extending per user data to group of users Scope Extension Complex Search Queries Authorization using ACL Include contexts per session Extension to Web based clients like squirrel mail