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
![Page 1: MARVIN 2003 AD](https://reader035.vdocuments.mx/reader035/viewer/2022062309/56814498550346895db13ce7/html5/thumbnails/1.jpg)
MARVIN2003 ADMARVIN2003 AD
Planning meeting RCUR/T/D 1998-04
![Page 2: MARVIN 2003 AD](https://reader035.vdocuments.mx/reader035/viewer/2022062309/56814498550346895db13ce7/html5/thumbnails/2.jpg)
The Times They are A-Changing
![Page 3: MARVIN 2003 AD](https://reader035.vdocuments.mx/reader035/viewer/2022062309/56814498550346895db13ce7/html5/thumbnails/3.jpg)
Bbox, remote access
WirelessHome network
InternetMarvin
PTT/ISP
Akhnaton, Philip Glass2:20
![Page 4: MARVIN 2003 AD](https://reader035.vdocuments.mx/reader035/viewer/2022062309/56814498550346895db13ce7/html5/thumbnails/4.jpg)
Marvin
Locking system
FireWireconnection
Power110+220
InternetADSL
Slider
Way to insert a newunit
Ideas partly Maarten Legene
![Page 5: MARVIN 2003 AD](https://reader035.vdocuments.mx/reader035/viewer/2022062309/56814498550346895db13ce7/html5/thumbnails/5.jpg)
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
![Page 6: MARVIN 2003 AD](https://reader035.vdocuments.mx/reader035/viewer/2022062309/56814498550346895db13ce7/html5/thumbnails/6.jpg)
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
![Page 7: MARVIN 2003 AD](https://reader035.vdocuments.mx/reader035/viewer/2022062309/56814498550346895db13ce7/html5/thumbnails/7.jpg)
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
![Page 8: MARVIN 2003 AD](https://reader035.vdocuments.mx/reader035/viewer/2022062309/56814498550346895db13ce7/html5/thumbnails/8.jpg)
Package Overview
ericsson.rcur ericsson.marvin
infobase
applets
web
imap
...
services
transactionlog
btestdialog
switching
javax
servlet
activation
com
odi(PSE)
objectspace(Voyager)
![Page 9: MARVIN 2003 AD](https://reader035.vdocuments.mx/reader035/viewer/2022062309/56814498550346895db13ce7/html5/thumbnails/9.jpg)
transaction
ericsson.rcur ericsson.marvin
infobase
applets
web
imap
...
services
transactionlog
btestdialog
switching
javax
servlet
activation
com
odi(PSE)
objectspace(Voyager)
![Page 10: MARVIN 2003 AD](https://reader035.vdocuments.mx/reader035/viewer/2022062309/56814498550346895db13ce7/html5/thumbnails/10.jpg)
transaction
• Clean and simple resource handling model
• Simplifies exception handling
• Consistent with many external systems
• However, some problems remain difficult
![Page 11: MARVIN 2003 AD](https://reader035.vdocuments.mx/reader035/viewer/2022062309/56814498550346895db13ce7/html5/thumbnails/11.jpg)
transaction
Transaction
Coordinator
SimpleTransaction
Manager
SimpleTransaction
IParticipant
LogEntry
Thread
Client code
current
1 *
1 *
1 *
1
0..1
replaceable
ExclusiveManager
Convenience
![Page 12: MARVIN 2003 AD](https://reader035.vdocuments.mx/reader035/viewer/2022062309/56814498550346895db13ce7/html5/thumbnails/12.jpg)
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()
![Page 13: MARVIN 2003 AD](https://reader035.vdocuments.mx/reader035/viewer/2022062309/56814498550346895db13ce7/html5/thumbnails/13.jpg)
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”
![Page 14: MARVIN 2003 AD](https://reader035.vdocuments.mx/reader035/viewer/2022062309/56814498550346895db13ce7/html5/thumbnails/14.jpg)
transaction, open points
• Interface to Voyagers transactions
• Implementation of undo/redo logs
• Get the department committed to it ;-)
![Page 15: MARVIN 2003 AD](https://reader035.vdocuments.mx/reader035/viewer/2022062309/56814498550346895db13ce7/html5/thumbnails/15.jpg)
infobase
ericsson.rcur ericsson.marvin
infobase
applets
web
imap
...
services
transactionlog
btestdialog
switching
javax
servlet
activation
com
odi(PSE)
objectspace(Voyager)
![Page 16: MARVIN 2003 AD](https://reader035.vdocuments.mx/reader035/viewer/2022062309/56814498550346895db13ce7/html5/thumbnails/16.jpg)
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
![Page 17: MARVIN 2003 AD](https://reader035.vdocuments.mx/reader035/viewer/2022062309/56814498550346895db13ce7/html5/thumbnails/17.jpg)
InfoBase, communications• All communications pass through the InfoBase
– mail– notifications– phone calls– ….
Incoming informationDispatchedto listeners
StoredPersistently
![Page 18: MARVIN 2003 AD](https://reader035.vdocuments.mx/reader035/viewer/2022062309/56814498550346895db13ce7/html5/thumbnails/18.jpg)
infobase, class overview
InfoBase Association
Object
String
Context
OIDPContextFileStore
Term
IStore
IFilter
StoreEvent
StoreListener
Top
Document Person
XDate
Project
Identity
...
IAssociation
PSEMime
IBObjectInputStream
*11
*
![Page 19: MARVIN 2003 AD](https://reader035.vdocuments.mx/reader035/viewer/2022062309/56814498550346895db13ce7/html5/thumbnails/19.jpg)
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
![Page 20: MARVIN 2003 AD](https://reader035.vdocuments.mx/reader035/viewer/2022062309/56814498550346895db13ce7/html5/thumbnails/20.jpg)
infobase, open points
• Listen to filtered events instead of all
• Top object
• Better memory usage
• Performance profiling
• Better locking
• Robustness improvement
![Page 21: MARVIN 2003 AD](https://reader035.vdocuments.mx/reader035/viewer/2022062309/56814498550346895db13ce7/html5/thumbnails/21.jpg)
services
ericsson.rcur ericsson.marvin
infobase
applets
web
imap
...
services
transactionlog
btestdialog
switching
javax
servlet
activation
com
odi(PSE)
objectspace(Voyager)
![Page 22: MARVIN 2003 AD](https://reader035.vdocuments.mx/reader035/viewer/2022062309/56814498550346895db13ce7/html5/thumbnails/22.jpg)
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.
![Page 23: MARVIN 2003 AD](https://reader035.vdocuments.mx/reader035/viewer/2022062309/56814498550346895db13ce7/html5/thumbnails/23.jpg)
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
![Page 24: MARVIN 2003 AD](https://reader035.vdocuments.mx/reader035/viewer/2022062309/56814498550346895db13ce7/html5/thumbnails/24.jpg)
services, overview
ServiceManager
ServiceEntry
JarHandler`
infobase
IService
IBClassLoader
Listener
Shell
JarResource
IResourceAccess
*1
1
*
1
*
Service
![Page 25: MARVIN 2003 AD](https://reader035.vdocuments.mx/reader035/viewer/2022062309/56814498550346895db13ce7/html5/thumbnails/25.jpg)
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
![Page 26: MARVIN 2003 AD](https://reader035.vdocuments.mx/reader035/viewer/2022062309/56814498550346895db13ce7/html5/thumbnails/26.jpg)
web
ericsson.rcur ericsson.marvin
infobase
applets
web
imap
...
services
transactionlog
btestdialog
switching
javax
servlet
activation
com
odi(PSE)
objectspace(Voyager)
![Page 27: MARVIN 2003 AD](https://reader035.vdocuments.mx/reader035/viewer/2022062309/56814498550346895db13ce7/html5/thumbnails/27.jpg)
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!)
![Page 28: MARVIN 2003 AD](https://reader035.vdocuments.mx/reader035/viewer/2022062309/56814498550346895db13ce7/html5/thumbnails/28.jpg)
web, overview
HttpdHandler`
infobase
HttpServer
Reply
Thread Request
services
IService
Service
*1
![Page 29: MARVIN 2003 AD](https://reader035.vdocuments.mx/reader035/viewer/2022062309/56814498550346895db13ce7/html5/thumbnails/29.jpg)
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
![Page 30: MARVIN 2003 AD](https://reader035.vdocuments.mx/reader035/viewer/2022062309/56814498550346895db13ce7/html5/thumbnails/30.jpg)
imap interface
ericsson.rcur ericsson.marvin
infobase
applets
web
imap
...
services
transactionlog
btestdialog
switching
javax
servlet
activation
com
odi(PSE)
objectspace(Voyager)
![Page 31: MARVIN 2003 AD](https://reader035.vdocuments.mx/reader035/viewer/2022062309/56814498550346895db13ce7/html5/thumbnails/31.jpg)
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
![Page 32: MARVIN 2003 AD](https://reader035.vdocuments.mx/reader035/viewer/2022062309/56814498550346895db13ce7/html5/thumbnails/32.jpg)
imap, handling of attachments
Incoming informatione.g. mail, schedule
StoredPersistently
imap
web
messages
attachments
group=inbox
![Page 33: MARVIN 2003 AD](https://reader035.vdocuments.mx/reader035/viewer/2022062309/56814498550346895db13ce7/html5/thumbnails/33.jpg)
imap, overview
IMAPSession`
infobase
IMAP
Thread
services
IService
Service
javaxmail
*1
javaxactivation
![Page 34: MARVIN 2003 AD](https://reader035.vdocuments.mx/reader035/viewer/2022062309/56814498550346895db13ce7/html5/thumbnails/34.jpg)
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
![Page 35: MARVIN 2003 AD](https://reader035.vdocuments.mx/reader035/viewer/2022062309/56814498550346895db13ce7/html5/thumbnails/35.jpg)
ericsson.rcur ericsson.marvin
infobase
applets
web
imap
...
services
transactionlog
btestdialog
switching
javax
servlet
activation
com
odi(PSE)
objectspace(Voyager)
![Page 36: MARVIN 2003 AD](https://reader035.vdocuments.mx/reader035/viewer/2022062309/56814498550346895db13ce7/html5/thumbnails/36.jpg)
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!
![Page 37: MARVIN 2003 AD](https://reader035.vdocuments.mx/reader035/viewer/2022062309/56814498550346895db13ce7/html5/thumbnails/37.jpg)
mail, overview
POP3Collector`
infobase
GetMail
services
IService
Service
javaxmail
*1
Thread
javaxactivation
![Page 38: MARVIN 2003 AD](https://reader035.vdocuments.mx/reader035/viewer/2022062309/56814498550346895db13ce7/html5/thumbnails/38.jpg)
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
![Page 39: MARVIN 2003 AD](https://reader035.vdocuments.mx/reader035/viewer/2022062309/56814498550346895db13ce7/html5/thumbnails/39.jpg)
Other applets
ericsson.rcur ericsson.marvin
infobase
applets
web
imap
...
services
transactionlog
btestdialog
switching
javax
servlet
activation
com
odi(PSE)
objectspace(Voyager)
![Page 40: MARVIN 2003 AD](https://reader035.vdocuments.mx/reader035/viewer/2022062309/56814498550346895db13ce7/html5/thumbnails/40.jpg)
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)
![Page 41: MARVIN 2003 AD](https://reader035.vdocuments.mx/reader035/viewer/2022062309/56814498550346895db13ce7/html5/thumbnails/41.jpg)
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)
![Page 42: MARVIN 2003 AD](https://reader035.vdocuments.mx/reader035/viewer/2022062309/56814498550346895db13ce7/html5/thumbnails/42.jpg)
Used libraries
ericsson.rcur ericsson.marvin
infobase
applets
web
imap
...
services
transactionlog
btestdialog
switching
javax
servlet
activation
com
odi(PSE)
objectspace(Voyager)
![Page 43: MARVIN 2003 AD](https://reader035.vdocuments.mx/reader035/viewer/2022062309/56814498550346895db13ce7/html5/thumbnails/43.jpg)
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
![Page 44: MARVIN 2003 AD](https://reader035.vdocuments.mx/reader035/viewer/2022062309/56814498550346895db13ce7/html5/thumbnails/44.jpg)
javax.activation
• Standard library to connect MIME typed objects to handlers
• DataSource interface is VERY useful
• Belongs to beans
![Page 45: MARVIN 2003 AD](https://reader035.vdocuments.mx/reader035/viewer/2022062309/56814498550346895db13ce7/html5/thumbnails/45.jpg)
javax.servlet
• Standard interface for request/reply interactions like HTTP
• Will adapt the web server to use servlets
![Page 46: MARVIN 2003 AD](https://reader035.vdocuments.mx/reader035/viewer/2022062309/56814498550346895db13ce7/html5/thumbnails/46.jpg)
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
![Page 47: MARVIN 2003 AD](https://reader035.vdocuments.mx/reader035/viewer/2022062309/56814498550346895db13ce7/html5/thumbnails/47.jpg)
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?
![Page 48: MARVIN 2003 AD](https://reader035.vdocuments.mx/reader035/viewer/2022062309/56814498550346895db13ce7/html5/thumbnails/48.jpg)
Surfboard
Speakers
Dockable Cameraand microphone
1600x1200120 dpi screen
XSRW
SurfBoa
rd
![Page 49: MARVIN 2003 AD](https://reader035.vdocuments.mx/reader035/viewer/2022062309/56814498550346895db13ce7/html5/thumbnails/49.jpg)
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??
![Page 50: MARVIN 2003 AD](https://reader035.vdocuments.mx/reader035/viewer/2022062309/56814498550346895db13ce7/html5/thumbnails/50.jpg)
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
![Page 51: MARVIN 2003 AD](https://reader035.vdocuments.mx/reader035/viewer/2022062309/56814498550346895db13ce7/html5/thumbnails/51.jpg)
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
![Page 52: MARVIN 2003 AD](https://reader035.vdocuments.mx/reader035/viewer/2022062309/56814498550346895db13ce7/html5/thumbnails/52.jpg)
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
![Page 53: MARVIN 2003 AD](https://reader035.vdocuments.mx/reader035/viewer/2022062309/56814498550346895db13ce7/html5/thumbnails/53.jpg)
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
![Page 54: MARVIN 2003 AD](https://reader035.vdocuments.mx/reader035/viewer/2022062309/56814498550346895db13ce7/html5/thumbnails/54.jpg)
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
![Page 55: MARVIN 2003 AD](https://reader035.vdocuments.mx/reader035/viewer/2022062309/56814498550346895db13ce7/html5/thumbnails/55.jpg)
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
![Page 56: MARVIN 2003 AD](https://reader035.vdocuments.mx/reader035/viewer/2022062309/56814498550346895db13ce7/html5/thumbnails/56.jpg)
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
![Page 57: MARVIN 2003 AD](https://reader035.vdocuments.mx/reader035/viewer/2022062309/56814498550346895db13ce7/html5/thumbnails/57.jpg)
Next next phase
• Connections in the house
• Switching of video
• Security
• Surfboard
• ???
![Page 58: MARVIN 2003 AD](https://reader035.vdocuments.mx/reader035/viewer/2022062309/56814498550346895db13ce7/html5/thumbnails/58.jpg)
Software
MARVIN™
?MARVIN™
?