IPP>PRO comments on CPAP

IPP>PRO comments on CPAP

IPP>PRO comments on CPAP

Robert Herriot Robert.Herriot at Eng.Sun.COM
Thu May 8 21:09:05 EDT 1997


I just read over the CPAP spec (a March 1992 version). 


I am making a few comments to help with a discussion before the meeting
next week.


In CPAP a client opens a connection (e.g TCP/IP) and sends a series
of operations. The syntax for CPAP (simplified) is:
   Integer-opcode Sequence-Number Length blank Data


The Data may be raw data (e.g. document data) or a sequence of
attributes in the form:  name=string-value^A  (control A ends each value. 
The send-data operation sends raw data. Most of the other operations
send attributes.


A typical session is (from the CPAP document) with each operation
explicity named:


   client action         server action
   create circuit                           
                         accept circuit
   start session
                         reply
   identify user 
   start document
                         reply
   open circuit returned
                         accept circuit
   send data
   disconnect circuit
   end document


  < repeat from start document above for more documents >


   end of job
                         reply
   <repeat of above >
   disconnect circuit


There are many operations and they include ones for management.  


I like some ideas and not others in CPAP.


On the downside CPAP opens a new circuit for sending document data for
each document (for Level II). Level I does not, but the document advises
the use of Level II.  This seems to have all the HTTP problems of too much
TCP build/ tear-down traffic.




On the good side, CPAP looks slightly more compact because of its
integer opcode and length. But the biggest savings in terms of
processing may be that the server knows that the operations are
in the context of the session and doesn't have to re-establish context
with each operation.  For example, out SendJob currently contains
the job-URL. This seems redundant if the server knows from the preceding
CreateJob what job it is expecting to receive data.


My take is that there are some good ideas in CPAP that are worth
using, but I wonder if the PWG wants to take it as a whole. 


Bob Herriot



More information about the Ipp mailing list