status of the proxy printer provider prototype pwg wims-cim working group rick landau dell, cto...

19
Status of the Proxy Printer Provider Prototype PWG WIMS-CIM Working Group Rick Landau Dell, CTO Office 2008/10/21 v0.2

Upload: nicole-barnett

Post on 27-Mar-2015

212 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Status of the Proxy Printer Provider Prototype PWG WIMS-CIM Working Group Rick Landau Dell, CTO Office 2008/10/21 v0.2

Status of the Proxy Printer Provider Prototype

PWG WIMS-CIM Working Group

Rick LandauDell, CTO Office2008/10/21 v0.2

Page 2: Status of the Proxy Printer Provider Prototype PWG WIMS-CIM Working Group Rick Landau Dell, CTO Office 2008/10/21 v0.2

2

Prototype Being Constructed

• Network printer: whatever is at the end of the aisle• "Server" system: Windows box of some sort• Management client: el cheapo CIM data browser

application, not printer-specific, not suitable for actual management• Probably local on server system

Any oldnetworkprinter

"Server" system

WMI ToolsCIM Studio and

CIM browserSNMP CIM data

accessprotocol

Protoproxy

provider

CIMObject

Manager

Page 3: Status of the Proxy Printer Provider Prototype PWG WIMS-CIM Working Group Rick Landau Dell, CTO Office 2008/10/21 v0.2

3

What is a CIM Provider?

• A provider implements one or more classes under the CIMOM• Only one provider permitted to implement a class (in a

namespace)

• A mapping layer between a driver and a data repository• Maps from physical representation to logical representation

• Physical = hardware, driver, device-dependent

• Logical = device-independent model, data represented using CIM schema standard classes

• Façade only• Passive code, called when needed, no active business logic, no

active management, translation interface only

Page 4: Status of the Proxy Printer Provider Prototype PWG WIMS-CIM Working Group Rick Landau Dell, CTO Office 2008/10/21 v0.2

4

Doing a CIM Proxy Provider

• What is this CIM provider?• This provider implements a number of the new printer classes

• What's a proxy provider? An SNMP-to-CIM proxy agent• Reads SNMP data from a network printer• Republishes that data in CIM format

• Management applications using WBEM protocols can then access the data in CIM schema format• WS-Management protocol in particular• However, I'm not building an application as part of the prototype

Page 5: Status of the Proxy Printer Provider Prototype PWG WIMS-CIM Working Group Rick Landau Dell, CTO Office 2008/10/21 v0.2

5

Structure of Provider

• Provider statically registers definitions of classes to be instantiated in what namespaces• CIMOM uses this to determine what provider to call for what

data requests: instances (of classes) in CIM namespaces

• WBEM protocols are all "pull" model• Data doesn't have to exist until someone asks for it, never stale• Data isn't stored, it's "instantiated" when requested• Fewer db race conditions (locking being addressed just now)

• Uses an interface up to CIMOM• Uses an interface down to "driver(s)"• The cheese in the sandwich translates the data

Page 6: Status of the Proxy Printer Provider Prototype PWG WIMS-CIM Working Group Rick Landau Dell, CTO Office 2008/10/21 v0.2

6

Management Stack - Proxy Provider

Hardware

Hardware Instrumentation

Mapping Layer = Proxy provider

Aggregation Layer = WMI

Access Layer = WS-Man service

Resource Management Layer Remote

In server node

In managed node

Page 7: Status of the Proxy Printer Provider Prototype PWG WIMS-CIM Working Group Rick Landau Dell, CTO Office 2008/10/21 v0.2

7

Management Stack - Protocols Between Layers

Hardware

Hardware Instrumentation

Mapping Layer = Proxy provider

Aggregation Layer = CIMOM

Access Layer = WS-Man service

Resource Management Layer

SNMP

WS-Management

(OS-specific)

Page 8: Status of the Proxy Printer Provider Prototype PWG WIMS-CIM Working Group Rick Landau Dell, CTO Office 2008/10/21 v0.2

8

What to Implement

• Substantive classes• Association classes• Properties• Operations

Page 9: Status of the Proxy Printer Provider Prototype PWG WIMS-CIM Working Group Rick Landau Dell, CTO Office 2008/10/21 v0.2

9

Printer Classes

• (All begin with CIM_Print)• InputTray• OutputTray• MediaPath• Marker• Channel• Interpreter• Finisher• Interlock• AlertRecord

• (Printer-specific Associations)• PrinterComponent• AssociatedPrintSupply• AssociatedPrintInterpreter

• (Other CIM Associations)• ConcreteComponent• Dependency• UseOfLog• LogManagesRecord

Page 10: Status of the Proxy Printer Provider Prototype PWG WIMS-CIM Working Group Rick Landau Dell, CTO Office 2008/10/21 v0.2

10

Classes Currently Implemented

• InputTray (almost complete)• OutputTray• Interlock (almost complete)• MediaPath• Marker• Supply• Channel• Interpreter• AlertRecord

Page 11: Status of the Proxy Printer Provider Prototype PWG WIMS-CIM Working Group Rick Landau Dell, CTO Office 2008/10/21 v0.2

11

Properties Implemented

• Important structural properties included• InstanceID• SNMPRowID• Name

• Easy mappings• Direct mapping: CIM property value = SNMP variable value• Constant value• Null value

• Algorithmic mappings• XxxBasis• AvailabilityStatus• PrimaryStatus• CriticalAlertsPresent• NoncriticalAlertsPresent

• Selected others

Page 12: Status of the Proxy Printer Provider Prototype PWG WIMS-CIM Working Group Rick Landau Dell, CTO Office 2008/10/21 v0.2

12

Operations Implemented

• Get Instance• Call Get(string className, string keyName[ ], string keyValue[ ])• Return all class properties

• propertyName=propertyValue;…

• Enumerate Instances• Call Enumerate(string className)• Return all values of all class instances

• instance1;propertyName=propertyValue;…instance2;propertyName=propertyValue;…

• All output in XML eventually

Page 13: Status of the Proxy Printer Provider Prototype PWG WIMS-CIM Working Group Rick Landau Dell, CTO Office 2008/10/21 v0.2

13

Structure of Provider

• Operation interface: Get, Enumerate• Subsystem own class instances• Class instance owns properties• Property owns variables• Variable retrieved by SNMP interface• Property owns calculation function

• Many runtime dictionaries to guide program flow• Initialization phase turns ini files into runtime tables

• Initialization also finds all instances of subsystems, e.g., how many input trays

Page 14: Status of the Proxy Printer Provider Prototype PWG WIMS-CIM Working Group Rick Landau Dell, CTO Office 2008/10/21 v0.2

14

Class Relationships

Request

Instances (ofa single class)

Property Calc Function

Variable

Subsystem

Printer

1 -> N

1 -> N

1 -> N 1 -> N

1 -> 1 or1 -> N

1 -> N

1 -> 1

(prtInputTray)

(CIM_PrintInputTray)

(IsDefault) (fInputTray_IsDefault)

(prtInputIndex)

(prtInputDefaultIndex)

from CIMOM1 -> 1

Page 15: Status of the Proxy Printer Provider Prototype PWG WIMS-CIM Working Group Rick Landau Dell, CTO Office 2008/10/21 v0.2

15

Ini Files

• CIM classname -> list of CIM properties• CIM property name -> list of SNMP variables• SNMP variable name -> OID• CIM classname -> SNMP table of instances• CIM classname -> SNMP subscript structure• SNMP variable name -> SNMP subscript structure

(exceptions)• CIM property name -> name of function to calculate CIM

value from SNMP values• Discovered printers: name, IP

Page 16: Status of the Proxy Printer Provider Prototype PWG WIMS-CIM Working Group Rick Landau Dell, CTO Office 2008/10/21 v0.2

16

Cutting Corners

• SNMP interface: Get and GetNext• Reads variable values from MIB dump files• Numeric OID string -> string value or error

• Output in debug form• Flat-file output: className propertyName propertyValue

• One printer at a time• No discovery of network printers• Manual input from ini file• Not thread-safe

• Hey, it's a p-r-o-t-o-t-y-p-e

Page 17: Status of the Proxy Printer Provider Prototype PWG WIMS-CIM Working Group Rick Landau Dell, CTO Office 2008/10/21 v0.2

17

To Do

• Enum mappings• Direct mappings already done

• Many, many properties• Including many inherited from parent

• Association classes• Real interface to the Dell CIMOM interface ("secret

sauce")• Localhost IP communication between CIMOM and

daemon

Page 18: Status of the Proxy Printer Provider Prototype PWG WIMS-CIM Working Group Rick Landau Dell, CTO Office 2008/10/21 v0.2

18

Look at Some Files

• ini files• Calculation functions

Page 19: Status of the Proxy Printer Provider Prototype PWG WIMS-CIM Working Group Rick Landau Dell, CTO Office 2008/10/21 v0.2

19

Questions?