Support Home Page
Cubix Home Page
Feedback Forms

Chapter 4
Applink Operation
(Patent Pending)


WorldDesk Applink is remote-access-clustering software that seamlessly blends remote node and remote control technologies for remote network users.

Applink enhances Citrix®’s WinFrame Application Server by adding three powerful features:

  1. Applink load balances WinFrame Servers so that standard uniprocessor PCs perform as clustered processors. Clustering allows organizations to aggregate separate WinFrame Servers into a single computing facility. Support scales to hundreds of users.
  1. Applink seamlessly integrates remote node and WinFrame remote control access methods into one easy-to-use client interface. Applink automatically selects the best operating mode based on conditions at the host computer and other controlling factors as determined by the system administrator.
  1. Applink’s rules database automatically selects, in the most performance-efficient way, Remote node or WinFrame remote control sessions without requiring remote users to make any decisions.

In addition to enhancing WinFrame, Applink works with popular remote node based products such as Microsoft RAS, NetWare Connect, and Shiva LANRover.

Applink has both a server component and a client component. The Applink server is integrated with the WorldDesk Comlink Server. The Applink client is integrated with the WorldDesk client software and is available for DOS, Windows 3.1x, Windows for Workgroups, Windows 95, and Windows NT.

Note: Refer to Appendix B for an explanation of Remote Communication Concepts.


Remote Access Using Applink

With Applink, you can take advantage of the speed of remote control and the economies of remote node with one seamlessly integrated application. When conditions call for the remote control access method, Applink selects it. When remote node access method is preferred, Applink uses remote node. The best access method for a particular situation depends on a number of variables, such as the application program to be run, the load on the LAN’s servers, whether the software is located on the client computer or a LAN-based server, and the size of the executable file. Applink can evaluate these variables the instant a program is loaded and select between remote node and remote control automatically.

The means by which the Applink client determines the run mode for a particular program is as follows:

  1. The user instructs the operating system to load a software program by either typing the program name on the command line for DOS or by clicking an icon in Windows.
  2. Applink gathers information on the client relating to this "program load event," such as the name of the program, the file size, the command line arguments, the full path of the program, etc.
  3. Applink sends this information to a WorldDesk server.
  4. The WorldDesk Applink server consults a rules database (described below) and determines how the client should run this program: remote node or remote control.
  5. The WorldDesk Applink server transmits this decision back to the Applink client, which proceeds to act on this decision either by executing the program in remote node or remote control mode.

When Applink determines that the program about to be loaded should be run using remote node, the program load operation is allowed to proceed without modification.

When Applink elects to run a program using the remote control access method, the following events occur:

  1. The WorldDesk Applink server performs a load balancing algorithm to find the best server to host the remote control session.
  2. Applink transmits the network address of this server back to the client program.
  3. Instead of loading the application directly, the Applink client loads a pre-configured remote control client program.
  4. Applink instructs the remote control client program to connect to the server specified in step 2 and to run the original application on the server as a remote control session.

Rules Database

The rules database stores rules for selecting which access method to use for a particular application. Servers within a cluster maintain synchronized copies of the rules database. The rules are formed by combining built-in keywords, operators, and values:

Values may be entered as required for each keyword. The rule evaluation portion of the server program interprets the rules. Rules are written in the form "If <expression> then <result>," where the "result" is a directive to execute the application via remote node or remote control. If no rule is satisfied, Applink uses a default, which the administrator can set.

The rules database is administered via the WorldDesk Manager program. To invoke the rules editor, select the "Configure Rules" option within the Cluster pull-down menu.

Figure 4-1, Applink Rule Editor

Using the rules database, systems administrators have significant control in managing client operations. Cubix continues to expand the set of available rules operands to offer even greater flexibility. Consult your dealer or Cubix for the latest options.

 

Rule Evaluation

A particular rule is applicable if it produces an affirmative (true) result. For example, the rule: "IF %Filename = Notepad.exe THEN Run at Server" only applies if the client computer is about to run the program "Notepad.exe." In this case the result is to run the program in remote control.

If a rule does not produce an affirmative result, it is not applicable and the next rule is evaluated. The first rule that produces an affirmative result is used to determine application program run mode. Thus, the order in which rules are entered is important in controlling Applink behavior. The rule editor screen within the WorldDesk Manager allows rules to be moved up and down within the rule set, thus changing their order.

Figure 4-2, Complete Rule Set Showing Rule Precedence

Rules can have the following scope: User, Group, and Cluster. Rules entered for a particular user are evaluated first. If no rule applies, any rules entered for groups that the user belongs to are evaluated. If no group rules apply, rules with cluster-wide scope are evaluated.

If no user, group, or cluster rules apply, Applink uses the default run mode for sessions within the cluster. You can set this default using "If No Rule Matches" in the Current Rule Set window (see Figure 4-2 above).

 

Load Balancing

The rules database is automatically synchronized among all servers within a cluster. New servers automatically receive the current rule set when they join a cluster. Each server in the cluster operates independently and can thus remain fully operational in the presence of faults at one or all other servers in the cluster.

Each Applink client is configured to issue requests to a specific "Active Cluster." If an Applink server within this cluster, as a result of a rules database evaluation, determines that the program about to be loaded on the Applink client should be run in remote control mode, the Applink server sends requests for bids on the new session to all cluster servers. This step determines which server will be given the new session.

When an Applink server receives a session bid request, it performs a local analysis of the loading within the server. Several system resource factors are considered, including CPU loading, memory availability, currently active remote control sessions on this server, etc. The server that the Applink client connected to for the initial request also sends a bid request to itself and thus participates in the bidding process.

After each server computes each of the loading factors, the server initiating the bid tabulates the results. The winner of the bidding is the server most appropriate to host the client session. The address of the winning server is sent back to the Applink client with the instruction to run the pending client application via remote control.

Finally, the Applink client forms a network connection to the target server and starts the remote control session.

 

Alternate Applink Operating Modes

Consulting the rules database is the default operating mode of Applink. Alternatively, the Applink client may be run in additional modes: "Run at client," "Run at Server" and "Ask User".

Figure 4-3, Applink consults the user when "Ask User" mode is selected

 


Applink Security

The system administrator can configure WorldDesk to restrict access to WorldDesk servers for the purpose of starting a remote control session. Refer to Chapter 7 for a more detailed discussion on WorldDesk security.


Applink Client Installation Configuration

To install Applink, run the client setup program specific to the operating system being used by the client. Consult the Quick Start Guide included with the client software for instructions.

Figure 4-4, WorldDesk Windows 95 Remote Node Client with Applink Option

Applink configuration is integrated with the WorldDesk remote node client program. Each client contains certain features and settings common to all client operating systems. These settings and features are described in the next sections.

 

Active WorldDesk Cluster

This setting specifies the WorldDesk cluster Applink uses when requesting whether a client application should be run in remote node or remote control mode. If the remote control method is determined, one of the servers within this cluster will host the remote control session as determined by the load balancing mechanisms.

Figure 4-5, WorldDesk Cluster Configuration Entry

 

User Name

When connecting to a server within the selected cluster, the client user must be authenticated to determine if the user has "Start Sessions" permission. Initially, the user name entered is used in the authentication request. The user is prompted at runtime for password or DES challenge/response if necessary. For more information on WorldDesk security, turn to Chapter 7.

 

Domain Name

The domain name specifies the name of the Windows NT domain in which the user is to be authenticated. This value defaults to the WorldDesk Cluster Name, but can be changed. On the WorldDesk Client for Windows NT, the domain name field appears as a list of all Windows NT domains that could be found.

 

Time Out Value

Applink client requests are subject to a timeout value. If a client does not receive a response from the server within the specified time out period, the application will run at the client. The default value is sufficient in most cases. For very slow communications links, a higher time-out value may be required.

 

Run Program

This setting allows the user to affect the run-time operation of Applink. The default value, "Use Rules", causes Applink to request a rule evaluation each time a client program is about to be loaded to determine the run mode.

Figure 4-6, Main Applink Configuration Screen (Windows 95)

The "Run at Client" setting causes all programs to be at the client (remote node). The "Run at Server" setting instructs Applink to attempt to run all client applications at the server in remote control mode. NOTE: if the remote control session startup fails, or the user does not have required permission, the program will run at the client.

The "Ask User" setting causes Applink to prompt the user for the desired run mode each time a program is about to be loaded.

 

Logging Options

These settings are used to control the level of detail included in the Applink event log. The default logging option is to show only error messages. However, when troubleshooting a client installation, more detail may desired.

 

Map Network Drives

This field allows the user to enable/disable a client network drive remapping feature incorporated in Applink.

When enabled, this feature instructs Applink to automatically establish the client’s network drive mappings within the context of a WinFrame remote control session. For example, if the client computer has the network mapping: y:=\\Fserver1\Sys, Applink will attempt to create this drive mapping on the WinFrame server within the user’s WinFrame session.

The WinFrame product currently supports drive mappings for local client drives only (i.e., A:, C:). The Applink feature extends this capacity to include client side network drive mappings.

 

Cluster Selection

If "Ask User" is chosen and Applink decides to execute an application at the server, the user will be prompted with the list of configured clusters. This allows the user to specify the cluster in which the remote session is executed, user name, password and the NT domain name in which he should be authenticated.

If "Use Configured Active Cluster" is chosen and Applink decides to execute an application at the server, the cluster indicated in the Active Cluster field will be used. The user willl only be allowed to change the user name and password.

 

Remote Control Client Program

This field allows the user to specify the path and filename of the remote control client program Applink should load when the remote control access method is determined. Currently, Applink supports the Citrix® WinFrame remote control software package.


Integrating Applink with Citrix® WinFrame

When the Citrix® WinFrame software is installed prior to installing Applink, the Applink installation program automatically configures Applink to work correctly with WinFrame. If Applink is installed first, the full path to the WinFrame client program must be set from within the Applink client configuration program.

Note to Administrator: Always install the Citrix® WinFrame software before installing Applink software.

Once Applink and WinFrame have been installed on the client computer, Applink will completely control the WinFrame product with no additional user intervention required.

If Applink fails to correctly start a remote control session, the following troubleshooting steps should be performed:

  1. Make sure that Applink is set for full event logging, i.e. "Errors," "Warnings" and "Information."
  2. Check the Applink event log to verify that Applink has determined that the program in question had indeed been attempted to start as a remote control session. If the log does not contain the entry: "Applink response received, Run at Server," then the trouble likely is either in the Applink client configuration or in the communications with the selected server cluster. The Applink log should have additional information.
  3. After verifying that Applink had attempted to start Citrix® WinFrame at the client, test the WinFrame installation. Run the application program in remote control using the WinFrame client manager program that is part of the WinFrame client installation. Consult your WinFrame documentation if you need further assistance.

When installing a Citrix® WinFrame server for use with Applink, use the following settings. Note that when the WorldDesk Server is installed on a Citrix WinFrame server, these settings are verified. If they are not set, the WorldDesk Server setup program will ask the user if they should be changed. You may run "wfcheck.exe" anytime after the WorldDesk Server is installed to verify these settings.

  1. Server drive re-mapping must be enabled. The default drive letter for the server’s drive is "M:" which is recommended.
  2. Client drive mapping must be enabled. That is, within the context of a remote control Winstation, drive "C:" maps to the hard disk of the remotely connected client computer.
  3. The server Winstations that are created must be setup to support the IPX/SPX or TCP/IP Network Protocol and the Citrix® ICA 3.0 Application Protocol.
  4. Within the "Advanced Winstation Configuration" dialog box of the Winstation Administration program, all instances of the "inherit user config" checkbox should be checked.
  5. Also within the "Advanced Winstation Configuration" the fields "Connect client drives at Logon" and "Connect client printers at Logon" should be enabled (checked).

 

Network Drive Mapping Issues

When installing applications to run in a combined remote node/remote control environment, choose network drive letter assignments carefully. Different drive letters may be assigned while running remote node versus remote control. Specifically, when the Citrix® WinFrame remote control client program is loaded, none of the present network drive mappings on the client are valid within the remote control session. Instead, the network drive mappings set up at the Citrix® server for the logged on user are used.

To avoid confusion and unpredictable behavior when switching between remote node and remote control at the client, the system administrator should set up an account for each client on a WinFrame server that is acting as the Windows NT domain controller for that cluster. When the user logs on to this account, the network drive letter assignments that are made automatically should match those that exist on the client’s computer.

Symmetrically assigned drive letter mappings, as described above, ensure the Citrix® WinFrame session will point to the same drive letters as the client user’s computer. For example, if the client user runs "y:\msoffice\winword.exe" via remote control, the Citrix® WinFrame session "Y:" drive will still point to the correct place.

 


Automatic Client Icon Generation

Automatic client icon generation is an Applink specific capability that is incorporated within the WorldDesk client preconfiguration utility. Refer to Appendix A for general information on client disk preconfiguration.

The icon generation feature allows System Administrators to specify program icons to be installed on the user’s desktop when users run the client installation program.

Typically, program icons that exist on a client computer are established by running the installation program associated with that product. These icons may resolve to programs that either exist on the client’s local hard drive or on a mapped network drive in the case of remote node based programs.

With Applink, it is possible to have a functional icon that resolves to a program on a remote computer that was not actually installed by the client. For example, an application may be installed in a common program group on a WinFrame server. Any user that logs on to that server directly can run the application. Since an Applink remote control session emulates a user session on the WinFrame server, an icon on the client that resolves to the server side application will also work correctly under remote control.

This feature is most useful for deploying application icons that will always be intended in the rules database to be run in remote control mode. The applications usually will not work in remote node since systems DLL’s or registry settings may be required on the local computer.


This document, and all Web contents, Copyright © 1997 by Cubix Corp., Carson City, NV, USA.