Palantir A window-sharing system for Windows NT Max Feingold, Vladimir Livshits, and.

Slides:



Advertisements
Similar presentations
Types of Computers & Computer Hardware Computer Technology.
Advertisements

PC Application
SYSTEM ADMINISTRATION Chapter 19
Advanced Workgroup System. Printer Admin Utility Monitors printers over IP networks Views Sharp and non-Sharp SNMP Devices Provided Standard with Sharp.
14.1 © 2004 Pearson Education, Inc. Exam Planning, Implementing, and Maintaining a Microsoft Windows Server 2003 Active Directory Infrastructure.
70-290: MCSE Guide to Managing a Microsoft Windows Server 2003 Environment Chapter 11: Monitoring Server Performance.
Reducing the Energy Usage of Office Applications Jason Flinn M. Satyanarayanan Carnegie Mellon University Eyal de Lara Dan S. Wallach Willy Zwaenepoel.
Lesson 11-Virtual Private Networks. Overview Define Virtual Private Networks (VPNs). Deploy User VPNs. Deploy Site VPNs. Understand standard VPN techniques.
Portable Image File Viewer ENEE 408G: Multimedia Signal Processing Seun Fabayo John Glancy Gordon Krauthamer.
MCDST : Supporting Users and Troubleshooting a Microsoft Windows XP Operating System Chapter 12: Network Printing and Offline Files.
(NHA) The Laboratory of Computer Communication and Networking Network Host Analyzer.
MCTS Guide to Microsoft Windows Server 2008 Network Infrastructure Configuration Chapter 8 Introduction to Printers in a Windows Server 2008 Network.
What is adaptive web technology?  There is an increasingly large demand for software systems which are able to operate effectively in dynamic environments.
Cambodia-India Entrepreneurship Development Centre - : :.... :-:-
Optimizing picture file size. Three things you can do to lower file size  Lower the resolution  Crop the picture  Save with a file format that uses.
Web Proxy Server Anagh Pathak Jesus Cervantes Henry Tjhen Luis Luna.
(part 3).  Switches, also known as switching hubs, have become an increasingly important part of our networking today, because when working with hubs,
Module 2: Planning to Install SQL Server. Overview Hardware Installation Considerations SQL Server 2000 Editions Software Installation Considerations.
File sharing. Connect the two win 7 systems with LAN card Open the network.
© N. Ganesan, Ph.D., All rights reserved. Active Directory Nanda Ganesan, Ph.D.
M. Guymon Pleasant Grove High Spring 2003 Types of Computers & Computer Hardware Computer Technology Day 1.
Paper on Best implemented scientific concept for E-Governance Virtual Machine By Nitin V. Choudhari, DIO,NIC,Akola By Nitin V. Choudhari, DIO,NIC,Akola.
70-293: MCSE Guide to Planning a Microsoft Windows Server 2003 Network, Enhanced Chapter 14: Problem Recovery.
Welcome To. Improving Remote File Transfer Speeds By The Solution For: %
Chapter 31 File Transfer & Remote File Access (NFS)
1 SAMBA. 2 Module - SAMBA ♦ Overview The presence of diverse machines in the network environment is natural. So their interoperability is critical. This.
BASIC NETWORK CONCEPTS (PART 6). Network Operating Systems NNow that you have a general idea of the network topologies, cable types, and network architectures,
D. Beecroft Fremont High School Types of Computers & Computer Hardware.
Lab 2: Capturing and Displaying Digital Image
Technology Coordinators Training. Confidential Copyright © 2007 Pearson Education, Inc. and/or one or more of its direct or indirect affiliates. All rights.
Your Interactive Guide to the Digital World Discovering Computers 2012.
Configuring the MagicInfo Pro Display
Chapter 16 – DNS. DNS Domain Name Service This service allows client machines to resolve computer names (domain names) to IP addresses DNS works at the.
Guide to Linux Installation and Administration, 2e1 Chapter 3 Installing Linux.
ISO Layer Model Lecture 9 October 16, The Need for Protocols Multiple hardware platforms need to have the ability to communicate. Writing communications.
Screen Snapshot Service Kurt Biery SiTracker Monitoring Meeting, 23-Jan-2007.
1 Guide to Novell NetWare 6.0 Network Administration Chapter 13.
5 Chapter Five Web Servers. 5 Chapter Objectives Learn about the Microsoft Personal Web Server Software Learn how to improve Web site performance Learn.
 Refers to sampling the gray/color level in the picture at MXN (M number of rows and N number of columns )array of points.  Once points are sampled,
© Dennis Shasha, Philippe Bonnet – 2013 Communicating with the Outside.
Design Document Presentation. Review Quoridor – a board game played on a grid where players must advance tokens across a board to win. Our basic objective:
Computer Parts. Two Basic Parts Hardware & Software.
The Performance of Remote Display Mechanisms for Thin-Client Computing S.Jae Yang, Jason Nieh, Matt Selsky, and Nikhil Tiwari Department of Computer Science.
Windows XP. History Windows XP is based on the NT kernel developed in 1988 Windows XP is based on the NT kernel developed in 1988 XP was originally sold.
Computer Emergency Notification System (CENS)
Introduction to dCache Zhenping (Jane) Liu ATLAS Computing Facility, Physics Department Brookhaven National Lab 09/12 – 09/13, 2005 USATLAS Tier-1 & Tier-2.
Testing… Testing… 1, 2, 3.x... Performance Testing of Pi on NT George Krc Mead Paper.
EEDEED Tuesday, May 18, VBA & Process Variables  System Overview  Setup (What installations are needed)  What are Process Variables and what.
A Brief Documentation.  Provides basic information about connection, server, and client.
70-290: MCSE Guide to Managing a Microsoft Windows Server 2003 Environment, Enhanced Chapter 11: Monitoring Server Performance.
Remote Monitoring Pratheeba Murugesan Tejo Harisha Brundavana.
X-WindowsP.K.K.Thambi The X Window System Module 5.
Page 1 Printing & Terminal Services Lecture 8 Hassan Shuja 11/16/2004.
Web Design and Development. World Wide Web  World Wide Web (WWW or W3), collection of globally distributed text and multimedia documents and files 
Types of Computers & Computer Hardware Computer Technology Day 1.
for all Hyperion video tutorial/Training/Certification/Material Essbase Optimization Techniques by Amit.
Myrtle Entertainment System Scanner How to work your way to installing a program via Myrtle Entertainment System Scanner.
Multimedia Retrieval Architecture Electrical Communication Engineering, Indian Institute of Science, Bangalore – , India Multimedia Retrieval Architecture.
R. Stewart Fayetteville High School Types of Computers & Computer Hardware Computer Technology.
How Much Do I Remember? Are you ready to play.....
Page PearsonAccess™ Technology Training Online Test Configuration.
An Overview of Using ESC|StackStudio This presentation is an overview of using the ESC|StackStudio tool in managing your StackVision Configuration.
Access control techniques Once an organization decides upon the access control model it will implement(DAC,MAC, or RBAC), then it needs to look at the.
Windows Server 2003 { First Steps and Administration} Benedikt Riedel MCSE + Messaging
VIRTUAL NETWORK COMPUTING SUBMITTED BY:- Ankur Yadav Ashish Solanki Charu Swaroop Harsha Jain.
1 Remote Installation Service Windows 2003 Server Prof. Abdul Hameed.
Tiny http client and server
Guide to Linux Installation and Administration, 2e
Presentation transcript:

Palantir A window-sharing system for Windows NT Max Feingold, Vladimir Livshits, and Yevgeniy Rozenfeld

Palantir General Description w Palantir is a window sharing system. It allows one to view windows opened on a different machine on the network. w We implemented the system as a client/server application, in which both the client and the server are implemented in the same Windows executable. Upon startup, the program places itself into the system tray and provides a convenient MFC interface for opening client connections, sharing server windows, changing communication and program settings, etc.

Palantir Client-Server Organization w When you run Palantir, it is automatically configured to run as both a client and a server. w All program functionality is accessible from an icon that sits in your Windows system tray. w When you use Palantir as a client, you can connect to a server by providing its ip- address. The program will query and display the list of available widows on that server for you. w You can select certain application windows running on your computer to be shared out w There is server authentication -- you need to supply a valid user name and password for when you are trying to connect.

Palantir Technology w We are using win32 API bitmap functions to grab client area of application windows. w Bitmaps are created on the server. Since it may take a considerable amount of memory and CPU time to grab a window bitmap, server is put to sleep between subsequent updates. The update frequency (refresh late on the picture below) can be configured along with many other parameters. w Bitmaps sent over the network to the the client(s) through Windows sockets.

Palantir Bitmap Processing w Clearly, it can take a lot of network bandwidth to transfer big bitmaps to multiple clients. The screenshot saved as a bitmap can take as much as 1.5Mb with 1024x768 screen resolution. To minimize the network load we use the following techniques w Image sampling The basic idea is that we don’t need to send the whole bitmaps -- it is sufficient to only send the differences. The server maintains the previous bitmap it sent to the client in a cache and determines the smallest rectangle containing the difference difference between the current bitmap and the previous one. To find this rectangle, we pass over the image twice finding the leftmost and rightmost column and topmost and bottommost row containing changes. One of the drawbacks of this approach is that in the worst case (i.e., when the two bitmaps we are comparing are absolutely identical) we need to pass over the image twice, which can be quite CPU-intensive for large images. To alleviate this problem, we can set up the server to look only on each n-th point. Effectively, we set up a grid of points we will look at. This can considerably reduce the CPU load, but this can also affect precision with which bitmaps are updated.

Palantir We discovered that approach with a grip can significantly reduce CPU utilization at the same time yielding reasonably precise results with many applications. However, for applications that require high precision (for instance, if you are typing in notepad and only every other letter you type gets updated on the client) we may end up with a pretty distorted image, so we send full window updates every so often (the frequency of these updates can be configured). w Another technique we use to reduce network utilization is run length compression It turns out that typical images we need to process have lots of horizontal and vertical lines of the same color. Clearly, this is an opportunity for run length compression. It practice, run length compression performs quite well. The compression ratio depends on the type of data being transferring: for example, a 2.8MB bitmap of an Explorer window was compressed to only 800KB of data (72% compression), while much smaller gains were achieved with colorful images such as digitized paintings. To reduce the CPU overhead of this compression technique, it was build directly into the socket class. All data that is sent through the socket is compressed on the fly. w Generally, you would want to use some combination of these two compression techniques to achieve the best CPU/network utilization tradeoffs for your situation. w The program allows you to set various compression parameters on a window-per- window basis.

Palantir Possible Applications w Sharing of browser windows, images, and documents over the network. w Monitoring student activities. w Lab administrators monitoring desktop windows on many computers from a single workstation. w Corporations monitoring their employees’ desktop activities. w Professors demonstrating the use of a particular program to students across the network. w Communication with shared images between graphics designers. w Graphics-based talk applications -- two notepad windows open side-by-side. w Gaining access to resources available on one machine, such as a camera installed on a remote computer. In one of our experiments, we ran a Palantir server on a machine equipped with a camera and viewed the output on a computer in a different lab.