1 / 58

MARVIN 2003 AD

MARVIN 2003 AD. 1999. Planning meeting RCUR/T/D 1998-04. The Times They are A-Changing. Akhnaton, Philip Glass 2:20. Bbox, remote access. Internet. Marvin. Wireless Home network. PTT/ISP. Marvin. Slider. Way to insert a new unit. FireWire connection. Power 110+220.

arlene
Download Presentation

MARVIN 2003 AD

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. MARVIN 2003 AD 1999 Planning meeting RCUR/T/D 1998-04

  2. The Times They are A-Changing

  3. Akhnaton, Philip Glass 2:20 Bbox, remote access Internet Marvin Wireless Home network PTT/ISP

  4. Marvin Slider Way to insert a new unit FireWire connection Power 110+220 Locking system Internet ADSL Ideas partly Maarten Legene

  5. Your private information manager • Communication: • mail • faxes • phone calls • What to do • calendar • tasks • projects • Archive • documents (with multiple versions) • history • where you have been, where you served

  6. Your private assistant • Assist to execute complex tasks • maintain the time on your video recorder • remember to put the garbage out • prioritize and group incoming messages • handle the supplementary services on your mobile • Act as a representative • answer the phone, forward messages • allow access to certain information (via web, phone,mail) • Maintain focus (nagging mode) • action points • promises made to other people • goals

  7. Key aspects • Reliability, Robustness and Availability • backup • good software • Security • encryption of all information • secure access, e.g. SSL • key management • access by third parties • Open for third party applets • run inside Marvin for access to events • cooperate with central services

  8. ericsson.rcur ericsson.marvin transaction log switching dialog btest services infobase javax mail activation applets servlet web mail com imap ... odi (PSE) objectspace (Voyager) Package Overview

  9. ericsson.rcur ericsson.marvin transaction log switching dialog btest services infobase javax mail activation applets servlet web mail com imap ... odi (PSE) objectspace (Voyager) transaction

  10. transaction • Clean and simple resource handling model • Simplifies exception handling • Consistent with many external systems • However, some problems remain difficult

  11. Convenience replaceable transaction Client code Coordinator current Simple Transaction Manager 1 * Thread Transaction IParticipant 1 * Exclusive Manager 1 0..1 1 * Simple Transaction LogEntry

  12. Transactions explained • A resource gets a chance to reconsider …. Client Coordinator Simple Transaction Manager Simple Transaction Resource 1: IParticipant Resource 2: IParticipant begin() begin() new() ...() join() join() joinTransaction() ...() join() join() joinTransaction() ...() commit() prepare() prepare() commit() commit()

  13. transaction implementation • Bracketing of tasks • begin transaction • do something • failure: rollback EVERYTHING • success: commit EVERYTHING • Two phase commit model for distributed systems • Allows multiple implementations • Iparticipant, Transaction, Coordinator • Logging facilities for undo/redo • Comes with a “SimpleTransactionManager”

  14. transaction, open points • Interface to Voyagers transactions • Implementation of undo/redo logs • Get the department committed to it ;-)

  15. ericsson.rcur ericsson.marvin transaction log switching dialog btest services infobase javax mail activation applets servlet web mail com imap ... odi (PSE) objectspace (Voyager) infobase

  16. infobase • A database for associations • Separate storage for “data” and information about the “data” • Query language • Standard base vocabulary for associations • Associations are (will be) time stamped • Triggers services on changes • Intended replacement for file system

  17. InfoBase, communications • All communications pass through the InfoBase • mail • notifications • phone calls • …. Stored Persistently Dispatched to listeners Incoming information

  18. infobase, class overview Identity FileStore PContext OID String StoreEvent IStore IAssociation InfoBase Context Association * 1 StoreListener 1 XDate IFilter * Term Top Object PSE Project Document Person ... Mime IBObject InputStream

  19. infobase, indexing a PContext Example: name=xyz.jar Vector for PContext De-serialize Hashtable for index “name” ... Hashtable for index names a Context <120> Re: About the projector 123 <121> ... xyz.jar 4511 <122> class vcard.vcf 234, 12,3 Association <123> group peter.kriens 234 name=“name” <124> bean Hi! 543 <125> mime anders.danne 120 <126> version Abc.jar 41 xyz.jar <127> from …. ….. ... …. ….. ... id to class email Association related id ….. ... name=“class” name related ….. ... ericsson.marvin.mail.POP3Collector ericsson.marvin.mail.GetMail ericsson.marvin.imap.IMAP

  20. infobase, open points • Listen to filtered events instead of all • Top object • Better memory usage • Performance profiling • Better locking • Robustness improvement

  21. ericsson.rcur ericsson.marvin transaction log switching dialog btest services infobase javax mail activation applets servlet web mail com imap ... odi (PSE) objectspace (Voyager) services

  22. services, features • Services are beans, stored inside the InfoBase • Each service runs in its own class loader: allows reload of service • Automatic recognition of jar files • Life cycle management: install, initialize, start, stop, shutdown, uninstall.

  23. services, features II • Marvin naming interface (through System properties) • Shell interface (through Telnet) • lifecyle • inspection • service properties access (a la Beans) • interface to file system • Services are automatically started at startup

  24. services, overview Listener 1 * Shell Service Manager 1 Service Entry IService Service * JarHandler` IBClass Loader 1 IResourceAccess * Jar Resource infobase

  25. services, open points • Trader service to find other services (a la Corba) • GUI for maintaining existing services • Better JAR file manifest support • package version • beans • dependencies • Speech interface for IService objects (Speech Agent!) • Scheduler • Thread pool

  26. ericsson.rcur ericsson.marvin transaction log switching dialog btest services infobase javax mail activation applets servlet web mail com imap ... odi (PSE) objectspace (Voyager) web

  27. web, features • Http server on the infobase • access by OID • access by selection • Acts as proxy • proxy to internet, proxy to proxy • Runtime Configurable • Extendable by servlets • Implements GET, POST and PUT (from make!)

  28. web, overview Thread Request Service IService HttpServer 1 * Handler` Httpd Reply services infobase

  29. web, open points • Pluggable Filtering (a la Muffin) of retrieved information • fill in forms • filter first image • report statistics • remember where you surfed • Associative access to information in InfoBase • Http DELETE & INDEX commands • Secure Socket Layer interface (SSL) • Standard javax.servlet interface

  30. ericsson.rcur ericsson.marvin transaction log switching dialog btest services infobase javax mail activation applets servlet web mail com imap ... odi (PSE) objectspace (Voyager) imap interface

  31. imap interface features • Partial implementation of IMAP based on javax.mail • Supports notifications (unfortunately Netscape seems to be deaf … ) • Supported commands: • noop logout select examine • create list status close • fetch copy uid • InfoBase & IMAP: a marriage made in Kista • notifications & listeners • mime types • attachments through web interface

  32. imap, handling of attachments messages imap Incoming information e.g. mail, schedule Stored Persistently group=inbox web attachments

  33. imap, overview Thread Service IService IMAP 1 * IMAP Session` services javax mail infobase javax activation

  34. imap, open points • Full implementation • GUI based on javax.mail imap interface to replace Netscape (in open phone???) • More robust (Netscape seems too easy to confuse) • Performance, it is slower than standard pop now

  35. ericsson.rcur ericsson.marvin transaction log switching dialog btest services infobase javax mail activation applets servlet web mail com imap ... odi (PSE) objectspace (Voyager) mail

  36. mail, features • Retrieves mails from POP3 accounts • Fully configurable • Unpacks messages and stores the attachments as separate, but linked, Contexts. • Automatically create Person Contexts of all recipients and senders • Optionally forwards mail to other account • It works, I use it daily!

  37. mail, overview Thread Service IService GetMail 1 * POP3 Collector` services javax mail infobase javax activation

  38. mail, open points • Robustness, javax.mail has some bugs that are hard to circumvent • Support for IMAP mail boxes (easy because of javax.mail) • Better logging (and error reporting) • Should be based on central scheduler instead of thread based delay

  39. ericsson.rcur ericsson.marvin transaction log switching dialog btest services infobase javax mail activation applets servlet web mail com imap ... odi (PSE) objectspace (Voyager) Other applets

  40. Other applets • Telephony interface (Voice modem? ISDN? PANG?) • Answering machine • voice/fax mail • SMTP interface • Keyword indexer • HTML pre-fetcher (learns from your surf habits!) • DNS proxy with cache • Synchronizer to other Marvin • Hans Thorsen’s EEE interface (home appliances)

  41. Other possible applets • Backup, data compressor/decompressor • Associator (find associations between context objects) • Activity manager (reads you mails!) • Mobile (Open?) phone interface • vCard sniffer (I do have the parser already) • Calendar manager (based on vCalendar)

  42. ericsson.rcur ericsson.marvin transaction log switching dialog btest services infobase javax mail activation applets servlet web mail com imap ... odi (PSE) objectspace (Voyager) Used libraries

  43. javax.mail • Supports MIME messages and an IMAP like folder structure • Comes with standard interfaces: • to IMAP server • to SMTP server • Abstract, but very close to IMAP semantics • Many convenient utilities for handling of MIME

  44. javax.activation • Standard library to connect MIME typed objects to handlers • DataSource interface is VERY useful • Belongs to beans

  45. javax.servlet • Standard interface for request/reply interactions like HTTP • Will adapt the web server to use servlets

  46. com.odi (PSE + PSE Pro) • Free object oriented database • Reliable and fast • Smart access algorithm for persistent data • Single user • Transactions • Pro version supports recovery and access tools but costs a couple of hundred dollars • Same interface as ObjectStore

  47. com.objectspace (Voyager) • Distributed objects framework • Makes distributed objects largely transparent • Considerably simplified from an already simple system • Version 1 or version 2? • License issues are unclear?

  48. Surfboard XSRW 1600x1200 120 dpi screen Dockable Camera and microphone SurfBoard Speakers

  49. Surfboard • Not much done on Surfboard yet • Possible solution is to buy a flat screen and connect it over a video link over IR from Sony • Would require hardware handling • Who picks it up??

  50. BBox GSM over CDMA + XSRW Speaker behind display. Lens for laser projector Camera lens 480x640 full color touch sensitive screen Microphone behind display Battery life 180 hours

More Related