marvin 2003 ad
DESCRIPTION
MARVIN 2003 AD. 1999. Planning meeting RCUR/T/D 1998-04. The Times They are A-Changing. Akhnaton, Philip Glass2:20. Bbox, remote access. Internet. Marvin. Wireless Home network. PTT/ISP. Marvin. Slider. Way to insert a new unit. FireWire connection. Power 110+220. - PowerPoint PPT PresentationTRANSCRIPT
MARVIN2003 ADMARVIN2003 AD
Planning meeting RCUR/T/D 1998-04
The Times They are A-Changing
Bbox, remote access
WirelessHome network
InternetMarvin
PTT/ISP
Akhnaton, Philip Glass2:20
Marvin
Locking system
FireWireconnection
Power110+220
InternetADSL
Slider
Way to insert a newunit
Ideas partly Maarten Legene
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
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
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
Package Overview
ericsson.rcur ericsson.marvin
infobase
applets
web
imap
...
services
transactionlog
btestdialog
switching
javax
servlet
activation
com
odi(PSE)
objectspace(Voyager)
transaction
ericsson.rcur ericsson.marvin
infobase
applets
web
imap
...
services
transactionlog
btestdialog
switching
javax
servlet
activation
com
odi(PSE)
objectspace(Voyager)
transaction
• Clean and simple resource handling model
• Simplifies exception handling
• Consistent with many external systems
• However, some problems remain difficult
transaction
Transaction
Coordinator
SimpleTransaction
Manager
SimpleTransaction
IParticipant
LogEntry
Thread
Client code
current
1 *
1 *
1 *
1
0..1
replaceable
ExclusiveManager
Convenience
Transactions explained
• A resource gets a chance to reconsider ….
Client CoordinatorSimple
TransactionManager
SimpleTransaction
Resource 1:IParticipant
Resource 2:IParticipant
begin()begin()
new()
...()
join()
commit()prepare()
prepare()
commit()
commit()
...()
join()joinTransaction()
join()
...()
join()joinTransaction()
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”
transaction, open points
• Interface to Voyagers transactions
• Implementation of undo/redo logs
• Get the department committed to it ;-)
infobase
ericsson.rcur ericsson.marvin
infobase
applets
web
imap
...
services
transactionlog
btestdialog
switching
javax
servlet
activation
com
odi(PSE)
objectspace(Voyager)
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
InfoBase, communications• All communications pass through the InfoBase
– mail– notifications– phone calls– ….
Incoming informationDispatchedto listeners
StoredPersistently
infobase, class overview
InfoBase Association
Object
String
Context
OIDPContextFileStore
Term
IStore
IFilter
StoreEvent
StoreListener
Top
Document Person
XDate
Project
Identity
...
IAssociation
PSEMime
IBObjectInputStream
*11
*
infobase, indexing
Example: name=xyz.jar
class
group
bean
mime
version
from
to
id
name
related
….....
Re: About the projector
xyz.jar
vcard.vcf
peter.kriens
Hi!
anders.danne
Abc.jar….….....
Hashtable for index names
...
Hashtable for index “name”
123
4511
234, 12,3
234
543
120
41….….....
<120>
<121>
<122>
<123>
<124>
<125>
<126>
<127>
id
class
related
….....
...
Vector for PContext
aPContext
a Context
ericsson.marvin.mail.POP3Collector
ericsson.marvin.mail.GetMail
ericsson.marvin.imap.IMAP
Association
name=“class”
De-serialize
Association
name=“name”
xyz.jar
infobase, open points
• Listen to filtered events instead of all
• Top object
• Better memory usage
• Performance profiling
• Better locking
• Robustness improvement
services
ericsson.rcur ericsson.marvin
infobase
applets
web
imap
...
services
transactionlog
btestdialog
switching
javax
servlet
activation
com
odi(PSE)
objectspace(Voyager)
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.
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
services, overview
ServiceManager
ServiceEntry
JarHandler`
infobase
IService
IBClassLoader
Listener
Shell
JarResource
IResourceAccess
*1
1
*
1
*
Service
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
web
ericsson.rcur ericsson.marvin
infobase
applets
web
imap
...
services
transactionlog
btestdialog
switching
javax
servlet
activation
com
odi(PSE)
objectspace(Voyager)
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!)
web, overview
HttpdHandler`
infobase
HttpServer
Reply
Thread Request
services
IService
Service
*1
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
imap interface
ericsson.rcur ericsson.marvin
infobase
applets
web
imap
...
services
transactionlog
btestdialog
switching
javax
servlet
activation
com
odi(PSE)
objectspace(Voyager)
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
imap, handling of attachments
Incoming informatione.g. mail, schedule
StoredPersistently
imap
web
messages
attachments
group=inbox
imap, overview
IMAPSession`
infobase
IMAP
Thread
services
IService
Service
javaxmail
*1
javaxactivation
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
ericsson.rcur ericsson.marvin
infobase
applets
web
imap
...
services
transactionlog
btestdialog
switching
javax
servlet
activation
com
odi(PSE)
objectspace(Voyager)
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!
mail, overview
POP3Collector`
infobase
GetMail
services
IService
Service
javaxmail
*1
Thread
javaxactivation
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
Other applets
ericsson.rcur ericsson.marvin
infobase
applets
web
imap
...
services
transactionlog
btestdialog
switching
javax
servlet
activation
com
odi(PSE)
objectspace(Voyager)
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)
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)
Used libraries
ericsson.rcur ericsson.marvin
infobase
applets
web
imap
...
services
transactionlog
btestdialog
switching
javax
servlet
activation
com
odi(PSE)
objectspace(Voyager)
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
javax.activation
• Standard library to connect MIME typed objects to handlers
• DataSource interface is VERY useful
• Belongs to beans
javax.servlet
• Standard interface for request/reply interactions like HTTP
• Will adapt the web server to use servlets
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
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?
Surfboard
Speakers
Dockable Cameraand microphone
1600x1200120 dpi screen
XSRW
SurfBoa
rd
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??
BBox
GSM over CDMA+ XSRW
480x640 full colortouch sensitive screen
Lens for laser projector
Battery life 180 hours
Speaker behind display.
Camera lens
Microphone behind display
Earth to BBox
• We need something a bit more realistic than the BBox
• The SIM application toolkit (GSM 11.11) offers good possibilities on modern mobiles (GSM Phase 2+)
• In contact with Schlumberger and G&D for development support
• Obtaining an authorized card looks not easy
• Seems like the right stuff for our department
SIM application toolkit (GSM 11.11)
MobileMobile SIM cardSIM card
SMS downloadCell Broadcast download
Menu selectionCommand result
Call controlDisplay text
Get keyGet InputPlay tone
Select itemSend SMS
Send Supplementary ServiceSend USSDSetup call
Setup menuProvide local information
SIM application toolkit interface
• Marvin can ask the mobile to:– setup a call from the mobile to a number– forward the phone to another number– add document summaries to the menu– display a message– changes to the phonebook– request input from the user– set any supplementary services
SIM application toolkit interface II
• The mobile must report– Location change (Cell Identification + LAC + NMC)– Cell broadcast info– Selection of a document summary– Incoming numbers + duration (might be hard)– Incoming SMS– Send input– Battery
Other projects
• eBox– Linux based– Many overlapping concepts– Carlstedt, CSLab, Hans Thorsen, Malte Lillestralen– First goal is to use it for metering water, later through ISPs in the
home– Seems very Java oriented– Good spirit, high ambition– Have access to a factory (Linkoping)
• Win 95 home server (made in Karlstad)– WinFax like product– Win 95 does not seem to be right OS to me– Have no update of their status lately
Next phase
• Introducing class for the following concepts:
– Marvin personality– The channels to the end user and their capabilities– Task management
• Easy Speech support for the services (Speech agent)
• Mobile interface
• Cooperation with others
• Robustness, Reliability
Next next phase
• Connections in the house
• Switching of video
• Security
• Surfboard
• ???
Software
MARVIN™
?MARVIN™
?