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

Slides:



Advertisements
Similar presentations
THINC: A Virtual and Remote Display Architecture for Desktop Computing Ricardo A. Baratto Network Computing Laboratory Columbia University.
Advertisements

Windows XP Basics OVERVIEW Next.
Introduction to Operating Systems CS-2301 B-term Introduction to Operating Systems CS-2301, System Programming for Non-majors (Slides include materials.
MobiDesk: Mobile Virtual Desktop Computing Ricardo A. Baratto, Shaya Potter, Gong Su, Jason Nieh Network Computing Laboratory Columbia University September.
Chapter 13 Embedded Systems
MobiDesk: Mobile Virtual Desktop Computing Ricardo A. Baratto, Shaya Potter, Gong Su, Jason Nieh Network Computing Laboratory Columbia University.
Lecture 2a: Foundations of human-computer interaction CSCI102 - Introduction to Information Technology B ITCS905 - Fundamentals of Information Technology.
Copyright Arshi Khan1 System Programming Instructor Arshi Khan.
Operating Systems.
1 Introducing Windows Backup There are different methods for starting Windows 2000 Backup. Requirements for running Windows 2000 Backup All users can back.
Computers Are Your Future Eleventh Edition Chapter 4: System Software Copyright © 2011 Pearson Education, Inc. Publishing as Prentice Hall1.
Virtualization. Virtualization  In computing, virtualization is a broad term that refers to the abstraction of computer resources  It is "a technique.
V IRTUALIZATION Sayed Ahmed B.Sc. Engineering in Computer Science & Engineering M.Sc. In Computer Science.
Ch 6. Performance Rating Windows 7 adjusts itself to match the ability of the hardware –Aero Theme v. Windows Basic –Gaming features –TV recording –Video.
CSE 451: Operating Systems Section 10 Project 3 wrap-up, final exam review.
Creating Multimedia Interaction with Windows Media Technologies 7.
Operating Systems ECE344 Ashvin Goel ECE University of Toronto OS Design.
IT253: Computer Organization
CH1. Hardware: CPU: Ex: compute server (executes processor-intensive applications for clients), Other servers, such as file servers, do some computation.
Computers Operating System Essentials. Operating Systems PROGRAM HARDWARE OPERATING SYSTEM.
Copyright © cs-tutorial.com. Overview Introduction Architecture Implementation Evaluation.
Processes Introduction to Operating Systems: Module 3.
CS533 - Concepts of Operating Systems 1 The Mach System Presented by Catherine Vilhauer.
Desktop Virtualization
Multimedia and Computers Introduction to Computers.
Application Software System Software.
1 Isolating Web Programs in Modern Browser Architectures CS6204: Cloud Environment Spring 2011.
CMPF124 Personal Productivity with Information Technology Chapter 2 – Part 3 Introduction To Windows Operating Systems Windows Accessories CMPF 112 : COMPUTING.
Chapter 1 Basic Concepts of Operating Systems Introduction Software A program is a sequence of instructions that enables the computer to carry.
Chapter 1 Database Access from Client Applications.
Vannevar Bush: As we may think. Consider a future device for individual use, which is a sort of mechanized private file and library. It needs a name,
Image Fusion In Real-time, on a PC. Goals Interactive display of volume data in 3D –Allow more than one data set –Allow fusion of different modalities.
Overview Issues in Mobile Databases – Data management – Transaction management Mobile Databases and Information Retrieval.
IT Vocabulary Basics Review Sit at tables. Need pencil/pen.
April, 2010Oren Laadan, Columbia University 1 Network Migration in Linux Oren Laadan
Lesson 9: SOFTWARE ICT Fundamentals 2nd Semester SY
Disk Cache Main memory buffer contains most recently accessed disk sectors Cache is organized by blocks, block size = sector’s A hash table is used to.
DISCOVERING COMPUTERS 2018 Digital Technology, Data, and Devices
Office 2016 and Windows 10: Essential Concepts and Skills
Operating Systems {week 01.b}
Unit 3 Virtualization.
Android Mobile Application Development
Chapter Objectives In this chapter, you will learn:
Chapter 6: Securing the Cloud
Module 3: Operating-System Structures
Processes and threads.
Discovering Computers 2012: Chapter 8
Operating System.
Chapter 5: Using System Software
TYPES OFF OPERATING SYSTEM
Introduction to Cloud Computing
Group 8 Virtualization of the Cloud
Introduction to Computers
Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 2 Database System Concepts and Architecture.
Introduction to Operating Systems
Software Defined Networking (SDN)
Chapter 2: System Structures
Chapter 3: Operating-System Structures
Windows Virtual PC / Hyper-V
Chapter 2: Operating-System Structures
Outline Chapter 2 (cont) OS Design OS structure
Prof. Leonardo Mostarda University of Camerino
System Software: Operating system, Utility Programs, & File Management
Lecture 8: Efficient Address Translation
Software - Operating Systems
Year 10 Computer Science Hardware - CPU and RAM.
Chapter 2 Operating System Overview
Chapter 2: Operating-System Structures
Windows Operating System
Presentation transcript:

21st ACM Symposium on Operating Systems Principles, Oct 2007 DejaView: A Personal Virtual Computer Recorder Oren * Ricardo A.Dan B.ShayaJason LaadanBarattoPhungPotterNieh Columbia University * Oren Laadan was awarded an SOSP scholarship by Infosys

21st ACM Symposium on Operating Systems Principles, Oct 2007 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

21st ACM Symposium on Operating Systems Principles, Oct 2007 The MEMEX Machine “It is an enlarged intimate supplement to his memory.”

21st ACM Symposium on Operating Systems Principles, Oct 2007 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

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

21st ACM Symposium on Operating Systems Principles, Oct 2007 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

21st ACM Symposium on Operating Systems Principles, Oct 2007 DejaView Architecture Motivation DejaView Architecture Evaluation Conclusions

21st ACM Symposium on Operating Systems Principles, Oct 2007 DejaView Architecture browse, playback searchrevive record

21st ACM Symposium on Operating Systems Principles, Oct 2007 Display Recording ◆ Need to record the display... ◆ transparently ◆ efficiently ◆ at full-fidelity

21st ACM Symposium on Operating Systems Principles, Oct 2007 Virtual Display ◆ Virtual display driver ◆ no longer tied to a piece of hardware ◆ can redirect the display anywhere Display updates Input events

21st ACM Symposium on Operating Systems Principles, Oct 2007 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

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

21st ACM Symposium on Operating Systems Principles, Oct 2007 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 !

21st ACM Symposium on Operating Systems Principles, Oct 2007 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)

21st ACM Symposium on Operating Systems Principles, Oct 2007 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

21st ACM Symposium on Operating Systems Principles, Oct 2007 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

21st ACM Symposium on Operating Systems Principles, Oct 2007 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

21st ACM Symposium on Operating Systems Principles, Oct 2007 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

21st ACM Symposium on Operating Systems Principles, Oct 2007 Optimize for Interactivity ◆ Remove work from critical path: ◆ pre-snapshot ◆ pre-quiesce ◆ deferred write-back ◆ incremental checkpoint ◆ copy-on-write

21st ACM Symposium on Operating Systems Principles, Oct 2007 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

21st ACM Symposium on Operating Systems Principles, Oct 2007 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

21st ACM Symposium on Operating Systems Principles, Oct 2007 Parallel Worlds ◆ Revived session has own environment ◆ Multiple sessions can run concurrently Hardware Operating System DejaView Desktop D Revived D

21st ACM Symposium on Operating Systems Principles, Oct 2007 DejaView Evaluation Motivation DejaView Architecture Evaluation Conclusions

21st ACM Symposium on Operating Systems Principles, Oct 2007 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

21st ACM Symposium on Operating Systems Principles, Oct 2007 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

21st ACM Symposium on Operating Systems Principles, Oct 2007 Recording Runtime Overhead ◆ Display and execution recording overhead is low

21st ACM Symposium on Operating Systems Principles, Oct 2007 Checkpoint Latency ◆ Downtime low enough for interactive usage ◆ Total time low enough for frequent checkpoints

21st ACM Symposium on Operating Systems Principles, Oct 2007 Recording Storage Growth ◆ Storage requirements are lower than PVR with equivalent display resolution

21st ACM Symposium on Operating Systems Principles, Oct 2007 Browse and Search Latency ◆ Searching and browsing are fast enough to support interactive use

21st ACM Symposium on Operating Systems Principles, Oct 2007 Playback Speedup ◆ Faster than real-time visual search through the display recording

21st ACM Symposium on Operating Systems Principles, Oct 2007 Session Revive ◆ Latency to revive a session (from cold cache) is within a few seconds

21st ACM Symposium on Operating Systems Principles, Oct 2007 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

21st ACM Symposium on Operating Systems Principles, Oct 2007 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