attachment-0001

<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:x="urn:schemas-microsoft-com:office:excel" xmlns:st1="urn:schemas-microsoft-com:office:smarttags" xmlns="http://www.w3.org/TR/REC-html40">

<head>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=us-ascii">
<meta name=Generator content="Microsoft Word 11 (filtered medium)">
<o:SmartTagType namespaceuri="urn:schemas-microsoft-com:office:smarttags"
 name="PostalCode"/>
<o:SmartTagType namespaceuri="urn:schemas-microsoft-com:office:smarttags"
 name="State"/>
<o:SmartTagType namespaceuri="urn:schemas-microsoft-com:office:smarttags"
 name="City"/>
<o:SmartTagType namespaceuri="urn:schemas-microsoft-com:office:smarttags"
 name="Street"/>
<o:SmartTagType namespaceuri="urn:schemas-microsoft-com:office:smarttags"
 name="address"/>
<o:SmartTagType namespaceuri="urn:schemas-microsoft-com:office:smarttags"
 name="place"/>
<o:SmartTagType namespaceuri="urn:schemas-microsoft-com:office:smarttags"
 name="PersonName"/>
<!--[if !mso]>
<style>
st1\:*{behavior:url(#default#ieooui) }
</style>
<![endif]-->
<style>
<!--
 /* Style Definitions */
 p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:12.0pt;
        font-family:"Times New Roman";}
p.MsoBodyText, li.MsoBodyText, div.MsoBodyText
        {margin-top:6.0pt;
        margin-right:0in;
        margin-bottom:6.0pt;
        margin-left:0in;
        font-size:12.0pt;
        font-family:"Times New Roman";}
a:link, span.MsoHyperlink
        {color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {color:purple;
        text-decoration:underline;}
p.MsoPlainText, li.MsoPlainText, div.MsoPlainText
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:10.0pt;
        font-family:"Courier New";}
p.vtableentry, li.vtableentry, div.vtableentry
        {margin:0in;
        margin-bottom:.0001pt;
        line-height:12.0pt;
        page-break-after:avoid;
        font-size:12.0pt;
        font-family:"Times New Roman";}
p.vtableheading, li.vtableheading, div.vtableheading
        {margin-top:6.0pt;
        margin-right:0in;
        margin-bottom:6.0pt;
        margin-left:0in;
        page-break-after:avoid;
        font-size:12.0pt;
        font-family:"Times New Roman";}
@page Section1
        {size:8.5in 11.0in;
        margin:1.0in 77.95pt 1.0in 77.95pt;}
div.Section1
        {page:Section1;}
-->
</style>

</head>

<body lang=EN-US link=blue vlink=purple>

<div class=Section1>

<p class=MsoPlainText><font size=2 color=blue face=Arial><span
style='font-size:10.0pt;font-family:Arial;color:blue'>Ira,<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 color=blue face=Arial><span
style='font-size:10.0pt;font-family:Arial;color:blue'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoPlainText><font size=2 color=blue face=Arial><span
style='font-size:10.0pt;font-family:Arial;color:blue'>Thanks for the replies.<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 color=blue face=Arial><span
style='font-size:10.0pt;font-family:Arial;color:blue'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoPlainText><font size=2 color=blue face=Arial><span
style='font-size:10.0pt;font-family:Arial;color:blue'>So the Printer MUST check
all of the jobs that have been requested, BEFORE canceling any to see if any
are NOT owned by the user.&nbsp; If any are NOT owned by the user, then NONE are
canceled.&nbsp; Sounds good and that check doesn&#8217;t have any race conditions.<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 color=blue face=Arial><span
style='font-size:10.0pt;font-family:Arial;color:blue'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoPlainText><font size=2 color=blue face=Arial><span
style='font-size:10.0pt;font-family:Arial;color:blue;background:red'>ISSUE</span></font><font
color=blue face=Arial><span style='font-family:Arial;color:blue;background:
yellow'>: OK to say that the Printer MUST return the list that are NOT owned in
the same &quot;job-ids&quot; (1setOf integer(1:MAX)) operation attribute in the
response?</span></font><font color=blue face=Arial><span style='font-family:
Arial;color:blue'><o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 color=blue face=Arial><span
style='font-size:10.0pt;font-family:Arial;color:blue'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoPlainText><font size=2 color=blue face=Arial><span
style='font-size:10.0pt;font-family:Arial;color:blue'>There is a second kind of
error that could occur for a subset of the specified jobs that are owned by the
user.&nbsp; The jobs could be in the wrong state.&nbsp; RFC 2911 Cancel-Job has the
following error table based on the state of the specified job:<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoBodyText style='margin-left:.5in'><font size=3
face="Times New Roman"><span style='font-size:12.0pt'>The IPP object MUST
accept or reject the request based on the job's current state and transition
the job to the indicated new state as follows:<o:p></o:p></span></font></p>

<table class=MsoNormalTable border=0 cellspacing=0 cellpadding=0
 style='margin-left:54.9pt;border-collapse:collapse'>
 <thead>
  <tr>
   <td width=156 valign=top style='width:117.0pt;border:solid windowtext 1.0pt;
   padding:0in 5.4pt 0in 5.4pt'>
   <p class=vtableheading><font size=3 face="Times New Roman"><span lang=EN-GB
   style='font-size:12.0pt'>Current &quot;job-state&quot;<o:p></o:p></span></font></p>
   </td>
   <td width=144 valign=top style='width:1.5in;border:solid windowtext 1.0pt;
   border-left:none;padding:0in 5.4pt 0in 5.4pt'>
   <p class=vtableheading><font size=3 face="Times New Roman"><span lang=EN-GB
   style='font-size:12.0pt'>New &quot;job-state&quot;<o:p></o:p></span></font></p>
   </td>
   <td width=324 valign=top style='width:243.0pt;border:solid windowtext 1.0pt;
   border-left:none;padding:0in 5.4pt 0in 5.4pt'>
   <p class=vtableheading><font size=3 face="Times New Roman"><span lang=EN-GB
   style='font-size:12.0pt'>IPP object's response status code and action:<o:p></o:p></span></font></p>
   </td>
  </tr>
 </thead>
 <tr>
  <td width=156 valign=top style='width:117.0pt;border:solid windowtext 1.0pt;
  border-top:none;padding:0in 5.4pt 0in 5.4pt'>
  <p class=vtableentry><font size=3 face="Times New Roman"><span lang=EN-GB
  style='font-size:12.0pt'>'pending'<o:p></o:p></span></font></p>
  </td>
  <td width=144 valign=top style='width:1.5in;border-top:none;border-left:none;
  border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
  padding:0in 5.4pt 0in 5.4pt'>
  <p class=vtableentry><font size=3 face="Times New Roman"><span lang=EN-GB
  style='font-size:12.0pt'>'canceled'<o:p></o:p></span></font></p>
  </td>
  <td width=324 valign=top style='width:243.0pt;border-top:none;border-left:
  none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
  padding:0in 5.4pt 0in 5.4pt'>
  <p class=vtableentry><font size=3 face="Times New Roman"><span lang=EN-GB
  style='font-size:12.0pt'>'successful-ok'<o:p></o:p></span></font></p>
  </td>
 </tr>
 <tr>
  <td width=156 valign=top style='width:117.0pt;border:solid windowtext 1.0pt;
  border-top:none;padding:0in 5.4pt 0in 5.4pt'>
  <p class=vtableentry><font size=3 face="Times New Roman"><span lang=EN-GB
  style='font-size:12.0pt'>'pending-held'<o:p></o:p></span></font></p>
  </td>
  <td width=144 valign=top style='width:1.5in;border-top:none;border-left:none;
  border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
  padding:0in 5.4pt 0in 5.4pt'>
  <p class=vtableentry><font size=3 face="Times New Roman"><span lang=EN-GB
  style='font-size:12.0pt'>'canceled'<o:p></o:p></span></font></p>
  </td>
  <td width=324 valign=top style='width:243.0pt;border-top:none;border-left:
  none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
  padding:0in 5.4pt 0in 5.4pt'>
  <p class=vtableentry><font size=3 face="Times New Roman"><span lang=EN-GB
  style='font-size:12.0pt'>'successful-ok'<o:p></o:p></span></font></p>
  </td>
 </tr>
 <tr>
  <td width=156 valign=top style='width:117.0pt;border:solid windowtext 1.0pt;
  border-top:none;padding:0in 5.4pt 0in 5.4pt'>
  <p class=vtableentry><font size=3 face="Times New Roman"><span lang=EN-GB
  style='font-size:12.0pt'>'processing'<o:p></o:p></span></font></p>
  </td>
  <td width=144 valign=top style='width:1.5in;border-top:none;border-left:none;
  border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
  padding:0in 5.4pt 0in 5.4pt'>
  <p class=vtableentry><font size=3 face="Times New Roman"><span lang=EN-GB
  style='font-size:12.0pt'>'canceled'<o:p></o:p></span></font></p>
  </td>
  <td width=324 valign=top style='width:243.0pt;border-top:none;border-left:
  none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
  padding:0in 5.4pt 0in 5.4pt'>
  <p class=vtableentry><font size=3 face="Times New Roman"><span lang=EN-GB
  style='font-size:12.0pt'>'successful-ok'<o:p></o:p></span></font></p>
  </td>
 </tr>
 <tr>
  <td width=156 valign=top style='width:117.0pt;border:solid windowtext 1.0pt;
  border-top:none;padding:0in 5.4pt 0in 5.4pt'>
  <p class=vtableentry><font size=3 face="Times New Roman"><span lang=EN-GB
  style='font-size:12.0pt'>'processing'<o:p></o:p></span></font></p>
  </td>
  <td width=144 valign=top style='width:1.5in;border-top:none;border-left:none;
  border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
  padding:0in 5.4pt 0in 5.4pt'>
  <p class=vtableentry><font size=3 face="Times New Roman"><span lang=EN-GB
  style='font-size:12.0pt'>'processing'<o:p></o:p></span></font></p>
  </td>
  <td width=324 valign=top style='width:243.0pt;border-top:none;border-left:
  none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
  padding:0in 5.4pt 0in 5.4pt'>
  <p class=vtableentry><font size=3 face="Times New Roman"><span lang=EN-GB
  style='font-size:12.0pt'>'successful-ok'&nbsp; See Rule 1<o:p></o:p></span></font></p>
  </td>
 </tr>
 <tr>
  <td width=156 valign=top style='width:117.0pt;border:solid windowtext 1.0pt;
  border-top:none;padding:0in 5.4pt 0in 5.4pt'>
  <p class=vtableentry><font size=3 face="Times New Roman"><span lang=EN-GB
  style='font-size:12.0pt'>'processing'<o:p></o:p></span></font></p>
  </td>
  <td width=144 valign=top style='width:1.5in;border-top:none;border-left:none;
  border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
  padding:0in 5.4pt 0in 5.4pt'>
  <p class=vtableentry><font size=3 face="Times New Roman"><span lang=EN-GB
  style='font-size:12.0pt'>'processing'<o:p></o:p></span></font></p>
  </td>
  <td width=324 valign=top style='width:243.0pt;border-top:none;border-left:
  none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
  padding:0in 5.4pt 0in 5.4pt'>
  <p class=vtableentry><font size=3 face="Times New Roman"><span lang=EN-GB
  style='font-size:12.0pt'>'client-error-not-possible'&nbsp; <br>
  See Rule 2<o:p></o:p></span></font></p>
  </td>
 </tr>
 <tr>
  <td width=156 valign=top style='width:117.0pt;border:solid windowtext 1.0pt;
  border-top:none;padding:0in 5.4pt 0in 5.4pt'>
  <p class=vtableentry><font size=3 face="Times New Roman"><span lang=EN-GB
  style='font-size:12.0pt'>'processing-stopped'<o:p></o:p></span></font></p>
  </td>
  <td width=144 valign=top style='width:1.5in;border-top:none;border-left:none;
  border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
  padding:0in 5.4pt 0in 5.4pt'>
  <p class=vtableentry><font size=3 face="Times New Roman"><span lang=EN-GB
  style='font-size:12.0pt'>'canceled'<o:p></o:p></span></font></p>
  </td>
  <td width=324 valign=top style='width:243.0pt;border-top:none;border-left:
  none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
  padding:0in 5.4pt 0in 5.4pt'>
  <p class=vtableentry><font size=3 face="Times New Roman"><span lang=EN-GB
  style='font-size:12.0pt'>'successful-ok'<o:p></o:p></span></font></p>
  </td>
 </tr>
 <tr>
  <td width=156 valign=top style='width:117.0pt;border:solid windowtext 1.0pt;
  border-top:none;padding:0in 5.4pt 0in 5.4pt'>
  <p class=vtableentry><font size=3 face="Times New Roman"><span lang=EN-GB
  style='font-size:12.0pt'>'processing-stopped'<o:p></o:p></span></font></p>
  </td>
  <td width=144 valign=top style='width:1.5in;border-top:none;border-left:none;
  border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
  padding:0in 5.4pt 0in 5.4pt'>
  <p class=vtableentry><font size=3 face="Times New Roman"><span lang=EN-GB
  style='font-size:12.0pt'>'processing-stopped'<o:p></o:p></span></font></p>
  </td>
  <td width=324 valign=top style='width:243.0pt;border-top:none;border-left:
  none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
  padding:0in 5.4pt 0in 5.4pt'>
  <p class=vtableentry><font size=3 face="Times New Roman"><span lang=EN-GB
  style='font-size:12.0pt'>'successful-ok'&nbsp; See Rule 1<o:p></o:p></span></font></p>
  </td>
 </tr>
 <tr>
  <td width=156 valign=top style='width:117.0pt;border:solid windowtext 1.0pt;
  border-top:none;padding:0in 5.4pt 0in 5.4pt'>
  <p class=vtableentry><font size=3 face="Times New Roman"><span lang=EN-GB
  style='font-size:12.0pt'>'processing-stopped'<o:p></o:p></span></font></p>
  </td>
  <td width=144 valign=top style='width:1.5in;border-top:none;border-left:none;
  border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
  padding:0in 5.4pt 0in 5.4pt'>
  <p class=vtableentry><font size=3 face="Times New Roman"><span lang=EN-GB
  style='font-size:12.0pt'>'processing-stopped'<o:p></o:p></span></font></p>
  </td>
  <td width=324 valign=top style='width:243.0pt;border-top:none;border-left:
  none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
  padding:0in 5.4pt 0in 5.4pt'>
  <p class=vtableentry><font size=3 face="Times New Roman"><span lang=EN-GB
  style='font-size:12.0pt'>'client-error-not-possible'&nbsp; <br>
  See Rule 2<o:p></o:p></span></font></p>
  </td>
 </tr>
 <tr>
  <td width=156 valign=top style='width:117.0pt;border:solid windowtext 1.0pt;
  border-top:none;padding:0in 5.4pt 0in 5.4pt'>
  <p class=vtableentry><font size=3 face="Times New Roman"><span lang=EN-GB
  style='font-size:12.0pt'>'completed'<o:p></o:p></span></font></p>
  </td>
  <td width=144 valign=top style='width:1.5in;border-top:none;border-left:none;
  border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
  padding:0in 5.4pt 0in 5.4pt'>
  <p class=vtableentry><font size=3 face="Times New Roman"><span lang=EN-GB
  style='font-size:12.0pt'>'completed'<o:p></o:p></span></font></p>
  </td>
  <td width=324 valign=top style='width:243.0pt;border-top:none;border-left:
  none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
  padding:0in 5.4pt 0in 5.4pt'>
  <p class=vtableentry><font size=3 face="Times New Roman"><span lang=EN-GB
  style='font-size:12.0pt'>'client-error-not-possible'<o:p></o:p></span></font></p>
  </td>
 </tr>
 <tr>
  <td width=156 valign=top style='width:117.0pt;border:solid windowtext 1.0pt;
  border-top:none;padding:0in 5.4pt 0in 5.4pt'>
  <p class=vtableentry><font size=3 face="Times New Roman"><span lang=EN-GB
  style='font-size:12.0pt'>'canceled'<o:p></o:p></span></font></p>
  </td>
  <td width=144 valign=top style='width:1.5in;border-top:none;border-left:none;
  border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
  padding:0in 5.4pt 0in 5.4pt'>
  <p class=vtableentry><font size=3 face="Times New Roman"><span lang=EN-GB
  style='font-size:12.0pt'>'canceled'<o:p></o:p></span></font></p>
  </td>
  <td width=324 valign=top style='width:243.0pt;border-top:none;border-left:
  none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
  padding:0in 5.4pt 0in 5.4pt'>
  <p class=vtableentry><font size=3 face="Times New Roman"><span lang=EN-GB
  style='font-size:12.0pt'>'client-error-not-possible'<o:p></o:p></span></font></p>
  </td>
 </tr>
 <tr>
  <td width=156 valign=top style='width:117.0pt;border:solid windowtext 1.0pt;
  border-top:none;padding:0in 5.4pt 0in 5.4pt'>
  <p class=vtableentry><font size=3 face="Times New Roman"><span lang=EN-GB
  style='font-size:12.0pt'>'aborted'<o:p></o:p></span></font></p>
  </td>
  <td width=144 valign=top style='width:1.5in;border-top:none;border-left:none;
  border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
  padding:0in 5.4pt 0in 5.4pt'>
  <p class=vtableentry><font size=3 face="Times New Roman"><span lang=EN-GB
  style='font-size:12.0pt'>'aborted'<o:p></o:p></span></font></p>
  </td>
  <td width=324 valign=top style='width:243.0pt;border-top:none;border-left:
  none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
  padding:0in 5.4pt 0in 5.4pt'>
  <p class=vtableentry><font size=3 face="Times New Roman"><span lang=EN-GB
  style='font-size:12.0pt'>'client-error-not-possible'<o:p></o:p></span></font></p>
  </td>
 </tr>
</table>

<p class=MsoNormal style='margin-left:1.0in'><font size=2 color=navy
face=Arial><span style='font-size:10.0pt;font-family:Arial;color:navy'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoBodyText style='margin-left:1.0in'><font size=3
face="Times New Roman"><span style='font-size:12.0pt'>Rule 1:&nbsp; If the
implementation requires some measurable time to cancel the job in the
'processing' or 'processing-stopped' job states, the IPP object MUST add the
'processing-to-stop-point' value to the job's &quot;job-state-reasons&quot;
attribute and then transition the job to the 'canceled' state when the
processing ceases (see section 4.3.8).<o:p></o:p></span></font></p>

<p class=MsoBodyText style='margin-left:1.0in'><font size=3
face="Times New Roman"><span style='font-size:12.0pt'>Rule 2:&nbsp; If the Job
object already has the 'processing-to-stop-point' value in its
&quot;job-state-reasons&quot; attribute, then the Printer object MUST reject a
Cancel-Job operation.<o:p></o:p></span></font></p>

<p class=MsoBodyText style='margin-left:1.0in'><i><font size=3
face="Times New Roman"><span style='font-size:12.0pt;font-style:italic'>Access
Rights:</span></font></i> The authenticated user (see section 8.3) performing
this operation must either be the job owner or an operator or administrator of
the Printer object (see Sections 1 and 8.5).&nbsp; Otherwise, the IPP object
MUST reject the operation and return: 'client-error-forbidden',
'client-error-not-authenticated', or 'client-error-not-authorized' as
appropriate.<o:p></o:p></p>

<p class=MsoNormal><font size=2 color=blue face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:blue;background:red'>ISSUE</span></font><font
size=2 color=blue face=Arial><span style='font-size:10.0pt;font-family:Arial;
color:blue;background:yellow'>: OK to say that after checking that all of the
jobs are owned by the requesting user (unless the requesting user is the
operator), the Printer MUST return the &#8216;client-error-not-possible&#8217; for any jobs
that are not in a state that [RFC 2911] Section 3.3.3 Cancel-Job allows to be
canceled and MUST indicate which jobs cannot be canceled in the &#8220;job-ids&#8221; operation
attribute return in the response.</span></font><font size=2 color=blue
face=Arial><span style='font-size:10.0pt;font-family:Arial;color:blue'><o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=blue face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:blue'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal><font size=2 color=blue face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:blue'>Or should we say that all of the jobs MUST
be in a cancelable state, else none of the jobs are canceled (but still the
Printer MUST return the list that are not cancelable in &#8220;job-ids&#8221;).&nbsp; I favor
the former, since one of the jobs that the user wants to cancel may have just
completed, so the user would have to resupply the request removing those jobs
that have completed.<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=blue face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:blue'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal><font size=2 color=blue face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:blue'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal><font size=2 color=blue face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:blue'>Thanks,<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=blue face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:blue'>Tom<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'>-----Original Message-----<br>
From: Ira McDonald [mailto:blueroofmusic@gmail.com] <br>
Sent: Thursday, October 08, 2009 10:32<br>
To: <st1:PersonName w:st="on">tom.hastings@alum.mit.edu</st1:PersonName>; Ira
McDonald<br>
Cc: ipp@pwg.org<br>
Subject: Re: [IPP] Updated (new) Cancel-Jobs, enhanced Get-Jobs and Purge-Jobs
uploaded - some issues needing resolution Thursday</span></font></p>

<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'>Hi Tom,<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'>My comments are inline below.<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'>Except to note that the operation attribute<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'>is correctly named &quot;job-ids&quot; (singular &quot;job&quot;<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'>and plural &quot;ids&quot;).&nbsp; Please make sure to get<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'>this right.<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'>Cheers,<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'>- Ira<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'>Ira McDonald (Musician / Software Architect)<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'>Chair - Linux Foundation Open Printing WG<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'>Blue Roof Music/High North Inc<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'>email: blueroofmusic@gmail.com<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'>winter:<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'>&nbsp; <st1:address w:st="on"><st1:Street w:st="on">579 Park Place</st1:Street>&nbsp;
 <st1:City w:st="on">Saline</st1:City>, <st1:State w:st="on">MI</st1:State>&nbsp; <st1:PostalCode
 w:st="on">48176</st1:PostalCode></st1:address><o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'>&nbsp; 734-944-0094<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'>summer:<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'>&nbsp; <st1:address w:st="on"><st1:Street w:st="on">PO Box</st1:Street> 221</st1:address>&nbsp;
Grand <st1:place w:st="on"><st1:City w:st="on">Marais</st1:City>, <st1:State
 w:st="on">MI</st1:State> <st1:PostalCode w:st="on">49839</st1:PostalCode></st1:place><o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'>&nbsp; 906-494-2434<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'>On Thu, Oct 8, 2009 at 3:58 AM, Tom Hastings
&lt;tom.hastings@verizon.net&gt; wrote:<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'>&gt; I&#8217;ve uploaded v8 of the new Cancel-Jobs, enhanced Get-Jobs and
Purge-Jobs<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'>&gt; uploaded at:<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'>&gt;<o:p>&nbsp;</o:p></span></font></p>

<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'>&gt;
ftp://ftp.pwg.org/pub/pwg/ipp/wd/Cancel-Jobs-Get-Jobs-Purge-Jobs-enhancements-v8-20091007.doc<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'>&gt;<o:p>&nbsp;</o:p></span></font></p>

<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'>&gt;
ftp://ftp.pwg.org/pub/pwg/ipp/wd/Cancel-Jobs-Get-Jobs-Purge-Jobs-enhancements-v8-20091007.pdf<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'>&gt;<o:p>&nbsp;</o:p></span></font></p>

<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'>&gt;<o:p>&nbsp;</o:p></span></font></p>

<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'>&gt;<o:p>&nbsp;</o:p></span></font></p>

<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'>&gt; I&#8217;d like to get resolutions Thursday, as I finish the rest of Set
2 on<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'>&gt; Thursday.<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'>&gt;<o:p>&nbsp;</o:p></span></font></p>

<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'>&gt;<o:p>&nbsp;</o:p></span></font></p>

<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'>&gt;<o:p>&nbsp;</o:p></span></font></p>

<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'>&gt; ISSUES for the new Cancel-Jobs operation are:<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'>&gt;<o:p>&nbsp;</o:p></span></font></p>

<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'>&gt;<o:p>&nbsp;</o:p></span></font></p>

<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'>&gt;<o:p>&nbsp;</o:p></span></font></p>

<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'>&gt; ISSUE: OK that the Printer MUST ignore &#8220;jobs-ids&#8221; if &#8220;my-jobs&#8221; =
&#8216;true&#8217; is<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'>&gt; supplied, rather than reject the request and return the<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'>&gt; &#8216;client-error-bad-request&#8221; status?<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'>&gt;<o:p>&nbsp;</o:p></span></font></p>

<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'>&lt;ira&gt; Yes, OK - a legacy Printer wouldn't understand
&quot;job-ids&quot; (in Get-Jobs)<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'>and would ignore it, so the above is the right behavior.<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'>&lt;/ira&gt;<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'>&gt;<o:p>&nbsp;</o:p></span></font></p>

<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'>&gt;<o:p>&nbsp;</o:p></span></font></p>

<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'>&gt; ISSUE: OK that the Printer MUST reject a request that does NOT
specify a<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'>&gt; list of jobs and does NOT specify &#8220;my-jobs&#8221; = &#8216;true&#8217;?&nbsp; What
if the<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'>&gt; requesting user is the operator?&nbsp; Should this case cancel all
jobs?<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'>&gt;<o:p>&nbsp;</o:p></span></font></p>

<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'>&gt; In other words, is it OK that the Cancel-Jobs operation does not
allow the<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'>&gt; Operator to cancel all jobs?<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'>&gt;<o:p>&nbsp;</o:p></span></font></p>

<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'>&lt;ira&gt; Cancel-Jobs is NEW, so we can make it solid.&nbsp; Missing
required<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'>operation attributes must be a client error - it's NOT desirable that<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'>Cancel-Jobs be able to cancel *all* jobs.<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'>&lt;/ira&gt;<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'>&gt;<o:p>&nbsp;</o:p></span></font></p>

<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'>&gt;<o:p>&nbsp;</o:p></span></font></p>

<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'>&gt; ISSUE: OK that the Printer cancels the ones owned, but not the
ones not<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'>&gt; owned?&nbsp; Then the Printer can repeatedly perform Cancel-Job
operations on<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'>&gt; each job in the list, rather than checking the entire list before
canceling<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'>&gt; any<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'>&gt;<o:p>&nbsp;</o:p></span></font></p>

<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'>&lt;ira&gt; No, bad choice.&nbsp; The Printer MUST immediately check that
all members<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'>of &quot;job-ids&quot; are owned by the end user (if not operator or
admin requester),<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'>so that it returns a privilege error and does NOT cancel ANY jobs.<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'>&lt;/ira&gt;<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'>&gt;<o:p>&nbsp;</o:p></span></font></p>

<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'>&gt;<o:p>&nbsp;</o:p></span></font></p>

<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'>&gt;<o:p>&nbsp;</o:p></span></font></p>

<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'>&gt;<o:p>&nbsp;</o:p></span></font></p>

<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'>&gt; ISSUES for the Get-Jobs enhancement:<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'>&gt;<o:p>&nbsp;</o:p></span></font></p>

<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'>&gt;<o:p>&nbsp;</o:p></span></font></p>

<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'>&gt;<o:p>&nbsp;</o:p></span></font></p>

<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'>&gt; ISSUE: OK that the Printer MUST ignore &#8220;jobs-ids&#8221; if &#8220;my-jobs&#8221; =
&#8216;true&#8217; is<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'>&gt; supplied, rather than reject the request and return the<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'>&gt; &#8216;client-error-bad-request&#8221; status?<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'>&gt;<o:p>&nbsp;</o:p></span></font></p>

<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'>&lt;ira&gt; Yes, OK - this is compatibile with legacy Printers that
don't understand<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'>(and must ignore) &quot;job-ids&quot;.<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'>&lt;/ira&gt;<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'>&gt;<o:p>&nbsp;</o:p></span></font></p>

<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'>&gt;<o:p>&nbsp;</o:p></span></font></p>

<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'>&gt; Thanks,<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'>&gt;<o:p>&nbsp;</o:p></span></font></p>

<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'>&gt; Tom<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'>&gt;<o:p>&nbsp;</o:p></span></font></p>

<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'>&gt;<o:p>&nbsp;</o:p></span></font></p>

<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'>&gt;<o:p>&nbsp;</o:p></span></font></p>

<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'>&gt; --<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'>&gt; This message has been scanned for viruses and<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'>&gt; dangerous content by MailScanner, and is<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'>&gt; believed to be clean.<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'>&gt; _______________________________________________<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'>&gt; ipp mailing list<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'>&gt; ipp@pwg.org<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'>&gt; https://www.pwg.org/mailman/listinfo/ipp<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'>&gt;<o:p>&nbsp;</o:p></span></font></p>

<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'>&gt;<o:p>&nbsp;</o:p></span></font></p>

</div>

<br />-- 
<br />This message has been scanned for viruses and
<br />dangerous content by
<a href="http://www.mailscanner.info/"><b>MailScanner</b></a>, and is
<br />believed to be clean.
</body>

</html>