SimpleCORE
SYSTEMS & DATA / PROJECT

Printer Workbench

Printer health and supplies, on site and remotely.

In-house development · Desktop tool and collection agent

Chapters 7Topics 7
PROJECT STORY
01 / 07
MACOS

One view of printers across multiple sites.

Workbench is a desktop tool with an embedded agent and a receiver for agents on other networks. Its dashboard combines device health, vendors, supply levels, alerts, and trends. Agent handles discovery, scheduled collection, and reporting. Screens use the English interface and demonstration data.

MACOS

From toner levels to component life.

Collect toner, ink, drums, belts, fusers, waste toner, trays, page counters, and device alerts. Normalize supply types, colors, and units alongside level trends and collection history. Unknown readings remain unknown; waste containers are interpreted by fullness. Available fields depend on the device’s MIB implementation.

MACOS

Bring field data back over authenticated connections.

Remote agents send batches and health reports over HTTPS with mutual TLS. Workbench creates registration kits and manages certificate expiry, revocation, reissue, and remote configuration. SNMP credentials are stored with AES-256-GCM and excluded from kits. Failed deliveries are buffered on disk and retried with backoff; exceeding the buffer limit discards older batches and records an event.

Start with standard MIBs. Interpret vendor differences.

Supports SNMP v1, v2c, and v3 using read-only GET, GETNEXT, and GETBULK requests, with no SET operations. Table walks use GETBULK where available and fall back to GETNEXT after repeated non-response. Per-device timeouts, retries, and concurrency control collection load.

Printer-MIB (RFC 3805), HOST-RESOURCES-MIB, and MIB-II provide identity, supplies, counters, and health. Where exposed, collection includes Job Monitoring MIB, ENTITY-MIB, Finisher MIB, and PWG device IDs. IPP, LPR, and RAW print paths are read as MIB data.

Vendor profiles define sysObjectID matching, private OIDs, semantic roles, and decoders. Brother binary blocks, Ricoh level codes, and OEM identities become common records. Field runs can preserve raw walks and normalized results for replay and analysis.

SNMPv3 supports configurable authentication and privacy modes with SHA-family and AES options. Community traffic in v1/v2c is not encrypted. Device-to-agent SNMP security, agent-to-receiver mTLS, and local credential encryption protect separate parts of the system.

  • Java 25
  • Kotlin
  • Compose Multiplatform
  • SNMP4J
  • SQLite
  • mTLS
  • AES-256-GCM
MACOS

Vendor profiles with explicit verification scope.

Includes 22 profiles: HP, Canon, Epson, Ricoh, Kyocera, Brother, Xerox, Lexmark, Konica Minolta, Samsung, Sharp, Dell, OKI, Toshiba TEC, Sindoh, Pantum, Muratec, RISO, Olivetti, Panasonic, Zebra, and TSC. Coverage centers on printers and MFPs, with label-printer and some network-scanner identification. Brother MFC-L3760CDW has physical-device validation. Other coverage is tracked by recorded SNMP replay, simulation, or profile matching; fields vary by model and firmware.

A shared collection engine for different environments.

Agent and the collector use Java 25 and SNMP4J. Asynchronous requests and per-device virtual threads support discovery and collection, with separate scheduling, normalization, reporting, buffering, and transport modules. The embedded agent reports in process; standalone agents use HTTPS.

Workbench uses Kotlin, Compose Multiplatform, and Coroutines. SQLite stores devices, snapshots, and receipt history; Jackson handles JSON and YAML. Bouncy Castle supports certificate issuance. Windows and macOS packages include the runtime, with English, Korean, and Japanese interfaces.

A Gradle multi-module build and JUnit tests separate protocols, MIBs, vendor profiles, collection, and runtime. Recorded data and simulators exercise normalization and transport. Field collection follows discovery, collection, recording, and export while preserving per-device failures and cancellation history.

  • Java 25
  • Kotlin
  • Compose Multiplatform
  • SNMP4J
  • SQLite
  • mTLS
  • AES-256-GCM
© 2026 SIMPLECORE INC.CONTEXT. STRUCTURE. EXPERIENCE.