marvin 2003 ad

58
MARVIN 2003 AD Planning meeting RCUR/T/D 1998-04

Upload: arlene

Post on 12-Jan-2016

56 views

Category:

Documents


0 download

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 Presentation

TRANSCRIPT

Page 1: MARVIN 2003 AD

MARVIN2003 ADMARVIN2003 AD

Planning meeting RCUR/T/D 1998-04

Page 2: MARVIN 2003 AD

The Times They are A-Changing

Page 3: MARVIN 2003 AD

Bbox, remote access

WirelessHome network

InternetMarvin

PTT/ISP

Akhnaton, Philip Glass2:20

Page 4: MARVIN 2003 AD

Marvin

Locking system

FireWireconnection

Power110+220

InternetADSL

Slider

Way to insert a newunit

Ideas partly Maarten Legene

Page 5: MARVIN 2003 AD

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

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

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

Package Overview

ericsson.rcur ericsson.marvin

infobase

applets

web

imap

mail

...

services

transactionlog

btestdialog

switching

javax

mail

servlet

activation

com

odi(PSE)

objectspace(Voyager)

Page 9: MARVIN 2003 AD

transaction

ericsson.rcur ericsson.marvin

infobase

applets

web

imap

mail

...

services

transactionlog

btestdialog

switching

javax

mail

servlet

activation

com

odi(PSE)

objectspace(Voyager)

Page 10: MARVIN 2003 AD

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

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

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

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

transaction, open points

• Interface to Voyagers transactions

• Implementation of undo/redo logs

• Get the department committed to it ;-)

Page 15: MARVIN 2003 AD

infobase

ericsson.rcur ericsson.marvin

infobase

applets

web

imap

mail

...

services

transactionlog

btestdialog

switching

javax

mail

servlet

activation

com

odi(PSE)

objectspace(Voyager)

Page 16: MARVIN 2003 AD

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

InfoBase, communications• All communications pass through the InfoBase

– mail– notifications– phone calls– ….

Incoming informationDispatchedto listeners

StoredPersistently

Page 18: MARVIN 2003 AD

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

infobase, indexing

Example: name=xyz.jar

class

group

bean

mime

version

from

to

email

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

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

services

ericsson.rcur ericsson.marvin

infobase

applets

web

imap

mail

...

services

transactionlog

btestdialog

switching

javax

mail

servlet

activation

com

odi(PSE)

objectspace(Voyager)

Page 22: MARVIN 2003 AD

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

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

services, overview

ServiceManager

ServiceEntry

JarHandler`

infobase

IService

IBClassLoader

Listener

Shell

JarResource

IResourceAccess

*1

1

*

1

*

Service

Page 25: MARVIN 2003 AD

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

web

ericsson.rcur ericsson.marvin

infobase

applets

web

imap

mail

...

services

transactionlog

btestdialog

switching

javax

mail

servlet

activation

com

odi(PSE)

objectspace(Voyager)

Page 27: MARVIN 2003 AD

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

web, overview

HttpdHandler`

infobase

HttpServer

Reply

Thread Request

services

IService

Service

*1

Page 29: MARVIN 2003 AD

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

imap interface

ericsson.rcur ericsson.marvin

infobase

applets

web

imap

mail

...

services

transactionlog

btestdialog

switching

javax

mail

servlet

activation

com

odi(PSE)

objectspace(Voyager)

Page 31: MARVIN 2003 AD

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

imap, handling of attachments

Incoming informatione.g. mail, schedule

StoredPersistently

imap

web

messages

attachments

group=inbox

Page 33: MARVIN 2003 AD

imap, overview

IMAPSession`

infobase

IMAP

Thread

services

IService

Service

javaxmail

*1

javaxactivation

Page 34: MARVIN 2003 AD

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

mail

ericsson.rcur ericsson.marvin

infobase

applets

web

imap

mail

...

services

transactionlog

btestdialog

switching

javax

mail

servlet

activation

com

odi(PSE)

objectspace(Voyager)

Page 36: MARVIN 2003 AD

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

mail, overview

POP3Collector`

infobase

GetMail

services

IService

Service

javaxmail

*1

Thread

javaxactivation

Page 38: MARVIN 2003 AD

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

Other applets

ericsson.rcur ericsson.marvin

infobase

applets

web

imap

mail

...

services

transactionlog

btestdialog

switching

javax

mail

servlet

activation

com

odi(PSE)

objectspace(Voyager)

Page 40: MARVIN 2003 AD

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

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

Used libraries

ericsson.rcur ericsson.marvin

infobase

applets

web

imap

mail

...

services

transactionlog

btestdialog

switching

javax

mail

servlet

activation

com

odi(PSE)

objectspace(Voyager)

Page 43: MARVIN 2003 AD

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

javax.activation

• Standard library to connect MIME typed objects to handlers

• DataSource interface is VERY useful

• Belongs to beans

Page 45: MARVIN 2003 AD

javax.servlet

• Standard interface for request/reply interactions like HTTP

• Will adapt the web server to use servlets

Page 46: MARVIN 2003 AD

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

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

Surfboard

Speakers

Dockable Cameraand microphone

1600x1200120 dpi screen

XSRW

SurfBoa

rd

Page 49: MARVIN 2003 AD

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

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

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

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

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

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

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

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

Next next phase

• Connections in the house

• Switching of video

• Security

• Surfboard

• ???

Page 58: MARVIN 2003 AD

Software

MARVIN™

?MARVIN™

?