Several backends are available for CUPS: parallel, serial, SCSI, and USB ports, as well as network backends that operate via the Internet Printing Protocol (HTTP, HTTPS, and IPP), JetDirect (AppSocket port 9100), Line Printer Daemon (LPD), CIFS (which used to be called SMB) protocols, and more. PDF generators are also available. These backends usually live in the directory /usr/lib/cups/backend, and can be compiled programs or scripts written in any scripting language, such as Perl or Python.
The backend is always the last program executed for processing a print job. Table 18-1 lists the most popular backends.
CIFS (Common Internet Filesystem, the protocol Microsoft Windows-based systems use for file and printer communication across a network)
see the smbspool(8) manpage