1. Field of the Invention
The present invention relates to an information processing system such as copier/printer/scanner/facsimile/compound machine (to be also referred to as combined machine) and the like, an information processing method, an information processing recording medium such as a CD-ROM.
2. Description of the Related Art
In recent years, a compound machine that includes a copying function, a printer function and a scanner function is coming onto the market. When the compound machine functions as a copier or a printer, an image is to be printed on a printing paper. When the compound machine functions as a copier or a scanner, an image is read from a document. When the compound machine functions as a facsimile, the compound machine receives or sends an image via a telephone line. Japanese laid-open patent application No. 2002-84383 discloses a technology relating to the compound machine.
The compound machine executes various information processing by using various programs such as applications or platforms. For storing information relating to the information processing, various storing means such as a hard disk drive and a memory card provided in the compound machine are used. If a hard disk drive or a memory card of a personal computer or a server computer that is connected to the compound machine can be used in addition to the hard disk drive or the memory card of the compound machine, more preferable execution environment can be realized for the information processing.
In addition, if the hard disk drive or the memory card of the compound machine can be used by a PC (personal computer) connected to the compound machine, more preferable execution environment can be realized for the information processing.
An object of the present invention is to enable an information processing system to use storage of apparatuses connected thereto as a destination for storing information used for information processing so as to improve environment for executing information processing.
Another object of the present invention is to enable apparatuses connected to the information processing system to use storage thereof to improve the environment for executing information processing.
These objects are achieved by an information processing system comprising a first information processing apparatus configured to perform a first information processing; a second information processing apparatus configured to perform a second information processing; a data storage portion in the second information processing apparatus that can receive and store data from the first information processing apparatus, the data storage portion including a plurality of data storing destinations, each of which corresponds to a specific second information processing process and wherein some of the plurality of data storing destinations correspond to an output destination; a processing portion in the second information processing apparatus, the processing portion configured to perform the specific second information processing corresponding to a selected one of the plurality of data storing destinations, and wherein when the selected one of the plurality of data storing destinations corresponds to an output destination, the data storage portion outputs data to the output destination corresponding to the selected one of the plurality of data storing destinations.
The present invention is also configured as an information processing method comprising the steps of performing a first information processing in a first information processing apparatus; sending data from the first information processing apparatus to a second information processing apparatus having a data storage portion including a plurality of data storing destinations, each of which corresponds to a specific second information processing process, wherein some of the plurality of data storing destinations correspond to an output destination; performing the specific second information processing process corresponding to a selected one of the plurality of data storing destinations using the second information processing apparatus; and outputting, by the data storage portion, data to the output destination corresponding to the selected one of the plurality of data storing destinations when the selected one of the plurality of data storing destinations corresponds to an output destination.
The present invention is also configured as an information processing system comprising an information processing apparatus configured to perform information processing; a data storage portion in the information processing apparatus that can receive and store data from another information processing apparatus, the data storage portion including a plurality of data storing destinations, each of which corresponds to a specific information processing process and wherein some of the plurality of data storing destinations correspond to an output destination; a processing portion in the information processing apparatus, the processing portion configured to perform the specific information processing corresponding to a selected one of the plurality of data storing destinations, and wherein when the selected one of the plurality of data storing destinations corresponds to an output destination, the data storage portion outputs data to the output destination corresponding to the selected one of the plurality of data storing destinations.
In addition, the present invention can be configured as a computer readable medium storing an information processing program for causing an image forming apparatus to perform information processing, comprising first information processing means for performing a first information processing in a first information processing apparatus; data sending means for sending data from the first information processing apparatus to a second information processing apparatus having a data storage portion including a plurality of data storing destinations, each of which corresponds to a specific second information processing process, wherein some of the plurality of data storing destinations correspond to an output destination; second information processing means for performing the specific second information processing process corresponding to a selected one of the plurality of data storing destinations using the second information processing apparatus; and outputting means for outputting, by the data storage portion, data to the output destination corresponding to the selected one of the plurality of data storing destinations when the selected one of the plurality of data storing destinations corresponds to an output destination.
Other objects, features and advantages of the present invention will become more apparent from the following detailed description when read in conjunction with the accompanying drawings, in which:
In the following, the first embodiment of the present invention is described with reference to figures.
The hardware 111 of the compound machine 101 includes an image pickup part 121, a printing part 122, and other hardware 123. The image pickup part 121 is hardware for reading an image (image data) from a document. The printing part 122 is hardware for printing the image on a printing paper.
The software 112 of the compound machine 101 includes various applications 131 and various platforms 132. These programs are executed in parallel as processes by an OS (operating system) such as UNIX.
The application 131 includes a copy application 141 that is an application for copying, a printer application 142 that is an application for printing, a scanner application 143 that is an application for scanning, a facsimile application 144 that is an application for facsimile, and a network file application 145 that is an application for network file.
An application can be developed by using a dedicated SDK (software development kit). An application developed by using the SDK is called a SDK application. The SDK includes executable files of the platform 132, a dedicated function library of the platform 132, a C language standard function library, a compiler for compiling a source file of the application 131 to generate an object file of the application 131, and a linker for linking the object file with the dedicated function library and the standard function library to generate an executable file of the application. The compiler of the SDK includes an optional function (debug option) for adding a tag that is a detection code for debugging at an entry or at an exit of a function in a source code. When a SDK application to which the tag is added is launched in the compound machine 101, a console PC 102 that is connected to the compound machine 101 displays a variable value, a function argument, or a function return value with a message. By displaying such information, the user can efficiently perform debugging of the SDK application.
The platform 132 includes control services 151, a system resource manager 152, and handlers 153. The control services 151 include a network control service (NCS) 161, a facsimile control service (FCS) 162, a delivery control service (DCS) 163, an engine control service (ECS) 164, a memory control service (MCS) 165, an operation panel control service (OCS) 166, a certification control service (CCS) 167, a user directory control service (UCS) 168, and a system control service (SCS) 169. The handlers 153 include a facsimile control unit handler (FCUH) 171 and an image memory handler (IMH) 172.
The process of the NCS 161 intermediates network communications. The process of FCS 162 provides APIs for facsimile. The process of DCS 163 controls delivery processes of stored documents. The process of ECS 164 performs control for the image pickup part 121 or the printing part 122. The process of MCS 165 performs control foe the memory and the hard disk drive. The process of the OCS 166 performs control of the operation panel. The process of CCS 167 performs control for authentication process and billing process. The process of the UCS 168 performs control relating to management of user information. The process of the SCS 169 performs control of management of the system.
A virtual application service (VAS) 135 exists as software for performing mediation between the application 131 and the platform 132. The VAS 135 operates as a server process for each application that functions as a client, and operates as a client process for the platform that functions as a server. The VAS 135 has a wrapping function for hiding the platform 132 from the application 131. In addition, the VAS has a function for absorbing version differences between the platforms 132 and APIs of the applications.
The compound machine launch part 113 is executed first when the power is turned on. Accordingly, the OS such as UNIX is launched, and the applications 131 and the platform 132 are launched. These programs are stored on the hard disk drive or in the memory card, and are read from the hard disk drive or from the memory card, and are loaded into a memory.
The controller 201 includes a CPU 211, an ASIC 212, a NB 221, a SB 222, a MEM-P 231, a MEM-C 232, a HDD (hard disk drive) 233, a memory card slot 234, a NIC (network interface controller) 241, a USB device 242, an IEEE 1394 device 243 and a Centronics device 244.
The CPU 211 is an IC for various information processing. The ASIC 212 is an IC for various image processing. The NB 221 is a north bridge for the controller 201. The SB 222 is a south bridge for the controller 201. The MEM-P 231 is a system memory for the compound machine 101. The MEM-C 232 is a local memory of the compound machine 101. The HDD 233 is a storage of the compound machine 101. The memory card slot 234 is a slot for setting the memory card 235. The NIC 241 is a controller for network communications by MAC addresses. The USB device 242 is a device for providing connection terminals of IEEE 1394 standard. The Centronics device 244 is a device for providing connection terminals of Centronics.
The operation panel 202 is hardware (operation part) by which the user inputs data into the compound machine 101, and also hardware (display part) for obtaining output data from the compound machine 101.
As shown in
The document setting part 301 includes an ADF (automatic document feeder) 321, a flat bed 322, and a flat bet cover 323. The paper feeding part 302 includes four feeding trays. The paper ejecting part 303 includes one ejecting tray.
(Compound Machine Launch Part)
In the following, the compound machine launch part 113 of
As shown in
When the power of the compound machine 101 is turned on, BIOS and boot loader that form the memory monitoring part 501 are launched, so that the OS that is the UNIX is launched. Next, a launch processing program that forms the program launch part 502 is launched, so that the applications and the platform 132 are launched. When the UNIX is launched, a kernel of the UNIX is launched, a root file system is unfolded, so that file systems relating to the applications and the platform are mounted on the root system file.
(Memory Card)
In the following, the memory card slot 234 and the memory card 235 are described. The memory card slot 234 is a slot to which the memory card 235 is inserted, in which the memory card 235 stores programs such the applications 131 or the platform 132. The programs stored in the memory card 235 are read and loaded in the MEM-P 231 or the MEM-C 232.
As the memory card 235, an SD (Secure Digital) memory card that is a kind of a flash memory card is used. By using the SD memory card, there is a merit in that large capacity memories can be used at a low cost. For the SD memory card, a SD memory card slot is used as the memory card slot 234.
As shown in
SD access 611 is a driver for performing access control for the SD memory card 602. More specifically, the SD access 611 detects insert/eject of the SD memory card 602, for example. SD status 612 is a driver for managing information of insert/eject/mount/unmount for the SD memory card. The launch processing program 613 is a program forming the program launch part 502 of
When the SD memory card 602 is inserted into the SD memory card slot 601, the SD access 611 detects that the SD memory card 602 is inserted in step 1, and SD access 611 notifies the SD status 612 of it in step 2. In response to that, the SD status 612 manages information that indicates that the SD memory card 602 has been inserted, and notifies the launch processing program 613 that the SD memory card 602 has been inserted in step 3. In response to that, the launch processing program 613 launches the SD check 614 to mount the SD memory card 602. In response to that, the SD check 614 mounts the SD memory card 602 in step 5, and notifies the SD status 612 of it in step 6. In response to that, the SD status 612 manages information indicating that the SD memory card 602 is mounted, and notifies the launch processing program 613 that the SD memory card 602 has been mounted in step 7.
When the SD memory card 602 is pulled out from the SD memory card slot 601, the SD access 611 detects that the SD memory card 602 has been pulled out in step 1, and SD access 611 notifies the SD status 612 that the SD memory card 602 has been pulled out in step 2. In response to that, the SD status 612 manages information that indicates that the SD memory card 602 has been pulled out, and notifies the launch processing program 613 that that the SD memory card 602 has been pulled out in step 3. In response to that, the launch processing program 613 launches the SD check 614 to unmount the SD memory card 602 in step 4. In response to that, the SD check 614 unmounts the SD memory card 602 in step 5, and notifies the SD status 612 of it in step 6. In response to that, the SD status 612 manages information indicating that the SD memory card 602 is unmounted, and notifies the launch processing program 613 that the SD memory card 602 has been unmounted in step 7.
By adopting the SD memory card, so-called hot insertion and removal of the card can be realized. That is, an operation for inserting the SD memory card 602 into the SD memory card slot 601 and an operation for removing the SD memory card 602 from the SD memory card slot 601 can be performed after the compound machine 101 is launched.
(NFS)
In the following, an information processing system of
The compound machine 101 of
To realize this configuration, NFS (network file system) that is one of technologies for realizing a distributed file system is used in this embodiment. A file system in the HDD 703 in the server computer 701 can be used as a distributed file system of the compound machine 101. In the information processing system of
UNIX that is the OS 706 is installed in the HDD 703 of the server computer 701. The server computer 701 functions as a server (NFS server) of NFS. The OS (UNIX) is also installed in the HDD 233 in the compound machine 101. The compound machine 101 is connected to the server computer 701 via the network, so that the compound machine 101 functions as a client (NSF client) of NFS. Accordingly, information processing of NFS such as “vfs (virtual file system) operation”, “v-node (virtual node) operation” can be performed by the UNIX in the server 701 and in the compound machine 101.
Network protocols used for network communications in NFS between the compound machine 101 and the server computer 701 are IP as a network (third) layer protocol in the OSI reference model, UDP as a transport (fourth) layer protocol, RPC as a session (fifth) layer protocol, and XDR as a presentation (sixth) layer protocol. Although TCP may be used as the transport (fourth) layer protocol, UDP is used in this embodiment in consideration of speed rather than reliability.
As a technology for realizing the distributed file system, “samba” may be used instead of NFS. In this case, Windows is installed in the HDD 703 in the server computer 701 as the OS 706, so that the server computer 701 functions as a server (samba server) of samba. UNIX is installed in the HDD 233 of the compound machine 101, and the compound machine 101 functions as a client (samba client) of samba. By using samba, the UNIX machine can use a shared folder of a Windows machine.
Network protocols for performing network communications in samba between the compound machine 101 and the server computer 701 are IP as the third layer, TCP as the fourth layer, NETBIOS as the fifth layer, SMB as the sixth layer, and samba as the seventh layer. Alternatively, NetBEUI can be used as the third and fourth layers, and NETBIOS can be used as the fifth layer. Further alternatively, IPX can be used as the third layer, and SPX can be used as the fourth and fifth layers. Since SMB supports the folder sharing function and the file sharing function of Windows, the samba server can be called as a SMB server and the samba client can be called as a SMB client.
As mentioned above, although either of NFS or samba or other technologies can be used for realizing the distributed file system, NFS is used in the following example for the sake of explanation.
By referring to
When the application in the compound machine 101 accesses a file in the file system of the server computer 701, the application issues a mount system call for the file system of the server computer 701 in step 801. In response to that, the OS 136 of the compound machine 101 mounts the file system of the server computer 701 on the compound machine 101 in step 802, so that the file system of the server computer 701 is accessible as a distributed file system of the compound machine 101.
Next, the application of the compound machine 101 accesses the file system as the distributed file system of the compound machine 101 so as to access the file.
When the application starts to access the file, the application issues an open system call to the file in step 803. When the application ends to access the file, the application issues a close system call to the file in step 806. By performing the open system call, the application obtains a file descriptor of the file and the OS 136 obtains a file handle of the file.
When the application accesses the file, the application issues a system call by using the file descriptor in step 804. In response to that, the OS 136 of the compound machine 101 sends a system call of the file descriptor (that is a NFS call of the file handle) to the OS 706 of the server computer 701 in step 805. When the OS 706 of the server computer 701 receives the NFS call, the OS 706 executes a command in the NFS call.
The file system of the compound machine is described with reference to
In the following, a mount process and an unmount process are described in the following, in which the mount process is performed for mounting the file system of the server computer 701 on the compound machine 101 and the unmount process is performed for unmounting the file system of the computer 701 from the compound machine 101.
In the processes of steps 801 and 802 in
The possibility that the compound machine 101 may be affected due to a trouble of the server computer 701 can be reduced by unmounting the file system from the server computer 701 when it is not necessary to access the file system of the server computer 701.
Instead of performing mount of the file system by using the mount system call of the application, automount of the OS 136 can be used.
Alternatively, the file system may continue to be mounted on the compound machine 101 while the compound machine 101 is being operated. In this case, a setting file relating to the mount processing is prepared in the HDD 233 or in the SD memory card 602, so that the OS 136 executes the mount of the system file in response to a system call by the launch processing program at the time when the power of the compound machine 101 is turned on.
As mentioned above, in the information processing system of
The information processing of the first example is performed by the MCS 165 (refer to
The backup process or the restore process can be performed by the MCS 165 when a “backup button” or a “list button” is touched on a screen displayed on the touch panel 311 by the application. Instead of such a local operation by the touch panel 311, the operation of the backup can be performed remotely from a terminal. The above-mentioned “backup process” can be automatically performed by the MCS 165 periodically, for example, once a week. Instead of performing the backup process by the MCS 165, another program that is launched periodically may automatically perform the backup process.
Data in the file stored in the HDD 233 or the SD memory card 602 may be image data or may be user information. The image data may be obtained by scanning a document by the image pickup part 121, or may be data to be printed by the printing part 122. The user information may be authentication information of users, billing information, resource use restriction information, scanner destinations, facsimile destinations or the like. The backup target can be other files.
An example of a merit of the first embodiment is that data can be protected even when an failure of the HDD 233 or the SD memory card occurs. Especially, since UNIX is used in this embodiment, there is a merit in adopting the first example.
The launch processing program that corresponds to the program launch part 502 performs the information processing of the second example. That is, the launch processing program accesses the file system in the HDD 703 as a distributed file system of the compound machine 101, so that the program loads the SDK application stored in the file system 1001 into the MEM-P 231 or the MEM-C 232.
In the third example, the launch processing program that corresponds to the program launch part 502 performs the information processing. That is, the launch processing program accesses the file system in the HDD 703 as a distributed file system of the compound machine 101, so that the program loads the SDK application stored in the file system 1001 into the MEM-P 231 or the MEM-C 232.
When the SDK application to which the tag is added is launched in the compound machine 101 as a debugging target, a console PC 102 connected to the compound machine 101 displays variable values, function arguments, or function return values with a message. Accordingly, debugging for the SDK application can be efficiently performed. The HDD 703 in the server computer 701 may store telnetd, ftpd, emacs, mule, gdb and the like. In the case where the server computer 701 stores telnetd, ftpd, emacs, mule, gdb and the like, by performing romboot instead of netboot in the compound machine 101 and by performing REMOTElogin by usinf telnet and the like from a terminal and the like, the debugging of the SDK application can be performed more efficiently.
The information processing of the fourth example is performed by the MCS 165 (refer to
Data in the file stored in the HDD 233 or the SD memory card 602 may be image data or may be user information. The image data may be obtained by scanning a document by the image pickup part 121, or may be data that can be printed by the printing part 122. The user information may be authentication information of users, billing information, resource use restriction information, scanner destinations, facsimile destinations or the like. The storing target can be other files.
An example of a merit of the fourth embodiment is that apparatuses can share information. For example, scanned data in a compound machine can be used as print data in another compound machine. In addition, image data obtained by a compound machine can be browsed by a terminal. Further, a scanned data sending destination or a facsimile sending destination stored in a compound machine can be obtained by another compound machine, or user information stored in a compound machine can be edited in a terminal.
In the following, relating to the first example and the fourth example, “image data” is described in detail. With reference to
In the file system of UNIX, as shown in
In “backup process” in the first example and “storing process” in the fourth example, image data is stored in a RAW file that corresponds to an image forming job (scanning job or printing job) in the HDD 233 or the SD memory card of the compound machine 101. That is, pieces of image data are stored in RAW files in units of image forming jobs. Then, the data in the RAW file is stored in a FS file corresponding to the image forming job in the file system of the HDD 703.
In “restore process” of the first example or in “obtaining process” of the fourth example, the image data in the FS file stored in the file system in the HDD 703 is obtained and stored in a RAW file in the HDD 233 or the SD memory card 602 of the compound machine 101.
Since the RAW file has an advantage in that reading and writing can be performed at high speed, the RAW file is suitable for image forming processes that require high speed processing. In the backup process of the first example or in the storing process of the fourth example, since the image data is read from the high speed RAW file and is stored in the low speed FS file in which the file format is converted in the storing side, the speed of image forming processes in the compound machine side is not affected by the backup process or the storing process. In addition, by using the CPU 211 only for image forming processes while DMA transfer is used for the backup process or the storing process, the backup process or the storing process can be performed asynchronously to the image forming processes.
For convenience of image forming processes, the image data for the image forming processes, RAW files or FS files are stored in units of image forming jobs. In a case when image data of three pages is scanned in one time scanning job, the image data of the three pages is stored in a RAW file or in a FS file. In a case when image data of five pages is to be printed in one time printing job, the image data of the five pages is stored in a RAW file or in a FS file.
First, the copy application 141 (or SDK application) opens a RAW file in the compound machine 101 by using the MCS 165 in step 101. Next, the MCS 165 searches the HDD 233 for usable sequential storing areas in step 102. Next, the copy application 141 sets parameter's (ADF/A4/color and the like) for a scanning process by using the ECS 164 in step 103, and instructs the ECS 164 to start the scanning process in step 104. Next, the ECS 164 performs the scanning process in step 105, and the MCS 165 stores the scanned image data in the RAW file in step 106. Next, the ECS 164 notifies the copy application 141 of the end of the scanning process in step 107. After that, the copy application 141 closes the RAW file of the compound machine by using the MCS 165.
Next, the copy application 141 (or SDK application) opens the RAW file by using the MCS 165 in step 111. Next, the copy application 141 mounts directories (file system 1001) of the server computer 701 on the compound machine 101 by using the OS 136 in step 112, so that the OS 136 opens a FS file in the server computer 701 in step 113. The directories to be mounted can be selected automatically or can be selected manually by using the touch panel 311. Next, the MCS 165 reads the scanned image data from the RAW file and write the scanned image data to the FS file in step 114. Next, the copy application 141 closes the RAW file by using the MCS 165 in step 115. Finally, the copy application 141 closes the FS file of the server computer by using the OS 136 in step 116, and the directories of the server computer is unmounted from the compound machine 101 by the OS 136 in step 117.
First, the copy application 141 (or SDK application) mounts the directories (file system 1001) of the server computer 701 on the compound machine 101 in step 201, so that the OS 136 opens a FS file of the server computer 701 in step 202. The directories to be mounted can be selected automatically or can be selected manually by using the touch panel 311. Next, the copy application 141 opens a RAW file in the compound machine 101 by using the MCS 165 in step 203. Next, the MCS 165 searches the HDD 233 for usable sequential storing areas in step 204. Next, the MCS 165 reads the scanned image data from the FS file and write the scanned image data into the RAW file in step 205. Next, the copy application 141 closes the RAW file of the compound machine 101 in step 206. Next, the copy application 141 closes the FS file of the server computer 701 by using the OS 136 in step 207, and unmounts the directories of the server computer 701 from the compound machine 101 by using the OS 136 in step 208.
Next, the copy application 141 (or SDK application) sets parameters (staple/A4/color and the like) for printing by using the ECS 164 in step 211, and instructs the ECS 164 to start printing in step 212. Next, ECS 164 performs printing in step 213. Finally, the ECS 164 notifies the copy application 141 of the end of the printing in step 214.
First, the facsimile application 144 (or SDK application) opens a RAW file in the compound machine 101 by using the MCS 165 in step 301. Next, the MCS 165 searches the HDD 233 for usable sequential storing areas in step 302. Next, the facsimile application 144 sets parameters (ADF/A4/black and white and the like) for a scanning process by using the ECS 164 in step 303, and instructs the ECS 164 to start the scanning process in step 304. Next, the ECS 164 performs the scanning process in step 305, and the MCS 165 stores the scanned image data in the RAW file in step 306. Next, the ECS 164 notifies the facsimile application 144 of the end of the scanning process in step 307. After that, the facsimile application 144 closes the RAW file of the compound machine 101 by using the MCS 165 in step 308.
Next, the facsimile application 144 (or SDK application) sets parameters (facsimile destination and the like) for facsimile sending process by using the FCS 162 in step 311, and instructs the FCS 162 to start the facsimile sending process in step 312. Next, FCS 162 performs the facsimile sending process in step 313. Then, the FCS 162 notifies the facsimile application 144 of the end of the facsimile sending process in step 314.
Next, the facsimile application 144 (or SDK application) opens the RAW file by using the MCS 165 in step 321. Next, the facsimile application 144 mounts directories (file system 1001) of the server computer 701 on the compound machine 101 by using the OS 136 in step 322, so that the OS 136 opens a FS file in the server computer 701 in step 323. The directories to be mounted can be selected automatically or can be selected manually by using the touch panel 311. Next, the MCS 165 reads the scanned image data from the RAW file and writes the scanned image data to the FS file in step 324. Next, the facsimile application 144 closes the RAW file by using the MCS 165 in step 325. Finally, the facsimile application 144 closes the FS file of the server computer by using the OS 136 in step 326, and the directories of the server computer is unmounted from the compound machine 101 by the OS 136 in step 327.
First, the facsimile application 144 (or SDK application) mounts the directories (file system 1001) of the server computer 701 on the compound machine 101 in step 401, so that the OS 136 opens a FS file of the server computer 701 in step 402. The directories to be mounted can be selected automatically or can be selected manually by using the touch panel 311. Next, the facsimile application 144 opens a RAW file of a received facsimile in the compound machine 101 by using the MCS 165 in step 403. Next, the MCS 165 reads the facsimile image data from the RAW file and write the facsimile image data into the FS file in step 404. Next, the facsimile closes the RAW file of the received facsimile in the compound machine 101 in step 405. Finally, the facsimile application 144 closes the FS file of the server computer 701 by using the OS 136 in step 406, and unmounts the directories of the server computer 701 from the compound machine 101 by using the OS 136 in step 407.
A PC instructs the compound machine 101 to perform the printing process in step 501, and sends print data to the compound machine 101 in step 502. Next, the printer application 142 opens a RAW file of the compound machine 101 by using the MCS 165 in step 503. Next, the MCS 165 searches the HDD for usable sequential storing areas in step 504. Next, the printer application 142 rasterizes the transferred print data in step 505. Then, the MCS 165 stores the rasterized print data into the RAW file in step 506, and the ECS 164 performs a printing process for the print data stored in the RAW file in step 507. The steps 505, 506 and 507 are performed in parallel for each page. Then, the printer application 142 closes the RAW file of the compound machine 101 by using the MCS 165 in step 508.
Next, the printer application 142 mounts the directories (file system 1001) of the server computer 701 on the compound machine by using the OS 136 in step 511, and opens the FS file of the server computer 701 by using the OS 136 in step 512. The directories to be mounted can be automatically selected or can be selected manually by using the touch panel 311. Next, the MCS 165 reads print data from the RAW file and writes the print data to the FS file in step 514. Next, the printer application 142 closes the RAW file by using the MCS 165 in step 515. Finally, the printer application 142 closes the FS file of the server computer 701 in step 516 and unmounts the directories of the server computer 701 from the compound machine 101 in step 517.
In the following, relating to the first example and the fourth example, user information is described in detail.
The compound machine 101 performs authentication or user restriction for users who uses the compound machine 101. That is, each user who wants to use the compound machine 101 should be authenticated by the compound machine 101. Further, use restriction for resources of the compound machine 101 is performed. For example, a user A is restricted to use only a file A, a user B is restricted not to use a directory B. The authentication process and the use restriction process are performed by the CCS 167.
The compound machine 101 stores authentication information and use restriction information, wherein the authentication information is used for authenticating users and the use restriction information is used for restricting use of resources of the compound machine 101. The storing destination of the authentication information and the use restriction information may be either of the HDD 233 or the SD memory card 602 of the compound machine 101. However, considering usage of the authentication information and the use restriction information, the SD memory card 602 that is an IC memory may be better than the HDD 233 that is a magnetic memory. A NVRAM (nonvolatile random-access memory) in the compound machine 101 may be used as the storing destination of the authentication information and the use restriction information. The authentication information and the use restriction information are managed by the UCS 168.
A user who manages the compound machine 101 registers authentication information of users and sets use restriction information of users. Then, the compound machine is restarted so that the authentication registration setting or use restriction setting becomes effective. These operations are the same as those of account registration and mode setting of UNIX.
In the backup process of the first example or the storing process of the fourth example, the use restriction information stored in the SD memory card 602 (or HDD 233) of the compound machine 101 is stored in the file system 1001 in the HDD 703.
In the restore process of the first example or the obtaining process of the fourth example, the use restriction information stored in the file system 1001 in the HDD 703 is obtained by the SD memory card 602 (or HDD 233) of the compound machine 101.
Retaining a high level of security is becoming an important problem as the information processing function of the compound machine 101 has become more advanced. The use restriction information is important information for retaining the security of the compound machine 101. For this purpose, loss or theft of the use restriction information should be avoided. Thus, a backup of the use restriction information can be performed by using the backup method of the first example. Further, for the purpose of sharing use restriction information, the use restriction information can be stored by the storing process of the fourth example.
First, an authentication registration request is sent from the application 131 to the CCS 167 in step 601. Next, the CCS 167 performs an authentication registration process for the application 131 in step 602. Next, an authentication registration response is sent from the CCS 167 to the application 131 in step 603. By sending the authentication registration response, an authentication method is notified wherein the authentication method may be login, media, biometrics, coin lack, or prepaid card or the like.
Next, an authentication screen display request is sent from the application to the CCS 167 in step 611. Next, when a user inputs authentication information on an authentication screen, an authentication request of the user is sent from the CCS 167 to the UCS 168 in step 612. Next, the UCS 168 performs authentication process of the user in step 613. Next, an authentication response of the user is sent from the UCS 168 to the CCS 167 in step 614. Then, the CCS 167 distributes a ticket of the user as a use restriction process (use restriction release process) in step 615. Finally, an authentication screen display release request is sent from the application 131 to the CCS 167 in step 616.
Relating to the second example and the third example, “power source mode” is described.
Two power source modes exist in the compound machine 101. One mode is “ON mode” that corresponds to a status where the power is on. Another mode is “OFF mode” that corresponds to a status where the power is OFF. When the compound machine 101 is used, from a point of view of convenience, it is desirable to keep “ON mode” so as to set the compound machine in a waiting mode at all times. However, from a viewpoint of power saving, it is not desirable to keep “ON mode” at all times.
Thus, the “ON mode” includes a “power saving mode” in addition to a normal “waiting mode”, wherein the power saving mode is a mode for saving consumed power while the compound machine is waiting for image forming process. In the power saving mode, power sources that usually consume large power in a waiting status reduce power consumption, wherein the power sources that usually consume large power include a heater power source of a phaser of the printing part 122, a motor power source of a spindle of the HDD 233, a panel power source of the touch panel 311 and the like. Power sources that consume small power such as a power source of NIC 241 remains in the usual waiting mode. Accordingly, the viewpoint of convenience and the viewpoint of the power saving become compatible.
When a predetermined time (three minutes, for example) elapses or when a current time enters a predetermined time zone (mid-night, for example) in a waiting mode, the mode changes to the power saving mode. In the power saving mode, when a predetermined time (three minutes, for example) elapses or when a current time enters a predetermined time zone (mid-night, for example), the mode changes to the OFF mode. In the OFF mode, when the compound machine 101 receives facsimile image data or scanned data of print data, the mode changes to the power saving mode. When the power is turned off, the power mode is changed from ON mode (waiting mode or power saving mode) to OFF mode. When the power is turned on, the power source mode is changed from OFF mode to ON mode (waiting mode).
When a predetermined time elapses or when a current time enters a predetermined time zone in a waiting mode in step 711, a request of transition to the power saving mode is sent from the SCS 169 to the MCS 165 and to the application 131 in step 712. Then, a response of transition to the power saving mode is sent from the MCS 165 and from the application 131 to the SCS 169 in step 713. Next, a decision notification of transition to the power saving mode is sent from the SCS 169 to the MCS 165 and the application 131 in step 714. Next, a decision notification of transition to the power saving mode of the power source of the HDD 233 is sent from the MCS 165 to the application 131 in step 715.
When an operation is performed in the compound machine 101 in the power saving mode in step 721, a decision notification of transition to the waiting mode is sent from the SCS 169 to the MCS 165 and to the application 131 in step 722. Next, a decision notification of transition to a waiting mode in the power source of the HDD 233 is sent from the MCS 165 to the application 131 in step 723.
When a predetermined time elapses in the power saving mode or when a current time enters a predetermined time zone in the power saving mode in step 731, a request of transition to the OFF mode is sent from the SCS 169 to the MCS 165 and the application 131 in step 732. Then, a response of transition to the OFF mode is sent from the MCS 165 and the application 131 to the SCS 169 in step 733. Next, a decision notification of transition to the OFF mode is sent from the SCS 169 to the MCS 165 and the application 131 in step 734. Next, a decision notification of transition to the OFF mode of the power source of the HDD 233 is sent from the MCS 165 to the application 131 in step 735.
When the compound machine receives facsimile image data in the OFF mode in step 741, the facsimile image data is sent from the FCS 162 to the MCS 165 by which the facsimile image data is stored in step 742. Then, a notification of storing the facsimile image data is sent from the MCS 165 to the application 131 in step 743. Next, a notification of storing the facsimile image data is sent from the application 131 to the SCS 169 in step 744, and a decision notification of transition to the power saving mode is sent from the SCS 169 to the MCS 165 and the application 131 in step 745. Next, a decision notification of transition to the power saving state of the power source of the HDD 233 is sent from the MCS 165 to the application 131 in step 746.
Since the power of the HDD 233 becomes in the power saving status in the power saving mode, a program cannot be launched from the HDD 233. However, since a power source of the NIC 241 is in a waiting status, a program can be launched via the NIC 241. In other words, a program can be launched via a network. Although a program in the HDD 233 cannot be launched, a program in the HDD 703 (or in the SD memory card 705) of the server computer 701 can be launched. Thus, in the second or third example, the HDD 703 in the server computer 701 is used as a storing destination of a SDK application, so that the SDK application stored in the HDD 703 is loaded into the compound machine 101 and is launched in the compound machine 101.
In the second example, the SDK application can be launched in either of the waiting mode or in the power saving mode. In the third example, even when the mode is changed from the waiting mode to the power saving mode while debugging the SDK application, the debugging of the SDK application is not interrupted.
For launching the SDK application stored in the HDD 233 in step 811, the compound machine 101 loads an execution portion of the SDK application into the VM (virtual memory) in step 812. When the mode becomes the power saving mode while the SDK application is in an idle state (steps 813, 814), the compound machine 101 checks if a necessary portion of the SDK application is loaded in the VM. When the necessary portion of the SDK application is not loaded in the VM in step 815, the compound machine tries to access the HDD 233 to load the necessary portion of the SDK application into the VM in step 816. However, since the HDD 233 is in the power saving status, the HDD 233 cannot be accessed so that the necessary portion of the SDK application cannot be restored in the VM. As a result, the SDK application enters a sleep status in step 817.
To avoid this problem, the SDK application or a daemon may be loaded and executed in a RAM or a ROM. However, this method has a problem in that the capacity of the RAM or a ROM may become insufficient.
In a case when a SDK application stored in the HDD 703 is loaded in the compound machine in step 821, the compound machine 101 loads an execution portion of the SDK application in the VM in step 822. When the mode becomes the power saving mode while the SDK application is in an idle state (steps 823, 824), the compound machine 101 checks if a necessary portion of the SDK application is loaded in the VM. When the necessary portion of the SDK application is not loaded in the VM in step 825, the compound machine tries to access the HDD 703 to load the necessary portion of the SDK application into the VM in step 826. In this case, since the NIC 241 is in a waiting mode, the HDD 703 can be accessed, so that the necessary portion of the SDK application can be loaded in the VM. The SDK application is still in an idle state in step 827. In the above mentioned embodiment, the MCS 165 is an example of the information processing program of the present invention, and a SD memory card storing the MCS 165 is an example of the recording medium of the present invention. The compound machine 101 is an example of the image forming apparatus of the present invention and the information processing performed in the compound machine 101 is an example of the information processing method of the present invention.
In the following, the second embodiment of the present invention is described. The second embodiment is different from the first embodiment in that the compound machine 101 functions as a server of NFS in the second embodiment.
(NFS)
In the following, an information processing system of
The compound machine 101 of
To realize this configuration, NFS (network file system) that is one of technologies for realizing a distributed file system is used in this embodiment. A file system in the HDD 203 in the compound machine 101 can be used as a distributed file system of the PC 1701. In the information processing system of
UNIX as the OS 136 is installed in the HDD 223 of the compound machine 101. The compound machine 101 functions as a server (NFS server) of the distributed file system of NFS. The OS (UNIX) is also installed in the HDD 1703 in the PC 1701. The PC 1701 is connected to the compound machine 101 via the network, so that the PC 1701 functions as a client (NSF client) of NFS. Accordingly, information processing of NFS such as “vfs (virtual file system) operation”, “v-node (virtual node) operation” can be performed by UNIX.
Network protocols used for network communications for NFS between the compound machine 101 and the PC 1701 are IP as a network (third) layer protocol in OSI reference model, UDP as a transport (fourth) layer protocol, RPC as a session (fifth) layer protocol, and XDR as a presentation (sixth) layer protocol. Although TCP may be used as the transport (fourth) layer protocol, UDP is used in this embodiment in consideration of speed rather than reliability.
As a technology for realizing the distributed file system, “samba” may be used instead of NFS. In this case, UNIX is installed in the HDD 233 of the compound machine 101 so that the compound machine 101 functions as a server (samba server) of the distributed file system of samba. Windows is installed in the HDD 1703 in the PC 1701 as the OS 1706, so that the PC 1701 functions as a client (samba client) in samba. By using samba, the Windows machine can use shared folders in a UNIX machine.
Network protocols for performing network communications for samba between the compound machine 101 and the PC 1701 are IP as the third layer, TCP as the fourth layer, NETBIOS as the fifth layer, SMB as the sixth layer, and samba as the seventh layer. Alternatively, NetBEUI can be used as the third and fourth layers, and NETBIOS can be used as the fifth layer. Further alternatively, IPX can be used as the third layer, and SPX can be used as the fourth and fifth layers. Since SMB supports the folder sharing function and the file sharing function of Windows, the samba server can be called as a SMB server and the samba client can be called a SMB client.
As mentioned above, although either of NFS or samba or other technologies can be used for realizing the distributed file system, NFS is used in the following example.
By referring to
When the application 1708 in the PC 1701 accesses a file in a file system of the compound machine 101, the application issues a mount system call for the file system of the compound machine 101 in step 1801. In response to that, the OS 1706 of the PC 1701 mounts the file system of the compound machine 101 on the PC 1701 in step 1802, so that the file system of the compound machine 101 is accessible as a distributed file system of the PC 1701.
Next, the application 1708 of the PC 1701 accesses the file system as the distributed file system of the PC 1701 so as to access the file.
When the application 1708 of the PC 1701 starts to access the file, the application issues an open system call to the file in step 1803. When the application ends to access the file, the application issues a close system call to the file in step 1806. By performing the open system call, the application 1708 of the PC 1701 obtains a file descriptor of the file and the OS 1706 of the PC 1701 obtains a file handle of the file.
When the application 1708 of the PC 1701 accesses the file, the application 1708 performs a system call by using the file descriptor in step 1804. In response to that, the OS 1706 of the PC 1701 sends a system call of the file descriptor as a NFS call of the file handle to the OS 136 of the compound machine 101 in step 1805. When the OS 136 of the compound machine 101 receives the NFS call, the OS 136 executes a command of the NFS call.
The file system of the PC 1701 is described with reference to
As mentioned above, in the information processing system of
(1) Examples of Usage of NFS
The file system 2001 of
PC 1701 accesses the file system 2001 of the compound machine 101 as a distributed file system of the PC 1701, so that the PC 1701 can store a file 2021 used for printing in a directory 2011 in the file system 2001. In the same way, a file 2022 used for facsimile sending can be stored in a directory 2012 used for facsimile sending. In the same way, a file 2023 used for printing can be stored in a directory 2013 used for printing. In the same way, a file 2024 used for facsimile sending can be stored in a directory 2014 used for facsimile sending. In the same way, a file 2025 for ftp can be stored in a directory 2015 for ftp processing. In the same way, a file 2026 used for mail processing can be stored in a directory 2016 for mail processing.
The path names of the file system 2001 shown in
When a file is stored in the directory 2011 for printing in the file system 2001, the compound machine 101 performs print process for the file. The application (printer application 142 or SDK application) performs the print process. The file to be stored is an electronic document file for example.
When a file for facsimile sending is stored in the directory 2012 in the file system 2001, the compound machine 101 performs facsimile sending processing for the file. The application (facsimile application 144 or SDK application) performs the facsimile sending processing. The file to be stored is a scanned image file for example.
As mentioned above, when a file is stored in a directory corresponding to a specific image forming process such as the directories 2011 and 2012, the compound machine 101 performs the specific image forming process such as printing or facsimile sending. This usage of NFS is possible only by the compound machine 101 that has the image forming functions. Only by performing the simple process of storing a file in a directory, the image forming process (local) can be performed.
When a file is stored in the directory 2013 that is used for storing a file for printing, the compound machine 101 causes an image forming apparatus (printer/compound machine and the like) other than the compound machine 101 to perform a printing process for the file. More specifically, the application 131 (printer application 142 or the SDK application) causes an image forming apparatus to perform the printing process. The file to be stored is an electronic document file, for example.
When a file is stored in the directory 2014 that is used for storing a file for facsimile sending, the compound machine 101 causes an image forming apparatus (facsimile machine/compound machine and the like) other than the compound machine 101 to perform a facsimile sending process for the file. More specifically, the application 131 (facsimile application 142 or the SDK application) causes an image forming apparatus to perform the facsimile sending process. The file to be stored is a scan image file, for example.
As mentioned above, when a file is stored in a directory corresponding to a specific image forming process such as the directories 2013 and 2014, the compound machine 101 causes an image forming apparatus other than the compound machine 101 to perform the specific image forming process such as printing or facsimile sending. This usage of NFS is possible only by the compound machine 101 that has image forming functions by performing distributed processing. Only by performing the simple process of storing a file in a directory, the image forming process (remote) can be performed.
When a file is stored in the directory 2015 used for storing a ftp processing file, the compound machine 101 performs a ftp process such as file transfer and file update by using ftp (file transfer protocol) for the file. The application (network file application 145 or SDK application) performs the ftp process. The file to be stored is an electronic document file for example.
When a file for mail processing is stored in the directory 2016 used for mail processes, the compound machine 101 performs a mail process for the file. In the mail process, for example, a mail with the file as an attached file is sent. The application (network file application 145 or SDK application) performs the facsimile sending processing.
As mentioned above, when a file is stored in a directory corresponding a specific communication process such as the directories 2015 and 2016, the compound machine 101 performs the specific image forming process such as the ftp process or the mail process. This usage of NFS is possible only by the compound machine 101 that has advanced communication functions equivalent to communication functions of a PC. Only by performing the simple process of storing a file in a directory, advanced communication processes can be performed.
(2) Directory 2011 for Print Processing
In the following, the directory 2011 for the print process is described in detail.
(3) Directory 2012 for a Facsimile Sending Process
In the following, the directory 2012 for the facsimile sending process is described in detail.
In the following, a facsimile sending destination of the facsimile sending process is described. In the directory 2012 for the facsimile sending process, a directory “03-1234-5678” exists as shown in the path name “B1” in
(4) Directory 2013 for a Print Process
In the following, a directory 2013 for a print process is described in detail.
In the following, the destination for sending the print job execution request is described. In the directory for the print process, a directory “192.168.0.2” exists as shown in the path name “C1” in
(5) Directory 2014 for Facsimile Sending Process
In the following, the directory 2014 for the facsimile sending process is described in detail.
In the following, the destination for sending the facsimile sending job execution request is described. In the directory 2014 for the facsimile sending process, a directory “192.168.0.2/03-1234-5678” exists as shown in the path name “D1” in
(6) Directory 2015 for a ftp Process
In the following, the directory 2015 for the ftp process is described in detail.
In the directory 2015, a directory “192.168.0.2/put” exists as shown in the path name “E1” in
In the directory 2015, a directory “192.168.0.2/get” exists as shown in the path name “E2” in
(7) Directory 2016 for Mail Processing
In the following, the directory 2016 for a mail process is described in detail.
In the directory 2016 for the mail process, a directory “admin@ricoh.co.jp” exists as shown in the path name “F1” in
(8) Cron
In the processes shown in the figures such as
The present invention is not limited to the specifically disclosed embodiments, and variations and modifications may be made without departing from the scope of the present invention.
The present application contains subject matter related to Japanese patent application No. 2003-203078, filed in the JPO on Jul. 29, 2003, Japanese patent application No. 2004-213188, filed in the JPO on Jul. 21, 2004, Japanese patent application No. 2004-213189, filed in the JPO on Jul. 21, 2004, Japanese patent application No. 2004-213190, filed in the JPO on Jul. 21, 2004, the entire contents of which being incorporated herein by reference. The present application is also a divisional application of U.S. patent application Ser. No. 13/051,821, filed Mar. 18, 2011, which is a continuation application of U.S. patent application Ser. No. 10/900,098, filed on Jul. 28, 2004.
Number | Date | Country | Kind |
---|---|---|---|
2003-203078 | Jul 2003 | JP | national |
2004-213188 | Jul 2004 | JP | national |
2004-213189 | Jul 2004 | JP | national |
2004-213190 | Jul 2004 | JP | national |
The present application is a divisional application of U.S. Ser. No. 13/051,821, filed Mar. 18, 2011, the entire content of both of which is incorporated herein by reference, which is a continuation application of Ser. No. 10/900,098 filed Jul. 28, 2004, now U.S. Pat. No. 7,933,033.
Number | Date | Country | |
---|---|---|---|
Parent | 13051821 | Mar 2011 | US |
Child | 13680870 | US |
Number | Date | Country | |
---|---|---|---|
Parent | 10900098 | Jul 2004 | US |
Child | 13051821 | US |