Abstract:
An information processing apparatus includes: a display; a first processing unit; and a second processing unit, wherein the first processing unit includes a transmitter configured to transmit a first screen relating to first processing performed by the first processing unit to the second processing unit, the second processing unit includes a mounting section in which a peripheral device is mounted and a hardware processor, the hardware processor configured to: cause the display to selectively display either one of the first screen and a second screen relating to second processing performed by the second processing unit, and when the display displays the first screen, allow the peripheral device to be used for the first processing and, when the display displays the second screen, allow the peripheral device to be used for the second processing.

Description:
[0001]    The entire disclosure of Japanese Patent Application No. 2016-139108 filed on Jul. 14, 2016 including description, claims, drawings, and abstract are incorporated herein by reference in its entirety. 
       BACKGROUND 
     Technical Field 
       [0002]    The present invention relates to a technique for using a peripheral device in an information processing apparatus, such as an image forming apparatus. 
       Description of the Related Art 
       [0003]    Image forming apparatuses having various functions such as copy, scan, and fax are widespread. Such image forming apparatuses maybe referred to as “multi function peripherals (MFPs)”. 
         [0004]    Late models of image forming apparatuses have come to additionally provide with such functions as a web browser, a web server, or optical character recognition (OCR). 
         [0005]    The foregoing various functions are very often managed integrally by a single system (e.g., an operating system). 
         [0006]    A plurality of systems may nonetheless be disposed in a single housing and the foregoing various functions maybe managed by different systems. 
         [0007]    One possible configuration may include an MFP unit having a first operating system and a server unit having a second operating system. The MFP unit achieves the copy, scan, and fax functions, while the server unit achieves the web browser, web server, and OCR functions. This single housing may include one display that is shared between the MFP unit and the server unit. 
         [0008]    Even later models of image forming apparatuses are equipped with an interface, such as a universal serial bus (USB), for connecting peripheral devices. 
         [0009]    Even when attempts are made by a plurality of the foregoing functions to use a peripheral device, integral management of the functions by a single system substantially eliminates contention of access to a peripheral device by a plurality of functions. 
         [0010]    Contention of access to a peripheral device is, however, highly likely to occur when the foregoing functions are managed by different systems. 
         [0011]    Well-known techniques of sharing a single peripheral device among a plurality of apparatuses may be applied to the image forming apparatus. The following techniques are known to date. 
         [0012]    JP 2008-271215 A discloses a USB hub as described below. Specifically, the USB hub includes an exclusive control unit disposed between USB host controllers and USB peripheral controllers. The USB peripheral controllers are cyclically granted a temporary right of use at any unit time interval. The USB hub is configured such that, when a communication is received from a first PC connected with a USB peripheral controller that has acquired the temporary right of use, the right of use is granted to a USB host controller connected with a first USB device with which the first PC communicates and the USB peripheral controller connected with the first PC. The USB hub is further configured such that a NAK response is sent to any communication with the first USB device from any PC other than the first PC. 
         [0013]    JP 2011-134096 A discloses an image forming apparatus as describe below. The image forming apparatus is capable of communicating with an information processing apparatus and an operating unit through a USB interface. The image forming apparatus includes a changeover unit that changes a connection state of a USB device and a USB host via the USB interface. When it is determined that the image forming apparatus can communicate with the information processing apparatus through the USB interface and the information processing apparatus can control the operating unit, the changeover unit changes from a first connection state in which the image forming apparatus as a USB host is connected with the operating unit as a USB device to a second connection state in which the information processing apparatus as a USB host is connected with the operating unit as a USB device. 
         [0014]    JP 2005-339146 A discloses an image forming apparatus as describe below. The image forming apparatus includes a connection changeover circuit. The connection changeover circuit connects, in advance, a downstream port with a USB host circuit over a USB connection line. DPS discovery is executed when a DSC that supports PictBridge is connected to the downstream port. When the DPS discovery is successful, the connection state between the DSC and the USB host circuit is maintained. In contrast, when a scanner that does not support PictBridge is connected and DPS discovery fails, the USB connection line is disconnected. After a lapse of a predetermined period of time, the USB connection line is connected and the scanner is connected with a USB hub circuit, and the scanner is thereby allowed to be recognized by a PC. 
         [0015]    The known technique described above allows a single peripheral device to be shared among a plurality of systems (e.g., PCs) through performance of exclusive control. 
         [0016]    A need nonetheless exists in an image forming apparatus including a plurality of systems, such as an MFP unit and a server unit, housed in a single housing for making peripheral devices easier to use for users than before. 
       SUMMARY 
       [0017]    An object of the present invention is to make peripheral devices easier to use in an image forming apparatus including a plurality of systems housed in a single housing. 
         [0018]    To achieve the abovementioned object, according to an aspect, an information processing apparatus reflecting one aspect of the present invention comprises: a display; a first processing unit; and a second processing unit, wherein the first processing unit includes a transmitter configured to transmit a first screen relating to first processing performed by the first processing unit to the second processing unit, the second processing unit includes a mounting section in which a peripheral device is mounted and a hardware processor, the hardware processor configured to: cause the display to selectively display either one of the first screen and a second screen relating to second processing performed by the second processing unit, and when the display displays the first screen, allow the peripheral device to be used for the first processing and, when the display displays the second screen, allow the peripheral device to be used for the second processing. 
         [0019]    The hardware processor preferably causes the display to display a changeover image together with either one of the first screen and the second screen and, when the changeover image is selected while the first screen is being displayed, the hardware processor preferably causes the display to display the second screen in place of the first screen and when the changeover image is selected while the second screen is being displayed, the hardware processor preferably causes the display to display the first screen in place of the second screen. 
         [0020]    Furthermore, when a need arises to display the second screen while the peripheral device is being used for the first processing, the hardware processor preferably causes the display to display the second screen after use of the peripheral device has been completed and, when a need arises to display the first screen while the peripheral device is being used for the second processing, the hardware processor preferably causes the display to display the first screen after the use of the peripheral device has been completed. 
     
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         [0021]    The advantages and features provided by one or more embodiments of the invention will become more fully understood from the detailed description given hereinbelow and the appended drawings which are given by way of illustration only, and thus are not intended as a definition of the limits of the present invention, and wherein: 
           [0022]      FIG. 1  is a diagram showing an exemplary appearance of an image forming apparatus according to an embodiment; 
           [0023]      FIG. 2  is a diagram showing an exemplary general configuration of the image forming apparatus in the embodiment; 
           [0024]      FIG. 3  is a diagram showing an exemplary hardware configuration of an MFP unit; 
           [0025]      FIG. 4  is a diagram showing an exemplary hardware configuration of a server unit; 
           [0026]      FIG. 5  is a diagram showing an exemplary hardware configuration of a touch panel display; 
           [0027]      FIG. 6  is a diagram showing an exemplary functional configuration of the server unit; 
           [0028]      FIG. 7  is a diagram showing exemplary exchange of data among the MFP unit, the server unit, and the touch panel display; 
           [0029]      FIG. 8  is a diagram showing an exemplary scan job screen; 
           [0030]      FIG. 9  is a diagram showing an exemplary browsing screen; 
           [0031]      FIG. 10  is a diagram showing an exemplary display of a changeover navigation screen and the scan job screen; 
           [0032]      FIG. 11  is a diagram showing an exemplary display of a changeover navigation screen and the browsing screen; 
           [0033]      FIG. 12  is a diagram showing an exemplary directory screen; 
           [0034]      FIG. 13  is a sequence diagram illustrating exemplary steps performed by each unit in a specific example; 
           [0035]      FIG. 14  is a sequence diagram illustrating exemplary steps performed by each unit in a specific example; 
           [0036]      FIG. 15  is a sequence diagram illustrating exemplary steps performed by each unit in a specific example; 
           [0037]      FIG. 16  is a flowchart illustrating exemplary general processing performed by a peripheral device manager; and 
           [0038]      FIG. 17  is a flowchart illustrating the exemplary general processing performed by the peripheral device manager. 
       
    
    
     DETAILED DESCRIPTION OF EMBODIMENTS 
       [0039]    Hereinafter, one or more embodiments of the present invention will be described with reference to the drawings. However, the scope of the invention is not limited to the illustrated examples. 
         [0040]      FIG. 1  is a diagram showing an exemplary appearance of an image forming apparatus  1  according to an embodiment.  FIG. 2  is a diagram showing an exemplary general configuration of the image forming apparatus  1 .  FIG. 3  is a diagram showing an exemplary hardware configuration of an MFP unit  10 .  FIG. 4  is a diagram showing an exemplary hardware configuration of a server unit  20 .  FIG. 5  is a diagram showing an exemplary hardware configuration of a touch panel display  30 .  FIG. 6  is a diagram showing an exemplary functional configuration of the server unit  20 . 
         [0041]    The image forming apparatus  1  integrates in a single apparatus various functions such as copy, PC print, fax, scan, and box. The image forming apparatus  1  may be commonly referred to as a multi function peripheral (MFP). 
         [0042]    The PC print function prints an image on a sheet on the basis of image data received from a personal computer, a tablet computer, or a terminal device such as a smartphone. The PC print function may be referred to as a “network printing” or “network print” function. 
         [0043]    The box function assigns for each user a storage space that may be called a “box” or a “personal box” to thereby enable the user to save and manage, for example, image data using his or her storage space. The box corresponds in personal computers to a “folder” or a “directory”. 
         [0044]    The image forming apparatus  1  further has a server function. The server function allows a web page to be downloaded from a website of the Internet, data to be uploaded to a website, and a document to be opened via an application. 
         [0045]    As illustrated in  FIG. 2 , the image forming apparatus  1  includes the MFP unit  10 , the server unit  20 , and the touch panel display  30 . The MFP unit  10 , the server unit  20 , and the touch panel display  30  are built or mounted in a single housing. Specifically, the MFP unit  10 , the server unit  20 , and the touch panel display  30  are integrated with each other. 
         [0046]    The MFP unit  10  has various functions including copy, PC print, fax, scanner, and box. The server unit  20  has a server function. 
         [0047]    The touch panel display  30  displays various types of screens, including a screen displaying a message for the user, a screen on which the user can input a command or information, a screen displaying results of processing performed by the MFP unit  10 , and a screen displaying results of processing performed by the server unit  20 . Additionally, the touch panel display  30  transmits data that indicates a position touched thereon to the server unit  20 . 
         [0048]    The touch panel display  30  includes as a communication interface an interface compatible with bi-directional communication. 
         [0049]    As illustrated in  FIG. 3 , the MFP unit  10  includes a central processing unit (CPU)  10   a,  random access memory (RAM)  10   b,  read only memory (ROM)  10   c,  an auxiliary storage unit  10   d,  an external network interface card (NIC)  10   e,  a modem  10   f,  an internal NIC  10   g,  a peripheral device interface  10   h,  a scan unit  10   i,  an input image processing unit  10   j,  an output image processing unit  10   k,  and a print unit  10   m.    
         [0050]    The external NIC  10   e  communicates with an external device (e.g., terminal device) through a protocol, such as Transmission Control Protocol/Internet Protocol (TCP/IP). 
         [0051]    The modem  10   f  exchanges image data with a facsimile device through a protocol such as G3. 
         [0052]    The internal NIC  10   g  communicates with the server unit  20  (specifically, an external NIC  20   e  to be described later) using TCP/IP or other protocol. In the embodiment, the internal NIC  10   g  is used particularly for transmitting screen data to the server unit  20 . 
         [0053]    It is noted that a single NIC having a plurality of ports may be used commonly as the external NIC  10   e  and the internal NIC  10   g.    
         [0054]    The peripheral device interface  10   h  communicates with a peripheral device. In the embodiment, the peripheral device interface  10   h  particularly communicates with a peripheral device disposed in the server unit  20  (specifically, a peripheral device interface  20   g  to be described later) via the server unit  20  (specifically, a transfer interface  20   h  to be described later). The following illustrates a case in which a universal serial bus (USB) board is used as the peripheral device interface  10   h.    
         [0055]    The scan unit  10   i  scans an image recorded on a sheet placed on a platen glass to thereby generate image data. 
         [0056]    The input image processing unit  10   j  performs various types of processing for image data acquired by the external NIC  10   e,  the modem  10   f,  or the scan unit  10   i  on the basis of a predetermined condition or a condition specified by the user. 
         [0057]    The output image processing unit  10   k  performs various types of processing for image data of an image to be printed on the basis of a predetermined condition or a condition specified by the user. 
         [0058]    The print unit  10   m  prints an image on a sheet on the basis of image data that has been subjected to image processing performed by the output image processing unit  10   k.    
         [0059]    The ROM  10   c  or the auxiliary storage unit  10   d  stores various types of programs and applications for achieving each of the abovementioned functions. 
         [0060]    Such a program is loaded onto the RAM  10   b  and executed by the CPU  10   a  as necessary. A hard disk, a solid state drive (SSD), or the like is used as the auxiliary storage unit  10   d.    
         [0061]    As illustrated in  FIG. 4 , the server unit  20  includes a CPU  20   a,  RAM  20   b,  ROM  20   c,  an auxiliary storage unit  20   d,  the external NIC  20   e,  an internal NIC  20   f,  the peripheral device interface  20   g,  the transfer interface  20   h,  and a video board  20   i.  The server unit  20  has a hardware configuration basically identical to a hardware configuration of a desktop personal computer. 
         [0062]    The external NIC  20   e  communicates with an external device (e.g. , a web server or a cloud server) through a protocol, such as TCP/IP. 
         [0063]    The internal NIC  20   f  is connected with the internal NIC  10   g  of the MFP unit  10  and communicates with the internal NIC  10   g  through a protocol such as TCP/IP. In the embodiment, the internal NIC  20   f  is used particularly for receiving screen data from the MFP unit  10 . 
         [0064]    It is noted that a single NIC having a plurality of ports may be used commonly as the external NIC  20   e  and the internal NIC  20   f.    
         [0065]    The peripheral device interface  20   g  is used to communicate with a peripheral device such as a removable disk, a keyboard, a mouse, a card reader/writer, or a fingerprint reader. The following illustrates a case in which a USB board is used as the peripheral device interface  20   g.    
         [0066]    The transfer interface  20   h  is used to communicate with the peripheral device interface  10   h  of the MFP unit  10 . In the embodiment, a USB board is used as the peripheral device interface  10   h  as described previously. Thus, similarly, a USB board is used as the transfer interface  20   h.    
         [0067]    It is noted that a single USB board having a plurality of ports may be used commonly as the peripheral device interface  20   g  and the transfer interface  20   h.    
         [0068]    The video board  20   i  generates rasterized data of a screen to be displayed and transmits the rasterized data to the touch panel display  30 . The video board  20   i  also receives data that indicates a position touched on the touch panel display  30  from the touch panel display  30 . The video board  20   i  may be referred to also as a “graphic board” or a “video card”. As with the touch panel display  30 , the video board  20   i  supports bi-directional communication. 
         [0069]    The following describes a case in which High-Definition Multimedia Interface (HDMI) is used as a communication method employed between the video board  20   i  and the touch panel display  30  (specifically, a video signal interface  30   d  to be described later). “HDMI” is a registered trademark. 
         [0070]    The ROM  20   c  or the auxiliary storage unit  20   d  stores programs for achieving, for example, server functions, in addition to an operating system. The ROM  20   c  or the auxiliary storage unit  20   d  further stores a peripheral device manager  20 P. The peripheral device manager  20 P is a program that allows the touch panel display  30  and a peripheral device to be shared with the MFP unit  10 . 
         [0071]    The foregoing programs are loaded onto the RAM  20   b  and executed by the CPU  20   a  as necessary. A hard disk, an SSD, or the like is used as the auxiliary storage unit  20   d.    
         [0072]    As illustrated in  FIG. 5 , the touch panel display  30  includes a display  30   a,  a touch panel  30   b,  an operating key group  30   c,  and the video signal interface  30   d.    
         [0073]    The video signal interface  30   d  is connected with the video board  20   i.  The video signal interface  30   d  receives screen data from the server unit  20  and transmits to the server unit  20  data that indicates a position touched on the touch panel  30   b  or a key depressed on the operating key group  30   c.    
         [0074]    The display  30   a  displays various types of screens described previously on the basis of data received from the server unit  20 . 
         [0075]    The touch panel  30   b  detects a position touched thereon and transmits data indicating the position to the server unit  20 . 
         [0076]    The operating key group  30   c  is what is called a hardware keyboard. The operating key group  30   c  includes a start key, a stop key, and a function key. 
         [0077]    As described previously, the peripheral device manager  20 P allows the touch panel display  30  and a peripheral device to be shared between the MFP unit  10  and the server unit  20 . The following describes a mechanism of the sharing for a specific case in which a USB memory  4  is mounted as the peripheral device in the server unit  20  and the MFP unit  10  and the server unit  20  shares the USB memory  4 . 
         [0078]    The peripheral device manager  20 P enables achievement of functions including a directory information acquisition module  201 , a directory information storage module  202 , a changeover navigator display module  203 , a changeover command detection module  204 , a use status inquiry module  205 , a directory information display module  206 , a screen changeover module  207 , and an access control module  208  shown in  FIG. 6 . 
       Processing Upon Insertion of USB Memory  4   
       [0079]    Insertion of the USB memory  4  into a USB port in the peripheral device interface  20   g  at the server unit  20  causes the operating system to detect the USB memory  4 . The detection results in the USB memory  4  being mounted in the operating system of the server unit  20 . 
         [0080]    When the USB memory  4  is mounted in the operating system, the directory information acquisition module  201  acquires from the USB memory  4  a list of directories provided in the USB memory  4  and a list of files stored in each of the directories as directory information  5 A. The directory information may be acquired via the operating system. 
         [0081]    The directory information storage module  202  stores the directory information  5 A acquired by the directory information acquisition module  201 . 
       Processing for Display of Screens 
       [0082]      FIG. 7  is a diagram showing exemplary exchange of data among the MFP unit  10 , the server unit  20 , and the touch panel display  30 .  FIG. 8  is a diagram showing an exemplary scan job screen  6 A.  FIG. 9  is a diagram showing an exemplary browsing screen  6 B.  FIG. 10  is a diagram showing an exemplary display of a changeover navigation screen  6 D 1  and the scan job screen  6 A.  FIG. 11  is a diagram showing an exemplary display of a changeover navigation screen  6 D 2  and the browsing screen  6 B.  FIG. 12  is a diagram showing an exemplary directory screen  6 G. 
         [0083]    The MFP unit  10  and the server unit  20  each basically perform processing independently of each other. The following illustrates a case in which the MFP unit  10  executes an application for a job that causes the MFP unit  10  to read an image from a sheet and to save the image in the USB memory and the server unit  20  executes a web browser. The job will be described as a “Scan_To_USB job” and the application will be described as a “scan application”. 
         [0084]    In the MFP unit  10 , the scan application generates screen data  7 A for displaying the scan job screen  6 A and, as shown in  FIG. 7 , the screen data  7 A is transmitted from the internal NIC  10   g  of the MFP unit  10  to the internal NIC  20   f  of the server unit  20 . The scan job screen  6 A allows, for example, scan conditions to be specified, as shown in  FIG. 8 . Conditions for the Scan_To_USB job can also be specified on the scan job screen  6 A. 
         [0085]    In the server unit  20 , the web browser generates screen data  7 B for displaying the browsing screen  6 B. The browsing screen  6 B displays a web page as shown in  FIG. 9 . 
         [0086]    As such, the server unit  20  can obtain either one or both of the screen data  7 A and the screen data  7 B that represent data of the scan job screen  6 A and the browsing screen  6 B, respectively. 
         [0087]    The video board  20   i  rasterizes either one of the screen data  7 A and the screen data  7 B to thereby generate video data  7 C of red, green, and blue (RGB) and transmits the video data  7 C to the video signal interface  30   d  of the touch panel display  30 . It is noted that which one of the screen data  7 A and the screen data  7 B is to be rasterized is determined in advance. For example, the screen data  7 A or the screen data  7 B, whichever has been generated first, is to be rasterized. 
         [0088]    When the video signal interface  30   d  acquires the video data  7 C in the touch panel display  30 , the display  30   a  displays the scan job screen  6 A or the browsing screen  6 B using the video data  7 C. It is noted that, as will be described later, the user can change screens to be displayed on the display  30   a  as appropriate. 
         [0089]    Of the foregoing screens, a screen that is currently displayed by video signal interface  30   d  will hereinafter be referred to as a “current screen”. It is noted that, when both the screen data  7 A and the screen data  7 B have been obtained, the server unit  20  transmits to the touch panel display  30  video data  7 D 1  or  7 D 2  to be described later in place of the video data  7 C. 
         [0090]    The changeover navigator display module  203 , the changeover command detection module  204 , and the screen changeover module  207  change the screens to be displayed on the display  30   a  as follows. 
         [0091]    Specifically, when both the screen data for the screen of the MFP unit  10  (in the present example, the screen data  7 A) and the screen data for the screen of the server unit  20  (in the present example, the screen data  7 B) have been obtained, the changeover navigator display module  203  displays a changeover navigation screen at an upper portion of the screen of the MFP unit  10  or the server unit  20 . 
         [0092]    Specifically, when the current screen is the scan job screen  6 A, the changeover navigator display module  203  disposes the changeover navigation screen  6 D 1  at the upper portion of the scan job screen  6 A as shown in  FIG. 10 . The video board  20   i  is then caused to rasterize image data of the image of the foregoing state and video data  7 D 1  is thereby generated. The video data  7 D 1  is then transmitted from the video board  20   i  to the touch panel display  30 . 
         [0093]    The changeover navigation screen  6 D 1  includes a changeover button  6 Da disposed thereon. The changeover button  6 Da generates a command to switch the current screen to the screen of the server unit  20  (in the present example, the browsing screen  6 B). 
         [0094]    When the current screen is the browsing screen  6 B, the changeover navigator display module  203  disposes the changeover navigation screen  6 D 2  at the upper portion of the browsing screen  6 B as shown in  FIG. 11 . The video board  20   i  is then caused to rasterize image data of the image of the foregoing state and video data  7 D 2  is thereby generated. The video data  7 D 2  is then transmitted from the video board  20   i  to the touch panel display  30 . 
         [0095]    The changeover navigation screen  6 D 2  includes a changeover button  6 Db disposed thereon. The changeover button  6 Db generates a command to switch the current screen to the screen of the MFP unit  10  (in the present example, the scan job screen  6 A). 
         [0096]    When the video signal interface  30   d  acquires the video data  7 D 1  in the touch panel display  30 , the display  30   a  displays the scan job screen  6 A and the changeover navigation screen  6 D 1  using the video data  7 D 1  (see  FIG. 10 ). When the video signal interface  30   d  acquires the video data  7 D 2 , the display  30   a  displays the browsing screen  6 B and the changeover navigation screen  6 D 2  using the video data  7 D 2  (see  FIG. 11 ). 
         [0097]    The touch panel  30   b,  when touched by the user, transmits touch position data  7 E that indicates the position touched by the user to the server unit  20  via the video signal interface  30   d.    
         [0098]    In the server unit  20 , when the video board  20   i  receives the touch position data  7 E from the touch panel display  30  and when a position indicated by the touch position data  7 E (hereinafter referred to as a “touch position”) is the position of the changeover button  6 Da or the changeover button  6 Db, the changeover command detection module  204  detects a changeover command. 
         [0099]    When the touch position is any position other than the position of the changeover button  6 Da or the changeover button  6 Db (e.g., a position of an object disposed in the scan job screen  6 A or the browsing screen  6 B), ordinary processing is performed. 
         [0100]    Specifically, when the touch position is the position of an object disposed in the browsing screen  6 B, the touch position data  7 E is passed onto the web browser. The web browser then performs processing corresponding to the object (e.g., moving to a web page). 
         [0101]    Alternatively, when the touch position is the position of an object disposed in the scan job screen  6 A, the touch position data  7 E is transmitted to the MFP unit  10  via the internal NIC  20   f.  When the internal NIC  10   g  receives the touch position data  7 E in the MFP unit  10 , the scan application performs processing corresponding to the object (e.g., displaying an address book, or the Scan_To_USB job). 
         [0102]    When, in the server unit  20 , the changeover command detection module  204  detects the changeover command, processing to switch the current screen is performed by the screen changeover module  207  as follows. 
         [0103]    When the current screen is the scan job screen  6 A, the screen changeover module  207  causes the video board  20   i  to rasterize the screen data  7 B in place of the screen data  7 A to thereby generate the video data  7 C and causes the video board  20   i  to transmit the video data  7 C to the touch panel display  30 . The foregoing step results in the browsing screen  6 B being displayed on the display  30   a.  Specifically, the current screen is switched from the scan job screen  6 A to the browsing screen  6 B. 
         [0104]    When the current screen is the browsing screen  6 B, the screen changeover module  207  causes the video board  20   i  to rasterize the screen data  7 A in place of the screen data  7 B to thereby generate the video data  7 C and causes the video board  20   i  to transmit the video data  7 C to the touch panel display  30 . The foregoing step results in the scan job screen  6 A being displayed on the display  30   a.  Specifically, the current screen is switched from the browsing screen  6 B to the scan job screen  6 A. 
         [0105]    The changeover navigator display module  203  performs the foregoing processing so that the changeover navigation screen  6 D 1  or the changeover navigation screen  6 D 2  appears at the upper portion of the new current screen. 
         [0106]    The foregoing processing performed by the screen changeover module  207  and the changeover navigator display module  203  switches the screen displayed on the display  30   a  from the state shown in  FIG. 10  to the state shown in  FIG. 11 , or vice versa. 
         [0107]    When the USB memory  4  is inserted in the peripheral device interface  20   g,  however, the current screen may not be switched immediately. The following describes processing to be performed when the USB memory  4  is inserted in the peripheral device interface  20   g.    
         [0108]    When the changeover command detection module  204  detects a changeover command, the use status inquiry module  205  inquires of the operating system of the server unit  20  about a current use status of the USB memory  4 . The use status inquiry module  205  thereby acquires status data  7 F that indicates the current use status from the operating system. 
         [0109]    The status data  7 F indicates either one of “in use” and “idling”. The status “in use” indicates that data is being exchanged between the USB memory  4  and the peripheral device interface  20   g  or that a file stored in the USB memory  4  is being used. 
         [0110]    The status “idling” indicates that neither data is being exchanged nor files are being used. Specifically, the status “idling” indicates that the USB memory  4  can immediately be removed from the peripheral device interface  20   g.    
         [0111]    When the status data  7 F indicates “idling”, the screen changeover module  207  immediately performs the processing to switch the current screen through the procedure described above. In addition, the changeover navigator display module  203  performs the processing to display the changeover navigation screen  6 D 1  or the changeover navigation screen  6 D 2  through the procedure described above. 
         [0112]    When the status data  7 F indicates “in use”, the use status inquiry module  205  inquires of the operating system, at regular intervals (e.g., every 1 sec. to several sec.), about the current use status of the USB memory  4  to thereby acquire the status data  7 F. This inquiry allows the current status of the USB memory  4  to be monitored. 
         [0113]    When the status of the USB memory  4  remains “in use” and a predetermined command is input by the user, the directory information display module  206  reads the directory information  5 A from the directory information storage module  202 . The directory information display module  206  displays the directory information  5 A in place of the current screen on the display  30   a.    
         [0114]    The directory information display module  206  generates image data of the directory screen  6 G as shown in  FIG. 12  using the directory information  5 A. The directory screen  6 G is an image representing a tree structure of the directories. 
         [0115]    The directory information display module  206  causes the video board  20   i  to rasterize the image data to thereby generate video data  7 G and causes the video board  20   i  to transmit the video data  7 G to the touch panel display  30 . 
         [0116]    Then in the touch panel display  30 , the video signal interface  30   d  receives the video data  7 G and, on the basis of the video data  7 G, the touch panel  30   b  displays the directory screen  6 G. 
         [0117]    When the USB memory  4  enters the idling state, the screen changeover module  207  performs processing to switch the current screen and the changeover navigator display module  203  performs processing to display the changeover navigation screen  6 D 1  or the changeover navigation screen  6 D 2  through the foregoing procedure. The performance of the processing switches the screen displayed on the display  30   a  from the state shown in  FIG. 10  to the state shown in  FIG. 11 , or vice versa. 
       Control of Access to USB Memory  4   
       [0118]    As described above, the USB memory  4  is shared between the MFP unit  10  and the server unit  20 . 
         [0119]    When attempts are simultaneously made to use the USB memory  4  by the MFP unit  10  and the server unit  20 , however, the MFP unit  10  and the server unit  20  may each undesirably issue a command to perform conflicting processing. 
         [0120]    Thus, the access control module  208  controls, for example, the USB memory  4  and the peripheral device interface  10   h  as follows so that either one of the MFP unit  10  and the server unit  20  is selected and entitled to use the USB memory  4 . 
         [0121]    When the current screen is the screen of the server unit  20  (in the present example, the browsing screen  6 B), the access control module  208  controls, for example, the USB memory  4  and the peripheral device interface  10   h  so that the server unit  20  can use the USB memory  4 . 
         [0122]    Specifically, when an event requiring access to the USB memory  4  occurs in the server unit  20 , the access control module  208  exchanges data with the USB memory  4  via the peripheral device interface  20   g.    
         [0123]    When, for example, the web browser performs an operation to save a file downloaded from a cloud server in the USB memory  4 , the access control module  208  writes the file in the USB memory  4  via the peripheral device interface  20   g.    
         [0124]    When, for example, the web browser performs an operation to specify a file to be uploaded to the cloud server, the access control module  208  reads the file from the USB memory  4  via the peripheral device interface  20   g  and passes the file onto the web browser. 
         [0125]    The access control module  208 , however, rejects a request for access to the USB memory  4 , received from the MFP unit  10  via the transfer interface  20   h.    
         [0126]    When the current screen is the screen of the MFP unit  10  (in the present example, the scan job screen  6 A), the access control module  208  manages the USB memory  4  so that the MFP unit  10  can use the USB memory  4 . At this time, the server unit  20  has a function as a client device. 
         [0127]    Specifically, when an event requiring access to the USB memory  4  occurs in the MFP unit  10 , a request for processing corresponding to the event (e.g., writing, viewing, deleting, moving, or updating a file; creating, viewing, or deleting a directory, or the like) is made to the server unit  20  via the peripheral device interface  10   h.    
         [0128]    When, in the server unit  20 , the transfer interface  20   h  receives the request, the access control module  208  performs processing with respect to the USB memory  4  in accordance with the request. 
         [0129]    When, for example, an operation is performed to save in the USB memory  4  the file of an image generated by the scan application, the scan unit  10   i,  and the like, a write request and the file are transmitted from the MFP unit  10  to the transfer interface  20   h  via the peripheral device interface  10   h.    
         [0130]    The access control module  208  then writes the file in the USB memory  4  via the peripheral device interface  20   g.    
         [0131]    When, for example, an operation is performed in the MFP unit  10  to specify the file of an image to be printed by a print application, the access control module  208  reads the file from the USB memory  4  via the peripheral device interface  20   g.  The transfer interface  20   h  then transfers the file to the MFP unit  10 . 
         [0132]    However, the access control module  208  does not access the USB memory  4  even when an event requiring access to the USB memory  4  occurs in an application of the server unit  20 . 
         [0133]      FIGS. 13 to 15  are sequence diagrams illustrating exemplary steps performed by each unit in a specific example. 
         [0134]    The following describes, with reference to  FIGS. 13 to 15 , specific examples of processing performed by each of the MFP unit  10 , the server unit  20 , and the touch panel display  30  when the user accesses the USB memory  4  using each of the scan application and the web browser. 
         [0135]    The user inserts the USB memory  4  into the port of the peripheral device interface  20   g.  The insertion causes the server unit  20  to acquire the directory information  5 A from the USB memory  4  (# 701  in  FIG. 13 ) and to store the directory information  5 A (# 702  in  FIG. 13 ). 
         [0136]    The server unit  20  starts the web browser (# 703  in  FIG. 13 ) and then starts transmitting to the touch panel display  30  data for display of the browsing screen  6 B (see  FIG. 9 ) (# 704  in  FIG. 13 ). Specifically, the server unit  20  starts processing to generate the video data  7 C by rasterizing the data of the browsing screen  6 B, specifically, the screen data  7 B and to transmit the video data  7 C to the touch panel display  30 . 
         [0137]    The touch panel display  30  receives the video data  7 C (# 731  in  FIG. 13 ) and displays the browsing screen  6 B using the video data  7 C (# 732  in  FIG. 13 ). 
         [0138]    Each time the user touches the touch panel  30   b,  the touch panel display  30  detects the touch position (# 733  in  FIG. 13 ) and transmits, as the touch position data  7 E, data that indicates the touch position to the server unit  20  (# 734  in  FIG. 13 ). 
         [0139]    Each time the touch position data  7 E is received (# 705  in  FIG. 13 ), the server unit  20  determines the object corresponding to the position indicated by the touch position data  7 E (touch position) in the screen that is currently displayed on the touch panel display  30  and performs processing in accordance with the object (# 706  in  FIG. 13 ). When the current screen is the screen of the MFP unit  10  (in the present example, the scan job screen  6 A) and includes the object corresponding to the touch position, the server unit  20  transmits the touch position data  7 E to the MFP unit  10 . The foregoing holds for subsequent steps in the sequence diagrams shown in  FIGS. 13 to 15 . At Step # 706 , when the object is a hyperlink, for example, the linked webpage is downloaded and displayed. 
         [0140]    The MFP unit  10  starts the scan application (# 761  in  FIG. 13 ) and then starts transmitting to the server unit  20  data for display of the scan job screen  6 A (see  FIG. 8 ), specifically, the screen data  7 A (# 762  in  FIG. 13 ). 
         [0141]    The server unit  20  receives the screen data  7 A (# 707  in  FIG. 13 ). The reception allows the server unit  20  to acquire data of both the scan job screen  6 A and the browsing screen  6 B. 
         [0142]    Then, the server unit  20  generates data for an image that contains the changeover navigation screen  6 D 2  disposed above the browsing screen  6 B as shown in  FIG. 11 . The server unit  20  rasterizes the data to thereby generate the video data  7 D 2  and transmits the video data  7 D 2  to the touch panel display  30  (# 708  in  FIG. 13 ). 
         [0143]    The touch panel display  30 , having received the video data  7 D 2  (# 735  in  FIG. 13 ), displays the browsing screen  6 B and the changeover navigation screen  6 D 2  as shown in  FIG. 11  using the video data  7 D 2  (# 736  in  FIG. 14 ). 
         [0144]    The user performs an operation to upload a file  5 B stored in the USB memory  4  to the cloud server. 
         [0145]    Then, the touch panel display  30  detects the touch position (# 737  in  FIG. 14 ) and transmits, as the touch position data  7 E, data that indicates the touch position to the server unit  20  (# 738  in  FIG. 14 ). 
         [0146]    The server unit  20 , having received the touch position data  7 E (# 709  in  FIG. 14 ), determines processing to be performed on the basis of the touch position data  7 E and performs the processing (# 710  and # 711  in  FIG. 14 ). In this example, the server unit  20  reads the file in question from the USB memory  4  (# 710  in  FIG. 14 ) and uploads the file to the cloud server (# 711  in  FIG. 14 ). 
         [0147]    To achieve the next purpose, the user attempts to switch to the scan job screen  6 A by touching the changeover button  6 Db in the changeover navigation screen  6 D 2 . 
         [0148]    Then, the touch panel display  30  detects the touch position (# 739  in  FIG. 14 ) and transmits, as the touch position data  7 E, data that indicates the touch position to the server unit  20  (# 740  in  FIG. 14 ). 
         [0149]    The server unit  20 , having received the touch position data  7 E (# 712  in  FIG. 14 ), detects a changeover command using the touch position data  7 E (# 713  in  FIG. 14 ). The server unit  20  then starts checking the current use status of the USB memory  4  (# 714  in  FIG. 14 ). The foregoing step enables the status data  7 F to be obtained regularly. If the USB memory  4  is in use, the server unit  20  waits until the USB memory  4  is idling (# 715  in  FIG. 14 ). 
         [0150]    During the time until the USB memory  4  is idling, the user performs a predetermined operation for searching a file to be used for the next purpose. 
         [0151]    The touch panel display  30  then detects the touch position (# 741  in  FIG. 14 ) and transmits, as the touch position data  7 E, data that indicates the touch position to the server unit  20  (# 742  in  FIG. 14 ). 
         [0152]    It is noted that any specific function key of the operating key group  30   c  may be depressed. In this case, data indicating that specific function key, instead of the touch position data  7 E, is transmitted from the touch panel display  30  to the server unit  20 . 
         [0153]    The server unit  20 , having received the touch position data  7 E or the data indicating the specific function key (# 716  in  FIG. 14 ), generates the video data  7 G on the basis of the directory information  5 A stored at Step # 702  and transmits the video data  7 G to the touch panel display  30  (# 717  in  FIG. 15 ). 
         [0154]    The touch panel display  30 , having received the video data  7 G (# 743  in  FIG. 15 ), displays the directory screen  6 G (see  FIG. 12 ) on the basis of the video data  7 G (# 744  in  FIG. 15 ). 
         [0155]    The server unit  20 , having detected that the USB memory  4  is idling (# 718  in  FIG. 15 ), generates data for an image that contains the changeover navigation screen  6 D 1  disposed above the scan job screen  6 A as shown in  FIG. 10 . The server unit  20  rasterizes the data to thereby generate the video data  7 D 1  and transmits the video data  7 D 1  to the touch panel display  30  (# 719  in  FIG. 15 ). 
         [0156]    The touch panel display  30 , having received the video data  7 D 1  (# 745  in  FIG. 15 ), displays the scan job screen  6 A and the changeover navigation screen  6 D 1  as shown in  FIG. 10  using the video data  7 D 1  (# 746  in  FIG. 15 ). 
         [0157]    The user here performs an operation to scan an image from a sheet and store the image data in the USB memory  4 . 
         [0158]    The touch panel display  30  then detects the touch position (# 747  in  FIG. 15 ) and transmits data indicating the touch position as the touch position data  7 E to the server unit  20  (# 748  in  FIG. 15 ). 
         [0159]    The server unit  20  receives the touch position data  7 E (# 72   0  in  FIG. 15 ). Because the object corresponding to the touch position is included in the current screen, the server unit  20  transfers the touch position data  7 E to the MFP unit  10  (# 721  in  FIG. 15 ). 
         [0160]    The MFP unit  10 , having received the touch position data  7 E (# 7   63  in  FIG. 15 ), determines the object corresponding to the touch position in the scan job screen  6 A and performs processing in accordance with the object (# 764  and # 765  in  FIG. 15 ). Specifically, in the present example, the MFP unit  10  reads an image from a sheet to thereby generate a file  5 C (# 764  in  FIG. 15 ) and transmits to the server unit  20  the file  5 C together with a command to write the file  5 C in the USB memory  4  (# 765  in  FIG. 15 ). 
         [0161]    The server unit  20 , having received the command and the file  5 C (# 722  in  FIG. 15 ), writes the file  5 C in the USB memory  4  in accordance with the command (# 723  in  FIG. 15 ). 
         [0162]      FIGS. 16 and 17  are a flowchart illustrating exemplary general processing performed by the peripheral device manager  20 P. 
         [0163]    The following describes, with reference to the flowchart shown in  FIGS. 16 and 17 , the general processing relating to display of screens and access to the USB memory  4 , performed in the server unit  20 . 
         [0164]    The server unit  20  performs the steps shown in  FIGS. 16 to 17  in accordance with the peripheral device manager  20 P. 
         [0165]    Upon occurrence of an event, the server unit  20  performs processing in accordance with the event. 
         [0166]    The server unit  20 , having detected that a peripheral device that is a storage device (e.g., the USB memory  4 ) is mounted (# 801  in  FIG. 16 ), acquires the directory information  5 A from the peripheral device and stores the directory information  5 A (# 802  in  FIG. 16 ). 
         [0167]    Alternatively, when having acquired both screen data of the server unit  20  and screen data of the MFP unit  10  (YES at # 803  in  FIG. 16 ), the server unit  20  displays the changeover navigation screen  6 D 1  or the changeover navigation screen  6 D 2  together with the current screen on the touch panel display  30  as shown in  FIG. 10 or 11  (# 804  in  FIG. 16 ). 
         [0168]    Alternatively, when having received the touch position data  7 E from the touch panel display  30  (YES at # 805  in  FIG. 16 ), the server unit  20  performs processing as follows in accordance with the object corresponding to the touch position. 
         [0169]    If the object is the changeover button  6 Da, specifically, the object for switching to the screen of the server unit  20  (YES at # 806  and # 807  in  FIG. 16 ), the server unit  20  performs processing as follows. 
         [0170]    The server unit  20  checks the use status of the peripheral device (# 808  in  FIG. 16 ). If the peripheral device is being used (YES at # 809  in  FIG. 16 ), the server unit  20  starts monitoring the use status of the peripheral device (# 810  in  FIG. 16 ). If an operation is performed to request the directory information  5 A before the peripheral device is idling (YES at # 811  in  FIG. 16 ), the server unit  20  displays the directory screen  6 G on the touch panel display  30  (# 812  in  FIG. 16 ). 
         [0171]    If the peripheral device is idling (YES at # 813  in  FIG. 16 ), the server unit  20  prohibits use by the MFP unit  10  (# 814  in  FIG. 16 ) and permits use by the application of the server unit  20  (# 815  in  FIG. 16 ). Then, as shown in  FIG. 11 , the current screen is switched to the screen of the server unit  20  and the changeover navigation screen  6 D 2  is displayed (# 816  in  FIG. 16 ). Even if the peripheral device is not being used (NO at # 809  in  FIG. 16 ), the server unit  20  performs similar processing (# 814  to # 816  in  FIG. 16 ). 
         [0172]    If the object corresponding to the touch position is the changeover button  6 Db, specifically, the object for switching to the screen of the MFP unit  10  (YES at # 806  and NO at # 807  in  FIG. 16 ), the server unit  20  performs processing as follows. 
         [0173]    The server unit  20  checks the use status of the peripheral device (# 817  in  FIG. 16 ). If the peripheral device is being used (YES at # 818  in  FIG. 16 ), the server unit  20  starts monitoring the use status of the peripheral device (# 819  in  FIG. 17 ). If an operation is performed to request the directory information  5 A before the peripheral device is idling (YES at # 820  in  FIG. 17 ), the server unit  20  displays the directory screen  6 G on the touch panel display  30  (# 821  in  FIG. 17 ). 
         [0174]    If the peripheral device is idling (YES at# 822  in  FIG. 17 ), the server unit  20  prohibits use by the application of the server unit  20  (# 823  in  FIG. 17 ) and permits use by the MFP unit  10  (# 824  in  FIG. 17 ). Then, as shown in  FIG. 10 , the current screen is switched to the screen of the MFP unit  10  and the changeover navigation screen  6 D 1  is displayed (# 825  in  FIG. 17 ). Even if the peripheral device is not being used (NO at # 818  in  FIG. 16 ), the server unit  20  performs similar processing (# 823  to # 825  in  FIG. 17 ). 
         [0175]    If the object corresponding to the touch position pertains to the screen of the server unit  20  (NO at # 806  in  FIG. 16  and YES at # 826  in  FIG. 17 ) and if the object corresponds to processing involving interaction with the peripheral device (YES at # 827  in  FIG. 17 ), the server unit  20  accesses the peripheral device and performs the processing (# 828  in  FIG. 17 ). If the object corresponds to processing not involving interaction with the peripheral device (NO at # 827  in  FIG. 17 ), the server unit  20  performs the processing corresponding to the object (# 829  in  FIG. 17 ) without accessing the peripheral device. 
         [0176]    If the object corresponding to the touch position pertains to the screen of the MFP unit  10  (NO at # 806  in  FIG. 16 , NO at # 826  in  FIG. 17 , and YES at # 830  in  FIG. 17 ), the server unit  20  transfers the touch position data  7 E to the MFP unit  10  (# 831  in  FIG. 17 ). Then, the MFP unit  10  performs processing in accordance with the touch position data  7 E. 
         [0177]    When a command is received from the MFP unit  10  (YES at # 832  in  FIG. 17 ), the server unit  20  performs processing in accordance with the command (# 833  in  FIG. 17 ). At this time, the server unit  20  cooperates with the peripheral device to perform the processing as necessary. If data is received from the peripheral device during the processing (YES at # 834  in  FIG. 17 ), the server unit  20  transfers the data to the MFP unit  10  (# 835  in  FIG. 17 ). 
         [0178]    As long as power remains ON (NO at # 836  in  FIG. 17 ), the image forming apparatus  1  performs each of the foregoing processing as appropriate. 
         [0179]    In accordance with the embodiment, the peripheral device can be made easier to use than before in the image forming apparatus  1  that includes the MFP unit  10  and the server unit  20  disposed in a single housing. 
         [0180]    The embodiment has been described for a case in which the USB memory  4  is used as the peripheral device. The present invention can nonetheless be applied to a case in which any other device than the USB memory  4  is used as the peripheral device. The present invention may be applied to, for example, cases in which an input device such as a keyboard, a mouse, a biological information input device, and a card reader is used as the peripheral device. 
         [0181]    In this case, the server unit  20  processes the input data in accordance with the current screen. When, for example, the current screen is the scan job screen  6 A, the server unit  20  transfers the input data to the MFP unit  10 . When the current screen is the browsing screen  6 B, the server unit  20  causes the web browser to process the input data. 
         [0182]    In the embodiment, the current screen is switched after the idling state is reached following the touch of the changeover button  6 Da or the changeover button  6 Db. The current screen may nonetheless be switched before the idling state is reached. In this case, however, the server unit  20  permits the application relating to the new current screen to access the USB memory  4  only after the idling state is reached. 
         [0183]    In the embodiment, two communication paths are provided between the MFP unit  10  and the server unit  20 . Nonetheless, a single communication path may be shared between the MFP unit  10  and the server unit  20 . 
         [0184]    The embodiment has been described for a case in which the USB is used as a peripheral device interface. The interface may nonetheless be a type complying with RS-232C, IEEE1394, or any other standard. 
         [0185]    General or elemental configurations, details of processing performed, sequence in which steps are performed, and screen configurations of the image forming apparatus  1  may be changed as appropriate so as to suit the purpose of the present invention. 
         [0186]    Although embodiments have been described and illustrated in detail, it is clearly understood that the same is by way of illustration and example only and not limitation, the scope of the present invention should be interpreted by terms of the appended claims.