attachment-0001


<br><font size=2 face="sans-serif">Our early proposed WSDL had an &quot;Execute&quot;
operation and I know this was rejected as too generic. &nbsp;I'm pleased
where the set of operations has evolved to and fully support the alignment
with IPP Admin. Great idea! However, we still feel we need</font>
<br><font size=2 face="sans-serif">1. A code download mechanism</font>
<br><font size=2 face="sans-serif">2. An extensibility mechanism</font>
<br>
<br><font size=2 face="sans-serif">Right now, we feel &quot;Execute&quot;
would be a good choice to satisfy both. Open for comment. </font>
<br><font size=2 face="sans-serif">----------------------------------------------
<br>
Harry Lewis <br>
Chairman - IEEE-ISTO Printer Working Group<br>
http://www.pwg.org<br>
IBM Printing Systems <br>
http://www.ibm.com/printers<br>
303-924-5337<br>
---------------------------------------------- </font>
<br>
<br>
<br>
<table width=100%>
<tr valign=top>
<td width=40%><font size=1 face="sans-serif"><b>&quot;McDonald, Ira&quot;
&lt;imcdonald@sharplabs.com&gt;</b> </font>
<br><font size=1 face="sans-serif">Sent by: owner-wbmm@pwg.org</font>
<p><font size=1 face="sans-serif">07/30/2003 12:02 PM</font>
<td width=59%>
<table width=100%>
<tr>
<td>
<div align=right><font size=1 face="sans-serif">To</font></div>
<td valign=top><font size=1 face="sans-serif">&quot;'wbmm@pwg.org'&quot;
&lt;wbmm@pwg.org&gt;</font>
<tr>
<td>
<div align=right><font size=1 face="sans-serif">cc</font></div>
<td valign=top>
<tr>
<td>
<div align=right><font size=1 face="sans-serif">Subject</font></div>
<td valign=top><font size=1 face="sans-serif">WBMM&gt; More about WBMM
operations</font></table>
<br>
<table>
<tr valign=top>
<td>
<td></table>
<br></table>
<br>
<br>
<br><font size=2><tt>Hi Bill, &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp;Wednesday (30 July 2003)<br>
<br>
Comments on operations set in the minutes from last week's WBMM meeting.<br>
<br>
Cheers,<br>
- Ira McDonald<br>
 &nbsp;High North Inc<br>
<br>
----------------------------------------<br>
<br>
<br>
7. Other simplifications were apparent so that the current operations<br>
 &nbsp; set is:<br>
<br>
<br>
Disable - Prevents the addressed entity to from accepting jobs from any<br>
job submission protocol.<br>
<br>
<br>
Enable - Allows the addressed entity to accept jobs from any job<br>
submission protocol.<br>
<br>
<br>
Pause - Causes the entity to stop processing its primary product (e.g.,<br>
a printing device from marking media, a scanning device from scanning<br>
input copy). &nbsp;There may be a need for an argument to address the &quot;now&quot;,<br>
&quot;after current copy&quot; and &quot;after current job&quot; variations.<br>
<br>
<br>
Resume - undoes the last Pause.<br>
<br>
<br>
Deactivate - entity accepts no more incoming jobs (the original<br>
definition deactivate is unclear - further the distinction between<br>
Disable and Deactivate is vague.)<br>
<br>
&lt;ira&gt;<br>
Deactivate is a compound operation to avoid a tricky race condition. &nbsp;It<br>
combines Disable and Pause in one atomic operation. &nbsp;It's defined
in IPP<br>
Admin (draft-ietf-ipp-ops-set2-03.txt, July 2001) as follows:<br>
<br>
3.4.1 Deactivate-Printer operation<br>
<br>
 &nbsp; This OPTIONAL operation allows a client to stop the Printer object<br>
 &nbsp; from starting to send IPP jobs to any of its Output Devices or<br>
 &nbsp; Subordinate Printers (Pause-Printer-After-Current-Job) and stop
the<br>
 &nbsp; Printer object from accepting any, but query requests. &nbsp;The
Printer<br>
 &nbsp; performs a Disable-Printer and a Pause-Printer-After-Current-Job<br>
 &nbsp; operation immediately, including use of all of the &quot;printer-state-<br>
 &nbsp; reasons&quot; if these two operations cannot be completed immediately.
&nbsp;In<br>
 &nbsp; addition, the Printer MUST immediately reject all requests, except<br>
 &nbsp; Activate-Printer, queries (Get-Printer-Attributes, Get-Job-<br>
 &nbsp; Attributes, Get-Jobs, etc.), Send-Document, and Send-URI (so that<br>
 &nbsp; partial job submission can be completed - see section 3.1.1) and<br>
 &nbsp; return the 'server-error-service-unavailable' status code.<br>
&lt;/ira&gt;<br>
<br>
<br>
Activate - undoes the last Deactivate<br>
<br>
<br>
Purge - Removes all traces of jobs in the entity<br>
<br>
<br>
Reset - Sets the state of the entity to the normalized condition<br>
characterizing the state when the entity first comes up.<br>
<br>
&lt;ira&gt;<br>
IPP Admin defines the Restart and Startup operations:<br>
<br>
3.5.1 Restart-Printer operation<br>
<br>
 &nbsp; This OPTIONAL operation allows a client to restart a Printer object<br>
 &nbsp; whose operation is in need of initialization because of incorrect
or<br>
 &nbsp; erratic behavior, i.e., perform the effect of a software re-boot.<br>
 &nbsp; The implementation MUST attempt to save any information about Jobs<br>
 &nbsp; and the Printer object before re-initializing. &nbsp;However, this<br>
 &nbsp; operation MAY have drastic consequences on the running system,
so the<br>
 &nbsp; client SHOULD first try the Deactivate-Printer operation to minimize<br>
 &nbsp; the effect on the current state of the system. &nbsp;The effects
of<br>
 &nbsp; previous Disable-Printer, Pause Printer, and Deactivate-Printer<br>
 &nbsp; operations are lost.<br>
<br>
3.5.3 Startup-Printer operation<br>
<br>
 &nbsp; This OPTIONAL operation allows a client to startup an instance
of a<br>
 &nbsp; Printer object, provided that there isn't one already instantiated.<br>
 &nbsp; The purpose of Startup-Printer is to allow a hosted implementation
of<br>
 &nbsp; the IPP Printer object (i.e., a Server that implements an IPP Printer<br>
 &nbsp; on behalf of a networked or local Output Device) to be started
after<br>
 &nbsp; the host is available (by means outside this document). &nbsp;See
Restart-<br>
 &nbsp; Printer (section 3.5.1) for the way to initialize the software
or<br>
 &nbsp; reset the Output Device(s) when the IPP Printer object has already<br>
 &nbsp; been instantiated.<br>
<br>
 &nbsp; The host MUST accept this operation only when the Printer object
has<br>
 &nbsp; not been instantiated. &nbsp;If the Printer object already exists,
the<br>
 &nbsp; host must return the 'client-error-not-possible' status code.<br>
<br>
 &nbsp; The result of this operation MUST be with the Printer object's<br>
 &nbsp; &quot;printer-state&quot; set to 'idle', the state reasons removed
from its<br>
 &nbsp; &quot;printer-state-reasons&quot; attribute, and its &quot;printer-is-accepting-<br>
 &nbsp; jobs&quot; attribute set to 'false'. &nbsp;Then the operator can
reconfigure<br>
 &nbsp; the Printer before performing an Enable-Printer operation. &nbsp;However,<br>
 &nbsp; when a Printer is first powered up, it is RECOMMENDED that its<br>
 &nbsp; &quot;printer-is-accepting-jobs&quot; attribute be set to 'true'
in order to<br>
 &nbsp; achieve easy &quot;out of the box&quot; operation.<br>
&lt;/ira&gt;<br>
<br>
<br>
PowerOff - Causes entity to go into a power off or (or reduced power,<br>
sleep) condition.<br>
<br>
&lt;ira&gt;<br>
IPP Admin and DPA (ISO 10175) define the Shutdown operation.<br>
<br>
3.5.2 Shutdown-Printer Operation<br>
<br>
 &nbsp; This OPTIONAL operation allows a client to shutdown a Printer,
i.e.,<br>
 &nbsp; stop processing jobs without losing any jobs and make the Printer<br>
 &nbsp; object no longer available for any operations using the IPP protocol.<br>
 &nbsp; There is no way to bring the instance of the Printer object back
to<br>
 &nbsp; being used, except for the Startup-Printer (see section 3.5.3)
which<br>
 &nbsp; starts up a new instance of the Printer object for hosted<br>
 &nbsp; implementations. &nbsp;The purpose of Shutdown-Printer is to shutdown
the<br>
 &nbsp; Printer for an extended period, not to reset the device(s) or modify<br>
 &nbsp; a Printer attribute. &nbsp;See Restart-Printer (section 3.5.1)
and<br>
 &nbsp; Startup-Printer (section 3.5.3) for the way to initialize the<br>
 &nbsp; software. &nbsp;See the Disable-Printer operation (section 3.1)
for a way<br>
 &nbsp; for the client to stop the Printer from accepting Job Creation<br>
 &nbsp; requests without stopping processing or shutting down.<br>
&lt;/ira&gt;<br>
<br>
<br>
GetAttributes - Solicits the values of the identified elements and all<br>
included sub elements<br>
<br>
<br>
SetAttributes - Sets the values of the identified elements and all<br>
included sub elements<br>
<br>
<br>
GetResource - Solicits the values of the identified structures or files.<br>
(e.g., representing fonts, forms, executable code, schedules(?). &nbsp;May
be<br>
indirect in that structure is delivered to defined address.<br>
<br>
<br>
SetResource - Causes identified structures or files (e.g., representing<br>
fonts, forms, executable code, schedules(?) to be loaded into entity.<br>
May be indirect in that structure is obtained from defined address.<br>
<br>
&lt;ira&gt;<br>
The IPP Resource Object proposal (draft-ietf-ipp-get-resource-01.txt,<br>
September 2000) defines the following REQUIRED operations:<br>
<br>
* Get-Resource-Attributes<br>
* Get-Resource-Data (corresponds to your current Get-Resource, I think)<br>
* Get-Resources (get a list of Resource objects of a specified type)<br>
<br>
The IPP Resource Object proposal also defines the following OPTIONAL<br>
admin operations:<br>
<br>
* Create-Resource (sets both attributes and data)<br>
* Delete-Resource<br>
* Refresh-Resource (refreshes local cache of referenced data)<br>
* Renew-Resource (renews finite lease of Resource object)<br>
<br>
By design, we did NOT define a Set-Resource-Attributes operation (much<br>
harder to verify, due to attribute value constraints, than the simple<br>
Create-Resource operation).<br>
&lt;/ira&gt;<br>
<br>
<br>
Register - Set up for notification<br>
<br>
<br>
Unregister- Discard setup for notification.<br>
</tt></font>
<br>