14.11.2012 Views

Exceed onDemand A Technical Whitepaper

Exceed onDemand A Technical Whitepaper

Exceed onDemand A Technical Whitepaper

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Transforming Information into Intelligence <br />

X Protocol > Public Private Keys Authentication > Secure Shell > Telnet > FTP > Reducing Business Disruption > TN3270E > TN5250E > Easy Migration Path > Bi-directional NFS > Desktop Stand<br />

ion > Conflict Management > PC X Server > Desktop Consolidation > X Window > UNIX integration > NFS v4 > Mainframe > Terminal Emulation > Security > SSL > Web-to-host > Cost Reduction<br />

l NFS > Desktop Standardization > Kerberos > Smart Card > X Desktop Sharing > WebNFS > Web Deployment > Linux > PC X Server > Desktop Consolidation > X Window > UNIX integration ><br />

b-to-host > Cost Reduction > AS/400 > Mobile Workers > Thin X Protocol > Public Private Keys Authentication > Secure Shell > Telnet > FTP > Reducing Business Disruption > TN3270E > TN525<br />

> <strong>Exceed</strong> <strong>onDemand</strong> ® 5<br />

A <strong>Technical</strong> <strong>Whitepaper</strong>


<strong>Exceed</strong> <strong>onDemand</strong> 5 — A <strong>Technical</strong> <strong>Whitepaper</strong><br />

While every attempt has been made to ensure the accuracy and completeness of the information<br />

in this document, some typographical or technical errors may exist. Hummingbird cannot accept<br />

responsibility for customers’ losses resulting from the use of this document. The information<br />

contained in this document is subject to change without notice.<br />

This document contains proprietary information that is protected by copyright. This document,<br />

in whole or in part, may not be photocopied, reproduced, or translated into another language<br />

without prior written consent from Hummingbird.<br />

This edition published February 2005<br />

3


<strong>Exceed</strong> <strong>onDemand</strong> 5 — A <strong>Technical</strong> <strong>Whitepaper</strong><br />

Table of Contents<br />

<strong>Exceed</strong> <strong>onDemand</strong> ® Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8<br />

4<br />

Introduction to <strong>Exceed</strong> <strong>onDemand</strong> . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8<br />

Operating Systems Specifications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9<br />

Architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10<br />

The Components . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10<br />

<strong>Exceed</strong> <strong>onDemand</strong> Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10<br />

<strong>Exceed</strong> <strong>onDemand</strong> Cluster Manager . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11<br />

X Proxy Manager . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12<br />

<strong>Exceed</strong> <strong>onDemand</strong> Proxy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12<br />

The Rules for Reusing Proxies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12<br />

<strong>Exceed</strong> <strong>onDemand</strong> Client . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13<br />

Cluster Computing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13<br />

What is a Cluster? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13<br />

How Does Clustering Work in <strong>Exceed</strong> <strong>onDemand</strong>? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13<br />

Definitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13<br />

Connections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14<br />

Data Storage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14<br />

License . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14<br />

Types of Connectivity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15<br />

Direct Client-server Connectivity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15<br />

Gateway Server Connectivity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15<br />

Thin X Protocol . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16<br />

History . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16<br />

What is TXP? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17<br />

Licensing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18<br />

License Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18<br />

Some Simple Rules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18


<strong>Exceed</strong> <strong>onDemand</strong> 5 — A <strong>Technical</strong> <strong>Whitepaper</strong><br />

The Sequence of Events . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19<br />

Launch a Session . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19<br />

Suspend a Session . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19<br />

Resume a Session . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20<br />

Join a Session . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20<br />

Server Requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21<br />

<strong>Exceed</strong> <strong>onDemand</strong> Resource Usage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21<br />

The Setup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22<br />

Memory Consumption . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22<br />

Bandwith Consumption . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22<br />

Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23<br />

Installation and Connection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24<br />

Installing <strong>Exceed</strong> <strong>onDemand</strong> . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24<br />

<strong>Exceed</strong> <strong>onDemand</strong> Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24<br />

<strong>Exceed</strong> <strong>onDemand</strong> Client . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25<br />

Other Components . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25<br />

Connecting to <strong>Exceed</strong> <strong>onDemand</strong> Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26<br />

Creating a Connection to <strong>Exceed</strong> <strong>onDemand</strong> Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26<br />

Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28<br />

Different Types of Configuration Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28<br />

Xstart Versus Xconfig Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28<br />

Xstart Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28<br />

Xconfig Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28<br />

Global Versus User-defined Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29<br />

Global Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29<br />

User-defined Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29<br />

5


<strong>Exceed</strong> <strong>onDemand</strong> 5 — A <strong>Technical</strong> <strong>Whitepaper</strong><br />

6<br />

Configuring a Profile . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30<br />

Startup Mode Settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30<br />

Customizing the User Experience . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31<br />

Keyboard Mapping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31<br />

Screen Settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32<br />

Server Visual . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32<br />

Window Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33<br />

Fonts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34<br />

Printing and File Transferring . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35<br />

Performance Optimization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36<br />

FAST and SLOW Connection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36<br />

Compression . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36<br />

Font Caching . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37<br />

Image Caching . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37<br />

OpenGL API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37<br />

Languages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38<br />

Introducing <strong>Exceed</strong> <strong>onDemand</strong> Server Manager . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41<br />

Cluster Management . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41<br />

Node Management . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43<br />

User Management . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45<br />

File Management . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46<br />

Advanced Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47<br />

Advanced Security Settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47<br />

SSL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47<br />

Secure Shell . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48<br />

Desktop Sharing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49<br />

Suspend and Resume . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51<br />

Suspend and Disconnect (a.k.a Crash and Resume) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52


<strong>Exceed</strong> <strong>onDemand</strong> 5 — A <strong>Technical</strong> <strong>Whitepaper</strong><br />

Web Deployment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53<br />

<strong>Exceed</strong> <strong>onDemand</strong> Deployment Wizard Fundamentals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53<br />

<strong>Exceed</strong> <strong>onDemand</strong> Deployment Wizard Fundamentals Working Principles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54<br />

<strong>Exceed</strong> <strong>onDemand</strong> Deployment Wizard Explained . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55<br />

Web-Deployed vs. CD-Installed . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55<br />

Download Mechanisms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55<br />

Access and Upgrade . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56<br />

Project Deployment Wizard . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57<br />

Create a Project . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57<br />

Select a Connection Document . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57<br />

Language Selection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58<br />

Deploying on any Web Server on any Operating System . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59<br />

Installation Settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59<br />

User Rights and Security . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60<br />

Update a Package . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61<br />

Create an Index Page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61<br />

7


<strong>Exceed</strong> <strong>onDemand</strong> 5 — A <strong>Technical</strong> <strong>Whitepaper</strong><br />

<strong>Exceed</strong> <strong>onDemand</strong> ® Overview<br />

Introduction to <strong>Exceed</strong> <strong>onDemand</strong><br />

The inevitability and subsequent popularity of mobile access stems from its many business advantages,<br />

including better customer service, improved processes and measurable productivity gains — all made<br />

possible with anywhere, anytime, any device access to information. The business benefits are so<br />

compelling that the International Data Corporation (IDC) believes a full two-thirds of the U.S. workforce<br />

will require mobile access by 2006. Nearly half of the workforce in Western Europe is already mobile<br />

and Gartner has calculated that the number of visitors to public wireless LAN HotSpots more than<br />

quadrupled in a single year from 2002 to 2003. IDC reported a corresponding increase of nearly fourfold<br />

in the number of HotSpot users during the same period, and predicts that the user population<br />

will increase at a healthy 105% compound annual growth rate (CAGR) through 2007.<br />

The result of this initial success is that users are starting to demand more freedom to choose when<br />

and where they access the key applications they need to do their jobs effectively. In effect, they want<br />

access to all the same critical business applications and information they get from their desks and IT<br />

can readily justify the cost involved based on the many business benefits afforded. Critical enterprise<br />

applications e.g. sales force automation, inventory tracking and patient records can be extended to<br />

remote and mobile workers, customers or business partners. Specialized or “vertical” applications in<br />

certain industries, such as health care, finance, real estate, insurance, shipping, utilities and others,<br />

can also be made available to the mobile workforce to allow quick decision making based on<br />

current information.<br />

<strong>Exceed</strong> <strong>onDemand</strong> provides and an access gateway between existing infrastructure and mobile users.<br />

The main advantage for the enterprise is better implementations which require absolutely no changes<br />

to existing applications, or network infrastructure. Hummingbird’s mobile solution is cost-effective<br />

based on its centralized deployment and management, requiring no special client for basic access.<br />

For mission-critical applications, <strong>Exceed</strong> <strong>onDemand</strong> was designed to support load-balancing across<br />

multiple servers eliminating a single point of failure. Robust scaling capabilities, enterprise class<br />

security and management features make <strong>Exceed</strong> <strong>onDemand</strong> an affordable solution for the<br />

mobile workforce.<br />

8


Operating Systems Specifications<br />

> <strong>Exceed</strong> <strong>onDemand</strong> 5 — A <strong>Technical</strong> <strong>Whitepaper</strong><br />

<strong>Exceed</strong> <strong>onDemand</strong> is comprised of three major component groups and each group has its own<br />

operating system requirements:<br />

Server Client Other Components (Including<br />

Deployment Tools and Server Manager)<br />

UNIX and Linux<br />

> AIX 5.x and up<br />

> HP UX 11 and up<br />

> Sun Solaris (SPARC) 2.6+<br />

> SunSolaris (x86) 2.8+<br />

> Intel ® Linux kernel 2.4+, including:<br />

Microsoft Windows, including:<br />

> 2000 Server<br />

> 2000 Advanced Server<br />

> XP Professional<br />

> Server 2003<br />

Table 1 — Operating Systems specifications<br />

Microsoft Windows, including:<br />

> 2000 Professional or Server<br />

> XP Professional<br />

> Server 2003<br />

In addition, <strong>Exceed</strong> <strong>onDemand</strong> Client can be launched from:<br />

> Internet Explorer 5.x, 6.x and above<br />

Microsoft Windows, including:<br />

> 2000 Professional or Server<br />

> XP Professional<br />

> Server 2003<br />

9


<strong>Exceed</strong> <strong>onDemand</strong> 5 — A <strong>Technical</strong> <strong>Whitepaper</strong><br />

Architecture<br />

The Components<br />

<strong>Exceed</strong> <strong>onDemand</strong> is comprised of <strong>Exceed</strong> <strong>onDemand</strong> Server, <strong>Exceed</strong> <strong>onDemand</strong> Client, and<br />

a number of administrative tools, such as <strong>Exceed</strong> <strong>onDemand</strong> Deployment Wizard and <strong>Exceed</strong><br />

<strong>onDemand</strong> Server Manager. <strong>Exceed</strong> <strong>onDemand</strong> delivers X11R6.6 X access with minimal overhead.<br />

A small client-side installation lets users access business-critical X applications on UNIX, Linux,<br />

VMS, and other X Window system hosts.<br />

<strong>Exceed</strong> <strong>onDemand</strong> Server<br />

<strong>Exceed</strong> <strong>onDemand</strong> Server is the core of the software. It is installed on a UNIX, Linux or Microsoft ®<br />

Windows ® platform and communicates with <strong>Exceed</strong> <strong>onDemand</strong> Client. There are two configuration<br />

options for <strong>Exceed</strong> <strong>onDemand</strong> Server — Standalone or Cluster.<br />

Standalone configuration — an <strong>Exceed</strong> <strong>onDemand</strong> Server is configured as a complete and<br />

independent entity capable of performing its primary functions.<br />

Figure 1 — <strong>Exceed</strong> <strong>onDemand</strong> in Standalone configuration<br />

10<br />

X Application<br />

<strong>Exceed</strong> <strong>onDemand</strong> Server<br />

<strong>Exceed</strong> <strong>onDemand</strong><br />

Cluster Manager<br />

X Proxy Manager<br />

<strong>Exceed</strong> <strong>onDemand</strong><br />

Proxy<br />

Cluster Manager<br />

Connection<br />

Port 5500<br />

Proxy Connection<br />

Port 5501<br />

<strong>Exceed</strong> <strong>onDemand</strong><br />

Client


<strong>Exceed</strong> <strong>onDemand</strong> 5 — A <strong>Technical</strong> <strong>Whitepaper</strong><br />

Cluster configuration — multiple <strong>Exceed</strong> <strong>onDemand</strong> Servers are programmatically linked together<br />

to form a large, single, logical computing unit. Each <strong>Exceed</strong> <strong>onDemand</strong> Server within a Cluster<br />

is called node.<br />

Node 1<br />

X Proxy Manager<br />

Proxies<br />

X Application<br />

Proxy Connection<br />

Port 5501<br />

<strong>Exceed</strong> <strong>onDemand</strong><br />

Client<br />

Cluster Manager<br />

Connection<br />

Port 5500<br />

Figure 2 — <strong>Exceed</strong> <strong>onDemand</strong> in Cluster configuration<br />

Cluster Manager<br />

Connection<br />

Port 5500<br />

<strong>Exceed</strong> <strong>onDemand</strong> Server<br />

in Cluster Configuration<br />

Data Store<br />

Cluster Manager Node<br />

Cluster Manager<br />

X Proxy Manager<br />

Proxies<br />

Cluster Manager<br />

Connection<br />

Port 5500<br />

Cluster Manager<br />

Connection<br />

Port 5500<br />

Proxy Connection<br />

Port 5501<br />

<strong>Exceed</strong> <strong>onDemand</strong><br />

Client<br />

Node 2<br />

X Proxy Manager<br />

For more information on how to configure <strong>Exceed</strong> <strong>onDemand</strong> Server, please see Section 6:<br />

“Server, User and File Management.”<br />

Proxies<br />

X Application<br />

<strong>Exceed</strong> <strong>onDemand</strong> Server can be further divided into three major components: <strong>Exceed</strong> <strong>onDemand</strong><br />

Cluster Manager, X Proxy Manager and <strong>Exceed</strong> <strong>onDemand</strong> Proxy.<br />

<strong>Exceed</strong> <strong>onDemand</strong> Cluster Manager<br />

<strong>Exceed</strong> <strong>onDemand</strong> Cluster Manager is the top of the chain of command, and it is physically present<br />

in every installation of <strong>Exceed</strong> <strong>onDemand</strong> Server. It has the following tasks: auth/enticate users,<br />

govern license usage, manage all X Proxy Managers (see below), manage all types of configuration<br />

files, balance work load (in a cluster configuration) and keep track of shared and suspended sessions.<br />

Every Server or Server Cluster can only have ONE Cluster Manager. The role of <strong>Exceed</strong> <strong>onDemand</strong><br />

Cluster Manager is consistent in both Standalone and Cluster configurations.<br />

11


<strong>Exceed</strong> <strong>onDemand</strong> 5 — A <strong>Technical</strong> <strong>Whitepaper</strong><br />

The Cluster Manager can decide whether a new <strong>Exceed</strong> <strong>onDemand</strong> Proxy is required for a new<br />

connection request based on a fixed set of rules. Sometimes, Cluster Manager will instruct X<br />

Proxy Manager to reuse an existing proxy.<br />

X Proxy Manager<br />

X Proxy Manager is the middle man between <strong>Exceed</strong> <strong>onDemand</strong> Cluster Manager and <strong>Exceed</strong><br />

<strong>onDemand</strong> Proxy. X Proxy Manager’s jobs are to start, stop and manage <strong>Exceed</strong> <strong>onDemand</strong> Proxies (see<br />

below), and redirect <strong>Exceed</strong> <strong>onDemand</strong> Client to communicate with a specific <strong>Exceed</strong> <strong>onDemand</strong> Proxy.<br />

X Proxy Manager also reports to the Cluster Manager to keep it informed of the status of each proxy.<br />

<strong>Exceed</strong> <strong>onDemand</strong> Proxy<br />

<strong>Exceed</strong> <strong>onDemand</strong> Proxy is a fully functional X server that supports all X protocol requests. It is<br />

spawned by the X Proxy Manager on an on-demand basis, and as a result, an <strong>Exceed</strong> <strong>onDemand</strong><br />

Server can have multiple <strong>Exceed</strong> <strong>onDemand</strong> Proxies. Each <strong>Exceed</strong> <strong>onDemand</strong> Proxy is uniquely<br />

identified by a display number that X applications use to display output and receive input.<br />

Although <strong>Exceed</strong> <strong>onDemand</strong> Proxy supports all X protocol requests, it does not natively handle<br />

drawing requests and keyboard and mouse inputs. Instead, it translates the standard X drawing<br />

requests and inputs to equivalent Thin X Protocol commands before transmitting those requests<br />

to <strong>Exceed</strong> <strong>onDemand</strong> Client. Thin X Protocol will be covered in more detail later in this document.<br />

<strong>Exceed</strong> <strong>onDemand</strong> Proxy communicates with <strong>Exceed</strong> <strong>onDemand</strong> Client on a proxy port which,<br />

by default, is 5501. This communication can be secured by using Secure Shell protocol (SSH ),<br />

which will be covered in Section 7, “Advanced Configuration.”<br />

The Rules for Reusing Proxies<br />

When <strong>Exceed</strong> <strong>onDemand</strong> Cluster Manager receives a connection request from <strong>Exceed</strong> <strong>onDemand</strong><br />

Client, it references the following guidelines to decide whether a new <strong>Exceed</strong> <strong>onDemand</strong> Proxy is<br />

needed, or if an existing one can be reused.<br />

1. Was the connection initiated by a user who has already started a session(s)?<br />

2. Did the connection originate on a PC that has already established one or more<br />

<strong>Exceed</strong> <strong>onDemand</strong> sessions?<br />

3. Is the user using one of the remote Startup Methods (RSH, REXEC, RLOGIN,<br />

Telnet or Secure Shell)?<br />

4. Is the Reuse Sessions setting in the Xstart file set to either Automatic or Ask User?<br />

If the answer to all of the questions above is “YES,” then X Proxy Manager will allow an existing<br />

<strong>Exceed</strong> <strong>onDemand</strong> Proxy to handle the new connection.<br />

12


<strong>Exceed</strong> <strong>onDemand</strong> Client<br />

> <strong>Exceed</strong> <strong>onDemand</strong> 5 — A <strong>Technical</strong> <strong>Whitepaper</strong><br />

<strong>Exceed</strong> <strong>onDemand</strong> Client is the client portion of the software that each user must install on the<br />

PC. <strong>Exceed</strong> <strong>onDemand</strong> Client is a native Windows application that supports most of the current<br />

Windows platforms, including Windows XP and Windows Server 2003. The main function of<br />

<strong>Exceed</strong> <strong>onDemand</strong> Client is to render the image on the display and interact with users through<br />

the input devices. Connections between Client and Server can be secured using Secure Sockets<br />

Layer (SSL), which will be covered in Section 7, “Advanced Configuration.”<br />

On top of the traditional means of deploying a Windows application, administrators can deploy<br />

a pre-configured <strong>Exceed</strong> <strong>onDemand</strong> Client to end users through a web browser. Section 8,<br />

“Web Deployment” will discuss this feature in more detail.<br />

Cluster Computing<br />

What is a Cluster?<br />

In a computer system, a cluster is the use of a group of machines to form a single logical system<br />

which enables high availability and load balancing.<br />

How Does Clustering Work in <strong>Exceed</strong> <strong>onDemand</strong>?<br />

In a Cluster configuration, multiple <strong>Exceed</strong> <strong>onDemand</strong> Servers are programmatically linked to form<br />

a single, logical computing unit, and each <strong>Exceed</strong> <strong>onDemand</strong> Server within a Cluster is called a Node.<br />

Nodes can run on any supported platform, forming a cross-platform cluster.<br />

<strong>Exceed</strong> <strong>onDemand</strong> Server in Standalone configuration can be considered as a Cluster with only one node.<br />

Definitions<br />

For the sake of consistency and convenience, the terms are defined as the following, and used<br />

accordingly throughout the document:<br />

<strong>Exceed</strong> <strong>onDemand</strong> Server, or simply “Server” — <strong>Exceed</strong> <strong>onDemand</strong> Server in either Standalone<br />

or Cluster configuration. In a Cluster configuration, <strong>Exceed</strong> <strong>onDemand</strong> Server includes the Cluster<br />

Manager node and all other nodes.<br />

Cluster — Specifically means <strong>Exceed</strong> <strong>onDemand</strong> Server in Cluster configuration<br />

<strong>Exceed</strong> <strong>onDemand</strong> Cluster Manager, or simply “Cluster Manager” — the component<br />

Cluster Manager Node — the machine in a Cluster which <strong>Exceed</strong> <strong>onDemand</strong> Cluster Manager resides<br />

Nodes — other machines in the Cluster<br />

13


<strong>Exceed</strong> <strong>onDemand</strong> 5 — A <strong>Technical</strong> <strong>Whitepaper</strong><br />

Connections<br />

As mentioned earlier, there can only be one <strong>Exceed</strong> <strong>onDemand</strong> Cluster Manager per Cluster.<br />

However, a physical copy of <strong>Exceed</strong> <strong>onDemand</strong> Cluster Manager comes with every installation of<br />

<strong>Exceed</strong> <strong>onDemand</strong> Server. Therefore, before an <strong>Exceed</strong> <strong>onDemand</strong> Server can join an existing Cluster<br />

to become a Node, the <strong>Exceed</strong> <strong>onDemand</strong> Cluster Manager residing on that Server has to be disabled<br />

using <strong>Exceed</strong> <strong>onDemand</strong> Server Manager. The only instance of <strong>Exceed</strong> <strong>onDemand</strong> Cluster Manager<br />

in a cluster will directly communicate with the X Proxy Manager on each node over the Cluster<br />

Manager port, which is 5500 by default.<br />

Users will interact with the Cluster Manager node to launch or configure a session. All connection<br />

requests are handled by Cluster Manager. The incoming requests are processed by <strong>Exceed</strong> <strong>onDemand</strong><br />

Cluster Manager, and the work load is distributed to the node which has the smallest load in order to<br />

promote load balancing.<br />

Data Storage<br />

Data Store is the location where configuration and connection profiles are stored. Several rules were<br />

implemented to protect data consistency and promote efficiency.<br />

The first and foremost rule is access restriction. Only the Cluster Manager has the privilege to<br />

communicate, access and write to the Data Store. Requests related to accessing or modifying<br />

configuration files, coming from either <strong>Exceed</strong> <strong>onDemand</strong> Client or X Proxy Managers, are<br />

routed to the Cluster Manager for processing.<br />

The second rule is one version of truth. There is one and only one Data Store in each <strong>Exceed</strong> <strong>onDemand</strong><br />

Server. When multiple <strong>Exceed</strong> <strong>onDemand</strong> Servers group together to form a Cluster, there is only one<br />

Cluster Manager survives. The result is that the Data Store that was originally attached to the surviving<br />

Cluster Manager is kept alive.<br />

License<br />

In many ways, License information can be treated as another form of configuration data that the<br />

Cluster Manager manages. Again, only Cluster Manager is allowed to deposit in, or withdraw from,<br />

the License pool.<br />

When an <strong>Exceed</strong> <strong>onDemand</strong> Server joins a Cluster, the administrators are required to manually<br />

transfer the license from the newly added node to the license pool by re-entering the Activation<br />

Key in the <strong>Exceed</strong> <strong>onDemand</strong> Server Manager.<br />

14


Types of Connectivity<br />

> <strong>Exceed</strong> <strong>onDemand</strong> 5 — A <strong>Technical</strong> <strong>Whitepaper</strong><br />

Typically, X applications communicate with X Display Servers to display output and receive input.<br />

In the case of <strong>Exceed</strong> <strong>onDemand</strong>, X applications communicate with <strong>Exceed</strong> <strong>onDemand</strong> Proxy via the<br />

X protocol. In turn, <strong>Exceed</strong> <strong>onDemand</strong> Proxy communicates with <strong>Exceed</strong> <strong>onDemand</strong> Client via Thin<br />

X Protocol (TXP).<br />

<strong>Exceed</strong> <strong>onDemand</strong> offers a number of startup modes, which enable two types of connectivity:<br />

Direct Client-server Connectivity:<br />

<strong>Exceed</strong> <strong>onDemand</strong> Client connects directly to X applications that reside on the same physical<br />

machine as <strong>Exceed</strong> <strong>onDemand</strong> Server.<br />

Figure 3 — Connects directly to X applications on <strong>Exceed</strong> <strong>onDemand</strong> Server<br />

Gateway Server Connectivity:<br />

X Applications<br />

<strong>Exceed</strong> <strong>onDemand</strong> Server<br />

Thin X Protocol Traffic Thin X Protocol Traffic<br />

<strong>Exceed</strong> <strong>onDemand</strong> Client <strong>Exceed</strong> <strong>onDemand</strong> Client<br />

<strong>Exceed</strong> <strong>onDemand</strong> Client<br />

<strong>Exceed</strong> <strong>onDemand</strong> Server is not required to be installed on every machine on which X applications<br />

reside. <strong>Exceed</strong> <strong>onDemand</strong> Server can act as a gateway between <strong>Exceed</strong> <strong>onDemand</strong> Client and X<br />

applications running on different machines.<br />

15


<strong>Exceed</strong> <strong>onDemand</strong> 5 — A <strong>Technical</strong> <strong>Whitepaper</strong><br />

Figure 4 — Connects to X applications through an <strong>Exceed</strong> <strong>onDemand</strong> Server<br />

Thin X Protocol<br />

History<br />

X Window System was developed in 1984. The goal was to create an operating environment that<br />

was truly hardware and vendor independent. The protocol that it used was called X protocol. It was<br />

designed to run on a Local Area Network (LAN) where bandwidth was high and latency was low.<br />

However, the terms “high bandwidth” and “low latency” can rarely be used to describe Wide Area<br />

Network (WAN) or Internet connections. A new protocol is urgently needed in order to create a<br />

server-based PC X server that can efficiently link the client to the server over any type of network<br />

connections, hence the birth of Thin X Protocol (TXP).<br />

16<br />

X Application X Application X Application<br />

X Protocol Traffic X Protocol Traffic<br />

<strong>Exceed</strong> <strong>onDemand</strong> Server<br />

Thin X Protocol Traffic Thin X Protocol Traffic<br />

<strong>Exceed</strong> <strong>onDemand</strong> Client <strong>Exceed</strong> <strong>onDemand</strong> Client<br />

<strong>Exceed</strong> <strong>onDemand</strong> Client


What is TXP?<br />

TXP is designed to:<br />

> <strong>Exceed</strong> <strong>onDemand</strong> 5 — A <strong>Technical</strong> <strong>Whitepaper</strong><br />

> Split functionalities between the Proxy and Client — The X functionalities are split between<br />

<strong>Exceed</strong> <strong>onDemand</strong> Proxy and <strong>Exceed</strong> <strong>onDemand</strong> Client, because the Proxy does not have the<br />

native ability to handle drawing requests and keyboard and mouse inputs. These requests are<br />

mapped to the TXP-equivalent requests and passed between Clients and Proxies.<br />

> Reduce bandwidth requirement — TXP has the ability to compress, cache and optimize requests.<br />

The goal is to minimize the amount of data that has to travel across the high latency, low bandwidth<br />

network. The trade-off for compressing the requests is higher CPU overhead; additional CPU cycles<br />

and computer resources are required to compress and decompress the requests. However, the<br />

abundant CPU power that PCs and servers now harness allows <strong>Exceed</strong> <strong>onDemand</strong> to achieve<br />

higher compression rates without sacrificing computer performance.<br />

> Adapt to the network bandwidth — The level of compression and optimization can change<br />

automatically depending on the network bandwidth availability. As the available bandwidth<br />

decreases, the compression increases and special optimization of TXP is activated. The shift<br />

between CPU overhead and bandwidth usage is done automatically during startup without<br />

involving the user.<br />

> Reduce roundtrip requests — X applications normally communicate with an <strong>Exceed</strong> <strong>onDemand</strong><br />

Proxy over a LAN connection where network bandwidth is abundant. <strong>Exceed</strong> <strong>onDemand</strong> Proxy, acting<br />

as a fully functional X server, is capable of handling all X protocol commands with the exceptions<br />

that have already been mentioned. As a result, many of the roundtrip requests are taking place<br />

over a LAN connection with little latency, while few roundtrip requests take place over WAN<br />

or Internet connections using the bandwidth-friendly TXP. Comparing this to a traditional X server<br />

running on a WAN or the Internet, where all X protocol commands have to travel on low bandwidth<br />

connections, the reduction in the number of roundtrip requests over the WAN or Internet connection<br />

is significant, thus giving <strong>Exceed</strong> <strong>onDemand</strong> an unparalleled performance advantage.<br />

> Strengthen X security over WAN and Internet — TXP can be easily encrypted using Secure<br />

Sockets Layer protocol for heightened security.<br />

17


<strong>Exceed</strong> <strong>onDemand</strong> 5 — A <strong>Technical</strong> <strong>Whitepaper</strong><br />

Licensing<br />

Since <strong>Exceed</strong> <strong>onDemand</strong> is a server-based PC X server, access is controlled by license keys (as is often<br />

true of server-based software) and the license manager on <strong>Exceed</strong> <strong>onDemand</strong> Server. A company is<br />

entitled to a fixed number of licenses based on the purchase agreement. The number of licenses and<br />

the type of licenses are reflected in the Activation Key that is provided. <strong>Exceed</strong> <strong>onDemand</strong> Server can<br />

accept multiple Activation Keys and they are cumulative.<br />

License Types<br />

Users will be receiving one of the following two types of licenses from Hummingbird at the time<br />

of purchase:<br />

Shared or Server-based License — One license is used per active X session. When a user ends or<br />

suspends a session, the occupied license is released and can then be re-used by other users. When<br />

all licenses are in use, no user can start an X session until a license becomes available.<br />

Assigned or Named License — The number of active user accounts cannot exceed the number<br />

of licenses purchased. If, for example, five assigned licenses are installed, only the first five users<br />

who are granted active accounts can start X sessions. These five users then share the five licenses<br />

as described above. If any other user needs access, then the administrator must either deactivate<br />

one of the five user accounts or acquire extra licenses.<br />

Some Simple Rules:<br />

> The license types of all licenses on an <strong>Exceed</strong> <strong>onDemand</strong> Server must be identical.<br />

<strong>Exceed</strong> <strong>onDemand</strong> Server does not accept mixed license types.<br />

> The first time a user launches <strong>Exceed</strong> <strong>onDemand</strong> Client and creates a session or joins<br />

a shared session, one license is deducted from the license pool, provided the pool has<br />

at least one license available.<br />

> If the same user launches another <strong>Exceed</strong> <strong>onDemand</strong> Client from the same PC to the same<br />

<strong>Exceed</strong> <strong>onDemand</strong> Server and creates another session, the user uses the same license that<br />

he or she received previously. No additional license is deducted from the pool.<br />

> If the user launches <strong>Exceed</strong> <strong>onDemand</strong> Client from another PC, or connects to another<br />

<strong>Exceed</strong> <strong>onDemand</strong> Server, then one license is deducted from the <strong>Exceed</strong> <strong>onDemand</strong> Server<br />

that is hosting the session.<br />

> If the user terminates or suspends the last <strong>Exceed</strong> <strong>onDemand</strong> session that is connected<br />

to an <strong>Exceed</strong> <strong>onDemand</strong> Server, the license is returned to the pool for circulation.<br />

18


The Sequence of Events<br />

The following diagrams depict the <strong>Exceed</strong> <strong>onDemand</strong> connection events:<br />

Launch a Session<br />

<strong>Exceed</strong> on Demand<br />

<strong>Exceed</strong> on Demand Client X Proxy Manager Proxy<br />

Cluster Manager<br />

Request: Launch Session<br />

Suspend a Session<br />

Reply: Return Node ID, Port and Authentication Token<br />

Request: Launch Proxy<br />

Reply: Return Proxy Port, Display Number and Parameters<br />

Event: Connect<br />

Event: SessionStarted<br />

> <strong>Exceed</strong> <strong>onDemand</strong> 5 — A <strong>Technical</strong> <strong>Whitepaper</strong><br />

Request: Start Proxy<br />

<strong>Exceed</strong> on Demand<br />

<strong>Exceed</strong> on Demand Client X Proxy Manager Proxy<br />

Cluster Manager<br />

Request: Suspend<br />

Request: Get all Data Needed for Storage<br />

Request: Send Data<br />

Event: Session Suspended<br />

Event: Suspend<br />

19


<strong>Exceed</strong> <strong>onDemand</strong> 5 — A <strong>Technical</strong> <strong>Whitepaper</strong><br />

Resume a Session<br />

<strong>Exceed</strong> on Demand<br />

<strong>Exceed</strong> on Demand Client X Proxy Manager Proxy<br />

Cluster Manager<br />

Join a Session<br />

20<br />

Request: Get suspended sessions<br />

Reply: Return List<br />

Request: Select Session<br />

Reply: Return Authentication Token<br />

Request: Resume<br />

Reply: Return Proxy Port, Display Number and Parameters<br />

Event: Connect<br />

Event: Session Resumed<br />

<strong>Exceed</strong> on Demand<br />

<strong>Exceed</strong> on Demand Client X Proxy Manager Proxy<br />

Cluster Manager<br />

Request: Get Shared Sessions<br />

Reply: Return List<br />

Request: Select Session<br />

Reply: Return Authentication Token<br />

Request: Share<br />

Reply: Return Proxy Port, Display Number and Parameters<br />

Event: Connect<br />

Event: Session Joined


Server Requirements<br />

<strong>Exceed</strong> <strong>onDemand</strong> Resource Usage<br />

> <strong>Exceed</strong> <strong>onDemand</strong> 5 — A <strong>Technical</strong> <strong>Whitepaper</strong><br />

“What kind of server do I need for <strong>Exceed</strong> <strong>onDemand</strong> Server?” This is a valid and logical question to<br />

ask when considering adopting <strong>Exceed</strong> <strong>onDemand</strong>--it is also a very difficult question to answer. It is<br />

akin to asking what machine is needed to run Windows XP. The answer to both questions is that it<br />

depends largely on how and for what the product will be used.<br />

If the machine only needs to run <strong>Exceed</strong> <strong>onDemand</strong> in passive mode and launch simple X<br />

applications, then most decent machines in the market will do. But this is rarely how <strong>Exceed</strong><br />

<strong>onDemand</strong> is used. After all, <strong>Exceed</strong> <strong>onDemand</strong> is a PC X Server and a graphical emulator.<br />

The access of the host resources can be broken down into three stages:<br />

Stage 1 — A fixed amount of resources are used to launch <strong>Exceed</strong> <strong>onDemand</strong>.<br />

Stage 2 — As an emulator, <strong>Exceed</strong> <strong>onDemand</strong> incurs additional resources for every X application<br />

it handles.<br />

Stage 3 — If the X application is running on the same host as the Server, then the application itself<br />

will consume resources.<br />

So, to rephrase the original question:<br />

a) What kind of X applications will my users access?<br />

b) Will the X applications and <strong>Exceed</strong> <strong>onDemand</strong> Server run on the same machine?<br />

c) How many users will access each X application?<br />

d) What is the usage pattern likely to be? Is there a peak hour when everyone will log on to the Server<br />

at the same time, or will the usage be evenly spread out throughout the day?<br />

So knowing the size of the deployment and its intended usage is essential. A site deploying <strong>Exceed</strong><br />

<strong>onDemand</strong> to 100 users, each running a copy of xterm, will have different server requirements<br />

than another site that deploys <strong>Exceed</strong> <strong>onDemand</strong> to 100 users with each running an instance of<br />

a complicated 3D imaging software product.<br />

However, this document will try to provide some basic guidelines and examples of system resource<br />

usage and bandwidth consumption when <strong>Exceed</strong> <strong>onDemand</strong> runs some common X applications.<br />

Users can use this information as a reference when deciding the size and capacity of a server<br />

intended to house <strong>Exceed</strong> <strong>onDemand</strong> Server, but they are strongly advised to collect data that<br />

is unique to their environment.<br />

21


<strong>Exceed</strong> <strong>onDemand</strong> 5 — A <strong>Technical</strong> <strong>Whitepaper</strong><br />

The Setup<br />

<strong>Exceed</strong> <strong>onDemand</strong> 5 is installed on Sun ® Solaris ® 8, Red Hat Linux Advanced Server 3.0 and<br />

Microsoft Windows Server 2003. Similar configuration files are created on all <strong>Exceed</strong> <strong>onDemand</strong><br />

Servers, which will connect the user to Red Hat Linux machine launching various applications.<br />

Operating System Hardware Specification<br />

Sun Solaris 8 Sun UltraSparc II Processor @ 360 MHz and 512 MB RAM<br />

Windows Server 2003 Intel Pentium M at 1.5 GHz and 512 MB RAM<br />

Red Hat Linux Advanced Server 3.0 Intel Pentium 4 @ 1GHz and 512 MB RAM<br />

Memory Consumption<br />

Memory consumption was measured on the various hosts housing <strong>Exceed</strong> <strong>onDemand</strong> Server<br />

to record the memory usage of the ewebhost process. The results were measured in kilobytes (kb).<br />

X applications Sun Solaris Red Hat Linux Windows Server 2003<br />

Passive mode, no application (Base line) 5864 3100 4324<br />

xterm — Single Window Mode 5920 3264 4460<br />

Idling GNOME Desktop 16000 10204 11292<br />

Running Mozilla in the GNOME Desktop 18000 11088 12316<br />

Bandwidth Consumption<br />

The following table displays the total bytes transferred between <strong>Exceed</strong> <strong>onDemand</strong> Client<br />

and <strong>Exceed</strong> <strong>onDemand</strong> Server based on each type of X applications.<br />

<strong>Exceed</strong> <strong>onDemand</strong> Client <strong>Exceed</strong> <strong>onDemand</strong> Server<br />

IBM Thinkpad T40 Intel Pentium 4 @ 1GHz<br />

Pentium-M 1.6GHz 512 MB RAM<br />

1024MB RAM Linux Red Hat Enterprise Advanced Server<br />

22


<strong>Exceed</strong> <strong>onDemand</strong> 5 — A <strong>Technical</strong> <strong>Whitepaper</strong><br />

X Applications Traditional X Server <strong>Exceed</strong> <strong>onDemand</strong>)<br />

Traditional X Servers are not bandwidth-sensitive. Therefore, regardless of whether the X server<br />

is runs over a LAN or dialup connection, it consumes the same amount of bandwidth and sends<br />

the same amount of data over the network. <strong>Exceed</strong> <strong>onDemand</strong>, however, is not only capable of<br />

significantly reducing bandwidth usage; it is also bandwidth-sensitive. As the connection speed<br />

and the bandwidth decline, the advanced compression and caching mechanism is engaged and<br />

the bandwidth usage decreases.<br />

As the results indicate, launching a Gnome desktop using traditional X server generated more than<br />

7MB of data transfer between the Red Hat Linux machine and the PC. Using <strong>Exceed</strong> <strong>onDemand</strong> to<br />

launch the same desktop from the Linux machine over a LAN connection generated 90 times less data<br />

and brought the total transfer down to 80kb. The same test was performed over a dialup connection<br />

and data transfer was further reduced to 67kb, or more than 100 times less data. The amount of data<br />

transfer varies from one application to another depending on the nature of the X application.<br />

Summary<br />

Fast Connection Slow Connection<br />

Gnome Desktop 7,132 80 (1.1%) 67 (0.9%)<br />

Gnome and Firefox 11,087 324 (2.9%) 254 (2.3%)<br />

The server requirements for <strong>Exceed</strong> <strong>onDemand</strong> Server can be as disparate as the system requirements<br />

for the X applications themselves. Software evaluators are strongly advised to install <strong>Exceed</strong><br />

<strong>onDemand</strong> in their environments and monitor the CPU, bandwidth and memory usages, as well as<br />

the access pattern. Using these statistics, software evaluators will appreciate the uniqueness of their<br />

environments. Finally, they can make an informed decision on the server hardware requirement that<br />

can satisfy their expectations.<br />

23


<strong>Exceed</strong> <strong>onDemand</strong> 5 — A <strong>Technical</strong> <strong>Whitepaper</strong><br />

Installation and Connection<br />

Installing <strong>Exceed</strong> <strong>onDemand</strong><br />

<strong>Exceed</strong> <strong>onDemand</strong> follows a server/client model that involves installation of both server and client<br />

components on different machines. In a simplified environment, administrators need to install <strong>Exceed</strong><br />

<strong>onDemand</strong> Server on at least one of the many UNIX, Linux and Windows server platforms that it<br />

supports. Then, administrators must distribute <strong>Exceed</strong> <strong>onDemand</strong> Client to as many office desktops,<br />

home desktops and laptops as necessary and as the license permits. Since the installation of client<br />

software is usually repetitive, Hummingbird took extra care in making this process as simple and<br />

inexpensive as possible. Post-deployment software management is also necessary in order to create<br />

a painless administration environment. <strong>Exceed</strong> <strong>onDemand</strong> employs various installation technologies<br />

that reduce the administrative and management overhead for both Server and Client components.<br />

<strong>Exceed</strong> <strong>onDemand</strong> Server<br />

<strong>Exceed</strong> <strong>onDemand</strong> Server for Windows is built on Microsoft Windows Installer technology for<br />

installation, modification, upgrade and removal of the software. This technology, which was introduced<br />

by Microsoft in Windows 2000, provides a powerful installation framework across all of the platforms<br />

of the Microsoft operating system family. Windows Installer provides administrators with consistent<br />

and reliable methods to customize installations, upgrade applications, and resolve configuration<br />

problems. It can also manage shared resources, enforce consistent file version rules, and diagnose<br />

and repair applications at runtime.<br />

<strong>Exceed</strong> <strong>onDemand</strong> Server for xNIX packages are self-extracting executables that are designed to run<br />

on the specific UNIX or Linux hosts. Each type of xNIX host has its own unique installation package.<br />

The installation process is script-driven, which helps administrators to install and configure <strong>Exceed</strong><br />

<strong>onDemand</strong> Server with minimum effort and maximum efficiency.<br />

By default, <strong>Exceed</strong> <strong>onDemand</strong> Server is installed as a Standalone Server with Cluster Manager<br />

enabled. When <strong>Exceed</strong> <strong>onDemand</strong> Server is started, administrators should be able to find EoDPM<br />

and EoDCM in the process list. For each <strong>Exceed</strong> <strong>onDemand</strong> Proxy that is running, there is one<br />

corresponding ewebhost process. To learn how to add nodes to a cluster, please refer to Section<br />

6 “Server, User and File Management.”<br />

24


<strong>Exceed</strong> <strong>onDemand</strong> Client<br />

There are two ways to distribute <strong>Exceed</strong> <strong>onDemand</strong> Client to the user base:<br />

> <strong>Exceed</strong> <strong>onDemand</strong> 5 — A <strong>Technical</strong> <strong>Whitepaper</strong><br />

1) distribute the wizard-driven, Windows-based installation program through the regular windows<br />

deployment tools, or<br />

2) distribute <strong>Exceed</strong> <strong>onDemand</strong> Client through web browsers with the help of <strong>Exceed</strong> <strong>onDemand</strong><br />

Deployment Wizard. Regardless of which deployment method is used, end users receive the same<br />

<strong>Exceed</strong> <strong>onDemand</strong> Client.<br />

For more information on deploying <strong>Exceed</strong> <strong>onDemand</strong> Client using <strong>Exceed</strong> <strong>onDemand</strong> Deployment<br />

Tools, please refer to Section 8: “Web Deployment.”<br />

Other Components<br />

<strong>Exceed</strong> <strong>onDemand</strong> also comes with a collection of administrative and deployment tools that help<br />

administrators manage the product:<br />

> <strong>Exceed</strong> <strong>onDemand</strong> Deployment Wizard<br />

> <strong>Exceed</strong> <strong>onDemand</strong> Server Manager<br />

> <strong>Exceed</strong> <strong>onDemand</strong> Print Utilities<br />

> <strong>Exceed</strong> <strong>onDemand</strong> Keyboard Editor<br />

Most of these tools are Windows-based applications (with the exception of <strong>Exceed</strong> <strong>onDemand</strong> Print<br />

Utilities which can also run on xNIX environments), and they are part of the <strong>Exceed</strong> <strong>onDemand</strong> Server<br />

for Windows installation. Regardless of what platform <strong>Exceed</strong> <strong>onDemand</strong> Server is currently running<br />

on, administrators would have to install <strong>Exceed</strong> <strong>onDemand</strong> Server for Windows on a Windows<br />

platform should they wish to benefit from the additional tools. <strong>Exceed</strong> <strong>onDemand</strong> Server component<br />

should be deselected during the installation. Thanks to Microsoft Windows Installer technology, it is<br />

a simple and straightforward task to customize the installation.<br />

Since <strong>Exceed</strong> <strong>onDemand</strong> Server can run on most common xNIX platforms, it is an added benefit<br />

if the Server is installed on the same host where the X applications reside. By minimizing network<br />

traffic and latency, this configuration can potentially improve overall performance.<br />

In some other cases, administrators will favor the non-intrusive approach: <strong>Exceed</strong> <strong>onDemand</strong> Server<br />

is installed on a separate machine, leaving the machines running the mission-critical applications<br />

untouched. In this case, the host does not have to split resources, such as CPU cycles, bus bandwidth<br />

and memory, between the mission-critical applications and <strong>Exceed</strong> <strong>onDemand</strong> Proxies. With more<br />

resources available to the X applications on one machine and <strong>Exceed</strong> <strong>onDemand</strong> Proxies on another,<br />

users may experience improvement in response time and performance.<br />

25


<strong>Exceed</strong> <strong>onDemand</strong> 5 — A <strong>Technical</strong> <strong>Whitepaper</strong><br />

Connecting to <strong>Exceed</strong> <strong>onDemand</strong> Server<br />

Regardless of how <strong>Exceed</strong> <strong>onDemand</strong> Client is deployed, users will always have a shortcut in the<br />

<strong>Exceed</strong> <strong>onDemand</strong> folder in the Start Menu. Depending on how users respond during the installation<br />

of the Client or the configuration of the deployment package, they may also find an <strong>Exceed</strong> <strong>onDemand</strong><br />

Client shortcut on the desktop. <strong>Exceed</strong> <strong>onDemand</strong> Client is the entrance to the <strong>Exceed</strong> <strong>onDemand</strong><br />

Server — it is what users must use to connect to <strong>Exceed</strong> <strong>onDemand</strong> Server, through which they can<br />

connect to other hosts.<br />

Creating a Connection to <strong>Exceed</strong> <strong>onDemand</strong> Server<br />

Follow the 3 easy steps to create a connection to <strong>Exceed</strong> <strong>onDemand</strong> Server.<br />

1) Double-click the <strong>Exceed</strong> <strong>onDemand</strong> Client 5 icon on the Windows desktop or from the Windows<br />

Start menu, open the Hummingbird <strong>Exceed</strong> <strong>onDemand</strong> 5 program group and click on <strong>Exceed</strong><br />

<strong>onDemand</strong> Client.<br />

2) <strong>Exceed</strong> <strong>onDemand</strong> Client prompts the user to enter connection information such as:<br />

> Host — Name of the host running <strong>Exceed</strong> <strong>onDemand</strong> Server<br />

> User ID — The user ID for logging on to the host listed in the previous field<br />

> Password — The user’s password for logging on to the host<br />

> Xstart File — This configuration file contains remote login and automatic X application startup<br />

information. The Xstart files reside in the Data Store.<br />

> Xconfig File — Xconfig file control the look and behavior of the X session. The Xconfig files<br />

also reside in the Data Store.<br />

3) Once all information has been provided, click on the RUN icon on the toolbar, or RUN menu<br />

item from the ACTION menu to establish the <strong>Exceed</strong> <strong>onDemand</strong> connection.<br />

<strong>Exceed</strong> <strong>onDemand</strong> Client allows users to save the aforementioned information in an <strong>Exceed</strong><br />

<strong>onDemand</strong> Connection Document anywhere on the PC. Double-clicking on any of the Connection<br />

Documents will cause <strong>Exceed</strong> <strong>onDemand</strong> Client to launch with the settings specified in the Connection<br />

Document. Information saved in the Connection Document can either be complete or partial. If the<br />

Connection Document does not contain sufficient information, <strong>Exceed</strong> <strong>onDemand</strong> Client will prompt<br />

the user for the missing information upon launching.<br />

26


Figure 5 — <strong>Exceed</strong> <strong>onDemand</strong> Client with all information entered<br />

> <strong>Exceed</strong> <strong>onDemand</strong> 5 — A <strong>Technical</strong> <strong>Whitepaper</strong><br />

<strong>Exceed</strong> <strong>onDemand</strong> Client also provides some basic logging and monitoring capabilities.<br />

> Enable Logging — When this option is selected, <strong>Exceed</strong> <strong>onDemand</strong> Client records information<br />

to a client log file.<br />

> Show Startup Monitor — When this option is selected, a startup monitor appears when connecting<br />

to a host, which shows the progress of the client connection to the <strong>Exceed</strong> <strong>onDemand</strong> Server.<br />

27


<strong>Exceed</strong> <strong>onDemand</strong> 5 — A <strong>Technical</strong> <strong>Whitepaper</strong><br />

Configuration<br />

Different Types of Configuration Files<br />

The Configuration area of <strong>Exceed</strong> <strong>onDemand</strong> Client’s main screen describes the configuration files<br />

that are stored on <strong>Exceed</strong> <strong>onDemand</strong> Server. These configured files contain information such as the<br />

location of the X application, how <strong>Exceed</strong> <strong>onDemand</strong> should launch the X application, and numerous<br />

configuration options related to the appearance and behavior of the <strong>Exceed</strong> <strong>onDemand</strong> session. There<br />

are two types of configuration files: Xstart and Xconfig.<br />

Xstart Versus Xconfig Files<br />

Xstart and Xconfig are concepts borrowed from <strong>Exceed</strong>. As a result, the configuration options and<br />

the content of the configuration files are similar to those of <strong>Exceed</strong>. In fact, <strong>Exceed</strong> <strong>onDemand</strong> and<br />

<strong>Exceed</strong> Xstart files can be used interchangeably.<br />

Xstart Files<br />

Xstart automates the process of connecting to a host and starting X applications that reside on it.<br />

A user can create, configure and manage Xstart files (.xs) using <strong>Exceed</strong> <strong>onDemand</strong> Xstart Manager.<br />

In these files, the user will specify the host to be connected to the startup method, the login<br />

credentials and the command line parameters necessary to start the X application.<br />

Users are not required to launch an Xstart file for every <strong>Exceed</strong> <strong>onDemand</strong> session. For example, if a<br />

user wants to connect to Linux host and work in the GNOME environment then there is no need for the<br />

user to provide Xstart file information. In this case, the user should select None in the Xstart file field.<br />

Xconfig Files<br />

Xconfig files contain information that specifies how <strong>Exceed</strong> <strong>onDemand</strong> starts an X session and how<br />

it looks and behaves. Therefore, an Xconfig file is required to launch every <strong>Exceed</strong> <strong>onDemand</strong><br />

session. <strong>Exceed</strong> <strong>onDemand</strong> Xconfig Manager lets users create, edit, and delete Xconfig files.<br />

28


Global versus User-defined files<br />

> <strong>Exceed</strong> <strong>onDemand</strong> 5 — A <strong>Technical</strong> <strong>Whitepaper</strong><br />

The Xstart and Xconfig files are further divided into two groups: Global and User-defined.<br />

Global Files<br />

These files are created, managed and distributed exclusively by administrators. <strong>Exceed</strong> <strong>onDemand</strong> is<br />

installed with two global Xconfig files and two global Xstart files (except for <strong>Exceed</strong> <strong>onDemand</strong> Server<br />

for Windows, where there is no default global Xstart file). These configuration files are available to all<br />

users the first time they connect to a host. Administrators can create additional global files and make<br />

them available as well. Please refer to Section 6: “Server, User and Configuration File Management”<br />

for more information on administering the Global configuration files.<br />

User-defined Files<br />

These files are created and/or managed by users. (User-defined files also include files that administrators<br />

create and distribute to users.) Each user is responsible for his/her own files. Only administrators can<br />

access, edit, and delete files of other users.<br />

Figure 7 — <strong>Exceed</strong> <strong>onDemand</strong> Xstart Manager shows Global and User-defined Xstart files<br />

29


<strong>Exceed</strong> <strong>onDemand</strong> 5 — A <strong>Technical</strong> <strong>Whitepaper</strong><br />

Configuring a Profile<br />

Regardless of whether a profile belongs to Global or User File, it has the same number of configurable<br />

options that a user or an administrator can customize to meet specific needs.<br />

Startup Mode Settings<br />

<strong>Exceed</strong> <strong>onDemand</strong> offers 4 different Startup Modes, giving users the maximum flexibility in launching<br />

any X application from virtually any host. The Startup Modes are grouped into 2 categories:<br />

Passive and XDMCP. Users can select any Startup Mode based on the location and the type of the<br />

X application, the connectivity protocols that are available on the host, and the security protocol<br />

on which the corporation has standardized.<br />

Passive — <strong>Exceed</strong> <strong>onDemand</strong> starts the session without making any initial attempt to connect to<br />

a specific host or to run an application. This mode is most suitable for use in conjunction with an<br />

Xstart file.<br />

XDMCP — Users will connect to XDM hosts and launch an X session. Common Desktop Environment<br />

(CDE), GNOME and KDE are some of the commonly used X sessions. There are three different startup<br />

methods under the XDMCP category.<br />

> Query — automatically makes a connection to the host that was specified, or<br />

> Broadcast — broadcasts to hosts on the network to determine which hosts are willing to manage<br />

the X display, or<br />

> Indirect — sends a query to a host which sends queries to other hosts on the network to determine<br />

which are willing to manage the X display<br />

After a startup mode is selected, users can provide further information specific to the startup mode<br />

in the dialog.<br />

Figure 8 — Configure an Xconfig file options<br />

30


Customizing the User Experience<br />

> <strong>Exceed</strong> <strong>onDemand</strong> 5 — A <strong>Technical</strong> <strong>Whitepaper</strong><br />

Users can further customize the look and feel of the <strong>Exceed</strong> <strong>onDemand</strong> session based on either their<br />

personal preferences or specifications that are outlined by X applications. This includes customizing<br />

the keyboard and mouse input settings, display and screen settings and fonts.<br />

Keyboard Mapping<br />

X Window is essentially a window-type graphical user interface designed for UNIX. Users interact<br />

with it primarily by either typing or pointing-and-clicking with a mouse. Therefore, the ability to<br />

accurately and effectively communicate with the X application using the input devices is crucial.<br />

Out of the box, <strong>Exceed</strong> <strong>onDemand</strong> supports 16 pre-configured keyboard mapping files, including<br />

US, UK, French, German and Spanish keyboard mappings. If there is a need to modify an existing<br />

keyboard file or create a new one, <strong>Exceed</strong> <strong>onDemand</strong> offers the XKeys utility which is part of the<br />

<strong>Exceed</strong> <strong>onDemand</strong> Server for Windows installation. XKeys is a Windows application that allows<br />

administrators to modify or create additional keyboard mappings, if necessary. Each physical key<br />

can be mapped to any keysym from one of the 26 symbol sets. Administrators can also use this<br />

application to create keyboard layouts other than the standard 101 and 102 keyboard layouts.<br />

And to top it off, <strong>Exceed</strong> <strong>onDemand</strong> and <strong>Exceed</strong> keyboard mappings are interchangeable. Existing<br />

keyboard mappings that were created for <strong>Exceed</strong> can be used by <strong>Exceed</strong> <strong>onDemand</strong>. This capability<br />

guarantees maximum compatibility between the two software packages. It also benefits users who<br />

access both <strong>Exceed</strong> and <strong>Exceed</strong> <strong>onDemand</strong> on different occasions — they will not have to remap,<br />

or worse, re-learn all the keystrokes.<br />

Figure 9 — <strong>Exceed</strong> <strong>onDemand</strong> supports 16 pre-configured keyboard mapping files<br />

31


<strong>Exceed</strong> <strong>onDemand</strong> 5 — A <strong>Technical</strong> <strong>Whitepaper</strong><br />

Figure 10 — Use Xkeys tool to create or modify keyboard mapping files<br />

Screen Settings<br />

Screen settings are not only user preference settings; they are also application preference settings.<br />

X applications may require the X server to be set up in a particular way in order for the application<br />

to function properly. Screen settings are mainly comprised of the configuration for the Server Visual<br />

and Window Mode.<br />

Server Visual<br />

Server Visual defines the color characteristics for the specified screen of the X server display. The<br />

Server Visual is crucial to the successful execution of an X application because it defines the colors<br />

that are available to an X application. It also determines the ability of the X application to change<br />

the color maps based on the application’s requirements. <strong>Exceed</strong> <strong>onDemand</strong> offers 5 different Server<br />

Visuals and an option to allow <strong>Exceed</strong> <strong>onDemand</strong> Server to automatically select the most appropriate<br />

Server Visual based on the Windows desktop color depth.<br />

Under most circumstances, users should let <strong>Exceed</strong> <strong>onDemand</strong> detect and select the Server Visual<br />

that is most appropriate for the current X session. However, some X applications demand a specific<br />

Server Visual that is not obvious to <strong>Exceed</strong> <strong>onDemand</strong>’s detection mechanism. Failing to comply will<br />

result in an unsuccessful execution of the application, or it will be executed with poor visual quality.<br />

In this case, users should override the Server Visual setting.<br />

<strong>Exceed</strong> <strong>onDemand</strong> also supports multiple server visuals and multiple color depths, which is required<br />

by some advanced X applications.<br />

32


Figure 11 — Select a server visual for the session<br />

Window Mode<br />

<strong>Exceed</strong> <strong>onDemand</strong> supports two window modes:<br />

> Multiple Window Mode — Displays each X application in a separate window<br />

> <strong>Exceed</strong> <strong>onDemand</strong> 5 — A <strong>Technical</strong> <strong>Whitepaper</strong><br />

> Single Window Mode — Displays all X applications in a single <strong>Exceed</strong> <strong>onDemand</strong> window<br />

For users who want the most seamless integration of UNIX and Windows work environments,<br />

Multiple Window Mode will be the most desirable choice — X applications will be wrapped by<br />

Native (Microsoft) Window Manager by default and blend in nicely to the Microsoft Windows<br />

desktop. Other X applications may require support for a different window manager, such as Motif<br />

Window Manager, so <strong>Exceed</strong> <strong>onDemand</strong> allows users to change the Window manager from Native<br />

to any X window manager of their choice.<br />

Users who want a consolidated view of all X applications in a single window can easily change the<br />

window mode to Single with just the toggle of a switch. Users are required to launch an X window<br />

manager to manage all the X applications.<br />

33


<strong>Exceed</strong> <strong>onDemand</strong> 5 — A <strong>Technical</strong> <strong>Whitepaper</strong><br />

Figure 12 — X applications are displayed in multiple window mode<br />

Fonts<br />

Font is the last major configurable item that has crucial impact on the visualization and usability<br />

of an X server. With the correct font settings, an X application can display the right text on the<br />

right part of the screen accurately and efficiently.<br />

<strong>Exceed</strong> <strong>onDemand</strong> already comes with a great collection of fonts that are capable of handling most<br />

of the X font requests. It also comes with numerous double-byte character sets fonts, such as Chinese,<br />

Big5, Japanese and Korean. The font database contains 19 commonly used font sets.<br />

The fonts are part of the <strong>Exceed</strong> <strong>onDemand</strong> Server installation and they reside on the same machine<br />

as the <strong>Exceed</strong> <strong>onDemand</strong> Server in the native UNIX format (*.PCF). Upon receiving Open Font<br />

requests from the X application, <strong>Exceed</strong> <strong>onDemand</strong> Proxy will search for an exact match in the<br />

font database. Should the exact match not exist, <strong>Exceed</strong> <strong>onDemand</strong> Proxy will attempt to use<br />

the font from the database that most closely matches the requested font.<br />

34


Figure 13 — Enable or disable font sets from the list or add new font server to the database<br />

> <strong>Exceed</strong> <strong>onDemand</strong> 5 — A <strong>Technical</strong> <strong>Whitepaper</strong><br />

As rich as the font database collection is, it does include every font that is available in the market.<br />

That is why <strong>Exceed</strong> <strong>onDemand</strong> allows users to add additional UNIX fonts or font servers to the font<br />

database — the collection is infinitely expandable.<br />

Once the matching font is found, the UNIX font will be transferred to <strong>Exceed</strong> <strong>onDemand</strong> Client<br />

if the font has not already been cached on the PC. The font will then be converted immediately<br />

to the Microsoft Windows Font format (FON) for optimized performance.<br />

Printing and File Transferring<br />

<strong>Exceed</strong> <strong>onDemand</strong> offers users the convenient advantage of being able to print from X applications<br />

running on <strong>Exceed</strong> <strong>onDemand</strong> to Windows printers, instead of printing to a printer in a remote<br />

location. After all, users can connect to <strong>Exceed</strong> <strong>onDemand</strong> Server from anywhere in the world.<br />

It only makes sense that print jobs should be sent to printers that <strong>Exceed</strong> <strong>onDemand</strong> users can<br />

access. A utility called elpr can help.<br />

elpr is an X application that accepts print jobs from other X applications and passes the jobs to the<br />

Proxy. Through <strong>Exceed</strong> <strong>onDemand</strong> Server, print jobs travel to <strong>Exceed</strong> <strong>onDemand</strong> Client and, in turn,<br />

to the default Windows printer or any Windows printer of the user’s choice. Since elpr interacts<br />

directly with the X application, this utility must be installed on each machine running X applications.<br />

elpr has another responsibility: to provide basic file transfer functionality. Through the same<br />

mechanism and traveling along the same data path, users can use elpr to transfer files from the<br />

host to the PC over the <strong>Exceed</strong> <strong>onDemand</strong> connection. All data is transferred over the Cluster<br />

Manager Connection.<br />

35


<strong>Exceed</strong> <strong>onDemand</strong> 5 — A <strong>Technical</strong> <strong>Whitepaper</strong><br />

Figure 14 — <strong>Exceed</strong> <strong>onDemand</strong> Server Files shows all of the available files on the Server<br />

Performance Optimization<br />

<strong>Exceed</strong> <strong>onDemand</strong> is designed to run on all types of network connections, but especially on remote<br />

connections such as WAN and Internet. The remote access connection speed varies widely, from a<br />

dial-up modem connection at 33.6kbps to a DSL connection that can be as fast as 1.5Mbps. Regardless<br />

of the connection speed, <strong>Exceed</strong> <strong>onDemand</strong> Client can efficiently communicate with <strong>Exceed</strong><br />

<strong>onDemand</strong> Server.<br />

FAST and SLOW Connection<br />

<strong>Exceed</strong> <strong>onDemand</strong> automatically tests the connection speed when an X session is launched. Based<br />

of the results of the test, <strong>Exceed</strong> <strong>onDemand</strong> decides if the <strong>Exceed</strong> <strong>onDemand</strong> Proxy should be set to<br />

“Fast” or “Slow” Connection. This selection dictates the level of Compression as well as the allowed<br />

number of Window Exposure events.<br />

Compression<br />

<strong>Exceed</strong> <strong>onDemand</strong> uses Thin X Protocol to handle the communication between <strong>Exceed</strong> <strong>onDemand</strong><br />

Client and <strong>Exceed</strong> <strong>onDemand</strong> Server. This connection is usually slower because it is more likely for<br />

<strong>Exceed</strong> <strong>onDemand</strong> Client to be running in a remote location, connecting to the Server over dial-up<br />

or broadband connections.<br />

One of the characteristics of TXP is its ability to compress data so fewer bits have to travel over<br />

the network connection. The compression ratio is controlled by <strong>Exceed</strong> <strong>onDemand</strong> Proxy, but users<br />

can override it under certain conditions. If the network connection is FAST, the Proxy will default<br />

the compression setting to “Large Data Only,” which means that only images and font data will be<br />

compressed. TXP commands will not be compressed. Users can override this setting to either “None”<br />

or “All Data.” The “None” setting benefits <strong>Exceed</strong> <strong>onDemand</strong> when running on a very fast network,<br />

one so fast that any performance benefit gained by decreasing the number of bits transferred is offset<br />

by the time <strong>Exceed</strong> <strong>onDemand</strong> takes to compress and decompress data. However, users will observe<br />

little bandwidth reduction with this setting. “All Data” compression, as the name implies, compresses<br />

all data. The bandwidth usage is at the minimum. Users cannot adjust the Compression setting if the<br />

connection is “Slow.”<br />

36


Font Caching<br />

> <strong>Exceed</strong> <strong>onDemand</strong> 5 — A <strong>Technical</strong> <strong>Whitepaper</strong><br />

Since all fonts are located on the Server and it is the Client that has to display the text on the screen, the<br />

fonts have to be transferred from the Server to the Client, and this process can be time consuming and<br />

repetitive. Font Caching can help. Caching is a mechanism that temporarily stores frequently accessed<br />

information in a location that is easier and faster to access than the original storage place. With Font<br />

Caching turned on, <strong>Exceed</strong> <strong>onDemand</strong> Client caches all requested fonts persistently in local storage.<br />

<strong>Exceed</strong> <strong>onDemand</strong> Proxy consults the Client’s font cache content first before sending the font over<br />

the network. This mechanism ensures the maximum efficiency and reduces redundant network traffic.<br />

Users can further specify the maximum number of fonts that can be stored in the cache directory.<br />

Image Caching<br />

The concept of Image Caching is similar to Font Caching; large images can take a long time to transfer<br />

from the proxy to the client. <strong>Exceed</strong> <strong>onDemand</strong> can persistently cache large images in local storage<br />

to save bandwidth and improve performance. Users can also define the image size threshold and the<br />

maximum storage size for the image cache.<br />

Figure 15 — Set the connection speed to Fast, Slow or Auto-detect<br />

OpenGL API<br />

OpenGL API is the premier environment for developing portable, interactive 2D and 3D graphics<br />

applications. Since its inception, OpenGL API has become the industry’s most widely used and<br />

supported 3D graphics application programming interface. <strong>Exceed</strong> <strong>onDemand</strong>, while promising<br />

the performance and functionality of <strong>Exceed</strong> for the mobile workforce, has harnessed the power<br />

of OpenGL API. It now supports OpenGL applications, such as scientific and data analysis,<br />

geographic mapping, content creation, CAD, CAM and CAE.<br />

37


<strong>Exceed</strong> <strong>onDemand</strong> 5 — A <strong>Technical</strong> <strong>Whitepaper</strong><br />

Figure 16 — Display a CAD/CAM application over a remote connection<br />

The unique design of <strong>Exceed</strong> <strong>onDemand</strong> allows the Proxy to delegate OpenGL API rendering tasks<br />

to <strong>Exceed</strong> <strong>onDemand</strong> Client, thus relieving the Proxy of the heavy computational tasks. As a result,<br />

the proxy can simultaneously handle a larger number of OpenGL API applications.<br />

Figure 17 — <strong>Exceed</strong> <strong>onDemand</strong> can display X applications with OpenGL API implementation<br />

Languages<br />

<strong>Exceed</strong> <strong>onDemand</strong> Client is available in the following languages:<br />

> German<br />

> English<br />

> Spanish<br />

> French<br />

> Italian<br />

38<br />

3D X Application<br />

3D X Application<br />

X Protocol<br />

OpenGL drawing requests are sent<br />

to <strong>Exceed</strong> <strong>onDemand</strong> Proxies<br />

<strong>Exceed</strong> <strong>onDemand</strong> Server<br />

<strong>Exceed</strong> <strong>onDemand</strong><br />

Cluster Manager<br />

X Proxy Manager<br />

<strong>Exceed</strong> <strong>onDemand</strong> Proxy<br />

<strong>Exceed</strong> <strong>onDemand</strong> Proxy<br />

TXP<br />

OpenGL drawing requests are being delegated<br />

to the <strong>Exceed</strong> <strong>onDemand</strong> Clients<br />

<strong>Exceed</strong> <strong>onDemand</strong> Client<br />

on PC # 1<br />

<strong>Exceed</strong> <strong>onDemand</strong> Client<br />

on PC # 2


<strong>Exceed</strong> <strong>onDemand</strong> 5 — A <strong>Technical</strong> <strong>Whitepaper</strong><br />

Users can switch from one language to another “on-the-fly” using the built-in language chooser<br />

function. The available languages are determined during the installation.<br />

Figure 18 — Select language for the user interface<br />

Other <strong>Exceed</strong> <strong>onDemand</strong> components are also multi-lingual. The user interface language of <strong>Exceed</strong><br />

<strong>onDemand</strong> Deployment Wizard and <strong>Exceed</strong> <strong>onDemand</strong> Server Manager is affected by the language<br />

selection made in <strong>Exceed</strong> <strong>onDemand</strong> Client. <strong>Exceed</strong> <strong>onDemand</strong> Server, on the other hand, is English Only.<br />

Hummingbird Language Chooser offers an alternative means of altering the language selection. This<br />

standalone Windows application is part of <strong>Exceed</strong> <strong>onDemand</strong> Server installation on Windows. It<br />

allows users to change the user interface language of the following <strong>Exceed</strong> <strong>onDemand</strong> components:<br />

> <strong>Exceed</strong> <strong>onDemand</strong> Client<br />

> <strong>Exceed</strong> <strong>onDemand</strong> Server Manager<br />

> <strong>Exceed</strong> <strong>onDemand</strong> Deployment Wizard<br />

39


<strong>Exceed</strong> <strong>onDemand</strong> 5 — A <strong>Technical</strong> <strong>Whitepaper</strong><br />

Figure 19 — <strong>Exceed</strong> <strong>onDemand</strong> users can switch the UI language<br />

Using the application, users can either select a specific language for all user interfaces, or allow<br />

<strong>Exceed</strong> <strong>onDemand</strong> to match the language that Windows is using.Server, User and File Management<br />

40


Introducing <strong>Exceed</strong> <strong>onDemand</strong> Server Manager<br />

> <strong>Exceed</strong> <strong>onDemand</strong> 5 — A <strong>Technical</strong> <strong>Whitepaper</strong><br />

<strong>Exceed</strong> <strong>onDemand</strong> Server Manager is a Windows-based management tool that administrators can<br />

use to manage <strong>Exceed</strong> <strong>onDemand</strong> Server. This tool is indifferent to the server-platform — it can<br />

connect to any <strong>Exceed</strong> <strong>onDemand</strong> Server running on any supported platform in one or more<br />

networks. It allows administrators to manage many <strong>Exceed</strong> <strong>onDemand</strong> Servers in a corporate<br />

network from a single location, and thereby minimizes the administrative overhead.<br />

<strong>Exceed</strong> <strong>onDemand</strong> Server Manager is a part of the <strong>Exceed</strong> <strong>onDemand</strong> Server for Windows installation.<br />

Regardless of the platform on which <strong>Exceed</strong> <strong>onDemand</strong> Server is currently running, administrators<br />

must install <strong>Exceed</strong> <strong>onDemand</strong> Server for Windows on a Windows platform should they wish to<br />

benefit from this tool. If the administrator only wants to install <strong>Exceed</strong> <strong>onDemand</strong> Server Manager,<br />

then during <strong>Exceed</strong> <strong>onDemand</strong> Server installation other components should be deselected.<br />

Figure 20 — <strong>Exceed</strong> <strong>onDemand</strong> Server Manager manages Server, users and configuration files<br />

The user interface indicates the four areas that <strong>Exceed</strong> <strong>onDemand</strong> Server Manager handles:<br />

Cluster, Nodes, Users and Files.<br />

As noted before, Cluster Manager and X Proxy Manager are the main components of <strong>Exceed</strong><br />

<strong>onDemand</strong> Server, regardless of whether the server is configured as a Standalone server or<br />

a Cluster. Therefore, both Cluster and Node Management tasks apply to every installation<br />

of <strong>Exceed</strong> <strong>onDemand</strong> Server.<br />

Cluster Management<br />

Administrators will use the Cluster Management portion of <strong>Exceed</strong> <strong>onDemand</strong> Server Manager<br />

to perform the following tasks:<br />

> Configure Cluster Manager Port<br />

> Modify SSL option<br />

> Select Authentication Types<br />

> Setting Cluster Manager Password<br />

41


<strong>Exceed</strong> <strong>onDemand</strong> 5 — A <strong>Technical</strong> <strong>Whitepaper</strong><br />

> Manage Activation Keys<br />

> Restart Cluster Manager<br />

> View Cluster Manager Log<br />

All tasks, except Setting Cluster Manager Password, apply to both Standalone and Cluster configured<br />

<strong>Exceed</strong> <strong>onDemand</strong> Server. The explanation and usage of most of the tasks are well documented in the<br />

Help file and manual. However, there are a couple of points that administrators should take note of.<br />

There are two ways to authenticate a user, Native and PAM. The Native authentication type allows<br />

<strong>Exceed</strong> <strong>onDemand</strong> Server to authenticate the users; more specifically, the host on which the Cluster<br />

Manager Node resides will handle the authentication requests. Alternatively, administrators can<br />

select PAM (Pluggable Authentication Modules) as the authentication type. The PAM option is only<br />

available if the Cluster Manager Node resides on Sun Solaris or Linux, as PAM has been widely<br />

adopted on those platforms. In this case, <strong>Exceed</strong> <strong>onDemand</strong> Client credentials will be passed to the<br />

PAM module for verification, but administrators are required to configure PAM to include <strong>Exceed</strong><br />

<strong>onDemand</strong> services and specify an associated PAM module. If configured properly, <strong>Exceed</strong> <strong>onDemand</strong><br />

Client credentials can be authenticated by LDAP Server, RSA Authentication Manager, or any other<br />

authentication/directory services that support PAM.<br />

Figure 21 — Manage the Cluster in the Cluster Settings dialog<br />

42


<strong>Exceed</strong> <strong>onDemand</strong> 5 — A <strong>Technical</strong> <strong>Whitepaper</strong><br />

When adding a new node to an existing cluster, the activation key originally associated with the<br />

newly added node will not be transferred to the Cluster Manager. Therefore, it is necessary for<br />

administrators to re-enter the activation key using this tool. Similarly, if a node is to be reverted back<br />

to the standalone status, it will require an Activation Key which can be obtained from Hummingbird,<br />

or the administrator can remove a key from the Cluster and use it on the new standalone Server. It is<br />

important to remember that each Activation Key can only used on one server in order to comply with<br />

the End User License Agreement.<br />

Figure 22 — View, add and remove activation keys<br />

Node Management<br />

Nodes are in fact the individual X Proxy Managers. Therefore, in a standalone <strong>Exceed</strong> <strong>onDemand</strong> Server<br />

configuration, the host itself will be listed in the Nodes sub-tree. Node Management tasks includes:<br />

> Configure Proxy Manager Port<br />

> Set Display ID<br />

> Set the Secure Shell command<br />

> Select the role of the node<br />

> Restart the node<br />

> View Proxy Manager log<br />

43


<strong>Exceed</strong> <strong>onDemand</strong> 5 — A <strong>Technical</strong> <strong>Whitepaper</strong><br />

Figure 23 — Join or leave cluster in Node Settings dialog<br />

Administrators will use the Node Management to define the role of the X Proxy Manager and<br />

determine whether the X Proxy Manager is part of a Cluster. If it is, the name, port and password<br />

of the Cluster Manager is required in order for the node to successfully join the cluster, followed<br />

by restarting the soon-to-be added node.<br />

Similarly, administrators can use this user interface to convert any node (except for the Cluster<br />

Manager Node) back to a standalone Server followed by a node restart. Be aware that when a node<br />

is removed from a Cluster, all the Proxies handled by that node are terminated along with the<br />

sessions. Owners of these sessions are required to reconnect to <strong>Exceed</strong> <strong>onDemand</strong> Server and<br />

restart the session.<br />

44


User Management<br />

> <strong>Exceed</strong> <strong>onDemand</strong> 5 — A <strong>Technical</strong> <strong>Whitepaper</strong><br />

There are two types of users: administrators and normal users. Administrators have all the rights and<br />

privileges in controlling and configuring <strong>Exceed</strong> <strong>onDemand</strong> Server. They can also set the default<br />

privileges of the normal user or the privileges of an individual user. For example, if the administrator<br />

wants to minimize the resources that each user can use then the administrator can turn off the<br />

Suspend feature, or disallow users from sharing their X sessions, or limit the maximum number<br />

of X sessions that a user can initiate.<br />

An administrator can also assign the administrative privileges to any user.<br />

Figure 24 — Administrators can grant user and All Users permissions<br />

Administrators can also remove or de-activate user accounts. There are subtle differences between<br />

remove and de-activate in the realm of <strong>Exceed</strong> <strong>onDemand</strong>. In essence, “remove” removes a user from<br />

<strong>Exceed</strong> <strong>onDemand</strong>’s user tree, along with all the user configuration files associated with that user.<br />

However, it does not prevent users from logging on to the machine in the future. “De-activate” keeps<br />

the user name on the tree, as well as all of the configuration files. Once an account is deactivated,<br />

users will not be able to access <strong>Exceed</strong> <strong>onDemand</strong> Server using the same login.<br />

45


<strong>Exceed</strong> <strong>onDemand</strong> 5 — A <strong>Technical</strong> <strong>Whitepaper</strong><br />

In the other words, “de-activate” option can be used as a passive license enforcement mechanism. Imagine<br />

a situation where 10 assigned/named licenses were purchased and installed. <strong>Exceed</strong> <strong>onDemand</strong> Server<br />

would keep track of all the users that ever logged on to the Server. The first time a user connected to<br />

<strong>Exceed</strong> <strong>onDemand</strong> Server, an active account would be created for that user. All 10 licenses are “assigned”<br />

after 10 users have logged on to the Server. But let’s assume one of the users was not supposed to connect<br />

to this Server. Instead of removing the user account, the administrator could deactivate it. The next time<br />

when the same user connected to the Server, the Server would not create a new active account for that<br />

user, and the user would be effectively blocked from accessing the Server again.<br />

File Management<br />

Xstart and Xconfig files can be easily managed using <strong>Exceed</strong> <strong>onDemand</strong> Server Manager. In fact,<br />

global files can only be created, modified and deleted using the Server Manager. Administrators<br />

are also given full access and full rights to manage user-defined files. In addition, administrators<br />

can distribute or relocate both global and user-defined files using this intuitive user interface.<br />

Figure 25 — Server Manager can also manage global and user-defined configuration files<br />

46


Advanced Configuration<br />

Advanced Security Settings<br />

> <strong>Exceed</strong> <strong>onDemand</strong> 5 — A <strong>Technical</strong> <strong>Whitepaper</strong><br />

<strong>Exceed</strong> <strong>onDemand</strong> is a connectivity solution that is targeted for all types of network connections,<br />

including WAN and Internet. In an effort to offer the best security mechanisms and support the<br />

broadest range of industry-recognized security protocols, <strong>Exceed</strong> <strong>onDemand</strong> provides a two-stage<br />

security system that allows companies to encrypt the connections using Secure Sockets Layer (SSL)<br />

and Secure Shell protocols to ensure end-to-end security and the privacy of corporate data.<br />

SSL<br />

The SSL support found in <strong>Exceed</strong> <strong>onDemand</strong> is an implementation of OpenSSL 0.9.7e. It is used<br />

to secure the connections between <strong>Exceed</strong> <strong>onDemand</strong> Client and <strong>Exceed</strong> <strong>onDemand</strong> Server. Once<br />

enabled, both the Cluster Manager and X Session connections will be secured, in which case,<br />

the user credentials, configuration data and Thin X Protocol traffic are scrambled.<br />

X Application<br />

<strong>Exceed</strong> <strong>onDemand</strong> Server<br />

<strong>Exceed</strong> <strong>onDemand</strong><br />

Cluster Manager<br />

X Proxy Manager<br />

<strong>Exceed</strong> <strong>onDemand</strong> Proxy<br />

Figure 26 — Configuration and X session connections are secured by SSL<br />

Secure Sockets Layer<br />

Cluster Manager<br />

Connection Port 5500<br />

Proxy Connection<br />

Port 5501<br />

<strong>Exceed</strong> <strong>onDemand</strong> Client<br />

Only the administrator of <strong>Exceed</strong> <strong>onDemand</strong> Server can modify the SSL option. The SSL setting<br />

affects all connections to all nodes of <strong>Exceed</strong> <strong>onDemand</strong> Server.<br />

47


<strong>Exceed</strong> <strong>onDemand</strong> 5 — A <strong>Technical</strong> <strong>Whitepaper</strong><br />

Figure 27 — Administrator can configure SSL settings in the Cluster Settings dialog box<br />

<strong>Exceed</strong> <strong>onDemand</strong> supports all ciphersuites that are available to OpenSSL 0.9.7e. When using<br />

ciphersuites that use the Digital Signature Standard (DSS), <strong>Exceed</strong> <strong>onDemand</strong> Client verifies the<br />

identity of the Server before establishing an SSL-encrypted session. Therefore the Server must<br />

have the private key file and certificate file. All flavors of <strong>Exceed</strong> <strong>onDemand</strong> Server come with<br />

the necessary utility to generate such files.<br />

Secure Shell<br />

While the implementation of SSL helps to secure the connections between <strong>Exceed</strong> <strong>onDemand</strong><br />

Client and <strong>Exceed</strong> <strong>onDemand</strong> Server, Secure Shell is used to secure the connections from the <strong>Exceed</strong><br />

<strong>onDemand</strong> Proxy to the host where the X applications reside. Secure Shell is an additional start<br />

method that is similar to other Remote command startup modes, such as Telnet, except it uses the<br />

SSH protocol and is able to offer strong security features that Telnet and other unsecured protocols<br />

cannot, namely encryption and X11 port forwarding.<br />

Figure 28 — Making connection using Secure Shell<br />

48


<strong>Exceed</strong> <strong>onDemand</strong> 5 — A <strong>Technical</strong> <strong>Whitepaper</strong><br />

In order to support Secure Shell Startup mode, the Strong encryption version of <strong>Exceed</strong> <strong>onDemand</strong> is<br />

shipped with the open source OpenSSH client. All features that are normally offered by OpenSSH are<br />

supported as well. Users only need to configure the host name, username, password and the command<br />

that will launch the X application. <strong>Exceed</strong> <strong>onDemand</strong> Proxy will attempt to communicate with the<br />

host through the OpenSSH client and authenticate the user. X11 Tunneling is enabled to allow X<br />

traffic to travel securely through the established X11 Tunnel.<br />

Users can provide credentials to the host using either password authorization or certificate authorization.<br />

<strong>Exceed</strong> <strong>onDemand</strong> offers a wide range of ciphersuites. Among those is the AES algorithm which<br />

provides a higher level of encryption than the traditional DES algorithm. AES became the de facto<br />

standard for encryption in the US Government starting in October, 2003.<br />

Secure Shell startup mode can be found on <strong>Exceed</strong> <strong>onDemand</strong> Server for UNIX and Linux.<br />

X Application<br />

Secure Shell<br />

X11 over Secure Shell<br />

Port 22<br />

<strong>Exceed</strong> <strong>onDemand</strong> Server<br />

<strong>Exceed</strong> <strong>onDemand</strong><br />

Cluster Manager<br />

X Proxy Manager<br />

<strong>Exceed</strong> <strong>onDemand</strong> Proxy<br />

Cluster Manager<br />

Connection Port 5500<br />

Proxy Connection<br />

Port 5501<br />

Figure 29 — <strong>Exceed</strong> <strong>onDemand</strong> can use Secure Shell protocol to secure traffic between Proxy and X applications<br />

Desktop Sharing<br />

<strong>Exceed</strong> <strong>onDemand</strong> Client<br />

One of the many advantages of <strong>Exceed</strong> <strong>onDemand</strong>’s architecture is that the Proxy acts as a gateway<br />

between <strong>Exceed</strong> <strong>onDemand</strong> Client and X applications. It is the Proxy’s responsibility to deliver the<br />

X display to <strong>Exceed</strong> <strong>onDemand</strong> Client. The Proxy also has the ability to interact with more than one<br />

<strong>Exceed</strong> <strong>onDemand</strong> Client at the same time and to multicast the X display to multiple Clients. This<br />

forms the base of the Desktop Sharing function.<br />

X Application<br />

<strong>Exceed</strong> <strong>onDemand</strong> Server<br />

<strong>Exceed</strong> <strong>onDemand</strong><br />

Cluster Manager<br />

X Proxy Manager<br />

X Protocol TXP<br />

<strong>Exceed</strong> <strong>onDemand</strong> Proxy<br />

Figure 30 — <strong>Exceed</strong> <strong>onDemand</strong> Proxy multicasts the X display to multiple <strong>Exceed</strong> <strong>onDemand</strong> Clients<br />

<strong>Exceed</strong> <strong>onDemand</strong> Client<br />

<strong>Exceed</strong> <strong>onDemand</strong> Client<br />

<strong>Exceed</strong> <strong>onDemand</strong> Client<br />

49


<strong>Exceed</strong> <strong>onDemand</strong> 5 — A <strong>Technical</strong> <strong>Whitepaper</strong><br />

With this function, a number of <strong>Exceed</strong> <strong>onDemand</strong> users are able to share the same X session and<br />

interact with it. Additional access controls are added to provide granular definition of how and with<br />

whom the X display will be shared. Administrators can give individual users the right to use this<br />

feature, and each user can define his or her own list of participants in a shared session. This is an<br />

ideal tool to add collaborative capability to any X application.<br />

Figure 31 — Users can specify the share list and permissions<br />

When a group of users share an <strong>Exceed</strong> <strong>onDemand</strong> session, each user acquires one license from the<br />

license pool. The number of licenses available in the license pool determines the maximum number<br />

of users who can successfully join a shared session.<br />

50


Suspend and Resume<br />

> <strong>Exceed</strong> <strong>onDemand</strong> 5 — A <strong>Technical</strong> <strong>Whitepaper</strong><br />

Aside from being a gateway between X applications and <strong>Exceed</strong> <strong>onDemand</strong> Client, <strong>Exceed</strong><br />

<strong>onDemand</strong> Proxy also acts as an intermediate buffer or a storage space. The Suspend and Resume<br />

feature makes use of this unique design; it allows <strong>Exceed</strong> <strong>onDemand</strong> Client to store all the X session<br />

information in the Proxy. Once the Proxy has an exact replica of the X session information, the Client<br />

can be disconnected from the Proxy, but the session is kept alive in the Proxy. This is, by definition,<br />

a Suspend action. Later, the same user can connect to the Proxy from any machine and resume<br />

the suspended session. The Proxy will send the stored X session information back to the <strong>Exceed</strong><br />

<strong>onDemand</strong> Client and the user will be at the same point as before the session was suspended.<br />

X Application <strong>Exceed</strong> <strong>onDemand</strong> Proxy<br />

Step 1 — User on PC #1 requests to suspend an active X session.<br />

X Application <strong>Exceed</strong> <strong>onDemand</strong> Proxy<br />

Step 2 — X session data are stored on the Proxy.<br />

X Application<br />

<strong>Exceed</strong> <strong>onDemand</strong> Proxy<br />

with suspended<br />

session information<br />

Step 3 — Suspended session information is stored in the Proxy.<br />

The connection between Proxy and Client is terminated.<br />

X Application<br />

<strong>Exceed</strong> <strong>onDemand</strong> Proxy<br />

with suspended<br />

session information<br />

Step 4 — Suspended session can be resumed back on the same<br />

PC or another PC.<br />

Figure 32 — Four-step process of Suspend and Resume<br />

✘<br />

<strong>Exceed</strong> <strong>onDemand</strong> Client<br />

on PC #1<br />

<strong>Exceed</strong> <strong>onDemand</strong> Client<br />

on PC #1<br />

<strong>Exceed</strong> <strong>onDemand</strong> Client<br />

on PC #1<br />

<strong>Exceed</strong> <strong>onDemand</strong> Client<br />

on PC #1<br />

<strong>Exceed</strong> <strong>onDemand</strong> Client<br />

on PC #2<br />

51


<strong>Exceed</strong> <strong>onDemand</strong> 5 — A <strong>Technical</strong> <strong>Whitepaper</strong><br />

A suspended session does not use a license. However, when a user resumes a suspended session,<br />

he or she may consume one license based on the rules stated in Section 2: “Architecture.”<br />

By default, when a session is in suspended mode, so are the X applications in that session. To maximize<br />

the benefit of Suspend and Resume, some users may want to enable “Keep Suspended Session Active”<br />

option so that the X applications continue to run on the proxy after the session is suspended.<br />

However, not all sessions can be suspended. <strong>Exceed</strong> <strong>onDemand</strong> cannot suspend OpenGL sessions<br />

due to technical restrictions. Users will not have the option of suspending such sessions.<br />

Suspend on Disconnect (a.k.a. Crash and Resume)<br />

<strong>Exceed</strong> <strong>onDemand</strong> is designed with mobility in mind. We understand that network inconsistency<br />

and instability can occur and know the frustration it can cause. Based on the same principle and<br />

mechanism as Suspend and Resume, <strong>Exceed</strong> <strong>onDemand</strong> extends the feature to safeguard any<br />

non-OpenGL session. To enable this feature, users just have to turn on the “Suspend Disconnected<br />

Session” option.<br />

Figure 33 — Enable Suspend on Disconnect feature to safe guard your <strong>Exceed</strong> <strong>onDemand</strong> sessions<br />

However, this feature comes at the expense of performance. As indicated in the previous chapter,<br />

the Client is required to send the X session data to the Proxy as one of the steps in suspending a<br />

session. But a crash is unpredictable by nature and will never give the Client time to send data to<br />

the Proxy. To overcome this, the Proxy has to remain in a constant state of preparedness by keeping<br />

track of all the information it sends to the desktop. The obvious side effect is the added work-load<br />

and resource consumption on the host. But it may be a small price to pay for uninterrupted work<br />

and to ensure that the mission critical applications are up and functional at all times.<br />

52


Web Deployment<br />

> <strong>Exceed</strong> <strong>onDemand</strong> 5 — A <strong>Technical</strong> <strong>Whitepaper</strong><br />

<strong>Exceed</strong> <strong>onDemand</strong> comes with deployment tools that ease the deployment of <strong>Exceed</strong> <strong>onDemand</strong><br />

Client to a large audience, as well as tools that make post-deployment management simple and<br />

effortless.<br />

<strong>Exceed</strong> <strong>onDemand</strong> Deployment Tools consists of:<br />

> <strong>Exceed</strong> <strong>onDemand</strong> Deployment Wizard<br />

> <strong>Exceed</strong> <strong>onDemand</strong> Package Update Wizard<br />

> <strong>Exceed</strong> <strong>onDemand</strong> Index Page Wizard<br />

<strong>Exceed</strong> <strong>onDemand</strong> Deployment Wizard fundamentals<br />

<strong>Exceed</strong> <strong>onDemand</strong> Deployment Wizard allows <strong>Exceed</strong> <strong>onDemand</strong> Client to be deployed through<br />

Internet Explorer. It offers reduced cost of ownership, centralized deployment and management,<br />

and exceptional ease of access to X Window systems.<br />

<strong>Exceed</strong> <strong>onDemand</strong> Deployment Wizard is designed as an administrative tool, enabling administrators<br />

to deploy and maintain different versions of software without increasing administrative overhead.<br />

With <strong>Exceed</strong> <strong>onDemand</strong> Deployment Wizard, only the web server needs to be updated, ensuring users<br />

automatically get the latest version of the software with zero-effort.<br />

By using <strong>Exceed</strong> <strong>onDemand</strong> Deployment Wizard, an administrator can create a web deployment package<br />

that contains <strong>Exceed</strong> <strong>onDemand</strong> components and a user profile. Once the administrator has finished<br />

running the wizard, a set of binary and HTML files are presented for installation on any web server.<br />

Each user wanting to use <strong>Exceed</strong> <strong>onDemand</strong> simply has to point his web browser to a web page as<br />

indicated by the administrator. Once done, Internet Explorer downloads all the necessary components<br />

and profiles and installs them on the user’s PC. Once installed, the web-deployed software can be<br />

accessed and managed by users like any other Windows software. The Client can be launched<br />

regardless of the state of the web server from which it was installed. Practically, there is no difference<br />

between the web-deployed version and the CD version of the Client.<br />

The figure on the next page is an overview of the 5 steps involved in deploying <strong>Exceed</strong> <strong>onDemand</strong><br />

Client over the web.<br />

53


<strong>Exceed</strong> <strong>onDemand</strong> 5 — A <strong>Technical</strong> <strong>Whitepaper</strong><br />

<strong>Exceed</strong> <strong>onDemand</strong> Deployment Wizard Working Principles<br />

Figure 34 — Five easy steps and <strong>Exceed</strong> <strong>onDemand</strong> Clients are ready to be deployed on the Web<br />

54<br />

Administration<br />

Workstation<br />

4<br />

5<br />

1<br />

2 3<br />

<strong>Exceed</strong> <strong>onDemand</strong><br />

Deployment Wizard Web Server<br />

<strong>Exceed</strong> <strong>onDemand</strong> Server <strong>Exceed</strong> <strong>onDemand</strong> Server <strong>Exceed</strong> <strong>onDemand</strong> Server<br />

Step 1: The administrator installs <strong>Exceed</strong> <strong>onDemand</strong> Client and the Deployment Tools on the<br />

workstation. Optionally, the administrator can also create new <strong>Exceed</strong> <strong>onDemand</strong> Connection<br />

Documents and Server profiles.<br />

Step 2: The administrator runs <strong>Exceed</strong> <strong>onDemand</strong> Deployment Wizard and selects the web<br />

deployment options. The Wizard will then create a web deployment package which contains<br />

binaries and HTML files ready for deployment.<br />

Step 3: The deployment package will be copied to any web server. Administrator will notify<br />

the user community of the availability of the Client.<br />

Step 4: Users point the web browser to the web page as indicated by the administrator. Web<br />

package will be downloaded and installed on users’ PC. The files are distributed on-demand only,<br />

which means a feature will be downloaded only on the first time it is being used. Subsequent<br />

usage of the feature does not require any download unless an update is available.<br />

Step 5: Once <strong>Exceed</strong> <strong>onDemand</strong> Client is deployed, users will be connected to <strong>Exceed</strong> <strong>onDemand</strong><br />

Server and through it, connected to a host and display X applications.


<strong>Exceed</strong> <strong>onDemand</strong> Deployment Wizard Explained<br />

Web-Deployed vs. CD-Installed<br />

> <strong>Exceed</strong> <strong>onDemand</strong> 5 — A <strong>Technical</strong> <strong>Whitepaper</strong><br />

<strong>Exceed</strong> <strong>onDemand</strong> Client can be deployed in two different fashions: traditional CD installation and<br />

Web deployment. CD installation is when users install <strong>Exceed</strong> <strong>onDemand</strong> Client directly from a CD<br />

or from the setup program that administrators distribute. This type of installation requires users to<br />

interact with the setup program. Web-deployment means the application is deployed from a web<br />

browser. User interaction is either not required or minimal. Often, CD-Installed software has more<br />

features than its web-deployed counterpart but that is not true in the case of <strong>Exceed</strong> <strong>onDemand</strong>.<br />

Regardless of the deployment method that is chosen, the same <strong>Exceed</strong> <strong>onDemand</strong> Client is installed<br />

on the user’s desktop, with the same features and functionalities. Administrators do not have to train<br />

users for different clients because there is only one client available.<br />

Download Mechanisms<br />

Connecting to a host simply requires the user to click on the URL the administrator provides. On the<br />

first connection to the web server, the user is prompted to accept the Hummingbird certificate, which<br />

assesses the integrity of the components that will be downloaded to the browser. This certificate<br />

prompt appears only on the first connection to the web server.<br />

After the certificate has been accepted, <strong>Exceed</strong> <strong>onDemand</strong> Deployment Wizard downloads the first set<br />

of components to the browser. This initial download usually takes less than 5 seconds on a regular 10<br />

MB Ethernet network. The only factors that can affect the size of the initial download are the number<br />

of languages supported, and the encryption level. A web deployment package that contains a strong<br />

encryption <strong>Exceed</strong> <strong>onDemand</strong> Client and single language file is slightly larger than 1 MB.<br />

In order to prevent unnecessary downloads, <strong>Exceed</strong> <strong>onDemand</strong> Deployment Wizard uses a technology<br />

called “Feature-on-Demand.” <strong>Exceed</strong> <strong>onDemand</strong> Deployment Wizard will only download the minimum<br />

set of components required to establish a connection to the host. All other features of the solution are<br />

packaged separately in small files that are only downloaded when the user invokes a specific function<br />

for the first time.<br />

For instance, the help files will never be downloaded to the user’s PC unless the user accesses the<br />

Help menu. Also, the Configuration Managers are not included as part of the initial download.<br />

55


<strong>Exceed</strong> <strong>onDemand</strong> 5 — A <strong>Technical</strong> <strong>Whitepaper</strong><br />

Access and upgrade<br />

<strong>Exceed</strong> <strong>onDemand</strong>, unlike other thin solutions, actually deploys the native Windows client through<br />

a web browser. After the deployment, the software physically resides on the user’s machine and is<br />

readily accessible, regardless of the availability of the web server or the web deployment package.<br />

After the initial download is successful, the web server is only used to provide product updates and<br />

upgrades. Should the web server fail or the URL be moved to another location, users can still access<br />

<strong>Exceed</strong> <strong>onDemand</strong> Client in the normal manner. It is made possible by the unique ability of <strong>Exceed</strong><br />

<strong>onDemand</strong> Deployment Wizard to create “intelligent” shortcuts. When launched, the shortcuts first<br />

detect if the web server is available. If so, the download engine checks to see if any new versions are<br />

available on the web server, and downloads any that are applicable. However, if the web server is<br />

not available when the user clicks on a shortcut, <strong>Exceed</strong> <strong>onDemand</strong> Deployment Wizard skips the<br />

version checking process and connects the user to the host.<br />

How to use <strong>Exceed</strong> <strong>onDemand</strong> Deployment Wizard<br />

<strong>Exceed</strong> <strong>onDemand</strong> Deployment Wizard is a three-in-one tool. The Wizard can be broken down into<br />

three parts:<br />

> Project Deployment Wizard — Distribute <strong>Exceed</strong> <strong>onDemand</strong> Client to both local and remote end<br />

users over the Web. Pre-configure <strong>Exceed</strong> <strong>onDemand</strong> Client sessions that are launched from the<br />

web page to ensure optimal performance.<br />

> Project Update Wizard — Update users’ <strong>Exceed</strong> <strong>onDemand</strong> Client software automatically by<br />

deploying the latest version from the web server.<br />

> Index Page Wizard — Create an HTML index, which contains links to multiple Client sessions<br />

on a single web page.<br />

Figure 35 — The flow chart depicts three main functions of <strong>Exceed</strong> <strong>onDemand</strong> Deployment Wizard<br />

56<br />

Index Page Wizard<br />

Deployment Project Selection<br />

HTML Page Information<br />

Wizard Type Selection<br />

Project Deployment Wizard<br />

Project Information<br />

Parameters Selection<br />

Language Selection<br />

and Client Settings<br />

Web Server Information<br />

Installation Settings<br />

Project Update Wizard<br />

Deployment Project Selection


Project Deployment Wizard<br />

Create a Project<br />

> <strong>Exceed</strong> <strong>onDemand</strong> 5 — A <strong>Technical</strong> <strong>Whitepaper</strong><br />

The first Wizard screen enables the administrator to create a new project or edit an existing one.<br />

A project consists of a set of parameters that define how <strong>Exceed</strong> <strong>onDemand</strong> Client will be deployed<br />

on the user’s browser through the web server. When a project is completed, <strong>Exceed</strong> <strong>onDemand</strong><br />

Deployment Wizard generates a set of HTML files that can later be uploaded to a web server.<br />

An <strong>Exceed</strong> <strong>onDemand</strong> Deployment Project file (*.edp) is created and stored in:<br />

C:\Documents and Settings\All Users\Application Data\Hummingbird\Connectivity\5.00\<strong>Exceed</strong><br />

<strong>onDemand</strong>\<br />

Figure 36 — Select the wizard type and create a new project using the Wizard<br />

Select a Connection Document<br />

Part of the deployment process is to distribute a Connection Document. When it is launched, users<br />

will be presented with an <strong>Exceed</strong> <strong>onDemand</strong> Xsession with the pre-defined configuration, and the X<br />

application that the user is supposed to access (if any). All of the information is already defined in the<br />

<strong>Exceed</strong> <strong>onDemand</strong> Connection Document (*.eod). Administrators are given the opportunity to select<br />

any Connection Document to be included in the Package. If no Connection Document is specified,<br />

or it does not contain sufficient information, <strong>Exceed</strong> <strong>onDemand</strong> Client will prompt the user for<br />

the missing information upon launch of the application.<br />

57


<strong>Exceed</strong> <strong>onDemand</strong> 5 — A <strong>Technical</strong> <strong>Whitepaper</strong><br />

Figure 37 — Select one of the <strong>Exceed</strong> <strong>onDemand</strong> Connection Document (*.eod)<br />

Language Selection<br />

The Deployment Wizard also allows administrators to choose the languages which will be deployed<br />

in the web package. Administrators can select one or several languages from those available and specify<br />

a default language. The selection here will determine the available language options in the Client.<br />

Some Client settings are available that allow administrators to pre-configure the Client settings<br />

for ease of access and troubleshooting.<br />

Figure 38 — Pick the languages and Client setting options<br />

58


Deploying on any Web Server on any Operating System<br />

> <strong>Exceed</strong> <strong>onDemand</strong> 5 — A <strong>Technical</strong> <strong>Whitepaper</strong><br />

One of the major advantages of <strong>Exceed</strong> <strong>onDemand</strong> Deployment Wizard is the ability to port<br />

the generated HTML and package files to any operating system and any server. Web deployment<br />

packages generated by <strong>Exceed</strong> <strong>onDemand</strong> Deployment Wizard can be hosted on any type of web<br />

server regardless of the operating system. For instance, administrators can upload the web deployment<br />

packages to the web server on a UNIX or Windows web server and give their users a URL that points<br />

to the web server.<br />

Figure 39 — Specify the Web page properties<br />

Installation Settings<br />

The last step in the creation of a <strong>Exceed</strong> <strong>onDemand</strong> Deployment Wizard profile consists of choosing<br />

the different modes of download and installation on the end-user workstation and browser.<br />

As explained in the “download mechanisms” section above, <strong>Exceed</strong> <strong>onDemand</strong> Deployment Wizard<br />

automatically copies the binaries and user settings to a location on the hard drive in order to reuse the<br />

components on the next client startup. By default, <strong>Exceed</strong> <strong>onDemand</strong> Deployment Wizard stores the<br />

binaries into “Program Files” and the user settings under user profiles. However, the administrator<br />

is given the ability to customize those two paths in order to avoid access rights problems.<br />

Figure 40 Last step, select the installation settings, including path types. Click Build to finish.<br />

59


<strong>Exceed</strong> <strong>onDemand</strong> 5 — A <strong>Technical</strong> <strong>Whitepaper</strong><br />

Figure 40 — Last step, select the installation settings, including path types. Click Build to finish<br />

User Rights and Security<br />

<strong>Exceed</strong> <strong>onDemand</strong> Deployment Wizard does not require the user to have any particular access<br />

rights on the machine.<br />

On Windows NT, ® both Users and Administrators can install and use ActiveX controls through their<br />

browser. On Windows 2000 and XP, Microsoft has introduced an additional user group in between<br />

users and administrators: the power user group. Administrators and Power Users are capable of<br />

using and installing ActiveX controls with their standard rights. As far as users are concerned, <strong>Exceed</strong><br />

<strong>onDemand</strong> Deployment Wizard includes a mechanism to allow these users with low privileges to<br />

perform the deployment without having to change their rights. This mechanism is automatic and fully<br />

respects the Microsoft Windows security mode.<br />

A common sentiment among administrators is that ActiveX equates to a security breach on their<br />

users’ machines. Nothing could be further from the truth. Actually, a signed ActiveX applet has<br />

no more potential for destruction than a signed Java applet that has been granted the rights to read<br />

and write on the disk (which is the case with most java web-to-host applets that are available).<br />

More importantly, ActiveX is not particularly related to the browser. ActiveX is simply a part of the<br />

COM architecture specification, which allows developers to describe visual interfaces to their COM<br />

objects. Actually, Windows users use thousands of ActiveX objects every day without knowing it<br />

and without using a browser.<br />

60


Update a Package<br />

> <strong>Exceed</strong> <strong>onDemand</strong> 5 — A <strong>Technical</strong> <strong>Whitepaper</strong><br />

Package Update Wizard allows administrators to quickly rebuild multiple packages at once.<br />

This feature is particularly useful when the administrator has applied a patch to the administrative<br />

installation. Package Update Wizard can re-generate new packages in batch mode.<br />

Figure 41 — Use Package Update Wizard to update many deployment packages in batch mode.<br />

Create an Index Page<br />

Index Page Wizard allows administrators to specify several existing deployment packages and<br />

automatically generates an HTML index page that contains multiple links, one for each package.<br />

Figure 42 — Index Page Wizard create an index page for the selected deployment packages.<br />

61


Server > Desktop Consolidation > X Window > UNIX integration > NFS v4 > Mainframe > Terminal Emulation > Security > SSL > Web-to-host > Cost Reduction > AS/400 > Mobile Workers > Thin<br />

beros > Smart Card > X Desktop Sharing > WebNFS > Web Deployment > Linux > PC X Server > Desktop Consolidation > X Window > UNIX integration > NFS v4 > Mainframe > Terminal Emulat<br />

bile Workers > Thin X Protocol > Public Private Keys Authentication > Secure Shell > Telnet > FTP > Reducing Business Disruption > TN3270E > TN5250E > Easy Migration Path > Bi-directiona<br />

frame > Terminal Emulation > Conflict Management > PC X Server > Desktop Consolidation > X Window > UNIX integration > NFS v4 > Mainframe > Terminal Emulation > Security > SSL > We<br />

Transforming Information into Intelligence <br />

Corporate Headquarters<br />

1 Sparks Avenue, Toronto, Ontario M2H 2W1 Canada<br />

Toll Free Canada/USA: 1 877 FLY HUMM (359 4866)<br />

Tel: +1 416 496 2200<br />

Fax: +1 416 496 2207<br />

E-mail: getinfo@hummingbird.com<br />

For more information, visit http://connectivity.hummingbird.com<br />

North American Sales Offices<br />

Boston • Chicago • Dallas • Los Angeles • Mountain View<br />

New York • Ottawa • Toronto • Washington DC<br />

International Sales Offices<br />

Amsterdam • Brussels • Frankfurt • Geneva • London • Milan<br />

Munich • Paris • Rome • Seoul • Singapore • Stockholm • Sydney<br />

Tokyo • Wokingham • Zurich<br />

WP-03-00-0033.10/05<br />

Copyright © 2004, Hummingbird Ltd. All rights reserved.<br />

® — Trademarks and logos are the intellectual property<br />

of Hummingbird Ltd.<br />

All other company and product names are trademarks<br />

of their respective owners.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!