1. Field of the Present Invention
The invention is in the field of printer systems and, more particularly, methods for tracking the productivity of commercial printer systems.
2. History of Related Art
Businesses that engage in production printing want to know how their printers have performed historically. Information regarding uptime, error conditions, status, consumables, and snapshots based on operators, print engines, or shifts are all of interest to production printing businesses. In addition, businesses need to have an accurate gauge of the true cost of printing including click charges, toner usage, and paper usage. The ability to track usage of consumables enables businesses to forecast accurately their needs in the future.
Printer manufacturers have attempted to address at least some of these requirements in small printer system applications. In a conventional productivity tracking application, a server that is connected to a printer system continuously monitors the printer system using a general purpose networking protocol such as SNMP (simple network management protocol). The more obvious drawbacks of this type of productivity tracking solution include the requirement that the server monitor the printer system continuously and the use of a general purpose networking protocol to convey the data. If the server stops monitoring the printer system for even a short duration, potentially valuable information may be lost. The use of a general purpose protocol is not optimized or customizable for printer system applications. Accordingly, it would be desirable to implement a printer system productivity tracking tool to address these shortcomings.
The identified objective is addressed by a method and system for tracking printer productivity that includes retrieving archived data stored on a remote printer that is connected to a network. The data is parsed and stored in a relational database. The data is retrieved from the database and used to generate a graphical representation of the data. The data may be represented as XML data and retrieving the data may include establishing a simple object access protocol (SOAP) connection between the printer system data and sending XML commands to the printer system. Storing the parsed data in a relational database may include establishing a Java database connectivity (JDBC) connection with a database server. The data is a log of events occurring on the printer system. The logged events may include status events indicating an operational status of the printer, job events indicating the beginning and ending of jobs, and intervention events indicating error status changes of the printer system.
Other objects and advantages of the invention will become apparent upon reading the following detailed description and upon reference to the accompanying drawings in which:
While the invention is susceptible to various modifications and alternative forms, specific embodiments thereof are shown by way of example in the drawings and will herein be described in detail. It should be understood, however, that the drawings and detailed description presented herein are not intended to limit the invention to the particular embodiment disclosed, but on the contrary, the intention is to cover all modifications, equivalents, and alternatives falling within the spirit and scope of the present invention as defined by the appended claims.
A productivity tracking tool for printer systems is disclosed. The tracking tool includes an application to retrieve printer system data that is stored locally on one or more networked printer systems. The application parses the retrieved data and stores it in a relational database. The system preferably further includes templates or other interfaces to access the database and display the information in useful formats or graphs. In the preferred implementation, the data is retrieved by the application as XML (extensible markup language) data that is customizable for the particular application.
Turning now to the drawings,
Printers 102 are connected to a local area network (LAN) 101. In the preferred embodiment, LAN 101 is a conventional Ethernet® LAN. Also connected to LAN 101 are a database server 110 and a productivity tracker (PT) system 120. PT system 120 is responsible for retrieving data from printer systems 102, parsing the retrieved data, and storing the parsed data on database server 110. Although PT system 120 and database server 110 are distinct physical systems as depicted in
Portions of the printer productivity application described herein may be implemented as a set or sequence of computer executable instructions (i.e., software). In such embodiments, the computer executable instructions may be stored on a computer readable medium such as a magnetic disk or other form of non-volatile storage device including flash memory devices, erasable and/or programmable read only memory (ROM's), optical disks including compact disks (CD's), digital versatile disks (DVD's), and the like. During execution, portions of the computer instruction may be stored in a volatile storage medium such as system memory or a processor's internal or external cache memory.
Referring now to
The location of ODBC client 206 may also vary depending upon the implementation. In one embodiment, ODBC client 206 and PT application 202 reside on PT system 120 while relational database 204 resides on database server 110. ODBC client 206 is responsible for retrieving printer productivity data stored in relational database 204 and presenting the data to a user in a meaningful format such as a graph, table, chart, or the like.
In the depicted implementation, PT application 202 is responsible for retrieving locally stored print data from each of the individual printer system(s) 102, two instances of which are indicated in
PT application 202 preferably parses the log entries in the retrieved data and stores the parsed data in relational database 204. PT application 202 preferably also handles the configuration and management of database 204 and user options such as user language preferences and a polling interval, which controls the frequency with which PT application 202 retrieves data from printer system(s) 102. PT application 202 may execute in the background to retrieve data from printer systems 102 opportunistically such as when the load on the PT system 120 is otherwise low. The user will preferably assign a low operating system priority to PT application 202. In this manner, PT system 102 need not be dedicated solely for the purpose of acting as a printer system server, but may instead be used for other tasks.
ODBC client 206 retrieves data from database 204 and presents it to the user in a graphical format or another user friendly format. ODBC client 206 may employ standardized or predetermined templates to simplify the user's task of generating meaningful presentations of the data. The predetermined templates may include templates for generating charts or graphs for the following productivity parameters: Percent Time Printing, Snapshot Changes (showing the number of snapshot changes occurred per time interval), Estimated Click Count (shows click count over time), Estimated Toner Changes (a bar chart showing estimated number of toner changes per time interval), Error Frequency (showing the type of errors occurred and the percentage of their frequency), and Feet Printed (shows feet printed per time interval).
Turning now to
Print engines 106 represent the physical print hardware. Printer controllers 105 are general purpose or application specific processors exemplified by the AFCCU (advanced function common control unit) controllers from IBM Corporation. AFCCU controllers are reduced instruction set computer (RISC) processors that contain a common set of code for all supported printer systems. In embodiments where printer system 102 includes an AFCCU controller 105 and two print engines 106-1 and 106-2, printer system 102 may operate in a dual simplex mode or a duplex mode. In dual simplex mode, each printer engine 106 prints a separate simplex job. In duplex mode, each printer engine 106 prints one side of a duplex job from controller 105.
In the implementation depicted in
Printer systems 102 as depicted in
SOAP does not govern the semantics of any application-specific data it conveys, the routing of SOAP messages, reliable data transfer, or firewall traversal. SOAP provides the framework by which application-specific information may be conveyed in an extensible manner and defines the required actions for a SOAP node that receives a SOAP message. Code suitable for use as a SOAP server application is available from the Apache Software Foundation.
JPT 302 communicates with SOAP server(s) 103 over a SOAP-compliant connection by sending XML commands to SOAP server 103 and receiving XML responses from SOAP server 103. In one embodiment, the SOAP connection between JPT 302 and SOAP server 103 uses a non-standard or custom TCP/IP port (e.g., port 10,000). JPT 302 uses the SOAP connection, identified by reference numeral 109, to retrieve XML files 301 containing printer system data. XML files 301 include logging entries generated by controller 105 during operation of the printer. The logging entries preferably contain information sufficient to derive values for a number of important performance and cost parameters associated with the corresponding printer system 102. Additional detail of the structure of XML files 301 according to one embodiment is described in below with respect to
JPT 302 is further configured to parse the printer system data contained in XML files 301 and forward the parsed data to the database server. The generic database server 204 of
In one embodiment, PT application 202 of
As depicted in
If the transfer of data completes successfully, the status variable is set to indicate that PT application 202 is processing (block 410) the downloaded print data. Processing 410 may include parsing XML formatted data retrieved from printer systems 102 by PT application 202 and saving the parsed data to relational database 204 in a database format such as DB2. In some embodiments, processing 410 also includes using the parsed data to calculate data that is of direct value to the end user and storing any such calculated data back into relational database 204. As an example, the data in XML files 301 retrieved from SOAP server 103 preferably includes printer system logging entries such as entries indicating when the status of the corresponding printer system transitions to a PRINTING status and logging entries indicating when the printer system status transitions to a STOPPED PRINTING status. It may be desirable for a user to know the percentage of time that a given printer system is actually printing. Processing 410 of
If PT application 202 is not able (block 412) to parse and save the data, the status variable is updated (block 432) to indicate that PT application 202 was unable to parse the stored data or to access the relational data base. If PT application 202 is able to process the stored data by parsing the data and saving it to the database, the status variable is set (block 414) to indicate successful completion of the transfer process. The sequence represented by blocks 402 through 414 is executed for each printer system 102 in printer system configuration 100.
Those skilled in the field of data processing systems generally and web-based software applications in particular will recognize that the printer system data retrieved from the printer systems 102 by PT application 202 occurs in several formats within the configuration 100. In the implementation depicted in
In the preferred embodiment, PT application 202 is configured to generate graphical user interfaces (GUI's) that facilitate interaction with the system user. Turning now to
Title bar 501 of GUI 500 contains the Title Text such as “Productivity Tracking Feature” in its center, standard icons for minimizing, maximizing, and closing the application on its right side, and possibly a logo icon on its left side. Menu Bar 502, according to one embodiment includes at least three menu items, namely, a “System” item, an “Options” item, and a “Help” item. When a user mouses over or clicks on the “System” item of menu bar 502, a drop down menu 510 containing selected System commands appears.
In the depicted embodiment, System menu 510 contains commands for adding (511) a printer system, editing (512) a printer system, deleting (513) a printer system, retrieving (514) data from a system immediately, and an exit command (515). Add System command 511 enables a user to add a system to the set of printer systems being monitored by PT application 202. Similarly, Edit System command 512 enables the user to modify the parameters associated with a system while Delete System command 513 removes a system from the configuration. Retrieve Data Now command 514 initiates an asynchronous retrieval of printer system data from each printer system 102 that is currently configured.
In one embodiment, the Options menu 520 depicted in
When a user selects the Help item of menu bar 502 as depicted in
The commands and menus depicted in
As indicated previously, PT application 202 retrieves locally stored print data 201 from the various printer systems. In one embodiment, locally stored print data 201 includes one or more log files that contain entries for several types of events including job events, snapshot events, configuration events, status events, and error events.
In some embodiments, XML files 301 of
The attributes sub-element 608 of event type 600 as shown in
A status event indicates the operational status of a printer system and occurs whenever the status changes. The “id” parameter for a status event may be either “open” at the beginning of a period of known printer system status or “closed” at the end of a period of printer status. The “value” parameter for a status event may include, as examples, “shutdown”, “restart”, “error”, “not available”, “warming”, “sleeping”, “busy”, “printing”, “receiving”, “ready”, and “not ready”.
An intervention event (also referred to as an error event) provides information about printer system errors that occur during operation. The “id” parameter of an intervention event may have an “open” value when a new intervention error condition occurs, an “error acknowledged” value when the operator acknowledges the error, and a “closed” value indicating that a printer error has been cleared. An intervention event preferably contains a system reference code (SRC) indicating a code for the type of intervention, a pid value, and a text translation of the SRC.
A job event is logged at the beginning and ending of every print job. The “id” parameter for a “job” event may include a “job printing” value, a “job printed” value, or a “job aborted” value. The “value” parameter for an intervention event may indicate that name of the job, if one was entered.
A snapshot event is logged whenever a printer system snapshot is created, loaded, or modified. A snapshot is a prefined set of printer system configuration parameters that enables an operator to return to a frequently used configuration setting quickly. The “id” parameter for a snapshot event may have a “loaded” value when a snapshot was loaded into the printer system and a “modified” value when an existing snapshot is edited or otherwise altered. The “value” parameter for the snapshot event may identify the name of the snapshot if given.
A configuration event occurs whenever a printer system configuration changes. The “id” parameters for a configuration event type (also referred to as a cookie event type) may indicate one of many settings for a printer system. In one embodiment, for example, the “id” parameter of a configuration event may indicate, as examples, simplex vs. duplex mode, the identity of the operator, the level of toner, with a different parameter for each engine type, an oil level for both print engines, a value for the boldness settings of each engine, a contrast setting for each engine, a preheat temperature for both engines, and a fuser temperature for both engines. The configuration event type may indicate additional a parameters as well.
It will be apparent to those skilled in the art having the benefit of this disclosure that the present invention contemplates a system and method for tracking the productivity parameters of a printer system. It is understood that the form of the invention shown and described in the detailed description and the drawings are to be taken merely as presently preferred examples. It is intended that the following claims be interpreted broadly to embrace all the variations of the preferred embodiments disclosed.
This application claims the benefit of the provisional application entitled, Productivity Tracking Feature, Ser. No. 60/720,003 filed 23 Sep. 2005, which is incorporated by reference herein.
| Number | Date | Country | |
|---|---|---|---|
| 60720003 | Sep 2005 | US |