Presentation is loading. Please wait.

Presentation is loading. Please wait.

21st ACM Symposium on Operating Systems Principles, Oct 2007 DejaView: A Personal Virtual Computer Recorder.

Similar presentations


Presentation on theme: "21st ACM Symposium on Operating Systems Principles, Oct 2007 DejaView: A Personal Virtual Computer Recorder."— Presentation transcript:

1 21st ACM Symposium on Operating Systems Principles, Oct 2007 1orenl@cs.columbia.eduorenl@cs.columbia.edu DejaView: A Personal Virtual Computer Recorder Oren * Ricardo A.Dan B.ShayaJason LaadanBarattoPhungPotterNieh Columbia University {orenl,ricardo,phung,spotter,nieh}@cs.columbia.edu * Oren Laadan was awarded an SOSP scholarship by Infosys

2 21st ACM Symposium on Operating Systems Principles, Oct 2007 2orenl@cs.columbia.eduorenl@cs.columbia.edu The MEMEX Vision “A device in which an individual stores all his books, records, and communications, and which is mechanized so that it may be consulted with exceeding speed and flexibility.” Vannevar Bush, "As We May Think", July 1945

3 21st ACM Symposium on Operating Systems Principles, Oct 2007 3orenl@cs.columbia.eduorenl@cs.columbia.edu The MEMEX Machine “It is an enlarged intimate supplement to his memory.”

4 21st ACM Symposium on Operating Systems Principles, Oct 2007 4orenl@cs.columbia.eduorenl@cs.columbia.edu Are We There Yet ? ◆ We spend more and more time in front of computers ◆ It is important to archive, search, view and manipulate what we have seen ◆ Existing tools for web/desktop search are incomplete

5 21st ACM Symposium on Operating Systems Principles, Oct 2007 5orenl@cs.columbia.eduorenl@cs.columbia.edu DejaView ◆ A Personal Virtual Computer Recorder that provides a complete recording of a desktop computing experience ◆ designed for transparency ◆ fast enough for interactive use

6 21st ACM Symposium on Operating Systems Principles, Oct 2007 6orenl@cs.columbia.eduorenl@cs.columbia.edu DejaView ◆ Provides a Tivo-like experience for the user's desktop ◆ record display ● to playback, browse, fast-forward, rewind ◆ record text and context ● to use as index to search the display record ◆ record execution state ● to revive and manipulate previous sessions

7 21st ACM Symposium on Operating Systems Principles, Oct 2007 7orenl@cs.columbia.eduorenl@cs.columbia.edu DejaView Architecture Motivation DejaView Architecture Evaluation Conclusions

8 21st ACM Symposium on Operating Systems Principles, Oct 2007 8orenl@cs.columbia.eduorenl@cs.columbia.edu DejaView Architecture browse, playback searchrevive record

9 21st ACM Symposium on Operating Systems Principles, Oct 2007 9orenl@cs.columbia.eduorenl@cs.columbia.edu Display Recording ◆ Need to record the display... ◆ transparently ◆ efficiently ◆ at full-fidelity

10 21st ACM Symposium on Operating Systems Principles, Oct 2007 10orenl@cs.columbia.eduorenl@cs.columbia.edu Virtual Display ◆ Virtual display driver ◆ no longer tied to a piece of hardware ◆ can redirect the display anywhere Display updates Input events

11 21st ACM Symposium on Operating Systems Principles, Oct 2007 11orenl@cs.columbia.eduorenl@cs.columbia.edu Virtual Display ◆ Standard device interface ◆ provides full transparency ◆ Intercepts low level display updates ◆ records only changes ◆ fast, efficient, optimized for desktop ◆ Logs all display updates ◆ no loss of information

12 21st ACM Symposium on Operating Systems Principles, Oct 2007 12orenl@cs.columbia.eduorenl@cs.columbia.edu Text and Context Recording ◆ Need to record the text and context... ◆ transparently ◆ efficiently ◆ Naïve approach: OCR ? ◆ too slow ◆ inaccurate

13 21st ACM Symposium on Operating Systems Principles, Oct 2007 13orenl@cs.columbia.eduorenl@cs.columbia.edu Text and Context ◆ Leverage accessibility infrastructure ◆ used by screen readers to convert text to speech, for the visually impaired ◆ available on most modern desktops ◆ incorporated into standard GUI toolkit already does what we need !

14 21st ACM Symposium on Operating Systems Principles, Oct 2007 14orenl@cs.columbia.eduorenl@cs.columbia.edu Text and Context ◆ Accessibility infrastructure ◆ standard interface – transparent ◆ efficient – see evaluation ◆ Provides useful contextual information about the contents, e.g: ◆ name and type of application ◆ which window has focus ◆ special properties (e.g. menu text)

15 21st ACM Symposium on Operating Systems Principles, Oct 2007 15orenl@cs.columbia.eduorenl@cs.columbia.edu Execution Recording ◆ Need to record execution state... ◆ to be able to revive at later time ● underlying system may change ◆ include the entire desktop session ● not only a single process ◆ fast enough to save frequently ◆ without degrading user experience

16 21st ACM Symposium on Operating Systems Principles, Oct 2007 16orenl@cs.columbia.eduorenl@cs.columbia.edu Virtual Execution Environment ◆ Encapsulate the user's desktop and decouple it from the underlying OS ◆ repeatedly checkpoint the desktop session to be able to revive at a later time Hardware Operating System DejaView Desktop session D

17 21st ACM Symposium on Operating Systems Principles, Oct 2007 17orenl@cs.columbia.eduorenl@cs.columbia.edu Virtual Execution Environment ◆ Interpose on operating system API ◆ transparent, lightweight ◆ Private virtual namespace ◆ isolated, self contained ◆ Encapsulate entire desktop session ◆ correctly save and restore display state ◆ only save desktop session, not entire OS

18 21st ACM Symposium on Operating Systems Principles, Oct 2007 18orenl@cs.columbia.eduorenl@cs.columbia.edu Execution Checkpoint ◆ Consistent checkpointing (1) quiesce session (2) save execution state (3) save file system state (snapshot) (4) let session resume ◆ Leverage log-structured file system ◆ every transaction results in a snapshot downtime

19 21st ACM Symposium on Operating Systems Principles, Oct 2007 19orenl@cs.columbia.eduorenl@cs.columbia.edu Optimize for Interactivity ◆ Remove work from critical path: ◆ pre-snapshot ◆ pre-quiesce ◆ deferred write-back ◆ incremental checkpoint ◆ copy-on-write

20 21st ACM Symposium on Operating Systems Principles, Oct 2007 20orenl@cs.columbia.eduorenl@cs.columbia.edu Checkpoint Policy ◆ Only checkpoint on display updates ◆ this is what interests the user ◆ Only when there are enough updates ◆ skip unnecessary checkpoints to reduce storage requirements ◆ Limit checkpoint rate ◆ so runtime overhead is manageable

21 21st ACM Symposium on Operating Systems Principles, Oct 2007 21orenl@cs.columbia.eduorenl@cs.columbia.edu Reviving Execution ◆ Revive to a previous checkpoint (1) restore file system state (2) restore execution state (3) let session resume ◆ Leverage union file system ◆ combine the read-only snapshot with a fresh read-write file system layer on top

22 21st ACM Symposium on Operating Systems Principles, Oct 2007 22orenl@cs.columbia.eduorenl@cs.columbia.edu Parallel Worlds ◆ Revived session has own environment ◆ Multiple sessions can run concurrently Hardware Operating System DejaView Desktop D Revived D

23 21st ACM Symposium on Operating Systems Principles, Oct 2007 23orenl@cs.columbia.eduorenl@cs.columbia.edu DejaView Evaluation Motivation DejaView Architecture Evaluation Conclusions

24 21st ACM Symposium on Operating Systems Principles, Oct 2007 24orenl@cs.columbia.eduorenl@cs.columbia.edu Performance Evaluation ◆ System overhead: ◆ runtime overhead of recording ◆ impact on system interactivity ◆ storage requirements ◆ Access to data: ◆ search and browse latency ◆ playback speed ◆ session revive latency

25 21st ACM Symposium on Operating Systems Principles, Oct 2007 25orenl@cs.columbia.eduorenl@cs.columbia.edu Application Scenarios ◆ Benchmarks ◆ web- rapid-fire browsing ◆ video- full screen playback ◆ untar- untar of kernel source files ◆ gzip- compress kernel source tar file ◆ make- kernel make ◆ octave- matlab clone calculation ◆ cat- cat of a large file to screen ◆ usage- real desktop usage

26 21st ACM Symposium on Operating Systems Principles, Oct 2007 26orenl@cs.columbia.eduorenl@cs.columbia.edu Recording Runtime Overhead ◆ Display and execution recording overhead is low

27 21st ACM Symposium on Operating Systems Principles, Oct 2007 27orenl@cs.columbia.eduorenl@cs.columbia.edu Checkpoint Latency ◆ Downtime low enough for interactive usage ◆ Total time low enough for frequent checkpoints

28 21st ACM Symposium on Operating Systems Principles, Oct 2007 28orenl@cs.columbia.eduorenl@cs.columbia.edu Recording Storage Growth ◆ Storage requirements are lower than PVR with equivalent display resolution

29 21st ACM Symposium on Operating Systems Principles, Oct 2007 29orenl@cs.columbia.eduorenl@cs.columbia.edu Browse and Search Latency ◆ Searching and browsing are fast enough to support interactive use

30 21st ACM Symposium on Operating Systems Principles, Oct 2007 30orenl@cs.columbia.eduorenl@cs.columbia.edu Playback Speedup ◆ Faster than real-time visual search through the display recording

31 21st ACM Symposium on Operating Systems Principles, Oct 2007 31orenl@cs.columbia.eduorenl@cs.columbia.edu Session Revive ◆ Latency to revive a session (from cold cache) is within a few seconds

32 21st ACM Symposium on Operating Systems Principles, Oct 2007 32orenl@cs.columbia.eduorenl@cs.columbia.edu Conclusions ◆ DejaView: a new personal virtual computer recorder model ◆ novel use of virtual display, virtual execution environment and accessibility ◆ users can find, access and manipulate data they have previously seen ◆ allows recording, playback, browsing, searching, and reviving live desktop ◆ modest performance overhead, fast enough for interactive use

33 21st ACM Symposium on Operating Systems Principles, Oct 2007 33orenl@cs.columbia.eduorenl@cs.columbia.edu Reviving the Network ◆ What is the network state after revive ? ◆ like resuming a hibernated laptop ◆ stateful protocols: drop all connections ◆ stateless protocol: don't care ◆ What about network access ? ◆ disabled by default ◆ enable per application, or globally


Download ppt "21st ACM Symposium on Operating Systems Principles, Oct 2007 DejaView: A Personal Virtual Computer Recorder."

Similar presentations


Ads by Google