Subject: RE: PMP> The Input Switching Group

From: Bob Pentecost <[email-masked]>
Date: Wed, 12 Feb 1997 17:31:48 -0700

Angelo,

After talking to someone today about the objects in the Input Switching 
Group, I reread your mail and think I know where our confusion is coming 
from.

You wrote:
> The only issue I have left is that in my experience we would
> apply prtInputNextIndex first when the tray goes empty. Then, if it's
> value is zero, we would apply prtInputMediaLoadTimeout. According to
> the current description for the timeout it's the other way round --
> timeout first, then switch. This does not make sense to me.

HP printers automatically switch to a new tray if it has the same media as 
a tray that empties. We would apply the timeout only in the case that there 
is not matching media anywhere in the printer.

This object originated with manual feed requests, its intention was to wait 
for the manual feed and then switch to another tray when the timeout 
expires. Your preference to switch first, then timeout doesn't allow time 
to complete the manual feed request. However, for the case of running out 
of media in a tray, I agree that you'd want to switch right away.

I think both of our implementations would be legal because 
prtInputMediaLoadTimeout specifies "The event which causes the printer to 
enter the waiting state is product specific."

If a user specifies prtInputNextIndex = 0, then the timeout should be -1 
unless they want the job to abort when prtInputMediaLoadTimeout expires.

I have changed the objects in the Input Switching Group and upload a Word 
file with the revisions marked. You can find it at 
ftp://ftp.pwg.org/pub/pwg/pmp/contributions/inputsw.doc.

Let me know what you think.

Bob Pentecost
HP

----------
From:  Caruso,Angelo[SMTP:[email-masked]]
Sent:  Monday, January 27, 1997 5:21 PM
To:  [email-masked]
Subject:  RE: PMP> The Input Switching Group

Bob,

I agree, there are too many objects. I think we both agree on the
 objects we need to keep (though I may have confused you with my
 previous message on this subject). To summarize, I think we need to keep

prtInputMediaLoadTimeout and
prtInputNextIndex.

And, we should remove prtInputAutoSwitch.

This will require that we wordsmith the descriptions for the objects we
 keep. The only issue I have left is that in my experience we would
 apply prtInputNextIndex first when the tray goes empty. Then, if it's
 value is zero, we would apply prtInputMediaLoadTimeout. According to
 the current description for the timeout it's the other way round --
 timeout first, then switch. This does not make sense to me.

I think we need people to respond with their implementation experience.
 Do most printers check to see if they should autoswitch first, then
 apply the timeout? Or do most printers timeout first, then decide if
 they should autoswitch?

Any other opinions?

Thanks,
Angelo

----------
From: [email-masked]
To: "'Caruso,Angelo'"
Cc: Bob Pentecost; "[email-masked]"
Subject: RE: PMP> The Input Switching Group
Date: Thursday, January 23, 1997 5:31PM

Angelo,

Looking at the definitions of prtInputManualFeedTimeout (which is supposed
to be prtInputMediaLoadTimeout), prtInputAutoSwitch and your new definition 
of prtInputNextIndex, it looks like we've got too many controls for what we 
need to do.

The objective is to have a timeout when the needed media is not available.
The timeout requirement is satisfied by prtInputMediaLoadTimeout. The
action to be taken can be controlled by prtInputNextIndex, as you've
defined it if you change the wording to "A value of zero(0) indicates that
auto input switching will not occur and the job will be aborted when this
input subunit is emptied." I don't see the need for prtInputAutoSwitch to
control switching, when prtInputNextIndex can determine the action to be
taken.

You claim that prtInputNextIndex is not necessary, but you don't explain
why. I see that it is needed for the printers that wish to allow the next
input subunit to be configurable. For HP printers, we would support only
values of zero and -2 since we don't know which tray we will switch to
until the load media request is generated.

When we discussed this at the meeting on Friday afternoon, I didn't realize 
that there were multiple controls. This looks like a case where we can do
some simplification, but let's not delete the wrong object.

Let me know if I'm missing something.

Bob Pentecost
HP

prtInputManualFeedTimeout OBJECT-TYPE
	SYNTAX		Integer32
	MAX-ACCESS	read-write
	MIN-ACCESS	read-only
	STATUS		current
	DESCRIPTION
		"The duration (in seconds) after which the printer shall
		 either:

			(a) switch to another input subunit, if the value of
			    prtInputNextIndex is non-zero and prtInputAutoSwitch
			    is on(3)
			or
			(b) abort any job waiting for manually fed input, if the
			    value of prtInputNextIndex is zero or
			    prtInputAutoSwitch is off(4) or notPresent(5).

		The event which causes the printer to enter the waiting state
		is product specific. A value of (-1) implies 'other' or
		'infinite' which translates to 'this input subunit doesn't
		support manual feed'. A value of (-2) implies 'unknown'."
::= { prtInputEntry 24 }

prtInputAutoSwitch OBJECT-TYPE
	SYNTAX		PresentOnOff
	MAX-ACCESS	read-write
	MIN-ACCESS	read-only
	STATUS		current
	DESCRIPTION
		"Indicates the state of the auto input switching feature. The
		 value notPresent(5) indicates the feature is not currently
		 supported. Exact behavior of this feature is product specific."
::= { prtInputEntry 25 }

----------
From:  Caruso,Angelo[SMTP:[email-masked]]
Sent:  Monday, January 13, 1997 5:19 PM
To:  [email-masked]
Subject:  PMP> The Input Switching Group

One of my action items from the Albuquerque meeting is to refine and
 justify the new objects in the Input Switching Group. Here is my first
 crack at refining these objects:

prtInputNextIndex OBJECT-TYPE
	SYNTAX		Integer32
	MAX-ACCESS	read-write
	MIN-ACCESS	read-only
	STATUS		current
	DESCRIPTION
		"The value of prtInputIndex corresponding to the input subunit
		 which will be used when this input subunit is emptied. A value
		 of zero(0) indicates that auto input switching will not occur
		 when this input subunit is emptied. A value of (-1) means other.
		 The value (-2) means 'unknown' and specifically indicates that
		 an implementation specific method will determine the next input
		 subunit to use at the time this subunit is emptied. The value
		 (-3) means input switching is not supported for this subunit."

Based on the new description above, I am once again of the opinion that
 the prtInputAutoSwicth object is uneccessary. Did I forget anything
 from the discussion Friday afternoon? Any other comments?

Thanks,
Angelo

---

From: [email-masked] (Caruso,Angelo)
Date: Thu, 13 Feb 1997 10:17:27 PST

Bob,

I agree with you 100% regarding your description of how things actually 
 work. But, I think that relying on the sentence "The event which 
 causes the printer to 
enter the waiting state is product specific" will lead to confusion 
 later. The descriptions for the objects as they current stand apply to 
 the manual feed case as you described it. But, they totally contradict 
 the behavior for the normal paper trays. I think they need to be 
 re-written to describe the normal paper tray behavior, with a couple 
 of extra sentences that describe the exceptional behavior for the 
 manual feed case.

Angelo

----------
From: Bob Pentecost
To: "[email-masked]"; "'Caruso,Angelo'"
Cc: "'Smith, Brad'"
Subject: RE: PMP> The Input Switching Group
Date: Wednesday, February 12, 1997 4:31PM

Angelo,

Bob Pentecost
HP

----------

Bob,

Any other opinions?

Thanks,
Angelo

----------
From: [email-masked]
To: "'Caruso,Angelo'"

Angelo,

Bob Pentecost
HP

----------

Thanks,
Angelo

---

From: [email-masked] (Caruso,Angelo)
Date: Thu, 13 Feb 1997 15:29:14 PST

Bob,

Thanks for the quick turnaround on the rewrite. This sounds much better to me.

What does everyone else think?

Ang

----------
From: Bob Pentecost
To: "'Caruso,Angelo'"; "'PWG-pmp'"
Cc: "'Smith, Brad'"
Subject: RE: PMP> The Input Switching Group
Date: Thursday, February 13, 1997 2:51PM

I've rewritten the objects as follows:

-- The Input Switching Group
--
-- The input switching group allows the administrator to set the
-- input subunit timeout for the printer and to control the automatic
-- input subunit switching by the printer when an input subunit becomes
-- empty.
--
-- This group is optional. However, to claim conformance to this group,
-- it is required to implement every object in the group.

prtInputMediaLoadTimeout OBJECT-TYPE
     SYNTAX          Integer32
     MAX-ACCESS     read-write
     MIN-ACCESS     read-only
     STATUS          current
     DESCRIPTION
          "When the printer is not able to print due to a subunit being
          empty or the requested media must be manually loaded, the printer 
          will wait for the duration (in seconds) specified by this object. 
          Upon expiration of the timeout, the printer will take the action
          specified by prtInputNextIndex.

          The event which causes the printer to enter the waiting state
          is product specific. If the printer is not waiting for manually
          fed media, it may switch from an empty subunit to a different
          subunit without waiting for the timeout to expire.

          A value of (-1) implies 'other' or
          'infinite' which translates to 'wait forever'. The action which
          causes printing to continue is product specific.
          A value of (-2) implies 'unknown'."
::= { prtInputEntry 24 }

prtInputNextIndex OBJECT-TYPE
     SYNTAX          Integer32
     MAX-ACCESS     read-write
     MIN-ACCESS     read-only
     STATUS          current
     DESCRIPTION
          "The value of prtInputIndex corresponding to the input subunit
           which will be used when this input subunit is emptied and the
           timeout specified by prtInputMediaLoadTimeout expires. A value
           of zero(0) indicates that auto input switching will not occur
           when this input subunit is emptied. If the timeout specified by
           prtInputLoadMediaTimeout expires and this value is zero(0), the
           job will be aborted."
::= { prtInputEntry 26 }

I changed prtInputMediaLoadTimeout so that it just describes the timeout, 
when the timeout applies and what causes printing to continue when the 
timeout is infinite. prtInputNextIndex specifies what happens when the 
timeout expires. My original changes can be still be found at 
ftp://ftp.pwg.org/pub/pwg/pmp/contributions/inputsw.doc while this round of 
changes are at ftp://ftp.pwg.org/pub/pwg/pmp/contributions/inputsw2.doc 
(both Word documents with revision marks).

Hopefully, this gets us closer to the correct wording. What do you think?

Bob Pentecost
HP

----------
From:  Caruso,Angelo[SMTP:[email-masked]]
Sent:  Thursday, February 13, 1997 11:17 AM
To:  Bob Pentecost; "[email-masked]"
Cc:  "'Smith, Brad'"
Subject:  RE: PMP> The Input Switching Group

Bob,

Angelo

----------
From: Bob Pentecost

Angelo,

Bob Pentecost
HP

----------

Bob,

Any other opinions?

Thanks,
Angelo

----------
From: [email-masked]
To: "'Caruso,Angelo'"

Angelo,

Bob Pentecost
HP

----------

Thanks,
Angelo

---

From: Bob Pentecost <[email-masked]>
Date: Thu, 13 Feb 1997 16:38:11 -0700

I messed up and left off the prtInputNextIndex values that Angelo had added 
in his email from 1/27. Those values are:
		A value of (-1) means other.
		 The value (-2) means 'unknown' and specifically indicates that
		 an implementation specific method will determine the next input
		 subunit to use at the time this subunit is emptied. The value
		 (-3) means input switching is not supported for this subunit.

With those values, prtInputNextIndex becomes:
prtInputNextIndex OBJECT-TYPE
     SYNTAX          Integer32
     MAX-ACCESS     read-write
     MIN-ACCESS     read-only
     STATUS          current
     DESCRIPTION
          "The value of prtInputIndex corresponding to the input subunit
           which will be used when this input subunit is emptied and the
           timeout specified by prtInputMediaLoadTimeout expires. A value
           of zero(0) indicates that auto input switching will not occur
           when this input subunit is emptied. If the timeout specified by
           prtInputLoadMediaTimeout expires and this value is zero(0), the
           job will be aborted. A value of (-1) means other.
           The value (-2) means 'unknown' and specifically indicates that
           an implementation specific method will determine the next input
           subunit to use at the time this subunit is emptied and the
           timeout expires. The value(-3) means input switching is not
           supported for this subunit."
::= { prtInputEntry 26 }

Should wording be added that says what happens when the timeout expires and 
prtInputNextIndex has a value of -1 or -3?

I've uploaded ftp://ftp.pwg.org/pub/pwg/pmp/contributions/inputsw2.doc 
again.

Sorry about the screw up.

Bob Pentecost
HP

----------
From:  Bob Pentecost[SMTP:[email-masked]]
Sent:  Thursday, February 13, 1997 3:51 PM
To:  'Caruso,Angelo'; 'PWG-pmp'
Cc:  'Smith, Brad'
Subject:  RE: PMP> The Input Switching Group

Bob Pentecost
HP

----------

Bob,

Angelo

----------
From: Bob Pentecost

Angelo,

Bob Pentecost
HP

----------

Bob,

Any other opinions?

Thanks,
Angelo

----------
From: [email-masked]
To: "'Caruso,Angelo'"

Angelo,

Bob Pentecost
HP

----------

Thanks,
Angelo

---

From: Bob Pentecost <[email-masked]>
Date: Thu, 13 Feb 1997 15:51:27 -0700

Bob Pentecost
HP

----------

Bob,

Angelo

----------
From: Bob Pentecost

Angelo,

Bob Pentecost
HP

----------

Bob,

Any other opinions?

Thanks,
Angelo

----------
From: [email-masked]
To: "'Caruso,Angelo'"

Angelo,

Bob Pentecost
HP

----------

Thanks,
Angelo