Patent Publication Number: US-9906400-B2

Title: Management system, control method in the management system, and storage medium thereof

Description:
BACKGROUND OF THE INVENTION 
     Field of the Invention 
     The present invention relates to a management system, a control method in the management system, and a storage medium thereof, and in particular, relates to a system that manages a setting value (configuration data) for switching the operations of an image forming apparatus at collective management. 
     Description of the Related Art 
     Conventionally, there is an image forming apparatus that stores a setting value (configuration data) for switching the operations of the image forming apparatus. The setting changes in configuration data need to be made by the number of image forming apparatuses in order to change the configuration data for all of the image forming apparatuses because the configuration data is stored in a storage unit provided in each of the image forming apparatuses. 
     For saving the time relating to the settings, Japanese Patent Laid-Open No. 2007-130838 discloses a technique for managing the configuration data at collective management. Specifically, the settings of configuration data for a plurality of image forming apparatuses are made at collective management by a certain information processing apparatus, and the configuration data is disposed at a place capable of referring to a network, and the plurality of image forming apparatuses refer the configuration data, whereby the management is performed at collective management. In addition, a technique is disclosed whereby a certain image forming apparatus that has performed the change notifies a server of the changed content about the change of the configuration data performed by the certain image forming apparatus, and the other image forming apparatuses receive the changed content, whereby the configuration data is synchronized in the plurality of image forming apparatuses. 
     However, in the Japanese Patent Laid-Open No. 2007-130838, an inconsistency may occur to the configuration data between the certain image forming apparatus and other image forming apparatuses, if a configuration data group that is recorded in a USB memory or the like is imported to the certain image forming apparatus. Specifically, a plurality of configuration data relating to other image forming apparatuses are applied at different timings by continuously notifying the server of the configuration data that is changed by the import. In this case, the setting of the image forming apparatus may become an unintended state. In addition, if the setting change contrary to the import data in other image forming apparatuses is performed during performing the import or before the import data is applied, the setting of the image forming apparatus may become an unintended state. 
     SUMMARY OF THE INVENTION 
     The present invention provides a management system that enables applying configuration data without inconsistencies of the values, if an import processing is performed in a plurality of image forming apparatuses, in the management system that synchronizes configuration data of the plurality of image forming apparatuses through a server. 
     According to an embodiment of the present invention, a management system that includes a plurality of network devices, and a management server that manages a plurality of setting values to be set in the plurality of network devices as master data is provided that the network device includes a request unit configured to perform a request of a setting value to be set to the management server; a setting unit configured to set a setting value acquired from the management server based on the request, in the network device; an execution unit configured to execute an import processing for setting a setting value included in import data, which is not the setting value acquired from the management server; a notification unit configured to perform a notification of a start of the import processing in response to the execution of the import processing to the management server; a control unit configured to control the request performed by the request unit between the start and a completion of the import processing executed by the execution unit; and a transmission unit configured to transmit a setting value after the import processing to the management server for applying to the master data in response to the completion of the import processing, and the management server includes a response unit configured to respond an error to the request from the network device based on the notification by the notification unit; and an application unit configured to apply the setting value after the import processing, which is transmitted from the transmission unit, in the master data. 
     According to the present invention, in the management system that synchronizes the configuration data of the plurality of image forming apparatuses through the server, a consistency of the setting can be properly taken for the other image forming apparatuses even if the configuration data group is imported at the image forming apparatus side. 
     Further features of the present invention will become apparent from the following description of exemplary embodiments with reference to the attached drawings. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         FIG. 1  is a diagram illustrating a network configuration of a plurality of image forming apparatuses. 
         FIG. 2  is a diagram illustrating a hardware configuration of each apparatus shown in  FIG. 1 . 
         FIG. 3  is a diagram illustrating a software configuration of a management service and the image forming apparatus. 
         FIGS. 4A and 4B  are diagrams respectively illustrating one example of model-specific setting value schema. 
         FIG. 5  is a diagram illustrating an example of tenant configuration data. 
         FIGS. 6A to 6C  are diagrams respectively illustrating one example of actual device configuration data. 
         FIGS. 7A to 7C  are diagrams respectively illustrating a configuration of an actual configuration data holding unit. 
         FIG. 8  is a diagram illustrating a configuration of a virtual device holding unit. 
         FIG. 9  is a diagram illustrating a configuration of a difference holding unit. 
         FIG. 10  is a diagram illustrating a configuration of an import status holding unit. 
         FIG. 11  is a flowchart illustrating an updating processing of an actual device configuration. 
         FIG. 12  is a flowchart illustrating an updating processing of configuration data. 
         FIG. 13  is a flowchart illustrating an import processing. 
         FIG. 14  is a flowchart illustrating an updating processing of actual configuration data. 
         FIG. 15  is a flowchart illustrating an updating processing of an import status. 
         FIG. 16  is a flowchart illustrating an updating processing of the tenant configuration data. 
         FIG. 17  is a flowchart illustrating an updating processing of the tenant configuration data. 
         FIG. 18  is a flowchart illustrating a status confirming processing. 
         FIGS. 19A and 19B  are flowcharts illustrating the status confirming processing. 
         FIG. 20  is a flowchart illustrating an updating processing of configuration data according to the second embodiment. 
         FIG. 21  is a flowchart illustrating an updating processing of actual configuration data according to the second embodiment. 
     
    
    
     DESCRIPTION OF THE EMBODIMENTS 
     Hereinafter, preferred embodiments of the present invention will be described with reference to the drawings and the like. 
     First, the terms used in the present specification are defined. The term “setting value” (configuration data) refers to data for switching the operations of an image forming apparatus. For example, it corresponds to a default value for imposition of a copy job or the like. If the default value for imposition of a copy job is set to “1 in 1”, one page is printed on a single sheet of paper as a result of copying. If the default value for imposition of a copy job is set to “2 in 1”, two pages are printed on a single sheet of paper as a result of copying. 
     The term “device configuration data” refers to data indicating a configuration of a device provided in the image forming apparatus. For example, it corresponds to data indicating whether or not a facsimile unit is included. Moreover, a model code for uniquely identifying the model of the image forming apparatus, a running firmware version, and the like are also included. 
     The term “model-specific setting value schema” refers to data for defining the schema of configuration data that is held by a specific model of an image forming apparatus. Here, the term “schema” refers to data for defining the convention and positioning for the configuration data. For example, model-specific setting value schema include several conditions for validating the setting value identifier, the default value, the value range, and data for each configuration data are included. It is assumed that there is a difference between the configuration data to be held depending on the model of the image forming apparatus and a setting value schema are prepared for different models. 
     The term “virtual device” refers to a data group of actual devices held by a server computer group. Specifically, at least device configuration data and configuration data are included. The term “tenant” refers to a unit of a consignor to whom a user consigns the management of an image forming apparatus. In addition, the term “tenant identifier” refers to an identifier for uniquely identifying a tenant. For example, assume the case where management of three image forming apparatuses in a user environment is consigned to a tenant by a certain company. In this case, a corresponding tenant identifier is assigned to the user environment and the three image forming apparatuses are recognized as the image forming apparatuses belonging to the tenant and managed at collective management. 
     Here, the following definitions are given so as to distinctly designate data included in a virtual device, data held by an actual device, and data dedicated for a tenant. Device configuration data included in a virtual device is referred to as virtual device configuration data and a setting value (configuration data) of the virtual device is referred to as a virtual setting value (virtual configuration data). Device configuration data held by an actual device is referred to as actual device configuration data and a setting value (configuration data) of the actual device is referred to as an actual setting value (actual configuration data). A setting value (configuration data) that is hoped to be commonly used in the tenant is referred to as a tenant setting value (tenant configuration data). Note that other descriptions will be appropriately given besides the descriptions here. 
     First Embodiment 
     One example of a network configuration (management system) of a plurality of image forming apparatuses according to the present embodiment will be described using  FIG. 1 . Image forming apparatuses  101  ( 101 A to  101 C) are managed at collective management by a management service  350  described below, and each can access the Internet  104  through a network  106 . The image forming apparatus  101  may be a multifunction device (network device) for realizing a variety of functions (copy, facsimile, and the like). Communication between the user environment  100  and vendor environment  120  for the image forming apparatuses is carried out via the Internet  104 . 
     A terminal device  102 A is a computer that is operable by a user of the user environment  100  and can access the Internet  104  via the network  106 . In addition, a terminal device  102 B is a computer that is operable by a service person or the like who manages the image forming apparatus  101  and can access the Internet  104 . Further, a terminal device  102 C is a computer that is operable by management personnel or the like who belong to a vendor for producing the image forming apparatus  101 , and can access the Internet  104 . Note that the Internet  104  is a computer network that is capable of providing digital communication on a public line that is interconnected by utilizing a communication technique such as internet protocol. 
     The server computer group  105  is a server group for providing a plurality of services through the Internet  104 . A network  106  is a network that is capable of providing digital communication in the user environment  100 . A service person environment  110  is an environment where a service person manages the image forming apparatus using the terminal device  102 B. A vendor environment  120  for the image forming apparatuses is an environment where management personnel of a vendor for producing the image forming apparatus perform the maintenance of data which is required for the management of the image forming apparatus, using a terminal device  102 C. 
     Note that, in the configuration of the management system shown in  FIG. 1 , it is assumed that the service person utilizes the terminal device  102 B that is disposed in the service person environment  110 , however, another configuration may be employed. For example, a configuration in which the service person utilizes the terminal device  102 A disposed in the user environment  100  under permission of the user, may be employed. 
     Next, one example of a hardware configuration of the image forming apparatus  101 , the terminal device  102 , and the server computer group  105  will be described using  FIG. 2 . Note that in a hardware configuration diagram shown in  FIG. 2 , server computers  205  and  206  communicate with each other through a network  260 , however, another configuration may be employed. For example, the server computers  205  and  260  may communicate with each other through the Internet  104 . 
     First, a CPU (Central Processing Unit)  211  of the image forming apparatus  101  executes programs and controls various types of processing. A non-volatile memory  212  is configured from a ROM (Read Only Memory) and stores programs and data, and the like which are required for the initial stage in the device startup processing. A volatile memory  213  is configured from a RAM (Random Access Memory) and is utilized as a temporary storage location of the programs and data. 
     An auxiliary storage device  214  is configured from a large-capacity storage device such as a hard disk, a RAM drive, or the like and stores large-capacity data and holds an execution code of the programs. It stores data which needs to be held for a longer time than that of the volatile memory  213 . The auxiliary storage device  214  is a non-volatile storage device, and therefore it is capable of continuing to store the data even if the power is OFF. 
     A display  215  is a device that notifies a user person and the like of information. In the present embodiment, a user person denotes a user and a service person. An input device  216  is a device that receives a user person&#39;s selection instruction and transmits the instruction to a program through an internal bus  210 . A network communication device  217  is a device that communicates with other information processing device(s) through a network. A facsimile unit  218  is a hardware unit that transmits image data formed by the image forming apparatus  101  or image data stored in the auxiliary storage device to other information device(s) through the network  106 . The facsimile unit  218  is an option and therefore it may not be included depending on the apparatus. 
     A printer engine  219  has functions for printing the image data formed by the image forming apparatus  101  or the image data stored in the auxiliary storage device on a paper medium. A USB host interface  220  is an interface that enables utilizing a connected USB device. The internal bus  210  is a communication bus that connects the CPU  211 , the non-volatile memory  212 , the volatile memory  213 , the auxiliary storage device  214 , the display  215 , the input device  216 , and the network communication device  217  in the image forming apparatus  101 , in a communicable state. 
     Next, the terminal device  102  includes a CPU  231 , a non-volatile memory  232 , a volatile memory  233 , an auxiliary storage device  234 , a display  235 , an input device  236 , and a network communication device  237 , and they are connected to each other through an internal bus  230 . The CPU  231  to the network communication device  237  of the terminal device  102  are respectively similar to the CPU  211  to the network communication device  217  of the image forming apparatus  101 , and therefore detailed descriptions thereof are omitted. 
     Next, the server computer group  105  is configured of a plurality of server computers  205  and  206  connected through a network  260 . An internal bus  250  is a communication bus that connects a CPU  251 , a non-volatile memory  252 , a volatile memory  253 , an auxiliary storage device  254 , and a network communication device  257  which are provided in the server computer  205  in a communicable state in the server computer  205 . 
     A network  260  is a network that enables a high speed communication between the server computers which configure the server computer group  105 . Note that, a hardware configuration of the terminal device  102  is the same as the hardware configuration of the image forming apparatus  101 , excluding a facsimile unit  218  and a printer engine  219 . Therefore, a detailed description thereof is omitted. 
     Next, one example of a software configuration of a management service  350  that is executed by one server computer in the server computer group  105  and the image forming apparatus  101  will be described by using  FIG. 3 . First, a description will be given of a software configuration that is included in the image forming apparatus  101 . Note that, in the present embodiment, intercommunication is performed through the Internet  104 , however, the present embodiment is not limit to Internet, and other communication techniques such as a LAN may be used. 
     In addition, it is assumed that the management service  350  is executed by any of the server computers in the server computer group  105 , however, another configuration may be employed. For example, the server computer group  105  may be configured of a single server computer  205  only. Alternately, it may be configured in the user environment  100 , the service person environment  110 , and the vendor environment  120  of the image forming apparatus, or the like. 
     The actual configuration data holding unit  301  holds the configuration data of the image forming apparatus  101  in the auxiliary storage device  214 , and the image forming apparatus  101  switches its operational behavior based on the held actual configuration data. A virtual configuration data application unit  302  applies virtual configuration data that is received at a virtual configuration data receiving unit  303  described below in the actual configuration data held by the actual configuration data holding unit  301 . 
     The virtual configuration data receiving unit  303  calls a virtual configuration data acquiring unit  360  described below and receives the virtual configuration data. As the address for calling the virtual configuration data acquiring unit  360 , the address held by the actual configuration data holding unit  301  is used. Specifically, referring to  FIG. 7A , a setting value identifier  702  accesses “http://canon.com/config”, that is set as a value  703  of “device_settings.cloud_address”. 
     Note that the value  703  of “device_settings. cloud_address” is a common address for calling the function of the management service  350  by the image forming apparatus  101 . Upon access, a parameter indicating a call for receiving virtual configuration data is given. If functions besides those of the virtual configuration data receiving unit  303  are called, a necessary parameter is similarly given. In addition, for example, a different address may be given for each function to be provided. 
     A configuration data collecting unit  304  collects actual device configuration data of the image forming apparatus  101 . Here, examples of the actual device configuration data are shown in  FIGS. 6A to 6C . Values  603  are respectively stored to data types  602 . The data type  602  is, for example, a model code for identifying the model, a firmware version, a device identifier for identifying a device, the presence/absence of a facsimile unit, and the like. 
     Referring back to  FIG. 3 , the tenant identifier holding unit  305  stores a tenant identifier to which the image forming apparatus  101  belongs. The tenant identifier is set upon initial installation of the image forming apparatus  101  and is stored in the auxiliary storage device  214  so as not to be lost even if the power is OFF. A configuration data notifying unit  306  notifies at the same time actual device configuration data that is collected by the configuration data collecting unit  304  and tenant identifier stored by the tenant identifier holding unit  305 . The notification destination is a configuration data receiving unit  358  described below. 
     An actual configuration data updating unit  307  receives a request from an import processing unit  311  and an actual configuration data setting unit  309  described below and updates the actual configuration data held by the actual configuration data holding unit  301 . At the same time, the updated configuration data that is recorded in a difference holding unit  308  described below as a difference. The difference holding unit  308  holds the configuration data updated by the actual configuration data updating unit  307  in the auxiliary storage device  214 . 
     Here, an example of configuration data held by the difference holding unit  308  is shown in  FIG. 9 . A setting value identifier  902  is an identifier for specifying a changed setting value. A value  903  indicates a changed value. Only the changed value is held in the difference holding unit  308 . The actual configuration data setting unit  309  receives a setting change request of the configuration data from a user of the input device  216 , and requests the update of the actual configuration data to the actual configuration data updating unit  307 . The difference notifying unit  310  notifies a tenant configuration data receiving unit  364  described below of a difference of configuration data recorded in the holding unit  308 . 
     The import processing unit  311  reads import data that is combined from multiple configuration data from the USB host interface  220 , and the like, and requests the update of actual configuration data to the actual configuration data updating unit  307 . At the same time, an estimated completion time for the import is calculated from the size or content of the import data, and recorded in an import status holding unit  312  described below with an import status. The import status holding unit  312  holds the estimated completion time for the import and the status thereof in the auxiliary storage device  214 . Note that information that is held by the import status holding unit  312  may be information of other device(s) received by an import status receiving unit  316  described below, in addition to information of own device. 
     Here, an example of the import status held by an import status holding unit  365  described below is shown in  FIG. 10 . A tenant identifier  1002  is an identifier for specifying a tenant shown by status. An importing flag  1003  is a flag for indicating whether or not any one of the image forming apparatuses managed at the tenant is importing. An import device identifier  1004  is an identifier for specifying the image forming apparatus to which an import processing is being performed. An import completion estimated time  1005  represents an import completion estimated time. 
     In  FIG. 10 , while information of a plurality of tenants is held for information held by the import status holding unit  365  of the management service  350 , what is held by the import status holding unit  312  of the image forming apparatus  101  is only the tenant information belonging to the device itself. 
     Referring back to  FIG. 3 , an estimated time displaying unit  313  displays the import completion estimated time held by the import status holding unit  312  on the display  215  and notifies a user of the estimated completion time. An import status notifying unit  314  notifies an import status receiving unit  366  described below of import information of own device held by the import status holding unit  312 . 
     A status confirming unit  315  calls a status confirming receiving unit  363  described below and confirms an information status managed by the management service at regular intervals. In the present embodiment, there are two information statuses managed by the management service, which are the import status and the presence/absence of update of the virtual configuration data, but other statuses may be used. The status confirming unit  315  transfers the received import status to the import status receiving unit  316 , and requests virtual configuration data receiving unit  303  to receive virtual configuration data if the virtual configuration data is updated. The interval that the status confirming unit  315  calls the status confirming receiving unit  363  is held by the actual configuration data holding unit  301 . Specifically, using  FIG. 7A  as an example, a setting value identifier  702  calls a status confirming receiving unit  363  at “5 minute” intervals, which is the value  703  of “device_settings.cloud_interval”. 
     The import status receiving unit  316  receives the import status received by the status confirming unit  315  and updates the import status held by the import status holding unit  312 . An attribute holding unit  317  holds an attribute of the actual configuration data held by the actual configuration data holding unit  301  in the auxiliary storage device  214 . The only attribute that is needed in the present embodiment is an attribute of whether or not the actual configuration data is “read-only”, and therefore the details are not shown in the drawings. 
     Next, a software configuration of the management service  350  will be described. The management service  350  is a management server for providing functions for managing each of the setting values (configuration data) of a plurality of image forming apparatuses  101 A to  101 C at collective management. This management service  350  is provided on the aforementioned server computer group  105  and holds a plurality of configuration components. In addition, a plurality of setting values to be set in the plurality of image forming apparatuses is managed as master data. Hereinafter, each configuration component will be described below. First, a virtual device holding unit  351  stores data held by the virtual device. 
     Here, an example of a virtual device stored in the virtual device holding unit  351  is shown in  FIG. 8 . A virtual device list is the all of the virtual devices held by the virtual device holding unit  351 . A device identifier  802  is an identifier for specifying one of a plurality of virtual devices in the virtual device list. The device identifier  802  is an identifier that is originally stored in the image forming apparatus  101  and that enables uniquely identifying the image forming apparatus  101 . It is notified from the image forming apparatus  101  as one of the device configuration data. 
     A tenant identifier  803  is an identifier for specifying a tenant to which the image forming apparatus  101  that corresponds to the virtual device belongs. Virtual device configuration data  804  is device configuration data of the image forming apparatus  101  which corresponds to the virtual device. Concerning the virtual device configuration data  804 , information shown in  FIGS. 6A to 6C  is separately held by the virtual device holding unit  351 . The identifiers referenced in  FIGS. 6A to 6C  are held in the virtual device configuration data  804 . 
     Virtual configuration data  805  is configuration data to be referred to by the image forming apparatus  101  corresponding to the virtual device. Concerning the virtual configuration data, information shown in  FIGS. 7A  to  7 C is separately held by the virtual device holding unit  351 . The identifiers referenced in  FIGS. 7A to 7C  are held in the virtual configuration data  805 . 
     A notification flag  806  is a flag that indicates whether or not a notification has performed to the image forming apparatus  101  after the update of the virtual configuration data. It becomes “notified” if the corresponding virtual configuration data has been referred to by the virtual configuration data acquiring unit  360 . In addition, it becomes “not-notified” if the corresponding virtual configuration data has been updated by the virtual configuration data updating unit  357 . 
     An import flag  807  is a flag that indicates whether a notification of the virtual configuration data that has updated by the import to the image forming apparatus  101  has been performed after the completion of the import. If the corresponding virtual configuration data is referred to by the virtual configuration data acquiring unit  360  after importing, it becomes “notified”. In addition, it becomes “not-notified” if import is started by the import status updating unit  367 . 
     A schema holding unit  352  stores a model-specific setting value schema. One model-specific setting value schema is prepared corresponding to each model of the image forming apparatuses  101 . Here,  FIGS. 4A and 4B  are diagrams illustrating an exemplary model-specific setting value schema.  FIG. 4A  is an exemplary model-specific setting value schema corresponding to the model code of 0x01. In addition,  FIG. 4B  is an exemplary model-specific setting value schema corresponding to the model code of 0x02. 
     A setting value identifier  402  is an identifier for uniquely identifying the setting values. Here, “copy_settings.nup” indicates a setting item relating to imposition in copy settings. If the setting value identifiers  402  are identical, it indicates that the setting values are of the same type even if the models are different. A default value  403  is a definition of a default setting value for the model. 
     A value range  404  is a definition of a range which can be set in the model. The value range  404  of the setting value identifier “copy_settings.nup” indicates that the value range can be selected from three types of “1 in 1, 2 in 1, and 4 in 1”. A condition  405  is a definition of the conditions necessary for utilizing setting values in the model. In condition  405  of “fax_settings.received_print”, there is “facsimile unit”, thus, this indicates that this is a valid setting value only if mounting of a facsimile unit is confirmed. 
     Referring back to  FIG. 3 , a schema updating unit  353  updates the model-specific setting value schema held by a schema holding unit  352 . If a vendor of image forming apparatuses announces a new model, a model-specific setting value schema corresponding to the new model is registered in accordance with the instruction given by the administrator of the vendor. If any setting value is changed, the model-specific setting value schema is updated in the same way. 
     A tenant configuration data holding unit  354  holds configuration data of which the tenant hopes to set in the image forming apparatus  101 . Here,  FIG. 5  illustrates an example of tenant configuration data. A setting value identifier  502  is identical to the setting value identifier  402  included in the model-specific setting value schema shown in  FIGS. 4A and 4B . A value  503  is a common setting value desired by the tenant. “2 in 1” is set in “copy_settings.nup”. This indicates that it is desired to set “2 in 1” in all of the image forming apparatuses held by a tenant. 
     A tenant configuration data updating unit  355  updates tenant configuration data held by the tenant configuration data holding unit  354 . A service person who manages the image forming apparatuses held by the tenant or a manager of the image forming apparatus may update the tenant configuration data. The update instruction by the service person is performed on a setting screen that is displayed on a web browser running on the terminal device  102 B in the service person environment  110 . The update instruction by the manager of the image forming apparatus is first performed at the input device  216  of the image forming apparatus, and then performed by calling a tenant configuration data receiving unit  364  described below by the difference notifying unit  310 . 
     A virtual configuration data generating unit  356  generates virtual configuration data using the model-specific setting value schema, tenant configuration data, and virtual device configuration data. The processing contents will be described step by step. First, the virtual configuration data generating unit  356  acquires virtual device configuration data from the virtual device holding unit  351 . Here, referring to the model code included in the acquired virtual device configuration data, the model of the image forming apparatus is specified. Using  FIG. 6A  as an example, the model code determines 0x01 as the model. 
     Next, a model-specific setting value schema matching with the acquired model code is acquired from the schema holding unit  352 . Using  FIG. 6A  as an example,  FIG. 4A  where the model code matches 0x01 is acquired. Next, the setting values defined in the model-specific setting value schema are taken as a basis of the virtual configuration data. 
     Using  FIG. 4A  as an example, the following 6 setting values are taken as the basis. That is, “copy_settings.nup”, “device_settings.cloud_address”, “device_settings.cloud_interval”, “device_settings.sleep_time”, “fax_settings.received_print”, and “box_settings.server_address” are taken as the basis. 
     Next, the virtual configuration data generating unit  356  acquires the value registered in the tenant configuration data and determines whether or not the setting value included in tenant configuration data falls within the value range defined in the model-specific setting value schema. Using  FIG. 4A  and  FIG. 5  as examples, “copy_settings.nup” is “2 in 1”, and the value range is “1 in 1, 2 in 1, and 4 in 1”, and therefore the value falls within the value range. However, “device_settings.sleep_time” is “10 seconds”, and the value range is “1 minute, 10 minutes, and 1 hour”, and therefore the value does not fall within the value range. If not within the value range, the default value defined in the model-specific setting value schema is acquired. In the present embodiment, it becomes “10 minutes”. 
     Next, it is determined whether or not the condition defined in the model-specific setting value schema is satisfied. The determination is performed using device configuration data. Using  FIG. 4A  as an example, there is no particular condition corresponding to “copy_settings.nup”, and therefore the condition “copy_settings.nup” is satisfied. However, the condition corresponding to “fax_settings.received_print” is “facsimile unit”, whereas the device configuration data is “none”, thus, the condition is not satisfied. Here, if the condition is satisfied, the value determined in the past steps is used. In contrast, if the condition is not satisfied, the default value  403  defined in the model-specific setting value schema is acquired. In the present embodiment, it becomes “OFF”. 
     The value determined in the above steps is the virtual configuration data. An example of virtual configuration data is shown in  FIGS. 7A to 7C .  FIG. 7A  is virtual configuration data for the image forming apparatus of which the device identifier is 010001. In addition,  FIG. 7B  is virtual configuration data for the image forming apparatus of which the device identifier is 010002. Further,  FIG. 7C  is virtual configuration data for the image forming apparatus of which the device identifier is 020001. 
     A virtual configuration data updating unit  357  registers virtual configuration data generated at the virtual configuration data generating unit  356  in the virtual device holding unit  351 . A virtual device with which the device identifier matches is searched among the virtual devices held by the virtual device holding unit  351  and the virtual configuration data is updated. In addition, if the notification flag  806  of the virtual device is “notified”, it is set to “not-notified”. This indicates that the virtual configuration data is changed and that the image forming apparatus needs to refer to the new virtual configuration data. 
     A configuration data receiving unit  358  receives a notification from the configuration data notifying unit  306 . The notified information is the device configuration data and the tenant identifier shown in  FIGS. 6A to 6C . A configuration data updating unit  359  registers device configuration data received at the configuration data receiving unit  358  in the relevant virtual device as virtual device configuration data. A virtual device with which the device identifier matches is searched among the virtual devices held by the virtual device holding unit  351 , and the virtual device configuration data is updated. 
     A virtual configuration data acquiring unit  360  accepts a request from the image forming apparatus  101  through the Internet  104  and acquires virtual configuration data. The request includes a device identifier for specifying at least a virtual device and a virtual device with which the device identifier matches is searched for. The virtual configuration data held by the searched virtual device is searched, and the virtual configuration data is passed to the request source. 
     A virtual configuration data viewing unit  361  is a unit that receives a request through the Internet  104  and views virtual configuration data. The request is, for example, a request on an HTTP protocol and viewing of the virtual configuration data is performed on an HTML page generated by the virtual configuration data viewing unit  361 . 
     An update confirming unit  362  confirms whether or not the virtual configuration data is updated. The update confirming unit  362  receives the device identifier of the image forming apparatus to be confirmed from a status confirmation receiving unit  363  described below. The update confirming unit  362  searches the virtual device matching with the received device identifier among the virtual devices held by the virtual device holding unit  351 . If the notification flag  806  of the searched virtual device indicates “not-notified”, it is determined that the virtual configuration data has updated. On the contrary, if the notification flag  806  indicates “notified”, it is determined that the virtual configuration data has not updated. 
     A status confirmation receiving unit  363  receives a request from the status confirming unit  315  and confirms the information status managed by a management service. The status confirmation receiving unit  363  calls an import status acquiring unit  368  for acquiring the import status and calls the update confirming unit  362  for acquiring the presence/absence of the update of the virtual configuration data. A device identifier for specifying the image forming apparatus is included in the requests from the status confirming unit  315 , and the status confirmation receiving unit  363  passes the device identifier to the import status acquiring unit  368  and the update confirming unit  362 . The status confirmation receiving unit  363  collects the result of the import status acquiring unit  368  and the update confirming unit  362  and responds to the status confirming unit  315 . 
     A tenant configuration data receiving unit  364  receives configuration data changed at the image forming apparatus  101  from the difference notifying unit  310  and requests the update of the tenant configuration data to the tenant configuration data updating unit  355 . The import status holding unit  365  holds a tenant import status shown in  FIG. 10  in the auxiliary storage device  254 . An import status receiving unit  366  receives a notification about the import status from the import status notifying unit  314 , and requests the update of the import status to the import status updating unit  367 . 
     The import status updating unit  367  updates the import status held by the import status holding unit  365 . An import status acquiring unit  368  receives the device identifier from the status confirmation receiving unit  363  and acquires a tenant import status to which the image forming apparatus shown by the device identifier belongs, from the import status holding unit  365 . Specifically, a tenant identifier corresponding to the device identifier is acquired from the virtual device holding unit  351 , and the corresponding tenant import status is acquired from the import status holding unit  365 . 
     Next,  FIG. 11  is a flowchart for explaining a processing of acquiring virtual configuration data if the image forming apparatus is initially installed and the device configuration is changed. Step S 1101  to step S 1106  are processing performed in the image forming apparatus. Each unit that executes those processing is stored in any one of the storage units, which are the non-volatile memory  212 , the volatile memory  213 , and the auxiliary storage device  214 , and executed by the CPU  211 . Step S 1151  to step S 1158  are processing performed in the server computer group  105 . Each unit that executes those processinges is stored in any one of the storage units, which are the non-volatile memory  252 , the volatile memory  253 , and the auxiliary storage device  254 , and executed by the CPU  251 . 
     First, in the step S 1101 , the configuration data notifying unit  306  detects the power ON of the image forming apparatus  101 . Next, in step S 1102 , the configuration data collecting unit  304  collects the device configuration data. Next, in step S 1103 , the configuration data notifying unit  306  determines whether or not there is any change in actual device configuration data that has not been notified to the management service  350 , using the actual device configuration data collected in the step S 1102 . If there is any change (YES), the processing proceeds to step S 1104 . If there is no change (NO), the processing ends. In the step S 1104 , the configuration data notifying unit  306  notifies the management service  350  of the actual device configuration data and the tenant identifier. At the management service  350  side, the above is detected in step S 1151  and the processing is performed. The details will be described below. 
     In step S 1105 , the virtual configuration data receiving unit  303  waits for the execution of the processing until the update of virtual configuration data is completed. Next, in step S 1106 , the virtual configuration data receiving unit  303  receives virtual configuration data from the management service  350 . In addition, the virtual configuration data application unit  302  updates the received virtual configuration data as actual configuration data. The actual configuration data is stored by the actual configuration data holding unit  301 . 
     On the other hand, the actual device configuration data and the tenant identifier are notified to the management service  350  in step S 1104 , and the configuration data receiving unit  358  receives the actual device configuration data and tenant identifier notified from the image forming apparatus in step S 1151 . Next, in step S 1152 , the configuration data updating unit  359  searches for a virtual device matching with the actual device configuration data and the tenant identifier received in the step S 1151 . In the present embodiment, the search is performed among the virtual devices held by the virtual device holding unit  351 . If the image forming apparatus has communicated with the management service  350  for the first time, there may be cases where the virtual device cannot be searched. If the matching virtual device is searched (YES), the processing proceeds to step S 1154 . If the matching virtual device is not searched (NO), the processing proceeds to step S 1153 . 
     Next, in the step S 1153 , the configuration data updating unit  359  generates a blank virtual device. In the step S 1154 , the configuration data updating unit  359  updates virtual device configuration data of the virtual device that is searched in the step S 1152  or generated in the step S 1153 . Note that the contents of the actual device configuration data received in the step S 1151  becomes the new virtual device configuration data. 
     Next, in step S 1155 , the virtual configuration data generating unit  356  acquires a model code from the updated virtual device configuration data. In addition, a model-specific setting value schema corresponding to the model code is acquired from the schema holding unit  352 . In step S 1156 , the virtual configuration data generating unit  356  acquires tenant configuration data. For the tenant configuration data, one with which the tenant identifier matches is searched for among from the tenant configuration data held by the tenant configuration data holding unit  354 . 
     Next, in step S 1157 , the virtual configuration data generating unit  356  generates virtual configuration data. The virtual configuration data is generated using virtual device configuration data, model-specific setting value schema, and tenant configuration data. Next, in step S 1158 , the virtual configuration data updating unit  357  registers/updates the virtual configuration data generated in the step S 1157  in the corresponding virtual device. Accordingly, virtual configuration data is registered/updated and the processing proceeds to step S 1106 . 
     Next,  FIG. 12  is a flowchart illustrating the processing where a user updates actual configuration data by using the input device  216  of the image forming apparatus. Each unit that executes each processing in the flowchart is stored in any one of the storage units which are the non-volatile memory  212 , the volatile memory  213 , and the auxiliary storage device  214 , and executed by the CPU  211 . 
     First, in step S 1201 , the actual configuration data setting unit  309  detects a request to display the setting screen of the actual configuration data that is instructed from the input device  216 . Next, in step S 1202 , the actual configuration data setting unit  309  acquires the actual configuration data for displaying on the setting screen from the actual configuration data holding unit  301 . Then, in step S 1203 , the actual configuration data setting unit  309  confirms the read-only attribute held by the attribute holding unit  317 , and the processing proceeds to step S 1204  if the attribute of the actual configuration data is read-only (YES). On the other hand, the processing proceeds to step S 1205  if the attribute of the actual configuration data is not read-only (NO). 
     In step S 1204 , the actual configuration data setting unit  309  displays the setting screen of the actual configuration data on the display  215  in an unsettable manner (for example, a button for setting change is shaded, or the like) and the processing ends. In contrast, in step S 1205 , the actual configuration data setting unit  309  displays the setting screen of the actual configuration data on the display  215  in a settable manner. Next, in step S 1206 , the actual configuration data setting unit  309  detects the setting completion by a user, for example, a user closes the setting screen of configuration data. At this timing, the value that is input by the user through the setting screen of actual configuration data has merely held by the volatile memory  213 , and has not been applied in the actual configuration data holding unit  301  yet. 
     Next, in step S 1207 , the actual configuration data setting unit  309  compares the value held by the actual configuration data holding unit  301  with the value held by the volatile memory  213 , and confirms whether or not the value of configuration data is updated by the user. In other words, it is determined whether or not the update of actual configuration data is needed. If the update is required (YES), the processing proceeds to step S 1208 , and if the update is not needed (NO), the processing ends. Then, in the step S 1208 , the actual configuration data setting unit  309  requests the update of the actual configuration data to the actual configuration data updating unit  307 . The details about the update of the actual configuration data by the actual configuration data updating unit  307  will be described in  FIG. 14 . 
     Next,  FIG. 13  is a flowchart illustrating an import processing of the image forming apparatus. Each unit that executes each processing in the flowchart is stored in any one of the storage units, which are the non-volatile memory  212 , the volatile memory  213 , and the auxiliary storage device  214 , and executed by the CPU  211 . 
     First, in step S 1301 , the import processing unit  311  detects a configuration data group import request that is recorded in a USB memory connected to the USB host interface  220 . The configuration data group is not limited to the USB memory, and may be located in a different device that is accessible via the network communication device  217 . Next, in step S 1302 , the import processing unit  311  updates an importing flag  1003  of the import status holding unit  312  to “YES” that indicates that the import is being performed. At the same time, tenant identifier of own device is recorded in a tenant identifier  1002 , and an import device identifier of own device is recorded in an import device identifier  1004 . 
     Next, in step S 1303 , the import processing unit  311  calculates a time required for the import processing from a file size and contents of the configuration data group, and updates an import completion estimated time  1005  of the import status holding unit  312 . Next, in step S 1304 , the estimated time displaying unit  313  displays the value of the import completion estimated time  1005  of the import status holding unit  312  on the display  215 . Then, in step S 1305 , the import status notifying unit  314  notifies the import status receiving unit  366  of the import information of own device held by the import status holding unit  312 . Note that the processing of the management service  350  side which has received the import status will be described in  FIG. 15 . 
     Next, in step S 1306 , the import processing unit  311  acquires one piece of configuration data in order to sequentially perform processing for the configuration data recorded in the configuration data group. After the configuration data is acquired, the processing proceeds to step S 1307 . The processing is sequentially performed for all the configuration data, and if the subsequent configuration data cannot be acquired, the processing proceeds to step S 1309 . 
     In the step S 1307 , the import processing unit  311  compares the value held by the actual configuration data holding unit  301  with the value acquired in the step S 1306 , and determines whether or not the update of the actual configuration data is needed. If the update is required (YES), the processing proceeds to the step S 1308 , and if the update is not required (NO), the processing is returned to the step S 1306  in order to acquire the subsequent configuration data. Then, in the step S 1308 , the import processing unit  311  requests the update of the actual configuration data to the actual configuration data updating unit  307 . The details of the update of the actual configuration data by the actual configuration data updating unit  307  will be described in  FIG. 14 . If the execution in the step S 1308  ends, the import processing unit  311  returns to the step S 1306  in order to acquire the subsequent configuration data. 
     If the processing for all the configuration data ends, the difference notifying unit  310  notifies the tenant configuration data receiving unit  364  of the difference of configuration data (setting value after the import processing) recorded in the difference holding unit  308 , in the step S 1309 . Note that the processing of the management service  350  side which has received the difference of the configuration data will be described in  FIGS. 16 and 17 . 
     Next, in step S 1310 , the difference notifying unit  310  deletes all the differences of configuration data recorded in the difference holding unit  308 . Next, in step S 1311 , the import processing unit  311  updates the importing flag  1003  of the import status holding unit  312  to “NO”. Then, in step S 1312 , the import status notifying unit  314  notifies the import status receiving unit  366  of the import information of own device held by the import status holding unit  312 . 
     Next,  FIG. 14  is a flowchart for explaining the updating process of the actual configuration data accompanying the setting change of the configuration data performed in the image forming apparatus. Each unit that executes each process in the flowchart is stored in any one of the storage units which are the non-volatile memory  212 , the volatile memory  213 , the auxiliary storage device  214 , and executed by the CPU  211 . 
     First, in step S 1401 , the actual configuration data updating unit  307  detects an actual configuration data updating request. Note that the actual configuration data updating request is performed in the step S 1208  in  FIG. 12  and in the step S 1308  in  FIG. 13 . Next, in step S 1402 , the actual configuration data updating unit  307  records the configuration data to be updated in the actual configuration data holding unit  301  and the difference holding unit  308 . 
     Next, in step S 1403 , the difference notifying unit  310  views the import device identifier  1004  and the importing flag  1003  of the import status holding unit  312  and confirms whether or not the import processing is being processed at own device. If the import processing is being processed at own device (YES), the processing ends. Accordingly, the change of the setting value until the completion of the import processing is limited. In contrast, if the import processing is not being performed at own device (NO), the processing proceeds to step S 1404 . 
     Then, in step S 1404 , the difference notifying unit  310  notifies the tenant configuration data receiving unit  364  of the difference of the configuration data recorded in the difference holding unit  308 . In step S 1405 , the difference notifying unit  310  deletes all the differences of the configuration data recorded in the difference holding unit  308 . 
     Next,  FIG. 15  is a flowchart for processing the import status notified from the image forming apparatus by the management service  350 . Each unit that executes each processing in the flowchart is stored in any one of the storage units which are the non-volatile memory  252 , the volatile memory  253 , the auxiliary storage device  254 , and executed by the CPU  251 . 
     First, in step S 1501 , the import status receiving unit  366  receives an import status of the image forming apparatus from the import status notifying unit  314 . Next, in step S 1502 , the import status receiving unit  366  views the importing flag of the received import status, and confirms whether or not the import processing is being performed. If the import processing is being performed (YES), the processing proceeds to step S 1503 , and if the import processing is not being performed (NO), the processing proceeds to step S 1504 . 
     Then, in the step S 1503 , the import status updating unit  367  updates an import flag  807  of the virtual device holding unit  351  having a tenant identifier that is identical to the tenant identifier of the received import status to “NO”. Next, in the step S 1504 , the import status updating unit  367  applies (updates) the received import status in the import status holding unit  365 . 
     Next,  FIGS. 16 and 17  are flowcharts illustrating the processing where the management service  350  receives the tenant configuration data updating request and updates the tenant configuration data. The tenant configuration data updating request is requested from a manager user using the terminal device  102 A, or requested from the difference notifying unit  310  after changing the setting in the image forming apparatus  101 . Each unit that executes each processing in the flowchart is stored in any one of the storage units which are the non-volatile memory  252 , the volatile memory  253 , the auxiliary storage device  254 , and executed by the CPU  251 . 
     First, in step S 1601 , the tenant configuration data receiving unit  364  detects the tenant configuration data updating request. Next, in step S 1602 , the tenant configuration data updating unit  355  refers to the tenant identifier  1002  and the importing flag  1003  of the import status holding unit  365 , and confirms whether or not the tenant to be updated is performing an import. If the tenant to be updated is performing an import (YES), the processing proceeds to step S 1603 , and if the tenant to be updated is not performing an import (NO), the processing proceeds to step S 1604 . 
     Then, in the step S 1603 , the tenant configuration data updating unit  355  refers to the import device identifier  1004  of the import status holding unit  365 , and determines whether or not a transmission source is from the image forming apparatus that performs the import. If the updating request is from the image forming apparatus that performs the import (YES), the processing proceeds to step S 1605 . In contrast, in step S 1620 , if the updating request is not from the image forming apparatus that performs the import (NO), the fact that the update is unsuccessful (error) is notified to the request source and the processing ends. 
     Then, in the step S 1604 , the tenant configuration data updating unit  355  determines whether or not the updating request is from the image forming apparatus where the import flag  807  of the virtual device holding unit  351  indicates “not-notified”. If the updating request is not from the image forming apparatus where the import flag  807  indicates “not-notified” (NO), the processing proceeds to step S 1605 , and if the updating request is from the image forming apparatus that indicates “not-notified” (YES), the fact that the update is unsuccessful is notified to the request source and the processing ends. 
     In the step S 1605 , the tenant configuration data updating unit  355  determines whether or not there is tenant configuration data where the updating request has been performed in the step S 1601  in the tenant configuration data holding unit  354 . In other words, it is determined whether or not the tenant configuration data is registered. If the tenant configuration data is present (has been already registered) (YES), the processing proceeds to the step S 1610 . If the tenant configuration data is not present (has not been registered) (NO), the processing proceeds to step S 1606 . 
     In the step S 1606 , the tenant configuration data updating unit  355  searches for the virtual device held by the tenant from the virtual device holding unit  351 . Then, virtual device configuration data is acquired from the virtual device. Next, in the step S 1607 , the tenant configuration data updating unit  355  refers to the model code in the virtual device configuration data of the virtual device that is searched and acquired in the step S 1606 . In addition, all the model-specific setting value schemas matching with the model code are searched from the schema holding unit  352 . 
     Next, in the step S 1608 , the tenant configuration data updating unit  355  lists the setting items which are included in at least one of the model-specific setting value schemas which are searched in the step S 1607 . Then, in the step S 1609 , the tenant configuration data updating unit  355  generates tenant configuration data having the setting items which are listed in the step S 1608 . After generating the tenant configuration data, the processing proceeds to step S 1610 . 
     Next, in the step S 1610 , the tenant configuration data updating unit  355  detects a specific update instruction of the tenant configuration data. Next, in step S 1611 , the tenant configuration data updating unit  355  updates the tenant configuration data held by the tenant configuration data holding unit  354  based on the update instruction detected in the step S 1610 . Then, in step S 1612 , the virtual configuration data generating unit  356  detects the update of the tenant configuration data. 
     Next, in step S 1613 , the virtual configuration data generating unit  356  searches for the virtual device matching with the tenant identifier of the tenant configuration data that has detected the update from the virtual device held by the virtual device holding unit  351 . In the step S 1613 , one virtual device is acquired in order to sequentially perform the processing for the searched virtual device. Then, after one virtual device is acquired, the processing proceeds to step S 1614 . The processing are sequentially performed for all the virtual devices, and if the subsequent virtual device cannot be acquired (NO), the processing ends. 
     Then, in the step S 1614 , the virtual configuration data generating unit  356  acquires the virtual device configuration data from the virtual device. Next, in step S 1615 , the virtual configuration data generating unit  356  acquires the model code from the virtual device configuration data. In addition, a model-specific setting value schema that corresponds to the model code is searched from the model-specific setting value schema held by the schema holding unit  352 . 
     Next, in step S 1616 , the virtual configuration data generating unit  356  generates virtual configuration data using the virtual device configuration data, the model-specific setting value schema, and the tenant configuration data. Then, in step S 1617 , the virtual configuration data updating unit  357  registers the virtual configuration data generated in the step S 1616  in the virtual device. 
     Next,  FIGS. 18 to 19B  are flowcharts illustrating the processing where the image forming apparatus regularly inquires the status of the information that is managed by the management service  350  at regular intervals. Step S 1701  to step S 1717  are processing which are performed in the image forming apparatus. Each unit that executes each processing in the flowchart is stored in any one of the storage units which are the non-volatile memory  212 , the volatile memory  213 , the auxiliary storage device  214 , and executed by the CPU  211 . In addition, steps S 1751  to S 1754 , and steps S 1761  to S 1765  are processing performed in the server computer group  105 . Each unit that executes each processing in the flowchart is stored in any one of the storage units which are the non-volatile memory  252 , the volatile memory  253 , the auxiliary storage device  254 , and executed by the CPU  251 . 
     First, in step S 1701 , the status confirming unit  315  refers to the importing flag  1003  of the import status holding unit  312  and determines whether or not the import processing is being performed. If the import processing is being performed (YES), the processing proceeds to step S 1702 , and if the import processing is not being performed (NO), the processing proceeds to step S 1705 . Then, in the step S 1702 , the status confirming unit  315  refers to the import device identifier  1004  of the import status holding unit  312 , and determines whether or not the import processing is performed by own device. If the import processing is performed by own device (YES), the completion of the import processing is awaited in step S 1703 . In contrast, if the import processing is not performed by own device (NO), the processing proceeds to step S 1704 . 
     Then, in the step S 1704 , the status confirming unit  315  determines whether or not a current time exceeds the import completion estimated time  1005  of the import status holding unit  312 . If the current time exceeds the import completion estimated time  1005  (YES), the processing proceeds to step S 1706 , and if current time does not exceed the import completion estimated time  1005  (NO), the processing proceeds to step S 1705 . 
     In the step S 1705 , the status confirming unit  315  determines whether or not a predetermined time has passed since the past status confirmation to the management service  350 . Note that, in the present embodiment, the predetermined time is held by the actual configuration data holding unit  301 . Specifically, using  FIG. 7A  as an example, a setting value identifier  702  is “5 minutes” that is the value  703  of “device_settings.cloud_interval”. If the predetermined time has passed (YES), the processing proceeds to step S 1706 , and if the predetermined time has not passed (NO), the processing is returned to the step S 1701 . 
     Then, in the step S 1706 , the status confirming unit  315  requests the management service  350  of the status confirmation. At the management service  350  side, the status confirmation receiving unit  363  receives the request in step S 1751 . Next, in step S 1752 , the status confirmation receiving unit  363  calls the import status acquiring unit  368 , and acquires the import status held by the import status holding unit  365 . 
     Next, in step S 1753 , the status confirmation receiving unit  363  calls the update confirming unit  362 , and acquires the presence/absence of the update of the virtual configuration data. Next, in step S 1754 , the status confirmation receiving unit  363  notifies the image forming apparatus of the import status and the presence/absence of the update of the virtual configuration data, as a response to the status confirming request. At the image forming apparatus  101  side, the status confirming unit  315  that has awaited the response in the step S 1707  receives the response. 
     Then, in step S 1708 , the import status receiving unit  316  determines whether or not the import status received by the status confirming unit  315  is changed from the import status currently held by the holding unit  312 . If the import status is changed (YES), the processing proceeds to step S 1709 , and if the import status is not changed (NO), the processing proceeds to step S 1714 . 
     In the step S 1709 , the import status receiving unit  316  updates the import status holding unit  312  with the received import status. Then, in step S 1710 , the import status receiving unit  316  refers to the importing flag  1004  of the import status, and determines whether or not the import processing is being performed. If the import processing is being performed (YES), the processing proceeds to step S 1712 , and if the import processing is not being performed (NO), the processing proceeds to step S 1711 . Next, in the step S 1711 , the import status receiving unit  316  releases the read-only from the actual configuration data attribute held by the attribute holding unit  317 , and the processing proceeds to step S 1714 . 
     On the other hand, in step S 1712 , the import status receiving unit  316  sets the actual configuration data attribute held by the attribute holding unit  317  to read-only. Then, in step S 1713 , the estimated time displaying unit  313  displays the value of the import completion estimated time  1005  of the import status holding unit  312  on the display  215 , and the processing proceeds to step S 1714 . 
     Then, in step S 1714 , the status confirming unit  315  confirms whether or not the virtual configuration data received in the step S 1707  is updated. If the virtual configuration data is updated (YES), the processing proceeds to step S 1715 , and if the virtual configuration data is not updated (NO), the processing ends. 
     Next, in step S 1715 , the virtual configuration data receiving unit  303  requests the acquisition of the virtual configuration data to the management service  350 . Then, at the management service  350  side, the virtual configuration data acquiring unit  360  receives the request in step S 1761 . Next, in step S 1762 , the virtual configuration data acquiring unit  360  sets the notification flag  806  of the image forming apparatus that has requested the acquisition of the virtual configuration data to “notified”. 
     Then, in step S 1763 , the virtual configuration data acquiring unit  360  refers to the importing flag  1003  of the import status holding unit  365 , and determines whether or not the import processing is being performed. If the import processing is being performed (YES), the processing proceeds to step S 1765 , and if the import processing is not being performed (NO), the processing proceeds to step S 1764 . Next, in the step S 1764 , the virtual configuration data acquiring unit  360  sets the import flag  807  of the image forming apparatus that has requested the acquisition of the virtual configuration data to “notified”. 
     In the step S 1765 , the virtual configuration data acquiring unit  360  transmits the virtual configuration data to the image forming apparatus, as a response to the virtual configuration data acquiring request. Then, at the image forming apparatus  101  side, the virtual configuration data receiving unit  303  that has awaited the response receives the response in the step S 1716 . Next, in step S 1717 , the virtual configuration data application unit  302  updates (applies) the received virtual configuration data as the actual configuration data. Then, the actual configuration data is stored by the actual configuration data holding unit  301 . 
     As described above, according to the present embodiment, in a system where configuration data for a plurality of image forming apparatuses is synchronized through the server, even if the configuration data group is imported at the image forming apparatus side, the configuration data can be properly applied in other image forming apparatuses. Note that a configuration in which the virtual configuration data is generated by using license data may be used. In this case, the configuration in which the virtual configuration data matching with optional functions provided in the image forming apparatus is generated is used. 
     Note that, in the software configuration diagram shown in  FIG. 3 , the actual configuration data holding unit  301  stores the actual configuration data in the auxiliary storage device  214 , however, another configuration may be employed. For example, a configuration of temporarily storing in the volatile memory  213  may be employed. In this case, the virtual configuration data receiving unit  303  needs to receive the virtual configuration data every time the power source of the device is turned ON, because the actual configuration data is lost if the power source is turned OFF. Shown with a specific processing flow, the update determination of the virtual configuration data is not needed in the step S 1714  in  FIG. 18 , the step  1007  is constantly executed. 
     In the software configuration diagram shown in  FIG. 3 , the configuration data collecting unit  304  collects actual device configuration data every time the power of the image forming apparatus is turned ON, however, another configuration may be employed. For example, a configuration in which an actual device configuration data holding unit is provided, and the actual device configuration data holding unit constantly stores actual device configuration data in the auxiliary storage device  214  may be employed. In this case, a configuration in which the actual device configuration data held by the actual device configuration data holding unit is promptly rewritten according to the change of the actual device configuration data is needed. Therefore, the configuration data collecting unit  304  needs to monitor the change of the actual device configuration data, and to update the changed content to the actual device configuration data holding unit if the changed content is detected. In addition, the configuration data notification unit  306  is configured to request the actual device configuration data to the actual device configuration data holding unit. 
     In the software configuration diagram shown in  FIG. 3 , the tenant identifier holding unit  305  stores the tenant identifier in the auxiliary storage device  214 , however, another configuration may be employed. For example, a configuration in which a user inputs the tenant identifier every time by using the input device  216  may be employed. The timing of the input may be upon startup of the image forming apparatus, or a different timing may be available. In this case, the tenant identifier is stored in the volatile memory  213 . 
     In the software configuration diagram shown in  FIG. 3 , the configuration data notifying unit  306  performs processing by detecting that the power of the image forming apparatus is turned ON, however, another configuration may be employed. For example, a configuration in which a user instructs the acquisition of virtual configuration data by using the input device  216  may be employed. In this case, the configuration is such that, in the step  1101  shown in  FIG. 11 , the processing after the step  1102  are performed by detecting the virtual configuration data acquiring instruction. 
     In the software configuration diagram shown in  FIG. 3 , the virtual device holding unit  351  holds the identifier for identifying virtual device configuration data and virtual configuration data as shown in  FIG. 8 , however, another configuration may be employed. For example, a configuration in which the substance of data and not the identifier is held, may be employed. In addition, the virtual configuration data generating unit  356  generates virtual configuration data from a model-specific setting value schema, tenant configuration data, and virtual device configuration data, however, another configuration may be employed. For example, a configuration where virtual configuration data depending on the model is generated based on the model-specific setting value schema and tenant configuration data may be employed. In this case, the image forming apparatus is configured to refer to actual configuration data depending on device configuration if referring to actual configuration data. 
     Second Embodiment 
     Next, the second embodiment will be described. In the first embodiment, if the import processing is performed in other devices, the setting change of configuration data is not allowed at the image forming apparatus side. In order to change the setting of configuration data, it is required to await the completion of the import. In contrast, in the present embodiment, a description will be given of a case that configuration data can be temporarily changed at the image forming apparatus side during the import processing. In the present embodiment, the changed configuration data is overwritten with the virtual configuration data changed through the import after the import processing, without notifying the management service  350 . 
     With respect to the present embodiment, only portions differing from the first embodiment will be described.  FIG. 20  is a flowchart that modifies  FIG. 12 . In other words, the processing in steps S 1203  and S 1204  are removed from the flowchart explained in  FIG. 12 . By removing steps S 1203  and S 1204 , the setting screen of configuration data is displayed in a settable manner even if the import processing is performed in another device. 
     Next,  FIG. 21  is a flowchart that modifies  FIG. 14 . In other words, the processing of steps S 1911  and S 1912  are added to the flowchart explained in  FIG. 14 . Accordingly, only portions different from the first embodiment will be described. If the actual configuration data updating request is detected in the step S 1401 , the actual configuration data setting unit  309  determines whether or not the read-only attribute is held in the attribute holding unit  317  in step S 1911 . If read-only (YES), the processing proceeds to step S 1912 . If not read-only (NO), the processing proceeds to step S 1402 . Then, in the step S 1912 , the actual configuration data setting unit  309  records configuration data to be updated in the actual configuration data holding unit  301 , and the processing ends. 
     As described above, according to the present embodiment, configuration data can be properly applied to other image forming apparatuses even if the configuration data group is imported at the image forming apparatus side, by allowing temporarily changing configuration data at the image forming apparatus side during the import processing. 
     OTHER EMBODIMENTS 
     Embodiments of the present invention can also be realized by a computer of a system or apparatus that reads out and executes computer executable instructions recorded on a storage medium (e.g., non-transitory computer-readable storage medium) to perform the functions of one or more of the above-described embodiment(s) of the present invention, and by a method performed by the computer of the system or apparatus by, for example, reading out and executing the computer executable instructions from the storage medium to perform the functions of one or more of the above-described embodiment(s). The computer may comprise one or more of a central processing unit (CPU), micro processing unit (MPU), or other circuitry, and may include a network of separate computers or separate computer processors. The computer executable instructions may be provided to the computer, for example, from a network or the storage medium. The storage medium may include, for example, one or more of a hard disk, a random-access memory (RAM), a read only memory (ROM), a storage of distributed computing systems, an optical disk (such as a compact disc (CD), digital versatile disc (DVD), or Blu-ray Disc (BD)™), a flash memory device, a memory card, and the like. 
     While the present invention has been described with reference to exemplary embodiments, it is to be understood that the invention is not limited to the disclosed exemplary embodiments. The scope of the following claims is to be accorded the broadest interpretation so as to encompass all such modifications and equivalent structures and functions. 
     This application claims the benefit of Japanese Patent Application No. 2013-273534, filed Dec. 27, 2013, which is hereby incorporated by reference wherein in its entirety.