This document details the network usage of the Print Director suite of applications. The objective is to understand the network protocols used, how much data is transferred, and what effect any link breaks would have on the different components.

Data usage

Print spool data

A significant percentage of network bandwidth is used by print spool data. For this reason, Print Director is designed to minimise any data overhead to the normal printing environment. It avoids adding any extra hops to the spool data, and it doesn’t inflate the spool data in any significant way.

Print Server environments

In print server environments, the PDAgent application controls the print queues on the server, and distributes the jobs based on the ‘follow me’ settings directly from the server to the printers. The PDAgent application is not required to be installed on the users’ PCs unless popup notifications are required.

Non-print server environments

In non-print server environments (direct-to-IP printing), the PDAgent application is installed on the users’ PCs. The application is 2.5MB and can be rolled out via Group Policy. When the user prints, the spool data waits on their PC (depending on the ‘follow me’ settings). The PDServer is notified of the waiting job so it can be displayed on the printer panel when the user logs in to the printer. When the user selects ‘release’ at the printer, the data is sent directly from the user’s PC to the printer.

SQL Transactions

Print Director uses Microsoft SQL Server as its database platform. Only transactional data is recorded. No images or print spool data is stored. Only metadata is recorded for billing and reporting purposes (e.g. document names, page counts, phones calls, etc).

Print Director services cache all authentication data to minimise requests to the database. Caches are cleared on a user specified schedule which can be extended or reduced as desired.

Embedded printer applications

The embedded software on the printers connect to the PDServer module using SOAP web services. Communication is always asynchronous, and no polling occurs. SOAP data is transferred only when users login to the printers and perform functions. The SOAP data contains transactional information and does not contain any images.

Inter-module communication

The only modules that communicate with each other are the PDServer and PDAgent services. The PDAgent interfaces with the Windows Spooler and notifies the PDServer of jobs arriving. Normally there is a PDServer and PDAgent service on the same server. In this case, no network resources are used. If, however, Follow-Me printing is required between more than one print server, there will be a PDServer on one server that will need to communicate with PDAgents on other servers.

This communication uses RAW sockets and binary serialisation. This results in a negligible effect on bandwidth.

Active Directory Synchronisation

Print Director can be configured to import user information from the Active Directory. This aids in placing users into the correct Departments and fills in their email addresses and full names. Other fields can be imported such as PIN number, phone extension, card number, etc.

The amount of bandwidth used by this sync depends on the size of the Organisational Unit from which the sync is configured to import. It also depends on how often the sync is configured to run. Normally, the sync is configured to execute every hour. However, if bandwidth is a concern, the frequency of the scheduled task can be reduced to once a day or even once a week. Approximately 1KB is retrieved from the domain server per user object.

Link breakages

If the connection to the SQL Server from PD Services is broken

If the link to the SQL Server is broken, the PDServer and PDAgent services will continue operating as normal. These services maintain a local MS Access database that contains all authentication data required for operation. When the link to the central SQL Server breaks, they move into Offline operation. All transactions (prints, copies, phone calls) are written to the local database. Once the software detects that the link to the central SQL Server is re-established, it automatically batches the locally cached transactions to the central database. Users will be completely unaware of any link problem.

Note that multiple PDServers can be installed at different regional sites. These PDServers can serve the embedded printers local to that site. If the WAN link to the central SQL database is lost, users will still be able to perform Follow Me printing on printers local to that site.

If the connection to SQL Server from reporting and configuration modules is broken

These modules require a working link to the SQL Server and cannot be used while the link is down.

If the Link between printers and PDServer is broken

The printers cannot receive spool data and users will not be able to log in while the link to the PDServer is unavailable.

If the Link between PDServer and PDAgents is broken

On the rare occasions that the PDServer and PDAgent is not running on the same server (e.g. Follow-Me between multiple print servers), users will not be able to release print jobs sent to print servers that cannot connect to the PDServer to which the printer is connected.