Printing with MetaFrame Presentation Server 3 0 Citrix Global Escalation team Citrix Systems Inc Agenda • Basic Printing • Printer Properties • MetaFrame Printing • Print Drive

Document Sample
Printing with MetaFrame Presentation Server 3 0 Citrix Global Escalation team Citrix Systems Inc Agenda • Basic Printing • Printer Properties • MetaFrame Printing • Print Drive Powered By Docstoc
					Printing with MetaFrame
Presentation Server 3.0


Citrix Global Escalation team
Citrix Systems, Inc.
Agenda


• Basic Printing

• Printer Properties

• MetaFrame Printing

• Print Driver Management

• Changes in MPS4

• Useful Utilities
Basic Printing: Flowchart


            Application



                    GDI        Print Driver UI


           Winspool.drv


            Spoolss.dll


                                  Localspl.dll
        Win32spl.dll Network
           Print Provider
Demo1: Local vs Remote Printers



 •Spooling and De-Spooling
    •Printing to a Local Print Queue
    •Printing to a Remote print Queue
Basic Printing: Flowchart

       Win32spl.dll Network          Localspl.dll
          Print Provider

                          Spool      Print Job Creation API
                           File
                                      Job Scheduling API

                                     Job Scheduler Thread


                                  Language Monitor


                                  Local Port Monitor

                 Kernel-Mode Port Driver Stack


           Print Server           Local Printer Port
                                     (LPT / TCP)
Printer Properties: Client Side


  • Win32
  • WinCE
  • Unix
  • Mac
  • Java
Printer Properties


                     • Document Settings




• Device Settings
Printer Properties: Win32

 • Printer User Interface (on local client)
    – Locally Attached (Locally Spooled)
        • HP LaserJet 4000 Series PCL6
        • Toshiba e-Studio3511
        • Microsoft Office Document Image Writer
    – Locally Defined (Remotely Spooled)
        • Agfa-AccuSet v52.3 on Print Server NT40TSE-ENT
Printer Properties: Win32

 • Auto-created (Requires the client network)
    – Locally Defined
        • Network print queue.. Info stored in the user’s profile
Printer Properties: Win32

 • Auto-created (Requires the client network)
    – Locally Attached
        • LPT / USB port
        • TCP Port
        • Info stored in HKLM
Printer Properties: Win32




 • Default Printer
Printer Properties: Windows CE

•Limited user interface
•Locally attached printer information is
retained in the client’s registry
•Printer information specified via the CMC and
retained in the DS
•Windows based printing
•LPT port redirection
Printer Properties: Windows CE
Printer Properties: Unix

• Solaris Sparc & Linux
     • Universal Print Driver
         • Uses HP Post Script driver
         • Finds client printers in \etc\printcap
           lp stat response, PRINTER variable
     • Wfclient or Module.ini entries

• HP-UX, AIX, SGI, Solaris x86
     • Wfclient.ini or Module.ini entries
         • ClientPrinterList=Printer1:Printer2
         • Default Printer=Printer2
         • DefaultPrinterDriver=HP LaserJet 4
     • Only one autocreated printer
     • Other client network printers can be mapped in the session
Printer Properties: Mac & Java


• Mac OSX
   – UPD 1&2 PCL4 / PCL5c


• Java Client
   – Universal Printing support (UPD1)
      • J2SE1.4 to support the Java Print Service API
   – Default printer must be specified
   – Mac OSX does not support the Java Print Service API
MetaFrame Controls:Listener vs. CMC
       Which setting wins???

 • The listener can disable printing
 • The Policy can override on specifics such as
   autocreate “All Printers” or only the “Client’s Default”.
    MetaFrame Controls: Routing


•   Remote Office: CA




•   Headquarters: FL




                        • Traveling User:?
MetaFrame Controls:Routing


• IMA Policies applied per filter
 MetaFrame Controls:Routing

• Support up to 32 Virtual Channels
   – 512 K History buffer for data reduction
• CTXCPM Windows Based Printing
   – Managed by CDM.SYS
   – Bandwidth Adjustable




                       ICA Session
Demo 2:Passthrough Printing

       ICA Session        ICA Session


              Incorrect




              Correct




                              Document ID:CTX101803
MetaFrame Controls:LAN Routing


                              • SMB Printing Path
                              • No Compression / Reduction
 3       2: SMB                  – User Settings NOT retained
                     1:ICA



                                                    ICA
• Client Network Printing                        Session
• ICA Protocol
     – Compresion/Reduction
     – Bandwidth Control               SMB
  MetaFrame Controls:WAN Routing

• Headquarters: FL
                             Client Network Printing

                       ICA
                              • Remote Office: CA
                 SMB

     Direct Printing

                                         SMB

Which is better???                    TCP
Follow the Print Job: Server Side

    Application



            GDI      Print Driver


    Winspool.drv


    Spoolss.dll


1. The application formats the print job using
   the driver’s specifications
2. Winspool.drv enumerates the printers
3. Spoolss.dll routes the print job
Follow the Print Job : Server Side

                                   •LPT port redirection print jobs
       Spoolss.dll ( Router )


Win32spl.dll Network Print
                                Localspl.dll           Cdmprov.dll
        Provider




                        •Windows Based printing via the spooler
                        •Client Network
•Network printing
•Autoconnected printers
•Imported Print Queues
Follow the Print Job : Server Side

     Win32spl.dll Network Print
                                       Localspl.dll                      Cdmprov.dll
              Provider


                                           Print Job Creation API
                           Spool
                            File              Job Scheduling API

                                           Job Scheduler Thread


                                   Language Monitor


                      Local Port Monitor          Cpmmon.dll (Citrix Port Monitor)


          Kernel-Mode Port Driver Stack                             Cdm.sys



                         Local Printer Port                                     •To the ICA
      Print Server                                     Network Drivers             client
                           (LPT / TCP)
   Follow the Print Job: Client Side
                                        Spoolss.dll ( Router )



                                            Localspl.dll         Win32spl.dll Network Print
                                                                          Provider

•The ICA client                                             Print Job Creation API
                                          Spool
 engine hands                              File              Job Scheduling API
off to the local
                                                            Job Scheduler Thread
 client spooler          Wfica32.exe



 •The print job            VDSPL.lib                Language Monitor

   works up           PCL4Rast.dll
through the ica                                            Local Port Monitor

     client              VDCPM30N.dll
                                                            Kernel-Mode Port Driver Stack




                                                Local Printer Port
   •From the server   Network Driver
                                                  (LPT / TCP)
                                                                             Print Server
Demo3: Common Diagnostics Facility


   • Access Suite Console Discovery
   • Tracing setup
   • Parsing the trace output
Printer Autocreation: CDF Tracing


                       Step 1:
                       Run Discovery



                          Step 2:
                          Start Trace Session
Printer Autocreation: CDF Tracing


        Step 3:Select a predefined tracing file
          OR Create your own.
Printer Autocreation: CDF Tracing

        Step 4: Parse the binary output using .tmf files.
MetaFrame Printing: Autocreation


                          • Client informs the server what virtual
                            channels it supports.
 Session Initialization
                          • Wfshell: IMA flags are checked
                             – Per server or per farm restrictions
               NO
                             – Check for Feature Release license
     Autocreated
       Printers
      Allowed?
                          • Ctxlogon:
                             – Asynchronous or Synchronous
    YE
         S
                          • Wfshell:
  Organized Printer          – List the client side printers
        Data
                             – Get the user’s SID
                             – Check user’s profile for printer info
MetaFrame Printing: Autocreation

• User’s profile server-side (First Login)
   – DevModePerUser
       • ICA client name: FTLRJAMESW10B




                           •Note: HKCU\Printers\Citrix does NOT
                               contain client network printer
                                        information.
MetaFrame Printing: Autocreation

 • User’s profile server-side (Next Login)
    – DevModePerUser copied to ..\Citrix\DevModes2
    – ..\Citrix/client/clientname#/Printername\PrinterDriverData




                                   •Note: HKCU\Printers\Citrix now
                                  contains client network printer info.
Printer Autocreation: Server Side

             • Wfshell:
  Printer
  Already       – Checks to see if the printer is allowed
  Exist?        – Determines if printer info from the profile should
                  be used
 NO             – Checks for the printer in
                  HKLM\SYS\CCS\Cntrl\Print\Printers
 Approved?      – Calls are made to build the printer
    OR
  Mapped?    • Cdmprov.dll: Calls into Spoolsv.exe
                – Locates the server driver
 YES
                    • Wtsuprn.inf Parsed first, takes precedence
                          • Parsed 8 ways
                    • Wtsprnt.inf Replaced by IMA during replication
                          • PrinterName
                          • DriverName
Printer Autocreation: Server Side

• Cdmprov.dll: Calls into Spoolsv.exe
   – Locates the server driver
       • Registry HKLM\SYS\CCS\CNTRL\Print\Environments\Windows NT
         x86\Drivers\Version-3\printer model name
   – Silent Install
       • PrintUIEntry /ia /m “printer model name” /q
       • Queries \winnt\inf\ ntprint.inf to build the printer
       • MF XP FR3 can disable this feature via the CMC



      Driver Match       NO                               YES   Build Print
                                      Silent Install?
      in Registry?                                               Queue



     YES
Session Initialization

                           Autocreation: Server Side
                     NO
   Autocreated
 Printers Allowed?

                                                                      • FR2
   YES
                                                                         – A driver can only be
     Organized
    Printer Data
                                                                           mapped OR restricted.
                                                                      • FR3 & MPS 3.0
  Printer Already
                     YES
                                               End Process
                                                                         – A print driver can be
      Exist?                                                               restricted AND Mapped
      NO                                                                 – Silent install can be
                                                   YES                     disabled.
    Approved?        NO                                          NO
                                                   Additional
       OR
                                                   Printers?
     Mapped?


    YES
                                  NO


  Driver Match in    NO                      YES   Build Print
                           Silent Install?
     Registry?                                      Queue


     YES
Demo 4: Printer Auto-creation



    • IMA Flags
    • Printer Enumeration
    • Mapping Files
What’s the point?



• IMA Flags are checked to designate functionality
• CDF tracing reveals the identity of the printers on
  the client
• Mappings files have their place but use them
  sparingly.
Imported Print Servers

Print server                    MPS Server


                 Printer Info                IMA Svc




       \\Printserver\Lexmark          Data Store
                                        -LHC is updated
       \\Printserver\HP4000
Imported Print Servers

 • CTXTrace 5.7
    – Profiling captures the IMA communication
       • Data store
       • Dynamic store
       • Local host cache
   Imported Print Servers: MPS 3.0

• CDF tracing while importing print server 192.168.1.103
Imported Print Servers



                            •   Print server name


                            •   Printer devMode


                            •   Printer share name


                            •   User list



                         DSView.exe
Imported Print Servers

      “Update” refreshes the printer data from the print
       server. This allows the print server’s data to be
    updated, such as a new print driver without problem.
Imported Print Servers

• User’s settings ARE retained
• Client device independent
• Uses SMB protocol
   – No ICA compression or bandwidth limit
Driver Management

• Three types of drivers (Native, Vendor Provided, Universal)
   – Standard Drivers
       • Model Specific
           • Windows Native (ntprint.inf /driver.cab)
           • Vendor Provided
   – Universal
       • UPD1 PCL4
       • UPD2 PCL5c,PS
       • Coming soon UPD Next Generation
• Driver installation
   – Replicated
       • MetaFrame
       • Print Migrator
   – Command line
       • Print UI Entry
   – Point and Print
Demo 5: Driver management


• Driver Compatibility Setting
• Point and Print
  – Group Policy
  – File Permissions
Universal Print Driver(UPD)

“People can have the Model T in any colour--so long as it's
                        black.”
                                             Henry Ford




 •Similar to the first version of the Universal
 Print Driver….Any color as long as its black.
Universal Printdriver (UPD)

 • Introduced with FR2
    – 300dpi / Monochrome
    – Based on the HP LaserJet II driver
    – Uses PCL4 format
    – Requires Win32 ICA client 6.20 or higher
 • Updated with FR3
    – 600dpi
    –   Color
    –   Based on the HP LaserJet 4500
    –   Uses PCL5c format
    –   Requires ICA client 7.00 or higher
 • Added support for Linux and Solaris
    – Uses entries from the \etc\printcap or lpstat response
    – Uses the Post Script version of the Color LaserJet 5 PS driver
               Universal Printdriver(UPD)

                     •Print driver formats the data from
                                the application.
UPD Print Driver        •Formatted document sent to the
 •MetaFrame Server     client in PCL4/PCL5c or PS format.
 •ICA Client
Client side “Rasterizer”     •The graphic is presented to
                                  the client spooler.
     Client side print spooler

                        •The picture is formatted and
                      spooled to the print device per the
                              local print driver.
Universal Printdriver(UPD) 8.0 vs 7.1

                                     ICA Client 7.10
                               96.3MB Client-side Spool File




                                      ICA Client 8.0
                               24.6 MB Client-side Spool File




•Bmp file generated at the client from the PCL code by PCL4rast.dll
Universal Printdriver(UPD)


• Registry entries
  – HKLM\SW\Citrix\UniversalPrintDrivers\
     • Driver List: PCL4;PCL5c;PS
     • \PCL4
         • HP LaserJet Series II
     • \PCL5c
         • HP Color Laser Jet 4500
     • \PS (For Unix / Linux Clients)
         • HP Color LaserJet PS
  – HKLM\Sys\CCS\Control\Print\Environments\Drivers
     • \Version-3
         • HP LaserJet Series II
         • HP Color LaserJet 4500
         • HP Color LaserJet PS
New With MPS4


• Citrix Print Service
   – User mode
   – Reduced from 6 binaries to 2
   – Extended policies
   – Client side printer state
   – Smarter compression
• Universal Print driver
   – Basic EMF printing
   – Client side preview
   – Client side printer properties
New Print Manager Service
                       Print Spooler

   Remote printer
     Services



      Core       Server           Client Printer    Printer Mgt.
      Svc.                       Management &        Services
             Printer                 Policies
        Stream
                                   Client Printer
                                                      Spooler
                                      Events
          VDSPL Protocol                              Events
                                     Manager


                 Virtual         • Exploded view of cpsvc.exe
                Channel
 Print Data Reduction – MPS 4.0


• Print data streams are pre-compressed by CpSvc.exe


                              {ICA Session}
                                   …
                             CTXCPM
                         CTXTWI
                    CTXCCM
            CTXTW                  • User-mode pageable memory
                                   • Larger history buffer
                                     (up to 8MB)
                                   • History buffer reused by
                                     subsequent print jobs
   Advanced Universal Printing

         Application
                                                      • EMF – Enhanced MetaFile
                GDI                 UPD U/I              – Native graphics metafile format
                                                           for Windows
                                                         – A recording of GDI calls used to
        Winspool.drv                                       draw something

                                                      • Windows spool file format
        SpoolSS.dll
                                                         – One EMF per page
                                                         – Embedded job info, document
 Network               Local Spooler (LocalSpl.dll)
  Printing
                                                           settings, and fonts
 Win32.spl                                               – Sent directly to remote printer
                                                           server when for network
                                                           printing
Network Print
   Server                      CpProc.dll CpMon.dll
Universal printing architecture

     • Windows spool file is routed intact to the client
        – GDI creating spool file
        – CPPROC.DLL intercepts spool file
        – CPMON.DLL routes spool
          data to CPSVC.EXE
        – CPSVC.EXE compresses and
          streams to client
        – WFICA32.EXE uncompresses
          and writes to temp file
        – CPVIEWER.EXE prints/previews job
Utilities


            •PrintUIEntry
            •Print Migrator3
            •SMC Console
            •Project Compatibility(FR3)
PrintUIEntry

• Rundll32 printui,PrintUIEntry /?
Demo 6: PrintUI Entry

• Installing print drivers from a command line




        Before                         After
 Utilities: Print Migrator3


• Print Migrator3 from Microsoft
   – Allows all the print driver info to be
     saved to a cab file
   – Allows a print server to be replicated
     in a test environment
   – Allows Citrix Support to replicate the
     customer’s printing environment
     down to the exact files
Utilities: Print Migrator
Utilities: SMC Console


• SMC console from Citrix CDN
   – Allows a live session’s bandwidth
     to be temporarily limited to test
     the impact of BW restrictions for
     Printing.
   – Provides real time insight on the
     Virtual channel usage.
• Citrix.com/cdn
   – Citrix Server SDK ver 3.0
Demo: SMC Console
Utilities:Project Compatibility

• Project Compatibility
  http://www.dabcc.com
• Not developed by Citrix
                                       Data
• Written using the Citrix SDKs
• Aggregates event viewer info from
  the servers
• Dynamically sets printer mappings
• Reads and Writes to the data store
Utilities:Project Compatibility

                                  • FR3 supported by
                                    Version 3.0
                                  • DABCC.com
Before we wrap it up……any questions?
Wrap it up……


• Local and remote spooling.
• Defined document and device settings.
• User profiles at the client and server
• Print job routing. Which path is better?
• Printer autocreation step by step, process by process.
• CDF tracing. The key to really see what’s going on.
• Driver management. How the drivers get installed.
• Universal Print driver
• Improvements in MPS4
• Utilities to make life easier.
Thank You

				
DOCUMENT INFO
Shared By:
Categories:
Stats:
views:29
posted:3/7/2011
language:English
pages:69
Description: Job Application Fl document sample