Pre-release documentation - subject to change.

The CopiaFacts Enhanced TOSEND Queues feature is available for use by customers who have licensed the Job Administration feature.  Its principal purpose is to allow greater flexibility and control in the scheduling of broadcast jobs.  Some of the benefits which this feature provides are:

integration with 'active code' destination-specific processing to pull out specific phone numbers, e-mail addresses or domains to different queues which will apply special processing or special routing

increasing the number of job-size thresholds and assigning jobs more flexibly to different queues by job size

the use of special queues for selected customers, to be given higher (or lower priority) than other work.

automating load management by switching queue loads between nodes to match different load scenarios

improved load-balancing by weakening the tie between TOSEND number and priority

the ability to allocate more fax queues, for example to nodes either with fax boards or with IP ports

the ability to split fax calls to different queues by destination type, such as domestic/international

allocating low-priority queues to fewer processing nodes, to slow down throughput

allocating special high-priority queues for 'the first N items in a job'

allocating specific nodes to handle errors and/or retries.

The following concepts introduced by this feature:

More TOSEND Queues

Instead of a limit of 16 queues (TOSEND, and TOSEND1 to TOSEND15), queues numbered up to 99 may be defined.  This allows queues to be selected for specific purposes and with specific defined properties suited to the type of work.  Although this has been possible without the enhanced TOSEND queues feature, the pressure on available queues has severely limited their use.

Fair TOSEND Priority Allocation

This feature is available as an option for all users, without the license requirements of the Enhanced TOSEND Queues.  Priority for outbound resources, when using the Enhanced TOSEND Queues feature, is no longer determined by effectively draining one queue before work in lower priority queues is started.  Instead a quota is defined for each queue, and all the queues are traversed in turn, taking for processing from each queue only a the number of transactions specified by its quota.  A second quota can optionally be specified to limit the number of items skipped in a queue, for queues which may contain very large numbers of items which are not ready for processing.

This new Priority mechanism provides fine control over the relative priority of different queues.

TOSEND Queue Properties

Each TOSEND queue must be defined with the following property set:

Queue Type: currently, the only queue type implemented is a Folder containing FS files.

Queue Content:  to avoid significant processing inefficiency when a queue contains work of different types, it is strongly recommended that each queue should be reserved for only one type of work, in categories Fax, EMail, Voice, VSP, SMS.  In addition a Queue Content value of Misc can be specified, which should be used when a queue is to handle items such as failures and job maintenance operations, and also a value of F+V for use when lines are configured to handle both fax and voice traffic.  Finally a value of Multiple is available when no checking is required to match work to queue content: this can lead to significant inefficiency and it is recommended that each queue be reserved for a specific type of work.

Queue Status: A queue will have status Unassigned if its number is higher than the maximum number currently configured on the $request_dir command.  It will have status Active if is in active use.  Otherwise a queue may be set to a status of Suspended, which will result in no processing node taking work from the queue, or to a status of Substituted, which will result in any job launches using a substitute queue while the existing items in the queue are allowed to continue processing.

Queue Substitute:  A substitute queue number may be specified for queue a suspended or substituted state; in the latter case a substitute queue number is of course required.  The presence of a substitute queue causes launches and retries to use the substitute queue.  This would normally be a temporary measure while the queue specifications for launch are being modified.

Queue Description:  With a larger number of queues, it is recommended that notes on the intended use of the queue are kept.

The Management program CFSCHEDULE is used to maintain these properties.

TOSEND Queue Schedule

A named TOSEND Queue Schedule comprises up to 16 queues together with their current quota settings.  A schedule can be assigned to one or more COPIAFACTS Engine processing nodes.  Changes to a schedule affect all its associated processing nodes.  A processing node can use only one schedule at a time.  The COPIAFACTS program on each node can view details of the node's current schedule, but not change it.

The processing nodes sharing a schedule will normally be of the same type: most nodes with fax boards might share one schedule, and nodes processing e-mail, without fax boards, would share another schedule.

The Management program CFSCHEDULE is used to maintain the schedules.  Some validation is also performed, so that for example a node with no fax boards or ports cannot be assigned a schedule with a TOSEND queue which contains only fax content.

Job TOSEND Folder Set

A Job TOSEND Folder Set is the set of TOSEND folders which are in use for a specific job instance.  Its principal purpose is to limit the number of different folders in which job items will be found, avoiding the need to scan all 100 possible folders.  However pre-defining a set of folders for a job also allows them to be validated, so that for example an SMS job is not launched into a TOSEND queue used for e-mail.  The availability of many more TOSEND folders makes this type of error more likely to occur than when only a limited number are available.

In SYSTEM, OWNER, and JOBTYPE properties a $job_tosend_set command is optional.  When present it supplies the name of a pre-defined named set which allows standard groupings of folders to be easily allocated for specific owners and job types.  The Management program CFSCHEDULE is used to maintain these named sets.  At job creation time, and before launch, any named and pre-defined job TOSEND sets from System, Owner and JobType properties are aggregated and validated to create a simple list of TOSEND queues which is placed on a generated job instance $job_tosend_set command.  In job instance properties, this command takes a folder number list, not a name.

When no named, pre-defined folder sets have been specified in the creation of a job instance, it will be limited to the default job TOSEND folder set, which consists of folders TOSEND1 up to the lower of 15 and the number specified as the maxtosend parameter on the $request_dir configuration command.

As the job is created, its set is extended to include all the TOSEND folder numbers in use for its launch or retry folders.  However when the job is launched, the launch will fail if the job instance specifies folder numbers which are not in its TOSEND set.

The TOSEND folder is never included in a job TOSEND folder set, though it may be used for some job tasks.

Configuring TOSEND Folders

The topic Configuring TOSEND Folders gives some practical examples of how to configure and manage TOSEND folders in different Job Administration scenarios.