Title: IMAGE FORMING APPARATUS INCLUDING A DEVICE THAT UPDATES STORED PROGRAM BASED ON UPDATING DATA WHICH IS SELECTED BASED ON PROGRAM OF CONTROL SERVICE THAT IS STARTED OR STARTABLE, PROGRAM
Abstract: An image forming apparatus includes hardware resources used by an image forming process, a storage section that stores programs for carrying out processes of user services and control services related to the image forming process, an updating data selection section that selects an updating data for at least one of programs from an updating data group, based on a program of a control service that is started or is startable, and an updating section that updates at least one arbitrary program stored in the storage section based on the selected updating data.
Patent Number: 6,915,085 Issued on 07/05/2005 to Kawaura
| Inventors:
|
Kawaura; Hisanori (Kanagawa, JP)
|
| Assignee:
|
Ricoh Company, Ltd. (Tokyo, JP)
|
| Appl. No.:
|
851316 |
| Filed:
|
May 24, 2004 |
Foreign Application Priority Data
| Aug 27, 2001[JP] | 2001-257043 |
| Aug 22, 2002[JP] | 2002-242528 |
| Current U.S. Class: |
399/8; 399/77 |
| Intern'l Class: |
G03G 015/00 |
| Field of Search: |
399/8,9,75,77
|
References Cited [Referenced By]
U.S. Patent Documents
| 5875380 | Feb., 1999 | Iwata et al.
| |
| 5890029 | Mar., 1999 | Hirata et al.
| |
| 5953567 | Sep., 1999 | Muramatsu et al.
| |
| 5987298 | Nov., 1999 | Muramatsu et al.
| |
| 6112046 | Aug., 2000 | Suzuki et al.
| |
| 6122468 | Sep., 2000 | Sakamoto et al.
| |
| 6128459 | Oct., 2000 | Iwata et al.
| |
| 6142690 | Nov., 2000 | Yoshimura et al.
| |
| 6163669 | Dec., 2000 | Aoki et al.
| |
| 6188851 | Feb., 2001 | Eom.
| |
| 6201941 | Mar., 2001 | Kasahara et al.
| |
| 6204928 | Mar., 2001 | Nakai.
| |
| 6249304 | Jun., 2001 | Sawayama et al.
| |
| 6282396 | Aug., 2001 | Iwata et al.
| |
| 6295437 | Sep., 2001 | Hodoshima et al.
| |
| 6381435 | Apr., 2002 | Shinohara et al.
| |
| 6393241 | May., 2002 | Matsumoto et al.
| |
| 6505022 | Jan., 2003 | Kosuge et al.
| |
| 6507720 | Jan., 2003 | Kabumoto et al.
| |
| 2003/0044185 | Mar., 2003 | Kawaura.
| |
| Foreign Patent Documents |
| 2001/-268306 | Sep., 2001 | JP.
| |
| 2002-82806 | Mar., 2002 | JP.
| |
Primary Examiner: Royer; William J.
Attorney, Agent or Firm: Oblon, Spivak, McClelland, Maier & Neustadt, P.C.
Parent Case Text
This application is a continuation of U.S. application Ser. No. 10/227,303,
filed Aug. 26, 2002, and claims the benefit of Japanese Patent Applications No.2001-257043
filed Aug. 27, 2001, and No. 2002-242528 filed Aug. 22, 2002, in the Japanese Patent
Office, the disclosures of all of which are hereby incorporated herein by reference.
Claims
1. An image forming apparatus comprising:
hardware resources configured to be used by an image forming process;
a storage section configured to store one or more programs for carrying out processes
of user services and control services related to the image forming process;
an updating data selection section configured to select an updating data for
at least one of a plurality of programs from an updating data group, based on a
program of a control service that is started or is startable; and
an updating section configured to update at least one arbitrary program stored
in the storage section based on the selected updating data.
2. The image forming apparatus as claimed in claim 1, further comprising:
a program starting section configured to start an arbitrary control service when
the updating data group is received,
wherein said control services include a system control service carrying out processes
of a normal mode thread which carries out a normal process and a program updating
mode thread which carries out a process of selecting the updating data from the
updating data group received by the started or startable program,
said program starting section starts the program updating mode thread of the
system control service when the updating data group is received, and
said updating section updates said at least one arbitary program stored in the
storage section based on the updating data selected by the program updating mode
thread of the system control service.
3. The image forming apparatus as claimed in claim 2, further comprising:
a memory control service configured to include a memory control service carrying
out processes of a normal mode thread which carries out a normal process and a
program updating mode thread which carries out a process of securing an updating
data region in a memory for temporarily storing the updating data group; and
a program updating application configured to develop the received updating data
group and store the updating data group in the updating data region,
wherein said program updating application causes the program starting section
to start the program updating mode thread of the memory control service when the
updating data group is received.
4. The image forming apparatus as claimed in claim 3, wherein:
each of the control services includes a normal mode thread which carries out
a normal process and a program updating mode thread which stops processes related
to the image forming process, and
said program updating application causes the program starting section to start
the program updating mode thread of each of the control servicer when the updating
data group is received.
5. The image forming apparatus as claimed in claim 4, wherein said system control
service stops the normal mode thread which is started and starts the program updating
mode thread of each of the control services depending on a request from the program
updating application.
6. The image forming apparatus as claimed in claim 3, wherein the program updating
application is started before the control service receives the updating data group
by a network.
7. The image forming apparatus as claimed in claim 2, wherein the program updating
mode thread of the system control service acquires starting information of the
started or startable program and selects the updating data of said at least one
arbitrary program based on the starting information and module identification information
which is stored in the updating data group for each program.
8. The image forming apparatus as claimed in claim 7, wherein the program updating
mode thread of the system control service searches for a file stored in the storage
section to acquire the starting information of the started or startable program
and selects the updating data of said at least one arbitrary program based on the
acquired starting information.
9. The image forming apparatus as claimed in claim 2, further comprising:
a model identification information acquiring section configured to acquire a
model identification information which is peculiar to a model of the image forming
apparatus,
wherein the program updating mode thread of the system control service selects
the updating data based on module identification information of said at least one
arbitrary program included in the updating data group, the starting information
of said at least one arbitrary program, model identification information of a model
which can operate said at least one arbitrary program stored for each module identification
information and the model identification information acquired by said model identification
information acquiring section.
10. The image forming apparatus as claimed in claim 1, wherein:
said updating data group is recorded with an updating destination region of the
storage section where the updating data is written for each module identification
information, and
said updating section updates the arbitrary program from the updating destination
region of the storage section based on the selected updating data.
11. The image forming apparatus as claimed in claim 10, wherein a recording medium
is recorded with the updating destination region for each model identification information.
12. The image forming apparatus as claimed in claim 1, wherein said updating
section checks said at least one arbitrary program after being updated by comparing
the updated arbitrary program and the updating data.
13. The image forming apparatus as claimed in claim 1, further comprising:
a non-volatile memory configured to store updating information related to a program
updating process,
wherein said updating section stores the updating information in the non-volatile
memory when carrying out the program updating process and judges whether or not
the updating information is stored in the non-volatile memory prior to the program
updating process, so as to update said at least one arbitrary program based on
the updating information stored in the non-volatile memory if the updating information
is stored in the non-volatile memory.
14. A program updating method for updating at least one arbitrary one of a plurality
of programs stored in a storage section of an apparatus based on updating data
included in an updating data group received by a network, comprising:
updating data selection which acquires starting information of a program which
is started or startable, and selects the updating data corresponding to said at
least one arbitrary program, based on the acquired starting information and module
identification information which is stored in the received updating data group
for each program; and
program updating said at least one arbitrary program by carrying out a program
updating process based on the selected updating data.
15. The program updating method as claimed in claim 14, further comprising:
region acquiring which secures in a memory an updating data region for temporarily
storing the updating data group; and
updating data developing which develops the received updating data group and
stores the developed updating data group in the updating data region.
16. The program updating method claimed in claim 14, wherein said updating data
selection further searches for a file stored in the storage section and acquires
starting information of said at least one arbitrary program.
17. The program updating method claimed in claim 14, further comprising:
model identification information acquiring which acquires a model identification
information which is peculiar to a model of the apparatus which operates the plurality
of programs,
wherein said updating data selection selects the updating data based on module
identification information of said at least one arbitrary program included in the
updating data group, the starting information of said at least one arbitrary program,
model identification information of a model which can operate said at least one
arbitrary program stored for each module identification information, and the model
identification information acquired by said model identification information acquiring
step.
18. The program updating method as claimed in claim 17, wherein said updating
data selection is executed by the program which is started in the program updating mode.
19. The program updating method as claimed in claim 14, wherein said at least
one arbitrary program includes a program updating mode for executing a process
related to the program updating process, and further comprising:
program starting which starts said at least one arbitrary program in the program
updating mode when the apparatus receives the updating data group.
20. The program updating method as claimed in claim 14, wherein said program
updating updates said at least one arbitrary program based on the selected updating
data, depending on an updating destination region of the updating data stored for
each module identification information in the updating data group.
21. The program updating method as claimed in claim 14, wherein said program
updating checks said at least one arbitrary program after being updated by comparing
the updated arbitrary program and the updating data.
22. The program updating method as claimed in claim 14, wherein said program
updating stores updating information related to the program updating process in
a non-volatile memory when carrying out the program updating process and judges
whether or not the updating information is stored in the non-volatile memory prior
to the program updating process, so as to update said at least one arbitrary program
based on the updating information stored in the non-volatile memory if the updating
information is stored in the non-volatile memory.
23. A computer-readable recording medium which stores a computer program for
causing a computer to update at least one arbitrary one of a plurality of stored
programs based on updating data included in an updating data group received by
a network, said computer program comprising:
an updating data selection causing the computer to acquire starting information
of a program which is started by or startable, and to select the updating data
corresponding to said at least one arbitrary program, based on the acquired starting
information and module identification information which is stored in the updating
data group for each program; and
a program updating causing the computer to update said at least one arbitrary
program by carrying out a program updating process based on the selected updating data.
Description
BACKGROUND OF THE INVENTION
1. Field of the Invention
The present invention generally relates to image forming apparatuses, program
updating methods and recording media, and more particularly to an image forming
apparatus which rewrites a program stored in a storage section by updating data
received via a network, a program updating method for updating the program by the
updating data received via the network, and a computer-readable recording medium
which stores a computer program for causing a computer to update the program by
such a program updating method.
2. Description of the Related Art
Conventionally, apparatuses such as a printing apparatus, a copying
machine, a scanner and a facsimile machine, were set up independently. But recently,
an image forming apparatus (hereinafter referred to as a composite apparatus) has
been developed which includes the functions of a plurality of apparatuses such
as the printing apparatus, the copying machine, the scanner and the facsimile machine.
The composite apparatus has a display section, a printing section, an image pickup
section and the like provided within a single housing. In addition, the composite
apparatus is provided with three kinds of software respectively corresponding to
the printing apparatus, copying machine and the facsimile machine, and the composite
apparatus is operated as the printing apparatus, the copying machine, the scanner
or the facsimile machine by switching the kind of software.
In the conventional composite apparatus, the software is provided independently
for the functions of each of the printing apparatus, the copying machine the scanner
and the facsimile machine and stored in a non-rewritable read only memory (ROM),
and this ROM is mounted on a controller board to realize the various functions.
For this reason, if a function is to be modified or added in the conventional
composite apparatus, a new ROM which stores a program reflecting the modification
or addition of the new function must be prepared, and the ROM mounted on the controller
board must be replaced by this new ROM. As a result, it requires a troublesome
operation to carry out the program updating process because of the need to prepare
the new ROM which stores the updated program (software) and the need to replace
the hardware, that is, to replace the ROM by the new ROM.
Accordingly, a composite apparatus has been proposed, which stores the
programs for realizing the functions of each of the printing apparatus, the copying
machine, the scanner and the facsimile machine in an electrically rewritable ROM
such as a flash memory or flash card, to realize the various functions.
According to this proposed composite apparatus, when modifying or adding
the function, the program of the modified or added function is recorded in the
flash card as updating data, and the composite apparatus is restarted in a state
where this flash card is inserted into a flash card interface of the composite apparatus.
In this state, the composite apparatus reads the updating data from the flash
card by an updating program, and the program recorded in the flash card is rewritten
by the updating data. Hence, in this proposed composite apparatus, the ROM is updated
by utilizing the characteristic of the electrically rewritable flash memory.
For example, a Japanese Laid-Open Patent Application No.2001-268306 proposes
a technique for flexibly coping with the software modification or addition.
On the other hand, an image forming apparatus having a platform was proposed
in
a Japanese Laid-Open Patent Application No.2002-82806. The proposed image forming
apparatus uses hardware resources such as the display section, the printing section
and the image pickup section, and is provided with a plurality of application programs
(hereinafter simply referred to as applications) for carrying out processes peculiar
to each user service of the printing apparatus, the copying machine and the facsimile
machine. The platform is interposed between the applications and the hardware resources.
The platform includes various control services for managing the hardware resources
which are commonly required by at least two applications, controlling execution
and carrying out an image forming process, when providing the user service. The
user service refers to a service which is related to the image forming apparatus
and is provided with respect to the user. On the other hand, the control service
refers to a service which provides a hardware resource related to the image forming
process with respect to the application.
According to the proposed image forming apparatus, the platform manages
the hardware resources which are commonly required by at least two applications,
controls the execution and carries out the image forming process. Hence, it is
possible to more easily develop the software for future modification or addition
of the applications compared to the conventional composite apparatus, and the functions
of the composite apparatus can be expanded with more ease. For this reason, in
the proposed image forming apparatus, the need to update the ROM depending on the
modification or addition of the functions is extremely high compared to that of
the conventional composite apparatus.
For example, only the functions of the printing apparatus, the copying machine
and the scanner may originally be used under the terms of a rental contract of
the composite apparatus, but the terms of the rental contract may be changed later
to allow the functions of the facsimile machine to be used. In such a case, the
facsimile application must be added and the addition or modification of the platform
becomes necessary due to the addition of the facsimile function.
In the case of the composite apparatus having the platform which carries out
the
plurality of applications and the common processes, the request to modify or add
the functions may occur both irregularly and frequently. Hence, in the case of
the conventional program updating method which acquires a flash card every time
the program updating process is carried out, and rewrites the program stored in
the ROM by reading the updating data from the flash card, it is impossible to quickly
cope with the needs for the program updating process which occurs irregularly and
frequently. In addition, the program updating method using the flash card requires
an extremely troublesome operation to carry out the program updating process, and
there is a problem in that the operation efficiency of the program updating process
is poor.
The composite apparatus provides composite services including services of the
copying machine, the printing machine, the scanner and the facsimile machine. However,
the services that can be provided by the composite apparatus is not unified for
all of the models of the composite apparatus. For example, some models of the composite
apparatus may have all of the functions of the copying machine, the printing machine,
the scanner and the facsimile machine, while other models may only have some of
the functions such as the facsimile and copy functions. For this reason, the plurality
of control services and the plurality of applications operating on a general purpose
operating system (OS) naturally differ depending on the functions that may be provided
by the composite apparatus.
But according to the conventional composite apparatus, when the flash card is
inserted into the composite apparatus as described above and the power of the composite
apparatus is turned ON, the updating program is executed immediately without starting
the applications and the control services. Consequently, it is impossible to recognize
the configuration of the composite apparatus, and there is a problem in that the
programs cannot be updated accurately depending on the configuration of the composite apparatus.
For example, assume that a certain composite apparatus has a configuration such
that no programs related to the facsimile communication, such as the facsimile
application and the facsimile control service, are provided. If the program updating
process is carried out with respect to this certain composite apparatus using the
flash card which stores the updating data for all programs, there is a possibility
that a program within the ROM which does not need to be updated is updated by the
program updating process. In this case, the updating of the program which does
not need to be updated may generate a failure in the composite apparatus.
Moreover, the technique proposed in the Japanese Laid-Open Patent Application
No.2001-268306 uses a device connected via a predetermined network to acquire and
execute a program executed by a multi-function peripheral device, and does not
update a program.
SUMMARY OF THE INVENTION
Accordingly, it is a general object of the present invention to provide
a novel and useful image forming apparatus, program updating method and computer-readable
recording medium, in which the problems described above are eliminated.
Another and more specific object of the present invention is to provide an
image forming apparatus, program updating method and computer-readable recording
medium which can quickly cope with a program updating process which occurs irregularly
and frequently, and easily update programs quickly and accurately.
Still another specific object of the present invention is to provide an image
forming apparatus comprising hardware resources used by an image forming process;
a storage section which stores one or more programs for carrying out processes
of user services and control services related to the image forming process; a network
control service which controls a network communication as an arbitrary control
service and receives via a network an updating data group including an updating
data for at least one of a plurality of programs; a program starting section which
starts the arbitrary control service when the network control service receives
the updating data group; an updating data selection section which selects an updating
data from the updating data group received by the network control service, based
on a program of the control service started by or is startable by the program starting
section; and an updating section which updates at least one arbitrary program stored
in the storage section based on the selected updating data. According to the image
forming apparatus of the present invention, it is possible to update the program
at an arbitrary time without the need to use a recording medium such as a flash
card, because the updating data group including the updating data is received via
the network and the program stored in the storage section is updated based on the
received updating data. In addition, it is possible to approximately update the
program by selecting the necessary updating data depending on the configuration
of the program which operates in the image forming apparatus, since the program
stored in the storage section is updated based on the updating data which is selected
based on the program which is started by or startable by the program starting section.
Therefore, it is possible to quickly cope with the program updating process which
occurs irregularly and frequently, and easily update programs quickly and accurately
by carrying out an optimum program updating process depending on the configuration
of the image forming apparatus.
The control services may include a system control service carrying out processes
of a normal mode thread which carries out a normal process and a program updating
mode thread which carries out a process of selecting the updating data from updating
data group received by the started or startable program, the program starting section
may start the program updating mode thread of the system control service when the
network control service receives the updating data group, and the updating section
may update the at least one arbitrary program stored in the storage section based
on the updating data selected by the program updating mode thread of the system
control service. In this case, the system control service operates as a process
having the program updating mode thread, and when the updating data group is received,
it is possible to carry out the process of selecting the updating data by starting
the program updating mode thread of the system control service. For this reason,
the process of one system control service can separate the processes at the time
of the normal process and at the time of the program updating by threads, so that
it is unnecessary to provide independent processes and the process delay caused
by the process starting at the time of the program updating process can be avoided.
The starting timing of the program updating mode thread of the system control service
by the program starting section may be when the network control service receives
the updating data group.
The image forming apparatus may further comprise a memory control service which
includes a memory control service carrying out processes of a normal mode thread
which carries out a normal process and a program updating mode thread which carries
out a process of securing an updating data region in a memory for temporarily storing
the updating data group; and a program updating application which develops the
received updating data group and stores the updating data group in the updating
data region, wherein the program updating application causes the program starting
section to start the program updating mode thread of the memory control service
when the updating data group is received from the network control service. In this
case, the memory control service operates as a process having the program updating
mode thread, and when the updating data group is received, it is possible to carry
out the process of securing the updating data region by starting the program updating
mode thread of the memory control service. For this reason, the process of one
memory control service can separate the processes at the time of the normal process
and at the time of the program updating by threads, so that it is unnecessary to
provide independent processes and the process delay caused by the process starting
at the time of the program updating process can be avoided. Moreover, since the
received updating data group is developed and the developed updating data group
is stored in the updated data region which is secured in the memory, it is unnecessary
to read the updating data from a flash card or the like, and the received updating
data can be used as it is for the program updating process, thereby facilitating
the program updating process. The starting timing of the program updating mode
thread of the memory control service by the program starting section may be when
the network control service receives the updating data group.
Each of the control services may include a normal mode thread which carries
out a normal process and a program updating mode thread which stops processes related
to the image forming process, and the program updating application may cause the
program starting section to start the program updating mode thread of each of the
control services when the updating data group is received from the network control
service. In this case, each control service operates as a process having the program
updating mode thread, and when the updating data group is received, each program
updating mode thread of the control service is started, so that the program updating
process can be carried out in a state where the processes related to the image
forming process are stopped. For this reason, it is possible to prevent the program
updating process from being interrupted or discontinued during the program updating
process due to the copying function, the facsimile function or the like which are
unnecessary for the program updating, and the program updating process can be carried
out quickly.
The program updating application may receive the updating data group from the
network control service, and the system control service may stop the normal mode
thread which is started and starts the program updating mode thread of each of
the control services depending on a request from the program updating application.
In this case, the program updating mode thread of each control service is started
when the updating data group is received, and thus, the program updating process
can be carried out in a state where the processes related to the image forming
process are stopped. For this reason, it is possible to prevent the program updating
process from being interrupted or discontinued during the program updating process
due to the copying function, the facsimile function or the like which are unnecessary
for the program updating, and the program updating process can be carried out quickly.
The program updating mode thread of the system control service may acquire starting
information of the started or startable program and select the updating data of
the at least one arbitrary program based on the starting information and module
identification information which is stored in the updating data group for each
program. In this case, by selecting the updating data of the started or startable
program based on the acquired starting information and the module identification
information stored in the updating data group for each program, it is possible
to be aware of the configuration of the program which operates in the image forming
apparatus from the starting information. In addition, it is possible to select
the appropriate updating data from the correspondence of the starting information
and the module identification information to quickly carry out an appropriate program
updating process.
The program updating mode thread of the system control service may search for
a file stored in the storage section to acquire the starting information of the
started or startable program and selects the updating data of the at least one
arbitrary program based on the acquired starting information.
The program updating mode thread of the system control service may search for
a file stored in the storage section to acquire the starting information of the
started or startable program and selects the updating data of said at least one
arbitrary program based on the acquired starting information. In this case, it
is possible to be aware of the program which can operate in the image forming apparatus
without actually starting the program, by selecting the updating data for the program
based on the acquired starting information. Hence, it is possible to quickly and
easily carry out an appropriate program updating process depending on the configuration
of the image forming apparatus.
The image forming apparatus may further comprise a model identification information
acquiring section which acquires a model identification information which is peculiar
to a model of the image forming apparatus, wherein the program updating mode thread
of the system control service selects the updating data based on module identification
information of the at least one arbitrary program included in the updating data
group, the starting information of the at least one arbitrary program, model identification
information of a model which can operate the at least one arbitrary program stored
for each module identification information, and the model identification information
acquired by the model identification information acquiring section. In this case,
even in a case where arrangements of the programs which can operate differ among
the models of the image forming apparatus, it is possible to use in common a single
updating data group which is received for the program updating process of a plurality
of models of the image forming apparatus. For this reason, it is possible to prevent
the program updating process from being erroneously carried out based on the updating
data for a different model of the image forming apparatus, and it is possible to
ensure an optimum program updating process for the configuration (or model) of
the image forming apparatus. In addition, a transmitting end that transmits the
updating data group does not need to transmit different updating data for the image
forming apparatuses of each of the contractors, and the program updating operation
is also facilitated for the transmitting end.
The updating data group may be recorded with an updating destination region of
the storage section where the updating data is written for each module identification
information, and the updating section may update the arbitrary program from the
updating destination region of the storage section based on the selected updating
data. In this case, it becomes unnecessary to carry out a process of determining
the arrangement and updating destination of the program stored in the storage section,
by updating the updating destination region of the storage section by the updating
data. Hence, it is possible to carry out the program updating process accurately
and quickly.
The recording medium may be recorded with the updating destination region for
each model identification information. In this case, it is possible to accurately
and quickly carry out the program updating process for a plurality kinds of models
of the image forming apparatus, even in a case where the arrangements of the programs
which can operate differ depending on the model of the image forming apparatus,
because the updating destination region is recorded for each model identification information.
The updating section may check the at least one arbitrary program after being
updated by comparing the updated arbitrary program and the updating data. In this
case, it is possible to quickly detect an error which occurs during the program
updating process, and the reliability of the program updating process can be improved.
The image forming apparatus may further comprise a non-volatile memory which
stores updating information related to a program updating process, wherein the
updating section stores the updating information in the non-volatile memory when
carrying out the program updating process and judges whether or not the updating
information is stored in the non-volatile memory prior to the program updating
process, so as to update the at least one arbitrary program based on the updating
information stored in the non-volatile memory if the updating information is stored
in the non-volatile memory. In this case, it is possible to restore the updating
information the next time the program updating process is started, even if the
program updating process is discontinued halfway. Moreover, the program updating
process can quickly be resumed the next time the program updating process is started,
from the point where the previous program updating process was discontinued, and
the program updating process can be continued smoothly after the discontinuance.
The program updating application may be started before the network control service
receives the updating data group via the network. In this case, the updating data
group received via the network by the network control service can quickly be transferred
to the program updating application.
A further object of the present invention is to provide a program updating method
for updating at least one arbitrary one of a plurality of programs stored in a
storage section of an apparatus based on updating data received via a network,
comprising a receiving step which receives via the network an updating data group
including the updating data; a program starting step which starts the at least
one arbitrary program in the apparatus; an updating data selection step which acquires
starting information of the program which is started by or startable by the program
starting step, and selects the updating data corresponding to the at least one
arbitrary program, based on the acquired starting information and module identification
information which is stored in the updating data group for each program; and an
updating step which updates the at least one arbitrary program based on the selected
updating data. According to the program updating method of the present invention,
it is possible to update the program at an arbitrary time without the need to use
a recording medium such as a flash card, because the updating data group including
the updating data is received via the network and the program stored in the storage
section is updated based on the received updating data. In addition, it is possible
to approximately update the program by selecting the necessary updating data depending
on the configuration of the program which operates in the image forming apparatus,
since the program stored in the storage section is updated based on the updating
data which is selected based on the program which is started by or startable by
the program starting section. Therefore, it is possible to quickly cope with the
program updating process which occurs irregularly and frequently, and easily update
programs quickly and accurately by carrying out an optimum program updating process
depending on the configuration of the image forming apparatus.
The updating data selection step may be executed by the program which is started
in the program updating mode. In this case, it is possible to reduce a size of
memory used by the starting program, and improve the speed of the program updating process.
The updating step may update the at least one arbitrary program based on the
selected updating data, depending on an updating destination region of the updating
data stored for each module identification information in the updating data group.
In this case, by updating the program based on the updating data selected according
to the updating destination region of the updating data, it becomes unnecessary
to carry out a process of determining the arrangement or updating destination of
the program stored in the storage section, thereby enabling an accurate and quick
program updating process.
Another object of the present invention is to provide a computer-readable
storage medium which stores a computer program for causing a computer to update
a program which is stored in a storage section, where the computer program comprises
a receiving procedure which causes the computer to receives an updating data group
including updating data of at least one arbitrary program via a network; a program
starting procedure which causes the computer to start the at least one arbitrary
program; an updating data selection procedure which causes the computer to acquire
starting information of the program which is started by or startable by the program
starting procedure, and to select the updating data corresponding to the at least
one arbitrary program, based on the acquired starting information and module identification
information which is stored in the updating data group for each program; and an
updating procedure which causes the computer to update the at least one arbitrary
program by carrying out a program updating process based on the selected updating
data. According to the computer-readable storage medium of the present invention,
it is possible to update the program at an arbitrary time without the need to use
a recording medium such as a flash card, because the updating data group including
the updating data is received via the network and the program stored in the storage
section is updated based on the received updating data. In addition, it is possible
to approximately update the program by selecting the necessary updating data depending
on the configuration of the program which operates in the apparatus such as the
computer, since the program stored in the storage section is updated based on the
updating data which is selected based on the program which is started by or startable
by the program starting section. Therefore, it is possible to quickly cope with
the program updating process which occurs irregularly and frequently, and easily
update programs quickly and accurately by carrying out an optimum program updating
process depending on the configuration of the apparatus.
Therefore, according to the present invention, it is possible to quickly
cope with a program updating process which occurs irregularly and frequently, and
easily update programs quickly and accurately
Other objects and further objects of the present invention will be apparent
from the following detailed description when read in conjunction with the accompanying drawings.
BRIEF DESCRIPTION OF THE DRAWINGS
FIG. 1 is a system block diagram showing a functional structure of a first embodiment
of an image forming apparatus according to the present invention;
FIG. 2 is a system block diagram showing a hardware structure of the first embodiment
of the image forming apparatus;
FIG. 3 is a diagram showing a data structure employed by an updating data packet
received by the first embodiment of the image forming apparatus after developing
the updating data packet;
FIG. 4 is a system block diagram showing a structure of a composite apparatus
starting section of the first embodiment of the image forming apparatus;
FIGS. 5A, 5B and 5C are block diagrams for explaining an entire
processing procedure of a remote ROM updating process in the first embodiment of
the image forming apparatus;
FIG. 6 is a flow chart for explaining a processing procedure carried out by
a ROM monitoring section of the first embodiment of the image forming apparatus;
FIG. 7 is a flow chart for explaining a processing procedure of a process carried
out by a program starting section of the first embodiment of the image forming apparatus;
FIG. 8 is a flow chart for explaining a processing procedure of an updating
data selection process carried out by a ROM updating mode thread of a SCS in the
first embodiment;
FIG. 9 is a flow chart for explaining the processing procedure of the updating
data selection process carried out by the ROM updating mode thread of the SCS in
the first embodiment;
FIG. 10 is a flow chart for explaining a processing procedure of the ROM updating
process carried out by a ROM updating section of the first embodiment of the image
forming apparatus;
FIG. 11 is a diagram showing a data structure employed by an updating data packet
received by a second embodiment of the image forming apparatus according to the
present invention after developing the updating data packet;
FIG. 12 is a flow chart for explaining a processing procedure carried out by
a ROM monitoring section of the second embodiment of the image forming apparatus;
FIG. 13 is a flow chart for explaining a processing procedure of an updating
data selection process carried out by a ROM updating mode thread of a SCS in the
second embodiment;
FIGS. 14A, 14B and 14C are block diagrams for explaining an entire
processing procedure of a remote ROM updating process in a third embodiment of
the image forming apparatus according to the present invention; and
FIGS. 15A and 15B are block diagrams for explaining an entire processing procedure
of a remote ROM updating process in a fourth embodiment of the image forming apparatus
according to the present invention.
DESCRIPTION OF THE PREFERRED EMBODIMENTS
A description will be given of various embodiments of an image forming apparatus,
a program updating method and a computer-readable recording medium according to
the present invention, by referring to the drawings.
(First Embodiment)
FIG. 1 is a system block diagram showing a functional structure of a first embodiment
of the image forming apparatus according to the present invention. A composite
apparatus
100 shown in FIG. 1 includes a black and white line printer (B&W
LP)
101, a color line printer (Color LP)
102, hardware resources
103 such as a scanner and a facsimile machine, a software group
110,
and a composite apparatus starting section
140. The software group
110
is formed by a platform
120 and applications
130. The composite apparatus
starting section
140 is executed when turning ON the power of the composite
apparatus
100.
The composite apparatus starting section
140 is first executed when turning
ON the power of the composite apparatus
100, so as to execute the platform
120 and the applications
130 depending on a starting mode. The starting
mode includes a normal mode and a ROM updating mode. The normal mode starts the
composite apparatus
100 to carry out normal composite services such as copying,
printing, scanning and facsimile functions. The normal mode is started when a remote
ROM updating flag in an SRAM
208 shown in FIG. 2 which will be described
later is set to an OFF state. On the other hand, the ROM updating mode starts the
composite apparatus
100 to update a storage section such as a flash memory.
The ROM updating mode is started when the remote ROM updating flag in the SRAM
208 is set to an ON state.
The platform
120 manages control services which generate hardware resource
acquisition requests by interpreting processing requests from the applications
130, and one or a plurality of hardware resources
103. The platform
120 includes a system resource manager (SRM)
123 which carries out
arbitration of the acquisition requests from the control services, and a general
purpose operating system (OS)
121.
The control services are formed by a plurality of service modules, including
a system control service (SCS)
122, an engine control service (ECS)
124,
a memory control service (MCS)
125, an operation panel control service (OCS)
126, a facsimile control service (FCS)
127, and a network control
service (NCS)
128. The platform
120 includes an application program
interface (API) which enables reception of the processing requests from the applications
130 using a predefined function.
The general purpose OS
121 is formed by a UNIX (registered trademark)
operating system or the like which executes in parallel each software of the platform
120 and the applications
130 as processes.
The MCS
125 is started as a memory control process. The process of the
MCS
125 includes a normal mode thread, and a ROM updating mode thread. The
normal mode thread of the MCS
125 is executed when carrying out the composite
services of the copying machine, printing apparatus (printer), facsimile machine
and scanner, such as releasing acquisition of an image memory, utilization of the
HDD and compression and expansion of image data. The ROM updating mode thread of
the MCS
125 secures an updating data region in the SDRAM
203 for
storing updating data developed from an updating data packet by a remote ROM updating
application which will be described later, when the composite apparatus
100
is started in the ROM updating mode. The updating data packet forms an updating
data group of the present invention.
The updating data includes program data for modifying or adding functions of
a program of a user service or a control service. On the other hand, the updating
data is grouped for one or a plurality of user services or control services which
are updating targets, so as to form the updating data group. The updating data
group may include header information in addition to the updating data itself. The
header information may include module identification information of the program
corresponding to the updating data, model information of the image forming apparatus,
updating destination address of the updating data in the storage section, and relative
address of the updating data.
The process of the OCS
126 includes a normal mode thread and a ROM updating
mode thread. The normal mode thread of the OCS
126 is started when carrying
out the composite services such as controlling an operation panel which forms an
information transfer means (or section) between the operator (user) and the main
body control of the composite apparatus
100. The ROM updating mode thread
of the OCS
126 does not carry out the operation panel control, and is simply started.
The process of the FCS
127 includes a normal mode thread and a ROM updating
mode thread. The normal mode thread of the FCS
127 is started when carrying
out the composite service to provide the API for facsimile transmission and reception
using a PSTN and/or an ISDN from each application layer of the system controller,
registration or referral to various facsimile data managed in a backup SRAM (BKM),
facsimile reception printing, and united transmission and reception. The ROM updating
mode thread of the FCS
127 does not execute such functions for providing
the API, and is simply started.
The process of the NCS
128 provides services which may be used in common
with respect to the applications which require the network I/O interface. The process
of the NCS
128 includes a normal mode thread and a ROM updating mode thread.
The normal mode thread of the NCS
128 is executed when carrying out the
composite service to intermediate, such as distributing to the applications the
data received from the network according to the protocols and transmitting the
data from the applications to the network. The normal mode thread of the NCS
128
also receives a ROM updating request packet of the flash memory from a host computer
of a developer who develops the composite apparatus
100 or a third vendor
of a developer who develops the applications, for example, where the host computer
or the third vendor is connected to the network. The ROM updating mode thread of
the NCS
128 receives via the network the updating data packet which includes
the updating data of the program in the flash memory from the host computer of
the developer who develops the composite apparatus
100 or the third vendor
of the developer who develops the programs.
The process of the SRM
123 manages the resources and controls the system
together with the SCS
122. The process of the SRM
123 carries out
an arbitration depending on requests from an upper layer which uses the hardware
resources such as engines of the scanner section and the printer section, memory,
hard disk drive (HDD) file, host input/output (I/O) interface (centronics interface
(I/F)), network interface (I/F), IEEE1394 interface (I/F), RS232C interface (I/F)
and the like. The process of the SRM
123 includes a normal mode thread which
is executed when carrying out a composite service for controlling execution, and
a ROM updating mode thread which does not manage the resources and is simply started.
More particularly, the normal mode thread of the SRM
123 judges whether
or not the requested hardware resource is usable (or not used by another request),
and if the requested hardware resource is usable, notifies the upper layer that
the requested hardware resource is usable. In addition, the SRM
123 carries
out a scheduling of the use of th