DMTF Change Request

DMTF Confidential

All changes to be submitted by the Working Group Chair (or designee) after approval by the working group.  

The Change Request sample (http://www.dmtf.org/members/zdata/CRTemplateSample.html) contains more detailed
information on how to complete the template.

DMTF Change Request Number   [sysdevCR006655]

 CIMCoreCR00946

CR Owner Name, Email  [My Name, my.name@company.com]

Richard Landau, Richard_Landau@dell.com

Alliance Partner submitting CR request (if applicable)

Printer Working Group pwg.org

Alliance Partner vote history (e.g. SNIA XYZ Approved on 8/12/06)

 

Alliance Partner identifier/tracking number (if available)

n/a

Errata   [Yes/No]

 No

Short Description

Add new class  CIM_PrintSupply to enhanced printer device model.

Spec, Document or Model(s) Being Changed   [Device Model]

 [Core Model]

Spec, Document or Model Version Incorporating the Change  [V2.9 Final]

 V2.16 Experimental

Filename(s) Incorporating the Change [Device_USB.mof]

CIM_PrintSupply.mof

Date Originated  [mm/dd/yyyy]

 05/31/2007

Date of Last Revision of the Change Request [mm/dd/yyyy]

 05/31/2007

Dependencies   [smwgCR00567,sysdevCR00555]

 

Terminology

The terminology used in this CR should conform to the "Rules for the structure and drafting of International Standards", 5th Edition, 2005 available at:

http://isotc.iso.org/livelink/livelink.exe/fetch/2000/2122/3146825/4229629/4230450/4230456/ISO_IEC_Directives__Part_2__Rules_for_the_structure_and_drafting_of_International_Standards__2004__5th_edition___pdf_format_.pdf?nodeid=4230517&vernum=0

Particular attention shall be paid to Annex H which lays out guidelines for the expression of provisions.

Background/Rationale (Explanation of the background and reason(s) for the requested change, and supporting documentation):

As part of the PWG/DMTF Work Register, PWG is updating the printing-related classes in the CIM data model.  

The PWG models for printing related devices and services include many properties that need to be managed but are not currently represented in CIM at all.  The CIM model will be extended to include these important management objects.  This will require extensions to the CIM_Printer class and the addition of other CIM classes to represent the capabilities, settings, and counters required.   

 

Many early implementers of this class are expected to be proxy providers for SNMP-capable printers.  A few properties in this class are included to permit software and users to correlate status and event information between CIM and legacy SNMP access paths.  It is expected that such properties will be deprecated when they are no longer needed for this purpose. 

 

The current new class, CIM_PrintSupply, is the fourth of several classes to be added.  A PrintSupply represents a consumable that is used by the marker or by finishing equipment.  

 

Alliance Partner Status (tracking number, other key identifiers,  supporting documentation, etc.):

(insert text here)

Requested Change (Change information such as details before/after the change, readable/indented MOF, and/or references to "Uploaded" MOF and other documents if the changes are too lengthy to include inline):

 

//add the class CIM_PrintSupply

 

// Copyright (c) 2007 DMTF.  All rights reserved.

// ==================================================================

// CIM_PrintSupply

// ==================================================================

 

   [Experimental, Version ( "2.16.0" ),

       UMLPackagePath ( "CIM::Device::Printing" ), Description (

       "This class represents a supply component of a printer (print "

       "device). It contains a property that specifies if this "

       "instance represents a supply that is consumed or a receptacle "

       "that is filled. It also contains properties that describe "

       "supply type, capacity, current level, and colorant info (for "

       "colorants).")]

class CIM_PrintSupply : CIM_LogicalElement {

 

      [Key, Description (

          "Within the scope of the instantiating Namespace, InstanceID "

          "opaquely and uniquely identifies an instance of this class. "

          "To ensure uniqueness within the NameSpace, the value of "

          "InstanceID should be constructed using the following "

          "\"preferred\" algorithm: \n"

          "<OrgID>:<LocalID> \n"

          "Where <OrgID> and <LocalID> are separated by a colon (:), "

          "and where <OrgID> shall include a copyrighted, trademarked, "

          "or otherwise unique name that is owned by the business "

          "entity that is creating or defining the InstanceID or that "

          "is a registered ID assigned to the business entity by a "

          "recognized global authority. (This requirement is similar "

          "to the <Schema Name>_<Class Name> structure of Schema class "

          "names.) In addition, to ensure uniqueness, <OrgID> shall "

          "not contain a colon (:). When using this algorithm, the "

          "first colon to appear in InstanceID shall appear between "

          "<OrgID> and <LocalID>. \n"

          "<LocalID> is chosen by the business entity and should not "

          "be reused to identify different underlying (real-world) "

          "elements. If the above \"preferred\" algorithm is not used, "

          "the defining entity shall assure that the resulting "

          "InstanceID is not reused across any InstanceIDs produced by "

          "this or other providers for the NameSpace of this instance. "

          "\nFor DMTF-defined instances, the \"preferred\" algorithm "

          "entity that is creating or defining the InstanceID or that "

          "is a registered ID assigned to the business entity by a "

          "recognized global authority. (This requirement is similar "

          "to the <Schema Name>_<Class Name> structure of Schema class "

          "names.) In addition, to ensure uniqueness, <OrgID> shall "

          "not contain a colon (:). When using this algorithm, the "

          "first colon to appear in InstanceID shall appear between "

          "<OrgID> and <LocalID>. \n"

          "<LocalID> is chosen by the business entity and should not "

          "be reused to identify different underlying (real-world) "

          "elements. If the above \"preferred\" algorithm is not used, "

          "the defining entity shall assure that the resulting "

          "InstanceID is not reused across any InstanceIDs produced by "

          "this or other providers for the NameSpace of this instance. "

          "\nFor DMTF-defined instances, the \"preferred\" algorithm "

          "shall be used with the <OrgID> set to CIM.")]

   string InstanceID;

 

      [Key, Description (

          "A unique value used by the printer to identify this supply. "

          "Although these values may change due to a reconfiguration "

          "of the printer (e.g., the addition of new supplies to the "

          "printer), values should remain stable across successive "

          "printer power cycles. Note: This property is necessary to "

          "correlate status and event (alert) information between CIM "

          "and SNMP interfaces."),

       MinValue ( 1 ), MaxValue ( 65535 ),

       MappingStrings { "MIB.IETF|Printer-MIB.prtMarkerSuppliesIndex" }]

   uint32 SNMPRowId;

 

      [Description (

          "A free-form text description of this supply in the "

          "localization specified by "

          "CIM_Printer.CurrentNaturalLanguage."),

       MinLen ( 0 ), MaxLen ( 255 ),

       MappingStrings {

          "MIB.IETF|Printer-MIB.prtMarkerSuppliesDescription",

          "MIB.IETF|Printer-MIB.PrtLocalizedDescriptionStringTC" }]

   string LocalizedDescription;

 

      [Description (

          "Indicates whether this supply instance represents a supply "

          "that is consumed or a receptacle that is filled."),

       ValueMap { "1", "3", "4", ".." },

       Values { "Other", "SupplyThatIsConsumed",

          "ReceptacleThatIsFilled", "DMTF Reserved" },

       MappingStrings { "MIB.IETF|Printer-MIB.prtMarkerSuppliesClass",

          "MIB.IETF|Printer-MIB.PrtMarkerSuppliesClassTC" },

       ModelCorrespondence { "CIM_PrintSupply.OtherClassification" }]

   uint32 Classification;

 

      [Description (

          "A free-form string that describes the supply classification "

          "when the value of the Classification property is equal to 1 "

          "(Other)."),

       MinLen ( 0 ), MaxLen ( 255 ),

       ModelCorrespondence { "CIM_PrintSupply.Classification" }]

   string OtherClassification;

 

      [Description (

          "The type of this supply."),

       ValueMap { "1", "2", "3", "4", "5", "6", "7", "8", "9", "10",

          "11", "12", "13", "14", "15", "16", "17", "18", "19", "20",

          "21", "22", "23", "24", "25", "26", "27", "28", "29", "30",

          "31", "32", "33", "34", ".." },

       Values { "Other", "Unknown", "Toner", "WasteToner", "Ink",

          "InkCartridge", "InkRibbon", "WasteInk", "Opc", "Developer",

          "FuserOil", "SolidWax", "RibbonWax", "WasteWax", "Fuser",

          "CoronaWire", "FuserOilWick", "CleanerUnit",

          "FuserCleaningPad", "TransferUnit", "TonerCartridge",

          "FuserOiler", "Water", "WasteWater", "GlueWaterAdditive",

          "WastePaper", "BindingSupply", "BandingSupply",

          "StitchingWire", "ShrinkWrap", "PaperWrap", "Staples",

          "Inserts", "Covers", "DMTF Reserved" },

       MappingStrings { "MIB.IETF|Printer-MIB.prtMarkerSuppliesType",

          "MIB.IETF|IANA-PRINTER-MIB.PrtMarkerSuppliesTypeTC" },

       ModelCorrespondence { "CIM_PrintSupply.OtherTypeDescription" }]

   uint32 Type;

 

      [Description (

          "A free-form string that describes the supply type when the "

          "value of the Type property is equal to 1 (Other)."),

       MinLen ( 0 ), MaxLen ( 255 ),

       ModelCorrespondence { "CIM_PrintSupply.Type" }]

   string OtherTypeDescription;

 

      [Description (

          "Unit of measure for this supply container/receptacle."),

       ValueMap { "1", "2", "3", "4", "7", "8", "11", "12", "13", "14",

          "15", "16", "17", "18", "19", ".." },

       Values { "Other", "Unknown", "TenThousandthsOfInches",

          "Micrometers", "Impressions", "Sheets", "Hours",

          "ThousandthsOfOunces", "TenthsOfGrams",

          "HundrethsOfFluidOunces", "TenthsOfMilliliters", "Feet",

          "Meters", "Items", "Percent", "DMTF Reserved" },

       MappingStrings {

          "MIB.IETF|Printer-MIB.prtMarkerSuppliesSupplyUnit",

          "MIB.IETF|Printer-MIB.PrtMarkerSuppliesSupplyUnitTC" },

       ModelCorrespondence { "CIM_PrintSupply.OtherSupplyUnit" }]

   uint32 SupplyUnit;

 

      [Description (

          "A free-form string that describes the supply unit when the "

          "value of the SupplyUnit property is equal to 1 (Other)."),

       MinLen ( 0 ), MaxLen ( 255 ),

       ModelCorrespondence { "CIM_PrintSupply.SupplyUnit" }]

   string OtherSupplyUnit;

 

      [Description (

          "The basis for the limit property MaxCapacity, that "

          "specifies whether a meaningful value is available. 1 "

          "(Other) means the printer places no restrictions on "

          "capacity and MaxCapacity shall be null. 2 (Unknown) means "

          "the printer cannot sense a meaningful value and MaxCapacity "

          "shall be null. 3 (Actual) means the printer can sense a "

          "meaningful value and MaxCapacity shall be present."),

       ValueMap { "1", "2", "3", ".." },

       Values { "Other", "Unknown", "Actual", "DMTF Reserved" },

       MappingStrings {

          "MIB.IETF|Printer-MIB.prtMarkerSuppliesMaxCapacity" },

       ModelCorrespondence { "CIM_PrintSupply.MaxCapacity" }]

   uint16 MaxCapacityBasis;

 

      [Description (

          "The maximum capacity of this supply container/receptacle in "

          "units specified by CIM_PrintSupply.SupplyUnit. If this "

          "printer can reliably sense this value, the value is sensed "

          "by the printer and cannot be changed by the system "

          "administrator; otherwise, the value may be changed "

          "out-of-band by the system administrator."),

       MinValue ( 0 ), MaxValue ( 2147483647 ),

       MappingStrings {

          "MIB.IETF|Printer-MIB.prtMarkerSuppliesMaxCapacity",

          "MIB.IETF|Printer-MIB.prtMarkerSuppliesSupplyUnit",

          "MIB.IETF|Printer-MIB.PrtMarkerSuppliesSupplyUnitTC" },

       ModelCorrespondence { "CIM_PrintSupply.MaxCapacityBasis" }]

   uint32 MaxCapacity;

 

      [Description (

          "The basis for the gauge property Level, that specifies "

          "whether a meaningful value is available. 1 (Other) means "

          "the printer places no restrictions on capacity and Level "

          "shall be null. 2 (Unknown) means the printer cannot sense a "

          "meaningful value and Level shall be null. 3 (Actual) means "

          "the printer can sense a meaningful value and Level shall be "

          "present. 4 (AtLeastOne) means that the printer can only "

          "sense that at least one capacity unit remains and Level "

          "shall be present and shall contain the value zero or one."),

       ValueMap { "1", "2", "3", "4", ".." },

       Values { "Other", "Unknown", "Actual", "AtLeastOne",

          "DMTF Reserved" },

       MappingStrings { "MIB.IETF|Printer-MIB.prtMarkerSuppliesLevel" },

       ModelCorrespondence { "CIM_PrintSupply.Level" }]

   uint16 LevelBasis;

 

      [Description (

          "The current level if this supply is a container or the "

          "remaining capacity if this supply is a receptacle, in units "

          "specified by CIM_PrintSupply.SupplyUnit. If this printer "

          "can reliably sense this value, the value is sensed by the "

          "printer and cannot be changed by the system administrator; "

          "otherwise, the value may be changed out-of-band by the "

          "system administrator."),

       MinValue ( 0 ), MaxValue ( 2147483647 ),

       MappingStrings { "MIB.IETF|Printer-MIB.prtMarkerSuppliesLevel",

          "MIB.IETF|Printer-MIB.prtMarkerSuppliesSupplyUnit",

          "MIB.IETF|Printer-MIB.PrtMarkerSuppliesSupplyUnitTC" },

       ModelCorrespondence { "CIM_PrintSupply.LevelBasis" }]

   uint32 Level;

 

      [Description (

          "If this supply does not represent a marker colorant, then "

          "this property shall be null. If this supply does represent "

          "a marker colorant, then this property shall be present and "

          "shall denote the role played by this marker colorant."),

       ValueMap { "1", "3", "4", ".." },

       Values { "Other", "Process", "Spot", "DMTF Reserved" },

       MappingStrings { "MIB.IETF|Printer-MIB.prtMarkerColorantRole",

          "MIB.IETF|Printer-MIB.PrtMarkerColorantRoleTC" },

       ModelCorrespondence { "CIM_PrintMarker.OtherColorantRole",

          "CIM_PrintMarker.ProcessColorants",

          "CIM_PrintMarker.SpotColorants" }]

   uint32 ColorantRole;

 

      [Description (

          "If this supply does not represent a marker colorant, then "

          "this property shall be null. If this supply does represent "

          "a marker colorant and the value of the ColorantRole "

          "property is equal to 1 (Other), then this property shall be "

          "present and shall contain a free-form string that describes "

          "the role of the colorant."),

       MinLen ( 0 ), MaxLen ( 255 ),

       ModelCorrespondence { "CIM_PrintMarker.ColorantRole" }]

   string OtherColorantRole;

 

      [Description (

          "If this supply does not represent a marker colorant, then "

          "this property shall be null. If this supply does represent "

          "a marker colorant, then this property shall be present and "

          "shall denote the colorant name using the standardized "

          "string names from ISO 10175 (DPA) and ISO 10180 (SPDL): "

          "other, unknown, white, red, green, blue, cyan, magenta, "

          "yellow, and black. Vendors and administrators may specify "

          "alternate string values in the OtherColorantName property."),

       MinLen ( 0 ), MaxLen ( 255 ),

       MappingStrings { "MIB.IETF|Printer-MIB.prtMarkerColorantValue" },

       ModelCorrespondence { "CIM_PrintSupply.OtherColorantName" }]

   string ColorantName;

 

      [Description (

          "If this supply does not represent a marker colorant, then "

          "this property shall be null. If this supply does represent "

          "a marker colorant and the value of the ColorantName "

          "property is equal to 'other', then this property shall be "

          "present and shall contain a vendor or administrator defined "

          "value. The naming conventions in ISO 9070 are recommended "

          "in order to avoid potential name clashes."),

       MinLen ( 0 ), MaxLen ( 255 ),

       ModelCorrespondence { "CIM_PrintSupply.ColorantName" }]

   string OtherColorantName;

 

      [Description (

          "If this supply does not represent a marker colorant, then "

          "this property shall be null. If this supply does represent "

          "a marker colorant, then this property shall be present and "

          "shall denote the distinct levels of tonality realizable by "

          "a marker when using this colorant. This value does not "

          "include the number of levels of tonal difference that an "

          "interpreter can obtain by techniques such as half toning. "

          "This value must be at least 2."),

       MinValue ( 2 ), MaxValue ( 2147483647 ),

       MappingStrings {

          "MIB.IETF|Printer-MIB.prtMarkerColorantTonality" }]

   uint32 ColorantTonality;

};

 

// end of class 

 

Discussion Points (Summary of decisions and discussions of the WG in creating this CR) :

(insert text here)

Change History (Mandatory after submission to the TC, May be used by the WGs):

Version

Date 

Short description of changes

 00

 2007/05/31

Original version.  

 01

 2007/05/31

Correct descriptions of ColorantName and OtherColorantName.  

Note that this document is labeled as "DMTF Confidential".  It is intended only for DMTF member companies and alliance partners.
This Change Request may be withdrawn or modified by subsequent Change Requests.

All submissions MUST comply with the DMTF Patent and Technology policy (http://www.dmtf.org/about/policies/patent-10-18-01.pdf)

Template Sample Version 2.0.0.d