Title: Email over low bandwidth networks
1E-mail over low bandwidth networks
- Indika Wasala
- Sasanka Usgoda Arachchi
- Dr. Gihan Dias
2Contents
- Objective
- Research Problem
- Previous Work at UoM
- Other Related work
- Current Project
- Future Work
- References
3Objective
- To optimize email communication over Low
Bandwidth networks.
4Problem
- Dialup internet connections in rural areas.
- ADSL connections with shared bandwidth.
- Expensive Leased Lines.
- CDMA/GPRS connections.
- Download delays
- Large attachments
5Previous work at UoM
- On-the-fly Inter-proxy Data Compression for Web
Access - Pradeepa Gurusinghe, Gihan Dias, Vishaka
Nanayakkara - A Market-Based Approach to Control Web Bandwidth
Usage - Chamara Dissanayake, Gihan Dias - Dynamic Bandwidth Negotiation among Web Proxies -
Sumith Gamage, Gihan Dias
6Other Related Work
- draft-ietf-lemonade-compress-04
- COMPRESS extension
- IMAP Connection is compressed effectively and
efficiently. - to reduce the bandwidth usage of IMAP
- Commands
- CAPABILITY
- Response COMPRESSDEFLATE
- COMPRESS DEFLATE
- Response OK DEFLATE active
7Current Project
- E-mail over low bandwidth networks
8Solution
and
proxy client
to
optimize email communication over low bandwidth
connection.
email client
email server
IMAP Proxy client
Legacy email client
IMAP Server
IMAP Proxy server
Low bandwidth network
9Scope
email client
- IMAP Proxy client functions
- Defining filter rule set
- Assignment of priorities to emails.
- Compression of IMAP requests
- Decompression of IMAP responses
- Sending decompressed responses to client
- Sending compressed requests to server
IMAP Proxy client
Legacy email client
10Scope cont..
email server
- IMAP Proxy Server functions
- Email filtering
- Selecting a pre-fetch model
- Compression of IMAP responses
- Different compressors for different
content-types - Decompression of IMAP requests and sending to
IMAP server. - Spam filtering
IMAP Server
IMAP Proxy server
11Solution Components
- Mail server qmail (www.qmail.org)
- IMAP Server binc imap (www.bincimap.org)
- IMAP proxy imapproxy (www.imapproxy.org)
- All are open source components.
12Proxy Client Configuration
- Filtering Rules
- Configured in proxy client
- Using a simple UI
- Using config file
- ltheader fieldmatching stringgt ltprioritygt
ltimage compression on/offgt - fromx_at_xyz.com 1 0
13Proxy Client Configuration contd..
- Priorities and Pre-fetching
- Priority 1 Pre-fetch whole message
- Priority 2 Pre-fetch first 1 KB of the message
- Priority 3 Pre-fetch only the header
information including attachment type if there
are any. - Priority 4 Delete messages
14Pre-fetching
- Static
- Pre-fetch at night or when the link is idle
- Dynamic
- While previous message / first part of message is
being read
15IMAP Proxy server Operation
NO
YES
16IMAP Proxy server Operation Contd..
NO
YES
17IMAP Proxy server Operation Contd..
- Priority 1
- Check for compression bit for images
- Compress or leave image in original form
- Compress text/html part
- Send whole email to proxy client
18IMAP Proxy server Operation Contd..
- Priority 2
- Check for compression bit for images
- Compress or leave image in original form
- Store attachments
- Generate a URLs for attachments
- Append URLs to the end of email
- Get 1st KB of the email
- Append a URL to next KB
- Compress and send to proxy client
19IMAP Proxy server Operation Contd..
- Priority 3
- Check for compression bit for images
- Compress or leave image in original form
- Leave any other attachment in original form
- Compress email header
- Send header to proxy client
20IMAP Proxy server Operation Contd..
- Priority 4
- Delete email
- Remove UID from the list
21IMAP Proxy client operation
22IMAP Proxy client operation contd..
- Priority 1
- Uncompress and Send pre-fetched mail to email
client - Check priority of next email
- If 3 start fetching next email from server
- If priority is 1 or 2 check priority of next email
23IMAP Proxy client operation contd..
- Priority 2
- Uncompress and Send pre-fetched part to email
client - Start fetching next part from the server
- If end of mail check priority of next email
- If 3 start fetching next email from server
- If priority is 1 or 2 check priority of next email
24IMAP Proxy client operation contd..
- Priority 3
- If it was pre-fetched, uncompress and send to
email client - If not fetch from server, uncompress and send to
email client - Check priority of next email
- If 3 start fetching next email from server
- If priority is 1 or 2 check priority of next email
25Future Work
- Caching of attachments
- For future reuse
- Different compression algorithms for different
content types
26References
- RFC 3501 - Internet Message Access Protocol -
Version 4rev1 - RFC 2683 - IMAP4 Implementation Recommendations
- RFC 3516 - IMAP4 Binary Content Extension
- Arnt Gulbrandsen, draft-ietf-lemonade-compress-04
- Bruce Zenel, A general purpose proxy filtering
mechanism applied to the mobile environment - Pradeepa Gurusinghe, Vishaka Nanayakkara, Gihan
Dias, On-the-fly Inter-proxy Data Compression for
Web Access - Chamara Disanayake Gihan Dias, A Market-Based
Approach to Control Web Bandwidth Usage - Qmail manual, www.lifewithqmail.org/lwq.html
- Binc IMAP, www.bincimap.org
- 8bitMIME - http//en.wikipedia.org/wiki/8BITMIME
- MIME - http//en.wikipedia.org/wiki/MIME
- Zlib - http//www.zlib.net/manual.html
27On-the-fly Inter-proxy Data Compression for Web
Access
- Objective
- good web access over a low bandwidth link.
- Solution
- two proxy servers
- Operation
- Data is compressed at the upstream proxy and
decompressed at the downstream proxy. - Different compressors for different content types.
28On-the-fly Inter-proxy Data Compression for Web
Access
- Compression algorithms used
- Other features
- Pre opened connections
29- Lemonade
- Internet email submission
- Transport
- retrieval protocols
- platforms with constrained resources
- communications links with high latency or limited
bandwidth.
30A Market-Based Approach to Control Web Bandwidth
Usage
- Problem
- limited bandwidth and unequal utilization of
available bandwidth - No priority for critical applications
- Solution Modified Squid Proxy
- Set Users Bandwidth according to the User
Request - Keeps individual users web usage information
- Calculate the cost of service on current demand
and update users account
31IMAPv4rev1 rfc3501
- Method of accessing electronic mail
- kept on a (possibly shared) mail server.
- It permits to access remote message stores as if
they were local. - Good for mobile users
- TCP port used 143
- Supports partial message downloads
- Great User control over downloading
32Target Group
- Users/organizations with low bandwidth internet
connections. - Home Users
- Small Businesses
- Schools
- Wireless Users
- CDMA
- GPRS