Subject: PMP> What exactly is the definition of "Offline"?

From: JK Martin <[email-masked]>
Date: Tue, 29 Apr 1997 12:45:29 -0400 (EDT)

Sprinkled throughout Bob Pentecost's recent review of the latest
"Top 25 Printer Conditions" document (aka, "Top 25 Alerts"), Bob
repeatedly suggested that several conditions should also result
in the addition of an "Offline" alert.

The term "Offline" has been particularly annoying to us over the
years, as it seems to have so many meanings.  When used in the
context of a printer, we have seen these varying semantics for
the term "Offline":

  1.  The printer is not on the network (or is otherwise disconnected
      from the rest of the universe); we believe this is the original
      meaning of the term, used for lots of different computer
      components that long pre-dated network printers.

  2.  The printer is not accepting new jobs; however, the printer
      can continue to perform any work it might be doing, such as
      image and print a job started prior to the "Offline" event.

  3.  The printer has temporarily stopped all activities, in essence,
      has suspended all operations (except for, perhaps, front panel
      menu usage, etc); many, many printers go into this mode when,
      say, the front panel is used to go into "Menu Mode".

I am proposing (no, I am BEGGING) that the PWG take the time to define
exactly what "Offline" is supposed to mean, and that the definition be
worded such that a simple user can understand the meaning.

An immediate issue here is whether it is appropriate to mandate that a
printer must go Offline when a particular condition arises.  For
example, Bob suggests that an "Offline" alert be added to the Alert
Table when an Input Tray becomes empty.

While Underscore is not a printer vendor, it seems pretty clear to us
that when an Input Tray becomes empty, it is up to the printer vendor
to set the printer into "Offline" mode (whatever that may mean).  In
other words, the fact that a particular printer model goes "Offline"
upon a certain condition should really be considered vendor-specific,
no?

I'm not suggesting that a printer should *not* go offline for a
specific condition, only that our "Top 25 Printer Conditions" document
should not tie Offline alerts to other alert-related conditions.

Bob's original review message is attached here so that folks can
quickly see the situation we must deal with.  Hopefully we can discuss
this issue during the telecon scheduled for later today.

	...jay

PS:  A quick comment on printer product functionality:

Underscore has considerable experience with a certain network printer
product line, and one of the excellent features of those products is
that the front panel has two buttons labeled "Pause" and "Resume".

When the "Pause" button is pressed, the marking engine stops (at the
next reasonable point, of course) and the paper path is cleared, at
which point the user is free to do such things as remove paper from an
almost-full output bin, or add paper to a nearly-empty input tray.  And,
while in the paused state, the printer continues to perform all other
activities possible, including new job submissions, responding to mgmt
console requests, etc.  Only the marking engine activities are suspended.

In our experience, the Pause/Resume functionality has been found to be
a WONDERFUL feature in that the user can address those kinds of tasks
without the risk of inducing a problem with the printer (such as a pick
failure or jam, etc).  And you know what?  Any simple user quickly
understands the semantics behind the words "Pause" and "Resume".

Now, some printer vendors sort of provide this kind of feature, but
they refer to it as "taking the printer offline".  However, notice how
many other conditions result in such an "Offline" condition.

We sure wish printer vendors would take the lead and move towards
separating the concept of Pause/Resume from whatever ends up being the
definition of "Offline".

----------------------------------------------------------------------
--  JK Martin               |  Email:   [email-masked]          --
--  Underscore, Inc.        |  Voice:   (603) 889-7000              --
--  41C Sagamore Park Road  |  Fax:     (603) 889-2699              --
--  Hudson, NH 03051-4915   |  Web:     http://www.underscore.com   --
----------------------------------------------------------------------

----- Begin Included Message -----

>From [email-masked] Tue Apr 29 04:37 EDT 1997
From: Bob Pentecost <[email-masked]>
To: "'PWG-pmp'" <[email-masked]>
Cc: "'Olson, Chad'" <[email-masked]>
Subject: PMP> Top 25 Alert Comments
Date: Tue, 29 Apr 1997 02:35:02 -0600
Content-Transfer-Encoding: 7bit

During the 4/22 phone conference, I promised to post my concerns 
with the proposed Appendix D - Overall Printer Status Table. My 
initial concern was for the Offline condition having an alert 
table entry, which the group agreed was necessary.

While it may seem that I have a lot here, I think many are just in 
need of discussion/clarification since Chuck really did a good 
first pass. Also, I have a fair amount of duplication. It should 
be noted that while some of this is based on HP's implementation, 
much if it is empirical (meaning I think our implementation could 
use a little tweaking :-).

Instead of repeating the table here, I've listed the columns and 
then put "Okay" if I agree with the document as posted, or I've 
put a comment. The original document can be found at:
   ftp://ftp.pwg.org/pub/pwg/pmp/contributions/err3.doc
   ftp://ftp.pwg.org/pub/pwg/pmp/contributions/err3.pdf

Normal or idle    
(no binary alerts): Okay

Printing          
(no binary alerts): Okay

Off-line          
(no binary alerts)
   hrDeviceStatus: Okay
   hrPrinterStatus: Okay
   hrPrinterDetectedErrorState: Okay
   prtAlertGroup: channel(14)
   prtAlertCode: subunitOffline(32)
   Group Status: prtChannelStatus = Unavailable&OnRequest + 
                                    CriticalAlert + Offline 
                                    (1+16+32)

Standby or Power  
Saver Mode        
(no binary alerts)
   hrDeviceStatus: Okay 
   hrPrinterStatus: other(1) [per page 20 of MIB]
   hrPrinterDetectedErrorState: Okay 
   prtAlertGroup: marker(10)
   prtAlertCode: subunitPowerSaver(23)
   Group Status: prtMarkerStatus = Available&Standby(2)

Initial Power Up  
(no binary alerts 
(while warming up): All Okay 

Warming Up        
(no binary alerts): All Okay

Jam               
   hrDeviceStatus: Okay 
   hrPrinterStatus: Okay 
   hrPrinterDetectedErrorState: Jammed(4) [per definition]
   prtAlertGroup: Jammed (4) [per definition]
   prtAlertCode: Okay 
   Group Status: Why 'On-line'? Why 'Transitioning'?
   Add Offline Alert 
      prtAlertGroup: channel(14)
      prtAlertCode: subunitOffline(32)
      Group Status: prtChannelStatus = Unavailable&OnRequest + 
                                       CriticalAlert + 
                                       Offline (1+16+32)

Cover/Door        
Open (listed      
in cover table)   
   hrDeviceStatus: Okay 
   hrPrinterStatus: Okay 
   hrPrinterDetectedErrorState: DoorOpen(8) [per definition] + 
                                Offline(2)
   prtAlertGroup: Okay 
   prtAlertCode: Okay 
   Group Status: Why 'On-line'? Why 'Transitioning'?
   Add Offline Alert 
      prtAlertGroup: channel(14)
      prtAlertCode: subunitOffline(32)
      Group Status: prtChannelStatus = Unavailable&OnRequest + 
                                       CriticalAlert + 
                                       Offline (1+16+32)

Input Tray        
Missing           
   hrDeviceStatus: Okay 
   hrPrinterStatus: Okay 
   hrPrinterDetectedErrorState: Okay 
   prtAlertGroup: Okay 
   prtAlertCode: Okay 
   Group Status: Why 'On-line'? Why 'Transitioning'?
   Add Offline Alert 
      prtAlertGroup: channel(14)
      prtAlertCode: subunitOffline(32)
      Group Status: prtChannelStatus = Unavailable&OnRequest + 
                                       CriticalAlert + 
                                       Offline (1+16+32)

Input Tray        
Empty             
   hrDeviceStatus: Okay 
   hrPrinterStatus: Okay 
   hrPrinterDetectedErrorState: Okay 
   prtAlertGroup: Okay 
   prtAlertCode: Okay 
   Group Status: Why 'On-line'? Why 'Transitioning'?
   Add Offline Alert 
      prtAlertGroup: channel(14)
      prtAlertCode: subunitOffline(32)
      Group Status: prtChannelStatus = Unavailable&OnRequest + 
                                       CriticalAlert + 
                                       Offline (1+16+32)

Output Tray       
Missing           
   hrDeviceStatus: Okay 
   hrPrinterStatus: Okay 
   hrPrinterDetectedErrorState: Okay 
   prtAlertGroup: Okay 
   prtAlertCode: Okay 
   Group Status: Why 'On-line'? Why 'Transitioning'?
   Add Offline Alert 
      prtAlertGroup: channel(14)
      prtAlertCode: subunitOffline(32)
      Group Status: prtChannelStatus = Unavailable&OnRequest + 
                                       CriticalAlert + 
                                       Offline (1+16+32)

Output Tray       
Full              
   hrDeviceStatus: Okay 
   hrPrinterStatus: Okay 
   hrPrinterDetectedErrorState: Okay 
   prtAlertGroup: Okay 
   prtAlertCode: Okay 
   Group Status: Why 'On-line'? Why 'Transitioning'?
   Add Offline Alert 
      prtAlertGroup: channel(14)
      prtAlertCode: subunitOffline(32)
      Group Status: prtChannelStatus = Unavailable&OnRequest + 
                                       CriticalAlert + 
                                       Offline (1+16+32)

Marker Supply     
Missing           
( toner missing,  
  ink missing )   
   hrDeviceStatus: Okay 
   hrPrinterStatus: Okay 
   hrPrinterDetectedErrorState: NoToner(16) + Offline(2)
   prtAlertGroup: Marker(10) [corresponds better with Group status 
                              Marker]
   prtAlertCode: Okay if markerTonerCartridgeMissing(1115)
   Group Status: Why 'On-line'? Why 'Transitioning'?
   Add Offline Alert 
      prtAlertGroup: channel(14)
      prtAlertCode: subunitOffline(32)
      Group Status: prtChannelStatus = Unavailable&OnRequest + 
                                       CriticalAlert + 
                                       Offline (1+16+32)

Marker Supply     
Empty (i.e.,      
 toner empty,     
 ink low)         
   hrDeviceStatus: Okay 
   hrPrinterStatus: Okay 
   hrPrinterDetectedErrorState: NoToner(16) + Offline(2)
   prtAlertGroup: Okay (Does markerSupplies imply that 
                        prtMarkerStatus is the corresponding 
                        subunit?)
   prtAlertCode: Okay 
   Group Status: Why 'On-line'? Why 'Transitioning'?
   Add Offline Alert 
      prtAlertGroup: channel(14)
      prtAlertCode: subunitOffline(32)
      Group Status: prtChannelStatus = Unavailable&OnRequest + 
                                       CriticalAlert + 
                                       Offline (1+16+32)

Input Tray        
Low               
   hrDeviceStatus: Okay 
   hrPrinterStatus: Okay 
   hrPrinterDetectedErrorState: Okay 
   prtAlertGroup: Okay 
   prtAlertCode: Add inputMediaSupplyLow(807)
   Group Status: Why 'Transitioning'?

Output Tray       
Almost Full       
   hrDeviceStatus: Okay 
   hrPrinterStatus: Okay 
   hrPrinterDetectedErrorState: Okay 
   prtAlertGroup: Okay 
   prtAlertCode: Okay 
   Group Status: Why 'Transitioning'?

Marker Supply     
Almost Empty      
(i.e., toner low, 
 ink low)         
   hrDeviceStatus: Okay 
   hrPrinterStatus: Okay 
   hrPrinterDetectedErrorState: Okay 
   prtAlertGroup: Okay 
   prtAlertCode: Okay 
   Group Status: Why 'Transitioning'?

Input Tray        
Missing (when n-1 
trays are missing 
with linking)     
   hrDeviceStatus: Okay 
   hrPrinterStatus: Okay 
   hrPrinterDetectedErrorState: Okay 
   prtAlertGroup: Okay 
   prtAlertCode: Okay 
   Group Status: Why 'Transitioning'?

Input Tray        
Empty (when n-1   
trays are empty   
with linking)     
   hrDeviceStatus: Okay 
   hrPrinterStatus: Okay 
   hrPrinterDetectedErrorState: Okay 
   prtAlertGroup: Okay 
   prtAlertCode: Okay 
   Group Status: Why 'Transitioning'?

Output Tray       
Missing (when n-1 
trays are missing 
with linking)     
   hrDeviceStatus: Okay 
   hrPrinterStatus: Okay 
   hrPrinterDetectedErrorState: Okay 
   prtAlertGroup: Okay 
   prtAlertCode: Okay 
   Group Status: Why 'Transitioning'?

Output Tray       
Full (when n-1    
trays are full    
with linking)     
   hrDeviceStatus: Okay 
   hrPrinterStatus: Okay 
   hrPrinterDetectedErrorState: Okay 
   prtAlertGroup: Okay 
   prtAlertCode: Okay 
   Group Status: Why 'Transitioning'?

----- End Included Message -----

---

From: [email-masked]
Date: 29 Apr 97 15:32:33 EDT

Jay,
     
     I have been baffled by the use of Online in PrtSubUnitStatusTC.  The 
     text is:
     
     On-Line
     
                      Intended state is On-Line       0
                      Intended state is Off-Line      32
     
     I thought this value was NOT indicating the current state of the 
     device, but rather the intended state (although I couldn't think of 
     any devices with intended states of Off-line).  If this is to indicate 
     current state, "Intended" should be changed to "Current".
     
     I also agree that what constitutes an Off-line state should be 
     clarified.
     
     Stuart Rowley
     Kyocera Electronics 

______________________________ Reply Separator _________________________________
Subject: PMP> What exactly is the definition of "Offline"?
Author:  INTERNET:[email-masked] at CSERVE
Date:    4/29/97 1:08 PM

     

     

     

     
     ...jay

     

     

----- Begin Included Message -----

     

Normal or idle
(no binary alerts): Okay

Printing
(no binary alerts): Okay

Off-line
(no binary alerts)
   hrDeviceStatus: Okay
   hrPrinterStatus: Okay

Standby or Power
Saver Mode
(no binary alerts)
   hrDeviceStatus: Okay

Initial Power Up
(no binary alerts

Warming Up

Jam
   hrDeviceStatus: Okay
   hrPrinterStatus: Okay

Cover/Door
Open (listed
in cover table)
   hrDeviceStatus: Okay
   hrPrinterStatus: Okay

Input Tray
Missing
   hrDeviceStatus: Okay
   hrPrinterStatus: Okay

Input Tray
Empty
   hrDeviceStatus: Okay
   hrPrinterStatus: Okay

Output Tray
Missing
   hrDeviceStatus: Okay
   hrPrinterStatus: Okay

Output Tray
Full
   hrDeviceStatus: Okay
   hrPrinterStatus: Okay

Marker Supply
Missing
( toner missing,
  ink missing )
   hrDeviceStatus: Okay
   hrPrinterStatus: Okay

Marker Supply
Empty (i.e.,
 toner empty,
 ink low)
   hrDeviceStatus: Okay
   hrPrinterStatus: Okay

Input Tray
Low
   hrDeviceStatus: Okay
   hrPrinterStatus: Okay

Output Tray
Almost Full
   hrDeviceStatus: Okay
   hrPrinterStatus: Okay

Marker Supply
Almost Empty
(i.e., toner low,
 ink low)
   hrDeviceStatus: Okay
   hrPrinterStatus: Okay

Input Tray
Missing (when n-1
trays are missing
with linking)
   hrDeviceStatus: Okay
   hrPrinterStatus: Okay

Input Tray
Empty (when n-1
trays are empty
with linking)
   hrDeviceStatus: Okay
   hrPrinterStatus: Okay

Output Tray
Missing (when n-1
trays are missing
with linking)
   hrDeviceStatus: Okay
   hrPrinterStatus: Okay

Output Tray
Full (when n-1
trays are full
with linking)
   hrDeviceStatus: Okay
   hrPrinterStatus: Okay

----- End Included Message -----