14.11.2012 Views

Exceed onDemand A Technical Whitepaper

Exceed onDemand A Technical Whitepaper

Exceed onDemand A Technical Whitepaper

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

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!