Hardcopy output engine configuration apparatus and method

A method of configuring a hard copy output engine includes receiving an electronic message including configuration data and configuring the hard copy output engine using the configuration data.

COPYRIGHT NOTICE

Contained herein is material, including material incorporated by reference, which is subject to copyright protection. The copyright owner does not object to the electronic, facsimile or electrophotographic reproduction of the patent disclosure by any person as it appears in the Patent and Trademark Office patent files or records, but otherwise reserves all rights to the copyright whatsoever.

FIELD OF THE INVENTION

The invention relates to printers and other hard copy output engines. More particularly, the invention relates to hard copy output engine consumable supply management and related methods.

BACKGROUND OF THE INVENTION

As computer systems and data communications systems have developed, the number and variety of hard copy output engines employed in a typical office or factory setting has grown. Examples include photo copiers, facsimile machines, printers and devices including more than one of these capabilities. In turn, this has led to a need to be able to order greater number of consumable supplies, some of which are specific to specific types of hard copy output engines.

As need for these types of hard copy output engines has grown, a number of different manufacturers have developed different hard copy output engines providing different operational characteristics and capabilities. While some consumable commodities associated with these devices are common to most or all such devices (e.g., standardized paper sizes), other consumable commodities, such as marking materials including toners and toner supply cartridges or ink reservoirs, tend to be unique to a specific manufacturer. Additionally, different hard copy output engines may have different paper capacities, capabilities for accepting more or fewer paper sizes and different toner or other pigment supply requirements and capacities.

It is generally helpful to have a mechanism for keeping track of usage of consumable commodities in keeping computer systems functional, and to determine when periodic or aperiodic maintenance is desirable. For example, it is extremely helpful to ensure that adequate supplies of replacement print media and pigmentation or marking material are available when needed.

Coordination of orders for supplies can be very helpful to avoid over- or under-stocking of these consumable commodities, while still achieving the benefits of economies of scale by pooling orders to service multiple hard copy output engines, especially those using at least some of the same consumable commodities. However, in many business settings, the sheer number of diverse hard copy output engines being used in different aspects or divisions of the business may lead to confusion in maintaining adequate supplies of these consumable commodities.

What is needed is a way to facilitate provision of data providing a communications link to suppliers of consumable commodities, as well as data describing consumable commodity status, for a network including one or more hard copy output engines.

SUMMARY OF THE INVENTION

In accordance with an aspect of the present invention, a method of configuring a hard copy output engine includes receiving an electronic message including configuration data and configuring the hard copy output engine using the configuration data.

In accordance with another aspect of the present invention, a computer instruction signal embodied in a carrier wave carrying instructions that when executed by a processor cause the processor to receive an electronic message including configuration data and configure the hard copy output engine using the configuration data.

In accordance with yet another aspect of the present invention, a computer implemented control system for a hard copy output engine includes memory configured to store a software module and processing circuitry. The processing circuitry is configured to employ the software module to receive an electronic message including configuration data and configure the hard copy output engine using the configuration data.

Other features and advantages of the invention will become apparent to those of ordinary skill in the art upon review of the following detailed description, claims and drawings.

DETAILED DESCRIPTION OF THE INVENTION

FIG. 1is a simplified block diagram of a computer network10including a computer12and a hard copy output engine14(one form of a peripheral device), in accordance with an embodiment of the present invention. The computer12is coupled to the hard copy output engine14via a bus16allowing either the computer12or the hard copy output engine14to initiate data communications with the other. In one embodiment, the hard copy output engine14is a device such as a printer, copier, facsimile machine or a multi-function device capable of providing two or more such functions. It will be appreciated that whileFIG. 1illustrates only a single computer12and a single hard copy output engine14for ease of illustration and convenience in understanding, multiple computers12and hardcopy output engine14may all be coupled to the bus16.

In one embodiment, the system10is coupled to an external interconnection17via a data path18. In one embodiment, the data path18includes an intranet. In one embodiment, the data path18includes a local area network (LAN) or wide area network (WAN). In one embodiment, the data path18includes access to the Internet via a firewall19.

Security is a constant challenge for networks and computing engineers responsible for networks, and is discussed in commonly-assigned U.S. Pat. No. 6,192,410 B1, entitled “Methods And Structures For Robust, Reliable file Exchange Between Secured Systems”, issued to Miller et al. and which is hereby incorporated herein by reference. In particular, and as discussed in the afore-noted patent, it is important in wide area network applications for computing systems attached to such a network to secure their resources from inappropriate, unauthorized access. The Internet is an example of a global wide area network where security measures are often critical to an ongoing business enterprise connected to the Internet. Such security measures are required to assure that unauthorized third parties, anywhere in the world, cannot gain access to sensitive materials within the enterprise via the global, publicly accessible, Internet.

Though such security measures or firewalls19are vital to secure each particular enterprise, their very existence creates the burden for those trying to legitimately exchange information between enterprises via such global, public networks. A user in one particular computing enterprise encounters a number of difficulties exchanging data with another user in a different computing enterprise via computer system to computer system network communication links. Though the communication capability may exist, for example via the Internet, safeguards and security measures (firewalls19) within each enterprise makes such enterprise-to-enterprise exchanges difficult—exactly as they are intended to do.

In general, such firewall19security measures operate at lower layers of the network communication layered model to filter out potentially harmful network data exchange. For example, the firewall19may permit certain protocols to be exchanged only among certain network devices known to be physically secured within the enterprise. Network devices not within the permitted scope of secured devices are not permitted to use the filtered protocols. Should such un-authorized devices attempt such communications, the firewall19simply discards their network data transfer requests. As a result, a vendor may not be able to initiate data communications between a database maintained by the vendor and devices that have been deployed at clients of that vendor or allied vendors.

In one embodiment, the computer12and the hard copy output engine14are capable of exchanging data via a protocol compatible with presence of other computers12or hard copy output engines14on the bus16. In one embodiment, the computer12and the hard copy output engine14employ an object-oriented request-reply protocol supporting asynchronous printer query, control and monitor capabilities, and that is capable of documenting the requests, replies and data types supported by the protocol. In one embodiment, a protocol known as PML is used.

The term “PML” refers to Printer Management Language, which has been developed by the Hewlett-Packard Company of Palo Alto, Calif.

One exemplary remote query language implemented within the network system is a Simple Network Management Protocol (SNMP). In such an exemplary configuration, host devices such as personal computers12include respective processing circuitry (not shown) operable to formulate an appropriate SNMP query or request which is addressed to one or more appropriate computer peripheral devices using a communication medium. The appropriate computer peripheral device(s) receive the query or request and provide information back to appropriate host devices or computers12using the communication medium. Protocols other than SNMP are utilized in other embodiments to implement communications within the system.

PML permits many applications to exchange device management information with numerous computer peripheral devices, such as image forming devices. Individual computer peripheral devices implement any conversion operations between the protocol used to exchange information with respect to computer peripheral devices (e.g., SNMP) and the internal protocol (e.g., PML) used within the respective computer peripheral devices.

In one embodiment, the data path18provides common gateway interface (CGI) data communication capability. In one embodiment, the data path18includes an email capability (e.g., simple mail transfer protocol or SMTP) for facilitating data communication. In one embodiment, the data path18includes a secure data path using HTTP (hyper text transfer protocol) with SSL (secure sockets layer), as is described in more detail in U.S. Pat. No. 5,657,390, entitled “Secure Socket Layer Application Program Apparatus And Method”, issued to Elgamal et al. and U.S. Pat. No. 6,081,900, entitled “Secure Intranet Access”, issued to Subramanian et al., which patents are hereby incorporated herein by reference for their teachings.

The hard copy output engine14includes a controller20, such as a conventional microprocessor or microcontroller. The hard copy output engine14also includes one or more sensors22coupled to the controller20and a memory24in data communication with the controller20. In one embodiment, the memory24comprises conventional volatile and non-volatile memory units. In one embodiment, the memory24includes a computer usable medium such as magnetic, magneto-optic or optical storage media, such as conventional disc storage or floppy disc data storage units, memory integrated circuits or CD-ROMs or the like. In one embodiment, the hard copy output engine14accepts instructions as a computer instruction signal embodied in a carrier wave carrying instructions executable by the controller20.

The sensors22are coupled to consumable commodities associated with the hard copy output engine14. In one embodiment, when the sensors22report that a quantity of a consumable commodity (e.g., print media, paper, marking material such as toner or ink) associated with the hard copy output engine14has decreased to below a predetermined threshold amount, or that malfunction of a dispenser of a consumable commodity exists, the controller20initiates a data communication ultimately intended for transmission via the data path18. Additionally, the sensors22may track data such as number of sheets of media that have been printed, in order to schedule maintenance operations.

The controller20and the memory24also comprise an embedded web server26. Embedded web server26refers to a web server that is completely contained within a device, such as a computer peripheral device. Embedded web servers26are configured to provide management information about the peripheral device. An embedded web server26can be used to manage or manipulate individual peripheral devices, such as the hard copy output engine14, that are present in the network10. A web browser can be used by a network user to access an embedded web server26in order to obtain device status updates, perform troubleshooting operations, change device configuration settings and to link to online customer support.

The term “web browse” refers to an application that runs on a workstation or personal computer12within the network environment10, that lets users view HTML documents via the Internet, to access hyperlinks and to transfer files. In operation, web browsers request information from web servers and display the information that the web servers send back. The information is organized into pages containing text, graphics, sound and animation formatted by HTML and Java® applets.

The term “web server” refers to a specialized program running on a server that supports TCP/IP protocol. Web servers enable workstations or personal computers12or other devices in the network10to access external networks such as the Internet. Web servers receive HTTP requests that browsers running on various types of computer systems send. The web server could be asked to get a text or graphics file, retrieve a ZIP file or run a program. The web server then sends the information, files or program results back to the requesting browser. Embedded web servers26are contained within the hard copy output engine14itself to provide management information about the hard copy output engine14.

FIG. 2is a simplified flow chart of a process P1illustrating how a system can interact with a vendor website across the firewall19ofFIG. 1to enable a peripheral device, such as the hard copy output engine14, to exchange information with the vendor website via the embedded web server26, in accordance with an embodiment of the present invention.

Initially, it is desirable to provide the vendor site with a list of system components, such as peripheral devices, associated with that vendor. This process is called “device discovery”. Device discovery needs to take place at least once for each device that is to be supported via the vendor website. The vendor website is a website associated with the peripheral device. In one embodiment, the vendor website may be a website for an OEM that manufactured the peripheral device. In one embodiment, the vendor website may be a website for a remanufacturer that remanufactures or reconditions consumables, such as pigmentation or marking material (e.g., toner or ink cartridges), for the peripheral device. In one embodiment, the vendor website may be a website for a vendor of peripheral devices that compete with the manufacturer that produced the peripheral device.

The process P1is initiated when the MIS manager browses the vendor website in a step S11.

In a step S12, the MIS manager downloads a device discovery plug in via the web browser contained in the MIS manager's computer12.

In a step S13, the device discovery plug in engages in device discovery, that is, inventories peripheral devices that are coupled to the bus16that are also associated with that vendor. In one embodiment, the device discovery plug in includes information entered by the MIS manager regarding peripheral devices that the MIS manager knows have been added to the system or that have been modified.

In one embodiment, the device discovery plug in acts as a proxy for the vendor web site within the network10to poll and identify peripheral devices and their addresses in the network10that are associated with that vendor. In one embodiment, peripheral devices are identified via serial numbers. In one embodiment, the device discovery plug in determines make and model number, as well as options, for each peripheral device associated with that vendor.

In a step S14, the discovered device information is stored for reference. In one embodiment, the device information is stored in memory associated with the vendor website.

In a step S15, the device information is sorted into suitable groups. For example, peripheral devices may be grouped according to internal business structures associated with the network10, e.g., research and development, accounting etc. that may also correspond to specific areas within a facility.

In a step S16, group names are stored for reference. In one embodiment, the group names and data relevant to the individual devices are stored in a memory associated with the vendor web site.

In a step S17, a purchase authorizer is identified for each of the groups determined in the step S15. The purchase authorizer is responsible for authorizing purchases of consumables associated with the peripheral devices and for authorizing periodic and aperiodic maintenance. Additionally, the vendor may provide information to the purchase authorizer regarding product upgrades or accessories as these become available.

In a step S18, maintainers are identified for the groups identified in the step S15. In one embodiment, email addresses for maintainers are collated with the groups identified in the step S16. In one embodiment, the email addresses are stored with the groups in a memory associated with the vendor web site.

The process P1then ends. The process P1provides a way for a vendor website to obtain information from a private network10across the firewall19without compromise of the security of the private network10. The process P1also does not require any added hardware for the network10.

FIG. 3is a flow chart illustrating steps in carrying out a process P2for configuring the devices that were discovered in the process P1ofFIG. 2, in accordance with an embodiment of the present invention. The process P2begins in a step S21.

Optionally, the process P2may be initiated by the vendor web site sending an email to the maintainer in the step S21using the email address obtained in the step S18of the process P1ofFIG. 2. The email may include information specific to the group of devices identified as being associated with that maintainer in the step S18of the process P1.

Alternatively, the process P2may be initiated by the maintainer of the peripheral devices. In either case, the maintainer launches a web browser to interact with the vendor web site in a step S22. In one embodiment, the maintainer launches the web browser using a URL contained in the email message received by the maintainer in the step S21. In one embodiment, the URL is specific to the list of peripheral devices associated with the maintainer.

In a step S23, the maintainer browses the vendor web site to configure a portion of the vendor web site. In one embodiment, the maintainer sets maintenance notification thresholds. For example, some types of maintenance may be set to take place after a predetermined number of sheets of media have been printed, or following a predetermined number of hours of operation, or may be based on other operation-dependent or seasonal criteria.

In a step S24, the maintainer sets thresholds for replenishment of consumables. In one embodiment, these are set via interaction with the vendor web site.

In a step S25, the vendor web site collates the thresholds set by the maintainer and sends back an electronic message including configuration data to be used by the embedded web server26in the peripheral device. In one embodiment, an email including a hotlink having an attached CGI script or an XML list is sent from the vendor web site to the maintainer. A hotlink is an Internet address, usually in the form of a URL (universal resource locator) that can be readily activated, for example by selecting it with a mouse or other tactile input device, to access the web site at that Internet address.

In a step S26, the maintainer then uses this electronic communication to set the thresholds in the peripheral device via the embedded web server26.

In one embodiment, the vendor web site provides a hot link at the vendor web site that, when activated by the maintainer, performs substantially the equivalent of the steps S25and S26.

In one embodiment, the vendor web site may send an email directly to the embedded web server with the configuration data in the step S25. The embedded web server26then uses this electronic communication to set the thresholds in the peripheral device via the embedded web server in the step S26. In one embodiment, the email may be sent to a system administrator to be forwarded to the peripheral device. This allows additional screening to address potential security concerns.

In one embodiment, a device configuration plug in becomes part of the browser. The plug in takes the configuration data from the vendor web site and configures the peripheral. In one embodiment, SNMP is used to configure PML objects to configure the peripheral.

For example, the maintainer may need to be aware of an upcoming shortfall of media or pigmentation or marking material and thus may want to have the re-ordering process start when the supply falls to a predetermined level. Alternatively, the maintainer may prefer to have the re-ordering process initiate when the consumable is essentially depleted. Additionally, the maintainer may want to pool consumable orders over a group of peripherals or over time. The maintainer may also want to coordinate maintenance of local stocks of consumables with changes in consumption, and may opt to replace some consumables that would not otherwise be replaced when other consumables require replacement (e.g., replace a low toner cartridge of one color when another toner cartridge is exhausted) in order to optimize labor content.

The process P2then ends.

FIG. 4is a flow chart illustrating steps in carrying out a process P3for setting preferences for resellers and for identifying purchasers for consumables and service for the devices that were discovered in the process P1ofFIG. 2, in accordance with an embodiment of the present invention. The process P3begins in a step S31.

Optionally, the process P3may be initiated by the vendor web site sending an email to the purchase authorizer in the step S31using the email address obtained in the step S17of the process P1. The email may include information specific to the group of devices identified as being associated with that purchase authorizer and maintainer in the step S18of the process P1.

Alternatively, the process P3may be initiated by the purchase authorizer for consumables for the peripheral devices. In either case, the purchase authorizer launches a web browser to interact with the vendor web site in a step S32. In one embodiment, the purchase authorizer launches the web browser using a URL contained in the email message received by the maintainer in the step S31. In one embodiment, the URL is specific to the list of peripheral devices associated with the purchase authorizer.

In a step S33, the purchase authorizer identifies purchasers associated with the group of peripheral devices identified in the process P1. In one embodiment, the purchase authorizer provides email addresses for the purchasers, and these may be stored in a memory associated with the vendor web site.

In a step S34, the purchase authorizer identifies preferred resellers of consumables for the peripheral devices, and these may be stored in a memory associated with the vendor web site.

The process P3then ends.

FIG. 5is a simplified flow chart of a process P4for setting inventory parameters for the group or groups of peripheral devices identified in the steps S15and S16of the process P1ofFIG. 2, in accordance with an embodiment of the present invention. The process P4begins in a step S41.

Optionally, the process P4may be initiated by the vendor web site sending an email to the purchaser in the step S41using the email address obtained in the step S17of the process P1. The email may include information specific to the group of devices identified as being associated with that maintainer in the step S33of the process P3.

Alternatively, the process P4may be initiated by the purchaser for consumables for the peripheral devices. In either case, the purchaser launches a web browser to interact with the vendor web site in a step S42. In one embodiment, the purchaser launches the web browser using a URL contained in the email message received by the purchaser in the step S41. In one embodiment, the URL is specific to the list of peripheral devices associated with the purchaser.

In a step S43, the purchaser may set group order threshold settings, and these may be stored in a memory associated with the vendor web site. This may be used to combine orders to service needs for a group of peripheral devices using a local store of consumables as a buffer.

In a step S44, the purchaser may set current inventory levels for the local store of consumables, and these may be stored in a memory associated with the vendor web site.

In a step S45, the purchaser sets minimum inventory order trigger thresholds, and these may be stored in a memory associated with the vendor web site.

In a step S46, the purchaser sets maximum target inventory levels, and these may be stored in a memory associated with the vendor web site.

In a step S47, the purchaser sets order notification settings, and these may be stored in a memory associated with the vendor web site.

The process P4then ends.

FIG. 6is a simplified flowchart of a process P5for configuring a peripheral device, such as a hard copy output engine, using the information collected via the processes P1through P4ofFIGS. 2 through 5, in accordance with an embodiment of the present invention.

In one embodiment, the data collected by the processes P1through P4are used to derive XML configuration data in a step S51.

These data are then emailed from the vendor web site to the network10in a step S52. In one embodiment, the data are emailed directly to the embedded web server26of the hard copy output engine14or other peripheral device in the step S52.

In one embodiment, the data are emailed to a responsible party for review in the step S52. In this embodiment, the data are forwarded, for example via email, to the embedded web server26after review by the responsible party in an optional step S53.

In a step S54, the XML configuration data interact with the embedded web server26to set thresholds in the peripheral device, such as the hard copy output engine14.

In one embodiment, the data collected by the processes P1through P4are used to derive XML configuration data that are then emailed to the network10in the step S52. In one embodiment, a CGI script is used to convey the configuration data.

The process P5then ends.

While the flowcharts ofFIGS. 2 through 6assume that separate individuals fill the roles of MIS manager, maintainer, purchase authorizer and purchaser, it will be appreciated that some or all of these roles may be played by one or more persons, or by more or fewer persons. It will also be appreciated that many of the acts ofFIGS. 2 through 6need not occur in the order in which they are described and may take place contemporaneously.

Benefits include allowing the user to configure the hard copy output engine for ease of ordering and maintaining supplies of consumables. This is accomplished without requiring the user to add software modules or hardware to the network10. Additionally, the firewall19maintains integrity of the system10.

The protection sought is not to be limited to the disclosed embodiments, which are given by way of example only, but instead is to be limited only by the scope of the appended claims.