Abstract:
A driver managing method using a driver managing apparatus for managing a driver corresponding to an output device connected through a network, comprising: monitoring a change in a network environment including the presence or absence of a connection to the network; and detecting the output device connected to the network when the connection to the network has been confirmed, and installing the driver corresponding to the detected output device.

Description:
BACKGROUND OF THE INVENTION  
       [0001]     1. Field of the Invention  
         [0002]     The present invention relates to a driver management method and apparatus and a program therefor, more particularly to a driver management method and apparatus and a program therefor for managing drivers of output devices used by a terminal device whose network environment changes, such as a portable terminal device or the like.  
         [0003]     2. Description of the Related Art  
         [0004]     In recent years, opportunities for using output devices such as printers, facsimile machines, and the like through a network have increased in conjunction with the development of network technology.  
         [0005]     On the other hand, opportunities for using portable terminal devices such as notebook type personal computers (PCs), portable information terminals, and the like have also increased recently.  
         [0006]     The portable terminal device has a high possibility that a network environment it uses changes each time the place of use is moved, so that if the network environment changes, the output device used also changes in many cases. For this reason, with the portable terminal device, each time the network environment changes, it becomes necessary to install a driver of the output device used and provide a setting for the installed driver, and these operations have been troublesome for users.  
         [0007]     To overcome such problems, a technique has been proposed in which at the time of the starting of the terminal device, a printer on the network is detected, and a driver corresponding to the detected printer is automatically installed (e.g., refer to Japanese Patent Application Laid-Open No. 2002-366502).  
         [0008]     However, in the technique disclosed in the aforementioned publication Japanese Patent Application Laid-Open No. 2002-366502, since the driver of the printer is already installed at the time of the starting of the terminal device, in a case where the terminal device in its started state is moved to a place of a different network environment, it is impossible to cope with the case. For this reason, when the terminal device is moved to a place of a different network environment, it has been necessary for the user to move the terminal device after cutting off its power supply, or restart the terminal device after the movement.  
       SUMMARY OF THE INVENTION  
       [0009]     Accordingly, it is an object of the present invention to provide a driver management method and apparatus and a program therefor, which make it possible to manage the driver of the output device so that the output device can be used in the network environment after the movement without effecting the restarting or the like of the terminal device.  
         [0010]     To attain the above object, in accordance with an aspect of the present invention, there is provided a driver managing method using a driver managing apparatus for managing a driver corresponding to an output device connected through a network, comprising: monitoring a change in a network environment including the presence or absence of a connection to the network; and detecting the output device connected to the network when the connection to the network has been confirmed, and installing the driver corresponding to the detected output device.  
         [0011]     In accordance with another aspect of the present invention, there is provided a driver managing apparatus for managing a driver corresponding to an output device connected through a network, comprising: a network-environment monitoring unit which monitors a change in a network environment including the presence or absence of a connection to the network; and a connect processing unit which detects the output device connected to the network when the connection to the network has been detected by the network-environment monitoring unit, and installs the driver corresponding to the detected output device.  
         [0012]     In accordance with still another aspect of the present invention, there is provided a driver managing program for managing a driver corresponding to an output device connected through a network, comprising: a network-environment monitoring step for monitoring a change in a network environment including the presence or absence of a connection to the network; and a connect processing step for detecting the output device connected to the network when the connection to the network has been detected in the network-environment monitoring step, and for installing the driver corresponding to the detected output device, wherein a computer executes the network-environment monitoring step and the connect processing step.  
         [0013]     In accordance with the present invention, since the configuration is provided such that a change in the network environment is monitored, and when the connection to the network has been confirmed, the output device on the network is detected, and a corresponding driver is installed, even in a case where the terminal device is moved to a place of a different network environment, it becomes possible for the user to use the output device in the network environment after the movement without performing the installing operation of the driver. 
     
    
     BRIEF DESCRIPTION OF THE DRAWINGS  
       [0014]     Preferred embodiments of the present invention will be described in detail based on the following figures, wherein:  
         [0015]      FIG. 1  is a diagram illustrating an example of the configuration of a network including terminal devices in accordance with the present invention;  
         [0016]      FIG. 2  is a diagram illustrating examples of the configuration of networks;  
         [0017]      FIG. 3  is a block diagram illustrating a functional configuration of a terminal device  3 ;  
         [0018]      FIG. 4  is a flowchart illustrating the flow of operation of the terminal device  3 ;  
         [0019]      FIG. 5  is a flowchart illustrating the flow of connect processing;  
         [0020]      FIG. 6  is a flowchart illustrating the flow of disconnect processing;  
         [0021]      FIGS. 7A and 7B  are diagrams illustrating examples of driver information; and  
         [0022]      FIG. 8  is a flowchart illustrating the flow of connect processing in accordance with a second embodiment; and  
         [0023]      FIG. 9  is a flowchart illustrating the flow of connect processing in accordance with a third embodiment. 
     
    
     DESCRIPTION OF THE PREFERRED EMBODIMENTS  
       [0024]     Referring now to the accompanying drawings, a detailed description will be given of an embodiment of a driver management method and apparatus and a program therefor in accordance with the present invention.  
         [0000]     First Embodiment  
         [0025]      FIG. 1  is a diagram illustrating an example of the configuration of a network including terminal devices in accordance with the present invention. In the example of the configuration shown in the drawing, an output device  1 , a server  2 , a terminal device  3 , a terminal device  4 A, and a terminal device  4 B are connected through a network  5 .  
         [0026]     The output device  1  is an output device such as a printer, a facsimile machine, or the like, and requires the use of a driver when it is used. The server  2  provides various services in the network  5 . The terminal device  3  is one to which the present invention is applied, and the terminal device  3  is used by a user when the output device  1  or the server  2  is used. The terminal devices  4 A and  4 B are similar to the terminal device  3 .  
         [0027]     The terminal device  3  to which the present invention is applied is a portable one, and it is assumed that its connection is allowed in any one of a network  5 A, a network  5 B, a network  5 C, and a network  5 D shown in  FIG. 2 .  
         [0028]     It should be noted that the network  5 A is a network whose network address is “192.168.1.0/24,” i.e., whose usable addresses range from “192.168.1.0” to “192.168.1.255.” An output device  1 A- 1 , an output device  1 A- 2 , an output device  1 A- 3 , an output device  1 A- 4 , and an output device  1 A- 5  are connected to this network  5 A.  
         [0029]     Similarly, the network  5 B is a network whose network address is “192.168.2.0/26” (in the range from “192.168.2.0” to “192.168.2.63”), and an output device  1 B is connected to this network  5 B.  
         [0030]     Further, the network  5 C is a network whose network address is “192.168.2.64/26” (in the range from “192.168.2.64” to “192.168.2.127”), and an output device  1 C- 1  and an output device  1 C- 2  are connected to this network  5 C.  
         [0031]     The network  5 D is a network whose network address is “192.168.2.128/25” (in the range from “192.168.2.128” to “192.168.2.255”), and an output device  1 D- 1 , an output device  1 D- 2 , and an output device  1 D- 3  are connected to this network  5 D.  
         [0032]     In such network configurations, whichever network the terminal device  3  is connected to, the terminal device  3  is capable of readily using the output devices connected to the respective networks.  
         [0033]     Here, a description will be given of the terminal device  3 .  FIG. 3  is a block diagram illustrating a functional configuration of the terminal device  3 . It should be noted that, in  FIG. 3 , those functional parts that are similar to those of the conventional art, i.e., various functional parts for operating as the terminal device, are omitted, and only portions pertaining to the present invention are shown.  
         [0034]     As shown in the drawing, the terminal device  3  is configured by including a network-environment monitoring section  31 , a connect processing section  32 , a disconnect processing section  33 , and a driver-information storing section  34 .  
         [0035]     The network-environment monitoring section  31  monitors the network environment of the terminal device  3 , and detects that the terminal device  3  is newly connected to the network, and that the terminal device  3  is disconnected from the connected network.  
         [0036]     The connect processing section  32  includes a build-in processing unit  35 , a retrieve processing unit  36 , and a restore processing unit  37 . When it is detected by the network-environment monitoring section  31  that the terminal device  3  has been connected to a network, the connect processing section  32  executes connect processing such as the installation of the driver of an output device available in that network. In this connect processing, the build-in processing unit  35  installs the driver; the retrieve processing unit  36  retrieves an available output device; and the restore processing unit  37  restores a driver which was previously installed and is recoverable.  
         [0037]     The disconnect processing section  33  includes a delete processing unit  38  and a save processing unit  39 , and when it is detected by the network-environment monitoring section  31  that the terminal device  3  has been disconnected from a network, the connect processing section  32  executes disconnect processing such as the uninstallation of the driver of the output device which was available in that network. In this disconnect processing, the delete processing unit  38  uninstalls the driver, and the save processing unit  39  saves the uninstalled driver so that it can be restored later.  
         [0038]     The driver-information storing section  34  stores driver information concerning the driver installed by the connect processing section  32  and the driver saved by the disconnect processing section  33 .  
         [0039]     It should be noted that various functional parts of the terminal device  3  shown in  FIG. 3  can be realized by operating the terminal device  3  in accordance with a program. In that case, only the network-environment monitoring section  31  is configured as a functional part which constantly operates, and the connect processing section  32  and the disconnect processing section  33  are configured so as to be appropriately started by the network-environment monitoring section  31 . In addition, as the driver-information storing section  34 , it is possible to made use of an unillustrated storage unit such as a hard disk provided in the terminal device  3 .  
         [0040]     Next, a description will be given of the operation of the terminal device  3 .  FIG. 4  is a flowchart illustrating the flow of operation of the terminal device  3 .  
         [0041]     When the terminal device  3  is started, the network-environment monitoring section  31  starts its operation to monitor a change in the network environment (NO in Step  101 ).  
         [0042]     In a case where the network-environment monitoring section  31  detects a change in the network environment (YES in Step  101 ), and that change is a connection to the network (YES in Step  102 ), the connect processing section  32  executes connect processing (Step  103 ). Then, upon completion of the connect processing by the connect processing section  32 , the network-environment monitoring section  31  monitors again a change in the network environment (NO in Step  101 ). It should be noted that a description will be given later of the connect processing.  
         [0043]     On the other hand, if the network-environment monitoring section  31  detects a change in the network environment (YES in Step  101 ), and that change is a disconnection from the network (No in Step  102 , YES in Step  104 ), the disconnect processing section  33  executes disconnect processing (Step  105 ). Then, upon completion of the disconnect processing by the disconnect processing section  33 , the network-environment monitoring section  31  monitors again a change in the network environment (NO in Step  101 ). It should be noted that a description will be given later of the disconnect processing.  
         [0044]     Next, a description will be given of the operation of the connect processing by the connect processing section  32 .  FIG. 5  is a flowchart illustrating the flow of the disconnect processing.  
         [0045]     Upon starting the connect processing, the connect processing section  32  determines whether or not connection to the connected network was carried out in the past. This determination is made on the basis of whether the network address of the connected network is stored in the driver-information storing section  34 , i.e., whether or not there is a connection history. As a result of it, if there was a past connection to the connected network (YES in Step  131 ), the restore processing unit  37  executes the restore and install processing (Step  132 ), and if there was no connection in the past (NO in Step  131 ), the restore and install processing is not executed.  
         [0046]     The restore and install processing by the restore processing unit  37  is processing for restoring the driver saved in the disconnect processing, which will be described later. It is the processing in which a group of files constituting a driver is fetched from the driver-information storing section  34  and is returned to a location similar to that at the time of installation, and setting information concerning that driver is fetched from the driver-information storing section  34  and a setting is provided for that driver.  
         [0047]     Subsequently, in the connect processing section  32 , the retrieve processing unit  36  effects retrieval of an output device available in the connected network (Step  133 ). As a result of it, if a new output device has been detected, i.e., an output device corresponding to a driver which is not stored in the driver-information storing section  34  and which could not be restored and installed has been detected (YES in Step  134 ), the build-in processing unit  35  newly installs the driver of that output device (Step  135 ). Then, information on the installed driver is stored in the driver-information storing section  34  (Step  136 ), thereby completing the connect processing. It should be noted that in a case where the connected network is a network which has been connected for the first time, all the detected output devices become new output devices.  
         [0048]     Incidentally, if the terminal device  3  does not have a driver to be newly installed, the build-in processing unit  35  fetches the driver from such as the server  2  (or a device corresponding to the server  2 ) and effects installation.  
         [0049]     Next, a description will be given of the disconnect processing by the disconnect processing section  33 .  FIG. 6  is a flowchart illustrating the flow of the disconnect processing.  
         [0050]     When the disconnect processing section  33  starts disconnect processing, the save processing unit  39  first saves the driver (Step  151 ). The driver which is saved is one which corresponds to an output device available in the disconnected network, i.e., a driver which was installed or restored and installed in the connect processing. In the saving of the driver, the group of files constituting that driver is moved to the driver-information storing section  34 , and additionally the setting for that driver is stored in the driver-information storing section  34  as the setting information. However, the group of files constituting the driver need not necessarily be saved. In this case, if the setting information is left stored in the driver-information storing section  34 , in the restore and install processing by the restore processing unit  37  in the aforementioned Step  132  it is possible to restore the using environment of the output device by newly installing the driver and providing a setting based on the setting information.  
         [0051]     Then, in the disconnect processing section  33 , upon completion of the driver save processing by the save processing unit  39 , the delete processing unit  38  uninstalls that driver (Step  152 ), thereby completing the disconnect processing.  
         [0052]     Next, a description will be given of the driver information which is stored in the driver-information storing section  34 .  FIGS. 7A and 7B  are diagrams illustrating examples of the driver information.  
         [0053]     The driver information shown in  FIGS. 7A and 7B  is information which is stored when the connect processing section  32  has newly installed a driver (refer to Step  136  in  FIG. 5 ), and is information which correlates the network and the output device connected to that network. Information indicating the network is information capable of specifying the network, and a network address, for instance, can be used therefor. In addition, information indicating the output device is information capable of specifying the output device, and an IP address, for instance, can be used therefor.  
         [0054]     The driver information shown in  FIG. 7A  is the setting information which is stored (refer to Step  151  in  FIG. 6 ) when the disconnect processing section  33  saved the driver, and it is information indicating settings for the respective drivers. The driver information shown in  FIG. 7B  is used in the restore and install processing at the time of the connect processing.  
         [0055]     By virtue of such a configuration, when, for example, the terminal device  3  is connected for the first time to the network  5 C shown in  FIG. 2 , drivers of the output device  1 C- 1  and the output device  1 C- 2  are newly installed. Subsequently, if the terminal device  3  is connected to the network  5 B, the drivers of the output device  1 C- 1  and the output device  1 C- 2  are saved, and the driver of the output device  1 B is newly installed. Further after that, if the terminal device  3  is connected to the network  5 C, the driver of the output device  1 B is saved, and the drivers of the output device  1 C- 1  and the output device  1 C- 2  are restored and installed.  
         [0000]     Second Embodiment  
         [0056]     In a second embodiment, a description will be given of a case where when, at the time of the connect processing described in the first embodiment, detection is impossible due to such reasons as a cutoff of the power supply of the output device or the removal of the output device itself, the user is requested to confirm whether or not the driver of that output device is to be restored and installed. Accordingly, since configurations other than connect processing are similar to those in the case of the first embodiment, a description will be given here of only the flow of the connect processing.  
         [0057]      FIG. 8  is a flowchart illustrating the flow of connect processing in accordance with the second embodiment.  
         [0058]     When the connect processing section  32  starts the connect processing, the retrieve processing unit  36  first retrieves an output device available in the connected network (Step  231 ).  
         [0059]     Subsequently, by referring to the driver information stored in the driver-information storing section  34 , the connect processing section  32  determines whether or not the connection to the connected network was carried out in the past. As a result of it, if there is a past connection to the connected network (YES in Step  232 ), and if there is an output device which was not detected in Step  231  among the output devices which correspond to this network and whose drivers can be restored and installed (YES in Step  233 ), the connect processing section  32  requests the user to confirm whether or not to restore and install the driver of that output device (Step  234 ). This confirmation is made by a method such as giving a display on an unillustrated display unit of the terminal device  3 .  
         [0060]     If the confirmation is made by the user, the restore processing unit  37  executes the restore and install processing in accordance with the content of confirmation (Step  235 ).  
         [0061]     On the other hand, if there is no output device which was not detected in Step  231  (NO in Step  233 ), the restore processing unit  37  executes the restore and install processing with respect to the drivers corresponding to all the output devices (Step  235 ).  
         [0062]     Upon completion of the restore and install processing, or if there was no past connection to the connected network (NO in Step  232 ), and if an output device which is new in Step  231  has been detected, i.e., an output device corresponding to a driver which is not stored in the driver-information storing section  34  and which could not be restored and installed has been detected (YES in Step  236 ), the build-in processing unit  35  newly installs the driver of that output device (Step  237 ). Then, information on the installed driver is stored in the driver-information storing section  34  (Step  238 ), thereby completing the connect processing.  
         [0000]     Third Embodiment  
         [0063]     In a third embodiment, a description will be given of a case where when plural output devices have been detected at the time of the connect processing described in the first embodiment, an output device to be restored and installed or to be newly installed is selected on the basis of conditions designated in advance. Accordingly, since configurations other than connect processing are similar to those in the case of the first embodiment, a description will be given here of only the flow of the connect processing.  
         [0064]     Here, a description will be given of a case where use is made of the designation of the type of output device, such as color and monochrome, and the selection by the user on each occasion.  
         [0065]      FIG. 9  is a flowchart illustrating the flow of connect processing in accordance with the third embodiment.  
         [0066]     When the connect processing section  32  starts the connect processing, the retrieve processing unit  36  first retrieves an output device available in the connected network (Step  331 ).  
         [0067]     As a result of it, if plural output devices have been detected (YES in Step  332 ), and a condition for selecting the output device has been designated (YES in Step  333 ), and if that condition requires confirmation by the user (YES in Step  334 ), the user is requested to confirm the object device of installation (Step  335 ). The user specifies the output device subject to installation (Step  336 ). This confirmation is made by a method such as giving a display on an unillustrated display unit of the terminal device  3 .  
         [0068]     On the other hand, if the condition for selecting the output device does not require confirmation by the user (NO in Step  334 ), the connect processing section  32  specifies the output device subject to installation in accordance with that condition (Step  336 ).  
         [0069]     Meanwhile, if the condition for selecting the output device has not been designated (NO in Step  333 ), or if plural output devices have not been detected (NO in Step  332 ), all the output devices detected by the retrieve processing unit  36  are specified as being subject to installation (Step  337 ).  
         [0070]     After the output device subject to installation is specified, by referring to the driver information stored in the driver-information storing section  34 , the connect processing section  32  determines whether or not an output device which can be restored and installed is included among the specified output devices, and if an output device which can be restored and installed is included (YES in Step  338 ), the restore processing unit  37  executes the restore and install processing (Step  339 ).  
         [0071]     In addition, if there is an output device which was newly detected in Step  331  among the specified output devices (YES in Step  340 ), the build-in processing unit  35  newly installs the driver of that output device (Step  341 ). Then, information on the installed driver is stored in the driver-information storing section  34  (Step  342 ), thereby completing the connect processing.