Subject: IPP> RE: Bob Herriot's IPP/JMP 2 new states proposal

From: Tom Hastings <[email-masked]>
Date: Wed, 28 May 1997 09:59:05 PDT

Ron Bergman, Harry Lewis and I have reviewed Bob's proposal to
add two new states: pending-stopped and processing-stopped.

We all like it a lot.  We think that the other JMP participants will too.

Carl-Uno has agreed to cover the joint IPP/JMP 
job-state/job-state-reasons spec in the first 15 minutes of the IPP telecon
today, so that JMP participants need not stay on the line for the major
topic of the protocol.

(We know that Harry can't make it, but gives his support).

So JMP particpants please call in for 15 minutes at:
May 28
------
Call-in: 1-309-671-1035
Access: 190148
Time:  1-3pm PDT (4-6 EDT)

So the updated state transition diagram would become:

For IPP:

The following figure shows the normal job state transitions.  Other
transitions are unlikely, but are not forbidden.

                                    +--> canceled
                                   /
       pending -----> processing --+----> aborted
          ^               ^        \
          |               |         +--> completed
          v               v
   pending-stopped    processing-stopped

Figure 1 - Normal job state transitions

Normally a job progresses only from left to right.

For JMP:
-- The following figure shows the normal job state transitions.  
-- Other transitions are unlikely, but are not forbidden.
--
--                                            +---> canceled(7)
--                                           /
--       pending(3) ------> processing(5) --+-----> aborted(8)
--          ^                    ^           \
--          |                    |            +---> completed(9)
--          v                    v
--   pending-stopped(4)  processing-stopped(5)
--
--   <----------------- active -------------->|<-- in-active -->|

-- Normally a job progresses only from left to right.

We only have 15 minutes, so we may have to consider the following later:

Remaining details of the agreement:

Do we remove the MANDATORY printer-stopped job-state-reasons value from IPP?
Do we remove the MANDATORY deviceStopped jmJobStateReaons1 value from JMP?

My suggestion it yes.

What about the OPTIONAL printer-stopped-partly job-state-reasons value from IPP?
And the OPTIONAL deviceStoppedPartly jmJobStateReasons1 value from JMP?

My suggestion is no.  Its unlikely to be implemented, but can be.

Finally, job-state-reasons is MANDATORY in IPP.
Should it remain MANDATORY in JMP or become CONDITIONALLY MANDATORY?
What about the remaining MANDATORY values: 

MAN jobIncoming
OPT jobOutgoing
CM  jobHeld
CM  jobHoldSpecified, jobHeld
CM  jobHoldUntilSpecified, jobHeld
CM  jobHoldUntilResourcesAreReady,jobHeld
CM  jobProcessAfterSpecified, jobHeld
OPT deviceStoppedPartly
MAN deviceStopped
OPT jobPrinting
CM  jobCanceledByUser
CM  jobCanceledByOperator
OPT logfilePending
OPT logfileTransferring
MAN jobCompletedSuccessfully
MAN jobCompletedWithWarnings
MAN jobCompletedWithErrors

MAN = MANDATORY - a conforming agent shall implement
CM = CONDITIONALLY MANDATORY - a conforming agent shall implement only if the
     device has this behavior.
OPT = OPTIONAL - a conforming agent need not implement even if the device
     has the behavior.

If all of the values become CONDITIONALLY MANDATORY or OPTIONAL,
then jmJobStateReasons1 can be changed from MANDATORY to CONDITIONALLY 
MANDATORY too (and be moved from the jmJobTable, back to the jmAttributeTable).

Tom

At 14:39 05/27/97 PDT, Robert Herriot wrote:
>
>There has been a lot of discussion on the JMP list about the held
>and needs-attention state.
>
>Several people have stated that the primary reason for having 'held'
>and 'needs-attention' as job-states rather than job-state-reason is
>that the job-state should be all that most people need to look at.
>
>Keeping that in mind, here's is an slightly different view that we
>should perhaps consider.  I put this forth for discussion and can
>see pro's and con's for keeping the simple 5 job-states of IPP versus
>adding these two additional states.
>
>The Proposal:
>
>Change the name of "needs-attention" to "stopped-printing" and define
>the "stopped-printing" state as an alternate view of the "processing"
>state. A job is in the "stopped-printing" state when certain
>job-state-reasons take it out of the "processing" state temporarily.
>When those reasons clear, the job goes back to the "processing" state.
>
>Likewise, the "held" job-state is an alternate view of the "pending"
>state.  A job is in the "held" state when certain job-state-reasons
>take it out of the "pending" state temporarily.  When those reasons
>clear, the job goes back to the "pending" state. Such reasons include
>"held-until" (aka "job-hold-until-specified"), "held-for-resources"
>(aka "required-resources-not-ready"), and "printer-stopped". 
>
>Any reasons that keeps a job from making progress towards the printer
>put it in the "held" state. Any reasons that keep a job from
>processing put it in the "stopped-printing state.
>
>Note that the "printing-stopped" reason changes a "processing" job to
>"stopped-printing" and a "pending" job to a "held" job.
>
>If we want more regular names, then we should call "held", "pending-stopped"
>and we should call "stopped-printing", "processing-stopped".
>
>Note: I do not like the name "needs-attention" because it is the printer
>that needs attention and not the job. Furthermore, the printer may need
>attention even when a particular job is pending.
>
>Comments?
>
>Bob Herriot
>
>