Upload
alfonso-furner
View
215
Download
1
Embed Size (px)
Citation preview
1
E-mail over low bandwidth networks
Indika Wasala
Sasanka Usgoda Arachchi
Dr. Gihan Dias
2
Contents
Objective
Research Problem
Previous Work at UoM
Other Related work
Current Project
Future Work
References
3
Objective
To optimize email communication over Low Bandwidth networks.
4
Problem
Dialup internet connections in rural areas.
ADSL connections with shared bandwidth.
Expensive Leased Lines.
CDMA/GPRS connections.
Download delays Large attachments
5
Previous 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
6
Other 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 COMPRESS=DEFLATE
• COMPRESS DEFLATE– Response OK DEFLATE active
7
Current Project
E-mail over low bandwidth networks
8
Solution
IMAP proxy server
IMAP Proxyclient
Legacy emailclient
email client
IMAP ServerIMAP Proxy
server
email server
Low bandwidth network
and proxy clientoptimize email communication over low bandwidth connection.
to
9
Scope
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 Proxyclient
Legacy emailclient
email client
10
Scope cont..
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 ServerIMAP Proxy
server
email server
11
Solution 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.
12
Proxy Client Configuration
Filtering Rules Configured in proxy client Using a simple UI Using config file <header field:”matching string”> <priority>
<image compression on/off>• from:”[email protected]” 1 0
13
Proxy 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
14
Pre-fetching
Static Pre-fetch at night or when the link is idle
Dynamic While previous message / first part of
message is being read
15
IMAP Proxy server Operation
Client Connects
Is Link idle ?
Get All unseen UIDs and put them into a
list
Process Client Requests
NO
YES
16
NO
IMAP Proxy server Operation Contd..
Download user rule configuration into
proxy server
For each UID in list get header and check whether any match is found in rules
config.
Assign default priority = 3
# Format of a ruleFrom:[email protected] 1 0
Check Priority
YES
17
IMAP 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
18
IMAP 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
19
IMAP 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
20
IMAP Proxy server Operation Contd..
Priority = 4 Delete email Remove UID from the list
21
IMAP Proxy client operationClient Connects
to proxy client
Email box will be populated with the
headers of pre-fetched emails
Client fetches an email
Checks the priority of the requested
uncompreses prefetched email headers
22
IMAP 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
23
IMAP 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
24
IMAP 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
25
Future Work
Caching of attachments For future reuse
Different compression algorithms for different content types
26
References
RFC 3501 - Internet Message Access Protocol - Version 4rev1RFC 2683 - IMAP4 Implementation RecommendationsRFC 3516 - IMAP4 Binary Content ExtensionArnt Gulbrandsen, draft-ietf-lemonade-compress-04Bruce Zenel, A general purpose proxy filtering mechanism applied to the mobile environmentPradeepa Gurusinghe, Vishaka Nanayakkara, Gihan Dias, On-the-fly Inter-proxy Data Compression for Web AccessChamara Disanayake & Gihan Dias, A Market-Based Approach to Control Web Bandwidth UsageQmail manual, www.lifewithqmail.org/lwq.htmlBinc IMAP, www.bincimap.org8bitMIME - http://en.wikipedia.org/wiki/8BITMIMEMIME - http://en.wikipedia.org/wiki/MIMEZlib - http://www.zlib.net/manual.html