Presentation on theme: "1 E-mail over low bandwidth networks Indika Wasala Sasanka Usgoda Arachchi Dr. Gihan Dias."— Presentation transcript:
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-04lemonade 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 Proxy client Legacy email client email client IMAP Server IMAP Proxy server email server Low bandwidth network andproxy client optimize 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 Proxy client Legacy email client 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 Server IMAP Proxy server email server
11 Solution Components Mail server : qmail (www.qmail.org)www.qmail.org IMAP Server : binc imap (www.bincimap.org)www.bincimap.org IMAP proxy : imapproxy (www.imapproxy.org)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 from:”email@example.com” 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 rule From:firstname.lastname@example.org 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 1 st 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 operation Client 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 email 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 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.htmlwww.lifewithqmail.org/lwq.html Binc IMAP, www.bincimap.orgwww.bincimap.org 8bitMIME - http://en.wikipedia.org/wiki/8BITMIMEhttp://en.wikipedia.org/wiki/8BITMIME MIME - http://en.wikipedia.org/wiki/MIMEhttp://en.wikipedia.org/wiki/MIME Zlib - http://www.zlib.net/manual.htmlhttp://www.zlib.net/manual.html
27 On-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.
28 Content TypeCompression technique Text based (html, css,text)Gzip (gzip library) Jpeg imagesJpeg compression library http header compressionGzip with preset dictionary Other features Pre opened connections On-the-fly Inter-proxy Data Compression for Web Access Compression algorithms used
29 Lemonade Internet email submission Transport retrieval protocols platforms with constrained resources communications links with high latency or limited bandwidth.
30 A 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 User’s Bandwidth according to the User Request Keeps individual user’s web usage information Calculate the cost of service on current demand and update user’s account
31 IMAPv4rev1 – 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
32 Target Group Users/organizations with low bandwidth internet connections. Home Users Small Businesses Schools Wireless Users CDMA GPRS