Setting up a Naming Service

A Naming Service provides a central listing of available analysis codes and pointers to where the actual codes reside. You may wish to do this for many reasons.

Typically in these situations, you would identify a single computer as your Naming Service. This computer would be running a copy of Analysis Server, but would not have any actual wrappers or codes on it. Instead, it lists the codes that are available elsewhere using .link files.

When the Analysis Server encounters a file with the '.link' extension in its analyses path or in a public_aserver directory, it automatically notifies the client of the actual location of the code using the information contained within this file. The Analysis Server can then proxy or redirect the client depending on how the link file is configured.

Contents of the link file

A file with the '.link' extension contains the URL or URLs that point to the actual code and optionally an option specifying whether to proxy or to redirect the client. The URL should be of the form:

aserv://hostname[:port]/path/filename

For example, if you wanted to call the default msd component located in the wrappers directory on the computer mycomputer.phoenix-int.com, you would specify:

aserv://mycomputer.phoenix-int.com/wrappers/msd

By default, the client is given the option of whether it wants to redirect to the actual location or to proxy through this server. You can force a particular behavior by adding a type command to the .link file.

type: [auto|proxy|redirect]

Round Robin Load Balancing

If you use a redirect type .link file, you can list any number of URLs as separate lines in the file. Analysis Server will use a simple round robin approach to pass out a different line for each incoming request. One way to use this is the following:

  1. Setup 5 computers each with Analysis Server and some analysis on them.
  2. Setup a "head" Analysis Server with a .link file that points to the 5 "worker" nodes.
    type: redirect
    aserv://worker1.domain.com/mypath/myanalysis
    aserv://worker2.domain.com/mypath/myanalysis
    aserv://worker3.domain.com/mypath/myanalysis
    aserv://worker4.domain.com/mypath/myanalysis
    aserv://worker5.domain.com/mypath/myanalysis
  3. In ModelCenter build a model that points to the head node.
  4. In ModelCenter's Tools/Preferences/Trade Studies page select to run locally with 5 copies.

When a trade study is run on this model, it should parallelize to the 5 worker nodes.

See also Analysis Server