Designing a global EMail repository using OceanStore Steven Czerwinski, Anthony Joseph, John Kubiatowicz Summer Retreat June 11, 2002 UC Berkeley.

Slides:



Advertisements
Similar presentations
K12 WebMail
Advertisements

Tivoli Service Request Manager
Sanjay Ghemawat, Howard Gobioff and Shun-Tak Leung
Draft-lemonade-imap-submit-01.txt “Forward without Download” Allow IMAP client to include previously- received message (or parts) in or as new message.
© 2007 Convio, Inc. Implementation of Sender ID Bill Pease, Chief Scientist Convio.
INTRANET MAIL SERVER (DESIGN OF SMTP and POP3)
Application Layer  We will learn about protocols by examining popular application-level protocols  HTTP  FTP  SMTP / POP3 / IMAP  Focus on client-server.
Introducing: Cooperative Library Presented August 19, 2002.
Staff Computer Training Exchange 2003: More User Friendly Vicki Hecht Cherry Delaney ITaP Luncheon October 14, 2003.
The Case for ICEBERG Integrated services from diverse networks-- “PANS” (Potentially Any Network Services) Service infrastructure that allows user level.
Tentative Updates in MINO Steven Czerwinski Jeff Pang Anthony Joseph John Kubiatowicz ROC Winter Retreat January 13, 2002.
Chapter 2: Application layer  2.1 Web and HTTP  2.2 FTP 2-1 Lecture 5 Application Layer.
Hands-On Microsoft Windows Server 2003 Administration Chapter 5 Administering File Resources.
Administering Active Directory
OceanStore: An Architecture for Global-Scale Persistent Storage Professor John Kubiatowicz, University of California at Berkeley
Concurrency Control & Caching Consistency Issues and Survey Dingshan He November 18, 2002.
FIREWALLS & NETWORK SECURITY with Intrusion Detection and VPNs, 2 nd ed. 6 Packet Filtering By Whitman, Mattord, & Austin© 2008 Course Technology.
3.1 © 2004 Pearson Education, Inc. Exam Managing and Maintaining a Microsoft® Windows® Server 2003 Environment Lesson 3: Introducing Active Directory.
OceanStore: An Architecture for Global - Scale Persistent Storage John Kubiatowicz, David Bindel, Yan Chen, Steven Czerwinski, Patric Eaton, Dennis Geels,
Esimerkki: Sähköposti. Lappeenranta University of Technology / JP, PH, AH Electronic Mail Three major components: user agents mail servers simple mail.
Guide to Operating System Security Chapter 10 Security.
Architecture of SMTP, POP, IMAP, MIME.
Introduction 1 Lecture 7 Application Layer (FTP, ) slides are modified from J. Kurose & K. Ross University of Nevada – Reno Computer Science & Engineering.
Pro Exchange SPAM Filter An Exchange 2000 based spam filtering solution.
Exchange deployment at CERN and new ideas for SPAM fighting Michel Christaller, Emmanuel Ormancey, Alberto Pace.
» Explain the way that electronic mail ( ) works » Configure an client » Identify message components » Create and send messages.
Introduction 1-1 Chapter 2 FTP & Computer Networking: A Top Down Approach 6 th edition Jim Kurose, Keith Ross Addison-Wesley March 2012 IC322 Fall.
Exchange 2010 Recipient and Mailbox Management IT:Network:Applications.
By N.Gopinath AP/CSE. Why a Data Warehouse Application – Business Perspectives  There are several reasons why organizations consider Data Warehousing.
Distributed Deadlocks and Transaction Recovery.
Packet Filtering. 2 Objectives Describe packets and packet filtering Explain the approaches to packet filtering Recommend specific filtering rules.
Media Manager Mail Access Barbara Hohlt and Steve Czerwinski UC Berkeley Ericsson Presentation 2000.
SMTP, POP3, IMAP.
Data Communications and Computer Networks Chapter 2 CS 3830 Lecture 9
IT 424 Networks2 IT 424 Networks2 Ack.: Slides are adapted from the slides of the book: “Computer Networking” – J. Kurose, K. Ross Chapter 2: Application.
Application Layer Protocols Simple Mail Transfer Protocol.
Computer Networking From LANs to WANs: Hardware, Software, and Security Chapter 12 Electronic Mail.
Module 8: Managing Client Configuration and Connectivity.
Chapter 6: Packet Filtering
M i SMob i S Mob i Store - Mobile i nternet File Storage Platform Chetna Kaur.
Pond: the OceanStore Prototype Sean Rhea, Patric Eaton, Dennis Gells, Hakim Weatherspoon, Ben Zhao, and John Kubiatowicz University of California, Berkeley.
Replication for Mobile Computing Prasun Dewan Department of Computer Science University of North Carolina
ViciDocs – Lotus and Domino.Doc Integration Creating Info repositories from documents.
OceanStore: An Infrastructure for Global-Scale Persistent Storage John Kubiatowicz, David Bindel, Yan Chen, Steven Czerwinski, Patrick Eaton, Dennis Geels,
MCSE Guide to Microsoft Exchange Server 2003 Administration Chapter Two Installing and Configuring Exchange Server 2003.
Packet Filtering Chapter 4. Learning Objectives Understand packets and packet filtering Understand approaches to packet filtering Set specific filtering.
Update on  Mail Gateways  Servers  Spam Tagging  Anti-Virus  IMAP  Web Mail  LISTSERV  POP.
Module 7 Planning and Deploying Messaging Compliance.
MCSE Guide to Microsoft Exchange Server 2003 Administration Chapter Five Managing Addresses.
CS 3830 Day 9 Introduction 1-1. Announcements r Quiz #2 this Friday r Demo prog1 and prog2 together starting this Wednesday 2: Application Layer 2.
Hands-On Microsoft Windows Server 2008 Chapter 4-Part 1 Introduction to Active Directory and Account Manager.
POND: THE OCEANSTORE PROTOTYPE S. Rea, P. Eaton, D. Geels, H. Weatherspoon, J. Kubiatowicz U. C. Berkeley.
An Architecture for Mobile Databases By Vishal Desai.
Lecture 4 Mechanisms & Kernel for NOSs. Mechanisms for Network Operating Systems  Network operating systems provide three basic mechanisms that support.
Xdeliver in P-IMAP for reply / forward of messages Stéphane H. Maes – Jean Sini –
Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition, Lecture 24: GFS.
Draft-lemonade-imap-submit-00.txt “Forward without Download” Allow IMAP client to include previously- received message (or parts) in or as new message.
Spam Wrangling on UC Berkeley's CalMail. Spam detection CalMail uses Sophos PureMessage, running on CommuniGate Pro's front-end servers PureMessage.
Varnish Cache and its usage in the real world Ivan Chepurnyi Owner EcomDev BV.
Spring 2006 CPE : Application Layer_ 1 Special Topics in Computer Engineering Application layer: Some of these Slides are Based on Slides.
Barracuda Networks Professzionális levélarchiválás Barracuda Message Archiver.
OceanStore : An Architecture for Global-Scale Persistent Storage Jaewoo Kim, Youngho Yi, Minsik Cho.
Networking Applications
Internet Business Associate v2.0
draft-lemonade-imap-submit-01.txt “Forward without Download”
Data Communications and Computer Networks Chapter 2 CS 3830 Lecture 9
Reducing Disk I/O of Messaging Systems
Proposal: A General Infrastructure for Efficient Application-Level Protocols Steven Czerwinski Goal: To investigate ways to make.
Content Distribution Network
Outline for today Oceanstore: An architecture for Global-Scale Persistent Storage – University of California, Berkeley. ASPLOS 2000 Feasibility of a Serverless.
Presentation transcript:

Designing a global repository using OceanStore Steven Czerwinski, Anthony Joseph, John Kubiatowicz Summer Retreat June 11, 2002 UC Berkeley

2 Goal Build an another interesting OceanStore app –Further tests OceanStore client APIs –Examine conflict resolution strategies –Explore data clustering/introspection techniques infrastructure using OceanStore –Fulfills the above criteria –Enables mail delivery, retrieval, and organization –Legacy access methods (IMAP, SMTP, POP)

3 System architecture Benefits of using OceanStore –High availability of data –Automatic archiving –Objects migrate towards client OceanStore Infrastructure Replica Object Jon Smith’s mail object Messages, flags, folders Native client Client Object API IMAP OS Proxy IMAP Client IMAP Client Host SMTP OS Proxy Jon Smith’s mail drop object Incoming mail queue

4 OceanStore API Stores objects –Composed of encrypted blocks Objects addressed through… –GUID (which object) –Key (which component of an object) –Byte range (which bytes of the component) Changing an object –Update, expand, truncate Predicates on changes –What must hold true for a change to succeed –Example: object version must equal 1.2 Updates within an object are atomic Notified when predicate fails (conflicts) Comp # Object Comp #2 Selection GUID BtreeByte KeyRange

5 Designing OceanStore applications Three important areas to consider Object layout –Defines OceanStore usage –Affects conflicts and migration Conflict detection and resolution –Minimize false conflicts –Roll back and retry to resolve Migration strategy –Enable clustering for pre-fetching

6 Object design Information to store –Messages, folder listings, flags, envelopes Object granularity choices –Per message –Per folder –Per user Per user granularity –Atomic actions only involve one object –Minimizes number of objects Separate object for user mail drop –Requires different security/permissions

7 Object layout FOLDERKEY OstoreAAF SpamBFA Folder List UIDFLAGSMSG_KEY 45\DeleteAF4594A 46\ReplyBF564AA 60GH453AB Folder: Ostore Envelope Contents Block Aligned Message OS Mail Account Object Selection BtreeByte KeyRange Hash(“List”) Hash(“Ostore”)

8 Conflict detection and resolution Sources of conflicts –Mail arrival while user browsing (more likely) –Tentative updates delayed too long –Clients updating same account (less likely) Possible conflicts –Updates on same message Changing different flags, moving to different folders –Updates to same folder Appending new messages, deleting a folder –Updates on folder list Create new folders with same name

9 Conflict resolution design General strategy –Upon detection, application reads offending state –Compares state w/ tentative to classify conflict –For false conflicts, simply retry –For true conflicts, take most conservative action –Works for most, but there are special cases IMAP Client OS IMAP Proxy OceanStore STORE FLAG \High #34 Update INBOX, Predicate: version =1.1 Fail, version is 1.2 Update INBOX, Predicate: version =1.2 OK Tentative Tentative State #34 -> \High Committed State #50 -> \Low State Comparision

10 Special case: Assigning UIDs Unique Identifiers (UIDs) in IMAP –Each UID maps to a message –Mappings are permanent –UID namespace is per folder –Invariant: UID numbers are strictly increasing, ordered by addition time Possible conflicts: –Same UID used for two different messages –Msg added with UID smaller than largest in folder –Both cause clients to miss messages

11 Conflict example: Assigning UID IMAP Client #1 OceanStore OS IMAP Proxy#1 Tentative Proxy 1: Retrieves msgs from drop, updates account object to assign UIDs 5-7. IMAP Client #2 OS IMAP Proxy#2 Tentative Proxy 2: Assigns UIDS 5-6 to msgs moved from Ostore Succeeds! Fetch 5:* (new msgs) Fetched 5,6,7 Delete 6, Fetch 8:* Fails! Client #1’s state is incorrect: No msg 6, wrong msg 5 State No msg 6, new msgs after 7 Move Ostore:12,13 to INBOX OK

12 UIDKEY 5AA4 6BB4 UID assignment algorithm Algorithm replicated at all clients –Defer assigning UIDs –Rollback back conflict by “deleting” messages –Re-add messages with higher, non-conflicting UIDs OS IMAP Proxy#1 Tentative IMAP Client #1 UIDKEY 5AEF 6BD4 7C45 Msgs 5-7 deleted News msgs 8-12 Committed State Tentative Update 8AEF 9BD4 10C45 11AA4 12BB4

13 Block clustering Designed pre-fetching behavior –Pre-fetch message envelopes –Priority to envelopes in INBOX But, OceanStore cannot see these attributes Initial strategy –Provide hints through object’s metadata –Assign type ids to blocks (envelope, msg body, …) –Assign referrer ids to blocks (INBOX, Ostore, …) Should improve pre-fetching ability

14 Example block hints FOLDERKEY OstoreAAF SpamBFA Folder List UIDFLAGSMSG_KEY 45\DeleteAF4594A 46\ReplyBF564AA 60GH453AB Folder: Ostore Envelope Contents Message OS Mail Account Object Header Type (2) Body Type (3) Type: Folder List (0) Referrer: ROOT (0) Type: Folder (1) Referrer: List (1) Referrer: Ostore (50)

15 Future work Implementation this summer Re-design with new client API features –Finer grain conflict detection –Support for data clustering hints Experiments –System scalability –Bandwidth usage measurements –Clustering effectiveness

16 Some thought questions Should we have objects per message? –Implement sharing of messages (mailing lists) Should we only have one SMTP server? –Without active checks, open to spam How feasible is disconnected operation? Can we generalize our introspective solution?