U.S. patent application number 12/197906 was filed with the patent office on 2009-01-01 for image forming apparatus, controlling method, and control program.
This patent application is currently assigned to CANON KABUSHIKI KAISHA. Invention is credited to Tomoaki Endoh, KATSUYA SAKAI.
Application Number | 20090007130 12/197906 |
Document ID | / |
Family ID | 26625578 |
Filed Date | 2009-01-01 |
United States Patent
Application |
20090007130 |
Kind Code |
A1 |
SAKAI; KATSUYA ; et
al. |
January 1, 2009 |
IMAGE FORMING APPARATUS, CONTROLLING METHOD, AND CONTROL
PROGRAM
Abstract
An image forming apparatus in which programs for controlling
processes that are provided by the image forming apparatus are
installed. The image forming apparatus includes means for managing
the use amount of each program by use of a counter, means for
recognizing the counter which corresponds to the identification
information of the program and can manage the use amount of the
program, means for correlating the program with the counter
recognized by the recognizing means to manage the counter, means
which can set an upper limit on the use amount of each program for
the use amount managing means, and means for controlling the
process by the image forming apparatus based on the upper limit of
the use amount set by the setting means for each of the types of
the programs.
Inventors: |
SAKAI; KATSUYA; (Tokyo,
JP) ; Endoh; Tomoaki; (Chiba, JP) |
Correspondence
Address: |
FITZPATRICK CELLA HARPER & SCINTO
30 ROCKEFELLER PLAZA
NEW YORK
NY
10112
US
|
Assignee: |
CANON KABUSHIKI KAISHA
Tokyo
JP
|
Family ID: |
26625578 |
Appl. No.: |
12/197906 |
Filed: |
August 25, 2008 |
Related U.S. Patent Documents
|
|
|
|
|
|
Application
Number |
Filing Date |
Patent Number |
|
|
10339318 |
Jan 10, 2003 |
7426048 |
|
|
12197906 |
|
|
|
|
Current U.S.
Class: |
718/104 ;
718/100 |
Current CPC
Class: |
H04N 1/00 20130101; H04N
1/00832 20130101; H04N 1/00925 20130101; H04N 1/00912 20130101 |
Class at
Publication: |
718/104 ;
718/100 |
International
Class: |
G06F 9/50 20060101
G06F009/50; G06F 9/46 20060101 G06F009/46 |
Foreign Application Data
Date |
Code |
Application Number |
Jan 21, 2002 |
JP |
011466/2002 |
Oct 4, 2002 |
JP |
292430/2002 |
Claims
1-16. (canceled)
17. An image forming apparatus which is controlled by an operating
system and capable of implementing at least one application program
controlling at least one function provided by the image forming
apparatus, the image forming apparatus comprising: a counter
managing a use amount of each application program; means for
managing the use amount of the application program managed by the
counter, by using a predetermined counter control application
program interface provided in a layer same as an interpreter, the
interpreter operating on the operating system; and means for
identifying a counter capable of being related to an application
program to be installed, wherein the use amount managing means
relates the application program to a new counter by producing the
new counter, if the identifying means is not able to identify the
counter capable of being related to the application program.
18. The image forming apparatus according to claim 17, wherein the
use amount managing means resets the counter identified by the
identifying means.
19. The image forming apparatus according to claim 17, wherein the
use amount managing means manages the use amount of the application
program in accordance with an execution number of the application
program.
20. The image forming apparatus according to claim 17, wherein the
use amount managing means manages the use amount of the application
program based on time for using of the application program.
21. The image forming apparatus according to claim 17, wherein the
use amount managing means manages the use amount of the application
program based on a number of a predetermined operation instructed
by the application.
22. The image forming apparatus according to claim 17, wherein the
use amount managing means manages the use amount of the application
program by combination of the functions provided by the image
forming apparatus and the application program controlling the
functions provided by the image forming apparatus.
23. An image forming apparatus which is controlled by an operating
system and capable of implementing at least one application program
controlling at least one function provided by the image forming
apparatus, the image forming apparatus comprising: a counter
managing a use amount of each application program; and means for
managing the use amount of the application program managed by the
counter, by using a predetermined counter control application
program interface provided in a layer same as an interpreter, the
interpreter operating on the operating system; wherein the use
amount managing means manages the counter by a table which relates
an identifier corresponding to the application program to an
identifier corresponding to the counter.
Description
BACKGROUND OF THE INVENTION
[0001] 1. Field of the Invention
[0002] The present invention relates to an image-forming apparatus
in which programs for controlling operations in the apparatus are
installed, a method of controlling the same, and a control
program.
[0003] 2. Description of the Related Art
[0004] Hitherto, as mechanisms for counting the total output
numbers (e.g., the total cumulative number of pages printed) of
image-forming apparatuses, hard counters having mechanical
structures have been generally used. With the hard counters, it is
difficult to change the count, e.g., reduce it after the count-up
is carried out. Thus, the hard counters are means suitable for use
in service accounting systems due to the above-described
feasibilities thereof. On the other hand, the functions of image
forming apparatuses have been complicated. Accordingly, there has
been increasing demanded for the service accounting system to be
divided depending on the intended use, e.g.,
"small-size"/"large-size", "color"/"black and white", and
"copy/print/FAX". To satisfy this demand, simply, the number of
hard counters has been increased. Moreover, it has been proposed
that soft counters can realize a large number of counters at a
reduced cost with small spaces (A "soft counter" is one that stores
a count value in a semiconductor memory.).
[0005] Regarding prior art soft counters, information in a memory
is ready to be lost, and the reliability is low. Thus, a plurality
of memory units are prepared, and the same values are stored in the
memory units. If internal information in a memory is lost, the
information is compensated by use of the information stored in
another of the memory units. Thereby, the reliability is enhanced.
Soft counters can be prepared for each function to be counted, so
that correct count information can be maintained for each function.
Hereinafter, in the specification, the soft counter is referred to
as a "counter", for brevity. In the present invention, "counter" is
the general term for a means which can count and store different
kinds of use amounts such as the execution numbers of programs in
printers, facsimiles, scanners, copying machines, or composite
machines of several of these sets of capabilities which are typical
examples of image forming apparatus, the operation number of the
apparatus, the use durations of application programs, and so
forth.
[0006] A printing machine in which a counter is provided for each
of different programs installed in an image forming apparatus is
under development. Moreover, a printing machine has been developed
in which a user can use different services by execution of the
different programs installed in the printer. For example, as
described in Japanese Patent Laid-Open No. 2001-92779, software
techniques for image forming apparatuses have been increased, and
different types of software which realize operations in the image
forming apparatus can be more easily added, altered, deleted, and
so forth. Furthermore, a printer in which a counter is fixedly
provided for each application to count the execution number of the
application is under investigation.
SUMMARY OF THE INVENTION
[0007] However, for installed applications, different types of
programs such as control programs, and data, addition, alteration,
and deletion have been possible. Therefore, it is inconvenient that
counters are allocated in advance and fixedly to the various
processes which are provided by an image forming apparatus.
[0008] In particular, the opportunity for programs for providing
operations in the image forming apparatus to be changed, has
increased. Problematically, the functions of the image forming
apparatus cannot suitably be managed by means of conventional
static counter management. Moreover, a printer which provides
composite functions has been developed. It becomes a problem to
manage the use amounts of the functions respectively.
[0009] It is one of the features of the present invention to
provide an image forming apparatus which can flexibly cope with
changes in the configuration of functions provided by different
types of programs installed in the image forming apparatus.
[0010] In particular, it is another feature of the present
invention to provide an image forming apparatus in which counters
for managing the use amounts of programs can be dynamically
managed, so that the use conditions of the respective programs can
be appropriately grasped even if the functions of the image forming
apparatus and the program configuration are changed.
[0011] It is still another feature of the present invention to
provide an image forming apparatus in which for the respective
processes provided by the programs installed in the image forming
apparatus, e.g., an upper limit on the use amount of a program can
be set, so that the use amount of each program can be easily
managed.
[0012] It is yet another feature of the present invention to
provide a mechanism by which the use licenses of applications can
be given to users in advance in the form of license information
with respect to each type of the applications and/or for each of
the used devices.
[0013] According to the present invention, there is provided an
image forming apparatus which can solve the above-described
problems.
[0014] An image forming apparatus of the present invention in which
programs for controlling processes that are provided by the image
forming apparatus are installed, comprises means for managing the
use amount of each program by use of a counter, means for
recognizing the counter which corresponds to the identification
information of the program and can manage the use amount of the
program, means for correlating the program with the counter
recognized by the recognizing means to manage the counter, means
which can set an upper limit for the use amount of each program for
the use amount managing means, and means for controlling the
process by the image forming apparatus based on the upper limit for
the use amount set by the setting means for each of the types of
the programs.
[0015] For example, in the case where a job using a predetermined
function is submitted, the processing can be performed if the use
amount exceeds an upper limit set in the image forming apparatus.
The processing is limited if it does not exceed the upper
limit.
[0016] Further objects, features and advantages of the present
invention will become apparent from the following description of
the preferred embodiments (with reference to the attached
drawings).
BRIEF DESCRIPTION OF THE DRAWINGS
[0017] FIG. 1 is a block diagram showing the configuration of a
whole system according to a first embodiment of the present
invention.
[0018] FIG. 2 illustrates a suitable example of the software module
hierarchy of a composite machine according to a first embodiment of
the present invention.
[0019] FIG. 3 is a flowchart showing the flow of processes executed
when an application is installed in the composite machine of the
first embodiment shown in FIG. 1.
[0020] FIG. 4 illustrates an example of a counter
number--application ID table according to the first embodiment.
[0021] FIG. 5 illustrates an example of a command group for
instructing job-processing.
[0022] FIG. 6 is a flowchart of processes executed by a counter
updating means when the counter is updated according to the first
embodiment.
[0023] FIG. 7 is a flowchart of a counter contained in the
composite machine of the first embodiment.
[0024] FIG. 8 is a flowchart of the processes executed when the
installed application is uninstalled in the composite machine
according to the first embodiment.
[0025] FIG. 9 shows the configuration of the software module
hierarchy of a composite machine according to a second embodiment
of the present invention.
[0026] FIG. 10 shows an example of a screen viewed when an
application installer installs according to the second
embodiment.
[0027] FIG. 11 is a flowchart of the processes executed after the
OK button of FIG. 10 is pushed according to the second
embodiment.
[0028] FIG. 12 shows an example of a counter number--application ID
table according to the second embodiment.
[0029] FIG. 13 shows an example of a count unit warning dialog box
displayed at the installing of the application executed according
to the second embodiment.
[0030] FIG. 14 shows an example of the configuration of application
information according to the second embodiment.
[0031] FIG. 15 is a flowchart of the processes executed by a
counter updating means when count-up is carried out according to
the second embodiment.
[0032] FIG. 16 shows an example of a counter contained in the
composite machine according to the second embodiment.
[0033] FIG. 17 is a flowchart of the processes executed when the
application installed in the composite machine is uninstalled
according to the second embodiment.
[0034] FIG. 18 illustrates the processes which a counter updating
means and an application counter upper limit management means
execute for each application.
[0035] FIG. 19 shows a counter upper limit value management
table.
DESCRIPTION OF THE PREFERRED EMBODIMENTS
First Embodiment
[0036] FIG. 1 is a block diagram showing the configuration of a
whole system according to a first embodiment of the present
invention. In FIG. 1, a composite machine 100, which is a typical
example of an image forming apparatus, has functions as a scanner,
a printer, a copier, and a facsimile which are integrated together.
The composite machine 100 is connected via a network to a network
server 12, which is a typical example of an external information
processor, and a host computer 11, which is a typical example of an
information processor. Moreover, the composite machine 100 is
connected to other communication equipment via a public network. It
should be noted that the composite machine 100 is not restricted to
what is illustrated. The composite machine may be a digital copying
machine, a printer having a copying function, or the like. The
number of pieces of peripheral equipments connected to the network
is not limited to what is illustrated. The image forming apparatus
also is not restricted to the composite machine 100, and may
contain a printing machine such as a facsimile, a printer, or the
like, a single-function device which can form an image, such as a
scanner or the like, and a controller contained in the respective
apparatus. The counter may be fixed to a network board, e.g., a
network interface 7 for different types of printers.
[0037] The composite machine 100 mainly comprises a reader unit 1,
a printer unit 2, and an image input-output control unit 3. The
reader unit 1 is connected to the printer unit 2 and the image
input-output control unit 3, and reads an original image and
outputs the read image data to the printer unit 2 or the image
input-output control unit 3. The printer unit 2 prints the image
data output from the reader unit 1 and the image input-output
control unit 3 on recording paper. The image input-output control
unit 3 is connected to an external network or a public network, and
inputs-outputs image data, and stores use-amounts of the composite
machine generated when a user uses the machine. Moreover, the image
input-output control unit 3 analyzes or controls a job (e.g., a
print command or the like) sent from the host computer connected to
the network.
[0038] The image input-output control unit 3 comprises a facsimile
unit 4, a file unit 5, a network interface unit 7 which is an
acquiring means, a PDL formatter unit 8, and a core unit 10. The
facsimile unit 4 is connected to the core unit 10 and the public
network. The unit 4 expands image data received via the public
network and compressed, and transmits the expanded image data to
the core unit 10. Also, the facsimile unit 4 compresses image data
sent from the core unit 10, and transmits the compressed image data
to the public network via a public circuit. The file unit 5 is
connected to the core unit 10 and the memory unit 6. The file unit
5 compresses image data sent from the core unit 10 and causes the
compressed data together with a keyword sent from the core unit 10
to be stored in the memory unit 6. The memory unit 6, which is a
typical example of the storing means, uses a hard disk drive
according to this embodiment.
[0039] However, the unit 6 is not restricted to a hard disk.
Moreover, the file unit 5 retrieves compressed image data based on
a keyword sent from the core unit 10, reads the compressed image
data to expand, and then, sends the data to the core unit 10.
[0040] The network interface unit 7 comprises interfaces between
the host computer 11, the network server 12, and the core unit 10.
Receiving job control data from the host computer 11 and sending
image data or the like to the host computer 11 are carried out via
the network interface unit 7. The job control data includes a job
control command which is sent together with PDL data. In this case,
for example, the PDL data is expanded and printed as image data,
and then, the recording paper is processed into a stable sort, and
is discharged. A database called MIB (Management Information Base)
is configured in the network interface unit 7. The unit 7 can
communicate with the host computer 11 provided in the network to
manage the printer unit 2. Moreover, the network interface unit 7
is configured in such a manner that other devices connected to the
network can control applications in the composite machine 100 to
accept requests for installing applications by which the different
functions of the image forming apparatus can be realized, and those
for uninstalling applications, starting, terminating, or the
like.
[0041] The formatter unit 8 is connected to the core unit 10, and
expands PDL data sent from the host computer 11 to be image data
which can be printed in the printer unit 2.
[0042] The image memory unit 9 temporarily stores information sent
from the reader unit 1 and from the host computer 11 or the like
via the network interface unit 7.
[0043] The core unit 10 which is a suitable example of a unit to
function as storing and also analyzing means controls data or the
like which are sent between the reader unit 1, the facsimile unit
4, the file unit 5, the network interface unit 7, and the PDL (Page
Description Language) network interface unit 7, respectively, and
moreover, analyzes job control data to store information such as
the situations of a user, the numbers of copying or printing
sheets, and the number of scanning sheets.
[0044] The host computer 11 (information processor) is a personal
computer or a work station (PC/WS). The network server 12 controls
the whole network. An accounting server 13, which is an example of
an external information processor, includes a server for managing
accounting information of the composite machine 100. The accounting
server 13 can display on its display a use amount which is counted
by a counter provided in the composite machine 100 for management.
An operation unit 14 includes an operation panel. For example, an
application to be carried out and a function of the composite
machine to be used for the application can be selected and input by
use of a touch panel. Moreover, a command for executing an
application can be input through the operation unit 13 of the
composite machine 100. The execution command can be also input
through the network server 12 which is an example of the external
information processor. The use amount of the executed application
is counted by the counter contained in the composite machine 100.
This will be described below in detail.
[0045] FIG. 2 illustrates an example of the software module
hierarchy of the image forming apparatus of the first embodiment.
The software module contains an operating system (OS) 201, a
controller module 203 for controlling different types of devices at
the upper-level next to the system OS 201, and an interpreter
module 203 for sequentially executing programs at the next
upper-level. Further, the software module contains an application
management module 204 for managing at least two
dynamically-detachable application groups at the upper-level next
to the interpreter module 203. Applications 205, which realize
different types of functions, are operated under management by the
application management module 204. An application module for
offering the service of the composite machine can be operated via
the interpreter module 203. For example, an application module
acquired through the external server unit is incorporated into the
image forming apparatus, and correspondingly, the application
management module 204 adds an application 205 as a management
object. On the other hand, an application program is deleted from
the image forming apparatus, and correspondingly, the application
management module 204 can remove an application 205 from the
management objects.
[0046] An application installer 206 for installing or uninstalling
an application 205 can be operated under management by the
application management module 204. The applications, which are
typical examples of programs, are cooperated with the image forming
apparatus to offer different types of processes to users. For
examples, applications for processing and compressing images,
application programs for managing a section such as
print-restricting and so forth, plug-in modules to be incorporated
in as a part of an application, line-programs for remote-managing a
composite machine, applications for controlling a unit such as
finisher in a composite machine to book-bind, programs for
converting and analyzing special document data,
document-preparation programs, e.g., for word-processing,
schedule-management programs, spreadsheet programs, database
management programs, and server programs for realizing
print-service via an internet are available.
[0047] The above-described software is executed under the CPU (not
shown) provided in the core unit 10. According to the
above-described embodiment, the interpreter and the operation
system OS are incorporated in the composite machine. Needless to
say, the above-described module configuration is not restrictive,
provided that the application 205 operates in the image forming
apparatus, and the application management module 204 appropriately
operates.
[0048] FIG. 3 is a flowchart of the processes executed when an
application is installed in the composite machine 100. Hereinafter,
the processes in the application installer 206 executed when a new
application is installed from the host computer 11 into the
composite machine 100 will be described with reference to FIG. 3.
When a designation showing that an application is to be installed
is input by a pointing device (not shown) which is a preferred
example of a designation-inputting means, the processing
illustrated in FIG. 3 starts. First, application information is
received from the host computer 11 in step S301, and includes a
vendor name, application ID, an application name, a use memory, a
version number, and the latest updating date, which are typical
examples of program attribute information. This application
information is used to manage the use amount of the application
which is a typical example of program.
[0049] At step S301, the application installer 206 receives the
application information including the application ID, which is a
typical example of the above-described program attribute
information. The application installer 206 executes the processing
at step S302. In step S302, the application installer 206
determines whether the same application has been installed or not.
The application installer 206 acquires the application information
received at the step S301, and compares it with the application
information of an application which has been already installed to
determine whether the same application has been already installed
or not. If the application installer 206 determines that the same
application exists at the step S302, the processing terminates. If
it is determined that the same application does not exist, the
processing advances to step S303. In step S303, the application
installer 206 (determining means) assigns 0 to variable n. The
processing advances to step S304, in which the application
installer 206 determines whether the n-th application counter is
being used or not. If it is not being used, the processing advances
to step S305. In step S305, a counter number--application table ID
is updated, so that the counter number n is made to coordinate to
the application ID. In this specification, the counter counts the
execution number (i.e., times executed) of an application which is
an example of the use amount of the application. Moreover, the
counter contains a measuring and storing means which can count and
retain the use time of an application such as a period of time for
leading the application.
[0050] FIG. 4 shows an example of the counter number--application
ID table. The following is shown: the counter with a counter number
of 1 coordinates to the application with an application ID number
of 11, and the counter with a counter number of 3 coordinates to
the application with an application ID number of 11, and the other
counters are not in use. The processing, after the table is updated
at the step S305, advances to the next step S306. At the step S306,
an application is downloaded from the host computer, and is stored
in the memory unit 6 of the composite machine 100, so that the
application is ready to be used. Then, the processing terminates.
On the other hand, if it is determined that the n-th counter is
under use, the processing advances to the step S307. In step S307,
the variable is increased by 1, and then, the processing advances
to the step S308. In step S308, the application installer 206
determines whether the variable n is smaller than the total number
N of the counters for each application prepared in the composite
machine 100. If the variable n is smaller than the total number N
of the counters for each application, the processing returns to the
step S304. Otherwise, the processing terminates.
[0051] As described above, the installed applications execute a
command groups for directing job processes so that the reader unit,
the printer unit, or the like can be controlled, and different
functions can be realized.
[0052] FIG. 5 shows an example of a command group of which each
command directs a job process to be executed. The command group for
directing the job processes comprises a job submission start
command 501, a job attribute setting command 502, a job data
transmission command 503, and a job submission completion command
504. The job submission start command 501 posts the start of
job-submission to the controller, and includes a mode 511 as a
parameter and additional information 512 depending on the mode. The
controller starts the preparation for processing a job, when the
job submission start command 501 is received. The job attribute
setting command 502 sets an attribute representing the function and
state of a job. As the attributes, an application ID, the name of a
job, the type of the job, data form, the selection of paper sheet,
and so forth are available. At least two attributes can be
continuously set by the commands.
[0053] The job data transmission command 503 can be executed to
send data, such as image data, which is an object for
job-processing. There are cases in which no data as a processing
object is required, depending on the contents of the jobs. In these
cases, this command may be omitted. The job submission completion
command 504 can be executed to inform that all the commands of the
group for directing the job processing have been already sent. The
group comprising a series of the commands from the job submission
start command 501 to the job submission completion command 504 is
interpreted as one job-processing command. The controller, when the
job-processing is instructed, controls the reader unit 1, the
printer unit 2, the file unit 5, and so forth, and processes them
based on given attributes thereof, and request to update the
counter suitably depending on the types of the job. Moreover, since
the job start command includes the application ID information of
the application which executes the job start command, the
controller and the counter updating means can determine what
application the present job is executed starting from.
[0054] FIG. 6 is a flow chart of the processes executed in the
counter updating means when a counter is updated according to the
first embodiment. The flow of the processes executed in a counter
managing means when the counter is updated. First, in step S601, a
counter updating request is received. The processing proceeds to
step S602. At the step S602, the counter updating means acquires
the ID of the application of which the updating is requested, and
the processing proceeds to step S603. The counter updating means
assigns 0 to variable n, and the processing proceeds to step S604.
In step S604, it is checked whether the n-th counter is assigned to
the application with the application ID acquired in step S604 or
not by reference to the table. If the n-th counter is assigned to
the application with the application ID acquired in step S602, the
processing proceeds to step S605. In step S605, the n-th counter
for the present job type is updated. The processing proceeds to
step S606, where the counter for counting the total number is
updated, and then the processing terminates. On the other hand, if
it is determined in step S604 that the n-th counter is not assigned
to the application with the application ID acquired in step S602,
the processing proceeds to the step S607. In step S607, it is
determined whether the variable n is smaller than the total number
N for the counters for the applications or not. If n<N, the n
value is increased by 1 in step S608, and the processing is
returned to step S604. If n<N is not satisfied in step S607, the
processing proceeds to step S606, and only the counter for counting
the total number is updated, and then the processing
terminates.
[0055] FIG. 7 shows counters contained in the composite machine 100
by way of example. In this example, three-type counters, namely, a
copy counter, a print counter, and a scan counter, are prepared.
For each of these counters, one counter for counting the total
number is provided, and N counters (counter number of 1 to N) are
prepared for each application. When the copy job is processed, the
copy counter counts up every time copying is carried out on one
sheet. Similarly, for the scan job, the scan counter counts up
every time one sheet is canned. For the print job, the print
counter counts up every time printing is carried out one sheet.
[0056] If the content of the counter number--application ID table
is the same as that shown in FIG. 4, the counters represented by
(a) in FIG. 7 are used by the application with an application ID
number of 11. The counters represented by (b) in FIG. 7 are used by
the application with an application ID number of 51. For example,
when the application with an application ID number of 11 carries
out the copy job, the counter represented by (c) in FIG. 7 and the
counter for counting the total number count up. Similarly, when the
print job is carried out, the counter represented by (d) in FIG. 7
and the counter for counting the total number count up. Also, when
the scan job is carried out, the counter represented by (e) in FIG.
7 and the counter for counting the total number count up. In the
case in which a print job, a scan job, a copy job, or the like is
submitted from a remote host, and the application ID of the
application which issues one of the jobs has been already
registered in the table, the counter corresponding to the
application ID and the total number counter count up. If the
application ID of the application which issues the job is not
registered, the job is rejected.
[0057] As described above, count values of which the number is
equal to that of the combinations of the functions provided by the
image forming apparatus with the applications using the respective
functions can be managed. Moreover, the respective count values can
be summed for each application and for each function. Thereby, not
only accounting for each application but also the use amount for
each processing using a predetermined function of the image forming
apparatus in an application, called predetermined operation, can be
counted. For example, in the case in which a special image
processing application coordinates to the counter number of 6,
predetermined image processing such as copying including electronic
meshing is executed by use of an image processing application, the
counter for copy which coordinates to the counter number of 6
counts up. Thereby, the use amount of the predetermined operation
such as copying using the image processing application can be
managed. Needless to say, as the application, not only the image
processing application but also an application for processing an
XML document or processing a predetermined document file is
available. Moreover, as the functions which are provided by the
image forming apparatus, not only the copy, the print, and the scan
functions but also so-called bookbinding processing such as
finishing, bookbinding, punching, or the like may be available.
[0058] Hereinafter, processing carried out when uninstalling the
application allocated to the counter having an application ID
already installed will be described below. FIG. 8 is a flowchart
showing the sequence of operations carried out when an application
already installed in the composite machine 100.
[0059] First, in step S801, it is checked whether a specified
application is under operation. If the application is under
operation, the uninstalling terminates without further processing.
If the application is not under operation, the processing proceeds
to step S802, since the uninstalling can be safely carried out. In
step S802, the counter information and the application information
correlated to the application to be uninstalled are transmitted to
the accounting server 13, and the processing proceeds to step S803.
In step S803, it is checked whether the transmitted information has
been correctly received by the accounting server 13. In the case
where the information has been correctly received, the processing
proceeds to step S804. In the case where the information has not
been correctly received, the uninstalling is not carried out in
practice, and the processing terminates. In step S804, the counter
number--application ID table is updated, so that the counter
allocated to the application ID of the application to be
uninstalled is made to be free. In step S805, the application is
erased from the memory unit 6 to be uninstalled, and the processing
terminates.
[0060] As described above, according to this embodiment, counters
being free when an application is installed is dynamically
allocated to the application. Counters corresponding to an
application which executes the processing count up. Thereby, the
count numbers for copy, print, and scan can be managed for each
application.
[0061] Moreover, when the application is uninstalled, the
application information and the information of the used counter are
stored in the accounting server. Accordingly, the application can
be installed and uninstalled freely and repeatedly without the
count information being damaged.
[0062] According to the present embodiment, in the case where the
same application has been already installed at installing, the
processing terminates. The version information is determined. If
the version is new, the application may be automatically installed,
or alternately, a user may determine whether he continues the
installing or not.
[0063] According to this embodiment, the three types of counters,
that is, the copy counter, the print counter, and the scan counter
are prepared. The counters are not restricted to the
above-described ones. More different types of counters may be
provided. Counters having the same function may be finer divided
depending on the size of sheets or the like.
[0064] According to this embodiment, one application is allocated
to one set of counters. At least two applications may use the same
set of counters.
[0065] Also, according to this embodiment, all the counters
excluding ones for counting the total numbers are dynamically
allocated. For the applications previously mounted onto the image
forming apparatus, counters are fixedly allocated.
[0066] Moreover, according to this embodiment, an external job
having an application ID not registered in the table is rejected.
The job may be accepted on the condition that only the counters for
count the total numbers count up.
Second Embodiment
[0067] Hereinafter, an image forming apparatus according to a
second embodiment of the present invention will be described.
[0068] FIG. 1 also shows an image forming apparatus according to
the second embodiment. This drawing is described in the First
Embodiment, and is not again described here. It should be noted
that the host computer in the second embodiment is a file server in
which applications are stored. Hereinafter, especially, differences
between the first and second embodiments will be described.
[0069] FIG. 9 shows the structure of a software module hierarchy of
the composite machine 100 according to the second embodiment. The
software module contains an operating system (OS) 901, a controller
module 902 for controlling different devices at the next
upper-level, and an interpreter module 903 for sequentially
executing programs and a general-use counter control application
program interface 904 (hereinafter, referred to as general-use
counter control AP1) 904 at the nest upper-level. The software
module further contains an application management module 905 for a
group of dynamically detachable applications at the upper level
nest to the interpreter module 903 and the general-use counter
control API 904. Applications 906 which realize different functions
are operated under the application management module 905
(use-amount managing means). An application installer 907 for
installing and uninstalling an application is also operated under
the application managing module 905. The respective applications
906 can use the general use counter control AP1904 via the
application management module 905. The software can be executed
under CPU (not shown) provided in the core unit 10.
[0070] Hereinafter, the operations of the application installer 907
carried out when an application stored in the host computer 11 is
installed in the composite machine 100 will be described with
reference to FIGS. 10 and 11. A WEB server is installed in the host
computer, and has a predetermined URL. For example, in this
embodiment, an application is allocated to the URL of
http://www.kaisha.cpm/appfile. When this URL is specified in the
operation unit 14 of the composite machine, the specified
application is downloaded from the memory area corresponding to the
URL in the host computer. Thus, the application automatically
starts to be installed. Needless to say, a URL having an
application allocated thereto input via the operation screen of the
external computer 12 may be transmitted to a network. The URL may
be received by the image forming apparatus via a network interface
and input to the core unit 10, not using the operation unit 14.
[0071] FIG. 10 shows an example of a screen used when an
application is installed by the application installer according to
the second embodiment. This screen is displayed in the operation
unit 14 of the composite machine 100 when the installation is
specified on the main screen (not shown) of the application
installer 907. Specifically, the URL representing the host computer
11 having application information to be installed stored therein is
input in a text field 1001. The application installer starts to
download the application from the host computer 11 in response to
clicking an OK button 1002. Thus, the installation is carried out.
The screen of FIG. 10 is restored to the application installer main
screen (not shown) by clicking a cancel button on the screen.
[0072] FIG. 11 is a flow chart showing the operations to be carried
out after the OK button is clicked. FIG. 12 shows an example of a
counter number--application ID table according to the second
embodiment. FIG. 13 shows an example of a count-unit warning dialog
box displayed when an application is installed according to the
second embodiment. Hereinafter, the flow chart of FIG. 11 will be
described with reference to FIGS. 11 to 13.
[0073] The OK button 1002 is clicked. First, the application
installer 907 acquires the application information existing at the
location specified in the text field 1001 at step S1101. FIG. 14
shows the elements constituting the application information by way
of example.
[0074] FIG. 14 shows an example of the configuration of the
application information according to the second embodiment. In this
case, as an example of the application information, a vendor name,
an application ID and an application name as identifiers for the
application, version, the latest updating date, a use counter
number, a counter type, a count-up unit, a use memory, and an
archive file URL from which a program is obtained are listed.
[0075] FIG. 11 is described again. If the application installer 907
can acquire the application information which is a suitable example
of the attribute information of a program in step S1101, the
processing proceeds to step S1102. If the application information
is not acquired, the processing terminates. In step S1102, the
application installer 907 which is a suitable example of a
recognizing means according to the present invention determines and
recognizes which counters of the type specified by the application
information are free in response to the acquisition of the
application information. If no free counter numbers can be
recognized, that is, counters which can manage the use amounts of a
program newly added, that is, input via the network interface unit
(input unit) of the composite machine 100 from the host computer 11
or the like can not be recognized, the processing terminates.
[0076] On the other hand, if free counters can be recognized for
all the types provided in the application information at the step
S1102, the processing proceeds to step S1103. In step S1103, a
recognition dialog with respect to a count-up unit (FIG. 13) is
displayed in the operation unit based on the application
information. For example, the application name and use-accounting
counted up every time the application is started are displayed.
Then, the processing proceeds to step S1104, where it is determined
which button is clicked on the dialog screen (FIG. 13). If it is
determined that the stop button 1301 is clicked, the processing
terminates. If it is determined that the continuation button 1302
is clicked, the processing proceeds to step S1105. In step S1105,
the main part of the program is trially downloaded based on the
archive file URL information provided in the application
information. If the main part of the program fails to be downloaded
at the step S1105, an error is displayed, if necessary, and the
processing terminates. On the other hand, if it is successfully
downloaded, the processing proceeds to step S1106. In step S1106,
the application installer (counter-managing means) the downloaded
program is stored in the memory unit 6, so that the program is
ready to be used. Then, the processing proceeds to step 1107, where
the application installer additionally stores a pair of the counter
number and the application ID contained in the application
information recognized in step S1102 in the counter
number--application ID table for updating. The application
management module 204 initializes the use amounts of the counters
recognized by the application installer, if necessary, and
terminates the processing. If a free counter can not be recognized,
that is, the application installer recognizes that the number of
counters is deficient, new counters may be prepared so as to
correspond to new applications and initialized to be used.
[0077] Referring to FIG. 13, the name of an application to be added
is displayed on the application display area, and count-up
information e.g., accounting information) obtained when the
application uses the scan function and the copy function, provided
by the composite machine 100, is displayed on the count-up
information display area 1304. Accordingly, when the application is
executed, a user recognizes the count-up information which depends
on whether the function should be used or not and thereafter, can
install the application.
[0078] FIG. 12 shows an example of the counter number--application
ID table of the second embodiment. As shown in FIG. 12, the tables
in which the counter numbers given to the counters coordinate to
the application IDs each of which is a typical example of the
identifier for an application are prepared for a monochromatic
printer function, a color printer function, a monochromatic copy
function, a color copy function, and a scanner function,
respectively. The functions which are provided by the image forming
apparatus are not restricted to the above-described ones. For
example, finishing functions such as a stipple function, a
bookbinding function, or the like are included. Any function is
available, provided that the function is provided by the image
forming apparatus and the use amounts (e.g., use number, use time)
of the function can be recognized. "0xFFFFFF" is a code which
represents that the counter is free. In this example, as shown in
FIG. 12, one application having the application information of FIG.
14 is installed in the image forming apparatus. The scan counter
with a counter number of 1 and the general-use counter with a
counter number of 1 are allocated to the application with an
application ID of 11. When a predetermined application causes a
predetermined operation (e.g., the operation of a scan function,
the operation of a print function, the operation of a finishing
function, and so forth) using functions of the image forming
apparatus, the counters with the counter numbers defined in the
above-described tables count up, since the above-described tables
are provided. Thus, the use amounts can be managed for each
application.
[0079] As described above, the composite machine 100 is provided
with the application management module 204 which manages the use
amounts for each program using the counters.
[0080] In response to the information representing the attribute of
the application which is input to the composite machine 100, the
application installer 206 recognizes the counters with which the
use amounts of the application with an application ID which is an
example of the identification information of a program to be added
can be managed.
[0081] The application management module correlates the added
program with the counters recognized by the application installer
206 and manages the counters.
[0082] The information for identifying a program includes all the
information with which the program can be identified. For example,
in the case of an application program, the application ID, and the
application name may be suggested. The module of application
programs provided in the form of a file includes the name of the
module or that of the file in which the application is stored.
Needless to say, the module name, the file name and the like belong
to the category of program identification information. Therefore,
suggestibly, the program module integrated with the application
information is previously input to the image forming apparatus via
the network interface, and is stored in the memory unit of the
image forming apparatus, and in response to this, it is determined
whether the program module is correlated with the counters or
not.
[0083] The installed application executes a command group (see FIG.
5) for instructing job operations as in the first embodiment, and
can thereby control a reader unit 1, a printer unit 2, a finisher
unit 15, and so forth. The functions of different types of
composite machines can be carried out. The details have been
described in the first embodiment. Thus, the repeated description
is omitted.
[0084] FIG. 15 is a flow chart showing the sequences of operations
carried out by a counter updating means when count-up is executed
in the application management module. Hereinafter, operations
carried out when count-up is requested for each counter will be
described with reference to the flow chart of FIG. 15. First, in
S1501, the application management module receives a count-up
request, e.g., from the core unit. The processing proceeds to step
S1502. In S1502, the module acquires the ID of the application
which requests the updating. The processing proceeds to step S1503.
In step 1503, 0 is assigned to the variable n. The processing
proceeds to step S1504. In step S1504, it is checked whether the
n-th counter is assigned to the application with the application ID
acquired in step S1502 or not by reference to the table. If the
n-th counter is assigned to the application with the application ID
acquired in step S1502, the processing proceeds to step S1505.
[0085] In step S1505, the application management means acquires a
count up unit for the present job type from the application
information. The processing proceeds to step S1506. The n-th
counter counts up in the unit acquired in step 1505. The processing
proceeds to step S1509. In step S1509, the application management
means causes a counter for counting the total number to count up in
the unit specified based on the application information. Thus, the
processing terminates. On the other hand, if the application
management means determines in step S1504 that the n-th counter is
not assigned to the application with the application ID acquired in
step S1502, the processing proceeds to step S1507. In step S1507,
it is determined whether the variable n is smaller than the total
number N for the counter for the application or not. If n<N, the
n value is increased by 1 in step S1508, and the processing is
returned to step S1504. If n<N is not satisfied in step S1507,
the processing proceeds to step S1509, and only the counter for
counting the total number is caused to count up in the unit
specified in the application information. Then, the processing
terminates.
[0086] FIG. 16 illustrates an example of counters contained in the
composite machine according to the second embodiment. In this
example, six types of counters, that is, copy counters
(monochromatic), scan counters, print counters (monochromatic),
color copy counters, color print counters, and general-use counters
are provided. For each of the six types, one counter for counting
the total number is prepared, and N counters (the counter numbers
of 1 to N) are prepared for the different applications. When a
monochromatic copy job is carried out, the copy counter is caused
to count up every time copying is carried out on one sheet. At this
time, the increment by the counter is increased in an amount
defined in the application information. Similarly, when a scan job,
a monochromatic print job, a color copy job, and a color print job
are carried out, the scan counter, the print counter, the color
copy counter, and the color print counter are caused to
automatically count up every predetermined operation by a
controller. The general use counter can be caused to count up at
timing for the application by instruction of the application via
the general counter control API.
[0087] Specifically, when a scan job is executed by the application
with an application number ID of 11 under the condition of FIG. 14,
the count by the counter designated by (a) in FIG. 16 is increased
by ten every time scanning is carried out on one sheet. Moreover,
if the general-use counter API is called every time the application
with an application ID of 11 issues a job, the count by the counter
designated by (b) in FIG. 16 is increased by one.
[0088] FIG. 17 is a flow chart showing the sequence of operations
carried out when an application installed in the composite machine
is uninstalled according to the second embodiment. Hereinafter, the
operations carried out when an application installed in the image
forming apparatus is uninstalled will be described with reference
to the flow chart of FIG. 17. First, an application installer 203
checks whether the application specified at step S1701 is under
operation or not. If the application is under operation, the
uninstallation terminates immediately. If the application is not
under operation, it can be safely uninstalled, and thus, the
processing proceeds to step S1702. In step 1702, the application
installer 203 (recognizing means) retrieves the information of the
counter correlated with the application uninstalled in step S1702
and the application information from the counter
number--application ID table, and recognizes and stores it in a
nonvolatile memory provided in the image forming apparatus. The
processing proceeds to step S1703.
[0089] In step S1703, it is checked whether the information has
been correctly stored in the nonvolatile memory. In the case where
the information has been correctly stored, the processing proceeds
to step S1704. In the case where the information has not been
correctly stored, the application is not uninstalled in practice,
and the processing terminates. In step S1704, the application
management module 204 (counter managing means) updates the counter
number--application ID table, and releases the counter to which the
application ID of the application to be uninstalled is allocated so
that the counter becomes free. In the next step, step S1705, the
application is erased from the memory unit 6 for uninstallation.
Thus, the processing terminates.
[0090] As described above, according to this embodiment, the
warning dialog box with respect to the count-up information is
displayed when an application is installed. Accordingly, a user can
install the application after he or she accepts the count-up unit
every predetermined operation. Moreover, use of the general use
counter is enabled based on the applications. Accordingly, the use
number and the processing amount can be managed for each
application.
[0091] When an application is uninstalled, the application
information and the information of the used counters are stored in
a memory unit in the apparatus. Thus, the application can be
installed and uninstalled freely and repeatedly without the count
information being damaged.
[0092] An embodiment of the present invention in which a
predetermined operation of an application is restricted by an upper
limit set for each application and for each function will be
described with reference to FIGS. 18 and 19.
[0093] FIG. 18 is a flow chart showing the sequence of operations
carried out by a counter updating means and a counter upper limit
managing means when a counter is updated according to the first
embodiment. In FIG. 18, the upper limit managing means is added to
the counter updating means shown in FIG. 6. The sequence of
operations carried out by the counter managing means and the
counter upper limit managing means for update of a counter will be
described with reference to the flow chart of FIG. 18.
[0094] First, at step S1801, a counter update request is received
from the core unit 10 shown in FIG. 1. The processing proceeds to
step S1802. In step S1802, the application I of the application
which requests the update of a counter is acquired. The processing
proceeds to step S1802. In step 1802, the application ID of the
application which requests the update is acquired. The processing
proceeds to step S1803. In step S1803, 0 is assigned to the
variable n. The processing proceeds to step S1804. In step S1804,
it is checked whether the n-th counter is assigned to the
application with the application ID acquired in step S1802 or not
by reference to the table. If the n-th counter is allocated to the
application with the application ID acquired in step S1802, the
processing proceeds to step S1805. In step S1805, the n-th counter
for the present job type is updated. The processing proceeds to
step S1809. On the other hand, if it is determined in step S1804
that the n-th counter is not allocated to the application with the
application ID acquired in step 1802, the processing proceeds to
step S1807. In step S1807, it is determined whether the variable n
is smaller than the total number N of the application counter or
not. If n<N, n is increased by 1 at step S1808. The processing
is returned to step S1804. If it is determined in step S1807 that
n<N is not satisfied, the processing proceeds to step 1806. In
step S1806, only the counter for counting the total number is
updated, and then, the processing terminates.
[0095] In step S1809, the n-th upper limit for the present job is
referred in the counter upper table shown in FIG. 19, and is
compared with the counter value updated at the step S1805. If the
comparison result shows that the counter value does not exceed the
upper limit, the total number counter is updated in step S1806, and
the processing terminates. If the counter value exceeds the upper
limit, the core unit 10 of FIG. 1 is instructed on the forced
termination of the job in step 1810. The processing proceeds to
step S1811. In step S1811, an event representing the forced
termination of the job is sent and posted to the application (205
in FIG. 2) which issued the job corresponding to the application ID
acquired to at the step S1802. In step S1805, the total number
counter is updated, and the processing terminates.
[0096] According to this embodiment, the job is forcibly terminated
in step S1810. However, the application may cause a predetermined
operation. In particular, an event representing that the counter
exceeds the upper limit may be sent and posted to the application
which issued the job without the job being forcibly terminated.
Referring to the predetermined operation, the application to which
the event is posted does not issue succeeding new jobs, warns a
user, e.g., that the use license of the application which is an
execution object is deficient, displays in the operation unit 14 of
the composite machine 100 a dialog box for promoting a new license
file about the application to be installed, or communicates these
contents audibly by means of a speaker (not shown) provided for the
computer, and so forth. Similarly, display information for
displaying a dialog box is transmitted to the host computer or the
network server to be displayed on the screen of the network server
or the host computer.
[0097] FIG. 19 shows an example of a counter upper limit management
table contained in the composite machine 100. In this example,
upper limits for three types of counters, that is, copy counters,
print counters, and scan counters are provided. N counters (counter
numbers of 1 to N) are prepared for each type and for different
applications.
[0098] In the case where the contents of the counter
number--application ID table are the same as shown in FIG. 4, the
upper limit designated by (a) in FIG. 19 is referred to by the
application with an application ID of 11. The upper limit
designated by (b) in FIG. 19 is referred to by the application with
an application ID of 51. For example, when the application with an
application ID of 11 executes a copy job, the upper limit
designated by (c) in FIG. 19 is referred to. Similarly, when the
application executes a print job, the upper limit designated by (c)
in FIG. 19 is referred to. When the application executes a scan
job, the upper limit designated by (d) in FIG. 19 is referred to.
Moreover, in the case where a print job, a scan job, or a copy job
is submitted by a remote host computer, the upper limit
corresponding to the application ID of the application issuing the
job is referred to, provided that the application ID has been
registered in the table. As described with reference to FIG. 7, the
job is rejected, if the application ID of the application issuing
the job is not registered in the table. Therefore, in this case,
the upper limit does not need to be registered. For example, an OCR
application for outputting data including text information which is
coded to an ASCII code by recognizing and extracting character
information from an image and a scanner function correlated with
the OCR application may be combined. The use amount can be limited,
grasped, and accounted based on the function of the composite
machine combined with the application which can provide an
additional value for the machine. In particular, in a case where
the upper limit is set for the combination of the program of the
OCR application with the scanner function of the composite machine
100 so that the composite machine 100 can not be used, the
application management module 905 controls a controller via the API
to limit the function of the composite machine 100. In addition,
examples of the combination of an application program with the
function of the composite machine 100 include the combination of a
high-quality image processing application with a printer function,
that of an image processing application with a scanner function,
that of an office application for spreadsheet or document
preparation with a printer, a facsimile, or a scanner, and so
forth.
[0099] As described above, the respective functions of the image
forming apparatus and the count values and the upper limits of
which each number is equal to that of the applications using the
respective functions can be managed. Moreover, the count values can
be summed up for each application and for each function and
counted, and simultaneously, the upper limits can be managed.
Thereby, the use amount of an application can be counted, and the
upper limit can be managed every predetermined operation of the
application.
[0100] For example, in the case where a copy application
corresponds to a counter number of 6, the use of the copy
application causes the copy counter corresponding to the counter
number of 6 to count up, and the copy function is limited by the
upper limit corresponding to the counter number of 6. In the case
where the upper limit is set by a predetermined license mechanism,
the application-usable number can be provided depending on a
license. Thus, pre-accounting based on the use number of the
application becomes possible. Examples of the functions of the
image forming apparatus may include facsimile reception or
transmission, and so-called bookbinding processing such as
finishing, book-binding, punching, or the like in addition to copy,
print, and scan. Thus, the upper limit can be set for an
application using a function, that is, for the combination of a
predetermined application with the function operated by the
application. Accordingly, the control of a predetermined function
can be limited by the application, and the output of a job which is
issued based on the control of the function by the application can
be limited of forcedly erased.
Other Embodiments
[0101] The operations described in the present specification and
shown in FIGS. 3, 6, 8, 11, 15, 17, and 18 are carried out
according to externally installed programs and by means of an
information-processing device and the image-forming apparatus. An
information group including the programs may be supplied to the
information processing device and the image forming apparatus from
memory media such as CD-ROM, flash memories, FD, and so forth or
from external memory media via a network. Thus, the present
invention may be applied.
[0102] Needless to say, a memory medium in which the program code
of the software executing the functions described in the
embodiments is recorded may be supplied to a system or the
apparatus, and a computer (or CPU or MPU) for the system or
apparatus reads and executes the program code stored in the memory
medium, as described above. Thus, the objects of the present
invention can be also achieved.
[0103] In this case, the program code itself read from the memory
medium carries out the novel functions of this embodiment.
Accordingly, the memory medium having the program code recorded
therein constitutes this embodiment. Examples of the memory medium
for supplying the program code include a floppy disk, a hard disk,
an optical disk, opto-magnetic disk, DVD, CD-ROM, a magnetic tape,
a nonvolatile memory card, ROM, EEPROM, and the like.
[0104] The functions described in the embodiments are realized by
execution of the program cord read by the computer, and moreover,
OS (operating system) or the like operating under the computer may
carry out at least a part of the practical processes based on
instruction by the program code, whereby the operations described
in the embodiments are performed. Moreover, needless to say, the
program code read from a memory medium may be written in a memory
of a function-extension board inserted in the computer or a
function-extension unit connected to the computer, and thereafter,
CPU or the like provided in the function-extension board or the
function-extension unit carries out at least a part of the
practical processes, whereby the functions described in the
embodiments are realized.
[0105] According to the embodiments of the present invention, a
plurality of counters are prepared in the image forming apparatus.
Applications and the counters are dynamically correlated with each
other when the applications are installed. Counters free when the
applications are installed can be dynamically allocated. The
counters are released when the applications are uninstalled.
Thereby, count information can be properly managed for each
application even while an application is added or deleted.
Moreover, thereby, accounting corresponding to the use amount of an
application can be properly distributed to an application vendor
which has developed the application in the image forming
apparatus.
[0106] For the processes provided by the programs in the image
forming apparatus, the count information can be individually
managed. Thus, an image forming apparatus can be provided in which
the use amount of each program can be easily managed.
[0107] The counters are managed so as to be released in response to
the deletion of the programs installed in the image forming
apparatus. Thus, an image forming apparatus can be provided in
which undesired counters can be prevented from increasing in
number, and the use amount of each program being practically used
in the image forming apparatus can be easily managed.
[0108] The counters are managed so as to be released in response to
addition of the attribute information of each program in the image
forming apparatus. The programs can be securely correlated with the
counters and managed in the form of a table. Thus, an image forming
apparatus can be provided in which the use amount of a program
being used in the image forming apparatus can be securely acquired
and displayed to be managed.
[0109] Moreover, the use amount is managed for each function of the
image forming apparatus utilized by the program. Therefore,
accounting or the use amount can be managed depending on the value
added to by the application, the process provided by the
application, and the function provided by the composite
machine.
[0110] The counter control APT which has high portability and
re-usability and is interpreted and executed by the interpreter is
provided. Accordingly, the counter control program can be easily
prepared, and also, can be easily re-used and ported to other image
forming apparatus.
[0111] AS mechanism is provided in which the use amount of each
program is managed depending on the function of the image forming
apparatus provided by the program. Thus, an image forming apparatus
can be provided in which the use condition of each program can be
properly grasped based on the functions of the image forming
apparatus and the program configuration.
[0112] While the present invention has been described with
reference to what are presently considered to be the preferred
embodiments, it is to be understood that the invention is not
limited to the disclosed embodiments. On the contrary, the
invention is intended to cover various modifications and equivalent
arrangements included within the spirit and scope of the appended
claims. The scope of the following claims is to be accorded the
broadest interpretation so as to encompass all such modifications
and equivalent structures and functions.
* * * * *
References