SAS Object Spawners

Overview of SAS Object Spawners

Workspace servers and stored process servers are initialized by the SAS Object Spawner. An object spawner runs on each machine where you want to run a workspace server or stored process server, listens for requests, and launches the servers as necessary.
The object spawner uses a configuration file that contains information for accessing the metadata server. When you invoke the spawner, the spawner works as shown in the following figure.
How the Spawner Obtains Metadata
How the Spawner Obtains Metadata
1 The object spawner accesses a configuration file that contains information for accessing the SAS Metadata Server.
2 The object spawner connects to the SAS Metadata Server for configuration information.
(The spawner uses a proprietary SAS bridge protocol to communicate with the metadata server, and uses TCP for communication.)
The spawner can then listen for requests for various spawner tasks. See Spawner Tasks .

Configuration File for Metadata Connection

A metadata configuration file contains information for accessing a metadata server. The spawner uses the information that is contained in the configuration file to connect to a metadata server and read the appropriate server definitions.
The default metadata configuration file is metadataConfig.xml. This file is located in the ObjectSpawner subdirectory of your SAS configuration directory.

Spawner Tasks

When a request is received, the spawner accepts the connection and performs the action that is associated with the port or service on which the connection was made. A connection to a spawner can do the following:
  • request a server
    When a connection is made on a port or service that is associated with a Server object, the spawner authenticates the client connection against either the metadata server (default for stored process and pooled workspace servers) or the host authentication provider for the server's machine (default for the standard workspace server). The spawner then launches a server for use by the connecting client.
    When you define a server in SAS Management Console, you must specify a command that the spawner uses to start the server. When the object spawner starts, it reads all server definitions for which it is associated. Therefore, if you change or add a server start-up command, you must refresh (or restart) the object spawner for any modified commands to be used to launch a server. For details about the server command, see Add System Options to the Workspace Server Launch Command. For SAS Stored Process Servers and SAS Pooled Workspace Servers, on the server definition, you must also configure credentials for the spawner to use to start a multi-user server. Every connection to the server is authenticated. Here are the authentication methods used for each type of spawned server:
    • standard workspace servers
      These servers start under the client user's credentials when set up for host authentication. (This is the default.) If metadata authentication is used (SAS Token Authentication), then standard workspace servers run under a configured user ID, referred to as launch credentials.
    • stored process servers and pooled workspace servers
      These servers start under a configured user ID, referred to as launch credentials. Typically, this user ID is the SAS Spawned Servers user (sassrv, by default).
  • initiate the operator interface
    When a connection is made on the port or service that is identified as the operator port or operator service in the spawner definition, the spawner initiates the administration interface. Only one administrator can be active at a given time.
  • balance the server workload between server processes by using load balancing