WBMM> More about WBMM operations

WBMM> More about WBMM operations

WBMM> More about WBMM operations

Harry Lewis harryl at us.ibm.com
Wed Jul 30 18:41:21 EDT 2003

Our early proposed WSDL had an "Execute" operation and I know this was 
rejected as too generic.  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
1. A code download mechanism
2. An extensibility mechanism

Right now, we feel "Execute" would be a good choice to satisfy both. Open 
for comment. 
Harry Lewis 
Chairman - IEEE-ISTO Printer Working Group
IBM Printing Systems 

"McDonald, Ira" <imcdonald at sharplabs.com> 
Sent by: owner-wbmm at pwg.org
07/30/2003 12:02 PM

"'wbmm at pwg.org'" <wbmm at pwg.org>

WBMM> More about WBMM operations

Hi Bill,                                        Wednesday (30 July 2003)

Comments on operations set in the minutes from last week's WBMM meeting.

- Ira McDonald
  High North Inc


7. Other simplifications were apparent so that the current operations
   set is:

Disable - Prevents the addressed entity to from accepting jobs from any
job submission protocol.

Enable - Allows the addressed entity to accept jobs from any job
submission protocol.

Pause - Causes the entity to stop processing its primary product (e.g.,
a printing device from marking media, a scanning device from scanning
input copy).  There may be a need for an argument to address the "now",
"after current copy" and "after current job" variations.

Resume - undoes the last Pause.

Deactivate - entity accepts no more incoming jobs (the original
definition deactivate is unclear - further the distinction between
Disable and Deactivate is vague.)

Deactivate is a compound operation to avoid a tricky race condition.  It
combines Disable and Pause in one atomic operation.  It's defined in IPP
Admin (draft-ietf-ipp-ops-set2-03.txt, July 2001) as follows:

3.4.1 Deactivate-Printer operation

   This OPTIONAL operation allows a client to stop the Printer object
   from starting to send IPP jobs to any of its Output Devices or
   Subordinate Printers (Pause-Printer-After-Current-Job) and stop the
   Printer object from accepting any, but query requests.  The Printer
   performs a Disable-Printer and a Pause-Printer-After-Current-Job
   operation immediately, including use of all of the "printer-state-
   reasons" if these two operations cannot be completed immediately.  In
   addition, the Printer MUST immediately reject all requests, except
   Activate-Printer, queries (Get-Printer-Attributes, Get-Job-
   Attributes, Get-Jobs, etc.), Send-Document, and Send-URI (so that
   partial job submission can be completed - see section 3.1.1) and
   return the 'server-error-service-unavailable' status code.

Activate - undoes the last Deactivate

Purge - Removes all traces of jobs in the entity

Reset - Sets the state of the entity to the normalized condition
characterizing the state when the entity first comes up.

IPP Admin defines the Restart and Startup operations:

3.5.1 Restart-Printer operation

   This OPTIONAL operation allows a client to restart a Printer object
   whose operation is in need of initialization because of incorrect or
   erratic behavior, i.e., perform the effect of a software re-boot.
   The implementation MUST attempt to save any information about Jobs
   and the Printer object before re-initializing.  However, this
   operation MAY have drastic consequences on the running system, so the
   client SHOULD first try the Deactivate-Printer operation to minimize
   the effect on the current state of the system.  The effects of
   previous Disable-Printer, Pause Printer, and Deactivate-Printer
   operations are lost.

3.5.3 Startup-Printer operation

   This OPTIONAL operation allows a client to startup an instance of a
   Printer object, provided that there isn't one already instantiated.
   The purpose of Startup-Printer is to allow a hosted implementation of
   the IPP Printer object (i.e., a Server that implements an IPP Printer
   on behalf of a networked or local Output Device) to be started after
   the host is available (by means outside this document).  See Restart-
   Printer (section 3.5.1) for the way to initialize the software or
   reset the Output Device(s) when the IPP Printer object has already
   been instantiated.

   The host MUST accept this operation only when the Printer object has
   not been instantiated.  If the Printer object already exists, the
   host must return the 'client-error-not-possible' status code.

   The result of this operation MUST be with the Printer object's
   "printer-state" set to 'idle', the state reasons removed from its
   "printer-state-reasons" attribute, and its "printer-is-accepting-
   jobs" attribute set to 'false'.  Then the operator can reconfigure
   the Printer before performing an Enable-Printer operation.  However,
   when a Printer is first powered up, it is RECOMMENDED that its
   "printer-is-accepting-jobs" attribute be set to 'true' in order to
   achieve easy "out of the box" operation.

PowerOff - Causes entity to go into a power off or (or reduced power,
sleep) condition.

IPP Admin and DPA (ISO 10175) define the Shutdown operation.

3.5.2 Shutdown-Printer Operation

   This OPTIONAL operation allows a client to shutdown a Printer, i.e.,
   stop processing jobs without losing any jobs and make the Printer
   object no longer available for any operations using the IPP protocol.
   There is no way to bring the instance of the Printer object back to
   being used, except for the Startup-Printer (see section 3.5.3) which
   starts up a new instance of the Printer object for hosted
   implementations.  The purpose of Shutdown-Printer is to shutdown the
   Printer for an extended period, not to reset the device(s) or modify
   a Printer attribute.  See Restart-Printer (section 3.5.1) and
   Startup-Printer (section 3.5.3) for the way to initialize the
   software.  See the Disable-Printer operation (section 3.1) for a way
   for the client to stop the Printer from accepting Job Creation
   requests without stopping processing or shutting down.

GetAttributes - Solicits the values of the identified elements and all
included sub elements

SetAttributes - Sets the values of the identified elements and all
included sub elements

GetResource - Solicits the values of the identified structures or files.
(e.g., representing fonts, forms, executable code, schedules(?).  May be
indirect in that structure is delivered to defined address.

SetResource - Causes identified structures or files (e.g., representing
fonts, forms, executable code, schedules(?) to be loaded into entity.
May be indirect in that structure is obtained from defined address.

The IPP Resource Object proposal (draft-ietf-ipp-get-resource-01.txt,
September 2000) defines the following REQUIRED operations:

* Get-Resource-Attributes
* Get-Resource-Data (corresponds to your current Get-Resource, I think)
* Get-Resources (get a list of Resource objects of a specified type)

The IPP Resource Object proposal also defines the following OPTIONAL
admin operations:

* Create-Resource (sets both attributes and data)
* Delete-Resource
* Refresh-Resource (refreshes local cache of referenced data)
* Renew-Resource (renews finite lease of Resource object)

By design, we did NOT define a Set-Resource-Attributes operation (much
harder to verify, due to attribute value constraints, than the simple
Create-Resource operation).

Register - Set up for notification

Unregister- Discard setup for notification.

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://www.pwg.org/archives/wims/attachments/20030730/e7d98ad1/attachment-0001.html

More information about the Wims mailing list