14.1 Multiple GanttRouters
Set Up
The meta-router
If multiple GanttRouters are to be configured one GanttRouter is designated as the "meta-router": its role is to act as the single point of contact for Gantt Clients. The meta-router will redirect the Gantt Clients to another GanttRouter via which the Gantt Client connects to the required FRU. The meta-router will not itself act as a router directly connecting a Gantt Client to an FRU unless no other GanttRouter is available.
Configuring GanttRouter Components
Each GanttRouter, including the designated meta-router, is configured as a component in DB table database sp400_components. See section 14.1 System Start Up for more details.
Mapping GanttRouters to FRUs
The component hierarchy determining which GanttRouters are mapped to which FRUs is defined in DB table database sp401_component_hierarchy. When setting up this mapping:
- The designated meta-router must be mapped to all FRUs.
- Each FRU must be mapped to at least one other GanttRouter as well as the meta-router.
The recommended configuration is to map all GanttRouters to all FRUs. This allows the meta-router complete flexibility when load balancing between GanttRouters and FRUs, makes it easier to add or remove FRUs, and provides maximum redundancy in the event of GanttRouter becoming unavailable.
Advantages
Multiple Gantt Routers can give a number of advantages:
- An individual GanttRouter can have no more than 1000 connected Gantt Clients (see Static Data). Configuring more than one GanttRouter allows more than 1000 Gantt Clients to be connected to the ServicePower instance.
- An individual GanttRouter has a maximum throughput in terms of its ability to route messages between FRUs and Gantt Clients. This limit is dependent on OS, CPU, memory, number of Gantt Clients and level of scheduling activity. Configuring more than one GanttRouter allows the limit to be overcome.
- Spreading the Gantt Clients across more than one GanttRouter reduces the impact in the event of a GanttRouter failure: only those Gantt Clients currently connected via that GanttRouter are affected.
For example suppose the following components are configured in sp400_components:
component_id | component_no |
APIAgent | 100 |
GanttRouter1 (designated meta-router) | 200 |
GanttRouter2 | 201 |
GanttRouter3 | 202 |
FRU_North | 400 |
FRU_South | 401 |
FRU_West | 402 |
FRU_East | 403 |
FRU_Central | 404 |
Then the following is the recommended configuration in sp401_component_hierarchy:
component_no | is_client_of |
100 | 400 |
100 | 401 |
100 | 402 |
100 | 403 |
100 | 404 |
200 | 400 |
200 | 401 |
200 | 402 |
200 | 403 |
200 | 404 |
201 | 400 |
201 | 401 |
201 | 402 |
201 | 403 |
201 | 404 |
202 | 400 |
202 | 401 |
202 | 402 |
202 | 403 |
202 | 404 |
If there is a requirement to control the load balancing between GanttRouters and FRUs, then GanttRouters (other than the meta-router) can be mapped to a subset of the FRUs. This does however make it harder to add or remove FRUs and limits redundancy.
Following on from the previous example, the following configuration would map GanttRouter2 to just 2 FRUs and GanttRouter3 to the other 3:
component_no | is_client_of |
100 | 400 |
100 | 401 |
100 | 402 |
100 | 403 |
100 | 404 |
200 | 400 |
200 | 401 |
200 | 402 |
200 | 403 |
200 | 404 |
201 | 400 |
201 | 401 |
202 | 402 |
202 | 403 |
202 | 404 |