Hitachi

uCosminexus Application Server Expansion Guide


3.3.3 CTM daemon

A CTM daemon is a process that has scheduler functionality. It manages and schedules requests from clients.

Important note

To start a CTM daemon as a Windows service, specify -Dvbroker.orb.isNTService=true as a startup command option.

CTM daemons receive requests from clients via processes called CTM regulators. For details about the CTM regulator, see 3.3.4 CTM regulator.

Note that the functionality of CTM daemons is configured by specifying arguments for the ctmstart command executed at startup of CTM daemons. In a system set up by using the management portal, configuration can be completed by using logical CTM beforehand.

A CTM daemon manages requests in the following sequence:

  1. Distributing requests

  2. Registering requests in a schedule queue

  3. Calling business-processing programs

  4. Returning results

The above steps are described below.

Organization of this subsection

(1) Distributing requests

When a CTM daemon receives a request, it manages the request by itself or distributes the request to another CTM daemon, based on the load status of the CTM daemons.

The CTM daemons exchange their own load information with each other. When a CTM daemon receives a request, the CTM daemon determines which CTM daemon will manage the request based on the shared load information.

The CTM daemons in a certain range of area (called a CTM domain) share information about the business-processing programs contained in J2EE applications that the CTM daemons manage. The shared information is registered in the global CORBA Naming Service on the hosts on which the CTM daemons exist. If a CTM daemon receives a request to execute a business-processing program that the CTM daemon does not manage, the shared information allows the CTM daemon to distribute the request to the appropriate CTM daemon.

For details about the global CORBA Naming Service, see 3.3.6 Global CORBA Naming Service. For details about CTM domains, see 3.3.5 CTM domains and CTM domain managers.

CTM daemons distribute requests based on the create-based selection policy or schedule policy.

Both the create-based selection policy and schedule policy allow you to select which of the following types of distribution is used during startup of CTM daemons:

For when the create-based selection policy or schedule policy is applied, see 3.8 Load balancing of requests.

The schedule policy is specified by using the -CTMDispatchPolicy argument of the ctmstart command. The create-based selection policy is specified by using the -CTMCreatePolicy argument of the ctmstart command.

Request transfer timeout

A timeout can be set for the request transfer processing between CTM daemons. The timeout can be specified by using the -CTMDCSendTimeOut option of the ctmstart command.

(2) Registering requests in a schedule queue

Requests distributed based on the schedule policy are registered in the schedule queue. The maximum number of requests that can be registered in the schedule queue is set at startup of CTM daemons. If the maximum number of transferable requests is exceeded, an error is returned to the client. If a maximum number of requests (queue length) is not set, 50 is set by default.

The length of the queue in which requests can be registered is specified by using the -CTMMaxRequestCount argument of the ctmstart command at startup of CTM daemons. In a system set up by using the management portal, the queue length can be set beforehand by using logical CTM. For details about the ctmstart command, see ctmstart (start CTM daemon) in the uCosminexus Application Server Command Reference Guide.

(3) Calling business-processing programs

Requests registered in the schedule queue call business-processing programs on J2EE servers managed by CTM daemons. These requests do not call business-processing programs on abnormally-terminated J2EE servers or hung business-processing programs.

(4) Returning results

After requests are processed, replies from business-processing programs (enterprise beans) are returned to the clients via CTM daemons. If the time period during which a request is in the schedule queue exceeds the request timeout, the request is discarded.