FIELD OF THE INVENTION The present invention relates to an image formation apparatus having hardware resources used in image formation processing in its display section, print section, imaging section and so on and providing user service, such as a printer, copier or facsimile, relating to image formation processing, and relates to an image formation method and a program of such an image formation apparatus. More particularly, this invention relates to such an image formation apparatus, image formation method, and program that each software (application) corresponding to a printer, a copier, a facsimile device, and so on can be developed efficiently and the productivity of the apparatus as a whole can be improved.
BACKGROUND OF THE INVENTION A few years ago printers, copiers and facsimiles are typically implemented so as to have respective separate casings. In recent years, however, an image formation apparatus (hereafter referred to as “compound machine”) having functions of all of these apparatuses in one casing is known.
In this compound machine, a display section, a print section, and an imaging function are included in one casing. In addition, three kinds of software respectively corresponding to a printer, a copier and a facsimile device are provided. The apparatus is made to operate as a printer, a copier and a facsimile device by software switchover.
By using such a compound machine, it becomes unnecessary to provide a printer, a copier and a facsimile device separately in a room. As a result, the total cost and space can be reduced.
However, if software programs (including dedicated operating systems) respectively corresponding to a printer, a copier and a facsimile device are provided separately in such a compound machine, a lot of time is required for developing respective software programs.
In other words, such a conventional compound machine is nothing but a machine having one consolidated c sing. In the same way as the conventional art, software for printer, software for copier, and software for facsimile must be developed separately.
Originally, software for printer, software for copier, and software for facsimile can share algorithm in various aspects because of such a nature that they handle the same kind of images. If software programs are produced separately, therefore, the reoccurs a problem that the memory capacity is increased accumulatively.
Recently, however, a general purpose OS such as UNIX is often adopted in such a compound machine in order to save repeated processing of the case where three kinds of dedicated operating systems are provided separately. If only an OS part is shared, however, the development efficiency of software cannot be so increased.
In Japanese Patent Application Publication No. 7-79368, there is disclosed an electronic print system that hierarchizes a document service architecture by using an application layer including a server dialog and a distributed application, a function layer including a font manager and a network manager, and a control layer including an operating system. However, this electronic print system of the conventional art is nothing but a system in that a partial function such as fonts is shared. The development efficiency of each software is not improved.
Furthermore, a plurality of applications can be mounted on a personal computer connected to the compound machine, a printer or the like. However, this personal computer does not manage hardware resources relating to the compound machine. The present invention does not relate to a personal computer, but relates to an image formation apparatus itself, such as a compound machine, to which a personal computer is connected.
SUMMARY OF THE INVENTION It is an object of the present invention to provide such a method if and an apparatus for image formation that each software (application) corresponding to a printer, a copier, a facsimile device, and so on can be developed efficiently and the productivity of the apparatus as a whole can be improved. It is an another object of this invention to provide a computer program which can realize the method according to present invention on a computer.
The image formation apparatus according to one aspect of the present invention includes hardware resources, such as a display section, a print section, and an imaging section, used in image formation processing and which provides user service, such as print, copy, or facsimile, relating to image formation processing. This image formation apparatus comprises applications each of which conducts processing peculiar to user service such as print, copy, or facsimile and which can be mounted in a plurality on the image formation apparatus; and a platform which is interposed between the applications and the hardware resources, and which conducts management of the hardware resources, execution control and image formation processing needed in common by at least two of the applications when providing the user service.
Thus, the image formation apparatus includes applications each of which conducts processing peculiar to user service such as print, copy, or facsimile and which can be mounted in a plurality on the image formation apparatus; and a platform which is interposed between the applications and the hardware resources, and which conducts management of the hardware resources, execution control and image formation processing needed in common by at least two of the applications when providing the user service. When creating an application of each user service, therefore, only portions other than the platform need to be created.
The image formation method according to another aspect of the present invention provides user service, such as print, copy, or facsimile, relating to image formation processing, by using hardware resources, such as a display section, a print section, and an imaging section, used in image formation processing. This image formation method comprises the steps of conducting processing peculiar to user service such as print, copy, or facsimile by using applications which can be mounted in a plurality; and conducting management of the hardware resources, execution control and image formation processing needed in common by at least two of the applications, when providing the user service, by using a platform interposed between the applications and the hardware resources.
Thus, processing peculiar to user service such as print, copy, or facsimile is conducted by using applications which can be mounted in a plurality; and management of the hardware resources, execution control and image formation processing needed in common by at least two of the applications is conducted, when providing the user service, by using a platform interposed between the applications and the hardware resources. When creating an application of each user service, therefore, only portions other than the platform need to be created.
The application programs according to still another aspect of the present invention which can be mounted in a plurality on an image formation apparatus, the image formation apparatus including hardware resources, such as a display section, a print section, and an imaging section, used in image formation processing and providing user service, such as print, copy, or facsimile, relating to image-formation processing. Each of the application programs is executed to operate on a platform which conducts management of the hardware resources, execution control and image formation processing, when providing user service such as print, copy, or facsimile.
Thus, each of the application programs is executed to operate on a platform which conducts management of the hardware resources, execution control and image formation processing, when providing user service such as print, copy, or facsimile. Therefore, application programs each having a reduced processing burden by using the platform can be provided.
The image formation apparatus according to still another aspect of the present invention which includes hardware resources, such as a display section, a print section, and an imaging section, used in image formation processing and which provides user service, such as print, copy, or facsimile, relating to image formation processing. This image formation apparatus comprises applications each of which conducts processing peculiar to user service such as print, copy, or facsimile and which can be mounted in a plurality on the image formation apparatus; and a platform which is interposed between the applications and the hardware resources, and which conducts management of the hardware resources, execution control and image formation processing needed in common by at least two of the applications when providing the user service. The platform comprises common system service which conducts management of the hardware resources, execution control and image formation processing; and application service which is interposed between the plurality of applications and the common system service and which at least conducts job generation corresponding to applications.
Thus, the image formation apparatus includes applications each of which conducts processing peculiar to user service such as print, copy, or facsimile and which can be mounted in a plurality on the image formation apparatus; and a platform which is interposed between the applications and the hardware resources, and which conducts management of the hardware resources, execution control and image formation processing needed in common by at least two of the applications when providing the user service. In addition, the platform includes common system service which conducts management of the hardware resources, execution control and image formation processing; and application service which is interposed between the plurality of applications and the common system service and which at least conducts job generation corresponding to applications. When creating an application of each user service, therefore, only portions of the screen display control and key operation need to be created.
The image formation method according to still another aspect of the present invention which provides user service, such as print, copy, or facsimile, relating to image formation processing, by using hardware resources, such as a display section, a print section, and an imaging section, used in image formation processing. This image formation method comprises the steps of conducting processing peculiar to user service such as print, copy, or facsimile by using applications which can be mounted in a plurality; and conducting management of the hardware resources, execution control and image formation processing needed in common by at least two of the applications, when providing the user service, by using a platform. The platform includes common system service which is interposed between the applications and the hardware resources and which conducts management of the hardware resources, execution control and image formation processing, and application service which is interposed between the applications and the common system service and which conducts at least job generation corresponding to an application.
Thus, processing peculiar to user service such as print, copy, or facsimile is conducted by using applications which can be mounted in a plurality; and management of the hardware resources, execution control and image formation processing needed in common by at least two of the applications are conducted, when providing the user service, by using a platform. In addition, the platform includes common system service which is interposed between the applications and the hardware resources and which conducts management of the hardware resources, execution control and image formation processing, and application service which is interposed between the applications and the common system service and which conducts at least job generation corresponding to an application. When creating an application of each user service, therefore, only portions of the screen display control and key operation need to be created.
The application programs according to still another aspect of the present invention which can be mounted in a plurality on an image formation apparatus, the image formation apparatus including hardware resources, such as a display section, a print section, and an imaging section, used in image formation processing and providing user service, such as print, copy, or facsimile, relating to image formation processing. Each of the application programs is executed to operate on a platform, when providing user service such as print, copy, or facsimile, and the platform includes common system service which conducts management of the hardware resources, execution control and image formation processing, and application service which is interposed between the applications and the common system service and which conducts at least job generation corresponding to an application.
Thus, each of the application programs is executed to operate on a platform, when providing user service such as print, copy, or facsimile. In addition, the platform includes common system service which conducts management of the hardware resources, execution control and image formation processing, and application service which is interposed between the applications and the common system service and which conducts at least job generation corresponding to an application. Therefore, application programs each having a reduced processing burden by using the platform can be provided.
Other objects and features of this invention will become apparent from the following description with reference to the accompanying drawings.
BRIEF DESCRIPTION OF THE DRAWINGSFIG. 1A toFIG. 1C are diagrams showing a concept of a compound machine according to a first embodiment of the present invention;
FIG. 2A andFIG. 2B are diagrams showing a platform shown inFIG. 1C;
FIG. 3 is a configuration diagram showing a concrete configuration of a compound machine shown inFIG. 1C;
FIG. 4 is a diagram showing copy operation using a copy application shown inFIG. 3;
FIG. 5 is a diagram showing print operation using a printer application shown inFIG. 3;
FIG. 6 is a diagram showing scanner operation using a scanner application shown inFIG. 3;
FIG. 7 is a diagram showing processing of a copy application, a printer application, and a scanner application at the time of start, processing of generating and displaying respective application screens, and processing conducted when an application screen selection key is depressed;
FIG. 8 is a diagram showing facsimile transmission operation using a facsimile application or a printer application;
FIG. 9 is a configuration diagram showing a hardware configuration of a compound machine shown inFIG. 1C;
FIG. 10 is a block diagram showing a detailed configuration of an ASIC shown inFIG. 9;
FIG. 11 is a block diagram showing a software configuration of a compound machine according to a second embodiment of the present invention;
FIG. 12A toFIG. 12C are diagrams showing a concept of a compound machine according to a second embodiment of the present invention;
FIG. 13 is a configuration diagram showing a concrete software configuration of a compound machine shown inFIG. 12C;
FIG. 14 is a diagram showing copy operation using a copy application shown inFIG. 13;
FIG. 15 is a diagram showing print operation using a printer application shown inFIG. 13;
FIG. 16 is a diagram showing scanner operation using a scanner application shown inFIG. 13;
FIG. 17 is a diagram showing processing of a copy application, a printer application, and a scanner application at the time of start, processing of generating and displaying respective application screens, and processing conducted when an application screen selection key is depressed; and
FIG. 18 is a diagram showing facsimile transmission operation using a facsimile application or a printer application.
DESCRIPTION OF THE PREFERRED EMBODIMENTS Embodiments of a method of and an apparatus for image formation, and a computer program according to the present invention will be explained in detail by referring to accompanying drawing. These embodiments assume a case in which the present invention is applied to a compound machine.
First of all, a concept of a compound machine according to a first embodiment will be explained by referring toFIG. 1A toFIG. 1C,FIG. 2A andFIG. 2B.FIG. 1A toFIG. 1C are diagrams showing a concept of a compound machine according to the first embodiment.FIG. 2A andFIG. 2B are diagrams showing a platform shown inFIG. 1C.
In aconventional printer100, an application for printer (printer application) is mounted on adedicated OS101, which conducts a drawing and print function and engine control as shown inFIG. 1A. As for facsimile and copy as well, separate casings are formed. Further, a compound machine incorporating them on one casing has made its appearance. It is not efficient to simply provide functions of a printer, a copier, and a facsimile device independently of each other.
Therefore, an apparatus configuration as shown inFIG. 1B has been adopted. In this apparatus configuration, the conventionaldedicated OS101 is formed by a generalpurpose OS portion111 and anengine control portion112. The generalpurpose OS portion111 and theengine control portion112 are coupled by an engine interface (I/F). In addition, aprinter application113, acopy application114, andvarious applications115 are mounted on thegeneral purpose OS111.
In such acompound machine110, a general purpose OS such as UNIX is adopted. Therefore, theprinter application113, thecopy application114 and thevarious applications115 can be executed in parallel simply as processes.
In thiscompound machine110 as well, however, theprinter application113, thecopy application114 andvarious applications115 need to be developed independently of each other. Therefore, burdens of developing respective software programs cannot be reduced so much.
In acompound machine120 according to the present embodiment, therefore, a common portion of respective applications is extracted ascommon system service121 as shown inFIG. 1C. Aplatform122 is formed by thecommon system service121 and thegeneral purpose OS111.
Moreover, since theprinter application123, thecopy application124 and thevarious applications125 are mounted on theplatform122, labor for developing respective applications can be reduced and the applications can be made slim.
For example, it is now assumed that a copy application has codes of 130,000 steps, a fax application has codes of 125,000 steps, and a printer application has codes of 100,000 steps as shown inFIG. 2A. If in this case they are formed separate applications, codes of a total of 130,000+125,000+100,000=355,000 steps are needed.
If portions that can be utilized in common for respective applications have 180,000 steps, the productivity is improved by putting together the portions as a platform.
For example, if it is assumed that the copy application, the fax application, the printer application, and the platform can be formed by codes of 40,000 steps, 100,000 steps, 35,000 steps, and 90,000 steps, respectively, as shown inFIG. 2B, then the total becomes 40,000+100,000+35,000+90,000=265,000 steps. The productivity of the apparatus as a whole is improved to 134% (=355,000/265,000).
As for the platform portion, the productivity is improved to 200% (=180,000/90,000). In addition, development efficiencies of the copy application, the fax application, and the printer application are also improved remarkably.
Thecompound machine120 according to the present embodiment is thus formed so as to mount theprinter application123, thecopy application124 and thevarious applications125 on theplatform122 comprised of thecommon system service121 and thegeneral purpose OS111. Therefore, both the productivity of the whole apparatus and the development efficiencies of respective applications can be increased.
A software configuration of thecompound machine120 shown inFIG. 1C will now be explained in more detail.FIG. 3 is a configuration diagram showing a concrete software configuration of thecompound machine120 shown inFIG. 1C.
As shown inFIG. 3, thecompound machine120 includes a black and white line printer (B&W LP)301, a color line printer (Color LP)302, andother hardware resources303. In addition, asoftware group310 includes aplatform320 andapplications330.
Theplatform320 includes control service, a system resource manager (SRM)323, and ageneral purpose OS321. The control service explained below interprets a processing request issued by theapplications330 and generates an acquisition request of hardware resources. Thesystem resource manager323 manages one or more hardware resources and arbitrates between acquisition requests from the control service.
The control service includes a plurality of service modules. To be concrete, the control service includes SCS (system control service)322, ECS (engine control service)324, MCS (memory control service)325, OCS (operation panel control service)326, FCS (FAX control service)327, and NCS (network control service)328. By the way, theplatform320 includes an application program interface, which enables reception of a processing request from the application by using a previously defined function.
Thegeneral purpose OS321 is a general purpose operating system such as UNIX, and executes software programs of theplatform320 and theapplications330 in parallel respectively as processes. By using open source UNIX, the safety of the programs can be ensured and correspondence to the network becomes possible, and the source code can be obtained easily. In addition, the royalty of the OS and TCP/IP is unnecessary, and outsourcing also becomes easy.
TheSRM323 conducts system control and resource management in cooperation with theSCS322. In accordance with a request from a high order layer utilizing hardware resources of an engine such as a scanner portion or a printer portion, a memory, an HDD file, and a host I/O (such as a Centro-I/F, a network I/F, an IEEE 1394 I/F, and an RS 232C I/F), theSRM323 conducts arbitration and execution control.
To be concrete, theSRM323 determines whether requested hardware resources are available (whether the requested hardware resources are not utilized by other requests). If available, theSRM323 notifies a high order layer that the requested hardware resources are available. Further, theSRM323 may conduct utilization scheduling of hardware resources in response to a request from a high order layer, and directly carry out request contents (for example, such as paper conveyance and image formation operation, memory insurance, file generation).
TheSCS322 conducts (1) application management, (2) operation portion control, (3) system screen display (such as job list screen and counter display screen), (4) LED display, (5) resource management, and (6) interrupt application control. To be concrete, (1) in application management, registration of an application and processing of notifying its information to another application are conducted. As for the application which has been registered, an engine state is notified to the application according to the system setting and request setting from an application. Further, as for applications already registered, an enquiry as to whether system state transition is possible, such as enquiry of power mode shift or an interrupt mode, is conducted.
Further, (2) in operation section control, exclusive control of the right of using the operation section of an application is conducted. Moreover, key information from an operation section driver (OCS) is notified exclusively to an application having the right of using the operation section. This key information conducts mask control of temporarily stopping notification according to the state transition of the system such as during application switchover.
Further, (3) in the system screen display, an alarm screen corresponding to the engine state is displayed according to a request content from an application having the right of using the operation section. Among them, there is one that turns on/off alarm display according to the application state such as a user restriction screen. Other than the engine state, there is conducted display control of a job list screen for displaying a job reservation and execution situation, a counter screen for displaying total counters, and a screen indicating that the CSS is being notified. As for the system screen displays of them, the application is not requested to release the right of using the operation section and drawing is conducted as a system screen covering the application screen.
Further, (4) in LED display, display control of a system LED, such as an alarm LED or an application key, is conducted. As for an LED peculiar to an application, the application controls it by directly using a display driver.
Further, (5) in resource management, there is conducted service for exclusive control of engine resources (such as a scanner and a staple) that must be excluded when an application (ECS) executes a job. (6) In interrupt application control, there are conducted control and service for causing a specific application to operate preferentially.
TheECS324 controls an engine such as the black and white line printer (B&W LP)301, the color line printer (Color LP)302, and theother hardware resource303. TheECS324 conducts image reading, print operation, state notification, jam recovery, and so on.
To be concrete, a series of copy/scan/print operations are implemented by successively issuing print requests to theSRM323 in accordance with job mode specification received from theapplications330. Subject jobs handled by theECS324 are jobs with a scanner specified as an image input device or jobs with a plotter specified as an image output device.
For example, in the case of copy operation, “SCANNER→PLOTTER” is specified. In the case of file storage, “SCANNER→MEMORY” is specified. In the case of facsimile transmission, “SCANNER→FAX_IN” is specified. In the case of stored file print or print from theprinter application311, “MEMORY→PLOTTER” is specified. In the case of facsimile reception, “FAX_OUT→PLOTTER” is specified.
Although the definition of job differs depending upon application, processing operation for one set of images handled by the user is herein defined as one job. For example, in the case of an ADF (automatic document feeder) mode of copy, operation of reading one set of manuscripts put on a manuscript stand becomes one job. In a pressure plate mode, reading operation conducted as far as the final manuscript is fixed becomes one job. In the case of thecopy application312, operation of copying one bundle of manuscripts becomes one job. In the case of thefax application313, transmission operation of one document or reception operation of one document becomes one job. In the case of the printer application, print operation of one document becomes one job.
TheMCS325 conducts memory control. To be concrete, theMCS325 conducts acquisition and release of an image memory, utilization of a hard disk device (HDD), and image data compression and expansion.
As functions required to manage information needed as image data files stored in the hard disk device, there are (1) file access (generation/deletion/open/close) function (including exclusive processing), (2) management of various file attributes (management of image data of physical page units as files) such as file name/ID management (file/user)/password management/storage time management/the number of pages/data format (such as compression system)/access restriction/generating application/print condition management, (3) jointing/insertion/disconnection function by taking a file as the unit and taking a page as the unit, (4) file sort function (in the order of storage time/in the order of user ID or the like), (5) notification of all file information (for display/retrieval), (6) recovery function (file/page discard of a damaged file), and (7) automatic file deletion function.
As functions for retaining image data in a memory such as a RAM and accessing the image data, there are (1) a function of acquiring file and page/band attribute information from theapplications330, and (2) functions of securing, releasing, reading and writing an image data area from theapplications330.
TheOCS326 is a module for controlling an operation panel which serves as information transfer means between the operator and main body control. TheOCS326 conducts processing of notifying a key operation event of the operator to the main body control, processing of providing a library function for each application to construct a GUI, processing of managing the constructed GUI information application to application, and display reflection processing onto an operation panel.
TheOCS326 has (1) a library providing function for GUI construction, (2) an operation section hardware resource management function, (3) VRAM drawing/LCD display function (hardware display, display application switchover, display language switchover, window dark color display, message/icon blink display, message joint display), (4) hard key input detection function, (5) touch panel key input detection function, (6) LED output function, (7) buzzer output function.
TheFCS327 provides an API for conducting facsimile transmission and reception using a PSTN/ISDN network, registration/citation of various facsimile data managed by BKM (backup SRAM), facsimile reading, facsimile reception print, and fused transmission and reception, from each application layer of a system controller.
To be concrete, theFCS327 has (1) a transmission function of transmitting a document requested to be transmitted by an application layer, to a facsimile receiver by using a PSTN/ISDN network, (2) reception function of transferring and printing a facsimile reception screen and various reports received from the PSTN/ISDN network, (3) telephone directory citation and registration function of conducting citation and/or registration of facsimile management items such as a telephone directory and group information stored in a fax board, (4) a fax log notification function of notifying transmission and reception result history information stored in the BKM mounted on a fax board to an application which needs it, and (5) an event notification function of notifying a changed event to an application registered in the FCS when there has been a state change of the fax board.
TheNCS328 is a group of modules for providing applications needing a network I/O with service which can be utilized in common. TheNCS328 distributes data received from the network side by using each protocol among applications, and acts as an intermediary when an application transmits data to the network side. To be concrete, theNCS328 has server demons such as ftpd, httpd, lpd, snmpd, telnetd, and smtpd, and client functions of the same protocol.
Theapplications330 includes aprinter application311, which is an application for printer having a page description language (PDL), a PCL and a post script (PS), acopy application312, which is an application for copy, afax application313, which is an application for facsimile, ascanner application314, which is an application for scanner, anet file application315, which is an application for net file, and aprocess inspection application316, which is an application for process inspection. Since each of theapplications311 to316 can execute operation by utilizing processes on theplatform320, a screen display control program, which conducts screen control, key operation control, and job generation, forms its main constituent. A new application may also be mounted via a network connected by theNCS328. Applications can be added or deleted application by application.
Copy operation using thecopy application312, print operation using theprinter application311, and scanner operation using thescanner application314 shown inFIG. 3 will now be explained further concretely.
FIG. 4 is a diagram showing copy operation using thecopy application312 shown inFIG. 3. As shown inFIG. 4, thecopy application312 has a copy screen andkey operation module312aand a copyjob generation module312b. If a copy condition is specified from an operation panel and a start key is depressed, then the copy screen andkey operation module312atransfers the copy condition to the copyjob generation module312b(step S401). The copy condition includes paper size, the number of copies, both sides, sort, and staple.
Thereafter, the copyjob generation module312bcalls an engine job generation function of an engine jobexecution control module324aby using an API of theECS324, and sets a job mode. Such a job mode is a group of parameters required to activate a scanner, a plotter, a finisher, or the like, and it is generated from the copy condition. In addition, the copyjob generation module312bcalls a job execution start function of the engine jobexecution control module324aby using an API of theECS324, and orders job execution (step S402).
The engine jobexecution control module324acalls an image memory insurance function of an imagememory handling module325aby using an API of theMCS325, and orders insurance of an image memory (step S403).
The imagememory handling module325acalls a memory acquisition function of a memoryresource management module323bof theSRM323, and acquires a memory (step S404). The engine jobexecution control module324acalls a resource acquisition function of an engine resource management module of theSRM323, starts operation of a scanner and a plotter, and executes a copy job.
Print operation using theprinter application311 shown inFIG. 3 will now be explained more concretely. FIG.5 is a diagram showing print operation using theprinter application311 shown inFIG. 3. As shown inFIG. 5, theprinter application311 includes anRIP processing module311a, a printer screen andkey operation module311b, a printjob generation module311c, and a printdata communication module311d.
If a print data command from a host such as a PC is input to a host I/Oresource management module323dof theSRM323 via a centro I/F, a USB I/F, a network I/F and so on (step S501), then the I/Oresource management module323dtransfers the print data to a host communication I/F control module328aof theNCS328. The host communication I/F control module328aanalyzes the input print data, and judges a destination application. The host communication I/F control module328areceives data from a plurality of communication protocols or host I/Fs, and arbitrates a destination (step S502).
If print data is transferred to the printdata communication module311din the printer application311 (step S503), then the print data is further input to the printjob generation module311cand a new print job is generated (step S504).
The printjob generation module311ctransfers data to theRIP processing module311aaccording to the language kind of the print data (step S505). TheRIP processing module311aconducts image development of the print data, and thereafter returns its result to the printjob generation module311c(step S506).
Image data generated by the printjob generation module311cis output to the imagememory handling module325aof the MCS325 (step S507). Requests to the image memory are generated by a plurality of applications. Therefore, a memory insurance request is issued to the memoryresource management module323bof theSRM323, which arbitrates memory resources. The image data developed after being acquired is written onto a memory (step S508).
If print preparation of the image data is completed, then the printjob generation module311ccalls an engine job generation function of the engine jobexecution control module324aby using the API of theECS324, conducts job mode setting, then calls a job start function, and orders job execution (step S509).
The engine jobexecution control module324acalls an engine resource acquisition function of an engineresource management module323aof theSRM323, starts plotter operation, and executes a print job (step. S510).
The scanner operation using thescanner application314 shown inFIG. 3 will be explained further concretely.FIG. 6 is a diagram showing the scanner operation using thescanner application314 shown inFIG. 3. As shown in FIG.6, thescanner application314 includes a scanner screen andkey operation module314a, a scannerjob generation module314b, and a scannerdata communication module314c.
On the operation panel, thescanner application314 is selected, a scan condition is input, and the start key is depressed. Thereupon, the scanner screen andkey operation module314atransfers the scan condition to the scannerjob generation module314b(step S601) The scannerjob generation module314bactivates the imagememory handling module325a. In order to ensure a memory required for scan in accordance with a requested image size, the imagememory handling module325aof theMCS325 issues a memory insurance request to the memoryresource management module323bof theSRM323, which conducts arbitration of memory resources. After a memory has been acquired, image data is written on the memory (steps S602 and S603).
If scan preparation of image data is completed, then the scannerjob generation module314bcalls the engine job generation function of the engine jobexecution control module324aby using the API of theECS324, conducts job mode setting, then calls a job start function, and orders job execution (step S604).
The engine jobexecution control module324acalls the engine resource acquisition function of the engineresource management module323aof theSRM323, starts scanner operation, and executes a scanner job (step S605).
The scannerjob generation module314breceives a scan completion event from theECS324. In order to transfer a read image to an external PC by utilizing host I/O resources such as a network, the scannerdata communication module314csends an address of a transfer destination PC such as a URL and scanned image data (or an address on a memory) to the host communication I/F control module328aof the NCS328 (steps S606 and S607). Here, image data communication is controlled by using a protocol function for conducting file transfer, such as ftp or http.
In order to ensure host I/O resources, such as a network, IEEE 1394, USB, and SCSI, the host communication I/F control module328acalls a resource insurance function of the host I/Oresource management module323dof the SRM323 (step S608). At a time point when the requested host I/O resources have become available, the host I/Oresource management module323dconducts image data communication (step S609).
Processing conducted at the time of start of three applications: thecopy application312, theprinter application311 and thescanner application314, processing for generating and displaying respective application screens, and processing conducted when an application screen selection key is depressed will now be explained.FIG. 7 is a diagram showing processing conducted at the time of start of three applications: thecopy application312, theprinter application311 and thescanner application314, processing for generating and displaying respective application screens, and processing conducted when an application screen selection key is depressed.
Processing at the time of start of application: At the time of power on and system reset, an application is started after at leastSCS322 andOCS326 have been started. Thecopy application312, theprinter application311, or thescanner application314 registers a fact that it has been started in an applicationregistration management module322bof the SCS322 (steps S701 to S703).
Screen generation processing: TheOCS326 has such a drawing management function that each of a plurality of applications can have a plurality of virtual screen memories. Therefore, each of thecopy application312, theprinter application311, and thescanner application314 can execute screen generation by using a windowcontrol library module326a(steps S704 to S708).
Display processing: One of a plurality of screen memories is drawn on a display panel. A screen formed by combining contents of a plurality of screen memories may also be displayed. For example, in the case where fax reception has been conducted during copy operation, the fact that fax reception is being conducted can be displayed in a screen area common to applications.
Screen switchover processing: A screen memory drawn on the display panel is switched over by a system screen display control module of theSCS322. For example, in the case where the application selection key on the operation panel is depressed, an application screen selected according to steps S709 to S714 is drawn. A devicestate management module322cwhich holds state information of hardware within a device or an engine is included in theSCS322. Therefore, a display screen at the time of an error or an abnormality such as a jam or paper absence can be switched over.
Fax transmission operation using thefax application313 or theprinter application311 will now be explained.FIG. 8 is a diagram showing fax transmission operation using thefax application313 or theprinter application311.
By referring toFIG. 8, fax transmission operation using thefax application313 will now be explained. On a fax operation screen, a transmission destination number is input and a start key is depressed. Thereupon, a fax screen andkey operation module313acalls a job generation function of a faxjob generation module313b(step S801). The faxjob generation module313bcalls a transmission start function of a fax jobexecution control module327aof the FCS327 (step S802).
Thereupon, the fax jobexecution control module327acalls the engine job generation function of the engine jobexecution control module324aby using the API of theECS324, and sets a job mode (step S803). The engine jobexecution control module324acalls an image memory insurance function of the imagememory handling module325aby using the API of theMCS325, and orders insurance of an image memory (step S804).
The imagememory handling module325acalls the memory acquisition function of theSRM323, and acquires a memory required to scan a fax manuscript (step S805). If a memory is secured, then the engine jobexecution control module324acalls a function of requesting insurance of scanner resources, of the engineresource management module323aof theSRM323, and starts scanner operation after the scanner resources have been secured (step S806).
When manuscript image data from the scanner is retained on a memory, theECS324 notifies a scan completion event to theFCS327. The fax jobexecution control module327acalls a transmission start function of a fax boardresource management module323g. A fax transmission procedure is started by using a PSTN, an ISDN line, and so on (steps S807 and S808).
As for fax transmission operation using theprinter application311, print data is input to the host I/Oresource management module323din the same way as the typical print operation. At that time, command information including information required for facsimile transmission, such as a transmission destination number, is added (step S809).
Print data for fax transmission is transferred from the host communication I/F control module328aof theNCS328 to the printjob generation module311cvia the printdata communication module311dof the printer application311 (steps S810 to S812). Thereupon, a new print job for fax transmission is generated.
Moreover, the print data is transferred to theRIP processing module311a, and image data is generated. The image data is input to the fax jobexecution control module327aof theFCS327 together with information required for facsimile transmission (steps S813 to815). Thereafter, processing similar to the fax transmission operation is conducted (steps S807 and S808).
Instead of conducting the RIP processing by using the steps S813 and S814, print data may be transmitted by means of a protocol (BFTP: binary file transfer protocol), which conducts transfer of binary data by using a PSTN, an ISDN line, and so on.
For convenience of explanation, only transmission operation has been explained. For example, however, fax reception and printing become possible by conducting processing in the order of steps S808, S807, S802, S803, S804, S805 and S806. Reception and printing of printing data using the BFTP can be implemented by conducting processing in the order of steps S808, S807, S802, S815, S813, S814, S815, S803, S804, S805 and S806.
A hardware configuration of thecompound machine120 shown inFIG. 1 will now be explained.FIG. 9 is a configuration diagram showing a hardware configuration of thecompound machine120 shown inFIG. 1. As shown inFIG. 9, thecompound machine120 includes acontroller board900. In thecontroller board900, aCPU902, anSDRAM903, aflash memory904, and anHD905 are connected to anASIC901. Thecompound machine120 includes anoperation panel910, a fax control unit (FCU)920, aUSB930, an IEEE 1394940, and aprinter950.
Theoperation panel910 is connected directly to theASIC901. TheFCU920, theUSB930, the IEEE 1394940, and theprinter950 are connected to theASIC901 via a PCI bus.
FIG. 10 is a block diagram showing a detailed configuration of theASIC901 shown inFIG. 9. As shown inFIG. 10, theASIC901 includes a CPU interface (CPU I/F), an SDRAM interface (SDRAM I/F), a local bus interface (Local BUS I/F), a PCI interface (PCI I/F), a1284, an MAC (media access controller), an I/O, an OPE interface (OPE I/F), an HD interface (HD I/F), a Comp/de-comp, and a Rotate.
By adopting such a hardware configuration, a low cost design owing to device sharing becomes possible and fusion between applications becomes easy. An architecture which is scalable from a low speed machine to a high speed machine is obtained. Hardware/software used in applications is made common. The development efficiency can be improved. It becomes easy to cope with a novel function.
As heretofore described, the first embodiment is formed so as to extract the common part of applications as thecommon system service121, form theplatform122 by using thecommon system service121 and thegeneral purpose OS111, and mount theprinter application123, thecopy application124, and thevarious applications125 on theplatform122. Therefore, the development labor of each application can be reduced, and applications can be made slim.
The present invention is not limited to the first embodiment. It is also possible to hierarchize software on theplatform320 and theapplication330, and further increase the productivity. As a second embodiment, the case where the software on theplatform320 and theapplication330 is hierarchized will be explained. Since a hardware configuration in this case becomes similar to that ofFIGS. 9 and 10, explanation thereof will be omitted.
FIG. 11 is a block diagram showing a software configuration of a compound machine according to the second embodiment. In this compound machine, software elements are hierarchized according to the distinction between monochrome and color and the number of color drums, as shown inFIG. 11.
To be concrete, each of adevice driver1101 on ageneral purpose OS1100, anESC1102, anMCS1103, anSCS1104, anSRM1105, acopy application1106, and aprinter application1107 is hierarchized to monochrome, 1dram and 4dram.
Anet file application1108, anet scan application1109, and aCSS application1110 are hierarchized to monochrome and color. However, afax application1111, anOCS1112, anFCS1113 and anNCS1114, which need not be discriminated between monochrome and color, are not hierarchized.
As heretofore described, the second embodiment is formed so as to hierarchize software elements according to the distinction between monochrome and color and the number of color drums. Therefore, the productivity of the platform and applications can be increased.
In the second embodiment, software elements are hierarchized according to the distinction between monochrome and color and the number of color drums. However, the present invention is not limited to this, but it is also possible to hierarchize the platform itself to many classes. In this case, a part which depends on hardware such as an engine becomes a lower class, and a part which does not depend on hardware becomes a higher class.
As heretofore explained, an image formation apparatus according to one aspect of this invention includes: applications each of which conducts processing peculiar to user service such as print, copy, or facsimile and which can be mounted in a plurality on the image formation apparatus; and a platform which is interposed between the applications and the hardware resources, and which conducts management of the hardware resources, execution control and image formation processing needed in common by at least two of the applications when providing the user service. When creating an application of each user service, therefore, only portions other than the platform need to be created. As a result, the burden of creating the applications can be reduced.
Further, an application program interface which enables reception of a processing request from the applications by using a predefined function is provided in the platform. Therefore, smooth cooperation between the applications and the platform can be maintained.
Further, there are provided in the platform, control service which interprets a processing request from the applications and causes an acquisition request of the hardware resources to be generated; and a system resource manager which manages one or more hardware resources and arbitrates between acquisition requests from the control service. Therefore, each application can utilize hardware resources smoothly.
Further, the control service includes a plurality of service modules. Therefore, function expansion or function modification of the platform can be implemented in the module level.
Further, the service modules include modules of at least two from among engine control service which controls an engine, memory control service which controls a memory and a hard disk, operation panel control service which controls an operation panel, fax control service which controls fax communication, and network control service which controls network communication. Therefore, the engine control, memory control, operation panel control, fax communication control, or network communication control can be conducted by using the platform.
Further, the service modules include at least network control service which controls network communication, and the applications are acquired and mounted via a network connected by the network control service. Therefore, a new application can be mounted efficiently via an external network.
Further, the platform further includes a general purpose operating system, and the system resource manager manages one or more hardware resources via the general purpose operating system. Therefore, the hardware resources can be managed efficiently by process execution under the general purpose operating system.
Further, applications can be added or deleted application by application. Therefore, the function of the image formation apparatus can be optimized in a form desired by the user.
Further, applications conduct screen control, key operation control and job generation relating to services of print, copy and facsimile. Therefore, various kinds of processing can be implemented by using a simple application which conducts processing relating to such a user interface.
Further, a plurality of applications include at least printer application, copy application, fax application, scanner application, net file application, and process inspection application. Therefore, the user can use the printer, copy, fax, scanner, net file, and process inspection.
According to another aspect of this invention, processing peculiar to user service such as print, copy, or facsimile is conducted by using applications which can be mounted in a plurality; and management of the hardware resources, execution control and image formation processing needed in common by at least two of the applications is conducted, when providing the user service, by using a platform interposed between the applications and the hardware resources. When creating an application of each user service, therefore, only portions other than the platform need to be created.
According to still another aspect of this invention, each of the application programs is executed to operate on a platform which conducts management of the hardware resources, execution control and image formation processing, when providing user service such as print, copy, or facsimile. Therefore, application programs each having a reduced processing burden by using the platform can be provided.
A concept of a compound machine according to a third embodiment will be explained by referring toFIG. 12A toFIG. 12C andFIG. 2A andFIG. 2B.FIG. 12A toFIG. 12C are diagrams showing a concept of a compound machine according to the third embodiment.FIG. 2A andFIG. 2B are diagrams showing a platform shown inFIG. 12C.
In aconventional printer100, an application for printer (printer application) is mounted on adedicated OS101, which conducts a drawing and print function and engine control as shown inFIG. 12A. As for facsimile and copy as well, separate casings are formed. Further, a compound machine incorporating them on one casing has made its appearance. It is not efficient to simply provide functions of a printer, a copier, and a facsimile device independently of each other.
Therefore, an apparatus configuration as shown inFIG. 12B has been adopted. In this apparatus configuration, the conventionaldedicated OS101 is formed by a generalpurpose OS portion111 and anengine control portion112. The generalpurpose OS portion111 and theengine control portion112 are coupled by an engine interface (I/F). In addition, aprinter application113, acopy application114, andvarious applications115 are mounted on thegeneral purpose OS111.
In such acompound machine110, a general purpose OS such as UNIX is adopted. Therefore, theprinter application113, thecopy application114 and thevarious applications115 can be executed in parallel simply as processes.
In thiscompound machine110 as well, however, theprinter application113, thecopy application114 andvarious applications115 need to be developed independently of each other. Therefore, burdens of developing respective software programs cannot be reduced so much.
In acompound machine120 according to the present third embodiment, therefore, a common portion of respective applications is extracted ascommon system service121aandapplication service121bas shown inFIG. 12C. Aplatform122 is formed by thecommon system service121a, theapplication service121band thegeneral purpose OS111.
Especially in thecompound machine120, theapplication service121bis adapted to be interposed between theapplications123 to125 and thecommon system service121a, and thereby theapplication service121bconducts collectively job generation and data communication which should be originally by theapplications123 to125 independently of each other. Therefore, labor for developing respective theprinter application123, thecopy application124 and thevarious applications125 mounted on theplatform122 can be reduced, and the applications can be made slim.
For example, it is now assumed that a copy application has codes of 130,000 steps, a fax application has codes of 125,000 steps, and a printer application has codes of 100,000 steps as shown inFIG. 2A. If in this case they are formed separate applications, codes of a total of 130,000+125,000+100,000=355,000 steps are needed.
If portions that can be utilized in common for respective applications have 180,000 steps, the productivity is improved by putting together the portions as a platform.
For example, if it is assumed that the copy application, the fax application, the printer application, and the platform can be formed by codes of 40,000 steps, 100,000 steps, 35,000 steps, and 90,000 steps, respectively, as shown inFIG. 2B, then the total becomes 40,000+100,000+35,000+90,000=265,000 steps. The productivity of the apparatus as a whole is improved to 134% (=355,000/265,000).
As for the platform portion, the productivity is improved to 200% (=180,000/90,000). In addition, development efficiencies of the copy application, the fax application, and the printer application are also improved remarkably.
Thecompound machine120 according to the present third embodiment is thus formed so as to mount theprinter application123, thecopy application124 and thevarious applications125 on theplatform122 comprised of theapplication service121b, thecommon system service121aand thegeneral purpose OS111. Therefore, both the productivity of the whole apparatus and the development efficiencies of respective applications can be increased.
A software configuration of thecompound machine120 shown inFIG. 12C will now be explained in more detail.FIG. 13 is a configuration diagram showing a concrete software configuration of thecompound machine120 shown inFIG. 12C.
As shown inFIG. 13, thecompound machine120 includes a black and white line printer (B&W LP)301, a color line printer (Color LP)302, andother hardware resources303. In addition, asoftware group310 includes aplatform320 andapplications340.
Theplatform320 includes ageneral purpose OS321,common system service330, andapplication service329. Theplatform320 includes an application program interface, which makes it possible to receive a processing request from the applications by using a predefined function.
Thegeneral purpose OS321 is a general purpose operating system such as UNIX, and executes software programs of theplatform320 and theapplications340 in parallel respectively as processes. By using open source UNIX, the safety of the programs can be ensured and correspondence to the network becomes possible, and the source code can be obtained easily. In addition, the royalty of the OS and TCP/IP is unnecessary, and outsourcing also becomes easy.
Thecommon system service330 provides theapplications340 with basic common service. Thecommon system service330 includes control service and a system resource manager (SRM)323. The control service explained below interprets a processing request issued by theapplications340 and generates an acquisition request of hardware resources. TheSRM323 manages one or more hardware resources and arbitrates between the acquisition requests from the control service.
The control service includes a plurality of service modules. To be concrete, the control service includes SCS (system control service)322, ECS (engine control service)324, MCS (memory control service)325, OCS (operation panel control service)326, FCS (FAX control service)327, and NCS (network control service)328.
TheSRM323 conducts system control and resource management in cooperation with theSCS322. In accordance with a request from a high order layer utilizing hardware resources of an engine such as a scanner portion or a printer portion, a memory, an HDD file, and a host I/O (such as a centro-I/F, a network I/F, an IEEE 1394 I/F, and an RS 232C I/F), theSRM323 conducts arbitration and execution control.
To be concrete, theSRM323 determines whether requested hardware resources are available (whether the requested hardware resources are not utilized by other requests). If available, theSRM323 notifies a high order layer that the requested hardware resources are available. Further, theSRM323 may conduct utilization scheduling of hardware resources in response to a request from a high order layer, and directly carry out request contents (for example, such as paper conveyance and image formation operation, memory insurance, file generation).
TheSCS322 conducts (1) application management, (2) operation portion control, (3) system screen display (such as job list screen and counter display screen), (4) LED display, (5) resource management, and (6) interrupt application control. To be concrete, (1) in application management, registration of an application and processing of notifying its information to another application are conducted. As for the application which has been registered, an engine state is notified to the application according to the system setting and request setting from an application. Further, as for applications already registered, an enquiry as to whether system state transition is possible, such as enquiry of power mode shift or an interrupt mode, is conducted.
Further, (2) in operation section control, exclusive control of the right of using the operation section of an application is conducted. Moreover, key information from an operation section driver (OCS) is notified exclusively to an application having the right of using the operation section. This key information conducts mask control of temporarily stopping notification according to the state transition of the system such as during application switchover.
Further, (3) in the system screen display, an alarm screen corresponding to the engine state is displayed according to a request content from an application having the right of using the operation section. Among them, there is one that turns on/off alarm display according to the application state such as a user restriction screen. Other than the engine state, there is conducted display control of a job list screen for displaying a job reservation and execution situation, a counter screen for displaying total counters, and a screen indicating that the CSS is being notified. As for the system screen displays of them, the application is not requested to release the right of using the operation section and drawing is conducted as a system screen covering the application screen.
Further, (4) in LED display, display control of a system LED, such as an alarm LED or an application key, is conducted. As for an LED peculiar to an application, the application controls it by directly using a display driver.
Further, (5) in resource management, there is conducted service for exclusive control of engine resources (such as a scanner and a staple) that must be excluded when an application (ECS) executes a job. (6) In interrupt application control, there are conducted control and service for causing a specific application to operate preferentially.
TheECS324 controls an engine such as the black and white line printer (B&W LP)301, the color line printer (Color LP)302, and theother hardware resource303. TheECS324 conducts image reading, print operation, state notification, jam recovery, and so on.
To be concrete, a series of copy/scan/print operations are implemented by successively issuing print requests to theSRM323 in accordance with job mode specification received from theapplications340. Subject jobs handled by theECS324 are jobs with a scanner specified as an image input device or jobs with a plotter specified as an image output device.
For example, in the case of copy operation, “SCANNER→PLOTTER” is specified. In the case of file storage, “SCANNER→MEMORY” is specified. In the case of facsimile transmission, “SCANNER→FAX_IN” is specified. In the case of stored file print or print from theprinter application311, “MEMORY→PLOTTER” is specified. In the case of facsimile reception, “FAX_OUT→PLOTTER” is specified.
Although the definition of job differs depending upon application, processing operation for one set of images handled by the user is herein defined as one job. For example, in the case of an ADF (automatic document feeder) mode of copy, operation of reading one set of manuscripts put on a manuscript stand becomes one job. In a pressure plate mode, reading operation conducted as far as the final manuscript is fixed becomes one job. In the case of thecopy application312, operation of copying one bundle of manuscripts becomes one job. In the case of thefax application313, transmission operation of one document or reception operation of one document becomes one job. In the case of the printer application, print operation of one document becomes one job.
TheMCS325 conducts memory control. To be concrete, theMCS325 conducts acquisition and release of an image memory, utilization of a hard disk device (HDD), and image data compression and expansion.
As functions required to manage information needed as image data files stored in the hard disk device, there are (1) file access (generation/deletion/open/close) function (including exclusive processing), (2) management of various file attributes (management of image data of physical page units as files) such as file name/ID management (file/user)/password management/storage time management/the number of pages/data format (such as compression system)/access restriction/generating application/print condition management, (3) jointing/insertion/disconnection function by taking a file as the unit and taking a page as the unit, (4) file sort function (in the order of storage time/in the order of user ID or the like), (5) notification of all file information (for display/retrieval), (6) recovery function (file/page discard of a damaged file), and (7) automatic file deletion function.
As functions for retaining image data in a memory such as a RAM and accessing the image data, there are (1) a function of acquiring file and page/band attribute information from theapplications340, and (2) functions of securing, releasing, reading and writing an image data area from theapplications340.
TheOCS326 is a module for controlling an operation panel which serves as information transfer means between the operator and main body control. TheOCS326 conducts processing of notifying a key operation event of the operator to the main body control, processing of providing a library function for each application to construct a GUI, processing of managing the constructed GUI information application to application, and display reflection processing onto an operation panel.
TheOCS326 has (1) a library providing function for GUI construction, (2) an operation section hardware resource management function, (3) VRAM drawing/LCD display function (hardware display, display application switchover, display language switchover, window dark color display, message/icon blink display, message joint display), (4) hard key input detection function, (5) touch panel key input detection function, (6) LED output function, (7) buzzer output function.
TheFCS327 provides an API for conducting facsimile transmission and reception using a PSTN/ISDN network, registration/citation of various facsimile data managed by BKM (backup SRAM), facsimile reading, facsimile reception print, and fused transmission and reception, from each application layer of a system controller.
To be concrete, theFCS327 has (1) a transmission function of transmitting a document requested to be transmitted by an application layer, to a facsimile receiver by using a PSTN/ISDN network, (2) reception function of transferring and printing a facsimile reception screen and various reports received from the PSTN/ISDN network, (3) telephone directory citation and registration function of conducting citation and/or registration of facsimile management items such as a telephone directory and group information stored in a fax board, (4) a fax log notification function of notifying transmission and reception result history information stored in the BKM mounted on a fax board to an application which needs it, and (5) an event notification function of notifying a changed event to an application registered in the FCS when there has been a state change of the fax board.
TheNCS328 is a group of modules for providing applications needing a network I/O with service which can be utilized in common. TheNCS328 distributes data received from the network side by using each protocol among applications, and acts as an intermediary when an application transmits data to the network side. To be concrete, theNCS328 has server demons such as ftpd, httpd, lpd, snmpd, telnetd, and smtpd, and client functions of the same protocol.
Theapplication service329 is one of common services included in theplat form320. However, theapplication service329 provides service on the side of theapplications340, unlike theECS324,MCS325,OCS326,FCS327,NCS328,SRM323, andSCS322 formed thecommon system service330.
In other words, theapplication service329 lies between theapplications340 and thecommon system service330, and plays a role of mediating between them.
To be concrete, theapplication service329 executes as proxy collectively functions of job generation and data communication, which should be originally performed by acopy application312, afax application313, ascanner application314, or the like. Therefore, thecopy application312, thefax application313, thescanner application314, or the like needs only act by taking the screen or key operation as a subject. As a result, the development efficiency of the applications is improved.
Theapplications340 includes aprinter application311, which is an application for printer having a page description language (PDL), a PCL and a post script (PS), thecopy application312, which is an application for copy, thefax application313, which is an application for facsimile, thescanner application314, which is an application for scanner, anet file application315, which is an application for net file, and aprocess inspection application316, which is an application for process inspection.
Since each of theapplications311 to316 can execute operation by utilizing processes on theplatform320, a screen display control program, which conducts screen control, and key operation control, forms its main constituent. Especially, since theapplication service329 is provided on theplatform320, each of theapplications311 to316 need not have the functions of job generation and data communication. A new application may also be mounted via a network connected by theNCS328. Applications can be added or deleted application by application.
Copy operation using thecopy application312, print operation using theprinter application311, and scanner operation using thescanner application314 shown inFIG. 13 will now be explained further concretely.
FIG. 14 is a diagram showing copy operation using thecopy application312 shown inFIG. 13. As shown inFIG. 14, thecopy application312 has a copy screen andkey operation module312a. If a copy condition is specified from an operation panel and a start key is depressed, then the copy screen andkey operation module312atransfers the copy condition to an applicationjob generation module329aof the application service329 (step S401). The copy condition includes paper size, the number of copies, both sides, sort, and staple.
Thereafter, the applicationjob generation module329acalls an engine job generation function of an engine jobexecution control module324aby using an API of theECS324, and sets a job mode. Such a job mode is a group of parameters required to activate a scanner, a plotter, a finisher, or the like, and it is generated from the copy condition. In addition, the applicationjob generation module329acalls a job execution start function of the engine jobexecution control module324aby using an API of theECS324, and orders job execution (step S402).
The engine jobexecution control module324acalls an image memory insurance function of an imagememory handling module325aby using an API of theMCS325, and orders insurance of an image memory (step S403).
The imagememory handling module325acalls a memory acquisition function of a memoryresource management module323bof theSRM323, and acquires a memory (step S404). The engine jobexecution control module324acalls a resource acquisition function of an engine resource management module of theSRM323, starts operation of a scanner and a plotter, and executes a copy job.
Print operation using theprinter application311 shown inFIG. 13 will now be explained more concretely.FIG. 15 is a diagram showing print operation using theprinter application311 shown inFIG. 13. As shown inFIG. 15, theprinter application311 includes anRIP processing module311a, and a printer screen andkey operation module311b.
If a print data command from a host such as a PC is input to a host I/Oresource management module323dof theSRM323 via a centro-I/F, a USB I/F, a network I/F and so on (step S501), then the I/Oresource management module323dtransfers the print data to a host communication I/F control module328aof theNCS328. The host communication I/F control module328aanalyzes the input print data, and judges a destination application. The host communication I/F control module328areceives data from a plurality of communication protocols or host I/Fs, and arbitrates a destination (step S502).
If print data is transferred to a printdata communication module329bin the application service329 (step S503), then the print data is further input to the applicationjob generation module329aand a new print job is generated (step S504).
The applicationjob generation module329atransfers data to theRIP processing module311aof theprinter application311 according to the language kind of the print data (step S505). TheRIP processing module311aconducts image development of the print data, and thereafter returns its result to the applicationjob generation module329a(step S506).
Image data generated by the applicationjob generation module329ais output to the imagememory handling module325aof the MCS325 (step S507). Requests to the image memory are generated by a plurality of applications. Therefore, a memory insurance request is issued to the memoryresource management module323bof theSRM323, which arbitrates memory resources. The image data developed after being acquired is written onto a memory (step S508).
If print preparation of the image data is completed, then the applicationjob generation module329acalls an engine job generation function of the engine jobexecution control module324aby using the API of theECS324, conducts job mode setting, then calls a job start function, and orders job execution (step S509).
The engine jobexecution control module324acalls an engine resource acquisition function of an engineresource management module323aof theSRM323, starts plotter operation, and executes a print job (step S510).
The scanner operation using thescanner application314 shown inFIG. 13 will be explained further concretely.FIG. 16 is a diagram showing the scanner operation using thescanner application314 shown inFIG. 13. As shown inFIG. 16, thescanner application314 includes a scanner screen andkey operation module314a.
On the operation panel, thescanner application314 is selected, a scan condition is input, and the start key is depressed. Thereupon, the scanner screen andkey operation module314atransfers the scan condition to the applicationjob generation module329aof the application service329 (step S601). The applicationjob generation module329aactivates the imagememory handling module325aof theMCS325. In order to ensure a memory required for scan in accordance with a requested image size, the imagememory handling module325aof theMCS325 issues a memory insurance request to the memoryresource management module323bof theSRM323, which conducts arbitration of memory resources. After a memory has been acquired, image data is written on the memory (steps S602 and S603).
If scan preparation of image data is completed, then the applicationjob generation module329acalls the engine job generation function of the engine jobexecution control module324aof theECS324, conducts job mode setting, then calls a job start function, and orders job execution (step S604).
The engine jobexecution control module324acalls the engine resource acquisition function of the engineresource management module323aof theSRM323, starts scanner operation, and executes a scanner job (step S605).
The applicationjob generation module329areceives a scan completion event from theECS324. In order to transfer a read image to an external PC by utilizing host I/O resources such as a network, the applicationdata communication module329bsends an address of a transfer destination PC such as a URL and scanned image data (or an address on a memory) to the host communication I/F control module328aof the NCS328 (steps S606 and S607). Here, image data communication is controlled by using a protocol function for conducting file transfer, such as ftp or http.
In order to ensure host I/O resources, such as a network, IEEE 1394, USB, and SCSI, the host communication I/F control module328acalls a resource insurance function of the host I/Oresource management module323dof the SRM323 (step S608). At a time point when the requested host I/O resources have become available, the host I/Oresource management module323dconducts image data communication (step S609).
Processing conducted at the time of start of three applications: thecopy application312, theprinter application311 and thescanner application314, processing for generating and displaying respective application screens, and processing conducted when an application screen selection key is depressed will now be explained.FIG. 17 is a diagram showing processing conducted at the time of start of three applications: thecopy application312, theprinter application311 and thescanner application314, processing for generating and displaying respective application screens, and processing conducted when an application screen selection key is depressed.
Processing at the time of start of application: At the time of power on and system reset, an application is started after at leastSCS322 andOCS326 have been started. Thecopy application312, theprinter application311, or thescanner application314 registers a fact that it has been started in an applicationregistration management module322bof the SCS322 (steps S701 to S703).
Screen generation processing: TheOCS326 has such a drawing management function that each of a plurality of applications can have a plurality of virtual screen memories. Therefore, each of thecopy application312, theprinter application311, and thescanner application314 can execute screen generation by using a windowcontrol library module326a(steps S704 to S708).
Display processing: One of a plurality of screen memories is drawn on a display panel. A screen formed by combining contents of a plurality of screen memories may also be displayed. For example, in the case where fax reception has been conducted during copy operation, the fact that fax reception is being conducted can be displayed in a screen area common to applications.
Screen switchover processing: A screen memory drawn on the display panel is switched over by a system screen display control module of theSCS322. For example, in the case where the application selection key on the operation panel is depressed, an application screen selected according to steps S709 to S714 is drawn. A devicestate management module322cwhich holds state information of hardware within a device or an engine is included in theSCS322. Therefore, a display screen at the time of an error or an abnormality such as a jam or paper absence can be switched over.
Fax transmission operation using thefax application313 or theprinter application311 will now be explained.FIG. 18 is a diagram showing fax transmission operation using thefax application313 or theprinter application311.
By referring toFIG. 18, fax transmission operation using thefax application313 will now be explained. On a fax operation screen, a transmission destination number is input and a start key is depressed. Thereupon, a fax screen andkey operation module313acalls a job generation function of the applicationjob generation module329aof the application service329 (step S801). The faxjob generation module313bcalls a transmission start function of a fax jobexecution control module327aof the FCS327 (step S802).
Thereupon, the fax jobexecution control module327acalls the engine job generation function of the engine jobexecution control module324aby using the API of theECS324, and sets a job mode (step S803). The engine jobexecution control module324acalls an image memory insurance function of the imagememory handling module325aby using the API of theMCS325, and orders insurance of an image memory (step S804).
The imagememory handling module325acalls the memory acquisition function of theSRM323, and acquires a memory required to scan a fax manuscript (step S805). If a memory is secured, then the engine jobexecution control module324acalls a function of requesting insurance of scanner resources, of the engineresource management module323aof theSRM323, and starts scanner operation after the scanner resources have been secured (step S806).
When manuscript image data from the scanner is retained on a memory, theECS324 notifies a scan completion event to theFCS327. The fax jobexecution control module327acalls a transmission start function of a fax boardresource management module323g. A fax transmission procedure is started by using a PSTN, an ISDN line, and so on (steps S807 and S808).
As for fax transmission operation using theprinter application311, print data is input to the host I/Oresource management module323din the same way as the typical print operation. At that time, command information including information required for facsimile transmission, such as a transmission destination number, is added (step S809).
Print data for fax transmission is transferred from the host communication I/F control module of theNCS328 to the applicationjob generation module329avia the applicationdata communication module329bof the application service329 (steps S810 to S812). Thereupon, a new print job for fax transmission is generated.
Moreover, the print data is transferred to theRIP processing module311a, and image data is generated. The image data is input to the fax jobexecution control module327aof theFCS327 together with information required for facsimile transmission (steps S813 to815). Thereafter, processing similar to the fax transmission operation is conducted (steps S807 and S808).
Instead of conducting the RIP processing by using the steps S813 and S814, print data may be transmitted by means of a protocol (BFTP: binary file transfer protocol), which conducts transfer of binary data by using a PSTN, an ISDN line, and so on.
For convenience of explanation, only transmission operation has been explained. For example, however, fax reception and printing become possible by conducting processing in the order of steps S808, S807, S802, S803, S804, S805 and S806. Reception and printing of printing data using the BFTP can be implemented by conducting processing in the order of steps S808, S807, S802, S815, S813, S814, S815, S803, S804, S805 and S806.
A hardware configuration of thecompound machine120 shown inFIG. 12 will now be explained.FIG. 9 is a configuration diagram showing a hardware configuration of thecompound machine120 shown inFIG. 12. As shown inFIG. 9, thecompound machine120 includes acontroller board900. In thecontroller board900, aCPU902, anSDRAM903, aflash memory904, and anHD905 are connected to anASIC901. Thecompound machine120 includes anoperation panel910, a fax control unit (FCU)920, aUSB930, an IEEE 1394940, and aprinter950.
Theoperation panel910 is connected directly to theASIC901. TheFCU920, theUSB930, the IEEE 1394940, and theprinter950 are connected to theASIC901 via a PCI bus.
FIG. 10 is a block diagram showing a detailed configuration of theASIC901 shown inFIG. 9. As shown inFIG. 10, theASIC901 includes a CPU interface (CPU I/F), an SDRAM interface (SDRAM I/F), a local bus interface (Local BUS I/F), a PCI interface (PCI I/F), a1284, an MAC (media access controller), an I/O, an OPE interface (OPE I/F), an HD interface (HD I/F), a Comp/de-comp, and a Rotate.
By adopting such a hardware configuration, a low cost design owing to device sharing becomes possible and fusion between applications becomes easy. An architecture which is scalable from a low speed machine to a high speed machine is obtained. Hardware/software used in applications is made common. The development efficiency can be improved. It becomes easy to cope with a novel function.
As heretofore described, the third embodiment is formed so as to extract the common part of applications as theapplication service121band thecommon system service121a, form theplatform122 by using theapplication service121band thecommon system service121aand thegeneral purpose OS111, and mount theprinter application123, thecopy application124, and thevarious applications125 on theplatform122. Therefore, the development labor of each application can be reduced, and applications can be made slim.
According to yet another aspect of this invention, the image formation apparatus includes applications each of which conducts processing peculiar to user service such as print, copy, or facsimile and which can be mounted in a plurality on the image formation apparatus; and a platform which is interposed between the applications and the hardware resources, and which conducts management of the hardware resources, execution control and image formation processing needed in common by at least two of the applications when providing the user service. In addition, the platform includes: common system service which conducts management of the hardware resources, execution control and image formation processing; and application service which is interposed between the plurality of applications and the common system service and which at least conducts job generation corresponding to applications. When creating an application of each user service, therefore, only portions of the screen display control and key operation need to be created.
Further, there is provided in the platform an application program interface which enables reception of a processing request from the applications by using a predefined function. Therefore, smooth cooperation between the applications and the platform can be maintained.
Further, the common system service includes: control service which interprets a processing request from the applications and causes an acquisition request of the hardware resources to be generated; and a system resource manager which manages one or more hardware resources and arbitrates between acquisition requests from the control service. Therefore, each application can utilize hardware resources smoothly.
Further, the control service includes a plurality of service modules. Therefore, function expansion or function modification of the platform can be implemented in the module level.
Further, the service modules include modules of at least two from among engine control service which controls an engine, memory control service which controls a memory and a hard disk, operation panel control service which controls an operation panel, fax control service which controls fax communication, and network control service which controls network communication. Therefore, the engine control, memory control, operation panel control, fax communication control, or network communication control can be conducted by using the platform.
Further, the service modules include at least network control service which controls network communication, and the applications are acquired and mounted via a network connected by the network control service. Therefore, a new application can be mounted efficiently via an external network.
Further, the platform further includes a general purpose operating system, and the system resource manager manages the one or more hardware resources via the general purpose operating system. Therefore, the hardware resources can be managed efficiently by process execution under the general purpose operating system.
Further, applications can be added or deleted application by application. Therefore, the function of the image formation apparatus can be optimized in a form desired by the user.
Further, applications conduct screen control and key operation control relating to services of print, copy and facsimile. Therefore, various kinds of processing can be implemented by using a simple application which conducts processing relating to such a user interface.
Further, a plurality of applications include at least printer application, copy application, fax application, scanner application, net file application, and process inspection application. Therefore, the user can use the printer, copy, fax, scanner, net file, and process inspection.
Further, the application service includes: a job generation module which generates a job corresponding to each application; and a data communication module which conducts data communication relating to each application. Therefore, job generation and data communication can be conducted in common to the applications.
According to another aspect of this invention, processing peculiar to user service such as print, copy, or facsimile is conducted by using applications which can be mounted in a plurality; and management of the hardware resources, execution control and image formation processing needed in common by at least two of the applications are conducted, when providing the user service, by using a platform. In addition, the platform includes common system service which is interposed between the applications and the hardware resources and which conducts management of the hardware resources, execution control and image formation processing, and application service which is interposed between the applications and the common system service and which conducts at least job generation corresponding to an application. When creating an application of each user service, therefore, only portions of the screen display control and key operation need to be created.
According to still another aspect of this invention, each of the application programs is executed to operate on a platform, when providing user service such as print, copy, or facsimile. In addition, the platform includes common system service which conducts management of the hardware resources, execution control and image formation processing, and application service which is interposed between the applications and the common system service and which conducts at least job generation corresponding to an application. Therefore, application programs each having a reduced processing burden by using the platform can be provided.
The present document incorporates by reference the entire contents of Japanese priority documents, 2000-204235 filed in Japan on Jul. 5, 2000, 2000-204257 filed in Japan on Jul. 5, 2000, 2001-147014 filed in Japan on May 16, 2001 and 2001-147015 filed in Japan on May 16, 2001.
Although the invention has been described with respect to a specific embodiment for a complete and clear disclosure, the appended claims are not to be thus limited but are to be construed as embodying all modifications and alternative constructions that may occur to one skilled in the art which fairly fall within the basic teaching herein set forth.