Abstract:
An information processing system including a server apparatus and a client apparatus, the server apparatus including: a first storage unit; a first detection unit configured to detect installing of a program; a first conversion unit configured to convert a file including the program into a predetermined form; a first storage control unit configured to store the file in a first storage area; and a transmitting unit configured to transmit the file to the client apparatus, the client apparatus including: a second storage unit; a second storage control unit configured to store the file transmitted from the server apparatus in a second storage area a second detection unit configured to detect storing of the file; a second conversion unit configured to convert the file into an installable form; and an installing unit configured to install the program included in the file in the client apparatus.

Description:
CROSS-REFERENCE TO RELATED APPLICATIONS 
     This application is a continuation patent application of, and claims the benefit of and priority to U.S. patent application Ser. No. 12/372,833 filed on Feb. 18, 2009, now U.S. Pat. No. 8,199,351, which is based on and claims the benefit of priority of Japanese Patent Application No. 2008-039220 filed on Feb. 20, 2008 with the Japanese Patent Office. The entire contents of U.S. patent application Ser. No. 12/372,833 and Japanese Patent Application No. 2008-039220 are hereby incorporated by reference. 
    
    
     BACKGROUND OF THE INVENTION 
     1. Field of the Invention 
     The present invention generally relates to an information processing system constituted by an information processing apparatus including a personal computer, an information processing method of the information processing system, and a computer-readable recording medium having instructions executable by a computer to execute the information processing method. 
     2. Description of the Related Art 
     As an example of an operating system (OS) running in an information processing apparatus such as a computer, there is the Windows (registered trademark) by Microsoft Corporation which includes a function called “Point &amp; Print” (registered trademark, referred to as “P&amp;P” in the following) for enabling plural client personal computers (PCs) (also referred to as “clients” in the following) to use a printer directly connected to a server PC (also referred to as “server” in the following) via a network, or to use the printer as a shared printer which is connected to the network. 
     The P&amp;P is a function which enables a printer driver to be automatically transmitted from the server to the clients and the clients to install the transmitted printer driver. In this way, it becomes possible for each of the clients in the network to use the printer described above without the need to install the printer driver. 
     There is known a printer driver described above which can add a new (or additional) function to the installed printer driver. A small scale program for adding the new function to the printer driver is called a plug-in. 
     However, in the operation of a conventional P&amp;P described above, even if a module of a new plug-in is added and installed to the printer driver of the server, the server does not transmit the module of the new plug-in automatically to each of the clients. In this case, there is a problem that each of the clients cannot use the function of the new plug-in without installing the module of the new plug-in to each of the clients. 
     Recently, an information processing apparatus has been proposed in a Japanese Patent Application Publication No. 2005-208895, in which a module called an add-in installer for adding an add-in corresponding to the plug-in module described above accesses a print service of the OS of the server, registers an additional add-in module for the configuration information of the print service, and copies the add-in module from the server to the printer driver of the client through the print service with respect to the client. 
     However, the information processing apparatus described above needs to add the add-in installer, and further, after an add-in module of the add-in installer is installed, the update of configuration information of the print service of the server and a reboot process of the print service are necessary. Since the print process cannot be performed during the reboot process, it is difficult to add the plug-in to the client in an environment where an interruption of the print service for the client is not permitted. 
     SUMMARY OF THE INVENTION 
     It is a general object of the present invention to provide a novel and useful information processing system, information processing method and computer-readable recording medium, in which the problem described above is minimized. 
     One aspect of the present invention is to provide an information processing system, an information processing method and a computer-readable recording medium, which enable functions of a plug-in added to a driver in a server apparatus to be added and used in a client apparatus without having to re-install the driver in the client apparatus. 
     According to one aspect of the present invention, there is provided an information processing system comprising a server apparatus; and at least one client apparatus coupled to and communicatable with the server apparatus via a network; said server apparatus comprising a first storage apparatus; a first detection unit configured to detect installing of a plug-in file in the first storage apparatus; a first storage area; a first writing unit configured to write binary image data of the plug-in file detected by the first detection unit to the first storage area; and a copy unit configured to copy the binary image data of the plug-in file written in the first storage area by the first writing unit to the client apparatus, said client apparatus comprising a second storage apparatus; a second storage area; a second detection unit configured to detect copying of the binary image data of the plug-in file in the second storage area; a second writing unit configured to write the binary image data of the plug-in file stored in the second storage area in an executable state within the second storage apparatus; and a read unit configured to read the plug-in file written in the second storage apparatus by the second writing unit as a program. 
     According to another aspect of the present invention, there is provided an information processing method comprising detecting installing of a plug-in file in a first storage apparatus within a server apparatus; writing binary image data of the detected plug-in file to a first storage area within the sever apparatus; copying the binary image data of the plug-in file written in the first storage area to a second storage area within at least one client apparatus which is coupled to and communicatable with the server apparatus via a network; detecting copying of the binary image data of the plug-in file in the second storage area; writing the binary image data of the plug-in file stored in the second storage area in an executable state within a second storage apparatus within the client apparatus; and reading the plug-in file written in the second storage apparatus as a program. 
     According to another aspect of the present invention, there is provided a computer-readable recording medium on which a program which, when executed by a computer, causes the computer to perform a process comprising a first detection procedure detecting installing of a plug-in file in a first storage apparatus within a server apparatus; a first writing procedure writing binary image data of the plug-in file detected by the first detection procedure to a first storage area within the server apparatus; a copy procedure copying the binary image data of the plug-in file written in the first storage area by the first writing procedure to at least one client apparatus which is coupled to and is communicable with the server apparatus via a network; a second detection procedure detecting copying of the binary image data of the plug-in file in the second storage area; a second writing procedure writing the binary image data of the plug-in file stored in the second storage area in an executable state within the second storage apparatus; and a read procedure reading the plug-in file written in the second storage apparatus by the second writing procedure as a program. 
     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. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         FIG. 1  is a block diagram showing the structure of an information processing system of an embodiment of the present invention; 
         FIGS. 2A through 2B  are block diagrams respectively showing the functional structures of the printer drivers for a server PC and a client shown in  FIG. 1 ; 
         FIG. 3  is a sequence diagram for explaining a process of the information processing system illustrated in  FIG. 1  enabling the client PC to use the plug-in file of the server PC; 
         FIG. 4  is an illustration indicating a data format which is used when a plug-in file is written in the printer driver setting information storage areas shown in  FIGS. 2A and 2B ; 
         FIG. 5  is a flowchart for explaining a process of the printer driver data plug-in file writing part indicated in  FIG. 2B ; 
         FIG. 6  is an explanatory drawing showing another file format to be used when a plug-in file is written in the printer driver setting information storage areas shown in  FIGS. 2A and 2B ; 
         FIG. 7  is a flowchart for explaining another process of the printer driver data plug-in file writing part indicated in  FIG. 2B ; and 
         FIG. 8  is a sequence diagram of a deletion process which deletes a plug-in file of the client PC in the information processing system shown in  FIG. 1 . 
     
    
    
     DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS 
     In the following, the preferred embodiments for achieving the present invention will be described with accompanying drawings. 
       FIG. 1  is a block diagram showing the structure of an information processing system of an embodiment of the present invention. 
       FIGS. 2A through 2B  are block diagrams showing the functional structures of the printer drivers for a server personal computer (PC) and a client respectively indicated in  FIG. 1 . 
     As indicated in  FIG. 1 , the information processing system includes a server PC  1  which forms a server apparatus, and includes client PCs  2  which form plural client apparatuses. The server PC  1  and each of the client PCs  2  are connected via a network  4  and can perform data communication one another. Also, a printer  3  connected to the network  4  is open to each of the client PCs  2  via the server PC  1  as a shared printer. The server PC  1  performs a function of a print server system, in which the server PC  1  manages print data input from the client PCs  2  and prints the print data using the printer  3 . 
     It should be noted that only a single client PC  2  is presented in  FIG. 1  for the sake of convenience, and the illustration of other client PCs  2  are omitted in  FIG. 1 . 
     The server PC  1  and each of the client PCs  2  may be personal computers, for example. The printer  3  may be any kind of apparatus having a printing function, including a laser printer, a copying apparatus and a multifunction peripheral (MFP). The network  4  may be a communication network including a local area network and the Internet. The server PC  1  is provided with parts including an operating system (OS)  10  and a storage apparatus such as a hard disk drive (HDD)  11 . The operations of the OS  10  are performed by executing control programs stored on the HDD  11  by a microcomputer including a central processing unit (CPU), a read only memory (ROM) and a random access memory (RAM) of the server PC  1 . The OS  10  is a functional part that controls the entire server PC  1 . The OS  10  also includes a printer driver  12 , a printer driver setting information storage area  13 , and a spooler service  14  as functional parts related to printing. 
     By causing the CPU to execute a program according to the present invention, which is included in the control programs described above, the information processing method of the present invention is performed, and each of functions of the information processing system of the present invention is achieved. 
     On the other hand, the client PC  2  includes an OS  20 , a storage apparatus such as a hard disk drive (HDD)  21 . The operation of the OS  20  is performed by executing control programs stored on the HDD  21  by a microcomputer including a CPU, a ROM and a RAM of the client PC  2 . The OS  20  is a functional part that controls the whole client PC  2 . The OS  20  also includes a printer driver  22 , a printer driver setting information storage area  23 , and a spooler service  24  for functional parts of printing similar to the case of the OS  10  described above. 
     The OS  10  and the OS  20  may be, for example, any type of OS including the Windows OS provided by Microsoft Corporation. In the following, descriptions will be given for a case where the Windows OS by Microsoft Corporation is used. 
     In  FIG. 1 , only the functional parts related to printing are indicated, and illustration and description of other functional parts are omitted. 
     The printer drivers  12  and  22  perform print control related to printing, respectively. The printer driver setting information storage areas  13  and  23  are memory areas respectively provided by the OSs  10  and  20 , and are shared by the server PC  1  and the client PC  2 . The printer driver setting information storage areas  13  and  23  correspond to a data area called “printer driver data area” which is a function provided by the printer driver of the Windows. 
     The spooler services  14  and  24  provide transmission of print data generated by each of the printer drivers  12  and  22  to the printer  3 , installation of printer drivers  12  and  22 , and an application program interface (API) for using the P&amp;P function. The printer drivers  12  and  22  execute processes via the API. 
     In the information processing system, the server PC  1  automatically installs the same printer driver installed in the server PC  1  into the client PC  2  by use of the P&amp;P function described above when the client PC  2  makes a setting to use the printer  3  as a shared printer with respect to the server PC  1 . 
     Further, if a plug-in file of the print function is installed in a specific folder within the HDD  11 , the printer driver  12  of the OS  10  of the server PC  1  reads the plug-in file from the specific folder in the HDD  11  and adds the print function by executing the plug-in file when displaying a user interface (UI) with respect to a display part (not shown) or when printing is performed by the printer  3 . 
     Likewise, in the client PC  2 , if a plug-in file of the print function is installed in a specific folder within the HDD  21 , the printer driver  22  of the OS  20  of the client PC  2  reads the plug-in file from the specific folder in the HDD  21  and adds the print function by executing the plug-in file when displaying a UI on a display part (not shown) or when printing is performed by the printer  3  via the server PC  1 . 
     In the Windows by Microsoft Corporation, the plug-in file described above is generally provided in the form of a module called a dynamic link library (DLL). When reading and using the DLL within the programs of the printer drivers  12  and  22 , the DLL cannot be used if the DLL merely exists as a memory image, and there is a requirement that the DLL must be written on hard disks of the HDDs  11  and  22 . 
     Information necessary for the operation of a printer driver developed by each printer manufacturer of the printer to be used by a computer operating on the Windows OS can be registered at any time in the printer driver setting information storage areas  13  and  23 . 
     Normally, the printer driver setting information storage areas  13  and  23  are used to store the setting information of a printer driver user interface (UI), however, there is no restriction on the information storable in the printer driver setting information storage areas  13  and  23 . 
     Further, under the P&amp;P environment of the OS  10  and the OS  20 , a synchronizing process is performed so that the same information is held in the printer driver setting information storage areas  13  and  23  of the server PC  1  and the client PC  2 . 
     In the information processing system, information (data) stored in the printer driver setting information storage area  13  of the server PC  1  is automatically transmitted to the client PC  2  by the process of the spooler service  14  under the control of the OS  10 , and is copied to the printer driver setting information storage area  23  by the spooler service  24  of the client PC  2 . Therefore, the printer drivers  12  and  22  can always perform the print control by referring the same content of printer driver setting information. 
     Further, when the plug-in file  15  is installed in the specific folder within the HDD  11 , the printer driver  12  of the server PC  1  writes the plug-in file  15  in the printer driver setting information storage area  13  as binary image data, and thereafter copies the binary image data of the plug-in file  15  to the printer driver setting information storage area  13  to the driver setting information storage area  23  of the client PC  2  by the synchronizing process described above. 
     On the other hand, the printer driver  22  of the client PC  2  writes the binary image data of the plug-in file  15  copied to the printer driver setting information storage area  23  by the server PC  1  to the specific folder in the HDD  21  as an executable file. 
     In this manner, similar to the server PC  1 , the plug-in can be used in the client PC  2  by performing a module reading process with respect to the plug-in file  25  stored in the specific file within the HDD  21 . 
     Accordingly, it becomes possible for client PCs to use the same plug-in file as that of the server PC by merely installing the plug-in file to the server PC, in an environment where only the functions of printer drivers initially provided by the operating system (OS) are available for use. 
     Next, a description will be given of a process of the information processing system which enables the plug-in file of the server PC  1  to be also used by the client PC  2 . 
       FIG. 3  is a sequence diagram for explaining a process of the information processing system illustrated in  FIG. 1  which also enables the client PC  2  to use the plug-in file of the server PC  1 . 
     When a UI display part  40  starts displaying a UI display on a display part (not shown) or when a plotting data forming part  44  performs a print process in step S 1 , the printer driver  22  of the client PC  2  transmits a PDD (printer driver data) update request which request updating of the printer driver setting information storage area  23  to the server PC  1  by the spooler service  24  (indicated as “SS 24 ”) in step S 2 . 
     When the server PC  1  receives the PDD update request transmitted from the client PC  2  by the spooler service  14  (indicated as “SS 14 ”) in step S 3 , the spooler service  14  transmits the PDD update request to the printer driver  12 . When the printer driver  12  receives the PDD update request, the printer driver  12  detects whether a plug-in file (indicated as “PIF” in  FIG. 3 ) is stored in the specific folder within the HDD  11  in step S 4  by a plug-in file detection part  31  (indicated as “PIF detection part  31 ”). This plug-in file detection part  31  forms a first detection unit which detects installing of a plug-in file in the HDD  11 . 
     When the plug-in file detection part  31  detects that the plug-in file  15  of the printer driver  12  is installed in the specific folder within the HDD  11 , the plug-in file detection part  31  transmits a write request to a writing part  33  (indicated as “PIF-PDD writing part  33 ”) to request writing of the plug-in file to the printer driver setting information storage area  13 . The writing part  33  forms a first writing unit which writes binary image data of the plug-in file detected by the plug-in file detection part  31  to the printer driver setting information store area  13 . 
     When the write request requesting the writing of the plug-in file is received from the plug-in file detection part  31 , the writing part  33  reads the plug-in file  15  which is installed in the specific folder within the HDD  11  in the form of the binary image data and writes the binary image data of the plug-in file  15  in the printer driver setting information storage area  13  in step S 5 . 
     The UI display part  40  of the client PC  2  displays the end of the PDD update in step S 6 . 
     Further, the binary image data of the plug-in file  15  written in the printer driver setting information storage area  13  are also copied to the printer driver setting information storage area  23  of the client PC  2  by the function of the spooler service  14 . This spooler  14  forms a copy unit which copies the binary image data of the plug-in file written in the printer driver setting information storage area  13  to the printer driver setting information store area  23 . 
     In step S 7 , the UI display part  40  of the printer driver  22  of the client PC  2  transmits a PIF confirmation request to a printer driver data detection part  41 , and indicated as “PDD detection part  41 ”). This printer driver data detection part  41  forms a second detection unit which detects copying of the binary image data of the plug-in file in the printer driver setting information storage area  23 . When the PIF confirmation request is received from the UI display part  40 , the printer driver data detection part  41  detects whether the binary image data of the plug-in file  15  are copied and stored in the printer driver setting information storage area  23  in step S 8 . When the printer driver data detection part  41  detects that the binary image data of the plug-in file  15  are stored in the printer driver setting information store area  23 , the printer driver data detection part  41  transmits a write request to a writing part  43  (indicated as “PDD-PIF writing part  43 ”). This writing part  43  forms a second writing unit which writes the binary image data of the plug-in file stored in the printer driver setting information storage area  23  in an executable state within the HDD  21 . 
     When the write request is received from the printer driver data detection part  41 , the writing part  43  reads the binary image data of the plug-in file  15  stored in the printer driver setting information storage area  23 , and writes the binary image data of the plug-in file  15  in the specific folder within the HDD  21  in step S 9  so that the binary image data are usable by the printer driver  22  as a plug-in  25 . Therefore, the plug-in file  25  executable by the printer driver  22  is installed in the HDD  21 . 
     Further, in step S 10 , the UI display part  40  of the printer driver  22  transmits a PIF read request to a plug-in file read part  42  (indicated as “PIF read part  42 ”). This plug-in file read part  42  forms a read unit which reads the plug-in file written in the HDD  21  by the writing part  43  as a program. When the PIF read request is received from the UI display part  40 , the plug-in file read part  42  reads (or loads) the data of the plug-in file  25  from the specific folder within the HDD  21  as a program to be executed by the printer driver  22  in step S 11 . The plug-in file read part  42  does not perform an operation if there is no plug-in file stored in the specific folder within the HDD  21 . 
     By the operation of the printer driver  22 , the functions of the plug-in file can be displayed by the UI display part  40 , and the printer driver  22  can use the function of the plug-in file  15  installed in the server PC  1 . 
     As described above, by merely installing a plug-in into the printer driver of the server PC  1  by only using available functions of printer drivers provided in advance by the OSs  10  and  20  of the server PC  1  and the client PC  2 , it becomes possible for the client PC  2  to use the plug-in of the server PC  1  without having to interrupt the print service with respect to the client PC  2  by rebooting the print service of the server PC  1 . 
     Next, a description will be given of a data format which is used when the writing part  33  as described above writes a plug-in file in the printer driver setting information storage area  13 . 
       FIG. 4  illustrates indicating the data format which is used when the plug-in file is written in the printer driver setting information storage area  13  shown in  FIG. 2 . 
     As shown in  FIG. 4 , the writing part  33  may create a file including, for example, the binary image data of the plug-in file read from the HDD  11 , a file name “PluginFile. DLL”, and a file creation date “xxxx/xx/xx”, and write this file in the printer driver setting information storage area  13 . 
     Further, by the synchronizing process described above, the plug-in file  15  in the printer driver setting information storage area  13  of the server PC  1  is copied to the printer driver setting information storage area  23  of the client PC  2 . 
     In the client PC  2 , the writing part  43  executes the process concerning the file copied in the printer driver setting information storage area  23  by the server PC  1 . 
     First, the writing part  43  writes the plug-in file written in the printer driver setting information storage area  23  on the HDD  21  when there is no plug-in data on the HDD  21 . 
     Next, a description will be given of a case where the plug-in file  25  is already installed in the HDD  21  of the client PC  2 . In this case, it is assumed that the file name and the file creation date of the plug-in file  25  are managed in the HDD  21 . 
       FIG. 5  is a flowchart for explaining a process of the writing part  43  indicated in  FIG. 2 . 
     In step S 21 , the writing part  43  extracts a file name from a plug-in file written in the printer driver setting information storage area  23 . In step S 22 , the writing part  43  searches for a plug-in file in the specific folder within the HDD  21  and having the same file name as the extracted file name. In step S 23 , the writing part  43  determines whether the plug-in file having the extracted file name exists in the specific folder within the HDD  21 . 
     If a file having the extracted file name exists in the specific folder within the HDD  21  (yes) in step S 23 , the writing part  43  extracts the file creation date from the plug-in file written in the printer driver setting information storage area  23  in step S 24 . In step S 25 , a comparison is made between the file creation date of the plug-in file having the extracted file name in the specific folder within the HDD  21  and the extracted file creation date. In step S 26 , it is determined whether the file creation date of the plug-in file written in the printer driver setting information storage area  23  is newer (or more recent) than the creation date of the plug-in file having the extracted file name in the specific folder within the HDD  21 . If the determination result in the step S 26  is no, it is determined in step  27  that an update of the plug-in file written in the printer driver setting information storage area  23  has not been updated, and this process ends without performing the writing process in which the plug-in file written in the printer driver setting information storage area  23  is written in the specific folder within the HDD  21 . 
     On the other hand, if the plug-in file having the extracted file name does not exist according to the determination of step  23  or the file creation date of the plug-in file written in the printer driver setting information storage area  23  is newer than that of the plug-in file having the extracted file name in the specific folder within the HDD  21  according to the determination of step  26 , it is determined that the plug-in file has been updated. In this case, the process proceeds to step S 28  to perform the writing process which writes the binary image data of the plug-in file written in the printer driver setting information storage area  23  in the specific folder within the HDD  21 , and the process ends. 
     In this manner, the comparison is made between the copied file in the printer driver setting information storage area  23  and the plug-in file already written in the HDD  21 , and then the determination is made to determine whether a plug-in file should be newly written. If a plug-in file having the same file name and newer file creation date compared to the copied file in the printer driver setting information storage area  23  which is already installed in the HDD  21 , the writing process from the printer driver setting information storage area  23  is not performed, so that an unnecessary process is omitted. 
     Next, if there are plural plug-in files within the HDD  11 , after creating each file having the data format indicated in  FIG. 4 , and each file may be compressed and combined into a single archive by the writing part  33 , so that a single file is written in the printer driver setting information storage area  13 . In this case, the plural plug-in files can be managed in a small storage area and the increase of the file size can be minimized by the file compression process. The writing part  33  forms a compressing unit which compresses binary image data of a plurality of plug-in files into a single archive when the writing part  33  writes the binary image data to the printer driver setting information storage area  13 . 
     In this case where the file compression process is performed, in the writing part  43  of the client PC  2 , the copied file in the printer driver setting information storage area  23  copied by the server PC  1  is decompressed, and the comparison is made between the file name and the file creation date of each of the files included in the decompressed file and the file name and the file creation date of the plug-in file written in the HDD  21 . If each of the files included in the decompressed file having the same file name as and newer creation date compared to the plug-in file written in the HDD  21  exists in the printer driver setting information storage area  23 , the writing process is performed to add the plug-in file of each of the files in the decompressed file into the HDD  21 . 
     Further, when a plug-in file for each of the different types of OSs is installed in the HDD  11  of the server PC  1 , the plug-in file may be written in the printer driver setting information storage area  13  as a file from which the type of OS is identifiable. In this case, it is possible to install in the client PC  2  only the plug-ins corresponding to the type of the OS running in the client PC  2 . Hence, even when the plural client PCs  2  use different types of OSs, it is possible to make the same type of plug-in usable with respect to all of the client PCs  2 . 
     In the server PC  1 , when the binary image data of a plug-in file are written into the printer driver setting information store area  13 , identification information which identifies a target OS with respect to the plug-in file may be added. 
       FIG. 6  is an explanatory drawing showing another data format to be used when a plug-in file is written in the printer driver setting information storage areas  13  and  23  shown in  FIGS. 2A and 2B . 
     As shown in  FIG. 6 , the writing part  33  may create a file including, for example, the binary image data of the plug-in file read from the HDD  1 , a file name “PluginFile.DLL”, a file creation date “xxxx/xx/xx”, and target OS information “Windows2000”, and write this file in the printer driver setting information storage area  13 . 
     Further, after plug-in files are created based on the format described above for every plural target OSs, each file is combined and compressed into a single archive, so that a single file is written in the printer driver setting information storage area  13 . 
     According to the synchronizing process described above, the plug-in file in the printer driver setting information storage area  13  of the server PC  1  is copied to the printer driver setting information storage area  23  of the client PC  2 . 
     In the client PC  2 , the writing part  43  executes a process concerning the file copied in the printer driver setting information storage area  23 . 
     In the following, a description will be given of a process which installs a plug-in file corresponding to the OS operated in the client PC  2 . 
       FIG. 7  is a flowchart for explaining another process of the writing part  43  indicated in  FIG. 2B . 
     A description will be given of a case where plug-in files written in the printer driver setting information storage area  23  including files which correspond to plural types of OSs. 
     The writing part  43  acquires information of the type of the OS the client PC  2  by use of the API (Application Program Interface) provided by the OS in step S 31  (indicated as “S 31 ”), and extracts the information of the target OS from the plug-in file written in the printer driver setting information storage area  23  in step S 32 . In step S 33 , the writing part  43  compares between the acquired information of the OS type described above and the extracted information of the target OS described above, and determines whether the acquired information and the extracted information match each other in step S 34 . 
     If the determination of step S 34  determines a mismatch exists, the process of step S 36  determines whether each of the plural files concerning the OS in the plug-in file written in the printer driver setting information storage area  23  have been referred for all of the plural files concerning the OS. If all of the plural files have been referred, then the process is completed. If all of the plural files have not been referred, the process returns to step S 32  and continues the comparison process described above. 
     Further, if the determination of step S 34  determines to be match, then the matched plug-in file written in the printer driver setting information storage area  23  is written as an executable form in the specific folder within the HDD  21  with the writing process. The process is completed then. 
     Further, although comparison of file creation date is not performed in the above process, the writing process (plug-in file writing process) is performed only when the file creation date of the plug-in file written in the printer driver setting information storage area  23  is newer than that of the plug-in file installed in the HDD  21 , in a similar manner to the process shown in  FIG. 5 . 
     In this way, the writing part  43  of the client PC  2  acquires the type of the OS of the client PC  2  and compares the type of the OS of the client PC  2  with the target OS of the plug-in file copied in the printer driver setting information storage area  23 . The writing part  43  writes only the plug-in file of the type of the OS corresponding to the OS of the client PC  2  in the specific folder within the HDD  21  as executable plug-in file by use of the writing process. 
     Accordingly, the plug-in file corresponding to the OS of the client PC  2  can be installed. 
     Next, a description will be given for a deletion process of the plug-in file of the information processing system. 
     In a plug-in file deletion process, if the plug-in file detection part  31  detects that a plug-in file written in the specific folder within the HDD  11  is deleted, then the binary image data of the plug-in file corresponding to the plug-in file written in the printer driver setting information storage area  13  is deleted by use of the writing part  33 , and the printer driver  12  of the server PC  1  copies the content of the printer driver setting information storage area  13  to the printer driver setting information storage area  23  of the client PC  2  by the synchronizing process described above. The writing part  33  forms a first deletion unit which detects deletion of a plug-in file installed in the HDD  11 , and deletes from the printer driver setting information storage area  13  a plug-in file corresponding to the plug-in file deleted from the HDD  11 . As a result, the binary image data of the plug-in file deleted from the printer driver setting information storage area  13  is also deleted from the printer driver setting information storage area  23 . 
     Further, in the printer driver data detection part  41  of the client PC  2 , an update of the content of the printer driver setting information storage area  23  is detected, and the writing part  43  deletes the plug-in file corresponding to the deleted binary image data of the plug-in file in the printer driver setting information storage area  23  from the specific folder of the HDD  21 . 
       FIG. 8  is a sequence diagram of a deletion process which deletes a plug-in file of the client PC  2  in the information processing system shown in  FIG. 1 . 
     When the UI display part  40  starts displaying a UI display on the display part (not shown) in step S 41  (indicated as “S 41 ”) or when the plotting data forming part  44  performs a print process, the printer driver  22  of the client PC  2  transmits an update request (indicated as “PDD update request transmission”) to the server PC  1  by the spooler service  24  (indicated as “SS 24 ”) in step S 42 . 
     When the server PC  1  receives the PDD update request transmitted from the client PC  2  by the spooler service  14  (indicated as “SS 14 ”) in step S 43 , the spooler service  14  transmits the PDD update request to the printer driver  12 . When the printer driver  12  receives the PDD update request, the printer driver  12  detects whether a plug-in file (indicated as “PIF”) in the specific folder within the HDD  11  is deleted by use of the plug-in file detection part  31  (indicated as “PIF detection part  31 ”) in step S 44 . 
     When the plug-in file detection part  31  detects that the plug-in file  15  of the printer driver  12  in the specific folder within the HDD  11  is deleted, the plug-in file detection part  31  transmits a plug-in file deletion request for the printer driver setting information storage area  13  to the writing part  33  (indicated as “PIF-PDD writing part  33 ”). 
     When the writing part  33  receives the plug-in file deletion request from the plug-in file detection part  31 , the writing part  33  deletes the binary image data of the plug-in file corresponding to the plug-in file  15  deleted from the specific folder of the HDD  11  from the printer driver setting information storage area  13 , and renews the content of the printer driver setting information storage area  13  in step S 45 . 
     The UI display part  40  of the client PC  2  displays “PDD update completion” in step S 46 . Further, the renewed content of the printer driver setting information storage area  13  is copied to the printer driver setting information storage area  23  of the client PC  2  by the function of the spooler service  14 . As a result, the printer driver setting information storage area  13  and the printer driver setting information storage area  23  have the same content. Accordingly, the binary image data of the plug-in file corresponding to the deleted binary image data of the plug-in file in the printer driver setting information storage area  13  is also deleted from the printer driver setting information storage area  23 . 
     In step S 47 , the UI display part  40  of the printer driver  22  of the client PC  2  transmits a PIF confirmation request to the printer driver data detection part  41  (indicated as “PDD detection part  41 ”). When the printer driver data detection part  41  receives the PIF confirmation request from the UI display part  40 , the printer driver data detection part  41  detects whether the binary image data of the plug-in file in the printer driver setting information storage area  23  is deleted in step S 48 . When the printer driver data detection part  41  detects deletion, the printer driver data detection part  41  transmits a plug-in file deletion request to the writing part  43  (indicated as “PDD-PIF writing part  43 ”). 
     When the plug-in file deletion request is received from the printer driver data detection part  41 , the writing part  43  deletes the plug-in file corresponding to the binary image data of the plug-in file deleted from the printer driver setting information storage area  23  from the specific folder of the HDD  21  in step S 49 . This writing part  43  forms a second deletion unit which detects deletion of the binary image data of the plug-in file stored in the printer driver setting information storage area  23 , and deletes from the HDD  21  a plug-in file corresponding to the plug-in file deleted from the printer driver setting information storage area  23 . 
     Further, if no plug-in file is deleted from the specific folder of the HDD  21 , then the PIF read part  42  does not perform an operation. 
     In this way, the plug-in file corresponding to that deleted from the server PC  1  can be also deleted automatically from the client PC  2 . 
     Further, the process, which the printer driver  12  of the server PC  1  as described above writes the binary image data of the plug-in file in the printer driver setting information storage area  13 , may be performed by an installer installing a plug-in file on the HDD  11  of the server PC  1  when the plug-in file is installed in the specific folder within the HDD  11 . 
     The information processing system, the information processing method and the computer-readable recording medium according to the present invention can be applied to most apparatuses which include personal computer using printer drivers. 
     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.