Abstract:
A communication apparatus can be easily adapted to perform communication according a new protocol. A communication management part determines whether or not the equipment is communicable according to a protocol supported by the communication apparatus. When the equipment is determined to be incapable of communicating with the communication apparatus according to the protocol supported by the communication apparatus, the communication management part acquires a communication procedure from an external apparatus connected to the network so that the communication apparatus communicates with the equipment in accordance with the acquired communication procedure.

Description:
BACKGROUND OF THE INVENTION  
       [0001]     1. Field of the Invention  
         [0002]     The present invention generally relates to communication techniques and, more particularly, to a communication apparatus which communicates with other apparatuses and a communication control method and program for controlling a communication apparatus and a recording medium storing the communication control program.  
         [0003]     2. Description of the Related Art  
         [0004]     Equipments such as a printer, a facsimile and a copy machine in recent years are capable of being connected directly to a network. Among such equipments, there are equipments that are capable of providing various kinds of information such as status information or attribute information of the equipment through the network.  
         [0005]     However, since there is a case where protocols supported by the equipments differ from equipment to equipment, an application that acquires information from a plurality of equipments must perform communication with each of the equipments according to a protocol corresponding to the respective equipments.  
         [0006]      FIG. 1  is an illustration showing a conventional relationship between an application and protocols. In  FIG. 1 , applications  501 ,  502  and  503  are separate applications, each of which has a different source cord. Each of the applications  501 ,  502  and  503  has a function to acquire information from equipments.  FIG. 1  conceptually illustrates that SNMPv1, SNMPv2, SOAP1.1 and SOAP1.2 are mounted to each of the applications  501 ,  502  and  503 , that is, mounting for calling API corresponding to each protocol is made. Namely, according to the conventional technique, a process depending on each protocol is mounted on an individual application basis.  
         [0007]     However, in the form shown in  FIG. 1 , if it is required to correspond to a new protocol on the application side such as a case in which a new equipment is added to a network or a case in which a version of a protocol of an existing equipment is upgraded, a work for adapting to the new protocol, that is, a work such as a correction of a source code, compiling and linking must be needed.  
         [0008]     Generally, as a method of avoiding such an inconvenience, it is considered to adopt a structure such as shown in  FIG. 2 .  FIG. 2  is an illustration showing an example in which a layer providing an interface common to a plurality of applications is provided.  
         [0009]     In  FIG. 2 , a common interface module  511  absorbs processes depending on each protocol, and provides a function interface, which is made by abstracting or commonizing a plurality of application program interfaces (APIs) that differ from protocol to protocol, to each of the applications  501 ,  502  and  503 . Therefore, each of the applications  501 ,  502  and  503  is capable of acquire information from equipments by calling the function interface provided by the common interface module  511  without being aware of a difference in protocols.  
         [0010]     It should be noted that the Japanese Laid-Open Patent Application NO. 2000-76033 discloses a technique to acquire information from each of a plurality of equipments using a protocol different for each equipment.  
         [0011]     However, even if the structure shown in  FIG. 2  is adopted, in order to cope with a new protocol, a work for a correction of a source code and compiling and linking of the source code of the common interface module  511  is needed. Since only the common interface module  511  is corrected in the case of  FIG. 2 , a work load is reduced as compared to the case where a correction is needed for each application. However, it is desirable to avoid carrying out the compiling and linking on an existing part as much as possible. This is because compiling and linking may cause deterioration of a quality of an existing part, which requires a test work being applied again to the existing part.  
       SUMMARY OF THE INVENTION  
       [0012]     It is a general object of the present invention to provide a communication apparatus in which the above-mentioned problems are eliminated.  
         [0013]     A more specific object of the present invention is to provide a communication apparatus which can be easily adapted to perform communication according a new protocol.  
         [0014]     In order to achieve the above-mentioned objects, there is provided according to one aspect of the present invention a communication apparatus configured and arranged to be connected to a network to which an equipment is connected, the communication apparatus comprising: a communication management part that determines whether or not the equipment is communicable according to a protocol supported by the communication apparatus, and when the equipment is determined to be incapable of communicating with the communication apparatus according to the protocol supported by the communication apparatus, the communication management part acquires a communication procedure from an external apparatus connected to the network so that the communication apparatus communicates with the equipment in accordance with the acquired communication procedure.  
         [0015]     According to the above-mentioned invention, the communication apparatus is capable of acquiring a communication procedure that enables the communication apparatus to communicate with the equipment connected to the network according to a protocol supported by the communication apparatus even if the equipment does not correspond to the protocol supported by the communication apparatus. Thus, the communication apparatus is capable of easily performing communication according to a new protocol, which is not supported by the communication apparatus.  
         [0016]     In the communication apparatus according to the present invention, the communication management part may determine a protocol that is supported by the equipment by performing a port scan on the equipment. The external apparatus may manage a plurality of communication procedures corresponding to different protocols, and the communication management part may acquire list information from the external apparatus, the list information indicating a list of the plurality of communication procedures managed by the external apparatus, so as to perform the port scan on the equipment in accordance with a port number indicated corresponding to each of the plurality of communication procedures in the list information.  
         [0017]     Additionally, the communication apparatus according to the present invention may further comprise: a plurality of communication procedures corresponding to different protocols, respectively; and a communication procedure list management part that manages a list of communication procedure identification information that identifies each of the plurality of communication procedures, wherein the communication management part may specify one of the plurality of communication procedures that is used for communication with the equipment based on the communication procedure identification information managed by the communication procedure list management part. The communication management part may add the communication procedure identification information of the communication procedure acquired from the external apparatus to the communication procedure list management part.  
         [0018]     Additionally, in the communication apparatus according to the present invention, the communication management part may request the communication procedure to acquire equipment information regarding the equipment, and the communication procedure may acquire the equipment information from the equipment in response to the request. The communication management part may include a first interface that receives the request of acquiring the equipment information, the first interface being a common interface irrespective of kinds of the communication procedure that are used in response to a call to the first interface. The communication apparatus may further comprise an equipment information providing part that sends the equipment information to a client apparatus connected to the network in response to a request from the client apparatus, wherein the equipment information providing part may request the communication management part to acquire the equipment information through the first interface. The communication apparatus may comprise a plurality of the equipment information providing parts, and the communication management part is commonly used by the equipment information providing parts.  
         [0019]     Additionally, the communication apparatus according to the present invention may further comprise: a first module that receives a request of communication from the communication management part by a second interface that is called according to a procedure common to any kinds of protocols; and a second module that receives a request of communication with the equipment by a third interface that is specific to the protocol corresponding to the communication procedure, wherein the first module may request the second module to communicate with the equipment through the third interface in response to the request from the communication management part.  
         [0020]     Additionally, there is provided according to another aspect of the present invention a communication control method in a communication apparatus configured and arranged to be connected to a network to which an equipment is connected, the communication control method comprising: a communication checking step of determining whether or not the equipment is communicable according to a protocol supported by the communication apparatus; a communication procedure acquiring step of acquiring a communication procedure from an external apparatus connected to the network when the equipment is determined to be incapable of communicating with the communication apparatus according to the protocol supported by the communication apparatus; and a communication step of communicating with the equipment in accordance with the acquired communication procedure.  
         [0021]     According to the above-mentioned invention, the communication apparatus is capable of acquiring a communication procedure that enables the communication apparatus to communicate with the equipment connected to the network according to a protocol supported by the communication apparatus even if the equipment does not correspond to the protocol supported by the communication apparatus. Thus, the communication apparatus is capable of easily performing communication according to a new protocol, which is not supported by the communication apparatus.  
         [0022]     The communication control method according to the above-mentioned invention may further comprise a protocol determining step of determining a protocol that is supported by the equipment by performing a port scan on the equipment, wherein the communication procedure acquiring step may acquire a communication procedure from the external apparatus, the communication procedure using the protocol that is determined to be supported by the equipment in the protocol determining step. The communication step may specify one of the plurality of communication procedures that is used for communication with the equipment based on list information of communication procedure identification information that identifies each of the communication procedures corresponding to different protocols, respectively.  
         [0023]     Additionally, the communication control method according to the present invention may further comprise an information adding step of adding the communication procedure identification information of the communication procedure acquired from said external apparatus to the list information of the communication procedures.  
         [0024]     In the communication control method according to the present invention, the communication step may receive equipment information regarding the equipment from the equipment through the communication procedure. The communication step may receive a request of acquiring the equipment information through a first interface that is a common interface irrespective of kinds of the communication procedure. The communication control method may further comprise an equipment information providing step of sending the equipment information to a client apparatus connected to the network in response to a request from the client apparatus, wherein the equipment information providing step may request the communication step to acquire the equipment information through the first interface. The communication control method may comprise a plurality of the equipment information providing steps, and the communication step may be commonly used by the equipment information providing steps.  
         [0025]     In the communication control method according to the present invention, the communication step may include: a first step of calling a second interface that is called according to a procedure common to any kinds of protocols; and a second step of performing communication with the equipment by calling a third interface that is specific to the protocol corresponding to the communication procedure.  
         [0026]     Additionally, there is provided according to another aspect of the present invention a computer readable recording medium string a program for causing a computer to perform a communication control method in a communication apparatus configured and arranged to be connected to a network to which an equipment is connected, the communication control method comprising: a communication checking step of determining whether or not the equipment is communicable according to a protocol supported by the communication apparatus; a communication procedure acquiring step of acquiring a communication procedure from an external apparatus connected to the network when the equipment is determined to be incapable of communicating with the communication apparatus according to the protocol supported by the communication apparatus; and a communication step of communicating with the equipment in accordance with the acquired communication procedure.  
         [0027]     Further, there is provided according to another aspect of the present invention a program for causing a computer to perform a communication control method in a communication apparatus configured and arranged to be connected to a network to which an equipment is connected, the communication control method comprising: a communication checking step of determining whether or not the equipment is communicable according to a protocol supported by the communication apparatus; a communication procedure acquiring step of acquiring a communication procedure from an external apparatus connected to the network when the equipment is determined to be incapable of communicating with the communication apparatus according to the protocol supported by the communication apparatus; and a communication step of communicating with the equipment in accordance with the acquired communication procedure.  
         [0028]     Other objects, features and advantages of the present invention will become more apparent from the following detailed description when read in conjunction with accompanying drawings. 
     
    
     BRIEF DESCRIPTION OF THE DRAWINGS  
       [0029]      FIG. 1  is an illustration showing a conventional relationship between an application and protocols;  
         [0030]      FIG. 2  is an illustration showing an example in which a layer providing an interface common to a plurality of applications is provided;  
         [0031]      FIG. 3  is a block diagram of an equipment management system according to an embodiment of the present invention;  
         [0032]      FIG. 4  is a block diagram of a hardware structure of an equipment management server shown in  FIG. 3 ;  
         [0033]      FIG. 5  is a block diagram of a function of the equipment management server;  
         [0034]      FIG. 6  is an illustration for explaining an interface specification of a common interface;  
         [0035]      FIG. 7  is an illustration for explaining categories of equipment information;  
         [0036]      FIG. 8  is an illustration for explaining contents of a protocol module management table;  
         [0037]      FIG. 9  is an illustration for explaining information managed by a protocol control function name list file;  
         [0038]      FIG. 10  is an illustration for explaining a source code by which a protocol module management part calls a protocol module control part;  
         [0039]      FIG. 11  is an illustration of contents of access procedure information;  
         [0040]      FIG. 12  is an illustration for explaining a management of a protocol module library in a library server;  
         [0041]      FIG. 13  is an illustration for explaining contents of a package list table;  
         [0042]      FIG. 14  is a sequence chart for explaining an acquisition process of acquiring equipment information from an image forming apparatus performed by an equipment management server;  
         [0043]      FIG. 15  is an illustration for explaining contents of an updated protocol module management table; and  
         [0044]      FIG. 16  is a block diagram of an equipment management system using an image forming apparatus as an equipment management server. 
     
    
     DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT  
       [0045]     A description will now be given, with reference to the drawings, of an embodiment of the present invention.  
         [0046]      FIG. 3  is a block diagram of an equipment management system according to an embodiment of the present invention. As shown in  FIG. 3 , the equipment management system  1  according to the embodiment of the present invention comprises an equipment management server  10 , a library server  20 , one of more image forming apparatuses (image forming apparatuses  31  and  32 ) and a terminal  40 , which are interconnected through a network such as a local area network (LAN) or the Internet. The network  50  may be a wired network or a wireless network.  
         [0047]     The equipment management server  10  is implemented by a computer which mounts a function to acquire attribute information and status information of each of the image forming apparatuses, such as the image forming apparatus  31 , in response to a request from the terminal  40  and provide the acquired information to the terminal  40 .  
         [0048]     The library server  20  is implemented by a computer, which manages a plurality of libraries (hereinafter, referred to as protocol module libraries) for communication with equipments according to specific protocols, respectively. For example, the library server  20  manages protocol module libraries for SNMPv1 (Simple Network Management Protocol v1), SNMPv2, SNMPv3, SOAP1.1 (Simple Object Access Protocol 1.1), SOAP1.2, etc. It should be noted that the protocol module libraries are provided by benders of an operation system (OS).  
         [0049]     The image forming apparatus  31  is an example of the equipments, and is capable of providing equipment information in response to a request from the equipment management server  10  according to a predetermined protocol. The terminal  40  is a personal computer (PC), a personal digital (data) assistant (PDA) or a mobile phone. A client application for using a function of the equipment management server  10  is mounted to the terminal  40  so that a user can check information of each equipment by operating the client application.  
         [0050]     A description will be given of the detail of the equipment management server  10 .  
         [0051]      FIG. 4  is a block diagram of a hardware structure of the equipment management server according to the present embodiment. The equipment management server  10  of  FIG. 4  comprises a drive unit  100 , an auxiliary memory device  102 , a memory device  103 , a processing device  104  and an interface device, which are interconnected by a bus B. An equipment management program implementing a process of the equipment management server  10  is provided by a recording medium  101  such as a CD-ROM. When the recording medium  101 , on which the instrument management program is recorded, is loaded to the drive unit  100 , the equipment management program is read from the recording medium  101  by the drive unit  100  and installed in the auxiliary memory device  102  through the drive apparatus  100 .  
         [0052]     The auxiliary memory device  102  stores the thus-installed equipment control program and also stores necessary files and data.  
         [0053]     The memory device  103  reads the equipment management program from the auxiliary memory device  102  when a start instruction of the equipment management program is given, and stores the read program therein. The processing device  104  performs functions, which relate to the equipment management server  10 , according to the equipment control program stored in the memory device  103 . The interface device  105  comprises, for example, a modem, a router or the like, and is used for connecting to the equipment management server  10  to the network  50  shown in  FIG. 3 .  
         [0054]      FIG. 5  is a block diagram of a function of the equipment management server. In  FIG. 5 , the function mounted in the equipment management server  10  can be divided into four layers, an application layer  11 , a common interface layer  12 , a control layer  13  and a protocol layer  14 .  
         [0055]     The application layer  11  is a layer in which various applications for offering various services to a client application  41  in the terminal  40  are mounted. In the present embodiment, applications  111   a ,  111   b  and  111   c  are mounted as applications for providing equipment information to the client application  41 .  
         [0056]     The common interface layer  12  is a layer for offering a function interface (hereinafter referred to as a common interface) to the application layer  11  so that each application of the application layer  11  can acquire equipment information without being aware of a protocol. The function interface is produced by abstracting or commonizing APIs which differs from protocol to protocol. In the present embodiment, a protocol module management part  121  serving as protocol module management means is mounted as a module for providing the common interface. The protocol module management part  121  plays a role of offering the common interface to the application layer  11  so as to offer a control function of a protocol module library for each protocol in the control layer  13  through the common interface. It should be noted that the single protocol module management part  121  is used commonly by each application in the application layer  11 .  
         [0057]      FIG. 6  is an illustration for explaining an interface specification of the common interface. As shown in  FIG. 6 , the interface name (function name) of the common interface is “GetDevice”, and three arguments, “address”, “Category” and “Data”, are defined. The “address” is an argument for designating an IP address of an equipment from which equipment information is to be acquired. The “Category” is an argument for designating the name (category name) of the category of the equipment from which the equipment information is to be acquired. The “Data” is an argument for designating a pointer to a memory area where information returned from an equipment is stored. Each application can acquire the equipment information by calling the “GetDevice” function even if communication with the equipment is performed according to any protocol.  
         [0058]     A description will now be given of categories of the equipment information.  
         [0059]     The equipment information can be classified into some categories as shown in  FIG. 7 .  FIG. 7  is an illustration for explaining the categories of the equipment information. In  FIG. 7 , a category name of each category and information belonging to each category are shown according to a table format. It is appreciated from  FIG. 7  that the categories of the equipment information contains, for example, information (paper supply information) regarding a paper supply tray, information (paper eject information) regarding paper eject tray, information (emulation) regarding a supported emulation, information (font) regarding supported font, information (job information) regarding jobs and information(protocol support) regarding existence of support for protocol. Additionally, it can be appreciated that the paper supply information contains a paper supply tray name, a paper size and a status.  
         [0060]     Accordingly, if it is desired to obtain paper supply information, the “paper supply information” is designated as the Category argument of the “GetDevice” function so that information regarding the paper supply tray name, paper size and status is returned as a Data argument.  
         [0061]     Returning to  FIG. 5 , the protocol layer  14  is a layer provided with API specific to the protocol used for communication with equipment, and a protocol module library specific to each protocol is mounted on an individual kind of protocol basis. In the present embodiment, a protocol module library  141   a,  which is a protocol module library for SNMPv1, and a protocol module library  141   b,  which is a protocol module library for SNMPv2, are already mounted. It should be noted that the protocol module libraries  141   a ,  141   b , etc. may be collectively referred to as a “protocol module library  141 ”.  
         [0062]     The control layer  13  is a layer which plays a roll to intermediate between the protocol payer  14  and the common interface layer  12  so as to provide a dynamically loadable interface (an interface which can be loaded during execution even if it is not statically linked) to the common interface layer  12  by commonizing APIs that differ from protocol to protocol in the protocol layer  14 . Each module in the control layer  13  is mounted in accordance with the protocol module library  141  in the protocol layer  14 . In the present embodiment, a protocol module part  131   a  corresponding to the protocol module library  141   a  and a protocol module control  131   b  corresponding to the protocol module library  141   b  are mounted. It should be noted that the modules in the control layer  13  may be collectively referred to as a “protocol module control part  131 ”.  
         [0063]     A protocol module management table  122  and a protocol control function name list file  123  are tables and files that manage information necessary for the protocol module management part  121  to call the protocol module control part  131 .  
         [0064]      FIG. 8  is an illustration for explaining contents of the protocol module management table. As shown in  FIG. 8 , the protocol module management table  122  manages a protocol name, a protocol module control part name, a protocol module library name, a protocol control function name list file name, etc., for each kind of protocols which that equipment management server  10  is currently supporting.  
         [0065]     The protocol name is a name of a protocol. The protocol module control part name is a file name (DLL name) of the protocol module control part  131 . The protocol module library name is a file name (DLL name) of the protocol module library  141 . The protocol control function name list file name is a file name of the protocol control function name list file  123  mentioned later.  
         [0066]      FIG. 9  is an illustration for explaining information managed by the protocol control function name list file. As shown in  FIG. 9 , the protocol control function name list file  123  manages the category name, the function name, etc, for each category of the equipment information. In should be noted that the protocol control function name list file  123  is defined for each protocol module control part  131 . Accordingly, the function name with respect to each category can be differed for each protocol module control part  131 . However, it is necessary to follow communalization with respect to a return value from of the function and argument information, and it is said that the interface of each protocol module control part  131  is communalized within that range.  
         [0067]     A description will be given of how the protocol module management means  121  calls the protocol module control part  131  using the protocol module management table  122  and the protocol control function name list file  123 .  
         [0068]      FIG. 10  is an illustration for explaining a source code by which the protocol module management part calls the protocol module control part. The source code shown in  FIG. 10  is mounted as a part of a process in the “GetDevice” function of the protocol module management part  121 .  
         [0069]     The protocol module control part name of the protocol module control part  131  (hereinafter, referred to as a “current protocol module control part”), which is an object to be called, is read from the protocol module management table  122  (S 11 ), and, further, the function name of the function (hereinafter, referred to as “current function”) with respect to a category designated by the Category argument of the “GetDevice” function is acquired from the protocol control function name list file  123  corresponding to the current protocol module control part  131  (S 12 ). The protocol module control part  131  is loaded (S 13 ), and the address of the current function is acquired (S 14 ), and thereafter the current function is called (S 15 ). By calling the current function, the equipment information is stored in the Data argument of the “GetDevice” function, and, thereby, the caller of the “GetDevice” function, that is, the application  111   a , etc., can acquire the equipment information.  
         [0070]     As mentioned above, the calling of the protocol module control part  131  is not described statically in the source code of the protocol module management part  121 , but the protocol module control part  131  can be dynamically called in accordance with the definition of the protocol module management table  122  and the protocol control function name list file  123 . Therefore, the calling of the interface of each protocol module control part  131  can be performed according to the common procedure as shown in the figure. Moreover, the protocol module control part  131 , which is an object to be called, can be changed by merely changing the protocol module management table  122  without correcting the source code of the protocol management part  121 .  
         [0071]     Returning to  FIG. 5 , access procedure information  132   a  and access procedure information  132   b  (hereinafter, collectively referred to as “access procedure information  132 ”) is information in which information necessary for the protocol module control part to call the protocol module library  141  is defined.  FIG. 11  is an illustration of contents of the access procedure information. As shown in  FIG. 11 , character strings for the protocol module library  141  to discriminate information belonging to each category of the equipment information are defined in the access control procedure information  132 . For example, when acquiring a paper supply tray name belonging to the paper supply information, it can be appreciated that a character string “prtInputName” should be designated as the argument of API of the protocol module library  141 .  
         [0072]     A description will now be given of the library server  20 .  FIG. 12  is an illustration for explaining a management of the protocol module library in the library server. As shown in  FIG. 12 , the library server  20  comprises a list table  21  and a plurality of protocol module packages  221 ,  222 ,  223 , etc. Each of the protocol module packages contains the protocol module control part  131 , the protocol module library  141 , the protocol control function name list file  123  and the access procedure information  132  which together are provided into a single compressed file for each kind of protocols.  
         [0073]     The package list table  21  is a table, which manages list information regarding the protocol module packages managed in the library server  20 .  FIG. 13  is an illustration for explaining contents of the package list table. As shown in  FIG. 13 , the package list table  21  manages a protocol name, a port number, a package name, a package structure, etc., with respect to each protocol package  221  managed in the library management server  20 . The protocol name is a name of the protocol to which the protocol module package corresponds. The port number is a number of a port of the protocol concerned. The package name is a name (file name) of the protocol module package. The package structure is a set of names of the protocol module control part  131 , the protocol module library  141 , the protocol control function name list file  123  and the access procedure information  132  included in the protocol module package.  
         [0074]     A description will be given below of a process procedure of the equipment management server shown in  FIG. 5 .  FIG. 14  is a sequence chart for explaining an acquisition process of acquiring the equipment information from the image forming apparatus performed by the equipment management server.  
         [0075]     In step S 101 , the application  111   a  calls the “GetDevice” function of the protocol module management part  121  in response to a request from the client application  41  so as to acquire the equipment information. Here, it is supposed that the “paper supply information” of the image forming apparatus  31  is requested.  
         [0076]     Subsequent to step S 101 , the protocol module management part  121  requests each protocol module control part  131  registered in the protocol module management table  122  to check whether or not the image forming apparatus  31  is supporting each protocol. That is, the protocol module management part  121  specifies the protocol module control part name (DLL name) of each protocol module control part  131  by referring to the protocol module management table  122 , and also specifies a name of a function (hereinafter, referred to as “support check function”) for checking a support of the protocol in each protocol module control part  131  by referring to the protocol control function name list file  123  (S 102 ). Then, the protocol module management part  121  call the support check function of each protocol module control part  131  according to the procedure explained with reference to  FIG. 10  (S 103 ).  
         [0077]     For example, if the protocol control function name list file  123  is defined as shown in  FIG. 9 , the function name of the support check function can be specified as “GetSupportProtocol”. It should be noted that the call of the support check function of each protocol module control part  131  is performed in parallel as separate threads.  
         [0078]     Subsequent to step S 103 , the sequence proceeds to step S 104  where each protocol module control part  131  requests the protocol module library  141  to check support of the protocol, respectively. If the protocol module library  141  sends a packet for checking support of the protocol to the image forming apparatus  31 , information regarding existence or non-existence of the support is returned from the image forming apparatus  31  as a response to the packet concerned (S 106 ). A notification regarding existence or non-existence of the support is sent from the protocol module control part  131  to the protocol module management part  121  through the protocol module library  141  as return information of the support check function (S 107 , S 108 ). If the notification of existence or non-existence of the support is sent all the protocol module control parts  131  that has called in the separate threads, the sequence proceeds to step S 109  where the protocol module management part  121  determines whether or not there is a protocol currently supported by the image forming apparatus  31  among the protocols currently supported by the equipment management server  10 .  
         [0079]     Here, if there is a protocol control part  131 , which returned information indicating the support, the protocol management means  121  acquires the equipment information (paper supply information) from the image forming apparatus  31  by the process of step S 118  and the subsequent steps mentioned later by using the protocol control part  131  concerned.  
         [0080]     On the other hand, if all the protocol module control parts  131  returns information indicating no support, that is, if it is impossible to acquire the equipment information from the image forming apparatus  31  at the present condition, the sequence proceeds to step S 110  where the protocol module management part  121  requests the library server  20  to send information (hereinafter, referred to as “package list information”) which is managed by the package list table  21  (refer to  FIG. 13 ).  
         [0081]     Subsequent to step S 110 , the sequence proceeds to step S 111  where the library server  20  returns the package list information in response to the request from the protocol module management part  121 .  
         [0082]     Subsequent to step S 111 , the protocol module management part  121  performs a port scan based on a port number of each protocol contained in the package list information and detects a port which is open in the image forming apparatus so as to determine the protocol which the image formation apparatus  31  supports (S 112 , S 113 , S 114 ). Accordingly, the port scan is not applied to all ports but only the port which is actually usable so as to attempt an improvement in the processing efficiency.  
         [0083]     If the protocol which the image forming apparatus  31  is supporting (hereinafter, referred to as “support protocol”) is discriminated, the sequence proceeds to step S 115  where the protocol module management part  121  specifies the package name of the protocol module package (hereinafter, referred to as “support package”) corresponding to the support protocol based on the package list information, and requests the library server  20  to provide the support package so as to acquire the support package from the library server  20  (S 116 ).  
         [0084]     Subsequent to step S 116 , the sequence proceeds to step S 117  where the protocol module management part  121  applies the support package to the equipment management server  10 . Specifically, the support package is decompressed, and the protocol module control part  131 , the protocol module library  141 , the protocol control function name list file  123  and the access procedure information  132  included in the support package are stored in a predetermined folder. The predetermined folder is a folder in which each file contained in the support package should be stored at the time of execution of the process by the equipment management server  10 . Therefore, each file is stored in the predetermined folder and is usable during the process execution. Further, the information regarding the protocol module control part  131  contained in the support package is added to the protocol module management table  122 .  
         [0085]      FIG. 15  is an illustration for explaining contents of the updated protocol module management table.  FIG. 15  indicates an example of a case where a-protocol module package with respect to SNMPv3 is newly applied. The record of the third row corresponds to the newly added protocol module package.  
         [0086]     Subsequent to step S 117 , the sequence proceeds to step S 118  where the protocol module management means  121  requests the protocol module control part  131  to acquire the paper supply information by calling a function (hereinafter, referred to as “paper supply information acquisition function”) for acquiring the paper supply information, the paper supply information acquisition function being mounted in the newly applied protocol module control part  131 .  
         [0087]     Specifically, the protocol module management part  121  specifies the protocol module control part name (DLL name) of the newly added protocol module control part  131  and the protocol control function list file name by referring to the updated protocol module management table  122  ( FIG. 15 ), and further specifies the function name of the paper supply information acquisition function by acquiring the function name (“GetIntrayInfo” in  FIG. 9 ) corresponding to the paper supply category from the protocol control function list file  123  specified by the protocol control function list file name concerned.  
         [0088]     Then, the protocol module management part  121  performs the process explained with reference to  FIG. 10  based on the specified protocol module control part name and the function name of the paper supply information acquisition function so as to call the paper supply information acquisition function.  
         [0089]     Subsequent to step S 118 , the sequence proceeds to step S 119  where the protocol module control part  131  requests the protocol module library  141  to provide the paper supply information in accordance with the access procedure information  132 .  
         [0090]     Subsequent to step S 119 , the protocol module library  141  acquires the paper supply information from the image forming apparatus  31  by communicating with the image forming apparatus  31  according to the corresponding protocol (SNMPv3 in this case) (S 131 ). The acquired paper supply information is returned to the application  111   a  as return information of the “GetDevice” function (S 124 ) through the protocol module control part  131  and the protocol module management part  121  (S 122 , S 123 ).  
         [0091]     As mentioned above, according to the equipment management server  10  according to the present embodiment, the protocol module management part  121  discriminates the protocol which the equipment is supporting, and acquires the protocol module package corresponding to the protocol concerned from the library server  20 . Here, the protocol module management part  121  can change the protocol module control part  131  to be called by changing the protocol module management table  122 . Therefore, even if there is a case where the equipment management server  10  does not correspond to the protocol which is supported by the equipment to communicate with, a necessary module can be acquired and made available by a simple process without need of a correction of the source code of the protocol module management part  121 .  
         [0092]     Since information regarding the protocol once made available is registered in the protocol module management part  121 , there is no need to repeat the same process such as acquiring when it is required to perform communications according the protocol concerned.  
         [0093]     Additionally, the protocol module management part  121  is capable of receiving a request from each application according to the common interface (“GetDevice2 function) irrespective of kinds of protocols. Therefore, there is no need to correct a source code in response to a new protocol in each application.  
         [0094]     It should be noted that although the library server  20  is used as a server exclusive for management of the protocol module package in the present embodiment, the protocol module package may be managed by each equipment. In such a case, the equipment management server  10  may acquire the protocol module package corresponding to an equipment, which the equipment management server  10  communicates with, according to a file transfer protocol (FTP) or the like.  
         [0095]     In the meantime, in recent years, there is provided a specific function equipment which can perform information processing the same as a computer such as one which can serve as a Web server. For example, one of such equipments is an image forming apparatus referred to as a combination machine or a multi-function machine, which has a plurality of applications for performing specific processes in multiple services such as a printer, a copy and a facsimile.  
         [0096]     Therefore, the effects of the present invention can be obtained by constituting the equipment management server  10  according to the present invention using such an image forming apparatus.  FIG. 16  is a block diagram of an equipment management system using an image forming apparatus as an equipment management server. In  FIG. 16 , parts that are the same as the parts shown in  FIG. 5  are given the same reference numerals, and descriptions thereof will be omitted. In  FIG. 16 , an operation panel  61  is, for example, a liquid crystal panel which provides to a user an operating means for operating various applications  111   a ,  111   b  and  111   c  in the image forming apparatus  60 . In the equipment management system shown in  FIG. 16 , the image forming apparatus  60  serves as a constituent element instead of the equipment management server  10 . A function the same as the function mounted in the equipment management server  10  is mounted in the image forming apparatus  60 . Therefore, the image forming apparatus  60  can respond to a protocol required for communication with other image forming apparatuses such as the image forming apparatus  31  automatically, and can display the equipment information regarding other image forming apparatuses on the operation panel  61  by communication according to the protocol concerned.  
         [0097]     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.  
         [0098]     The present application is based on Japanese priority applications No. 2003-417959 filed Dec. 16, 2003 and No. 2004-330941 filed Nov. 15, 2004, the entire contents of which are hereby incorporated herein by reference.