Class of Service (COS) Definitions

COS entries are defined in the CONFIG DD statement in the same library that defines the node entries.

In the platform server COS definitions, you can define the following functions:
  • The buffer sizes that are passed between the platform server and VTAM/TCP.
  • The time of day that transfers can be run.
  • For TCP requests, you can throttle transfer of data to or from a node. In other words, you can set a maximum number of bytes per second that can be sent to or received from a node.
    Note: This is only useful for TCP transfers because SNA already has a class of service feature that you can use to prioritize data traffic.

COS entries can be enabled at startup if they are contained in the node startup list. Additionally they can be enabled through the ENABLE operator command and disabled through the DISABLE operator command.

If a COS entry is defined for a file transfer, and the COS entry is not disabled, the transfer can run as if no COS entry is defined.
Note: If transfers are assigned a COS entry, they are not assigned a priority. The priority defined within the COS entry changes when the time of the transfer changes. A transfer can be assigned a priority of 9 when running early in the morning. If the transfer runs long enough, the priority might be changed to another value based on the parameters in the COS entry.

Additional node parameters are required to perform TCP throttling of data sent and received. For more information, see BPS_INIT, BPS_RECEV, BPS_RESP, BPS_SEND, BPS_TOTAL, DEFAULT_COSNAME.

The COS definitions can be divided to two sections. The first section describes the required parameters and the parameters that define the buffer sizes that are passed between the platform server and TCP/VTAM.

See the following table for the parameters in the first section:

Parameter Description
TYPE Distinguishes between NODE entries and COS entries.

This is a required parameter. You must set the value as COS.

SBUFSIZE Defines the buffers size in bytes that the platform server uses when sending data to VTAM or TCP.

This is an optional parameter. The valid values are from 1490 to 256000. The default value is 32000, which is a proper value for most transfers.

By specifying a larger value, you save CPU cycles at the cost of using more storage. You might want to specify a value lower than 32000 if you want to throttle transfers to a very slow level.

RBUFSIZE Defines the buffers size in bytes that the platform server uses when receiving data from VTAM or TCP.

This is an optional parameter. The valid values are from 1490 to 256000. The default value is 32000, which is a proper value for most transfers.

By specifying a larger value, you save CPU cycles at the cost of using more storage. You might want to specify a value lower than 32000 if you want to throttle transfers to a very slow level.

The second section describes the parameters that define the time period when a file transfer can run, and throttle the transfer of data to and from TCP. These parameters must be on the same line in the documented order. You must define all of the parameters.

You can define up to nine lines of the following parameters for a single COS definition. If you attempt to have more than nine entries, an error message is displayed and the COS definition is not enabled. If you do not want to use some of the parameters, you can use the default values as shown in the following sample:

DAYS=YYYYYYY,STIME=0000,ETIME=2400,PRIORITY=9

This field is broken into four parameters. The first three parameters DAYS, STIME and ETIME are filter parameters, while the fourth parameter PRIORITY defines the priority that is used when the current time passes the filters.

See the following table for the descriptions of the four parameters:
Parameter Description
DAYS Defines the days of the week.

This parameter must have 7 digits that are either Y or N. These digits stand for the days of the week through Sunday to Saturday.

When specified as Y, it means that this entry is active for that day of the week, and the platform server continues checking the STIME and ETIME parameter.

STIME Defines the start time to check.

It is defined in military time from 0000 to 2400.

ETIME Defines the end time to check.

It is defined in military time from 0000 to 2400 and must be greater than the start time.

PRIORITY Defines the priority associated with a file transfer if the current day and time passes all the filter parameters: DAYS, STIME and ETIME.
The valid values are the following 10 priorities:
  • 0: no priority. The transfer cannot run or be started. If a transfer is running and the priority changes to 0, then terminates the transfer and starts again later when the priority is greater than 1.
  • 1: low priority. The transfer cannot be started. If a transfer is running and the priority changes to 1, then the transfer can continue to run. When throttling transfers, sends the data to the node at 25% of the total number of TCP bytes that can be transferred per second.
  • 2: low priority. Transfers can be scheduled. When throttling transfers, sends the data to the node at 25% of the total number of TCP bytes that can be transferred per second.
  • 3: low priority. Transfers can be scheduled. When throttling transfers, sends the data to the node at 50% of the total number of TCP bytes that can be transferred per second.
  • 4: low priority. Transfers can be scheduled. When throttling transfers, sends the data to the node at 75% of the total number of TCP bytes that can be transferred per second.
  • 5: medium priority. Transfers can be scheduled. When throttling transfers, sends the data to the node at 100% of the total number of TCP bytes that can be transferred per second.
  • 6: medium priority. Transfers can be scheduled. When throttling transfers, sends the data to the node at 133% of the total number of TCP bytes that can be transferred per second.
  • 7: medium priority. Transfers can be scheduled. When throttling transfers, sends the data to the node at 166% of the total number of TCP bytes that can be transferred per second.
  • 8: high priority. Transfers can be scheduled. When throttling transfers, sends the data to the node at 200% of the total number of TCP bytes that can be transferred per second.
  • 9: no maximum priority. Transfers can be scheduled. No throttling of transfers is performed.
See the following copy of the COSDFLT entry that is provided in the platform server SAMPLIB library:
***********************************************************************
* SAMPLE COS (CLASS OF SERVICE) ENTRY: COSDFLT                        *
***********************************************************************
TYPE=COS                              Defines that this is a COS entry 
SBUFSIZE=32000                        Sets the TCP SEND Buffer Size    
RBUFSIZE=32000                        Sets the TCP RECEIVE Buffer Size 
***********************************************************************
* Parameters that limit file transfer speed                           *
* Up to 9 lines can be defined per class of service                   *
* Parameters must be on the same line in the defined order:           *
* DAYS=xxxxxxxx (Y or N)      Days of the week starting with Sunday   *
* STIME=xxxx    (hhmm)        Start time (0000-2359)                  *
* ETIME=xxxx    (hhmm)        End   time (0000-2359)                  *
* PRIORITY=x    (0-9)         Priority                                *
***********************************************************************
*   The following line sets high priority 7 days a week 24 hours/day
DAYS=YNNNNNY,STIME=0000,ETIME=2359,PRIORITY=9    High priority  7x24   
*   The following lines sets high priority all day Sunday/Saturday   
*   They are currently commented out                                 
*DAYS=YNNNNNY,STIME=0000,ETIME=2359,PRIORITY=9    High Sun/Sat  7x24
*   The following lines sets different priorities for Monday-Friday   
DAYS=NYYYYYN,STIME=0000,ETIME=0700,PRIORITY=9    High Mid-7AM        
DAYS=NYYYYYN,STIME=0700,ETIME=0900,PRIORITY=5    Medium 7-9AM        
DAYS=NYYYYYN,STIME=0900,ETIME=1700,PRIORITY=0    Do not Run 9-5pm    
DAYS=NYYYYYN,STIME=1700,ETIME=1900,PRIORITY=5    Medium 5-7pm        
DAYS=NYYYYYN,STIME=1900,ETIME=2359,PRIORITY=9    High 7-12mid

This COS definition sets the send and receive buffer sizes to 32000. The priority is set to 9 (high) for all transfers running on Saturday and Sunday. The last five lines set different priorities for transfers running on Monday through Friday.

  • For transfers running between midnight and 7 a.m., the priority is set to 9.
  • For transfers running between 7 a.m. and 9 a.m., the priority is set to 5.
  • For transfers running between 9 a.m. and 5 p.m., the priority is set to 0.
  • For transfers running between 5 p.m. and 7 p.m., the priority is set to 5.
  • For transfers running between 7 p.m. and midnight, the priority is set to 9.