Exemplary embodiments of the present invention will be described below with reference to the accompanying drawing.
The accompanying drawings, which are incorporated in and constitute a part of the specification, illustrate exemplary embodiments of the invention and, together with the description, serve to explain the principle of the invention.
It is to be noted that the information processing apparatus of the present invention is not limited to a device with the function of executing a printing process and can be applied to any type of device so long as it executes a process of notifying an external device, which manages charge information, of count information corresponding to execution of predetermined information processing.
In other words, the information processing apparatus of the present invention can be practiced as a device performing, e.g., an inputting process, a display process, a copying process, a transmission process, and a reception process in addition to the printing process.
Referring to
The device 1 has the function of counting up the count information whenever it performs, e.g., copying or network printing. The count information is held in, e.g., a non-volatile memory within the device 1 and is notified from the device 1 to an external device. The external device notified of the count information from each device manages charge information based on the unit price set for each printing process executed.
While in the first exemplary embodiment the server 7 communicably connected to the device 1 via the network manages the charge information, another device having the function similar to that of the device 1 can also manage the charge information instead of the server 7 in a similar way performed by the server 7. Note that the device 1 is described here, by way of example, as a single-function printer, but it can be constituted as a combined machine.
In addition, the device 1 manages information representing the number of sheets printed by the printing process in correspondence to section information representing a section to which belongs a user who has instructed the execution of the printing process.
A personal computer (PC) 2 is connected to a LAN 4, i.e., an intranet, and is capable of communicating with the device 1 via the LAN 4. The PC 2 includes a control unit containing a CPU, a ROM and a RAM, and also includes an input/output device (such as a keyboard, a mouse, and a display). After loading an OS (Operating System) stored in an external storage into the RAM, the PC 2 performs various kinds of data processing by loading an application selectively designated from the user into the RAM and executing the application.
Further, the PC 2 analyzes GDI (Graphics Device Interface) from the application and sends a print job, which is generated by a printer driver, to the device 1, thus enabling network printing to be performed.
Gateway devices 3 and 6 serve as firewalls for connection to the Internet 5. The server 7 is connected to a LAN 8, i.e., an intranet.
The PC and the other devices can be connected in any suitable number other than that shown in
The device 1 is capable of communicating with an external device, i.e., the server 7 shown in
A RAM 22 serves as a main memory, a work area, etc. for the CPU 21. The RAM 22 also constitutes a backup RAM which stores the count information and the address of the server 7 to which is notified the count information. A keyboard controller (KBC) 24 controls entry of an instruction from a keyboard (KB) 28. A CRT controller (CRTC) 25 controls display of a CRT display (CRT) 29.
By using the keyboard 28 and the CRT display 29, an administrator enters an instruction of adding a new section or deleting an unnecessary section. A device controller (DVC) 26 controls a printer driver (DV) 30, etc. The network interface card (NIC) 27 enables the device 1 to bidirectionally transfer data to and from another network device or another PC via the LAN 32 in accordance with the predetermined protocol.
In the first exemplary embodiment, the LAN 32 corresponds to the LANs 4 and 8 shown in
Referring to
A middle column contains information pertaining to a first counter 320. In the middle column, a count value indicating the number of color prints, for example, is set per section 310. The set count value indicates the number of prints resulted from counting the number of times of actual color printings and is not always equal to the number of pages or the number of sheets printed. The reason is that, in some cases, the printing device outputs prints in layout including a plurality of pages on one sheet or performs duplex printing on both the sides of one sheet.
A right column represents information pertaining to a second counter 330. In the right column, a count value indicating the number of monochrome prints, for example, is set per section 310. The set count value indicates the number of prints resulted from counting the number of times of actual monochrome printings and is not always equal to the number of pages or the number of sheets printed.
In the first exemplary embodiment, the CPU 21 manages the first counter information 320 indicating the number of color prints and the second counter information 330 indicating the number of monochrome prints in the form of a table per section 310. Each time the device 1 performs printing, e.g., color or monochrome copying, the CPU 21 counts up a value of the corresponding counter information, thus updating the count information. While the table used in the first exemplary embodiment contains three sections, the number of sections is of course not limited to a particular value.
Referring to
A tag <client> 41-1 includes <id> for identifying a client, <type> for identifying the type of the client, and <appversion> for identifying the version of the application.
Also, “sectionCountListType” 42 describes <device> for identifying a device and a list of <sectionCountType> indicating the counter information per section.
Further, <device> describes <mac> for identifying lower-level four bytes of the MAC (Media Access Control) address, <ip> for identifying the IP (Internet Protocol) address, the serial number <serialNumber> , the product name <produceName>, and the type <type>.
Still further, <sectionCountType> describes a section ID <sectionID> for identifying the section, and the counter information <counterList> per section.
In addition, <counterList> describes ID <id> indicating the counter type corresponding to, e.g., the color or monochrome copying, and a count value <value> per counter.
The other example of the packet data transmitted from the device 1 to the server 7 using SOAP on HTTP is called “postDeleteSectionCount”. The illustrated data is described in the format of, e.g., XML.
In
The tag <client> 51 includes <id> for identifying a client, <type> for identifying the type of the client, and <appversion> for identifying the version of the application.
Also, “deleteSectionCountListType” describes <device> for identifying a device and a list of <deleteSectionCountType> 52 indicating the counter information pertaining to the section, which is deleted.
Further, “deleteSectionCountType” 52 describes <sectionID> and the counter information <counterList> pertaining to the relevant section. In addition, <counterList> describes ID <id> indicating the counter type corresponding to, e.g., the color or monochrome copying, and a count value <value> for the relevant counter.
As with the packet data in
Referring to
As with the packet data in
Referring to
In the first exemplary embodiment, the device 1 is constituted as one example of the information processing apparatus according to the present invention. In this example, the device 1 executes processing described below.
The device 1 includes a memory to execute the function of holing the count information per section, which is counted each time a particular process is performed. In the first exemplary embodiment, the count information is held in a nonvolatile memory area (NVRAM) of the RAM 22. However, when the device 1 includes a hard disk, the count information can also be held in the hard disk.
The device 1 includes the CRT 29 to execute the function of displaying the count information per section, which is held in the NVRAM. In addition to the CRT 29, an LCD display can also be used. Another alternative example is a touch panel having a display portion and an input portion as an integral unit. In order to display the count information per section, which is held in the NVRAM, on the CRT 29, the display of the count information can be instructed, though not shown, through a tab used in the format of a tab sheet or through an operating mode display screen.
The device 1 includes the keyboard 28 to execute the function of instructing deletion of the count information that is held in the NVRAM and pertains to a particular section. When a touch panel or the like is used as described above, the instruction is issued by touching the panel.
Even when the instruction of deleting the count information pertaining to the particular section is issued with the instructing function, the CPU 21 maintains the state where the count information is held in the NVRAM, without deleting the relevant count information at once. In response to the delete instruction, however, the CPU 21 executes control to restrict display of the count information pertaining to the particular section, for which the deletion has been instructed, on the CRT 29.
Stated another way, the control is performed such that the user who has instructed the deletion recognizes as if the relevant section information and the corresponding count information are both deleted simultaneously, but the substantial content of the count information is held without being deleted.
Further, the device 1 has the function of transmitting, to an external device, i.e., the server 7 in the first exemplary embodiment, not only the event that the deletion of the particular section information has been instructed with the instructing function, but also the count information pertaining to the particular section for which the deletion has been instructed.
More specifically, the CPU 21 sends the count information, which is in the readable state held in the NVRAM and which pertains to the deletion-instructed section, to the server 7 through the NIC 27 by packet transmission in accordance with a particular protocol.
In another example, the device 1 is constituted as an information processing apparatus performing a particular process (i.e., an image forming apparatus). In this example, the device 1 executes processing described below.
The device 1 includes a memory to execute the function of holing the count information per section, which is counted each time the particular process is performed. In the first exemplary embodiment, the count information is held in a nonvolatile memory area (NVRAM) of the RAM 22. However, when the device 1 includes a hard disk, the count information can also be held in the hard disk.
The device 1 includes the keyboard 28 to execute the function of instructing deletion of the count information that is held in the NVRAM and pertains to a particular section.
Further, the device 1 has the transmitting function as follows. When the deletion is not instructed with the instructing function, the device 1 transmits the count information per section, which is held in the NVRAM, to an external device, e.g., the server 7, at particular timing. When the deletion is instructed with the instructing function, the device 1 transmits, to the external device, not only the event that the deletion of the particular section information has been instructed with the instructing function, but also the count information pertaining to the particular section for which the deletion has been instructed, at other timing than the particular timing, e.g., timing of issuance of the delete instruction.
More specifically, the CPU 21 sends the count information, which is in the readable state held in the NVRAM and which pertains to the deletion-instructed section, to the server 7 via the NIC 27 by packet transmission in accordance with a particular protocol.
The particular timing means, for example, the timing of power-on, the timing at which the number of executions of the particular process reaches a predetermined value, the timing at which particular image processing is executed, or the timing at which an error occurs in execution of image processing. Other suitable particular timing (e.g., the timing based on a notification schedule prepared by the administrator) can also be used.
In addition, the device 1 has the function of deleting the relevant count information per section, which is held in the NVRAM, when a transmission response from the server 7 is normally received after the transmission with the transmitting function.
Thus, the substantial content of the relevant count information, which has been held without being deleted after the delete instruction, is deleted at that timing. In other words, the substantial content of the count information is deleted after the device 1 has transmitted the event that the deletion of the particular section information was instructed, and it has confirmed that the server 7 normally received the final count information.
Still further, the device 1 has the function of notifying a transmission failure to a particular notification destination when the number of times of transmissions repeated with the transmitting function exceeds a predetermined value.
With that notifying function, the particular notification destination, e.g., the administrator supervising the device 1, can be positively notified of an error state in transmission of the count information. Responsively, the administrator can recognize the state of the device 1 and take a prompt and proper action on the device 1.
First, the processing is started from an IDLE state of the device 1. In step S801, the CPU 21 of the device 1 monitors whether an instruction of deleting the section count information is issued or not from the user or the administrator. The instruction of deleting the section count information is issued from the user through an operating unit of the device 1, or from the administrator via the network by executing a utility prepared as a management tool on a PC operated by the administrator.
Based on the monitoring in step S801, the CPU 21 determines whether the deletion of the selection count information is instructed (S802). If the determination result shows that the deletion of the selection count information is instructed, the CPU 21 proceeds to step S803.
On the other hand, if the determination result in step S802 shows that the deletion of the selection count information is not instructed, the CPU 21 returns to step S801.
In the former case, the CPU 21 immediately stops update of the relevant section count information and inhibits the use of the device 1 by users belonging to the relevant section and the associated count-up (S803). Further, the CPU 21 inhibits display of the information pertaining to the relevant section and the relevant section count information. Then, the CPU 21 transmits the count information pertaining to the section, for which the deletion has been instructed, to the server 7 via the NIC 27 shown in
Thereafter, the CPU 21 receives a response to “postDeleteSectionCount”, i.e., a result described in “postDeleteSectionCountResponse” shown in
If the determination result shows that the transmission has succeeded, the CPU 21 proceeds to step S806. If the determination result shows that the transmission has failed (NG), the CPU 21 proceeds to step S808.
In step S806, the CPU 21 notifies the administrator of the success of the transmission (S806). This notification can be performed, for example, by transmitting a message or a mail to the operating unit of the administrator, but it is not limited to a particular manner.
Then, the CPU 21 deletes all the contents of the relevant section information and the relevant section count information pertaining to the section for which the use of the device 1 is inhibited (S807). The procedures for transmitting the section count information (value), for which the deletion has been instructed, are thus brought to an end.
On the other hand, if it is determined in step S805 that the transmission has failed, the number of times of transmission errors is counted up in step S808. Then, the CPU 21 determines whether the number of times of transmission errors counted up in step S808 exceeds a threshold (e.g., 10 times) in step S809. If the determination result by the CPU 21 shows that the number of times of transmission errors exceeds the threshold, the CPU 21 proceeds to step S810. If otherwise, the CPU 21 returns to step S804.
In step S810, the CPU 21 displays the failure of the transmission of the relevant section count value, which should be transmitted in response to the instruction of deleting the relevant section count information, on a local panel (operating unit) provided in the device 1, thereby completing the procedures.
According to the first exemplary embodiment, as described above, if the deletion of the count information pertaining to the particular section is instructed in step S802 with the instructing function, the CPU 21 maintains the state where the count information per section is held in the NVRAM, without deleting the relevant section count information at once. In the example of
Also, if the deletion is instructed in step S802, the CPU 21 executes (though not shown) control to restrict display of the count information pertaining to the section, for which the deletion has been instructed, on the CRT 29.
Stated another way, the control is performed such that the user who has instructed the deletion recognizes as if the relevant section information and the corresponding count information are both deleted simultaneously in response to the instruction of deleting the section, but the substantial content of the count information is held without being deleted.
With that control, charge management using section counters can be properly performed by the host server 7 even under such a user environment that the section information including the count information can be optionally deleted.
While the first exemplary embodiment is described above in connection with the case where an item to be deleted is a section, the present invention can also be similarly practiced when the item to be deleted is set to a counter per user.
Further, while the first exemplary embodiment is described above in connection with the case where the section ID is itself deleted, the present invention can also be similarly practiced when a count value corresponding to the section ID or the user ID is reset (to 0) without deleting the section ID or the user ID.
While whether the transmission of the relevant section count value to be deleted has failed is determined based on the result of a response from the server, the transmission error (NG) can also be similarly determined when the response is not sent back due to a communication failure or a server failure.
The count value deleted in step S807, shown in
Moreover, after notifying the administrator of the transmission failure in S810 of
The notification to the administrator is not limited to a particular destination, i.e., a local panel, and it can be made to a remote PC on which the administrator can recognize the device state, or made by sending a mail to the administrator.
The deletion of the section counter can be made for a plurality of sections at a time, and the count values for those sections can be notified together to the server. Also, expressions used in communications between the server and the device are not limited to the above-described ones.
With the first exemplary embodiment, when deletion is instructed for any item in the count information managed by the device 1, the timing of actually starting the deletion can be set to the timing after the device 1 has received the response indicating that the host server normally received the count information for which the deletion was instructed.
Accordingly, it is possible to avoid the occurrence of a mismatched state that has been caused in the past due to a communication error or other reasons between the count information pertaining to the device monitored by the host server and the count information held in the device when the deletion of the counter including the count information is instructed. As a result, when the deletion of the counter is instructed at any timing, the host server on the network can receive the normal count information from the device and can be prevented from executing a false charging process.
In the first exemplary embodiment described above, when a delete button indicating a counter for a particular section is pushed on a UI displayed on an operating unit (not shown) of the device 1, the section count information pertaining to the particular section (ID) is transmitted to the host server at once. Simultaneously, the host server is notified of the event that the deletion of the particular section (counter) has been instructed.
At that time, the relevant section count information is deleted from the UI, but it is continuously held in the device as the count data, though it is not counted up, until transmission of the count information pertaining to the deleted section to the host server is completed. When the transmission to the host server is successfully completed, the relevant section count information is deleted from the count data in the device with insurance of safety.
Further, if an error is caused in the transmission to the host server, the user is notified of that the relevant section count information cannot be deleted. In such a case, the transmission to the host server can be repeated, and if successful completion of the transmission is performed, it can be notified to the user.
The configuration of a data processing program readable by the information processing apparatus according to the present invention will be described below with reference to a memory map shown in
In some cases, though not shown, the memory map further includes not only information for managing a group of programs stored in the storage medium, such as version information and the writer's name, but also information depending on, e.g., the OS in the side reading the programs, such as icons for indicating the programs in an identifiable manner.
Data belonging to various programs are also managed in the same directory. In some cases, there are further stored, e.g., a program for installing the various programs into a computer, and a decompressing program when the installed program is compressed.
The functions of the exemplary embodiment of the present invention, shown in
The functions of the present invention can also be achieved by supplying a storage medium, which stores program code of software for realizing the functions of the above-described exemplary embodiment, to a system or an apparatus. In this case, a computer (CPU or MPU) in the system or the apparatus reads and executes the program code stored in the storage medium.
In the above case, the program code read out of the storage medium serves to realize the novel functions of the present invention. Hence the storage medium storing the program code constitutes an implement for practicing the present invention.
The program may have any of various forms, e.g., object code, a program executed by an interpreter, and script data supplied to the OS, so long as the program has the required functions.
Recording media for providing the program can be, e.g., a flexible disk, a hard disk, and an optical disk, a magneto-optical disk (MO), CD-ROM, CD-R, CD-RW, a magnetic tape, a nonvolatile memory card, ROM, DVD, etc.
In that case, the program code read out of the storage medium serves to realize the functions of the above-described exemplary embodiment. Hence the storage medium storing the program code constitutes an implement for practicing the present invention.
Further, the program can be supplied through the steps of connecting a client computer to a homepage on the Internet by using a browser in the client computer, and downloading the computer program according to the present invention in itself or a file, which contains the computer program in compressed form and which has the automatic installing function, to a recording medium, e.g., a hard disk, from the connected homepage. As another method, program code constituting the program according to the present invention can be divided into a plurality of files, and those files can be downloaded from different homepages. In other words, the present invention involves a WWW server or a FTP server for downloading, to a plurality of users, a program file which realizes the functions and the processing required in the present invention with a computer.
Alternatively, the program can also be supplied as follows. The program according to the present invention is encrypted and stored in a storage medium, e.g., CD-ROM, for distribution to users. The user who clears predetermined conditions is allowed to download key information necessary for decryption from a homepage. The user decrypts and executes the encrypted program by using the downloaded key information, thus installing the program in the computer.
The functions of the above-described exemplary embodiment are realized with the computer executing the read program code. Moreover, the present invention of course involves the case where the functions of the above-described exemplary embodiment are realized in such a manner that, for example, an OS operating on the computer executes a part or the whole of actual processing in accordance with instructions from the read program code.
In addition, the present invention of course involves the case where the functions of the above-described exemplary embodiment are realized as follows. The program code read from a storage medium is written in a function expansion board inserted in a computer or a memory incorporated in a function expansion unit connected to the computer. Then, a CPU or the like incorporated in the function expansion board or the function expansion unit executes a part or the whole of actual processing in accordance with instructions from the read program code.
The present invention is not limited to the above-described exemplary embodiments and can be modified in various forms (including organic combinations of the exemplary embodiments) based on the purport of the present invention. Those modifications should not be excluded from the scope of the present invention.
While the present invention has been described with reference to exemplary embodiments, it is to be understood that the invention is not limited to the disclosed exemplary embodiments. The scope of the following claims is to be accorded the broadest interpretation so as to encompass all modifications, equivalent structures and functions.
This application claims the benefit of Japanese Patent Application No. 2006-124863 filed Apr. 28, 2006, which is hereby incorporated by reference herein in its entirety.
Number | Date | Country | Kind |
---|---|---|---|
2006-124863 | Apr 2006 | JP | national |