Presentation is loading. Please wait.

Presentation is loading. Please wait. Distributed home service interface. Core Components Pop3 client Router Storage Pop3 Server.

Similar presentations

Presentation on theme: " Distributed home service interface. Core Components Pop3 client Router Storage Pop3 Server."— Presentation transcript:

1 Distributed home service interface

2 Core Components Pop3 client Router Storage Pop3 Server

3 Pop3 Client and Server Client pulls email off Pop3 servers (, sumatra, etc) Server allows outside (of network) access to email

4 Router Directs email from the Pop3 client or any other internal client. Human readable message is stored in user’s inbox. Control message is sent to the recipient service or is left in the service’s undelivered tuple.

5 Storage Email Configuration State

6 Jini Java framework for distributed applications rmi (synchronous) Provides lookup, discovery, join, activation, lease management, remote events, javaspaces, etc

7 Services (Fridge) Fridge is the only service Keeps track of contents Calculates grocery list Sends and receives email

8 Setup Register new users Allow users to add, delete, or update email accounts Setup once

9 Setup Features Remote events. Simple GUI, allows for easy account management.

10 Pop3 Client Features Separate thread for each email account. Reconnects to server whenever time interval has elapsed. Email notifications in case of error.

11 Storage Features Tuples (TSpaces by IBM) Hierarchal naming structure Leasing Locks Automatic lease management

12 Normal Operation Pop3 client polls Pop3 server for new email Sends email to Router Router directs email accordingly


14 Router Down Pop3 client will store undelivered email in storage


16 Router Back Up Router looks in storage for undelivered messages Delivers email accordingly


18 Activation Activation makes things more resilient. Makes restarts simpler. …in theory…

19 Bad Things Activation (rmid) Why’s that service still up (lease, log) Tough to debug and test (inherent with distributed application paradigm?) Synchronous

20 Good Things Develop components normally, then jinify A lot of services already provided (lookup, discovery, etc.) Once a jini service is working, it’s very easy to use

21 More distributed components Printer service Scheme configurable service components We have cooler stuff –But Jini team stuff works better (for now)


23 Auth Keeps track of users in the system Keeps track of the various authentication information –Data for contacting external pop3 servers Centralized place to store this data –Not a secure solution

24 Monitor(Pop3 Client) Collects email from external Pop3 servers Each monitor serves a different user in the system

25 Filter Directs email from the Monitor Human readable or control message?

26 Router Gets control message from filter Finds the service control message is intended for

27 Inbox Holds all the users email data Uses checkpoint –Movable too (but not implemented) Data is never deleted

28 Pop3Server Used to communicate with email clients Hardest component to implement –Delete messages here –Distributed state –Mixture of messaging style Asynchronous with rest of Synchronous with email clients

29 ServiceComponent External services implement this interface Scheme configurable Printer is a ServiceComponent

30 Normal Operation Monitor To Filter Filter Checks Message –If Control Message Send to Router Router sends To Appropriate Service –If Email Send to Inbox Inbox Stores the Email

31 Normal Operation (2) Service Processes Control Message –Printer Pop3Server polls the Inboxes –Downloaded to itself –Serves it to connecting email clients

32 Good & Bad Things Asynchronous events –Pop3Server –Everything else Discovery Transparency

33 Bad Things Synchronization/Threading complexities Interaction with Swing Harder to one.worldize –ServiceComponent is our solution for

34 Good Things Integrated System Structured IO Code and Data is shared

35 Future Work Stability OneBox/Mover/WatchDog New Patterns/Refactoring Better Setup Tools Integration with Other Systems

Download ppt " Distributed home service interface. Core Components Pop3 client Router Storage Pop3 Server."

Similar presentations

Ads by Google